From 571d60aa5dd380a309d5df2a5d948bf78d54255e Mon Sep 17 00:00:00 2001 From: RigglePrime Date: Sat, 16 Dec 2023 13:11:55 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20e79c8?= =?UTF-8?q?295c09b8aed33c0ab97754b9eb87330672f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .nojekyll | 0 CNAME | 1 + .../maintenance_modules/map legend.html | 218 + _maps/safehouses.html | 42 + _maps/virtual_domains.html | 51 + _modular_event.html | 27 + _modular_event/disable_mouse_entered.html | 33 + area.html | 545 + area/space.html | 42 + .../ai_monitored/turret_protected.html | 36 + area/station/maintenance.html | 36 + atom.html | 2612 ++++ atom/movable.html | 1055 ++ atom/movable/immerse_overlay.html | 65 + atom/movable/plane_master_controller.html | 101 + atom/movable/render_plane_relay.html | 36 + atom/movable/render_step/emissive.html | 29 + .../movable/render_step/emissive_blocker.html | 32 + atom/movable/screen.html | 95 + atom/movable/screen/action_landing.html | 35 + atom/movable/screen/admin_popup.html | 43 + atom/movable/screen/alert.html | 36 + atom/movable/screen/alert/give.html | 88 + atom/movable/screen/alert/give/highfive.html | 57 + atom/movable/screen/alert/modlink_call.html | 50 + atom/movable/screen/alert/notify_action.html | 43 + atom/movable/screen/alert/status_effect.html | 36 + .../alert/status_effect/golem_status.html | 71 + atom/movable/screen/button_palette.html | 36 + atom/movable/screen/combattoggle/flashy.html | 36 + .../screen/escape_menu/home_button_text.html | 35 + atom/movable/screen/fishing_hud.html | 57 + .../screen/fullscreen/cursor_catcher.html | 92 + .../fullscreen/cursor_catcher/scope.html | 36 + atom/movable/screen/inventory.html | 57 + atom/movable/screen/lobby.html | 71 + atom/movable/screen/lobby/button.html | 57 + .../screen/lobby/button/bottom/poll.html | 36 + .../movable/screen/lobby/button/collapse.html | 74 + atom/movable/screen/lobby/button/ready.html | 36 + atom/movable/screen/lobby/shutter.html | 35 + atom/movable/screen/mafia_popup.html | 43 + atom/movable/screen/map_view.html | 39 + .../movable/screen/map_view/char_preview.html | 50 + .../movable/screen/map_view/gateway_port.html | 36 + atom/movable/screen/movable.html | 35 + .../movable/screen/movable/action_button.html | 73 + atom/movable/screen/palette_scroll.html | 38 + .../movable/screen/parallax_layer/random.html | 49 + .../parallax_layer/random/space_gas.html | 43 + atom/movable/screen/plane_master.html | 289 + .../movable/screen/plane_master/parallax.html | 42 + .../screen/plane_master/rendering_plate.html | 33 + .../rendering_plate/lighting.html | 36 + atom/movable/visual/cryo_occupant.html | 50 + client.html | 1329 ++ code/__DEFINES.html | 38 + code/__DEFINES/DNA.html | 87 + code/__DEFINES/MC.html | 154 + code/__DEFINES/__globals.html | 123 + code/__DEFINES/_click.html | 49 + code/__DEFINES/_flags.html | 460 + code/__DEFINES/_helpers.html | 59 + code/__DEFINES/_protect.html | 33 + code/__DEFINES/_tick.html | 87 + code/__DEFINES/access.html | 814 ++ code/__DEFINES/achievements.html | 42 + code/__DEFINES/acid.html | 67 + code/__DEFINES/actions.html | 92 + code/__DEFINES/admin.html | 147 + code/__DEFINES/adventure.html | 134 + code/__DEFINES/ai/ai.html | 111 + code/__DEFINES/ai/ai_blackboard.html | 281 + code/__DEFINES/ai/bot_keys.html | 157 + code/__DEFINES/ai/carp.html | 47 + code/__DEFINES/ai/haunted.html | 77 + code/__DEFINES/ai/monsters.html | 532 + code/__DEFINES/ai/pet_commands.html | 47 + code/__DEFINES/ai/pets.html | 136 + code/__DEFINES/ai/simplemob.html | 57 + code/__DEFINES/ai/tourist.html | 59 + code/__DEFINES/ai/trader.html | 42 + code/__DEFINES/ai/ventcrawling.html | 67 + code/__DEFINES/alarm.html | 57 + code/__DEFINES/alerts.html | 67 + code/__DEFINES/announcements.html | 42 + code/__DEFINES/anomaly.html | 85 + code/__DEFINES/antagonists.html | 344 + code/__DEFINES/apc_defines.html | 207 + code/__DEFINES/art.html | 37 + code/__DEFINES/assemblies.html | 42 + code/__DEFINES/assert.html | 33 + code/__DEFINES/atmospherics/atmos_core.html | 370 + .../__DEFINES/atmospherics/atmos_helpers.html | 89 + .../atmospherics/atmos_machinery.html | 179 + .../atmospherics/atmos_mapping_helpers.html | 95 + .../atmospherics/atmos_mob_interaction.html | 305 + code/__DEFINES/atmospherics/atmos_piping.html | 172 + code/__DEFINES/atom_hud.html | 127 + code/__DEFINES/basic_mobs.html | 69 + code/__DEFINES/basketball.html | 54 + code/__DEFINES/bitrunning.html | 72 + code/__DEFINES/blood.html | 97 + code/__DEFINES/bodyparts.html | 90 + code/__DEFINES/botany.html | 176 + code/__DEFINES/callbacks.html | 47 + code/__DEFINES/cameranets.html | 38 + code/__DEFINES/cargo.html | 57 + code/__DEFINES/chat.html | 74 + code/__DEFINES/chat_filter.html | 49 + code/__DEFINES/cleaning.html | 72 + code/__DEFINES/client.html | 41 + code/__DEFINES/clothing.html | 99 + code/__DEFINES/colors.html | 260 + code/__DEFINES/combat.html | 431 + code/__DEFINES/communications.html | 57 + code/__DEFINES/configuration.html | 57 + code/__DEFINES/construction/material.html | 224 + code/__DEFINES/construction/rcd.html | 132 + code/__DEFINES/cooldowns.html | 44 + code/__DEFINES/crafting.html | 47 + code/__DEFINES/crushing.html | 42 + code/__DEFINES/ctf.html | 42 + code/__DEFINES/cult.html | 42 + code/__DEFINES/database.html | 42 + code/__DEFINES/dcs/flags.html | 123 + code/__DEFINES/dcs/helpers.html | 78 + .../__DEFINES/dcs/signals/signals_action.html | 117 + code/__DEFINES/dcs/signals/signals_admin.html | 46 + .../dcs/signals/signals_adventure.html | 67 + .../dcs/signals/signals_ai_controller.html | 32 + code/__DEFINES/dcs/signals/signals_area.html | 94 + .../signals_atom/signals_atom_attack.html | 179 + .../signals_atom/signals_atom_explosion.html | 52 + .../signals_atom/signals_atom_lighting.html | 122 + .../signals_atom/signals_atom_main.html | 287 + .../signals_atom/signals_atom_mouse.html | 82 + .../signals_atom/signals_atom_movable.html | 222 + .../signals_atom/signals_atom_movement.html | 161 + .../signals_atom/signals_atom_x_act.html | 192 + .../dcs/signals/signals_backpack.html | 32 + code/__DEFINES/dcs/signals/signals_beam.html | 32 + .../dcs/signals/signals_bitrunning.html | 102 + code/__DEFINES/dcs/signals/signals_blob.html | 37 + code/__DEFINES/dcs/signals/signals_bot.html | 42 + .../__DEFINES/dcs/signals/signals_camera.html | 32 + .../dcs/signals/signals_changeling.html | 32 + .../dcs/signals/signals_circuit.html | 156 + .../__DEFINES/dcs/signals/signals_client.html | 42 + .../__DEFINES/dcs/signals/signals_closet.html | 32 + .../dcs/signals/signals_clothing.html | 65 + .../dcs/signals/signals_container.html | 32 + .../dcs/signals/signals_customizable.html | 32 + .../dcs/signals/signals_cytology.html | 32 + code/__DEFINES/dcs/signals/signals_datum.html | 111 + code/__DEFINES/dcs/signals/signals_event.html | 44 + code/__DEFINES/dcs/signals/signals_fish.html | 82 + code/__DEFINES/dcs/signals/signals_food.html | 142 + code/__DEFINES/dcs/signals/signals_gib.html | 37 + .../__DEFINES/dcs/signals/signals_global.html | 234 + .../dcs/signals/signals_global_object.html | 49 + .../dcs/signals/signals_heretic.html | 59 + code/__DEFINES/dcs/signals/signals_hud.html | 52 + .../dcs/signals/signals_hydroponic.html | 102 + .../dcs/signals/signals_janitor.html | 59 + code/__DEFINES/dcs/signals/signals_key.html | 32 + .../__DEFINES/dcs/signals/signals_ladder.html | 32 + .../dcs/signals/signals_lazy_templates.html | 32 + code/__DEFINES/dcs/signals/signals_leash.html | 48 + code/__DEFINES/dcs/signals/signals_lift.html | 32 + .../dcs/signals/signals_light_eater.html | 47 + .../signals/signals_material_container.html | 47 + .../dcs/signals/signals_medical.html | 57 + code/__DEFINES/dcs/signals/signals_mind.html | 42 + .../__DEFINES/dcs/signals/signals_mining.html | 42 + .../signals/signals_mob/signals_mob_ai.html | 44 + .../signals_mob/signals_mob_arcade.html | 42 + .../signals_mob/signals_mob_basic.html | 67 + .../signals_mob/signals_mob_carbon.html | 337 + .../signals_mob/signals_mob_guardian.html | 42 + .../signals_mob/signals_mob_living.html | 500 + .../signals/signals_mob/signals_mob_main.html | 499 + .../signals_mob/signals_mob_silicon.html | 37 + .../signals_mob/signals_mob_simple.html | 67 + .../signals_mob/signals_mob_spawner.html | 37 + code/__DEFINES/dcs/signals/signals_mod.html | 117 + .../dcs/signals/signals_modular_computer.html | 57 + .../dcs/signals/signals_moveloop.html | 47 + .../dcs/signals/signals_movetype.html | 42 + code/__DEFINES/dcs/signals/signals_music.html | 52 + .../__DEFINES/dcs/signals/signals_object.html | 876 ++ .../signals/signals_operating_computer.html | 34 + .../dcs/signals/signals_painting.html | 42 + .../dcs/signals/signals_proxmonitor.html | 37 + .../dcs/signals/signals_radiation.html | 64 + .../dcs/signals/signals_reagent.html | 152 + .../dcs/signals/signals_restaurant.html | 54 + .../dcs/signals/signals_saboteur.html | 32 + .../dcs/signals/signals_scangate.html | 42 + .../dcs/signals/signals_screentips.html | 72 + .../dcs/signals/signals_spatial_grid.html | 39 + .../dcs/signals/signals_species.html | 42 + code/__DEFINES/dcs/signals/signals_spell.html | 225 + .../dcs/signals/signals_storage.html | 47 + .../dcs/signals/signals_subsystem.html | 64 + code/__DEFINES/dcs/signals/signals_swab.html | 32 + .../dcs/signals/signals_techweb.html | 37 + code/__DEFINES/dcs/signals/signals_tools.html | 39 + .../dcs/signals/signals_traitor.html | 97 + .../dcs/signals/signals_transform.html | 47 + .../dcs/signals/signals_transport.html | 62 + code/__DEFINES/dcs/signals/signals_turf.html | 101 + .../dcs/signals/signals_twohand.html | 37 + .../dcs/signals/signals_vehicle.html | 37 + code/__DEFINES/dcs/signals/signals_wash.html | 32 + .../__DEFINES/dcs/signals/signals_wizard.html | 37 + .../dcs/signals/signals_xeno_control.html | 57 + code/__DEFINES/deadchat_control.html | 42 + code/__DEFINES/directional.html | 89 + code/__DEFINES/diseases.html | 193 + code/__DEFINES/dna_infuser_defines.html | 62 + code/__DEFINES/drone.html | 72 + code/__DEFINES/dynamic.html | 87 + code/__DEFINES/economy.html | 73 + code/__DEFINES/electrified_buckle.html | 57 + code/__DEFINES/events.html | 122 + code/__DEFINES/exosuit_fab.html | 132 + code/__DEFINES/experisci.html | 113 + code/__DEFINES/explosions.html | 153 + code/__DEFINES/external_organs.html | 47 + code/__DEFINES/firealarm.html | 57 + code/__DEFINES/fish.html | 184 + code/__DEFINES/flora.html | 32 + code/__DEFINES/fonts.html | 67 + code/__DEFINES/food.html | 156 + code/__DEFINES/footsteps.html | 32 + code/__DEFINES/fov.html | 52 + code/__DEFINES/generators.html | 32 + code/__DEFINES/ghost.html | 147 + code/__DEFINES/gravity.html | 80 + code/__DEFINES/hud.html | 98 + code/__DEFINES/icon_smoothing.html | 623 + code/__DEFINES/id_cards.html | 81 + code/__DEFINES/implants.html | 37 + .../important_recursive_contents.html | 49 + code/__DEFINES/injection.html | 42 + code/__DEFINES/input.html | 32 + code/__DEFINES/instruments.html | 47 + code/__DEFINES/interaction_flags.html | 134 + code/__DEFINES/inventory.html | 287 + code/__DEFINES/is_helpers.html | 45 + code/__DEFINES/jobs.html | 119 + code/__DEFINES/lag_switch.html | 67 + code/__DEFINES/language.html | 63 + code/__DEFINES/layers.html | 255 + code/__DEFINES/library.html | 42 + code/__DEFINES/lighting.html | 195 + code/__DEFINES/lights.html | 57 + code/__DEFINES/living.html | 32 + code/__DEFINES/logging.html | 46 + code/__DEFINES/machines.html | 129 + code/__DEFINES/magic.html | 194 + code/__DEFINES/map_switch.html | 33 + code/__DEFINES/mapping.html | 37 + code/__DEFINES/maps.html | 218 + code/__DEFINES/maths.html | 81 + code/__DEFINES/matrices.html | 35 + code/__DEFINES/mecha.html | 42 + code/__DEFINES/medical.html | 47 + code/__DEFINES/megafauna.html | 37 + code/__DEFINES/melee.html | 33 + code/__DEFINES/memory_defines.html | 172 + code/__DEFINES/mob_spawn.html | 37 + code/__DEFINES/mobfactions.html | 243 + code/__DEFINES/mobs.html | 891 ++ code/__DEFINES/mod.html | 77 + code/__DEFINES/modular_computer.html | 170 + code/__DEFINES/monkeys.html | 102 + code/__DEFINES/movement.html | 278 + code/__DEFINES/multiz.html | 39 + code/__DEFINES/nitrile.html | 33 + code/__DEFINES/nozzle_define.html | 32 + code/__DEFINES/nuclear_bomb.html | 32 + code/__DEFINES/obj_flags.html | 206 + code/__DEFINES/observers.html | 52 + code/__DEFINES/organ_movement.html | 37 + code/__DEFINES/overlays.html | 39 + code/__DEFINES/pai.html | 92 + code/__DEFINES/paintings.html | 42 + code/__DEFINES/paper.html | 62 + code/__DEFINES/particles.html | 32 + code/__DEFINES/path.html | 47 + code/__DEFINES/perf_test.html | 35 + code/__DEFINES/plumbing.html | 32 + code/__DEFINES/power.html | 37 + code/__DEFINES/preferences.html | 104 + code/__DEFINES/procpath.html | 27 + code/__DEFINES/projectiles.html | 200 + code/__DEFINES/qdel.html | 99 + code/__DEFINES/quirks.html | 52 + code/__DEFINES/radiation.html | 117 + code/__DEFINES/radio.html | 47 + code/__DEFINES/radioactive_nebula.html | 32 + code/__DEFINES/reactions.html | 552 + code/__DEFINES/reagents.html | 407 + code/__DEFINES/regex.html | 32 + code/__DEFINES/religion.html | 109 + code/__DEFINES/research.html | 57 + code/__DEFINES/research/anomalies.html | 37 + .../research/research_categories.html | 32 + code/__DEFINES/revolution.html | 52 + code/__DEFINES/robots.html | 388 + code/__DEFINES/rotation.html | 67 + code/__DEFINES/roundend.html | 122 + code/__DEFINES/rust_g.html | 104 + code/__DEFINES/say.html | 47 + code/__DEFINES/screentips.html | 82 + code/__DEFINES/security.html | 105 + code/__DEFINES/shuttles.html | 59 + code/__DEFINES/sight.html | 56 + code/__DEFINES/skills.html | 57 + code/__DEFINES/song.html | 47 + code/__DEFINES/sort_types.html | 32 + code/__DEFINES/sound.html | 62 + code/__DEFINES/space.html | 35 + code/__DEFINES/spaceman_dmm.html | 119 + code/__DEFINES/spacevines.html | 112 + code/__DEFINES/spatial_gridmap.html | 79 + code/__DEFINES/species_clothing_paths.html | 62 + code/__DEFINES/sprite_accessories.html | 47 + code/__DEFINES/stack.html | 37 + code/__DEFINES/stack_trace.html | 33 + code/__DEFINES/stat_tracking.html | 35 + code/__DEFINES/station.html | 52 + code/__DEFINES/status_effects.html | 142 + code/__DEFINES/strippable.html | 42 + code/__DEFINES/subsystems.html | 254 + code/__DEFINES/supermatter.html | 310 + code/__DEFINES/surgery.html | 212 + code/__DEFINES/text.html | 214 + code/__DEFINES/tgs.html | 222 + code/__DEFINES/tgui.html | 100 + code/__DEFINES/time.html | 204 + code/__DEFINES/tools.html | 56 + code/__DEFINES/toys.html | 52 + code/__DEFINES/traits/_traits.html | 47 + code/__DEFINES/traits/declarations.html | 1723 +++ code/__DEFINES/traits/macros.html | 57 + code/__DEFINES/traits/sources.html | 429 + code/__DEFINES/tts.html | 52 + code/__DEFINES/turbine_defines.html | 72 + code/__DEFINES/turfs.html | 186 + code/__DEFINES/unit_tests.html | 63 + code/__DEFINES/uplink.html | 58 + code/__DEFINES/vehicles.html | 92 + code/__DEFINES/verb_manager.html | 76 + code/__DEFINES/visual_helpers.html | 47 + code/__DEFINES/vv.html | 32 + code/__DEFINES/wiremod.html | 217 + code/__DEFINES/wires.html | 33 + code/__DEFINES/wounds.html | 366 + code/__DEFINES/xenobiology.html | 57 + code/__HELPERS/_lists.html | 398 + code/__HELPERS/_planes.html | 135 + code/__HELPERS/admin.html | 30 + code/__HELPERS/ai.html | 30 + code/__HELPERS/areas.html | 38 + code/__HELPERS/atmospherics.html | 37 + code/__HELPERS/atoms.html | 65 + code/__HELPERS/auxtools.html | 32 + code/__HELPERS/bitflag_lists.html | 41 + code/__HELPERS/cameras.html | 30 + code/__HELPERS/chat.html | 41 + code/__HELPERS/chat_filter.html | 49 + code/__HELPERS/clients.html | 28 + code/__HELPERS/cmp.html | 40 + code/__HELPERS/colors.html | 49 + code/__HELPERS/construction.html | 50 + code/__HELPERS/datums.html | 28 + code/__HELPERS/dna.html | 39 + code/__HELPERS/duplicating.html | 28 + code/__HELPERS/dynamic_human_icon_gen.html | 32 + code/__HELPERS/events.html | 30 + code/__HELPERS/files.html | 37 + code/__HELPERS/forensics.html | 57 + code/__HELPERS/game.html | 94 + code/__HELPERS/generators.html | 29 + code/__HELPERS/global_lists.html | 42 + code/__HELPERS/guid.html | 30 + code/__HELPERS/hallucinations.html | 78 + code/__HELPERS/honkerblast.html | 28 + code/__HELPERS/icon_smoothing.html | 53 + code/__HELPERS/icons.html | 85 + code/__HELPERS/jatum.html | 32 + code/__HELPERS/lazy_templates.html | 28 + code/__HELPERS/levels.html | 30 + code/__HELPERS/lighting.html | 35 + code/__HELPERS/logging/_logging.html | 31 + code/__HELPERS/logging/admin.html | 39 + code/__HELPERS/logging/antagonists.html | 38 + code/__HELPERS/logging/atmos.html | 28 + code/__HELPERS/logging/attack.html | 34 + code/__HELPERS/logging/debug.html | 47 + code/__HELPERS/logging/dynamic.html | 28 + code/__HELPERS/logging/game.html | 42 + code/__HELPERS/logging/manifest.html | 28 + code/__HELPERS/logging/mecha.html | 28 + code/__HELPERS/logging/paper.html | 28 + code/__HELPERS/logging/pda.html | 32 + code/__HELPERS/logging/research.html | 28 + code/__HELPERS/logging/shuttle.html | 28 + code/__HELPERS/logging/talk.html | 36 + code/__HELPERS/logging/tool.html | 28 + code/__HELPERS/logging/transport.html | 28 + code/__HELPERS/logging/ui.html | 28 + code/__HELPERS/logging/virus.html | 28 + code/__HELPERS/maths.html | 62 + code/__HELPERS/matrices.html | 30 + code/__HELPERS/memory_helpers.html | 80 + code/__HELPERS/mobs.html | 75 + code/__HELPERS/mouse_control.html | 28 + code/__HELPERS/nameof.html | 43 + code/__HELPERS/names.html | 31 + code/__HELPERS/paths/jps.html | 42 + code/__HELPERS/paths/path.html | 46 + code/__HELPERS/paths/sssp.html | 29 + code/__HELPERS/priority_announce.html | 41 + code/__HELPERS/qdel.html | 28 + code/__HELPERS/radiation.html | 55 + code/__HELPERS/radio.html | 34 + code/__HELPERS/randoms.html | 37 + code/__HELPERS/reagents.html | 45 + code/__HELPERS/ref.html | 30 + code/__HELPERS/roundend.html | 27 + code/__HELPERS/sanitize_values.html | 28 + code/__HELPERS/screen_objs.html | 40 + code/__HELPERS/see_through_maps.html | 62 + code/__HELPERS/spatial_info.html | 73 + code/__HELPERS/spawns.html | 28 + code/__HELPERS/stack_trace.html | 29 + code/__HELPERS/stoplag.html | 34 + code/__HELPERS/string_lists.html | 30 + code/__HELPERS/text.html | 78 + code/__HELPERS/time.html | 37 + code/__HELPERS/traits.html | 30 + code/__HELPERS/turfs.html | 71 + code/__HELPERS/type2type.html | 33 + code/__HELPERS/varset_callback.html | 35 + code/__HELPERS/verbs.html | 30 + code/__HELPERS/view.html | 28 + code/__HELPERS/visual_effects.html | 52 + code/__HELPERS/weakref.html | 33 + code/__byond_version_compat.html | 57 + code/_compile_options.html | 46 + code/_globalvars/bitfields.html | 29 + code/_globalvars/lighting.html | 28 + code/_globalvars/lists/canisters.html | 28 + code/_globalvars/lists/keybindings.html | 30 + code/_globalvars/lists/reagents.html | 37 + code/_globalvars/logging.html | 29 + code/_globalvars/phobias.html | 30 + code/_globalvars/religion.html | 30 + code/_onclick/drag_drop.html | 41 + code/_onclick/hud/action_button.html | 27 + code/_onclick/hud/alert.html | 27 + code/_onclick/hud/map_popups.html | 29 + code/_onclick/hud/new_player.html | 36 + code/_onclick/hud/parallax/random_layer.html | 30 + code/_onclick/hud/radial.html | 27 + .../hud/rendering/_render_readme.html | 67 + .../rendering/plane_master_controller.html | 33 + .../hud/rendering/plane_master_group.html | 35 + .../plane_masters/plane_master_subtypes.html | 36 + code/_onclick/hud/rendering/render_plate.html | 46 + code/_onclick/hud/screen_object_holder.html | 28 + .../configuration/config_entry.html | 27 + .../configuration/entries/dbconfig.html | 28 + .../configuration/entries/game_options.html | 31 + .../configuration/entries/general.html | 91 + code/controllers/failsafe.html | 32 + code/controllers/master.html | 32 + code/controllers/subsystem.html | 27 + code/controllers/subsystem/addiction.html | 27 + .../controllers/subsystem/ai_controllers.html | 28 + code/controllers/subsystem/ambience.html | 28 + code/controllers/subsystem/area_contents.html | 32 + code/controllers/subsystem/asset_loading.html | 30 + code/controllers/subsystem/ban_cache.html | 29 + code/controllers/subsystem/chat.html | 28 + code/controllers/subsystem/discord.html | 28 + code/controllers/subsystem/dynamic.html | 208 + .../subsystem/dynamic/dynamic.html | 28 + .../subsystem/dynamic/dynamic_logging.html | 29 + .../dynamic/dynamic_rulesets_latejoin.html | 27 + .../dynamic/dynamic_rulesets_midround.html | 57 + .../dynamic/dynamic_rulesets_roundstart.html | 27 + code/controllers/subsystem/early_assets.html | 32 + code/controllers/subsystem/economy.html | 32 + code/controllers/subsystem/eigenstate.html | 28 + code/controllers/subsystem/events.html | 30 + code/controllers/subsystem/explosions.html | 96 + code/controllers/subsystem/fluids.html | 43 + code/controllers/subsystem/garbage.html | 57 + code/controllers/subsystem/id_access.html | 28 + code/controllers/subsystem/init_profiler.html | 29 + code/controllers/subsystem/lag_switch.html | 28 + code/controllers/subsystem/library.html | 28 + code/controllers/subsystem/materials.html | 29 + code/controllers/subsystem/minor_mapping.html | 28 + .../subsystem/modular_computers.html | 32 + code/controllers/subsystem/mouse_entered.html | 28 + .../subsystem/movement/ai_movement.html | 28 + .../subsystem/movement/cliff_falling.html | 28 + .../subsystem/movement/hyperspace_drift.html | 28 + .../subsystem/movement/move_handler.html | 29 + .../subsystem/movement/movement_types.html | 45 + code/controllers/subsystem/overlays.html | 36 + code/controllers/subsystem/parallax.html | 32 + code/controllers/subsystem/pathfinder.html | 30 + .../persistence/counter_delamination.html | 32 + .../persistence/counter_tram_hits.html | 32 + .../subsystem/persistence/trophies.html | 27 + code/controllers/subsystem/ping.html | 28 + .../subsystem/points_of_interest.html | 29 + .../subsystem/processing/acid.html | 28 + .../subsystem/processing/ai_behaviors.html | 28 + .../subsystem/processing/aura_healing.html | 28 + .../subsystem/processing/clock_component.html | 28 + .../subsystem/processing/digital_clock.html | 28 + .../subsystem/processing/fire_burning.html | 28 + .../subsystem/processing/fishing.html | 29 + .../subsystem/processing/singulo.html | 28 + .../subsystem/radioactive_nebula.html | 34 + code/controllers/subsystem/restaurant.html | 27 + code/controllers/subsystem/shuttle.html | 39 + code/controllers/subsystem/skills.html | 27 + .../subsystem/spatial_gridmap.html | 51 + .../subsystem/speech_controller.html | 28 + code/controllers/subsystem/statpanel.html | 29 + code/controllers/subsystem/tgui.html | 30 + code/controllers/subsystem/timer.html | 63 + code/controllers/subsystem/tts.html | 27 + code/controllers/subsystem/tutorials.html | 28 + code/controllers/subsystem/verb_manager.html | 32 + code/controllers/subsystem/vote.html | 34 + code/controllers/subsystem/wardrobe.html | 34 + code/controllers/subsystem/weather.html | 28 + .../subsystem/wiremod_composite.html | 30 + .../achievements/_achievement_data.html | 27 + code/datums/achievements/_awards.html | 29 + .../achievements/mafia_achievements.html | 28 + code/datums/achievements/misc_scores.html | 30 + code/datums/actions/action.html | 27 + code/datums/actions/cooldown_action.html | 27 + code/datums/actions/items/stealth_box.html | 27 + code/datums/actions/mobs/assume_form.html | 28 + code/datums/actions/mobs/defensive_mode.html | 27 + code/datums/actions/mobs/fire_breath.html | 28 + code/datums/actions/mobs/sign_language.html | 32 + code/datums/ai.html | 39 + code/datums/ai/_ai_behavior.html | 27 + code/datums/ai/_ai_controller.html | 52 + code/datums/ai/_ai_planning_subtree.html | 27 + code/datums/ai/_item_behaviors.html | 28 + code/datums/ai/babies/babies_behaviors.html | 28 + code/datums/ai/babies/babies_subtrees.html | 27 + .../basic_ai_behaviors/befriend_target.html | 27 + .../basic_ai_behaviors/nearest_targeting.html | 28 + .../basic_ai_behaviors/pick_up_item.html | 29 + .../run_away_from_target.html | 27 + .../basic_ai_behaviors/step_towards_turf.html | 30 + .../basic_ai_behaviors/stop_and_stare.html | 27 + .../targeted_mob_ability.html | 31 + .../basic_ai_behaviors/tipped_reaction.html | 27 + .../basic_ai_behaviors/travel_towards.html | 30 + .../basic_ai_behaviors/ventcrawling.html | 32 + .../basic_ai_behaviors/wounded_targeting.html | 27 + .../attack_adjacent_target.html | 28 + .../attack_obstacle_in_path.html | 28 + .../basic_subtrees/call_reinforcements.html | 28 + .../basic_subtrees/capricious_retaliate.html | 28 + .../basic_mobs/basic_subtrees/find_food.html | 27 + .../basic_subtrees/flee_target.html | 29 + .../basic_subtrees/go_for_swim.html | 28 + .../basic_subtrees/maintain_distance.html | 30 + .../basic_subtrees/move_to_cardinal.html | 28 + .../opportunistic_ventcrawler.html | 27 + .../prepare_travel_to_destination.html | 28 + .../basic_subtrees/ranged_skirmish.html | 28 + .../basic_mobs/basic_subtrees/run_emote.html | 28 + .../basic_subtrees/shapechange_ambush.html | 28 + .../simple_find_nearest_target_to_flee.html | 28 + .../simple_find_wounded_target.html | 27 + .../basic_subtrees/sleep_with_no_target.html | 28 + .../basic_subtrees/speech_subtree.html | 29 + .../basic_subtrees/stare_at_thing.html | 27 + .../basic_subtrees/target_retaliate.html | 32 + .../basic_subtrees/targeted_mob_ability.html | 27 + .../teleport_away_from_target.html | 28 + .../basic_subtrees/tipped_subtree.html | 27 + .../basic_subtrees/travel_to_point.html | 27 + .../basic_subtrees/use_mob_ability.html | 28 + .../ai/basic_mobs/generic_controllers.html | 28 + .../ai/basic_mobs/pet_commands/fetch.html | 32 + .../pet_commands/pet_command_planning.html | 30 + .../pet_commands/pet_follow_friend.html | 27 + .../pet_use_targeted_ability.html | 27 + .../ai/basic_mobs/pet_commands/play_dead.html | 27 + .../basic_targeting_strategy.html | 32 + .../dont_target_friends.html | 28 + .../targeting_strategies/with_object.html | 27 + code/datums/ai/cursed/cursed_controller.html | 29 + code/datums/ai/dog/dog_behaviors.html | 29 + code/datums/ai/dog/dog_controller.html | 27 + code/datums/ai/dog/dog_subtrees.html | 27 + code/datums/ai/generic/find_and_set.html | 36 + code/datums/ai/generic/generic_behaviors.html | 32 + .../hunting_behavior/hunting_behaviors.html | 30 + .../ai/hunting_behavior/hunting_corpses.html | 29 + .../ai/idle_behaviors/idle_haunted.html | 27 + .../ai/idle_behaviors/idle_random_walk.html | 29 + code/datums/ai/learn_ai.html | 140 + code/datums/ai/monkey/monkey_behaviors.html | 27 + code/datums/ai/monkey/monkey_controller.html | 27 + code/datums/ai/movement/_ai_movement.html | 27 + .../movement/ai_movement_basic_avoidance.html | 28 + .../movement/ai_movement_complete_stop.html | 27 + code/datums/ai/movement/ai_movement_dumb.html | 27 + code/datums/ai/movement/ai_movement_jps.html | 27 + code/datums/ai/objects/mod.html | 27 + .../vending_machine_controller.html | 27 + .../ai/oldhostile/hostile_tameable.html | 27 + code/datums/ai_laws/ai_laws.html | 61 + code/datums/alarm.html | 27 + code/datums/announcers/_announcer.html | 27 + code/datums/armor/_armor.html | 36 + code/datums/beam.html | 28 + .../bodypart_overlays/bodypart_overlay.html | 28 + .../emote_bodypart_overlay.html | 27 + .../mutant_bodypart_overlay.html | 27 + .../simple_bodypart_overlay.html | 31 + .../brain_damage/split_personality.html | 27 + code/datums/browser.html | 28 + code/datums/callback.html | 30 + code/datums/chat_payload.html | 27 + code/datums/chatmessage.html | 93 + code/datums/cinematics/_cinematic.html | 30 + code/datums/cinematics/malf_doomsday.html | 27 + code/datums/cinematics/narsie_summon.html | 28 + code/datums/cinematics/nuke_cinematics.html | 37 + code/datums/components.html | 29 + .../datums/components/COMPONENT_TEMPLATE.html | 76 + code/datums/components/_component.html | 27 + code/datums/components/acid.html | 31 + .../components/action_item_overlay.html | 28 + code/datums/components/admin_popup.html | 32 + code/datums/components/aggro_emote.html | 27 + .../components/ai_has_target_timer.html | 27 + .../components/ai_listen_to_weather.html | 27 + .../components/ai_retaliate_advanced.html | 29 + code/datums/components/anti_magic.html | 27 + .../components/appearance_on_aggro.html | 27 + code/datums/components/aquarium_content.html | 27 + .../datums/components/area_based_godmode.html | 28 + .../datums/components/area_sound_manager.html | 27 + code/datums/components/areabound.html | 27 + .../components/atmos_reaction_recorder.html | 29 + code/datums/components/aura_healing.html | 30 + code/datums/components/bakeable.html | 27 + code/datums/components/basic_inhands.html | 27 + .../basic_mob_attack_telegraph.html | 27 + .../basic_ranged_ready_overlay.html | 28 + code/datums/components/blob_minion.html | 27 + code/datums/components/blood_walk.html | 27 + code/datums/components/bloodysoles.html | 28 + code/datums/components/boomerang.html | 34 + code/datums/components/boss_music.html | 27 + .../components/bullet_intercepting.html | 27 + code/datums/components/bumpattack.html | 36 + code/datums/components/burning.html | 29 + code/datums/components/butchering.html | 27 + code/datums/components/caltrop.html | 27 + .../components/can_flash_from_behind.html | 27 + code/datums/components/chasm.html | 33 + code/datums/components/chuunibyou.html | 38 + code/datums/components/cleaner.html | 30 + code/datums/components/clickbox.html | 31 + .../datums/components/clothing_fov_visor.html | 27 + code/datums/components/codeword_hearing.html | 27 + .../components/combustible_flooder.html | 27 + .../datums/components/connect_containers.html | 27 + .../datums/components/connect_loc_behalf.html | 30 + .../datums/components/connect_mob_behalf.html | 29 + code/datums/components/connect_range.html | 29 + .../container_item/container_item.html | 27 + .../container_item/tank_holder.html | 27 + code/datums/components/conveyor_movement.html | 29 + code/datums/components/cracked.html | 27 + .../datums/components/crafting/equipment.html | 27 + .../components/crafting/guncrafting.html | 27 + code/datums/components/crafting/robot.html | 27 + .../components/crafting/slapcrafting.html | 27 + code/datums/components/crate_carrier.html | 27 + code/datums/components/creamed.html | 27 + code/datums/components/curse_of_hunger.html | 38 + .../datums/components/curse_of_polymorph.html | 31 + .../customizable_reagent_holder.html | 28 + code/datums/components/damage_aura.html | 28 + code/datums/components/damage_chain.html | 27 + code/datums/components/dart_insert.html | 31 + code/datums/components/deadchat_control.html | 27 + code/datums/components/death_linked.html | 27 + code/datums/components/dejavu.html | 28 + code/datums/components/deployable.html | 27 + .../components/direct_explosive_trap.html | 28 + code/datums/components/drift.html | 29 + code/datums/components/egg_layer.html | 29 + .../datums/components/electrified_buckle.html | 39 + code/datums/components/engraved.html | 29 + code/datums/components/evolutionary_leap.html | 27 + code/datums/components/explodable.html | 27 + code/datums/components/explode_on_attack.html | 27 + code/datums/components/faction_granter.html | 27 + code/datums/components/fantasy/suffixes.html | 28 + code/datums/components/fertile_egg.html | 27 + code/datums/components/focused_attacker.html | 29 + .../datums/components/food/decomposition.html | 27 + code/datums/components/food/edible.html | 51 + .../components/food/germ_sensitive.html | 33 + code/datums/components/food/ghost_edible.html | 28 + code/datums/components/food/golem_food.html | 28 + .../components/food/ice_cream_holder.html | 28 + code/datums/components/food_storage.html | 29 + code/datums/components/force_move.html | 29 + code/datums/components/fov_handler.html | 27 + code/datums/components/gas_leaker.html | 27 + code/datums/components/geiger_sound.html | 27 + .../components/ghost_direct_control.html | 27 + code/datums/components/gps.html | 28 + code/datums/components/ground_sinking.html | 28 + .../growth_and_differentiation.html | 27 + code/datums/components/gunpoint.html | 57 + code/datums/components/hazard_area.html | 31 + code/datums/components/healing_touch.html | 28 + .../components/health_scaling_effects.html | 27 + code/datums/components/heirloom.html | 27 + .../components/hide_highest_offset.html | 28 + code/datums/components/holderloving.html | 27 + .../components/interaction_booby_trap.html | 27 + code/datums/components/irradiated.html | 28 + code/datums/components/itembound.html | 27 + code/datums/components/itempicky.html | 27 + code/datums/components/jousting.html | 34 + code/datums/components/keep_me_secure.html | 27 + code/datums/components/knockoff.html | 28 + code/datums/components/label.html | 27 + code/datums/components/leash.html | 29 + code/datums/components/life_link.html | 28 + code/datums/components/light_eater.html | 27 + code/datums/components/ling_decoy_brain.html | 27 + code/datums/components/listen_and_repeat.html | 39 + code/datums/components/lock_on_cursor.html | 28 + code/datums/components/lockable_storage.html | 30 + code/datums/components/magnet.html | 27 + code/datums/components/manual_heart.html | 35 + .../material/material_container.html | 33 + code/datums/components/mind_linker.html | 31 + code/datums/components/mob_chain.html | 29 + code/datums/components/mob_harvest.html | 27 + code/datums/components/multiple_lives.html | 28 + code/datums/components/mutant_hands.html | 29 + .../components/nuclear_bomb_operator.html | 28 + code/datums/components/object_possession.html | 27 + code/datums/components/omen.html | 32 + code/datums/components/on_hit_effect.html | 27 + code/datums/components/onwear_mood.html | 27 + code/datums/components/orbit_poll.html | 29 + code/datums/components/overlay_lighting.html | 38 + code/datums/components/palette.html | 30 + code/datums/components/parry.html | 27 + code/datums/components/payment.html | 27 + .../datums/components/pet_commands/fetch.html | 28 + .../pet_commands/obeys_commands.html | 28 + .../components/pet_commands/pet_command.html | 29 + .../pet_commands/pet_commands_basic.html | 35 + code/datums/components/phylactery.html | 27 + code/datums/components/pinata.html | 27 + .../datums/components/pinnable_accessory.html | 27 + .../datums/components/plumbing/_plumbing.html | 31 + code/datums/components/plumbing/filter.html | 27 + .../components/plumbing/reaction_chamber.html | 28 + .../datums/components/plundering_attacks.html | 28 + code/datums/components/punchcooldown.html | 27 + code/datums/components/puzzgrid.html | 35 + .../components/radiation_countdown.html | 29 + .../components/radioactive_emitter.html | 35 + .../components/radioactive_exposure.html | 27 + code/datums/components/ranged_attacks.html | 27 + .../components/ranged_mob_full_auto.html | 27 + code/datums/components/reagent_refiller.html | 27 + .../datums/components/recharging_attacks.html | 27 + .../redirect_attack_hand_from_turf.html | 27 + code/datums/components/reflection.html | 30 + code/datums/components/regenerator.html | 29 + code/datums/components/religious_tool.html | 27 + code/datums/components/rename.html | 27 + code/datums/components/revenge_ability.html | 29 + code/datums/components/riding/riding.html | 27 + code/datums/components/riding/riding_mob.html | 27 + code/datums/components/rot.html | 27 + .../components/seclight_attachable.html | 28 + .../datums/components/sect_nullrod_bonus.html | 27 + code/datums/components/security_vision.html | 27 + code/datums/components/seethrough.html | 27 + code/datums/components/seethrough_mob.html | 27 + code/datums/components/shell.html | 27 + code/datums/components/shielded.html | 27 + code/datums/components/shovel_hands.html | 27 + code/datums/components/shuttle_cling.html | 51 + code/datums/components/shy.html | 27 + code/datums/components/shy_in_room.html | 27 + code/datums/components/sign_language.html | 34 + code/datums/components/simple_access.html | 27 + code/datums/components/singularity.html | 49 + code/datums/components/slippery.html | 28 + code/datums/components/smooth_tunes.html | 28 + code/datums/components/soul_stealer.html | 27 + code/datums/components/sound_player.html | 27 + code/datums/components/spin2win.html | 27 + code/datums/components/spinny.html | 27 + code/datums/components/spirit_holding.html | 27 + code/datums/components/splattercasting.html | 39 + code/datums/components/squashable.html | 27 + code/datums/components/stationloving.html | 27 + code/datums/components/storm_hating.html | 27 + code/datums/components/subtype_picker.html | 28 + code/datums/components/surgery_initiator.html | 27 + code/datums/components/swabbing.html | 27 + code/datums/components/tackle.html | 33 + .../components/takes_reagent_appearance.html | 27 + code/datums/components/tameable.html | 27 + code/datums/components/tattoo.html | 27 + code/datums/components/technointrovert.html | 27 + code/datums/components/technoshy.html | 27 + code/datums/components/telegraph_ability.html | 27 + code/datums/components/temporary_body.html | 27 + .../components/temporary_description.html | 28 + code/datums/components/tippable.html | 27 + .../components/toggle_attached_clothing.html | 28 + code/datums/components/torn_wall.html | 30 + code/datums/components/trader/trader.html | 28 + code/datums/components/trapdoor.html | 42 + code/datums/components/twohanded.html | 28 + code/datums/components/udder.html | 30 + code/datums/components/unobserved_actor.html | 27 + code/datums/components/unusual_effect.html | 28 + code/datums/components/uplink.html | 27 + code/datums/components/usb_port.html | 27 + code/datums/components/vacuum.html | 28 + code/datums/components/vision_hurting.html | 27 + code/datums/components/wearertargeting.html | 27 + code/datums/components/weatherannouncer.html | 27 + code/datums/dash_weapon.html | 27 + code/datums/datum.html | 35 + .../advance/floor_diseases/carpellosis.html | 27 + .../advance/floor_diseases/gastritium.html | 27 + .../advance/floor_diseases/nebula_nausea.html | 27 + .../diseases/advance/symptoms/beard.html | 27 + .../diseases/advance/symptoms/chills.html | 27 + .../diseases/advance/symptoms/choking.html | 27 + .../diseases/advance/symptoms/confusion.html | 27 + .../diseases/advance/symptoms/cough.html | 27 + .../diseases/advance/symptoms/deafness.html | 27 + .../advance/symptoms/disfiguration.html | 27 + .../diseases/advance/symptoms/dizzy.html | 27 + .../diseases/advance/symptoms/fever.html | 27 + .../diseases/advance/symptoms/fire.html | 27 + .../diseases/advance/symptoms/heal.html | 58 + code/datums/dna.html | 27 + code/datums/ductnet.html | 27 + code/datums/elements/ELEMENT_TEMPLATE.html | 46 + code/datums/elements/_element.html | 27 + code/datums/elements/ai_control_examine.html | 27 + .../elements/ai_flee_while_injured.html | 27 + code/datums/elements/ai_held_item.html | 27 + code/datums/elements/ai_retaliate.html | 28 + code/datums/elements/ai_swap_combat_mode.html | 27 + .../elements/ai_target_damagesource.html | 28 + code/datums/elements/amputating_limbs.html | 27 + code/datums/elements/animal_variety.html | 28 + code/datums/elements/atmos_requirements.html | 27 + code/datums/elements/attack_equip.html | 27 + code/datums/elements/backblast.html | 27 + code/datums/elements/bane.html | 30 + .../elements/basic_body_temp_sensitive.html | 27 + code/datums/elements/basic_eating.html | 27 + code/datums/elements/beauty.html | 29 + code/datums/elements/bed_tucking.html | 27 + code/datums/elements/befriend_petting.html | 27 + code/datums/elements/blocks_explosives.html | 28 + code/datums/elements/bombable_turf.html | 29 + code/datums/elements/bonus_damage.html | 27 + code/datums/elements/bugkiller_reagent.html | 31 + code/datums/elements/bump_click.html | 27 + code/datums/elements/caseless.html | 29 + code/datums/elements/chemical_transfer.html | 27 + code/datums/elements/chewable.html | 28 + code/datums/elements/cliff_walker.html | 27 + code/datums/elements/connect_loc.html | 28 + code/datums/elements/consumable_mob.html | 27 + code/datums/elements/content_barfer.html | 27 + code/datums/elements/crackable.html | 27 + code/datums/elements/crusher_loot.html | 27 + code/datums/elements/cuffsnapping.html | 27 + code/datums/elements/cult_eyes.html | 27 + code/datums/elements/cult_halo.html | 27 + code/datums/elements/curse_announcement.html | 29 + code/datums/elements/cursed.html | 27 + code/datums/elements/damage_threshold.html | 29 + .../elements/dangerous_surgical_removal.html | 27 + code/datums/elements/death_drops.html | 27 + code/datums/elements/death_explosion.html | 27 + code/datums/elements/death_gases.html | 27 + code/datums/elements/delete_on_drop.html | 27 + code/datums/elements/deliver_first.html | 35 + code/datums/elements/dextrous.html | 28 + code/datums/elements/diggable.html | 27 + code/datums/elements/door_pryer.html | 28 + code/datums/elements/drag_pickup.html | 27 + code/datums/elements/elevation.html | 29 + code/datums/elements/envenomable_casing.html | 27 + code/datums/elements/eyestab.html | 43 + code/datums/elements/falling_hazard.html | 27 + code/datums/elements/firestacker.html | 27 + code/datums/elements/floorloving.html | 27 + code/datums/elements/food/foodlike_drink.html | 27 + code/datums/elements/food/fried_item.html | 27 + code/datums/elements/food/grilled_item.html | 27 + code/datums/elements/food/microwavable.html | 27 + code/datums/elements/food/venue_price.html | 27 + code/datums/elements/footstep.html | 27 + code/datums/elements/footstep_override.html | 27 + code/datums/elements/frozen.html | 27 + code/datums/elements/gags_recolorable.html | 27 + code/datums/elements/give_turf_traits.html | 27 + code/datums/elements/hat_wearer.html | 27 + code/datums/elements/haunted.html | 27 + code/datums/elements/high_fiver.html | 27 + code/datums/elements/honkspam.html | 27 + code/datums/elements/human_biter.html | 27 + code/datums/elements/immerse.html | 28 + code/datums/elements/item_fov.html | 27 + code/datums/elements/item_scaling.html | 27 + code/datums/elements/kneecapping.html | 27 + code/datums/elements/kneejerk.html | 27 + code/datums/elements/knockback.html | 28 + code/datums/elements/lazy_fishing_spot.html | 28 + code/datums/elements/lifesteal.html | 28 + code/datums/elements/light_blocking.html | 27 + code/datums/elements/light_eaten.html | 27 + code/datums/elements/light_eater.html | 27 + code/datums/elements/loomable.html | 27 + code/datums/elements/mirage_border.html | 27 + code/datums/elements/mob_grabber.html | 27 + code/datums/elements/mob_killed_tally.html | 27 + code/datums/elements/move_force_on_death.html | 27 + .../elements/movement_turf_changer.html | 27 + code/datums/elements/movetype_handler.html | 30 + code/datums/elements/nerfed_pulling.html | 27 + code/datums/elements/noticable_organ.html | 28 + code/datums/elements/obj_regen.html | 27 + .../openspace_item_click_handler.html | 28 + code/datums/elements/organ_set_bonus.html | 27 + code/datums/elements/pet_bonus.html | 28 + code/datums/elements/plant_backfire.html | 30 + code/datums/elements/point_of_interest.html | 27 + .../elements/prevent_attacking_of_types.html | 28 + code/datums/elements/projectile_drop.html | 29 + .../radiation_protected_clothing.html | 29 + code/datums/elements/radioactive.html | 27 + code/datums/elements/ranged_armour.html | 27 + code/datums/elements/relay_attackers.html | 29 + code/datums/elements/ridable.html | 28 + code/datums/elements/rust.html | 28 + code/datums/elements/screentips.html | 118 + .../contextual_screentip_bare_hands.html | 29 + .../contextual_screentip_item_typechecks.html | 29 + .../contextual_screentip_mob_typechecks.html | 29 + .../contextual_screentip_sharpness.html | 29 + .../contextual_screentip_tools.html | 29 + code/datums/elements/series.html | 27 + .../datums/elements/shatters_when_thrown.html | 27 + code/datums/elements/sideway_movement.html | 27 + code/datums/elements/simple_flying.html | 28 + code/datums/elements/skill_reward.html | 29 + code/datums/elements/soft_landing.html | 27 + code/datums/elements/squish.html | 27 + code/datums/elements/strippable.html | 38 + code/datums/elements/structure_repair.html | 27 + code/datums/elements/swabbable.html | 27 + code/datums/elements/temporary_atom.html | 27 + code/datums/elements/tenacious.html | 27 + code/datums/elements/tiny_mob_hunter.html | 27 + code/datums/elements/tool_flash.html | 27 + code/datums/elements/turf_transparency.html | 32 + code/datums/elements/undertile.html | 33 + code/datums/elements/unfriend_attacker.html | 28 + code/datums/elements/update_icon_blocker.html | 27 + code/datums/elements/uplink_reimburse.html | 28 + code/datums/elements/venomous.html | 27 + .../datums/elements/volatile_gas_storage.html | 27 + code/datums/elements/wall_engraver.html | 27 + code/datums/elements/wall_smasher.html | 28 + code/datums/elements/wall_tearer.html | 43 + code/datums/elements/wall_walker.html | 27 + code/datums/elements/weapon_description.html | 28 + code/datums/elements/weather_listener.html | 27 + code/datums/elements/web_walker.html | 27 + code/datums/elements/wheel.html | 27 + code/datums/emotes.html | 27 + code/datums/greyscale.html | 161 + code/datums/greyscale/_greyscale_config.html | 27 + code/datums/greyscale/json_reader.html | 28 + code/datums/greyscale/layer.html | 29 + .../helper_datums/stack_end_detector.html | 29 + code/datums/helper_datums/teleport.html | 30 + code/datums/id_trim/_id_trim.html | 27 + code/datums/id_trim/admin.html | 28 + code/datums/id_trim/centcom.html | 49 + code/datums/id_trim/jobs.html | 31 + code/datums/id_trim/outfits.html | 35 + code/datums/id_trim/ruins.html | 47 + code/datums/id_trim/syndicate.html | 39 + code/datums/job_configs/_job_configs.html | 27 + .../datums/job_configs/default_positions.html | 27 + .../job_configs/playtime_requirements.html | 27 + .../job_configs/required_account_age.html | 27 + .../job_configs/required_character_age.html | 27 + .../job_configs/starting_positions.html | 27 + code/datums/json_savefile.html | 29 + code/datums/lazy_template.html | 28 + .../datums/looping_sounds/_looping_sound.html | 27 + code/datums/looping_sounds/acid.html | 27 + code/datums/looping_sounds/burning.html | 27 + code/datums/map_config.html | 31 + code/datums/mapgen/Cavegens/IcemoonCaves.html | 27 + code/datums/mapgen/JungleGenerator.html | 28 + code/datums/mapgen/biomes/_biome.html | 27 + code/datums/martial/cqc.html | 27 + code/datums/martial/hugs_of_the_gondola.html | 27 + code/datums/materials/_material.html | 28 + code/datums/materials/alloys.html | 33 + code/datums/materials/basemats.html | 40 + code/datums/materials/meat.html | 27 + code/datums/memory/_memory.html | 27 + code/datums/memory/general_memories.html | 64 + code/datums/memory/key_memories.html | 34 + code/datums/mergers/_merger.html | 27 + code/datums/mocking/client.html | 27 + code/datums/mood.html | 27 + code/datums/mood_events/area_events.html | 27 + .../mood_events/generic_negative_events.html | 27 + .../mood_events/generic_positive_events.html | 27 + code/datums/movement_detector.html | 27 + code/datums/mutable_appearance.html | 28 + code/datums/mutations/hulk.html | 32 + code/datums/mutations/sight.html | 31 + code/datums/mutations/telekinesis.html | 27 + code/datums/mutations/void_magnet.html | 28 + code/datums/outfit.html | 28 + code/datums/position_point_vector.html | 28 + code/datums/proximity_monitor/field.html | 29 + .../proximity_monitor/fields/timestop.html | 27 + code/datums/quirks/_quirk.html | 27 + code/datums/quirks/_quirk_constant_data.html | 29 + .../datums/quirks/negative_quirks/junkie.html | 35 + code/datums/records/crime.html | 27 + code/datums/records/data.html | 27 + code/datums/records/manifest.html | 27 + code/datums/records/medical_note.html | 27 + code/datums/records/record.html | 29 + code/datums/skills/fishing.html | 28 + code/datums/sprite_accessories.html | 27 + code/datums/station_integrity.html | 27 + .../datums/station_traits/_station_trait.html | 29 + code/datums/station_traits/job_traits.html | 29 + .../station_traits/negative_traits.html | 32 + .../datums/station_traits/neutral_traits.html | 27 + .../datums/status_effects/_status_effect.html | 29 + code/datums/status_effects/buffs.html | 30 + .../status_effects/buffs/food_haste.html | 27 + .../status_effects/buffs/stun_absorption.html | 28 + .../status_effects/debuffs/blindness.html | 38 + .../status_effects/debuffs/confusion.html | 43 + .../datums/status_effects/debuffs/cursed.html | 28 + .../datums/status_effects/debuffs/cyborg.html | 27 + .../status_effects/debuffs/debuffs.html | 44 + .../status_effects/debuffs/decloning.html | 32 + .../debuffs/dna_transformation.html | 28 + .../status_effects/debuffs/drugginess.html | 28 + code/datums/status_effects/debuffs/drunk.html | 39 + .../status_effects/debuffs/hallucination.html | 28 + .../status_effects/debuffs/screen_blur.html | 35 + .../status_effects/debuffs/screwy_hud.html | 27 + .../datums/status_effects/debuffs/slimed.html | 37 + .../status_effects/debuffs/strandling.html | 32 + .../status_effects/debuffs/terrified.html | 68 + code/datums/status_effects/food_effects.html | 28 + .../datums/status_effects/grouped_effect.html | 27 + .../datums/status_effects/limited_effect.html | 27 + code/datums/status_effects/neutral.html | 35 + code/datums/status_effects/song_effects.html | 27 + .../status_effects/stacking_effect.html | 27 + code/datums/status_effects/wound_effects.html | 27 + code/datums/storage/storage.html | 30 + code/datums/storage/subtypes/cards.html | 27 + code/datums/storage/subtypes/rped.html | 32 + code/datums/verb_callbacks.html | 28 + code/datums/view.html | 27 + code/datums/visual_data.html | 29 + code/datums/voice_of_god_command.html | 58 + code/datums/votes/_vote_datum.html | 27 + code/datums/votes/custom_vote.html | 32 + code/datums/votes/rock_the_vote.html | 27 + code/datums/weakrefs.html | 31 + code/datums/weather/weather.html | 27 + .../weather_types/radiation_storm.html | 27 + .../weather/weather_types/snow_storm.html | 27 + code/datums/wounds/_wound_static_data.html | 27 + code/datums/wounds/bones.html | 28 + code/datums/wounds/burns.html | 28 + code/datums/wounds/scars/_scars.html | 28 + code/game/area/areas.html | 31 + code/game/area/areas/mining.html | 30 + code/game/area/areas/ruins/space.html | 27 + code/game/area/areas/shuttles.html | 33 + code/game/atom.html | 27 + code/game/atoms_movable.html | 30 + code/game/data_huds.html | 32 + code/game/gamemodes/events.html | 32 + code/game/gamemodes/objective.html | 28 + code/game/machinery/PDApainter.html | 32 + code/game/machinery/_machinery.html | 27 + code/game/machinery/camera/presets.html | 27 + code/game/machinery/camera/trackable.html | 32 + code/game/machinery/civilian_bounties.html | 36 + .../computer/arcade/orion_event.html | 34 + code/game/machinery/computer/arena.html | 29 + .../atmos_computers/__identifiers.html | 39 + .../computer/atmos_computers/_air_sensor.html | 32 + .../atmos_computers/_atmos_control.html | 28 + .../machinery/computer/buildandrepair.html | 27 + .../machinery/computer/communications.html | 47 + code/game/machinery/computer/crew.html | 37 + code/game/machinery/computer/dna_console.html | 122 + .../orders/order_computer/mining_order.html | 33 + .../orders/order_items/order_datum.html | 27 + .../machinery/computer/records/records.html | 27 + .../machinery/computer/records/security.html | 33 + code/game/machinery/computer/telescreen.html | 27 + code/game/machinery/dance_machine.html | 33 + code/game/machinery/deployable.html | 27 + .../machinery/dna_infuser/dna_infuser.html | 37 + .../machinery/dna_infuser/infuser_entry.html | 28 + .../dna_infuser/organ_sets/carp_organs.html | 32 + .../dna_infuser/organ_sets/fly_organs.html | 27 + .../organ_sets/goliath_organs.html | 32 + .../organ_sets/gondola_organs.html | 30 + .../dna_infuser/organ_sets/rat_organs.html | 31 + .../dna_infuser/organ_sets/roach_organs.html | 36 + code/game/machinery/doors/airlock.html | 54 + code/game/machinery/doors/brigdoors.html | 27 + code/game/machinery/doors/door.html | 32 + code/game/machinery/doors/firedoor.html | 32 + code/game/machinery/hologram.html | 27 + code/game/machinery/incident_display.html | 39 + code/game/machinery/iv_drip.html | 58 + code/game/machinery/lightswitch.html | 27 + code/game/machinery/limbgrower.html | 28 + code/game/machinery/medical_kiosk.html | 47 + .../machinery/mining_weather_monitor.html | 27 + code/game/machinery/modular_shield.html | 27 + code/game/machinery/nebula_shielding.html | 32 + .../machinery/newscaster/newscaster_data.html | 28 + .../porta_turret/portable_turret_cover.html | 27 + code/game/machinery/roulette_machine.html | 27 + code/game/machinery/shieldgen.html | 28 + code/game/machinery/sleepers.html | 29 + code/game/machinery/slotmachine.html | 40 + code/game/machinery/spaceheater.html | 27 + code/game/machinery/status_display.html | 32 + code/game/machinery/syndicatebomb.html | 31 + code/game/machinery/teambuilder.html | 27 + .../machinery/telecomms/broadcasting.html | 34 + .../telecomms/computers/message.html | 27 + .../telecomms/machine_interactions.html | 28 + .../telecomms/machines/allinone.html | 28 + .../telecomms/machines/broadcaster.html | 32 + .../machinery/telecomms/machines/bus.html | 28 + .../machinery/telecomms/machines/hub.html | 28 + .../telecomms/machines/message_server.html | 31 + .../telecomms/machines/processor.html | 29 + .../telecomms/machines/receiver.html | 29 + .../machinery/telecomms/machines/relay.html | 28 + .../machinery/telecomms/machines/server.html | 29 + .../anomalies/anomalies_bluespace.html | 27 + .../anomalies_dimensional_themes.html | 27 + .../anomalies/anomalies_ectoplasm.html | 28 + .../effects/anomalies/anomalies_flux.html | 28 + .../effects/anomalies/anomalies_gravity.html | 27 + .../anomalies/anomalies_pyroclastic.html | 27 + .../game/objects/effects/bump_teleporter.html | 28 + code/game/objects/effects/cursor_catcher.html | 27 + .../effects/decals/turfdecal/markings.html | 29 + .../decals/turfdecal/tilecoloring.html | 67 + .../effects/effect_system/effects_other.html | 30 + .../effects/effect_system/effects_water.html | 27 + .../fluid_spread/_fluid_spread.html | 30 + .../fluid_spread/effects_foam.html | 60 + .../fluid_spread/effects_smoke.html | 50 + code/game/objects/effects/effects.html | 27 + code/game/objects/effects/forcefields.html | 33 + code/game/objects/effects/glowshroom.html | 27 + code/game/objects/effects/info.html | 27 + code/game/objects/effects/landmarks.html | 31 + .../atmospherics_sanity_landmarks.html | 31 + code/game/objects/effects/lighting.html | 27 + code/game/objects/effects/mines.html | 27 + code/game/objects/effects/overlays.html | 27 + .../game/objects/effects/particle_holder.html | 28 + .../effects/particles/note_particles.html | 27 + .../game/objects/effects/particles/slime.html | 28 + .../effects/poster_demotivational.html | 27 + code/game/objects/effects/posters/poster.html | 28 + code/game/objects/effects/rcd.html | 34 + .../objects/effects/spawners/bombspawner.html | 27 + .../game/objects/effects/spawners/random.html | 340 + .../effects/spawners/random/ai_module.html | 27 + .../spawners/random/food_or_drink.html | 27 + .../spawners/random/lavaland_mobs.html | 30 + .../effects/spawners/random/random.html | 27 + .../temporary_visuals/effect_trail.html | 27 + .../temporary_visuals/miscellaneous.html | 27 + .../temporary_visuals/temporary_visual.html | 27 + code/game/objects/items.html | 33 + .../objects/items/AI_modules/_AI_modules.html | 34 + .../game/objects/items/AI_modules/hacked.html | 27 + code/game/objects/items/broom.html | 32 + code/game/objects/items/cards_ids.html | 50 + .../objects/items/devices/aicard_evil.html | 28 + .../items/devices/anomaly_releaser.html | 27 + .../game/objects/items/devices/multitool.html | 27 + .../game/objects/items/devices/powersink.html | 27 + .../objects/items/devices/radio/radio.html | 27 + .../items/devices/scanners/gas_analyzer.html | 28 + .../devices/scanners/health_analyzer.html | 40 + .../objects/items/devices/table_clock.html | 32 + .../objects/items/devices/traitordevices.html | 28 + code/game/objects/items/dice.html | 28 + code/game/objects/items/dna_injector.html | 27 + code/game/objects/items/dna_probe.html | 28 + code/game/objects/items/food/_food.html | 27 + code/game/objects/items/food/bait.html | 31 + code/game/objects/items/food/bread.html | 28 + code/game/objects/items/food/cheese.html | 27 + code/game/objects/items/food/donkpocket.html | 27 + code/game/objects/items/food/donuts.html | 28 + code/game/objects/items/food/egg.html | 27 + code/game/objects/items/food/meatdish.html | 31 + code/game/objects/items/food/meatslab.html | 30 + code/game/objects/items/food/misc.html | 27 + code/game/objects/items/food/monkeycube.html | 27 + code/game/objects/items/food/pastries.html | 29 + code/game/objects/items/food/salad.html | 27 + code/game/objects/items/food/snacks.html | 27 + code/game/objects/items/food/spaghetti.html | 27 + code/game/objects/items/gift.html | 28 + .../objects/items/granters/_granters.html | 27 + .../items/granters/chuuni_granter.html | 27 + .../items/granters/magic/_spell_granter.html | 28 + .../objects/items/granters/sign_language.html | 28 + .../game/objects/items/grenades/_grenade.html | 27 + .../objects/items/grenades/chem_grenade.html | 27 + .../objects/items/grenades/smokebomb.html | 29 + code/game/objects/items/hand_items.html | 27 + code/game/objects/items/handcuffs.html | 49 + code/game/objects/items/implants/implant.html | 27 + .../objects/items/implants/implant_clown.html | 29 + .../items/implants/implant_explosive.html | 38 + .../objects/items/implants/implantcase.html | 29 + .../objects/items/implants/implanter.html | 27 + .../implants/security/implant_beacon.html | 27 + .../implants/security/implant_exile.html | 27 + .../implants/security/implant_noteleport.html | 27 + code/game/objects/items/inspector.html | 31 + code/game/objects/items/janitor_key.html | 32 + code/game/objects/items/mail.html | 33 + code/game/objects/items/manuals.html | 27 + code/game/objects/items/melee/energy.html | 29 + code/game/objects/items/pitchfork.html | 27 + code/game/objects/items/pneumaticCannon.html | 32 + code/game/objects/items/powerfist.html | 37 + code/game/objects/items/puzzle_pieces.html | 27 + code/game/objects/items/rcd/RCD.html | 37 + code/game/objects/items/rcd/RPD.html | 32 + code/game/objects/items/rcd/RPLD.html | 27 + code/game/objects/items/rcd/RSF.html | 33 + code/game/objects/items/rcd/RTD.html | 46 + code/game/objects/items/rcd/RWD.html | 27 + .../game/objects/items/robot/ai_upgrades.html | 27 + code/game/objects/items/robot/items/hypo.html | 38 + .../objects/items/robot/items/storage.html | 30 + .../objects/items/robot/robot_upgrades.html | 28 + code/game/objects/items/secret_documents.html | 33 + code/game/objects/items/sharpener.html | 28 + .../stacks/golem_food/golem_food_buff.html | 29 + .../stacks/golem_food/golem_hand_actions.html | 39 + .../golem_food/golem_status_effects.html | 37 + code/game/objects/items/stacks/stack.html | 42 + .../items/stacks/tiles/tile_types.html | 28 + code/game/objects/items/sticker.html | 27 + .../objects/items/storage/boxes/_boxes.html | 27 + .../game/objects/items/storage/briefcase.html | 30 + code/game/objects/items/storage/medkit.html | 30 + .../objects/items/storage/uplink_kits.html | 29 + code/game/objects/items/storage/wallets.html | 27 + code/game/objects/items/surgery_tray.html | 30 + code/game/objects/items/tanks/tanks.html | 35 + code/game/objects/items/tcg/tcg.html | 28 + code/game/objects/items/tcg/tcg_machines.html | 29 + code/game/objects/items/tongs.html | 27 + .../game/objects/items/tools/weldingtool.html | 32 + code/game/objects/items/tools/wirebrush.html | 28 + code/game/objects/items/toy_mechs.html | 39 + code/game/objects/items/wiki_manuals.html | 38 + code/game/objects/structures.html | 27 + code/game/objects/structures/aliens.html | 28 + .../objects/structures/beds_chairs/bed.html | 29 + .../objects/structures/beds_chairs/chair.html | 27 + .../objects/structures/beds_chairs/sofa.html | 33 + code/game/objects/structures/bonfire.html | 33 + .../objects/structures/cannons/cannon.html | 37 + .../construction_actions.html | 28 + .../construction_console.html | 29 + .../construction_console_aux.html | 27 + .../construction_console_centcom.html | 27 + .../crates_lockers/closets/bodybag.html | 28 + .../crates_lockers/crates/syndicrate.html | 27 + .../objects/structures/deployable_turret.html | 27 + code/game/objects/structures/fake_stairs.html | 27 + code/game/objects/structures/flora.html | 32 + code/game/objects/structures/fluff.html | 32 + code/game/objects/structures/girders.html | 27 + code/game/objects/structures/grille.html | 32 + code/game/objects/structures/guillotine.html | 97 + .../structures/gym/weight_machine.html | 33 + .../structures/gym/weight_machine_action.html | 28 + .../objects/structures/lavaland/geyser.html | 29 + code/game/objects/structures/loom.html | 27 + code/game/objects/structures/maintenance.html | 28 + code/game/objects/structures/mannequin.html | 27 + code/game/objects/structures/mirror.html | 27 + code/game/objects/structures/morgue.html | 37 + code/game/objects/structures/mystery_box.html | 68 + .../objects/structures/ore_containers.html | 27 + code/game/objects/structures/pinatas.html | 28 + code/game/objects/structures/safe.html | 37 + code/game/objects/structures/secure_safe.html | 30 + code/game/objects/structures/shower.html | 62 + .../game/objects/structures/signs/_signs.html | 28 + .../structures/signs/signs_departments.html | 33 + .../structures/signs/signs_warning.html | 28 + .../structures/syndicate_uplink_beacon.html | 27 + .../game/objects/structures/tables_racks.html | 27 + code/game/objects/structures/tank_holder.html | 27 + .../objects/structures/training_machine.html | 28 + code/game/say.html | 33 + code/game/shuttle_engines.html | 32 + code/game/sound.html | 29 + code/game/turfs/closed/minerals.html | 30 + .../game/turfs/closed/wall/mineral_walls.html | 28 + code/game/turfs/open/asteroid.html | 30 + code/game/turfs/open/cliff.html | 28 + code/game/turfs/open/floor.html | 27 + .../turfs/open/floor/catwalk_plating.html | 27 + code/game/turfs/open/floor/fancy_floor.html | 27 + code/game/turfs/open/floor/light_floor.html | 27 + code/game/turfs/open/floor/plating.html | 28 + code/game/turfs/open/lava.html | 42 + code/game/turfs/open/misc.html | 29 + code/game/turfs/open/space/transit.html | 28 + code/game/turfs/turf.html | 27 + code/game/world.html | 37 + code/modules/NTNet/relays.html | 28 + .../actionspeed/_actionspeed_modifier.html | 50 + .../actionspeed/modifiers/status_effects.html | 27 + code/modules/admin/admin_fax_panel.html | 27 + code/modules/admin/admin_pda_message.html | 27 + code/modules/admin/admin_ranks.html | 30 + code/modules/admin/admin_verbs.html | 30 + code/modules/admin/callproc/callproc.html | 35 + code/modules/admin/chat_commands.html | 29 + code/modules/admin/create_mob.html | 28 + code/modules/admin/force_event.html | 27 + code/modules/admin/greyscale_modify_menu.html | 29 + code/modules/admin/painting_manager.html | 27 + code/modules/admin/poll_management.html | 30 + code/modules/admin/smites/bad_luck.html | 27 + code/modules/admin/smites/become_object.html | 27 + code/modules/admin/smites/berforate.html | 27 + code/modules/admin/smites/bloodless.html | 27 + code/modules/admin/smites/boneless.html | 27 + code/modules/admin/smites/brain_damage.html | 27 + code/modules/admin/smites/bsa.html | 27 + code/modules/admin/smites/curse_of_babel.html | 27 + code/modules/admin/smites/dock_pay.html | 27 + code/modules/admin/smites/fake_bwoink.html | 27 + code/modules/admin/smites/fat.html | 27 + code/modules/admin/smites/fireball.html | 27 + code/modules/admin/smites/gib.html | 27 + .../smites/imaginary_friend_special.html | 27 + code/modules/admin/smites/immerse.html | 27 + code/modules/admin/smites/knot_shoes.html | 27 + code/modules/admin/smites/lightning.html | 29 + code/modules/admin/smites/nugget.html | 27 + code/modules/admin/smites/petrify.html | 27 + .../admin/smites/phobia_ocky_icky.html | 27 + code/modules/admin/smites/puzzgrid.html | 27 + code/modules/admin/smites/puzzle.html | 27 + code/modules/admin/smites/rod.html | 27 + code/modules/admin/smites/scarify.html | 27 + code/modules/admin/smites/smite.html | 27 + code/modules/admin/smites/supply_pod.html | 27 + .../admin/smites/supply_pod_quick.html | 27 + code/modules/admin/sql_ban_system.html | 33 + code/modules/admin/tag.html | 33 + code/modules/admin/trophy_manager.html | 27 + .../admin/verbs/SDQL2/SDQL_2_wrappers.html | 40 + code/modules/admin/verbs/adminfun.html | 30 + code/modules/admin/verbs/adminhelp.html | 38 + code/modules/admin/verbs/adminpm.html | 32 + .../modules/admin/verbs/color_blind_test.html | 31 + code/modules/admin/verbs/commandreport.html | 38 + code/modules/admin/verbs/ert.html | 37 + .../modules/admin/verbs/highlander_datum.html | 28 + code/modules/admin/verbs/light_debug.html | 29 + code/modules/admin/verbs/lua.html | 224 + code/modules/admin/verbs/lua/_hooks.html | 56 + code/modules/admin/verbs/lua/helpers.html | 30 + code/modules/admin/verbs/mapping.html | 28 + code/modules/admin/verbs/plane_debugger.html | 27 + .../admin/verbs/player_ticket_history.html | 27 + code/modules/admin/verbs/playsound.html | 28 + code/modules/admin/verbs/pray.html | 32 + code/modules/admin/verbs/secrets.html | 30 + .../admin/view_variables/debug_variables.html | 28 + .../nobody_wants_to_learn_matrix_math.html | 27 + .../antagonists/_common/antag_datum.html | 32 + .../antagonists/_common/antag_helpers.html | 31 + .../antagonists/_common/antag_hud.html | 28 + .../antagonists/_common/antag_spawner.html | 33 + .../abductor/abductee/abductee.html | 27 + code/modules/antagonists/blob/blob_antag.html | 27 + .../antagonists/blob/structures/_blob.html | 27 + .../antagonists/changeling/changeling.html | 33 + .../changeling/fallen_changeling.html | 27 + .../antagonists/changeling/headslug_eggs.html | 27 + .../changeling/powers/mutations.html | 38 + .../antagonists/clown_ops/bananium_bomb.html | 28 + .../antagonists/clown_ops/clown_weapons.html | 32 + code/modules/antagonists/cult/cult.html | 28 + .../antagonists/cult/cult_bastard_sword.html | 27 + code/modules/antagonists/cult/cult_comms.html | 27 + code/modules/antagonists/cult/cult_items.html | 37 + .../cult/cult_structure_altar.html | 32 + .../cult/cult_structure_archives.html | 32 + .../cult/cult_structure_forge.html | 32 + code/modules/antagonists/cult/runes.html | 32 + .../disease/disease_abilities.html | 31 + .../fugitive/hunters/hunter_gear.html | 29 + .../antagonists/heretic/heretic_antag.html | 30 + .../antagonists/heretic/heretic_focus.html | 28 + .../heretic/heretic_knowledge.html | 47 + .../heretic/heretic_living_heart.html | 30 + .../antagonists/heretic/heretic_monsters.html | 27 + .../antagonists/heretic/influences.html | 33 + .../heretic/items/hunter_rifle.html | 32 + .../antagonists/heretic/items/keyring.html | 27 + .../heretic/items/labyrinth_handbook.html | 27 + .../heretic/knowledge/ash_lore.html | 27 + .../heretic/knowledge/blade_lore.html | 38 + .../heretic/knowledge/cosmic_lore.html | 27 + .../heretic/knowledge/flesh_lore.html | 38 + .../heretic/knowledge/lock_lore.html | 27 + .../heretic/knowledge/rust_lore.html | 28 + .../sacrifice_knowledge/sacrifice_buff.html | 28 + .../sacrifice_knowledge.html | 38 + .../sacrifice_knowledge/sacrifice_map.html | 27 + .../heretic/knowledge/side_void_blade.html | 33 + .../heretic/knowledge/starting_lore.html | 37 + .../heretic/knowledge/void_lore.html | 27 + .../heretic/magic/ash_ascension.html | 29 + .../heretic/magic/cosmic_runes.html | 27 + .../antagonists/heretic/magic/fire_blast.html | 27 + .../heretic/magic/shadow_cloak.html | 28 + .../heretic/magic/space_crawl.html | 28 + .../heretic/status_effects/buffs.html | 30 + .../heretic/transmutation_rune.html | 28 + .../antagonists/hypnotized/hypnotized.html | 27 + code/modules/antagonists/malf_ai/malf_ai.html | 32 + .../malf_ai/malf_ai_module_picker.html | 27 + .../antagonists/malf_ai/malf_ai_modules.html | 50 + .../nightmare/nightmare_equipment.html | 27 + .../nightmare/nightmare_organs.html | 37 + .../nightmare/nightmare_species.html | 27 + .../antagonists/ninja/energy_katana.html | 27 + .../antagonists/ninja/energy_net_nets.html | 27 + .../antagonists/ninja/ninja_clothing.html | 27 + .../antagonists/ninja/ninja_explosive.html | 29 + .../antagonists/ninja/ninja_stars.html | 27 + .../equipment/nuclear_bomb/_nuclear_bomb.html | 30 + .../equipment/nuclear_bomb/beer_nuke.html | 27 + .../nukeop/equipment/nuclear_challenge.html | 27 + code/modules/antagonists/nukeop/nukeop.html | 28 + .../antagonists/obsessed/obsessed.html | 27 + .../paradox_clone/paradox_clone.html | 28 + .../antagonists/pirate/pirate_event.html | 28 + .../antagonists/pirate/pirate_gangs.html | 35 + .../pirate/pirate_shuttle_equipment.html | 27 + .../antagonists/revenant/haunted_item.html | 30 + .../revolution/enemy_of_the_state.html | 28 + .../separatist/nation_creation.html | 28 + .../antagonists/shade/shade_minion.html | 30 + .../antagonists/space_dragon/carp_rift.html | 43 + code/modules/antagonists/spiders/spiders.html | 27 + code/modules/antagonists/traitor.html | 68 + .../traitor/components/demoraliser.html | 28 + .../components/traitor_objective_helpers.html | 28 + .../traitor_objective_limit_per_time.html | 27 + .../traitor_objective_mind_tracker.html | 27 + .../traitor/contractor/contract_teammate.html | 30 + .../antagonists/traitor/datum_traitor.html | 37 + .../traitor/objective_category.html | 31 + .../objectives/abstract/target_player.html | 29 + .../traitor/objectives/destroy_heirloom.html | 27 + .../traitor/objectives/destroy_item.html | 27 + .../objectives/sabotage_machinery.html | 31 + .../traitor/traitor_objective.html | 29 + .../antagonists/traitor/uplink_handler.html | 27 + .../wizard/equipment/artefact.html | 38 + .../equipment/enchanted_clown_suit.html | 30 + .../wizard/equipment/soulstone.html | 27 + .../equipment/spellbook_entries/_entry.html | 30 + .../equipment/spellbook_entries/summons.html | 34 + .../grand_ritual/finales/all_access.html | 27 + .../grand_ritual/finales/armageddon.html | 27 + .../grand_ritual/finales/captaincy.html | 28 + .../wizard/grand_ritual/finales/cheese.html | 29 + .../wizard/grand_ritual/finales/clown.html | 29 + .../finales/grand_ritual_finale.html | 30 + .../grand_ritual/finales/immortality.html | 44 + .../wizard/grand_ritual/finales/midas.html | 27 + .../wizard/grand_ritual/fluff.html | 27 + .../wizard/grand_ritual/grand_ritual.html | 45 + .../wizard/grand_ritual/grand_rune.html | 50 + .../grand_ritual/grand_side_effect.html | 55 + .../modules/antagonists/wizard/imp_antag.html | 27 + code/modules/antagonists/xeno/xeno.html | 43 + code/modules/art/paintings.html | 27 + code/modules/art/statues.html | 47 + code/modules/assembly/infrared.html | 27 + code/modules/asset_cache.html | 43 + .../modules/asset_cache/asset_cache_item.html | 27 + code/modules/asset_cache/asset_list.html | 33 + .../asset_cache/assets/body_zones.html | 27 + .../asset_cache/assets/chemmaster.html | 27 + code/modules/asset_cache/assets/crafting.html | 27 + code/modules/asset_cache/assets/uplink.html | 27 + .../transports/asset_transport.html | 33 + .../transports/webroot_transport.html | 27 + code/modules/atmospherics/Atmospherics.html | 378 + .../environmental/LINDA_fire.html | 30 + .../environmental/LINDA_turf_tile.html | 33 + .../atmospherics/gasmixtures/reactions.html | 52 + .../machinery/air_alarm/air_alarm_modes.html | 28 + .../machinery/atmosmachinery.html | 27 + .../machinery/bluespace_vendor.html | 32 + .../binary_devices/dp_vent_pump.html | 32 + .../components/fusion/_hfr_defines.html | 238 + .../machinery/components/fusion/hfr_core.html | 27 + .../components/fusion/hfr_parts.html | 28 + .../components/unary_devices/cryo.html | 34 + .../unary_devices/machine_connector.html | 27 + .../unary_devices/vent_scrubber.html | 32 + .../atmospherics/machinery/pipes/multiz.html | 27 + .../machinery/portable/canister.html | 37 + code/modules/autowiki/autowiki.html | 31 + code/modules/autowiki/pages/base.html | 27 + code/modules/autowiki/pages/stockparts.html | 27 + code/modules/awaymissions/cordon.html | 29 + code/modules/awaymissions/gateway.html | 27 + .../awaymissions/mission_code/snowdin.html | 27 + code/modules/awaymissions/zlevel.html | 28 + code/modules/balloon_alert/balloon_alert.html | 37 + code/modules/basketball/controller.html | 36 + code/modules/bitrunning/abilities.html | 27 + code/modules/bitrunning/areas.html | 30 + .../components/avatar_connection.html | 28 + .../components/bitrunning_points.html | 27 + .../bitrunning/components/npc_friendly.html | 27 + code/modules/bitrunning/designs.html | 28 + code/modules/bitrunning/objects/disks.html | 36 + .../modules/bitrunning/objects/landmarks.html | 34 + .../bitrunning/objects/loot_crate.html | 28 + code/modules/bitrunning/server/_parent.html | 27 + .../domains/gondola_asteroid.html | 27 + .../virtual_domain/domains/test_only.html | 27 + .../virtual_domain/virtual_domain.html | 27 + code/modules/buildmode.html | 230 + code/modules/buildmode/bm_mode.html | 37 + .../capture_the_flag/ctf_controller.html | 30 + code/modules/capture_the_flag/ctf_game.html | 36 + .../ctf_player_component.html | 27 + code/modules/capture_the_flag/ctf_voting.html | 28 + .../medieval_sim/medisim_game.html | 33 + code/modules/cards/cards.html | 28 + code/modules/cargo/bounties/assistant.html | 28 + code/modules/cargo/bounties/atmos.html | 27 + code/modules/cargo/bounties/security.html | 27 + code/modules/cargo/bounty.html | 34 + code/modules/cargo/exports.html | 28 + .../modules/cargo/exports/food_and_drink.html | 28 + code/modules/cargo/exports/large_objects.html | 30 + code/modules/cargo/markets/_market.html | 27 + .../cargo/markets/market_items/tools.html | 27 + code/modules/cargo/materials_market.html | 37 + code/modules/cargo/order.html | 49 + code/modules/cargo/packs/_packs.html | 31 + code/modules/cargo/packs/engineering.html | 27 + code/modules/cargo/packs/exploration.html | 27 + code/modules/cargo/packs/general.html | 28 + code/modules/cargo/packs/imports.html | 31 + code/modules/cargo/packs/security.html | 27 + code/modules/cargo/packs/service.html | 29 + .../cargo/packs/stock_market_items.html | 27 + code/modules/cargo/packs/vending_restock.html | 27 + code/modules/chatter/chatter.html | 30 + code/modules/client/client_colour.html | 43 + code/modules/client/client_defines.html | 27 + code/modules/client/player_details.html | 30 + code/modules/client/preferences.html | 367 + .../client/preferences/_preference.html | 93 + code/modules/client/preferences/admin.html | 28 + .../client/preferences/ai_core_display.html | 27 + .../client/preferences/ai_emote_display.html | 27 + .../preferences/ai_hologram_display.html | 27 + .../client/preferences/ambient_occlusion.html | 27 + code/modules/client/preferences/assets.html | 29 + .../preferences/broadcast_login_logout.html | 27 + code/modules/client/preferences/clothing.html | 31 + .../client/preferences/darkened_flash.html | 27 + code/modules/client/preferences/gender.html | 27 + code/modules/client/preferences/ghost.html | 33 + .../client/preferences/ghost_lighting.html | 27 + .../preferences/middleware/_middleware.html | 27 + .../client/preferences/middleware/antags.html | 29 + .../preferences/middleware/keybindings.html | 27 + .../middleware/legacy_toggles.html | 32 + .../client/preferences/middleware/names.html | 28 + .../client/preferences/middleware/quirks.html | 27 + .../client/preferences/middleware/random.html | 27 + .../preferences/middleware/species.html | 27 + .../client/preferences/middleware/tts.html | 27 + .../client/preferences/mod_select.html | 27 + .../client/preferences/multiz_parallax.html | 27 + .../preferences/multiz_performance.html | 27 + code/modules/client/preferences/names.html | 30 + code/modules/client/preferences/ooc.html | 27 + .../client/preferences/operative_species.html | 28 + .../client/preferences/paint_color.html | 27 + code/modules/client/preferences/parallax.html | 27 + code/modules/client/preferences/pda.html | 30 + .../preferences/playtime_reward_cloak.html | 29 + .../client/preferences/preferred_map.html | 27 + .../client/preferences/prisoner_crime.html | 27 + .../client/preferences/scaling_method.html | 27 + .../preferences/security_department.html | 27 + code/modules/client/preferences/sounds.html | 36 + code/modules/client/preferences/species.html | 27 + code/modules/client/preferences/tgui.html | 29 + code/modules/client/preferences/ui_style.html | 27 + code/modules/client/preferences/voice.html | 27 + .../client/preferences/window_flashing.html | 27 + code/modules/client/verbs/who.html | 37 + .../clothing/belts/polymorph_belt.html | 29 + .../clothing/chameleon/_chameleon_action.html | 32 + .../clothing/chameleon/chameleon_scanner.html | 27 + code/modules/clothing/glasses/_glasses.html | 28 + code/modules/clothing/head/hat.html | 28 + code/modules/clothing/head/jobs.html | 28 + code/modules/clothing/masks/animal_masks.html | 27 + code/modules/clothing/masks/gas_filter.html | 57 + code/modules/clothing/shoes/cowboy.html | 27 + .../clothing/spacesuits/_spacesuits.html | 27 + .../reactive_armour_dimensional_themes.html | 30 + code/modules/clothing/suits/toggles.html | 28 + .../under/accessories/_accessories.html | 27 + .../clothing/under/accessories/badges.html | 28 + code/modules/clothing/under/color.html | 30 + code/modules/discord/discord_embed.html | 29 + code/modules/discord/discord_link_record.html | 27 + code/modules/emoji/emoji_parse.html | 30 + code/modules/escape_menu/details.html | 28 + code/modules/escape_menu/subsystem.html | 28 + code/modules/escape_menu/title.html | 28 + code/modules/events/_event_admin_setup.html | 35 + code/modules/events/anomaly/_anomaly.html | 27 + code/modules/events/disease_outbreak.html | 90 + code/modules/events/earthquake.html | 30 + .../events/immovable_rod/immovable_rod.html | 27 + .../immovable_rod/immovable_rod_event.html | 30 + code/modules/events/market_crash.html | 27 + code/modules/events/sandstorm.html | 31 + .../shuttle_loan/shuttle_loan_datum.html | 27 + .../events/space_vines/vine_controller.html | 32 + code/modules/events/stray_cargo.html | 31 + code/modules/events/supermatter_surge.html | 53 + code/modules/events/wizard/curseditems.html | 57 + .../events/wizard/departmentrevolt.html | 29 + code/modules/events/wizard/embeddies.html | 29 + code/modules/events/wizard/rpgloot.html | 27 + .../experisci/destructive_scanner.html | 27 + .../experisci/experiment/experiments.html | 29 + .../handlers/experiment_handler.html | 29 + .../experiment/types/experiment.html | 27 + .../experisci/experiment/types/ordnance.html | 29 + .../experisci/experiment/types/scanning.html | 27 + .../experiment/types/scanning_fish.html | 29 + .../experiment/types/scanning_machinery.html | 29 + .../experiment/types/scanning_people.html | 27 + code/modules/experisci/handheld_scanner.html | 27 + code/modules/explorer_drone/adventure.html | 29 + code/modules/explorer_drone/exodrone.html | 39 + .../_exploration_event.html | 28 + .../exploration_events/adventure.html | 27 + .../exploration_events/danger.html | 29 + .../exploration_events/fluff.html | 27 + .../exploration_events/resource.html | 28 + .../exploration_events/trader.html | 28 + .../explorer_drone/exploration_site.html | 31 + code/modules/explorer_drone/loot.html | 41 + code/modules/explorer_drone/manager.html | 27 + .../modules/explorer_drone/scanner_array.html | 29 + code/modules/fishing/aquarium/aquarium.html | 32 + .../fishing/aquarium/aquarium_kit.html | 31 + .../fishing/aquarium/fish_analyzer.html | 27 + code/modules/fishing/fish/_fish.html | 28 + code/modules/fishing/fish/chasm_detritus.html | 45 + code/modules/fishing/fish/fish_evolution.html | 27 + code/modules/fishing/fish/fish_traits.html | 29 + code/modules/fishing/fish_catalog.html | 27 + code/modules/fishing/fishing_equipment.html | 39 + code/modules/fishing/fishing_minigame.html | 89 + .../modules/fishing/sources/_fish_source.html | 30 + .../modules/fishing/sources/source_types.html | 29 + code/modules/flufftext/Dreaming.html | 30 + .../food_and_drinks/machinery/deep_fryer.html | 37 + .../food_and_drinks/machinery/microwave.html | 49 + .../machinery/stove_component.html | 27 + .../recipes/drinks/drinks_alcoholic.html | 27 + .../recipes/food_mixtures.html | 27 + .../recipes/soup_mixtures.html | 38 + .../recipes/tablecraft/recipes_bread.html | 28 + .../recipes/tablecraft/recipes_burger.html | 27 + .../recipes/tablecraft/recipes_cake.html | 27 + .../recipes/tablecraft/recipes_drink.html | 28 + .../recipes/tablecraft/recipes_egg.html | 27 + .../recipes/tablecraft/recipes_frozen.html | 28 + .../recipes/tablecraft/recipes_meat.html | 29 + .../recipes/tablecraft/recipes_pastry.html | 33 + .../recipes/tablecraft/recipes_pie.html | 27 + .../recipes/tablecraft/recipes_pizza.html | 27 + .../recipes/tablecraft/recipes_salad.html | 27 + .../recipes/tablecraft/recipes_sandwich.html | 27 + .../recipes/tablecraft/recipes_spaghetti.html | 27 + .../food_and_drinks/restaurant/_venue.html | 27 + .../restaurant/custom_order.html | 29 + .../restaurant/customers/_customer.html | 27 + .../restaurant/generic_venues.html | 28 + code/modules/forensics/_forensics.html | 27 + .../modules/hallucination/_hallucination.html | 31 + code/modules/hallucination/battle.html | 34 + code/modules/hallucination/body.html | 27 + .../hallucination/bubblegum_attack.html | 28 + code/modules/hallucination/delusions.html | 29 + code/modules/hallucination/fake_alert.html | 27 + code/modules/hallucination/fake_chat.html | 27 + .../hallucination/fake_plasmaflood.html | 27 + code/modules/hallucination/fake_sound.html | 27 + code/modules/hallucination/hazard.html | 28 + code/modules/hallucination/hud_screw.html | 27 + code/modules/hallucination/ice_cube.html | 27 + .../hallucination/inhand_fake_item.html | 27 + code/modules/hallucination/mother.html | 27 + .../hallucination/nearby_fake_item.html | 27 + .../hallucination/screwy_health_doll.html | 27 + code/modules/hallucination/shock.html | 27 + code/modules/hallucination/stray_bullet.html | 28 + code/modules/hallucination/xeno_attack.html | 28 + code/modules/holiday/holidays.html | 35 + code/modules/holiday/nth_week.html | 27 + .../hydroponics/beekeeping/bee_smoker.html | 32 + code/modules/hydroponics/biogenerator.html | 42 + .../hydroponics/fermenting_barrel.html | 27 + code/modules/hydroponics/grafts.html | 27 + code/modules/hydroponics/grown.html | 37 + code/modules/hydroponics/grown/flowers.html | 28 + code/modules/hydroponics/grown/hedges.html | 28 + code/modules/hydroponics/grown/melon.html | 28 + .../modules/hydroponics/grown/replicapod.html | 27 + code/modules/hydroponics/grown/sugarcane.html | 27 + code/modules/hydroponics/hydroponics.html | 28 + code/modules/hydroponics/plant_genes.html | 60 + code/modules/hydroponics/seed_extractor.html | 28 + .../hydroponics/unique_plant_genes.html | 56 + .../instrument_data/_instrument_data.html | 29 + .../instrument_data/_instrument_key.html | 28 + code/modules/instruments/songs/_song.html | 28 + code/modules/interview/interview.html | 27 + code/modules/interview/interview_manager.html | 28 + .../modules/jobs/departments/departments.html | 30 + code/modules/jobs/job_types/assistant.html | 29 + .../chaplain/chaplain_divine_archer.html | 31 + code/modules/jobs/job_types/scientist.html | 27 + .../jobs/job_types/security_officer.html | 31 + .../modules/jobs/job_types/servant_golem.html | 27 + code/modules/jobs/job_types/unassigned.html | 29 + code/modules/keybindings.html | 60 + code/modules/language/language_holder.html | 62 + code/modules/library/admin_only.html | 28 + code/modules/library/book_info.html | 27 + code/modules/library/lib_machines.html | 28 + .../skill_learning/job_skillchips/_job.html | 32 + .../library/skill_learning/skillchip.html | 32 + code/modules/lighting/lighting_atom.html | 28 + code/modules/lighting/lighting_corner.html | 28 + code/modules/lighting/lighting_source.html | 31 + code/modules/logging/log_category.html | 27 + code/modules/logging/log_entry.html | 27 + code/modules/logging/log_holder.html | 33 + code/modules/mafia/_defines.html | 207 + .../abilities/investigative/investigate.html | 27 + .../mafia/abilities/investigative/pray.html | 27 + .../mafia/abilities/investigative/reveal.html | 27 + .../abilities/investigative/thoughtfeed.html | 27 + .../mafia/abilities/killing/alert.html | 27 + .../abilities/killing/flicker_rampage.html | 27 + .../modules/mafia/abilities/killing/kill.html | 27 + .../mafia/abilities/protective/heal.html | 29 + .../mafia/abilities/protective/vest.html | 33 + .../mafia/abilities/support/roleblock.html | 27 + .../mafia/abilities/support/self_reveal.html | 27 + .../abilities/voting/changeling_kill.html | 27 + .../mafia/abilities/voting/day_voting.html | 27 + code/modules/mafia/controller.html | 37 + code/modules/mafia/outfits.html | 27 + code/modules/mapfluff/ruins/generic.html | 27 + .../ruins/icemoonruin_code/hotsprings.html | 27 + .../mapfluff/ruins/lavaland_ruin_code.html | 28 + .../biodome_clown_planet.html | 27 + .../lavalandruin_code/elephantgraveyard.html | 27 + .../ruins/lavalandruin_code/sloth.html | 27 + .../ruins/lavalandruin_code/surface.html | 27 + .../lavalandruin_code/watcher_grave.html | 30 + .../objects_and_mobs/cursed_slot_machine.html | 28 + .../ruins/spaceruin_code/DJstation.html | 28 + .../ruins/spaceruin_code/TheDerelict.html | 35 + .../ruins/spaceruin_code/anomalyresearch.html | 28 + .../ruins/spaceruin_code/asteroid4.html | 27 + .../ruins/spaceruin_code/atmos_asteroid.html | 33 + .../ruins/spaceruin_code/bigderelict1.html | 27 + .../ruins/spaceruin_code/clericsden.html | 27 + .../spaceruin_code/crashedclownship.html | 27 + .../spaceruin_code/cyborgmothership.html | 27 + .../spaceruin_code/dangerous_research.html | 30 + .../ruins/spaceruin_code/deepstorage.html | 27 + .../ruins/spaceruin_code/derelict_sulaco.html | 27 + .../ruins/spaceruin_code/forgottenship.html | 31 + .../ruins/spaceruin_code/interdyne.html | 27 + .../spaceruin_code/listeningstation.html | 27 + .../ruins/spaceruin_code/meateor.html | 31 + .../oldstation/oldstation_fluff.html | 28 + .../oldstation/oldstation_rnd.html | 27 + .../ruins/spaceruin_code/originalcontent.html | 27 + .../ruins/spaceruin_code/spacehotel.html | 27 + .../ruins/spaceruin_code/the_Outlet.html | 27 + .../ruins/spaceruin_code/waystation.html | 30 + .../spaceruin_code/whiteshipruin_box.html | 27 + code/modules/mapping.html | 79 + code/modules/mapping/mapping_helpers.html | 37 + code/modules/mapping/modular_map_loader.html | 115 + code/modules/mapping/preloader.html | 31 + code/modules/mapping/reader.html | 82 + code/modules/mapping/verify.html | 27 + code/modules/meteors/meteor_dark_matteor.html | 27 + code/modules/meteors/meteor_spawning.html | 28 + code/modules/mining/aux_base.html | 32 + .../mining/equipment/explorer_gear.html | 27 + .../mining/equipment/kheiral_cuffs.html | 28 + .../mining/equipment/kinetic_crusher.html | 27 + .../mining/equipment/lazarus_injector.html | 27 + .../mining/equipment/mineral_scanner.html | 27 + .../mining/equipment/mining_tools.html | 27 + .../modules/mining/equipment/miningradio.html | 27 + .../monster_organs/brimdust_sac.html | 52 + .../monster_organs/monster_organ.html | 32 + .../monster_organs/regenerative_core.html | 30 + .../equipment/monster_organs/rush_gland.html | 39 + code/modules/mining/equipment/resonator.html | 27 + .../mining/equipment/survival_pod.html | 27 + .../mining/equipment/wormhole_jaunter.html | 27 + .../mining/laborcamp/laborstacker.html | 29 + code/modules/mining/lavaland/ash_flora.html | 29 + code/modules/mining/machine_processing.html | 34 + code/modules/mining/machine_redemption.html | 27 + code/modules/mining/machine_stacking.html | 28 + code/modules/mining/machine_unloading.html | 27 + code/modules/mining/mine_items.html | 30 + code/modules/mining/money_bag.html | 27 + code/modules/mining/ores_coins.html | 29 + code/modules/mining/satchel_ore_boxdm.html | 27 + code/modules/mining/voucher_sets.html | 27 + .../mob/dead/new_player/new_player.html | 32 + code/modules/mob/emote.html | 57 + code/modules/mob/living/basic/basic.html | 27 + .../living/basic/blob_minions/blob_ai.html | 30 + .../living/basic/blob_minions/blob_mob.html | 27 + .../living/basic/blob_minions/blob_spore.html | 29 + .../basic/blob_minions/blob_zombie.html | 28 + .../basic/blob_minions/blobbernaut.html | 29 + .../modules/mob/living/basic/bots/bot_ai.html | 27 + .../modules/mob/living/basic/clown/clown.html | 29 + .../basic/cult/constructs/_construct.html | 27 + .../basic/cult/constructs/artificer.html | 27 + .../basic/cult/constructs/construct_ai.html | 31 + .../basic/cult/constructs/juggernaut.html | 27 + .../living/basic/cult/constructs/proteon.html | 28 + .../living/basic/cult/constructs/wraith.html | 27 + .../mob/living/basic/drone/_drone.html | 27 + .../mob/living/basic/drone/drone_say.html | 28 + .../living/basic/drone/drones_as_items.html | 27 + .../living/basic/drone/extra_drone_types.html | 33 + .../living/basic/farm_animals/bee/_bee.html | 57 + .../farm_animals/bee/bee_ai_behavior.html | 34 + .../basic/farm_animals/chicken/chick.html | 28 + .../basic/farm_animals/cow/cow_moonicorn.html | 29 + .../basic/farm_animals/cow/cow_wisdom.html | 27 + .../mob/living/basic/farm_animals/deer.html | 27 + .../living/basic/farm_animals/goat/_goat.html | 27 + .../basic/farm_animals/goat/goat_ai.html | 27 + .../basic/farm_animals/gorilla/gorilla.html | 37 + .../gorilla/gorilla_accessories.html | 27 + .../farm_animals/gorilla/gorilla_ai.html | 27 + .../mob/living/basic/farm_animals/rabbit.html | 29 + .../mob/living/basic/guardian/guardian.html | 28 + .../basic/guardian/guardian_creator.html | 31 + .../living/basic/guardian/guardian_fluff.html | 31 + .../guardian/guardian_types/assassin.html | 28 + .../guardian/guardian_types/charger.html | 28 + .../guardian/guardian_types/dextrous.html | 27 + .../guardian/guardian_types/explosive.html | 28 + .../guardian/guardian_types/gaseous.html | 28 + .../guardian_types/gravitokinetic.html | 27 + .../guardian/guardian_types/lightning.html | 28 + .../guardian/guardian_types/protector.html | 29 + .../basic/guardian/guardian_types/ranged.html | 31 + .../guardian/guardian_types/standard.html | 28 + .../guardian/guardian_types/support.html | 29 + .../living/basic/guardian/guardian_verbs.html | 29 + .../mob/living/basic/heretic/ash_spirit.html | 27 + .../living/basic/heretic/flesh_stalker.html | 28 + .../mob/living/basic/heretic/flesh_worm.html | 33 + .../basic/heretic/maid_in_the_mirror.html | 27 + .../mob/living/basic/heretic/raw_prophet.html | 32 + .../mob/living/basic/heretic/rust_walker.html | 31 + .../basic/icemoon/ice_demon/ice_demon.html | 27 + .../ice_whelp/ice_whelp_abilities.html | 28 + .../basic/icemoon/ice_whelp/ice_whelp_ai.html | 28 + .../living/basic/jungle/leaper/leaper_ai.html | 27 + .../mega_arachnid/mega_arachnid_ai.html | 29 + .../basic/jungle/seedling/seedling.html | 28 + .../basic/jungle/seedling/seedling_ai.html | 27 + .../living/basic/jungle/venus_human_trap.html | 28 + .../basic/lavaland/basilisk/basilisk.html | 27 + .../lavaland/basilisk/basilisk_overheat.html | 28 + .../basic/lavaland/brimdemon/brimbeam.html | 28 + .../basic/lavaland/brimdemon/brimdemon.html | 28 + .../lavaland/brimdemon/brimdemon_ai.html | 27 + .../lavaland/brimdemon/brimdemon_loot.html | 29 + .../basic/lavaland/goldgrub/goldgrub_ai.html | 29 + .../basic/lavaland/goliath/goliath.html | 30 + .../lavaland/goliath/goliath_actions.html | 30 + .../basic/lavaland/goliath/goliath_ai.html | 35 + .../lavaland/goliath/goliath_trophy.html | 27 + .../basic/lavaland/goliath/tentacle.html | 28 + .../lavaland/gutlunchers/gutlunchers_ai.html | 28 + .../gutlunchers_inherit_datum.html | 27 + .../basic/lavaland/hivelord/hivelord.html | 28 + .../basic/lavaland/hivelord/hivelord_ai.html | 27 + .../hivelord/spawn_hivelord_brood.html | 28 + .../living/basic/lavaland/legion/legion.html | 32 + .../basic/lavaland/legion/legion_ai.html | 31 + .../basic/lavaland/legion/legion_brood.html | 28 + .../basic/lavaland/legion/legion_tumour.html | 27 + .../basic/lavaland/legion/spawn_legions.html | 30 + .../lavaland/lobstrosity/lobstrosity.html | 29 + .../lavaland/lobstrosity/lobstrosity_ai.html | 42 + .../lobstrosity/lobstrosity_trophy.html | 27 + .../mob/living/basic/lavaland/mining.html | 27 + .../living/basic/lavaland/mook/mook_ai.html | 37 + .../basic/lavaland/mook/mook_village.html | 27 + .../basic/lavaland/watcher/watcher.html | 29 + .../basic/lavaland/watcher/watcher_gaze.html | 29 + .../lavaland/watcher/watcher_overwatch.html | 30 + .../lavaland/watcher/watcher_projectiles.html | 29 + .../mob/living/basic/minebots/minebot_ai.html | 29 + .../mob/living/basic/pets/dog/_dog.html | 27 + .../mob/living/basic/pets/parrot/_parrot.html | 27 + .../parrot_ai/ghost_parrot_controller.html | 28 + .../parrot/parrot_ai/parrot_hoarding.html | 27 + .../parrot/parrot_ai/parrot_perching.html | 28 + .../parrot/parrot_ai/parroting_action.html | 27 + .../basic/pets/parrot/parrot_subtypes.html | 27 + .../mob/living/basic/pets/parrot/poly.html | 58 + code/modules/mob/living/basic/pets/sloth.html | 27 + .../living/basic/ruin_defender/skeleton.html | 27 + .../basic/ruin_defender/wizard/wizard.html | 27 + .../basic/ruin_defender/wizard/wizard_ai.html | 28 + .../ruin_defender/wizard/wizard_spells.html | 28 + .../living/basic/space_fauna/carp/carp.html | 42 + .../space_fauna/carp/carp_abilities.html | 34 + .../space_fauna/carp/carp_ai_actions.html | 33 + .../space_fauna/carp/carp_ai_migration.html | 39 + .../carp/carp_ai_rift_actions.html | 35 + .../space_fauna/carp/carp_controllers.html | 34 + .../basic/space_fauna/carp/magicarp.html | 33 + .../basic/space_fauna/carp/megacarp.html | 27 + .../living/basic/space_fauna/cat_surgeon.html | 27 + .../space_fauna/changeling/flesh_spider.html | 29 + .../space_fauna/changeling/headslug.html | 30 + .../living/basic/space_fauna/demon/demon.html | 27 + .../basic/space_fauna/demon/demon_items.html | 27 + .../space_fauna/demon/demon_subtypes.html | 28 + .../mob/living/basic/space_fauna/ghost.html | 27 + .../space_fauna/hivebot/hivebot_behavior.html | 27 + .../living/basic/space_fauna/lightgeist.html | 28 + .../meteor_heart/chasing_spikes.html | 29 + .../meteor_heart/meteor_eyeball.html | 27 + .../meteor_heart/meteor_heart.html | 27 + .../meteor_heart/meteor_heart_ai.html | 28 + .../space_fauna/meteor_heart/spine_traps.html | 27 + .../mob/living/basic/space_fauna/morph.html | 29 + .../space_fauna/netherworld/creature.html | 27 + .../space_fauna/regal_rat/regal_rat.html | 28 + .../regal_rat/regal_rat_actions.html | 30 + .../basic/space_fauna/revenant/_revenant.html | 35 + .../revenant/revenant_effects.html | 27 + .../basic/space_fauna/robot_customer.html | 27 + .../living/basic/space_fauna/snake/snake.html | 27 + .../space_dragon/dragon_breath.html | 28 + .../space_fauna/space_dragon/dragon_gust.html | 33 + .../space_dragon/space_dragon.html | 41 + .../spider/giant_spider/giant_spider_ai.html | 30 + .../giant_spider/giant_spider_subtrees.html | 30 + .../spider/giant_spider/giant_spiders.html | 48 + .../basic/space_fauna/spider/spider.html | 29 + .../spider/spider_abilities/hivemind.html | 31 + .../spider/spider_abilities/web.html | 30 + .../spider/spiderlings/spiderling.html | 29 + .../spiderlings/spiderling_subtypes.html | 38 + .../spider/young_spider/young_spider.html | 30 + .../young_spider/young_spider_subtypes.html | 37 + .../basic/space_fauna/supermatter_spider.html | 27 + .../wumborian_fugu/fugu_gland.html | 27 + .../space_fauna/wumborian_fugu/inflation.html | 30 + .../wumborian_fugu/wumborian_ai.html | 27 + .../wumborian_fugu/wumborian_fugu.html | 29 + .../mob/living/basic/trader/trader_ai.html | 29 + .../mob/living/basic/trader/trader_data.html | 27 + .../mob/living/basic/trader/trader_items.html | 28 + .../mob/living/basic/trooper/abductor.html | 27 + .../mob/living/basic/trooper/nanotrasen.html | 29 + .../mob/living/basic/trooper/pirate.html | 27 + .../mob/living/basic/trooper/russian.html | 27 + .../mob/living/basic/trooper/syndicate.html | 29 + .../modules/mob/living/basic/vermin/crab.html | 27 + .../mob/living/basic/vermin/lizard.html | 29 + .../mob/living/basic/vermin/mouse.html | 30 + .../mob/living/basic/vermin/space_bat.html | 27 + .../mob/living/carbon/alien/organs.html | 27 + .../mob/living/carbon/carbon_defense.html | 27 + .../mob/living/carbon/carbon_stripping.html | 27 + .../living/carbon/carbon_update_icons.html | 32 + .../mob/living/carbon/human/_species.html | 31 + .../mob/living/carbon/human/dummy.html | 31 + .../mob/living/carbon/human/emote.html | 27 + .../living/carbon/human/human_defines.html | 27 + .../living/carbon/human/human_suicide.html | 34 + .../human/species_types/abominations.html | 27 + .../carbon/human/species_types/golems.html | 27 + .../human/species_types/jellypeople.html | 45 + .../carbon/human/species_types/monkeys.html | 27 + .../human/species_types/shadowpeople.html | 27 + .../carbon/human/species_types/vampire.html | 37 + code/modules/mob/living/emote.html | 37 + code/modules/mob/living/life.html | 32 + code/modules/mob/living/living.html | 27 + code/modules/mob/living/living_fov.html | 28 + .../mob/living/silicon/ai/_preferences.html | 29 + .../living/silicon/ai/ai_portrait_picker.html | 27 + .../mob/living/silicon/ai/freelook.html | 76 + .../living/silicon/robot/robot_defines.html | 27 + .../mob/living/silicon/robot/robot_model.html | 29 + .../mob/living/silicon/silicon_movement.html | 32 + .../simple_animal/bot/bot_announcement.html | 27 + .../mob/living/simple_animal/bot/vibebot.html | 27 + .../simple_animal/hostile/illusion.html | 27 + .../hostile/megafauna/colossus.html | 35 + .../hostile/megafauna/drake.html | 32 + .../hostile/megafauna/legion.html | 46 + .../elites/goliath_broodmother.html | 29 + .../hostile/mining_mobs/elites/herald.html | 29 + .../mining_mobs/elites/legionnaire.html | 29 + .../hostile/mining_mobs/elites/pandora.html | 29 + .../living/simple_animal/hostile/ooze.html | 35 + .../simple_animal/hostile/vatbeast.html | 29 + .../living/simple_animal/simple_animal.html | 27 + .../mob/living/simple_animal/slime/slime.html | 27 + code/modules/mob/mob_defines.html | 27 + code/modules/mob/mob_helpers.html | 59 + code/modules/mob/mob_say.html | 32 + code/modules/mob/say_readme.html | 188 + code/modules/mob/transform_procs.html | 37 + .../mob_spawn/corpses/mining_corpses.html | 31 + .../mob_spawn/corpses/mob_corpses.html | 27 + .../mob_spawn/corpses/nonhuman_corpses.html | 31 + .../mob_spawn/ghost_roles/mining_roles.html | 27 + .../mob_spawn/ghost_roles/space_roles.html | 28 + .../ghost_roles/venus_human_trap.html | 27 + code/modules/mob_spawn/mob_spawn.html | 28 + code/modules/mod/adding_new_mod.html | 299 + code/modules/mod/mod_control.html | 27 + code/modules/mod/mod_link.html | 28 + code/modules/mod/mod_theme.html | 29 + code/modules/mod/modules/_module.html | 28 + code/modules/mod/modules/module_kinesis.html | 28 + .../mod/modules/module_pathfinder.html | 27 + code/modules/mod/modules/modules_antag.html | 36 + .../mod/modules/modules_engineering.html | 34 + code/modules/mod/modules/modules_general.html | 49 + code/modules/mod/modules/modules_maint.html | 33 + code/modules/mod/modules/modules_medical.html | 34 + code/modules/mod/modules/modules_ninja.html | 33 + code/modules/mod/modules/modules_science.html | 29 + .../modules/mod/modules/modules_security.html | 38 + code/modules/mod/modules/modules_service.html | 28 + code/modules/mod/modules/modules_supply.html | 30 + .../modules/mod/modules/modules_timeline.html | 43 + code/modules/mod/modules/modules_visor.html | 27 + .../computers/item/computer.html | 28 + .../computers/item/computer_power.html | 32 + .../item/disks/maintenance_disks.html | 29 + .../computers/item/disks/role_disks.html | 32 + .../computers/item/disks/virus_disk.html | 38 + .../modular_computers/computers/item/pda.html | 28 + .../computers/item/role_tablet_presets.html | 35 + .../modular_computers/file_system/data.html | 43 + .../file_system/picture_file.html | 28 + .../file_system/program.html | 32 + .../file_system/programs/atmosscan.html | 37 + .../file_system/programs/emojipedia.html | 27 + .../maintenance/_maintenance_program.html | 27 + .../programs/messenger/messenger_data.html | 39 + .../programs/messenger/messenger_program.html | 43 + .../programs/portrait_printer.html | 33 + .../file_system/programs/powermonitor.html | 27 + .../file_system/programs/radar.html | 29 + .../file_system/programs/secureye.html | 27 + .../movespeed/_movespeed_modifier.html | 57 + .../movespeed/modifiers/status_effects.html | 27 + code/modules/pai/candidate.html | 27 + code/modules/paperwork/clipboard.html | 27 + code/modules/paperwork/fax.html | 29 + code/modules/paperwork/paper.html | 31 + code/modules/paperwork/paper_premade.html | 31 + code/modules/paperwork/paperwork.html | 27 + code/modules/paperwork/photocopier.html | 113 + code/modules/photography/photos/frame.html | 27 + .../plumbing/plumbers/_plumb_machinery.html | 33 + .../modules/plumbing/plumbers/acclimator.html | 33 + code/modules/plumbing/plumbers/destroyer.html | 32 + code/modules/plumbing/plumbers/filter.html | 27 + code/modules/plumbing/plumbers/iv_drip.html | 27 + .../modules/plumbing/plumbers/pill_press.html | 43 + code/modules/plumbing/plumbers/pumps.html | 27 + .../plumbing/plumbers/reaction_chamber.html | 35 + code/modules/plumbing/plumbers/splitters.html | 27 + .../plumbing/plumbers/synthesizer.html | 27 + .../modules/plumbing/plumbers/teleporter.html | 28 + code/modules/plumbing/plumbers/vatgrower.html | 27 + code/modules/power/apc/apc_mapping.html | 27 + code/modules/power/cable.html | 27 + code/modules/power/cell.html | 27 + code/modules/power/energy_accumulator.html | 48 + code/modules/power/gravitygenerator.html | 30 + code/modules/power/power.html | 30 + code/modules/power/singularity/boh_tear.html | 36 + .../singularity/dark_matter_singularity.html | 27 + code/modules/power/singularity/narsie.html | 45 + .../power/singularity/singularity.html | 28 + .../supermatter_delamination/_sm_delam.html | 28 + .../common_delams.html | 29 + .../power/supermatter/supermatter_gas.html | 32 + .../supermatter/supermatter_variants.html | 31 + code/modules/power/tesla/energy_ball.html | 27 + code/modules/procedural_mapping.html | 166 + .../procedural_mapping/mapGenerator.html | 28 + .../projectiles/ammunition/energy/laser.html | 27 + code/modules/projectiles/guns/ballistic.html | 28 + .../projectiles/guns/ballistic/automatic.html | 30 + .../guns/ballistic/bows/bow_arrows.html | 32 + .../guns/ballistic/bows/bow_types.html | 28 + .../projectiles/guns/ballistic/pistol.html | 28 + .../projectiles/guns/ballistic/rifle.html | 27 + .../guns/bolt_types_explained.html | 43 + .../projectiles/guns/energy/laser.html | 29 + .../projectiles/guns/energy/recharge.html | 27 + .../modules/projectiles/guns/magic/staff.html | 29 + .../projectiles/guns/special/blastcannon.html | 39 + .../projectiles/guns/special/meat_hook.html | 36 + .../projectiles/guns/special/medbeam.html | 27 + code/modules/projectiles/projectile.html | 28 + .../projectile/bullets/_incendiary.html | 34 + .../projectile/bullets/special.html | 28 + .../modules/projectiles/projectile/magic.html | 27 + .../projectile/special/rocket.html | 34 + code/modules/reagents/chem_splash.html | 35 + .../reagents/chemistry/chem_wiki_render.html | 29 + .../reagents/chemistry/fermi_readme.html | 190 + .../reagents/chemistry/holder/holder.html | 28 + code/modules/reagents/chemistry/items.html | 37 + .../chemistry/machinery/chem_heater.html | 32 + .../chemistry/machinery/chem_master.html | 28 + .../chemistry/machinery/smoke_machine.html | 28 + code/modules/reagents/chemistry/reagents.html | 30 + .../reagents/cat2_medicine_reagents.html | 37 + .../chemistry/reagents/catalyst_reagents.html | 29 + .../chemistry/reagents/drug_reagents.html | 27 + .../chemistry/reagents/food_reagents.html | 28 + .../impure_medicine_reagents.html | 32 + .../impure_toxin_reagents.html | 27 + .../chemistry/reagents/other_reagents.html | 58 + .../reagents/reaction_agents_reagents.html | 32 + .../chemistry/reagents/toxin_reagents.html | 27 + code/modules/reagents/chemistry/recipes.html | 29 + .../chemistry/recipes/cat2_medicines.html | 30 + .../reagents/chemistry/recipes/catalysts.html | 27 + .../reagents/chemistry/recipes/medicine.html | 27 + .../reagents/chemistry/recipes/others.html | 32 + .../chemistry/recipes/pyrotechnics.html | 28 + .../chemistry/recipes/reaction_agents.html | 27 + .../chemistry/recipes/slime_extracts.html | 27 + .../reagents/chemistry/recipes/special.html | 29 + .../reagent_containers/condiment.html | 27 + .../reagent_containers/cups/_cup.html | 27 + .../reagent_containers/cups/_glass_datum.html | 29 + .../reagent_containers/cups/drinks.html | 29 + .../reagent_containers/cups/glassbottle.html | 36 + .../reagent_containers/cups/soda.html | 39 + .../reagents/reagent_containers/pill.html | 30 + .../reagents/reagent_containers/spray.html | 27 + code/modules/reagents/reagent_dispenser.html | 27 + .../reagents/withdrawal/_addiction.html | 27 + .../withdrawal/generic_addictions.html | 31 + code/modules/recycling/conveyor.html | 47 + code/modules/recycling/disposal/multiz.html | 38 + code/modules/recycling/disposal/outlet.html | 47 + code/modules/recycling/sortingmachinery.html | 28 + .../religion/burdened/burdened_trauma.html | 27 + code/modules/religion/burdened/psyker.html | 27 + .../religion/festival/instrument_rites.html | 27 + .../religion/honorbound/honorbound_rites.html | 34 + .../honorbound/honorbound_trauma.html | 33 + code/modules/religion/religion_sects.html | 30 + code/modules/religion/rites.html | 31 + .../religion/sparring/ceremonial_gear.html | 27 + code/modules/requests/request.html | 27 + code/modules/requests/request_manager.html | 59 + .../research/anomaly/anomaly_refinery.html | 33 + .../modules/research/anomaly/raw_anomaly.html | 27 + code/modules/research/designs.html | 30 + .../research/designs/AI_module_designs.html | 27 + .../designs/biogenerator_designs.html | 27 + .../research/designs/bluespace_designs.html | 27 + .../research/designs/comp_board_designs.html | 27 + .../designs/computer_part_designs.html | 27 + .../research/designs/electronics_designs.html | 28 + .../research/designs/limbgrower_designs.html | 28 + .../research/designs/machine_designs.html | 27 + .../research/designs/mecha_designs.html | 28 + .../designs/mechfabricator_designs.html | 27 + .../research/designs/medical_designs.html | 30 + .../research/designs/mining_designs.html | 27 + .../research/designs/power_designs.html | 27 + .../research/designs/smelting_designs.html | 27 + .../research/designs/stock_parts_designs.html | 27 + .../research/designs/telecomms_designs.html | 27 + .../research/designs/tool_designs.html | 29 + .../research/designs/weapon_designs.html | 27 + .../research/destructive_analyzer.html | 38 + code/modules/research/experimentor.html | 27 + .../research/machinery/protolathe.html | 27 + code/modules/research/ordnance/_scipaper.html | 28 + .../research/ordnance/tank_compressor.html | 27 + code/modules/research/server.html | 53 + code/modules/research/stock_parts.html | 27 + .../stock_parts/stock_part_datum.html | 33 + .../research/techweb/__techweb_helpers.html | 28 + code/modules/research/techweb/_techweb.html | 27 + .../research/techweb/_techweb_node.html | 27 + code/modules/research/techweb/all_nodes.html | 43 + .../research/techweb/techweb_types.html | 33 + .../crossbreeding/__corecross.html | 27 + .../xenobiology/crossbreeding/_mobs.html | 28 + .../crossbreeding/_status_effects.html | 36 + .../xenobiology/vatgrowing/biopsy_tool.html | 27 + .../xenobiology/vatgrowing/petri_dish.html | 28 + .../vatgrowing/samples/_micro_organism.html | 28 + .../vatgrowing/samples/_sample.html | 27 + .../vatgrowing/samples/cell_lines/common.html | 29 + .../vatgrowing/samples/viruses/_virus.html | 27 + .../research/xenobiology/vatgrowing/swab.html | 27 + .../research/xenobiology/xenobio_camera.html | 27 + .../research/xenobiology/xenobiology.html | 30 + .../security_level_datums.html | 31 + .../shuttle/battlecruiser_starfury.html | 27 + code/modules/shuttle/infiltrator.html | 27 + code/modules/shuttle/medisim.html | 27 + code/modules/shuttle/shuttle.html | 30 + .../shuttle_events/_shuttle_events.html | 28 + code/modules/shuttle/shuttle_events/carp.html | 30 + .../shuttle/shuttle_events/meteors.html | 28 + code/modules/shuttle/shuttle_events/misc.html | 31 + .../shuttle_events/player_controlled.html | 29 + code/modules/shuttle/special.html | 28 + code/modules/shuttle/supply.html | 37 + code/modules/shuttle/white_ship.html | 27 + code/modules/spatial_grid/cell_tracker.html | 27 + code/modules/spells/spell.html | 29 + .../spell_types/aoe_spell/_aoe_spell.html | 27 + .../spells/spell_types/charged/_charged.html | 28 + .../spells/spell_types/cone/_cone.html | 28 + .../spells/spell_types/conjure/_conjure.html | 27 + .../spells/spell_types/jaunt/_jaunt.html | 27 + .../spells/spell_types/jaunt/bloodcrawl.html | 32 + .../spell_types/jaunt/ethereal_jaunt.html | 27 + .../spell_types/list_target/_list_target.html | 27 + .../spells/spell_types/pointed/_pointed.html | 28 + .../projectile/_basic_projectile.html | 27 + .../spells/spell_types/right_and_wrong.html | 41 + .../spells/spell_types/self/mutate.html | 27 + .../spells/spell_types/self/rod_form.html | 33 + .../spell_types/self/sanguine_strike.html | 32 + .../spells/spell_types/self/smoke.html | 29 + .../spells/spell_types/self/soultap.html | 27 + .../spells/spell_types/self/stop_time.html | 27 + .../spell_types/shapeshift/_shapeshift.html | 34 + .../spell_types/teleport/_teleport.html | 29 + .../spells/spell_types/teleport/teleport.html | 28 + .../spells/spell_types/touch/_touch.html | 28 + .../spell_types/touch/scream_for_me.html | 27 + .../spells/spell_types/tower_of_babel.html | 28 + .../modules/station_goals/generate_goals.html | 28 + code/modules/station_goals/meteor_shield.html | 52 + code/modules/surgery/bodyparts/parts.html | 28 + .../species_parts/android_parts.html | 29 + .../species_parts/misc_bodyparts.html | 39 + .../bodyparts/worn_feature_offset.html | 28 + code/modules/surgery/bone_mending.html | 32 + code/modules/surgery/burn_dressing.html | 30 + .../surgery/experimental_dissection.html | 32 + code/modules/surgery/gastrectomy.html | 27 + code/modules/surgery/healing.html | 29 + code/modules/surgery/hepatectomy.html | 27 + code/modules/surgery/limb_augmentation.html | 27 + code/modules/surgery/organ_manipulation.html | 31 + .../organs/external/_external_organ.html | 36 + .../surgery/organs/external/spines.html | 28 + .../surgery/organs/external/tails.html | 31 + .../external/wings/functional_wings.html | 37 + .../organs/external/wings/moth_wings.html | 28 + .../surgery/organs/external/wings/wings.html | 28 + .../internal/appendix/appendix_golem.html | 27 + .../surgery/organs/internal/eyes/_eyes.html | 28 + .../organs/internal/liver/liver_golem.html | 29 + .../internal/liver/liver_plasmaman.html | 28 + .../organs/internal/liver/liver_skeleton.html | 29 + .../internal/stomach/stomach_golem.html | 27 + code/modules/surgery/plastic_surgery.html | 27 + code/modules/surgery/repair_puncture.html | 35 + code/modules/surgery/revival.html | 27 + code/modules/surgery/surgery_step.html | 37 + code/modules/tgchat.html | 46 + code/modules/tgchat/message.html | 28 + code/modules/tgchat/to_chat.html | 33 + code/modules/tgs.html | 40 + code/modules/tgs/core.html | 34 + code/modules/tgs/v3210.html | 31 + code/modules/tgs/v4.html | 31 + code/modules/tgs/v5.html | 38 + code/modules/tgui/external.html | 31 + code/modules/tgui/states.html | 30 + code/modules/tgui/states/admin.html | 28 + code/modules/tgui/states/always.html | 28 + code/modules/tgui/states/conscious.html | 28 + code/modules/tgui/states/contained.html | 28 + code/modules/tgui/states/deep_inventory.html | 28 + code/modules/tgui/states/default.html | 28 + code/modules/tgui/states/fun.html | 28 + code/modules/tgui/states/hands.html | 28 + code/modules/tgui/states/human_adjacent.html | 28 + code/modules/tgui/states/inventory.html | 28 + code/modules/tgui/states/language_menu.html | 28 + code/modules/tgui/states/never.html | 28 + .../tgui/states/not_incapacitated.html | 28 + code/modules/tgui/states/notcontained.html | 28 + code/modules/tgui/states/observer.html | 28 + code/modules/tgui/states/physical.html | 28 + .../tgui/states/reverse_contained.html | 27 + code/modules/tgui/states/self.html | 28 + code/modules/tgui/states/zlevel.html | 28 + code/modules/tgui/status_composers.html | 56 + code/modules/tgui/tgui.html | 29 + code/modules/tgui/tgui_window.html | 28 + code/modules/tgui_input/alert.html | 30 + code/modules/tgui_input/checkboxes.html | 29 + code/modules/tgui_input/list.html | 29 + code/modules/tgui_input/number.html | 30 + code/modules/tgui_input/say_modal/modal.html | 29 + code/modules/tgui_input/say_modal/typing.html | 27 + code/modules/tgui_input/text.html | 29 + code/modules/tgui_panel/audio.html | 28 + code/modules/tgui_panel/external.html | 28 + code/modules/tgui_panel/telemetry.html | 41 + code/modules/tgui_panel/tgui_panel.html | 30 + .../transport/elevator/elev_indicator.html | 27 + .../transport/elevator/elev_music_zone.html | 27 + .../transport/elevator/elev_panel.html | 28 + code/modules/transport/linear_controller.html | 28 + .../transport/tram/tram_controller.html | 28 + code/modules/transport/tram/tram_signals.html | 28 + code/modules/transport/transport_module.html | 28 + .../transport/transport_navigation.html | 29 + code/modules/tutorials/_tutorial.html | 29 + code/modules/tutorials/tutorials/drop.html | 28 + .../tutorials/tutorials/switch_hands.html | 28 + code/modules/unit_tests.html | 74 + code/modules/unit_tests/_unit_tests.html | 134 + .../unit_tests/abductor_baton_spell.html | 27 + code/modules/unit_tests/ablative_hud.html | 27 + code/modules/unit_tests/achievements.html | 27 + code/modules/unit_tests/anonymous_themes.html | 27 + code/modules/unit_tests/antag_conversion.html | 28 + code/modules/unit_tests/area_contents.html | 28 + .../unit_tests/armor_verification.html | 27 + .../unit_tests/atmospherics_sanity.html | 27 + code/modules/unit_tests/autowiki.html | 28 + code/modules/unit_tests/barsigns.html | 29 + code/modules/unit_tests/baseturfs.html | 29 + code/modules/unit_tests/bitrunning.html | 27 + code/modules/unit_tests/blindness.html | 29 + .../modules/unit_tests/bloody_footprints.html | 28 + code/modules/unit_tests/breath.html | 32 + code/modules/unit_tests/burning.html | 27 + code/modules/unit_tests/cable_powernets.html | 27 + .../modules/unit_tests/cardboard_cutouts.html | 27 + code/modules/unit_tests/changeling.html | 27 + code/modules/unit_tests/chat_filter.html | 27 + .../circuit_component_category.html | 27 + code/modules/unit_tests/client_colours.html | 27 + code/modules/unit_tests/closets.html | 28 + .../clothing_under_armor_subtype_check.html | 27 + code/modules/unit_tests/combat.html | 29 + code/modules/unit_tests/connect_loc.html | 29 + code/modules/unit_tests/container_sanity.html | 28 + code/modules/unit_tests/crayons.html | 27 + .../unit_tests/create_and_destroy.html | 27 + .../unit_tests/dcs_check_list_arguments.html | 29 + .../unit_tests/dcs_get_id_from_elements.html | 28 + code/modules/unit_tests/door_access.html | 27 + .../modules/unit_tests/dragon_expiration.html | 28 + code/modules/unit_tests/drink_icons.html | 29 + code/modules/unit_tests/dummy_spawn.html | 30 + .../unit_tests/dynamic_ruleset_sanity.html | 28 + code/modules/unit_tests/egg_glands.html | 27 + .../ensure_subtree_operational_datum.html | 39 + code/modules/unit_tests/explosion_action.html | 27 + code/modules/unit_tests/fish_unit_tests.html | 33 + code/modules/unit_tests/focus_only_tests.html | 45 + .../unit_tests/font_awesome_icons.html | 27 + .../unit_tests/food_edibility_check.html | 27 + code/modules/unit_tests/full_heal.html | 29 + code/modules/unit_tests/gas_transfer.html | 27 + code/modules/unit_tests/get_turf_pixel.html | 28 + code/modules/unit_tests/geyser.html | 32 + code/modules/unit_tests/greyscale_config.html | 28 + .../unit_tests/hallucination_icons.html | 31 + code/modules/unit_tests/high_five.html | 27 + code/modules/unit_tests/hulk.html | 28 + .../unit_tests/human_through_recycler.html | 27 + code/modules/unit_tests/hunger_curse.html | 28 + .../hydroponics_extractor_storage.html | 28 + .../hydroponics_self_mutations.html | 27 + .../hydroponics_validate_genes.html | 27 + code/modules/unit_tests/inhands.html | 27 + .../unit_tests/json_savefile_importing.html | 28 + .../unit_tests/knockoff_component.html | 28 + .../modules/unit_tests/language_transfer.html | 34 + code/modules/unit_tests/leash.html | 30 + code/modules/unit_tests/lesserform.html | 27 + code/modules/unit_tests/limbsanity.html | 28 + code/modules/unit_tests/ling_decap.html | 28 + .../modules/unit_tests/load_map_security.html | 27 + code/modules/unit_tests/lungs.html | 31 + code/modules/unit_tests/mafia.html | 30 + code/modules/unit_tests/map_landmarks.html | 27 + .../mapload_space_verification.html | 28 + code/modules/unit_tests/mapping.html | 27 + code/modules/unit_tests/mecha_damage.html | 28 + .../modules/unit_tests/mindbound_actions.html | 28 + code/modules/unit_tests/missing_icons.html | 27 + code/modules/unit_tests/mob_chains.html | 27 + code/modules/unit_tests/mob_damage.html | 28 + code/modules/unit_tests/mob_faction.html | 27 + code/modules/unit_tests/mob_spawn.html | 28 + code/modules/unit_tests/modsuit.html | 27 + code/modules/unit_tests/monkey_business.html | 27 + code/modules/unit_tests/mouse_bite_cable.html | 30 + .../unit_tests/mutant_hands_consistency.html | 29 + code/modules/unit_tests/mutant_organs.html | 27 + code/modules/unit_tests/novaflower_burn.html | 27 + code/modules/unit_tests/nuke_cinematic.html | 28 + code/modules/unit_tests/operating_table.html | 29 + code/modules/unit_tests/orderable_items.html | 29 + .../unit_tests/organ_bodypart_shuffle.html | 27 + code/modules/unit_tests/organ_set_bonus.html | 31 + code/modules/unit_tests/organs.html | 34 + code/modules/unit_tests/outfit_sanity.html | 30 + .../unit_tests/oxyloss_suffocation.html | 27 + code/modules/unit_tests/paintings.html | 27 + .../unit_tests/plane_double_transform.html | 27 + .../unit_tests/plane_dupe_detector.html | 27 + .../unit_tests/preference_species.html | 29 + code/modules/unit_tests/preferences.html | 31 + code/modules/unit_tests/projectiles.html | 28 + code/modules/unit_tests/quirks.html | 27 + code/modules/unit_tests/range_return.html | 30 + .../reagent_container_defaults.html | 27 + code/modules/unit_tests/reagent_names.html | 27 + code/modules/unit_tests/reagent_transfer.html | 27 + .../unit_tests/required_map_items.html | 28 + code/modules/unit_tests/say.html | 30 + .../unit_tests/screenshot_antag_icons.html | 27 + code/modules/unit_tests/screenshot_basic.html | 28 + .../screenshot_dynamic_human_icons.html | 27 + .../screenshot_high_luminosity_eyes.html | 27 + .../unit_tests/screenshot_humanoids.html | 27 + code/modules/unit_tests/screenshot_husk.html | 27 + .../unit_tests/screenshot_saturnx.html | 27 + code/modules/unit_tests/screenshots.html | 39 + code/modules/unit_tests/security_levels.html | 27 + .../security_officer_distribution.html | 28 + .../unit_tests/simple_animal_freeze.html | 27 + code/modules/unit_tests/slime_mood.html | 27 + code/modules/unit_tests/slips.html | 27 + code/modules/unit_tests/spawn_humans.html | 27 + code/modules/unit_tests/spawn_mobs.html | 27 + .../unit_tests/species_change_clothing.html | 29 + .../unit_tests/species_change_organs.html | 29 + .../modules/unit_tests/species_unique_id.html | 28 + .../modules/unit_tests/spell_invocations.html | 28 + code/modules/unit_tests/spell_jaunt.html | 27 + code/modules/unit_tests/spell_mindswap.html | 28 + code/modules/unit_tests/spell_names.html | 27 + code/modules/unit_tests/spell_shapeshift.html | 30 + code/modules/unit_tests/spritesheets.html | 27 + .../unit_tests/stack_singular_name.html | 29 + .../unit_tests/station_trait_tests.html | 27 + .../unit_tests/status_effect_ticks.html | 27 + code/modules/unit_tests/strange_reagent.html | 27 + code/modules/unit_tests/stuns.html | 31 + code/modules/unit_tests/subsystem_init.html | 27 + .../unit_tests/suit_storage_icons.html | 27 + code/modules/unit_tests/surgeries.html | 27 + code/modules/unit_tests/tail_wag.html | 27 + .../unit_tests/tgui_create_message.html | 27 + .../trait_addition_and_removal.html | 27 + .../traitor_mail_content_check.html | 27 + code/modules/unit_tests/trauma_granting.html | 27 + code/modules/unit_tests/turf_icons.html | 27 + code/modules/unit_tests/tutorial_sanity.html | 27 + .../unit_tests/verify_config_tags.html | 27 + .../unit_tests/verify_emoji_names.html | 28 + code/modules/unit_tests/weird_food.html | 28 + code/modules/unit_tests/wizard_loadout.html | 27 + code/modules/unit_tests/worn_icons.html | 27 + code/modules/uplink/uplink_items.html | 30 + code/modules/vehicles/cars/speedwagon.html | 27 + code/modules/vehicles/cars/vim.html | 27 + code/modules/vehicles/mecha/_mecha.html | 27 + .../modules/vehicles/mecha/combat/durand.html | 32 + .../mecha/combat/savannah_ivanov.html | 45 + .../mecha/equipment/mecha_equipment.html | 28 + .../mecha/equipment/tools/air_tank.html | 27 + .../mecha/equipment/tools/medical_tools.html | 33 + .../mecha/equipment/tools/other_tools.html | 39 + .../vehicles/mecha/equipment/tools/radio.html | 27 + .../mecha/equipment/weapons/mecha_ammo.html | 29 + .../mecha/equipment/weapons/weapons.html | 31 + .../modules/vehicles/mecha/mecha_actions.html | 27 + .../mecha/mecha_construction_paths.html | 27 + code/modules/vehicles/mecha/mecha_damage.html | 36 + .../modules/vehicles/mecha/mecha_defense.html | 36 + .../vehicles/mecha/mecha_movement.html | 32 + code/modules/vehicles/mecha/mecha_parts.html | 35 + .../vehicles/mecha/mecha_wreckage.html | 27 + .../vehicles/mecha/working/clarke.html | 28 + code/modules/vehicles/pimpin_ride.html | 28 + code/modules/vehicles/vehicle_actions.html | 27 + code/modules/vehicles/wheelchair.html | 28 + code/modules/vending/_vending.html | 39 + code/modules/visuals/render_steps.html | 33 + .../wiremod/components/abstract/compare.html | 27 + .../wiremod/components/abstract/module.html | 27 + .../wiremod/components/abstract/variable.html | 27 + .../components/action/laserpointer.html | 27 + .../wiremod/components/action/light.html | 27 + .../wiremod/components/action/mmi.html | 27 + .../wiremod/components/action/pathfind.html | 27 + .../wiremod/components/action/pull.html | 27 + .../wiremod/components/action/radio.html | 27 + .../components/action/soundemitter.html | 27 + .../wiremod/components/action/speech.html | 27 + .../wiremod/components/admin/getvar.html | 27 + .../components/admin/input_request.html | 27 + .../wiremod/components/admin/proccall.html | 27 + .../wiremod/components/admin/save_shell.html | 27 + .../wiremod/components/admin/sdql.html | 27 + .../wiremod/components/admin/setvar.html | 27 + .../admin/signal_handler/signal_handler.html | 27 + .../wiremod/components/admin/spawn.html | 27 + .../wiremod/components/admin/to_type.html | 27 + .../wiremod/components/atom/direction.html | 27 + code/modules/wiremod/components/atom/gps.html | 27 + .../wiremod/components/atom/health.html | 27 + .../modules/wiremod/components/atom/hear.html | 27 + .../wiremod/components/atom/matscanner.html | 27 + .../wiremod/components/atom/pinpointer.html | 27 + .../components/atom/reagentscanner.html | 27 + .../modules/wiremod/components/atom/self.html | 27 + .../wiremod/components/atom/species.html | 27 + .../components/bci/hud/bar_overlay.html | 28 + .../components/bci/hud/counter_overlay.html | 28 + .../components/bci/hud/object_overlay.html | 34 + .../components/bci/hud/target_intercept.html | 28 + .../components/bci/install_detector.html | 28 + .../components/bci/reagent_injector.html | 28 + .../components/bci/thought_listener.html | 28 + code/modules/wiremod/components/bci/vox.html | 28 + .../components/list/assoc_list_pick.html | 28 + .../components/list/assoc_list_remove.html | 27 + .../components/list/assoc_list_set.html | 27 + .../components/list/assoc_literal.html | 27 + .../wiremod/components/list/concat.html | 27 + .../wiremod/components/list/filter.html | 27 + .../wiremod/components/list/foreach.html | 27 + .../wiremod/components/list/format.html | 31 + .../wiremod/components/list/index.html | 27 + .../wiremod/components/list/list_add.html | 27 + .../wiremod/components/list/list_clear.html | 27 + .../wiremod/components/list/list_find.html | 27 + .../wiremod/components/list/list_literal.html | 27 + .../wiremod/components/list/list_pick.html | 27 + .../wiremod/components/list/list_remove.html | 27 + .../wiremod/components/list/split.html | 27 + .../wiremod/components/math/arctan2.html | 27 + .../wiremod/components/math/arithmetic.html | 28 + .../components/math/binary_conversion.html | 27 + .../wiremod/components/math/comparison.html | 27 + .../components/math/decimal_conversion.html | 27 + .../wiremod/components/math/length.html | 27 + .../wiremod/components/math/logic.html | 27 + code/modules/wiremod/components/math/not.html | 27 + .../wiremod/components/math/random.html | 27 + .../wiremod/components/math/trigonometry.html | 28 + .../components/ntnet/ntnet_receive.html | 27 + .../wiremod/components/ntnet/ntnet_send.html | 27 + .../components/sensors/pressuresensor.html | 27 + .../components/sensors/tempsensor.html | 27 + .../components/sensors/view_sensor.html | 27 + .../wiremod/components/string/concat.html | 27 + .../wiremod/components/string/contains.html | 27 + .../wiremod/components/string/textcase.html | 27 + .../wiremod/components/string/tonumber.html | 27 + .../wiremod/components/string/tostring.html | 27 + .../wiremod/components/table/get_column.html | 27 + .../wiremod/components/table/index_table.html | 27 + .../wiremod/components/table/select.html | 27 + .../wiremod/components/utility/clock.html | 27 + .../wiremod/components/utility/delay.html | 33 + .../wiremod/components/utility/router.html | 27 + .../wiremod/components/utility/timepiece.html | 27 + .../wiremod/components/utility/typecast.html | 27 + .../wiremod/components/utility/typecheck.html | 27 + .../wiremod/components/variables/getter.html | 27 + .../wiremod/components/variables/setter.html | 27 + code/modules/wiremod/core/component.html | 27 + .../wiremod/core/component_printer.html | 28 + code/modules/wiremod/core/datatypes.html | 27 + .../wiremod/core/integrated_circuit.html | 27 + code/modules/wiremod/core/port.html | 29 + code/modules/wiremod/core/usb_cable.html | 27 + code/modules/wiremod/core/variable.html | 27 + .../datatypes/composite/composite.html | 29 + .../dcs_components/component_add_port.html | 27 + code/modules/wiremod/preset/hello_world.html | 27 + code/modules/wiremod/preset/speech_relay.html | 27 + code/modules/wiremod/shell/assembly.html | 27 + code/modules/wiremod/shell/bot.html | 27 + .../modules/wiremod/shell/compact_remote.html | 27 + code/modules/wiremod/shell/controller.html | 28 + code/modules/wiremod/shell/dispenser.html | 27 + code/modules/wiremod/shell/drone.html | 27 + code/modules/wiremod/shell/gun.html | 27 + code/modules/wiremod/shell/moneybot.html | 27 + code/modules/wiremod/shell/scanner.html | 27 + code/modules/wiremod/shell/server.html | 28 + code/modules/wiremod/shell/shell_items.html | 27 + code/world.html | 27 + datum.html | 720 + datum/abductor_gear.html | 71 + datum/achievement_data.html | 85 + datum/achievement_report.html | 57 + datum/action.html | 333 + datum/action/chameleon_outfit.html | 77 + datum/action/changeling.html | 119 + datum/action/changeling/absorb_dna.html | 36 + .../action/changeling/augmented_eyesight.html | 42 + datum/action/changeling/defib_grasp.html | 59 + datum/action/changeling/fakedeath.html | 82 + datum/action/changeling/lesserform.html | 64 + datum/action/changeling/mmi_talk.html | 82 + .../changeling/sting/transformation.html | 43 + datum/action/changeling/suit.html | 35 + datum/action/changeling/void_adaption.html | 64 + datum/action/changeling/weapon.html | 42 + datum/action/consume.html | 82 + datum/action/cooldown.html | 254 + datum/action/cooldown/alien.html | 36 + .../action/cooldown/alien/acid/corrosion.html | 43 + datum/action/cooldown/alien/hide.html | 36 + .../action/cooldown/alien/make_structure.html | 50 + .../cooldown/alien/make_structure/resin.html | 36 + datum/action/cooldown/alien/promote.html | 36 + datum/action/cooldown/bot_announcement.html | 43 + datum/action/cooldown/exquisite_bunch.html | 36 + datum/action/cooldown/gel_cocoon.html | 49 + datum/action/cooldown/grand_ritual.html | 170 + datum/action/cooldown/internal_smelting.html | 57 + datum/action/cooldown/manual_heart.html | 35 + datum/action/cooldown/metabolicboost.html | 56 + .../cooldown/mob_cooldown/assume_form.html | 65 + .../cooldown/mob_cooldown/blood_rain.html | 43 + .../cooldown/mob_cooldown/blood_warp.html | 50 + .../cooldown/mob_cooldown/bot/foam.html | 36 + .../cooldown/mob_cooldown/brimbeam.html | 78 + .../action/cooldown/mob_cooldown/charge.html | 106 + .../mob_cooldown/charge/basic_charge.html | 57 + .../charge/hallucination_charge.html | 50 + .../cooldown/mob_cooldown/charge_apc.html | 36 + .../cooldown/mob_cooldown/chasing_spikes.html | 43 + .../mob_cooldown/command_spiders.html | 48 + datum/action/cooldown/mob_cooldown/dash.html | 43 + .../cooldown/mob_cooldown/defensive_mode.html | 43 + .../cooldown/mob_cooldown/expel_gas.html | 57 + .../mob_cooldown/explosive_booby_trap.html | 50 + .../cooldown/mob_cooldown/fire_breath.html | 113 + .../mob_cooldown/fire_breath/cone.html | 36 + .../mob_cooldown/fire_breath/mass_fire.html | 57 + .../mob_cooldown/goliath_tentacles.html | 36 + .../mob_cooldown/guardian_alarm_snare.html | 50 + .../guardian_bluespace_beacon.html | 71 + .../cooldown/mob_cooldown/hivelord_spawn.html | 85 + .../mob_cooldown/ice_demon_teleport.html | 36 + .../cooldown/mob_cooldown/lava_swoop.html | 43 + .../cooldown/mob_cooldown/lay_eggs.html | 43 + .../mob_cooldown/lay_eggs/enriched.html | 36 + .../action/cooldown/mob_cooldown/lay_web.html | 50 + .../mob_cooldown/lesser_carp_rift.html | 36 + .../cooldown/mob_cooldown/mook_ability.html | 36 + .../mob_cooldown/mook_ability/mook_leap.html | 50 + .../mob_cooldown/projectile_attack.html | 71 + .../magicarp_bolt/chaos.html | 36 + .../projectile_attack/rapid_fire.html | 43 + .../rapid_fire/seedling.html | 43 + .../projectile_attack/spiral_shots.html | 36 + datum/action/cooldown/mob_cooldown/riot.html | 92 + .../mob_cooldown/set_spider_directive.html | 37 + .../cooldown/mob_cooldown/skull_launcher.html | 57 + .../mob_cooldown/slippery_ice_floors.html | 43 + datum/action/cooldown/mob_cooldown/sneak.html | 43 + .../cooldown/mob_cooldown/solarbeam.html | 50 + .../cooldown/mob_cooldown/spine_traps.html | 64 + .../mob_cooldown/transform_weapon.html | 36 + .../cooldown/mob_cooldown/watcher_gaze.html | 99 + .../mob_cooldown/watcher_gaze/ice.html | 36 + .../mob_cooldown/watcher_overwatch.html | 58 + .../cooldown/mob_cooldown/wing_buffet.html | 113 + datum/action/cooldown/mob_cooldown/wrap.html | 36 + datum/action/cooldown/open_mob_commands.html | 43 + datum/action/cooldown/rustle.html | 43 + datum/action/cooldown/spell.html | 303 + datum/action/cooldown/spell/aoe.html | 79 + .../cooldown/spell/aoe/magic_missile.html | 36 + datum/action/cooldown/spell/aoe/repulse.html | 50 + datum/action/cooldown/spell/aoe/revenant.html | 57 + .../cooldown/spell/aoe/revenant/overload.html | 43 + .../cooldown/spell/aoe/sacred_flame.html | 36 + .../action/cooldown/spell/aoe/void_pull.html | 43 + .../cooldown/spell/apply_mutations.html | 50 + datum/action/cooldown/spell/basic_heal.html | 43 + .../cooldown/spell/basic_projectile.html | 46 + datum/action/cooldown/spell/charged.html | 101 + datum/action/cooldown/spell/charged/beam.html | 53 + .../spell/charged/beam/fire_blast.html | 54 + .../cooldown/spell/charged/beam/tesla.html | 50 + .../spell/charged/psychic_booster.html | 43 + datum/action/cooldown/spell/cone.html | 89 + .../action/cooldown/spell/cone/staggered.html | 39 + .../spell/cone/staggered/cone_of_cold.html | 88 + .../spell/cone/staggered/fire_breath.html | 36 + datum/action/cooldown/spell/conjure.html | 80 + .../spell/conjure/cosmic_expansion.html | 50 + .../cooldown/spell/conjure/limit_summons.html | 43 + .../action/cooldown/spell/conjure/simian.html | 38 + .../cooldown/spell/conjure/the_traps.html | 36 + .../spell/conjure/wizard_summon_minions.html | 43 + datum/action/cooldown/spell/conjure_item.html | 80 + .../spell/conjure_item/clown_pockets.html | 57 + .../spell/conjure_item/invisible_box.html | 43 + datum/action/cooldown/spell/cosmic_rune.html | 57 + datum/action/cooldown/spell/emp.html | 43 + datum/action/cooldown/spell/fire_cascade.html | 43 + datum/action/cooldown/spell/fire_sworn.html | 43 + datum/action/cooldown/spell/forcewall.html | 50 + datum/action/cooldown/spell/jaunt.html | 88 + .../cooldown/spell/jaunt/bloodcrawl.html | 99 + .../jaunt/bloodcrawl/slaughter_demon.html | 60 + .../bloodcrawl/slaughter_demon/funny.html | 54 + .../spell/jaunt/creature_teleport.html | 36 + .../cooldown/spell/jaunt/ethereal_jaunt.html | 163 + .../cooldown/spell/jaunt/mirror_walk.html | 63 + .../cooldown/spell/jaunt/shadow_walk.html | 36 + .../cooldown/spell/jaunt/space_crawl.html | 52 + datum/action/cooldown/spell/list_target.html | 54 + .../cooldown/spell/list_target/telepathy.html | 50 + datum/action/cooldown/spell/olfaction.html | 64 + datum/action/cooldown/spell/pointed.html | 75 + .../cooldown/spell/pointed/abyssal_gaze.html | 43 + .../spell/pointed/apetra_vulnera.html | 36 + .../cooldown/spell/pointed/ash_beams.html | 36 + .../action/cooldown/spell/pointed/blind.html | 43 + .../action/cooldown/spell/pointed/cleave.html | 43 + .../cooldown/spell/pointed/declare_evil.html | 57 + .../cooldown/spell/pointed/manse_link.html | 43 + .../cooldown/spell/pointed/mind_transfer.html | 68 + .../cooldown/spell/pointed/projectile.html | 70 + .../pointed/projectile/furious_steel.html | 50 + .../pointed/projectile/lightningbolt.html | 50 + .../spell/pointed/projectile/spell_cards.html | 71 + .../spell/pointed/psychic_projection.html | 36 + .../spell/pointed/rust_construction.html | 36 + datum/action/cooldown/spell/pointed/swap.html | 36 + .../cooldown/spell/pointed/void_phase.html | 50 + .../cooldown/spell/pointed/wizard_mimic.html | 43 + datum/action/cooldown/spell/rod_form.html | 57 + .../cooldown/spell/sanguine_strike.html | 62 + datum/action/cooldown/spell/shadow_cloak.html | 64 + datum/action/cooldown/spell/shapeshift.html | 129 + .../spell/shapeshift/polymorph_belt.html | 43 + .../spell/shapeshift/shed_human_form.html | 43 + .../cooldown/spell/shapeshift/slime_form.html | 36 + .../action/cooldown/spell/spacetime_dist.html | 73 + datum/action/cooldown/spell/summonitem.html | 85 + datum/action/cooldown/spell/tap.html | 40 + datum/action/cooldown/spell/teleport.html | 72 + .../spell/teleport/area_teleport.html | 52 + .../cooldown/spell/teleport/radius_turf.html | 45 + .../action/cooldown/spell/thermal_vision.html | 43 + datum/action/cooldown/spell/timestop.html | 43 + datum/action/cooldown/spell/tongue_spike.html | 36 + datum/action/cooldown/spell/touch.html | 210 + .../cooldown/spell/touch/duffelbag.html | 36 + .../cooldown/spell/touch/flesh_surgery.html | 92 + datum/action/cooldown/spell/touch/shock.html | 57 + datum/action/cooldown/spell/touch/smite.html | 35 + .../cooldown/spell/touch/star_touch.html | 57 + datum/action/cooldown/spell/voice_of_god.html | 57 + datum/action/cooldown/spell/void/cursed.html | 43 + datum/action/cooldown/track_target.html | 65 + datum/action/cooldown/turn_to_statue.html | 73 + datum/action/cooldown/vine_tangle.html | 70 + datum/action/innate.html | 98 + datum/action/innate/ai.html | 57 + datum/action/innate/ai/lockdown.html | 38 + datum/action/innate/ai/ranged/core_tilt.html | 50 + .../innate/ai/ranged/remote_vendor_tilt.html | 35 + datum/action/innate/blobpop.html | 36 + datum/action/innate/construction.html | 64 + .../innate/construction/place_structure.html | 35 + datum/action/innate/cult/blood_spell.html | 36 + .../innate/cult/blood_spell/dagger.html | 36 + datum/action/innate/cult/ghostmark.html | 50 + datum/action/innate/cult/master/cultmark.html | 50 + datum/action/innate/cult/master/pulse.html | 50 + datum/action/innate/dash.html | 106 + datum/action/innate/elite_attack.html | 43 + datum/action/innate/expand_sight.html | 43 + datum/action/innate/integrate_extract.html | 35 + datum/action/innate/link_minds.html | 50 + datum/action/innate/mafia_panel.html | 36 + datum/action/innate/proto_emitter.html | 43 + datum/action/innate/seek_master.html | 43 + datum/action/innate/sign_language.html | 71 + datum/action/innate/teleport_in.html | 43 + datum/action/innate/teleport_self.html | 36 + datum/action/innate/use_extract.html | 35 + datum/action/innate/vibe.html | 43 + datum/action/item_action/agent_box.html | 43 + datum/action/item_action/camouflage.html | 52 + .../action/item_action/chameleon/change.html | 91 + .../item_action/chameleon/change/scanner.html | 36 + datum/action/item_action/mod.html | 36 + datum/action/item_action/mod/activate.html | 43 + .../action/item_action/mod/pinned_module.html | 64 + datum/action/item_action/mod_recall.html | 36 + datum/action/personality_commune.html | 36 + datum/action/push_weights.html | 37 + datum/action/select_guardian_battlecry.html | 36 + datum/action/send_chems.html | 36 + datum/action/setup_shop.html | 78 + datum/action/toggle_buffer.html | 94 + datum/action/vehicle/sealed/mecha.html | 37 + .../vehicle/sealed/mecha/ivanov_strike.html | 96 + .../action/vehicle/sealed/mecha/skyfall.html | 87 + datum/action_group.html | 126 + datum/actionspeed_modifier.html | 64 + datum/addiction.html | 164 + datum/addiction/medicine.html | 43 + datum/admin_book_viewer.html | 113 + datum/admin_help.html | 174 + datum/admin_help_tickets.html | 50 + datum/admins.html | 287 + datum/adventure.html | 185 + datum/adventure_browser.html | 35 + datum/adventure_db_entry.html | 113 + datum/adventure_loot_generator.html | 35 + datum/adventure_node.html | 92 + datum/ai_behavior.html | 87 + datum/ai_behavior/attack.html | 35 + datum/ai_behavior/attack_obstructions.html | 43 + datum/ai_behavior/basic_melee_attack.html | 36 + datum/ai_behavior/basic_melee_attack/dog.html | 44 + datum/ai_behavior/basic_ranged_attack.html | 43 + datum/ai_behavior/battle_screech.html | 36 + datum/ai_behavior/call_reinforcements.html | 36 + datum/ai_behavior/capricious_retaliate.html | 35 + datum/ai_behavior/crawl_through_vents.html | 61 + datum/ai_behavior/deliver_fetched_item.html | 35 + datum/ai_behavior/eat_fetched_snack.html | 30 + datum/ai_behavior/find_and_set.html | 33 + datum/ai_behavior/find_mom.html | 36 + datum/ai_behavior/find_partner.html | 43 + datum/ai_behavior/find_potential_targets.html | 57 + datum/ai_behavior/find_unwebbed_turf.html | 43 + datum/ai_behavior/forget_failed_fetches.html | 43 + .../goliath_find_diggable_turf.html | 50 + datum/ai_behavior/hoard_fingers.html | 50 + datum/ai_behavior/hunt_target.html | 43 + .../hunt_target/unarmed_attack_target.html | 36 + .../unarmed_attack_target/material_stand.html | 35 + .../hunt_target/use_ability_on_target.html | 36 + .../item_move_close_and_attack.html | 43 + datum/ai_behavior/make_carp_rift.html | 42 + datum/ai_behavior/make_carp_rift/towards.html | 50 + datum/ai_behavior/monkey_attack_mob.html | 35 + datum/ai_behavior/move_to_cardinal.html | 50 + datum/ai_behavior/play_with_mouse.html | 36 + datum/ai_behavior/relay_message.html | 36 + datum/ai_behavior/run_away_from_target.html | 43 + .../sleep_after_targetless_time.html | 43 + datum/ai_behavior/step_towards_turf.html | 55 + datum/ai_behavior/swirl_around_target.html | 36 + .../target_from_retaliate_list.html | 44 + .../targeted_mob_ability/brimbeam.html | 36 + .../targeted_mob_ability/ice_whelp.html | 43 + datum/ai_behavior/territorial_struggle.html | 36 + datum/ai_behavior/travel_towards.html | 37 + datum/ai_behavior/vendor_crush.html | 43 + datum/ai_behavior/vendor_rise_up.html | 36 + datum/ai_behavior/wait_for_food.html | 35 + datum/ai_behavior/wander.html | 36 + datum/ai_controller.html | 461 + .../basic_controller/artificer.html | 30 + datum/ai_controller/basic_controller/bot.html | 50 + .../basic_controller/bot/cleanbot.html | 36 + .../ai_controller/basic_controller/carp.html | 36 + .../basic_controller/juggernaut.html | 29 + .../basic_controller/proteon.html | 29 + .../basic_controller/wraith.html | 29 + datum/ai_controller/cursed.html | 64 + datum/ai_controller/haunted.html | 42 + datum/ai_controller/hostile_friend.html | 84 + datum/ai_controller/mod.html | 36 + datum/ai_controller/monkey.html | 42 + datum/ai_controller/robot_customer.html | 35 + datum/ai_laws.html | 284 + datum/ai_module.html | 71 + datum/ai_module/destructive/nuke_station.html | 43 + datum/ai_movement.html | 57 + datum/ai_movement/basic_avoidance.html | 36 + datum/ai_movement/dumb.html | 35 + datum/ai_planning_subtree.html | 47 + .../acknowledge_chief.html | 35 + .../attack_obstacle_in_path.html | 43 + datum/ai_planning_subtree/bane_hunting.html | 35 + .../basic_melee_attack_subtree.html | 43 + .../mega_arachnid.html | 36 + .../call_reinforcements.html | 57 + .../capricious_retaliate.html | 43 + datum/ai_planning_subtree/climb_trees.html | 36 + .../ai_planning_subtree/enter_exit_home.html | 43 + .../find_and_hunt_target.html | 81 + .../find_and_hunt_target/injured_mooks.html | 35 + datum/ai_planning_subtree/find_fingers.html | 43 + datum/ai_planning_subtree/find_food.html | 43 + datum/ai_planning_subtree/flee_target.html | 50 + datum/ai_planning_subtree/generic_hunger.html | 40 + .../generic_play_instrument.html | 41 + datum/ai_planning_subtree/generic_resist.html | 40 + datum/ai_planning_subtree/goliath_dig.html | 36 + .../ai_planning_subtree/hive_communicate.html | 36 + datum/ai_planning_subtree/hoard_fingers.html | 36 + datum/ai_planning_subtree/issue_commands.html | 36 + .../locate_dead_humans.html | 35 + datum/ai_planning_subtree/look_for_adult.html | 36 + .../maintain_distance.html | 64 + datum/ai_planning_subtree/make_babies.html | 43 + datum/ai_planning_subtree/make_carp_rift.html | 43 + datum/ai_planning_subtree/minebot_mining.html | 35 + datum/ai_planning_subtree/monkey_combat.html | 35 + .../ai_planning_subtree/move_to_cardinal.html | 43 + .../ai_planning_subtree/perch_on_target.html | 43 + datum/ai_planning_subtree/possess_humans.html | 36 + datum/ai_planning_subtree/random_speech.html | 64 + .../random_speech/legion.html | 36 + .../ai_planning_subtree/ranged_skirmish.html | 57 + datum/ai_planning_subtree/reside_in_home.html | 43 + datum/ai_planning_subtree/setup_shop.html | 36 + .../shapechange_ambush.html | 50 + .../shortcut_to_target_through_carp_rift.html | 43 + .../sleep_with_no_target.html | 43 + datum/ai_planning_subtree/spin_web.html | 43 + .../ai_planning_subtree/target_retaliate.html | 57 + .../targeted_mob_ability.html | 57 + .../arachnid_restrain.html | 35 + .../targeted_mob_ability/wizard_spell.html | 30 + .../teleport_away_from_target.html | 36 + .../territorial_struggle.html | 36 + .../ai_planning_subtree/travel_to_point.html | 43 + .../ai_planning_subtree/use_mob_ability.html | 51 + .../use_mob_ability/mook_jump.html | 35 + datum/air_alarm_mode.html | 76 + datum/air_alarm_mode/cycle.html | 44 + datum/alarm_handler.html | 68 + datum/alarm_listener.html | 103 + datum/anomaly_placer.html | 64 + datum/anonymous_theme.html | 120 + datum/antagonist.html | 494 + datum/antagonist/abductee.html | 30 + datum/antagonist/abductor.html | 36 + datum/antagonist/battlecruiser.html | 36 + datum/antagonist/bitrunning_glitch.html | 43 + datum/antagonist/blob.html | 50 + datum/antagonist/blob_minion.html | 36 + datum/antagonist/changeling.html | 295 + datum/antagonist/cult.html | 94 + datum/antagonist/ert.html | 36 + datum/antagonist/heretic.html | 324 + datum/antagonist/heretic_monster.html | 36 + datum/antagonist/highlander.html | 36 + datum/antagonist/hypnotized.html | 36 + datum/antagonist/imp.html | 30 + datum/antagonist/malf_ai.html | 85 + datum/antagonist/malf_ai/infected.html | 36 + datum/antagonist/ninja.html | 65 + datum/antagonist/nukeop.html | 99 + datum/antagonist/nukeop/leader.html | 43 + datum/antagonist/paradox_clone.html | 36 + datum/antagonist/rev.html | 55 + datum/antagonist/rev/head.html | 51 + datum/antagonist/separatist.html | 43 + datum/antagonist/shade_minion.html | 53 + datum/antagonist/space_carp.html | 36 + datum/antagonist/space_dragon.html | 164 + datum/antagonist/spider.html | 36 + datum/antagonist/syndicate_monkey.html | 36 + datum/antagonist/traitor.html | 142 + datum/antagonist/wizard.html | 50 + datum/antagonist/wizard_minion.html | 36 + datum/antagonist/xeno/captive.html | 36 + datum/armor.html | 85 + datum/armour_dimensional_theme.html | 102 + .../dangerous/lavaland.html | 35 + datum/asset.html | 86 + datum/asset/json.html | 43 + datum/asset/simple.html | 56 + datum/asset/simple/namespaced.html | 51 + datum/asset/spritesheet.html | 85 + datum/asset/spritesheet/antagonists.html | 36 + datum/asset/spritesheet/crafting.html | 45 + datum/asset/spritesheet/decals.html | 74 + datum/asset_cache_item.html | 102 + datum/asset_transport.html | 112 + datum/asset_transport/webroot.html | 80 + datum/atom_hud.html | 223 + datum/autowiki.html | 86 + datum/auxtools_promise.html | 33 + datum/avatar_help_text.html | 36 + datum/award.html | 85 + datum/award/achievement.html | 36 + datum/bank_account.html | 287 + datum/barsign.html | 78 + datum/basketball_controller.html | 179 + datum/beam.html | 178 + datum/biological_sample.html | 78 + datum/biome.html | 71 + datum/bitfield.html | 43 + datum/blobstrain.html | 204 + datum/bodypart_overlay.html | 130 + datum/bodypart_overlay/mutant.html | 148 + datum/bodypart_overlay/mutant/antennae.html | 43 + datum/bodypart_overlay/mutant/pod_hair.html | 43 + datum/bodypart_overlay/mutant/spines.html | 36 + .../mutant/wings/functional.html | 57 + datum/bodypart_overlay/mutant/wings/moth.html | 43 + datum/bodypart_overlay/simple.html | 51 + datum/bodypart_overlay/simple/emote.html | 64 + .../simple/golem_overlay.html | 36 + datum/book_history_entry.html | 78 + datum/book_info.html | 64 + datum/bounty.html | 56 + datum/bounty/item.html | 57 + datum/bounty/item/assistant/fish.html | 36 + datum/bounty/item/assistant/fish/fluid.html | 36 + datum/bounty/item/atmospherics.html | 43 + datum/bounty/item/science/genetics.html | 36 + datum/bounty/item/security/paperwork.html | 35 + datum/bounty/pill.html | 57 + datum/brain_trauma.html | 36 + datum/brain_trauma/hypnosis.html | 36 + datum/brain_trauma/magic/lumiphobia.html | 36 + datum/brain_trauma/mild/phobia.html | 50 + .../severe/split_personality.html | 50 + .../severe/split_personality/blackout.html | 36 + datum/brain_trauma/special/beepsky.html | 36 + .../special/bluespace_prophet.html | 36 + datum/brain_trauma/special/burdened.html | 121 + .../special/existential_crisis.html | 36 + datum/brain_trauma/special/honorbound.html | 95 + .../special/imaginary_friend.html | 42 + datum/brain_trauma/special/obsessed.html | 35 + .../special/quantum_alignment.html | 36 + datum/buildmode.html | 36 + datum/buildmode_mode/proccall.html | 43 + datum/buildmode_mode/tweakcomps.html | 36 + datum/callback.html | 127 + datum/callback/verb_callback.html | 37 + datum/camerachunk.html | 131 + datum/cameranet.html | 140 + datum/can_pass_info.html | 174 + datum/card.html | 138 + datum/cardboard_cutout.html | 120 + datum/cell_tracker.html | 99 + datum/cellular_emporium.html | 43 + datum/centcom_announcer.html | 64 + datum/centcom_podlauncher.html | 67 + datum/changeling_profile.html | 218 + datum/chasm_detritus.html | 66 + datum/chasm_detritus/restricted.html | 39 + datum/chasm_detritus/restricted/bodies.html | 46 + datum/chat_payload.html | 64 + datum/chatmessage.html | 170 + datum/chemical_reaction.html | 408 + datum/chemical_reaction/food.html | 43 + datum/chemical_reaction/food/soup.html | 117 + datum/chemical_reaction/food/soup/custom.html | 38 + .../food/soup/mysterysoup.html | 43 + .../medicine/inacusiate.html | 35 + datum/chemical_reaction/randomized.html | 78 + datum/cinematic.html | 157 + datum/cinematic/nuke.html | 43 + datum/circuit_composite_template.html | 91 + datum/circuit_datatype.html | 175 + .../circuit_datatype/composite_instance.html | 50 + datum/circuit_variable.html | 93 + datum/client_colour.html | 87 + datum/client_interface.html | 85 + datum/colorblind_tester.html | 46 + datum/comm_log_entry.html | 50 + datum/command_report_menu.html | 99 + datum/component.html | 215 + datum/component/acid.html | 187 + datum/component/action_item_overlay.html | 58 + datum/component/admin_popup.html | 39 + datum/component/aggro_emote.html | 78 + datum/component/ai_listen_to_weather.html | 43 + datum/component/ai_retaliate_advanced.html | 45 + datum/component/ai_target_timer.html | 92 + datum/component/anti_magic.html | 105 + datum/component/appearance_on_aggro.html | 71 + datum/component/aquarium_content.html | 191 + datum/component/area_based_godmode.html | 65 + datum/component/area_sound_manager.html | 57 + datum/component/atmos_reaction_recorder.html | 67 + datum/component/attached_sticker.html | 71 + datum/component/aura_healing.html | 123 + datum/component/automatic_fire.html | 101 + datum/component/avatar_connection.html | 166 + datum/component/bakeable.html | 99 + datum/component/basic_inhands.html | 71 + .../basic_mob_ability_telegraph.html | 71 + .../component/basic_mob_attack_telegraph.html | 85 + .../component/basic_ranged_ready_overlay.html | 72 + datum/component/bitrunning_points.html | 57 + datum/component/blob_minion.html | 120 + datum/component/blood_walk.html | 87 + datum/component/bloodysoles.html | 181 + datum/component/boomerang.html | 97 + datum/component/boss_music.html | 82 + datum/component/breed.html | 71 + datum/component/bullet_intercepting.html | 92 + datum/component/bumpattack.html | 64 + datum/component/burning.html | 73 + datum/component/butchering.html | 104 + datum/component/butchering/mecha.html | 35 + datum/component/butchering/wearable.html | 42 + datum/component/caltrop.html | 86 + datum/component/chasm.html | 49 + datum/component/chuunibyou.html | 89 + .../component/circuit_component_add_port.html | 99 + datum/component/cleaner.html | 108 + datum/component/clickbox.html | 82 + datum/component/clothing_fov_visor.html | 78 + datum/component/codeword_hearing.html | 69 + datum/component/combo_attacks.html | 92 + datum/component/combustible_flooder.html | 70 + datum/component/connect_containers.html | 45 + datum/component/connect_loc_behalf.html | 39 + datum/component/connect_mob_behalf.html | 52 + datum/component/connect_range.html | 61 + datum/component/construction/mecha.html | 35 + datum/component/container_item.html | 35 + datum/component/crank_recharge.html | 71 + datum/component/crate_carrier.html | 78 + datum/component/creamed.html | 72 + datum/component/ctf_player.html | 113 + datum/component/cult_ritual_item.html | 64 + datum/component/curse_of_hunger.html | 93 + datum/component/curse_of_polymorph.html | 40 + .../customizable_reagent_holder.html | 167 + datum/component/damage_aura.html | 135 + datum/component/damage_chain.html | 113 + datum/component/dart_insert.html | 89 + datum/component/deadchat_control.html | 129 + .../deadchat_control/cardinal_movement.html | 37 + .../deadchat_control/immovable_rod.html | 37 + datum/component/death_linked.html | 44 + datum/component/decomposition.html | 113 + datum/component/dejavu.html | 124 + datum/component/deployable.html | 84 + datum/component/direct_explosive_trap.html | 93 + datum/component/drift.html | 74 + datum/component/echolocation.html | 141 + datum/component/edible.html | 246 + datum/component/effect_remover.html | 71 + datum/component/egg_layer.html | 87 + datum/component/electrified_buckle.html | 115 + datum/component/embedded.html | 109 + datum/component/energized.html | 64 + datum/component/engraved.html | 80 + datum/component/evolutionary_leap.html | 58 + datum/component/experiment_handler.html | 244 + datum/component/explodable.html | 148 + datum/component/explode_on_attack.html | 50 + datum/component/faction_granter.html | 73 + datum/component/fantasy.html | 49 + datum/component/fertile_egg.html | 82 + datum/component/fishing_spot.html | 36 + datum/component/focused_attacker.html | 80 + datum/component/food_storage.html | 239 + datum/component/fov_handler.html | 92 + datum/component/gas_leaker.html | 57 + datum/component/germ_sensitive.html | 43 + datum/component/ghost_direct_control.html | 106 + datum/component/ghost_edible.html | 58 + datum/component/glitch.html | 64 + datum/component/golem_food.html | 85 + datum/component/gps/item.html | 78 + datum/component/grillable.html | 127 + datum/component/ground_sinking.html | 156 + .../component/growth_and_differentiation.html | 141 + datum/component/gunpoint.html | 141 + datum/component/haunted_item.html | 65 + datum/component/hazard_area.html | 115 + datum/component/healing_touch.html | 184 + datum/component/health_scaling_effects.html | 107 + datum/component/heirloom.html | 51 + datum/component/holderloving.html | 75 + datum/component/ice_cream_holder.html | 103 + datum/component/infective.html | 43 + datum/component/interaction_booby_trap.html | 134 + datum/component/itembound.html | 50 + datum/component/itempicky.html | 43 + datum/component/jetpack.html | 114 + datum/component/joint_damage.html | 43 + datum/component/jousting.html | 128 + datum/component/keep_me_secure.html | 80 + datum/component/knockoff.html | 95 + datum/component/label.html | 94 + datum/component/leash.html | 58 + datum/component/life_link.html | 135 + datum/component/light_eater.html | 51 + datum/component/ling_decoy_brain.html | 58 + datum/component/listen_and_repeat.html | 86 + datum/component/living_heart.html | 55 + datum/component/lock_on_cursor.html | 156 + datum/component/lockable_storage.html | 121 + datum/component/magnet.html | 71 + datum/component/manual_heart.html | 115 + datum/component/material_container.html | 321 + datum/component/mind_linker.html | 128 + .../component/mind_linker/active_linking.html | 51 + datum/component/mob_chain.html | 156 + datum/component/mob_harvest.html | 157 + datum/component/multiple_lives.html | 44 + datum/component/mutant_hands.html | 89 + datum/component/netpod_healing.html | 35 + datum/component/npc_friendly.html | 43 + datum/component/nuclear_bomb_operator.html | 114 + datum/component/obeys_commands.html | 79 + datum/component/object_possession.html | 85 + datum/component/omen.html | 113 + datum/component/on_hit_effect.html | 46 + datum/component/onwear_mood.html | 57 + datum/component/orbit_poll.html | 86 + datum/component/overlay_lighting.html | 356 + datum/component/palette.html | 53 + datum/component/payment.html | 107 + datum/component/pellet_cloud.html | 224 + datum/component/personal_crafting.html | 45 + datum/component/phylactery.html | 131 + datum/component/pinata.html | 57 + datum/component/pinnable_accessory.html | 71 + datum/component/plumbing.html | 213 + datum/component/plumbing/acclimator.html | 35 + datum/component/plumbing/filter.html | 35 + datum/component/plumbing/hydroponics.html | 43 + datum/component/plundering_attacks.html | 44 + datum/component/pricetag.html | 43 + datum/component/projectile_parry.html | 36 + datum/component/puzzgrid.html | 81 + datum/component/radiation_countdown.html | 47 + datum/component/radioactive_emitter.html | 64 + datum/component/radioactive_exposure.html | 78 + datum/component/ranged_attacks.html | 85 + datum/component/ranged_mob_full_auto.html | 148 + datum/component/reagent_refiller.html | 72 + datum/component/recharging_attacks.html | 64 + .../redirect_attack_hand_from_turf.html | 45 + datum/component/reflection.html | 139 + datum/component/regenerator.html | 118 + datum/component/religious_tool.html | 164 + datum/component/remote_materials.html | 148 + datum/component/rename.html | 86 + datum/component/revenge_ability.html | 80 + datum/component/riding.html | 232 + datum/component/riding/creature.html | 85 + datum/component/riding/creature/human.html | 42 + datum/component/riding/vehicle.html | 35 + datum/component/rot.html | 99 + datum/component/scope.html | 101 + datum/component/seclite_attachable.html | 206 + datum/component/sect_nullrod_bonus.html | 44 + datum/component/security_vision.html | 50 + datum/component/seethrough.html | 134 + datum/component/seethrough_mob.html | 113 + datum/component/shell.html | 154 + datum/component/shielded.html | 178 + datum/component/shovel_hands.html | 50 + datum/component/shuttle_cling.html | 116 + datum/component/shy.html | 106 + datum/component/shy_in_room.html | 57 + datum/component/sign_language.html | 191 + datum/component/simple_access.html | 36 + datum/component/simple_rotation.html | 55 + datum/component/singularity.html | 167 + datum/component/singularity/bloodthirsty.html | 42 + datum/component/slapcrafting.html | 56 + datum/component/slippery.html | 203 + datum/component/smooth_tunes.html | 104 + datum/component/soul_stealer.html | 45 + datum/component/sound_player.html | 59 + datum/component/spawner.html | 113 + datum/component/spin2win.html | 72 + datum/component/spinny.html | 44 + datum/component/spirit_holding.html | 103 + datum/component/splattercasting.html | 56 + datum/component/squashable.html | 71 + datum/component/squeak.html | 64 + datum/component/stationloving.html | 80 + datum/component/stationstuck.html | 43 + datum/component/storm_hating.html | 36 + datum/component/stove.html | 87 + datum/component/strong_pull.html | 49 + datum/component/style.html | 120 + datum/component/subtype_picker.html | 97 + datum/component/summoning.html | 99 + datum/component/supermatter_crystal.html | 43 + datum/component/surgery_initiator.html | 72 + datum/component/swabbing.html | 106 + datum/component/tackler.html | 224 + datum/component/takes_reagent_appearance.html | 128 + datum/component/tameable.html | 85 + datum/component/tattoo.html | 46 + datum/component/technointrovert.html | 43 + datum/component/technoshy.html | 50 + datum/component/temporary_body.html | 57 + datum/component/temporary_description.html | 51 + datum/component/thermite.html | 183 + datum/component/tippable.html | 203 + datum/component/toggle_attached_clothing.html | 212 + datum/component/toggle_icon.html | 50 + datum/component/torn_wall.html | 80 + datum/component/trader.html | 231 + .../traitor_objective_limit_per_time.html | 50 + .../traitor_objective_mind_tracker.html | 50 + .../component/traitor_objective_register.html | 58 + datum/component/transforming.html | 141 + datum/component/trapdoor.html | 146 + datum/component/tree_climber.html | 43 + datum/component/two_handed.html | 222 + datum/component/udder.html | 58 + datum/component/unobserved_actor.html | 95 + datum/component/uplink.html | 158 + datum/component/usb_port.html | 71 + datum/component/vacuum.html | 82 + datum/component/wall_mounted.html | 73 + .../wearertargeting/punchcooldown.html | 50 + .../wearertargeting/sitcomlaughter.html | 64 + datum/component/weather_announcer.html | 106 + datum/component/wet_floor.html | 38 + datum/computer_file.html | 140 + datum/computer_file/data/ordnance.html | 37 + .../data/ordnance/explosive.html | 37 + .../computer_file/data/ordnance/gaseous.html | 37 + datum/computer_file/data/text.html | 36 + datum/computer_file/picture.html | 53 + datum/computer_file/program.html | 294 + datum/computer_file/program/ai_restorer.html | 43 + .../computer_file/program/alarm_monitor.html | 43 + datum/computer_file/program/arcade.html | 57 + datum/computer_file/program/atmosscan.html | 64 + datum/computer_file/program/borg_monitor.html | 64 + datum/computer_file/program/bounty_board.html | 64 + datum/computer_file/program/budgetorders.html | 106 + datum/computer_file/program/card_mod.html | 100 + datum/computer_file/program/chatclient.html | 71 + .../program/contract_uplink.html | 57 + datum/computer_file/program/emojipedia.html | 36 + datum/computer_file/program/mafia.html | 42 + datum/computer_file/program/maintenance.html | 30 + .../program/maintenance/camera.html | 50 + .../program/maintenance/modsuit_control.html | 36 + .../program/maintenance/phys_scanner.html | 36 + .../program/maintenance/theme.html | 43 + datum/computer_file/program/messenger.html | 197 + datum/computer_file/program/newscaster.html | 36 + datum/computer_file/program/nt_pay.html | 57 + .../computer_file/program/ntnetdownload.html | 73 + .../program/portrait_printer.html | 54 + datum/computer_file/program/radar.html | 127 + .../program/radar/fission360.html | 35 + datum/computer_file/program/robocontrol.html | 50 + datum/computer_file/program/science.html | 77 + .../program/scipaper_program.html | 57 + datum/computer_file/program/secureye.html | 71 + datum/computer_file/program/shipping.html | 57 + .../program/signal_commander.html | 64 + datum/computer_file/program/status.html | 67 + .../program/supermatter_monitor.html | 66 + datum/computer_file/program/themeify.html | 36 + datum/config_entry.html | 113 + datum/config_entry/keyed_list.html | 50 + datum/config_entry/str_list.html | 36 + datum/config_entry/string.html | 36 + datum/contractor_hub.html | 78 + datum/controller/configuration.html | 141 + datum/controller/global_vars.html | 2279 +++ datum/controller/master.html | 172 + datum/controller/subsystem.html | 296 + datum/controller/subsystem/achievements.html | 67 + datum/controller/subsystem/addiction.html | 43 + .../controller/subsystem/ai_controllers.html | 43 + datum/controller/subsystem/air.html | 121 + datum/controller/subsystem/ambience.html | 43 + datum/controller/subsystem/atoms.html | 89 + datum/controller/subsystem/ban_cache.html | 35 + datum/controller/subsystem/blackmarket.html | 71 + datum/controller/subsystem/chat.html | 50 + .../subsystem/circuit_component.html | 52 + .../controller/subsystem/communications.html | 64 + datum/controller/subsystem/dbcore.html | 116 + datum/controller/subsystem/discord.html | 184 + datum/controller/subsystem/dynamic.html | 704 + datum/controller/subsystem/economy.html | 228 + datum/controller/subsystem/eigenstates.html | 94 + datum/controller/subsystem/events.html | 99 + datum/controller/subsystem/explosions.html | 112 + datum/controller/subsystem/fluids.html | 170 + datum/controller/subsystem/icon_smooth.html | 36 + datum/controller/subsystem/id_access.html | 319 + datum/controller/subsystem/job.html | 382 + datum/controller/subsystem/lag_switch.html | 106 + datum/controller/subsystem/library.html | 78 + datum/controller/subsystem/lua.html | 56 + datum/controller/subsystem/machines.html | 78 + datum/controller/subsystem/mapping.html | 382 + datum/controller/subsystem/materials.html | 198 + datum/controller/subsystem/minor_mapping.html | 42 + datum/controller/subsystem/mobs.html | 36 + .../subsystem/modular_computers.html | 122 + datum/controller/subsystem/move_manager.html | 266 + datum/controller/subsystem/movement.html | 71 + .../subsystem/movement/ai_movement.html | 36 + .../subsystem/movement/cliff_falling.html | 50 + datum/controller/subsystem/pai.html | 69 + datum/controller/subsystem/parallax.html | 64 + datum/controller/subsystem/pathfinder.html | 125 + datum/controller/subsystem/persistence.html | 239 + .../subsystem/persistent_paintings.html | 122 + .../subsystem/points_of_interest.html | 133 + .../subsystem/processing/ai_behaviors.html | 43 + .../controller/subsystem/processing/dcs.html | 84 + .../subsystem/processing/instruments.html | 85 + .../subsystem/processing/quirks.html | 58 + .../subsystem/processing/reagents.html | 43 + .../subsystem/processing/station.html | 73 + .../processing/supermatter_cascade.html | 36 + .../subsystem/processing/transport.html | 139 + datum/controller/subsystem/queuelinks.html | 45 + datum/controller/subsystem/radiation.html | 71 + .../subsystem/radioactive_nebula.html | 49 + datum/controller/subsystem/research.html | 152 + datum/controller/subsystem/restaurant.html | 50 + .../controller/subsystem/security_level.html | 91 + datum/controller/subsystem/server_maint.html | 43 + datum/controller/subsystem/shuttle.html | 442 + datum/controller/subsystem/skills.html | 50 + datum/controller/subsystem/sounds.html | 155 + datum/controller/subsystem/spatial_grid.html | 285 + datum/controller/subsystem/statpanels.html | 87 + datum/controller/subsystem/stock_market.html | 84 + datum/controller/subsystem/sun.html | 50 + datum/controller/subsystem/tgui.html | 195 + datum/controller/subsystem/ticker.html | 197 + datum/controller/subsystem/timer.html | 141 + .../subsystem/trading_card_game.html | 170 + datum/controller/subsystem/traitor.html | 137 + datum/controller/subsystem/tts.html | 119 + datum/controller/subsystem/tutorials.html | 49 + datum/controller/subsystem/verb_manager.html | 114 + .../subsystem/verb_manager/input.html | 66 + datum/controller/subsystem/vote.html | 111 + datum/controller/subsystem/wardrobe.html | 195 + datum/controller/subsystem/weather.html | 35 + .../subsystem/wiremod_composite.html | 45 + datum/crafting_recipe.html | 196 + datum/crafting_recipe/food/reaction.html | 35 + datum/crafting_recipe/food/reaction/soup.html | 38 + datum/crewmonitor.html | 57 + datum/crime.html | 64 + datum/crime/citation.html | 57 + datum/crystal_warp_theme.html | 99 + datum/ctf_controller.html | 218 + datum/ctf_team.html | 92 + datum/ctf_voting_controller.html | 50 + datum/custom_order.html | 71 + datum/custom_order/icecream.html | 50 + datum/custom_order/moth_clothing.html | 36 + datum/custom_order/reagent.html | 50 + datum/custom_order/reagent/soup.html | 36 + datum/customer_data.html | 183 + datum/customer_data/moth.html | 36 + datum/data.html | 36 + datum/data/compressor_record.html | 43 + datum/data/tachyon_record.html | 36 + datum/data/vending_product.html | 94 + datum/data_rc_msg.html | 71 + datum/data_tablet_msg.html | 64 + datum/db_query.html | 50 + datum/deck_card.html | 50 + datum/decompose_matrix.html | 64 + datum/demoralise_moods.html | 86 + datum/design.html | 170 + datum/dimension_theme.html | 195 + datum/discord_embed.html | 122 + datum/discord_link_record.html | 44 + datum/disease.html | 133 + datum/disease/advance.html | 57 + datum/disease/advance/carpellosis.html | 57 + datum/disease/advance/gastritium.html | 36 + datum/disease/advance/random/event.html | 65 + datum/disease/parrot_possession.html | 43 + datum/disease/wizarditis.html | 57 + datum/dna.html | 166 + datum/dog_fashion.html | 122 + datum/dream.html | 60 + datum/ductnet.html | 99 + datum/duel.html | 35 + datum/dynamic_ruleset.html | 423 + .../dynamic_ruleset/latejoin/provocateur.html | 35 + datum/dynamic_ruleset/midround.html | 57 + .../dynamic_ruleset/midround/from_ghosts.html | 75 + .../midround/from_ghosts/paradox_clone.html | 44 + datum/dynamic_ruleset/roundstart.html | 44 + datum/dynamic_ruleset/roundstart/revs.html | 35 + datum/dynamic_snapshot.html | 100 + datum/dynamic_snapshot_ruleset.html | 50 + datum/effect_system/fluid_spread.html | 49 + datum/effect_system/fluid_spread/foam.html | 50 + .../fluid_spread/smoke/chem.html | 36 + .../fluid_spread/smoke/freezing.html | 72 + datum/effect_system/reagents_explosion.html | 35 + datum/element.html | 63 + datum/element/ai_control_examine.html | 46 + datum/element/ai_flee_while_injured.html | 50 + datum/element/ai_held_item.html | 63 + datum/element/ai_retaliate.html | 36 + datum/element/ai_swap_combat_mode.html | 85 + datum/element/ai_target_damagesource.html | 36 + datum/element/amputating_limbs.html | 78 + datum/element/atmos_requirements.html | 51 + datum/element/attack_equip.html | 29 + datum/element/backblast.html | 73 + datum/element/bane.html | 76 + datum/element/basic_body_temp_sensitive.html | 57 + datum/element/basic_eating.html | 65 + datum/element/beauty.html | 40 + datum/element/bed_tuckable.html | 75 + datum/element/befriend_petting.html | 50 + datum/element/blocks_explosives.html | 57 + datum/element/bombable_turf.html | 58 + datum/element/bonus_damage.html | 50 + datum/element/bump_click.html | 65 + datum/element/can_barricade.html | 35 + datum/element/change_force_on_death.html | 50 + datum/element/chemical_transfer.html | 68 + datum/element/chewable.html | 53 + datum/element/cliff_walking.html | 35 + datum/element/climbable.html | 57 + datum/element/connect_loc.html | 37 + datum/element/consumable_mob.html | 36 + datum/element/content_barfer.html | 29 + .../contextual_screentip_bare_hands.html | 59 + .../contextual_screentip_item_typechecks.html | 38 + .../contextual_screentip_mob_typechecks.html | 38 + .../contextual_screentip_sharpness.html | 45 + datum/element/contextual_screentip_tools.html | 38 + datum/element/crackable.html | 36 + datum/element/crusher_loot.html | 55 + datum/element/cuffsnapping.html | 68 + datum/element/cult_eyes.html | 44 + datum/element/cult_halo.html | 44 + datum/element/curse_announcement.html | 59 + datum/element/damage_threshold.html | 38 + datum/element/dangerous_surgical_removal.html | 30 + datum/element/death_drops.html | 44 + datum/element/death_explosion.html | 58 + datum/element/death_gases.html | 51 + datum/element/decal.html | 93 + datum/element/deliver_first.html | 85 + datum/element/dextrous.html | 57 + datum/element/diggable.html | 71 + datum/element/door_pryer.html | 58 + datum/element/drag_pickup.html | 29 + datum/element/dryable.html | 36 + datum/element/effect_trail.html | 43 + datum/element/elevation.html | 44 + datum/element/elevation_core.html | 65 + datum/element/embed.html | 105 + datum/element/envenomable_casing.html | 61 + datum/element/eyestab.html | 36 + datum/element/falling_hazard.html | 71 + datum/element/firestacker.html | 36 + datum/element/floor_loving.html | 35 + datum/element/food_trash.html | 57 + datum/element/footstep.html | 87 + datum/element/footstep_override.html | 102 + datum/element/forced_gravity.html | 43 + datum/element/fried_item.html | 38 + datum/element/frozen.html | 51 + datum/element/give_turf_traits.html | 82 + datum/element/hat_wearer.html | 50 + datum/element/heretic_focus.html | 56 + datum/element/high_fiver.html | 42 + datum/element/immerse.html | 250 + datum/element/item_fov.html | 50 + datum/element/item_scaling.html | 118 + datum/element/kneecapping.html | 54 + datum/element/knockback.html | 85 + datum/element/lifesteal.html | 44 + datum/element/light_blocking.html | 35 + datum/element/light_eaten.html | 63 + datum/element/light_eater.html | 150 + datum/element/loomable.html | 92 + datum/element/microwavable.html | 68 + datum/element/mob_grabber.html | 50 + datum/element/mob_killed_tally.html | 37 + datum/element/movement_turf_changer.html | 37 + datum/element/movetype_handler.html | 66 + datum/element/nerfed_pulling.html | 36 + datum/element/noticable_organ.html | 60 + datum/element/obj_regen.html | 71 + datum/element/organ_set_bonus.html | 37 + datum/element/pet_bonus.html | 44 + datum/element/plant_backfire.html | 106 + datum/element/prevent_attacking_of_types.html | 44 + datum/element/processable.html | 93 + datum/element/projectile_shield.html | 35 + datum/element/radioactive.html | 57 + datum/element/ranged_armour.html | 78 + datum/element/relay_attackers.html | 51 + datum/element/ridable.html | 75 + datum/element/rust.html | 51 + datum/element/series.html | 37 + datum/element/shatters_when_thrown.html | 71 + datum/element/sideway_movement.html | 35 + datum/element/simple_flying.html | 36 + datum/element/skill_reward.html | 43 + datum/element/soft_landing.html | 36 + datum/element/squish.html | 30 + datum/element/sticker.html | 50 + datum/element/strippable.html | 54 + datum/element/structure_repair.html | 50 + datum/element/swabable.html | 85 + datum/element/tenacious.html | 36 + datum/element/tiny_mob_hunter.html | 50 + datum/element/tool_flash.html | 37 + datum/element/turf_z_transparency.html | 49 + datum/element/undertile.html | 71 + datum/element/unfriend_attacker.html | 44 + datum/element/update_icon_updates_onmob.html | 43 + datum/element/uplink_reimburse.html | 52 + datum/element/venomous.html | 44 + datum/element/volatile_gas_storage.html | 50 + datum/element/wall_engraver.html | 42 + datum/element/wall_smasher.html | 37 + datum/element/wall_tearer.html | 71 + datum/element/wall_walker.html | 50 + datum/element/weapon_description.html | 86 + datum/element/web_walker.html | 43 + datum/emote.html | 315 + datum/emote/living/yawn.html | 35 + datum/emote/slime/mood.html | 36 + datum/equilibrium.html | 161 + datum/ert.html | 64 + datum/escape_menu.html | 36 + datum/event_admin_setup.html | 37 + .../event_admin_setup/anomaly_ectoplasm.html | 43 + datum/event_admin_setup/carp_migration.html | 43 + datum/event_admin_setup/input_number.html | 64 + datum/event_admin_setup/listed_options.html | 60 + .../disease_outbreak_advanced/severity.html | 29 + .../event_admin_setup/mass_hallucination.html | 43 + .../minimum_candidate_requirement.html | 50 + datum/event_admin_setup/multiple_choice.html | 57 + datum/event_admin_setup/question.html | 43 + datum/event_admin_setup/set_location.html | 43 + .../syndicate_cargo_pod.html | 43 + datum/event_admin_setup/text_input.html | 52 + datum/event_admin_setup/warn_admin.html | 51 + datum/events.html | 55 + datum/excited_group.html | 85 + datum/exoscan.html | 64 + datum/experiment.html | 165 + datum/experiment/exploration_scan/random.html | 43 + datum/experiment/ordnance.html | 58 + datum/experiment/ordnance/explosive.html | 66 + datum/experiment/ordnance/gaseous.html | 36 + datum/experiment/physical.html | 57 + datum/experiment/scanning.html | 147 + datum/experiment/scanning/fish.html | 79 + .../experiment/scanning/fish/holographic.html | 35 + datum/experiment/scanning/people.html | 57 + .../scanning/people/novel_organs.html | 36 + datum/experiment/scanning/points.html | 43 + .../points/machinery_pinpoint_scan.html | 40 + .../points/machinery_tiered_scan.html | 38 + datum/experiment/scanning/random.html | 50 + .../experiment/scanning/random/material.html | 43 + .../scanning/random/mecha_damage_scan.html | 36 + datum/experiment/scanning/random/plants.html | 43 + datum/exploration_event.html | 120 + datum/exploration_event/simple.html | 106 + datum/exploration_event/simple/resource.html | 85 + datum/exploration_event/simple/trader.html | 43 + datum/exploration_site.html | 147 + datum/export.html | 139 + datum/export/food.html | 37 + datum/export/large/gas_canister.html | 38 + datum/export/photocopy.html | 43 + datum/export/pirate.html | 35 + datum/export_report.html | 57 + datum/fantasy_affix.html | 36 + datum/fax_panel_interface.html | 76 + datum/feed_channel.html | 119 + datum/feed_comment.html | 50 + datum/feed_message.html | 141 + datum/feed_network.html | 71 + datum/fish_evolution.html | 98 + datum/fish_source.html | 156 + datum/fish_source/portal.html | 50 + datum/fish_source/portal/random.html | 61 + datum/fish_trait.html | 106 + datum/fishing_challenge.html | 424 + datum/fluid_group.html | 89 + datum/font.html | 142 + datum/food_processor_process.html | 78 + datum/foreign_calendar.html | 49 + datum/forensics.html | 178 + datum/gas.html | 78 + datum/gas_machine_connector.html | 84 + datum/gas_mixture.html | 404 + datum/gas_mixture/turf.html | 35 + datum/gas_reaction.html | 94 + datum/gas_reaction/bzformation.html | 30 + datum/gas_reaction/freonfire.html | 30 + datum/gas_reaction/freonformation.html | 30 + datum/gas_reaction/h2fire.html | 31 + datum/gas_reaction/halon_o2removal.html | 32 + datum/gas_reaction/healium_formation.html | 29 + datum/gas_reaction/miaster.html | 29 + datum/gas_reaction/nitrium_decomposition.html | 31 + datum/gas_reaction/nitrium_formation.html | 31 + datum/gas_reaction/nitrous_decomp.html | 30 + datum/gas_reaction/nitrousformation.html | 31 + datum/gas_reaction/nobliumformation.html | 32 + datum/gas_reaction/plasmafire.html | 31 + datum/gas_reaction/pluox_formation.html | 34 + .../proto_nitrate_bz_response.html | 29 + .../gas_reaction/proto_nitrate_formation.html | 29 + .../proto_nitrate_hydrogen_response.html | 30 + .../proto_nitrate_tritium_response.html | 31 + datum/gas_reaction/tritfire.html | 32 + datum/gas_reaction/water_vapor.html | 30 + datum/gas_reaction/zauker_decomp.html | 30 + datum/gas_reaction/zauker_formation.html | 30 + datum/gas_recipe.html | 87 + datum/gateway_destination.html | 51 + datum/gateway_destination/gateway.html | 36 + datum/gateway_destination/point.html | 36 + datum/glass_style.html | 110 + datum/glass_style/has_foodtype.html | 36 + datum/global_funny_embedding.html | 46 + datum/golem_food_buff.html | 78 + datum/golem_food_buff/iron.html | 43 + datum/grand_finale.html | 120 + datum/grand_finale/armageddon.html | 36 + datum/grand_finale/clown.html | 35 + datum/grand_finale/immortality.html | 43 + datum/grand_finale/usurp.html | 46 + datum/grand_side_effect.html | 60 + datum/grand_side_effect/create_anomalies.html | 36 + .../grand_side_effect/spawn_delayed_mobs.html | 36 + datum/grand_side_effect/spell.html | 50 + datum/grand_side_effect/summon_crewmate.html | 43 + datum/grand_side_effect/translocate.html | 35 + datum/greyscale_config.html | 206 + datum/greyscale_layer.html | 89 + datum/greyscale_modify_menu.html | 132 + datum/guardian_fluff.html | 128 + datum/gutlunch_inherited_stats.html | 50 + datum/hallucination.html | 89 + datum/hallucination/battle/bomb.html | 35 + datum/hallucination/battle/e_sword.html | 35 + datum/hallucination/battle/gun.html | 85 + datum/hallucination/battle/harm_baton.html | 35 + datum/hallucination/battle/stun_prod.html | 35 + datum/hallucination/body.html | 78 + datum/hallucination/body/staticguy.html | 43 + datum/hallucination/bolts.html | 57 + datum/hallucination/chat.html | 43 + datum/hallucination/death.html | 36 + datum/hallucination/death/dust.html | 36 + datum/hallucination/delusion.html | 99 + datum/hallucination/fake_alert.html | 57 + datum/hallucination/fake_health_doll.html | 87 + datum/hallucination/fake_item.html | 43 + datum/hallucination/fake_sound.html | 64 + .../hallucination/fake_sound/normal/mech.html | 50 + datum/hallucination/fake_sound/weird.html | 36 + datum/hallucination/fire.html | 99 + datum/hallucination/hazard.html | 36 + datum/hallucination/ice.html | 64 + datum/hallucination/nearby_fake_item.html | 71 + datum/hallucination/oh_yeah.html | 64 + datum/hallucination/screwy_hud.html | 36 + .../station_message/heretic.html | 38 + datum/hallucination/xeno_attack.html | 56 + datum/heretic_knowledge.html | 247 + datum/heretic_knowledge/blade_dance.html | 38 + datum/heretic_knowledge/blade_upgrade.html | 64 + .../blade_upgrade/blade.html | 43 + .../blade_upgrade/cosmic.html | 99 + .../blade_upgrade/flesh.html | 36 + datum/heretic_knowledge/cosmic_grasp.html | 35 + datum/heretic_knowledge/curse.html | 85 + datum/heretic_knowledge/duel_stance.html | 36 + .../heretic_knowledge/hunt_and_sacrifice.html | 194 + datum/heretic_knowledge/knowledge_ritual.html | 36 + datum/heretic_knowledge/limited_amount.html | 45 + .../limited_amount/flesh_ghoul.html | 49 + .../limited_amount/flesh_grasp.html | 49 + .../limited_amount/risen_corpse.html | 49 + .../limited_amount/starting.html | 31 + .../limited_amount/starting/base_ash.html | 53 + .../limited_amount/starting/base_blade.html | 57 + .../limited_amount/starting/base_cosmic.html | 53 + .../limited_amount/starting/base_flesh.html | 53 + .../limited_amount/starting/base_knock.html | 48 + .../limited_amount/starting/base_rust.html | 57 + .../limited_amount/starting/base_void.html | 53 + datum/heretic_knowledge/living_heart.html | 45 + datum/heretic_knowledge/mark.html | 74 + datum/heretic_knowledge/rifle_ammo.html | 36 + datum/heretic_knowledge/rust_regen.html | 37 + datum/heretic_knowledge/spell.html | 43 + datum/heretic_knowledge/summon.html | 43 + datum/heretic_knowledge/ultimate.html | 35 + .../heretic_knowledge/ultimate/ash_final.html | 36 + .../ultimate/cosmic_final.html | 36 + .../ultimate/rust_final.html | 66 + .../ultimate/void_final.html | 61 + datum/hfr_fuel.html | 113 + datum/highlander_controller.html | 50 + datum/holiday.html | 127 + datum/holiday/nth_week.html | 57 + datum/holocall.html | 92 + datum/hook_and_move.html | 118 + datum/http_request.html | 36 + datum/hud.html | 206 + datum/hud/new_player.html | 43 + datum/hud/ooze.html | 35 + datum/human_appearance_profile.html | 106 + datum/ice_cream_flavour.html | 85 + datum/id_trim.html | 106 + datum/id_trim/job.html | 88 + datum/id_trim/job/captain.html | 35 + datum/id_trim/job/security_officer.html | 43 + datum/idle_behavior/idle_dog.html | 35 + datum/idle_behavior/idle_ghost_item.html | 36 + datum/idle_behavior/idle_monkey.html | 43 + datum/idle_behavior/idle_random_walk.html | 36 + .../idle_random_walk/no_target.html | 36 + .../idle_random_walk/not_while_on_target.html | 36 + .../idle_random_walk/parrot.html | 36 + datum/idle_behavior/walk_near_target.html | 50 + datum/infuser_entry.html | 103 + datum/instrument.html | 152 + datum/instrument_key.html | 65 + datum/interview.html | 141 + datum/interview_manager.html | 174 + datum/job.html | 438 + datum/job/security_officer.html | 35 + datum/job/servant_golem.html | 39 + datum/job_config_type.html | 72 + datum/job_department.html | 106 + datum/jps_node.html | 78 + datum/json_reader.html | 36 + datum/json_savefile.html | 102 + datum/keybinding/human/quick_equip_belt.html | 43 + datum/known_alts.html | 37 + datum/language_holder.html | 196 + datum/latejoin_menu.html | 44 + datum/lazy_template.html | 65 + datum/lazy_template/virtual_domain.html | 148 + .../virtual_domain/beach_bar.html | 35 + .../virtual_domain/breeze_bay.html | 35 + datum/light_source.html | 236 + datum/light_template.html | 122 + datum/light_template/read_light.html | 36 + datum/lighting_corner.html | 50 + datum/lighting_object.html | 50 + datum/log_category.html | 128 + datum/log_entry.html | 122 + datum/log_holder.html | 152 + datum/looping_sound.html | 335 + datum/lua_editor.html | 64 + datum/lua_state.html | 87 + datum/mafia_ability.html | 129 + datum/mafia_ability/attack_player.html | 44 + datum/mafia_ability/attack_visitors.html | 29 + datum/mafia_ability/changeling_kill.html | 46 + datum/mafia_ability/flicker_rampage.html | 38 + datum/mafia_ability/heal.html | 38 + datum/mafia_ability/investigate.html | 29 + datum/mafia_ability/reaveal_role.html | 30 + datum/mafia_ability/roleblock.html | 30 + datum/mafia_ability/seance.html | 30 + datum/mafia_ability/self_reveal.html | 30 + datum/mafia_ability/thoughtfeeder.html | 29 + datum/mafia_ability/vest.html | 37 + datum/mafia_ability/voting.html | 29 + datum/mafia_controller.html | 553 + datum/mafia_role.html | 188 + datum/mafia_role/obsessed.html | 36 + datum/manifest.html | 85 + datum/map_config.html | 78 + datum/map_generator.html | 58 + datum/map_generator/cave_generator.html | 169 + .../map_generator/cave_generator/icemoon.html | 36 + .../cave_generator/lavaland.html | 36 + datum/map_generator/jungle_generator.html | 50 + datum/map_report.html | 43 + datum/map_template.html | 85 + datum/map_template/basketball.html | 43 + datum/map_template/ctf.html | 36 + datum/map_template/holodeck.html | 35 + datum/map_template/mafia.html | 50 + datum/map_template/shuttle.html | 103 + datum/map_template/shuttle/emergency.html | 64 + .../map_template/shuttle/emergency/arena.html | 36 + .../shuttle/emergency/narnar.html | 36 + datum/market.html | 71 + datum/market_item.html | 127 + datum/market_purchase.html | 57 + datum/martial_art.html | 36 + datum/martial_art/cqc.html | 43 + datum/martial_art/cqc/under_siege.html | 50 + datum/martial_art/the_sleeping_carp.html | 58 + datum/material.html | 288 + datum/material/alloy.html | 43 + datum/material/alloy/alien.html | 41 + datum/material/alloy/plasmaglass.html | 35 + datum/material/alloy/plasteel.html | 38 + datum/material/alloy/plastitanium.html | 35 + datum/material/alloy/plastitaniumglass.html | 35 + datum/material/alloy/titaniumglass.html | 35 + datum/medical_note.html | 50 + datum/memory.html | 223 + datum/memory/bomb_defuse_success.html | 36 + datum/memory/dna_infusion.html | 36 + datum/memory/good_drink.html | 36 + datum/memory/good_food.html | 36 + datum/memory/high_five.html | 36 + datum/memory/key.html | 30 + datum/memory/playing_cards.html | 50 + datum/memory/received_medal.html | 43 + datum/memory/surgery.html | 36 + datum/memory/was_dismembered.html | 36 + datum/memory/witnessed_russian_roulette.html | 50 + datum/merger.html | 64 + datum/micro_organism.html | 50 + datum/micro_organism/cell_line.html | 120 + datum/mind.html | 411 + datum/mod_link.html | 113 + datum/mod_link_call.html | 43 + datum/mod_theme.html | 169 + datum/modular_mob_segment.html | 71 + datum/mood.html | 246 + datum/mood_event.html | 96 + datum/mood_event/area.html | 50 + datum/mood_event/drunk.html | 36 + datum/move_loop.html | 176 + datum/move_loop/has_target.html | 36 + datum/move_loop/has_target/dist_bound.html | 35 + datum/move_loop/has_target/jps.html | 120 + datum/move_loop/has_target/move_towards.html | 70 + datum/movement_detector.html | 51 + datum/movement_packet.html | 84 + datum/movespeed_modifier.html | 78 + datum/mutation/human.html | 260 + datum/mutation/human/acidflesh.html | 36 + datum/mutation/human/chameleon.html | 57 + datum/mutation/human/extrastun.html | 35 + datum/mutation/human/glow.html | 35 + datum/mutation/human/hulk.html | 81 + datum/mutation/human/hulk/wizardly.html | 36 + datum/mutation/human/laser_eyes.html | 35 + datum/mutation/human/radioactive.html | 45 + datum/mutation/human/telekinesis.html | 43 + datum/newspanel.html | 176 + datum/nobody_wants_to_learn_matrix_math.html | 32 + datum/ntnet_conversation.html | 92 + datum/object_window_info.html | 86 + datum/objective.html | 50 + datum/objective/door_jack.html | 36 + datum/objective/heretic_research.html | 36 + datum/objective/heretic_summon.html | 36 + datum/objective/hijack.html | 36 + datum/objective/mutiny.html | 43 + datum/objective/sacrifice.html | 35 + datum/objective_item.html | 120 + datum/objective_item_handler.html | 37 + datum/objective_target_machine_handler.html | 50 + datum/orbit_menu.html | 57 + datum/orderable_item.html | 64 + datum/orion_event.html | 112 + datum/outfit.html | 324 + datum/outfit/basketball.html | 43 + datum/outfit/consumed_clown.html | 36 + datum/outfit/ctf.html | 78 + datum/outfit/syndicate.html | 50 + datum/overlay_info.html | 73 + datum/pai_candidate.html | 93 + datum/painting.html | 134 + datum/paper_field.html | 50 + datum/paper_input.html | 71 + datum/paper_stamp.html | 57 + datum/parsed_map.html | 166 + datum/particle_editor.html | 36 + datum/path_map.html | 178 + datum/pathfind.html | 114 + datum/pathfind/jps.html | 124 + datum/pathfind/sssp.html | 51 + datum/pda_chat.html | 118 + datum/pda_message.html | 71 + datum/pet_command.html | 160 + datum/pet_command/follow.html | 36 + datum/pet_command/follow/bee.html | 36 + datum/pet_command/minebot_ability.html | 36 + datum/pet_command/point_targeting.html | 50 + datum/pet_command/point_targeting/attack.html | 50 + .../point_targeting/attack/swirl.html | 36 + datum/pet_command/point_targeting/fetch.html | 58 + .../point_targeting/use_ability.html | 36 + datum/pet_command/protect_owner.html | 43 + datum/pet_command/untargeted_ability.html | 36 + datum/physiology.html | 121 + datum/picture.html | 57 + datum/pipe_icon_generator.html | 35 + datum/pipeline.html | 138 + datum/pirate_gang.html | 154 + datum/plane_master_debug.html | 93 + datum/plane_master_group.html | 131 + datum/plane_master_group/hudless.html | 35 + datum/plant_gene.html | 57 + datum/plant_gene/reagent.html | 51 + datum/plant_gene/trait.html | 71 + datum/plant_gene/trait/anti_magic.html | 50 + datum/plant_gene/trait/attack.html | 64 + datum/plant_gene/trait/backfire.html | 66 + .../plant_gene/trait/backfire/chili_heat.html | 43 + datum/plant_gene/trait/battery.html | 36 + datum/plant_gene/trait/brewing.html | 31 + datum/plant_gene/trait/eyes.html | 37 + datum/plant_gene/trait/gas_production.html | 44 + datum/plant_gene/trait/glow.html | 36 + datum/plant_gene/trait/juicing.html | 29 + datum/plant_gene/trait/maxchem.html | 30 + .../plant_gene/trait/mob_transformation.html | 71 + datum/plant_gene/trait/modified_volume.html | 36 + datum/plant_gene/trait/plant_laughter.html | 38 + datum/plant_gene/trait/repeated_harvest.html | 36 + datum/plant_gene/trait/slip.html | 35 + datum/player_details.html | 103 + datum/point.html | 35 + datum/point/vector.html | 64 + datum/point_of_interest.html | 57 + datum/point_of_interest/mob_poi.html | 49 + datum/poll_option.html | 109 + datum/poll_question.html | 188 + datum/port.html | 128 + datum/port/input.html | 99 + datum/port/output.html | 29 + datum/portrait_picker.html | 59 + datum/powernet.html | 42 + datum/preference.html | 314 + datum/preference/choiced.html | 92 + datum/preference/name.html | 57 + datum/preference/numeric.html | 50 + datum/preference/text.html | 43 + datum/preference/toggle.html | 36 + datum/preference_middleware.html | 105 + datum/preference_middleware/tts.html | 36 + datum/preferences.html | 369 + datum/prisoner_crime.html | 50 + datum/progressbar.html | 143 + datum/proximity_monitor.html | 64 + datum/proximity_monitor/advanced.html | 89 + .../advanced/demoraliser.html | 54 + .../advanced/elevator_music_area.html | 71 + .../advanced/gravity/warns_on_entrance.html | 38 + .../advanced/quirk_posters.html | 36 + .../proximity_monitor/advanced/timestop.html | 36 + datum/puzzgrid.html | 37 + datum/queue_link.html | 57 + datum/quirk.html | 204 + datum/quirk/all_nighter.html | 93 + datum/quirk/bad_touch.html | 35 + datum/quirk/badback.html | 42 + datum/quirk/blooddeficiency.html | 39 + datum/quirk/claustrophobia.html | 35 + datum/quirk/gamer.html | 65 + datum/quirk/heterochromatic.html | 35 + datum/quirk/indebted.html | 42 + datum/quirk/insanity.html | 36 + datum/quirk/item_quirk.html | 59 + datum/quirk/item_quirk/bald.html | 50 + datum/quirk/item_quirk/family_heirloom.html | 36 + datum/quirk/item_quirk/food_allergic.html | 36 + datum/quirk/item_quirk/junkie/alcoholic.html | 36 + datum/quirk/nyctophobia.html | 35 + datum/quirk/prosthetic_limb.html | 43 + datum/quirk/prosthetic_organ.html | 43 + datum/quirk/spacer_born.html | 133 + datum/quirk_constant_data.html | 66 + datum/radial_menu.html | 64 + datum/radial_menu/persistent.html | 35 + datum/radial_menu_choice.html | 50 + datum/radio_frequency.html | 57 + datum/reagent.html | 498 + datum/reagent/ants.html | 50 + datum/reagent/blob.html | 42 + datum/reagent/catalyst_agent.html | 51 + datum/reagent/colorful_reagent.html | 35 + datum/reagent/consumable.html | 50 + datum/reagent/consumable/ethanol.html | 55 + .../consumable/ethanol/demonsblood.html | 35 + .../consumable/ethanol/devilskiss.html | 35 + datum/reagent/consumable/frostoil.html | 36 + .../consumable/nutriment/cloth_fibers.html | 36 + datum/reagent/consumable/rootbeer.html | 36 + datum/reagent/determination.html | 36 + datum/reagent/drug/blastoff.html | 64 + datum/reagent/drug/saturnx.html | 35 + datum/reagent/eigenstate.html | 57 + datum/reagent/impurity/aiuri.html | 36 + datum/reagent/impurity/inacusiate.html | 36 + datum/reagent/impurity/mannitol.html | 36 + datum/reagent/inverse.html | 36 + datum/reagent/inverse/corazargh.html | 42 + datum/reagent/inverse/cryostylane.html | 36 + datum/reagent/inverse/healing/syriniver.html | 36 + datum/reagent/inverse/ichiyuri.html | 43 + datum/reagent/inverse/oculine.html | 36 + datum/reagent/inverse/penthrite.html | 47 + datum/reagent/lube.html | 36 + datum/reagent/medicine/adminordrazine.html | 36 + datum/reagent/medicine/antihol.html | 38 + datum/reagent/medicine/c2/penthrite.html | 36 + datum/reagent/medicine/c2/seiver.html | 36 + datum/reagent/medicine/c2/tirimol.html | 36 + datum/reagent/medicine/coagulant.html | 50 + datum/reagent/medicine/earthsblood.html | 35 + datum/reagent/medicine/neurine.html | 36 + datum/reagent/medicine/oculine.html | 36 + datum/reagent/medicine/strange_reagent.html | 71 + datum/reagent/metalgen.html | 50 + datum/reagent/toxin.html | 57 + datum/reagent/toxin/plasma.html | 35 + datum/reagent/toxin/venom.html | 36 + datum/reagent/uranium.html | 36 + datum/reagent/water.html | 35 + datum/reagents.html | 624 + datum/reality_smash_tracker.html | 105 + datum/record.html | 113 + datum/record/crew.html | 174 + datum/record/locked.html | 57 + datum/religion_rites.html | 85 + datum/religion_rites/adapted_food.html | 36 + datum/religion_rites/blazing_star.html | 36 + datum/religion_rites/burning_sacrifice.html | 36 + datum/religion_rites/ceremonial_weapon.html | 36 + datum/religion_rites/deaconize.html | 36 + datum/religion_rites/fireproof.html | 43 + .../nullrod_transformation.html | 36 + .../religion_rites/portable_song_tuning.html | 36 + datum/religion_rites/ritual_totem.html | 36 + datum/religion_rites/song_tuner.html | 101 + datum/religion_rites/song_tuner/light.html | 36 + datum/religion_rites/song_tuner/lullaby.html | 36 + datum/religion_rites/sparring_contract.html | 36 + datum/religion_rites/summon_rules.html | 36 + datum/religion_sect.html | 227 + datum/religion_sect/honorbound.html | 52 + datum/religion_sect/spar.html | 57 + datum/request.html | 92 + datum/request_manager.html | 156 + datum/request_message.html | 106 + datum/required_item.html | 57 + datum/robot_energy_storage.html | 36 + datum/robot_energy_storage/material.html | 36 + datum/round_event.html | 98 + datum/round_event/anomaly.html | 43 + .../anomaly/anomaly_dimensional.html | 36 + .../anomaly/anomaly_ectoplasm.html | 43 + datum/round_event/brand_intelligence.html | 64 + datum/round_event/carp_migration.html | 71 + datum/round_event/disease_outbreak.html | 57 + .../disease_outbreak/advanced.html | 59 + datum/round_event/earthquake.html | 64 + datum/round_event/falsealarm.html | 36 + datum/round_event/ghost_role.html | 102 + .../ghost_role/bitrunning_glitch.html | 36 + datum/round_event/ghost_role/fugitives.html | 35 + datum/round_event/ghost_role/sentience.html | 35 + datum/round_event/grey_tide.html | 43 + datum/round_event/heart_attack.html | 53 + datum/round_event/immovable_rod.html | 43 + datum/round_event/market_crash.html | 36 + datum/round_event/mass_hallucination.html | 43 + datum/round_event/pirates.html | 36 + datum/round_event/portal_storm.html | 36 + datum/round_event/radiation_leak.html | 65 + datum/round_event/sandstorm.html | 36 + datum/round_event/scrubber_overflow.html | 78 + datum/round_event/shuttle_loan.html | 43 + datum/round_event/spacevine.html | 64 + datum/round_event/stray_cargo.html | 89 + datum/round_event/stray_cargo/syndicate.html | 35 + datum/round_event/stray_meteor.html | 36 + datum/round_event/supermatter_surge.html | 50 + datum/round_event/tram_malfunction.html | 36 + datum/round_event/vent_clog.html | 144 + datum/round_event/wisdomcow.html | 50 + datum/round_event/wizard/deprevolt.html | 50 + datum/round_event/wizard/madness.html | 36 + datum/round_event/wizard/petsplosion.html | 35 + datum/round_event_control.html | 73 + .../bitrunning_glitch.html | 43 + .../round_event_control/disease_outbreak.html | 46 + datum/round_event_control/grid_check.html | 38 + datum/round_event_control/heart_attack.html | 46 + datum/round_event_control/market_crash.html | 29 + datum/round_event_control/sandstorm.html | 32 + .../sandstorm_classic.html | 31 + datum/round_event_control/shuttle_loan.html | 36 + .../supermatter_surge.html | 32 + .../wizard/embedpocalypse.html | 35 + .../wizard/petsplosion.html | 43 + datum/rpgloot_controller.html | 54 + datum/rpgtitle_controller.html | 51 + datum/rust_spread.html | 75 + datum/scan_condition.html | 35 + datum/scanner_controller.html | 57 + datum/scar.html | 150 + datum/scientific_paper.html | 195 + datum/scientific_paper/explosive.html | 45 + datum/scientific_paper/gaseous.html | 39 + datum/scientific_partner.html | 64 + datum/screen_object_holder.html | 43 + datum/secrets_menu.html | 35 + datum/security_level.html | 108 + datum/security_level/blue.html | 29 + datum/security_level/delta.html | 29 + datum/security_level/green.html | 29 + datum/security_level/red.html | 29 + datum/select_equipment.html | 60 + datum/shuttle_event.html | 89 + datum/shuttle_event/simple_spawner.html | 127 + .../simple_spawner/carp/friendly.html | 36 + .../simple_spawner/meteor/dust.html | 36 + .../simple_spawner/player_controlled.html | 43 + .../player_controlled/carp.html | 36 + datum/shuttle_loan_situation.html | 78 + datum/signal.html | 70 + datum/signal/subspace.html | 94 + .../subspace/messaging/tablet_message.html | 58 + datum/signal/subspace/vocal.html | 50 + datum/skill.html | 100 + datum/skill/fitness.html | 43 + datum/slime_type.html | 57 + datum/sm_delam.html | 193 + datum/sm_delam/cascade.html | 35 + datum/sm_gas.html | 80 + datum/sm_gas/bz.html | 35 + datum/sm_gas/carbon_dioxide.html | 35 + datum/sm_gas/miasma.html | 35 + datum/smite.html | 61 + datum/smite/bad_luck.html | 43 + datum/smite/berforate.html | 36 + datum/smite/curse_of_babel.html | 36 + datum/smite/custom_imaginary_friend.html | 54 + datum/smite/objectify.html | 36 + datum/smite/supply_pod_quick.html | 36 + datum/song.html | 550 + datum/sort_instance.html | 45 + datum/spacevine_controller.html | 85 + datum/spacevine_mutation.html | 57 + .../spacevine_mutation/aggressive_spread.html | 49 + datum/spacevine_mutation/vine_eating.html | 35 + datum/sparring_match.html | 155 + datum/spatial_grid_cell.html | 73 + datum/species.html | 1045 ++ datum/species/dullahan.html | 57 + datum/species/ethereal.html | 35 + datum/species/golem.html | 36 + datum/species/human/felinid.html | 36 + datum/species/jelly/luminescent.html | 71 + datum/species/jelly/stargazer.html | 36 + datum/species/lizard.html | 35 + datum/species/lizard/silverscale.html | 50 + datum/species/plasmaman.html | 36 + datum/species/vampire.html | 36 + datum/species/zombie.html | 43 + datum/spellbook_entry.html | 189 + datum/spellbook_entry/item.html | 43 + datum/sprite_accessory.html | 122 + datum/sprite_accessory/gradient.html | 36 + datum/stack_canary.html | 35 + datum/stack_end_detector.html | 47 + datum/stack_recipe.html | 143 + datum/stack_recipe/radial.html | 36 + datum/station_alert.html | 64 + datum/station_request.html | 72 + datum/station_state.html | 34 + datum/station_trait.html | 211 + datum/station_trait/birthday.html | 50 + .../station_trait/cybernetic_revolution.html | 36 + datum/station_trait/ian_adventure.html | 35 + datum/station_trait/job.html | 72 + datum/station_trait/job/cargorilla.html | 35 + datum/station_trait/nebula.html | 43 + datum/station_trait/nebula/hostile.html | 99 + .../nebula/hostile/radiation.html | 78 + .../random_event_weight_modifier.html | 50 + .../station_trait/revolutionary_trashing.html | 45 + datum/status_effect.html | 249 + datum/status_effect/agent_pinpointer.html | 78 + datum/status_effect/ants.html | 43 + datum/status_effect/basilisk_overheat.html | 57 + datum/status_effect/bugkiller_death.html | 37 + datum/status_effect/choke.html | 71 + datum/status_effect/cloudstruck.html | 36 + datum/status_effect/confusion.html | 35 + datum/status_effect/cosmic_beam.html | 124 + datum/status_effect/decloning.html | 36 + datum/status_effect/dizziness.html | 35 + datum/status_effect/drowsiness.html | 35 + datum/status_effect/drugginess.html | 35 + datum/status_effect/eigenstasium.html | 57 + datum/status_effect/eldritch.html | 65 + datum/status_effect/eldritch/ash.html | 36 + datum/status_effect/eldritch/blade.html | 64 + datum/status_effect/eldritch/cosmic.html | 43 + datum/status_effect/exercised.html | 36 + datum/status_effect/eye_blur.html | 37 + datum/status_effect/fire_blasted.html | 44 + datum/status_effect/fire_handler.html | 96 + .../fire_handler/fire_stacks.html | 98 + datum/status_effect/fire_ring.html | 36 + datum/status_effect/food.html | 36 + datum/status_effect/genetic_damage.html | 57 + datum/status_effect/ghoul.html | 71 + datum/status_effect/golem.html | 78 + datum/status_effect/golem/bananium.html | 43 + datum/status_effect/golem/diamond.html | 78 + datum/status_effect/golem/plasma.html | 57 + datum/status_effect/golem/titanium.html | 85 + datum/status_effect/grouped.html | 36 + datum/status_effect/grouped/cursed.html | 114 + datum/status_effect/grouped/nearsighted.html | 71 + datum/status_effect/grouped/screwy_hud.html | 47 + datum/status_effect/guardian_scout_mode.html | 56 + datum/status_effect/guardian_stealth.html | 57 + datum/status_effect/hallucination.html | 83 + datum/status_effect/hallucination/sanity.html | 35 + datum/status_effect/ice_block_talisman.html | 43 + .../incapacitating/sleeping.html | 42 + .../stun/goliath_tentacled.html | 57 + datum/status_effect/inebriated.html | 51 + datum/status_effect/inebriated/drunk.html | 36 + datum/status_effect/inflated.html | 35 + datum/status_effect/jitter.html | 35 + datum/status_effect/limited_buff.html | 50 + .../limited_buff/health_buff.html | 57 + datum/status_effect/limp.html | 78 + datum/status_effect/lobster_rush.html | 37 + datum/status_effect/mayhem.html | 36 + datum/status_effect/midas_blight.html | 43 + datum/status_effect/offering.html | 108 + .../no_item_received/needs_resting.html | 45 + datum/status_effect/organ_set_bonus.html | 64 + .../status_effect/organ_set_bonus/roach.html | 43 + datum/status_effect/overwatch.html | 99 + datum/status_effect/protective_blades.html | 88 + .../protective_blades/recharging.html | 37 + datum/status_effect/protector_shield.html | 71 + datum/status_effect/psychic_projection.html | 43 + datum/status_effect/shadow_cloak.html | 86 + datum/status_effect/shapechange_mob.html | 109 + .../shapechange_mob/from_spell.html | 36 + datum/status_effect/silenced.html | 35 + datum/status_effect/slimed.html | 50 + datum/status_effect/song/light.html | 36 + datum/status_effect/spacer.html | 38 + .../spacer/gravity_sickness.html | 50 + .../spacer/gravity_wellness.html | 57 + datum/status_effect/speech.html | 47 + datum/status_effect/speech/slurring.html | 92 + datum/status_effect/speech/stutter.html | 43 + .../speech/stutter/derpspeech.html | 43 + datum/status_effect/stabilized.html | 43 + datum/status_effect/stabilized/black.html | 50 + datum/status_effect/stabilized/pink.html | 50 + datum/status_effect/stabilized/purple.html | 36 + datum/status_effect/stacking.html | 195 + .../stacking/brimdust_coating.html | 87 + datum/status_effect/staggered.html | 35 + datum/status_effect/star_mark.html | 64 + datum/status_effect/static_vision.html | 35 + datum/status_effect/strandling.html | 66 + datum/status_effect/stun_absorption.html | 154 + .../temporary_transformation.html | 44 + .../temporary_transformation/trans_sting.html | 43 + datum/status_effect/terrified.html | 64 + datum/status_effect/unholy_determination.html | 36 + datum/status_effect/void_chill.html | 36 + datum/status_effect/wound.html | 35 + datum/stock_part.html | 86 + datum/storage.html | 583 + datum/storage/fish_case.html | 37 + datum/storage/rped.html | 64 + datum/strip_menu.html | 50 + datum/strippable_item.html | 144 + datum/strippable_item/hand.html | 36 + datum/strippable_item/mannequin_slot.html | 36 + datum/strippable_item/mob_item_slot.html | 43 + .../strippable_item/mob_item_slot/pocket.html | 36 + datum/summon_things_controller.html | 74 + datum/summon_things_controller/item.html | 43 + .../spellbook_entry.html | 36 + datum/supply_order.html | 57 + datum/supply_pack.html | 176 + datum/supply_pack/market_materials.html | 43 + datum/supply_pack/misc/syndicate.html | 50 + datum/supply_pack/organic/pizza.html | 99 + datum/surgery.html | 164 + datum/surgery/revival.html | 35 + datum/surgery_step.html | 41 + datum/surgery_step/debride.html | 50 + datum/surgery_step/dress.html | 43 + .../surgery_step/experimental_dissection.html | 35 + datum/surgery_step/filter_blood.html | 42 + datum/surgery_step/heal.html | 35 + datum/surgery_step/heal/brute.html | 35 + datum/surgery_step/heal/burn.html | 35 + datum/surgery_step/heal/combo.html | 35 + datum/surgery_step/manipulate_organs.html | 35 + .../manipulate_organs/external.html | 35 + .../manipulate_organs/internal.html | 35 + datum/surgery_step/revive.html | 35 + datum/symptom.html | 191 + datum/symptom/beard.html | 36 + datum/symptom/chills.html | 63 + datum/symptom/choking.html | 36 + datum/symptom/confusion.html | 36 + datum/symptom/cough.html | 51 + datum/symptom/deafness.html | 36 + datum/symptom/disfiguration.html | 36 + datum/symptom/dizzy.html | 36 + datum/symptom/fever.html | 63 + datum/symptom/fire.html | 36 + datum/symptom/heal/plasma.html | 39 + datum/symptom/itching.html | 43 + datum/symptom/sneeze.html | 43 + datum/symptom/visionloss.html | 36 + datum/syndicate_contract.html | 97 + datum/targeting_strategy.html | 43 + datum/targeting_strategy/basic.html | 64 + .../basic/holding_object.html | 45 + datum/targeting_strategy/basic/mook.html | 35 + datum/targeting_strategy/basic/mushroom.html | 35 + .../targeting_strategy/basic/not_friends.html | 57 + datum/targeting_strategy/basic/of_size.html | 43 + datum/targeting_strategy/lightgeist.html | 43 + datum/team.html | 99 + datum/team/abductor_team.html | 36 + datum/team/ashwalkers.html | 43 + datum/team/battlecruiser.html | 43 + datum/team/cult.html | 127 + datum/team/nation.html | 71 + datum/team/revolution.html | 137 + datum/team/xeno/captive.html | 36 + datum/techweb.html | 336 + datum/techweb/autounlocking.html | 45 + datum/techweb_node.html | 144 + datum/techweb_node/syndicate_basic.html | 37 + datum/tgs_chat_channel.html | 78 + datum/tgs_chat_command.html | 66 + datum/tgs_chat_command/validated.html | 42 + datum/tgs_chat_embed/footer.html | 36 + datum/tgs_chat_embed/media.html | 36 + datum/tgs_chat_embed/structure.html | 64 + datum/tgs_chat_user.html | 57 + datum/tgs_event_handler.html | 44 + datum/tgs_message_content.html | 43 + datum/tgs_revision_information.html | 50 + .../tgs_revision_information/test_merge.html | 78 + datum/tgs_version.html | 71 + datum/tgui.html | 272 + datum/tgui_alert.html | 102 + datum/tgui_checkbox_input.html | 99 + datum/tgui_input_number.html | 125 + datum/tgui_input_text.html | 130 + datum/tgui_list_input.html | 118 + datum/tgui_panel.html | 132 + datum/tgui_say.html | 212 + datum/tgui_window.html | 196 + datum/thrownthing.html | 204 + datum/ticket_history.html | 36 + datum/ticket_history_holder.html | 43 + datum/tile_info.html | 119 + datum/timedevent.html | 158 + datum/tlv.html | 82 + datum/trackable.html | 118 + datum/trader_data.html | 90 + datum/traitor_objective.html | 304 + datum/traitor_objective/destroy_heirloom.html | 64 + .../destroy_heirloom/common.html | 36 + .../destroy_heirloom/rare.html | 36 + .../destroy_heirloom/uncommon.html | 36 + datum/traitor_objective/destroy_item.html | 50 + datum/traitor_objective/kill_pet.html | 57 + datum/traitor_objective/locate_weakpoint.html | 71 + .../traitor_objective/sabotage_machinery.html | 57 + .../sabotage_machinery/trap.html | 57 + datum/traitor_objective/steal_item.html | 92 + datum/traitor_objective/target_player.html | 52 + .../target_player/assassinate.html | 47 + .../target_player/assassinate/behead.html | 43 + .../target_player/assault.html | 57 + .../target_player/eyesnatching.html | 43 + .../target_player/infect.html | 52 + .../target_player/kidnapping.html | 64 + datum/traitor_objective/ultimate.html | 35 + .../ultimate/battlecruiser.html | 43 + .../ultimate/dark_matteor.html | 43 + .../traitor_objective/ultimate/infect_ai.html | 43 + datum/traitor_objective/ultimate/romerol.html | 43 + .../ultimate/space_dragon.html | 43 + .../ultimate/supermatter_cascade.html | 43 + datum/traitor_objective_category.html | 53 + datum/tram_mfg_info.html | 38 + datum/transport_controller/linear.html | 288 + datum/transport_controller/linear/tram.html | 328 + datum/trophy_data.html | 50 + datum/tts_request.html | 157 + datum/turf_reservation.html | 155 + datum/turf_reservation/transit.html | 35 + datum/tutorial.html | 129 + datum/tutorial_manager.html | 99 + datum/ui_state.html | 40 + datum/unit_test.html | 96 + datum/unit_test/atmospheric_gas_transfer.html | 43 + datum/unit_test/atmospherics_sanity.html | 80 + datum/unit_test/binary_insert.html | 35 + datum/unit_test/blindness.html | 29 + datum/unit_test/breath.html | 40 + datum/unit_test/container_resist.html | 35 + datum/unit_test/dcs_check_list_arguments.html | 53 + .../unit_test/defined_inhand_icon_states.html | 40 + datum/unit_test/dismemberment.html | 36 + .../ensure_subtree_operational_datum.html | 51 + datum/unit_test/explosion_action.html | 91 + datum/unit_test/font_awesome_icons.html | 51 + datum/unit_test/frame_stacking.html | 40 + datum/unit_test/glass_style_icons.html | 43 + datum/unit_test/hydroponics_harvest.html | 49 + datum/unit_test/knockoff_component.html | 36 + datum/unit_test/lungs.html | 89 + datum/unit_test/machine_disassembly.html | 35 + datum/unit_test/mafia.html | 39 + .../unit_test/mapload_space_verification.html | 38 + datum/unit_test/mecha_damage.html | 36 + datum/unit_test/merge_type.html | 39 + datum/unit_test/mind_swap_spell.html | 31 + datum/unit_test/missing_icons.html | 40 + datum/unit_test/mob_damage.html | 167 + datum/unit_test/mob_damage/basic.html | 43 + datum/unit_test/modify_fantasy_variable.html | 35 + datum/unit_test/monkey_business.html | 32 + datum/unit_test/mutant_hands.html | 30 + datum/unit_test/mutant_hands_carry.html | 30 + datum/unit_test/mutant_hands_with_nodrop.html | 30 + datum/unit_test/nuke_cinematic.html | 51 + datum/unit_test/objectives_category.html | 35 + datum/unit_test/required_map_items.html | 52 + .../screenshot_high_luminosity_eyes.html | 35 + datum/unit_test/security_levels.html | 29 + datum/unit_test/servingtray.html | 35 + datum/unit_test/species_config_sanity.html | 39 + datum/unit_test/spell_names.html | 35 + datum/unit_test/stop_drop_and_roll.html | 35 + datum/unit_test/test_human_base.html | 35 + datum/unit_test/test_human_bone.html | 41 + datum/unit_test/transformation_sting.html | 35 + datum/unit_test/worn_icons.html | 40 + datum/uplink_category.html | 43 + datum/uplink_handler.html | 247 + datum/uplink_item.html | 213 + datum/uplink_item/bundles_tc/surplus.html | 71 + .../bundles_tc/surplus/united.html | 35 + datum/venue.html | 176 + datum/view_data.html | 83 + datum/visual_data.html | 71 + datum/visual_data/mirroring.html | 36 + datum/visual_data/tracking.html | 37 + datum/voice_of_god_command.html | 50 + datum/voice_of_god_command/emote.html | 36 + datum/voice_of_god_command/who_are_you.html | 36 + datum/vote.html | 218 + datum/vote/map_vote.html | 39 + datum/vote/restart_vote.html | 35 + datum/vote/rock_the_vote.html | 36 + datum/voucher_set.html | 64 + datum/wanted_message.html | 78 + datum/weakref.html | 81 + datum/weather.html | 336 + datum/weather/floor_is_lava.html | 40 + datum/weather/rad_storm.html | 43 + datum/weather/rad_storm/nebula.html | 36 + datum/weather/snow_storm.html | 43 + datum/weather/void_storm.html | 36 + datum/wires.html | 132 + datum/wires/conveyor.html | 36 + datum/wires/explosive/chem_grenade.html | 35 + datum/wires/vending.html | 36 + datum/worn_feature_offset.html | 100 + datum/wound.html | 679 + datum/wound/blunt/bone.html | 120 + datum/wound/blunt/bone/moderate.html | 49 + datum/wound/burn/flesh.html | 85 + datum/wound/loss.html | 43 + datum/wound/pierce/bleed.html | 71 + datum/wound/slash/flesh.html | 99 + datum/wound_pregen_data.html | 225 + datum/z_pillar.html | 84 + dmdoc.css | 112 + dmdoc.js | 58 + git.png | Bin 0 -> 2383 bytes global.html | 7024 +++++++++ image.html | 54 + index.html | 11927 ++++++++++++++++ interface/fonts/fonts_datum.html | 27 + interface/fonts/grand_9k.html | 32 + interface/fonts/license.html | 40 + interface/fonts/pixellari.html | 32 + interface/fonts/spess_font.html | 32 + interface/fonts/tiny_unicode.html | 32 + matrix.html | 63 + mob.html | 2236 +++ mob/camera.html | 36 + mob/camera/ai_eye.html | 35 + .../ai_eye/remote/base_construction.html | 39 + mob/camera/blob.html | 211 + mob/camera/imaginary_friend.html | 78 + mob/dead/new_player.html | 193 + mob/dead/observer.html | 42 + mob/living.html | 2703 ++++ mob/living/basic.html | 338 + mob/living/basic/bear.html | 36 + mob/living/basic/bee.html | 64 + mob/living/basic/blob_minion.html | 49 + .../basic/blob_minion/blobbernaut/minion.html | 57 + mob/living/basic/blob_minion/spore.html | 57 + .../basic/blob_minion/spore/minion.html | 57 + mob/living/basic/blob_minion/zombie.html | 57 + mob/living/basic/bot.html | 269 + mob/living/basic/bot/cleanbot.html | 157 + mob/living/basic/bot/medbot.html | 148 + .../basic/butterfly/lavaland/temporary.html | 73 + mob/living/basic/carp.html | 126 + mob/living/basic/carp/holographic.html | 35 + mob/living/basic/carp/magic.html | 75 + mob/living/basic/carp/mega.html | 31 + mob/living/basic/carp/pet/cayenne.html | 59 + mob/living/basic/cat_butcherer.html | 37 + mob/living/basic/chick.html | 44 + mob/living/basic/chicken.html | 36 + mob/living/basic/clown.html | 50 + mob/living/basic/clown/mutant/glutton.html | 50 + mob/living/basic/cockroach/glockroach.html | 43 + mob/living/basic/cockroach/hauberoach.html | 35 + mob/living/basic/construct.html | 92 + mob/living/basic/construct/artificer.html | 36 + mob/living/basic/construct/harvester.html | 35 + .../basic/construct/proteon/hostile.html | 35 + mob/living/basic/cow.html | 57 + mob/living/basic/cow/wisdom.html | 50 + mob/living/basic/crab.html | 36 + mob/living/basic/deer.html | 36 + mob/living/basic/demon.html | 50 + mob/living/basic/demon/slaughter.html | 92 + .../basic/demon/slaughter/laughter.html | 35 + mob/living/basic/drone.html | 341 + mob/living/basic/drone/syndrone.html | 37 + mob/living/basic/eyeball.html | 57 + mob/living/basic/faithless.html | 43 + mob/living/basic/festivus.html | 36 + mob/living/basic/frog.html | 43 + mob/living/basic/frog/frog_suicide.html | 36 + mob/living/basic/garden_gnome.html | 71 + mob/living/basic/ghost.html | 90 + mob/living/basic/goat.html | 87 + mob/living/basic/gorilla.html | 58 + mob/living/basic/guardian.html | 296 + mob/living/basic/guardian/assassin.html | 57 + mob/living/basic/guardian/dextrous.html | 36 + mob/living/basic/guardian/explosive.html | 36 + mob/living/basic/guardian/gaseous.html | 64 + mob/living/basic/guardian/gravitokinetic.html | 99 + mob/living/basic/guardian/lightning.html | 78 + mob/living/basic/guardian/protector.html | 36 + mob/living/basic/guardian/standard.html | 43 + mob/living/basic/guardian/support.html | 43 + mob/living/basic/headslug.html | 53 + mob/living/basic/heretic_summon/armsy.html | 71 + .../heretic_summon/maid_in_the_mirror.html | 50 + .../basic/heretic_summon/raw_prophet.html | 45 + mob/living/basic/heretic_summon/stalker.html | 36 + mob/living/basic/hivebot.html | 43 + mob/living/basic/hivebot/mechanic.html | 36 + mob/living/basic/leaper.html | 50 + mob/living/basic/legion_brood.html | 64 + mob/living/basic/lightgeist.html | 29 + mob/living/basic/living_limb_flesh.html | 36 + mob/living/basic/lizard.html | 36 + mob/living/basic/meteor_heart.html | 57 + .../basic/meteor_heart/opens_puzzle_door.html | 43 + mob/living/basic/migo.html | 43 + mob/living/basic/mining.html | 50 + mob/living/basic/mining/basilisk.html | 57 + mob/living/basic/mining/bileworm.html | 43 + mob/living/basic/mining/brimdemon.html | 36 + mob/living/basic/mining/demon_afterimage.html | 36 + mob/living/basic/mining/goldgrub.html | 50 + mob/living/basic/mining/goliath.html | 113 + .../mining/goliath/ancient/immortal.html | 50 + mob/living/basic/mining/gutlunch.html | 43 + mob/living/basic/mining/gutlunch/grub.html | 36 + mob/living/basic/mining/gutlunch/milk.html | 36 + mob/living/basic/mining/hivelord.html | 50 + mob/living/basic/mining/ice_whelp.html | 50 + mob/living/basic/mining/legion.html | 72 + mob/living/basic/mining/legion/large.html | 35 + mob/living/basic/mining/lobstrosity.html | 43 + mob/living/basic/mining/mook.html | 85 + mob/living/basic/mining/mook/worker/bard.html | 36 + .../mining/mook/worker/tribal_chief.html | 57 + mob/living/basic/mining/watcher.html | 71 + mob/living/basic/mining_drone.html | 50 + mob/living/basic/morph.html | 105 + mob/living/basic/mouse.html | 106 + mob/living/basic/mushroom.html | 71 + mob/living/basic/paper_wizard.html | 50 + mob/living/basic/parrot.html | 230 + mob/living/basic/parrot/poly.html | 78 + mob/living/basic/pet.html | 83 + mob/living/basic/pet/cat.html | 71 + mob/living/basic/pet/cat/runtime.html | 64 + mob/living/basic/pet/dog.html | 50 + mob/living/basic/pet/dog/corgi.html | 154 + mob/living/basic/pet/dog/corgi/ian.html | 78 + mob/living/basic/pet/dog/corgi/narsie.html | 43 + mob/living/basic/pet/penguin.html | 43 + mob/living/basic/pet/penguin/baby.html | 36 + mob/living/basic/pig.html | 35 + mob/living/basic/pony.html | 57 + mob/living/basic/rabbit.html | 38 + mob/living/basic/rabbit/easter.html | 43 + mob/living/basic/regal_rat.html | 96 + mob/living/basic/revenant.html | 196 + mob/living/basic/robot_customer.html | 57 + mob/living/basic/seedling.html | 93 + mob/living/basic/shade.html | 43 + mob/living/basic/sheep.html | 43 + mob/living/basic/skeleton.html | 71 + mob/living/basic/snake.html | 36 + mob/living/basic/space_dragon.html | 122 + mob/living/basic/spider.html | 85 + mob/living/basic/spider/giant.html | 38 + mob/living/basic/spider/giant/ambush.html | 30 + mob/living/basic/spider/giant/breacher.html | 30 + mob/living/basic/spider/giant/guard.html | 30 + mob/living/basic/spider/giant/hunter.html | 30 + mob/living/basic/spider/giant/hunter/ice.html | 29 + .../basic/spider/giant/hunter/scrawny.html | 30 + mob/living/basic/spider/giant/ice.html | 30 + mob/living/basic/spider/giant/midwife.html | 32 + mob/living/basic/spider/giant/nurse.html | 39 + mob/living/basic/spider/giant/nurse/ice.html | 29 + .../basic/spider/giant/nurse/scrawny.html | 31 + mob/living/basic/spider/giant/scout.html | 30 + .../basic/spider/giant/sgt_araneus.html | 29 + mob/living/basic/spider/giant/tangle.html | 38 + mob/living/basic/spider/giant/tank.html | 37 + mob/living/basic/spider/giant/tarantula.html | 45 + .../basic/spider/giant/tarantula/scrawny.html | 30 + mob/living/basic/spider/giant/viper.html | 30 + .../basic/spider/giant/viper/wizard.html | 29 + mob/living/basic/spider/growing.html | 61 + .../basic/spider/growing/young/nurse.html | 36 + .../basic/spider/growing/young/tangle.html | 35 + .../basic/spider/growing/young/tank.html | 35 + mob/living/basic/spider/maintenance.html | 29 + mob/living/basic/statue.html | 36 + mob/living/basic/supermatter_spider.html | 50 + mob/living/basic/trader.html | 92 + mob/living/basic/tree.html | 57 + mob/living/basic/trooper.html | 57 + mob/living/basic/trooper/abductor/ranged.html | 57 + .../basic/trooper/nanotrasen/ranged.html | 57 + mob/living/basic/trooper/pirate.html | 36 + mob/living/basic/trooper/pirate/ranged.html | 57 + .../basic/trooper/syndicate/ranged.html | 57 + mob/living/basic/venus_human_trap.html | 63 + mob/living/basic/wizard.html | 71 + mob/living/basic/wumborian_fugu.html | 38 + mob/living/brain.html | 35 + mob/living/carbon.html | 1267 ++ mob/living/carbon/alien.html | 71 + mob/living/carbon/alien/adult.html | 46 + mob/living/carbon/alien/adult/hunter.html | 36 + mob/living/carbon/alien/larva.html | 35 + mob/living/carbon/human.html | 495 + mob/living/carbon/human/dummy.html | 42 + .../carbon/human/species/monkey/angry.html | 35 + .../carbon/human/species/monkey/punpun.html | 43 + mob/living/silicon.html | 123 + mob/living/silicon/ai.html | 134 + mob/living/silicon/pai.html | 543 + mob/living/silicon/robot.html | 570 + mob/living/simple_animal.html | 491 + mob/living/simple_animal/bot.html | 384 + mob/living/simple_animal/bot/floorbot.html | 42 + mob/living/simple_animal/bot/hygienebot.html | 85 + mob/living/simple_animal/bot/mulebot.html | 157 + mob/living/simple_animal/bot/secbot.html | 141 + .../simple_animal/bot/secbot/honkbot.html | 57 + mob/living/simple_animal/bot/vibebot.html | 36 + mob/living/simple_animal/hostile.html | 323 + .../simple_animal/hostile/asteroid.html | 50 + .../hostile/asteroid/elite/broodmother.html | 37 + .../hostile/asteroid/elite/herald.html | 37 + .../hostile/asteroid/elite/legionnaire.html | 45 + .../hostile/asteroid/elite/pandora.html | 37 + .../hostile/asteroid/polarbear.html | 36 + .../simple_animal/hostile/asteroid/wolf.html | 36 + .../simple_animal/hostile/illusion.html | 43 + .../simple_animal/hostile/megafauna.html | 143 + .../hostile/megafauna/blood_drunk_miner.html | 64 + .../hostile/megafauna/bubblegum.html | 92 + .../hostile/megafauna/colossus.html | 83 + .../megafauna/demonic_frost_miner.html | 99 + .../hostile/megafauna/dragon.html | 57 + .../hostile/megafauna/legion.html | 98 + .../hostile/megafauna/wendigo.html | 106 + mob/living/simple_animal/hostile/mimic.html | 43 + .../simple_animal/hostile/mimic/xenobio.html | 60 + mob/living/simple_animal/hostile/ooze.html | 78 + .../hostile/ooze/gelatinous.html | 53 + .../simple_animal/hostile/ooze/grapes.html | 31 + .../simple_animal/hostile/retaliate.html | 36 + .../hostile/retaliate/goose/vomit.html | 35 + mob/living/simple_animal/hostile/zombie.html | 43 + mob/living/simple_animal/pet.html | 83 + mob/living/simple_animal/slime.html | 390 + mob/living/simple_animal/slime/random.html | 35 + mob/living/simple_animal/soulscythe.html | 36 + mob/oranges_ear.html | 77 + mob/proccall_handler.html | 44 + .../code/action.html | 28 + modular_event/tournament/auto_equip.html | 28 + modular_event/tournament/controller.html | 27 + modular_event/tournament/teams.html | 27 + obj.html | 311 + obj/cascade_portal.html | 36 + obj/crystal_mass.html | 50 + obj/docking_port.html | 140 + obj/docking_port/mobile.html | 251 + obj/docking_port/mobile/arrivals.html | 40 + obj/docking_port/mobile/emergency.html | 48 + obj/docking_port/mobile/supply.html | 49 + obj/docking_port/stationary.html | 50 + obj/docking_port/stationary/escape_pod.html | 36 + obj/docking_port/stationary/picked.html | 36 + obj/docking_port/stationary/random.html | 43 + obj/docking_port/stationary/transit.html | 50 + obj/durand_shield.html | 75 + obj/effect/abstract/chasm_storage.html | 41 + obj/effect/abstract/elevator_music_zone.html | 78 + obj/effect/abstract/info.html | 36 + obj/effect/abstract/particle_holder.html | 64 + obj/effect/abstract/surveillance_snare.html | 57 + obj/effect/anomaly.html | 57 + obj/effect/anomaly/bioscrambler.html | 50 + obj/effect/anomaly/bluespace.html | 43 + obj/effect/anomaly/dimensional.html | 87 + obj/effect/anomaly/ectoplasm.html | 59 + obj/effect/anomaly/flux/big.html | 50 + obj/effect/anomaly/grav.html | 36 + obj/effect/anomaly/hallucination.html | 50 + obj/effect/anomaly/pyro.html | 36 + obj/effect/baseturf_helper.html | 50 + obj/effect/brimbeam.html | 57 + obj/effect/bump_teleporter.html | 64 + obj/effect/bump_teleporter/filtering.html | 35 + obj/effect/client_image_holder.html | 129 + .../client_image_holder/hallucination.html | 43 + .../hallucination/danger.html | 35 + .../hallucination/fake_door_lock.html | 36 + .../hallucination/xeno.html | 42 + obj/effect/collapse.html | 50 + obj/effect/collapsing_demonic_portal.html | 42 + obj/effect/cosmic_rune.html | 71 + obj/effect/cross_action/spacetime_dist.html | 36 + obj/effect/decal.html | 35 + obj/effect/decal/chempuff.html | 80 + obj/effect/decal/cleanable.html | 85 + obj/effect/decal/cleanable/ants.html | 43 + obj/effect/decal/cleanable/blood.html | 35 + .../decal/cleanable/blood/footprints.html | 43 + obj/effect/decal/cleanable/blood/gibs.html | 36 + .../decal/cleanable/blood/hitsplatter.html | 78 + obj/effect/decal/cleanable/fuel_pool.html | 75 + obj/effect/decal/cleanable/traitor_rune.html | 81 + obj/effect/decal/remains/human/smokey.html | 43 + obj/effect/dummy/lighting_obj.html | 30 + obj/effect/dummy/phased_mob.html | 71 + obj/effect/dummy/phased_mob/shadow.html | 87 + obj/effect/dummy/phased_mob/spell_jaunt.html | 36 + obj/effect/floating_blade.html | 36 + obj/effect/forcefield.html | 36 + obj/effect/forcefield/cosmic_field.html | 36 + obj/effect/forcefield/wizard.html | 43 + obj/effect/goliath_tentacle.html | 78 + obj/effect/grand_rune.html | 159 + obj/effect/grand_rune/finale.html | 57 + obj/effect/heretic_influence.html | 74 + obj/effect/heretic_rune.html | 58 + obj/effect/hotspot.html | 105 + obj/effect/immovablerod.html | 136 + obj/effect/immovablerod/wizard.html | 86 + obj/effect/landmark/atmospheric_sanity.html | 29 + obj/effect/landmark/event_spawn.html | 31 + obj/effect/landmark/heretic.html | 36 + obj/effect/landmark/start/depsec.html | 36 + obj/effect/landmark/start/hangover.html | 50 + .../landmark/transport/nav_beacon/tram.html | 50 + .../landmark/transport/transport_id.html | 37 + obj/effect/lock_portal.html | 85 + obj/effect/mapping_helpers/atom_injector.html | 71 + .../atom_injector/component_injector.html | 43 + .../atom_injector/custom_icon.html | 50 + .../atom_injector/custom_sound.html | 50 + .../atom_injector/element_injector.html | 43 + .../atom_injector/human_icon_injector.html | 78 + .../atom_injector/trait_injector.html | 36 + .../mapping_helpers/circuit_spawner.html | 50 + .../mapping_helpers/damaged_window.html | 43 + .../mapping_helpers/dead_body_placer.html | 50 + .../mapping_helpers/requests_console.html | 35 + .../mapping_helpers/trapdoor_placer.html | 33 + .../mapping_helpers/ztrait_injector.html | 36 + obj/effect/meteor.html | 125 + obj/effect/meteor/cluster.html | 36 + obj/effect/meteor/dark_matteor.html | 50 + obj/effect/meteor/meaty/changeling.html | 36 + obj/effect/mine.html | 89 + obj/effect/mine/explosive.html | 64 + obj/effect/mine/shrapnel.html | 50 + obj/effect/mob_spawn.html | 122 + obj/effect/mob_spawn/corpse.html | 73 + obj/effect/mob_spawn/corpse/human.html | 43 + .../corpse/human/legioninfested.html | 35 + obj/effect/mob_spawn/corpse/slime.html | 36 + obj/effect/mob_spawn/ghost_role.html | 136 + obj/effect/mob_spawn/ghost_role/drone.html | 46 + .../mob_spawn/ghost_role/human/golem.html | 50 + .../ghost_role/human/golem/servant.html | 36 + .../mob_spawn/ghost_role/human/pirate.html | 57 + .../human/syndicate/battlecruiser.html | 43 + obj/effect/mob_spawn/ghost_role/spider.html | 105 + .../ghost_role/venus_human_trap.html | 50 + obj/effect/overlay/status_display_text.html | 50 + obj/effect/overlay/vis.html | 43 + obj/effect/particle_effect/fluid.html | 58 + obj/effect/particle_effect/fluid/foam.html | 97 + .../fluid/foam/firefighting.html | 36 + obj/effect/particle_effect/fluid/smoke.html | 89 + .../particle_effect/fluid/smoke/bad.html | 42 + .../fluid/smoke/colourful.html | 36 + .../particle_effect/water/extinguisher.html | 37 + obj/effect/portal.html | 106 + obj/effect/powerup.html | 71 + obj/effect/powerup/health.html | 50 + obj/effect/puzzle_death_signal_holder.html | 36 + obj/effect/rune.html | 155 + obj/effect/rune/narsie.html | 36 + obj/effect/rune/wall.html | 36 + obj/effect/skyfall_landingzone.html | 43 + obj/effect/slippery_acid.html | 36 + obj/effect/spawner/newbomb.html | 39 + obj/effect/spawner/random.html | 136 + .../random/environmentally_safe_anomaly.html | 36 + .../spawner/random/trash/crushed_can.html | 36 + obj/effect/spawner/random/trash/graffiti.html | 43 + obj/effect/spawner/random/vending.html | 36 + obj/effect/spawner/xmastree.html | 43 + obj/effect/spectre_of_resurrection.html | 85 + obj/effect/spectre_of_resurrection/human.html | 36 + obj/effect/step_trigger/thrower.html | 36 + obj/effect/temp_visual.html | 50 + obj/effect/temp_visual/brim_burst.html | 35 + .../temp_visual/drawing_heretic_rune.html | 36 + obj/effect/temp_visual/effect_trail.html | 85 + .../temp_visual/emerging_ground_spike.html | 71 + obj/effect/temp_visual/hivebrood_spawn.html | 35 + .../temp_visual/legion_skull_depart.html | 35 + obj/effect/temp_visual/legion_skull_land.html | 35 + obj/effect/temp_visual/lesser_carp_rift.html | 36 + .../lesser_carp_rift/entrance.html | 43 + .../temp_visual/meteor_heart_death.html | 43 + obj/effect/temp_visual/resonance.html | 78 + obj/effect/temp_visual/slippery_ice.html | 43 + obj/effect/temp_visual/sonar_ping.html | 92 + .../temp_visual/teleporting_tornado.html | 57 + obj/effect/temp_visual/thrusting_spines.html | 78 + obj/effect/timestop.html | 43 + obj/effect/trading_card_panel.html | 120 + obj/effect/turf_decal.html | 43 + obj/effect/watcher_orbiter.html | 141 + obj/item.html | 1276 ++ obj/item/abductor/alien_omnitool.html | 43 + obj/item/access_key.html | 75 + obj/item/ai_module.html | 57 + obj/item/ai_module/malf.html | 36 + obj/item/aicard.html | 42 + obj/item/aicard/syndie/loaded.html | 50 + obj/item/air_sensor.html | 46 + obj/item/airlock_painter.html | 50 + obj/item/airlock_painter/decal.html | 125 + obj/item/airlock_painter/decal/tile.html | 43 + obj/item/ammo_box.html | 146 + obj/item/ammo_box/magazine.html | 49 + .../ammo_box/magazine/internal/cylinder.html | 35 + obj/item/ammo_casing.html | 115 + obj/item/ammo_casing/arrow.html | 36 + .../ammo_casing/strilka310/lionhunter.html | 64 + obj/item/analyzer.html | 42 + obj/item/anomaly_neutralizer.html | 42 + obj/item/anomaly_releaser.html | 50 + obj/item/antag_spawner/loadout.html | 106 + obj/item/antag_spawner/nuke_ops.html | 79 + obj/item/areaeditor.html | 36 + obj/item/assembly.html | 91 + obj/item/assembly/control.html | 43 + obj/item/assembly/control/elevator.html | 61 + obj/item/assembly/control/showtime.html | 64 + obj/item/assembly/control/ticket_machine.html | 43 + obj/item/assembly/control/transport.html | 43 + .../control/transport/call_button.html | 36 + .../assembly/control/transport/remote.html | 50 + obj/item/assembly/flash.html | 72 + obj/item/assembly/mousetrap.html | 50 + obj/item/assembly/prox_sensor.html | 36 + obj/item/assembly/signaler.html | 85 + obj/item/assembly/trapdoor.html | 61 + obj/item/assembly/voice.html | 36 + obj/item/assembly_holder.html | 69 + obj/item/autosurgeon.html | 71 + obj/item/bait_can.html | 50 + obj/item/banner.html | 43 + obj/item/barcode.html | 43 + obj/item/barcodescanner.html | 43 + obj/item/bedsheet.html | 50 + obj/item/bee_smoker.html | 64 + obj/item/bikehorn.html | 36 + obj/item/biopsy_tool.html | 35 + obj/item/bitrunning_disk.html | 39 + obj/item/bitrunning_disk/ability.html | 43 + obj/item/bitrunning_disk/item.html | 43 + obj/item/blood_filter.html | 36 + obj/item/bluespace_finger.html | 50 + obj/item/bodybag.html | 47 + obj/item/bodypart.html | 989 ++ obj/item/bodypart/arm.html | 71 + obj/item/bodypart/arm/left.html | 42 + obj/item/bodypart/arm/left/monkey.html | 36 + obj/item/bodypart/arm/right.html | 42 + obj/item/bodypart/chest.html | 92 + obj/item/bodypart/head.html | 232 + obj/item/bodypart/leg.html | 53 + obj/item/bodypart/leg/left.html | 42 + obj/item/bodypart/leg/right.html | 42 + obj/item/bombcore/chemical.html | 71 + obj/item/book.html | 127 + obj/item/book/bible.html | 61 + obj/item/book/granter.html | 114 + obj/item/book/granter/action.html | 43 + obj/item/book/granter/action/spell.html | 36 + .../granter/action/spell/mime/mimery.html | 39 + .../book/granter/action/spell/mindswap.html | 36 + .../granter/action/spell/true_random.html | 36 + obj/item/book/granter/crafting_recipe.html | 36 + obj/item/book/granter/martial.html | 50 + obj/item/book/granter/sign_language.html | 36 + obj/item/book/manual/fish_catalog.html | 37 + obj/item/book/manual/wiki.html | 36 + obj/item/book/random.html | 43 + obj/item/borg/apparatus.html | 73 + obj/item/borg/apparatus/beaker.html | 35 + obj/item/borg/charger.html | 50 + obj/item/borg/cyborghug.html | 57 + obj/item/borg/lollipop.html | 106 + obj/item/borg/projectile_dampen.html | 115 + obj/item/borg/stun.html | 43 + obj/item/borg/upgrade.html | 36 + obj/item/borg/upgrade/selfrepair.html | 43 + obj/item/bot_assembly.html | 41 + obj/item/bounty_cube.html | 127 + obj/item/boxcutter.html | 50 + obj/item/broken_bottle.html | 52 + obj/item/burner.html | 50 + obj/item/camera.html | 43 + obj/item/camera/siliconcam.html | 52 + obj/item/camera/siliconcam/pai_camera.html | 38 + obj/item/canvas.html | 80 + obj/item/card.html | 43 + obj/item/card/cardboard.html | 74 + obj/item/card/emag/battlecruiser.html | 43 + obj/item/card/id.html | 365 + obj/item/card/id/advanced.html | 101 + obj/item/card/id/advanced/chameleon.html | 59 + obj/item/card/id/advanced/heretic.html | 92 + obj/item/card/id/advanced/prisoner.html | 64 + obj/item/card/mining_point_card.html | 36 + obj/item/cardboard_cutout.html | 74 + obj/item/cardpack.html | 85 + obj/item/cautery.html | 36 + obj/item/chainsaw.html | 45 + obj/item/chameleon_scanner.html | 57 + obj/item/changeling/id.html | 50 + obj/item/chisel.html | 71 + obj/item/choice_beacon.html | 87 + obj/item/circuit_component.html | 391 + .../circuit_component/air_alarm_general.html | 71 + .../air_alarm_scrubbers.html | 120 + .../circuit_component/air_alarm_vents.html | 155 + obj/item/circuit_component/airlock.html | 106 + .../airlock_access_event.html | 57 + obj/item/circuit_component/arctan2.html | 50 + obj/item/circuit_component/arithmetic.html | 37 + .../arrest_console_arrest.html | 57 + .../arrest_console_data.html | 43 + obj/item/circuit_component/assoc_literal.html | 57 + obj/item/circuit_component/atmos_meter.html | 57 + obj/item/circuit_component/atmos_pump.html | 113 + .../circuit_component/atmos_volume_pump.html | 113 + obj/item/circuit_component/bci_core.html | 36 + .../circuit_component/begin_animation.html | 78 + .../circuit_component/binary_conversion.html | 43 + obj/item/circuit_component/bot.html | 43 + obj/item/circuit_component/bot_circuit.html | 43 + obj/item/circuit_component/camera.html | 78 + obj/item/circuit_component/clock.html | 59 + .../circuit_component/compact_remote.html | 50 + obj/item/circuit_component/compare.html | 64 + .../circuit_component/compare/access.html | 50 + .../circuit_component/compare/comparison.html | 43 + obj/item/circuit_component/compare/logic.html | 36 + .../circuit_component/compare/typecheck.html | 36 + obj/item/circuit_component/concat.html | 36 + obj/item/circuit_component/concat_list.html | 50 + obj/item/circuit_component/controller.html | 64 + .../circuit_component/conveyor_switch.html | 43 + .../circuit_component/decimal_conversion.html | 43 + obj/item/circuit_component/delay.html | 57 + obj/item/circuit_component/digital_valve.html | 64 + obj/item/circuit_component/direction.html | 50 + obj/item/circuit_component/dispenser_bot.html | 64 + .../circuit_component/equipment_action.html | 50 + .../equipment_action/bci.html | 36 + obj/item/circuit_component/filter_list.html | 99 + obj/item/circuit_component/firealarm.html | 50 + obj/item/circuit_component/foreach.html | 85 + obj/item/circuit_component/format.html | 59 + obj/item/circuit_component/get_column.html | 50 + obj/item/circuit_component/get_variable.html | 64 + obj/item/circuit_component/gps.html | 36 + obj/item/circuit_component/health.html | 71 + obj/item/circuit_component/hear.html | 64 + obj/item/circuit_component/hydroponics.html | 120 + .../circuit_component/id_access_reader.html | 43 + obj/item/circuit_component/id_getter.html | 50 + .../circuit_component/id_info_reader.html | 57 + obj/item/circuit_component/index.html | 50 + obj/item/circuit_component/index_table.html | 50 + obj/item/circuit_component/input_request.html | 71 + .../circuit_component/keyboard_shell.html | 50 + obj/item/circuit_component/laserpointer.html | 36 + obj/item/circuit_component/length.html | 43 + obj/item/circuit_component/light.html | 52 + obj/item/circuit_component/light_switch.html | 43 + obj/item/circuit_component/list_literal.html | 50 + obj/item/circuit_component/list_pick.html | 85 + obj/item/circuit_component/listin.html | 78 + obj/item/circuit_component/matscanner.html | 43 + .../medical_console_data.html | 36 + obj/item/circuit_component/mmi.html | 113 + .../circuit_component/mod_adapter_core.html | 120 + obj/item/circuit_component/module.html | 36 + obj/item/circuit_component/module_input.html | 36 + obj/item/circuit_component/module_output.html | 36 + obj/item/circuit_component/money_bot.html | 68 + .../circuit_component/money_dispenser.html | 43 + obj/item/circuit_component/not.html | 43 + obj/item/circuit_component/ntnet_receive.html | 50 + obj/item/circuit_component/ntnet_send.html | 50 + .../circuit_component/object_overlay.html | 43 + .../circuit_component/pressuresensor.html | 36 + obj/item/circuit_component/proccall.html | 64 + obj/item/circuit_component/pull.html | 36 + obj/item/circuit_component/radio.html | 85 + obj/item/circuit_component/random.html | 50 + .../circuit_component/reagentscanner.html | 36 + obj/item/circuit_component/reflector.html | 36 + obj/item/circuit_component/router.html | 57 + obj/item/circuit_component/save_shell.html | 36 + obj/item/circuit_component/scanner_gate.html | 39 + .../circuit_component/sdql_operation.html | 36 + obj/item/circuit_component/select.html | 57 + obj/item/circuit_component/self.html | 43 + obj/item/circuit_component/set_variable.html | 57 + .../circuit_component/signal_handler.html | 134 + obj/item/circuit_component/soundemitter.html | 85 + obj/item/circuit_component/spawn_atom.html | 57 + obj/item/circuit_component/species.html | 43 + obj/item/circuit_component/speech.html | 43 + obj/item/circuit_component/split.html | 50 + obj/item/circuit_component/synth.html | 141 + obj/item/circuit_component/tempsensor.html | 36 + obj/item/circuit_component/textcase.html | 43 + obj/item/circuit_component/timepiece.html | 57 + obj/item/circuit_component/to_type.html | 43 + obj/item/circuit_component/tonumber.html | 44 + obj/item/circuit_component/tostring.html | 43 + obj/item/circuit_component/trigonometry.html | 44 + obj/item/circuit_component/variable.html | 36 + .../variable/assoc_list/list_remove.html | 36 + .../variable/assoc_list/list_set.html | 50 + .../circuit_component/variable/getter.html | 36 + .../variable/list/listadd.html | 50 + .../variable/list/listremove.html | 36 + .../circuit_component/variable/setter.html | 36 + .../circuit_component/vendor_component.html | 43 + obj/item/circuit_component/view_sensor.html | 43 + obj/item/circuit_component/vim.html | 50 + obj/item/circuit_component/wiremod_gun.html | 64 + .../circuit_component/wiremod_scanner.html | 57 + obj/item/circuitboard.html | 61 + obj/item/circular_saw.html | 36 + obj/item/climbing_hook.html | 50 + obj/item/clipboard.html | 67 + obj/item/clothing.html | 181 + obj/item/clothing/accessory.html | 130 + obj/item/clothing/accessory/dogtag.html | 43 + obj/item/clothing/accessory/medal.html | 64 + .../medal/silver/emergency_services.html | 36 + obj/item/clothing/accessory/spy_bug.html | 57 + obj/item/clothing/glasses.html | 73 + .../clothing/glasses/nightmare_vision.html | 36 + obj/item/clothing/glasses/salesman.html | 36 + obj/item/clothing/gloves.html | 36 + obj/item/clothing/gloves/cargo_gauntlet.html | 35 + obj/item/clothing/gloves/tackler.html | 78 + obj/item/clothing/head.html | 54 + obj/item/clothing/head/beanie/black/dboy.html | 36 + obj/item/clothing/head/costume/foilhat.html | 35 + obj/item/clothing/head/costume/ushanka.html | 43 + obj/item/clothing/head/cowboy.html | 43 + obj/item/clothing/head/fedora/det_hat.html | 36 + .../clothing/head/fedora/inspector_hat.html | 57 + obj/item/clothing/head/hats/tophat.html | 36 + .../head/helmet/monkey_sentience.html | 50 + obj/item/clothing/head/helmet/toggleable.html | 50 + .../head/helmet/toggleable/justice.html | 43 + obj/item/clothing/head/hooded/berserker.html | 57 + obj/item/clothing/head/utility/chefhat.html | 64 + obj/item/clothing/head/utility/hardhat.html | 43 + .../head/utility/hardhat/welding.html | 36 + obj/item/clothing/mask.html | 69 + obj/item/clothing/mask/animal.html | 71 + obj/item/clothing/mask/chameleon.html | 36 + obj/item/clothing/mask/cigarette.html | 162 + obj/item/clothing/mask/cigarette/pipe.html | 36 + obj/item/clothing/mask/gas.html | 85 + obj/item/clothing/mask/gas/ninja.html | 29 + obj/item/clothing/mask/gas/sechailer.html | 64 + obj/item/clothing/mask/madness_mask.html | 36 + obj/item/clothing/mask/muzzle/tape.html | 43 + obj/item/clothing/mask/vape.html | 64 + obj/item/clothing/neck/eldritch_amulet.html | 36 + obj/item/clothing/neck/link_scryer.html | 57 + .../clothing/neck/necklace/dope/merchant.html | 43 + obj/item/clothing/neck/tie.html | 50 + obj/item/clothing/shoes.html | 98 + obj/item/clothing/shoes/clown_shoes.html | 36 + .../shoes/clown_shoes/banana_shoes.html | 64 + obj/item/clothing/shoes/cowboy.html | 43 + obj/item/clothing/shoes/gunboots.html | 64 + obj/item/clothing/shoes/magboots.html | 57 + obj/item/clothing/shoes/wheelys.html | 43 + .../clothing/suit/armor/abductor/vest.html | 57 + obj/item/clothing/suit/armor/reactive.html | 104 + .../suit/armor/reactive/barricade.html | 51 + .../suit/armor/reactive/bioscrambling.html | 43 + .../clothing/suit/armor/reactive/stealth.html | 57 + .../clothing/suit/armor/reactive/tesla.html | 50 + obj/item/clothing/suit/armor/vest/ctf.html | 36 + .../clothing/suit/costume/wellworn_shirt.html | 36 + obj/item/clothing/suit/hooded.html | 93 + .../clothing/suit/hooded/cloak/godslayer.html | 50 + obj/item/clothing/suit/hooded/cultrobes.html | 50 + .../suit/hooded/cultrobes/cult_shield.html | 35 + .../clothing/suit/hooded/cultrobes/void.html | 42 + obj/item/clothing/suit/hooded/wintercoat.html | 43 + obj/item/clothing/suit/space.html | 106 + obj/item/clothing/suit/toggle.html | 36 + obj/item/clothing/under.html | 189 + obj/item/codex_cicatrix.html | 57 + obj/item/coin.html | 50 + obj/item/coin/eldritch.html | 36 + obj/item/computer_disk.html | 73 + obj/item/computer_disk/command.html | 36 + obj/item/computer_disk/virus.html | 37 + obj/item/computer_disk/virus/frame.html | 45 + obj/item/construction.html | 153 + obj/item/construction/plumbing.html | 94 + obj/item/construction/plumbing/research.html | 36 + obj/item/construction/plumbing/service.html | 36 + obj/item/construction/rcd.html | 169 + obj/item/construction/rld.html | 50 + obj/item/construction/rtd.html | 66 + obj/item/coupon.html | 42 + obj/item/crowbar/power.html | 43 + obj/item/crusher_trophy/bileworm_spewlet.html | 36 + obj/item/crusher_trophy/brimdemon_fang.html | 36 + .../crusher_trophy/broodmother_tongue.html | 36 + obj/item/crusher_trophy/goliath_tentacle.html | 43 + obj/item/crusher_trophy/ice_demon_cube.html | 50 + .../crusher_trophy/legionnaire_spine.html | 36 + obj/item/ctf_flag.html | 78 + obj/item/cult_bastard.html | 36 + obj/item/cult_shift.html | 43 + obj/item/defibrillator.html | 106 + obj/item/delivery.html | 49 + obj/item/dest_tagger.html | 63 + obj/item/detective_scanner.html | 60 + obj/item/dice.html | 35 + obj/item/dice/d20/fate.html | 36 + obj/item/disk/design_disk.html | 48 + obj/item/disk/design_disk/bepis.html | 43 + obj/item/disk/design_disk/limbs.html | 36 + obj/item/disk/nuclear.html | 43 + obj/item/dna_probe.html | 72 + obj/item/documents.html | 31 + obj/item/documents/photocopy.html | 43 + obj/item/door_seal.html | 43 + obj/item/dualsaber.html | 46 + obj/item/dullahan_relay.html | 64 + obj/item/dyespray.html | 39 + obj/item/ectoplasm/revenant.html | 71 + obj/item/eldritch_potion.html | 54 + obj/item/electronics/airlock.html | 104 + obj/item/encryptionkey.html | 57 + obj/item/energy_katana.html | 32 + obj/item/exodrone.html | 283 + obj/item/extinguisher.html | 113 + obj/item/extraction_pack.html | 71 + obj/item/eyesnatcher.html | 36 + obj/item/fireaxe.html | 43 + obj/item/firelance.html | 35 + obj/item/firing_pin.html | 57 + obj/item/firing_pin/paywall.html | 57 + obj/item/fish.html | 419 + obj/item/fish/starfish.html | 35 + obj/item/fish_analyzer.html | 121 + obj/item/fishing_hook.html | 85 + obj/item/fishing_line.html | 43 + obj/item/fishing_rod.html | 199 + obj/item/fishing_rod/telescopic.html | 57 + obj/item/flashlight.html | 85 + obj/item/flashlight/emp.html | 36 + obj/item/flashlight/flare.html | 64 + obj/item/flashlight/flare/candle.html | 74 + obj/item/flashlight/flashdark.html | 43 + obj/item/flashlight/glowstick.html | 36 + obj/item/flashlight/pen/paramedic.html | 50 + obj/item/flashlight/spotlight.html | 43 + obj/item/folder.html | 50 + obj/item/folder/biscuit.html | 50 + obj/item/folder/biscuit/unsealed.html | 43 + obj/item/food.html | 226 + obj/item/food/badrecipe.html | 43 + obj/item/food/baguette.html | 36 + obj/item/food/baguette/combat.html | 43 + obj/item/food/bait.html | 43 + obj/item/food/bread.html | 43 + obj/item/food/bubblegum.html | 36 + obj/item/food/bubblegum/bubblegum.html | 35 + obj/item/food/cake.html | 43 + obj/item/food/canned/envirochow.html | 42 + obj/item/food/cheese.html | 36 + obj/item/food/cheese/wheel.html | 37 + obj/item/food/clothing.html | 36 + obj/item/food/deadmouse.html | 42 + obj/item/food/donkpocket.html | 64 + obj/item/food/donut.html | 49 + obj/item/food/egg.html | 43 + obj/item/food/egg/watcher.html | 64 + obj/item/food/fishmeat/carp.html | 36 + obj/item/food/golem_food.html | 71 + obj/item/food/grown.html | 129 + obj/item/food/grown/banana.html | 35 + obj/item/food/grown/mushroom.html | 36 + obj/item/food/grown/pumpkin.html | 36 + obj/item/food/icecream.html | 36 + obj/item/food/meat/cutlet.html | 35 + obj/item/food/meat/slab.html | 36 + obj/item/food/meat/steak/plain/human.html | 35 + obj/item/food/monkeycube.html | 43 + obj/item/food/nugget.html | 36 + obj/item/food/pancakes.html | 36 + obj/item/food/pie.html | 43 + obj/item/food/pizza.html | 43 + obj/item/food/rationpack.html | 35 + obj/item/food/ready_donk.html | 43 + obj/item/food/sandwich/death.html | 50 + obj/item/forcefield_projector.html | 43 + obj/item/frog_contract.html | 35 + obj/item/frog_statue.html | 71 + obj/item/fuel_pellet.html | 43 + obj/item/fugu_gland.html | 36 + obj/item/gas_filter.html | 98 + obj/item/gibtonite.html | 85 + obj/item/gibtonite_hand.html | 43 + obj/item/gift.html | 36 + obj/item/golem_shell.html | 43 + obj/item/goliath_infuser_hammer.html | 43 + obj/item/gps.html | 35 + obj/item/graft.html | 92 + obj/item/greentext.html | 57 + obj/item/grenade.html | 165 + obj/item/grenade/c4.html | 43 + obj/item/grenade/c4/es8.html | 36 + obj/item/grenade/c4/ninja.html | 69 + obj/item/grenade/chem_grenade.html | 99 + .../grenade/gas_crystal/healium_crystal.html | 36 + .../gas_crystal/nitrous_oxide_crystal.html | 43 + .../gas_crystal/proto_nitrate_crystal.html | 50 + obj/item/grenade/mirage.html | 36 + obj/item/grenade/primer.html | 43 + obj/item/grenade/smokebomb.html | 52 + obj/item/grown.html | 43 + obj/item/guardian_creator.html | 134 + obj/item/gun.html | 89 + obj/item/gun/ballistic.html | 517 + obj/item/gun/ballistic/automatic.html | 43 + .../gun/ballistic/automatic/tommygun.html | 36 + obj/item/gun/ballistic/bow.html | 36 + obj/item/gun/ballistic/revolver/chaplain.html | 43 + obj/item/gun/ballistic/rocketlauncher.html | 36 + .../shotgun/automatic/dual_tube.html | 50 + obj/item/gun/ballistic/shotgun/bulldog.html | 43 + obj/item/gun/blastcannon.html | 155 + obj/item/gun/energy.html | 124 + obj/item/gun/energy/beam_rifle.html | 57 + obj/item/gun/energy/dueling.html | 35 + obj/item/gun/energy/laser/chameleon.html | 88 + obj/item/gun/energy/marksman_revolver.html | 57 + obj/item/gun/energy/recharge.html | 71 + obj/item/gun/magic.html | 53 + obj/item/gun/magic/midas_hand.html | 64 + obj/item/gun/magic/staff.html | 47 + obj/item/gun/magic/staff/change.html | 43 + obj/item/gun/magic/staff/chaos.html | 38 + obj/item/gun/magic/staff/healing.html | 36 + obj/item/gun/medbeam.html | 46 + obj/item/gun/syringe.html | 43 + obj/item/hallucinated.html | 43 + obj/item/hand_item/circlegame.html | 56 + obj/item/hand_item/kisser.html | 43 + obj/item/hand_item/noogie.html | 35 + obj/item/hand_item/self_grasp.html | 57 + obj/item/hand_item/slapper.html | 50 + obj/item/hand_tele.html | 50 + obj/item/hardened_spike.html | 43 + obj/item/hardened_spike/chem.html | 36 + obj/item/harmalarm.html | 36 + obj/item/healthanalyzer.html | 36 + obj/item/healthanalyzer/simple.html | 71 + obj/item/hemostat.html | 36 + obj/item/heretic_labyrinth_handbook.html | 43 + obj/item/hfr_box.html | 43 + obj/item/hierophant_club.html | 57 + obj/item/highfrequencyblade.html | 71 + obj/item/house_edge.html | 50 + obj/item/implant.html | 155 + obj/item/implant/abductor.html | 37 + obj/item/implant/beacon.html | 36 + obj/item/implant/chem.html | 36 + obj/item/implant/explosive.html | 119 + obj/item/implant/mod.html | 43 + obj/item/implant/nuclear_operative.html | 35 + obj/item/implant/spell.html | 50 + obj/item/implant/teleport_blocker.html | 35 + obj/item/implant/tracking.html | 36 + obj/item/implant/tracking/c38.html | 43 + obj/item/implant/uplink.html | 53 + obj/item/implantcase.html | 43 + obj/item/implanter.html | 43 + obj/item/inspector.html | 94 + obj/item/inspector/clown.html | 47 + obj/item/inspector/clown/bananium.html | 54 + obj/item/instrument.html | 50 + obj/item/instrument/violin/festival.html | 42 + obj/item/integrated_circuit.html | 322 + obj/item/janicart_upgrade.html | 58 + obj/item/kheiral_cuffs.html | 72 + obj/item/kirbyplants.html | 57 + obj/item/kitchen/tongs.html | 78 + obj/item/knife.html | 35 + obj/item/knife/bloodletter.html | 36 + obj/item/language_manual.html | 50 + obj/item/laser_pointer.html | 99 + obj/item/lazarus_injector.html | 54 + obj/item/light.html | 64 + obj/item/lighter.html | 71 + obj/item/lighter/greyscale.html | 43 + obj/item/lightreplacer.html | 78 + obj/item/lipstick.html | 50 + obj/item/mail.html | 127 + obj/item/mail/junkmail.html | 35 + obj/item/mail/traitor.html | 43 + obj/item/market_uplink.html | 78 + obj/item/match.html | 50 + obj/item/mecha_ammo.html | 36 + obj/item/mecha_parts/mecha_equipment.html | 230 + .../mecha_parts/mecha_equipment/air_tank.html | 94 + .../mecha_parts/mecha_equipment/armor.html | 43 + .../mecha_parts/mecha_equipment/ejector.html | 36 + .../mecha_equipment/extinguisher.html | 45 + .../mecha_equipment/generator.html | 78 + .../mecha_equipment/gravcatapult.html | 43 + .../mecha_equipment/hydraulic_clamp.html | 57 + .../mecha_equipment/medical/mechmedbeam.html | 36 + .../mecha_equipment/medical/sleeper.html | 43 + .../mecha_equipment/medical/syringe_gun.html | 92 + .../mecha_parts/mecha_equipment/radio.html | 43 + obj/item/mecha_parts/mecha_equipment/rcd.html | 43 + .../mecha_equipment/repair_droid.html | 36 + .../ballistic/launcher/punching_glove.html | 36 + .../mecha_equipment/weapon/paddy_claw.html | 57 + obj/item/mecha_parts/mecha_tracking.html | 71 + obj/item/melee/baseball_bat.html | 57 + obj/item/melee/baton.html | 236 + obj/item/melee/baton/security.html | 42 + obj/item/melee/baton/security/cattleprod.html | 36 + obj/item/melee/baton/telescopic.html | 50 + obj/item/melee/cleaving_saw.html | 71 + obj/item/melee/energy.html | 87 + obj/item/melee/energy/blade.html | 36 + obj/item/melee/energy/sword/bananium.html | 36 + obj/item/melee/energy/sword/cyborg.html | 36 + obj/item/melee/energy/sword/saber.html | 43 + obj/item/melee/flyswatter.html | 50 + obj/item/melee/powerfist.html | 57 + obj/item/melee/roastingstick.html | 50 + obj/item/melee/rune_carver.html | 57 + obj/item/melee/sabre.html | 42 + obj/item/melee/skateboard.html | 36 + obj/item/melee/touch_attack.html | 51 + obj/item/mending_globule.html | 35 + obj/item/minespawner.html | 35 + obj/item/mmi.html | 54 + obj/item/mmi/posibrain.html | 155 + obj/item/mod/control.html | 365 + obj/item/mod/control/pre_equipped.html | 64 + .../mod/control/pre_equipped/responsory.html | 43 + obj/item/mod/core.html | 36 + obj/item/mod/core/ethereal.html | 36 + obj/item/mod/core/plasma.html | 50 + obj/item/mod/core/plasma/lavaland.html | 57 + obj/item/mod/core/standard.html | 36 + obj/item/mod/module.html | 372 + obj/item/mod/module/active_sonar.html | 92 + obj/item/mod/module/adrenaline_boost.html | 43 + obj/item/mod/module/anomaly_locked.html | 57 + .../mod/module/anomaly_locked/kinesis.html | 92 + .../module/anomaly_locked/kinesis/admin.html | 36 + .../mod/module/anomaly_locked/teleporter.html | 36 + obj/item/mod/module/armor_booster.html | 64 + obj/item/mod/module/ash_accretion.html | 78 + obj/item/mod/module/atrocinator.html | 43 + obj/item/mod/module/chameleon.html | 43 + obj/item/mod/module/circuit.html | 36 + obj/item/mod/module/clamp.html | 50 + obj/item/mod/module/criminalcapture.html | 57 + obj/item/mod/module/dispenser.html | 43 + obj/item/mod/module/dna_lock.html | 36 + obj/item/mod/module/energy_net.html | 36 + obj/item/mod/module/energy_shield.html | 92 + obj/item/mod/module/eradication_lock.html | 50 + obj/item/mod/module/flashlight.html | 50 + obj/item/mod/module/hacker.html | 57 + obj/item/mod/module/hat_stabilizer.html | 43 + obj/item/mod/module/health_analyzer.html | 43 + obj/item/mod/module/holster.html | 36 + obj/item/mod/module/hydraulic.html | 43 + obj/item/mod/module/jetpack.html | 59 + obj/item/mod/module/joint_torsion.html | 35 + obj/item/mod/module/magboot.html | 43 + obj/item/mod/module/magnetic_harness.html | 50 + obj/item/mod/module/megaphone.html | 36 + obj/item/mod/module/mister.html | 36 + obj/item/mod/module/mouthhole.html | 43 + obj/item/mod/module/orebag.html | 36 + obj/item/mod/module/organ_thrower.html | 43 + obj/item/mod/module/paper_dispenser.html | 36 + obj/item/mod/module/pathfinder.html | 36 + obj/item/mod/module/plate_compression.html | 43 + obj/item/mod/module/power_kick.html | 50 + obj/item/mod/module/projectile_dampener.html | 71 + obj/item/mod/module/rad_protection.html | 36 + obj/item/mod/module/recycler.html | 50 + obj/item/mod/module/recycler/donk.html | 43 + obj/item/mod/module/rewinder.html | 49 + obj/item/mod/module/shooting_assistant.html | 39 + obj/item/mod/module/sphere_transform.html | 43 + obj/item/mod/module/springlock.html | 49 + obj/item/mod/module/status_readout.html | 64 + obj/item/mod/module/stealth.html | 43 + obj/item/mod/module/storage.html | 57 + obj/item/mod/module/t_ray.html | 36 + obj/item/mod/module/tem.html | 80 + obj/item/mod/module/thermal_regulator.html | 50 + obj/item/mod/module/thread_ripper.html | 36 + obj/item/mod/module/timeline_jumper.html | 43 + obj/item/mod/module/timestopper.html | 57 + obj/item/mod/module/visor.html | 43 + obj/item/mod/module/visor/rave.html | 64 + obj/item/mod/module/weapon_recall.html | 43 + obj/item/modular_computer.html | 485 + obj/item/modular_computer/pda.html | 84 + obj/item/modular_computer/pda/clown.html | 35 + obj/item/modular_computer/pda/nukeops.html | 30 + obj/item/modular_computer/pda/silicon.html | 64 + obj/item/modular_computer/processor.html | 36 + obj/item/mop.html | 56 + obj/item/mop/advanced.html | 36 + obj/item/multitool.html | 48 + obj/item/multitool/circuit.html | 43 + obj/item/mutant_hand.html | 30 + obj/item/necromantic_stone.html | 57 + obj/item/nuclear_challenge.html | 35 + obj/item/nullrod.html | 43 + obj/item/nullrod/staff.html | 36 + obj/item/organ.html | 362 + obj/item/organ/external.html | 128 + obj/item/organ/external/antennae.html | 64 + obj/item/organ/external/spines.html | 36 + obj/item/organ/external/tail.html | 57 + obj/item/organ/external/tail/lizard.html | 36 + obj/item/organ/external/wings.html | 35 + obj/item/organ/external/wings/functional.html | 85 + obj/item/organ/external/wings/moth.html | 71 + obj/item/organ/internal.html | 59 + obj/item/organ/internal/alien/hivenode.html | 36 + .../organ/internal/alien/plasmavessel.html | 57 + obj/item/organ/internal/appendix/golem.html | 43 + .../organ/internal/body_egg/alien_embryo.html | 71 + .../internal/body_egg/changeling_egg.html | 50 + obj/item/organ/internal/brain.html | 220 + obj/item/organ/internal/brain/carp.html | 43 + obj/item/organ/internal/brain/primate.html | 36 + .../internal/brain/shadow/nightmare.html | 43 + obj/item/organ/internal/cyberimp/arm.html | 74 + .../organ/internal/cyberimp/arm/muscle.html | 71 + .../internal/cyberimp/chest/reviver.html | 43 + .../organ/internal/cyberimp/eyes/hud.html | 36 + obj/item/organ/internal/eyes.html | 143 + .../organ/internal/eyes/robotic/glow.html | 158 + obj/item/organ/internal/heart.html | 61 + obj/item/organ/internal/heart/ethereal.html | 106 + obj/item/organ/internal/heart/freedom.html | 36 + obj/item/organ/internal/heart/gland.html | 64 + obj/item/organ/internal/heart/gondola.html | 36 + obj/item/organ/internal/heart/nightmare.html | 43 + obj/item/organ/internal/heart/roach.html | 61 + obj/item/organ/internal/legion_tumour.html | 92 + obj/item/organ/internal/liver.html | 76 + obj/item/organ/internal/liver/bone.html | 45 + obj/item/organ/internal/liver/golem.html | 31 + obj/item/organ/internal/liver/gondola.html | 50 + obj/item/organ/internal/lungs.html | 361 + obj/item/organ/internal/lungs/ethereal.html | 35 + obj/item/organ/internal/monster_core.html | 152 + .../internal/monster_core/brimdust_sac.html | 46 + .../monster_core/regenerative_core.html | 36 + obj/item/organ/internal/stomach.html | 64 + obj/item/organ/internal/stomach/ethereal.html | 43 + obj/item/organ/internal/stomach/golem.html | 64 + obj/item/organ/internal/tongue.html | 137 + obj/item/pai_card.html | 116 + obj/item/paint.html | 43 + obj/item/paint/anycolor.html | 39 + obj/item/paint_palette.html | 36 + obj/item/paper.html | 252 + obj/item/paper/fake_report.html | 37 + obj/item/paper/fake_report/water.html | 30 + obj/item/paper/monitorkey.html | 35 + obj/item/paper/report.html | 36 + obj/item/paper/secretrecipe.html | 43 + obj/item/paper_bin.html | 57 + obj/item/paper_bin/bundlenatural.html | 36 + obj/item/papercutter.html | 59 + obj/item/paperwork.html | 93 + obj/item/paperwork/photocopy.html | 36 + obj/item/pen/edagger.html | 50 + obj/item/petri_dish.html | 36 + obj/item/ph_booklet.html | 36 + obj/item/ph_meter.html | 36 + obj/item/ph_paper.html | 36 + obj/item/photo.html | 35 + obj/item/pillow.html | 85 + obj/item/pinata.html | 36 + obj/item/pinpointer.html | 35 + obj/item/pinpointer/crew.html | 35 + obj/item/pipe.html | 84 + obj/item/pipe_dispenser.html | 162 + obj/item/pitchfork.html | 30 + obj/item/pizzabox.html | 64 + obj/item/pizzabox/infinite.html | 43 + obj/item/plant_analyzer.html | 138 + obj/item/plaque.html | 43 + obj/item/plate.html | 94 + obj/item/plate_shard.html | 36 + obj/item/plunger.html | 64 + obj/item/polymorph_belt.html | 57 + obj/item/poster.html | 32 + obj/item/poster/quirk.html | 50 + obj/item/powersink.html | 42 + obj/item/pressure_plate.html | 35 + obj/item/pressure_plate/puzzle.html | 43 + obj/item/pushbroom.html | 64 + obj/item/quantum_keycard.html | 36 + obj/item/queen_bee.html | 36 + obj/item/radio.html | 300 + obj/item/radio/headset.html | 43 + obj/item/radio/intercom.html | 66 + obj/item/raw_anomaly_core.html | 51 + obj/item/rcl.html | 42 + obj/item/reagent_containers.html | 133 + obj/item/reagent_containers/blood.html | 35 + obj/item/reagent_containers/borghypo.html | 141 + .../reagent_containers/borghypo/medical.html | 42 + obj/item/reagent_containers/chemtank.html | 36 + obj/item/reagent_containers/condiment.html | 43 + .../reagent_containers/condiment/pack.html | 59 + obj/item/reagent_containers/cup.html | 79 + .../cup/bottle/syrup_bottle.html | 36 + obj/item/reagent_containers/cup/bowl.html | 37 + .../reagent_containers/cup/glass/bottle.html | 36 + .../cup/glass/bottle/champagne.html | 54 + .../cup/glass/bottle/pruno.html | 50 + .../reagent_containers/cup/glass/colocup.html | 36 + .../cup/glass/drinkingglass.html | 38 + obj/item/reagent_containers/cup/rag.html | 35 + .../reagent_containers/cup/soda_cans.html | 48 + obj/item/reagent_containers/cup/soup_pot.html | 64 + .../cup/watering_can/advanced.html | 50 + obj/item/reagent_containers/hypospray.html | 43 + obj/item/reagent_containers/pill.html | 35 + obj/item/reagent_containers/spray.html | 57 + obj/item/reagent_containers/syringe.html | 50 + obj/item/relic.html | 35 + obj/item/research_notes.html | 64 + obj/item/resonator.html | 64 + obj/item/restraints.html | 33 + obj/item/restraints/handcuffs.html | 65 + obj/item/restraints/handcuffs/cable.html | 36 + .../restraints/handcuffs/cable/sinew.html | 29 + obj/item/restraints/legcuffs/beartrap.html | 62 + .../restraints/legcuffs/beartrap/energy.html | 38 + obj/item/restraints/legcuffs/bola.html | 47 + obj/item/restraints/legcuffs/bola/energy.html | 29 + .../restraints/legcuffs/bola/gonbola.html | 29 + .../restraints/legcuffs/bola/tactical.html | 29 + obj/item/resurrection_crystal.html | 35 + obj/item/retractor.html | 36 + obj/item/reverse_bear_trap.html | 64 + obj/item/ritual_totem.html | 35 + obj/item/robot_model.html | 184 + obj/item/robot_model/janitor.html | 36 + obj/item/robot_suit.html | 152 + obj/item/rpd_upgrade.html | 36 + obj/item/rsf.html | 136 + obj/item/rsf/cookiesynth.html | 36 + obj/item/runic_vendor_scepter.html | 64 + obj/item/rwd.html | 147 + obj/item/rwd/loaded.html | 33 + obj/item/sales_tagger.html | 57 + obj/item/scalpel.html | 36 + obj/item/screwdriver.html | 43 + obj/item/secateurs.html | 42 + obj/item/seeds.html | 399 + obj/item/seeds/replicapod.html | 49 + obj/item/sequence_scanner.html | 50 + obj/item/sharpener.html | 65 + obj/item/sharpener/super.html | 29 + obj/item/shield.html | 64 + obj/item/shield/energy.html | 64 + obj/item/shield/riot/flash.html | 35 + obj/item/shield/riot/tele.html | 36 + obj/item/shockpaddles.html | 42 + obj/item/shovel/giant_wrench.html | 50 + obj/item/shuttle_curse.html | 50 + obj/item/sign.html | 43 + obj/item/singularityhammer.html | 36 + obj/item/skillchip.html | 333 + obj/item/skillchip/job/chef.html | 36 + obj/item/slime_extract.html | 78 + obj/item/slimecross/burning/oil.html | 35 + obj/item/slimecross/stabilized.html | 37 + obj/item/slimepotion.html | 33 + obj/item/slimepotion/slime/sentience.html | 35 + .../slimepotion/slime/sentience/mining.html | 57 + obj/item/soap.html | 42 + obj/item/soulscythe.html | 71 + obj/item/soulstone.html | 182 + obj/item/sparkler.html | 36 + obj/item/sparring_contract.html | 57 + obj/item/spear.html | 57 + obj/item/spellbook.html | 118 + obj/item/spess_knife.html | 57 + obj/item/stack.html | 409 + obj/item/stack/cannonball.html | 36 + obj/item/stack/conveyor.html | 36 + obj/item/stack/ducts.html | 43 + obj/item/stack/license_plates/filled.html | 35 + obj/item/stack/medical.html | 129 + obj/item/stack/medical/mesh.html | 36 + obj/item/stack/ore/bluespace_crystal.html | 36 + obj/item/stack/pipe_cleaner_coil.html | 36 + obj/item/stack/pipe_cleaner_coil/cyborg.html | 39 + obj/item/stack/sheet.html | 59 + obj/item/stack/sheet/wethide.html | 43 + obj/item/stack/sticky_tape.html | 36 + obj/item/stack/tile.html | 84 + obj/item/stack/tile/carpet/neon.html | 64 + obj/item/stack/tile/mineral.html | 36 + obj/item/sticker.html | 43 + obj/item/stock_block.html | 57 + obj/item/stock_parts.html | 43 + obj/item/stock_parts/cell.html | 114 + obj/item/storage.html | 58 + obj/item/storage/backpack/duffelbag.html | 47 + obj/item/storage/backpack/meat.html | 64 + obj/item/storage/bag/money/dutchmen.html | 35 + obj/item/storage/bag/ore.html | 43 + obj/item/storage/bag/quiver.html | 36 + obj/item/storage/bag/trash.html | 43 + obj/item/storage/box.html | 43 + obj/item/storage/box/donkpockets.html | 36 + obj/item/storage/box/holy.html | 38 + obj/item/storage/box/monkeycubes.html | 36 + obj/item/storage/box/papersack.html | 55 + obj/item/storage/box/posterbox.html | 35 + obj/item/storage/box/survival.html | 57 + .../storage/box/syndie_kit/poster_box.html | 36 + obj/item/storage/fancy.html | 71 + obj/item/storage/fancy/cigarettes.html | 64 + obj/item/storage/lockbox.html | 35 + obj/item/storage/medkit.html | 43 + obj/item/storage/organbox.html | 45 + obj/item/storage/part_replacer/bluespace.html | 58 + obj/item/storage/pod.html | 35 + obj/item/storage/portable_chem_mixer.html | 70 + obj/item/storage/toolbox/mechanical.html | 36 + obj/item/storage/wallet.html | 36 + obj/item/style_meter.html | 92 + obj/item/surgery_tray.html | 52 + obj/item/surgicaldrill.html | 36 + obj/item/swab.html | 35 + obj/item/switchblade.html | 36 + obj/item/syndicate_teleporter.html | 86 + obj/item/table_clock.html | 59 + obj/item/tank.html | 172 + obj/item/tank/internals.html | 35 + obj/item/tank/jetpack.html | 37 + obj/item/tape.html | 50 + obj/item/taperecorder.html | 50 + obj/item/target.html | 36 + obj/item/tattoo_kit.html | 43 + obj/item/tcgcard.html | 73 + obj/item/tcgcard_deck.html | 54 + obj/item/teleportation_scroll.html | 43 + obj/item/thermometer.html | 36 + obj/item/throwing_star/stamina/ninja.html | 37 + obj/item/tk_grab.html | 36 + obj/item/toy/basketball.html | 85 + obj/item/toy/captainsaid.html | 43 + obj/item/toy/cards.html | 109 + obj/item/toy/cards/deck.html | 110 + obj/item/toy/cards/deck/tarot/haunted.html | 36 + obj/item/toy/crayon.html | 305 + obj/item/toy/eldritch_book.html | 57 + obj/item/toy/intento.html | 85 + obj/item/toy/mecha.html | 264 + obj/item/toy/plush.html | 36 + obj/item/toy/plush/goatplushie.html | 43 + obj/item/toy/plush/moth.html | 36 + obj/item/toy/plush/whiny_plushie.html | 50 + obj/item/toy/singlecard.html | 93 + obj/item/toy/spinningtoy.html | 42 + obj/item/toy/sword.html | 43 + obj/item/toy/xmas_cracker.html | 36 + obj/item/trade_chip.html | 36 + obj/item/training_toolbox.html | 57 + obj/item/traitor_bug.html | 50 + obj/item/traitor_machine_trapper.html | 64 + obj/item/traitor_spraycan.html | 101 + obj/item/transfer_valve.html | 64 + obj/item/trapdoor_remote.html | 30 + obj/item/trash/bee.html | 50 + obj/item/turbine_parts.html | 127 + obj/item/turret_control.html | 36 + obj/item/udder.html | 114 + obj/item/universal_scanner.html | 117 + obj/item/uplink.html | 45 + obj/item/usb_cable.html | 36 + obj/item/virgin_mary.html | 43 + obj/item/vorpalscythe.html | 43 + obj/item/warp_whistle.html | 36 + obj/item/watcher_hatchling.html | 64 + obj/item/weldingtool.html | 141 + obj/item/wheelchair.html | 36 + obj/item/wirecutters.html | 57 + obj/item/wrench/medical.html | 36 + obj/lightning_thrower.html | 64 + obj/machinery.html | 467 + obj/machinery/abductor/console.html | 57 + obj/machinery/abductor/experiment.html | 60 + obj/machinery/ai_voicechanger.html | 85 + obj/machinery/air_sensor.html | 58 + obj/machinery/airalarm.html | 271 + obj/machinery/airlock_controller.html | 42 + obj/machinery/announcement_system.html | 42 + obj/machinery/anomalous_crystal.html | 50 + .../anomalous_crystal/possessor.html | 35 + obj/machinery/arena_spawn.html | 50 + obj/machinery/atmospherics.html | 441 + obj/machinery/atmospherics/components.html | 175 + .../atmospherics/components/binary.html | 40 + .../components/binary/crystallizer.html | 120 + .../components/binary/dp_vent_pump.html | 64 + .../components/binary/passive_gate.html | 36 + .../components/binary/pressure_valve.html | 43 + .../atmospherics/components/binary/pump.html | 36 + .../components/binary/tank_compressor.html | 94 + .../components/binary/temperature_gate.html | 64 + .../components/binary/temperature_pump.html | 43 + .../atmospherics/components/binary/valve.html | 57 + .../components/binary/volume_pump.html | 50 + .../atmospherics/components/tank.html | 129 + .../atmospherics/components/trinary.html | 36 + .../components/trinary/filter.html | 43 + .../components/trinary/mixer.html | 50 + .../atmospherics/components/unary.html | 43 + .../components/unary/bluespace_sender.html | 64 + .../components/unary/hypertorus.html | 58 + .../components/unary/hypertorus/core.html | 659 + .../components/unary/outlet_injector.html | 36 + .../unary/outlet_injector/monitored.html | 36 + .../components/unary/portables_connector.html | 36 + .../components/unary/thermomachine.html | 37 + .../components/unary/vent_pump.html | 99 + .../components/unary/vent_scrubber.html | 98 + obj/machinery/atmospherics/miner.html | 36 + obj/machinery/atmospherics/pipe.html | 64 + .../atmospherics/pipe/color_adapter.html | 36 + .../atmospherics/pipe/layer_manifold.html | 43 + obj/machinery/atmospherics/pipe/multiz.html | 57 + obj/machinery/atmospherics/pipe/smart.html | 36 + obj/machinery/autolathe.html | 57 + obj/machinery/barsign.html | 64 + obj/machinery/biogenerator.html | 167 + obj/machinery/blackbox_recorder.html | 38 + obj/machinery/bluespace_vendor.html | 134 + obj/machinery/bookbinder.html | 43 + obj/machinery/button.html | 50 + obj/machinery/button/transport/tram.html | 36 + obj/machinery/byteforge.html | 71 + obj/machinery/camera.html | 50 + obj/machinery/camera/exosuit.html | 64 + obj/machinery/chem_dispenser.html | 183 + obj/machinery/chem_dispenser/abductor.html | 36 + .../chem_dispenser/chem_synthesizer.html | 36 + obj/machinery/chem_dispenser/drinks.html | 43 + obj/machinery/chem_dispenser/drinks/beer.html | 43 + obj/machinery/chem_dispenser/mutagen.html | 43 + .../chem_dispenser/mutagensaltpeter.html | 36 + obj/machinery/chem_heater.html | 71 + obj/machinery/chem_mass_spec.html | 129 + obj/machinery/chem_master.html | 172 + obj/machinery/chem_recipe_debug.html | 197 + obj/machinery/coffeemaker.html | 78 + obj/machinery/coffeemaker/impressa.html | 43 + obj/machinery/component_printer.html | 68 + obj/machinery/computer.html | 71 + obj/machinery/computer/aifixer.html | 43 + obj/machinery/computer/arcade/amputation.html | 35 + obj/machinery/computer/arcade/battle.html | 169 + .../computer/arcade/orion_trail.html | 73 + obj/machinery/computer/arena.html | 115 + obj/machinery/computer/atmos_control.html | 80 + obj/machinery/computer/auxiliary_base.html | 82 + obj/machinery/computer/bank_machine.html | 92 + obj/machinery/computer/camera_advanced.html | 73 + .../computer/camera_advanced/abductor.html | 38 + .../camera_advanced/base_construction.html | 87 + .../camera_advanced/shuttle_docker.html | 64 + .../computer/camera_advanced/xenobio.html | 136 + obj/machinery/computer/cargo.html | 145 + obj/machinery/computer/communications.html | 209 + obj/machinery/computer/department_orders.html | 92 + .../computer/exodrone_control_console.html | 50 + .../computer/exoscanner_control.html | 43 + obj/machinery/computer/holodeck.html | 192 + obj/machinery/computer/libraryconsole.html | 141 + .../admin_only_do_not_map_in_you_fucker.html | 57 + .../libraryconsole/bookmanagement.html | 129 + .../computer/mech_bay_power_console.html | 43 + obj/machinery/computer/mechpad.html | 98 + obj/machinery/computer/message_monitor.html | 94 + obj/machinery/computer/order_console.html | 178 + .../computer/order_console/mining.html | 52 + obj/machinery/computer/pandemic.html | 135 + obj/machinery/computer/piratepad_control.html | 127 + .../computer/piratepad_control/civilian.html | 64 + obj/machinery/computer/pod.html | 78 + obj/machinery/computer/prisoner.html | 36 + obj/machinery/computer/quantum_console.html | 43 + obj/machinery/computer/rdconsole.html | 84 + obj/machinery/computer/rdservercontrol.html | 36 + obj/machinery/computer/records.html | 78 + obj/machinery/computer/records/medical.html | 35 + obj/machinery/computer/records/security.html | 85 + obj/machinery/computer/scan_consolenew.html | 632 + obj/machinery/computer/security.html | 43 + .../computer/security/telescreen.html | 36 + .../security/telescreen/entertainment.html | 42 + obj/machinery/computer/shuttle.html | 117 + obj/machinery/computer/shuttle/pod.html | 40 + obj/machinery/computer/station_alert.html | 47 + obj/machinery/computer/telecomms/monitor.html | 64 + obj/machinery/computer/telecomms/server.html | 78 + obj/machinery/computer/teleporter.html | 52 + obj/machinery/computer/terminal.html | 50 + .../computer/tournament_controller.html | 94 + obj/machinery/computer/tram_controls.html | 82 + obj/machinery/computer/turbine_computer.html | 43 + obj/machinery/computer/vaultcontroller.html | 84 + obj/machinery/computer/warrant.html | 57 + obj/machinery/conveyor.html | 108 + obj/machinery/conveyor_switch.html | 99 + obj/machinery/cryo_cell.html | 71 + obj/machinery/ctf.html | 43 + obj/machinery/ctf/control_point.html | 50 + obj/machinery/ctf/spawner.html | 64 + obj/machinery/debug_component_printer.html | 36 + obj/machinery/deepfryer.html | 85 + obj/machinery/defibrillator_mount.html | 50 + obj/machinery/deployable_turret.html | 106 + obj/machinery/destructive_scanner.html | 63 + obj/machinery/dish_drive.html | 71 + obj/machinery/disposal.html | 204 + obj/machinery/disposal/bin.html | 35 + obj/machinery/dna_infuser.html | 115 + obj/machinery/door.html | 200 + obj/machinery/door/airlock.html | 315 + obj/machinery/door/airlock/external.html | 36 + obj/machinery/door/airlock/tram.html | 95 + .../door/airlock/vault/derelict.html | 35 + obj/machinery/door/firedoor.html | 251 + obj/machinery/door/password.html | 71 + obj/machinery/door/poddoor.html | 57 + obj/machinery/door/puzzle.html | 50 + obj/machinery/door/window.html | 42 + obj/machinery/doppler_array.html | 90 + obj/machinery/duct.html | 225 + obj/machinery/ecto_sniffer.html | 57 + obj/machinery/electrolyzer.html | 71 + obj/machinery/elevator_control_panel.html | 148 + obj/machinery/exodrone_launcher.html | 36 + obj/machinery/exoscanner.html | 36 + obj/machinery/fax.html | 310 + obj/machinery/field.html | 36 + obj/machinery/field/containment.html | 43 + obj/machinery/field/generator.html | 96 + obj/machinery/firealarm.html | 94 + obj/machinery/fishing_portal_generator.html | 43 + obj/machinery/flasher.html | 57 + obj/machinery/flasher/portable.html | 36 + obj/machinery/fugitive_locator.html | 45 + obj/machinery/gateway.html | 71 + obj/machinery/gravity_generator/main.html | 128 + obj/machinery/gravity_generator/part.html | 36 + obj/machinery/griddle.html | 64 + obj/machinery/grill.html | 35 + obj/machinery/gulag_item_reclaimer.html | 36 + obj/machinery/holopad.html | 203 + obj/machinery/holopad/tutorial.html | 36 + obj/machinery/hydroponics.html | 353 + obj/machinery/hypertorus/interface.html | 43 + obj/machinery/hypnochair.html | 71 + obj/machinery/icecream_vat.html | 36 + obj/machinery/igniter.html | 42 + obj/machinery/incident_display.html | 65 + obj/machinery/iv_drip.html | 113 + obj/machinery/jukebox.html | 87 + obj/machinery/launchpad.html | 159 + obj/machinery/libraryscanner.html | 36 + obj/machinery/lift_indicator.html | 97 + obj/machinery/light.html | 262 + obj/machinery/light_switch.html | 52 + obj/machinery/limbgrower.html | 109 + obj/machinery/loot_locator.html | 43 + obj/machinery/ltsrbt.html | 92 + obj/machinery/materials_market.html | 56 + obj/machinery/mech_bay_recharge_port.html | 57 + obj/machinery/mecha_part_fabricator.html | 214 + obj/machinery/mechpad.html | 62 + obj/machinery/medical_kiosk.html | 78 + obj/machinery/medipen_refiller.html | 36 + obj/machinery/meter.html | 43 + obj/machinery/meter/monitored.html | 36 + obj/machinery/microwave.html | 227 + obj/machinery/mineral.html | 92 + .../mineral/labor_claim_console.html | 43 + obj/machinery/mineral/ore_redemption.html | 99 + obj/machinery/mineral/processing_unit.html | 43 + .../mineral/processing_unit_console.html | 36 + obj/machinery/mineral/stacking_machine.html | 36 + .../stacking_machine/laborstacker.html | 43 + .../mineral/stacking_unit_console.html | 36 + obj/machinery/modular_computer.html | 120 + obj/machinery/modular_computer/preset.html | 36 + .../modular_computer/preset/cargochat.html | 36 + obj/machinery/modular_shield/module.html | 57 + .../modular_shield/module/charger.html | 36 + obj/machinery/modular_shield/module/node.html | 50 + .../modular_shield/module/relay.html | 36 + obj/machinery/modular_shield/module/well.html | 36 + obj/machinery/modular_shield_generator.html | 232 + obj/machinery/module_duplicator.html | 68 + obj/machinery/navbeacon.html | 99 + obj/machinery/nebula_shielding.html | 78 + obj/machinery/nebula_shielding/emergency.html | 43 + obj/machinery/netpod.html | 186 + obj/machinery/newscaster.html | 301 + obj/machinery/ntnet_relay.html | 57 + obj/machinery/nuclearbomb.html | 258 + obj/machinery/nuclearbomb/beer.html | 57 + obj/machinery/ore_silo.html | 72 + obj/machinery/oven.html | 92 + obj/machinery/pdapainter.html | 121 + obj/machinery/photocopier.html | 279 + obj/machinery/pipedispenser.html | 50 + obj/machinery/piratepad.html | 57 + obj/machinery/plate_press.html | 35 + obj/machinery/plumbing.html | 46 + obj/machinery/plumbing/acclimator.html | 64 + obj/machinery/plumbing/bottler.html | 78 + obj/machinery/plumbing/buffer.html | 35 + obj/machinery/plumbing/disposer.html | 41 + obj/machinery/plumbing/fermenter.html | 43 + obj/machinery/plumbing/filter.html | 57 + obj/machinery/plumbing/grinder_chemical.html | 40 + obj/machinery/plumbing/growing_vat.html | 99 + obj/machinery/plumbing/liquid_pump.html | 71 + obj/machinery/plumbing/pill_press.html | 85 + obj/machinery/plumbing/reaction_chamber.html | 80 + .../plumbing/reaction_chamber/chem.html | 75 + obj/machinery/plumbing/receiver.html | 57 + obj/machinery/plumbing/sender.html | 57 + obj/machinery/plumbing/splitter.html | 50 + obj/machinery/plumbing/synthesizer.html | 57 + obj/machinery/porta_turret.html | 253 + .../porta_turret/syndicate/toolbox.html | 36 + obj/machinery/portable_atmospherics.html | 149 + .../portable_atmospherics/canister.html | 143 + obj/machinery/portable_atmospherics/pump.html | 50 + .../portable_atmospherics/scrubber.html | 76 + obj/machinery/power.html | 57 + obj/machinery/power/apc.html | 557 + obj/machinery/power/emitter.html | 176 + obj/machinery/power/emitter/prototype.html | 43 + obj/machinery/power/energy_accumulator.html | 44 + .../power/energy_accumulator/tesla_coil.html | 71 + obj/machinery/power/floodlight.html | 57 + obj/machinery/power/shieldwallgen.html | 71 + obj/machinery/power/shuttle_engine.html | 57 + obj/machinery/power/solar.html | 83 + obj/machinery/power/solar_control.html | 92 + obj/machinery/power/supermatter_crystal.html | 645 + obj/machinery/power/tracker.html | 47 + obj/machinery/power/turbine.html | 127 + obj/machinery/power/turbine/core_rotor.html | 189 + .../power/turbine/inlet_compressor.html | 73 + .../power/turbine/turbine_outlet.html | 50 + obj/machinery/prisongate.html | 43 + obj/machinery/processor.html | 57 + obj/machinery/puzzle_button.html | 57 + obj/machinery/puzzle_keycardpad.html | 50 + obj/machinery/quantum_server.html | 441 + obj/machinery/reagentgrinder.html | 35 + obj/machinery/recharge_station.html | 36 + obj/machinery/recharger.html | 36 + obj/machinery/recycler.html | 39 + obj/machinery/requests_console.html | 148 + obj/machinery/research/anomaly_refinery.html | 160 + obj/machinery/restaurant_portal.html | 43 + obj/machinery/rnd.html | 57 + obj/machinery/rnd/destructive_analyzer.html | 80 + obj/machinery/rnd/experimentor.html | 57 + obj/machinery/rnd/production.html | 101 + obj/machinery/rnd/server.html | 71 + obj/machinery/rnd/server/master.html | 35 + obj/machinery/roulette.html | 91 + obj/machinery/satellite.html | 43 + obj/machinery/satellite/meteor_shield.html | 57 + obj/machinery/scanner_gate.html | 99 + obj/machinery/seed_extractor.html | 73 + obj/machinery/shieldwall.html | 35 + obj/machinery/shower.html | 121 + obj/machinery/shuttle_scrambler.html | 85 + obj/machinery/skill_station.html | 78 + obj/machinery/sleeper.html | 85 + obj/machinery/sleeper/party.html | 36 + obj/machinery/smartfridge.html | 116 + obj/machinery/smartfridge/drying_rack.html | 55 + obj/machinery/smartfridge/organ.html | 36 + obj/machinery/space_heater.html | 106 + .../space_heater/improvised_chem_heater.html | 50 + .../spaceship_navigation_beacon.html | 57 + obj/machinery/status_display.html | 93 + obj/machinery/status_display/door_timer.html | 109 + obj/machinery/suit_storage_unit.html | 184 + obj/machinery/syndicatebomb.html | 134 + obj/machinery/teambuilder.html | 50 + obj/machinery/telecomms.html | 232 + obj/machinery/telecomms/allinone.html | 37 + obj/machinery/telecomms/broadcaster.html | 30 + obj/machinery/telecomms/bus.html | 43 + obj/machinery/telecomms/hub.html | 33 + obj/machinery/telecomms/message_server.html | 68 + obj/machinery/telecomms/processor.html | 41 + obj/machinery/telecomms/receiver.html | 43 + obj/machinery/telecomms/relay.html | 77 + obj/machinery/telecomms/server.html | 51 + obj/machinery/ticket_machine.html | 73 + obj/machinery/tournament_spawn.html | 43 + obj/machinery/trading_card_button.html | 64 + obj/machinery/trading_card_holder.html | 57 + obj/machinery/transformer.html | 85 + obj/machinery/transport.html | 77 + obj/machinery/transport/crossing_signal.html | 120 + .../transport/crossing_signal/northwest.html | 41 + obj/machinery/transport/destination_sign.html | 43 + obj/machinery/transport/guideway_sensor.html | 43 + obj/machinery/transport/tram_controller.html | 78 + obj/machinery/turretid.html | 78 + obj/machinery/vending.html | 720 + obj/machinery/vending/custom.html | 61 + obj/machinery/vending/runic_vendor.html | 43 + obj/merge_conflict_marker.html | 35 + obj/modular_map_root.html | 50 + obj/mystery_box_item.html | 78 + obj/narsie.html | 82 + obj/projectile.html | 581 + obj/projectile/beam/ctf.html | 35 + obj/projectile/blastwave.html | 57 + obj/projectile/bullet/cannonball.html | 64 + obj/projectile/bullet/coin.html | 106 + obj/projectile/bullet/incendiary.html | 43 + .../bullet/incendiary/fire/backblast.html | 43 + obj/projectile/bullet/marksman.html | 36 + obj/projectile/bullet/p50.html | 43 + .../bullet/pellet/shotgun_rubbershot.html | 36 + obj/projectile/bullet/rocket.html | 53 + obj/projectile/bullet/rocket/pep.html | 33 + obj/projectile/bullet/rocket/srm.html | 30 + .../colossus/wendigo_shockwave.html | 50 + obj/projectile/curse_hand.html | 35 + obj/projectile/energy/chrono_beam.html | 36 + obj/projectile/energy/flora.html | 35 + obj/projectile/energy/radiation.html | 36 + obj/projectile/energy_net.html | 43 + obj/projectile/hallucination.html | 78 + obj/projectile/hook.html | 36 + obj/projectile/kiss.html | 39 + obj/projectile/magic.html | 43 + obj/projectile/magic/aoe.html | 78 + obj/projectile/magic/aoe/lightning.html | 57 + obj/projectile/magic/change.html | 43 + obj/projectile/magic/fireball.html | 57 + obj/projectile/magic/midas_round.html | 43 + obj/projectile/magic/star_ball.html | 43 + obj/projectile/organ.html | 36 + obj/projectile/temp/watcher.html | 35 + obj/projectile/tentacle.html | 36 + obj/projectile/tether.html | 36 + obj/singularity.html | 143 + obj/singularity/dark_matter.html | 36 + obj/structure/ai_core.html | 35 + obj/structure/alien/egg.html | 43 + obj/structure/alien/resin/flower_bud.html | 69 + obj/structure/alien/weeds.html | 89 + obj/structure/alien/weeds/node.html | 50 + obj/structure/altar_of_gods.html | 36 + obj/structure/aquarium.html | 104 + obj/structure/bed.html | 50 + obj/structure/bed/dogbed.html | 35 + obj/structure/bed/double.html | 36 + obj/structure/bed/medical.html | 36 + obj/structure/bedsheetbin.html | 50 + obj/structure/blob.html | 85 + obj/structure/blob/special.html | 66 + obj/structure/blob/special/factory.html | 99 + obj/structure/bodycontainer.html | 50 + obj/structure/bodycontainer/morgue.html | 78 + obj/structure/bonfire.html | 59 + obj/structure/bookcase.html | 64 + obj/structure/bookcase/random/fiction.html | 36 + obj/structure/bookcase/random/reference.html | 36 + .../bookcase/random/reference/wizard.html | 36 + obj/structure/broken_flooring.html | 36 + obj/structure/cable.html | 42 + obj/structure/cable/multilayer.html | 35 + obj/structure/cannon.html | 36 + obj/structure/carp_rift.html | 120 + obj/structure/carving_block.html | 71 + obj/structure/cat_house.html | 36 + obj/structure/chair.html | 42 + obj/structure/chair/pew.html | 35 + obj/structure/checkoutmachine.html | 36 + obj/structure/chem_separator.html | 155 + obj/structure/chrono_field.html | 71 + obj/structure/closet.html | 309 + obj/structure/closet/body_bag.html | 65 + .../closet/body_bag/environmental.html | 43 + .../body_bag/environmental/prisoner.html | 57 + obj/structure/closet/cardboard.html | 64 + obj/structure/closet/crate.html | 92 + obj/structure/closet/crate/bin.html | 35 + obj/structure/closet/crate/freezer.html | 43 + obj/structure/closet/crate/grave.html | 50 + obj/structure/closet/crate/mail.html | 35 + obj/structure/closet/crate/mail/economy.html | 35 + .../closet/crate/necropolis/tendril.html | 36 + .../crate/secure/bitrunning/decrypted.html | 42 + obj/structure/closet/crate/secure/owned.html | 57 + .../closet/crate/secure/syndicrate.html | 50 + obj/structure/closet/decay.html | 42 + .../closet/secure_closet/freezer.html | 50 + obj/structure/closet/stasis.html | 43 + obj/structure/closet/supplypod.html | 36 + obj/structure/cursed_slot_machine.html | 99 + obj/structure/curtain.html | 36 + obj/structure/desk_bell.html | 78 + obj/structure/destructible/cult.html | 50 + .../destructible/cult/item_dispenser.html | 36 + .../destructible/cult/pants_altar.html | 71 + obj/structure/destructible/cult/pylon.html | 43 + .../destructible/eldritch_crucible.html | 50 + obj/structure/displaycase.html | 120 + obj/structure/displaycase/forsale.html | 50 + obj/structure/displaycase/trophy.html | 71 + obj/structure/displaycase_chassis.html | 43 + obj/structure/disposalholder.html | 159 + obj/structure/disposaloutlet.html | 36 + obj/structure/disposalpipe.html | 62 + obj/structure/disposalpipe/rotator.html | 36 + obj/structure/disposalpipe/sorting.html | 35 + obj/structure/door_assembly.html | 106 + obj/structure/elite_tumor.html | 36 + .../emergency_shield/cult/barrier.html | 46 + obj/structure/emergency_shield/modular.html | 36 + .../emergency_shield/regenerating.html | 36 + obj/structure/energy_net.html | 31 + obj/structure/ethereal_crystal.html | 50 + obj/structure/falsewall.html | 36 + obj/structure/falsewall/uranium.html | 43 + obj/structure/fermenting_barrel.html | 85 + obj/structure/filingcabinet/employment.html | 36 + obj/structure/filingcabinet/medical.html | 36 + obj/structure/fireaxecabinet.html | 71 + obj/structure/fireplace.html | 64 + obj/structure/flora.html | 136 + obj/structure/flora/tree.html | 35 + obj/structure/fluff.html | 36 + obj/structure/fluff/airlock_filler.html | 57 + obj/structure/fluff/iced_abductor.html | 36 + obj/structure/foamedmetal.html | 36 + obj/structure/frame/computer.html | 35 + obj/structure/frame/machine.html | 62 + obj/structure/gel_cocoon.html | 42 + obj/structure/geyser.html | 106 + obj/structure/ghost_portal.html | 37 + obj/structure/girder.html | 36 + obj/structure/glowshroom.html | 135 + obj/structure/grille.html | 35 + obj/structure/grille/tram.html | 44 + obj/structure/guillotine.html | 78 + obj/structure/guncase.html | 50 + obj/structure/hololadder.html | 50 + obj/structure/holopay.html | 157 + obj/structure/hoop.html | 50 + obj/structure/hoop/minigame.html | 36 + obj/structure/ladder.html | 64 + obj/structure/legionturret.html | 71 + obj/structure/light_construct.html | 71 + obj/structure/light_puzzle.html | 43 + obj/structure/lock_tear.html | 78 + obj/structure/mannequin.html | 85 + obj/structure/meateor_fluff/eyeball.html | 35 + obj/structure/meateor_fluff/flesh_pod.html | 50 + obj/structure/mineral_door.html | 42 + obj/structure/mining_bomb.html | 64 + obj/structure/mirror.html | 43 + obj/structure/moisture_trap.html | 63 + obj/structure/mop_bucket.html | 36 + obj/structure/mop_bucket/janitorialcart.html | 39 + obj/structure/mystery_box.html | 134 + obj/structure/no_effect_signpost/void.html | 43 + obj/structure/noticeboard.html | 48 + obj/structure/ore_box.html | 35 + .../ore_container/gutlunch_trough.html | 36 + .../ore_container/material_stand.html | 35 + obj/structure/pinata.html | 50 + obj/structure/pipe_cleaner.html | 57 + obj/structure/plaque.html | 36 + obj/structure/plaque/static_plaque/tram.html | 50 + obj/structure/plasticflaps.html | 35 + obj/structure/punching_bag.html | 36 + obj/structure/punji_sticks.html | 36 + obj/structure/puzzle_blockade.html | 36 + obj/structure/railing.html | 57 + obj/structure/reagent_dispensers.html | 115 + obj/structure/safe.html | 113 + obj/structure/secure_safe/caps_spare.html | 32 + obj/structure/sign.html | 73 + obj/structure/sign/painting.html | 58 + obj/structure/sign/painting/large.html | 41 + obj/structure/sign/picture_frame.html | 35 + .../sign/picture_frame/portrait/bar.html | 35 + obj/structure/sign/poster.html | 66 + obj/structure/sign/poster/traitor.html | 36 + obj/structure/sink.html | 78 + obj/structure/spacevine.html | 120 + obj/structure/spawner.html | 85 + obj/structure/spawner/ice_moon.html | 49 + obj/structure/spider/eggcluster.html | 36 + obj/structure/spider/stickyweb.html | 43 + obj/structure/spirit_board.html | 71 + obj/structure/stairs.html | 35 + obj/structure/stairs_frame.html | 43 + obj/structure/statue.html | 50 + obj/structure/statue/custom.html | 43 + obj/structure/steam_vent.html | 57 + obj/structure/syndicate_uplink_beacon.html | 78 + obj/structure/table.html | 35 + obj/structure/table/optable.html | 67 + obj/structure/table/optable/abductor.html | 36 + obj/structure/table/rolling.html | 57 + obj/structure/tank_holder.html | 45 + obj/structure/trading_card_summon.html | 120 + obj/structure/training_machine.html | 229 + obj/structure/tram.html | 85 + obj/structure/tram/alt/uranium.html | 43 + obj/structure/tram/spoiler.html | 57 + obj/structure/transport/linear.html | 316 + obj/structure/transport/linear/tram.html | 60 + obj/structure/trap/eldritch.html | 43 + obj/structure/tray.html | 36 + obj/structure/urinal.html | 43 + obj/structure/weightmachine.html | 64 + obj/structure/window.html | 50 + obj/vehicle.html | 225 + obj/vehicle/ridden/bicycle.html | 35 + obj/vehicle/ridden/janicart.html | 61 + obj/vehicle/ridden/scooter/skateboard.html | 71 + .../ridden/scooter/skateboard/wheelys.html | 57 + obj/vehicle/ridden/secway.html | 36 + obj/vehicle/ridden/wheelchair.html | 71 + obj/vehicle/ridden/wheelchair/motorized.html | 78 + obj/vehicle/sealed.html | 57 + obj/vehicle/sealed/car.html | 92 + obj/vehicle/sealed/car/clowncar.html | 139 + obj/vehicle/sealed/car/speedwagon.html | 36 + obj/vehicle/sealed/car/vim.html | 38 + obj/vehicle/sealed/mecha.html | 798 ++ obj/vehicle/sealed/mecha/durand.html | 44 + obj/vehicle/sealed/mecha/ripley.html | 72 + obj/vehicle/sealed/mecha/ripley/paddy.html | 50 + obj/vehicle/sealed/mecha/savannah_ivanov.html | 30 + particles.html | 35 + procpath.html | 73 + regex/format_component.html | 41 + turf.html | 641 + turf/closed/indestructible/splashscreen.html | 35 + turf/closed/mineral.html | 50 + turf/closed/mineral/random.html | 37 + turf/closed/wall.html | 64 + turf/closed/wall/mineral/uranium.html | 43 + turf/closed/wall/r_wall.html | 43 + turf/open.html | 227 + turf/open/chasm.html | 42 + turf/open/cliff.html | 134 + turf/open/floor.html | 71 + turf/open/floor/carpet/neon.html | 57 + turf/open/floor/catwalk_floor.html | 31 + turf/open/floor/circuit.html | 54 + turf/open/floor/glass.html | 61 + turf/open/floor/light.html | 113 + turf/open/floor/plating.html | 41 + turf/open/floor/tram/plate/energized.html | 50 + turf/open/lava.html | 106 + turf/open/misc/asteroid.html | 92 + turf/open/openspace.html | 55 + turf/open/openspace/icemoon.html | 50 + turf/open/space.html | 58 + turf/open/space/transit.html | 35 + turf/open/water.html | 40 + turf/open/water/cursed_spring.html | 34 + world.html | 255 + 6681 files changed, 430199 insertions(+) create mode 100644 .nojekyll create mode 100644 CNAME create mode 100644 _maps/map_files/tramstation/maintenance_modules/map legend.html create mode 100644 _maps/safehouses.html create mode 100644 _maps/virtual_domains.html create mode 100644 _modular_event.html create mode 100644 _modular_event/disable_mouse_entered.html create mode 100644 area.html create mode 100644 area/space.html create mode 100644 area/station/ai_monitored/turret_protected.html create mode 100644 area/station/maintenance.html create mode 100644 atom.html create mode 100644 atom/movable.html create mode 100644 atom/movable/immerse_overlay.html create mode 100644 atom/movable/plane_master_controller.html create mode 100644 atom/movable/render_plane_relay.html create mode 100644 atom/movable/render_step/emissive.html create mode 100644 atom/movable/render_step/emissive_blocker.html create mode 100644 atom/movable/screen.html create mode 100644 atom/movable/screen/action_landing.html create mode 100644 atom/movable/screen/admin_popup.html create mode 100644 atom/movable/screen/alert.html create mode 100644 atom/movable/screen/alert/give.html create mode 100644 atom/movable/screen/alert/give/highfive.html create mode 100644 atom/movable/screen/alert/modlink_call.html create mode 100644 atom/movable/screen/alert/notify_action.html create mode 100644 atom/movable/screen/alert/status_effect.html create mode 100644 atom/movable/screen/alert/status_effect/golem_status.html create mode 100644 atom/movable/screen/button_palette.html create mode 100644 atom/movable/screen/combattoggle/flashy.html create mode 100644 atom/movable/screen/escape_menu/home_button_text.html create mode 100644 atom/movable/screen/fishing_hud.html create mode 100644 atom/movable/screen/fullscreen/cursor_catcher.html create mode 100644 atom/movable/screen/fullscreen/cursor_catcher/scope.html create mode 100644 atom/movable/screen/inventory.html create mode 100644 atom/movable/screen/lobby.html create mode 100644 atom/movable/screen/lobby/button.html create mode 100644 atom/movable/screen/lobby/button/bottom/poll.html create mode 100644 atom/movable/screen/lobby/button/collapse.html create mode 100644 atom/movable/screen/lobby/button/ready.html create mode 100644 atom/movable/screen/lobby/shutter.html create mode 100644 atom/movable/screen/mafia_popup.html create mode 100644 atom/movable/screen/map_view.html create mode 100644 atom/movable/screen/map_view/char_preview.html create mode 100644 atom/movable/screen/map_view/gateway_port.html create mode 100644 atom/movable/screen/movable.html create mode 100644 atom/movable/screen/movable/action_button.html create mode 100644 atom/movable/screen/palette_scroll.html create mode 100644 atom/movable/screen/parallax_layer/random.html create mode 100644 atom/movable/screen/parallax_layer/random/space_gas.html create mode 100644 atom/movable/screen/plane_master.html create mode 100644 atom/movable/screen/plane_master/parallax.html create mode 100644 atom/movable/screen/plane_master/rendering_plate.html create mode 100644 atom/movable/screen/plane_master/rendering_plate/lighting.html create mode 100644 atom/movable/visual/cryo_occupant.html create mode 100644 client.html create mode 100644 code/__DEFINES.html create mode 100644 code/__DEFINES/DNA.html create mode 100644 code/__DEFINES/MC.html create mode 100644 code/__DEFINES/__globals.html create mode 100644 code/__DEFINES/_click.html create mode 100644 code/__DEFINES/_flags.html create mode 100644 code/__DEFINES/_helpers.html create mode 100644 code/__DEFINES/_protect.html create mode 100644 code/__DEFINES/_tick.html create mode 100644 code/__DEFINES/access.html create mode 100644 code/__DEFINES/achievements.html create mode 100644 code/__DEFINES/acid.html create mode 100644 code/__DEFINES/actions.html create mode 100644 code/__DEFINES/admin.html create mode 100644 code/__DEFINES/adventure.html create mode 100644 code/__DEFINES/ai/ai.html create mode 100644 code/__DEFINES/ai/ai_blackboard.html create mode 100644 code/__DEFINES/ai/bot_keys.html create mode 100644 code/__DEFINES/ai/carp.html create mode 100644 code/__DEFINES/ai/haunted.html create mode 100644 code/__DEFINES/ai/monsters.html create mode 100644 code/__DEFINES/ai/pet_commands.html create mode 100644 code/__DEFINES/ai/pets.html create mode 100644 code/__DEFINES/ai/simplemob.html create mode 100644 code/__DEFINES/ai/tourist.html create mode 100644 code/__DEFINES/ai/trader.html create mode 100644 code/__DEFINES/ai/ventcrawling.html create mode 100644 code/__DEFINES/alarm.html create mode 100644 code/__DEFINES/alerts.html create mode 100644 code/__DEFINES/announcements.html create mode 100644 code/__DEFINES/anomaly.html create mode 100644 code/__DEFINES/antagonists.html create mode 100644 code/__DEFINES/apc_defines.html create mode 100644 code/__DEFINES/art.html create mode 100644 code/__DEFINES/assemblies.html create mode 100644 code/__DEFINES/assert.html create mode 100644 code/__DEFINES/atmospherics/atmos_core.html create mode 100644 code/__DEFINES/atmospherics/atmos_helpers.html create mode 100644 code/__DEFINES/atmospherics/atmos_machinery.html create mode 100644 code/__DEFINES/atmospherics/atmos_mapping_helpers.html create mode 100644 code/__DEFINES/atmospherics/atmos_mob_interaction.html create mode 100644 code/__DEFINES/atmospherics/atmos_piping.html create mode 100644 code/__DEFINES/atom_hud.html create mode 100644 code/__DEFINES/basic_mobs.html create mode 100644 code/__DEFINES/basketball.html create mode 100644 code/__DEFINES/bitrunning.html create mode 100644 code/__DEFINES/blood.html create mode 100644 code/__DEFINES/bodyparts.html create mode 100644 code/__DEFINES/botany.html create mode 100644 code/__DEFINES/callbacks.html create mode 100644 code/__DEFINES/cameranets.html create mode 100644 code/__DEFINES/cargo.html create mode 100644 code/__DEFINES/chat.html create mode 100644 code/__DEFINES/chat_filter.html create mode 100644 code/__DEFINES/cleaning.html create mode 100644 code/__DEFINES/client.html create mode 100644 code/__DEFINES/clothing.html create mode 100644 code/__DEFINES/colors.html create mode 100644 code/__DEFINES/combat.html create mode 100644 code/__DEFINES/communications.html create mode 100644 code/__DEFINES/configuration.html create mode 100644 code/__DEFINES/construction/material.html create mode 100644 code/__DEFINES/construction/rcd.html create mode 100644 code/__DEFINES/cooldowns.html create mode 100644 code/__DEFINES/crafting.html create mode 100644 code/__DEFINES/crushing.html create mode 100644 code/__DEFINES/ctf.html create mode 100644 code/__DEFINES/cult.html create mode 100644 code/__DEFINES/database.html create mode 100644 code/__DEFINES/dcs/flags.html create mode 100644 code/__DEFINES/dcs/helpers.html create mode 100644 code/__DEFINES/dcs/signals/signals_action.html create mode 100644 code/__DEFINES/dcs/signals/signals_admin.html create mode 100644 code/__DEFINES/dcs/signals/signals_adventure.html create mode 100644 code/__DEFINES/dcs/signals/signals_ai_controller.html create mode 100644 code/__DEFINES/dcs/signals/signals_area.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html create mode 100644 code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html create mode 100644 code/__DEFINES/dcs/signals/signals_backpack.html create mode 100644 code/__DEFINES/dcs/signals/signals_beam.html create mode 100644 code/__DEFINES/dcs/signals/signals_bitrunning.html create mode 100644 code/__DEFINES/dcs/signals/signals_blob.html create mode 100644 code/__DEFINES/dcs/signals/signals_bot.html create mode 100644 code/__DEFINES/dcs/signals/signals_camera.html create mode 100644 code/__DEFINES/dcs/signals/signals_changeling.html create mode 100644 code/__DEFINES/dcs/signals/signals_circuit.html create mode 100644 code/__DEFINES/dcs/signals/signals_client.html create mode 100644 code/__DEFINES/dcs/signals/signals_closet.html create mode 100644 code/__DEFINES/dcs/signals/signals_clothing.html create mode 100644 code/__DEFINES/dcs/signals/signals_container.html create mode 100644 code/__DEFINES/dcs/signals/signals_customizable.html create mode 100644 code/__DEFINES/dcs/signals/signals_cytology.html create mode 100644 code/__DEFINES/dcs/signals/signals_datum.html create mode 100644 code/__DEFINES/dcs/signals/signals_event.html create mode 100644 code/__DEFINES/dcs/signals/signals_fish.html create mode 100644 code/__DEFINES/dcs/signals/signals_food.html create mode 100644 code/__DEFINES/dcs/signals/signals_gib.html create mode 100644 code/__DEFINES/dcs/signals/signals_global.html create mode 100644 code/__DEFINES/dcs/signals/signals_global_object.html create mode 100644 code/__DEFINES/dcs/signals/signals_heretic.html create mode 100644 code/__DEFINES/dcs/signals/signals_hud.html create mode 100644 code/__DEFINES/dcs/signals/signals_hydroponic.html create mode 100644 code/__DEFINES/dcs/signals/signals_janitor.html create mode 100644 code/__DEFINES/dcs/signals/signals_key.html create mode 100644 code/__DEFINES/dcs/signals/signals_ladder.html create mode 100644 code/__DEFINES/dcs/signals/signals_lazy_templates.html create mode 100644 code/__DEFINES/dcs/signals/signals_leash.html create mode 100644 code/__DEFINES/dcs/signals/signals_lift.html create mode 100644 code/__DEFINES/dcs/signals/signals_light_eater.html create mode 100644 code/__DEFINES/dcs/signals/signals_material_container.html create mode 100644 code/__DEFINES/dcs/signals/signals_medical.html create mode 100644 code/__DEFINES/dcs/signals/signals_mind.html create mode 100644 code/__DEFINES/dcs/signals/signals_mining.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_guardian.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html create mode 100644 code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.html create mode 100644 code/__DEFINES/dcs/signals/signals_mod.html create mode 100644 code/__DEFINES/dcs/signals/signals_modular_computer.html create mode 100644 code/__DEFINES/dcs/signals/signals_moveloop.html create mode 100644 code/__DEFINES/dcs/signals/signals_movetype.html create mode 100644 code/__DEFINES/dcs/signals/signals_music.html create mode 100644 code/__DEFINES/dcs/signals/signals_object.html create mode 100644 code/__DEFINES/dcs/signals/signals_operating_computer.html create mode 100644 code/__DEFINES/dcs/signals/signals_painting.html create mode 100644 code/__DEFINES/dcs/signals/signals_proxmonitor.html create mode 100644 code/__DEFINES/dcs/signals/signals_radiation.html create mode 100644 code/__DEFINES/dcs/signals/signals_reagent.html create mode 100644 code/__DEFINES/dcs/signals/signals_restaurant.html create mode 100644 code/__DEFINES/dcs/signals/signals_saboteur.html create mode 100644 code/__DEFINES/dcs/signals/signals_scangate.html create mode 100644 code/__DEFINES/dcs/signals/signals_screentips.html create mode 100644 code/__DEFINES/dcs/signals/signals_spatial_grid.html create mode 100644 code/__DEFINES/dcs/signals/signals_species.html create mode 100644 code/__DEFINES/dcs/signals/signals_spell.html create mode 100644 code/__DEFINES/dcs/signals/signals_storage.html create mode 100644 code/__DEFINES/dcs/signals/signals_subsystem.html create mode 100644 code/__DEFINES/dcs/signals/signals_swab.html create mode 100644 code/__DEFINES/dcs/signals/signals_techweb.html create mode 100644 code/__DEFINES/dcs/signals/signals_tools.html create mode 100644 code/__DEFINES/dcs/signals/signals_traitor.html create mode 100644 code/__DEFINES/dcs/signals/signals_transform.html create mode 100644 code/__DEFINES/dcs/signals/signals_transport.html create mode 100644 code/__DEFINES/dcs/signals/signals_turf.html create mode 100644 code/__DEFINES/dcs/signals/signals_twohand.html create mode 100644 code/__DEFINES/dcs/signals/signals_vehicle.html create mode 100644 code/__DEFINES/dcs/signals/signals_wash.html create mode 100644 code/__DEFINES/dcs/signals/signals_wizard.html create mode 100644 code/__DEFINES/dcs/signals/signals_xeno_control.html create mode 100644 code/__DEFINES/deadchat_control.html create mode 100644 code/__DEFINES/directional.html create mode 100644 code/__DEFINES/diseases.html create mode 100644 code/__DEFINES/dna_infuser_defines.html create mode 100644 code/__DEFINES/drone.html create mode 100644 code/__DEFINES/dynamic.html create mode 100644 code/__DEFINES/economy.html create mode 100644 code/__DEFINES/electrified_buckle.html create mode 100644 code/__DEFINES/events.html create mode 100644 code/__DEFINES/exosuit_fab.html create mode 100644 code/__DEFINES/experisci.html create mode 100644 code/__DEFINES/explosions.html create mode 100644 code/__DEFINES/external_organs.html create mode 100644 code/__DEFINES/firealarm.html create mode 100644 code/__DEFINES/fish.html create mode 100644 code/__DEFINES/flora.html create mode 100644 code/__DEFINES/fonts.html create mode 100644 code/__DEFINES/food.html create mode 100644 code/__DEFINES/footsteps.html create mode 100644 code/__DEFINES/fov.html create mode 100644 code/__DEFINES/generators.html create mode 100644 code/__DEFINES/ghost.html create mode 100644 code/__DEFINES/gravity.html create mode 100644 code/__DEFINES/hud.html create mode 100644 code/__DEFINES/icon_smoothing.html create mode 100644 code/__DEFINES/id_cards.html create mode 100644 code/__DEFINES/implants.html create mode 100644 code/__DEFINES/important_recursive_contents.html create mode 100644 code/__DEFINES/injection.html create mode 100644 code/__DEFINES/input.html create mode 100644 code/__DEFINES/instruments.html create mode 100644 code/__DEFINES/interaction_flags.html create mode 100644 code/__DEFINES/inventory.html create mode 100644 code/__DEFINES/is_helpers.html create mode 100644 code/__DEFINES/jobs.html create mode 100644 code/__DEFINES/lag_switch.html create mode 100644 code/__DEFINES/language.html create mode 100644 code/__DEFINES/layers.html create mode 100644 code/__DEFINES/library.html create mode 100644 code/__DEFINES/lighting.html create mode 100644 code/__DEFINES/lights.html create mode 100644 code/__DEFINES/living.html create mode 100644 code/__DEFINES/logging.html create mode 100644 code/__DEFINES/machines.html create mode 100644 code/__DEFINES/magic.html create mode 100644 code/__DEFINES/map_switch.html create mode 100644 code/__DEFINES/mapping.html create mode 100644 code/__DEFINES/maps.html create mode 100644 code/__DEFINES/maths.html create mode 100644 code/__DEFINES/matrices.html create mode 100644 code/__DEFINES/mecha.html create mode 100644 code/__DEFINES/medical.html create mode 100644 code/__DEFINES/megafauna.html create mode 100644 code/__DEFINES/melee.html create mode 100644 code/__DEFINES/memory_defines.html create mode 100644 code/__DEFINES/mob_spawn.html create mode 100644 code/__DEFINES/mobfactions.html create mode 100644 code/__DEFINES/mobs.html create mode 100644 code/__DEFINES/mod.html create mode 100644 code/__DEFINES/modular_computer.html create mode 100644 code/__DEFINES/monkeys.html create mode 100644 code/__DEFINES/movement.html create mode 100644 code/__DEFINES/multiz.html create mode 100644 code/__DEFINES/nitrile.html create mode 100644 code/__DEFINES/nozzle_define.html create mode 100644 code/__DEFINES/nuclear_bomb.html create mode 100644 code/__DEFINES/obj_flags.html create mode 100644 code/__DEFINES/observers.html create mode 100644 code/__DEFINES/organ_movement.html create mode 100644 code/__DEFINES/overlays.html create mode 100644 code/__DEFINES/pai.html create mode 100644 code/__DEFINES/paintings.html create mode 100644 code/__DEFINES/paper.html create mode 100644 code/__DEFINES/particles.html create mode 100644 code/__DEFINES/path.html create mode 100644 code/__DEFINES/perf_test.html create mode 100644 code/__DEFINES/plumbing.html create mode 100644 code/__DEFINES/power.html create mode 100644 code/__DEFINES/preferences.html create mode 100644 code/__DEFINES/procpath.html create mode 100644 code/__DEFINES/projectiles.html create mode 100644 code/__DEFINES/qdel.html create mode 100644 code/__DEFINES/quirks.html create mode 100644 code/__DEFINES/radiation.html create mode 100644 code/__DEFINES/radio.html create mode 100644 code/__DEFINES/radioactive_nebula.html create mode 100644 code/__DEFINES/reactions.html create mode 100644 code/__DEFINES/reagents.html create mode 100644 code/__DEFINES/regex.html create mode 100644 code/__DEFINES/religion.html create mode 100644 code/__DEFINES/research.html create mode 100644 code/__DEFINES/research/anomalies.html create mode 100644 code/__DEFINES/research/research_categories.html create mode 100644 code/__DEFINES/revolution.html create mode 100644 code/__DEFINES/robots.html create mode 100644 code/__DEFINES/rotation.html create mode 100644 code/__DEFINES/roundend.html create mode 100644 code/__DEFINES/rust_g.html create mode 100644 code/__DEFINES/say.html create mode 100644 code/__DEFINES/screentips.html create mode 100644 code/__DEFINES/security.html create mode 100644 code/__DEFINES/shuttles.html create mode 100644 code/__DEFINES/sight.html create mode 100644 code/__DEFINES/skills.html create mode 100644 code/__DEFINES/song.html create mode 100644 code/__DEFINES/sort_types.html create mode 100644 code/__DEFINES/sound.html create mode 100644 code/__DEFINES/space.html create mode 100644 code/__DEFINES/spaceman_dmm.html create mode 100644 code/__DEFINES/spacevines.html create mode 100644 code/__DEFINES/spatial_gridmap.html create mode 100644 code/__DEFINES/species_clothing_paths.html create mode 100644 code/__DEFINES/sprite_accessories.html create mode 100644 code/__DEFINES/stack.html create mode 100644 code/__DEFINES/stack_trace.html create mode 100644 code/__DEFINES/stat_tracking.html create mode 100644 code/__DEFINES/station.html create mode 100644 code/__DEFINES/status_effects.html create mode 100644 code/__DEFINES/strippable.html create mode 100644 code/__DEFINES/subsystems.html create mode 100644 code/__DEFINES/supermatter.html create mode 100644 code/__DEFINES/surgery.html create mode 100644 code/__DEFINES/text.html create mode 100644 code/__DEFINES/tgs.html create mode 100644 code/__DEFINES/tgui.html create mode 100644 code/__DEFINES/time.html create mode 100644 code/__DEFINES/tools.html create mode 100644 code/__DEFINES/toys.html create mode 100644 code/__DEFINES/traits/_traits.html create mode 100644 code/__DEFINES/traits/declarations.html create mode 100644 code/__DEFINES/traits/macros.html create mode 100644 code/__DEFINES/traits/sources.html create mode 100644 code/__DEFINES/tts.html create mode 100644 code/__DEFINES/turbine_defines.html create mode 100644 code/__DEFINES/turfs.html create mode 100644 code/__DEFINES/unit_tests.html create mode 100644 code/__DEFINES/uplink.html create mode 100644 code/__DEFINES/vehicles.html create mode 100644 code/__DEFINES/verb_manager.html create mode 100644 code/__DEFINES/visual_helpers.html create mode 100644 code/__DEFINES/vv.html create mode 100644 code/__DEFINES/wiremod.html create mode 100644 code/__DEFINES/wires.html create mode 100644 code/__DEFINES/wounds.html create mode 100644 code/__DEFINES/xenobiology.html create mode 100644 code/__HELPERS/_lists.html create mode 100644 code/__HELPERS/_planes.html create mode 100644 code/__HELPERS/admin.html create mode 100644 code/__HELPERS/ai.html create mode 100644 code/__HELPERS/areas.html create mode 100644 code/__HELPERS/atmospherics.html create mode 100644 code/__HELPERS/atoms.html create mode 100644 code/__HELPERS/auxtools.html create mode 100644 code/__HELPERS/bitflag_lists.html create mode 100644 code/__HELPERS/cameras.html create mode 100644 code/__HELPERS/chat.html create mode 100644 code/__HELPERS/chat_filter.html create mode 100644 code/__HELPERS/clients.html create mode 100644 code/__HELPERS/cmp.html create mode 100644 code/__HELPERS/colors.html create mode 100644 code/__HELPERS/construction.html create mode 100644 code/__HELPERS/datums.html create mode 100644 code/__HELPERS/dna.html create mode 100644 code/__HELPERS/duplicating.html create mode 100644 code/__HELPERS/dynamic_human_icon_gen.html create mode 100644 code/__HELPERS/events.html create mode 100644 code/__HELPERS/files.html create mode 100644 code/__HELPERS/forensics.html create mode 100644 code/__HELPERS/game.html create mode 100644 code/__HELPERS/generators.html create mode 100644 code/__HELPERS/global_lists.html create mode 100644 code/__HELPERS/guid.html create mode 100644 code/__HELPERS/hallucinations.html create mode 100644 code/__HELPERS/honkerblast.html create mode 100644 code/__HELPERS/icon_smoothing.html create mode 100644 code/__HELPERS/icons.html create mode 100644 code/__HELPERS/jatum.html create mode 100644 code/__HELPERS/lazy_templates.html create mode 100644 code/__HELPERS/levels.html create mode 100644 code/__HELPERS/lighting.html create mode 100644 code/__HELPERS/logging/_logging.html create mode 100644 code/__HELPERS/logging/admin.html create mode 100644 code/__HELPERS/logging/antagonists.html create mode 100644 code/__HELPERS/logging/atmos.html create mode 100644 code/__HELPERS/logging/attack.html create mode 100644 code/__HELPERS/logging/debug.html create mode 100644 code/__HELPERS/logging/dynamic.html create mode 100644 code/__HELPERS/logging/game.html create mode 100644 code/__HELPERS/logging/manifest.html create mode 100644 code/__HELPERS/logging/mecha.html create mode 100644 code/__HELPERS/logging/paper.html create mode 100644 code/__HELPERS/logging/pda.html create mode 100644 code/__HELPERS/logging/research.html create mode 100644 code/__HELPERS/logging/shuttle.html create mode 100644 code/__HELPERS/logging/talk.html create mode 100644 code/__HELPERS/logging/tool.html create mode 100644 code/__HELPERS/logging/transport.html create mode 100644 code/__HELPERS/logging/ui.html create mode 100644 code/__HELPERS/logging/virus.html create mode 100644 code/__HELPERS/maths.html create mode 100644 code/__HELPERS/matrices.html create mode 100644 code/__HELPERS/memory_helpers.html create mode 100644 code/__HELPERS/mobs.html create mode 100644 code/__HELPERS/mouse_control.html create mode 100644 code/__HELPERS/nameof.html create mode 100644 code/__HELPERS/names.html create mode 100644 code/__HELPERS/paths/jps.html create mode 100644 code/__HELPERS/paths/path.html create mode 100644 code/__HELPERS/paths/sssp.html create mode 100644 code/__HELPERS/priority_announce.html create mode 100644 code/__HELPERS/qdel.html create mode 100644 code/__HELPERS/radiation.html create mode 100644 code/__HELPERS/radio.html create mode 100644 code/__HELPERS/randoms.html create mode 100644 code/__HELPERS/reagents.html create mode 100644 code/__HELPERS/ref.html create mode 100644 code/__HELPERS/roundend.html create mode 100644 code/__HELPERS/sanitize_values.html create mode 100644 code/__HELPERS/screen_objs.html create mode 100644 code/__HELPERS/see_through_maps.html create mode 100644 code/__HELPERS/spatial_info.html create mode 100644 code/__HELPERS/spawns.html create mode 100644 code/__HELPERS/stack_trace.html create mode 100644 code/__HELPERS/stoplag.html create mode 100644 code/__HELPERS/string_lists.html create mode 100644 code/__HELPERS/text.html create mode 100644 code/__HELPERS/time.html create mode 100644 code/__HELPERS/traits.html create mode 100644 code/__HELPERS/turfs.html create mode 100644 code/__HELPERS/type2type.html create mode 100644 code/__HELPERS/varset_callback.html create mode 100644 code/__HELPERS/verbs.html create mode 100644 code/__HELPERS/view.html create mode 100644 code/__HELPERS/visual_effects.html create mode 100644 code/__HELPERS/weakref.html create mode 100644 code/__byond_version_compat.html create mode 100644 code/_compile_options.html create mode 100644 code/_globalvars/bitfields.html create mode 100644 code/_globalvars/lighting.html create mode 100644 code/_globalvars/lists/canisters.html create mode 100644 code/_globalvars/lists/keybindings.html create mode 100644 code/_globalvars/lists/reagents.html create mode 100644 code/_globalvars/logging.html create mode 100644 code/_globalvars/phobias.html create mode 100644 code/_globalvars/religion.html create mode 100644 code/_onclick/drag_drop.html create mode 100644 code/_onclick/hud/action_button.html create mode 100644 code/_onclick/hud/alert.html create mode 100644 code/_onclick/hud/map_popups.html create mode 100644 code/_onclick/hud/new_player.html create mode 100644 code/_onclick/hud/parallax/random_layer.html create mode 100644 code/_onclick/hud/radial.html create mode 100644 code/_onclick/hud/rendering/_render_readme.html create mode 100644 code/_onclick/hud/rendering/plane_master_controller.html create mode 100644 code/_onclick/hud/rendering/plane_master_group.html create mode 100644 code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.html create mode 100644 code/_onclick/hud/rendering/render_plate.html create mode 100644 code/_onclick/hud/screen_object_holder.html create mode 100644 code/controllers/configuration/config_entry.html create mode 100644 code/controllers/configuration/entries/dbconfig.html create mode 100644 code/controllers/configuration/entries/game_options.html create mode 100644 code/controllers/configuration/entries/general.html create mode 100644 code/controllers/failsafe.html create mode 100644 code/controllers/master.html create mode 100644 code/controllers/subsystem.html create mode 100644 code/controllers/subsystem/addiction.html create mode 100644 code/controllers/subsystem/ai_controllers.html create mode 100644 code/controllers/subsystem/ambience.html create mode 100644 code/controllers/subsystem/area_contents.html create mode 100644 code/controllers/subsystem/asset_loading.html create mode 100644 code/controllers/subsystem/ban_cache.html create mode 100644 code/controllers/subsystem/chat.html create mode 100644 code/controllers/subsystem/discord.html create mode 100644 code/controllers/subsystem/dynamic.html create mode 100644 code/controllers/subsystem/dynamic/dynamic.html create mode 100644 code/controllers/subsystem/dynamic/dynamic_logging.html create mode 100644 code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.html create mode 100644 code/controllers/subsystem/dynamic/dynamic_rulesets_midround.html create mode 100644 code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.html create mode 100644 code/controllers/subsystem/early_assets.html create mode 100644 code/controllers/subsystem/economy.html create mode 100644 code/controllers/subsystem/eigenstate.html create mode 100644 code/controllers/subsystem/events.html create mode 100644 code/controllers/subsystem/explosions.html create mode 100644 code/controllers/subsystem/fluids.html create mode 100644 code/controllers/subsystem/garbage.html create mode 100644 code/controllers/subsystem/id_access.html create mode 100644 code/controllers/subsystem/init_profiler.html create mode 100644 code/controllers/subsystem/lag_switch.html create mode 100644 code/controllers/subsystem/library.html create mode 100644 code/controllers/subsystem/materials.html create mode 100644 code/controllers/subsystem/minor_mapping.html create mode 100644 code/controllers/subsystem/modular_computers.html create mode 100644 code/controllers/subsystem/mouse_entered.html create mode 100644 code/controllers/subsystem/movement/ai_movement.html create mode 100644 code/controllers/subsystem/movement/cliff_falling.html create mode 100644 code/controllers/subsystem/movement/hyperspace_drift.html create mode 100644 code/controllers/subsystem/movement/move_handler.html create mode 100644 code/controllers/subsystem/movement/movement_types.html create mode 100644 code/controllers/subsystem/overlays.html create mode 100644 code/controllers/subsystem/parallax.html create mode 100644 code/controllers/subsystem/pathfinder.html create mode 100644 code/controllers/subsystem/persistence/counter_delamination.html create mode 100644 code/controllers/subsystem/persistence/counter_tram_hits.html create mode 100644 code/controllers/subsystem/persistence/trophies.html create mode 100644 code/controllers/subsystem/ping.html create mode 100644 code/controllers/subsystem/points_of_interest.html create mode 100644 code/controllers/subsystem/processing/acid.html create mode 100644 code/controllers/subsystem/processing/ai_behaviors.html create mode 100644 code/controllers/subsystem/processing/aura_healing.html create mode 100644 code/controllers/subsystem/processing/clock_component.html create mode 100644 code/controllers/subsystem/processing/digital_clock.html create mode 100644 code/controllers/subsystem/processing/fire_burning.html create mode 100644 code/controllers/subsystem/processing/fishing.html create mode 100644 code/controllers/subsystem/processing/singulo.html create mode 100644 code/controllers/subsystem/radioactive_nebula.html create mode 100644 code/controllers/subsystem/restaurant.html create mode 100644 code/controllers/subsystem/shuttle.html create mode 100644 code/controllers/subsystem/skills.html create mode 100644 code/controllers/subsystem/spatial_gridmap.html create mode 100644 code/controllers/subsystem/speech_controller.html create mode 100644 code/controllers/subsystem/statpanel.html create mode 100644 code/controllers/subsystem/tgui.html create mode 100644 code/controllers/subsystem/timer.html create mode 100644 code/controllers/subsystem/tts.html create mode 100644 code/controllers/subsystem/tutorials.html create mode 100644 code/controllers/subsystem/verb_manager.html create mode 100644 code/controllers/subsystem/vote.html create mode 100644 code/controllers/subsystem/wardrobe.html create mode 100644 code/controllers/subsystem/weather.html create mode 100644 code/controllers/subsystem/wiremod_composite.html create mode 100644 code/datums/achievements/_achievement_data.html create mode 100644 code/datums/achievements/_awards.html create mode 100644 code/datums/achievements/mafia_achievements.html create mode 100644 code/datums/achievements/misc_scores.html create mode 100644 code/datums/actions/action.html create mode 100644 code/datums/actions/cooldown_action.html create mode 100644 code/datums/actions/items/stealth_box.html create mode 100644 code/datums/actions/mobs/assume_form.html create mode 100644 code/datums/actions/mobs/defensive_mode.html create mode 100644 code/datums/actions/mobs/fire_breath.html create mode 100644 code/datums/actions/mobs/sign_language.html create mode 100644 code/datums/ai.html create mode 100644 code/datums/ai/_ai_behavior.html create mode 100644 code/datums/ai/_ai_controller.html create mode 100644 code/datums/ai/_ai_planning_subtree.html create mode 100644 code/datums/ai/_item_behaviors.html create mode 100644 code/datums/ai/babies/babies_behaviors.html create mode 100644 code/datums/ai/babies/babies_subtrees.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/pick_up_item.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/step_towards_turf.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/ventcrawling.html create mode 100644 code/datums/ai/basic_mobs/basic_ai_behaviors/wounded_targeting.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/find_food.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/flee_target.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/go_for_swim.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/move_to_cardinal.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/opportunistic_ventcrawler.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/prepare_travel_to_destination.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/run_emote.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/simple_find_wounded_target.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/sleep_with_no_target.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/teleport_away_from_target.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html create mode 100644 code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html create mode 100644 code/datums/ai/basic_mobs/generic_controllers.html create mode 100644 code/datums/ai/basic_mobs/pet_commands/fetch.html create mode 100644 code/datums/ai/basic_mobs/pet_commands/pet_command_planning.html create mode 100644 code/datums/ai/basic_mobs/pet_commands/pet_follow_friend.html create mode 100644 code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.html create mode 100644 code/datums/ai/basic_mobs/pet_commands/play_dead.html create mode 100644 code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.html create mode 100644 code/datums/ai/basic_mobs/targeting_strategies/dont_target_friends.html create mode 100644 code/datums/ai/basic_mobs/targeting_strategies/with_object.html create mode 100644 code/datums/ai/cursed/cursed_controller.html create mode 100644 code/datums/ai/dog/dog_behaviors.html create mode 100644 code/datums/ai/dog/dog_controller.html create mode 100644 code/datums/ai/dog/dog_subtrees.html create mode 100644 code/datums/ai/generic/find_and_set.html create mode 100644 code/datums/ai/generic/generic_behaviors.html create mode 100644 code/datums/ai/hunting_behavior/hunting_behaviors.html create mode 100644 code/datums/ai/hunting_behavior/hunting_corpses.html create mode 100644 code/datums/ai/idle_behaviors/idle_haunted.html create mode 100644 code/datums/ai/idle_behaviors/idle_random_walk.html create mode 100644 code/datums/ai/learn_ai.html create mode 100644 code/datums/ai/monkey/monkey_behaviors.html create mode 100644 code/datums/ai/monkey/monkey_controller.html create mode 100644 code/datums/ai/movement/_ai_movement.html create mode 100644 code/datums/ai/movement/ai_movement_basic_avoidance.html create mode 100644 code/datums/ai/movement/ai_movement_complete_stop.html create mode 100644 code/datums/ai/movement/ai_movement_dumb.html create mode 100644 code/datums/ai/movement/ai_movement_jps.html create mode 100644 code/datums/ai/objects/mod.html create mode 100644 code/datums/ai/objects/vending_machines/vending_machine_controller.html create mode 100644 code/datums/ai/oldhostile/hostile_tameable.html create mode 100644 code/datums/ai_laws/ai_laws.html create mode 100644 code/datums/alarm.html create mode 100644 code/datums/announcers/_announcer.html create mode 100644 code/datums/armor/_armor.html create mode 100644 code/datums/beam.html create mode 100644 code/datums/bodypart_overlays/bodypart_overlay.html create mode 100644 code/datums/bodypart_overlays/emote_bodypart_overlay.html create mode 100644 code/datums/bodypart_overlays/mutant_bodypart_overlay.html create mode 100644 code/datums/bodypart_overlays/simple_bodypart_overlay.html create mode 100644 code/datums/brain_damage/split_personality.html create mode 100644 code/datums/browser.html create mode 100644 code/datums/callback.html create mode 100644 code/datums/chat_payload.html create mode 100644 code/datums/chatmessage.html create mode 100644 code/datums/cinematics/_cinematic.html create mode 100644 code/datums/cinematics/malf_doomsday.html create mode 100644 code/datums/cinematics/narsie_summon.html create mode 100644 code/datums/cinematics/nuke_cinematics.html create mode 100644 code/datums/components.html create mode 100644 code/datums/components/COMPONENT_TEMPLATE.html create mode 100644 code/datums/components/_component.html create mode 100644 code/datums/components/acid.html create mode 100644 code/datums/components/action_item_overlay.html create mode 100644 code/datums/components/admin_popup.html create mode 100644 code/datums/components/aggro_emote.html create mode 100644 code/datums/components/ai_has_target_timer.html create mode 100644 code/datums/components/ai_listen_to_weather.html create mode 100644 code/datums/components/ai_retaliate_advanced.html create mode 100644 code/datums/components/anti_magic.html create mode 100644 code/datums/components/appearance_on_aggro.html create mode 100644 code/datums/components/aquarium_content.html create mode 100644 code/datums/components/area_based_godmode.html create mode 100644 code/datums/components/area_sound_manager.html create mode 100644 code/datums/components/areabound.html create mode 100644 code/datums/components/atmos_reaction_recorder.html create mode 100644 code/datums/components/aura_healing.html create mode 100644 code/datums/components/bakeable.html create mode 100644 code/datums/components/basic_inhands.html create mode 100644 code/datums/components/basic_mob_attack_telegraph.html create mode 100644 code/datums/components/basic_ranged_ready_overlay.html create mode 100644 code/datums/components/blob_minion.html create mode 100644 code/datums/components/blood_walk.html create mode 100644 code/datums/components/bloodysoles.html create mode 100644 code/datums/components/boomerang.html create mode 100644 code/datums/components/boss_music.html create mode 100644 code/datums/components/bullet_intercepting.html create mode 100644 code/datums/components/bumpattack.html create mode 100644 code/datums/components/burning.html create mode 100644 code/datums/components/butchering.html create mode 100644 code/datums/components/caltrop.html create mode 100644 code/datums/components/can_flash_from_behind.html create mode 100644 code/datums/components/chasm.html create mode 100644 code/datums/components/chuunibyou.html create mode 100644 code/datums/components/cleaner.html create mode 100644 code/datums/components/clickbox.html create mode 100644 code/datums/components/clothing_fov_visor.html create mode 100644 code/datums/components/codeword_hearing.html create mode 100644 code/datums/components/combustible_flooder.html create mode 100644 code/datums/components/connect_containers.html create mode 100644 code/datums/components/connect_loc_behalf.html create mode 100644 code/datums/components/connect_mob_behalf.html create mode 100644 code/datums/components/connect_range.html create mode 100644 code/datums/components/container_item/container_item.html create mode 100644 code/datums/components/container_item/tank_holder.html create mode 100644 code/datums/components/conveyor_movement.html create mode 100644 code/datums/components/cracked.html create mode 100644 code/datums/components/crafting/equipment.html create mode 100644 code/datums/components/crafting/guncrafting.html create mode 100644 code/datums/components/crafting/robot.html create mode 100644 code/datums/components/crafting/slapcrafting.html create mode 100644 code/datums/components/crate_carrier.html create mode 100644 code/datums/components/creamed.html create mode 100644 code/datums/components/curse_of_hunger.html create mode 100644 code/datums/components/curse_of_polymorph.html create mode 100644 code/datums/components/customizable_reagent_holder.html create mode 100644 code/datums/components/damage_aura.html create mode 100644 code/datums/components/damage_chain.html create mode 100644 code/datums/components/dart_insert.html create mode 100644 code/datums/components/deadchat_control.html create mode 100644 code/datums/components/death_linked.html create mode 100644 code/datums/components/dejavu.html create mode 100644 code/datums/components/deployable.html create mode 100644 code/datums/components/direct_explosive_trap.html create mode 100644 code/datums/components/drift.html create mode 100644 code/datums/components/egg_layer.html create mode 100644 code/datums/components/electrified_buckle.html create mode 100644 code/datums/components/engraved.html create mode 100644 code/datums/components/evolutionary_leap.html create mode 100644 code/datums/components/explodable.html create mode 100644 code/datums/components/explode_on_attack.html create mode 100644 code/datums/components/faction_granter.html create mode 100644 code/datums/components/fantasy/suffixes.html create mode 100644 code/datums/components/fertile_egg.html create mode 100644 code/datums/components/focused_attacker.html create mode 100644 code/datums/components/food/decomposition.html create mode 100644 code/datums/components/food/edible.html create mode 100644 code/datums/components/food/germ_sensitive.html create mode 100644 code/datums/components/food/ghost_edible.html create mode 100644 code/datums/components/food/golem_food.html create mode 100644 code/datums/components/food/ice_cream_holder.html create mode 100644 code/datums/components/food_storage.html create mode 100644 code/datums/components/force_move.html create mode 100644 code/datums/components/fov_handler.html create mode 100644 code/datums/components/gas_leaker.html create mode 100644 code/datums/components/geiger_sound.html create mode 100644 code/datums/components/ghost_direct_control.html create mode 100644 code/datums/components/gps.html create mode 100644 code/datums/components/ground_sinking.html create mode 100644 code/datums/components/growth_and_differentiation.html create mode 100644 code/datums/components/gunpoint.html create mode 100644 code/datums/components/hazard_area.html create mode 100644 code/datums/components/healing_touch.html create mode 100644 code/datums/components/health_scaling_effects.html create mode 100644 code/datums/components/heirloom.html create mode 100644 code/datums/components/hide_highest_offset.html create mode 100644 code/datums/components/holderloving.html create mode 100644 code/datums/components/interaction_booby_trap.html create mode 100644 code/datums/components/irradiated.html create mode 100644 code/datums/components/itembound.html create mode 100644 code/datums/components/itempicky.html create mode 100644 code/datums/components/jousting.html create mode 100644 code/datums/components/keep_me_secure.html create mode 100644 code/datums/components/knockoff.html create mode 100644 code/datums/components/label.html create mode 100644 code/datums/components/leash.html create mode 100644 code/datums/components/life_link.html create mode 100644 code/datums/components/light_eater.html create mode 100644 code/datums/components/ling_decoy_brain.html create mode 100644 code/datums/components/listen_and_repeat.html create mode 100644 code/datums/components/lock_on_cursor.html create mode 100644 code/datums/components/lockable_storage.html create mode 100644 code/datums/components/magnet.html create mode 100644 code/datums/components/manual_heart.html create mode 100644 code/datums/components/material/material_container.html create mode 100644 code/datums/components/mind_linker.html create mode 100644 code/datums/components/mob_chain.html create mode 100644 code/datums/components/mob_harvest.html create mode 100644 code/datums/components/multiple_lives.html create mode 100644 code/datums/components/mutant_hands.html create mode 100644 code/datums/components/nuclear_bomb_operator.html create mode 100644 code/datums/components/object_possession.html create mode 100644 code/datums/components/omen.html create mode 100644 code/datums/components/on_hit_effect.html create mode 100644 code/datums/components/onwear_mood.html create mode 100644 code/datums/components/orbit_poll.html create mode 100644 code/datums/components/overlay_lighting.html create mode 100644 code/datums/components/palette.html create mode 100644 code/datums/components/parry.html create mode 100644 code/datums/components/payment.html create mode 100644 code/datums/components/pet_commands/fetch.html create mode 100644 code/datums/components/pet_commands/obeys_commands.html create mode 100644 code/datums/components/pet_commands/pet_command.html create mode 100644 code/datums/components/pet_commands/pet_commands_basic.html create mode 100644 code/datums/components/phylactery.html create mode 100644 code/datums/components/pinata.html create mode 100644 code/datums/components/pinnable_accessory.html create mode 100644 code/datums/components/plumbing/_plumbing.html create mode 100644 code/datums/components/plumbing/filter.html create mode 100644 code/datums/components/plumbing/reaction_chamber.html create mode 100644 code/datums/components/plundering_attacks.html create mode 100644 code/datums/components/punchcooldown.html create mode 100644 code/datums/components/puzzgrid.html create mode 100644 code/datums/components/radiation_countdown.html create mode 100644 code/datums/components/radioactive_emitter.html create mode 100644 code/datums/components/radioactive_exposure.html create mode 100644 code/datums/components/ranged_attacks.html create mode 100644 code/datums/components/ranged_mob_full_auto.html create mode 100644 code/datums/components/reagent_refiller.html create mode 100644 code/datums/components/recharging_attacks.html create mode 100644 code/datums/components/redirect_attack_hand_from_turf.html create mode 100644 code/datums/components/reflection.html create mode 100644 code/datums/components/regenerator.html create mode 100644 code/datums/components/religious_tool.html create mode 100644 code/datums/components/rename.html create mode 100644 code/datums/components/revenge_ability.html create mode 100644 code/datums/components/riding/riding.html create mode 100644 code/datums/components/riding/riding_mob.html create mode 100644 code/datums/components/rot.html create mode 100644 code/datums/components/seclight_attachable.html create mode 100644 code/datums/components/sect_nullrod_bonus.html create mode 100644 code/datums/components/security_vision.html create mode 100644 code/datums/components/seethrough.html create mode 100644 code/datums/components/seethrough_mob.html create mode 100644 code/datums/components/shell.html create mode 100644 code/datums/components/shielded.html create mode 100644 code/datums/components/shovel_hands.html create mode 100644 code/datums/components/shuttle_cling.html create mode 100644 code/datums/components/shy.html create mode 100644 code/datums/components/shy_in_room.html create mode 100644 code/datums/components/sign_language.html create mode 100644 code/datums/components/simple_access.html create mode 100644 code/datums/components/singularity.html create mode 100644 code/datums/components/slippery.html create mode 100644 code/datums/components/smooth_tunes.html create mode 100644 code/datums/components/soul_stealer.html create mode 100644 code/datums/components/sound_player.html create mode 100644 code/datums/components/spin2win.html create mode 100644 code/datums/components/spinny.html create mode 100644 code/datums/components/spirit_holding.html create mode 100644 code/datums/components/splattercasting.html create mode 100644 code/datums/components/squashable.html create mode 100644 code/datums/components/stationloving.html create mode 100644 code/datums/components/storm_hating.html create mode 100644 code/datums/components/subtype_picker.html create mode 100644 code/datums/components/surgery_initiator.html create mode 100644 code/datums/components/swabbing.html create mode 100644 code/datums/components/tackle.html create mode 100644 code/datums/components/takes_reagent_appearance.html create mode 100644 code/datums/components/tameable.html create mode 100644 code/datums/components/tattoo.html create mode 100644 code/datums/components/technointrovert.html create mode 100644 code/datums/components/technoshy.html create mode 100644 code/datums/components/telegraph_ability.html create mode 100644 code/datums/components/temporary_body.html create mode 100644 code/datums/components/temporary_description.html create mode 100644 code/datums/components/tippable.html create mode 100644 code/datums/components/toggle_attached_clothing.html create mode 100644 code/datums/components/torn_wall.html create mode 100644 code/datums/components/trader/trader.html create mode 100644 code/datums/components/trapdoor.html create mode 100644 code/datums/components/twohanded.html create mode 100644 code/datums/components/udder.html create mode 100644 code/datums/components/unobserved_actor.html create mode 100644 code/datums/components/unusual_effect.html create mode 100644 code/datums/components/uplink.html create mode 100644 code/datums/components/usb_port.html create mode 100644 code/datums/components/vacuum.html create mode 100644 code/datums/components/vision_hurting.html create mode 100644 code/datums/components/wearertargeting.html create mode 100644 code/datums/components/weatherannouncer.html create mode 100644 code/datums/dash_weapon.html create mode 100644 code/datums/datum.html create mode 100644 code/datums/diseases/advance/floor_diseases/carpellosis.html create mode 100644 code/datums/diseases/advance/floor_diseases/gastritium.html create mode 100644 code/datums/diseases/advance/floor_diseases/nebula_nausea.html create mode 100644 code/datums/diseases/advance/symptoms/beard.html create mode 100644 code/datums/diseases/advance/symptoms/chills.html create mode 100644 code/datums/diseases/advance/symptoms/choking.html create mode 100644 code/datums/diseases/advance/symptoms/confusion.html create mode 100644 code/datums/diseases/advance/symptoms/cough.html create mode 100644 code/datums/diseases/advance/symptoms/deafness.html create mode 100644 code/datums/diseases/advance/symptoms/disfiguration.html create mode 100644 code/datums/diseases/advance/symptoms/dizzy.html create mode 100644 code/datums/diseases/advance/symptoms/fever.html create mode 100644 code/datums/diseases/advance/symptoms/fire.html create mode 100644 code/datums/diseases/advance/symptoms/heal.html create mode 100644 code/datums/dna.html create mode 100644 code/datums/ductnet.html create mode 100644 code/datums/elements/ELEMENT_TEMPLATE.html create mode 100644 code/datums/elements/_element.html create mode 100644 code/datums/elements/ai_control_examine.html create mode 100644 code/datums/elements/ai_flee_while_injured.html create mode 100644 code/datums/elements/ai_held_item.html create mode 100644 code/datums/elements/ai_retaliate.html create mode 100644 code/datums/elements/ai_swap_combat_mode.html create mode 100644 code/datums/elements/ai_target_damagesource.html create mode 100644 code/datums/elements/amputating_limbs.html create mode 100644 code/datums/elements/animal_variety.html create mode 100644 code/datums/elements/atmos_requirements.html create mode 100644 code/datums/elements/attack_equip.html create mode 100644 code/datums/elements/backblast.html create mode 100644 code/datums/elements/bane.html create mode 100644 code/datums/elements/basic_body_temp_sensitive.html create mode 100644 code/datums/elements/basic_eating.html create mode 100644 code/datums/elements/beauty.html create mode 100644 code/datums/elements/bed_tucking.html create mode 100644 code/datums/elements/befriend_petting.html create mode 100644 code/datums/elements/blocks_explosives.html create mode 100644 code/datums/elements/bombable_turf.html create mode 100644 code/datums/elements/bonus_damage.html create mode 100644 code/datums/elements/bugkiller_reagent.html create mode 100644 code/datums/elements/bump_click.html create mode 100644 code/datums/elements/caseless.html create mode 100644 code/datums/elements/chemical_transfer.html create mode 100644 code/datums/elements/chewable.html create mode 100644 code/datums/elements/cliff_walker.html create mode 100644 code/datums/elements/connect_loc.html create mode 100644 code/datums/elements/consumable_mob.html create mode 100644 code/datums/elements/content_barfer.html create mode 100644 code/datums/elements/crackable.html create mode 100644 code/datums/elements/crusher_loot.html create mode 100644 code/datums/elements/cuffsnapping.html create mode 100644 code/datums/elements/cult_eyes.html create mode 100644 code/datums/elements/cult_halo.html create mode 100644 code/datums/elements/curse_announcement.html create mode 100644 code/datums/elements/cursed.html create mode 100644 code/datums/elements/damage_threshold.html create mode 100644 code/datums/elements/dangerous_surgical_removal.html create mode 100644 code/datums/elements/death_drops.html create mode 100644 code/datums/elements/death_explosion.html create mode 100644 code/datums/elements/death_gases.html create mode 100644 code/datums/elements/delete_on_drop.html create mode 100644 code/datums/elements/deliver_first.html create mode 100644 code/datums/elements/dextrous.html create mode 100644 code/datums/elements/diggable.html create mode 100644 code/datums/elements/door_pryer.html create mode 100644 code/datums/elements/drag_pickup.html create mode 100644 code/datums/elements/elevation.html create mode 100644 code/datums/elements/envenomable_casing.html create mode 100644 code/datums/elements/eyestab.html create mode 100644 code/datums/elements/falling_hazard.html create mode 100644 code/datums/elements/firestacker.html create mode 100644 code/datums/elements/floorloving.html create mode 100644 code/datums/elements/food/foodlike_drink.html create mode 100644 code/datums/elements/food/fried_item.html create mode 100644 code/datums/elements/food/grilled_item.html create mode 100644 code/datums/elements/food/microwavable.html create mode 100644 code/datums/elements/food/venue_price.html create mode 100644 code/datums/elements/footstep.html create mode 100644 code/datums/elements/footstep_override.html create mode 100644 code/datums/elements/frozen.html create mode 100644 code/datums/elements/gags_recolorable.html create mode 100644 code/datums/elements/give_turf_traits.html create mode 100644 code/datums/elements/hat_wearer.html create mode 100644 code/datums/elements/haunted.html create mode 100644 code/datums/elements/high_fiver.html create mode 100644 code/datums/elements/honkspam.html create mode 100644 code/datums/elements/human_biter.html create mode 100644 code/datums/elements/immerse.html create mode 100644 code/datums/elements/item_fov.html create mode 100644 code/datums/elements/item_scaling.html create mode 100644 code/datums/elements/kneecapping.html create mode 100644 code/datums/elements/kneejerk.html create mode 100644 code/datums/elements/knockback.html create mode 100644 code/datums/elements/lazy_fishing_spot.html create mode 100644 code/datums/elements/lifesteal.html create mode 100644 code/datums/elements/light_blocking.html create mode 100644 code/datums/elements/light_eaten.html create mode 100644 code/datums/elements/light_eater.html create mode 100644 code/datums/elements/loomable.html create mode 100644 code/datums/elements/mirage_border.html create mode 100644 code/datums/elements/mob_grabber.html create mode 100644 code/datums/elements/mob_killed_tally.html create mode 100644 code/datums/elements/move_force_on_death.html create mode 100644 code/datums/elements/movement_turf_changer.html create mode 100644 code/datums/elements/movetype_handler.html create mode 100644 code/datums/elements/nerfed_pulling.html create mode 100644 code/datums/elements/noticable_organ.html create mode 100644 code/datums/elements/obj_regen.html create mode 100644 code/datums/elements/openspace_item_click_handler.html create mode 100644 code/datums/elements/organ_set_bonus.html create mode 100644 code/datums/elements/pet_bonus.html create mode 100644 code/datums/elements/plant_backfire.html create mode 100644 code/datums/elements/point_of_interest.html create mode 100644 code/datums/elements/prevent_attacking_of_types.html create mode 100644 code/datums/elements/projectile_drop.html create mode 100644 code/datums/elements/radiation_protected_clothing.html create mode 100644 code/datums/elements/radioactive.html create mode 100644 code/datums/elements/ranged_armour.html create mode 100644 code/datums/elements/relay_attackers.html create mode 100644 code/datums/elements/ridable.html create mode 100644 code/datums/elements/rust.html create mode 100644 code/datums/elements/screentips.html create mode 100644 code/datums/elements/screentips/contextual_screentip_bare_hands.html create mode 100644 code/datums/elements/screentips/contextual_screentip_item_typechecks.html create mode 100644 code/datums/elements/screentips/contextual_screentip_mob_typechecks.html create mode 100644 code/datums/elements/screentips/contextual_screentip_sharpness.html create mode 100644 code/datums/elements/screentips/contextual_screentip_tools.html create mode 100644 code/datums/elements/series.html create mode 100644 code/datums/elements/shatters_when_thrown.html create mode 100644 code/datums/elements/sideway_movement.html create mode 100644 code/datums/elements/simple_flying.html create mode 100644 code/datums/elements/skill_reward.html create mode 100644 code/datums/elements/soft_landing.html create mode 100644 code/datums/elements/squish.html create mode 100644 code/datums/elements/strippable.html create mode 100644 code/datums/elements/structure_repair.html create mode 100644 code/datums/elements/swabbable.html create mode 100644 code/datums/elements/temporary_atom.html create mode 100644 code/datums/elements/tenacious.html create mode 100644 code/datums/elements/tiny_mob_hunter.html create mode 100644 code/datums/elements/tool_flash.html create mode 100644 code/datums/elements/turf_transparency.html create mode 100644 code/datums/elements/undertile.html create mode 100644 code/datums/elements/unfriend_attacker.html create mode 100644 code/datums/elements/update_icon_blocker.html create mode 100644 code/datums/elements/uplink_reimburse.html create mode 100644 code/datums/elements/venomous.html create mode 100644 code/datums/elements/volatile_gas_storage.html create mode 100644 code/datums/elements/wall_engraver.html create mode 100644 code/datums/elements/wall_smasher.html create mode 100644 code/datums/elements/wall_tearer.html create mode 100644 code/datums/elements/wall_walker.html create mode 100644 code/datums/elements/weapon_description.html create mode 100644 code/datums/elements/weather_listener.html create mode 100644 code/datums/elements/web_walker.html create mode 100644 code/datums/elements/wheel.html create mode 100644 code/datums/emotes.html create mode 100644 code/datums/greyscale.html create mode 100644 code/datums/greyscale/_greyscale_config.html create mode 100644 code/datums/greyscale/json_reader.html create mode 100644 code/datums/greyscale/layer.html create mode 100644 code/datums/helper_datums/stack_end_detector.html create mode 100644 code/datums/helper_datums/teleport.html create mode 100644 code/datums/id_trim/_id_trim.html create mode 100644 code/datums/id_trim/admin.html create mode 100644 code/datums/id_trim/centcom.html create mode 100644 code/datums/id_trim/jobs.html create mode 100644 code/datums/id_trim/outfits.html create mode 100644 code/datums/id_trim/ruins.html create mode 100644 code/datums/id_trim/syndicate.html create mode 100644 code/datums/job_configs/_job_configs.html create mode 100644 code/datums/job_configs/default_positions.html create mode 100644 code/datums/job_configs/playtime_requirements.html create mode 100644 code/datums/job_configs/required_account_age.html create mode 100644 code/datums/job_configs/required_character_age.html create mode 100644 code/datums/job_configs/starting_positions.html create mode 100644 code/datums/json_savefile.html create mode 100644 code/datums/lazy_template.html create mode 100644 code/datums/looping_sounds/_looping_sound.html create mode 100644 code/datums/looping_sounds/acid.html create mode 100644 code/datums/looping_sounds/burning.html create mode 100644 code/datums/map_config.html create mode 100644 code/datums/mapgen/Cavegens/IcemoonCaves.html create mode 100644 code/datums/mapgen/JungleGenerator.html create mode 100644 code/datums/mapgen/biomes/_biome.html create mode 100644 code/datums/martial/cqc.html create mode 100644 code/datums/martial/hugs_of_the_gondola.html create mode 100644 code/datums/materials/_material.html create mode 100644 code/datums/materials/alloys.html create mode 100644 code/datums/materials/basemats.html create mode 100644 code/datums/materials/meat.html create mode 100644 code/datums/memory/_memory.html create mode 100644 code/datums/memory/general_memories.html create mode 100644 code/datums/memory/key_memories.html create mode 100644 code/datums/mergers/_merger.html create mode 100644 code/datums/mocking/client.html create mode 100644 code/datums/mood.html create mode 100644 code/datums/mood_events/area_events.html create mode 100644 code/datums/mood_events/generic_negative_events.html create mode 100644 code/datums/mood_events/generic_positive_events.html create mode 100644 code/datums/movement_detector.html create mode 100644 code/datums/mutable_appearance.html create mode 100644 code/datums/mutations/hulk.html create mode 100644 code/datums/mutations/sight.html create mode 100644 code/datums/mutations/telekinesis.html create mode 100644 code/datums/mutations/void_magnet.html create mode 100644 code/datums/outfit.html create mode 100644 code/datums/position_point_vector.html create mode 100644 code/datums/proximity_monitor/field.html create mode 100644 code/datums/proximity_monitor/fields/timestop.html create mode 100644 code/datums/quirks/_quirk.html create mode 100644 code/datums/quirks/_quirk_constant_data.html create mode 100644 code/datums/quirks/negative_quirks/junkie.html create mode 100644 code/datums/records/crime.html create mode 100644 code/datums/records/data.html create mode 100644 code/datums/records/manifest.html create mode 100644 code/datums/records/medical_note.html create mode 100644 code/datums/records/record.html create mode 100644 code/datums/skills/fishing.html create mode 100644 code/datums/sprite_accessories.html create mode 100644 code/datums/station_integrity.html create mode 100644 code/datums/station_traits/_station_trait.html create mode 100644 code/datums/station_traits/job_traits.html create mode 100644 code/datums/station_traits/negative_traits.html create mode 100644 code/datums/station_traits/neutral_traits.html create mode 100644 code/datums/status_effects/_status_effect.html create mode 100644 code/datums/status_effects/buffs.html create mode 100644 code/datums/status_effects/buffs/food_haste.html create mode 100644 code/datums/status_effects/buffs/stun_absorption.html create mode 100644 code/datums/status_effects/debuffs/blindness.html create mode 100644 code/datums/status_effects/debuffs/confusion.html create mode 100644 code/datums/status_effects/debuffs/cursed.html create mode 100644 code/datums/status_effects/debuffs/cyborg.html create mode 100644 code/datums/status_effects/debuffs/debuffs.html create mode 100644 code/datums/status_effects/debuffs/decloning.html create mode 100644 code/datums/status_effects/debuffs/dna_transformation.html create mode 100644 code/datums/status_effects/debuffs/drugginess.html create mode 100644 code/datums/status_effects/debuffs/drunk.html create mode 100644 code/datums/status_effects/debuffs/hallucination.html create mode 100644 code/datums/status_effects/debuffs/screen_blur.html create mode 100644 code/datums/status_effects/debuffs/screwy_hud.html create mode 100644 code/datums/status_effects/debuffs/slimed.html create mode 100644 code/datums/status_effects/debuffs/strandling.html create mode 100644 code/datums/status_effects/debuffs/terrified.html create mode 100644 code/datums/status_effects/food_effects.html create mode 100644 code/datums/status_effects/grouped_effect.html create mode 100644 code/datums/status_effects/limited_effect.html create mode 100644 code/datums/status_effects/neutral.html create mode 100644 code/datums/status_effects/song_effects.html create mode 100644 code/datums/status_effects/stacking_effect.html create mode 100644 code/datums/status_effects/wound_effects.html create mode 100644 code/datums/storage/storage.html create mode 100644 code/datums/storage/subtypes/cards.html create mode 100644 code/datums/storage/subtypes/rped.html create mode 100644 code/datums/verb_callbacks.html create mode 100644 code/datums/view.html create mode 100644 code/datums/visual_data.html create mode 100644 code/datums/voice_of_god_command.html create mode 100644 code/datums/votes/_vote_datum.html create mode 100644 code/datums/votes/custom_vote.html create mode 100644 code/datums/votes/rock_the_vote.html create mode 100644 code/datums/weakrefs.html create mode 100644 code/datums/weather/weather.html create mode 100644 code/datums/weather/weather_types/radiation_storm.html create mode 100644 code/datums/weather/weather_types/snow_storm.html create mode 100644 code/datums/wounds/_wound_static_data.html create mode 100644 code/datums/wounds/bones.html create mode 100644 code/datums/wounds/burns.html create mode 100644 code/datums/wounds/scars/_scars.html create mode 100644 code/game/area/areas.html create mode 100644 code/game/area/areas/mining.html create mode 100644 code/game/area/areas/ruins/space.html create mode 100644 code/game/area/areas/shuttles.html create mode 100644 code/game/atom.html create mode 100644 code/game/atoms_movable.html create mode 100644 code/game/data_huds.html create mode 100644 code/game/gamemodes/events.html create mode 100644 code/game/gamemodes/objective.html create mode 100644 code/game/machinery/PDApainter.html create mode 100644 code/game/machinery/_machinery.html create mode 100644 code/game/machinery/camera/presets.html create mode 100644 code/game/machinery/camera/trackable.html create mode 100644 code/game/machinery/civilian_bounties.html create mode 100644 code/game/machinery/computer/arcade/orion_event.html create mode 100644 code/game/machinery/computer/arena.html create mode 100644 code/game/machinery/computer/atmos_computers/__identifiers.html create mode 100644 code/game/machinery/computer/atmos_computers/_air_sensor.html create mode 100644 code/game/machinery/computer/atmos_computers/_atmos_control.html create mode 100644 code/game/machinery/computer/buildandrepair.html create mode 100644 code/game/machinery/computer/communications.html create mode 100644 code/game/machinery/computer/crew.html create mode 100644 code/game/machinery/computer/dna_console.html create mode 100644 code/game/machinery/computer/orders/order_computer/mining_order.html create mode 100644 code/game/machinery/computer/orders/order_items/order_datum.html create mode 100644 code/game/machinery/computer/records/records.html create mode 100644 code/game/machinery/computer/records/security.html create mode 100644 code/game/machinery/computer/telescreen.html create mode 100644 code/game/machinery/dance_machine.html create mode 100644 code/game/machinery/deployable.html create mode 100644 code/game/machinery/dna_infuser/dna_infuser.html create mode 100644 code/game/machinery/dna_infuser/infuser_entry.html create mode 100644 code/game/machinery/dna_infuser/organ_sets/carp_organs.html create mode 100644 code/game/machinery/dna_infuser/organ_sets/fly_organs.html create mode 100644 code/game/machinery/dna_infuser/organ_sets/goliath_organs.html create mode 100644 code/game/machinery/dna_infuser/organ_sets/gondola_organs.html create mode 100644 code/game/machinery/dna_infuser/organ_sets/rat_organs.html create mode 100644 code/game/machinery/dna_infuser/organ_sets/roach_organs.html create mode 100644 code/game/machinery/doors/airlock.html create mode 100644 code/game/machinery/doors/brigdoors.html create mode 100644 code/game/machinery/doors/door.html create mode 100644 code/game/machinery/doors/firedoor.html create mode 100644 code/game/machinery/hologram.html create mode 100644 code/game/machinery/incident_display.html create mode 100644 code/game/machinery/iv_drip.html create mode 100644 code/game/machinery/lightswitch.html create mode 100644 code/game/machinery/limbgrower.html create mode 100644 code/game/machinery/medical_kiosk.html create mode 100644 code/game/machinery/mining_weather_monitor.html create mode 100644 code/game/machinery/modular_shield.html create mode 100644 code/game/machinery/nebula_shielding.html create mode 100644 code/game/machinery/newscaster/newscaster_data.html create mode 100644 code/game/machinery/porta_turret/portable_turret_cover.html create mode 100644 code/game/machinery/roulette_machine.html create mode 100644 code/game/machinery/shieldgen.html create mode 100644 code/game/machinery/sleepers.html create mode 100644 code/game/machinery/slotmachine.html create mode 100644 code/game/machinery/spaceheater.html create mode 100644 code/game/machinery/status_display.html create mode 100644 code/game/machinery/syndicatebomb.html create mode 100644 code/game/machinery/teambuilder.html create mode 100644 code/game/machinery/telecomms/broadcasting.html create mode 100644 code/game/machinery/telecomms/computers/message.html create mode 100644 code/game/machinery/telecomms/machine_interactions.html create mode 100644 code/game/machinery/telecomms/machines/allinone.html create mode 100644 code/game/machinery/telecomms/machines/broadcaster.html create mode 100644 code/game/machinery/telecomms/machines/bus.html create mode 100644 code/game/machinery/telecomms/machines/hub.html create mode 100644 code/game/machinery/telecomms/machines/message_server.html create mode 100644 code/game/machinery/telecomms/machines/processor.html create mode 100644 code/game/machinery/telecomms/machines/receiver.html create mode 100644 code/game/machinery/telecomms/machines/relay.html create mode 100644 code/game/machinery/telecomms/machines/server.html create mode 100644 code/game/objects/effects/anomalies/anomalies_bluespace.html create mode 100644 code/game/objects/effects/anomalies/anomalies_dimensional_themes.html create mode 100644 code/game/objects/effects/anomalies/anomalies_ectoplasm.html create mode 100644 code/game/objects/effects/anomalies/anomalies_flux.html create mode 100644 code/game/objects/effects/anomalies/anomalies_gravity.html create mode 100644 code/game/objects/effects/anomalies/anomalies_pyroclastic.html create mode 100644 code/game/objects/effects/bump_teleporter.html create mode 100644 code/game/objects/effects/cursor_catcher.html create mode 100644 code/game/objects/effects/decals/turfdecal/markings.html create mode 100644 code/game/objects/effects/decals/turfdecal/tilecoloring.html create mode 100644 code/game/objects/effects/effect_system/effects_other.html create mode 100644 code/game/objects/effects/effect_system/effects_water.html create mode 100644 code/game/objects/effects/effect_system/fluid_spread/_fluid_spread.html create mode 100644 code/game/objects/effects/effect_system/fluid_spread/effects_foam.html create mode 100644 code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html create mode 100644 code/game/objects/effects/effects.html create mode 100644 code/game/objects/effects/forcefields.html create mode 100644 code/game/objects/effects/glowshroom.html create mode 100644 code/game/objects/effects/info.html create mode 100644 code/game/objects/effects/landmarks.html create mode 100644 code/game/objects/effects/landmarks/atmospherics_sanity_landmarks.html create mode 100644 code/game/objects/effects/lighting.html create mode 100644 code/game/objects/effects/mines.html create mode 100644 code/game/objects/effects/overlays.html create mode 100644 code/game/objects/effects/particle_holder.html create mode 100644 code/game/objects/effects/particles/note_particles.html create mode 100644 code/game/objects/effects/particles/slime.html create mode 100644 code/game/objects/effects/poster_demotivational.html create mode 100644 code/game/objects/effects/posters/poster.html create mode 100644 code/game/objects/effects/rcd.html create mode 100644 code/game/objects/effects/spawners/bombspawner.html create mode 100644 code/game/objects/effects/spawners/random.html create mode 100644 code/game/objects/effects/spawners/random/ai_module.html create mode 100644 code/game/objects/effects/spawners/random/food_or_drink.html create mode 100644 code/game/objects/effects/spawners/random/lavaland_mobs.html create mode 100644 code/game/objects/effects/spawners/random/random.html create mode 100644 code/game/objects/effects/temporary_visuals/effect_trail.html create mode 100644 code/game/objects/effects/temporary_visuals/miscellaneous.html create mode 100644 code/game/objects/effects/temporary_visuals/temporary_visual.html create mode 100644 code/game/objects/items.html create mode 100644 code/game/objects/items/AI_modules/_AI_modules.html create mode 100644 code/game/objects/items/AI_modules/hacked.html create mode 100644 code/game/objects/items/broom.html create mode 100644 code/game/objects/items/cards_ids.html create mode 100644 code/game/objects/items/devices/aicard_evil.html create mode 100644 code/game/objects/items/devices/anomaly_releaser.html create mode 100644 code/game/objects/items/devices/multitool.html create mode 100644 code/game/objects/items/devices/powersink.html create mode 100644 code/game/objects/items/devices/radio/radio.html create mode 100644 code/game/objects/items/devices/scanners/gas_analyzer.html create mode 100644 code/game/objects/items/devices/scanners/health_analyzer.html create mode 100644 code/game/objects/items/devices/table_clock.html create mode 100644 code/game/objects/items/devices/traitordevices.html create mode 100644 code/game/objects/items/dice.html create mode 100644 code/game/objects/items/dna_injector.html create mode 100644 code/game/objects/items/dna_probe.html create mode 100644 code/game/objects/items/food/_food.html create mode 100644 code/game/objects/items/food/bait.html create mode 100644 code/game/objects/items/food/bread.html create mode 100644 code/game/objects/items/food/cheese.html create mode 100644 code/game/objects/items/food/donkpocket.html create mode 100644 code/game/objects/items/food/donuts.html create mode 100644 code/game/objects/items/food/egg.html create mode 100644 code/game/objects/items/food/meatdish.html create mode 100644 code/game/objects/items/food/meatslab.html create mode 100644 code/game/objects/items/food/misc.html create mode 100644 code/game/objects/items/food/monkeycube.html create mode 100644 code/game/objects/items/food/pastries.html create mode 100644 code/game/objects/items/food/salad.html create mode 100644 code/game/objects/items/food/snacks.html create mode 100644 code/game/objects/items/food/spaghetti.html create mode 100644 code/game/objects/items/gift.html create mode 100644 code/game/objects/items/granters/_granters.html create mode 100644 code/game/objects/items/granters/chuuni_granter.html create mode 100644 code/game/objects/items/granters/magic/_spell_granter.html create mode 100644 code/game/objects/items/granters/sign_language.html create mode 100644 code/game/objects/items/grenades/_grenade.html create mode 100644 code/game/objects/items/grenades/chem_grenade.html create mode 100644 code/game/objects/items/grenades/smokebomb.html create mode 100644 code/game/objects/items/hand_items.html create mode 100644 code/game/objects/items/handcuffs.html create mode 100644 code/game/objects/items/implants/implant.html create mode 100644 code/game/objects/items/implants/implant_clown.html create mode 100644 code/game/objects/items/implants/implant_explosive.html create mode 100644 code/game/objects/items/implants/implantcase.html create mode 100644 code/game/objects/items/implants/implanter.html create mode 100644 code/game/objects/items/implants/security/implant_beacon.html create mode 100644 code/game/objects/items/implants/security/implant_exile.html create mode 100644 code/game/objects/items/implants/security/implant_noteleport.html create mode 100644 code/game/objects/items/inspector.html create mode 100644 code/game/objects/items/janitor_key.html create mode 100644 code/game/objects/items/mail.html create mode 100644 code/game/objects/items/manuals.html create mode 100644 code/game/objects/items/melee/energy.html create mode 100644 code/game/objects/items/pitchfork.html create mode 100644 code/game/objects/items/pneumaticCannon.html create mode 100644 code/game/objects/items/powerfist.html create mode 100644 code/game/objects/items/puzzle_pieces.html create mode 100644 code/game/objects/items/rcd/RCD.html create mode 100644 code/game/objects/items/rcd/RPD.html create mode 100644 code/game/objects/items/rcd/RPLD.html create mode 100644 code/game/objects/items/rcd/RSF.html create mode 100644 code/game/objects/items/rcd/RTD.html create mode 100644 code/game/objects/items/rcd/RWD.html create mode 100644 code/game/objects/items/robot/ai_upgrades.html create mode 100644 code/game/objects/items/robot/items/hypo.html create mode 100644 code/game/objects/items/robot/items/storage.html create mode 100644 code/game/objects/items/robot/robot_upgrades.html create mode 100644 code/game/objects/items/secret_documents.html create mode 100644 code/game/objects/items/sharpener.html create mode 100644 code/game/objects/items/stacks/golem_food/golem_food_buff.html create mode 100644 code/game/objects/items/stacks/golem_food/golem_hand_actions.html create mode 100644 code/game/objects/items/stacks/golem_food/golem_status_effects.html create mode 100644 code/game/objects/items/stacks/stack.html create mode 100644 code/game/objects/items/stacks/tiles/tile_types.html create mode 100644 code/game/objects/items/sticker.html create mode 100644 code/game/objects/items/storage/boxes/_boxes.html create mode 100644 code/game/objects/items/storage/briefcase.html create mode 100644 code/game/objects/items/storage/medkit.html create mode 100644 code/game/objects/items/storage/uplink_kits.html create mode 100644 code/game/objects/items/storage/wallets.html create mode 100644 code/game/objects/items/surgery_tray.html create mode 100644 code/game/objects/items/tanks/tanks.html create mode 100644 code/game/objects/items/tcg/tcg.html create mode 100644 code/game/objects/items/tcg/tcg_machines.html create mode 100644 code/game/objects/items/tongs.html create mode 100644 code/game/objects/items/tools/weldingtool.html create mode 100644 code/game/objects/items/tools/wirebrush.html create mode 100644 code/game/objects/items/toy_mechs.html create mode 100644 code/game/objects/items/wiki_manuals.html create mode 100644 code/game/objects/structures.html create mode 100644 code/game/objects/structures/aliens.html create mode 100644 code/game/objects/structures/beds_chairs/bed.html create mode 100644 code/game/objects/structures/beds_chairs/chair.html create mode 100644 code/game/objects/structures/beds_chairs/sofa.html create mode 100644 code/game/objects/structures/bonfire.html create mode 100644 code/game/objects/structures/cannons/cannon.html create mode 100644 code/game/objects/structures/construction_console/construction_actions.html create mode 100644 code/game/objects/structures/construction_console/construction_console.html create mode 100644 code/game/objects/structures/construction_console/construction_console_aux.html create mode 100644 code/game/objects/structures/construction_console/construction_console_centcom.html create mode 100644 code/game/objects/structures/crates_lockers/closets/bodybag.html create mode 100644 code/game/objects/structures/crates_lockers/crates/syndicrate.html create mode 100644 code/game/objects/structures/deployable_turret.html create mode 100644 code/game/objects/structures/fake_stairs.html create mode 100644 code/game/objects/structures/flora.html create mode 100644 code/game/objects/structures/fluff.html create mode 100644 code/game/objects/structures/girders.html create mode 100644 code/game/objects/structures/grille.html create mode 100644 code/game/objects/structures/guillotine.html create mode 100644 code/game/objects/structures/gym/weight_machine.html create mode 100644 code/game/objects/structures/gym/weight_machine_action.html create mode 100644 code/game/objects/structures/lavaland/geyser.html create mode 100644 code/game/objects/structures/loom.html create mode 100644 code/game/objects/structures/maintenance.html create mode 100644 code/game/objects/structures/mannequin.html create mode 100644 code/game/objects/structures/mirror.html create mode 100644 code/game/objects/structures/morgue.html create mode 100644 code/game/objects/structures/mystery_box.html create mode 100644 code/game/objects/structures/ore_containers.html create mode 100644 code/game/objects/structures/pinatas.html create mode 100644 code/game/objects/structures/safe.html create mode 100644 code/game/objects/structures/secure_safe.html create mode 100644 code/game/objects/structures/shower.html create mode 100644 code/game/objects/structures/signs/_signs.html create mode 100644 code/game/objects/structures/signs/signs_departments.html create mode 100644 code/game/objects/structures/signs/signs_warning.html create mode 100644 code/game/objects/structures/syndicate_uplink_beacon.html create mode 100644 code/game/objects/structures/tables_racks.html create mode 100644 code/game/objects/structures/tank_holder.html create mode 100644 code/game/objects/structures/training_machine.html create mode 100644 code/game/say.html create mode 100644 code/game/shuttle_engines.html create mode 100644 code/game/sound.html create mode 100644 code/game/turfs/closed/minerals.html create mode 100644 code/game/turfs/closed/wall/mineral_walls.html create mode 100644 code/game/turfs/open/asteroid.html create mode 100644 code/game/turfs/open/cliff.html create mode 100644 code/game/turfs/open/floor.html create mode 100644 code/game/turfs/open/floor/catwalk_plating.html create mode 100644 code/game/turfs/open/floor/fancy_floor.html create mode 100644 code/game/turfs/open/floor/light_floor.html create mode 100644 code/game/turfs/open/floor/plating.html create mode 100644 code/game/turfs/open/lava.html create mode 100644 code/game/turfs/open/misc.html create mode 100644 code/game/turfs/open/space/transit.html create mode 100644 code/game/turfs/turf.html create mode 100644 code/game/world.html create mode 100644 code/modules/NTNet/relays.html create mode 100644 code/modules/actionspeed/_actionspeed_modifier.html create mode 100644 code/modules/actionspeed/modifiers/status_effects.html create mode 100644 code/modules/admin/admin_fax_panel.html create mode 100644 code/modules/admin/admin_pda_message.html create mode 100644 code/modules/admin/admin_ranks.html create mode 100644 code/modules/admin/admin_verbs.html create mode 100644 code/modules/admin/callproc/callproc.html create mode 100644 code/modules/admin/chat_commands.html create mode 100644 code/modules/admin/create_mob.html create mode 100644 code/modules/admin/force_event.html create mode 100644 code/modules/admin/greyscale_modify_menu.html create mode 100644 code/modules/admin/painting_manager.html create mode 100644 code/modules/admin/poll_management.html create mode 100644 code/modules/admin/smites/bad_luck.html create mode 100644 code/modules/admin/smites/become_object.html create mode 100644 code/modules/admin/smites/berforate.html create mode 100644 code/modules/admin/smites/bloodless.html create mode 100644 code/modules/admin/smites/boneless.html create mode 100644 code/modules/admin/smites/brain_damage.html create mode 100644 code/modules/admin/smites/bsa.html create mode 100644 code/modules/admin/smites/curse_of_babel.html create mode 100644 code/modules/admin/smites/dock_pay.html create mode 100644 code/modules/admin/smites/fake_bwoink.html create mode 100644 code/modules/admin/smites/fat.html create mode 100644 code/modules/admin/smites/fireball.html create mode 100644 code/modules/admin/smites/gib.html create mode 100644 code/modules/admin/smites/imaginary_friend_special.html create mode 100644 code/modules/admin/smites/immerse.html create mode 100644 code/modules/admin/smites/knot_shoes.html create mode 100644 code/modules/admin/smites/lightning.html create mode 100644 code/modules/admin/smites/nugget.html create mode 100644 code/modules/admin/smites/petrify.html create mode 100644 code/modules/admin/smites/phobia_ocky_icky.html create mode 100644 code/modules/admin/smites/puzzgrid.html create mode 100644 code/modules/admin/smites/puzzle.html create mode 100644 code/modules/admin/smites/rod.html create mode 100644 code/modules/admin/smites/scarify.html create mode 100644 code/modules/admin/smites/smite.html create mode 100644 code/modules/admin/smites/supply_pod.html create mode 100644 code/modules/admin/smites/supply_pod_quick.html create mode 100644 code/modules/admin/sql_ban_system.html create mode 100644 code/modules/admin/tag.html create mode 100644 code/modules/admin/trophy_manager.html create mode 100644 code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html create mode 100644 code/modules/admin/verbs/adminfun.html create mode 100644 code/modules/admin/verbs/adminhelp.html create mode 100644 code/modules/admin/verbs/adminpm.html create mode 100644 code/modules/admin/verbs/color_blind_test.html create mode 100644 code/modules/admin/verbs/commandreport.html create mode 100644 code/modules/admin/verbs/ert.html create mode 100644 code/modules/admin/verbs/highlander_datum.html create mode 100644 code/modules/admin/verbs/light_debug.html create mode 100644 code/modules/admin/verbs/lua.html create mode 100644 code/modules/admin/verbs/lua/_hooks.html create mode 100644 code/modules/admin/verbs/lua/helpers.html create mode 100644 code/modules/admin/verbs/mapping.html create mode 100644 code/modules/admin/verbs/plane_debugger.html create mode 100644 code/modules/admin/verbs/player_ticket_history.html create mode 100644 code/modules/admin/verbs/playsound.html create mode 100644 code/modules/admin/verbs/pray.html create mode 100644 code/modules/admin/verbs/secrets.html create mode 100644 code/modules/admin/view_variables/debug_variables.html create mode 100644 code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.html create mode 100644 code/modules/antagonists/_common/antag_datum.html create mode 100644 code/modules/antagonists/_common/antag_helpers.html create mode 100644 code/modules/antagonists/_common/antag_hud.html create mode 100644 code/modules/antagonists/_common/antag_spawner.html create mode 100644 code/modules/antagonists/abductor/abductee/abductee.html create mode 100644 code/modules/antagonists/blob/blob_antag.html create mode 100644 code/modules/antagonists/blob/structures/_blob.html create mode 100644 code/modules/antagonists/changeling/changeling.html create mode 100644 code/modules/antagonists/changeling/fallen_changeling.html create mode 100644 code/modules/antagonists/changeling/headslug_eggs.html create mode 100644 code/modules/antagonists/changeling/powers/mutations.html create mode 100644 code/modules/antagonists/clown_ops/bananium_bomb.html create mode 100644 code/modules/antagonists/clown_ops/clown_weapons.html create mode 100644 code/modules/antagonists/cult/cult.html create mode 100644 code/modules/antagonists/cult/cult_bastard_sword.html create mode 100644 code/modules/antagonists/cult/cult_comms.html create mode 100644 code/modules/antagonists/cult/cult_items.html create mode 100644 code/modules/antagonists/cult/cult_structure_altar.html create mode 100644 code/modules/antagonists/cult/cult_structure_archives.html create mode 100644 code/modules/antagonists/cult/cult_structure_forge.html create mode 100644 code/modules/antagonists/cult/runes.html create mode 100644 code/modules/antagonists/disease/disease_abilities.html create mode 100644 code/modules/antagonists/fugitive/hunters/hunter_gear.html create mode 100644 code/modules/antagonists/heretic/heretic_antag.html create mode 100644 code/modules/antagonists/heretic/heretic_focus.html create mode 100644 code/modules/antagonists/heretic/heretic_knowledge.html create mode 100644 code/modules/antagonists/heretic/heretic_living_heart.html create mode 100644 code/modules/antagonists/heretic/heretic_monsters.html create mode 100644 code/modules/antagonists/heretic/influences.html create mode 100644 code/modules/antagonists/heretic/items/hunter_rifle.html create mode 100644 code/modules/antagonists/heretic/items/keyring.html create mode 100644 code/modules/antagonists/heretic/items/labyrinth_handbook.html create mode 100644 code/modules/antagonists/heretic/knowledge/ash_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/blade_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/cosmic_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/flesh_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/lock_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/rust_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html create mode 100644 code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html create mode 100644 code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html create mode 100644 code/modules/antagonists/heretic/knowledge/side_void_blade.html create mode 100644 code/modules/antagonists/heretic/knowledge/starting_lore.html create mode 100644 code/modules/antagonists/heretic/knowledge/void_lore.html create mode 100644 code/modules/antagonists/heretic/magic/ash_ascension.html create mode 100644 code/modules/antagonists/heretic/magic/cosmic_runes.html create mode 100644 code/modules/antagonists/heretic/magic/fire_blast.html create mode 100644 code/modules/antagonists/heretic/magic/shadow_cloak.html create mode 100644 code/modules/antagonists/heretic/magic/space_crawl.html create mode 100644 code/modules/antagonists/heretic/status_effects/buffs.html create mode 100644 code/modules/antagonists/heretic/transmutation_rune.html create mode 100644 code/modules/antagonists/hypnotized/hypnotized.html create mode 100644 code/modules/antagonists/malf_ai/malf_ai.html create mode 100644 code/modules/antagonists/malf_ai/malf_ai_module_picker.html create mode 100644 code/modules/antagonists/malf_ai/malf_ai_modules.html create mode 100644 code/modules/antagonists/nightmare/nightmare_equipment.html create mode 100644 code/modules/antagonists/nightmare/nightmare_organs.html create mode 100644 code/modules/antagonists/nightmare/nightmare_species.html create mode 100644 code/modules/antagonists/ninja/energy_katana.html create mode 100644 code/modules/antagonists/ninja/energy_net_nets.html create mode 100644 code/modules/antagonists/ninja/ninja_clothing.html create mode 100644 code/modules/antagonists/ninja/ninja_explosive.html create mode 100644 code/modules/antagonists/ninja/ninja_stars.html create mode 100644 code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.html create mode 100644 code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.html create mode 100644 code/modules/antagonists/nukeop/equipment/nuclear_challenge.html create mode 100644 code/modules/antagonists/nukeop/nukeop.html create mode 100644 code/modules/antagonists/obsessed/obsessed.html create mode 100644 code/modules/antagonists/paradox_clone/paradox_clone.html create mode 100644 code/modules/antagonists/pirate/pirate_event.html create mode 100644 code/modules/antagonists/pirate/pirate_gangs.html create mode 100644 code/modules/antagonists/pirate/pirate_shuttle_equipment.html create mode 100644 code/modules/antagonists/revenant/haunted_item.html create mode 100644 code/modules/antagonists/revolution/enemy_of_the_state.html create mode 100644 code/modules/antagonists/separatist/nation_creation.html create mode 100644 code/modules/antagonists/shade/shade_minion.html create mode 100644 code/modules/antagonists/space_dragon/carp_rift.html create mode 100644 code/modules/antagonists/spiders/spiders.html create mode 100644 code/modules/antagonists/traitor.html create mode 100644 code/modules/antagonists/traitor/components/demoraliser.html create mode 100644 code/modules/antagonists/traitor/components/traitor_objective_helpers.html create mode 100644 code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html create mode 100644 code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html create mode 100644 code/modules/antagonists/traitor/contractor/contract_teammate.html create mode 100644 code/modules/antagonists/traitor/datum_traitor.html create mode 100644 code/modules/antagonists/traitor/objective_category.html create mode 100644 code/modules/antagonists/traitor/objectives/abstract/target_player.html create mode 100644 code/modules/antagonists/traitor/objectives/destroy_heirloom.html create mode 100644 code/modules/antagonists/traitor/objectives/destroy_item.html create mode 100644 code/modules/antagonists/traitor/objectives/sabotage_machinery.html create mode 100644 code/modules/antagonists/traitor/traitor_objective.html create mode 100644 code/modules/antagonists/traitor/uplink_handler.html create mode 100644 code/modules/antagonists/wizard/equipment/artefact.html create mode 100644 code/modules/antagonists/wizard/equipment/enchanted_clown_suit.html create mode 100644 code/modules/antagonists/wizard/equipment/soulstone.html create mode 100644 code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html create mode 100644 code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/all_access.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/armageddon.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/captaincy.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/cheese.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/clown.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/grand_ritual_finale.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/immortality.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/finales/midas.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/fluff.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/grand_ritual.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/grand_rune.html create mode 100644 code/modules/antagonists/wizard/grand_ritual/grand_side_effect.html create mode 100644 code/modules/antagonists/wizard/imp_antag.html create mode 100644 code/modules/antagonists/xeno/xeno.html create mode 100644 code/modules/art/paintings.html create mode 100644 code/modules/art/statues.html create mode 100644 code/modules/assembly/infrared.html create mode 100644 code/modules/asset_cache.html create mode 100644 code/modules/asset_cache/asset_cache_item.html create mode 100644 code/modules/asset_cache/asset_list.html create mode 100644 code/modules/asset_cache/assets/body_zones.html create mode 100644 code/modules/asset_cache/assets/chemmaster.html create mode 100644 code/modules/asset_cache/assets/crafting.html create mode 100644 code/modules/asset_cache/assets/uplink.html create mode 100644 code/modules/asset_cache/transports/asset_transport.html create mode 100644 code/modules/asset_cache/transports/webroot_transport.html create mode 100644 code/modules/atmospherics/Atmospherics.html create mode 100644 code/modules/atmospherics/environmental/LINDA_fire.html create mode 100644 code/modules/atmospherics/environmental/LINDA_turf_tile.html create mode 100644 code/modules/atmospherics/gasmixtures/reactions.html create mode 100644 code/modules/atmospherics/machinery/air_alarm/air_alarm_modes.html create mode 100644 code/modules/atmospherics/machinery/atmosmachinery.html create mode 100644 code/modules/atmospherics/machinery/bluespace_vendor.html create mode 100644 code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html create mode 100644 code/modules/atmospherics/machinery/components/fusion/_hfr_defines.html create mode 100644 code/modules/atmospherics/machinery/components/fusion/hfr_core.html create mode 100644 code/modules/atmospherics/machinery/components/fusion/hfr_parts.html create mode 100644 code/modules/atmospherics/machinery/components/unary_devices/cryo.html create mode 100644 code/modules/atmospherics/machinery/components/unary_devices/machine_connector.html create mode 100644 code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.html create mode 100644 code/modules/atmospherics/machinery/pipes/multiz.html create mode 100644 code/modules/atmospherics/machinery/portable/canister.html create mode 100644 code/modules/autowiki/autowiki.html create mode 100644 code/modules/autowiki/pages/base.html create mode 100644 code/modules/autowiki/pages/stockparts.html create mode 100644 code/modules/awaymissions/cordon.html create mode 100644 code/modules/awaymissions/gateway.html create mode 100644 code/modules/awaymissions/mission_code/snowdin.html create mode 100644 code/modules/awaymissions/zlevel.html create mode 100644 code/modules/balloon_alert/balloon_alert.html create mode 100644 code/modules/basketball/controller.html create mode 100644 code/modules/bitrunning/abilities.html create mode 100644 code/modules/bitrunning/areas.html create mode 100644 code/modules/bitrunning/components/avatar_connection.html create mode 100644 code/modules/bitrunning/components/bitrunning_points.html create mode 100644 code/modules/bitrunning/components/npc_friendly.html create mode 100644 code/modules/bitrunning/designs.html create mode 100644 code/modules/bitrunning/objects/disks.html create mode 100644 code/modules/bitrunning/objects/landmarks.html create mode 100644 code/modules/bitrunning/objects/loot_crate.html create mode 100644 code/modules/bitrunning/server/_parent.html create mode 100644 code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.html create mode 100644 code/modules/bitrunning/virtual_domain/domains/test_only.html create mode 100644 code/modules/bitrunning/virtual_domain/virtual_domain.html create mode 100644 code/modules/buildmode.html create mode 100644 code/modules/buildmode/bm_mode.html create mode 100644 code/modules/capture_the_flag/ctf_controller.html create mode 100644 code/modules/capture_the_flag/ctf_game.html create mode 100644 code/modules/capture_the_flag/ctf_player_component.html create mode 100644 code/modules/capture_the_flag/ctf_voting.html create mode 100644 code/modules/capture_the_flag/medieval_sim/medisim_game.html create mode 100644 code/modules/cards/cards.html create mode 100644 code/modules/cargo/bounties/assistant.html create mode 100644 code/modules/cargo/bounties/atmos.html create mode 100644 code/modules/cargo/bounties/security.html create mode 100644 code/modules/cargo/bounty.html create mode 100644 code/modules/cargo/exports.html create mode 100644 code/modules/cargo/exports/food_and_drink.html create mode 100644 code/modules/cargo/exports/large_objects.html create mode 100644 code/modules/cargo/markets/_market.html create mode 100644 code/modules/cargo/markets/market_items/tools.html create mode 100644 code/modules/cargo/materials_market.html create mode 100644 code/modules/cargo/order.html create mode 100644 code/modules/cargo/packs/_packs.html create mode 100644 code/modules/cargo/packs/engineering.html create mode 100644 code/modules/cargo/packs/exploration.html create mode 100644 code/modules/cargo/packs/general.html create mode 100644 code/modules/cargo/packs/imports.html create mode 100644 code/modules/cargo/packs/security.html create mode 100644 code/modules/cargo/packs/service.html create mode 100644 code/modules/cargo/packs/stock_market_items.html create mode 100644 code/modules/cargo/packs/vending_restock.html create mode 100644 code/modules/chatter/chatter.html create mode 100644 code/modules/client/client_colour.html create mode 100644 code/modules/client/client_defines.html create mode 100644 code/modules/client/player_details.html create mode 100644 code/modules/client/preferences.html create mode 100644 code/modules/client/preferences/_preference.html create mode 100644 code/modules/client/preferences/admin.html create mode 100644 code/modules/client/preferences/ai_core_display.html create mode 100644 code/modules/client/preferences/ai_emote_display.html create mode 100644 code/modules/client/preferences/ai_hologram_display.html create mode 100644 code/modules/client/preferences/ambient_occlusion.html create mode 100644 code/modules/client/preferences/assets.html create mode 100644 code/modules/client/preferences/broadcast_login_logout.html create mode 100644 code/modules/client/preferences/clothing.html create mode 100644 code/modules/client/preferences/darkened_flash.html create mode 100644 code/modules/client/preferences/gender.html create mode 100644 code/modules/client/preferences/ghost.html create mode 100644 code/modules/client/preferences/ghost_lighting.html create mode 100644 code/modules/client/preferences/middleware/_middleware.html create mode 100644 code/modules/client/preferences/middleware/antags.html create mode 100644 code/modules/client/preferences/middleware/keybindings.html create mode 100644 code/modules/client/preferences/middleware/legacy_toggles.html create mode 100644 code/modules/client/preferences/middleware/names.html create mode 100644 code/modules/client/preferences/middleware/quirks.html create mode 100644 code/modules/client/preferences/middleware/random.html create mode 100644 code/modules/client/preferences/middleware/species.html create mode 100644 code/modules/client/preferences/middleware/tts.html create mode 100644 code/modules/client/preferences/mod_select.html create mode 100644 code/modules/client/preferences/multiz_parallax.html create mode 100644 code/modules/client/preferences/multiz_performance.html create mode 100644 code/modules/client/preferences/names.html create mode 100644 code/modules/client/preferences/ooc.html create mode 100644 code/modules/client/preferences/operative_species.html create mode 100644 code/modules/client/preferences/paint_color.html create mode 100644 code/modules/client/preferences/parallax.html create mode 100644 code/modules/client/preferences/pda.html create mode 100644 code/modules/client/preferences/playtime_reward_cloak.html create mode 100644 code/modules/client/preferences/preferred_map.html create mode 100644 code/modules/client/preferences/prisoner_crime.html create mode 100644 code/modules/client/preferences/scaling_method.html create mode 100644 code/modules/client/preferences/security_department.html create mode 100644 code/modules/client/preferences/sounds.html create mode 100644 code/modules/client/preferences/species.html create mode 100644 code/modules/client/preferences/tgui.html create mode 100644 code/modules/client/preferences/ui_style.html create mode 100644 code/modules/client/preferences/voice.html create mode 100644 code/modules/client/preferences/window_flashing.html create mode 100644 code/modules/client/verbs/who.html create mode 100644 code/modules/clothing/belts/polymorph_belt.html create mode 100644 code/modules/clothing/chameleon/_chameleon_action.html create mode 100644 code/modules/clothing/chameleon/chameleon_scanner.html create mode 100644 code/modules/clothing/glasses/_glasses.html create mode 100644 code/modules/clothing/head/hat.html create mode 100644 code/modules/clothing/head/jobs.html create mode 100644 code/modules/clothing/masks/animal_masks.html create mode 100644 code/modules/clothing/masks/gas_filter.html create mode 100644 code/modules/clothing/shoes/cowboy.html create mode 100644 code/modules/clothing/spacesuits/_spacesuits.html create mode 100644 code/modules/clothing/suits/reactive_armour_dimensional_themes.html create mode 100644 code/modules/clothing/suits/toggles.html create mode 100644 code/modules/clothing/under/accessories/_accessories.html create mode 100644 code/modules/clothing/under/accessories/badges.html create mode 100644 code/modules/clothing/under/color.html create mode 100644 code/modules/discord/discord_embed.html create mode 100644 code/modules/discord/discord_link_record.html create mode 100644 code/modules/emoji/emoji_parse.html create mode 100644 code/modules/escape_menu/details.html create mode 100644 code/modules/escape_menu/subsystem.html create mode 100644 code/modules/escape_menu/title.html create mode 100644 code/modules/events/_event_admin_setup.html create mode 100644 code/modules/events/anomaly/_anomaly.html create mode 100644 code/modules/events/disease_outbreak.html create mode 100644 code/modules/events/earthquake.html create mode 100644 code/modules/events/immovable_rod/immovable_rod.html create mode 100644 code/modules/events/immovable_rod/immovable_rod_event.html create mode 100644 code/modules/events/market_crash.html create mode 100644 code/modules/events/sandstorm.html create mode 100644 code/modules/events/shuttle_loan/shuttle_loan_datum.html create mode 100644 code/modules/events/space_vines/vine_controller.html create mode 100644 code/modules/events/stray_cargo.html create mode 100644 code/modules/events/supermatter_surge.html create mode 100644 code/modules/events/wizard/curseditems.html create mode 100644 code/modules/events/wizard/departmentrevolt.html create mode 100644 code/modules/events/wizard/embeddies.html create mode 100644 code/modules/events/wizard/rpgloot.html create mode 100644 code/modules/experisci/destructive_scanner.html create mode 100644 code/modules/experisci/experiment/experiments.html create mode 100644 code/modules/experisci/experiment/handlers/experiment_handler.html create mode 100644 code/modules/experisci/experiment/types/experiment.html create mode 100644 code/modules/experisci/experiment/types/ordnance.html create mode 100644 code/modules/experisci/experiment/types/scanning.html create mode 100644 code/modules/experisci/experiment/types/scanning_fish.html create mode 100644 code/modules/experisci/experiment/types/scanning_machinery.html create mode 100644 code/modules/experisci/experiment/types/scanning_people.html create mode 100644 code/modules/experisci/handheld_scanner.html create mode 100644 code/modules/explorer_drone/adventure.html create mode 100644 code/modules/explorer_drone/exodrone.html create mode 100644 code/modules/explorer_drone/exploration_events/_exploration_event.html create mode 100644 code/modules/explorer_drone/exploration_events/adventure.html create mode 100644 code/modules/explorer_drone/exploration_events/danger.html create mode 100644 code/modules/explorer_drone/exploration_events/fluff.html create mode 100644 code/modules/explorer_drone/exploration_events/resource.html create mode 100644 code/modules/explorer_drone/exploration_events/trader.html create mode 100644 code/modules/explorer_drone/exploration_site.html create mode 100644 code/modules/explorer_drone/loot.html create mode 100644 code/modules/explorer_drone/manager.html create mode 100644 code/modules/explorer_drone/scanner_array.html create mode 100644 code/modules/fishing/aquarium/aquarium.html create mode 100644 code/modules/fishing/aquarium/aquarium_kit.html create mode 100644 code/modules/fishing/aquarium/fish_analyzer.html create mode 100644 code/modules/fishing/fish/_fish.html create mode 100644 code/modules/fishing/fish/chasm_detritus.html create mode 100644 code/modules/fishing/fish/fish_evolution.html create mode 100644 code/modules/fishing/fish/fish_traits.html create mode 100644 code/modules/fishing/fish_catalog.html create mode 100644 code/modules/fishing/fishing_equipment.html create mode 100644 code/modules/fishing/fishing_minigame.html create mode 100644 code/modules/fishing/sources/_fish_source.html create mode 100644 code/modules/fishing/sources/source_types.html create mode 100644 code/modules/flufftext/Dreaming.html create mode 100644 code/modules/food_and_drinks/machinery/deep_fryer.html create mode 100644 code/modules/food_and_drinks/machinery/microwave.html create mode 100644 code/modules/food_and_drinks/machinery/stove_component.html create mode 100644 code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.html create mode 100644 code/modules/food_and_drinks/recipes/food_mixtures.html create mode 100644 code/modules/food_and_drinks/recipes/soup_mixtures.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html create mode 100644 code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html create mode 100644 code/modules/food_and_drinks/restaurant/_venue.html create mode 100644 code/modules/food_and_drinks/restaurant/custom_order.html create mode 100644 code/modules/food_and_drinks/restaurant/customers/_customer.html create mode 100644 code/modules/food_and_drinks/restaurant/generic_venues.html create mode 100644 code/modules/forensics/_forensics.html create mode 100644 code/modules/hallucination/_hallucination.html create mode 100644 code/modules/hallucination/battle.html create mode 100644 code/modules/hallucination/body.html create mode 100644 code/modules/hallucination/bubblegum_attack.html create mode 100644 code/modules/hallucination/delusions.html create mode 100644 code/modules/hallucination/fake_alert.html create mode 100644 code/modules/hallucination/fake_chat.html create mode 100644 code/modules/hallucination/fake_plasmaflood.html create mode 100644 code/modules/hallucination/fake_sound.html create mode 100644 code/modules/hallucination/hazard.html create mode 100644 code/modules/hallucination/hud_screw.html create mode 100644 code/modules/hallucination/ice_cube.html create mode 100644 code/modules/hallucination/inhand_fake_item.html create mode 100644 code/modules/hallucination/mother.html create mode 100644 code/modules/hallucination/nearby_fake_item.html create mode 100644 code/modules/hallucination/screwy_health_doll.html create mode 100644 code/modules/hallucination/shock.html create mode 100644 code/modules/hallucination/stray_bullet.html create mode 100644 code/modules/hallucination/xeno_attack.html create mode 100644 code/modules/holiday/holidays.html create mode 100644 code/modules/holiday/nth_week.html create mode 100644 code/modules/hydroponics/beekeeping/bee_smoker.html create mode 100644 code/modules/hydroponics/biogenerator.html create mode 100644 code/modules/hydroponics/fermenting_barrel.html create mode 100644 code/modules/hydroponics/grafts.html create mode 100644 code/modules/hydroponics/grown.html create mode 100644 code/modules/hydroponics/grown/flowers.html create mode 100644 code/modules/hydroponics/grown/hedges.html create mode 100644 code/modules/hydroponics/grown/melon.html create mode 100644 code/modules/hydroponics/grown/replicapod.html create mode 100644 code/modules/hydroponics/grown/sugarcane.html create mode 100644 code/modules/hydroponics/hydroponics.html create mode 100644 code/modules/hydroponics/plant_genes.html create mode 100644 code/modules/hydroponics/seed_extractor.html create mode 100644 code/modules/hydroponics/unique_plant_genes.html create mode 100644 code/modules/instruments/instrument_data/_instrument_data.html create mode 100644 code/modules/instruments/instrument_data/_instrument_key.html create mode 100644 code/modules/instruments/songs/_song.html create mode 100644 code/modules/interview/interview.html create mode 100644 code/modules/interview/interview_manager.html create mode 100644 code/modules/jobs/departments/departments.html create mode 100644 code/modules/jobs/job_types/assistant.html create mode 100644 code/modules/jobs/job_types/chaplain/chaplain_divine_archer.html create mode 100644 code/modules/jobs/job_types/scientist.html create mode 100644 code/modules/jobs/job_types/security_officer.html create mode 100644 code/modules/jobs/job_types/servant_golem.html create mode 100644 code/modules/jobs/job_types/unassigned.html create mode 100644 code/modules/keybindings.html create mode 100644 code/modules/language/language_holder.html create mode 100644 code/modules/library/admin_only.html create mode 100644 code/modules/library/book_info.html create mode 100644 code/modules/library/lib_machines.html create mode 100644 code/modules/library/skill_learning/job_skillchips/_job.html create mode 100644 code/modules/library/skill_learning/skillchip.html create mode 100644 code/modules/lighting/lighting_atom.html create mode 100644 code/modules/lighting/lighting_corner.html create mode 100644 code/modules/lighting/lighting_source.html create mode 100644 code/modules/logging/log_category.html create mode 100644 code/modules/logging/log_entry.html create mode 100644 code/modules/logging/log_holder.html create mode 100644 code/modules/mafia/_defines.html create mode 100644 code/modules/mafia/abilities/investigative/investigate.html create mode 100644 code/modules/mafia/abilities/investigative/pray.html create mode 100644 code/modules/mafia/abilities/investigative/reveal.html create mode 100644 code/modules/mafia/abilities/investigative/thoughtfeed.html create mode 100644 code/modules/mafia/abilities/killing/alert.html create mode 100644 code/modules/mafia/abilities/killing/flicker_rampage.html create mode 100644 code/modules/mafia/abilities/killing/kill.html create mode 100644 code/modules/mafia/abilities/protective/heal.html create mode 100644 code/modules/mafia/abilities/protective/vest.html create mode 100644 code/modules/mafia/abilities/support/roleblock.html create mode 100644 code/modules/mafia/abilities/support/self_reveal.html create mode 100644 code/modules/mafia/abilities/voting/changeling_kill.html create mode 100644 code/modules/mafia/abilities/voting/day_voting.html create mode 100644 code/modules/mafia/controller.html create mode 100644 code/modules/mafia/outfits.html create mode 100644 code/modules/mapfluff/ruins/generic.html create mode 100644 code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.html create mode 100644 code/modules/mapfluff/ruins/lavaland_ruin_code.html create mode 100644 code/modules/mapfluff/ruins/lavalandruin_code/biodome_clown_planet.html create mode 100644 code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.html create mode 100644 code/modules/mapfluff/ruins/lavalandruin_code/sloth.html create mode 100644 code/modules/mapfluff/ruins/lavalandruin_code/surface.html create mode 100644 code/modules/mapfluff/ruins/lavalandruin_code/watcher_grave.html create mode 100644 code/modules/mapfluff/ruins/objects_and_mobs/cursed_slot_machine.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/DJstation.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/atmos_asteroid.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/clericsden.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/cyborgmothership.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/dangerous_research.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/derelict_sulaco.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/forgottenship.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/interdyne.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/listeningstation.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/meateor.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_fluff.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/originalcontent.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/the_Outlet.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/waystation.html create mode 100644 code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html create mode 100644 code/modules/mapping.html create mode 100644 code/modules/mapping/mapping_helpers.html create mode 100644 code/modules/mapping/modular_map_loader.html create mode 100644 code/modules/mapping/preloader.html create mode 100644 code/modules/mapping/reader.html create mode 100644 code/modules/mapping/verify.html create mode 100644 code/modules/meteors/meteor_dark_matteor.html create mode 100644 code/modules/meteors/meteor_spawning.html create mode 100644 code/modules/mining/aux_base.html create mode 100644 code/modules/mining/equipment/explorer_gear.html create mode 100644 code/modules/mining/equipment/kheiral_cuffs.html create mode 100644 code/modules/mining/equipment/kinetic_crusher.html create mode 100644 code/modules/mining/equipment/lazarus_injector.html create mode 100644 code/modules/mining/equipment/mineral_scanner.html create mode 100644 code/modules/mining/equipment/mining_tools.html create mode 100644 code/modules/mining/equipment/miningradio.html create mode 100644 code/modules/mining/equipment/monster_organs/brimdust_sac.html create mode 100644 code/modules/mining/equipment/monster_organs/monster_organ.html create mode 100644 code/modules/mining/equipment/monster_organs/regenerative_core.html create mode 100644 code/modules/mining/equipment/monster_organs/rush_gland.html create mode 100644 code/modules/mining/equipment/resonator.html create mode 100644 code/modules/mining/equipment/survival_pod.html create mode 100644 code/modules/mining/equipment/wormhole_jaunter.html create mode 100644 code/modules/mining/laborcamp/laborstacker.html create mode 100644 code/modules/mining/lavaland/ash_flora.html create mode 100644 code/modules/mining/machine_processing.html create mode 100644 code/modules/mining/machine_redemption.html create mode 100644 code/modules/mining/machine_stacking.html create mode 100644 code/modules/mining/machine_unloading.html create mode 100644 code/modules/mining/mine_items.html create mode 100644 code/modules/mining/money_bag.html create mode 100644 code/modules/mining/ores_coins.html create mode 100644 code/modules/mining/satchel_ore_boxdm.html create mode 100644 code/modules/mining/voucher_sets.html create mode 100644 code/modules/mob/dead/new_player/new_player.html create mode 100644 code/modules/mob/emote.html create mode 100644 code/modules/mob/living/basic/basic.html create mode 100644 code/modules/mob/living/basic/blob_minions/blob_ai.html create mode 100644 code/modules/mob/living/basic/blob_minions/blob_mob.html create mode 100644 code/modules/mob/living/basic/blob_minions/blob_spore.html create mode 100644 code/modules/mob/living/basic/blob_minions/blob_zombie.html create mode 100644 code/modules/mob/living/basic/blob_minions/blobbernaut.html create mode 100644 code/modules/mob/living/basic/bots/bot_ai.html create mode 100644 code/modules/mob/living/basic/clown/clown.html create mode 100644 code/modules/mob/living/basic/cult/constructs/_construct.html create mode 100644 code/modules/mob/living/basic/cult/constructs/artificer.html create mode 100644 code/modules/mob/living/basic/cult/constructs/construct_ai.html create mode 100644 code/modules/mob/living/basic/cult/constructs/juggernaut.html create mode 100644 code/modules/mob/living/basic/cult/constructs/proteon.html create mode 100644 code/modules/mob/living/basic/cult/constructs/wraith.html create mode 100644 code/modules/mob/living/basic/drone/_drone.html create mode 100644 code/modules/mob/living/basic/drone/drone_say.html create mode 100644 code/modules/mob/living/basic/drone/drones_as_items.html create mode 100644 code/modules/mob/living/basic/drone/extra_drone_types.html create mode 100644 code/modules/mob/living/basic/farm_animals/bee/_bee.html create mode 100644 code/modules/mob/living/basic/farm_animals/bee/bee_ai_behavior.html create mode 100644 code/modules/mob/living/basic/farm_animals/chicken/chick.html create mode 100644 code/modules/mob/living/basic/farm_animals/cow/cow_moonicorn.html create mode 100644 code/modules/mob/living/basic/farm_animals/cow/cow_wisdom.html create mode 100644 code/modules/mob/living/basic/farm_animals/deer.html create mode 100644 code/modules/mob/living/basic/farm_animals/goat/_goat.html create mode 100644 code/modules/mob/living/basic/farm_animals/goat/goat_ai.html create mode 100644 code/modules/mob/living/basic/farm_animals/gorilla/gorilla.html create mode 100644 code/modules/mob/living/basic/farm_animals/gorilla/gorilla_accessories.html create mode 100644 code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.html create mode 100644 code/modules/mob/living/basic/farm_animals/rabbit.html create mode 100644 code/modules/mob/living/basic/guardian/guardian.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_creator.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_fluff.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/assassin.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/charger.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/dextrous.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/explosive.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/gaseous.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/gravitokinetic.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/lightning.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/protector.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/ranged.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/standard.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_types/support.html create mode 100644 code/modules/mob/living/basic/guardian/guardian_verbs.html create mode 100644 code/modules/mob/living/basic/heretic/ash_spirit.html create mode 100644 code/modules/mob/living/basic/heretic/flesh_stalker.html create mode 100644 code/modules/mob/living/basic/heretic/flesh_worm.html create mode 100644 code/modules/mob/living/basic/heretic/maid_in_the_mirror.html create mode 100644 code/modules/mob/living/basic/heretic/raw_prophet.html create mode 100644 code/modules/mob/living/basic/heretic/rust_walker.html create mode 100644 code/modules/mob/living/basic/icemoon/ice_demon/ice_demon.html create mode 100644 code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.html create mode 100644 code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_ai.html create mode 100644 code/modules/mob/living/basic/jungle/leaper/leaper_ai.html create mode 100644 code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid_ai.html create mode 100644 code/modules/mob/living/basic/jungle/seedling/seedling.html create mode 100644 code/modules/mob/living/basic/jungle/seedling/seedling_ai.html create mode 100644 code/modules/mob/living/basic/jungle/venus_human_trap.html create mode 100644 code/modules/mob/living/basic/lavaland/basilisk/basilisk.html create mode 100644 code/modules/mob/living/basic/lavaland/basilisk/basilisk_overheat.html create mode 100644 code/modules/mob/living/basic/lavaland/brimdemon/brimbeam.html create mode 100644 code/modules/mob/living/basic/lavaland/brimdemon/brimdemon.html create mode 100644 code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.html create mode 100644 code/modules/mob/living/basic/lavaland/goldgrub/goldgrub_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/goliath/goliath.html create mode 100644 code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html create mode 100644 code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.html create mode 100644 code/modules/mob/living/basic/lavaland/goliath/tentacle.html create mode 100644 code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_inherit_datum.html create mode 100644 code/modules/mob/living/basic/lavaland/hivelord/hivelord.html create mode 100644 code/modules/mob/living/basic/lavaland/hivelord/hivelord_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/hivelord/spawn_hivelord_brood.html create mode 100644 code/modules/mob/living/basic/lavaland/legion/legion.html create mode 100644 code/modules/mob/living/basic/lavaland/legion/legion_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/legion/legion_brood.html create mode 100644 code/modules/mob/living/basic/lavaland/legion/legion_tumour.html create mode 100644 code/modules/mob/living/basic/lavaland/legion/spawn_legions.html create mode 100644 code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.html create mode 100644 code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_trophy.html create mode 100644 code/modules/mob/living/basic/lavaland/mining.html create mode 100644 code/modules/mob/living/basic/lavaland/mook/mook_ai.html create mode 100644 code/modules/mob/living/basic/lavaland/mook/mook_village.html create mode 100644 code/modules/mob/living/basic/lavaland/watcher/watcher.html create mode 100644 code/modules/mob/living/basic/lavaland/watcher/watcher_gaze.html create mode 100644 code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.html create mode 100644 code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.html create mode 100644 code/modules/mob/living/basic/minebots/minebot_ai.html create mode 100644 code/modules/mob/living/basic/pets/dog/_dog.html create mode 100644 code/modules/mob/living/basic/pets/parrot/_parrot.html create mode 100644 code/modules/mob/living/basic/pets/parrot/parrot_ai/ghost_parrot_controller.html create mode 100644 code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_hoarding.html create mode 100644 code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_perching.html create mode 100644 code/modules/mob/living/basic/pets/parrot/parrot_ai/parroting_action.html create mode 100644 code/modules/mob/living/basic/pets/parrot/parrot_subtypes.html create mode 100644 code/modules/mob/living/basic/pets/parrot/poly.html create mode 100644 code/modules/mob/living/basic/pets/sloth.html create mode 100644 code/modules/mob/living/basic/ruin_defender/skeleton.html create mode 100644 code/modules/mob/living/basic/ruin_defender/wizard/wizard.html create mode 100644 code/modules/mob/living/basic/ruin_defender/wizard/wizard_ai.html create mode 100644 code/modules/mob/living/basic/ruin_defender/wizard/wizard_spells.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/carp.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/carp_abilities.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/carp_ai_migration.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/carp_controllers.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/magicarp.html create mode 100644 code/modules/mob/living/basic/space_fauna/carp/megacarp.html create mode 100644 code/modules/mob/living/basic/space_fauna/cat_surgeon.html create mode 100644 code/modules/mob/living/basic/space_fauna/changeling/flesh_spider.html create mode 100644 code/modules/mob/living/basic/space_fauna/changeling/headslug.html create mode 100644 code/modules/mob/living/basic/space_fauna/demon/demon.html create mode 100644 code/modules/mob/living/basic/space_fauna/demon/demon_items.html create mode 100644 code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.html create mode 100644 code/modules/mob/living/basic/space_fauna/ghost.html create mode 100644 code/modules/mob/living/basic/space_fauna/hivebot/hivebot_behavior.html create mode 100644 code/modules/mob/living/basic/space_fauna/lightgeist.html create mode 100644 code/modules/mob/living/basic/space_fauna/meteor_heart/chasing_spikes.html create mode 100644 code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_eyeball.html create mode 100644 code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.html create mode 100644 code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart_ai.html create mode 100644 code/modules/mob/living/basic/space_fauna/meteor_heart/spine_traps.html create mode 100644 code/modules/mob/living/basic/space_fauna/morph.html create mode 100644 code/modules/mob/living/basic/space_fauna/netherworld/creature.html create mode 100644 code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.html create mode 100644 code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.html create mode 100644 code/modules/mob/living/basic/space_fauna/revenant/_revenant.html create mode 100644 code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.html create mode 100644 code/modules/mob/living/basic/space_fauna/robot_customer.html create mode 100644 code/modules/mob/living/basic/space_fauna/snake/snake.html create mode 100644 code/modules/mob/living/basic/space_fauna/space_dragon/dragon_breath.html create mode 100644 code/modules/mob/living/basic/space_fauna/space_dragon/dragon_gust.html create mode 100644 code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_subtrees.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/spider.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/spider_abilities/hivemind.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/spider_abilities/web.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling_subtypes.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.html create mode 100644 code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.html create mode 100644 code/modules/mob/living/basic/space_fauna/supermatter_spider.html create mode 100644 code/modules/mob/living/basic/space_fauna/wumborian_fugu/fugu_gland.html create mode 100644 code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.html create mode 100644 code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_ai.html create mode 100644 code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.html create mode 100644 code/modules/mob/living/basic/trader/trader_ai.html create mode 100644 code/modules/mob/living/basic/trader/trader_data.html create mode 100644 code/modules/mob/living/basic/trader/trader_items.html create mode 100644 code/modules/mob/living/basic/trooper/abductor.html create mode 100644 code/modules/mob/living/basic/trooper/nanotrasen.html create mode 100644 code/modules/mob/living/basic/trooper/pirate.html create mode 100644 code/modules/mob/living/basic/trooper/russian.html create mode 100644 code/modules/mob/living/basic/trooper/syndicate.html create mode 100644 code/modules/mob/living/basic/vermin/crab.html create mode 100644 code/modules/mob/living/basic/vermin/lizard.html create mode 100644 code/modules/mob/living/basic/vermin/mouse.html create mode 100644 code/modules/mob/living/basic/vermin/space_bat.html create mode 100644 code/modules/mob/living/carbon/alien/organs.html create mode 100644 code/modules/mob/living/carbon/carbon_defense.html create mode 100644 code/modules/mob/living/carbon/carbon_stripping.html create mode 100644 code/modules/mob/living/carbon/carbon_update_icons.html create mode 100644 code/modules/mob/living/carbon/human/_species.html create mode 100644 code/modules/mob/living/carbon/human/dummy.html create mode 100644 code/modules/mob/living/carbon/human/emote.html create mode 100644 code/modules/mob/living/carbon/human/human_defines.html create mode 100644 code/modules/mob/living/carbon/human/human_suicide.html create mode 100644 code/modules/mob/living/carbon/human/species_types/abominations.html create mode 100644 code/modules/mob/living/carbon/human/species_types/golems.html create mode 100644 code/modules/mob/living/carbon/human/species_types/jellypeople.html create mode 100644 code/modules/mob/living/carbon/human/species_types/monkeys.html create mode 100644 code/modules/mob/living/carbon/human/species_types/shadowpeople.html create mode 100644 code/modules/mob/living/carbon/human/species_types/vampire.html create mode 100644 code/modules/mob/living/emote.html create mode 100644 code/modules/mob/living/life.html create mode 100644 code/modules/mob/living/living.html create mode 100644 code/modules/mob/living/living_fov.html create mode 100644 code/modules/mob/living/silicon/ai/_preferences.html create mode 100644 code/modules/mob/living/silicon/ai/ai_portrait_picker.html create mode 100644 code/modules/mob/living/silicon/ai/freelook.html create mode 100644 code/modules/mob/living/silicon/robot/robot_defines.html create mode 100644 code/modules/mob/living/silicon/robot/robot_model.html create mode 100644 code/modules/mob/living/silicon/silicon_movement.html create mode 100644 code/modules/mob/living/simple_animal/bot/bot_announcement.html create mode 100644 code/modules/mob/living/simple_animal/bot/vibebot.html create mode 100644 code/modules/mob/living/simple_animal/hostile/illusion.html create mode 100644 code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html create mode 100644 code/modules/mob/living/simple_animal/hostile/megafauna/drake.html create mode 100644 code/modules/mob/living/simple_animal/hostile/megafauna/legion.html create mode 100644 code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html create mode 100644 code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html create mode 100644 code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html create mode 100644 code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html create mode 100644 code/modules/mob/living/simple_animal/hostile/ooze.html create mode 100644 code/modules/mob/living/simple_animal/hostile/vatbeast.html create mode 100644 code/modules/mob/living/simple_animal/simple_animal.html create mode 100644 code/modules/mob/living/simple_animal/slime/slime.html create mode 100644 code/modules/mob/mob_defines.html create mode 100644 code/modules/mob/mob_helpers.html create mode 100644 code/modules/mob/mob_say.html create mode 100644 code/modules/mob/say_readme.html create mode 100644 code/modules/mob/transform_procs.html create mode 100644 code/modules/mob_spawn/corpses/mining_corpses.html create mode 100644 code/modules/mob_spawn/corpses/mob_corpses.html create mode 100644 code/modules/mob_spawn/corpses/nonhuman_corpses.html create mode 100644 code/modules/mob_spawn/ghost_roles/mining_roles.html create mode 100644 code/modules/mob_spawn/ghost_roles/space_roles.html create mode 100644 code/modules/mob_spawn/ghost_roles/venus_human_trap.html create mode 100644 code/modules/mob_spawn/mob_spawn.html create mode 100644 code/modules/mod/adding_new_mod.html create mode 100644 code/modules/mod/mod_control.html create mode 100644 code/modules/mod/mod_link.html create mode 100644 code/modules/mod/mod_theme.html create mode 100644 code/modules/mod/modules/_module.html create mode 100644 code/modules/mod/modules/module_kinesis.html create mode 100644 code/modules/mod/modules/module_pathfinder.html create mode 100644 code/modules/mod/modules/modules_antag.html create mode 100644 code/modules/mod/modules/modules_engineering.html create mode 100644 code/modules/mod/modules/modules_general.html create mode 100644 code/modules/mod/modules/modules_maint.html create mode 100644 code/modules/mod/modules/modules_medical.html create mode 100644 code/modules/mod/modules/modules_ninja.html create mode 100644 code/modules/mod/modules/modules_science.html create mode 100644 code/modules/mod/modules/modules_security.html create mode 100644 code/modules/mod/modules/modules_service.html create mode 100644 code/modules/mod/modules/modules_supply.html create mode 100644 code/modules/mod/modules/modules_timeline.html create mode 100644 code/modules/mod/modules/modules_visor.html create mode 100644 code/modules/modular_computers/computers/item/computer.html create mode 100644 code/modules/modular_computers/computers/item/computer_power.html create mode 100644 code/modules/modular_computers/computers/item/disks/maintenance_disks.html create mode 100644 code/modules/modular_computers/computers/item/disks/role_disks.html create mode 100644 code/modules/modular_computers/computers/item/disks/virus_disk.html create mode 100644 code/modules/modular_computers/computers/item/pda.html create mode 100644 code/modules/modular_computers/computers/item/role_tablet_presets.html create mode 100644 code/modules/modular_computers/file_system/data.html create mode 100644 code/modules/modular_computers/file_system/picture_file.html create mode 100644 code/modules/modular_computers/file_system/program.html create mode 100644 code/modules/modular_computers/file_system/programs/atmosscan.html create mode 100644 code/modules/modular_computers/file_system/programs/emojipedia.html create mode 100644 code/modules/modular_computers/file_system/programs/maintenance/_maintenance_program.html create mode 100644 code/modules/modular_computers/file_system/programs/messenger/messenger_data.html create mode 100644 code/modules/modular_computers/file_system/programs/messenger/messenger_program.html create mode 100644 code/modules/modular_computers/file_system/programs/portrait_printer.html create mode 100644 code/modules/modular_computers/file_system/programs/powermonitor.html create mode 100644 code/modules/modular_computers/file_system/programs/radar.html create mode 100644 code/modules/modular_computers/file_system/programs/secureye.html create mode 100644 code/modules/movespeed/_movespeed_modifier.html create mode 100644 code/modules/movespeed/modifiers/status_effects.html create mode 100644 code/modules/pai/candidate.html create mode 100644 code/modules/paperwork/clipboard.html create mode 100644 code/modules/paperwork/fax.html create mode 100644 code/modules/paperwork/paper.html create mode 100644 code/modules/paperwork/paper_premade.html create mode 100644 code/modules/paperwork/paperwork.html create mode 100644 code/modules/paperwork/photocopier.html create mode 100644 code/modules/photography/photos/frame.html create mode 100644 code/modules/plumbing/plumbers/_plumb_machinery.html create mode 100644 code/modules/plumbing/plumbers/acclimator.html create mode 100644 code/modules/plumbing/plumbers/destroyer.html create mode 100644 code/modules/plumbing/plumbers/filter.html create mode 100644 code/modules/plumbing/plumbers/iv_drip.html create mode 100644 code/modules/plumbing/plumbers/pill_press.html create mode 100644 code/modules/plumbing/plumbers/pumps.html create mode 100644 code/modules/plumbing/plumbers/reaction_chamber.html create mode 100644 code/modules/plumbing/plumbers/splitters.html create mode 100644 code/modules/plumbing/plumbers/synthesizer.html create mode 100644 code/modules/plumbing/plumbers/teleporter.html create mode 100644 code/modules/plumbing/plumbers/vatgrower.html create mode 100644 code/modules/power/apc/apc_mapping.html create mode 100644 code/modules/power/cable.html create mode 100644 code/modules/power/cell.html create mode 100644 code/modules/power/energy_accumulator.html create mode 100644 code/modules/power/gravitygenerator.html create mode 100644 code/modules/power/power.html create mode 100644 code/modules/power/singularity/boh_tear.html create mode 100644 code/modules/power/singularity/dark_matter_singularity.html create mode 100644 code/modules/power/singularity/narsie.html create mode 100644 code/modules/power/singularity/singularity.html create mode 100644 code/modules/power/supermatter/supermatter_delamination/_sm_delam.html create mode 100644 code/modules/power/supermatter/supermatter_delamination/common_delams.html create mode 100644 code/modules/power/supermatter/supermatter_gas.html create mode 100644 code/modules/power/supermatter/supermatter_variants.html create mode 100644 code/modules/power/tesla/energy_ball.html create mode 100644 code/modules/procedural_mapping.html create mode 100644 code/modules/procedural_mapping/mapGenerator.html create mode 100644 code/modules/projectiles/ammunition/energy/laser.html create mode 100644 code/modules/projectiles/guns/ballistic.html create mode 100644 code/modules/projectiles/guns/ballistic/automatic.html create mode 100644 code/modules/projectiles/guns/ballistic/bows/bow_arrows.html create mode 100644 code/modules/projectiles/guns/ballistic/bows/bow_types.html create mode 100644 code/modules/projectiles/guns/ballistic/pistol.html create mode 100644 code/modules/projectiles/guns/ballistic/rifle.html create mode 100644 code/modules/projectiles/guns/bolt_types_explained.html create mode 100644 code/modules/projectiles/guns/energy/laser.html create mode 100644 code/modules/projectiles/guns/energy/recharge.html create mode 100644 code/modules/projectiles/guns/magic/staff.html create mode 100644 code/modules/projectiles/guns/special/blastcannon.html create mode 100644 code/modules/projectiles/guns/special/meat_hook.html create mode 100644 code/modules/projectiles/guns/special/medbeam.html create mode 100644 code/modules/projectiles/projectile.html create mode 100644 code/modules/projectiles/projectile/bullets/_incendiary.html create mode 100644 code/modules/projectiles/projectile/bullets/special.html create mode 100644 code/modules/projectiles/projectile/magic.html create mode 100644 code/modules/projectiles/projectile/special/rocket.html create mode 100644 code/modules/reagents/chem_splash.html create mode 100644 code/modules/reagents/chemistry/chem_wiki_render.html create mode 100644 code/modules/reagents/chemistry/fermi_readme.html create mode 100644 code/modules/reagents/chemistry/holder/holder.html create mode 100644 code/modules/reagents/chemistry/items.html create mode 100644 code/modules/reagents/chemistry/machinery/chem_heater.html create mode 100644 code/modules/reagents/chemistry/machinery/chem_master.html create mode 100644 code/modules/reagents/chemistry/machinery/smoke_machine.html create mode 100644 code/modules/reagents/chemistry/reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/catalyst_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/drug_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/food_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/impure_reagents/impure_toxin_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/other_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/reaction_agents_reagents.html create mode 100644 code/modules/reagents/chemistry/reagents/toxin_reagents.html create mode 100644 code/modules/reagents/chemistry/recipes.html create mode 100644 code/modules/reagents/chemistry/recipes/cat2_medicines.html create mode 100644 code/modules/reagents/chemistry/recipes/catalysts.html create mode 100644 code/modules/reagents/chemistry/recipes/medicine.html create mode 100644 code/modules/reagents/chemistry/recipes/others.html create mode 100644 code/modules/reagents/chemistry/recipes/pyrotechnics.html create mode 100644 code/modules/reagents/chemistry/recipes/reaction_agents.html create mode 100644 code/modules/reagents/chemistry/recipes/slime_extracts.html create mode 100644 code/modules/reagents/chemistry/recipes/special.html create mode 100644 code/modules/reagents/reagent_containers/condiment.html create mode 100644 code/modules/reagents/reagent_containers/cups/_cup.html create mode 100644 code/modules/reagents/reagent_containers/cups/_glass_datum.html create mode 100644 code/modules/reagents/reagent_containers/cups/drinks.html create mode 100644 code/modules/reagents/reagent_containers/cups/glassbottle.html create mode 100644 code/modules/reagents/reagent_containers/cups/soda.html create mode 100644 code/modules/reagents/reagent_containers/pill.html create mode 100644 code/modules/reagents/reagent_containers/spray.html create mode 100644 code/modules/reagents/reagent_dispenser.html create mode 100644 code/modules/reagents/withdrawal/_addiction.html create mode 100644 code/modules/reagents/withdrawal/generic_addictions.html create mode 100644 code/modules/recycling/conveyor.html create mode 100644 code/modules/recycling/disposal/multiz.html create mode 100644 code/modules/recycling/disposal/outlet.html create mode 100644 code/modules/recycling/sortingmachinery.html create mode 100644 code/modules/religion/burdened/burdened_trauma.html create mode 100644 code/modules/religion/burdened/psyker.html create mode 100644 code/modules/religion/festival/instrument_rites.html create mode 100644 code/modules/religion/honorbound/honorbound_rites.html create mode 100644 code/modules/religion/honorbound/honorbound_trauma.html create mode 100644 code/modules/religion/religion_sects.html create mode 100644 code/modules/religion/rites.html create mode 100644 code/modules/religion/sparring/ceremonial_gear.html create mode 100644 code/modules/requests/request.html create mode 100644 code/modules/requests/request_manager.html create mode 100644 code/modules/research/anomaly/anomaly_refinery.html create mode 100644 code/modules/research/anomaly/raw_anomaly.html create mode 100644 code/modules/research/designs.html create mode 100644 code/modules/research/designs/AI_module_designs.html create mode 100644 code/modules/research/designs/biogenerator_designs.html create mode 100644 code/modules/research/designs/bluespace_designs.html create mode 100644 code/modules/research/designs/comp_board_designs.html create mode 100644 code/modules/research/designs/computer_part_designs.html create mode 100644 code/modules/research/designs/electronics_designs.html create mode 100644 code/modules/research/designs/limbgrower_designs.html create mode 100644 code/modules/research/designs/machine_designs.html create mode 100644 code/modules/research/designs/mecha_designs.html create mode 100644 code/modules/research/designs/mechfabricator_designs.html create mode 100644 code/modules/research/designs/medical_designs.html create mode 100644 code/modules/research/designs/mining_designs.html create mode 100644 code/modules/research/designs/power_designs.html create mode 100644 code/modules/research/designs/smelting_designs.html create mode 100644 code/modules/research/designs/stock_parts_designs.html create mode 100644 code/modules/research/designs/telecomms_designs.html create mode 100644 code/modules/research/designs/tool_designs.html create mode 100644 code/modules/research/designs/weapon_designs.html create mode 100644 code/modules/research/destructive_analyzer.html create mode 100644 code/modules/research/experimentor.html create mode 100644 code/modules/research/machinery/protolathe.html create mode 100644 code/modules/research/ordnance/_scipaper.html create mode 100644 code/modules/research/ordnance/tank_compressor.html create mode 100644 code/modules/research/server.html create mode 100644 code/modules/research/stock_parts.html create mode 100644 code/modules/research/stock_parts/stock_part_datum.html create mode 100644 code/modules/research/techweb/__techweb_helpers.html create mode 100644 code/modules/research/techweb/_techweb.html create mode 100644 code/modules/research/techweb/_techweb_node.html create mode 100644 code/modules/research/techweb/all_nodes.html create mode 100644 code/modules/research/techweb/techweb_types.html create mode 100644 code/modules/research/xenobiology/crossbreeding/__corecross.html create mode 100644 code/modules/research/xenobiology/crossbreeding/_mobs.html create mode 100644 code/modules/research/xenobiology/crossbreeding/_status_effects.html create mode 100644 code/modules/research/xenobiology/vatgrowing/biopsy_tool.html create mode 100644 code/modules/research/xenobiology/vatgrowing/petri_dish.html create mode 100644 code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.html create mode 100644 code/modules/research/xenobiology/vatgrowing/samples/_sample.html create mode 100644 code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.html create mode 100644 code/modules/research/xenobiology/vatgrowing/samples/viruses/_virus.html create mode 100644 code/modules/research/xenobiology/vatgrowing/swab.html create mode 100644 code/modules/research/xenobiology/xenobio_camera.html create mode 100644 code/modules/research/xenobiology/xenobiology.html create mode 100644 code/modules/security_levels/security_level_datums.html create mode 100644 code/modules/shuttle/battlecruiser_starfury.html create mode 100644 code/modules/shuttle/infiltrator.html create mode 100644 code/modules/shuttle/medisim.html create mode 100644 code/modules/shuttle/shuttle.html create mode 100644 code/modules/shuttle/shuttle_events/_shuttle_events.html create mode 100644 code/modules/shuttle/shuttle_events/carp.html create mode 100644 code/modules/shuttle/shuttle_events/meteors.html create mode 100644 code/modules/shuttle/shuttle_events/misc.html create mode 100644 code/modules/shuttle/shuttle_events/player_controlled.html create mode 100644 code/modules/shuttle/special.html create mode 100644 code/modules/shuttle/supply.html create mode 100644 code/modules/shuttle/white_ship.html create mode 100644 code/modules/spatial_grid/cell_tracker.html create mode 100644 code/modules/spells/spell.html create mode 100644 code/modules/spells/spell_types/aoe_spell/_aoe_spell.html create mode 100644 code/modules/spells/spell_types/charged/_charged.html create mode 100644 code/modules/spells/spell_types/cone/_cone.html create mode 100644 code/modules/spells/spell_types/conjure/_conjure.html create mode 100644 code/modules/spells/spell_types/jaunt/_jaunt.html create mode 100644 code/modules/spells/spell_types/jaunt/bloodcrawl.html create mode 100644 code/modules/spells/spell_types/jaunt/ethereal_jaunt.html create mode 100644 code/modules/spells/spell_types/list_target/_list_target.html create mode 100644 code/modules/spells/spell_types/pointed/_pointed.html create mode 100644 code/modules/spells/spell_types/projectile/_basic_projectile.html create mode 100644 code/modules/spells/spell_types/right_and_wrong.html create mode 100644 code/modules/spells/spell_types/self/mutate.html create mode 100644 code/modules/spells/spell_types/self/rod_form.html create mode 100644 code/modules/spells/spell_types/self/sanguine_strike.html create mode 100644 code/modules/spells/spell_types/self/smoke.html create mode 100644 code/modules/spells/spell_types/self/soultap.html create mode 100644 code/modules/spells/spell_types/self/stop_time.html create mode 100644 code/modules/spells/spell_types/shapeshift/_shapeshift.html create mode 100644 code/modules/spells/spell_types/teleport/_teleport.html create mode 100644 code/modules/spells/spell_types/teleport/teleport.html create mode 100644 code/modules/spells/spell_types/touch/_touch.html create mode 100644 code/modules/spells/spell_types/touch/scream_for_me.html create mode 100644 code/modules/spells/spell_types/tower_of_babel.html create mode 100644 code/modules/station_goals/generate_goals.html create mode 100644 code/modules/station_goals/meteor_shield.html create mode 100644 code/modules/surgery/bodyparts/parts.html create mode 100644 code/modules/surgery/bodyparts/species_parts/android_parts.html create mode 100644 code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html create mode 100644 code/modules/surgery/bodyparts/worn_feature_offset.html create mode 100644 code/modules/surgery/bone_mending.html create mode 100644 code/modules/surgery/burn_dressing.html create mode 100644 code/modules/surgery/experimental_dissection.html create mode 100644 code/modules/surgery/gastrectomy.html create mode 100644 code/modules/surgery/healing.html create mode 100644 code/modules/surgery/hepatectomy.html create mode 100644 code/modules/surgery/limb_augmentation.html create mode 100644 code/modules/surgery/organ_manipulation.html create mode 100644 code/modules/surgery/organs/external/_external_organ.html create mode 100644 code/modules/surgery/organs/external/spines.html create mode 100644 code/modules/surgery/organs/external/tails.html create mode 100644 code/modules/surgery/organs/external/wings/functional_wings.html create mode 100644 code/modules/surgery/organs/external/wings/moth_wings.html create mode 100644 code/modules/surgery/organs/external/wings/wings.html create mode 100644 code/modules/surgery/organs/internal/appendix/appendix_golem.html create mode 100644 code/modules/surgery/organs/internal/eyes/_eyes.html create mode 100644 code/modules/surgery/organs/internal/liver/liver_golem.html create mode 100644 code/modules/surgery/organs/internal/liver/liver_plasmaman.html create mode 100644 code/modules/surgery/organs/internal/liver/liver_skeleton.html create mode 100644 code/modules/surgery/organs/internal/stomach/stomach_golem.html create mode 100644 code/modules/surgery/plastic_surgery.html create mode 100644 code/modules/surgery/repair_puncture.html create mode 100644 code/modules/surgery/revival.html create mode 100644 code/modules/surgery/surgery_step.html create mode 100644 code/modules/tgchat.html create mode 100644 code/modules/tgchat/message.html create mode 100644 code/modules/tgchat/to_chat.html create mode 100644 code/modules/tgs.html create mode 100644 code/modules/tgs/core.html create mode 100644 code/modules/tgs/v3210.html create mode 100644 code/modules/tgs/v4.html create mode 100644 code/modules/tgs/v5.html create mode 100644 code/modules/tgui/external.html create mode 100644 code/modules/tgui/states.html create mode 100644 code/modules/tgui/states/admin.html create mode 100644 code/modules/tgui/states/always.html create mode 100644 code/modules/tgui/states/conscious.html create mode 100644 code/modules/tgui/states/contained.html create mode 100644 code/modules/tgui/states/deep_inventory.html create mode 100644 code/modules/tgui/states/default.html create mode 100644 code/modules/tgui/states/fun.html create mode 100644 code/modules/tgui/states/hands.html create mode 100644 code/modules/tgui/states/human_adjacent.html create mode 100644 code/modules/tgui/states/inventory.html create mode 100644 code/modules/tgui/states/language_menu.html create mode 100644 code/modules/tgui/states/never.html create mode 100644 code/modules/tgui/states/not_incapacitated.html create mode 100644 code/modules/tgui/states/notcontained.html create mode 100644 code/modules/tgui/states/observer.html create mode 100644 code/modules/tgui/states/physical.html create mode 100644 code/modules/tgui/states/reverse_contained.html create mode 100644 code/modules/tgui/states/self.html create mode 100644 code/modules/tgui/states/zlevel.html create mode 100644 code/modules/tgui/status_composers.html create mode 100644 code/modules/tgui/tgui.html create mode 100644 code/modules/tgui/tgui_window.html create mode 100644 code/modules/tgui_input/alert.html create mode 100644 code/modules/tgui_input/checkboxes.html create mode 100644 code/modules/tgui_input/list.html create mode 100644 code/modules/tgui_input/number.html create mode 100644 code/modules/tgui_input/say_modal/modal.html create mode 100644 code/modules/tgui_input/say_modal/typing.html create mode 100644 code/modules/tgui_input/text.html create mode 100644 code/modules/tgui_panel/audio.html create mode 100644 code/modules/tgui_panel/external.html create mode 100644 code/modules/tgui_panel/telemetry.html create mode 100644 code/modules/tgui_panel/tgui_panel.html create mode 100644 code/modules/transport/elevator/elev_indicator.html create mode 100644 code/modules/transport/elevator/elev_music_zone.html create mode 100644 code/modules/transport/elevator/elev_panel.html create mode 100644 code/modules/transport/linear_controller.html create mode 100644 code/modules/transport/tram/tram_controller.html create mode 100644 code/modules/transport/tram/tram_signals.html create mode 100644 code/modules/transport/transport_module.html create mode 100644 code/modules/transport/transport_navigation.html create mode 100644 code/modules/tutorials/_tutorial.html create mode 100644 code/modules/tutorials/tutorials/drop.html create mode 100644 code/modules/tutorials/tutorials/switch_hands.html create mode 100644 code/modules/unit_tests.html create mode 100644 code/modules/unit_tests/_unit_tests.html create mode 100644 code/modules/unit_tests/abductor_baton_spell.html create mode 100644 code/modules/unit_tests/ablative_hud.html create mode 100644 code/modules/unit_tests/achievements.html create mode 100644 code/modules/unit_tests/anonymous_themes.html create mode 100644 code/modules/unit_tests/antag_conversion.html create mode 100644 code/modules/unit_tests/area_contents.html create mode 100644 code/modules/unit_tests/armor_verification.html create mode 100644 code/modules/unit_tests/atmospherics_sanity.html create mode 100644 code/modules/unit_tests/autowiki.html create mode 100644 code/modules/unit_tests/barsigns.html create mode 100644 code/modules/unit_tests/baseturfs.html create mode 100644 code/modules/unit_tests/bitrunning.html create mode 100644 code/modules/unit_tests/blindness.html create mode 100644 code/modules/unit_tests/bloody_footprints.html create mode 100644 code/modules/unit_tests/breath.html create mode 100644 code/modules/unit_tests/burning.html create mode 100644 code/modules/unit_tests/cable_powernets.html create mode 100644 code/modules/unit_tests/cardboard_cutouts.html create mode 100644 code/modules/unit_tests/changeling.html create mode 100644 code/modules/unit_tests/chat_filter.html create mode 100644 code/modules/unit_tests/circuit_component_category.html create mode 100644 code/modules/unit_tests/client_colours.html create mode 100644 code/modules/unit_tests/closets.html create mode 100644 code/modules/unit_tests/clothing_under_armor_subtype_check.html create mode 100644 code/modules/unit_tests/combat.html create mode 100644 code/modules/unit_tests/connect_loc.html create mode 100644 code/modules/unit_tests/container_sanity.html create mode 100644 code/modules/unit_tests/crayons.html create mode 100644 code/modules/unit_tests/create_and_destroy.html create mode 100644 code/modules/unit_tests/dcs_check_list_arguments.html create mode 100644 code/modules/unit_tests/dcs_get_id_from_elements.html create mode 100644 code/modules/unit_tests/door_access.html create mode 100644 code/modules/unit_tests/dragon_expiration.html create mode 100644 code/modules/unit_tests/drink_icons.html create mode 100644 code/modules/unit_tests/dummy_spawn.html create mode 100644 code/modules/unit_tests/dynamic_ruleset_sanity.html create mode 100644 code/modules/unit_tests/egg_glands.html create mode 100644 code/modules/unit_tests/ensure_subtree_operational_datum.html create mode 100644 code/modules/unit_tests/explosion_action.html create mode 100644 code/modules/unit_tests/fish_unit_tests.html create mode 100644 code/modules/unit_tests/focus_only_tests.html create mode 100644 code/modules/unit_tests/font_awesome_icons.html create mode 100644 code/modules/unit_tests/food_edibility_check.html create mode 100644 code/modules/unit_tests/full_heal.html create mode 100644 code/modules/unit_tests/gas_transfer.html create mode 100644 code/modules/unit_tests/get_turf_pixel.html create mode 100644 code/modules/unit_tests/geyser.html create mode 100644 code/modules/unit_tests/greyscale_config.html create mode 100644 code/modules/unit_tests/hallucination_icons.html create mode 100644 code/modules/unit_tests/high_five.html create mode 100644 code/modules/unit_tests/hulk.html create mode 100644 code/modules/unit_tests/human_through_recycler.html create mode 100644 code/modules/unit_tests/hunger_curse.html create mode 100644 code/modules/unit_tests/hydroponics_extractor_storage.html create mode 100644 code/modules/unit_tests/hydroponics_self_mutations.html create mode 100644 code/modules/unit_tests/hydroponics_validate_genes.html create mode 100644 code/modules/unit_tests/inhands.html create mode 100644 code/modules/unit_tests/json_savefile_importing.html create mode 100644 code/modules/unit_tests/knockoff_component.html create mode 100644 code/modules/unit_tests/language_transfer.html create mode 100644 code/modules/unit_tests/leash.html create mode 100644 code/modules/unit_tests/lesserform.html create mode 100644 code/modules/unit_tests/limbsanity.html create mode 100644 code/modules/unit_tests/ling_decap.html create mode 100644 code/modules/unit_tests/load_map_security.html create mode 100644 code/modules/unit_tests/lungs.html create mode 100644 code/modules/unit_tests/mafia.html create mode 100644 code/modules/unit_tests/map_landmarks.html create mode 100644 code/modules/unit_tests/mapload_space_verification.html create mode 100644 code/modules/unit_tests/mapping.html create mode 100644 code/modules/unit_tests/mecha_damage.html create mode 100644 code/modules/unit_tests/mindbound_actions.html create mode 100644 code/modules/unit_tests/missing_icons.html create mode 100644 code/modules/unit_tests/mob_chains.html create mode 100644 code/modules/unit_tests/mob_damage.html create mode 100644 code/modules/unit_tests/mob_faction.html create mode 100644 code/modules/unit_tests/mob_spawn.html create mode 100644 code/modules/unit_tests/modsuit.html create mode 100644 code/modules/unit_tests/monkey_business.html create mode 100644 code/modules/unit_tests/mouse_bite_cable.html create mode 100644 code/modules/unit_tests/mutant_hands_consistency.html create mode 100644 code/modules/unit_tests/mutant_organs.html create mode 100644 code/modules/unit_tests/novaflower_burn.html create mode 100644 code/modules/unit_tests/nuke_cinematic.html create mode 100644 code/modules/unit_tests/operating_table.html create mode 100644 code/modules/unit_tests/orderable_items.html create mode 100644 code/modules/unit_tests/organ_bodypart_shuffle.html create mode 100644 code/modules/unit_tests/organ_set_bonus.html create mode 100644 code/modules/unit_tests/organs.html create mode 100644 code/modules/unit_tests/outfit_sanity.html create mode 100644 code/modules/unit_tests/oxyloss_suffocation.html create mode 100644 code/modules/unit_tests/paintings.html create mode 100644 code/modules/unit_tests/plane_double_transform.html create mode 100644 code/modules/unit_tests/plane_dupe_detector.html create mode 100644 code/modules/unit_tests/preference_species.html create mode 100644 code/modules/unit_tests/preferences.html create mode 100644 code/modules/unit_tests/projectiles.html create mode 100644 code/modules/unit_tests/quirks.html create mode 100644 code/modules/unit_tests/range_return.html create mode 100644 code/modules/unit_tests/reagent_container_defaults.html create mode 100644 code/modules/unit_tests/reagent_names.html create mode 100644 code/modules/unit_tests/reagent_transfer.html create mode 100644 code/modules/unit_tests/required_map_items.html create mode 100644 code/modules/unit_tests/say.html create mode 100644 code/modules/unit_tests/screenshot_antag_icons.html create mode 100644 code/modules/unit_tests/screenshot_basic.html create mode 100644 code/modules/unit_tests/screenshot_dynamic_human_icons.html create mode 100644 code/modules/unit_tests/screenshot_high_luminosity_eyes.html create mode 100644 code/modules/unit_tests/screenshot_humanoids.html create mode 100644 code/modules/unit_tests/screenshot_husk.html create mode 100644 code/modules/unit_tests/screenshot_saturnx.html create mode 100644 code/modules/unit_tests/screenshots.html create mode 100644 code/modules/unit_tests/security_levels.html create mode 100644 code/modules/unit_tests/security_officer_distribution.html create mode 100644 code/modules/unit_tests/simple_animal_freeze.html create mode 100644 code/modules/unit_tests/slime_mood.html create mode 100644 code/modules/unit_tests/slips.html create mode 100644 code/modules/unit_tests/spawn_humans.html create mode 100644 code/modules/unit_tests/spawn_mobs.html create mode 100644 code/modules/unit_tests/species_change_clothing.html create mode 100644 code/modules/unit_tests/species_change_organs.html create mode 100644 code/modules/unit_tests/species_unique_id.html create mode 100644 code/modules/unit_tests/spell_invocations.html create mode 100644 code/modules/unit_tests/spell_jaunt.html create mode 100644 code/modules/unit_tests/spell_mindswap.html create mode 100644 code/modules/unit_tests/spell_names.html create mode 100644 code/modules/unit_tests/spell_shapeshift.html create mode 100644 code/modules/unit_tests/spritesheets.html create mode 100644 code/modules/unit_tests/stack_singular_name.html create mode 100644 code/modules/unit_tests/station_trait_tests.html create mode 100644 code/modules/unit_tests/status_effect_ticks.html create mode 100644 code/modules/unit_tests/strange_reagent.html create mode 100644 code/modules/unit_tests/stuns.html create mode 100644 code/modules/unit_tests/subsystem_init.html create mode 100644 code/modules/unit_tests/suit_storage_icons.html create mode 100644 code/modules/unit_tests/surgeries.html create mode 100644 code/modules/unit_tests/tail_wag.html create mode 100644 code/modules/unit_tests/tgui_create_message.html create mode 100644 code/modules/unit_tests/trait_addition_and_removal.html create mode 100644 code/modules/unit_tests/traitor_mail_content_check.html create mode 100644 code/modules/unit_tests/trauma_granting.html create mode 100644 code/modules/unit_tests/turf_icons.html create mode 100644 code/modules/unit_tests/tutorial_sanity.html create mode 100644 code/modules/unit_tests/verify_config_tags.html create mode 100644 code/modules/unit_tests/verify_emoji_names.html create mode 100644 code/modules/unit_tests/weird_food.html create mode 100644 code/modules/unit_tests/wizard_loadout.html create mode 100644 code/modules/unit_tests/worn_icons.html create mode 100644 code/modules/uplink/uplink_items.html create mode 100644 code/modules/vehicles/cars/speedwagon.html create mode 100644 code/modules/vehicles/cars/vim.html create mode 100644 code/modules/vehicles/mecha/_mecha.html create mode 100644 code/modules/vehicles/mecha/combat/durand.html create mode 100644 code/modules/vehicles/mecha/combat/savannah_ivanov.html create mode 100644 code/modules/vehicles/mecha/equipment/mecha_equipment.html create mode 100644 code/modules/vehicles/mecha/equipment/tools/air_tank.html create mode 100644 code/modules/vehicles/mecha/equipment/tools/medical_tools.html create mode 100644 code/modules/vehicles/mecha/equipment/tools/other_tools.html create mode 100644 code/modules/vehicles/mecha/equipment/tools/radio.html create mode 100644 code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.html create mode 100644 code/modules/vehicles/mecha/equipment/weapons/weapons.html create mode 100644 code/modules/vehicles/mecha/mecha_actions.html create mode 100644 code/modules/vehicles/mecha/mecha_construction_paths.html create mode 100644 code/modules/vehicles/mecha/mecha_damage.html create mode 100644 code/modules/vehicles/mecha/mecha_defense.html create mode 100644 code/modules/vehicles/mecha/mecha_movement.html create mode 100644 code/modules/vehicles/mecha/mecha_parts.html create mode 100644 code/modules/vehicles/mecha/mecha_wreckage.html create mode 100644 code/modules/vehicles/mecha/working/clarke.html create mode 100644 code/modules/vehicles/pimpin_ride.html create mode 100644 code/modules/vehicles/vehicle_actions.html create mode 100644 code/modules/vehicles/wheelchair.html create mode 100644 code/modules/vending/_vending.html create mode 100644 code/modules/visuals/render_steps.html create mode 100644 code/modules/wiremod/components/abstract/compare.html create mode 100644 code/modules/wiremod/components/abstract/module.html create mode 100644 code/modules/wiremod/components/abstract/variable.html create mode 100644 code/modules/wiremod/components/action/laserpointer.html create mode 100644 code/modules/wiremod/components/action/light.html create mode 100644 code/modules/wiremod/components/action/mmi.html create mode 100644 code/modules/wiremod/components/action/pathfind.html create mode 100644 code/modules/wiremod/components/action/pull.html create mode 100644 code/modules/wiremod/components/action/radio.html create mode 100644 code/modules/wiremod/components/action/soundemitter.html create mode 100644 code/modules/wiremod/components/action/speech.html create mode 100644 code/modules/wiremod/components/admin/getvar.html create mode 100644 code/modules/wiremod/components/admin/input_request.html create mode 100644 code/modules/wiremod/components/admin/proccall.html create mode 100644 code/modules/wiremod/components/admin/save_shell.html create mode 100644 code/modules/wiremod/components/admin/sdql.html create mode 100644 code/modules/wiremod/components/admin/setvar.html create mode 100644 code/modules/wiremod/components/admin/signal_handler/signal_handler.html create mode 100644 code/modules/wiremod/components/admin/spawn.html create mode 100644 code/modules/wiremod/components/admin/to_type.html create mode 100644 code/modules/wiremod/components/atom/direction.html create mode 100644 code/modules/wiremod/components/atom/gps.html create mode 100644 code/modules/wiremod/components/atom/health.html create mode 100644 code/modules/wiremod/components/atom/hear.html create mode 100644 code/modules/wiremod/components/atom/matscanner.html create mode 100644 code/modules/wiremod/components/atom/pinpointer.html create mode 100644 code/modules/wiremod/components/atom/reagentscanner.html create mode 100644 code/modules/wiremod/components/atom/self.html create mode 100644 code/modules/wiremod/components/atom/species.html create mode 100644 code/modules/wiremod/components/bci/hud/bar_overlay.html create mode 100644 code/modules/wiremod/components/bci/hud/counter_overlay.html create mode 100644 code/modules/wiremod/components/bci/hud/object_overlay.html create mode 100644 code/modules/wiremod/components/bci/hud/target_intercept.html create mode 100644 code/modules/wiremod/components/bci/install_detector.html create mode 100644 code/modules/wiremod/components/bci/reagent_injector.html create mode 100644 code/modules/wiremod/components/bci/thought_listener.html create mode 100644 code/modules/wiremod/components/bci/vox.html create mode 100644 code/modules/wiremod/components/list/assoc_list_pick.html create mode 100644 code/modules/wiremod/components/list/assoc_list_remove.html create mode 100644 code/modules/wiremod/components/list/assoc_list_set.html create mode 100644 code/modules/wiremod/components/list/assoc_literal.html create mode 100644 code/modules/wiremod/components/list/concat.html create mode 100644 code/modules/wiremod/components/list/filter.html create mode 100644 code/modules/wiremod/components/list/foreach.html create mode 100644 code/modules/wiremod/components/list/format.html create mode 100644 code/modules/wiremod/components/list/index.html create mode 100644 code/modules/wiremod/components/list/list_add.html create mode 100644 code/modules/wiremod/components/list/list_clear.html create mode 100644 code/modules/wiremod/components/list/list_find.html create mode 100644 code/modules/wiremod/components/list/list_literal.html create mode 100644 code/modules/wiremod/components/list/list_pick.html create mode 100644 code/modules/wiremod/components/list/list_remove.html create mode 100644 code/modules/wiremod/components/list/split.html create mode 100644 code/modules/wiremod/components/math/arctan2.html create mode 100644 code/modules/wiremod/components/math/arithmetic.html create mode 100644 code/modules/wiremod/components/math/binary_conversion.html create mode 100644 code/modules/wiremod/components/math/comparison.html create mode 100644 code/modules/wiremod/components/math/decimal_conversion.html create mode 100644 code/modules/wiremod/components/math/length.html create mode 100644 code/modules/wiremod/components/math/logic.html create mode 100644 code/modules/wiremod/components/math/not.html create mode 100644 code/modules/wiremod/components/math/random.html create mode 100644 code/modules/wiremod/components/math/trigonometry.html create mode 100644 code/modules/wiremod/components/ntnet/ntnet_receive.html create mode 100644 code/modules/wiremod/components/ntnet/ntnet_send.html create mode 100644 code/modules/wiremod/components/sensors/pressuresensor.html create mode 100644 code/modules/wiremod/components/sensors/tempsensor.html create mode 100644 code/modules/wiremod/components/sensors/view_sensor.html create mode 100644 code/modules/wiremod/components/string/concat.html create mode 100644 code/modules/wiremod/components/string/contains.html create mode 100644 code/modules/wiremod/components/string/textcase.html create mode 100644 code/modules/wiremod/components/string/tonumber.html create mode 100644 code/modules/wiremod/components/string/tostring.html create mode 100644 code/modules/wiremod/components/table/get_column.html create mode 100644 code/modules/wiremod/components/table/index_table.html create mode 100644 code/modules/wiremod/components/table/select.html create mode 100644 code/modules/wiremod/components/utility/clock.html create mode 100644 code/modules/wiremod/components/utility/delay.html create mode 100644 code/modules/wiremod/components/utility/router.html create mode 100644 code/modules/wiremod/components/utility/timepiece.html create mode 100644 code/modules/wiremod/components/utility/typecast.html create mode 100644 code/modules/wiremod/components/utility/typecheck.html create mode 100644 code/modules/wiremod/components/variables/getter.html create mode 100644 code/modules/wiremod/components/variables/setter.html create mode 100644 code/modules/wiremod/core/component.html create mode 100644 code/modules/wiremod/core/component_printer.html create mode 100644 code/modules/wiremod/core/datatypes.html create mode 100644 code/modules/wiremod/core/integrated_circuit.html create mode 100644 code/modules/wiremod/core/port.html create mode 100644 code/modules/wiremod/core/usb_cable.html create mode 100644 code/modules/wiremod/core/variable.html create mode 100644 code/modules/wiremod/datatypes/composite/composite.html create mode 100644 code/modules/wiremod/dcs_components/component_add_port.html create mode 100644 code/modules/wiremod/preset/hello_world.html create mode 100644 code/modules/wiremod/preset/speech_relay.html create mode 100644 code/modules/wiremod/shell/assembly.html create mode 100644 code/modules/wiremod/shell/bot.html create mode 100644 code/modules/wiremod/shell/compact_remote.html create mode 100644 code/modules/wiremod/shell/controller.html create mode 100644 code/modules/wiremod/shell/dispenser.html create mode 100644 code/modules/wiremod/shell/drone.html create mode 100644 code/modules/wiremod/shell/gun.html create mode 100644 code/modules/wiremod/shell/moneybot.html create mode 100644 code/modules/wiremod/shell/scanner.html create mode 100644 code/modules/wiremod/shell/server.html create mode 100644 code/modules/wiremod/shell/shell_items.html create mode 100644 code/world.html create mode 100644 datum.html create mode 100644 datum/abductor_gear.html create mode 100644 datum/achievement_data.html create mode 100644 datum/achievement_report.html create mode 100644 datum/action.html create mode 100644 datum/action/chameleon_outfit.html create mode 100644 datum/action/changeling.html create mode 100644 datum/action/changeling/absorb_dna.html create mode 100644 datum/action/changeling/augmented_eyesight.html create mode 100644 datum/action/changeling/defib_grasp.html create mode 100644 datum/action/changeling/fakedeath.html create mode 100644 datum/action/changeling/lesserform.html create mode 100644 datum/action/changeling/mmi_talk.html create mode 100644 datum/action/changeling/sting/transformation.html create mode 100644 datum/action/changeling/suit.html create mode 100644 datum/action/changeling/void_adaption.html create mode 100644 datum/action/changeling/weapon.html create mode 100644 datum/action/consume.html create mode 100644 datum/action/cooldown.html create mode 100644 datum/action/cooldown/alien.html create mode 100644 datum/action/cooldown/alien/acid/corrosion.html create mode 100644 datum/action/cooldown/alien/hide.html create mode 100644 datum/action/cooldown/alien/make_structure.html create mode 100644 datum/action/cooldown/alien/make_structure/resin.html create mode 100644 datum/action/cooldown/alien/promote.html create mode 100644 datum/action/cooldown/bot_announcement.html create mode 100644 datum/action/cooldown/exquisite_bunch.html create mode 100644 datum/action/cooldown/gel_cocoon.html create mode 100644 datum/action/cooldown/grand_ritual.html create mode 100644 datum/action/cooldown/internal_smelting.html create mode 100644 datum/action/cooldown/manual_heart.html create mode 100644 datum/action/cooldown/metabolicboost.html create mode 100644 datum/action/cooldown/mob_cooldown/assume_form.html create mode 100644 datum/action/cooldown/mob_cooldown/blood_rain.html create mode 100644 datum/action/cooldown/mob_cooldown/blood_warp.html create mode 100644 datum/action/cooldown/mob_cooldown/bot/foam.html create mode 100644 datum/action/cooldown/mob_cooldown/brimbeam.html create mode 100644 datum/action/cooldown/mob_cooldown/charge.html create mode 100644 datum/action/cooldown/mob_cooldown/charge/basic_charge.html create mode 100644 datum/action/cooldown/mob_cooldown/charge/hallucination_charge.html create mode 100644 datum/action/cooldown/mob_cooldown/charge_apc.html create mode 100644 datum/action/cooldown/mob_cooldown/chasing_spikes.html create mode 100644 datum/action/cooldown/mob_cooldown/command_spiders.html create mode 100644 datum/action/cooldown/mob_cooldown/dash.html create mode 100644 datum/action/cooldown/mob_cooldown/defensive_mode.html create mode 100644 datum/action/cooldown/mob_cooldown/expel_gas.html create mode 100644 datum/action/cooldown/mob_cooldown/explosive_booby_trap.html create mode 100644 datum/action/cooldown/mob_cooldown/fire_breath.html create mode 100644 datum/action/cooldown/mob_cooldown/fire_breath/cone.html create mode 100644 datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html create mode 100644 datum/action/cooldown/mob_cooldown/goliath_tentacles.html create mode 100644 datum/action/cooldown/mob_cooldown/guardian_alarm_snare.html create mode 100644 datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon.html create mode 100644 datum/action/cooldown/mob_cooldown/hivelord_spawn.html create mode 100644 datum/action/cooldown/mob_cooldown/ice_demon_teleport.html create mode 100644 datum/action/cooldown/mob_cooldown/lava_swoop.html create mode 100644 datum/action/cooldown/mob_cooldown/lay_eggs.html create mode 100644 datum/action/cooldown/mob_cooldown/lay_eggs/enriched.html create mode 100644 datum/action/cooldown/mob_cooldown/lay_web.html create mode 100644 datum/action/cooldown/mob_cooldown/lesser_carp_rift.html create mode 100644 datum/action/cooldown/mob_cooldown/mook_ability.html create mode 100644 datum/action/cooldown/mob_cooldown/mook_ability/mook_leap.html create mode 100644 datum/action/cooldown/mob_cooldown/projectile_attack.html create mode 100644 datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/chaos.html create mode 100644 datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html create mode 100644 datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/seedling.html create mode 100644 datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html create mode 100644 datum/action/cooldown/mob_cooldown/riot.html create mode 100644 datum/action/cooldown/mob_cooldown/set_spider_directive.html create mode 100644 datum/action/cooldown/mob_cooldown/skull_launcher.html create mode 100644 datum/action/cooldown/mob_cooldown/slippery_ice_floors.html create mode 100644 datum/action/cooldown/mob_cooldown/sneak.html create mode 100644 datum/action/cooldown/mob_cooldown/solarbeam.html create mode 100644 datum/action/cooldown/mob_cooldown/spine_traps.html create mode 100644 datum/action/cooldown/mob_cooldown/transform_weapon.html create mode 100644 datum/action/cooldown/mob_cooldown/watcher_gaze.html create mode 100644 datum/action/cooldown/mob_cooldown/watcher_gaze/ice.html create mode 100644 datum/action/cooldown/mob_cooldown/watcher_overwatch.html create mode 100644 datum/action/cooldown/mob_cooldown/wing_buffet.html create mode 100644 datum/action/cooldown/mob_cooldown/wrap.html create mode 100644 datum/action/cooldown/open_mob_commands.html create mode 100644 datum/action/cooldown/rustle.html create mode 100644 datum/action/cooldown/spell.html create mode 100644 datum/action/cooldown/spell/aoe.html create mode 100644 datum/action/cooldown/spell/aoe/magic_missile.html create mode 100644 datum/action/cooldown/spell/aoe/repulse.html create mode 100644 datum/action/cooldown/spell/aoe/revenant.html create mode 100644 datum/action/cooldown/spell/aoe/revenant/overload.html create mode 100644 datum/action/cooldown/spell/aoe/sacred_flame.html create mode 100644 datum/action/cooldown/spell/aoe/void_pull.html create mode 100644 datum/action/cooldown/spell/apply_mutations.html create mode 100644 datum/action/cooldown/spell/basic_heal.html create mode 100644 datum/action/cooldown/spell/basic_projectile.html create mode 100644 datum/action/cooldown/spell/charged.html create mode 100644 datum/action/cooldown/spell/charged/beam.html create mode 100644 datum/action/cooldown/spell/charged/beam/fire_blast.html create mode 100644 datum/action/cooldown/spell/charged/beam/tesla.html create mode 100644 datum/action/cooldown/spell/charged/psychic_booster.html create mode 100644 datum/action/cooldown/spell/cone.html create mode 100644 datum/action/cooldown/spell/cone/staggered.html create mode 100644 datum/action/cooldown/spell/cone/staggered/cone_of_cold.html create mode 100644 datum/action/cooldown/spell/cone/staggered/fire_breath.html create mode 100644 datum/action/cooldown/spell/conjure.html create mode 100644 datum/action/cooldown/spell/conjure/cosmic_expansion.html create mode 100644 datum/action/cooldown/spell/conjure/limit_summons.html create mode 100644 datum/action/cooldown/spell/conjure/simian.html create mode 100644 datum/action/cooldown/spell/conjure/the_traps.html create mode 100644 datum/action/cooldown/spell/conjure/wizard_summon_minions.html create mode 100644 datum/action/cooldown/spell/conjure_item.html create mode 100644 datum/action/cooldown/spell/conjure_item/clown_pockets.html create mode 100644 datum/action/cooldown/spell/conjure_item/invisible_box.html create mode 100644 datum/action/cooldown/spell/cosmic_rune.html create mode 100644 datum/action/cooldown/spell/emp.html create mode 100644 datum/action/cooldown/spell/fire_cascade.html create mode 100644 datum/action/cooldown/spell/fire_sworn.html create mode 100644 datum/action/cooldown/spell/forcewall.html create mode 100644 datum/action/cooldown/spell/jaunt.html create mode 100644 datum/action/cooldown/spell/jaunt/bloodcrawl.html create mode 100644 datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html create mode 100644 datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html create mode 100644 datum/action/cooldown/spell/jaunt/creature_teleport.html create mode 100644 datum/action/cooldown/spell/jaunt/ethereal_jaunt.html create mode 100644 datum/action/cooldown/spell/jaunt/mirror_walk.html create mode 100644 datum/action/cooldown/spell/jaunt/shadow_walk.html create mode 100644 datum/action/cooldown/spell/jaunt/space_crawl.html create mode 100644 datum/action/cooldown/spell/list_target.html create mode 100644 datum/action/cooldown/spell/list_target/telepathy.html create mode 100644 datum/action/cooldown/spell/olfaction.html create mode 100644 datum/action/cooldown/spell/pointed.html create mode 100644 datum/action/cooldown/spell/pointed/abyssal_gaze.html create mode 100644 datum/action/cooldown/spell/pointed/apetra_vulnera.html create mode 100644 datum/action/cooldown/spell/pointed/ash_beams.html create mode 100644 datum/action/cooldown/spell/pointed/blind.html create mode 100644 datum/action/cooldown/spell/pointed/cleave.html create mode 100644 datum/action/cooldown/spell/pointed/declare_evil.html create mode 100644 datum/action/cooldown/spell/pointed/manse_link.html create mode 100644 datum/action/cooldown/spell/pointed/mind_transfer.html create mode 100644 datum/action/cooldown/spell/pointed/projectile.html create mode 100644 datum/action/cooldown/spell/pointed/projectile/furious_steel.html create mode 100644 datum/action/cooldown/spell/pointed/projectile/lightningbolt.html create mode 100644 datum/action/cooldown/spell/pointed/projectile/spell_cards.html create mode 100644 datum/action/cooldown/spell/pointed/psychic_projection.html create mode 100644 datum/action/cooldown/spell/pointed/rust_construction.html create mode 100644 datum/action/cooldown/spell/pointed/swap.html create mode 100644 datum/action/cooldown/spell/pointed/void_phase.html create mode 100644 datum/action/cooldown/spell/pointed/wizard_mimic.html create mode 100644 datum/action/cooldown/spell/rod_form.html create mode 100644 datum/action/cooldown/spell/sanguine_strike.html create mode 100644 datum/action/cooldown/spell/shadow_cloak.html create mode 100644 datum/action/cooldown/spell/shapeshift.html create mode 100644 datum/action/cooldown/spell/shapeshift/polymorph_belt.html create mode 100644 datum/action/cooldown/spell/shapeshift/shed_human_form.html create mode 100644 datum/action/cooldown/spell/shapeshift/slime_form.html create mode 100644 datum/action/cooldown/spell/spacetime_dist.html create mode 100644 datum/action/cooldown/spell/summonitem.html create mode 100644 datum/action/cooldown/spell/tap.html create mode 100644 datum/action/cooldown/spell/teleport.html create mode 100644 datum/action/cooldown/spell/teleport/area_teleport.html create mode 100644 datum/action/cooldown/spell/teleport/radius_turf.html create mode 100644 datum/action/cooldown/spell/thermal_vision.html create mode 100644 datum/action/cooldown/spell/timestop.html create mode 100644 datum/action/cooldown/spell/tongue_spike.html create mode 100644 datum/action/cooldown/spell/touch.html create mode 100644 datum/action/cooldown/spell/touch/duffelbag.html create mode 100644 datum/action/cooldown/spell/touch/flesh_surgery.html create mode 100644 datum/action/cooldown/spell/touch/shock.html create mode 100644 datum/action/cooldown/spell/touch/smite.html create mode 100644 datum/action/cooldown/spell/touch/star_touch.html create mode 100644 datum/action/cooldown/spell/voice_of_god.html create mode 100644 datum/action/cooldown/spell/void/cursed.html create mode 100644 datum/action/cooldown/track_target.html create mode 100644 datum/action/cooldown/turn_to_statue.html create mode 100644 datum/action/cooldown/vine_tangle.html create mode 100644 datum/action/innate.html create mode 100644 datum/action/innate/ai.html create mode 100644 datum/action/innate/ai/lockdown.html create mode 100644 datum/action/innate/ai/ranged/core_tilt.html create mode 100644 datum/action/innate/ai/ranged/remote_vendor_tilt.html create mode 100644 datum/action/innate/blobpop.html create mode 100644 datum/action/innate/construction.html create mode 100644 datum/action/innate/construction/place_structure.html create mode 100644 datum/action/innate/cult/blood_spell.html create mode 100644 datum/action/innate/cult/blood_spell/dagger.html create mode 100644 datum/action/innate/cult/ghostmark.html create mode 100644 datum/action/innate/cult/master/cultmark.html create mode 100644 datum/action/innate/cult/master/pulse.html create mode 100644 datum/action/innate/dash.html create mode 100644 datum/action/innate/elite_attack.html create mode 100644 datum/action/innate/expand_sight.html create mode 100644 datum/action/innate/integrate_extract.html create mode 100644 datum/action/innate/link_minds.html create mode 100644 datum/action/innate/mafia_panel.html create mode 100644 datum/action/innate/proto_emitter.html create mode 100644 datum/action/innate/seek_master.html create mode 100644 datum/action/innate/sign_language.html create mode 100644 datum/action/innate/teleport_in.html create mode 100644 datum/action/innate/teleport_self.html create mode 100644 datum/action/innate/use_extract.html create mode 100644 datum/action/innate/vibe.html create mode 100644 datum/action/item_action/agent_box.html create mode 100644 datum/action/item_action/camouflage.html create mode 100644 datum/action/item_action/chameleon/change.html create mode 100644 datum/action/item_action/chameleon/change/scanner.html create mode 100644 datum/action/item_action/mod.html create mode 100644 datum/action/item_action/mod/activate.html create mode 100644 datum/action/item_action/mod/pinned_module.html create mode 100644 datum/action/item_action/mod_recall.html create mode 100644 datum/action/personality_commune.html create mode 100644 datum/action/push_weights.html create mode 100644 datum/action/select_guardian_battlecry.html create mode 100644 datum/action/send_chems.html create mode 100644 datum/action/setup_shop.html create mode 100644 datum/action/toggle_buffer.html create mode 100644 datum/action/vehicle/sealed/mecha.html create mode 100644 datum/action/vehicle/sealed/mecha/ivanov_strike.html create mode 100644 datum/action/vehicle/sealed/mecha/skyfall.html create mode 100644 datum/action_group.html create mode 100644 datum/actionspeed_modifier.html create mode 100644 datum/addiction.html create mode 100644 datum/addiction/medicine.html create mode 100644 datum/admin_book_viewer.html create mode 100644 datum/admin_help.html create mode 100644 datum/admin_help_tickets.html create mode 100644 datum/admins.html create mode 100644 datum/adventure.html create mode 100644 datum/adventure_browser.html create mode 100644 datum/adventure_db_entry.html create mode 100644 datum/adventure_loot_generator.html create mode 100644 datum/adventure_node.html create mode 100644 datum/ai_behavior.html create mode 100644 datum/ai_behavior/attack.html create mode 100644 datum/ai_behavior/attack_obstructions.html create mode 100644 datum/ai_behavior/basic_melee_attack.html create mode 100644 datum/ai_behavior/basic_melee_attack/dog.html create mode 100644 datum/ai_behavior/basic_ranged_attack.html create mode 100644 datum/ai_behavior/battle_screech.html create mode 100644 datum/ai_behavior/call_reinforcements.html create mode 100644 datum/ai_behavior/capricious_retaliate.html create mode 100644 datum/ai_behavior/crawl_through_vents.html create mode 100644 datum/ai_behavior/deliver_fetched_item.html create mode 100644 datum/ai_behavior/eat_fetched_snack.html create mode 100644 datum/ai_behavior/find_and_set.html create mode 100644 datum/ai_behavior/find_mom.html create mode 100644 datum/ai_behavior/find_partner.html create mode 100644 datum/ai_behavior/find_potential_targets.html create mode 100644 datum/ai_behavior/find_unwebbed_turf.html create mode 100644 datum/ai_behavior/forget_failed_fetches.html create mode 100644 datum/ai_behavior/goliath_find_diggable_turf.html create mode 100644 datum/ai_behavior/hoard_fingers.html create mode 100644 datum/ai_behavior/hunt_target.html create mode 100644 datum/ai_behavior/hunt_target/unarmed_attack_target.html create mode 100644 datum/ai_behavior/hunt_target/unarmed_attack_target/material_stand.html create mode 100644 datum/ai_behavior/hunt_target/use_ability_on_target.html create mode 100644 datum/ai_behavior/item_move_close_and_attack.html create mode 100644 datum/ai_behavior/make_carp_rift.html create mode 100644 datum/ai_behavior/make_carp_rift/towards.html create mode 100644 datum/ai_behavior/monkey_attack_mob.html create mode 100644 datum/ai_behavior/move_to_cardinal.html create mode 100644 datum/ai_behavior/play_with_mouse.html create mode 100644 datum/ai_behavior/relay_message.html create mode 100644 datum/ai_behavior/run_away_from_target.html create mode 100644 datum/ai_behavior/sleep_after_targetless_time.html create mode 100644 datum/ai_behavior/step_towards_turf.html create mode 100644 datum/ai_behavior/swirl_around_target.html create mode 100644 datum/ai_behavior/target_from_retaliate_list.html create mode 100644 datum/ai_behavior/targeted_mob_ability/brimbeam.html create mode 100644 datum/ai_behavior/targeted_mob_ability/ice_whelp.html create mode 100644 datum/ai_behavior/territorial_struggle.html create mode 100644 datum/ai_behavior/travel_towards.html create mode 100644 datum/ai_behavior/vendor_crush.html create mode 100644 datum/ai_behavior/vendor_rise_up.html create mode 100644 datum/ai_behavior/wait_for_food.html create mode 100644 datum/ai_behavior/wander.html create mode 100644 datum/ai_controller.html create mode 100644 datum/ai_controller/basic_controller/artificer.html create mode 100644 datum/ai_controller/basic_controller/bot.html create mode 100644 datum/ai_controller/basic_controller/bot/cleanbot.html create mode 100644 datum/ai_controller/basic_controller/carp.html create mode 100644 datum/ai_controller/basic_controller/juggernaut.html create mode 100644 datum/ai_controller/basic_controller/proteon.html create mode 100644 datum/ai_controller/basic_controller/wraith.html create mode 100644 datum/ai_controller/cursed.html create mode 100644 datum/ai_controller/haunted.html create mode 100644 datum/ai_controller/hostile_friend.html create mode 100644 datum/ai_controller/mod.html create mode 100644 datum/ai_controller/monkey.html create mode 100644 datum/ai_controller/robot_customer.html create mode 100644 datum/ai_laws.html create mode 100644 datum/ai_module.html create mode 100644 datum/ai_module/destructive/nuke_station.html create mode 100644 datum/ai_movement.html create mode 100644 datum/ai_movement/basic_avoidance.html create mode 100644 datum/ai_movement/dumb.html create mode 100644 datum/ai_planning_subtree.html create mode 100644 datum/ai_planning_subtree/acknowledge_chief.html create mode 100644 datum/ai_planning_subtree/attack_obstacle_in_path.html create mode 100644 datum/ai_planning_subtree/bane_hunting.html create mode 100644 datum/ai_planning_subtree/basic_melee_attack_subtree.html create mode 100644 datum/ai_planning_subtree/basic_melee_attack_subtree/mega_arachnid.html create mode 100644 datum/ai_planning_subtree/call_reinforcements.html create mode 100644 datum/ai_planning_subtree/capricious_retaliate.html create mode 100644 datum/ai_planning_subtree/climb_trees.html create mode 100644 datum/ai_planning_subtree/enter_exit_home.html create mode 100644 datum/ai_planning_subtree/find_and_hunt_target.html create mode 100644 datum/ai_planning_subtree/find_and_hunt_target/injured_mooks.html create mode 100644 datum/ai_planning_subtree/find_fingers.html create mode 100644 datum/ai_planning_subtree/find_food.html create mode 100644 datum/ai_planning_subtree/flee_target.html create mode 100644 datum/ai_planning_subtree/generic_hunger.html create mode 100644 datum/ai_planning_subtree/generic_play_instrument.html create mode 100644 datum/ai_planning_subtree/generic_resist.html create mode 100644 datum/ai_planning_subtree/goliath_dig.html create mode 100644 datum/ai_planning_subtree/hive_communicate.html create mode 100644 datum/ai_planning_subtree/hoard_fingers.html create mode 100644 datum/ai_planning_subtree/issue_commands.html create mode 100644 datum/ai_planning_subtree/locate_dead_humans.html create mode 100644 datum/ai_planning_subtree/look_for_adult.html create mode 100644 datum/ai_planning_subtree/maintain_distance.html create mode 100644 datum/ai_planning_subtree/make_babies.html create mode 100644 datum/ai_planning_subtree/make_carp_rift.html create mode 100644 datum/ai_planning_subtree/minebot_mining.html create mode 100644 datum/ai_planning_subtree/monkey_combat.html create mode 100644 datum/ai_planning_subtree/move_to_cardinal.html create mode 100644 datum/ai_planning_subtree/perch_on_target.html create mode 100644 datum/ai_planning_subtree/possess_humans.html create mode 100644 datum/ai_planning_subtree/random_speech.html create mode 100644 datum/ai_planning_subtree/random_speech/legion.html create mode 100644 datum/ai_planning_subtree/ranged_skirmish.html create mode 100644 datum/ai_planning_subtree/reside_in_home.html create mode 100644 datum/ai_planning_subtree/setup_shop.html create mode 100644 datum/ai_planning_subtree/shapechange_ambush.html create mode 100644 datum/ai_planning_subtree/shortcut_to_target_through_carp_rift.html create mode 100644 datum/ai_planning_subtree/sleep_with_no_target.html create mode 100644 datum/ai_planning_subtree/spin_web.html create mode 100644 datum/ai_planning_subtree/target_retaliate.html create mode 100644 datum/ai_planning_subtree/targeted_mob_ability.html create mode 100644 datum/ai_planning_subtree/targeted_mob_ability/arachnid_restrain.html create mode 100644 datum/ai_planning_subtree/targeted_mob_ability/wizard_spell.html create mode 100644 datum/ai_planning_subtree/teleport_away_from_target.html create mode 100644 datum/ai_planning_subtree/territorial_struggle.html create mode 100644 datum/ai_planning_subtree/travel_to_point.html create mode 100644 datum/ai_planning_subtree/use_mob_ability.html create mode 100644 datum/ai_planning_subtree/use_mob_ability/mook_jump.html create mode 100644 datum/air_alarm_mode.html create mode 100644 datum/air_alarm_mode/cycle.html create mode 100644 datum/alarm_handler.html create mode 100644 datum/alarm_listener.html create mode 100644 datum/anomaly_placer.html create mode 100644 datum/anonymous_theme.html create mode 100644 datum/antagonist.html create mode 100644 datum/antagonist/abductee.html create mode 100644 datum/antagonist/abductor.html create mode 100644 datum/antagonist/battlecruiser.html create mode 100644 datum/antagonist/bitrunning_glitch.html create mode 100644 datum/antagonist/blob.html create mode 100644 datum/antagonist/blob_minion.html create mode 100644 datum/antagonist/changeling.html create mode 100644 datum/antagonist/cult.html create mode 100644 datum/antagonist/ert.html create mode 100644 datum/antagonist/heretic.html create mode 100644 datum/antagonist/heretic_monster.html create mode 100644 datum/antagonist/highlander.html create mode 100644 datum/antagonist/hypnotized.html create mode 100644 datum/antagonist/imp.html create mode 100644 datum/antagonist/malf_ai.html create mode 100644 datum/antagonist/malf_ai/infected.html create mode 100644 datum/antagonist/ninja.html create mode 100644 datum/antagonist/nukeop.html create mode 100644 datum/antagonist/nukeop/leader.html create mode 100644 datum/antagonist/paradox_clone.html create mode 100644 datum/antagonist/rev.html create mode 100644 datum/antagonist/rev/head.html create mode 100644 datum/antagonist/separatist.html create mode 100644 datum/antagonist/shade_minion.html create mode 100644 datum/antagonist/space_carp.html create mode 100644 datum/antagonist/space_dragon.html create mode 100644 datum/antagonist/spider.html create mode 100644 datum/antagonist/syndicate_monkey.html create mode 100644 datum/antagonist/traitor.html create mode 100644 datum/antagonist/wizard.html create mode 100644 datum/antagonist/wizard_minion.html create mode 100644 datum/antagonist/xeno/captive.html create mode 100644 datum/armor.html create mode 100644 datum/armour_dimensional_theme.html create mode 100644 datum/armour_dimensional_theme/dangerous/lavaland.html create mode 100644 datum/asset.html create mode 100644 datum/asset/json.html create mode 100644 datum/asset/simple.html create mode 100644 datum/asset/simple/namespaced.html create mode 100644 datum/asset/spritesheet.html create mode 100644 datum/asset/spritesheet/antagonists.html create mode 100644 datum/asset/spritesheet/crafting.html create mode 100644 datum/asset/spritesheet/decals.html create mode 100644 datum/asset_cache_item.html create mode 100644 datum/asset_transport.html create mode 100644 datum/asset_transport/webroot.html create mode 100644 datum/atom_hud.html create mode 100644 datum/autowiki.html create mode 100644 datum/auxtools_promise.html create mode 100644 datum/avatar_help_text.html create mode 100644 datum/award.html create mode 100644 datum/award/achievement.html create mode 100644 datum/bank_account.html create mode 100644 datum/barsign.html create mode 100644 datum/basketball_controller.html create mode 100644 datum/beam.html create mode 100644 datum/biological_sample.html create mode 100644 datum/biome.html create mode 100644 datum/bitfield.html create mode 100644 datum/blobstrain.html create mode 100644 datum/bodypart_overlay.html create mode 100644 datum/bodypart_overlay/mutant.html create mode 100644 datum/bodypart_overlay/mutant/antennae.html create mode 100644 datum/bodypart_overlay/mutant/pod_hair.html create mode 100644 datum/bodypart_overlay/mutant/spines.html create mode 100644 datum/bodypart_overlay/mutant/wings/functional.html create mode 100644 datum/bodypart_overlay/mutant/wings/moth.html create mode 100644 datum/bodypart_overlay/simple.html create mode 100644 datum/bodypart_overlay/simple/emote.html create mode 100644 datum/bodypart_overlay/simple/golem_overlay.html create mode 100644 datum/book_history_entry.html create mode 100644 datum/book_info.html create mode 100644 datum/bounty.html create mode 100644 datum/bounty/item.html create mode 100644 datum/bounty/item/assistant/fish.html create mode 100644 datum/bounty/item/assistant/fish/fluid.html create mode 100644 datum/bounty/item/atmospherics.html create mode 100644 datum/bounty/item/science/genetics.html create mode 100644 datum/bounty/item/security/paperwork.html create mode 100644 datum/bounty/pill.html create mode 100644 datum/brain_trauma.html create mode 100644 datum/brain_trauma/hypnosis.html create mode 100644 datum/brain_trauma/magic/lumiphobia.html create mode 100644 datum/brain_trauma/mild/phobia.html create mode 100644 datum/brain_trauma/severe/split_personality.html create mode 100644 datum/brain_trauma/severe/split_personality/blackout.html create mode 100644 datum/brain_trauma/special/beepsky.html create mode 100644 datum/brain_trauma/special/bluespace_prophet.html create mode 100644 datum/brain_trauma/special/burdened.html create mode 100644 datum/brain_trauma/special/existential_crisis.html create mode 100644 datum/brain_trauma/special/honorbound.html create mode 100644 datum/brain_trauma/special/imaginary_friend.html create mode 100644 datum/brain_trauma/special/obsessed.html create mode 100644 datum/brain_trauma/special/quantum_alignment.html create mode 100644 datum/buildmode.html create mode 100644 datum/buildmode_mode/proccall.html create mode 100644 datum/buildmode_mode/tweakcomps.html create mode 100644 datum/callback.html create mode 100644 datum/callback/verb_callback.html create mode 100644 datum/camerachunk.html create mode 100644 datum/cameranet.html create mode 100644 datum/can_pass_info.html create mode 100644 datum/card.html create mode 100644 datum/cardboard_cutout.html create mode 100644 datum/cell_tracker.html create mode 100644 datum/cellular_emporium.html create mode 100644 datum/centcom_announcer.html create mode 100644 datum/centcom_podlauncher.html create mode 100644 datum/changeling_profile.html create mode 100644 datum/chasm_detritus.html create mode 100644 datum/chasm_detritus/restricted.html create mode 100644 datum/chasm_detritus/restricted/bodies.html create mode 100644 datum/chat_payload.html create mode 100644 datum/chatmessage.html create mode 100644 datum/chemical_reaction.html create mode 100644 datum/chemical_reaction/food.html create mode 100644 datum/chemical_reaction/food/soup.html create mode 100644 datum/chemical_reaction/food/soup/custom.html create mode 100644 datum/chemical_reaction/food/soup/mysterysoup.html create mode 100644 datum/chemical_reaction/medicine/inacusiate.html create mode 100644 datum/chemical_reaction/randomized.html create mode 100644 datum/cinematic.html create mode 100644 datum/cinematic/nuke.html create mode 100644 datum/circuit_composite_template.html create mode 100644 datum/circuit_datatype.html create mode 100644 datum/circuit_datatype/composite_instance.html create mode 100644 datum/circuit_variable.html create mode 100644 datum/client_colour.html create mode 100644 datum/client_interface.html create mode 100644 datum/colorblind_tester.html create mode 100644 datum/comm_log_entry.html create mode 100644 datum/command_report_menu.html create mode 100644 datum/component.html create mode 100644 datum/component/acid.html create mode 100644 datum/component/action_item_overlay.html create mode 100644 datum/component/admin_popup.html create mode 100644 datum/component/aggro_emote.html create mode 100644 datum/component/ai_listen_to_weather.html create mode 100644 datum/component/ai_retaliate_advanced.html create mode 100644 datum/component/ai_target_timer.html create mode 100644 datum/component/anti_magic.html create mode 100644 datum/component/appearance_on_aggro.html create mode 100644 datum/component/aquarium_content.html create mode 100644 datum/component/area_based_godmode.html create mode 100644 datum/component/area_sound_manager.html create mode 100644 datum/component/atmos_reaction_recorder.html create mode 100644 datum/component/attached_sticker.html create mode 100644 datum/component/aura_healing.html create mode 100644 datum/component/automatic_fire.html create mode 100644 datum/component/avatar_connection.html create mode 100644 datum/component/bakeable.html create mode 100644 datum/component/basic_inhands.html create mode 100644 datum/component/basic_mob_ability_telegraph.html create mode 100644 datum/component/basic_mob_attack_telegraph.html create mode 100644 datum/component/basic_ranged_ready_overlay.html create mode 100644 datum/component/bitrunning_points.html create mode 100644 datum/component/blob_minion.html create mode 100644 datum/component/blood_walk.html create mode 100644 datum/component/bloodysoles.html create mode 100644 datum/component/boomerang.html create mode 100644 datum/component/boss_music.html create mode 100644 datum/component/breed.html create mode 100644 datum/component/bullet_intercepting.html create mode 100644 datum/component/bumpattack.html create mode 100644 datum/component/burning.html create mode 100644 datum/component/butchering.html create mode 100644 datum/component/butchering/mecha.html create mode 100644 datum/component/butchering/wearable.html create mode 100644 datum/component/caltrop.html create mode 100644 datum/component/chasm.html create mode 100644 datum/component/chuunibyou.html create mode 100644 datum/component/circuit_component_add_port.html create mode 100644 datum/component/cleaner.html create mode 100644 datum/component/clickbox.html create mode 100644 datum/component/clothing_fov_visor.html create mode 100644 datum/component/codeword_hearing.html create mode 100644 datum/component/combo_attacks.html create mode 100644 datum/component/combustible_flooder.html create mode 100644 datum/component/connect_containers.html create mode 100644 datum/component/connect_loc_behalf.html create mode 100644 datum/component/connect_mob_behalf.html create mode 100644 datum/component/connect_range.html create mode 100644 datum/component/construction/mecha.html create mode 100644 datum/component/container_item.html create mode 100644 datum/component/crank_recharge.html create mode 100644 datum/component/crate_carrier.html create mode 100644 datum/component/creamed.html create mode 100644 datum/component/ctf_player.html create mode 100644 datum/component/cult_ritual_item.html create mode 100644 datum/component/curse_of_hunger.html create mode 100644 datum/component/curse_of_polymorph.html create mode 100644 datum/component/customizable_reagent_holder.html create mode 100644 datum/component/damage_aura.html create mode 100644 datum/component/damage_chain.html create mode 100644 datum/component/dart_insert.html create mode 100644 datum/component/deadchat_control.html create mode 100644 datum/component/deadchat_control/cardinal_movement.html create mode 100644 datum/component/deadchat_control/immovable_rod.html create mode 100644 datum/component/death_linked.html create mode 100644 datum/component/decomposition.html create mode 100644 datum/component/dejavu.html create mode 100644 datum/component/deployable.html create mode 100644 datum/component/direct_explosive_trap.html create mode 100644 datum/component/drift.html create mode 100644 datum/component/echolocation.html create mode 100644 datum/component/edible.html create mode 100644 datum/component/effect_remover.html create mode 100644 datum/component/egg_layer.html create mode 100644 datum/component/electrified_buckle.html create mode 100644 datum/component/embedded.html create mode 100644 datum/component/energized.html create mode 100644 datum/component/engraved.html create mode 100644 datum/component/evolutionary_leap.html create mode 100644 datum/component/experiment_handler.html create mode 100644 datum/component/explodable.html create mode 100644 datum/component/explode_on_attack.html create mode 100644 datum/component/faction_granter.html create mode 100644 datum/component/fantasy.html create mode 100644 datum/component/fertile_egg.html create mode 100644 datum/component/fishing_spot.html create mode 100644 datum/component/focused_attacker.html create mode 100644 datum/component/food_storage.html create mode 100644 datum/component/fov_handler.html create mode 100644 datum/component/gas_leaker.html create mode 100644 datum/component/germ_sensitive.html create mode 100644 datum/component/ghost_direct_control.html create mode 100644 datum/component/ghost_edible.html create mode 100644 datum/component/glitch.html create mode 100644 datum/component/golem_food.html create mode 100644 datum/component/gps/item.html create mode 100644 datum/component/grillable.html create mode 100644 datum/component/ground_sinking.html create mode 100644 datum/component/growth_and_differentiation.html create mode 100644 datum/component/gunpoint.html create mode 100644 datum/component/haunted_item.html create mode 100644 datum/component/hazard_area.html create mode 100644 datum/component/healing_touch.html create mode 100644 datum/component/health_scaling_effects.html create mode 100644 datum/component/heirloom.html create mode 100644 datum/component/holderloving.html create mode 100644 datum/component/ice_cream_holder.html create mode 100644 datum/component/infective.html create mode 100644 datum/component/interaction_booby_trap.html create mode 100644 datum/component/itembound.html create mode 100644 datum/component/itempicky.html create mode 100644 datum/component/jetpack.html create mode 100644 datum/component/joint_damage.html create mode 100644 datum/component/jousting.html create mode 100644 datum/component/keep_me_secure.html create mode 100644 datum/component/knockoff.html create mode 100644 datum/component/label.html create mode 100644 datum/component/leash.html create mode 100644 datum/component/life_link.html create mode 100644 datum/component/light_eater.html create mode 100644 datum/component/ling_decoy_brain.html create mode 100644 datum/component/listen_and_repeat.html create mode 100644 datum/component/living_heart.html create mode 100644 datum/component/lock_on_cursor.html create mode 100644 datum/component/lockable_storage.html create mode 100644 datum/component/magnet.html create mode 100644 datum/component/manual_heart.html create mode 100644 datum/component/material_container.html create mode 100644 datum/component/mind_linker.html create mode 100644 datum/component/mind_linker/active_linking.html create mode 100644 datum/component/mob_chain.html create mode 100644 datum/component/mob_harvest.html create mode 100644 datum/component/multiple_lives.html create mode 100644 datum/component/mutant_hands.html create mode 100644 datum/component/netpod_healing.html create mode 100644 datum/component/npc_friendly.html create mode 100644 datum/component/nuclear_bomb_operator.html create mode 100644 datum/component/obeys_commands.html create mode 100644 datum/component/object_possession.html create mode 100644 datum/component/omen.html create mode 100644 datum/component/on_hit_effect.html create mode 100644 datum/component/onwear_mood.html create mode 100644 datum/component/orbit_poll.html create mode 100644 datum/component/overlay_lighting.html create mode 100644 datum/component/palette.html create mode 100644 datum/component/payment.html create mode 100644 datum/component/pellet_cloud.html create mode 100644 datum/component/personal_crafting.html create mode 100644 datum/component/phylactery.html create mode 100644 datum/component/pinata.html create mode 100644 datum/component/pinnable_accessory.html create mode 100644 datum/component/plumbing.html create mode 100644 datum/component/plumbing/acclimator.html create mode 100644 datum/component/plumbing/filter.html create mode 100644 datum/component/plumbing/hydroponics.html create mode 100644 datum/component/plundering_attacks.html create mode 100644 datum/component/pricetag.html create mode 100644 datum/component/projectile_parry.html create mode 100644 datum/component/puzzgrid.html create mode 100644 datum/component/radiation_countdown.html create mode 100644 datum/component/radioactive_emitter.html create mode 100644 datum/component/radioactive_exposure.html create mode 100644 datum/component/ranged_attacks.html create mode 100644 datum/component/ranged_mob_full_auto.html create mode 100644 datum/component/reagent_refiller.html create mode 100644 datum/component/recharging_attacks.html create mode 100644 datum/component/redirect_attack_hand_from_turf.html create mode 100644 datum/component/reflection.html create mode 100644 datum/component/regenerator.html create mode 100644 datum/component/religious_tool.html create mode 100644 datum/component/remote_materials.html create mode 100644 datum/component/rename.html create mode 100644 datum/component/revenge_ability.html create mode 100644 datum/component/riding.html create mode 100644 datum/component/riding/creature.html create mode 100644 datum/component/riding/creature/human.html create mode 100644 datum/component/riding/vehicle.html create mode 100644 datum/component/rot.html create mode 100644 datum/component/scope.html create mode 100644 datum/component/seclite_attachable.html create mode 100644 datum/component/sect_nullrod_bonus.html create mode 100644 datum/component/security_vision.html create mode 100644 datum/component/seethrough.html create mode 100644 datum/component/seethrough_mob.html create mode 100644 datum/component/shell.html create mode 100644 datum/component/shielded.html create mode 100644 datum/component/shovel_hands.html create mode 100644 datum/component/shuttle_cling.html create mode 100644 datum/component/shy.html create mode 100644 datum/component/shy_in_room.html create mode 100644 datum/component/sign_language.html create mode 100644 datum/component/simple_access.html create mode 100644 datum/component/simple_rotation.html create mode 100644 datum/component/singularity.html create mode 100644 datum/component/singularity/bloodthirsty.html create mode 100644 datum/component/slapcrafting.html create mode 100644 datum/component/slippery.html create mode 100644 datum/component/smooth_tunes.html create mode 100644 datum/component/soul_stealer.html create mode 100644 datum/component/sound_player.html create mode 100644 datum/component/spawner.html create mode 100644 datum/component/spin2win.html create mode 100644 datum/component/spinny.html create mode 100644 datum/component/spirit_holding.html create mode 100644 datum/component/splattercasting.html create mode 100644 datum/component/squashable.html create mode 100644 datum/component/squeak.html create mode 100644 datum/component/stationloving.html create mode 100644 datum/component/stationstuck.html create mode 100644 datum/component/storm_hating.html create mode 100644 datum/component/stove.html create mode 100644 datum/component/strong_pull.html create mode 100644 datum/component/style.html create mode 100644 datum/component/subtype_picker.html create mode 100644 datum/component/summoning.html create mode 100644 datum/component/supermatter_crystal.html create mode 100644 datum/component/surgery_initiator.html create mode 100644 datum/component/swabbing.html create mode 100644 datum/component/tackler.html create mode 100644 datum/component/takes_reagent_appearance.html create mode 100644 datum/component/tameable.html create mode 100644 datum/component/tattoo.html create mode 100644 datum/component/technointrovert.html create mode 100644 datum/component/technoshy.html create mode 100644 datum/component/temporary_body.html create mode 100644 datum/component/temporary_description.html create mode 100644 datum/component/thermite.html create mode 100644 datum/component/tippable.html create mode 100644 datum/component/toggle_attached_clothing.html create mode 100644 datum/component/toggle_icon.html create mode 100644 datum/component/torn_wall.html create mode 100644 datum/component/trader.html create mode 100644 datum/component/traitor_objective_limit_per_time.html create mode 100644 datum/component/traitor_objective_mind_tracker.html create mode 100644 datum/component/traitor_objective_register.html create mode 100644 datum/component/transforming.html create mode 100644 datum/component/trapdoor.html create mode 100644 datum/component/tree_climber.html create mode 100644 datum/component/two_handed.html create mode 100644 datum/component/udder.html create mode 100644 datum/component/unobserved_actor.html create mode 100644 datum/component/uplink.html create mode 100644 datum/component/usb_port.html create mode 100644 datum/component/vacuum.html create mode 100644 datum/component/wall_mounted.html create mode 100644 datum/component/wearertargeting/punchcooldown.html create mode 100644 datum/component/wearertargeting/sitcomlaughter.html create mode 100644 datum/component/weather_announcer.html create mode 100644 datum/component/wet_floor.html create mode 100644 datum/computer_file.html create mode 100644 datum/computer_file/data/ordnance.html create mode 100644 datum/computer_file/data/ordnance/explosive.html create mode 100644 datum/computer_file/data/ordnance/gaseous.html create mode 100644 datum/computer_file/data/text.html create mode 100644 datum/computer_file/picture.html create mode 100644 datum/computer_file/program.html create mode 100644 datum/computer_file/program/ai_restorer.html create mode 100644 datum/computer_file/program/alarm_monitor.html create mode 100644 datum/computer_file/program/arcade.html create mode 100644 datum/computer_file/program/atmosscan.html create mode 100644 datum/computer_file/program/borg_monitor.html create mode 100644 datum/computer_file/program/bounty_board.html create mode 100644 datum/computer_file/program/budgetorders.html create mode 100644 datum/computer_file/program/card_mod.html create mode 100644 datum/computer_file/program/chatclient.html create mode 100644 datum/computer_file/program/contract_uplink.html create mode 100644 datum/computer_file/program/emojipedia.html create mode 100644 datum/computer_file/program/mafia.html create mode 100644 datum/computer_file/program/maintenance.html create mode 100644 datum/computer_file/program/maintenance/camera.html create mode 100644 datum/computer_file/program/maintenance/modsuit_control.html create mode 100644 datum/computer_file/program/maintenance/phys_scanner.html create mode 100644 datum/computer_file/program/maintenance/theme.html create mode 100644 datum/computer_file/program/messenger.html create mode 100644 datum/computer_file/program/newscaster.html create mode 100644 datum/computer_file/program/nt_pay.html create mode 100644 datum/computer_file/program/ntnetdownload.html create mode 100644 datum/computer_file/program/portrait_printer.html create mode 100644 datum/computer_file/program/radar.html create mode 100644 datum/computer_file/program/radar/fission360.html create mode 100644 datum/computer_file/program/robocontrol.html create mode 100644 datum/computer_file/program/science.html create mode 100644 datum/computer_file/program/scipaper_program.html create mode 100644 datum/computer_file/program/secureye.html create mode 100644 datum/computer_file/program/shipping.html create mode 100644 datum/computer_file/program/signal_commander.html create mode 100644 datum/computer_file/program/status.html create mode 100644 datum/computer_file/program/supermatter_monitor.html create mode 100644 datum/computer_file/program/themeify.html create mode 100644 datum/config_entry.html create mode 100644 datum/config_entry/keyed_list.html create mode 100644 datum/config_entry/str_list.html create mode 100644 datum/config_entry/string.html create mode 100644 datum/contractor_hub.html create mode 100644 datum/controller/configuration.html create mode 100644 datum/controller/global_vars.html create mode 100644 datum/controller/master.html create mode 100644 datum/controller/subsystem.html create mode 100644 datum/controller/subsystem/achievements.html create mode 100644 datum/controller/subsystem/addiction.html create mode 100644 datum/controller/subsystem/ai_controllers.html create mode 100644 datum/controller/subsystem/air.html create mode 100644 datum/controller/subsystem/ambience.html create mode 100644 datum/controller/subsystem/atoms.html create mode 100644 datum/controller/subsystem/ban_cache.html create mode 100644 datum/controller/subsystem/blackmarket.html create mode 100644 datum/controller/subsystem/chat.html create mode 100644 datum/controller/subsystem/circuit_component.html create mode 100644 datum/controller/subsystem/communications.html create mode 100644 datum/controller/subsystem/dbcore.html create mode 100644 datum/controller/subsystem/discord.html create mode 100644 datum/controller/subsystem/dynamic.html create mode 100644 datum/controller/subsystem/economy.html create mode 100644 datum/controller/subsystem/eigenstates.html create mode 100644 datum/controller/subsystem/events.html create mode 100644 datum/controller/subsystem/explosions.html create mode 100644 datum/controller/subsystem/fluids.html create mode 100644 datum/controller/subsystem/icon_smooth.html create mode 100644 datum/controller/subsystem/id_access.html create mode 100644 datum/controller/subsystem/job.html create mode 100644 datum/controller/subsystem/lag_switch.html create mode 100644 datum/controller/subsystem/library.html create mode 100644 datum/controller/subsystem/lua.html create mode 100644 datum/controller/subsystem/machines.html create mode 100644 datum/controller/subsystem/mapping.html create mode 100644 datum/controller/subsystem/materials.html create mode 100644 datum/controller/subsystem/minor_mapping.html create mode 100644 datum/controller/subsystem/mobs.html create mode 100644 datum/controller/subsystem/modular_computers.html create mode 100644 datum/controller/subsystem/move_manager.html create mode 100644 datum/controller/subsystem/movement.html create mode 100644 datum/controller/subsystem/movement/ai_movement.html create mode 100644 datum/controller/subsystem/movement/cliff_falling.html create mode 100644 datum/controller/subsystem/pai.html create mode 100644 datum/controller/subsystem/parallax.html create mode 100644 datum/controller/subsystem/pathfinder.html create mode 100644 datum/controller/subsystem/persistence.html create mode 100644 datum/controller/subsystem/persistent_paintings.html create mode 100644 datum/controller/subsystem/points_of_interest.html create mode 100644 datum/controller/subsystem/processing/ai_behaviors.html create mode 100644 datum/controller/subsystem/processing/dcs.html create mode 100644 datum/controller/subsystem/processing/instruments.html create mode 100644 datum/controller/subsystem/processing/quirks.html create mode 100644 datum/controller/subsystem/processing/reagents.html create mode 100644 datum/controller/subsystem/processing/station.html create mode 100644 datum/controller/subsystem/processing/supermatter_cascade.html create mode 100644 datum/controller/subsystem/processing/transport.html create mode 100644 datum/controller/subsystem/queuelinks.html create mode 100644 datum/controller/subsystem/radiation.html create mode 100644 datum/controller/subsystem/radioactive_nebula.html create mode 100644 datum/controller/subsystem/research.html create mode 100644 datum/controller/subsystem/restaurant.html create mode 100644 datum/controller/subsystem/security_level.html create mode 100644 datum/controller/subsystem/server_maint.html create mode 100644 datum/controller/subsystem/shuttle.html create mode 100644 datum/controller/subsystem/skills.html create mode 100644 datum/controller/subsystem/sounds.html create mode 100644 datum/controller/subsystem/spatial_grid.html create mode 100644 datum/controller/subsystem/statpanels.html create mode 100644 datum/controller/subsystem/stock_market.html create mode 100644 datum/controller/subsystem/sun.html create mode 100644 datum/controller/subsystem/tgui.html create mode 100644 datum/controller/subsystem/ticker.html create mode 100644 datum/controller/subsystem/timer.html create mode 100644 datum/controller/subsystem/trading_card_game.html create mode 100644 datum/controller/subsystem/traitor.html create mode 100644 datum/controller/subsystem/tts.html create mode 100644 datum/controller/subsystem/tutorials.html create mode 100644 datum/controller/subsystem/verb_manager.html create mode 100644 datum/controller/subsystem/verb_manager/input.html create mode 100644 datum/controller/subsystem/vote.html create mode 100644 datum/controller/subsystem/wardrobe.html create mode 100644 datum/controller/subsystem/weather.html create mode 100644 datum/controller/subsystem/wiremod_composite.html create mode 100644 datum/crafting_recipe.html create mode 100644 datum/crafting_recipe/food/reaction.html create mode 100644 datum/crafting_recipe/food/reaction/soup.html create mode 100644 datum/crewmonitor.html create mode 100644 datum/crime.html create mode 100644 datum/crime/citation.html create mode 100644 datum/crystal_warp_theme.html create mode 100644 datum/ctf_controller.html create mode 100644 datum/ctf_team.html create mode 100644 datum/ctf_voting_controller.html create mode 100644 datum/custom_order.html create mode 100644 datum/custom_order/icecream.html create mode 100644 datum/custom_order/moth_clothing.html create mode 100644 datum/custom_order/reagent.html create mode 100644 datum/custom_order/reagent/soup.html create mode 100644 datum/customer_data.html create mode 100644 datum/customer_data/moth.html create mode 100644 datum/data.html create mode 100644 datum/data/compressor_record.html create mode 100644 datum/data/tachyon_record.html create mode 100644 datum/data/vending_product.html create mode 100644 datum/data_rc_msg.html create mode 100644 datum/data_tablet_msg.html create mode 100644 datum/db_query.html create mode 100644 datum/deck_card.html create mode 100644 datum/decompose_matrix.html create mode 100644 datum/demoralise_moods.html create mode 100644 datum/design.html create mode 100644 datum/dimension_theme.html create mode 100644 datum/discord_embed.html create mode 100644 datum/discord_link_record.html create mode 100644 datum/disease.html create mode 100644 datum/disease/advance.html create mode 100644 datum/disease/advance/carpellosis.html create mode 100644 datum/disease/advance/gastritium.html create mode 100644 datum/disease/advance/random/event.html create mode 100644 datum/disease/parrot_possession.html create mode 100644 datum/disease/wizarditis.html create mode 100644 datum/dna.html create mode 100644 datum/dog_fashion.html create mode 100644 datum/dream.html create mode 100644 datum/ductnet.html create mode 100644 datum/duel.html create mode 100644 datum/dynamic_ruleset.html create mode 100644 datum/dynamic_ruleset/latejoin/provocateur.html create mode 100644 datum/dynamic_ruleset/midround.html create mode 100644 datum/dynamic_ruleset/midround/from_ghosts.html create mode 100644 datum/dynamic_ruleset/midround/from_ghosts/paradox_clone.html create mode 100644 datum/dynamic_ruleset/roundstart.html create mode 100644 datum/dynamic_ruleset/roundstart/revs.html create mode 100644 datum/dynamic_snapshot.html create mode 100644 datum/dynamic_snapshot_ruleset.html create mode 100644 datum/effect_system/fluid_spread.html create mode 100644 datum/effect_system/fluid_spread/foam.html create mode 100644 datum/effect_system/fluid_spread/smoke/chem.html create mode 100644 datum/effect_system/fluid_spread/smoke/freezing.html create mode 100644 datum/effect_system/reagents_explosion.html create mode 100644 datum/element.html create mode 100644 datum/element/ai_control_examine.html create mode 100644 datum/element/ai_flee_while_injured.html create mode 100644 datum/element/ai_held_item.html create mode 100644 datum/element/ai_retaliate.html create mode 100644 datum/element/ai_swap_combat_mode.html create mode 100644 datum/element/ai_target_damagesource.html create mode 100644 datum/element/amputating_limbs.html create mode 100644 datum/element/atmos_requirements.html create mode 100644 datum/element/attack_equip.html create mode 100644 datum/element/backblast.html create mode 100644 datum/element/bane.html create mode 100644 datum/element/basic_body_temp_sensitive.html create mode 100644 datum/element/basic_eating.html create mode 100644 datum/element/beauty.html create mode 100644 datum/element/bed_tuckable.html create mode 100644 datum/element/befriend_petting.html create mode 100644 datum/element/blocks_explosives.html create mode 100644 datum/element/bombable_turf.html create mode 100644 datum/element/bonus_damage.html create mode 100644 datum/element/bump_click.html create mode 100644 datum/element/can_barricade.html create mode 100644 datum/element/change_force_on_death.html create mode 100644 datum/element/chemical_transfer.html create mode 100644 datum/element/chewable.html create mode 100644 datum/element/cliff_walking.html create mode 100644 datum/element/climbable.html create mode 100644 datum/element/connect_loc.html create mode 100644 datum/element/consumable_mob.html create mode 100644 datum/element/content_barfer.html create mode 100644 datum/element/contextual_screentip_bare_hands.html create mode 100644 datum/element/contextual_screentip_item_typechecks.html create mode 100644 datum/element/contextual_screentip_mob_typechecks.html create mode 100644 datum/element/contextual_screentip_sharpness.html create mode 100644 datum/element/contextual_screentip_tools.html create mode 100644 datum/element/crackable.html create mode 100644 datum/element/crusher_loot.html create mode 100644 datum/element/cuffsnapping.html create mode 100644 datum/element/cult_eyes.html create mode 100644 datum/element/cult_halo.html create mode 100644 datum/element/curse_announcement.html create mode 100644 datum/element/damage_threshold.html create mode 100644 datum/element/dangerous_surgical_removal.html create mode 100644 datum/element/death_drops.html create mode 100644 datum/element/death_explosion.html create mode 100644 datum/element/death_gases.html create mode 100644 datum/element/decal.html create mode 100644 datum/element/deliver_first.html create mode 100644 datum/element/dextrous.html create mode 100644 datum/element/diggable.html create mode 100644 datum/element/door_pryer.html create mode 100644 datum/element/drag_pickup.html create mode 100644 datum/element/dryable.html create mode 100644 datum/element/effect_trail.html create mode 100644 datum/element/elevation.html create mode 100644 datum/element/elevation_core.html create mode 100644 datum/element/embed.html create mode 100644 datum/element/envenomable_casing.html create mode 100644 datum/element/eyestab.html create mode 100644 datum/element/falling_hazard.html create mode 100644 datum/element/firestacker.html create mode 100644 datum/element/floor_loving.html create mode 100644 datum/element/food_trash.html create mode 100644 datum/element/footstep.html create mode 100644 datum/element/footstep_override.html create mode 100644 datum/element/forced_gravity.html create mode 100644 datum/element/fried_item.html create mode 100644 datum/element/frozen.html create mode 100644 datum/element/give_turf_traits.html create mode 100644 datum/element/hat_wearer.html create mode 100644 datum/element/heretic_focus.html create mode 100644 datum/element/high_fiver.html create mode 100644 datum/element/immerse.html create mode 100644 datum/element/item_fov.html create mode 100644 datum/element/item_scaling.html create mode 100644 datum/element/kneecapping.html create mode 100644 datum/element/knockback.html create mode 100644 datum/element/lifesteal.html create mode 100644 datum/element/light_blocking.html create mode 100644 datum/element/light_eaten.html create mode 100644 datum/element/light_eater.html create mode 100644 datum/element/loomable.html create mode 100644 datum/element/microwavable.html create mode 100644 datum/element/mob_grabber.html create mode 100644 datum/element/mob_killed_tally.html create mode 100644 datum/element/movement_turf_changer.html create mode 100644 datum/element/movetype_handler.html create mode 100644 datum/element/nerfed_pulling.html create mode 100644 datum/element/noticable_organ.html create mode 100644 datum/element/obj_regen.html create mode 100644 datum/element/organ_set_bonus.html create mode 100644 datum/element/pet_bonus.html create mode 100644 datum/element/plant_backfire.html create mode 100644 datum/element/prevent_attacking_of_types.html create mode 100644 datum/element/processable.html create mode 100644 datum/element/projectile_shield.html create mode 100644 datum/element/radioactive.html create mode 100644 datum/element/ranged_armour.html create mode 100644 datum/element/relay_attackers.html create mode 100644 datum/element/ridable.html create mode 100644 datum/element/rust.html create mode 100644 datum/element/series.html create mode 100644 datum/element/shatters_when_thrown.html create mode 100644 datum/element/sideway_movement.html create mode 100644 datum/element/simple_flying.html create mode 100644 datum/element/skill_reward.html create mode 100644 datum/element/soft_landing.html create mode 100644 datum/element/squish.html create mode 100644 datum/element/sticker.html create mode 100644 datum/element/strippable.html create mode 100644 datum/element/structure_repair.html create mode 100644 datum/element/swabable.html create mode 100644 datum/element/tenacious.html create mode 100644 datum/element/tiny_mob_hunter.html create mode 100644 datum/element/tool_flash.html create mode 100644 datum/element/turf_z_transparency.html create mode 100644 datum/element/undertile.html create mode 100644 datum/element/unfriend_attacker.html create mode 100644 datum/element/update_icon_updates_onmob.html create mode 100644 datum/element/uplink_reimburse.html create mode 100644 datum/element/venomous.html create mode 100644 datum/element/volatile_gas_storage.html create mode 100644 datum/element/wall_engraver.html create mode 100644 datum/element/wall_smasher.html create mode 100644 datum/element/wall_tearer.html create mode 100644 datum/element/wall_walker.html create mode 100644 datum/element/weapon_description.html create mode 100644 datum/element/web_walker.html create mode 100644 datum/emote.html create mode 100644 datum/emote/living/yawn.html create mode 100644 datum/emote/slime/mood.html create mode 100644 datum/equilibrium.html create mode 100644 datum/ert.html create mode 100644 datum/escape_menu.html create mode 100644 datum/event_admin_setup.html create mode 100644 datum/event_admin_setup/anomaly_ectoplasm.html create mode 100644 datum/event_admin_setup/carp_migration.html create mode 100644 datum/event_admin_setup/input_number.html create mode 100644 datum/event_admin_setup/listed_options.html create mode 100644 datum/event_admin_setup/listed_options/disease_outbreak_advanced/severity.html create mode 100644 datum/event_admin_setup/mass_hallucination.html create mode 100644 datum/event_admin_setup/minimum_candidate_requirement.html create mode 100644 datum/event_admin_setup/multiple_choice.html create mode 100644 datum/event_admin_setup/question.html create mode 100644 datum/event_admin_setup/set_location.html create mode 100644 datum/event_admin_setup/syndicate_cargo_pod.html create mode 100644 datum/event_admin_setup/text_input.html create mode 100644 datum/event_admin_setup/warn_admin.html create mode 100644 datum/events.html create mode 100644 datum/excited_group.html create mode 100644 datum/exoscan.html create mode 100644 datum/experiment.html create mode 100644 datum/experiment/exploration_scan/random.html create mode 100644 datum/experiment/ordnance.html create mode 100644 datum/experiment/ordnance/explosive.html create mode 100644 datum/experiment/ordnance/gaseous.html create mode 100644 datum/experiment/physical.html create mode 100644 datum/experiment/scanning.html create mode 100644 datum/experiment/scanning/fish.html create mode 100644 datum/experiment/scanning/fish/holographic.html create mode 100644 datum/experiment/scanning/people.html create mode 100644 datum/experiment/scanning/people/novel_organs.html create mode 100644 datum/experiment/scanning/points.html create mode 100644 datum/experiment/scanning/points/machinery_pinpoint_scan.html create mode 100644 datum/experiment/scanning/points/machinery_tiered_scan.html create mode 100644 datum/experiment/scanning/random.html create mode 100644 datum/experiment/scanning/random/material.html create mode 100644 datum/experiment/scanning/random/mecha_damage_scan.html create mode 100644 datum/experiment/scanning/random/plants.html create mode 100644 datum/exploration_event.html create mode 100644 datum/exploration_event/simple.html create mode 100644 datum/exploration_event/simple/resource.html create mode 100644 datum/exploration_event/simple/trader.html create mode 100644 datum/exploration_site.html create mode 100644 datum/export.html create mode 100644 datum/export/food.html create mode 100644 datum/export/large/gas_canister.html create mode 100644 datum/export/photocopy.html create mode 100644 datum/export/pirate.html create mode 100644 datum/export_report.html create mode 100644 datum/fantasy_affix.html create mode 100644 datum/fax_panel_interface.html create mode 100644 datum/feed_channel.html create mode 100644 datum/feed_comment.html create mode 100644 datum/feed_message.html create mode 100644 datum/feed_network.html create mode 100644 datum/fish_evolution.html create mode 100644 datum/fish_source.html create mode 100644 datum/fish_source/portal.html create mode 100644 datum/fish_source/portal/random.html create mode 100644 datum/fish_trait.html create mode 100644 datum/fishing_challenge.html create mode 100644 datum/fluid_group.html create mode 100644 datum/font.html create mode 100644 datum/food_processor_process.html create mode 100644 datum/foreign_calendar.html create mode 100644 datum/forensics.html create mode 100644 datum/gas.html create mode 100644 datum/gas_machine_connector.html create mode 100644 datum/gas_mixture.html create mode 100644 datum/gas_mixture/turf.html create mode 100644 datum/gas_reaction.html create mode 100644 datum/gas_reaction/bzformation.html create mode 100644 datum/gas_reaction/freonfire.html create mode 100644 datum/gas_reaction/freonformation.html create mode 100644 datum/gas_reaction/h2fire.html create mode 100644 datum/gas_reaction/halon_o2removal.html create mode 100644 datum/gas_reaction/healium_formation.html create mode 100644 datum/gas_reaction/miaster.html create mode 100644 datum/gas_reaction/nitrium_decomposition.html create mode 100644 datum/gas_reaction/nitrium_formation.html create mode 100644 datum/gas_reaction/nitrous_decomp.html create mode 100644 datum/gas_reaction/nitrousformation.html create mode 100644 datum/gas_reaction/nobliumformation.html create mode 100644 datum/gas_reaction/plasmafire.html create mode 100644 datum/gas_reaction/pluox_formation.html create mode 100644 datum/gas_reaction/proto_nitrate_bz_response.html create mode 100644 datum/gas_reaction/proto_nitrate_formation.html create mode 100644 datum/gas_reaction/proto_nitrate_hydrogen_response.html create mode 100644 datum/gas_reaction/proto_nitrate_tritium_response.html create mode 100644 datum/gas_reaction/tritfire.html create mode 100644 datum/gas_reaction/water_vapor.html create mode 100644 datum/gas_reaction/zauker_decomp.html create mode 100644 datum/gas_reaction/zauker_formation.html create mode 100644 datum/gas_recipe.html create mode 100644 datum/gateway_destination.html create mode 100644 datum/gateway_destination/gateway.html create mode 100644 datum/gateway_destination/point.html create mode 100644 datum/glass_style.html create mode 100644 datum/glass_style/has_foodtype.html create mode 100644 datum/global_funny_embedding.html create mode 100644 datum/golem_food_buff.html create mode 100644 datum/golem_food_buff/iron.html create mode 100644 datum/grand_finale.html create mode 100644 datum/grand_finale/armageddon.html create mode 100644 datum/grand_finale/clown.html create mode 100644 datum/grand_finale/immortality.html create mode 100644 datum/grand_finale/usurp.html create mode 100644 datum/grand_side_effect.html create mode 100644 datum/grand_side_effect/create_anomalies.html create mode 100644 datum/grand_side_effect/spawn_delayed_mobs.html create mode 100644 datum/grand_side_effect/spell.html create mode 100644 datum/grand_side_effect/summon_crewmate.html create mode 100644 datum/grand_side_effect/translocate.html create mode 100644 datum/greyscale_config.html create mode 100644 datum/greyscale_layer.html create mode 100644 datum/greyscale_modify_menu.html create mode 100644 datum/guardian_fluff.html create mode 100644 datum/gutlunch_inherited_stats.html create mode 100644 datum/hallucination.html create mode 100644 datum/hallucination/battle/bomb.html create mode 100644 datum/hallucination/battle/e_sword.html create mode 100644 datum/hallucination/battle/gun.html create mode 100644 datum/hallucination/battle/harm_baton.html create mode 100644 datum/hallucination/battle/stun_prod.html create mode 100644 datum/hallucination/body.html create mode 100644 datum/hallucination/body/staticguy.html create mode 100644 datum/hallucination/bolts.html create mode 100644 datum/hallucination/chat.html create mode 100644 datum/hallucination/death.html create mode 100644 datum/hallucination/death/dust.html create mode 100644 datum/hallucination/delusion.html create mode 100644 datum/hallucination/fake_alert.html create mode 100644 datum/hallucination/fake_health_doll.html create mode 100644 datum/hallucination/fake_item.html create mode 100644 datum/hallucination/fake_sound.html create mode 100644 datum/hallucination/fake_sound/normal/mech.html create mode 100644 datum/hallucination/fake_sound/weird.html create mode 100644 datum/hallucination/fire.html create mode 100644 datum/hallucination/hazard.html create mode 100644 datum/hallucination/ice.html create mode 100644 datum/hallucination/nearby_fake_item.html create mode 100644 datum/hallucination/oh_yeah.html create mode 100644 datum/hallucination/screwy_hud.html create mode 100644 datum/hallucination/station_message/heretic.html create mode 100644 datum/hallucination/xeno_attack.html create mode 100644 datum/heretic_knowledge.html create mode 100644 datum/heretic_knowledge/blade_dance.html create mode 100644 datum/heretic_knowledge/blade_upgrade.html create mode 100644 datum/heretic_knowledge/blade_upgrade/blade.html create mode 100644 datum/heretic_knowledge/blade_upgrade/cosmic.html create mode 100644 datum/heretic_knowledge/blade_upgrade/flesh.html create mode 100644 datum/heretic_knowledge/cosmic_grasp.html create mode 100644 datum/heretic_knowledge/curse.html create mode 100644 datum/heretic_knowledge/duel_stance.html create mode 100644 datum/heretic_knowledge/hunt_and_sacrifice.html create mode 100644 datum/heretic_knowledge/knowledge_ritual.html create mode 100644 datum/heretic_knowledge/limited_amount.html create mode 100644 datum/heretic_knowledge/limited_amount/flesh_ghoul.html create mode 100644 datum/heretic_knowledge/limited_amount/flesh_grasp.html create mode 100644 datum/heretic_knowledge/limited_amount/risen_corpse.html create mode 100644 datum/heretic_knowledge/limited_amount/starting.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_ash.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_blade.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_cosmic.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_flesh.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_knock.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_rust.html create mode 100644 datum/heretic_knowledge/limited_amount/starting/base_void.html create mode 100644 datum/heretic_knowledge/living_heart.html create mode 100644 datum/heretic_knowledge/mark.html create mode 100644 datum/heretic_knowledge/rifle_ammo.html create mode 100644 datum/heretic_knowledge/rust_regen.html create mode 100644 datum/heretic_knowledge/spell.html create mode 100644 datum/heretic_knowledge/summon.html create mode 100644 datum/heretic_knowledge/ultimate.html create mode 100644 datum/heretic_knowledge/ultimate/ash_final.html create mode 100644 datum/heretic_knowledge/ultimate/cosmic_final.html create mode 100644 datum/heretic_knowledge/ultimate/rust_final.html create mode 100644 datum/heretic_knowledge/ultimate/void_final.html create mode 100644 datum/hfr_fuel.html create mode 100644 datum/highlander_controller.html create mode 100644 datum/holiday.html create mode 100644 datum/holiday/nth_week.html create mode 100644 datum/holocall.html create mode 100644 datum/hook_and_move.html create mode 100644 datum/http_request.html create mode 100644 datum/hud.html create mode 100644 datum/hud/new_player.html create mode 100644 datum/hud/ooze.html create mode 100644 datum/human_appearance_profile.html create mode 100644 datum/ice_cream_flavour.html create mode 100644 datum/id_trim.html create mode 100644 datum/id_trim/job.html create mode 100644 datum/id_trim/job/captain.html create mode 100644 datum/id_trim/job/security_officer.html create mode 100644 datum/idle_behavior/idle_dog.html create mode 100644 datum/idle_behavior/idle_ghost_item.html create mode 100644 datum/idle_behavior/idle_monkey.html create mode 100644 datum/idle_behavior/idle_random_walk.html create mode 100644 datum/idle_behavior/idle_random_walk/no_target.html create mode 100644 datum/idle_behavior/idle_random_walk/not_while_on_target.html create mode 100644 datum/idle_behavior/idle_random_walk/parrot.html create mode 100644 datum/idle_behavior/walk_near_target.html create mode 100644 datum/infuser_entry.html create mode 100644 datum/instrument.html create mode 100644 datum/instrument_key.html create mode 100644 datum/interview.html create mode 100644 datum/interview_manager.html create mode 100644 datum/job.html create mode 100644 datum/job/security_officer.html create mode 100644 datum/job/servant_golem.html create mode 100644 datum/job_config_type.html create mode 100644 datum/job_department.html create mode 100644 datum/jps_node.html create mode 100644 datum/json_reader.html create mode 100644 datum/json_savefile.html create mode 100644 datum/keybinding/human/quick_equip_belt.html create mode 100644 datum/known_alts.html create mode 100644 datum/language_holder.html create mode 100644 datum/latejoin_menu.html create mode 100644 datum/lazy_template.html create mode 100644 datum/lazy_template/virtual_domain.html create mode 100644 datum/lazy_template/virtual_domain/beach_bar.html create mode 100644 datum/lazy_template/virtual_domain/breeze_bay.html create mode 100644 datum/light_source.html create mode 100644 datum/light_template.html create mode 100644 datum/light_template/read_light.html create mode 100644 datum/lighting_corner.html create mode 100644 datum/lighting_object.html create mode 100644 datum/log_category.html create mode 100644 datum/log_entry.html create mode 100644 datum/log_holder.html create mode 100644 datum/looping_sound.html create mode 100644 datum/lua_editor.html create mode 100644 datum/lua_state.html create mode 100644 datum/mafia_ability.html create mode 100644 datum/mafia_ability/attack_player.html create mode 100644 datum/mafia_ability/attack_visitors.html create mode 100644 datum/mafia_ability/changeling_kill.html create mode 100644 datum/mafia_ability/flicker_rampage.html create mode 100644 datum/mafia_ability/heal.html create mode 100644 datum/mafia_ability/investigate.html create mode 100644 datum/mafia_ability/reaveal_role.html create mode 100644 datum/mafia_ability/roleblock.html create mode 100644 datum/mafia_ability/seance.html create mode 100644 datum/mafia_ability/self_reveal.html create mode 100644 datum/mafia_ability/thoughtfeeder.html create mode 100644 datum/mafia_ability/vest.html create mode 100644 datum/mafia_ability/voting.html create mode 100644 datum/mafia_controller.html create mode 100644 datum/mafia_role.html create mode 100644 datum/mafia_role/obsessed.html create mode 100644 datum/manifest.html create mode 100644 datum/map_config.html create mode 100644 datum/map_generator.html create mode 100644 datum/map_generator/cave_generator.html create mode 100644 datum/map_generator/cave_generator/icemoon.html create mode 100644 datum/map_generator/cave_generator/lavaland.html create mode 100644 datum/map_generator/jungle_generator.html create mode 100644 datum/map_report.html create mode 100644 datum/map_template.html create mode 100644 datum/map_template/basketball.html create mode 100644 datum/map_template/ctf.html create mode 100644 datum/map_template/holodeck.html create mode 100644 datum/map_template/mafia.html create mode 100644 datum/map_template/shuttle.html create mode 100644 datum/map_template/shuttle/emergency.html create mode 100644 datum/map_template/shuttle/emergency/arena.html create mode 100644 datum/map_template/shuttle/emergency/narnar.html create mode 100644 datum/market.html create mode 100644 datum/market_item.html create mode 100644 datum/market_purchase.html create mode 100644 datum/martial_art.html create mode 100644 datum/martial_art/cqc.html create mode 100644 datum/martial_art/cqc/under_siege.html create mode 100644 datum/martial_art/the_sleeping_carp.html create mode 100644 datum/material.html create mode 100644 datum/material/alloy.html create mode 100644 datum/material/alloy/alien.html create mode 100644 datum/material/alloy/plasmaglass.html create mode 100644 datum/material/alloy/plasteel.html create mode 100644 datum/material/alloy/plastitanium.html create mode 100644 datum/material/alloy/plastitaniumglass.html create mode 100644 datum/material/alloy/titaniumglass.html create mode 100644 datum/medical_note.html create mode 100644 datum/memory.html create mode 100644 datum/memory/bomb_defuse_success.html create mode 100644 datum/memory/dna_infusion.html create mode 100644 datum/memory/good_drink.html create mode 100644 datum/memory/good_food.html create mode 100644 datum/memory/high_five.html create mode 100644 datum/memory/key.html create mode 100644 datum/memory/playing_cards.html create mode 100644 datum/memory/received_medal.html create mode 100644 datum/memory/surgery.html create mode 100644 datum/memory/was_dismembered.html create mode 100644 datum/memory/witnessed_russian_roulette.html create mode 100644 datum/merger.html create mode 100644 datum/micro_organism.html create mode 100644 datum/micro_organism/cell_line.html create mode 100644 datum/mind.html create mode 100644 datum/mod_link.html create mode 100644 datum/mod_link_call.html create mode 100644 datum/mod_theme.html create mode 100644 datum/modular_mob_segment.html create mode 100644 datum/mood.html create mode 100644 datum/mood_event.html create mode 100644 datum/mood_event/area.html create mode 100644 datum/mood_event/drunk.html create mode 100644 datum/move_loop.html create mode 100644 datum/move_loop/has_target.html create mode 100644 datum/move_loop/has_target/dist_bound.html create mode 100644 datum/move_loop/has_target/jps.html create mode 100644 datum/move_loop/has_target/move_towards.html create mode 100644 datum/movement_detector.html create mode 100644 datum/movement_packet.html create mode 100644 datum/movespeed_modifier.html create mode 100644 datum/mutation/human.html create mode 100644 datum/mutation/human/acidflesh.html create mode 100644 datum/mutation/human/chameleon.html create mode 100644 datum/mutation/human/extrastun.html create mode 100644 datum/mutation/human/glow.html create mode 100644 datum/mutation/human/hulk.html create mode 100644 datum/mutation/human/hulk/wizardly.html create mode 100644 datum/mutation/human/laser_eyes.html create mode 100644 datum/mutation/human/radioactive.html create mode 100644 datum/mutation/human/telekinesis.html create mode 100644 datum/newspanel.html create mode 100644 datum/nobody_wants_to_learn_matrix_math.html create mode 100644 datum/ntnet_conversation.html create mode 100644 datum/object_window_info.html create mode 100644 datum/objective.html create mode 100644 datum/objective/door_jack.html create mode 100644 datum/objective/heretic_research.html create mode 100644 datum/objective/heretic_summon.html create mode 100644 datum/objective/hijack.html create mode 100644 datum/objective/mutiny.html create mode 100644 datum/objective/sacrifice.html create mode 100644 datum/objective_item.html create mode 100644 datum/objective_item_handler.html create mode 100644 datum/objective_target_machine_handler.html create mode 100644 datum/orbit_menu.html create mode 100644 datum/orderable_item.html create mode 100644 datum/orion_event.html create mode 100644 datum/outfit.html create mode 100644 datum/outfit/basketball.html create mode 100644 datum/outfit/consumed_clown.html create mode 100644 datum/outfit/ctf.html create mode 100644 datum/outfit/syndicate.html create mode 100644 datum/overlay_info.html create mode 100644 datum/pai_candidate.html create mode 100644 datum/painting.html create mode 100644 datum/paper_field.html create mode 100644 datum/paper_input.html create mode 100644 datum/paper_stamp.html create mode 100644 datum/parsed_map.html create mode 100644 datum/particle_editor.html create mode 100644 datum/path_map.html create mode 100644 datum/pathfind.html create mode 100644 datum/pathfind/jps.html create mode 100644 datum/pathfind/sssp.html create mode 100644 datum/pda_chat.html create mode 100644 datum/pda_message.html create mode 100644 datum/pet_command.html create mode 100644 datum/pet_command/follow.html create mode 100644 datum/pet_command/follow/bee.html create mode 100644 datum/pet_command/minebot_ability.html create mode 100644 datum/pet_command/point_targeting.html create mode 100644 datum/pet_command/point_targeting/attack.html create mode 100644 datum/pet_command/point_targeting/attack/swirl.html create mode 100644 datum/pet_command/point_targeting/fetch.html create mode 100644 datum/pet_command/point_targeting/use_ability.html create mode 100644 datum/pet_command/protect_owner.html create mode 100644 datum/pet_command/untargeted_ability.html create mode 100644 datum/physiology.html create mode 100644 datum/picture.html create mode 100644 datum/pipe_icon_generator.html create mode 100644 datum/pipeline.html create mode 100644 datum/pirate_gang.html create mode 100644 datum/plane_master_debug.html create mode 100644 datum/plane_master_group.html create mode 100644 datum/plane_master_group/hudless.html create mode 100644 datum/plant_gene.html create mode 100644 datum/plant_gene/reagent.html create mode 100644 datum/plant_gene/trait.html create mode 100644 datum/plant_gene/trait/anti_magic.html create mode 100644 datum/plant_gene/trait/attack.html create mode 100644 datum/plant_gene/trait/backfire.html create mode 100644 datum/plant_gene/trait/backfire/chili_heat.html create mode 100644 datum/plant_gene/trait/battery.html create mode 100644 datum/plant_gene/trait/brewing.html create mode 100644 datum/plant_gene/trait/eyes.html create mode 100644 datum/plant_gene/trait/gas_production.html create mode 100644 datum/plant_gene/trait/glow.html create mode 100644 datum/plant_gene/trait/juicing.html create mode 100644 datum/plant_gene/trait/maxchem.html create mode 100644 datum/plant_gene/trait/mob_transformation.html create mode 100644 datum/plant_gene/trait/modified_volume.html create mode 100644 datum/plant_gene/trait/plant_laughter.html create mode 100644 datum/plant_gene/trait/repeated_harvest.html create mode 100644 datum/plant_gene/trait/slip.html create mode 100644 datum/player_details.html create mode 100644 datum/point.html create mode 100644 datum/point/vector.html create mode 100644 datum/point_of_interest.html create mode 100644 datum/point_of_interest/mob_poi.html create mode 100644 datum/poll_option.html create mode 100644 datum/poll_question.html create mode 100644 datum/port.html create mode 100644 datum/port/input.html create mode 100644 datum/port/output.html create mode 100644 datum/portrait_picker.html create mode 100644 datum/powernet.html create mode 100644 datum/preference.html create mode 100644 datum/preference/choiced.html create mode 100644 datum/preference/name.html create mode 100644 datum/preference/numeric.html create mode 100644 datum/preference/text.html create mode 100644 datum/preference/toggle.html create mode 100644 datum/preference_middleware.html create mode 100644 datum/preference_middleware/tts.html create mode 100644 datum/preferences.html create mode 100644 datum/prisoner_crime.html create mode 100644 datum/progressbar.html create mode 100644 datum/proximity_monitor.html create mode 100644 datum/proximity_monitor/advanced.html create mode 100644 datum/proximity_monitor/advanced/demoraliser.html create mode 100644 datum/proximity_monitor/advanced/elevator_music_area.html create mode 100644 datum/proximity_monitor/advanced/gravity/warns_on_entrance.html create mode 100644 datum/proximity_monitor/advanced/quirk_posters.html create mode 100644 datum/proximity_monitor/advanced/timestop.html create mode 100644 datum/puzzgrid.html create mode 100644 datum/queue_link.html create mode 100644 datum/quirk.html create mode 100644 datum/quirk/all_nighter.html create mode 100644 datum/quirk/bad_touch.html create mode 100644 datum/quirk/badback.html create mode 100644 datum/quirk/blooddeficiency.html create mode 100644 datum/quirk/claustrophobia.html create mode 100644 datum/quirk/gamer.html create mode 100644 datum/quirk/heterochromatic.html create mode 100644 datum/quirk/indebted.html create mode 100644 datum/quirk/insanity.html create mode 100644 datum/quirk/item_quirk.html create mode 100644 datum/quirk/item_quirk/bald.html create mode 100644 datum/quirk/item_quirk/family_heirloom.html create mode 100644 datum/quirk/item_quirk/food_allergic.html create mode 100644 datum/quirk/item_quirk/junkie/alcoholic.html create mode 100644 datum/quirk/nyctophobia.html create mode 100644 datum/quirk/prosthetic_limb.html create mode 100644 datum/quirk/prosthetic_organ.html create mode 100644 datum/quirk/spacer_born.html create mode 100644 datum/quirk_constant_data.html create mode 100644 datum/radial_menu.html create mode 100644 datum/radial_menu/persistent.html create mode 100644 datum/radial_menu_choice.html create mode 100644 datum/radio_frequency.html create mode 100644 datum/reagent.html create mode 100644 datum/reagent/ants.html create mode 100644 datum/reagent/blob.html create mode 100644 datum/reagent/catalyst_agent.html create mode 100644 datum/reagent/colorful_reagent.html create mode 100644 datum/reagent/consumable.html create mode 100644 datum/reagent/consumable/ethanol.html create mode 100644 datum/reagent/consumable/ethanol/demonsblood.html create mode 100644 datum/reagent/consumable/ethanol/devilskiss.html create mode 100644 datum/reagent/consumable/frostoil.html create mode 100644 datum/reagent/consumable/nutriment/cloth_fibers.html create mode 100644 datum/reagent/consumable/rootbeer.html create mode 100644 datum/reagent/determination.html create mode 100644 datum/reagent/drug/blastoff.html create mode 100644 datum/reagent/drug/saturnx.html create mode 100644 datum/reagent/eigenstate.html create mode 100644 datum/reagent/impurity/aiuri.html create mode 100644 datum/reagent/impurity/inacusiate.html create mode 100644 datum/reagent/impurity/mannitol.html create mode 100644 datum/reagent/inverse.html create mode 100644 datum/reagent/inverse/corazargh.html create mode 100644 datum/reagent/inverse/cryostylane.html create mode 100644 datum/reagent/inverse/healing/syriniver.html create mode 100644 datum/reagent/inverse/ichiyuri.html create mode 100644 datum/reagent/inverse/oculine.html create mode 100644 datum/reagent/inverse/penthrite.html create mode 100644 datum/reagent/lube.html create mode 100644 datum/reagent/medicine/adminordrazine.html create mode 100644 datum/reagent/medicine/antihol.html create mode 100644 datum/reagent/medicine/c2/penthrite.html create mode 100644 datum/reagent/medicine/c2/seiver.html create mode 100644 datum/reagent/medicine/c2/tirimol.html create mode 100644 datum/reagent/medicine/coagulant.html create mode 100644 datum/reagent/medicine/earthsblood.html create mode 100644 datum/reagent/medicine/neurine.html create mode 100644 datum/reagent/medicine/oculine.html create mode 100644 datum/reagent/medicine/strange_reagent.html create mode 100644 datum/reagent/metalgen.html create mode 100644 datum/reagent/toxin.html create mode 100644 datum/reagent/toxin/plasma.html create mode 100644 datum/reagent/toxin/venom.html create mode 100644 datum/reagent/uranium.html create mode 100644 datum/reagent/water.html create mode 100644 datum/reagents.html create mode 100644 datum/reality_smash_tracker.html create mode 100644 datum/record.html create mode 100644 datum/record/crew.html create mode 100644 datum/record/locked.html create mode 100644 datum/religion_rites.html create mode 100644 datum/religion_rites/adapted_food.html create mode 100644 datum/religion_rites/blazing_star.html create mode 100644 datum/religion_rites/burning_sacrifice.html create mode 100644 datum/religion_rites/ceremonial_weapon.html create mode 100644 datum/religion_rites/deaconize.html create mode 100644 datum/religion_rites/fireproof.html create mode 100644 datum/religion_rites/nullrod_transformation.html create mode 100644 datum/religion_rites/portable_song_tuning.html create mode 100644 datum/religion_rites/ritual_totem.html create mode 100644 datum/religion_rites/song_tuner.html create mode 100644 datum/religion_rites/song_tuner/light.html create mode 100644 datum/religion_rites/song_tuner/lullaby.html create mode 100644 datum/religion_rites/sparring_contract.html create mode 100644 datum/religion_rites/summon_rules.html create mode 100644 datum/religion_sect.html create mode 100644 datum/religion_sect/honorbound.html create mode 100644 datum/religion_sect/spar.html create mode 100644 datum/request.html create mode 100644 datum/request_manager.html create mode 100644 datum/request_message.html create mode 100644 datum/required_item.html create mode 100644 datum/robot_energy_storage.html create mode 100644 datum/robot_energy_storage/material.html create mode 100644 datum/round_event.html create mode 100644 datum/round_event/anomaly.html create mode 100644 datum/round_event/anomaly/anomaly_dimensional.html create mode 100644 datum/round_event/anomaly/anomaly_ectoplasm.html create mode 100644 datum/round_event/brand_intelligence.html create mode 100644 datum/round_event/carp_migration.html create mode 100644 datum/round_event/disease_outbreak.html create mode 100644 datum/round_event/disease_outbreak/advanced.html create mode 100644 datum/round_event/earthquake.html create mode 100644 datum/round_event/falsealarm.html create mode 100644 datum/round_event/ghost_role.html create mode 100644 datum/round_event/ghost_role/bitrunning_glitch.html create mode 100644 datum/round_event/ghost_role/fugitives.html create mode 100644 datum/round_event/ghost_role/sentience.html create mode 100644 datum/round_event/grey_tide.html create mode 100644 datum/round_event/heart_attack.html create mode 100644 datum/round_event/immovable_rod.html create mode 100644 datum/round_event/market_crash.html create mode 100644 datum/round_event/mass_hallucination.html create mode 100644 datum/round_event/pirates.html create mode 100644 datum/round_event/portal_storm.html create mode 100644 datum/round_event/radiation_leak.html create mode 100644 datum/round_event/sandstorm.html create mode 100644 datum/round_event/scrubber_overflow.html create mode 100644 datum/round_event/shuttle_loan.html create mode 100644 datum/round_event/spacevine.html create mode 100644 datum/round_event/stray_cargo.html create mode 100644 datum/round_event/stray_cargo/syndicate.html create mode 100644 datum/round_event/stray_meteor.html create mode 100644 datum/round_event/supermatter_surge.html create mode 100644 datum/round_event/tram_malfunction.html create mode 100644 datum/round_event/vent_clog.html create mode 100644 datum/round_event/wisdomcow.html create mode 100644 datum/round_event/wizard/deprevolt.html create mode 100644 datum/round_event/wizard/madness.html create mode 100644 datum/round_event/wizard/petsplosion.html create mode 100644 datum/round_event_control.html create mode 100644 datum/round_event_control/bitrunning_glitch.html create mode 100644 datum/round_event_control/disease_outbreak.html create mode 100644 datum/round_event_control/grid_check.html create mode 100644 datum/round_event_control/heart_attack.html create mode 100644 datum/round_event_control/market_crash.html create mode 100644 datum/round_event_control/sandstorm.html create mode 100644 datum/round_event_control/sandstorm_classic.html create mode 100644 datum/round_event_control/shuttle_loan.html create mode 100644 datum/round_event_control/supermatter_surge.html create mode 100644 datum/round_event_control/wizard/embedpocalypse.html create mode 100644 datum/round_event_control/wizard/petsplosion.html create mode 100644 datum/rpgloot_controller.html create mode 100644 datum/rpgtitle_controller.html create mode 100644 datum/rust_spread.html create mode 100644 datum/scan_condition.html create mode 100644 datum/scanner_controller.html create mode 100644 datum/scar.html create mode 100644 datum/scientific_paper.html create mode 100644 datum/scientific_paper/explosive.html create mode 100644 datum/scientific_paper/gaseous.html create mode 100644 datum/scientific_partner.html create mode 100644 datum/screen_object_holder.html create mode 100644 datum/secrets_menu.html create mode 100644 datum/security_level.html create mode 100644 datum/security_level/blue.html create mode 100644 datum/security_level/delta.html create mode 100644 datum/security_level/green.html create mode 100644 datum/security_level/red.html create mode 100644 datum/select_equipment.html create mode 100644 datum/shuttle_event.html create mode 100644 datum/shuttle_event/simple_spawner.html create mode 100644 datum/shuttle_event/simple_spawner/carp/friendly.html create mode 100644 datum/shuttle_event/simple_spawner/meteor/dust.html create mode 100644 datum/shuttle_event/simple_spawner/player_controlled.html create mode 100644 datum/shuttle_event/simple_spawner/player_controlled/carp.html create mode 100644 datum/shuttle_loan_situation.html create mode 100644 datum/signal.html create mode 100644 datum/signal/subspace.html create mode 100644 datum/signal/subspace/messaging/tablet_message.html create mode 100644 datum/signal/subspace/vocal.html create mode 100644 datum/skill.html create mode 100644 datum/skill/fitness.html create mode 100644 datum/slime_type.html create mode 100644 datum/sm_delam.html create mode 100644 datum/sm_delam/cascade.html create mode 100644 datum/sm_gas.html create mode 100644 datum/sm_gas/bz.html create mode 100644 datum/sm_gas/carbon_dioxide.html create mode 100644 datum/sm_gas/miasma.html create mode 100644 datum/smite.html create mode 100644 datum/smite/bad_luck.html create mode 100644 datum/smite/berforate.html create mode 100644 datum/smite/curse_of_babel.html create mode 100644 datum/smite/custom_imaginary_friend.html create mode 100644 datum/smite/objectify.html create mode 100644 datum/smite/supply_pod_quick.html create mode 100644 datum/song.html create mode 100644 datum/sort_instance.html create mode 100644 datum/spacevine_controller.html create mode 100644 datum/spacevine_mutation.html create mode 100644 datum/spacevine_mutation/aggressive_spread.html create mode 100644 datum/spacevine_mutation/vine_eating.html create mode 100644 datum/sparring_match.html create mode 100644 datum/spatial_grid_cell.html create mode 100644 datum/species.html create mode 100644 datum/species/dullahan.html create mode 100644 datum/species/ethereal.html create mode 100644 datum/species/golem.html create mode 100644 datum/species/human/felinid.html create mode 100644 datum/species/jelly/luminescent.html create mode 100644 datum/species/jelly/stargazer.html create mode 100644 datum/species/lizard.html create mode 100644 datum/species/lizard/silverscale.html create mode 100644 datum/species/plasmaman.html create mode 100644 datum/species/vampire.html create mode 100644 datum/species/zombie.html create mode 100644 datum/spellbook_entry.html create mode 100644 datum/spellbook_entry/item.html create mode 100644 datum/sprite_accessory.html create mode 100644 datum/sprite_accessory/gradient.html create mode 100644 datum/stack_canary.html create mode 100644 datum/stack_end_detector.html create mode 100644 datum/stack_recipe.html create mode 100644 datum/stack_recipe/radial.html create mode 100644 datum/station_alert.html create mode 100644 datum/station_request.html create mode 100644 datum/station_state.html create mode 100644 datum/station_trait.html create mode 100644 datum/station_trait/birthday.html create mode 100644 datum/station_trait/cybernetic_revolution.html create mode 100644 datum/station_trait/ian_adventure.html create mode 100644 datum/station_trait/job.html create mode 100644 datum/station_trait/job/cargorilla.html create mode 100644 datum/station_trait/nebula.html create mode 100644 datum/station_trait/nebula/hostile.html create mode 100644 datum/station_trait/nebula/hostile/radiation.html create mode 100644 datum/station_trait/random_event_weight_modifier.html create mode 100644 datum/station_trait/revolutionary_trashing.html create mode 100644 datum/status_effect.html create mode 100644 datum/status_effect/agent_pinpointer.html create mode 100644 datum/status_effect/ants.html create mode 100644 datum/status_effect/basilisk_overheat.html create mode 100644 datum/status_effect/bugkiller_death.html create mode 100644 datum/status_effect/choke.html create mode 100644 datum/status_effect/cloudstruck.html create mode 100644 datum/status_effect/confusion.html create mode 100644 datum/status_effect/cosmic_beam.html create mode 100644 datum/status_effect/decloning.html create mode 100644 datum/status_effect/dizziness.html create mode 100644 datum/status_effect/drowsiness.html create mode 100644 datum/status_effect/drugginess.html create mode 100644 datum/status_effect/eigenstasium.html create mode 100644 datum/status_effect/eldritch.html create mode 100644 datum/status_effect/eldritch/ash.html create mode 100644 datum/status_effect/eldritch/blade.html create mode 100644 datum/status_effect/eldritch/cosmic.html create mode 100644 datum/status_effect/exercised.html create mode 100644 datum/status_effect/eye_blur.html create mode 100644 datum/status_effect/fire_blasted.html create mode 100644 datum/status_effect/fire_handler.html create mode 100644 datum/status_effect/fire_handler/fire_stacks.html create mode 100644 datum/status_effect/fire_ring.html create mode 100644 datum/status_effect/food.html create mode 100644 datum/status_effect/genetic_damage.html create mode 100644 datum/status_effect/ghoul.html create mode 100644 datum/status_effect/golem.html create mode 100644 datum/status_effect/golem/bananium.html create mode 100644 datum/status_effect/golem/diamond.html create mode 100644 datum/status_effect/golem/plasma.html create mode 100644 datum/status_effect/golem/titanium.html create mode 100644 datum/status_effect/grouped.html create mode 100644 datum/status_effect/grouped/cursed.html create mode 100644 datum/status_effect/grouped/nearsighted.html create mode 100644 datum/status_effect/grouped/screwy_hud.html create mode 100644 datum/status_effect/guardian_scout_mode.html create mode 100644 datum/status_effect/guardian_stealth.html create mode 100644 datum/status_effect/hallucination.html create mode 100644 datum/status_effect/hallucination/sanity.html create mode 100644 datum/status_effect/ice_block_talisman.html create mode 100644 datum/status_effect/incapacitating/sleeping.html create mode 100644 datum/status_effect/incapacitating/stun/goliath_tentacled.html create mode 100644 datum/status_effect/inebriated.html create mode 100644 datum/status_effect/inebriated/drunk.html create mode 100644 datum/status_effect/inflated.html create mode 100644 datum/status_effect/jitter.html create mode 100644 datum/status_effect/limited_buff.html create mode 100644 datum/status_effect/limited_buff/health_buff.html create mode 100644 datum/status_effect/limp.html create mode 100644 datum/status_effect/lobster_rush.html create mode 100644 datum/status_effect/mayhem.html create mode 100644 datum/status_effect/midas_blight.html create mode 100644 datum/status_effect/offering.html create mode 100644 datum/status_effect/offering/no_item_received/needs_resting.html create mode 100644 datum/status_effect/organ_set_bonus.html create mode 100644 datum/status_effect/organ_set_bonus/roach.html create mode 100644 datum/status_effect/overwatch.html create mode 100644 datum/status_effect/protective_blades.html create mode 100644 datum/status_effect/protective_blades/recharging.html create mode 100644 datum/status_effect/protector_shield.html create mode 100644 datum/status_effect/psychic_projection.html create mode 100644 datum/status_effect/shadow_cloak.html create mode 100644 datum/status_effect/shapechange_mob.html create mode 100644 datum/status_effect/shapechange_mob/from_spell.html create mode 100644 datum/status_effect/silenced.html create mode 100644 datum/status_effect/slimed.html create mode 100644 datum/status_effect/song/light.html create mode 100644 datum/status_effect/spacer.html create mode 100644 datum/status_effect/spacer/gravity_sickness.html create mode 100644 datum/status_effect/spacer/gravity_wellness.html create mode 100644 datum/status_effect/speech.html create mode 100644 datum/status_effect/speech/slurring.html create mode 100644 datum/status_effect/speech/stutter.html create mode 100644 datum/status_effect/speech/stutter/derpspeech.html create mode 100644 datum/status_effect/stabilized.html create mode 100644 datum/status_effect/stabilized/black.html create mode 100644 datum/status_effect/stabilized/pink.html create mode 100644 datum/status_effect/stabilized/purple.html create mode 100644 datum/status_effect/stacking.html create mode 100644 datum/status_effect/stacking/brimdust_coating.html create mode 100644 datum/status_effect/staggered.html create mode 100644 datum/status_effect/star_mark.html create mode 100644 datum/status_effect/static_vision.html create mode 100644 datum/status_effect/strandling.html create mode 100644 datum/status_effect/stun_absorption.html create mode 100644 datum/status_effect/temporary_transformation.html create mode 100644 datum/status_effect/temporary_transformation/trans_sting.html create mode 100644 datum/status_effect/terrified.html create mode 100644 datum/status_effect/unholy_determination.html create mode 100644 datum/status_effect/void_chill.html create mode 100644 datum/status_effect/wound.html create mode 100644 datum/stock_part.html create mode 100644 datum/storage.html create mode 100644 datum/storage/fish_case.html create mode 100644 datum/storage/rped.html create mode 100644 datum/strip_menu.html create mode 100644 datum/strippable_item.html create mode 100644 datum/strippable_item/hand.html create mode 100644 datum/strippable_item/mannequin_slot.html create mode 100644 datum/strippable_item/mob_item_slot.html create mode 100644 datum/strippable_item/mob_item_slot/pocket.html create mode 100644 datum/summon_things_controller.html create mode 100644 datum/summon_things_controller/item.html create mode 100644 datum/summon_things_controller/spellbook_entry.html create mode 100644 datum/supply_order.html create mode 100644 datum/supply_pack.html create mode 100644 datum/supply_pack/market_materials.html create mode 100644 datum/supply_pack/misc/syndicate.html create mode 100644 datum/supply_pack/organic/pizza.html create mode 100644 datum/surgery.html create mode 100644 datum/surgery/revival.html create mode 100644 datum/surgery_step.html create mode 100644 datum/surgery_step/debride.html create mode 100644 datum/surgery_step/dress.html create mode 100644 datum/surgery_step/experimental_dissection.html create mode 100644 datum/surgery_step/filter_blood.html create mode 100644 datum/surgery_step/heal.html create mode 100644 datum/surgery_step/heal/brute.html create mode 100644 datum/surgery_step/heal/burn.html create mode 100644 datum/surgery_step/heal/combo.html create mode 100644 datum/surgery_step/manipulate_organs.html create mode 100644 datum/surgery_step/manipulate_organs/external.html create mode 100644 datum/surgery_step/manipulate_organs/internal.html create mode 100644 datum/surgery_step/revive.html create mode 100644 datum/symptom.html create mode 100644 datum/symptom/beard.html create mode 100644 datum/symptom/chills.html create mode 100644 datum/symptom/choking.html create mode 100644 datum/symptom/confusion.html create mode 100644 datum/symptom/cough.html create mode 100644 datum/symptom/deafness.html create mode 100644 datum/symptom/disfiguration.html create mode 100644 datum/symptom/dizzy.html create mode 100644 datum/symptom/fever.html create mode 100644 datum/symptom/fire.html create mode 100644 datum/symptom/heal/plasma.html create mode 100644 datum/symptom/itching.html create mode 100644 datum/symptom/sneeze.html create mode 100644 datum/symptom/visionloss.html create mode 100644 datum/syndicate_contract.html create mode 100644 datum/targeting_strategy.html create mode 100644 datum/targeting_strategy/basic.html create mode 100644 datum/targeting_strategy/basic/holding_object.html create mode 100644 datum/targeting_strategy/basic/mook.html create mode 100644 datum/targeting_strategy/basic/mushroom.html create mode 100644 datum/targeting_strategy/basic/not_friends.html create mode 100644 datum/targeting_strategy/basic/of_size.html create mode 100644 datum/targeting_strategy/lightgeist.html create mode 100644 datum/team.html create mode 100644 datum/team/abductor_team.html create mode 100644 datum/team/ashwalkers.html create mode 100644 datum/team/battlecruiser.html create mode 100644 datum/team/cult.html create mode 100644 datum/team/nation.html create mode 100644 datum/team/revolution.html create mode 100644 datum/team/xeno/captive.html create mode 100644 datum/techweb.html create mode 100644 datum/techweb/autounlocking.html create mode 100644 datum/techweb_node.html create mode 100644 datum/techweb_node/syndicate_basic.html create mode 100644 datum/tgs_chat_channel.html create mode 100644 datum/tgs_chat_command.html create mode 100644 datum/tgs_chat_command/validated.html create mode 100644 datum/tgs_chat_embed/footer.html create mode 100644 datum/tgs_chat_embed/media.html create mode 100644 datum/tgs_chat_embed/structure.html create mode 100644 datum/tgs_chat_user.html create mode 100644 datum/tgs_event_handler.html create mode 100644 datum/tgs_message_content.html create mode 100644 datum/tgs_revision_information.html create mode 100644 datum/tgs_revision_information/test_merge.html create mode 100644 datum/tgs_version.html create mode 100644 datum/tgui.html create mode 100644 datum/tgui_alert.html create mode 100644 datum/tgui_checkbox_input.html create mode 100644 datum/tgui_input_number.html create mode 100644 datum/tgui_input_text.html create mode 100644 datum/tgui_list_input.html create mode 100644 datum/tgui_panel.html create mode 100644 datum/tgui_say.html create mode 100644 datum/tgui_window.html create mode 100644 datum/thrownthing.html create mode 100644 datum/ticket_history.html create mode 100644 datum/ticket_history_holder.html create mode 100644 datum/tile_info.html create mode 100644 datum/timedevent.html create mode 100644 datum/tlv.html create mode 100644 datum/trackable.html create mode 100644 datum/trader_data.html create mode 100644 datum/traitor_objective.html create mode 100644 datum/traitor_objective/destroy_heirloom.html create mode 100644 datum/traitor_objective/destroy_heirloom/common.html create mode 100644 datum/traitor_objective/destroy_heirloom/rare.html create mode 100644 datum/traitor_objective/destroy_heirloom/uncommon.html create mode 100644 datum/traitor_objective/destroy_item.html create mode 100644 datum/traitor_objective/kill_pet.html create mode 100644 datum/traitor_objective/locate_weakpoint.html create mode 100644 datum/traitor_objective/sabotage_machinery.html create mode 100644 datum/traitor_objective/sabotage_machinery/trap.html create mode 100644 datum/traitor_objective/steal_item.html create mode 100644 datum/traitor_objective/target_player.html create mode 100644 datum/traitor_objective/target_player/assassinate.html create mode 100644 datum/traitor_objective/target_player/assassinate/behead.html create mode 100644 datum/traitor_objective/target_player/assault.html create mode 100644 datum/traitor_objective/target_player/eyesnatching.html create mode 100644 datum/traitor_objective/target_player/infect.html create mode 100644 datum/traitor_objective/target_player/kidnapping.html create mode 100644 datum/traitor_objective/ultimate.html create mode 100644 datum/traitor_objective/ultimate/battlecruiser.html create mode 100644 datum/traitor_objective/ultimate/dark_matteor.html create mode 100644 datum/traitor_objective/ultimate/infect_ai.html create mode 100644 datum/traitor_objective/ultimate/romerol.html create mode 100644 datum/traitor_objective/ultimate/space_dragon.html create mode 100644 datum/traitor_objective/ultimate/supermatter_cascade.html create mode 100644 datum/traitor_objective_category.html create mode 100644 datum/tram_mfg_info.html create mode 100644 datum/transport_controller/linear.html create mode 100644 datum/transport_controller/linear/tram.html create mode 100644 datum/trophy_data.html create mode 100644 datum/tts_request.html create mode 100644 datum/turf_reservation.html create mode 100644 datum/turf_reservation/transit.html create mode 100644 datum/tutorial.html create mode 100644 datum/tutorial_manager.html create mode 100644 datum/ui_state.html create mode 100644 datum/unit_test.html create mode 100644 datum/unit_test/atmospheric_gas_transfer.html create mode 100644 datum/unit_test/atmospherics_sanity.html create mode 100644 datum/unit_test/binary_insert.html create mode 100644 datum/unit_test/blindness.html create mode 100644 datum/unit_test/breath.html create mode 100644 datum/unit_test/container_resist.html create mode 100644 datum/unit_test/dcs_check_list_arguments.html create mode 100644 datum/unit_test/defined_inhand_icon_states.html create mode 100644 datum/unit_test/dismemberment.html create mode 100644 datum/unit_test/ensure_subtree_operational_datum.html create mode 100644 datum/unit_test/explosion_action.html create mode 100644 datum/unit_test/font_awesome_icons.html create mode 100644 datum/unit_test/frame_stacking.html create mode 100644 datum/unit_test/glass_style_icons.html create mode 100644 datum/unit_test/hydroponics_harvest.html create mode 100644 datum/unit_test/knockoff_component.html create mode 100644 datum/unit_test/lungs.html create mode 100644 datum/unit_test/machine_disassembly.html create mode 100644 datum/unit_test/mafia.html create mode 100644 datum/unit_test/mapload_space_verification.html create mode 100644 datum/unit_test/mecha_damage.html create mode 100644 datum/unit_test/merge_type.html create mode 100644 datum/unit_test/mind_swap_spell.html create mode 100644 datum/unit_test/missing_icons.html create mode 100644 datum/unit_test/mob_damage.html create mode 100644 datum/unit_test/mob_damage/basic.html create mode 100644 datum/unit_test/modify_fantasy_variable.html create mode 100644 datum/unit_test/monkey_business.html create mode 100644 datum/unit_test/mutant_hands.html create mode 100644 datum/unit_test/mutant_hands_carry.html create mode 100644 datum/unit_test/mutant_hands_with_nodrop.html create mode 100644 datum/unit_test/nuke_cinematic.html create mode 100644 datum/unit_test/objectives_category.html create mode 100644 datum/unit_test/required_map_items.html create mode 100644 datum/unit_test/screenshot_high_luminosity_eyes.html create mode 100644 datum/unit_test/security_levels.html create mode 100644 datum/unit_test/servingtray.html create mode 100644 datum/unit_test/species_config_sanity.html create mode 100644 datum/unit_test/spell_names.html create mode 100644 datum/unit_test/stop_drop_and_roll.html create mode 100644 datum/unit_test/test_human_base.html create mode 100644 datum/unit_test/test_human_bone.html create mode 100644 datum/unit_test/transformation_sting.html create mode 100644 datum/unit_test/worn_icons.html create mode 100644 datum/uplink_category.html create mode 100644 datum/uplink_handler.html create mode 100644 datum/uplink_item.html create mode 100644 datum/uplink_item/bundles_tc/surplus.html create mode 100644 datum/uplink_item/bundles_tc/surplus/united.html create mode 100644 datum/venue.html create mode 100644 datum/view_data.html create mode 100644 datum/visual_data.html create mode 100644 datum/visual_data/mirroring.html create mode 100644 datum/visual_data/tracking.html create mode 100644 datum/voice_of_god_command.html create mode 100644 datum/voice_of_god_command/emote.html create mode 100644 datum/voice_of_god_command/who_are_you.html create mode 100644 datum/vote.html create mode 100644 datum/vote/map_vote.html create mode 100644 datum/vote/restart_vote.html create mode 100644 datum/vote/rock_the_vote.html create mode 100644 datum/voucher_set.html create mode 100644 datum/wanted_message.html create mode 100644 datum/weakref.html create mode 100644 datum/weather.html create mode 100644 datum/weather/floor_is_lava.html create mode 100644 datum/weather/rad_storm.html create mode 100644 datum/weather/rad_storm/nebula.html create mode 100644 datum/weather/snow_storm.html create mode 100644 datum/weather/void_storm.html create mode 100644 datum/wires.html create mode 100644 datum/wires/conveyor.html create mode 100644 datum/wires/explosive/chem_grenade.html create mode 100644 datum/wires/vending.html create mode 100644 datum/worn_feature_offset.html create mode 100644 datum/wound.html create mode 100644 datum/wound/blunt/bone.html create mode 100644 datum/wound/blunt/bone/moderate.html create mode 100644 datum/wound/burn/flesh.html create mode 100644 datum/wound/loss.html create mode 100644 datum/wound/pierce/bleed.html create mode 100644 datum/wound/slash/flesh.html create mode 100644 datum/wound_pregen_data.html create mode 100644 datum/z_pillar.html create mode 100644 dmdoc.css create mode 100644 dmdoc.js create mode 100644 git.png create mode 100644 global.html create mode 100644 image.html create mode 100644 index.html create mode 100644 interface/fonts/fonts_datum.html create mode 100644 interface/fonts/grand_9k.html create mode 100644 interface/fonts/license.html create mode 100644 interface/fonts/pixellari.html create mode 100644 interface/fonts/spess_font.html create mode 100644 interface/fonts/tiny_unicode.html create mode 100644 matrix.html create mode 100644 mob.html create mode 100644 mob/camera.html create mode 100644 mob/camera/ai_eye.html create mode 100644 mob/camera/ai_eye/remote/base_construction.html create mode 100644 mob/camera/blob.html create mode 100644 mob/camera/imaginary_friend.html create mode 100644 mob/dead/new_player.html create mode 100644 mob/dead/observer.html create mode 100644 mob/living.html create mode 100644 mob/living/basic.html create mode 100644 mob/living/basic/bear.html create mode 100644 mob/living/basic/bee.html create mode 100644 mob/living/basic/blob_minion.html create mode 100644 mob/living/basic/blob_minion/blobbernaut/minion.html create mode 100644 mob/living/basic/blob_minion/spore.html create mode 100644 mob/living/basic/blob_minion/spore/minion.html create mode 100644 mob/living/basic/blob_minion/zombie.html create mode 100644 mob/living/basic/bot.html create mode 100644 mob/living/basic/bot/cleanbot.html create mode 100644 mob/living/basic/bot/medbot.html create mode 100644 mob/living/basic/butterfly/lavaland/temporary.html create mode 100644 mob/living/basic/carp.html create mode 100644 mob/living/basic/carp/holographic.html create mode 100644 mob/living/basic/carp/magic.html create mode 100644 mob/living/basic/carp/mega.html create mode 100644 mob/living/basic/carp/pet/cayenne.html create mode 100644 mob/living/basic/cat_butcherer.html create mode 100644 mob/living/basic/chick.html create mode 100644 mob/living/basic/chicken.html create mode 100644 mob/living/basic/clown.html create mode 100644 mob/living/basic/clown/mutant/glutton.html create mode 100644 mob/living/basic/cockroach/glockroach.html create mode 100644 mob/living/basic/cockroach/hauberoach.html create mode 100644 mob/living/basic/construct.html create mode 100644 mob/living/basic/construct/artificer.html create mode 100644 mob/living/basic/construct/harvester.html create mode 100644 mob/living/basic/construct/proteon/hostile.html create mode 100644 mob/living/basic/cow.html create mode 100644 mob/living/basic/cow/wisdom.html create mode 100644 mob/living/basic/crab.html create mode 100644 mob/living/basic/deer.html create mode 100644 mob/living/basic/demon.html create mode 100644 mob/living/basic/demon/slaughter.html create mode 100644 mob/living/basic/demon/slaughter/laughter.html create mode 100644 mob/living/basic/drone.html create mode 100644 mob/living/basic/drone/syndrone.html create mode 100644 mob/living/basic/eyeball.html create mode 100644 mob/living/basic/faithless.html create mode 100644 mob/living/basic/festivus.html create mode 100644 mob/living/basic/frog.html create mode 100644 mob/living/basic/frog/frog_suicide.html create mode 100644 mob/living/basic/garden_gnome.html create mode 100644 mob/living/basic/ghost.html create mode 100644 mob/living/basic/goat.html create mode 100644 mob/living/basic/gorilla.html create mode 100644 mob/living/basic/guardian.html create mode 100644 mob/living/basic/guardian/assassin.html create mode 100644 mob/living/basic/guardian/dextrous.html create mode 100644 mob/living/basic/guardian/explosive.html create mode 100644 mob/living/basic/guardian/gaseous.html create mode 100644 mob/living/basic/guardian/gravitokinetic.html create mode 100644 mob/living/basic/guardian/lightning.html create mode 100644 mob/living/basic/guardian/protector.html create mode 100644 mob/living/basic/guardian/standard.html create mode 100644 mob/living/basic/guardian/support.html create mode 100644 mob/living/basic/headslug.html create mode 100644 mob/living/basic/heretic_summon/armsy.html create mode 100644 mob/living/basic/heretic_summon/maid_in_the_mirror.html create mode 100644 mob/living/basic/heretic_summon/raw_prophet.html create mode 100644 mob/living/basic/heretic_summon/stalker.html create mode 100644 mob/living/basic/hivebot.html create mode 100644 mob/living/basic/hivebot/mechanic.html create mode 100644 mob/living/basic/leaper.html create mode 100644 mob/living/basic/legion_brood.html create mode 100644 mob/living/basic/lightgeist.html create mode 100644 mob/living/basic/living_limb_flesh.html create mode 100644 mob/living/basic/lizard.html create mode 100644 mob/living/basic/meteor_heart.html create mode 100644 mob/living/basic/meteor_heart/opens_puzzle_door.html create mode 100644 mob/living/basic/migo.html create mode 100644 mob/living/basic/mining.html create mode 100644 mob/living/basic/mining/basilisk.html create mode 100644 mob/living/basic/mining/bileworm.html create mode 100644 mob/living/basic/mining/brimdemon.html create mode 100644 mob/living/basic/mining/demon_afterimage.html create mode 100644 mob/living/basic/mining/goldgrub.html create mode 100644 mob/living/basic/mining/goliath.html create mode 100644 mob/living/basic/mining/goliath/ancient/immortal.html create mode 100644 mob/living/basic/mining/gutlunch.html create mode 100644 mob/living/basic/mining/gutlunch/grub.html create mode 100644 mob/living/basic/mining/gutlunch/milk.html create mode 100644 mob/living/basic/mining/hivelord.html create mode 100644 mob/living/basic/mining/ice_whelp.html create mode 100644 mob/living/basic/mining/legion.html create mode 100644 mob/living/basic/mining/legion/large.html create mode 100644 mob/living/basic/mining/lobstrosity.html create mode 100644 mob/living/basic/mining/mook.html create mode 100644 mob/living/basic/mining/mook/worker/bard.html create mode 100644 mob/living/basic/mining/mook/worker/tribal_chief.html create mode 100644 mob/living/basic/mining/watcher.html create mode 100644 mob/living/basic/mining_drone.html create mode 100644 mob/living/basic/morph.html create mode 100644 mob/living/basic/mouse.html create mode 100644 mob/living/basic/mushroom.html create mode 100644 mob/living/basic/paper_wizard.html create mode 100644 mob/living/basic/parrot.html create mode 100644 mob/living/basic/parrot/poly.html create mode 100644 mob/living/basic/pet.html create mode 100644 mob/living/basic/pet/cat.html create mode 100644 mob/living/basic/pet/cat/runtime.html create mode 100644 mob/living/basic/pet/dog.html create mode 100644 mob/living/basic/pet/dog/corgi.html create mode 100644 mob/living/basic/pet/dog/corgi/ian.html create mode 100644 mob/living/basic/pet/dog/corgi/narsie.html create mode 100644 mob/living/basic/pet/penguin.html create mode 100644 mob/living/basic/pet/penguin/baby.html create mode 100644 mob/living/basic/pig.html create mode 100644 mob/living/basic/pony.html create mode 100644 mob/living/basic/rabbit.html create mode 100644 mob/living/basic/rabbit/easter.html create mode 100644 mob/living/basic/regal_rat.html create mode 100644 mob/living/basic/revenant.html create mode 100644 mob/living/basic/robot_customer.html create mode 100644 mob/living/basic/seedling.html create mode 100644 mob/living/basic/shade.html create mode 100644 mob/living/basic/sheep.html create mode 100644 mob/living/basic/skeleton.html create mode 100644 mob/living/basic/snake.html create mode 100644 mob/living/basic/space_dragon.html create mode 100644 mob/living/basic/spider.html create mode 100644 mob/living/basic/spider/giant.html create mode 100644 mob/living/basic/spider/giant/ambush.html create mode 100644 mob/living/basic/spider/giant/breacher.html create mode 100644 mob/living/basic/spider/giant/guard.html create mode 100644 mob/living/basic/spider/giant/hunter.html create mode 100644 mob/living/basic/spider/giant/hunter/ice.html create mode 100644 mob/living/basic/spider/giant/hunter/scrawny.html create mode 100644 mob/living/basic/spider/giant/ice.html create mode 100644 mob/living/basic/spider/giant/midwife.html create mode 100644 mob/living/basic/spider/giant/nurse.html create mode 100644 mob/living/basic/spider/giant/nurse/ice.html create mode 100644 mob/living/basic/spider/giant/nurse/scrawny.html create mode 100644 mob/living/basic/spider/giant/scout.html create mode 100644 mob/living/basic/spider/giant/sgt_araneus.html create mode 100644 mob/living/basic/spider/giant/tangle.html create mode 100644 mob/living/basic/spider/giant/tank.html create mode 100644 mob/living/basic/spider/giant/tarantula.html create mode 100644 mob/living/basic/spider/giant/tarantula/scrawny.html create mode 100644 mob/living/basic/spider/giant/viper.html create mode 100644 mob/living/basic/spider/giant/viper/wizard.html create mode 100644 mob/living/basic/spider/growing.html create mode 100644 mob/living/basic/spider/growing/young/nurse.html create mode 100644 mob/living/basic/spider/growing/young/tangle.html create mode 100644 mob/living/basic/spider/growing/young/tank.html create mode 100644 mob/living/basic/spider/maintenance.html create mode 100644 mob/living/basic/statue.html create mode 100644 mob/living/basic/supermatter_spider.html create mode 100644 mob/living/basic/trader.html create mode 100644 mob/living/basic/tree.html create mode 100644 mob/living/basic/trooper.html create mode 100644 mob/living/basic/trooper/abductor/ranged.html create mode 100644 mob/living/basic/trooper/nanotrasen/ranged.html create mode 100644 mob/living/basic/trooper/pirate.html create mode 100644 mob/living/basic/trooper/pirate/ranged.html create mode 100644 mob/living/basic/trooper/syndicate/ranged.html create mode 100644 mob/living/basic/venus_human_trap.html create mode 100644 mob/living/basic/wizard.html create mode 100644 mob/living/basic/wumborian_fugu.html create mode 100644 mob/living/brain.html create mode 100644 mob/living/carbon.html create mode 100644 mob/living/carbon/alien.html create mode 100644 mob/living/carbon/alien/adult.html create mode 100644 mob/living/carbon/alien/adult/hunter.html create mode 100644 mob/living/carbon/alien/larva.html create mode 100644 mob/living/carbon/human.html create mode 100644 mob/living/carbon/human/dummy.html create mode 100644 mob/living/carbon/human/species/monkey/angry.html create mode 100644 mob/living/carbon/human/species/monkey/punpun.html create mode 100644 mob/living/silicon.html create mode 100644 mob/living/silicon/ai.html create mode 100644 mob/living/silicon/pai.html create mode 100644 mob/living/silicon/robot.html create mode 100644 mob/living/simple_animal.html create mode 100644 mob/living/simple_animal/bot.html create mode 100644 mob/living/simple_animal/bot/floorbot.html create mode 100644 mob/living/simple_animal/bot/hygienebot.html create mode 100644 mob/living/simple_animal/bot/mulebot.html create mode 100644 mob/living/simple_animal/bot/secbot.html create mode 100644 mob/living/simple_animal/bot/secbot/honkbot.html create mode 100644 mob/living/simple_animal/bot/vibebot.html create mode 100644 mob/living/simple_animal/hostile.html create mode 100644 mob/living/simple_animal/hostile/asteroid.html create mode 100644 mob/living/simple_animal/hostile/asteroid/elite/broodmother.html create mode 100644 mob/living/simple_animal/hostile/asteroid/elite/herald.html create mode 100644 mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html create mode 100644 mob/living/simple_animal/hostile/asteroid/elite/pandora.html create mode 100644 mob/living/simple_animal/hostile/asteroid/polarbear.html create mode 100644 mob/living/simple_animal/hostile/asteroid/wolf.html create mode 100644 mob/living/simple_animal/hostile/illusion.html create mode 100644 mob/living/simple_animal/hostile/megafauna.html create mode 100644 mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html create mode 100644 mob/living/simple_animal/hostile/megafauna/bubblegum.html create mode 100644 mob/living/simple_animal/hostile/megafauna/colossus.html create mode 100644 mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html create mode 100644 mob/living/simple_animal/hostile/megafauna/dragon.html create mode 100644 mob/living/simple_animal/hostile/megafauna/legion.html create mode 100644 mob/living/simple_animal/hostile/megafauna/wendigo.html create mode 100644 mob/living/simple_animal/hostile/mimic.html create mode 100644 mob/living/simple_animal/hostile/mimic/xenobio.html create mode 100644 mob/living/simple_animal/hostile/ooze.html create mode 100644 mob/living/simple_animal/hostile/ooze/gelatinous.html create mode 100644 mob/living/simple_animal/hostile/ooze/grapes.html create mode 100644 mob/living/simple_animal/hostile/retaliate.html create mode 100644 mob/living/simple_animal/hostile/retaliate/goose/vomit.html create mode 100644 mob/living/simple_animal/hostile/zombie.html create mode 100644 mob/living/simple_animal/pet.html create mode 100644 mob/living/simple_animal/slime.html create mode 100644 mob/living/simple_animal/slime/random.html create mode 100644 mob/living/simple_animal/soulscythe.html create mode 100644 mob/oranges_ear.html create mode 100644 mob/proccall_handler.html create mode 100644 modular_event/base/event_aheal_recall_spells/code/action.html create mode 100644 modular_event/tournament/auto_equip.html create mode 100644 modular_event/tournament/controller.html create mode 100644 modular_event/tournament/teams.html create mode 100644 obj.html create mode 100644 obj/cascade_portal.html create mode 100644 obj/crystal_mass.html create mode 100644 obj/docking_port.html create mode 100644 obj/docking_port/mobile.html create mode 100644 obj/docking_port/mobile/arrivals.html create mode 100644 obj/docking_port/mobile/emergency.html create mode 100644 obj/docking_port/mobile/supply.html create mode 100644 obj/docking_port/stationary.html create mode 100644 obj/docking_port/stationary/escape_pod.html create mode 100644 obj/docking_port/stationary/picked.html create mode 100644 obj/docking_port/stationary/random.html create mode 100644 obj/docking_port/stationary/transit.html create mode 100644 obj/durand_shield.html create mode 100644 obj/effect/abstract/chasm_storage.html create mode 100644 obj/effect/abstract/elevator_music_zone.html create mode 100644 obj/effect/abstract/info.html create mode 100644 obj/effect/abstract/particle_holder.html create mode 100644 obj/effect/abstract/surveillance_snare.html create mode 100644 obj/effect/anomaly.html create mode 100644 obj/effect/anomaly/bioscrambler.html create mode 100644 obj/effect/anomaly/bluespace.html create mode 100644 obj/effect/anomaly/dimensional.html create mode 100644 obj/effect/anomaly/ectoplasm.html create mode 100644 obj/effect/anomaly/flux/big.html create mode 100644 obj/effect/anomaly/grav.html create mode 100644 obj/effect/anomaly/hallucination.html create mode 100644 obj/effect/anomaly/pyro.html create mode 100644 obj/effect/baseturf_helper.html create mode 100644 obj/effect/brimbeam.html create mode 100644 obj/effect/bump_teleporter.html create mode 100644 obj/effect/bump_teleporter/filtering.html create mode 100644 obj/effect/client_image_holder.html create mode 100644 obj/effect/client_image_holder/hallucination.html create mode 100644 obj/effect/client_image_holder/hallucination/danger.html create mode 100644 obj/effect/client_image_holder/hallucination/fake_door_lock.html create mode 100644 obj/effect/client_image_holder/hallucination/xeno.html create mode 100644 obj/effect/collapse.html create mode 100644 obj/effect/collapsing_demonic_portal.html create mode 100644 obj/effect/cosmic_rune.html create mode 100644 obj/effect/cross_action/spacetime_dist.html create mode 100644 obj/effect/decal.html create mode 100644 obj/effect/decal/chempuff.html create mode 100644 obj/effect/decal/cleanable.html create mode 100644 obj/effect/decal/cleanable/ants.html create mode 100644 obj/effect/decal/cleanable/blood.html create mode 100644 obj/effect/decal/cleanable/blood/footprints.html create mode 100644 obj/effect/decal/cleanable/blood/gibs.html create mode 100644 obj/effect/decal/cleanable/blood/hitsplatter.html create mode 100644 obj/effect/decal/cleanable/fuel_pool.html create mode 100644 obj/effect/decal/cleanable/traitor_rune.html create mode 100644 obj/effect/decal/remains/human/smokey.html create mode 100644 obj/effect/dummy/lighting_obj.html create mode 100644 obj/effect/dummy/phased_mob.html create mode 100644 obj/effect/dummy/phased_mob/shadow.html create mode 100644 obj/effect/dummy/phased_mob/spell_jaunt.html create mode 100644 obj/effect/floating_blade.html create mode 100644 obj/effect/forcefield.html create mode 100644 obj/effect/forcefield/cosmic_field.html create mode 100644 obj/effect/forcefield/wizard.html create mode 100644 obj/effect/goliath_tentacle.html create mode 100644 obj/effect/grand_rune.html create mode 100644 obj/effect/grand_rune/finale.html create mode 100644 obj/effect/heretic_influence.html create mode 100644 obj/effect/heretic_rune.html create mode 100644 obj/effect/hotspot.html create mode 100644 obj/effect/immovablerod.html create mode 100644 obj/effect/immovablerod/wizard.html create mode 100644 obj/effect/landmark/atmospheric_sanity.html create mode 100644 obj/effect/landmark/event_spawn.html create mode 100644 obj/effect/landmark/heretic.html create mode 100644 obj/effect/landmark/start/depsec.html create mode 100644 obj/effect/landmark/start/hangover.html create mode 100644 obj/effect/landmark/transport/nav_beacon/tram.html create mode 100644 obj/effect/landmark/transport/transport_id.html create mode 100644 obj/effect/lock_portal.html create mode 100644 obj/effect/mapping_helpers/atom_injector.html create mode 100644 obj/effect/mapping_helpers/atom_injector/component_injector.html create mode 100644 obj/effect/mapping_helpers/atom_injector/custom_icon.html create mode 100644 obj/effect/mapping_helpers/atom_injector/custom_sound.html create mode 100644 obj/effect/mapping_helpers/atom_injector/element_injector.html create mode 100644 obj/effect/mapping_helpers/atom_injector/human_icon_injector.html create mode 100644 obj/effect/mapping_helpers/atom_injector/trait_injector.html create mode 100644 obj/effect/mapping_helpers/circuit_spawner.html create mode 100644 obj/effect/mapping_helpers/damaged_window.html create mode 100644 obj/effect/mapping_helpers/dead_body_placer.html create mode 100644 obj/effect/mapping_helpers/requests_console.html create mode 100644 obj/effect/mapping_helpers/trapdoor_placer.html create mode 100644 obj/effect/mapping_helpers/ztrait_injector.html create mode 100644 obj/effect/meteor.html create mode 100644 obj/effect/meteor/cluster.html create mode 100644 obj/effect/meteor/dark_matteor.html create mode 100644 obj/effect/meteor/meaty/changeling.html create mode 100644 obj/effect/mine.html create mode 100644 obj/effect/mine/explosive.html create mode 100644 obj/effect/mine/shrapnel.html create mode 100644 obj/effect/mob_spawn.html create mode 100644 obj/effect/mob_spawn/corpse.html create mode 100644 obj/effect/mob_spawn/corpse/human.html create mode 100644 obj/effect/mob_spawn/corpse/human/legioninfested.html create mode 100644 obj/effect/mob_spawn/corpse/slime.html create mode 100644 obj/effect/mob_spawn/ghost_role.html create mode 100644 obj/effect/mob_spawn/ghost_role/drone.html create mode 100644 obj/effect/mob_spawn/ghost_role/human/golem.html create mode 100644 obj/effect/mob_spawn/ghost_role/human/golem/servant.html create mode 100644 obj/effect/mob_spawn/ghost_role/human/pirate.html create mode 100644 obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser.html create mode 100644 obj/effect/mob_spawn/ghost_role/spider.html create mode 100644 obj/effect/mob_spawn/ghost_role/venus_human_trap.html create mode 100644 obj/effect/overlay/status_display_text.html create mode 100644 obj/effect/overlay/vis.html create mode 100644 obj/effect/particle_effect/fluid.html create mode 100644 obj/effect/particle_effect/fluid/foam.html create mode 100644 obj/effect/particle_effect/fluid/foam/firefighting.html create mode 100644 obj/effect/particle_effect/fluid/smoke.html create mode 100644 obj/effect/particle_effect/fluid/smoke/bad.html create mode 100644 obj/effect/particle_effect/fluid/smoke/colourful.html create mode 100644 obj/effect/particle_effect/water/extinguisher.html create mode 100644 obj/effect/portal.html create mode 100644 obj/effect/powerup.html create mode 100644 obj/effect/powerup/health.html create mode 100644 obj/effect/puzzle_death_signal_holder.html create mode 100644 obj/effect/rune.html create mode 100644 obj/effect/rune/narsie.html create mode 100644 obj/effect/rune/wall.html create mode 100644 obj/effect/skyfall_landingzone.html create mode 100644 obj/effect/slippery_acid.html create mode 100644 obj/effect/spawner/newbomb.html create mode 100644 obj/effect/spawner/random.html create mode 100644 obj/effect/spawner/random/environmentally_safe_anomaly.html create mode 100644 obj/effect/spawner/random/trash/crushed_can.html create mode 100644 obj/effect/spawner/random/trash/graffiti.html create mode 100644 obj/effect/spawner/random/vending.html create mode 100644 obj/effect/spawner/xmastree.html create mode 100644 obj/effect/spectre_of_resurrection.html create mode 100644 obj/effect/spectre_of_resurrection/human.html create mode 100644 obj/effect/step_trigger/thrower.html create mode 100644 obj/effect/temp_visual.html create mode 100644 obj/effect/temp_visual/brim_burst.html create mode 100644 obj/effect/temp_visual/drawing_heretic_rune.html create mode 100644 obj/effect/temp_visual/effect_trail.html create mode 100644 obj/effect/temp_visual/emerging_ground_spike.html create mode 100644 obj/effect/temp_visual/hivebrood_spawn.html create mode 100644 obj/effect/temp_visual/legion_skull_depart.html create mode 100644 obj/effect/temp_visual/legion_skull_land.html create mode 100644 obj/effect/temp_visual/lesser_carp_rift.html create mode 100644 obj/effect/temp_visual/lesser_carp_rift/entrance.html create mode 100644 obj/effect/temp_visual/meteor_heart_death.html create mode 100644 obj/effect/temp_visual/resonance.html create mode 100644 obj/effect/temp_visual/slippery_ice.html create mode 100644 obj/effect/temp_visual/sonar_ping.html create mode 100644 obj/effect/temp_visual/teleporting_tornado.html create mode 100644 obj/effect/temp_visual/thrusting_spines.html create mode 100644 obj/effect/timestop.html create mode 100644 obj/effect/trading_card_panel.html create mode 100644 obj/effect/turf_decal.html create mode 100644 obj/effect/watcher_orbiter.html create mode 100644 obj/item.html create mode 100644 obj/item/abductor/alien_omnitool.html create mode 100644 obj/item/access_key.html create mode 100644 obj/item/ai_module.html create mode 100644 obj/item/ai_module/malf.html create mode 100644 obj/item/aicard.html create mode 100644 obj/item/aicard/syndie/loaded.html create mode 100644 obj/item/air_sensor.html create mode 100644 obj/item/airlock_painter.html create mode 100644 obj/item/airlock_painter/decal.html create mode 100644 obj/item/airlock_painter/decal/tile.html create mode 100644 obj/item/ammo_box.html create mode 100644 obj/item/ammo_box/magazine.html create mode 100644 obj/item/ammo_box/magazine/internal/cylinder.html create mode 100644 obj/item/ammo_casing.html create mode 100644 obj/item/ammo_casing/arrow.html create mode 100644 obj/item/ammo_casing/strilka310/lionhunter.html create mode 100644 obj/item/analyzer.html create mode 100644 obj/item/anomaly_neutralizer.html create mode 100644 obj/item/anomaly_releaser.html create mode 100644 obj/item/antag_spawner/loadout.html create mode 100644 obj/item/antag_spawner/nuke_ops.html create mode 100644 obj/item/areaeditor.html create mode 100644 obj/item/assembly.html create mode 100644 obj/item/assembly/control.html create mode 100644 obj/item/assembly/control/elevator.html create mode 100644 obj/item/assembly/control/showtime.html create mode 100644 obj/item/assembly/control/ticket_machine.html create mode 100644 obj/item/assembly/control/transport.html create mode 100644 obj/item/assembly/control/transport/call_button.html create mode 100644 obj/item/assembly/control/transport/remote.html create mode 100644 obj/item/assembly/flash.html create mode 100644 obj/item/assembly/mousetrap.html create mode 100644 obj/item/assembly/prox_sensor.html create mode 100644 obj/item/assembly/signaler.html create mode 100644 obj/item/assembly/trapdoor.html create mode 100644 obj/item/assembly/voice.html create mode 100644 obj/item/assembly_holder.html create mode 100644 obj/item/autosurgeon.html create mode 100644 obj/item/bait_can.html create mode 100644 obj/item/banner.html create mode 100644 obj/item/barcode.html create mode 100644 obj/item/barcodescanner.html create mode 100644 obj/item/bedsheet.html create mode 100644 obj/item/bee_smoker.html create mode 100644 obj/item/bikehorn.html create mode 100644 obj/item/biopsy_tool.html create mode 100644 obj/item/bitrunning_disk.html create mode 100644 obj/item/bitrunning_disk/ability.html create mode 100644 obj/item/bitrunning_disk/item.html create mode 100644 obj/item/blood_filter.html create mode 100644 obj/item/bluespace_finger.html create mode 100644 obj/item/bodybag.html create mode 100644 obj/item/bodypart.html create mode 100644 obj/item/bodypart/arm.html create mode 100644 obj/item/bodypart/arm/left.html create mode 100644 obj/item/bodypart/arm/left/monkey.html create mode 100644 obj/item/bodypart/arm/right.html create mode 100644 obj/item/bodypart/chest.html create mode 100644 obj/item/bodypart/head.html create mode 100644 obj/item/bodypart/leg.html create mode 100644 obj/item/bodypart/leg/left.html create mode 100644 obj/item/bodypart/leg/right.html create mode 100644 obj/item/bombcore/chemical.html create mode 100644 obj/item/book.html create mode 100644 obj/item/book/bible.html create mode 100644 obj/item/book/granter.html create mode 100644 obj/item/book/granter/action.html create mode 100644 obj/item/book/granter/action/spell.html create mode 100644 obj/item/book/granter/action/spell/mime/mimery.html create mode 100644 obj/item/book/granter/action/spell/mindswap.html create mode 100644 obj/item/book/granter/action/spell/true_random.html create mode 100644 obj/item/book/granter/crafting_recipe.html create mode 100644 obj/item/book/granter/martial.html create mode 100644 obj/item/book/granter/sign_language.html create mode 100644 obj/item/book/manual/fish_catalog.html create mode 100644 obj/item/book/manual/wiki.html create mode 100644 obj/item/book/random.html create mode 100644 obj/item/borg/apparatus.html create mode 100644 obj/item/borg/apparatus/beaker.html create mode 100644 obj/item/borg/charger.html create mode 100644 obj/item/borg/cyborghug.html create mode 100644 obj/item/borg/lollipop.html create mode 100644 obj/item/borg/projectile_dampen.html create mode 100644 obj/item/borg/stun.html create mode 100644 obj/item/borg/upgrade.html create mode 100644 obj/item/borg/upgrade/selfrepair.html create mode 100644 obj/item/bot_assembly.html create mode 100644 obj/item/bounty_cube.html create mode 100644 obj/item/boxcutter.html create mode 100644 obj/item/broken_bottle.html create mode 100644 obj/item/burner.html create mode 100644 obj/item/camera.html create mode 100644 obj/item/camera/siliconcam.html create mode 100644 obj/item/camera/siliconcam/pai_camera.html create mode 100644 obj/item/canvas.html create mode 100644 obj/item/card.html create mode 100644 obj/item/card/cardboard.html create mode 100644 obj/item/card/emag/battlecruiser.html create mode 100644 obj/item/card/id.html create mode 100644 obj/item/card/id/advanced.html create mode 100644 obj/item/card/id/advanced/chameleon.html create mode 100644 obj/item/card/id/advanced/heretic.html create mode 100644 obj/item/card/id/advanced/prisoner.html create mode 100644 obj/item/card/mining_point_card.html create mode 100644 obj/item/cardboard_cutout.html create mode 100644 obj/item/cardpack.html create mode 100644 obj/item/cautery.html create mode 100644 obj/item/chainsaw.html create mode 100644 obj/item/chameleon_scanner.html create mode 100644 obj/item/changeling/id.html create mode 100644 obj/item/chisel.html create mode 100644 obj/item/choice_beacon.html create mode 100644 obj/item/circuit_component.html create mode 100644 obj/item/circuit_component/air_alarm_general.html create mode 100644 obj/item/circuit_component/air_alarm_scrubbers.html create mode 100644 obj/item/circuit_component/air_alarm_vents.html create mode 100644 obj/item/circuit_component/airlock.html create mode 100644 obj/item/circuit_component/airlock_access_event.html create mode 100644 obj/item/circuit_component/arctan2.html create mode 100644 obj/item/circuit_component/arithmetic.html create mode 100644 obj/item/circuit_component/arrest_console_arrest.html create mode 100644 obj/item/circuit_component/arrest_console_data.html create mode 100644 obj/item/circuit_component/assoc_literal.html create mode 100644 obj/item/circuit_component/atmos_meter.html create mode 100644 obj/item/circuit_component/atmos_pump.html create mode 100644 obj/item/circuit_component/atmos_volume_pump.html create mode 100644 obj/item/circuit_component/bci_core.html create mode 100644 obj/item/circuit_component/begin_animation.html create mode 100644 obj/item/circuit_component/binary_conversion.html create mode 100644 obj/item/circuit_component/bot.html create mode 100644 obj/item/circuit_component/bot_circuit.html create mode 100644 obj/item/circuit_component/camera.html create mode 100644 obj/item/circuit_component/clock.html create mode 100644 obj/item/circuit_component/compact_remote.html create mode 100644 obj/item/circuit_component/compare.html create mode 100644 obj/item/circuit_component/compare/access.html create mode 100644 obj/item/circuit_component/compare/comparison.html create mode 100644 obj/item/circuit_component/compare/logic.html create mode 100644 obj/item/circuit_component/compare/typecheck.html create mode 100644 obj/item/circuit_component/concat.html create mode 100644 obj/item/circuit_component/concat_list.html create mode 100644 obj/item/circuit_component/controller.html create mode 100644 obj/item/circuit_component/conveyor_switch.html create mode 100644 obj/item/circuit_component/decimal_conversion.html create mode 100644 obj/item/circuit_component/delay.html create mode 100644 obj/item/circuit_component/digital_valve.html create mode 100644 obj/item/circuit_component/direction.html create mode 100644 obj/item/circuit_component/dispenser_bot.html create mode 100644 obj/item/circuit_component/equipment_action.html create mode 100644 obj/item/circuit_component/equipment_action/bci.html create mode 100644 obj/item/circuit_component/filter_list.html create mode 100644 obj/item/circuit_component/firealarm.html create mode 100644 obj/item/circuit_component/foreach.html create mode 100644 obj/item/circuit_component/format.html create mode 100644 obj/item/circuit_component/get_column.html create mode 100644 obj/item/circuit_component/get_variable.html create mode 100644 obj/item/circuit_component/gps.html create mode 100644 obj/item/circuit_component/health.html create mode 100644 obj/item/circuit_component/hear.html create mode 100644 obj/item/circuit_component/hydroponics.html create mode 100644 obj/item/circuit_component/id_access_reader.html create mode 100644 obj/item/circuit_component/id_getter.html create mode 100644 obj/item/circuit_component/id_info_reader.html create mode 100644 obj/item/circuit_component/index.html create mode 100644 obj/item/circuit_component/index_table.html create mode 100644 obj/item/circuit_component/input_request.html create mode 100644 obj/item/circuit_component/keyboard_shell.html create mode 100644 obj/item/circuit_component/laserpointer.html create mode 100644 obj/item/circuit_component/length.html create mode 100644 obj/item/circuit_component/light.html create mode 100644 obj/item/circuit_component/light_switch.html create mode 100644 obj/item/circuit_component/list_literal.html create mode 100644 obj/item/circuit_component/list_pick.html create mode 100644 obj/item/circuit_component/listin.html create mode 100644 obj/item/circuit_component/matscanner.html create mode 100644 obj/item/circuit_component/medical_console_data.html create mode 100644 obj/item/circuit_component/mmi.html create mode 100644 obj/item/circuit_component/mod_adapter_core.html create mode 100644 obj/item/circuit_component/module.html create mode 100644 obj/item/circuit_component/module_input.html create mode 100644 obj/item/circuit_component/module_output.html create mode 100644 obj/item/circuit_component/money_bot.html create mode 100644 obj/item/circuit_component/money_dispenser.html create mode 100644 obj/item/circuit_component/not.html create mode 100644 obj/item/circuit_component/ntnet_receive.html create mode 100644 obj/item/circuit_component/ntnet_send.html create mode 100644 obj/item/circuit_component/object_overlay.html create mode 100644 obj/item/circuit_component/pressuresensor.html create mode 100644 obj/item/circuit_component/proccall.html create mode 100644 obj/item/circuit_component/pull.html create mode 100644 obj/item/circuit_component/radio.html create mode 100644 obj/item/circuit_component/random.html create mode 100644 obj/item/circuit_component/reagentscanner.html create mode 100644 obj/item/circuit_component/reflector.html create mode 100644 obj/item/circuit_component/router.html create mode 100644 obj/item/circuit_component/save_shell.html create mode 100644 obj/item/circuit_component/scanner_gate.html create mode 100644 obj/item/circuit_component/sdql_operation.html create mode 100644 obj/item/circuit_component/select.html create mode 100644 obj/item/circuit_component/self.html create mode 100644 obj/item/circuit_component/set_variable.html create mode 100644 obj/item/circuit_component/signal_handler.html create mode 100644 obj/item/circuit_component/soundemitter.html create mode 100644 obj/item/circuit_component/spawn_atom.html create mode 100644 obj/item/circuit_component/species.html create mode 100644 obj/item/circuit_component/speech.html create mode 100644 obj/item/circuit_component/split.html create mode 100644 obj/item/circuit_component/synth.html create mode 100644 obj/item/circuit_component/tempsensor.html create mode 100644 obj/item/circuit_component/textcase.html create mode 100644 obj/item/circuit_component/timepiece.html create mode 100644 obj/item/circuit_component/to_type.html create mode 100644 obj/item/circuit_component/tonumber.html create mode 100644 obj/item/circuit_component/tostring.html create mode 100644 obj/item/circuit_component/trigonometry.html create mode 100644 obj/item/circuit_component/variable.html create mode 100644 obj/item/circuit_component/variable/assoc_list/list_remove.html create mode 100644 obj/item/circuit_component/variable/assoc_list/list_set.html create mode 100644 obj/item/circuit_component/variable/getter.html create mode 100644 obj/item/circuit_component/variable/list/listadd.html create mode 100644 obj/item/circuit_component/variable/list/listremove.html create mode 100644 obj/item/circuit_component/variable/setter.html create mode 100644 obj/item/circuit_component/vendor_component.html create mode 100644 obj/item/circuit_component/view_sensor.html create mode 100644 obj/item/circuit_component/vim.html create mode 100644 obj/item/circuit_component/wiremod_gun.html create mode 100644 obj/item/circuit_component/wiremod_scanner.html create mode 100644 obj/item/circuitboard.html create mode 100644 obj/item/circular_saw.html create mode 100644 obj/item/climbing_hook.html create mode 100644 obj/item/clipboard.html create mode 100644 obj/item/clothing.html create mode 100644 obj/item/clothing/accessory.html create mode 100644 obj/item/clothing/accessory/dogtag.html create mode 100644 obj/item/clothing/accessory/medal.html create mode 100644 obj/item/clothing/accessory/medal/silver/emergency_services.html create mode 100644 obj/item/clothing/accessory/spy_bug.html create mode 100644 obj/item/clothing/glasses.html create mode 100644 obj/item/clothing/glasses/nightmare_vision.html create mode 100644 obj/item/clothing/glasses/salesman.html create mode 100644 obj/item/clothing/gloves.html create mode 100644 obj/item/clothing/gloves/cargo_gauntlet.html create mode 100644 obj/item/clothing/gloves/tackler.html create mode 100644 obj/item/clothing/head.html create mode 100644 obj/item/clothing/head/beanie/black/dboy.html create mode 100644 obj/item/clothing/head/costume/foilhat.html create mode 100644 obj/item/clothing/head/costume/ushanka.html create mode 100644 obj/item/clothing/head/cowboy.html create mode 100644 obj/item/clothing/head/fedora/det_hat.html create mode 100644 obj/item/clothing/head/fedora/inspector_hat.html create mode 100644 obj/item/clothing/head/hats/tophat.html create mode 100644 obj/item/clothing/head/helmet/monkey_sentience.html create mode 100644 obj/item/clothing/head/helmet/toggleable.html create mode 100644 obj/item/clothing/head/helmet/toggleable/justice.html create mode 100644 obj/item/clothing/head/hooded/berserker.html create mode 100644 obj/item/clothing/head/utility/chefhat.html create mode 100644 obj/item/clothing/head/utility/hardhat.html create mode 100644 obj/item/clothing/head/utility/hardhat/welding.html create mode 100644 obj/item/clothing/mask.html create mode 100644 obj/item/clothing/mask/animal.html create mode 100644 obj/item/clothing/mask/chameleon.html create mode 100644 obj/item/clothing/mask/cigarette.html create mode 100644 obj/item/clothing/mask/cigarette/pipe.html create mode 100644 obj/item/clothing/mask/gas.html create mode 100644 obj/item/clothing/mask/gas/ninja.html create mode 100644 obj/item/clothing/mask/gas/sechailer.html create mode 100644 obj/item/clothing/mask/madness_mask.html create mode 100644 obj/item/clothing/mask/muzzle/tape.html create mode 100644 obj/item/clothing/mask/vape.html create mode 100644 obj/item/clothing/neck/eldritch_amulet.html create mode 100644 obj/item/clothing/neck/link_scryer.html create mode 100644 obj/item/clothing/neck/necklace/dope/merchant.html create mode 100644 obj/item/clothing/neck/tie.html create mode 100644 obj/item/clothing/shoes.html create mode 100644 obj/item/clothing/shoes/clown_shoes.html create mode 100644 obj/item/clothing/shoes/clown_shoes/banana_shoes.html create mode 100644 obj/item/clothing/shoes/cowboy.html create mode 100644 obj/item/clothing/shoes/gunboots.html create mode 100644 obj/item/clothing/shoes/magboots.html create mode 100644 obj/item/clothing/shoes/wheelys.html create mode 100644 obj/item/clothing/suit/armor/abductor/vest.html create mode 100644 obj/item/clothing/suit/armor/reactive.html create mode 100644 obj/item/clothing/suit/armor/reactive/barricade.html create mode 100644 obj/item/clothing/suit/armor/reactive/bioscrambling.html create mode 100644 obj/item/clothing/suit/armor/reactive/stealth.html create mode 100644 obj/item/clothing/suit/armor/reactive/tesla.html create mode 100644 obj/item/clothing/suit/armor/vest/ctf.html create mode 100644 obj/item/clothing/suit/costume/wellworn_shirt.html create mode 100644 obj/item/clothing/suit/hooded.html create mode 100644 obj/item/clothing/suit/hooded/cloak/godslayer.html create mode 100644 obj/item/clothing/suit/hooded/cultrobes.html create mode 100644 obj/item/clothing/suit/hooded/cultrobes/cult_shield.html create mode 100644 obj/item/clothing/suit/hooded/cultrobes/void.html create mode 100644 obj/item/clothing/suit/hooded/wintercoat.html create mode 100644 obj/item/clothing/suit/space.html create mode 100644 obj/item/clothing/suit/toggle.html create mode 100644 obj/item/clothing/under.html create mode 100644 obj/item/codex_cicatrix.html create mode 100644 obj/item/coin.html create mode 100644 obj/item/coin/eldritch.html create mode 100644 obj/item/computer_disk.html create mode 100644 obj/item/computer_disk/command.html create mode 100644 obj/item/computer_disk/virus.html create mode 100644 obj/item/computer_disk/virus/frame.html create mode 100644 obj/item/construction.html create mode 100644 obj/item/construction/plumbing.html create mode 100644 obj/item/construction/plumbing/research.html create mode 100644 obj/item/construction/plumbing/service.html create mode 100644 obj/item/construction/rcd.html create mode 100644 obj/item/construction/rld.html create mode 100644 obj/item/construction/rtd.html create mode 100644 obj/item/coupon.html create mode 100644 obj/item/crowbar/power.html create mode 100644 obj/item/crusher_trophy/bileworm_spewlet.html create mode 100644 obj/item/crusher_trophy/brimdemon_fang.html create mode 100644 obj/item/crusher_trophy/broodmother_tongue.html create mode 100644 obj/item/crusher_trophy/goliath_tentacle.html create mode 100644 obj/item/crusher_trophy/ice_demon_cube.html create mode 100644 obj/item/crusher_trophy/legionnaire_spine.html create mode 100644 obj/item/ctf_flag.html create mode 100644 obj/item/cult_bastard.html create mode 100644 obj/item/cult_shift.html create mode 100644 obj/item/defibrillator.html create mode 100644 obj/item/delivery.html create mode 100644 obj/item/dest_tagger.html create mode 100644 obj/item/detective_scanner.html create mode 100644 obj/item/dice.html create mode 100644 obj/item/dice/d20/fate.html create mode 100644 obj/item/disk/design_disk.html create mode 100644 obj/item/disk/design_disk/bepis.html create mode 100644 obj/item/disk/design_disk/limbs.html create mode 100644 obj/item/disk/nuclear.html create mode 100644 obj/item/dna_probe.html create mode 100644 obj/item/documents.html create mode 100644 obj/item/documents/photocopy.html create mode 100644 obj/item/door_seal.html create mode 100644 obj/item/dualsaber.html create mode 100644 obj/item/dullahan_relay.html create mode 100644 obj/item/dyespray.html create mode 100644 obj/item/ectoplasm/revenant.html create mode 100644 obj/item/eldritch_potion.html create mode 100644 obj/item/electronics/airlock.html create mode 100644 obj/item/encryptionkey.html create mode 100644 obj/item/energy_katana.html create mode 100644 obj/item/exodrone.html create mode 100644 obj/item/extinguisher.html create mode 100644 obj/item/extraction_pack.html create mode 100644 obj/item/eyesnatcher.html create mode 100644 obj/item/fireaxe.html create mode 100644 obj/item/firelance.html create mode 100644 obj/item/firing_pin.html create mode 100644 obj/item/firing_pin/paywall.html create mode 100644 obj/item/fish.html create mode 100644 obj/item/fish/starfish.html create mode 100644 obj/item/fish_analyzer.html create mode 100644 obj/item/fishing_hook.html create mode 100644 obj/item/fishing_line.html create mode 100644 obj/item/fishing_rod.html create mode 100644 obj/item/fishing_rod/telescopic.html create mode 100644 obj/item/flashlight.html create mode 100644 obj/item/flashlight/emp.html create mode 100644 obj/item/flashlight/flare.html create mode 100644 obj/item/flashlight/flare/candle.html create mode 100644 obj/item/flashlight/flashdark.html create mode 100644 obj/item/flashlight/glowstick.html create mode 100644 obj/item/flashlight/pen/paramedic.html create mode 100644 obj/item/flashlight/spotlight.html create mode 100644 obj/item/folder.html create mode 100644 obj/item/folder/biscuit.html create mode 100644 obj/item/folder/biscuit/unsealed.html create mode 100644 obj/item/food.html create mode 100644 obj/item/food/badrecipe.html create mode 100644 obj/item/food/baguette.html create mode 100644 obj/item/food/baguette/combat.html create mode 100644 obj/item/food/bait.html create mode 100644 obj/item/food/bread.html create mode 100644 obj/item/food/bubblegum.html create mode 100644 obj/item/food/bubblegum/bubblegum.html create mode 100644 obj/item/food/cake.html create mode 100644 obj/item/food/canned/envirochow.html create mode 100644 obj/item/food/cheese.html create mode 100644 obj/item/food/cheese/wheel.html create mode 100644 obj/item/food/clothing.html create mode 100644 obj/item/food/deadmouse.html create mode 100644 obj/item/food/donkpocket.html create mode 100644 obj/item/food/donut.html create mode 100644 obj/item/food/egg.html create mode 100644 obj/item/food/egg/watcher.html create mode 100644 obj/item/food/fishmeat/carp.html create mode 100644 obj/item/food/golem_food.html create mode 100644 obj/item/food/grown.html create mode 100644 obj/item/food/grown/banana.html create mode 100644 obj/item/food/grown/mushroom.html create mode 100644 obj/item/food/grown/pumpkin.html create mode 100644 obj/item/food/icecream.html create mode 100644 obj/item/food/meat/cutlet.html create mode 100644 obj/item/food/meat/slab.html create mode 100644 obj/item/food/meat/steak/plain/human.html create mode 100644 obj/item/food/monkeycube.html create mode 100644 obj/item/food/nugget.html create mode 100644 obj/item/food/pancakes.html create mode 100644 obj/item/food/pie.html create mode 100644 obj/item/food/pizza.html create mode 100644 obj/item/food/rationpack.html create mode 100644 obj/item/food/ready_donk.html create mode 100644 obj/item/food/sandwich/death.html create mode 100644 obj/item/forcefield_projector.html create mode 100644 obj/item/frog_contract.html create mode 100644 obj/item/frog_statue.html create mode 100644 obj/item/fuel_pellet.html create mode 100644 obj/item/fugu_gland.html create mode 100644 obj/item/gas_filter.html create mode 100644 obj/item/gibtonite.html create mode 100644 obj/item/gibtonite_hand.html create mode 100644 obj/item/gift.html create mode 100644 obj/item/golem_shell.html create mode 100644 obj/item/goliath_infuser_hammer.html create mode 100644 obj/item/gps.html create mode 100644 obj/item/graft.html create mode 100644 obj/item/greentext.html create mode 100644 obj/item/grenade.html create mode 100644 obj/item/grenade/c4.html create mode 100644 obj/item/grenade/c4/es8.html create mode 100644 obj/item/grenade/c4/ninja.html create mode 100644 obj/item/grenade/chem_grenade.html create mode 100644 obj/item/grenade/gas_crystal/healium_crystal.html create mode 100644 obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html create mode 100644 obj/item/grenade/gas_crystal/proto_nitrate_crystal.html create mode 100644 obj/item/grenade/mirage.html create mode 100644 obj/item/grenade/primer.html create mode 100644 obj/item/grenade/smokebomb.html create mode 100644 obj/item/grown.html create mode 100644 obj/item/guardian_creator.html create mode 100644 obj/item/gun.html create mode 100644 obj/item/gun/ballistic.html create mode 100644 obj/item/gun/ballistic/automatic.html create mode 100644 obj/item/gun/ballistic/automatic/tommygun.html create mode 100644 obj/item/gun/ballistic/bow.html create mode 100644 obj/item/gun/ballistic/revolver/chaplain.html create mode 100644 obj/item/gun/ballistic/rocketlauncher.html create mode 100644 obj/item/gun/ballistic/shotgun/automatic/dual_tube.html create mode 100644 obj/item/gun/ballistic/shotgun/bulldog.html create mode 100644 obj/item/gun/blastcannon.html create mode 100644 obj/item/gun/energy.html create mode 100644 obj/item/gun/energy/beam_rifle.html create mode 100644 obj/item/gun/energy/dueling.html create mode 100644 obj/item/gun/energy/laser/chameleon.html create mode 100644 obj/item/gun/energy/marksman_revolver.html create mode 100644 obj/item/gun/energy/recharge.html create mode 100644 obj/item/gun/magic.html create mode 100644 obj/item/gun/magic/midas_hand.html create mode 100644 obj/item/gun/magic/staff.html create mode 100644 obj/item/gun/magic/staff/change.html create mode 100644 obj/item/gun/magic/staff/chaos.html create mode 100644 obj/item/gun/magic/staff/healing.html create mode 100644 obj/item/gun/medbeam.html create mode 100644 obj/item/gun/syringe.html create mode 100644 obj/item/hallucinated.html create mode 100644 obj/item/hand_item/circlegame.html create mode 100644 obj/item/hand_item/kisser.html create mode 100644 obj/item/hand_item/noogie.html create mode 100644 obj/item/hand_item/self_grasp.html create mode 100644 obj/item/hand_item/slapper.html create mode 100644 obj/item/hand_tele.html create mode 100644 obj/item/hardened_spike.html create mode 100644 obj/item/hardened_spike/chem.html create mode 100644 obj/item/harmalarm.html create mode 100644 obj/item/healthanalyzer.html create mode 100644 obj/item/healthanalyzer/simple.html create mode 100644 obj/item/hemostat.html create mode 100644 obj/item/heretic_labyrinth_handbook.html create mode 100644 obj/item/hfr_box.html create mode 100644 obj/item/hierophant_club.html create mode 100644 obj/item/highfrequencyblade.html create mode 100644 obj/item/house_edge.html create mode 100644 obj/item/implant.html create mode 100644 obj/item/implant/abductor.html create mode 100644 obj/item/implant/beacon.html create mode 100644 obj/item/implant/chem.html create mode 100644 obj/item/implant/explosive.html create mode 100644 obj/item/implant/mod.html create mode 100644 obj/item/implant/nuclear_operative.html create mode 100644 obj/item/implant/spell.html create mode 100644 obj/item/implant/teleport_blocker.html create mode 100644 obj/item/implant/tracking.html create mode 100644 obj/item/implant/tracking/c38.html create mode 100644 obj/item/implant/uplink.html create mode 100644 obj/item/implantcase.html create mode 100644 obj/item/implanter.html create mode 100644 obj/item/inspector.html create mode 100644 obj/item/inspector/clown.html create mode 100644 obj/item/inspector/clown/bananium.html create mode 100644 obj/item/instrument.html create mode 100644 obj/item/instrument/violin/festival.html create mode 100644 obj/item/integrated_circuit.html create mode 100644 obj/item/janicart_upgrade.html create mode 100644 obj/item/kheiral_cuffs.html create mode 100644 obj/item/kirbyplants.html create mode 100644 obj/item/kitchen/tongs.html create mode 100644 obj/item/knife.html create mode 100644 obj/item/knife/bloodletter.html create mode 100644 obj/item/language_manual.html create mode 100644 obj/item/laser_pointer.html create mode 100644 obj/item/lazarus_injector.html create mode 100644 obj/item/light.html create mode 100644 obj/item/lighter.html create mode 100644 obj/item/lighter/greyscale.html create mode 100644 obj/item/lightreplacer.html create mode 100644 obj/item/lipstick.html create mode 100644 obj/item/mail.html create mode 100644 obj/item/mail/junkmail.html create mode 100644 obj/item/mail/traitor.html create mode 100644 obj/item/market_uplink.html create mode 100644 obj/item/match.html create mode 100644 obj/item/mecha_ammo.html create mode 100644 obj/item/mecha_parts/mecha_equipment.html create mode 100644 obj/item/mecha_parts/mecha_equipment/air_tank.html create mode 100644 obj/item/mecha_parts/mecha_equipment/armor.html create mode 100644 obj/item/mecha_parts/mecha_equipment/ejector.html create mode 100644 obj/item/mecha_parts/mecha_equipment/extinguisher.html create mode 100644 obj/item/mecha_parts/mecha_equipment/generator.html create mode 100644 obj/item/mecha_parts/mecha_equipment/gravcatapult.html create mode 100644 obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html create mode 100644 obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html create mode 100644 obj/item/mecha_parts/mecha_equipment/medical/sleeper.html create mode 100644 obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html create mode 100644 obj/item/mecha_parts/mecha_equipment/radio.html create mode 100644 obj/item/mecha_parts/mecha_equipment/rcd.html create mode 100644 obj/item/mecha_parts/mecha_equipment/repair_droid.html create mode 100644 obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html create mode 100644 obj/item/mecha_parts/mecha_equipment/weapon/paddy_claw.html create mode 100644 obj/item/mecha_parts/mecha_tracking.html create mode 100644 obj/item/melee/baseball_bat.html create mode 100644 obj/item/melee/baton.html create mode 100644 obj/item/melee/baton/security.html create mode 100644 obj/item/melee/baton/security/cattleprod.html create mode 100644 obj/item/melee/baton/telescopic.html create mode 100644 obj/item/melee/cleaving_saw.html create mode 100644 obj/item/melee/energy.html create mode 100644 obj/item/melee/energy/blade.html create mode 100644 obj/item/melee/energy/sword/bananium.html create mode 100644 obj/item/melee/energy/sword/cyborg.html create mode 100644 obj/item/melee/energy/sword/saber.html create mode 100644 obj/item/melee/flyswatter.html create mode 100644 obj/item/melee/powerfist.html create mode 100644 obj/item/melee/roastingstick.html create mode 100644 obj/item/melee/rune_carver.html create mode 100644 obj/item/melee/sabre.html create mode 100644 obj/item/melee/skateboard.html create mode 100644 obj/item/melee/touch_attack.html create mode 100644 obj/item/mending_globule.html create mode 100644 obj/item/minespawner.html create mode 100644 obj/item/mmi.html create mode 100644 obj/item/mmi/posibrain.html create mode 100644 obj/item/mod/control.html create mode 100644 obj/item/mod/control/pre_equipped.html create mode 100644 obj/item/mod/control/pre_equipped/responsory.html create mode 100644 obj/item/mod/core.html create mode 100644 obj/item/mod/core/ethereal.html create mode 100644 obj/item/mod/core/plasma.html create mode 100644 obj/item/mod/core/plasma/lavaland.html create mode 100644 obj/item/mod/core/standard.html create mode 100644 obj/item/mod/module.html create mode 100644 obj/item/mod/module/active_sonar.html create mode 100644 obj/item/mod/module/adrenaline_boost.html create mode 100644 obj/item/mod/module/anomaly_locked.html create mode 100644 obj/item/mod/module/anomaly_locked/kinesis.html create mode 100644 obj/item/mod/module/anomaly_locked/kinesis/admin.html create mode 100644 obj/item/mod/module/anomaly_locked/teleporter.html create mode 100644 obj/item/mod/module/armor_booster.html create mode 100644 obj/item/mod/module/ash_accretion.html create mode 100644 obj/item/mod/module/atrocinator.html create mode 100644 obj/item/mod/module/chameleon.html create mode 100644 obj/item/mod/module/circuit.html create mode 100644 obj/item/mod/module/clamp.html create mode 100644 obj/item/mod/module/criminalcapture.html create mode 100644 obj/item/mod/module/dispenser.html create mode 100644 obj/item/mod/module/dna_lock.html create mode 100644 obj/item/mod/module/energy_net.html create mode 100644 obj/item/mod/module/energy_shield.html create mode 100644 obj/item/mod/module/eradication_lock.html create mode 100644 obj/item/mod/module/flashlight.html create mode 100644 obj/item/mod/module/hacker.html create mode 100644 obj/item/mod/module/hat_stabilizer.html create mode 100644 obj/item/mod/module/health_analyzer.html create mode 100644 obj/item/mod/module/holster.html create mode 100644 obj/item/mod/module/hydraulic.html create mode 100644 obj/item/mod/module/jetpack.html create mode 100644 obj/item/mod/module/joint_torsion.html create mode 100644 obj/item/mod/module/magboot.html create mode 100644 obj/item/mod/module/magnetic_harness.html create mode 100644 obj/item/mod/module/megaphone.html create mode 100644 obj/item/mod/module/mister.html create mode 100644 obj/item/mod/module/mouthhole.html create mode 100644 obj/item/mod/module/orebag.html create mode 100644 obj/item/mod/module/organ_thrower.html create mode 100644 obj/item/mod/module/paper_dispenser.html create mode 100644 obj/item/mod/module/pathfinder.html create mode 100644 obj/item/mod/module/plate_compression.html create mode 100644 obj/item/mod/module/power_kick.html create mode 100644 obj/item/mod/module/projectile_dampener.html create mode 100644 obj/item/mod/module/rad_protection.html create mode 100644 obj/item/mod/module/recycler.html create mode 100644 obj/item/mod/module/recycler/donk.html create mode 100644 obj/item/mod/module/rewinder.html create mode 100644 obj/item/mod/module/shooting_assistant.html create mode 100644 obj/item/mod/module/sphere_transform.html create mode 100644 obj/item/mod/module/springlock.html create mode 100644 obj/item/mod/module/status_readout.html create mode 100644 obj/item/mod/module/stealth.html create mode 100644 obj/item/mod/module/storage.html create mode 100644 obj/item/mod/module/t_ray.html create mode 100644 obj/item/mod/module/tem.html create mode 100644 obj/item/mod/module/thermal_regulator.html create mode 100644 obj/item/mod/module/thread_ripper.html create mode 100644 obj/item/mod/module/timeline_jumper.html create mode 100644 obj/item/mod/module/timestopper.html create mode 100644 obj/item/mod/module/visor.html create mode 100644 obj/item/mod/module/visor/rave.html create mode 100644 obj/item/mod/module/weapon_recall.html create mode 100644 obj/item/modular_computer.html create mode 100644 obj/item/modular_computer/pda.html create mode 100644 obj/item/modular_computer/pda/clown.html create mode 100644 obj/item/modular_computer/pda/nukeops.html create mode 100644 obj/item/modular_computer/pda/silicon.html create mode 100644 obj/item/modular_computer/processor.html create mode 100644 obj/item/mop.html create mode 100644 obj/item/mop/advanced.html create mode 100644 obj/item/multitool.html create mode 100644 obj/item/multitool/circuit.html create mode 100644 obj/item/mutant_hand.html create mode 100644 obj/item/necromantic_stone.html create mode 100644 obj/item/nuclear_challenge.html create mode 100644 obj/item/nullrod.html create mode 100644 obj/item/nullrod/staff.html create mode 100644 obj/item/organ.html create mode 100644 obj/item/organ/external.html create mode 100644 obj/item/organ/external/antennae.html create mode 100644 obj/item/organ/external/spines.html create mode 100644 obj/item/organ/external/tail.html create mode 100644 obj/item/organ/external/tail/lizard.html create mode 100644 obj/item/organ/external/wings.html create mode 100644 obj/item/organ/external/wings/functional.html create mode 100644 obj/item/organ/external/wings/moth.html create mode 100644 obj/item/organ/internal.html create mode 100644 obj/item/organ/internal/alien/hivenode.html create mode 100644 obj/item/organ/internal/alien/plasmavessel.html create mode 100644 obj/item/organ/internal/appendix/golem.html create mode 100644 obj/item/organ/internal/body_egg/alien_embryo.html create mode 100644 obj/item/organ/internal/body_egg/changeling_egg.html create mode 100644 obj/item/organ/internal/brain.html create mode 100644 obj/item/organ/internal/brain/carp.html create mode 100644 obj/item/organ/internal/brain/primate.html create mode 100644 obj/item/organ/internal/brain/shadow/nightmare.html create mode 100644 obj/item/organ/internal/cyberimp/arm.html create mode 100644 obj/item/organ/internal/cyberimp/arm/muscle.html create mode 100644 obj/item/organ/internal/cyberimp/chest/reviver.html create mode 100644 obj/item/organ/internal/cyberimp/eyes/hud.html create mode 100644 obj/item/organ/internal/eyes.html create mode 100644 obj/item/organ/internal/eyes/robotic/glow.html create mode 100644 obj/item/organ/internal/heart.html create mode 100644 obj/item/organ/internal/heart/ethereal.html create mode 100644 obj/item/organ/internal/heart/freedom.html create mode 100644 obj/item/organ/internal/heart/gland.html create mode 100644 obj/item/organ/internal/heart/gondola.html create mode 100644 obj/item/organ/internal/heart/nightmare.html create mode 100644 obj/item/organ/internal/heart/roach.html create mode 100644 obj/item/organ/internal/legion_tumour.html create mode 100644 obj/item/organ/internal/liver.html create mode 100644 obj/item/organ/internal/liver/bone.html create mode 100644 obj/item/organ/internal/liver/golem.html create mode 100644 obj/item/organ/internal/liver/gondola.html create mode 100644 obj/item/organ/internal/lungs.html create mode 100644 obj/item/organ/internal/lungs/ethereal.html create mode 100644 obj/item/organ/internal/monster_core.html create mode 100644 obj/item/organ/internal/monster_core/brimdust_sac.html create mode 100644 obj/item/organ/internal/monster_core/regenerative_core.html create mode 100644 obj/item/organ/internal/stomach.html create mode 100644 obj/item/organ/internal/stomach/ethereal.html create mode 100644 obj/item/organ/internal/stomach/golem.html create mode 100644 obj/item/organ/internal/tongue.html create mode 100644 obj/item/pai_card.html create mode 100644 obj/item/paint.html create mode 100644 obj/item/paint/anycolor.html create mode 100644 obj/item/paint_palette.html create mode 100644 obj/item/paper.html create mode 100644 obj/item/paper/fake_report.html create mode 100644 obj/item/paper/fake_report/water.html create mode 100644 obj/item/paper/monitorkey.html create mode 100644 obj/item/paper/report.html create mode 100644 obj/item/paper/secretrecipe.html create mode 100644 obj/item/paper_bin.html create mode 100644 obj/item/paper_bin/bundlenatural.html create mode 100644 obj/item/papercutter.html create mode 100644 obj/item/paperwork.html create mode 100644 obj/item/paperwork/photocopy.html create mode 100644 obj/item/pen/edagger.html create mode 100644 obj/item/petri_dish.html create mode 100644 obj/item/ph_booklet.html create mode 100644 obj/item/ph_meter.html create mode 100644 obj/item/ph_paper.html create mode 100644 obj/item/photo.html create mode 100644 obj/item/pillow.html create mode 100644 obj/item/pinata.html create mode 100644 obj/item/pinpointer.html create mode 100644 obj/item/pinpointer/crew.html create mode 100644 obj/item/pipe.html create mode 100644 obj/item/pipe_dispenser.html create mode 100644 obj/item/pitchfork.html create mode 100644 obj/item/pizzabox.html create mode 100644 obj/item/pizzabox/infinite.html create mode 100644 obj/item/plant_analyzer.html create mode 100644 obj/item/plaque.html create mode 100644 obj/item/plate.html create mode 100644 obj/item/plate_shard.html create mode 100644 obj/item/plunger.html create mode 100644 obj/item/polymorph_belt.html create mode 100644 obj/item/poster.html create mode 100644 obj/item/poster/quirk.html create mode 100644 obj/item/powersink.html create mode 100644 obj/item/pressure_plate.html create mode 100644 obj/item/pressure_plate/puzzle.html create mode 100644 obj/item/pushbroom.html create mode 100644 obj/item/quantum_keycard.html create mode 100644 obj/item/queen_bee.html create mode 100644 obj/item/radio.html create mode 100644 obj/item/radio/headset.html create mode 100644 obj/item/radio/intercom.html create mode 100644 obj/item/raw_anomaly_core.html create mode 100644 obj/item/rcl.html create mode 100644 obj/item/reagent_containers.html create mode 100644 obj/item/reagent_containers/blood.html create mode 100644 obj/item/reagent_containers/borghypo.html create mode 100644 obj/item/reagent_containers/borghypo/medical.html create mode 100644 obj/item/reagent_containers/chemtank.html create mode 100644 obj/item/reagent_containers/condiment.html create mode 100644 obj/item/reagent_containers/condiment/pack.html create mode 100644 obj/item/reagent_containers/cup.html create mode 100644 obj/item/reagent_containers/cup/bottle/syrup_bottle.html create mode 100644 obj/item/reagent_containers/cup/bowl.html create mode 100644 obj/item/reagent_containers/cup/glass/bottle.html create mode 100644 obj/item/reagent_containers/cup/glass/bottle/champagne.html create mode 100644 obj/item/reagent_containers/cup/glass/bottle/pruno.html create mode 100644 obj/item/reagent_containers/cup/glass/colocup.html create mode 100644 obj/item/reagent_containers/cup/glass/drinkingglass.html create mode 100644 obj/item/reagent_containers/cup/rag.html create mode 100644 obj/item/reagent_containers/cup/soda_cans.html create mode 100644 obj/item/reagent_containers/cup/soup_pot.html create mode 100644 obj/item/reagent_containers/cup/watering_can/advanced.html create mode 100644 obj/item/reagent_containers/hypospray.html create mode 100644 obj/item/reagent_containers/pill.html create mode 100644 obj/item/reagent_containers/spray.html create mode 100644 obj/item/reagent_containers/syringe.html create mode 100644 obj/item/relic.html create mode 100644 obj/item/research_notes.html create mode 100644 obj/item/resonator.html create mode 100644 obj/item/restraints.html create mode 100644 obj/item/restraints/handcuffs.html create mode 100644 obj/item/restraints/handcuffs/cable.html create mode 100644 obj/item/restraints/handcuffs/cable/sinew.html create mode 100644 obj/item/restraints/legcuffs/beartrap.html create mode 100644 obj/item/restraints/legcuffs/beartrap/energy.html create mode 100644 obj/item/restraints/legcuffs/bola.html create mode 100644 obj/item/restraints/legcuffs/bola/energy.html create mode 100644 obj/item/restraints/legcuffs/bola/gonbola.html create mode 100644 obj/item/restraints/legcuffs/bola/tactical.html create mode 100644 obj/item/resurrection_crystal.html create mode 100644 obj/item/retractor.html create mode 100644 obj/item/reverse_bear_trap.html create mode 100644 obj/item/ritual_totem.html create mode 100644 obj/item/robot_model.html create mode 100644 obj/item/robot_model/janitor.html create mode 100644 obj/item/robot_suit.html create mode 100644 obj/item/rpd_upgrade.html create mode 100644 obj/item/rsf.html create mode 100644 obj/item/rsf/cookiesynth.html create mode 100644 obj/item/runic_vendor_scepter.html create mode 100644 obj/item/rwd.html create mode 100644 obj/item/rwd/loaded.html create mode 100644 obj/item/sales_tagger.html create mode 100644 obj/item/scalpel.html create mode 100644 obj/item/screwdriver.html create mode 100644 obj/item/secateurs.html create mode 100644 obj/item/seeds.html create mode 100644 obj/item/seeds/replicapod.html create mode 100644 obj/item/sequence_scanner.html create mode 100644 obj/item/sharpener.html create mode 100644 obj/item/sharpener/super.html create mode 100644 obj/item/shield.html create mode 100644 obj/item/shield/energy.html create mode 100644 obj/item/shield/riot/flash.html create mode 100644 obj/item/shield/riot/tele.html create mode 100644 obj/item/shockpaddles.html create mode 100644 obj/item/shovel/giant_wrench.html create mode 100644 obj/item/shuttle_curse.html create mode 100644 obj/item/sign.html create mode 100644 obj/item/singularityhammer.html create mode 100644 obj/item/skillchip.html create mode 100644 obj/item/skillchip/job/chef.html create mode 100644 obj/item/slime_extract.html create mode 100644 obj/item/slimecross/burning/oil.html create mode 100644 obj/item/slimecross/stabilized.html create mode 100644 obj/item/slimepotion.html create mode 100644 obj/item/slimepotion/slime/sentience.html create mode 100644 obj/item/slimepotion/slime/sentience/mining.html create mode 100644 obj/item/soap.html create mode 100644 obj/item/soulscythe.html create mode 100644 obj/item/soulstone.html create mode 100644 obj/item/sparkler.html create mode 100644 obj/item/sparring_contract.html create mode 100644 obj/item/spear.html create mode 100644 obj/item/spellbook.html create mode 100644 obj/item/spess_knife.html create mode 100644 obj/item/stack.html create mode 100644 obj/item/stack/cannonball.html create mode 100644 obj/item/stack/conveyor.html create mode 100644 obj/item/stack/ducts.html create mode 100644 obj/item/stack/license_plates/filled.html create mode 100644 obj/item/stack/medical.html create mode 100644 obj/item/stack/medical/mesh.html create mode 100644 obj/item/stack/ore/bluespace_crystal.html create mode 100644 obj/item/stack/pipe_cleaner_coil.html create mode 100644 obj/item/stack/pipe_cleaner_coil/cyborg.html create mode 100644 obj/item/stack/sheet.html create mode 100644 obj/item/stack/sheet/wethide.html create mode 100644 obj/item/stack/sticky_tape.html create mode 100644 obj/item/stack/tile.html create mode 100644 obj/item/stack/tile/carpet/neon.html create mode 100644 obj/item/stack/tile/mineral.html create mode 100644 obj/item/sticker.html create mode 100644 obj/item/stock_block.html create mode 100644 obj/item/stock_parts.html create mode 100644 obj/item/stock_parts/cell.html create mode 100644 obj/item/storage.html create mode 100644 obj/item/storage/backpack/duffelbag.html create mode 100644 obj/item/storage/backpack/meat.html create mode 100644 obj/item/storage/bag/money/dutchmen.html create mode 100644 obj/item/storage/bag/ore.html create mode 100644 obj/item/storage/bag/quiver.html create mode 100644 obj/item/storage/bag/trash.html create mode 100644 obj/item/storage/box.html create mode 100644 obj/item/storage/box/donkpockets.html create mode 100644 obj/item/storage/box/holy.html create mode 100644 obj/item/storage/box/monkeycubes.html create mode 100644 obj/item/storage/box/papersack.html create mode 100644 obj/item/storage/box/posterbox.html create mode 100644 obj/item/storage/box/survival.html create mode 100644 obj/item/storage/box/syndie_kit/poster_box.html create mode 100644 obj/item/storage/fancy.html create mode 100644 obj/item/storage/fancy/cigarettes.html create mode 100644 obj/item/storage/lockbox.html create mode 100644 obj/item/storage/medkit.html create mode 100644 obj/item/storage/organbox.html create mode 100644 obj/item/storage/part_replacer/bluespace.html create mode 100644 obj/item/storage/pod.html create mode 100644 obj/item/storage/portable_chem_mixer.html create mode 100644 obj/item/storage/toolbox/mechanical.html create mode 100644 obj/item/storage/wallet.html create mode 100644 obj/item/style_meter.html create mode 100644 obj/item/surgery_tray.html create mode 100644 obj/item/surgicaldrill.html create mode 100644 obj/item/swab.html create mode 100644 obj/item/switchblade.html create mode 100644 obj/item/syndicate_teleporter.html create mode 100644 obj/item/table_clock.html create mode 100644 obj/item/tank.html create mode 100644 obj/item/tank/internals.html create mode 100644 obj/item/tank/jetpack.html create mode 100644 obj/item/tape.html create mode 100644 obj/item/taperecorder.html create mode 100644 obj/item/target.html create mode 100644 obj/item/tattoo_kit.html create mode 100644 obj/item/tcgcard.html create mode 100644 obj/item/tcgcard_deck.html create mode 100644 obj/item/teleportation_scroll.html create mode 100644 obj/item/thermometer.html create mode 100644 obj/item/throwing_star/stamina/ninja.html create mode 100644 obj/item/tk_grab.html create mode 100644 obj/item/toy/basketball.html create mode 100644 obj/item/toy/captainsaid.html create mode 100644 obj/item/toy/cards.html create mode 100644 obj/item/toy/cards/deck.html create mode 100644 obj/item/toy/cards/deck/tarot/haunted.html create mode 100644 obj/item/toy/crayon.html create mode 100644 obj/item/toy/eldritch_book.html create mode 100644 obj/item/toy/intento.html create mode 100644 obj/item/toy/mecha.html create mode 100644 obj/item/toy/plush.html create mode 100644 obj/item/toy/plush/goatplushie.html create mode 100644 obj/item/toy/plush/moth.html create mode 100644 obj/item/toy/plush/whiny_plushie.html create mode 100644 obj/item/toy/singlecard.html create mode 100644 obj/item/toy/spinningtoy.html create mode 100644 obj/item/toy/sword.html create mode 100644 obj/item/toy/xmas_cracker.html create mode 100644 obj/item/trade_chip.html create mode 100644 obj/item/training_toolbox.html create mode 100644 obj/item/traitor_bug.html create mode 100644 obj/item/traitor_machine_trapper.html create mode 100644 obj/item/traitor_spraycan.html create mode 100644 obj/item/transfer_valve.html create mode 100644 obj/item/trapdoor_remote.html create mode 100644 obj/item/trash/bee.html create mode 100644 obj/item/turbine_parts.html create mode 100644 obj/item/turret_control.html create mode 100644 obj/item/udder.html create mode 100644 obj/item/universal_scanner.html create mode 100644 obj/item/uplink.html create mode 100644 obj/item/usb_cable.html create mode 100644 obj/item/virgin_mary.html create mode 100644 obj/item/vorpalscythe.html create mode 100644 obj/item/warp_whistle.html create mode 100644 obj/item/watcher_hatchling.html create mode 100644 obj/item/weldingtool.html create mode 100644 obj/item/wheelchair.html create mode 100644 obj/item/wirecutters.html create mode 100644 obj/item/wrench/medical.html create mode 100644 obj/lightning_thrower.html create mode 100644 obj/machinery.html create mode 100644 obj/machinery/abductor/console.html create mode 100644 obj/machinery/abductor/experiment.html create mode 100644 obj/machinery/ai_voicechanger.html create mode 100644 obj/machinery/air_sensor.html create mode 100644 obj/machinery/airalarm.html create mode 100644 obj/machinery/airlock_controller.html create mode 100644 obj/machinery/announcement_system.html create mode 100644 obj/machinery/anomalous_crystal.html create mode 100644 obj/machinery/anomalous_crystal/possessor.html create mode 100644 obj/machinery/arena_spawn.html create mode 100644 obj/machinery/atmospherics.html create mode 100644 obj/machinery/atmospherics/components.html create mode 100644 obj/machinery/atmospherics/components/binary.html create mode 100644 obj/machinery/atmospherics/components/binary/crystallizer.html create mode 100644 obj/machinery/atmospherics/components/binary/dp_vent_pump.html create mode 100644 obj/machinery/atmospherics/components/binary/passive_gate.html create mode 100644 obj/machinery/atmospherics/components/binary/pressure_valve.html create mode 100644 obj/machinery/atmospherics/components/binary/pump.html create mode 100644 obj/machinery/atmospherics/components/binary/tank_compressor.html create mode 100644 obj/machinery/atmospherics/components/binary/temperature_gate.html create mode 100644 obj/machinery/atmospherics/components/binary/temperature_pump.html create mode 100644 obj/machinery/atmospherics/components/binary/valve.html create mode 100644 obj/machinery/atmospherics/components/binary/volume_pump.html create mode 100644 obj/machinery/atmospherics/components/tank.html create mode 100644 obj/machinery/atmospherics/components/trinary.html create mode 100644 obj/machinery/atmospherics/components/trinary/filter.html create mode 100644 obj/machinery/atmospherics/components/trinary/mixer.html create mode 100644 obj/machinery/atmospherics/components/unary.html create mode 100644 obj/machinery/atmospherics/components/unary/bluespace_sender.html create mode 100644 obj/machinery/atmospherics/components/unary/hypertorus.html create mode 100644 obj/machinery/atmospherics/components/unary/hypertorus/core.html create mode 100644 obj/machinery/atmospherics/components/unary/outlet_injector.html create mode 100644 obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html create mode 100644 obj/machinery/atmospherics/components/unary/portables_connector.html create mode 100644 obj/machinery/atmospherics/components/unary/thermomachine.html create mode 100644 obj/machinery/atmospherics/components/unary/vent_pump.html create mode 100644 obj/machinery/atmospherics/components/unary/vent_scrubber.html create mode 100644 obj/machinery/atmospherics/miner.html create mode 100644 obj/machinery/atmospherics/pipe.html create mode 100644 obj/machinery/atmospherics/pipe/color_adapter.html create mode 100644 obj/machinery/atmospherics/pipe/layer_manifold.html create mode 100644 obj/machinery/atmospherics/pipe/multiz.html create mode 100644 obj/machinery/atmospherics/pipe/smart.html create mode 100644 obj/machinery/autolathe.html create mode 100644 obj/machinery/barsign.html create mode 100644 obj/machinery/biogenerator.html create mode 100644 obj/machinery/blackbox_recorder.html create mode 100644 obj/machinery/bluespace_vendor.html create mode 100644 obj/machinery/bookbinder.html create mode 100644 obj/machinery/button.html create mode 100644 obj/machinery/button/transport/tram.html create mode 100644 obj/machinery/byteforge.html create mode 100644 obj/machinery/camera.html create mode 100644 obj/machinery/camera/exosuit.html create mode 100644 obj/machinery/chem_dispenser.html create mode 100644 obj/machinery/chem_dispenser/abductor.html create mode 100644 obj/machinery/chem_dispenser/chem_synthesizer.html create mode 100644 obj/machinery/chem_dispenser/drinks.html create mode 100644 obj/machinery/chem_dispenser/drinks/beer.html create mode 100644 obj/machinery/chem_dispenser/mutagen.html create mode 100644 obj/machinery/chem_dispenser/mutagensaltpeter.html create mode 100644 obj/machinery/chem_heater.html create mode 100644 obj/machinery/chem_mass_spec.html create mode 100644 obj/machinery/chem_master.html create mode 100644 obj/machinery/chem_recipe_debug.html create mode 100644 obj/machinery/coffeemaker.html create mode 100644 obj/machinery/coffeemaker/impressa.html create mode 100644 obj/machinery/component_printer.html create mode 100644 obj/machinery/computer.html create mode 100644 obj/machinery/computer/aifixer.html create mode 100644 obj/machinery/computer/arcade/amputation.html create mode 100644 obj/machinery/computer/arcade/battle.html create mode 100644 obj/machinery/computer/arcade/orion_trail.html create mode 100644 obj/machinery/computer/arena.html create mode 100644 obj/machinery/computer/atmos_control.html create mode 100644 obj/machinery/computer/auxiliary_base.html create mode 100644 obj/machinery/computer/bank_machine.html create mode 100644 obj/machinery/computer/camera_advanced.html create mode 100644 obj/machinery/computer/camera_advanced/abductor.html create mode 100644 obj/machinery/computer/camera_advanced/base_construction.html create mode 100644 obj/machinery/computer/camera_advanced/shuttle_docker.html create mode 100644 obj/machinery/computer/camera_advanced/xenobio.html create mode 100644 obj/machinery/computer/cargo.html create mode 100644 obj/machinery/computer/communications.html create mode 100644 obj/machinery/computer/department_orders.html create mode 100644 obj/machinery/computer/exodrone_control_console.html create mode 100644 obj/machinery/computer/exoscanner_control.html create mode 100644 obj/machinery/computer/holodeck.html create mode 100644 obj/machinery/computer/libraryconsole.html create mode 100644 obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker.html create mode 100644 obj/machinery/computer/libraryconsole/bookmanagement.html create mode 100644 obj/machinery/computer/mech_bay_power_console.html create mode 100644 obj/machinery/computer/mechpad.html create mode 100644 obj/machinery/computer/message_monitor.html create mode 100644 obj/machinery/computer/order_console.html create mode 100644 obj/machinery/computer/order_console/mining.html create mode 100644 obj/machinery/computer/pandemic.html create mode 100644 obj/machinery/computer/piratepad_control.html create mode 100644 obj/machinery/computer/piratepad_control/civilian.html create mode 100644 obj/machinery/computer/pod.html create mode 100644 obj/machinery/computer/prisoner.html create mode 100644 obj/machinery/computer/quantum_console.html create mode 100644 obj/machinery/computer/rdconsole.html create mode 100644 obj/machinery/computer/rdservercontrol.html create mode 100644 obj/machinery/computer/records.html create mode 100644 obj/machinery/computer/records/medical.html create mode 100644 obj/machinery/computer/records/security.html create mode 100644 obj/machinery/computer/scan_consolenew.html create mode 100644 obj/machinery/computer/security.html create mode 100644 obj/machinery/computer/security/telescreen.html create mode 100644 obj/machinery/computer/security/telescreen/entertainment.html create mode 100644 obj/machinery/computer/shuttle.html create mode 100644 obj/machinery/computer/shuttle/pod.html create mode 100644 obj/machinery/computer/station_alert.html create mode 100644 obj/machinery/computer/telecomms/monitor.html create mode 100644 obj/machinery/computer/telecomms/server.html create mode 100644 obj/machinery/computer/teleporter.html create mode 100644 obj/machinery/computer/terminal.html create mode 100644 obj/machinery/computer/tournament_controller.html create mode 100644 obj/machinery/computer/tram_controls.html create mode 100644 obj/machinery/computer/turbine_computer.html create mode 100644 obj/machinery/computer/vaultcontroller.html create mode 100644 obj/machinery/computer/warrant.html create mode 100644 obj/machinery/conveyor.html create mode 100644 obj/machinery/conveyor_switch.html create mode 100644 obj/machinery/cryo_cell.html create mode 100644 obj/machinery/ctf.html create mode 100644 obj/machinery/ctf/control_point.html create mode 100644 obj/machinery/ctf/spawner.html create mode 100644 obj/machinery/debug_component_printer.html create mode 100644 obj/machinery/deepfryer.html create mode 100644 obj/machinery/defibrillator_mount.html create mode 100644 obj/machinery/deployable_turret.html create mode 100644 obj/machinery/destructive_scanner.html create mode 100644 obj/machinery/dish_drive.html create mode 100644 obj/machinery/disposal.html create mode 100644 obj/machinery/disposal/bin.html create mode 100644 obj/machinery/dna_infuser.html create mode 100644 obj/machinery/door.html create mode 100644 obj/machinery/door/airlock.html create mode 100644 obj/machinery/door/airlock/external.html create mode 100644 obj/machinery/door/airlock/tram.html create mode 100644 obj/machinery/door/airlock/vault/derelict.html create mode 100644 obj/machinery/door/firedoor.html create mode 100644 obj/machinery/door/password.html create mode 100644 obj/machinery/door/poddoor.html create mode 100644 obj/machinery/door/puzzle.html create mode 100644 obj/machinery/door/window.html create mode 100644 obj/machinery/doppler_array.html create mode 100644 obj/machinery/duct.html create mode 100644 obj/machinery/ecto_sniffer.html create mode 100644 obj/machinery/electrolyzer.html create mode 100644 obj/machinery/elevator_control_panel.html create mode 100644 obj/machinery/exodrone_launcher.html create mode 100644 obj/machinery/exoscanner.html create mode 100644 obj/machinery/fax.html create mode 100644 obj/machinery/field.html create mode 100644 obj/machinery/field/containment.html create mode 100644 obj/machinery/field/generator.html create mode 100644 obj/machinery/firealarm.html create mode 100644 obj/machinery/fishing_portal_generator.html create mode 100644 obj/machinery/flasher.html create mode 100644 obj/machinery/flasher/portable.html create mode 100644 obj/machinery/fugitive_locator.html create mode 100644 obj/machinery/gateway.html create mode 100644 obj/machinery/gravity_generator/main.html create mode 100644 obj/machinery/gravity_generator/part.html create mode 100644 obj/machinery/griddle.html create mode 100644 obj/machinery/grill.html create mode 100644 obj/machinery/gulag_item_reclaimer.html create mode 100644 obj/machinery/holopad.html create mode 100644 obj/machinery/holopad/tutorial.html create mode 100644 obj/machinery/hydroponics.html create mode 100644 obj/machinery/hypertorus/interface.html create mode 100644 obj/machinery/hypnochair.html create mode 100644 obj/machinery/icecream_vat.html create mode 100644 obj/machinery/igniter.html create mode 100644 obj/machinery/incident_display.html create mode 100644 obj/machinery/iv_drip.html create mode 100644 obj/machinery/jukebox.html create mode 100644 obj/machinery/launchpad.html create mode 100644 obj/machinery/libraryscanner.html create mode 100644 obj/machinery/lift_indicator.html create mode 100644 obj/machinery/light.html create mode 100644 obj/machinery/light_switch.html create mode 100644 obj/machinery/limbgrower.html create mode 100644 obj/machinery/loot_locator.html create mode 100644 obj/machinery/ltsrbt.html create mode 100644 obj/machinery/materials_market.html create mode 100644 obj/machinery/mech_bay_recharge_port.html create mode 100644 obj/machinery/mecha_part_fabricator.html create mode 100644 obj/machinery/mechpad.html create mode 100644 obj/machinery/medical_kiosk.html create mode 100644 obj/machinery/medipen_refiller.html create mode 100644 obj/machinery/meter.html create mode 100644 obj/machinery/meter/monitored.html create mode 100644 obj/machinery/microwave.html create mode 100644 obj/machinery/mineral.html create mode 100644 obj/machinery/mineral/labor_claim_console.html create mode 100644 obj/machinery/mineral/ore_redemption.html create mode 100644 obj/machinery/mineral/processing_unit.html create mode 100644 obj/machinery/mineral/processing_unit_console.html create mode 100644 obj/machinery/mineral/stacking_machine.html create mode 100644 obj/machinery/mineral/stacking_machine/laborstacker.html create mode 100644 obj/machinery/mineral/stacking_unit_console.html create mode 100644 obj/machinery/modular_computer.html create mode 100644 obj/machinery/modular_computer/preset.html create mode 100644 obj/machinery/modular_computer/preset/cargochat.html create mode 100644 obj/machinery/modular_shield/module.html create mode 100644 obj/machinery/modular_shield/module/charger.html create mode 100644 obj/machinery/modular_shield/module/node.html create mode 100644 obj/machinery/modular_shield/module/relay.html create mode 100644 obj/machinery/modular_shield/module/well.html create mode 100644 obj/machinery/modular_shield_generator.html create mode 100644 obj/machinery/module_duplicator.html create mode 100644 obj/machinery/navbeacon.html create mode 100644 obj/machinery/nebula_shielding.html create mode 100644 obj/machinery/nebula_shielding/emergency.html create mode 100644 obj/machinery/netpod.html create mode 100644 obj/machinery/newscaster.html create mode 100644 obj/machinery/ntnet_relay.html create mode 100644 obj/machinery/nuclearbomb.html create mode 100644 obj/machinery/nuclearbomb/beer.html create mode 100644 obj/machinery/ore_silo.html create mode 100644 obj/machinery/oven.html create mode 100644 obj/machinery/pdapainter.html create mode 100644 obj/machinery/photocopier.html create mode 100644 obj/machinery/pipedispenser.html create mode 100644 obj/machinery/piratepad.html create mode 100644 obj/machinery/plate_press.html create mode 100644 obj/machinery/plumbing.html create mode 100644 obj/machinery/plumbing/acclimator.html create mode 100644 obj/machinery/plumbing/bottler.html create mode 100644 obj/machinery/plumbing/buffer.html create mode 100644 obj/machinery/plumbing/disposer.html create mode 100644 obj/machinery/plumbing/fermenter.html create mode 100644 obj/machinery/plumbing/filter.html create mode 100644 obj/machinery/plumbing/grinder_chemical.html create mode 100644 obj/machinery/plumbing/growing_vat.html create mode 100644 obj/machinery/plumbing/liquid_pump.html create mode 100644 obj/machinery/plumbing/pill_press.html create mode 100644 obj/machinery/plumbing/reaction_chamber.html create mode 100644 obj/machinery/plumbing/reaction_chamber/chem.html create mode 100644 obj/machinery/plumbing/receiver.html create mode 100644 obj/machinery/plumbing/sender.html create mode 100644 obj/machinery/plumbing/splitter.html create mode 100644 obj/machinery/plumbing/synthesizer.html create mode 100644 obj/machinery/porta_turret.html create mode 100644 obj/machinery/porta_turret/syndicate/toolbox.html create mode 100644 obj/machinery/portable_atmospherics.html create mode 100644 obj/machinery/portable_atmospherics/canister.html create mode 100644 obj/machinery/portable_atmospherics/pump.html create mode 100644 obj/machinery/portable_atmospherics/scrubber.html create mode 100644 obj/machinery/power.html create mode 100644 obj/machinery/power/apc.html create mode 100644 obj/machinery/power/emitter.html create mode 100644 obj/machinery/power/emitter/prototype.html create mode 100644 obj/machinery/power/energy_accumulator.html create mode 100644 obj/machinery/power/energy_accumulator/tesla_coil.html create mode 100644 obj/machinery/power/floodlight.html create mode 100644 obj/machinery/power/shieldwallgen.html create mode 100644 obj/machinery/power/shuttle_engine.html create mode 100644 obj/machinery/power/solar.html create mode 100644 obj/machinery/power/solar_control.html create mode 100644 obj/machinery/power/supermatter_crystal.html create mode 100644 obj/machinery/power/tracker.html create mode 100644 obj/machinery/power/turbine.html create mode 100644 obj/machinery/power/turbine/core_rotor.html create mode 100644 obj/machinery/power/turbine/inlet_compressor.html create mode 100644 obj/machinery/power/turbine/turbine_outlet.html create mode 100644 obj/machinery/prisongate.html create mode 100644 obj/machinery/processor.html create mode 100644 obj/machinery/puzzle_button.html create mode 100644 obj/machinery/puzzle_keycardpad.html create mode 100644 obj/machinery/quantum_server.html create mode 100644 obj/machinery/reagentgrinder.html create mode 100644 obj/machinery/recharge_station.html create mode 100644 obj/machinery/recharger.html create mode 100644 obj/machinery/recycler.html create mode 100644 obj/machinery/requests_console.html create mode 100644 obj/machinery/research/anomaly_refinery.html create mode 100644 obj/machinery/restaurant_portal.html create mode 100644 obj/machinery/rnd.html create mode 100644 obj/machinery/rnd/destructive_analyzer.html create mode 100644 obj/machinery/rnd/experimentor.html create mode 100644 obj/machinery/rnd/production.html create mode 100644 obj/machinery/rnd/server.html create mode 100644 obj/machinery/rnd/server/master.html create mode 100644 obj/machinery/roulette.html create mode 100644 obj/machinery/satellite.html create mode 100644 obj/machinery/satellite/meteor_shield.html create mode 100644 obj/machinery/scanner_gate.html create mode 100644 obj/machinery/seed_extractor.html create mode 100644 obj/machinery/shieldwall.html create mode 100644 obj/machinery/shower.html create mode 100644 obj/machinery/shuttle_scrambler.html create mode 100644 obj/machinery/skill_station.html create mode 100644 obj/machinery/sleeper.html create mode 100644 obj/machinery/sleeper/party.html create mode 100644 obj/machinery/smartfridge.html create mode 100644 obj/machinery/smartfridge/drying_rack.html create mode 100644 obj/machinery/smartfridge/organ.html create mode 100644 obj/machinery/space_heater.html create mode 100644 obj/machinery/space_heater/improvised_chem_heater.html create mode 100644 obj/machinery/spaceship_navigation_beacon.html create mode 100644 obj/machinery/status_display.html create mode 100644 obj/machinery/status_display/door_timer.html create mode 100644 obj/machinery/suit_storage_unit.html create mode 100644 obj/machinery/syndicatebomb.html create mode 100644 obj/machinery/teambuilder.html create mode 100644 obj/machinery/telecomms.html create mode 100644 obj/machinery/telecomms/allinone.html create mode 100644 obj/machinery/telecomms/broadcaster.html create mode 100644 obj/machinery/telecomms/bus.html create mode 100644 obj/machinery/telecomms/hub.html create mode 100644 obj/machinery/telecomms/message_server.html create mode 100644 obj/machinery/telecomms/processor.html create mode 100644 obj/machinery/telecomms/receiver.html create mode 100644 obj/machinery/telecomms/relay.html create mode 100644 obj/machinery/telecomms/server.html create mode 100644 obj/machinery/ticket_machine.html create mode 100644 obj/machinery/tournament_spawn.html create mode 100644 obj/machinery/trading_card_button.html create mode 100644 obj/machinery/trading_card_holder.html create mode 100644 obj/machinery/transformer.html create mode 100644 obj/machinery/transport.html create mode 100644 obj/machinery/transport/crossing_signal.html create mode 100644 obj/machinery/transport/crossing_signal/northwest.html create mode 100644 obj/machinery/transport/destination_sign.html create mode 100644 obj/machinery/transport/guideway_sensor.html create mode 100644 obj/machinery/transport/tram_controller.html create mode 100644 obj/machinery/turretid.html create mode 100644 obj/machinery/vending.html create mode 100644 obj/machinery/vending/custom.html create mode 100644 obj/machinery/vending/runic_vendor.html create mode 100644 obj/merge_conflict_marker.html create mode 100644 obj/modular_map_root.html create mode 100644 obj/mystery_box_item.html create mode 100644 obj/narsie.html create mode 100644 obj/projectile.html create mode 100644 obj/projectile/beam/ctf.html create mode 100644 obj/projectile/blastwave.html create mode 100644 obj/projectile/bullet/cannonball.html create mode 100644 obj/projectile/bullet/coin.html create mode 100644 obj/projectile/bullet/incendiary.html create mode 100644 obj/projectile/bullet/incendiary/fire/backblast.html create mode 100644 obj/projectile/bullet/marksman.html create mode 100644 obj/projectile/bullet/p50.html create mode 100644 obj/projectile/bullet/pellet/shotgun_rubbershot.html create mode 100644 obj/projectile/bullet/rocket.html create mode 100644 obj/projectile/bullet/rocket/pep.html create mode 100644 obj/projectile/bullet/rocket/srm.html create mode 100644 obj/projectile/colossus/wendigo_shockwave.html create mode 100644 obj/projectile/curse_hand.html create mode 100644 obj/projectile/energy/chrono_beam.html create mode 100644 obj/projectile/energy/flora.html create mode 100644 obj/projectile/energy/radiation.html create mode 100644 obj/projectile/energy_net.html create mode 100644 obj/projectile/hallucination.html create mode 100644 obj/projectile/hook.html create mode 100644 obj/projectile/kiss.html create mode 100644 obj/projectile/magic.html create mode 100644 obj/projectile/magic/aoe.html create mode 100644 obj/projectile/magic/aoe/lightning.html create mode 100644 obj/projectile/magic/change.html create mode 100644 obj/projectile/magic/fireball.html create mode 100644 obj/projectile/magic/midas_round.html create mode 100644 obj/projectile/magic/star_ball.html create mode 100644 obj/projectile/organ.html create mode 100644 obj/projectile/temp/watcher.html create mode 100644 obj/projectile/tentacle.html create mode 100644 obj/projectile/tether.html create mode 100644 obj/singularity.html create mode 100644 obj/singularity/dark_matter.html create mode 100644 obj/structure/ai_core.html create mode 100644 obj/structure/alien/egg.html create mode 100644 obj/structure/alien/resin/flower_bud.html create mode 100644 obj/structure/alien/weeds.html create mode 100644 obj/structure/alien/weeds/node.html create mode 100644 obj/structure/altar_of_gods.html create mode 100644 obj/structure/aquarium.html create mode 100644 obj/structure/bed.html create mode 100644 obj/structure/bed/dogbed.html create mode 100644 obj/structure/bed/double.html create mode 100644 obj/structure/bed/medical.html create mode 100644 obj/structure/bedsheetbin.html create mode 100644 obj/structure/blob.html create mode 100644 obj/structure/blob/special.html create mode 100644 obj/structure/blob/special/factory.html create mode 100644 obj/structure/bodycontainer.html create mode 100644 obj/structure/bodycontainer/morgue.html create mode 100644 obj/structure/bonfire.html create mode 100644 obj/structure/bookcase.html create mode 100644 obj/structure/bookcase/random/fiction.html create mode 100644 obj/structure/bookcase/random/reference.html create mode 100644 obj/structure/bookcase/random/reference/wizard.html create mode 100644 obj/structure/broken_flooring.html create mode 100644 obj/structure/cable.html create mode 100644 obj/structure/cable/multilayer.html create mode 100644 obj/structure/cannon.html create mode 100644 obj/structure/carp_rift.html create mode 100644 obj/structure/carving_block.html create mode 100644 obj/structure/cat_house.html create mode 100644 obj/structure/chair.html create mode 100644 obj/structure/chair/pew.html create mode 100644 obj/structure/checkoutmachine.html create mode 100644 obj/structure/chem_separator.html create mode 100644 obj/structure/chrono_field.html create mode 100644 obj/structure/closet.html create mode 100644 obj/structure/closet/body_bag.html create mode 100644 obj/structure/closet/body_bag/environmental.html create mode 100644 obj/structure/closet/body_bag/environmental/prisoner.html create mode 100644 obj/structure/closet/cardboard.html create mode 100644 obj/structure/closet/crate.html create mode 100644 obj/structure/closet/crate/bin.html create mode 100644 obj/structure/closet/crate/freezer.html create mode 100644 obj/structure/closet/crate/grave.html create mode 100644 obj/structure/closet/crate/mail.html create mode 100644 obj/structure/closet/crate/mail/economy.html create mode 100644 obj/structure/closet/crate/necropolis/tendril.html create mode 100644 obj/structure/closet/crate/secure/bitrunning/decrypted.html create mode 100644 obj/structure/closet/crate/secure/owned.html create mode 100644 obj/structure/closet/crate/secure/syndicrate.html create mode 100644 obj/structure/closet/decay.html create mode 100644 obj/structure/closet/secure_closet/freezer.html create mode 100644 obj/structure/closet/stasis.html create mode 100644 obj/structure/closet/supplypod.html create mode 100644 obj/structure/cursed_slot_machine.html create mode 100644 obj/structure/curtain.html create mode 100644 obj/structure/desk_bell.html create mode 100644 obj/structure/destructible/cult.html create mode 100644 obj/structure/destructible/cult/item_dispenser.html create mode 100644 obj/structure/destructible/cult/pants_altar.html create mode 100644 obj/structure/destructible/cult/pylon.html create mode 100644 obj/structure/destructible/eldritch_crucible.html create mode 100644 obj/structure/displaycase.html create mode 100644 obj/structure/displaycase/forsale.html create mode 100644 obj/structure/displaycase/trophy.html create mode 100644 obj/structure/displaycase_chassis.html create mode 100644 obj/structure/disposalholder.html create mode 100644 obj/structure/disposaloutlet.html create mode 100644 obj/structure/disposalpipe.html create mode 100644 obj/structure/disposalpipe/rotator.html create mode 100644 obj/structure/disposalpipe/sorting.html create mode 100644 obj/structure/door_assembly.html create mode 100644 obj/structure/elite_tumor.html create mode 100644 obj/structure/emergency_shield/cult/barrier.html create mode 100644 obj/structure/emergency_shield/modular.html create mode 100644 obj/structure/emergency_shield/regenerating.html create mode 100644 obj/structure/energy_net.html create mode 100644 obj/structure/ethereal_crystal.html create mode 100644 obj/structure/falsewall.html create mode 100644 obj/structure/falsewall/uranium.html create mode 100644 obj/structure/fermenting_barrel.html create mode 100644 obj/structure/filingcabinet/employment.html create mode 100644 obj/structure/filingcabinet/medical.html create mode 100644 obj/structure/fireaxecabinet.html create mode 100644 obj/structure/fireplace.html create mode 100644 obj/structure/flora.html create mode 100644 obj/structure/flora/tree.html create mode 100644 obj/structure/fluff.html create mode 100644 obj/structure/fluff/airlock_filler.html create mode 100644 obj/structure/fluff/iced_abductor.html create mode 100644 obj/structure/foamedmetal.html create mode 100644 obj/structure/frame/computer.html create mode 100644 obj/structure/frame/machine.html create mode 100644 obj/structure/gel_cocoon.html create mode 100644 obj/structure/geyser.html create mode 100644 obj/structure/ghost_portal.html create mode 100644 obj/structure/girder.html create mode 100644 obj/structure/glowshroom.html create mode 100644 obj/structure/grille.html create mode 100644 obj/structure/grille/tram.html create mode 100644 obj/structure/guillotine.html create mode 100644 obj/structure/guncase.html create mode 100644 obj/structure/hololadder.html create mode 100644 obj/structure/holopay.html create mode 100644 obj/structure/hoop.html create mode 100644 obj/structure/hoop/minigame.html create mode 100644 obj/structure/ladder.html create mode 100644 obj/structure/legionturret.html create mode 100644 obj/structure/light_construct.html create mode 100644 obj/structure/light_puzzle.html create mode 100644 obj/structure/lock_tear.html create mode 100644 obj/structure/mannequin.html create mode 100644 obj/structure/meateor_fluff/eyeball.html create mode 100644 obj/structure/meateor_fluff/flesh_pod.html create mode 100644 obj/structure/mineral_door.html create mode 100644 obj/structure/mining_bomb.html create mode 100644 obj/structure/mirror.html create mode 100644 obj/structure/moisture_trap.html create mode 100644 obj/structure/mop_bucket.html create mode 100644 obj/structure/mop_bucket/janitorialcart.html create mode 100644 obj/structure/mystery_box.html create mode 100644 obj/structure/no_effect_signpost/void.html create mode 100644 obj/structure/noticeboard.html create mode 100644 obj/structure/ore_box.html create mode 100644 obj/structure/ore_container/gutlunch_trough.html create mode 100644 obj/structure/ore_container/material_stand.html create mode 100644 obj/structure/pinata.html create mode 100644 obj/structure/pipe_cleaner.html create mode 100644 obj/structure/plaque.html create mode 100644 obj/structure/plaque/static_plaque/tram.html create mode 100644 obj/structure/plasticflaps.html create mode 100644 obj/structure/punching_bag.html create mode 100644 obj/structure/punji_sticks.html create mode 100644 obj/structure/puzzle_blockade.html create mode 100644 obj/structure/railing.html create mode 100644 obj/structure/reagent_dispensers.html create mode 100644 obj/structure/safe.html create mode 100644 obj/structure/secure_safe/caps_spare.html create mode 100644 obj/structure/sign.html create mode 100644 obj/structure/sign/painting.html create mode 100644 obj/structure/sign/painting/large.html create mode 100644 obj/structure/sign/picture_frame.html create mode 100644 obj/structure/sign/picture_frame/portrait/bar.html create mode 100644 obj/structure/sign/poster.html create mode 100644 obj/structure/sign/poster/traitor.html create mode 100644 obj/structure/sink.html create mode 100644 obj/structure/spacevine.html create mode 100644 obj/structure/spawner.html create mode 100644 obj/structure/spawner/ice_moon.html create mode 100644 obj/structure/spider/eggcluster.html create mode 100644 obj/structure/spider/stickyweb.html create mode 100644 obj/structure/spirit_board.html create mode 100644 obj/structure/stairs.html create mode 100644 obj/structure/stairs_frame.html create mode 100644 obj/structure/statue.html create mode 100644 obj/structure/statue/custom.html create mode 100644 obj/structure/steam_vent.html create mode 100644 obj/structure/syndicate_uplink_beacon.html create mode 100644 obj/structure/table.html create mode 100644 obj/structure/table/optable.html create mode 100644 obj/structure/table/optable/abductor.html create mode 100644 obj/structure/table/rolling.html create mode 100644 obj/structure/tank_holder.html create mode 100644 obj/structure/trading_card_summon.html create mode 100644 obj/structure/training_machine.html create mode 100644 obj/structure/tram.html create mode 100644 obj/structure/tram/alt/uranium.html create mode 100644 obj/structure/tram/spoiler.html create mode 100644 obj/structure/transport/linear.html create mode 100644 obj/structure/transport/linear/tram.html create mode 100644 obj/structure/trap/eldritch.html create mode 100644 obj/structure/tray.html create mode 100644 obj/structure/urinal.html create mode 100644 obj/structure/weightmachine.html create mode 100644 obj/structure/window.html create mode 100644 obj/vehicle.html create mode 100644 obj/vehicle/ridden/bicycle.html create mode 100644 obj/vehicle/ridden/janicart.html create mode 100644 obj/vehicle/ridden/scooter/skateboard.html create mode 100644 obj/vehicle/ridden/scooter/skateboard/wheelys.html create mode 100644 obj/vehicle/ridden/secway.html create mode 100644 obj/vehicle/ridden/wheelchair.html create mode 100644 obj/vehicle/ridden/wheelchair/motorized.html create mode 100644 obj/vehicle/sealed.html create mode 100644 obj/vehicle/sealed/car.html create mode 100644 obj/vehicle/sealed/car/clowncar.html create mode 100644 obj/vehicle/sealed/car/speedwagon.html create mode 100644 obj/vehicle/sealed/car/vim.html create mode 100644 obj/vehicle/sealed/mecha.html create mode 100644 obj/vehicle/sealed/mecha/durand.html create mode 100644 obj/vehicle/sealed/mecha/ripley.html create mode 100644 obj/vehicle/sealed/mecha/ripley/paddy.html create mode 100644 obj/vehicle/sealed/mecha/savannah_ivanov.html create mode 100644 particles.html create mode 100644 procpath.html create mode 100644 regex/format_component.html create mode 100644 turf.html create mode 100644 turf/closed/indestructible/splashscreen.html create mode 100644 turf/closed/mineral.html create mode 100644 turf/closed/mineral/random.html create mode 100644 turf/closed/wall.html create mode 100644 turf/closed/wall/mineral/uranium.html create mode 100644 turf/closed/wall/r_wall.html create mode 100644 turf/open.html create mode 100644 turf/open/chasm.html create mode 100644 turf/open/cliff.html create mode 100644 turf/open/floor.html create mode 100644 turf/open/floor/carpet/neon.html create mode 100644 turf/open/floor/catwalk_floor.html create mode 100644 turf/open/floor/circuit.html create mode 100644 turf/open/floor/glass.html create mode 100644 turf/open/floor/light.html create mode 100644 turf/open/floor/plating.html create mode 100644 turf/open/floor/tram/plate/energized.html create mode 100644 turf/open/lava.html create mode 100644 turf/open/misc/asteroid.html create mode 100644 turf/open/openspace.html create mode 100644 turf/open/openspace/icemoon.html create mode 100644 turf/open/space.html create mode 100644 turf/open/space/transit.html create mode 100644 turf/open/water.html create mode 100644 turf/open/water/cursed_spring.html create mode 100644 world.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000000..e69de29bb2d diff --git a/CNAME b/CNAME new file mode 100644 index 00000000000..9240b816869 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +codedocs.tgstation13.org diff --git a/_maps/map_files/tramstation/maintenance_modules/map legend.html b/_maps/map_files/tramstation/maintenance_modules/map legend.html new file mode 100644 index 00000000000..3ef9b8172cc --- /dev/null +++ b/_maps/map_files/tramstation/maintenance_modules/map legend.html @@ -0,0 +1,218 @@ + + + + + + + _maps/map_files/tramstation/maintenance_modules/map legend.txt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

_maps/map_files/tramstation/maintenance_modules/map legend.txt + +

+ + +
[rooms.arrivalsecupper]
+modules = ["arrivalsecupper_1.dmm", "arrivalsecupper_2.dmm", "arrivalsecupper_3.dmm"]
+# 1. Small S connection that connects Arrivals, EVA and Security. Has a simple side room with misc maintenance gear.
+# 2. Small S connection that connects Arrivals, EVA and Security. Has a large viewing window into space with a table seat.
+# 3. Small S connection that connects Arrivals, EVA and Security. Has a side room with degraded security equipment and a dug out section.
+
+[rooms.arrivallibraryupper]
+modules = ["arrivallibraryupper_1.dmm", "arrivallibraryupper_2.dmm", "arrivallibraryupper_3.dmm"]
+# 1. Curved connection between public garden and Library. Has side room with shutter access that can block direct access.
+# 2. Curved connection between public garden and Library. Has simple side room with air container spawns.
+# 3. Curved connection between public garden and Library. Has window facing into space and lower EVA airlock access.
+
+[rooms.medsciupper]
+modules = ["medsciupper_1.dmm", "medsciupper_2.dmm", "medsciupper_3.dmm"]
+# 1. U#bend connection between Medical and Science. Nothing special.
+# 2. U#bend connection between Medical and Science. Has extended flora area with window view from maintenance hall.
+# 3. U#bend connection between Medical and Science. Extended side platform near floor overhang and window view has shattered windows.
+
+[rooms.medsciupper_attachment_a]
+modules = ["medsciupper_attachment_a_1.dmm", "medsciupper_attachment_a_2.dmm", "medsciupper_attachment_a_3.dmm"]
+# 1. Robotics storage room.
+# 2. Maintenance containment room with a basic shield setup.
+# 3. Target practice/test firing range.
+
+[rooms.medsciupper_attachment_b]
+modules = ["medsciupper_attachment_b_1.dmm", "medsciupper_attachment_b_2.dmm", "medsciupper_attachment_b_3.dmm"]
+# 1. Extra morgue storage + funny skeleton.
+# 2. Surgery storage with meme organs/basic meds.
+# 3. W#why is the door bolted?
+
+[rooms.barcargoupper]
+modules = ["barcargoupper_1.dmm", "barcargoupper_2.dmm", "barcargoupper_3.dmm"]
+# 1. Straight way between Bar and Cargo. Extended overhang to view bottom maintenance hall with window view into flora area.
+# 2. Straight way interrupted by small U#bend connection between Bar and Cargo. Has window view into flora area
+# 3. Straight way between Bar and Cargo. Ladder access has additional bridge to a windowed maintenance room with various misc loot.
+
+[rooms.barcargoupper_cave]
+modules = ["barcargoupper_cave_1.dmm", "barcargoupper_cave_2.dmm", "barcargoupper_cave_3.dmm"]
+# 1. Dug out cave with blocked off ore refinery at end. Assortment of random mining tools.
+# 2. Dug out cave with a scanner/mining tools and bone tongue/trombone at the end. Doot.
+# 3. Dug out cave with a blocked off ore refinery at the start. Scattered mining tools, leads to a random relic spawn.
+
+[rooms.barcargoupper_attachment_a]
+modules = ["barcargoupper_attachment_a_1.dmm", "barcargoupper_attachment_a_2.dmm", "barcargoupper_attachment_a_3.dmm"]
+# 1. Theatre storage with extra costumes/vending restock.
+# 2. Kitchen storage with basic kitchen items and vending restock.
+# 3. Bar storage with spare keg/vending restock/random booze spawn.
+
+[rooms.barcargoupper_attachment_b]
+modules = ["barcargoupper_attachment_b_1.dmm", "barcargoupper_attachment_b_2.dmm", "barcargoupper_attachment_b_3.dmm"]
+# 1. Random crate storage.
+# 2. Mining gear storage with 2 spare vouchers.
+# 3. Relic tinkering room with random artifact and secret chem recipe paper.
+
+[rooms.secbarupper]
+modules = ["secbarupper_1.dmm", "secbarupper_2.dmm", "secbarupper_3.dmm"]
+# 1. Zagged path between Security and Bar. Has multiple overhangs to view lower floor. Has water closet.
+# 2. Zagged path between Security and Bar. Mulebot path is finished fully (no cave spawn).
+# 3. Zagged path between Security and Bar. Flora area is expanded with small park area.
+
+[rooms.secbarupper_attachment_a]
+modules = ["secbarupper_attachment_a_1.dmm", "secbarupper_attachment_a_2.dmm", "secbarupper_attachment_a_3.dmm"]
+# 1. Random assortment of paperwork#related items (fax, briefcases, folders, ect). Spawns secret chem paper.
+# 2. Security storage with 2 spare secways and a set of degraded armor.
+# 3. Generic side room with assorted trash and hidden hobo hideout.
+
+[rooms.secbarupper_attachment_b]
+modules = ["secbarupper_attachment_b_1.dmm", "secbarupper_attachment_b_2.dmm", "secbarupper_attachment_b_3.dmm"]
+# 1. Generic storage room with maintenance crates behind doors.
+# 2. Generic storage room with a relic spawner and hidden gambling table.
+# 3. Segmented side rooms with random weed spawn and maintenance loot.
+
+[rooms.secbarupper_cave]
+modules = ["secbarupper_cave_1.dmm", "secbarupper_cave_2.dmm", "secbarupper_cave_3.dmm"]
+# 1. Dug out hole with a relic spawn in the middle.
+# 2. Dug out spiral with a lot of sand. It gets everywhere. Stack of 5 silver and 5 gold ore.
+# 3. Unfinished maintenance room exposed to asteroid. Has basic construction tools and machine frames.
+
+[rooms.dormmedupper]
+modules = ["dormmedupper_1.dmm", "dormmedupper_2.dmm", "dormmedupper_3.dmm"]
+# 1. Straight way between Dorms and Medical. Has a windowed side room with some gambling items. Has external hatch to flora area above.
+# 2. Straight way between Dorms and Medical. Mulebot routes are finished and flora area has additional window in recreational area to view from.
+# 3. Straight way between Dorms and Medical. Flora area has small park area with public access from the holodeck control room.
+
+[rooms.dormmedupper_attachment_a]
+modules = ["dormmedupper_attachment_a_1.dmm", "dormmedupper_attachment_a_2.dmm", "dormmedupper_attachment_a_3.dmm"]
+# 1. Side attachment to maintenance hall with misc maintenance loot.
+# 2. Art storage with extra various crayons/spraycans/canvas portraits.
+# 3. Library/Chapel storage with extra misc job items for both departments.
+
+[rooms.dormmedupper_attachment_b]
+modules = ["dormmedupper_attachment_b_1.dmm", "dormmedupper_attachment_b_2.dmm", "dormmedupper_attachment_b_3.dmm"]
+# 1. Side attachment to maintenance hall with misc maintenance loot and drugs.
+# 2. Segmented rooms with custodial closet. Misc maintenance loot.
+# 3. Generic side room with hidden dug out room with booze for the boys.
+
+[rooms.secservicelower]
+modules = ["secservicelower_1.dmm", "secservicelower_1.dmm", "secservicelower_1.dmm"]
+# 1. C#shaped connection between most#left tram tunnel, Service and backdoor Prison access. Has a space bridge spanning a large space hole in asteroid with EVA access.
+# 2. C#shaped connection between most#left tram tunnel, Service and backdoor Prison access. Cave tunnel segment connects the three main points with a scattering of mining tools.
+# 3. Zagged connection between most#left tram tunnel, Service and backdoor Prison access. WIndows view into natural cave segment of asteroid mostly untouched.
+
+[rooms.secservicelower_attachment_a]
+modules = ["secservicelower_attachment_a_1.dmm", "secservicelower_attachment_a_2.dmm", "secservicelower_attachment_a_3.dmm"]
+# 1. Side attachment to maintenance hall with gambling table and misc drug/gambling loot.
+# 2. Side security room with tucked away interrogation room.
+# 3. Side maintenance room with custodial closet and misc maintenance loot.
+
+[rooms.secservicelower_attachment_b]
+modules = ["secservicelower_attachment_b_1.dmm", "secservicelower_attachment_b_2.dmm", "secservicelower_attachment_b_3.dmm"]
+# 1. Side attachment to maintenance hall with misc maintenance loot.
+# 2. Generic side room with costume/booze spawners.
+# 3. Segmented rooms with various misc maintenance loot.
+
+[rooms.secservicelower_attachment_c]
+modules = ["secservicelower_attachment_c_1.dmm", "secservicelower_attachment_c_2.dmm", "secservicelower_attachment_c_3.dmm"]
+# 1. Windowed maintenance room with tank/atmos machinery spawner. Misc maintenance loot.
+# 2. Various segmented rooms connected by a small main hall with a blast door toggle.
+# 3. Small external access room with a mining gear closet leading to a dug out area with a mining scanner.
+
+[rooms.servicecargolower]
+modules = ["servicecargolower_1.dmm", "servicecargolower_1.dmm", "servicecargolower_1.dmm"]
+# 1. Straight connection between Service and Cargo with Solar access. Has a small custodial closet.
+# 2. Straight connection between Service and Cargo with Solar access. Has expanded sides with blast door toggles and a windowed side room.
+# 3. Straight connection between Service and Cargo with Solar access. Nothing special.
+
+[rooms.servicecargolower_attachment_a]
+modules = ["servicecargolower_attachment_a_1.dmm", "servicecargolower_attachment_a_1.dmm", "servicecargolower_attachment_a_1.dmm"]
+# 1. Segmented side rooms connected by a small main hall. Has a gambling den with various gambling items and cash.
+# 2. Side attachment to maintenance hall with a windowed view into a space hole. Has a side room with 3 atmos machinery spawners.
+# 3. Segmented side rooms with a hidden dug#out area.
+
+[rooms.servicecargolower_attachment_b]
+modules = ["servicecargolower_attachment_b_1.dmm", "servicecargolower_attachment_b_1.dmm", "servicecargolower_attachment_b_1.dmm"]
+# 1. Side attachment to maintenance hall with various costume/wardrome closet spawner. Has a steam vent.
+# 2. Maintenance room layout set up for a seedy shop, comes with various maintenance loot and small cash spawn.
+# 3. Exposed dug#out section with a random relic spawn.
+
+[rooms.cargoscilower]
+modules = ["cargoscilower_1.dmm", "cargoscilower_1.dmm", "cargoscilower_1.dmm"]
+# 1. Zagged connection between Cargo, most#right tram tunnel and Science. Has a decommissioned pod bay with spare tools and a bit of titanium.
+# 2. Zagged connection between Cargo, most#right tram tunnel and Science. Has a boarded off pod airlock with 2 side windows into space.
+# 3. Zagged connection between Cargo, most#right tram tunnel and Science. Has an abandoned assembly line with a single maintenance fabricator and misc materials.
+
+[rooms.cargoscilower_attachment_a]
+modules = ["cargoscilower_attachment_a_1.dmm", "cargoscilower_attachment_a_1.dmm", "cargoscilower_attachment_a_1.dmm"]
+# 1. Side room with random maintenance loot and a hidden side room full of potted plants. Lots of potted plants.
+# 2. Side extension to the main hallway with misc gear and a hidden dugout with a relic spawn.
+# 3. Side room with a window view into hallway. Has misc gear and a cell recharger with a few spare empty basic cells.
+
+[rooms.cargoscilower_attachment_b]
+modules = ["cargoscilower_attachment_b_1.dmm", "cargoscilower_attachment_b_1.dmm", "cargoscilower_attachment_b_1.dmm"]
+# 1. Side extension to main hallway with misc gear behind a grille with glass.
+# 2. Hidden side room with a hobo setup and camera console. Big bean lover.
+# 3. Side room with various custodial gear for cleaning dirty maintenance.
+
+[rooms.atmosscilower]
+modules = ["atmosscilower_1.dmm", "atmosscilower_2.dmm", "atmosscilower_3.dmm"]
+# 1. Fairly straight connection between Atmospherics and Research, connects with cargoscilower. Has a side room with windows
+# 2. Fairly straight connection between Atmospherics and Research, connects with cargoscilower. Mid#section has been changed to be a dug out unfinished maintenance tunnel with 2 airlocks blocked by a engineering holosign.
+# 3. Fairly straight connection between Atmospherics and Research, connects with cargoscilower. Has a larger mid section with a custodial closet and mixer for air canisters.
+
+[rooms.atmosscilower_attachment_a]
+modules = ["atmosscilower_attachment_a_1.dmm", "atmosscilower_attachment_a_2.dmm", "atmosscilower_attachment_a_3.dmm"]
+# 1. Bolted side room with the hobo remains of a man who got locked in the room during construction. Lots of misc maintenance gear.
+# 2. Long side room with locked rooms behind shutters. Stores various maintenance loot.
+# 3. Long open side room full of large shipping containers left behind from station construction. Has 2 pairs of H.A.U.L gauntlets and a super basic ripley.
+
+[rooms.atmosscilower_attachment_b]
+modules = ["atmosscilower_attachment_b_1.dmm", "atmosscilower_attachment_b_2.dmm", "atmosscilower_attachment_b_3.dmm"]
+# 1. Basic side room with a hidden hobo dugout.
+# 2. Side extension to hallway with a table and misc maintenance gear. Has a nice cigar and zippo lighter on the table.
+# 3. Side room with misc maintenance gear. Has additional gear behind some girders and glass/grille blockage with atmos machinery.
+
+[rooms.dormenginelower]
+modules = ["dormenginelower_1.dmm", "dormenginelower_2.dmm", "dormenginelower_3.dmm"]
+# 1. Curved connection between the Dorms, Engineering and Engineering public hall. Has a section with closable privacy shutters and an abandoned path into the middle tunnel section.
+# 2. Curved connection between the Dorms, Engineering and Engineering public hall. The tunnel beside the Dorms has been breached and spaced with each sides blocked by holobarriers. 
+# 3. Curved connection between the Dorms, Engineering and Engineering public hall. The tunnel beside the Dorms is a glass bridge with a view into space and blast doors if bridge is breached. Has an offshoot maintenance tunnel that leads into Dorms.
+
+[rooms.dormenginelower_attachment_a]
+modules = ["dormenginelower_attachment_a_1.dmm", "dormenginelower_attachment_a_2.dmm", "dormenginelower_attachment_a_3.dmm"]
+# 1. Side extension with both a filter and mixer setup for canisters. Has 4 spare empty canisters.
+# 2. Maintenance room with gym storage items. Includes extra equipment for both boxing and lasertag.
+# 3. Maintenance room with clothing storage. Has mannequins and several costume spawns.
+
+[rooms.dormenginelower_attachment_b]
+modules = ["dormenginelower_attachment_b_1.dmm", "dormenginelower_attachment_b_2.dmm", "dormenginelower_attachment_b_3.dmm"]
+# 1. Extra secure storage for Engineering with a filled pac#man and some extra shield generators/meteor shields.
+# 2. Side extension with bits of maintenance loot/atmos machinery. Has 2 extra random reagent tanks.
+# 3. Side room with 4 loot closets with random maintenance loot.
+
+ + + diff --git a/_maps/safehouses.html b/_maps/safehouses.html new file mode 100644 index 00000000000..88df6885a49 --- /dev/null +++ b/_maps/safehouses.html @@ -0,0 +1,42 @@ + + + + + + + _maps/safehouses/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Safe House + +

+ + +
Creating a new safe house +
    +
  1. Create a new map inside the _maps\safe_houses folder using the TGM format.
  2. +
  3. Create a new dm file inside modules\bitrunning\virtual_domain\safe_houses folder..
  4. +
  5. Place exit and goal landmarks (obj/effect/landmark/bitrunning/..). Generally, 3 exits and 2 goals are ok.
  6. +
  7. Ideally, leave 3 spaces for gear. This has usually been xy [1x1] [1x2] [1x3]
  8. +
  9. Place the modular map connector at the bottom left tile.
  10. +
+Notes +
    +
  • Safe houses are intended to be 7x6 in size. You're not technically limited to this, but consider maps other maps might be using this size if you want it to be modular.
  • +
  • Consider that avatars are not invincible and still require air. If you're making a safe house, it should start with an area that accommodates for this.
  • +
  • For compatibility, your safe house should have a route open from the top center xy [3x0] of the map.
  • +
  • If you want a custom safehouse for a custom map with no modularity, no problem. Make whatever sizes you want, just ensure there are exit and goal effects placed.
  • +
  • Some maps can alter what is spawned into the safehouse by placing objects in the safehouse area. I'm using the left corner, starting from the top, for things like space gear.
  • +
+ + + diff --git a/_maps/virtual_domains.html b/_maps/virtual_domains.html new file mode 100644 index 00000000000..56090c8381d --- /dev/null +++ b/_maps/virtual_domains.html @@ -0,0 +1,51 @@ + + + + + + + _maps/virtual_domains/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Making new virtual domains + +

+ + +
REQUIRED: +
    +
  1. One way that the encrypted cache can spawn. This can be from a mob drop, a landmark (place a few, it'll pick one), or a signable landmark if you have a points system.
  2. +
  3. Place a virtual domain baseturf helper in each area.
  4. +
  5. If you're using modular safehouses, ensure that the map has ONE tile marked with the safehouse modular map loader (and set the KEY). it will need an open 7x6 area.
  6. +
  7. Placing a safehouse area is redundant, but it will ensure there is power in the starting safehouse.
  8. +
  9. Create the dm file that defines the map qualities. You can use the existing ones as a template.
  10. +
+Converting an existing map +
    +
  1. Create a new map using the existing map's size - give yourself enough room to enclose it with a binary wall. There's no need for any space outside of it, so ensure that it fits and is enclosed, nothing outside of this.
  2. +
  3. Copy and paste the existing map into it.
  4. +
  5. Find an accessible area for a safehouse, 7x6.
  6. +
  7. Place a bottom left safehouse landmark somewhere on the map to load the safehouse.
  8. +
+Notes +

You shouldn't need to fully enclose your map in 15 tiles of binary filler. Using one solid wall should do the trick.

+

For areas, ideally just one on the map and one for the safehouse. Vdoms should never last so long as to need individual area power and atmos unless you're specifically going for a gimmick.

+

Use modular mob segments! Use modular map segments! Add some variety to your maps! Just make sure you've set your map to have "is_modular" afterwards.

+

Adding some open tile padding around the safehouse is a good touch. About 7 tiles West/East for the visual effect of a larger map.

+

If you want to add prep gear, you can do so within the safehouse's area as long you don't overlap with goal turfs or exit spawners. The top left corner is a good spot for this, with respect for the walls, therefore [1, 1], [1, 2], [1, 3]

+

You can also create a specific safehouse if you find yourself needing the same gear over and over again. There is a readme for that as well.

+

Boss zones should give players pretty ample space, I've been using a 23x23 minimum area.

+

While it's not a hard set rule, 75x75 is the guideline for max size. The main issue is keeping them in the domain for too long.

+

You have the option of baking in your own safehouse and ignoring the 7x6 guideline. To do this, you will still need a safehouse landmark and a file to load - even if it's empty. Ensure that you have the necessary landmarks placed that normally go in a safehouse on the map itself.

+ + + diff --git a/_modular_event.html b/_modular_event.html new file mode 100644 index 00000000000..00e0c244199 --- /dev/null +++ b/_modular_event.html @@ -0,0 +1,27 @@ + + + + + + + _modular_event/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

_modular_event/README.md + +

+ + +

This is only for code that needs to run before code. Use modular_event/__DEFINES for everything else.

+ + + diff --git a/_modular_event/disable_mouse_entered.html b/_modular_event/disable_mouse_entered.html new file mode 100644 index 00000000000..98eddac7839 --- /dev/null +++ b/_modular_event/disable_mouse_entered.html @@ -0,0 +1,33 @@ + + + + + + + _modular_event/disable_mouse_entered.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

_modular_event/disable_mouse_entered.dm + +

+ + +
PROTECT_MOUSE_ENTEREDPreserves MouseEntered on the given type, use sparingly

Define Details

+

PROTECT_MOUSE_ENTERED + + + +

+

Preserves MouseEntered on the given type, use sparingly

+ + + diff --git a/area.html b/area.html new file mode 100644 index 00000000000..33344dcf8f0 --- /dev/null +++ b/area.html @@ -0,0 +1,545 @@ + + + + + + + /area - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

area + + + +

+ +

A grouping of tiles into a logical space, mostly used by map editors

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_alarmsAlarm type to count of sources. Not usable for ^ because we handle fires differently
active_firelocksA list of firelocks currently active. Used by fire alarms when setting their icons.
air_scrubbersList of all air scrubbers in the area
air_ventsList of all air vents in the area
airlock_wiresWire assignment for airlocks in this area
alarm_managerWe use this just for fire alarms, because they're area based right now so one alarm going poof shouldn't prevent you from clearing your alarms listing. Fire alarms and fire locks will set and clear alarms.
always_unpoweredThis gets overridden to 1 for space in area/.
ambient_buzzThe background droning loop that plays 24/7
ambient_buzz_volThe volume of the ambient buzz
ambientsoundsA list of sounds to pick from every so often to play to clients.
area_has_base_lightingWhether this area has a currently active base lighting, bool
area_limited_icon_smoothingTypepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.
areasizeSize of the area in open turfs, only calculated for indoors areas.
base_lighting_alphaalpha 0-255 of lighting_effect and thus baselighting intensity
base_lighting_colorThe colour of the light acting on this area
beautyBeauty average per open turf in the area
beauty_thresholdIf a room is too big it doesn't have beauty.
contained_turfsList of all turfs currently inside this area. Acts as a filtered bersion of area.contents +For faster lookup (area.contents is actually a filtered loop over world) +Semi fragile, but it prevents stupid so I think it's worth it
fireDo we have an active fire alarm?
fire_detectA var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm, checked by fire locks.
firealarmsA list of all fire alarms in this area. Used by firelocks and burglar alarms to change icon state.
firedoorsA list of all fire locks in this area. Used by fire alarm panels when resetting fire locks or activating all in an area
forced_ambienceDoes this area immediately play an ambience track upon enter?
lighting_effectsList of mutable appearances we underlay to show light +In the form plane offset + 1 -> appearance to use
lightsList of all lights in our area
map_generatorThis datum, if set, allows terrain generation behavior to be ran on Initialize()
max_ambience_cooldownUsed to decide what the maximum time between ambience is
min_ambience_cooldownUsed to decide what the minimum time between ambience is
mood_bonusBonus mood for being in this area
mood_messageMood message for being here, only shows up if mood_bonus != 0
mood_traitDoes the mood bonus require a trait?
outdoorsFor space, the asteroid, lavaland, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)
requires_powerWill objects this area be needing power?
sound_environmentUsed to decide what kind of reverb the area makes sound have
static_lightingWhether this area allows static lighting and thus loads the lighting objects
totalbeautyAll beauty in this area combined, only includes indoor area.
turfs_to_uncontainContained turfs is a MASSIVE list, so rather then adding/removing from it each time we have a problem turf +We should instead store a list of turfs to REMOVE from it, then hook into a getter for it +There is a risk of this and contained_turfs leaking, so a subsystem will run it down to 0 incrementally if it gets too large

Procs

AllowDropCauses a runtime error
DestroyDestroy an area and clean it up
EnteredCall back when an atom enters an area
ExitedCalled when an atom exits an area
LateInitializeSets machine power levels in the area
NewCalled when an area loads
PlaceOnTopReactA hook so areas can modify the incoming args (of what??)
RunTerrainGenerationGenerate turfs, including cool cave wall gen
RunTerrainPopulationPopulate the previously generated terrain with mobs and objects
addStaticPowerAdd a static amount of power load to an area
burglaralertRaise a burglar alert for this area
cannonize_contained_turfsEnsures that the contained_turfs list properly represents the turfs actually inside us
clear_usageClear all non-static power usage in area
close_and_lock_doorClose and lock a door passed into this proc
create_area_lighting_objectsregenerates lighting objects for turfs in this area, primary use is VV changes
drop_locationCauses a runtime error
get_original_area_nameReturns the name of an area, with the original name if the area name has been changed.
has_contained_turfsReturns TRUE if we have contained turfs, FALSE otherwise
on_joining_gameCalled when a living mob that spawned here, joining the round, receives the player client.
play_ambienceAttempts to play an ambient sound to a mob, returning the cooldown in deciseconds
power_changeCalled when the area power status changes
poweredReturns int 1 or 0 if the area has power for the given channel
reg_in_areas_in_zRegister this area as belonging to a z level
removeStaticPowerRemove a static amount of power load to an area
remove_area_lighting_objectsRemoves lighting objects from turfs in this area if we have them, primary use is VV changes
set_fire_effectSet the fire alarm visual affects in an area
setupSetup an area (with the given name)
update_areasizeSet the area size of the area
update_beautyDivides total beauty in the room by roomsize to allow us to get an average beauty per tile.
update_icon_stateUpdate the icon state of the area
use_powerAdd a power value amount to the stored used_x variables
+

Var Details

active_alarms + + + + +

+

Alarm type to count of sources. Not usable for ^ because we handle fires differently

active_firelocks + + + + +

+

A list of firelocks currently active. Used by fire alarms when setting their icons.

air_scrubbers + + + + +

+

List of all air scrubbers in the area

air_vents + + + + +

+

List of all air vents in the area

airlock_wires + + + + +

+

Wire assignment for airlocks in this area

alarm_manager + + + + +

+

We use this just for fire alarms, because they're area based right now so one alarm going poof shouldn't prevent you from clearing your alarms listing. Fire alarms and fire locks will set and clear alarms.

always_unpowered + + + + +

+

This gets overridden to 1 for space in area/.

ambient_buzz + + + + +

+

The background droning loop that plays 24/7

ambient_buzz_vol + + + + +

+

The volume of the ambient buzz

ambientsounds + + + + +

+

A list of sounds to pick from every so often to play to clients.

area_has_base_lighting + + + + +

+

Whether this area has a currently active base lighting, bool

area_limited_icon_smoothing + + + + +

+

Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles.

areasize + + + + +

+

Size of the area in open turfs, only calculated for indoors areas.

base_lighting_alpha + + + + +

+

alpha 0-255 of lighting_effect and thus baselighting intensity

base_lighting_color + + + + +

+

The colour of the light acting on this area

beauty + + + + +

+

Beauty average per open turf in the area

beauty_threshold + + + + +

+

If a room is too big it doesn't have beauty.

contained_turfs + + + + +

+

List of all turfs currently inside this area. Acts as a filtered bersion of area.contents +For faster lookup (area.contents is actually a filtered loop over world) +Semi fragile, but it prevents stupid so I think it's worth it

fire + + + + +

+

Do we have an active fire alarm?

fire_detect + + + + +

+

A var for whether the area allows for detecting fires/etc. Disabled or enabled at a fire alarm, checked by fire locks.

firealarms + + + + +

+

A list of all fire alarms in this area. Used by firelocks and burglar alarms to change icon state.

firedoors + + + + +

+

A list of all fire locks in this area. Used by fire alarm panels when resetting fire locks or activating all in an area

forced_ambience + + + + +

+

Does this area immediately play an ambience track upon enter?

lighting_effects + + + + +

+

List of mutable appearances we underlay to show light +In the form plane offset + 1 -> appearance to use

lights + + + + +

+

List of all lights in our area

map_generator + + + + +

+

This datum, if set, allows terrain generation behavior to be ran on Initialize()

max_ambience_cooldown + + + + +

+

Used to decide what the maximum time between ambience is

min_ambience_cooldown + + + + +

+

Used to decide what the minimum time between ambience is

mood_bonus + + + + +

+

Bonus mood for being in this area

mood_message + + + + +

+

Mood message for being here, only shows up if mood_bonus != 0

mood_trait + + + + +

+

Does the mood bonus require a trait?

outdoors + + + + +

+

For space, the asteroid, lavaland, etc. Used with blueprints or with weather to determine if we are adding a new area (vs editing a station room)

requires_power + + + + +

+

Will objects this area be needing power?

sound_environment + + + + +

+

Used to decide what kind of reverb the area makes sound have

static_lighting + + + + +

+

Whether this area allows static lighting and thus loads the lighting objects

totalbeauty + + + + +

+

All beauty in this area combined, only includes indoor area.

turfs_to_uncontain + + + + +

+

Contained turfs is a MASSIVE list, so rather then adding/removing from it each time we have a problem turf +We should instead store a list of turfs to REMOVE from it, then hook into a getter for it +There is a risk of this and contained_turfs leaking, so a subsystem will run it down to 0 incrementally if it gets too large

Proc Details

AllowDrop +

+

Causes a runtime error

Destroy +

+

Destroy an area and clean it up

+

Removes the area from GLOB.areas_by_type and also stops it processing on SSobj

+

This is despite the fact that no code appears to put it on SSobj, but +who am I to argue with old coders

Entered +

+

Call back when an atom enters an area

+

Sends signals COMSIG_AREA_ENTERED and COMSIG_ENTER_AREA (to a list of atoms)

+

If the area has ambience, then it plays some ambience music to the ambience channel

Exited +

+

Called when an atom exits an area

+

Sends signals COMSIG_AREA_EXITED and COMSIG_EXIT_AREA (to a list of atoms)

LateInitialize +

+

Sets machine power levels in the area

New +

+

Called when an area loads

+

Adds the item to the GLOB.areas_by_type list based on area type

PlaceOnTopReact +

+

A hook so areas can modify the incoming args (of what??)

RunTerrainGeneration +

+

Generate turfs, including cool cave wall gen

RunTerrainPopulation +

+

Populate the previously generated terrain with mobs and objects

addStaticPower +

+

Add a static amount of power load to an area

+

Possible channels +*AREA_USAGE_STATIC_EQUIP +*AREA_USAGE_STATIC_LIGHT +*AREA_USAGE_STATIC_ENVIRON

burglaralert +

+

Raise a burglar alert for this area

+

Close and locks all doors in the area and alerts silicon mobs of a break in

+

Alarm auto resets after 600 ticks

cannonize_contained_turfs +

+

Ensures that the contained_turfs list properly represents the turfs actually inside us

clear_usage +

+

Clear all non-static power usage in area

+

Clears all power used for the dynamic equipment, light and environment channels

close_and_lock_door +

+

Close and lock a door passed into this proc

+

Does this need to exist on area? probably not

create_area_lighting_objects +

+

regenerates lighting objects for turfs in this area, primary use is VV changes

drop_location +

+

Causes a runtime error

get_original_area_name +

+

Returns the name of an area, with the original name if the area name has been changed.

+

If an area has not been renamed, returns the area name. If it has been modified (by blueprints or other means) +returns the current name, as well as the initial value, in the format of [Current Location Name (Original Name)]

has_contained_turfs +

+

Returns TRUE if we have contained turfs, FALSE otherwise

on_joining_game +

+

Called when a living mob that spawned here, joining the round, receives the player client.

play_ambience +

+

Attempts to play an ambient sound to a mob, returning the cooldown in deciseconds

power_change +

+

Called when the area power status changes

+

Updates the area icon, calls power change on all machinees in the area, and sends the COMSIG_AREA_POWER_CHANGE signal.

powered +

+

Returns int 1 or 0 if the area has power for the given channel

+

evalutes a mixture of variables mappers can set, requires_power, always_unpowered and then +per channel power_equip, power_light, power_environ

reg_in_areas_in_z +

+

Register this area as belonging to a z level

+

Ensures the item is added to the SSmapping.areas_in_z list for this z

removeStaticPower +

+

Remove a static amount of power load to an area

+

Possible channels +*AREA_USAGE_STATIC_EQUIP +*AREA_USAGE_STATIC_LIGHT +*AREA_USAGE_STATIC_ENVIRON

remove_area_lighting_objects +

+

Removes lighting objects from turfs in this area if we have them, primary use is VV changes

set_fire_effect +

+

Set the fire alarm visual affects in an area

+

Allows interested parties (lights and fire alarms) to react

setup +

+

Setup an area (with the given name)

+

Sets the area name, sets all status var's to false and adds the area to the sorted area list

update_areasize +

+

Set the area size of the area

+

This is the number of open turfs in the area contents, or FALSE if the outdoors var is set

update_beauty +

+

Divides total beauty in the room by roomsize to allow us to get an average beauty per tile.

update_icon_state +

+

Update the icon state of the area

+

Im not sure what the heck this does, somethign to do with weather being able to set icon +states on areas?? where the heck would that even display?

use_power +

+

Add a power value amount to the stored used_x variables

+ + + diff --git a/area/space.html b/area/space.html new file mode 100644 index 00000000000..386cf8f896d --- /dev/null +++ b/area/space.html @@ -0,0 +1,42 @@ + + + + + + + /area/space - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

space + + + +

+ + + +

Procs

poweredSpace is not powered ever, so this returns false
update_icon_stateUpdate the icon of the area (overridden to always be null for space

Proc Details

powered +

+

Space is not powered ever, so this returns false

update_icon_state +

+

Update the icon of the area (overridden to always be null for space

+ + + diff --git a/area/station/ai_monitored/turret_protected.html b/area/station/ai_monitored/turret_protected.html new file mode 100644 index 00000000000..d56b38bec3f --- /dev/null +++ b/area/station/ai_monitored/turret_protected.html @@ -0,0 +1,36 @@ + + + + + + + /area/station/ai_monitored/turret_protected - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

turret_protected + + + +

+ + +

Vars

ai_will_not_hear_thisSome sounds (like the space jam) are terrible when on loop. We use this variable to add it to other AI areas, but override it to keep it from the AI's core.
+

Var Details

ai_will_not_hear_this + + + + +

+

Some sounds (like the space jam) are terrible when on loop. We use this variable to add it to other AI areas, but override it to keep it from the AI's core.

+ + + diff --git a/area/station/maintenance.html b/area/station/maintenance.html new file mode 100644 index 00000000000..d13dfce160c --- /dev/null +++ b/area/station/maintenance.html @@ -0,0 +1,36 @@ + + + + + + + /area/station/maintenance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

maintenance + + + +

+ + +

Vars

minecraft_cave_noisesA list of rare sound effects to fuck with players. No, it does not contain actual minecraft sounds anymore.
+

Var Details

minecraft_cave_noises + + + + +

+

A list of rare sound effects to fuck with players. No, it does not contain actual minecraft sounds anymore.

+ + + diff --git a/atom.html b/atom.html new file mode 100644 index 00000000000..be7a19b79c6 --- /dev/null +++ b/atom.html @@ -0,0 +1,2612 @@ + + + + + + + /atom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atom + + + +

+ +

The base type for nearly all physical objects in SS13

+

Lots and lots of functionality lives here, although in general we are striving to move +as much as possible to the components/elements system

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_hud_listall of this atom's HUD images which can actually be seen by players with that hud
ai_controllerAI controller that controls this atom. type on init, then turned into an instance during runtime
articleIf non-null, overrides a/an/some in all cases
atom_coloursused to store the different colors on an atom
atom_storagethe datum handler for our contents - see create_storage() for creation method
base_icon_stateUsed for changing icon states for different base sprites.
base_pixel_wDefault pixel w shifting for the atom's icon.
base_pixel_xDefault pixel x shifting for the atom's icon.
base_pixel_yDefault pixel y shifting for the atom's icon.
base_pixel_zDefault pixel z shifting for the atom's icon.
bottom_left_cornerSmoothing variable
bottom_right_cornerSmoothing variable
buckle_message_cooldownCooldown tick timer for buckle messages
canSmoothWithList of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself. Must be sorted.
can_astar_passHow this atom should react to having its astar blocking checked
can_atmos_passCheck if atmos can pass in this atom (ATMOS_PASS_YES, ATMOS_PASS_NO, ATMOS_PASS_DENSITY, ATMOS_PASS_PROC)
chat_colorLast color calculated for the the chatmessage overlays
chat_color_darkenedA luminescence-shifted value of the last color calculated for chatmessage overlays
chat_color_nameLast name used to calculate a color for the chatmessage overlays
custom_acid_overlayThe icon state intended to be used for the acid component. Used to override the default acid overlay icon state.
custom_materialsThe custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) +The list referenced by this var can be shared by multiple objects and should not be directly modified. Instead, use set_custom_materials.
damage_deflectionDamage under this value will be completely ignored
explosive_resistanceHow much this atom resists explosions by, in the end
fingerprintslastLast fingerprints to touch this atom
flags_1First atom flags var
forensicsforensics datum, contains fingerprints, fibres, blood_dna and hiddenprints on this atom
greyscale_colorsA string of hex format colors to be used by greyscale sprites, ex: "#0054aa#badcff"
greyscale_configThe config type to use for greyscaled sprites. Both this and greyscale_colors must be assigned to work.
hud_listall of this atom's HUD (med/sec, etc) images. Associative list of the form: list(hud category = hud image or images for that category). +most of the time hud category is associated with a single image, sometimes its associated with a list of images. +not every hud in this list is actually used. for ones available for others to see, look at active_hud_list.
hud_possibleHUD images that this atom can provide.
interaction_flags_atomIntearaction flags
lightOur light source. Don't fuck with this directly unless you have a good reason!
light_angleAngle of light to show in light_dir +360 is a circle, 90 is a cone, etc.
light_colorHexadecimal RGB string representing the colour of the light. White by default.
light_dirWhat angle to project light in
light_flagsBitflags to determine lighting-related atom properties.
light_heightHow many tiles "up" this light is. 1 is typical, should only really change this if it's a floor light
light_onBoolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values.
light_powerIntensity of the light. The stronger, the less shadows you will see on the lit area.
light_rangeRange of the light in tiles. Zero means no light.
light_sourcesAny light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.
light_systemLight systems, both shouldn't be active at the same time.
managed_overlaysoverlays managed by update_overlays to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.
managed_vis_overlaysvis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.
material_flagsBitfield for how the atom handles materials.
material_modifierModifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines.
mergersHolds merger groups currently active on the atom. Do not access directly, use GetMergeGroup() instead.
orbit_targetReference to atom being orbited
orbitersThe orbiter component, if there's anything orbiting this atom
pass_flags_selfpass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.
rad_insulationRadiation insulation types
reagentsReagents holder
realized_overlaysList of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list
realized_underlaysList of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list
receive_ricochet_chance_modWhen a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this
receive_ricochet_damage_coeffWhen a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom
smoothing_flagsIcon-smoothing behavior.
smoothing_groupsWhat smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it. Must be sorted.
smoothing_junctionWhat directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.
top_left_cornerSmoothing variable
top_right_cornerSmoothing variable
update_on_zLazylist of all images (or atoms, I'm sorry) (hopefully attached to us) to update when we change z levels +You will need to manage adding/removing from this yourself, but I'll do the updating for you
update_overlays_on_zLazylist of all overlays attached to us to update when we change z levels +You will need to manage adding/removing from this yourself, but I'll do the updating for you +Oh and note, if order of addition is important this WILL break that. so mind yourself
uses_integrityany atom that uses integrity and can be damaged must set this to true, otherwise the integrity procs will throw an error

Procs

AllowDropAre you allowed to drop this atom
AltClickNoInteractUse this instead of /mob/proc/AltClickOn where you only want turf content listing without additional atom alt-click interaction
BeamThis is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.
CanAStarPassThis proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.
CanAllowThroughReturns true or false to allow the mover to move through src
CanPassWhether the mover object can avoid being blocked by this atom, while arriving from (or leaving through) the border_dir.
CheckPartsEnsure a list of atoms/reagents exists inside this atom
ClickBefore anything else, defer these calls to a per-mobtype handler. This allows us to +remove istype() spaghetti code, but requires the addition of other handler procs to simplify it.
DestroyTop level of the destroy chain for most atoms
EnteredAn atom has entered this atom's contents
ExitAn atom is attempting to exit this atom's contents
ExitedAn atom has exited this atom's contents
GetMergeGroupGets a merger datum representing the connected blob of objects in the allowed_types argument
HasProximityIs this atom within 1 tile of another atom
IsObscuredIs the atom obscured by a PREVENT_CLICK_UNDER_1 object above it
LateInitializeLate Intialization, for code that should run after all atoms have run Intialization
NewSends a signal that the new atom src, has been created at loc +Called when an atom is created in byond (built in engine proc)
RemoveInvisibilityRemoves the specified invisibility source from the tracker
SetInvisibilitySets invisibility according to priority. +If you want to be able to undo the value you set back to what it would be otherwise, +you should provide an id here and remove it using RemoveInvisibility(id)
ShakePerform a shake on an atom, resets its position afterwards
ShowProcessingGuiCreates the radial and processes the selected option
SpinAnimationProc called when you want the atom to spin around the center of its icon (or where it would be if its transform var is translated) +By default, it makes the atom spin forever and ever at a speed of 60 rpm.
TopicPasses Stat Browser Panel clicks to the game and calls client click on an atom
_Clickstupid workaround for byond not recognizing the /atom/Click typepath for the queued click callbacks
acid_actRespond to acid being used on our atom
add_atom_colourAdds an instance of colour_type to the atom's atom_colours list
add_blood_DNAAdds blood dna to the atom
add_contextCreates a "Type-B" contextual screentip interaction. +When a user hovers over this, this proc will be called in order +to provide context for contextual screentips. +You must call register_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
add_fiber_listAdd a list of fibers to the atom
add_fibersAdds a single fiber to the atom
add_fingerprintAdds a single fingerprint to the atom
add_fingerprint_listAdds a list of fingerprints to the atom
add_hiddenprintAdds a single hiddenprint to the atom
add_hiddenprint_listAdds a list of hiddenprints to the atom
add_mob_bloodto add blood from a mob onto something, and transfer their dna info
alt_click_on_secondaryThe base proc of when something is right clicked on when alt is held - generally use alt_click_secondary instead
alt_click_secondaryThe base proc of when something is right clicked on when alt is held
analyzer_actCalled on an object when a tool with analyzer capabilities is used to left click an object
analyzer_act_secondaryCalled on an object when a tool with analyzer capabilities is used to right click an object
assume_airTake air from the passed in gas mixture datum
atmos_conditions_changedRun when you update the conditions in which an /atom might want to start reacting to its turf's air
atmos_endWhat to do when our requirements are no longer met
atmos_exposeThis is your process() proc
atom_breakCalled after the atom takes damage and integrity is below integrity_failure level
atom_destructionwhat happens when the atom's integrity reaches zero.
atom_fixCalled when integrity is repaired above the breaking point having been broken before
attack_ai_secondaryWhat happens when the AI holds right-click on an item. Returns a SECONDARY_ATTACK_* value.
attack_alien_secondaryCalled when an alien right clicks an atom. +Returns a SECONDARY_ATTACK_* value.
attack_animalCalled when a simple animal is unarmed attacking / clicking on this atom.
attack_animal_secondaryCalled when a simple animal or basic mob right clicks an atom. +Returns a SECONDARY_ATTACK_* value.
attack_basic_mobWhen a basic mob attacks something, either by AI or user.
attack_droneDefaults to attack_hand. Override it when you don't want drones to do same stuff as humans.
attack_drone_secondaryCalled when a maintenance drone right clicks an atom. +Defaults to attack_hand_secondary. +When overriding it, remember that it ought to return a SECONDARY_ATTACK_* value.
attack_handReturn TRUE to cancel other attack hand effects that respect it. Modifiers is the assoc list for click info such as if it was a right click.
attack_hand_secondaryWhen the user uses their hand on an item while holding right-click +Returns a SECONDARY_ATTACK_* value.
attack_hulkThis atom has been hit by a hulkified mob in hulk mode (user)
attack_larva_secondaryCalled when an alien larva right clicks an atom. +Returns a SECONDARY_ATTACK_* value.
attack_pai_secondaryCalled when a pAI right clicks an atom. +Returns a SECONDARY_ATTACK_* value.
attack_pawAttacked by monkey. It doesn't need its own *_secondary proc as it just uses attack_hand_secondary instead.
attack_robot_secondaryWhat happens when the cyborg without active module holds right-click on an item. Returns a SECONDARY_ATTACK_* value.
attack_self_tkTelekinesis item attack_self act.
attack_slime_secondaryCalled when a slime mob right clicks an atom (that is not a turf). +Returns a SECONDARY_ATTACK_* value.
attack_tkTelekinesis attack act, happens when the TK user clicks on a non-adjacent target in range.
attackbyCalled on an object being hit by an item
attackby_secondaryCalled on an object being right-clicked on by an item
attacked_byCalled from /obj/item/proc/attack_atom and /obj/item/proc/attack if the attack succeeds
attempt_chargeUsed to attempt to charge an object with a payment component.
audible_messageShow a message to all mobs in earshot of this atom
balloon_alertCreates text that will float from the atom upwards to the viewer.
balloon_alert_to_viewersCreate balloon alerts (text that floats up) to everything within range. +Will only display to people who can see.
bitmask_smoothBasic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.
blob_actReact to a hit by a blob objecd
bullet_actReact to a hit by a projectile object
calculate_adjacenciesScans all adjacent turfs to find targets to smooth with.
check_eyeCheck if this atoms eye is still alive (probably)
check_projectile_armorA cut-out proc for /atom/proc/bullet_act so living mobs can have their own armor behavior checks without causing issues with needing their own on_hit call
clone_storageA quick and easy way to /clone/ a storage datum for an atom (does not copy over contents, only the datum details)
connect_to_shuttleConnect this atom to a shuttle
container_resist_actCalled when something resists while this atom is its loc
containsReturns true if the src countain the atom target
contents_explosionHandle what happens when your contents are exploded by a bomb
create_digital_auraCreates a digital effect around the target
create_reagentsConvenience proc to create a reagents holder for an atom
create_storageA quick and easy way to create a storage datum for an atom
crowbar_actCalled on an object when a tool with crowbar capabilities is used to left click an object
crowbar_act_secondaryCalled on an object when a tool with crowbar capabilities is used to right click an object
debugSets up this light source to be debugged, setting up in world buttons to control and move it +Also freezes it, so it can't change in future
do_alert_animationDoes the MGS ! animation
do_spin_animationAnimates source spinning around itself. For docmentation on the args, check atom/proc/SpinAnimation()
drop_locationWhere atoms should drop if taken from this atom
emag_actRespond to an emag being used on our atom
emp_actReact to an EMP of the given severity
ex_actReact to being hit by an explosion
examineCalled when a mob examines (shift click or verb) this atom
examine_moreCalled when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_WINDOW (default 1 second)
expose_reagents
extinguishSends COMSIG_ATOM_EXTINGUISH signal, which properly removes burning component if it is present.
find_all_cells_containingdebug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)
find_grid_statistics_for_z_levelthe next unallocated /mob/oranges_ear that we try to allocate to assigned_atom's turf +the next atom in atoms_that_need_ears an ear assigned to it +the turf loc of the current assigned_atom. turfs are used to track oranges_ears already assigned to one location so we dont allocate more than one +because allocating more than one oranges_ear to a given loc wastes view iterations +debug proc for finding how full the cells of src's z level are
find_type_in_directionScans direction to find targets to smooth with.
fire_actRespond to fire being used on our atom
fire_projectileFire a projectile from this atom at another atom
flick_overlayFlicks a certain overlay onto an atom, handling icon_state strings
flick_overlay_staticFlickers an overlay on an atom
flick_overlay_viewTakes the passed in MA/icon_state, mirrors it onto ourselves, and displays that in world for duration seconds +Returns the displayed object, you can animate it and all, but you don't own it, we'll delete it after the duration
get_all_contentsCheck that gases absent from the turf have a lower boundary of zero or none at all, otherwise return FALSE +Returns the src and all recursive contents as a list.
get_all_contents_ignoringLike get_all_contents_type, but uses a typecache list as argument
get_all_contents_typeidentical to get_all_contents but returns a list of atoms of the type passed in the argument.
get_all_orbitersRecursive getter method to return a list of all ghosts orbitting this atom
get_armorGet the atom's armor reference
get_armor_ratingHelper to get a specific rating for the atom's armor
get_custom_material_amountGets the total amount of materials in this atom.
get_digital_overlaysReturns a list of overlays to be used for the digital effect
get_dumping_locationIf someone's trying to dump items onto our atom, where should they be dumped to?
get_examine_nameGet the name of this object for examine
get_examine_stringGenerate the full examine string of this atom (including icon for goonchat)
get_id_examine_stringsReturns an extended list of examine strings for any contained ID cards.
get_integrityThis mostly exists to keep atom_integrity private. Might be useful in the future.
get_integrity_percentageSimilar to get_integrity, but returns the percentage as [0-1] instead.
get_master_materialGets the most common material in the object.
get_material_compositionReturns the material composition of the atom.
get_name_chaserUsed to insert text after the name but before the description in examine()
get_oversized_icon_offsetsReturns an x and y value require to reverse the transformations made to center an oversized icon
get_remote_view_fullscreensthe vision impairment to give to the mob whose perspective is set to that atom
handle_basic_attackThis exists so stuff can override the default call of attack_animal for attack_basic_mob +Remove this when simple animals are removed and everything can be handled on attack basic mob.
handle_fallUsed for making a sound when a mob involuntarily falls into the ground.
handle_slipHandle the atom being slipped over
has_gravityReturns true if this atom has gravity for the passed in turf
has_material_categoryFetches a list of all of the materials this object has with the desired material category.
has_material_typeFetches a list of all of the materials this object has of the desired type. Returns null if there is no valid materials of the type
hitbyReact to being hit by a thrown object
hitby_reactWe have have actually hit the passed in atom
hulk_damageCalled to get the damage that hulks will deal to the atom.
in_contents_ofReturn true if we're inside the passed in atom
is_atom_colourChecks if this atom has the passed color +Can optionally be supplied with a range of priorities, IE only checking "washable" or above
is_drainableIs this atom drainable of reagents
is_drawableCan we draw from this atom with an injectable atom
is_injectableIs this atom injectable into other atoms
is_open_containerConvenience proc to see if a container is open for chemistry handling
is_refillableCan this atoms reagents be refilled
isinspaceIs this atom in space
item_interaction
log_messageGeneric logging helper
log_talkHelper for logging chat messages or other logs with arbitrary inputs (e.g. announcements)
makeHologramMakes this atom look like a "hologram" +So transparent, blue, with a scanline and an emissive glow +This is acomplished using a combination of filters and render steps/overlays +The degree of the opacity is optional, based off the opacity arg (0 -> 1)
manual_emoteAllows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:
mat_update_descThis proc is called when a material updates an object's description
mech_melee_attack
modify_max_integritychanges max_integrity while retaining current health percentage, returns TRUE if the atom got broken.
multitool_actCalled on an object when a tool with multitool capabilities is used to left click an object
multitool_act_secondaryCalled on an object when a tool with multitool capabilities is used to right click an object
multitool_check_bufferCheck if an item supports a data buffer (is a multitool)
narsie_actRespond to narsie eating our atom
ninjadrain_actAtom level proc for space ninja's glove interactions.
onAwayMissionIs the atom in an away mission
onCentComIs this atom currently located on centcom (or riding off into the sunset on a shuttle)
onSyndieBaseIs the atom in any of the syndicate areas
on_escaped_shuttleChecks that we're on a shuttle that's escaped
on_logCalled when the atom log's in or out
on_mouse_enterFired whenever this atom is the most recent to be hovered over in the tick. +Preferred over MouseEntered if you do not need information such as the position of the mouse. +Especially because this is deferred over a tick, do not trust that client is not null.
on_update_integrityHandle updates to your atom's integrity
play_attack_soundthe sound played when the atom is damaged.
prepare_hudsPrepare the huds for this atom
propagate_radiation_pulseA common proc used to send COMSIG_ATOM_PROPAGATE_RAD_PULSE to adjacent atoms +Only used for uranium (false/tram)walls to spread their radiation pulses
rcd_actRespond to an RCD acting on our item
rcd_valsReturn the values you get when an RCD eats you?
realize_overlaysTakes the atoms's existing overlays and underlays, and makes them mutable so they can be properly vv'd in the realized_overlays/underlays list
register_contextCreate a "Type-B" contextual screentip interaction, registering to add_context(). +This will run add_context() when the atom is hovered over by an item for context. +add_context() will not be called unless this is run. +This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.
relaydriveA special case of relaymove() in which the person relaying the move may be "driving" this atom
relaymoveAn atom we are buckled or is contained within us has tried to move
remove_airRemove air from this atom
remove_atom_colourRemoves an instance of colour_type from the atom's atom_colours list
remove_digital_auraRemoves the digital effect around the target
repair_damageProc for recovering atom_integrity. Returns the amount repaired by
replace_smooth_overlaysInternal: Takes icon states as text to replace smoothing corner overlays
return_airReturn the current air environment in this atom
return_analyzable_airReturn the air if we can analyze it
return_temperatureReturn atom temperature
run_atom_armorreturns the damage value of the attack after processing the atom's various armor protections
runechat_prefs_checkReturns the client runechat visible messages preference according to the message type.
rust_heretic_actCauses effects when the atom gets hit by a rust effect from heretics
screwdriver_actCalled on an object when a tool with screwdriver capabilities is used to left click an object
screwdriver_act_secondaryCalled on an object when a tool with screwdriver capabilities is used to right click an object
setClosedUsed to set something as 'closed' if it's being used as a supplypod
setDirHook for running code when a dir change occurs
setOpenedUsed to set something as 'open' if it's being used as a supplypod
set_armorSets the armor of this atom to the specified armor
set_armor_ratingHelper to update the atom's armor to a new armor with the specified rating
set_base_pixel_xSetter for the base_pixel_x variable to append behavior related to its changing.
set_base_pixel_ySetter for the base_pixel_y variable to append behavior related to its changing.
set_custom_materialsSets the custom materials for an item.
set_densitySetter for the density variable to append behavior related to its changing.
set_greyscaleHandles updates to greyscale value updates. +The colors argument can be either a list or the full color string. +Child procs should call parent last so the update happens after all changes.
set_hud_image_activeset every hud image in the given category active so other people with the given hud can see it. +Arguments:
set_hud_image_inactivesets every hud image in the given category inactive so no one can see it
set_light_angleSetter for the light angle of this atom
set_light_colorSetter for the light color of this atom.
set_light_dirSetter for the light direction of this atom
set_light_flagsSetter for the light flags of this atom.
set_light_heightSetter for the height of our light
set_light_onSetter for whether or not this atom's light is on.
set_light_powerSetter for the light power of this atom.
set_light_rangeSetter for the light range of this atom.
set_opacityUpdates the atom's opacity value.
set_smoothed_icon_stateChanges the icon state based on the new junction bitmask
set_wiresSets the wire datum of an atom
should_atmos_processWe use this proc to check if we should start processing an item, or continue processing it. Returns true/false as expected
shuttleRotateBase proc
singularity_actRespond to the singularity eating this atom
singularity_pullRespond to the singularity pulling on us
smooth_icondo not use, use QUEUE_SMOOTH(atom)
spasm_animationSimilar to shake but more spasm-y and jerk-y
take_damageThe essential proc to call when an atom must receive damage of any kind.
transfer_mob_blood_dnato add a mob's dna info into an object's blood_dna list.
undebugDisables light debugging, so you can let a scene fall to what it visually should be, or just fix admin fuckups
update_appearanceUpdates the appearence of the icon
update_atom_colourResets the atom's color to null, and then sets it to the highest priority colour available
update_descUpdates the description of the atom
update_greyscaleChecks if this atom uses the GAGS system and if so updates the icon
update_iconUpdates the icon of the atom
update_icon_stateUpdates the icon state of the atom
update_inhand_iconChecks the atom's loc and calls update_held_items on it if it is a mob.
update_integrityHandles the integrity of an atom changing. This must be called instead of changing integrity directly.
update_lightWill update the light (duh). +Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf...
update_nameUpdates the name of the atom
update_overlaysUpdates the overlays of the atom
update_remote_sightthe sight changes to give to the mob whose perspective is set to that atom
visible_messageGenerate a visible message from this atom
vv_edit_varcall back when a var is edited on this atom
vv_get_dropdownReturn the markup to for the dropdown list for the VV panel for this atom
washWash this atom
welder_actCalled on an object when a tool with welder capabilities is used to left click an object
welder_act_secondaryCalled on an object when a tool with welder capabilities is used to right click an object
wirecutter_actCalled on an object when a tool with wirecutter capabilities is used to left click an object
wirecutter_act_secondaryCalled on an object when a tool with wirecutter capabilities is used to right click an object
wrench_actCalled on an object when a tool with wrench capabilities is used to left click an object
wrench_act_secondaryCalled on an object when a tool with wrench capabilities is used to right click an object
zap_actRespond to an electric bolt action on our item
+

Var Details

active_hud_list + + + + +

+

all of this atom's HUD images which can actually be seen by players with that hud

ai_controller + + + + +

+

AI controller that controls this atom. type on init, then turned into an instance during runtime

article + + + + +

+

If non-null, overrides a/an/some in all cases

atom_colours + + + + +

+

used to store the different colors on an atom

+

its inherent color, the colored paint applied on it, special color effect etc...

atom_storage + + + + +

+

the datum handler for our contents - see create_storage() for creation method

base_icon_state + + + + +

+

Used for changing icon states for different base sprites.

base_pixel_w + + + + +

+

Default pixel w shifting for the atom's icon.

base_pixel_x + + + + +

+

Default pixel x shifting for the atom's icon.

base_pixel_y + + + + +

+

Default pixel y shifting for the atom's icon.

base_pixel_z + + + + +

+

Default pixel z shifting for the atom's icon.

bottom_left_corner + + + + +

+

Smoothing variable

bottom_right_corner + + + + +

+

Smoothing variable

buckle_message_cooldown + + + + +

+

Cooldown tick timer for buckle messages

canSmoothWith + + + + +

+

List of smoothing groups this atom can smooth with. If this is null and atom is smooth, it smooths only with itself. Must be sorted.

can_astar_pass + + + + +

+

How this atom should react to having its astar blocking checked

can_atmos_pass + + + + +

+

Check if atmos can pass in this atom (ATMOS_PASS_YES, ATMOS_PASS_NO, ATMOS_PASS_DENSITY, ATMOS_PASS_PROC)

chat_color + + + + +

+

Last color calculated for the the chatmessage overlays

chat_color_darkened + + + + +

+

A luminescence-shifted value of the last color calculated for chatmessage overlays

chat_color_name + + + + +

+

Last name used to calculate a color for the chatmessage overlays

custom_acid_overlay + + + + +

+

The icon state intended to be used for the acid component. Used to override the default acid overlay icon state.

custom_materials + + + + +

+

The custom materials this atom is made of, used by a lot of things like furniture, walls, and floors (if I finish the functionality, that is.) +The list referenced by this var can be shared by multiple objects and should not be directly modified. Instead, use set_custom_materials.

damage_deflection + + + + +

+

Damage under this value will be completely ignored

explosive_resistance + + + + +

+

How much this atom resists explosions by, in the end

fingerprintslast + + + + +

+

Last fingerprints to touch this atom

flags_1 + + + + +

+

First atom flags var

forensics + + + + +

+

forensics datum, contains fingerprints, fibres, blood_dna and hiddenprints on this atom

greyscale_colors + + + + +

+

A string of hex format colors to be used by greyscale sprites, ex: "#0054aa#badcff"

greyscale_config + + + + +

+

The config type to use for greyscaled sprites. Both this and greyscale_colors must be assigned to work.

hud_list + + + + +

+

all of this atom's HUD (med/sec, etc) images. Associative list of the form: list(hud category = hud image or images for that category). +most of the time hud category is associated with a single image, sometimes its associated with a list of images. +not every hud in this list is actually used. for ones available for others to see, look at active_hud_list.

hud_possible + + + + +

+

HUD images that this atom can provide.

interaction_flags_atom + + + + +

+

Intearaction flags

light + + + + +

+

Our light source. Don't fuck with this directly unless you have a good reason!

light_angle + + + + +

+

Angle of light to show in light_dir +360 is a circle, 90 is a cone, etc.

light_color + + + + +

+

Hexadecimal RGB string representing the colour of the light. White by default.

light_dir + + + + +

+

What angle to project light in

light_flags + + + + +

+

Bitflags to determine lighting-related atom properties.

light_height + + + + +

+

How many tiles "up" this light is. 1 is typical, should only really change this if it's a floor light

light_on + + + + +

+

Boolean variable for toggleable lights. Has no effect without the proper light_system, light_range and light_power values.

light_power + + + + +

+

Intensity of the light. The stronger, the less shadows you will see on the lit area.

light_range + + + + +

+

Range of the light in tiles. Zero means no light.

light_sources + + + + +

+

Any light sources that are "inside" of us, for example, if src here was a mob that's carrying a flashlight, that flashlight's light source would be part of this list.

light_system + + + + +

+

Light systems, both shouldn't be active at the same time.

managed_overlays + + + + +

+

overlays managed by update_overlays to prevent removing overlays that weren't added by the same proc. Single items are stored on their own, not in a list.

managed_vis_overlays + + + + +

+

vis overlays managed by SSvis_overlays to automaticaly turn them like other overlays.

material_flags + + + + +

+

Bitfield for how the atom handles materials.

material_modifier + + + + +

+

Modifier that raises/lowers the effect of the amount of a material, prevents small and easy to get items from being death machines.

mergers + + + + +

+

Holds merger groups currently active on the atom. Do not access directly, use GetMergeGroup() instead.

orbit_target + + + + +

+

Reference to atom being orbited

orbiters + + + + +

+

The orbiter component, if there's anything orbiting this atom

pass_flags_self + + + + +

+

pass_flags that we are. If any of this matches a pass_flag on a moving thing, by default, we let them through.

rad_insulation + + + + +

+

Radiation insulation types

reagents + + + + +

+

Reagents holder

realized_overlays + + + + +

+

List of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list

realized_underlays + + + + +

+

List of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list

receive_ricochet_chance_mod + + + + +

+

When a projectile tries to ricochet off this atom, the projectile ricochet chance is multiplied by this

receive_ricochet_damage_coeff + + + + +

+

When a projectile ricochets off this atom, it deals the normal damage * this modifier to this atom

smoothing_flags + + + + +

+

Icon-smoothing behavior.

smoothing_groups + + + + +

+

What smoothing groups does this atom belongs to, to match canSmoothWith. If null, nobody can smooth with it. Must be sorted.

smoothing_junction + + + + +

+

What directions this is currently smoothing with. IMPORTANT: This uses the smoothing direction flags as defined in icon_smoothing.dm, instead of the BYOND flags.

top_left_corner + + + + +

+

Smoothing variable

top_right_corner + + + + +

+

Smoothing variable

update_on_z + + + + +

+

Lazylist of all images (or atoms, I'm sorry) (hopefully attached to us) to update when we change z levels +You will need to manage adding/removing from this yourself, but I'll do the updating for you

update_overlays_on_z + + + + +

+

Lazylist of all overlays attached to us to update when we change z levels +You will need to manage adding/removing from this yourself, but I'll do the updating for you +Oh and note, if order of addition is important this WILL break that. so mind yourself

uses_integrity + + + + +

+

any atom that uses integrity and can be damaged must set this to true, otherwise the integrity procs will throw an error

Proc Details

AllowDrop +

+

Are you allowed to drop this atom

AltClickNoInteract +

+

Use this instead of /mob/proc/AltClickOn where you only want turf content listing without additional atom alt-click interaction

Beam +

+

This is what you use to start a beam. Example: origin.Beam(target, args). Store the return of this proc if you don't set maxdist or time, you need it to delete the beam.

+

Unless you're making a custom beam effect (see the beam_type argument), you won't actually have to mess with any other procs. Make sure you store the return of this Proc, you'll need it +to kill the beam. +Arguments: +BeamTarget: Where you're beaming from. Where do you get origin? You didn't read the docs, fuck you. +icon_state: What the beam's icon_state is. The datum effect isn't the ebeam object, it doesn't hold any icon and isn't type dependent. +icon: What the beam's icon file is. Don't change this, man. All beam icons should be in beam.dmi anyways. +maxdistance: how far the beam will go before stopping itself. Used mainly for two things: preventing lag if the beam may go in that direction and setting a range to abilities that use beams. +beam_type: The type of your custom beam. This is for adding other wacky stuff for your beam only. Most likely, you won't (and shouldn't) change it.

CanAStarPass +

+

This proc is used for telling whether something can pass by this atom in a given direction, for use by the pathfinding system.

+

Trying to generate one long path across the station will call this proc on every single object on every single tile that we're seeing if we can move through, likely +multiple times per tile since we're likely checking if we can access said tile from multiple directions, so keep these as lightweight as possible.

+

For turfs this will only be used if pathing_pass_method is TURF_PATHING_PASS_PROC

+

Arguments:

+ +

IMPORTANT NOTE: /turf/proc/LinkBlockedWithAccess assumes that overrides of CanAStarPass will always return true if density is FALSE +If this is NOT you, ensure you edit your can_astar_pass variable. Check __DEFINES/path.dm

CanAllowThrough +

+

Returns true or false to allow the mover to move through src

CanPass +

+

Whether the mover object can avoid being blocked by this atom, while arriving from (or leaving through) the border_dir.

CheckParts +

+

Ensure a list of atoms/reagents exists inside this atom

+

Goes throught he list of passed in parts, if they're reagents, adds them to our reagent holder +creating the reagent holder if it exists.

+

If the part is a moveable atom and the previous location of the item was a mob/living, +it calls the inventory handler transferItemToLoc for that mob/living and transfers the part +to this atom

+

Otherwise it simply forceMoves the atom into this atom

Click +

+

Before anything else, defer these calls to a per-mobtype handler. This allows us to +remove istype() spaghetti code, but requires the addition of other handler procs to simplify it.

+

Alternately, you could hardcode every mob's variation in a flat /mob/proc/ClickOn proc; however, +that's a lot of code duplication and is hard to maintain.

+

Note that this proc can be overridden, and is in the case of screen objects.

Destroy +

+

Top level of the destroy chain for most atoms

+

Cleans up the following:

+

Entered +

+

An atom has entered this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_ENTERED

Exit +

+

An atom is attempting to exit this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_EXIT

Exited +

+

An atom has exited this atom's contents

+

Default behaviour is to send the COMSIG_ATOM_EXITED

GetMergeGroup +

+

Gets a merger datum representing the connected blob of objects in the allowed_types argument

HasProximity +

+

Is this atom within 1 tile of another atom

IsObscured +

+

Is the atom obscured by a PREVENT_CLICK_UNDER_1 object above it

LateInitialize +

+

Late Intialization, for code that should run after all atoms have run Intialization

+

To have your LateIntialize proc be called, your atoms [Initalization][/atom/proc/Initialize] +proc must return the hint +INITIALIZE_HINT_LATELOAD otherwise it will never be called.

+

useful for doing things like finding other machines on GLOB.machines because you can guarantee +that all atoms will actually exist in the "WORLD" at this time and that all their Intialization +code has been run

New +

+

Sends a signal that the new atom src, has been created at loc +Called when an atom is created in byond (built in engine proc)

+

Not a lot happens here in SS13 code, as we offload most of the work to the +[Intialization][/atom/proc/Initialize] proc, mostly we run the preloader +if the preloader is being used and then call InitAtom of which the ultimate +result is that the Intialize proc is called.

RemoveInvisibility +

+

Removes the specified invisibility source from the tracker

SetInvisibility +

+

Sets invisibility according to priority. +If you want to be able to undo the value you set back to what it would be otherwise, +you should provide an id here and remove it using RemoveInvisibility(id)

Shake +

+

Perform a shake on an atom, resets its position afterwards

ShowProcessingGui +

+

Creates the radial and processes the selected option

SpinAnimation +

+

Proc called when you want the atom to spin around the center of its icon (or where it would be if its transform var is translated) +By default, it makes the atom spin forever and ever at a speed of 60 rpm.

+

Arguments:

+

Topic +

+

Passes Stat Browser Panel clicks to the game and calls client click on an atom

_Click +

+

stupid workaround for byond not recognizing the /atom/Click typepath for the queued click callbacks

acid_act +

+

Respond to acid being used on our atom

+

Default behaviour is to send COMSIG_ATOM_ACID_ACT and return

add_atom_colour +

+

Adds an instance of colour_type to the atom's atom_colours list

add_blood_DNA +

+

Adds blood dna to the atom

add_context +

+

Creates a "Type-B" contextual screentip interaction. +When a user hovers over this, this proc will be called in order +to provide context for contextual screentips. +You must call register_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.

add_fiber_list +

+

Add a list of fibers to the atom

add_fibers +

+

Adds a single fiber to the atom

add_fingerprint +

+

Adds a single fingerprint to the atom

add_fingerprint_list +

+

Adds a list of fingerprints to the atom

add_hiddenprint +

+

Adds a single hiddenprint to the atom

add_hiddenprint_list +

+

Adds a list of hiddenprints to the atom

add_mob_blood +

+

to add blood from a mob onto something, and transfer their dna info

alt_click_on_secondary +

+

The base proc of when something is right clicked on when alt is held - generally use alt_click_secondary instead

alt_click_secondary +

+

The base proc of when something is right clicked on when alt is held

analyzer_act +

+

Called on an object when a tool with analyzer capabilities is used to left click an object

analyzer_act_secondary +

+

Called on an object when a tool with analyzer capabilities is used to right click an object

assume_air +

+

Take air from the passed in gas mixture datum

atmos_conditions_changed +

+

Run when you update the conditions in which an /atom might want to start reacting to its turf's air

atmos_end +

+

What to do when our requirements are no longer met

atmos_expose +

+

This is your process() proc

atom_break +

+

Called after the atom takes damage and integrity is below integrity_failure level

atom_destruction +

+

what happens when the atom's integrity reaches zero.

atom_fix +

+

Called when integrity is repaired above the breaking point having been broken before

attack_ai_secondary +

+

What happens when the AI holds right-click on an item. Returns a SECONDARY_ATTACK_* value.

+

Arguments:

+

attack_alien_secondary +

+

Called when an alien right clicks an atom. +Returns a SECONDARY_ATTACK_* value.

attack_animal +

+

Called when a simple animal is unarmed attacking / clicking on this atom.

attack_animal_secondary +

+

Called when a simple animal or basic mob right clicks an atom. +Returns a SECONDARY_ATTACK_* value.

attack_basic_mob +

+

When a basic mob attacks something, either by AI or user.

attack_drone +

+

Defaults to attack_hand. Override it when you don't want drones to do same stuff as humans.

attack_drone_secondary +

+

Called when a maintenance drone right clicks an atom. +Defaults to attack_hand_secondary. +When overriding it, remember that it ought to return a SECONDARY_ATTACK_* value.

attack_hand +

+

Return TRUE to cancel other attack hand effects that respect it. Modifiers is the assoc list for click info such as if it was a right click.

attack_hand_secondary +

+

When the user uses their hand on an item while holding right-click +Returns a SECONDARY_ATTACK_* value.

attack_hulk +

+

This atom has been hit by a hulkified mob in hulk mode (user)

attack_larva_secondary +

+

Called when an alien larva right clicks an atom. +Returns a SECONDARY_ATTACK_* value.

attack_pai_secondary +

+

Called when a pAI right clicks an atom. +Returns a SECONDARY_ATTACK_* value.

attack_paw +

+

Attacked by monkey. It doesn't need its own *_secondary proc as it just uses attack_hand_secondary instead.

attack_robot_secondary +

+

What happens when the cyborg without active module holds right-click on an item. Returns a SECONDARY_ATTACK_* value.

+

Arguments:

+

attack_self_tk +

+

Telekinesis item attack_self act.

+

attack_slime_secondary +

+

Called when a slime mob right clicks an atom (that is not a turf). +Returns a SECONDARY_ATTACK_* value.

attack_tk +

+

Telekinesis attack act, happens when the TK user clicks on a non-adjacent target in range.

+

attackby +

+

Called on an object being hit by an item

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

attackby_secondary +

+

Called on an object being right-clicked on by an item

+

Arguments:

+ +

See: /obj/item/proc/melee_attack_chain

attacked_by +

+

Called from /obj/item/proc/attack_atom and /obj/item/proc/attack if the attack succeeds

attempt_charge +

+

Used to attempt to charge an object with a payment component.

+

Use this if an atom needs to attempt to charge another atom.

audible_message +

+

Show a message to all mobs in earshot of this atom

+

Use for objects performing audible actions

+

vars:

+

balloon_alert +

+

Creates text that will float from the atom upwards to the viewer.

+

Args:

+

balloon_alert_to_viewers +

+

Create balloon alerts (text that floats up) to everything within range. +Will only display to people who can see.

bitmask_smooth +

+

Basic smoothing proc. The atom checks for adjacent directions to smooth with and changes the icon_state based on that.

+

Returns the previous smoothing_junction state so the previous state can be compared with the new one after the proc ends, and see the changes, if any.

blob_act +

+

React to a hit by a blob objecd

+

default behaviour is to send the COMSIG_ATOM_BLOB_ACT signal

bullet_act +

+

React to a hit by a projectile object

+

@params

+

calculate_adjacencies +

+

Scans all adjacent turfs to find targets to smooth with.

check_eye +

+

Check if this atoms eye is still alive (probably)

check_projectile_armor +

+

A cut-out proc for /atom/proc/bullet_act so living mobs can have their own armor behavior checks without causing issues with needing their own on_hit call

clone_storage +

+

A quick and easy way to /clone/ a storage datum for an atom (does not copy over contents, only the datum details)

connect_to_shuttle +

+

Connect this atom to a shuttle

container_resist_act +

+

Called when something resists while this atom is its loc

contains +

+

Returns true if the src countain the atom target

contents_explosion +

+

Handle what happens when your contents are exploded by a bomb

create_digital_aura +

+

Creates a digital effect around the target

create_reagents +

+

Convenience proc to create a reagents holder for an atom

+

Arguments:

+

create_storage +

+

A quick and easy way to create a storage datum for an atom

crowbar_act +

+

Called on an object when a tool with crowbar capabilities is used to left click an object

crowbar_act_secondary +

+

Called on an object when a tool with crowbar capabilities is used to right click an object

debug +

+

Sets up this light source to be debugged, setting up in world buttons to control and move it +Also freezes it, so it can't change in future

do_alert_animation +

+

Does the MGS ! animation

do_spin_animation +

+

Animates source spinning around itself. For docmentation on the args, check atom/proc/SpinAnimation()

drop_location +

+

Where atoms should drop if taken from this atom

emag_act +

+

Respond to an emag being used on our atom

+

Args:

+ +

Returns: +TRUE if the emag had any effect, falsey otherwise.

emp_act +

+

React to an EMP of the given severity

+

Default behaviour is to send the COMSIG_ATOM_PRE_EMP_ACT and COMSIG_ATOM_EMP_ACT signal

+

If the pre-signal does not return protection, and there are attached wires then we call +emp_pulse on the wires

+

We then return the protection value

ex_act +

+

React to being hit by an explosion

+

Should be called through the EX_ACT wrapper macro. +The wrapper takes care of the COMSIG_ATOM_EX_ACT signal. +as well as calling /atom/proc/contents_explosion.

+

Returns TRUE by default, and behavior should be implemented on children procs on a per-atom basis. Should only return FALSE if we resist the explosion for any reason. +We assume that the default is TRUE because all atoms should be considered destructible in some manner unless they explicitly opt out (in our current framework). +However, the return value itself doesn't have any external consumers, it's only so children procs can listen to the value from their parent procs (due to the nature of the EX_ACT macro). +Thus, the return value only matters on overrides of this proc, and the only thing that truly matters is the code that is executed (applying damage, calling damage procs, etc.)

examine +

+

Called when a mob examines (shift click or verb) this atom

+

Default behaviour is to get the name and icon of the object and it's reagents where +the [TRANSPARENT] flag is set on the reagents holder

+

Produces a signal COMSIG_ATOM_EXAMINE

examine_more +

+

Called when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_WINDOW (default 1 second)

+

This is where you can put extra information on something that may be superfluous or not important in critical gameplay +moments, while allowing people to manually double-examine to take a closer look

+

Produces a signal COMSIG_ATOM_EXAMINE_MORE

expose_reagents +

+

extinguish +

+

Sends COMSIG_ATOM_EXTINGUISH signal, which properly removes burning component if it is present.

+

Default behaviour is to send COMSIG_ATOM_ACID_ACT and return

find_all_cells_containing +

+

debug proc for checking if a movable is in multiple cells when it shouldnt be (ie always unless multitile entering is implemented)

find_grid_statistics_for_z_level +

+

the next unallocated /mob/oranges_ear that we try to allocate to assigned_atom's turf +the next atom in atoms_that_need_ears an ear assigned to it +the turf loc of the current assigned_atom. turfs are used to track oranges_ears already assigned to one location so we dont allocate more than one +because allocating more than one oranges_ear to a given loc wastes view iterations +debug proc for finding how full the cells of src's z level are

find_type_in_direction +

+

Scans direction to find targets to smooth with.

fire_act +

+

Respond to fire being used on our atom

+

Default behaviour is to send COMSIG_ATOM_FIRE_ACT and return

fire_projectile +

+

Fire a projectile from this atom at another atom

flick_overlay +

+

Flicks a certain overlay onto an atom, handling icon_state strings

flick_overlay_static +

+

Flickers an overlay on an atom

flick_overlay_view +

+

Takes the passed in MA/icon_state, mirrors it onto ourselves, and displays that in world for duration seconds +Returns the displayed object, you can animate it and all, but you don't own it, we'll delete it after the duration

get_all_contents +

+

Check that gases absent from the turf have a lower boundary of zero or none at all, otherwise return FALSE +Returns the src and all recursive contents as a list.

get_all_contents_ignoring +

+

Like get_all_contents_type, but uses a typecache list as argument

get_all_contents_type +

+

identical to get_all_contents but returns a list of atoms of the type passed in the argument.

get_all_orbiters +

+

Recursive getter method to return a list of all ghosts orbitting this atom

+

This will work fine without manually passing arguments.

+

get_armor +

+

Get the atom's armor reference

get_armor_rating +

+

Helper to get a specific rating for the atom's armor

get_custom_material_amount +

+

Gets the total amount of materials in this atom.

get_digital_overlays +

+

Returns a list of overlays to be used for the digital effect

get_dumping_location +

+

If someone's trying to dump items onto our atom, where should they be dumped to?

+

Return a loc to place objects, or null to stop dumping.

get_examine_name +

+

Get the name of this object for examine

+

You can override what is returned from this proc by registering to listen for the +COMSIG_ATOM_GET_EXAMINE_NAME signal

get_examine_string +

+

Generate the full examine string of this atom (including icon for goonchat)

get_id_examine_strings +

+

Returns an extended list of examine strings for any contained ID cards.

+

Arguments:

+

get_integrity +

+

This mostly exists to keep atom_integrity private. Might be useful in the future.

get_integrity_percentage +

+

Similar to get_integrity, but returns the percentage as [0-1] instead.

get_master_material +

+

Gets the most common material in the object.

get_material_composition +

+

Returns the material composition of the atom.

+

Used when recycling items, specifically to turn alloys back into their component mats.

+

Exists because I'd need to add a way to un-alloy alloys or otherwise deal +with people converting the entire stations material supply into alloys.

+

Arguments:

+

get_name_chaser +

+

Used to insert text after the name but before the description in examine()

get_oversized_icon_offsets +

+

Returns an x and y value require to reverse the transformations made to center an oversized icon

get_remote_view_fullscreens +

+

the vision impairment to give to the mob whose perspective is set to that atom

+

(e.g. an unfocused camera giving you an impaired vision when looking through it)

handle_basic_attack +

+

This exists so stuff can override the default call of attack_animal for attack_basic_mob +Remove this when simple animals are removed and everything can be handled on attack basic mob.

handle_fall +

+

Used for making a sound when a mob involuntarily falls into the ground.

handle_slip +

+

Handle the atom being slipped over

has_gravity +

+

Returns true if this atom has gravity for the passed in turf

+

Sends signals COMSIG_ATOM_HAS_GRAVITY and COMSIG_TURF_HAS_GRAVITY, both can force gravity with +the forced gravity var.

+

micro-optimized to hell because this proc is very hot, being called several times per movement every movement.

+

HEY JACKASS, LISTEN +IF YOU ADD SOMETHING TO THIS PROC, MAKE SURE /mob/living ACCOUNTS FOR IT +Living mobs treat gravity in an event based manner. We've decomposed this proc into different checks +for them to use. If you add more to it, make sure you do that, or things will behave strangely

+

Gravity situations:

+

has_material_category +

+

Fetches a list of all of the materials this object has with the desired material category.

+

Arguments:

+

has_material_type +

+

Fetches a list of all of the materials this object has of the desired type. Returns null if there is no valid materials of the type

+

Arguments:

+

hitby +

+

React to being hit by a thrown object

+

Default behaviour is to call hitby_react on ourselves after 2 seconds if we are dense +and under normal gravity.

+

Im not sure why this the case, maybe to prevent lots of hitby's if the thrown object is +deleted shortly after hitting something (during explosions or other massive events that +throw lots of items around - singularity being a notable example)

hitby_react +

+

We have have actually hit the passed in atom

+

Default behaviour is to move back from the item that hit us

hulk_damage +

+

Called to get the damage that hulks will deal to the atom.

in_contents_of +

+

Return true if we're inside the passed in atom

is_atom_colour +

+

Checks if this atom has the passed color +Can optionally be supplied with a range of priorities, IE only checking "washable" or above

is_drainable +

+

Is this atom drainable of reagents

is_drawable +

+

Can we draw from this atom with an injectable atom

is_injectable +

+

Is this atom injectable into other atoms

is_open_container +

+

Convenience proc to see if a container is open for chemistry handling

is_refillable +

+

Can this atoms reagents be refilled

isinspace +

+

Is this atom in space

item_interaction +

+ Item interaction +

Handles non-combat iteractions of a tool on this atom, +such as using a tool on a wall to deconstruct it, +or scanning someone with a health analyzer

+

This can be overridden to add custom item interactions to this atom

+

Do not call this directly

log_message +

+

Generic logging helper

+

reads the type of the log +and writes it to the respective log file +unless log_globally is FALSE +Arguments:

+

log_talk +

+

Helper for logging chat messages or other logs with arbitrary inputs (e.g. announcements)

+

This proc compiles a log string by prefixing the tag to the message +and suffixing what it was forced_by if anything +if the message lacks a tag and suffix then it is logged on its own +Arguments:

+

makeHologram +

+

Makes this atom look like a "hologram" +So transparent, blue, with a scanline and an emissive glow +This is acomplished using a combination of filters and render steps/overlays +The degree of the opacity is optional, based off the opacity arg (0 -> 1)

manual_emote +

+

Allows the intrepid coder to send a basic emote +Takes text as input, sends it out to those who need to know after some light parsing +If you need something more complex, make it into a datum emote +Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

mat_update_desc +

+

This proc is called when a material updates an object's description

mech_melee_attack +

+ Mech melee attack +

Called when a mech melees a target with fists +Handles damaging the target & associated effects +return value is number of damage dealt +Arguments:

+

modify_max_integrity +

+

changes max_integrity while retaining current health percentage, returns TRUE if the atom got broken.

multitool_act +

+

Called on an object when a tool with multitool capabilities is used to left click an object

multitool_act_secondary +

+

Called on an object when a tool with multitool capabilities is used to right click an object

multitool_check_buffer +

+

Check if an item supports a data buffer (is a multitool)

narsie_act +

+

Respond to narsie eating our atom

+

Default behaviour is to send COMSIG_ATOM_NARSIE_ACT and return

ninjadrain_act +

+

Atom level proc for space ninja's glove interactions.

+

Proc which only occurs when space ninja uses his gloves on an atom. +Does nothing by default, but effects will vary. +Arguments:

+

onAwayMission +

+

Is the atom in an away mission

+

Must be in the away mission z-level to return TRUE

+

Also used in gamemode code for win conditions

onCentCom +

+

Is this atom currently located on centcom (or riding off into the sunset on a shuttle)

+

Specifically, is it on the z level and within the centcom areas. +You can also be in a shuttle during endgame transit.

+

Used in gamemode to identify mobs who have escaped and for some other areas of the code +who don't want atoms where they shouldn't be

+

Returns TRUE if this atom is on centcom or an escape shuttle, or FALSE if not

onSyndieBase +

+

Is the atom in any of the syndicate areas

+

Either in the syndie base, or any of their shuttles

+

Also used in gamemode code for win conditions

+

Returns TRUE if this atom is on the syndicate recon base, any of its shuttles, or an escape shuttle, or FALSE if not

on_escaped_shuttle +

+

Checks that we're on a shuttle that's escaped

+ +

Returns TRUE if this atom is on a shuttle which is escaping or has escaped, or FALSE otherwise

on_log +

+

Called when the atom log's in or out

+

Default behaviour is to call on_log on the location this atom is in

on_mouse_enter +

+

Fired whenever this atom is the most recent to be hovered over in the tick. +Preferred over MouseEntered if you do not need information such as the position of the mouse. +Especially because this is deferred over a tick, do not trust that client is not null.

on_update_integrity +

+

Handle updates to your atom's integrity

play_attack_sound +

+

the sound played when the atom is damaged.

prepare_huds +

+

Prepare the huds for this atom

+

Goes through hud_possible list and adds the images to the hud_list variable (if not already cached)

propagate_radiation_pulse +

+

A common proc used to send COMSIG_ATOM_PROPAGATE_RAD_PULSE to adjacent atoms +Only used for uranium (false/tram)walls to spread their radiation pulses

rcd_act +

+

Respond to an RCD acting on our item

+

Default behaviour is to send COMSIG_ATOM_RCD_ACT and return FALSE

rcd_vals +

+

Return the values you get when an RCD eats you?

realize_overlays +

+

Takes the atoms's existing overlays and underlays, and makes them mutable so they can be properly vv'd in the realized_overlays/underlays list

register_context +

+

Create a "Type-B" contextual screentip interaction, registering to add_context(). +This will run add_context() when the atom is hovered over by an item for context. +add_context() will not be called unless this is run. +This is not necessary for Type-B interactions, as you can just apply the flag and register to the signal yourself.

relaydrive +

+

A special case of relaymove() in which the person relaying the move may be "driving" this atom

+

This is a special case for vehicles and ridden animals where the relayed movement may be handled +by the riding component attached to this atom. Returns TRUE as long as there's nothing blocking +the movement, or FALSE if the signal gets a reply that specifically blocks the movement

relaymove +

+

An atom we are buckled or is contained within us has tried to move

+

Default behaviour is to send a warning that the user can't move while buckled as long +as the buckle_message_cooldown has expired (50 ticks)

remove_air +

+

Remove air from this atom

remove_atom_colour +

+

Removes an instance of colour_type from the atom's atom_colours list

remove_digital_aura +

+

Removes the digital effect around the target

repair_damage +

+

Proc for recovering atom_integrity. Returns the amount repaired by

replace_smooth_overlays +

+

Internal: Takes icon states as text to replace smoothing corner overlays

return_air +

+

Return the current air environment in this atom

return_analyzable_air +

+

Return the air if we can analyze it

return_temperature +

+

Return atom temperature

run_atom_armor +

+

returns the damage value of the attack after processing the atom's various armor protections

runechat_prefs_check +

+

Returns the client runechat visible messages preference according to the message type.

rust_heretic_act +

+

Causes effects when the atom gets hit by a rust effect from heretics

+

Override this if you want custom behaviour in whatever gets hit by the rust

screwdriver_act +

+

Called on an object when a tool with screwdriver capabilities is used to left click an object

screwdriver_act_secondary +

+

Called on an object when a tool with screwdriver capabilities is used to right click an object

setClosed +

+

Used to set something as 'closed' if it's being used as a supplypod

+

Override this if you want an atom to be usable as a supplypod.

setDir +

+

Hook for running code when a dir change occurs

+

Not recommended to use, listen for the COMSIG_ATOM_DIR_CHANGE signal instead (sent by this proc)

setOpened +

+

Used to set something as 'open' if it's being used as a supplypod

+

Override this if you want an atom to be usable as a supplypod.

set_armor +

+

Sets the armor of this atom to the specified armor

set_armor_rating +

+

Helper to update the atom's armor to a new armor with the specified rating

set_base_pixel_x +

+

Setter for the base_pixel_x variable to append behavior related to its changing.

set_base_pixel_y +

+

Setter for the base_pixel_y variable to append behavior related to its changing.

set_custom_materials +

+

Sets the custom materials for an item.

set_density +

+

Setter for the density variable to append behavior related to its changing.

set_greyscale +

+

Handles updates to greyscale value updates. +The colors argument can be either a list or the full color string. +Child procs should call parent last so the update happens after all changes.

set_hud_image_active +

+

set every hud image in the given category active so other people with the given hud can see it. +Arguments:

+

set_hud_image_inactive +

+

sets every hud image in the given category inactive so no one can see it

set_light_angle +

+

Setter for the light angle of this atom

set_light_color +

+

Setter for the light color of this atom.

set_light_dir +

+

Setter for the light direction of this atom

set_light_flags +

+

Setter for the light flags of this atom.

set_light_height +

+

Setter for the height of our light

set_light_on +

+

Setter for whether or not this atom's light is on.

set_light_power +

+

Setter for the light power of this atom.

set_light_range +

+

Setter for the light range of this atom.

set_opacity +

+

Updates the atom's opacity value.

+

This exists to act as a hook for associated behavior. +It notifies (potentially) affected light sources so they can update (if needed).

set_smoothed_icon_state +

+

Changes the icon state based on the new junction bitmask

set_wires +

+

Sets the wire datum of an atom

should_atmos_process +

+

We use this proc to check if we should start processing an item, or continue processing it. Returns true/false as expected

shuttleRotate +

+

Base proc

singularity_act +

+

Respond to the singularity eating this atom

singularity_pull +

+

Respond to the singularity pulling on us

+

Default behaviour is to send COMSIG_ATOM_SING_PULL and return

smooth_icon +

+

do not use, use QUEUE_SMOOTH(atom)

spasm_animation +

+

Similar to shake but more spasm-y and jerk-y

take_damage +

+

The essential proc to call when an atom must receive damage of any kind.

transfer_mob_blood_dna +

+

to add a mob's dna info into an object's blood_dna list.

undebug +

+

Disables light debugging, so you can let a scene fall to what it visually should be, or just fix admin fuckups

update_appearance +

+

Updates the appearence of the icon

+

Mostly delegates to update_name, update_desc, and update_icon

+

Arguments:

+

update_atom_colour +

+

Resets the atom's color to null, and then sets it to the highest priority colour available

update_desc +

+

Updates the description of the atom

update_greyscale +

+

Checks if this atom uses the GAGS system and if so updates the icon

update_icon +

+

Updates the icon of the atom

update_icon_state +

+

Updates the icon state of the atom

update_inhand_icon +

+

Checks the atom's loc and calls update_held_items on it if it is a mob.

+

This should only be used in situations when you are unable to use /datum/element/update_icon_updates_onmob for whatever reason. +Check code/datums/elements/update_icon_updates_onmob.dm before using this. Adding that to the atom and calling update_appearance will work for most cases.

+

Arguments:

+

update_integrity +

+

Handles the integrity of an atom changing. This must be called instead of changing integrity directly.

update_light +

+

Will update the light (duh). +Creates or destroys it if needed, makes it update values, makes sure it's got the correct source turf...

update_name +

+

Updates the name of the atom

update_overlays +

+

Updates the overlays of the atom

update_remote_sight +

+

the sight changes to give to the mob whose perspective is set to that atom

+

(e.g. A mob with nightvision loses its nightvision while looking through a normal camera)

visible_message +

+

Generate a visible message from this atom

+

Show a message to all player mobs who sees this atom

+

Show a message to the src mob (if the src is a mob)

+

Use for atoms performing visible actions

+

message is output to anyone who can see, e.g. "The [src] does something!"

+

Vars:

+

vv_edit_var +

+

call back when a var is edited on this atom

+

Can be used to implement special handling of vars

+

At the atom level, if you edit a var named "color" it will add the atom colour with +admin level priority to the atom colours list

+

Also, if GLOB.Debug2 is FALSE, it sets the ADMIN_SPAWNED_1 flag on flags_1, which signifies +the object has been admin edited

vv_get_dropdown +

+

Return the markup to for the dropdown list for the VV panel for this atom

+

Override in subtypes to add custom VV handling in the VV panel

wash +

+

Wash this atom

+

This will clean it off any temporary stuff like blood. Override this in your item to add custom cleaning behavior. +Returns true if any washing was necessary and thus performed +Arguments:

+

welder_act +

+

Called on an object when a tool with welder capabilities is used to left click an object

welder_act_secondary +

+

Called on an object when a tool with welder capabilities is used to right click an object

wirecutter_act +

+

Called on an object when a tool with wirecutter capabilities is used to left click an object

wirecutter_act_secondary +

+

Called on an object when a tool with wirecutter capabilities is used to right click an object

wrench_act +

+

Called on an object when a tool with wrench capabilities is used to left click an object

wrench_act_secondary +

+

Called on an object when a tool with wrench capabilities is used to right click an object

zap_act +

+

Respond to an electric bolt action on our item

+

Default behaviour is to return, we define here to allow for cleaner code later on

+ + + diff --git a/atom/movable.html b/atom/movable.html new file mode 100644 index 00000000000..5921b724cc1 --- /dev/null +++ b/atom/movable.html @@ -0,0 +1,1055 @@ + + + + + + + /atom/movable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

movable + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

affected_dynamic_lightsLazylist to keep track on the sources of illumination.
affecting_dynamic_lumiHighest-intensity light affecting us, which determines our visibility.
blocks_emissiveEither EMISSIVE_BLOCK_NONE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE
buckle_lyingBed-like behaviour, forces mob.lying = buckle_lying if not set to NO_BUCKLE_LYING.
buckle_prevents_pullWhether things buckled to this atom can be pulled while they're buckled
buckle_requires_restraintsRequire people to be handcuffed before being able to buckle. eg: pipes
buckled_mobsThe mobs currently buckled to this atom
can_be_unanchoredUsed for the calculate_adjacencies proc for icon smoothing.
can_buckleWhether the atom allows mobs to be buckled to it. Can be ignored in [/atom/movable/proc/buckle_mob()] if force = TRUE
client_mobs_in_contentscontains every client mob corresponding to every client eye in this container. lazily updated by SSparallax and is sparse: +only the last container of a client eye has this list assuming no movement since SSparallax's last fire
contents_pressure_protectionThe degree of pressure protection that mobs in list/contents have from the external environment, between 0 and 1
contents_thermal_insulationThe degree of thermal insulation that mobs in list/contents have from the external environment, between 0 and 1
currently_z_movingis the mob currently ascending or descending through z levels?
em_blockInternal holder for emissive blocker object, do not use directly use blocks_emissive
explosion_blockValue used to increment ex_act() if reactionary_explosions is on +How much we as a source block explosions by +Will not automatically apply to the turf below you, you need to apply /datum/element/block_explosives in conjunction with this
factionThe list of factions this atom belongs to
generic_canpassIf false makes CanPass call CanPassThrough on this type instead of using default behaviour
important_recursive_contentsan associative lazylist of relevant nested contents by "channel", the list is of the form: list(channel = list(important nested contents of that type)) +each channel has a specific purpose and is meant to replace potentially expensive nested contents iteration. +do NOT add channels to this for little reason as it can add considerable memory usage.
inertia_move_delayDelay in deciseconds between inertia based movement
inertia_movingAre we moving with inertia? Mostly used as an optimization
initial_language_holderWhat language holder type to init as
language_holderHolds all languages this mob can speak and understand
last_pushoffThe last time we pushed off something +This is a hack to get around dumb him him me scenarios
max_buckled_mobsThe maximum number of mob/livings allowed to be buckled to this atom at once
max_grabThe strongest grab we can acomplish
move_packetHolds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on
movement_typeIn case you have multiple types, you automatically use the most useful one. +IE: Skating on ice, flippers on water, flying over chasm/space, etc. +I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.
moving_diagonally0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move
moving_from_pullattempt to resume grab after moving instead of before.
pass_flagsThings we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.
pitchThe pitch adjustment that this movable uses when speaking.
pressure_resistanceHow much delta pressure is needed for us to move
set_dir_on_moveWhether this atom should have its dir automatically changed when it moves. Setting this to FALSE allows for things such as directional windows to retain dir on moving without snowflake code all of the place.
spatial_grid_keyString representing the spatial grid groups we want to be held in. +acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. +We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves
tk_throw_rangeMax range this atom can be thrown via telekinesis
tts_silicon_voice_effectSet to anything other than "" to activate the silicon voice effect for TTS messages.
voiceThe voice that this movable makes when speaking
voice_filterThe filter to apply to the voice when processing the TTS audio message.

Procs

CanEnterDisposalsCalled to check if an atom can fit inside the diposal
CanPassThroughReturns true or false to allow src to move through the blocker, mover has final say
CanReachA backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.
Crosseddefault byond proc that is deprecated for us in lieu of signals. do not call
HearCalled when this movable hears a message from a source. +Returns TRUE if the message was received and understood.
MovedCalled after a successful Move(). By this point, we've already moved. +Arguments:
Process_SpacemoveCalled whenever an object moves and by mobs when they attempt to move themselves through space +And when an object or action applies a force on src, see newtonian_move
UncrossUncross() is a default BYOND proc that is called when something is going +to exit this atom's turf. It is prefered over Uncrossed when you want to +deny that movement, such as in the case of border objects, objects that allow +you to walk through them in any direction except the one they block +(think side windows).
Uncrosseddefault byond proc that is normally called on everything inside the previous turf +a movable was in after moving to its current turf +this is wasteful since the vast majority of objects do not use Uncrossed +use connect_loc to register to COMSIG_ATOM_EXITED instead
abstract_movemeant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) +if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this +most of the time you want forceMove()
add_blocked_languageAdds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.
admin_teleportProc to hook user-enacted teleporting behavior and keep logging of the event.
apply_crit_crushShould be where critcase effects are actually implemented. Use this to apply critcases. +Args:
become_active_storagecalled when this movable becomes the parent of a storage component that is currently being viewed by a player. uses important_recursive_contents
become_area_sensitiveWe get our awareness updated by the important recursive contents stuff, here we remove our membership +allows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents
become_hearing_sensitiveallows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in
buckle_mobSet a mob as buckled to src
can_speakChecks if our movable can currently speak, vocally, in general. +Should NOT include feedback messages about why someone can or can't speak
can_speak_languageChecks if atom can speak the language.
can_z_moveChecks if the destination turf is elegible for z movement from the start turf to a given direction and returns it if so. +Args:
check_pullingChecks if the pulling and pulledby should be stopped because they're out of reach. +If z_allowed is TRUE, the z level of the pulling will be ignored.This is to allow things to be dragged up and down stairs.
copy_languagesCopies all languages into the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
could_speak_languageReturns the result of tongue specific limitations on spoken languages.
deadchat_playsAdds the deadchat_plays component to this atom with simple movement commands.
faction_check_atomCheck if the other atom/movable has any factions the same as us. Defined at the atom/movable level so it can be defined for just about anything.
fall_and_crushCauses src to fall onto [target], crushing everything on it (including itself) with [damage] +and a small chance to do a spectacular effect per entity (if a chance above 0 is provided).
fall_and_crush_crit_rebate_tableAllows damage to be reduced on certain crit cases. +Args:
get_crit_crush_chancesReturns a assoc list of (critcase -> num), where critcase is a critical define in crushing.dm and num is a weight. +Use with pickweight to acquire a random critcase.
get_language_holderGets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.
get_z_move_affectedReturns a list of movables that should also be affected when src moves through zlevels, and src.
grant_all_languagesGrants every language.
grant_languageGrants the supplied language and sets omnitongue true.
grant_random_uncommon_languageTeaches a random non-common language and sets it as the active language
has_buckled_mobsReturns TRUE if there are mobs buckled to this atom and FALSE otherwise
has_languageChecks if atom has the language. If spoken is true, only checks if atom can speak the language.
is_buckle_possibleSimple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src.
is_user_buckle_possibleSimple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src.
keybind_face_directionA wrapper for setDir that should only be able to fail by living mobs.
lose_active_storagecalled when this movable's storage component is no longer viewed by any players, unsets important_recursive_contents
lose_area_sensitivityremoves the area sensitive channel from the important_recursive_contents list of this and all nested locs containing us if there are no more source of the trait left
lose_hearing_sensitivityremoves the hearing sensitivity channel from the important_recursive_contents list of this and all nested locs containing us if there are no more sources of the trait left +since RECURSIVE_CONTENTS_HEARING_SENSITIVE is also a spatial grid content type, removes us from the spatial grid if the trait is removed
mouse_buckle_handlingDoes some typechecks and then calls user_buckle_mob
move_from_pullCalled when src is being moved to a target turf because another movable (puller) is moving around.
newtonian_moveOnly moves the object if it's under no gravity +Accepts the direction to move, if the push should be instant, and an optional parameter to fine tune the start delay
onShuttleMoveCalled on atoms to move the atom to the new location
on_changed_z_levelzMove already handles whether a pull from another movable should be broken. +Called when a movable changes z-levels.
on_enter_storagecalled when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.
on_exit_storagecalled when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.
point_atPoint at an atom
post_crush_livingExists for the purposes of custom behavior. +Called directly after [crushed] is crushed.
post_tiltExists for the purposes of custom behavior. +Called directly after src actually rotates and falls over.
randomize_language_if_on_stationRandomizes our atom's language to an uncommon language if:
relay_container_resist_actcalled when a mob resists while inside a container that is itself inside something.
remove_all_languagesRemoves every language and sets omnitongue false.
remove_blocked_languageRemoves a language from the blocked language list.
remove_languageRemoves a single language.
say_emphasisScans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks
setGrabStateUpdates the grab state of the movable
set_active_languageSets the passed path as the active language +Returns the currently selected language if successful, if the language was not valid, returns null
set_anchoredSets the anchored var and returns if it was sucessfully changed or not.
set_currently_z_movingSets the currently_z_moving variable to a new value. Used to allow some zMovement sources to have precedence over others.
set_light_range_power_colorHelper to change several lighting overlay settings.
set_pulledbyReports the event of the change in value of the pulledby variable.
shuttleRotateBase /atom/movable proc
throw_atIf this returns FALSE then callback will not be called.
translate_languageModifies the message by comparing the languages of the speaker with the languages of the hearer. Called on the hearer.
try_speakChecks if our movable can speak the provided message, passing it through filters +and spam detection. Does not call can_speak. CAN include feedback messages about +why someone can or can't speak
unbuckle_all_mobsCall /atom/movable/proc/unbuckle_mob for all buckled mobs
unbuckle_mobSet a mob as unbuckled from src
update_dynamic_luminosityKeeps track of the sources of dynamic luminosity and updates our visibility with the highest.
update_overlaysAny color becomes white. Anything else is black, and it's fully opaque +Ought to work
user_buckle_mobHandles a mob buckling another mob to src and sends a visible_message
user_unbuckle_mobHandles a user unbuckling a mob from src and sends a visible_message
+

Var Details

affected_dynamic_lights + + + + +

+

Lazylist to keep track on the sources of illumination.

affecting_dynamic_lumi + + + + +

+

Highest-intensity light affecting us, which determines our visibility.

blocks_emissive + + + + +

+

Either EMISSIVE_BLOCK_NONE, EMISSIVE_BLOCK_GENERIC, or EMISSIVE_BLOCK_UNIQUE

buckle_lying + + + + +

+

Bed-like behaviour, forces mob.lying = buckle_lying if not set to NO_BUCKLE_LYING.

buckle_prevents_pull + + + + +

+

Whether things buckled to this atom can be pulled while they're buckled

buckle_requires_restraints + + + + +

+

Require people to be handcuffed before being able to buckle. eg: pipes

buckled_mobs + + + + +

+

The mobs currently buckled to this atom

can_be_unanchored + + + + +

+

Used for the calculate_adjacencies proc for icon smoothing.

can_buckle + + + + +

+

Whether the atom allows mobs to be buckled to it. Can be ignored in [/atom/movable/proc/buckle_mob()] if force = TRUE

client_mobs_in_contents + + + + +

+

contains every client mob corresponding to every client eye in this container. lazily updated by SSparallax and is sparse: +only the last container of a client eye has this list assuming no movement since SSparallax's last fire

contents_pressure_protection + + + + +

+

The degree of pressure protection that mobs in list/contents have from the external environment, between 0 and 1

contents_thermal_insulation + + + + +

+

The degree of thermal insulation that mobs in list/contents have from the external environment, between 0 and 1

currently_z_moving + + + + +

+

is the mob currently ascending or descending through z levels?

em_block + + + + +

+

Internal holder for emissive blocker object, do not use directly use blocks_emissive

explosion_block + + + + +

+

Value used to increment ex_act() if reactionary_explosions is on +How much we as a source block explosions by +Will not automatically apply to the turf below you, you need to apply /datum/element/block_explosives in conjunction with this

faction + + + + +

+

The list of factions this atom belongs to

generic_canpass + + + + +

+

If false makes CanPass call CanPassThrough on this type instead of using default behaviour

important_recursive_contents + + + + +

+

an associative lazylist of relevant nested contents by "channel", the list is of the form: list(channel = list(important nested contents of that type)) +each channel has a specific purpose and is meant to replace potentially expensive nested contents iteration. +do NOT add channels to this for little reason as it can add considerable memory usage.

inertia_move_delay + + + + +

+

Delay in deciseconds between inertia based movement

inertia_moving + + + + +

+

Are we moving with inertia? Mostly used as an optimization

initial_language_holder + + + + +

+

What language holder type to init as

language_holder + + + + +

+

Holds all languages this mob can speak and understand

last_pushoff + + + + +

+

The last time we pushed off something +This is a hack to get around dumb him him me scenarios

max_buckled_mobs + + + + +

+

The maximum number of mob/livings allowed to be buckled to this atom at once

max_grab + + + + +

+

The strongest grab we can acomplish

move_packet + + + + +

+

Holds information about any movement loops currently running/waiting to run on the movable. Lazy, will be null if nothing's going on

movement_type + + + + +

+

In case you have multiple types, you automatically use the most useful one. +IE: Skating on ice, flippers on water, flying over chasm/space, etc. +I reccomend you use the movetype_handler system and not modify this directly, especially for living mobs.

moving_diagonally + + + + +

+

0: not doing a diagonal move. 1 and 2: doing the first/second step of the diagonal move

moving_from_pull + + + + +

+

attempt to resume grab after moving instead of before.

pass_flags + + + + +

+

Things we can pass through while moving. If any of this matches the thing we're trying to pass's [pass_flags_self], then we can pass through.

pitch + + + + +

+

The pitch adjustment that this movable uses when speaking.

pressure_resistance + + + + +

+

How much delta pressure is needed for us to move

set_dir_on_move + + + + +

+

Whether this atom should have its dir automatically changed when it moves. Setting this to FALSE allows for things such as directional windows to retain dir on moving without snowflake code all of the place.

spatial_grid_key + + + + +

+

String representing the spatial grid groups we want to be held in. +acts as a key to the list of spatial grid contents types we exist in via SSspatial_grid.spatial_grid_categories. +We do it like this to prevent people trying to mutate them and to save memory on holding the lists ourselves

tk_throw_range + + + + +

+

Max range this atom can be thrown via telekinesis

tts_silicon_voice_effect + + + + +

+

Set to anything other than "" to activate the silicon voice effect for TTS messages.

voice + + + + +

+

The voice that this movable makes when speaking

voice_filter + + + + +

+

The filter to apply to the voice when processing the TTS audio message.

Proc Details

CanEnterDisposals +

+

Called to check if an atom can fit inside the diposal

CanPassThrough +

+

Returns true or false to allow src to move through the blocker, mover has final say

CanReach +

+

A backwards depth-limited breadth-first-search to see if the target is +logically "in" anything adjacent to us.

Crossed +

+

default byond proc that is deprecated for us in lieu of signals. do not call

Hear +

+

Called when this movable hears a message from a source. +Returns TRUE if the message was received and understood.

Moved +

+

Called after a successful Move(). By this point, we've already moved. +Arguments:

+

Process_Spacemove +

+

Called whenever an object moves and by mobs when they attempt to move themselves through space +And when an object or action applies a force on src, see newtonian_move

+

Return FALSE to have src start/keep drifting in a no-grav area and TRUE to stop/not start drifting

+

Mobs should return 1 if they should be able to move of their own volition, see /client/proc/Move

+

Arguments:

+

Uncross +

+

Uncross() is a default BYOND proc that is called when something is going +to exit this atom's turf. It is prefered over Uncrossed when you want to +deny that movement, such as in the case of border objects, objects that allow +you to walk through them in any direction except the one they block +(think side windows).

+

While being seemingly harmless, most everything doesn't actually want to +use this, meaning that we are wasting proc calls for every single atom +on a turf, every single time something exits it, when basically nothing +cares.

+

This overhead caused real problems on Sybil round #159709, where lag +attributed to Uncross was so bad that the entire master controller +collapsed and people made Among Us lobbies in OOC.

+

If you want to replicate the old Uncross() behavior, the most apt +replacement is [/datum/element/connect_loc] while hooking onto +[COMSIG_ATOM_EXIT].

Uncrossed +

+

default byond proc that is normally called on everything inside the previous turf +a movable was in after moving to its current turf +this is wasteful since the vast majority of objects do not use Uncrossed +use connect_loc to register to COMSIG_ATOM_EXITED instead

abstract_move +

+

meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) +if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this +most of the time you want forceMove()

add_blocked_language +

+

Adds a language to the blocked language list. Use this over remove_language in cases where you will give languages back later.

admin_teleport +

+

Proc to hook user-enacted teleporting behavior and keep logging of the event.

apply_crit_crush +

+

Should be where critcase effects are actually implemented. Use this to apply critcases. +Args:

+ +

Returns: +TRUE if a crit case is successfully applied, FALSE otherwise.

become_active_storage +

+

called when this movable becomes the parent of a storage component that is currently being viewed by a player. uses important_recursive_contents

become_area_sensitive +

+

We get our awareness updated by the important recursive contents stuff, here we remove our membership +allows this movable to know when it has "entered" another area no matter how many movable atoms its stuffed into, uses important_recursive_contents

become_hearing_sensitive +

+

allows this movable to hear and adds itself to the important_recursive_contents list of itself and every movable loc its in

buckle_mob +

+

Set a mob as buckled to src

+

If you want to have a mob buckling another mob to something, or you want a chat message sent, use user_buckle_mob instead. +Arguments: +M - The mob to be buckled to src +force - Set to TRUE to ignore src's can_buckle and M's can_buckle_to +check_loc - Set to FALSE to allow buckling from adjacent turfs, or TRUE if buckling is only allowed with src and M on the same turf. +buckle_mob_flags- Used for riding cyborgs and humans if we need to reserve an arm or two on either the rider or the ridden mob. +ignore_self - If set to TRUE, this will not do a check to see if the user can move into the turf of the mob and will just automatically mount them.

can_speak +

+

Checks if our movable can currently speak, vocally, in general. +Should NOT include feedback messages about why someone can or can't speak

+

Used in various places to check if a movable is simply able to speak in general, +regardless of OOC status (being muted) and regardless of what they're actually saying.

+

Checked AFTER handling of xeno channels. +(I'm not sure what this comment means, but it was here in the past, so I'll maintain it here.)

+

allow_mimes - Determines if this check should skip over mimes. (Only matters for living mobs and up.) +If FALSE, this check will always fail if the movable has a mind and is miming. +if TRUE, we will check if the movable can speak REGARDLESS of if they have an active mime vow.

can_speak_language +

+

Checks if atom can speak the language.

can_z_move +

+

Checks if the destination turf is elegible for z movement from the start turf to a given direction and returns it if so. +Args:

+

check_pulling +

+

Checks if the pulling and pulledby should be stopped because they're out of reach. +If z_allowed is TRUE, the z level of the pulling will be ignored.This is to allow things to be dragged up and down stairs.

copy_languages +

+

Copies all languages into the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.

could_speak_language +

+

Returns the result of tongue specific limitations on spoken languages.

deadchat_plays +

+

Adds the deadchat_plays component to this atom with simple movement commands.

+

Returns the component added. +Arguments:

+

faction_check_atom +

+

Check if the other atom/movable has any factions the same as us. Defined at the atom/movable level so it can be defined for just about anything.

+

If exact match is set, then all our factions must match exactly

fall_and_crush +

+

Causes src to fall onto [target], crushing everything on it (including itself) with [damage] +and a small chance to do a spectacular effect per entity (if a chance above 0 is provided).

+

Args:

+ +

Returns: A collection of bitflags defined in crushing.dm. Read that file's documentation for info.

fall_and_crush_crit_rebate_table +

+

Allows damage to be reduced on certain crit cases. +Args:

+

get_crit_crush_chances +

+

Returns a assoc list of (critcase -> num), where critcase is a critical define in crushing.dm and num is a weight. +Use with pickweight to acquire a random critcase.

get_language_holder +

+

Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.

get_random_spoken_language +

+

Gets a random spoken language, useful for forced speech and such.

get_random_understood_language +

+

Gets a random understood language, useful for hallucinations and such.

get_selected_language +

+

Returns selected language, if it can be spoken, or finds, sets and returns a new selected language if possible.

get_z_move_affected +

+

Returns a list of movables that should also be affected when src moves through zlevels, and src.

grant_all_languages +

+

Grants every language.

grant_language +

+

Grants the supplied language and sets omnitongue true.

grant_random_uncommon_language +

+

Teaches a random non-common language and sets it as the active language

has_buckled_mobs +

+

Returns TRUE if there are mobs buckled to this atom and FALSE otherwise

has_language +

+

Checks if atom has the language. If spoken is true, only checks if atom can speak the language.

is_buckle_possible +

+

Simple helper proc that runs a suite of checks to test whether it is possible or not to buckle the target mob to src.

+

Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise. +Called from /atom/movable/proc/buckle_mob and /atom/movable/proc/is_user_buckle_possible. +Arguments:

+

is_user_buckle_possible +

+

Simple helper proc that runs a suite of checks to test whether it is possible or not for user to buckle target mob to src.

+

Returns FALSE if any conditions that should prevent buckling are satisfied. Returns TRUE otherwise. +Called from /atom/movable/proc/user_buckle_mob. +Arguments:

+

keybind_face_direction +

+

A wrapper for setDir that should only be able to fail by living mobs.

+

Called from [/atom/movable/proc/keyLoop], this exists to be overwritten by living mobs with a check to see if we're actually alive enough to change directions

lose_active_storage +

+

called when this movable's storage component is no longer viewed by any players, unsets important_recursive_contents

lose_area_sensitivity +

+

removes the area sensitive channel from the important_recursive_contents list of this and all nested locs containing us if there are no more source of the trait left

lose_hearing_sensitivity +

+

removes the hearing sensitivity channel from the important_recursive_contents list of this and all nested locs containing us if there are no more sources of the trait left +since RECURSIVE_CONTENTS_HEARING_SENSITIVE is also a spatial grid content type, removes us from the spatial grid if the trait is removed

+

mouse_buckle_handling +

+

Does some typechecks and then calls user_buckle_mob

+

Arguments: +M - The mob being buckled to src +user - The mob buckling M to src

move_from_pull +

+

Called when src is being moved to a target turf because another movable (puller) is moving around.

newtonian_move +

+

Only moves the object if it's under no gravity +Accepts the direction to move, if the push should be instant, and an optional parameter to fine tune the start delay

onShuttleMove +

+

Called on atoms to move the atom to the new location

on_changed_z_level +

+

zMove already handles whether a pull from another movable should be broken. +Called when a movable changes z-levels.

+

Arguments:

+

on_enter_storage +

+

called when this atom is added into a storage item, which is passed on as S. The loc variable is already set to the storage item.

on_exit_storage +

+

called when this atom is removed from a storage item, which is passed on as S. The loc variable is already set to the new destination before this is called.

point_at +

+

Point at an atom

+

Intended to enable and standardise the pointing animation for all atoms

+

Not intended as a replacement for the mob verb

post_crush_living +

+

Exists for the purposes of custom behavior. +Called directly after [crushed] is crushed.

+

Args:

+

post_tilt +

+

Exists for the purposes of custom behavior. +Called directly after src actually rotates and falls over.

randomize_language_if_on_station +

+

Randomizes our atom's language to an uncommon language if:

+

relay_container_resist_act +

+

called when a mob resists while inside a container that is itself inside something.

remove_all_languages +

+

Removes every language and sets omnitongue false.

remove_blocked_language +

+

Removes a language from the blocked language list.

remove_language +

+

Removes a single language.

say_emphasis +

+

Scans the input sentence for speech emphasis modifiers, notably |italics|, +bold+, and underline -mothblocks

setGrabState +

+

Updates the grab state of the movable

+

This exists to act as a hook for behaviour

set_active_language +

+

Sets the passed path as the active language +Returns the currently selected language if successful, if the language was not valid, returns null

set_anchored +

+

Sets the anchored var and returns if it was sucessfully changed or not.

set_currently_z_moving +

+

Sets the currently_z_moving variable to a new value. Used to allow some zMovement sources to have precedence over others.

set_light_range_power_color +

+

Helper to change several lighting overlay settings.

set_pulledby +

+

Reports the event of the change in value of the pulledby variable.

shuttleRotate +

+

Base /atom/movable proc

throw_at +

+

If this returns FALSE then callback will not be called.

translate_language +

+

Modifies the message by comparing the languages of the speaker with the languages of the hearer. Called on the hearer.

try_speak +

+

Checks if our movable can speak the provided message, passing it through filters +and spam detection. Does not call can_speak. CAN include feedback messages about +why someone can or can't speak

+

Used in [proc/say] and other methods of speech (radios) after a movable has inputted some message. +If you just want to check if the movable is able to speak in character, use [proc/can_speak] instead.

+

Parameters:

+ +

Returns: +TRUE of FASE depending on if our movable can speak

unbuckle_all_mobs +

+

Call /atom/movable/proc/unbuckle_mob for all buckled mobs

unbuckle_mob +

+

Set a mob as unbuckled from src

+

The mob must actually be buckled to src or else bad things will happen. +Arguments: +buckled_mob - The mob to be unbuckled +force - TRUE if we should ignore buckled_mob.can_buckle_to

update_dynamic_luminosity +

+

Keeps track of the sources of dynamic luminosity and updates our visibility with the highest.

update_overlays +

+

Any color becomes white. Anything else is black, and it's fully opaque +Ought to work

user_buckle_mob +

+

Handles a mob buckling another mob to src and sends a visible_message

+

Basically exists to do some checks on the user and then call buckle_mob where the real buckling happens. +First, checks if the buckle is valid and cancels if it isn't. +Second, checks if src is on a different turf from the target; if it is, does a do_after and another check for sanity +Finally, calls /atom/movable/proc/buckle_mob to buckle the target to src then gives chat feedback +Arguments:

+

user_unbuckle_mob +

+

Handles a user unbuckling a mob from src and sends a visible_message

+

Basically just calls unbuckle_mob, sets fingerprint, and sends a visible_message +about the user unbuckling the mob +Arguments: +buckled_mob - The mob/living to unbuckle +user - The mob unbuckling buckled_mob

+ + + diff --git a/atom/movable/immerse_overlay.html b/atom/movable/immerse_overlay.html new file mode 100644 index 00000000000..380fd30bf33 --- /dev/null +++ b/atom/movable/immerse_overlay.html @@ -0,0 +1,65 @@ + + + + + + + /atom/movable/immerse_overlay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

immerse_overlay + + + +

+ +

The not-quite-perfect movable used by the immerse element for its nefarious deeds.

+ + + +

Vars

extra_heightThe base pixel y offset of this movable
extra_widthThe base pixel x offset of this movable
overlay_appearanceThe actual overlay used to make the mob look like it's half-covered in water.

Procs

adjust_living_overlay_offsetCalled by COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY for living mobs and a few procs from the immerse element.
+

Var Details

extra_height + + + + +

+

The base pixel y offset of this movable

extra_width + + + + +

+

The base pixel x offset of this movable

overlay_appearance + + + + +

+

The actual overlay used to make the mob look like it's half-covered in water.

+

For visual overlays, pixel y/x/w/z are amplified by the a, b, d, e variables +of the transform matrix of the movable they're attached to. +For example, if a mob is twice its normal size (a = 2, e = 2), +offsetting the movable used as visual overlay by 4 pixels to the right will result +in the visual overlay moving 8 pixels to the right.

+

This however, doesn't extend to the overlays of our visual overlay. which is why there's +a mutable appearance variable that we use for those pixel offsets that really shouldn't be affected +by the transform of our vis loc(s) in the first place.

Proc Details

adjust_living_overlay_offset +

+

Called by COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY for living mobs and a few procs from the immerse element.

+ + + diff --git a/atom/movable/plane_master_controller.html b/atom/movable/plane_master_controller.html new file mode 100644 index 00000000000..e809d90afe1 --- /dev/null +++ b/atom/movable/plane_master_controller.html @@ -0,0 +1,101 @@ + + + + + + + /atom/movable/plane_master_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plane_master_controller + + + +

+ +

Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane. +Of note: plane master controllers are currently not very extensively used, because render plates fill a semi similar niche +This could well change someday, and I'd like to keep this stuff around, so we use it for a few cases just out of convenience

+ + + + + + + + + +

Vars

controlled_planesList of planes as defines in this controllers control
owner_hudhud that owns this controller

Procs

InitializeEnsures that all the planes are correctly in the controlled_planes list.
add_atom_colourFull override so we can just use filterrific
add_filterFull override so we can just use filterrific
get_filtersGets all filters for this controllers plane masters
remove_atom_colourRemoves an instance of colour_type from the atom's atom_colours list
remove_filterFull override so we can just use filterrific
transition_filterTransitions all filters owned by this plane master controller
update_atom_colourResets the atom's color to null, and then sets it to the highest priority colour available
+

Var Details

controlled_planes + + + + +

+

List of planes as defines in this controllers control

owner_hud + + + + +

+

hud that owns this controller

Proc Details

Initialize +

+

Ensures that all the planes are correctly in the controlled_planes list.

add_atom_colour +

+

Full override so we can just use filterrific

add_filter +

+

Full override so we can just use filterrific

get_filters +

+

Gets all filters for this controllers plane masters

remove_atom_colour +

+

Removes an instance of colour_type from the atom's atom_colours list

remove_filter +

+

Full override so we can just use filterrific

transition_filter +

+

Transitions all filters owned by this plane master controller

update_atom_colour +

+

Resets the atom's color to null, and then sets it to the highest priority colour available

+ + + diff --git a/atom/movable/render_plane_relay.html b/atom/movable/render_plane_relay.html new file mode 100644 index 00000000000..b68f6525767 --- /dev/null +++ b/atom/movable/render_plane_relay.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/render_plane_relay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

render_plane_relay + + + +

+ +

Render relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own

+

Vars

critical_targetIf we render into a critical plane master, or not
+

Var Details

critical_target + + + + +

+

If we render into a critical plane master, or not

+ + + diff --git a/atom/movable/render_step/emissive.html b/atom/movable/render_step/emissive.html new file mode 100644 index 00000000000..85039df7c08 --- /dev/null +++ b/atom/movable/render_step/emissive.html @@ -0,0 +1,29 @@ + + + + + + + /atom/movable/render_step/emissive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

emissive + + + +

+ +

Render step that makes the passed in render source GLOW

+

Copies an appearance vis render_target and render_source on to the emissive plane

+ + + diff --git a/atom/movable/render_step/emissive_blocker.html b/atom/movable/render_step/emissive_blocker.html new file mode 100644 index 00000000000..94f0c838cef --- /dev/null +++ b/atom/movable/render_step/emissive_blocker.html @@ -0,0 +1,32 @@ + + + + + + + /atom/movable/render_step/emissive_blocker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

emissive_blocker + + + +

+ +

Render step that makes the passed in render source block emissives

+

Copies an appearance vis render_target and render_source on to the emissive blocking plane. +This means that the atom in question will block any emissive sprites. +This should only be used internally. If you are directly creating more of these, you're +almost guaranteed to be doing something wrong.

+ + + diff --git a/atom/movable/screen.html b/atom/movable/screen.html new file mode 100644 index 00000000000..dbd1a035a87 --- /dev/null +++ b/atom/movable/screen.html @@ -0,0 +1,95 @@ + + + + + + + /atom/movable/screen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

screen + + + +

+ + + + + + + + + +

Vars

assigned_mapMap name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.
clear_with_screenIf FALSE, this will not be cleared when calling /client/clear_screen()
del_on_map_removalMark this object as garbage-collectible after you clean the map +it was registered on.
hudA reference to the owner HUD, if any.
master_refA reference to the object in the slot. Grabs or items, generally, but any datum will do.

Procs

fill_rectSets screen_loc to fill a rectangular area of the map.
get_mobReturns the mob this is being displayed to, if any
set_positionSets screen_loc of this screen object, in form of point coordinates, +with optional pixel offset (px, py).
+

Var Details

assigned_map + + + + +

+

Map name assigned to this object. +Automatically set by /client/proc/add_obj_to_map.

clear_with_screen + + + + +

+

If FALSE, this will not be cleared when calling /client/clear_screen()

del_on_map_removal + + + + +

+

Mark this object as garbage-collectible after you clean the map +it was registered on.

+

This could probably be changed to be a proc, for conditional removal. +But for now, this works.

hud + + + + +

+

A reference to the owner HUD, if any.

master_ref + + + + +

+

A reference to the object in the slot. Grabs or items, generally, but any datum will do.

Proc Details

fill_rect +

+

Sets screen_loc to fill a rectangular area of the map.

+

If applicable, "assigned_map" has to be assigned before this proc call.

get_mob +

+

Returns the mob this is being displayed to, if any

set_position +

+

Sets screen_loc of this screen object, in form of point coordinates, +with optional pixel offset (px, py).

+

If applicable, "assigned_map" has to be assigned before this proc call.

+ + + diff --git a/atom/movable/screen/action_landing.html b/atom/movable/screen/action_landing.html new file mode 100644 index 00000000000..4100e671192 --- /dev/null +++ b/atom/movable/screen/action_landing.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/action_landing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

action_landing + + + +

+ +

Exists so you have a place to put your buttons when you move them around

+

Procs

hit_byReacts to having a button dropped on it

Proc Details

hit_by +

+

Reacts to having a button dropped on it

+ + + diff --git a/atom/movable/screen/admin_popup.html b/atom/movable/screen/admin_popup.html new file mode 100644 index 00000000000..7749981a128 --- /dev/null +++ b/atom/movable/screen/admin_popup.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/admin_popup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

admin_popup + + + +

+ +

The UI element for admin popups

+ +

Vars

last_color_indexThe last color chosen in the animation, sourced from the static list colors.
last_update_timeThe world.time when the last color update occurred.
+

Var Details

last_color_index + + + + +

+

The last color chosen in the animation, sourced from the static list colors.

last_update_time + + + + +

+

The world.time when the last color update occurred.

+ + + diff --git a/atom/movable/screen/alert.html b/atom/movable/screen/alert.html new file mode 100644 index 00000000000..4f24c398142 --- /dev/null +++ b/atom/movable/screen/alert.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/alert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

alert + + + +

+ + +

Vars

click_masterBoolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
+

Var Details

click_master + + + + +

+

Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.

+ + + diff --git a/atom/movable/screen/alert/give.html b/atom/movable/screen/alert/give.html new file mode 100644 index 00000000000..64f8a849485 --- /dev/null +++ b/atom/movable/screen/alert/give.html @@ -0,0 +1,88 @@ + + + + + + + /atom/movable/screen/alert/give - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

give + + + +

+ + + + + + +

Vars

additional_desc_textAdditional text displayed in the description of the alert.
offerThe offer we're linked to, yes this is suspiciously like a status effect alert

Procs

get_receiving_nameCalled right before setup(), to do any sort of logic to change the name of +what's displayed as the name of what's being offered in the alert. Use this to +add pronouns and the like, or to totally override the displayed name! +Also the best place to make changes to additional_desc_text before setup() +without having to override setup() entirely.
handle_transferAn overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred
setupHandles assigning most of the variables for the alert that pops up when an item is offered
+

Var Details

additional_desc_text + + + + +

+

Additional text displayed in the description of the alert.

offer + + + + +

+

The offer we're linked to, yes this is suspiciously like a status effect alert

Proc Details

get_receiving_name +

+

Called right before setup(), to do any sort of logic to change the name of +what's displayed as the name of what's being offered in the alert. Use this to +add pronouns and the like, or to totally override the displayed name! +Also the best place to make changes to additional_desc_text before setup() +without having to override setup() entirely.

+

Arguments:

+ +

Returns a string that will be displayed in the alert, which is receiving.name +by default.

handle_transfer +

+

An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred

setup +

+

Handles assigning most of the variables for the alert that pops up when an item is offered

+

Handles setting the name, description and icon of the alert and tracking the person giving +and the item being offered. +Arguments:

+
+ + + diff --git a/atom/movable/screen/alert/give/highfive.html b/atom/movable/screen/alert/give/highfive.html new file mode 100644 index 00000000000..5f35007b04f --- /dev/null +++ b/atom/movable/screen/alert/give/highfive.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/alert/give/highfive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

highfive + + + +

+ + + + + +

Vars

too_slowing_this_guyTracks active "to slow"ing so we can't spam click

Procs

check_fake_outIf someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways
too_slow_p1If the person who offered the high five no longer has it when we try to accept it, we get pranked hard
too_slow_p2Part two of the ultimate prank
+

Var Details

too_slowing_this_guy + + + + +

+

Tracks active "to slow"ing so we can't spam click

Proc Details

check_fake_out +

+

If someone examine_more's the offerer while they're trying to pull a too-slow, it'll tip them off to the offerer's trickster ways

too_slow_p1 +

+

If the person who offered the high five no longer has it when we try to accept it, we get pranked hard

too_slow_p2 +

+

Part two of the ultimate prank

+ + + diff --git a/atom/movable/screen/alert/modlink_call.html b/atom/movable/screen/alert/modlink_call.html new file mode 100644 index 00000000000..ea285628520 --- /dev/null +++ b/atom/movable/screen/alert/modlink_call.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/screen/alert/modlink_call - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

modlink_call + + + +

+ + + + +

Vars

caller_refA weak reference to the MODlink that is calling.
receiver_refA weak reference to the MODlink that is being called.
user_refA weak reference to the mob that is calling.
+

Var Details

caller_ref + + + + +

+

A weak reference to the MODlink that is calling.

receiver_ref + + + + +

+

A weak reference to the MODlink that is being called.

user_ref + + + + +

+

A weak reference to the mob that is calling.

+ + + diff --git a/atom/movable/screen/alert/notify_action.html b/atom/movable/screen/alert/notify_action.html new file mode 100644 index 00000000000..df16ac81e4d --- /dev/null +++ b/atom/movable/screen/alert/notify_action.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/alert/notify_action - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

notify_action + + + +

+ + + +

Vars

click_interactIf we want to interact on click rather than jump/orbit
target_refWeakref to the target atom to use the action on
+

Var Details

click_interact + + + + +

+

If we want to interact on click rather than jump/orbit

target_ref + + + + +

+

Weakref to the target atom to use the action on

+ + + diff --git a/atom/movable/screen/alert/status_effect.html b/atom/movable/screen/alert/status_effect.html new file mode 100644 index 00000000000..fa5fc3e7f8e --- /dev/null +++ b/atom/movable/screen/alert/status_effect.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/alert/status_effect - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

status_effect + + + +

+ +

Alert base type for status effect alerts

+

Vars

attached_effectThe status effect we're linked to
+

Var Details

attached_effect + + + + +

+

The status effect we're linked to

+ + + diff --git a/atom/movable/screen/alert/status_effect/golem_status.html b/atom/movable/screen/alert/status_effect/golem_status.html new file mode 100644 index 00000000000..38bd1dca053 --- /dev/null +++ b/atom/movable/screen/alert/status_effect/golem_status.html @@ -0,0 +1,71 @@ + + + + + + + /atom/movable/screen/alert/status_effect/golem_status - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem_status + + + +

+ + + + + + + +

Vars

early_expiry_warningWhen we reach this much remaining time we will start animating as a warning
imminent_expiry_warningWhen we reach this much remaining time we will start animating more urgently as a warning
mineral_overlayOverlay we show on top of the template icon

Procs

early_warningAnimate to indicate effect is expiring soon
imminent_warningAnimate to indicate effect is expiring very soon
update_detailsSet up how the alert ACTUALLY looks, based on the effect applied
+

Var Details

early_expiry_warning + + + + +

+

When we reach this much remaining time we will start animating as a warning

imminent_expiry_warning + + + + +

+

When we reach this much remaining time we will start animating more urgently as a warning

mineral_overlay + + + + +

+

Overlay we show on top of the template icon

Proc Details

early_warning +

+

Animate to indicate effect is expiring soon

imminent_warning +

+

Animate to indicate effect is expiring very soon

update_details +

+

Set up how the alert ACTUALLY looks, based on the effect applied

+ + + diff --git a/atom/movable/screen/button_palette.html b/atom/movable/screen/button_palette.html new file mode 100644 index 00000000000..7b60f691ed4 --- /dev/null +++ b/atom/movable/screen/button_palette.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/button_palette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

button_palette + + + +

+ + +

Vars

color_timer_idId of any currently running timers that set our color matrix
+

Var Details

color_timer_id + + + + +

+

Id of any currently running timers that set our color matrix

+ + + diff --git a/atom/movable/screen/combattoggle/flashy.html b/atom/movable/screen/combattoggle/flashy.html new file mode 100644 index 00000000000..d79ea50874c --- /dev/null +++ b/atom/movable/screen/combattoggle/flashy.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/combattoggle/flashy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flashy + + + +

+ + +

Vars

flashyMut appearance for flashy border
+

Var Details

flashy + + + + +

+

Mut appearance for flashy border

+ + + diff --git a/atom/movable/screen/escape_menu/home_button_text.html b/atom/movable/screen/escape_menu/home_button_text.html new file mode 100644 index 00000000000..cb17bd2498e --- /dev/null +++ b/atom/movable/screen/escape_menu/home_button_text.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/escape_menu/home_button_text - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

home_button_text + + + +

+ + +

Procs

set_hoveredSets the hovered state of the button, and updates the text

Proc Details

set_hovered +

+

Sets the hovered state of the button, and updates the text

+ + + diff --git a/atom/movable/screen/fishing_hud.html b/atom/movable/screen/fishing_hud.html new file mode 100644 index 00000000000..f79062824f8 --- /dev/null +++ b/atom/movable/screen/fishing_hud.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/fishing_hud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fishing_hud + + + +

+ +

The screen object which bait, fish, and completion bar are visually attached to.

+ + + +

Vars

hud_baitThe bait as shown in the minigame
hud_completionThe completion bar as shown in the minigame
hud_fishThe fish as shown in the minigame

Procs

prepare_minigameInitialize bait, fish and completion bar and add them to the visual appearance of this screen object.
+

Var Details

hud_bait + + + + +

+

The bait as shown in the minigame

hud_completion + + + + +

+

The completion bar as shown in the minigame

hud_fish + + + + +

+

The fish as shown in the minigame

Proc Details

prepare_minigame +

+

Initialize bait, fish and completion bar and add them to the visual appearance of this screen object.

+ + + diff --git a/atom/movable/screen/fullscreen/cursor_catcher.html b/atom/movable/screen/fullscreen/cursor_catcher.html new file mode 100644 index 00000000000..e1690df6653 --- /dev/null +++ b/atom/movable/screen/fullscreen/cursor_catcher.html @@ -0,0 +1,92 @@ + + + + + + + /atom/movable/screen/fullscreen/cursor_catcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cursor_catcher + + + +

+ +

An effect which tracks the cursor's location on the screen

+ + + + + + + + +

Vars

given_turfThe turf we send to the scope component.
given_xPixel x we send to the scope component.
given_yPixel y we send to the scope component.
mouse_paramsMouse parameters, for calculation.
ownerThe mob whose cursor we are tracking.
view_listClient view size of the scoping mob.

Procs

assign_to_mobLinks this up with a mob
on_moveUpdate when the mob we're assigned to has moved
on_viewdata_updateUpdate when our screen size changes
+

Var Details

given_turf + + + + +

+

The turf we send to the scope component.

given_x + + + + +

+

Pixel x we send to the scope component.

given_y + + + + +

+

Pixel y we send to the scope component.

mouse_params + + + + +

+

Mouse parameters, for calculation.

owner + + + + +

+

The mob whose cursor we are tracking.

view_list + + + + +

+

Client view size of the scoping mob.

Proc Details

assign_to_mob +

+

Links this up with a mob

on_move +

+

Update when the mob we're assigned to has moved

on_viewdata_update +

+

Update when our screen size changes

+ + + diff --git a/atom/movable/screen/fullscreen/cursor_catcher/scope.html b/atom/movable/screen/fullscreen/cursor_catcher/scope.html new file mode 100644 index 00000000000..9faf022fa08 --- /dev/null +++ b/atom/movable/screen/fullscreen/cursor_catcher/scope.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/fullscreen/cursor_catcher/scope - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

scope + + + +

+ + +

Vars

range_modifierMultiplier for given_X an given_y.
+

Var Details

range_modifier + + + + +

+

Multiplier for given_X an given_y.

+ + + diff --git a/atom/movable/screen/inventory.html b/atom/movable/screen/inventory.html new file mode 100644 index 00000000000..6540f3e3fa3 --- /dev/null +++ b/atom/movable/screen/inventory.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/inventory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

inventory + + + +

+ + + + + +

Vars

icon_emptyIcon when empty. For now used only by humans.
icon_fullIcon when contains an item. For now used only by humans.
object_overlayThe overlay when hovering over with an item in your hand
slot_idThe identifier for the slot. It has nothing to do with ID cards.
+

Var Details

icon_empty + + + + +

+

Icon when empty. For now used only by humans.

icon_full + + + + +

+

Icon when contains an item. For now used only by humans.

object_overlay + + + + +

+

The overlay when hovering over with an item in your hand

slot_id + + + + +

+

The identifier for the slot. It has nothing to do with ID cards.

+ + + diff --git a/atom/movable/screen/lobby.html b/atom/movable/screen/lobby.html new file mode 100644 index 00000000000..ca59d76dcfd --- /dev/null +++ b/atom/movable/screen/lobby.html @@ -0,0 +1,71 @@ + + + + + + + /atom/movable/screen/lobby - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lobby + + + +

+ + + + + + + +

Vars

always_availableIf true we will create this button every time the HUD is generated
always_shownWhether this HUD element can be hidden from the client's "screen" (moved off-screen) or not

Procs

NewSet the HUD in New, as lobby screens are made before Atoms are Initialized.
SlowInitRun sleeping actions after initialize
collapse_buttonAnimates moving the button off-screen
expand_buttonAnimates moving the button back into place
+

Var Details

always_available + + + + +

+

If true we will create this button every time the HUD is generated

always_shown + + + + +

+

Whether this HUD element can be hidden from the client's "screen" (moved off-screen) or not

Proc Details

New +

+

Set the HUD in New, as lobby screens are made before Atoms are Initialized.

SlowInit +

+

Run sleeping actions after initialize

collapse_button +

+

Animates moving the button off-screen

expand_button +

+

Animates moving the button back into place

+ + + diff --git a/atom/movable/screen/lobby/button.html b/atom/movable/screen/lobby/button.html new file mode 100644 index 00000000000..1c63066b43e --- /dev/null +++ b/atom/movable/screen/lobby/button.html @@ -0,0 +1,57 @@ + + + + + + + /atom/movable/screen/lobby/button - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

button + + + +

+ + + + + +

Vars

enabledIs the button currently enabled?
highlightedIs the button currently being hovered over with the mouse?
ownerThe ref of the mob that owns this button. Only the owner can click on it.

Procs

set_button_statusUpdates the button's status: TRUE to enable interaction with the button, FALSE to disable
+

Var Details

enabled + + + + +

+

Is the button currently enabled?

highlighted + + + + +

+

Is the button currently being hovered over with the mouse?

owner + + + + +

+

The ref of the mob that owns this button. Only the owner can click on it.

Proc Details

set_button_status +

+

Updates the button's status: TRUE to enable interaction with the button, FALSE to disable

+ + + diff --git a/atom/movable/screen/lobby/button/bottom/poll.html b/atom/movable/screen/lobby/button/bottom/poll.html new file mode 100644 index 00000000000..7c99a98452c --- /dev/null +++ b/atom/movable/screen/lobby/button/bottom/poll.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/lobby/button/bottom/poll - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

poll + + + +

+ + +

Vars

new_pollWhether the button should have a New Poll notification overlay
+

Var Details

new_poll + + + + +

+

Whether the button should have a New Poll notification overlay

+ + + diff --git a/atom/movable/screen/lobby/button/collapse.html b/atom/movable/screen/lobby/button/collapse.html new file mode 100644 index 00000000000..52155b4bf9b --- /dev/null +++ b/atom/movable/screen/lobby/button/collapse.html @@ -0,0 +1,74 @@ + + + + + + + /atom/movable/screen/lobby/button/collapse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

collapse + + + +

+ + + + + + + +

Procs

collapse_menuMoves the button to the top of the screen, leaving only the screen part in view +Sends a signal on the hud for the menu hud elements to listen to
disable_blipDisables the ready blip; makes us listen for the setup error to re-enable the blip
enable_blipEnables the ready blip; makes us listen for the setup completion and game start to disable the blip
expand_menuExtends the button back to its usual spot +Sends a signal on the hud for the menu hud elements to listen to
get_blip_overlayReturns a ready blip overlay depending on the player's ready state
on_player_ready_toggleProc to update the ready blip state upon new player's ready status change

Proc Details

collapse_menu +

+

Moves the button to the top of the screen, leaving only the screen part in view +Sends a signal on the hud for the menu hud elements to listen to

disable_blip +

+

Disables the ready blip; makes us listen for the setup error to re-enable the blip

enable_blip +

+

Enables the ready blip; makes us listen for the setup completion and game start to disable the blip

expand_menu +

+

Extends the button back to its usual spot +Sends a signal on the hud for the menu hud elements to listen to

get_blip_overlay +

+

Returns a ready blip overlay depending on the player's ready state

on_player_ready_toggle +

+

Proc to update the ready blip state upon new player's ready status change

+ + + diff --git a/atom/movable/screen/lobby/button/ready.html b/atom/movable/screen/lobby/button/ready.html new file mode 100644 index 00000000000..0ba6215dcbb --- /dev/null +++ b/atom/movable/screen/lobby/button/ready.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/lobby/button/ready - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ready + + + +

+ +

Button that appears before the game has started

+

Vars

readyWhether we are readied up for the round or not
+

Var Details

ready + + + + +

+

Whether we are readied up for the round or not

+ + + diff --git a/atom/movable/screen/lobby/shutter.html b/atom/movable/screen/lobby/shutter.html new file mode 100644 index 00000000000..7d869870f68 --- /dev/null +++ b/atom/movable/screen/lobby/shutter.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/lobby/shutter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

shutter + + + +

+ + +

Procs

setup_shutter_animationSets up the shutter pulling down and up. It's the same animation for both collapsing and expanding the menu.

Proc Details

setup_shutter_animation +

+

Sets up the shutter pulling down and up. It's the same animation for both collapsing and expanding the menu.

+ + + diff --git a/atom/movable/screen/mafia_popup.html b/atom/movable/screen/mafia_popup.html new file mode 100644 index 00000000000..e8539fbce0a --- /dev/null +++ b/atom/movable/screen/mafia_popup.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/mafia_popup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_popup + + + +

+ +

The popup used for sending important messages to players.

+ +

Vars

ownerThe client that owns the popup.

Procs

null_textClears all text to re-use in the future. We use to_clear here in case someone takes over their old body.
+

Var Details

owner + + + + +

+

The client that owns the popup.

Proc Details

null_text +

+

Clears all text to re-use in the future. We use to_clear here in case someone takes over their old body.

+ + + diff --git a/atom/movable/screen/map_view.html b/atom/movable/screen/map_view.html new file mode 100644 index 00000000000..d935a035f3b --- /dev/null +++ b/atom/movable/screen/map_view.html @@ -0,0 +1,39 @@ + + + + + + + /atom/movable/screen/map_view - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

map_view + + + +

+ + +

Procs

NewA screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents". +Additionally manages the plane masters required to display said container contents

Proc Details

New +

+

A screen object, which acts as a container for turfs and other things +you want to show on the map, which you usually attach to "vis_contents". +Additionally manages the plane masters required to display said container contents

+ + + diff --git a/atom/movable/screen/map_view/char_preview.html b/atom/movable/screen/map_view/char_preview.html new file mode 100644 index 00000000000..e59bb8ed8a7 --- /dev/null +++ b/atom/movable/screen/map_view/char_preview.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/screen/map_view/char_preview - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

char_preview + + + +

+ +

A preview of a character for use in the preferences menu

+ + +

Vars

bodyThe body that is displayed
preferencesThe preferences this refers to

Procs

update_bodyUpdates the currently displayed body
+

Var Details

body + + + + +

+

The body that is displayed

preferences + + + + +

+

The preferences this refers to

Proc Details

update_body +

+

Updates the currently displayed body

+ + + diff --git a/atom/movable/screen/map_view/gateway_port.html b/atom/movable/screen/map_view/gateway_port.html new file mode 100644 index 00000000000..16b2a89592b --- /dev/null +++ b/atom/movable/screen/map_view/gateway_port.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/map_view/gateway_port - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gateway_port + + + +

+ + +

Vars

cam_backgroundHandles the background of the portal, ensures the effect well, works properly
+

Var Details

cam_background + + + + +

+

Handles the background of the portal, ensures the effect well, works properly

+ + + diff --git a/atom/movable/screen/movable.html b/atom/movable/screen/movable.html new file mode 100644 index 00000000000..f6677e40c4e --- /dev/null +++ b/atom/movable/screen/movable.html @@ -0,0 +1,35 @@ + + + + + + + /atom/movable/screen/movable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

movable + + + +

+ + +

Procs

mouse_params_to_positionTakes mouse parmas as input, returns a string representing the appropriate mouse position

Proc Details

mouse_params_to_position +

+

Takes mouse parmas as input, returns a string representing the appropriate mouse position

+ + + diff --git a/atom/movable/screen/movable/action_button.html b/atom/movable/screen/movable/action_button.html new file mode 100644 index 00000000000..13a1f00af2f --- /dev/null +++ b/atom/movable/screen/movable/action_button.html @@ -0,0 +1,73 @@ + + + + + + + /atom/movable/screen/movable/action_button - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

action_button + + + +

+ + + + + + + +

Vars

active_overlay_icon_stateThe icon state of our active overlay, used to prevent re-applying identical overlays
active_underlay_icon_stateThe icon state of our active underlay, used to prevent re-applying identical underlays
button_overlayThe overlay we have overtop our button
idA unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position
last_hovored_refA weakref of the last thing we hovered over +God I hate how dragging works
locationWhere we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks
+

Var Details

active_overlay_icon_state + + + + +

+

The icon state of our active overlay, used to prevent re-applying identical overlays

active_underlay_icon_state + + + + +

+

The icon state of our active underlay, used to prevent re-applying identical underlays

button_overlay + + + + +

+

The overlay we have overtop our button

id + + + + +

+

A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position

last_hovored_ref + + + + +

+

A weakref of the last thing we hovered over +God I hate how dragging works

location + + + + +

+

Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks

+ + + diff --git a/atom/movable/screen/palette_scroll.html b/atom/movable/screen/palette_scroll.html new file mode 100644 index 00000000000..810d2487359 --- /dev/null +++ b/atom/movable/screen/palette_scroll.html @@ -0,0 +1,38 @@ + + + + + + + /atom/movable/screen/palette_scroll - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

palette_scroll + + + +

+ + +

Vars

scroll_directionHow should we move the palette's actions? +Positive scrolls down the list, negative scrolls back
+

Var Details

scroll_direction + + + + +

+

How should we move the palette's actions? +Positive scrolls down the list, negative scrolls back

+ + + diff --git a/atom/movable/screen/parallax_layer/random.html b/atom/movable/screen/parallax_layer/random.html new file mode 100644 index 00000000000..c16fbc6a5ed --- /dev/null +++ b/atom/movable/screen/parallax_layer/random.html @@ -0,0 +1,49 @@ + + + + + + + /atom/movable/screen/parallax_layer/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

random + + + +

+ +

Parallax layers that vary between rounds. Has some code to make sure we all have the same one

+ + +

Procs

apply_global_effectsFor applying minor effects related to parallax. If you want big stuff, put it in a station trait or something
copy_parallaxCopy a parallax instance to ensure parity between everyones parallax
get_random_lookMake this layer unique, with color or position or something

Proc Details

apply_global_effects +

+

For applying minor effects related to parallax. If you want big stuff, put it in a station trait or something

copy_parallax +

+

Copy a parallax instance to ensure parity between everyones parallax

get_random_look +

+

Make this layer unique, with color or position or something

+ + + diff --git a/atom/movable/screen/parallax_layer/random/space_gas.html b/atom/movable/screen/parallax_layer/random/space_gas.html new file mode 100644 index 00000000000..97b0682b468 --- /dev/null +++ b/atom/movable/screen/parallax_layer/random/space_gas.html @@ -0,0 +1,43 @@ + + + + + + + /atom/movable/screen/parallax_layer/random/space_gas - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

space_gas + + + +

+ +

Gassy background with a few random colors

+ +

Vars

parallax_colorThe color we are
possible_colorsThe colors we can be
+

Var Details

parallax_color + + + + +

+

The color we are

possible_colors + + + + +

+

The colors we can be

+ + + diff --git a/atom/movable/screen/plane_master.html b/atom/movable/screen/plane_master.html new file mode 100644 index 00000000000..840f52bbf9a --- /dev/null +++ b/atom/movable/screen/plane_master.html @@ -0,0 +1,289 @@ + + + + + + + /atom/movable/screen/plane_master - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plane_master + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allows_offsettingIf our plane master allows for offsetting +Mostly used for planes that really don't need to be duplicated, like the hud planes
alpha_enabledTracks if we're using our true alpha, or being manipulated in some other way
blend_mode_overrideblend mode to apply to the render relay in case you dont want to use the plane_masters blend_mode
criticalBitfield that describes how this plane master will render if its z layer is being "optimized" +If a plane master is NOT critical, it will be completely dropped if we start to render outside a client's multiz boundary prefs +Of note: most of the time we will relay renders to non critical planes in this stage. so the plane master will end up drawing roughly "in order" with its friends +This is NOT done for parallax and other problem children, because the rules of BLEND_MULTIPLY appear to not behave as expected :( +This will also just make debugging harder, because we do fragile things in order to ensure things operate as epected. I'm sorry +Compile time +See code__DEFINES\layers.dm for our bitflags
documentationWill be sent to the debug ui as a description for each plane +Also useful as a place to explain to coders how/why your plane works, and what it's meant to do +Plaintext and basic html are fine to use here. +I'll bonk you if I find you putting "lmao stuff" in here, make this useful.
force_hiddenIf this plane master is being forced to hide. +Hidden PMs will dump ANYTHING relayed or drawn onto them. Be careful with this +Remember: a hidden plane master will dump anything drawn directly to it onto the output render. It does NOT hide its contents +Use alpha for that
homeThe plane master group we're a member of, our "home"
is_outside_boundsIf this plane master is outside of our visual bounds right now
multiz_scaledIf this plane should be scaled by multiz +Planes with this set should NEVER be relay'd into each other, as that will cause visual fuck
offsetOur offset from our "true" plane, see below
real_planeWhen rendering multiz, lower levels get their own set of plane masters +Real plane here represents the "true" plane value of something, ignoring the offset required to handle lower levels
relayslist of current relays this plane is utilizing to render
relays_generatedif render relays have already be generated
render_relay_planeslist of planes we will relay this plane's render to
start_hiddenIf this plane master should be hidden from the player at roundstart +We do this so PMs can opt into being temporary, to reduce load on clients
true_alphaOur real alpha value, so alpha can persist through being hidden/shown

Procs

add_relay_toCreates a connection between this plane master and the passed in plane +Helper for out of system code, shouldn't be used in this file +Build system to differenchiate between generated and non generated render relays
check_outside_boundsHook to allow planes to work around is_outside_bounds +Return false to allow a show, true otherwise
generate_render_relaysPlane master proc called in Initialize() that creates relay objects, and sets them uo as needed +Sets:
get_relay_toGets the relay atom we're using to connect to the target plane, if one exists
hide_fromHides a plane master from the passeed in mob +Do your effect cleanup here
hide_planeForces this plane master to hide, until unhide_plane is called +This allows us to disable unused PMs without breaking anything else
mirror_parent_hiddenMirrors our force hidden state to the hidden state of the plane that came before, assuming it's valid +This allows us to mirror any hidden sets from before we were created, no matter how low that chance is
remove_relay_fromBreaks a connection between this plane master, and the passed in place
set_homeSets the plane group that owns us, it also determines what screen we render to +Returns FALSE if the set_home fails, TRUE otherwise
show_toShows a plane master to the passed in mob +Override this to apply unique effects and such +Returns TRUE if the call is allowed, FALSE otherwise
unhide_planeDisables any forced hiding, allows the plane master to be used as normal
update_offsetUpdates our "offset", basically what layer of multiz we're meant to render +Top is 0, goes up as you go down +It's taken into account by render targets and relays, so we gotta make sure they're on the same page
+

Var Details

allows_offsetting + + + + +

+

If our plane master allows for offsetting +Mostly used for planes that really don't need to be duplicated, like the hud planes

alpha_enabled + + + + +

+

Tracks if we're using our true alpha, or being manipulated in some other way

blend_mode_override + + + + +

+

blend mode to apply to the render relay in case you dont want to use the plane_masters blend_mode

critical + + + + +

+

Bitfield that describes how this plane master will render if its z layer is being "optimized" +If a plane master is NOT critical, it will be completely dropped if we start to render outside a client's multiz boundary prefs +Of note: most of the time we will relay renders to non critical planes in this stage. so the plane master will end up drawing roughly "in order" with its friends +This is NOT done for parallax and other problem children, because the rules of BLEND_MULTIPLY appear to not behave as expected :( +This will also just make debugging harder, because we do fragile things in order to ensure things operate as epected. I'm sorry +Compile time +See code__DEFINES\layers.dm for our bitflags

documentation + + + + +

+

Will be sent to the debug ui as a description for each plane +Also useful as a place to explain to coders how/why your plane works, and what it's meant to do +Plaintext and basic html are fine to use here. +I'll bonk you if I find you putting "lmao stuff" in here, make this useful.

force_hidden + + + + +

+

If this plane master is being forced to hide. +Hidden PMs will dump ANYTHING relayed or drawn onto them. Be careful with this +Remember: a hidden plane master will dump anything drawn directly to it onto the output render. It does NOT hide its contents +Use alpha for that

home + + + + +

+

The plane master group we're a member of, our "home"

is_outside_bounds + + + + +

+

If this plane master is outside of our visual bounds right now

multiz_scaled + + + + +

+

If this plane should be scaled by multiz +Planes with this set should NEVER be relay'd into each other, as that will cause visual fuck

offset + + + + +

+

Our offset from our "true" plane, see below

real_plane + + + + +

+

When rendering multiz, lower levels get their own set of plane masters +Real plane here represents the "true" plane value of something, ignoring the offset required to handle lower levels

relays + + + + +

+

list of current relays this plane is utilizing to render

relays_generated + + + + +

+

if render relays have already be generated

render_relay_planes + + + + +

+

list of planes we will relay this plane's render to

start_hidden + + + + +

+

If this plane master should be hidden from the player at roundstart +We do this so PMs can opt into being temporary, to reduce load on clients

true_alpha + + + + +

+

Our real alpha value, so alpha can persist through being hidden/shown

Proc Details

add_relay_to +

+

Creates a connection between this plane master and the passed in plane +Helper for out of system code, shouldn't be used in this file +Build system to differenchiate between generated and non generated render relays

check_outside_bounds +

+

Hook to allow planes to work around is_outside_bounds +Return false to allow a show, true otherwise

generate_render_relays +

+

Plane master proc called in Initialize() that creates relay objects, and sets them uo as needed +Sets:

+

get_relay_to +

+

Gets the relay atom we're using to connect to the target plane, if one exists

hide_from +

+

Hides a plane master from the passeed in mob +Do your effect cleanup here

hide_plane +

+

Forces this plane master to hide, until unhide_plane is called +This allows us to disable unused PMs without breaking anything else

mirror_parent_hidden +

+

Mirrors our force hidden state to the hidden state of the plane that came before, assuming it's valid +This allows us to mirror any hidden sets from before we were created, no matter how low that chance is

remove_relay_from +

+

Breaks a connection between this plane master, and the passed in place

set_home +

+

Sets the plane group that owns us, it also determines what screen we render to +Returns FALSE if the set_home fails, TRUE otherwise

show_to +

+

Shows a plane master to the passed in mob +Override this to apply unique effects and such +Returns TRUE if the call is allowed, FALSE otherwise

unhide_plane +

+

Disables any forced hiding, allows the plane master to be used as normal

update_offset +

+

Updates our "offset", basically what layer of multiz we're meant to render +Top is 0, goes up as you go down +It's taken into account by render targets and relays, so we gotta make sure they're on the same page

+ + + diff --git a/atom/movable/screen/plane_master/parallax.html b/atom/movable/screen/plane_master/parallax.html new file mode 100644 index 00000000000..527fde6ec17 --- /dev/null +++ b/atom/movable/screen/plane_master/parallax.html @@ -0,0 +1,42 @@ + + + + + + + /atom/movable/screen/plane_master/parallax - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

parallax + + + +

+ +

Contains space parallax

+ +

Procs

narsie_modifiedStarts the narsie animation, make us grey, then red
narsie_start_midwayStarts the narsie animation midway, so we can catch up to everyone else quickly

Proc Details

narsie_modified +

+

Starts the narsie animation, make us grey, then red

narsie_start_midway +

+

Starts the narsie animation midway, so we can catch up to everyone else quickly

+ + + diff --git a/atom/movable/screen/plane_master/rendering_plate.html b/atom/movable/screen/plane_master/rendering_plate.html new file mode 100644 index 00000000000..7a23da617cc --- /dev/null +++ b/atom/movable/screen/plane_master/rendering_plate.html @@ -0,0 +1,33 @@ + + + + + + + /atom/movable/screen/plane_master/rendering_plate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

rendering_plate + + + +

+ +Rendering plate +

Acts like a plane master, but for plane masters +Renders other planes onto this plane, through the use of render objects +Any effects applied onto this plane will act on the unified plane +IE a bulge filter will apply as if the world was one object +remember that once planes are unified on a render plate you cant change the layering of them!

+ + + diff --git a/atom/movable/screen/plane_master/rendering_plate/lighting.html b/atom/movable/screen/plane_master/rendering_plate/lighting.html new file mode 100644 index 00000000000..21552ecc77c --- /dev/null +++ b/atom/movable/screen/plane_master/rendering_plate/lighting.html @@ -0,0 +1,36 @@ + + + + + + + /atom/movable/screen/plane_master/rendering_plate/lighting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lighting + + + +

+ +

Contains all lighting objects

+

Vars

light_cutoffsA list of light cutoffs we're actively using, (mass, r, g, b) to avoid filter churn
+

Var Details

light_cutoffs + + + + +

+

A list of light cutoffs we're actively using, (mass, r, g, b) to avoid filter churn

+ + + diff --git a/atom/movable/visual/cryo_occupant.html b/atom/movable/visual/cryo_occupant.html new file mode 100644 index 00000000000..dee7284da7e --- /dev/null +++ b/atom/movable/visual/cryo_occupant.html @@ -0,0 +1,50 @@ + + + + + + + /atom/movable/visual/cryo_occupant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cryo_occupant + + + +

+ +

This is a visual helper that shows the occupant inside the cryo cell.

+ + +

Vars

occupantThe current occupant being presented

Procs

on_set_occupantCOMSIG_MACHINERY_SET_OCCUPANT callback
on_set_onCOMSIG_CRYO_SET_ON callback
+

Var Details

occupant + + + + +

+

The current occupant being presented

Proc Details

on_set_occupant +

+

COMSIG_MACHINERY_SET_OCCUPANT callback

on_set_on +

+

COMSIG_CRYO_SET_ON callback

+ + + diff --git a/client.html b/client.html new file mode 100644 index 00000000000..e1d2b12b0ad --- /dev/null +++ b/client.html @@ -0,0 +1,1329 @@ + + + + + + + /client - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

client + + + +

+ +

Client datum

+

A datum that is created whenever a user joins a BYOND world, one will exist for every active connected +player

+

when they first connect, this client object is created and [/client/New] is called

+

When they disconnect, this client object is deleted and [/client/Del] is called

+

All client topic calls go through [/client/Topic] first, so a lot of our specialised +topic handling starts here

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

AI_InteractUsed for admin AI interaction
account_ageAge of byond account in days
account_join_dateDate of byond account creation in ISO 8601 format
admin_music_volumeAdmin music volume, from 0 to 1.
adminhelptimeridClient var used for returning the ahelp verb
avgpingAverage ping of the client
ban_cacheUsed to cache this client's bans to save on DB queries
ban_cache_startIf we are currently building this client's ban cache, this var stores the timeofday we started at
char_render_holdersShould only be a key-value list of north/south/east/west = atom/movable/screen.
click_interceptNeeds to implement InterceptClickOn(user,params,atom) proc
click_intercept_timeTime when the click was intercepted
clicklimiterUsed for limiting the rate of clicks sends by the client to avoid abuse
client_keysend_amountAmount of keydowns in the last keysend checking interval
combo_hud_enabledWhether or not this client has the combo HUD enabled
completed_asset_jobsList of all completed blocking send jobs awaiting acknowledgement by send_asset
connection_realtimeworld.realtime they connected
connection_timeworld.time they connected
connection_timeofdayworld.timeofday they connected
creditslazy list of all credit object bound to this client
crew_manifest_delayrate limiting for the crew manifest
current_ticketClient var used for tracking the ticket the (usually) not-admin client is dealing with
do_parallax_animationsDo we want to do parallax animations at all? +Exists to prevent laptop fires
dont_animate_parallaxworld.time of when we can state animate()ing parallax again
externalreplyamountInternal counter for clients sending external (IRC/Discord) relay messages via ahelp to prevent spamming. Set to a number every time an admin reply is sent, decremented for every client send.
fully_createdIf this client has been fully initialized or not
holderContains admin info. Null if client is not an admin.
hotkeysWhether or not this client has standard hotkeys enabled
intervieweeIf the client is currently under the restrictions of the interview system
ip_intelUsed for ip intel checking to identify evaders, disabled because of issues with traffic
key_combos_heldA buffer for combinations such of modifiers + keys (ex: CtrlD, AltE, ShiftT). Format: "key" -> "combo" (ex: "D" -> "CtrlD")
keys_heldA buffer of currently held keys.
keysend_trippedWhen set to true, user will be autokicked if they trip the keysends in a second limit again
last_asset_jobLast asset send job id.
last_messageContains the last message sent by this client - used to protect against copy-paste spamming.
last_message_countcontins a number of how many times a message identical to last_message was sent.
lastpingLast ping of the client
mouseParamsUsed in MouseDrag to preserve the original mouse click parameters
mouse_down_iconused to make a special mouse cursor, this one for mouse up icon
mouse_location_refUsed in MouseDrag to preserve the last mouse-entered location. Weakref
mouse_object_refUsed in MouseDrag to preserve the last mouse-entered object. Weakref
mouse_override_iconused to override the mouse cursor so it doesnt get reset
mouse_up_iconused to make a special mouse cursor, this one for mouse up icon
move_delayMove delay of controlled mob, any keypresses inside this period will persist until the next proper move
movement_keyscustom movement keys for this client
movement_lockedAre we locking our movement input?
movingmobthis is the last recorded client eye by SSparallax/fire()
navigation_imagesImages of the path created by navigate().
next_keysend_resetWorld tick time where client_keysend_amount will reset
next_keysend_trip_resetWorld tick time where keysend_tripped will reset back to false
next_move_dir_addOn next move, add this dir to the move that would otherwise be done
next_move_dir_subOn next move, subtract this dir from the move that would otherwise be done
obj_windowOur object window datum. It stores info about and handles behavior for the object tab
panel_tabslist of all tabs
parallax_animate_timerTimer for the area directional animation
parallax_layers_maxHow many parallax layers to show our client
parallax_movedirDirection our current area wants to move parallax
parent_typeThis line makes clients parent type be a datum
player_ageUsed to determine how old the account is - in days.
player_detailsthese persist between logins/logouts during the same round.
player_join_dateDate that this account was first seen in the server
prefsPlayer preferences datum for the client
recent_examinesA lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of /atom/proc/examine on them when examining
related_accounts_cidSo admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id
related_accounts_ipSo admins know why it isn't working - Used to determine what other accounts previously logged in from this ip
say_slowmodeTracks say() usage for ic/dchat while slowmode is enabled
screen_mapsAssoc list with all the active maps - when a screen obj is added to +a map, it's put in here as well.
script!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
seen_messagesMessages currently seen by this client
selected_targetAutoclick list of two elements, first being the clicked thing, second being the parameters.
show_verb_panelhides the byond verb panel as we use our own custom version
spell_tabslist of tabs containing spells and abilities
stat_panelStat panel window declaration
stat_tabour current tab
tgui_cache_reloadedglobal
tgui_sayAssigned say modal of the client
tgui_windowsglobal
tooltipsdatum that controls the displaying and hiding of tooltips
topiclimiterUsed for limiting the rate of topic sends by the client to avoid abuse
total_count_resetNext tick to reset the total message counter
total_message_countHow many messages sent in the last 10 seconds
typing_indicatorsDoes this client have typing indicators enabled?
urgent_ahelp_cooldownThe last urgent ahelp that this player sent
view_sizedatum wrapper for client view
visual_delayThe visual delay to use for the current client.Move(), mostly used for making a client based move look like it came from some other slower source

Procs

MoveMove a client in a direction
Process_GrabChecks to see if you're being grabbed and if so attempts to break it
Process_IncorpmoveAllows mobs to ignore density and phase through objects
_Topicdumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, +so we cant queue it without this
adjust_heartGives someone hearted status for OOC, from behavior commendations
admin_followAttempts to make the client orbit the given object, for administrative purposes. +If they are not an observer, will try to aghost them.
adminpm_filter_textAccepts a message and an ambiguious recipient (some sort of client representative, or [EXTERNAL_PM_USER]) +Returns the filtered message if it passes all checks, or null if the send fails
asset_cache_confirm_arrivalProcess asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"
asset_cache_preload_dataProcess asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]"
asset_cache_update_jsonUpdates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.
attempt_auto_fit_viewportAttempt to automatically fit the viewport, assuming the user wants it
body_chestHidden verb to target the chest, bound to 5
body_eyesHidden verb to target the eyes, bound to 7
body_groinHidden verb to target the groin, bound to 2
body_l_armHidden verb to target the left arm, bound to 6
body_l_legHidden verb to target the left leg, bound to 3
body_mouthHidden verb to target the mouth, bound to 9
body_r_armHidden verb to target the right arm, bound to 4
body_r_legHidden verb to target the right leg, bound to 1
body_toggle_headHidden verb to set the target zone of a mob to the head
browse_queue_flushBlocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.
check_drag_proximityHandles treating drags as clicks if they're within some conditions +Does some other stuff adjacent to trying to figure out what the user actually "wanted" to click +Returns TRUE if it caused a click, FALSE otherwise
check_for_obstructed_atmosphericsCheck all tiles with a vent or scrubber on it and ensure that nothing is covering it up.
check_has_body_selectValidate the client's mob has a valid zone selected
check_timer_sourcesA debug verb to check the sources of currently running timers
clear_all_mapsClears all the maps of registered screen objects.
clear_mapClears the map of registered screen objects.
clear_screenClears the client's screen, aside from ones that opt out
close_popupCloses a popup.
cmd_admin_areatest_station*We whitelist in case we're doing something on a planetary station that shares multiple different types of areas, this should only be full of "station" area types. +This only goes into effect when we explicitly do the "on station" Areas Test. +Additionally, blacklist in order to filter out the types of areas that can show up on station Z-levels that we never need to test for.
cmd_admin_create_centcom_reportVerb to open the create command report window and send command reports.
cmd_admin_pm_contextAllows right clicking mobs to send an admin PM to their client, forwards the selected mob's client to cmd_admin_pm
cmd_admin_pm_panelShows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm
cmd_ahelp_replyReplys to some existing ahelp, reply to whom, which can be a client or ckey
cmd_change_command_nameVerb to change the global command name.
create_popupCreates a popup window with a basic map element in it, without any +further initialization.
debug_hallucination_weighted_list_per_typeDebug verb for getting the weight of each distinct type within the random_hallucination_weighted_list
debug_spell_requirementsDebug verb for seeing at a glance what all spells have as set requirements
drop_itemIf your mob is concious, drop the item in the active hand
fax_panelIf client have R_ADMIN flag, opens an admin fax panel.
fix_tgui_paneltgui panel / chat troubleshooting verb
forceEventAllows an admin to force an event
generate_adminwho_stringProc that generates the applicable string to dispatch to the client for adminwho.
generate_job_configOur current command name to swap back to after sending the report. +The sound we're going to play on report. +Verbs created to help server operators with generating certain config files.
getStealthKeyReturns this client's stealthed ckey
get_award_statusRedirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.
get_remaining_daysChecks if this client has met the days requirement passed in, or if +they are exempt from it. +Returns the number of days left, or 0.
give_awardRedirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments
handle_popup_closeWhen the popup closes in any way (player or proc call) it calls this.
init_verbscompiles a full list of verbs and sends it to the browser
initialize_menusInitializes dropdown menus on client
is_drag_clickableDoes the logic for checking if a drag counts as a click or not +Returns true if it does, false otherwise
is_veteranReturns whether the client should receive the gamer cloak
keyUpCheck if the key is short enough to even be a real key
makepAINew pAI's get a brand new mind to prevent meta stuff from their previous +life. This new mind causes problems down the line if it's not deleted here.
message_pdaAllows an admin to send messages on PDA
notify_adminpm_messageNotifies all admins about the existance of an admin pm, then logs the pm +message_target here can be either [EXTERNAL_PM_USER], indicating that this message is intended for some external chat channel +or a /client, in which case we send in the standard form +log_message is the raw message to send, it will be filtered and treated to ensure we do not break any text handling
on_stat_panel_messageHandles incoming messages from the stat-panel TGUI.
only_oneGives everyone kilts, berets, claymores, and pinpointers, with the objective to hijack the emergency shuttle. +Uses highlander controller to do so!
ooctalking in OOC uses this
open_escape_menuOpens the escape menu. +Verb, hardcoded to Escape, set in the client skin.
open_particle_editoropens the particle editor UI for the in_atom object for this client
reestablish_tts_connectionA debug verb to try and re-establish a connection with the TTS server and to refetch TTS voices. +Since voices are cached beforehand, this is unlikely to update preferences.
register_map_objRegisters screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.
request_adminpm_messageRequests an admin pm message to send +message_target here can be either [EXTERNAL_PM_USER], indicating that this message is intended for some external chat channel +or a /client, which we will then store info about to ensure logout -> logins are protected as expected +Accepts an optional existing message, which will be used in place of asking the recipient assuming all other conditions are met +Returns the message to send or null if no message is found +Sleeps
requestsVerb for opening the requests manager panel
reset_held_keysManually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.
send_resourcesSend resources to the client. +Sends both game resources and browser assets.
sends_adminpm_messageSends a pm message via the tickets system +message_target here can be either [EXTERNAL_PM_USER], indicating that this message is intended for some external chat channel +or a /client, in which case we send in the standard form +send_message is the raw message to send, it will be filtered and treated to ensure we do not break any text handling +Returns FALSE if the send failed, TRUE otherwise
setup_popupCreate the popup, and get it ready for generic use by giving +it a background.
spawn_debug_full_crewDebug verb that spawns human crewmembers +of each job type, gives them a mind and assigns the role, +and injects them into the manifest, as if they were a "player".
tgui_say_create_open_commandCreates a JSON encoded message to open TGUI say modals properly.
toggle_walk_runVerb to toggle the walk or run status
uicloseverb
update_exp_listTallies up the exp for the playtime tracking and adds it to the global update list.
update_special_keybindsUpdates the keybinds for special keys
validate_puzzgridsDebug verb for validating that all puzzgrids can be created successfully. +Locked behind a verb because it's fairly slow and memory intensive.
+

Var Details

AI_Interact + + + + +

+

Used for admin AI interaction

account_age + + + + +

+

Age of byond account in days

account_join_date + + + + +

+

Date of byond account creation in ISO 8601 format

admin_music_volume + + + + +

+

Admin music volume, from 0 to 1.

adminhelptimerid + + + + +

+

Client var used for returning the ahelp verb

avgping + + + + +

+

Average ping of the client

ban_cache + + + + +

+

Used to cache this client's bans to save on DB queries

ban_cache_start + + + + +

+

If we are currently building this client's ban cache, this var stores the timeofday we started at

char_render_holders + + + + +

+

Should only be a key-value list of north/south/east/west = atom/movable/screen.

click_intercept + + + + +

+

Needs to implement InterceptClickOn(user,params,atom) proc

click_intercept_time + + + + +

+

Time when the click was intercepted

clicklimiter + + + + +

+

Used for limiting the rate of clicks sends by the client to avoid abuse

client_keysend_amount + + + + +

+

Amount of keydowns in the last keysend checking interval

combo_hud_enabled + + + + +

+

Whether or not this client has the combo HUD enabled

completed_asset_jobs + + + + +

+

List of all completed blocking send jobs awaiting acknowledgement by send_asset

connection_realtime + + + + +

+

world.realtime they connected

connection_time + + + + +

+

world.time they connected

connection_timeofday + + + + +

+

world.timeofday they connected

credits + + + + +

+

lazy list of all credit object bound to this client

crew_manifest_delay + + + + +

+

rate limiting for the crew manifest

current_ticket + + + + +

+

Client var used for tracking the ticket the (usually) not-admin client is dealing with

do_parallax_animations + + + + +

+

Do we want to do parallax animations at all? +Exists to prevent laptop fires

dont_animate_parallax + + + + +

+

world.time of when we can state animate()ing parallax again

externalreplyamount + + + + +

+

Internal counter for clients sending external (IRC/Discord) relay messages via ahelp to prevent spamming. Set to a number every time an admin reply is sent, decremented for every client send.

fully_created + + + + +

+

If this client has been fully initialized or not

holder + + + + +

+

Contains admin info. Null if client is not an admin.

hotkeys + + + + +

+

Whether or not this client has standard hotkeys enabled

interviewee + + + + +

+

If the client is currently under the restrictions of the interview system

ip_intel + + + + +

+

Used for ip intel checking to identify evaders, disabled because of issues with traffic

key_combos_held + + + + +

+

A buffer for combinations such of modifiers + keys (ex: CtrlD, AltE, ShiftT). Format: "key" -> "combo" (ex: "D" -> "CtrlD")

keys_held + + + + +

+

A buffer of currently held keys.

keysend_tripped + + + + +

+

When set to true, user will be autokicked if they trip the keysends in a second limit again

last_asset_job + + + + +

+

Last asset send job id.

last_message + + + + +

+

Contains the last message sent by this client - used to protect against copy-paste spamming.

last_message_count + + + + +

+

contins a number of how many times a message identical to last_message was sent.

lastping + + + + +

+

Last ping of the client

mouseParams + + + + +

+

Used in MouseDrag to preserve the original mouse click parameters

mouse_down_icon + + + + +

+

used to make a special mouse cursor, this one for mouse up icon

mouse_location_ref + + + + +

+

Used in MouseDrag to preserve the last mouse-entered location. Weakref

mouse_object_ref + + + + +

+

Used in MouseDrag to preserve the last mouse-entered object. Weakref

mouse_override_icon + + + + +

+

used to override the mouse cursor so it doesnt get reset

mouse_up_icon + + + + +

+

used to make a special mouse cursor, this one for mouse up icon

move_delay + + + + +

+

Move delay of controlled mob, any keypresses inside this period will persist until the next proper move

movement_keys + + + + +

+

custom movement keys for this client

movement_locked + + + + +

+

Are we locking our movement input?

movingmob + + + + +

+

this is the last recorded client eye by SSparallax/fire()

navigation_images + + + + +

+

Images of the path created by navigate().

next_keysend_reset + + + + +

+

World tick time where client_keysend_amount will reset

next_keysend_trip_reset + + + + +

+

World tick time where keysend_tripped will reset back to false

next_move_dir_add + + + + +

+

On next move, add this dir to the move that would otherwise be done

next_move_dir_sub + + + + +

+

On next move, subtract this dir from the move that would otherwise be done

obj_window + + + + +

+

Our object window datum. It stores info about and handles behavior for the object tab

panel_tabs + + + + +

+

list of all tabs

parallax_animate_timer + + + + +

+

Timer for the area directional animation

parallax_layers_max + + + + +

+

How many parallax layers to show our client

parallax_movedir + + + + +

+

Direction our current area wants to move parallax

parent_type + + + + +

+

This line makes clients parent type be a datum

+

By default in byond if you define a proc on datums, that proc will exist on nearly every single type +from icons to images to atoms to mobs to objs to turfs to areas, it won't however, appear on client

+

instead by default they act like their own independent type so while you can do isdatum(icon) +and have it return true, you can't do isdatum(client), it will always return false.

+

This makes writing oo code hard, when you have to consider this extra special case

+

This line prevents that, and has never appeared to cause any ill effects, while saving us an extra +pain to think about

+

This line is widely considered black fucking magic, and the fact it works is a puzzle to everyone +involved, including the current engine developer, lummox

+

If you are a future developer and the engine source is now available and you can explain why this +is the way it is, please do update this comment

player_age + + + + +

+

Used to determine how old the account is - in days.

player_details + + + + +

+

these persist between logins/logouts during the same round.

player_join_date + + + + +

+

Date that this account was first seen in the server

prefs + + + + +

+

Player preferences datum for the client

recent_examines + + + + +

+

A lazy list of atoms we've examined in the last RECENT_EXAMINE_MAX_WINDOW (default 2) seconds, so that we will call /atom/proc/examine_more instead of /atom/proc/examine on them when examining

related_accounts_cid + + + + +

+

So admins know why it isn't working - Used to determine what other accounts previously logged in from this computer id

related_accounts_ip + + + + +

+

So admins know why it isn't working - Used to determine what other accounts previously logged in from this ip

say_slowmode + + + + +

+

Tracks say() usage for ic/dchat while slowmode is enabled

screen_maps + + + + +

+

Assoc list with all the active maps - when a screen obj is added to +a map, it's put in here as well.

+

Format: list( = list(/atom/movable/screen))

script + + + + +

+

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!HEY LISTEN!!!!!!!!!!!!!!!!!!!!!!!! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

seen_messages + + + + +

+

Messages currently seen by this client

selected_target + + + + +

+

Autoclick list of two elements, first being the clicked thing, second being the parameters.

show_verb_panel + + + + +

+

hides the byond verb panel as we use our own custom version

spell_tabs + + + + +

+

list of tabs containing spells and abilities

stat_panel + + + + +

+

Stat panel window declaration

stat_tab + + + + +

+

our current tab

tgui_cache_reloaded + + + + +

+

global

+

TRUE if cache was reloaded by tgui dev server at least once.

tgui_say + + + + +

+

Assigned say modal of the client

tgui_windows + + + + +

+

global

+

Tracks open windows for a user.

tooltips + + + + +

+

datum that controls the displaying and hiding of tooltips

topiclimiter + + + + +

+

Used for limiting the rate of topic sends by the client to avoid abuse

total_count_reset + + + + +

+

Next tick to reset the total message counter

total_message_count + + + + +

+

How many messages sent in the last 10 seconds

typing_indicators + + + + +

+

Does this client have typing indicators enabled?

urgent_ahelp_cooldown + + + + +

+

The last urgent ahelp that this player sent

view_size + + + + +

+

datum wrapper for client view

visual_delay + + + + +

+

The visual delay to use for the current client.Move(), mostly used for making a client based move look like it came from some other slower source

Proc Details

Move +

+

Move a client in a direction

+

Huge proc, has a lot of functionality

+

Mostly it will despatch to the mob that you are the owner of to actually move +in the physical realm

+

Things that stop you moving as a mob:

+ +

Things that stop you moving as a mob living (why even have OO if you're just shoving it all +in the parent proc with istype checks right?):

+ +

At this point, if the mob is is confused, then a random direction and target turf will be calculated for you to travel to instead

+

Now the parent call is made (to the byond builtin move), which moves you

+

Some final move delay calculations (doubling if you moved diagonally successfully)

+

if mob throwing is set I believe it's unset at this point via a call to finalize

+

Finally if you're pulling an object and it's dense, you are turned 180 after the move +(if you ask me, this should be at the top of the move so you don't dance around)

Process_Grab +

+

Checks to see if you're being grabbed and if so attempts to break it

+

Called by client/Move()

Process_Incorpmove +

+

Allows mobs to ignore density and phase through objects

+

Called by client/Move()

+

The behaviour depends on the incorporeal_move value of the mob

+ +

You'll note this is another mob living level proc living at the client level

_Topic +

+

dumb workaround because byond doesnt seem to recognize the Topic() typepath for /datum/proc/Topic() from the client Topic, +so we cant queue it without this

adjust_heart +

+

Gives someone hearted status for OOC, from behavior commendations

admin_follow +

+

Attempts to make the client orbit the given object, for administrative purposes. +If they are not an observer, will try to aghost them.

adminpm_filter_text +

+

Accepts a message and an ambiguious recipient (some sort of client representative, or [EXTERNAL_PM_USER]) +Returns the filtered message if it passes all checks, or null if the send fails

asset_cache_confirm_arrival +

+

Process asset cache client topic calls for "asset_cache_confirm_arrival=[INT]"

asset_cache_preload_data +

+

Process asset cache client topic calls for "asset_cache_preload_data=[HTML+JSON_STRING]"

asset_cache_update_json +

+

Updates the client side stored json file used to keep track of what assets the client has between restarts/reconnects.

attempt_auto_fit_viewport +

+

Attempt to automatically fit the viewport, assuming the user wants it

body_chest +

+

Hidden verb to target the chest, bound to 5

body_eyes +

+

Hidden verb to target the eyes, bound to 7

body_groin +

+

Hidden verb to target the groin, bound to 2

body_l_arm +

+

Hidden verb to target the left arm, bound to 6

body_l_leg +

+

Hidden verb to target the left leg, bound to 3

body_mouth +

+

Hidden verb to target the mouth, bound to 9

body_r_arm +

+

Hidden verb to target the right arm, bound to 4

body_r_leg +

+

Hidden verb to target the right leg, bound to 1

body_toggle_head +

+

Hidden verb to set the target zone of a mob to the head

+

(bound to 8) - repeated presses toggles through head - eyes - mouth +Hidden verb to target the head, bound to 8

browse_queue_flush +

+

Blocks until all currently sending browse and browse_rsc assets have been sent. +Due to byond limitations, this proc will sleep for 1 client round trip even if the client has no pending asset sends. +This proc will return an untrue value if it had to return before confirming the send, such as timeout or the client going away.

check_drag_proximity +

+

Handles treating drags as clicks if they're within some conditions +Does some other stuff adjacent to trying to figure out what the user actually "wanted" to click +Returns TRUE if it caused a click, FALSE otherwise

check_for_obstructed_atmospherics +

+

Check all tiles with a vent or scrubber on it and ensure that nothing is covering it up.

check_has_body_select +

+

Validate the client's mob has a valid zone selected

check_timer_sources +

+

A debug verb to check the sources of currently running timers

clear_all_maps +

+

Clears all the maps of registered screen objects.

clear_map +

+

Clears the map of registered screen objects.

clear_screen +

+

Clears the client's screen, aside from ones that opt out

close_popup +

+

Closes a popup.

cmd_admin_areatest_station +

+

*We whitelist in case we're doing something on a planetary station that shares multiple different types of areas, this should only be full of "station" area types. +This only goes into effect when we explicitly do the "on station" Areas Test. +Additionally, blacklist in order to filter out the types of areas that can show up on station Z-levels that we never need to test for.

cmd_admin_create_centcom_report +

+

Verb to open the create command report window and send command reports.

cmd_admin_pm_context +

+

Allows right clicking mobs to send an admin PM to their client, forwards the selected mob's client to cmd_admin_pm

cmd_admin_pm_panel +

+

Shows a list of clients we could send PMs to, then forwards our choice to cmd_admin_pm

cmd_ahelp_reply +

+

Replys to some existing ahelp, reply to whom, which can be a client or ckey

cmd_change_command_name +

+

Verb to change the global command name.

create_popup +

+

Creates a popup window with a basic map element in it, without any +further initialization.

+

Ratio is how many pixels by how many pixels (keep it simple).

+

Returns a map name.

debug_hallucination_weighted_list_per_type +

+

Debug verb for getting the weight of each distinct type within the random_hallucination_weighted_list

debug_spell_requirements +

+

Debug verb for seeing at a glance what all spells have as set requirements

drop_item +

+

If your mob is concious, drop the item in the active hand

+

This is a hidden verb, likely for binding with winset for hotkeys

fax_panel +

+

If client have R_ADMIN flag, opens an admin fax panel.

fix_tgui_panel +

+

tgui panel / chat troubleshooting verb

forceEvent +

+

Allows an admin to force an event

generate_adminwho_string +

+

Proc that generates the applicable string to dispatch to the client for adminwho.

generate_job_config +

+

Our current command name to swap back to after sending the report. +The sound we're going to play on report. +Verbs created to help server operators with generating certain config files.

getStealthKey +

+

Returns this client's stealthed ckey

get_award_status +

+

Redirect proc that makes it easier to get the status of an achievement. Achievement type is the typepath to the award.

get_remaining_days +

+

Checks if this client has met the days requirement passed in, or if +they are exempt from it. +Returns the number of days left, or 0.

give_award +

+

Redirect proc that makes it easier to call the unlock achievement proc. Achievement type is the typepath to the award, user is the mob getting the award, and value is an optional variable used for leaderboard value increments

handle_popup_close +

+

When the popup closes in any way (player or proc call) it calls this.

init_verbs +

+

compiles a full list of verbs and sends it to the browser

initialize_menus +

+

Initializes dropdown menus on client

is_drag_clickable +

+

Does the logic for checking if a drag counts as a click or not +Returns true if it does, false otherwise

is_veteran +

+

Returns whether the client should receive the gamer cloak

keyUp +

+

Check if the key is short enough to even be a real key

makepAI +

+

New pAI's get a brand new mind to prevent meta stuff from their previous +life. This new mind causes problems down the line if it's not deleted here.

message_pda +

+

Allows an admin to send messages on PDA

notify_adminpm_message +

+

Notifies all admins about the existance of an admin pm, then logs the pm +message_target here can be either [EXTERNAL_PM_USER], indicating that this message is intended for some external chat channel +or a /client, in which case we send in the standard form +log_message is the raw message to send, it will be filtered and treated to ensure we do not break any text handling

on_stat_panel_message +

+

Handles incoming messages from the stat-panel TGUI.

only_one +

+

Gives everyone kilts, berets, claymores, and pinpointers, with the objective to hijack the emergency shuttle. +Uses highlander controller to do so!

+

Arguments:

+

ooc +

+

talking in OOC uses this

open_escape_menu +

+

Opens the escape menu. +Verb, hardcoded to Escape, set in the client skin.

open_particle_editor +

+

opens the particle editor UI for the in_atom object for this client

reestablish_tts_connection +

+

A debug verb to try and re-establish a connection with the TTS server and to refetch TTS voices. +Since voices are cached beforehand, this is unlikely to update preferences.

register_map_obj +

+

Registers screen obj with the client, which makes it visible on the +assigned map, and becomes a part of the assigned map's lifecycle.

request_adminpm_message +

+

Requests an admin pm message to send +message_target here can be either [EXTERNAL_PM_USER], indicating that this message is intended for some external chat channel +or a /client, which we will then store info about to ensure logout -> logins are protected as expected +Accepts an optional existing message, which will be used in place of asking the recipient assuming all other conditions are met +Returns the message to send or null if no message is found +Sleeps

requests +

+

Verb for opening the requests manager panel

reset_held_keys +

+

Manually clears any held keys, in case due to lag or other undefined behavior a key gets stuck.

send_resources +

+

Send resources to the client. +Sends both game resources and browser assets.

sends_adminpm_message +

+

Sends a pm message via the tickets system +message_target here can be either [EXTERNAL_PM_USER], indicating that this message is intended for some external chat channel +or a /client, in which case we send in the standard form +send_message is the raw message to send, it will be filtered and treated to ensure we do not break any text handling +Returns FALSE if the send failed, TRUE otherwise

setup_popup +

+

Create the popup, and get it ready for generic use by giving +it a background.

+

Width and height are multiplied by 64 by default.

spawn_debug_full_crew +

+

Debug verb that spawns human crewmembers +of each job type, gives them a mind and assigns the role, +and injects them into the manifest, as if they were a "player".

+

This spawns humans with minds and jobs, but does NOT make them 'players'. +They're all clientles mobs with minds / jobs.

tgui_say_create_open_command +

+

Creates a JSON encoded message to open TGUI say modals properly.

+

Arguments: +channel - The channel to open the modal in. +Returns: +string - A JSON encoded message to open the modal.

toggle_walk_run +

+

Verb to toggle the walk or run status

uiclose +

+

verb

+

Called by UIs when they are closed. +Must be a verb so winset() can call it.

+

required uiref ref The UI that was closed.

update_exp_list +

+

Tallies up the exp for the playtime tracking and adds it to the global update list.

+

For a client mob of /mob/dead/observer, it adds EXP_TYPE_GHOST.

+

For a client mob of /mob/living, it grabs the exp list from a mob proc call. +Being dead but still in your body will tally time towards your /mob/living roles instead of ghost roles. +If /mob/living returns an empty list, uses "Unknown" instead.

+

For anything else, it doesn't update anything.

+

Arguments:

+

update_special_keybinds +

+

Updates the keybinds for special keys

+

Handles adding macros for the keys that need it +And adding movement keys to the clients movement_keys list +At the time of writing this, communication(OOC, Say, IC, ASAY) require macros +Arguments:

+

validate_puzzgrids +

+

Debug verb for validating that all puzzgrids can be created successfully. +Locked behind a verb because it's fairly slow and memory intensive.

+ + + diff --git a/code/__DEFINES.html b/code/__DEFINES.html new file mode 100644 index 00000000000..6f861791cb9 --- /dev/null +++ b/code/__DEFINES.html @@ -0,0 +1,38 @@ + + + + + + + code/__DEFINES/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__DEFINES/README.md + +

+ + +

This folder is full of #define statements. They are similar to constants, +but must come before any code that references them, and they do not take up +memory the way constants do.

+

The values in this folder are NOT options. They are not for hosts to play with. +Some of the values are arbitrary and only need to be different from similar constants; +for example, the genetic mutation numbers in genetics.dm mean nothing, but MUST be distinct.

+

It is wise not to touch them unless you understand what they do, where they're used, +and most importantly, +how to undo your changes if you screw it up.

+
    +
  • Sayu
  • +
+ + + diff --git a/code/__DEFINES/DNA.html b/code/__DEFINES/DNA.html new file mode 100644 index 00000000000..153b2b4748c --- /dev/null +++ b/code/__DEFINES/DNA.html @@ -0,0 +1,87 @@ + + + + + + + code/__DEFINES/DNA.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/DNA.dm + +

+ + + + + + + + + + + + + +
MUT_NORMALA mutation that can be activated and deactived by completing a sequence
MUT_EXTRAA mutation that is in the mutations tab, and can be given and taken away through though the DNA console. Has a 0 before it's name in the mutation section of the dna console
MUT_OTHERCannot be interacted with by players through normal means. I.E. wizards mutate
DNA_MUTANT_COLOR_BLOCKThis number needs to equal the total number of DNA blocks
ORGAN_SLOT_EXTERNAL_TAILOrgan slot external
ORGAN_SLOT_XENO_ACIDGLANDXenomorph organ slots
STANDARD_ORGAN_DECAYdesigned to fail organs when left to decay for ~15 minutes
SPECIES_PERK_ICONA key that designates UI icon displayed on the perk.
SPECIES_PERK_NAMEA key that designates the name of the perk.
SPECIES_PERK_DESCA key that designates the description of the perk.
SPECIES_PERK_TYPEA key that designates what type of perk it is (see below).
GOLEM_FOOD_IRONGolem food defines

Define Details

+

DNA_MUTANT_COLOR_BLOCK + + +

+

This number needs to equal the total number of DNA blocks

GOLEM_FOOD_IRON + + +

+

Golem food defines

MUT_EXTRA + + +

+

A mutation that is in the mutations tab, and can be given and taken away through though the DNA console. Has a 0 before it's name in the mutation section of the dna console

MUT_NORMAL + + +

+

A mutation that can be activated and deactived by completing a sequence

MUT_OTHER + + +

+

Cannot be interacted with by players through normal means. I.E. wizards mutate

ORGAN_SLOT_EXTERNAL_TAIL + + +

+

Organ slot external

ORGAN_SLOT_XENO_ACIDGLAND + + +

+

Xenomorph organ slots

SPECIES_PERK_DESC + + +

+

A key that designates the description of the perk.

SPECIES_PERK_ICON + + +

+

A key that designates UI icon displayed on the perk.

SPECIES_PERK_NAME + + +

+

A key that designates the name of the perk.

SPECIES_PERK_TYPE + + +

+

A key that designates what type of perk it is (see below).

STANDARD_ORGAN_DECAY + + +

+

designed to fail organs when left to decay for ~15 minutes

+ + + diff --git a/code/__DEFINES/MC.html b/code/__DEFINES/MC.html new file mode 100644 index 00000000000..e53773f87ce --- /dev/null +++ b/code/__DEFINES/MC.html @@ -0,0 +1,154 @@ + + + + + + + code/__DEFINES/MC.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/MC.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
MC_AVG_OVER_TIMEcreates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0
MC_RUNNINGReturns true if the MC is initialized and running. +Optional argument init_stage controls what stage the mc must have initializted to count as initialized. Defaults to INITSTAGE_MAX if not specified.

SubSystem flags (Please design any new flags so that the default is off, to make adding flags to subsystems easier)

SS_NO_INITsubsystem does not initialize.
SS_NO_FIREsubsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)
SS_BACKGROUNDSubsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump
SS_TICKERTreat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(We don't want to be choked out by other subsystems queuing into us) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)
SS_KEEP_TIMINGkeep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.
SS_POST_FIRE_TIMINGCalculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING
SS_OK_TO_FAIL_INITIf this subsystem doesn't initialize, it should not report as a hard error in CI. +This should be used for subsystems that are flaky for complicated reasons, such as +the Lua subsystem, which relies on auxtools, which is unstable. +It should not be used simply to silence CI.

SUBSYSTEM STATES

+
SS_IDLEain't doing shit.
SS_QUEUEDqueued to run
SS_RUNNINGactively running
SS_PAUSEDpaused by mc_tick_check
SS_SLEEPINGfire() slept.
SS_PAUSINGin the middle of pausing
INITSTAGE_EARLYEarly init stuff that doesn't need to wait for mapload
INITSTAGE_MAINMain init stage
INITSTAGE_MAXHighest initstage.

Define Details

+

INITSTAGE_EARLY + + +

+

Early init stuff that doesn't need to wait for mapload

INITSTAGE_MAIN + + +

+

Main init stage

INITSTAGE_MAX + + +

+

Highest initstage.

MC_AVG_OVER_TIME + + + +

+

creates a running average of "things elapsed" per time period when you need to count via a smaller time period. +eg you want an average number of things happening per second but you measure the event every tick (50 milliseconds). +make sure both time intervals are in the same units. doesnt work if current_duration > total_duration or if total_duration == 0

MC_RUNNING + + + +

+

Returns true if the MC is initialized and running. +Optional argument init_stage controls what stage the mc must have initializted to count as initialized. Defaults to INITSTAGE_MAX if not specified.

SS_BACKGROUND + + +

+

Subsystem only runs on spare cpu (after all non-background subsystems have ran that tick) +SS_BACKGROUND has its own priority bracket, this overrides SS_TICKER's priority bump

SS_IDLE + + +

+

ain't doing shit.

SS_KEEP_TIMING + + +

+

keep the subsystem's timing on point by firing early if it fired late last fire because of lag +ie: if a 20ds subsystem fires say 5 ds late due to lag or what not, its next fire would be in 15ds, not 20ds.

SS_NO_FIRE + + +

+

subsystem does not fire. +(like can_fire = 0, but keeps it from getting added to the processing subsystems list) +(Requires a MC restart to change)

SS_NO_INIT + + +

+

subsystem does not initialize.

SS_OK_TO_FAIL_INIT + + +

+

If this subsystem doesn't initialize, it should not report as a hard error in CI. +This should be used for subsystems that are flaky for complicated reasons, such as +the Lua subsystem, which relies on auxtools, which is unstable. +It should not be used simply to silence CI.

SS_PAUSED + + +

+

paused by mc_tick_check

SS_PAUSING + + +

+

in the middle of pausing

SS_POST_FIRE_TIMING + + +

+

Calculate its next fire after its fired. +(IE: if a 5ds wait SS takes 2ds to run, its next fire should be 5ds away, not 3ds like it normally would be) +This flag overrides SS_KEEP_TIMING

SS_QUEUED + + +

+

queued to run

SS_RUNNING + + +

+

actively running

SS_SLEEPING + + +

+

fire() slept.

SS_TICKER + + +

+

Treat wait as a tick count, not DS, run every wait ticks. +(also forces it to run first in the tick (unless SS_BACKGROUND)) +(We don't want to be choked out by other subsystems queuing into us) +(implies all runlevels because of how it works) +This is designed for basically anything that works as a mini-mc (like SStimer)

+ + + diff --git a/code/__DEFINES/__globals.html b/code/__DEFINES/__globals.html new file mode 100644 index 00000000000..4eafe2c97a1 --- /dev/null +++ b/code/__DEFINES/__globals.html @@ -0,0 +1,123 @@ + + + + + + + code/__DEFINES/__globals.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/__globals.dm + +

+ + + + + + + + + + + + + + + + + +
GLOBAL_MANAGEDCreates a global initializer with a given InitValue expression, do not use
GLOBAL_UNMANAGEDCreates an empty global initializer, do not use
GLOBAL_PROTECTPrevents a given global from being VV'd
GLOBAL_REAL_VARStandard BYOND global, seriously do not use without an earthshakingly good reason
GLOBAL_REALStandard typed BYOND global, seriously do not use without an earthshakingly good reason
GLOBAL_RAWDefines a global var on the controller, do not use
GLOBAL_VAR_INITCreate an untyped global with an initializer expression
GLOBAL_VAR_CONSTCreate a global const var, do not use
GLOBAL_LIST_INITCreate a list global with an initializer expression
GLOBAL_LIST_EMPTYCreate a list global that is initialized as an empty list
GLOBAL_LIST_INIT_TYPEDCreate a typed list global with an initializer expression
GLOBAL_LIST_EMPTY_TYPEDCreate a typed list global that is initialized as an empty list
GLOBAL_DATUM_INITCreate a typed global with an initializer expression
GLOBAL_VARCreate an untyped null global
GLOBAL_LISTCreate a null global list
GLOBAL_DATUMCreate a typed null global

Define Details

+

GLOBAL_DATUM + + + +

+

Create a typed null global

GLOBAL_DATUM_INIT + + + +

+

Create a typed global with an initializer expression

GLOBAL_LIST + + + +

+

Create a null global list

GLOBAL_LIST_EMPTY + + + +

+

Create a list global that is initialized as an empty list

GLOBAL_LIST_EMPTY_TYPED + + + +

+

Create a typed list global that is initialized as an empty list

GLOBAL_LIST_INIT + + + +

+

Create a list global with an initializer expression

GLOBAL_LIST_INIT_TYPED + + + +

+

Create a typed list global with an initializer expression

GLOBAL_MANAGED + + + +

+

Creates a global initializer with a given InitValue expression, do not use

GLOBAL_PROTECT + + + +

+

Prevents a given global from being VV'd

GLOBAL_RAW + + + +

+

Defines a global var on the controller, do not use

GLOBAL_REAL + + + +

+

Standard typed BYOND global, seriously do not use without an earthshakingly good reason

GLOBAL_REAL_VAR + + + +

+

Standard BYOND global, seriously do not use without an earthshakingly good reason

GLOBAL_UNMANAGED + + + +

+

Creates an empty global initializer, do not use

GLOBAL_VAR + + + +

+

Create an untyped null global

GLOBAL_VAR_CONST + + + +

+

Create a global const var, do not use

GLOBAL_VAR_INIT + + + +

+

Create an untyped global with an initializer expression

+ + + diff --git a/code/__DEFINES/_click.html b/code/__DEFINES/_click.html new file mode 100644 index 00000000000..bcd2fef9913 --- /dev/null +++ b/code/__DEFINES/_click.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/_click.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_click.dm + +

+ + + + + +
BUTTONMouse button that was just clicked/released +if(modifiersBUTTON == LEFT_CLICK)
MOUSE_OPACITY_TRANSPARENTObjects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.)
MOUSE_OPACITY_ICONObjects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects)
MOUSE_OPACITY_OPAQUEObjects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, megafauna, storage containers)

Define Details

+

BUTTON + + +

+

Mouse button that was just clicked/released +if(modifiersBUTTON == LEFT_CLICK)

MOUSE_OPACITY_ICON + + +

+

Objects will be clicked on if it is the topmost object and the pixel isn't transparent at the position of the mouse (default behavior for 99.99% of game objects)

MOUSE_OPACITY_OPAQUE + + +

+

Objects will be always be clicked on regardless of pixel transparency or other objects at that location (used in space vines, megafauna, storage containers)

MOUSE_OPACITY_TRANSPARENT + + +

+

Objects will ignore being clicked on regardless of their transparency (used in parallax, lighting effects, holograms, lasers, etc.)

+ + + diff --git a/code/__DEFINES/_flags.html b/code/__DEFINES/_flags.html new file mode 100644 index 00000000000..aa0f0cbde11 --- /dev/null +++ b/code/__DEFINES/_flags.html @@ -0,0 +1,460 @@ + + + + + + + code/__DEFINES/_flags.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_flags.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ALL_CARDINALSAll the cardinal direction bitflags.
ATMOS_IS_PROCESSING_1Is this object currently processing in the atmos object list?
ON_BORDER_1item has priority to check when entering or leaving
NO_SCREENTIPS_1Whether or not this atom shows screentips when hovered over
PREVENT_CLICK_UNDER_1Prevent clicking things below it on the same turf eg. doors/ fulltile windows
HOLOGRAM_1specifies that this atom is a hologram that isnt real
INITIALIZED_1Whether /atom/Initialize() has already run for the object
ADMIN_SPAWNED_1was this spawned by an admin? used for stat tracking stuff.
PREVENT_CONTENTS_EXPLOSION_1should not get harmed if this gets caught by an explosion?
ALLOW_DARK_PAINTS_1Should this object be paintable with very dark colors?
UNPAINTABLE_1Should this object be unpaintable?
IS_ONTOP_1Is this atom on top of another atom, and as such has click priority?
SUPERMATTER_IGNORES_1Is this atom immune to being dusted by the supermatter?
CAN_BE_DIRTY_1If a turf can be made dirty at roundstart. This is also used in areas.
HTML_USE_INITAL_ICON_1Should we use the initial icon for display? Mostly used by overlay only objects
IS_PLAYER_COLORABLE_1Can players recolor this in-game via vendors (and maybe more if support is added)?
HAS_CONTEXTUAL_SCREENTIPS_1Whether or not this atom has contextual screentips when hovered OVER
HAS_DISASSOCIATED_STORAGE_1Whether or not this atom is storing contents for a disassociated storage object
DECAL_INIT_UPDATE_EXPERIENCED_1If this atom has experienced a decal element "init finished" sourced appearance update +We use this to ensure stacked decals don't double up appearance updates for no rasin +Flag as an optimization, don't make this a trait without profiling +Yes I know this is a stupid flag, no you can't take him from me
UPDATE_NAMEUpdate the atom's name
UPDATE_DESCUpdate the atom's desc
UPDATE_ICON_STATEUpdate the atom's icon state
UPDATE_OVERLAYSUpdate the atom's overlays
UPDATE_GREYSCALEUpdate the atom's greyscaling
UPDATE_SMOOTHINGUpdate the atom's smoothing. (More accurately, queue it for an update)
UPDATE_ICONUpdate the atom's icon
RICOCHET_SHINYIf the thing can reflect light (lasers/energy)
RICOCHET_HARDIf the thing can reflect matter (bullets/bomb shrapnel)
NOJAUNTIf a turf cant be jaunted through.
UNUSED_RESERVATION_TURFIf a turf is an usused reservation turf awaiting assignment
RESERVATION_TURFIf a turf is a reserved turf
NO_LAVA_GENBlocks lava rivers being generated on the turf.
NO_RUINSBlocks ruins spawning on the turf.
NO_RUSTBlocks this turf from being rusted
IS_SOLIDIs this turf is "solid". Space and lava aren't for instance
NO_CLEARINGThis turf will never be cleared away by other objects on Initialize.
VALID_TERRITORY/////////////Area flags\\\\\\\ +If it's a valid territory for cult summoning or the CRAB-17 phone to spawn
BLOBS_ALLOWEDIf blobs can spawn there and if it counts towards their score.
CAVES_ALLOWEDIf mining tunnel generation is allowed in this area
FLORA_ALLOWEDIf flora are allowed to spawn in this area randomly through tunnel generation
MOB_SPAWN_ALLOWEDIf mobs can be spawned by natural random generation
MEGAFAUNA_SPAWN_ALLOWEDIf megafauna can be spawned by natural random generation
NOTELEPORTAre you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)
HIDDEN_AREAHides area from player Teleport function.
UNIQUE_AREAIf false, loading multiple maps with this area type will create multiple instances.
BLOCK_SUICIDEIf people are allowed to suicide in it. Mostly for OOC stuff like minigames
XENOBIOLOGY_COMPATIBLECan the Xenobio management console transverse this area by default?
ABDUCTOR_PROOFIf Abductors are unable to teleport in with their observation console
CULT_PERMITTEDIf blood cultists can draw runes or build structures on this AREA.
PERSISTENT_ENGRAVINGSIf engravings are persistent in this area
NO_DEATH_MESSAGEMobs that die in this area don't produce a dead chat message
EVENT_PROTECTEDThis area should have extra shielding from certain event effects
LETPASSTHROWLet thrown things past us. ONLY MEANINGFUL ON pass_flags_self!
LETPASSCLICKSDo not intercept click attempts during Adjacent() checks. See [turf/proc/ClickCross]. ONLY MEANINGFUL ON pass_flags_self!
PHASINGWhen moving, will Cross() everything, but won't stop or Bump() anything.
UPSIDE_DOWNThe mob is walking on the ceiling. Or is generally just, upside down.
MOVETYPES_NOT_TOUCHING_GROUNDCombination flag for movetypes which, for all intents and purposes, mean the mob is not touching the ground
FIRE_PROOF100% immune to fire damage (but not necessarily to lava or heat)
FLAMMABLEatom is flammable and can have the burning component
ON_FIREcurrently burning
UNACIDABLEacid can't even appear on it, let alone melt it.
ACID_PROOFacid stuck on it doesn't melt it.
INDESTRUCTIBLEdoesn't take damage
FREEZE_PROOFcan't be frozen
ZAP_LOW_POWER_GENZaps with this flag will generate less power through tesla coils
MOBILITY_MOVEcan move
MOBILITY_STANDcan, and is, standing up
MOBILITY_PICKUPcan pickup items
MOBILITY_USEcan hold and use items
MOBILITY_UIcan use interfaces like machinery
MOBILITY_STORAGEcan use storage item
MOBILITY_PULLcan pull things
MOBILITY_RESTcan rest
MOBILITY_LIEDOWNcan lie down
MAX_BITFLAG_DIGITS33554431 (2^24 - 1) is the maximum value our bitflags can reach.
IGNORE_USER_LOC_CHANGECan do the action even if mob moves location
IGNORE_TARGET_LOC_CHANGECan do the action even if the target moves location
IGNORE_HELD_ITEMCan do the action even if the item is no longer being held
IGNORE_INCAPACITATEDCan do the action even if the mob is incapacitated (ex. handcuffed)
IGNORE_SLOWDOWNSUsed to prevent important slowdowns from being abused by drugs like kronkaine
SPACEVINE_HEAT_RESISTANTIs the spacevine / flower bud heat resistant
SPACEVINE_COLD_RESISTANTIs the spacevine / flower bud cold resistant
EMOTE_AUDIBLEIs the emote audible
EMOTE_VISIBLEIs the emote visible
EMOTE_IMPORTANTIs it an emote that should be shown regardless of blindness/deafness

Define Details

+

ABDUCTOR_PROOF + + +

+

If Abductors are unable to teleport in with their observation console

ACID_PROOF + + +

+

acid stuck on it doesn't melt it.

ADMIN_SPAWNED_1 + + +

+

was this spawned by an admin? used for stat tracking stuff.

ALLOW_DARK_PAINTS_1 + + +

+

Should this object be paintable with very dark colors?

ALL_CARDINALS + + +

+

All the cardinal direction bitflags.

ATMOS_IS_PROCESSING_1 + + +

+

Is this object currently processing in the atmos object list?

BLOBS_ALLOWED + + +

+

If blobs can spawn there and if it counts towards their score.

BLOCK_SUICIDE + + +

+

If people are allowed to suicide in it. Mostly for OOC stuff like minigames

CAN_BE_DIRTY_1 + + +

+

If a turf can be made dirty at roundstart. This is also used in areas.

CAVES_ALLOWED + + +

+

If mining tunnel generation is allowed in this area

CULT_PERMITTED + + +

+

If blood cultists can draw runes or build structures on this AREA.

DECAL_INIT_UPDATE_EXPERIENCED_1 + + +

+

If this atom has experienced a decal element "init finished" sourced appearance update +We use this to ensure stacked decals don't double up appearance updates for no rasin +Flag as an optimization, don't make this a trait without profiling +Yes I know this is a stupid flag, no you can't take him from me

EMOTE_AUDIBLE + + +

+

Is the emote audible

EMOTE_IMPORTANT + + +

+

Is it an emote that should be shown regardless of blindness/deafness

EMOTE_VISIBLE + + +

+

Is the emote visible

EVENT_PROTECTED + + +

+

This area should have extra shielding from certain event effects

FIRE_PROOF + + +

+

100% immune to fire damage (but not necessarily to lava or heat)

FLAMMABLE + + +

+

atom is flammable and can have the burning component

FLORA_ALLOWED + + +

+

If flora are allowed to spawn in this area randomly through tunnel generation

FREEZE_PROOF + + +

+

can't be frozen

HAS_CONTEXTUAL_SCREENTIPS_1 + + +

+

Whether or not this atom has contextual screentips when hovered OVER

HAS_DISASSOCIATED_STORAGE_1 + + +

+

Whether or not this atom is storing contents for a disassociated storage object

HIDDEN_AREA + + +

+

Hides area from player Teleport function.

HOLOGRAM_1 + + +

+

specifies that this atom is a hologram that isnt real

HTML_USE_INITAL_ICON_1 + + +

+

Should we use the initial icon for display? Mostly used by overlay only objects

IGNORE_HELD_ITEM + + +

+

Can do the action even if the item is no longer being held

IGNORE_INCAPACITATED + + +

+

Can do the action even if the mob is incapacitated (ex. handcuffed)

IGNORE_SLOWDOWNS + + +

+

Used to prevent important slowdowns from being abused by drugs like kronkaine

IGNORE_TARGET_LOC_CHANGE + + +

+

Can do the action even if the target moves location

IGNORE_USER_LOC_CHANGE + + +

+

Can do the action even if mob moves location

INDESTRUCTIBLE + + +

+

doesn't take damage

INITIALIZED_1 + + +

+

Whether /atom/Initialize() has already run for the object

IS_ONTOP_1 + + +

+

Is this atom on top of another atom, and as such has click priority?

IS_PLAYER_COLORABLE_1 + + +

+

Can players recolor this in-game via vendors (and maybe more if support is added)?

IS_SOLID + + +

+

Is this turf is "solid". Space and lava aren't for instance

LETPASSCLICKS + + +

+

Do not intercept click attempts during Adjacent() checks. See [turf/proc/ClickCross]. ONLY MEANINGFUL ON pass_flags_self!

LETPASSTHROW + + +

+

Let thrown things past us. ONLY MEANINGFUL ON pass_flags_self!

MAX_BITFLAG_DIGITS + + +

+

33554431 (2^24 - 1) is the maximum value our bitflags can reach.

MEGAFAUNA_SPAWN_ALLOWED + + +

+

If megafauna can be spawned by natural random generation

MOBILITY_LIEDOWN + + +

+

can lie down

MOBILITY_MOVE + + +

+

can move

MOBILITY_PICKUP + + +

+

can pickup items

MOBILITY_PULL + + +

+

can pull things

MOBILITY_REST + + +

+

can rest

MOBILITY_STAND + + +

+

can, and is, standing up

MOBILITY_STORAGE + + +

+

can use storage item

MOBILITY_UI + + +

+

can use interfaces like machinery

MOBILITY_USE + + +

+

can hold and use items

MOB_SPAWN_ALLOWED + + +

+

If mobs can be spawned by natural random generation

MOVETYPES_NOT_TOUCHING_GROUND + + +

+

Combination flag for movetypes which, for all intents and purposes, mean the mob is not touching the ground

NOJAUNT + + +

+

If a turf cant be jaunted through.

NOTELEPORT + + +

+

Are you forbidden from teleporting to the area? (centcom, mobs, wizard, hand teleporter)

NO_CLEARING + + +

+

This turf will never be cleared away by other objects on Initialize.

NO_DEATH_MESSAGE + + +

+

Mobs that die in this area don't produce a dead chat message

NO_LAVA_GEN + + +

+

Blocks lava rivers being generated on the turf.

NO_RUINS + + +

+

Blocks ruins spawning on the turf.

NO_RUST + + +

+

Blocks this turf from being rusted

NO_SCREENTIPS_1 + + +

+

Whether or not this atom shows screentips when hovered over

ON_BORDER_1 + + +

+

item has priority to check when entering or leaving

ON_FIRE + + +

+

currently burning

PERSISTENT_ENGRAVINGS + + +

+

If engravings are persistent in this area

PHASING + + +

+

When moving, will Cross() everything, but won't stop or Bump() anything.

PREVENT_CLICK_UNDER_1 + + +

+

Prevent clicking things below it on the same turf eg. doors/ fulltile windows

PREVENT_CONTENTS_EXPLOSION_1 + + +

+

should not get harmed if this gets caught by an explosion?

RESERVATION_TURF + + +

+

If a turf is a reserved turf

RICOCHET_HARD + + +

+

If the thing can reflect matter (bullets/bomb shrapnel)

RICOCHET_SHINY + + +

+

If the thing can reflect light (lasers/energy)

SPACEVINE_COLD_RESISTANT + + +

+

Is the spacevine / flower bud cold resistant

SPACEVINE_HEAT_RESISTANT + + +

+

Is the spacevine / flower bud heat resistant

SUPERMATTER_IGNORES_1 + + +

+

Is this atom immune to being dusted by the supermatter?

UNACIDABLE + + +

+

acid can't even appear on it, let alone melt it.

UNIQUE_AREA + + +

+

If false, loading multiple maps with this area type will create multiple instances.

UNPAINTABLE_1 + + +

+

Should this object be unpaintable?

UNUSED_RESERVATION_TURF + + +

+

If a turf is an usused reservation turf awaiting assignment

UPDATE_DESC + + +

+

Update the atom's desc

UPDATE_GREYSCALE + + +

+

Update the atom's greyscaling

UPDATE_ICON + + +

+

Update the atom's icon

UPDATE_ICON_STATE + + +

+

Update the atom's icon state

UPDATE_NAME + + +

+

Update the atom's name

UPDATE_OVERLAYS + + +

+

Update the atom's overlays

UPDATE_SMOOTHING + + +

+

Update the atom's smoothing. (More accurately, queue it for an update)

UPSIDE_DOWN + + +

+

The mob is walking on the ceiling. Or is generally just, upside down.

VALID_TERRITORY + + +

+

/////////////Area flags\\\\\\\ +If it's a valid territory for cult summoning or the CRAB-17 phone to spawn

XENOBIOLOGY_COMPATIBLE + + +

+

Can the Xenobio management console transverse this area by default?

ZAP_LOW_POWER_GEN + + +

+

Zaps with this flag will generate less power through tesla coils

+ + + diff --git a/code/__DEFINES/_helpers.html b/code/__DEFINES/_helpers.html new file mode 100644 index 00000000000..ec4f8eb3d31 --- /dev/null +++ b/code/__DEFINES/_helpers.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_helpers.dm + +

+ + + + + + +
STRINGIFYStringifies whatever you put into it.
subtypesofsubtypesof(), typesof() without the parent path
UNTILUntil a condition is true, sleep
SLEEP_NOT_DELSleep if we haven't been deleted +Otherwise, return
text_refTakes a datum as input, returns its ref string

Define Details

+

SLEEP_NOT_DEL + + + +

+

Sleep if we haven't been deleted +Otherwise, return

STRINGIFY + + + +

+

Stringifies whatever you put into it.

UNTIL + + + +

+

Until a condition is true, sleep

subtypesof + + + +

+

subtypesof(), typesof() without the parent path

text_ref + + + +

+

Takes a datum as input, returns its ref string

+ + + diff --git a/code/__DEFINES/_protect.html b/code/__DEFINES/_protect.html new file mode 100644 index 00000000000..6be310e203b --- /dev/null +++ b/code/__DEFINES/_protect.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/_protect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_protect.dm + +

+ + +
GENERAL_PROTECT_DATUMProtects a datum from being VV'd or spawned through admin manipulation

Define Details

+

GENERAL_PROTECT_DATUM + + + +

+

Protects a datum from being VV'd or spawned through admin manipulation

+ + + diff --git a/code/__DEFINES/_tick.html b/code/__DEFINES/_tick.html new file mode 100644 index 00000000000..279a6f4325e --- /dev/null +++ b/code/__DEFINES/_tick.html @@ -0,0 +1,87 @@ + + + + + + + code/__DEFINES/_tick.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/_tick.dm + +

+ + + + + + + + + + + + + +
MAPTICK_MC_MIN_RESERVEPercentage of tick to leave for master controller to run
TICK_BYOND_RESERVETick limit while running normally
TICK_LIMIT_TO_RUNTick limit used to resume things in stoplag
TICK_LIMIT_MCTick limit for MC while running
TICK_USAGEfor general usage of tick_usage
TICK_USAGE_REALto be used where the result isn't checked
TICK_CHECKReturns true if tick_usage is above the limit
CHECK_TICKruns stoplag if tick_usage is above the limit
RUNNING_BEFORE_MASTERChecks if a sleeping proc is running before or after the master controller
VERB_SHOULD_YIELDReturns true if a verb ought to yield to the MC (IE: queue up to be processed by a subsystem)
TICK_CHECK_HIGH_PRIORITYReturns true if tick usage is above 95, for high priority usage
CHECK_TICK_HIGH_PRIORITYruns stoplag if tick_usage is above 95, for high priority usage

Define Details

+

CHECK_TICK + + +

+

runs stoplag if tick_usage is above the limit

CHECK_TICK_HIGH_PRIORITY + + +

+

runs stoplag if tick_usage is above 95, for high priority usage

MAPTICK_MC_MIN_RESERVE + + +

+

Percentage of tick to leave for master controller to run

RUNNING_BEFORE_MASTER + + +

+

Checks if a sleeping proc is running before or after the master controller

TICK_BYOND_RESERVE + + +

+

Tick limit while running normally

TICK_CHECK + + +

+

Returns true if tick_usage is above the limit

TICK_CHECK_HIGH_PRIORITY + + +

+

Returns true if tick usage is above 95, for high priority usage

TICK_LIMIT_MC + + +

+

Tick limit for MC while running

TICK_LIMIT_TO_RUN + + +

+

Tick limit used to resume things in stoplag

TICK_USAGE + + +

+

for general usage of tick_usage

TICK_USAGE_REAL + + +

+

to be used where the result isn't checked

VERB_SHOULD_YIELD + + +

+

Returns true if a verb ought to yield to the MC (IE: queue up to be processed by a subsystem)

+ + + diff --git a/code/__DEFINES/access.html b/code/__DEFINES/access.html new file mode 100644 index 00000000000..9a1b75caff7 --- /dev/null +++ b/code/__DEFINES/access.html @@ -0,0 +1,814 @@ + + + + + + + code/__DEFINES/access.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/access.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ACCESS_COMMANDCommand General Access, typically used for accessing the doors to the bridge, as well as being the general access that Tablet/Computer Programs check for "heads".
ACCESS_AI_UPLOADAccess to the AI Upload Room Doors as well as the AI satellite. Also used for controlling the machinery in the AI Upload (turrets, foam dispensers)
ACCESS_TELEPORTERAccess to the Teleporter Room, and some cargo crates.
ACCESS_EVAAccess to the EVA Storage Room, and some cargo crates.
ACCESS_RC_ANNOUNCEAccess to make an announcement through the Requests Console found in an office.
ACCESS_KEYCARD_AUTHAccess used for events (Red Alert, BSA, Emergency Maintenance) which require at least two people to swipe at the same time to authorize it
ACCESS_MINISATAccess for the "minisat", but is actually used for the small maintenance cubicle some AI satellites may have.
ACCESS_NETWORKAccess used to run the NTNet Tablet Application WireCarp, which allows you to diagnose and view NTNet logging.
ACCESS_GATEWAYAccess used to access the Gateway Room, which will further lead you to get to Away Missions.
ACCESS_ALL_PERSONAL_LOCKERSAccess used to override "personal control" on a personal locker, meaning you are able to open any of those lockers/wardrobes.
ACCESS_CHANGE_IDSAccess used for Access-Changing Programs, this one will unlock all options that can be ever given via that program.
ACCESS_CAPTAINAccess used for the Captain's personal quarters in mapping, as well as what allows one to order emergency shuttles.
ACCESS_HOPAccess used for the Head of Personnel's personal quarters in mapping, as well as the security console and other HoP-related things.
ACCESS_SECURITYSecurity's General Access. In mapping, grants access to spaces such as to the "meeting room" or firing range, as well as being the general access that Tablet/Computer Programs check for "heads". Also unlocks other types of security equipment.
ACCESS_BRIG_ENTRANCEAccess that ONLY grants access to the front doors of the Brig. Never use this more for anything than that, please.
ACCESS_BRIGAccess to brig cells, brig timers, permabrig, gulag, gulag teleporter, gulag shuttle, prisoner management console, and some security cargo crates.
ACCESS_ARMORYAccess to the armory, security incinerator (when present), and the execution/re-education chamber.
ACCESS_COURTAccess to the "secure" portion of the courtroom, like where the judge and everyone sits..
ACCESS_WEAPONSThe "Weapons Permit" Access, or the one that lets you walk past secbots without them charging at you as you hold your weaponry.
ACCESS_HOSAccess used for the Head of Security's personal quarters in mapping, as well as other HoS-related things.
ACCESS_DETECTIVEAccess for the detective to get into their office, the medical data console, and some other detective-related stuff.
ACCESS_ENGINEERINGEngineering General Access, grants access to the standard parts of engineering (as well as the Supermatter and related equipment).
ACCESS_ATMOSPHERICSAccess to Atmospherics Sections of the Engineering Department, as well as air alarms.
ACCESS_MAINT_TUNNELSAccess to all maintenance tunnels on the station. This overrides any "departmental maintenance" access, this has free roaming range everywhere.
ACCESS_ENGINE_EQUIPAccess to get into APCs, engineering equipment lockers, typically mapped in for key power rooms across the station, engineering vending machines, emitters, and some other stuff.
ACCESS_CONSTRUCTIONAccess to "construction" areas of the station. However, in mapping, it's used to get access to the front door and lathe room of the engineering department.
ACCESS_TECH_STORAGEAccess to the technical storage room (contains all the boards and other miscellaneous engineering gear).
ACCESS_TCOMMSAccess to the telecomms satellite, machinery, and tablets.
ACCESS_AUX_BASEAccess to the Auxiliary Base Room, as well as the ability over launching it.
ACCESS_EXTERNAL_AIRLOCKSAccess to all external "space facing" airlocks on the station. Used such that people don't easily "jump ship", or restict free ingress/egress to only a few points on the station.
ACCESS_CEAccess for the Chief Engineer's personal quarters in mapping, as well as some other CE-related things.
ACCESS_MEDICALGeneral access to Medbay, like the front doors, the treatment center, the medical records console, defibrillator mounts, and more.
ACCESS_MORGUEAccess to the Morgue.
ACCESS_MORGUE_SECUREAccess to the secure morgue area.
ACCESS_PHARMACYAccess to the Pharmacy, or the smaller room in medical with the multiple chem dispensers and pill pressers. The Chemist's main position.
ACCESS_SURGERYAccess to the surgery rooms.
ACCESS_PLUMBINGAllows access to the larger room for Chemistry plumbing machinery setups.
ACCESS_VIROLOGYAccess to the Virology portion of the medical department, as well as the virology crate.
ACCESS_PSYCHOLOGYAccess to the Psychologist's office.
ACCESS_CMOAccess for the Chief Medical Officer's personal quarters in mapping, as well as some other CMO-related things.
ACCESS_CARGOGeneral access for Cargo, allows for entry to Cargo Bay and Cargo's Office.
ACCESS_SHIPPINGAccess to the Shipping and Mailing Rooms on several maps.
ACCESS_MINERAL_STOREROOMAccess for a room where the ORM may be kept, or to release materials from the ORM.
ACCESS_MININGAccess to the "on-station" Mining Portion of the Cargo Department.
ACCESS_MINING_STATIONAccess to the "off-station" Mining Station, which contains gear dedicated for miners to do their job best, as well as seek shelter from the inhospitable elements.
ACCESS_VAULTAccess to the vault on the station, for accessing the station's budget, the nuke core, or the Ore Silo.
ACCESS_QMAccess for the Quartermaster's personal quarters in mapping, as well as some other QM-related things.
ACCESS_BIT_DENAccess for the bitrunning den
ACCESS_SCIENCEGeneral access for Science, allows for entry to the general hallways of Science, as well as the main lathe room.
ACCESS_RESEARCHAccess to the specialized research experimentation rooms within Science, as well as what gives access to lockers and access to TechWeb programs.
ACCESS_ORDNANCEAccess to the Ordnance Mixing Lab and the Ordnance Bomb Range.
ACCESS_ORDNANCE_STORAGEAccess to the Ordnance Storage Room, where all of the bomb-making gases are stored.
ACCESS_GENETICSAccess to the Genetics division of Science.
ACCESS_ROBOTICSAccess to the Robotics division of Science, as well as opening up silicon cyborgs and other simple robots.
ACCESS_XENOBIOLOGYAccess to the Xenobiology division of Science.
ACCESS_RDAccess for the Research Director's personal quarters in mapping, as well as some other RD-related things.
ACCESS_SERVICEGeneral access for Service, allows for entry to the Service Hallway.
ACCESS_THEATREAccess to the Theatre, as well as other vending machines related to the theatre. Sometimes also used as the "clown's" access in code.
ACCESS_CHAPEL_OFFICEAccess to the Chaplain's office.
ACCESS_CREMATORIUMAccess to the chapel's crematorium.
ACCESS_LIBRARYAccess to the curator's private rooms in the Library and the trophy display cases, as well as access both into and out of the Library via Maintenance.
ACCESS_BARAccess to the Bar, the Bar's Backroom, the bar sign, the bar robot portal, and the bar's vending machines. Some other bar-things too.
ACCESS_KITCHENAccess to the Kitchen, the Kitchen's Coldroom, the kitchen's vending machines, and the food robot portal. Some other chef-things too.
ACCESS_HYDROPONICSAccess to the Botany Division of the station and some other Botanist things.
ACCESS_JANITORAccess to the Janitor's room, and some tablet apps for control of the station's janitorial equipment.
ACCESS_LAWYERAccess to the Lawyer's office.
ACCESS_AWAY_GENERAL
ACCESS_MECH_MINING
ACCESS_CENT_GENERAL
ACCESS_CENT_SPECOPSSpecial Ops. Captain's display case, Marauder and Seraph mechs. +Remind me to separate to captain, centcom, and syndicate mech access later -SonofSpace
ACCESS_SYNDICATE
ACCESS_BLOODCULTBLOODCULT
ACCESS_HUNTERHUNTERS
ACCESS_ALERT_ADMINS
LOG_ID_ACCESS_CHANGELogging define for ID card access changes
ACCESS_FLAG_COMMON_NAMEDisplayed name for Common ID card accesses.
ACCESS_FLAG_COMMONBitflag for Common ID card accesses. See COMMON_ACCESS.
ACCESS_FLAG_COMMAND_NAMEDisplayed name for Command ID card accesses.
ACCESS_FLAG_COMMANDBitflag for Command ID card accesses. See COMMAND_ACCESS.
ACCESS_FLAG_PRV_COMMAND_NAMEDisplayed name for Private Command ID card accesses.
ACCESS_FLAG_PRV_COMMANDBitflag for Private Command ID card accesses. See PRIVATE_COMMAND_ACCESS.
ACCESS_FLAG_CAPTAIN_NAMEDisplayed name for Captain ID card accesses.
ACCESS_FLAG_CAPTAINBitflag for Captain ID card accesses. See CAPTAIN_ACCESS.
ACCESS_FLAG_CENTCOM_NAMEDisplayed name for Centcom ID card accesses.
ACCESS_FLAG_CENTCOMBitflag for Centcom ID card accesses. See CENTCOM_ACCESS.
ACCESS_FLAG_SYNDICATE_NAMEDisplayed name for Syndicate ID card accesses.
ACCESS_FLAG_SYNDICATEBitflag for Syndicate ID card accesses. See SYNDICATE_ACCESS.
ACCESS_FLAG_AWAY_NAMEDisplayed name for Offstation/Ruin/Away Mission ID card accesses.
ACCESS_FLAG_AWAYBitflag for Offstation/Ruin/Away Mission ID card accesses. See AWAY_ACCESS.
ACCESS_FLAG_SPECIAL_NAMEDisplayed name for Special accesses that ordinaryily shouldn't be on ID cards.
ACCESS_FLAG_SPECIALBitflag for Special accesses that ordinaryily shouldn't be on ID cards. See CULT_ACCESS.
WILDCARD_FLAG_ALLThis wildcraft flag accepts any access level.
WILDCARD_NAME_ALLName associated with the all wildcard bitflag.
WILDCARD_FLAG_COMMONAccess flags that can be applied to common wildcard slots.
WILDCARD_NAME_COMMONName associated with the common wildcard bitflag.
WILDCARD_FLAG_COMMANDAccess flags that can be applied to command wildcard slots.
WILDCARD_NAME_COMMANDName associated with the command wildcard bitflag.
WILDCARD_FLAG_PRV_COMMANDAccess flags that can be applied to private command wildcard slots.
WILDCARD_NAME_PRV_COMMANDName associated with the private command wildcard bitflag.
WILDCARD_FLAG_CAPTAINAccess flags that can be applied to captain wildcard slots.
WILDCARD_NAME_CAPTAINName associated with the captain wildcard bitflag.
WILDCARD_FLAG_CENTCOMAccess flags that can be applied to centcom wildcard slots.
WILDCARD_NAME_CENTCOMName associated with the centcom wildcard bitflag.
WILDCARD_FLAG_SYNDICATEAccess flags that can be applied to syndicate wildcard slots.
WILDCARD_NAME_SYNDICATEName associated with the syndicate wildcard bitflag.
WILDCARD_FLAG_AWAYAccess flags that can be applied to offstation wildcard slots.
WILDCARD_NAME_AWAYName associated with the offstation wildcard bitflag.
WILDCARD_FLAG_SPECIALAccess flags that can be applied to super special weird wildcard slots.
WILDCARD_NAME_SPECIALName associated with the super special weird wildcard bitflag.
WILDCARD_FLAG_FORCEDAccess flag that indicates a wildcard was forced onto an ID card.
WILDCARD_NAME_FORCEDName associated with the wildcard bitflag that covers wildcards that have been forced onto an ID card that could not accept them.
COMMON_ACCESSDepartmental/general/common area accesses. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMON)
COMMAND_ACCESSCommand staff/secure accesses, think bridge/armoury, ai_upload, notably access to modify ID cards themselves. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMAND)
PRIVATE_COMMAND_ACCESSPrivate head of staff offices, usually only granted to most cards by trimming. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_PRV_COMMAND)
CAPTAIN_ACCESSCaptains private rooms. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CAPTAIN)
CENTCOM_ACCESSCentcom area stuff. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CENTCOM)
SYNDICATE_ACCESSSyndicate areas off station. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SYNDICATE)
AWAY_ACCESSAway missions/gateway/space ruins. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_AWAY)
CULT_ACCESSWeird internal Cult access that prevents non-cult from using their doors. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SPECIAL)
REGION_ALL_GLOBALName for the Global region.
REGION_ACCESS_ALL_GLOBALUsed to seed the accesses_by_region list in SSid_access. A list of every single access in the game.
REGION_ALL_STATIONName for the Station All Access region.
REGION_ACCESS_ALL_STATIONUsed to seed the accesses_by_region list in SSid_access. A list of all station accesses.
REGION_GENERALName for the General region.
REGION_ACCESS_GENERALUsed to seed the accesses_by_region list in SSid_access. A list of general service accesses that are overseen by the HoP.
REGION_SECURITYName for the Security region.
REGION_ACCESS_SECURITYUsed to seed the accesses_by_region list in SSid_access. A list of all security regional accesses that are overseen by the HoS.
REGION_MEDBAYName for the Medbay region.
REGION_ACCESS_MEDBAYUsed to seed the accesses_by_region list in SSid_access. A list of all medbay regional accesses that are overseen by the CMO.
REGION_RESEARCHName for the Research region.
REGION_ACCESS_RESEARCHUsed to seed the accesses_by_region list in SSid_access. A list of all research regional accesses that are overseen by the RD.
REGION_ENGINEERINGName for the Engineering region.
REGION_ACCESS_ENGINEERINGUsed to seed the accesses_by_region list in SSid_access. A list of all engineering regional accesses that are overseen by the CE.
REGION_SUPPLYName for the Supply region.
REGION_ACCESS_SUPPLYUsed to seed the accesses_by_region list in SSid_access. A list of all cargo regional accesses that are overseen by the HoP.
REGION_COMMANDName for the Command region.
REGION_ACCESS_COMMANDUsed to seed the accesses_by_region list in SSid_access. A list of all command regional accesses that are overseen by the Captain.
REGION_CENTCOMName for the Centcom region.
REGION_ACCESS_CENTCOMUsed to seed the accesses_by_region list in SSid_access. A list of all CENTCOM_ACCESS regional accesses.
PDA_PAINTING_REGIONSA list of PDA paths that can be painted as well as the regional heads which should be able to paint them. +If a PDA is not in this list, it cannot be painted using the PDA & ID Painter. +If a PDA is in this list, it can always be painted with ACCESS_CHANGE_IDS. +Used to see pda_region in /datum/controller/subsystem/id_access/proc/setup_tgui_lists
REGION_AREA_STATIONAll regions that make up the station area. Helper define to quickly designate a region as part of the station or not. Access via SSid_access.station_regions.
TRY_ADD_ALLUsed in ID card access adding procs. Will try to add all accesses and utilises free wildcards, skipping over any accesses it can't add.
TRY_ADD_ALL_NO_WILDCARDUsed in ID card access adding procs. Will try to add all accesses and does not utilise wildcards, skipping anything requiring a wildcard.
FORCE_ADD_ALLUsed in ID card access adding procs. Will forcefully add all accesses.
ERROR_ON_FAILUsed in ID card access adding procs. Will stack trace on fail.

Define Details

+

ACCESS_AI_UPLOAD + + +

+

Access to the AI Upload Room Doors as well as the AI satellite. Also used for controlling the machinery in the AI Upload (turrets, foam dispensers)

ACCESS_ALERT_ADMINS + + +

+

ACCESS_ALL_PERSONAL_LOCKERS + + +

+

Access used to override "personal control" on a personal locker, meaning you are able to open any of those lockers/wardrobes.

ACCESS_ARMORY + + +

+

Access to the armory, security incinerator (when present), and the execution/re-education chamber.

ACCESS_ATMOSPHERICS + + +

+

Access to Atmospherics Sections of the Engineering Department, as well as air alarms.

ACCESS_AUX_BASE + + +

+

Access to the Auxiliary Base Room, as well as the ability over launching it.

ACCESS_AWAY_GENERAL + + +

+

ACCESS_BAR + + +

+

Access to the Bar, the Bar's Backroom, the bar sign, the bar robot portal, and the bar's vending machines. Some other bar-things too.

ACCESS_BIT_DEN + + +

+

Access for the bitrunning den

ACCESS_BLOODCULT + + +

+

BLOODCULT

ACCESS_BRIG + + +

+

Access to brig cells, brig timers, permabrig, gulag, gulag teleporter, gulag shuttle, prisoner management console, and some security cargo crates.

ACCESS_BRIG_ENTRANCE + + +

+

Access that ONLY grants access to the front doors of the Brig. Never use this more for anything than that, please.

ACCESS_CAPTAIN + + +

+

Access used for the Captain's personal quarters in mapping, as well as what allows one to order emergency shuttles.

ACCESS_CARGO + + +

+

General access for Cargo, allows for entry to Cargo Bay and Cargo's Office.

ACCESS_CE + + +

+

Access for the Chief Engineer's personal quarters in mapping, as well as some other CE-related things.

ACCESS_CENT_GENERAL + + +

+

ACCESS_CENT_SPECOPS + + +

+

Special Ops. Captain's display case, Marauder and Seraph mechs. +Remind me to separate to captain, centcom, and syndicate mech access later -SonofSpace

ACCESS_CHANGE_IDS + + +

+

Access used for Access-Changing Programs, this one will unlock all options that can be ever given via that program.

ACCESS_CHAPEL_OFFICE + + +

+

Access to the Chaplain's office.

ACCESS_CMO + + +

+

Access for the Chief Medical Officer's personal quarters in mapping, as well as some other CMO-related things.

ACCESS_COMMAND + + +

+

Command General Access, typically used for accessing the doors to the bridge, as well as being the general access that Tablet/Computer Programs check for "heads".

ACCESS_CONSTRUCTION + + +

+

Access to "construction" areas of the station. However, in mapping, it's used to get access to the front door and lathe room of the engineering department.

ACCESS_COURT + + +

+

Access to the "secure" portion of the courtroom, like where the judge and everyone sits..

ACCESS_CREMATORIUM + + +

+

Access to the chapel's crematorium.

ACCESS_DETECTIVE + + +

+

Access for the detective to get into their office, the medical data console, and some other detective-related stuff.

ACCESS_ENGINEERING + + +

+

Engineering General Access, grants access to the standard parts of engineering (as well as the Supermatter and related equipment).

ACCESS_ENGINE_EQUIP + + +

+

Access to get into APCs, engineering equipment lockers, typically mapped in for key power rooms across the station, engineering vending machines, emitters, and some other stuff.

ACCESS_EVA + + +

+

Access to the EVA Storage Room, and some cargo crates.

ACCESS_EXTERNAL_AIRLOCKS + + +

+

Access to all external "space facing" airlocks on the station. Used such that people don't easily "jump ship", or restict free ingress/egress to only a few points on the station.

ACCESS_FLAG_AWAY + + +

+

Bitflag for Offstation/Ruin/Away Mission ID card accesses. See AWAY_ACCESS.

ACCESS_FLAG_AWAY_NAME + + +

+

Displayed name for Offstation/Ruin/Away Mission ID card accesses.

ACCESS_FLAG_CAPTAIN + + +

+

Bitflag for Captain ID card accesses. See CAPTAIN_ACCESS.

ACCESS_FLAG_CAPTAIN_NAME + + +

+

Displayed name for Captain ID card accesses.

ACCESS_FLAG_CENTCOM + + +

+

Bitflag for Centcom ID card accesses. See CENTCOM_ACCESS.

ACCESS_FLAG_CENTCOM_NAME + + +

+

Displayed name for Centcom ID card accesses.

ACCESS_FLAG_COMMAND + + +

+

Bitflag for Command ID card accesses. See COMMAND_ACCESS.

ACCESS_FLAG_COMMAND_NAME + + +

+

Displayed name for Command ID card accesses.

ACCESS_FLAG_COMMON + + +

+

Bitflag for Common ID card accesses. See COMMON_ACCESS.

ACCESS_FLAG_COMMON_NAME + + +

+

Displayed name for Common ID card accesses.

ACCESS_FLAG_PRV_COMMAND + + +

+

Bitflag for Private Command ID card accesses. See PRIVATE_COMMAND_ACCESS.

ACCESS_FLAG_PRV_COMMAND_NAME + + +

+

Displayed name for Private Command ID card accesses.

ACCESS_FLAG_SPECIAL + + +

+

Bitflag for Special accesses that ordinaryily shouldn't be on ID cards. See CULT_ACCESS.

ACCESS_FLAG_SPECIAL_NAME + + +

+

Displayed name for Special accesses that ordinaryily shouldn't be on ID cards.

ACCESS_FLAG_SYNDICATE + + +

+

Bitflag for Syndicate ID card accesses. See SYNDICATE_ACCESS.

ACCESS_FLAG_SYNDICATE_NAME + + +

+

Displayed name for Syndicate ID card accesses.

ACCESS_GATEWAY + + +

+

Access used to access the Gateway Room, which will further lead you to get to Away Missions.

ACCESS_GENETICS + + +

+

Access to the Genetics division of Science.

ACCESS_HOP + + +

+

Access used for the Head of Personnel's personal quarters in mapping, as well as the security console and other HoP-related things.

ACCESS_HOS + + +

+

Access used for the Head of Security's personal quarters in mapping, as well as other HoS-related things.

ACCESS_HUNTER + + +

+

HUNTERS

ACCESS_HYDROPONICS + + +

+

Access to the Botany Division of the station and some other Botanist things.

ACCESS_JANITOR + + +

+

Access to the Janitor's room, and some tablet apps for control of the station's janitorial equipment.

ACCESS_KEYCARD_AUTH + + +

+

Access used for events (Red Alert, BSA, Emergency Maintenance) which require at least two people to swipe at the same time to authorize it

ACCESS_KITCHEN + + +

+

Access to the Kitchen, the Kitchen's Coldroom, the kitchen's vending machines, and the food robot portal. Some other chef-things too.

ACCESS_LAWYER + + +

+

Access to the Lawyer's office.

ACCESS_LIBRARY + + +

+

Access to the curator's private rooms in the Library and the trophy display cases, as well as access both into and out of the Library via Maintenance.

ACCESS_MAINT_TUNNELS + + +

+

Access to all maintenance tunnels on the station. This overrides any "departmental maintenance" access, this has free roaming range everywhere.

ACCESS_MECH_MINING + + +

+

ACCESS_MEDICAL + + +

+

General access to Medbay, like the front doors, the treatment center, the medical records console, defibrillator mounts, and more.

ACCESS_MINERAL_STOREROOM + + +

+

Access for a room where the ORM may be kept, or to release materials from the ORM.

ACCESS_MINING + + +

+

Access to the "on-station" Mining Portion of the Cargo Department.

ACCESS_MINING_STATION + + +

+

Access to the "off-station" Mining Station, which contains gear dedicated for miners to do their job best, as well as seek shelter from the inhospitable elements.

ACCESS_MINISAT + + +

+

Access for the "minisat", but is actually used for the small maintenance cubicle some AI satellites may have.

ACCESS_MORGUE + + +

+

Access to the Morgue.

ACCESS_MORGUE_SECURE + + +

+

Access to the secure morgue area.

ACCESS_NETWORK + + +

+

Access used to run the NTNet Tablet Application WireCarp, which allows you to diagnose and view NTNet logging.

ACCESS_ORDNANCE + + +

+

Access to the Ordnance Mixing Lab and the Ordnance Bomb Range.

ACCESS_ORDNANCE_STORAGE + + +

+

Access to the Ordnance Storage Room, where all of the bomb-making gases are stored.

ACCESS_PHARMACY + + +

+

Access to the Pharmacy, or the smaller room in medical with the multiple chem dispensers and pill pressers. The Chemist's main position.

ACCESS_PLUMBING + + +

+

Allows access to the larger room for Chemistry plumbing machinery setups.

ACCESS_PSYCHOLOGY + + +

+

Access to the Psychologist's office.

ACCESS_QM + + +

+

Access for the Quartermaster's personal quarters in mapping, as well as some other QM-related things.

ACCESS_RC_ANNOUNCE + + +

+

Access to make an announcement through the Requests Console found in an office.

ACCESS_RD + + +

+

Access for the Research Director's personal quarters in mapping, as well as some other RD-related things.

ACCESS_RESEARCH + + +

+

Access to the specialized research experimentation rooms within Science, as well as what gives access to lockers and access to TechWeb programs.

ACCESS_ROBOTICS + + +

+

Access to the Robotics division of Science, as well as opening up silicon cyborgs and other simple robots.

ACCESS_SCIENCE + + +

+

General access for Science, allows for entry to the general hallways of Science, as well as the main lathe room.

ACCESS_SECURITY + + +

+

Security's General Access. In mapping, grants access to spaces such as to the "meeting room" or firing range, as well as being the general access that Tablet/Computer Programs check for "heads". Also unlocks other types of security equipment.

ACCESS_SERVICE + + +

+

General access for Service, allows for entry to the Service Hallway.

ACCESS_SHIPPING + + +

+

Access to the Shipping and Mailing Rooms on several maps.

ACCESS_SURGERY + + +

+

Access to the surgery rooms.

ACCESS_SYNDICATE + + +

+

ACCESS_TCOMMS + + +

+

Access to the telecomms satellite, machinery, and tablets.

ACCESS_TECH_STORAGE + + +

+

Access to the technical storage room (contains all the boards and other miscellaneous engineering gear).

ACCESS_TELEPORTER + + +

+

Access to the Teleporter Room, and some cargo crates.

ACCESS_THEATRE + + +

+

Access to the Theatre, as well as other vending machines related to the theatre. Sometimes also used as the "clown's" access in code.

ACCESS_VAULT + + +

+

Access to the vault on the station, for accessing the station's budget, the nuke core, or the Ore Silo.

ACCESS_VIROLOGY + + +

+

Access to the Virology portion of the medical department, as well as the virology crate.

ACCESS_WEAPONS + + +

+

The "Weapons Permit" Access, or the one that lets you walk past secbots without them charging at you as you hold your weaponry.

ACCESS_XENOBIOLOGY + + +

+

Access to the Xenobiology division of Science.

AWAY_ACCESS + + +

+

Away missions/gateway/space ruins. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_AWAY)

CAPTAIN_ACCESS + + +

+

Captains private rooms. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CAPTAIN)

CENTCOM_ACCESS + + +

+

Centcom area stuff. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_CENTCOM)

COMMAND_ACCESS + + +

+

Command staff/secure accesses, think bridge/armoury, ai_upload, notably access to modify ID cards themselves. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMAND)

COMMON_ACCESS + + +

+

Departmental/general/common area accesses. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_COMMON)

CULT_ACCESS + + +

+

Weird internal Cult access that prevents non-cult from using their doors. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SPECIAL)

ERROR_ON_FAIL + + +

+

Used in ID card access adding procs. Will stack trace on fail.

FORCE_ADD_ALL + + +

+

Used in ID card access adding procs. Will forcefully add all accesses.

LOG_ID_ACCESS_CHANGE + + + +

+

Logging define for ID card access changes

PDA_PAINTING_REGIONS + + +

+

A list of PDA paths that can be painted as well as the regional heads which should be able to paint them. +If a PDA is not in this list, it cannot be painted using the PDA & ID Painter. +If a PDA is in this list, it can always be painted with ACCESS_CHANGE_IDS. +Used to see pda_region in /datum/controller/subsystem/id_access/proc/setup_tgui_lists

PRIVATE_COMMAND_ACCESS + + +

+

Private head of staff offices, usually only granted to most cards by trimming. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_PRV_COMMAND)

REGION_ACCESS_ALL_GLOBAL + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of every single access in the game.

REGION_ACCESS_ALL_STATION + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all station accesses.

REGION_ACCESS_CENTCOM + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all CENTCOM_ACCESS regional accesses.

REGION_ACCESS_COMMAND + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all command regional accesses that are overseen by the Captain.

REGION_ACCESS_ENGINEERING + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all engineering regional accesses that are overseen by the CE.

REGION_ACCESS_GENERAL + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of general service accesses that are overseen by the HoP.

REGION_ACCESS_MEDBAY + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all medbay regional accesses that are overseen by the CMO.

REGION_ACCESS_RESEARCH + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all research regional accesses that are overseen by the RD.

REGION_ACCESS_SECURITY + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all security regional accesses that are overseen by the HoS.

REGION_ACCESS_SUPPLY + + +

+

Used to seed the accesses_by_region list in SSid_access. A list of all cargo regional accesses that are overseen by the HoP.

REGION_ALL_GLOBAL + + +

+

Name for the Global region.

REGION_ALL_STATION + + +

+

Name for the Station All Access region.

REGION_AREA_STATION + + +

+

All regions that make up the station area. Helper define to quickly designate a region as part of the station or not. Access via SSid_access.station_regions.

REGION_CENTCOM + + +

+

Name for the Centcom region.

REGION_COMMAND + + +

+

Name for the Command region.

REGION_ENGINEERING + + +

+

Name for the Engineering region.

REGION_GENERAL + + +

+

Name for the General region.

REGION_MEDBAY + + +

+

Name for the Medbay region.

REGION_RESEARCH + + +

+

Name for the Research region.

REGION_SECURITY + + +

+

Name for the Security region.

REGION_SUPPLY + + +

+

Name for the Supply region.

SYNDICATE_ACCESS + + +

+

Syndicate areas off station. Do not use direct, access via SSid_access.get_flag_access_list(ACCESS_FLAG_SYNDICATE)

TRY_ADD_ALL + + +

+

Used in ID card access adding procs. Will try to add all accesses and utilises free wildcards, skipping over any accesses it can't add.

TRY_ADD_ALL_NO_WILDCARD + + +

+

Used in ID card access adding procs. Will try to add all accesses and does not utilise wildcards, skipping anything requiring a wildcard.

WILDCARD_FLAG_ALL + + +

+

This wildcraft flag accepts any access level.

WILDCARD_FLAG_AWAY + + +

+

Access flags that can be applied to offstation wildcard slots.

WILDCARD_FLAG_CAPTAIN + + +

+

Access flags that can be applied to captain wildcard slots.

WILDCARD_FLAG_CENTCOM + + +

+

Access flags that can be applied to centcom wildcard slots.

WILDCARD_FLAG_COMMAND + + +

+

Access flags that can be applied to command wildcard slots.

WILDCARD_FLAG_COMMON + + +

+

Access flags that can be applied to common wildcard slots.

WILDCARD_FLAG_FORCED + + +

+

Access flag that indicates a wildcard was forced onto an ID card.

WILDCARD_FLAG_PRV_COMMAND + + +

+

Access flags that can be applied to private command wildcard slots.

WILDCARD_FLAG_SPECIAL + + +

+

Access flags that can be applied to super special weird wildcard slots.

WILDCARD_FLAG_SYNDICATE + + +

+

Access flags that can be applied to syndicate wildcard slots.

WILDCARD_NAME_ALL + + +

+

Name associated with the all wildcard bitflag.

WILDCARD_NAME_AWAY + + +

+

Name associated with the offstation wildcard bitflag.

WILDCARD_NAME_CAPTAIN + + +

+

Name associated with the captain wildcard bitflag.

WILDCARD_NAME_CENTCOM + + +

+

Name associated with the centcom wildcard bitflag.

WILDCARD_NAME_COMMAND + + +

+

Name associated with the command wildcard bitflag.

WILDCARD_NAME_COMMON + + +

+

Name associated with the common wildcard bitflag.

WILDCARD_NAME_FORCED + + +

+

Name associated with the wildcard bitflag that covers wildcards that have been forced onto an ID card that could not accept them.

WILDCARD_NAME_PRV_COMMAND + + +

+

Name associated with the private command wildcard bitflag.

WILDCARD_NAME_SPECIAL + + +

+

Name associated with the super special weird wildcard bitflag.

WILDCARD_NAME_SYNDICATE + + +

+

Name associated with the syndicate wildcard bitflag.

+ + + diff --git a/code/__DEFINES/achievements.html b/code/__DEFINES/achievements.html new file mode 100644 index 00000000000..e71c2e8c5fc --- /dev/null +++ b/code/__DEFINES/achievements.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/achievements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/achievements.dm + +

+ + + + +
ACHIEVEMENTS_SETAchievements icon set
CHEEVO_SOUND_TADApreferences for the sound played when unlocking an achievement
ACHIEVEMENTS_SCOREDB ID for the amount of achievements unlocked by the player.

Define Details

+

ACHIEVEMENTS_SCORE + + +

+

DB ID for the amount of achievements unlocked by the player.

ACHIEVEMENTS_SET + + +

+

Achievements icon set

CHEEVO_SOUND_TADA + + +

+

preferences for the sound played when unlocking an achievement

+ + + diff --git a/code/__DEFINES/acid.html b/code/__DEFINES/acid.html new file mode 100644 index 00000000000..28a0fe2b39a --- /dev/null +++ b/code/__DEFINES/acid.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/acid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/acid.dm + +

+ + + + + + + + + +
ACID_POWER_MELT_TURFThe acid power required to destroy most closed turfs.
MOVABLE_ACID_DAMAGE_MAXThe maximum amount of damage (per second) acid can deal to an /obj.
MOVABLE_ACID_VOLUME_MAXMaximum acid volume that can be applied to an /obj.
MOB_ACID_VOLUME_MAXMaximum acid volume that can be applied to a /mob/living.
TURF_ACID_VOLUME_MAXMaximum acid volume that can be applied to a /turf.
ACID_DECAY_BASEThe constant factor for the acid decay rate.
ACID_DECAY_SCALINGThe scaling factor for the acid decay rate.
ACID_LEVEL_HANDBURNThe combined acid power and acid volume required to burn hands.

Define Details

+

ACID_DECAY_BASE + + +

+

The constant factor for the acid decay rate.

ACID_DECAY_SCALING + + +

+

The scaling factor for the acid decay rate.

ACID_LEVEL_HANDBURN + + +

+

The combined acid power and acid volume required to burn hands.

ACID_POWER_MELT_TURF + + +

+

The acid power required to destroy most closed turfs.

MOB_ACID_VOLUME_MAX + + +

+

Maximum acid volume that can be applied to a /mob/living.

MOVABLE_ACID_DAMAGE_MAX + + +

+

The maximum amount of damage (per second) acid can deal to an /obj.

MOVABLE_ACID_VOLUME_MAX + + +

+

Maximum acid volume that can be applied to an /obj.

TURF_ACID_VOLUME_MAX + + +

+

Maximum acid volume that can be applied to a /turf.

+ + + diff --git a/code/__DEFINES/actions.html b/code/__DEFINES/actions.html new file mode 100644 index 00000000000..6cc635eb5e8 --- /dev/null +++ b/code/__DEFINES/actions.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/actions.dm + +

+ + + + + + + + + + + + + +
AB_CHECK_HANDS_BLOCKEDAction button checks if hands are unusable
AB_CHECK_IMMOBILEAction button checks if user is immobile
AB_CHECK_LYINGAction button checks if user is resting
AB_CHECK_CONSCIOUSAction button checks if user is conscious
AB_CHECK_INCAPACITATEDAction button checks if user is incapacitated
AB_CHECK_PHASEDAction button checks if user is jaunting
TRIGGER_SECONDARY_ACTIONAction button triggered with right click
TRIGGER_FORCE_AVAILABLEAction triggered to ignore any availability checks
PANEL_DISPLAY_PANELThe stat panel the action is displayed in.
PANEL_DISPLAY_STATUSThe status shown in the stat panel. +Can be stuff like "ready", "on cooldown", "active", "charges", "charge cost", etc.
PANEL_DISPLAY_NAMEThe name shown in the stat panel.
GRANT_ACTIONTakes in a typepath of a /datum/action and adds it to src. +Only useful if you want to add the action and never desire to reference it again ever.

Define Details

+

AB_CHECK_CONSCIOUS + + +

+

Action button checks if user is conscious

AB_CHECK_HANDS_BLOCKED + + +

+

Action button checks if hands are unusable

AB_CHECK_IMMOBILE + + +

+

Action button checks if user is immobile

AB_CHECK_INCAPACITATED + + +

+

Action button checks if user is incapacitated

AB_CHECK_LYING + + +

+

Action button checks if user is resting

AB_CHECK_PHASED + + +

+

Action button checks if user is jaunting

GRANT_ACTION + + + +

+

Takes in a typepath of a /datum/action and adds it to src. +Only useful if you want to add the action and never desire to reference it again ever.

PANEL_DISPLAY_NAME + + +

+

The name shown in the stat panel.

PANEL_DISPLAY_PANEL + + +

+

The stat panel the action is displayed in.

PANEL_DISPLAY_STATUS + + +

+

The status shown in the stat panel. +Can be stuff like "ready", "on cooldown", "active", "charges", "charge cost", etc.

TRIGGER_FORCE_AVAILABLE + + +

+

Action triggered to ignore any availability checks

TRIGGER_SECONDARY_ACTION + + +

+

Action button triggered with right click

+ + + diff --git a/code/__DEFINES/admin.html b/code/__DEFINES/admin.html new file mode 100644 index 00000000000..a981a1f1ba5 --- /dev/null +++ b/code/__DEFINES/admin.html @@ -0,0 +1,147 @@ + + + + + + + code/__DEFINES/admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/admin.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
BANTYPE_ANY_FULLBANused to locate stuff to unban.
BANTYPE_ANY_JOBused to remove jobbans
ADMIN_SHOW_PAPERDisplays "(SHOW)" in the chat, when clicked it tries to show atom(paper). First you need to set the request_state variable to TRUE for the paper.
ADMIN_PLAY_INTERNETDisplays "(PLAY)" in the chat, when clicked it tries to play internet sounds from the request.
ADMIN_SEE_ZLEVEL_LAYOUTDisplays "(SEE Z-LEVEL LAYOUT)" in the chat, when clicked it shows the z-level layouts for the current world state.
ROUNDSTART_LOGOUT_REPORT_TIMEAmount of time after the round starts that the player disconnect report is issued.
ROUNDSTART_LOGOUT_AFK_THRESHOLDThreshold in minutes for counting a player as AFK on the roundstart report.
SPAM_TRIGGER_WARNINGNumber of identical messages required before the spam-prevention will warn you to stfu
SPAM_TRIGGER_AUTOMUTENumber of identical messages required before the spam-prevention will automute you
MAX_KEYPRESS_COMMANDLENGTHMax length of a keypress command before it's considered to be a forged packet/bogus command
MAX_COMMANDS_PER_KEYMaximum keys that can be bound to one button
MAX_KEYPRESS_AUTOKICKMax amount of keypress messages per second over two seconds before client is autokicked
HELD_KEY_BUFFER_LENGTHLength of held key buffer
POLICY_POLYMORPHReference index for policy.json to locate any policy text applicable to polymorphed/staff of changed mobs.
POLICY_VERB_HEADERReference index for policy.json to locate any policy text that is shown as a header in the OOC > Show Policy verb.
ASAY_LINK_NEW_MESSAGE_INDEXfor /proc/check_asay_links, if there are any actionable refs in the asay message, this index in the return list contains the new message text to be printed
ASAY_LINK_PINGED_ADMINS_INDEXfor /proc/check_asay_links, if there are any admin pings in the asay message, this index in the return list contains a list of admins to ping
BAN_PANEL_PERMANENTWhen passed in as the duration for ban_panel, will make the ban default to permanent
NO_FEEDBACK_LINKA value for /datum/admins/cached_feedback_link to indicate empty, rather than unobtained
INTERVIEW_APPROVEDState when an interview has been approved
INTERVIEW_DENIEDState when an interview as been denied
INTERVIEW_PENDINGState when an interview has had no action on it yet
BLACKBOX_LOG_ADMIN_VERBUsed in logging uses of admin verbs (and sometimes some non-admin or debug verbs) to the blackbox +Only pass it a string key, the verb being used.

Define Details

+

ADMIN_PLAY_INTERNET + + + +

+

Displays "(PLAY)" in the chat, when clicked it tries to play internet sounds from the request.

ADMIN_SEE_ZLEVEL_LAYOUT + + +

+

Displays "(SEE Z-LEVEL LAYOUT)" in the chat, when clicked it shows the z-level layouts for the current world state.

ADMIN_SHOW_PAPER + + + +

+

Displays "(SHOW)" in the chat, when clicked it tries to show atom(paper). First you need to set the request_state variable to TRUE for the paper.

+

for /proc/check_asay_links, if there are any actionable refs in the asay message, this index in the return list contains the new message text to be printed

+

for /proc/check_asay_links, if there are any admin pings in the asay message, this index in the return list contains a list of admins to ping

BANTYPE_ANY_FULLBAN + + +

+

used to locate stuff to unban.

BANTYPE_ANY_JOB + + +

+

used to remove jobbans

BAN_PANEL_PERMANENT + + +

+

When passed in as the duration for ban_panel, will make the ban default to permanent

BLACKBOX_LOG_ADMIN_VERB + + + +

+

Used in logging uses of admin verbs (and sometimes some non-admin or debug verbs) to the blackbox +Only pass it a string key, the verb being used.

HELD_KEY_BUFFER_LENGTH + + +

+

Length of held key buffer

INTERVIEW_APPROVED + + +

+

State when an interview has been approved

INTERVIEW_DENIED + + +

+

State when an interview as been denied

INTERVIEW_PENDING + + +

+

State when an interview has had no action on it yet

MAX_COMMANDS_PER_KEY + + +

+

Maximum keys that can be bound to one button

MAX_KEYPRESS_AUTOKICK + + +

+

Max amount of keypress messages per second over two seconds before client is autokicked

MAX_KEYPRESS_COMMANDLENGTH + + +

+

Max length of a keypress command before it's considered to be a forged packet/bogus command

+

A value for /datum/admins/cached_feedback_link to indicate empty, rather than unobtained

POLICY_POLYMORPH + + +

+

Reference index for policy.json to locate any policy text applicable to polymorphed/staff of changed mobs.

POLICY_VERB_HEADER + + +

+

Reference index for policy.json to locate any policy text that is shown as a header in the OOC > Show Policy verb.

ROUNDSTART_LOGOUT_AFK_THRESHOLD + + +

+

Threshold in minutes for counting a player as AFK on the roundstart report.

ROUNDSTART_LOGOUT_REPORT_TIME + + +

+

Amount of time after the round starts that the player disconnect report is issued.

SPAM_TRIGGER_AUTOMUTE + + +

+

Number of identical messages required before the spam-prevention will automute you

SPAM_TRIGGER_WARNING + + +

+

Number of identical messages required before the spam-prevention will warn you to stfu

+ + + diff --git a/code/__DEFINES/adventure.html b/code/__DEFINES/adventure.html new file mode 100644 index 00000000000..2e9e51c324b --- /dev/null +++ b/code/__DEFINES/adventure.html @@ -0,0 +1,134 @@ + + + + + + + code/__DEFINES/adventure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/adventure.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
WIN_NODEVictory node - Get loot and exit
FAIL_NODEFailure node - No loot, get damaged and exit.
FAIL_DEATH_NODEFailure node - No loot and drone blown up.
GO_BACK_NODEReturn node - navigates to previous adventure node.
EXODRONE_IDLEDrone is stationside - allow changing tools and such.
EXODRONE_TRAVELDrone is traveling from or to the exploration site
EXODRONE_BUSYDrone is in adventure/event caused timeout
EXODRONE_EXPLORATIONDrone is at exploration site either idle or in simple event
EXODRONE_ADVENTUREDrone is currently playing an adventure
EXPLORATION_SITE_RUINSSome kind of ruined interior
EXPLORATION_SITE_TECHNOLOGYPower, wires and machinery present.
EXPLORATION_SITE_STATIONIt's a space station
EXPLORATION_SITE_ALIENIt's ancient alien site
EXPLORATION_SITE_HABITABLECarbon-based life-forms can live here
EXPLORATION_SITE_SPACESite is in space
EXPLORATION_SITE_SURFACESite is located on planet/moon/whatever surface
EXPLORATION_SITE_SHIPSite is a space ship
EXPLORATION_SITE_CIVILIZEDSite is civilized and populated, trading stations,cities etc. Lack of this trait means it's wilderness
EXOSCAN_WIDEScan types
ADVENTURE_EFFECT_TYPE_REMOVEAdventure Effect Types
ADVENTURE_QUALITY_TYPE_RANDOMAdventure Effect Value Types +rolls value between low and high inclusive

Define Details

+

ADVENTURE_EFFECT_TYPE_REMOVE + + +

+

Adventure Effect Types

ADVENTURE_QUALITY_TYPE_RANDOM + + +

+

Adventure Effect Value Types +rolls value between low and high inclusive

EXODRONE_ADVENTURE + + +

+

Drone is currently playing an adventure

EXODRONE_BUSY + + +

+

Drone is in adventure/event caused timeout

EXODRONE_EXPLORATION + + +

+

Drone is at exploration site either idle or in simple event

EXODRONE_IDLE + + +

+

Drone is stationside - allow changing tools and such.

EXODRONE_TRAVEL + + +

+

Drone is traveling from or to the exploration site

EXOSCAN_WIDE + + +

+

Scan types

EXPLORATION_SITE_ALIEN + + +

+

It's ancient alien site

EXPLORATION_SITE_CIVILIZED + + +

+

Site is civilized and populated, trading stations,cities etc. Lack of this trait means it's wilderness

EXPLORATION_SITE_HABITABLE + + +

+

Carbon-based life-forms can live here

EXPLORATION_SITE_RUINS + + +

+

Some kind of ruined interior

EXPLORATION_SITE_SHIP + + +

+

Site is a space ship

EXPLORATION_SITE_SPACE + + +

+

Site is in space

EXPLORATION_SITE_STATION + + +

+

It's a space station

EXPLORATION_SITE_SURFACE + + +

+

Site is located on planet/moon/whatever surface

EXPLORATION_SITE_TECHNOLOGY + + +

+

Power, wires and machinery present.

FAIL_DEATH_NODE + + +

+

Failure node - No loot and drone blown up.

FAIL_NODE + + +

+

Failure node - No loot, get damaged and exit.

GO_BACK_NODE + + +

+

Return node - navigates to previous adventure node.

WIN_NODE + + +

+

Victory node - Get loot and exit

+ + + diff --git a/code/__DEFINES/ai/ai.html b/code/__DEFINES/ai/ai.html new file mode 100644 index 00000000000..9d989da56c8 --- /dev/null +++ b/code/__DEFINES/ai/ai.html @@ -0,0 +1,111 @@ + + + + + + + code/__DEFINES/ai/ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/ai.dm + +

+ + + + + + + + + + + + + + + + + +
AI_MAX_PATH_LENGTHFor JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on
AI_FAILED_PLANNING_COOLDOWNCooldown on planning if planning failed last time
AI_CONTROLLER_INCOMPATIBLEFlags for ai_behavior new()
AI_BEHAVIOR_REQUIRE_MOVEMENTDoes this task require movement from the AI before it can be performed?
AI_BEHAVIOR_REQUIRE_REACHDoes this require the current_movement_target to be adjacent and in reach?
AI_BEHAVIOR_MOVE_AND_PERFORMDoes this task let you perform the action while you move closer? (Things like moving and shooting)
AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISHDoes finishing this task not null the current movement target?
AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTIONDoes this behavior NOT block planning?
STOP_MOVING_WHEN_PULLEDAI flags +Don't move if being pulled
CAN_ACT_WHILE_DEADContinue processing even if dead
PAUSE_DURING_DO_AFTERStop processing while in a progress bar
CAN_ACT_IN_STASISContinue processing while in stasis
SUBTREE_RETURN_FINISH_PLANNINGThis subtree should cancel any further planning, (Including from other subtrees)
RESIST_SUBTREE_PROBprobability that the pawn should try resisting out of restraints
SHOULD_RESISTmacro for whether it's appropriate to resist right now, used by resist subtree
IS_DEAD_OR_INCAPmacro for whether the pawn can act, used generally to prevent some horrifying ai disasters

Define Details

+

AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + + +

+

Does this behavior NOT block planning?

AI_BEHAVIOR_KEEP_MOVE_TARGET_ON_FINISH + + +

+

Does finishing this task not null the current movement target?

AI_BEHAVIOR_MOVE_AND_PERFORM + + +

+

Does this task let you perform the action while you move closer? (Things like moving and shooting)

AI_BEHAVIOR_REQUIRE_MOVEMENT + + +

+

Does this task require movement from the AI before it can be performed?

AI_BEHAVIOR_REQUIRE_REACH + + +

+

Does this require the current_movement_target to be adjacent and in reach?

AI_CONTROLLER_INCOMPATIBLE + + +

+

Flags for ai_behavior new()

AI_FAILED_PLANNING_COOLDOWN + + +

+

Cooldown on planning if planning failed last time

AI_MAX_PATH_LENGTH + + +

+

For JPS pathing, the maximum length of a path we'll try to generate. Should be modularized depending on what we're doing later on

CAN_ACT_IN_STASIS + + +

+

Continue processing while in stasis

CAN_ACT_WHILE_DEAD + + +

+

Continue processing even if dead

IS_DEAD_OR_INCAP + + + +

+

macro for whether the pawn can act, used generally to prevent some horrifying ai disasters

PAUSE_DURING_DO_AFTER + + +

+

Stop processing while in a progress bar

RESIST_SUBTREE_PROB + + +

+

probability that the pawn should try resisting out of restraints

SHOULD_RESIST + + + +

+

macro for whether it's appropriate to resist right now, used by resist subtree

STOP_MOVING_WHEN_PULLED + + +

+

AI flags +Don't move if being pulled

SUBTREE_RETURN_FINISH_PLANNING + + +

+

This subtree should cancel any further planning, (Including from other subtrees)

+ + + diff --git a/code/__DEFINES/ai/ai_blackboard.html b/code/__DEFINES/ai/ai_blackboard.html new file mode 100644 index 00000000000..9331e4a50bc --- /dev/null +++ b/code/__DEFINES/ai/ai_blackboard.html @@ -0,0 +1,281 @@ + + + + + + + code/__DEFINES/ai/ai_blackboard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/ai_blackboard.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BB_NEXT_HUNGRYtime until we should next eat, set by the generic hunger subtree
BB_FOOD_TARGETwhat we're going to eat next
BB_PATH_TO_USEPath we should use next time we use the JPS movement datum
BB_AGGRO_RANGEHow close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target
BB_CHECK_HUNGRYare we hungry? determined by the udder compnent
BB_BREED_READYare we ready to breed?
BB_MAX_CHILDRENmaximum kids we can have
BB_EMOTE_KEYStore a single or list of emotes at this key
BB_EMOTE_CHANCEChance to perform an emote per second
BB_REINFORCEMENTS_SAYSomething the mob will say when calling reinforcements
BB_REINFORCEMENTS_EMOTESomething the mob will remote when calling reinforcements
BB_TRAVEL_DESTINATIONTurf we want a mob to move to
BB_SONG_INSTRUMENTsong instrument blackboard, set by instrument subtrees
BB_SONG_LINESsong lines blackboard, set by default on controllers
BB_BANE_BATMANbane ai used by example script
BB_CURRENT_HUNTING_TARGETHunting BB keys
BB_BASIC_MOB_CURRENT_TARGETBasic Mob Keys +Targeting subtrees
BB_BASIC_MOB_EXECUTION_TARGETsome behaviors that check current_target also set this on deep crit mobs
BB_OBSTACLE_TARGETING_WHITELISTBlackboard key for a whitelist typecache of "things we can target while trying to move"
BB_TARGET_MINIMUM_STATKey for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS)
BB_TARGET_WOUNDED_ONLYFlag for whether to target only wounded mobs
BB_TARGET_HELD_ITEMWhat typepath the holding object targeting strategy should look for
BB_BASIC_MOB_HAS_TARGET_TIMEBlackboard key storing how long your targeting strategy has held a particular target
BB_BASIC_MOB_FLEE_TARGETTargeting keys for something to run away from, if you need to store this separately from current target
BB_TARGETED_ACTIONGeneric key for a non-specific targeted action
BB_GENERIC_ACTIONGeneric key for a non-specific action
BB_SHAPESHIFT_ACTIONGeneric key for a shapeshifting action
BB_TARGETLESS_TIMEHow long have we spent with no target?
BB_BASIC_MOB_TIP_REACTINGTipped blackboards +Bool that means a basic mob will start reacting to being tipped in it's planning
BB_BASIC_MOB_TIPPERthe motherfucker who tipped us
BB_STATIONARY_CAUSEIs there something that scared us into being stationary? If so, hold the reference here
BB_STATIONARY_SECONDSHow long should we remain stationary for?
BB_STATIONARY_MOVE_TO_TARGETShould we move towards the target that triggered us to be stationary?
BB_STATIONARY_TARGETSWhat targets will trigger us to be stationary? Must be a list.
BB_STATIONARY_COOLDOWNHow often can we get spooked by a target?
BB_BASIC_MOB_RETALIATE_LISTList of mobs who have damaged us
BB_RANDOM_AGGRO_CHANCEChance to randomly acquire a new target
BB_RANDOM_DEAGGRO_CHANCEChance to randomly drop all of our targets
BB_BASIC_MOB_STOP_FLEEINGFlag to set on if you want your mob to STOP running away
BB_BASIC_FOODSlist of foods this mob likes
BB_SIMPLE_CARRY_ITEMBlackboard key for a held item
BB_MOD_TARGETMob the MOD is trying to attach to
BB_MOD_IMPLANTThe implant the AI was created from
MOD_AI_RANGERange for a MOD AI controller.
BB_ALWAYS_IGNORE_FACTIONshould we skip the faction check for the targeting strategy?
BB_TEMPORARILY_IGNORE_FACTIONare we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this
BB_BASIC_MOB_SPEAK_LINEScurrently only used by clowns, a list of what can the mob speak randomly
BB_BASIC_MOB_REINFORCEMENT_TARGETA target that has called this mob for reinforcements
BB_BASIC_MOB_REINFORCEMENTS_COOLDOWNThe next time at which this mob can call for reinforcements
BB_FRIENDLY_MESSAGEText we display when we befriend someone

Define Details

+

BB_AGGRO_RANGE + + +

+

How close a mob must be for us to select it as a target, if that is less than how far we can maintain it as a target

BB_ALWAYS_IGNORE_FACTION + + +

+

should we skip the faction check for the targeting strategy?

BB_BANE_BATMAN + + +

+

bane ai used by example script

BB_BASIC_FOODS + + +

+

list of foods this mob likes

BB_BASIC_MOB_CURRENT_TARGET + + +

+

Basic Mob Keys +Targeting subtrees

BB_BASIC_MOB_EXECUTION_TARGET + + +

+

some behaviors that check current_target also set this on deep crit mobs

BB_BASIC_MOB_FLEE_TARGET + + +

+

Targeting keys for something to run away from, if you need to store this separately from current target

BB_BASIC_MOB_HAS_TARGET_TIME + + +

+

Blackboard key storing how long your targeting strategy has held a particular target

BB_BASIC_MOB_REINFORCEMENTS_COOLDOWN + + +

+

The next time at which this mob can call for reinforcements

BB_BASIC_MOB_REINFORCEMENT_TARGET + + +

+

A target that has called this mob for reinforcements

BB_BASIC_MOB_RETALIATE_LIST + + +

+

List of mobs who have damaged us

BB_BASIC_MOB_SPEAK_LINES + + +

+

currently only used by clowns, a list of what can the mob speak randomly

BB_BASIC_MOB_STOP_FLEEING + + +

+

Flag to set on if you want your mob to STOP running away

BB_BASIC_MOB_TIPPER + + +

+

the motherfucker who tipped us

BB_BASIC_MOB_TIP_REACTING + + +

+

Tipped blackboards +Bool that means a basic mob will start reacting to being tipped in it's planning

BB_BREED_READY + + +

+

are we ready to breed?

BB_CHECK_HUNGRY + + +

+

are we hungry? determined by the udder compnent

BB_CURRENT_HUNTING_TARGET + + +

+

Hunting BB keys

BB_EMOTE_CHANCE + + +

+

Chance to perform an emote per second

BB_EMOTE_KEY + + +

+

Store a single or list of emotes at this key

BB_FOOD_TARGET + + +

+

what we're going to eat next

BB_FRIENDLY_MESSAGE + + +

+

Text we display when we befriend someone

BB_GENERIC_ACTION + + +

+

Generic key for a non-specific action

BB_MAX_CHILDREN + + +

+

maximum kids we can have

BB_MOD_IMPLANT + + +

+

The implant the AI was created from

BB_MOD_TARGET + + +

+

Mob the MOD is trying to attach to

BB_NEXT_HUNGRY + + +

+

time until we should next eat, set by the generic hunger subtree

BB_OBSTACLE_TARGETING_WHITELIST + + +

+

Blackboard key for a whitelist typecache of "things we can target while trying to move"

BB_PATH_TO_USE + + +

+

Path we should use next time we use the JPS movement datum

BB_RANDOM_AGGRO_CHANCE + + +

+

Chance to randomly acquire a new target

BB_RANDOM_DEAGGRO_CHANCE + + +

+

Chance to randomly drop all of our targets

BB_REINFORCEMENTS_EMOTE + + +

+

Something the mob will remote when calling reinforcements

BB_REINFORCEMENTS_SAY + + +

+

Something the mob will say when calling reinforcements

BB_SHAPESHIFT_ACTION + + +

+

Generic key for a shapeshifting action

BB_SIMPLE_CARRY_ITEM + + +

+

Blackboard key for a held item

BB_SONG_INSTRUMENT + + +

+

song instrument blackboard, set by instrument subtrees

BB_SONG_LINES + + +

+

song lines blackboard, set by default on controllers

BB_STATIONARY_CAUSE + + +

+

Is there something that scared us into being stationary? If so, hold the reference here

BB_STATIONARY_COOLDOWN + + +

+

How often can we get spooked by a target?

BB_STATIONARY_MOVE_TO_TARGET + + +

+

Should we move towards the target that triggered us to be stationary?

BB_STATIONARY_SECONDS + + +

+

How long should we remain stationary for?

BB_STATIONARY_TARGETS + + +

+

What targets will trigger us to be stationary? Must be a list.

BB_TARGETED_ACTION + + +

+

Generic key for a non-specific targeted action

BB_TARGETLESS_TIME + + +

+

How long have we spent with no target?

BB_TARGET_HELD_ITEM + + +

+

What typepath the holding object targeting strategy should look for

BB_TARGET_MINIMUM_STAT + + +

+

Key for the minimum status at which we want to target mobs (does not need to be specified if CONSCIOUS)

BB_TARGET_WOUNDED_ONLY + + +

+

Flag for whether to target only wounded mobs

BB_TEMPORARILY_IGNORE_FACTION + + +

+

are we in some kind of temporary state of ignoring factions when targeting? can result in volatile results if multiple behaviours touch this

BB_TRAVEL_DESTINATION + + +

+

Turf we want a mob to move to

MOD_AI_RANGE + + +

+

Range for a MOD AI controller.

+ + + diff --git a/code/__DEFINES/ai/bot_keys.html b/code/__DEFINES/ai/bot_keys.html new file mode 100644 index 00000000000..2824958d5a4 --- /dev/null +++ b/code/__DEFINES/ai/bot_keys.html @@ -0,0 +1,157 @@ + + + + + + + code/__DEFINES/ai/bot_keys.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/bot_keys.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
BB_BEACON_TARGETThe first beacon we find
BB_PREVIOUS_BEACON_TARGETThe last beacon we found, we will use its codes to find the next beacon
BB_BOT_SUMMON_TARGETLocation of whoever summoned us
BB_SALUTE_MESSAGESsalute messages to beepsky
BB_SALUTE_TARGETthe beepsky we will salute
BB_ANNOUNCE_ABILITYour announcement ability
BB_RADIO_CHANNELlist of our radio channels
BB_TEMPORARY_IGNORE_LISTlist of unreachable things we will temporarily ignore
BB_PATIENT_TARGETthe patient we must heal
BB_WAIT_SPEECHlist holding our wait dialogue
BB_AFTERHEAL_SPEECHwhat we will say to our patient after we heal them
BB_IDLE_SPEECHthings we will say when we are bored
BB_EMAGGED_SPEECHspeech unlocked after being emagged
BB_WORRIED_ANNOUNCEMENTSspeech when we are tipped
BB_NEAR_DEATH_SPEECHspeech when our patient is near death
BB_PATIENT_IN_CRITin crit patient we must alert medbay about
BB_CLEANBOT_FOAMkey that holds the foaming ability
BB_CLEANABLE_DECALSkey that holds decals we hunt
BB_CLEANABLE_BLOODkey that holds blood we hunt
BB_HUNTABLE_PESTSkey that holds pests we hunt
BB_CLEANBOT_EMAGGED_PHRASESkey that holds emagged speech
BB_CLEANABLE_DRAWINGSkey that holds drawings we hunt
BB_CLEAN_TARGETKey that holds our clean target
BB_FRIENDLY_JANITORkey that holds the janitor we will befriend
BB_ACID_SPRAY_TARGETkey that holds the victim we will spray
BB_HUNTABLE_TRASHkey that holds trash we will burn

Define Details

+

BB_ACID_SPRAY_TARGET + + +

+

key that holds the victim we will spray

BB_AFTERHEAL_SPEECH + + +

+

what we will say to our patient after we heal them

BB_ANNOUNCE_ABILITY + + +

+

our announcement ability

BB_BEACON_TARGET + + +

+

The first beacon we find

BB_BOT_SUMMON_TARGET + + +

+

Location of whoever summoned us

BB_CLEANABLE_BLOOD + + +

+

key that holds blood we hunt

BB_CLEANABLE_DECALS + + +

+

key that holds decals we hunt

BB_CLEANABLE_DRAWINGS + + +

+

key that holds drawings we hunt

BB_CLEANBOT_EMAGGED_PHRASES + + +

+

key that holds emagged speech

BB_CLEANBOT_FOAM + + +

+

key that holds the foaming ability

BB_CLEAN_TARGET + + +

+

Key that holds our clean target

BB_EMAGGED_SPEECH + + +

+

speech unlocked after being emagged

BB_FRIENDLY_JANITOR + + +

+

key that holds the janitor we will befriend

BB_HUNTABLE_PESTS + + +

+

key that holds pests we hunt

BB_HUNTABLE_TRASH + + +

+

key that holds trash we will burn

BB_IDLE_SPEECH + + +

+

things we will say when we are bored

BB_NEAR_DEATH_SPEECH + + +

+

speech when our patient is near death

BB_PATIENT_IN_CRIT + + +

+

in crit patient we must alert medbay about

BB_PATIENT_TARGET + + +

+

the patient we must heal

BB_PREVIOUS_BEACON_TARGET + + +

+

The last beacon we found, we will use its codes to find the next beacon

BB_RADIO_CHANNEL + + +

+

list of our radio channels

BB_SALUTE_MESSAGES + + +

+

salute messages to beepsky

BB_SALUTE_TARGET + + +

+

the beepsky we will salute

BB_TEMPORARY_IGNORE_LIST + + +

+

list of unreachable things we will temporarily ignore

BB_WAIT_SPEECH + + +

+

list holding our wait dialogue

BB_WORRIED_ANNOUNCEMENTS + + +

+

speech when we are tipped

+ + + diff --git a/code/__DEFINES/ai/carp.html b/code/__DEFINES/ai/carp.html new file mode 100644 index 00000000000..9883e73a062 --- /dev/null +++ b/code/__DEFINES/ai/carp.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/ai/carp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/carp.dm + +

+ + + + + +
BB_CARP_RIFTCarp AI blackboard keys
BB_CARP_MIGRATION_PATHList of weakrefs to turfs we want to travel to
BB_CARP_MIGRATION_TARGETCurrent target turf in your migration
BB_MAGICARP_SPELL_TARGETTargeting keys for magicarp spells

Define Details

+

BB_CARP_MIGRATION_PATH + + +

+

List of weakrefs to turfs we want to travel to

BB_CARP_MIGRATION_TARGET + + +

+

Current target turf in your migration

BB_CARP_RIFT + + +

+

Carp AI blackboard keys

BB_MAGICARP_SPELL_TARGET + + +

+

Targeting keys for magicarp spells

+ + + diff --git a/code/__DEFINES/ai/haunted.html b/code/__DEFINES/ai/haunted.html new file mode 100644 index 00000000000..a81476e5ea6 --- /dev/null +++ b/code/__DEFINES/ai/haunted.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/ai/haunted.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/haunted.dm + +

+ + + + + + + + + + + +
HAUNTED_ITEM_ATTACK_HAUNT_CHANCEChance for haunted item to haunt someone
HAUNTED_ITEM_ESCAPE_GRASP_CHANCEChance for haunted item to try to get itself let go.
HAUNTED_ITEM_AGGRO_ADDITIONAmount of aggro you get when picking up a haunted item
CURSED_VIEW_RANGEhow far a cursed item will still try to chase a target
BB_HAUNT_TARGETActual mob the item is haunting at the moment
BB_HAUNTED_THROW_ATTEMPT_COUNTAmount of successful hits in a row this item has had
BB_LIKES_EQUIPPERIf true, tolerates the equipper holding/equipping the hauntium
BB_CURSE_TARGETActual mob the item is haunting at the moment
BB_TARGET_SLOTWhere the item wants to land on
BB_CURSED_THROW_ATTEMPT_COUNTAmount of successful hits in a row this item has had

Define Details

+

BB_CURSED_THROW_ATTEMPT_COUNT + + +

+

Amount of successful hits in a row this item has had

BB_CURSE_TARGET + + +

+

Actual mob the item is haunting at the moment

BB_HAUNTED_THROW_ATTEMPT_COUNT + + +

+

Amount of successful hits in a row this item has had

BB_HAUNT_TARGET + + +

+

Actual mob the item is haunting at the moment

BB_LIKES_EQUIPPER + + +

+

If true, tolerates the equipper holding/equipping the hauntium

BB_TARGET_SLOT + + +

+

Where the item wants to land on

CURSED_VIEW_RANGE + + +

+

how far a cursed item will still try to chase a target

HAUNTED_ITEM_AGGRO_ADDITION + + +

+

Amount of aggro you get when picking up a haunted item

HAUNTED_ITEM_ATTACK_HAUNT_CHANCE + + +

+

Chance for haunted item to haunt someone

HAUNTED_ITEM_ESCAPE_GRASP_CHANCE + + +

+

Chance for haunted item to try to get itself let go.

+ + + diff --git a/code/__DEFINES/ai/monsters.html b/code/__DEFINES/ai/monsters.html new file mode 100644 index 00000000000..9ee5c82547c --- /dev/null +++ b/code/__DEFINES/ai/monsters.html @@ -0,0 +1,532 @@ + + + + + + + code/__DEFINES/ai/monsters.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/monsters.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BB_METEOR_HEART_GROUND_SPIKESKey where we keep the spike trail ability
BB_METEOR_HEART_SPINE_TRAPSKey where we keep the spine traps ability
BB_SPIDER_WEB_TARGETKey where we store a turf to put webs on
BB_SPIDER_WEB_ACTIONKey where we store the web-spinning ability
BB_FUGU_INFLATEKey where we store the inflating ability
BB_FESTIVE_APCKey where we store the charging apc ability
BB_WIZARD_SUMMON_MINIONSKey where we store the summon minions ability
BB_WIZARD_MIMICSKey where we store the mimics ability
BB_FOUND_PAPERKey where we store the paper target
BB_WRITING_LISTKey where we store the list of things we can write on a paper
BB_GOLIATH_TENTACLESKey where we store the tentacleing ability
BB_GOLIATH_HOLE_TARGETKey where goliath stores a hole it wants to get into
BB_CURRENT_HOMEthe bee hive we live inside
BB_TARGET_HYDROthe hydro we will pollinate
BB_SWARM_TARGETkey to swarm around
BB_FOUND_HONEYthe hive with honey that we will steal from
BB_CLIMBED_TREEthe tree that we will climb
BB_LOBSTROSITY_EXPLOIT_TRAITSLobstrosities will only attack people with one of these traits
BB_LOBSTROSITY_TARGET_LIMBKey where we store some tasty fingers
BB_LOBSTROSITY_FINGER_LUSTWe increment this counter every time we try to move while dragging an arm and if we go too long we'll give up trying to get out of line of sight and just eat the fingers
BB_GLARE_ABILITYthe death glare ability
BB_BLIND_TARGETthe blind target we must protect
BB_EYE_DAMAGE_THRESHOLDvalue to store the minimum eye damage to prevent us from attacking a human
BB_MACHINE_TARGETthe machine we must go to repair
BB_HIVE_PARTNERthe hivebot partner we will go communicate with
BB_WHELP_STRAIGHTLINE_FIREwhelp's straight line fire ability
BB_WHELP_WIDESPREAD_FIREwhelp's secondary enraged ability
BB_WHELP_ENRAGEDhow enraged the whelp is
BB_TARGET_ROCKthe target rock we will attempt to create a sculpture out of
BB_TARGET_CANNIBALthe cannibal target we shall consume
BB_TARGET_TREEthe tree we will burn down
BB_DOMAIN_ABILITYThe rat's ability to corrupt an area.
BB_RAISE_HORDE_ABILITYThe rat's ability to raise a horde of soldiers.
BB_ARACHNID_RESTRAINability to throw restrain projectiles
BB_SURVEILLANCE_TARGETthe found surveillance item we must destroy
BB_ARACHNID_SLIPour acid slip ability
BB_STORM_APPROACHINGkey that tells if a storm is coming
BB_TARGET_MINERAL_WALLkey that tells the wall we will mine
BB_SPIT_ABILITYkey that holds our spit ability
BB_BURROW_ABILITYkey that holds our dig ability
BB_ORE_TARGETkey that holds the ore we will eat
BB_ORE_IGNORE_TYPESwhich ore types we will not eat
BB_MINEBOT_LIGHT_ABILITYkey that stores our toggle light ability
BB_MINEBOT_DUMP_ABILITYkey that stores our dump ore ability
BB_TARGET_MINERAL_TURFkey that stores our target turf
BB_BLACKLIST_MINERAL_TURFSkey that stores list of the turfs we ignore
BB_PREVIOUS_UNREACHABLE_WALLkey that stores the previous blocked wall
BB_AUTOMATED_MININGkey that stores our mining mode
BB_NEARBY_DEAD_MINERkey that stores the nearest dead human
BB_WATERCAN_TARGETthe water can we will pick up
BB_HYDROPLANT_TARGETthe hydrotray we will heal
BB_WEEDLEVEL_THRESHOLDminimum weed levels for us to cure
BB_WATERLEVEL_THRESHOLDminimum water levels for us to refill
BB_SOLARBEAM_ABILITYkey holds our solarbeam ability
BB_RAPIDSEEDS_ABILITYkey holds our rapid seeds ability
BB_BEAMABLE_HYDROPLANT_TARGETkey holds the tray we will beam
BB_LIST_SCARY_ITEMSthe list of items we are afraid of
BB_DEMON_TELEPORT_ABILITYour teleportation ability
BB_TELEPORT_DESTINATIONthe destination of our teleport ability
BB_DEMON_CLONE_ABILITYthe ability to clone ourself
BB_DEMON_SLIP_ABILITYour slippery ice ability
BB_ESCAPE_DESTINATIONthe turf we are escaping to
BB_LEGION_CORPSECorpse we have consumed
BB_LEGION_RECENT_LINESThings our target recently said
BB_LEGION_BROOD_CREATORThe creator of our legion skull
BB_HOME_VILLAGEour home landmark
BB_MAXIMUM_DISTANCE_TO_VILLAGEmaximum distance we can be from home during a storm
BB_MATERIAL_STAND_TARGETstand where we deposit our ores
BB_MOOK_JUMP_ABILITYour jump ability
BB_MOOK_LEAP_ABILITYour leap ability
BB_MOOK_TRIBAL_CHIEFthe chief we must obey
BB_INJURED_MOOKthe injured mook we must heal
BB_MOOK_MUSIC_AUDIENCEthe player we will follow and play music for
BB_MOOK_BONFIRE_TARGETthe bonfire we will light up
BB_TROUGH_TARGETthe trough we will eat from
BB_LEAPER_VOLLEYkey holds our volley ability
BB_LEAPER_FLOPkey holds our flop ability
BB_LEAPER_BUBBLEkey holds our bubble ability
BB_LEAPER_SUMMONkey holds our summon ability
BB_KEY_SWIM_TIMEkey holds the world timer for swimming
BB_SWIM_ALTERNATE_TURFkey holds the water or land target turf
BB_CURRENTLY_SWIMMINGkey holds our state of swimming
BB_KEY_SWIMMER_COOLDOWNkey holds how long we will be swimming for
BB_WIZARD_TARGETED_SPELLKey where we store our main targeted spell
BB_WIZARD_SECONDARY_SPELLKey where we store our secondary, untargeted spell
BB_WIZARD_BLINK_SPELLKey where we store our blink spell
BB_WIZARD_SPELL_COOLDOWNKey for the next time we can cast a spell
BB_TRESSPASSER_TARGETkey that holds the target we will battle over our turf
BB_HOSTILE_MEOWSkey that holds angry meows
BB_MOUSE_TARGETkey that holds the mouse target
BB_CAT_FOOD_TARGETkey that holds our dinner target
BB_FOOD_TO_DELIVERkey that holds the food we must deliver
BB_HUNTABLE_PREYkey that holds things we can hunt
BB_KITTEN_TO_FEEDkey that holds target kitten to feed
BB_HUNGRY_MEOWkey that holds our hungry meows
BB_MAX_DISTANCE_TO_FOODkey that holds maximum distance food is to us so we can pursue it
BB_STOVE_TARGETkey that holds the stove we must turn off
BB_DONUT_TARGETkey that holds the donut we will decorate
BB_CAT_HOMEkey that holds our home...
BB_HUMAN_BEG_TARGETkey that holds the human we will beg
BB_NETGUARDIAN_ROCKET_ABILITYrocket launcher

Define Details

+

BB_ARACHNID_RESTRAIN + + +

+

ability to throw restrain projectiles

BB_ARACHNID_SLIP + + +

+

our acid slip ability

BB_AUTOMATED_MINING + + +

+

key that stores our mining mode

BB_BEAMABLE_HYDROPLANT_TARGET + + +

+

key holds the tray we will beam

BB_BLACKLIST_MINERAL_TURFS + + +

+

key that stores list of the turfs we ignore

BB_BLIND_TARGET + + +

+

the blind target we must protect

BB_BURROW_ABILITY + + +

+

key that holds our dig ability

BB_CAT_FOOD_TARGET + + +

+

key that holds our dinner target

BB_CAT_HOME + + +

+

key that holds our home...

BB_CLIMBED_TREE + + +

+

the tree that we will climb

BB_CURRENTLY_SWIMMING + + +

+

key holds our state of swimming

BB_CURRENT_HOME + + +

+

the bee hive we live inside

BB_DEMON_CLONE_ABILITY + + +

+

the ability to clone ourself

BB_DEMON_SLIP_ABILITY + + +

+

our slippery ice ability

BB_DEMON_TELEPORT_ABILITY + + +

+

our teleportation ability

BB_DOMAIN_ABILITY + + +

+

The rat's ability to corrupt an area.

BB_DONUT_TARGET + + +

+

key that holds the donut we will decorate

BB_ESCAPE_DESTINATION + + +

+

the turf we are escaping to

BB_EYE_DAMAGE_THRESHOLD + + +

+

value to store the minimum eye damage to prevent us from attacking a human

BB_FESTIVE_APC + + +

+

Key where we store the charging apc ability

BB_FOOD_TO_DELIVER + + +

+

key that holds the food we must deliver

BB_FOUND_HONEY + + +

+

the hive with honey that we will steal from

BB_FOUND_PAPER + + +

+

Key where we store the paper target

BB_FUGU_INFLATE + + +

+

Key where we store the inflating ability

BB_GLARE_ABILITY + + +

+

the death glare ability

BB_GOLIATH_HOLE_TARGET + + +

+

Key where goliath stores a hole it wants to get into

BB_GOLIATH_TENTACLES + + +

+

Key where we store the tentacleing ability

BB_HIVE_PARTNER + + +

+

the hivebot partner we will go communicate with

BB_HOME_VILLAGE + + +

+

our home landmark

BB_HOSTILE_MEOWS + + +

+

key that holds angry meows

BB_HUMAN_BEG_TARGET + + +

+

key that holds the human we will beg

BB_HUNGRY_MEOW + + +

+

key that holds our hungry meows

BB_HUNTABLE_PREY + + +

+

key that holds things we can hunt

BB_HYDROPLANT_TARGET + + +

+

the hydrotray we will heal

BB_INJURED_MOOK + + +

+

the injured mook we must heal

BB_KEY_SWIMMER_COOLDOWN + + +

+

key holds how long we will be swimming for

BB_KEY_SWIM_TIME + + +

+

key holds the world timer for swimming

BB_KITTEN_TO_FEED + + +

+

key that holds target kitten to feed

BB_LEAPER_BUBBLE + + +

+

key holds our bubble ability

BB_LEAPER_FLOP + + +

+

key holds our flop ability

BB_LEAPER_SUMMON + + +

+

key holds our summon ability

BB_LEAPER_VOLLEY + + +

+

key holds our volley ability

BB_LEGION_BROOD_CREATOR + + +

+

The creator of our legion skull

BB_LEGION_CORPSE + + +

+

Corpse we have consumed

BB_LEGION_RECENT_LINES + + +

+

Things our target recently said

BB_LIST_SCARY_ITEMS + + +

+

the list of items we are afraid of

BB_LOBSTROSITY_EXPLOIT_TRAITS + + +

+

Lobstrosities will only attack people with one of these traits

BB_LOBSTROSITY_FINGER_LUST + + +

+

We increment this counter every time we try to move while dragging an arm and if we go too long we'll give up trying to get out of line of sight and just eat the fingers

BB_LOBSTROSITY_TARGET_LIMB + + +

+

Key where we store some tasty fingers

BB_MACHINE_TARGET + + +

+

the machine we must go to repair

BB_MATERIAL_STAND_TARGET + + +

+

stand where we deposit our ores

BB_MAXIMUM_DISTANCE_TO_VILLAGE + + +

+

maximum distance we can be from home during a storm

BB_MAX_DISTANCE_TO_FOOD + + +

+

key that holds maximum distance food is to us so we can pursue it

BB_METEOR_HEART_GROUND_SPIKES + + +

+

Key where we keep the spike trail ability

BB_METEOR_HEART_SPINE_TRAPS + + +

+

Key where we keep the spine traps ability

BB_MINEBOT_DUMP_ABILITY + + +

+

key that stores our dump ore ability

BB_MINEBOT_LIGHT_ABILITY + + +

+

key that stores our toggle light ability

BB_MOOK_BONFIRE_TARGET + + +

+

the bonfire we will light up

BB_MOOK_JUMP_ABILITY + + +

+

our jump ability

BB_MOOK_LEAP_ABILITY + + +

+

our leap ability

BB_MOOK_MUSIC_AUDIENCE + + +

+

the player we will follow and play music for

BB_MOOK_TRIBAL_CHIEF + + +

+

the chief we must obey

BB_MOUSE_TARGET + + +

+

key that holds the mouse target

BB_NEARBY_DEAD_MINER + + +

+

key that stores the nearest dead human

BB_NETGUARDIAN_ROCKET_ABILITY + + +

+

rocket launcher

BB_ORE_IGNORE_TYPES + + +

+

which ore types we will not eat

BB_ORE_TARGET + + +

+

key that holds the ore we will eat

BB_PREVIOUS_UNREACHABLE_WALL + + +

+

key that stores the previous blocked wall

BB_RAISE_HORDE_ABILITY + + +

+

The rat's ability to raise a horde of soldiers.

BB_RAPIDSEEDS_ABILITY + + +

+

key holds our rapid seeds ability

BB_SOLARBEAM_ABILITY + + +

+

key holds our solarbeam ability

BB_SPIDER_WEB_ACTION + + +

+

Key where we store the web-spinning ability

BB_SPIDER_WEB_TARGET + + +

+

Key where we store a turf to put webs on

BB_SPIT_ABILITY + + +

+

key that holds our spit ability

BB_STORM_APPROACHING + + +

+

key that tells if a storm is coming

BB_STOVE_TARGET + + +

+

key that holds the stove we must turn off

BB_SURVEILLANCE_TARGET + + +

+

the found surveillance item we must destroy

BB_SWARM_TARGET + + +

+

key to swarm around

BB_SWIM_ALTERNATE_TURF + + +

+

key holds the water or land target turf

BB_TARGET_CANNIBAL + + +

+

the cannibal target we shall consume

BB_TARGET_HYDRO + + +

+

the hydro we will pollinate

BB_TARGET_MINERAL_TURF + + +

+

key that stores our target turf

BB_TARGET_MINERAL_WALL + + +

+

key that tells the wall we will mine

BB_TARGET_ROCK + + +

+

the target rock we will attempt to create a sculpture out of

BB_TARGET_TREE + + +

+

the tree we will burn down

BB_TELEPORT_DESTINATION + + +

+

the destination of our teleport ability

BB_TRESSPASSER_TARGET + + +

+

key that holds the target we will battle over our turf

BB_TROUGH_TARGET + + +

+

the trough we will eat from

BB_WATERCAN_TARGET + + +

+

the water can we will pick up

BB_WATERLEVEL_THRESHOLD + + +

+

minimum water levels for us to refill

BB_WEEDLEVEL_THRESHOLD + + +

+

minimum weed levels for us to cure

BB_WHELP_ENRAGED + + +

+

how enraged the whelp is

BB_WHELP_STRAIGHTLINE_FIRE + + +

+

whelp's straight line fire ability

BB_WHELP_WIDESPREAD_FIRE + + +

+

whelp's secondary enraged ability

+

Key where we store our blink spell

BB_WIZARD_MIMICS + + +

+

Key where we store the mimics ability

BB_WIZARD_SECONDARY_SPELL + + +

+

Key where we store our secondary, untargeted spell

BB_WIZARD_SPELL_COOLDOWN + + +

+

Key for the next time we can cast a spell

BB_WIZARD_SUMMON_MINIONS + + +

+

Key where we store the summon minions ability

BB_WIZARD_TARGETED_SPELL + + +

+

Key where we store our main targeted spell

BB_WRITING_LIST + + +

+

Key where we store the list of things we can write on a paper

+ + + diff --git a/code/__DEFINES/ai/pet_commands.html b/code/__DEFINES/ai/pet_commands.html new file mode 100644 index 00000000000..7bb902375b4 --- /dev/null +++ b/code/__DEFINES/ai/pet_commands.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/ai/pet_commands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/pet_commands.dm + +

+ + + + + +
BB_ACTIVE_PET_COMMANDBlackboard field for the most recent command the pet was given
BB_CURRENT_PET_TARGETBlackboard field for what we actually want the pet to target
BB_PET_TARGETING_STRATEGYBlackboard field for how we target things, as usually we want to be more permissive than normal
BB_FRIENDS_LISTTypecache of weakrefs to mobs this mob is friends with, will follow their instructions and won't attack them

Define Details

+

BB_ACTIVE_PET_COMMAND + + +

+

Blackboard field for the most recent command the pet was given

BB_CURRENT_PET_TARGET + + +

+

Blackboard field for what we actually want the pet to target

BB_FRIENDS_LIST + + +

+

Typecache of weakrefs to mobs this mob is friends with, will follow their instructions and won't attack them

BB_PET_TARGETING_STRATEGY + + +

+

Blackboard field for how we target things, as usually we want to be more permissive than normal

+ + + diff --git a/code/__DEFINES/ai/pets.html b/code/__DEFINES/ai/pets.html new file mode 100644 index 00000000000..6d509297fd7 --- /dev/null +++ b/code/__DEFINES/ai/pets.html @@ -0,0 +1,136 @@ + + + + + + + code/__DEFINES/ai/pets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/pets.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
BB_FETCH_IGNORE_LISTDog AI controller blackboard keys
AI_DOG_VISION_RANGEBasically, what is our vision/hearing range for picking up on things to fetch
AI_DOG_PET_FRIEND_PROBWhat are the odds someone petting us will become our friend?
AI_FETCH_IGNORE_DURATIONAfter this long without having fetched something, we clear our ignore list
BB_BABIES_PARTNER_TYPESBaby-making blackboard +Types of animal we can make babies with.
BB_BABIES_CHILD_TYPESTypes of animal that we make as a baby.
BB_BABIES_TARGETCurrent partner target
BB_FOUND_MOMFinding adult mob +key holds the adult we found
BB_FIND_MOM_TYPESlist of types of mobs we will look for
BB_IGNORE_MOM_TYPESlist of types of mobs we must ignore
BB_PARROT_REPEAT_STRINGThe current string that this parrot will repeat back to someone
BB_PARROT_REPEAT_PROBABILITYThe odds that this parrot will repeat back a string
BB_PARROT_PHRASE_CHANGE_PROBABILITYThe odds that this parrot will choose another string to repeat
BB_EXPORTABLE_STRING_BUFFER_LISTA copy of the string buffer that we end the shift with. DO NOT ACCESS THIS DIRECTLY - YOU SHOULD USE THE COMPONENT IN MOST CASES
BB_PARROT_PERCH_TYPESThe types of perches we desire to use
BB_PERCH_TARGETkey that holds our perch target
BB_HOARD_ITEM_TARGETkey that holds our theft item target
BB_THEFT_VICTIMkey that holds the mob we will steal from
BB_HOARD_LOCATIONkey that holds the turf we will be hauling stolen items to
BB_HOARD_LOCATION_RANGEkey that holds the minimum range we must be from the hoard spot
BB_IGNORE_ITEMSkey that holds items we arent interested in hoarding

Define Details

+

AI_DOG_PET_FRIEND_PROB + + +

+

What are the odds someone petting us will become our friend?

AI_DOG_VISION_RANGE + + +

+

Basically, what is our vision/hearing range for picking up on things to fetch

AI_FETCH_IGNORE_DURATION + + +

+

After this long without having fetched something, we clear our ignore list

BB_BABIES_CHILD_TYPES + + +

+

Types of animal that we make as a baby.

BB_BABIES_PARTNER_TYPES + + +

+

Baby-making blackboard +Types of animal we can make babies with.

BB_BABIES_TARGET + + +

+

Current partner target

BB_EXPORTABLE_STRING_BUFFER_LIST + + +

+

A copy of the string buffer that we end the shift with. DO NOT ACCESS THIS DIRECTLY - YOU SHOULD USE THE COMPONENT IN MOST CASES

BB_FETCH_IGNORE_LIST + + +

+

Dog AI controller blackboard keys

BB_FIND_MOM_TYPES + + +

+

list of types of mobs we will look for

BB_FOUND_MOM + + +

+

Finding adult mob +key holds the adult we found

BB_HOARD_ITEM_TARGET + + +

+

key that holds our theft item target

BB_HOARD_LOCATION + + +

+

key that holds the turf we will be hauling stolen items to

BB_HOARD_LOCATION_RANGE + + +

+

key that holds the minimum range we must be from the hoard spot

BB_IGNORE_ITEMS + + +

+

key that holds items we arent interested in hoarding

BB_IGNORE_MOM_TYPES + + +

+

list of types of mobs we must ignore

BB_PARROT_PERCH_TYPES + + +

+

The types of perches we desire to use

BB_PARROT_PHRASE_CHANGE_PROBABILITY + + +

+

The odds that this parrot will choose another string to repeat

BB_PARROT_REPEAT_PROBABILITY + + +

+

The odds that this parrot will repeat back a string

BB_PARROT_REPEAT_STRING + + +

+

The current string that this parrot will repeat back to someone

BB_PERCH_TARGET + + +

+

key that holds our perch target

BB_THEFT_VICTIM + + +

+

key that holds the mob we will steal from

+ + + diff --git a/code/__DEFINES/ai/simplemob.html b/code/__DEFINES/ai/simplemob.html new file mode 100644 index 00000000000..23c66965b8c --- /dev/null +++ b/code/__DEFINES/ai/simplemob.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/ai/simplemob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/simplemob.dm + +

+ + + + + + + +
BB_HOSTILE_ORDER_MODEHostile AI controller blackboard keys
BB_HOSTILE_VISION_RANGEBasically, what is our vision/hearing range.
AI_HOSTILE_COMMAND_COOLDOWNAfter either being given a verbal order or a pointing order, ignore further of each for this duration
HOSTILE_COMMAND_NONEDon't do anything (will still react to stuff around them though)
HOSTILE_COMMAND_ATTACKWill attack a target.
HOSTILE_COMMAND_FOLLOWWill follow a target.

Define Details

+

AI_HOSTILE_COMMAND_COOLDOWN + + +

+

After either being given a verbal order or a pointing order, ignore further of each for this duration

BB_HOSTILE_ORDER_MODE + + +

+

Hostile AI controller blackboard keys

BB_HOSTILE_VISION_RANGE + + +

+

Basically, what is our vision/hearing range.

HOSTILE_COMMAND_ATTACK + + +

+

Will attack a target.

HOSTILE_COMMAND_FOLLOW + + +

+

Will follow a target.

HOSTILE_COMMAND_NONE + + +

+

Don't do anything (will still react to stuff around them though)

+ + + diff --git a/code/__DEFINES/ai/tourist.html b/code/__DEFINES/ai/tourist.html new file mode 100644 index 00000000000..540cfb167f4 --- /dev/null +++ b/code/__DEFINES/ai/tourist.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/ai/tourist.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/tourist.dm + +

+ + + + + + + +
BB_CUSTOMER_CURRENT_ORDERCorresponds to the customer's order. +This can be a an item typepath or an instance of a custom order datum
BB_CUSTOMER_CUSTOMERINFOA reference to a customer data datum, containing stuff like saylines and food desires
BB_CUSTOMER_EATINGWhether we're busy eating something already
BB_CUSTOMER_ATTENDING_VENUEA reference to the venue being attended
BB_CUSTOMER_LEAVINGWhether we're leaving the venue entirely, either happily or forced out
BB_CUSTOMER_SAID_CANT_FIND_SEAT_LINERobot customer has said their can't find seat line at least once. Used to rate limit how often they'll complain after the first time.

Define Details

+

BB_CUSTOMER_ATTENDING_VENUE + + +

+

A reference to the venue being attended

BB_CUSTOMER_CURRENT_ORDER + + +

+

Corresponds to the customer's order. +This can be a an item typepath or an instance of a custom order datum

BB_CUSTOMER_CUSTOMERINFO + + +

+

A reference to a customer data datum, containing stuff like saylines and food desires

BB_CUSTOMER_EATING + + +

+

Whether we're busy eating something already

BB_CUSTOMER_LEAVING + + +

+

Whether we're leaving the venue entirely, either happily or forced out

BB_CUSTOMER_SAID_CANT_FIND_SEAT_LINE + + +

+

Robot customer has said their can't find seat line at least once. Used to rate limit how often they'll complain after the first time.

+ + + diff --git a/code/__DEFINES/ai/trader.html b/code/__DEFINES/ai/trader.html new file mode 100644 index 00000000000..786175ad124 --- /dev/null +++ b/code/__DEFINES/ai/trader.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/ai/trader.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/trader.dm + +

+ + + + +
BB_SETUP_SHOPThe ability to setup our "shop"
BB_SHOP_SPOTReference to the plastic chair that is considered as our shop
BB_FIRST_CUSTOMERReference to our first customer to harass with deals

Define Details

+

BB_FIRST_CUSTOMER + + +

+

Reference to our first customer to harass with deals

BB_SETUP_SHOP + + +

+

The ability to setup our "shop"

BB_SHOP_SPOT + + +

+

Reference to the plastic chair that is considered as our shop

+ + + diff --git a/code/__DEFINES/ai/ventcrawling.html b/code/__DEFINES/ai/ventcrawling.html new file mode 100644 index 00000000000..40f00ae8241 --- /dev/null +++ b/code/__DEFINES/ai/ventcrawling.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/ai/ventcrawling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ai/ventcrawling.dm + +

+ + + + + + + + + +
BB_ENTRY_VENT_TARGETKey that holds a nearby vent that looks like it's a good place to hide
BB_EXIT_VENT_TARGETKey that holds a vent that we want to exit out of (when we're already in a pipenet)
BB_CURRENTLY_TARGETING_VENTDo we plan on going inside a vent? Boolean.
BB_VENTCRAWL_COOLDOWNHow long should we wait before we try and enter a vent again?
BB_LOWER_VENT_TIME_LIMITThe least amount of time (in seconds) we take to go through the vents.
BB_UPPER_VENT_TIME_LIMITThe most amount of time (in seconds) we take to go through the vents.
BB_TIME_TO_GIVE_UP_ON_VENT_PATHINGHow much time (in seconds) do we take until we completely go bust on vent pathing?
BB_GIVE_UP_ON_VENT_PATHING_TIMER_IDThe timer ID of the timer that makes us give up on vent pathing.

Define Details

+

BB_CURRENTLY_TARGETING_VENT + + +

+

Do we plan on going inside a vent? Boolean.

BB_ENTRY_VENT_TARGET + + +

+

Key that holds a nearby vent that looks like it's a good place to hide

BB_EXIT_VENT_TARGET + + +

+

Key that holds a vent that we want to exit out of (when we're already in a pipenet)

BB_GIVE_UP_ON_VENT_PATHING_TIMER_ID + + +

+

The timer ID of the timer that makes us give up on vent pathing.

BB_LOWER_VENT_TIME_LIMIT + + +

+

The least amount of time (in seconds) we take to go through the vents.

BB_TIME_TO_GIVE_UP_ON_VENT_PATHING + + +

+

How much time (in seconds) do we take until we completely go bust on vent pathing?

BB_UPPER_VENT_TIME_LIMIT + + +

+

The most amount of time (in seconds) we take to go through the vents.

BB_VENTCRAWL_COOLDOWN + + +

+

How long should we wait before we try and enter a vent again?

+ + + diff --git a/code/__DEFINES/alarm.html b/code/__DEFINES/alarm.html new file mode 100644 index 00000000000..6aea894aac5 --- /dev/null +++ b/code/__DEFINES/alarm.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/alarm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/alarm.dm + +

+ + + + + + + +
ALARM_ATMOSSent by air alarms, indecates something wrong with thier attached atmosphere
ALARM_FIRESent by firelocks when they detect fire, and by fire alarms when a user pulls them
ALARM_POWERSent by apcs when their power starts to fail
ALARM_CAMERASent by cameras when they're disabled in some manner
ALARM_BURGLARSent by display cases when they're broken into
ALARM_MOTIONSent by motion detecting cameras when they well, detect motion

Define Details

+

ALARM_ATMOS + + +

+

Sent by air alarms, indecates something wrong with thier attached atmosphere

ALARM_BURGLAR + + +

+

Sent by display cases when they're broken into

ALARM_CAMERA + + +

+

Sent by cameras when they're disabled in some manner

ALARM_FIRE + + +

+

Sent by firelocks when they detect fire, and by fire alarms when a user pulls them

ALARM_MOTION + + +

+

Sent by motion detecting cameras when they well, detect motion

ALARM_POWER + + +

+

Sent by apcs when their power starts to fail

+ + + diff --git a/code/__DEFINES/alerts.html b/code/__DEFINES/alerts.html new file mode 100644 index 00000000000..896daf09637 --- /dev/null +++ b/code/__DEFINES/alerts.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/alerts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/alerts.dm + +

+ + + + + + + + + +
ALERT_TOO_MUCH_OXYGENAtmos related
ALERT_SUCCUMBMob related
ALERT_XENO_FIREAlien related
ALERT_NEW_LAWSilicon related
ALERT_MODSUIT_CHARGEMODsuit/Mech related
ALERT_NUTRITIONFood related
ALERT_PRESSUREEnvironment related
ALERT_BITRUNNER_CROWBARBitrunning

Define Details

+

ALERT_BITRUNNER_CROWBAR + + +

+

Bitrunning

ALERT_MODSUIT_CHARGE + + +

+

MODsuit/Mech related

ALERT_NEW_LAW + + +

+

Silicon related

ALERT_NUTRITION + + +

+

Food related

ALERT_PRESSURE + + +

+

Environment related

ALERT_SUCCUMB + + +

+

Mob related

ALERT_TOO_MUCH_OXYGEN + + +

+

Atmos related

ALERT_XENO_FIRE + + +

+

Alien related

+ + + diff --git a/code/__DEFINES/announcements.html b/code/__DEFINES/announcements.html new file mode 100644 index 00000000000..ba2f1c572e0 --- /dev/null +++ b/code/__DEFINES/announcements.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/announcements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/announcements.dm + +

+ + + + +
ANNOUNCEMENT_TYPE_PRIORITYPrefix this announcement with "Priority Announcement"
ANNOUNCEMENT_TYPE_CAPTAINMake it sound like it's coming from the Captain
ANNOUNCEMENT_TYPE_SYNDICATEMake it sound like it's coming from the Syndicate

Define Details

+

ANNOUNCEMENT_TYPE_CAPTAIN + + +

+

Make it sound like it's coming from the Captain

ANNOUNCEMENT_TYPE_PRIORITY + + +

+

Prefix this announcement with "Priority Announcement"

ANNOUNCEMENT_TYPE_SYNDICATE + + +

+

Make it sound like it's coming from the Syndicate

+ + + diff --git a/code/__DEFINES/anomaly.html b/code/__DEFINES/anomaly.html new file mode 100644 index 00000000000..7995eb7ce27 --- /dev/null +++ b/code/__DEFINES/anomaly.html @@ -0,0 +1,85 @@ + + + + + + + code/__DEFINES/anomaly.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/anomaly.dm + +

+ + + + + + + + + + + +
ANOMALY_COUNTDOWN_TIMER
ANOMALY_START_MEDIUM_TIMENuisance/funny anomalies +Time in seconds before anomaly spawns
ANOMALY_ANNOUNCE_MEDIUM_TIMETime in seconds before anomaly is announced
ANOMALY_ANNOUNCE_MEDIUM_TEXTLet them know how far away the anomaly is
ANOMALY_START_HARMFUL_TIMEChaotic but not harmful anomalies. Give the station a chance to find it on their own. +Time in seconds before anomaly spawns
ANOMALY_ANNOUNCE_HARMFUL_TIMETime in seconds before anomaly is announced
ANOMALY_ANNOUNCE_HARMFUL_TEXTLet them know how far away the anomaly is
ANOMALY_START_DANGEROUS_TIMEAnomalies that can fuck you up. Give them a bit of warning. +Time in seconds before anomaly spawns
ANOMALY_ANNOUNCE_DANGEROUS_TIMETime in seconds before anomaly is announced
ANOMALY_ANNOUNCE_DANGEROUS_TEXTLet them know how far away the anomaly is

Define Details

+

ANOMALY_ANNOUNCE_DANGEROUS_TEXT + + +

+

Let them know how far away the anomaly is

ANOMALY_ANNOUNCE_DANGEROUS_TIME + + +

+

Time in seconds before anomaly is announced

ANOMALY_ANNOUNCE_HARMFUL_TEXT + + +

+

Let them know how far away the anomaly is

ANOMALY_ANNOUNCE_HARMFUL_TIME + + +

+

Time in seconds before anomaly is announced

ANOMALY_ANNOUNCE_MEDIUM_TEXT + + +

+

Let them know how far away the anomaly is

ANOMALY_ANNOUNCE_MEDIUM_TIME + + +

+

Time in seconds before anomaly is announced

ANOMALY_COUNTDOWN_TIMER + + +

+ Anomaly Defines +

This file contains defines for the random event anomaly subtypes. +Time in ticks before the anomaly goes poof/explodes depending on type.

ANOMALY_START_DANGEROUS_TIME + + +

+

Anomalies that can fuck you up. Give them a bit of warning. +Time in seconds before anomaly spawns

ANOMALY_START_HARMFUL_TIME + + +

+

Chaotic but not harmful anomalies. Give the station a chance to find it on their own. +Time in seconds before anomaly spawns

ANOMALY_START_MEDIUM_TIME + + +

+

Nuisance/funny anomalies +Time in seconds before anomaly spawns

+ + + diff --git a/code/__DEFINES/antagonists.html b/code/__DEFINES/antagonists.html new file mode 100644 index 00000000000..3692b8c0cc3 --- /dev/null +++ b/code/__DEFINES/antagonists.html @@ -0,0 +1,344 @@ + + + + + + + code/__DEFINES/antagonists.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/antagonists.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CHALLENGE_MIN_PLAYERSMin players requireed for nukes to declare war
PAYOFF_MINMinimum amount the pirates will demand
RESPONSE_MAX_TIMEHow long pirates will wait for a response before attacking
ELIMINATION_NEUTRALDoes not stop elimination hijacking but itself won't elimination hijack
ELIMINATION_ENABLEDNeeds to be present for shuttle to be elimination hijacked
ELIMINATION_PREVENTPrevents elimination hijack same way as non-antags
HERETIC_NO_HEART_ORGANDefines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.
MAX_KNOWLEDGE_PRIORITYA define used in ritual priority for heretics.
IS_VALID_GHOUL_MOBChecks if the passed mob can become a heretic ghoul.
BLOB_FORCE_PLACEMENTForces the blob to place the core where they currently are, ignoring any checks.
BLOB_NORMAL_PLACEMENTNormal blob placement, does the regular checks to make sure the blob isn't placing itself in an invalid location
BLOB_RANDOM_PLACEMENTSelects a random location for the blob to be placed.
WIZARD_LOADOUT_CLASSICThe Classic Wizard wizard loadout.
WIZARD_LOADOUT_MJOLNIRMjolnir's Power wizard loadout.
WIZARD_LOADOUT_WIZARMYFantastical Army wizard loadout.
WIZARD_LOADOUT_SOULTAPSoul Tapper wizard loadout.
ALL_WIZARD_LOADOUTSConvenient list of all wizard loadouts for unit testing.
GRAND_RITUAL_FINALE_COUNTNumber of times you need to perform the grand ritual to complete it
GRAND_RITUAL_RUNES_WARNING_POTENCYThe crew will start being warned every time a rune is created after this many invocations.
GRAND_RITUAL_IMMINENT_FINALE_POTENCYThe crew will get a louder warning when this level of rune is created, and the next one will be special
LOG_SPELL_TYPEUsed in logging spells for roundend results
TRAITOR_FLAVOR_FILEFile to the traitor flavor
MALFUNCTION_FLAVOR_FILEFile to the malf flavor
HERETIC_INFLUENCE_FILEJSON string file for all of our heretic influence flavors
IS_TRAITORChecks if the given mob is a traitor
IS_CULTISTChecks if the given mob is a blood cultist
IS_NUKE_OPChecks if the given mob is a nuclear operative
IS_HERETICChecks if the given mob is a heretic.
IS_HERETIC_MONSTERCheck if the given mob is a heretic monster.
IS_HERETIC_OR_MONSTERChecks if the given mob is either a heretic or a heretic monster.
IS_WIZARDChecks if the given mob is a wizard
IS_REVOLUTIONARYChecks if the given mob is a revolutionary. Will return TRUE for rev heads as well.
IS_HEAD_REVOLUTIONARYChecks if the given mob is a head revolutionary.
IS_MALF_AIChecks if the given mob is a malf ai.
IS_HUMAN_INVADERReturns true if the given mob has an antag datum which is assigned to a human antagonist who doesn't spawn on the space station
ANTAGONIST_PREVIEW_ICON_SIZEThe dimensions of the antagonist preview icon. Will be scaled to this size.
OBJECTIVE_ITEM_TYPE_NORMALCan appear in everything
OBJECTIVE_ITEM_TYPE_TRAITOROnly appears in traitor objectives
HIJACK_PROBChance that the traitor could roll hijack if the pop limit is met.
HIJACK_MIN_PLAYERSHijack is unavailable as a random objective below this player count.
MARTYR_PROBChance the traitor gets a martyr objective instead of having to escape alive, as long as all the objectives are martyr compatible.
KILL_PROBChance the traitor gets a kill objective. If this prob fails, they will get a steal objective instead.
DESTROY_AI_PROBIf a kill objective is rolled, chance that it is to destroy the AI.
MAROON_PROBIf the destroy AI objective doesn't roll, chance that we'll get a maroon instead. If this prob fails, they will get a generic assassinate objective instead.
TELECRYSTALS_DEFAULTHow many telecrystals a normal traitor starts with
TELECRYSTALS_PRELOADED_IMPLANTHow many telecrystals mapper/admin only "precharged" uplink implant
UPLINK_IMPLANT_TELECRYSTAL_COSTThe normal cost of an uplink implant; used for calcuating how many +TC to charge someone if they get a free implant through choice or +because they have nothing else that supports an implant.
UPLINK_SHARED_STOCK_UNIQUEItems with this stock key do not share stock with other items
UPLINK_SHARED_STOCK_KITSStock keys for items that share inventory stock
OBJECTIVE_STATE_INACTIVEIf the objective hasn't been taken yet
OBJECTIVE_STATE_ACTIVEIf the objective is active and ongoing
OBJECTIVE_STATE_COMPLETEDIf the objective has been completed.
OBJECTIVE_STATE_FAILEDIf the objective has failed.
OBJECTIVE_STATE_INVALIDIf the objective is no longer valid
OBJECTIVE_WEIGHT_VERY_UNLIKELYWeights for traitor objective categories
ANTAG_GROUP_ABDUCTORSAntag panel groups
CHANGELING_POWER_INNATEChangeling abilities with DNA cost = this are innately given to all changelings
CHANGELING_POWER_UNOBTAINABLEChangeling abilities with DNA cost = this are not obtainable by changelings - either used for secret unlockable or abstract abilities
LING_ABSORB_RECENT_SPEECHFor changelings, this is how many recent say lines are retained when absorbing a mob

Define Details

+

ALL_WIZARD_LOADOUTS + + +

+

Convenient list of all wizard loadouts for unit testing.

ANTAGONIST_PREVIEW_ICON_SIZE + + +

+

The dimensions of the antagonist preview icon. Will be scaled to this size.

ANTAG_GROUP_ABDUCTORS + + +

+

Antag panel groups

BLOB_FORCE_PLACEMENT + + +

+

Forces the blob to place the core where they currently are, ignoring any checks.

BLOB_NORMAL_PLACEMENT + + +

+

Normal blob placement, does the regular checks to make sure the blob isn't placing itself in an invalid location

BLOB_RANDOM_PLACEMENT + + +

+

Selects a random location for the blob to be placed.

CHALLENGE_MIN_PLAYERS + + +

+

Min players requireed for nukes to declare war

CHANGELING_POWER_INNATE + + +

+

Changeling abilities with DNA cost = this are innately given to all changelings

CHANGELING_POWER_UNOBTAINABLE + + +

+

Changeling abilities with DNA cost = this are not obtainable by changelings - either used for secret unlockable or abstract abilities

DESTROY_AI_PROB + + + +

+

If a kill objective is rolled, chance that it is to destroy the AI.

ELIMINATION_ENABLED + + +

+

Needs to be present for shuttle to be elimination hijacked

ELIMINATION_NEUTRAL + + +

+

Does not stop elimination hijacking but itself won't elimination hijack

ELIMINATION_PREVENT + + +

+

Prevents elimination hijack same way as non-antags

GRAND_RITUAL_FINALE_COUNT + + +

+

Number of times you need to perform the grand ritual to complete it

GRAND_RITUAL_IMMINENT_FINALE_POTENCY + + +

+

The crew will get a louder warning when this level of rune is created, and the next one will be special

GRAND_RITUAL_RUNES_WARNING_POTENCY + + +

+

The crew will start being warned every time a rune is created after this many invocations.

HERETIC_INFLUENCE_FILE + + +

+

JSON string file for all of our heretic influence flavors

HERETIC_NO_HEART_ORGAN + + +

+

Defines are used in /proc/has_living_heart() to report if the heretic has no heart period, no living heart, or has a living heart.

HIJACK_MIN_PLAYERS + + +

+

Hijack is unavailable as a random objective below this player count.

HIJACK_PROB + + +

+

Chance that the traitor could roll hijack if the pop limit is met.

IS_CULTIST + + + +

+

Checks if the given mob is a blood cultist

IS_HEAD_REVOLUTIONARY + + + +

+

Checks if the given mob is a head revolutionary.

IS_HERETIC + + + +

+

Checks if the given mob is a heretic.

IS_HERETIC_MONSTER + + + +

+

Check if the given mob is a heretic monster.

IS_HERETIC_OR_MONSTER + + + +

+

Checks if the given mob is either a heretic or a heretic monster.

IS_HUMAN_INVADER + + + +

+

Returns true if the given mob has an antag datum which is assigned to a human antagonist who doesn't spawn on the space station

IS_MALF_AI + + + +

+

Checks if the given mob is a malf ai.

IS_NUKE_OP + + + +

+

Checks if the given mob is a nuclear operative

IS_REVOLUTIONARY + + + +

+

Checks if the given mob is a revolutionary. Will return TRUE for rev heads as well.

IS_TRAITOR + + + +

+

Checks if the given mob is a traitor

IS_VALID_GHOUL_MOB + + + +

+

Checks if the passed mob can become a heretic ghoul.

+

IS_WIZARD + + + +

+

Checks if the given mob is a wizard

KILL_PROB + + +

+

Chance the traitor gets a kill objective. If this prob fails, they will get a steal objective instead.

LING_ABSORB_RECENT_SPEECH + + +

+

For changelings, this is how many recent say lines are retained when absorbing a mob

LOG_SPELL_TYPE + + +

+

Used in logging spells for roundend results

MALFUNCTION_FLAVOR_FILE + + +

+

File to the malf flavor

MAROON_PROB + + +

+

If the destroy AI objective doesn't roll, chance that we'll get a maroon instead. If this prob fails, they will get a generic assassinate objective instead.

MARTYR_PROB + + +

+

Chance the traitor gets a martyr objective instead of having to escape alive, as long as all the objectives are martyr compatible.

MAX_KNOWLEDGE_PRIORITY + + +

+

A define used in ritual priority for heretics.

OBJECTIVE_ITEM_TYPE_NORMAL + + +

+

Can appear in everything

OBJECTIVE_ITEM_TYPE_TRAITOR + + +

+

Only appears in traitor objectives

OBJECTIVE_STATE_ACTIVE + + +

+

If the objective is active and ongoing

OBJECTIVE_STATE_COMPLETED + + +

+

If the objective has been completed.

OBJECTIVE_STATE_FAILED + + +

+

If the objective has failed.

OBJECTIVE_STATE_INACTIVE + + +

+

If the objective hasn't been taken yet

OBJECTIVE_STATE_INVALID + + +

+

If the objective is no longer valid

OBJECTIVE_WEIGHT_VERY_UNLIKELY + + +

+

Weights for traitor objective categories

PAYOFF_MIN + + +

+

Minimum amount the pirates will demand

RESPONSE_MAX_TIME + + +

+

How long pirates will wait for a response before attacking

TELECRYSTALS_DEFAULT + + +

+

How many telecrystals a normal traitor starts with

TELECRYSTALS_PRELOADED_IMPLANT + + +

+

How many telecrystals mapper/admin only "precharged" uplink implant

TRAITOR_FLAVOR_FILE + + +

+

File to the traitor flavor

+

The normal cost of an uplink implant; used for calcuating how many +TC to charge someone if they get a free implant through choice or +because they have nothing else that supports an implant.

+

Stock keys for items that share inventory stock

+

Items with this stock key do not share stock with other items

WIZARD_LOADOUT_CLASSIC + + +

+

The Classic Wizard wizard loadout.

WIZARD_LOADOUT_MJOLNIR + + +

+

Mjolnir's Power wizard loadout.

WIZARD_LOADOUT_SOULTAP + + +

+

Soul Tapper wizard loadout.

WIZARD_LOADOUT_WIZARMY + + +

+

Fantastical Army wizard loadout.

+ + + diff --git a/code/__DEFINES/apc_defines.html b/code/__DEFINES/apc_defines.html new file mode 100644 index 00000000000..d32b15e734a --- /dev/null +++ b/code/__DEFINES/apc_defines.html @@ -0,0 +1,207 @@ + + + + + + + code/__DEFINES/apc_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/apc_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
APC_ELECTRONICS_MISSINGThere are no electronics in the APC.
APC_ELECTRONICS_INSTALLEDThe electronics are installed but not secured.
APC_ELECTRONICS_SECUREDThe electronics are installed and secured.
APC_COVER_CLOSEDThe APCs cover is closed.
APC_COVER_OPENEDThe APCs cover is open.
APC_COVER_REMOVEDThe APCs cover is missing.
APC_PIXEL_OFFSETPixel offset of the APC from the floor turf
APC_NOT_CHARGINGThe APC is not charging.
APC_CHARGINGThe APC is charging.
APC_FULLY_CHARGEDThe APC is fully charged.
APC_CHANNEL_OFFThe APCs power channel is manually set off.
APC_CHANNEL_AUTO_OFFThe APCs power channel is automatically off.
APC_CHANNEL_ONThe APCs power channel is manually set on.
APC_CHANNEL_AUTO_ONThe APCs power channel is automatically on.
AUTOSET_FORCE_OFFThe APC turns automated and manual power channels off.
AUTOSET_OFFThe APC turns automated power channels off.
AUTOSET_ONThe APC turns automated power channels on.
APC_NO_POWERThe APC either isn't attached to a powernet or there is no power on the external powernet.
APC_LOW_POWERThe APCs external powernet does not have enough power to charge the APC.
APC_HAS_POWERThe APCs external powernet has enough power to charge the APC.
APC_DRAIN_TIMEHow long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.
APC_POWER_GAINHow much power ethereals gain/drain from APCs.
APC_RESET_EMPThe wire value used to reset the APCs wires after one's EMPed.
UPSTATE_COVER_SHIFTThe bit shift for the APCs cover status.
UPSTATE_OPENED1The bitflag representing the APCs cover being open for icon purposes.
UPSTATE_OPENED2The bitflag representing the APCs cover being missing for icon purposes.
UPSTATE_CELL_INThe APC has a power cell.
UPSTATE_BROKEThe APC is broken or damaged.
UPSTATE_MAINTThe APC is undergoing maintenance.
UPSTATE_WIREEXPThe APCs wires are exposed.
UPOVERLAY_OPERATINGBitflag indicating that the APCs operating status overlay should be shown.
UPOVERLAY_LOCKEDBitflag indicating that the APCs locked status overlay should be shown.
UPOVERLAY_CHARGING_SHIFTBit shift for the charging status of the APC.
UPOVERLAY_EQUIPMENT_SHIFTBit shift for the equipment status of the APC.
UPOVERLAY_LIGHTING_SHIFTBit shift for the lighting channel status of the APC.
UPOVERLAY_ENVIRON_SHIFTBit shift for the environment channel status of the APC.

Define Details

+

APC_CHANNEL_AUTO_OFF + + +

+

The APCs power channel is automatically off.

APC_CHANNEL_AUTO_ON + + +

+

The APCs power channel is automatically on.

APC_CHANNEL_OFF + + +

+

The APCs power channel is manually set off.

APC_CHANNEL_ON + + +

+

The APCs power channel is manually set on.

APC_CHARGING + + +

+

The APC is charging.

APC_COVER_CLOSED + + +

+

The APCs cover is closed.

APC_COVER_OPENED + + +

+

The APCs cover is open.

APC_COVER_REMOVED + + +

+

The APCs cover is missing.

APC_DRAIN_TIME + + +

+

How long it takes an ethereal to drain or charge APCs. Also used as a spam limiter.

APC_ELECTRONICS_INSTALLED + + +

+

The electronics are installed but not secured.

APC_ELECTRONICS_MISSING + + +

+

There are no electronics in the APC.

APC_ELECTRONICS_SECURED + + +

+

The electronics are installed and secured.

APC_FULLY_CHARGED + + +

+

The APC is fully charged.

APC_HAS_POWER + + +

+

The APCs external powernet has enough power to charge the APC.

APC_LOW_POWER + + +

+

The APCs external powernet does not have enough power to charge the APC.

APC_NOT_CHARGING + + +

+

The APC is not charging.

APC_NO_POWER + + +

+

The APC either isn't attached to a powernet or there is no power on the external powernet.

APC_PIXEL_OFFSET + + +

+

Pixel offset of the APC from the floor turf

APC_POWER_GAIN + + +

+

How much power ethereals gain/drain from APCs.

APC_RESET_EMP + + +

+

The wire value used to reset the APCs wires after one's EMPed.

AUTOSET_FORCE_OFF + + +

+

The APC turns automated and manual power channels off.

AUTOSET_OFF + + +

+

The APC turns automated power channels off.

AUTOSET_ON + + +

+

The APC turns automated power channels on.

UPOVERLAY_CHARGING_SHIFT + + +

+

Bit shift for the charging status of the APC.

UPOVERLAY_ENVIRON_SHIFT + + +

+

Bit shift for the environment channel status of the APC.

UPOVERLAY_EQUIPMENT_SHIFT + + +

+

Bit shift for the equipment status of the APC.

UPOVERLAY_LIGHTING_SHIFT + + +

+

Bit shift for the lighting channel status of the APC.

UPOVERLAY_LOCKED + + +

+

Bitflag indicating that the APCs locked status overlay should be shown.

UPOVERLAY_OPERATING + + +

+

Bitflag indicating that the APCs operating status overlay should be shown.

UPSTATE_BROKE + + +

+

The APC is broken or damaged.

UPSTATE_CELL_IN + + +

+

The APC has a power cell.

UPSTATE_COVER_SHIFT + + +

+

The bit shift for the APCs cover status.

UPSTATE_MAINT + + +

+

The APC is undergoing maintenance.

UPSTATE_OPENED1 + + +

+

The bitflag representing the APCs cover being open for icon purposes.

UPSTATE_OPENED2 + + +

+

The bitflag representing the APCs cover being missing for icon purposes.

UPSTATE_WIREEXP + + +

+

The APCs wires are exposed.

+ + + diff --git a/code/__DEFINES/art.html b/code/__DEFINES/art.html new file mode 100644 index 00000000000..867b8a80c68 --- /dev/null +++ b/code/__DEFINES/art.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/art.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/art.dm + +

+ + + +
TAB_LIBRARYtgui tab portrait categories- they're the same across all portrait tguis.
CRAYON_COST_SMALLcost defines for drawing graffiti: how many charges of a crayon or spraycan are used.

Define Details

+

CRAYON_COST_SMALL + + +

+

cost defines for drawing graffiti: how many charges of a crayon or spraycan are used.

TAB_LIBRARY + + +

+

tgui tab portrait categories- they're the same across all portrait tguis.

+ + + diff --git a/code/__DEFINES/assemblies.html b/code/__DEFINES/assemblies.html new file mode 100644 index 00000000000..0822ca8dc5e --- /dev/null +++ b/code/__DEFINES/assemblies.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/assemblies.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/assemblies.dm + +

+ + + + +
ASSEMBLY_NO_DUPLICATESWhen combined in a holder, blacklists duplicate assemblies
ASSEMBLY_BEEP_VOLUMEHow loud do assemblies beep at
HOLDER_MAX_ASSEMBLIESThe max amount of assemblies attachable on an assembly holder

Define Details

+

ASSEMBLY_BEEP_VOLUME + + +

+

How loud do assemblies beep at

ASSEMBLY_NO_DUPLICATES + + +

+

When combined in a holder, blacklists duplicate assemblies

HOLDER_MAX_ASSEMBLIES + + +

+

The max amount of assemblies attachable on an assembly holder

+ + + diff --git a/code/__DEFINES/assert.html b/code/__DEFINES/assert.html new file mode 100644 index 00000000000..0e4d1c965fb --- /dev/null +++ b/code/__DEFINES/assert.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/assert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/assert.dm + +

+ + +
ASSERTOverride BYOND's native ASSERT to optionally specify a message

Define Details

+

ASSERT + + + +

+

Override BYOND's native ASSERT to optionally specify a message

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_core.html b/code/__DEFINES/atmospherics/atmos_core.html new file mode 100644 index 00000000000..ec1221e8644 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_core.html @@ -0,0 +1,370 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_core.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_core.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MOLESAmount of total moles in said gas mixture
ARCHIVEArchived version of MOLES
GAS_METAAll gas related variables
META_GAS_SPECIFIC_HEATGas specific heat per mole
META_GAS_NAMEName of the gas
META_GAS_MOLES_VISIBLEAmount of moles required of the gas to be visible
META_GAS_OVERLAYOverlay path of the gas, also setup the alpha based on the amount
META_GAS_DANGERLet the air alarm know if the gas is dangerous
META_GAS_IDId of the gas for quick access
META_GAS_FUSION_POWERPower of the gas when used in the current iteration of fusion
META_GAS_DESCShort description of the gas.
R_IDEAL_GAS_EQUATIONkPaL/(Kmol)
ONE_ATMOSPHEREkPa
TCMB-270.3degC
T0C0degC
T20C20degC
COLD_ROOM_TEMP-14C - Temperature used for kitchen cold room, medical freezer, etc.
MINIMUM_HEAT_CAPACITYI feel the need to document what happens here. Basically this is used +catch rounding errors, and make gas go away in small portions. +People have raised it to higher levels in the past, do not do this. Consider this number a soft limit +If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.
MINIMUM_MOLE_COUNTMinimum mole count of a gas
MOLAR_ACCURACYMolar accuracy to round to
GAS_TYPE_COUNTTypes of gases (based on gaslist_cache)
MAXIMUM_ERROR_GAS_REMOVALMaximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)
MOLES_GAS_VISIBLEMoles in a standard cell after which gases are visible
FACTOR_GAS_VISIBLE_MAXmoles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility
MOLES_GAS_VISIBLE_STEPMole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on
TOTAL_VISIBLE_STATESThe total visible states
NO_REACTIONThe gas mixture is not reacting
REACTINGThe gas mixture is reacting
STOP_REACTIONSThe gas mixture is able to stop all reactions
FUSION_INSTABILITY_ENDOTHERMALITYMaximum instability before the reaction goes endothermic
FUSION_MAXIMUM_TEMPERATUREMaximum reachable fusion temperature
EXCITED_GROUP_BREAKDOWN_CYCLESSome further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added +This is because we cannot expect maps to have small spaces, so we need to even ourselves out often +We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff +This way large areas don't suddenly all become cold at once, it acts more like a wave
EXCITED_GROUP_DISMANTLE_CYCLESnumber of FULL air controller ticks before an excited group dismantles and removes its turfs from active
MINIMUM_AIR_RATIO_TO_SUSPENDRatio of air that must move to/from a tile to reset group processing
MINIMUM_AIR_RATIO_TO_MOVEMinimum ratio of air that must move to/from a tile
MINIMUM_AIR_TO_SUSPENDMinimum amount of air that has to move before a group processing can be suspended (Round about 10)
MINIMUM_MOLES_DELTA_TO_MOVEEither this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see
MINIMUM_TEMPERATURE_TO_MOVEor this (or both, obviously)
MINIMUM_TEMPERATURE_DELTA_TO_SUSPENDMinimum temperature difference before group processing is suspended
MINIMUM_TEMPERATURE_DELTA_TO_CONSIDERMinimum temperature difference before the gas temperatures are just set to be equal
MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTIONMinimum temperature to continue superconduction once started
MINIMUM_TEMPERATURE_START_SUPERCONDUCTIONMinimum temperature to start doing superconduction calculations
WINDOW_HEAT_TRANSFER_COEFFICIENTa hack for now
HEAT_CAPACITY_VACUUMa hack to help make vacuums "cold", sacrificing realism for gameplay
FIRE_MINIMUM_TEMPERATURE_TO_SPREADMinimum temperature for fire to move to the next turf (150 °C or 433 K)
FIRE_MINIMUM_TEMPERATURE_TO_EXISTMinimum temperature for fire to exist on a turf (100 °C or 373 K)
FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
FIRE_GROWTH_RATEHelper for small fires to grow
COLD_FIRE_SPREAD_RADIOSITY_SCALEMultiplier for the temperature shared to other turfs
MOLES_CELLSTANDARDmoles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so)
M_CELL_WITH_RATIOcompared against for superconductivity
O2STANDARDpercentage of oxygen in a normal mixture of air
N2STANDARDsame but for nitrogen
MOLES_O2STANDARDO2 standard value (21%)
MOLES_N2STANDARDN2 standard value (79%)
CELL_VOLUMEliters in a cell
O2_ANESTHETICO2 value for anesthetic canister
N2O_ANESTHETICN2O value for anesthetic canister
ATMOS_PASS_PROCask can_atmos_pass()
ATMOS_PASS_DENSITYjust check density
NORMAL_TURFNormal non-active turf
MAKE_ACTIVESet the turf to be activated on the next calculation
KILL_EXCITEDDisable excited group
ATMOS_PRESSURE_APPROXIMATION_ITERATIONSHow many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.
ATMOS_PRESSURE_ERROR_TOLERANCEWe deal with big numbers and a lot of math, things are bound to get imprecise. Take this traveller.

Define Details

+

ARCHIVE + + +

+

Archived version of MOLES

ATMOS_PASS_DENSITY + + +

+

just check density

ATMOS_PASS_PROC + + +

+

ask can_atmos_pass()

ATMOS_PRESSURE_APPROXIMATION_ITERATIONS + + +

+

How many maximum iterations do we allow the Newton-Raphson approximation for gas pressure to do.

ATMOS_PRESSURE_ERROR_TOLERANCE + + +

+

We deal with big numbers and a lot of math, things are bound to get imprecise. Take this traveller.

CELL_VOLUME + + +

+

liters in a cell

COLD_FIRE_SPREAD_RADIOSITY_SCALE + + +

+

Multiplier for the temperature shared to other turfs

COLD_ROOM_TEMP + + +

+

-14C - Temperature used for kitchen cold room, medical freezer, etc.

EXCITED_GROUP_BREAKDOWN_CYCLES + + +

+

Some further context on breakdown. Unlike dismantle, the breakdown ticker doesn't reset itself when a tile is added +This is because we cannot expect maps to have small spaces, so we need to even ourselves out often +We do this to avoid equalizing a large space in one tick, with some significant amount of say heat diff +This way large areas don't suddenly all become cold at once, it acts more like a wave

+

Because of this and the behavior of share(), the breakdown cycles value can be tweaked directly to effect how fast we want gas to move +number of FULL air controller ticks before an excited group breaks down (averages gas contents across turfs)

EXCITED_GROUP_DISMANTLE_CYCLES + + +

+

number of FULL air controller ticks before an excited group dismantles and removes its turfs from active

FACTOR_GAS_VISIBLE_MAX + + +

+

moles_visible * FACTOR_GAS_VISIBLE_MAX = Moles after which gas is at maximum visibility

FIRE_GROWTH_RATE + + +

+

Helper for small fires to grow

FIRE_MINIMUM_TEMPERATURE_TO_EXIST + + +

+

Minimum temperature for fire to exist on a turf (100 °C or 373 K)

FIRE_MINIMUM_TEMPERATURE_TO_SPREAD + + +

+

Minimum temperature for fire to move to the next turf (150 °C or 433 K)

FIRE_SPREAD_RADIOSITY_SCALE + + +

+

Multiplier for the temperature shared to other turfs

FUSION_INSTABILITY_ENDOTHERMALITY + + +

+

Maximum instability before the reaction goes endothermic

FUSION_MAXIMUM_TEMPERATURE + + +

+

Maximum reachable fusion temperature

GAS_META + + +

+

All gas related variables

GAS_TYPE_COUNT + + +

+

Types of gases (based on gaslist_cache)

HEAT_CAPACITY_VACUUM + + +

+

a hack to help make vacuums "cold", sacrificing realism for gameplay

KILL_EXCITED + + +

+

Disable excited group

MAKE_ACTIVE + + +

+

Set the turf to be activated on the next calculation

MAXIMUM_ERROR_GAS_REMOVAL + + +

+

Maximum error caused by QUANTIZE when removing gas (roughly, in reality around 2 * MOLAR_ACCURACY less)

META_GAS_DANGER + + +

+

Let the air alarm know if the gas is dangerous

META_GAS_DESC + + +

+

Short description of the gas.

META_GAS_FUSION_POWER + + +

+

Power of the gas when used in the current iteration of fusion

META_GAS_ID + + +

+

Id of the gas for quick access

META_GAS_MOLES_VISIBLE + + +

+

Amount of moles required of the gas to be visible

META_GAS_NAME + + +

+

Name of the gas

META_GAS_OVERLAY + + +

+

Overlay path of the gas, also setup the alpha based on the amount

META_GAS_SPECIFIC_HEAT + + +

+

Gas specific heat per mole

MINIMUM_AIR_RATIO_TO_MOVE + + +

+

Minimum ratio of air that must move to/from a tile

MINIMUM_AIR_RATIO_TO_SUSPEND + + +

+

Ratio of air that must move to/from a tile to reset group processing

MINIMUM_AIR_TO_SUSPEND + + +

+

Minimum amount of air that has to move before a group processing can be suspended (Round about 10)

MINIMUM_HEAT_CAPACITY + + +

+

I feel the need to document what happens here. Basically this is used +catch rounding errors, and make gas go away in small portions. +People have raised it to higher levels in the past, do not do this. Consider this number a soft limit +If you're making gasmixtures that have unexpected behavior related to this value, you're doing something wrong.

+

On an unrelated note this may cause a bug that creates negative gas, related to round(). When it has a second arg it will round up. +So for instance round(0.5, 1) == 1. I've hardcoded a fix for this into share, by forcing the garbage collect. +Any other attempts to fix it just killed atmos. I leave this to a greater man then I +The minimum heat capacity of a gas

MINIMUM_MOLES_DELTA_TO_MOVE + + +

+

Either this must be active (round about 0.1) //Might need to raise this a tad to better support space leaks. we'll see

MINIMUM_MOLE_COUNT + + +

+

Minimum mole count of a gas

MINIMUM_TEMPERATURE_DELTA_TO_CONSIDER + + +

+

Minimum temperature difference before the gas temperatures are just set to be equal

MINIMUM_TEMPERATURE_DELTA_TO_SUSPEND + + +

+

Minimum temperature difference before group processing is suspended

MINIMUM_TEMPERATURE_FOR_SUPERCONDUCTION + + +

+

Minimum temperature to continue superconduction once started

MINIMUM_TEMPERATURE_START_SUPERCONDUCTION + + +

+

Minimum temperature to start doing superconduction calculations

MINIMUM_TEMPERATURE_TO_MOVE + + +

+

or this (or both, obviously)

MOLAR_ACCURACY + + +

+

Molar accuracy to round to

MOLES + + +

+

Amount of total moles in said gas mixture

MOLES_CELLSTANDARD + + +

+

moles in a 2.5 m^3 cell at 101.325 Pa and 20 degC (103 or so)

MOLES_GAS_VISIBLE + + +

+

Moles in a standard cell after which gases are visible

MOLES_GAS_VISIBLE_STEP + + +

+

Mole step for alpha updates. This means alpha can update at 0.25, 0.5, 0.75 and so on

MOLES_N2STANDARD + + +

+

N2 standard value (79%)

MOLES_O2STANDARD + + +

+

O2 standard value (21%)

M_CELL_WITH_RATIO + + +

+

compared against for superconductivity

N2O_ANESTHETIC + + +

+

N2O value for anesthetic canister

N2STANDARD + + +

+

same but for nitrogen

NORMAL_TURF + + +

+

Normal non-active turf

NO_REACTION + + +

+

The gas mixture is not reacting

O2STANDARD + + +

+

percentage of oxygen in a normal mixture of air

O2_ANESTHETIC + + +

+

O2 value for anesthetic canister

ONE_ATMOSPHERE + + +

+

kPa

REACTING + + +

+

The gas mixture is reacting

R_IDEAL_GAS_EQUATION + + +

+

kPaL/(Kmol)

STOP_REACTIONS + + +

+

The gas mixture is able to stop all reactions

T0C + + +

+

0degC

T20C + + +

+

20degC

TCMB + + +

+

-270.3degC

TOTAL_VISIBLE_STATES + + +

+

The total visible states

WINDOW_HEAT_TRANSFER_COEFFICIENT + + +

+

a hack for now

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_helpers.html b/code/__DEFINES/atmospherics/atmos_helpers.html new file mode 100644 index 00000000000..c2525fdf804 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_helpers.html @@ -0,0 +1,89 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_helpers.dm + +

+ + + + + + + + + + + +
CANATMOSPASSCheck if an atom (A) and a turf (O) allow gas passage based on the atom's can_atmos_pass var, do not use. +(V) is if the share is vertical or not. True or False
PIPING_LAYER_SHIFTMoves the icon of the device based on the piping layer and on the direction
PIPING_FORWARD_SHIFTMoves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift
PIPING_LAYER_DOUBLE_SHIFTMoves the icon of the device based on the piping layer on both x and y
THERMAL_ENERGYCalculate the thermal energy of the selected gas (J)
ADD_GASDirectly adds a gas to a gas mixture without checking for its presence beforehand, use only if is certain the absence of said gas
ASSERT_GASAdds a gas to a gas mixture but checks if is already present, faster than the same proc
ASSERT_GAS_IN_LISTAdds a gas to a gas LIST but checks if is already present, accepts a list instead of a datum, so faster if the list is locally cached
TOTAL_MOLESCalculate the total moles of the gas mixture, faster than the proc, good for performance critical areas
GAS_OVERLAYSReturns a list of overlays of every gas in the mixture

Define Details

+

ADD_GAS + + + +

+

Directly adds a gas to a gas mixture without checking for its presence beforehand, use only if is certain the absence of said gas

ASSERT_GAS + + + +

+

Adds a gas to a gas mixture but checks if is already present, faster than the same proc

ASSERT_GAS_IN_LIST + + + +

+

Adds a gas to a gas LIST but checks if is already present, accepts a list instead of a datum, so faster if the list is locally cached

CANATMOSPASS + + + +

+

Check if an atom (A) and a turf (O) allow gas passage based on the atom's can_atmos_pass var, do not use. +(V) is if the share is vertical or not. True or False

GAS_OVERLAYS + + + +

+

Returns a list of overlays of every gas in the mixture

PIPING_FORWARD_SHIFT + + + +

+

Moves the icon of the device based on the piping layer and on the direction, the shift amount is dictated by more_shift

PIPING_LAYER_DOUBLE_SHIFT + + + +

+

Moves the icon of the device based on the piping layer on both x and y

PIPING_LAYER_SHIFT + + + +

+

Moves the icon of the device based on the piping layer and on the direction

THERMAL_ENERGY + + + +

+

Calculate the thermal energy of the selected gas (J)

TOTAL_MOLES + + + +

+

Calculate the total moles of the gas mixture, faster than the proc, good for performance critical areas

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_machinery.html b/code/__DEFINES/atmospherics/atmos_machinery.html new file mode 100644 index 00000000000..cf9f3d73491 --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_machinery.html @@ -0,0 +1,179 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_machinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_machinery.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ATMOS_EXTERNAL_BOUNDUsed when an atmos machine has "external" selected. +Found in pressure_checks of vents and air alarms.
ATMOS_INTERNAL_BOUNDUsed when an atmos machine has "internal" selected. +Found in pressure_checks of vents and air alarms.
ATMOS_BOUND_MAXThe maximum bound of an atmos machine. +Found in pressure_checks of vents and air alarms.
ATMOS_DIRECTION_SIPHONINGUsed when an atmos machine is siphoning out air. +Found in air alarms, vents, and scrubbers.
ATMOS_DIRECTION_RELEASINGUsed when a vent is releasing air. +Found in air alarms, vents, and scrubbers.
ATMOS_DIRECTION_SCRUBBINGUsed when a scrubber is scrubbing air. +Found in air alarms, vents, and scrubbers.
ATMOS_PUMP_MAX_PRESSUREThe max pressure of pumps.
AIR_ALARM_ALERT_NONENo TLV exceeded.
AIR_ALARM_ALERT_WARNINGTLV warning exceeded but not hazardous.
AIR_ALARM_ALERT_HAZARDTLV hazard exceeded or someone pulled the switch.
AIR_ALARM_BUILD_NO_CIRCUITAir alarm missing circuit
AIR_ALARM_BUILD_NO_WIRESAir alarm has circuit but is missing wires
AIR_ALARM_BUILD_COMPLETEAir alarm has all components but isn't completed
FIRE_ALARM_BUILD_NO_CIRCUITFire alarm missing circuit
FIRE_ALARM_BUILD_NO_WIRESFire alarm has circuit but is missing wires
FIRE_ALARM_BUILD_SECUREDFire alarm has all components but isn't completed
TLV_VAR_WARNING_MIN[/datum/tlv/var/warning_min]
TLV_VAR_HAZARD_MIN[/datum/tlv/var/hazard_min]
TLV_VAR_WARNING_MAX[/datum/tlv/var/warning_max]
TLV_VAR_HAZARD_MAX[/datum/tlv/var/hazard_max]
TLV_VAR_ALLAll the vars in /datum/tlv
TLV_VALUE_IGNORETLV datums will ignore variables set to this.
PUMP_DEFAULT_PRESSUREDefault pressure, used in the UI to reset the settings
PUMP_MAX_PRESSUREMaximum settable pressure
PUMP_MIN_PRESSUREMinimum settable pressure
PUMP_INWhat direction is the machine pumping (into pump/port or out to the tank/area)?
CAN_MAX_RELEASE_PRESSUREMax allowed pressure for canisters to release air per tick
CAN_MIN_RELEASE_PRESSUREMin allowed pressure for canisters to release air per tick

Define Details

+

AIR_ALARM_ALERT_HAZARD + + +

+

TLV hazard exceeded or someone pulled the switch.

AIR_ALARM_ALERT_NONE + + +

+

No TLV exceeded.

AIR_ALARM_ALERT_WARNING + + +

+

TLV warning exceeded but not hazardous.

AIR_ALARM_BUILD_COMPLETE + + +

+

Air alarm has all components but isn't completed

AIR_ALARM_BUILD_NO_CIRCUIT + + +

+

Air alarm missing circuit

AIR_ALARM_BUILD_NO_WIRES + + +

+

Air alarm has circuit but is missing wires

ATMOS_BOUND_MAX + + +

+

The maximum bound of an atmos machine. +Found in pressure_checks of vents and air alarms.

ATMOS_DIRECTION_RELEASING + + +

+

Used when a vent is releasing air. +Found in air alarms, vents, and scrubbers.

ATMOS_DIRECTION_SCRUBBING + + +

+

Used when a scrubber is scrubbing air. +Found in air alarms, vents, and scrubbers.

ATMOS_DIRECTION_SIPHONING + + +

+

Used when an atmos machine is siphoning out air. +Found in air alarms, vents, and scrubbers.

ATMOS_EXTERNAL_BOUND + + +

+

Used when an atmos machine has "external" selected. +Found in pressure_checks of vents and air alarms.

ATMOS_INTERNAL_BOUND + + +

+

Used when an atmos machine has "internal" selected. +Found in pressure_checks of vents and air alarms.

ATMOS_PUMP_MAX_PRESSURE + + +

+

The max pressure of pumps.

CAN_MAX_RELEASE_PRESSURE + + +

+

Max allowed pressure for canisters to release air per tick

CAN_MIN_RELEASE_PRESSURE + + +

+

Min allowed pressure for canisters to release air per tick

FIRE_ALARM_BUILD_NO_CIRCUIT + + +

+

Fire alarm missing circuit

FIRE_ALARM_BUILD_NO_WIRES + + +

+

Fire alarm has circuit but is missing wires

FIRE_ALARM_BUILD_SECURED + + +

+

Fire alarm has all components but isn't completed

PUMP_DEFAULT_PRESSURE + + +

+

Default pressure, used in the UI to reset the settings

PUMP_IN + + +

+

What direction is the machine pumping (into pump/port or out to the tank/area)?

PUMP_MAX_PRESSURE + + +

+

Maximum settable pressure

PUMP_MIN_PRESSURE + + +

+

Minimum settable pressure

TLV_VALUE_IGNORE + + +

+

TLV datums will ignore variables set to this.

TLV_VAR_ALL + + +

+

All the vars in /datum/tlv

TLV_VAR_HAZARD_MAX + + +

+

[/datum/tlv/var/hazard_max]

TLV_VAR_HAZARD_MIN + + +

+

[/datum/tlv/var/hazard_min]

TLV_VAR_WARNING_MAX + + +

+

[/datum/tlv/var/warning_max]

TLV_VAR_WARNING_MIN + + +

+

[/datum/tlv/var/warning_min]

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_mapping_helpers.html b/code/__DEFINES/atmospherics/atmos_mapping_helpers.html new file mode 100644 index 00000000000..775ec8b8f8e --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_mapping_helpers.html @@ -0,0 +1,95 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_mapping_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_mapping_helpers.dm + +

+ + + + + + + + + + + + + + +
TURF_TEMPERATUREUsed to define the temperature of a tile, arg is the temperature it should be at. Should always be put at the end of the atmos list. +This is solely to be used after compile-time.
OPENTURF_DEFAULT_ATMOSthe default air mix that open turfs spawn
OPENTURF_LOW_PRESSUREthe default low-pressure air mix used mostly for mining areas.
OPENTURF_DIRTY_ATMOSbreathable air that causes disease
TCOMMS_ATMOS-193,15°C telecommunications. also used for xenobiology slime killrooms
AIRLESS_ATMOSspace
FROZEN_ATMOS-93.15°C snow and ice turfs
COLD_ATMOS-14°C snow and ice turfs, a more breatheable coldroom atmos.
KITCHEN_COLDROOM_ATMOS-14°C kitchen coldroom, just might loss your tail; higher amount of mol to reach about 101.3 kpA
BURNMIX_ATMOSused in the holodeck burn test program
BURNING_COLD-153.15°C plasma air, used for burning people.
SPACE_TEMP_NOBLIUMSpace temperature hyper nob
LAVALAND_EQUIPMENT_EFFECT_PRESSUREwhat pressure you have to be under to increase the effect of equipment meant for lavaland

Define Details

+

AIRLESS_ATMOS + + +

+

space

BURNING_COLD + + +

+

-153.15°C plasma air, used for burning people.

BURNMIX_ATMOS + + +

+

used in the holodeck burn test program

COLD_ATMOS + + +

+

-14°C snow and ice turfs, a more breatheable coldroom atmos.

FROZEN_ATMOS + + +

+

-93.15°C snow and ice turfs

KITCHEN_COLDROOM_ATMOS + + +

+

-14°C kitchen coldroom, just might loss your tail; higher amount of mol to reach about 101.3 kpA

LAVALAND_EQUIPMENT_EFFECT_PRESSURE + + +

+

what pressure you have to be under to increase the effect of equipment meant for lavaland

OPENTURF_DEFAULT_ATMOS + + +

+

the default air mix that open turfs spawn

OPENTURF_DIRTY_ATMOS + + +

+

breathable air that causes disease

OPENTURF_LOW_PRESSURE + + +

+

the default low-pressure air mix used mostly for mining areas.

SPACE_TEMP_NOBLIUM + + +

+

Space temperature hyper nob

TCOMMS_ATMOS + + +

+

-193,15°C telecommunications. also used for xenobiology slime killrooms

TURF_TEMPERATURE + + + +

+

Used to define the temperature of a tile, arg is the temperature it should be at. Should always be put at the end of the atmos list. +This is solely to be used after compile-time.

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_mob_interaction.html b/code/__DEFINES/atmospherics/atmos_mob_interaction.html new file mode 100644 index 00000000000..f93f053a20d --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_mob_interaction.html @@ -0,0 +1,305 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_mob_interaction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_mob_interaction.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BREATH_VOLUME
BREATH_PERCENTAGEAmount of air to take a from a tile
BREATH_LOSTReturn this from a while_present proc to call its on_loss version, if one exists +Useful for doing "we're done" effects without duped code
HAZARD_HIGH_PRESSUREThis determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)
WARNING_HIGH_PRESSUREThis determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)
WARNING_LOW_PRESSUREThis is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)
HAZARD_LOW_PRESSUREThis is when the black ultra-low pressure icon is displayed. (This one is set as a constant)
TEMPERATURE_DAMAGE_COEFFICIENTThis is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.
LAVALAND_MAX_TEMPERATUREThe maximum temperature of Lavaland
ICEBOX_MIN_TEMPERATUREThe minimum temperature of Icebox
BODYTEMP_NORMALThe natural temperature for a body
BODYTEMP_AUTORECOVERY_DIVISORThis is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.
BODYTEMP_AUTORECOVERY_MINIMUMMinimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.
BODYTEMP_COLD_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.
BODYTEMP_HEAT_DIVISORSimilar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.
BODYTEMP_COOLING_MAXThe maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.
BODYTEMP_HEATING_MAXThe maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.
BODYTEMP_HEAT_DAMAGE_LIMITThe body temperature limit the human body can take before it starts taking damage from heat. +This also affects how fast the body normalises it's temperature when hot. +340k is about 66c, and rather high for a human.
BODYTEMP_HEAT_LAVALAND_SAFEA temperature limit which is above the maximum lavaland temperature
BODYTEMP_COLD_DAMAGE_LIMITThe body temperature limit the human body can take before it starts taking damage from cold. +This also affects how fast the body normalises it's temperature when cold. +270k is about -3c, that is below freezing and would hurt over time.
BODYTEMP_COLD_ICEBOX_SAFEA temperature limit which is above the minimum icebox temperature
BODYTEMP_HEAT_WOUND_LIMITThe body temperature limit the human body can take before it will take wound damage.
BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIERThe modifier on cold damage limit hulks get ontop of their regular limit
HULK_COLD_DAMAGE_MODThe modifier on cold damage hulks get.
BODYTEMP_HEAT_WARNING_3The temperature the red icon is displayed.
BODYTEMP_HEAT_WARNING_2The temperature the orange icon is displayed.
BODYTEMP_HEAT_WARNING_1The temperature the yellow icon is displayed.
BODYTEMP_COLD_WARNING_1The temperature the light green icon is displayed.
BODYTEMP_COLD_WARNING_2The temperature the cyan icon is displayed.
BODYTEMP_COLD_WARNING_3The temperature the blue icon is displayed.
BODYTEMP_FIRE_TEMP_SOFTCAPBeyond this temperature, being on fire will increase body temperature by less and less
PRESSURE_DAMAGE_COEFFICIENTThe amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE
LOW_PRESSURE_DAMAGEThe amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).
COLD_SLOWDOWN_FACTORHumans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this
SPACE_HELM_MIN_TEMP_PROTECTwhat min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.
SPACE_HELM_MAX_TEMP_PROTECTThermal insulation works both ways /Malkevin
SPACE_SUIT_MIN_TEMP_PROTECTwhat min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.
SPACE_SUIT_MIN_TEMP_PROTECT_OFFThe min cold protection of a space suit without the heater active
FIRE_SUIT_MIN_TEMP_PROTECTCold protection for firesuits
FIRE_SUIT_MAX_TEMP_PROTECTwhat max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.
FIRE_HELM_MIN_TEMP_PROTECTCold protection for fire helmets
FIRE_HELM_MAX_TEMP_PROTECTfor fire helmet quality items (red and white hardhats)
FIRE_IMMUNITY_MAX_TEMP_PROTECTwhat max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.
HELMET_MIN_TEMP_PROTECTFor normal helmets
HELMET_MAX_TEMP_PROTECTFor normal helmets
ARMOR_MIN_TEMP_PROTECTFor armor
ARMOR_MAX_TEMP_PROTECTFor armor
GLOVES_MIN_TEMP_PROTECTFor some gloves (black and)
GLOVES_MAX_TEMP_PROTECTFor some gloves
SHOES_MIN_TEMP_PROTECTFor gloves
SHOES_MAX_TEMP_PROTECTFor gloves
BURNING_ITEM_MINIMUM_TEMPERATUREMinimum temperature for items on fire

Define Details

+

ARMOR_MAX_TEMP_PROTECT + + +

+

For armor

ARMOR_MIN_TEMP_PROTECT + + +

+

For armor

BODYTEMP_AUTORECOVERY_DIVISOR + + +

+

This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. This is applied each tick, so long as the mob is alive.

BODYTEMP_AUTORECOVERY_MINIMUM + + +

+

Minimum amount of kelvin moved toward 310K per tick. So long as abs(310.15 - bodytemp) is more than 50.

BODYTEMP_COLD_DAMAGE_LIMIT + + +

+

The body temperature limit the human body can take before it starts taking damage from cold. +This also affects how fast the body normalises it's temperature when cold. +270k is about -3c, that is below freezing and would hurt over time.

BODYTEMP_COLD_DIVISOR + + +

+

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to lose bodytemp faster.

BODYTEMP_COLD_ICEBOX_SAFE + + +

+

A temperature limit which is above the minimum icebox temperature

BODYTEMP_COLD_WARNING_1 + + +

+

The temperature the light green icon is displayed.

BODYTEMP_COLD_WARNING_2 + + +

+

The temperature the cyan icon is displayed.

BODYTEMP_COLD_WARNING_3 + + +

+

The temperature the blue icon is displayed.

BODYTEMP_COOLING_MAX + + +

+

The maximum number of degrees that your body can cool in 1 tick, due to the environment, when in a cold area.

BODYTEMP_FIRE_TEMP_SOFTCAP + + +

+

Beyond this temperature, being on fire will increase body temperature by less and less

BODYTEMP_HEATING_MAX + + +

+

The maximum number of degrees that your body can heat up in 1 tick, due to the environment, when in a hot area.

BODYTEMP_HEAT_DAMAGE_LIMIT + + +

+

The body temperature limit the human body can take before it starts taking damage from heat. +This also affects how fast the body normalises it's temperature when hot. +340k is about 66c, and rather high for a human.

BODYTEMP_HEAT_DIVISOR + + +

+

Similar to the BODYTEMP_AUTORECOVERY_DIVISOR, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to gain bodytemp faster.

BODYTEMP_HEAT_LAVALAND_SAFE + + +

+

A temperature limit which is above the maximum lavaland temperature

BODYTEMP_HEAT_WARNING_1 + + +

+

The temperature the yellow icon is displayed.

BODYTEMP_HEAT_WARNING_2 + + +

+

The temperature the orange icon is displayed.

BODYTEMP_HEAT_WARNING_3 + + +

+

The temperature the red icon is displayed.

BODYTEMP_HEAT_WOUND_LIMIT + + +

+

The body temperature limit the human body can take before it will take wound damage.

BODYTEMP_HULK_COLD_DAMAGE_LIMIT_MODIFIER + + +

+

The modifier on cold damage limit hulks get ontop of their regular limit

BODYTEMP_NORMAL + + +

+

The natural temperature for a body

BREATH_LOST + + +

+

Return this from a while_present proc to call its on_loss version, if one exists +Useful for doing "we're done" effects without duped code

BREATH_PERCENTAGE + + +

+

Amount of air to take a from a tile

BREATH_VOLUME + + +

+

BURNING_ITEM_MINIMUM_TEMPERATURE + + +

+

Minimum temperature for items on fire

COLD_SLOWDOWN_FACTOR + + +

+

Humans are slowed by the difference between bodytemp and BODYTEMP_COLD_DAMAGE_LIMIT divided by this

FIRE_HELM_MAX_TEMP_PROTECT + + +

+

for fire helmet quality items (red and white hardhats)

FIRE_HELM_MIN_TEMP_PROTECT + + +

+

Cold protection for fire helmets

FIRE_IMMUNITY_MAX_TEMP_PROTECT + + +

+

what max_heat_protection_temperature is set to for firesuit quality suits and helmets. MUST NOT BE 0.

FIRE_SUIT_MAX_TEMP_PROTECT + + +

+

what max_heat_protection_temperature is set to for firesuit quality suits. MUST NOT BE 0.

FIRE_SUIT_MIN_TEMP_PROTECT + + +

+

Cold protection for firesuits

GLOVES_MAX_TEMP_PROTECT + + +

+

For some gloves

GLOVES_MIN_TEMP_PROTECT + + +

+

For some gloves (black and)

HAZARD_HIGH_PRESSURE + + +

+

This determins at what pressure the ultra-high pressure red icon is displayed. (This one is set as a constant)

HAZARD_LOW_PRESSURE + + +

+

This is when the black ultra-low pressure icon is displayed. (This one is set as a constant)

HELMET_MAX_TEMP_PROTECT + + +

+

For normal helmets

HELMET_MIN_TEMP_PROTECT + + +

+

For normal helmets

HULK_COLD_DAMAGE_MOD + + +

+

The modifier on cold damage hulks get.

ICEBOX_MIN_TEMPERATURE + + +

+

The minimum temperature of Icebox

LAVALAND_MAX_TEMPERATURE + + +

+

The maximum temperature of Lavaland

LOW_PRESSURE_DAMAGE + + +

+

The amount of damage someone takes when in a low pressure area (The pressure threshold is so low that it doesn't make sense to do any calculations, so it just applies this flat value).

PRESSURE_DAMAGE_COEFFICIENT + + +

+

The amount of pressure damage someone takes is equal to (pressure / HAZARD_HIGH_PRESSURE)*PRESSURE_DAMAGE_COEFFICIENT, with the maximum of MAX_PRESSURE_DAMAGE

SHOES_MAX_TEMP_PROTECT + + +

+

For gloves

SHOES_MIN_TEMP_PROTECT + + +

+

For gloves

SPACE_HELM_MAX_TEMP_PROTECT + + +

+

Thermal insulation works both ways /Malkevin

SPACE_HELM_MIN_TEMP_PROTECT + + +

+

what min_cold_protection_temperature is set to for space-helmet quality headwear. MUST NOT BE 0.

SPACE_SUIT_MIN_TEMP_PROTECT + + +

+

what min_cold_protection_temperature is set to for space-suit quality jumpsuits or suits. MUST NOT BE 0.

SPACE_SUIT_MIN_TEMP_PROTECT_OFF + + +

+

The min cold protection of a space suit without the heater active

TEMPERATURE_DAMAGE_COEFFICIENT + + +

+

This is used in handle_temperature_damage() for humans, and in reagents that affect body temperature. Temperature damage is multiplied by this amount.

WARNING_HIGH_PRESSURE + + +

+

This determins when the orange pressure icon is displayed (it is 0.7 * HAZARD_HIGH_PRESSURE)

WARNING_LOW_PRESSURE + + +

+

This is when the gray low pressure icon is displayed. (it is 2.5 * HAZARD_LOW_PRESSURE)

+ + + diff --git a/code/__DEFINES/atmospherics/atmos_piping.html b/code/__DEFINES/atmospherics/atmos_piping.html new file mode 100644 index 00000000000..2b128cdb97a --- /dev/null +++ b/code/__DEFINES/atmospherics/atmos_piping.html @@ -0,0 +1,172 @@ + + + + + + + code/__DEFINES/atmospherics/atmos_piping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atmospherics/atmos_piping.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MAX_OUTPUT_PRESSURE(kPa) What pressure pumps and powered equipment max out at.
MAX_TRANSFER_RATE(L/s) Maximum speed powered equipment can work at.
VOLUME_PUMP_MINIMUM_OUTPUT_PRESSURE(kPa) Minimum pressure volume pumps can move.
VOLUME_PUMP_MAX_OUTPUT_PRESSURE(kPa) What pressure volume pumps max out at.
VOLUME_PUMP_OVERPRESSURE_ALLOWANCE(kPa) Allowed pressure difference between input and output pipenets for overclocked volume pump.
VOLUME_PUMP_LEAK_AMOUNTHow many percent of the contents that an overclocked volume pumps leak into the air.
TANK_STANDARD_VOLUMEThe volume of the standard handheld gas tanks on the station.
TANK_MIN_RELEASE_PRESSUREThe minimum pressure an gas tanks release valve can be set to.
TANK_MAX_RELEASE_PRESSUREThe maximum pressure an gas tanks release valve can be set to.
TANK_DEFAULT_RELEASE_PRESSUREThe default initial value gas tanks release valves are set to. (At least the ones containing pure plasma/oxygen.)
TANK_PLASMAMAN_RELEASE_PRESSUREThe default initial value gas plasmamen tanks releases valves are set to.
TANK_CLOWN_RELEASE_PRESSUREThe default initial value gas flown tanks releases valves are set to.
TANK_MELT_TEMPERATUREThe internal temperature in kelvins at which a handheld gas tank begins to take damage.
TANK_LEAK_PRESSUREThe internal pressure in kPa at which a handheld gas tank begins to take damage.
TANK_RUPTURE_PRESSUREThe internal pressure in kPa at which a handheld gas tank almost immediately ruptures.
TANK_FRAGMENT_PRESSUREThe internal pressure in kPa at which an gas tank that breaks will cause an explosion.
TANK_FRAGMENT_SCALERange scaling constant for tank explosions. Calibrated so that a TTV assembled using two 70L tanks will hit the maxcap at at least 160atm.
TANK_MERGE_OVERPRESSUREDenotes that our tank is overpressurized simply from gas merging.
TANK_RESULTS_REACTIONReactions that have happened in the tank.
TANK_RESULTS_MISCAdditional information of the tank.
PIPING_ALL_LAYERintended to connect with all layers, check for all instead of just one.
PIPING_ONE_PER_TURFcan only be built if nothing else with this flag is on the tile already.
PIPING_DEFAULT_LAYER_ONLYcan only exist at PIPING_LAYER_DEFAULT
PIPING_CARDINAL_AUTONORMALIZEnorth/south east/west doesn't matter, auto normalize on build.
PIPING_ALL_COLORSintended to connect with everything, both layers and colors
PIPING_BRIDGEcan bridge over pipenets
VENTCRAWL_ALLOWEDAllows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception
VENTCRAWL_ENTRANCE_ALLOWEDAllows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.
VENTCRAWL_CAN_SEEUsed to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.

Define Details

+

MAX_OUTPUT_PRESSURE + + +

+

(kPa) What pressure pumps and powered equipment max out at.

MAX_TRANSFER_RATE + + +

+

(L/s) Maximum speed powered equipment can work at.

PIPING_ALL_COLORS + + +

+

intended to connect with everything, both layers and colors

PIPING_ALL_LAYER + + +

+

intended to connect with all layers, check for all instead of just one.

PIPING_BRIDGE + + +

+

can bridge over pipenets

PIPING_CARDINAL_AUTONORMALIZE + + +

+

north/south east/west doesn't matter, auto normalize on build.

PIPING_DEFAULT_LAYER_ONLY + + +

+

can only exist at PIPING_LAYER_DEFAULT

PIPING_ONE_PER_TURF + + +

+

can only be built if nothing else with this flag is on the tile already.

TANK_CLOWN_RELEASE_PRESSURE + + +

+

The default initial value gas flown tanks releases valves are set to.

TANK_DEFAULT_RELEASE_PRESSURE + + +

+

The default initial value gas tanks release valves are set to. (At least the ones containing pure plasma/oxygen.)

TANK_FRAGMENT_PRESSURE + + +

+

The internal pressure in kPa at which an gas tank that breaks will cause an explosion.

TANK_FRAGMENT_SCALE + + +

+

Range scaling constant for tank explosions. Calibrated so that a TTV assembled using two 70L tanks will hit the maxcap at at least 160atm.

TANK_LEAK_PRESSURE + + +

+

The internal pressure in kPa at which a handheld gas tank begins to take damage.

TANK_MAX_RELEASE_PRESSURE + + +

+

The maximum pressure an gas tanks release valve can be set to.

TANK_MELT_TEMPERATURE + + +

+

The internal temperature in kelvins at which a handheld gas tank begins to take damage.

TANK_MERGE_OVERPRESSURE + + +

+

Denotes that our tank is overpressurized simply from gas merging.

TANK_MIN_RELEASE_PRESSURE + + +

+

The minimum pressure an gas tanks release valve can be set to.

TANK_PLASMAMAN_RELEASE_PRESSURE + + +

+

The default initial value gas plasmamen tanks releases valves are set to.

TANK_RESULTS_MISC + + +

+

Additional information of the tank.

TANK_RESULTS_REACTION + + +

+

Reactions that have happened in the tank.

TANK_RUPTURE_PRESSURE + + +

+

The internal pressure in kPa at which a handheld gas tank almost immediately ruptures.

TANK_STANDARD_VOLUME + + +

+

The volume of the standard handheld gas tanks on the station.

VENTCRAWL_ALLOWED + + +

+

Allows for ventcrawling to occur. All atmospheric machines have this flag on by default. Cryo is the exception

VENTCRAWL_CAN_SEE + + +

+

Used to check if a machinery is visible. Called by update_pipe_vision(). On by default for all except cryo.

VENTCRAWL_ENTRANCE_ALLOWED + + +

+

Allows mobs to enter or leave from atmospheric machines. On for passive, unary, and scrubber vents.

VOLUME_PUMP_LEAK_AMOUNT + + +

+

How many percent of the contents that an overclocked volume pumps leak into the air.

VOLUME_PUMP_MAX_OUTPUT_PRESSURE + + +

+

(kPa) What pressure volume pumps max out at.

VOLUME_PUMP_MINIMUM_OUTPUT_PRESSURE + + +

+

(kPa) Minimum pressure volume pumps can move.

VOLUME_PUMP_OVERPRESSURE_ALLOWANCE + + +

+

(kPa) Allowed pressure difference between input and output pipenets for overclocked volume pump.

+ + + diff --git a/code/__DEFINES/atom_hud.html b/code/__DEFINES/atom_hud.html new file mode 100644 index 00000000000..bcfbdd70ea8 --- /dev/null +++ b/code/__DEFINES/atom_hud.html @@ -0,0 +1,127 @@ + + + + + + + code/__DEFINES/atom_hud.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/atom_hud.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
HEALTH_HUDdead, alive, sick, health status
STATUS_HUDa simple line rounding the mob's number health
ID_HUDthe job asigned to your ID
WANTED_HUDwanted, released, parroled, security status
IMPLOYAL_HUDloyality implant
IMPSEC_FIRST_HUDchemical implant
IMPSEC_SECOND_HUDtracking implant
DIAG_STAT_HUDSilicon/Mech/Circuit Status
DIAG_HUDSilicon health bar
DIAG_BATT_HUDBorg/Mech/Circutry power meter
DIAG_MECH_HUDMech health bar
DIAG_BOT_HUDBot HUDs
DIAG_TRACK_HUDMech/Silicon tracking beacon, Circutry long range icon
DIAG_AIRLOCK_HUDAirlock shock overlay
DIAG_PATH_HUDBot path indicators
GLAND_HUDGland indicators for abductors
DIAG_LAUNCHPAD_HUDDisplays launchpads' targeting reticle
DIAG_CAMERA_HUDMech camera HUD
MALF_APC_HUDSteady Hacked APC effect, visible only to Malf AIs
ADD_HUD_TO_COOLDOWNcooldown for being shown the images for any particular data hud

Define Details

+

ADD_HUD_TO_COOLDOWN + + +

+

cooldown for being shown the images for any particular data hud

DIAG_AIRLOCK_HUD + + +

+

Airlock shock overlay

DIAG_BATT_HUD + + +

+

Borg/Mech/Circutry power meter

DIAG_BOT_HUD + + +

+

Bot HUDs

DIAG_CAMERA_HUD + + +

+

Mech camera HUD

DIAG_HUD + + +

+

Silicon health bar

DIAG_LAUNCHPAD_HUD + + +

+

Displays launchpads' targeting reticle

DIAG_MECH_HUD + + +

+

Mech health bar

DIAG_PATH_HUD + + +

+

Bot path indicators

DIAG_STAT_HUD + + +

+

Silicon/Mech/Circuit Status

DIAG_TRACK_HUD + + +

+

Mech/Silicon tracking beacon, Circutry long range icon

GLAND_HUD + + +

+

Gland indicators for abductors

HEALTH_HUD + + +

+

dead, alive, sick, health status

ID_HUD + + +

+

the job asigned to your ID

IMPLOYAL_HUD + + +

+

loyality implant

IMPSEC_FIRST_HUD + + +

+

chemical implant

IMPSEC_SECOND_HUD + + +

+

tracking implant

MALF_APC_HUD + + +

+

Steady Hacked APC effect, visible only to Malf AIs

STATUS_HUD + + +

+

a simple line rounding the mob's number health

WANTED_HUD + + +

+

wanted, released, parroled, security status

+ + + diff --git a/code/__DEFINES/basic_mobs.html b/code/__DEFINES/basic_mobs.html new file mode 100644 index 00000000000..0c98920c9d0 --- /dev/null +++ b/code/__DEFINES/basic_mobs.html @@ -0,0 +1,69 @@ + + + + + + + code/__DEFINES/basic_mobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/basic_mobs.dm + +

+ + + + + + + + + +
DEL_ON_DEATHBasic mob flags +Delete mob upon death
FLIP_ON_DEATHRotate mob 180 degrees while it is dead
REMAIN_DENSE_WHILE_DEADMob remains dense while dead
FLAMMABLE_MOBMob can be set on fire
IMMUNE_TO_FISTSMob never takes damage from unarmed attacks
TRAIT_BASIC_ATTACK_FORECASTTemporary trait applied when an attack forecast animation has completed
END_GLIDE_SPEEDAbove this speed we stop gliding because it looks silly
MOOK_ATTACK_NEUTRALmook attack status flags

Define Details

+

DEL_ON_DEATH + + +

+

Basic mob flags +Delete mob upon death

END_GLIDE_SPEED + + +

+

Above this speed we stop gliding because it looks silly

FLAMMABLE_MOB + + +

+

Mob can be set on fire

FLIP_ON_DEATH + + +

+

Rotate mob 180 degrees while it is dead

IMMUNE_TO_FISTS + + +

+

Mob never takes damage from unarmed attacks

MOOK_ATTACK_NEUTRAL + + +

+

mook attack status flags

REMAIN_DENSE_WHILE_DEAD + + +

+

Mob remains dense while dead

TRAIT_BASIC_ATTACK_FORECAST + + +

+

Temporary trait applied when an attack forecast animation has completed

+ + + diff --git a/code/__DEFINES/basketball.html b/code/__DEFINES/basketball.html new file mode 100644 index 00000000000..54cb57bb8ba --- /dev/null +++ b/code/__DEFINES/basketball.html @@ -0,0 +1,54 @@ + + + + + + + code/__DEFINES/basketball.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/basketball.dm + +

+ + + + + + +
STAMINA_COST_SHOOTINGYou hit exhaustion when you use 100 stamina +shooting with RMB drains stamina (but LMB does not)
STAMINA_COST_DUNKINGdunking is more strenous than shooting
STAMINA_COST_DUNKING_MOBdunking another person is harder
STAMINA_COST_SPINNINGspin emote uses stamina while holding ball
STAMINA_COST_DISARMINGgetting shoved or disarmed while holding ball drains stamina

Define Details

+

STAMINA_COST_DISARMING + + +

+

getting shoved or disarmed while holding ball drains stamina

STAMINA_COST_DUNKING + + +

+

dunking is more strenous than shooting

STAMINA_COST_DUNKING_MOB + + +

+

dunking another person is harder

STAMINA_COST_SHOOTING + + +

+

You hit exhaustion when you use 100 stamina +shooting with RMB drains stamina (but LMB does not)

STAMINA_COST_SPINNING + + +

+

spin emote uses stamina while holding ball

+ + + diff --git a/code/__DEFINES/bitrunning.html b/code/__DEFINES/bitrunning.html new file mode 100644 index 00000000000..41643f7aa13 --- /dev/null +++ b/code/__DEFINES/bitrunning.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/bitrunning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/bitrunning.dm + +

+ + + + + + + + + + +
BITRUNNER_REWARD_MINYay you did it
BITRUNNER_REWARD_LOWYou faced some decent odds
BITRUNNER_REWARD_MEDIUMOne of your teammates might've died
BITRUNNER_REWARD_HIGHHeroic effort
BITRUNNER_REWARD_EXTREMEFor the priciest domains, free loot basically
BITRUNNER_DIFFICULTY_NONEBlue in ui. Basically the only threat is rogue ghosts roles
BITRUNNER_DIFFICULTY_LOWYellow. Mobs are kinda dumb and largely avoidable
BITRUNNER_DIFFICULTY_MEDIUMOrange. Mobs will shoot at you or are pretty aggressive
BITRUNNER_DIFFICULTY_HIGHRed with skull. I am trying to kill bitrunners.

Define Details

+

BITRUNNER_DIFFICULTY_HIGH + + +

+

Red with skull. I am trying to kill bitrunners.

BITRUNNER_DIFFICULTY_LOW + + +

+

Yellow. Mobs are kinda dumb and largely avoidable

BITRUNNER_DIFFICULTY_MEDIUM + + +

+

Orange. Mobs will shoot at you or are pretty aggressive

BITRUNNER_DIFFICULTY_NONE + + +

+

Blue in ui. Basically the only threat is rogue ghosts roles

BITRUNNER_REWARD_EXTREME + + +

+

For the priciest domains, free loot basically

BITRUNNER_REWARD_HIGH + + +

+

Heroic effort

BITRUNNER_REWARD_LOW + + +

+

You faced some decent odds

BITRUNNER_REWARD_MEDIUM + + +

+

One of your teammates might've died

BITRUNNER_REWARD_MIN + + +

+

Yay you did it

+ + + diff --git a/code/__DEFINES/blood.html b/code/__DEFINES/blood.html new file mode 100644 index 00000000000..cf2e8b19f07 --- /dev/null +++ b/code/__DEFINES/blood.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/blood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/blood.dm + +

+ + + + + + + + + + + + + + + +
BLOODY_FOOTPRINT_BASE_ALPHAMinimum alpha of footprints
BLOOD_AMOUNT_PER_DECALHow much blood a regular blood splatter contains
BLOOD_ITEM_MAXHow much blood an item can have stuck on it
BLOOD_POOL_MAXHow much blood a blood decal can contain
BLOOD_FOOTPRINTS_MINHow much blood a footprint need to at least contain
BLOOD_STATE_HUMANRed blood
BLOOD_STATE_XENOGreen xeno blood
BLOOD_STATE_OILBlack robot oil
BLOOD_STATE_NOT_BLOODYNo blood is present
DROP_BRAINMobs will drop a brain
DROP_ORGANSMobs will drop organs
DROP_BODYPARTSMobs will drop bodyparts (arms, legs, etc.)
DROP_ITEMSMobs will drop items
DROP_ALL_REMAINSMobs will drop everything

Define Details

+

BLOODY_FOOTPRINT_BASE_ALPHA + + +

+

Minimum alpha of footprints

BLOOD_AMOUNT_PER_DECAL + + +

+

How much blood a regular blood splatter contains

BLOOD_FOOTPRINTS_MIN + + +

+

How much blood a footprint need to at least contain

BLOOD_ITEM_MAX + + +

+

How much blood an item can have stuck on it

BLOOD_POOL_MAX + + +

+

How much blood a blood decal can contain

BLOOD_STATE_HUMAN + + +

+

Red blood

BLOOD_STATE_NOT_BLOODY + + +

+

No blood is present

BLOOD_STATE_OIL + + +

+

Black robot oil

BLOOD_STATE_XENO + + +

+

Green xeno blood

DROP_ALL_REMAINS + + +

+

Mobs will drop everything

DROP_BODYPARTS + + +

+

Mobs will drop bodyparts (arms, legs, etc.)

DROP_BRAIN + + +

+

Mobs will drop a brain

DROP_ITEMS + + +

+

Mobs will drop items

DROP_ORGANS + + +

+

Mobs will drop organs

+ + + diff --git a/code/__DEFINES/bodyparts.html b/code/__DEFINES/bodyparts.html new file mode 100644 index 00000000000..a9a5add6b1b --- /dev/null +++ b/code/__DEFINES/bodyparts.html @@ -0,0 +1,90 @@ + + + + + + + code/__DEFINES/bodyparts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/bodyparts.dm + +

+ + + + + + + + + + + + +
BODYPARTS_DEFAULT_MAXIMUMThe standard amount of bodyparts a carbon has. Currently 6, HEAD/L_ARM/R_ARM/CHEST/L_LEG/R_LEG
LIMB_MAX_HP_PROSTHESISLimb Health +The max damage a limb can take before it stops taking damage. +Used by the max_damage var.
LIMB_MAX_HP_ALIEN_LARVAXenomorph Limbs
LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCEDLimb Body Damage Coefficient +A mutiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing. +For instance, if a limb has 50 damage, and has a coefficient of 50%, the human is considered to have suffered 25 damage to their total health.
AUGGED_LIMB_EMP_BRUTE_DAMAGEThe brute damage an augged limb takes from an EMP.
AUGGED_LIMB_EMP_BURN_DAMAGEThe brute damage an augged limb takes from an EMP.
AUGGED_LIMB_EMP_PARALYZE_TIMEWhen hit by an EMP, the time an augged limb will be paralyzed for if its above the damage threshold.
AUGGED_LEG_EMP_KNOCKDOWN_TIMEWhen hit by an EMP, the time an augged leg will be knocked down for.
AUGGED_CHEST_EMP_STUN_TIMEWhen hit by an EMP, the time a augged chest will cause a hardstun for if its above the damage threshold.
AUGGED_CHEST_EMP_SHAKE_TIMEWhen hit by an EMP, the time an augged chest will cause the mob to shake() for.
AUGGED_HEAD_EMP_GLITCH_DURATIONWhen hit by an EMP, the time an augged head will make vision fucky for.

Define Details

+

AUGGED_CHEST_EMP_SHAKE_TIME + + +

+

When hit by an EMP, the time an augged chest will cause the mob to shake() for.

AUGGED_CHEST_EMP_STUN_TIME + + +

+

When hit by an EMP, the time a augged chest will cause a hardstun for if its above the damage threshold.

AUGGED_HEAD_EMP_GLITCH_DURATION + + +

+

When hit by an EMP, the time an augged head will make vision fucky for.

AUGGED_LEG_EMP_KNOCKDOWN_TIME + + +

+

When hit by an EMP, the time an augged leg will be knocked down for.

AUGGED_LIMB_EMP_BRUTE_DAMAGE + + +

+

The brute damage an augged limb takes from an EMP.

AUGGED_LIMB_EMP_BURN_DAMAGE + + +

+

The brute damage an augged limb takes from an EMP.

AUGGED_LIMB_EMP_PARALYZE_TIME + + +

+

When hit by an EMP, the time an augged limb will be paralyzed for if its above the damage threshold.

BODYPARTS_DEFAULT_MAXIMUM + + +

+

The standard amount of bodyparts a carbon has. Currently 6, HEAD/L_ARM/R_ARM/CHEST/L_LEG/R_LEG

LIMB_BODY_DAMAGE_COEFFICIENT_ADVANCED + + +

+

Limb Body Damage Coefficient +A mutiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing. +For instance, if a limb has 50 damage, and has a coefficient of 50%, the human is considered to have suffered 25 damage to their total health.

LIMB_MAX_HP_ALIEN_LARVA + + +

+

Xenomorph Limbs

LIMB_MAX_HP_PROSTHESIS + + +

+

Limb Health +The max damage a limb can take before it stops taking damage. +Used by the max_damage var.

+ + + diff --git a/code/__DEFINES/botany.html b/code/__DEFINES/botany.html new file mode 100644 index 00000000000..a7725e8fba7 --- /dev/null +++ b/code/__DEFINES/botany.html @@ -0,0 +1,176 @@ + + + + + + + code/__DEFINES/botany.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/botany.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MAX_PLANT_YIELD-- Botany plant stat defines. -- +MAXES:
MIN_PLANT_ENDURANCEMINS:
PLANT_REAGENT_VOLUMEDefault reagent volume for grown plants
WEED_HARDY_YIELD_MIN-- Some botany trait value defines. -- +Weed Hardy can only reduce plants to 3 yield.
CARNIVORY_POTENCY_MINCarnivory potency can only reduce potency to 30.
FUNGAL_METAB_YIELD_MINFungle megabolism plants have a min yield of 1.
STATIC_NUTRIENT_CAPACITY-- Hydroponics tray defines. -- +Base amount of nutrients a tray can old.
MAX_TRAY_TOXINSMaximum amount of toxins a tray can reach.
MAX_TRAY_PESTSMaxumum pests a tray can reach.
MAX_TRAY_WEEDSMaximum weeds a tray can reach.
GENE_SHEAR_MIN_HEALTHMinumum plant health required for gene shears.
FLORA_GUN_MIN_ENDURANCEMinumum plant endurance required to lock a mutation with a somatoray.
PLANT_GENE_REMOVABLE-- Flags for genes -- +Plant genes that can be removed via gene shears.
PLANT_GENE_MUTATABLEPlant genes that can be mutated randomly in strange seeds / due to high instability.
PLANT_GENE_GRAFTABLEPlant genes that can be graftable. Used in formatting text, as they need to be set to be graftable anyways.
MUTATE_EARLY-- Flags for seeds. -- +Allows a plant to wild mutate (mutate on haravest) at a certain instability.
TRAIT_HALVES_YIELD-- Flags for traits. -- +Caps the plant's yield at 5 instead of 10.
GLOW_ID-- Trait IDs. Plants that match IDs cannot be added to the same plant. -- +Plants that glow.
PLANT_TYPE_IDPlant types.
TEMP_CHANGE_IDPlants that affect the reagent's temperature.
CONTENTS_CHANGE_IDPlants that affect the reagent contents.
THROW_IMPACT_IDPlants that do something special when they impact.
REAGENT_TRANSFER_IDPlants that transfer reagents on impact.
ATTACK_SELF_IDPlants that have a unique effect on attack_self.
HYDROTRAY_CYCLE_DELAYHow long to wait between plant age ticks, by default. See /obj/machinery/hydroponics/var/cycledelay
EGG_LAYING_MESSAGESA list of possible egg laying descriptions
PLANT_MODERATELY_RAREUsed as a baseline plant rarity for more uncommon plants, usually requiring mutation

Define Details

+

ATTACK_SELF_ID + + +

+

Plants that have a unique effect on attack_self.

CARNIVORY_POTENCY_MIN + + +

+

Carnivory potency can only reduce potency to 30.

CONTENTS_CHANGE_ID + + +

+

Plants that affect the reagent contents.

EGG_LAYING_MESSAGES + + +

+

A list of possible egg laying descriptions

FLORA_GUN_MIN_ENDURANCE + + +

+

Minumum plant endurance required to lock a mutation with a somatoray.

FUNGAL_METAB_YIELD_MIN + + +

+

Fungle megabolism plants have a min yield of 1.

GENE_SHEAR_MIN_HEALTH + + +

+

Minumum plant health required for gene shears.

GLOW_ID + + +

+

-- Trait IDs. Plants that match IDs cannot be added to the same plant. -- +Plants that glow.

HYDROTRAY_CYCLE_DELAY + + +

+

How long to wait between plant age ticks, by default. See /obj/machinery/hydroponics/var/cycledelay

MAX_PLANT_YIELD + + +

+

-- Botany plant stat defines. -- +MAXES:

MAX_TRAY_PESTS + + +

+

Maxumum pests a tray can reach.

MAX_TRAY_TOXINS + + +

+

Maximum amount of toxins a tray can reach.

MAX_TRAY_WEEDS + + +

+

Maximum weeds a tray can reach.

MIN_PLANT_ENDURANCE + + +

+

MINS:

MUTATE_EARLY + + +

+

-- Flags for seeds. -- +Allows a plant to wild mutate (mutate on haravest) at a certain instability.

PLANT_GENE_GRAFTABLE + + +

+

Plant genes that can be graftable. Used in formatting text, as they need to be set to be graftable anyways.

PLANT_GENE_MUTATABLE + + +

+

Plant genes that can be mutated randomly in strange seeds / due to high instability.

PLANT_GENE_REMOVABLE + + +

+

-- Flags for genes -- +Plant genes that can be removed via gene shears.

PLANT_MODERATELY_RARE + + +

+

Used as a baseline plant rarity for more uncommon plants, usually requiring mutation

PLANT_REAGENT_VOLUME + + +

+

Default reagent volume for grown plants

PLANT_TYPE_ID + + +

+

Plant types.

REAGENT_TRANSFER_ID + + +

+

Plants that transfer reagents on impact.

STATIC_NUTRIENT_CAPACITY + + +

+

-- Hydroponics tray defines. -- +Base amount of nutrients a tray can old.

TEMP_CHANGE_ID + + +

+

Plants that affect the reagent's temperature.

THROW_IMPACT_ID + + +

+

Plants that do something special when they impact.

TRAIT_HALVES_YIELD + + +

+

-- Flags for traits. -- +Caps the plant's yield at 5 instead of 10.

WEED_HARDY_YIELD_MIN + + +

+

-- Some botany trait value defines. -- +Weed Hardy can only reduce plants to 3 yield.

+ + + diff --git a/code/__DEFINES/callbacks.html b/code/__DEFINES/callbacks.html new file mode 100644 index 00000000000..0ec177fa965 --- /dev/null +++ b/code/__DEFINES/callbacks.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/callbacks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/callbacks.dm + +

+ + + + + +
CALLBACKA shorthand for the callback datum, documented here
MAKE_SPAWN_ACT_LIKE_WAITFORPer the DM reference, spawn(-1) will execute the spawned code immediately until a block is met.
ASYNCCreate a codeblock that will not block the callstack if a block is met.
VERB_CALLBACKlike CALLBACK but specifically for verb callbacks

Define Details

+

ASYNC + + +

+

Create a codeblock that will not block the callstack if a block is met.

CALLBACK + + +

+

A shorthand for the callback datum, documented here

MAKE_SPAWN_ACT_LIKE_WAITFOR + + +

+

Per the DM reference, spawn(-1) will execute the spawned code immediately until a block is met.

VERB_CALLBACK + + +

+

like CALLBACK but specifically for verb callbacks

+ + + diff --git a/code/__DEFINES/cameranets.html b/code/__DEFINES/cameranets.html new file mode 100644 index 00000000000..fad47d4c2a5 --- /dev/null +++ b/code/__DEFINES/cameranets.html @@ -0,0 +1,38 @@ + + + + + + + code/__DEFINES/cameranets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cameranets.dm + +

+ + + +
CHUNK_SIZEWe only want chunk sizes that are to the power of 2. E.g: 2, 4, 8, 16, etc..
GET_CHUNK_COORDTakes a position, transforms it into a chunk bounded position. Indexes at 1 so it'll land on actual turfs always

Define Details

+

CHUNK_SIZE + + +

+

We only want chunk sizes that are to the power of 2. E.g: 2, 4, 8, 16, etc..

GET_CHUNK_COORD + + + +

+

Takes a position, transforms it into a chunk bounded position. Indexes at 1 so it'll land on actual turfs always

+ + + diff --git a/code/__DEFINES/cargo.html b/code/__DEFINES/cargo.html new file mode 100644 index 00000000000..0a1a498d27d --- /dev/null +++ b/code/__DEFINES/cargo.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/cargo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cargo.dm + +

+ + + + + + + +
CARGO_CRATE_VALUEThe baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.
CARGO_MAX_ORDERThe highest amount of orders you can have of one thing at any one time
OVER_ORDER_LIMITReturned by /obj/docking_port/mobile/supply/proc/get_order_count to signify us going over the order limit
SCAN_EXPORTSUniversal Scanner mode for export scanning.
SCAN_SALES_TAGUniversal Scanner mode for using the sales tagger.
SCAN_PRICE_TAGUniversal Scanner mode for using the price tagger.

Define Details

+

CARGO_CRATE_VALUE + + +

+

The baseline unit for cargo crates. Adjusting this will change the cost of all in-game shuttles, crate export values, bounty rewards, and all supply pack import values, as they use this as their unit of measurement.

CARGO_MAX_ORDER + + +

+

The highest amount of orders you can have of one thing at any one time

OVER_ORDER_LIMIT + + +

+

Returned by /obj/docking_port/mobile/supply/proc/get_order_count to signify us going over the order limit

SCAN_EXPORTS + + +

+

Universal Scanner mode for export scanning.

SCAN_PRICE_TAG + + +

+

Universal Scanner mode for using the price tagger.

SCAN_SALES_TAG + + +

+

Universal Scanner mode for using the sales tagger.

+ + + diff --git a/code/__DEFINES/chat.html b/code/__DEFINES/chat.html new file mode 100644 index 00000000000..de32711fec8 --- /dev/null +++ b/code/__DEFINES/chat.html @@ -0,0 +1,74 @@ + + + + + + + code/__DEFINES/chat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/chat.dm + +

+ + + + + + + + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

CHAT_RELIABILITY_HISTORY_SIZEHow many chat payloads to keep in history
CHAT_RELIABILITY_MAX_RESENDSHow many resends to allow before giving up
CHAT_MESSAGE_MAX_LENGTHMax length of chat message in characters
debug_worldUsed for debug messages to the world
debug_usrUsed for debug messages to the player
debug_adminsUsed for debug messages to the admins
debug_world_logUsed for debug messages to the server
examine_blockAdds a generic box around whatever message you're sending in chat. Really makes things stand out.

Define Details

+

CHAT_MESSAGE_MAX_LENGTH + + +

+

Max length of chat message in characters

CHAT_RELIABILITY_HISTORY_SIZE + + +

+

How many chat payloads to keep in history

CHAT_RELIABILITY_MAX_RESENDS + + +

+

How many resends to allow before giving up

debug_admins + + + +

+

Used for debug messages to the admins

debug_usr + + + +

+

Used for debug messages to the player

debug_world + + + +

+

Used for debug messages to the world

debug_world_log + + + +

+

Used for debug messages to the server

examine_block + + + +

+

Adds a generic box around whatever message you're sending in chat. Really makes things stand out.

+ + + diff --git a/code/__DEFINES/chat_filter.html b/code/__DEFINES/chat_filter.html new file mode 100644 index 00000000000..77648a52c53 --- /dev/null +++ b/code/__DEFINES/chat_filter.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/chat_filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/chat_filter.dm + +

+ + + + + +
CHAT_FILTER_INDEX_WORDThe index of the word that was filtered in a is_*_filtered proc
CHAT_FILTER_INDEX_REASONThe index of the reason why a word was filtered in a is_*_filtered proc
REPORT_CHAT_FILTER_TO_USERGiven a chat filter result, will send a to_chat to the user telling them about why their message was blocked
CAN_BYPASS_FILTERGiven a user, returns TRUE if they are allowed to bypass the filter.

Define Details

+

CAN_BYPASS_FILTER + + + +

+

Given a user, returns TRUE if they are allowed to bypass the filter.

CHAT_FILTER_INDEX_REASON + + +

+

The index of the reason why a word was filtered in a is_*_filtered proc

CHAT_FILTER_INDEX_WORD + + +

+

The index of the word that was filtered in a is_*_filtered proc

REPORT_CHAT_FILTER_TO_USER + + + +

+

Given a chat filter result, will send a to_chat to the user telling them about why their message was blocked

+ + + diff --git a/code/__DEFINES/cleaning.html b/code/__DEFINES/cleaning.html new file mode 100644 index 00000000000..80032d02007 --- /dev/null +++ b/code/__DEFINES/cleaning.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/cleaning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cleaning.dm + +

+ + + + + + + + + + +
DO_NOT_CLEANWhether we should not attempt to clean.
CLEAN_TYPE_BLOODCleans blood off of the cleanable atom.
CLEAN_TYPE_FINGERPRINTSCleans fingerprints off of the cleanable atom.
CLEAN_TYPE_FIBERSCleans fibres off of the cleanable atom.
CLEAN_TYPE_RADIATIONCleans radiation off of the cleanable atom.
CLEAN_TYPE_DISEASECleans diseases off of the cleanable atom.
CLEAN_TYPE_ACIDCleans acid off of the cleanable atom.
CLEAN_TYPE_LIGHT_DECALCleans decals such as dirt and oil off the floor
CLEAN_TYPE_HARD_DECALCleans decals such as cobwebs off the floor

Define Details

+

CLEAN_TYPE_ACID + + +

+

Cleans acid off of the cleanable atom.

CLEAN_TYPE_BLOOD + + +

+

Cleans blood off of the cleanable atom.

CLEAN_TYPE_DISEASE + + +

+

Cleans diseases off of the cleanable atom.

CLEAN_TYPE_FIBERS + + +

+

Cleans fibres off of the cleanable atom.

CLEAN_TYPE_FINGERPRINTS + + +

+

Cleans fingerprints off of the cleanable atom.

CLEAN_TYPE_HARD_DECAL + + +

+

Cleans decals such as cobwebs off the floor

CLEAN_TYPE_LIGHT_DECAL + + +

+

Cleans decals such as dirt and oil off the floor

CLEAN_TYPE_RADIATION + + +

+

Cleans radiation off of the cleanable atom.

DO_NOT_CLEAN + + +

+

Whether we should not attempt to clean.

+ + + diff --git a/code/__DEFINES/client.html b/code/__DEFINES/client.html new file mode 100644 index 00000000000..86c7295d2dd --- /dev/null +++ b/code/__DEFINES/client.html @@ -0,0 +1,41 @@ + + + + + + + code/__DEFINES/client.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/client.dm + +

+ + + +
IS_CLIENT_OR_MOCKChecks if the given target is either a client or a mock client
VALIDATE_CLIENTEnsures that the client has been fully initialized via New(), and can't somehow execute actions before that. Security measure. +WILL RETURN OUT OF THE ENTIRE PROC COMPLETELY IF THE CLIENT IS NOT FULLY INITIALIZED. BE WARNED IF YOU WANT RETURN VALUES.

Define Details

+

IS_CLIENT_OR_MOCK + + + +

+

Checks if the given target is either a client or a mock client

VALIDATE_CLIENT + + + +

+

Ensures that the client has been fully initialized via New(), and can't somehow execute actions before that. Security measure. +WILL RETURN OUT OF THE ENTIRE PROC COMPLETELY IF THE CLIENT IS NOT FULLY INITIALIZED. BE WARNED IF YOU WANT RETURN VALUES.

+ + + diff --git a/code/__DEFINES/clothing.html b/code/__DEFINES/clothing.html new file mode 100644 index 00000000000..b41c5696ca4 --- /dev/null +++ b/code/__DEFINES/clothing.html @@ -0,0 +1,99 @@ + + + + + + + code/__DEFINES/clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/clothing.dm + +

+ + + + + + + + + + + + + + + +
SHOES_UNTIEDShoes are untied
SHOES_TIEDShoes are tied normally
SHOES_KNOTTEDShoes have been tied in knots
SENSOR_OFFSuit sensor is turned off
SENSOR_LIVINGSuit sensor displays the mob as alive or dead
SENSOR_VITALSSuit sensor displays the mob damage values
SENSOR_COORDSSuit sensor displays the mob damage values and exact location
BROKEN_SENSORSSuit sensor has been EMP'd and cannot display any information (can be fixed)
NO_SENSORSSuit sensor is not present and cannot display any information
HAS_SENSORSSuit sensor is present and can display information
LOCKED_SENSORSSuit sensor is present and is forced to display information (used on prisoner jumpsuits)
ADD_CLOTHING_TRAITWrapper for adding clothing based traits
REMOVE_CLOTHING_TRAITWrapper for removing clothing based traits
MOTH_EATING_CLOTHING_DAMAGEHow much integrity does a shirt lose every time we bite it?

Define Details

+

ADD_CLOTHING_TRAIT + + + +

+

Wrapper for adding clothing based traits

BROKEN_SENSORS + + +

+

Suit sensor has been EMP'd and cannot display any information (can be fixed)

HAS_SENSORS + + +

+

Suit sensor is present and can display information

LOCKED_SENSORS + + +

+

Suit sensor is present and is forced to display information (used on prisoner jumpsuits)

MOTH_EATING_CLOTHING_DAMAGE + + +

+

How much integrity does a shirt lose every time we bite it?

NO_SENSORS + + +

+

Suit sensor is not present and cannot display any information

REMOVE_CLOTHING_TRAIT + + + +

+

Wrapper for removing clothing based traits

SENSOR_COORDS + + +

+

Suit sensor displays the mob damage values and exact location

SENSOR_LIVING + + +

+

Suit sensor displays the mob as alive or dead

SENSOR_OFF + + +

+

Suit sensor is turned off

SENSOR_VITALS + + +

+

Suit sensor displays the mob damage values

SHOES_KNOTTED + + +

+

Shoes have been tied in knots

SHOES_TIED + + +

+

Shoes are tied normally

SHOES_UNTIED + + +

+

Shoes are untied

+ + + diff --git a/code/__DEFINES/colors.html b/code/__DEFINES/colors.html new file mode 100644 index 00000000000..dbf34edf044 --- /dev/null +++ b/code/__DEFINES/colors.html @@ -0,0 +1,260 @@ + + + + + + + code/__DEFINES/colors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/colors.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ADMIN_COLOUR_PRIORITYOnly used by rare effects like greentext coloring mobs and when admins varedit color
TEMPORARY_COLOUR_PRIORITYe.g. purple effect of the revenant on a mob, black effect when mob electrocuted
WASHABLE_COLOUR_PRIORITYColor splashed onto an atom (e.g. paint on turf)
FIXED_COLOUR_PRIORITYColor inherent to the atom (e.g. blob color)
COLOUR_PRIORITY_AMOUNThow many colour priority levels there are.
COLOR_TOOL_BLUEColors for grayscale tools
COLOR_SAMPLE_YELLOWColors for xenobiology vatgrowing
COLOR_THEME_MIDNIGHTMain colors for UI themes
COLOR_PERIWINKLEEColors for eigenstates
COLOR_STARLIGHTStarlight!
LIGHT_COLOR_DEFAULTSome defines to generalise colours used in lighting.
LIGHT_COLOR_GREENBright but quickly dissipating neon green. rgb(100, 200, 100)
LIGHT_COLOR_NUCLEARBright, pale "nuclear" green. rgb(120, 255, 120)
LIGHT_COLOR_VIVID_GREENVivid, slightly blue green. rgb(60, 240, 70)
LIGHT_COLOR_ELECTRIC_GREENElectric green. rgb(0, 255, 0)
LIGHT_COLOR_BLUECold, diluted blue. rgb(100, 150, 250)
LIGHT_COLOR_FAINT_BLUEFaint white blue. rgb(222, 239, 255)
LIGHT_COLOR_BLUEGREENLight blueish green. rgb(125, 225, 175)
LIGHT_COLOR_CYANDiluted cyan. rgb(125, 225, 225)
LIGHT_COLOR_FAINT_CYANFaint cyan. rgb(200, 240, 255)
LIGHT_COLOR_BABY_BLUEBaby Blue rgb(0, 170, 220)
LIGHT_COLOR_ELECTRIC_CYANElectric cyan rgb(0, 255, 255)
LIGHT_COLOR_LIGHT_CYANMore-saturated cyan. rgb(64, 206, 255)
LIGHT_COLOR_DARK_BLUESaturated blue. rgb(51, 117, 248)
LIGHT_COLOR_PINKDiluted, mid-warmth pink. rgb(225, 125, 225)
LIGHT_COLOR_DIM_YELLOWDimmed yellow, leaning kaki. rgb(225, 225, 125)
LIGHT_COLOR_BRIGHT_YELLOWBright yellow. rgb(255, 255, 150)
LIGHT_COLOR_BROWNClear brown, mostly dim. rgb(150, 100, 50)
LIGHT_COLOR_ORANGEMostly pure orange. rgb(250, 150, 50)
LIGHT_COLOR_PURPLELight Purple. rgb(149, 44, 244)
LIGHT_COLOR_LAVENDERLess-saturated light purple. rgb(155, 81, 255)
LIGHT_COLOR_HOLY_MAGICslightly desaturated bright yellow.
LIGHT_COLOR_BLOOD_MAGICdeep crimson
LIGHT_COLOR_FIREWarm orange color, leaning strongly towards yellow. rgb(250, 160, 25)
LIGHT_COLOR_LAVAVery warm yellow, leaning slightly towards orange. rgb(196, 138, 24)
LIGHT_COLOR_FLAREBright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)
LIGHT_COLOR_INTENSE_REDVivid red. Leans a bit darker to accentuate red colors and leave other channels a bit dry. rgb(200, 25, 25)
LIGHT_COLOR_SLIME_LAMPWeird color, between yellow and green, very slimy. rgb(175, 200, 75)
LIGHT_COLOR_TUNGSTENExtremely diluted yellow, close to skin color (for some reason). rgb(255, 214, 170)
LIGHT_COLOR_HALOGENBarely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)
LIGHT_COLOR_BUBBLEGUMNearly red. rgb(226, 78, 118)
COLOR_PRIDE_REDColors for pride week
COLOR_DISPLAY_REDColors for status/tram/incident displays
DEFAULT_ASAY_COLORThe default color for admin say, used as a fallback when the preference is not enabled
AMBIENT_OCCLUSIONIcon filter that creates ambient occlusion
GAUSSIAN_BLURIcon filter that creates gaussian blur

Define Details

+

ADMIN_COLOUR_PRIORITY + + +

+

Only used by rare effects like greentext coloring mobs and when admins varedit color

AMBIENT_OCCLUSION + + +

+

Icon filter that creates ambient occlusion

COLOR_DISPLAY_RED + + +

+

Colors for status/tram/incident displays

COLOR_PERIWINKLEE + + +

+

Colors for eigenstates

COLOR_PRIDE_RED + + +

+

Colors for pride week

COLOR_SAMPLE_YELLOW + + +

+

Colors for xenobiology vatgrowing

COLOR_STARLIGHT + + +

+

Starlight!

COLOR_THEME_MIDNIGHT + + +

+

Main colors for UI themes

COLOR_TOOL_BLUE + + +

+

Colors for grayscale tools

COLOUR_PRIORITY_AMOUNT + + +

+

how many colour priority levels there are.

DEFAULT_ASAY_COLOR + + +

+

The default color for admin say, used as a fallback when the preference is not enabled

FIXED_COLOUR_PRIORITY + + +

+

Color inherent to the atom (e.g. blob color)

GAUSSIAN_BLUR + + + +

+

Icon filter that creates gaussian blur

LIGHT_COLOR_BABY_BLUE + + +

+

Baby Blue rgb(0, 170, 220)

LIGHT_COLOR_BLOOD_MAGIC + + +

+

deep crimson

LIGHT_COLOR_BLUE + + +

+

Cold, diluted blue. rgb(100, 150, 250)

LIGHT_COLOR_BLUEGREEN + + +

+

Light blueish green. rgb(125, 225, 175)

LIGHT_COLOR_BRIGHT_YELLOW + + +

+

Bright yellow. rgb(255, 255, 150)

LIGHT_COLOR_BROWN + + +

+

Clear brown, mostly dim. rgb(150, 100, 50)

LIGHT_COLOR_BUBBLEGUM + + +

+

Nearly red. rgb(226, 78, 118)

LIGHT_COLOR_CYAN + + +

+

Diluted cyan. rgb(125, 225, 225)

LIGHT_COLOR_DARK_BLUE + + +

+

Saturated blue. rgb(51, 117, 248)

LIGHT_COLOR_DEFAULT + + +

+

Some defines to generalise colours used in lighting.

+

Important note: colors can end up significantly different from the basic html picture, especially when saturated +Bright light used by default in tubes and bulbs

LIGHT_COLOR_DIM_YELLOW + + +

+

Dimmed yellow, leaning kaki. rgb(225, 225, 125)

LIGHT_COLOR_ELECTRIC_CYAN + + +

+

Electric cyan rgb(0, 255, 255)

LIGHT_COLOR_ELECTRIC_GREEN + + +

+

Electric green. rgb(0, 255, 0)

LIGHT_COLOR_FAINT_BLUE + + +

+

Faint white blue. rgb(222, 239, 255)

LIGHT_COLOR_FAINT_CYAN + + +

+

Faint cyan. rgb(200, 240, 255)

LIGHT_COLOR_FIRE + + +

+

Warm orange color, leaning strongly towards yellow. rgb(250, 160, 25)

LIGHT_COLOR_FLARE + + +

+

Bright, non-saturated red. Leaning slightly towards pink for visibility. rgb(250, 100, 75)

LIGHT_COLOR_GREEN + + +

+

Bright but quickly dissipating neon green. rgb(100, 200, 100)

LIGHT_COLOR_HALOGEN + + +

+

Barely visible cyan-ish hue, as the doctor prescribed. rgb(240, 250, 250)

LIGHT_COLOR_HOLY_MAGIC + + +

+

slightly desaturated bright yellow.

LIGHT_COLOR_INTENSE_RED + + +

+

Vivid red. Leans a bit darker to accentuate red colors and leave other channels a bit dry. rgb(200, 25, 25)

LIGHT_COLOR_LAVA + + +

+

Very warm yellow, leaning slightly towards orange. rgb(196, 138, 24)

LIGHT_COLOR_LAVENDER + + +

+

Less-saturated light purple. rgb(155, 81, 255)

LIGHT_COLOR_LIGHT_CYAN + + +

+

More-saturated cyan. rgb(64, 206, 255)

LIGHT_COLOR_NUCLEAR + + +

+

Bright, pale "nuclear" green. rgb(120, 255, 120)

LIGHT_COLOR_ORANGE + + +

+

Mostly pure orange. rgb(250, 150, 50)

LIGHT_COLOR_PINK + + +

+

Diluted, mid-warmth pink. rgb(225, 125, 225)

LIGHT_COLOR_PURPLE + + +

+

Light Purple. rgb(149, 44, 244)

LIGHT_COLOR_SLIME_LAMP + + +

+

Weird color, between yellow and green, very slimy. rgb(175, 200, 75)

LIGHT_COLOR_TUNGSTEN + + +

+

Extremely diluted yellow, close to skin color (for some reason). rgb(255, 214, 170)

LIGHT_COLOR_VIVID_GREEN + + +

+

Vivid, slightly blue green. rgb(60, 240, 70)

TEMPORARY_COLOUR_PRIORITY + + +

+

e.g. purple effect of the revenant on a mob, black effect when mob electrocuted

WASHABLE_COLOUR_PRIORITY + + +

+

Color splashed onto an atom (e.g. paint on turf)

+ + + diff --git a/code/__DEFINES/combat.html b/code/__DEFINES/combat.html new file mode 100644 index 00000000000..36179234187 --- /dev/null +++ b/code/__DEFINES/combat.html @@ -0,0 +1,431 @@ + + + + + + + code/__DEFINES/combat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/combat.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BRUTEPhysical fracturing and warping of the material.
BURNScorching and charring of the material.
TOXPoisoning. Mostly caused by reagents.
OXYSuffocation.
STAMINAExhaustion and nonlethal damage.
BRAINBrain damage. Should probably be decomissioned and replaced with proper organ damage.
ACIDInvolves corrosive substances.
BIOInvolved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.
BOMBInvolves a shockwave, usually from an explosion.
BULLETInvolves a solid projectile.
CONSUMEInvolves being eaten
ENERGYInvolves an EMP or energy-based projectile.
FIREInvolves fire or temperature extremes.
LASERInvolves a laser.
MELEEInvolves a melee attack or a thrown object.
WOUNDInvolved in checking the likelyhood of applying a wound to a mob.
ARMOR_LIST_DAMAGEArmor values that are used for damage
ARMOR_LIST_DURABILITYArmor values that are used for durability
ARMOR_LIST_ALLAll armors, preferable in the order as seen above
CANSTUNIf set, this mob can be stunned.
CANKNOCKDOWNIf set, this mob can be knocked down (or stamcrit)
CANUNCONSCIOUSIf set, this mob can be knocked unconscious via status effect. +NOTE, does not mean immune to sleep. Unconscious and sleep are two different things. +NOTE, does not relate to the unconscious stat either. Only the status effect.
CANPUSHIf set, this mob can be grabbed or pushed when bumped into
GODMODEMob godmode. Prevents most statuses and damage from being taken, but is more often than not a crapshoot. Use with caution.
MELEE_ATTACKAttack was made with a melee weapon
UNARMED_ATTACKAttack is a punch or kick. +Mob attacks are not classified as unarmed (currently).
PROJECTILE_ATTACKA projectile is hitting us.
THROWN_PROJECTILE_ATTACKA thrown item is hitting us.
LEAP_ATTACKWe're being tackled or leaped at.
GET_ASSAILANTUsed in check block to get what mob is attacking the blocker.
EMBEDDED_PAIN_CHANCEChance for embedded objects to cause pain (damage user)
EMBEDDED_ITEM_FALLOUTChance for embedded object to fall out (causing pain but removing the object)
EMBED_CHANCEChance for an object to embed into somebody when thrown
EMBEDDED_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does while embedded (this*item.w_class)
EMBEDDED_IMPACT_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does when it first embeds (this*item.w_class)
EMBED_THROWSPEED_THRESHOLDThe minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1)
EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does when it falls out or is removed without a surgery (this*item.w_class)
EMBEDDED_UNSAFE_REMOVAL_TIMEA Time in ticks, total removal time = (this*item.w_class)
EMBEDDED_JOSTLE_CHANCEChance for embedded objects to cause pain every time they move (jostle)
EMBEDDED_JOSTLE_PAIN_MULTIPLIERCoefficient of multiplication for the damage the item does while
EMBEDDED_PAIN_STAM_PCTThis percentage of all pain will be dealt as stam damage rather than brute (0-1)
EMBED_CHANCE_SPEED_BONUSFor thrown weapons, every extra speed it's thrown at above its normal throwspeed will add this to the embed chance
BOLT_TYPE_STANDARDGun has a bolt, it stays closed while not cycling. The gun must be racked to have a bullet chambered when a mag is inserted. +Example: c20, shotguns, m90
BOLT_TYPE_OPENGun has a bolt, it is open when ready to fire. The gun can never have a chambered bullet with no magazine, but the bolt stays ready when a mag is removed. +Example: Tomson, Uzi, the L6 SAW
BOLT_TYPE_NO_BOLTGun has no moving bolt mechanism, it cannot be racked. Also dumps the entire contents when emptied instead of a magazine. +Example: Break action shotguns, revolvers
BOLT_TYPE_LOCKINGGun has a bolt, it locks back when empty. It can be released to chamber a round if a magazine is in. +Example: Pistols with a slide lock, some SMGs
SAWN_OFF_ACC_PENALTYaccuracy penalty of sawn off guns
SAWN_OFF_RECOILadded recoil of sawn off guns
AMMO_BOX_ONE_SPRITEammo box will always use provided icon state
AMMO_BOX_PER_BULLETammo box will have a different state for each bullet; <icon_state>-
AMMO_BOX_FULL_EMPTYAmmo box will have a different sprite for any ammo at all, and no ammo, <icon_state>-full <icon_state>-empty
SUPPRESSED_QUIETstandard suppressed
SUPPRESSED_VERYno message
EXPLODE_GIB_THRESHOLDex_act() with EXPLODE_DEVASTATE severity will gib mobs with less than this much bomb armor
CARBON_MAX_IMPACT_SPEED_BONUSIf a carbon is thrown at a speed faster than normal and impacts something solid, they take extra damage for every extra speed up to this number (see [/mob/living/carbon/proc/throw_impact])
SECONDARY_ATTACK_CALL_NORMALAlternate attack defines. Return these at the end of procs like afterattack_secondary. +Calls the normal attack proc. For example, if returned in afterattack_secondary, will call afterattack. +Will continue the chain depending on the return value of the non-alternate proc, like with normal attacks.
SECONDARY_ATTACK_CANCEL_ATTACK_CHAINCancels the attack chain entirely.
SECONDARY_ATTACK_CONTINUE_CHAINProceed with the attack chain, but don't call the normal methods.
AFTERATTACK_PROCESSED_ITEMFlag for when /afterattack potentially acts on an item. +Used for the swap hands/drop tutorials to know when you might just be trying to do something normally. +Does not necessarily imply success, or even that it did hit an item, just intent.
AUTOFIRE_STAT_IDLECompatible firemode is in the gun. Wait until it's held in the user hands.
AUTOFIRE_STAT_ALERTGun is active and in the user hands. Wait until user does a valid click.
AUTOFIRE_STAT_FIRINGGun is shooting.
MARTIAL_ATTACK_INVALIDMartial arts attack requested but is not available, allow a check for a regular attack.
MARTIAL_ATTACK_FAILMartial arts attack happened but failed, do not allow a check for a regular attack.
MARTIAL_ATTACK_SUCCESSMartial arts attack happened and succeeded, do not allow a check for a regular attack.
ARMOR_WEAKENED_MULTIPLIERIF an object is weak against armor, this is the value that any present armor is multiplied by
ARMOR_MAX_BLOCKArmor can't block more than this as a percentage
PENETRATE_ARMOURCalculates the new armour value after armour penetration. Can return negative values, and those must be caught.
BATON_DO_NORMAL_ATTACKReturn values used in item/melee/baton/baton_attack. +Does a normal item attack.
BATON_ATTACK_DONEThe attack has been stopped. Either because the user was clumsy or the attack was blocked.
BATON_ATTACKINGThe baton attack is still going. baton_effect() is called.
LEFT_ATTACKLMB Attack
RIGHT_ATTACKRMB Attack
COMBO_STEPSSteps for the combo
COMBO_PROCThe proc the combo calls

Define Details

+

ACID + + +

+

Involves corrosive substances.

AFTERATTACK_PROCESSED_ITEM + + +

+

Flag for when /afterattack potentially acts on an item. +Used for the swap hands/drop tutorials to know when you might just be trying to do something normally. +Does not necessarily imply success, or even that it did hit an item, just intent.

AMMO_BOX_FULL_EMPTY + + +

+

Ammo box will have a different sprite for any ammo at all, and no ammo, <icon_state>-full <icon_state>-empty

AMMO_BOX_ONE_SPRITE + + +

+

ammo box will always use provided icon state

AMMO_BOX_PER_BULLET + + +

+

ammo box will have a different state for each bullet; <icon_state>-

ARMOR_LIST_ALL + + + +

+

All armors, preferable in the order as seen above

ARMOR_LIST_DAMAGE + + + +

+

Armor values that are used for damage

ARMOR_LIST_DURABILITY + + + +

+

Armor values that are used for durability

ARMOR_MAX_BLOCK + + +

+

Armor can't block more than this as a percentage

ARMOR_WEAKENED_MULTIPLIER + + +

+

IF an object is weak against armor, this is the value that any present armor is multiplied by

AUTOFIRE_STAT_ALERT + + +

+

Gun is active and in the user hands. Wait until user does a valid click.

AUTOFIRE_STAT_FIRING + + +

+

Gun is shooting.

AUTOFIRE_STAT_IDLE + + +

+

Compatible firemode is in the gun. Wait until it's held in the user hands.

BATON_ATTACKING + + +

+

The baton attack is still going. baton_effect() is called.

BATON_ATTACK_DONE + + +

+

The attack has been stopped. Either because the user was clumsy or the attack was blocked.

BATON_DO_NORMAL_ATTACK + + +

+

Return values used in item/melee/baton/baton_attack. +Does a normal item attack.

BIO + + +

+

Involved in checking wheter a disease can infect or spread. Also involved in xeno neurotoxin.

BOLT_TYPE_LOCKING + + +

+

Gun has a bolt, it locks back when empty. It can be released to chamber a round if a magazine is in. +Example: Pistols with a slide lock, some SMGs

BOLT_TYPE_NO_BOLT + + +

+

Gun has no moving bolt mechanism, it cannot be racked. Also dumps the entire contents when emptied instead of a magazine. +Example: Break action shotguns, revolvers

BOLT_TYPE_OPEN + + +

+

Gun has a bolt, it is open when ready to fire. The gun can never have a chambered bullet with no magazine, but the bolt stays ready when a mag is removed. +Example: Tomson, Uzi, the L6 SAW

BOLT_TYPE_STANDARD + + +

+

Gun has a bolt, it stays closed while not cycling. The gun must be racked to have a bullet chambered when a mag is inserted. +Example: c20, shotguns, m90

BOMB + + +

+

Involves a shockwave, usually from an explosion.

BRAIN + + +

+

Brain damage. Should probably be decomissioned and replaced with proper organ damage.

BRUTE + + +

+

Physical fracturing and warping of the material.

BULLET + + +

+

Involves a solid projectile.

BURN + + +

+

Scorching and charring of the material.

CANKNOCKDOWN + + +

+

If set, this mob can be knocked down (or stamcrit)

CANPUSH + + +

+

If set, this mob can be grabbed or pushed when bumped into

CANSTUN + + +

+

If set, this mob can be stunned.

CANUNCONSCIOUS + + +

+

If set, this mob can be knocked unconscious via status effect. +NOTE, does not mean immune to sleep. Unconscious and sleep are two different things. +NOTE, does not relate to the unconscious stat either. Only the status effect.

CARBON_MAX_IMPACT_SPEED_BONUS + + +

+

If a carbon is thrown at a speed faster than normal and impacts something solid, they take extra damage for every extra speed up to this number (see [/mob/living/carbon/proc/throw_impact])

COMBO_PROC + + +

+

The proc the combo calls

COMBO_STEPS + + +

+

Steps for the combo

CONSUME + + +

+

Involves being eaten

EMBEDDED_IMPACT_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does when it first embeds (this*item.w_class)

EMBEDDED_ITEM_FALLOUT + + +

+

Chance for embedded object to fall out (causing pain but removing the object)

EMBEDDED_JOSTLE_CHANCE + + +

+

Chance for embedded objects to cause pain every time they move (jostle)

EMBEDDED_JOSTLE_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does while

EMBEDDED_PAIN_CHANCE + + +

+

Chance for embedded objects to cause pain (damage user)

EMBEDDED_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does while embedded (this*item.w_class)

EMBEDDED_PAIN_STAM_PCT + + +

+

This percentage of all pain will be dealt as stam damage rather than brute (0-1)

EMBEDDED_UNSAFE_REMOVAL_PAIN_MULTIPLIER + + +

+

Coefficient of multiplication for the damage the item does when it falls out or is removed without a surgery (this*item.w_class)

EMBEDDED_UNSAFE_REMOVAL_TIME + + +

+

A Time in ticks, total removal time = (this*item.w_class)

EMBED_CHANCE + + +

+

Chance for an object to embed into somebody when thrown

EMBED_CHANCE_SPEED_BONUS + + +

+

For thrown weapons, every extra speed it's thrown at above its normal throwspeed will add this to the embed chance

EMBED_THROWSPEED_THRESHOLD + + +

+

The minimum value of an item's throw_speed for it to embed (Unless it has embedded_ignore_throwspeed_threshold set to 1)

ENERGY + + +

+

Involves an EMP or energy-based projectile.

EXPLODE_GIB_THRESHOLD + + +

+

ex_act() with EXPLODE_DEVASTATE severity will gib mobs with less than this much bomb armor

FIRE + + +

+

Involves fire or temperature extremes.

GET_ASSAILANT + + + +

+

Used in check block to get what mob is attacking the blocker.

GODMODE + + +

+

Mob godmode. Prevents most statuses and damage from being taken, but is more often than not a crapshoot. Use with caution.

LASER + + +

+

Involves a laser.

LEAP_ATTACK + + +

+

We're being tackled or leaped at.

LEFT_ATTACK + + +

+

LMB Attack

MARTIAL_ATTACK_FAIL + + +

+

Martial arts attack happened but failed, do not allow a check for a regular attack.

MARTIAL_ATTACK_INVALID + + +

+

Martial arts attack requested but is not available, allow a check for a regular attack.

MARTIAL_ATTACK_SUCCESS + + +

+

Martial arts attack happened and succeeded, do not allow a check for a regular attack.

MELEE + + +

+

Involves a melee attack or a thrown object.

MELEE_ATTACK + + +

+

Attack was made with a melee weapon

OXY + + +

+

Suffocation.

PENETRATE_ARMOUR + + + +

+

Calculates the new armour value after armour penetration. Can return negative values, and those must be caught.

PROJECTILE_ATTACK + + +

+

A projectile is hitting us.

RIGHT_ATTACK + + +

+

RMB Attack

SAWN_OFF_ACC_PENALTY + + +

+

accuracy penalty of sawn off guns

SAWN_OFF_RECOIL + + +

+

added recoil of sawn off guns

SECONDARY_ATTACK_CALL_NORMAL + + +

+

Alternate attack defines. Return these at the end of procs like afterattack_secondary. +Calls the normal attack proc. For example, if returned in afterattack_secondary, will call afterattack. +Will continue the chain depending on the return value of the non-alternate proc, like with normal attacks.

SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + + +

+

Cancels the attack chain entirely.

SECONDARY_ATTACK_CONTINUE_CHAIN + + +

+

Proceed with the attack chain, but don't call the normal methods.

STAMINA + + +

+

Exhaustion and nonlethal damage.

SUPPRESSED_QUIET + + +

+

standard suppressed

SUPPRESSED_VERY + + +

+

no message

THROWN_PROJECTILE_ATTACK + + +

+

A thrown item is hitting us.

TOX + + +

+

Poisoning. Mostly caused by reagents.

UNARMED_ATTACK + + +

+

Attack is a punch or kick. +Mob attacks are not classified as unarmed (currently).

WOUND + + +

+

Involved in checking the likelyhood of applying a wound to a mob.

+ + + diff --git a/code/__DEFINES/communications.html b/code/__DEFINES/communications.html new file mode 100644 index 00000000000..b0b34ff2308 --- /dev/null +++ b/code/__DEFINES/communications.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/communications.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/communications.dm + +

+ + + + + + + +
CROSS_SECTOR_CANCEL_TIMEThe time an admin has to cancel a cross-sector message
EXTENDED_CROSS_SECTOR_CANCEL_TIMEThe extended time an admin has to cancel a cross-sector message if they pass the filter, for instance
SEC_LEVEL_GREENSecurity level is green. (no threats)
SEC_LEVEL_BLUESecurity level is blue. (caution advised)
SEC_LEVEL_REDSecurity level is red. (hostile threats)
SEC_LEVEL_DELTASecurity level is delta. (station destruction immiment)

Define Details

+

CROSS_SECTOR_CANCEL_TIME + + +

+

The time an admin has to cancel a cross-sector message

EXTENDED_CROSS_SECTOR_CANCEL_TIME + + +

+

The extended time an admin has to cancel a cross-sector message if they pass the filter, for instance

SEC_LEVEL_BLUE + + +

+

Security level is blue. (caution advised)

SEC_LEVEL_DELTA + + +

+

Security level is delta. (station destruction immiment)

SEC_LEVEL_GREEN + + +

+

Security level is green. (no threats)

SEC_LEVEL_RED + + +

+

Security level is red. (hostile threats)

+ + + diff --git a/code/__DEFINES/configuration.html b/code/__DEFINES/configuration.html new file mode 100644 index 00000000000..3c4317d110a --- /dev/null +++ b/code/__DEFINES/configuration.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/configuration.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/configuration.dm + +

+ + + + + + + +
CONFIG_ENTRY_LOCKEDcan't edit
CONFIG_ENTRY_HIDDENcan't see value
OVERRIDE_CONFIG_DIRECTORY_PARAMETERForce the config directory to be something other than "config"
RESPAWN_FLAG_DISABLEDRespawn not allowed
RESPAWN_FLAG_FREERespawn as much as you'd like
RESPAWN_FLAG_NEW_CHARACTERCan respawn, but not as the same character

Define Details

+

CONFIG_ENTRY_HIDDEN + + +

+

can't see value

CONFIG_ENTRY_LOCKED + + +

+

can't edit

OVERRIDE_CONFIG_DIRECTORY_PARAMETER + + +

+

Force the config directory to be something other than "config"

RESPAWN_FLAG_DISABLED + + +

+

Respawn not allowed

RESPAWN_FLAG_FREE + + +

+

Respawn as much as you'd like

RESPAWN_FLAG_NEW_CHARACTER + + +

+

Can respawn, but not as the same character

+ + + diff --git a/code/__DEFINES/construction/material.html b/code/__DEFINES/construction/material.html new file mode 100644 index 00000000000..a339d77470b --- /dev/null +++ b/code/__DEFINES/construction/material.html @@ -0,0 +1,224 @@ + + + + + + + code/__DEFINES/construction/material.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/construction/material.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SHEET_MATERIAL_AMOUNTThe amount of materials you get from a sheet of mineral like iron/diamond/glass etc. 100 Units.
HALF_SHEET_MATERIAL_AMOUNTThe amount of materials you get from half a sheet. Used in standard object quantities. 50 units.
SMALL_MATERIAL_AMOUNTThe amount of materials used in the smallest of objects, like pens and screwdrivers. 10 units.
COIN_MATERIAL_AMOUNTThe amount of material that goes into a coin, which determines the value of the coin.
MAX_STACK_SIZEThe maximum size of a stack object.
MAXCOILMaximum amount of cable in a coil
MAT_CATEGORY_OREIs the material from an ore? currently unused but exists atm for categorizations sake
MAT_CATEGORY_RIGIDHard materials, such as iron or silver
MAT_CATEGORY_ITEM_MATERIALMaterials that can be used to craft items
MAT_CATEGORY_BASE_RECIPESUse this flag on TRUE if you want the basic recipes
MATERIAL_INIT_MAPLOADFlags for map loaded materials +Used to make a material initialize at roundstart.
MATERIAL_INIT_BESPOKEUsed to make a material type able to be instantiated on demand after roundstart.
MATCONTAINER_EXAMINEIf the container shows the amount of contained materials on examine.
MATCONTAINER_NO_INSERTIf the container cannot have materials inserted through attackby().
MATCONTAINER_ANY_INTENTIf the user can insert mats into the container despite the intent.
MATCONTAINER_SILENTIf the user won't receive a warning when attacking the container with an unallowed item.
BREAKDOWN_ALLOYSCan reduce an alloy into its component materials.
BREAKDOWN_INCLUDE_ALCHEMYMakes the material composition include transmuted materials objects
BREAKDOWN_FLAGS_LATHEBreakdown flags used by techfabs and circuit printers.
BREAKDOWN_FLAGS_ORMBreakdown flags used by the ORM.
BREAKDOWN_FLAGS_RECYCLERBreakdown flags used by the recycler.
BREAKDOWN_FLAGS_SHEETIFIERBreakdown flags used by the sheetifier.
BREAKDOWN_FLAGS_ORE_PROCESSORBreakdown flags used by the ore processor.
BREAKDOWN_FLAGS_DRONE_DISPENSERBreakdown flags used by the drone dispenser.
BREAKDOWN_FLAGS_EXPORTBreakdown flags used when exporting materials.
MATERIAL_EFFECTSWhether a material's mechanical effects should apply to the atom. This is necessary for other flags to work.
MATERIAL_COLORApplies the material color to the atom's color. Deprecated, use MATERIAL_GREYSCALE instead
MATERIAL_ADD_PREFIXWhether a prefix describing the material should be added to the name
MATERIAL_AFFECT_STATISTICSWhether a material should affect the stats of the atom
MATERIAL_GREYSCALEApplies the material greyscale color to the atom's greyscale color.
MATERIAL_INSERT_ITEM_NO_MATSNo material was found inside them item
MATERIAL_INSERT_ITEM_NO_SPACEThe container does not have the space for the item
MATERIAL_INSERT_ITEM_FAILUREThe item material type was not accepted or other reasons
MATERIAL_SLOWDOWN_PLASTEELThe slowdown value of one SHEET_MATERIAL_AMOUNT of plasteel.
MATERIAL_SLOWDOWN_ALIEN_ALLOYThe slowdown value of one SHEET_MATERIAL_AMOUNT of alien alloy.
MATERIAL_QUANTITY_COMMONHow much quantity of a material stock exists for common materials like iron & glass.
MATERIAL_QUANTITY_UNCOMMONHow much quantity of a material stock exists for uncommon materials like silver & titanium.
MATERIAL_QUANTITY_RAREHow much quantity of a material stock exists for rare materials like gold, uranium, & diamond.
MATERIAL_QUANTITY_EXOTICHow much quantity of a material stock exists for exotic materials like diamond & bluespace crystals.

Define Details

+

BREAKDOWN_ALLOYS + + +

+

Can reduce an alloy into its component materials.

BREAKDOWN_FLAGS_DRONE_DISPENSER + + +

+

Breakdown flags used by the drone dispenser.

BREAKDOWN_FLAGS_EXPORT + + +

+

Breakdown flags used when exporting materials.

BREAKDOWN_FLAGS_LATHE + + +

+

Breakdown flags used by techfabs and circuit printers.

BREAKDOWN_FLAGS_ORE_PROCESSOR + + +

+

Breakdown flags used by the ore processor.

BREAKDOWN_FLAGS_ORM + + +

+

Breakdown flags used by the ORM.

BREAKDOWN_FLAGS_RECYCLER + + +

+

Breakdown flags used by the recycler.

BREAKDOWN_FLAGS_SHEETIFIER + + +

+

Breakdown flags used by the sheetifier.

BREAKDOWN_INCLUDE_ALCHEMY + + +

+

Makes the material composition include transmuted materials objects

COIN_MATERIAL_AMOUNT + + +

+

The amount of material that goes into a coin, which determines the value of the coin.

HALF_SHEET_MATERIAL_AMOUNT + + +

+

The amount of materials you get from half a sheet. Used in standard object quantities. 50 units.

MATCONTAINER_ANY_INTENT + + +

+

If the user can insert mats into the container despite the intent.

MATCONTAINER_EXAMINE + + +

+

If the container shows the amount of contained materials on examine.

MATCONTAINER_NO_INSERT + + +

+

If the container cannot have materials inserted through attackby().

MATCONTAINER_SILENT + + +

+

If the user won't receive a warning when attacking the container with an unallowed item.

MATERIAL_ADD_PREFIX + + +

+

Whether a prefix describing the material should be added to the name

MATERIAL_AFFECT_STATISTICS + + +

+

Whether a material should affect the stats of the atom

MATERIAL_COLOR + + +

+

Applies the material color to the atom's color. Deprecated, use MATERIAL_GREYSCALE instead

MATERIAL_EFFECTS + + +

+

Whether a material's mechanical effects should apply to the atom. This is necessary for other flags to work.

MATERIAL_GREYSCALE + + +

+

Applies the material greyscale color to the atom's greyscale color.

MATERIAL_INIT_BESPOKE + + +

+

Used to make a material type able to be instantiated on demand after roundstart.

MATERIAL_INIT_MAPLOAD + + +

+

Flags for map loaded materials +Used to make a material initialize at roundstart.

MATERIAL_INSERT_ITEM_FAILURE + + +

+

The item material type was not accepted or other reasons

MATERIAL_INSERT_ITEM_NO_MATS + + +

+

No material was found inside them item

MATERIAL_INSERT_ITEM_NO_SPACE + + +

+

The container does not have the space for the item

MATERIAL_QUANTITY_COMMON + + +

+

How much quantity of a material stock exists for common materials like iron & glass.

MATERIAL_QUANTITY_EXOTIC + + +

+

How much quantity of a material stock exists for exotic materials like diamond & bluespace crystals.

MATERIAL_QUANTITY_RARE + + +

+

How much quantity of a material stock exists for rare materials like gold, uranium, & diamond.

MATERIAL_QUANTITY_UNCOMMON + + +

+

How much quantity of a material stock exists for uncommon materials like silver & titanium.

MATERIAL_SLOWDOWN_ALIEN_ALLOY + + +

+

The slowdown value of one SHEET_MATERIAL_AMOUNT of alien alloy.

MATERIAL_SLOWDOWN_PLASTEEL + + +

+

The slowdown value of one SHEET_MATERIAL_AMOUNT of plasteel.

MAT_CATEGORY_BASE_RECIPES + + +

+

Use this flag on TRUE if you want the basic recipes

MAT_CATEGORY_ITEM_MATERIAL + + +

+

Materials that can be used to craft items

MAT_CATEGORY_ORE + + +

+

Is the material from an ore? currently unused but exists atm for categorizations sake

MAT_CATEGORY_RIGID + + +

+

Hard materials, such as iron or silver

MAXCOIL + + +

+

Maximum amount of cable in a coil

MAX_STACK_SIZE + + +

+

The maximum size of a stack object.

SHEET_MATERIAL_AMOUNT + + +

+

The amount of materials you get from a sheet of mineral like iron/diamond/glass etc. 100 Units.

SMALL_MATERIAL_AMOUNT + + +

+

The amount of materials used in the smallest of objects, like pens and screwdrivers. 10 units.

+ + + diff --git a/code/__DEFINES/construction/rcd.html b/code/__DEFINES/construction/rcd.html new file mode 100644 index 00000000000..c1bfed3e298 --- /dev/null +++ b/code/__DEFINES/construction/rcd.html @@ -0,0 +1,132 @@ + + + + + + + code/__DEFINES/construction/rcd.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/construction/rcd.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
RCD_DESIGN_MODEThe mode of operation to design an specific type of rcd design
RCD_TURFFor changing turfs
RCD_WINDOWGRILLEFull tile windows
RCD_AIRLOCKWindoors & Airlocks
RCD_STRUCTURELiterarly anything that is spawned on top of a turf such as tables, machines etc
RCD_WALLFRAMEFor wallmounts like air alarms, fire alarms & apc
RCD_DECONSTRUCTFor deconstructing an structure
RCD_DESIGN_PATHThe typepath of the structure the rcd is trying to build
RCD_HOLOGRAM_FADE_TIMETime taken for an rcd hologram to disappear
RCD_UPGRADE_FRAMESUpgrade for building machines
RCD_UPGRADE_SIMPLE_CIRCUITSUpgrade for installing circuitboards in air alarms, fire alarms, apc & cells in them
RCD_UPGRADE_SILO_LINKUpgrade for drawing iron from ore silo
RCD_UPGRADE_FURNISHINGUpgrade for building furnishing items
RCD_UPGRADE_ANTI_INTERRUPTUpgrade to stop construction effect from getting attacked
RCD_UPGRADE_NO_FREQUENT_USE_COOLDOWNUpgrade to disable delay multiplier when building multiple structures
RCD_ALL_UPGRADESAll upgrades packed in 1 flag
RPD_UPGRADE_UNWRENCHUpgrades for the Rapid Pipe Dispenser to unwrench pipes
RCD_MEMORY_WALLThe memory constant for a wall
RCD_MEMORY_WINDOWGRILLEThe memory constant for full tile windows
RCD_MEMORY_COST_BUFFHow much less resources the RCD uses when reconstructing
RCD_RESULT_BYPASS_FREQUENT_USE_COOLDOWNIf set to TRUE in rcd_vals, will bypass the cooldown on slowing down frequent use

Define Details

+

RCD_AIRLOCK + + +

+

Windoors & Airlocks

RCD_ALL_UPGRADES + + +

+

All upgrades packed in 1 flag

RCD_DECONSTRUCT + + +

+

For deconstructing an structure

RCD_DESIGN_MODE + + +

+

The mode of operation to design an specific type of rcd design

RCD_DESIGN_PATH + + +

+

The typepath of the structure the rcd is trying to build

RCD_HOLOGRAM_FADE_TIME + + +

+

Time taken for an rcd hologram to disappear

RCD_MEMORY_COST_BUFF + + +

+

How much less resources the RCD uses when reconstructing

RCD_MEMORY_WALL + + +

+

The memory constant for a wall

RCD_MEMORY_WINDOWGRILLE + + +

+

The memory constant for full tile windows

RCD_RESULT_BYPASS_FREQUENT_USE_COOLDOWN + + +

+

If set to TRUE in rcd_vals, will bypass the cooldown on slowing down frequent use

RCD_STRUCTURE + + +

+

Literarly anything that is spawned on top of a turf such as tables, machines etc

RCD_TURF + + +

+

For changing turfs

RCD_UPGRADE_ANTI_INTERRUPT + + +

+

Upgrade to stop construction effect from getting attacked

RCD_UPGRADE_FRAMES + + +

+

Upgrade for building machines

RCD_UPGRADE_FURNISHING + + +

+

Upgrade for building furnishing items

RCD_UPGRADE_NO_FREQUENT_USE_COOLDOWN + + +

+

Upgrade to disable delay multiplier when building multiple structures

+

Upgrade for drawing iron from ore silo

RCD_UPGRADE_SIMPLE_CIRCUITS + + +

+

Upgrade for installing circuitboards in air alarms, fire alarms, apc & cells in them

RCD_WALLFRAME + + +

+

For wallmounts like air alarms, fire alarms & apc

RCD_WINDOWGRILLE + + +

+

Full tile windows

RPD_UPGRADE_UNWRENCH + + +

+

Upgrades for the Rapid Pipe Dispenser to unwrench pipes

+ + + diff --git a/code/__DEFINES/cooldowns.html b/code/__DEFINES/cooldowns.html new file mode 100644 index 00000000000..d1c991407e3 --- /dev/null +++ b/code/__DEFINES/cooldowns.html @@ -0,0 +1,44 @@ + + + + + + + code/__DEFINES/cooldowns.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cooldowns.dm + +

+ + + + +
COOLDOWN_BORG_SELF_REPAIRCOOLDOWN SYSTEMS
TIMER_COOLDOWN_RUNNINGChecks if a timer based cooldown is NOT finished.
TIMER_COOLDOWN_FINISHEDChecks if a timer based cooldown is finished.

Define Details

+

COOLDOWN_BORG_SELF_REPAIR + + +

+

COOLDOWN SYSTEMS

TIMER_COOLDOWN_FINISHED + + + +

+

Checks if a timer based cooldown is finished.

TIMER_COOLDOWN_RUNNING + + + +

+

Checks if a timer based cooldown is NOT finished.

+ + + diff --git a/code/__DEFINES/crafting.html b/code/__DEFINES/crafting.html new file mode 100644 index 00000000000..6075c916d6d --- /dev/null +++ b/code/__DEFINES/crafting.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/crafting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/crafting.dm + +

+ + + + + +
CRAFTING_MACHINERY_CONSUMEIf the machine is used/deleted in the crafting process
CRAFTING_STRUCTURE_CONSUMEIf the structure is used/deleted in the crafting process
CRAFTING_MACHINERY_USEIf the machine is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it
CRAFTING_STRUCTURE_USEIf the structure is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it

Define Details

+

CRAFTING_MACHINERY_CONSUME + + +

+

If the machine is used/deleted in the crafting process

CRAFTING_MACHINERY_USE + + +

+

If the machine is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it

CRAFTING_STRUCTURE_CONSUME + + +

+

If the structure is used/deleted in the crafting process

CRAFTING_STRUCTURE_USE + + +

+

If the structure is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it

+ + + diff --git a/code/__DEFINES/crushing.html b/code/__DEFINES/crushing.html new file mode 100644 index 00000000000..357f7877c45 --- /dev/null +++ b/code/__DEFINES/crushing.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/crushing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/crushing.dm + +

+ + + + +
SUCCESSFULLY_CRUSHED_MOBSet if the tipped object successfully crushed a subtype of /mob/living.
SUCCESSFULLY_CRUSHED_ATOMSet if the tipped object successfully crushed a subtype of /atom.
SUCCESSFULLY_FELL_OVERSet if the tipped object successfully actually fell over, which can fail if it couldn't enter the turf it tried to fall into.

Define Details

+

SUCCESSFULLY_CRUSHED_ATOM + + +

+

Set if the tipped object successfully crushed a subtype of /atom.

SUCCESSFULLY_CRUSHED_MOB + + +

+

Set if the tipped object successfully crushed a subtype of /mob/living.

SUCCESSFULLY_FELL_OVER + + +

+

Set if the tipped object successfully actually fell over, which can fail if it couldn't enter the turf it tried to fall into.

+ + + diff --git a/code/__DEFINES/ctf.html b/code/__DEFINES/ctf.html new file mode 100644 index 00000000000..528c7779fb3 --- /dev/null +++ b/code/__DEFINES/ctf.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/ctf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ctf.dm + +

+ + + + +
CTF_REQUIRED_PLAYERSThe number of voters required for CTF to enable
CTF_GHOST_CTF_GAME_IDThe game ID for normal ghost CTF
CTF_MEDISIM_CTF_GAME_IDThe game ID used by the medieval simulator shuttle.

Define Details

+

CTF_GHOST_CTF_GAME_ID + + +

+

The game ID for normal ghost CTF

CTF_MEDISIM_CTF_GAME_ID + + +

+

The game ID used by the medieval simulator shuttle.

CTF_REQUIRED_PLAYERS + + +

+

The number of voters required for CTF to enable

+ + + diff --git a/code/__DEFINES/cult.html b/code/__DEFINES/cult.html new file mode 100644 index 00000000000..87f58008da2 --- /dev/null +++ b/code/__DEFINES/cult.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/cult.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/cult.dm + +

+ + + + +
CULT_RISENpercent before rise
CULT_ASCENDENTpercent before ascend
PREVIEW_IMAGEDefines for cult item_dispensers.

Define Details

+

CULT_ASCENDENT + + +

+

percent before ascend

CULT_RISEN + + +

+

percent before rise

PREVIEW_IMAGE + + +

+

Defines for cult item_dispensers.

+ + + diff --git a/code/__DEFINES/database.html b/code/__DEFINES/database.html new file mode 100644 index 00000000000..9819f735cef --- /dev/null +++ b/code/__DEFINES/database.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/database.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/database.dm + +

+ + + + +
DB_QUERY_STARTEDWhen a query has been queued up for execution/is being executed
DB_QUERY_FINISHEDWhen a query is finished executing
DB_QUERY_BROKENWhen there was a problem with the execution of a query.

Define Details

+

DB_QUERY_BROKEN + + +

+

When there was a problem with the execution of a query.

DB_QUERY_FINISHED + + +

+

When a query is finished executing

DB_QUERY_STARTED + + +

+

When a query has been queued up for execution/is being executed

+ + + diff --git a/code/__DEFINES/dcs/flags.html b/code/__DEFINES/dcs/flags.html new file mode 100644 index 00000000000..af0851c0c1f --- /dev/null +++ b/code/__DEFINES/dcs/flags.html @@ -0,0 +1,123 @@ + + + + + + + code/__DEFINES/dcs/flags.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/flags.dm + +

+ + + + + + + + + + + + + + + +
COMPONENT_INCOMPATIBLEReturn this from /datum/component/Initialize or /datum/component/OnTransfer or /datum/component/on_source_add to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs
COMPONENT_NOTRANSFERReturned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE
ELEMENT_INCOMPATIBLEReturn value to cancel attaching
ELEMENT_DETACH_ON_HOST_DESTROYCauses the detach proc to be called when the host object is being deleted. +Should only be used if you need to perform cleanup not related to the host object. +You do not need this if you are only unregistering signals, for instance. +You would need it if you are doing something like removing the target from a processing list.
ELEMENT_BESPOKEOnly elements created with the same arguments given after argument_hash_start_idx share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref
ELEMENT_COMPLEX_DETACHCauses all detach arguments to be passed to detach instead of only being used to identify the element +When this is used your Detach proc should have the same signature as your Attach proc
ELEMENT_DONT_SORT_LIST_ARGSElements with this flag will have their datum lists arguments compared as is, +without the contents being sorted alpha-numerically first. +This is good for those elements where the position of the keys matter, like in the case of color matrices.
ELEMENT_NO_LIST_UNIT_TESTElements with this flag will be ignored by the dcs_check_list_arguments test. +A good example is connect_loc, for which it's pratically undoable unless we force every signal proc to have a different name.
COMPONENT_DUPE_HIGHLANDERold component is deleted (default)
COMPONENT_DUPE_ALLOWEDduplicates allowed
COMPONENT_DUPE_UNIQUEnew component is deleted
COMPONENT_DUPE_SOURCESComponent uses source tracking to manage adding and removal logic. +Add a source/spawn to/the component by using AddComponentFrom(source, component_type, args...) +Removing the last source will automatically remove the component from the parent. +Arguments will be passed to on_source_add(source, args...); ensure that Initialize and on_source_add have the same signature.
COMPONENT_DUPE_UNIQUE_PASSARGSold component is given the initialization args of the new
COMPONENT_DUPE_SELECTIVEeach component of the same type is consulted as to whether the duplicate should be allowed

Define Details

+

COMPONENT_DUPE_ALLOWED + + +

+

duplicates allowed

COMPONENT_DUPE_HIGHLANDER + + +

+

old component is deleted (default)

COMPONENT_DUPE_SELECTIVE + + +

+

each component of the same type is consulted as to whether the duplicate should be allowed

COMPONENT_DUPE_SOURCES + + +

+

Component uses source tracking to manage adding and removal logic. +Add a source/spawn to/the component by using AddComponentFrom(source, component_type, args...) +Removing the last source will automatically remove the component from the parent. +Arguments will be passed to on_source_add(source, args...); ensure that Initialize and on_source_add have the same signature.

COMPONENT_DUPE_UNIQUE + + +

+

new component is deleted

COMPONENT_DUPE_UNIQUE_PASSARGS + + +

+

old component is given the initialization args of the new

COMPONENT_INCOMPATIBLE + + +

+

Return this from /datum/component/Initialize or /datum/component/OnTransfer or /datum/component/on_source_add to have the component be deleted if it's applied to an incorrect type. +parent must not be modified if this is to be returned. +This will be noted in the runtime logs

COMPONENT_NOTRANSFER + + +

+

Returned in PostTransfer to prevent transfer, similar to COMPONENT_INCOMPATIBLE

ELEMENT_BESPOKE + + +

+

Only elements created with the same arguments given after argument_hash_start_idx share an element instance +The arguments are the same when the text and number values are the same and all other values have the same ref

ELEMENT_COMPLEX_DETACH + + +

+

Causes all detach arguments to be passed to detach instead of only being used to identify the element +When this is used your Detach proc should have the same signature as your Attach proc

ELEMENT_DETACH_ON_HOST_DESTROY + + +

+

Causes the detach proc to be called when the host object is being deleted. +Should only be used if you need to perform cleanup not related to the host object. +You do not need this if you are only unregistering signals, for instance. +You would need it if you are doing something like removing the target from a processing list.

ELEMENT_DONT_SORT_LIST_ARGS + + +

+

Elements with this flag will have their datum lists arguments compared as is, +without the contents being sorted alpha-numerically first. +This is good for those elements where the position of the keys matter, like in the case of color matrices.

ELEMENT_INCOMPATIBLE + + +

+

Return value to cancel attaching

ELEMENT_NO_LIST_UNIT_TEST + + +

+

Elements with this flag will be ignored by the dcs_check_list_arguments test. +A good example is connect_loc, for which it's pratically undoable unless we force every signal proc to have a different name.

+ + + diff --git a/code/__DEFINES/dcs/helpers.html b/code/__DEFINES/dcs/helpers.html new file mode 100644 index 00000000000..a4a718e127d --- /dev/null +++ b/code/__DEFINES/dcs/helpers.html @@ -0,0 +1,78 @@ + + + + + + + code/__DEFINES/dcs/helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/helpers.dm + +

+ + + + + + + + +
SEND_SIGNALUsed to trigger signals and call procs registered for that signal +The datum hosting the signal is automaticaly added as the first argument +Returns a bitfield gathered from all registered procs +Arguments given here are packaged in a list and given to _SendSignal
SIGNAL_HANDLERSignifies that this proc is used to handle signals. +Every proc you pass to RegisterSignal must have this.
AddElementA wrapper for _AddElement that allows us to pretend we're using normal named arguments
RemoveElementA wrapper for _RemoveElement that allows us to pretend we're using normal named arguments
AddComponentA wrapper for _AddComponent that allows us to pretend we're using normal named arguments
AddComponentFromA wrapper for _AddComonent that passes in a source. +Necessary if dupe_mode is set to COMPONENT_DUPE_SOURCES.
LoadComponentA wrapper for _LoadComponent that allows us to pretend we're using normal named arguments

Define Details

+

AddComponent + + + +

+

A wrapper for _AddComponent that allows us to pretend we're using normal named arguments

AddComponentFrom + + + +

+

A wrapper for _AddComonent that passes in a source. +Necessary if dupe_mode is set to COMPONENT_DUPE_SOURCES.

AddElement + + + +

+

A wrapper for _AddElement that allows us to pretend we're using normal named arguments

LoadComponent + + + +

+

A wrapper for _LoadComponent that allows us to pretend we're using normal named arguments

RemoveElement + + + +

+

A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments

SEND_SIGNAL + + + +

+

Used to trigger signals and call procs registered for that signal +The datum hosting the signal is automaticaly added as the first argument +Returns a bitfield gathered from all registered procs +Arguments given here are packaged in a list and given to _SendSignal

SIGNAL_HANDLER + + +

+

Signifies that this proc is used to handle signals. +Every proc you pass to RegisterSignal must have this.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_action.html b/code/__DEFINES/dcs/signals/signals_action.html new file mode 100644 index 00000000000..94268dbe1e9 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_action.html @@ -0,0 +1,117 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_action.dm + +

+ + + + + + + + + + + + + + + + + + + +
COMSIG_ACTION_TRIGGERfrom base of datum/action/proc/Trigger(): (datum/action)
COMSIG_ACTION_GRANTEDFrom /datum/action/Grant(): (mob/grant_to)
COMSIG_MOB_GRANTED_ACTIONFrom /datum/action/Grant(): (datum/action)
COMSIG_ACTION_REMOVEDFrom /datum/action/Remove(): (mob/removed_from)
COMSIG_MOB_REMOVED_ACTIONFrom /datum/action/Remove(): (datum/action)
COMSIG_ACTION_OVERLAY_APPLYFrom /datum/action/apply_button_overlay()
COMSIG_MOB_ABILITY_STARTEDFrom base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)
COMPONENT_BLOCK_ABILITY_STARTReturn to block the ability from starting / activating
COMSIG_MOB_ABILITY_FINISHEDFrom base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)
COMSIG_ACTION_SET_STATPANELFrom base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)
COMSIG_BLOOD_WARPFrom base of /datum/action/cooldown/mob_cooldown/blood_warp/proc/blood_warp(): ()
COMSIG_STARTED_CHARGEFrom base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()
COMSIG_FINISHED_CHARGEFrom base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()
COMSIG_SWOOP_INVULNERABILITY_STARTEDFrom base of /datum/action/cooldown/mob_cooldown/lava_swoop/proc/swoop_attack(): ()
COMSIG_LAVA_ARENA_FAILEDFrom base of /datum/action/cooldown/mob_cooldown/lava_swoop/proc/swoop_attack(): ()
COMSIG_MECH_SAFETIES_TOGGLEFrom /datum/action/vehicle/sealed/mecha/mech_toggle_safeties/proc/update_action_icon(): ()
COMSIG_ACTION_DISGUISED_APPEARANCEFrom /datum/action/cooldown/mob_cooldown/assume_form/proc/assume_appearances(), sent to the action owner: (atom/movable/target)
COMSIG_HEART_MANUAL_PULSEFrom /datum/action/cooldown/manual_heart/Activate(): ()

Define Details

+

COMPONENT_BLOCK_ABILITY_START + + +

+

Return to block the ability from starting / activating

COMSIG_ACTION_DISGUISED_APPEARANCE + + +

+

From /datum/action/cooldown/mob_cooldown/assume_form/proc/assume_appearances(), sent to the action owner: (atom/movable/target)

COMSIG_ACTION_GRANTED + + +

+

From /datum/action/Grant(): (mob/grant_to)

COMSIG_ACTION_OVERLAY_APPLY + + +

+

From /datum/action/apply_button_overlay()

COMSIG_ACTION_REMOVED + + +

+

From /datum/action/Remove(): (mob/removed_from)

COMSIG_ACTION_SET_STATPANEL + + +

+

From base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)

COMSIG_ACTION_TRIGGER + + +

+

from base of datum/action/proc/Trigger(): (datum/action)

COMSIG_BLOOD_WARP + + +

+

From base of /datum/action/cooldown/mob_cooldown/blood_warp/proc/blood_warp(): ()

COMSIG_FINISHED_CHARGE + + +

+

From base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()

COMSIG_HEART_MANUAL_PULSE + + +

+

From /datum/action/cooldown/manual_heart/Activate(): ()

COMSIG_LAVA_ARENA_FAILED + + +

+

From base of /datum/action/cooldown/mob_cooldown/lava_swoop/proc/swoop_attack(): ()

COMSIG_MECH_SAFETIES_TOGGLE + + +

+

From /datum/action/vehicle/sealed/mecha/mech_toggle_safeties/proc/update_action_icon(): ()

COMSIG_MOB_ABILITY_FINISHED + + +

+

From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)

COMSIG_MOB_ABILITY_STARTED + + +

+

From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)

COMSIG_MOB_GRANTED_ACTION + + +

+

From /datum/action/Grant(): (datum/action)

COMSIG_MOB_REMOVED_ACTION + + +

+

From /datum/action/Remove(): (datum/action)

COMSIG_STARTED_CHARGE + + +

+

From base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()

COMSIG_SWOOP_INVULNERABILITY_STARTED + + +

+

From base of /datum/action/cooldown/mob_cooldown/lava_swoop/proc/swoop_attack(): ()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_admin.html b/code/__DEFINES/dcs/signals/signals_admin.html new file mode 100644 index 00000000000..0926d9bbe3c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_admin.html @@ -0,0 +1,46 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_admin.dm + +

+ + + + +
COMSIG_ADMIN_HELP_MADE_INACTIVEAdmin helps +From /datum/admin_help/RemoveActive(). +Fired when an adminhelp is made inactive either due to closing or resolving.
COMSIG_ADMIN_HELP_REPLIEDCalled on the /datum/admin_help when the player replies. From /client/proc/cmd_admin_pm().
COMSIG_ADMIN_HELP_RECEIVEDCalled on a client when a player receives an adminhelp. From /client/proc/receive_ahelp(message)

Define Details

+

COMSIG_ADMIN_HELP_MADE_INACTIVE + + +

+

Admin helps +From /datum/admin_help/RemoveActive(). +Fired when an adminhelp is made inactive either due to closing or resolving.

COMSIG_ADMIN_HELP_RECEIVED + + +

+

Called on a client when a player receives an adminhelp. From /client/proc/receive_ahelp(message)

COMSIG_ADMIN_HELP_REPLIED + + +

+

Called on the /datum/admin_help when the player replies. From /client/proc/cmd_admin_pm().

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_adventure.html b/code/__DEFINES/dcs/signals/signals_adventure.html new file mode 100644 index 00000000000..d26edffd8d1 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_adventure.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_adventure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_adventure.dm + +

+ + + + + + + + + +
COMSIG_ADVENTURE_FINISHEDExoprobe adventure finished: (result) result is ADVENTURE_RESULT_??? values
COMSIG_ADVENTURE_QUALITY_INITSent on initial adventure qualities generation from /datum/adventure/proc/initialize_qualities(): (list/quality_list)
COMSIG_ADVENTURE_DELAY_STARTSent on adventure node delay start: (delay_time, delay_message)
COMSIG_ADVENTURE_DELAY_ENDSent on adventure delay finish: ()
COMSIG_EXODRONE_STATUS_CHANGEDExoprobe status changed : ()
COMSIG_EXOSCAN_STARTEDSent on begingging of new scan : (datum/exoscan/new_scan)
COMSIG_EXOSCAN_FINISHEDSent on successful finish of exoscan: (datum/exoscan/finished_scan)
COMSIG_EXOSCAN_INTERRUPTEDSent on exoscan failure/manual interruption: ()

Define Details

+

COMSIG_ADVENTURE_DELAY_END + + +

+

Sent on adventure delay finish: ()

COMSIG_ADVENTURE_DELAY_START + + +

+

Sent on adventure node delay start: (delay_time, delay_message)

COMSIG_ADVENTURE_FINISHED + + +

+

Exoprobe adventure finished: (result) result is ADVENTURE_RESULT_??? values

COMSIG_ADVENTURE_QUALITY_INIT + + +

+

Sent on initial adventure qualities generation from /datum/adventure/proc/initialize_qualities(): (list/quality_list)

COMSIG_EXODRONE_STATUS_CHANGED + + +

+

Exoprobe status changed : ()

COMSIG_EXOSCAN_FINISHED + + +

+

Sent on successful finish of exoscan: (datum/exoscan/finished_scan)

COMSIG_EXOSCAN_INTERRUPTED + + +

+

Sent on exoscan failure/manual interruption: ()

COMSIG_EXOSCAN_STARTED + + +

+

Sent on begingging of new scan : (datum/exoscan/new_scan)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_ai_controller.html b/code/__DEFINES/dcs/signals/signals_ai_controller.html new file mode 100644 index 00000000000..a45534dd0e2 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_ai_controller.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_ai_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_ai_controller.dm + +

+ + +
COMSIG_AI_CONTROLLER_POSSESSED_PAWNsent from ai controllers when they possess a pawn: (datum/ai_controller/source_controller)

Define Details

+

COMSIG_AI_CONTROLLER_POSSESSED_PAWN + + +

+

sent from ai controllers when they possess a pawn: (datum/ai_controller/source_controller)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_area.html b/code/__DEFINES/dcs/signals/signals_area.html new file mode 100644 index 00000000000..787aef025f8 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_area.html @@ -0,0 +1,94 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_area.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_area.dm + +

+ + + + + + + + + + + + + + +
COMSIG_AREA_POWER_CHANGEfrom base of area/proc/power_change(): ()
COMSIG_AREA_ENTEREDfrom base of area/Entered(): (atom/movable/arrived, area/old_area)
COMSIG_AREA_EXITEDfrom base of area/Exited(): (atom/movable/gone, direction)
COMSIG_ENTER_AREAfrom base of area/Entered(): (area/new_area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
COMSIG_EXIT_AREAfrom base of area/Exited(): (area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
COMSIG_ALARM_LISTENER_TRIGGEREDSent when an alarm is fired and an alarm listener has tracked onto it (alarm, area/source_area)
COMSIG_ALARM_LISTENER_CLEAREDSend when an alarm source is cleared and an alarm listener has tracked onto it (alarm_type, area/source_area)
COMSIG_ALARM_TRIGGEREDCalled when an alarm handler fires an alarm
COMSIG_ALARM_CLEAREDCalled when an alarm handler clears an alarm
COMSIG_AIRALARM_UPDATE_MODECalled when the air alarm mode is updated
COMSIG_AREA_FIRE_CHANGEDSent when an area's fire var changes: (fire_value)
COMSIG_WEATHER_BEGAN_IN_AREACalled when some weather starts in this area
COMSIG_WEATHER_ENDED_IN_AREACalled when some weather ends in this area

Define Details

+

COMSIG_AIRALARM_UPDATE_MODE + + +

+

Called when the air alarm mode is updated

COMSIG_ALARM_CLEARED + + +

+

Called when an alarm handler clears an alarm

COMSIG_ALARM_LISTENER_CLEARED + + +

+

Send when an alarm source is cleared and an alarm listener has tracked onto it (alarm_type, area/source_area)

COMSIG_ALARM_LISTENER_TRIGGERED + + +

+

Sent when an alarm is fired and an alarm listener has tracked onto it (alarm, area/source_area)

COMSIG_ALARM_TRIGGERED + + +

+

Called when an alarm handler fires an alarm

COMSIG_AREA_ENTERED + + +

+

from base of area/Entered(): (atom/movable/arrived, area/old_area)

COMSIG_AREA_EXITED + + +

+

from base of area/Exited(): (atom/movable/gone, direction)

COMSIG_AREA_FIRE_CHANGED + + +

+

Sent when an area's fire var changes: (fire_value)

COMSIG_AREA_POWER_CHANGE + + +

+

from base of area/proc/power_change(): ()

COMSIG_ENTER_AREA + + +

+

from base of area/Entered(): (area/new_area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.

COMSIG_EXIT_AREA + + +

+

from base of area/Exited(): (area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.

COMSIG_WEATHER_BEGAN_IN_AREA + + + +

+

Called when some weather starts in this area

COMSIG_WEATHER_ENDED_IN_AREA + + + +

+

Called when some weather ends in this area

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html new file mode 100644 index 00000000000..a52dccfc3b7 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.html @@ -0,0 +1,179 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_ATTACKBYfrom base of atom/attackby(): (/obj/item, /mob/living, params)
COMSIG_ATOM_ATTACKBY_SECONDARYFrom base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)
COMSIG_ATOM_AFTER_ATTACKEDBYfrom [/item/afterattack()], sent by an atom which was just attacked by an item: (/obj/item/weapon, /mob/user, proximity_flag, click_parameters)
COMSIG_ATOM_ATTACK_HAND_SECONDARYFrom base of /atom/proc/attack_hand_secondary: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.
COMPONENT_NO_AFTERATTACKReturn this in response if you don't want afterattack to be called
COMSIG_ATOM_HULK_ATTACKfrom base of atom/attack_hulk(): (/mob/living/carbon/human)
COMSIG_ATOM_ATTACK_ANIMALfrom base of atom/animal_attack(): (/mob/user)
COMSIG_ATOM_BREAKfrom /atom/proc/atom_break: (damage_flag)
COMSIG_ATOM_FIXfrom base of /atom/proc/atom_fix: ()
COMSIG_ATOM_DESTRUCTIONfrom base of /atom/proc/atom_destruction: (damage_flag)
COMSIG_ATOM_EXTINGUISHfrom base of /atom/proc/extinguish
COMSIG_ATOM_INTEGRITY_CHANGEDfrom base of /atom/proc/update_integrity: (old_value, new_value)
COMSIG_ATOM_TAKE_DAMAGEfrom base of /atom/proc/take_damage: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)
COMPONENT_NO_TAKE_DAMAGEReturn bitflags for the above signal which prevents the atom taking any damage.
COMPONENT_CANCEL_ATTACK_CHAINtool_act -> pre_attack -> target.attackby (item.attack) -> afterattack +Ends the attack chain. If sent early might cause posterior attacks not to happen.
COMPONENT_SKIP_ATTACKSkips the specific attack step, continuing for the next one to happen.
COMSIG_ATOM_ATTACK_GHOSTfrom base of atom/attack_ghost(): (mob/dead/observer/ghost)
COMSIG_ATOM_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user, list/modifiers)
COMSIG_ATOM_ATTACK_PAWfrom base of atom/attack_paw(): (mob/user)
COMSIG_ATOM_ATTACK_MECHfrom base of atom/mech_melee_attack(): (obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)
COMSIG_ATOM_ATTACK_ROBOTfrom base of atom/attack_robot(): (mob/user)
COMSIG_ATOM_ATTACK_ROBOT_SECONDARYfrom base of atom/attack_robot_secondary(): (mob/user)
COMSIG_ATOM_WAS_ATTACKEDfrom relay_attackers element: (atom/attacker, attack_flags)
COMSIG_PRE_TILT_AND_CRUSHCalled before a atom gets something tilted on them. If [COMPONENT_IMMUNE_TO_TILT_AND_CRUSH] is returned in a signal, the atom will be unaffected: (atom/target, atom/source)
COMSIG_POST_TILT_AND_CRUSHCalled when a atom gets something tilted on them: (atom/target, atom/source)
COMSIG_ATOM_SPLASHEDCalled when an atom is splashed with something: (atom/source)
ATTACKER_STAMINA_ATTACKThe damage type of the weapon projectile is non-lethal stamina
ATTACKER_SHOVINGthe attacker is shoving the source
ATTACKER_DAMAGING_ATTACKThe attack is a damaging-type attack
COMSIG_ATOM_HOLYATTACKCalled on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags)

Define Details

+

ATTACKER_DAMAGING_ATTACK + + +

+

The attack is a damaging-type attack

ATTACKER_SHOVING + + +

+

the attacker is shoving the source

ATTACKER_STAMINA_ATTACK + + +

+

The damage type of the weapon projectile is non-lethal stamina

COMPONENT_CANCEL_ATTACK_CHAIN + + +

+

tool_act -> pre_attack -> target.attackby (item.attack) -> afterattack +Ends the attack chain. If sent early might cause posterior attacks not to happen.

COMPONENT_NO_AFTERATTACK + + +

+

Return this in response if you don't want afterattack to be called

COMPONENT_NO_TAKE_DAMAGE + + +

+

Return bitflags for the above signal which prevents the atom taking any damage.

COMPONENT_SKIP_ATTACK + + +

+

Skips the specific attack step, continuing for the next one to happen.

COMSIG_ATOM_AFTER_ATTACKEDBY + + +

+

from [/item/afterattack()], sent by an atom which was just attacked by an item: (/obj/item/weapon, /mob/user, proximity_flag, click_parameters)

COMSIG_ATOM_ATTACKBY + + +

+

from base of atom/attackby(): (/obj/item, /mob/living, params)

COMSIG_ATOM_ATTACKBY_SECONDARY + + +

+

From base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)

COMSIG_ATOM_ATTACK_ANIMAL + + +

+

from base of atom/animal_attack(): (/mob/user)

COMSIG_ATOM_ATTACK_GHOST + + +

+

from base of atom/attack_ghost(): (mob/dead/observer/ghost)

COMSIG_ATOM_ATTACK_HAND + + +

+

from base of atom/attack_hand(): (mob/user, list/modifiers)

COMSIG_ATOM_ATTACK_HAND_SECONDARY + + +

+

From base of /atom/proc/attack_hand_secondary: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.

COMSIG_ATOM_ATTACK_MECH + + +

+

from base of atom/mech_melee_attack(): (obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)

COMSIG_ATOM_ATTACK_PAW + + +

+

from base of atom/attack_paw(): (mob/user)

COMSIG_ATOM_ATTACK_ROBOT + + +

+

from base of atom/attack_robot(): (mob/user)

COMSIG_ATOM_ATTACK_ROBOT_SECONDARY + + +

+

from base of atom/attack_robot_secondary(): (mob/user)

COMSIG_ATOM_BREAK + + +

+

from /atom/proc/atom_break: (damage_flag)

COMSIG_ATOM_DESTRUCTION + + +

+

from base of /atom/proc/atom_destruction: (damage_flag)

COMSIG_ATOM_EXTINGUISH + + +

+

from base of /atom/proc/extinguish

COMSIG_ATOM_FIX + + +

+

from base of /atom/proc/atom_fix: ()

COMSIG_ATOM_HOLYATTACK + + +

+

Called on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags)

COMSIG_ATOM_HULK_ATTACK + + +

+

from base of atom/attack_hulk(): (/mob/living/carbon/human)

COMSIG_ATOM_INTEGRITY_CHANGED + + +

+

from base of /atom/proc/update_integrity: (old_value, new_value)

COMSIG_ATOM_SPLASHED + + +

+

Called when an atom is splashed with something: (atom/source)

COMSIG_ATOM_TAKE_DAMAGE + + +

+

from base of /atom/proc/take_damage: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)

COMSIG_ATOM_WAS_ATTACKED + + +

+

from relay_attackers element: (atom/attacker, attack_flags)

COMSIG_POST_TILT_AND_CRUSH + + +

+

Called when a atom gets something tilted on them: (atom/target, atom/source)

COMSIG_PRE_TILT_AND_CRUSH + + +

+

Called before a atom gets something tilted on them. If [COMPONENT_IMMUNE_TO_TILT_AND_CRUSH] is returned in a signal, the atom will be unaffected: (atom/target, atom/source)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html new file mode 100644 index 00000000000..76520154ea3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_explosion.dm + +

+ + + + + + +
COMSIG_ATOM_EXPLODEfrom /datum/controller/subsystem/explosions/proc/explode: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))
COMSIG_ATOM_INTERNAL_EXPLOSIONfrom /datum/controller/subsystem/explosions/proc/explode: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))
COMSIG_AREA_INTERNAL_EXPLOSIONfrom /datum/controller/subsystem/explosions/proc/explode: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))
COMSIG_CANCEL_EXPLOSIONWhen returned on a signal hooked to COMSIG_ATOM_EXPLODE, COMSIG_ATOM_INTERNAL_EXPLOSION, or COMSIG_AREA_INTERNAL_EXPLOSION it prevents the explosion from being propagated further.
COMSIG_MOVABLE_EXPLOSION_BLOCK_CHANGEDfrom [/atom/movable/proc/set_explosion_resistance] : (old_block, new_block)

Define Details

+

COMSIG_AREA_INTERNAL_EXPLOSION + + +

+

from /datum/controller/subsystem/explosions/proc/explode: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))

COMSIG_ATOM_EXPLODE + + +

+

from /datum/controller/subsystem/explosions/proc/explode: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))

COMSIG_ATOM_INTERNAL_EXPLOSION + + +

+

from /datum/controller/subsystem/explosions/proc/explode: (/list(/atom, devastation_range, heavy_impact_range, light_impact_range, flame_range, flash_range, adminlog, ignorecap, silent, smoke, explosion_cause))

COMSIG_CANCEL_EXPLOSION + + +

+

When returned on a signal hooked to COMSIG_ATOM_EXPLODE, COMSIG_ATOM_INTERNAL_EXPLOSION, or COMSIG_AREA_INTERNAL_EXPLOSION it prevents the explosion from being propagated further.

COMSIG_MOVABLE_EXPLOSION_BLOCK_CHANGED + + +

+

from [/atom/movable/proc/set_explosion_resistance] : (old_block, new_block)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html new file mode 100644 index 00000000000..25debf9cf70 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.html @@ -0,0 +1,122 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_lighting.dm + +

+ + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_SET_LIGHTfrom base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)
COMPONENT_BLOCK_LIGHT_UPDATEBlocks [/atom/proc/set_light], /atom/proc/set_light_power, /atom/proc/set_light_range, /atom/proc/set_light_color, /atom/proc/set_light_on, and /atom/proc/set_light_flags.
COMSIG_ATOM_SET_LIGHT_POWERCalled right before the atom changes the value of light_power to a different one, from base atom/proc/set_light_power: (new_power)
COMSIG_ATOM_UPDATE_LIGHT_POWERCalled right after the atom changes the value of light_power to a different one, from base of /atom/proc/set_light_power: (old_power)
COMSIG_ATOM_SET_LIGHT_RANGECalled right before the atom changes the value of light_range to a different one, from base atom/proc/set_light_range: (new_range)
COMSIG_ATOM_UPDATE_LIGHT_RANGECalled right after the atom changes the value of light_range to a different one, from base of /atom/proc/set_light_range: (old_range)
COMSIG_ATOM_SET_LIGHT_COLORCalled right before the atom changes the value of light_color to a different one, from base atom/proc/set_light_color: (new_color)
COMSIG_ATOM_UPDATE_LIGHT_COLORCalled right after the atom changes the value of light_color to a different one, from base of /atom/proc/set_light_color: (old_color)
COMSIG_ATOM_SET_LIGHT_ANGLECalled right before the atom changes the value of light_angle to a different one, from base atom/proc/set_light_angle: (new_angle)
COMSIG_ATOM_UPDATE_LIGHT_ANGLECalled right after the atom changes the value of light_angle to a different one, from base of /atom/proc/set_light_angle: (old_angle)
COMSIG_ATOM_SET_LIGHT_DIRCalled right before the atom changes the value of light_dir to a different one, from base atom/proc/set_light_dir: (new_dir)
COMSIG_ATOM_UPDATE_LIGHT_DIRCalled right after the atom changes the value of light_dir to a different one, from base of /atom/proc/set_light_dir: (old_dir)
COMSIG_ATOM_SET_LIGHT_ONCalled right before the atom changes the value of light_on to a different one, from base atom/proc/set_light_on: (new_value)
COMSIG_ATOM_UPDATE_LIGHT_ONCalled right after the atom changes the value of light_on to a different one, from base of /atom/proc/set_light_on: (old_value)
COMSIG_ATOM_SET_LIGHT_HEIGHTCalled right before the atom changes the value of light_height to a different one, from base atom/proc/set_light_height: (new_value)
COMSIG_ATOM_UPDATE_LIGHT_HEIGHTCalled right after the atom changes the value of light_height to a different one, from base of /atom/proc/set_light_height: (old_value)
COMSIG_ATOM_SET_LIGHT_FLAGSCalled right before the atom changes the value of light_flags to a different one, from base atom/proc/set_light_flags: (new_flags)
COMSIG_ATOM_UPDATE_LIGHT_FLAGSCalled right after the atom changes the value of light_flags to a different one, from base of /atom/proc/set_light_flags: (old_flags)
COMSIG_ATOM_LIGHT_TEMPLATE_MIRROREDCalled when an atom has a light template applied to it. Frombase of [/datum/light_template/proc/mirror_onto]: ()

Define Details

+

COMPONENT_BLOCK_LIGHT_UPDATE + + +

+

Blocks [/atom/proc/set_light], /atom/proc/set_light_power, /atom/proc/set_light_range, /atom/proc/set_light_color, /atom/proc/set_light_on, and /atom/proc/set_light_flags.

COMSIG_ATOM_LIGHT_TEMPLATE_MIRRORED + + +

+

Called when an atom has a light template applied to it. Frombase of [/datum/light_template/proc/mirror_onto]: ()

COMSIG_ATOM_SET_LIGHT + + +

+

from base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)

COMSIG_ATOM_SET_LIGHT_ANGLE + + +

+

Called right before the atom changes the value of light_angle to a different one, from base atom/proc/set_light_angle: (new_angle)

COMSIG_ATOM_SET_LIGHT_COLOR + + +

+

Called right before the atom changes the value of light_color to a different one, from base atom/proc/set_light_color: (new_color)

COMSIG_ATOM_SET_LIGHT_DIR + + +

+

Called right before the atom changes the value of light_dir to a different one, from base atom/proc/set_light_dir: (new_dir)

COMSIG_ATOM_SET_LIGHT_FLAGS + + +

+

Called right before the atom changes the value of light_flags to a different one, from base atom/proc/set_light_flags: (new_flags)

COMSIG_ATOM_SET_LIGHT_HEIGHT + + +

+

Called right before the atom changes the value of light_height to a different one, from base atom/proc/set_light_height: (new_value)

COMSIG_ATOM_SET_LIGHT_ON + + +

+

Called right before the atom changes the value of light_on to a different one, from base atom/proc/set_light_on: (new_value)

COMSIG_ATOM_SET_LIGHT_POWER + + +

+

Called right before the atom changes the value of light_power to a different one, from base atom/proc/set_light_power: (new_power)

COMSIG_ATOM_SET_LIGHT_RANGE + + +

+

Called right before the atom changes the value of light_range to a different one, from base atom/proc/set_light_range: (new_range)

COMSIG_ATOM_UPDATE_LIGHT_ANGLE + + +

+

Called right after the atom changes the value of light_angle to a different one, from base of /atom/proc/set_light_angle: (old_angle)

COMSIG_ATOM_UPDATE_LIGHT_COLOR + + +

+

Called right after the atom changes the value of light_color to a different one, from base of /atom/proc/set_light_color: (old_color)

COMSIG_ATOM_UPDATE_LIGHT_DIR + + +

+

Called right after the atom changes the value of light_dir to a different one, from base of /atom/proc/set_light_dir: (old_dir)

COMSIG_ATOM_UPDATE_LIGHT_FLAGS + + +

+

Called right after the atom changes the value of light_flags to a different one, from base of /atom/proc/set_light_flags: (old_flags)

COMSIG_ATOM_UPDATE_LIGHT_HEIGHT + + +

+

Called right after the atom changes the value of light_height to a different one, from base of /atom/proc/set_light_height: (old_value)

COMSIG_ATOM_UPDATE_LIGHT_ON + + +

+

Called right after the atom changes the value of light_on to a different one, from base of /atom/proc/set_light_on: (old_value)

COMSIG_ATOM_UPDATE_LIGHT_POWER + + +

+

Called right after the atom changes the value of light_power to a different one, from base of /atom/proc/set_light_power: (old_power)

COMSIG_ATOM_UPDATE_LIGHT_RANGE + + +

+

Called right after the atom changes the value of light_range to a different one, from base of /atom/proc/set_light_range: (old_range)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html new file mode 100644 index 00000000000..092ad7fb66f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.html @@ -0,0 +1,287 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_EXAMINEfrom base of atom/examine(): (/mob, list/examine_text)
COMSIG_ATOM_GET_EXAMINE_NAMEfrom base of atom/get_examine_name(): (/mob, list/overrides)
COMSIG_ATOM_REAGENT_EXAMINEfrom base of atom/examine(): (/mob, list/examine_text, can_see_inside)
STOP_GENERIC_REAGENT_EXAMINEStop the generic reagent examine text
COMSIG_ATOM_EXAMINE_MOREfrom base of atom/examine_more(): (/mob, examine_list)
COMSIG_MOB_EXAMINING_MOREfrom atom/examine_more(): (/atom/examining, examine_list)
COMSIG_ATOM_UPDATE_APPEARANCEfrom base of /atom/proc/update_appearance: (updates)
COMSIG_ATOM_NO_UPDATE_NAMEIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its name.
COMSIG_ATOM_NO_UPDATE_DESCIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its desc.
COMSIG_ATOM_NO_UPDATE_ICONIf returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its icon.
COMSIG_ATOM_UPDATE_NAMEfrom base of /atom/proc/update_name: (updates)
COMSIG_ATOM_UPDATE_DESCfrom base of /atom/proc/update_desc: (updates)
COMSIG_ATOM_UPDATE_ICONfrom base of /atom/update_icon: ()
COMSIG_ATOM_NO_UPDATE_ICON_STATEIf returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its icon state.
COMSIG_ATOM_NO_UPDATE_OVERLAYSIf returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its overlays.
COMSIG_ATOM_UPDATE_INHAND_ICONfrom base of atom/update_inhand_icon: (/mob)
COMSIG_ATOM_UPDATE_ICON_STATEfrom base of atom/update_icon_state: ()
COMSIG_ATOM_UPDATE_OVERLAYSfrom base of /atom/update_overlays: (list/new_overlays)
COMSIG_ATOM_UPDATED_ICONfrom base of /atom/update_icon: (signalOut, did_anything)
COMSIG_ATOM_SMOOTHED_ICONfrom base of /atom/proc/smooth_icon: ()
COMSIG_ATOM_DECALS_ROTATINGfrom /datum/controller/subsystem/processing/dcs/proc/rotate_decals: (list/datum/element/decal/rotating)
COMSIG_ATOM_ENTEREDfrom base of atom/Entered(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
COMSIG_ATOM_ABSTRACT_ENTEREDfrom base of atom/movable/Moved(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
COMSIG_ATOM_ENTERINGSent from the atom that just Entered src. From base of atom/Entered(): (/atom/destination, atom/old_loc, list/atom/old_locs)
COMSIG_ATOM_EXITfrom base of atom/Exit(): (/atom/movable/leaving, direction)
COMSIG_ATOM_EXITEDfrom base of atom/Exited(): (atom/movable/gone, direction)
COMSIG_ATOM_ABSTRACT_EXITEDfrom base of atom/movable/Moved(): (atom/movable/gone, direction)
COMSIG_ATOM_BUMPEDfrom base of atom/Bumped(): (/atom/movable)
COMSIG_ATOM_HAS_GRAVITYfrom base of atom/has_gravity(): (turf/location, list/forced_gravities)
COMSIG_ATOM_CANREACHfrom internal loop in atom/movable/proc/CanReach(): (list/next)
COMSIG_ATOM_CREATEDBY_PROCESSINGfor when an atom has been created through processing (atom/original_atom, list/chosen_processing_option)
COMSIG_ATOM_PROCESSEDwhen an atom is processed (mob/living/user, obj/item/process_item, list/atom/results)
COMSIG_ATOM_INTERCEPT_TELEPORTINGcalled when teleporting into a possibly protected turf: (channel, turf/origin, turf/destination)
COMSIG_ATOM_INTERCEPT_TELEPORTEDcalled after teleporting into a protected turf: (channel, turf/origin)
COMSIG_ATOM_HEARER_IN_VIEWcalled when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers)
COMSIG_ATOM_ORBIT_BEGINcalled when an atom starts orbiting another atom: (atom)
COMSIG_ATOM_ORBIT_STOPcalled when an atom stops orbiting another atom: (atom)
COMSIG_ATOM_SET_OPACITYfrom base of atom/set_opacity(): (new_opacity)
COMSIG_ATOM_PREHITBYfrom base of atom/throw_impact, sent by the target hit by a thrown object. (hit_atom, thrown_atom, datum/thrownthing/throwingdatum)
COMSIG_ATOM_HITBYfrom base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
COMSIG_ATOM_STARTING_INSTRUMENTwhen an atom starts playing a song datum (datum/song)
COMSIG_ATOM_VV_MODIFY_TRANSFORMWhen the transform or an atom is varedited through vv topic.
COMSIG_ATOM_TEMPORARY_ANIMATION_STARTgenerally called before temporary non-parallel animate()s on the atom (animation_duration)
COMSIG_ATOM_ON_LAZARUS_INJECTORcalled on /obj/item/lazarus_injector/afterattack : (injector, user)
COMSIG_ATOM_PROPAGATE_RAD_PULSEfrom internal loop in /atom/proc/propagate_radiation_pulse: (atom/pulse_source)
COMSIG_ATOM_RESTYLEfrom cosmetic items to restyle certain mobs, objects or organs: (atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed)
COMSIG_ATOM_TIMESTOP_FREEZEwhen a timestop ability is used on the atom: (datum/proximity_monitor/advanced/timestop)
COMSIG_ATOM_TIMESTOP_UNFREEZEwhen the timestop ability effect ends on the atom: (datum/proximity_monitor/advanced/timestop)
COMSIG_ATOM_SPIN_ANIMATIONCalled on /atom/SpinAnimation() : (speed, loops, segments, angle)
COMSIG_ATOM_GERM_EXPOSEDwhen atom falls onto the floor and become exposed to germs: (datum/component/germ_exposure)
COMSIG_ATOM_GERM_UNEXPOSEDwhen atom is picked up from the floor or moved to an elevated structure: (datum/component/germ_exposure)
COMSIG_PUZZLE_COMPLETEDsignal sent to puzzle pieces by activator

Define Details

+

COMSIG_ATOM_ABSTRACT_ENTERED + + +

+

from base of atom/movable/Moved(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)

COMSIG_ATOM_ABSTRACT_EXITED + + +

+

from base of atom/movable/Moved(): (atom/movable/gone, direction)

COMSIG_ATOM_BUMPED + + +

+

from base of atom/Bumped(): (/atom/movable)

COMSIG_ATOM_CANREACH + + +

+

from internal loop in atom/movable/proc/CanReach(): (list/next)

COMSIG_ATOM_CREATEDBY_PROCESSING + + +

+

for when an atom has been created through processing (atom/original_atom, list/chosen_processing_option)

COMSIG_ATOM_DECALS_ROTATING + + +

+

from /datum/controller/subsystem/processing/dcs/proc/rotate_decals: (list/datum/element/decal/rotating)

COMSIG_ATOM_ENTERED + + +

+

from base of atom/Entered(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)

COMSIG_ATOM_ENTERING + + +

+

Sent from the atom that just Entered src. From base of atom/Entered(): (/atom/destination, atom/old_loc, list/atom/old_locs)

COMSIG_ATOM_EXAMINE + + +

+

from base of atom/examine(): (/mob, list/examine_text)

COMSIG_ATOM_EXAMINE_MORE + + +

+

from base of atom/examine_more(): (/mob, examine_list)

COMSIG_ATOM_EXIT + + +

+

from base of atom/Exit(): (/atom/movable/leaving, direction)

COMSIG_ATOM_EXITED + + +

+

from base of atom/Exited(): (atom/movable/gone, direction)

COMSIG_ATOM_GERM_EXPOSED + + +

+

when atom falls onto the floor and become exposed to germs: (datum/component/germ_exposure)

COMSIG_ATOM_GERM_UNEXPOSED + + +

+

when atom is picked up from the floor or moved to an elevated structure: (datum/component/germ_exposure)

COMSIG_ATOM_GET_EXAMINE_NAME + + +

+

from base of atom/get_examine_name(): (/mob, list/overrides)

COMSIG_ATOM_HAS_GRAVITY + + +

+

from base of atom/has_gravity(): (turf/location, list/forced_gravities)

COMSIG_ATOM_HEARER_IN_VIEW + + +

+

called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers)

COMSIG_ATOM_HITBY + + +

+

from base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)

COMSIG_ATOM_INTERCEPT_TELEPORTED + + +

+

called after teleporting into a protected turf: (channel, turf/origin)

COMSIG_ATOM_INTERCEPT_TELEPORTING + + +

+

called when teleporting into a possibly protected turf: (channel, turf/origin, turf/destination)

COMSIG_ATOM_NO_UPDATE_DESC + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its desc.

COMSIG_ATOM_NO_UPDATE_ICON + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its icon.

COMSIG_ATOM_NO_UPDATE_ICON_STATE + + +

+

If returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its icon state.

COMSIG_ATOM_NO_UPDATE_NAME + + +

+

If returned from COMSIG_ATOM_UPDATE_APPEARANCE it prevents the atom from updating its name.

COMSIG_ATOM_NO_UPDATE_OVERLAYS + + +

+

If returned from COMSIG_ATOM_UPDATE_ICON it prevents the atom from updating its overlays.

COMSIG_ATOM_ON_LAZARUS_INJECTOR + + +

+

called on /obj/item/lazarus_injector/afterattack : (injector, user)

COMSIG_ATOM_ORBIT_BEGIN + + +

+

called when an atom starts orbiting another atom: (atom)

COMSIG_ATOM_ORBIT_STOP + + +

+

called when an atom stops orbiting another atom: (atom)

COMSIG_ATOM_PREHITBY + + +

+

from base of atom/throw_impact, sent by the target hit by a thrown object. (hit_atom, thrown_atom, datum/thrownthing/throwingdatum)

COMSIG_ATOM_PROCESSED + + +

+

when an atom is processed (mob/living/user, obj/item/process_item, list/atom/results)

COMSIG_ATOM_PROPAGATE_RAD_PULSE + + +

+

from internal loop in /atom/proc/propagate_radiation_pulse: (atom/pulse_source)

COMSIG_ATOM_REAGENT_EXAMINE + + +

+

from base of atom/examine(): (/mob, list/examine_text, can_see_inside)

COMSIG_ATOM_RESTYLE + + +

+

from cosmetic items to restyle certain mobs, objects or organs: (atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed)

COMSIG_ATOM_SET_OPACITY + + +

+

from base of atom/set_opacity(): (new_opacity)

COMSIG_ATOM_SMOOTHED_ICON + + +

+

from base of /atom/proc/smooth_icon: ()

COMSIG_ATOM_SPIN_ANIMATION + + +

+

Called on /atom/SpinAnimation() : (speed, loops, segments, angle)

COMSIG_ATOM_STARTING_INSTRUMENT + + +

+

when an atom starts playing a song datum (datum/song)

COMSIG_ATOM_TEMPORARY_ANIMATION_START + + +

+

generally called before temporary non-parallel animate()s on the atom (animation_duration)

COMSIG_ATOM_TIMESTOP_FREEZE + + +

+

when a timestop ability is used on the atom: (datum/proximity_monitor/advanced/timestop)

COMSIG_ATOM_TIMESTOP_UNFREEZE + + +

+

when the timestop ability effect ends on the atom: (datum/proximity_monitor/advanced/timestop)

COMSIG_ATOM_UPDATED_ICON + + +

+

from base of /atom/update_icon: (signalOut, did_anything)

COMSIG_ATOM_UPDATE_APPEARANCE + + +

+

from base of /atom/proc/update_appearance: (updates)

COMSIG_ATOM_UPDATE_DESC + + +

+

from base of /atom/proc/update_desc: (updates)

COMSIG_ATOM_UPDATE_ICON + + +

+

from base of /atom/update_icon: ()

COMSIG_ATOM_UPDATE_ICON_STATE + + +

+

from base of atom/update_icon_state: ()

COMSIG_ATOM_UPDATE_INHAND_ICON + + +

+

from base of atom/update_inhand_icon: (/mob)

COMSIG_ATOM_UPDATE_NAME + + +

+

from base of /atom/proc/update_name: (updates)

COMSIG_ATOM_UPDATE_OVERLAYS + + +

+

from base of /atom/update_overlays: (list/new_overlays)

COMSIG_ATOM_VV_MODIFY_TRANSFORM + + +

+

When the transform or an atom is varedited through vv topic.

COMSIG_MOB_EXAMINING_MORE + + +

+

from atom/examine_more(): (/atom/examining, examine_list)

COMSIG_PUZZLE_COMPLETED + + +

+

signal sent to puzzle pieces by activator

STOP_GENERIC_REAGENT_EXAMINE + + +

+

Stop the generic reagent examine text

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html new file mode 100644 index 00000000000..063093b12b3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_mouse.dm + +

+ + + + + + + + + + + + +
COMSIG_CLIENT_CLICKfrom base of client/Click(): (atom/target, atom/location, control, params, mob/user)
COMSIG_CLICKfrom base of atom/Click(): (atom/location, control, params, mob/user)
COMSIG_CLICK_SHIFTfrom base of atom/ShiftClick(): (/mob)
COMPONENT_ALLOW_EXAMINATEAllows the user to examinate regardless of client.eye.
COMSIG_CLICK_CTRLfrom base of atom/CtrlClickOn(): (/mob)
COMSIG_CLICK_ALTfrom base of atom/AltClick(): (/mob)
COMSIG_CLICK_ALT_SECONDARYfrom base of atom/alt_click_secondary(): (/mob)
COMSIG_CLICK_CTRL_SHIFTfrom base of atom/CtrlShiftClick(/mob)
COMSIG_MOUSEDROP_ONTOfrom base of atom/MouseDrop(): (/atom/over, /mob/user)
COMSIG_MOUSEDROPPED_ONTOfrom base of atom/MouseDrop_T: (/atom/from, /mob/user)
COMSIG_MOUSE_SCROLL_ONfrom base of mob/MouseWheelOn(): (/atom, delta_x, delta_y, params)

Define Details

+

COMPONENT_ALLOW_EXAMINATE + + +

+

Allows the user to examinate regardless of client.eye.

COMSIG_CLICK + + +

+

from base of atom/Click(): (atom/location, control, params, mob/user)

COMSIG_CLICK_ALT + + +

+

from base of atom/AltClick(): (/mob)

COMSIG_CLICK_ALT_SECONDARY + + +

+

from base of atom/alt_click_secondary(): (/mob)

COMSIG_CLICK_CTRL + + +

+

from base of atom/CtrlClickOn(): (/mob)

COMSIG_CLICK_CTRL_SHIFT + + +

+

from base of atom/CtrlShiftClick(/mob)

COMSIG_CLICK_SHIFT + + +

+

from base of atom/ShiftClick(): (/mob)

COMSIG_CLIENT_CLICK + + +

+

from base of client/Click(): (atom/target, atom/location, control, params, mob/user)

COMSIG_MOUSEDROPPED_ONTO + + +

+

from base of atom/MouseDrop_T: (/atom/from, /mob/user)

COMSIG_MOUSEDROP_ONTO + + +

+

from base of atom/MouseDrop(): (/atom/over, /mob/user)

COMSIG_MOUSE_SCROLL_ON + + +

+

from base of mob/MouseWheelOn(): (/atom, delta_x, delta_y, params)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html new file mode 100644 index 00000000000..5a833d9084e --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.html @@ -0,0 +1,222 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_MOVABLE_PRE_MOVEfrom base of atom/movable/Moved(): (/atom)
COMSIG_MOVABLE_MOVEDfrom base of atom/movable/Moved(): (atom/old_loc, dir, forced, list/old_locs)
COMSIG_MOVABLE_CROSSfrom base of atom/movable/Cross(): (/atom/movable)
COMSIG_MOVABLE_CROSS_OVERfrom base of atom/movable/Move(): (/atom/movable)
COMSIG_MOVABLE_BUMPfrom base of atom/movable/Bump(): (/atom)
COMSIG_MOVABLE_NEWTONIAN_MOVEfrom base of atom/movable/newtonian_move(): (inertia_direction, start_delay)
COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPTfrom datum/component/drift/apply_initial_visuals(): ()
COMSIG_MOVABLE_DRIFT_BLOCK_INPUTfrom datum/component/drift/allow_final_movement(): ()
COMSIG_MOVABLE_IMPACTfrom base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)
COMSIG_MOVABLE_IMPACT_ZONEfrom base of mob/living/hitby(): (mob/living/target, hit_zone, blocked, datum/thrownthing/throwingdatum)
COMSIG_MOVABLE_PREBUCKLEfrom /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)
COMSIG_MOVABLE_BUCKLEfrom base of atom/movable/buckle_mob(): (mob, force)
COMSIG_MOVABLE_UNBUCKLEfrom base of atom/movable/unbuckle_mob(): (mob, force)
COMSIG_RIDDEN_DRIVER_MOVEfrom /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle
COMSIG_MOVABLE_PRE_THROWfrom base of atom/movable/throw_at(): (list/args)
COMSIG_MOVABLE_POST_THROWfrom base of atom/movable/throw_at(): (datum/thrownthing, spin)
COMSIG_MOVABLE_THROW_LANDEDfrom base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished
COMSIG_MOVABLE_Z_CHANGEDfrom base of atom/movable/on_changed_z_level(): (turf/old_turf, turf/new_turf, same_z_layer)
COMSIG_MOVABLE_PRE_HEARcalled before hearing a message from atom/movable/Hear():
COMSIG_MOVABLE_CANCEL_HEARINGcancel hearing the message because we're doing something else presumably
COMSIG_MOVABLE_HEARfrom base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), message_range))
COMSIG_MOVABLE_DISPOSINGcalled when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)
COMSIG_MOVABLE_SET_ANCHOREDcalled when the movable sucessfully has it's anchored var changed, from base atom/movable/set_anchored(): (value)
COMSIG_MOVABLE_SET_GRAB_STATEfrom base of atom/movable/setGrabState(): (newstate)
COMSIG_MOVABLE_UPDATE_GLIDE_SIZEcalled when the movable's glide size is updated: (new_glide_size)
COMSIG_MOVABLE_CHANGE_DUCT_LAYERCalled when a movable is hit by a plunger in layer mode, from /obj/item/plunger/attack_atom()
COMSIG_MOVABLE_TELEPORTINGCalled before a movable is being teleported from check_teleport_valid(): (destination, channel)
COMSIG_MOVABLE_TELEPORTEDCalled when a movable is being teleported from do_teleport(): (destination, channel)
COMSIG_MOVABLE_POST_TELEPORTCalled after a movable is teleported from do_teleport(): ()
COMSIG_BUCKLED_CAN_Z_MOVEfrom /mob/living/can_z_move, sent to whatever the mob is buckled to. Only ridable movables should be ridden up or down btw.
COMSIG_MOVABLE_SPACEMOVEfrom base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)
COMSIG_MOVABLE_USING_RADIOSent from /obj/item/radio/talk_into(): (obj/item/radio/used_radio)
COMPONENT_CANNOT_USE_RADIOReturn to prevent the movable from talking into the radio.
COMSIG_MOVABLE_SAY_QUOTESent from /atom/movable/proc/say_quote() after say verb is chosen and before spans are applied.
MOVABLE_SAY_QUOTE_MESSAGEThe index of args that corresponds to the actual message
COMSIG_MOVABLE_MESSAGE_GET_NAME_PARTSent from /atom/movable/proc/compose_message() after the name part: (list/stored_name, visible_name)
NAME_PART_INDEXThe index of the name part
COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAYFrom /datum/element/immerse/proc/add_submerge_overlay(): (visual_overlay)
COMSIG_MOVABLE_EXITED_AREAFrom base of area/Exited(): (area/left, direction)

Define Details

+

COMPONENT_CANNOT_USE_RADIO + + +

+

Return to prevent the movable from talking into the radio.

COMSIG_BUCKLED_CAN_Z_MOVE + + +

+

from /mob/living/can_z_move, sent to whatever the mob is buckled to. Only ridable movables should be ridden up or down btw.

COMSIG_MOVABLE_BUCKLE + + +

+

from base of atom/movable/buckle_mob(): (mob, force)

COMSIG_MOVABLE_BUMP + + +

+

from base of atom/movable/Bump(): (/atom)

COMSIG_MOVABLE_CANCEL_HEARING + + +

+

cancel hearing the message because we're doing something else presumably

COMSIG_MOVABLE_CHANGE_DUCT_LAYER + + +

+

Called when a movable is hit by a plunger in layer mode, from /obj/item/plunger/attack_atom()

COMSIG_MOVABLE_CROSS + + +

+

from base of atom/movable/Cross(): (/atom/movable)

COMSIG_MOVABLE_CROSS_OVER + + +

+

from base of atom/movable/Move(): (/atom/movable)

COMSIG_MOVABLE_DISPOSING + + +

+

called when the movable is added to a disposal holder object for disposal movement: (obj/structure/disposalholder/holder, obj/machinery/disposal/source)

COMSIG_MOVABLE_DRIFT_BLOCK_INPUT + + +

+

from datum/component/drift/allow_final_movement(): ()

COMSIG_MOVABLE_DRIFT_VISUAL_ATTEMPT + + +

+

from datum/component/drift/apply_initial_visuals(): ()

COMSIG_MOVABLE_EDIT_UNIQUE_IMMERSE_OVERLAY + + +

+

From /datum/element/immerse/proc/add_submerge_overlay(): (visual_overlay)

COMSIG_MOVABLE_EXITED_AREA + + +

+

From base of area/Exited(): (area/left, direction)

COMSIG_MOVABLE_HEAR + + +

+

from base of atom/movable/Hear(): (proc args list(message, atom/movable/speaker, message_language, raw_message, radio_freq, list/spans, list/message_mods = list(), message_range))

COMSIG_MOVABLE_IMPACT + + +

+

from base of atom/movable/throw_impact(): (/atom/hit_atom, /datum/thrownthing/throwingdatum)

COMSIG_MOVABLE_IMPACT_ZONE + + +

+

from base of mob/living/hitby(): (mob/living/target, hit_zone, blocked, datum/thrownthing/throwingdatum)

COMSIG_MOVABLE_MESSAGE_GET_NAME_PART + + +

+

Sent from /atom/movable/proc/compose_message() after the name part: (list/stored_name, visible_name)

COMSIG_MOVABLE_MOVED + + +

+

from base of atom/movable/Moved(): (atom/old_loc, dir, forced, list/old_locs)

COMSIG_MOVABLE_NEWTONIAN_MOVE + + +

+

from base of atom/movable/newtonian_move(): (inertia_direction, start_delay)

COMSIG_MOVABLE_POST_TELEPORT + + +

+

Called after a movable is teleported from do_teleport(): ()

COMSIG_MOVABLE_POST_THROW + + +

+

from base of atom/movable/throw_at(): (datum/thrownthing, spin)

COMSIG_MOVABLE_PREBUCKLE + + +

+

from /atom/movable/proc/buckle_mob(): (mob/living/M, force, check_loc, buckle_mob_flags)

COMSIG_MOVABLE_PRE_HEAR + + +

+

called before hearing a message from atom/movable/Hear():

COMSIG_MOVABLE_PRE_MOVE + + +

+

from base of atom/movable/Moved(): (/atom)

COMSIG_MOVABLE_PRE_THROW + + +

+

from base of atom/movable/throw_at(): (list/args)

COMSIG_MOVABLE_SAY_QUOTE + + +

+

Sent from /atom/movable/proc/say_quote() after say verb is chosen and before spans are applied.

COMSIG_MOVABLE_SET_ANCHORED + + +

+

called when the movable sucessfully has it's anchored var changed, from base atom/movable/set_anchored(): (value)

COMSIG_MOVABLE_SET_GRAB_STATE + + +

+

from base of atom/movable/setGrabState(): (newstate)

COMSIG_MOVABLE_SPACEMOVE + + +

+

from base of atom/movable/Process_Spacemove(): (movement_dir, continuous_move)

COMSIG_MOVABLE_TELEPORTED + + +

+

Called when a movable is being teleported from do_teleport(): (destination, channel)

COMSIG_MOVABLE_TELEPORTING + + +

+

Called before a movable is being teleported from check_teleport_valid(): (destination, channel)

COMSIG_MOVABLE_THROW_LANDED + + +

+

from base of datum/thrownthing/finalize(): (obj/thrown_object, datum/thrownthing) used for when a throw is finished

COMSIG_MOVABLE_UNBUCKLE + + +

+

from base of atom/movable/unbuckle_mob(): (mob, force)

COMSIG_MOVABLE_UPDATE_GLIDE_SIZE + + +

+

called when the movable's glide size is updated: (new_glide_size)

COMSIG_MOVABLE_USING_RADIO + + +

+

Sent from /obj/item/radio/talk_into(): (obj/item/radio/used_radio)

COMSIG_MOVABLE_Z_CHANGED + + +

+

from base of atom/movable/on_changed_z_level(): (turf/old_turf, turf/new_turf, same_z_layer)

COMSIG_RIDDEN_DRIVER_MOVE + + +

+

from /obj/vehicle/proc/driver_move, caught by the riding component to check and execute the driver trying to drive the vehicle

MOVABLE_SAY_QUOTE_MESSAGE + + +

+

The index of args that corresponds to the actual message

NAME_PART_INDEX + + +

+

The index of the name part

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html new file mode 100644 index 00000000000..0a87d4433f4 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.html @@ -0,0 +1,161 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_CAN_BE_PULLEDsignal sent out by an atom when it checks if it can be pulled, for additional checks
COMSIG_ATOM_NO_LONGER_PULLEDsignal sent out by an atom when it is no longer being pulled by something else : (atom/puller)
COMSIG_ATOM_NO_LONGER_PULLINGsignal sent out by an atom when it is no longer pulling something : (atom/pulling)
COMSIG_ATOM_INTERCEPT_Z_FALLcalled for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)
COMSIG_ATOM_ON_Z_IMPACTsignal sent out by an atom upon onZImpact : (turf/impacted_turf, levels)
COMSIG_ATOM_AFTER_SHUTTLE_MOVESignal sent after an atom movable moves on shuttle.
COMSIG_ATOM_START_PULLcalled on a movable (NOT living) when it starts pulling (atom/movable/pulled, state, force)
COMSIG_ATOM_TRIED_PASScalled on /atom when something attempts to pass through it (atom/movable/source, atom/movable/passing, dir)
COMSIG_LIVING_START_PULLcalled on /living when someone starts pulling (atom/movable/pulled, state, force)
COMSIG_LIVING_GET_PULLEDcalled on /living when someone is pulled (mob/living/puller)
COMSIG_LIVING_TRY_PULLcalled on /living, when pull is attempted, but before it completes, from base of [/mob/living/start_pulling]: (atom/movable/thing, force)
COMSIG_LIVING_UPDATING_PULL_MOVESPEEDCalled from /mob/living/update_pull_movespeed
COMSIG_LIVING_PUSHING_MOVABLECalled from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +(aotm/movable/being_pushed)
COMSIG_ATOM_UI_INTERACTfrom base of [/atom/proc/interact]: (mob/user)
COMSIG_ATOM_RELAYMOVEfrom base of atom/relaymove(): (mob/living/user, direction)
COMSIG_BLOCK_RELAYMOVEprevents the "you cannot move while buckled! message"
COMSIG_ATOM_PRE_DIR_CHANGEFrom base of atom/setDir(): (old_dir, new_dir). Called before the direction changes
COMSIG_ATOM_DIR_CHANGEfrom base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.
COMSIG_ATOM_POST_DIR_CHANGEfrom base of atom/setDir(): (old_dir, new_dir). Called after the direction changes.
COMSIG_MOVABLE_KEYBIND_FACE_DIRfrom base of atom/movable/keybind_face_direction(): (dir). Called before turning with the movement lock key.
COMSIG_IGNORE_MOVEMENT_LOCKignores the movement lock key, used for turning while strafing in a mech
COMSIG_ATOM_SINGULARITY_TRY_MOVEfrom /datum/component/singularity/proc/can_move(), as well as /obj/energy_ball/proc/can_move() +if a callback returns SINGULARITY_TRY_MOVE_BLOCK, then the singularity will not move to that turf
SINGULARITY_TRY_MOVE_BLOCKWhen returned from COMSIG_ATOM_SINGULARITY_TRY_MOVE, the singularity will move to that turf
COMSIG_ATOM_PRE_PRESSURE_PUSHfrom base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta)
COMSIG_ATOM_BLOCKS_PRESSUREprevents pressure movement
COMSIG_MOVABLE_MOVED_FROM_LOOPFrom base of /datum/move_loop/process() after attempting to move a movable: (datum/move_loop/loop, old_dir)

Define Details

+

COMSIG_ATOM_AFTER_SHUTTLE_MOVE + + +

+

Signal sent after an atom movable moves on shuttle.

COMSIG_ATOM_BLOCKS_PRESSURE + + +

+

prevents pressure movement

COMSIG_ATOM_CAN_BE_PULLED + + +

+

signal sent out by an atom when it checks if it can be pulled, for additional checks

COMSIG_ATOM_DIR_CHANGE + + +

+

from base of atom/setDir(): (old_dir, new_dir). Called before the direction changes.

COMSIG_ATOM_INTERCEPT_Z_FALL + + +

+

called for each movable in a turf contents on /turf/zImpact(): (atom/movable/A, levels)

COMSIG_ATOM_NO_LONGER_PULLED + + +

+

signal sent out by an atom when it is no longer being pulled by something else : (atom/puller)

COMSIG_ATOM_NO_LONGER_PULLING + + +

+

signal sent out by an atom when it is no longer pulling something : (atom/pulling)

COMSIG_ATOM_ON_Z_IMPACT + + +

+

signal sent out by an atom upon onZImpact : (turf/impacted_turf, levels)

COMSIG_ATOM_POST_DIR_CHANGE + + +

+

from base of atom/setDir(): (old_dir, new_dir). Called after the direction changes.

COMSIG_ATOM_PRE_DIR_CHANGE + + +

+

From base of atom/setDir(): (old_dir, new_dir). Called before the direction changes

COMSIG_ATOM_PRE_PRESSURE_PUSH + + +

+

from base of atom/experience_pressure_difference(): (pressure_difference, direction, pressure_resistance_prob_delta)

COMSIG_ATOM_RELAYMOVE + + +

+

from base of atom/relaymove(): (mob/living/user, direction)

COMSIG_ATOM_SINGULARITY_TRY_MOVE + + +

+

from /datum/component/singularity/proc/can_move(), as well as /obj/energy_ball/proc/can_move() +if a callback returns SINGULARITY_TRY_MOVE_BLOCK, then the singularity will not move to that turf

COMSIG_ATOM_START_PULL + + +

+

called on a movable (NOT living) when it starts pulling (atom/movable/pulled, state, force)

COMSIG_ATOM_TRIED_PASS + + +

+

called on /atom when something attempts to pass through it (atom/movable/source, atom/movable/passing, dir)

COMSIG_ATOM_UI_INTERACT + + +

+

from base of [/atom/proc/interact]: (mob/user)

COMSIG_BLOCK_RELAYMOVE + + +

+

prevents the "you cannot move while buckled! message"

COMSIG_IGNORE_MOVEMENT_LOCK + + +

+

ignores the movement lock key, used for turning while strafing in a mech

COMSIG_LIVING_GET_PULLED + + +

+

called on /living when someone is pulled (mob/living/puller)

COMSIG_LIVING_PUSHING_MOVABLE + + +

+

Called from /mob/living/PushAM -- Called when this mob is about to push a movable, but before it moves +(aotm/movable/being_pushed)

COMSIG_LIVING_START_PULL + + +

+

called on /living when someone starts pulling (atom/movable/pulled, state, force)

COMSIG_LIVING_TRY_PULL + + +

+

called on /living, when pull is attempted, but before it completes, from base of [/mob/living/start_pulling]: (atom/movable/thing, force)

COMSIG_LIVING_UPDATING_PULL_MOVESPEED + + +

+

Called from /mob/living/update_pull_movespeed

COMSIG_MOVABLE_KEYBIND_FACE_DIR + + +

+

from base of atom/movable/keybind_face_direction(): (dir). Called before turning with the movement lock key.

COMSIG_MOVABLE_MOVED_FROM_LOOP + + +

+

From base of /datum/move_loop/process() after attempting to move a movable: (datum/move_loop/loop, old_dir)

SINGULARITY_TRY_MOVE_BLOCK + + +

+

When returned from COMSIG_ATOM_SINGULARITY_TRY_MOVE, the singularity will move to that turf

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html new file mode 100644 index 00000000000..00b5315bae5 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.html @@ -0,0 +1,192 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_atom/signals_atom_x_act.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_PRE_EX_ACTfrom the EX_ACT wrapper macro: (severity, target)
COMPONENT_CANCEL_EX_ACTif returned, don't let the explosion act on this atom
COMSIG_ATOM_EX_ACTfrom the EX_ACT wrapper macro: (severity, target)
COMSIG_ATOM_PRE_EMP_ACTfrom base of atom/emp_act(): (severity). return EMP protection flags
COMSIG_ATOM_EMP_ACTfrom base of atom/emp_act(): (severity, protection)
COMSIG_ATOM_FIRE_ACTfrom base of atom/fire_act(): (exposed_temperature, exposed_volume)
COMSIG_ATOM_PRE_BULLET_ACTfrom base of atom/bullet_act(): (/obj/projectile, def_zone)
COMPONENT_BULLET_ACTEDAll this does is prevent default bullet on_hit from being called, [BULLET_ACT_HIT] being return is implied
COMPONENT_BULLET_BLOCKEDForces bullet act to return [BULLET_ACT_BLOCK], takes priority over above
COMPONENT_BULLET_PIERCEDForces bullet act to return [BULLET_ACT_FORCE_PIERCE], takes priority over above
COMSIG_ATOM_BULLET_ACTfrom base of atom/bullet_act(): (/obj/projectile, def_zone)
COMSIG_ATOM_CHECKPARTSfrom base of atom/CheckParts(): (list/parts_list, datum/crafting_recipe/R)
COMSIG_ATOM_USED_IN_CRAFTfrom base of atom/CheckParts(): (atom/movable/new_craft) - The atom has just been used in a crafting recipe and has been moved inside new_craft.
COMSIG_ATOM_BLOB_ACTfrom base of atom/blob_act(): (/obj/structure/blob)
COMPONENT_CANCEL_BLOB_ACTif returned, forces nothing to happen when the atom is attacked by a blob
COMSIG_ATOM_ACID_ACTfrom base of atom/acid_act(): (acidpwr, acid_volume)
COMSIG_ATOM_EMAG_ACTfrom base of atom/emag_act(): (/mob/user)
COMSIG_ATOM_NARSIE_ACTfrom base of atom/narsie_act(): ()
COMSIG_ATOM_RCD_ACTfrom base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)
COMSIG_ATOM_SING_PULLfrom base of atom/singularity_pull(): (/datum/component/singularity, current_size)
COMSIG_ATOM_BSA_BEAMfrom obj/machinery/bsa/full/proc/fire(): ()
COMSIG_ATOM_ITEM_INTERACTIONSent from atom/proc/item_interaction, when this atom is left-clicked on by a mob with an item +Sent from the very beginning of the click chain, intended for generic atom-item interactions +Args: (mob/living/user, obj/item/tool, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)
COMSIG_ATOM_ITEM_INTERACTION_SECONDARYSent from atom/proc/item_interaction, when this atom is right-clicked on by a mob with an item +Sent from the very beginning of the click chain, intended for generic atom-item interactions +Args: (mob/living/user, obj/item/tool, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)
COMSIG_ITEM_INTERACTING_WITH_ATOMSent from atom/proc/item_interaction, to an item clicking on an atom +Args: (mob/living/user, atom/interacting_with, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)
COMSIG_ITEM_INTERACTING_WITH_ATOM_SECONDARYSent from atom/proc/item_interaction, to an item right-clicking on an atom +Args: (mob/living/user, atom/interacting_with, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)
COMSIG_ATOM_TOOL_ACTSent from atom/proc/item_interaction, when this atom is left-clicked on by a mob with a tool of a specific tool type +Args: (mob/living/user, obj/item/tool, list/recipes) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)
COMSIG_ATOM_SECONDARY_TOOL_ACTSent from atom/proc/item_interaction, when this atom is right-clicked on by a mob with a tool of a specific tool type +Args: (mob/living/user, obj/item/tool) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

Define Details

+

COMPONENT_BULLET_ACTED + + +

+

All this does is prevent default bullet on_hit from being called, [BULLET_ACT_HIT] being return is implied

COMPONENT_BULLET_BLOCKED + + +

+

Forces bullet act to return [BULLET_ACT_BLOCK], takes priority over above

COMPONENT_BULLET_PIERCED + + +

+

Forces bullet act to return [BULLET_ACT_FORCE_PIERCE], takes priority over above

COMPONENT_CANCEL_BLOB_ACT + + +

+

if returned, forces nothing to happen when the atom is attacked by a blob

COMPONENT_CANCEL_EX_ACT + + +

+

if returned, don't let the explosion act on this atom

COMSIG_ATOM_ACID_ACT + + +

+

from base of atom/acid_act(): (acidpwr, acid_volume)

COMSIG_ATOM_BLOB_ACT + + +

+

from base of atom/blob_act(): (/obj/structure/blob)

COMSIG_ATOM_BSA_BEAM + + +

+

from obj/machinery/bsa/full/proc/fire(): ()

COMSIG_ATOM_BULLET_ACT + + +

+

from base of atom/bullet_act(): (/obj/projectile, def_zone)

COMSIG_ATOM_CHECKPARTS + + +

+

from base of atom/CheckParts(): (list/parts_list, datum/crafting_recipe/R)

COMSIG_ATOM_EMAG_ACT + + +

+

from base of atom/emag_act(): (/mob/user)

COMSIG_ATOM_EMP_ACT + + +

+

from base of atom/emp_act(): (severity, protection)

COMSIG_ATOM_EX_ACT + + +

+

from the EX_ACT wrapper macro: (severity, target)

COMSIG_ATOM_FIRE_ACT + + +

+

from base of atom/fire_act(): (exposed_temperature, exposed_volume)

COMSIG_ATOM_ITEM_INTERACTION + + +

+

Sent from atom/proc/item_interaction, when this atom is left-clicked on by a mob with an item +Sent from the very beginning of the click chain, intended for generic atom-item interactions +Args: (mob/living/user, obj/item/tool, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

COMSIG_ATOM_ITEM_INTERACTION_SECONDARY + + +

+

Sent from atom/proc/item_interaction, when this atom is right-clicked on by a mob with an item +Sent from the very beginning of the click chain, intended for generic atom-item interactions +Args: (mob/living/user, obj/item/tool, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

COMSIG_ATOM_NARSIE_ACT + + +

+

from base of atom/narsie_act(): ()

COMSIG_ATOM_PRE_BULLET_ACT + + +

+

from base of atom/bullet_act(): (/obj/projectile, def_zone)

COMSIG_ATOM_PRE_EMP_ACT + + +

+

from base of atom/emp_act(): (severity). return EMP protection flags

COMSIG_ATOM_PRE_EX_ACT + + +

+

from the EX_ACT wrapper macro: (severity, target)

COMSIG_ATOM_RCD_ACT + + +

+

from base of atom/rcd_act(): (/mob, /obj/item/construction/rcd, passed_mode)

COMSIG_ATOM_SECONDARY_TOOL_ACT + + + +

+

Sent from atom/proc/item_interaction, when this atom is right-clicked on by a mob with a tool of a specific tool type +Args: (mob/living/user, obj/item/tool) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

COMSIG_ATOM_SING_PULL + + +

+

from base of atom/singularity_pull(): (/datum/component/singularity, current_size)

COMSIG_ATOM_TOOL_ACT + + + +

+

Sent from atom/proc/item_interaction, when this atom is left-clicked on by a mob with a tool of a specific tool type +Args: (mob/living/user, obj/item/tool, list/recipes) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

COMSIG_ATOM_USED_IN_CRAFT + + +

+

from base of atom/CheckParts(): (atom/movable/new_craft) - The atom has just been used in a crafting recipe and has been moved inside new_craft.

COMSIG_ITEM_INTERACTING_WITH_ATOM + + +

+

Sent from atom/proc/item_interaction, to an item clicking on an atom +Args: (mob/living/user, atom/interacting_with, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

COMSIG_ITEM_INTERACTING_WITH_ATOM_SECONDARY + + +

+

Sent from atom/proc/item_interaction, to an item right-clicking on an atom +Args: (mob/living/user, atom/interacting_with, list/modifiers) +Return any ITEM_INTERACT_ flags as relevant (see tools.dm)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_backpack.html b/code/__DEFINES/dcs/signals/signals_backpack.html new file mode 100644 index 00000000000..54f9e20f6a3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_backpack.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_backpack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_backpack.dm + +

+ + +
COMSIG_DUFFEL_ZIP_CHANGEFrom /obj/item/storage/backpack/duffelbag/proc/set_zipper() : (new_zip)

Define Details

+

COMSIG_DUFFEL_ZIP_CHANGE + + +

+

From /obj/item/storage/backpack/duffelbag/proc/set_zipper() : (new_zip)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_beam.html b/code/__DEFINES/dcs/signals/signals_beam.html new file mode 100644 index 00000000000..eb080dcefbe --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_beam.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_beam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_beam.dm + +

+ + +
COMSIG_BEAM_BEFORE_DRAWCalled before beam is redrawn

Define Details

+

COMSIG_BEAM_BEFORE_DRAW + + +

+

Called before beam is redrawn

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_bitrunning.html b/code/__DEFINES/dcs/signals/signals_bitrunning.html new file mode 100644 index 00000000000..15895c016ca --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_bitrunning.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_bitrunning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_bitrunning.dm + +

+ + + + + + + + + + + + + + + + +
COMSIG_BITRUNNER_ALERT_SEVERfrom /atom/movable/screen/alert/bitrunning/qserver_domain_complete
COMSIG_BITRUNNER_GOAL_POINTfrom /obj/effect/bitrunning/loot_signal: (points)
COMSIG_BITRUNNER_RED_PILL_SEVERfrom /obj/item/reagent_containers/pill
COMSIG_BITRUNNER_NETPOD_SEVERfrom /obj/machinery/netpod/sever_connection()
COMSIG_BITRUNNER_CROWBAR_ALERTfrom /obj/machinery/netpod/default_pry_open() : (mob/living/intruder)
COMSIG_BITRUNNER_NETPOD_INTEGRITYfrom /obj/machinery/netpod/on_damage_taken()
COMSIG_BITRUNNER_NETPOD_OPENEDfrom /obj/machinery/netpod/open_machine()
COMSIG_BITRUNNER_DOMAIN_COMPLETEfrom /obj/machinery/quantum_server/on_goal_turf_entered(): (atom/entered, reward_points)
COMSIG_BITRUNNER_CACHE_SEVERfrom /obj/machinery/quantum_server/generate_loot()
COMSIG_BITRUNNER_QSRV_SEVERfrom /obj/machinery/quantum_server/sever_connection()
COMSIG_BITRUNNER_SHUTDOWN_ALERTfrom /obj/machinery/quantum_server/shutdown() : (mob/living)
COMSIG_BITRUNNER_THREAT_CREATEDfrom /obj/machinery/quantum_server/notify_threat()
COMSIG_BITRUNNER_DOMAIN_SCRUBBEDfrom /obj/machinery/quantum_server/scrub_vdom()
COMSIG_BITRUNNER_STATION_SPAWNfrom /obj/machienry/quantum_server/station_spawn()
COMSIG_BITRUNNER_LADDER_SEVERfrom /obj/structure/hololadder/disconnect()

Define Details

+

COMSIG_BITRUNNER_ALERT_SEVER + + +

+

from /atom/movable/screen/alert/bitrunning/qserver_domain_complete

COMSIG_BITRUNNER_CACHE_SEVER + + +

+

from /obj/machinery/quantum_server/generate_loot()

COMSIG_BITRUNNER_CROWBAR_ALERT + + +

+

from /obj/machinery/netpod/default_pry_open() : (mob/living/intruder)

COMSIG_BITRUNNER_DOMAIN_COMPLETE + + +

+

from /obj/machinery/quantum_server/on_goal_turf_entered(): (atom/entered, reward_points)

COMSIG_BITRUNNER_DOMAIN_SCRUBBED + + +

+

from /obj/machinery/quantum_server/scrub_vdom()

COMSIG_BITRUNNER_GOAL_POINT + + +

+

from /obj/effect/bitrunning/loot_signal: (points)

COMSIG_BITRUNNER_LADDER_SEVER + + +

+

from /obj/structure/hololadder/disconnect()

COMSIG_BITRUNNER_NETPOD_INTEGRITY + + +

+

from /obj/machinery/netpod/on_damage_taken()

COMSIG_BITRUNNER_NETPOD_OPENED + + +

+

from /obj/machinery/netpod/open_machine()

COMSIG_BITRUNNER_NETPOD_SEVER + + +

+

from /obj/machinery/netpod/sever_connection()

COMSIG_BITRUNNER_QSRV_SEVER + + +

+

from /obj/machinery/quantum_server/sever_connection()

COMSIG_BITRUNNER_RED_PILL_SEVER + + +

+

from /obj/item/reagent_containers/pill

COMSIG_BITRUNNER_SHUTDOWN_ALERT + + +

+

from /obj/machinery/quantum_server/shutdown() : (mob/living)

COMSIG_BITRUNNER_STATION_SPAWN + + +

+

from /obj/machienry/quantum_server/station_spawn()

COMSIG_BITRUNNER_THREAT_CREATED + + +

+

from /obj/machinery/quantum_server/notify_threat()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_blob.html b/code/__DEFINES/dcs/signals/signals_blob.html new file mode 100644 index 00000000000..e1a7c3ca146 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_blob.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_blob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_blob.dm + +

+ + + +
COMSIG_BLOB_SELECTED_STRAINSignal sent when a blob overmind picked a new strain (/mob/camera/blob/overmind, /datum/blobstrain/new_strain)
COMSIG_BLOB_ZOMBIFIEDSignal sent by a blob spore when it creates a zombie (/mob/living/basic/blob_minion/spore/spore, //mob/living/basic/blob_minion/zombie/zombie)

Define Details

+

COMSIG_BLOB_SELECTED_STRAIN + + +

+

Signal sent when a blob overmind picked a new strain (/mob/camera/blob/overmind, /datum/blobstrain/new_strain)

COMSIG_BLOB_ZOMBIFIED + + +

+

Signal sent by a blob spore when it creates a zombie (/mob/living/basic/blob_minion/spore/spore, //mob/living/basic/blob_minion/zombie/zombie)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_bot.html b/code/__DEFINES/dcs/signals/signals_bot.html new file mode 100644 index 00000000000..3a82ab016b5 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_bot.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_bot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_bot.dm + +

+ + + + +
COMSIG_MONEYBOT_ADD_MONEYCalled in /obj/structure/moneybot/add_money(). (to_add)
COMSIG_DISPENSERBOT_ADD_ITEMCalled in /obj/structure/dispenserbot/add_item(). (obj/item/to_add)
COMSIG_DISPENSERBOT_REMOVE_ITEMCalled in /obj/structure/dispenserbot/remove_item(). (obj/item/to_remove)

Define Details

+

COMSIG_DISPENSERBOT_ADD_ITEM + + +

+

Called in /obj/structure/dispenserbot/add_item(). (obj/item/to_add)

COMSIG_DISPENSERBOT_REMOVE_ITEM + + +

+

Called in /obj/structure/dispenserbot/remove_item(). (obj/item/to_remove)

COMSIG_MONEYBOT_ADD_MONEY + + +

+

Called in /obj/structure/moneybot/add_money(). (to_add)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_camera.html b/code/__DEFINES/dcs/signals/signals_camera.html new file mode 100644 index 00000000000..7d8def7cde0 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_camera.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_camera.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_camera.dm + +

+ + +
COMSIG_TRACKABLE_TRACKING_TARGETSignal sent when a /datum/trackable found a target: (datum/trackable/source, mob/living/target)

Define Details

+

COMSIG_TRACKABLE_TRACKING_TARGET + + +

+

Signal sent when a /datum/trackable found a target: (datum/trackable/source, mob/living/target)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_changeling.html b/code/__DEFINES/dcs/signals/signals_changeling.html new file mode 100644 index 00000000000..91cdfe48770 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_changeling.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_changeling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_changeling.dm + +

+ + +
COMSIG_CHANGELING_TRANSFORMCalled when a changeling uses its transform ability (source = carbon), from /datum/action/changeling/transform/sting_action(mob/living/carbon/human/user)

Define Details

+

COMSIG_CHANGELING_TRANSFORM + + +

+

Called when a changeling uses its transform ability (source = carbon), from /datum/action/changeling/transform/sting_action(mob/living/carbon/human/user)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_circuit.html b/code/__DEFINES/dcs/signals/signals_circuit.html new file mode 100644 index 00000000000..9906937c5b8 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_circuit.html @@ -0,0 +1,156 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_circuit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_circuit.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_PORT_SET_VALUESent when the value of a port is set.
COMSIG_PORT_SET_TYPESent when the type of a port is set.
COMSIG_PORT_DISCONNECTSent when a port disconnects from everything.
COMSIG_CIRCUIT_ADD_COMPONENTSent when a /obj/item/circuit_component is added to a circuit.
COMPONENT_CANCEL_ADD_COMPONENTCancels adding the component to the circuit.
COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLYSent when a /obj/item/circuit_component is added to a circuit manually, by putting the item inside directly. +Accepts COMPONENT_CANCEL_ADD_COMPONENT.
COMSIG_CIRCUIT_SHELL_REMOVEDSent when a circuit is removed from its shell
COMSIG_CIRCUIT_COMPONENT_REMOVEDSent to /obj/item/circuit_component when it is removed from a circuit. (/obj/item/integrated_circuit)
COMSIG_CIRCUIT_SET_CELLCalled when the integrated circuit's cell is set.
COMSIG_CIRCUIT_SET_ONCalled when the integrated circuit is turned on or off.
COMSIG_CIRCUIT_SET_SHELLCalled when the integrated circuit's shell is set.
COMSIG_CIRCUIT_SET_LOCKEDCalled when the integrated circuit is locked.
COMSIG_CIRCUIT_PRE_POWER_USAGECalled before power is used in an integrated circuit (power_to_use)
COMSIG_CIRCUIT_PRE_SAVE_TO_JSONCalled right before the integrated circuit data is converted to json. Allows modification to the data right before it is returned.
COMSIG_CIRCUIT_POST_LOADCalled when the integrated circuit is loaded.
COMSIG_ATOM_USB_CABLE_TRY_ATTACHSent to an atom when a /obj/item/usb_cable attempts to connect to something. (/obj/item/usb_cable/usb_cable, /mob/user)
COMSIG_USB_CABLE_ATTACHEDAttaches the USB cable to the atom. If the USB cables moves away, it will disconnect.
COMSIG_USB_CABLE_CONNECTED_TO_CIRCUITAttaches the USB cable to a circuit. Producers of this are expected to set the usb_cable's +attached_circuit variable.
COMSIG_CANCEL_USB_CABLE_ATTACKCancels the attack chain, but without performing any other action.
COMSIG_CIRCUIT_COMPONENT_SAVECalled when the circuit component is saved.
COMSIG_CIRCUIT_COMPONENT_SAVE_DATACalled when circuit component data should be saved
COMSIG_CIRCUIT_COMPONENT_LOAD_DATACalled when circuit component data should be loaded
COMSIG_MOVABLE_CIRCUIT_LOADEDCalled when an external object is loaded.
COMSIG_CIRCUIT_COMPONENT_PERFORM_ACTIONCalled when a ui action is sent for the circuit component
COMSIG_GLOB_CIRCUIT_NTNET_DATA_SENTCalled when an Ntnet sender is sending Ntnet data

Define Details

+

COMPONENT_CANCEL_ADD_COMPONENT + + +

+

Cancels adding the component to the circuit.

COMSIG_ATOM_USB_CABLE_TRY_ATTACH + + +

+

Sent to an atom when a /obj/item/usb_cable attempts to connect to something. (/obj/item/usb_cable/usb_cable, /mob/user)

COMSIG_CANCEL_USB_CABLE_ATTACK + + +

+

Cancels the attack chain, but without performing any other action.

COMSIG_CIRCUIT_ADD_COMPONENT + + +

+

Sent when a /obj/item/circuit_component is added to a circuit.

COMSIG_CIRCUIT_ADD_COMPONENT_MANUALLY + + +

+

Sent when a /obj/item/circuit_component is added to a circuit manually, by putting the item inside directly. +Accepts COMPONENT_CANCEL_ADD_COMPONENT.

COMSIG_CIRCUIT_COMPONENT_LOAD_DATA + + +

+

Called when circuit component data should be loaded

COMSIG_CIRCUIT_COMPONENT_PERFORM_ACTION + + +

+

Called when a ui action is sent for the circuit component

COMSIG_CIRCUIT_COMPONENT_REMOVED + + +

+

Sent to /obj/item/circuit_component when it is removed from a circuit. (/obj/item/integrated_circuit)

COMSIG_CIRCUIT_COMPONENT_SAVE + + +

+

Called when the circuit component is saved.

COMSIG_CIRCUIT_COMPONENT_SAVE_DATA + + +

+

Called when circuit component data should be saved

COMSIG_CIRCUIT_POST_LOAD + + +

+

Called when the integrated circuit is loaded.

COMSIG_CIRCUIT_PRE_POWER_USAGE + + +

+

Called before power is used in an integrated circuit (power_to_use)

COMSIG_CIRCUIT_PRE_SAVE_TO_JSON + + +

+

Called right before the integrated circuit data is converted to json. Allows modification to the data right before it is returned.

COMSIG_CIRCUIT_SET_CELL + + +

+

Called when the integrated circuit's cell is set.

COMSIG_CIRCUIT_SET_LOCKED + + +

+

Called when the integrated circuit is locked.

COMSIG_CIRCUIT_SET_ON + + +

+

Called when the integrated circuit is turned on or off.

COMSIG_CIRCUIT_SET_SHELL + + +

+

Called when the integrated circuit's shell is set.

COMSIG_CIRCUIT_SHELL_REMOVED + + +

+

Sent when a circuit is removed from its shell

COMSIG_GLOB_CIRCUIT_NTNET_DATA_SENT + + +

+

Called when an Ntnet sender is sending Ntnet data

COMSIG_MOVABLE_CIRCUIT_LOADED + + +

+

Called when an external object is loaded.

COMSIG_PORT_DISCONNECT + + +

+

Sent when a port disconnects from everything.

COMSIG_PORT_SET_TYPE + + +

+

Sent when the type of a port is set.

COMSIG_PORT_SET_VALUE + + +

+

Sent when the value of a port is set.

COMSIG_USB_CABLE_ATTACHED + + +

+

Attaches the USB cable to the atom. If the USB cables moves away, it will disconnect.

COMSIG_USB_CABLE_CONNECTED_TO_CIRCUIT + + +

+

Attaches the USB cable to a circuit. Producers of this are expected to set the usb_cable's +attached_circuit variable.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_client.html b/code/__DEFINES/dcs/signals/signals_client.html new file mode 100644 index 00000000000..185d2a3abfa --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_client.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_client.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_client.dm + +

+ + + + +
COMSIG_CLIENT_VERB_ADDEDCalled after one or more verbs are added: (list of verbs added)
COMSIG_CLIENT_VERB_REMOVEDCalled after one or more verbs are added: (list of verbs added)
COMSIG_CLIENT_MOB_LOGINCalled after a client logs into a mob: (mob)

Define Details

+

COMSIG_CLIENT_MOB_LOGIN + + +

+

Called after a client logs into a mob: (mob)

COMSIG_CLIENT_VERB_ADDED + + +

+

Called after one or more verbs are added: (list of verbs added)

COMSIG_CLIENT_VERB_REMOVED + + +

+

Called after one or more verbs are added: (list of verbs added)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_closet.html b/code/__DEFINES/dcs/signals/signals_closet.html new file mode 100644 index 00000000000..007f0a287cd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_closet.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_closet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_closet.dm + +

+ + +
COMSIG_CLOSET_POPULATE_CONTENTSCalled in /obj/structure/closet/PopulateContents()

Define Details

+

COMSIG_CLOSET_POPULATE_CONTENTS + + +

+

Called in /obj/structure/closet/PopulateContents()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_clothing.html b/code/__DEFINES/dcs/signals/signals_clothing.html new file mode 100644 index 00000000000..1c9be64c5e5 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_clothing.html @@ -0,0 +1,65 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_clothing.dm + +

+ + + + + + + +
COMSIG_CLOTHING_VISOR_TOGGLE(/obj/item/clothing, visor_state) - When a clothing gets it's visor toggled.
COMSIG_CLOTHING_UNDER_ADJUSTEDFrom an undersuit being adjusted: ()
COMSIG_CLOTHING_ACCESSORY_ATTACHED/obj/item/clothing/accessory/successful_attach : (obj/item/clothing/under/attached_to) +The accessory, at the point of signal sent, is in the clothing's accessory list / loc
COMSIG_CLOTHING_ACCESSORY_DETACHED/obj/item/clothing/accessory/detach : (obj/item/clothing/under/detach_from) +The accessory, at the point of signal sent, is no longer in the accessory list but may still be in the loc
COMSIG_ACCESSORY_ATTACHED/obj/item/clothing/accessory/successful_attach : (obj/item/clothing/under/attached_to) +The accessory, at the point of signal sent, is in the clothing's accessory list / loc
COMSIG_ACCESSORY_DETACHED/obj/item/clothing/accessory/detach : (obj/item/clothing/under/detach_from) +The accessory, at the point of signal sent, is no longer in the accessory list but may still be in the loc

Define Details

+

COMSIG_ACCESSORY_ATTACHED + + +

+

/obj/item/clothing/accessory/successful_attach : (obj/item/clothing/under/attached_to) +The accessory, at the point of signal sent, is in the clothing's accessory list / loc

COMSIG_ACCESSORY_DETACHED + + +

+

/obj/item/clothing/accessory/detach : (obj/item/clothing/under/detach_from) +The accessory, at the point of signal sent, is no longer in the accessory list but may still be in the loc

COMSIG_CLOTHING_ACCESSORY_ATTACHED + + +

+

/obj/item/clothing/accessory/successful_attach : (obj/item/clothing/under/attached_to) +The accessory, at the point of signal sent, is in the clothing's accessory list / loc

COMSIG_CLOTHING_ACCESSORY_DETACHED + + +

+

/obj/item/clothing/accessory/detach : (obj/item/clothing/under/detach_from) +The accessory, at the point of signal sent, is no longer in the accessory list but may still be in the loc

COMSIG_CLOTHING_UNDER_ADJUSTED + + +

+

From an undersuit being adjusted: ()

COMSIG_CLOTHING_VISOR_TOGGLE + + +

+

(/obj/item/clothing, visor_state) - When a clothing gets it's visor toggled.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_container.html b/code/__DEFINES/dcs/signals/signals_container.html new file mode 100644 index 00000000000..6a33eb00b4e --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_container.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_container.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_container.dm + +

+ + +
COMSIG_CONTAINER_TRY_ATTACH(atom/container, mob/user) - returns bool

Define Details

+

COMSIG_CONTAINER_TRY_ATTACH + + +

+

(atom/container, mob/user) - returns bool

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_customizable.html b/code/__DEFINES/dcs/signals/signals_customizable.html new file mode 100644 index 00000000000..0ebc3848518 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_customizable.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_customizable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_customizable.dm + +

+ + +
COMSIG_ATOM_CUSTOMIZEDcalled when an atom with /datum/component/customizable_reagent_holder is customized (obj/item/I)

Define Details

+

COMSIG_ATOM_CUSTOMIZED + + +

+

called when an atom with /datum/component/customizable_reagent_holder is customized (obj/item/I)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_cytology.html b/code/__DEFINES/dcs/signals/signals_cytology.html new file mode 100644 index 00000000000..fe0e9dd4137 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_cytology.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_cytology.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_cytology.dm + +

+ + +
COMSIG_SAMPLE_GROWTH_COMPLETEDSent from /datum/biological_sample/proc/reset_sample

Define Details

+

COMSIG_SAMPLE_GROWTH_COMPLETED + + +

+

Sent from /datum/biological_sample/proc/reset_sample

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_datum.html b/code/__DEFINES/dcs/signals/signals_datum.html new file mode 100644 index 00000000000..20efa21014b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_datum.html @@ -0,0 +1,111 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_datum.dm + +

+ + + + + + + + + + + + + + + + + +
COMSIG_COMPONENT_ADDEDwhen a component is added to a datum: (/datum/component)
COMSIG_COMPONENT_REMOVINGbefore a component is removed from a datum because of ClearFromParent: (/datum/component)
COMSIG_PREQDELETEDbefore a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation +you should only be using this if you want to block deletion +that's the only functional difference between it and COMSIG_QDELETING, outside setting QDELETING to detect
COMSIG_QDELETINGjust before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called
COMSIG_TOPICgeneric topic handler (usr, href_list)
COMSIG_VV_TOPIChandler for vv_do_topic (usr, href_list)
COMSIG_UI_ACTfrom datum ui_act (usr, action)
COMSIG_ELEMENT_ATTACHfires on the target datum when an element is attached to it (/datum/element)
COMSIG_ELEMENT_DETACHfires on the target datum when an element is attached to it (/datum/element)
COMSIG_MERGER_ADDINGCalled on the object being added to a merger group: (datum/merger/new_merger)
COMSIG_MERGER_REMOVINGCalled on the object being removed from a merger group: (datum/merger/old_merger)
COMSIG_MERGER_REFRESH_COMPLETECalled on the merger after finishing a refresh: (list/leaving_members, list/joining_members)
COMSIG_GASMIX_MERGEDFrom /datum/gas_mixture/proc/merge: ()
COMSIG_GASMIX_REMOVEDFrom /datum/gas_mixture/proc/remove: ()
COMSIG_GASMIX_REACTEDFrom /datum/gas_mixture/proc/react: ()
COMSIG_BANK_ACCOUNT_DEBT_PAIDfrom /datum/bank_account/pay_debt(), after a portion or all the debt has been paid.

Define Details

+

COMSIG_BANK_ACCOUNT_DEBT_PAID + + +

+

from /datum/bank_account/pay_debt(), after a portion or all the debt has been paid.

COMSIG_COMPONENT_ADDED + + +

+

when a component is added to a datum: (/datum/component)

COMSIG_COMPONENT_REMOVING + + +

+

before a component is removed from a datum because of ClearFromParent: (/datum/component)

COMSIG_ELEMENT_ATTACH + + +

+

fires on the target datum when an element is attached to it (/datum/element)

COMSIG_ELEMENT_DETACH + + +

+

fires on the target datum when an element is attached to it (/datum/element)

COMSIG_GASMIX_MERGED + + +

+

From /datum/gas_mixture/proc/merge: ()

COMSIG_GASMIX_REACTED + + +

+

From /datum/gas_mixture/proc/react: ()

COMSIG_GASMIX_REMOVED + + +

+

From /datum/gas_mixture/proc/remove: ()

COMSIG_MERGER_ADDING + + +

+

Called on the object being added to a merger group: (datum/merger/new_merger)

COMSIG_MERGER_REFRESH_COMPLETE + + +

+

Called on the merger after finishing a refresh: (list/leaving_members, list/joining_members)

COMSIG_MERGER_REMOVING + + +

+

Called on the object being removed from a merger group: (datum/merger/old_merger)

COMSIG_PREQDELETED + + +

+

before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation +you should only be using this if you want to block deletion +that's the only functional difference between it and COMSIG_QDELETING, outside setting QDELETING to detect

COMSIG_QDELETING + + +

+

just before a datum's Destroy() is called: (force), at this point none of the other components chose to interrupt qdel and Destroy will be called

COMSIG_TOPIC + + +

+

generic topic handler (usr, href_list)

COMSIG_UI_ACT + + +

+

from datum ui_act (usr, action)

COMSIG_VV_TOPIC + + +

+

handler for vv_do_topic (usr, href_list)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_event.html b/code/__DEFINES/dcs/signals/signals_event.html new file mode 100644 index 00000000000..85dbf693564 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_event.html @@ -0,0 +1,44 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_event.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_event.dm + +

+ + + + +
COMSIG_GLOB_GREY_TIDESent when the Grey Tide event begins affecting the station. +(list/area/greytide_areas)
COMSIG_GLOB_GREY_TIDE_LIGHTA different signal, used specifically for flickering the lights during the event
COMSIG_CREATED_ROUND_EVENTSignal sent by round event controls when they create round event datums before calling setup() on them: (datum/round_event_control/source_event_control, datum/round_event/created_event)

Define Details

+

COMSIG_CREATED_ROUND_EVENT + + +

+

Signal sent by round event controls when they create round event datums before calling setup() on them: (datum/round_event_control/source_event_control, datum/round_event/created_event)

COMSIG_GLOB_GREY_TIDE + + +

+

Sent when the Grey Tide event begins affecting the station. +(list/area/greytide_areas)

COMSIG_GLOB_GREY_TIDE_LIGHT + + +

+

A different signal, used specifically for flickering the lights during the event

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_fish.html b/code/__DEFINES/dcs/signals/signals_fish.html new file mode 100644 index 00000000000..ee1a1832914 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_fish.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_fish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_fish.dm + +

+ + + + + + + + + + + + +
COMSIG_FISH_LIFEFrom /obj/item/fish/process: (seconds_per_tick)
COMSIG_FISH_EATEN_BY_OTHER_FISHFrom /datum/fish_trait/eat_fish: (predator)
COMSIG_FISH_FEDFrom /obj/item/fish/feed: (fed_reagents, fed_reagent_type)
COMSIG_FISHING_CHALLENGE_COMPLETEDFishing challenge completed
COMSIG_MOB_FISHING_REWARD_DISPENSEDSent to the fisherman when the reward is dispensed: (reward)
COMSIG_PRE_FISHINGCalled when you try to use fishing rod on anything
COMSIG_FISHING_ROD_CASTSent by the target of the fishing rod cast
COMSIG_FISHING_ROD_CAUGHT_FISHFrom /datum/fish_source/proc/dispense_reward(), not set if the reward is a dud: (reward, user)
COMSIG_FISHING_ROD_HOOKED_ITEMFrom /obj/item/fishing_rod/proc/hook_item(): (reward, user)
COMSIG_FISHING_SOURCE_INTERRUPT_CHALLENGESent when the challenge is to be interrupted: (reason)
COMSIG_FISH_ANALYZER_ANALYZE_STATUSFrom /obj/item/fish_analyzer/proc/analyze_status: (fish, user)

Define Details

+

COMSIG_FISHING_CHALLENGE_COMPLETED + + +

+

Fishing challenge completed

COMSIG_FISHING_ROD_CAST + + +

+

Sent by the target of the fishing rod cast

COMSIG_FISHING_ROD_CAUGHT_FISH + + +

+

From /datum/fish_source/proc/dispense_reward(), not set if the reward is a dud: (reward, user)

COMSIG_FISHING_ROD_HOOKED_ITEM + + +

+

From /obj/item/fishing_rod/proc/hook_item(): (reward, user)

COMSIG_FISHING_SOURCE_INTERRUPT_CHALLENGE + + +

+

Sent when the challenge is to be interrupted: (reason)

COMSIG_FISH_ANALYZER_ANALYZE_STATUS + + +

+

From /obj/item/fish_analyzer/proc/analyze_status: (fish, user)

COMSIG_FISH_EATEN_BY_OTHER_FISH + + +

+

From /datum/fish_trait/eat_fish: (predator)

COMSIG_FISH_FED + + +

+

From /obj/item/fish/feed: (fed_reagents, fed_reagent_type)

COMSIG_FISH_LIFE + + +

+

From /obj/item/fish/process: (seconds_per_tick)

COMSIG_MOB_FISHING_REWARD_DISPENSED + + +

+

Sent to the fisherman when the reward is dispensed: (reward)

COMSIG_PRE_FISHING + + +

+

Called when you try to use fishing rod on anything

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_food.html b/code/__DEFINES/dcs/signals/signals_food.html new file mode 100644 index 00000000000..a58742cc4c3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_food.html @@ -0,0 +1,142 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_food.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_food.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_FOOD_EATENFrom datum/component/edible/proc/TakeBite: (mob/living/eater, mob/feeder, bitecount, bitesize)
COMSIG_FOOD_CROSSEDFrom base of datum/component/edible/on_entered: (mob/crosser, bitecount)
COMSIG_FOOD_CONSUMEDFrom base of Component/edible/On_Consume: (mob/living/eater, mob/living/feeder)
COMSIG_PILL_CONSUMEDcalled when a pill is injested (mob/living/eater, mob/living/feeder)
COMSIG_ITEM_USED_AS_INGREDIENTcalled when an item is used as an ingredient: (atom/customized)
COMSIG_FOOD_INGREDIENT_ADDEDcalled when an edible ingredient is added: (datum/component/edible/ingredient)
COMSIG_ITEM_FRIEDAn item becomes fried - From /datum/element/fried_item/Attach: (fry_time)
COMSIG_ITEM_ENTERED_FRYERAn item entering the deep frying (not fried yet) - From obj/machinery/deepfryer/start_fry: ()
COMSIG_ITEM_MICROWAVE_ACTcalled on item when microwaved (): (obj/machinery/microwave/microwave, mob/microwaver)
COMPONENT_MICROWAVE_SUCCESSReturn on success - that is, a microwaved item was produced
COMPONENT_MICROWAVE_BAD_RECIPEReturned on "failure" - an item was produced but it was the default fail recipe
COMSIG_ITEM_MICROWAVE_COOKEDcalled on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency)
COMSIG_ITEM_GRILL_PLACEDCalled when an object is placed onto a griddle
COMSIG_ITEM_GRILL_TURNED_ONCalled when a griddle is turned on
COMSIG_ITEM_GRILL_TURNED_OFFCalled when a griddle is turned off
COMSIG_ITEM_GRILL_PROCESSCalled when an object is grilled ontop of a griddle
COMPONENT_HANDLED_GRILLINGReturn to not burn the item
COMSIG_ITEM_GRILLEDCalled when an object is turned into another item through grilling ontop of a griddle
COMPONENT_HANDLED_BAKINGReturn to not burn the item
COMPONENT_BAKING_GOOD_RESULTReturn if the result of the baking was a good thing
COMPONENT_BAKING_BAD_RESULTReturn if the result of the baking was a bad thing / failuire
COMSIG_ITEM_BAKEDCalled when an object is turned into another item through baking in an oven
COMSIG_GLASS_DRANKfrom base of obj/item/reagent_containers/cup/attack(): (mob/M, mob/user)

Define Details

+

COMPONENT_BAKING_BAD_RESULT + + +

+

Return if the result of the baking was a bad thing / failuire

COMPONENT_BAKING_GOOD_RESULT + + +

+

Return if the result of the baking was a good thing

COMPONENT_HANDLED_BAKING + + +

+

Return to not burn the item

COMPONENT_HANDLED_GRILLING + + +

+

Return to not burn the item

COMPONENT_MICROWAVE_BAD_RECIPE + + +

+

Returned on "failure" - an item was produced but it was the default fail recipe

COMPONENT_MICROWAVE_SUCCESS + + +

+

Return on success - that is, a microwaved item was produced

COMSIG_FOOD_CONSUMED + + +

+

From base of Component/edible/On_Consume: (mob/living/eater, mob/living/feeder)

COMSIG_FOOD_CROSSED + + +

+

From base of datum/component/edible/on_entered: (mob/crosser, bitecount)

COMSIG_FOOD_EATEN + + +

+

From datum/component/edible/proc/TakeBite: (mob/living/eater, mob/feeder, bitecount, bitesize)

COMSIG_FOOD_INGREDIENT_ADDED + + +

+

called when an edible ingredient is added: (datum/component/edible/ingredient)

COMSIG_GLASS_DRANK + + +

+

from base of obj/item/reagent_containers/cup/attack(): (mob/M, mob/user)

COMSIG_ITEM_BAKED + + +

+

Called when an object is turned into another item through baking in an oven

COMSIG_ITEM_ENTERED_FRYER + + +

+

An item entering the deep frying (not fried yet) - From obj/machinery/deepfryer/start_fry: ()

COMSIG_ITEM_FRIED + + +

+

An item becomes fried - From /datum/element/fried_item/Attach: (fry_time)

COMSIG_ITEM_GRILLED + + +

+

Called when an object is turned into another item through grilling ontop of a griddle

COMSIG_ITEM_GRILL_PLACED + + +

+

Called when an object is placed onto a griddle

COMSIG_ITEM_GRILL_PROCESS + + +

+

Called when an object is grilled ontop of a griddle

COMSIG_ITEM_GRILL_TURNED_OFF + + +

+

Called when a griddle is turned off

COMSIG_ITEM_GRILL_TURNED_ON + + +

+

Called when a griddle is turned on

COMSIG_ITEM_MICROWAVE_ACT + + +

+

called on item when microwaved (): (obj/machinery/microwave/microwave, mob/microwaver)

COMSIG_ITEM_MICROWAVE_COOKED + + +

+

called on item when created through microwaving (): (obj/machinery/microwave/M, cooking_efficiency)

COMSIG_ITEM_USED_AS_INGREDIENT + + +

+

called when an item is used as an ingredient: (atom/customized)

COMSIG_PILL_CONSUMED + + +

+

called when a pill is injested (mob/living/eater, mob/living/feeder)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_gib.html b/code/__DEFINES/dcs/signals/signals_gib.html new file mode 100644 index 00000000000..994c08f338c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_gib.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_gib.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_gib.dm + +

+ + + +
COMSIG_GIBS_STREAKfrom base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases)
COMSIG_STEP_ON_BLOODCalled on mobs when they step in blood. (blood_amount, blood_state, list/blood_DNA)

Define Details

+

COMSIG_GIBS_STREAK + + +

+

from base of /obj/effect/decal/cleanable/blood/gibs/streak(): (list/directions, list/diseases)

COMSIG_STEP_ON_BLOOD + + +

+

Called on mobs when they step in blood. (blood_amount, blood_state, list/blood_DNA)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_global.html b/code/__DEFINES/dcs/signals/signals_global.html new file mode 100644 index 00000000000..c8a50bd4778 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global.html @@ -0,0 +1,234 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_global.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_global.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_AREA_CREATEDcalled after a successful area creation by a mob: (area/created_area, list/area/old_areas, mob/creator)
COMSIG_GLOB_NEW_Zfrom base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)
COMSIG_GLOB_EXPANDED_WORLD_BOUNDSsent after world.maxx and/or world.maxy are expanded: (has_exapnded_world_maxx, has_expanded_world_maxy)
COMSIG_GLOB_VAR_EDITcalled after a successful var edit somewhere in the world: (list/args)
COMSIG_GLOB_EXPLOSIONcalled after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)
COMSIG_GLOB_MOB_CREATEDCalled from base of /mob/Initialise : (mob)
COMSIG_GLOB_MOB_DEATHmob died somewhere : (mob/living, gibbed)
COMSIG_GLOB_LIVING_SAY_SPECIALglobal living say plug - use sparingly: (mob/speaker , message)
COMSIG_GLOB_PLAY_CINEMATICcalled by datum/cinematic/play() : (datum/cinematic/new_cinematic)
COMSIG_GLOB_BUTTON_PRESSEDingame button pressed (/obj/machinery/button/button)
COMSIG_GLOB_JOB_AFTER_SPAWNjob subsystem has spawned and equipped a new mob
COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWNjob datum has been called to deal with the aftermath of a latejoin spawn
COMSIG_GLOB_CREWMEMBER_JOINEDcrewmember joined the game (mob/living, rank)
COMSIG_GLOB_PRE_RANDOM_EVENTRandom event is trying to roll. (/datum/round_event_control/random_event) +Called by (/datum/round_event_control/preRunEvent).
CANCEL_PRE_RANDOM_EVENTDo not allow this random event to continue.
COMSIG_GLOB_RANDOM_EVENTCalled by (/datum/round_event_control/run_event).
CANCEL_RANDOM_EVENTDo not allow this random event to continue.
COMSIG_GLOB_CARBON_THROW_THINGa person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)
COMSIG_GLOB_TRAPDOOR_LINKa trapdoor remote has sent out a signal to link with a trapdoor
LINKED_UPsuccessfully linked to a trapdoor!
COMSIG_GLOB_NEW_ITEMan obj/item is created! (obj/item/created_item)
COMSIG_GLOB_ATOM_AFTER_POST_INITcalled post /obj/item initialize (obj/item/created_item)
COMSIG_GLOB_NEW_MACHINEan obj/machinery is created! (obj/machinery/created_machine)
COMSIG_GLOB_CLIENT_CONNECTa client (re)connected, after all /client/New() checks have passed : (client/connected_client)
COMSIG_WEATHER_TELEGRAPHa weather event of some kind occured
COMSIG_GLOB_ALARM_FIREAn alarm of some form was sent (datum/alarm_handler/source, alarm_type, area/source_area)
COMSIG_GLOB_ALARM_CLEARAn alarm of some form was cleared (datum/alarm_handler/source, alarm_type, area/source_area)
COMSIG_GLOB_MOB_LOGGED_INglobal mob logged in signal! (/mob/added_player)
COMSIG_GLOB_NUKE_DEVICE_ARMEDglobal signal sent when a nuclear device is armed (/obj/machinery/nuclearbomb/nuke/exploding_nuke)
COMSIG_GLOB_NUKE_DEVICE_DISARMEDglobal signal sent when a nuclear device is disarmed (/obj/machinery/nuclearbomb/nuke/disarmed_nuke)
COMSIG_GLOB_NUKE_DEVICE_DETONATINGglobal signal sent when a nuclear device is detonating (/obj/machinery/nuclearbomb/nuke/exploding_nuke)
COMSIG_GLOB_PUZZLE_COMPLETEDGlobal signal sent when a puzzle piece is completed (light mechanism, etc.) (try_id)
COMSIG_GLOB_STATION_NAME_CHANGEDGlobal signal called after the station changes its name. +(new_name, old_name)
COMSIG_GLOB_PRE_JOBS_ASSIGNEDGlobal signal sent before we decide what job everyone has
COMSIG_GLOB_NULLROD_PICKEDglobal signal when a global nullrod type is picked
COMSIG_LIGHT_DEBUG_DISABLEDGlobal signal when light debugging is canceled
COMSIG_STARLIGHT_COLOR_CHANGEDGlobal signal when starlight color is changed (old_star, new_star)
COMSIG_RELIGIOUS_SECT_CHANGEDGlobal signal sent when a religious sect is chosen
COMSIG_RELIGIOUS_SECT_RESETGlobal signal sent when a religious sect is reset
COMSIG_NARSIE_SUMMON_UPDATEGlobal signal sent when narsie summon count is updated: (new count)

Define Details

+

CANCEL_PRE_RANDOM_EVENT + + +

+

Do not allow this random event to continue.

CANCEL_RANDOM_EVENT + + +

+

Do not allow this random event to continue.

COMSIG_AREA_CREATED + + +

+

called after a successful area creation by a mob: (area/created_area, list/area/old_areas, mob/creator)

COMSIG_GLOB_ALARM_CLEAR + + + +

+

An alarm of some form was cleared (datum/alarm_handler/source, alarm_type, area/source_area)

COMSIG_GLOB_ALARM_FIRE + + + +

+

An alarm of some form was sent (datum/alarm_handler/source, alarm_type, area/source_area)

COMSIG_GLOB_ATOM_AFTER_POST_INIT + + +

+

called post /obj/item initialize (obj/item/created_item)

COMSIG_GLOB_BUTTON_PRESSED + + +

+

ingame button pressed (/obj/machinery/button/button)

COMSIG_GLOB_CARBON_THROW_THING + + +

+

a person somewhere has thrown something : (mob/living/carbon/carbon_thrower, target)

COMSIG_GLOB_CLIENT_CONNECT + + +

+

a client (re)connected, after all /client/New() checks have passed : (client/connected_client)

COMSIG_GLOB_CREWMEMBER_JOINED + + +

+

crewmember joined the game (mob/living, rank)

COMSIG_GLOB_EXPANDED_WORLD_BOUNDS + + +

+

sent after world.maxx and/or world.maxy are expanded: (has_exapnded_world_maxx, has_expanded_world_maxy)

COMSIG_GLOB_EXPLOSION + + +

+

called after an explosion happened : (epicenter, devastation_range, heavy_impact_range, light_impact_range, took, orig_dev_range, orig_heavy_range, orig_light_range)

COMSIG_GLOB_JOB_AFTER_LATEJOIN_SPAWN + + +

+

job datum has been called to deal with the aftermath of a latejoin spawn

COMSIG_GLOB_JOB_AFTER_SPAWN + + +

+

job subsystem has spawned and equipped a new mob

COMSIG_GLOB_LIVING_SAY_SPECIAL + + +

+

global living say plug - use sparingly: (mob/speaker , message)

COMSIG_GLOB_MOB_CREATED + + +

+

Called from base of /mob/Initialise : (mob)

COMSIG_GLOB_MOB_DEATH + + +

+

mob died somewhere : (mob/living, gibbed)

COMSIG_GLOB_MOB_LOGGED_IN + + +

+

global mob logged in signal! (/mob/added_player)

COMSIG_GLOB_NEW_ITEM + + +

+

an obj/item is created! (obj/item/created_item)

COMSIG_GLOB_NEW_MACHINE + + +

+

an obj/machinery is created! (obj/machinery/created_machine)

COMSIG_GLOB_NEW_Z + + +

+

from base of datum/controller/subsystem/mapping/proc/add_new_zlevel(): (list/args)

COMSIG_GLOB_NUKE_DEVICE_ARMED + + +

+

global signal sent when a nuclear device is armed (/obj/machinery/nuclearbomb/nuke/exploding_nuke)

COMSIG_GLOB_NUKE_DEVICE_DETONATING + + +

+

global signal sent when a nuclear device is detonating (/obj/machinery/nuclearbomb/nuke/exploding_nuke)

COMSIG_GLOB_NUKE_DEVICE_DISARMED + + +

+

global signal sent when a nuclear device is disarmed (/obj/machinery/nuclearbomb/nuke/disarmed_nuke)

COMSIG_GLOB_NULLROD_PICKED + + +

+

global signal when a global nullrod type is picked

COMSIG_GLOB_PLAY_CINEMATIC + + +

+

called by datum/cinematic/play() : (datum/cinematic/new_cinematic)

COMSIG_GLOB_PRE_JOBS_ASSIGNED + + +

+

Global signal sent before we decide what job everyone has

COMSIG_GLOB_PRE_RANDOM_EVENT + + +

+

Random event is trying to roll. (/datum/round_event_control/random_event) +Called by (/datum/round_event_control/preRunEvent).

COMSIG_GLOB_PUZZLE_COMPLETED + + +

+

Global signal sent when a puzzle piece is completed (light mechanism, etc.) (try_id)

COMSIG_GLOB_RANDOM_EVENT + + +

+

Called by (/datum/round_event_control/run_event).

COMSIG_GLOB_STATION_NAME_CHANGED + + +

+

Global signal called after the station changes its name. +(new_name, old_name)

+

a trapdoor remote has sent out a signal to link with a trapdoor

COMSIG_GLOB_VAR_EDIT + + +

+

called after a successful var edit somewhere in the world: (list/args)

COMSIG_LIGHT_DEBUG_DISABLED + + +

+

Global signal when light debugging is canceled

COMSIG_NARSIE_SUMMON_UPDATE + + +

+

Global signal sent when narsie summon count is updated: (new count)

COMSIG_RELIGIOUS_SECT_CHANGED + + +

+

Global signal sent when a religious sect is chosen

COMSIG_RELIGIOUS_SECT_RESET + + +

+

Global signal sent when a religious sect is reset

COMSIG_STARLIGHT_COLOR_CHANGED + + +

+

Global signal when starlight color is changed (old_star, new_star)

COMSIG_WEATHER_TELEGRAPH + + + +

+

a weather event of some kind occured

LINKED_UP + + +

+

successfully linked to a trapdoor!

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_global_object.html b/code/__DEFINES/dcs/signals/signals_global_object.html new file mode 100644 index 00000000000..10ffe634261 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_global_object.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_global_object.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_global_object.dm + +

+ + + + + +
COMSIG_OCCUPATIONS_DIVIDEDsignals from globally accessible objects +from SSJob when DivideOccupations is called
COMSIG_SUN_MOVEDfrom SSsun when the sun changes position : (azimuth)
COMSIG_SECURITY_LEVEL_CHANGEDfrom SSsecurity_level when the security level changes : (new_level)
COMSIG_SUPPLY_SHUTTLE_BUYfrom SSshuttle when the supply shuttle starts spawning orders : ()

Define Details

+

COMSIG_OCCUPATIONS_DIVIDED + + +

+

signals from globally accessible objects +from SSJob when DivideOccupations is called

COMSIG_SECURITY_LEVEL_CHANGED + + +

+

from SSsecurity_level when the security level changes : (new_level)

COMSIG_SUN_MOVED + + +

+

from SSsun when the sun changes position : (azimuth)

COMSIG_SUPPLY_SHUTTLE_BUY + + +

+

from SSshuttle when the supply shuttle starts spawning orders : ()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_heretic.html b/code/__DEFINES/dcs/signals/signals_heretic.html new file mode 100644 index 00000000000..c95cc792c92 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_heretic.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_heretic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_heretic.dm + +

+ + + + + + + +
COMSIG_HERETIC_MANSUS_GRASP_ATTACKHeretic signals +From /obj/item/melee/touch_attack/mansus_fist/on_mob_hit : (mob/living/source, mob/living/target)
COMPONENT_BLOCK_HAND_USEDefault behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.
COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARYFrom /obj/item/melee/touch_attack/mansus_fist/afterattack_secondary : (mob/living/source, atom/target)
COMPONENT_USE_HANDDefault behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.
COMSIG_HERETIC_BLADE_ATTACKFrom /obj/item/melee/sickly_blade/afterattack (with proximity) : (mob/living/source, mob/living/target)
COMSIG_HERETIC_RANGED_BLADE_ATTACKFrom /obj/item/melee/sickly_blade/afterattack (without proximity) : (mob/living/source, mob/living/target)

Define Details

+

COMPONENT_BLOCK_HAND_USE + + +

+

Default behavior is to use the hand, so return this to blocks the mansus fist from being consumed after use.

COMPONENT_USE_HAND + + +

+

Default behavior is to continue attack chain and do nothing else, so return this to use up the hand after use.

COMSIG_HERETIC_BLADE_ATTACK + + +

+

From /obj/item/melee/sickly_blade/afterattack (with proximity) : (mob/living/source, mob/living/target)

COMSIG_HERETIC_MANSUS_GRASP_ATTACK + + +

+

Heretic signals +From /obj/item/melee/touch_attack/mansus_fist/on_mob_hit : (mob/living/source, mob/living/target)

COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARY + + +

+

From /obj/item/melee/touch_attack/mansus_fist/afterattack_secondary : (mob/living/source, atom/target)

COMSIG_HERETIC_RANGED_BLADE_ATTACK + + +

+

From /obj/item/melee/sickly_blade/afterattack (without proximity) : (mob/living/source, mob/living/target)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_hud.html b/code/__DEFINES/dcs/signals/signals_hud.html new file mode 100644 index 00000000000..d41c68ce1bb --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_hud.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_hud.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_hud.dm + +

+ + + + + + +
COMSIG_HUD_EYE_CHANGEDSent from /datum/hud/proc/on_eye_change(): (atom/old_eye, atom/new_eye)
COMSIG_HUD_OFFSET_CHANGEDSent from /datum/hud/proc/eye_z_changed() : (old_offset, new_offset)
COMSIG_HUD_LOBBY_COLLAPSEDSent from /atom/movable/screen/lobby/button/collapse/proc/collapse_buttons() : ()
COMSIG_HUD_LOBBY_EXPANDEDSent from /atom/movable/screen/lobby/button/collapse/proc/expand_buttons() : ()
COMSIG_HUD_PLAYER_READY_TOGGLESent from /atom/movable/screen/lobby/button/ready/Click() : ()

Define Details

+

COMSIG_HUD_EYE_CHANGED + + +

+

Sent from /datum/hud/proc/on_eye_change(): (atom/old_eye, atom/new_eye)

COMSIG_HUD_LOBBY_COLLAPSED + + +

+

Sent from /atom/movable/screen/lobby/button/collapse/proc/collapse_buttons() : ()

COMSIG_HUD_LOBBY_EXPANDED + + +

+

Sent from /atom/movable/screen/lobby/button/collapse/proc/expand_buttons() : ()

COMSIG_HUD_OFFSET_CHANGED + + +

+

Sent from /datum/hud/proc/eye_z_changed() : (old_offset, new_offset)

COMSIG_HUD_PLAYER_READY_TOGGLE + + +

+

Sent from /atom/movable/screen/lobby/button/ready/Click() : ()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_hydroponic.html b/code/__DEFINES/dcs/signals/signals_hydroponic.html new file mode 100644 index 00000000000..e76001dbd78 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_hydroponic.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_hydroponic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_hydroponic.dm + +

+ + + + + + + + + + + + + + + + +
COMSIG_PLANT_ON_SLIPcalled when a plant with slippery skin is slipped on (mob/victim)
COMSIG_PLANT_ON_SQUASHcalled when a plant with liquid contents is squashed on (atom/target)
COMSIG_PLANT_ON_BACKFIREcalled when a plant backfires via the backfire element (mob/victim)
COMSIG_SEED_ON_GROWcalled when a seed grows in a tray (obj/machinery/hydroponics)
COMSIG_SEED_ON_PLANTEDcalled when a seed is planted in a tray (obj/machinery/hydroponics)
COMSIG_HYDROTRAY_SET_SEEDfrom base of /obj/machinery/hydroponics/set_seed() : (obj/item/new_seed)
COMSIG_HYDROTRAY_SET_SELFSUSTAININGfrom base of /obj/machinery/hydroponics/set_self_sustaining() : (new_value)
COMSIG_HYDROTRAY_SET_WEEDLEVELfrom base of /obj/machinery/hydroponics/set_weedlevel() : (new_value)
COMSIG_HYDROTRAY_SET_PESTLEVELfrom base of /obj/machinery/hydroponics/set_pestlevel() : (new_value)
COMSIG_HYDROTRAY_SET_WATERLEVELfrom base of /obj/machinery/hydroponics/set_waterlevel() : (new_value)
COMSIG_HYDROTRAY_SET_PLANT_HEALTHfrom base of /obj/machinery/hydroponics/set_plant_health() : (new_value)
COMSIG_HYDROTRAY_SET_TOXICfrom base of /obj/machinery/hydroponics/set_toxic() : (new_value)
COMSIG_HYDROTRAY_SET_PLANT_STATUSfrom base of /obj/machinery/hydroponics/set_plant_status() : (new_value)
COMSIG_HYDROTRAY_ON_HARVESTfrom base of /obj/machinery/hydroponics/update_tray() : (mob/user, product_count)
COMSIG_HYDROTRAY_PLANT_DEATHfrom base of /obj/machinery/hydroponics/plantdies()

Define Details

+

COMSIG_HYDROTRAY_ON_HARVEST + + +

+

from base of /obj/machinery/hydroponics/update_tray() : (mob/user, product_count)

COMSIG_HYDROTRAY_PLANT_DEATH + + +

+

from base of /obj/machinery/hydroponics/plantdies()

COMSIG_HYDROTRAY_SET_PESTLEVEL + + +

+

from base of /obj/machinery/hydroponics/set_pestlevel() : (new_value)

COMSIG_HYDROTRAY_SET_PLANT_HEALTH + + +

+

from base of /obj/machinery/hydroponics/set_plant_health() : (new_value)

COMSIG_HYDROTRAY_SET_PLANT_STATUS + + +

+

from base of /obj/machinery/hydroponics/set_plant_status() : (new_value)

COMSIG_HYDROTRAY_SET_SEED + + +

+

from base of /obj/machinery/hydroponics/set_seed() : (obj/item/new_seed)

COMSIG_HYDROTRAY_SET_SELFSUSTAINING + + +

+

from base of /obj/machinery/hydroponics/set_self_sustaining() : (new_value)

COMSIG_HYDROTRAY_SET_TOXIC + + +

+

from base of /obj/machinery/hydroponics/set_toxic() : (new_value)

COMSIG_HYDROTRAY_SET_WATERLEVEL + + +

+

from base of /obj/machinery/hydroponics/set_waterlevel() : (new_value)

COMSIG_HYDROTRAY_SET_WEEDLEVEL + + +

+

from base of /obj/machinery/hydroponics/set_weedlevel() : (new_value)

COMSIG_PLANT_ON_BACKFIRE + + +

+

called when a plant backfires via the backfire element (mob/victim)

COMSIG_PLANT_ON_SLIP + + +

+

called when a plant with slippery skin is slipped on (mob/victim)

COMSIG_PLANT_ON_SQUASH + + +

+

called when a plant with liquid contents is squashed on (atom/target)

COMSIG_SEED_ON_GROW + + +

+

called when a seed grows in a tray (obj/machinery/hydroponics)

COMSIG_SEED_ON_PLANTED + + +

+

called when a seed is planted in a tray (obj/machinery/hydroponics)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_janitor.html b/code/__DEFINES/dcs/signals/signals_janitor.html new file mode 100644 index 00000000000..0a6d86376c7 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_janitor.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_janitor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_janitor.dm + +

+ + + + + + + +
COMSIG_COMPONENT_CLEAN_ACTfrom base of obj/item/attack(): (/mob/living/target, /mob/living/user) +Called on an object to "clean it", such as removing blood decals/overlays, etc. The clean types bitfield is sent with it. Return TRUE if any cleaning was necessary and thus performed.
COMPONENT_CLEANEDReturned by cleanable components when they are cleaned.
COMSIG_VACUUM_BAG_ATTACHCalled on a bag being attached to a vacuum parent
COMSIG_VACUUM_BAG_DETACHCalled on a bag being detached from a vacuum parent
COMSIG_TURF_IS_WET(): Returns bitflags of wet values.
COMSIG_TURF_MAKE_DRY(max_strength, immediate, duration_decrease = INFINITY): Returns bool.

Define Details

+

COMPONENT_CLEANED + + +

+

Returned by cleanable components when they are cleaned.

COMSIG_COMPONENT_CLEAN_ACT + + +

+

from base of obj/item/attack(): (/mob/living/target, /mob/living/user) +Called on an object to "clean it", such as removing blood decals/overlays, etc. The clean types bitfield is sent with it. Return TRUE if any cleaning was necessary and thus performed.

COMSIG_TURF_IS_WET + + +

+

(): Returns bitflags of wet values.

COMSIG_TURF_MAKE_DRY + + +

+

(max_strength, immediate, duration_decrease = INFINITY): Returns bool.

COMSIG_VACUUM_BAG_ATTACH + + +

+

Called on a bag being attached to a vacuum parent

COMSIG_VACUUM_BAG_DETACH + + +

+

Called on a bag being detached from a vacuum parent

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_key.html b/code/__DEFINES/dcs/signals/signals_key.html new file mode 100644 index 00000000000..190cfe781ad --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_key.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_key.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_key.dm + +

+ + +
COMSIG_ON_DEPARTMENT_ACCESSCalled when a keycard is sending a department's access. (obj/machinery/keycard_auth/source, list/region_access)

Define Details

+

COMSIG_ON_DEPARTMENT_ACCESS + + +

+

Called when a keycard is sending a department's access. (obj/machinery/keycard_auth/source, list/region_access)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_ladder.html b/code/__DEFINES/dcs/signals/signals_ladder.html new file mode 100644 index 00000000000..cf865d98fe5 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_ladder.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_ladder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_ladder.dm + +

+ + +
COMSIG_LADDER_TRAVELCalled on a mob attempting to use a ladder to go in either direction. (entrance_ladder, exit_ladder, going_up)

Define Details

+

COMSIG_LADDER_TRAVEL + + +

+

Called on a mob attempting to use a ladder to go in either direction. (entrance_ladder, exit_ladder, going_up)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_lazy_templates.html b/code/__DEFINES/dcs/signals/signals_lazy_templates.html new file mode 100644 index 00000000000..a89fa586681 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_lazy_templates.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_lazy_templates.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_lazy_templates.dm + +

+ + +
COMSIG_LAZY_TEMPLATE_LOADEDFired on the lazy template datum when the template is finished loading. (list/loaded_atom_movables, list/loaded_turfs, list/loaded_areas)

Define Details

+

COMSIG_LAZY_TEMPLATE_LOADED + + +

+

Fired on the lazy template datum when the template is finished loading. (list/loaded_atom_movables, list/loaded_turfs, list/loaded_areas)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_leash.html b/code/__DEFINES/dcs/signals/signals_leash.html new file mode 100644 index 00000000000..babe408cea8 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_leash.html @@ -0,0 +1,48 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_leash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_leash.dm + +

+ + + + +
COMSIG_LEASH_FORCE_TELEPORTCalled when a /datum/component/leash must forcibly teleport the parent to the owner. +Fired on the object with the leash component.
COMSIG_LEASH_PATH_STARTEDCalled when a /datum/component/leash plans on pathfinding to the target, if out of range. +Fired on the object with the leash component.
COMSIG_LEASH_PATH_COMPLETECalled when a /datum/component/leash finishes its pathfinding to the target. +Fired on the object with the leash component.

Define Details

+

COMSIG_LEASH_FORCE_TELEPORT + + +

+

Called when a /datum/component/leash must forcibly teleport the parent to the owner. +Fired on the object with the leash component.

COMSIG_LEASH_PATH_COMPLETE + + +

+

Called when a /datum/component/leash finishes its pathfinding to the target. +Fired on the object with the leash component.

COMSIG_LEASH_PATH_STARTED + + +

+

Called when a /datum/component/leash plans on pathfinding to the target, if out of range. +Fired on the object with the leash component.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_lift.html b/code/__DEFINES/dcs/signals/signals_lift.html new file mode 100644 index 00000000000..35c6a1d7a1a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_lift.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_lift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_lift.dm + +

+ + +
COMSIG_LIFT_SET_DIRECTIONSent from /datum/transport_controller when a normal lift starts or stops going up or down. (direction if started or 0 if stopped)

Define Details

+

COMSIG_LIFT_SET_DIRECTION + + +

+

Sent from /datum/transport_controller when a normal lift starts or stops going up or down. (direction if started or 0 if stopped)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_light_eater.html b/code/__DEFINES/dcs/signals/signals_light_eater.html new file mode 100644 index 00000000000..2b0b0c982fc --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_light_eater.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_light_eater.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_light_eater.dm + +

+ + + + + +
COMSIG_LIGHT_EATER_QUEUEfrom base of /datum/element/light_eater/proc/table_buffet: (list/light_queue, datum/light_eater)
COMSIG_LIGHT_EATER_ACTfrom base of /datum/element/light_eater/proc/devour: (datum/light_eater)
COMPONENT_BLOCK_LIGHT_EATERPrevents the default light eater behavior from running in case of immunity or custom behavior
COMSIG_LIGHT_EATER_DEVOURfrom base of /datum/element/light_eater/proc/devour: (atom/eaten_light)

Define Details

+

COMPONENT_BLOCK_LIGHT_EATER + + +

+

Prevents the default light eater behavior from running in case of immunity or custom behavior

COMSIG_LIGHT_EATER_ACT + + +

+

from base of /datum/element/light_eater/proc/devour: (datum/light_eater)

COMSIG_LIGHT_EATER_DEVOUR + + +

+

from base of /datum/element/light_eater/proc/devour: (atom/eaten_light)

COMSIG_LIGHT_EATER_QUEUE + + +

+

from base of /datum/element/light_eater/proc/table_buffet: (list/light_queue, datum/light_eater)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_material_container.html b/code/__DEFINES/dcs/signals/signals_material_container.html new file mode 100644 index 00000000000..c4d7ea5a345 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_material_container.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_material_container.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_material_container.dm + +

+ + + + + +
COMSIG_MATCONTAINER_MAT_CHECKCalled from datum/component/material_container/proc/can_hold_material() : (mat)
COMSIG_MATCONTAINER_PRE_USER_INSERTCalled from datum/component/material_container/proc/user_insert() : (held_item, user)
COMSIG_MATCONTAINER_ITEM_CONSUMEDCalled from datum/component/material_container/proc/insert_item() : (target, last_inserted_id, mats_consumed, material_amount, context)
COMSIG_MATCONTAINER_SHEETS_RETRIEVEDCalled from datum/component/material_container/proc/retrieve_sheets() : (sheets, context)

Define Details

+

COMSIG_MATCONTAINER_ITEM_CONSUMED + + +

+

Called from datum/component/material_container/proc/insert_item() : (target, last_inserted_id, mats_consumed, material_amount, context)

COMSIG_MATCONTAINER_MAT_CHECK + + +

+

Called from datum/component/material_container/proc/can_hold_material() : (mat)

COMSIG_MATCONTAINER_PRE_USER_INSERT + + +

+

Called from datum/component/material_container/proc/user_insert() : (held_item, user)

COMSIG_MATCONTAINER_SHEETS_RETRIEVED + + +

+

Called from datum/component/material_container/proc/retrieve_sheets() : (sheets, context)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_medical.html b/code/__DEFINES/dcs/signals/signals_medical.html new file mode 100644 index 00000000000..8e3670051a1 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_medical.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_medical.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_medical.dm + +

+ + + + + + + +
COMSIG_MOB_SURGERY_STARTEDFrom /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb)
COMSIG_MOB_SURGERY_STEP_SUCCESSFrom /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
COMSIG_DEFIBRILLATOR_PRE_HELP_ZAPFrom /obj/item/shockpaddles/do_help, after the defib do_after is complete, but before any effects are applied: (mob/living/defibber, obj/item/shockpaddles/source)
COMPONENT_DEFIB_STOPReturn to stop default defib handling
COMSIG_DEFIBRILLATOR_SUCCESSFrom /obj/item/shockpaddles/proc/do_success(): (obj/item/shockpaddles/source)
COMSIG_SURGERY_STARTINGFrom /datum/surgery/can_start(): (mob/source, datum/surgery/surgery, mob/living/patient)

Define Details

+

COMPONENT_DEFIB_STOP + + +

+

Return to stop default defib handling

COMSIG_DEFIBRILLATOR_PRE_HELP_ZAP + + +

+

From /obj/item/shockpaddles/do_help, after the defib do_after is complete, but before any effects are applied: (mob/living/defibber, obj/item/shockpaddles/source)

COMSIG_DEFIBRILLATOR_SUCCESS + + +

+

From /obj/item/shockpaddles/proc/do_success(): (obj/item/shockpaddles/source)

COMSIG_MOB_SURGERY_STARTED + + +

+

From /datum/surgery/New(): (datum/surgery/surgery, surgery_location (body zone), obj/item/bodypart/targeted_limb)

COMSIG_MOB_SURGERY_STEP_SUCCESS + + +

+

From /datum/surgery_step/success(): (datum/surgery_step/step, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)

COMSIG_SURGERY_STARTING + + +

+

From /datum/surgery/can_start(): (mob/source, datum/surgery/surgery, mob/living/patient)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mind.html b/code/__DEFINES/dcs/signals/signals_mind.html new file mode 100644 index 00000000000..f61b67863fc --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mind.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mind.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mind.dm + +

+ + + + +
COMSIG_MIND_TRANSFERREDfrom mind/transfer_to. Sent after the mind has been transferred: (mob/previous_body)
COMSIG_ANTAGONIST_GAINEDCalled on the mind when an antagonist is being gained, after the antagonist list has updated (datum/antagonist/antagonist)
COMSIG_ANTAGONIST_REMOVEDCalled on the mind when an antagonist is being removed, after the antagonist list has updated (datum/antagonist/antagonist)

Define Details

+

COMSIG_ANTAGONIST_GAINED + + +

+

Called on the mind when an antagonist is being gained, after the antagonist list has updated (datum/antagonist/antagonist)

COMSIG_ANTAGONIST_REMOVED + + +

+

Called on the mind when an antagonist is being removed, after the antagonist list has updated (datum/antagonist/antagonist)

COMSIG_MIND_TRANSFERRED + + +

+

from mind/transfer_to. Sent after the mind has been transferred: (mob/previous_body)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mining.html b/code/__DEFINES/dcs/signals/signals_mining.html new file mode 100644 index 00000000000..3e03e3d05ab --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mining.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mining.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mining.dm + +

+ + + + +
COMSIG_GOLIATH_TENTACLED_GRABBEDFired by a mob which has been grabbed by a goliath
COMSIG_GOLIATH_TENTACLE_RETRACTINGFired by a goliath tentacle which is returning to the earth
COMSIG_BRIMDUST_EXPLOSIONFired by a mob which has triggered a brimdust explosion from itself (not the mobs that get hit)

Define Details

+

COMSIG_BRIMDUST_EXPLOSION + + +

+

Fired by a mob which has triggered a brimdust explosion from itself (not the mobs that get hit)

COMSIG_GOLIATH_TENTACLED_GRABBED + + +

+

Fired by a mob which has been grabbed by a goliath

COMSIG_GOLIATH_TENTACLE_RETRACTING + + +

+

Fired by a goliath tentacle which is returning to the earth

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.html new file mode 100644 index 00000000000..47880e8848f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.html @@ -0,0 +1,44 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_ai.dm + +

+ + + + +
COMSIG_AI_BLACKBOARD_KEY_SETSignal sent when a blackboard key is set to a new value
COMSIG_AI_BLACKBOARD_KEY_CLEAREDSignal sent when a blackboard key is cleared
COMSIG_BOT_RESETSignal sent when a bot is reset

Define Details

+

COMSIG_AI_BLACKBOARD_KEY_CLEARED + + + +

+

Signal sent when a blackboard key is cleared

COMSIG_AI_BLACKBOARD_KEY_SET + + + +

+

Signal sent when a blackboard key is set to a new value

COMSIG_BOT_RESET + + +

+

Signal sent when a bot is reset

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html new file mode 100644 index 00000000000..7b4037ede33 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_arcade.dm + +

+ + + + +
COMSIG_MOB_PLAYED_VIDEOGAMECalled when a mob plays a videogame
COMSIG_MOB_LOST_VIDEOGAMECalled when a mob loses a videogame
COMSIG_MOB_WON_VIDEOGAMECalled when a mob wins a videogame

Define Details

+

COMSIG_MOB_LOST_VIDEOGAME + + +

+

Called when a mob loses a videogame

COMSIG_MOB_PLAYED_VIDEOGAME + + +

+

Called when a mob plays a videogame

COMSIG_MOB_WON_VIDEOGAME + + +

+

Called when a mob wins a videogame

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.html new file mode 100644 index 00000000000..49da9d3e0e3 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_basic.dm + +

+ + + + + + + + + +
COMSIG_BASICMOB_LOOK_DEADSent from /mob/living/basic/proc/look_dead() : ()
COMSIG_BASICMOB_LOOK_ALIVESent from /mob/living/basic/proc/look_alive() : ()
COMSIG_BASICMOB_PRE_ATTACK_RANGEDfrom the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)
COMPONENT_CANCEL_RANGED_ATTACKCancel to prevent the attack from happening
COMSIG_BASICMOB_POST_ATTACK_RANGEDfrom the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)
COMSIG_NEEDS_NEW_PHRASESent from /datum/ai_planning_subtree/parrot_as_in_repeat() : ()
NO_NEW_PHRASE_AVAILABLECancel to try again later for when we actually get a new phrase
COMSIG_ANIMAL_PETCalled whenever an animal is pet via the /datum/element/pet_bonus element: (mob/living/petter, modifiers)

Define Details

+

COMPONENT_CANCEL_RANGED_ATTACK + + +

+

Cancel to prevent the attack from happening

COMSIG_ANIMAL_PET + + +

+

Called whenever an animal is pet via the /datum/element/pet_bonus element: (mob/living/petter, modifiers)

COMSIG_BASICMOB_LOOK_ALIVE + + +

+

Sent from /mob/living/basic/proc/look_alive() : ()

COMSIG_BASICMOB_LOOK_DEAD + + +

+

Sent from /mob/living/basic/proc/look_dead() : ()

COMSIG_BASICMOB_POST_ATTACK_RANGED + + +

+

from the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)

COMSIG_BASICMOB_PRE_ATTACK_RANGED + + +

+

from the ranged_attacks component for basic mobs: (mob/living/basic/firer, atom/target, modifiers)

COMSIG_NEEDS_NEW_PHRASE + + +

+

Sent from /datum/ai_planning_subtree/parrot_as_in_repeat() : ()

NO_NEW_PHRASE_AVAILABLE + + +

+

Cancel to try again later for when we actually get a new phrase

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html new file mode 100644 index 00000000000..cca99f85c50 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.html @@ -0,0 +1,337 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_CARBON_PRE_HELPCalled from /datum/species/proc/help : (mob/living/carbon/human/helper, datum/martial_art/helper_style)
COMPONENT_BLOCK_HELP_ACTStops the rest of the help
COMSIG_CARBON_PRE_MISC_HELPCalled from /mob/living/carbon/help_shake_act, before any hugs have ocurred. (mob/living/helper)
COMPONENT_BLOCK_MISC_HELPStops the rest of help act (hugging, etc) from occuring
COMSIG_CARBON_HELP_ACTCalled from /mob/living/carbon/help_shake_act on the person being helped, after any hugs have ocurred. (mob/living/helper)
COMSIG_CARBON_HELPEDCalled from /mob/living/carbon/help_shake_act on the helper, after any hugs have ocurred. (mob/living/helped)
COMSIG_CARBON_DISARM_PRESHOVEBefore a carbon mob is shoved, sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target)
COMSIG_CARBON_DISARM_COLLIDEWhen a carbon mob is disarmed, this is sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target, shove_blocked)
COMSIG_ON_CARBON_SLIPWhen a carbon slips. Called on /turf/open/handle_slip()
COMSIG_CARBON_POST_LOSE_WOUNDCalled after limb AND victim has been unset
COMSIG_ATTEMPT_CARBON_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/can_attach_limb(): (new_limb, special) allows you to fail limb attachment
COMSIG_CARBON_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/try_attach_limb(): (new_limb, special)
COMSIG_BODYPART_ATTACHEDCalled from bodypart being attached /obj/item/bodypart/proc/try_attach_limb(mob/living/carbon/new_owner, special)
COMSIG_CARBON_POST_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/try_attach_limb(): (new_limb, special)
COMSIG_CARBON_LIMB_DAMAGEDfrom /obj/item/bodypart/proc/receive_damage, sent from the limb owner (limb, brute, burn)
COMSIG_BODYPART_GAUZEDfrom /obj/item/bodypart/proc/apply_gauze(/obj/item/stack/gauze): (/obj/item/stack/medical/gauze/applied_gauze, /obj/item/stack/medical/gauze/stack_used)
COMSIG_BODYPART_UNGAUZEDfrom /obj/item/stack/medical/gauze/Destroy(): (/obj/item/stack/medical/gauze/removed_gauze)
COMSIG_BODYPART_CHANGED_OWNERCalled from bodypart changing owner, which could be on attach or detachment. Either argument can be null. (mob/living/carbon/new_owner, mob/living/carbon/old_owner)
COMSIG_BODYPART_UPDATING_HEALTH_HUDCalled from update_health_hud, whenever a bodypart is being updated on the health doll
COMPONENT_OVERRIDE_BODYPART_HEALTH_HUDReturn to override that bodypart's health hud with your own icon
COMSIG_BODYPART_CHECKED_FOR_INJURYCalled from /obj/item/bodypart/check_for_injuries (mob/living/carbon/examiner, list/check_list)
COMSIG_CARBON_CHECKING_BODYPARTCalled from /obj/item/bodypart/check_for_injuries (obj/item/bodypart/examined, list/check_list)
COMSIG_CARBON_REMOVE_LIMBCalled from carbon losing a limb /obj/item/bodypart/proc/drop_limb(obj/item/bodypart/lost_limb, special, dismembered)
COMSIG_CARBON_POST_REMOVE_LIMBCalled from carbon losing a limb /obj/item/bodypart/proc/drop_limb(obj/item/bodypart/lost_limb, special, dismembered)
COMSIG_BODYPART_REMOVEDCalled from bodypart being removed /obj/item/bodypart/proc/drop_limb(mob/living/carbon/old_owner, special, dismembered)
COMSIG_CARBON_SOUNDBANGfrom base of mob/living/carbon/soundbang_act(): (list(intensity))
COMSIG_CARBON_GAIN_ORGANfrom /item/organ/proc/Insert() (/obj/item/organ/)
COMSIG_CARBON_LOSE_ORGANfrom /item/organ/proc/Remove() (/obj/item/organ/)
COMSIG_CARBON_EQUIP_HATfrom /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)
COMSIG_CARBON_UNEQUIP_HATfrom /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)
COMSIG_CARBON_UNEQUIP_SHOECOVERfrom /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)
COMSIG_CARBON_EMBED_RIPdefined twice, in carbon and human's topics, fired when interacting with a valid embedded_object to pull it out (mob/living/carbon/target, /obj/item, /obj/item/bodypart/L)
COMSIG_CARBON_EMBED_REMOVALcalled when removing a given item from a mob, from mob/living/carbon/remove_embedded_object(mob/living/carbon/target, /obj/item)
COMSIG_CARBON_CUFF_ATTEMPTEDCalled when someone attempts to cuff a carbon
COMSIG_CARBON_GAIN_MUTATIONCalled when a carbon mutates (source = dna, mutation = mutation added)
COMSIG_CARBON_LOSE_MUTATIONCalled when a carbon loses a mutation (source = dna, mutation = mutation lose)
COMSIG_CARBON_GAIN_ADDICTIONCalled when a carbon becomes addicted (source = what addiction datum, addicted_mind = mind of the addicted carbon)
COMSIG_CARBON_LOSE_ADDICTIONCalled when a carbon is no longer addicted (source = what addiction datum was lost, addicted_mind = mind of the freed carbon)
COMSIG_CARBON_GAIN_TRAUMACalled when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added) - this is before on_gain()
COMSIG_CARBON_LOSE_TRAUMACalled when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed)
COMSIG_CARBON_UPDATING_HEALTH_HUDCalled when a carbon's health hud is updated. (source = carbon, shown_health_amount)
COMPONENT_OVERRIDE_HEALTH_HUDReturn if you override the carbon's health hud with something else
COMSIG_CARBON_SANITY_UPDATECalled when a carbon updates their sanity (source = carbon)
COMSIG_CARBON_ATTEMPT_BREATHECalled when a carbon attempts to breath, before the breath has actually occured
COMSIG_CARBON_PRE_BREATHECalled when a carbon breathes, before the breath has actually occured
COMSIG_CARBON_MOOD_UPDATECalled when a carbon updates their mood
COMSIG_CARBON_ATTEMPT_EATCalled when a carbon attempts to eat (eating)
COMSIG_CARBON_VOMITEDCalled when a carbon vomits : (distance, force)
COMSIG_CARBON_APPLY_OVERLAYCalled from apply_overlay(cache_index, overlay)
COMSIG_CARBON_REMOVE_OVERLAYCalled from remove_overlay(cache_index, overlay)
COMSIG_HUMAN_PREFS_APPLIEDApplied preferences to a human
COMSIG_HUMAN_DISARM_HITHit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)
COMSIG_JOB_RECEIVEDWhenever EquipRanked is called, called after job is set
COMSIG_HUMAN_CORETEMP_CHANGEfrom /mob/living/carbon/human/proc/set_coretemperature(): (oldvalue, newvalue)
COMSIG_HUMAN_BURNINGfrom /datum/species/handle_fire. Called when the human is set on fire and burning clothes and stuff
COMSIG_HUMAN_FORCESAYfrom /mob/living/carbon/human/proc/force_say(): ()
COMSIG_HUMAN_GET_VISIBLE_NAMEfrom /mob/living/carbon/human/get_visible_name(), not sent if the mob has TRAIT_UNKNOWN: (identity)
COMSIG_HUMAN_MONKEYIZECalled when a human turns into a monkey, from /mob/living/carbon/proc/finish_monkeyize()
COMSIG_MONKEY_HUMANIZECalled when a monkey turns into a human, from /mob/living/carbon/proc/finish_humanize(species)
COMSIG_HUMAN_SUICIDE_ACTFrom mob/living/carbon/human/suicide()
COMSIG_CARBON_REGENERATE_LIMBSfrom base of /mob/living/carbon/regenerate_limbs(): (excluded_limbs)
COMSIG_CARBON_ITEM_GIVENfrom /atom/movable/screen/alert/give/proc/handle_transfer(): (taker, item)

Define Details

+

COMPONENT_BLOCK_HELP_ACT + + +

+

Stops the rest of the help

COMPONENT_BLOCK_MISC_HELP + + +

+

Stops the rest of help act (hugging, etc) from occuring

COMPONENT_OVERRIDE_BODYPART_HEALTH_HUD + + +

+

Return to override that bodypart's health hud with your own icon

COMPONENT_OVERRIDE_HEALTH_HUD + + +

+

Return if you override the carbon's health hud with something else

COMSIG_ATTEMPT_CARBON_ATTACH_LIMB + + +

+

from base of /obj/item/bodypart/proc/can_attach_limb(): (new_limb, special) allows you to fail limb attachment

COMSIG_BODYPART_ATTACHED + + +

+

Called from bodypart being attached /obj/item/bodypart/proc/try_attach_limb(mob/living/carbon/new_owner, special)

COMSIG_BODYPART_CHANGED_OWNER + + +

+

Called from bodypart changing owner, which could be on attach or detachment. Either argument can be null. (mob/living/carbon/new_owner, mob/living/carbon/old_owner)

COMSIG_BODYPART_CHECKED_FOR_INJURY + + +

+

Called from /obj/item/bodypart/check_for_injuries (mob/living/carbon/examiner, list/check_list)

COMSIG_BODYPART_GAUZED + + +

+

from /obj/item/bodypart/proc/apply_gauze(/obj/item/stack/gauze): (/obj/item/stack/medical/gauze/applied_gauze, /obj/item/stack/medical/gauze/stack_used)

COMSIG_BODYPART_REMOVED + + +

+

Called from bodypart being removed /obj/item/bodypart/proc/drop_limb(mob/living/carbon/old_owner, special, dismembered)

COMSIG_BODYPART_UNGAUZED + + +

+

from /obj/item/stack/medical/gauze/Destroy(): (/obj/item/stack/medical/gauze/removed_gauze)

COMSIG_BODYPART_UPDATING_HEALTH_HUD + + +

+

Called from update_health_hud, whenever a bodypart is being updated on the health doll

COMSIG_CARBON_APPLY_OVERLAY + + +

+

Called from apply_overlay(cache_index, overlay)

COMSIG_CARBON_ATTACH_LIMB + + +

+

from base of /obj/item/bodypart/proc/try_attach_limb(): (new_limb, special)

COMSIG_CARBON_ATTEMPT_BREATHE + + +

+

Called when a carbon attempts to breath, before the breath has actually occured

COMSIG_CARBON_ATTEMPT_EAT + + +

+

Called when a carbon attempts to eat (eating)

COMSIG_CARBON_CHECKING_BODYPART + + +

+

Called from /obj/item/bodypart/check_for_injuries (obj/item/bodypart/examined, list/check_list)

COMSIG_CARBON_CUFF_ATTEMPTED + + +

+

Called when someone attempts to cuff a carbon

COMSIG_CARBON_DISARM_COLLIDE + + +

+

When a carbon mob is disarmed, this is sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target, shove_blocked)

COMSIG_CARBON_DISARM_PRESHOVE + + +

+

Before a carbon mob is shoved, sent to the turf we're trying to shove onto (mob/living/carbon/shover, mob/living/carbon/target)

COMSIG_CARBON_EMBED_REMOVAL + + +

+

called when removing a given item from a mob, from mob/living/carbon/remove_embedded_object(mob/living/carbon/target, /obj/item)

COMSIG_CARBON_EMBED_RIP + + +

+

defined twice, in carbon and human's topics, fired when interacting with a valid embedded_object to pull it out (mob/living/carbon/target, /obj/item, /obj/item/bodypart/L)

COMSIG_CARBON_EQUIP_HAT + + +

+

from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)

COMSIG_CARBON_GAIN_ADDICTION + + +

+

Called when a carbon becomes addicted (source = what addiction datum, addicted_mind = mind of the addicted carbon)

COMSIG_CARBON_GAIN_MUTATION + + +

+

Called when a carbon mutates (source = dna, mutation = mutation added)

COMSIG_CARBON_GAIN_ORGAN + + +

+

from /item/organ/proc/Insert() (/obj/item/organ/)

COMSIG_CARBON_GAIN_TRAUMA + + +

+

Called when a carbon gets a brain trauma (source = carbon, trauma = what trauma was added) - this is before on_gain()

COMSIG_CARBON_HELPED + + +

+

Called from /mob/living/carbon/help_shake_act on the helper, after any hugs have ocurred. (mob/living/helped)

COMSIG_CARBON_HELP_ACT + + +

+

Called from /mob/living/carbon/help_shake_act on the person being helped, after any hugs have ocurred. (mob/living/helper)

COMSIG_CARBON_ITEM_GIVEN + + +

+

from /atom/movable/screen/alert/give/proc/handle_transfer(): (taker, item)

COMSIG_CARBON_LIMB_DAMAGED + + +

+

from /obj/item/bodypart/proc/receive_damage, sent from the limb owner (limb, brute, burn)

COMSIG_CARBON_LOSE_ADDICTION + + +

+

Called when a carbon is no longer addicted (source = what addiction datum was lost, addicted_mind = mind of the freed carbon)

COMSIG_CARBON_LOSE_MUTATION + + +

+

Called when a carbon loses a mutation (source = dna, mutation = mutation lose)

COMSIG_CARBON_LOSE_ORGAN + + +

+

from /item/organ/proc/Remove() (/obj/item/organ/)

COMSIG_CARBON_LOSE_TRAUMA + + +

+

Called when a carbon loses a brain trauma (source = carbon, trauma = what trauma was removed)

COMSIG_CARBON_MOOD_UPDATE + + +

+

Called when a carbon updates their mood

COMSIG_CARBON_POST_ATTACH_LIMB + + +

+

from base of /obj/item/bodypart/proc/try_attach_limb(): (new_limb, special)

COMSIG_CARBON_POST_LOSE_WOUND + + +

+

Called after limb AND victim has been unset

COMSIG_CARBON_POST_REMOVE_LIMB + + +

+

Called from carbon losing a limb /obj/item/bodypart/proc/drop_limb(obj/item/bodypart/lost_limb, special, dismembered)

COMSIG_CARBON_PRE_BREATHE + + +

+

Called when a carbon breathes, before the breath has actually occured

COMSIG_CARBON_PRE_HELP + + +

+

Called from /datum/species/proc/help : (mob/living/carbon/human/helper, datum/martial_art/helper_style)

COMSIG_CARBON_PRE_MISC_HELP + + +

+

Called from /mob/living/carbon/help_shake_act, before any hugs have ocurred. (mob/living/helper)

COMSIG_CARBON_REGENERATE_LIMBS + + +

+

from base of /mob/living/carbon/regenerate_limbs(): (excluded_limbs)

COMSIG_CARBON_REMOVE_LIMB + + +

+

Called from carbon losing a limb /obj/item/bodypart/proc/drop_limb(obj/item/bodypart/lost_limb, special, dismembered)

COMSIG_CARBON_REMOVE_OVERLAY + + +

+

Called from remove_overlay(cache_index, overlay)

COMSIG_CARBON_SANITY_UPDATE + + +

+

Called when a carbon updates their sanity (source = carbon)

COMSIG_CARBON_SOUNDBANG + + +

+

from base of mob/living/carbon/soundbang_act(): (list(intensity))

COMSIG_CARBON_UNEQUIP_HAT + + +

+

from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)

COMSIG_CARBON_UNEQUIP_SHOECOVER + + +

+

from /mob/living/carbon/doUnEquip(obj/item/I, force, newloc, no_move, invdrop, silent)

COMSIG_CARBON_UPDATING_HEALTH_HUD + + +

+

Called when a carbon's health hud is updated. (source = carbon, shown_health_amount)

COMSIG_CARBON_VOMITED + + +

+

Called when a carbon vomits : (distance, force)

COMSIG_HUMAN_BURNING + + +

+

from /datum/species/handle_fire. Called when the human is set on fire and burning clothes and stuff

COMSIG_HUMAN_CORETEMP_CHANGE + + +

+

from /mob/living/carbon/human/proc/set_coretemperature(): (oldvalue, newvalue)

COMSIG_HUMAN_DISARM_HIT + + +

+

Hit by successful disarm attack (mob/living/carbon/human/attacker,zone_targeted)

COMSIG_HUMAN_FORCESAY + + +

+

from /mob/living/carbon/human/proc/force_say(): ()

COMSIG_HUMAN_GET_VISIBLE_NAME + + +

+

from /mob/living/carbon/human/get_visible_name(), not sent if the mob has TRAIT_UNKNOWN: (identity)

COMSIG_HUMAN_MONKEYIZE + + +

+

Called when a human turns into a monkey, from /mob/living/carbon/proc/finish_monkeyize()

COMSIG_HUMAN_PREFS_APPLIED + + +

+

Applied preferences to a human

COMSIG_HUMAN_SUICIDE_ACT + + +

+

From mob/living/carbon/human/suicide()

COMSIG_JOB_RECEIVED + + +

+

Whenever EquipRanked is called, called after job is set

COMSIG_MONKEY_HUMANIZE + + +

+

Called when a monkey turns into a human, from /mob/living/carbon/proc/finish_humanize(species)

COMSIG_ON_CARBON_SLIP + + +

+

When a carbon slips. Called on /turf/open/handle_slip()

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_guardian.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_guardian.html new file mode 100644 index 00000000000..341139bad70 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_guardian.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_guardian.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_guardian.dm + +

+ + + + +
COMSIG_GUARDIAN_MANIFESTEDSent when a guardian is manifested
COMSIG_GUARDIAN_RECALLEDSent when a guardian is recalled
COMSIG_GUARDIAN_ASSASSIN_REVEALEDSent when an assassin guardian is forced to exit stealth

Define Details

+

COMSIG_GUARDIAN_ASSASSIN_REVEALED + + +

+

Sent when an assassin guardian is forced to exit stealth

COMSIG_GUARDIAN_MANIFESTED + + +

+

Sent when a guardian is manifested

COMSIG_GUARDIAN_RECALLED + + +

+

Sent when a guardian is recalled

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html new file mode 100644 index 00000000000..28efd751036 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.html @@ -0,0 +1,500 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_LIVING_TRY_PUT_IN_HANDcalled on /living when attempting to pick up an item, from base of /mob/living/put_in_hand_check(): (obj/item/I)
COMPONENT_LIVING_CANT_PUT_IN_HANDCan't pick up
COMSIG_ORGAN_IMPLANTEDCalled on the organ when it is implanted into someone (mob/living/carbon/receiver)
COMSIG_ORGAN_REMOVEDCalled on the organ when it is removed from someone (mob/living/carbon/old_owner)
COMSIG_ORGAN_BEING_REPLACEDCalled when an organ is being regenerated with a new copy in species regenerate_organs (obj/item/organ/replacement)
COMSIG_ORGAN_SURGICALLY_REMOVEDCalled when an organ gets surgically removed (mob/living/user, mob/living/carbon/old_owner, target_zone, obj/item/tool)
COMSIG_ORGAN_WAG_TAILCalled when using the *wag emote
COMSIG_LIVING_POST_UPDATE_TRANSFORMfrom base of mob/update_transform()
COMSIG_LIVING_DOORCRUSHEDfrom /obj/structure/door/crush(): (mob/living/crushed, /obj/machinery/door/crushing_door)
COMSIG_LIVING_RESISTfrom base of mob/living/resist() (/mob/living)
COMSIG_LIVING_IGNITEDfrom base of mob/living/ignite_mob() (/mob/living)
COMSIG_LIVING_EXTINGUISHEDfrom base of mob/living/extinguish_mob() (/mob/living)
COMSIG_LIVING_ELECTROCUTE_ACTfrom base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)
COMSIG_LIVING_SHOCK_PREVENTEDsent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)
COMSIG_LIVING_MINOR_SHOCKsent by stuff like stunbatons and tasers: ()
COMSIG_LIVING_REVIVEfrom base of mob/living/revive() (full_heal, admin_revive)
COMSIG_LIVING_SET_BUCKLEDfrom base of mob/living/set_buckled(): (new_buckled)
COMSIG_LIVING_SET_BODY_POSITIONfrom base of mob/living/set_body_position()
COMSIG_LIVING_TRY_SYRINGEFrom post-can inject check of syringe after attack (mob/user)
COMSIG_LIVING_LIFEFrom living/Life(). (deltatime, times_fired)
COMPONENT_LIVING_CANCEL_LIFE_PROCESSINGBlock the Life() proc from proceeding... this should really only be done in some really wacky situations.
COMSIG_LIVING_RESTINGFrom living/set_resting(): (new_resting, silent, instant)
COMSIG_LIVING_BANEDfrom base of element/bane/activate(): (item/weapon, mob/user)
COMSIG_OBJECT_PRE_BANINGfrom base of element/bane/activate(): (item/weapon, mob/user)
COMSIG_OBJECT_ON_BANINGfrom base of element/bane/activate(): (item/weapon, mob/user)
COMPONENT_IGNORE_CHANGEReturned from all the following messages if you actually aren't going to apply any change
COMSIG_LIVING_ADJUST_BRUTE_DAMAGESend when bruteloss is modified (type, amount, forced)
COMSIG_LIVING_ADJUST_BURN_DAMAGESend when fireloss is modified (type, amount, forced)
COMSIG_LIVING_ADJUST_OXY_DAMAGESend when oxyloss is modified (type, amount, forced)
COMSIG_LIVING_ADJUST_TOX_DAMAGESend when toxloss is modified (type, amount, forced)
COMSIG_LIVING_ADJUST_STAMINA_DAMAGESend when staminaloss is modified (type, amount, forced)
COMSIG_LIVING_ADJUST_STANDARD_DAMAGE_TYPESList of signals sent when you receive any damage except stamina
COMSIG_LIVING_ADJUST_ALL_DAMAGE_TYPESList of signals sent when you receive any kind of damage at all
COMSIG_LIVING_HEALTH_UPDATEfrom base of mob/living/updatehealth()
COMSIG_LIVING_DEATHfrom base of mob/living/death(): (gibbed)
COMSIG_LIVING_GIBBEDfrom base of mob/living/gib(): (drop_bitflags) +Note that it is fired regardless of whether the mob was dead beforehand or not.
COMSIG_LIVING_WRITE_MEMORYfrom base of mob/living/Write_Memory(): (dead, gibbed)
COMSIG_LIVING_HEALTHSCANfrom /proc/healthscan(): (list/scan_results, advanced, mob/user, mode) +Consumers are allowed to mutate the scan_results list to add extra information
COMSIG_LIVING_STATUS_STUNfrom base of mob/living/Stun() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_KNOCKDOWNfrom base of mob/living/Knockdown() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_PARALYZEfrom base of mob/living/Paralyze() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_IMMOBILIZEfrom base of mob/living/Immobilize() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_INCAPACITATEfrom base of mob/living/incapacitate() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_UNCONSCIOUSfrom base of mob/living/Unconscious() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_SLEEPfrom base of mob/living/Sleeping() (amount, ignore_canstun)
COMSIG_LIVING_GENERIC_STUN_CHECKfrom mob/living/check_stun_immunity(): (check_flags)
COMSIG_LIVING_CAN_TRACKfrom base of /mob/living/can_track(): (mob/user)
COMSIG_LIVING_POST_FULLY_HEALfrom end of fully_heal(): (heal_flags)
COMSIG_LIVING_HANDLE_BREATHINGfrom start of /mob/living/handle_breathing(): (seconds_per_tick, times_fired)
COMSIG_LIVING_SLAM_TABLEfrom /obj/item/hand_item/slapper/attack_atom(): (source=mob/living/slammer, obj/structure/table/slammed_table)
COMSIG_LIVING_SLAP_MOBfrom /obj/item/hand_item/slapper/attack(): (source=mob/living/slapper, mob/living/slapped)
COMSIG_LIVING_EARLY_UNARMED_ATTACKfrom /mob/living/*/UnarmedAttack(), before sending COMSIG_LIVING_UNARMED_ATTACK: (mob/living/source, atom/target, proximity, modifiers) +The only reason this exists is so hulk can fire before Fists of the North Star. +Note that this is called before /mob/living/proc/can_unarmed_attack is called, so be wary of that.
COMSIG_LIVING_UNARMED_ATTACKfrom mob/living/*/UnarmedAttack(): (mob/living/source, atom/target, proximity, modifiers)
COMSIG_LIVING_PRE_MOB_BUMPFrom base of mob/living/MobBump(): (mob/bumped, mob/living/bumper)
COMSIG_LIVING_MOB_BUMPFrom base of mob/living/MobBump() (mob/living)
COMSIG_LIVING_WALL_BUMPFrom base of mob/living/Bump() (turf/closed)
COMSIG_LIVING_WALL_EXITEDFrom base of turf/closed/Exited() (turf/closed)
COMSIG_LIVING_Z_IMPACTFrom base of mob/living/ZImpactDamage() (mob/living, levels, turf/t)
ZIMPACT_CANCEL_DAMAGEJust for the signal return, does not run normal living handing of z fall damage for mobs
ZIMPACT_NO_MESSAGEDo not show default z-impact message
ZIMPACT_NO_SPINDo not do the spin animation when landing
COMSIG_LIVING_TRY_SPEECHFrom mob/living/try_speak(): (message, ignore_spam, forced)
COMPONENT_CAN_ALWAYS_SPEAKReturn if the mob can speak the message, regardless of any other signal returns or checks.
COMPONENT_CANNOT_SPEAKReturn if the mob cannot speak.
COMSIG_LIVING_TREAT_MESSAGEFrom mob/living/treat_message(): (list/message_args)
TREAT_MESSAGE_ARGThe index of message_args that corresponds to the actual message
COMSIG_LIVING_MOB_PAINTEDFrom obj/item/toy/crayon/spraycan
COMSIG_LIVING_PRE_WABBAJACKEDFrom mob/living/proc/wabbajack(): (randomize_type)
STOP_WABBAJACKReturn to stop the rest of the wabbajack from triggering.
COMSIG_LIVING_ON_WABBAJACKEDFrom mob/living/proc/on_wabbajack(): (mob/living/new_mob)
COMSIG_LIVING_SHAPESHIFTEDFrom /datum/status_effect/shapechange_mob/on_apply(): (mob/living/shape)
COMSIG_LIVING_UNSHAPESHIFTEDFrom /datum/status_effect/shapechange_mob/after_unchange(): (mob/living/caster)
COMSIG_LIVING_CULT_SACRIFICEDFrom /obj/effect/rune/convert/do_sacrifice() : (list/invokers)
STOP_SACRIFICEReturn to stop the sac from occurring
SILENCE_SACRIFICE_MESSAGEDon't send a message for sacrificing this thing, we have our own
COMSIG_LIVING_BEFRIENDEDFrom /mob/living/befriend() : (mob/living/new_friend)
COMSIG_LIVING_PICKED_UP_ITEMFrom /obj/item/proc/pickup(): (/obj/item/picked_up_item)
COMSIG_LIVING_UNFRIENDEDFrom /mob/living/unfriend() : (mob/living/old_friend)
COMSIG_LIVING_RESONATOR_BURSTFrom /obj/effect/temp_visual/resonance/burst() : (mob/creator, mob/living/hit_living)
COMSIG_LIVING_PROJECTILE_PARRYINGFrom /obj/projectile/attempt_parry() : (obj/projectile/parried_projectile)
ALLOW_PARRYReturn to allow the parry to happen
COMSIG_LIVING_PROJECTILE_PARRIEDFrom /obj/projectile/on_parry() : (obj/projectile/parried_projectile)
INTERCEPT_PARRY_EFFECTSReturn to prevent the projectile from executing any code in on_parry()
COMSIG_LIVING_DEFUSED_GIBTONITEFrom /turf/closed/mineral/gibtonite/defuse() : (det_time)
COMSIG_LIVING_CRUSHER_DETONATEFrom /obj/item/kinetic_crusher/afterattack() : (mob/living/target, obj/item/kinetic_crusher/crusher, backstabbed)
COMSIG_LIVING_DISCOVERED_GEYSERFrom /obj/structure/geyser/attackby() : (obj/structure/geyser/geyser)
COMSIG_LIVING_CLIMB_TREEFrom /datum/ai/behavior/climb_tree/perform() : (mob/living/basic/living_pawn)
COMSIG_LIVING_CHECK_BLOCKfrom /mob/living/proc/check_block(): (atom/hit_by, damage, attack_text, attack_type, armour_penetration, damage_type)
COMSIG_MOB_GAINED_CHAIN_TAILSent on a mob from /datum/component/mob_chain when component is attached with it as the "front" : (mob/living/basic/tail)
COMSIG_MOB_LOST_CHAIN_TAILSent on a mob from /datum/component/mob_chain when component is detached from it as the "front" : (mob/living/basic/tail)
COMSIG_MOB_CHAIN_CONTRACTSent from a 'contract chain' button on a mob chain
COMSIG_MOB_REMOVING_CUFFSSent from a mob to their loc when starting to remove cuffs on itself
COMSIG_MOB_BLOCK_CUFF_REMOVALSent as a reply to above from any atom that wishs to stop self-cuff removal

Define Details

+

ALLOW_PARRY + + +

+

Return to allow the parry to happen

COMPONENT_CANNOT_SPEAK + + +

+

Return if the mob cannot speak.

COMPONENT_CAN_ALWAYS_SPEAK + + +

+

Return if the mob can speak the message, regardless of any other signal returns or checks.

COMPONENT_IGNORE_CHANGE + + +

+

Returned from all the following messages if you actually aren't going to apply any change

COMPONENT_LIVING_CANCEL_LIFE_PROCESSING + + +

+

Block the Life() proc from proceeding... this should really only be done in some really wacky situations.

COMPONENT_LIVING_CANT_PUT_IN_HAND + + +

+

Can't pick up

COMSIG_LIVING_ADJUST_ALL_DAMAGE_TYPES + + +

+

List of signals sent when you receive any kind of damage at all

COMSIG_LIVING_ADJUST_BRUTE_DAMAGE + + +

+

Send when bruteloss is modified (type, amount, forced)

COMSIG_LIVING_ADJUST_BURN_DAMAGE + + +

+

Send when fireloss is modified (type, amount, forced)

COMSIG_LIVING_ADJUST_OXY_DAMAGE + + +

+

Send when oxyloss is modified (type, amount, forced)

COMSIG_LIVING_ADJUST_STAMINA_DAMAGE + + +

+

Send when staminaloss is modified (type, amount, forced)

COMSIG_LIVING_ADJUST_STANDARD_DAMAGE_TYPES + + +

+

List of signals sent when you receive any damage except stamina

COMSIG_LIVING_ADJUST_TOX_DAMAGE + + +

+

Send when toxloss is modified (type, amount, forced)

COMSIG_LIVING_BANED + + +

+

from base of element/bane/activate(): (item/weapon, mob/user)

COMSIG_LIVING_BEFRIENDED + + +

+

From /mob/living/befriend() : (mob/living/new_friend)

COMSIG_LIVING_CAN_TRACK + + +

+

from base of /mob/living/can_track(): (mob/user)

COMSIG_LIVING_CHECK_BLOCK + + +

+

from /mob/living/proc/check_block(): (atom/hit_by, damage, attack_text, attack_type, armour_penetration, damage_type)

COMSIG_LIVING_CLIMB_TREE + + +

+

From /datum/ai/behavior/climb_tree/perform() : (mob/living/basic/living_pawn)

COMSIG_LIVING_CRUSHER_DETONATE + + +

+

From /obj/item/kinetic_crusher/afterattack() : (mob/living/target, obj/item/kinetic_crusher/crusher, backstabbed)

COMSIG_LIVING_CULT_SACRIFICED + + +

+

From /obj/effect/rune/convert/do_sacrifice() : (list/invokers)

COMSIG_LIVING_DEATH + + +

+

from base of mob/living/death(): (gibbed)

COMSIG_LIVING_DEFUSED_GIBTONITE + + +

+

From /turf/closed/mineral/gibtonite/defuse() : (det_time)

COMSIG_LIVING_DISCOVERED_GEYSER + + +

+

From /obj/structure/geyser/attackby() : (obj/structure/geyser/geyser)

COMSIG_LIVING_DOORCRUSHED + + +

+

from /obj/structure/door/crush(): (mob/living/crushed, /obj/machinery/door/crushing_door)

COMSIG_LIVING_EARLY_UNARMED_ATTACK + + +

+

from /mob/living/*/UnarmedAttack(), before sending COMSIG_LIVING_UNARMED_ATTACK: (mob/living/source, atom/target, proximity, modifiers) +The only reason this exists is so hulk can fire before Fists of the North Star. +Note that this is called before /mob/living/proc/can_unarmed_attack is called, so be wary of that.

COMSIG_LIVING_ELECTROCUTE_ACT + + +

+

from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)

COMSIG_LIVING_EXTINGUISHED + + +

+

from base of mob/living/extinguish_mob() (/mob/living)

COMSIG_LIVING_GENERIC_STUN_CHECK + + +

+

from mob/living/check_stun_immunity(): (check_flags)

COMSIG_LIVING_GIBBED + + +

+

from base of mob/living/gib(): (drop_bitflags) +Note that it is fired regardless of whether the mob was dead beforehand or not.

COMSIG_LIVING_HANDLE_BREATHING + + +

+

from start of /mob/living/handle_breathing(): (seconds_per_tick, times_fired)

COMSIG_LIVING_HEALTHSCAN + + +

+

from /proc/healthscan(): (list/scan_results, advanced, mob/user, mode) +Consumers are allowed to mutate the scan_results list to add extra information

COMSIG_LIVING_HEALTH_UPDATE + + +

+

from base of mob/living/updatehealth()

COMSIG_LIVING_IGNITED + + +

+

from base of mob/living/ignite_mob() (/mob/living)

COMSIG_LIVING_LIFE + + +

+

From living/Life(). (deltatime, times_fired)

COMSIG_LIVING_MINOR_SHOCK + + +

+

sent by stuff like stunbatons and tasers: ()

COMSIG_LIVING_MOB_BUMP + + +

+

From base of mob/living/MobBump() (mob/living)

COMSIG_LIVING_MOB_PAINTED + + +

+

From obj/item/toy/crayon/spraycan

COMSIG_LIVING_ON_WABBAJACKED + + +

+

From mob/living/proc/on_wabbajack(): (mob/living/new_mob)

COMSIG_LIVING_PICKED_UP_ITEM + + +

+

From /obj/item/proc/pickup(): (/obj/item/picked_up_item)

COMSIG_LIVING_POST_FULLY_HEAL + + +

+

from end of fully_heal(): (heal_flags)

COMSIG_LIVING_POST_UPDATE_TRANSFORM + + +

+

from base of mob/update_transform()

COMSIG_LIVING_PRE_MOB_BUMP + + +

+

From base of mob/living/MobBump(): (mob/bumped, mob/living/bumper)

COMSIG_LIVING_PRE_WABBAJACKED + + +

+

From mob/living/proc/wabbajack(): (randomize_type)

COMSIG_LIVING_PROJECTILE_PARRIED + + +

+

From /obj/projectile/on_parry() : (obj/projectile/parried_projectile)

COMSIG_LIVING_PROJECTILE_PARRYING + + +

+

From /obj/projectile/attempt_parry() : (obj/projectile/parried_projectile)

COMSIG_LIVING_RESIST + + +

+

from base of mob/living/resist() (/mob/living)

COMSIG_LIVING_RESONATOR_BURST + + +

+

From /obj/effect/temp_visual/resonance/burst() : (mob/creator, mob/living/hit_living)

COMSIG_LIVING_RESTING + + +

+

From living/set_resting(): (new_resting, silent, instant)

COMSIG_LIVING_REVIVE + + +

+

from base of mob/living/revive() (full_heal, admin_revive)

COMSIG_LIVING_SET_BODY_POSITION + + +

+

from base of mob/living/set_body_position()

COMSIG_LIVING_SET_BUCKLED + + +

+

from base of mob/living/set_buckled(): (new_buckled)

COMSIG_LIVING_SHAPESHIFTED + + +

+

From /datum/status_effect/shapechange_mob/on_apply(): (mob/living/shape)

COMSIG_LIVING_SHOCK_PREVENTED + + +

+

sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)

COMSIG_LIVING_SLAM_TABLE + + +

+

from /obj/item/hand_item/slapper/attack_atom(): (source=mob/living/slammer, obj/structure/table/slammed_table)

COMSIG_LIVING_SLAP_MOB + + +

+

from /obj/item/hand_item/slapper/attack(): (source=mob/living/slapper, mob/living/slapped)

COMSIG_LIVING_STATUS_IMMOBILIZE + + +

+

from base of mob/living/Immobilize() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_INCAPACITATE + + +

+

from base of mob/living/incapacitate() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_KNOCKDOWN + + +

+

from base of mob/living/Knockdown() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_PARALYZE + + +

+

from base of mob/living/Paralyze() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_SLEEP + + +

+

from base of mob/living/Sleeping() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_STUN + + +

+

from base of mob/living/Stun() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_UNCONSCIOUS + + +

+

from base of mob/living/Unconscious() (amount, ignore_canstun)

COMSIG_LIVING_TREAT_MESSAGE + + +

+

From mob/living/treat_message(): (list/message_args)

COMSIG_LIVING_TRY_PUT_IN_HAND + + +

+

called on /living when attempting to pick up an item, from base of /mob/living/put_in_hand_check(): (obj/item/I)

COMSIG_LIVING_TRY_SPEECH + + +

+

From mob/living/try_speak(): (message, ignore_spam, forced)

COMSIG_LIVING_TRY_SYRINGE + + +

+

From post-can inject check of syringe after attack (mob/user)

COMSIG_LIVING_UNARMED_ATTACK + + +

+

from mob/living/*/UnarmedAttack(): (mob/living/source, atom/target, proximity, modifiers)

COMSIG_LIVING_UNFRIENDED + + +

+

From /mob/living/unfriend() : (mob/living/old_friend)

COMSIG_LIVING_UNSHAPESHIFTED + + +

+

From /datum/status_effect/shapechange_mob/after_unchange(): (mob/living/caster)

COMSIG_LIVING_WALL_BUMP + + +

+

From base of mob/living/Bump() (turf/closed)

COMSIG_LIVING_WALL_EXITED + + +

+

From base of turf/closed/Exited() (turf/closed)

COMSIG_LIVING_WRITE_MEMORY + + +

+

from base of mob/living/Write_Memory(): (dead, gibbed)

COMSIG_LIVING_Z_IMPACT + + +

+

From base of mob/living/ZImpactDamage() (mob/living, levels, turf/t)

COMSIG_MOB_BLOCK_CUFF_REMOVAL + + +

+

Sent as a reply to above from any atom that wishs to stop self-cuff removal

COMSIG_MOB_CHAIN_CONTRACT + + +

+

Sent from a 'contract chain' button on a mob chain

COMSIG_MOB_GAINED_CHAIN_TAIL + + +

+

Sent on a mob from /datum/component/mob_chain when component is attached with it as the "front" : (mob/living/basic/tail)

COMSIG_MOB_LOST_CHAIN_TAIL + + +

+

Sent on a mob from /datum/component/mob_chain when component is detached from it as the "front" : (mob/living/basic/tail)

COMSIG_MOB_REMOVING_CUFFS + + +

+

Sent from a mob to their loc when starting to remove cuffs on itself

COMSIG_OBJECT_ON_BANING + + +

+

from base of element/bane/activate(): (item/weapon, mob/user)

COMSIG_OBJECT_PRE_BANING + + +

+

from base of element/bane/activate(): (item/weapon, mob/user)

COMSIG_ORGAN_BEING_REPLACED + + +

+

Called when an organ is being regenerated with a new copy in species regenerate_organs (obj/item/organ/replacement)

COMSIG_ORGAN_IMPLANTED + + +

+

Called on the organ when it is implanted into someone (mob/living/carbon/receiver)

COMSIG_ORGAN_REMOVED + + +

+

Called on the organ when it is removed from someone (mob/living/carbon/old_owner)

COMSIG_ORGAN_SURGICALLY_REMOVED + + +

+

Called when an organ gets surgically removed (mob/living/user, mob/living/carbon/old_owner, target_zone, obj/item/tool)

COMSIG_ORGAN_WAG_TAIL + + +

+

Called when using the *wag emote

INTERCEPT_PARRY_EFFECTS + + +

+

Return to prevent the projectile from executing any code in on_parry()

SILENCE_SACRIFICE_MESSAGE + + +

+

Don't send a message for sacrificing this thing, we have our own

STOP_SACRIFICE + + +

+

Return to stop the sac from occurring

STOP_WABBAJACK + + +

+

Return to stop the rest of the wabbajack from triggering.

TREAT_MESSAGE_ARG + + +

+

The index of message_args that corresponds to the actual message

ZIMPACT_CANCEL_DAMAGE + + +

+

Just for the signal return, does not run normal living handing of z fall damage for mobs

ZIMPACT_NO_MESSAGE + + +

+

Do not show default z-impact message

ZIMPACT_NO_SPIN + + +

+

Do not do the spin animation when landing

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html new file mode 100644 index 00000000000..547440b3b29 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.html @@ -0,0 +1,499 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_TRY_ALT_ACTIONCalled on user, from base of /datum/strippable_item/alternate_action() (atom/target)
POST_BASIC_MOB_UPDATE_VARSPEEDCalled on /basic when updating its speed, from base of /mob/living/basic/update_basic_mob_varspeed(): ()
COMSIG_MOB_LOGINfrom base of /mob/Login(): ()
COMSIG_MOB_LOGOUTfrom base of /mob/Logout(): ()
COMSIG_MOB_MIND_INITIALIZEDfrom base of /mob/mind_initialize
COMSIG_MOB_STATCHANGEfrom base of mob/set_stat(): (new_stat, old_stat)
COMSIG_MOB_REAGENT_CHECKfrom base of mob/reagent_check(): (datum/reagent/chem, seconds_per_tick, times_fired)
COMSIG_MOB_STOP_REAGENT_CHECKstops the reagent check call
COMSIG_MOB_CLICKONfrom base of mob/clickon(): (atom/A, params)
COMSIG_MOB_MIDDLECLICKONfrom base of mob/MiddleClickOn(): (atom/A)
COMSIG_MOB_ALTCLICKONfrom base of mob/AltClickOn(): (atom/A)
COMSIG_MOB_ALTCLICKON_SECONDARYfrom base of mob/alt_click_on_secodary(): (atom/A)
COMSIG_MOB_BOT_PRE_STEPFrom base of /mob/living/simple_animal/bot/proc/bot_step()
COMPONENT_MOB_BOT_BLOCK_PRE_STEPShould always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.
COMSIG_MOB_BOT_STEPFrom base of /mob/living/simple_animal/bot/proc/bot_step()
COMSIG_MOB_UPDATE_HELD_ITEMSFrom base of /mob/proc/update_held_items
COMSIG_MOB_CLIENT_PRE_LIVING_MOVEFrom base of /client/Move(): (list/move_args)
COMSIG_MOB_CLIENT_BLOCK_PRE_LIVING_MOVEShould we stop the current living movement attempt
COMSIG_MOB_CLIENT_PRE_NON_LIVING_MOVEFrom base of /client/Move(), invoked when a non-living mob is attempting to move: (list/move_args)
COMSIG_MOB_CLIENT_BLOCK_PRE_NON_LIVING_MOVECancels the move attempt
COMSIG_MOB_CLIENT_PRE_MOVEFrom base of /client/Move(): (new_loc, direction)
COMSIG_MOB_CLIENT_BLOCK_PRE_MOVEShould always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.
MOVE_ARG_NEW_LOCThe argument of move_args which corresponds to the loc we're moving to
MOVE_ARG_DIRECTIONThe arugment of move_args which dictates our movement direction
COMSIG_MOB_CLIENT_MOVEDFrom base of /client/Move(): (direction, old_dir)
COMSIG_MOB_CLIENT_CHANGE_VIEWFrom base of /client/proc/change_view() (mob/source, new_size)
COMSIG_MOB_RESET_PERSPECTIVEFrom base of /mob/proc/reset_perspective() : ()
COMSIG_CLIENT_SET_EYEfrom base of /client/proc/set_eye() : (atom/old_eye, atom/new_eye)
COMSIG_VIEWDATA_UPDATEfrom base of /datum/view_data/proc/afterViewChange() : (view)
COMSIG_DO_AFTER_BEGANSent from /proc/do_after if someone starts a do_after action bar.
COMSIG_DO_AFTER_ENDEDSent from /proc/do_after once a do_after action completes, whether via the bar filling or via interruption.
COMSIG_MOB_MIND_TRANSFERRED_INTOfrom mind/transfer_to. Sent to the receiving mob.
COMSIG_MOB_GHOSTIZEDFrom /mob/proc/ghostize() Called when a mob sucessfully ghosts
COMSIG_MOB_TRIED_ACCESSfrom base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj
COMSIG_MOB_RESTRICT_MAGICfrom base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost)
COMSIG_MOB_RECEIVE_MAGICfrom base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost)
COMSIG_MOB_HUD_CREATEDfrom base of mob/create_mob_hud(): ()
COMSIG_MOB_HUD_REFRESHEDfrom base of hud/show_to(): (datum/hud/hud_source)
COMSIG_MOB_SIGHT_CHANGEfrom base of mob/set_sight(): (new_sight, old_sight)
COMSIG_MOB_SEE_INVIS_CHANGEfrom base of mob/set_invis_see(): (new_invis, old_invis)
COMSIG_MOB_APPLY_DAMAGE_MODIFIERSfrom /mob/living/proc/apply_damage(): (list/damage_mods, damage, damagetype, def_zone, sharpness, attack_direction, attacking_item) +allows you to add multiplicative damage modifiers to the damage mods argument to adjust incoming damage +not sent if the apply damage call was forced
COMSIG_MOB_APPLY_DAMAGEfrom base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, attacking_item)
COMSIG_MOB_AFTER_APPLY_DAMAGEfrom /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, attacking_item) +works like above but after the damage is actually inflicted
COMSIG_MOB_ATTACK_ALIENfrom base of /mob/living/attack_alien(): (user)
COMSIG_MOB_THROWfrom base of /mob/throw_item(): (atom/target)
COMSIG_MOB_EXAMININGfrom base of /mob/verb/examinate(): (atom/target, list/examine_strings)
COMSIG_MOB_EXAMINATEfrom base of /mob/verb/examinate(): (atom/target)
COMSIG_MOB_EYECONTACTfrom /mob/living/handle_eye_contact(): (mob/living/other_mob)
COMSIG_BLOCK_EYECONTACTreturn this if you want to block printing this message to this person, if you want to print your own (does not affect the other person's message)
COMSIG_MOB_UPDATE_SIGHTfrom base of /mob/update_sight(): ()
COMSIG_MOB_SAYfrom /mob/living/say(): ()
COMSIG_MOB_DEADSAYfrom /mob/say_dead(): (mob/speaker, message)
COMSIG_MOB_EMOTEfrom /mob/living/emote(): ()
COMSIG_MOB_SWAPPING_HANDSfrom base of mob/swap_hand(): (obj/item/currently_held_item)
COMSIG_MOB_SWAP_HANDSfrom base of mob/swap_hand(): () +Performed after the hands are swapped.
COMSIG_MOB_POINTEDfrom base of /mob/verb/pointed: (atom/A)
COMSIG_TRY_WIRES_INTERACTMob is trying to open the wires of a target /atom, from /datum/wires/interactable(): (atom/target)
COMSIG_MOB_PRE_EMOTEDMob is trying to emote, from /datum/emote/proc/run_emote(): (key, params, type_override, intentional)
COMSIG_MOB_CLIENT_LOGINsent when a mob/login() finishes: (client)
COMSIG_TRY_STRIPCalled on user, from base of /datum/strippable_item/try_(un)equip() (atom/target, obj/item/equipping?)
COMSIG_MOB_CREAMEDFrom /datum/component/creamed/Initialize()
COMSIG_MOB_CLUMSY_SHOOT_FOOTFrom /obj/item/gun/proc/check_botched()
COMSIG_TABLE_SLAMMEDfrom /obj/item/hand_item/slapper/attack_atom(): (source=obj/structure/table/slammed_table, mob/living/slammer)
COMSIG_MOB_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user, modifiers)
COMSIG_MOB_ITEM_ATTACKfrom base of /obj/item/attack(): (mob/M, mob/user)
COMSIG_MOB_ITEM_AFTERATTACKfrom base of obj/item/afterattack(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)
COMSIG_MOB_ITEM_AFTERATTACK_SECONDARYfrom base of obj/item/afterattack_secondary(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)
COMSIG_MOB_ITEM_ATTACK_QDELETEDfrom base of obj/item/attack_qdeleted(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_MOB_ATTACK_RANGEDfrom base of mob/RangedAttack(): (atom/A, modifiers)
COMSIG_MOB_ATTACK_RANGED_SECONDARYfrom base of mob/ranged_secondary_attack(): (atom/target, modifiers)
COMSIG_MOB_CTRL_CLICKEDFrom base of atom/ctrl_click(): (atom/A)
COMSIG_MOB_MOVESPEED_UPDATEDFrom base of mob/update_movespeed():area
COMSIG_MOB_SELECTED_ZONE_SETFrom /atom/movable/screen/zone_sel/proc/set_selected_zone. +Fires when the user has changed their selected body target.
COMSIG_MOB_AUTOMUTE_CHECKfrom base of [/client/proc/handle_spam_prevention] (message, mute_type)
WAIVE_AUTOMUTE_CHECKPrevents the automute system checking this client for repeated messages.
COMSIG_MOB_MINEDFrom base of /turf/closed/mineral/proc/gets_drilled(): (turf/closed/mineral/rock, give_exp)
COMSIG_MOB_DROVE_MECHSent by pilot of mech in base of /obj/vehicle/sealed/mecha/relaymove(): (/obj/vehicle/sealed/mecha/mech)
COMSIG_MOB_USED_MECH_EQUIPMENTSent by pilot of mech in /obj/vehicle/sealed/mecha/on_mouseclick when using mech equipment : (/obj/vehicle/sealed/mecha/mech)
COMSIG_MOB_USED_MECH_MELEESent by pilot of mech in /obj/vehicle/sealed/mecha/on_mouseclick when triggering mech punch : (/obj/vehicle/sealed/mecha/mech)
COMSIG_MOB_FLASHEDfrom living/flash_act(), when a mob is successfully flashed.
COMSIG_MOB_PRE_FLASHED_CARBONfrom /obj/item/assembly/flash/flash_carbon, to the mob flashing another carbon
DEVIATION_OVERRIDE_FULLReturn to override deviation to be full deviation (fail the flash, usually)
DEVIATION_OVERRIDE_PARTIALReturn to override deviation to be partial deviation
DEVIATION_OVERRIDE_NONEReturn to override deviation to be no deviation
STOP_FLASHReturn to stop the flash entirely
COMSIG_MOB_SUCCESSFUL_FLASHED_CARBONfrom /obj/item/assembly/flash/flash_carbon, to the mob flashing another carbon +(mob/living/carbon/flashed, obj/item/assembly/flash/flash, deviation (from code/__DEFINES/mobs.dm))
COMSIG_MOB_GET_STATUS_TAB_ITEMSfrom mob/get_status_tab_items(): (list/items)
COMSIG_HUMAN_EQUIPPING_ITEMfrom /mob/living/carbon/human/can_equip(): (mob/living/carbon/human/source_human, obj/item/equip_target, slot)
COMPONENT_BLOCK_EQUIPcancels the equip.
COMSIG_MOB_DROPPING_ITEMfrom mob/proc/dropItemToGround()
COMSIG_PRE_MOB_CHANGED_TYPEfrom /mob/proc/change_mob_type() : ()
COMSIG_MOB_CHANGED_TYPEfrom /mob/proc/change_mob_type_unchecked() : ()

Define Details

+

COMPONENT_BLOCK_EQUIP + + +

+

cancels the equip.

COMPONENT_MOB_BOT_BLOCK_PRE_STEP + + +

+

Should always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.

COMSIG_BLOCK_EYECONTACT + + +

+

return this if you want to block printing this message to this person, if you want to print your own (does not affect the other person's message)

COMSIG_CLIENT_SET_EYE + + +

+

from base of /client/proc/set_eye() : (atom/old_eye, atom/new_eye)

COMSIG_DO_AFTER_BEGAN + + +

+

Sent from /proc/do_after if someone starts a do_after action bar.

COMSIG_DO_AFTER_ENDED + + +

+

Sent from /proc/do_after once a do_after action completes, whether via the bar filling or via interruption.

COMSIG_HUMAN_EQUIPPING_ITEM + + +

+

from /mob/living/carbon/human/can_equip(): (mob/living/carbon/human/source_human, obj/item/equip_target, slot)

COMSIG_MOB_AFTER_APPLY_DAMAGE + + +

+

from /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, attacking_item) +works like above but after the damage is actually inflicted

COMSIG_MOB_ALTCLICKON + + +

+

from base of mob/AltClickOn(): (atom/A)

COMSIG_MOB_ALTCLICKON_SECONDARY + + +

+

from base of mob/alt_click_on_secodary(): (atom/A)

COMSIG_MOB_APPLY_DAMAGE + + +

+

from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, attacking_item)

COMSIG_MOB_APPLY_DAMAGE_MODIFIERS + + +

+

from /mob/living/proc/apply_damage(): (list/damage_mods, damage, damagetype, def_zone, sharpness, attack_direction, attacking_item) +allows you to add multiplicative damage modifiers to the damage mods argument to adjust incoming damage +not sent if the apply damage call was forced

COMSIG_MOB_ATTACK_ALIEN + + +

+

from base of /mob/living/attack_alien(): (user)

COMSIG_MOB_ATTACK_HAND + + +

+

from base of atom/attack_hand(): (mob/user, modifiers)

COMSIG_MOB_ATTACK_RANGED + + +

+

from base of mob/RangedAttack(): (atom/A, modifiers)

COMSIG_MOB_ATTACK_RANGED_SECONDARY + + +

+

from base of mob/ranged_secondary_attack(): (atom/target, modifiers)

COMSIG_MOB_AUTOMUTE_CHECK + + +

+

from base of [/client/proc/handle_spam_prevention] (message, mute_type)

COMSIG_MOB_BOT_PRE_STEP + + +

+

From base of /mob/living/simple_animal/bot/proc/bot_step()

COMSIG_MOB_BOT_STEP + + +

+

From base of /mob/living/simple_animal/bot/proc/bot_step()

COMSIG_MOB_CHANGED_TYPE + + +

+

from /mob/proc/change_mob_type_unchecked() : ()

COMSIG_MOB_CLICKON + + +

+

from base of mob/clickon(): (atom/A, params)

COMSIG_MOB_CLIENT_BLOCK_PRE_LIVING_MOVE + + +

+

Should we stop the current living movement attempt

COMSIG_MOB_CLIENT_BLOCK_PRE_MOVE + + +

+

Should always match COMPONENT_MOVABLE_BLOCK_PRE_MOVE as these are interchangeable and used to block movement.

COMSIG_MOB_CLIENT_BLOCK_PRE_NON_LIVING_MOVE + + +

+

Cancels the move attempt

COMSIG_MOB_CLIENT_CHANGE_VIEW + + +

+

From base of /client/proc/change_view() (mob/source, new_size)

COMSIG_MOB_CLIENT_LOGIN + + +

+

sent when a mob/login() finishes: (client)

COMSIG_MOB_CLIENT_MOVED + + +

+

From base of /client/Move(): (direction, old_dir)

COMSIG_MOB_CLIENT_PRE_LIVING_MOVE + + +

+

From base of /client/Move(): (list/move_args)

COMSIG_MOB_CLIENT_PRE_MOVE + + +

+

From base of /client/Move(): (new_loc, direction)

COMSIG_MOB_CLIENT_PRE_NON_LIVING_MOVE + + +

+

From base of /client/Move(), invoked when a non-living mob is attempting to move: (list/move_args)

COMSIG_MOB_CLUMSY_SHOOT_FOOT + + +

+

From /obj/item/gun/proc/check_botched()

COMSIG_MOB_CREAMED + + +

+

From /datum/component/creamed/Initialize()

COMSIG_MOB_CTRL_CLICKED + + +

+

From base of atom/ctrl_click(): (atom/A)

COMSIG_MOB_DEADSAY + + +

+

from /mob/say_dead(): (mob/speaker, message)

COMSIG_MOB_DROPPING_ITEM + + +

+

from mob/proc/dropItemToGround()

COMSIG_MOB_DROVE_MECH + + +

+

Sent by pilot of mech in base of /obj/vehicle/sealed/mecha/relaymove(): (/obj/vehicle/sealed/mecha/mech)

COMSIG_MOB_EMOTE + + +

+

from /mob/living/emote(): ()

COMSIG_MOB_EXAMINATE + + +

+

from base of /mob/verb/examinate(): (atom/target)

COMSIG_MOB_EXAMINING + + +

+

from base of /mob/verb/examinate(): (atom/target, list/examine_strings)

COMSIG_MOB_EYECONTACT + + +

+

from /mob/living/handle_eye_contact(): (mob/living/other_mob)

COMSIG_MOB_FLASHED + + +

+

from living/flash_act(), when a mob is successfully flashed.

COMSIG_MOB_GET_STATUS_TAB_ITEMS + + +

+

from mob/get_status_tab_items(): (list/items)

COMSIG_MOB_GHOSTIZED + + +

+

From /mob/proc/ghostize() Called when a mob sucessfully ghosts

COMSIG_MOB_HUD_CREATED + + +

+

from base of mob/create_mob_hud(): ()

COMSIG_MOB_HUD_REFRESHED + + +

+

from base of hud/show_to(): (datum/hud/hud_source)

COMSIG_MOB_ITEM_AFTERATTACK + + +

+

from base of obj/item/afterattack(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)

COMSIG_MOB_ITEM_AFTERATTACK_SECONDARY + + +

+

from base of obj/item/afterattack_secondary(): (atom/target, obj/item/weapon, proximity_flag, click_parameters)

COMSIG_MOB_ITEM_ATTACK + + +

+

from base of /obj/item/attack(): (mob/M, mob/user)

COMSIG_MOB_ITEM_ATTACK_QDELETED + + +

+

from base of obj/item/attack_qdeleted(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_MOB_LOGIN + + +

+

from base of /mob/Login(): ()

COMSIG_MOB_LOGOUT + + +

+

from base of /mob/Logout(): ()

COMSIG_MOB_MIDDLECLICKON + + +

+

from base of mob/MiddleClickOn(): (atom/A)

COMSIG_MOB_MIND_INITIALIZED + + +

+

from base of /mob/mind_initialize

COMSIG_MOB_MIND_TRANSFERRED_INTO + + +

+

from mind/transfer_to. Sent to the receiving mob.

COMSIG_MOB_MINED + + +

+

From base of /turf/closed/mineral/proc/gets_drilled(): (turf/closed/mineral/rock, give_exp)

COMSIG_MOB_MOVESPEED_UPDATED + + +

+

From base of mob/update_movespeed():area

COMSIG_MOB_POINTED + + +

+

from base of /mob/verb/pointed: (atom/A)

COMSIG_MOB_PRE_EMOTED + + +

+

Mob is trying to emote, from /datum/emote/proc/run_emote(): (key, params, type_override, intentional)

COMSIG_MOB_PRE_FLASHED_CARBON + + +

+

from /obj/item/assembly/flash/flash_carbon, to the mob flashing another carbon

COMSIG_MOB_REAGENT_CHECK + + +

+

from base of mob/reagent_check(): (datum/reagent/chem, seconds_per_tick, times_fired)

COMSIG_MOB_RECEIVE_MAGIC + + +

+

from base of mob/can_block_magic(): (mob/user, casted_magic_flags, charge_cost)

COMSIG_MOB_RESET_PERSPECTIVE + + +

+

From base of /mob/proc/reset_perspective() : ()

COMSIG_MOB_RESTRICT_MAGIC + + +

+

from base of mob/can_cast_magic(): (mob/user, magic_flags, charge_cost)

COMSIG_MOB_SAY + + +

+

from /mob/living/say(): ()

COMSIG_MOB_SEE_INVIS_CHANGE + + +

+

from base of mob/set_invis_see(): (new_invis, old_invis)

COMSIG_MOB_SELECTED_ZONE_SET + + +

+

From /atom/movable/screen/zone_sel/proc/set_selected_zone. +Fires when the user has changed their selected body target.

COMSIG_MOB_SIGHT_CHANGE + + +

+

from base of mob/set_sight(): (new_sight, old_sight)

COMSIG_MOB_STATCHANGE + + +

+

from base of mob/set_stat(): (new_stat, old_stat)

COMSIG_MOB_STOP_REAGENT_CHECK + + +

+

stops the reagent check call

COMSIG_MOB_SUCCESSFUL_FLASHED_CARBON + + +

+

from /obj/item/assembly/flash/flash_carbon, to the mob flashing another carbon +(mob/living/carbon/flashed, obj/item/assembly/flash/flash, deviation (from code/__DEFINES/mobs.dm))

COMSIG_MOB_SWAPPING_HANDS + + +

+

from base of mob/swap_hand(): (obj/item/currently_held_item)

COMSIG_MOB_SWAP_HANDS + + +

+

from base of mob/swap_hand(): () +Performed after the hands are swapped.

COMSIG_MOB_THROW + + +

+

from base of /mob/throw_item(): (atom/target)

COMSIG_MOB_TRIED_ACCESS + + +

+

from base of obj/allowed(mob/M): (/obj) returns ACCESS_ALLOWED if mob has id access to the obj

COMSIG_MOB_UPDATE_HELD_ITEMS + + +

+

From base of /mob/proc/update_held_items

COMSIG_MOB_UPDATE_SIGHT + + +

+

from base of /mob/update_sight(): ()

COMSIG_MOB_USED_MECH_EQUIPMENT + + +

+

Sent by pilot of mech in /obj/vehicle/sealed/mecha/on_mouseclick when using mech equipment : (/obj/vehicle/sealed/mecha/mech)

COMSIG_MOB_USED_MECH_MELEE + + +

+

Sent by pilot of mech in /obj/vehicle/sealed/mecha/on_mouseclick when triggering mech punch : (/obj/vehicle/sealed/mecha/mech)

COMSIG_PRE_MOB_CHANGED_TYPE + + +

+

from /mob/proc/change_mob_type() : ()

COMSIG_TABLE_SLAMMED + + +

+

from /obj/item/hand_item/slapper/attack_atom(): (source=obj/structure/table/slammed_table, mob/living/slammer)

COMSIG_TRY_ALT_ACTION + + +

+

Called on user, from base of /datum/strippable_item/alternate_action() (atom/target)

COMSIG_TRY_STRIP + + +

+

Called on user, from base of /datum/strippable_item/try_(un)equip() (atom/target, obj/item/equipping?)

COMSIG_TRY_WIRES_INTERACT + + +

+

Mob is trying to open the wires of a target /atom, from /datum/wires/interactable(): (atom/target)

COMSIG_VIEWDATA_UPDATE + + +

+

from base of /datum/view_data/proc/afterViewChange() : (view)

DEVIATION_OVERRIDE_FULL + + +

+

Return to override deviation to be full deviation (fail the flash, usually)

DEVIATION_OVERRIDE_NONE + + +

+

Return to override deviation to be no deviation

DEVIATION_OVERRIDE_PARTIAL + + +

+

Return to override deviation to be partial deviation

MOVE_ARG_DIRECTION + + +

+

The arugment of move_args which dictates our movement direction

MOVE_ARG_NEW_LOC + + +

+

The argument of move_args which corresponds to the loc we're moving to

POST_BASIC_MOB_UPDATE_VARSPEED + + +

+

Called on /basic when updating its speed, from base of /mob/living/basic/update_basic_mob_varspeed(): ()

STOP_FLASH + + +

+

Return to stop the flash entirely

WAIVE_AUTOMUTE_CHECK + + +

+

Prevents the automute system checking this client for repeated messages.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html new file mode 100644 index 00000000000..06b91bd8531 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_silicon.dm + +

+ + + +
COMSIG_PROCESS_BORGCHARGER_OCCUPANTsent from borg recharge stations: (amount, repairs)
COMSIG_BORG_SAFE_DECONSTRUCTsent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)

Define Details

+

COMSIG_BORG_SAFE_DECONSTRUCT + + +

+

sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)

COMSIG_PROCESS_BORGCHARGER_OCCUPANT + + +

+

sent from borg recharge stations: (amount, repairs)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html new file mode 100644 index 00000000000..d772dbe1159 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_simple.dm + +

+ + + + + + + + + +
COMSIG_SIMPLEMOB_SENTIENCEPOTIONcalled when a simplemob is given sentience from a sentience potion (target = person who sentienced)
COMSIG_SIMPLEMOB_TRANSFERPOTIONcalled when a simplemob is given sentience from a consciousness transference potion (target = person who sentienced)
COMSIG_HOSTILE_PRE_ATTACKINGTARGETbefore attackingtarget has happened, source is the attacker and target is the attacked
COMSIG_HOSTILE_POST_ATTACKINGTARGETafter attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful
COMSIG_RAT_INTERACTfrom base of mob/living/basic/regal_rat: (mob/living/basic/regal_rat/king)
COMPONENT_RAT_INTERACTEDIf this is returned, cancel any further interactions.
COMSIG_OOZE_EAT_ATOMFROM mob/living/simple_animal/hostile/ooze/eat_atom(): (atom/target, edible_flags)
COMSIG_HOSTILE_FOUND_TARGETCalled when a /mob/living/simple_animal/hostile fines a new target: (atom/source, new_target)

Define Details

+

COMPONENT_RAT_INTERACTED + + +

+

If this is returned, cancel any further interactions.

COMSIG_HOSTILE_FOUND_TARGET + + +

+

Called when a /mob/living/simple_animal/hostile fines a new target: (atom/source, new_target)

COMSIG_HOSTILE_POST_ATTACKINGTARGET + + +

+

after attackingtarget has happened, source is the attacker and target is the attacked, extra argument for if the attackingtarget was successful

COMSIG_HOSTILE_PRE_ATTACKINGTARGET + + +

+

before attackingtarget has happened, source is the attacker and target is the attacked

COMSIG_OOZE_EAT_ATOM + + +

+

FROM mob/living/simple_animal/hostile/ooze/eat_atom(): (atom/target, edible_flags)

COMSIG_RAT_INTERACT + + +

+

from base of mob/living/basic/regal_rat: (mob/living/basic/regal_rat/king)

COMSIG_SIMPLEMOB_SENTIENCEPOTION + + +

+

called when a simplemob is given sentience from a sentience potion (target = person who sentienced)

COMSIG_SIMPLEMOB_TRANSFERPOTION + + +

+

called when a simplemob is given sentience from a consciousness transference potion (target = person who sentienced)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.html b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.html new file mode 100644 index 00000000000..667be53c19a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mob/signals_mob_spawner.dm + +

+ + + +
COMSIG_SPAWNER_SPAWNEDcalled when a spawner spawns a mob
COMSIG_GHOSTROLE_SPAWNEDcalled when a ghost clicks a spawner role: (mob/living)

Define Details

+

COMSIG_GHOSTROLE_SPAWNED + + +

+

called when a ghost clicks a spawner role: (mob/living)

COMSIG_SPAWNER_SPAWNED + + +

+

called when a spawner spawns a mob

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_mod.html b/code/__DEFINES/dcs/signals/signals_mod.html new file mode 100644 index 00000000000..4a2c6a6b288 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_mod.html @@ -0,0 +1,117 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_mod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_mod.dm + +

+ + + + + + + + + + + + + + + + + + + +
COMSIG_MOD_MODULE_SELECTEDCalled when a module is selected to be the active one from on_select(obj/item/mod/module/module)
COMSIG_MOD_DEPLOYEDCalled when a MOD deploys one or more of its parts.
COMSIG_MOD_RETRACTEDCalled when a MOD retracts one or more of its parts.
COMSIG_MOD_TOGGLEDCalled when a MOD is finished toggling itself.
COMSIG_MOD_ACTIVATECalled when a MOD activation is called from toggle_activate(mob/user)
MOD_CANCEL_ACTIVATECancels the suit's activation
COMSIG_MOD_MODULE_REMOVEDCalled when a MOD finishes having a module removed from it.
COMSIG_MOD_MODULE_ADDEDCalled when a MOD finishes having a module added to it.
COMSIG_MOD_MODULE_REMOVALCalled when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar)
MOD_CANCEL_REMOVALCancels the removal of modules
COMSIG_MODULE_TRIGGEREDCalled when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user)
MOD_ABORT_USECancels activation, with no message. Include feedback on your cancel.
COMSIG_MODULE_ACTIVATEDCalled when a module activates, after all checks have passed and cooldown started.
COMSIG_MODULE_COOLDOWN_STARTEDCalled when a module starts a cooldown until its next activation. Passed the cooldown time.
COMSIG_MODULE_DEACTIVATEDCalled when a module deactivates, after all checks have passed.
COMSIG_MODULE_USEDCalled when a module is used, after all checks have passed and cooldown started.
COMSIG_MOD_WEARER_SETCalled when the MODsuit wearer is set.
COMSIG_MOD_WEARER_UNSETCalled when the MODsuit wearer is unset.

Define Details

+

COMSIG_MODULE_ACTIVATED + + +

+

Called when a module activates, after all checks have passed and cooldown started.

COMSIG_MODULE_COOLDOWN_STARTED + + +

+

Called when a module starts a cooldown until its next activation. Passed the cooldown time.

COMSIG_MODULE_DEACTIVATED + + +

+

Called when a module deactivates, after all checks have passed.

COMSIG_MODULE_TRIGGERED + + +

+

Called when a module attempts to activate, however it does. At the end of checks so you can add some yourself, or work on trigger behavior (mob/user)

COMSIG_MODULE_USED + + +

+

Called when a module is used, after all checks have passed and cooldown started.

COMSIG_MOD_ACTIVATE + + +

+

Called when a MOD activation is called from toggle_activate(mob/user)

COMSIG_MOD_DEPLOYED + + +

+

Called when a MOD deploys one or more of its parts.

COMSIG_MOD_MODULE_ADDED + + +

+

Called when a MOD finishes having a module added to it.

COMSIG_MOD_MODULE_REMOVAL + + +

+

Called when a MOD is having modules removed from crowbar_act(mob/user, obj/crowbar)

COMSIG_MOD_MODULE_REMOVED + + +

+

Called when a MOD finishes having a module removed from it.

COMSIG_MOD_MODULE_SELECTED + + +

+

Called when a module is selected to be the active one from on_select(obj/item/mod/module/module)

COMSIG_MOD_RETRACTED + + +

+

Called when a MOD retracts one or more of its parts.

COMSIG_MOD_TOGGLED + + +

+

Called when a MOD is finished toggling itself.

COMSIG_MOD_WEARER_SET + + +

+

Called when the MODsuit wearer is set.

COMSIG_MOD_WEARER_UNSET + + +

+

Called when the MODsuit wearer is unset.

MOD_ABORT_USE + + +

+

Cancels activation, with no message. Include feedback on your cancel.

MOD_CANCEL_ACTIVATE + + +

+

Cancels the suit's activation

MOD_CANCEL_REMOVAL + + +

+

Cancels the removal of modules

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_modular_computer.html b/code/__DEFINES/dcs/signals/signals_modular_computer.html new file mode 100644 index 00000000000..0d4d20e6141 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_modular_computer.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_modular_computer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_modular_computer.dm + +

+ + + + + + + +
COMSIG_MODULAR_COMPUTER_FILE_STOREFrom /obj/item/modular_computer/proc/store_file: (datum/computer_file/file_storing)
COMSIG_MODULAR_COMPUTER_FILE_DELETEFrom /obj/item/modular_computer/proc/remove_file: (datum/computer_file/file_removing)
COMSIG_COMPUTER_FILE_STOREFrom /obj/item/modular_computer/proc/store_file: (datum/computer_file/file_source, obj/item/modular_computer/host)
COMSIG_COMPUTER_FILE_DELETEFrom /obj/item/modular_computer/proc/store_file: ()
COMSIG_MODULAR_PDA_IMPRINT_UPDATEDfrom /obj/item/modular_computer/imprint_id(): (name, job)
COMSIG_MODULAR_PDA_IMPRINT_RESETfrom /obj/item/modular_computer/reset_id(): ()

Define Details

+

COMSIG_COMPUTER_FILE_DELETE + + +

+

From /obj/item/modular_computer/proc/store_file: ()

COMSIG_COMPUTER_FILE_STORE + + +

+

From /obj/item/modular_computer/proc/store_file: (datum/computer_file/file_source, obj/item/modular_computer/host)

COMSIG_MODULAR_COMPUTER_FILE_DELETE + + +

+

From /obj/item/modular_computer/proc/remove_file: (datum/computer_file/file_removing)

COMSIG_MODULAR_COMPUTER_FILE_STORE + + +

+

From /obj/item/modular_computer/proc/store_file: (datum/computer_file/file_storing)

COMSIG_MODULAR_PDA_IMPRINT_RESET + + +

+

from /obj/item/modular_computer/reset_id(): ()

COMSIG_MODULAR_PDA_IMPRINT_UPDATED + + +

+

from /obj/item/modular_computer/imprint_id(): (name, job)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_moveloop.html b/code/__DEFINES/dcs/signals/signals_moveloop.html new file mode 100644 index 00000000000..81fa153b33c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_moveloop.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_moveloop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_moveloop.dm + +

+ + + + + +
COMSIG_MOVELOOP_STARTfrom /datum/move_loop/start_loop ():
COMSIG_MOVELOOP_STOPfrom /datum/move_loop/stop_loop ():
COMSIG_MOVELOOP_PREPROCESS_CHECKfrom /datum/move_loop/process ():
COMSIG_MOVELOOP_POSTPROCESSfrom /datum/move_loop/process (result, visual_delay): //Result is an enum value. Enums defined in __DEFINES/movement.dm

Define Details

+

COMSIG_MOVELOOP_POSTPROCESS + + +

+

from /datum/move_loop/process (result, visual_delay): //Result is an enum value. Enums defined in __DEFINES/movement.dm

COMSIG_MOVELOOP_PREPROCESS_CHECK + + +

+

from /datum/move_loop/process ():

COMSIG_MOVELOOP_START + + +

+

from /datum/move_loop/start_loop ():

COMSIG_MOVELOOP_STOP + + +

+

from /datum/move_loop/stop_loop ():

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_movetype.html b/code/__DEFINES/dcs/signals/signals_movetype.html new file mode 100644 index 00000000000..650f6f93933 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_movetype.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_movetype.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_movetype.dm + +

+ + + + +
COMSIG_PAUSE_FLOATING_ANIMCalled when the floating anim has to be temporarily stopped and restarted later: (timer)
COMSIG_MOVETYPE_FLAG_ENABLEDFrom base of datum/element/movetype_handler/on_movement_type_trait_gain: (flag, old_movement_type)
COMSIG_MOVETYPE_FLAG_DISABLEDFrom base of datum/element/movetype_handler/on_movement_type_trait_loss: (flag, old_movement_type)

Define Details

+

COMSIG_MOVETYPE_FLAG_DISABLED + + +

+

From base of datum/element/movetype_handler/on_movement_type_trait_loss: (flag, old_movement_type)

COMSIG_MOVETYPE_FLAG_ENABLED + + +

+

From base of datum/element/movetype_handler/on_movement_type_trait_gain: (flag, old_movement_type)

COMSIG_PAUSE_FLOATING_ANIM + + +

+

Called when the floating anim has to be temporarily stopped and restarted later: (timer)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_music.html b/code/__DEFINES/dcs/signals/signals_music.html new file mode 100644 index 00000000000..20d46293f02 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_music.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_music.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_music.dm + +

+ + + + + + +
COMSIG_INSTRUMENT_STARTsent to the instrument when a song starts playing: (datum/starting_song, atom/player)
COMSIG_INSTRUMENT_ENDsent to the instrument when a song stops playing
COMSIG_INSTRUMENT_SHOULD_STOP_PLAYINGsent to the instrument on /should_stop_playing(): (atom/player). Return values can be found in DEFINES/song.dm
COMSIG_INSTRUMENT_REPEATsent to the instrument (and player if available) when a song repeats (datum/song)
COMSIG_INSTRUMENT_TEMPO_CHANGEsent to the instrument when tempo changes, skipped on new. (datum/song)

Define Details

+

COMSIG_INSTRUMENT_END + + +

+

sent to the instrument when a song stops playing

COMSIG_INSTRUMENT_REPEAT + + +

+

sent to the instrument (and player if available) when a song repeats (datum/song)

COMSIG_INSTRUMENT_SHOULD_STOP_PLAYING + + +

+

sent to the instrument on /should_stop_playing(): (atom/player). Return values can be found in DEFINES/song.dm

COMSIG_INSTRUMENT_START + + +

+

sent to the instrument when a song starts playing: (datum/starting_song, atom/player)

COMSIG_INSTRUMENT_TEMPO_CHANGE + + +

+

sent to the instrument when tempo changes, skipped on new. (datum/song)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_object.html b/code/__DEFINES/dcs/signals/signals_object.html new file mode 100644 index 00000000000..a678bcce32b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_object.html @@ -0,0 +1,876 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_object.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_object.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_OBJ_DECONSTRUCTfrom base of obj/deconstruct(): (disassembled)
COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCHfrom base of code/game/machinery
COMSIG_OBJ_HIDEfrom base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide
COMSIG_OBJ_PAINTEDfrom /obj/item/toy/crayon/spraycan/afterattack: (user, spraycan, color_is_dark)
COMSIG_OBJ_RESKINfrom /obj/obj_reskin: (mob/user, skin)
COMSIG_MACHINERY_BROKENfrom /obj/machinery/atom_break(damage_flag): (damage_flag)
COMSIG_MACHINERY_POWER_LOSTfrom base power_change() when power is lost
COMSIG_MACHINERY_POWER_RESTOREDfrom base power_change() when power is restored
COMSIG_MACHINERY_SET_OCCUPANTfrom /obj/machinery/set_occupant(atom/movable/O): (new_occupant)
COMSIG_MACHINERY_DESTRUCTIVE_SCANfrom /obj/machinery/destructive_scanner/proc/open(aggressive): Runs when the destructive scanner scans a group of objects. (list/scanned_atoms)
COMSIG_ARCADE_PRIZEVENDfrom /obj/machinery/computer/arcade/prizevend(mob/user, prizes = 1)
COMSIG_MACHINERY_START_PROCESSING_AIRfrom /datum/controller/subsystem/air/proc/start_processing_machine: ()
COMSIG_MACHINERY_STOP_PROCESSING_AIRfrom /datum/controller/subsystem/air/proc/stop_processing_machine: ()
COMSIG_MACHINERY_REFRESH_PARTSfrom /obj/machinery/RefreshParts: ()
COMSIG_MACHINERY_DEFAULT_ROTATE_WRENCHfrom /obj/machinery/default_change_direction_wrench: (mob/user, obj/item/wrench)
COMSIG_TRY_USE_MACHINEfrom /obj/machinery/can_interact(mob/user): Called on user when attempting to interact with a machine (obj/machinery/machine)
COMPONENT_CANT_USE_MACHINE_INTERACTCan't interact with the machine
COMPONENT_CANT_USE_MACHINE_TOOLSCan't use tools on the machine
COMSIG_IV_ATTACHfrom obj/machinery/iv_drip/IV_attach(target, usr) : (attachee)
COMSIG_IV_DETACHfrom obj/machinery/iv_drip/IV_detach() : (detachee)
COMSIG_TELEPORTER_NEW_TARGETfrom /obj/machinery/computer/teleporter/proc/set_target(target, old_target)
COMSIG_BEACON_DISABLEDfrom /obj/item/beacon/proc/turn_off()
COMSIG_SUPERMATTER_DELAM_ALARMfrom /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm
COMSIG_CRYO_SET_ONfrom /obj/machinery/cryo_cell/set_on(bool): (on)
COMSIG_OBJ_UNFREEZEfrom /obj/proc/unfreeze()
COMSIG_VALVE_SET_OPENfrom /obj/machinery/atmospherics/components/binary/valve/toggle(): (on)
COMSIG_ATMOS_MACHINE_SET_ONfrom /obj/machinery/atmospherics/set_on(active): (on)
COMSIG_LIGHT_SWITCH_SETfrom /obj/machinery/light_switch/set_lights(), sent to every switch in the area: (status)
COMSIG_FIREALARM_ON_TRIGGERfrom /obj/machinery/fire_alarm/reset(), /obj/machinery/fire_alarm/alarm(): (status)
COMSIG_AIRLOCK_SET_BOLTfrom /obj/machinery/door/airlock/set_bolt():
COMSIG_CARBON_BUMPED_AIRLOCK_OPENfrom /obj/machinery/door/airlock/bumpopen(), to the carbon who bumped: (airlock)
STOP_BUMPReturn to stop the door opening on bump.
COMSIG_ITEM_EQUIPPEDfrom base of obj/item/equipped(): (mob/equipper, slot)
COMSIG_ITEM_POST_EQUIPPEDFrom base of obj/item/on_equipped() (mob/equipped, slot)
COMPONENT_EQUIPPED_FAILEDThis will make the on_equipped proc return FALSE.
COMSIG_MOB_EQUIPPED_ITEMA mob has just equipped an item. Called on /mob from base of /obj/item/equipped(): (/obj/item/equipped_item, slot)
COMSIG_MOB_UNEQUIPPED_ITEMA mob has just unequipped an item.
COMSIG_ITEM_PRE_UNEQUIPcalled on /obj/item before unequip from base of [mob/proc/doUnEquip]: (force, atom/newloc, no_move, invdrop, silent)
COMPONENT_ITEM_BLOCK_UNEQUIPonly the pre unequip can be cancelled
COMSIG_ITEM_POST_UNEQUIPcalled on /obj/item AFTER unequip from base of [mob/proc/doUnEquip]: (force, atom/newloc, no_move, invdrop, silent)
COMSIG_ITEM_ON_GRINDfrom base of obj/item/on_grind(): ())
COMSIG_ITEM_ON_JUICEfrom base of obj/item/on_juice(): ()
COMSIG_ITEM_ON_COMPOSTEDfrom /obj/machinery/hydroponics/attackby(obj/item/O, mob/user, params) when an object is used as compost: (mob/user)
COMSIG_ITEM_DRIEDCalled when an item is dried by a drying rack:
COMSIG_ITEM_DROPPEDfrom base of obj/item/dropped(): (mob/user)
COMSIG_ITEM_PICKUPfrom base of obj/item/pickup(): (/mob/taker)
COMSIG_ITEM_EQUIPPED_AS_OUTFITfrom base of obj/item/on_outfit_equip(): (mob/equipper, visuals_only, slot)
COMSIG_ITEM_STOREDfrom base of datum/storage/attempt_insert(): ()
COMSIG_ITEM_APPLY_FANTASY_BONUSESfrom base of obj/item/apply_fantasy_bonuses(): (bonus)
COMSIG_ITEM_REMOVE_FANTASY_BONUSESfrom base of obj/item/remove_fantasy_bonuses(): (bonus)
COMSIG_ITEM_UI_ACTION_CLICKSebt from obj/item/ui_action_click(): (mob/user, datum/action)
COMPONENT_ACTION_HANDLEDReturn to prevent the default behavior (attack_selfing) from ocurring.
COMSIG_ITEM_UI_ACTION_SLOT_CHECKEDSent from obj/item/item_action_slot_check(): (mob/user, datum/action, slot)
COMPONENT_ITEM_ACTION_SLOT_INVALIDReturn to prevent the default behavior (attack_selfing) from ocurring.
COMSIG_ITEM_ATTACK_ZONEfrom base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)
COMSIG_ITEM_HIT_REACTfrom base of obj/item/hit_reaction(): (owner, hitby, attack_text, final_block_chance, damage, attack_type, damage_type)
COMSIG_ITEM_SHARPEN_ACTfrom base of item/sharpener/attackby(): (amount, max)
COMSIG_ARMOR_PLATEDCalled when an armor plate is successfully applied to an object
COMSIG_ITEM_RECHARGEDCalled when an item gets recharged by the ammo powerup
COMSIG_ITEM_OFFERINGCalled when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)]
COMPONENT_OFFER_INTERRUPTInterrupts the offer proc
COMSIG_ITEM_OFFER_TAKENCalled when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)]
COMPONENT_OFFER_TAKE_INTERRUPTInterrupts the offer acceptance
COMSIG_ITEM_ATTACK_EFFECTsent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params)
COMSIG_ITEM_GET_WORN_OVERLAYSCalled by /obj/item/proc/worn_overlays(list/overlays, mutable_appearance/standing, isinhands, icon_file)
COMSIG_TOOL_IN_USEfrom base of /obj/item/proc/tool_check_callback: (mob/living/user)
COMSIG_TOOL_START_USEfrom base of /obj/item/proc/tool_start_check: (mob/living/user)
COMSIG_ITEM_DISABLE_EMBEDfrom /obj/item/proc/disableEmbedding:
COMSIG_MINE_TRIGGEREDfrom /obj/effect/mine/proc/triggermine:
COMSIG_SUPPLYPOD_LANDEDfrom [/obj/structure/closet/supplypod/proc/preOpen]:
COMSIG_STACK_CAN_MERGEfrom /obj/item/stack/proc/can_merge: (obj/item/stack/merge_with, in_hand)
COMSIG_BIBLE_SMACKEDfrom /obj/item/book/bible/afterattack(): (mob/user, proximity)
COMSIG_END_BIBLE_CHAINstops the bible chain from continuing. When all of the effects of the bible smacking have been moved to a signal we can kill this
COMSIG_CLOSET_INSERTClosets +From base of [/obj/structure/closet/proc/insert]: (atom/movable/inserted)
COMPONENT_CLOSET_INSERT_INTERRUPTused to interrupt insertion
COMSIG_CLOSET_PRE_OPENFrom open: (forced)
COMSIG_CLOSET_POST_OPENFrom open: (forced)
COMSIG_CLOSET_PRE_CLOSEFrom close
COMSIG_CLOSET_POST_CLOSEFrom close
COMSIG_CLOSET_DELIVEREDa deliver_first element closet was successfully delivered
COMSIG_EIGENSTATE_ACTIVATEEigenstasium +From base of /datum/controller/subsystem/eigenstates/proc/use_eigenlinked_atom: (var/target)
COMSIG_OBJ_ATTEMPT_CHARGEcalled when the payment component tries to charge an account.
COMSIG_OBJ_ATTEMPT_CHARGE_CHANGECalled when a payment component changes value
COMSIG_ITEM_PRE_EXPORTcalled before an item is sold by the exports system.
COMPONENT_STOP_EXPORTStops the export from calling sell_object() on the item, so you can handle it manually.
COMSIG_ITEM_EXPORTEDcalled when an item is sold by the exports subsystem
COMPONENT_STOP_EXPORT_REPORTStops the export from adding the export information to the report, so you can handle it manually.
COMSIG_ITEM_UNWRAPPEDcalled when a wrapped up item is opened by hand
COMSIG_ITEM_SPLIT_PROFITcalled when getting the item's exact ratio for cargo's profit.
COMSIG_ITEM_SPLIT_PROFIT_DRYcalled when getting the item's exact ratio for cargo's profit, without selling the item.
COMSIG_ITEM_ATTEMPT_TC_REIMBURSECalled on component/uplink/OnAttackBy(..)
COMSIG_TRAITOR_ITEM_USEDCalled when a holoparasite/guardiancreator is used.
COMSIG_SHOES_STEP_ACTIONfrom [/mob/living/carbon/human/Move]: ()
COMSIG_IMPLANT_ACTIVATEDfrom base of /obj/item/implant/proc/activate(): ()
COMSIG_IMPLANT_IMPLANTINGfrom base of /obj/item/implant/proc/implant(): (list/args)
COMSIG_IMPLANT_OTHERcalled on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant)
COMSIG_IMPLANT_IMPLANTEDcalled on implants, after a successful implantation: (mob/living/target, mob/user, silent, force)
COMSIG_IMPLANT_REMOVEDcalled on implants, after an implant has been removed: (mob/living/source, silent, special)
COMSIG_PRE_MINDSHIELD_IMPLANTcalled as a mindshield is implanted: (mob/user)
COMPONENT_MINDSHIELD_PASSEDDid they successfully get mindshielded?
COMPONENT_MINDSHIELD_RESISTEDDid they resist the mindshield?
COMSIG_MINDSHIELD_IMPLANTEDcalled once a mindshield is implanted: (mob/user)
COMPONENT_MINDSHIELD_DECONVERTEDAre we the reason for deconversion?
COMSIG_IMPLANT_EXISTING_UPLINKcalled on implants being implanted into someone with an uplink implant: (datum/component/uplink)
COMSIG_TABLET_CHANGE_IDcalled on pda when the user changes the ringtone: (mob/living/user, new_ringtone)
COMSIG_RADIO_NEW_FREQUENCYcalled from base of /obj/item/radio/proc/set_frequency(): (list/args)
COMSIG_RADIO_NEW_MESSAGEcalled from base of /obj/item/radio/proc/talk_into(): (atom/movable/M, message, channel)
COMSIG_RADIO_RECEIVE_MESSAGEcalled from base of /obj/item/radio/proc/on_receive_messgae(): (list/data)
COMSIG_PEN_ROTATEDcalled after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user)
COMSIG_GUN_TRY_FIREcalled in /obj/item/gun/fire_gun (user, target, flag, params)
COMSIG_MOB_FIRED_GUNcalled in /obj/item/gun/process_fire (src, target, params, zone_override, bonus_spread_values)
COMSIG_GUN_FIREDcalled in /obj/item/gun/process_fire (user, target, params, zone_override)
COMSIG_GUN_CHAMBER_PROCESSEDcalled in /obj/item/gun/process_chamber (src)
COMSIG_CASING_EJECTEDcalled in /obj/item/gun/ballistic/process_chamber (casing)
COMSIG_CAMERA_IMAGE_CAPTUREDfrom /obj/item/camera/captureimage(): (atom/target, mob/user)
COMSIG_GRENADE_DETONATEcalled in /obj/item/gun/process_fire (user, target, params, zone_override)
COMSIG_GRENADE_ARMEDcalled in /obj/item/gun/process_fire (user, target, params, zone_override)
COMSIG_PROJECTILE_SELF_ON_HITfrom base of /obj/projectile/proc/on_hit(), like COMSIG_PROJECTILE_ON_HIT but on the projectile itself and with the hit limb (if any): (atom/movable/firer, atom/target, angle, hit_limb, blocked)
COMSIG_PROJECTILE_ON_HITfrom base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, angle, hit_limb, blocked)
COMSIG_PROJECTILE_BEFORE_FIREfrom base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)
COMSIG_PROJECTILE_FIRER_BEFORE_FIREfrom base of /obj/projectile/proc/fire(): (obj/projectile, atom/firer, atom/original_target)
COMSIG_PROJECTILE_FIREfrom the base of /obj/projectile/proc/fire(): ()
COMSIG_PROJECTILE_PREHITsent to targets during the process_hit proc of projectiles
COMSIG_PROJECTILE_RANGEfrom the base of /obj/projectile/Range(): ()
COMSIG_PROJECTILE_RANGE_OUTfrom the base of /obj/projectile/on_range(): ()
COMSIG_EMBED_TRY_FORCEfrom /obj/item/proc/tryEmbed sent when trying to force an embed (mainly for projectiles and eating glass)
COMSIG_FIRE_CASINGsent to targets during the process_hit proc of projectiles
COMSIG_CASING_READY_PROJECTILEfrom the base of /obj/item/ammo_casing/ready_proj() : (atom/target, mob/living/user, quiet, zone_override, atom/fired_from)
COMSIG_PROJECTILE_ON_SPAWN_DROPsent to the projectile after an item is spawned by the projectile_drop element: (new_item)
COMSIG_PROJECTILE_ON_SPAWN_EMBEDDEDsent to the projectile when spawning the item (shrapnel) that may be embedded: (new_item)
COMSIG_VIM_CHIME_USEDfrom /datum/action/vehicle/sealed/noise/chime/Trigger(): ()
COMSIG_VIM_BUZZ_USEDfrom /datum/action/vehicle/sealed/noise/buzz/Trigger(): ()
COMSIG_VIM_HEADLIGHTS_TOGGLEDfrom /datum/action/vehicle/sealed/headlights/vim/Trigger(): (headlights_on)
COMSIG_MECHA_EQUIPMENT_ATTACHEDsent if you attach equipment to mecha
COMSIG_MECHA_EQUIPMENT_DETACHEDsent if you detach equipment to mecha
COMSIG_MECHA_DRILL_MOBsent when you are able to drill through a mob
COMSIG_MECHA_ACTION_TRIGGERsent from mecha action buttons to the mecha they're linked to
COMSIG_MECHA_MELEE_CLICKsent from clicking while you have no equipment selected. Sent before cooldown and adjacency checks, so you can use this for infinite range things if you want.
COMPONENT_CANCEL_MELEE_CLICKPrevents click from happening.
COMSIG_MECHA_EQUIPMENT_CLICKsent from clicking while you have equipment selected.
COMPONENT_CANCEL_EQUIPMENT_CLICKPrevents click from happening.
COMSIG_ITEM_ATTACK_SELFfrom base of obj/item/attack_self(): (/mob)
COMSIG_ITEM_ATTACK_ATOMfrom base of obj/item/attack_atom(): (/atom, /mob)
COMSIG_ITEM_PRE_ATTACKfrom base of obj/item/pre_attack(): (atom/target, mob/user, params)
COMSIG_ITEM_PRE_ATTACK_SECONDARYFrom base of [/obj/item/proc/pre_attack_secondary()]: (atom/target, mob/user, params)
COMSIG_ITEM_ATTACK_SECONDARYFrom base of [/obj/item/proc/attack_secondary()]: (atom/target, mob/user, params)
COMSIG_ITEM_AFTERATTACKfrom base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
COMPONENT_AFTERATTACK_PROCESSED_ITEMFlag for when /afterattack potentially acts on an item. +Used for the swap hands/drop tutorials to know when you might just be trying to do something normally. +Does not necessarily imply success, or even that it did hit an item, just intent.
COMSIG_ITEM_AFTERATTACK_SECONDARYfrom base of obj/item/afterattack_secondary(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_ITEM_ATTACK_QDELETEDfrom base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)
COMSIG_ITEM_EMBEDDEDfrom base of obj/item/embedded(): (atom/target, obj/item/bodypart/part)
COMSIG_ITEM_UNEMBEDDEDfrom base of datum/component/embedded/safeRemove(): (mob/living/carbon/victim)
COMSIG_ITEM_FAILED_EMBEDfrom base of obj/item/failedEmbed()
COMSIG_ASSEMBLY_PULSEDfrom /obj/item/assembly/proc/pulsed(mob/pulser)
COMSIG_MMI_SET_BRAINMOBfrom base of /obj/item/mmi/set_brainmob(): (mob/living/brain/new_brainmob)
COMSIG_SPEED_POTION_APPLIEDfrom base of /obj/item/slimepotion/speed/afterattack(): (obj/target, /obj/src, mob/user)
COMSIG_POSTER_TRAP_SUCCEEDfrom /obj/structure/sign/poster/trap_succeeded() : (mob/user)
COMSIG_DETECTIVE_SCANNEDfrom /obj/item/detective_scanner/scan(): (mob/user, list/extra_data)
COMSIG_ORM_COLLECTED_OREfrom /obj/machinery/mineral/ore_redemption/pickup_item when it successfully picks something up
COMSIG_PLUNGER_ACTfrom /obj/plunger_act when an object is being plungered
COMSIG_CURSED_SLOT_MACHINE_USEfrom /obj/structure/cursed_slot_machine/handle_status_effect() when someone pulls the handle on the slot machine
SLOT_MACHINE_USE_CANCELwe've used up the number of times we may use this slot machine. womp womp.
SLOT_MACHINE_USE_POSTPONEwe haven't used up all our attempts to gamble away our life but we should chill for a few seconds
COMSIG_CURSED_SLOT_MACHINE_LOSTfrom /obj/structure/cursed_slot_machine/determine_victor() when someone loses.
COMSIG_GLOB_CURSED_SLOT_MACHINE_WONfrom /obj/structure/cursed_slot_machine/determine_victor() when someone finally wins.
COMSIG_DART_INSERT_ADDEDfrom /datum/component/dart_insert/add_to_dart() : (obj/item/ammo_casing, mob/user)
COMSIG_DART_INSERT_REMOVEDfrom /datum/component/dart_insert/remove_from_dart() : (obj/ammo_casing/dart, mob/user)
COMSIG_DART_INSERT_PARENT_RESKINNEDfrom /datum/component/dart_insert/on_reskin()

Define Details

+

COMPONENT_ACTION_HANDLED + + +

+

Return to prevent the default behavior (attack_selfing) from ocurring.

COMPONENT_AFTERATTACK_PROCESSED_ITEM + + +

+

Flag for when /afterattack potentially acts on an item. +Used for the swap hands/drop tutorials to know when you might just be trying to do something normally. +Does not necessarily imply success, or even that it did hit an item, just intent.

COMPONENT_CANCEL_EQUIPMENT_CLICK + + +

+

Prevents click from happening.

COMPONENT_CANCEL_MELEE_CLICK + + +

+

Prevents click from happening.

COMPONENT_CANT_USE_MACHINE_INTERACT + + +

+

Can't interact with the machine

COMPONENT_CANT_USE_MACHINE_TOOLS + + +

+

Can't use tools on the machine

COMPONENT_CLOSET_INSERT_INTERRUPT + + +

+

used to interrupt insertion

COMPONENT_EQUIPPED_FAILED + + +

+

This will make the on_equipped proc return FALSE.

COMPONENT_ITEM_ACTION_SLOT_INVALID + + +

+

Return to prevent the default behavior (attack_selfing) from ocurring.

COMPONENT_ITEM_BLOCK_UNEQUIP + + +

+

only the pre unequip can be cancelled

COMPONENT_MINDSHIELD_DECONVERTED + + +

+

Are we the reason for deconversion?

COMPONENT_MINDSHIELD_PASSED + + +

+

Did they successfully get mindshielded?

COMPONENT_MINDSHIELD_RESISTED + + +

+

Did they resist the mindshield?

COMPONENT_OFFER_INTERRUPT + + +

+

Interrupts the offer proc

COMPONENT_OFFER_TAKE_INTERRUPT + + +

+

Interrupts the offer acceptance

COMPONENT_STOP_EXPORT + + +

+

Stops the export from calling sell_object() on the item, so you can handle it manually.

COMPONENT_STOP_EXPORT_REPORT + + +

+

Stops the export from adding the export information to the report, so you can handle it manually.

COMSIG_AIRLOCK_SET_BOLT + + +

+

from /obj/machinery/door/airlock/set_bolt():

COMSIG_ARCADE_PRIZEVEND + + +

+

from /obj/machinery/computer/arcade/prizevend(mob/user, prizes = 1)

COMSIG_ARMOR_PLATED + + +

+

Called when an armor plate is successfully applied to an object

COMSIG_ASSEMBLY_PULSED + + +

+

from /obj/item/assembly/proc/pulsed(mob/pulser)

COMSIG_ATMOS_MACHINE_SET_ON + + +

+

from /obj/machinery/atmospherics/set_on(active): (on)

COMSIG_BEACON_DISABLED + + +

+

from /obj/item/beacon/proc/turn_off()

COMSIG_BIBLE_SMACKED + + +

+

from /obj/item/book/bible/afterattack(): (mob/user, proximity)

COMSIG_CAMERA_IMAGE_CAPTURED + + +

+

from /obj/item/camera/captureimage(): (atom/target, mob/user)

COMSIG_CARBON_BUMPED_AIRLOCK_OPEN + + +

+

from /obj/machinery/door/airlock/bumpopen(), to the carbon who bumped: (airlock)

COMSIG_CASING_EJECTED + + +

+

called in /obj/item/gun/ballistic/process_chamber (casing)

COMSIG_CASING_READY_PROJECTILE + + +

+

from the base of /obj/item/ammo_casing/ready_proj() : (atom/target, mob/living/user, quiet, zone_override, atom/fired_from)

COMSIG_CLOSET_DELIVERED + + +

+

a deliver_first element closet was successfully delivered

COMSIG_CLOSET_INSERT + + +

+

Closets +From base of [/obj/structure/closet/proc/insert]: (atom/movable/inserted)

COMSIG_CLOSET_POST_CLOSE + + +

+

From close

COMSIG_CLOSET_POST_OPEN + + +

+

From open: (forced)

COMSIG_CLOSET_PRE_CLOSE + + +

+

From close

COMSIG_CLOSET_PRE_OPEN + + +

+

From open: (forced)

COMSIG_CRYO_SET_ON + + +

+

from /obj/machinery/cryo_cell/set_on(bool): (on)

COMSIG_CURSED_SLOT_MACHINE_LOST + + +

+

from /obj/structure/cursed_slot_machine/determine_victor() when someone loses.

COMSIG_CURSED_SLOT_MACHINE_USE + + +

+

from /obj/structure/cursed_slot_machine/handle_status_effect() when someone pulls the handle on the slot machine

COMSIG_DART_INSERT_ADDED + + +

+

from /datum/component/dart_insert/add_to_dart() : (obj/item/ammo_casing, mob/user)

COMSIG_DART_INSERT_PARENT_RESKINNED + + +

+

from /datum/component/dart_insert/on_reskin()

COMSIG_DART_INSERT_REMOVED + + +

+

from /datum/component/dart_insert/remove_from_dart() : (obj/ammo_casing/dart, mob/user)

COMSIG_DETECTIVE_SCANNED + + +

+

from /obj/item/detective_scanner/scan(): (mob/user, list/extra_data)

COMSIG_EIGENSTATE_ACTIVATE + + +

+

Eigenstasium +From base of /datum/controller/subsystem/eigenstates/proc/use_eigenlinked_atom: (var/target)

COMSIG_EMBED_TRY_FORCE + + +

+

from /obj/item/proc/tryEmbed sent when trying to force an embed (mainly for projectiles and eating glass)

COMSIG_END_BIBLE_CHAIN + + +

+

stops the bible chain from continuing. When all of the effects of the bible smacking have been moved to a signal we can kill this

COMSIG_FIREALARM_ON_TRIGGER + + +

+

from /obj/machinery/fire_alarm/reset(), /obj/machinery/fire_alarm/alarm(): (status)

COMSIG_FIRE_CASING + + +

+

sent to targets during the process_hit proc of projectiles

COMSIG_GLOB_CURSED_SLOT_MACHINE_WON + + +

+

from /obj/structure/cursed_slot_machine/determine_victor() when someone finally wins.

COMSIG_GRENADE_ARMED + + +

+

called in /obj/item/gun/process_fire (user, target, params, zone_override)

COMSIG_GRENADE_DETONATE + + +

+

called in /obj/item/gun/process_fire (user, target, params, zone_override)

COMSIG_GUN_CHAMBER_PROCESSED + + +

+

called in /obj/item/gun/process_chamber (src)

COMSIG_GUN_FIRED + + +

+

called in /obj/item/gun/process_fire (user, target, params, zone_override)

COMSIG_GUN_TRY_FIRE + + +

+

called in /obj/item/gun/fire_gun (user, target, flag, params)

COMSIG_IMPLANT_ACTIVATED + + +

+

from base of /obj/item/implant/proc/activate(): ()

+

called on implants being implanted into someone with an uplink implant: (datum/component/uplink)

COMSIG_IMPLANT_IMPLANTED + + +

+

called on implants, after a successful implantation: (mob/living/target, mob/user, silent, force)

COMSIG_IMPLANT_IMPLANTING + + +

+

from base of /obj/item/implant/proc/implant(): (list/args)

COMSIG_IMPLANT_OTHER + + +

+

called on already installed implants when a new one is being added in /obj/item/implant/proc/implant(): (list/args, obj/item/implant/new_implant)

COMSIG_IMPLANT_REMOVED + + +

+

called on implants, after an implant has been removed: (mob/living/source, silent, special)

COMSIG_ITEM_AFTERATTACK + + +

+

from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_ITEM_AFTERATTACK_SECONDARY + + +

+

from base of obj/item/afterattack_secondary(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_ITEM_APPLY_FANTASY_BONUSES + + +

+

from base of obj/item/apply_fantasy_bonuses(): (bonus)

COMSIG_ITEM_ATTACK_ATOM + + +

+

from base of obj/item/attack_atom(): (/atom, /mob)

COMSIG_ITEM_ATTACK_EFFECT + + +

+

sent from obj/effect/attackby(): (/obj/effect/hit_effect, /mob/living/attacker, params)

COMSIG_ITEM_ATTACK_QDELETED + + +

+

from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params)

COMSIG_ITEM_ATTACK_SECONDARY + + +

+

From base of [/obj/item/proc/attack_secondary()]: (atom/target, mob/user, params)

COMSIG_ITEM_ATTACK_SELF + + +

+

from base of obj/item/attack_self(): (/mob)

COMSIG_ITEM_ATTACK_ZONE + + +

+

from base of mob/living/carbon/attacked_by(): (mob/living/carbon/target, mob/living/user, hit_zone)

COMSIG_ITEM_ATTEMPT_TC_REIMBURSE + + +

+

Called on component/uplink/OnAttackBy(..)

COMSIG_ITEM_DISABLE_EMBED + + +

+

from /obj/item/proc/disableEmbedding:

COMSIG_ITEM_DRIED + + +

+

Called when an item is dried by a drying rack:

COMSIG_ITEM_DROPPED + + +

+

from base of obj/item/dropped(): (mob/user)

COMSIG_ITEM_EMBEDDED + + +

+

from base of obj/item/embedded(): (atom/target, obj/item/bodypart/part)

COMSIG_ITEM_EQUIPPED + + +

+

from base of obj/item/equipped(): (mob/equipper, slot)

COMSIG_ITEM_EQUIPPED_AS_OUTFIT + + +

+

from base of obj/item/on_outfit_equip(): (mob/equipper, visuals_only, slot)

COMSIG_ITEM_EXPORTED + + +

+

called when an item is sold by the exports subsystem

COMSIG_ITEM_FAILED_EMBED + + +

+

from base of obj/item/failedEmbed()

COMSIG_ITEM_GET_WORN_OVERLAYS + + +

+

Called by /obj/item/proc/worn_overlays(list/overlays, mutable_appearance/standing, isinhands, icon_file)

COMSIG_ITEM_HIT_REACT + + +

+

from base of obj/item/hit_reaction(): (owner, hitby, attack_text, final_block_chance, damage, attack_type, damage_type)

COMSIG_ITEM_OFFERING + + +

+

Called when an item is being offered, from [/obj/item/proc/on_offered(mob/living/carbon/offerer)]

COMSIG_ITEM_OFFER_TAKEN + + +

+

Called when an someone tries accepting an offered item, from [/obj/item/proc/on_offer_taken(mob/living/carbon/offerer, mob/living/carbon/taker)]

COMSIG_ITEM_ON_COMPOSTED + + +

+

from /obj/machinery/hydroponics/attackby(obj/item/O, mob/user, params) when an object is used as compost: (mob/user)

COMSIG_ITEM_ON_GRIND + + +

+

from base of obj/item/on_grind(): ())

COMSIG_ITEM_ON_JUICE + + +

+

from base of obj/item/on_juice(): ()

COMSIG_ITEM_PICKUP + + +

+

from base of obj/item/pickup(): (/mob/taker)

COMSIG_ITEM_POST_EQUIPPED + + +

+

From base of obj/item/on_equipped() (mob/equipped, slot)

COMSIG_ITEM_POST_UNEQUIP + + +

+

called on /obj/item AFTER unequip from base of [mob/proc/doUnEquip]: (force, atom/newloc, no_move, invdrop, silent)

COMSIG_ITEM_PRE_ATTACK + + +

+

from base of obj/item/pre_attack(): (atom/target, mob/user, params)

COMSIG_ITEM_PRE_ATTACK_SECONDARY + + +

+

From base of [/obj/item/proc/pre_attack_secondary()]: (atom/target, mob/user, params)

COMSIG_ITEM_PRE_EXPORT + + +

+

called before an item is sold by the exports system.

COMSIG_ITEM_PRE_UNEQUIP + + +

+

called on /obj/item before unequip from base of [mob/proc/doUnEquip]: (force, atom/newloc, no_move, invdrop, silent)

COMSIG_ITEM_RECHARGED + + +

+

Called when an item gets recharged by the ammo powerup

COMSIG_ITEM_REMOVE_FANTASY_BONUSES + + +

+

from base of obj/item/remove_fantasy_bonuses(): (bonus)

COMSIG_ITEM_SHARPEN_ACT + + +

+

from base of item/sharpener/attackby(): (amount, max)

COMSIG_ITEM_SPLIT_PROFIT + + +

+

called when getting the item's exact ratio for cargo's profit.

COMSIG_ITEM_SPLIT_PROFIT_DRY + + +

+

called when getting the item's exact ratio for cargo's profit, without selling the item.

COMSIG_ITEM_STORED + + +

+

from base of datum/storage/attempt_insert(): ()

COMSIG_ITEM_UI_ACTION_CLICK + + +

+

Sebt from obj/item/ui_action_click(): (mob/user, datum/action)

COMSIG_ITEM_UI_ACTION_SLOT_CHECKED + + +

+

Sent from obj/item/item_action_slot_check(): (mob/user, datum/action, slot)

COMSIG_ITEM_UNEMBEDDED + + +

+

from base of datum/component/embedded/safeRemove(): (mob/living/carbon/victim)

COMSIG_ITEM_UNWRAPPED + + +

+

called when a wrapped up item is opened by hand

COMSIG_IV_ATTACH + + +

+

from obj/machinery/iv_drip/IV_attach(target, usr) : (attachee)

COMSIG_IV_DETACH + + +

+

from obj/machinery/iv_drip/IV_detach() : (detachee)

COMSIG_LIGHT_SWITCH_SET + + +

+

from /obj/machinery/light_switch/set_lights(), sent to every switch in the area: (status)

COMSIG_MACHINERY_BROKEN + + +

+

from /obj/machinery/atom_break(damage_flag): (damage_flag)

COMSIG_MACHINERY_DEFAULT_ROTATE_WRENCH + + +

+

from /obj/machinery/default_change_direction_wrench: (mob/user, obj/item/wrench)

COMSIG_MACHINERY_DESTRUCTIVE_SCAN + + +

+

from /obj/machinery/destructive_scanner/proc/open(aggressive): Runs when the destructive scanner scans a group of objects. (list/scanned_atoms)

COMSIG_MACHINERY_POWER_LOST + + +

+

from base power_change() when power is lost

COMSIG_MACHINERY_POWER_RESTORED + + +

+

from base power_change() when power is restored

COMSIG_MACHINERY_REFRESH_PARTS + + +

+

from /obj/machinery/RefreshParts: ()

COMSIG_MACHINERY_SET_OCCUPANT + + +

+

from /obj/machinery/set_occupant(atom/movable/O): (new_occupant)

COMSIG_MACHINERY_START_PROCESSING_AIR + + +

+

from /datum/controller/subsystem/air/proc/start_processing_machine: ()

COMSIG_MACHINERY_STOP_PROCESSING_AIR + + +

+

from /datum/controller/subsystem/air/proc/stop_processing_machine: ()

COMSIG_MECHA_ACTION_TRIGGER + + +

+

sent from mecha action buttons to the mecha they're linked to

COMSIG_MECHA_DRILL_MOB + + +

+

sent when you are able to drill through a mob

COMSIG_MECHA_EQUIPMENT_ATTACHED + + +

+

sent if you attach equipment to mecha

COMSIG_MECHA_EQUIPMENT_CLICK + + +

+

sent from clicking while you have equipment selected.

COMSIG_MECHA_EQUIPMENT_DETACHED + + +

+

sent if you detach equipment to mecha

COMSIG_MECHA_MELEE_CLICK + + +

+

sent from clicking while you have no equipment selected. Sent before cooldown and adjacency checks, so you can use this for infinite range things if you want.

COMSIG_MINDSHIELD_IMPLANTED + + +

+

called once a mindshield is implanted: (mob/user)

COMSIG_MINE_TRIGGERED + + +

+

from /obj/effect/mine/proc/triggermine:

COMSIG_MMI_SET_BRAINMOB + + +

+

from base of /obj/item/mmi/set_brainmob(): (mob/living/brain/new_brainmob)

COMSIG_MOB_EQUIPPED_ITEM + + +

+

A mob has just equipped an item. Called on /mob from base of /obj/item/equipped(): (/obj/item/equipped_item, slot)

COMSIG_MOB_FIRED_GUN + + +

+

called in /obj/item/gun/process_fire (src, target, params, zone_override, bonus_spread_values)

COMSIG_MOB_UNEQUIPPED_ITEM + + +

+

A mob has just unequipped an item.

COMSIG_OBJ_ATTEMPT_CHARGE + + +

+

called when the payment component tries to charge an account.

COMSIG_OBJ_ATTEMPT_CHARGE_CHANGE + + +

+

Called when a payment component changes value

COMSIG_OBJ_DECONSTRUCT + + +

+

from base of obj/deconstruct(): (disassembled)

COMSIG_OBJ_DEFAULT_UNFASTEN_WRENCH + + +

+

from base of code/game/machinery

COMSIG_OBJ_HIDE + + +

+

from base of /turf/proc/levelupdate(). (intact) true to hide and false to unhide

COMSIG_OBJ_PAINTED + + +

+

from /obj/item/toy/crayon/spraycan/afterattack: (user, spraycan, color_is_dark)

COMSIG_OBJ_RESKIN + + +

+

from /obj/obj_reskin: (mob/user, skin)

COMSIG_OBJ_UNFREEZE + + +

+

from /obj/proc/unfreeze()

COMSIG_ORM_COLLECTED_ORE + + +

+

from /obj/machinery/mineral/ore_redemption/pickup_item when it successfully picks something up

COMSIG_PEN_ROTATED + + +

+

called after rotation in /obj/item/pen/attack_self(): (rotation, mob/living/carbon/user)

COMSIG_PLUNGER_ACT + + +

+

from /obj/plunger_act when an object is being plungered

COMSIG_POSTER_TRAP_SUCCEED + + +

+

from /obj/structure/sign/poster/trap_succeeded() : (mob/user)

COMSIG_PRE_MINDSHIELD_IMPLANT + + +

+

called as a mindshield is implanted: (mob/user)

COMSIG_PROJECTILE_BEFORE_FIRE + + +

+

from base of /obj/projectile/proc/fire(): (obj/projectile, atom/original_target)

COMSIG_PROJECTILE_FIRE + + +

+

from the base of /obj/projectile/proc/fire(): ()

COMSIG_PROJECTILE_FIRER_BEFORE_FIRE + + +

+

from base of /obj/projectile/proc/fire(): (obj/projectile, atom/firer, atom/original_target)

COMSIG_PROJECTILE_ON_HIT + + +

+

from base of /obj/projectile/proc/on_hit(): (atom/movable/firer, atom/target, angle, hit_limb, blocked)

COMSIG_PROJECTILE_ON_SPAWN_DROP + + +

+

sent to the projectile after an item is spawned by the projectile_drop element: (new_item)

COMSIG_PROJECTILE_ON_SPAWN_EMBEDDED + + +

+

sent to the projectile when spawning the item (shrapnel) that may be embedded: (new_item)

COMSIG_PROJECTILE_PREHIT + + +

+

sent to targets during the process_hit proc of projectiles

COMSIG_PROJECTILE_RANGE + + +

+

from the base of /obj/projectile/Range(): ()

COMSIG_PROJECTILE_RANGE_OUT + + +

+

from the base of /obj/projectile/on_range(): ()

COMSIG_PROJECTILE_SELF_ON_HIT + + +

+

from base of /obj/projectile/proc/on_hit(), like COMSIG_PROJECTILE_ON_HIT but on the projectile itself and with the hit limb (if any): (atom/movable/firer, atom/target, angle, hit_limb, blocked)

COMSIG_RADIO_NEW_FREQUENCY + + +

+

called from base of /obj/item/radio/proc/set_frequency(): (list/args)

COMSIG_RADIO_NEW_MESSAGE + + +

+

called from base of /obj/item/radio/proc/talk_into(): (atom/movable/M, message, channel)

COMSIG_RADIO_RECEIVE_MESSAGE + + +

+

called from base of /obj/item/radio/proc/on_receive_messgae(): (list/data)

COMSIG_SHOES_STEP_ACTION + + +

+

from [/mob/living/carbon/human/Move]: ()

COMSIG_SPEED_POTION_APPLIED + + +

+

from base of /obj/item/slimepotion/speed/afterattack(): (obj/target, /obj/src, mob/user)

COMSIG_STACK_CAN_MERGE + + +

+

from /obj/item/stack/proc/can_merge: (obj/item/stack/merge_with, in_hand)

COMSIG_SUPERMATTER_DELAM_ALARM + + +

+

from /obj/machinery/power/supermatter_crystal/process_atmos(); when the SM sounds an audible alarm

COMSIG_SUPPLYPOD_LANDED + + +

+

from [/obj/structure/closet/supplypod/proc/preOpen]:

COMSIG_TABLET_CHANGE_ID + + +

+

called on pda when the user changes the ringtone: (mob/living/user, new_ringtone)

COMSIG_TELEPORTER_NEW_TARGET + + +

+

from /obj/machinery/computer/teleporter/proc/set_target(target, old_target)

COMSIG_TOOL_IN_USE + + +

+

from base of /obj/item/proc/tool_check_callback: (mob/living/user)

COMSIG_TOOL_START_USE + + +

+

from base of /obj/item/proc/tool_start_check: (mob/living/user)

COMSIG_TRAITOR_ITEM_USED + + + +

+

Called when a holoparasite/guardiancreator is used.

COMSIG_TRY_USE_MACHINE + + +

+

from /obj/machinery/can_interact(mob/user): Called on user when attempting to interact with a machine (obj/machinery/machine)

COMSIG_VALVE_SET_OPEN + + +

+

from /obj/machinery/atmospherics/components/binary/valve/toggle(): (on)

COMSIG_VIM_BUZZ_USED + + +

+

from /datum/action/vehicle/sealed/noise/buzz/Trigger(): ()

COMSIG_VIM_CHIME_USED + + +

+

from /datum/action/vehicle/sealed/noise/chime/Trigger(): ()

COMSIG_VIM_HEADLIGHTS_TOGGLED + + +

+

from /datum/action/vehicle/sealed/headlights/vim/Trigger(): (headlights_on)

SLOT_MACHINE_USE_CANCEL + + +

+

we've used up the number of times we may use this slot machine. womp womp.

SLOT_MACHINE_USE_POSTPONE + + +

+

we haven't used up all our attempts to gamble away our life but we should chill for a few seconds

STOP_BUMP + + +

+

Return to stop the door opening on bump.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_operating_computer.html b/code/__DEFINES/dcs/signals/signals_operating_computer.html new file mode 100644 index 00000000000..ba3123b1288 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_operating_computer.html @@ -0,0 +1,34 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_operating_computer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_operating_computer.dm + +

+ + +
COMSIG_OPERATING_COMPUTER_AUTOPSY_COMPLETEFired when a autopsy surgery completes. +(mob/living/target)

Define Details

+

COMSIG_OPERATING_COMPUTER_AUTOPSY_COMPLETE + + +

+

Fired when a autopsy surgery completes. +(mob/living/target)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_painting.html b/code/__DEFINES/dcs/signals/signals_painting.html new file mode 100644 index 00000000000..1655c1f6863 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_painting.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_painting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_painting.dm + +

+ + + + +
COMSIG_PAINTING_TOOL_SET_COLORfrom base of /item/proc/set_painting_tool_color(): (chosen_color)
COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATAfrom base of /item/canvas/ui_data(): (data)
COMSIG_PAINTING_TOOL_PALETTE_COLOR_CHANGEDfrom base of /item/canvas/ui_act(), "change_color" action: (chosen_color, color_index)

Define Details

+

COMSIG_PAINTING_TOOL_GET_ADDITIONAL_DATA + + +

+

from base of /item/canvas/ui_data(): (data)

COMSIG_PAINTING_TOOL_PALETTE_COLOR_CHANGED + + +

+

from base of /item/canvas/ui_act(), "change_color" action: (chosen_color, color_index)

COMSIG_PAINTING_TOOL_SET_COLOR + + +

+

from base of /item/proc/set_painting_tool_color(): (chosen_color)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_proxmonitor.html b/code/__DEFINES/dcs/signals/signals_proxmonitor.html new file mode 100644 index 00000000000..d1856e5572a --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_proxmonitor.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_proxmonitor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_proxmonitor.dm + +

+ + + +
COMSIG_DAMPENER_CAPTURECalled when a projectile dampener captures an object.
COMSIG_DAMPENER_RELEASECalled when a projectile dampener releases an object.

Define Details

+

COMSIG_DAMPENER_CAPTURE + + +

+

Called when a projectile dampener captures an object.

COMSIG_DAMPENER_RELEASE + + +

+

Called when a projectile dampener releases an object.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_radiation.html b/code/__DEFINES/dcs/signals/signals_radiation.html new file mode 100644 index 00000000000..969b0e817ba --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_radiation.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_radiation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_radiation.dm + +

+ + + + + + +
COMSIG_IN_RANGE_OF_IRRADIATIONFrom the radiation subsystem, called before a potential irradiation. +This does not guarantee radiation can reach or will succeed, but merely that there's a radiation source within range. +(datum/radiation_pulse_information/pulse_information, insulation_to_target)
COMSIG_IN_THRESHOLD_OF_IRRADIATIONFired when the target could be irradiated, right before the chance check is rolled. +(datum/radiation_pulse_information/pulse_information)
SKIP_MINIMUM_EXPOSURE_TIME_CHECKIf this is flipped, then minimum exposure time will not be checked. +If it is not flipped, and the pulse information has a minimum exposure time, then +the countdown will begin.
COMSIG_GEIGER_COUNTER_SCANFired when scanning something with a geiger counter. +(mob/user, obj/item/geiger_counter/geiger_counter)
COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFULIf not flagged by any handler, will report the subject as being free of irradiation

Define Details

+

COMSIG_GEIGER_COUNTER_SCAN + + +

+

Fired when scanning something with a geiger counter. +(mob/user, obj/item/geiger_counter/geiger_counter)

COMSIG_GEIGER_COUNTER_SCAN_SUCCESSFUL + + +

+

If not flagged by any handler, will report the subject as being free of irradiation

COMSIG_IN_RANGE_OF_IRRADIATION + + +

+

From the radiation subsystem, called before a potential irradiation. +This does not guarantee radiation can reach or will succeed, but merely that there's a radiation source within range. +(datum/radiation_pulse_information/pulse_information, insulation_to_target)

COMSIG_IN_THRESHOLD_OF_IRRADIATION + + +

+

Fired when the target could be irradiated, right before the chance check is rolled. +(datum/radiation_pulse_information/pulse_information)

SKIP_MINIMUM_EXPOSURE_TIME_CHECK + + +

+

If this is flipped, then minimum exposure time will not be checked. +If it is not flipped, and the pulse information has a minimum exposure time, then +the countdown will begin.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_reagent.html b/code/__DEFINES/dcs/signals/signals_reagent.html new file mode 100644 index 00000000000..0acd31e74e5 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_reagent.html @@ -0,0 +1,152 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_reagent.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_reagent.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_ATOM_EXPOSE_REAGENTSfrom base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message)
COMPONENT_NO_EXPOSE_REAGENTSPrevents the atom from being exposed to reagents if returned on COMSIG_ATOM_EXPOSE_REAGENTS
COMSIG_ATOM_AFTER_EXPOSE_REAGENTSfrom base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message)
COMSIG_ATOM_EXPOSE_REAGENTfrom base of /datum/reagent/proc/expose_atom: (/datum/reagent, reac_volume)
COMSIG_REAGENT_EXPOSE_ATOMfrom base of /datum/reagent/proc/expose_atom: (/atom, reac_volume)
COMSIG_REAGENT_EXPOSE_OBJfrom base of /datum/reagent/proc/expose_atom: (/obj, reac_volume)
COMSIG_REAGENT_EXPOSE_MOBfrom base of /datum/reagent/proc/expose_atom: (/mob/living, reac_volume, methods, show_message, touch_protection, /mob/camera/blob) // ovemind arg is only used by blob reagents.
COMSIG_REAGENT_EXPOSE_TURFfrom base of /datum/reagent/proc/expose_atom: (/turf, reac_volume)
COMSIG_MATERIALS_INIT_MATfrom base of /datum/controller/subsystem/materials/proc/InitializeMaterial: (/datum/material)
COMSIG_ON_MULTIPLE_LIVES_RESPAWNfrom base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)
COMSIG_REAGENTS_PRE_ADD_REAGENTfrom base of /datum/reagents/proc/add_reagent - Sent before the reagent is added: (reagenttype, amount, reagtemp, data, no_react)
COMPONENT_CANCEL_REAGENT_ADDPrevents the reagent from being added.
COMSIG_REAGENTS_NEW_REAGENTfrom base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)
COMSIG_REAGENTS_ADD_REAGENTfrom base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)
COMSIG_REAGENTS_DEL_REAGENTfrom base of /datum/reagents/proc/del_reagent: (/datum/reagent)
COMSIG_REAGENTS_REM_REAGENTfrom base of /datum/reagents/proc/remove_reagent: (/datum/reagent, amount)
COMSIG_REAGENTS_CLEAR_REAGENTSfrom base of /datum/reagents/proc/clear_reagents: ()
COMSIG_REAGENTS_TEMP_CHANGEfrom base of /datum/reagents/proc/set_temperature: (new_temp, old_temp)
COMSIG_REAGENTS_REACTEDfrom base of /datum/reagents/proc/handle_reactions: (num_reactions)
COMSIG_REAGENTS_REACTION_STEPfrom base of /datum/reagents/proc/process: (num_reactions)
COMSIG_REAGENTS_EXPOSE_ATOMfrom base of /atom/proc/expose_reagents: (/atom, /list, methods, volume_modifier, show_message)
COMSIG_REAGENTS_EXPOSE_OBJfrom base of /obj/proc/expose_reagents: (/obj, /list, methods, volume_modifier, show_message)
COMSIG_REAGENTS_EXPOSE_MOBfrom base of /mob/living/proc/expose_reagents: (/mob/living, /list, methods, volume_modifier, show_message, touch_protection)
COMSIG_REAGENTS_EXPOSE_TURFfrom base of /turf/proc/expose_reagents: (/turf, /list, methods, volume_modifier, show_message)
COMSIG_REAGENTS_CRAFTING_PINGfrom base of [/datum/component/personal_crafting/proc/del_reqs]: ()

Define Details

+

COMPONENT_CANCEL_REAGENT_ADD + + +

+

Prevents the reagent from being added.

COMPONENT_NO_EXPOSE_REAGENTS + + +

+

Prevents the atom from being exposed to reagents if returned on COMSIG_ATOM_EXPOSE_REAGENTS

COMSIG_ATOM_AFTER_EXPOSE_REAGENTS + + +

+

from base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message)

COMSIG_ATOM_EXPOSE_REAGENT + + +

+

from base of /datum/reagent/proc/expose_atom: (/datum/reagent, reac_volume)

COMSIG_ATOM_EXPOSE_REAGENTS + + +

+

from base of atom/expose_reagents(): (/list, /datum/reagents, methods, volume_modifier, show_message)

COMSIG_MATERIALS_INIT_MAT + + +

+

from base of /datum/controller/subsystem/materials/proc/InitializeMaterial: (/datum/material)

COMSIG_ON_MULTIPLE_LIVES_RESPAWN + + +

+

from base of [/datum/component/multiple_lives/proc/respawn]: (mob/respawned_mob, gibbed, lives_left)

COMSIG_REAGENTS_ADD_REAGENT + + +

+

from base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)

COMSIG_REAGENTS_CLEAR_REAGENTS + + +

+

from base of /datum/reagents/proc/clear_reagents: ()

COMSIG_REAGENTS_CRAFTING_PING + + +

+

from base of [/datum/component/personal_crafting/proc/del_reqs]: ()

COMSIG_REAGENTS_DEL_REAGENT + + +

+

from base of /datum/reagents/proc/del_reagent: (/datum/reagent)

COMSIG_REAGENTS_EXPOSE_ATOM + + +

+

from base of /atom/proc/expose_reagents: (/atom, /list, methods, volume_modifier, show_message)

COMSIG_REAGENTS_EXPOSE_MOB + + +

+

from base of /mob/living/proc/expose_reagents: (/mob/living, /list, methods, volume_modifier, show_message, touch_protection)

COMSIG_REAGENTS_EXPOSE_OBJ + + +

+

from base of /obj/proc/expose_reagents: (/obj, /list, methods, volume_modifier, show_message)

COMSIG_REAGENTS_EXPOSE_TURF + + +

+

from base of /turf/proc/expose_reagents: (/turf, /list, methods, volume_modifier, show_message)

COMSIG_REAGENTS_NEW_REAGENT + + +

+

from base of /datum/reagents/proc/add_reagent: (/datum/reagent, amount, reagtemp, data, no_react)

COMSIG_REAGENTS_PRE_ADD_REAGENT + + +

+

from base of /datum/reagents/proc/add_reagent - Sent before the reagent is added: (reagenttype, amount, reagtemp, data, no_react)

COMSIG_REAGENTS_REACTED + + +

+

from base of /datum/reagents/proc/handle_reactions: (num_reactions)

COMSIG_REAGENTS_REACTION_STEP + + +

+

from base of /datum/reagents/proc/process: (num_reactions)

COMSIG_REAGENTS_REM_REAGENT + + +

+

from base of /datum/reagents/proc/remove_reagent: (/datum/reagent, amount)

COMSIG_REAGENTS_TEMP_CHANGE + + +

+

from base of /datum/reagents/proc/set_temperature: (new_temp, old_temp)

COMSIG_REAGENT_EXPOSE_ATOM + + +

+

from base of /datum/reagent/proc/expose_atom: (/atom, reac_volume)

COMSIG_REAGENT_EXPOSE_MOB + + +

+

from base of /datum/reagent/proc/expose_atom: (/mob/living, reac_volume, methods, show_message, touch_protection, /mob/camera/blob) // ovemind arg is only used by blob reagents.

COMSIG_REAGENT_EXPOSE_OBJ + + +

+

from base of /datum/reagent/proc/expose_atom: (/obj, reac_volume)

COMSIG_REAGENT_EXPOSE_TURF + + +

+

from base of /datum/reagent/proc/expose_atom: (/turf, reac_volume)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_restaurant.html b/code/__DEFINES/dcs/signals/signals_restaurant.html new file mode 100644 index 00000000000..b8a9247bba1 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_restaurant.html @@ -0,0 +1,54 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_restaurant.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_restaurant.dm + +

+ + + + + + +
COMSIG_ITEM_IS_CORRECT_CUSTOM_ORDERRestaurant +(wanted_item) custom order signal sent when checking if the order is correct.
COMSIG_ITEM_SOLD_TO_CUSTOMER(customer, container) venue signal sent when a venue sells an item. source is the thing sold, which can be a datum, so we send container for location checks
COMSIG_REAGENT_SOLD_TO_CUSTOMER(customer, container) venue signal sent when a venue sells an reagent. source is the thing sold, which can be a datum, so we send container for location checks
TRANSACTION_SUCCESSReturn from either above signal to denote the transaction completed successfully, so the venue can finish processing it
TRANSACTION_HANDLEDReturn from either above to stop the venue default processing, allowing you to handle cleanup / aftermath yourself

Define Details

+

COMSIG_ITEM_IS_CORRECT_CUSTOM_ORDER + + +

+

Restaurant +(wanted_item) custom order signal sent when checking if the order is correct.

COMSIG_ITEM_SOLD_TO_CUSTOMER + + +

+

(customer, container) venue signal sent when a venue sells an item. source is the thing sold, which can be a datum, so we send container for location checks

COMSIG_REAGENT_SOLD_TO_CUSTOMER + + +

+

(customer, container) venue signal sent when a venue sells an reagent. source is the thing sold, which can be a datum, so we send container for location checks

TRANSACTION_HANDLED + + +

+

Return from either above to stop the venue default processing, allowing you to handle cleanup / aftermath yourself

TRANSACTION_SUCCESS + + +

+

Return from either above signal to denote the transaction completed successfully, so the venue can finish processing it

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_saboteur.html b/code/__DEFINES/dcs/signals/signals_saboteur.html new file mode 100644 index 00000000000..b693110c8bb --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_saboteur.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_saboteur.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_saboteur.dm + +

+ + +
COMSIG_HIT_BY_SABOTEURfrom /obj/projectile/energy/fisher/on_hit() or /obj/item/gun/energy/recharge/fisher when striking a target

Define Details

+

COMSIG_HIT_BY_SABOTEUR + + +

+

from /obj/projectile/energy/fisher/on_hit() or /obj/item/gun/energy/recharge/fisher when striking a target

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_scangate.html b/code/__DEFINES/dcs/signals/signals_scangate.html new file mode 100644 index 00000000000..6fb60703251 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_scangate.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_scangate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_scangate.dm + +

+ + + + +
COMSIG_SCANGATE_PASS_TRIGGERCalled when somebody passes through a scanner gate and it triggers
COMSIG_SCANGATE_PASS_NO_TRIGGERCalled when somebody passes through a scanner gate and it does not trigger
COMSIG_SCANGATE_SHELL_PASSCalled when something passes through a scanner gate shell

Define Details

+

COMSIG_SCANGATE_PASS_NO_TRIGGER + + +

+

Called when somebody passes through a scanner gate and it does not trigger

COMSIG_SCANGATE_PASS_TRIGGER + + +

+

Called when somebody passes through a scanner gate and it triggers

COMSIG_SCANGATE_SHELL_PASS + + +

+

Called when something passes through a scanner gate shell

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_screentips.html b/code/__DEFINES/dcs/signals/signals_screentips.html new file mode 100644 index 00000000000..708ef558079 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_screentips.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_screentips.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_screentips.dm + +

+ + + + +
COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGETA "Type-A" contextual screentip interaction. +These are used for items that are defined by their behavior. They define their contextual text within themselves, +not in their targets. +Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +Items can override add_item_context(), and call register_item_context() in order to easily connect to this. +Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEMA "Type-B" contextual screentip interaction. +These are atoms that are defined by what happens to them. These should define contextual text within themselves, and +not in their operating tools. +Examples include construction objects (LMB with glass to put in screen for computers). +Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.
CONTEXTUAL_SCREENTIP_SETTells the contextual screentips system that the list context was mutated.

Define Details

+

COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM + + +

+

A "Type-B" contextual screentip interaction. +These are atoms that are defined by what happens to them. These should define contextual text within themselves, and +not in their operating tools. +Examples include construction objects (LMB with glass to put in screen for computers). +Called on /atom with a mutable screentip context list, the item being used, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.

COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET + + +

+

A "Type-A" contextual screentip interaction. +These are used for items that are defined by their behavior. They define their contextual text within themselves, +not in their targets. +Examples include syringes (LMB to inject, RMB to draw) and health analyzers (LMB to scan health/wounds, RMB for chems) +Items can override add_item_context(), and call register_item_context() in order to easily connect to this. +Called on /obj/item with a mutable screentip context list, the hovered target, and the mob hovering. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET.

CONTEXTUAL_SCREENTIP_SET + + +

+

Tells the contextual screentips system that the list context was mutated.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_spatial_grid.html b/code/__DEFINES/dcs/signals/signals_spatial_grid.html new file mode 100644 index 00000000000..e482b57548f --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_spatial_grid.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_spatial_grid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_spatial_grid.dm + +

+ + + +
SPATIAL_GRID_CELL_ENTEREDCalled from base of /datum/controller/subsystem/spatial_grid/proc/enter_cell: (/atom/movable)
SPATIAL_GRID_CELL_EXITEDCalled from base of /datum/controller/subsystem/spatial_grid/proc/exit_cell: (/atom/movable)

Define Details

+

SPATIAL_GRID_CELL_ENTERED + + + +

+

Called from base of /datum/controller/subsystem/spatial_grid/proc/enter_cell: (/atom/movable)

SPATIAL_GRID_CELL_EXITED + + + +

+

Called from base of /datum/controller/subsystem/spatial_grid/proc/exit_cell: (/atom/movable)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_species.html b/code/__DEFINES/dcs/signals/signals_species.html new file mode 100644 index 00000000000..6f5edea7b71 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_species.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_species.dm + +

+ + + + +
COMSIG_SPECIES_GAINfrom datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)
COMSIG_SPECIES_LOSSfrom datum/species/on_species_loss(): (datum/species/lost_species)
COMSIG_SPECIES_HANDLE_CHEMICALfrom datum/species/handle_chemical(): (datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired)

Define Details

+

COMSIG_SPECIES_GAIN + + +

+

from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)

COMSIG_SPECIES_HANDLE_CHEMICAL + + +

+

from datum/species/handle_chemical(): (datum/reagent/chem, mob/living/carbon/human/affected, seconds_per_tick, times_fired)

COMSIG_SPECIES_LOSS + + +

+

from datum/species/on_species_loss(): (datum/species/lost_species)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_spell.html b/code/__DEFINES/dcs/signals/signals_spell.html new file mode 100644 index 00000000000..65bdf66b086 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_spell.html @@ -0,0 +1,225 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_spell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_spell.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMSIG_MOB_BEFORE_SPELL_CASTSent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)
COMSIG_SPELL_BEFORE_CASTSent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)
SPELL_CANCEL_CASTReturn to prevent the spell cast from continuing.
SPELL_NO_FEEDBACKReturn from before cast signals to prevent the spell from giving off sound or invocation.
SPELL_NO_IMMEDIATE_COOLDOWNReturn from before cast signals to prevent the spell from going on cooldown before aftercast.
COMSIG_MOB_TRY_INVOKE_SPELLSent to an mob when a /datum/action/cooldown/spell calls try_invoke() to the caster: (datum/action/cooldown/spell/spell, feedback)
SPELL_INVOCATION_FAILThe spell gets canceled
SPELL_INVOCATION_ALWAYS_SUCCEEDThe spell always succeeds to invoke regardless of following checks
COMSIG_MOB_SPELL_ACTIVATEDSent from /datum/action/cooldown/spell/set_click_ability() to the caster: (datum/action/cooldown/spell/spell)
SPELL_CANCEL_ACTIVATIONSame as spell_cancel_cast, as they're able to be used interchangeably
COMSIG_MOB_CAST_SPELLSent from /datum/action/cooldown/spell/cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)
COMSIG_SPELL_CASTSent from /datum/action/cooldown/spell/cast() to the spell: (atom/cast_on)
COMSIG_SPELL_AFTER_CASTSent from /datum/action/cooldown/spell/after_cast() to the spell: (atom/cast_on)
COMSIG_SPELL_CAST_RESETSent from /datum/action/cooldown/spell/reset_spell_cooldown() to the spell: ()
COMSIG_MOB_PRE_INVOCATIONSent from /datum/action/cooldown/spell/proc/invocation() to the mob: (datum/source, /datum/action/cooldown/spell/spell, list/invocation)
INVOCATION_MESSAGEindex for the invocation message string
INVOCATION_TYPEindex for the invocation type string
INVOCATION_GARBLE_PROBindex for the invocation garble probability number
COMSIG_SPELL_PROJECTILE_HITSent from /datum/action/cooldown/spell/pointed/projectile/on_cast_hit: (atom/firer, atom/target, atom/hit, angle, hit_limb)
COMSIG_SPELL_AOE_ON_CASTSent from /datum/action/cooldown/spell/aoe/cast: (list/atoms_affected, atom/caster)
COMSIG_SPELL_CONE_ON_CASTSent from /datum/action/cooldown/spell/cone/cast: (list/atoms_affected, atom/caster)
COMSIG_SPELL_CONE_ON_LAYER_EFFECTSent from /datum/action/cooldown/spell/cone/do_cone_effects: (list/atoms_affected, atom/caster, level)
COMSIG_SPELL_TOUCH_HAND_HITSent from /datum/action/cooldown/spell/touch/do_hand_hit: (atom/hit, mob/living/carbon/caster, obj/item/melee/touch_attack/hand)
COMSIG_MOB_ENTER_JAUNTSent from datum/action/cooldown/spell/jaunt/enter_jaunt, to the mob jaunting: (obj/effect/dummy/phased_mob/jaunt, datum/action/cooldown/spell/spell)
COMSIG_MOB_EJECTED_FROM_JAUNTSet from /obj/effect/dummy/phased_mob after the mob is ejected from its contents: (obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter)
COMSIG_MOB_AFTER_EXIT_JAUNTSent from datum/action/cooldown/spell/jaunt/exit_jaunt, after the mob exited jaunt: (datum/action/cooldown/spell/spell)
COMSIG_LIVING_BLOOD_CRAWL_PRE_CONSUMEDSent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/try_enter_jaunt, +to any unconscious / critical mobs being dragged when the jaunter enters blood: +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter, obj/effect/decal/cleanable/blood)
COMSIG_LIVING_BLOOD_CRAWL_CONSUMEDSent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/consume_victim, +to the victim being consumed by the slaughter demon. +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter)
COMPONENT_STOP_CONSUMPTIONReturn at any point to stop the bloodcrawl "consume" process from continuing.
COMSIG_ITEM_IMBUE_SOULSent from /datum/action/cooldown/spell/lichdom/cast(), to the item being imbued: (datum/action/cooldown/spell/spell, mob/user)
COMPONENT_BLOCK_IMBUEReturn to stop the cast and prevent the soul imbue
COMSIG_ATOM_MAGICALLY_UNLOCKEDSent from /datum/action/cooldown/spell/aoe/knock/cast(), to every nearby turf (for connect loc): (datum/action/cooldown/spell/aoe/knock/spell, mob/living/caster)
COMSIG_ITEM_MARK_RETRIEVALSent from /datum/action/cooldown/spell/summonitem/cast(), to the item being marked for recall: (datum/action/cooldown/spell/spell, mob/user)
COMPONENT_BLOCK_MARK_RETRIEVALReturn to stop the cast and prevent the item from being marked
COMSIG_MAGIC_RECALLWhen an object is retrieved by a magic recall spell. This will apply to all containers, mobs, etc. that are pulled by the spell.
COMSIG_ITEM_MAGICALLY_CHARGEDSent from /datum/action/cooldown/spell/charge/cast(), to the item in hand being charged: (datum/action/cooldown/spell/spell, mob/user)
COMPONENT_ITEM_CHARGEDReturn if an item was successfuly recharged
COMPONENT_ITEM_BURNT_OUTReturn if the item had a negative side effect occur while recharging

Define Details

+

COMPONENT_BLOCK_IMBUE + + +

+

Return to stop the cast and prevent the soul imbue

COMPONENT_BLOCK_MARK_RETRIEVAL + + +

+

Return to stop the cast and prevent the item from being marked

COMPONENT_ITEM_BURNT_OUT + + +

+

Return if the item had a negative side effect occur while recharging

COMPONENT_ITEM_CHARGED + + +

+

Return if an item was successfuly recharged

COMPONENT_STOP_CONSUMPTION + + +

+

Return at any point to stop the bloodcrawl "consume" process from continuing.

COMSIG_ATOM_MAGICALLY_UNLOCKED + + +

+

Sent from /datum/action/cooldown/spell/aoe/knock/cast(), to every nearby turf (for connect loc): (datum/action/cooldown/spell/aoe/knock/spell, mob/living/caster)

COMSIG_ITEM_IMBUE_SOUL + + +

+

Sent from /datum/action/cooldown/spell/lichdom/cast(), to the item being imbued: (datum/action/cooldown/spell/spell, mob/user)

COMSIG_ITEM_MAGICALLY_CHARGED + + +

+

Sent from /datum/action/cooldown/spell/charge/cast(), to the item in hand being charged: (datum/action/cooldown/spell/spell, mob/user)

COMSIG_ITEM_MARK_RETRIEVAL + + +

+

Sent from /datum/action/cooldown/spell/summonitem/cast(), to the item being marked for recall: (datum/action/cooldown/spell/spell, mob/user)

COMSIG_LIVING_BLOOD_CRAWL_CONSUMED + + +

+

Sent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/consume_victim, +to the victim being consumed by the slaughter demon. +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter)

COMSIG_LIVING_BLOOD_CRAWL_PRE_CONSUMED + + +

+

Sent from/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/try_enter_jaunt, +to any unconscious / critical mobs being dragged when the jaunter enters blood: +(datum/action/cooldown/spell/jaunt/bloodcrawl/crawl, mob/living/jaunter, obj/effect/decal/cleanable/blood)

COMSIG_MAGIC_RECALL + + +

+

When an object is retrieved by a magic recall spell. This will apply to all containers, mobs, etc. that are pulled by the spell.

COMSIG_MOB_AFTER_EXIT_JAUNT + + +

+

Sent from datum/action/cooldown/spell/jaunt/exit_jaunt, after the mob exited jaunt: (datum/action/cooldown/spell/spell)

COMSIG_MOB_BEFORE_SPELL_CAST + + +

+

Sent from /datum/action/cooldown/spell/before_cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)

COMSIG_MOB_CAST_SPELL + + +

+

Sent from /datum/action/cooldown/spell/cast() to the caster: (datum/action/cooldown/spell/spell, atom/cast_on)

COMSIG_MOB_EJECTED_FROM_JAUNT + + +

+

Set from /obj/effect/dummy/phased_mob after the mob is ejected from its contents: (obj/effect/dummy/phased_mob/jaunt, mob/living/unjaunter)

COMSIG_MOB_ENTER_JAUNT + + +

+

Sent from datum/action/cooldown/spell/jaunt/enter_jaunt, to the mob jaunting: (obj/effect/dummy/phased_mob/jaunt, datum/action/cooldown/spell/spell)

COMSIG_MOB_PRE_INVOCATION + + +

+

Sent from /datum/action/cooldown/spell/proc/invocation() to the mob: (datum/source, /datum/action/cooldown/spell/spell, list/invocation)

COMSIG_MOB_SPELL_ACTIVATED + + +

+

Sent from /datum/action/cooldown/spell/set_click_ability() to the caster: (datum/action/cooldown/spell/spell)

COMSIG_MOB_TRY_INVOKE_SPELL + + +

+

Sent to an mob when a /datum/action/cooldown/spell calls try_invoke() to the caster: (datum/action/cooldown/spell/spell, feedback)

COMSIG_SPELL_AFTER_CAST + + +

+

Sent from /datum/action/cooldown/spell/after_cast() to the spell: (atom/cast_on)

COMSIG_SPELL_AOE_ON_CAST + + +

+

Sent from /datum/action/cooldown/spell/aoe/cast: (list/atoms_affected, atom/caster)

COMSIG_SPELL_BEFORE_CAST + + +

+

Sent from /datum/action/cooldown/spell/before_cast() to the spell: (atom/cast_on)

COMSIG_SPELL_CAST + + +

+

Sent from /datum/action/cooldown/spell/cast() to the spell: (atom/cast_on)

COMSIG_SPELL_CAST_RESET + + +

+

Sent from /datum/action/cooldown/spell/reset_spell_cooldown() to the spell: ()

COMSIG_SPELL_CONE_ON_CAST + + +

+

Sent from /datum/action/cooldown/spell/cone/cast: (list/atoms_affected, atom/caster)

COMSIG_SPELL_CONE_ON_LAYER_EFFECT + + +

+

Sent from /datum/action/cooldown/spell/cone/do_cone_effects: (list/atoms_affected, atom/caster, level)

COMSIG_SPELL_PROJECTILE_HIT + + +

+

Sent from /datum/action/cooldown/spell/pointed/projectile/on_cast_hit: (atom/firer, atom/target, atom/hit, angle, hit_limb)

COMSIG_SPELL_TOUCH_HAND_HIT + + +

+

Sent from /datum/action/cooldown/spell/touch/do_hand_hit: (atom/hit, mob/living/carbon/caster, obj/item/melee/touch_attack/hand)

INVOCATION_GARBLE_PROB + + +

+

index for the invocation garble probability number

INVOCATION_MESSAGE + + +

+

index for the invocation message string

INVOCATION_TYPE + + +

+

index for the invocation type string

SPELL_CANCEL_ACTIVATION + + +

+

Same as spell_cancel_cast, as they're able to be used interchangeably

SPELL_CANCEL_CAST + + +

+

Return to prevent the spell cast from continuing.

SPELL_INVOCATION_ALWAYS_SUCCEED + + +

+

The spell always succeeds to invoke regardless of following checks

SPELL_INVOCATION_FAIL + + +

+

The spell gets canceled

SPELL_NO_FEEDBACK + + +

+

Return from before cast signals to prevent the spell from giving off sound or invocation.

SPELL_NO_IMMEDIATE_COOLDOWN + + +

+

Return from before cast signals to prevent the spell from going on cooldown before aftercast.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_storage.html b/code/__DEFINES/dcs/signals/signals_storage.html new file mode 100644 index 00000000000..58e08223dfd --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_storage.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_storage.dm + +

+ + + + + +
COMSIG_STORAGE_DUMP_CONTENTSent when /datum/storage/dump_content_at(): (obj/item/storage_source, mob/user)
STORAGE_DUMP_HANDLEDReturn to stop the standard dump behavior.
COMSIG_STORAGE_DUMP_POST_TRANSFERSent after dumping into some other storage object: (atom/dest_object, mob/user)
COMSIG_STORAGE_STORED_ITEMSent to the STORAGE when an ITEM is STORED INSIDE.

Define Details

+

COMSIG_STORAGE_DUMP_CONTENT + + +

+

Sent when /datum/storage/dump_content_at(): (obj/item/storage_source, mob/user)

COMSIG_STORAGE_DUMP_POST_TRANSFER + + +

+

Sent after dumping into some other storage object: (atom/dest_object, mob/user)

COMSIG_STORAGE_STORED_ITEM + + +

+

Sent to the STORAGE when an ITEM is STORED INSIDE.

STORAGE_DUMP_HANDLED + + +

+

Return to stop the standard dump behavior.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_subsystem.html b/code/__DEFINES/dcs/signals/signals_subsystem.html new file mode 100644 index 00000000000..bddb9815c63 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_subsystem.html @@ -0,0 +1,64 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_subsystem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_subsystem.dm + +

+ + + + + + + + +
COMSIG_SUBSYSTEM_POST_INITIALIZESubsystem signals +From base of datum/controller/subsystem/Initialize
COMSIG_TICKER_ENTER_PREGAMECalled when the ticker enters the pre-game phase
COMSIG_TICKER_ENTER_SETTING_UPCalled when the ticker sets up the game for start
COMSIG_TICKER_ERROR_SETTING_UPCalled when the ticker fails to set up the game for start
COMSIG_TICKER_ROUND_STARTINGCalled when the round has started, but before GAME_STATE_PLAYING.
COMSIG_ADDED_POINT_OF_INTERESTSent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi)
COMSIG_REMOVED_POINT_OF_INTERESTSent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi)

Define Details

+

COMSIG_ADDED_POINT_OF_INTEREST + + +

+

Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_added : (atom/new_poi)

COMSIG_REMOVED_POINT_OF_INTEREST + + +

+

Sent from base of /datum/controller/subsystem/points_of_interest/proc/on_poi_element_removed : (atom/old_poi)

COMSIG_SUBSYSTEM_POST_INITIALIZE + + +

+

Subsystem signals +From base of datum/controller/subsystem/Initialize

COMSIG_TICKER_ENTER_PREGAME + + +

+

Called when the ticker enters the pre-game phase

COMSIG_TICKER_ENTER_SETTING_UP + + +

+

Called when the ticker sets up the game for start

COMSIG_TICKER_ERROR_SETTING_UP + + +

+

Called when the ticker fails to set up the game for start

COMSIG_TICKER_ROUND_STARTING + + +

+

Called when the round has started, but before GAME_STATE_PLAYING.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_swab.html b/code/__DEFINES/dcs/signals/signals_swab.html new file mode 100644 index 00000000000..ac01c941e7c --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_swab.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_swab.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_swab.dm + +

+ + +
COMSIG_SWAB_FOR_SAMPLESCalled when you try to swab something using the swabable component, includes a mutable list of what has been swabbed so far so it can be modified.

Define Details

+

COMSIG_SWAB_FOR_SAMPLES + + +

+

Called when you try to swab something using the swabable component, includes a mutable list of what has been swabbed so far so it can be modified.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_techweb.html b/code/__DEFINES/dcs/signals/signals_techweb.html new file mode 100644 index 00000000000..52922388d91 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_techweb.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_techweb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_techweb.dm + +

+ + + +
COMSIG_TECHWEB_ADD_DESIGNCalled when a techweb design is researched (datum/design/researched_design, custom)
COMSIG_TECHWEB_REMOVE_DESIGNCalled when a techweb design is removed (datum/design/removed_design, custom)

Define Details

+

COMSIG_TECHWEB_ADD_DESIGN + + +

+

Called when a techweb design is researched (datum/design/researched_design, custom)

COMSIG_TECHWEB_REMOVE_DESIGN + + +

+

Called when a techweb design is removed (datum/design/removed_design, custom)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_tools.html b/code/__DEFINES/dcs/signals/signals_tools.html new file mode 100644 index 00000000000..bbb57ce2fb4 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_tools.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_tools.dm + +

+ + + +
COMSIG_TOOL_ATOM_ACTED_PRIMARYCalled from /atom/proc/tool_act (atom)
COMSIG_TOOL_ATOM_ACTED_SECONDARYCalled from /atom/proc/tool_act (atom)

Define Details

+

COMSIG_TOOL_ATOM_ACTED_PRIMARY + + + +

+

Called from /atom/proc/tool_act (atom)

COMSIG_TOOL_ATOM_ACTED_SECONDARY + + + +

+

Called from /atom/proc/tool_act (atom)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_traitor.html b/code/__DEFINES/dcs/signals/signals_traitor.html new file mode 100644 index 00000000000..6b5bac66254 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_traitor.html @@ -0,0 +1,97 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_traitor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_traitor.dm + +

+ + + + + + + + + + + + + + + +
COMSIG_GLOB_TRAITOR_OBJECTIVE_COMPLETEDCalled when the hack_comm_console objective is completed.
COMSIG_UPLINK_HANDLER_ON_UPDATECalled whenever the uplink handler receives any sort of update. Used by uplinks to update their UI. No arguments passed
COMSIG_UPLINK_HANDLER_REPLACEMENT_ORDEREDSent from the uplink handler when the traitor uses the syndicate uplink beacon to order a replacement uplink.
COMSIG_TRAITOR_OBJECTIVE_PRE_GENERATECalled before the traitor objective is generated
COMSIG_TRAITOR_OBJECTIVE_COMPLETEDCalled whenever the traitor objective is completed
COMSIG_TRAITOR_OBJECTIVE_FAILEDCalled whenever the traitor objective is failed
COMSIG_TRAITOR_BUG_PLANTED_GROUNDCalled when a traitor bug is planted in an area
COMSIG_TRAITOR_BUG_PLANTED_OBJECTCalled when a traitor bug is planted
COMSIG_TRAITOR_BUG_PRE_PLANTED_OBJECTCalled before a traitor bug is planted, where it can still be overrided
COMSIG_TRAITOR_MACHINE_TRAP_TRIGGEREDCalled when a machine a traitor has booby trapped triggers its payload
COMSIG_DEMORALISING_EVENTCalled when a device a traitor has planted effects someone's mood. Pass the mind of the viewer.
COMSIG_TRAITOR_GRAFFITI_DRAWNCalled when you finish drawing some graffiti so we can register more signals on it. Pass the graffiti effect.
COMSIG_TRAITOR_GRAFFITI_SLIPPEDCalled when someone slips on some seditious graffiti. Pass the mind of the viewer.
COMSIG_EHMS_INJECTOR_INJECTEDFor when someone is injected with the EHMS virus from /datum/traitor_objective_category/infect

Define Details

+

COMSIG_DEMORALISING_EVENT + + +

+

Called when a device a traitor has planted effects someone's mood. Pass the mind of the viewer.

COMSIG_EHMS_INJECTOR_INJECTED + + +

+

For when someone is injected with the EHMS virus from /datum/traitor_objective_category/infect

COMSIG_GLOB_TRAITOR_OBJECTIVE_COMPLETED + + +

+

Called when the hack_comm_console objective is completed.

COMSIG_TRAITOR_BUG_PLANTED_GROUND + + +

+

Called when a traitor bug is planted in an area

COMSIG_TRAITOR_BUG_PLANTED_OBJECT + + +

+

Called when a traitor bug is planted

COMSIG_TRAITOR_BUG_PRE_PLANTED_OBJECT + + +

+

Called before a traitor bug is planted, where it can still be overrided

COMSIG_TRAITOR_GRAFFITI_DRAWN + + +

+

Called when you finish drawing some graffiti so we can register more signals on it. Pass the graffiti effect.

COMSIG_TRAITOR_GRAFFITI_SLIPPED + + +

+

Called when someone slips on some seditious graffiti. Pass the mind of the viewer.

COMSIG_TRAITOR_MACHINE_TRAP_TRIGGERED + + +

+

Called when a machine a traitor has booby trapped triggers its payload

COMSIG_TRAITOR_OBJECTIVE_COMPLETED + + +

+

Called whenever the traitor objective is completed

COMSIG_TRAITOR_OBJECTIVE_FAILED + + +

+

Called whenever the traitor objective is failed

COMSIG_TRAITOR_OBJECTIVE_PRE_GENERATE + + +

+

Called before the traitor objective is generated

+

Called whenever the uplink handler receives any sort of update. Used by uplinks to update their UI. No arguments passed

+

Sent from the uplink handler when the traitor uses the syndicate uplink beacon to order a replacement uplink.

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_transform.html b/code/__DEFINES/dcs/signals/signals_transform.html new file mode 100644 index 00000000000..ffd59013920 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_transform.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_transform.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_transform.dm + +

+ + + + + +
COMSIG_TRANSFORMING_PRE_TRANSFORMFrom /datum/component/transforming/proc/on_attack_self(obj/item/source, mob/user): (obj/item/source, mob/user, active)
COMPONENT_BLOCK_TRANSFORMReturn COMPONENT_BLOCK_TRANSFORM to prevent the item from transforming.
COMSIG_TRANSFORMING_ON_TRANSFORMFrom /datum/component/transforming/proc/do_transform(obj/item/source, mob/user): (obj/item/source, mob/user, active)
COMPONENT_NO_DEFAULT_MESSAGEReturn COMPONENT_NO_DEFAULT_MESSAGE to prevent the transforming component from displaying the default transform message / sound.

Define Details

+

COMPONENT_BLOCK_TRANSFORM + + +

+

Return COMPONENT_BLOCK_TRANSFORM to prevent the item from transforming.

COMPONENT_NO_DEFAULT_MESSAGE + + +

+

Return COMPONENT_NO_DEFAULT_MESSAGE to prevent the transforming component from displaying the default transform message / sound.

COMSIG_TRANSFORMING_ON_TRANSFORM + + +

+

From /datum/component/transforming/proc/do_transform(obj/item/source, mob/user): (obj/item/source, mob/user, active)

COMSIG_TRANSFORMING_PRE_TRANSFORM + + +

+

From /datum/component/transforming/proc/on_attack_self(obj/item/source, mob/user): (obj/item/source, mob/user, active)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_transport.html b/code/__DEFINES/dcs/signals/signals_transport.html new file mode 100644 index 00000000000..51ffe5eecb0 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_transport.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_transport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_transport.dm + +

+ + + + + + + + +
COMSIG_TRAM_TRAVELSent from /obj/structure/transport/linear/tram when it begins to travel. (obj/effect/landmark/tram/idle_platform, obj/effect/landmark/tram/to_where)
COMSIG_TRAM_COLLISIONSent from /obj/structure/transport/linear/tram when it hits someone: ()
COMSIG_TRANSPORT_REQUESTRequesting transport move to a destination
COMSIG_TRANSPORT_RESPONSEResponse to a COMSIG_TRANSPORT_REQUEST request signal
COMSIG_TRANSPORT_ACTIVETransport controller 'active' (busy) status
COMSIG_TRANSPORT_DESTINATIONTransport controller destination change signal
COMSIG_COMMS_STATUSTransport controller communication status (tram malfunction event)

Define Details

+

COMSIG_COMMS_STATUS + + +

+

Transport controller communication status (tram malfunction event)

COMSIG_TRAM_COLLISION + + +

+

Sent from /obj/structure/transport/linear/tram when it hits someone: ()

COMSIG_TRAM_TRAVEL + + +

+

Sent from /obj/structure/transport/linear/tram when it begins to travel. (obj/effect/landmark/tram/idle_platform, obj/effect/landmark/tram/to_where)

COMSIG_TRANSPORT_ACTIVE + + +

+

Transport controller 'active' (busy) status

COMSIG_TRANSPORT_DESTINATION + + +

+

Transport controller destination change signal

COMSIG_TRANSPORT_REQUEST + + +

+

Requesting transport move to a destination

COMSIG_TRANSPORT_RESPONSE + + +

+

Response to a COMSIG_TRANSPORT_REQUEST request signal

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_turf.html b/code/__DEFINES/dcs/signals/signals_turf.html new file mode 100644 index 00000000000..0fba81e844b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_turf.html @@ -0,0 +1,101 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_turf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_turf.dm + +

+ + + + + + + + + + + + + + + +
COMSIG_TURF_CHANGEfrom base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/post_change_callbacks). +post_change_callbacks is a list that signal handlers can mutate to append /datum/callback objects. +They will be called with the new turf after the turf has changed.
COMSIG_TURF_HAS_GRAVITYfrom base of atom/has_gravity(): (atom/asker, list/forced_gravities)
COMSIG_TURF_MULTIZ_DELfrom base of turf/multiz_turf_del(): (turf/source, direction)
COMSIG_TURF_MULTIZ_NEWfrom base of turf/multiz_turf_new: (turf/source, direction)
COMSIG_TURF_ON_SHUTTLE_MOVEfrom base of turf/proc/onShuttleMove(): (turf/new_turf)
COMSIG_TURF_RESERVATION_RELEASEDfrom base of /datum/turf_reservation/proc/Release: (datum/turf_reservation/reservation)
COMSIG_TURF_EXPOSEfrom /turf/open/temperature_expose(datum/gas_mixture/air, exposed_temperature)
COMSIG_TURF_CALCULATED_ADJACENT_ATMOSfrom /turf/proc/immediate_calculate_adjacent_turfs()
COMSIG_TURF_INDUSTRIAL_LIFT_ENTERcalled when an elevator enters this turf
COMSIG_TURF_DECAL_DETACHEDfrom /datum/element/decal/Detach(): (description, cleanable, directional, mutable_appearance/pic)
COMSIG_TURF_RECEIVE_SWEEPED_ITEMSfrom /obj/item/pushbroom/sweep(): (broom, user, items_to_sweep)
COMSIG_TURF_PREPARE_STEP_SOUNDfrom /datum/element/footstep/prepare_step(): (list/steps)
COMSIG_TURF_MOVABLE_THROW_LANDEDfrom base of datum/thrownthing/finalize(): (turf/turf, atom/movable/thrownthing) when something is thrown and lands on us
COMSIG_TURF_RESET_ELEVATIONFrom element/elevation/reset_elevation(): (list/values)

Define Details

+

COMSIG_TURF_CALCULATED_ADJACENT_ATMOS + + +

+

from /turf/proc/immediate_calculate_adjacent_turfs()

COMSIG_TURF_CHANGE + + +

+

from base of turf/ChangeTurf(): (path, list/new_baseturfs, flags, list/post_change_callbacks). +post_change_callbacks is a list that signal handlers can mutate to append /datum/callback objects. +They will be called with the new turf after the turf has changed.

COMSIG_TURF_DECAL_DETACHED + + +

+

from /datum/element/decal/Detach(): (description, cleanable, directional, mutable_appearance/pic)

COMSIG_TURF_EXPOSE + + +

+

from /turf/open/temperature_expose(datum/gas_mixture/air, exposed_temperature)

COMSIG_TURF_HAS_GRAVITY + + +

+

from base of atom/has_gravity(): (atom/asker, list/forced_gravities)

COMSIG_TURF_INDUSTRIAL_LIFT_ENTER + + +

+

called when an elevator enters this turf

COMSIG_TURF_MOVABLE_THROW_LANDED + + +

+

from base of datum/thrownthing/finalize(): (turf/turf, atom/movable/thrownthing) when something is thrown and lands on us

COMSIG_TURF_MULTIZ_DEL + + +

+

from base of turf/multiz_turf_del(): (turf/source, direction)

COMSIG_TURF_MULTIZ_NEW + + +

+

from base of turf/multiz_turf_new: (turf/source, direction)

COMSIG_TURF_ON_SHUTTLE_MOVE + + +

+

from base of turf/proc/onShuttleMove(): (turf/new_turf)

COMSIG_TURF_PREPARE_STEP_SOUND + + +

+

from /datum/element/footstep/prepare_step(): (list/steps)

COMSIG_TURF_RECEIVE_SWEEPED_ITEMS + + +

+

from /obj/item/pushbroom/sweep(): (broom, user, items_to_sweep)

COMSIG_TURF_RESERVATION_RELEASED + + +

+

from base of /datum/turf_reservation/proc/Release: (datum/turf_reservation/reservation)

COMSIG_TURF_RESET_ELEVATION + + +

+

From element/elevation/reset_elevation(): (list/values)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_twohand.html b/code/__DEFINES/dcs/signals/signals_twohand.html new file mode 100644 index 00000000000..230398eecdc --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_twohand.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_twohand.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_twohand.dm + +

+ + + +
COMSIG_TWOHANDED_WIELDfrom base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)
COMSIG_TWOHANDED_UNWIELDfrom base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)

Define Details

+

COMSIG_TWOHANDED_UNWIELD + + +

+

from base of datum/component/two_handed/proc/unwield(mob/living/carbon/user): (/mob/user)

COMSIG_TWOHANDED_WIELD + + +

+

from base of datum/component/two_handed/proc/wield(mob/living/carbon/user): (/mob/user)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_vehicle.html b/code/__DEFINES/dcs/signals/signals_vehicle.html new file mode 100644 index 00000000000..a20c8620a1b --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_vehicle.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_vehicle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_vehicle.dm + +

+ + + +
COMSIG_VEHICLE_RIDDENCalled on a mob when they start riding a vehicle (obj/vehicle)
EJECT_FROM_VEHICLEReturn this to signal that the mob should be removed from the vehicle

Define Details

+

COMSIG_VEHICLE_RIDDEN + + +

+

Called on a mob when they start riding a vehicle (obj/vehicle)

EJECT_FROM_VEHICLE + + +

+

Return this to signal that the mob should be removed from the vehicle

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_wash.html b/code/__DEFINES/dcs/signals/signals_wash.html new file mode 100644 index 00000000000..e4d528aacf1 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_wash.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_wash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_wash.dm + +

+ + +
COMSIG_COMPONENT_CLEAN_FACE_ACTcalled when you wash your face at a sink: (num/strength)

Define Details

+

COMSIG_COMPONENT_CLEAN_FACE_ACT + + +

+

called when you wash your face at a sink: (num/strength)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_wizard.html b/code/__DEFINES/dcs/signals/signals_wizard.html new file mode 100644 index 00000000000..b84d5f92c02 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_wizard.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_wizard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_wizard.dm + +

+ + + +
COMSIG_GRAND_RUNE_COMPLETESignal sent when we finish invoking a rune. Will also send the amount of cheese sacrificed on the rune : (cheese_sacrificed)
COMSIG_GRAND_RITUAL_FINAL_COMPLETESignal sent when we finish 7 grand rituals

Define Details

+

COMSIG_GRAND_RITUAL_FINAL_COMPLETE + + +

+

Signal sent when we finish 7 grand rituals

COMSIG_GRAND_RUNE_COMPLETE + + +

+

Signal sent when we finish invoking a rune. Will also send the amount of cheese sacrificed on the rune : (cheese_sacrificed)

+ + + diff --git a/code/__DEFINES/dcs/signals/signals_xeno_control.html b/code/__DEFINES/dcs/signals/signals_xeno_control.html new file mode 100644 index 00000000000..edf494cc059 --- /dev/null +++ b/code/__DEFINES/dcs/signals/signals_xeno_control.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/dcs/signals/signals_xeno_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dcs/signals/signals_xeno_control.dm + +

+ + + + + + + +
COMSIG_XENO_SLIME_CLICK_CTRLfrom slime CtrlClickOn(): (/mob)
COMSIG_XENO_SLIME_CLICK_ALTfrom slime AltClickOn(): (/mob)
COMSIG_XENO_SLIME_CLICK_SHIFTfrom slime ShiftClickOn(): (/mob)
COMSIG_XENO_TURF_CLICK_SHIFTfrom turf ShiftClickOn(): (/mob)
COMSIG_XENO_TURF_CLICK_CTRLfrom turf AltClickOn(): (/mob)
COMSIG_XENO_MONKEY_CLICK_CTRLfrom monkey CtrlClickOn(): (/mob)

Define Details

+

COMSIG_XENO_MONKEY_CLICK_CTRL + + +

+

from monkey CtrlClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_ALT + + +

+

from slime AltClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_CTRL + + +

+

from slime CtrlClickOn(): (/mob)

COMSIG_XENO_SLIME_CLICK_SHIFT + + +

+

from slime ShiftClickOn(): (/mob)

COMSIG_XENO_TURF_CLICK_CTRL + + +

+

from turf AltClickOn(): (/mob)

COMSIG_XENO_TURF_CLICK_SHIFT + + +

+

from turf ShiftClickOn(): (/mob)

+ + + diff --git a/code/__DEFINES/deadchat_control.html b/code/__DEFINES/deadchat_control.html new file mode 100644 index 00000000000..9527edadc40 --- /dev/null +++ b/code/__DEFINES/deadchat_control.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/deadchat_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/deadchat_control.dm + +

+ + + + +
DEMOCRACY_MODEWill execute a single command after the cooldown based on player votes.
ANARCHY_MODEAllows each player to do a single command every cooldown.
MUTE_DEMOCRACY_MESSAGESMutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.

Define Details

+

ANARCHY_MODE + + +

+

Allows each player to do a single command every cooldown.

DEMOCRACY_MODE + + +

+

Will execute a single command after the cooldown based on player votes.

MUTE_DEMOCRACY_MESSAGES + + +

+

Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.

+ + + diff --git a/code/__DEFINES/directional.html b/code/__DEFINES/directional.html new file mode 100644 index 00000000000..80a07747759 --- /dev/null +++ b/code/__DEFINES/directional.html @@ -0,0 +1,89 @@ + + + + + + + code/__DEFINES/directional.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/directional.dm + +

+ + + + + + + + + + + + +
TEXT_NORTHNorth direction as a string "[1]"
TEXT_SOUTHSouth direction as a string "[2]"
TEXT_EASTEast direction as a string "[4]"
TEXT_WESTWest direction as a string "[8]"
ISDIAGONALDIRReturns true if the dir is diagonal, false otherwise
NSCOMPONENTTrue if the dir is north or south, false therwise
EWCOMPONENTTrue if the dir is east/west, false otherwise
NSDIRFLIPFlips the dir for north/south directions
EWDIRFLIPFlips the dir for east/west directions
REVERSE_DIRInverse direction, taking into account UP|DOWN if necessary.
MAPPING_DIRECTIONAL_HELPERSCreate directional subtypes for a path to simplify mapping.

Define Details

+

EWCOMPONENT + + + +

+

True if the dir is east/west, false otherwise

EWDIRFLIP + + + +

+

Flips the dir for east/west directions

ISDIAGONALDIR + + + +

+

Returns true if the dir is diagonal, false otherwise

MAPPING_DIRECTIONAL_HELPERS + + + +

+

Create directional subtypes for a path to simplify mapping.

NSCOMPONENT + + + +

+

True if the dir is north or south, false therwise

NSDIRFLIP + + + +

+

Flips the dir for north/south directions

REVERSE_DIR + + + +

+

Inverse direction, taking into account UP|DOWN if necessary.

TEXT_EAST + + +

+

East direction as a string "[4]"

TEXT_NORTH + + +

+

North direction as a string "[1]"

TEXT_SOUTH + + +

+

South direction as a string "[2]"

TEXT_WEST + + +

+

West direction as a string "[8]"

+ + + diff --git a/code/__DEFINES/diseases.html b/code/__DEFINES/diseases.html new file mode 100644 index 00000000000..526fc15927d --- /dev/null +++ b/code/__DEFINES/diseases.html @@ -0,0 +1,193 @@ + + + + + + + code/__DEFINES/diseases.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/diseases.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DISEASE_SEVERITY_POSITIVEDiseases that buff, heal, or at least do nothing at all
DISEASE_SEVERITY_NONTHREATDiseases that may have annoying effects, but nothing disruptive (sneezing)
DISEASE_SEVERITY_MINORDiseases that can annoy in concrete ways (dizziness)
DISEASE_SEVERITY_MEDIUMDiseases that can do minor harm, or severe annoyance (vomit)
DISEASE_SEVERITY_HARMFULDiseases that can do significant harm, or severe disruption (brainrot)
DISEASE_SEVERITY_DANGEROUSDiseases that can kill or maim if left untreated (flesh eating, blindness)
DISEASE_SEVERITY_BIOHAZARDDiseases that can quickly kill an unprepared victim (fungal tb, gbs)
DISEASE_SEVERITY_UNCURABLEDiseases that are uncurable (hms)
DISEASE_CYCLES_POSITIVEPositive diseases should not self-cure by themselves, but if they do, they cure fast
DISEASE_CYCLES_NONTHREATRoughly 6 minutes for a harmless virus
DISEASE_CYCLES_MINORRoughly 5 minutes for a disruptive nuisance virus
DISEASE_CYCLES_MEDIUMRoughly 4 minutes for a medium virus
DISEASE_CYCLES_DANGEROUSRoughly 3 minutes for a dangerous virus
DISEASE_CYCLES_HARMFULRoughly 2 minutes for a harmful virus
DISEASE_CYCLES_BIOHAZARDRoughly 1 minute for a biohazard kill-death-evil-bad virus
DISEASE_RECOVERY_CONSTANTRecovery Constant - starting point, 'base' recovery when you get initially infected. +/ Minimum stage_prob is 1 for most advanced diseases. Don't raise it above that if you don't want those diseases to start naturally curing themselves.
DISEASE_RECOVERY_SCALINGRecovery Scaling - the divisor of the number of adjusted cycles at max_stages divided by Severity Guaranteed Cycles. +/ Raise to make over-time scaling more aggressive as you get further away from Severity Guaranteed Cycles. +/ Basically, once you hit Severity Guaranteed Cycles or equivalent, this will be your flat recovery chance, increasing by 1% for every Severity Guaranteed Cycles/this value cycles. So, if SGC = 30 and this = 3, every 10 cycles should give you another 1% per-cycle chance to recover.
DISEASE_PEAKED_RECOVERY_MULTIPLIERPeaked Recovery Multiplier - Once we hit max_stages, multiplicative bonus to recovery scaling. +/ Adjust to make it faster or slower to cure once the virus has reached its peak.
DISEASE_SLOWDOWN_RECOVERY_BONUSSlowdown Recovery Bonus - set this to the maximum extra chance per tick you want people to get to recover from spaceacillin or other slowdown/virus resistance effects
DISEASE_SLOWDOWN_RECOVERY_BONUS_DURATIONSlowdown Recovery Bonus Duration - set this to the maximum # of cycles you want things that cause slowdown/virus resistance to be able to add a bonus up to DISEASE_SLOWDOWN_RECOVERY_BONUS.______qdel_list_wrapper(list/L) +/ Scales down linearly over time.
DISEASE_MALNUTRITION_RECOVERY_PENALTYNegative Malnutrition Recovery Penalty +/ Flat penalty to recovery chance if malnourished or starving
DISEASE_SATIETY_RECOVERY_MULTIPLIERSatiety Recovery Multiplier - added chance to recover based on positive satiety +/ Multiplier of satiety/max_satiety if satiety is positive or zero. Increase to make satiety more valuable, decrease for less.
DISEASE_GOOD_SLEEPING_RECOVERY_BONUSGood Sleeping Recovery Bonus - additive benefits for various types of good sleep (blanket, bed, darkness, pillows.) +/ Raise to make each factor add this much chance to recover.
DISEASE_SLEEPING_RECOVERY_MULTIPLIERSleeping Recovery Multiplier - multiplies ALL recovery chance effects by this amount. +/ Set to 1 for no effect on recovery chances from sleeping.
DISEASE_FINAL_CURE_CHANCE_MULTIPLIERFinal Cure Chance Multiplier - multiplies the disease's cure chance to get the probability of moving from stage 1 to a final cure. +/ Must be greater than zero for diseases to self cure.
DISEASE_SYMPTOM_OFFSET_DURATIONSymptom Offset Duration - number of cycles over which sleeping/having spaceacillin or a slowdown effect can prevent symptoms appearing +/ Set to maximum # of cycles you want to be able to offset symptoms. Scales down linearly over time.
DISEASE_SYMPTOM_FREQUENCY_MODIFIERSymptom Frequency Modifier +/ Raise to make symptoms fire less frequently, lower to make them fire more frequently. Keep at 0 or above.
DISEASE_MINIMUM_CHEMICAL_CURE_CHANCEMinimum Chemical Cure Chance +/ Minimum per-cycle chance we want of being able to cure an advanced disease with the chemicals present.

Define Details

+

DISEASE_CYCLES_BIOHAZARD + + +

+

Roughly 1 minute for a biohazard kill-death-evil-bad virus

DISEASE_CYCLES_DANGEROUS + + +

+

Roughly 3 minutes for a dangerous virus

DISEASE_CYCLES_HARMFUL + + +

+

Roughly 2 minutes for a harmful virus

DISEASE_CYCLES_MEDIUM + + +

+

Roughly 4 minutes for a medium virus

DISEASE_CYCLES_MINOR + + +

+

Roughly 5 minutes for a disruptive nuisance virus

DISEASE_CYCLES_NONTHREAT + + +

+

Roughly 6 minutes for a harmless virus

DISEASE_CYCLES_POSITIVE + + +

+

Positive diseases should not self-cure by themselves, but if they do, they cure fast

DISEASE_FINAL_CURE_CHANCE_MULTIPLIER + + +

+

Final Cure Chance Multiplier - multiplies the disease's cure chance to get the probability of moving from stage 1 to a final cure. +/ Must be greater than zero for diseases to self cure.

DISEASE_GOOD_SLEEPING_RECOVERY_BONUS + + +

+

Good Sleeping Recovery Bonus - additive benefits for various types of good sleep (blanket, bed, darkness, pillows.) +/ Raise to make each factor add this much chance to recover.

DISEASE_MALNUTRITION_RECOVERY_PENALTY + + +

+

Negative Malnutrition Recovery Penalty +/ Flat penalty to recovery chance if malnourished or starving

DISEASE_MINIMUM_CHEMICAL_CURE_CHANCE + + +

+

Minimum Chemical Cure Chance +/ Minimum per-cycle chance we want of being able to cure an advanced disease with the chemicals present.

DISEASE_PEAKED_RECOVERY_MULTIPLIER + + +

+

Peaked Recovery Multiplier - Once we hit max_stages, multiplicative bonus to recovery scaling. +/ Adjust to make it faster or slower to cure once the virus has reached its peak.

DISEASE_RECOVERY_CONSTANT + + +

+

Recovery Constant - starting point, 'base' recovery when you get initially infected. +/ Minimum stage_prob is 1 for most advanced diseases. Don't raise it above that if you don't want those diseases to start naturally curing themselves.

DISEASE_RECOVERY_SCALING + + +

+

Recovery Scaling - the divisor of the number of adjusted cycles at max_stages divided by Severity Guaranteed Cycles. +/ Raise to make over-time scaling more aggressive as you get further away from Severity Guaranteed Cycles. +/ Basically, once you hit Severity Guaranteed Cycles or equivalent, this will be your flat recovery chance, increasing by 1% for every Severity Guaranteed Cycles/this value cycles. So, if SGC = 30 and this = 3, every 10 cycles should give you another 1% per-cycle chance to recover.

DISEASE_SATIETY_RECOVERY_MULTIPLIER + + +

+

Satiety Recovery Multiplier - added chance to recover based on positive satiety +/ Multiplier of satiety/max_satiety if satiety is positive or zero. Increase to make satiety more valuable, decrease for less.

DISEASE_SEVERITY_BIOHAZARD + + +

+

Diseases that can quickly kill an unprepared victim (fungal tb, gbs)

DISEASE_SEVERITY_DANGEROUS + + +

+

Diseases that can kill or maim if left untreated (flesh eating, blindness)

DISEASE_SEVERITY_HARMFUL + + +

+

Diseases that can do significant harm, or severe disruption (brainrot)

DISEASE_SEVERITY_MEDIUM + + +

+

Diseases that can do minor harm, or severe annoyance (vomit)

DISEASE_SEVERITY_MINOR + + +

+

Diseases that can annoy in concrete ways (dizziness)

DISEASE_SEVERITY_NONTHREAT + + +

+

Diseases that may have annoying effects, but nothing disruptive (sneezing)

DISEASE_SEVERITY_POSITIVE + + +

+

Diseases that buff, heal, or at least do nothing at all

DISEASE_SEVERITY_UNCURABLE + + +

+

Diseases that are uncurable (hms)

DISEASE_SLEEPING_RECOVERY_MULTIPLIER + + +

+

Sleeping Recovery Multiplier - multiplies ALL recovery chance effects by this amount. +/ Set to 1 for no effect on recovery chances from sleeping.

DISEASE_SLOWDOWN_RECOVERY_BONUS + + +

+

Slowdown Recovery Bonus - set this to the maximum extra chance per tick you want people to get to recover from spaceacillin or other slowdown/virus resistance effects

DISEASE_SLOWDOWN_RECOVERY_BONUS_DURATION + + +

+

Slowdown Recovery Bonus Duration - set this to the maximum # of cycles you want things that cause slowdown/virus resistance to be able to add a bonus up to DISEASE_SLOWDOWN_RECOVERY_BONUS.______qdel_list_wrapper(list/L) +/ Scales down linearly over time.

DISEASE_SYMPTOM_FREQUENCY_MODIFIER + + +

+

Symptom Frequency Modifier +/ Raise to make symptoms fire less frequently, lower to make them fire more frequently. Keep at 0 or above.

DISEASE_SYMPTOM_OFFSET_DURATION + + +

+

Symptom Offset Duration - number of cycles over which sleeping/having spaceacillin or a slowdown effect can prevent symptoms appearing +/ Set to maximum # of cycles you want to be able to offset symptoms. Scales down linearly over time.

+ + + diff --git a/code/__DEFINES/dna_infuser_defines.html b/code/__DEFINES/dna_infuser_defines.html new file mode 100644 index 00000000000..ed247806f5c --- /dev/null +++ b/code/__DEFINES/dna_infuser_defines.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/dna_infuser_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dna_infuser_defines.dm + +

+ + + + + + + + +
DNA_INFUSION_NO_THRESHOLDjust clarifying that no threshold does some special stuff, since only meme mutants have it
DNA_MUTANT_UNOBTAINABLEdoesn't show up in the entry book, isn't a valid infusion
DNA_MUTANT_TIER_ZEROtier 0 mutants, roundstart, cosmetic, or bonus-less infusions
DNA_MUTANT_TIER_ONEtier 1 mutants, job-related mutants, easy infusions
DNA_MUTANT_TIER_TWOtier 2 mutants, harder to make infusions
DNA_MUTANT_TIER_THREEtier 3 mutants, requires cooperation with vatgrowing xenobiologists, outwardly and plainly strong. SOON
DNA_INFUSER_MAX_TIERdna infuser won't upgrade past this tier

Define Details

+

DNA_INFUSER_MAX_TIER + + +

+

dna infuser won't upgrade past this tier

DNA_INFUSION_NO_THRESHOLD + + +

+

just clarifying that no threshold does some special stuff, since only meme mutants have it

DNA_MUTANT_TIER_ONE + + +

+

tier 1 mutants, job-related mutants, easy infusions

DNA_MUTANT_TIER_THREE + + +

+

tier 3 mutants, requires cooperation with vatgrowing xenobiologists, outwardly and plainly strong. SOON

DNA_MUTANT_TIER_TWO + + +

+

tier 2 mutants, harder to make infusions

DNA_MUTANT_TIER_ZERO + + +

+

tier 0 mutants, roundstart, cosmetic, or bonus-less infusions

DNA_MUTANT_UNOBTAINABLE + + +

+

doesn't show up in the entry book, isn't a valid infusion

+ + + diff --git a/code/__DEFINES/drone.html b/code/__DEFINES/drone.html new file mode 100644 index 00000000000..273316e9f6c --- /dev/null +++ b/code/__DEFINES/drone.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/drone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/drone.dm + +

+ + + + + + + + + + +
DRONE_NET_CONNECTMessage displayed when new drone spawns in drone network
DRONE_NET_DISCONNECTMessage displayed when drone in network dies
MAINTDRONEMaintenance Drone icon_state (multiple colors)
REPAIRDRONERepair Drone icon_state
SCOUTDRONEScout Drone icon_state
CLOCKDRONEClockwork Drone icon_state
MAINTDRONE_HACKEDMAINTDRONE hacked icon_state
REPAIRDRONE_HACKEDREPAIRDRONE hacked icon_state
SCOUTDRONE_HACKEDSCOUTDRONE hacked icon_state

Define Details

+

CLOCKDRONE + + +

+

Clockwork Drone icon_state

DRONE_NET_CONNECT + + +

+

Message displayed when new drone spawns in drone network

DRONE_NET_DISCONNECT + + +

+

Message displayed when drone in network dies

MAINTDRONE + + +

+

Maintenance Drone icon_state (multiple colors)

MAINTDRONE_HACKED + + +

+

MAINTDRONE hacked icon_state

REPAIRDRONE + + +

+

Repair Drone icon_state

REPAIRDRONE_HACKED + + +

+

REPAIRDRONE hacked icon_state

SCOUTDRONE + + +

+

Scout Drone icon_state

SCOUTDRONE_HACKED + + +

+

SCOUTDRONE hacked icon_state

+ + + diff --git a/code/__DEFINES/dynamic.html b/code/__DEFINES/dynamic.html new file mode 100644 index 00000000000..889b78a03f7 --- /dev/null +++ b/code/__DEFINES/dynamic.html @@ -0,0 +1,87 @@ + + + + + + + code/__DEFINES/dynamic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/dynamic.dm + +

+ + + + + + + + + + + + + +
ONLY_RULESETThis is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.
HIGH_IMPACT_RULESETOnly one ruleset with this flag will be picked.
LONE_RULESETThis ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.
MIDROUND_RULESET_STYLE_HEAVYThis is a "heavy" midround ruleset, and should be run later into the round
MIDROUND_RULESET_STYLE_LIGHTThis is a "light" midround ruleset, and should be run early into the round
HIJACKED_NOTHINGNo round event was hijacked this cycle
HIJACKED_TOO_RECENTThis cycle, a round event was hijacked when the last midround event was too recent.
RULESET_STOP_PROCESSINGKill this ruleset from continuing to process
REQUIREMENTS_VERY_HIGH_THREAT_NEEDEDRequirements when something needs a lot of threat to run, but still possible at low-pop
ABDUCTOR_MAX_TEAMSMax number of teams we can have for the abductor ruleset
RULESET_FORCE_ENABLEDRuleset should run regardless of population and threat available
RULESET_FORCE_DISABLEDRuleset should not run regardless of population and threat available

Define Details

+

ABDUCTOR_MAX_TEAMS + + +

+

Max number of teams we can have for the abductor ruleset

HIGH_IMPACT_RULESET + + +

+

Only one ruleset with this flag will be picked.

HIJACKED_NOTHING + + +

+

No round event was hijacked this cycle

HIJACKED_TOO_RECENT + + +

+

This cycle, a round event was hijacked when the last midround event was too recent.

LONE_RULESET + + +

+

This ruleset can only be picked once. Anything that does not have a scaling_cost MUST have this.

MIDROUND_RULESET_STYLE_HEAVY + + +

+

This is a "heavy" midround ruleset, and should be run later into the round

MIDROUND_RULESET_STYLE_LIGHT + + +

+

This is a "light" midround ruleset, and should be run early into the round

ONLY_RULESET + + +

+

This is the only ruleset that should be picked this round, used by admins and should not be on rulesets in code.

REQUIREMENTS_VERY_HIGH_THREAT_NEEDED + + +

+

Requirements when something needs a lot of threat to run, but still possible at low-pop

RULESET_FORCE_DISABLED + + +

+

Ruleset should not run regardless of population and threat available

RULESET_FORCE_ENABLED + + +

+

Ruleset should run regardless of population and threat available

RULESET_STOP_PROCESSING + + +

+

Kill this ruleset from continuing to process

+ + + diff --git a/code/__DEFINES/economy.html b/code/__DEFINES/economy.html new file mode 100644 index 00000000000..810b8351fac --- /dev/null +++ b/code/__DEFINES/economy.html @@ -0,0 +1,73 @@ + + + + + + + code/__DEFINES/economy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/economy.dm + +

+ + + + + + + + + + +
STARTING_PAYCHECKSNumber of paychecks jobs start with at the creation of a new bank account for a player (So at shift-start or game join, but not a blank new account.)
MAX_MAIL_PER_MINUTEHow much mail the Economy SS will create per minute, regardless of firing time.
FULL_CRATE_LETTER_ODDSProbability of using letters of envelope sprites on all letters.
PAYCHECK_ZERODefault paygrade for the Unassigned Job/Unpaid job assignments.
PAYCHECK_LOWERPaygrade for Prisoners and Assistants.
PAYCHECK_CREWPaygrade for all regular crew not belonging to PAYGRADE_LOWER or PAYGRADE_COMMAND.
PAYCHECK_COMMANDPaygrade for Heads of Staff.
DEBT_COLLECTION_COEFFThe coefficient for the amount of dosh that's collected everytime some is earned or received.
MARKET_QUANTITY_HELPERSCreate quantity subtypes for stock market datums.

Define Details

+

DEBT_COLLECTION_COEFF + + +

+

The coefficient for the amount of dosh that's collected everytime some is earned or received.

FULL_CRATE_LETTER_ODDS + + +

+

Probability of using letters of envelope sprites on all letters.

MARKET_QUANTITY_HELPERS + + + +

+

Create quantity subtypes for stock market datums.

MAX_MAIL_PER_MINUTE + + +

+

How much mail the Economy SS will create per minute, regardless of firing time.

PAYCHECK_COMMAND + + +

+

Paygrade for Heads of Staff.

PAYCHECK_CREW + + +

+

Paygrade for all regular crew not belonging to PAYGRADE_LOWER or PAYGRADE_COMMAND.

PAYCHECK_LOWER + + +

+

Paygrade for Prisoners and Assistants.

PAYCHECK_ZERO + + +

+

Default paygrade for the Unassigned Job/Unpaid job assignments.

STARTING_PAYCHECKS + + +

+

Number of paychecks jobs start with at the creation of a new bank account for a player (So at shift-start or game join, but not a blank new account.)

+ + + diff --git a/code/__DEFINES/electrified_buckle.html b/code/__DEFINES/electrified_buckle.html new file mode 100644 index 00000000000..a5b9f82e2e9 --- /dev/null +++ b/code/__DEFINES/electrified_buckle.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/electrified_buckle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/electrified_buckle.dm + +

+ + + + + + + +
SHOCK_REQUIREMENT_ITEMelectrified_buckle requires a shock kit attached to it in order to shock
SHOCK_REQUIREMENT_LIVE_CABLEelectrified_buckle requires a live cable to work, and draws power from it
SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVEDelectrified_buckle requires to be turned on with a signal in order to shock the buckled mob
SHOCK_REQUIREMENT_PARENT_MOB_ISALIVEelectrified_buckle requires the parent to be alive in order to shock (if parent is a mob)
SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLEa signal can toggle the ability to shock on a timer
TRAIT_ELECTRIFIED_BUCKLEThis trait signifies that the object can be used to electrify things buckled to it

Define Details

+

SHOCK_REQUIREMENT_ITEM + + +

+

electrified_buckle requires a shock kit attached to it in order to shock

SHOCK_REQUIREMENT_LIVE_CABLE + + +

+

electrified_buckle requires a live cable to work, and draws power from it

SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVED + + +

+

electrified_buckle requires to be turned on with a signal in order to shock the buckled mob

SHOCK_REQUIREMENT_PARENT_MOB_ISALIVE + + +

+

electrified_buckle requires the parent to be alive in order to shock (if parent is a mob)

SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE + + +

+

a signal can toggle the ability to shock on a timer

TRAIT_ELECTRIFIED_BUCKLE + + +

+

This trait signifies that the object can be used to electrify things buckled to it

+ + + diff --git a/code/__DEFINES/events.html b/code/__DEFINES/events.html new file mode 100644 index 00000000000..bdd826501fb --- /dev/null +++ b/code/__DEFINES/events.html @@ -0,0 +1,122 @@ + + + + + + + code/__DEFINES/events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/events.dm + +

+ + + + + + + + + + + + + + + + + + + + +
EVENT_CATEGORY_AIEvents that mess with or create artificial intelligences, such as vending machines and the AI itself
EVENT_CATEGORY_ANOMALIESEvents that spawn anomalies, which might be the source of anomaly cores
EVENT_CATEGORY_BUREAUCRATICEvents pertaining cargo, messages incoming to the station and job slots
EVENT_CATEGORY_ENGINEERINGEvents that cause breakages and malfunctions that could be fixed by engineers
EVENT_CATEGORY_ENTITIESEvents that spawn creatures with simple desires, such as to hunt
EVENT_CATEGORY_FRIENDLYEvents that should have no harmful effects, and might be useful to the crew
EVENT_CATEGORY_HEALTHEvents that affect the body and mind
EVENT_CATEGORY_HOLIDAYEvents reserved for special occassions
EVENT_CATEGORY_INVASIONEvents with enemy groups with a more complex plan
EVENT_CATEGORY_JANITORIALEvents that make a mess
EVENT_CATEGORY_SPACEEvents that summon meteors and other debris, and stationwide waves of harmful space weather
EVENT_CATEGORY_WIZARDEvents summoned by a wizard
ADMIN_CANCEL_EVENTReturn from admin setup to stop the event from triggering entirely.
NEVER_TRIGGERED_BY_WIZARDSEvent can never be triggered by wizards
EVENT_SPACE_ONLYEvent can only run on a map set in space
EVENT_PLANETARY_ONLYEvent can only run on a map which is a planet
EVENT_SECONDSEvent timer in seconds
FUGITIVE_BACKSTORY_WALDOBackstory key for the fugitive solo backstories
FUGITIVE_BACKSTORY_PRISONERBackstory keys for the fugitive team backstories

Define Details

+

ADMIN_CANCEL_EVENT + + +

+

Return from admin setup to stop the event from triggering entirely.

EVENT_CATEGORY_AI + + +

+

Events that mess with or create artificial intelligences, such as vending machines and the AI itself

EVENT_CATEGORY_ANOMALIES + + +

+

Events that spawn anomalies, which might be the source of anomaly cores

EVENT_CATEGORY_BUREAUCRATIC + + +

+

Events pertaining cargo, messages incoming to the station and job slots

EVENT_CATEGORY_ENGINEERING + + +

+

Events that cause breakages and malfunctions that could be fixed by engineers

EVENT_CATEGORY_ENTITIES + + +

+

Events that spawn creatures with simple desires, such as to hunt

EVENT_CATEGORY_FRIENDLY + + +

+

Events that should have no harmful effects, and might be useful to the crew

EVENT_CATEGORY_HEALTH + + +

+

Events that affect the body and mind

EVENT_CATEGORY_HOLIDAY + + +

+

Events reserved for special occassions

EVENT_CATEGORY_INVASION + + +

+

Events with enemy groups with a more complex plan

EVENT_CATEGORY_JANITORIAL + + +

+

Events that make a mess

EVENT_CATEGORY_SPACE + + +

+

Events that summon meteors and other debris, and stationwide waves of harmful space weather

EVENT_CATEGORY_WIZARD + + +

+

Events summoned by a wizard

EVENT_PLANETARY_ONLY + + +

+

Event can only run on a map which is a planet

EVENT_SECONDS + + +

+

Event timer in seconds

EVENT_SPACE_ONLY + + +

+

Event can only run on a map set in space

FUGITIVE_BACKSTORY_PRISONER + + +

+

Backstory keys for the fugitive team backstories

FUGITIVE_BACKSTORY_WALDO + + +

+

Backstory key for the fugitive solo backstories

NEVER_TRIGGERED_BY_WIZARDS + + +

+

Event can never be triggered by wizards

+ + + diff --git a/code/__DEFINES/exosuit_fab.html b/code/__DEFINES/exosuit_fab.html new file mode 100644 index 00000000000..3fff8956463 --- /dev/null +++ b/code/__DEFINES/exosuit_fab.html @@ -0,0 +1,132 @@ + + + + + + + code/__DEFINES/exosuit_fab.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/exosuit_fab.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
BORG_MODEL_SECURITYModule is compatible with Security Cyborg model
BORG_MODEL_MINERModule is compatible with Miner Cyborg model
BORG_MODEL_JANITORModule is compatible with Janitor Cyborg model
BORG_MODEL_MEDICALModule is compatible with Medical Cyborg model
BORG_MODEL_ENGINEERINGModule is compatible with Engineering Cyborg model
BORG_MODEL_SERVICEModule is compatible with Service Cyborg model
EXOSUIT_MODULE_RIPLEYModule is compatible with Ripley Exosuit models
EXOSUIT_MODULE_ODYSSEUSModule is compatible with Odyseeus Exosuit models
EXOSUIT_MODULE_CLARKEModule is compatible with Clarke Exosuit models
EXOSUIT_MODULE_CONCEALED_WEP_BAYModule is compatible with a mech carrying an empty Concealed Weapon Bay
EXOSUIT_MODULE_GYGAXModule is compatible with Gygax Exosuit models
EXOSUIT_MODULE_DURANDModule is compatible with Durand Exosuit models
EXOSUIT_MODULE_HONKModule is compatible with H.O.N.K Exosuit models
EXOSUIT_MODULE_PHAZONModule is compatible with Phazon Exosuit models
EXOSUIT_MODULE_SAVANNAHModule is compatible with Savannah Exosuit models
EXOSUIT_MODULE_RETICENCEModule is compatible with Reticence models
EXOSUIT_MODULE_MARAUDERModule is compatible with Marauder models
EXOSUIT_MODULE_PADDYModule is compatible with Paddy models
EXOSUIT_MODULE_WORKINGModule is compatible with "Working" Exosuit models - Ripley and Clarke
EXOSUIT_MODULE_COMBATModule is compatible with "Combat" Exosuit models - Gygax, H.O.N.K, Durand and Phazon, or any Exosuit with an empty Concealed Weapon Bay
EXOSUIT_MODULE_MEDICALModule is compatible with "Medical" Exosuit modelsm - Odysseus

Define Details

+

BORG_MODEL_ENGINEERING + + +

+

Module is compatible with Engineering Cyborg model

BORG_MODEL_JANITOR + + +

+

Module is compatible with Janitor Cyborg model

BORG_MODEL_MEDICAL + + +

+

Module is compatible with Medical Cyborg model

BORG_MODEL_MINER + + +

+

Module is compatible with Miner Cyborg model

BORG_MODEL_SECURITY + + +

+

Module is compatible with Security Cyborg model

BORG_MODEL_SERVICE + + +

+

Module is compatible with Service Cyborg model

EXOSUIT_MODULE_CLARKE + + +

+

Module is compatible with Clarke Exosuit models

EXOSUIT_MODULE_COMBAT + + +

+

Module is compatible with "Combat" Exosuit models - Gygax, H.O.N.K, Durand and Phazon, or any Exosuit with an empty Concealed Weapon Bay

EXOSUIT_MODULE_CONCEALED_WEP_BAY + + +

+

Module is compatible with a mech carrying an empty Concealed Weapon Bay

EXOSUIT_MODULE_DURAND + + +

+

Module is compatible with Durand Exosuit models

EXOSUIT_MODULE_GYGAX + + +

+

Module is compatible with Gygax Exosuit models

EXOSUIT_MODULE_HONK + + +

+

Module is compatible with H.O.N.K Exosuit models

EXOSUIT_MODULE_MARAUDER + + +

+

Module is compatible with Marauder models

EXOSUIT_MODULE_MEDICAL + + +

+

Module is compatible with "Medical" Exosuit modelsm - Odysseus

EXOSUIT_MODULE_ODYSSEUS + + +

+

Module is compatible with Odyseeus Exosuit models

EXOSUIT_MODULE_PADDY + + +

+

Module is compatible with Paddy models

EXOSUIT_MODULE_PHAZON + + +

+

Module is compatible with Phazon Exosuit models

EXOSUIT_MODULE_RETICENCE + + +

+

Module is compatible with Reticence models

EXOSUIT_MODULE_RIPLEY + + +

+

Module is compatible with Ripley Exosuit models

EXOSUIT_MODULE_SAVANNAH + + +

+

Module is compatible with Savannah Exosuit models

EXOSUIT_MODULE_WORKING + + +

+

Module is compatible with "Working" Exosuit models - Ripley and Clarke

+ + + diff --git a/code/__DEFINES/experisci.html b/code/__DEFINES/experisci.html new file mode 100644 index 00000000000..9cee2adfd79 --- /dev/null +++ b/code/__DEFINES/experisci.html @@ -0,0 +1,113 @@ + + + + + + + code/__DEFINES/experisci.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/experisci.dm + +

+ + + + + + + + + + + + + + + + +
EXPERIMENT_BOOL_STAGEBoolean stage, complete/incomplete. No specific progress to report.
EXPERIMENT_INT_STAGEInteger stages, should be whole numbers with total being included +to support rendering value of total, or something akin to it.
EXPERIMENT_FLOAT_STAGEFloat stages, the value should be between 0 and 1 representing percent completion
EXPERIMENT_DETAIL_STAGEDetail stages, only provide more textual information and have no inherent progress
EXPERIMENT_PROGRESSMacro for defining a progress stage
EXPERIMENT_PROG_BOOLMacro for boolean stages
EXPERIMENT_PROG_INTMacro for integer stages
EXPERIMENT_PROG_FLOATMacro for float stages
EXPERIMENT_PROG_DETAILMacro for non-valued stages, details for exp stages
EXPERIMENT_TRAIT_DESTRUCTIVEDestructive experiments which will destroy the sample
EXPERIMENT_TRAIT_TYPECACHEUsed by scanning experiments: instead of storing refs or be a number, the list for scanned atoms is used as typecache
EXPERIMENT_CONFIG_ALWAYS_ACTIVEWill always attempt to action every experiment eligible with a single input, +no experiment selection required
EXPERIMENT_CONFIG_NO_AUTOCONNECTExperiment handlers with this flag will not automatically connect to the first techweb they find +on initialization
EXPERIMENT_CONFIG_SILENT_FAILExperiment handlers with this flag won't pester the user of objects not pertinent to the test or if no experiment is selected
EXPERIMENT_CONFIG_IMMEDIATE_ACTIONExperiment handlers with this flag will bypass any delay when trying to scan something

Define Details

+

EXPERIMENT_BOOL_STAGE + + +

+

Boolean stage, complete/incomplete. No specific progress to report.

EXPERIMENT_CONFIG_ALWAYS_ACTIVE + + +

+

Will always attempt to action every experiment eligible with a single input, +no experiment selection required

EXPERIMENT_CONFIG_IMMEDIATE_ACTION + + +

+

Experiment handlers with this flag will bypass any delay when trying to scan something

EXPERIMENT_CONFIG_NO_AUTOCONNECT + + +

+

Experiment handlers with this flag will not automatically connect to the first techweb they find +on initialization

EXPERIMENT_CONFIG_SILENT_FAIL + + +

+

Experiment handlers with this flag won't pester the user of objects not pertinent to the test or if no experiment is selected

EXPERIMENT_DETAIL_STAGE + + +

+

Detail stages, only provide more textual information and have no inherent progress

EXPERIMENT_FLOAT_STAGE + + +

+

Float stages, the value should be between 0 and 1 representing percent completion

EXPERIMENT_INT_STAGE + + +

+

Integer stages, should be whole numbers with total being included +to support rendering value of total, or something akin to it.

EXPERIMENT_PROGRESS + + + +

+

Macro for defining a progress stage

EXPERIMENT_PROG_BOOL + + + +

+

Macro for boolean stages

EXPERIMENT_PROG_DETAIL + + + +

+

Macro for non-valued stages, details for exp stages

EXPERIMENT_PROG_FLOAT + + + +

+

Macro for float stages

EXPERIMENT_PROG_INT + + + +

+

Macro for integer stages

EXPERIMENT_TRAIT_DESTRUCTIVE + + +

+

Destructive experiments which will destroy the sample

EXPERIMENT_TRAIT_TYPECACHE + + +

+

Used by scanning experiments: instead of storing refs or be a number, the list for scanned atoms is used as typecache

+ + + diff --git a/code/__DEFINES/explosions.html b/code/__DEFINES/explosions.html new file mode 100644 index 00000000000..1c1058e3532 --- /dev/null +++ b/code/__DEFINES/explosions.html @@ -0,0 +1,153 @@ + + + + + + + code/__DEFINES/explosions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/explosions.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
EXPLODE_DEVASTATEThe (current) highest possible explosion severity.
EXPLODE_HEAVYThe (current) middling explosion severity.
EXPLODE_LIGHTThe (current) lowest possible explosion severity.
EXPLODE_NONEThe default explosion severity used to mark that an object is beyond the impact range of the explosion.
GIBTONITE_UNSTRUCKGibtonite has not been mined
GIBTONITE_ACTIVEGibtonite has been mined and will explode soon
GIBTONITE_STABLEGibtonite has been stablized preventing an explosion
GIBTONITE_DETONATEGibtonite will now explode
EX_ACTA wrapper for /atom/proc/ex_act to ensure that the explosion propagation and attendant signal are always handled.
EXARG_KEY_ORIGINThe origin atom of the explosion.
EXARG_KEY_EXPLOSION_CAUSEThe potential cause of the explosion, if different to origin.
EXARG_KEY_DEV_RANGEThe devastation range of the explosion.
EXARG_KEY_HEAVY_RANGEThe heavy impact range of the explosion.
EXARG_KEY_LIGHT_RANGEThe light impact range of the explosion.
EXARG_KEY_FLAME_RANGEThe flame range of the explosion.
EXARG_KEY_FLASH_RANGEThe flash range of the explosion.
EXARG_KEY_ADMIN_LOGWhether or not the explosion should be logged.
EXARG_KEY_IGNORE_CAPWhether or not the explosion should ignore the bombcap.
EXARG_KEY_SILENTWhether or not the explosion should produce sound effects and screenshake if it is large enough to warrant it.
EXARG_KEY_SMOKEWhether or not the explosion should produce smoke if it is large enough to warrant it.
EXPLODABLE_NO_DELETEMakes the explodable component queue to reset its exploding status when it detonates.
EXPLODABLE_DELETE_SELFMakes the explodable component delete itself when it detonates.
EXPLODABLE_DELETE_PARENTMakes the explodable component delete its parent when it detonates.
GRENADE_DUDThe grenade cannot detonate at all. It is innately nonfunctional.
GRENADE_USEDThe grenade has been used and as such cannot detonate.

Define Details

+

EXARG_KEY_ADMIN_LOG + + +

+

Whether or not the explosion should be logged.

EXARG_KEY_DEV_RANGE + + +

+

The devastation range of the explosion.

EXARG_KEY_EXPLOSION_CAUSE + + +

+

The potential cause of the explosion, if different to origin.

EXARG_KEY_FLAME_RANGE + + +

+

The flame range of the explosion.

EXARG_KEY_FLASH_RANGE + + +

+

The flash range of the explosion.

EXARG_KEY_HEAVY_RANGE + + +

+

The heavy impact range of the explosion.

EXARG_KEY_IGNORE_CAP + + +

+

Whether or not the explosion should ignore the bombcap.

EXARG_KEY_LIGHT_RANGE + + +

+

The light impact range of the explosion.

EXARG_KEY_ORIGIN + + +

+

The origin atom of the explosion.

EXARG_KEY_SILENT + + +

+

Whether or not the explosion should produce sound effects and screenshake if it is large enough to warrant it.

EXARG_KEY_SMOKE + + +

+

Whether or not the explosion should produce smoke if it is large enough to warrant it.

EXPLODABLE_DELETE_PARENT + + +

+

Makes the explodable component delete its parent when it detonates.

EXPLODABLE_DELETE_SELF + + +

+

Makes the explodable component delete itself when it detonates.

EXPLODABLE_NO_DELETE + + +

+

Makes the explodable component queue to reset its exploding status when it detonates.

EXPLODE_DEVASTATE + + +

+

The (current) highest possible explosion severity.

EXPLODE_HEAVY + + +

+

The (current) middling explosion severity.

EXPLODE_LIGHT + + +

+

The (current) lowest possible explosion severity.

EXPLODE_NONE + + +

+

The default explosion severity used to mark that an object is beyond the impact range of the explosion.

EX_ACT + + + +

+

A wrapper for /atom/proc/ex_act to ensure that the explosion propagation and attendant signal are always handled.

GIBTONITE_ACTIVE + + +

+

Gibtonite has been mined and will explode soon

GIBTONITE_DETONATE + + +

+

Gibtonite will now explode

GIBTONITE_STABLE + + +

+

Gibtonite has been stablized preventing an explosion

GIBTONITE_UNSTRUCK + + +

+

Gibtonite has not been mined

GRENADE_DUD + + +

+

The grenade cannot detonate at all. It is innately nonfunctional.

GRENADE_USED + + +

+

The grenade has been used and as such cannot detonate.

+ + + diff --git a/code/__DEFINES/external_organs.html b/code/__DEFINES/external_organs.html new file mode 100644 index 00000000000..33317a950e0 --- /dev/null +++ b/code/__DEFINES/external_organs.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/external_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/external_organs.dm + +

+ + + + + +
ORGAN_COLOR_INHERITUses the parent limb's drawcolor value.
ORGAN_COLOR_OVERRIDEUses /organ/external/proc/override_color()'s return value
ORGAN_COLOR_HAIRUses the parent's haircolor
WAG_ABLETail wagging

Define Details

+

ORGAN_COLOR_HAIR + + +

+

Uses the parent's haircolor

ORGAN_COLOR_INHERIT + + +

+

Uses the parent limb's drawcolor value.

ORGAN_COLOR_OVERRIDE + + +

+

Uses /organ/external/proc/override_color()'s return value

WAG_ABLE + + +

+

Tail wagging

+ + + diff --git a/code/__DEFINES/firealarm.html b/code/__DEFINES/firealarm.html new file mode 100644 index 00000000000..e10399183df --- /dev/null +++ b/code/__DEFINES/firealarm.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/firealarm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/firealarm.dm + +

+ + + + + + + +
FIRE_DETECT_EMAGSent when a fire alarm is emagged
FIRE_DETECT_STOPSent when the fire detection of an area is disabled
FIRE_DETECT_STARTSent when the fire detection of an area is enabled
FIRELOCK_ALARM_TYPE_HOTDesignates a fire lock should be closed due to HEAT
FIRELOCK_ALARM_TYPE_COLDDesignates a fire lock should be closed due to COLD
FIRELOCK_ALARM_TYPE_GENERICDesignates a fire lock should be closed due unknown reasons (IE fire alarm was pulled)

Define Details

+

FIRELOCK_ALARM_TYPE_COLD + + +

+

Designates a fire lock should be closed due to COLD

FIRELOCK_ALARM_TYPE_GENERIC + + +

+

Designates a fire lock should be closed due unknown reasons (IE fire alarm was pulled)

FIRELOCK_ALARM_TYPE_HOT + + +

+

Designates a fire lock should be closed due to HEAT

FIRE_DETECT_EMAG + + +

+

Sent when a fire alarm is emagged

FIRE_DETECT_START + + +

+

Sent when the fire detection of an area is enabled

FIRE_DETECT_STOP + + +

+

Sent when the fire detection of an area is disabled

+ + + diff --git a/code/__DEFINES/fish.html b/code/__DEFINES/fish.html new file mode 100644 index 00000000000..7d8875f67f7 --- /dev/null +++ b/code/__DEFINES/fish.html @@ -0,0 +1,184 @@ + + + + + + + code/__DEFINES/fish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/fish.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FISHING_DUDUse in fish tables to denote miss chance.
FAV_BAIT_DIFFICULTY_MODDifficulty modifier when bait is fish's favorite
DISLIKED_BAIT_DIFFICULTY_MODDifficulty modifier when bait is fish's disliked
SETTLER_DIFFICULTY_MODDifficulty modifier when our fisherman has the trait TRAIT_SETTLER
FISHING_HOOK_SHINYFishing hook trait that signifies that it's shiny. Useful for fishes +that care about shiner hooks more.
FISHING_HOOK_WEIGHTEDFishing hook trait that lessens the bounce from hitting the edges of the minigame bar.
FISHING_HOOK_BIDIRECTIONALSee FISHING_MINIGAME_RULE_BIDIRECTIONAL
FISHING_HOOK_NO_ESCAPEPrevents the user from losing the game by letting the fish get away.
FISHING_HOOK_ENSNARELimits the completion loss of the minigame when the fsh is not on the bait area.
FISHING_HOOK_KILLAutomatically kills the fish after a while, at the cost of killing it.
FISHING_LINE_CLOAKEDReduces the difficulty of the minigame
FISHING_LINE_REINFORCEDRequired to cast a line on lava.
FISHING_LINE_BOUNCYMuch like FISHING_HOOK_ENSNARE but for the fishing line.
FISHING_MINIGAME_RULE_BIDIRECTIONALKeeps the bait from falling from gravity, instead allowing the player to move the bait down with right click.
FISHING_MINIGAME_RULE_NO_ESCAPEPrevents the player from losing the minigame when the completion reaches 0
FISHING_MINIGAME_RULE_KILLAutomatically kills the fish after a while, at the cost of killing it
FISHING_MINIGAME_RULE_NO_EXPPrevents the fishing skill from having an effect on the minigame and experience from being awarded
FISHING_MINIGAME_RULE_ANTIGRAVIf enabled, the minigame will occasionally screw around and invert the velocity of the bait
FISHING_MINIGAME_RULE_FLIPWill filp the minigame hud for the duration of the effect
FISHING_MINIGAME_ACTIVE_EFFECTSall the effects that are active and will last for a few seconds before triggering a cooldown
FISHING_DEFAULT_HOOK_BONUS_ADDITIVEThe default additive value for fishing hook catch weight modifiers.
FISHING_DEFAULT_HOOK_BONUS_MULTIPLICATIVEThe default multiplicative value for fishing hook catch weight modifiers.
FISH_SIZE_TINY_MAXFish size thresholds for w_class.
MAX_FISH_DEVIATION_COEFFThe coefficient for maximum weight/size divergence relative to the averages.
FISH_GRIND_RESULTS_WEIGHT_DIVISORThe volume of the grind results is multiplied by the fish' weight and divided by this.
FISH_FILLET_NUMBER_SIZE_DIVISORThe number of fillets is multiplied by the fish' size and divided by this.
NEW_FISH_BREEDING_TIMEOUT_MULTThe breeding timeout for newly instantiated fish is multiplied by this.
NEW_FISH_LAST_FEEDING_MULTThe last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry.
FISH_RARITY_BASICHow likely one's to find a given fish from random fish cases.
AQUARIUM_FLUID_FRESHWATERAquarium fluid variables. The fish' required fluid has to match this, or it'll slowly die.
AQUARIUM_COMPANYFluff. The name of the aquarium company shown in the fish catalog

Define Details

+

AQUARIUM_COMPANY + + +

+

Fluff. The name of the aquarium company shown in the fish catalog

AQUARIUM_FLUID_FRESHWATER + + +

+

Aquarium fluid variables. The fish' required fluid has to match this, or it'll slowly die.

DISLIKED_BAIT_DIFFICULTY_MOD + + +

+

Difficulty modifier when bait is fish's disliked

FAV_BAIT_DIFFICULTY_MOD + + +

+

Difficulty modifier when bait is fish's favorite

FISHING_DEFAULT_HOOK_BONUS_ADDITIVE + + +

+

The default additive value for fishing hook catch weight modifiers.

FISHING_DEFAULT_HOOK_BONUS_MULTIPLICATIVE + + +

+

The default multiplicative value for fishing hook catch weight modifiers.

FISHING_DUD + + +

+

Use in fish tables to denote miss chance.

FISHING_HOOK_BIDIRECTIONAL + + +

+

See FISHING_MINIGAME_RULE_BIDIRECTIONAL

FISHING_HOOK_ENSNARE + + +

+

Limits the completion loss of the minigame when the fsh is not on the bait area.

FISHING_HOOK_KILL + + +

+

Automatically kills the fish after a while, at the cost of killing it.

FISHING_HOOK_NO_ESCAPE + + +

+

Prevents the user from losing the game by letting the fish get away.

FISHING_HOOK_SHINY + + +

+

Fishing hook trait that signifies that it's shiny. Useful for fishes +that care about shiner hooks more.

FISHING_HOOK_WEIGHTED + + +

+

Fishing hook trait that lessens the bounce from hitting the edges of the minigame bar.

FISHING_LINE_BOUNCY + + +

+

Much like FISHING_HOOK_ENSNARE but for the fishing line.

FISHING_LINE_CLOAKED + + +

+

Reduces the difficulty of the minigame

FISHING_LINE_REINFORCED + + +

+

Required to cast a line on lava.

FISHING_MINIGAME_ACTIVE_EFFECTS + + +

+

all the effects that are active and will last for a few seconds before triggering a cooldown

FISHING_MINIGAME_RULE_ANTIGRAV + + +

+

If enabled, the minigame will occasionally screw around and invert the velocity of the bait

FISHING_MINIGAME_RULE_BIDIRECTIONAL + + +

+

Keeps the bait from falling from gravity, instead allowing the player to move the bait down with right click.

FISHING_MINIGAME_RULE_FLIP + + +

+

Will filp the minigame hud for the duration of the effect

FISHING_MINIGAME_RULE_KILL + + +

+

Automatically kills the fish after a while, at the cost of killing it

FISHING_MINIGAME_RULE_NO_ESCAPE + + +

+

Prevents the player from losing the minigame when the completion reaches 0

FISHING_MINIGAME_RULE_NO_EXP + + +

+

Prevents the fishing skill from having an effect on the minigame and experience from being awarded

FISH_FILLET_NUMBER_SIZE_DIVISOR + + +

+

The number of fillets is multiplied by the fish' size and divided by this.

FISH_GRIND_RESULTS_WEIGHT_DIVISOR + + +

+

The volume of the grind results is multiplied by the fish' weight and divided by this.

FISH_RARITY_BASIC + + +

+

How likely one's to find a given fish from random fish cases.

FISH_SIZE_TINY_MAX + + +

+

Fish size thresholds for w_class.

MAX_FISH_DEVIATION_COEFF + + +

+

The coefficient for maximum weight/size divergence relative to the averages.

NEW_FISH_BREEDING_TIMEOUT_MULT + + +

+

The breeding timeout for newly instantiated fish is multiplied by this.

NEW_FISH_LAST_FEEDING_MULT + + +

+

The last feeding timestamp of newly instantiated fish is multiplied by this: ergo, they spawn 50% hungry.

SETTLER_DIFFICULTY_MOD + + +

+

Difficulty modifier when our fisherman has the trait TRAIT_SETTLER

+ + + diff --git a/code/__DEFINES/flora.html b/code/__DEFINES/flora.html new file mode 100644 index 00000000000..caae37dbb2e --- /dev/null +++ b/code/__DEFINES/flora.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/flora.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/flora.dm + +

+ + +
FLORA_HARVEST_WOOD_TOOLSTools that can harvest wood that DONT have the TOOL_SAW flag; TOOL_SAW can harvest regardless of being in this list (Dont put them in here)

Define Details

+

FLORA_HARVEST_WOOD_TOOLS + + +

+

Tools that can harvest wood that DONT have the TOOL_SAW flag; TOOL_SAW can harvest regardless of being in this list (Dont put them in here)

+ + + diff --git a/code/__DEFINES/fonts.html b/code/__DEFINES/fonts.html new file mode 100644 index 00000000000..be1d2171952 --- /dev/null +++ b/code/__DEFINES/fonts.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/fonts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/fonts.dm + +

+ + + + + + + + + +
PEN_FONTFont used by regular pens
FOUNTAIN_PEN_FONTFont used by fancy pens
CRAYON_FONTFont used by crayons
PRINTER_FONTFont used by printers
CHARCOAL_FONTFont used by charcoal pens
SIGNATURE_FONTFont used when signing on paper.
EMOJI_SETEmoji icon set
INCLUDE_ACInclude leading A width and trailing C width in GetWidth() or in DrawText()

Define Details

+

CHARCOAL_FONT + + +

+

Font used by charcoal pens

CRAYON_FONT + + +

+

Font used by crayons

EMOJI_SET + + +

+

Emoji icon set

FOUNTAIN_PEN_FONT + + +

+

Font used by fancy pens

INCLUDE_AC + + +

+

Include leading A width and trailing C width in GetWidth() or in DrawText()

PEN_FONT + + +

+

Font used by regular pens

PRINTER_FONT + + +

+

Font used by printers

SIGNATURE_FONT + + +

+

Font used when signing on paper.

+ + + diff --git a/code/__DEFINES/food.html b/code/__DEFINES/food.html new file mode 100644 index 00000000000..f0332d3f9ac --- /dev/null +++ b/code/__DEFINES/food.html @@ -0,0 +1,156 @@ + + + + + + + code/__DEFINES/food.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/food.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
FOOD_FLAGSA list of food type names, in order of their flags
FOOD_FLAGS_ICIC meaning (more or less) for food flags
DISLIKED_FOOD_QUALITY_CHANGEFood quality change according to species diet
TOXIC_FOOD_QUALITY_THRESHOLDThreshold for food to give a toxic reaction
FOOD_QUALITY_DANGEROUSFood is dangerous to consume
FOOD_IN_CONTAINERFood is "in a container", not in a code sense, but in a literal sense (canned foods)
FOOD_FINGER_FOODFinger food can be eaten while walking / running around
FOOD_TRASH_POPABLEFood trash flags
FOOD_LIKEDFood preference enums
VENUE_BAR_MINIMUM_REAGENTSVenue reagent requirement
FOOD_PRICE_WORTHLESSFood price classes +Foods that are meant to have no value, such as lollypops from medborgs.
FOOD_PRICE_TRASHcheap and quick foods, like those from vending machines.
FOOD_PRICE_CHEAPIn line with prices of cheap snacks and foods you find in vending machine, practically disposable.
FOOD_PRICE_NORMALHalf a crate of profit, selling 4 of these lets you buy a kitchen crate from cargo.
FOOD_PRICE_EXOTICMaking one of these should be worth the time investment, solid chunk of profit.
FOOD_PRICE_LEGENDARYLarge windfall for making something from this list.
DRINK_PRICE_STOCKDrink price classes +Drinks that are only limited by a single click of the dispenser.
DRINK_PRICE_EASYDrinks that are made through very basic processing.
DRINK_PRICE_MEDIUMDrinks that are made through more basic processing, or multiple steps.
DRINK_PRICE_HIGHDrinks that are made through rare ingredients, or high levels of processing.
ICE_CREAM_VANILLAFlavour defines (also names) for GLOB.ice_cream_flavours list access. Safer from mispelling than plain text.
WATER_BOILING_POINTPoint water boils at
SOUP_BURN_TEMPPoint at which soups begin to burn at
SOUP_SERVING_SIZEServing size of soup. Plus or minus five units.
MILK_TO_BUTTER_COEFFHow much milk is needed to make butter on a reagent grinder

Define Details

+

DISLIKED_FOOD_QUALITY_CHANGE + + +

+

Food quality change according to species diet

DRINK_PRICE_EASY + + +

+

Drinks that are made through very basic processing.

DRINK_PRICE_HIGH + + +

+

Drinks that are made through rare ingredients, or high levels of processing.

DRINK_PRICE_MEDIUM + + +

+

Drinks that are made through more basic processing, or multiple steps.

DRINK_PRICE_STOCK + + +

+

Drink price classes +Drinks that are only limited by a single click of the dispenser.

FOOD_FINGER_FOOD + + +

+

Finger food can be eaten while walking / running around

FOOD_FLAGS + + +

+

A list of food type names, in order of their flags

FOOD_FLAGS_IC + + +

+

IC meaning (more or less) for food flags

FOOD_IN_CONTAINER + + +

+

Food is "in a container", not in a code sense, but in a literal sense (canned foods)

FOOD_LIKED + + +

+

Food preference enums

FOOD_PRICE_CHEAP + + +

+

In line with prices of cheap snacks and foods you find in vending machine, practically disposable.

FOOD_PRICE_EXOTIC + + +

+

Making one of these should be worth the time investment, solid chunk of profit.

FOOD_PRICE_LEGENDARY + + +

+

Large windfall for making something from this list.

FOOD_PRICE_NORMAL + + +

+

Half a crate of profit, selling 4 of these lets you buy a kitchen crate from cargo.

FOOD_PRICE_TRASH + + +

+

cheap and quick foods, like those from vending machines.

FOOD_PRICE_WORTHLESS + + +

+

Food price classes +Foods that are meant to have no value, such as lollypops from medborgs.

FOOD_QUALITY_DANGEROUS + + +

+

Food is dangerous to consume

FOOD_TRASH_POPABLE + + +

+

Food trash flags

ICE_CREAM_VANILLA + + +

+

Flavour defines (also names) for GLOB.ice_cream_flavours list access. Safer from mispelling than plain text.

MILK_TO_BUTTER_COEFF + + +

+

How much milk is needed to make butter on a reagent grinder

SOUP_BURN_TEMP + + +

+

Point at which soups begin to burn at

SOUP_SERVING_SIZE + + +

+

Serving size of soup. Plus or minus five units.

TOXIC_FOOD_QUALITY_THRESHOLD + + +

+

Threshold for food to give a toxic reaction

VENUE_BAR_MINIMUM_REAGENTS + + +

+

Venue reagent requirement

WATER_BOILING_POINT + + +

+

Point water boils at

+ + + diff --git a/code/__DEFINES/footsteps.html b/code/__DEFINES/footsteps.html new file mode 100644 index 00000000000..2426f1053ac --- /dev/null +++ b/code/__DEFINES/footsteps.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/footsteps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/footsteps.dm + +

+ + +
STEP_SOUND_PRIORITYthe name of the index key for priority

Define Details

+

STEP_SOUND_PRIORITY + + +

+

the name of the index key for priority

+ + + diff --git a/code/__DEFINES/fov.html b/code/__DEFINES/fov.html new file mode 100644 index 00000000000..4c736656e4b --- /dev/null +++ b/code/__DEFINES/fov.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/fov.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/fov.dm + +

+ + + + + + +
FOV_90_DEGREESField of vision defines.
BASE_FOV_MASK_X_DIMENSIONBase mask dimensions. They're like a client's view, only change them if you modify the mask to different dimensions.
NEARSIGHTNESS_FOV_BLINDNESSRange at which FOV effects treat nearsightness as blind and play
FULLSCREEN_OVERLAY_RESOLUTION_XThe fullscreen overlay in tiles for x axis
FULLSCREEN_OVERLAY_RESOLUTION_YThe fullscreen overlay in tiles for y axis

Define Details

+

BASE_FOV_MASK_X_DIMENSION + + +

+

Base mask dimensions. They're like a client's view, only change them if you modify the mask to different dimensions.

FOV_90_DEGREES + + +

+

Field of vision defines.

FULLSCREEN_OVERLAY_RESOLUTION_X + + +

+

The fullscreen overlay in tiles for x axis

FULLSCREEN_OVERLAY_RESOLUTION_Y + + +

+

The fullscreen overlay in tiles for y axis

NEARSIGHTNESS_FOV_BLINDNESS + + +

+

Range at which FOV effects treat nearsightness as blind and play

+ + + diff --git a/code/__DEFINES/generators.html b/code/__DEFINES/generators.html new file mode 100644 index 00000000000..43973b6393b --- /dev/null +++ b/code/__DEFINES/generators.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/generators.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/generators.dm + +

+ + +
P_DATA_GENERATORparticle editor var modifiers

Define Details

+

P_DATA_GENERATOR + + +

+

particle editor var modifiers

+ + + diff --git a/code/__DEFINES/ghost.html b/code/__DEFINES/ghost.html new file mode 100644 index 00000000000..fd78775d591 --- /dev/null +++ b/code/__DEFINES/ghost.html @@ -0,0 +1,147 @@ + + + + + + + code/__DEFINES/ghost.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/ghost.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
GHOST_ORBIT_CIRCLEGhosts will orbit objects in a circle
GHOST_ORBIT_TRIANGLEGhosts will orbit objects in a triangle
GHOST_ORBIT_HEXAGONGhosts will orbit objects in a hexagon
GHOST_ORBIT_SQUAREGhosts will orbit objects in a square
GHOST_ORBIT_PENTAGONGhosts will orbit objects in a pentagon
GHOST_ACCS_NONEThe main player's ghost will display as a simple white ghost
GHOST_ACCS_DIRThe main player's ghost will display as a transparent mob
GHOST_ACCS_FULLThe main player's ghost will display as a transparent mob with clothing
GHOST_ACCS_DEFAULT_OPTIONThe default ghost display selection for the main player
GHOST_OTHERS_SIMPLEThe other players ghosts will display as a simple white ghost
GHOST_OTHERS_DEFAULT_SPRITEThe other players ghosts will display as transparent mobs
GHOST_OTHERS_THEIR_SETTINGThe other players ghosts will display as transparent mobs with clothing
GHOST_OTHERS_DEFAULT_OPTIONThe default ghost display selection when viewing other players
GHOST_MAX_VIEW_RANGE_DEFAULTA ghosts max view range if they are a BYOND guest or regular account
GHOST_MAX_VIEW_RANGE_MEMBERA ghosts max view range if they are a BYOND paid member account (P2W feature)
DEADCHAT_ANNOUNCEMENTDeadchat notification for important round events (RED_ALERT, shuttle EVAC, communication announcements, etc.)
DEADCHAT_ARRIVALRATTLEDeadchat notification for new players who join the round at arrivals
DEADCHAT_DEATHRATTLEDeadchat notification for players who die during the round
DEADCHAT_LAWCHANGEDeadchat notification for when there is an AI law change
DEADCHAT_LOGIN_LOGOUTDeadchat notification for when players enter/leave the server (ignores stealth admins)
DEADCHAT_REGULARDeadchat regular ghost chat
CAMERA_NO_GHOSTSPictures taken by a camera will not display ghosts
CAMERA_SEE_GHOSTS_BASICPictures taken by a camera will display ghosts in the photo
CAMERA_SEE_GHOSTS_ORBITPictures taken by a camera will display ghosts and their orbits

Define Details

+

CAMERA_NO_GHOSTS + + +

+

Pictures taken by a camera will not display ghosts

CAMERA_SEE_GHOSTS_BASIC + + +

+

Pictures taken by a camera will display ghosts in the photo

CAMERA_SEE_GHOSTS_ORBIT + + +

+

Pictures taken by a camera will display ghosts and their orbits

DEADCHAT_ANNOUNCEMENT + + +

+

Deadchat notification for important round events (RED_ALERT, shuttle EVAC, communication announcements, etc.)

DEADCHAT_ARRIVALRATTLE + + +

+

Deadchat notification for new players who join the round at arrivals

DEADCHAT_DEATHRATTLE + + +

+

Deadchat notification for players who die during the round

DEADCHAT_LAWCHANGE + + +

+

Deadchat notification for when there is an AI law change

DEADCHAT_LOGIN_LOGOUT + + +

+

Deadchat notification for when players enter/leave the server (ignores stealth admins)

DEADCHAT_REGULAR + + +

+

Deadchat regular ghost chat

GHOST_ACCS_DEFAULT_OPTION + + +

+

The default ghost display selection for the main player

GHOST_ACCS_DIR + + +

+

The main player's ghost will display as a transparent mob

GHOST_ACCS_FULL + + +

+

The main player's ghost will display as a transparent mob with clothing

GHOST_ACCS_NONE + + +

+

The main player's ghost will display as a simple white ghost

GHOST_MAX_VIEW_RANGE_DEFAULT + + +

+

A ghosts max view range if they are a BYOND guest or regular account

GHOST_MAX_VIEW_RANGE_MEMBER + + +

+

A ghosts max view range if they are a BYOND paid member account (P2W feature)

GHOST_ORBIT_CIRCLE + + +

+

Ghosts will orbit objects in a circle

GHOST_ORBIT_HEXAGON + + +

+

Ghosts will orbit objects in a hexagon

GHOST_ORBIT_PENTAGON + + +

+

Ghosts will orbit objects in a pentagon

GHOST_ORBIT_SQUARE + + +

+

Ghosts will orbit objects in a square

GHOST_ORBIT_TRIANGLE + + +

+

Ghosts will orbit objects in a triangle

GHOST_OTHERS_DEFAULT_OPTION + + +

+

The default ghost display selection when viewing other players

GHOST_OTHERS_DEFAULT_SPRITE + + +

+

The other players ghosts will display as transparent mobs

GHOST_OTHERS_SIMPLE + + +

+

The other players ghosts will display as a simple white ghost

GHOST_OTHERS_THEIR_SETTING + + +

+

The other players ghosts will display as transparent mobs with clothing

+ + + diff --git a/code/__DEFINES/gravity.html b/code/__DEFINES/gravity.html new file mode 100644 index 00000000000..5b74ab8432a --- /dev/null +++ b/code/__DEFINES/gravity.html @@ -0,0 +1,80 @@ + + + + + + + code/__DEFINES/gravity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/gravity.dm + +

+ + + + + + + + + + + +
STAGE_ONESingularity is stage 1 (1x1)
STAGE_TWOSingularity is stage 2 (3x3)
STAGE_THREESingularity is stage 3 (5x5)
STAGE_FOURSingularity is stage 4 (7x7)
STAGE_FIVESingularity is stage 5 (9x9)
STAGE_SIXSingularity is stage 6 (11x11)
NEGATIVE_GRAVITYThe point where gravity is negative enough to pull you upwards. +That means walking checks for a ceiling instead of a floor, and you can fall "upwards"
GRAVITY_DAMAGE_THRESHOLDThe gravity strength threshold for high gravity damage.
GRAVITY_DAMAGE_SCALINGThe scaling factor for high gravity damage.
GRAVITY_DAMAGE_MAXIMUMThe maximum BRUTE damage a mob can take from high gravity per second.

Define Details

+

GRAVITY_DAMAGE_MAXIMUM + + +

+

The maximum BRUTE damage a mob can take from high gravity per second.

GRAVITY_DAMAGE_SCALING + + +

+

The scaling factor for high gravity damage.

GRAVITY_DAMAGE_THRESHOLD + + +

+

The gravity strength threshold for high gravity damage.

NEGATIVE_GRAVITY + + +

+

The point where gravity is negative enough to pull you upwards. +That means walking checks for a ceiling instead of a floor, and you can fall "upwards"

+

This should only be possible on multi-z maps because it works like shit on maps that aren't.

STAGE_FIVE + + +

+

Singularity is stage 5 (9x9)

STAGE_FOUR + + +

+

Singularity is stage 4 (7x7)

STAGE_ONE + + +

+

Singularity is stage 1 (1x1)

STAGE_SIX + + +

+

Singularity is stage 6 (11x11)

STAGE_THREE + + +

+

Singularity is stage 3 (5x5)

STAGE_TWO + + +

+

Singularity is stage 2 (3x3)

+ + + diff --git a/code/__DEFINES/hud.html b/code/__DEFINES/hud.html new file mode 100644 index 00000000000..43696eab866 --- /dev/null +++ b/code/__DEFINES/hud.html @@ -0,0 +1,98 @@ + + + + + + + code/__DEFINES/hud.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/hud.dm + +

+ + + + + + + + + + + + + + + +
HUD_STYLE_STANDARDStandard hud
HUD_STYLE_REDUCEDReduced hud (just hands and intent switcher)
HUD_STYLE_NOHUDNo hud (for screenshots)
HUD_VERSIONSUsed in show_hud(); Please ensure this is the same as the maximum index.
APPEARANCE_UI_IGNORE_ALPHAUsed for progress bars and chat messages
APPEARANCE_UIUsed for HUD objects
SCRN_OBJ_DEFAULTWhatever the base action datum thinks is best
SCRN_OBJ_FLOATINGFloating somewhere on the hud, not in any predefined place
SCRN_OBJ_IN_LISTIn the list of buttons stored at the top of the screen
SCRN_OBJ_IN_PALETTEIn the collapseable palette
SCRN_OBJ_INSERT_FIRSTInserted first in the list
PLANE_GROUP_MAINThe primary group, holds everything on the main window
PLANE_GROUP_POPUP_WINDOWA secondary group, used when a client views a generic window
HOVER_OUTLINE_FILTERThe filter name for the hover outline

Define Details

+

APPEARANCE_UI + + +

+

Used for HUD objects

APPEARANCE_UI_IGNORE_ALPHA + + +

+

Used for progress bars and chat messages

HOVER_OUTLINE_FILTER + + +

+

The filter name for the hover outline

HUD_STYLE_NOHUD + + +

+

No hud (for screenshots)

HUD_STYLE_REDUCED + + +

+

Reduced hud (just hands and intent switcher)

HUD_STYLE_STANDARD + + +

+

Standard hud

HUD_VERSIONS + + +

+

Used in show_hud(); Please ensure this is the same as the maximum index.

PLANE_GROUP_MAIN + + +

+

The primary group, holds everything on the main window

PLANE_GROUP_POPUP_WINDOW + + + +

+

A secondary group, used when a client views a generic window

SCRN_OBJ_DEFAULT + + +

+

Whatever the base action datum thinks is best

SCRN_OBJ_FLOATING + + +

+

Floating somewhere on the hud, not in any predefined place

SCRN_OBJ_INSERT_FIRST + + +

+

Inserted first in the list

SCRN_OBJ_IN_LIST + + +

+

In the list of buttons stored at the top of the screen

SCRN_OBJ_IN_PALETTE + + +

+

In the collapseable palette

+ + + diff --git a/code/__DEFINES/icon_smoothing.html b/code/__DEFINES/icon_smoothing.html new file mode 100644 index 00000000000..a98b00baea0 --- /dev/null +++ b/code/__DEFINES/icon_smoothing.html @@ -0,0 +1,623 @@ + + + + + + + code/__DEFINES/icon_smoothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/icon_smoothing.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SMOOTH_CORNERSSmoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.
SMOOTH_BITMASKSmoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.
SMOOTH_DIAGONAL_CORNERSAtom has diagonal corners, with underlays under them.
SMOOTH_BORDERAtom will smooth with the borders of the map.
SMOOTH_QUEUEDAtom is currently queued to smooth.
SMOOTH_OBJSmooths with objects, and will thus need to scan turfs for contents.
SMOOTH_BORDER_OBJECTUses directional object smoothing, so we care not only about something being on the right turf, but also its direction +Changes the meaning of smoothing_junction, instead of representing the directions we are smoothing in +it represents the sides of our directional border object that have a neighbor +Is incompatible with SMOOTH_CORNERS because border objects don't have corners
NORTH_JUNCTIONComponents of a smoothing junction +Redefinitions of the diagonal directions so they can be stored in one var without conflicts
S_TURF*SMOOTHING GROUPS
SMOOTH_GROUP_TURF_OPENturf/open
SMOOTH_GROUP_TURF_CHASMturf/open/chasm, /turf/open/floor/fakepit
SMOOTH_GROUP_FLOOR_LAVAturf/open/lava/smooth
SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASSturf/open/floor/glass
SMOOTH_GROUP_OPEN_FLOORturf/open/floor
SMOOTH_GROUP_FLOOR_GRASSturf/open/misc/grass
SMOOTH_GROUP_FLOOR_ASHturf/open/misc/ashplanet/ash
SMOOTH_GROUP_FLOOR_ASH_ROCKYturf/open/misc/ashplanet/rocky
SMOOTH_GROUP_FLOOR_ICEturf/open/misc/ice
SMOOTH_GROUP_FLOOR_SNOWEDturf/open/floor/plating/snowed
SMOOTH_GROUP_CARPETturf/open/floor/carpet
SMOOTH_GROUP_CARPET_BLACKturf/open/floor/carpet/black
SMOOTH_GROUP_CARPET_BLUEturf/open/floor/carpet/blue
SMOOTH_GROUP_CARPET_CYANturf/open/floor/carpet/cyan
SMOOTH_GROUP_CARPET_GREENturf/open/floor/carpet/green
SMOOTH_GROUP_CARPET_ORANGEturf/open/floor/carpet/orange
SMOOTH_GROUP_CARPET_PURPLEturf/open/floor/carpet/purple
SMOOTH_GROUP_CARPET_REDturf/open/floor/carpet/red
SMOOTH_GROUP_CARPET_ROYAL_BLACKturf/open/floor/carpet/royalblack
SMOOTH_GROUP_CARPET_ROYAL_BLUEturf/open/floor/carpet/royalblue
SMOOTH_GROUP_CARPET_EXECUTIVEturf/open/floor/carpet/executive
SMOOTH_GROUP_CARPET_STELLARturf/open/floor/carpet/stellar
SMOOTH_GROUP_CARPET_DONKturf/open/floor/carpet/donk
SMOOTH_GROUP_CARPET_NEONturf/open/floor/carpet/neon
SMOOTH_GROUP_CARPET_SIMPLE_NEONturf/open/floor/carpet/neon/simple
SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITEturf/open/floor/carpet/neon/simple/white
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACKturf/open/floor/carpet/neon/simple/black
SMOOTH_GROUP_CARPET_SIMPLE_NEON_REDturf/open/floor/carpet/neon/simple/red
SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGEturf/open/floor/carpet/neon/simple/orange
SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOWturf/open/floor/carpet/neon/simple/yellow
SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIMEturf/open/floor/carpet/neon/simple/lime
SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREENturf/open/floor/carpet/neon/simple/green
SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEALturf/open/floor/carpet/neon/simple/teal
SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYANturf/open/floor/carpet/neon/simple/cyan
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUEturf/open/floor/carpet/neon/simple/blue
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLEturf/open/floor/carpet/neon/simple/purple
SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLETturf/open/floor/carpet/neon/simple/violet
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINKturf/open/floor/carpet/neon/simple/pink
SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTSturf/open/floor/carpet/neon/simple/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTSturf/open/floor/carpet/neon/simple/white/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTSturf/open/floor/carpet/neon/simple/black/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTSturf/open/floor/carpet/neon/simple/red/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTSturf/open/floor/carpet/neon/simple/orange/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTSturf/open/floor/carpet/neon/simple/yellow/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTSturf/open/floor/carpet/neon/simple/lime/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTSturf/open/floor/carpet/neon/simple/green/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTSturf/open/floor/carpet/neon/simple/teal/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTSturf/open/floor/carpet/neon/simple/cyan/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTSturf/open/floor/carpet/neon/simple/blue/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTSturf/open/floor/carpet/neon/simple/purple/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTSturf/open/floor/carpet/neon/simple/violet/nodots
SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTSturf/open/floor/carpet/neon/simple/pink/nodots
SMOOTH_GROUP_BAMBOO_FLOOR/turf/open/floor/bamboo
SMOOTH_GROUP_CLOSED_TURFSturf/closed
SMOOTH_GROUP_MATERIAL_WALLSturf/closed/wall/material
SMOOTH_GROUP_SYNDICATE_WALLSturf/closed/wall/r_wall/syndicate, /turf/closed/indestructible/syndicate
SMOOTH_GROUP_HOTEL_WALLSturf/closed/indestructible/hotelwall
SMOOTH_GROUP_MINERAL_WALLSturf/closed/mineral, /turf/closed/indestructible
SMOOTH_GROUP_BOSS_WALLSturf/closed/indestructible/riveted/boss
SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLSturf/closed/wall/mineral/titanium/survival
SMOOTH_GROUP_TURF_OPEN_CLIFFturf/open/cliff
SMOOTH_GROUP_WALLSturf/closed/wall, /obj/structure/falsewall
SMOOTH_GROUP_URANIUM_WALLSturf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium
SMOOTH_GROUP_GOLD_WALLSturf/closed/wall/mineral/gold, /obj/structure/falsewall/gold
SMOOTH_GROUP_SILVER_WALLSturf/closed/wall/mineral/silver, /obj/structure/falsewall/silver
SMOOTH_GROUP_DIAMOND_WALLSturf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond
SMOOTH_GROUP_PLASMA_WALLSturf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma
SMOOTH_GROUP_BANANIUM_WALLSturf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium
SMOOTH_GROUP_SANDSTONE_WALLSturf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone
SMOOTH_GROUP_WOOD_WALLSturf/closed/wall/mineral/wood, /obj/structure/falsewall/wood
SMOOTH_GROUP_IRON_WALLSturf/closed/wall/mineral/iron, /obj/structure/falsewall/iron
SMOOTH_GROUP_ABDUCTOR_WALLSturf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor
SMOOTH_GROUP_TITANIUM_WALLSturf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium
SMOOTH_GROUP_PLASTITANIUM_WALLSturf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium
SMOOTH_GROUP_SURVIVAL_TITANIUM_PODturf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod
SMOOTH_GROUP_HIERO_WALLobj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall
SMOOTH_GROUP_BAMBOO_WALLS/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo
SMOOTH_GROUP_PLASTINUM_WALLSturf/closed/indestructible/riveted/plastinum
SMOOTH_GROUP_PAPERFRAMEobj/structure/window/paperframe, /obj/structure/mineral_door/paperframe
SMOOTH_GROUP_WINDOW_FULLTILEturf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile
SMOOTH_GROUP_WINDOW_FULLTILE_BRONZEobj/structure/window/bronze/fulltile
SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUMturf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium
SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLEobj/structure/window/reinforced/shuttle
SMOOTH_GROUP_WINDOW_DIRECTIONAL_TRAMobj/structure/tram
SMOOTH_GROUP_LATTICEobj/structure/lattice
SMOOTH_GROUP_CATWALKobj/structure/lattice/catwalk
SMOOTH_GROUP_AIRLOCKobj/machinery/door/airlock
SMOOTH_GROUP_INDUSTRIAL_LIFTobj/structure/transport/linear
SMOOTH_GROUP_TABLESobj/structure/table
SMOOTH_GROUP_WOOD_TABLESobj/structure/table/wood
SMOOTH_GROUP_FANCY_WOOD_TABLESobj/structure/table/wood/fancy
SMOOTH_GROUP_BRONZE_TABLESobj/structure/table/bronze
SMOOTH_GROUP_ABDUCTOR_TABLESobj/structure/table/abductor
SMOOTH_GROUP_GLASS_TABLESobj/structure/table/glass
SMOOTH_GROUP_ALIEN_NESTobj/structure/bed/nest
SMOOTH_GROUP_ALIEN_RESINobj/structure/alien/resin
SMOOTH_GROUP_ALIEN_WALLSobj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane
SMOOTH_GROUP_ALIEN_WEEDSobj/structure/alien/weeds
SMOOTH_GROUP_SECURITY_BARRICADEobj/structure/barricade/security
SMOOTH_GROUP_SANDBAGSobj/structure/barricade/sandbags
SMOOTH_GROUP_HEDGE_FLUFFobj/structure/hedge
SMOOTH_GROUP_SHUTTLE_PARTSobj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine
SMOOTH_GROUP_CLEANABLE_DIRTobj/effect/decal/cleanable/dirt
SETUP_SMOOTHINGPerforms the work to set smoothing_groups and canSmoothWith. +An inlined function used in both turf/Initialize and atom/Initialize.
UNWRAP_SMOOTHING_GROUPSGiven a smoothing groups variable, will set out to the actual numbers inside it

Define Details

+

NORTH_JUNCTION + + +

+

Components of a smoothing junction +Redefinitions of the diagonal directions so they can be stored in one var without conflicts

SETUP_SMOOTHING + + + +

+

Performs the work to set smoothing_groups and canSmoothWith. +An inlined function used in both turf/Initialize and atom/Initialize.

SMOOTH_BITMASK + + +

+

Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking.

SMOOTH_BORDER + + +

+

Atom will smooth with the borders of the map.

SMOOTH_BORDER_OBJECT + + +

+

Uses directional object smoothing, so we care not only about something being on the right turf, but also its direction +Changes the meaning of smoothing_junction, instead of representing the directions we are smoothing in +it represents the sides of our directional border object that have a neighbor +Is incompatible with SMOOTH_CORNERS because border objects don't have corners

SMOOTH_CORNERS + + +

+

Smoothing system in where adjacencies are calculated and used to build an image by mounting each corner at runtime.

SMOOTH_DIAGONAL_CORNERS + + +

+

Atom has diagonal corners, with underlays under them.

SMOOTH_GROUP_ABDUCTOR_TABLES + + +

+

obj/structure/table/abductor

SMOOTH_GROUP_ABDUCTOR_WALLS + + +

+

turf/closed/wall/mineral/abductor, /obj/structure/falsewall/abductor

SMOOTH_GROUP_AIRLOCK + + +

+

obj/machinery/door/airlock

SMOOTH_GROUP_ALIEN_NEST + + +

+

obj/structure/bed/nest

SMOOTH_GROUP_ALIEN_RESIN + + +

+

obj/structure/alien/resin

SMOOTH_GROUP_ALIEN_WALLS + + +

+

obj/structure/alien/resin/wall, /obj/structure/alien/resin/membrane

SMOOTH_GROUP_ALIEN_WEEDS + + +

+

obj/structure/alien/weeds

SMOOTH_GROUP_BAMBOO_FLOOR + + +

+

/turf/open/floor/bamboo

SMOOTH_GROUP_BAMBOO_WALLS + + +

+

/turf/closed/wall/mineral/bamboo, /obj/structure/falsewall/bamboo

SMOOTH_GROUP_BANANIUM_WALLS + + +

+

turf/closed/wall/mineral/bananium, /obj/structure/falsewall/bananium

SMOOTH_GROUP_BOSS_WALLS + + +

+

turf/closed/indestructible/riveted/boss

SMOOTH_GROUP_BRONZE_TABLES + + +

+

obj/structure/table/bronze

SMOOTH_GROUP_CARPET + + +

+

turf/open/floor/carpet

SMOOTH_GROUP_CARPET_BLACK + + +

+

turf/open/floor/carpet/black

SMOOTH_GROUP_CARPET_BLUE + + +

+

turf/open/floor/carpet/blue

SMOOTH_GROUP_CARPET_CYAN + + +

+

turf/open/floor/carpet/cyan

SMOOTH_GROUP_CARPET_DONK + + +

+

turf/open/floor/carpet/donk

SMOOTH_GROUP_CARPET_EXECUTIVE + + +

+

turf/open/floor/carpet/executive

SMOOTH_GROUP_CARPET_GREEN + + +

+

turf/open/floor/carpet/green

SMOOTH_GROUP_CARPET_NEON + + +

+

turf/open/floor/carpet/neon

SMOOTH_GROUP_CARPET_ORANGE + + +

+

turf/open/floor/carpet/orange

SMOOTH_GROUP_CARPET_PURPLE + + +

+

turf/open/floor/carpet/purple

SMOOTH_GROUP_CARPET_RED + + +

+

turf/open/floor/carpet/red

SMOOTH_GROUP_CARPET_ROYAL_BLACK + + +

+

turf/open/floor/carpet/royalblack

SMOOTH_GROUP_CARPET_ROYAL_BLUE + + +

+

turf/open/floor/carpet/royalblue

SMOOTH_GROUP_CARPET_SIMPLE_NEON + + +

+

turf/open/floor/carpet/neon/simple

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK + + +

+

turf/open/floor/carpet/neon/simple/black

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLACK_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/black/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE + + +

+

turf/open/floor/carpet/neon/simple/blue

SMOOTH_GROUP_CARPET_SIMPLE_NEON_BLUE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/blue/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN + + +

+

turf/open/floor/carpet/neon/simple/cyan

SMOOTH_GROUP_CARPET_SIMPLE_NEON_CYAN_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/cyan/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN + + +

+

turf/open/floor/carpet/neon/simple/green

SMOOTH_GROUP_CARPET_SIMPLE_NEON_GREEN_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/green/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME + + +

+

turf/open/floor/carpet/neon/simple/lime

SMOOTH_GROUP_CARPET_SIMPLE_NEON_LIME_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/lime/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE + + +

+

turf/open/floor/carpet/neon/simple/orange

SMOOTH_GROUP_CARPET_SIMPLE_NEON_ORANGE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/orange/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK + + +

+

turf/open/floor/carpet/neon/simple/pink

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PINK_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/pink/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE + + +

+

turf/open/floor/carpet/neon/simple/purple

SMOOTH_GROUP_CARPET_SIMPLE_NEON_PURPLE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/purple/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED + + +

+

turf/open/floor/carpet/neon/simple/red

SMOOTH_GROUP_CARPET_SIMPLE_NEON_RED_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/red/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL + + +

+

turf/open/floor/carpet/neon/simple/teal

SMOOTH_GROUP_CARPET_SIMPLE_NEON_TEAL_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/teal/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET + + +

+

turf/open/floor/carpet/neon/simple/violet

SMOOTH_GROUP_CARPET_SIMPLE_NEON_VIOLET_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/violet/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE + + +

+

turf/open/floor/carpet/neon/simple/white

SMOOTH_GROUP_CARPET_SIMPLE_NEON_WHITE_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/white/nodots

SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW + + +

+

turf/open/floor/carpet/neon/simple/yellow

SMOOTH_GROUP_CARPET_SIMPLE_NEON_YELLOW_NODOTS + + +

+

turf/open/floor/carpet/neon/simple/yellow/nodots

SMOOTH_GROUP_CARPET_STELLAR + + +

+

turf/open/floor/carpet/stellar

SMOOTH_GROUP_CATWALK + + +

+

obj/structure/lattice/catwalk

SMOOTH_GROUP_CLEANABLE_DIRT + + +

+

obj/effect/decal/cleanable/dirt

SMOOTH_GROUP_CLOSED_TURFS + + +

+

turf/closed

SMOOTH_GROUP_DIAMOND_WALLS + + +

+

turf/closed/wall/mineral/diamond, /obj/structure/falsewall/diamond

SMOOTH_GROUP_FANCY_WOOD_TABLES + + +

+

obj/structure/table/wood/fancy

SMOOTH_GROUP_FLOOR_ASH + + +

+

turf/open/misc/ashplanet/ash

SMOOTH_GROUP_FLOOR_ASH_ROCKY + + +

+

turf/open/misc/ashplanet/rocky

SMOOTH_GROUP_FLOOR_GRASS + + +

+

turf/open/misc/grass

SMOOTH_GROUP_FLOOR_ICE + + +

+

turf/open/misc/ice

SMOOTH_GROUP_FLOOR_LAVA + + +

+

turf/open/lava/smooth

SMOOTH_GROUP_FLOOR_SNOWED + + +

+

turf/open/floor/plating/snowed

SMOOTH_GROUP_FLOOR_TRANSPARENT_GLASS + + +

+

turf/open/floor/glass

SMOOTH_GROUP_GLASS_TABLES + + +

+

obj/structure/table/glass

SMOOTH_GROUP_GOLD_WALLS + + +

+

turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold

SMOOTH_GROUP_HEDGE_FLUFF + + +

+

obj/structure/hedge

SMOOTH_GROUP_HIERO_WALL + + +

+

obj/effect/temp_visual/elite_tumor_wall, /obj/effect/temp_visual/hierophant/wall

SMOOTH_GROUP_HOTEL_WALLS + + +

+

turf/closed/indestructible/hotelwall

SMOOTH_GROUP_INDUSTRIAL_LIFT + + +

+

obj/structure/transport/linear

SMOOTH_GROUP_IRON_WALLS + + +

+

turf/closed/wall/mineral/iron, /obj/structure/falsewall/iron

SMOOTH_GROUP_LATTICE + + +

+

obj/structure/lattice

SMOOTH_GROUP_MATERIAL_WALLS + + +

+

turf/closed/wall/material

SMOOTH_GROUP_MINERAL_WALLS + + +

+

turf/closed/mineral, /turf/closed/indestructible

SMOOTH_GROUP_OPEN_FLOOR + + +

+

turf/open/floor

SMOOTH_GROUP_PAPERFRAME + + +

+

obj/structure/window/paperframe, /obj/structure/mineral_door/paperframe

SMOOTH_GROUP_PLASMA_WALLS + + +

+

turf/closed/wall/mineral/plasma, /obj/structure/falsewall/plasma

SMOOTH_GROUP_PLASTINUM_WALLS + + +

+

turf/closed/indestructible/riveted/plastinum

SMOOTH_GROUP_PLASTITANIUM_WALLS + + +

+

turf/closed/wall/mineral/plastitanium, /obj/structure/falsewall/plastitanium

SMOOTH_GROUP_SANDBAGS + + +

+

obj/structure/barricade/sandbags

SMOOTH_GROUP_SANDSTONE_WALLS + + +

+

turf/closed/wall/mineral/sandstone, /obj/structure/falsewall/sandstone

SMOOTH_GROUP_SECURITY_BARRICADE + + +

+

obj/structure/barricade/security

SMOOTH_GROUP_SHUTTLE_PARTS + + +

+

obj/structure/window/reinforced/shuttle, /obj/structure/window/reinforced/plasma/plastitanium, /turf/closed/indestructible/opsglass, /obj/machinery/power/shuttle_engine

SMOOTH_GROUP_SILVER_WALLS + + +

+

turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver

SMOOTH_GROUP_SURVIVAL_TITANIUM_POD + + +

+

turf/closed/wall/mineral/titanium/survival/pod, /obj/machinery/door/airlock/survival_pod, /obj/structure/window/reinforced/shuttle/survival_pod

SMOOTH_GROUP_SURVIVAL_TITANIUM_WALLS + + +

+

turf/closed/wall/mineral/titanium/survival

SMOOTH_GROUP_SYNDICATE_WALLS + + +

+

turf/closed/wall/r_wall/syndicate, /turf/closed/indestructible/syndicate

SMOOTH_GROUP_TABLES + + +

+

obj/structure/table

SMOOTH_GROUP_TITANIUM_WALLS + + +

+

turf/closed/wall/mineral/titanium, /obj/structure/falsewall/titanium

SMOOTH_GROUP_TURF_CHASM + + +

+

turf/open/chasm, /turf/open/floor/fakepit

SMOOTH_GROUP_TURF_OPEN + + +

+

turf/open

SMOOTH_GROUP_TURF_OPEN_CLIFF + + +

+

turf/open/cliff

SMOOTH_GROUP_URANIUM_WALLS + + +

+

turf/closed/wall/mineral/uranium, /obj/structure/falsewall/uranium

SMOOTH_GROUP_WALLS + + +

+

turf/closed/wall, /obj/structure/falsewall

SMOOTH_GROUP_WINDOW_DIRECTIONAL_TRAM + + +

+

obj/structure/tram

SMOOTH_GROUP_WINDOW_FULLTILE + + +

+

turf/closed/indestructible/fakeglass, /obj/structure/window/fulltile, /obj/structure/window/reinforced/fulltile, /obj/structure/window/reinforced/tinted/fulltile, /obj/structure/window/plasma/fulltile, /obj/structure/window/reinforced/plasma/fulltile

SMOOTH_GROUP_WINDOW_FULLTILE_BRONZE + + +

+

obj/structure/window/bronze/fulltile

SMOOTH_GROUP_WINDOW_FULLTILE_PLASTITANIUM + + +

+

turf/closed/indestructible/opsglass, /obj/structure/window/reinforced/plasma/plastitanium

SMOOTH_GROUP_WINDOW_FULLTILE_SHUTTLE + + +

+

obj/structure/window/reinforced/shuttle

SMOOTH_GROUP_WOOD_TABLES + + +

+

obj/structure/table/wood

SMOOTH_GROUP_WOOD_WALLS + + +

+

turf/closed/wall/mineral/wood, /obj/structure/falsewall/wood

SMOOTH_OBJ + + +

+

Smooths with objects, and will thus need to scan turfs for contents.

SMOOTH_QUEUED + + +

+

Atom is currently queued to smooth.

S_TURF + + + +

+

*SMOOTHING GROUPS

+

UNWRAP_SMOOTHING_GROUPS + + + +

+

Given a smoothing groups variable, will set out to the actual numbers inside it

+ + + diff --git a/code/__DEFINES/id_cards.html b/code/__DEFINES/id_cards.html new file mode 100644 index 00000000000..ad2079489f9 --- /dev/null +++ b/code/__DEFINES/id_cards.html @@ -0,0 +1,81 @@ + + + + + + + code/__DEFINES/id_cards.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/id_cards.dm + +

+ + + + + + + + + + +
WILDCARD_LIMIT_GREYThe order in which these lists are defined matters. When attempting to add a wildcard access to a card +and not specifying an explicit wildcard slot in which to include it, the code will iterate over the list +and stop at the first wildcard flag that can hold the access.
WILDCARD_LIMIT_SILVERWildcard slot define for Head of Staff silver cards. Can hold 3 common, 1 command and 1 private command.
WILDCARD_LIMIT_GOLDWildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard.
WILDCARD_LIMIT_SYNDICATEWildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses.
WILDCARD_LIMIT_DEATHSQUADWildcard slot define for Deathsquad black cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.
WILDCARD_LIMIT_CENTCOMWildcard slot define for Centcom blue cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.
WILDCARD_LIMIT_PRISONERWildcard slot define for Prisoner orange cards. No wildcard slots.
WILDCARD_LIMIT_CHAMELEONWildcard slot define for Chameleon/Agent ID grey cards. Can hold 3 common, 1 command and 1 captain access.
WILDCARD_LIMIT_ADMINWildcard slot define for admin/debug/weird, special abstract cards. Can hold infinite of any access.

Define Details

+

WILDCARD_LIMIT_ADMIN + + +

+

Wildcard slot define for admin/debug/weird, special abstract cards. Can hold infinite of any access.

WILDCARD_LIMIT_CENTCOM + + +

+

Wildcard slot define for Centcom blue cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.

WILDCARD_LIMIT_CHAMELEON + + +

+

Wildcard slot define for Chameleon/Agent ID grey cards. Can hold 3 common, 1 command and 1 captain access.

WILDCARD_LIMIT_DEATHSQUAD + + +

+

Wildcard slot define for Deathsquad black cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses.

WILDCARD_LIMIT_GOLD + + +

+

Wildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard.

WILDCARD_LIMIT_GREY + + +

+

The order in which these lists are defined matters. When attempting to add a wildcard access to a card +and not specifying an explicit wildcard slot in which to include it, the code will iterate over the list +and stop at the first wildcard flag that can hold the access.

+

The lower level the access, the earlier in the list it should be so that low level wildcards get +added to the lowest wildcard flag that can take them.

+

A limit of -1 means infinite slots. The system is designed to reject a wildcard when the slot limit +explicitly equal 0 for all compatible wildcard slots. +Wildcard slot define for basic grey cards. Only hold 2 common wildcards.

WILDCARD_LIMIT_PRISONER + + +

+

Wildcard slot define for Prisoner orange cards. No wildcard slots.

WILDCARD_LIMIT_SILVER + + +

+

Wildcard slot define for Head of Staff silver cards. Can hold 3 common, 1 command and 1 private command.

WILDCARD_LIMIT_SYNDICATE + + +

+

Wildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses.

+ + + diff --git a/code/__DEFINES/implants.html b/code/__DEFINES/implants.html new file mode 100644 index 00000000000..55373c73409 --- /dev/null +++ b/code/__DEFINES/implants.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/implants.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/implants.dm + +

+ + + +
IMPLANT_TYPE_SECURITYDenotes this as a "security" implant, limiting it to two per body
SECURITY_IMPLANT_CAPMaximum number of security implants in a mob at once.

Define Details

+

IMPLANT_TYPE_SECURITY + + +

+

Denotes this as a "security" implant, limiting it to two per body

SECURITY_IMPLANT_CAP + + +

+

Maximum number of security implants in a mob at once.

+ + + diff --git a/code/__DEFINES/important_recursive_contents.html b/code/__DEFINES/important_recursive_contents.html new file mode 100644 index 00000000000..f42dfa23441 --- /dev/null +++ b/code/__DEFINES/important_recursive_contents.html @@ -0,0 +1,49 @@ + + + + + + + code/__DEFINES/important_recursive_contents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/important_recursive_contents.dm + +

+ + + + + +
RECURSIVE_CONTENTS_AREA_SENSITIVEthe area channel of the important_recursive_contents list, everything in here will be sent a signal when their last holding object changes areas
RECURSIVE_CONTENTS_HEARING_SENSITIVEthe hearing channel of the important_recursive_contents list, everything in here will count as a hearing atom
RECURSIVE_CONTENTS_CLIENT_MOBSthe client mobs channel of the important_recursive_contents list, everything in here will be a mob with an attached client +this is given to both a clients mob, and a clients eye, both point to the clients mob
RECURSIVE_CONTENTS_ACTIVE_STORAGEthe parent of storage components currently shown to some client mob get this. gets removed when nothing is viewing the parent

Define Details

+

RECURSIVE_CONTENTS_ACTIVE_STORAGE + + +

+

the parent of storage components currently shown to some client mob get this. gets removed when nothing is viewing the parent

RECURSIVE_CONTENTS_AREA_SENSITIVE + + +

+

the area channel of the important_recursive_contents list, everything in here will be sent a signal when their last holding object changes areas

RECURSIVE_CONTENTS_CLIENT_MOBS + + +

+

the client mobs channel of the important_recursive_contents list, everything in here will be a mob with an attached client +this is given to both a clients mob, and a clients eye, both point to the clients mob

RECURSIVE_CONTENTS_HEARING_SENSITIVE + + +

+

the hearing channel of the important_recursive_contents list, everything in here will count as a hearing atom

+ + + diff --git a/code/__DEFINES/injection.html b/code/__DEFINES/injection.html new file mode 100644 index 00000000000..3fcd861f5b7 --- /dev/null +++ b/code/__DEFINES/injection.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/injection.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/injection.dm + +

+ + + + +
INJECT_CHECK_PENETRATE_THICKThis injection can penetrate through thick clothing.
INJECT_CHECK_IGNORE_SPECIESThis injection bypasses species specific restrictions.
INJECT_TRY_SHOW_ERROR_MESSAGEWhen trying this injection, show an error message if it fails.

Define Details

+

INJECT_CHECK_IGNORE_SPECIES + + +

+

This injection bypasses species specific restrictions.

INJECT_CHECK_PENETRATE_THICK + + +

+

This injection can penetrate through thick clothing.

INJECT_TRY_SHOW_ERROR_MESSAGE + + +

+

When trying this injection, show an error message if it fails.

+ + + diff --git a/code/__DEFINES/input.html b/code/__DEFINES/input.html new file mode 100644 index 00000000000..22e84f5a870 --- /dev/null +++ b/code/__DEFINES/input.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/input.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/input.dm + +

+ + +
MAXIMUM_CLICK_LATENCYif the running average click latency is above this amount then clicks will never queue and will execute immediately

Define Details

+

MAXIMUM_CLICK_LATENCY + + +

+

if the running average click latency is above this amount then clicks will never queue and will execute immediately

+ + + diff --git a/code/__DEFINES/instruments.html b/code/__DEFINES/instruments.html new file mode 100644 index 00000000000..69797e12a01 --- /dev/null +++ b/code/__DEFINES/instruments.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/instruments.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/instruments.dm + +

+ + + + + +
CHANNELS_PER_INSTRUMENTMax number of playing notes per instrument.
INSTRUMENT_MAX_TOTAL_SUSTAINMaximum length a note should ever go for
INSTRUMENT_EXP_FALLOFF_MINThese are per decisecond.
INSTRUMENT_MIN_SUSTAIN_DROPOFFMinimum volume for when the sound is considered dead.

Define Details

+

CHANNELS_PER_INSTRUMENT + + +

+

Max number of playing notes per instrument.

INSTRUMENT_EXP_FALLOFF_MIN + + +

+

These are per decisecond.

INSTRUMENT_MAX_TOTAL_SUSTAIN + + +

+

Maximum length a note should ever go for

INSTRUMENT_MIN_SUSTAIN_DROPOFF + + +

+

Minimum volume for when the sound is considered dead.

+ + + diff --git a/code/__DEFINES/interaction_flags.html b/code/__DEFINES/interaction_flags.html new file mode 100644 index 00000000000..16a1bee1887 --- /dev/null +++ b/code/__DEFINES/interaction_flags.html @@ -0,0 +1,134 @@ + + + + + + + code/__DEFINES/interaction_flags.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/interaction_flags.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
INTERACT_ATOM_REQUIRES_ANCHOREDwhether can_interact() checks for anchored. only works on movables.
INTERACT_ATOM_ATTACK_HANDcalls try_interact() on attack_hand() and returns that.
INTERACT_ATOM_UI_INTERACTautomatically calls and returns ui_interact() on interact().
INTERACT_ATOM_REQUIRES_DEXTERITYuser must be dextrous
INTERACT_ATOM_IGNORE_INCAPACITATEDignores incapacitated check
INTERACT_ATOM_IGNORE_RESTRAINEDincapacitated check ignores restrained
INTERACT_ATOM_CHECK_GRABincapacitated check checks grab
INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HANDprevents leaving fingerprints automatically on attack_hand
INTERACT_ATOM_NO_FINGERPRINT_INTERACTadds hiddenprints instead of fingerprints on interact
INTERACT_ATOM_ALLOW_USER_LOCATIONallows this atom to skip the adjacency check
INTERACT_ATOM_IGNORE_MOBILITYignores mobility check
INTERACT_ITEM_ATTACK_HAND_PICKUPattempt pickup on attack_hand for items
INTERACT_MACHINE_OPENcan_interact() while open
INTERACT_MACHINE_OFFLINEcan_interact() while offline
INTERACT_MACHINE_WIRES_IF_OPENtry to interact with wires if open
INTERACT_MACHINE_ALLOW_SILICONlet silicons interact
INTERACT_MACHINE_OPEN_SILICONlet silicons interact while open
INTERACT_MACHINE_REQUIRES_SILICONmust be silicon to interact
INTERACT_MACHINE_SET_MACHINEThis flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. +This is exclusively used for non-TGUI UIs, and its instances should be removed when moved to TGUI.
INTERACT_MACHINE_REQUIRES_SIGHTthe user must have vision to interact (blind people need not apply)
INTERACT_MACHINE_REQUIRES_LITERACYthe user must be able to read to interact

Define Details

+

INTERACT_ATOM_ALLOW_USER_LOCATION + + +

+

allows this atom to skip the adjacency check

INTERACT_ATOM_ATTACK_HAND + + +

+

calls try_interact() on attack_hand() and returns that.

INTERACT_ATOM_CHECK_GRAB + + +

+

incapacitated check checks grab

INTERACT_ATOM_IGNORE_INCAPACITATED + + +

+

ignores incapacitated check

INTERACT_ATOM_IGNORE_MOBILITY + + +

+

ignores mobility check

INTERACT_ATOM_IGNORE_RESTRAINED + + +

+

incapacitated check ignores restrained

INTERACT_ATOM_NO_FINGERPRINT_ATTACK_HAND + + +

+

prevents leaving fingerprints automatically on attack_hand

INTERACT_ATOM_NO_FINGERPRINT_INTERACT + + +

+

adds hiddenprints instead of fingerprints on interact

INTERACT_ATOM_REQUIRES_ANCHORED + + +

+

whether can_interact() checks for anchored. only works on movables.

INTERACT_ATOM_REQUIRES_DEXTERITY + + +

+

user must be dextrous

INTERACT_ATOM_UI_INTERACT + + +

+

automatically calls and returns ui_interact() on interact().

INTERACT_ITEM_ATTACK_HAND_PICKUP + + +

+

attempt pickup on attack_hand for items

INTERACT_MACHINE_ALLOW_SILICON + + +

+

let silicons interact

INTERACT_MACHINE_OFFLINE + + +

+

can_interact() while offline

INTERACT_MACHINE_OPEN + + +

+

can_interact() while open

INTERACT_MACHINE_OPEN_SILICON + + +

+

let silicons interact while open

INTERACT_MACHINE_REQUIRES_LITERACY + + +

+

the user must be able to read to interact

INTERACT_MACHINE_REQUIRES_SIGHT + + +

+

the user must have vision to interact (blind people need not apply)

INTERACT_MACHINE_REQUIRES_SILICON + + +

+

must be silicon to interact

INTERACT_MACHINE_SET_MACHINE + + +

+

This flag determines if a machine set_machine's the user when the user uses it, making updateUsrDialog make the user re-call interact() on it. +This is exclusively used for non-TGUI UIs, and its instances should be removed when moved to TGUI.

INTERACT_MACHINE_WIRES_IF_OPEN + + +

+

try to interact with wires if open

+ + + diff --git a/code/__DEFINES/inventory.html b/code/__DEFINES/inventory.html new file mode 100644 index 00000000000..f64b6dd876c --- /dev/null +++ b/code/__DEFINES/inventory.html @@ -0,0 +1,287 @@ + + + + + + + code/__DEFINES/inventory.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/inventory.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WEIGHT_CLASS_TINYUsually items smaller then a human hand, (e.g. playing cards, lighter, scalpel, coins/holochips)
WEIGHT_CLASS_SMALLPockets can hold small and tiny items, (e.g. flashlight, multitool, grenades, GPS device)
WEIGHT_CLASS_NORMALStandard backpacks can carry tiny, small & normal items, (e.g. fire extinguisher, stun baton, gas mask, metal sheets)
WEIGHT_CLASS_BULKYItems that can be weilded or equipped but not stored in an inventory, (e.g. defibrillator, backpack, space suits)
WEIGHT_CLASS_HUGEUsually represents objects that require two hands to operate, (e.g. shotgun, two-handed melee weapons)
WEIGHT_CLASS_GIGANTICEssentially means it cannot be picked up or placed in an inventory, (e.g. mech parts, safe)
ITEM_SLOT_OCLOTHINGSuit slot (armors, costumes, space suits, etc.)
ITEM_SLOT_ICLOTHINGJumpsuit slot
ITEM_SLOT_GLOVESGlove slot
ITEM_SLOT_EYESGlasses slot
ITEM_SLOT_EARSEar slot (radios, earmuffs)
ITEM_SLOT_MASKMask slot
ITEM_SLOT_HEADHead slot (helmets, hats, etc.)
ITEM_SLOT_FEETShoe slot
ITEM_SLOT_IDID slot
ITEM_SLOT_BELTBelt slot
ITEM_SLOT_BACKBack slot
ITEM_SLOT_DEX_STORAGEDextrous simplemob "hands" (used for Drones and Dextrous Guardians)
ITEM_SLOT_NECKNeck slot (ties, bedsheets, scarves)
ITEM_SLOT_HANDSA character's hand slots
ITEM_SLOT_BACKPACKInside of a character's backpack
ITEM_SLOT_SUITSTORESuit Storage slot
ITEM_SLOT_LPOCKETLeft Pocket slot
ITEM_SLOT_RPOCKETRight Pocket slot
ITEM_SLOT_HANDCUFFEDHandcuff slot
ITEM_SLOT_LEGCUFFEDLegcuff slot (bolas, beartraps)
SLOTS_AMTTotal amount of slots
ITEM_SLOT_ON_BODYSlots that are physically on you
HIDEHEADGEARfor wigs, only obscures the headgear
HIDESNOUTfor lizard snouts, because some HIDEFACE clothes don't actually conceal that portion of the head.
HIDEMUTWINGShides mutant/moth wings, does not apply to functional wings
NO_FEMALE_UNIFORMFor when there's simply no need for a female version of this uniform.
FEMALE_UNIFORM_FULLFor the game to take off everything, disregards other flags.
FEMALE_UNIFORM_TOP_ONLYFor when you really need to avoid the game cutting off that one pixel between the legs, to avoid the comeback of the infamous "dixel".
FEMALE_UNIFORM_NO_BREASTSFor when you don't want the "breast" effect to be applied (the one that cuts two pixels in the middle of the front of the uniform when facing east or west).
CLOTHING_NO_VARIATIONNo alternative sprites based on bodytype
CLOTHING_DIGITIGRADE_VARIATIONHas a sprite for digitigrade legs specifically.
CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICONThe sprite works fine for digitigrade legs as-is.
CLOTHING_MONKEY_VARIATIONhas a sprite for monkeys
AFK_THEFT_MAX_MESSAGESHow many messages you can remember while logged out before you stop remembering new ones
AFK_THEFT_FORGET_DETAILS_TIMEIf someone logs back in and there are entries older than this, just tell them they can't remember who it was or when
AFK_THEFT_NAMEThe index of the entry in 'afk_thefts' with the person's visible name at the time
AFK_THEFT_MESSAGEThe index of the entry in 'afk_thefts' with the text
AFK_THEFT_TIMEThe index of the entry in 'afk_thefts' with the time it happened
LOCATION_LPOCKETString for items placed into the left pocket.
LOCATION_RPOCKETString for items placed into the right pocket
LOCATION_BACKPACKString for items placed into the backpack.
LOCATION_HANDSString for items placed into the hands.
LOCATION_GLOVESString for items placed in the glove slot.
LOCATION_EYESString for items placed in the eye/glasses slot.
LOCATION_HEADString for items placed on the head/hat slot.
LOCATION_NECKString for items placed in the neck slot.

Define Details

+

AFK_THEFT_FORGET_DETAILS_TIME + + +

+

If someone logs back in and there are entries older than this, just tell them they can't remember who it was or when

AFK_THEFT_MAX_MESSAGES + + +

+

How many messages you can remember while logged out before you stop remembering new ones

AFK_THEFT_MESSAGE + + +

+

The index of the entry in 'afk_thefts' with the text

AFK_THEFT_NAME + + +

+

The index of the entry in 'afk_thefts' with the person's visible name at the time

AFK_THEFT_TIME + + +

+

The index of the entry in 'afk_thefts' with the time it happened

CLOTHING_DIGITIGRADE_VARIATION + + +

+

Has a sprite for digitigrade legs specifically.

CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + + +

+

The sprite works fine for digitigrade legs as-is.

CLOTHING_MONKEY_VARIATION + + +

+

has a sprite for monkeys

CLOTHING_NO_VARIATION + + +

+

No alternative sprites based on bodytype

FEMALE_UNIFORM_FULL + + +

+

For the game to take off everything, disregards other flags.

FEMALE_UNIFORM_NO_BREASTS + + +

+

For when you don't want the "breast" effect to be applied (the one that cuts two pixels in the middle of the front of the uniform when facing east or west).

FEMALE_UNIFORM_TOP_ONLY + + +

+

For when you really need to avoid the game cutting off that one pixel between the legs, to avoid the comeback of the infamous "dixel".

HIDEHEADGEAR + + +

+

for wigs, only obscures the headgear

HIDEMUTWINGS + + +

+

hides mutant/moth wings, does not apply to functional wings

HIDESNOUT + + +

+

for lizard snouts, because some HIDEFACE clothes don't actually conceal that portion of the head.

ITEM_SLOT_BACK + + +

+

Back slot

ITEM_SLOT_BACKPACK + + +

+

Inside of a character's backpack

ITEM_SLOT_BELT + + +

+

Belt slot

ITEM_SLOT_DEX_STORAGE + + +

+

Dextrous simplemob "hands" (used for Drones and Dextrous Guardians)

ITEM_SLOT_EARS + + +

+

Ear slot (radios, earmuffs)

ITEM_SLOT_EYES + + +

+

Glasses slot

ITEM_SLOT_FEET + + +

+

Shoe slot

ITEM_SLOT_GLOVES + + +

+

Glove slot

ITEM_SLOT_HANDCUFFED + + +

+

Handcuff slot

ITEM_SLOT_HANDS + + +

+

A character's hand slots

ITEM_SLOT_HEAD + + +

+

Head slot (helmets, hats, etc.)

ITEM_SLOT_ICLOTHING + + +

+

Jumpsuit slot

ITEM_SLOT_ID + + +

+

ID slot

ITEM_SLOT_LEGCUFFED + + +

+

Legcuff slot (bolas, beartraps)

ITEM_SLOT_LPOCKET + + +

+

Left Pocket slot

ITEM_SLOT_MASK + + +

+

Mask slot

ITEM_SLOT_NECK + + +

+

Neck slot (ties, bedsheets, scarves)

ITEM_SLOT_OCLOTHING + + +

+

Suit slot (armors, costumes, space suits, etc.)

ITEM_SLOT_ON_BODY + + +

+

Slots that are physically on you

ITEM_SLOT_RPOCKET + + +

+

Right Pocket slot

ITEM_SLOT_SUITSTORE + + +

+

Suit Storage slot

LOCATION_BACKPACK + + +

+

String for items placed into the backpack.

LOCATION_EYES + + +

+

String for items placed in the eye/glasses slot.

LOCATION_GLOVES + + +

+

String for items placed in the glove slot.

LOCATION_HANDS + + +

+

String for items placed into the hands.

LOCATION_HEAD + + +

+

String for items placed on the head/hat slot.

LOCATION_LPOCKET + + +

+

String for items placed into the left pocket.

LOCATION_NECK + + +

+

String for items placed in the neck slot.

LOCATION_RPOCKET + + +

+

String for items placed into the right pocket

NO_FEMALE_UNIFORM + + +

+

For when there's simply no need for a female version of this uniform.

SLOTS_AMT + + +

+

Total amount of slots

WEIGHT_CLASS_BULKY + + +

+

Items that can be weilded or equipped but not stored in an inventory, (e.g. defibrillator, backpack, space suits)

WEIGHT_CLASS_GIGANTIC + + +

+

Essentially means it cannot be picked up or placed in an inventory, (e.g. mech parts, safe)

WEIGHT_CLASS_HUGE + + +

+

Usually represents objects that require two hands to operate, (e.g. shotgun, two-handed melee weapons)

WEIGHT_CLASS_NORMAL + + +

+

Standard backpacks can carry tiny, small & normal items, (e.g. fire extinguisher, stun baton, gas mask, metal sheets)

WEIGHT_CLASS_SMALL + + +

+

Pockets can hold small and tiny items, (e.g. flashlight, multitool, grenades, GPS device)

WEIGHT_CLASS_TINY + + +

+

Usually items smaller then a human hand, (e.g. playing cards, lighter, scalpel, coins/holochips)

+ + + diff --git a/code/__DEFINES/is_helpers.html b/code/__DEFINES/is_helpers.html new file mode 100644 index 00000000000..67a96c90927 --- /dev/null +++ b/code/__DEFINES/is_helpers.html @@ -0,0 +1,45 @@ + + + + + + + code/__DEFINES/is_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/is_helpers.dm + +

+ + + + +
IN_GIVEN_RANGEWithin given range, but not counting z-levels
isanimal_or_basicmobreturns whether or not the atom is either a basic mob OR simple animal
isminingpathasteroid mobs, which are both simple and basic atm

Define Details

+

IN_GIVEN_RANGE + + + +

+

Within given range, but not counting z-levels

isanimal_or_basicmob + + + +

+

returns whether or not the atom is either a basic mob OR simple animal

isminingpath + + + +

+

asteroid mobs, which are both simple and basic atm

+ + + diff --git a/code/__DEFINES/jobs.html b/code/__DEFINES/jobs.html new file mode 100644 index 00000000000..6c5274c8c83 --- /dev/null +++ b/code/__DEFINES/jobs.html @@ -0,0 +1,119 @@ + + + + + + + code/__DEFINES/jobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/jobs.dm + +

+ + + + + + + + + + + + + + + + + + +
JOB_UNAVAILABLE_ANTAG_INCOMPATJob unavailable due to incompatibility with an antag role.
JOB_UNAVAILABLE_AGEChecks for character age.
GENERIC_JOB_UNAVAILABLE_ERRORUsed when the get_job_unavailable_error_message proc can't make sense of a given code.
JOB_ASSISTANT
JOB_ANNOUNCE_ARRIVALWhether the mob is announced on arrival.
JOB_CREW_MANIFESTWhether the mob is added to the crew manifest.
JOB_EQUIP_RANKWhether the mob is equipped through SSjob.EquipRank() on spawn.
JOB_CREW_MEMBERWhether the job is considered a regular crew member of the station. Equipment such as AI and cyborgs not included.
JOB_NEW_PLAYER_JOINABLEWhether this job can be joined through the new_player menu.
JOB_BOLD_SELECT_TEXTWhether this job appears in bold in the job menu.
JOB_REOPEN_ON_ROUNDSTART_LOSSReopens this position if we lose the player at roundstart.
JOB_ASSIGN_QUIRKSIf the player with this job can have quirks assigned to him or not. Relevant for new player joinable jobs and roundstart antags.
JOB_CAN_BE_INTERNWhether this job can be an intern.
JOB_CANNOT_OPEN_SLOTSThis job cannot have more slots opened by the Head of Personnel (but admins or other random events can still do this).
JOB_HIDE_WHEN_EMPTYThis job will not display on the job menu when there are no slots available, instead of appearing greyed out
JOB_LATEJOIN_ONLYThis job cannot be signed up for at round start or recorded in your preferences
STATION_JOB_FLAGSCombination flag for jobs which are considered regular crew members of the station.

Define Details

+

GENERIC_JOB_UNAVAILABLE_ERROR + + +

+

Used when the get_job_unavailable_error_message proc can't make sense of a given code.

JOB_ANNOUNCE_ARRIVAL + + +

+

Whether the mob is announced on arrival.

JOB_ASSIGN_QUIRKS + + +

+

If the player with this job can have quirks assigned to him or not. Relevant for new player joinable jobs and roundstart antags.

JOB_ASSISTANT + + +

+ ======================= +WARNING WARNING WARNING +WARNING WARNING WARNING +WARNING WARNING WARNING +

These names are used as keys in many locations in the database +you cannot change them trivially without breaking job bans and +role time tracking, if you do this and get it wrong you will die +and it will hurt the entire time

JOB_BOLD_SELECT_TEXT + + +

+

Whether this job appears in bold in the job menu.

JOB_CANNOT_OPEN_SLOTS + + +

+

This job cannot have more slots opened by the Head of Personnel (but admins or other random events can still do this).

JOB_CAN_BE_INTERN + + +

+

Whether this job can be an intern.

JOB_CREW_MANIFEST + + +

+

Whether the mob is added to the crew manifest.

JOB_CREW_MEMBER + + +

+

Whether the job is considered a regular crew member of the station. Equipment such as AI and cyborgs not included.

JOB_EQUIP_RANK + + +

+

Whether the mob is equipped through SSjob.EquipRank() on spawn.

JOB_HIDE_WHEN_EMPTY + + +

+

This job will not display on the job menu when there are no slots available, instead of appearing greyed out

JOB_LATEJOIN_ONLY + + +

+

This job cannot be signed up for at round start or recorded in your preferences

JOB_NEW_PLAYER_JOINABLE + + +

+

Whether this job can be joined through the new_player menu.

JOB_REOPEN_ON_ROUNDSTART_LOSS + + +

+

Reopens this position if we lose the player at roundstart.

JOB_UNAVAILABLE_AGE + + +

+

Checks for character age.

JOB_UNAVAILABLE_ANTAG_INCOMPAT + + +

+

Job unavailable due to incompatibility with an antag role.

STATION_JOB_FLAGS + + +

+

Combination flag for jobs which are considered regular crew members of the station.

+ + + diff --git a/code/__DEFINES/lag_switch.html b/code/__DEFINES/lag_switch.html new file mode 100644 index 00000000000..ae2fecf8d6d --- /dev/null +++ b/code/__DEFINES/lag_switch.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/lag_switch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/lag_switch.dm + +

+ + + + + + + + + +
DISABLE_DEAD_KEYLOOPStops ghosts flying around freely, they can still jump and orbit, staff exempted
DISABLE_GHOST_ZOOM_TRAYStops ghosts using zoom/t-ray verbs and resets their view if zoomed out, staff exempted
DISABLE_RUNECHATDisable runechat and enable the bubbles, speaking mobs with TRAIT_BYPASS_MEASURES exempted
DISABLE_USR_ICON2HTMLDisable icon2html procs from verbs like examine, mobs calling with TRAIT_BYPASS_MEASURES exempted
DISABLE_NON_OBSJOBSPrevents anyone from joining the game as anything but observer
SLOWMODE_SAYLimit IC/dchat spam to one message every x seconds per client, TRAIT_BYPASS_MEASURES exempted
DISABLE_PARALLAXDisables parallax, as if everyone had disabled their preference, TRAIT_BYPASS_MEASURES exempted
DISABLE_FOOTSTEPSDisables footsteps, TRAIT_BYPASS_MEASURES exempted

Define Details

+

DISABLE_DEAD_KEYLOOP + + +

+

Stops ghosts flying around freely, they can still jump and orbit, staff exempted

DISABLE_FOOTSTEPS + + +

+

Disables footsteps, TRAIT_BYPASS_MEASURES exempted

DISABLE_GHOST_ZOOM_TRAY + + +

+

Stops ghosts using zoom/t-ray verbs and resets their view if zoomed out, staff exempted

DISABLE_NON_OBSJOBS + + +

+

Prevents anyone from joining the game as anything but observer

DISABLE_PARALLAX + + +

+

Disables parallax, as if everyone had disabled their preference, TRAIT_BYPASS_MEASURES exempted

DISABLE_RUNECHAT + + +

+

Disable runechat and enable the bubbles, speaking mobs with TRAIT_BYPASS_MEASURES exempted

DISABLE_USR_ICON2HTML + + +

+

Disable icon2html procs from verbs like examine, mobs calling with TRAIT_BYPASS_MEASURES exempted

SLOWMODE_SAY + + +

+

Limit IC/dchat spam to one message every x seconds per client, TRAIT_BYPASS_MEASURES exempted

+ + + diff --git a/code/__DEFINES/language.html b/code/__DEFINES/language.html new file mode 100644 index 00000000000..0a5297b6176 --- /dev/null +++ b/code/__DEFINES/language.html @@ -0,0 +1,63 @@ + + + + + + + code/__DEFINES/language.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/language.dm + +

+ + + + + + + +
LANGUAGE_ALLFor use in full removal only.
LANGUAGE_ATOMLanguage is linked to the movable directly.
LANGUAGE_MINDLanguage is linked to the mob's mind. +If a mind transfer happens, language follows.
LANGUAGE_SPECIESLanguage is linked to the mob's species. +If a species change happens, language goes away. +If applied to a non-human (no species) atom, this is effectively the same as LANGUAGE_ATOM.
SPOKEN_LANGUAGEThis language can be spoken.
UNDERSTOOD_LANGUAGEThis language can be understood.

Define Details

+

LANGUAGE_ALL + + +

+

For use in full removal only.

LANGUAGE_ATOM + + +

+

Language is linked to the movable directly.

LANGUAGE_MIND + + +

+

Language is linked to the mob's mind. +If a mind transfer happens, language follows.

LANGUAGE_SPECIES + + +

+

Language is linked to the mob's species. +If a species change happens, language goes away. +If applied to a non-human (no species) atom, this is effectively the same as LANGUAGE_ATOM.

SPOKEN_LANGUAGE + + +

+

This language can be spoken.

UNDERSTOOD_LANGUAGE + + +

+

This language can be understood.

+ + + diff --git a/code/__DEFINES/layers.html b/code/__DEFINES/layers.html new file mode 100644 index 00000000000..02743b4a23b --- /dev/null +++ b/code/__DEFINES/layers.html @@ -0,0 +1,255 @@ + + + + + + + code/__DEFINES/layers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/layers.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SEETHROUGH_PLANESlightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees
LIGHTING_PLANENormal 1 per turf dynamic lighting underlays
O_LIGHTING_VISUAL_PLANELighting objects that are "free floating"
EMISSIVE_RENDER_PLATEThis plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.
LIGHT_MASK_PLANEMasks the lighting plane with turfs, so we never light up the void +Failing that, masks emissives and the overlay lighting plane
ABOVE_LIGHTING_PLANEThings that should render ignoring lighting
PIPECRAWL_IMAGES_PLANE---------------- MISC ----------------------- +Pipecrawling images
CAMERA_STATIC_PLANEAI Camera Static
HIGH_GAME_PLANEAnything that wants to be part of the game plane, but also wants to draw above literally everything else
RUNECHAT_PLANE--------------- FULLSCREEN RUNECHAT BUBBLES ------------ +Popup Chat Messages
BALLOON_CHAT_PLANEPlane for balloon text (text that fades up)
SPLASHSCREEN_PLANEPlane of the "splash" icon used that shows on the lobby screen
RENDER_PLANE_GAME_MASKEDIf fov is enabled we'll draw game to this and do shit to it
RENDER_PLANE_GAME_UNMASKEDThe bit of the game plane that is let alone is sent here
ESCAPE_MENU_PLANEPlane related to the menu when pressing Escape. +Needed so that we can apply a blur effect to EVERYTHING, and guarantee we are above all UI.
PLANE_RANGEThe range unique planes can be in +Try and keep this to a nice whole number, so it's easy to look at a plane var and know what's going on
CATWALK_LAYERcatwalk overlay of /turf/open/floor/plating/catwalk_floor
WATER_LEVEL_LAYERAnything below this layer is to be considered completely (visually) under water by the immerse layer.
WATER_VISUAL_OVERLAY_LAYERThe layer of the visual overlay used in the submerge element. +The vis overlay inherits the planes of the movables it's attached to (that also have KEEP_TOGETHER added) +We just have to make sure the visual overlay is rendered above all the other overlays of those movables.
LIGHTING_MASK_LAYERTypically overlays, that "hide" portions of the turf underlay layer +I'm allotting 100 z levels before this breaks. That'll never happen +--Lemon
LIGHTING_PRIMARY_LAYERMisc things that draw on the turf lighting plane +Space, solar beams, etc
LIGHTING_ABOVE_ALLStuff that needs to draw above everything else on this plane
EMISSIVE_LAYER_UNBLOCKABLEThe layer you should use if you really don't want an emissive overlay to be blocked.
FLASH_LAYER--------------- FULLSCREEN IMAGES ------------
TYPING_LAYER--------------- FULLSCREEN RUNECHAT BUBBLES ------------ +Bubble for typing indicators
RADIAL_CONTENT_LAYER1000 is an unimportant number, it's just to normalize copied layers
SCREENTIP_LAYERLayer for screentips
TUTORIAL_INSTRUCTIONS_LAYERLayer for tutorial instructions
LIGHT_DEBUG_LAYERLayer for light overlays
LOBBY_BELOW_MENU_LAYERLayer for lobby menu collapse button
LOBBY_MENU_LAYERLayer for lobby menu background image and main buttons (Join/Ready, Observe, Charater Prefs)
LOBBY_SHUTTER_LAYERLayer for lobby menu shutter, which covers up the menu to collapse/expand it
LOBBY_BOTTOM_BUTTON_LAYERLayer for lobby menu buttons that are hanging away from and lower than the main panel
CINEMATIC_LAYERcinematics are "below" the splash screen
PLANE_MASTERS_GAMEPlane master controller keys
PLANE_CRITICAL_DISPLAYThis plane master will not go away if its layer is culled. useful for preserving effects
PLANE_CRITICAL_NO_RELAYThis plane master will temporarially remove relays to all other planes +Allows us to retain the effects of a plane while cutting off the changes it makes
PLANE_CRITICAL_CUT_RENDERWe assume this plane master has a render target starting with *, it'll be removed, forcing it to render in place
MULTIZ_PERFORMANCE_DISABLEA value of /datum/preference/numeric/multiz_performance that disables the option
MAX_EXPECTED_Z_DEPTHWe expect at most 3 layers of multiz +Increment this define if you make a huge map. We unit test for it too just to make it easy for you +If you modify this, you'll need to modify the tsx file too

Define Details

+

ABOVE_LIGHTING_PLANE + + +

+

Things that should render ignoring lighting

BALLOON_CHAT_PLANE + + +

+

Plane for balloon text (text that fades up)

CAMERA_STATIC_PLANE + + +

+

AI Camera Static

CATWALK_LAYER + + +

+

catwalk overlay of /turf/open/floor/plating/catwalk_floor

CINEMATIC_LAYER + + +

+

cinematics are "below" the splash screen

EMISSIVE_LAYER_UNBLOCKABLE + + +

+

The layer you should use if you really don't want an emissive overlay to be blocked.

EMISSIVE_RENDER_PLATE + + +

+

This plane masks out lighting to create an "emissive" effect, ie for glowing lights in otherwise dark areas.

ESCAPE_MENU_PLANE + + +

+

Plane related to the menu when pressing Escape. +Needed so that we can apply a blur effect to EVERYTHING, and guarantee we are above all UI.

FLASH_LAYER + + +

+

--------------- FULLSCREEN IMAGES ------------

HIGH_GAME_PLANE + + +

+

Anything that wants to be part of the game plane, but also wants to draw above literally everything else

LIGHTING_ABOVE_ALL + + +

+

Stuff that needs to draw above everything else on this plane

LIGHTING_MASK_LAYER + + +

+

Typically overlays, that "hide" portions of the turf underlay layer +I'm allotting 100 z levels before this breaks. That'll never happen +--Lemon

LIGHTING_PLANE + + +

+

Normal 1 per turf dynamic lighting underlays

LIGHTING_PRIMARY_LAYER + + +

+

Misc things that draw on the turf lighting plane +Space, solar beams, etc

LIGHT_DEBUG_LAYER + + +

+

Layer for light overlays

LIGHT_MASK_PLANE + + +

+

Masks the lighting plane with turfs, so we never light up the void +Failing that, masks emissives and the overlay lighting plane

LOBBY_BELOW_MENU_LAYER + + +

+

Layer for lobby menu collapse button

LOBBY_BOTTOM_BUTTON_LAYER + + +

+

Layer for lobby menu buttons that are hanging away from and lower than the main panel

LOBBY_MENU_LAYER + + +

+

Layer for lobby menu background image and main buttons (Join/Ready, Observe, Charater Prefs)

LOBBY_SHUTTER_LAYER + + +

+

Layer for lobby menu shutter, which covers up the menu to collapse/expand it

MAX_EXPECTED_Z_DEPTH + + +

+

We expect at most 3 layers of multiz +Increment this define if you make a huge map. We unit test for it too just to make it easy for you +If you modify this, you'll need to modify the tsx file too

MULTIZ_PERFORMANCE_DISABLE + + +

+

A value of /datum/preference/numeric/multiz_performance that disables the option

O_LIGHTING_VISUAL_PLANE + + +

+

Lighting objects that are "free floating"

PIPECRAWL_IMAGES_PLANE + + +

+

---------------- MISC ----------------------- +Pipecrawling images

PLANE_CRITICAL_CUT_RENDER + + +

+

We assume this plane master has a render target starting with *, it'll be removed, forcing it to render in place

PLANE_CRITICAL_DISPLAY + + +

+

This plane master will not go away if its layer is culled. useful for preserving effects

PLANE_CRITICAL_NO_RELAY + + +

+

This plane master will temporarially remove relays to all other planes +Allows us to retain the effects of a plane while cutting off the changes it makes

PLANE_MASTERS_GAME + + +

+

Plane master controller keys

PLANE_RANGE + + +

+

The range unique planes can be in +Try and keep this to a nice whole number, so it's easy to look at a plane var and know what's going on

RADIAL_CONTENT_LAYER + + +

+

1000 is an unimportant number, it's just to normalize copied layers

RENDER_PLANE_GAME_MASKED + + +

+

If fov is enabled we'll draw game to this and do shit to it

RENDER_PLANE_GAME_UNMASKED + + +

+

The bit of the game plane that is let alone is sent here

RUNECHAT_PLANE + + +

+

--------------- FULLSCREEN RUNECHAT BUBBLES ------------ +Popup Chat Messages

SCREENTIP_LAYER + + +

+

Layer for screentips

SEETHROUGH_PLANE + + +

+

Slightly above the game plane but does not catch mouse clicks. Useful for certain visuals that should be clicked through, like seethrough trees

SPLASHSCREEN_PLANE + + +

+

Plane of the "splash" icon used that shows on the lobby screen

TUTORIAL_INSTRUCTIONS_LAYER + + +

+

Layer for tutorial instructions

TYPING_LAYER + + +

+

--------------- FULLSCREEN RUNECHAT BUBBLES ------------ +Bubble for typing indicators

WATER_LEVEL_LAYER + + +

+

Anything below this layer is to be considered completely (visually) under water by the immerse layer.

WATER_VISUAL_OVERLAY_LAYER + + +

+

The layer of the visual overlay used in the submerge element. +The vis overlay inherits the planes of the movables it's attached to (that also have KEEP_TOGETHER added) +We just have to make sure the visual overlay is rendered above all the other overlays of those movables.

+ + + diff --git a/code/__DEFINES/library.html b/code/__DEFINES/library.html new file mode 100644 index 00000000000..362e627d1f5 --- /dev/null +++ b/code/__DEFINES/library.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/library.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/library.dm + +

+ + + + +
BOOKS_PER_PAGEHow many books should we load per page?
CHECKOUTS_PER_PAGEHow many checkout records should we load per page?
INVENTORY_PER_PAGEHow many inventory items should we load per page?

Define Details

+

BOOKS_PER_PAGE + + +

+

How many books should we load per page?

CHECKOUTS_PER_PAGE + + +

+

How many checkout records should we load per page?

INVENTORY_PER_PAGE + + +

+

How many inventory items should we load per page?

+ + + diff --git a/code/__DEFINES/lighting.html b/code/__DEFINES/lighting.html new file mode 100644 index 00000000000..4a8bb0907ef --- /dev/null +++ b/code/__DEFINES/lighting.html @@ -0,0 +1,195 @@ + + + + + + + code/__DEFINES/lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/lighting.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NO_LIGHT_SUPPORTObject doesn't use any of the light systems. Should be changed to add a light source to the object.
STATIC_LIGHTLight made with the lighting datums, applying a matrix.
MOVABLE_LIGHTLight made by masking the lighting darkness plane.
MOVABLE_LIGHT_DIRECTIONALLight made by masking the lighting darkness plane, and is directional.
MOVABLE_LIGHT_BEAMLight made by masking the lighting darkness plane, and is a directionally focused beam.
NONSENSICAL_VALUENonesensical value for light color, used for null checks.
LIGHT_ATTACHEDIs a movable light source attached to another movable (its loc), meaning that the lighting component should go one level deeper.
LIGHT_FROZENFreezes a light in its current state, blocking any attempts at modification
LIGHT_IGNORE_OFFSETDoes this light ignore inherent offsets? (Pixels, transforms, etc)
LIGHTING_INTERVALfrequency, in 1/10ths of a second, of the lighting process
LIGHTING_FALLOFFtype of falloff to use for lighting; 1 for circular, 2 for square
LIGHTING_LAMBERTIANuse lambertian shading for light sources
LIGHTING_HEIGHT_SPACElight UNDER the floor. primarily used for starlight, shouldn't fuck with this
LIGHTING_HEIGHT_FLOORlight ON the floor
LIGHTING_HEIGHTheight off the ground of light sources on the pseudo-z-axis, you should probably leave this alone
LIGHTING_ROUND_VALUEValue used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.
LIGHTING_ICONicon used for lighting shading effects
LIGHTING_SOFT_THRESHOLDIf the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. +Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.
LIGHT_RANGE_FIREHow many tiles standard fires glow.
LIGHTING_NIGHTVISION_THRESHOLDWhat counts as being able to see in the dark
LIGHTING_TILE_IS_DARKThe amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)
EMISSIVE_BLOCK_GENERICUses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.
EMISSIVE_BLOCK_UNIQUEUses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.
EMISSIVE_BLOCK_NONEDon't block any emissives. Useful for things like, pieces of paper?
EMISSIVE_COLORThe color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.
EM_BLOCK_COLORThe color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.
EMISSIVE_APPEARANCE_FLAGSA set of appearance flags applied to all emissive and emissive blocker overlays. +KEEP_APART to prevent parent hooking, KEEP_TOGETHER for children, and we reset the color and alpha of our parent so nothing gets overriden
EM_MASK_MATRIXThe color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.
GETREDPARTReturns the red part of a #RRGGBB hex sequence as number
GETGREENPARTReturns the green part of a #RRGGBB hex sequence as number
GETBLUEPARTReturns the blue part of a #RRGGBB hex sequence as number
PARSE_LIGHT_COLORParse the hexadecimal color into lumcounts of each perspective.

Define Details

+

EMISSIVE_APPEARANCE_FLAGS + + +

+

A set of appearance flags applied to all emissive and emissive blocker overlays. +KEEP_APART to prevent parent hooking, KEEP_TOGETHER for children, and we reset the color and alpha of our parent so nothing gets overriden

EMISSIVE_BLOCK_GENERIC + + +

+

Uses vis_overlays to leverage caching so that very few new items need to be made for the overlay. For anything that doesn't change outline or opaque area much or at all.

EMISSIVE_BLOCK_NONE + + +

+

Don't block any emissives. Useful for things like, pieces of paper?

EMISSIVE_BLOCK_UNIQUE + + +

+

Uses a dedicated render_target object to copy the entire appearance in real time to the blocking layer. For things that can change in appearance a lot from the base state, like humans.

EMISSIVE_COLOR + + +

+

The color matrix applied to all emissive overlays. Should be solely dependent on alpha and not have RGB overlap with EM_BLOCK_COLOR.

EM_BLOCK_COLOR + + +

+

The color matrix applied to all emissive blockers. Should be solely dependent on alpha and not have RGB overlap with EMISSIVE_COLOR.

EM_MASK_MATRIX + + +

+

The color matrix used to mask out emissive blockers on the emissive plane. Alpha should default to zero, be solely dependent on the RGB value of EMISSIVE_COLOR, and be independant of the RGB value of EM_BLOCK_COLOR.

GETBLUEPART + + + +

+

Returns the blue part of a #RRGGBB hex sequence as number

GETGREENPART + + + +

+

Returns the green part of a #RRGGBB hex sequence as number

GETREDPART + + + +

+

Returns the red part of a #RRGGBB hex sequence as number

LIGHTING_FALLOFF + + +

+

type of falloff to use for lighting; 1 for circular, 2 for square

LIGHTING_HEIGHT + + +

+

height off the ground of light sources on the pseudo-z-axis, you should probably leave this alone

LIGHTING_HEIGHT_FLOOR + + +

+

light ON the floor

LIGHTING_HEIGHT_SPACE + + +

+

light UNDER the floor. primarily used for starlight, shouldn't fuck with this

LIGHTING_ICON + + +

+

icon used for lighting shading effects

LIGHTING_INTERVAL + + +

+

frequency, in 1/10ths of a second, of the lighting process

LIGHTING_LAMBERTIAN + + +

+

use lambertian shading for light sources

LIGHTING_NIGHTVISION_THRESHOLD + + +

+

What counts as being able to see in the dark

LIGHTING_ROUND_VALUE + + +

+

Value used to round lumcounts, values smaller than 1/129 don't matter (if they do, thanks sinking points), greater values will make lighting less precise, but in turn increase performance, VERY SLIGHTLY.

LIGHTING_SOFT_THRESHOLD + + +

+

If the max of the lighting lumcounts of each spectrum drops below this, disable luminosity on the lighting objects. +Set to zero to disable soft lighting. Luminosity changes then work if it's lit at all.

LIGHTING_TILE_IS_DARK + + +

+

The amount of lumcount on a tile for it to be considered dark (used to determine reading and nyctophobia)

LIGHT_ATTACHED + + +

+

Is a movable light source attached to another movable (its loc), meaning that the lighting component should go one level deeper.

LIGHT_FROZEN + + +

+

Freezes a light in its current state, blocking any attempts at modification

LIGHT_IGNORE_OFFSET + + +

+

Does this light ignore inherent offsets? (Pixels, transforms, etc)

LIGHT_RANGE_FIRE + + +

+

How many tiles standard fires glow.

MOVABLE_LIGHT + + +

+

Light made by masking the lighting darkness plane.

MOVABLE_LIGHT_BEAM + + +

+

Light made by masking the lighting darkness plane, and is a directionally focused beam.

MOVABLE_LIGHT_DIRECTIONAL + + +

+

Light made by masking the lighting darkness plane, and is directional.

NONSENSICAL_VALUE + + +

+

Nonesensical value for light color, used for null checks.

NO_LIGHT_SUPPORT + + +

+

Object doesn't use any of the light systems. Should be changed to add a light source to the object.

PARSE_LIGHT_COLOR + + + +

+

Parse the hexadecimal color into lumcounts of each perspective.

STATIC_LIGHT + + +

+

Light made with the lighting datums, applying a matrix.

+ + + diff --git a/code/__DEFINES/lights.html b/code/__DEFINES/lights.html new file mode 100644 index 00000000000..8a563b6625f --- /dev/null +++ b/code/__DEFINES/lights.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/lights.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/lights.dm + +

+ + + + + + + +
LIGHT_EMERGENCY_POWER_USEHow much power emergency lights will consume per tick
BROKEN_SPARKS_MINMin time for a spark to happen in a broken light
BROKEN_SPARKS_MAXMax time for a spark to happen in a broken light
LIGHT_DRAIN_TIMEAmount of time that takes an ethereal to take energy from the lights
LIGHT_POWER_GAINAmount of charge the ethereal gain after the drain
LIGHT_REAGENT_CAPACITYHow many reagents the lights can hold

Define Details

+

BROKEN_SPARKS_MAX + + +

+

Max time for a spark to happen in a broken light

BROKEN_SPARKS_MIN + + +

+

Min time for a spark to happen in a broken light

LIGHT_DRAIN_TIME + + +

+

Amount of time that takes an ethereal to take energy from the lights

LIGHT_EMERGENCY_POWER_USE + + +

+

How much power emergency lights will consume per tick

LIGHT_POWER_GAIN + + +

+

Amount of charge the ethereal gain after the drain

LIGHT_REAGENT_CAPACITY + + +

+

How many reagents the lights can hold

+ + + diff --git a/code/__DEFINES/living.html b/code/__DEFINES/living.html new file mode 100644 index 00000000000..f0662580462 --- /dev/null +++ b/code/__DEFINES/living.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/living.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/living.dm + +

+ + +
MOVES_ON_ITS_OWNSimple mob trait, indicating it may follow continuous move actions controlled by code instead of by user input.

Define Details

+

MOVES_ON_ITS_OWN + + +

+

Simple mob trait, indicating it may follow continuous move actions controlled by code instead of by user input.

+ + + diff --git a/code/__DEFINES/logging.html b/code/__DEFINES/logging.html new file mode 100644 index 00000000000..7a73fd16b96 --- /dev/null +++ b/code/__DEFINES/logging.html @@ -0,0 +1,46 @@ + + + + + + + code/__DEFINES/logging.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/logging.dm + +

+ + + + +
CONFIG_MAX_CACHED_LOG_ENTRIESThe number of entries to store per category, don't make this too large or you'll start to see performance issues
LOG_UPDATE_TIMEOUTThe number of minimum ticks between each log re-render, making this small will cause performance issues +Admins can still manually request a re-render
ENTRY_USE_DATA_W_READABLEEnables data list usage for readable log entries +You'll likely want to disable internal formatting to make this work properly

Define Details

+

CONFIG_MAX_CACHED_LOG_ENTRIES + + +

+

The number of entries to store per category, don't make this too large or you'll start to see performance issues

ENTRY_USE_DATA_W_READABLE + + +

+

Enables data list usage for readable log entries +You'll likely want to disable internal formatting to make this work properly

LOG_UPDATE_TIMEOUT + + +

+

The number of minimum ticks between each log re-render, making this small will cause performance issues +Admins can still manually request a re-render

+ + + diff --git a/code/__DEFINES/machines.html b/code/__DEFINES/machines.html new file mode 100644 index 00000000000..a148400f071 --- /dev/null +++ b/code/__DEFINES/machines.html @@ -0,0 +1,129 @@ + + + + + + + code/__DEFINES/machines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/machines.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
AREA_USAGE_DYNAMIC_STARTIndex of the first dynamic usage channel
AREA_USAGE_DYNAMIC_ENDIndex of the last dynamic usage channel
AREA_USAGE_STATIC_STARTIndex of the first static usage channel
AREA_USAGE_STATIC_ENDIndex of the last static usage channel
BASE_MACHINE_IDLE_CONSUMPTIONBase global power consumption for idling machines
BASE_MACHINE_ACTIVE_CONSUMPTIONBase global power consumption for active machines
START_PROCESSING_ON_INITBitflags for a machine's preferences on when it should start processing. For use with machinery's processing_flags var. +Indicates the machine will automatically start processing right after it's Initialize() is ran.
START_PROCESSING_MANUALLYMachines with this flag will not start processing when it's spawned. Use this if you want to manually control when a machine starts processing.
DEFAULT_DOOR_CHECKSWe should go through the door's normal opening procedure, no overrides.
FORCING_DOOR_CHECKSWe're not going through the door's normal opening procedure, we're forcing it open. Can still fail if it's emagged or something. Costs power.
BYPASS_DOOR_CHECKSWe are getting this door open if it has not been physically held shut somehow. Play a special sound to signify this level of opening.
AWAY_LATHEProtolathes for offstation roles. More limited tech tree.
AWAY_IMPRINTERImprinters for offstation roles. More limited tech tree.
COMPONENT_PRINTERFor wiremod/integrated circuits. Uses various minerals.
SYNDIEBOMB_MIN_TIMER_SECONDSWhat's the minimum duration of a syndie bomb (in seconds)
MAX_STATUS_LINE_LENGTHMax length of a status line in the status display
SD_BLANKBlank Status Display
SD_EMERGENCYShows the emergency shuttle timer
SD_MESSAGEShows an arbitrary message, user-set
SD_PICTUREShows an alert picture (e.g. red alert, radiation, etc.)

Define Details

+

AREA_USAGE_DYNAMIC_END + + +

+

Index of the last dynamic usage channel

AREA_USAGE_DYNAMIC_START + + +

+

Index of the first dynamic usage channel

AREA_USAGE_STATIC_END + + +

+

Index of the last static usage channel

AREA_USAGE_STATIC_START + + +

+

Index of the first static usage channel

AWAY_IMPRINTER + + +

+

Imprinters for offstation roles. More limited tech tree.

AWAY_LATHE + + +

+

Protolathes for offstation roles. More limited tech tree.

BASE_MACHINE_ACTIVE_CONSUMPTION + + +

+

Base global power consumption for active machines

BASE_MACHINE_IDLE_CONSUMPTION + + +

+

Base global power consumption for idling machines

BYPASS_DOOR_CHECKS + + +

+

We are getting this door open if it has not been physically held shut somehow. Play a special sound to signify this level of opening.

COMPONENT_PRINTER + + +

+

For wiremod/integrated circuits. Uses various minerals.

DEFAULT_DOOR_CHECKS + + +

+

We should go through the door's normal opening procedure, no overrides.

FORCING_DOOR_CHECKS + + +

+

We're not going through the door's normal opening procedure, we're forcing it open. Can still fail if it's emagged or something. Costs power.

MAX_STATUS_LINE_LENGTH + + +

+

Max length of a status line in the status display

SD_BLANK + + +

+

Blank Status Display

SD_EMERGENCY + + +

+

Shows the emergency shuttle timer

SD_MESSAGE + + +

+

Shows an arbitrary message, user-set

SD_PICTURE + + +

+

Shows an alert picture (e.g. red alert, radiation, etc.)

START_PROCESSING_MANUALLY + + +

+

Machines with this flag will not start processing when it's spawned. Use this if you want to manually control when a machine starts processing.

START_PROCESSING_ON_INIT + + +

+

Bitflags for a machine's preferences on when it should start processing. For use with machinery's processing_flags var. +Indicates the machine will automatically start processing right after it's Initialize() is ran.

SYNDIEBOMB_MIN_TIMER_SECONDS + + +

+

What's the minimum duration of a syndie bomb (in seconds)

+ + + diff --git a/code/__DEFINES/magic.html b/code/__DEFINES/magic.html new file mode 100644 index 00000000000..34ea5fae24f --- /dev/null +++ b/code/__DEFINES/magic.html @@ -0,0 +1,194 @@ + + + + + + + code/__DEFINES/magic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/magic.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SCHOOL_UNSETUnset / default / "not actually magic" school.
SCHOOL_HOLYHoly school (chaplain magic)
SCHOOL_PSYCHICPsychic school. Not true magic, but psychic spells only benefit themselves.
SCHOOL_MIMEMime... school? Mime magic. It counts
SCHOOL_RESTORATIONRestoration school, which is mostly healing stuff
SCHOOL_EVOCATIONEvocation school, usually involves killing or destroy stuff, usually out of thin air
SCHOOL_TRANSMUTATIONSchool of transforming stuff into other stuff
SCHOOL_TRANSLOCATIONSchool of transolcation, usually movement spells
SCHOOL_CONJURATIONConjuration spells summon items / mobs / etc somehow
SCHOOL_NECROMANCYNecromancy spells, usually involves soul / evil / bad stuff
SCHOOL_FORBIDDENOther forbidden magics, such as heretic spells
SCHOOL_SANGUINEBlood magic, involves vampirism, draining blood, etc.
INVOCATION_NONEAllows being able to cast the spell without saying or doing anything.
INVOCATION_SHOUTForces the wizard to shout the invocation to cast the spell.
INVOCATION_WHISPERForces the wizard to whisper the invocation to cast the spell.
INVOCATION_EMOTEForces the wizard to emote to cast the spell.
SPELL_REQUIRES_WIZARD_GARBWhether the spell requires wizard clothes to cast.
SPELL_REQUIRES_HUMANWhether the spell can only be cast by humans (mob type, not species). +SPELL_REQUIRES_WIZARD_GARB comes with this flag implied, as carbons and below can't wear clothes.
SPELL_CASTABLE_AS_BRAINWhether the spell can be cast by mobs who are brains / mmis. +When applying, bear in mind most spells will not function for brains out of the box.
SPELL_REQUIRES_NO_ANTIMAGICWhether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.
SPELL_REQUIRES_STATIONWhether the spell requires being on the station z-level to be cast.
SPELL_REQUIRES_MINDWhether the spell must be cast by someone with a mind datum.
SPELL_REQUIRES_MIME_VOWWhether the spell requires the caster have a mime vow (mindless mobs will succeed this check regardless).
SPELL_CASTABLE_WITHOUT_INVOCATIONWhether the spell can be cast, even if the caster is unable to speak the invocation +(effectively making the invocation flavor, instead of required).
TELEPORT_SPELL_SKIP_SPACEWhether the teleport spell skips over space turfs
TELEPORT_SPELL_SKIP_DENSEWhether the teleport spell skips over dense turfs
TELEPORT_SPELL_SKIP_BLOCKEDWhether the teleport spell skips over blocked turfs
MAGIC_RESISTANCEDefault magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)
MAGIC_RESISTANCE_MINDTinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)
MAGIC_RESISTANCE_HOLYHoly magic resistance that blocks unholy magic (revenant, vampire, voice of god)
is_jauntingChecks if our mob is jaunting actively (within a phased mob object) +Used in jaunting spells specifically to determine whether they should be entering or exiting jaunt

Define Details

+

INVOCATION_EMOTE + + +

+

Forces the wizard to emote to cast the spell.

INVOCATION_NONE + + +

+

Allows being able to cast the spell without saying or doing anything.

INVOCATION_SHOUT + + +

+

Forces the wizard to shout the invocation to cast the spell.

INVOCATION_WHISPER + + +

+

Forces the wizard to whisper the invocation to cast the spell.

MAGIC_RESISTANCE + + +

+

Default magic resistance that blocks normal magic (wizard, spells, magical staff projectiles)

MAGIC_RESISTANCE_HOLY + + +

+

Holy magic resistance that blocks unholy magic (revenant, vampire, voice of god)

MAGIC_RESISTANCE_MIND + + +

+

Tinfoil hat magic resistance that blocks mental magic (telepathy / mind links, mind curses, abductors)

SCHOOL_CONJURATION + + +

+

Conjuration spells summon items / mobs / etc somehow

SCHOOL_EVOCATION + + +

+

Evocation school, usually involves killing or destroy stuff, usually out of thin air

SCHOOL_FORBIDDEN + + +

+

Other forbidden magics, such as heretic spells

SCHOOL_HOLY + + +

+

Holy school (chaplain magic)

SCHOOL_MIME + + +

+

Mime... school? Mime magic. It counts

SCHOOL_NECROMANCY + + +

+

Necromancy spells, usually involves soul / evil / bad stuff

SCHOOL_PSYCHIC + + +

+

Psychic school. Not true magic, but psychic spells only benefit themselves.

SCHOOL_RESTORATION + + +

+

Restoration school, which is mostly healing stuff

SCHOOL_SANGUINE + + +

+

Blood magic, involves vampirism, draining blood, etc.

SCHOOL_TRANSLOCATION + + +

+

School of transolcation, usually movement spells

SCHOOL_TRANSMUTATION + + +

+

School of transforming stuff into other stuff

SCHOOL_UNSET + + +

+

Unset / default / "not actually magic" school.

SPELL_CASTABLE_AS_BRAIN + + +

+

Whether the spell can be cast by mobs who are brains / mmis. +When applying, bear in mind most spells will not function for brains out of the box.

SPELL_CASTABLE_WITHOUT_INVOCATION + + +

+

Whether the spell can be cast, even if the caster is unable to speak the invocation +(effectively making the invocation flavor, instead of required).

SPELL_REQUIRES_HUMAN + + +

+

Whether the spell can only be cast by humans (mob type, not species). +SPELL_REQUIRES_WIZARD_GARB comes with this flag implied, as carbons and below can't wear clothes.

SPELL_REQUIRES_MIME_VOW + + +

+

Whether the spell requires the caster have a mime vow (mindless mobs will succeed this check regardless).

SPELL_REQUIRES_MIND + + +

+

Whether the spell must be cast by someone with a mind datum.

SPELL_REQUIRES_NO_ANTIMAGIC + + +

+

Whether the spell can be cast while the user has antimagic on them that corresponds to the spell's own antimagic flags.

SPELL_REQUIRES_STATION + + +

+

Whether the spell requires being on the station z-level to be cast.

SPELL_REQUIRES_WIZARD_GARB + + +

+

Whether the spell requires wizard clothes to cast.

TELEPORT_SPELL_SKIP_BLOCKED + + +

+

Whether the teleport spell skips over blocked turfs

TELEPORT_SPELL_SKIP_DENSE + + +

+

Whether the teleport spell skips over dense turfs

TELEPORT_SPELL_SKIP_SPACE + + +

+

Whether the teleport spell skips over space turfs

is_jaunting + + + +

+

Checks if our mob is jaunting actively (within a phased mob object) +Used in jaunting spells specifically to determine whether they should be entering or exiting jaunt

+

If you want to use this in non-jaunt related code, it is preferable +to instead check for trait TRAIT_MAGICALLY_PHASED instead of using this +as it encompasses more states in which a mob may be "incorporeal from magic"

+ + + diff --git a/code/__DEFINES/map_switch.html b/code/__DEFINES/map_switch.html new file mode 100644 index 00000000000..037f0d1fb6b --- /dev/null +++ b/code/__DEFINES/map_switch.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/map_switch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/map_switch.dm + +

+ + +
MAP_SWITCHUses the left operator when compiling, uses the right operator when not compiling.

Define Details

+

MAP_SWITCH + + + +

+

Uses the left operator when compiling, uses the right operator when not compiling.

+ + + diff --git a/code/__DEFINES/mapping.html b/code/__DEFINES/mapping.html new file mode 100644 index 00000000000..bbd27902df3 --- /dev/null +++ b/code/__DEFINES/mapping.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/mapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mapping.dm + +

+ + + +
Z_LEVEL_UPTRUE if we're ok with going up
Z_LEVEL_DOWNTRUE if we're ok with going down

Define Details

+

Z_LEVEL_DOWN + + +

+

TRUE if we're ok with going down

Z_LEVEL_UP + + +

+

TRUE if we're ok with going up

+ + + diff --git a/code/__DEFINES/maps.html b/code/__DEFINES/maps.html new file mode 100644 index 00000000000..d203cb47581 --- /dev/null +++ b/code/__DEFINES/maps.html @@ -0,0 +1,218 @@ + + + + + + + code/__DEFINES/maps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maps.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TRANSITIONEDGEDistance from edge to move to another z-level
MAP_MINXThe maploader index for the maps minimum x
MAP_MINYThe maploader index for the maps minimum y
MAP_MINZThe maploader index for the maps minimum z
MAP_MAXXThe maploader index for the maps maximum x
MAP_MAXYThe maploader index for the maps maximum y
MAP_MAXZThe maploader index for the maps maximum z
PATH_TO_NEXT_MAP_JSONPath for the next_map.json file, if someone, for some messed up reason, wants to change it.
MAP_DIRECTORY_MAPSList of directories we can load map .json files from
CUSTOM_MAP_PATHSpecial map path value for custom adminloaded stations.
ZTRAIT_SECRETboolean - does this z prevent ghosts from observing it
ZTRAIT_NOPHASEboolean - does this z prevent phasing
ZTRAIT_NOXRAYboolean - does this z prevent xray/meson/thermal vision
ZTRAIT_NOPARALLAXboolean - does this z disable parallax?
ZTRAITS_CENTCOMZ level traits for CentCom
ZTRAITS_STATIONZ level traits for Space Station 13
ZTRAITS_SPACEZ level traits for Deep Space
ZTRAITS_LAVALANDZ level traits for Lavaland
ZTRAITS_AWAYZ level traits for Away Missions
ZTRAITS_AWAY_SECRETZ level traits for Secret Away Missions
DEFAULT_SPACE_RUIN_LEVELSMap generation defines
SHELTER_DEPLOY_ALLOWEDShelter spot is allowed
SHELTER_DEPLOY_BAD_TURFSShelter spot has turfs that restrict deployment
SHELTER_DEPLOY_BAD_AREAShelter spot has areas that restrict deployment
SHELTER_DEPLOY_ANCHORED_OBJECTSShelter spot has anchored objects that restrict deployment
SHELTER_DEPLOY_OUTSIDE_MAPShelter spot is out of bounds from the maps x/y coordinates
SPACE_KEYA map key that corresponds to being one exclusively for Space.
CLUSTER_CHECK_NONENo checks are done, cluster as much as possible
CLUSTER_CHECK_DIFFERENT_TURFSDon't let turfs of DIFFERENT types cluster
CLUSTER_CHECK_DIFFERENT_ATOMSDon't let atoms of DIFFERENT types cluster
CLUSTER_CHECK_SAME_TURFSDon't let turfs of the SAME type cluster
CLUSTER_CHECK_SAME_ATOMSDon't let atoms of the SAME type cluster
CLUSTER_CHECK_SAMESDon't let any of the same type cluster
CLUSTER_CHECK_DIFFERENTSDon't let any of different types cluster
CLUSTER_CHECK_ALL_TURFSDon't let ANY turfs cluster same and different types
CLUSTER_CHECK_ALL_ATOMSDon't let ANY atoms cluster same and different types
CLUSTER_CHECK_ALLDon't let anything cluster, like, at all
CHECK_MAP_JOB_CHANGEChecks the job changes in the map config for the passed change key.

Define Details

+

CHECK_MAP_JOB_CHANGE + + + +

+

Checks the job changes in the map config for the passed change key.

CLUSTER_CHECK_ALL + + +

+

Don't let anything cluster, like, at all

CLUSTER_CHECK_ALL_ATOMS + + +

+

Don't let ANY atoms cluster same and different types

CLUSTER_CHECK_ALL_TURFS + + +

+

Don't let ANY turfs cluster same and different types

CLUSTER_CHECK_DIFFERENTS + + +

+

Don't let any of different types cluster

CLUSTER_CHECK_DIFFERENT_ATOMS + + +

+

Don't let atoms of DIFFERENT types cluster

CLUSTER_CHECK_DIFFERENT_TURFS + + +

+

Don't let turfs of DIFFERENT types cluster

CLUSTER_CHECK_NONE + + +

+

No checks are done, cluster as much as possible

CLUSTER_CHECK_SAMES + + +

+

Don't let any of the same type cluster

CLUSTER_CHECK_SAME_ATOMS + + +

+

Don't let atoms of the SAME type cluster

CLUSTER_CHECK_SAME_TURFS + + +

+

Don't let turfs of the SAME type cluster

CUSTOM_MAP_PATH + + +

+

Special map path value for custom adminloaded stations.

DEFAULT_SPACE_RUIN_LEVELS + + +

+

Map generation defines

MAP_DIRECTORY_MAPS + + +

+

List of directories we can load map .json files from

MAP_MAXX + + +

+

The maploader index for the maps maximum x

MAP_MAXY + + +

+

The maploader index for the maps maximum y

MAP_MAXZ + + +

+

The maploader index for the maps maximum z

MAP_MINX + + +

+

The maploader index for the maps minimum x

MAP_MINY + + +

+

The maploader index for the maps minimum y

MAP_MINZ + + +

+

The maploader index for the maps minimum z

PATH_TO_NEXT_MAP_JSON + + +

+

Path for the next_map.json file, if someone, for some messed up reason, wants to change it.

SHELTER_DEPLOY_ALLOWED + + +

+

Shelter spot is allowed

SHELTER_DEPLOY_ANCHORED_OBJECTS + + +

+

Shelter spot has anchored objects that restrict deployment

SHELTER_DEPLOY_BAD_AREA + + +

+

Shelter spot has areas that restrict deployment

SHELTER_DEPLOY_BAD_TURFS + + +

+

Shelter spot has turfs that restrict deployment

SHELTER_DEPLOY_OUTSIDE_MAP + + +

+

Shelter spot is out of bounds from the maps x/y coordinates

SPACE_KEY + + +

+

A map key that corresponds to being one exclusively for Space.

TRANSITIONEDGE + + +

+

Distance from edge to move to another z-level

ZTRAITS_AWAY + + +

+

Z level traits for Away Missions

ZTRAITS_AWAY_SECRET + + +

+

Z level traits for Secret Away Missions

ZTRAITS_CENTCOM + + +

+

Z level traits for CentCom

ZTRAITS_LAVALAND + + +

+

Z level traits for Lavaland

ZTRAITS_SPACE + + +

+

Z level traits for Deep Space

ZTRAITS_STATION + + +

+

Z level traits for Space Station 13

ZTRAIT_NOPARALLAX + + +

+

boolean - does this z disable parallax?

ZTRAIT_NOPHASE + + +

+

boolean - does this z prevent phasing

ZTRAIT_NOXRAY + + +

+

boolean - does this z prevent xray/meson/thermal vision

ZTRAIT_SECRET + + +

+

boolean - does this z prevent ghosts from observing it

+ + + diff --git a/code/__DEFINES/maths.html b/code/__DEFINES/maths.html new file mode 100644 index 00000000000..7aea60f618f --- /dev/null +++ b/code/__DEFINES/maths.html @@ -0,0 +1,81 @@ + + + + + + + code/__DEFINES/maths.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/maths.dm + +

+ + + + + + + + + +
SIGNGets the sign of x, returns -1 if negative, 0 if 0, 1 if positive
WRAP_UPIncrements a value and wraps it if it exceeds some value. Can be used to circularly iterate through a list through idx = WRAP_UP(idx, length_of_list).
INVERSE_LERPPerforms an inverse linear interpolation between a, b, and a provided value between a and b +This returns the amount that you would need to feed into a lerp between A and B to return the third value
TOBITSHIFTGets shift x that would be required the bitflag (1<<x) +We need the round because log has floating-point inaccuracy, and if we undershoot at all on list indexing we'll get the wrong index.
SPT_PROB_RATEConverts a probability/second chance to probability/seconds_per_tick chance +For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do if(prob(100*SPT_PROB_RATE(0.1, 5)))
SPT_PROBLike SPT_PROB_RATE but easier to use, simply put if(SPT_PROB(10, 5))
DIAMOND_AREAThe number of cells in a taxicab circle (rasterized diamond) of radius X.
RANDOM_DECIMALReturns a random decimal between x and y.

Define Details

+

DIAMOND_AREA + + + +

+

The number of cells in a taxicab circle (rasterized diamond) of radius X.

INVERSE_LERP + + + +

+

Performs an inverse linear interpolation between a, b, and a provided value between a and b +This returns the amount that you would need to feed into a lerp between A and B to return the third value

RANDOM_DECIMAL + + + +

+

Returns a random decimal between x and y.

SIGN + + + +

+

Gets the sign of x, returns -1 if negative, 0 if 0, 1 if positive

SPT_PROB + + + +

+

Like SPT_PROB_RATE but easier to use, simply put if(SPT_PROB(10, 5))

SPT_PROB_RATE + + + +

+

Converts a probability/second chance to probability/seconds_per_tick chance +For example, if you want an event to happen with a 10% per second chance, but your proc only runs every 5 seconds, do if(prob(100*SPT_PROB_RATE(0.1, 5)))

TOBITSHIFT + + + +

+

Gets shift x that would be required the bitflag (1<<x) +We need the round because log has floating-point inaccuracy, and if we undershoot at all on list indexing we'll get the wrong index.

WRAP_UP + + + +

+

Increments a value and wraps it if it exceeds some value. Can be used to circularly iterate through a list through idx = WRAP_UP(idx, length_of_list).

+ + + diff --git a/code/__DEFINES/matrices.html b/code/__DEFINES/matrices.html new file mode 100644 index 00000000000..de2d86f7651 --- /dev/null +++ b/code/__DEFINES/matrices.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/matrices.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/matrices.dm + +

+ + +
TRANSLATE_MATRIXHelper macro for creating a matrix at the given offsets. +Works at compile time.

Define Details

+

TRANSLATE_MATRIX + + + +

+

Helper macro for creating a matrix at the given offsets. +Works at compile time.

+ + + diff --git a/code/__DEFINES/mecha.html b/code/__DEFINES/mecha.html new file mode 100644 index 00000000000..3ce9f1bb97b --- /dev/null +++ b/code/__DEFINES/mecha.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/mecha.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mecha.dm + +

+ + + + +
CANNOT_INTERACTblocks using equipment and melee attacking.
MMI_COMPATIBLEposibrains can drive this mecha
OMNIDIRECTIONAL_ATTACKSCan click from any direction and perform stuff

Define Details

+

CANNOT_INTERACT + + +

+

blocks using equipment and melee attacking.

MMI_COMPATIBLE + + +

+

posibrains can drive this mecha

OMNIDIRECTIONAL_ATTACKS + + +

+

Can click from any direction and perform stuff

+ + + diff --git a/code/__DEFINES/medical.html b/code/__DEFINES/medical.html new file mode 100644 index 00000000000..e5ba9bdd704 --- /dev/null +++ b/code/__DEFINES/medical.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/medical.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/medical.dm + +

+ + + + + +
PHYSICAL_ACTIVEPhysical statuses
PHYSICAL_STATUSESList of available physical statuses
MENTAL_STABLEMental statuses
MENTAL_STATUSESList of available mental statuses

Define Details

+

MENTAL_STABLE + + +

+

Mental statuses

MENTAL_STATUSES + + +

+

List of available mental statuses

PHYSICAL_ACTIVE + + +

+

Physical statuses

PHYSICAL_STATUSES + + +

+

List of available physical statuses

+ + + diff --git a/code/__DEFINES/megafauna.html b/code/__DEFINES/megafauna.html new file mode 100644 index 00000000000..54e4f3f50fa --- /dev/null +++ b/code/__DEFINES/megafauna.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/megafauna.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/megafauna.dm + +

+ + + +
DRAKE_FIRE_TEMPTemperature of drake fire hotspots
DRAKE_FIRE_EXPOSUREVolume of drake fire hotspots

Define Details

+

DRAKE_FIRE_EXPOSURE + + +

+

Volume of drake fire hotspots

DRAKE_FIRE_TEMP + + +

+

Temperature of drake fire hotspots

+ + + diff --git a/code/__DEFINES/melee.html b/code/__DEFINES/melee.html new file mode 100644 index 00000000000..185d6af5f88 --- /dev/null +++ b/code/__DEFINES/melee.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/melee.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/melee.dm + +

+ + +
HITS_TO_CRITThe number of hits required to crit a target

Define Details

+

HITS_TO_CRIT + + + +

+

The number of hits required to crit a target

+ + + diff --git a/code/__DEFINES/memory_defines.html b/code/__DEFINES/memory_defines.html new file mode 100644 index 00000000000..76061b4510b --- /dev/null +++ b/code/__DEFINES/memory_defines.html @@ -0,0 +1,172 @@ + + + + + + + code/__DEFINES/memory_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/memory_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MEMORY_FILEname of the file that has all the memory strings
ENGRAVING_SAVE_FILEname of the file that has all the saved engravings
PRISONER_TATTOO_SAVE_FILEname of the file that has all the prisoner tattoos
ENGRAVING_PERSISTENCE_VERSIONCurrent version of the engraving persistence json
TATTOO_PERSISTENCE_VERSIONCurrent version of the tattoo persistence json
MIN_PERSISTENT_ENGRAVINGShow many engravings will be loaded max with persistence
MOODLESS_MEMORYmoodlet set if the creature with the memory doesn't use mood (doesn't include mood line)
ENGRAVING_BEAUTY_TO_ART_FACTORFactor of how beauty is divided to make the engraving art value
STORY_VALUE_KEYThis is a key memory and isn't really cool but is important. Shows a key icon.
STORY_VALUE_SHITThis memory is not very good. It's very common. Shows a poo icon.
STORY_VALUE_NONEThis memory is relatively normal and common. Neutral face icon.
STORY_VALUE_MEHThis memory is pretty decent. Shows a bronze star.
STORY_VALUE_OKAYThis memory is alright. Shows a silver star.
STORY_VALUE_AMAZINGThis memory is outstanding, and will stick with you forever. Shows a gold star.
STORY_VALUE_LEGENDARYThis memory is insanely good, and can't get obtained just normally. Platinum star.
MEMORY_FLAG_NOLOCATIONthis memory doesn't have a location, omit that
MEMORY_FLAG_NOMOODthis memory's protagonist for one reason or another doesn't have a mood, omit that
MEMORY_FLAG_NOSTATIONNAMEthis memory shouldn't include the station name (example: revolution memory)
MEMORY_FLAG_NOPERSISTENCEReally shouldn't be saved in persistence, or engraved. Use for stuff like quirk memories.
MEMORY_FLAG_ALREADY_USEDThis memory has already been engraved, and cannot be selected for engraving again.
MEMORY_CHECK_BLINDNESSA blind mob cannot experience this memory.
MEMORY_CHECK_DEAFNESSA deaf mob cannot experience this memory.
MEMORY_SKIP_UNCONSCIOUSA mob which is currently unconscious can experience this memory.
MEMORY_NO_STORYThis memory can't be selected for tattoo-ing or engraving at all.
STORY_ENGRAVINGwall engraving stories
STORY_CHANGELING_ABSORBchangeling memory reading
STORY_TATTOOtattoos
STORY_FLAG_DATEDinclude a date this event happened
STORY_FLAG_NO_STYLEDon't style this story

Define Details

+

ENGRAVING_BEAUTY_TO_ART_FACTOR + + +

+

Factor of how beauty is divided to make the engraving art value

ENGRAVING_PERSISTENCE_VERSION + + +

+

Current version of the engraving persistence json

ENGRAVING_SAVE_FILE + + +

+

name of the file that has all the saved engravings

MEMORY_CHECK_BLINDNESS + + +

+

A blind mob cannot experience this memory.

MEMORY_CHECK_DEAFNESS + + +

+

A deaf mob cannot experience this memory.

MEMORY_FILE + + +

+

name of the file that has all the memory strings

MEMORY_FLAG_ALREADY_USED + + +

+

This memory has already been engraved, and cannot be selected for engraving again.

MEMORY_FLAG_NOLOCATION + + +

+

this memory doesn't have a location, omit that

MEMORY_FLAG_NOMOOD + + +

+

this memory's protagonist for one reason or another doesn't have a mood, omit that

MEMORY_FLAG_NOPERSISTENCE + + +

+

Really shouldn't be saved in persistence, or engraved. Use for stuff like quirk memories.

MEMORY_FLAG_NOSTATIONNAME + + +

+

this memory shouldn't include the station name (example: revolution memory)

MEMORY_NO_STORY + + +

+

This memory can't be selected for tattoo-ing or engraving at all.

MEMORY_SKIP_UNCONSCIOUS + + +

+

A mob which is currently unconscious can experience this memory.

MIN_PERSISTENT_ENGRAVINGS + + +

+

how many engravings will be loaded max with persistence

MOODLESS_MEMORY + + +

+

moodlet set if the creature with the memory doesn't use mood (doesn't include mood line)

PRISONER_TATTOO_SAVE_FILE + + +

+

name of the file that has all the prisoner tattoos

STORY_CHANGELING_ABSORB + + +

+

changeling memory reading

STORY_ENGRAVING + + +

+

wall engraving stories

STORY_FLAG_DATED + + +

+

include a date this event happened

STORY_FLAG_NO_STYLE + + +

+

Don't style this story

STORY_TATTOO + + +

+

tattoos

STORY_VALUE_AMAZING + + +

+

This memory is outstanding, and will stick with you forever. Shows a gold star.

STORY_VALUE_KEY + + +

+

This is a key memory and isn't really cool but is important. Shows a key icon.

STORY_VALUE_LEGENDARY + + +

+

This memory is insanely good, and can't get obtained just normally. Platinum star.

STORY_VALUE_MEH + + +

+

This memory is pretty decent. Shows a bronze star.

STORY_VALUE_NONE + + +

+

This memory is relatively normal and common. Neutral face icon.

STORY_VALUE_OKAY + + +

+

This memory is alright. Shows a silver star.

STORY_VALUE_SHIT + + +

+

This memory is not very good. It's very common. Shows a poo icon.

TATTOO_PERSISTENCE_VERSION + + +

+

Current version of the tattoo persistence json

+ + + diff --git a/code/__DEFINES/mob_spawn.html b/code/__DEFINES/mob_spawn.html new file mode 100644 index 00000000000..8ced4dfd604 --- /dev/null +++ b/code/__DEFINES/mob_spawn.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/mob_spawn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mob_spawn.dm + +

+ + + +
CORPSE_INSTANTthis mob spawn creates the corpse instantly
CORPSE_ROUNDSTARTthis mob spawn creates the corpse during GAME_STATE_PLAYING

Define Details

+

CORPSE_INSTANT + + +

+

this mob spawn creates the corpse instantly

CORPSE_ROUNDSTART + + +

+

this mob spawn creates the corpse during GAME_STATE_PLAYING

+ + + diff --git a/code/__DEFINES/mobfactions.html b/code/__DEFINES/mobfactions.html new file mode 100644 index 00000000000..90f6ee4afb0 --- /dev/null +++ b/code/__DEFINES/mobfactions.html @@ -0,0 +1,243 @@ + + + + + + + code/__DEFINES/mobfactions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mobfactions.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FACTION_HOSTILEActs as a default faction for most violent creatures
FACTION_NEUTRALActs as a default faction for most peaceful creatures
FACTION_ASHWALKERAshwalker related creatures
FACTION_BOSSMegafauna bosses of mining
FACTION_CARPCARPS
FACTION_CHEMICAL_SUMMONCreatures summoned by chemical reactions
FACTION_CLOWNClown creatures and the Clown themselves
FACTION_CREATUREHeadslugs
FACTION_CATCats
FACTION_FAITHLESSFaithless and shadowpeople
FACTION_GNOMEGnomes
FACTION_GONDOLAGondolas
FACTION_HELLSlaughterdemons
FACTION_HIVEBOTHivebots
FACTION_ILLUSIONIllusionary creaturs
FACTION_JUNGLECreatures of the never finished jungle planet, and gorillas
FACTION_LIZARDSmall lizards
FACTION_MAINT_CREATURESMaint creatures have mutual respect for eachother.
FACTION_MIMICAnimated objects and statues
FACTION_MININGBeasts found on the various mining environments
FACTION_WATCHERWatchers don't like any creatures other than each other
FACTION_MONKEYMonkeys and gorillas
FACTION_MUSHROOMMushrooms and mushroompeople
FACTION_NANOTRASEN_PRIVATENanotrasen private security
FACTION_NETHERMobs from the Netherworld
FACTION_ORIONMobs spawned by the emagged orion arcade
FACTION_PENGUINPenguins and their chicks
FACTION_PLANTSPlants, lots of overlap with vines
FACTION_RATRats and mice
FACTION_RUSSIANCreatures from Space Russia
FACTION_SILICONCreatures affiliated with the AI and Cyborgs
FACTION_SKELETONSpooky scary skeletons
FACTION_SLIMESlimey creatures
FACTION_SPIDERSpiders and their webs
FACTION_SPOOKYCurrently used only by floating eyeballs
FACTION_STATUEStatues that move around when nobody is watching them
FACTION_STICKMANStick creatures summoned by the Paperwizard, and the wizard themselves
FACTION_TURRETCreatures ignored by various turrets
FACTION_VINESVines, lots of overlap with plants
FACTION_CULTCultists and their constructs
FACTION_HERETICDefine for the heretic faction applied to heretics and heretic mobs.
FACTION_PIRATEMainly used by pirate simplemobs. However I placed them here instead, as its also used by players
FACTION_PINK_EXTRACTGenerates a mob faction for the passed owner, used by stabilized pink extracts

Define Details

+

FACTION_ASHWALKER + + +

+

Ashwalker related creatures

FACTION_BOSS + + +

+

Megafauna bosses of mining

FACTION_CARP + + +

+

CARPS

FACTION_CAT + + +

+

Cats

FACTION_CHEMICAL_SUMMON + + +

+

Creatures summoned by chemical reactions

FACTION_CLOWN + + +

+

Clown creatures and the Clown themselves

FACTION_CREATURE + + +

+

Headslugs

FACTION_CULT + + +

+

Cultists and their constructs

FACTION_FAITHLESS + + +

+

Faithless and shadowpeople

FACTION_GNOME + + +

+

Gnomes

FACTION_GONDOLA + + +

+

Gondolas

FACTION_HELL + + +

+

Slaughterdemons

FACTION_HERETIC + + +

+

Define for the heretic faction applied to heretics and heretic mobs.

FACTION_HIVEBOT + + +

+

Hivebots

FACTION_HOSTILE + + +

+

Acts as a default faction for most violent creatures

FACTION_ILLUSION + + +

+

Illusionary creaturs

FACTION_JUNGLE + + +

+

Creatures of the never finished jungle planet, and gorillas

FACTION_LIZARD + + +

+

Small lizards

FACTION_MAINT_CREATURES + + +

+

Maint creatures have mutual respect for eachother.

FACTION_MIMIC + + +

+

Animated objects and statues

FACTION_MINING + + +

+

Beasts found on the various mining environments

FACTION_MONKEY + + +

+

Monkeys and gorillas

FACTION_MUSHROOM + + +

+

Mushrooms and mushroompeople

FACTION_NANOTRASEN_PRIVATE + + +

+

Nanotrasen private security

FACTION_NETHER + + +

+

Mobs from the Netherworld

FACTION_NEUTRAL + + +

+

Acts as a default faction for most peaceful creatures

FACTION_ORION + + +

+

Mobs spawned by the emagged orion arcade

FACTION_PENGUIN + + +

+

Penguins and their chicks

FACTION_PINK_EXTRACT + + + +

+

Generates a mob faction for the passed owner, used by stabilized pink extracts

FACTION_PIRATE + + +

+

Mainly used by pirate simplemobs. However I placed them here instead, as its also used by players

FACTION_PLANTS + + +

+

Plants, lots of overlap with vines

FACTION_RAT + + +

+

Rats and mice

FACTION_RUSSIAN + + +

+

Creatures from Space Russia

FACTION_SILICON + + +

+

Creatures affiliated with the AI and Cyborgs

FACTION_SKELETON + + +

+

Spooky scary skeletons

FACTION_SLIME + + +

+

Slimey creatures

FACTION_SPIDER + + +

+

Spiders and their webs

FACTION_SPOOKY + + +

+

Currently used only by floating eyeballs

FACTION_STATUE + + +

+

Statues that move around when nobody is watching them

FACTION_STICKMAN + + +

+

Stick creatures summoned by the Paperwizard, and the wizard themselves

FACTION_TURRET + + +

+

Creatures ignored by various turrets

FACTION_VINES + + +

+

Vines, lots of overlap with plants

FACTION_WATCHER + + +

+

Watchers don't like any creatures other than each other

+ + + diff --git a/code/__DEFINES/mobs.html b/code/__DEFINES/mobs.html new file mode 100644 index 00000000000..d4c3ac6a6da --- /dev/null +++ b/code/__DEFINES/mobs.html @@ -0,0 +1,891 @@ + + + + + + + code/__DEFINES/mobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mobs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BLOOD_REGEN_FACTORHow efficiently humans regenerate blood.
BLOOD_DEFICIENCY_MODIFIERDetermines the rate at which humans lose blood when they have the blood deficiency quirk. The default is BLOOD_REGEN_FACTOR + BLOOD_DEFICIENCY_MODIFIER.
BLOOD_STOP_TEMPTemperature at which blood loss and regen stops. /mob/living/carbon/human/proc/handle_blood
MOB_ORGANICThe mob is organic, can heal from medical sutures.
MOB_MINERALThe mob is of a rocky make, most likely a golem. Iron within, iron without!
MOB_ROBOTICThe mob is a synthetic lifeform, like station borgs.
MOB_UNDEADThe mob is an shambling undead corpse. Or a halloween species. Pick your poison.
MOB_HUMANOIDThe mob is a human-sized human-like human-creature.
MOB_BUGThe mob is a bug/insect/arachnid/some other kind of scuttly thing.
MOB_BEASTThe mob is a wild animal. Domestication may apply.
MOB_SPECIALThe mob is some kind of a creature that should be exempt from certain fun interactions for balance reasons, i.e. megafauna or a headslug.
MOB_REPTILEThe mob is some kind of a scaly reptile creature
MOB_SPIRITThe mob is a spooky phantasm or an evil ghast of such nature.
MOB_PLANTThe mob is a plant-based species, benefitting from light but suffering from darkness and plantkillers.
MOB_SLIMEThe mob is a goopy creature, probably coming from xenobiology.
BODYTYPE_ORGANICThe limb is organic.
BODYTYPE_ROBOTICThe limb is robotic.
BODYTYPE_HUMANOIDThe limb fits the human mold. This is not meant to be literal, if the sprite "fits" on a human, it is "humanoid", regardless of origin.
BODYTYPE_MONKEYThe limb fits the monkey mold.
BODYTYPE_DIGITIGRADEThe limb is digitigrade.
BODYTYPE_SNOUTEDThe limb is snouted.
BODYTYPE_LARVA_PLACEHOLDERA placeholder bodytype for xeno larva, so their limbs cannot be attached to anything.
BODYTYPE_ALIENThe limb is from a xenomorph.
BODYTYPE_GOLEMThe limb is from a golem
DIGITIGRADE_NEVERThe species does not have digitigrade legs in generation.
DIGITIGRADE_OPTIONALThe species can have digitigrade legs in generation
DIGITIGRADE_FORCEDThe species is forced to have digitigrade legs in generation.
DIGITIGRADE_LEGSDigitigrade's prefs, used in features for legs if you're meant to be a Digitigrade.
BEAT_FASTHeartbeat is beating fast for hard crit
BEAT_SLOWHeartbeat is beating slow for soft crit
BEAT_NONEHeartbeat is gone... He's dead Jim :(
NO_SLIP_WHEN_WALKINGThe mob will not slip if they're walking intent
SLIDESlipping on this will send them sliding a few tiles down
SLIDE_ICEIce slides only go one tile and don't knock you over, they're intended to cause a "slip chain" +where you slip on ice until you reach a non-slippable tile (ice puzzles)
GALOSHES_DONT_HELPTRAIT_NO_SLIP_WATER does not work on this slip. ONLY TRAIT_NO_SLIP_ALL will
SLIP_WHEN_CRAWLINGSlip works even if you're already on the ground
SLIPPERY_TURFthe mob won't slip if the turf has the TRAIT_TURF_IGNORE_SLIPPERY trait.
SHOCK_NOGLOVESFlags used by the flags parameter of electrocute act. +Makes it so that the shock doesn't take gloves into account.
SHOCK_TESLAUsed when the shock is from a tesla bolt.
SHOCK_ILLUSIONUsed when an illusion shocks something. Makes the shock deal stamina damage and not trigger certain secondary effects.
SHOCK_NOSTUNThe shock doesn't stun.
SHOCK_SUPPRESS_MESSAGENo default message is sent from the shock
SHOCK_NO_HUMAN_ANIMNo skeleton animation if a human was shocked
SHOCK_IGNORE_IMMUNITYIgnores TRAIT_STUNIMMUNE
SHOCK_DELAY_STUNPrevents the immediate stun, instead only gives the delay
SHOCK_KNOCKDOWNMakes the paralyze into a knockdown
INCORPOREAL_MOVE_BASICnormal movement, see: /mob/living/var/incorporeal_move
INCORPOREAL_MOVE_SHADOWleaves a trail of shadows
INCORPOREAL_MOVE_JAUNTis blocked by holy water/salt
CLOTHING_NUTRITION_GAINHow much nutrition eating clothes as moth gives and drains
REMShorthand for the above define for ease of use in equations and the like
RECENT_EXAMINE_MAX_WINDOWHow long it takes for an examined atom to be removed from recent_examines. Should be the max of the below time windows
EXAMINE_MORE_WINDOWIf you examine the same atom twice in this timeframe, we call examine_more() instead of examine()
EYE_CONTACT_WINDOWIf you examine another mob who's successfully examined you during this duration of time, you two try to make eye contact. Cute!
YAWN_PROPAGATION_EXAMINE_WINDOWIf you yawn while someone nearby has examined you within this time frame, it will force them to yawn as well. Tradecraft!
EYE_CONTACT_RANGEHow far away you can be to make eye contact with someone while examining
CAN_SUCCUMBReturns whether or not the given mob can succumb
STANDING_UPMob is standing up, usually associated with lying_angle value of 0.
LYING_DOWNMob is lying down, usually associated with lying_angle values of 90 or 270.
PIXEL_Y_OFFSET_LYINGHow much a mob's sprite should be moved when they're lying down
SPAWN_MEGAFAUNADefine for spawning megafauna instead of a mob for cave gen
SQUASHED_SHOULD_BE_DOWNSquash flags. For squashable element +Squashing will not occur if the mob is not lying down (bodyposition is LYING_DOWN)
SQUASHED_SHOULD_BE_GIBBEDIf present, outright gibs the squashed mob instead of just dealing damage
SQUASHED_ALWAYS_IF_DEADIf squashing always passes if the mob is dead
SQUASHED_DONT_SQUASH_IN_CONTENTSDon't squash our mob if its not located in a turf
AI_HOLOGRAM_BEARDefines for AI hologram preferences
AI_DISPLAY_DONT_GLOWIcon state to use for ai displays that just turns them off
THROW_MODE_DISABLEDThrow modes, defines whether or not to turn off throw mode after
TOTAL_LAYERSTotal number of layers for mob overlays +KEEP THIS UP-TO-DATE OR SHIT WILL BREAK +Also consider updating layers_to_offset
MUTATIONS_LAYERMutations layer - Tk headglows, cold resistance glow, etc
BODY_BEHIND_LAYERMutantrace features (tail when looking south) that must appear behind the body parts
BODYPARTS_LOW_LAYERLayer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST
BODYPARTS_LAYERLayer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER
BODY_ADJ_LAYERMutantrace features (snout, body markings) that must appear above the body parts
BODY_LAYERUnderwear, undershirts, socks, eyes, lips(makeup)
FRONT_MUTATIONS_LAYERMutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)
DAMAGE_LAYERDamage indicators (cuts and burns)
UNIFORM_LAYERJumpsuit clothing layer
ID_LAYERID card layer
ID_CARD_LAYERID card layer (might be deprecated)
BODYPARTS_HIGH_LAYERLayer for bodyparts that should appear above every other bodypart - Currently only used for hands
GLOVES_LAYERGloves layer
SHOES_LAYERShoes layer
LOW_FACEMASK_LAYERLayer for masks that are worn below ears and eyes (like Balaclavas) (layers below hair, use flagsinv=HIDEHAIR as needed)
EARS_LAYEREars layer (Spessmen have ears? Wow)
SUIT_LAYERSuit layer (armor, coats, etc.)
GLASSES_LAYERGlasses layer
BELT_LAYERBelt layer
SUIT_STORE_LAYERSuit storage layer (tucking a gun or baton underneath your armor)
NECK_LAYERNeck layer (for wearing ties and bedsheets)
BACK_LAYERBack layer (for backpacks and equipment on your back)
HAIR_LAYERHair layer (mess with the fro and you got to go!)
FACEMASK_LAYERFacemask layer (gas masks, breath masks, etc.)
HEAD_LAYERHead layer (hats, helmets, etc.)
HANDCUFF_LAYERHandcuff layer (when your hands are cuffed)
LEGCUFF_LAYERLegcuff layer (when your feet are cuffed)
HANDS_LAYERHands layer (for the actual hand, not the arm... I think?)
BODY_FRONT_LAYERBody front layer. Usually used for mutant bodyparts that need to be in front of stuff (e.g. cat ears)
ABOVE_BODY_FRONT_GLASSES_LAYERSpecial body layer that actually require to be above the hair (e.g. lifted welding goggles)
ABOVE_BODY_FRONT_HEAD_LAYERSpecial body layer for the rare cases where something on the head needs to be above everything else (e.g. flowers)
WOUND_LAYERBleeding wound icons
HALO_LAYERBlood cult ascended halo layer, because there's currently no better solution for adding/removing
FIRE_LAYERFire layer when you're on fire
EXTERNAL_FRONTDraws overlay on the BODY_FRONT_LAYER
EXTERNAL_ADJACENTDraws overlay on the BODY_ADJ_LAYER
EXTERNAL_BEHINDDraws overlay on the BODY_BEHIND_LAYER
ALL_EXTERNAL_OVERLAYSDraws organ on all EXTERNAL layers
EXTERNAL_RESTYLE_PLANTThis organ allows restyle through plant restyling (like secateurs)
EXTERNAL_RESTYLE_FLESHThis organ allows restyling with flesh restyling stuff (surgery or something idk)
EXTERNAL_RESTYLE_ENAMELThis organ allows restyling with enamel restyling (like a fucking file or something?). It's for horns and shit
UNDER_SUIT_LAYERThe layer underneath the suit
UNDER_HEAD_LAYERThe layer underneath the head (for hats)
ABOVE_SHOES_LAYERThe layer above shoes
ABOVE_BODY_FRONT_LAYERThe layer above mutant body parts
NEED_GRAVITYIf gravity must be present to perform action (can't use pens without gravity)
NEED_LITERACYIf reading is required to perform action (can't read a book if you are illiterate)
NEED_LIGHTIf lighting must be present to perform action (can't heal someone in the dark)
NEED_DEXTERITYIf other mobs (monkeys, aliens, etc) can perform action (can't use computers if you are a monkey)
NEED_HANDSIf hands are required to perform action (can't use objects that require hands if you are a cyborg)
FORBID_TELEKINESIS_REACHIf telekinesis is forbidden to perform action from a distance (ex. canisters are blacklisted from telekinesis manipulation)
ALLOW_SILICON_REACHIf silicons are allowed to perform action from a distance (silicons can operate airlocks from far away)
ALLOW_RESTINGIf resting on the floor is allowed to perform action (pAIs can play music while resting)
RESIZE_DEFAULT_SIZEThe default mob sprite size (used for shrinking or enlarging the mob sprite to regular size)
CLIENT_FROM_VARGet the client from the var
MOB_VOMIT_MESSAGEFlag which makes a message send about the vomiting.
MOB_VOMIT_STUNFlag which makes the mob get stunned upon vomiting.
MOB_VOMIT_HARMFlag which makes the mob incur damage upon vomiting.
MOB_VOMIT_BLOODFlag which makes the mob vomit blood
MOB_VOMIT_KNOCKDOWNFlag which will cause the mob to fall over when vomiting.
MOB_VOMIT_FORCEFlag which will make the proc skip certain checks when it comes to forcing a vomit.
VOMIT_CATEGORY_DEFAULTThe default. Gives you might typically expect to happen when you vomit.
VOMIT_CATEGORY_BLOODThe vomit you've all come to know and love, but with a little extra "spice" (blood)
VOMIT_CATEGORY_KNOCKDOWNAnother vomit variant that causes you to get knocked down instead of just only getting a stun. Standard otherwise.
NO_BUCKLE_LYINGPossible value of /atom/movable/buckle_lying. If set to a different (positive-or-zero) value than this, the buckling thing will force a lying angle on the buckled.
HEAL_ADMINSpecial flag that means this heal is an admin heal and goes above and beyond +Note, this includes things like removing suicide status and handcuffs / legcuffs, use with slight caution.
HEAL_BRUTEHeals all brute damage.
HEAL_BURNHeals all burn damage.
HEAL_TOXHeals all toxin damage, slime people included.
HEAL_OXYHeals all oxyloss.
HEAL_STAMHeals all stamina damage.
HEAL_LIMBSRestore all limbs to their initial state.
HEAL_ORGANSHeals all organs from failing.
HEAL_REFRESH_ORGANSA "super" heal organs, this refreshes all organs entirely, deleting old and replacing them with new.
HEAL_WOUNDSRemoves all wounds.
HEAL_TRAUMASRemoves all brain traumas, not including permanent ones.
HEAL_ALL_REAGENTSRemoves all reagents present.
HEAL_NEGATIVE_DISEASESRemoves all non-positive diseases.
HEAL_TEMPRestores body temperature back to nominal.
HEAL_BLOODRestores blood levels to normal.
HEAL_NEGATIVE_MUTATIONSRemoves all non-positive mutations (neutral included).
HEAL_STATUSRemoves status effects with this flag set that also have remove_on_fullheal = TRUE.
HEAL_CC_STATUSSame as above, removes all CC related status effects with this flag set that also have remove_on_fullheal = TRUE.
HEAL_RESTRAINTSDeletes any restraints on the mob (handcuffs / legcuffs)
HEAL_DAMAGECombination flag to only heal the main damage types.
HEAL_BODYCombination flag to only heal things messed up things about the mob's body itself.
HEAL_AFFLICTIONSCombination flag to heal negative things affecting the mob.
HEAL_ALLFull heal that isn't admin forced
ADMIN_HEAL_ALLHeals everything and is as strong as / is an admin heal
READING_CHECK_LITERACYChecking flags for [/mob/proc/can_read()]
DEVIATION_NONENo deviation at all. Flashed from the front or front-left/front-right. Alternatively, flashed in direct view.
DEVIATION_PARTIALPartial deviation. Flashed from the side. Alternatively, flashed out the corner of your eyes.
DEVIATION_FULLFull deviation. Flashed from directly behind or behind-left/behind-rack. Not flashed at all.
NO_REPLACEIn dynamic human icon gen we don't replace the held item.
HEALING_TOUCH_ANYONEFlags for whether you can heal yourself or not or only
NPC_DEFAULT_MIN_TEMPDefault minimum body temperature mobs can exist in before taking damage
NPC_DEFAULT_MAX_TEMPDefault maximum body temperature mobs can exist in before taking damage
NO_OBSERVED_MOVEMENTFlag which stops you from moving while observed
NO_OBSERVED_ACTIONSFlag which stops you from using actions while observed
NO_OBSERVED_ATTACKSFlag which stops you from attacking while observed
MINING_MOB_PROJECTILE_VULNERABILITYTypes of bullets that mining mobs take full damage from

Define Details

+

ABOVE_BODY_FRONT_GLASSES_LAYER + + +

+

Special body layer that actually require to be above the hair (e.g. lifted welding goggles)

ABOVE_BODY_FRONT_HEAD_LAYER + + +

+

Special body layer for the rare cases where something on the head needs to be above everything else (e.g. flowers)

ABOVE_BODY_FRONT_LAYER + + +

+

The layer above mutant body parts

ABOVE_SHOES_LAYER + + +

+

The layer above shoes

ADMIN_HEAL_ALL + + +

+

Heals everything and is as strong as / is an admin heal

AI_DISPLAY_DONT_GLOW + + +

+

Icon state to use for ai displays that just turns them off

AI_HOLOGRAM_BEAR + + +

+

Defines for AI hologram preferences

ALLOW_RESTING + + +

+

If resting on the floor is allowed to perform action (pAIs can play music while resting)

ALLOW_SILICON_REACH + + +

+

If silicons are allowed to perform action from a distance (silicons can operate airlocks from far away)

ALL_EXTERNAL_OVERLAYS + + +

+

Draws organ on all EXTERNAL layers

BACK_LAYER + + +

+

Back layer (for backpacks and equipment on your back)

BEAT_FAST + + +

+

Heartbeat is beating fast for hard crit

BEAT_NONE + + +

+

Heartbeat is gone... He's dead Jim :(

BEAT_SLOW + + +

+

Heartbeat is beating slow for soft crit

BELT_LAYER + + +

+

Belt layer

BLOOD_DEFICIENCY_MODIFIER + + +

+

Determines the rate at which humans lose blood when they have the blood deficiency quirk. The default is BLOOD_REGEN_FACTOR + BLOOD_DEFICIENCY_MODIFIER.

BLOOD_REGEN_FACTOR + + +

+

How efficiently humans regenerate blood.

BLOOD_STOP_TEMP + + +

+

Temperature at which blood loss and regen stops. /mob/living/carbon/human/proc/handle_blood

BODYPARTS_HIGH_LAYER + + +

+

Layer for bodyparts that should appear above every other bodypart - Currently only used for hands

BODYPARTS_LAYER + + +

+

Layer for most bodyparts, appears above BODYPARTS_LOW_LAYER and below BODYPARTS_HIGH_LAYER

BODYPARTS_LOW_LAYER + + +

+

Layer for bodyparts that should appear behind every other bodypart - Mostly, legs when facing WEST or EAST

BODYTYPE_ALIEN + + +

+

The limb is from a xenomorph.

BODYTYPE_DIGITIGRADE + + +

+

The limb is digitigrade.

BODYTYPE_GOLEM + + +

+

The limb is from a golem

BODYTYPE_HUMANOID + + +

+

The limb fits the human mold. This is not meant to be literal, if the sprite "fits" on a human, it is "humanoid", regardless of origin.

BODYTYPE_LARVA_PLACEHOLDER + + +

+

A placeholder bodytype for xeno larva, so their limbs cannot be attached to anything.

BODYTYPE_MONKEY + + +

+

The limb fits the monkey mold.

BODYTYPE_ORGANIC + + +

+

The limb is organic.

BODYTYPE_ROBOTIC + + +

+

The limb is robotic.

BODYTYPE_SNOUTED + + +

+

The limb is snouted.

BODY_ADJ_LAYER + + +

+

Mutantrace features (snout, body markings) that must appear above the body parts

BODY_BEHIND_LAYER + + +

+

Mutantrace features (tail when looking south) that must appear behind the body parts

BODY_FRONT_LAYER + + +

+

Body front layer. Usually used for mutant bodyparts that need to be in front of stuff (e.g. cat ears)

BODY_LAYER + + +

+

Underwear, undershirts, socks, eyes, lips(makeup)

CAN_SUCCUMB + + + +

+

Returns whether or not the given mob can succumb

CLIENT_FROM_VAR + + + +

+

Get the client from the var

CLOTHING_NUTRITION_GAIN + + +

+

How much nutrition eating clothes as moth gives and drains

DAMAGE_LAYER + + +

+

Damage indicators (cuts and burns)

DEVIATION_FULL + + +

+

Full deviation. Flashed from directly behind or behind-left/behind-rack. Not flashed at all.

DEVIATION_NONE + + +

+

No deviation at all. Flashed from the front or front-left/front-right. Alternatively, flashed in direct view.

DEVIATION_PARTIAL + + +

+

Partial deviation. Flashed from the side. Alternatively, flashed out the corner of your eyes.

DIGITIGRADE_FORCED + + +

+

The species is forced to have digitigrade legs in generation.

DIGITIGRADE_LEGS + + +

+

Digitigrade's prefs, used in features for legs if you're meant to be a Digitigrade.

DIGITIGRADE_NEVER + + +

+

The species does not have digitigrade legs in generation.

DIGITIGRADE_OPTIONAL + + +

+

The species can have digitigrade legs in generation

EARS_LAYER + + +

+

Ears layer (Spessmen have ears? Wow)

EXAMINE_MORE_WINDOW + + +

+

If you examine the same atom twice in this timeframe, we call examine_more() instead of examine()

EXTERNAL_ADJACENT + + +

+

Draws overlay on the BODY_ADJ_LAYER

EXTERNAL_BEHIND + + +

+

Draws overlay on the BODY_BEHIND_LAYER

EXTERNAL_FRONT + + +

+

Draws overlay on the BODY_FRONT_LAYER

EXTERNAL_RESTYLE_ENAMEL + + +

+

This organ allows restyling with enamel restyling (like a fucking file or something?). It's for horns and shit

EXTERNAL_RESTYLE_FLESH + + +

+

This organ allows restyling with flesh restyling stuff (surgery or something idk)

EXTERNAL_RESTYLE_PLANT + + +

+

This organ allows restyle through plant restyling (like secateurs)

EYE_CONTACT_RANGE + + +

+

How far away you can be to make eye contact with someone while examining

EYE_CONTACT_WINDOW + + +

+

If you examine another mob who's successfully examined you during this duration of time, you two try to make eye contact. Cute!

FACEMASK_LAYER + + +

+

Facemask layer (gas masks, breath masks, etc.)

FIRE_LAYER + + +

+

Fire layer when you're on fire

FORBID_TELEKINESIS_REACH + + +

+

If telekinesis is forbidden to perform action from a distance (ex. canisters are blacklisted from telekinesis manipulation)

FRONT_MUTATIONS_LAYER + + +

+

Mutations that should appear above body, body_adj and bodyparts layer (e.g. laser eyes)

GALOSHES_DONT_HELP + + +

+

TRAIT_NO_SLIP_WATER does not work on this slip. ONLY TRAIT_NO_SLIP_ALL will

GLASSES_LAYER + + +

+

Glasses layer

GLOVES_LAYER + + +

+

Gloves layer

HAIR_LAYER + + +

+

Hair layer (mess with the fro and you got to go!)

HALO_LAYER + + +

+

Blood cult ascended halo layer, because there's currently no better solution for adding/removing

HANDCUFF_LAYER + + +

+

Handcuff layer (when your hands are cuffed)

HANDS_LAYER + + +

+

Hands layer (for the actual hand, not the arm... I think?)

HEAD_LAYER + + +

+

Head layer (hats, helmets, etc.)

HEALING_TOUCH_ANYONE + + +

+

Flags for whether you can heal yourself or not or only

HEAL_ADMIN + + +

+

Special flag that means this heal is an admin heal and goes above and beyond +Note, this includes things like removing suicide status and handcuffs / legcuffs, use with slight caution.

HEAL_AFFLICTIONS + + +

+

Combination flag to heal negative things affecting the mob.

HEAL_ALL + + +

+

Full heal that isn't admin forced

HEAL_ALL_REAGENTS + + +

+

Removes all reagents present.

HEAL_BLOOD + + +

+

Restores blood levels to normal.

HEAL_BODY + + +

+

Combination flag to only heal things messed up things about the mob's body itself.

HEAL_BRUTE + + +

+

Heals all brute damage.

HEAL_BURN + + +

+

Heals all burn damage.

HEAL_CC_STATUS + + +

+

Same as above, removes all CC related status effects with this flag set that also have remove_on_fullheal = TRUE.

HEAL_DAMAGE + + +

+

Combination flag to only heal the main damage types.

HEAL_LIMBS + + +

+

Restore all limbs to their initial state.

HEAL_NEGATIVE_DISEASES + + +

+

Removes all non-positive diseases.

HEAL_NEGATIVE_MUTATIONS + + +

+

Removes all non-positive mutations (neutral included).

HEAL_ORGANS + + +

+

Heals all organs from failing.

HEAL_OXY + + +

+

Heals all oxyloss.

HEAL_REFRESH_ORGANS + + +

+

A "super" heal organs, this refreshes all organs entirely, deleting old and replacing them with new.

HEAL_RESTRAINTS + + +

+

Deletes any restraints on the mob (handcuffs / legcuffs)

HEAL_STAM + + +

+

Heals all stamina damage.

HEAL_STATUS + + +

+

Removes status effects with this flag set that also have remove_on_fullheal = TRUE.

HEAL_TEMP + + +

+

Restores body temperature back to nominal.

HEAL_TOX + + +

+

Heals all toxin damage, slime people included.

HEAL_TRAUMAS + + +

+

Removes all brain traumas, not including permanent ones.

HEAL_WOUNDS + + +

+

Removes all wounds.

ID_CARD_LAYER + + +

+

ID card layer (might be deprecated)

ID_LAYER + + +

+

ID card layer

INCORPOREAL_MOVE_BASIC + + +

+

normal movement, see: /mob/living/var/incorporeal_move

INCORPOREAL_MOVE_JAUNT + + +

+

is blocked by holy water/salt

INCORPOREAL_MOVE_SHADOW + + +

+

leaves a trail of shadows

LEGCUFF_LAYER + + +

+

Legcuff layer (when your feet are cuffed)

LOW_FACEMASK_LAYER + + +

+

Layer for masks that are worn below ears and eyes (like Balaclavas) (layers below hair, use flagsinv=HIDEHAIR as needed)

LYING_DOWN + + +

+

Mob is lying down, usually associated with lying_angle values of 90 or 270.

MINING_MOB_PROJECTILE_VULNERABILITY + + +

+

Types of bullets that mining mobs take full damage from

MOB_BEAST + + +

+

The mob is a wild animal. Domestication may apply.

MOB_BUG + + +

+

The mob is a bug/insect/arachnid/some other kind of scuttly thing.

MOB_HUMANOID + + +

+

The mob is a human-sized human-like human-creature.

MOB_MINERAL + + +

+

The mob is of a rocky make, most likely a golem. Iron within, iron without!

MOB_ORGANIC + + +

+

The mob is organic, can heal from medical sutures.

MOB_PLANT + + +

+

The mob is a plant-based species, benefitting from light but suffering from darkness and plantkillers.

MOB_REPTILE + + +

+

The mob is some kind of a scaly reptile creature

MOB_ROBOTIC + + +

+

The mob is a synthetic lifeform, like station borgs.

MOB_SLIME + + +

+

The mob is a goopy creature, probably coming from xenobiology.

MOB_SPECIAL + + +

+

The mob is some kind of a creature that should be exempt from certain fun interactions for balance reasons, i.e. megafauna or a headslug.

MOB_SPIRIT + + +

+

The mob is a spooky phantasm or an evil ghast of such nature.

MOB_UNDEAD + + +

+

The mob is an shambling undead corpse. Or a halloween species. Pick your poison.

MOB_VOMIT_BLOOD + + +

+

Flag which makes the mob vomit blood

MOB_VOMIT_FORCE + + +

+

Flag which will make the proc skip certain checks when it comes to forcing a vomit.

MOB_VOMIT_HARM + + +

+

Flag which makes the mob incur damage upon vomiting.

MOB_VOMIT_KNOCKDOWN + + +

+

Flag which will cause the mob to fall over when vomiting.

MOB_VOMIT_MESSAGE + + +

+

Flag which makes a message send about the vomiting.

MOB_VOMIT_STUN + + +

+

Flag which makes the mob get stunned upon vomiting.

MUTATIONS_LAYER + + +

+

Mutations layer - Tk headglows, cold resistance glow, etc

NECK_LAYER + + +

+

Neck layer (for wearing ties and bedsheets)

NEED_DEXTERITY + + +

+

If other mobs (monkeys, aliens, etc) can perform action (can't use computers if you are a monkey)

NEED_GRAVITY + + +

+

If gravity must be present to perform action (can't use pens without gravity)

NEED_HANDS + + +

+

If hands are required to perform action (can't use objects that require hands if you are a cyborg)

NEED_LIGHT + + +

+

If lighting must be present to perform action (can't heal someone in the dark)

NEED_LITERACY + + +

+

If reading is required to perform action (can't read a book if you are illiterate)

NO_BUCKLE_LYING + + +

+

Possible value of /atom/movable/buckle_lying. If set to a different (positive-or-zero) value than this, the buckling thing will force a lying angle on the buckled.

NO_OBSERVED_ACTIONS + + +

+

Flag which stops you from using actions while observed

NO_OBSERVED_ATTACKS + + +

+

Flag which stops you from attacking while observed

NO_OBSERVED_MOVEMENT + + +

+

Flag which stops you from moving while observed

NO_REPLACE + + +

+

In dynamic human icon gen we don't replace the held item.

NO_SLIP_WHEN_WALKING + + +

+

The mob will not slip if they're walking intent

NPC_DEFAULT_MAX_TEMP + + +

+

Default maximum body temperature mobs can exist in before taking damage

NPC_DEFAULT_MIN_TEMP + + +

+

Default minimum body temperature mobs can exist in before taking damage

PIXEL_Y_OFFSET_LYING + + +

+

How much a mob's sprite should be moved when they're lying down

READING_CHECK_LITERACY + + +

+

Checking flags for [/mob/proc/can_read()]

RECENT_EXAMINE_MAX_WINDOW + + +

+

How long it takes for an examined atom to be removed from recent_examines. Should be the max of the below time windows

REM + + +

+

Shorthand for the above define for ease of use in equations and the like

RESIZE_DEFAULT_SIZE + + +

+

The default mob sprite size (used for shrinking or enlarging the mob sprite to regular size)

SHOCK_DELAY_STUN + + +

+

Prevents the immediate stun, instead only gives the delay

SHOCK_IGNORE_IMMUNITY + + +

+

Ignores TRAIT_STUNIMMUNE

SHOCK_ILLUSION + + +

+

Used when an illusion shocks something. Makes the shock deal stamina damage and not trigger certain secondary effects.

SHOCK_KNOCKDOWN + + +

+

Makes the paralyze into a knockdown

SHOCK_NOGLOVES + + +

+

Flags used by the flags parameter of electrocute act. +Makes it so that the shock doesn't take gloves into account.

SHOCK_NOSTUN + + +

+

The shock doesn't stun.

SHOCK_NO_HUMAN_ANIM + + +

+

No skeleton animation if a human was shocked

SHOCK_SUPPRESS_MESSAGE + + +

+

No default message is sent from the shock

SHOCK_TESLA + + +

+

Used when the shock is from a tesla bolt.

SHOES_LAYER + + +

+

Shoes layer

SLIDE + + +

+

Slipping on this will send them sliding a few tiles down

SLIDE_ICE + + +

+

Ice slides only go one tile and don't knock you over, they're intended to cause a "slip chain" +where you slip on ice until you reach a non-slippable tile (ice puzzles)

SLIPPERY_TURF + + +

+

the mob won't slip if the turf has the TRAIT_TURF_IGNORE_SLIPPERY trait.

SLIP_WHEN_CRAWLING + + +

+

Slip works even if you're already on the ground

SPAWN_MEGAFAUNA + + +

+

Define for spawning megafauna instead of a mob for cave gen

SQUASHED_ALWAYS_IF_DEAD + + +

+

If squashing always passes if the mob is dead

SQUASHED_DONT_SQUASH_IN_CONTENTS + + +

+

Don't squash our mob if its not located in a turf

SQUASHED_SHOULD_BE_DOWN + + +

+

Squash flags. For squashable element +Squashing will not occur if the mob is not lying down (bodyposition is LYING_DOWN)

SQUASHED_SHOULD_BE_GIBBED + + +

+

If present, outright gibs the squashed mob instead of just dealing damage

STANDING_UP + + +

+

Mob is standing up, usually associated with lying_angle value of 0.

SUIT_LAYER + + +

+

Suit layer (armor, coats, etc.)

SUIT_STORE_LAYER + + +

+

Suit storage layer (tucking a gun or baton underneath your armor)

THROW_MODE_DISABLED + + +

+

Throw modes, defines whether or not to turn off throw mode after

TOTAL_LAYERS + + +

+

Total number of layers for mob overlays +KEEP THIS UP-TO-DATE OR SHIT WILL BREAK +Also consider updating layers_to_offset

UNDER_HEAD_LAYER + + +

+

The layer underneath the head (for hats)

UNDER_SUIT_LAYER + + +

+

The layer underneath the suit

UNIFORM_LAYER + + +

+

Jumpsuit clothing layer

VOMIT_CATEGORY_BLOOD + + +

+

The vomit you've all come to know and love, but with a little extra "spice" (blood)

VOMIT_CATEGORY_DEFAULT + + +

+

The default. Gives you might typically expect to happen when you vomit.

VOMIT_CATEGORY_KNOCKDOWN + + +

+

Another vomit variant that causes you to get knocked down instead of just only getting a stun. Standard otherwise.

WOUND_LAYER + + +

+

Bleeding wound icons

YAWN_PROPAGATION_EXAMINE_WINDOW + + +

+

If you yawn while someone nearby has examined you within this time frame, it will force them to yawn as well. Tradecraft!

+ + + diff --git a/code/__DEFINES/mod.html b/code/__DEFINES/mod.html new file mode 100644 index 00000000000..ee4826ebb00 --- /dev/null +++ b/code/__DEFINES/mod.html @@ -0,0 +1,77 @@ + + + + + + + code/__DEFINES/mod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/mod.dm + +

+ + + + + + + + + + + +
DEFAULT_MAX_COMPLEXITYDefault value for the max_complexity var on MODsuits
DEFAULT_CHARGE_DRAINDefault cell drain per process on MODsuits
MOD_ACTIVATION_STEP_TIMEDefault time for a part to seal
MODULE_PASSIVEPassive module, just acts when put in naturally.
MODULE_USABLEUsable module, does something when you press a button.
MODULE_TOGGLEToggle module, you turn it on/off and it does stuff.
MODULE_ACTIVEActively usable module, you may only have one selected at a time.
MODULE_ALLOW_PHASEOUTThis module can be used during phaseout
MODULE_ALLOW_INCAPACITATEDThis module can be used while incapacitated
MODULE_ALLOW_INACTIVEThis module can be used while the suit is off

Define Details

+

DEFAULT_CHARGE_DRAIN + + +

+

Default cell drain per process on MODsuits

DEFAULT_MAX_COMPLEXITY + + +

+

Default value for the max_complexity var on MODsuits

MODULE_ACTIVE + + +

+

Actively usable module, you may only have one selected at a time.

MODULE_ALLOW_INACTIVE + + +

+

This module can be used while the suit is off

MODULE_ALLOW_INCAPACITATED + + +

+

This module can be used while incapacitated

MODULE_ALLOW_PHASEOUT + + +

+

This module can be used during phaseout

MODULE_PASSIVE + + +

+

Passive module, just acts when put in naturally.

MODULE_TOGGLE + + +

+

Toggle module, you turn it on/off and it does stuff.

MODULE_USABLE + + +

+

Usable module, does something when you press a button.

MOD_ACTIVATION_STEP_TIME + + +

+

Default time for a part to seal

+ + + diff --git a/code/__DEFINES/modular_computer.html b/code/__DEFINES/modular_computer.html new file mode 100644 index 00000000000..bee7cc5d000 --- /dev/null +++ b/code/__DEFINES/modular_computer.html @@ -0,0 +1,170 @@ + + + + + + + code/__DEFINES/modular_computer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/modular_computer.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
PROGRAM_ALLcan_run_on_flags bitflags +Used by programs to tell what type of ModPC it can run on. +Everything a program can run on needs valid icons for each individual one. +Runs on everything.
PROGRAM_CONSOLECan run on Modular PC Consoles
PROGRAM_LAPTOPCan run on Laptops.
PROGRAM_PDACan run on PDAs.
PROGRAM_REQUIRES_NTNETprogram_flags +Used by programs to tell the ModPC any special functions it has. +If the program requires NTNet to be online for it to work.
PROGRAM_ON_NTNET_STOREThe program can be downloaded from the default NTNet downloader store.
PROGRAM_ON_SYNDINET_STOREThe program can only be downloaded from the Syndinet store, usually nukie/emagged pda.
PROGRAM_UNIQUE_COPYThe program is unique and will delete itself upon being transferred to ensure only one copy exists.
PROGRAM_HEADERThe program is a header and will show up at the top of the ModPC's UI.
PROGRAM_RUNS_WITHOUT_POWERThe program will run despite the ModPC not having any power in it.
DETOMATIX_RESIST_MINORThis app grants a minor protection against being PDA bombed if installed. +(can sometimes prevent it from being sent, while wasting a PDA bomb from the sender).
DETOMATIX_RESIST_MAJORThis app grants a larger protection against being PDA bombed if installed. +(can sometimes prevent it from being sent, while wasting a PDA bomb from the sender).
NTNETSPEED_LOWSIGNALNTNet transfer speeds, used when downloading/uploading a file/program. +The define is how fast it will download an app every program's process_tick. +Used for wireless devices with low signal.
NTNETSPEED_HIGHSIGNALUsed for wireless devices with high signal.
NTNETSPEED_ETHERNETUsed for laptops with a high signal, or computers, which is connected regardless of z level.
NTNET_NO_SIGNALNTNet connection signals +Used to calculate the defines above from NTNet Downloader, this is how +good a ModPC's signal is. +When you're away from the station/mining base and not on a console, you can't access the internet.
NTNET_LOW_SIGNALLow signal, so away from the station, but still connected
NTNET_GOOD_SIGNALOn station with good signal.
NTNET_ETHERNET_SIGNALUsing a Computer or Laptop with good signal, ethernet-connected.
MESSENGER_RINGTONE_DEFAULTThe default ringtone of the Messenger app.
MESSENGER_RINGTONE_MAX_LENGTHThe maximum length of the ringtone of the Messenger app.
PDA_THEME_NTOSPDA Themes +For these to work, the defines must be defined in tgui/styles/themes/[define].scss +Default NtOS PDA theme
PDA_THEME_SYNDICATEEmagged/Syndicate NtOS (SyndiOS) PDA theme

Define Details

+

DETOMATIX_RESIST_MAJOR + + +

+

This app grants a larger protection against being PDA bombed if installed. +(can sometimes prevent it from being sent, while wasting a PDA bomb from the sender).

DETOMATIX_RESIST_MINOR + + +

+

This app grants a minor protection against being PDA bombed if installed. +(can sometimes prevent it from being sent, while wasting a PDA bomb from the sender).

MESSENGER_RINGTONE_DEFAULT + + +

+

The default ringtone of the Messenger app.

MESSENGER_RINGTONE_MAX_LENGTH + + +

+

The maximum length of the ringtone of the Messenger app.

NTNETSPEED_ETHERNET + + +

+

Used for laptops with a high signal, or computers, which is connected regardless of z level.

NTNETSPEED_HIGHSIGNAL + + +

+

Used for wireless devices with high signal.

NTNETSPEED_LOWSIGNAL + + +

+

NTNet transfer speeds, used when downloading/uploading a file/program. +The define is how fast it will download an app every program's process_tick. +Used for wireless devices with low signal.

NTNET_ETHERNET_SIGNAL + + +

+

Using a Computer or Laptop with good signal, ethernet-connected.

NTNET_GOOD_SIGNAL + + +

+

On station with good signal.

NTNET_LOW_SIGNAL + + +

+

Low signal, so away from the station, but still connected

NTNET_NO_SIGNAL + + +

+

NTNet connection signals +Used to calculate the defines above from NTNet Downloader, this is how +good a ModPC's signal is. +When you're away from the station/mining base and not on a console, you can't access the internet.

PDA_THEME_NTOS + + +

+

PDA Themes +For these to work, the defines must be defined in tgui/styles/themes/[define].scss +Default NtOS PDA theme

PDA_THEME_SYNDICATE + + +

+

Emagged/Syndicate NtOS (SyndiOS) PDA theme

PROGRAM_ALL + + +

+

can_run_on_flags bitflags +Used by programs to tell what type of ModPC it can run on. +Everything a program can run on needs valid icons for each individual one. +Runs on everything.

PROGRAM_CONSOLE + + +

+

Can run on Modular PC Consoles

PROGRAM_HEADER + + +

+

The program is a header and will show up at the top of the ModPC's UI.

PROGRAM_LAPTOP + + +

+

Can run on Laptops.

PROGRAM_ON_NTNET_STORE + + +

+

The program can be downloaded from the default NTNet downloader store.

PROGRAM_ON_SYNDINET_STORE + + +

+

The program can only be downloaded from the Syndinet store, usually nukie/emagged pda.

PROGRAM_PDA + + +

+

Can run on PDAs.

PROGRAM_REQUIRES_NTNET + + +

+

program_flags +Used by programs to tell the ModPC any special functions it has. +If the program requires NTNet to be online for it to work.

PROGRAM_RUNS_WITHOUT_POWER + + +

+

The program will run despite the ModPC not having any power in it.

PROGRAM_UNIQUE_COPY + + +

+

The program is unique and will delete itself upon being transferred to ensure only one copy exists.

+ + + diff --git a/code/__DEFINES/monkeys.html b/code/__DEFINES/monkeys.html new file mode 100644 index 00000000000..f275d3d46ee --- /dev/null +++ b/code/__DEFINES/monkeys.html @@ -0,0 +1,102 @@ + + + + + + + code/__DEFINES/monkeys.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/monkeys.dm + +

+ + + + + + + + + + + + + + + + +
MONKEY_FLEE_HEALTHbelow this health value the monkey starts to flee from enemies
MONKEY_ENEMY_VISIONhow close an enemy must be to trigger aggression
MONKEY_FLEE_VISIONhow close an enemy must be before it triggers flee
MONKEY_ITEM_SNATCH_DELAYHow long does it take the item to be taken from a mobs hand
MONKEY_CUFF_RETALIATION_PROBProbability monkey will aggro when cuffed
MONKEY_SYRINGE_RETALIATION_PROBProbability monkey will aggro when syringed
MONKEY_PULL_AGGRO_PROBprobability that monkey aggro against the mob pulling it
MONKEY_SHENANIGAN_PROBprobability that monkey will get into mischief, i.e. finding/stealing items
MONKEY_ATTACK_DISARM_PROBprobability that monkey will disarm an armed attacker
MONKEY_RECRUIT_PROBprobability that monkey will get recruited when friend is attacked
MONKEY_RETALIATE_PROBprobability for the monkey to aggro when attacked
MONKEY_HATRED_AMOUNTamount of aggro to add to an enemy when they attack user
MONKEY_RECRUIT_HATED_AMOUNTamount of aggro to add to an enemy when a monkey is recruited
MONKEY_HATRED_REDUCTION_PROBprobability of reducing aggro by one when the monkey attacks
MONKEY_RECRUIT_COOLDOWNMonkey recruit cooldown

Define Details

+

MONKEY_ATTACK_DISARM_PROB + + +

+

probability that monkey will disarm an armed attacker

MONKEY_CUFF_RETALIATION_PROB + + +

+

Probability monkey will aggro when cuffed

MONKEY_ENEMY_VISION + + +

+

how close an enemy must be to trigger aggression

MONKEY_FLEE_HEALTH + + +

+

below this health value the monkey starts to flee from enemies

MONKEY_FLEE_VISION + + +

+

how close an enemy must be before it triggers flee

MONKEY_HATRED_AMOUNT + + +

+

amount of aggro to add to an enemy when they attack user

MONKEY_HATRED_REDUCTION_PROB + + +

+

probability of reducing aggro by one when the monkey attacks

MONKEY_ITEM_SNATCH_DELAY + + +

+

How long does it take the item to be taken from a mobs hand

MONKEY_PULL_AGGRO_PROB + + +

+

probability that monkey aggro against the mob pulling it

MONKEY_RECRUIT_COOLDOWN + + +

+

Monkey recruit cooldown

MONKEY_RECRUIT_HATED_AMOUNT + + +

+

amount of aggro to add to an enemy when a monkey is recruited

MONKEY_RECRUIT_PROB + + +

+

probability that monkey will get recruited when friend is attacked

MONKEY_RETALIATE_PROB + + +

+

probability for the monkey to aggro when attacked

MONKEY_SHENANIGAN_PROB + + +

+

probability that monkey will get into mischief, i.e. finding/stealing items

MONKEY_SYRINGE_RETALIATION_PROB + + +

+

Probability monkey will aggro when syringed

+ + + diff --git a/code/__DEFINES/movement.html b/code/__DEFINES/movement.html new file mode 100644 index 00000000000..fdb31db6ca2 --- /dev/null +++ b/code/__DEFINES/movement.html @@ -0,0 +1,278 @@ + + + + + + + code/__DEFINES/movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/movement.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MIN_GLIDE_SIZEThe minimum for glide_size to be clamped to.
MAX_GLIDE_SIZEThe maximum for glide_size to be clamped to. +This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.
DELAY_TO_GLIDE_SIZEBroken down, here's what this does: +divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set +Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. +The whole result is then clamped to within the range above. +Not very readable but it works
MOVEMENT_ADJUSTED_GLIDE_SIZESimilar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar
MOVEMENT_DEFAULT_PRIORITYStandard, go lower then this if you want to override, higher otherwise
MOVEMENT_SPACE_PRIORITYVery few things should override this
MOVEMENT_ABOVE_SPACE_PRIORITYHigher then the heavens
MOVEMENT_LOOP_START_FASTShould the loop act immediately following its addition?
MOVEMENT_LOOP_IGNORE_PRIORITYDo we not use the priority system?
MOVEMENT_LOOP_IGNORE_GLIDEShould we override the loop's glide?
MOVEMENT_LOOP_NO_DIR_UPDATEShould we not update our movables dir on move?
MOVEMENT_LOOP_OUTSIDE_CONTROLIs the loop moving the movable outside its control, like it's an external force? e.g. footsteps won't play if enabled.
MOVELOOP_STATUS_PAUSEDHas the loop been paused, soon to be resumed?
MOVELOOP_STATUS_RUNNINGIs the loop running? (Is true even when paused)
MOVELOOP_STATUS_QUEUEDIs the loop queued in a subsystem?
CHECK_MOVE_LOOP_FLAGSReturns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable. +Has no use outside of procs called within the movement proc chain.
CURRENTLY_Z_FALLINGcurrently_z_moving defines. Higher numbers mean higher priority. +This one is for falling down open space from stuff such as deleted tile, pit grate...
CURRENTLY_Z_MOVING_GENERICcurrently_z_moving is set to this in zMove() if 0.
CURRENTLY_Z_FALLING_FROM_MOVEThis one is for falling down open space from movement.
CURRENTLY_Z_ASCENDINGThis one is for going upstairs.
FALL_INTERCEPTEDpossible bitflag return values of [atom/proc/intercept_zImpact] calls +Stops the movable from falling further and crashing on the ground. Example: stairs.
FALL_NO_MESSAGESuppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs.
FALL_STOP_INTERCEPTINGUsed when the whole intercept_zImpact forvar loop should be stopped. For example: when someone falls into the supermatter and becomes dust.
FALL_RETAIN_PULLUsed when the grip on a pulled object shouldn't be broken.
ZMOVE_CHECK_PULLINGRuns check_pulling() by the end of [/atom/movable/proc/zMove] for every movable that's pulling something. Should be kept enabled unless you know what you are doing.
ZMOVE_CHECK_PULLEDBYChecks if pulledby is nearby. if not, stop being pulled.
ZMOVE_FALL_CHECKSflags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory.
ZMOVE_IGNORE_OBSTACLESDoesn't call zPassIn() and zPassOut()
ZMOVE_FEEDBACKGives players chat feedbacks if they're unable to move through z levels.
ZMOVE_ALLOW_BUCKLEDWhether we check the movable (if it exists) the living mob is buckled on or not.
ZMOVE_VENTCRAWLINGIf the movable is actually ventcrawling vertically.
ZMOVE_INCLUDE_PULLEDIncludes movables that're either pulled by the source or mobs buckled to it in the list of moving movables.
ZMOVE_ALLOW_ANCHOREDSkips check for whether the moving atom is anchored or not.
ZMOVE_FLIGHT_FLAGSFlags used in "Move Upwards" and "Move Downwards" verbs.
ZMOVE_STAIRS_FLAGSUsed when walking upstairs
ZMOVE_FALL_FLAGSUsed for falling down open space.
FIRST_DIAG_STEPThe first step of the diagnonal movement
SECOND_DIAG_STEPThe second step of the diagnonal movement
TELEPORT_CHANNEL_BLUESPACEClassic bluespace teleportation, requires a sender but no receiver
TELEPORT_CHANNEL_QUANTUMQuantum-based teleportation, requires both sender and receiver, but is free from normal disruption
TELEPORT_CHANNEL_WORMHOLEWormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe
TELEPORT_CHANNEL_MAGICMagic teleportation, does whatever it wants (unless there's antimagic)
TELEPORT_CHANNEL_CULTCult teleportation, does whatever it wants (unless there's holiness)
TELEPORT_CHANNEL_EIGENSTATEEigenstate teleportation, can do most things (that aren't in a teleport-prevented zone)
TELEPORT_CHANNEL_FREEAnything else
MOVELOOP_FAILUREReturn values for moveloop Move()

Define Details

+

CHECK_MOVE_LOOP_FLAGS + + + +

+

Returns a bitfield containing flags both present in flags arg and the processing_move_loop_flags move_packet variable. +Has no use outside of procs called within the movement proc chain.

CURRENTLY_Z_ASCENDING + + +

+

This one is for going upstairs.

CURRENTLY_Z_FALLING + + +

+

currently_z_moving defines. Higher numbers mean higher priority. +This one is for falling down open space from stuff such as deleted tile, pit grate...

CURRENTLY_Z_FALLING_FROM_MOVE + + +

+

This one is for falling down open space from movement.

CURRENTLY_Z_MOVING_GENERIC + + +

+

currently_z_moving is set to this in zMove() if 0.

DELAY_TO_GLIDE_SIZE + + + +

+

Broken down, here's what this does: +divides the world icon_size (32) by delay divided by ticklag to get the number of pixels something should be moving each tick. +The division result is given a min value of 1 to prevent obscenely slow glide sizes from being set +Then that's multiplied by the global glide size multiplier. 1.25 by default feels pretty close to spot on. This is just to try to get byond to behave. +The whole result is then clamped to within the range above. +Not very readable but it works

FALL_INTERCEPTED + + +

+

possible bitflag return values of [atom/proc/intercept_zImpact] calls +Stops the movable from falling further and crashing on the ground. Example: stairs.

FALL_NO_MESSAGE + + +

+

Suppresses the "[movable] falls through [old_turf]" message because it'd make little sense in certain contexts like climbing stairs.

FALL_RETAIN_PULL + + +

+

Used when the grip on a pulled object shouldn't be broken.

FALL_STOP_INTERCEPTING + + +

+

Used when the whole intercept_zImpact forvar loop should be stopped. For example: when someone falls into the supermatter and becomes dust.

FIRST_DIAG_STEP + + +

+

The first step of the diagnonal movement

MAX_GLIDE_SIZE + + +

+

The maximum for glide_size to be clamped to. +This shouldn't be higher than the icon size, and generally you shouldn't be changing this, but it's here just in case.

MIN_GLIDE_SIZE + + +

+

The minimum for glide_size to be clamped to.

MOVELOOP_FAILURE + + +

+

Return values for moveloop Move()

MOVELOOP_STATUS_PAUSED + + +

+

Has the loop been paused, soon to be resumed?

MOVELOOP_STATUS_QUEUED + + +

+

Is the loop queued in a subsystem?

MOVELOOP_STATUS_RUNNING + + +

+

Is the loop running? (Is true even when paused)

MOVEMENT_ABOVE_SPACE_PRIORITY + + +

+

Higher then the heavens

MOVEMENT_ADJUSTED_GLIDE_SIZE + + + +

+

Similar to DELAY_TO_GLIDE_SIZE, except without the clamping, and it supports piping in an unrelated scalar

MOVEMENT_DEFAULT_PRIORITY + + +

+

Standard, go lower then this if you want to override, higher otherwise

MOVEMENT_LOOP_IGNORE_GLIDE + + +

+

Should we override the loop's glide?

MOVEMENT_LOOP_IGNORE_PRIORITY + + +

+

Do we not use the priority system?

MOVEMENT_LOOP_NO_DIR_UPDATE + + +

+

Should we not update our movables dir on move?

MOVEMENT_LOOP_OUTSIDE_CONTROL + + +

+

Is the loop moving the movable outside its control, like it's an external force? e.g. footsteps won't play if enabled.

MOVEMENT_LOOP_START_FAST + + +

+

Should the loop act immediately following its addition?

MOVEMENT_SPACE_PRIORITY + + +

+

Very few things should override this

SECOND_DIAG_STEP + + +

+

The second step of the diagnonal movement

TELEPORT_CHANNEL_BLUESPACE + + +

+

Classic bluespace teleportation, requires a sender but no receiver

TELEPORT_CHANNEL_CULT + + +

+

Cult teleportation, does whatever it wants (unless there's holiness)

TELEPORT_CHANNEL_EIGENSTATE + + +

+

Eigenstate teleportation, can do most things (that aren't in a teleport-prevented zone)

TELEPORT_CHANNEL_FREE + + +

+

Anything else

TELEPORT_CHANNEL_MAGIC + + +

+

Magic teleportation, does whatever it wants (unless there's antimagic)

TELEPORT_CHANNEL_QUANTUM + + +

+

Quantum-based teleportation, requires both sender and receiver, but is free from normal disruption

TELEPORT_CHANNEL_WORMHOLE + + +

+

Wormhole teleportation, is not disrupted by bluespace fluctuations but tends to be very random or unsafe

ZMOVE_ALLOW_ANCHORED + + +

+

Skips check for whether the moving atom is anchored or not.

ZMOVE_ALLOW_BUCKLED + + +

+

Whether we check the movable (if it exists) the living mob is buckled on or not.

ZMOVE_CHECK_PULLEDBY + + +

+

Checks if pulledby is nearby. if not, stop being pulled.

ZMOVE_CHECK_PULLING + + +

+

Runs check_pulling() by the end of [/atom/movable/proc/zMove] for every movable that's pulling something. Should be kept enabled unless you know what you are doing.

ZMOVE_FALL_CHECKS + + +

+

flags for different checks done in /atom/movable/proc/can_z_move. Should be self-explainatory.

ZMOVE_FALL_FLAGS + + +

+

Used for falling down open space.

ZMOVE_FEEDBACK + + +

+

Gives players chat feedbacks if they're unable to move through z levels.

ZMOVE_FLIGHT_FLAGS + + +

+

Flags used in "Move Upwards" and "Move Downwards" verbs.

ZMOVE_IGNORE_OBSTACLES + + +

+

Doesn't call zPassIn() and zPassOut()

ZMOVE_INCLUDE_PULLED + + +

+

Includes movables that're either pulled by the source or mobs buckled to it in the list of moving movables.

ZMOVE_STAIRS_FLAGS + + +

+

Used when walking upstairs

ZMOVE_VENTCRAWLING + + +

+

If the movable is actually ventcrawling vertically.

+ + + diff --git a/code/__DEFINES/multiz.html b/code/__DEFINES/multiz.html new file mode 100644 index 00000000000..2aa687f14a8 --- /dev/null +++ b/code/__DEFINES/multiz.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/multiz.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/multiz.dm + +

+ + + +
GET_TURF_BELOWAttempt to get the turf below the provided one according to Z traits
GET_TURF_ABOVEAttempt to get the turf above the provided one according to Z traits

Define Details

+

GET_TURF_ABOVE + + + +

+

Attempt to get the turf above the provided one according to Z traits

GET_TURF_BELOW + + + +

+

Attempt to get the turf below the provided one according to Z traits

+ + + diff --git a/code/__DEFINES/nitrile.html b/code/__DEFINES/nitrile.html new file mode 100644 index 00000000000..0eb2e53e466 --- /dev/null +++ b/code/__DEFINES/nitrile.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/nitrile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/nitrile.dm + +

+ + +
CHEM_INTERACT_DELAYmultiplies the time of do_after by NITRILE_GLOVES_MULTIPLIER if the user has the TRAIT_FASTMED

Define Details

+

CHEM_INTERACT_DELAY + + + +

+

multiplies the time of do_after by NITRILE_GLOVES_MULTIPLIER if the user has the TRAIT_FASTMED

+ + + diff --git a/code/__DEFINES/nozzle_define.html b/code/__DEFINES/nozzle_define.html new file mode 100644 index 00000000000..11969c90c30 --- /dev/null +++ b/code/__DEFINES/nozzle_define.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/nozzle_define.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/nozzle_define.dm + +

+ + +
EXTINGUISHER3 differnt modes for the firefighter extinquisher

Define Details

+

EXTINGUISHER + + +

+

3 differnt modes for the firefighter extinquisher

+ + + diff --git a/code/__DEFINES/nuclear_bomb.html b/code/__DEFINES/nuclear_bomb.html new file mode 100644 index 00000000000..1f1084fa65c --- /dev/null +++ b/code/__DEFINES/nuclear_bomb.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/nuclear_bomb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/nuclear_bomb.dm + +

+ + +
NUKE_CODE_UNSETDefault code for nukes, intentionally impossible to enter on the UI

Define Details

+

NUKE_CODE_UNSET + + +

+

Default code for nukes, intentionally impossible to enter on the UI

+ + + diff --git a/code/__DEFINES/obj_flags.html b/code/__DEFINES/obj_flags.html new file mode 100644 index 00000000000..6cfa8d1b6e0 --- /dev/null +++ b/code/__DEFINES/obj_flags.html @@ -0,0 +1,206 @@ + + + + + + + code/__DEFINES/obj_flags.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/obj_flags.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BLOCKS_CONSTRUCTIONDoes this object prevent things from being built on it?
BLOCKS_CONSTRUCTION_DIRDoes this object prevent same-direction things from being built on it?
IGNORE_DENSITYCan we ignore density when building on this object? (for example, directional windows and grilles)
CONDUCTS_ELECTRICITYCan this object conduct electricity?
NO_DECONSTRUCTIONPrevent deconstruction of this object.
NEEDS_PERMITUsed by security bots to determine if this item is safe for public use.
IGNORE_DIGITIGRADECan be equipped on digitigrade legs.
ITEM_HAS_CONTEXTUAL_SCREENTIPSHas contextual screentips when HOVERING OVER OTHER objects
NO_BLOOD_ON_ITEMNo blood overlay is allowed to appear on this item, and it cannot gain blood DNA forensics
SKIP_FANTASY_ON_SPAWNWhether this item should skip the /datum/component/fantasy applied on spawn on the RPG event. Used on things like stacks
LAVAPROTECTSUIT and HEAD items which stop lava from hurting the wearer
STOPSPRESSUREDAMAGESUIT and HEAD items which stop pressure damage. +To stop you taking all pressure damage you must have both a suit and head item with this flag.
BLOCK_GAS_SMOKE_EFFECTblocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!
MASKINTERNALSmask allows internals
GAS_FILTERINGmask filters toxins and other harmful gases
THICKMATERIALprevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. +Example: space suits, biosuit, bombsuits, thick suits that cover your body.
VOICEBOX_TOGGLABLEThe voicebox in this clothing can be toggled.
VOICEBOX_DISABLEDThe voicebox is currently turned off.
BLOCKS_SHOVE_KNOCKDOWNPrevents shovies against a dense object from knocking the wearer down.
SNUG_FITPrevents knock-off from things like hat-throwing.
ANTI_TINFOIL_MANEUVERHats with negative effects when worn (i.e the tinfoil hat).
DANGEROUS_OBJECTClothes that cause a larger notification when placed on a person.
LARGE_WORN_ICONClothes that use large icons, for applying the proper overlays like blood
BLOCKS_SPEECHClothes that block speech (i.e the muzzle). Can be applied to any clothing piece.
STACKABLE_HELMET_EXEMPTprevents from placing on plasmaman helmet or modsuit hat holder
PLASMAMAN_PREVENT_IGNITIONPrevents plasmamen from igniting when wearing this
CASTING_CLOTHESUsable as casting clothes by wizards (matters for suits, glasses and headwear)
INEDIBLE_CLOTHINGMoths can't eat the clothing that has this flag.
HEADINTERNALSHeadgear/helmet allows internals
CLOTHING_PRISTINEIntegrity defines for clothing (not flags but close enough)
FIRST_SOUNDSFlags for the pod_flags var on /obj/structure/closet/supplypod
TOY_FIREARM_OVERLAYFlags for the gun_flags var for firearms
NOT_A_REAL_GUNCurrently used to identify valid guns to steal
TURRET_INCOMPATIBLEThis gun shouldn't be allowed to go in a turret (it probably causes a bug/exploit)
SHARP_EDGEDFlags for sharpness in obj/item

Define Details

+

ANTI_TINFOIL_MANEUVER + + +

+

Hats with negative effects when worn (i.e the tinfoil hat).

BLOCKS_CONSTRUCTION + + +

+

Does this object prevent things from being built on it?

BLOCKS_CONSTRUCTION_DIR + + +

+

Does this object prevent same-direction things from being built on it?

BLOCKS_SHOVE_KNOCKDOWN + + +

+

Prevents shovies against a dense object from knocking the wearer down.

BLOCKS_SPEECH + + +

+

Clothes that block speech (i.e the muzzle). Can be applied to any clothing piece.

BLOCK_GAS_SMOKE_EFFECT + + +

+

blocks the effect that chemical clouds would have on a mob --glasses, mask and helmets ONLY!

CASTING_CLOTHES + + +

+

Usable as casting clothes by wizards (matters for suits, glasses and headwear)

CLOTHING_PRISTINE + + +

+

Integrity defines for clothing (not flags but close enough)

CONDUCTS_ELECTRICITY + + +

+

Can this object conduct electricity?

DANGEROUS_OBJECT + + +

+

Clothes that cause a larger notification when placed on a person.

FIRST_SOUNDS + + +

+

Flags for the pod_flags var on /obj/structure/closet/supplypod

GAS_FILTERING + + +

+

mask filters toxins and other harmful gases

HEADINTERNALS + + +

+

Headgear/helmet allows internals

IGNORE_DENSITY + + +

+

Can we ignore density when building on this object? (for example, directional windows and grilles)

IGNORE_DIGITIGRADE + + +

+

Can be equipped on digitigrade legs.

INEDIBLE_CLOTHING + + +

+

Moths can't eat the clothing that has this flag.

ITEM_HAS_CONTEXTUAL_SCREENTIPS + + +

+

Has contextual screentips when HOVERING OVER OTHER objects

LARGE_WORN_ICON + + +

+

Clothes that use large icons, for applying the proper overlays like blood

LAVAPROTECT + + +

+

SUIT and HEAD items which stop lava from hurting the wearer

MASKINTERNALS + + +

+

mask allows internals

NEEDS_PERMIT + + +

+

Used by security bots to determine if this item is safe for public use.

NOT_A_REAL_GUN + + +

+

Currently used to identify valid guns to steal

NO_BLOOD_ON_ITEM + + +

+

No blood overlay is allowed to appear on this item, and it cannot gain blood DNA forensics

NO_DECONSTRUCTION + + +

+

Prevent deconstruction of this object.

PLASMAMAN_PREVENT_IGNITION + + +

+

Prevents plasmamen from igniting when wearing this

SHARP_EDGED + + +

+

Flags for sharpness in obj/item

SKIP_FANTASY_ON_SPAWN + + +

+

Whether this item should skip the /datum/component/fantasy applied on spawn on the RPG event. Used on things like stacks

SNUG_FIT + + +

+

Prevents knock-off from things like hat-throwing.

STACKABLE_HELMET_EXEMPT + + +

+

prevents from placing on plasmaman helmet or modsuit hat holder

STOPSPRESSUREDAMAGE + + +

+

SUIT and HEAD items which stop pressure damage. +To stop you taking all pressure damage you must have both a suit and head item with this flag.

THICKMATERIAL + + +

+

prevents syringes, parapens and hypos if the external suit or helmet (if targeting head) has this flag. +Example: space suits, biosuit, bombsuits, thick suits that cover your body.

TOY_FIREARM_OVERLAY + + +

+

Flags for the gun_flags var for firearms

TURRET_INCOMPATIBLE + + +

+

This gun shouldn't be allowed to go in a turret (it probably causes a bug/exploit)

VOICEBOX_DISABLED + + +

+

The voicebox is currently turned off.

VOICEBOX_TOGGLABLE + + +

+

The voicebox in this clothing can be toggled.

+ + + diff --git a/code/__DEFINES/observers.html b/code/__DEFINES/observers.html new file mode 100644 index 00000000000..14184df36f8 --- /dev/null +++ b/code/__DEFINES/observers.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/observers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/observers.dm + +

+ + + + + + +
GHOST_NOTIFY_IGNORE_MAPLOADDetermines if the notification will not run if called during mapload.
GHOST_NOTIFY_FLASH_WINDOWDetermines if the notification will flash the Byond window.
GHOST_NOTIFY_NOTIFY_SUICIDERSDetermines if the notification will notify suiciders.
NOTIFY_CATEGORY_DEFAULTThe default set of flags to be passed into a notify_ghosts call.
NOTIFY_CATEGORY_NOFLASHThe default set of flags, without the flash_window flag.

Define Details

+

GHOST_NOTIFY_FLASH_WINDOW + + +

+

Determines if the notification will flash the Byond window.

GHOST_NOTIFY_IGNORE_MAPLOAD + + +

+

Determines if the notification will not run if called during mapload.

GHOST_NOTIFY_NOTIFY_SUICIDERS + + +

+

Determines if the notification will notify suiciders.

NOTIFY_CATEGORY_DEFAULT + + +

+

The default set of flags to be passed into a notify_ghosts call.

NOTIFY_CATEGORY_NOFLASH + + +

+

The default set of flags, without the flash_window flag.

+ + + diff --git a/code/__DEFINES/organ_movement.html b/code/__DEFINES/organ_movement.html new file mode 100644 index 00000000000..638119be5fd --- /dev/null +++ b/code/__DEFINES/organ_movement.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/organ_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/organ_movement.dm + +

+ + + +
DELETE_IF_REPLACEDDelete the organ if replaced
NO_ID_TRANSFERWhen deleting a brain, we don't delete the identity and the player can keep playing

Define Details

+

DELETE_IF_REPLACED + + +

+

Delete the organ if replaced

NO_ID_TRANSFER + + +

+

When deleting a brain, we don't delete the identity and the player can keep playing

+ + + diff --git a/code/__DEFINES/overlays.html b/code/__DEFINES/overlays.html new file mode 100644 index 00000000000..f59d46d88b1 --- /dev/null +++ b/code/__DEFINES/overlays.html @@ -0,0 +1,39 @@ + + + + + + + code/__DEFINES/overlays.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/overlays.dm + +

+ + + +
VALIDATE_OVERLAY_LIMITChecks if an atom has reached the overlay limit, and make a loud error if it does.
POST_OVERLAY_CHANGEPerforms any operations that ought to run after an appearance change

Define Details

+

POST_OVERLAY_CHANGE + + + +

+

Performs any operations that ought to run after an appearance change

VALIDATE_OVERLAY_LIMIT + + + +

+

Checks if an atom has reached the overlay limit, and make a loud error if it does.

+ + + diff --git a/code/__DEFINES/pai.html b/code/__DEFINES/pai.html new file mode 100644 index 00000000000..b851d710ad4 --- /dev/null +++ b/code/__DEFINES/pai.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/pai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/pai.dm + +

+ + + + + + + + + + + + + + +
HOLOCHASSIS_COOLDOWNTime between fold out
HOLOCHASSIS_INIT_TIMETime it takes a new pAI to fold out
HOLOCHASSIS_OVERLOAD_COOLDOWNOverloaded or emagged foldout cooldown
HOLOCHASSIS_REGEN_PER_SECONDRegeneration rate for the holochassis
HOLOCHASSIS_MAX_HEALTHThe max health of the holochassis
PAI_SPAM_TIMEThe amount of time between spamming for pAI candidates
HOLOFORM_MAX_RANGEMaximum distance you can set the holoform leash
HOLOFORM_MIN_RANGEMinimum distance you can set the holoform leash
HOLOFORM_DEFAULT_RANGEDefault holoform leash distance
PAI_TOGGLE_MEDICAL_HUDUI action to toggle huds
PAI_SCAN_TARGETUI action to use integrated scanner on target
PAI_DOOR_JACK_CABLEUI actions for door jack
PAI_PHOTO_MODE_CAMERAUI actions for photography module

Define Details

+

HOLOCHASSIS_COOLDOWN + + +

+

Time between fold out

HOLOCHASSIS_INIT_TIME + + +

+

Time it takes a new pAI to fold out

HOLOCHASSIS_MAX_HEALTH + + +

+

The max health of the holochassis

HOLOCHASSIS_OVERLOAD_COOLDOWN + + +

+

Overloaded or emagged foldout cooldown

HOLOCHASSIS_REGEN_PER_SECOND + + +

+

Regeneration rate for the holochassis

HOLOFORM_DEFAULT_RANGE + + +

+

Default holoform leash distance

HOLOFORM_MAX_RANGE + + +

+

Maximum distance you can set the holoform leash

HOLOFORM_MIN_RANGE + + +

+

Minimum distance you can set the holoform leash

PAI_DOOR_JACK_CABLE + + +

+

UI actions for door jack

PAI_PHOTO_MODE_CAMERA + + +

+

UI actions for photography module

PAI_SCAN_TARGET + + +

+

UI action to use integrated scanner on target

PAI_SPAM_TIME + + +

+

The amount of time between spamming for pAI candidates

PAI_TOGGLE_MEDICAL_HUD + + +

+

UI action to toggle huds

+ + + diff --git a/code/__DEFINES/paintings.html b/code/__DEFINES/paintings.html new file mode 100644 index 00000000000..4a21d089c46 --- /dev/null +++ b/code/__DEFINES/paintings.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/paintings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/paintings.dm + +

+ + + + +
PAINTINGS_FILTER_AI_PORTRAITOnly returns paintings with 23x23 or 24x24 sizes fitting AI display icon.
PAINTINGS_FILTER_SEARCH_TITLESearch mode for the title of the painting
PAINTINGS_FILTER_SEARCH_CREATORDitto but for the creator's name

Define Details

+

PAINTINGS_FILTER_AI_PORTRAIT + + +

+

Only returns paintings with 23x23 or 24x24 sizes fitting AI display icon.

PAINTINGS_FILTER_SEARCH_CREATOR + + +

+

Ditto but for the creator's name

PAINTINGS_FILTER_SEARCH_TITLE + + +

+

Search mode for the title of the painting

+ + + diff --git a/code/__DEFINES/paper.html b/code/__DEFINES/paper.html new file mode 100644 index 00000000000..d612efa8c74 --- /dev/null +++ b/code/__DEFINES/paper.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/paper.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/paper.dm + +

+ + + + + + + + +
MAX_PAPER_LENGTHMaximimum number of characters that we allow on paper.
MAX_PAPER_STAMPSMax number of stamps that can be applied to the paper in tgui.
MAX_PAPER_STAMPS_OVERLAYSMax number of stamp overlays that we'll add to a piece of paper's icon.
MAX_PAPER_INPUT_FIELD_LENGTHMaximum length of input fields. Input fields greater than this length are clamped tgui-side. Input field text input greater than this length is rejected tgui-side, discarded + logged if it reaches DM-side.
MODE_READINGShould not be able to write on or stamp paper.
MODE_WRITINGShould be able to write on paper.
MODE_STAMPINGShould be able to stamp paper.

Define Details

+

MAX_PAPER_INPUT_FIELD_LENGTH + + +

+

Maximum length of input fields. Input fields greater than this length are clamped tgui-side. Input field text input greater than this length is rejected tgui-side, discarded + logged if it reaches DM-side.

MAX_PAPER_LENGTH + + +

+

Maximimum number of characters that we allow on paper.

MAX_PAPER_STAMPS + + +

+

Max number of stamps that can be applied to the paper in tgui.

MAX_PAPER_STAMPS_OVERLAYS + + +

+

Max number of stamp overlays that we'll add to a piece of paper's icon.

MODE_READING + + +

+

Should not be able to write on or stamp paper.

MODE_STAMPING + + +

+

Should be able to stamp paper.

MODE_WRITING + + +

+

Should be able to write on paper.

+ + + diff --git a/code/__DEFINES/particles.html b/code/__DEFINES/particles.html new file mode 100644 index 00000000000..0306491fcd2 --- /dev/null +++ b/code/__DEFINES/particles.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/particles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/particles.dm + +

+ + +
PARTICLE_ATTACH_MOBIf we're inside something inside a mob, display off that mob too

Define Details

+

PARTICLE_ATTACH_MOB + + +

+

If we're inside something inside a mob, display off that mob too

+ + + diff --git a/code/__DEFINES/path.html b/code/__DEFINES/path.html new file mode 100644 index 00000000000..f099515f5c1 --- /dev/null +++ b/code/__DEFINES/path.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/path.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/path.dm + +

+ + + + +
CANASTARPASS_DENSITYIf set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true
CANASTARPASS_ALWAYS_PROCIf this is set, we bypass density checks and always call the proc
CAN_STEPA helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. +If you really want to optimize things, optimize this, cuz this gets called a lot. +We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance

Define Details

+

CANASTARPASS_ALWAYS_PROC + + +

+

If this is set, we bypass density checks and always call the proc

CANASTARPASS_DENSITY + + +

+

If set, we make the assumption that CanAStarPass() will NEVER return FALSE unless density is true

CAN_STEP + + + +

+

A helper macro to see if it's possible to step from the first turf into the second one, minding things like door access and directional windows. +If you really want to optimize things, optimize this, cuz this gets called a lot. +We do early next.density check despite it being already checked in LinkBlockedWithAccess for short-circuit performance

+ + + diff --git a/code/__DEFINES/perf_test.html b/code/__DEFINES/perf_test.html new file mode 100644 index 00000000000..cd7fdbfcc4d --- /dev/null +++ b/code/__DEFINES/perf_test.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/perf_test.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/perf_test.dm + +

+ + +
CONSUME_UNTILMacro that takes a tick usage to target, and proceses until we hit it +This lets us simulate generic load as we'd like, to make testing for overtime easier

Define Details

+

CONSUME_UNTIL + + + +

+

Macro that takes a tick usage to target, and proceses until we hit it +This lets us simulate generic load as we'd like, to make testing for overtime easier

+ + + diff --git a/code/__DEFINES/plumbing.html b/code/__DEFINES/plumbing.html new file mode 100644 index 00000000000..5cbd0bbc855 --- /dev/null +++ b/code/__DEFINES/plumbing.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/plumbing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/plumbing.dm + +

+ + +
DUCT_COLOR_OMNIName of omni color

Define Details

+

DUCT_COLOR_OMNI + + +

+

Name of omni color

+ + + diff --git a/code/__DEFINES/power.html b/code/__DEFINES/power.html new file mode 100644 index 00000000000..2d71116107c --- /dev/null +++ b/code/__DEFINES/power.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/power.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/power.dm + +

+ + + +
WATTSconversion ratio from joules to watts
JOULESconversion ratio from watts to joules

Define Details

+

JOULES + + +

+

conversion ratio from watts to joules

WATTS + + +

+

conversion ratio from joules to watts

+ + + diff --git a/code/__DEFINES/preferences.html b/code/__DEFINES/preferences.html new file mode 100644 index 00000000000..a0c8f9ae04c --- /dev/null +++ b/code/__DEFINES/preferences.html @@ -0,0 +1,104 @@ + + + + + + + code/__DEFINES/preferences.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/preferences.dm + +

+ + + + + + + + + + + + + + + + +
PREFERENCE_CHARACTERThis preference is character specific.
PREFERENCE_PLAYERThis preference is account specific.
PREFERENCE_TAB_CHARACTER_PREFERENCESOpen the character preference window
PREFERENCE_TAB_GAME_PREFERENCESOpen the game preferences window
PREFERENCE_TAB_KEYBINDINGSOpen the keybindings window
PREFERENCE_CATEGORY_FEATURESThese will be shown in the character sidebar, but at the bottom.
PREFERENCE_CATEGORY_CLOTHINGAny preferences that will show to the sides of the character in the setup menu.
PREFERENCE_CATEGORY_NON_CONTEXTUALPreferences that will be put into the 3rd list, and are not contextual.
PREFERENCE_CATEGORY_GAME_PREFERENCESWill be put under the game preferences window.
PREFERENCE_CATEGORY_SECONDARY_FEATURESThese will show in the list to the right of the character preview.
PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURESThese are preferences that are supplementary for main features, +such as hair color being affixed to hair.
PREFERENCE_CATEGORY_MANUALLY_RENDEREDThese preferences will not be rendered on the preferences page, and are practically invisible unless specifically rendered. Used for quirks, currently.
PLAYTIME_HARDCORE_RANDOMThe time needed to unlock hardcore random mode in preferences
PLAYTIME_VETERANThe time needed to unlock the gamer cloak in preferences
SPRITE_ACCESSORY_NONEThe key used for sprite accessories that should never actually be applied to the player.

Define Details

+

PLAYTIME_HARDCORE_RANDOM + + +

+

The time needed to unlock hardcore random mode in preferences

PLAYTIME_VETERAN + + +

+

The time needed to unlock the gamer cloak in preferences

PREFERENCE_CATEGORY_CLOTHING + + +

+

Any preferences that will show to the sides of the character in the setup menu.

PREFERENCE_CATEGORY_FEATURES + + +

+

These will be shown in the character sidebar, but at the bottom.

PREFERENCE_CATEGORY_GAME_PREFERENCES + + +

+

Will be put under the game preferences window.

PREFERENCE_CATEGORY_MANUALLY_RENDERED + + +

+

These preferences will not be rendered on the preferences page, and are practically invisible unless specifically rendered. Used for quirks, currently.

PREFERENCE_CATEGORY_NON_CONTEXTUAL + + +

+

Preferences that will be put into the 3rd list, and are not contextual.

PREFERENCE_CATEGORY_SECONDARY_FEATURES + + +

+

These will show in the list to the right of the character preview.

PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES + + +

+

These are preferences that are supplementary for main features, +such as hair color being affixed to hair.

PREFERENCE_CHARACTER + + +

+

This preference is character specific.

PREFERENCE_PLAYER + + +

+

This preference is account specific.

PREFERENCE_TAB_CHARACTER_PREFERENCES + + +

+

Open the character preference window

PREFERENCE_TAB_GAME_PREFERENCES + + +

+

Open the game preferences window

PREFERENCE_TAB_KEYBINDINGS + + +

+

Open the keybindings window

SPRITE_ACCESSORY_NONE + + +

+

The key used for sprite accessories that should never actually be applied to the player.

+ + + diff --git a/code/__DEFINES/procpath.html b/code/__DEFINES/procpath.html new file mode 100644 index 00000000000..c45ff09e610 --- /dev/null +++ b/code/__DEFINES/procpath.html @@ -0,0 +1,27 @@ + + + + + + + code/__DEFINES/procpath.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__DEFINES/procpath.dm + +

+ + +
/procpathRepresents a proc or verb path.
+ + + diff --git a/code/__DEFINES/projectiles.html b/code/__DEFINES/projectiles.html new file mode 100644 index 00000000000..93d89484681 --- /dev/null +++ b/code/__DEFINES/projectiles.html @@ -0,0 +1,200 @@ + + + + + + + code/__DEFINES/projectiles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/projectiles.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PROJECTILE_PIERCE_NONEDefault behavior: hit and delete self
PROJECTILE_PIERCE_HITHit the thing but go through without deleting. Causes on_hit to be called with pierced = TRUE
PROJECTILE_PIERCE_PHASEEntirely phase through the thing without ever hitting.
CALIBER_A7MMThe caliber used by the L6 SAW.
CALIBER_46X30MMThe caliber used by the security auto-rifle.
CALIBER_9MMThe caliber used by the Nanotrasen Saber SMG, PP-95 SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it.
CALIBER_10MMThe caliber used as the default for ballistic guns. Only not overridden for the surplus rifle.
CALIBER_357The caliber used by most revolver variants.
CALIBER_38The caliber used by the detective's revolver.
CALIBER_45The caliber used by the C-20r SMG, the tommygun, and the M1911 pistol.
CALIBER_50BMGThe caliber used by sniper rifles.
CALIBER_50AEThe caliber used by the desert eagle.
CALIBER_75The caliber used by the gyrojet pistol.
CALIBER_N762The caliber used by one revolver variant.
CALIBER_A223The caliber used by the the M-90gl Carbine, and NT-ARG 'Boarder'.
CALIBER_STRILKA310The caliber used by bolt action rifles.
CALIBER_SHOTGUNThe caliber used by shotguns.
CALIBER_40MMThe caliber used by grenade launchers.
CALIBER_84MMThe caliber used by rocket launchers.
CALIBER_LASERThe caliber used by laser guns.
CALIBER_ENERGYThe caliber used by most energy guns.
CALIBER_FOAMThe acliber used by foam force and donksoft toy guns.
CALIBER_ARROWThe caliber used by the bow and arrow.
CALIBER_HARPOONThe caliber used by the harpoon gun.
CALIBER_REBARThe caliber used by the rebar crossbow.
CALIBER_REBAR_FORCEDThe caliber used by the rebar crossbow when forced to hold 2 rods.
CALIBER_REBAR_SYNDIEThe caliber used by the syndicate rebar crossbow.
CALIBER_REBAR_SYNDIE_NORMALThe caliber used by the syndicate rebar crossbow.
CALIBER_HOOKThe caliber used by the meat hook.
CALIBER_TENTACLEThe caliber used by the changeling tentacle mutation.
GUNPOINT_SHOOTER_STRAY_RANGEFor gunpoints, how many tiles around the target the shooter can roam without losing their shot
PROJECTILE_DAMAGE_PER_ROBOTIC_SPARKA spark will be generated for each THIS amount of damage dealt to a robotic limb by a projectile.
STANDARD_CELL_CHARGEThe amount of energy that a standard energy weapon cell can hold
LASER_SHOTSMacro to turn a number of laser shots into an energy cost, based on the above define +e.g. LASER_SHOTS(12, STANDARD_CELL_CHARGE) means 12 shots

Define Details

+

CALIBER_10MM + + +

+

The caliber used as the default for ballistic guns. Only not overridden for the surplus rifle.

CALIBER_357 + + +

+

The caliber used by most revolver variants.

CALIBER_38 + + +

+

The caliber used by the detective's revolver.

CALIBER_40MM + + +

+

The caliber used by grenade launchers.

CALIBER_45 + + +

+

The caliber used by the C-20r SMG, the tommygun, and the M1911 pistol.

CALIBER_46X30MM + + +

+

The caliber used by the security auto-rifle.

CALIBER_50AE + + +

+

The caliber used by the desert eagle.

CALIBER_50BMG + + +

+

The caliber used by sniper rifles.

CALIBER_75 + + +

+

The caliber used by the gyrojet pistol.

CALIBER_84MM + + +

+

The caliber used by rocket launchers.

CALIBER_9MM + + +

+

The caliber used by the Nanotrasen Saber SMG, PP-95 SMG and Type U3 Uzi. Also used as the default caliber for pistols but only the stechkin APS machine pistol doesn't override it.

CALIBER_A223 + + +

+

The caliber used by the the M-90gl Carbine, and NT-ARG 'Boarder'.

CALIBER_A7MM + + +

+

The caliber used by the L6 SAW.

CALIBER_ARROW + + +

+

The caliber used by the bow and arrow.

CALIBER_ENERGY + + +

+

The caliber used by most energy guns.

CALIBER_FOAM + + +

+

The acliber used by foam force and donksoft toy guns.

CALIBER_HARPOON + + +

+

The caliber used by the harpoon gun.

CALIBER_HOOK + + +

+

The caliber used by the meat hook.

CALIBER_LASER + + +

+

The caliber used by laser guns.

CALIBER_N762 + + +

+

The caliber used by one revolver variant.

CALIBER_REBAR + + +

+

The caliber used by the rebar crossbow.

CALIBER_REBAR_FORCED + + +

+

The caliber used by the rebar crossbow when forced to hold 2 rods.

CALIBER_REBAR_SYNDIE + + +

+

The caliber used by the syndicate rebar crossbow.

CALIBER_REBAR_SYNDIE_NORMAL + + +

+

The caliber used by the syndicate rebar crossbow.

CALIBER_SHOTGUN + + +

+

The caliber used by shotguns.

CALIBER_STRILKA310 + + +

+

The caliber used by bolt action rifles.

CALIBER_TENTACLE + + +

+

The caliber used by the changeling tentacle mutation.

GUNPOINT_SHOOTER_STRAY_RANGE + + +

+

For gunpoints, how many tiles around the target the shooter can roam without losing their shot

LASER_SHOTS + + + +

+

Macro to turn a number of laser shots into an energy cost, based on the above define +e.g. LASER_SHOTS(12, STANDARD_CELL_CHARGE) means 12 shots

PROJECTILE_DAMAGE_PER_ROBOTIC_SPARK + + +

+

A spark will be generated for each THIS amount of damage dealt to a robotic limb by a projectile.

PROJECTILE_PIERCE_HIT + + +

+

Hit the thing but go through without deleting. Causes on_hit to be called with pierced = TRUE

PROJECTILE_PIERCE_NONE + + +

+

Default behavior: hit and delete self

PROJECTILE_PIERCE_PHASE + + +

+

Entirely phase through the thing without ever hitting.

STANDARD_CELL_CHARGE + + +

+

The amount of energy that a standard energy weapon cell can hold

+ + + diff --git a/code/__DEFINES/qdel.html b/code/__DEFINES/qdel.html new file mode 100644 index 00000000000..bfe96e0d955 --- /dev/null +++ b/code/__DEFINES/qdel.html @@ -0,0 +1,99 @@ + + + + + + + code/__DEFINES/qdel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/qdel.dm + +

+ + + + + + + + + + + + + + + + +

Defines that give qdel hints.

+

These can be given as a return in /atom/proc/Destroy or by calling /proc/qdel.

QDEL_HINT_QUEUEqdel should queue the object for deletion.
QDEL_HINT_LETMELIVEqdel should let the object live after calling /atom/proc/Destroy.
QDEL_HINT_IWILLGCFunctionally the same as the above. qdel should assume the object will gc on its own, and not check it.
QDEL_HINT_HARDDELQdel should assume this object won't GC, and queue a hard delete using a hard reference.
GC_QUEUE_FILTERshort queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes
GC_QUEUE_CHECKmain queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.
GC_QUEUE_HARDDELETEshort queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.
GC_QUEUE_COUNTNumber of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage
GC_QUEUE_ITEM_QUEUE_TIMETime this item entered the queue
GC_QUEUE_ITEM_REFRef to the item
GC_QUEUE_ITEM_GCD_DESTROYEDItem's gc_destroyed var value. Used to detect ref reuse.
GC_QUEUE_ITEM_INDEX_COUNTNumber of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index
QDEL_ITEM_ADMINS_WARNEDSet when admins are told about lag causing qdels in this type.
QDEL_ITEM_SUSPENDED_FOR_LAGSet when a type can no longer be hard deleted on failure because of lag it causes while this happens.

Define Details

+

GC_QUEUE_CHECK + + +

+

main queue that waits 5 minutes because thats the longest byond can hold a reference to our shit.

GC_QUEUE_COUNT + + +

+

Number of queues, used for allocating the nested lists. Don't forget to increase this if you add a new queue stage

GC_QUEUE_FILTER + + +

+

short queue to filter out quick gc successes so they don't hang around in the main queue for 5 minutes

GC_QUEUE_HARDDELETE + + +

+

short queue for things that hard delete instead of going thru the gc subsystem, this is purely so if they can softdelete, they will soft delete rather then wasting time with a hard delete.

GC_QUEUE_ITEM_GCD_DESTROYED + + +

+

Item's gc_destroyed var value. Used to detect ref reuse.

GC_QUEUE_ITEM_INDEX_COUNT + + +

+

Number of item indexes, used for allocating the nested lists. Don't forget to increase this if you add a new queue item index

GC_QUEUE_ITEM_QUEUE_TIME + + +

+

Time this item entered the queue

GC_QUEUE_ITEM_REF + + +

+

Ref to the item

QDEL_HINT_HARDDEL + + +

+

Qdel should assume this object won't GC, and queue a hard delete using a hard reference.

QDEL_HINT_IWILLGC + + +

+

Functionally the same as the above. qdel should assume the object will gc on its own, and not check it.

QDEL_HINT_LETMELIVE + + +

+

qdel should let the object live after calling /atom/proc/Destroy.

QDEL_HINT_QUEUE + + +

+

qdel should queue the object for deletion.

QDEL_ITEM_ADMINS_WARNED + + +

+

Set when admins are told about lag causing qdels in this type.

QDEL_ITEM_SUSPENDED_FOR_LAG + + +

+

Set when a type can no longer be hard deleted on failure because of lag it causes while this happens.

+ + + diff --git a/code/__DEFINES/quirks.html b/code/__DEFINES/quirks.html new file mode 100644 index 00000000000..2979598af70 --- /dev/null +++ b/code/__DEFINES/quirks.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/quirks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/quirks.dm + +

+ + + + + + +
QUIRK_HUMAN_ONLYThis quirk can only be applied to humans
QUIRK_PROCESSESThis quirk processes on SSquirks (and should implement quirk process)
QUIRK_CHANGES_APPEARANCEThis quirk is has a visual aspect in that it changes how the player looks. Used in generating dummies.
QUIRK_MOODLET_BASEDThe only thing this quirk effects is mood so it should be disabled if mood is
QUIRK_HIDE_FROM_SCANThis quirk shouldn't be shown by health analyzers and hud, perhaps as considering it medical condition is a far stretch.

Define Details

+

QUIRK_CHANGES_APPEARANCE + + +

+

This quirk is has a visual aspect in that it changes how the player looks. Used in generating dummies.

QUIRK_HIDE_FROM_SCAN + + +

+

This quirk shouldn't be shown by health analyzers and hud, perhaps as considering it medical condition is a far stretch.

QUIRK_HUMAN_ONLY + + +

+

This quirk can only be applied to humans

QUIRK_MOODLET_BASED + + +

+

The only thing this quirk effects is mood so it should be disabled if mood is

QUIRK_PROCESSES + + +

+

This quirk processes on SSquirks (and should implement quirk process)

+ + + diff --git a/code/__DEFINES/radiation.html b/code/__DEFINES/radiation.html new file mode 100644 index 00000000000..d7c09e2c54e --- /dev/null +++ b/code/__DEFINES/radiation.html @@ -0,0 +1,117 @@ + + + + + + + code/__DEFINES/radiation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/radiation.dm + +

+ + + + + + + + + + + + + + + + + + + +
RAD_MOB_HAIRLOSSHow much stored radiation to check for hair loss
RAD_MOB_HAIRLOSS_PROBChance of you hair starting to fall out every second when over threshold
RAD_MOB_MUTATEHow much stored radiation to check for mutation
RAD_MOB_MUTATE_PROBChance of randomly mutating every second when over threshold
RAD_MOB_VOMITThe time since irradiated before checking for vomitting
RAD_MOB_VOMIT_PROBChance per second of vomitting
RAD_MOB_KNOCKDOWNHow much stored radiation to check for stunning
RAD_MOB_KNOCKDOWN_PROBChance of knockdown per second when over threshold
RAD_MOB_KNOCKDOWN_AMOUNTAmount of knockdown when it occurs
DEFAULT_RADIATION_CHANCEThe default chance something can be irradiated
URANIUM_IRRADIATION_CHANCEThe default chance for uranium structures to irradiate
URANIUM_RADIATION_MINIMUM_EXPOSURE_TIMEThe minimum exposure time before uranium structures can irradiate
NEBULA_RADIATION_MINIMUM_EXPOSURE_TIMEThe minimum exposure time before the radioactive nebula can irradiate
PERCEIVED_RADIATION_DANGER_LOWReturn values of [proc/get_perceived_radiation_danger]
TIME_WITHOUT_RADIATION_BEFORE_RESETThe time before geiger counters reset back to normal without any radiation pulses
RADIATION_EXPOSURE_NEBULA_BASE_CHANCEBase chance the nebula has of applying irradiation
RADIATION_EXPOSURE_NEBULA_CHANCE_INCREMENTThe chance we add to the base chance every time we fail to irradiate
RADIATION_EXPOSURE_NEBULA_CHECK_INTERVALTime it takes for the next irradiation check

Define Details

+

DEFAULT_RADIATION_CHANCE + + +

+

The default chance something can be irradiated

NEBULA_RADIATION_MINIMUM_EXPOSURE_TIME + + +

+

The minimum exposure time before the radioactive nebula can irradiate

PERCEIVED_RADIATION_DANGER_LOW + + +

+

Return values of [proc/get_perceived_radiation_danger]

RADIATION_EXPOSURE_NEBULA_BASE_CHANCE + + +

+

Base chance the nebula has of applying irradiation

RADIATION_EXPOSURE_NEBULA_CHANCE_INCREMENT + + +

+

The chance we add to the base chance every time we fail to irradiate

RADIATION_EXPOSURE_NEBULA_CHECK_INTERVAL + + +

+

Time it takes for the next irradiation check

RAD_MOB_HAIRLOSS + + +

+

How much stored radiation to check for hair loss

RAD_MOB_HAIRLOSS_PROB + + +

+

Chance of you hair starting to fall out every second when over threshold

RAD_MOB_KNOCKDOWN + + +

+

How much stored radiation to check for stunning

RAD_MOB_KNOCKDOWN_AMOUNT + + +

+

Amount of knockdown when it occurs

RAD_MOB_KNOCKDOWN_PROB + + +

+

Chance of knockdown per second when over threshold

RAD_MOB_MUTATE + + +

+

How much stored radiation to check for mutation

RAD_MOB_MUTATE_PROB + + +

+

Chance of randomly mutating every second when over threshold

RAD_MOB_VOMIT + + +

+

The time since irradiated before checking for vomitting

RAD_MOB_VOMIT_PROB + + +

+

Chance per second of vomitting

TIME_WITHOUT_RADIATION_BEFORE_RESET + + +

+

The time before geiger counters reset back to normal without any radiation pulses

URANIUM_IRRADIATION_CHANCE + + +

+

The default chance for uranium structures to irradiate

URANIUM_RADIATION_MINIMUM_EXPOSURE_TIME + + +

+

The minimum exposure time before uranium structures can irradiate

+ + + diff --git a/code/__DEFINES/radio.html b/code/__DEFINES/radio.html new file mode 100644 index 00000000000..ad9cfa597f7 --- /dev/null +++ b/code/__DEFINES/radio.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/radio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/radio.dm + +

+ + + + + +
RADIO_NO_Z_LEVEL_RESTRICTIONgive this to can_receive to specify that there is no restriction on what z level this signal is sent to
RADIO_FREQENCY_UNLOCKEDRadio frequency is unlocked and can be ajusted by anyone
RADIO_FREQENCY_LOCKEDRadio frequency is locked, unchangeable by players
RADIO_FREQENCY_EMAGGABLE_LOCKRadio frequency is locked and unchangeable, but can be unlocked by an emag

Define Details

+

RADIO_FREQENCY_EMAGGABLE_LOCK + + +

+

Radio frequency is locked and unchangeable, but can be unlocked by an emag

RADIO_FREQENCY_LOCKED + + +

+

Radio frequency is locked, unchangeable by players

RADIO_FREQENCY_UNLOCKED + + +

+

Radio frequency is unlocked and can be ajusted by anyone

RADIO_NO_Z_LEVEL_RESTRICTION + + +

+

give this to can_receive to specify that there is no restriction on what z level this signal is sent to

+ + + diff --git a/code/__DEFINES/radioactive_nebula.html b/code/__DEFINES/radioactive_nebula.html new file mode 100644 index 00000000000..695c39907ae --- /dev/null +++ b/code/__DEFINES/radioactive_nebula.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/radioactive_nebula.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/radioactive_nebula.dm + +

+ + +
GLOW_NEBULAName of the glow we use for the radioation effect outside

Define Details

+

GLOW_NEBULA + + +

+

Name of the glow we use for the radioation effect outside

+ + + diff --git a/code/__DEFINES/reactions.html b/code/__DEFINES/reactions.html new file mode 100644 index 00000000000..e6fa0fc2c0c --- /dev/null +++ b/code/__DEFINES/reactions.html @@ -0,0 +1,552 @@ + + + + + + + code/__DEFINES/reactions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/reactions.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PRIORITY_PRE_FORMATIONThe prority used to indicate that a reaction should run immediately at the start of a reaction cycle. Currently used by a jumble of decomposition reactions and purgative reactions.
PRIORITY_FORMATIONThe priority used for reactions that produce a useful or more advanced product. Goes after purgative reactions so that the purgers can be slightly more useful.
PRIORITY_POST_FORMATIONThe priority used for indicate that a reactions should run immediately before most forms of combustion. Used by two decomposition reactions and steam condensation.
PRIORITY_FIREThe priority used to indicate that a reactions should run after all other types of reactions. Exclusively used for combustion reactions that produce fire or are freon.
ATMOS_RADIATION_VOLUME_EXPAn exponent used to make large volume gas mixtures significantly less likely to release rads. Used to prevent tritfires in distro from irradiating literally the entire station with no warning.
GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGEMaximum range a radiation pulse is allowed to be from a gas reaction.
WATER_VAPOR_CONDENSATION_POINTThe temperature required for water vapor to condense.
WATER_VAPOR_DEPOSITION_POINTThe temperature required for water vapor to condense as ice instead of water.
MIASTER_STERILIZATION_TEMPThe minimum temperature miasma begins being sterilized at.
MIASTER_STERILIZATION_MAX_HUMIDITYThe maximum ratio of water vapor to other gases miasma can be sterilized at.
MIASTER_STERILIZATION_RATE_BASEThe minimum amount of miasma that will be sterilized in a reaction tick.
MIASTER_STERILIZATION_RATE_SCALEThe temperature required to sterilize an additional mole of miasma in a reaction tick.
MIASTER_STERILIZATION_ENERGYThe amount of energy released when a mole of miasma is sterilized.
FIRE_CARBON_ENERGY_RELEASEDAmount of heat released per mole of burnt carbon into the tile
PLASMA_MINIMUM_BURN_TEMPERATUREMinimum temperature to burn plasma
PLASMA_UPPER_TEMPERATUREUpper temperature ceiling for plasmafire reaction calculations for fuel consumption
OXYGEN_BURN_RATIO_BASEThe maximum and default amount of plasma consumed as oxydizer per mole of plasma burnt.
PLASMA_OXYGEN_FULLBURNMultiplier for plasmafire with O2 moles * PLASMA_OXYGEN_FULLBURN for the maximum fuel consumption
SUPER_SATURATION_THRESHOLDThe minimum ratio of oxygen to plasma necessary to start producing tritium.
PLASMA_BURN_RATE_DELTAThe divisor for the maximum plasma burn rate. (1/9 of the plasma can burn in one reaction tick.)
FIRE_PLASMA_ENERGY_RELEASEDAmount of heat released per mole of burnt plasma into the tile
HYDROGEN_MINIMUM_BURN_TEMPERATUREThe minimum temperature hydrogen combusts at.
FIRE_HYDROGEN_ENERGY_RELEASEDThe amount of energy released by burning one mole of hydrogen.
HYDROGEN_OXYGEN_FULLBURNMultiplier for hydrogen fire with O2 moles * HYDROGEN_OXYGEN_FULLBURN for the maximum fuel consumption
FIRE_HYDROGEN_BURN_RATE_DELTAThe divisor for the maximum hydrogen burn rate. (1/2 of the hydrogen can burn in one reaction tick.)
TRITIUM_MINIMUM_BURN_TEMPERATUREThe minimum temperature tritium combusts at.
FIRE_TRITIUM_ENERGY_RELEASEDThe amount of energy released by burning one mole of tritium.
TRITIUM_OXYGEN_FULLBURNMultiplier for TRITIUM fire with O2 moles * TRITIUM_OXYGEN_FULLBURN for the maximum fuel consumption
FIRE_TRITIUM_BURN_RATE_DELTAThe divisor for the maximum tritium burn rate. (1/2 of the tritium can burn in one reaction tick.)
TRITIUM_RADIATION_MINIMUM_MOLESThe minimum number of moles of trit that must be burnt for a tritium fire reaction to produce a radiation pulse. (0.01 moles trit or 10 moles oxygen to start producing rads.)
TRITIUM_RADIATION_RELEASE_THRESHOLDThe minimum released energy necessary for tritium to release radiation during combustion. (at a mix volume of CELL_VOLUME).
TRITIUM_RADIATION_RANGE_DIVISORA scaling factor for the range of radiation pulses produced by tritium fires.
TRITIUM_RADIATION_THRESHOLDThe threshold of the tritium combustion's radiation. Lower values means it will be able to penetrate through more structures.
FREON_MAXIMUM_BURN_TEMPERATUREThe maximum temperature freon can combust at.
FREON_LOWER_TEMPERATUREMinimum temperature allowed for the burn to go at max speed, we would have negative pressure otherwise
FREON_TERMINAL_TEMPERATURETerminal temperature after wich we stop the reaction
FREON_OXYGEN_FULLBURNMultiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption
FREON_BURN_RATE_DELTAThe maximum fraction of the freon in a mix that can combust each reaction tick.
FIRE_FREON_ENERGY_CONSUMEDThe amount of heat absorbed per mole of freon burnt.
HOT_ICE_FORMATION_MAXIMUM_TEMPERATUREThe maximum temperature at which freon combustion can form hot ice.
HOT_ICE_FORMATION_MINIMUM_TEMPERATUREThe minimum temperature at which freon combustion can form hot ice.
HOT_ICE_FORMATION_PROBThe chance for hot ice to form when freon reacts on a turf.
N2O_FORMATION_MIN_TEMPERATUREThe minimum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.
N2O_FORMATION_MAX_TEMPERATUREThe maximum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.
N2O_FORMATION_ENERGYThe amount of energy released when a mole of N2O forms from nitrogen and oxygen in the presence of BZ.
N2O_DECOMPOSITION_MIN_TEMPERATUREThe minimum temperature N2O can decompose at.
N2O_DECOMPOSITION_MAX_TEMPERATUREThe maximum temperature N2O can decompose at.
N2O_DECOMPOSITION_RATE_DIVISORThe maximum portion of the N2O that can decompose each reaction tick. (50%)
N2O_DECOMPOSITION_MIN_SCALE_TEMPOne root of the parabola used to scale N2O decomposition rates.
N2O_DECOMPOSITION_MAX_SCALE_TEMPThe other root of the parabola used to scale N2O decomposition rates.
N2O_DECOMPOSITION_SCALE_DIVISORThe divisor used to normalize the N2O decomp scaling parabola. Basically the value of the apex/nadir of (x - N2O_DECOMPOSITION_MIN_SCALE_TEMP) * (x - N2O_DECOMPOSITION_MAX_SCALE_TEMP).
N2O_DECOMPOSITION_ENERGYThe amount of energy released when one mole of N2O decomposes into nitrogen and oxygen.
BZ_FORMATION_MAX_TEMPERATUREThe maximum temperature BZ can form at. Deliberately set lower than the minimum burn temperature for most combustible gases in an attempt to prevent long fuse singlecaps.
BZ_FORMATION_ENERGYThe amount of energy 1 mole of BZ forming from N2O and plasma releases.
PLUOXIUM_FORMATION_MIN_TEMPThe minimum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.
PLUOXIUM_FORMATION_MAX_TEMPThe maximum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.
PLUOXIUM_FORMATION_MAX_RATEThe maximum amount of pluoxium that can form from carbon dioxide, oxygen, and tritium per reaction tick.
PLUOXIUM_FORMATION_ENERGYThe amount of energy one mole of pluoxium forming from carbon dioxide, oxygen, and tritium releases.
NITRIUM_FORMATION_MIN_TEMPThe minimum temperature necessary for nitrium to form from tritium, nitrogen, and BZ.
NITRIUM_FORMATION_TEMP_DIVISORA scaling divisor for the rate of nitrium formation relative to mix temperature.
NITRIUM_FORMATION_ENERGYThe amount of thermal energy consumed when a mole of nitrium is formed from tritium, nitrogen, and BZ.
NITRIUM_DECOMPOSITION_MAX_TEMPThe maximum temperature nitrium can decompose into nitrogen and hydrogen at.
NITRIUM_DECOMPOSITION_TEMP_DIVISORA scaling divisor for the rate of nitrium decomposition relative to mix temperature.
NITRIUM_DECOMPOSITION_ENERGYThe amount of energy released when a mole of nitrium decomposes into nitrogen and hydrogen.
FREON_FORMATION_MIN_TEMPERATUREThe minimum temperature freon can form from plasma, CO2, and BZ at.
FREON_FORMATION_ENERGYThe amount of energy 2.5 moles of freon forming from plasma, CO2, and BZ consumes.
NOBLIUM_FORMATION_MIN_TEMPThe maximum temperature hyper-noblium can form from tritium and nitrogen at.
NOBLIUM_FORMATION_MAX_TEMPThe maximum temperature hyper-noblium can form from tritium and nitrogen at.
NOBLIUM_FORMATION_ENERGYThe amount of energy a single mole of hyper-noblium forming from tritium and nitrogen releases.
REACTION_OPPRESSION_THRESHOLDThe number of moles of hyper-noblium required to prevent reactions.
HALON_FORMATION_MIN_TEMPERATUREThe minimum temperature required for halon to form from tritium and BZ.
HALON_FORMATION_MAX_TEMPERATUREThe maximum temperature required for halon to form from tritium and BZ.
HALON_FORMATION_ENERGYThe amount of energy 4.25 moles of halon forming from tritium and BZ releases.
HALON_COMBUSTION_ENERGYHow much energy a mole of halon combusting consumes.
HEALIUM_FORMATION_MIN_TEMPThe minimum temperature healium can form from BZ and freon at.
HEALIUM_FORMATION_MAX_TEMPThe maximum temperature healium can form from BZ and freon at.
HEALIUM_FORMATION_ENERGYThe amount of energy three moles of healium forming from BZ and freon releases.
ZAUKER_FORMATION_MIN_TEMPERATUREThe minimum temperature zauker can form from hyper-noblium and nitrium at.
ZAUKER_FORMATION_MAX_TEMPERATUREThe maximum temperature zauker can form from hyper-noblium and nitrium at.
ZAUKER_FORMATION_TEMPERATURE_SCALEThe temperature scaling factor for zauker formation. At most this many moles of zauker can form per reaction tick per kelvin.
ZAUKER_FORMATION_ENERGYThe amount of energy half a mole of zauker forming from hypernoblium and nitrium consumes.
ZAUKER_DECOMPOSITION_MAX_RATEThe maximum number of moles of zauker that can decompose per reaction tick.
ZAUKER_DECOMPOSITION_ENERGYThe amount of energy a mole of zauker decomposing in the presence of nitrogen releases.
PN_FORMATION_MIN_TEMPERATUREThe minimum temperature proto-nitrate can form from pluoxium and hydrogen at.
PN_FORMATION_MAX_TEMPERATUREThe maximum temperature proto-nitrate can form from pluoxium and hydrogen at.
PN_FORMATION_TEMPERATURE_SCALEThe temperature scaling factor for proto-nitrate formation. At most this many moles of zauker can form per reaction tick per kelvin.
PN_FORMATION_ENERGYThe amount of energy 2.2 moles of proto-nitrate forming from pluoxium and hydrogen releases.
PN_HYDROGEN_CONVERSION_THRESHOLDThe amount of hydrogen necessary for proto-nitrate to start converting it to more proto-nitrate.
PN_HYDROGEN_CONVERSION_MAX_RATEThe maximum number of moles of hydrogen that can be converted into proto-nitrate in a single reaction tick.
PN_HYDROGEN_CONVERSION_ENERGYThe amount of energy converting a mole of hydrogen into half a mole of proto-nitrate consumes.
PN_TRITIUM_CONVERSION_MIN_TEMPThe minimum temperature proto-nitrate can convert tritium to hydrogen at.
PN_TRITIUM_CONVERSION_MAX_TEMPThe maximum temperature proto-nitrate can convert tritium to hydrogen at.
PN_TRITIUM_CONVERSION_ENERGYThe amount of energy proto-nitrate converting a mole of tritium into hydrogen releases.
PN_TRITIUM_CONVERSION_RAD_RELEASE_THRESHOLDThe minimum released energy necessary for proto-nitrate to release radiation when converting tritium. (With a reaction vessel volume of CELL_VOLUME)
PN_TRITIUM_RAD_RANGE_DIVISORA scaling factor for the range of the radiation pulses generated when proto-nitrate converts tritium to hydrogen.
PN_TRITIUM_RAD_THRESHOLDThe threshold of the radiation pulse released when proto-nitrate converts tritium into hydrogen. Lower values means it will be able to penetrate through more structures.
PN_BZASE_MIN_TEMPThe minimum temperature proto-nitrate can break BZ down at.
PN_BZASE_MAX_TEMPThe maximum temperature proto-nitrate can break BZ down at.
PN_BZASE_ENERGYThe amount of energy proto-nitrate breaking down a mole of BZ releases.
PN_BZASE_RAD_RELEASE_THRESHOLDThe minimum released energy necessary for proto-nitrate to release rads when breaking down BZ (at a mix volume of CELL_VOLUME).
PN_BZASE_RAD_RANGE_DIVISORA scaling factor for the range of the radiation pulses generated when proto-nitrate breaks down BZ.
PN_BZASE_RAD_THRESHOLDThe threshold of the radiation pulse released when proto-nitrate breaks down BZ. Lower values means it will be able to penetrate through more structures.
PN_BZASE_NUCLEAR_PARTICLE_DIVISORA scaling factor for the nuclear particle production generated when proto-nitrate breaks down BZ.
PN_BZASE_NUCLEAR_PARTICLE_MAXIMUMThe maximum amount of nuclear particles that can be produced from proto-nitrate breaking down BZ.
PN_BZASE_NUCLEAR_PARTICLE_RADIATION_ENERGY_CONVERSIONHow much radiation in consumed amount does a nuclear particle take from radiation when proto-nitrate breaks down BZ.

Define Details

+

ATMOS_RADIATION_VOLUME_EXP + + +

+

An exponent used to make large volume gas mixtures significantly less likely to release rads. Used to prevent tritfires in distro from irradiating literally the entire station with no warning.

BZ_FORMATION_ENERGY + + +

+

The amount of energy 1 mole of BZ forming from N2O and plasma releases.

BZ_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature BZ can form at. Deliberately set lower than the minimum burn temperature for most combustible gases in an attempt to prevent long fuse singlecaps.

FIRE_CARBON_ENERGY_RELEASED + + +

+

Amount of heat released per mole of burnt carbon into the tile

FIRE_FREON_ENERGY_CONSUMED + + +

+

The amount of heat absorbed per mole of freon burnt.

FIRE_HYDROGEN_BURN_RATE_DELTA + + +

+

The divisor for the maximum hydrogen burn rate. (1/2 of the hydrogen can burn in one reaction tick.)

FIRE_HYDROGEN_ENERGY_RELEASED + + +

+

The amount of energy released by burning one mole of hydrogen.

FIRE_PLASMA_ENERGY_RELEASED + + +

+

Amount of heat released per mole of burnt plasma into the tile

FIRE_TRITIUM_BURN_RATE_DELTA + + +

+

The divisor for the maximum tritium burn rate. (1/2 of the tritium can burn in one reaction tick.)

FIRE_TRITIUM_ENERGY_RELEASED + + +

+

The amount of energy released by burning one mole of tritium.

FREON_BURN_RATE_DELTA + + +

+

The maximum fraction of the freon in a mix that can combust each reaction tick.

FREON_FORMATION_ENERGY + + +

+

The amount of energy 2.5 moles of freon forming from plasma, CO2, and BZ consumes.

FREON_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature freon can form from plasma, CO2, and BZ at.

FREON_LOWER_TEMPERATURE + + +

+

Minimum temperature allowed for the burn to go at max speed, we would have negative pressure otherwise

FREON_MAXIMUM_BURN_TEMPERATURE + + +

+

The maximum temperature freon can combust at.

FREON_OXYGEN_FULLBURN + + +

+

Multiplier for freonfire with O2 moles * FREON_OXYGEN_FULLBURN for the maximum fuel consumption

FREON_TERMINAL_TEMPERATURE + + +

+

Terminal temperature after wich we stop the reaction

GAS_REACTION_MAXIMUM_RADIATION_PULSE_RANGE + + +

+

Maximum range a radiation pulse is allowed to be from a gas reaction.

HALON_COMBUSTION_ENERGY + + +

+

How much energy a mole of halon combusting consumes.

HALON_FORMATION_ENERGY + + +

+

The amount of energy 4.25 moles of halon forming from tritium and BZ releases.

HALON_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature required for halon to form from tritium and BZ.

HALON_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature required for halon to form from tritium and BZ.

HEALIUM_FORMATION_ENERGY + + +

+

The amount of energy three moles of healium forming from BZ and freon releases.

HEALIUM_FORMATION_MAX_TEMP + + +

+

The maximum temperature healium can form from BZ and freon at.

HEALIUM_FORMATION_MIN_TEMP + + +

+

The minimum temperature healium can form from BZ and freon at.

HOT_ICE_FORMATION_MAXIMUM_TEMPERATURE + + +

+

The maximum temperature at which freon combustion can form hot ice.

HOT_ICE_FORMATION_MINIMUM_TEMPERATURE + + +

+

The minimum temperature at which freon combustion can form hot ice.

HOT_ICE_FORMATION_PROB + + +

+

The chance for hot ice to form when freon reacts on a turf.

HYDROGEN_MINIMUM_BURN_TEMPERATURE + + +

+

The minimum temperature hydrogen combusts at.

HYDROGEN_OXYGEN_FULLBURN + + +

+

Multiplier for hydrogen fire with O2 moles * HYDROGEN_OXYGEN_FULLBURN for the maximum fuel consumption

MIASTER_STERILIZATION_ENERGY + + +

+

The amount of energy released when a mole of miasma is sterilized.

MIASTER_STERILIZATION_MAX_HUMIDITY + + +

+

The maximum ratio of water vapor to other gases miasma can be sterilized at.

MIASTER_STERILIZATION_RATE_BASE + + +

+

The minimum amount of miasma that will be sterilized in a reaction tick.

MIASTER_STERILIZATION_RATE_SCALE + + +

+

The temperature required to sterilize an additional mole of miasma in a reaction tick.

MIASTER_STERILIZATION_TEMP + + +

+

The minimum temperature miasma begins being sterilized at.

N2O_DECOMPOSITION_ENERGY + + +

+

The amount of energy released when one mole of N2O decomposes into nitrogen and oxygen.

N2O_DECOMPOSITION_MAX_SCALE_TEMP + + +

+

The other root of the parabola used to scale N2O decomposition rates.

N2O_DECOMPOSITION_MAX_TEMPERATURE + + +

+

The maximum temperature N2O can decompose at.

N2O_DECOMPOSITION_MIN_SCALE_TEMP + + +

+

One root of the parabola used to scale N2O decomposition rates.

N2O_DECOMPOSITION_MIN_TEMPERATURE + + +

+

The minimum temperature N2O can decompose at.

N2O_DECOMPOSITION_RATE_DIVISOR + + +

+

The maximum portion of the N2O that can decompose each reaction tick. (50%)

N2O_DECOMPOSITION_SCALE_DIVISOR + + +

+

The divisor used to normalize the N2O decomp scaling parabola. Basically the value of the apex/nadir of (x - N2O_DECOMPOSITION_MIN_SCALE_TEMP) * (x - N2O_DECOMPOSITION_MAX_SCALE_TEMP).

N2O_FORMATION_ENERGY + + +

+

The amount of energy released when a mole of N2O forms from nitrogen and oxygen in the presence of BZ.

N2O_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.

N2O_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature N2O can form from nitrogen and oxygen in the presence of BZ at.

NITRIUM_DECOMPOSITION_ENERGY + + +

+

The amount of energy released when a mole of nitrium decomposes into nitrogen and hydrogen.

NITRIUM_DECOMPOSITION_MAX_TEMP + + +

+

The maximum temperature nitrium can decompose into nitrogen and hydrogen at.

NITRIUM_DECOMPOSITION_TEMP_DIVISOR + + +

+

A scaling divisor for the rate of nitrium decomposition relative to mix temperature.

NITRIUM_FORMATION_ENERGY + + +

+

The amount of thermal energy consumed when a mole of nitrium is formed from tritium, nitrogen, and BZ.

NITRIUM_FORMATION_MIN_TEMP + + +

+

The minimum temperature necessary for nitrium to form from tritium, nitrogen, and BZ.

NITRIUM_FORMATION_TEMP_DIVISOR + + +

+

A scaling divisor for the rate of nitrium formation relative to mix temperature.

NOBLIUM_FORMATION_ENERGY + + +

+

The amount of energy a single mole of hyper-noblium forming from tritium and nitrogen releases.

NOBLIUM_FORMATION_MAX_TEMP + + +

+

The maximum temperature hyper-noblium can form from tritium and nitrogen at.

NOBLIUM_FORMATION_MIN_TEMP + + +

+

The maximum temperature hyper-noblium can form from tritium and nitrogen at.

OXYGEN_BURN_RATIO_BASE + + +

+

The maximum and default amount of plasma consumed as oxydizer per mole of plasma burnt.

PLASMA_BURN_RATE_DELTA + + +

+

The divisor for the maximum plasma burn rate. (1/9 of the plasma can burn in one reaction tick.)

PLASMA_MINIMUM_BURN_TEMPERATURE + + +

+

Minimum temperature to burn plasma

PLASMA_OXYGEN_FULLBURN + + +

+

Multiplier for plasmafire with O2 moles * PLASMA_OXYGEN_FULLBURN for the maximum fuel consumption

PLASMA_UPPER_TEMPERATURE + + +

+

Upper temperature ceiling for plasmafire reaction calculations for fuel consumption

PLUOXIUM_FORMATION_ENERGY + + +

+

The amount of energy one mole of pluoxium forming from carbon dioxide, oxygen, and tritium releases.

PLUOXIUM_FORMATION_MAX_RATE + + +

+

The maximum amount of pluoxium that can form from carbon dioxide, oxygen, and tritium per reaction tick.

PLUOXIUM_FORMATION_MAX_TEMP + + +

+

The maximum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.

PLUOXIUM_FORMATION_MIN_TEMP + + +

+

The minimum temperature pluoxium can form from carbon dioxide, oxygen, and tritium at.

PN_BZASE_ENERGY + + +

+

The amount of energy proto-nitrate breaking down a mole of BZ releases.

PN_BZASE_MAX_TEMP + + +

+

The maximum temperature proto-nitrate can break BZ down at.

PN_BZASE_MIN_TEMP + + +

+

The minimum temperature proto-nitrate can break BZ down at.

PN_BZASE_NUCLEAR_PARTICLE_DIVISOR + + +

+

A scaling factor for the nuclear particle production generated when proto-nitrate breaks down BZ.

PN_BZASE_NUCLEAR_PARTICLE_MAXIMUM + + +

+

The maximum amount of nuclear particles that can be produced from proto-nitrate breaking down BZ.

PN_BZASE_NUCLEAR_PARTICLE_RADIATION_ENERGY_CONVERSION + + +

+

How much radiation in consumed amount does a nuclear particle take from radiation when proto-nitrate breaks down BZ.

PN_BZASE_RAD_RANGE_DIVISOR + + +

+

A scaling factor for the range of the radiation pulses generated when proto-nitrate breaks down BZ.

PN_BZASE_RAD_RELEASE_THRESHOLD + + +

+

The minimum released energy necessary for proto-nitrate to release rads when breaking down BZ (at a mix volume of CELL_VOLUME).

PN_BZASE_RAD_THRESHOLD + + +

+

The threshold of the radiation pulse released when proto-nitrate breaks down BZ. Lower values means it will be able to penetrate through more structures.

PN_FORMATION_ENERGY + + +

+

The amount of energy 2.2 moles of proto-nitrate forming from pluoxium and hydrogen releases.

PN_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature proto-nitrate can form from pluoxium and hydrogen at.

PN_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature proto-nitrate can form from pluoxium and hydrogen at.

PN_FORMATION_TEMPERATURE_SCALE + + +

+

The temperature scaling factor for proto-nitrate formation. At most this many moles of zauker can form per reaction tick per kelvin.

PN_HYDROGEN_CONVERSION_ENERGY + + +

+

The amount of energy converting a mole of hydrogen into half a mole of proto-nitrate consumes.

PN_HYDROGEN_CONVERSION_MAX_RATE + + +

+

The maximum number of moles of hydrogen that can be converted into proto-nitrate in a single reaction tick.

PN_HYDROGEN_CONVERSION_THRESHOLD + + +

+

The amount of hydrogen necessary for proto-nitrate to start converting it to more proto-nitrate.

PN_TRITIUM_CONVERSION_ENERGY + + +

+

The amount of energy proto-nitrate converting a mole of tritium into hydrogen releases.

PN_TRITIUM_CONVERSION_MAX_TEMP + + +

+

The maximum temperature proto-nitrate can convert tritium to hydrogen at.

PN_TRITIUM_CONVERSION_MIN_TEMP + + +

+

The minimum temperature proto-nitrate can convert tritium to hydrogen at.

PN_TRITIUM_CONVERSION_RAD_RELEASE_THRESHOLD + + +

+

The minimum released energy necessary for proto-nitrate to release radiation when converting tritium. (With a reaction vessel volume of CELL_VOLUME)

PN_TRITIUM_RAD_RANGE_DIVISOR + + +

+

A scaling factor for the range of the radiation pulses generated when proto-nitrate converts tritium to hydrogen.

PN_TRITIUM_RAD_THRESHOLD + + +

+

The threshold of the radiation pulse released when proto-nitrate converts tritium into hydrogen. Lower values means it will be able to penetrate through more structures.

PRIORITY_FIRE + + +

+

The priority used to indicate that a reactions should run after all other types of reactions. Exclusively used for combustion reactions that produce fire or are freon.

PRIORITY_FORMATION + + +

+

The priority used for reactions that produce a useful or more advanced product. Goes after purgative reactions so that the purgers can be slightly more useful.

PRIORITY_POST_FORMATION + + +

+

The priority used for indicate that a reactions should run immediately before most forms of combustion. Used by two decomposition reactions and steam condensation.

PRIORITY_PRE_FORMATION + + +

+

The prority used to indicate that a reaction should run immediately at the start of a reaction cycle. Currently used by a jumble of decomposition reactions and purgative reactions.

REACTION_OPPRESSION_THRESHOLD + + +

+

The number of moles of hyper-noblium required to prevent reactions.

SUPER_SATURATION_THRESHOLD + + +

+

The minimum ratio of oxygen to plasma necessary to start producing tritium.

TRITIUM_MINIMUM_BURN_TEMPERATURE + + +

+

The minimum temperature tritium combusts at.

TRITIUM_OXYGEN_FULLBURN + + +

+

Multiplier for TRITIUM fire with O2 moles * TRITIUM_OXYGEN_FULLBURN for the maximum fuel consumption

TRITIUM_RADIATION_MINIMUM_MOLES + + +

+

The minimum number of moles of trit that must be burnt for a tritium fire reaction to produce a radiation pulse. (0.01 moles trit or 10 moles oxygen to start producing rads.)

TRITIUM_RADIATION_RANGE_DIVISOR + + +

+

A scaling factor for the range of radiation pulses produced by tritium fires.

TRITIUM_RADIATION_RELEASE_THRESHOLD + + +

+

The minimum released energy necessary for tritium to release radiation during combustion. (at a mix volume of CELL_VOLUME).

TRITIUM_RADIATION_THRESHOLD + + +

+

The threshold of the tritium combustion's radiation. Lower values means it will be able to penetrate through more structures.

WATER_VAPOR_CONDENSATION_POINT + + +

+

The temperature required for water vapor to condense.

WATER_VAPOR_DEPOSITION_POINT + + +

+

The temperature required for water vapor to condense as ice instead of water.

ZAUKER_DECOMPOSITION_ENERGY + + +

+

The amount of energy a mole of zauker decomposing in the presence of nitrogen releases.

ZAUKER_DECOMPOSITION_MAX_RATE + + +

+

The maximum number of moles of zauker that can decompose per reaction tick.

ZAUKER_FORMATION_ENERGY + + +

+

The amount of energy half a mole of zauker forming from hypernoblium and nitrium consumes.

ZAUKER_FORMATION_MAX_TEMPERATURE + + +

+

The maximum temperature zauker can form from hyper-noblium and nitrium at.

ZAUKER_FORMATION_MIN_TEMPERATURE + + +

+

The minimum temperature zauker can form from hyper-noblium and nitrium at.

ZAUKER_FORMATION_TEMPERATURE_SCALE + + +

+

The temperature scaling factor for zauker formation. At most this many moles of zauker can form per reaction tick per kelvin.

+ + + diff --git a/code/__DEFINES/reagents.html b/code/__DEFINES/reagents.html new file mode 100644 index 00000000000..9d3980f033e --- /dev/null +++ b/code/__DEFINES/reagents.html @@ -0,0 +1,407 @@ + + + + + + + code/__DEFINES/reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/reagents.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
REAGENT_HOLDER_ALIVEIf the holder is "alive" (i.e. mobs and organs) - If this flag is applied to a holder it will cause reagents to split upon addition to the object
SEALED_CONTAINERIf the holder a sealed container - Used if you don't want reagent contents boiling out (plasma, specifically, in which case it only bursts out when at ignition temperatures)
TOUCHUsed for splashing.
INGESTUsed for ingesting the reagents. Food, drinks, inhaling smoke.
VAPORUsed by foams, sprays, and blob attacks.
PATCHUsed by medical patches and gels.
INJECTUsed for direct injection of reagents.
UPDATE_MOB_HEALTHWhen returned by on_mob_life(), on_mob_dead(), overdose_start() or overdose_processed(), will cause the mob to updatehealth() afterwards
UNHUSK_DAMAGE_THRESHOLDHealth threshold for synthflesh and rezadone to unhusk someone
SYNTHFLESH_UNHUSK_AMOUNTAmount of synthflesh required to unhusk someone
CHEMICAL_QUANTISATION_LEVELThe minimum volume of reagents than can be operated on.
CHEMICAL_VOLUME_ROUNDINGSanity check limit to clamp chems to sane amounts and prevent rounding errors during transfer.
CHEMICAL_NORMAL_PHDefault pH for reagents datum
CHEMICAL_MIN_PHMinimum pH attainable by a solution
CHEMICAL_MAX_PHMaximum pH attainable by a solution
BUFFER_IONIZING_STRENGTHIonizing strength of strong acidic/basic buffer (volume/holder.total_volume)*strength. So for 1u added to 50u the ph will change by 0.4
CHEMICAL_MAXIMUM_TEMPERATUREThe maximum temperature a reagent holder can attain
REAGENT_STANDARD_PURITYThe default purity of all non reacted reagents
DEFAULT_REAGENT_TEMPERATUREthe default temperature at which chemicals are added to reagent holders at
REAGENT_DEAD_PROCESSallows on_mob_dead() if present in a dead body
REAGENT_DONOTSPLITDo not split the chem at all during processing - ignores all purity effects
REAGENT_INVISIBLEDoesn't appear on handheld health analyzers.
REAGENT_SNEAKYNAMEWhen inverted, the inverted chem uses the name of the original chem
REAGENT_SPLITRETAINVOLRetains initial volume of chem when splitting for purity effects
REAGENT_CAN_BE_SYNTHESIZEDLets a given reagent be synthesized important for random reagents and things like the odysseus syringe gun(Replaces the old can_synth variable)
REAGENT_IGNORE_STASISAllows a reagent to work on a mob regardless of stasis
REAGENT_NO_RANDOM_RECIPEThis reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get.
REAGENT_CLEANSDoes this reagent clean things?
REAGENT_AFFECTS_WOUNDSDoes this reagent affect wounds? Used to check if some procs should be ran.
REAGENT_REVERSE_METABOLISMIf present, when metabolizing out of a mob, we divide by the mob's metabolism rather than multiply. +Without this flag: Higher metabolism means the reagent exits the system faster. +With this flag: Higher metabolism means the reagent exits the system slower.
REAGENT_UNAFFECTED_BY_METABOLISMIf present, this reagent will not be affected by the mob's metabolism at all, meaning it exits at a fixed rate for all mobs. +Supercedes REAGENT_REVERSE_METABOLISM.
REACTION_CLEAR_IMPUREConvert into impure/pure on reaction completion
REACTION_CLEAR_INVERSEConvert into inverse on reaction completion when purity is low enough
REACTION_CLEAR_RETAINClear converted chems retain their purities/inverted purities. Requires 1 or both of the above.
REACTION_INSTANTUsed to create instant reactions
REACTION_HEAT_ARBITARYUsed to force reactions to create a specific amount of heat per 1u created. So if thermic_constant = 5, for 1u of reagent produced, the heat will be forced up arbitarily by 5 irresepective of other reagents. If you use this, keep in mind standard thermic_constant values are 100x what it should be with this enabled.
REACTION_COMPETITIVEUsed to bypass the chem_master transfer block (This is needed for competitive reactions unless you have an end state programmed). More stuff might be added later. When defining this, please add in the comments the associated reactions that it competes with
REACTION_PH_VOL_CONSTANTUsed to force pH changes to be constant regardless of volume
REACTION_REAL_TIME_SPLITIf a reaction will generate it's impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion
NO_OVERHEATUsed for overheat_temp - This sets the overheat so high it effectively has no overheat temperature.
END_REACTIONUsed to force an equlibrium to end a reaction in reaction_step() (i.e. in a reaction_step() proc return END_REACTION to end it)
MIN_ADDICTION_REAGENT_AMOUNTMinimum requirement for addiction buzz to be met. Addiction code only checks this once every two seconds, so this should generally be low
MIN_NICOTINE_ADDICTION_REAGENT_AMOUNTNicotine requires much less in your system to be happy
WITHDRAWAL_STAGE1_START_CYCLEAddiction start/ends
REACTION_TAG_BRUTEreagent tags - used to look up reagents for specific effects. Feel free to add to but comment it +This reagent does brute effects (BOTH damaging and healing)
REACTION_TAG_BURNThis reagent does burn effects (BOTH damaging and healing)
REACTION_TAG_TOXINThis reagent does toxin effects (BOTH damaging and healing)
REACTION_TAG_OXYThis reagent does oxy effects (BOTH damaging and healing)
REACTION_TAG_HEALINGThis reagent primarily heals, or it's supposed to be used for healing (in the case of c2 - they are healing)
REACTION_TAG_DAMAGINGThis reagent primarily damages
REACTION_TAG_EXPLOSIVEThis reagent explodes as a part of it's intended effect (i.e. not overheated/impure)
REACTION_TAG_OTHERThis reagent does things that are unique and special
REACTION_TAG_DANGEROUSThis reagent's reaction is dangerous to create (i.e. explodes if you fail it)
REACTION_TAG_EASYThis reagent's reaction is easy
REACTION_TAG_MODERATEThis reagent's reaction is difficult/involved
REACTION_TAG_HARDThis reagent's reaction is hard
REACTION_TAG_ORGANThis reagent affects organs
REACTION_TAG_DRINKThis reaction creates a drink reagent
REACTION_TAG_FOODThis reaction has something to do with food
REACTION_TAG_SLIMEThis reaction is a slime reaction
REACTION_TAG_DRUGThis reaction is a drug reaction
REACTION_TAG_UNIQUEThis reaction is a unique reaction
REACTION_TAG_CHEMICALThis reaction is produces a product that affects reactions
REACTION_TAG_PLANTThis reaction is produces a product that affects plants
REACTION_TAG_COMPETITIVEThis reaction is produces a product that affects plants
REAGENT_STRICT_TYPEDirect type
REAGENT_PARENT_TYPEParent type but not sub types for e.g. if param is obj/item it will look for obj/item/stack but not obj/item/stack/sheet
REAGENT_SUB_TYPEsame as istype() check
ENABLE_FLASHINGBelow are defines used for reagent associated machines only +For the pH meter flashing method
ALCOHOL_RATEThe rate at which alcohol affects the drinker
WATER_MATTERSTATE_CHANGE_TEMPThis is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid
GRENADE_EMPTYGrenade is empty
GRENADE_WIREDGrenade has a activation trigger
GRENADE_READYGrenade is ready to be finished

Define Details

+

ALCOHOL_RATE + + +

+

The rate at which alcohol affects the drinker

BUFFER_IONIZING_STRENGTH + + +

+

Ionizing strength of strong acidic/basic buffer (volume/holder.total_volume)*strength. So for 1u added to 50u the ph will change by 0.4

CHEMICAL_MAXIMUM_TEMPERATURE + + +

+

The maximum temperature a reagent holder can attain

CHEMICAL_MAX_PH + + +

+

Maximum pH attainable by a solution

CHEMICAL_MIN_PH + + +

+

Minimum pH attainable by a solution

CHEMICAL_NORMAL_PH + + +

+

Default pH for reagents datum

CHEMICAL_QUANTISATION_LEVEL + + +

+

The minimum volume of reagents than can be operated on.

CHEMICAL_VOLUME_ROUNDING + + +

+

Sanity check limit to clamp chems to sane amounts and prevent rounding errors during transfer.

DEFAULT_REAGENT_TEMPERATURE + + +

+

the default temperature at which chemicals are added to reagent holders at

ENABLE_FLASHING + + +

+

Below are defines used for reagent associated machines only +For the pH meter flashing method

END_REACTION + + +

+

Used to force an equlibrium to end a reaction in reaction_step() (i.e. in a reaction_step() proc return END_REACTION to end it)

GRENADE_EMPTY + + +

+

Grenade is empty

GRENADE_READY + + +

+

Grenade is ready to be finished

GRENADE_WIRED + + +

+

Grenade has a activation trigger

INGEST + + +

+

Used for ingesting the reagents. Food, drinks, inhaling smoke.

INJECT + + +

+

Used for direct injection of reagents.

MIN_ADDICTION_REAGENT_AMOUNT + + +

+

Minimum requirement for addiction buzz to be met. Addiction code only checks this once every two seconds, so this should generally be low

MIN_NICOTINE_ADDICTION_REAGENT_AMOUNT + + +

+

Nicotine requires much less in your system to be happy

NO_OVERHEAT + + +

+

Used for overheat_temp - This sets the overheat so high it effectively has no overheat temperature.

PATCH + + +

+

Used by medical patches and gels.

REACTION_CLEAR_IMPURE + + +

+

Convert into impure/pure on reaction completion

REACTION_CLEAR_INVERSE + + +

+

Convert into inverse on reaction completion when purity is low enough

REACTION_CLEAR_RETAIN + + +

+

Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above.

REACTION_COMPETITIVE + + +

+

Used to bypass the chem_master transfer block (This is needed for competitive reactions unless you have an end state programmed). More stuff might be added later. When defining this, please add in the comments the associated reactions that it competes with

REACTION_HEAT_ARBITARY + + +

+

Used to force reactions to create a specific amount of heat per 1u created. So if thermic_constant = 5, for 1u of reagent produced, the heat will be forced up arbitarily by 5 irresepective of other reagents. If you use this, keep in mind standard thermic_constant values are 100x what it should be with this enabled.

REACTION_INSTANT + + +

+

Used to create instant reactions

REACTION_PH_VOL_CONSTANT + + +

+

Used to force pH changes to be constant regardless of volume

REACTION_REAL_TIME_SPLIT + + +

+

If a reaction will generate it's impure/inverse reagents in the middle of a reaction, as apposed to being determined on ingestion/on reaction completion

REACTION_TAG_BRUTE + + +

+

reagent tags - used to look up reagents for specific effects. Feel free to add to but comment it +This reagent does brute effects (BOTH damaging and healing)

REACTION_TAG_BURN + + +

+

This reagent does burn effects (BOTH damaging and healing)

REACTION_TAG_CHEMICAL + + +

+

This reaction is produces a product that affects reactions

REACTION_TAG_COMPETITIVE + + +

+

This reaction is produces a product that affects plants

REACTION_TAG_DAMAGING + + +

+

This reagent primarily damages

REACTION_TAG_DANGEROUS + + +

+

This reagent's reaction is dangerous to create (i.e. explodes if you fail it)

REACTION_TAG_DRINK + + +

+

This reaction creates a drink reagent

REACTION_TAG_DRUG + + +

+

This reaction is a drug reaction

REACTION_TAG_EASY + + +

+

This reagent's reaction is easy

REACTION_TAG_EXPLOSIVE + + +

+

This reagent explodes as a part of it's intended effect (i.e. not overheated/impure)

REACTION_TAG_FOOD + + +

+

This reaction has something to do with food

REACTION_TAG_HARD + + +

+

This reagent's reaction is hard

REACTION_TAG_HEALING + + +

+

This reagent primarily heals, or it's supposed to be used for healing (in the case of c2 - they are healing)

REACTION_TAG_MODERATE + + +

+

This reagent's reaction is difficult/involved

REACTION_TAG_ORGAN + + +

+

This reagent affects organs

REACTION_TAG_OTHER + + +

+

This reagent does things that are unique and special

REACTION_TAG_OXY + + +

+

This reagent does oxy effects (BOTH damaging and healing)

REACTION_TAG_PLANT + + +

+

This reaction is produces a product that affects plants

REACTION_TAG_SLIME + + +

+

This reaction is a slime reaction

REACTION_TAG_TOXIN + + +

+

This reagent does toxin effects (BOTH damaging and healing)

REACTION_TAG_UNIQUE + + +

+

This reaction is a unique reaction

REAGENT_AFFECTS_WOUNDS + + +

+

Does this reagent affect wounds? Used to check if some procs should be ran.

REAGENT_CAN_BE_SYNTHESIZED + + +

+

Lets a given reagent be synthesized important for random reagents and things like the odysseus syringe gun(Replaces the old can_synth variable)

REAGENT_CLEANS + + +

+

Does this reagent clean things?

REAGENT_DEAD_PROCESS + + +

+

allows on_mob_dead() if present in a dead body

REAGENT_DONOTSPLIT + + +

+

Do not split the chem at all during processing - ignores all purity effects

REAGENT_HOLDER_ALIVE + + +

+

If the holder is "alive" (i.e. mobs and organs) - If this flag is applied to a holder it will cause reagents to split upon addition to the object

REAGENT_IGNORE_STASIS + + +

+

Allows a reagent to work on a mob regardless of stasis

REAGENT_INVISIBLE + + +

+

Doesn't appear on handheld health analyzers.

REAGENT_NO_RANDOM_RECIPE + + +

+

This reagent won't be used in most randomized recipes. Meant for reagents that could be synthetized but are normally inaccessible or TOO hard to get.

REAGENT_PARENT_TYPE + + +

+

Parent type but not sub types for e.g. if param is obj/item it will look for obj/item/stack but not obj/item/stack/sheet

REAGENT_REVERSE_METABOLISM + + +

+

If present, when metabolizing out of a mob, we divide by the mob's metabolism rather than multiply. +Without this flag: Higher metabolism means the reagent exits the system faster. +With this flag: Higher metabolism means the reagent exits the system slower.

REAGENT_SNEAKYNAME + + +

+

When inverted, the inverted chem uses the name of the original chem

REAGENT_SPLITRETAINVOL + + +

+

Retains initial volume of chem when splitting for purity effects

REAGENT_STANDARD_PURITY + + +

+

The default purity of all non reacted reagents

REAGENT_STRICT_TYPE + + +

+

Direct type

REAGENT_SUB_TYPE + + +

+

same as istype() check

REAGENT_UNAFFECTED_BY_METABOLISM + + +

+

If present, this reagent will not be affected by the mob's metabolism at all, meaning it exits at a fixed rate for all mobs. +Supercedes REAGENT_REVERSE_METABOLISM.

SEALED_CONTAINER + + +

+

If the holder a sealed container - Used if you don't want reagent contents boiling out (plasma, specifically, in which case it only bursts out when at ignition temperatures)

SYNTHFLESH_UNHUSK_AMOUNT + + +

+

Amount of synthflesh required to unhusk someone

TOUCH + + +

+

Used for splashing.

UNHUSK_DAMAGE_THRESHOLD + + +

+

Health threshold for synthflesh and rezadone to unhusk someone

UPDATE_MOB_HEALTH + + +

+

When returned by on_mob_life(), on_mob_dead(), overdose_start() or overdose_processed(), will cause the mob to updatehealth() afterwards

VAPOR + + +

+

Used by foams, sprays, and blob attacks.

WATER_MATTERSTATE_CHANGE_TEMP + + +

+

This is the center of a 1 degree deadband in which water will neither freeze to ice nor melt to liquid

WITHDRAWAL_STAGE1_START_CYCLE + + +

+

Addiction start/ends

+ + + diff --git a/code/__DEFINES/regex.html b/code/__DEFINES/regex.html new file mode 100644 index 00000000000..1b759117a72 --- /dev/null +++ b/code/__DEFINES/regex.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/regex.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/regex.dm + +

+ + +
REGEX_REPLACE_HANDLERUse this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides

Define Details

+

REGEX_REPLACE_HANDLER + + +

+

Use this for every proc passed in as second argument in regex.Replace. regex.Replace does not allow calling procs by name but as of 515 using proc refs will always call the top level proc instead of overrides

+ + + diff --git a/code/__DEFINES/religion.html b/code/__DEFINES/religion.html new file mode 100644 index 00000000000..ca6649fc0bd --- /dev/null +++ b/code/__DEFINES/religion.html @@ -0,0 +1,109 @@ + + + + + + + code/__DEFINES/religion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/religion.dm + +

+ + + + + + + + + + + + + + + + + +
HOLY_ROLE_DEACONrole below priests, for losing most powers of priests but still being holy.
HOLY_ROLE_PRIESTdefault priestly role
HOLY_ROLE_HIGHPRIESTthe one who designates the religion
FESTIVAL_SONG_LONG_ENOUGHhow many lines multiplied by tempo should at least be higher than this. Makes people have to choose a long enough song to get the final effect.
DEFAULT_SMACK_CHANCEthe probability, when not overridden by sects, for a bible's bless effect to trigger on a smack
CONDITION_CEREMONIAL_ONLYcan only use the ritual weapons the sparring chaplain makes.
CONDITION_MELEE_ONLYmelee weapon condition, default sparring condition.
CONDITION_ANY_WEAPONany weapon is cool... probably a terrible idea against security
STAKES_NONEmust use weapons the chaplain makes from their sect. no fist fighting, even! it ensures a fair fight. +just for fun
STAKES_HOLY_MATCHstandard stakes, winning gets you a point. losing counts towards standard excommunication.
STAKES_MONEY_MATCHno stakes god wise, but whomever wins gets all the money of the other
STAKES_YOUR_SOULthe winner gets the other's soul. you said this was a neutral sect, right?
CONTRACT_LEFT_FIELDthe left signing part of the contract
PUNISHMENT_OMENcurses the sinner
PUNISHMENT_LIGHTNINGsmites the sinner
PUNISHMENT_BRANDbrands the sinner

Define Details

+

CONDITION_ANY_WEAPON + + +

+

any weapon is cool... probably a terrible idea against security

CONDITION_CEREMONIAL_ONLY + + +

+

can only use the ritual weapons the sparring chaplain makes.

CONDITION_MELEE_ONLY + + +

+

melee weapon condition, default sparring condition.

CONTRACT_LEFT_FIELD + + +

+

the left signing part of the contract

DEFAULT_SMACK_CHANCE + + +

+

the probability, when not overridden by sects, for a bible's bless effect to trigger on a smack

FESTIVAL_SONG_LONG_ENOUGH + + +

+

how many lines multiplied by tempo should at least be higher than this. Makes people have to choose a long enough song to get the final effect.

HOLY_ROLE_DEACON + + +

+

role below priests, for losing most powers of priests but still being holy.

HOLY_ROLE_HIGHPRIEST + + +

+

the one who designates the religion

HOLY_ROLE_PRIEST + + +

+

default priestly role

PUNISHMENT_BRAND + + +

+

brands the sinner

PUNISHMENT_LIGHTNING + + +

+

smites the sinner

PUNISHMENT_OMEN + + +

+

curses the sinner

STAKES_HOLY_MATCH + + +

+

standard stakes, winning gets you a point. losing counts towards standard excommunication.

STAKES_MONEY_MATCH + + +

+

no stakes god wise, but whomever wins gets all the money of the other

STAKES_NONE + + +

+

must use weapons the chaplain makes from their sect. no fist fighting, even! it ensures a fair fight. +just for fun

STAKES_YOUR_SOUL + + +

+

the winner gets the other's soul. you said this was a neutral sect, right?

+ + + diff --git a/code/__DEFINES/research.html b/code/__DEFINES/research.html new file mode 100644 index 00000000000..f207b5de501 --- /dev/null +++ b/code/__DEFINES/research.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/research.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research.dm + +

+ + + + + + +
DESIGN_ID_IGNOREFor instances where we don't want a design showing up due to it being for debug/sanity purposes

Techweb names for new point types. Can be used to define specific point values for specific types of research (science, security, engineering, etc.)

+

Associative names for techweb point values, see: [all_nodes][code/modules/research/techweb/all_nodes.dm]

+

Amount of points gained per second by a single R&D server, see: [research][code/controllers/subsystem/research.dm]

+

Swab cell line types

+

Biopsy cell line types

+

All cell virus types

+

General defines for vatgrowing

VATGROWING_DANGER_MINIMUMPast how much growth can the other cell_lines affect a finished cell line negatively
SCIPAPER_GAIN_TO_MONEYHow much money is one point of gain worth.
CONNECT_TO_RND_SERVER_ROUNDSTARTConnects the 'server_var' to a valid research server on your Z level. +Used for machines in LateInitialize, to ensure that RND servers are loaded first.

Define Details

+

CONNECT_TO_RND_SERVER_ROUNDSTART + + + +

+

Connects the 'server_var' to a valid research server on your Z level. +Used for machines in LateInitialize, to ensure that RND servers are loaded first.

DESIGN_ID_IGNORE + + +

+

For instances where we don't want a design showing up due to it being for debug/sanity purposes

SCIPAPER_GAIN_TO_MONEY + + +

+

How much money is one point of gain worth.

VATGROWING_DANGER_MINIMUM + + +

+

Past how much growth can the other cell_lines affect a finished cell line negatively

+ + + diff --git a/code/__DEFINES/research/anomalies.html b/code/__DEFINES/research/anomalies.html new file mode 100644 index 00000000000..d19557d7d89 --- /dev/null +++ b/code/__DEFINES/research/anomalies.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/research/anomalies.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research/anomalies.dm + +

+ + + +
FLUX_NO_EXPLOSIONDefines for the different types of explosion a flux anomaly can have
ANOMALY_MOVECHANCEChance of anomalies moving every process tick

Define Details

+

ANOMALY_MOVECHANCE + + +

+

Chance of anomalies moving every process tick

FLUX_NO_EXPLOSION + + +

+

Defines for the different types of explosion a flux anomaly can have

+ + + diff --git a/code/__DEFINES/research/research_categories.html b/code/__DEFINES/research/research_categories.html new file mode 100644 index 00000000000..0a23d813073 --- /dev/null +++ b/code/__DEFINES/research/research_categories.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/research/research_categories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/research/research_categories.dm + +

+ + +
RND_CATEGORY_BIO_FOODBiogenerator Categories

Define Details

+

RND_CATEGORY_BIO_FOOD + + +

+

Biogenerator Categories

+ + + diff --git a/code/__DEFINES/revolution.html b/code/__DEFINES/revolution.html new file mode 100644 index 00000000000..8b01abcb0b3 --- /dev/null +++ b/code/__DEFINES/revolution.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/revolution.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/revolution.dm + +

+ + + + + + +
DECONVERTER_STATION_WINRev deconverted because the station won.
DECONVERTER_BORGEDRev deconverted via borging.
HEAD_UPDATE_PERIODHow often to check for promoting up new revheads.
REVOLUTION_VICTORYRevs won the revolution.
STATION_VICTORYThe heads of staff beat the revolution.

Define Details

+

DECONVERTER_BORGED + + +

+

Rev deconverted via borging.

DECONVERTER_STATION_WIN + + +

+

Rev deconverted because the station won.

HEAD_UPDATE_PERIOD + + +

+

How often to check for promoting up new revheads.

REVOLUTION_VICTORY + + +

+

Revs won the revolution.

STATION_VICTORY + + +

+

The heads of staff beat the revolution.

+ + + diff --git a/code/__DEFINES/robots.html b/code/__DEFINES/robots.html new file mode 100644 index 00000000000..2c621ccb9b4 --- /dev/null +++ b/code/__DEFINES/robots.html @@ -0,0 +1,388 @@ + + + + + + + code/__DEFINES/robots.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/robots.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AI_NOTIFICATION_NEW_BORGAlert when a new Cyborg is created.
AI_NOTIFICATION_NEW_MODELAlert when a Cyborg selects a model.
AI_NOTIFICATION_CYBORG_RENAMEDAlert when a Cyborg changes their name.
AI_NOTIFICATION_AI_SHELLAlert when an AI disconnects themselves from their shell.
AI_NOTIFICATION_CYBORG_DISCONNECTEDAlert when a Cyborg gets disconnected from their AI.
AI_TRANS_TO_CARDDownloading AI to InteliCard
AI_TRANS_FROM_CARDUploading AI from InteliCard
AI_MECH_HACKMalfunctioning AI hijacking mecha
CYBORG_THROW_SLOWDOWN_THRESHOLDIf an item does this or more throwing damage it will slow a borg down on hit
BORG_LAMP_CD_RESETSpecial value to reset cyborg's lamp_cooldown
BORG_MODULE_THREE_DISABLEDThe third module slots is disabed.
BORG_MODULE_TWO_DISABLEDThe second module slots is disabed.
BORG_MODULE_ALL_DISABLEDAll modules slots are disabled.
BORG_CHOOSE_MODULE_ONEFirst Borg module slot.
BORG_CHOOSE_MODULE_TWOSecond Borg module slot.
BORG_CHOOSE_MODULE_THREEThird Borg module slot.
ASSEMBLY_FIRST_STEPSimple Animal BOT defines
BOT_STEP_DELAYDelay between movemements
BOT_STEP_MAX_RETRIESMaximum times a bot will retry to step from its position
DEFAULT_SCAN_RANGEDefault view range for finding targets.
BOT_MODE_ONThe Bot is currently active, and will do whatever it is programmed to do.
BOT_MODE_AUTOPATROLThe Bot is currently set to automatically patrol the station.
BOT_MODE_REMOTE_ENABLEDThe Bot is currently allowed to be remote controlled by Silicon.
BOT_MODE_CAN_BE_SAPIENTThe Bot is allowed to have a ghost placed in control of it.
BOT_MODE_ROUNDSTART_POSSESSIONThe Bot is allowed to be possessed if it is present on mapload.
BOT_COVER_OPENThe Bot's cover is open and can be modified/emagged by anyone.
BOT_COVER_LOCKEDThe Bot's cover is locked, and cannot be opened without unlocking it.
BOT_COVER_EMAGGEDThe Bot is emagged.
BOT_COVER_HACKEDThe Bot has been hacked by a Silicon, emagging them, but revertable.
BOT_MAINTS_PANEL_OPENis our maintenancle panel currently open
BOT_CONTROL_PANEL_OPENis our control panel currently open
/datum/bitfield/bot_access_flagsbitfield for our access flags
SEC_BOTSecutritrons (Beepsky)
ADVANCED_SEC_BOTED-209s
MULE_BOTMULEbots
FLOOR_BOTFloorbots
CLEAN_BOTCleanbots
MED_BOTMedibots
HONK_BOTHonkbots & ED-Honks
FIRE_BOTFirebots
HYGIENE_BOTHygienebots
VIBE_BOTVibe bots
BOT_IDLEIdle
BOT_HUNTFound target, hunting
BOT_START_PATROLStart patrol
BOT_PATROLPatrolling
BOT_SUMMONSummoned to a location
BOT_RESPONDINGResponding to a call from the AI
BOT_MOVINGCurrently moving
BOT_PREP_ARRESTSecbot - At target, preparing to arrest
BOT_ARRESTSecbot - Arresting target
BOT_CLEANINGCleanbot - Cleaning
BOT_SHOWERSTANCEHygienebot - Cleaning unhygienic humans
BOT_REPAIRINGFloorbots - Repairing hull breaches
BOT_HEALINGMedibots - Healing people
BOT_DELIVERMULEbot - Moving to deliver
BOT_GO_HOMEMULEbot - Returning to home
BOT_BLOCKEDMULEbot - Blocked
BOT_NAVMULEbot - Computing navigation
BOT_WAIT_FOR_NAVMULEbot - Waiting for nav computation
BOT_NO_ROUTEMULEbot - No destination beacon found (or no route)
THREAT_ASSESS_DANGEROUSAbove this level of assessed threat, Beepsky will attack you
THREAT_ASSESS_MAXIMUMAbove this level of assessed threat, you are extremely threatening
SECBOT_DECLARE_ARRESTSWhether arrests should be broadcasted over the Security radio
SECBOT_CHECK_IDSWill arrest people who lack an ID card
SECBOT_CHECK_WEAPONSWill check for weapons, taking Weapons access into account
SECBOT_CHECK_RECORDSWill check Security record on whether to arrest
SECBOT_HANDCUFF_TARGETWhether we will stun & cuff or endlessly stun
MEDBOT_DECLARE_CRITWhether to declare if someone (we are healing) is in critical condition
MEDBOT_STATIONARY_MODEIf the bot will stand still, only healing those next to it.
MEDBOT_SPEAK_MODEWhether the bot will randomly speak from time to time. This will not actually prevent all speech.
MEDBOT_TIPPED_MODEis the bot currently tipped over?
HEAL_ALL_DAMAGEcan we heal all damage?

Define Details

+

ADVANCED_SEC_BOT + + +

+

ED-209s

AI_MECH_HACK + + +

+

Malfunctioning AI hijacking mecha

AI_NOTIFICATION_AI_SHELL + + +

+

Alert when an AI disconnects themselves from their shell.

AI_NOTIFICATION_CYBORG_DISCONNECTED + + +

+

Alert when a Cyborg gets disconnected from their AI.

AI_NOTIFICATION_CYBORG_RENAMED + + +

+

Alert when a Cyborg changes their name.

AI_NOTIFICATION_NEW_BORG + + +

+

Alert when a new Cyborg is created.

AI_NOTIFICATION_NEW_MODEL + + +

+

Alert when a Cyborg selects a model.

AI_TRANS_FROM_CARD + + +

+

Uploading AI from InteliCard

AI_TRANS_TO_CARD + + +

+

Downloading AI to InteliCard

ASSEMBLY_FIRST_STEP + + +

+

Simple Animal BOT defines

BORG_CHOOSE_MODULE_ONE + + +

+

First Borg module slot.

BORG_CHOOSE_MODULE_THREE + + +

+

Third Borg module slot.

BORG_CHOOSE_MODULE_TWO + + +

+

Second Borg module slot.

BORG_LAMP_CD_RESET + + +

+

Special value to reset cyborg's lamp_cooldown

BORG_MODULE_ALL_DISABLED + + +

+

All modules slots are disabled.

BORG_MODULE_THREE_DISABLED + + +

+

The third module slots is disabed.

BORG_MODULE_TWO_DISABLED + + +

+

The second module slots is disabed.

BOT_ARREST + + +

+

Secbot - Arresting target

BOT_BLOCKED + + +

+

MULEbot - Blocked

BOT_CLEANING + + +

+

Cleanbot - Cleaning

BOT_CONTROL_PANEL_OPEN + + +

+

is our control panel currently open

BOT_COVER_EMAGGED + + +

+

The Bot is emagged.

BOT_COVER_HACKED + + +

+

The Bot has been hacked by a Silicon, emagging them, but revertable.

BOT_COVER_LOCKED + + +

+

The Bot's cover is locked, and cannot be opened without unlocking it.

BOT_COVER_OPEN + + +

+

The Bot's cover is open and can be modified/emagged by anyone.

BOT_DELIVER + + +

+

MULEbot - Moving to deliver

BOT_GO_HOME + + +

+

MULEbot - Returning to home

BOT_HEALING + + +

+

Medibots - Healing people

BOT_HUNT + + +

+

Found target, hunting

BOT_IDLE + + +

+

Idle

BOT_MAINTS_PANEL_OPEN + + +

+

is our maintenancle panel currently open

BOT_MODE_AUTOPATROL + + +

+

The Bot is currently set to automatically patrol the station.

BOT_MODE_CAN_BE_SAPIENT + + +

+

The Bot is allowed to have a ghost placed in control of it.

BOT_MODE_ON + + +

+

The Bot is currently active, and will do whatever it is programmed to do.

BOT_MODE_REMOTE_ENABLED + + +

+

The Bot is currently allowed to be remote controlled by Silicon.

BOT_MODE_ROUNDSTART_POSSESSION + + +

+

The Bot is allowed to be possessed if it is present on mapload.

BOT_MOVING + + +

+

Currently moving

BOT_NAV + + +

+

MULEbot - Computing navigation

BOT_NO_ROUTE + + +

+

MULEbot - No destination beacon found (or no route)

BOT_PATROL + + +

+

Patrolling

BOT_PREP_ARREST + + +

+

Secbot - At target, preparing to arrest

BOT_REPAIRING + + +

+

Floorbots - Repairing hull breaches

BOT_RESPONDING + + +

+

Responding to a call from the AI

BOT_SHOWERSTANCE + + +

+

Hygienebot - Cleaning unhygienic humans

BOT_START_PATROL + + +

+

Start patrol

BOT_STEP_DELAY + + +

+

Delay between movemements

BOT_STEP_MAX_RETRIES + + +

+

Maximum times a bot will retry to step from its position

BOT_SUMMON + + +

+

Summoned to a location

BOT_WAIT_FOR_NAV + + +

+

MULEbot - Waiting for nav computation

CLEAN_BOT + + +

+

Cleanbots

CYBORG_THROW_SLOWDOWN_THRESHOLD + + +

+

If an item does this or more throwing damage it will slow a borg down on hit

DEFAULT_SCAN_RANGE + + +

+

Default view range for finding targets.

FIRE_BOT + + +

+

Firebots

FLOOR_BOT + + +

+

Floorbots

HEAL_ALL_DAMAGE + + +

+

can we heal all damage?

HONK_BOT + + +

+

Honkbots & ED-Honks

HYGIENE_BOT + + +

+

Hygienebots

MEDBOT_DECLARE_CRIT + + +

+

Whether to declare if someone (we are healing) is in critical condition

MEDBOT_SPEAK_MODE + + +

+

Whether the bot will randomly speak from time to time. This will not actually prevent all speech.

MEDBOT_STATIONARY_MODE + + +

+

If the bot will stand still, only healing those next to it.

MEDBOT_TIPPED_MODE + + +

+

is the bot currently tipped over?

MED_BOT + + +

+

Medibots

MULE_BOT + + +

+

MULEbots

SECBOT_CHECK_IDS + + +

+

Will arrest people who lack an ID card

SECBOT_CHECK_RECORDS + + +

+

Will check Security record on whether to arrest

SECBOT_CHECK_WEAPONS + + +

+

Will check for weapons, taking Weapons access into account

SECBOT_DECLARE_ARRESTS + + +

+

Whether arrests should be broadcasted over the Security radio

SECBOT_HANDCUFF_TARGET + + +

+

Whether we will stun & cuff or endlessly stun

SEC_BOT + + +

+

Secutritrons (Beepsky)

THREAT_ASSESS_DANGEROUS + + +

+

Above this level of assessed threat, Beepsky will attack you

THREAT_ASSESS_MAXIMUM + + +

+

Above this level of assessed threat, you are extremely threatening

VIBE_BOT + + +

+

Vibe bots

+ + + diff --git a/code/__DEFINES/rotation.html b/code/__DEFINES/rotation.html new file mode 100644 index 00000000000..af505cb4684 --- /dev/null +++ b/code/__DEFINES/rotation.html @@ -0,0 +1,67 @@ + + + + + + + code/__DEFINES/rotation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/rotation.dm + +

+ + + + + + + + + +
ROTATION_REQUIRE_WRENCHIf an object needs to be rotated with a wrench
ROTATION_GHOSTS_ALLOWEDIf ghosts can rotate an object (if the ghost config is enabled)
ROTATION_IGNORE_ANCHOREDIf an object will ignore anchored for rotation (used for chairs)
ROTATION_NO_FLIPPINGIf an object will omit flipping from rotation (used for pipes since they use custom handling)
ROTATION_NEEDS_ROOMIf an object needs to have an empty spot available in target direction (used for windoors and railings)
ROTATION_CLOCKWISERotate an object clockwise
ROTATION_COUNTERCLOCKWISERotate an object counterclockwise
ROTATION_FLIPRotate an object upside down

Define Details

+

ROTATION_CLOCKWISE + + +

+

Rotate an object clockwise

ROTATION_COUNTERCLOCKWISE + + +

+

Rotate an object counterclockwise

ROTATION_FLIP + + +

+

Rotate an object upside down

ROTATION_GHOSTS_ALLOWED + + +

+

If ghosts can rotate an object (if the ghost config is enabled)

ROTATION_IGNORE_ANCHORED + + +

+

If an object will ignore anchored for rotation (used for chairs)

ROTATION_NEEDS_ROOM + + +

+

If an object needs to have an empty spot available in target direction (used for windoors and railings)

ROTATION_NO_FLIPPING + + +

+

If an object will omit flipping from rotation (used for pipes since they use custom handling)

ROTATION_REQUIRE_WRENCH + + +

+

If an object needs to be rotated with a wrench

+ + + diff --git a/code/__DEFINES/roundend.html b/code/__DEFINES/roundend.html new file mode 100644 index 00000000000..f7e79e9cb59 --- /dev/null +++ b/code/__DEFINES/roundend.html @@ -0,0 +1,122 @@ + + + + + + + code/__DEFINES/roundend.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/roundend.dm + +

+ + + + + + + + + + + + + + + + + + + + +
NUKE_NEAR_MISSNuke was detonated in space on same z-level as station
NUKE_MISS_STATIONNuke was detonated on another z-level
NUKE_SYNDICATE_BASENuke was detonated on the syndicate base
STATION_DESTROYED_NUKENuke was detonated on the station
STATION_EVACUATEDThe emergency shuttle arrived and evacuated the crew
BLOB_WINThe blob has reached critical mass and overtaken the station
BLOB_DESTROYEDThe blob was destroyed by the crew
CULT_ESCAPEThe cult managed to escape alive on the shuttle
CULT_FAILUREThe cult was destroyed by the crew
CULT_SUMMONThe cult was able to summon Nar-Sie
NUKE_MISSThe nuke was detonated on another station?
OPERATIVES_KILLEDThe nuclear operatives were killed by the crew
OPERATIVE_SKIRMISHThe nuclear operatives forced the crew to evacuate without securing the disk
REVS_WINThe revolution successfully killed or exiled all the station heads of staff
REVS_LOSEThe revolution failed and all the head revs were killed or exiled
WIZARD_KILLEDThe wizard was killed by the crew
STATION_NUKEDThe station was destroyed by it's own self-destruct nuclear device
SUPERMATTER_CASCADEThe station was destroyed by the supermatter cascade
SHUTTLE_HIJACKThe emergency shuttle was successfully hijacked

Define Details

+

BLOB_DESTROYED + + +

+

The blob was destroyed by the crew

BLOB_WIN + + +

+

The blob has reached critical mass and overtaken the station

CULT_ESCAPE + + +

+

The cult managed to escape alive on the shuttle

CULT_FAILURE + + +

+

The cult was destroyed by the crew

CULT_SUMMON + + +

+

The cult was able to summon Nar-Sie

NUKE_MISS + + +

+

The nuke was detonated on another station?

NUKE_MISS_STATION + + +

+

Nuke was detonated on another z-level

NUKE_NEAR_MISS + + +

+

Nuke was detonated in space on same z-level as station

NUKE_SYNDICATE_BASE + + +

+

Nuke was detonated on the syndicate base

OPERATIVES_KILLED + + +

+

The nuclear operatives were killed by the crew

OPERATIVE_SKIRMISH + + +

+

The nuclear operatives forced the crew to evacuate without securing the disk

REVS_LOSE + + +

+

The revolution failed and all the head revs were killed or exiled

REVS_WIN + + +

+

The revolution successfully killed or exiled all the station heads of staff

SHUTTLE_HIJACK + + +

+

The emergency shuttle was successfully hijacked

STATION_DESTROYED_NUKE + + +

+

Nuke was detonated on the station

STATION_EVACUATED + + +

+

The emergency shuttle arrived and evacuated the crew

STATION_NUKED + + +

+

The station was destroyed by it's own self-destruct nuclear device

SUPERMATTER_CASCADE + + +

+

The station was destroyed by the supermatter cascade

WIZARD_KILLED + + +

+

The wizard was killed by the crew

+ + + diff --git a/code/__DEFINES/rust_g.html b/code/__DEFINES/rust_g.html new file mode 100644 index 00000000000..dbb115613b5 --- /dev/null +++ b/code/__DEFINES/rust_g.html @@ -0,0 +1,104 @@ + + + + + + + code/__DEFINES/rust_g.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/rust_g.dm + +

+ + + + + + + + + + + +
/proc/rustg_get_versionGets the version of rust_g
rustg_setup_acreplaceSets up the Aho-Corasick automaton with its default options.
rustg_setup_acreplace_with_optionsSets up the Aho-Corasick automaton using supplied options.
rustg_acreplaceRun the specified replacement engine with the provided haystack text to replace, returning replaced text.
rustg_acreplace_with_replacementsRun the specified replacement engine with the provided haystack text to replace, returning replaced text.
rustg_cnoise_generateThis proc generates a cellular automata noise grid which can be used in procedural generation methods.
rustg_dmi_icon_statesinput: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg.
/proc/rustg_unix_timestampReturns the timestamp as a string

Define Details

+

rustg_acreplace + + + +

+

Run the specified replacement engine with the provided haystack text to replace, returning replaced text.

+

Arguments:

+

rustg_acreplace_with_replacements + + + +

+

Run the specified replacement engine with the provided haystack text to replace, returning replaced text.

+

Arguments:

+

rustg_cnoise_generate + + + +

+

This proc generates a cellular automata noise grid which can be used in procedural generation methods.

+

Returns a single string that goes row by row, with values of 1 representing an alive cell, and a value of 0 representing a dead cell.

+

Arguments:

+

rustg_dmi_icon_states + + + +

+

input: must be a path, not an /icon; you have to do your own handling if it is one, as icon objects can't be directly passed to rustg.

+

output: json_encode'd list. json_decode to get a flat list with icon states in the order they're in inside the .dmi

rustg_setup_acreplace + + + +

+

Sets up the Aho-Corasick automaton with its default options.

+

The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call +Arguments:

+

rustg_setup_acreplace_with_options + + + +

+

Sets up the Aho-Corasick automaton using supplied options.

+

The search patterns list and the replacements must be of the same length when replace is run, but an empty replacements list is allowed if replacements are supplied with the replace call +Arguments:

+
+ + + diff --git a/code/__DEFINES/say.html b/code/__DEFINES/say.html new file mode 100644 index 00000000000..bc732da8d36 --- /dev/null +++ b/code/__DEFINES/say.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/say.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/say.dm + +

+ + + + + +
MESSAGE_RANGERange to hear normal messages
WHISPER_RANGERange to hear whispers normally
EAVESDROP_EXTRA_RANGEAdditional range to partially hear whispers
MODE_RANGE_INTERCOMHow close intercoms can be for radio code use

Define Details

+

EAVESDROP_EXTRA_RANGE + + +

+

Additional range to partially hear whispers

MESSAGE_RANGE + + +

+

Range to hear normal messages

MODE_RANGE_INTERCOM + + +

+

How close intercoms can be for radio code use

WHISPER_RANGE + + +

+

Range to hear whispers normally

+ + + diff --git a/code/__DEFINES/screentips.html b/code/__DEFINES/screentips.html new file mode 100644 index 00000000000..5bec710d571 --- /dev/null +++ b/code/__DEFINES/screentips.html @@ -0,0 +1,82 @@ + + + + + + + code/__DEFINES/screentips.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/screentips.dm + +

+ + + + + + + + + + + + +
SCREENTIP_CONTEXT_LMBContext applied to LMB actions
SCREENTIP_CONTEXT_RMBContext applied to RMB actions
SCREENTIP_CONTEXT_SHIFT_LMBContext applied to Shift-LMB actions
SCREENTIP_CONTEXT_CTRL_LMBContext applied to Ctrl-LMB actions
SCREENTIP_CONTEXT_CTRL_RMBContext applied to Ctrl-RMB actions
SCREENTIP_CONTEXT_ALT_LMBContext applied to Alt-LMB actions
SCREENTIP_CONTEXT_ALT_RMBContext applied to Alt-RMB actions
SCREENTIP_CONTEXT_CTRL_SHIFT_LMBContext applied to Ctrl-Shift-LMB actions
SCREENTIP_PREFERENCE_DISABLEDScreentips are always disabled
SCREENTIP_PREFERENCE_ENABLEDScreentips are always enabled
SCREENTIP_PREFERENCE_CONTEXT_ONLYScreentips are only enabled when they have context

Define Details

+

SCREENTIP_CONTEXT_ALT_LMB + + +

+

Context applied to Alt-LMB actions

SCREENTIP_CONTEXT_ALT_RMB + + +

+

Context applied to Alt-RMB actions

SCREENTIP_CONTEXT_CTRL_LMB + + +

+

Context applied to Ctrl-LMB actions

SCREENTIP_CONTEXT_CTRL_RMB + + +

+

Context applied to Ctrl-RMB actions

SCREENTIP_CONTEXT_CTRL_SHIFT_LMB + + +

+

Context applied to Ctrl-Shift-LMB actions

SCREENTIP_CONTEXT_LMB + + +

+

Context applied to LMB actions

SCREENTIP_CONTEXT_RMB + + +

+

Context applied to RMB actions

SCREENTIP_CONTEXT_SHIFT_LMB + + +

+

Context applied to Shift-LMB actions

SCREENTIP_PREFERENCE_CONTEXT_ONLY + + +

+

Screentips are only enabled when they have context

SCREENTIP_PREFERENCE_DISABLED + + +

+

Screentips are always disabled

SCREENTIP_PREFERENCE_ENABLED + + +

+

Screentips are always enabled

+ + + diff --git a/code/__DEFINES/security.html b/code/__DEFINES/security.html new file mode 100644 index 00000000000..bce440c16a4 --- /dev/null +++ b/code/__DEFINES/security.html @@ -0,0 +1,105 @@ + + + + + + + code/__DEFINES/security.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/security.dm + +

+ + + + + + + + + + + + + + + + +
DETSCAN_CATEGORY_FINGERSFingerpints detected
DETSCAN_CATEGORY_BLOODDisplays any bloodprints found and their uefi
DETSCAN_CATEGORY_FIBERClothing and glove fibers
DETSCAN_CATEGORY_DRINKLiquids detected
DETSCAN_CATEGORY_ACCESSID Access
DETSCAN_CATEGORY_NOTESGeneric extra information category
DETSCAN_CATEGORY_ILLEGALAttributes that might be illegal, but don't have ties to syndicate/aren't exclusively produced by them
DETSCAN_CATEGORY_SYNDIEThe emags and other in-house technology from the syndicate
DETSCAN_CATEGORY_HOLYpraise be
DETSCAN_CATEGORY_SETTINGSThe mode that the items in, what kind of item is dispensed, etc
DETSCAN_DEFAULT_ORDERdefines the order categories are displayed, with the original categories, then custom ones, then finally the extra info.
DETSCAN_ACCESS_ORDERthe order departments show up in for the id scan (its sorted by red to blue on the color wheel)
DETSCAN_BLOCKif any categories list has this entry, it will be hidden
WANTED_ARRESTWanted statuses
WANTED_STATUSESList of available wanted statuses

Define Details

+

DETSCAN_ACCESS_ORDER + + + +

+

the order departments show up in for the id scan (its sorted by red to blue on the color wheel)

DETSCAN_BLOCK + + +

+

if any categories list has this entry, it will be hidden

DETSCAN_CATEGORY_ACCESS + + +

+

ID Access

DETSCAN_CATEGORY_BLOOD + + +

+

Displays any bloodprints found and their uefi

DETSCAN_CATEGORY_DRINK + + +

+

Liquids detected

DETSCAN_CATEGORY_FIBER + + +

+

Clothing and glove fibers

DETSCAN_CATEGORY_FINGERS + + +

+

Fingerpints detected

DETSCAN_CATEGORY_HOLY + + +

+

praise be

DETSCAN_CATEGORY_ILLEGAL + + +

+

Attributes that might be illegal, but don't have ties to syndicate/aren't exclusively produced by them

DETSCAN_CATEGORY_NOTES + + +

+

Generic extra information category

DETSCAN_CATEGORY_SETTINGS + + +

+

The mode that the items in, what kind of item is dispensed, etc

DETSCAN_CATEGORY_SYNDIE + + +

+

The emags and other in-house technology from the syndicate

DETSCAN_DEFAULT_ORDER + + + +

+

defines the order categories are displayed, with the original categories, then custom ones, then finally the extra info.

WANTED_ARREST + + +

+

Wanted statuses

WANTED_STATUSES + + + +

+

List of available wanted statuses

+ + + diff --git a/code/__DEFINES/shuttles.html b/code/__DEFINES/shuttles.html new file mode 100644 index 00000000000..ea6810d1632 --- /dev/null +++ b/code/__DEFINES/shuttles.html @@ -0,0 +1,59 @@ + + + + + + + code/__DEFINES/shuttles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/shuttles.dm + +

+ + + + + + + +
ENDGAME_LAUNCHEDThis shuttle launched to head to end game (or has arrived there), it will not update further
ENDGAME_TRANSIT"Endgame transit" denotes shuttles which "fly into the sunset" when the round ends, such as the whiteship. +These shuttles leave when the main emergency shuttle does but don't dock anywhere (to save space), so this counts as "escaped".
SHUTTLE_UNLOCK_ALIENTECHShuttle unlocks
SHUTTLE_EVENT_CLEARSelf destruct if this is returned in process
SHUTTLE_EVENT_MISS_SHUTTLEspawned stuff should float by the window and not hit the shuttle
SHUTTLE_EVENT_HIT_SHUTTLEspawned stuff should hit the shuttle

Define Details

+

ENDGAME_LAUNCHED + + +

+

This shuttle launched to head to end game (or has arrived there), it will not update further

ENDGAME_TRANSIT + + +

+

"Endgame transit" denotes shuttles which "fly into the sunset" when the round ends, such as the whiteship. +These shuttles leave when the main emergency shuttle does but don't dock anywhere (to save space), so this counts as "escaped".

SHUTTLE_EVENT_CLEAR + + +

+

Self destruct if this is returned in process

SHUTTLE_EVENT_HIT_SHUTTLE + + +

+

spawned stuff should hit the shuttle

SHUTTLE_EVENT_MISS_SHUTTLE + + +

+

spawned stuff should float by the window and not hit the shuttle

SHUTTLE_UNLOCK_ALIENTECH + + +

+

Shuttle unlocks

+ + + diff --git a/code/__DEFINES/sight.html b/code/__DEFINES/sight.html new file mode 100644 index 00000000000..e6c09899cfc --- /dev/null +++ b/code/__DEFINES/sight.html @@ -0,0 +1,56 @@ + + + + + + + code/__DEFINES/sight.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/sight.dm + +

+ + +
SEE_AVOID_TURF_BLACKNESScan't see anything +can see all mobs, no matter what +can see all objs, no matter what +can see self, no matter what +can see infra-red objects (different sort of luminosity, essentially a copy of it, one we do not use) +if an object is located on an unlit area, but some of its pixels are +in a lit area (via pixel_x,y or smooth movement), can see those pixels +can see through opaque objects +render dark tiles as blackness (Note, this basically means we draw dark tiles to plane 0) +we can then hijack that plane with a plane master, and start drawing it anywhere we want +NOTE: this does not function with the SIDE_MAP map format. So we can't. :( +Bitfield of sight flags that show THINGS but no lighting +Since lighting is an underlay on turfs, this is everything but that

Define Details

+

SEE_AVOID_TURF_BLACKNESS + + +

+

can't see anything +can see all mobs, no matter what +can see all objs, no matter what +can see self, no matter what +can see infra-red objects (different sort of luminosity, essentially a copy of it, one we do not use) +if an object is located on an unlit area, but some of its pixels are +in a lit area (via pixel_x,y or smooth movement), can see those pixels +can see through opaque objects +render dark tiles as blackness (Note, this basically means we draw dark tiles to plane 0) +we can then hijack that plane with a plane master, and start drawing it anywhere we want +NOTE: this does not function with the SIDE_MAP map format. So we can't. :( +Bitfield of sight flags that show THINGS but no lighting +Since lighting is an underlay on turfs, this is everything but that

+ + + diff --git a/code/__DEFINES/skills.html b/code/__DEFINES/skills.html new file mode 100644 index 00000000000..38797bb0b7c --- /dev/null +++ b/code/__DEFINES/skills.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/skills.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/skills.dm + +

+ + + + + + + +
SKILL_SPEED_MODIFIERideally added/subtracted in speed calculations to make you do stuff faster
SKILL_PROBS_MODIFIERideally added/subtracted where beneficial in prob(x) calls
SKILL_RANDS_MODIFIERideally added/subtracted where beneficial in rand(x,y) calls
SKILL_VALUE_MODIFIERideally for addittive operations
FISHING_SKILL_DIFFIULTY_EXP_MULTThe multiplier of the extra experience given by the fishing minigame based on difficulty. At the default difficulty of 15, the bonus will be of 21%.
FISHING_SKILL_EXP_PER_SECONDHow much exp one would gain per spent playing the fishing minigame at minimum difficulty. the time is multiplied by 0.1 because deciseconds...

Define Details

+

FISHING_SKILL_DIFFIULTY_EXP_MULT + + +

+

The multiplier of the extra experience given by the fishing minigame based on difficulty. At the default difficulty of 15, the bonus will be of 21%.

FISHING_SKILL_EXP_PER_SECOND + + +

+

How much exp one would gain per spent playing the fishing minigame at minimum difficulty. the time is multiplied by 0.1 because deciseconds...

SKILL_PROBS_MODIFIER + + +

+

ideally added/subtracted where beneficial in prob(x) calls

SKILL_RANDS_MODIFIER + + +

+

ideally added/subtracted where beneficial in rand(x,y) calls

SKILL_SPEED_MODIFIER + + +

+

ideally added/subtracted in speed calculations to make you do stuff faster

SKILL_VALUE_MODIFIER + + +

+

ideally for addittive operations

+ + + diff --git a/code/__DEFINES/song.html b/code/__DEFINES/song.html new file mode 100644 index 00000000000..ff888405bda --- /dev/null +++ b/code/__DEFINES/song.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/song.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/song.dm + +

+ + + + + +
STOP_PLAYINGWhen the song should stop being played
IGNORE_INSTRUMENT_CHECKSWill ignore the instrument checks and play the song anyway.
MONKEY_SONGit's what monkeys play!
MOOK_SONGsong played by the mook bard

Define Details

+

IGNORE_INSTRUMENT_CHECKS + + +

+

Will ignore the instrument checks and play the song anyway.

MONKEY_SONG + + +

+

it's what monkeys play!

MOOK_SONG + + +

+

song played by the mook bard

STOP_PLAYING + + +

+

When the song should stop being played

+ + + diff --git a/code/__DEFINES/sort_types.html b/code/__DEFINES/sort_types.html new file mode 100644 index 00000000000..1a2bc329b53 --- /dev/null +++ b/code/__DEFINES/sort_types.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/sort_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/sort_types.dm + +

+ + +
SORT_TYPE_DISPOSALSAll unwrapped items and untagged parcels get picked up by a junction with this sortType. Usually leads to the recycler.

Define Details

+

SORT_TYPE_DISPOSALS + + +

+

All unwrapped items and untagged parcels get picked up by a junction with this sortType. Usually leads to the recycler.

+ + + diff --git a/code/__DEFINES/sound.html b/code/__DEFINES/sound.html new file mode 100644 index 00000000000..621337b94d8 --- /dev/null +++ b/code/__DEFINES/sound.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/sound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/sound.dm + +

+ + + + + + + + +
SOUND_RANGEDefault range of a sound.
SHORT_RANGE_SOUND_EXTRARANGEdefault extra range for sounds considered to be quieter
SILENCED_SOUND_EXTRARANGEThe range deducted from sound range for things that are considered silent / sneaky
SOUND_DEFAULT_FALLOFF_DISTANCEPercentage of sound's range where no falloff is applied
SOUND_FALLOFF_EXPONENTThe default exponent of sound falloff
ANNOUNCER_AIMALFAnnouncer audio keys
SFX_BODYFALLList of all of our sound keys.

Define Details

+

ANNOUNCER_AIMALF + + +

+

Announcer audio keys

SFX_BODYFALL + + +

+

List of all of our sound keys.

SHORT_RANGE_SOUND_EXTRARANGE + + +

+

default extra range for sounds considered to be quieter

SILENCED_SOUND_EXTRARANGE + + +

+

The range deducted from sound range for things that are considered silent / sneaky

SOUND_DEFAULT_FALLOFF_DISTANCE + + +

+

Percentage of sound's range where no falloff is applied

SOUND_FALLOFF_EXPONENT + + +

+

The default exponent of sound falloff

SOUND_RANGE + + +

+

Default range of a sound.

+ + + diff --git a/code/__DEFINES/space.html b/code/__DEFINES/space.html new file mode 100644 index 00000000000..d4c6409dc97 --- /dev/null +++ b/code/__DEFINES/space.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/space.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/space.dm + +

+ + +
SPACE_OVERLAY_RENDER_TARGETEvery mob in the game will have a screen object sitting inside them with a reference matching this +So you can render_source against it and never need to update it again

Define Details

+

SPACE_OVERLAY_RENDER_TARGET + + + +

+

Every mob in the game will have a screen object sitting inside them with a reference matching this +So you can render_source against it and never need to update it again

+ + + diff --git a/code/__DEFINES/spaceman_dmm.html b/code/__DEFINES/spaceman_dmm.html new file mode 100644 index 00000000000..9f010164e8e --- /dev/null +++ b/code/__DEFINES/spaceman_dmm.html @@ -0,0 +1,119 @@ + + + + + + + code/__DEFINES/spaceman_dmm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/spaceman_dmm.dm + +

+ + + + + + + + + + + + +
RETURN_TYPESets a return type expression for a proc. The return type can take the forms:
SHOULD_CALL_PARENTIf set, will enable a diagnostic on children of the proc it is set on which do +not contain any ..() parent calls. This can help with finding situations +where a signal or other important handling in the parent proc is being skipped. +Child procs may set this setting to 0 instead to override the check.
SHOULD_NOT_OVERRIDEIf set, raise a warning for any child procs that override this one, +regardless of if it calls parent or not. +This functions in a similar way to the final keyword in some languages. +This cannot be disabled by child overrides.
SHOULD_NOT_SLEEPIf set, raise a warning if the proc or one of the sub-procs it calls +uses a blocking call, such as sleep() or input() without using set waitfor = 0 +This cannot be disabled by child overrides.
SHOULD_BE_PUREIf set, ensure a proc is 'pure', such that it does not make any changes +outside itself or output. This also checks to make sure anything using +this proc doesn't invoke it without making use of the return value. +This cannot be disabled by child overrides.
PRIVATE_PROCPrivate procs can only be called by things of exactly the same type.
PROTECTED_PROCProtected procs can only be call by things of the same type or subtypes.
UNLINTIf set, will not lint.
VAR_FINALIf set, overriding their value isn't permitted by types that inherit it.
VAR_PRIVATEPrivate vars can only be called by things of exactly the same type.
VAR_PROTECTEDProtected vars can only be called by things of the same type or subtypes.

Define Details

+

PRIVATE_PROC + + + +

+

Private procs can only be called by things of exactly the same type.

PROTECTED_PROC + + + +

+

Protected procs can only be call by things of the same type or subtypes.

RETURN_TYPE + + + +

+

Sets a return type expression for a proc. The return type can take the forms:

+

/typepath - a raw typepath. The return type of the proc is the type named.

+

param - a typepath given as a parameter, for procs which return an instance of the passed-in type.

+

param.type - the static type of a passed-in parameter, for procs which +return their input or otherwise another value of the same type.

+

param[_].type - the static type of a passed-in parameter, with one level +of /list stripped, for procs which select one item from a list. The [_] +may be repeated to strip more levels of /list.

SHOULD_BE_PURE + + + +

+

If set, ensure a proc is 'pure', such that it does not make any changes +outside itself or output. This also checks to make sure anything using +this proc doesn't invoke it without making use of the return value. +This cannot be disabled by child overrides.

SHOULD_CALL_PARENT + + + +

+

If set, will enable a diagnostic on children of the proc it is set on which do +not contain any ..() parent calls. This can help with finding situations +where a signal or other important handling in the parent proc is being skipped. +Child procs may set this setting to 0 instead to override the check.

SHOULD_NOT_OVERRIDE + + + +

+

If set, raise a warning for any child procs that override this one, +regardless of if it calls parent or not. +This functions in a similar way to the final keyword in some languages. +This cannot be disabled by child overrides.

SHOULD_NOT_SLEEP + + + +

+

If set, raise a warning if the proc or one of the sub-procs it calls +uses a blocking call, such as sleep() or input() without using set waitfor = 0 +This cannot be disabled by child overrides.

UNLINT + + + +

+

If set, will not lint.

VAR_FINAL + + +

+

If set, overriding their value isn't permitted by types that inherit it.

VAR_PRIVATE + + +

+

Private vars can only be called by things of exactly the same type.

VAR_PROTECTED + + +

+

Protected vars can only be called by things of the same type or subtypes.

+ + + diff --git a/code/__DEFINES/spacevines.html b/code/__DEFINES/spacevines.html new file mode 100644 index 00000000000..bc8230963eb --- /dev/null +++ b/code/__DEFINES/spacevines.html @@ -0,0 +1,112 @@ + + + + + + + code/__DEFINES/spacevines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/spacevines.dm + +

+ + + + + + + + + + + + + + + + + + +
LIGHT_MUTATION_BRIGHTNESSDetermines brightness of the light emitted by kudzu with the light mutation
PASS_LIGHTKudzu light states
TOXICITY_MUTATION_PROBDetermines the probability that the toxicity mutation will harm someone who passes through it
EXPLOSION_MUTATION_IMPACT_RADIUSDetermines the impact radius of kudzu's explosive mutation
GAS_MUTATION_REMOVAL_MULTIPLIERDetermines the scale factor for the amount of gas removed by kudzu with a gas removal mutation, which is this scale factor * the kudzu's energy level
THORN_MUTATION_CUT_PROBDetermines the probability that the thorn mutation will harm someone who passes through or attacks it
FLOWERING_MUTATION_SPAWN_PROBDetermines the probability that a kudzu plant with the flowering mutation will spawn a venus flower bud
TEMP_STABILISATION_MUTATION_MAXIMUM_ENERGYMaximum energy used per atmos tick that the temperature stabilisation mutation will use to bring the temperature to T20C
VINE_FREEZING_POINTTemperature below which the kudzu can't spread
SEVERITY_TRIVIALKudzu severity values for traits, based on severity in terms of how severely it impacts the game, the lower the severity, the more likely it is to appear
MUTATIVENESS_SCALE_FACTORKudzu mutativeness is based on a scale factor * potency
MAX_SEVERITY_LINEAR_COEFFKudzu maximum mutation severity is a linear function of potency
MAX_SEVERITY_EVENT_BONUSAdditional maximum mutation severity given to kudzu spawned by a random event
MAX_POSSIBLE_PRODUCTIVITY_VALUEThe maximum possible productivity value of a (normal) kudzu plant, used for calculating a plant's spread cap and multiplier
SPREAD_CAP_LINEAR_COEFFKudzu spread cap is a scaled version of production speed, such that the better the production speed, ie. the lower the speed value is, the faster is spreads
SPREAD_MULTIPLIER_MAXKudzu spread multiplier is a reciporal function of production speed, such that the better the production speed, ie. the lower the speed value is, the faster it spreads
IDEAL_MAX_SEVERITYKudzu's maximum possible maximum mutation severity (assuming ideal potency), used to balance mutation appearance chance

Define Details

+

EXPLOSION_MUTATION_IMPACT_RADIUS + + +

+

Determines the impact radius of kudzu's explosive mutation

FLOWERING_MUTATION_SPAWN_PROB + + +

+

Determines the probability that a kudzu plant with the flowering mutation will spawn a venus flower bud

GAS_MUTATION_REMOVAL_MULTIPLIER + + +

+

Determines the scale factor for the amount of gas removed by kudzu with a gas removal mutation, which is this scale factor * the kudzu's energy level

IDEAL_MAX_SEVERITY + + +

+

Kudzu's maximum possible maximum mutation severity (assuming ideal potency), used to balance mutation appearance chance

LIGHT_MUTATION_BRIGHTNESS + + +

+

Determines brightness of the light emitted by kudzu with the light mutation

MAX_POSSIBLE_PRODUCTIVITY_VALUE + + +

+

The maximum possible productivity value of a (normal) kudzu plant, used for calculating a plant's spread cap and multiplier

MAX_SEVERITY_EVENT_BONUS + + +

+

Additional maximum mutation severity given to kudzu spawned by a random event

MAX_SEVERITY_LINEAR_COEFF + + +

+

Kudzu maximum mutation severity is a linear function of potency

MUTATIVENESS_SCALE_FACTOR + + +

+

Kudzu mutativeness is based on a scale factor * potency

PASS_LIGHT + + +

+

Kudzu light states

SEVERITY_TRIVIAL + + +

+

Kudzu severity values for traits, based on severity in terms of how severely it impacts the game, the lower the severity, the more likely it is to appear

SPREAD_CAP_LINEAR_COEFF + + +

+

Kudzu spread cap is a scaled version of production speed, such that the better the production speed, ie. the lower the speed value is, the faster is spreads

SPREAD_MULTIPLIER_MAX + + +

+

Kudzu spread multiplier is a reciporal function of production speed, such that the better the production speed, ie. the lower the speed value is, the faster it spreads

TEMP_STABILISATION_MUTATION_MAXIMUM_ENERGY + + +

+

Maximum energy used per atmos tick that the temperature stabilisation mutation will use to bring the temperature to T20C

THORN_MUTATION_CUT_PROB + + +

+

Determines the probability that the thorn mutation will harm someone who passes through or attacks it

TOXICITY_MUTATION_PROB + + +

+

Determines the probability that the toxicity mutation will harm someone who passes through it

VINE_FREEZING_POINT + + +

+

Temperature below which the kudzu can't spread

+ + + diff --git a/code/__DEFINES/spatial_gridmap.html b/code/__DEFINES/spatial_gridmap.html new file mode 100644 index 00000000000..40edfa50fa3 --- /dev/null +++ b/code/__DEFINES/spatial_gridmap.html @@ -0,0 +1,79 @@ + + + + + + + code/__DEFINES/spatial_gridmap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/spatial_gridmap.dm + +

+ + + + + + + + + + +
SPATIAL_GRID_CELLSIZEeach cell in a spatial_grid is this many turfs in length and width (with world.max(x or y) being 255, 15 of these fit on each side of a z level)
GET_SPATIAL_INDEXTakes a coordinate, and spits out the spatial grid index (x or y) it's inside
GRID_INDEX_TO_COORDSchanges the cell_(x or y) vars on /datum/spatial_grid_cell to the x or y coordinate on the map for the LOWER LEFT CORNER of the grid cell. +index is from 1 to SPATIAL_GRID_CELLS_PER_SIDE
SPATIAL_GRID_CELLS_PER_SIDEnumber of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy
SPATIAL_GRID_CONTENTS_TYPE_HEARINGeverything that is hearing sensitive is stored in this channel
SPATIAL_GRID_CONTENTS_TYPE_CLIENTSevery movable that has a client in it is stored in this channel
SPATIAL_GRID_CONTENTS_TYPE_ATMOSall atmos machines are stored in this channel (I'm sorry kyler)
HAS_SPATIAL_GRID_CONTENTSwhether movable is itself or containing something which should be in one of the spatial grid channels.
GRID_CELL_REMOVE_ALLremove from every list

Define Details

+

GET_SPATIAL_INDEX + + + +

+

Takes a coordinate, and spits out the spatial grid index (x or y) it's inside

GRID_CELL_REMOVE_ALL + + + +

+

remove from every list

GRID_INDEX_TO_COORDS + + + +

+

changes the cell_(x or y) vars on /datum/spatial_grid_cell to the x or y coordinate on the map for the LOWER LEFT CORNER of the grid cell. +index is from 1 to SPATIAL_GRID_CELLS_PER_SIDE

HAS_SPATIAL_GRID_CONTENTS + + + +

+

whether movable is itself or containing something which should be in one of the spatial grid channels.

SPATIAL_GRID_CELLSIZE + + +

+

each cell in a spatial_grid is this many turfs in length and width (with world.max(x or y) being 255, 15 of these fit on each side of a z level)

SPATIAL_GRID_CELLS_PER_SIDE + + + +

+

number of grid cells per x or y side of all z levels. pass in world.maxx or world.maxy

SPATIAL_GRID_CONTENTS_TYPE_ATMOS + + +

+

all atmos machines are stored in this channel (I'm sorry kyler)

SPATIAL_GRID_CONTENTS_TYPE_CLIENTS + + +

+

every movable that has a client in it is stored in this channel

SPATIAL_GRID_CONTENTS_TYPE_HEARING + + +

+

everything that is hearing sensitive is stored in this channel

+ + + diff --git a/code/__DEFINES/species_clothing_paths.html b/code/__DEFINES/species_clothing_paths.html new file mode 100644 index 00000000000..99c9fe802ed --- /dev/null +++ b/code/__DEFINES/species_clothing_paths.html @@ -0,0 +1,62 @@ + + + + + + + code/__DEFINES/species_clothing_paths.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/species_clothing_paths.dm + +

+ + + + + + + + +
DEFAULT_UNIFORM_FILEThe dmi for humanoid uniforms
DEFAULT_SHOES_FILEThe dmi for humanoid shoes
DEFAULT_SUIT_FILEThe dmi for humanoid oversuits
MONKEY_UNIFORM_FILEThe dmi for monkey uniforms
DIGITIGRADE_UNIFORM_FILEThe dmi containing digitigrade uniforms
DIGITIGRADE_SHOES_FILEThe dmi containing digitigrade shoes
DIGITIGRADE_SUIT_FILEThe dmi containing digitigrade oversuits

Define Details

+

DEFAULT_SHOES_FILE + + +

+

The dmi for humanoid shoes

DEFAULT_SUIT_FILE + + +

+

The dmi for humanoid oversuits

DEFAULT_UNIFORM_FILE + + +

+

The dmi for humanoid uniforms

DIGITIGRADE_SHOES_FILE + + +

+

The dmi containing digitigrade shoes

DIGITIGRADE_SUIT_FILE + + +

+

The dmi containing digitigrade oversuits

DIGITIGRADE_UNIFORM_FILE + + +

+

The dmi containing digitigrade uniforms

MONKEY_UNIFORM_FILE + + +

+

The dmi for monkey uniforms

+ + + diff --git a/code/__DEFINES/sprite_accessories.html b/code/__DEFINES/sprite_accessories.html new file mode 100644 index 00000000000..c775a667367 --- /dev/null +++ b/code/__DEFINES/sprite_accessories.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/sprite_accessories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/sprite_accessories.dm + +

+ + + + + +
MUTANT_COLORColor of the sprite accessory will match the owner's mutant color, which is granted by certain species
HAIR_COLORColor of the sprite accessory will match the owner's hair color
FACIAL_HAIR_COLORColor of the sprite accessory will match the owner's facial hair color
EYE_COLORColor of the sprite accessory will match the owner's (left) eye color

Define Details

+

EYE_COLOR + + +

+

Color of the sprite accessory will match the owner's (left) eye color

FACIAL_HAIR_COLOR + + +

+

Color of the sprite accessory will match the owner's facial hair color

HAIR_COLOR + + +

+

Color of the sprite accessory will match the owner's hair color

MUTANT_COLOR + + +

+

Color of the sprite accessory will match the owner's mutant color, which is granted by certain species

+ + + diff --git a/code/__DEFINES/stack.html b/code/__DEFINES/stack.html new file mode 100644 index 00000000000..45485982de9 --- /dev/null +++ b/code/__DEFINES/stack.html @@ -0,0 +1,37 @@ + + + + + + + code/__DEFINES/stack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/stack.dm + +

+ + + +
STACK_CHECK_TRAM_FORBIDDENChecks if this is banned from being built on the tram
STACK_CHECK_TRAM_EXCLUSIVEChecks if this can only built on the tram

Define Details

+

STACK_CHECK_TRAM_EXCLUSIVE + + +

+

Checks if this can only built on the tram

STACK_CHECK_TRAM_FORBIDDEN + + +

+

Checks if this is banned from being built on the tram

+ + + diff --git a/code/__DEFINES/stack_trace.html b/code/__DEFINES/stack_trace.html new file mode 100644 index 00000000000..fe02ec85fea --- /dev/null +++ b/code/__DEFINES/stack_trace.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/stack_trace.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/stack_trace.dm + +

+ + +
stack_tracegives us the stack trace from CRASH() without ending the current proc.

Define Details

+

stack_trace + + + +

+

gives us the stack trace from CRASH() without ending the current proc.

+ + + diff --git a/code/__DEFINES/stat_tracking.html b/code/__DEFINES/stat_tracking.html new file mode 100644 index 00000000000..727e4ffdfec --- /dev/null +++ b/code/__DEFINES/stat_tracking.html @@ -0,0 +1,35 @@ + + + + + + + code/__DEFINES/stat_tracking.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/stat_tracking.dm + +

+ + +
SET_COST_STMTA quick helper for running the code as a statement and profiling its cost. +For example, SET_COST_STMT(var/x = do_work())

Define Details

+

SET_COST_STMT + + + +

+

A quick helper for running the code as a statement and profiling its cost. +For example, SET_COST_STMT(var/x = do_work())

+ + + diff --git a/code/__DEFINES/station.html b/code/__DEFINES/station.html new file mode 100644 index 00000000000..ba85e724a3e --- /dev/null +++ b/code/__DEFINES/station.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/station.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/station.dm + +

+ + + + + + +
STATION_TRAIT_PLANETARYOnly run on planet stations
STATION_TRAIT_SPACE_BOUNDOnly run on space stations
STATION_TRAIT_MAP_UNRESTRICTEDNot restricted by space or planet, can always just happen
FUTURE_STATION_TRAITS_FILEThe data file that future station traits forced by an admin are stored in
STATION_RENAME_TIME_LIMITThe amount of time until the station charter can no longer be used to rename the station

Define Details

+

FUTURE_STATION_TRAITS_FILE + + +

+

The data file that future station traits forced by an admin are stored in

STATION_RENAME_TIME_LIMIT + + +

+

The amount of time until the station charter can no longer be used to rename the station

STATION_TRAIT_MAP_UNRESTRICTED + + +

+

Not restricted by space or planet, can always just happen

STATION_TRAIT_PLANETARY + + +

+

Only run on planet stations

STATION_TRAIT_SPACE_BOUND + + +

+

Only run on space stations

+ + + diff --git a/code/__DEFINES/status_effects.html b/code/__DEFINES/status_effects.html new file mode 100644 index 00000000000..140e58c0d16 --- /dev/null +++ b/code/__DEFINES/status_effects.html @@ -0,0 +1,142 @@ + + + + + + + code/__DEFINES/status_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/status_effects.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
STATUS_EFFECT_MULTIPLEif it allows multiple instances of the effect
STATUS_EFFECT_UNIQUEif it allows only one, preventing new instances
STATUS_EFFECT_REPLACEif it allows only one, but new instances replace
STATUS_EFFECT_REFRESHif it only allows one, and new instances just instead refresh the timer
STATUS_EFFECT_FAST_PROCESSProcessing flags - used to define the speed at which the status will work +This is fast - 0.2s between ticks (I believe!)
STATUS_EFFECT_NORMAL_PROCESSThis is slower and better for more intensive status effects - 1s between ticks
CURSE_BLINDINGmakes the edges of the target's screen obscured
CURSE_SPAWNINGspawns creatures that attack the target only
CURSE_WASTINGcauses gradual damage
CURSE_GRASPINGhands reach out from the sides of the screen, doing damage and stunning if they hit the target
IGNORE_RESTRAINTSIf the incapacitated status effect will ignore a mob in restraints (handcuffs)
IGNORE_STASISIf the incapacitated status effect will ignore a mob in stasis (stasis beds)
IGNORE_GRABIf the incapacitated status effect will ignore a mob being agressively grabbed
become_blindCauses the mob to become blind via the passed source
cure_blindCures the mob's blindness from the passed source, removing blindness wholesale if no sources are left
is_blindIs the mob blind?
is_blind_fromIs the mob blind from the passed source or sources?
become_nearsightedCauses the mob to become nearsighted via the passed source
cure_nearsightedCures the mob's nearsightedness from the passed source, removing nearsighted wholesale if no sources are left
is_nearsightedIs the mob nearsighted?
is_nearsighted_fromIs the mob nearsigthed from the passed source or sources?

Define Details

+

CURSE_BLINDING + + +

+

makes the edges of the target's screen obscured

CURSE_GRASPING + + +

+

hands reach out from the sides of the screen, doing damage and stunning if they hit the target

CURSE_SPAWNING + + +

+

spawns creatures that attack the target only

CURSE_WASTING + + +

+

causes gradual damage

IGNORE_GRAB + + +

+

If the incapacitated status effect will ignore a mob being agressively grabbed

IGNORE_RESTRAINTS + + +

+

If the incapacitated status effect will ignore a mob in restraints (handcuffs)

IGNORE_STASIS + + +

+

If the incapacitated status effect will ignore a mob in stasis (stasis beds)

STATUS_EFFECT_FAST_PROCESS + + +

+

Processing flags - used to define the speed at which the status will work +This is fast - 0.2s between ticks (I believe!)

STATUS_EFFECT_MULTIPLE + + +

+

if it allows multiple instances of the effect

STATUS_EFFECT_NORMAL_PROCESS + + +

+

This is slower and better for more intensive status effects - 1s between ticks

STATUS_EFFECT_REFRESH + + +

+

if it only allows one, and new instances just instead refresh the timer

STATUS_EFFECT_REPLACE + + +

+

if it allows only one, but new instances replace

STATUS_EFFECT_UNIQUE + + +

+

if it allows only one, preventing new instances

become_blind + + + +

+

Causes the mob to become blind via the passed source

become_nearsighted + + + +

+

Causes the mob to become nearsighted via the passed source

cure_blind + + + +

+

Cures the mob's blindness from the passed source, removing blindness wholesale if no sources are left

cure_nearsighted + + + +

+

Cures the mob's nearsightedness from the passed source, removing nearsighted wholesale if no sources are left

is_blind + + + +

+

Is the mob blind?

is_blind_from + + + +

+

Is the mob blind from the passed source or sources?

is_nearsighted + + + +

+

Is the mob nearsighted?

is_nearsighted_from + + + +

+

Is the mob nearsigthed from the passed source or sources?

+ + + diff --git a/code/__DEFINES/strippable.html b/code/__DEFINES/strippable.html new file mode 100644 index 00000000000..1dc0701278c --- /dev/null +++ b/code/__DEFINES/strippable.html @@ -0,0 +1,42 @@ + + + + + + + code/__DEFINES/strippable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/strippable.dm + +

+ + + + +
STRIPPABLE_OBSCURING_NONEThis slot is not obscured.
STRIPPABLE_OBSCURING_COMPLETELYThis slot is completely obscured, and cannot be accessed.
STRIPPABLE_OBSCURING_HIDDENThis slot can't be seen, but can be accessed.

Define Details

+

STRIPPABLE_OBSCURING_COMPLETELY + + +

+

This slot is completely obscured, and cannot be accessed.

STRIPPABLE_OBSCURING_HIDDEN + + +

+

This slot can't be seen, but can be accessed.

STRIPPABLE_OBSCURING_NONE + + +

+

This slot is not obscured.

+ + + diff --git a/code/__DEFINES/subsystems.html b/code/__DEFINES/subsystems.html new file mode 100644 index 00000000000..6d0539d1889 --- /dev/null +++ b/code/__DEFINES/subsystems.html @@ -0,0 +1,254 @@ + + + + + + + code/__DEFINES/subsystems.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/subsystems.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Defines for subsystems and overlays

+

Lots of important stuff in here, make sure you have your brain switched on +when editing this file

+DB defines
DB_MAJOR_VERSIONDB major schema version
DB_MINOR_VERSIONDB minor schema version
Timing subsystem
TIMER_UNIQUEDon't run if there is an identical unique timer active
TIMER_OVERRIDEFor unique timers: Replace the old timer rather then not start this one
TIMER_CLIENT_TIMETiming should be based on how timing progresses on clients, not the server.
TIMER_STOPPABLETimer can be stopped using deltimer()
TIMER_NO_HASH_WAITprevents distinguishing identical timers with the wait variable
TIMER_LOOPLoops the timer repeatedly until qdeleted
TIMER_DELETE_MEDelete the timer on parent datum Destroy() and when deltimer'd
TIMER_ID_NULLEmpty ID define
PROCESS_KILLUsed to trigger object removal from a processing list
Initialization subsystem
INITIALIZATION_INSSATOMSNew should not call Initialize
INITIALIZATION_INNEW_MAPLOADNew should call Initialize(TRUE)
INITIALIZATION_INNEW_REGULARNew should call Initialize(FALSE)
Initialization hints
INITIALIZE_HINT_NORMALNothing happens
INITIALIZE_HINT_LATELOADcall LateInitialize at the end of all atom Initalization
INITIALIZE_HINT_QDELCall qdel on the atom after intialization
INITIALIZE_IMMEDIATEtype and all subtypes should always immediately call Initialize in New()
SS initialization hints
SS_INIT_FAILURENegative values incidate a failure or warning of some kind, positive are good. +0 and 1 are unused so that TRUE and FALSE are guarenteed to be invalid values. +Subsystem failed to initialize entirely. Print a warning, log, and disable firing.
SS_INIT_NONEThe default return value which must be overriden. Will succeed with a warning.
SS_INIT_SUCCESSSubsystem initialized sucessfully.
SS_INIT_NO_NEEDIf your system doesn't need to be initialized (by being disabled or something)
SS_INIT_NO_MESSAGESuccesfully initialized, BUT do not announce it to players (generally to hide game mechanics it would otherwise spoil)
SS initialization load orders
GAME_STATE_STARTUPGame is loading
GAME_STATE_PREGAMEGame is loaded and in pregame lobby
GAME_STATE_SETTING_UPGame is attempting to start the round
GAME_STATE_PLAYINGGame has round in progress
GAME_STATE_FINISHEDGame has round finished
END_ROUND_AS_NORMALDefault, round is not being forced to end.
FORCE_END_ROUNDEnd the round now as normal
ADMIN_FORCE_END_ROUNDFor admin forcing roundend, can be used to distinguish the two
addtimerCreate a new timer and add it to the queue.
SS_INIT_TIMER_KEYThe timer key used to know how long subsystem initialization takes
VOTE_COUNT_METHOD_SINGLEFirst past the post. One selection per person, and the selection with the most votes wins.
VOTE_COUNT_METHOD_MULTIApproval voting. Any number of selections per person, and the selection with the most votes wins.

Define Details

+

ADMIN_FORCE_END_ROUND + + +

+

For admin forcing roundend, can be used to distinguish the two

DB_MAJOR_VERSION + + +

+

DB major schema version

+

Update this whenever the db schema changes

+

make sure you add an update to the schema_version stable in the db changelog

DB_MINOR_VERSION + + +

+

DB minor schema version

+

Update this whenever the db schema changes

+

make sure you add an update to the schema_version stable in the db changelog

END_ROUND_AS_NORMAL + + +

+

Default, round is not being forced to end.

FORCE_END_ROUND + + +

+

End the round now as normal

GAME_STATE_FINISHED + + +

+

Game has round finished

GAME_STATE_PLAYING + + +

+

Game has round in progress

GAME_STATE_PREGAME + + +

+

Game is loaded and in pregame lobby

GAME_STATE_SETTING_UP + + +

+

Game is attempting to start the round

GAME_STATE_STARTUP + + +

+

Game is loading

INITIALIZATION_INNEW_MAPLOAD + + +

+

New should call Initialize(TRUE)

INITIALIZATION_INNEW_REGULAR + + +

+

New should call Initialize(FALSE)

INITIALIZATION_INSSATOMS + + +

+

New should not call Initialize

INITIALIZE_HINT_LATELOAD + + +

+

call LateInitialize at the end of all atom Initalization

+

The item will be added to the late_loaders list, this is iterated over after +initalization of subsystems is complete and calls LateInitalize on the atom +see this file for the LateIntialize proc

INITIALIZE_HINT_NORMAL + + +

+

Nothing happens

INITIALIZE_HINT_QDEL + + +

+

Call qdel on the atom after intialization

INITIALIZE_IMMEDIATE + + + +

+

type and all subtypes should always immediately call Initialize in New()

PROCESS_KILL + + +

+

Used to trigger object removal from a processing list

SS_INIT_FAILURE + + +

+

Negative values incidate a failure or warning of some kind, positive are good. +0 and 1 are unused so that TRUE and FALSE are guarenteed to be invalid values. +Subsystem failed to initialize entirely. Print a warning, log, and disable firing.

SS_INIT_NONE + + +

+

The default return value which must be overriden. Will succeed with a warning.

SS_INIT_NO_MESSAGE + + +

+

Succesfully initialized, BUT do not announce it to players (generally to hide game mechanics it would otherwise spoil)

SS_INIT_NO_NEED + + +

+

If your system doesn't need to be initialized (by being disabled or something)

SS_INIT_SUCCESS + + +

+

Subsystem initialized sucessfully.

SS_INIT_TIMER_KEY + + +

+

The timer key used to know how long subsystem initialization takes

TIMER_CLIENT_TIME + + +

+

Timing should be based on how timing progresses on clients, not the server.

+

Tracking this is more expensive, +should only be used in conjuction with things that have to progress client side, such as +animate() or sound()

TIMER_DELETE_ME + + +

+

Delete the timer on parent datum Destroy() and when deltimer'd

TIMER_ID_NULL + + +

+

Empty ID define

TIMER_LOOP + + +

+

Loops the timer repeatedly until qdeleted

+

In most cases you want a subsystem instead, so don't use this unless you have a good reason

TIMER_NO_HASH_WAIT + + +

+

prevents distinguishing identical timers with the wait variable

+

To be used with TIMER_UNIQUE

TIMER_OVERRIDE + + +

+

For unique timers: Replace the old timer rather then not start this one

TIMER_STOPPABLE + + +

+

Timer can be stopped using deltimer()

TIMER_UNIQUE + + +

+

Don't run if there is an identical unique timer active

+

if the arguments to addtimer are the same as an existing timer, it doesn't create a new timer, +and returns the id of the existing timer

VOTE_COUNT_METHOD_MULTI + + +

+

Approval voting. Any number of selections per person, and the selection with the most votes wins.

VOTE_COUNT_METHOD_SINGLE + + +

+

First past the post. One selection per person, and the selection with the most votes wins.

addtimer + + + +

+

Create a new timer and add it to the queue.

+
+ + + diff --git a/code/__DEFINES/supermatter.html b/code/__DEFINES/supermatter.html new file mode 100644 index 00000000000..347b7b99513 --- /dev/null +++ b/code/__DEFINES/supermatter.html @@ -0,0 +1,310 @@ + + + + + + + code/__DEFINES/supermatter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/supermatter.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MIASMA_CONSUMPTION_PPThe minimum pressure for a pure miasma atmosphere to begin being consumed. Higher values mean it takes more miasma pressure to make miasma start being consumed. Should be >= 0
MIASMA_PRESSURE_SCALINGHow the amount of miasma consumed per tick scales with partial pressure. Higher values decrease the rate miasma consumption scales with partial pressure. Should be >0
MIASMA_GASMIX_SCALINGHow much the amount of miasma consumed per tick scales with gasmix power ratio. Higher values means gasmix has a greater effect on the miasma consumed.
MIASMA_POWER_GAINThe amount of matter power generated for every mole of miasma consumed. Higher values mean miasma generates more power.
CO2_CONSUMPTION_PPThe minimum pressure for a pure CO2 atmosphere to begin being consumed. Higher values mean it takes more CO2 pressure to make CO2 be consumed. Should be >= 0
CO2_PRESSURE_SCALINGHow the amount of CO2 consumed per tick scales with partial pressure. Higher values decrease the rate CO2 consumption scales with partial pressure. Should be >0
CO2_GASMIX_SCALINGHow much the amount of CO2 consumed per tick scales with gasmix power ratio. Higher values means gasmix has a greater effect on the CO2 consumed.
GAS_HEAT_POWER_SCALING_COEFFICIENTThe internal energy gain coefficient.
BASE_POWER_TRANSMISSION_RATEThe base zap power transmission of the supermatter crystal in W/MeV.
DETONATION_RADIATION_RANGEAll humans within this range will be irradiated
SUPERMATTER_FAST_HEALING_RATEIf the crystal is healing faster than this per damage check, we suppress the Common radio notification for the cooldown
SUPERMATTER_COUNTDOWN_TIMEHow long it takes for the supermatter to delaminate after hitting 0 integrity
SUPERMATTER_SLIVER_REMOVED_COUNTDOWN_TIMEHow long it takes for the supermatter to delaminate after hitting 0 integrity if a sliver has been removed
SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWNto prevent accent sounds from layering
POWERLOSS_CUBIC_DIVISORThe divisor scaling value for cubic power loss.
POWERLOSS_LINEAR_RATEThe rate at which the linear power loss function scales with power.
SM_DELAM_PRIO_NONEMeans it's not forced, sm decides itself by checking the /datum/sm_delam/proc/can_select
SM_DELAM_PRIO_IN_GAMEIn-game factors like the destabilizing crystal /obj/item/destabilizing_crystal. +Purged when SM heals to 100
SM_DELAM_STRATEGY_PURGEPurge the current forced delam and make it zero again (back to normal). +Needs to be higher priority than current forced_delam though.
SM_PROCESS_DISABLEDTotally disable the processing of the SM, used on the hugbox
SM_PROCESS_TIMESTOPTotally disable the processing of the SM, set when the timestop effect hit the SM
SM_PROCESS_ENABLEDEnable the SM to process atmos and internal procs
SUPERMATTER_ERRORUnknown status, shouldn't happen but just in case.
SUPERMATTER_INACTIVENo or minimal energy
SUPERMATTER_NORMALNormal operation
SUPERMATTER_NOTIFYAmbient temp 80% of the default temp for SM to take damage.
SUPERMATTER_WARNINGIntegrity below /obj/machinery/power/supermatter_crystal/var/warning_point. Start complaining on comms.
SUPERMATTER_DANGERIntegrity below /obj/machinery/power/supermatter_crystal/var/danger_point. Start spawning anomalies.
SUPERMATTER_EMERGENCYIntegrity below /obj/machinery/power/supermatter_crystal/var/emergency_point. Start complaining to more people.
SUPERMATTER_DELAMINATINGCurrently counting down to delamination. True /obj/machinery/power/supermatter_crystal/var/final_countdown
SM_POWER_EXTERNAL_IMMEDIATEHow much energy we get from external factors that are applied immediately.
SM_POWER_EXTERNAL_TRICKLEHow much energy we get from external factors that are applied over time.
SM_POWER_HEATHow much energy is gained from the temperature. Enabled by gas.
SM_POWER_POWERLOSSHow much energy the SM loses. Happens over time. +Order matters here. We depend on current power + power gained from the factors above for the loss calc.
SM_POWER_POWERLOSS_GASHow much of the energy the SM loses is recouped. From gas factors here. +Order matters here. We depend on the powerloss amount.
SM_POWER_POWERLOSS_SOOTHEDHow much of the energy the SM loses is recouped. From the psychologist this time. +Order matters here. We depend on the powerloss amount.
SM_DAMAGE_HEATHow many damage we take from heat.
SM_DAMAGE_POWERHow many damage we take from too much internal energy.
SM_DAMAGE_MOLESHow many damage we take from too much moles around us.
SM_DAMAGE_HEAL_HEATHow many we healed. Happens when temp is low.
SM_DAMAGE_EXTERNALHow many damage do we take from external factors. +This one is discrete.
SM_DAMAGE_SPACEDHow many damage do we take from space exposure. Here to prevent people from spacing SM chambers. +Also discrete.
SM_WASTE_BASEHow much waste multiplier we get just from existing.
SM_WASTE_GASHow much waste multiplier we get because of the gases around us.
SM_WASTE_SOOTHEDHow much waste multiplier we (don't) get because there is a psychologist.
SM_TEMP_LIMIT_BASEHow many kelvins we get before taking damage, Given by god.
SM_TEMP_LIMIT_GASHow many extra kelvins we get before taking damage, this time from gases. +Order matters, depends on base resistance.
SM_TEMP_LIMIT_SOOTHEDHow many extra kelvins we get before taking damage, this time from psychologist.
SM_TEMP_LIMIT_LOW_MOLESHow many extra kelvins we get before taking damage because our moles are low. I know, this is fucking hilarious. +Order matters, depends on base resistance.
SM_ZAP_BASEHow much we are multiplying our zap energy.
SM_ZAP_GASHow much we are multiplying our zap energy because of gas factors.
CASCADE_DELAMINATIONDelamination types.
SUPERMATTER_COLOURColours used for effects.

Define Details

+

BASE_POWER_TRANSMISSION_RATE + + +

+

The base zap power transmission of the supermatter crystal in W/MeV.

CASCADE_DELAMINATION + + +

+

Delamination types.

CO2_CONSUMPTION_PP + + +

+

The minimum pressure for a pure CO2 atmosphere to begin being consumed. Higher values mean it takes more CO2 pressure to make CO2 be consumed. Should be >= 0

CO2_GASMIX_SCALING + + +

+

How much the amount of CO2 consumed per tick scales with gasmix power ratio. Higher values means gasmix has a greater effect on the CO2 consumed.

CO2_PRESSURE_SCALING + + +

+

How the amount of CO2 consumed per tick scales with partial pressure. Higher values decrease the rate CO2 consumption scales with partial pressure. Should be >0

DETONATION_RADIATION_RANGE + + +

+

All humans within this range will be irradiated

GAS_HEAT_POWER_SCALING_COEFFICIENT + + +

+

The internal energy gain coefficient.

MIASMA_CONSUMPTION_PP + + +

+

The minimum pressure for a pure miasma atmosphere to begin being consumed. Higher values mean it takes more miasma pressure to make miasma start being consumed. Should be >= 0

MIASMA_GASMIX_SCALING + + +

+

How much the amount of miasma consumed per tick scales with gasmix power ratio. Higher values means gasmix has a greater effect on the miasma consumed.

MIASMA_POWER_GAIN + + +

+

The amount of matter power generated for every mole of miasma consumed. Higher values mean miasma generates more power.

MIASMA_PRESSURE_SCALING + + +

+

How the amount of miasma consumed per tick scales with partial pressure. Higher values decrease the rate miasma consumption scales with partial pressure. Should be >0

POWERLOSS_CUBIC_DIVISOR + + +

+

The divisor scaling value for cubic power loss.

POWERLOSS_LINEAR_RATE + + +

+

The rate at which the linear power loss function scales with power.

SM_DAMAGE_EXTERNAL + + +

+

How many damage do we take from external factors. +This one is discrete.

SM_DAMAGE_HEAL_HEAT + + +

+

How many we healed. Happens when temp is low.

SM_DAMAGE_HEAT + + +

+

How many damage we take from heat.

SM_DAMAGE_MOLES + + +

+

How many damage we take from too much moles around us.

SM_DAMAGE_POWER + + +

+

How many damage we take from too much internal energy.

SM_DAMAGE_SPACED + + +

+

How many damage do we take from space exposure. Here to prevent people from spacing SM chambers. +Also discrete.

SM_DELAM_PRIO_IN_GAME + + +

+

In-game factors like the destabilizing crystal /obj/item/destabilizing_crystal. +Purged when SM heals to 100

SM_DELAM_PRIO_NONE + + +

+

Means it's not forced, sm decides itself by checking the /datum/sm_delam/proc/can_select

SM_DELAM_STRATEGY_PURGE + + +

+

Purge the current forced delam and make it zero again (back to normal). +Needs to be higher priority than current forced_delam though.

SM_POWER_EXTERNAL_IMMEDIATE + + +

+

How much energy we get from external factors that are applied immediately.

SM_POWER_EXTERNAL_TRICKLE + + +

+

How much energy we get from external factors that are applied over time.

SM_POWER_HEAT + + +

+

How much energy is gained from the temperature. Enabled by gas.

SM_POWER_POWERLOSS + + +

+

How much energy the SM loses. Happens over time. +Order matters here. We depend on current power + power gained from the factors above for the loss calc.

SM_POWER_POWERLOSS_GAS + + +

+

How much of the energy the SM loses is recouped. From gas factors here. +Order matters here. We depend on the powerloss amount.

SM_POWER_POWERLOSS_SOOTHED + + +

+

How much of the energy the SM loses is recouped. From the psychologist this time. +Order matters here. We depend on the powerloss amount.

SM_PROCESS_DISABLED + + +

+

Totally disable the processing of the SM, used on the hugbox

SM_PROCESS_ENABLED + + +

+

Enable the SM to process atmos and internal procs

SM_PROCESS_TIMESTOP + + +

+

Totally disable the processing of the SM, set when the timestop effect hit the SM

SM_TEMP_LIMIT_BASE + + +

+

How many kelvins we get before taking damage, Given by god.

SM_TEMP_LIMIT_GAS + + +

+

How many extra kelvins we get before taking damage, this time from gases. +Order matters, depends on base resistance.

SM_TEMP_LIMIT_LOW_MOLES + + +

+

How many extra kelvins we get before taking damage because our moles are low. I know, this is fucking hilarious. +Order matters, depends on base resistance.

SM_TEMP_LIMIT_SOOTHED + + +

+

How many extra kelvins we get before taking damage, this time from psychologist.

SM_WASTE_BASE + + +

+

How much waste multiplier we get just from existing.

SM_WASTE_GAS + + +

+

How much waste multiplier we get because of the gases around us.

SM_WASTE_SOOTHED + + +

+

How much waste multiplier we (don't) get because there is a psychologist.

SM_ZAP_BASE + + +

+

How much we are multiplying our zap energy.

SM_ZAP_GAS + + +

+

How much we are multiplying our zap energy because of gas factors.

SUPERMATTER_ACCENT_SOUND_MIN_COOLDOWN + + +

+

to prevent accent sounds from layering

SUPERMATTER_COLOUR + + +

+

Colours used for effects.

SUPERMATTER_COUNTDOWN_TIME + + +

+

How long it takes for the supermatter to delaminate after hitting 0 integrity

SUPERMATTER_DANGER + + +

+

Integrity below /obj/machinery/power/supermatter_crystal/var/danger_point. Start spawning anomalies.

SUPERMATTER_DELAMINATING + + +

+

Currently counting down to delamination. True /obj/machinery/power/supermatter_crystal/var/final_countdown

SUPERMATTER_EMERGENCY + + +

+

Integrity below /obj/machinery/power/supermatter_crystal/var/emergency_point. Start complaining to more people.

SUPERMATTER_ERROR + + +

+

Unknown status, shouldn't happen but just in case.

SUPERMATTER_FAST_HEALING_RATE + + +

+

If the crystal is healing faster than this per damage check, we suppress the Common radio notification for the cooldown

SUPERMATTER_INACTIVE + + +

+

No or minimal energy

SUPERMATTER_NORMAL + + +

+

Normal operation

SUPERMATTER_NOTIFY + + +

+

Ambient temp 80% of the default temp for SM to take damage.

SUPERMATTER_SLIVER_REMOVED_COUNTDOWN_TIME + + +

+

How long it takes for the supermatter to delaminate after hitting 0 integrity if a sliver has been removed

SUPERMATTER_WARNING + + +

+

Integrity below /obj/machinery/power/supermatter_crystal/var/warning_point. Start complaining on comms.

+ + + diff --git a/code/__DEFINES/surgery.html b/code/__DEFINES/surgery.html new file mode 100644 index 00000000000..1e77aeb796b --- /dev/null +++ b/code/__DEFINES/surgery.html @@ -0,0 +1,212 @@ + + + + + + + code/__DEFINES/surgery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/surgery.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IS_ORGANIC_ORGANHelper to figure out if an organ is organic
IS_ROBOTIC_ORGANHelper to figure out if an organ is robotic
ORGAN_ORGANICOrganic organs, the default. Don't get affected by EMPs.
ORGAN_ROBOTICSynthetic organs, or cybernetic organs. Reacts to EMPs and don't deteriorate or heal
ORGAN_MINERALMineral organs. Snowflakey.
ORGAN_FROZENFrozen organs, don't deteriorate
ORGAN_FAILINGFailing organs perform damaging effects until replaced or fixed, and typically they don't function properly either
ORGAN_EMPSynthetic organ affected by an EMP. Deteriorates over time.
ORGAN_VITALCurrently only the brain - Removing this organ KILLS the owner
ORGAN_EDIBLECan be eaten
ORGAN_UNREMOVABLECan't be removed using surgery or other common means
ORGAN_HIDDENCan't be seen by scanners, doesn't anger body purists
ORGAN_VIRGINHas the organ already been inserted inside someone
IS_ORGANIC_LIMBHelper to figure out if a limb is organic
IS_ROBOTIC_LIMBHelper to figure out if a limb is robotic
BODYPART_UNREMOVABLEBodypart cannot be dismembered or amputated
BODYPART_PSEUDOPARTBodypart is a pseudopart (like a chainsaw arm)
BODYPART_IMPLANTEDBodypart did not match the owner's default bodypart limb_id when surgically implanted
BODYPART_UNHUSKABLEBodypart never displays as a husk
BP_BLOCK_CHANGE_SPECIESBodypart does not get replaced during set_species()
HEAD_HAIRHead can have hair
HEAD_FACIAL_HAIRHead can have facial hair
HEAD_LIPSHead can have lips
HEAD_EYESPRITESHead can have eye sprites
HEAD_EYECOLORHead will have colored eye sprites
HEAD_EYEHOLESHead can have eyeholes when missing eyes
HEAD_DEBRAINHead can have debrain overlay
HEAD_ALL_FEATURESAll head flags, default for most heads
SURGERY_STEP_FAILReturn value when the surgery step fails :(
SURGERY_IGNORE_CLOTHESWill allow the surgery to bypass clothes
SURGERY_SELF_OPERABLEWill allow the surgery to be performed by the user on themselves.
SURGERY_REQUIRE_RESTINGWill allow the surgery to work on mobs that aren't lying down.
SURGERY_REQUIRE_LIMBWill allow the surgery to work only if there's a limb.
SURGERY_REQUIRES_REAL_LIMBWill allow the surgery to work only if there's a real (eg. not pseudopart) limb.
SURGERY_MORBID_CURIOSITYWill grant a bonus during surgery steps to users with TRAIT_MORBID while they're using tools with CRUEL_IMPLEMENT
IS_IN_INVALID_SURGICAL_POSITIONReturn true if target is not in a valid body position for the surgery

Define Details

+

BODYPART_IMPLANTED + + +

+

Bodypart did not match the owner's default bodypart limb_id when surgically implanted

BODYPART_PSEUDOPART + + +

+

Bodypart is a pseudopart (like a chainsaw arm)

BODYPART_UNHUSKABLE + + +

+

Bodypart never displays as a husk

BODYPART_UNREMOVABLE + + +

+

Bodypart cannot be dismembered or amputated

BP_BLOCK_CHANGE_SPECIES + + +

+

Bodypart does not get replaced during set_species()

HEAD_ALL_FEATURES + + +

+

All head flags, default for most heads

HEAD_DEBRAIN + + +

+

Head can have debrain overlay

HEAD_EYECOLOR + + +

+

Head will have colored eye sprites

HEAD_EYEHOLES + + +

+

Head can have eyeholes when missing eyes

HEAD_EYESPRITES + + +

+

Head can have eye sprites

HEAD_FACIAL_HAIR + + +

+

Head can have facial hair

HEAD_HAIR + + +

+

Head can have hair

HEAD_LIPS + + +

+

Head can have lips

IS_IN_INVALID_SURGICAL_POSITION + + + +

+

Return true if target is not in a valid body position for the surgery

IS_ORGANIC_LIMB + + + +

+

Helper to figure out if a limb is organic

IS_ORGANIC_ORGAN + + + +

+

Helper to figure out if an organ is organic

IS_ROBOTIC_LIMB + + + +

+

Helper to figure out if a limb is robotic

IS_ROBOTIC_ORGAN + + + +

+

Helper to figure out if an organ is robotic

ORGAN_EDIBLE + + +

+

Can be eaten

ORGAN_EMP + + +

+

Synthetic organ affected by an EMP. Deteriorates over time.

ORGAN_FAILING + + +

+

Failing organs perform damaging effects until replaced or fixed, and typically they don't function properly either

ORGAN_FROZEN + + +

+

Frozen organs, don't deteriorate

ORGAN_HIDDEN + + +

+

Can't be seen by scanners, doesn't anger body purists

ORGAN_MINERAL + + +

+

Mineral organs. Snowflakey.

ORGAN_ORGANIC + + +

+

Organic organs, the default. Don't get affected by EMPs.

ORGAN_ROBOTIC + + +

+

Synthetic organs, or cybernetic organs. Reacts to EMPs and don't deteriorate or heal

ORGAN_UNREMOVABLE + + +

+

Can't be removed using surgery or other common means

ORGAN_VIRGIN + + +

+

Has the organ already been inserted inside someone

ORGAN_VITAL + + +

+

Currently only the brain - Removing this organ KILLS the owner

SURGERY_IGNORE_CLOTHES + + +

+

Will allow the surgery to bypass clothes

SURGERY_MORBID_CURIOSITY + + +

+

Will grant a bonus during surgery steps to users with TRAIT_MORBID while they're using tools with CRUEL_IMPLEMENT

SURGERY_REQUIRES_REAL_LIMB + + +

+

Will allow the surgery to work only if there's a real (eg. not pseudopart) limb.

SURGERY_REQUIRE_LIMB + + +

+

Will allow the surgery to work only if there's a limb.

SURGERY_REQUIRE_RESTING + + +

+

Will allow the surgery to work on mobs that aren't lying down.

SURGERY_SELF_OPERABLE + + +

+

Will allow the surgery to be performed by the user on themselves.

SURGERY_STEP_FAIL + + +

+

Return value when the surgery step fails :(

+ + + diff --git a/code/__DEFINES/text.html b/code/__DEFINES/text.html new file mode 100644 index 00000000000..9968fb44ed4 --- /dev/null +++ b/code/__DEFINES/text.html @@ -0,0 +1,214 @@ + + + + + + + code/__DEFINES/text.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/text.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FOURSPACESDoes 4 spaces. Used as a makeshift tabulator.
MAPTEXTStandard maptext +Prepares a text to be used for maptext. Use this so it doesn't look hideous.
MAPTEXT_PIXELLARIPixel-perfect scaled fonts for use in the MAP element as defined in skin.dmf
MAPTEXT_GRAND9KStandard size (ie: normal runechat) - Size options: 6pt 12pt 18pt.
MAPTEXT_TINY_UNICODESmall size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt.
MAPTEXT_SPESSFONTSmallest size. (ie: whisper runechat) - Size options: 6pt 12pt 18pt.
MAPTEXT_VCR_OSD_MONOPrepares a text to be used for maptext, using a variable size font.
WXH_TO_HEIGHTMacro from Lummox used to get height from a MeasureText proc. +resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.
SANITIZE_FILENAMERemoves characters incompatible with file names.
STRIP_HTML_SIMPLESimply removes the < and > characters, and limits the length of the message.
STRIP_HTML_FULLRemoves everything enclose in < and > inclusive of the bracket, and limits the length of the message.
STRING_DIRECTORYFolder directory for strings
BRAIN_DAMAGE_FILEFile location for brain damage traumas
ION_FILEFile location for AI ion laws
PIRATE_NAMES_FILEFile location for pirate names
REDPILL_FILEFile location for redpill questions
ARCADE_FILEFile location for arcade names
BOOMER_FILEFile location for boomer meme catchphrases
LOCATIONS_FILEFile location for locations on the station
WANTED_FILEFile location for wanted posters messages
VISTA_FILEFile location for really dumb suggestions memes
FLESH_SCAR_FILEFile location for flesh wound descriptions
BONE_SCAR_FILEFile location for bone wound descriptions
SCAR_LOC_FILEFile location for scar wound descriptions
EXODRONE_FILEFile location for exodrone descriptions
CLOWN_NONSENSE_FILEFile location for clown honk descriptions
CULT_SHUTTLE_CURSEFile location for cult shuttle curse descriptions
EIGENSTASIUM_FILEFile location for eigenstasium lines
HALLUCINATION_FILEFile location for hallucination lines
NINJA_FILEFile location for ninja lines
SPLASH_FILEFile loation for title splashes
MOTHER_FILEFile location for mother hallucination lines

Define Details

+

ARCADE_FILE + + +

+

File location for arcade names

BONE_SCAR_FILE + + +

+

File location for bone wound descriptions

BOOMER_FILE + + +

+

File location for boomer meme catchphrases

BRAIN_DAMAGE_FILE + + +

+

File location for brain damage traumas

CLOWN_NONSENSE_FILE + + +

+

File location for clown honk descriptions

CULT_SHUTTLE_CURSE + + +

+

File location for cult shuttle curse descriptions

EIGENSTASIUM_FILE + + +

+

File location for eigenstasium lines

EXODRONE_FILE + + +

+

File location for exodrone descriptions

FLESH_SCAR_FILE + + +

+

File location for flesh wound descriptions

FOURSPACES + + +

+

Does 4 spaces. Used as a makeshift tabulator.

HALLUCINATION_FILE + + +

+

File location for hallucination lines

ION_FILE + + +

+

File location for AI ion laws

LOCATIONS_FILE + + +

+

File location for locations on the station

MAPTEXT + + + +

+

Standard maptext +Prepares a text to be used for maptext. Use this so it doesn't look hideous.

MAPTEXT_GRAND9K + + + +

+

Standard size (ie: normal runechat) - Size options: 6pt 12pt 18pt.

MAPTEXT_PIXELLARI + + + +

+

Pixel-perfect scaled fonts for use in the MAP element as defined in skin.dmf

+

Four sizes to choose from, use the sizes as mentioned below. +Between the variations and a step there should be an option that fits your use case. +BYOND uses pt sizing, different than px used in TGUI. Using px will make it look blurry due to poor antialiasing.

+

Default sizes are prefilled in the macro for ease of use and a consistent visual look. +To use a step other than the default in the macro, specify it in a span style. +For example: MAPTEXT_PIXELLARI("Some large maptext here") +Large size (ie: context tooltips) - Size options: 12pt 24pt.

MAPTEXT_SPESSFONT + + + +

+

Smallest size. (ie: whisper runechat) - Size options: 6pt 12pt 18pt.

MAPTEXT_TINY_UNICODE + + + +

+

Small size. (ie: context subtooltips, spell delays) - Size options: 12pt 24pt.

MAPTEXT_VCR_OSD_MONO + + + +

+

Prepares a text to be used for maptext, using a variable size font.

+

More flexible but doesn't scale pixel perfect to BYOND icon resolutions. +(May be blurry.) Can use any size in pt or px.

+

You MUST Specify the size when using the macro +For example: MAPTEXT_VCR_OSD_MONO("Some large maptext here") +Prepares a text to be used for maptext, using a variable size font. +Variable size font. More flexible but doesn't scale pixel perfect to BYOND icon resolutions. (May be blurry.) Can use any size in pt or px.

MOTHER_FILE + + +

+

File location for mother hallucination lines

NINJA_FILE + + +

+

File location for ninja lines

PIRATE_NAMES_FILE + + +

+

File location for pirate names

REDPILL_FILE + + +

+

File location for redpill questions

SANITIZE_FILENAME + + + +

+

Removes characters incompatible with file names.

SCAR_LOC_FILE + + +

+

File location for scar wound descriptions

SPLASH_FILE + + +

+

File loation for title splashes

STRING_DIRECTORY + + +

+

Folder directory for strings

STRIP_HTML_FULL + + + +

+

Removes everything enclose in < and > inclusive of the bracket, and limits the length of the message.

STRIP_HTML_SIMPLE + + + +

+

Simply removes the < and > characters, and limits the length of the message.

VISTA_FILE + + +

+

File location for really dumb suggestions memes

WANTED_FILE + + +

+

File location for wanted posters messages

WXH_TO_HEIGHT + + + +

+

Macro from Lummox used to get height from a MeasureText proc. +resolves the MeasureText() return value once, then resolves the height, then sets return_var to that.

+ + + diff --git a/code/__DEFINES/tgs.html b/code/__DEFINES/tgs.html new file mode 100644 index 00000000000..a858213d51c --- /dev/null +++ b/code/__DEFINES/tgs.html @@ -0,0 +1,222 @@ + + + + + + + code/__DEFINES/tgs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tgs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TGS_EVENT_REBOOT_MODE_CHANGECreate this define if you want to do TGS configuration outside of this file. +Before a reboot mode change, extras parameters are the current and new reboot mode enums.
TGS_EVENT_PORT_SWAPBefore a port change is about to happen, extra parameters is new port.
TGS_EVENT_INSTANCE_RENAMEDBefore the instance is renamed, extra parameter is the new name.
TGS_EVENT_WATCHDOG_REATTACHAfter the watchdog reattaches to DD, extra parameter is the new /datum/tgs_version of the server.
TGS_EVENT_HEALTH_CHECKWhen the watchdog sends a health check to DD. No parameters.
TGS_EVENT_REPO_RESET_ORIGINWhen the repository is reset to its origin reference. Parameters: Reference name, Commit SHA.
TGS_EVENT_REPO_CHECKOUTWhen the repository performs a checkout. Parameters: Checkout git object.
TGS_EVENT_REPO_FETCHWhen the repository performs a fetch operation. No parameters.
TGS_EVENT_REPO_MERGE_PULL_REQUESTWhen the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user.
TGS_EVENT_REPO_PRE_SYNCHRONIZEBefore the repository makes a sychronize operation. Parameters: Absolute repostiory path.
TGS_EVENT_BYOND_INSTALL_STARTBefore a BYOND install operation begins. Parameters: /datum/tgs_version of the installing BYOND.
TGS_EVENT_BYOND_INSTALL_FAILWhen a BYOND install operation fails. Parameters: Error message
TGS_EVENT_BYOND_ACTIVE_VERSION_CHANGEWhen the active BYOND version changes. Parameters: (Nullable) /datum/tgs_version of the current BYOND, /datum/tgs_version of the new BYOND.
TGS_EVENT_COMPILE_STARTWhen the compiler starts running. Parameters: Game directory path, origin commit SHA.
TGS_EVENT_COMPILE_CANCELLEDWhen a compile is cancelled. No parameters.
TGS_EVENT_COMPILE_FAILUREWhen a compile fails. Parameters: Game directory path, [TRUE]/[FALSE] based on if the cause for failure was DMAPI validation.
TGS_EVENT_COMPILE_COMPLETEWhen a compile operation completes. Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead. Parameters: Game directory path.
TGS_EVENT_INSTANCE_AUTO_UPDATE_STARTWhen an automatic update for the current instance begins. No parameters.
TGS_EVENT_REPO_MERGE_CONFLICTWhen the repository encounters a merge conflict: Parameters: Base SHA, target SHA, base reference, target reference.
TGS_EVENT_DEPLOYMENT_COMPLETEWhen a deployment completes. No Parameters.
TGS_EVENT_WATCHDOG_SHUTDOWNBefore the watchdog shuts down. Not sent for graceful shutdowns. No parameters.
TGS_EVENT_WATCHDOG_DETACHBefore the watchdog detaches for a TGS update/restart. No parameters.
TGS_EVENT_WORLD_PRIMEWatchdog event when TgsInitializationComplete() is called. No parameters.
TGS_EVENT_REPO_SUBMODULE_UPDATEAfter a single submodule update is performed. Parameters: Updated submodule name.
TGS_EVENT_PRE_DREAM_MAKERAfter CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, byond version.
TGS_EVENT_DEPLOYMENT_CLEANUPWhenever a deployment folder is deleted from disk. Parameters: Game directory path.
TGS_REBOOT_MODE_NORMALThe server will reboot normally.
TGS_REBOOT_MODE_SHUTDOWNThe server will stop running on reboot.
TGS_REBOOT_MODE_RESTARTThe watchdog will restart on reboot.
TGS_SECURITY_TRUSTEDDreamDaemon Trusted security level.
TGS_SECURITY_SAFEDreamDaemon Safe security level.
TGS_SECURITY_ULTRASAFEDreamDaemon Ultrasafe security level.
TGS_VISIBILITY_PUBLICDreamDaemon public visibility level.
TGS_VISIBILITY_PRIVATEDreamDaemon private visibility level.
TGS_VISIBILITY_INVISIBLEDreamDaemon invisible visibility level.
TGS_TOPICPut this at the start of [/world/proc/Topic].
/datum/tgs_revision_informationRepresents git revision information.
/datum/tgs_versionRepresents a version.
/datum/tgs_revision_information/test_mergeRepresents a merge of a GitHub pull request.
/datum/tgs_chat_channelRepresents a connected chat channel.
/datum/tgs_event_handlerUser definable handler for TGS events.
/datum/tgs_chat_commandUser definable chat command.
/datum/tgs_message_contentUser definable chat message.
/datum/tgs_chat_embed/structureUser definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.
/datum/tgs_chat_embed/mediaCommon datum for similar discord embed medias.
/datum/tgs_chat_embed/footerSee https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.
/datum/tgs_chat_embed/providerSee https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details.
/datum/tgs_chat_embed/provider/authorSee https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New().
/datum/tgs_chat_embed/fieldSee https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New().

Define Details

+

TGS_EVENT_BYOND_ACTIVE_VERSION_CHANGE + + +

+

When the active BYOND version changes. Parameters: (Nullable) /datum/tgs_version of the current BYOND, /datum/tgs_version of the new BYOND.

TGS_EVENT_BYOND_INSTALL_FAIL + + +

+

When a BYOND install operation fails. Parameters: Error message

TGS_EVENT_BYOND_INSTALL_START + + +

+

Before a BYOND install operation begins. Parameters: /datum/tgs_version of the installing BYOND.

TGS_EVENT_COMPILE_CANCELLED + + +

+

When a compile is cancelled. No parameters.

TGS_EVENT_COMPILE_COMPLETE + + +

+

When a compile operation completes. Note, this event fires before the new .dmb is loaded into the watchdog. Consider using the TGS_EVENT_DEPLOYMENT_COMPLETE instead. Parameters: Game directory path.

TGS_EVENT_COMPILE_FAILURE + + +

+

When a compile fails. Parameters: Game directory path, [TRUE]/[FALSE] based on if the cause for failure was DMAPI validation.

TGS_EVENT_COMPILE_START + + +

+

When the compiler starts running. Parameters: Game directory path, origin commit SHA.

TGS_EVENT_DEPLOYMENT_CLEANUP + + +

+

Whenever a deployment folder is deleted from disk. Parameters: Game directory path.

TGS_EVENT_DEPLOYMENT_COMPLETE + + +

+

When a deployment completes. No Parameters.

TGS_EVENT_HEALTH_CHECK + + +

+

When the watchdog sends a health check to DD. No parameters.

TGS_EVENT_INSTANCE_AUTO_UPDATE_START + + +

+

When an automatic update for the current instance begins. No parameters.

TGS_EVENT_INSTANCE_RENAMED + + +

+

Before the instance is renamed, extra parameter is the new name.

TGS_EVENT_PORT_SWAP + + +

+

Before a port change is about to happen, extra parameters is new port.

TGS_EVENT_PRE_DREAM_MAKER + + +

+

After CodeModifications are applied, before DreamMaker is run. Parameters: Game directory path, origin commit sha, byond version.

TGS_EVENT_REBOOT_MODE_CHANGE + + +

+

Create this define if you want to do TGS configuration outside of this file. +Before a reboot mode change, extras parameters are the current and new reboot mode enums.

TGS_EVENT_REPO_CHECKOUT + + +

+

When the repository performs a checkout. Parameters: Checkout git object.

TGS_EVENT_REPO_FETCH + + +

+

When the repository performs a fetch operation. No parameters.

TGS_EVENT_REPO_MERGE_CONFLICT + + +

+

When the repository encounters a merge conflict: Parameters: Base SHA, target SHA, base reference, target reference.

TGS_EVENT_REPO_MERGE_PULL_REQUEST + + +

+

When the repository test merges. Parameters: PR Number, PR Sha, (Nullable) Comment made by TGS user.

TGS_EVENT_REPO_PRE_SYNCHRONIZE + + +

+

Before the repository makes a sychronize operation. Parameters: Absolute repostiory path.

TGS_EVENT_REPO_RESET_ORIGIN + + +

+

When the repository is reset to its origin reference. Parameters: Reference name, Commit SHA.

TGS_EVENT_REPO_SUBMODULE_UPDATE + + +

+

After a single submodule update is performed. Parameters: Updated submodule name.

TGS_EVENT_WATCHDOG_DETACH + + +

+

Before the watchdog detaches for a TGS update/restart. No parameters.

TGS_EVENT_WATCHDOG_REATTACH + + +

+

After the watchdog reattaches to DD, extra parameter is the new /datum/tgs_version of the server.

TGS_EVENT_WATCHDOG_SHUTDOWN + + +

+

Before the watchdog shuts down. Not sent for graceful shutdowns. No parameters.

TGS_EVENT_WORLD_PRIME + + +

+

Watchdog event when TgsInitializationComplete() is called. No parameters.

TGS_REBOOT_MODE_NORMAL + + +

+

The server will reboot normally.

TGS_REBOOT_MODE_RESTART + + +

+

The watchdog will restart on reboot.

TGS_REBOOT_MODE_SHUTDOWN + + +

+

The server will stop running on reboot.

TGS_SECURITY_SAFE + + +

+

DreamDaemon Safe security level.

TGS_SECURITY_TRUSTED + + +

+

DreamDaemon Trusted security level.

TGS_SECURITY_ULTRASAFE + + +

+

DreamDaemon Ultrasafe security level.

TGS_TOPIC + + +

+

Put this at the start of [/world/proc/Topic].

TGS_VISIBILITY_INVISIBLE + + +

+

DreamDaemon invisible visibility level.

TGS_VISIBILITY_PRIVATE + + +

+

DreamDaemon private visibility level.

TGS_VISIBILITY_PUBLIC + + +

+

DreamDaemon public visibility level.

+ + + diff --git a/code/__DEFINES/tgui.html b/code/__DEFINES/tgui.html new file mode 100644 index 00000000000..3199e36969d --- /dev/null +++ b/code/__DEFINES/tgui.html @@ -0,0 +1,100 @@ + + + + + + + code/__DEFINES/tgui.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tgui.dm + +

+ + + + + + + + + + + + + + + +
UI_INTERACTIVEGreen eye; fully interactive
UI_UPDATEOrange eye; updates but is not interactive
UI_DISABLEDRed eye; disabled, does not update
UI_CLOSEUI Should close
TGUI_WINDOW_SOFT_LIMITMaximum number of windows that can be suspended/reused
TGUI_WINDOW_HARD_LIMITMaximum number of open windows
TGUI_PING_TIMEOUTMaximum ping timeout allowed to detect zombie windows
TGUI_REFRESH_FULL_UPDATE_COOLDOWNUsed for rate-limiting to prevent DoS by excessively refreshing a TGUI window
TGUI_WINDOW_CLOSEDWindow does not exist
TGUI_WINDOW_LOADINGWindow was just opened, but is still not ready to be sent data
TGUI_WINDOW_READYWindow is free and ready to receive data
TGUI_WINDOW_IDGet a window id based on the provided pool index
TGUI_WINDOW_INDEXGet a pool index of the provided window id
TGUI_CREATE_MESSAGECreates a message packet for sending via output()

Define Details

+

TGUI_CREATE_MESSAGE + + + +

+

Creates a message packet for sending via output()

TGUI_PING_TIMEOUT + + +

+

Maximum ping timeout allowed to detect zombie windows

TGUI_REFRESH_FULL_UPDATE_COOLDOWN + + +

+

Used for rate-limiting to prevent DoS by excessively refreshing a TGUI window

TGUI_WINDOW_CLOSED + + +

+

Window does not exist

TGUI_WINDOW_HARD_LIMIT + + +

+

Maximum number of open windows

TGUI_WINDOW_ID + + + +

+

Get a window id based on the provided pool index

TGUI_WINDOW_INDEX + + + +

+

Get a pool index of the provided window id

TGUI_WINDOW_LOADING + + +

+

Window was just opened, but is still not ready to be sent data

TGUI_WINDOW_READY + + +

+

Window is free and ready to receive data

TGUI_WINDOW_SOFT_LIMIT + + +

+

Maximum number of windows that can be suspended/reused

UI_CLOSE + + +

+

UI Should close

UI_DISABLED + + +

+

Red eye; disabled, does not update

UI_INTERACTIVE + + +

+

Green eye; fully interactive

UI_UPDATE + + +

+

Orange eye; updates but is not interactive

+ + + diff --git a/code/__DEFINES/time.html b/code/__DEFINES/time.html new file mode 100644 index 00000000000..27dd38555c3 --- /dev/null +++ b/code/__DEFINES/time.html @@ -0,0 +1,204 @@ + + + + + + + code/__DEFINES/time.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/time.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MIDNIGHT_ROLLOVERnumber of deciseconds in a day
ROUND_TIMEdisplays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes
STATION_TIME_PASSEDReturns the time that has passed since the game started
CURRENT_STATION_YEARDefine that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset)
STATION_YEAR_OFFSETIn-universe, SS13 is set 540 years in the future from the real-world day, hence this number for determining the year-offset for the in-game year.
TIMEZONE_LINTLine Islands Time
TIMEZONE_TKTTokelau Time
TIMEZONE_TOTTonga Time
TIMEZONE_NZDTNew Zealand Daylight Time
TIMEZONE_NZSTNew Zealand Standard Time
TIMEZONE_NFTNorfolk Time
TIMEZONE_LHSTLord Howe Standard Time
TIMEZONE_AESTAustralian Eastern Standard Time
TIMEZONE_ACSTAustralian Central Standard Time
TIMEZONE_ACWSTAustralian Central Western Standard Time
TIMEZONE_AWSTAustralian Western Standard Time
TIMEZONE_CXTChristmas Island Time
TIMEZONE_CCTCocos Islands Time
TIMEZONE_CESTCentral European Summer Time
TIMEZONE_UTCCoordinated Universal Time
TIMEZONE_EDTEastern Daylight Time
TIMEZONE_ESTEastern Standard Time
TIMEZONE_CDTCentral Daylight Time
TIMEZONE_CSTCentral Standard Time
TIMEZONE_MDTMountain Daylight Time
TIMEZONE_MSTMountain Standard Time
TIMEZONE_PDTPacific Daylight Time
TIMEZONE_PSTPacific Standard Time
TIMEZONE_AKDTAlaska Daylight Time
TIMEZONE_AKSTAlaska Standard Time
TIMEZONE_HDTHawaii-Aleutian Daylight Time
TIMEZONE_HSTHawaii Standard Time
TIMEZONE_CKTCook Island Time
TIMEZONE_NUTNiue Time
TIMEZONE_ANYWHERE_ON_EARTHAnywhere on Earth

Define Details

+

CURRENT_STATION_YEAR + + +

+

Define that just has the current in-universe year for use in whatever context you might want to display that in. (For example, 2022 -> 2562 given a 540 year offset)

MIDNIGHT_ROLLOVER + + +

+

number of deciseconds in a day

ROUND_TIME + + + +

+

displays the current time into the round, with a lot of extra code just there for ensuring it looks okay after an entire day passes

STATION_TIME_PASSED + + + +

+

Returns the time that has passed since the game started

STATION_YEAR_OFFSET + + +

+

In-universe, SS13 is set 540 years in the future from the real-world day, hence this number for determining the year-offset for the in-game year.

TIMEZONE_ACST + + +

+

Australian Central Standard Time

TIMEZONE_ACWST + + +

+

Australian Central Western Standard Time

TIMEZONE_AEST + + +

+

Australian Eastern Standard Time

TIMEZONE_AKDT + + +

+

Alaska Daylight Time

TIMEZONE_AKST + + +

+

Alaska Standard Time

TIMEZONE_ANYWHERE_ON_EARTH + + +

+

Anywhere on Earth

TIMEZONE_AWST + + +

+

Australian Western Standard Time

TIMEZONE_CCT + + +

+

Cocos Islands Time

TIMEZONE_CDT + + +

+

Central Daylight Time

TIMEZONE_CEST + + +

+

Central European Summer Time

TIMEZONE_CKT + + +

+

Cook Island Time

TIMEZONE_CST + + +

+

Central Standard Time

TIMEZONE_CXT + + +

+

Christmas Island Time

TIMEZONE_EDT + + +

+

Eastern Daylight Time

TIMEZONE_EST + + +

+

Eastern Standard Time

TIMEZONE_HDT + + +

+

Hawaii-Aleutian Daylight Time

TIMEZONE_HST + + +

+

Hawaii Standard Time

TIMEZONE_LHST + + +

+

Lord Howe Standard Time

TIMEZONE_LINT + + +

+

Line Islands Time

TIMEZONE_MDT + + +

+

Mountain Daylight Time

TIMEZONE_MST + + +

+

Mountain Standard Time

TIMEZONE_NFT + + +

+

Norfolk Time

TIMEZONE_NUT + + +

+

Niue Time

TIMEZONE_NZDT + + +

+

New Zealand Daylight Time

TIMEZONE_NZST + + +

+

New Zealand Standard Time

TIMEZONE_PDT + + +

+

Pacific Daylight Time

TIMEZONE_PST + + +

+

Pacific Standard Time

TIMEZONE_TKT + + +

+

Tokelau Time

TIMEZONE_TOT + + +

+

Tonga Time

TIMEZONE_UTC + + +

+

Coordinated Universal Time

+ + + diff --git a/code/__DEFINES/tools.html b/code/__DEFINES/tools.html new file mode 100644 index 00000000000..f343f97d5db --- /dev/null +++ b/code/__DEFINES/tools.html @@ -0,0 +1,56 @@ + + + + + + + code/__DEFINES/tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tools.dm + +

+ + + + + + +
TOOL_RUSTSCRAPERCan be used to scrape rust off an any atom; which will result in the Rust Component being qdel'd
ITEM_INTERACT_SUCCESSReturn when an item interaction is successful. +This cancels the rest of the chain entirely and indicates success.
ITEM_INTERACT_BLOCKINGReturn to prevent the rest of the attack chain from being executed / preventing the item user from thwacking the target. +Similar to ITEM_INTERACT_SUCCESS, but does not necessarily indicate success.
ITEM_INTERACT_SKIP_TO_ATTACKReturn to skip the rest of the interaction chain, going straight to attack.
ITEM_INTERACT_ANY_BLOCKERCombination flag for any item interaction that blocks the rest of the attack chain

Define Details

+

ITEM_INTERACT_ANY_BLOCKER + + +

+

Combination flag for any item interaction that blocks the rest of the attack chain

ITEM_INTERACT_BLOCKING + + +

+

Return to prevent the rest of the attack chain from being executed / preventing the item user from thwacking the target. +Similar to ITEM_INTERACT_SUCCESS, but does not necessarily indicate success.

ITEM_INTERACT_SKIP_TO_ATTACK + + +

+

Return to skip the rest of the interaction chain, going straight to attack.

ITEM_INTERACT_SUCCESS + + +

+

Return when an item interaction is successful. +This cancels the rest of the chain entirely and indicates success.

TOOL_RUSTSCRAPER + + +

+

Can be used to scrape rust off an any atom; which will result in the Rust Component being qdel'd

+ + + diff --git a/code/__DEFINES/toys.html b/code/__DEFINES/toys.html new file mode 100644 index 00000000000..f1891e38794 --- /dev/null +++ b/code/__DEFINES/toys.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/toys.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/toys.dm + +

+ + + + + + +
DICE_NOT_RIGGEDDice has a normal chance to land on any value
DICE_BASICALLY_RIGGEDDice has a higher chance to land on a rigged value
DICE_TOTALLY_RIGGEDDice has a 100% chance to land on a rigged value
CARD_FACEDOWNcard is considered face down
CARD_FACEUPcard is considered face up

Define Details

+

CARD_FACEDOWN + + +

+

card is considered face down

CARD_FACEUP + + +

+

card is considered face up

DICE_BASICALLY_RIGGED + + +

+

Dice has a higher chance to land on a rigged value

DICE_NOT_RIGGED + + +

+

Dice has a normal chance to land on any value

DICE_TOTALLY_RIGGED + + +

+

Dice has a 100% chance to land on a rigged value

+ + + diff --git a/code/__DEFINES/traits/_traits.html b/code/__DEFINES/traits/_traits.html new file mode 100644 index 00000000000..5bac0b267c9 --- /dev/null +++ b/code/__DEFINES/traits/_traits.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/traits/_traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits/_traits.dm + +

+ + + + +
GET_TRAIT_SOURCESReturns a list of trait sources for this trait. Only useful for wacko cases and internal futzing +You should not be using this
COUNT_TRAIT_SOURCESReturns the amount of sources for a trait. useful if you don't want to have a "thing counter" stuck around all the time
HAS_MIND_TRAITA simple helper for checking traits in a mob's mind

Define Details

+

COUNT_TRAIT_SOURCES + + + +

+

Returns the amount of sources for a trait. useful if you don't want to have a "thing counter" stuck around all the time

GET_TRAIT_SOURCES + + + +

+

Returns a list of trait sources for this trait. Only useful for wacko cases and internal futzing +You should not be using this

HAS_MIND_TRAIT + + + +

+

A simple helper for checking traits in a mob's mind

+ + + diff --git a/code/__DEFINES/traits/declarations.html b/code/__DEFINES/traits/declarations.html new file mode 100644 index 00000000000..7e0ce7bdf3c --- /dev/null +++ b/code/__DEFINES/traits/declarations.html @@ -0,0 +1,1723 @@ + + + + + + + code/__DEFINES/traits/declarations.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits/declarations.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TRAIT_KNOCKEDOUTForces the user to stay unconscious.
TRAIT_IMMOBILIZEDPrevents voluntary movement.
TRAIT_FLOOREDPrevents voluntary standing or staying up on its own.
TRAIT_FORCED_STANDINGForces user to stay standing
TRAIT_HANDS_BLOCKEDPrevents usage of manipulation appendages (picking, holding or using items, manipulating storage).
TRAIT_UI_BLOCKEDInability to access UI hud elements. Turned into a trait from MOBILITY_UI to be able to track sources.
TRAIT_PULL_BLOCKEDInability to pull things. Turned into a trait from MOBILITY_PULL to be able to track sources.
TRAIT_RESTRAINEDAbstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.
TRAIT_UNDENSEApply this to make a mob not dense, and remove it when you want it to no longer make them undense, other sorces of undesity will still apply. Always define a unique source when adding a new instance of this!
TRAIT_EXPANDED_FOVExpands our FOV by 30 degrees if restricted
TRAIT_PERFECT_ATTACKERDoesn't miss attacks
TRAIT_GREENTEXT_CURSEDRecolored by item/greentext
TRAIT_CRITICAL_CONDITIONIn some kind of critical condition. Is able to succumb.
TRAIT_LITERATEWhitelist for mobs that can read or write
TRAIT_ILLITERATEBlacklist for mobs that can't read or write
TRAIT_MUTEMute. Can't talk.
TRAIT_SOFTSPOKENSoftspoken. Always whisper.
TRAIT_CURSEDGibs on death and slips like ice.
TRAIT_EMOTEMUTEEmotemute. Can't... emote.
TRAIT_DEFIB_BLACKLISTEDBlacklisted from being revived via defibrilator
TRAIT_CAN_HOLD_ITEMSTrait that means you are capable of holding items in some form
TRAIT_FENCE_CLIMBERTrait which lets you clamber over a barrier
TRAIT_CHUNKYFINGERSmeans that you can't use weapons with normal trigger guards.
TRAIT_FIST_MININGAllows you to mine with your bare hands
TRAIT_ADVANCEDTOOLUSERWhether a mob is dexterous enough to use machines and certain items or not.
TRAIT_GUN_NATURALMakes it so the mob can use guns regardless of tool user status
TRAIT_DEATHCOMACauses death-like unconsciousness
TRAIT_STASISThe mob has the stasis effect. +Does nothing on its own, applied via status effect.
TRAIT_FAKEDEATHMakes the owner appear as dead to most forms of medical examination
TRAIT_NO_TRANSFORM"Magic" trait that blocks the mob from moving or interacting with anything. Used for transient stuff like mob transformations or incorporality in special cases. +Will block movement, Life() (!!!), and other stuff based on the mob.
TRAIT_XENO_HOSTTracks whether we're gonna be a baby alien's mummy.
TRAIT_PARROT_PERCHEDThis parrot is currently perched
TRAIT_STUNIMMUNEThis mob is immune to stun causing status effects and stamcrit. +Prefer to use /mob/living/proc/check_stun_immunity over checking for this trait exactly.
TRAIT_IWASBATONEDAnti Dual-baton cooldown bypass exploit.
TRAIT_SHOCKIMMUNEAre we immune to shocks?
TRAIT_TESLA_SHOCKIMMUNEAre we immune to specifically tesla / SM shocks?
TRAIT_BEING_SHOCKEDIs this atom being actively shocked? Used to prevent repeated shocks.
TRAIT_CORPSELOCKEDPrevents you from leaving your corpse
TRAIT_USED_DNA_VAULTFor when you've gotten a power from a dna vault
TRAIT_RESISTHEATHANDSFor when you want to be able to touch hot things, but still want fire to be an issue.
TRAIT_BOMBIMMUNEThis human is immune to the effects of being exploded. (ex_act)
TRAIT_RADIMMUNEImmune to being irradiated
TRAIT_NUKEIMMUNEThis mob won't get gibbed by nukes going off
TRAIT_VIRUSIMMUNECan't be given viruses
TRAIT_UNHUSKABLEWon't become a husk under any circumstances
TRAIT_VIRUS_RESISTANCEReduces the chance viruses will spread to this mob, and if the mob has a virus, slows its advancement
TRAIT_NOSELFIGNITION_HEAD_ONLYPrevents plasmamen from self-igniting if only their helmet is missing
TRAIT_AGENDERSpecies with this trait are genderless
TRAIT_BLOOD_CLANSSpecies with this trait have a blood clan mechanic
TRAIT_HAS_MARKINGSSpecies with this trait have markings (this SUCKS, remove this later in favor of bodypart overlays)
TRAIT_USES_SKINTONESSpecies with this trait use skin tones for coloration
TRAIT_MUTANT_COLORSSpecies with this trait use mutant colors for coloration
TRAIT_FIXED_MUTANT_COLORSSpecies with this trait have mutant colors that cannot be chosen by the player, nor altered ingame by external means
TRAIT_FIXED_HAIRCOLORSpecies with this trait have a haircolor that cannot be chosen by the player, nor altered ingame by external means
TRAIT_NO_BLOOD_OVERLAYHumans with this trait won't get bloody hands, nor bloody feet
TRAIT_NO_UNDERWEARHumans with this trait cannot have underwear
TRAIT_NO_DEBRAIN_OVERLAYThis carbon doesn't show an overlay when they have no brain
TRAIT_NO_AUGMENTSHumans with this trait cannot get augmentation surgery
TRAIT_NOHUNGERThis carbon doesn't get hungry
TRAIT_NOBLOODThis carbon doesn't bleed
TRAIT_LIVERLESS_METABOLISMThis just means that the carbon will always have functional liverless metabolism
TRAIT_OVERDOSEIMMUNEThis carbon can't be overdosed by chems
TRAIT_NO_ZOMBIFYHumans with this trait cannot be turned into zombies
TRAIT_NO_DNA_COPYCarbons with this trait can't have their DNA copied by diseases nor changelings
TRAIT_NO_DNA_SCRAMBLECarbons with this trait cant have their dna scrambled by genetics or a disease retrovirus.
TRAIT_DRINKS_BLOODCarbons with this trait can eat blood to regenerate their own blood volume, instead of injecting it
TRAIT_TOXIMMUNEMob is immune to toxin damage
TRAIT_NOBREATHMob is immune to oxygen damage, does not need to breathe
TRAIT_DISGUISEDMob is currently disguised as something else (like a morph being another mob or an object). Holds a reference to the thing that applied the trait.
TRAIT_PLASMA_LOVER_METABOLISMUse when you want a mob to be able to metabolize plasma temporarily (e.g. plasma fixation disease symptom)
TRAIT_EASYBLEEDSpecies with this trait have 50% extra chance of bleeding from piercing and slashing wounds
TRAIT_NOCRITOVERLAYDoesn't get overlays from being in critical.
TRAIT_FASTMEDreduces the use time of syringes, pills, patches and medigels but only when using on someone
TRAIT_HOLYThe mob is holy and resistance to cult magic
TRAIT_ANTIMAGICThis mob is antimagic, and immune to spells / cannot cast spells
TRAIT_ANTIMAGIC_NO_SELFBLOCKThis allows a person who has antimagic to cast spells without getting blocked
TRAIT_RECENTLY_BLOCKED_MAGICThis mob recently blocked magic with some form of antimagic
TRAIT_MAGICALLY_GIFTEDThe user can do things like use magic staffs without penalty
TRAIT_INNATELY_FANTASTICAL_ITEMThis object innately spawns with fantasy variables already applied (the magical component is given to it on initialize), and thus we never want to give it the component again.
TRAIT_REVEAL_FISHAdded to mob or mind, changes the icons of the fish shown in the minigame UI depending on the possible reward.
TRAIT_REMOTE_TASTINGAdded to a mob, allows that mob to experience flavour-based moodlets when examining food
TRAIT_NO_SLIP_WATERStops the mob from slipping on water, or banana peels, or pretty much anything that doesn't have GALOSHES_DONT_HELP set
TRAIT_NO_SLIP_ICEStops the mob from slipping on permafrost ice (not any other ice) (but anything with SLIDE_ICE set)
TRAIT_NO_SLIP_SLIDEStop the mob from sliding around from being slipped, but not the slip part. +DOES NOT include ice slips.
TRAIT_NO_SLIP_ALLStops all slipping and sliding from ocurring
TRAIT_NO_GLIDEUnlinks gliding from movement speed, meaning that there will be a delay between movements rather than a single move movement between tiles
TRAIT_WOUND_SCANNEDApplied into wounds when they're scanned with the wound analyzer, halves time to treat them manually.
TRAIT_SUCCUMB_OVERRIDELets the user succumb even if they got NODEATH
TRAIT_SIXTHSENSECan hear observers
TRAIT_HEAR_THROUGH_DARKNESSIgnores darkness for hearing
TRAIT_PARALYSIS_L_ARMThese are used for brain-based paralysis, where replacing the limb won't fix it
TRAIT_ID_APPRAISERCan examine IDs to see if they are roundstart.
TRAIT_XRAY_VISIONGives us turf, mob and object vision through walls
TRAIT_THERMAL_VISIONGives us mob vision through walls and slight night vision
TRAIT_MESON_VISIONGives us turf vision through walls and slight night vision
TRAIT_TRUE_NIGHT_VISIONGives us Night vision
TRAIT_NEGATES_GRAVITYNegates our gravity, letting us move normally on floors in 0-g
TRAIT_IGNORING_GRAVITYWe are ignoring gravity
TRAIT_FORCED_GRAVITYWe have some form of forced gravity acting on us
TRAIT_GOOD_HEARINGMakes whispers clearly heard from seven tiles away, the full hearing range
TRAIT_XRAY_HEARINGAllows you to hear speech through walls
TRAIT_REAGENT_SCANNERLets us scan reagents
TRAIT_RESEARCH_SCANNERLets us scan machine parts and tech unlocks
TRAIT_WEB_WEAVERCan weave webs into cloth
TRAIT_WEB_SURFERCan navigate the web without getting stuck
TRAIT_SPINNING_WEB_TURFA web is being spun on this turf presently
TRAIT_QUICK_CARRYWe place people into a fireman carry quicker than standard
TRAIT_QUICKER_CARRYWe place people into a fireman carry especially quickly compared to quick_carry
TRAIT_PLANT_SAFEWe can handle 'dangerous' plants in botany safely
TRAIT_NEARSIGHTED_CORRECTEDPrevents the overlay from nearsighted
TRAIT_DIAGNOSTIC_HUDfor something granting you a diagnostic hud
TRAIT_MEDIBOTCOMINGTHROUGHIs a medbot healing you
TRAIT_NOFLASHMakes you immune to flashes
TRAIT_XENO_IMMUNEprevents xeno huggies implanting skeletons
TRAIT_NO_JUMPSUITAllows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.
TRAIT_DETECT_STORMalways detect storms on icebox
TRAIT_SPECIAL_TRAUMA_BOOSTIncreases chance of getting special traumas, makes them harder to cure
TRAIT_HYPERSPACEDSanity trait to keep track of when we're in hyperspace and add the appropriate element if we werent
TRAIT_FREE_HYPERSPACE_MOVEMENTGives the movable free hyperspace movement without being pulled during shuttle transit
TRAIT_FREE_HYPERSPACE_SOFTCORDON_MOVEMENTLets the movable move freely in the soft-cordon area of transit space, which would otherwise teleport them away just before they got to see the true cordon
TRAIT_DEL_ON_SPACE_DUMPDeletes the object upon being dumped into space, usually from exiting hyperspace. Useful if you're spawning in a lot of stuff for hyperspace events that dont need to flood the entire game
TRAIT_CLIFF_WALKERWe can walk up or around cliffs, or at least we don't fall off of it
TRAIT_GAMERGODGets double arcade prizes
TRAIT_SILENT_FOOTSTEPSmakes your footsteps completely silent
TRAIT_NICE_SHOThnnnnnnnggggg..... you're pretty good....
TRAIT_TUMOR_SUPPRESSEDprevents the damage done by a brain tumor
TRAIT_RDS_SUPPRESSEDPrevents hallucinations from the hallucination brain trauma (RDS)
TRAIT_PERMANENTLY_ONFIREmobs that have this trait cannot be extinguished
TRAIT_SIGN_LANGIndicates if the mob is currently speaking with sign language
TRAIT_CAN_SIGN_ON_COMMSThis mob is able to use sign language over the radio.
TRAIT_MARTIAL_ARTS_IMMUNEnobody can use martial arts on this mob
TRAIT_TIME_STOP_IMMUNEImmune to being afflicted by time stop (spell)
TRAIT_WEAK_SOULRevenants draining you only get a very small benefit.
TRAIT_NO_SOULThis mob has no soul
TRAIT_CANT_RIDEPrevents mob from riding mobs when buckled onto something
TRAIT_CANNOT_BE_UNBUCKLEDPrevents a mob from being unbuckled, currently only used to prevent people from falling over on the tram
TRAIT_BLOODY_MESSfrom heparin and nitrous oxide, makes open bleeding wounds rapidly spill more blood
TRAIT_COAGULATINGfrom coagulant reagents, this doesn't affect the bleeding itself but does affect the bleed warning messages
TRAIT_ANTICONVULSANTFrom anti-convulsant medication against seizures.
TRAIT_ANTENNAEThe holder of this trait has antennae or whatever that hurt a ton when noogied
TRAIT_KISS_OF_DEATHBlowing kisses actually does damage to the victim
TRAIT_GARLIC_BREATHUsed to activate french kissing
TRAIT_HOPELESSLY_ADDICTEDAddictions don't tick down, basically they're permanently addicted
TRAIT_CULT_HALOThis mob has a cult halo.
TRAIT_UNNATURAL_RED_GLOWY_EYESTheir eyes glow an unnatural red colour. Currently used to set special examine text on humans. Does not guarantee the mob's eyes are coloured red, nor that there is any visible glow on their character sprite.
TRAIT_BLOODSHOT_EYESTheir eyes are bloodshot. Currently used to set special examine text on humans. Examine text is overridden by TRAIT_UNNATURAL_RED_GLOWY_EYES.
TRAIT_PRESERVE_UI_WITHOUT_CLIENTThis mob should never close UI even if it doesn't have a client
TRAIT_BYPASS_MEASURESThis mob overrides certian SSlag_switch measures with this special trait
TRAIT_ALLOWED_HONORBOUND_ATTACKSomeone can safely be attacked with honorbound with ONLY a combat mode check, the trait is assuring holding a weapon and hitting won't hurt them..
TRAIT_SPARRINGThe user is sparring
TRAIT_ELITE_CHALLENGERThe user is currently challenging an elite mining mob. Prevents him from challenging another until he's either lost or won.
TRAIT_DONT_WRITE_MEMORYFor living mobs. It signals that the mob shouldn't have their data written in an external json for persistence.
TRAIT_SPRAY_PAINTABLEThis mob can be painted with the spraycan
TRAIT_AI_BAGATTACKThis atom can ignore the "is on a turf" check for simple AI datum attacks, allowing them to attack from bags or lockers as long as any other conditions are met
TRAIT_INVISIBLE_MANThis mobs bodyparts are invisible but still clickable.
TRAIT_HIDE_EXTERNAL_ORGANSDon't draw external organs/species features like wings, horns, frills and stuff
TRAIT_FREE_FLOAT_MOVEMENTWhen people are floating from zero-grav or something, we can move around freely!
TRAIT_FOV_APPLIEDMob has fov applied to it
TRAIT_REVENANT_REVEALEDTrait added when a revenant is visible.
TRAIT_REVENANT_INHIBITEDTrait added when a revenant has been inhibited (typically by the bane of a holy weapon)
TRAIT_NOFATTrait which prevents you from becoming overweight
TRAIT_ROCK_EATERTrait which allows you to eat rocks
TRAIT_ROCK_METAMORPHICTrait which allows you to gain bonuses from consuming rocks
TRAIT_NO_TELEPORTdo_teleport will not allow this atom to teleport
TRAIT_SECLUDED_LOCATIONThis atom is a secluded location, which is counted as out of bounds. +Anything that enters this atom's contents should react if it wants to stay in bounds.
TRAIT_FUGU_GLANDEDTrait used by fugu glands to avoid double buffing
TRAIT_WAS_RENAMEDTrait that tracks if something has been renamed. Typically holds a REF() to the object itself (AKA src) for wide addition/removal.
TRAIT_DOUBLE_TAPWhen someone with this trait fires a ranged weapon, their fire delays and click cooldowns are halved
TRAIT_HOT_SPRING_CURSEDTrait applied to /datum/mind to stop someone from using the cursed hot springs to polymorph more than once.
TRAIT_NOT_ENGRAVABLEIf something has been engraved/cannot be engraved
TRAIT_ORBITING_FORBIDDENWhether or not orbiting is blocked or not
TRAIT_SPIDER_CONSUMEDTrait applied to mob/living to mark that spiders should not gain further enriched eggs from eating their corpse.
TRAIT_SNEAKWhether we're sneaking, from the creature sneak ability.
TRAIT_BLIND_TOOLItem still allows you to examine items while blind and actively held.
TRAIT_UNKNOWNThe person with this trait always appears as 'unknown'.
TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSIONIf the mob has this trait and die, their bomb implant doesn't detonate automatically. It must be consciously activated.
TRAIT_HATED_BY_DOGSIf applied to a mob, nearby dogs will have a small chance to nonharmfully harass said mob
TRAIT_NOFEAR_HOLDUPSMobs with this trait will not be immobilized when held up
TRAIT_ADAMANTINE_EXTRACT_ARMORMob has gotten an armor buff from adamantine extract
TRAIT_NO_GUN_AKIMBOMobs with this trait won't be able to dual wield guns.
TRAIT_ALWAYS_HIT_ZONEProjectile with this trait will always hit the defined zone of a struck living mob.
TRAIT_MORBIDMobs with this trait do care about a few grisly things, such as digging up graves. They also really do not like bringing people back to life or tending wounds, but love autopsies and amputations.
TRAIT_IN_CALLWhether or not the user is in a MODlink call, prevents making more calls
TRAIT_ON_ELEVATED_SURFACEIs the mob standing on an elevated surface? This prevents them from dropping down if not elevated first.
TRAIT_SPACEBREATHINGLungs always breathe normally when in vacuum/space.
TRAIT_CAN_STRIPThis mob can strip other mobs.
TRAIT_CAN_USE_NUKECan use the nuclear device's UI, regardless of a lack of hands
TRAIT_MIMINGThe mob has an active mime vow of silence, and thus is unable to speak and has other mime things going on
TRAIT_MAGICALLY_PHASEDThis mob is phased out of reality from magic, either a jaunt or rod form
TRAIT_BRAINWASHINGthis skillchip trait lets you wash brains in washing machines to heal them
TRAIT_CHEF_KISSAllows chef's to chefs kiss their food, to make them with love
TRAIT_MOVE_GROUNDMovement type traits for movables. See elements/movetype_handler.dm
TRAIT_NO_FLOATING_ANIMDisables the floating animation. See above.
TRAIT_NO_PLASMA_TRANSFORMCannot be turned into a funny skeleton by the plasma river
TRAIT_LAVA_IMMUNEWeather immunities, also protect mobs inside them.
TRAIT_TENTACLE_IMMUNECannot be grabbed by goliath tentacles
TRAIT_OVERWATCHEDCurrently under the effect of overwatch
TRAIT_OVERWATCH_IMMUNECannot be targeted by watcher overwatch
TRAIT_PARALYSISUsed for limb-based paralysis, where replacing the limb will fix it.
TRAIT_DISABLED_BY_WOUNDUsed for limbs.
TRAIT_BLOCKING_EXPLOSIVESThis movable atom has the explosive block element
TRAIT_LAVA_STOPPEDLava will be safe to cross while it has this trait.
TRAIT_CHASM_STOPPEDChasms will be safe to cross while they've this trait.
TRAIT_IMMERSE_STOPPEDThe effects of the immerse element will be halted while this trait is present.
TRAIT_HYPERSPACE_STOPPEDThe effects of hyperspace drift are blocked when the tile has this trait
TRAIT_TURF_IGNORE_SLOWDOWNTurf slowdown will be ignored when this trait is added to a turf.
TRAIT_TURF_IGNORE_SLIPPERYMobs won't slip on a wet turf while it has this trait
TRAIT_FORBID_MINING_SHUTTLE_CONSOLE_OUTSIDE_STATIONMobs with this trait can't send the mining shuttle console when used outside the station itself
TRAIT_HEARING_SENSITIVEevery hearing sensitive atom has this trait
TRAIT_ACTIVE_STORAGEevery object that is currently the active storage of some client mob has this trait
TRAIT_CLIMBABLEClimbable trait, given and taken by the climbable element when added or removed. Exists to be easily checked via HAS_TRAIT().
TRAIT_HONKSPAMMINGUsed by the honkspam element to avoid spamming the sound. Amusing considering its name.
TRAIT_KEEP_TOGETHERUsed for managing KEEP_TOGETHER in [/atom/var/appearance_flags]
TRAIT_MAT_TRANSMUTEDMarks the item as having been transmuted. Functionally blacklists the item from being recycled or sold for materials.
TRAIT_BANNED_FROM_CARGO_SHUTTLEIf the item will block the cargo shuttle from flying to centcom
TRAIT_NO_MISSING_ITEM_ERRORIf the crate's contents are immune to the missing item manifest error
TRAIT_NO_MANIFEST_CONTENTS_ERRORIf the crate is immune to the wrong content in manifest error
TRAIT_MARKET_CRASHINGSSeconomy trait, if the market is crashing and people can't withdraw credits from ID cards.
TRAIT_NO_STORAGE_INSERTcannot be inserted in a storage.
TRAIT_T_RAY_VISIBLEVisible on t-ray scanners if the atom/var/level == 1
TRAIT_FOOD_GRILLEDIf this item's been grilled
TRAIT_FOOD_FRIEDIf this item's been fried
TRAIT_FOOD_SILVERThis is a silver slime created item
TRAIT_FOOD_CHEF_MADEIf this item's been made by a chef instead of being map-spawned or admin-spawned or such
TRAIT_NEEDS_TWO_HANDSThe items needs two hands to be carried
TRAIT_UNCATCHABLECan't be catched when thrown
TRAIT_FISH_SAFE_STORAGEFish in this won't die
TRAIT_FISH_CASE_COMPATIBILEStuff that can go inside fish cases
TRAIT_FISHING_BAITIf the item can be used as a bit.
TRAIT_BASIC_QUALITY_BAITThe quality of the bait. It influences odds of catching fish
TRAIT_OMNI_BAITBaits with this trait will ignore bait preferences and related fish traits.
TRAIT_PLANT_WILDMUTATEPlants that were mutated as a result of passive instability, not a mutation threshold.
TRAIT_APC_SHOCKINGIf you hit an APC with exposed internals with this item it will try to shock you
TRAIT_WIELDEDProperly wielded two handed item
TRAIT_TRANSFORM_ACTIVEA transforming item that is actively extended / transformed
TRAIT_NO_IMMOBILIZEBuckling yourself to objects with this trait won't immobilize you
TRAIT_NO_STRIPPrevents stripping this equipment
TRAIT_NO_BARCODESDisallows this item from being pricetagged with a barcode
TRAIT_ALLOW_HERETIC_CASTINGAllows heretics to cast their spells.
TRAIT_LIVING_HEARTDesignates a heart as a living heart for a heretic.
TRAIT_HAS_BEEN_KIDNAPPEDPrevents the same person from being chosen multiple times for kidnapping objective
TRAIT_CUSTOM_TAP_SOUNDAn item still plays its hitsound even if it has 0 force, instead of the tap
TRAIT_DANGEROUS_OBJECTMakes the feedback message when someone else is putting this item on you more noticeable
TRAIT_HAUNTEDdetermines whether or not objects are haunted and teleport/attack randomly
TRAIT_CATLIKE_GRACEThis mob always lands on their feet when they fall, for better or for worse.
TRAIT_STICKEREDif the atom has a sticker attached to it
TRAIT_LIGHTING_DEBUGGEDThis object has light debugging tools attached to it
TRAIT_SHIFTY_EYESGives you the Shifty Eyes quirk, rarely making people who examine you think you examined them back even when you didn't
TRAIT_GAMERTrait for the gamer quirk.
TRAIT_DRYABLETrait for dryable items
TRAIT_DRIEDTrait for dried items
TRAIT_CUSTOMIZABLE_REAGENT_HOLDERTrait for customizable reagent holder
TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENTTrait for allowing an item that isn't food into the customizable reagent holder
TRAIT_BEING_BLADE_SHIELDEDUsed to prevent multiple floating blades from triggering over the same target
TRAIT_UNOBSERVANTThis mob doesn't count as looking at you if you can only act while unobserved
TRAIT_MAY_CONTAIN_BLENDED_DUSTMinor trait used for beakers, or beaker-ishes. /obj/item/reagent_containers, to show that they've been used in a reagent grinder.
TRAIT_CANNOT_CRYSTALIZETrait put on /mob/living/carbon/human. If that mob has a crystal core, also known as an ethereal heart, it will not try to revive them if the mob dies.
TRAIT_FIREDOOR_STOPTrait applied to turfs when an atmos holosign is placed on them. It will stop firedoors from closing.
TRAIT_COMPONENT_MMITrait applied when the MMI component is added to an /obj/item/integrated_circuit
TRAIT_CIRCUIT_UNDUPABLETrait applied when an integrated circuit/module becomes undupable
TRAIT_CIRCUIT_UI_OPENTrait applied when an integrated circuit opens a UI on a player (see list pick component)
TRAIT_PDA_MESSAGE_MENU_RIGGEDPDA Traits. This one makes PDAs explode if the user opens the messages menu
TRAIT_PDA_CAN_EXPLODEThis one denotes a PDA has received a rigged message and will explode when the user tries to reply to a rigged PDA message
TRAIT_DISEASELIKE_SEVERITY_MEDIUMIf present on a /mob/living/carbon, will make them appear to have a medium level disease on health HUDs.
TRAIT_TENACIOUStrait denoting someone will crawl faster in soft crit
TRAIT_UNBREAKABLEtrait denoting someone will sometimes recover out of crit
TRAIT_AI_PAUSEDtrait that prevents AI controllers from planning detached from ai_status to prevent weird state stuff.
TRAIT_TOWER_OF_BABELthis is used to bypass tongue language restrictions but not tongue disabilities
TRAIT_RECENTLY_COINEDThis target has recently been shot by a marksman coin and is very briefly immune to being hit by one again to prevent recursion
TRAIT_ECHOLOCATION_RECEIVERReceives echolocation images.
TRAIT_ECHOLOCATION_EXTRA_RANGEEcholocation has a higher range.
TRAIT_SUICIDEDTrait given to a living mob and any observer mobs that stem from them if they suicide. +For clarity, this trait should always be associated/tied to a reference to the mob that suicided- not anything else.
TRAIT_PERMANENTLY_MORTALTrait given to a living mob to prevent wizards from making it immortal
TRAIT_MIND_TEMPORARILY_GONETrait given to a mob with a ckey currently in a temporary body, allowing people to know someone will re-enter the round later.
TRAIT_TEMPORARY_BODYSimilar trait given to temporary bodies inhabited by players
TRAIT_OREBOX_FUNCTIONALTrait given to mechs that can have orebox functionality on movement
TRAIT_MECHA_CREATED_NORMALLYA trait for mechs that were created through the normal construction process, and not spawned by map or other effects.
TRAIT_RESIST_EMULSIFYfish traits
TRAIT_FISH_FED_LUBETrait needed for the lubefish evolution
TRAIT_FISH_FROM_CASEIt comes from a fish case. Relevant for bounties so far.
TRAIT_ANGELICTrait given to angelic constructs to let them purge cult runes
TRAIT_DREAMINGTrait given to a dreaming carbon when they are currently doing dreaming stuff
TRAIT_RUSTYgeneric atom traits +Trait from /datum/element/rust. Its rusty and should be applying a special overlay to denote this.
TRAIT_DO_NOT_SPLASHStops someone from splashing their reagent_container on an object with this trait
TRAIT_CURRENTLY_CLEANINGMarks an atom when the cleaning of it is first started, so that the cleaning overlay doesn't get removed prematurely
TRAIT_CHASM_DESTROYEDObjects with this trait are deleted if they fall into chasms, rather than entering abstract storage
TRAIT_UNDERFLOORTrait from being under the floor in some manner
TRAIT_NO_MIRROR_REFLECTIONIf the movable shouldn't be reflected by mirrors.
TRAIT_IMMERSEDIf this movable is currently treading in a turf with the immerse element.
TRAIT_ELEVATED_TURFFrom /datum/element/elevation_core for purpose of checking if the turf has the trait from an instance of the element
TRAIT_UNIQUE_IMMERSEWith this, the immerse overlay will give the atom its own submersion visual overlay +instead of one that's also shared with other movables, thus making editing its appearance possible.
TRAIT_TELEKINESIS_CONTROLLEDThis item is currently under the control of telekinesis
TRAIT_CHANGELING_HIVEMIND_MUTEchangelings with this trait can no longer talk over the hivemind
TRAIT_BLOB_ALLYIsn't attacked harmfully by blob structures
STATION_TRAIT_BANANIUM_SHIPMENTSTraits given by station traits
TRAIT_SPINNINGThis atom is currently spinning.
TRAIT_JOB_FIRST_ID_CARDDenotes that this id card was given via the job outfit, aka the first ID this player got.
TRAIT_MAGNETIC_ID_CARDID cards with this trait will attempt to forcibly occupy the front-facing ID card slot in wallets.
TRAIT_TASTEFULLY_THICK_ID_CARDID cards with this trait have special appraisal text.
TRAIT_ALWAYS_NO_ACCESSthings with this trait are treated as having no access in /obj/proc/check_access(obj/item)
TRAIT_SEE_GLASS_COLORSThis human wants to see the color of their glasses, for some reason
TRAIT_IRRADIATEDMarks that this object is irradiated
TRAIT_HALT_RADIATION_EFFECTSHarmful radiation effects, the toxin damage and the burns, will not occur while this trait is active
TRAIT_RADIATION_PROTECTED_CLOTHINGThis clothing protects the user from radiation. +This should not be used on clothing_traits, but should be applied to the clothing itself.
TRAIT_BYPASS_EARLY_IRRADIATED_CHECKWhether or not this item will allow the radiation SS to go through standard +radiation processing as if this wasn't already irradiated. +Basically, without this, COMSIG_IN_RANGE_OF_IRRADIATION won't fire once the object is irradiated.
TRAIT_WAS_EVOLVEDSimple trait that just holds if we came into growth from a specific mob type. Should hold a REF(src) to the type of mob that caused the growth, not anything else.
TRAIT_HEALS_FROM_CARP_RIFTSThis mob heals from carp rifts.
TRAIT_HEALS_FROM_CULT_PYLONSThis mob heals from cult pylons.
TRAIT_MULTIZ_SUIT_SENSORSIgnore Crew monitor Z levels
TRAIT_FINGERPRINT_PASSTHROUGHIgnores body_parts_covered during the add_fingerprint() proc. Works both on the person and the item in the glove slot.
TRAIT_FROZENthis object has been frozen
TRAIT_GONE_FISHINGCurrently fishing
TRAIT_TACKLING_WINGED_ATTACKERMakes a species be better/worse at tackling depending on their wing's status
TRAIT_TACKLING_FRAIL_ATTACKERMakes a species be frail and more likely to roll bad results if they hit a wall
TRAIT_TACKLING_TAILED_DEFENDERMakes a species be better/worse at defending against tackling depending on their tail's status
TRAIT_RUNECHAT_HIDDENIs runechat for this atom/movable currently disabled, regardless of prefs or anything?
TRAIT_HAS_LABELthe object has a label applied
TRAIT_THINKING_IN_CHARACTERTrait given to a mob that is currently thinking (giving off the "thinking" icon), used in an IC context
TRAIT_SPEAKS_CLEARLYwithout a human having this trait, they speak as if they have no tongue.
TRAIT_GERM_SENSITIVETrait given by /datum/component/germ_sensitive
TRAIT_CASTABLE_LOCThis atom can have spells cast from it if a mob is within it +This means the "caster" of the spell is changed to the mob's loc +Note this doesn't mean all spells are guaranteed to work or the mob is guaranteed to cast
TRAIT_RELAYING_ATTACKERTrait given by /datum/element/relay_attacker
TRAIT_IGNORED_BY_LIVING_FLESHTrait given to limb by /mob/living/basic/living_limb_flesh
TRAIT_WING_BUFFETTrait given while using /datum/action/cooldown/mob_cooldown/wing_buffet
TRAIT_WING_BUFFET_TIREDTrait given while tired after using /datum/action/cooldown/mob_cooldown/wing_buffet
TRAIT_RIFT_FAILURETrait given to a dragon who fails to defend their rifts
TRAIT_MOB_BREEDERtrait determines if this mob can breed given by /datum/component/breeding
TRAIT_NO_MINDSWAPTrait given to mobs that we do not want to mindswap
TRAIT_BAKEABLEtrait given to food that can be baked by /datum/component/bakeable
TRAIT_DART_HAS_INSERTTrait given to foam darts that have an insert in them
TRAIT_CLEANBOT_WHISPERERTrait granted by janitor skillchip, allows communication with cleanbots
TRAIT_INVISIMINTrait given when a mob is currently in invisimin mode
TRAIT_MOB_TIPPEDTrait given when a mob has been tipped
TRAIT_ALWAYS_WANTEDTrait which self-identifies as an enemy of the law

Define Details

+

STATION_TRAIT_BANANIUM_SHIPMENTS + + +

+

Traits given by station traits

TRAIT_ACTIVE_STORAGE + + +

+

every object that is currently the active storage of some client mob has this trait

TRAIT_ADAMANTINE_EXTRACT_ARMOR + + +

+

Mob has gotten an armor buff from adamantine extract

TRAIT_ADVANCEDTOOLUSER + + +

+

Whether a mob is dexterous enough to use machines and certain items or not.

TRAIT_AGENDER + + +

+

Species with this trait are genderless

TRAIT_AI_BAGATTACK + + +

+

This atom can ignore the "is on a turf" check for simple AI datum attacks, allowing them to attack from bags or lockers as long as any other conditions are met

TRAIT_AI_PAUSED + + +

+

trait that prevents AI controllers from planning detached from ai_status to prevent weird state stuff.

TRAIT_ALLOWED_HONORBOUND_ATTACK + + +

+

Someone can safely be attacked with honorbound with ONLY a combat mode check, the trait is assuring holding a weapon and hitting won't hurt them..

TRAIT_ALLOW_HERETIC_CASTING + + +

+

Allows heretics to cast their spells.

TRAIT_ALWAYS_HIT_ZONE + + +

+

Projectile with this trait will always hit the defined zone of a struck living mob.

TRAIT_ALWAYS_NO_ACCESS + + +

+

things with this trait are treated as having no access in /obj/proc/check_access(obj/item)

TRAIT_ALWAYS_WANTED + + +

+

Trait which self-identifies as an enemy of the law

TRAIT_ANGELIC + + +

+

Trait given to angelic constructs to let them purge cult runes

TRAIT_ANTENNAE + + +

+

The holder of this trait has antennae or whatever that hurt a ton when noogied

TRAIT_ANTICONVULSANT + + +

+

From anti-convulsant medication against seizures.

TRAIT_ANTIMAGIC + + +

+

This mob is antimagic, and immune to spells / cannot cast spells

TRAIT_ANTIMAGIC_NO_SELFBLOCK + + +

+

This allows a person who has antimagic to cast spells without getting blocked

TRAIT_APC_SHOCKING + + +

+

If you hit an APC with exposed internals with this item it will try to shock you

TRAIT_BAKEABLE + + +

+

trait given to food that can be baked by /datum/component/bakeable

TRAIT_BANNED_FROM_CARGO_SHUTTLE + + +

+

If the item will block the cargo shuttle from flying to centcom

TRAIT_BASIC_QUALITY_BAIT + + +

+

The quality of the bait. It influences odds of catching fish

TRAIT_BEING_BLADE_SHIELDED + + +

+

Used to prevent multiple floating blades from triggering over the same target

TRAIT_BEING_SHOCKED + + +

+

Is this atom being actively shocked? Used to prevent repeated shocks.

TRAIT_BLIND_TOOL + + +

+

Item still allows you to examine items while blind and actively held.

TRAIT_BLOB_ALLY + + +

+

Isn't attacked harmfully by blob structures

TRAIT_BLOCKING_EXPLOSIVES + + +

+

This movable atom has the explosive block element

TRAIT_BLOODSHOT_EYES + + +

+

Their eyes are bloodshot. Currently used to set special examine text on humans. Examine text is overridden by TRAIT_UNNATURAL_RED_GLOWY_EYES.

TRAIT_BLOODY_MESS + + +

+

from heparin and nitrous oxide, makes open bleeding wounds rapidly spill more blood

TRAIT_BLOOD_CLANS + + +

+

Species with this trait have a blood clan mechanic

TRAIT_BOMBIMMUNE + + +

+

This human is immune to the effects of being exploded. (ex_act)

TRAIT_BRAINWASHING + + +

+

this skillchip trait lets you wash brains in washing machines to heal them

TRAIT_BYPASS_EARLY_IRRADIATED_CHECK + + +

+

Whether or not this item will allow the radiation SS to go through standard +radiation processing as if this wasn't already irradiated. +Basically, without this, COMSIG_IN_RANGE_OF_IRRADIATION won't fire once the object is irradiated.

TRAIT_BYPASS_MEASURES + + +

+

This mob overrides certian SSlag_switch measures with this special trait

TRAIT_CANNOT_BE_UNBUCKLED + + +

+

Prevents a mob from being unbuckled, currently only used to prevent people from falling over on the tram

TRAIT_CANNOT_CRYSTALIZE + + +

+

Trait put on /mob/living/carbon/human. If that mob has a crystal core, also known as an ethereal heart, it will not try to revive them if the mob dies.

TRAIT_CANT_RIDE + + +

+

Prevents mob from riding mobs when buckled onto something

TRAIT_CAN_HOLD_ITEMS + + +

+

Trait that means you are capable of holding items in some form

TRAIT_CAN_SIGN_ON_COMMS + + +

+

This mob is able to use sign language over the radio.

TRAIT_CAN_STRIP + + +

+

This mob can strip other mobs.

TRAIT_CAN_USE_NUKE + + +

+

Can use the nuclear device's UI, regardless of a lack of hands

TRAIT_CASTABLE_LOC + + +

+

This atom can have spells cast from it if a mob is within it +This means the "caster" of the spell is changed to the mob's loc +Note this doesn't mean all spells are guaranteed to work or the mob is guaranteed to cast

TRAIT_CATLIKE_GRACE + + +

+

This mob always lands on their feet when they fall, for better or for worse.

TRAIT_CHANGELING_HIVEMIND_MUTE + + +

+

changelings with this trait can no longer talk over the hivemind

TRAIT_CHASM_DESTROYED + + +

+

Objects with this trait are deleted if they fall into chasms, rather than entering abstract storage

TRAIT_CHASM_STOPPED + + +

+

Chasms will be safe to cross while they've this trait.

TRAIT_CHEF_KISS + + +

+

Allows chef's to chefs kiss their food, to make them with love

TRAIT_CHUNKYFINGERS + + +

+

means that you can't use weapons with normal trigger guards.

TRAIT_CIRCUIT_UI_OPEN + + +

+

Trait applied when an integrated circuit opens a UI on a player (see list pick component)

TRAIT_CIRCUIT_UNDUPABLE + + +

+

Trait applied when an integrated circuit/module becomes undupable

TRAIT_CLEANBOT_WHISPERER + + +

+

Trait granted by janitor skillchip, allows communication with cleanbots

TRAIT_CLIFF_WALKER + + +

+

We can walk up or around cliffs, or at least we don't fall off of it

TRAIT_CLIMBABLE + + +

+

Climbable trait, given and taken by the climbable element when added or removed. Exists to be easily checked via HAS_TRAIT().

TRAIT_COAGULATING + + +

+

from coagulant reagents, this doesn't affect the bleeding itself but does affect the bleed warning messages

TRAIT_COMPONENT_MMI + + +

+

Trait applied when the MMI component is added to an /obj/item/integrated_circuit

TRAIT_CORPSELOCKED + + +

+

Prevents you from leaving your corpse

TRAIT_CRITICAL_CONDITION + + +

+

In some kind of critical condition. Is able to succumb.

TRAIT_CULT_HALO + + +

+

This mob has a cult halo.

TRAIT_CURRENTLY_CLEANING + + +

+

Marks an atom when the cleaning of it is first started, so that the cleaning overlay doesn't get removed prematurely

TRAIT_CURSED + + +

+

Gibs on death and slips like ice.

TRAIT_CUSTOMIZABLE_REAGENT_HOLDER + + +

+

Trait for customizable reagent holder

TRAIT_CUSTOM_TAP_SOUND + + +

+

An item still plays its hitsound even if it has 0 force, instead of the tap

TRAIT_DANGEROUS_OBJECT + + +

+

Makes the feedback message when someone else is putting this item on you more noticeable

TRAIT_DART_HAS_INSERT + + +

+

Trait given to foam darts that have an insert in them

TRAIT_DEATHCOMA + + +

+

Causes death-like unconsciousness

TRAIT_DEFIB_BLACKLISTED + + +

+

Blacklisted from being revived via defibrilator

TRAIT_DEL_ON_SPACE_DUMP + + +

+

Deletes the object upon being dumped into space, usually from exiting hyperspace. Useful if you're spawning in a lot of stuff for hyperspace events that dont need to flood the entire game

TRAIT_DETECT_STORM + + +

+

always detect storms on icebox

TRAIT_DIAGNOSTIC_HUD + + +

+

for something granting you a diagnostic hud

TRAIT_DISABLED_BY_WOUND + + +

+

Used for limbs.

TRAIT_DISEASELIKE_SEVERITY_MEDIUM + + +

+

If present on a /mob/living/carbon, will make them appear to have a medium level disease on health HUDs.

TRAIT_DISGUISED + + +

+

Mob is currently disguised as something else (like a morph being another mob or an object). Holds a reference to the thing that applied the trait.

TRAIT_DONT_WRITE_MEMORY + + +

+

For living mobs. It signals that the mob shouldn't have their data written in an external json for persistence.

TRAIT_DOUBLE_TAP + + +

+

When someone with this trait fires a ranged weapon, their fire delays and click cooldowns are halved

TRAIT_DO_NOT_SPLASH + + +

+

Stops someone from splashing their reagent_container on an object with this trait

TRAIT_DREAMING + + +

+

Trait given to a dreaming carbon when they are currently doing dreaming stuff

TRAIT_DRIED + + +

+

Trait for dried items

TRAIT_DRINKS_BLOOD + + +

+

Carbons with this trait can eat blood to regenerate their own blood volume, instead of injecting it

TRAIT_DRYABLE + + +

+

Trait for dryable items

TRAIT_EASYBLEED + + +

+

Species with this trait have 50% extra chance of bleeding from piercing and slashing wounds

TRAIT_ECHOLOCATION_EXTRA_RANGE + + +

+

Echolocation has a higher range.

TRAIT_ECHOLOCATION_RECEIVER + + +

+

Receives echolocation images.

TRAIT_ELEVATED_TURF + + +

+

From /datum/element/elevation_core for purpose of checking if the turf has the trait from an instance of the element

TRAIT_ELITE_CHALLENGER + + +

+

The user is currently challenging an elite mining mob. Prevents him from challenging another until he's either lost or won.

TRAIT_EMOTEMUTE + + +

+

Emotemute. Can't... emote.

TRAIT_EXPANDED_FOV + + +

+

Expands our FOV by 30 degrees if restricted

TRAIT_FAKEDEATH + + +

+

Makes the owner appear as dead to most forms of medical examination

TRAIT_FASTMED + + +

+

reduces the use time of syringes, pills, patches and medigels but only when using on someone

TRAIT_FENCE_CLIMBER + + +

+

Trait which lets you clamber over a barrier

TRAIT_FINGERPRINT_PASSTHROUGH + + +

+

Ignores body_parts_covered during the add_fingerprint() proc. Works both on the person and the item in the glove slot.

TRAIT_FIREDOOR_STOP + + +

+

Trait applied to turfs when an atmos holosign is placed on them. It will stop firedoors from closing.

TRAIT_FISHING_BAIT + + +

+

If the item can be used as a bit.

TRAIT_FISH_CASE_COMPATIBILE + + +

+

Stuff that can go inside fish cases

TRAIT_FISH_FED_LUBE + + +

+

Trait needed for the lubefish evolution

TRAIT_FISH_FROM_CASE + + +

+

It comes from a fish case. Relevant for bounties so far.

TRAIT_FISH_SAFE_STORAGE + + +

+

Fish in this won't die

TRAIT_FIST_MINING + + +

+

Allows you to mine with your bare hands

TRAIT_FIXED_HAIRCOLOR + + +

+

Species with this trait have a haircolor that cannot be chosen by the player, nor altered ingame by external means

TRAIT_FIXED_MUTANT_COLORS + + +

+

Species with this trait have mutant colors that cannot be chosen by the player, nor altered ingame by external means

TRAIT_FLOORED + + +

+

Prevents voluntary standing or staying up on its own.

TRAIT_FOOD_CHEF_MADE + + +

+

If this item's been made by a chef instead of being map-spawned or admin-spawned or such

TRAIT_FOOD_FRIED + + +

+

If this item's been fried

TRAIT_FOOD_GRILLED + + +

+

If this item's been grilled

TRAIT_FOOD_SILVER + + +

+

This is a silver slime created item

TRAIT_FORBID_MINING_SHUTTLE_CONSOLE_OUTSIDE_STATION + + +

+

Mobs with this trait can't send the mining shuttle console when used outside the station itself

TRAIT_FORCED_GRAVITY + + +

+

We have some form of forced gravity acting on us

TRAIT_FORCED_STANDING + + +

+

Forces user to stay standing

TRAIT_FOV_APPLIED + + +

+

Mob has fov applied to it

TRAIT_FREE_FLOAT_MOVEMENT + + +

+

When people are floating from zero-grav or something, we can move around freely!

TRAIT_FREE_HYPERSPACE_MOVEMENT + + +

+

Gives the movable free hyperspace movement without being pulled during shuttle transit

TRAIT_FREE_HYPERSPACE_SOFTCORDON_MOVEMENT + + +

+

Lets the movable move freely in the soft-cordon area of transit space, which would otherwise teleport them away just before they got to see the true cordon

TRAIT_FROZEN + + +

+

this object has been frozen

TRAIT_FUGU_GLANDED + + +

+

Trait used by fugu glands to avoid double buffing

TRAIT_GAMER + + +

+

Trait for the gamer quirk.

TRAIT_GAMERGOD + + +

+

Gets double arcade prizes

TRAIT_GARLIC_BREATH + + +

+

Used to activate french kissing

TRAIT_GERM_SENSITIVE + + +

+

Trait given by /datum/component/germ_sensitive

TRAIT_GONE_FISHING + + +

+

Currently fishing

TRAIT_GOOD_HEARING + + +

+

Makes whispers clearly heard from seven tiles away, the full hearing range

TRAIT_GREENTEXT_CURSED + + +

+

Recolored by item/greentext

TRAIT_GUN_NATURAL + + +

+

Makes it so the mob can use guns regardless of tool user status

TRAIT_HALT_RADIATION_EFFECTS + + +

+

Harmful radiation effects, the toxin damage and the burns, will not occur while this trait is active

TRAIT_HANDS_BLOCKED + + +

+

Prevents usage of manipulation appendages (picking, holding or using items, manipulating storage).

TRAIT_HAS_BEEN_KIDNAPPED + + +

+

Prevents the same person from being chosen multiple times for kidnapping objective

TRAIT_HAS_LABEL + + +

+

the object has a label applied

TRAIT_HAS_MARKINGS + + +

+

Species with this trait have markings (this SUCKS, remove this later in favor of bodypart overlays)

TRAIT_HATED_BY_DOGS + + +

+

If applied to a mob, nearby dogs will have a small chance to nonharmfully harass said mob

TRAIT_HAUNTED + + +

+

determines whether or not objects are haunted and teleport/attack randomly

TRAIT_HEALS_FROM_CARP_RIFTS + + +

+

This mob heals from carp rifts.

TRAIT_HEALS_FROM_CULT_PYLONS + + +

+

This mob heals from cult pylons.

TRAIT_HEARING_SENSITIVE + + +

+

every hearing sensitive atom has this trait

TRAIT_HEAR_THROUGH_DARKNESS + + +

+

Ignores darkness for hearing

TRAIT_HIDE_EXTERNAL_ORGANS + + +

+

Don't draw external organs/species features like wings, horns, frills and stuff

TRAIT_HOLY + + +

+

The mob is holy and resistance to cult magic

TRAIT_HONKSPAMMING + + +

+

Used by the honkspam element to avoid spamming the sound. Amusing considering its name.

TRAIT_HOPELESSLY_ADDICTED + + +

+

Addictions don't tick down, basically they're permanently addicted

TRAIT_HOT_SPRING_CURSED + + +

+

Trait applied to /datum/mind to stop someone from using the cursed hot springs to polymorph more than once.

TRAIT_HYPERSPACED + + +

+

Sanity trait to keep track of when we're in hyperspace and add the appropriate element if we werent

TRAIT_HYPERSPACE_STOPPED + + +

+

The effects of hyperspace drift are blocked when the tile has this trait

TRAIT_ID_APPRAISER + + +

+

Can examine IDs to see if they are roundstart.

TRAIT_IGNORED_BY_LIVING_FLESH + + +

+

Trait given to limb by /mob/living/basic/living_limb_flesh

TRAIT_IGNORING_GRAVITY + + +

+

We are ignoring gravity

TRAIT_ILLITERATE + + +

+

Blacklist for mobs that can't read or write

TRAIT_IMMERSED + + +

+

If this movable is currently treading in a turf with the immerse element.

TRAIT_IMMERSE_STOPPED + + +

+

The effects of the immerse element will be halted while this trait is present.

TRAIT_IMMOBILIZED + + +

+

Prevents voluntary movement.

TRAIT_INNATELY_FANTASTICAL_ITEM + + +

+

This object innately spawns with fantasy variables already applied (the magical component is given to it on initialize), and thus we never want to give it the component again.

TRAIT_INVISIBLE_MAN + + +

+

This mobs bodyparts are invisible but still clickable.

TRAIT_INVISIMIN + + +

+

Trait given when a mob is currently in invisimin mode

TRAIT_IN_CALL + + +

+

Whether or not the user is in a MODlink call, prevents making more calls

TRAIT_IRRADIATED + + +

+

Marks that this object is irradiated

TRAIT_IWASBATONED + + +

+

Anti Dual-baton cooldown bypass exploit.

TRAIT_JOB_FIRST_ID_CARD + + +

+

Denotes that this id card was given via the job outfit, aka the first ID this player got.

TRAIT_KEEP_TOGETHER + + +

+

Used for managing KEEP_TOGETHER in [/atom/var/appearance_flags]

TRAIT_KISS_OF_DEATH + + +

+

Blowing kisses actually does damage to the victim

TRAIT_KNOCKEDOUT + + +

+

Forces the user to stay unconscious.

TRAIT_LAVA_IMMUNE + + +

+

Weather immunities, also protect mobs inside them.

TRAIT_LAVA_STOPPED + + +

+

Lava will be safe to cross while it has this trait.

TRAIT_LIGHTING_DEBUGGED + + +

+

This object has light debugging tools attached to it

TRAIT_LITERATE + + +

+

Whitelist for mobs that can read or write

TRAIT_LIVERLESS_METABOLISM + + +

+

This just means that the carbon will always have functional liverless metabolism

TRAIT_LIVING_HEART + + +

+

Designates a heart as a living heart for a heretic.

TRAIT_MAGICALLY_GIFTED + + +

+

The user can do things like use magic staffs without penalty

TRAIT_MAGICALLY_PHASED + + +

+

This mob is phased out of reality from magic, either a jaunt or rod form

TRAIT_MAGNETIC_ID_CARD + + +

+

ID cards with this trait will attempt to forcibly occupy the front-facing ID card slot in wallets.

TRAIT_MARKET_CRASHING + + +

+

SSeconomy trait, if the market is crashing and people can't withdraw credits from ID cards.

TRAIT_MARTIAL_ARTS_IMMUNE + + +

+

nobody can use martial arts on this mob

TRAIT_MAT_TRANSMUTED + + +

+

Marks the item as having been transmuted. Functionally blacklists the item from being recycled or sold for materials.

TRAIT_MAY_CONTAIN_BLENDED_DUST + + +

+

Minor trait used for beakers, or beaker-ishes. /obj/item/reagent_containers, to show that they've been used in a reagent grinder.

TRAIT_MECHA_CREATED_NORMALLY + + +

+

A trait for mechs that were created through the normal construction process, and not spawned by map or other effects.

TRAIT_MEDIBOTCOMINGTHROUGH + + +

+

Is a medbot healing you

TRAIT_MESON_VISION + + +

+

Gives us turf vision through walls and slight night vision

TRAIT_MIMING + + +

+

The mob has an active mime vow of silence, and thus is unable to speak and has other mime things going on

TRAIT_MIND_TEMPORARILY_GONE + + +

+

Trait given to a mob with a ckey currently in a temporary body, allowing people to know someone will re-enter the round later.

TRAIT_MOB_BREEDER + + +

+

trait determines if this mob can breed given by /datum/component/breeding

TRAIT_MOB_TIPPED + + +

+

Trait given when a mob has been tipped

TRAIT_MORBID + + +

+

Mobs with this trait do care about a few grisly things, such as digging up graves. They also really do not like bringing people back to life or tending wounds, but love autopsies and amputations.

TRAIT_MOVE_GROUND + + +

+

Movement type traits for movables. See elements/movetype_handler.dm

TRAIT_MULTIZ_SUIT_SENSORS + + +

+

Ignore Crew monitor Z levels

TRAIT_MUTANT_COLORS + + +

+

Species with this trait use mutant colors for coloration

TRAIT_MUTE + + +

+

Mute. Can't talk.

TRAIT_NEARSIGHTED_CORRECTED + + +

+

Prevents the overlay from nearsighted

TRAIT_NEEDS_TWO_HANDS + + +

+

The items needs two hands to be carried

TRAIT_NEGATES_GRAVITY + + +

+

Negates our gravity, letting us move normally on floors in 0-g

TRAIT_NICE_SHOT + + +

+

hnnnnnnnggggg..... you're pretty good....

TRAIT_NOBLOOD + + +

+

This carbon doesn't bleed

TRAIT_NOBREATH + + +

+

Mob is immune to oxygen damage, does not need to breathe

TRAIT_NOCRITOVERLAY + + +

+

Doesn't get overlays from being in critical.

TRAIT_NOFAT + + +

+

Trait which prevents you from becoming overweight

TRAIT_NOFEAR_HOLDUPS + + +

+

Mobs with this trait will not be immobilized when held up

TRAIT_NOFLASH + + +

+

Makes you immune to flashes

TRAIT_NOHUNGER + + +

+

This carbon doesn't get hungry

TRAIT_NOSELFIGNITION_HEAD_ONLY + + +

+

Prevents plasmamen from self-igniting if only their helmet is missing

TRAIT_NOT_ENGRAVABLE + + +

+

If something has been engraved/cannot be engraved

TRAIT_NO_AUGMENTS + + +

+

Humans with this trait cannot get augmentation surgery

TRAIT_NO_BARCODES + + +

+

Disallows this item from being pricetagged with a barcode

TRAIT_NO_BLOOD_OVERLAY + + +

+

Humans with this trait won't get bloody hands, nor bloody feet

TRAIT_NO_DEBRAIN_OVERLAY + + +

+

This carbon doesn't show an overlay when they have no brain

TRAIT_NO_DNA_COPY + + +

+

Carbons with this trait can't have their DNA copied by diseases nor changelings

TRAIT_NO_DNA_SCRAMBLE + + +

+

Carbons with this trait cant have their dna scrambled by genetics or a disease retrovirus.

TRAIT_NO_FLOATING_ANIM + + +

+

Disables the floating animation. See above.

TRAIT_NO_GLIDE + + +

+

Unlinks gliding from movement speed, meaning that there will be a delay between movements rather than a single move movement between tiles

TRAIT_NO_GUN_AKIMBO + + +

+

Mobs with this trait won't be able to dual wield guns.

TRAIT_NO_IMMOBILIZE + + +

+

Buckling yourself to objects with this trait won't immobilize you

TRAIT_NO_JUMPSUIT + + +

+

Allows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.

TRAIT_NO_MANIFEST_CONTENTS_ERROR + + +

+

If the crate is immune to the wrong content in manifest error

TRAIT_NO_MINDSWAP + + +

+

Trait given to mobs that we do not want to mindswap

TRAIT_NO_MIRROR_REFLECTION + + +

+

If the movable shouldn't be reflected by mirrors.

TRAIT_NO_MISSING_ITEM_ERROR + + +

+

If the crate's contents are immune to the missing item manifest error

TRAIT_NO_PLASMA_TRANSFORM + + +

+

Cannot be turned into a funny skeleton by the plasma river

TRAIT_NO_SLIP_ALL + + +

+

Stops all slipping and sliding from ocurring

TRAIT_NO_SLIP_ICE + + +

+

Stops the mob from slipping on permafrost ice (not any other ice) (but anything with SLIDE_ICE set)

TRAIT_NO_SLIP_SLIDE + + +

+

Stop the mob from sliding around from being slipped, but not the slip part. +DOES NOT include ice slips.

TRAIT_NO_SLIP_WATER + + +

+

Stops the mob from slipping on water, or banana peels, or pretty much anything that doesn't have GALOSHES_DONT_HELP set

TRAIT_NO_SOUL + + +

+

This mob has no soul

TRAIT_NO_STORAGE_INSERT + + +

+

cannot be inserted in a storage.

TRAIT_NO_STRIP + + +

+

Prevents stripping this equipment

TRAIT_NO_TELEPORT + + +

+

do_teleport will not allow this atom to teleport

TRAIT_NO_TRANSFORM + + +

+

"Magic" trait that blocks the mob from moving or interacting with anything. Used for transient stuff like mob transformations or incorporality in special cases. +Will block movement, Life() (!!!), and other stuff based on the mob.

TRAIT_NO_UNDERWEAR + + +

+

Humans with this trait cannot have underwear

TRAIT_NO_ZOMBIFY + + +

+

Humans with this trait cannot be turned into zombies

TRAIT_NUKEIMMUNE + + +

+

This mob won't get gibbed by nukes going off

TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT + + +

+

Trait for allowing an item that isn't food into the customizable reagent holder

TRAIT_OMNI_BAIT + + +

+

Baits with this trait will ignore bait preferences and related fish traits.

TRAIT_ON_ELEVATED_SURFACE + + +

+

Is the mob standing on an elevated surface? This prevents them from dropping down if not elevated first.

TRAIT_ORBITING_FORBIDDEN + + +

+

Whether or not orbiting is blocked or not

TRAIT_OREBOX_FUNCTIONAL + + +

+

Trait given to mechs that can have orebox functionality on movement

TRAIT_OVERDOSEIMMUNE + + +

+

This carbon can't be overdosed by chems

TRAIT_OVERWATCHED + + +

+

Currently under the effect of overwatch

TRAIT_OVERWATCH_IMMUNE + + +

+

Cannot be targeted by watcher overwatch

TRAIT_PARALYSIS + + +

+

Used for limb-based paralysis, where replacing the limb will fix it.

TRAIT_PARALYSIS_L_ARM + + +

+

These are used for brain-based paralysis, where replacing the limb won't fix it

TRAIT_PARROT_PERCHED + + +

+

This parrot is currently perched

TRAIT_PDA_CAN_EXPLODE + + +

+

This one denotes a PDA has received a rigged message and will explode when the user tries to reply to a rigged PDA message

TRAIT_PDA_MESSAGE_MENU_RIGGED + + +

+

PDA Traits. This one makes PDAs explode if the user opens the messages menu

TRAIT_PERFECT_ATTACKER + + +

+

Doesn't miss attacks

TRAIT_PERMANENTLY_MORTAL + + +

+

Trait given to a living mob to prevent wizards from making it immortal

TRAIT_PERMANENTLY_ONFIRE + + +

+

mobs that have this trait cannot be extinguished

TRAIT_PLANT_SAFE + + +

+

We can handle 'dangerous' plants in botany safely

TRAIT_PLANT_WILDMUTATE + + +

+

Plants that were mutated as a result of passive instability, not a mutation threshold.

TRAIT_PLASMA_LOVER_METABOLISM + + +

+

Use when you want a mob to be able to metabolize plasma temporarily (e.g. plasma fixation disease symptom)

TRAIT_PRESERVE_UI_WITHOUT_CLIENT + + +

+

This mob should never close UI even if it doesn't have a client

TRAIT_PREVENT_IMPLANT_AUTO_EXPLOSION + + +

+

If the mob has this trait and die, their bomb implant doesn't detonate automatically. It must be consciously activated.

TRAIT_PULL_BLOCKED + + +

+

Inability to pull things. Turned into a trait from MOBILITY_PULL to be able to track sources.

TRAIT_QUICKER_CARRY + + +

+

We place people into a fireman carry especially quickly compared to quick_carry

TRAIT_QUICK_CARRY + + +

+

We place people into a fireman carry quicker than standard

TRAIT_RADIATION_PROTECTED_CLOTHING + + +

+

This clothing protects the user from radiation. +This should not be used on clothing_traits, but should be applied to the clothing itself.

TRAIT_RADIMMUNE + + +

+

Immune to being irradiated

TRAIT_RDS_SUPPRESSED + + +

+

Prevents hallucinations from the hallucination brain trauma (RDS)

TRAIT_REAGENT_SCANNER + + +

+

Lets us scan reagents

TRAIT_RECENTLY_BLOCKED_MAGIC + + +

+

This mob recently blocked magic with some form of antimagic

TRAIT_RECENTLY_COINED + + +

+

This target has recently been shot by a marksman coin and is very briefly immune to being hit by one again to prevent recursion

TRAIT_RELAYING_ATTACKER + + +

+

Trait given by /datum/element/relay_attacker

TRAIT_REMOTE_TASTING + + +

+

Added to a mob, allows that mob to experience flavour-based moodlets when examining food

TRAIT_RESEARCH_SCANNER + + +

+

Lets us scan machine parts and tech unlocks

TRAIT_RESISTHEATHANDS + + +

+

For when you want to be able to touch hot things, but still want fire to be an issue.

TRAIT_RESIST_EMULSIFY + + +

+

fish traits

TRAIT_RESTRAINED + + +

+

Abstract condition that prevents movement if being pulled and might be resisted against. Handcuffs and straight jackets, basically.

TRAIT_REVEAL_FISH + + +

+

Added to mob or mind, changes the icons of the fish shown in the minigame UI depending on the possible reward.

TRAIT_REVENANT_INHIBITED + + +

+

Trait added when a revenant has been inhibited (typically by the bane of a holy weapon)

TRAIT_REVENANT_REVEALED + + +

+

Trait added when a revenant is visible.

TRAIT_RIFT_FAILURE + + +

+

Trait given to a dragon who fails to defend their rifts

TRAIT_ROCK_EATER + + +

+

Trait which allows you to eat rocks

TRAIT_ROCK_METAMORPHIC + + +

+

Trait which allows you to gain bonuses from consuming rocks

TRAIT_RUNECHAT_HIDDEN + + +

+

Is runechat for this atom/movable currently disabled, regardless of prefs or anything?

TRAIT_RUSTY + + +

+

generic atom traits +Trait from /datum/element/rust. Its rusty and should be applying a special overlay to denote this.

TRAIT_SECLUDED_LOCATION + + +

+

This atom is a secluded location, which is counted as out of bounds. +Anything that enters this atom's contents should react if it wants to stay in bounds.

TRAIT_SEE_GLASS_COLORS + + +

+

This human wants to see the color of their glasses, for some reason

TRAIT_SHIFTY_EYES + + +

+

Gives you the Shifty Eyes quirk, rarely making people who examine you think you examined them back even when you didn't

TRAIT_SHOCKIMMUNE + + +

+

Are we immune to shocks?

TRAIT_SIGN_LANG + + +

+

Indicates if the mob is currently speaking with sign language

TRAIT_SILENT_FOOTSTEPS + + +

+

makes your footsteps completely silent

TRAIT_SIXTHSENSE + + +

+

Can hear observers

TRAIT_SNEAK + + +

+

Whether we're sneaking, from the creature sneak ability.

TRAIT_SOFTSPOKEN + + +

+

Softspoken. Always whisper.

TRAIT_SPACEBREATHING + + +

+

Lungs always breathe normally when in vacuum/space.

TRAIT_SPARRING + + +

+

The user is sparring

TRAIT_SPEAKS_CLEARLY + + +

+

without a human having this trait, they speak as if they have no tongue.

TRAIT_SPECIAL_TRAUMA_BOOST + + +

+

Increases chance of getting special traumas, makes them harder to cure

TRAIT_SPIDER_CONSUMED + + +

+

Trait applied to mob/living to mark that spiders should not gain further enriched eggs from eating their corpse.

TRAIT_SPINNING + + +

+

This atom is currently spinning.

TRAIT_SPINNING_WEB_TURF + + +

+

A web is being spun on this turf presently

TRAIT_SPRAY_PAINTABLE + + +

+

This mob can be painted with the spraycan

TRAIT_STASIS + + +

+

The mob has the stasis effect. +Does nothing on its own, applied via status effect.

TRAIT_STICKERED + + +

+

if the atom has a sticker attached to it

TRAIT_STUNIMMUNE + + +

+

This mob is immune to stun causing status effects and stamcrit. +Prefer to use /mob/living/proc/check_stun_immunity over checking for this trait exactly.

TRAIT_SUCCUMB_OVERRIDE + + +

+

Lets the user succumb even if they got NODEATH

TRAIT_SUICIDED + + +

+

Trait given to a living mob and any observer mobs that stem from them if they suicide. +For clarity, this trait should always be associated/tied to a reference to the mob that suicided- not anything else.

TRAIT_TACKLING_FRAIL_ATTACKER + + +

+

Makes a species be frail and more likely to roll bad results if they hit a wall

TRAIT_TACKLING_TAILED_DEFENDER + + +

+

Makes a species be better/worse at defending against tackling depending on their tail's status

TRAIT_TACKLING_WINGED_ATTACKER + + +

+

Makes a species be better/worse at tackling depending on their wing's status

TRAIT_TASTEFULLY_THICK_ID_CARD + + +

+

ID cards with this trait have special appraisal text.

TRAIT_TELEKINESIS_CONTROLLED + + +

+

This item is currently under the control of telekinesis

TRAIT_TEMPORARY_BODY + + +

+

Similar trait given to temporary bodies inhabited by players

TRAIT_TENACIOUS + + +

+

trait denoting someone will crawl faster in soft crit

TRAIT_TENTACLE_IMMUNE + + +

+

Cannot be grabbed by goliath tentacles

TRAIT_TESLA_SHOCKIMMUNE + + +

+

Are we immune to specifically tesla / SM shocks?

TRAIT_THERMAL_VISION + + +

+

Gives us mob vision through walls and slight night vision

TRAIT_THINKING_IN_CHARACTER + + +

+

Trait given to a mob that is currently thinking (giving off the "thinking" icon), used in an IC context

TRAIT_TIME_STOP_IMMUNE + + +

+

Immune to being afflicted by time stop (spell)

TRAIT_TOWER_OF_BABEL + + +

+

this is used to bypass tongue language restrictions but not tongue disabilities

TRAIT_TOXIMMUNE + + +

+

Mob is immune to toxin damage

TRAIT_TRANSFORM_ACTIVE + + +

+

A transforming item that is actively extended / transformed

TRAIT_TRUE_NIGHT_VISION + + +

+

Gives us Night vision

TRAIT_TUMOR_SUPPRESSED + + +

+

prevents the damage done by a brain tumor

TRAIT_TURF_IGNORE_SLIPPERY + + +

+

Mobs won't slip on a wet turf while it has this trait

TRAIT_TURF_IGNORE_SLOWDOWN + + +

+

Turf slowdown will be ignored when this trait is added to a turf.

TRAIT_T_RAY_VISIBLE + + +

+

Visible on t-ray scanners if the atom/var/level == 1

TRAIT_UI_BLOCKED + + +

+

Inability to access UI hud elements. Turned into a trait from MOBILITY_UI to be able to track sources.

TRAIT_UNBREAKABLE + + +

+

trait denoting someone will sometimes recover out of crit

TRAIT_UNCATCHABLE + + +

+

Can't be catched when thrown

TRAIT_UNDENSE + + +

+

Apply this to make a mob not dense, and remove it when you want it to no longer make them undense, other sorces of undesity will still apply. Always define a unique source when adding a new instance of this!

TRAIT_UNDERFLOOR + + +

+

Trait from being under the floor in some manner

TRAIT_UNHUSKABLE + + +

+

Won't become a husk under any circumstances

TRAIT_UNIQUE_IMMERSE + + +

+

With this, the immerse overlay will give the atom its own submersion visual overlay +instead of one that's also shared with other movables, thus making editing its appearance possible.

TRAIT_UNKNOWN + + +

+

The person with this trait always appears as 'unknown'.

TRAIT_UNNATURAL_RED_GLOWY_EYES + + +

+

Their eyes glow an unnatural red colour. Currently used to set special examine text on humans. Does not guarantee the mob's eyes are coloured red, nor that there is any visible glow on their character sprite.

TRAIT_UNOBSERVANT + + +

+

This mob doesn't count as looking at you if you can only act while unobserved

TRAIT_USED_DNA_VAULT + + +

+

For when you've gotten a power from a dna vault

TRAIT_USES_SKINTONES + + +

+

Species with this trait use skin tones for coloration

TRAIT_VIRUSIMMUNE + + +

+

Can't be given viruses

TRAIT_VIRUS_RESISTANCE + + +

+

Reduces the chance viruses will spread to this mob, and if the mob has a virus, slows its advancement

TRAIT_WAS_EVOLVED + + +

+

Simple trait that just holds if we came into growth from a specific mob type. Should hold a REF(src) to the type of mob that caused the growth, not anything else.

TRAIT_WAS_RENAMED + + +

+

Trait that tracks if something has been renamed. Typically holds a REF() to the object itself (AKA src) for wide addition/removal.

TRAIT_WEAK_SOUL + + +

+

Revenants draining you only get a very small benefit.

TRAIT_WEB_SURFER + + +

+

Can navigate the web without getting stuck

TRAIT_WEB_WEAVER + + +

+

Can weave webs into cloth

TRAIT_WIELDED + + +

+

Properly wielded two handed item

TRAIT_WING_BUFFET + + +

+

Trait given while using /datum/action/cooldown/mob_cooldown/wing_buffet

TRAIT_WING_BUFFET_TIRED + + +

+

Trait given while tired after using /datum/action/cooldown/mob_cooldown/wing_buffet

TRAIT_WOUND_SCANNED + + +

+

Applied into wounds when they're scanned with the wound analyzer, halves time to treat them manually.

TRAIT_XENO_HOST + + +

+

Tracks whether we're gonna be a baby alien's mummy.

TRAIT_XENO_IMMUNE + + +

+

prevents xeno huggies implanting skeletons

TRAIT_XRAY_HEARING + + +

+

Allows you to hear speech through walls

TRAIT_XRAY_VISION + + +

+

Gives us turf, mob and object vision through walls

+ + + diff --git a/code/__DEFINES/traits/macros.html b/code/__DEFINES/traits/macros.html new file mode 100644 index 00000000000..23b9f0880b6 --- /dev/null +++ b/code/__DEFINES/traits/macros.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/traits/macros.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits/macros.dm + +

+ + + + + + +
TRAIT_TURF_HAS_ELEVATED_OBJFrom /datum/element/elevation for purpose of registering/removing signals and detaching the elevation_core when the trait is absent.
CURSED_ITEM_TRAITThe item is magically cursed
TRAIT_STATUS_EFFECTA trait given by a specific status effect (not sure why we need both but whatever!)
TRAIT_MECH_EQUIPMENTTrait given by mech equipment
ELEMENT_TRAITTrait applied by element

Define Details

+

CURSED_ITEM_TRAIT + + + +

+

The item is magically cursed

ELEMENT_TRAIT + + + +

+

Trait applied by element

TRAIT_MECH_EQUIPMENT + + + +

+

Trait given by mech equipment

TRAIT_STATUS_EFFECT + + + +

+

A trait given by a specific status effect (not sure why we need both but whatever!)

TRAIT_TURF_HAS_ELEVATED_OBJ + + + +

+

From /datum/element/elevation for purpose of registering/removing signals and detaching the elevation_core when the trait is absent.

+ + + diff --git a/code/__DEFINES/traits/sources.html b/code/__DEFINES/traits/sources.html new file mode 100644 index 00000000000..81c3aab666c --- /dev/null +++ b/code/__DEFINES/traits/sources.html @@ -0,0 +1,429 @@ + + + + + + + code/__DEFINES/traits/sources.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/traits/sources.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EXPERIMENTAL_SURGERY_TRAITTrait inherited by experimental surgeries
AUGMENTATION_TRAITTrait given by augmented limbs
ABDUCTOR_GLAND_TRAITTrait given by organ gained via abductor surgery
ROUNDSTART_TRAITcannot be removed without admin intervention
QUIRK_TRAITAny traits granted by quirks.
ADMIN_TRAIT(B)admins only.
SMITE_TRAITAny traits given through a smite.
STATUS_EFFECT_TRAITA trait given by any status effect
LIGHT_DEBUG_TRAITTrait from light debugging
MASK_TRAITinherited from the mask
SHOES_TRAITinherited from your sweet kicks
IMPLANT_TRAITTrait inherited by implants
VEHICLE_TRAITinherited from riding vehicles
WAS_SHOCKEDTrait sorce for "was recently shocked by something"
BUCKLED_TRAITtrait associated to being buckled
CHOKEHOLD_TRAITtrait associated to being held in a chokehold
RESTING_TRAITtrait associated to resting
STAT_TRAITtrait associated to a stat value or range of
MAPPING_HELPER_TRAITobtained from mapping helper
SUIT_TRAITTrait associated to wearing a suit
LYING_DOWN_TRAITTrait associated to lying down (having a [lying_angle] of a different value than zero).
LEANING_TRAITA trait gained by leaning against a wall
POWER_LACK_TRAITTrait associated to lacking electrical power.
MOTOR_LACK_TRAITTrait associated to lacking motor movement
MAFIA_TRAITTrait associated with mafia
CTF_TRAITTrait associated with ctf
HIGHLANDER_TRAITTrait associated with highlander
SWORDPLAY_TRAITTrait given from playing pretend with baguettes
NUKE_OP_MINION_TRAITTrait given by being recruited as a nuclear operative
SHAPESHIFT_TRAITTrait given to you by shapeshifting
LEAPING_TRAITA trait gained from a mob's leap action, like the leaper
VANISHING_TRAITA trait gained from a mob's vanish action, like the herophant
SWOOPING_TRAITA trait gained from a mob's swoop action, like the ash drake
MIMIC_TRAITA trait gained from a mob's mimic ability, like the mimic
STICKY_NODROPsticky nodrop sounds like a bad soundcloud rapper's name
LACKING_LOCOMOTION_APPENDAGES_TRAITtrait associated to not having locomotion appendages nor the ability to fly or float
LACKING_MANIPULATION_APPENDAGES_TRAITtrait associated to not having fine manipulation appendages such as hands
WARPWHISTLE_TRAITTrait granted by /obj/item/warp_whistle
TURF_Z_TRANSPARENT_TRAITTurf trait for when a turf is transparent
SOULSTONE_TRAITTrait applied by /datum/component/soulstoned
SLIME_COLDTrait applied to slimes by low temperature
TIPPED_OVERTrait applied to mobs by being tipped over
PAI_FOLDEDTrait applied to PAIs by being folded
BRAIN_UNAIDEDTrait applied to brain mobs when they lack external aid for locomotion, such as being inside a mech.
TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUMTrait applied to a mob when it gets a required "operational datum" (components/elements). Sends out the source as the type of the element.
MOD_TRAITTrait applied by MODsuits.
BERSERK_TRAITTrait granted by the berserker hood.
HIPPOCRATIC_OATH_TRAITTrait granted by /obj/item/rod_of_asclepius
BLOODDRUNK_TRAITTrait granted by /datum/status_effect/blooddrunk
LIPSTICK_TRAITTrait granted by lipstick
BEAUTY_ELEMENT_TRAITSelf-explainatory.
STABILIZED_LIGHT_PINK_EXTRACT_TRAITTrait given by stabilized light pink extracts
ADAMANTINE_EXTRACT_TRAITTrait given by adamantine extracts
EXPIRED_LIFE_TRAITGiven by the multiple_lives component to the previous body of the mob upon death.
ORBITING_TRAITTrait given to an atom/movable when they orbit something.
ITEM_SCALING_TRAITFrom the item_scaling element
CHOKING_TRAITTrait given by choking
HALLUCINATION_TRAITTrait given by hallucinations
BASIC_MOB_DEATH_TRAITTrait given by simple/basic mob death
SPEED_TRAITTrait given by your current speed
AUTOPSY_TRAITTrait given to mobs that have been autopsied
MAD_WIZARD_TRAITTrait given by /datum/status_effect/blessing_of_insanity
MARKET_CRASH_EVENT_TRAITFrom the market_crash event
CHAMELEON_ITEM_TRAITTraits granted to items due to their chameleon properties.
FISH_TRAIT_DATUMcoming from a fish trait datum.
FISH_EVOLUTIONcoming from a fish evolution datum
ECHOLOCATION_TRAITTrait given by echolocation component.
SPEAKING_FROM_TONGUEtrait source that tongues should use
SPEAKING_FROM_HANDStrait source that sign language should use
IGNORING_GRAVITY_NEGATIONSources for TRAIT_IGNORING_GRAVITY
CIRCUIT_HEAR_TRAITHearing trait that is from the hearing component
CURRENTLY_TYPING_TRAITThis trait comes from when a mob is currently typing.
NO_TONGUE_TRAITTrait granted by /mob/living/carbon/Initialize and +granted/removed by /obj/item/organ/internal/tongue +Used for ensuring that carbons without tongues cannot taste anything +so it is added in Initialize, and then removed when a tongue is inserted +and readded when a tongue is removed.
MODEL_TRAITTrait granted by /mob/living/silicon/robot +Traits applied to a silicon mob by their model.
AI_ANCHOR_TRAITTrait granted by mob/living/silicon/ai +Applied when the ai anchors itself
CLOWNOP_TRAITTrait from /datum/antagonist/nukeop/clownop
ORGAN_INSIDE_BODY_TRAITTrait from an organ being inside a bodypart
PEN_LABEL_TRAITTrait when something was labelled by a pen.

Define Details

+

ABDUCTOR_GLAND_TRAIT + + +

+

Trait given by organ gained via abductor surgery

ADAMANTINE_EXTRACT_TRAIT + + +

+

Trait given by adamantine extracts

ADMIN_TRAIT + + +

+

(B)admins only.

AI_ANCHOR_TRAIT + + +

+

Trait granted by mob/living/silicon/ai +Applied when the ai anchors itself

AUGMENTATION_TRAIT + + +

+

Trait given by augmented limbs

AUTOPSY_TRAIT + + +

+

Trait given to mobs that have been autopsied

BASIC_MOB_DEATH_TRAIT + + +

+

Trait given by simple/basic mob death

BEAUTY_ELEMENT_TRAIT + + +

+

Self-explainatory.

BERSERK_TRAIT + + +

+

Trait granted by the berserker hood.

BLOODDRUNK_TRAIT + + +

+

Trait granted by /datum/status_effect/blooddrunk

BRAIN_UNAIDED + + +

+

Trait applied to brain mobs when they lack external aid for locomotion, such as being inside a mech.

BUCKLED_TRAIT + + +

+

trait associated to being buckled

CHAMELEON_ITEM_TRAIT + + +

+

Traits granted to items due to their chameleon properties.

CHOKEHOLD_TRAIT + + +

+

trait associated to being held in a chokehold

CHOKING_TRAIT + + +

+

Trait given by choking

CIRCUIT_HEAR_TRAIT + + +

+

Hearing trait that is from the hearing component

CLOWNOP_TRAIT + + +

+

Trait from /datum/antagonist/nukeop/clownop

CTF_TRAIT + + +

+

Trait associated with ctf

CURRENTLY_TYPING_TRAIT + + +

+

This trait comes from when a mob is currently typing.

ECHOLOCATION_TRAIT + + +

+

Trait given by echolocation component.

EXPERIMENTAL_SURGERY_TRAIT + + +

+

Trait inherited by experimental surgeries

EXPIRED_LIFE_TRAIT + + +

+

Given by the multiple_lives component to the previous body of the mob upon death.

FISH_EVOLUTION + + +

+

coming from a fish evolution datum

FISH_TRAIT_DATUM + + +

+

coming from a fish trait datum.

HALLUCINATION_TRAIT + + +

+

Trait given by hallucinations

HIGHLANDER_TRAIT + + +

+

Trait associated with highlander

HIPPOCRATIC_OATH_TRAIT + + +

+

Trait granted by /obj/item/rod_of_asclepius

IGNORING_GRAVITY_NEGATION + + +

+

Sources for TRAIT_IGNORING_GRAVITY

IMPLANT_TRAIT + + +

+

Trait inherited by implants

ITEM_SCALING_TRAIT + + +

+

From the item_scaling element

LACKING_LOCOMOTION_APPENDAGES_TRAIT + + +

+

trait associated to not having locomotion appendages nor the ability to fly or float

LACKING_MANIPULATION_APPENDAGES_TRAIT + + +

+

trait associated to not having fine manipulation appendages such as hands

LEANING_TRAIT + + +

+

A trait gained by leaning against a wall

LEAPING_TRAIT + + +

+

A trait gained from a mob's leap action, like the leaper

LIGHT_DEBUG_TRAIT + + +

+

Trait from light debugging

LIPSTICK_TRAIT + + +

+

Trait granted by lipstick

LYING_DOWN_TRAIT + + +

+

Trait associated to lying down (having a [lying_angle] of a different value than zero).

MAD_WIZARD_TRAIT + + +

+

Trait given by /datum/status_effect/blessing_of_insanity

MAFIA_TRAIT + + +

+

Trait associated with mafia

MAPPING_HELPER_TRAIT + + +

+

obtained from mapping helper

MARKET_CRASH_EVENT_TRAIT + + +

+

From the market_crash event

MASK_TRAIT + + +

+

inherited from the mask

MIMIC_TRAIT + + +

+

A trait gained from a mob's mimic ability, like the mimic

MODEL_TRAIT + + +

+

Trait granted by /mob/living/silicon/robot +Traits applied to a silicon mob by their model.

MOD_TRAIT + + +

+

Trait applied by MODsuits.

MOTOR_LACK_TRAIT + + +

+

Trait associated to lacking motor movement

NO_TONGUE_TRAIT + + +

+

Trait granted by /mob/living/carbon/Initialize and +granted/removed by /obj/item/organ/internal/tongue +Used for ensuring that carbons without tongues cannot taste anything +so it is added in Initialize, and then removed when a tongue is inserted +and readded when a tongue is removed.

NUKE_OP_MINION_TRAIT + + +

+

Trait given by being recruited as a nuclear operative

ORBITING_TRAIT + + +

+

Trait given to an atom/movable when they orbit something.

ORGAN_INSIDE_BODY_TRAIT + + +

+

Trait from an organ being inside a bodypart

PAI_FOLDED + + +

+

Trait applied to PAIs by being folded

PEN_LABEL_TRAIT + + +

+

Trait when something was labelled by a pen.

POWER_LACK_TRAIT + + +

+

Trait associated to lacking electrical power.

QUIRK_TRAIT + + +

+

Any traits granted by quirks.

RESTING_TRAIT + + +

+

trait associated to resting

ROUNDSTART_TRAIT + + +

+

cannot be removed without admin intervention

SHAPESHIFT_TRAIT + + +

+

Trait given to you by shapeshifting

SHOES_TRAIT + + +

+

inherited from your sweet kicks

SLIME_COLD + + +

+

Trait applied to slimes by low temperature

SMITE_TRAIT + + +

+

Any traits given through a smite.

SOULSTONE_TRAIT + + +

+

Trait applied by /datum/component/soulstoned

SPEAKING_FROM_HANDS + + +

+

trait source that sign language should use

SPEAKING_FROM_TONGUE + + +

+

trait source that tongues should use

SPEED_TRAIT + + +

+

Trait given by your current speed

STABILIZED_LIGHT_PINK_EXTRACT_TRAIT + + +

+

Trait given by stabilized light pink extracts

STATUS_EFFECT_TRAIT + + +

+

A trait given by any status effect

STAT_TRAIT + + +

+

trait associated to a stat value or range of

STICKY_NODROP + + +

+

sticky nodrop sounds like a bad soundcloud rapper's name

SUIT_TRAIT + + +

+

Trait associated to wearing a suit

SWOOPING_TRAIT + + +

+

A trait gained from a mob's swoop action, like the ash drake

SWORDPLAY_TRAIT + + +

+

Trait given from playing pretend with baguettes

TIPPED_OVER + + +

+

Trait applied to mobs by being tipped over

TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM + + +

+

Trait applied to a mob when it gets a required "operational datum" (components/elements). Sends out the source as the type of the element.

TURF_Z_TRANSPARENT_TRAIT + + +

+

Turf trait for when a turf is transparent

VANISHING_TRAIT + + +

+

A trait gained from a mob's vanish action, like the herophant

VEHICLE_TRAIT + + +

+

inherited from riding vehicles

WARPWHISTLE_TRAIT + + +

+

Trait granted by /obj/item/warp_whistle

WAS_SHOCKED + + +

+

Trait sorce for "was recently shocked by something"

+ + + diff --git a/code/__DEFINES/tts.html b/code/__DEFINES/tts.html new file mode 100644 index 00000000000..91dfb141074 --- /dev/null +++ b/code/__DEFINES/tts.html @@ -0,0 +1,52 @@ + + + + + + + code/__DEFINES/tts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/tts.dm + +

+ + + + + + +
TTS_SOUND_OFFTTS preference is disbaled entirely, no sound will be played.
TTS_SOUND_ENABLEDTTS preference is enabled, and will give full text-to-speech.
TTS_SOUND_BLIPSTTS preference is set to only play blips of a sound, rather than speech.
TTS_FILTER_RADIOTTS filter to activate start/stop radio clicks on speech.
TTS_FILTER_SILICONTTS filter to activate a silicon effect on speech.

Define Details

+

TTS_FILTER_RADIO + + +

+

TTS filter to activate start/stop radio clicks on speech.

TTS_FILTER_SILICON + + +

+

TTS filter to activate a silicon effect on speech.

TTS_SOUND_BLIPS + + +

+

TTS preference is set to only play blips of a sound, rather than speech.

TTS_SOUND_ENABLED + + +

+

TTS preference is enabled, and will give full text-to-speech.

TTS_SOUND_OFF + + +

+

TTS preference is disbaled entirely, no sound will be played.

+ + + diff --git a/code/__DEFINES/turbine_defines.html b/code/__DEFINES/turbine_defines.html new file mode 100644 index 00000000000..87b3f3a5851 --- /dev/null +++ b/code/__DEFINES/turbine_defines.html @@ -0,0 +1,72 @@ + + + + + + + code/__DEFINES/turbine_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/turbine_defines.dm + +

+ + + + + + + + + + +
TURBINE_RPM_CONVERSIONMultiplier for converting work into rpm and rpm into power
TURBINE_ENERGY_RECTIFICATION_MULTIPLIEREfficiency of the turbine to turn work into energy, higher values will yield more power
TURBINE_MAX_TAKEN_DAMAGEMax allowed damage per tick
TURBINE_DAMAGE_HEALINGAmount of damage healed when under the heat threshold
TURBINE_DAMAGE_ALARM_STARTAmount of damage that the machine must have to start launching alarms to the engi comms
TURBINE_WORK_CONVERSION_MULTIPLIERMultiplier when converting the gas energy into gas work
TURBINE_HEAT_CONVERSION_MULTIPLIERMultiplier when converting gas work back into heat
TURBINE_COMPRESSOR_STATOR_INTERACTION_MULTIPLIERAmount of energy removed from the work done by the stator due to the consumption from the compressor working on the gases
TURBINE_PART_TIER_ONETiers for turbine parts

Define Details

+

TURBINE_COMPRESSOR_STATOR_INTERACTION_MULTIPLIER + + +

+

Amount of energy removed from the work done by the stator due to the consumption from the compressor working on the gases

TURBINE_DAMAGE_ALARM_START + + +

+

Amount of damage that the machine must have to start launching alarms to the engi comms

TURBINE_DAMAGE_HEALING + + +

+

Amount of damage healed when under the heat threshold

TURBINE_ENERGY_RECTIFICATION_MULTIPLIER + + +

+

Efficiency of the turbine to turn work into energy, higher values will yield more power

TURBINE_HEAT_CONVERSION_MULTIPLIER + + +

+

Multiplier when converting gas work back into heat

TURBINE_MAX_TAKEN_DAMAGE + + +

+

Max allowed damage per tick

TURBINE_PART_TIER_ONE + + +

+

Tiers for turbine parts

TURBINE_RPM_CONVERSION + + +

+

Multiplier for converting work into rpm and rpm into power

TURBINE_WORK_CONVERSION_MULTIPLIER + + +

+

Multiplier when converting the gas energy into gas work

+ + + diff --git a/code/__DEFINES/turfs.html b/code/__DEFINES/turfs.html new file mode 100644 index 00000000000..5784e339cd2 --- /dev/null +++ b/code/__DEFINES/turfs.html @@ -0,0 +1,186 @@ + + + + + + + code/__DEFINES/turfs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/turfs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RANGE_TURFSReturns a list of turf in a square
Z_TURFSReturns all turfs in a zlevel
ALL_TURFSReturns all currently loaded turfs
CORNER_BLOCKReturns a list of turfs in the rectangle specified by BOTTOM LEFT corner and height/width, checks for being outside the world border for you
CORNER_BLOCK_OFFSETReturns a list of turfs similar to CORNER_BLOCK but with offsets
CORNER_OUTLINEReturns an outline (neighboring turfs) of the given block
TURF_NEIGHBORSReturns a list of around us
UNDERFLOOR_HIDDENThe pipes, disposals, and wires are hidden
UNDERFLOOR_VISIBLEThe pipes, disposals, and wires are visible but cannot be interacted with
UNDERFLOOR_INTERACTABLEThe pipes, disposals, and wires are visible and can be interacted with
TURF_DRYTurf is dry and mobs won't slip
TURF_WET_WATERTurf has water on the floor and mobs will slip unless walking or using galoshes
TURF_WET_PERMAFROSTTurf has a thick layer of ice on the floor and mobs will slip in the direction until they bump into something
TURF_WET_ICETurf has a thin layer of ice on the floor and mobs will slip
TURF_WET_LUBETurf has lube on the floor and mobs will slip
TURF_WET_SUPERLUBETurf has superlube on the floor and mobs will slip even if they are crawling
IS_WET_OPEN_TURFChecks if a turf is wet
MAXIMUM_WET_TIMEMaximum amount of time, (in deciseconds) a tile can be wet for.
get_turfGet the turf that A resides in, regardless of any containers.
get_areaGet the ultimate area of A, similarly to get_turf.
TURF_PATHING_PASS_DENSITYTurf will be passable if density is 0
TURF_PATHING_PASS_PROCTurf will be passable depending on [CanAStarPass] return value
TURF_PATHING_PASS_NOTurf is never passable
DECAL_ALPHADefine the alpha for holiday/colored tile decals
PATTERN_DEFAULTGenerate horizontal striped color turf decals
PATTERN_VERTICAL_STRIPEGenerate vertical striped color turf decals
PATTERN_RANDOMGenerate random color turf decals
PATTERN_RAINBOWGenerate rainbow color turf decals
TURF_MIDPOINTFinds the midpoint of two given turfs.

Define Details

+

ALL_TURFS + + + +

+

Returns all currently loaded turfs

CORNER_BLOCK + + + +

+

Returns a list of turfs in the rectangle specified by BOTTOM LEFT corner and height/width, checks for being outside the world border for you

CORNER_BLOCK_OFFSET + + + +

+

Returns a list of turfs similar to CORNER_BLOCK but with offsets

CORNER_OUTLINE + + + +

+

Returns an outline (neighboring turfs) of the given block

DECAL_ALPHA + + +

+

Define the alpha for holiday/colored tile decals

IS_WET_OPEN_TURF + + + +

+

Checks if a turf is wet

MAXIMUM_WET_TIME + + +

+

Maximum amount of time, (in deciseconds) a tile can be wet for.

PATTERN_DEFAULT + + +

+

Generate horizontal striped color turf decals

PATTERN_RAINBOW + + +

+

Generate rainbow color turf decals

PATTERN_RANDOM + + +

+

Generate random color turf decals

PATTERN_VERTICAL_STRIPE + + +

+

Generate vertical striped color turf decals

RANGE_TURFS + + + +

+

Returns a list of turf in a square

TURF_DRY + + +

+

Turf is dry and mobs won't slip

TURF_MIDPOINT + + + +

+

Finds the midpoint of two given turfs.

TURF_NEIGHBORS + + + +

+

Returns a list of around us

TURF_PATHING_PASS_DENSITY + + +

+

Turf will be passable if density is 0

TURF_PATHING_PASS_NO + + +

+

Turf is never passable

TURF_PATHING_PASS_PROC + + +

+

Turf will be passable depending on [CanAStarPass] return value

TURF_WET_ICE + + +

+

Turf has a thin layer of ice on the floor and mobs will slip

TURF_WET_LUBE + + +

+

Turf has lube on the floor and mobs will slip

TURF_WET_PERMAFROST + + +

+

Turf has a thick layer of ice on the floor and mobs will slip in the direction until they bump into something

TURF_WET_SUPERLUBE + + +

+

Turf has superlube on the floor and mobs will slip even if they are crawling

TURF_WET_WATER + + +

+

Turf has water on the floor and mobs will slip unless walking or using galoshes

UNDERFLOOR_HIDDEN + + +

+

The pipes, disposals, and wires are hidden

UNDERFLOOR_INTERACTABLE + + +

+

The pipes, disposals, and wires are visible and can be interacted with

UNDERFLOOR_VISIBLE + + +

+

The pipes, disposals, and wires are visible but cannot be interacted with

Z_TURFS + + + +

+

Returns all turfs in a zlevel

get_area + + + +

+

Get the ultimate area of A, similarly to get_turf.

+

Use instead of A.loc.loc.

get_turf + + + +

+

Get the turf that A resides in, regardless of any containers.

+

Use in favor of A.loc or src.loc so that things work correctly when +stored inside an inventory, locker, or other container.

+ + + diff --git a/code/__DEFINES/unit_tests.html b/code/__DEFINES/unit_tests.html new file mode 100644 index 00000000000..52916ea9de3 --- /dev/null +++ b/code/__DEFINES/unit_tests.html @@ -0,0 +1,63 @@ + + + + + + + code/__DEFINES/unit_tests.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/unit_tests.dm + +

+ + + + +
PERFORM_ALL_TESTSAre tests enabled with no focus? +Use this when performing test assertions outside of a unit test, +since a focused test means that you're trying to run a test quickly. +If a parameter is provided, will check if the focus is on that test name. +For example, PERFORM_ALL_TESTS(log_mapping) will only run if either +no test is focused, or the focus is log_mapping.
TEST_ONLY_ASSERTASSERT(), but it only actually does anything during unit tests
REGISTER_REQUIRED_MAP_ITEMUsed for registering typepaths of item to be tracked as a "required map item" +This is used to ensure that that all station maps have certain items mapped in that they should have +Or that people aren't mapping in an excess of items that they shouldn't be +(For example, all map should only ever have 1 Pun Pun)

Define Details

+

PERFORM_ALL_TESTS + + + +

+

Are tests enabled with no focus? +Use this when performing test assertions outside of a unit test, +since a focused test means that you're trying to run a test quickly. +If a parameter is provided, will check if the focus is on that test name. +For example, PERFORM_ALL_TESTS(log_mapping) will only run if either +no test is focused, or the focus is log_mapping.

REGISTER_REQUIRED_MAP_ITEM + + + +

+

Used for registering typepaths of item to be tracked as a "required map item" +This is used to ensure that that all station maps have certain items mapped in that they should have +Or that people aren't mapping in an excess of items that they shouldn't be +(For example, all map should only ever have 1 Pun Pun)

+

Min is inclusive, Max is inclusive (so 1, 1 means min of 1, max of 1, or only 1 allowed)

+

This should only be used in Initialize(). And don't forget to update the unit test with the type itself!

TEST_ONLY_ASSERT + + + +

+

ASSERT(), but it only actually does anything during unit tests

+ + + diff --git a/code/__DEFINES/uplink.html b/code/__DEFINES/uplink.html new file mode 100644 index 00000000000..fe49ed40dbc --- /dev/null +++ b/code/__DEFINES/uplink.html @@ -0,0 +1,58 @@ + + + + + + + code/__DEFINES/uplink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/uplink.dm + +

+ + + + + + + +
UPLINK_TRAITORSThis item is purchasable to traitors
UPLINK_NUKE_OPSThis item is purchasable to nuke ops
UPLINK_CLOWN_OPSThis item is purchasable to clown ops
UPLINK_INFILTRATORSThis item is purchasable to infiltrators (midround traitors)
DISPLAY_PROGRESSIONProgression gets turned into a user-friendly form. This is just an abstract equation that makes progression not too large.
TRAITOR_DISCOUNT_BIGTraitor discount size categories

Define Details

+

DISPLAY_PROGRESSION + + + +

+

Progression gets turned into a user-friendly form. This is just an abstract equation that makes progression not too large.

TRAITOR_DISCOUNT_BIG + + +

+

Traitor discount size categories

+

This item is purchasable to clown ops

+

This item is purchasable to infiltrators (midround traitors)

+

This item is purchasable to nuke ops

+

This item is purchasable to traitors

+ + + diff --git a/code/__DEFINES/vehicles.html b/code/__DEFINES/vehicles.html new file mode 100644 index 00000000000..9b5c2baf829 --- /dev/null +++ b/code/__DEFINES/vehicles.html @@ -0,0 +1,92 @@ + + + + + + + code/__DEFINES/vehicles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/vehicles.dm + +

+ + + + + + + + + + + + + + +
VEHICLE_CONTROL_DRIVEcontrols the vehicles movement
VEHICLE_CONTROL_KIDNAPPEDCan't leave vehicle voluntarily, has to resist.
VEHICLE_CONTROL_MELEEmelee attacks/shoves a vehicle may have
VEHICLE_CONTROL_EQUIPMENTusing equipment/weapons on the vehicle
VEHICLE_CONTROL_SETTINGSchanging around settings and the like.
FULL_MECHA_CONTROLez define for giving a single pilot mech all the flags it needs.
RIDER_NEEDS_ARMSDoes our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider
RIDER_NEEDS_LEGSDo we need legs to ride this (checks against TRAIT_FLOORED)
UNBUCKLE_DISABLED_RIDERIf the rider is disabled or loses their needed limbs, do they fall off?
CAN_KIDNAPWill this car kidnap people by ramming into them?
VIM_SOUND_COOLDOWNcooldown between uses of the sound maker
VIM_HEAL_AMOUNThow much vim heals per weld
RIDING_OFFSET_ALLThe vehicle being ridden requires pixel offsets for all directions

Define Details

+

CAN_KIDNAP + + +

+

Will this car kidnap people by ramming into them?

FULL_MECHA_CONTROL + + +

+

ez define for giving a single pilot mech all the flags it needs.

RIDER_NEEDS_ARMS + + +

+

Does our vehicle require arms to operate? Also used for piggybacking on humans to reserve arms on the rider

RIDER_NEEDS_LEGS + + +

+

Do we need legs to ride this (checks against TRAIT_FLOORED)

RIDING_OFFSET_ALL + + +

+

The vehicle being ridden requires pixel offsets for all directions

UNBUCKLE_DISABLED_RIDER + + +

+

If the rider is disabled or loses their needed limbs, do they fall off?

VEHICLE_CONTROL_DRIVE + + +

+

controls the vehicles movement

VEHICLE_CONTROL_EQUIPMENT + + +

+

using equipment/weapons on the vehicle

VEHICLE_CONTROL_KIDNAPPED + + +

+

Can't leave vehicle voluntarily, has to resist.

VEHICLE_CONTROL_MELEE + + +

+

melee attacks/shoves a vehicle may have

VEHICLE_CONTROL_SETTINGS + + +

+

changing around settings and the like.

VIM_HEAL_AMOUNT + + +

+

how much vim heals per weld

VIM_SOUND_COOLDOWN + + +

+

cooldown between uses of the sound maker

+ + + diff --git a/code/__DEFINES/verb_manager.html b/code/__DEFINES/verb_manager.html new file mode 100644 index 00000000000..392c0e81011 --- /dev/null +++ b/code/__DEFINES/verb_manager.html @@ -0,0 +1,76 @@ + + + + + + + code/__DEFINES/verb_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/verb_manager.dm + +

+ + + + + + +
VERB_OVERTIME_QUEUE_THRESHOLDverb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world +until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. +however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, +unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. +so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. +its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range +when the verb finally processes but it was in range if the verb had processed immediately and overtimed. +queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +ONLY use for critical verbs
VERB_HIGH_PRIORITY_QUEUE_THRESHOLDqueuing tick_usage threshold for verbs that need lower latency more than most verbs.
VERB_DEFAULT_QUEUE_THRESHOLDdefault queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick
TRY_QUEUE_VERBattempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +it will runtime.
QUEUE_OR_CALL_VERBqueue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue

Define Details

+

QUEUE_OR_CALL_VERB + + + +

+

queue wrapper for TRY_QUEUE_VERB() when you want to call the proc if the server isnt overloaded enough to queue

TRY_QUEUE_VERB + + + +

+

attempt to queue this verb process if the server is overloaded. evaluates to FALSE if queuing isnt necessary or if it failed. +_verification_args... are only necessary if the verb_manager subsystem youre using checks them in can_queue_verb() +if you put anything in _verification_args that ISNT explicitely put in the can_queue_verb() override of the subsystem youre using, +it will runtime.

VERB_DEFAULT_QUEUE_THRESHOLD + + +

+

default queuing tick_usage threshold for most verbs which can allow a small amount of latency to be processed in the next tick

VERB_HIGH_PRIORITY_QUEUE_THRESHOLD + + +

+

queuing tick_usage threshold for verbs that need lower latency more than most verbs.

VERB_OVERTIME_QUEUE_THRESHOLD + + +

+

verb queuing thresholds. remember that since verbs execute after SendMaps the player wont see the effects of the verbs on the game world +until SendMaps executes next tick, and then when that later update reaches them. thus most player input has a minimum latency of world.tick_lag + player ping. +however thats only for the visual effect of player input, when a verb processes the actual latency of game state changes or semantic latency is effectively 1/2 player ping, +unless that verb is queued for the next tick in which case its some number probably smaller than world.tick_lag. +so some verbs that represent player input are important enough that we only introduce semantic latency if we absolutely need to. +its for this reason why player clicks are handled in SSinput before even movement - semantic latency could cause someone to move out of range +when the verb finally processes but it was in range if the verb had processed immediately and overtimed. +queuing tick_usage threshold for verbs that are high enough priority that they only queue if the server is overtiming. +ONLY use for critical verbs

+ + + diff --git a/code/__DEFINES/visual_helpers.html b/code/__DEFINES/visual_helpers.html new file mode 100644 index 00000000000..e0389e6b369 --- /dev/null +++ b/code/__DEFINES/visual_helpers.html @@ -0,0 +1,47 @@ + + + + + + + code/__DEFINES/visual_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/visual_helpers.dm + +

+ + + + +
SET_BASE_PIXELUse this to set the base and ACTUAL pixel offsets of an object at the same time +You should always use this for pixel setting in typepaths, unless you want the map display to look different from in game
_SET_BASE_PIXEL_NO_OFFSETHelper define, sets JUST base pixel offsets
SET_BASE_PIXEL_NOMAPMuch like SET_BASE_PIXEL, except it will not effect pixel offsets in mapping programs

Define Details

+

SET_BASE_PIXEL + + + +

+

Use this to set the base and ACTUAL pixel offsets of an object at the same time +You should always use this for pixel setting in typepaths, unless you want the map display to look different from in game

SET_BASE_PIXEL_NOMAP + + + +

+

Much like SET_BASE_PIXEL, except it will not effect pixel offsets in mapping programs

_SET_BASE_PIXEL_NO_OFFSET + + + +

+

Helper define, sets JUST base pixel offsets

+ + + diff --git a/code/__DEFINES/vv.html b/code/__DEFINES/vv.html new file mode 100644 index 00000000000..8cc81f0a3a8 --- /dev/null +++ b/code/__DEFINES/vv.html @@ -0,0 +1,32 @@ + + + + + + + code/__DEFINES/vv.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/vv.dm + +

+ + +
VV_ALWAYS_CONTRACT_LISTALWAYS render a reduced list, useful for fuckoff big datums that need to be condensed for the sake of client load

Define Details

+

VV_ALWAYS_CONTRACT_LIST + + +

+

ALWAYS render a reduced list, useful for fuckoff big datums that need to be condensed for the sake of client load

+ + + diff --git a/code/__DEFINES/wiremod.html b/code/__DEFINES/wiremod.html new file mode 100644 index 00000000000..ccf3dd7ba4c --- /dev/null +++ b/code/__DEFINES/wiremod.html @@ -0,0 +1,217 @@ + + + + + + + code/__DEFINES/wiremod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/wiremod.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
COMPONENT_TRIGGERED_BYHelper define that can only be used in /obj/item/circuit_component/input_received()
CIRCUIT_TRIGGERDefine to be placed at any proc that is triggered by a port.
PORT_TYPE_ANYCan accept any datatype. Only works for inputs, output types will runtime.
PORT_TYPE_STRINGString datatype
PORT_TYPE_NUMBERNumber datatype
PORT_TYPE_SIGNALSignal datatype
PORT_TYPE_INSTANT_SIGNALSignal datatype, with a slight variation in name to suggest it causes instant execution. Can only be an output port.
PORT_TYPE_RESPONSE_SIGNALSignal datatype, with a slight variation in name to suggest that it can be used to respond to instant execution.
PORT_TYPE_TABLETable datatype. Derivative of list, contains other lists with matching columns.
PORT_TYPE_OPTIONOptions datatype. Derivative of string.
PORT_TYPE_LISTList datatype
PORT_TYPE_ASSOC_LISTAssociative List datatype. Derivative of list.
PORT_TYPE_ATOMAtom datatype
PORT_TYPE_DATUMDatum datatype
PORT_TYPE_USERUser datatype
PORT_ATOM_MAX_RANGEThe maximum range between a port and an atom
COMPONENT_MIN_RANDOM_POSThe minimum position of the x and y co-ordinates of the component in the UI
COMPONENT_MAX_RANDOM_POSThe maximum position of the x and y co-ordinates of the component in the UI
COMPONENT_MAX_POSThe maximum position in both directions that a component can be in. +Prevents someone from positioning a component at an absurdly high value.
COMPONENT_SIGNALThe value that is sent whenever a component is simply sending a signal. This can be anything, and is currently the seconds since roundstart.
SHELL_FLAG_CIRCUIT_UNREMOVABLEWhether a circuit is stuck on a shell and cannot be removed (by a user)
SHELL_FLAG_REQUIRE_ANCHORWhether the shell needs to be anchored for the circuit to be on.
SHELL_FLAG_USB_PORTWhether or not the shell has a USB port.
SHELL_FLAG_ALLOW_FAILURE_ACTIONWhether the shell allows actions to be peformed on a shell if the action fails. This will additionally block the messages from being displayed.
SHELL_FLAG_CIRCUIT_UNMODIFIABLEWhether a circuit is not able to be modified
USB_CABLE_MAX_RANGEThe maximum range a USB cable can be apart from a source
CIRCUIT_FLAG_INPUT_SIGNALCreates an input trigger that means the component won't be triggered unless the trigger is pulsed.
CIRCUIT_FLAG_OUTPUT_SIGNALCreates an output trigger that sends a pulse whenever the component is successfully triggered
CIRCUIT_FLAG_ADMINMarks a circuit component as admin only. Admins will only be able to link/unlink with these circuit components.
CIRCUIT_FLAG_HIDDENThis circuit component does not show in the menu.
CIRCUIT_FLAG_INSTANTThis circuit component has been marked as a component that has instant execution and will show up in the UI as so. This will only cause a visual change.
CIRCUIT_FLAG_REFUSE_MODULEThis circuit component can't be loaded in module component. Saves us some headaches.
CIRCUIT_NO_DUPLICATESThis circuit component cannot be inserted into the same circuit multiple times. Only use this for major headaches.
DATATYPE_FLAG_ALLOW_MANUAL_INPUTThe datatype supports manual inputs
DATATYPE_FLAG_AVOID_VALUE_UPDATEThe datatype won't update the value when it is connected to the port
DATATYPE_FLAG_ALLOW_ATOM_INPUTAllows the datatype to take entity values from the circuit multitool.
DATATYPE_FLAG_COMPOSITEThe datatype has been generated and is an existing composite datatype

Define Details

+

CIRCUIT_FLAG_ADMIN + + +

+

Marks a circuit component as admin only. Admins will only be able to link/unlink with these circuit components.

CIRCUIT_FLAG_HIDDEN + + +

+

This circuit component does not show in the menu.

CIRCUIT_FLAG_INPUT_SIGNAL + + +

+

Creates an input trigger that means the component won't be triggered unless the trigger is pulsed.

CIRCUIT_FLAG_INSTANT + + +

+

This circuit component has been marked as a component that has instant execution and will show up in the UI as so. This will only cause a visual change.

CIRCUIT_FLAG_OUTPUT_SIGNAL + + +

+

Creates an output trigger that sends a pulse whenever the component is successfully triggered

CIRCUIT_FLAG_REFUSE_MODULE + + +

+

This circuit component can't be loaded in module component. Saves us some headaches.

CIRCUIT_NO_DUPLICATES + + +

+

This circuit component cannot be inserted into the same circuit multiple times. Only use this for major headaches.

CIRCUIT_TRIGGER + + +

+

Define to be placed at any proc that is triggered by a port.

COMPONENT_MAX_POS + + +

+

The maximum position in both directions that a component can be in. +Prevents someone from positioning a component at an absurdly high value.

COMPONENT_MAX_RANDOM_POS + + +

+

The maximum position of the x and y co-ordinates of the component in the UI

COMPONENT_MIN_RANDOM_POS + + +

+

The minimum position of the x and y co-ordinates of the component in the UI

COMPONENT_SIGNAL + + +

+

The value that is sent whenever a component is simply sending a signal. This can be anything, and is currently the seconds since roundstart.

COMPONENT_TRIGGERED_BY + + + +

+

Helper define that can only be used in /obj/item/circuit_component/input_received()

DATATYPE_FLAG_ALLOW_ATOM_INPUT + + +

+

Allows the datatype to take entity values from the circuit multitool.

DATATYPE_FLAG_ALLOW_MANUAL_INPUT + + +

+

The datatype supports manual inputs

DATATYPE_FLAG_AVOID_VALUE_UPDATE + + +

+

The datatype won't update the value when it is connected to the port

DATATYPE_FLAG_COMPOSITE + + +

+

The datatype has been generated and is an existing composite datatype

PORT_ATOM_MAX_RANGE + + +

+

The maximum range between a port and an atom

PORT_TYPE_ANY + + +

+

Can accept any datatype. Only works for inputs, output types will runtime.

PORT_TYPE_ASSOC_LIST + + + +

+

Associative List datatype. Derivative of list.

PORT_TYPE_ATOM + + +

+

Atom datatype

PORT_TYPE_DATUM + + +

+

Datum datatype

PORT_TYPE_INSTANT_SIGNAL + + +

+

Signal datatype, with a slight variation in name to suggest it causes instant execution. Can only be an output port.

PORT_TYPE_LIST + + + +

+

List datatype

PORT_TYPE_NUMBER + + +

+

Number datatype

PORT_TYPE_OPTION + + +

+

Options datatype. Derivative of string.

PORT_TYPE_RESPONSE_SIGNAL + + +

+

Signal datatype, with a slight variation in name to suggest that it can be used to respond to instant execution.

PORT_TYPE_SIGNAL + + +

+

Signal datatype

PORT_TYPE_STRING + + +

+

String datatype

PORT_TYPE_TABLE + + +

+

Table datatype. Derivative of list, contains other lists with matching columns.

PORT_TYPE_USER + + +

+

User datatype

SHELL_FLAG_ALLOW_FAILURE_ACTION + + +

+

Whether the shell allows actions to be peformed on a shell if the action fails. This will additionally block the messages from being displayed.

SHELL_FLAG_CIRCUIT_UNMODIFIABLE + + +

+

Whether a circuit is not able to be modified

SHELL_FLAG_CIRCUIT_UNREMOVABLE + + +

+

Whether a circuit is stuck on a shell and cannot be removed (by a user)

SHELL_FLAG_REQUIRE_ANCHOR + + +

+

Whether the shell needs to be anchored for the circuit to be on.

SHELL_FLAG_USB_PORT + + +

+

Whether or not the shell has a USB port.

USB_CABLE_MAX_RANGE + + +

+

The maximum range a USB cable can be apart from a source

+ + + diff --git a/code/__DEFINES/wires.html b/code/__DEFINES/wires.html new file mode 100644 index 00000000000..0965a6ff9ae --- /dev/null +++ b/code/__DEFINES/wires.html @@ -0,0 +1,33 @@ + + + + + + + code/__DEFINES/wires.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/wires.dm + +

+ + +
COMSIG_CUT_WIREfrom base of /datum/wires/proc/cut : (wire)

Define Details

+

COMSIG_CUT_WIRE + + + +

+

from base of /datum/wires/proc/cut : (wire)

+ + + diff --git a/code/__DEFINES/wounds.html b/code/__DEFINES/wounds.html new file mode 100644 index 00000000000..b02fa1e6ab8 --- /dev/null +++ b/code/__DEFINES/wounds.html @@ -0,0 +1,366 @@ + + + + + + + code/__DEFINES/wounds.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/wounds.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
WOUND_DAMAGE_EXPONENTthe cornerstone of the wound threshold system, your base wound roll for any attack is rand(1, damage^this), after armor reduces said damage. See /obj/item/bodypart/proc/check_wounding
WOUND_MAX_CONSIDERED_DAMAGEany damage dealt over this is ignored for damage rolls unless the target has the frail quirk (35^1.4=145, for reference)
WOUND_MINIMUM_DAMAGEan attack must do this much damage after armor in order to roll for being a wound (so pressure damage/being on fire doesn't proc it)
DISMEMBER_MINIMUM_DAMAGEan attack must do this much damage after armor in order to be eliigible to dismember a suitably mushed bodypart
WOUND_DISMEMBER_OUTRIGHT_THRESHIf an attack rolls this high with their wound (including mods), we try to outright dismember the limb. Note 250 is high enough that with a perfect max roll of 145 (see max cons'd damage), you'd need +100 in mods to do this
CANT_WOUNDset wound_bonus on an item or attack to this to disable checking wounding for the attack
WOUND_DEFAULT_WEIGHTIf there are multiple possible and valid wounds for the same type and severity, weight will be used to pick among them. See _wound_pregen_data.dm for more details +This is used in pick_weight, so use integers
WOUND_SEVERITY_TRIVIALfor jokey/meme wounds like stubbed toe, no standard messages/sounds or second winds
WOUND_SEVERITY_LOSSoutright dismemberment of limb
WOUND_BLUNTany brute weapon/attack that doesn't have sharpness. rolls for blunt bone wounds
WOUND_SLASHany brute weapon/attack with sharpness = SHARP_EDGED. rolls for slash wounds
WOUND_PIERCEany brute weapon/attack with sharpness = SHARP_POINTY. rolls for piercing wounds
WOUND_BURNany concentrated burn attack (lasers really). rolls for burning wounds
WOUND_ALLMainly a define used for wound_pregen_data, if a pregen data instance expects this, it will accept any and all wound types, even none at all
WOUND_DETERMINATION_MAXthe max amount of determination you can have
WOUND_DETERMINATION_BLEED_MODWhile someone has determination in their system, their bleed rate is slightly reduced
WOUND_COMPETITION_OVERPOWER_GREATERSWounds using this competition mode will remove any wounds of a greater severity than itself in a random wound roll. In most cases, you dont want to use this.
WOUND_COMPETITION_OVERPOWER_LESSERSWounds using this competition mode will remove any wounds of a lower severity than itself in a random wound roll. Used for ensuring the worse case scenario of a given injury_roll.
BIO_INORGANICHas absolutely fucking nothing, no wounds
BIO_BONEHas bone - allows the victim to suffer T2-T3 bone blunt wounds
BIO_FLESHHas flesh - allows the victim to suffer fleshy slash pierce and burn wounds
BIO_METALHas metal - allows the victim to suffer robotic blunt and burn wounds
BIO_WIREDIs wired internally - allows the victim to suffer electrical wounds (robotic T1-T3 slash/pierce)
BIO_BLOODEDHas bloodflow - can suffer bleeding wounds and can bleed
BIO_JOINTEDIs connected by a joint - can suffer T1 bone blunt wounds (dislocation)
BIO_ROBOTICRobotic - can suffer all metal/wired wounds, such as: UNIMPLEMENTED PLEASE UPDATE ONCE SYNTH WOUNDS 9/5/2023 ~Niko
BIO_FLESH_BONEHas flesh and bone - See BIO_BONE and BIO_FLESH
BIO_STANDARD_UNJOINTEDStandard humanoid - can bleed and suffer all flesh/bone wounds, such as: T1-3 slash/pierce/burn/blunt, except dislocations. Think human heads/chests
BIO_STANDARD_JOINTEDStandard humanoid limbs - can bleed and suffer all flesh/bone wounds, such as: T1-3 slash/pierce/burn/blunt. Can also bleed, and be dislocated. Think human arms and legs
ANATOMY_INTERIORThe given biostate is on the "interior" of the limb - hard shit, protected by exterior
ANATOMY_EXTERIORThe given biostate is on the "exterior" of the limb - soft shit, protects interior
WOUND_SERIES_FLESH_SLASH_BLEEDT1-T3 Bleeding slash wounds. Requires flesh. Can cause bleeding, but doesn't require it. From: slash.dm
WOUND_SERIES_BONE_BLUNT_BASICT1-T3 Basic blunt wounds. T1 requires jointed, but 2-3 require bone. From: bone.dm
WOUND_SERIES_FLESH_BURN_BASICT1-T3 Basic burn wounds. Requires flesh. From: burns.dm
WOUND_SERIES_FLESH_PUNCTURE_BLEEDT1-T3 Bleeding puncture wounds. Requires flesh. Can cause bleeding, but doesn't require it. From: pierce.dm
WOUND_SERIES_LOSS_BASICGeneric loss wounds. See loss.dm
/proc/generate_wound_static_dataConstructs [GLOB.all_wound_pregen_data] by iterating through a typecache of pregen data, ignoring abstract types, and instantiating the rest.
/proc/generate_wound_series_collectionGenerates [wound_series_collections] by iterating through all pregen_data. Refer to the mentioned list for documentation
WOUND_PICK_HIGHEST_SEVERITYUsed in get_corresponding_wound_type(): Will pick the highest severity wound out of severity_min and severity_max
WOUND_PICK_LOWEST_SEVERITYUsed in get_corresponding_wound_type(): Will pick the lowest severity wound out of severity_min and severity_max
/proc/get_corresponding_wound_typeSearches through all wounds for any of proper type, series, and biostate, and then returns a single one via pickweight. +Is able to discern between, say, a flesh slash wound, and a metallic slash wound, and will return the respective one for the provided limb.
WOUND_INFECTION_MODERATEbelow this has no ill effects from infection
WOUND_INFECTION_SEVEREthen below here, you ooze some pus and suffer minor tox damage, but nothing serious
WOUND_INFECTION_CRITICALthen below here, your limb occasionally locks up from damage and infection and briefly becomes disabled. Things are getting really bad
WOUND_INFECTION_SEPTICbelow here, your skin is almost entirely falling off and your limb locks up more frequently. You are within a stone's throw of septic paralysis and losing the limb
WOUND_BURN_SANITIZATION_RATEhow quickly sanitization removes infestation and decays per second
WOUND_SLASH_MAX_BLOODFLOWhow much blood you can lose per tick per slash max.
WOUND_SLASH_DAMAGE_FLOW_COEFFfurther slash attacks on a bodypart with a slash wound have their blood_flow further increased by damage * this (10 damage slash adds .25 flow)
WOUND_BONE_HEAD_TIME_VARIANCEif we suffer a bone wound to the head that creates brain traumas, the timer for the trauma cycle is +/- by this percent (0-100)
MANGLES_EXTERIORIf having this wound counts as mangled exterior for dismemberment
MANGLES_INTERIORIf having this wound counts as mangled interior for dismemberment
ACCEPTS_GAUZEIf this wound marks the limb as being allowed to have gauze applied
CAN_BE_GRASPEDIf this wound allows the victim to grasp it
SCAR_SAVE_VERSThe version number of the scar we're saving, any scars being loaded below this number will be discarded, see SCAR_CURRENT_VERSION below
SCAR_SAVE_ZONEThe body_zone we're applying to on granting
SCAR_SAVE_DESCThe description we're loading
SCAR_SAVE_PRECISE_LOCATIONThe precise location we're loading
SCAR_SAVE_SEVERITYThe severity the scar had
SCAR_SAVE_BIOLOGYWhether this is a BIO_BONE scar, a BIO_FLESH scar, or a BIO_FLESH_BONE scar (so you can't load fleshy human scars on a plasmaman character)
SCAR_SAVE_CHAR_SLOTWhich character slot this was saved to
SCAR_SAVE_CHECK_ANY_BIOif the scar will check for any or all biostates on the limb (defaults to FALSE, so all)
SCAR_SAVE_LENGTHhow many fields we save for each scar (so the number of above fields)
SCAR_CURRENT_VERSIONsaved scars with a version lower than this will be discarded, increment when you update the persistent scarring format in a way that invalidates previous saved scars (new fields, reordering, etc)
PERSISTENT_SCAR_SLOTShow many scar slots, per character slot, we have to cycle through for persistent scarring, if enabled in character prefs
BLOOD_FLOW_DECREASINGOur wound is clotting and will eventually stop bleeding if this continues
BLOOD_FLOW_STEADYOur wound is bleeding but is holding steady at the same rate.
BLOOD_FLOW_INCREASINGOur wound is bleeding and actively getting worse, like if we're a critical slash or if we're afflicted with heparin
BLEEDING_MESSAGE_BASE_CDHow often can we annoy the player about their bleeding? This duration is extended if it's not serious bleeding
WOUND_BONE_BIO_BONE_GEL_MULTSkeletons and other BIO_ONLY_BONE creatures respond much better to bone gel and can have severe and critical bone wounds healed by bone gel alone. The duration it takes to heal is also multiplied by this, lucky them!

Define Details

+

ACCEPTS_GAUZE + + +

+

If this wound marks the limb as being allowed to have gauze applied

ANATOMY_EXTERIOR + + +

+

The given biostate is on the "exterior" of the limb - soft shit, protects interior

ANATOMY_INTERIOR + + +

+

The given biostate is on the "interior" of the limb - hard shit, protected by exterior

BIO_BLOODED + + +

+

Has bloodflow - can suffer bleeding wounds and can bleed

BIO_BONE + + +

+

Has bone - allows the victim to suffer T2-T3 bone blunt wounds

BIO_FLESH + + +

+

Has flesh - allows the victim to suffer fleshy slash pierce and burn wounds

BIO_FLESH_BONE + + +

+

Has flesh and bone - See BIO_BONE and BIO_FLESH

BIO_INORGANIC + + +

+

Has absolutely fucking nothing, no wounds

BIO_JOINTED + + +

+

Is connected by a joint - can suffer T1 bone blunt wounds (dislocation)

BIO_METAL + + +

+

Has metal - allows the victim to suffer robotic blunt and burn wounds

BIO_ROBOTIC + + +

+

Robotic - can suffer all metal/wired wounds, such as: UNIMPLEMENTED PLEASE UPDATE ONCE SYNTH WOUNDS 9/5/2023 ~Niko

BIO_STANDARD_JOINTED + + +

+

Standard humanoid limbs - can bleed and suffer all flesh/bone wounds, such as: T1-3 slash/pierce/burn/blunt. Can also bleed, and be dislocated. Think human arms and legs

BIO_STANDARD_UNJOINTED + + +

+

Standard humanoid - can bleed and suffer all flesh/bone wounds, such as: T1-3 slash/pierce/burn/blunt, except dislocations. Think human heads/chests

BIO_WIRED + + +

+

Is wired internally - allows the victim to suffer electrical wounds (robotic T1-T3 slash/pierce)

BLEEDING_MESSAGE_BASE_CD + + +

+

How often can we annoy the player about their bleeding? This duration is extended if it's not serious bleeding

BLOOD_FLOW_DECREASING + + +

+

Our wound is clotting and will eventually stop bleeding if this continues

BLOOD_FLOW_INCREASING + + +

+

Our wound is bleeding and actively getting worse, like if we're a critical slash or if we're afflicted with heparin

BLOOD_FLOW_STEADY + + +

+

Our wound is bleeding but is holding steady at the same rate.

CANT_WOUND + + +

+

set wound_bonus on an item or attack to this to disable checking wounding for the attack

CAN_BE_GRASPED + + +

+

If this wound allows the victim to grasp it

DISMEMBER_MINIMUM_DAMAGE + + +

+

an attack must do this much damage after armor in order to be eliigible to dismember a suitably mushed bodypart

MANGLES_EXTERIOR + + +

+

If having this wound counts as mangled exterior for dismemberment

MANGLES_INTERIOR + + +

+

If having this wound counts as mangled interior for dismemberment

PERSISTENT_SCAR_SLOTS + + +

+

how many scar slots, per character slot, we have to cycle through for persistent scarring, if enabled in character prefs

SCAR_CURRENT_VERSION + + +

+

saved scars with a version lower than this will be discarded, increment when you update the persistent scarring format in a way that invalidates previous saved scars (new fields, reordering, etc)

SCAR_SAVE_BIOLOGY + + +

+

Whether this is a BIO_BONE scar, a BIO_FLESH scar, or a BIO_FLESH_BONE scar (so you can't load fleshy human scars on a plasmaman character)

SCAR_SAVE_CHAR_SLOT + + +

+

Which character slot this was saved to

SCAR_SAVE_CHECK_ANY_BIO + + +

+

if the scar will check for any or all biostates on the limb (defaults to FALSE, so all)

SCAR_SAVE_DESC + + +

+

The description we're loading

SCAR_SAVE_LENGTH + + +

+

how many fields we save for each scar (so the number of above fields)

SCAR_SAVE_PRECISE_LOCATION + + +

+

The precise location we're loading

SCAR_SAVE_SEVERITY + + +

+

The severity the scar had

SCAR_SAVE_VERS + + +

+

The version number of the scar we're saving, any scars being loaded below this number will be discarded, see SCAR_CURRENT_VERSION below

SCAR_SAVE_ZONE + + +

+

The body_zone we're applying to on granting

WOUND_ALL + + +

+

Mainly a define used for wound_pregen_data, if a pregen data instance expects this, it will accept any and all wound types, even none at all

WOUND_BLUNT + + +

+

any brute weapon/attack that doesn't have sharpness. rolls for blunt bone wounds

WOUND_BONE_BIO_BONE_GEL_MULT + + +

+

Skeletons and other BIO_ONLY_BONE creatures respond much better to bone gel and can have severe and critical bone wounds healed by bone gel alone. The duration it takes to heal is also multiplied by this, lucky them!

WOUND_BONE_HEAD_TIME_VARIANCE + + +

+

if we suffer a bone wound to the head that creates brain traumas, the timer for the trauma cycle is +/- by this percent (0-100)

WOUND_BURN + + +

+

any concentrated burn attack (lasers really). rolls for burning wounds

WOUND_BURN_SANITIZATION_RATE + + +

+

how quickly sanitization removes infestation and decays per second

WOUND_COMPETITION_OVERPOWER_GREATERS + + +

+

Wounds using this competition mode will remove any wounds of a greater severity than itself in a random wound roll. In most cases, you dont want to use this.

WOUND_COMPETITION_OVERPOWER_LESSERS + + +

+

Wounds using this competition mode will remove any wounds of a lower severity than itself in a random wound roll. Used for ensuring the worse case scenario of a given injury_roll.

WOUND_DAMAGE_EXPONENT + + +

+

the cornerstone of the wound threshold system, your base wound roll for any attack is rand(1, damage^this), after armor reduces said damage. See /obj/item/bodypart/proc/check_wounding

WOUND_DEFAULT_WEIGHT + + +

+

If there are multiple possible and valid wounds for the same type and severity, weight will be used to pick among them. See _wound_pregen_data.dm for more details +This is used in pick_weight, so use integers

WOUND_DETERMINATION_BLEED_MOD + + +

+

While someone has determination in their system, their bleed rate is slightly reduced

WOUND_DETERMINATION_MAX + + +

+

the max amount of determination you can have

WOUND_DISMEMBER_OUTRIGHT_THRESH + + +

+

If an attack rolls this high with their wound (including mods), we try to outright dismember the limb. Note 250 is high enough that with a perfect max roll of 145 (see max cons'd damage), you'd need +100 in mods to do this

WOUND_INFECTION_CRITICAL + + +

+

then below here, your limb occasionally locks up from damage and infection and briefly becomes disabled. Things are getting really bad

WOUND_INFECTION_MODERATE + + +

+

below this has no ill effects from infection

WOUND_INFECTION_SEPTIC + + +

+

below here, your skin is almost entirely falling off and your limb locks up more frequently. You are within a stone's throw of septic paralysis and losing the limb

WOUND_INFECTION_SEVERE + + +

+

then below here, you ooze some pus and suffer minor tox damage, but nothing serious

WOUND_MAX_CONSIDERED_DAMAGE + + +

+

any damage dealt over this is ignored for damage rolls unless the target has the frail quirk (35^1.4=145, for reference)

WOUND_MINIMUM_DAMAGE + + +

+

an attack must do this much damage after armor in order to roll for being a wound (so pressure damage/being on fire doesn't proc it)

WOUND_PICK_HIGHEST_SEVERITY + + +

+

Used in get_corresponding_wound_type(): Will pick the highest severity wound out of severity_min and severity_max

WOUND_PICK_LOWEST_SEVERITY + + +

+

Used in get_corresponding_wound_type(): Will pick the lowest severity wound out of severity_min and severity_max

WOUND_PIERCE + + +

+

any brute weapon/attack with sharpness = SHARP_POINTY. rolls for piercing wounds

WOUND_SERIES_BONE_BLUNT_BASIC + + +

+

T1-T3 Basic blunt wounds. T1 requires jointed, but 2-3 require bone. From: bone.dm

WOUND_SERIES_FLESH_BURN_BASIC + + +

+

T1-T3 Basic burn wounds. Requires flesh. From: burns.dm

WOUND_SERIES_FLESH_PUNCTURE_BLEED + + +

+

T1-T3 Bleeding puncture wounds. Requires flesh. Can cause bleeding, but doesn't require it. From: pierce.dm

WOUND_SERIES_FLESH_SLASH_BLEED + + +

+

T1-T3 Bleeding slash wounds. Requires flesh. Can cause bleeding, but doesn't require it. From: slash.dm

WOUND_SERIES_LOSS_BASIC + + +

+

Generic loss wounds. See loss.dm

WOUND_SEVERITY_LOSS + + +

+

outright dismemberment of limb

WOUND_SEVERITY_TRIVIAL + + +

+

for jokey/meme wounds like stubbed toe, no standard messages/sounds or second winds

WOUND_SLASH + + +

+

any brute weapon/attack with sharpness = SHARP_EDGED. rolls for slash wounds

WOUND_SLASH_DAMAGE_FLOW_COEFF + + +

+

further slash attacks on a bodypart with a slash wound have their blood_flow further increased by damage * this (10 damage slash adds .25 flow)

WOUND_SLASH_MAX_BLOODFLOW + + +

+

how much blood you can lose per tick per slash max.

+ + + diff --git a/code/__DEFINES/xenobiology.html b/code/__DEFINES/xenobiology.html new file mode 100644 index 00000000000..6163e5cef94 --- /dev/null +++ b/code/__DEFINES/xenobiology.html @@ -0,0 +1,57 @@ + + + + + + + code/__DEFINES/xenobiology.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__DEFINES/xenobiology.dm + +

+ + + + + + + +
NO_SPAWNMob cannot be spawned with a gold slime core
HOSTILE_SPAWNMob can spawned with a gold slime core with plasma reaction as a hostile creature
FRIENDLY_SPAWNMob can be spawned with a gold slime core with blood reaction as a friendly creature
SLIME_ACTIVATE_MINORJelly species slime ability that causes simple effects that require energized jelly
SLIME_ACTIVATE_MAJORJelly species slime ability that causes complex effects that require plasma jelly
LUMINESCENT_DEFAULT_GLOWDetermines how much light the jelly species emit

Define Details

+

FRIENDLY_SPAWN + + +

+

Mob can be spawned with a gold slime core with blood reaction as a friendly creature

HOSTILE_SPAWN + + +

+

Mob can spawned with a gold slime core with plasma reaction as a hostile creature

LUMINESCENT_DEFAULT_GLOW + + +

+

Determines how much light the jelly species emit

NO_SPAWN + + +

+

Mob cannot be spawned with a gold slime core

SLIME_ACTIVATE_MAJOR + + +

+

Jelly species slime ability that causes complex effects that require plasma jelly

SLIME_ACTIVATE_MINOR + + +

+

Jelly species slime ability that causes simple effects that require energized jelly

+ + + diff --git a/code/__HELPERS/_lists.html b/code/__HELPERS/_lists.html new file mode 100644 index 00000000000..ac4b97d2fab --- /dev/null +++ b/code/__HELPERS/_lists.html @@ -0,0 +1,398 @@ + + + + + + + code/__HELPERS/_lists.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/_lists.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIST_VALUE_WRAP_LISTSIf value is a list, wrap it in a list so it can be used with list add/remove operations
UNTYPED_LIST_ADDAdd an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun
UNTYPED_LIST_REMOVERemove an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun
LAZYINITLISTInitialize the lazylist
UNSETEMPTYIf the provided list is empty, set it to null
ASSOC_UNSETEMPTYIf the provided key -> list is empty, remove it from the list
LAZYLISTDUPLICATELike LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled
LAZYREMOVERemove an item from the list, set the list to null if empty
LAZYADDAdd an item to the list, if the list is null it will initialize it
LAZYORAdd an item to the list if not already present, if the list is null it will initialize it
LAZYFINDReturns the key of the submitted item in the list
LAZYACCESSreturns L[I] if L exists and I is a valid index of L, runtimes if L is not a list
LAZYSETSets the item K to the value V, if the list is null it will initialize it
LAZYSETLENSets the length of a lazylist
LAZYLENReturns the length of the list
LAZYNULLSets a list to null
LAZYADDASSOCAdds to the item K the value V, if the list is null it will initialize it
LAZYADDASSOCLISTThis is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)
LAZYREMOVEASSOCRemoves the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null
LAZYACCESSASSOCAccesses an associative list, returns null if nothing is found
QDEL_LAZYLISTQdel every item in the list before setting the list to null
LAZYCOPYUse LAZYLISTDUPLICATE instead if you want it to null with no entries
LAZYCLEARLISTConsider LAZYNULL instead
SANITIZE_LISTReturns the list if it's actually a valid list, otherwise will initialize it
LAZYORASSOCLISTPerforms an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.
COMPARE_KEYPassed into BINARY_INSERT to compare keys
COMPARE_VALUEPassed into BINARY_INSERT to compare values
BINARY_INSERTBinary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.
BINARY_INSERT_PROC_COMPARECustom binary search sorted insert utilising comparison procs instead of vars. +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The plaintext name of a proc on INPUT that takes a single argument to accept a single element from LIST and returns a positive, negative or zero number to perform a comparison. +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.
BINARY_INSERT_DEFINEEven more custom binary search sorted insert, using defines instead of vars +INPUT: Item to be inserted +LIST: List to insert INPUT into +TYPECONT: A define setting the var to the typepath of the contents of the list +COMPARE: The item to compare against, usualy the same as INPUT +COMPARISON: A define that takes an item to compare as input, and returns their comparable value +COMPTYPE: How should the list be compared? Either COMPARE_KEY or COMPARE_VALUE.
/proc/english_listReturns a list in plain english as a string
/proc/is_type_in_listChecks for specific types in a list.
/proc/is_path_in_listChecks for specific paths in a list.
is_type_in_typecacheChecks for specific types in specifically structured (Assoc "type" = TRUE|FALSE) lists ('typecaches')
/proc/typecache_filter_listreturns a new list with only atoms that are in the typecache list
/proc/typecache_filter_list_reversereturn a new list with atoms that are not in the typecache list
/proc/typecache_filter_multi_list_exclusionsimilar to typecache_filter_list and typecache_filter_list_reverse but it supports an inclusion list and and exclusion list
/proc/typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list.
/proc/zebra_typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list. +This time it also uses the associated values given by the input list for the values of the subtypes.
/proc/list_clear_nullsRemoves any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise
/proc/list_clear_empty_weakrefsRemoves any empty weakrefs from the list +Returns TRUE if the list had empty refs, FALSE otherwise
/proc/pick_weightPicks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.
/proc/pick_weight_recursiveLike pick_weight, but allowing for nested lists.
/proc/fill_with_onesGiven a list, return a copy where values without defined weights are given weight 1. +For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) +Useful for weighted random choices (loot tables, syllables in languages, etc.)
/proc/expand_weightsTakes a weighted list (see above) and expands it into raw entries +This eats more memory, but saves time when actually picking from it
/proc/greatest_common_factorTakes a list of numbers as input, returns the highest value that is cleanly divides them all +Note: this implementation is expensive as heck for large numbers, I only use it because most of my usecase +Is < 10 ints
/proc/pick_n_takePick a random element from the list and remove it from the list.
/proc/popReturns the top(last) element from the list and removes it from the list (typical stack function)
/proc/peekReturns the top (last) element from the list, does not remove it from the list. Stack functionality.
/proc/next_list_itemReturns the next item in a list
/proc/previous_list_itemReturns the previous item in a list
/proc/shuffleRandomize: Return the list in a random order
/proc/shuffle_inplacesame as shuffle, but returns nothing and acts on list in place
/proc/unique_listReturn a list with no duplicate entries
/proc/unique_list_in_placesame as unique_list, but returns nothing and acts on list in place (also handles associated values properly)
/proc/sort_keyfor sorting clients or mobs by ckey
/proc/sort_recordSpecifically for record datums in a list.
/proc/sort_listsort any value in a list
/proc/sort_namesuses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead
/proc/bitfield_to_listConverts a bitfield to a list of numbers (or words if a wordlist is provided)
KEYBYINDEXReturns the key based on the index
/proc/count_by_typereturn the amount of items of the same type inside a list
/proc/find_recordReturns the first record in the list that matches the name
/proc/move_elementMove a single element from position from_index within a list, to position to_index +All elements in the range [1,to_index) before the move will be before the pivot afterwards +All elements in the range [to_index, L.len+1) before the move will be after the pivot afterwards +In other words, it's as if the range [from_index,to_index) have been rotated using a <<< operation common to other languages. +from_index and to_index must be in the range [1,L.len+1] +This will preserve associations ~Carnie
/proc/move_rangeMove elements [from_index,from_index+len) to [to_index-len, to_index) +Same as moveElement but for ranges of elements +This will preserve associations ~Carnie
/proc/swap_rangeMove elements from [from_index, from_index+len) to [to_index, to_index+len) +Move any elements being overwritten by the move to the now-empty elements, preserving order +Note: if the two ranges overlap, only the destination order will be preserved fully, since some elements will be within both ranges ~Carnie
/proc/reverse_rangereplaces reverseList ~Carnie
/proc/get_element_by_varreturn first thing in L which has var/varname == value +this is typecaste as list/L, but you could actually feed it an atom instead. +completely safe to use
/proc/deep_copy_listCopies a list, and all lists inside it recusively +Does not copy any other reference type
/proc/avoid_assoc_duplicate_keystakes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input
/proc/flatten_listFlattens a keyed list into a list of it's contents
/proc/make_associativeMake a normal list an associative one
DEFAULTPICKPicks from the list, with some safeties, and returns the "default" arg if it fails
/proc/assoc_to_keysTurns an associative list into a flat list of keys
/proc/assoc_to_keys_featuresTurns an associative list into a flat list of keys, but for sprite accessories, respecting the locked variable
/proc/assoc_value_sumGets the total amount of everything in the associative list.
/proc/compare_listcompare two lists, returns TRUE if they are the same
/proc/special_list_filterReturns a list with items filtered from a list that can call callback
/proc/recursive_list_resolveReturns a list with all weakrefs resolved
/proc/recursive_list_resolve_elementHelper for recursive_list_resolve()
/proc/refify_listReturns a copy of the list where any element that is a datum or the world is converted into a ref
/proc/kvpify_listConverts a list into a list of assoc lists of the form ("key" = key, "value" = value) +so that list keys that are themselves lists can be fully json-encoded
/proc/deep_compare_listCompares 2 lists, returns TRUE if they are the same
/proc/weakrefify_listReturns a copy of the list where any element that is a datum is converted into a weakref
/proc/encode_text_and_nullsReturns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are +wrapped in quotes and existing quote marks are escaped, +and nulls are replaced with the string "null"
/proc/assert_sortedRuntimes if the passed in list is not sorted
/proc/coords2turfConverts a list of coordinates, or an assosciative list if passed, into a turf by calling locate(x, y, z) based on the values in the list

Define Details

+

ASSOC_UNSETEMPTY + + + +

+

If the provided key -> list is empty, remove it from the list

BINARY_INSERT + + + +

+

Binary search sorted insert +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The variable on the objects to compare +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.

BINARY_INSERT_DEFINE + + + +

+

Even more custom binary search sorted insert, using defines instead of vars +INPUT: Item to be inserted +LIST: List to insert INPUT into +TYPECONT: A define setting the var to the typepath of the contents of the list +COMPARE: The item to compare against, usualy the same as INPUT +COMPARISON: A define that takes an item to compare as input, and returns their comparable value +COMPTYPE: How should the list be compared? Either COMPARE_KEY or COMPARE_VALUE.

BINARY_INSERT_PROC_COMPARE + + + +

+

Custom binary search sorted insert utilising comparison procs instead of vars. +INPUT: Object to be inserted +LIST: List to insert object into +TYPECONT: The typepath of the contents of the list +COMPARE: The object to compare against, usualy the same as INPUT +COMPARISON: The plaintext name of a proc on INPUT that takes a single argument to accept a single element from LIST and returns a positive, negative or zero number to perform a comparison. +COMPTYPE: How should the values be compared? Either COMPARE_KEY or COMPARE_VALUE.

COMPARE_KEY + + +

+

Passed into BINARY_INSERT to compare keys

COMPARE_VALUE + + +

+

Passed into BINARY_INSERT to compare values

DEFAULTPICK + + + +

+

Picks from the list, with some safeties, and returns the "default" arg if it fails

KEYBYINDEX + + + +

+

Returns the key based on the index

LAZYACCESS + + + +

+

returns L[I] if L exists and I is a valid index of L, runtimes if L is not a list

LAZYACCESSASSOC + + + +

+

Accesses an associative list, returns null if nothing is found

LAZYADD + + + +

+

Add an item to the list, if the list is null it will initialize it

LAZYADDASSOC + + + +

+

Adds to the item K the value V, if the list is null it will initialize it

LAZYADDASSOCLIST + + + +

+

This is used to add onto lazy assoc list when the value you're adding is a /list/. This one has extra safety over lazyaddassoc because the value could be null (and thus cant be used to += objects)

LAZYCLEARLIST + + + +

+

Consider LAZYNULL instead

LAZYCOPY + + + +

+

Use LAZYLISTDUPLICATE instead if you want it to null with no entries

LAZYFIND + + + +

+

Returns the key of the submitted item in the list

LAZYINITLIST + + + +

+

Initialize the lazylist

LAZYLEN + + + +

+

Returns the length of the list

LAZYLISTDUPLICATE + + + +

+

Like LAZYCOPY - copies an input list if the list has entries, If it doesn't the assigned list is nulled

LAZYNULL + + + +

+

Sets a list to null

LAZYOR + + + +

+

Add an item to the list if not already present, if the list is null it will initialize it

LAZYORASSOCLIST + + + +

+

Performs an insertion on the given lazy list with the given key and value. If the value already exists, a new one will not be made.

LAZYREMOVE + + + +

+

Remove an item from the list, set the list to null if empty

LAZYREMOVEASSOC + + + +

+

Removes the value V from the item K, if the item K is empty will remove it from the list, if the list is empty will set the list to null

LAZYSET + + + +

+

Sets the item K to the value V, if the list is null it will initialize it

LAZYSETLEN + + + +

+

Sets the length of a lazylist

LIST_VALUE_WRAP_LISTS + + + +

+

If value is a list, wrap it in a list so it can be used with list add/remove operations

QDEL_LAZYLIST + + + +

+

Qdel every item in the list before setting the list to null

SANITIZE_LIST + + + +

+

Returns the list if it's actually a valid list, otherwise will initialize it

UNSETEMPTY + + + +

+

If the provided list is empty, set it to null

UNTYPED_LIST_ADD + + + +

+

Add an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun

UNTYPED_LIST_REMOVE + + + +

+

Remove an untyped item to a list, taking care to handle list items by wrapping them in a list to remove the footgun

is_type_in_typecache + + + +

+

Checks for specific types in specifically structured (Assoc "type" = TRUE|FALSE) lists ('typecaches')

+ + + diff --git a/code/__HELPERS/_planes.html b/code/__HELPERS/_planes.html new file mode 100644 index 00000000000..0ab8510adfc --- /dev/null +++ b/code/__HELPERS/_planes.html @@ -0,0 +1,135 @@ + + + + + + + code/__HELPERS/_planes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/_planes.dm + +

+ + + + + + + + + + + + + + + +
SET_PLANETakes an atom to change the plane of, a new plane value, and something that can be used as a reference to a z level as input +Modifies the new value to match the plane we actually want. Note, if you pass in an already offset plane the offsets will add up +Use PLANE_TO_TRUE() to avoid this
MUTATE_PLANETakes a plane and a z reference, and offsets the plane by the mutation +The SSmapping.max_plane_offset bit here is technically redundant, but saves a bit of work in the base case +And the base case is important to me. Non multiz shouldn't get hit too bad by this code
GET_TURF_PLANE_OFFSETTakes a z reference that we are unsure of, sanity checks it +Returns either its offset, or 0 if it's not a valid ref +Will return the reference's PLANE'S offset if we can't get anything out of the z level. We do our best
GET_Z_PLANE_OFFSETEssentially just an unsafe version of GET_TURF_PLANE_OFFSET() +Takes a z value we returns its offset with a list lookup +Will runtime during parts of init. Be careful :)
GET_NEW_PLANETakes a plane to offset, and the multiplier to use, and well, does the offsetting +Respects a blacklist we use to remove redundant plane masters, such as hud objects
SET_PLANE_W_SCALARTakes an object, new plane, and multipler, and offsets the plane +This is for cases where you have a multipler precalculated, and just want to use it +Often an optimization, sometimes a necessity
SET_PLANE_IMPLICITImplicit plane set. We take the turf from the object we're changing the plane of, and use ITS z as a spokesperson for our plane value
GET_LOWEST_STACK_OFFSETTakes a z level, gets the lowest plane offset in its "stack"
PLANE_TO_TRUETakes a plane, returns the canonical, unoffset plane it represents
PLANE_TO_OFFSETTakes a plane, returns the offset it uses
PLANE_IS_CRITICALTakes a plane, returns TRUE if it is of critical priority, FALSE otherwise
TRUE_PLANE_TO_OFFSETSTakes a true plane, returns the offset planes that would canonically represent it
OFFSET_RENDER_TARGETTakes a render target and an offset, returns a canonical render target string for it
_OFFSET_RENDER_TARGETHelper macro for the above +Honestly just exists to make the pattern of render target strings more readable

Define Details

+

GET_LOWEST_STACK_OFFSET + + + +

+

Takes a z level, gets the lowest plane offset in its "stack"

GET_NEW_PLANE + + + +

+

Takes a plane to offset, and the multiplier to use, and well, does the offsetting +Respects a blacklist we use to remove redundant plane masters, such as hud objects

GET_TURF_PLANE_OFFSET + + + +

+

Takes a z reference that we are unsure of, sanity checks it +Returns either its offset, or 0 if it's not a valid ref +Will return the reference's PLANE'S offset if we can't get anything out of the z level. We do our best

GET_Z_PLANE_OFFSET + + + +

+

Essentially just an unsafe version of GET_TURF_PLANE_OFFSET() +Takes a z value we returns its offset with a list lookup +Will runtime during parts of init. Be careful :)

MUTATE_PLANE + + + +

+

Takes a plane and a z reference, and offsets the plane by the mutation +The SSmapping.max_plane_offset bit here is technically redundant, but saves a bit of work in the base case +And the base case is important to me. Non multiz shouldn't get hit too bad by this code

OFFSET_RENDER_TARGET + + + +

+

Takes a render target and an offset, returns a canonical render target string for it

PLANE_IS_CRITICAL + + + +

+

Takes a plane, returns TRUE if it is of critical priority, FALSE otherwise

PLANE_TO_OFFSET + + + +

+

Takes a plane, returns the offset it uses

PLANE_TO_TRUE + + + +

+

Takes a plane, returns the canonical, unoffset plane it represents

SET_PLANE + + + +

+

Takes an atom to change the plane of, a new plane value, and something that can be used as a reference to a z level as input +Modifies the new value to match the plane we actually want. Note, if you pass in an already offset plane the offsets will add up +Use PLANE_TO_TRUE() to avoid this

SET_PLANE_IMPLICIT + + + +

+

Implicit plane set. We take the turf from the object we're changing the plane of, and use ITS z as a spokesperson for our plane value

SET_PLANE_W_SCALAR + + + +

+

Takes an object, new plane, and multipler, and offsets the plane +This is for cases where you have a multipler precalculated, and just want to use it +Often an optimization, sometimes a necessity

TRUE_PLANE_TO_OFFSETS + + + +

+

Takes a true plane, returns the offset planes that would canonically represent it

_OFFSET_RENDER_TARGET + + + +

+

Helper macro for the above +Honestly just exists to make the pattern of render target strings more readable

+ + + diff --git a/code/__HELPERS/admin.html b/code/__HELPERS/admin.html new file mode 100644 index 00000000000..22f6cd90634 --- /dev/null +++ b/code/__HELPERS/admin.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/admin.dm + +

+ + + + + +
/proc/is_adminReturns if the given client is an admin, REGARDLESS of if they're deadminned or not.
/proc/alert_to_permissions_elevation_attemptSends a message in the event that someone attempts to elevate their permissions through invoking a certain proc.
+ + + diff --git a/code/__HELPERS/ai.html b/code/__HELPERS/ai.html new file mode 100644 index 00000000000..9f8cd3fdf46 --- /dev/null +++ b/code/__HELPERS/ai.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/ai.dm + +

+ + + + + +
/proc/GetBestWeaponReturns either the best weapon from the given choices or null if held weapons are better
/proc/IsEdiblereturns if something can be consumed, drink or food
+ + + diff --git a/code/__HELPERS/areas.html b/code/__HELPERS/areas.html new file mode 100644 index 00000000000..8c3953995be --- /dev/null +++ b/code/__HELPERS/areas.html @@ -0,0 +1,38 @@ + + + + + + + code/__HELPERS/areas.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/areas.dm + +

+ + + + + + + + + + + +
/proc/create_atmos_zoneCreate an atmos zone (Think ZAS), similiar to [proc/detect_room] but it ignores walls and turfs which are non-[atmos_can_pass]
/proc/require_area_resortA list of all machinery tied to an area along with the area itself. key=area name,value=list(area,list of machinery) +we use this to keep track of what areas are affected by the blueprints & what machinery of these areas needs to be reconfigured accordingly
/proc/get_sorted_areasReturns a sorted version of GLOB.areas, by name
/proc/get_first_open_turf_in_areaIterates over all turfs in the target area and returns the first non-dense one
/proc/mobs_in_area_typeTakes: list of area types +Returns: all mobs that are in an area type
+ + + diff --git a/code/__HELPERS/atmospherics.html b/code/__HELPERS/atmospherics.html new file mode 100644 index 00000000000..2c10b0f4152 --- /dev/null +++ b/code/__HELPERS/atmospherics.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/atmospherics.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/atmospherics.dm + +

+ + + + + + + + + +
/proc/gas_mixture_parser
/proc/atmos_handbooks_initAutomatically populates gas_handbook and reaction_handbook. They are formatted lists containing information regarding gases and reactions they participate in. +Structure can be found in TS form at AtmosHandbook.tsx
/proc/return_atmos_handbooksFinal product is a numbered list, this one is assoc just so we can generate the "reactions" entry easily. +Returns an assoc list of the gas handbook and the reaction handbook. +For UIs, simply do data += return_atmos_handbooks() to use.
/proc/check_gasesA simple helped proc that checks if the contents of a list of gases are within acceptable terms.
+ + + diff --git a/code/__HELPERS/atoms.html b/code/__HELPERS/atoms.html new file mode 100644 index 00000000000..455959a0250 --- /dev/null +++ b/code/__HELPERS/atoms.html @@ -0,0 +1,65 @@ + + + + + + + code/__HELPERS/atoms.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/atoms.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/get_nested_locsReturns a list of all locations (except the area) the movable is within.
/proc/can_seeStep-towards method of determining whether one atom can see another. Similar to viewers() +note: this is a line of sight algorithm, view() does not do any sort of raycasting and cannot be emulated by it accurately
/proc/get_cardinal_dirGet the cardinal direction between two atoms
/proc/get_pixel_distanceFinds the distance between two atoms, in pixels +centered = FALSE counts from turf edge to edge +centered = TRUE counts from turf center to turf center +of course mathematically this is just adding world.icon_size on again
/proc/check_wall_itemCheck if there is already a wall item on the turf loc +floor_loc = floor tile in front of the wall +dir_toward_wall = direction from the floor tile in front of the wall towards the wall +check_external = truthy if we should be checking against items coming out of the wall, rather than visually on top of the wall.
/proc/random_stepForces the atom to take a step in a random direction
/proc/is_source_facing_targetCompare source's dir, the clockwise dir of source and the anticlockwise dir of source +To the opposite dir of the dir returned by get_dir(target,source) +If one of them is a match, then source is facing target
/proc/urangeultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance
/proc/spiral_rangesimilar function to range(), but with no limitations on the distance; will search spiralling outwards from the center
/proc/get_closest_atomReturns the closest atom of a specific type in a list from a source
/proc/pick_closest_pathReturns a chosen path that is the closest to a list of matches
/proc/generate_items_insideCreates new items inside an atom based on a list
/proc/getReturns the atom type in the specified loc
/proc/passA do nothing proc
/proc/get_storage_locsReturns a list of the parents of all storage components that contain the target item
+ + + diff --git a/code/__HELPERS/auxtools.html b/code/__HELPERS/auxtools.html new file mode 100644 index 00000000000..e307eeb5041 --- /dev/null +++ b/code/__HELPERS/auxtools.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/auxtools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/auxtools.dm + +

+ + +
AUXLUAMacro for getting the auxtools library file

Define Details

+

AUXLUA + + +

+

Macro for getting the auxtools library file

+ + + diff --git a/code/__HELPERS/bitflag_lists.html b/code/__HELPERS/bitflag_lists.html new file mode 100644 index 00000000000..30df49cec8d --- /dev/null +++ b/code/__HELPERS/bitflag_lists.html @@ -0,0 +1,41 @@ + + + + + + + code/__HELPERS/bitflag_lists.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/bitflag_lists.dm + +

+ + +
SET_SMOOTHING_GROUPSSystem for storing bitflags past the 24 limit, making use of an associative list.

Define Details

+

SET_SMOOTHING_GROUPS + + + +

+

System for storing bitflags past the 24 limit, making use of an associative list.

+

Macro converts a list of integers into an associative list of bitflag entries for quicker comparison. +Example: list(0, 4, 26, 32)) => list( "0" = ( (1<<0) | (1<<4) ), "1" = ( (1<<2) | (1<<8) ) ) +Lists are cached into a global list of lists to avoid identical duplicates. +This system makes value comparisons faster than pairing every element of one list with every element of the other for evaluation.

+

Arguments:

+
+ + + diff --git a/code/__HELPERS/cameras.html b/code/__HELPERS/cameras.html new file mode 100644 index 00000000000..d37d87c002e --- /dev/null +++ b/code/__HELPERS/cameras.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/cameras.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/cameras.dm + +

+ + + + + +
/proc/get_camera_listget_camera_list
/proc/camera_sortSorts the list of cameras by their c_tag to display to players.
+ + + diff --git a/code/__HELPERS/chat.html b/code/__HELPERS/chat.html new file mode 100644 index 00000000000..fb73cd6d777 --- /dev/null +++ b/code/__HELPERS/chat.html @@ -0,0 +1,41 @@ + + + + + + + code/__HELPERS/chat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/chat.dm + +

+ + + + + + + + + + +
/proc/send2chatAsynchronously sends a message to TGS chat channels.
/proc/send2adminchatAsynchronously sends a message to TGS admin chat channels.
EXAMINE_HINTHandles text formatting for item use hints in examine text
/proc/send_to_observersSends a message to all dead and observing players, if a source is provided a follow link will be attached.
/proc/relay_to_list_and_observersSends a message to everyone within the list, as well as all observers.

Define Details

+

EXAMINE_HINT + + + +

+

Handles text formatting for item use hints in examine text

+ + + diff --git a/code/__HELPERS/chat_filter.html b/code/__HELPERS/chat_filter.html new file mode 100644 index 00000000000..27d590be925 --- /dev/null +++ b/code/__HELPERS/chat_filter.html @@ -0,0 +1,49 @@ + + + + + + + code/__HELPERS/chat_filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/chat_filter.dm + +

+ + + + + + + + + + + + + + + + + +
/proc/is_ic_filteredGiven a text, will return what word is on the IC filter, with the reason. +Returns null if the message is OK.
/proc/is_soft_ic_filteredGiven a text, will return what word is on the soft IC filter, with the reason. +Returns null if the message is OK.
/proc/is_ooc_filteredGiven a text, will return what word is on the OOC filter, with the reason. +Returns null if the message is OK.
/proc/is_soft_ooc_filteredGiven a text, will return that word is on the soft OOC filter, with the reason. +Returns null if the message is OK.
/proc/check_pda_message_against_filterChecks a PDA message against the IC/Soft IC filter. Returns TRUE if the message should be sent. +Notifies the user passed in arguments if the message matched either filter.
/proc/is_ic_filtered_for_pdasGiven a text, will return what word is on the IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
/proc/is_soft_ic_filtered_for_pdasGiven a text, will return what word is on the soft IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
/proc/log_filterLogs to the filter log with the given message, match, and scope
+ + + diff --git a/code/__HELPERS/clients.html b/code/__HELPERS/clients.html new file mode 100644 index 00000000000..d276d95d245 --- /dev/null +++ b/code/__HELPERS/clients.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/clients.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/clients.dm + +

+ + + +
/proc/is_guest_keyReturns whether or not a player is a guest using their ckey as an input
+ + + diff --git a/code/__HELPERS/cmp.html b/code/__HELPERS/cmp.html new file mode 100644 index 00000000000..6e0e999f33c --- /dev/null +++ b/code/__HELPERS/cmp.html @@ -0,0 +1,40 @@ + + + + + + + code/__HELPERS/cmp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/cmp.dm + +

+ + + + + + + + + + + + + + + +
/proc/cmp_bodypart_by_body_part_ascOrders bodyparts by their body_part value, ascending.
/proc/cmp_port_order_ascOrders by integrated circuit weight
/proc/cmp_uplink_category_descOrders by uplink category weight
/proc/cmp_crafting_req_prioritySorts crafting recipe requirements before the crafting recipe is inserted into GLOB.crafting_recipes
/proc/cmp_heretic_knowledgeOrders heretic knowledge by priority
/proc/cmp_assoc_list_namePassed a list of assoc lists, sorts them by the list's "name" keys.
/proc/cmp_mob_healthOrders mobs by health
+ + + diff --git a/code/__HELPERS/colors.html b/code/__HELPERS/colors.html new file mode 100644 index 00000000000..53b262bfba5 --- /dev/null +++ b/code/__HELPERS/colors.html @@ -0,0 +1,49 @@ + + + + + + + code/__HELPERS/colors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/colors.dm + +

+ + + + + + + + + + + + + + + + + +
/proc/is_color_darkGiven a color in the format of "#RRGGBB", will return if the color +is dark.
/proc/expand_three_digit_colorGiven a 3 character color (no hash), converts it into #RRGGBB (with hash)
/proc/split_colorGiven a color in the format of "#RRGGBB" or "#RRGGBBAA", gives back a 4 entry list with the number values of each
/proc/random_colourReturns a random color picked from a list, has 2 modes (0 and 1), mode 1 doesn't pick white, black or gray
/proc/invert_HTML_colourInverts the colour of an HTML string
/proc/flash_colorFlash a color on the client
/proc/blend_screen_colorBlends together two colors (passed as 3 or 4 length lists) using the screen blend mode +Much like multiply, screen effects the brightness of the resulting color +Screen blend will always lighten the resulting color, since before multiplication we invert the colors +This makes our resulting output brighter instead of darker
/proc/blend_cutoff_colorsUsed to blend together two different color cutoffs +Uses the screen blendmode under the hood, essentially just /proc/blend_screen_color +But paired down and modified to work for our color range +Accepts the color cutoffs as two 3 length list(0-100,...) arguments
+ + + diff --git a/code/__HELPERS/construction.html b/code/__HELPERS/construction.html new file mode 100644 index 00000000000..3f9e03b0f60 --- /dev/null +++ b/code/__HELPERS/construction.html @@ -0,0 +1,50 @@ + + + + + + + code/__HELPERS/construction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/construction.dm + +

+ + + + + + + + + + + +
OPTIMAL_COSTMakes sure only integer values are used when consuming, removing & checking for mats
GET_MATERIAL_REFWrapper for fetching material references. Exists exclusively so that people don't need to wrap everything in a list every time.
/proc/rcd_result_with_memoryProduces a new RCD result from the given one if it can be calculated that +the RCD should speed up with the remembered form.
/proc/amount2sheetTurns material amount into the number of sheets, returning FALSE if the number is less than SHEET_MATERIAL_AMOUNT
/proc/sheet2amountTurns number of sheets into material amount, returning FALSE if the number is <= 0
/proc/fast_split_stackSplits a stack. we don't use /obj/item/stack/proc/fast_split_stack because Byond complains that should only be called asynchronously. +This proc is also more faster because it doesn't deal with mobs, copying evidences or refreshing atom storages +Has special internal uses for e.g. by the material container

Define Details

+

GET_MATERIAL_REF + + + +

+

Wrapper for fetching material references. Exists exclusively so that people don't need to wrap everything in a list every time.

OPTIMAL_COST + + + +

+

Makes sure only integer values are used when consuming, removing & checking for mats

+ + + diff --git a/code/__HELPERS/datums.html b/code/__HELPERS/datums.html new file mode 100644 index 00000000000..0461a65c250 --- /dev/null +++ b/code/__HELPERS/datums.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/datums.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/datums.dm + +

+ + + +
/proc/is_valid_srcCheck if a datum has not been deleted and is a valid source
+ + + diff --git a/code/__HELPERS/dna.html b/code/__HELPERS/dna.html new file mode 100644 index 00000000000..66d26acdc93 --- /dev/null +++ b/code/__HELPERS/dna.html @@ -0,0 +1,39 @@ + + + + + + + code/__HELPERS/dna.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/dna.dm + +

+ + + +
GET_UI_BLOCK_LENGetter macro used to get the length of a identity block
GET_UF_BLOCK_LENDitto, but for a feature.

Define Details

+

GET_UF_BLOCK_LEN + + + +

+

Ditto, but for a feature.

GET_UI_BLOCK_LEN + + + +

+

Getter macro used to get the length of a identity block

+ + + diff --git a/code/__HELPERS/duplicating.html b/code/__HELPERS/duplicating.html new file mode 100644 index 00000000000..90229d9499b --- /dev/null +++ b/code/__HELPERS/duplicating.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/duplicating.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/duplicating.dm + +

+ + + +
/proc/duplicate_object
+ + + diff --git a/code/__HELPERS/dynamic_human_icon_gen.html b/code/__HELPERS/dynamic_human_icon_gen.html new file mode 100644 index 00000000000..0fd0dd47b67 --- /dev/null +++ b/code/__HELPERS/dynamic_human_icon_gen.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/dynamic_human_icon_gen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/dynamic_human_icon_gen.dm + +

+ + + + + + + +
/proc/get_dynamic_human_appearanceCreates a human with the given parameters and returns an appearance of it
/proc/apply_dynamic_human_appearanceThis exists to apply the icons async, as that cannot be done in Initialize because of possible sleeps.
/proc/set_dynamic_human_appearanceThis proc gets an argument of a target and runs
+ + + diff --git a/code/__HELPERS/events.html b/code/__HELPERS/events.html new file mode 100644 index 00000000000..ac87466e76c --- /dev/null +++ b/code/__HELPERS/events.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/events.dm + +

+ + + + + +
/proc/find_maintenance_spawnFinds us a generic maintenance spawn location.
/proc/find_space_spawnFinds us a generic spawn location in space.
+ + + diff --git a/code/__HELPERS/files.html b/code/__HELPERS/files.html new file mode 100644 index 00000000000..c02e278968d --- /dev/null +++ b/code/__HELPERS/files.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/files.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/files.dm + +

+ + + + + + + + + +
/proc/pathwalkTakes a directory and returns every file within every sub directory. +If extensions_filter is provided then only files that end in that extension are given back. +If extensions_filter is a list, any file that matches at least one entry is given back.
/proc/md5filepathReturns the md5 of a file at a given path.
/proc/md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
/proc/sanitize_filepathSanitizes the name of each node in the path.
+ + + diff --git a/code/__HELPERS/forensics.html b/code/__HELPERS/forensics.html new file mode 100644 index 00000000000..1caa8efb199 --- /dev/null +++ b/code/__HELPERS/forensics.html @@ -0,0 +1,57 @@ + + + + + + + code/__HELPERS/forensics.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/forensics.dm + +

+ + + + + + +
GET_ATOM_FINGERPRINTSReturns the fingerprints on this atom
GET_ATOM_HIDDENPRINTSReturns the hidden prints on this atom
GET_ATOM_BLOOD_DNAReturns the blood dna on this atom
GET_ATOM_FIBRESReturns the fibers on this atom
GET_ATOM_BLOOD_DNA_LENGTHReturns the number of unique blood dna sources on this atom

Define Details

+

GET_ATOM_BLOOD_DNA + + + +

+

Returns the blood dna on this atom

GET_ATOM_BLOOD_DNA_LENGTH + + + +

+

Returns the number of unique blood dna sources on this atom

GET_ATOM_FIBRES + + + +

+

Returns the fibers on this atom

GET_ATOM_FINGERPRINTS + + + +

+

Returns the fingerprints on this atom

GET_ATOM_HIDDENPRINTS + + + +

+

Returns the hidden prints on this atom

+ + + diff --git a/code/__HELPERS/game.html b/code/__HELPERS/game.html new file mode 100644 index 00000000000..7b01cd31c88 --- /dev/null +++ b/code/__HELPERS/game.html @@ -0,0 +1,94 @@ + + + + + + + code/__HELPERS/game.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/game.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CULT_POLL_WAITTime before being allowed to select a new cult leader again
GET_ERROR_ROOMReturns either the error landmark or the location of the room. Needless to say, if this is used, it means things have gone awry.
/proc/get_area_nameReturns the name of the area the atom is in
/proc/try_move_adjacentTries to move an atom to an adjacent turf, return TRUE if successful
/proc/get_mob_by_keyReturn the mob type that is being controlled by a ckey
/proc/considered_aliveChecks if the passed mind has a mob that is "alive"
/proc/considered_exiledExiled check
/proc/considered_afkChecks if a player is considered AFK
/proc/screen_textReturn an object with a new maptext (not currently in use)
/proc/add_image_to_clientAdds an image to a client's .images. Useful as a callback.
/proc/add_image_to_clientsLike add_image_to_client, but will add the image from a list of clients
/proc/remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
/proc/remove_image_from_clientsLike remove_image_from_client, but will remove the image from a list of clients
/proc/flick_overlay_globalAdd an image to a list of clients and calls a proc to remove it after a duration
/atom/movable/flick_visualHelper atom that copies an appearance and exists for a period
/proc/get_active_player_countGet active players who are playing in the round
/proc/show_candidate_poll_windowShow the poll window to the candidate mobs
/proc/poll_ghost_candidatesWrapper to send all ghosts the poll to ask them if they want to be considered for a mob.
/proc/poll_candidatesCalls the show_candidate_poll_window() to all eligible ghosts
/proc/poll_candidates_for_mobReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
/proc/poll_candidates_for_mobsReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
/proc/make_bodyUses stripped down and bastardized code from respawn character
/proc/send_to_playing_playerssends a whatever to all playing players; use instead of to_chat(world, where needed)
/proc/window_flashFlash the window of a player
/proc/recursive_loc_checkRecursively checks if an item is inside a given type, even through layers of storage. Returns the atom if it finds it.
/proc/announce_arrivalSend a message in common radio when a player arrives
/proc/lavaland_equipment_pressure_checkCheck if the turf pressure allows specialized equipment to work
/proc/find_obstruction_free_locationFind an obstruction free turf that's within the range of the center. Can also condition on if it is of a certain area type.
/proc/power_failDisable power in the station APCs
/proc/send_tip_of_the_roundSends a round tip to a target. If selected_tip is null, a random tip will be sent instead (5% chance of it being silly). +Tips that starts with the @ character won't be html encoded. That's necessary for any tip containing markup tags, +just make sure they don't also have html characters like <, > and ' which will be garbled.

Define Details

+

CULT_POLL_WAIT + + +

+

Time before being allowed to select a new cult leader again

GET_ERROR_ROOM + + +

+

Returns either the error landmark or the location of the room. Needless to say, if this is used, it means things have gone awry.

+ + + diff --git a/code/__HELPERS/generators.html b/code/__HELPERS/generators.html new file mode 100644 index 00000000000..0a23b20a285 --- /dev/null +++ b/code/__HELPERS/generators.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/generators.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/generators.dm + +

+ + + +
/proc/return_generator_argsreturns the arguments given to a generator and manually extracts them from the internal byond object +returns:
+ + + diff --git a/code/__HELPERS/global_lists.html b/code/__HELPERS/global_lists.html new file mode 100644 index 00000000000..a1bcc9c8775 --- /dev/null +++ b/code/__HELPERS/global_lists.html @@ -0,0 +1,42 @@ + + + + + + + code/__HELPERS/global_lists.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/global_lists.dm + +

+ + + + + + + + + + + + + + + + + +
/proc/init_sprite_accessoriesInitial Building
/proc/init_species_listInits GLOB.species_list. Not using GLOBAL_LIST_INIT b/c it depends on GLOB.string_lists
/proc/init_surgeriesInits GLOB.surgeries
/proc/init_hair_gradientsHair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name
/proc/make_datum_reference_listsLegacy procs that really should be replaced with proper _INIT macros
/proc/init_crafting_recipesInits crafting recipe lists
/proc/init_crafting_recipes_atomsInits atoms used in crafting recipes
/proc/init_subtypes_w_path_keysFunctions like init_subtypes, but uses the subtype's path as a key for easy access
+ + + diff --git a/code/__HELPERS/guid.html b/code/__HELPERS/guid.html new file mode 100644 index 00000000000..e7dbec3ca29 --- /dev/null +++ b/code/__HELPERS/guid.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/guid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/guid.dm + +

+ + + +
/proc/GUIDreturns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)
+ + + diff --git a/code/__HELPERS/hallucinations.html b/code/__HELPERS/hallucinations.html new file mode 100644 index 00000000000..48abfe52b3a --- /dev/null +++ b/code/__HELPERS/hallucinations.html @@ -0,0 +1,78 @@ + + + + + + + code/__HELPERS/hallucinations.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/hallucinations.dm + +

+ + + + + + + + + + + + + + + + + + + +
HALLUCINATION_ARG_TYPEWhat typepath of the hallucination
HALLUCINATION_ARG_SOURCEWhere the hallucination came from, for logging
HALLUCINATION_ARGLISTOnwards from this index, it's the arglist that gets passed into the hallucination created.
NO_HALLUCINATION_BIOTYPESBiotypes which cannot hallucinate for balance and logic reasons (not code)
cause_hallucinationCauses a hallucination of a certain type to the mob.
/proc/visible_hallucination_pulseEmits a hallucinating pulse around the passed atom. +Affects everyone in the passed radius who can view the center, +except for those with TRAIT_MADNESS_IMMUNE, or those who are blind.
/proc/generate_hallucination_weighted_listGenerates the global weighted list of random hallucinations.
/proc/debug_hallucination_weighted_listDebug proc for getting the total weight of the random_hallucination_weighted_list
/proc/get_random_valid_hallucination_subtypeGets a random subtype of the passed hallucination type that has a random_hallucination_weight > 0. +If no subtype is passed, it will get any random hallucination subtype that is not abstract and has weight > 0. +This can be used instead of picking from the global weighted list to just get a random valid hallucination.
/proc/select_hallucination_typeHelper to give the passed mob the ability to select a hallucination from the list of all hallucination subtypes.
/proc/create_delusionHelper to give the passed mob the ability to create a delusion hallucination (even a custom one). +Returns a list of arguments - pass these to _cause_hallucination to cause the desired hallucination
BUBBLEGUM_HALLUCINATION_LINESLines the bubblegum hallucinatoin uses when it pops up

Define Details

+

BUBBLEGUM_HALLUCINATION_LINES + + +

+

Lines the bubblegum hallucinatoin uses when it pops up

HALLUCINATION_ARGLIST + + +

+

Onwards from this index, it's the arglist that gets passed into the hallucination created.

HALLUCINATION_ARG_SOURCE + + +

+

Where the hallucination came from, for logging

HALLUCINATION_ARG_TYPE + + +

+

What typepath of the hallucination

NO_HALLUCINATION_BIOTYPES + + +

+

Biotypes which cannot hallucinate for balance and logic reasons (not code)

cause_hallucination + + + +

+

Causes a hallucination of a certain type to the mob.

+

First argument is always the type of halllucination, a /datum/hallucination, required. +second argument is always the key source of the hallucination, used for admin logging, required.

+

Additionally, named arguments are supported for passing them forward to the created hallucination's new().

+ + + diff --git a/code/__HELPERS/honkerblast.html b/code/__HELPERS/honkerblast.html new file mode 100644 index 00000000000..6fbd9aefcc3 --- /dev/null +++ b/code/__HELPERS/honkerblast.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/honkerblast.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/honkerblast.dm + +

+ + + +
/proc/honkerblastUnleashes a honkerblast similar to the honkmech weapon, but with more granular control.
+ + + diff --git a/code/__HELPERS/icon_smoothing.html b/code/__HELPERS/icon_smoothing.html new file mode 100644 index 00000000000..b2dccccd511 --- /dev/null +++ b/code/__HELPERS/icon_smoothing.html @@ -0,0 +1,53 @@ + + + + + + + code/__HELPERS/icon_smoothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/icon_smoothing.dm + +

+ + + + + + + + +
/proc/generate_adjacent_directionsEncodes connectivity between border objects +Returns a list accessable by a border object's dir, the direction between it and a target, and a target +Said list will return the direction the two objects connect, if any exists (if the target isn't a border object and the direction is fine, return the inverse of the direction in use)
CAN_DIAGONAL_SMOOTHAre two atoms border adjacent, takes a border object, something to compare against, and the direction between A and B +Returns the way in which the first thing is adjacent to the second
BITMASK_FOUNDCheck that non border objects use to smooth against border objects
BITMASK_ON_BORDER_CHECKReturns true if the smooth is acceptable, FALSE otherwise
/proc/dir_to_all_junctionsTakes a direction, turns it into all the junctions that contain it

Define Details

+

BITMASK_FOUND + + + +

+

Check that non border objects use to smooth against border objects

BITMASK_ON_BORDER_CHECK + + + +

+

Returns true if the smooth is acceptable, FALSE otherwise

CAN_DIAGONAL_SMOOTH + + + +

+

Are two atoms border adjacent, takes a border object, something to compare against, and the direction between A and B +Returns the way in which the first thing is adjacent to the second

+ + + diff --git a/code/__HELPERS/icons.html b/code/__HELPERS/icons.html new file mode 100644 index 00000000000..0ff1ad2ee87 --- /dev/null +++ b/code/__HELPERS/icons.html @@ -0,0 +1,85 @@ + + + + + + + code/__HELPERS/icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/icons.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/getFlatIconCreate a single /icon from a given /atom or /image.
/proc/generate_icon_alpha_maskHelper proc to generate a cutout alpha mask out of an icon.
/proc/get_flat_human_icon
/proc/get_flat_existing_human_iconA simpler version of get_flat_human_icon() that uses an existing human as a base to create the icon. +Does not feature caching yet, since I could not think of a good way to cache them without having a possibility +of using the cached version when we don't want to, so only use this proc if you just need this flat icon +generated once and handle the caching yourself if you need to access that icon multiple times, or +refactor this proc to feature caching of icons.
/proc/generate_and_hash_rsc_filegenerates a filename for a given asset. +like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +used so that certain asset files dont have to be hashed twice
/proc/generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
/proc/get_dummy_savefileGets a dummy savefile for usage in icon generation. +Savefiles generated from this proc will be empty.
/proc/icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
/proc/is_valid_dmi_filegiven a text string, returns whether it is a valid dmi icons folder path
/proc/get_icon_dmi_pathgiven an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +but stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""
/proc/icon2htmlthe dmi file path we attempt to return if the given object argument is associated with a stringifiable icon +if successful, this looks like "icons/path/to/dmi_file.dmi" +but they pass both isicon() and isfile() checks. theyre the easiest case since stringifying them gives us the path we want +generate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. +Arguments:
/proc/center_imageCenter's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)
/proc/icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.
/proc/get_size_in_tilesReturns the size of the sprite in tiles. +Takes the icon size and divides it by the world icon size (default 32). +This gives the size of the sprite in tiles.
/proc/get_icon_dimensionsReturns a list containing the width and height of an icon file
/proc/get_small_overlayFikou's fix for making toast alerts look nice - resets offsets, transforms to fit
+ + + diff --git a/code/__HELPERS/jatum.html b/code/__HELPERS/jatum.html new file mode 100644 index 00000000000..851d14470c6 --- /dev/null +++ b/code/__HELPERS/jatum.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/jatum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/jatum.dm + +

+ + +
JATUM_VERSIONThe JATUM version used for serializing and deserializing

Define Details

+

JATUM_VERSION + + +

+

The JATUM version used for serializing and deserializing

+ + + diff --git a/code/__HELPERS/lazy_templates.html b/code/__HELPERS/lazy_templates.html new file mode 100644 index 00000000000..0ee91812ca5 --- /dev/null +++ b/code/__HELPERS/lazy_templates.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/lazy_templates.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/lazy_templates.dm + +

+ + + +
/proc/generate_lazy_template_mapIterates through all lazy template datums that exist and returns a list of them as an associative list of key -> instance.
+ + + diff --git a/code/__HELPERS/levels.html b/code/__HELPERS/levels.html new file mode 100644 index 00000000000..62f25208578 --- /dev/null +++ b/code/__HELPERS/levels.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/levels.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/levels.dm + +

+ + + + + +
/proc/is_valid_z_level
/proc/is_on_a_planetChecks if the passed non-area atom is on a "planet".
+ + + diff --git a/code/__HELPERS/lighting.html b/code/__HELPERS/lighting.html new file mode 100644 index 00000000000..44f1ea3d23e --- /dev/null +++ b/code/__HELPERS/lighting.html @@ -0,0 +1,35 @@ + + + + + + + code/__HELPERS/lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/lighting.dm + +

+ + + + + + + +
/proc/emissive_appearanceProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.
/proc/emissive_blockerProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EM_BLOCK_COLOR.
/proc/partially_block_emissivesTakes a non area atom and a threshold +Makes it block emissive with any pixels with more alpha then that threshold, with the rest allowing the light to pass +Returns a list of objects, automatically added to your vis_contents, that apply this effect +QDEL them when appropriate
+ + + diff --git a/code/__HELPERS/logging/_logging.html b/code/__HELPERS/logging/_logging.html new file mode 100644 index 00000000000..281b4100b11 --- /dev/null +++ b/code/__HELPERS/logging/_logging.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/logging/_logging.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/_logging.dm + +

+ + + + + +
/proc/__check_serialization_semverChecks if the actual semver is equal or later than the wanted semver +Must be passed as TEXT; you're probably looking for CHECK_SERIALIZATION_SEMVER, look right above
/proc/start_logship both attack logs and victim logs to the end of round attack.log just to ensure we don't lose information
+ + + diff --git a/code/__HELPERS/logging/admin.html b/code/__HELPERS/logging/admin.html new file mode 100644 index 00000000000..35f2fa29d4b --- /dev/null +++ b/code/__HELPERS/logging/admin.html @@ -0,0 +1,39 @@ + + + + + + + code/__HELPERS/logging/admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/admin.dm + +

+ + + + + + + + + + + + + +
/proc/log_adminGeneral logging for admin actions
/proc/log_admin_circuitLogging for admin actions on or with circuits
/proc/log_admin_privateGeneral logging for admin actions
/proc/log_adminsayLogging for AdminSay (ASAY) messages
/proc/log_dsayLogging for DeachatSay (DSAY) messages
/proc/log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
+ + + diff --git a/code/__HELPERS/logging/antagonists.html b/code/__HELPERS/logging/antagonists.html new file mode 100644 index 00000000000..414ab36a62f --- /dev/null +++ b/code/__HELPERS/logging/antagonists.html @@ -0,0 +1,38 @@ + + + + + + + code/__HELPERS/logging/antagonists.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/antagonists.dm + +

+ + + + + + + + + + + + + +
/proc/log_traitorLogging for traitor objectives
/proc/log_uplinkLogging for items purchased from a traitor uplink
/proc/log_malf_upgradesLogging for upgrades purchased by a malfunctioning (or combat upgraded) AI
/proc/log_changeling_powerLogging for changeling powers purchased
/proc/log_heretic_knowledgeLogging for heretic powers learned
/proc/log_spellbookLogging for wizard powers learned
+ + + diff --git a/code/__HELPERS/logging/atmos.html b/code/__HELPERS/logging/atmos.html new file mode 100644 index 00000000000..f0dbbaaee65 --- /dev/null +++ b/code/__HELPERS/logging/atmos.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/atmos.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/atmos.dm + +

+ + + +
/proc/log_atmosLogs the contents of the gasmix to the game log, prefixed by text
+ + + diff --git a/code/__HELPERS/logging/attack.html b/code/__HELPERS/logging/attack.html new file mode 100644 index 00000000000..6134e217b9e --- /dev/null +++ b/code/__HELPERS/logging/attack.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/logging/attack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/attack.dm + +

+ + + + + + + + + +
/proc/log_attackGeneric attack logging
/proc/log_combatLog a combat message in the attack log
/proc/log_woundlog_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
/proc/log_bomberLogging for bombs detonating
+ + + diff --git a/code/__HELPERS/logging/debug.html b/code/__HELPERS/logging/debug.html new file mode 100644 index 00000000000..020d10ee196 --- /dev/null +++ b/code/__HELPERS/logging/debug.html @@ -0,0 +1,47 @@ + + + + + + + code/__HELPERS/logging/debug.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/debug.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
/proc/log_assetLogging for loading and caching assets
/proc/log_configLogging for config errors +Rarely gets called; just here in case the config breaks.
/proc/log_job_debugLogging for job slot changes
/proc/log_luaLogging for lua scripting
/proc/log_mappingLogging for mapping errors
/proc/log_perfLogging for game performance
/proc/log_qdelLogging for hard deletes
/proc/log_sqlLogging for DB errors
/proc/log_topicLogging for world/Topic
/proc/log_worldLog to both DD and the logfile.
+ + + diff --git a/code/__HELPERS/logging/dynamic.html b/code/__HELPERS/logging/dynamic.html new file mode 100644 index 00000000000..e9d133c2737 --- /dev/null +++ b/code/__HELPERS/logging/dynamic.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/dynamic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/dynamic.dm + +

+ + + +
/proc/log_dynamicLogging for dynamic procs
+ + + diff --git a/code/__HELPERS/logging/game.html b/code/__HELPERS/logging/game.html new file mode 100644 index 00000000000..74e8f18eb8f --- /dev/null +++ b/code/__HELPERS/logging/game.html @@ -0,0 +1,42 @@ + + + + + + + code/__HELPERS/logging/game.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/game.dm + +

+ + + + + + + + + + + + + + + + + +
/proc/log_gameLogging for generic/unsorted game messages
/proc/log_emoteLogging for emotes
/proc/log_radio_emoteLogging for emotes sent over the radio
/proc/log_oocLogging for messages sent in OOC
/proc/log_prayerLogging for prayed messages
/proc/log_internet_requestLogging for music requests
/proc/log_accessLogging for logging in & out of the game, with error messages.
/proc/log_voteLogging for OOC votes
+ + + diff --git a/code/__HELPERS/logging/manifest.html b/code/__HELPERS/logging/manifest.html new file mode 100644 index 00000000000..20008823e59 --- /dev/null +++ b/code/__HELPERS/logging/manifest.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/manifest.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/manifest.dm + +

+ + + +
/proc/log_manifestLogging for player manifest (ckey, name, job, special role, roundstart/latejoin)
+ + + diff --git a/code/__HELPERS/logging/mecha.html b/code/__HELPERS/logging/mecha.html new file mode 100644 index 00000000000..b9b55364099 --- /dev/null +++ b/code/__HELPERS/logging/mecha.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/mecha.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/mecha.dm + +

+ + + +
/proc/log_mechaLogging for mech actions
+ + + diff --git a/code/__HELPERS/logging/paper.html b/code/__HELPERS/logging/paper.html new file mode 100644 index 00000000000..4450f00a2f8 --- /dev/null +++ b/code/__HELPERS/logging/paper.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/paper.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/paper.dm + +

+ + + +
/proc/log_paperLogging for writing made on paper
+ + + diff --git a/code/__HELPERS/logging/pda.html b/code/__HELPERS/logging/pda.html new file mode 100644 index 00000000000..9d15330b4e0 --- /dev/null +++ b/code/__HELPERS/logging/pda.html @@ -0,0 +1,32 @@ + + + + + + + code/__HELPERS/logging/pda.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/pda.dm + +

+ + + + + + + +
/proc/log_pdaLogging for PDA messages sent
/proc/log_commentLogging for newscaster comments
/proc/log_chatLogging for chatting on modular computer channels
+ + + diff --git a/code/__HELPERS/logging/research.html b/code/__HELPERS/logging/research.html new file mode 100644 index 00000000000..1c75cbe0921 --- /dev/null +++ b/code/__HELPERS/logging/research.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/research.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/research.dm + +

+ + + +
/proc/log_researchPuts the text into the research html file, not log. See [INVESTIGATE_RESEARCH] for [/atom/proc/investigate_log]
+ + + diff --git a/code/__HELPERS/logging/shuttle.html b/code/__HELPERS/logging/shuttle.html new file mode 100644 index 00000000000..d3e3e524801 --- /dev/null +++ b/code/__HELPERS/logging/shuttle.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/shuttle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/shuttle.dm + +

+ + + +
/proc/log_shuttleLogging for shuttle actions
+ + + diff --git a/code/__HELPERS/logging/talk.html b/code/__HELPERS/logging/talk.html new file mode 100644 index 00000000000..b68ef772c13 --- /dev/null +++ b/code/__HELPERS/logging/talk.html @@ -0,0 +1,36 @@ + + + + + + + code/__HELPERS/logging/talk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/talk.dm + +

+ + + + + + + + + + + +
/proc/log_sayLogging for generic spoken messages
/proc/log_whisperLogging for whispered messages
/proc/log_directed_talkHelper for logging of messages with only one sender and receiver (i.e. mind links)
/proc/log_telecommsLogging for speech taking place over comms, as well as tcomms equipment
/proc/log_speech_indicatorsLogging for speech indicators.
+ + + diff --git a/code/__HELPERS/logging/tool.html b/code/__HELPERS/logging/tool.html new file mode 100644 index 00000000000..bcf611a9359 --- /dev/null +++ b/code/__HELPERS/logging/tool.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/tool.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/tool.dm + +

+ + + +
/proc/log_toolLogging for tool usage
+ + + diff --git a/code/__HELPERS/logging/transport.html b/code/__HELPERS/logging/transport.html new file mode 100644 index 00000000000..18063020183 --- /dev/null +++ b/code/__HELPERS/logging/transport.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/transport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/transport.dm + +

+ + + +
/proc/log_transportLogging for transport (tram/elevator) actions
+ + + diff --git a/code/__HELPERS/logging/ui.html b/code/__HELPERS/logging/ui.html new file mode 100644 index 00000000000..9d64d03d8a6 --- /dev/null +++ b/code/__HELPERS/logging/ui.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/ui.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/ui.dm + +

+ + + +
/proc/log_tguiAppends a tgui-related log entry. All arguments are optional.
+ + + diff --git a/code/__HELPERS/logging/virus.html b/code/__HELPERS/logging/virus.html new file mode 100644 index 00000000000..d3f52eebccf --- /dev/null +++ b/code/__HELPERS/logging/virus.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/logging/virus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/logging/virus.dm + +

+ + + +
/proc/log_virusLogging for the creation and contraction of viruses
+ + + diff --git a/code/__HELPERS/maths.html b/code/__HELPERS/maths.html new file mode 100644 index 00000000000..3afe0eeaa00 --- /dev/null +++ b/code/__HELPERS/maths.html @@ -0,0 +1,62 @@ + + + + + + + code/__HELPERS/maths.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/maths.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/get_angleCalculate the angle between two movables and the west|east coordinate
/proc/delta_to_angleCalculate the angle produced by a pair of x and y deltas
/proc/get_angle_rawAngle between two arbitrary points and horizontal line same as /proc/get_angle
/proc/get_pixel_anglefor getting the angle when animating something's pixel_x and pixel_y
/proc/get_lineGet a list of turfs in a line from starting_atom to ending_atom.
/proc/get_perimeterGet a list of turfs in a perimeter given the center_atom and radius. +Automatically rounds down decimals and does not accept values less than positive 1 as they dont play well with it. +Is efficient on large circles but ugly on small ones +Uses Jesko`s method to the midpoint circle Algorithm.
/proc/siunit_isolatedFormats a number into a list representing the si unit. +Access the coefficient with [SI_COEFFICIENT], and access the unit with [SI_UNIT].
/proc/display_powerFormat a power value in prefixed watts.
/proc/display_joulesFormat an energy value in prefixed joules.
/proc/display_energyFormat an energy value measured in Power Cell units.
/proc/anyprobchances are 1:value. anyprob(1) will always return true
/proc/bit_countcounts the number of bits in Byond's 16-bit width field, in constant time and memory!
/proc/make_tupleReturns the name of the mathematical tuple of same length as the number arg (rounded down).
/proc/at_leastTakes a value, and a threshold it has to at least match +returns the correctly signed value max'd to the threshold
/proc/reciprocal_addTakes two values x and y, and returns 1/((1/x) + y) +Useful for providing an additive modifier to a value that is used as a divisor, such as /obj/projectile/var/speed
+ + + diff --git a/code/__HELPERS/matrices.html b/code/__HELPERS/matrices.html new file mode 100644 index 00000000000..5f2c323354a --- /dev/null +++ b/code/__HELPERS/matrices.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/matrices.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/matrices.dm + +

+ + + + +
/datum/decompose_matrixDatum which stores information about a matrix decomposed with decompose().
/proc/color_to_full_rgba_matrixConverts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond). +if return_identity_on_fail is true, stack_trace is called instead of CRASH, and an identity is returned.
+ + + diff --git a/code/__HELPERS/memory_helpers.html b/code/__HELPERS/memory_helpers.html new file mode 100644 index 00000000000..f53ad2fe07f --- /dev/null +++ b/code/__HELPERS/memory_helpers.html @@ -0,0 +1,80 @@ + + + + + + + code/__HELPERS/memory_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/memory_helpers.dm + +

+ + + + + + +
add_memory_in_rangeAdds a memory to all carbon mobs in a certain range of a certain atom.
/proc/_add_memory_in_rangeUnless you need to use this for an explicit reason, use the add_memory_in_range macro wrapper.
add_mob_memoryAdds a memory to the target mob.
add_memoryAdds a memory to the target mind.

Define Details

+

add_memory + + + +

+

Adds a memory to the target mind.

+

The first argument should be a typepath of a /datum/memory.

+

If the mob already has a memory of that type, it will be deleted.

+

Beyond that, can be supplied with named arguments pertaining to your memory type. +Common arguments include:

+ +

Returns the datum memory created, or null otherwise.

add_memory_in_range + + + +

+

Adds a memory to all carbon mobs in a certain range of a certain atom.

+

The third argument should be a typepath of a /datum/memory.

+

Two things of note when using this:

+ +

Beyond that, can be supplied with named arguments pertaining to your memory type. +Common arguments include:

+

add_mob_memory + + + +

+

Adds a memory to the target mob.

+

The first argument should be a typepath of a /datum/memory.

+

If the mob already has a memory of that type, it will be deleted.

+

Beyond that, can be supplied with named arguments pertaining to your memory type. +Common arguments include:

+ +

Returns the datum memory created, or null otherwise.

+ + + diff --git a/code/__HELPERS/mobs.html b/code/__HELPERS/mobs.html new file mode 100644 index 00000000000..9cdf4384a08 --- /dev/null +++ b/code/__HELPERS/mobs.html @@ -0,0 +1,75 @@ + + + + + + + code/__HELPERS/mobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/mobs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FACING_SAME_DIRTwo mobs are facing the same direction
FACING_EACHOTHERTwo mobs are facing each others
FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULARTwo mobs one is facing a person, but the other is perpendicular
/proc/do_afterTimed action involving one mob user. Target is optional.
/proc/ishumanbasicReturns if the given target is a human. Like, a REAL human. +Not a moth, not a felinid (which are human subtypes), but a human.
/proc/active_free_borgsSilicon Mob Procs
/proc/get_temp_change_amountUsed to get the amount of change between two body temperatures
GET_CLIENTGets the client of the mob, allowing for mocking of the client. +You only need to use this if you know you're going to be mocking clients somewhere else.
/proc/sort_mobsOrders mobs by type then by name. Accepts optional arg to sort a custom list, otherwise copies GLOB.mob_list.
/proc/get_mob_by_ckeyreturns a mob type controlled by a specified ckey
/proc/parse_zoneReturn a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use /obj/item/bodypart/var/plaintext_zone
/proc/deprecise_zoneTakes a zone and returns it's "parent" zone, if it has one.
/proc/check_target_facingsReturns the direction that the initiator and the target are facing
/proc/get_mob_or_brainmobReturns the occupant mob or brain from a specified input
/proc/living_player_countReturns the amount of currently living players
/proc/dviewVersion of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).

Define Details

+

FACING_EACHOTHER + + +

+

Two mobs are facing each others

FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR + + +

+

Two mobs one is facing a person, but the other is perpendicular

FACING_SAME_DIR + + +

+

Two mobs are facing the same direction

GET_CLIENT + + + +

+

Gets the client of the mob, allowing for mocking of the client. +You only need to use this if you know you're going to be mocking clients somewhere else.

+ + + diff --git a/code/__HELPERS/mouse_control.html b/code/__HELPERS/mouse_control.html new file mode 100644 index 00000000000..b02452181ef --- /dev/null +++ b/code/__HELPERS/mouse_control.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/mouse_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/mouse_control.dm + +

+ + + +
/proc/mouse_angle_from_clientReturns an angle in degrees relative to the position of the mouse and that of the client eye.
+ + + diff --git a/code/__HELPERS/nameof.html b/code/__HELPERS/nameof.html new file mode 100644 index 00000000000..59508383b9e --- /dev/null +++ b/code/__HELPERS/nameof.html @@ -0,0 +1,43 @@ + + + + + + + code/__HELPERS/nameof.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/nameof.dm + +

+ + + +
NAMEOFNAMEOF: Compile time checked variable name to string conversion +evaluates to a string equal to "X", but compile errors if X isn't a var on datum. +datum may be null, but it does need to be a typed var.
NAMEOF_STATICNAMEOF that actually works in static definitions because src::type requires src to be defined

Define Details

+

NAMEOF + + + +

+

NAMEOF: Compile time checked variable name to string conversion +evaluates to a string equal to "X", but compile errors if X isn't a var on datum. +datum may be null, but it does need to be a typed var.

NAMEOF_STATIC + + + +

+

NAMEOF that actually works in static definitions because src::type requires src to be defined

+ + + diff --git a/code/__HELPERS/names.html b/code/__HELPERS/names.html new file mode 100644 index 00000000000..e7568292f42 --- /dev/null +++ b/code/__HELPERS/names.html @@ -0,0 +1,31 @@ + + + + + + + code/__HELPERS/names.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/names.dm + +

+ + + + + +
/proc/assign_random_nameGenerate a name devices
/proc/tool_behaviour_namereturns an ic name of the tool needed +Arguments:
+ + + diff --git a/code/__HELPERS/paths/jps.html b/code/__HELPERS/paths/jps.html new file mode 100644 index 00000000000..78bff1edf16 --- /dev/null +++ b/code/__HELPERS/paths/jps.html @@ -0,0 +1,42 @@ + + + + + + + code/__HELPERS/paths/jps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/paths/jps.dm + +

+ + + +
STEP_NOT_HERE_BUT_THEREThis file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal. +A helper macro for JPS, for telling when a node has forced neighbors that need expanding +Only usable in the context of the jps datum because of the datum vars it relies on
/datum/jps_nodeThe JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from

Define Details

+

STEP_NOT_HERE_BUT_THERE + + + +

+

This file contains the stuff you need for using JPS (Jump Point Search) pathing, an alternative to A* that skips +over large numbers of uninteresting tiles resulting in much quicker pathfinding solutions. Mind that diagonals +cost the same as cardinal moves currently, so paths may look a bit strange, but should still be optimal. +A helper macro for JPS, for telling when a node has forced neighbors that need expanding +Only usable in the context of the jps datum because of the datum vars it relies on

+ + + diff --git a/code/__HELPERS/paths/path.html b/code/__HELPERS/paths/path.html new file mode 100644 index 00000000000..a489107b818 --- /dev/null +++ b/code/__HELPERS/paths/path.html @@ -0,0 +1,46 @@ + + + + + + + code/__HELPERS/paths/path.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/paths/path.dm + +

+ + + + + + + + + + + + + +
/proc/get_path_toThis is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing". +If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing. +It will yield until a path is returned, using magic
/proc/get_swarm_path_toPOTENTIALLY cheaper version of get_path_to +This proc generates a path map for the end atom's turf, which allows us to cheaply do pathing operations "at" it +Generation is significantly SLOWER then get_path_to, but if many things are/might be pathing at something then it is much faster +Runs the risk of returning an suboptimal or INVALID PATH if the delay between map creation and use is too long
/proc/pathfinding_finishedUses funny pass by reference bullshit to take the output created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution
/datum/pathfindThe datum used to handle the JPS pathfinding, completely self-contained
/proc/remove_clunky_diagonalsProcesses a path (list of turfs), removes any diagonal moves that would lead to a weird bump
/proc/remove_diagonalsProcesses a path (list of turfs), removes any diagonal moves
/datum/can_pass_infoThese are generally cheaper than looping contents so they go first +Holds all information about what an atom can move through +Passed into CanAStarPass to provide context for a pathing attempt
+ + + diff --git a/code/__HELPERS/paths/sssp.html b/code/__HELPERS/paths/sssp.html new file mode 100644 index 00000000000..bcda21adb3a --- /dev/null +++ b/code/__HELPERS/paths/sssp.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/paths/sssp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/paths/sssp.dm + +

+ + + +
/datum/path_mapDatum that describes the shortest path between a source turf and any turfs within a distance
/datum/pathfind/ssspSingle source shortest path +Generates a flow map of a reachable turf -> the turf next closest to the map's center
+ + + diff --git a/code/__HELPERS/priority_announce.html b/code/__HELPERS/priority_announce.html new file mode 100644 index 00000000000..b02d60399ad --- /dev/null +++ b/code/__HELPERS/priority_announce.html @@ -0,0 +1,41 @@ + + + + + + + code/__HELPERS/priority_announce.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/priority_announce.dm + +

+ + + + + + + + + + + + + +
/proc/priority_announceMake a big red text announcement to
/proc/print_command_reportIf the announcer overrides alert messages, use that message.
/proc/minor_announceSends a minor annoucement to players. +Minor announcements are large text, with the title in red and message in white. +Only mobs that can hear can see the announcements.
/proc/level_announceSends an announcement about the level changing to players. Uses the passed in datum and the subsystem's previous security level to generate the message.
/proc/generate_unique_announcement_headerProc that just generates a custom header based on variables fed into priority_announce() +Will return a string.
/proc/dispatch_announcement_to_playersProc that just dispatches the announcement to our applicable audience. Only the announcement is a mandatory arg.
+ + + diff --git a/code/__HELPERS/qdel.html b/code/__HELPERS/qdel.html new file mode 100644 index 00000000000..cf2c9f12482 --- /dev/null +++ b/code/__HELPERS/qdel.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/qdel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/qdel.dm + +

+ + + +
/proc/______qdel_list_wrapperthe underscores are to encourage people not to use this directly.
+ + + diff --git a/code/__HELPERS/radiation.html b/code/__HELPERS/radiation.html new file mode 100644 index 00000000000..a30a8dc6457 --- /dev/null +++ b/code/__HELPERS/radiation.html @@ -0,0 +1,55 @@ + + + + + + + code/__HELPERS/radiation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/radiation.dm + +

+ + + + + + +
CAN_IRRADIATEWhether or not it's possible for this atom to be irradiated
/proc/radiation_pulseSends out a pulse of radiation, eminating from the source. +Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +then makes their way towards them. A number, starting at 1, is multiplied +by the insulation amounts of whatever is in the way (for example, walls lowering it down). +If this number hits equal or below the threshold, then the target can no longer be irradiated. +If the number is above the threshold, then the chance is the chance that the target will be irradiated. +As a consumer, this means that max_range going up usually means you want to lower the threshold too, +as well as the other way around. +If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +and such in the way, can be irradiated. +You can also pass in a minimum exposure time. If this is set, then this radiation pulse +will not irradiate the source unless they have been around any radioactive source for that +period of time. +The chance to get irradiated diminishes over range, and from objects that block radiation. +Assuming there is nothing in the way, the chance will determine what the chance is to get irradiated from half of max_range. +Example: If chance is equal to 30%, and max_range is equal to 8, +then the chance for a thing to get irradiated is 30% if they are 4 turfs away from the pulse source.
/proc/get_perceived_radiation_dangerGets the perceived "danger" of radiation pulse, given the threshold to the target. +Returns a RADIATION_DANGER_* define, see code/__DEFINES/radiation.dm

Define Details

+

CAN_IRRADIATE + + + +

+

Whether or not it's possible for this atom to be irradiated

+ + + diff --git a/code/__HELPERS/radio.html b/code/__HELPERS/radio.html new file mode 100644 index 00000000000..a1f8f8b967d --- /dev/null +++ b/code/__HELPERS/radio.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/radio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/radio.dm + +

+ + + + + + + + + +
/proc/sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
/proc/format_frequencyFormat frequency by moving the decimal.
/proc/unformat_frequencyOpposite of format, returns as a number
/proc/return_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
+ + + diff --git a/code/__HELPERS/randoms.html b/code/__HELPERS/randoms.html new file mode 100644 index 00000000000..d16ab1e01cf --- /dev/null +++ b/code/__HELPERS/randoms.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/randoms.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/randoms.dm + +

+ + + + + + + + + + + +
/proc/get_random_foodGet a random food item exluding the blocked ones
/proc/get_random_drinkGets a random drink excluding the blocked type
/proc/ion_numPicks a string of symbols to display as the law number for hacked or ion laws +is at the start to prevent us from changing say modes via get_message_mode()
/proc/random_nukecodeReturns a string for a random nuke code
/proc/get_random_coinGets a random coin excluding the blocked type and including extra coins which aren't pathed like coins.
+ + + diff --git a/code/__HELPERS/reagents.html b/code/__HELPERS/reagents.html new file mode 100644 index 00000000000..9e3d0f02917 --- /dev/null +++ b/code/__HELPERS/reagents.html @@ -0,0 +1,45 @@ + + + + + + + code/__HELPERS/reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/reagents.dm + +

+ + + + + + + + + + + + + + +
/proc/convert_ph_to_readable_colorConverts the pH into a tgui readable color - i.e. white and black text is readable over it. This is NOT the colourwheel for pHes however.
CONVERT_PH_TO_COLORConverts pH to universal indicator colours. This is the colorwheel for pHes
/proc/get_reagent_type_from_product_stringReturns a list of chemical_reaction datums that have the input STRING as a product
/proc/find_reagentReturns reagent datum from typepath
/proc/get_random_reagent_idReturns a random reagent object minus blacklisted reagents
/proc/get_chem_idReturns reagent datum from reagent name string
/proc/get_recipe_from_reagent_productTakes a type in and returns a list of associated recipes

Define Details

+

CONVERT_PH_TO_COLOR + + + +

+

Converts pH to universal indicator colours. This is the colorwheel for pHes

+ + + diff --git a/code/__HELPERS/ref.html b/code/__HELPERS/ref.html new file mode 100644 index 00000000000..52f70b38605 --- /dev/null +++ b/code/__HELPERS/ref.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/ref.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/ref.dm + +

+ + + +
/proc/REF\ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +If it ever becomes necesary to get a more performant REF(), this lies here in wait +#define REF(thing) (thing && isdatum(thing) && (thing:datum_flags & DF_USE_TAG) && thing:tag ? "[thing:tag]" : text_ref(thing))
+ + + diff --git a/code/__HELPERS/roundend.html b/code/__HELPERS/roundend.html new file mode 100644 index 00000000000..250c61f15b8 --- /dev/null +++ b/code/__HELPERS/roundend.html @@ -0,0 +1,27 @@ + + + + + + + code/__HELPERS/roundend.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/roundend.dm + +

+ + +
/datum/achievement_reportA datum containing the info necessary for an achievement readout, reported and added to the global list in /datum/award/achievement/on_unlock(mob/user)
+ + + diff --git a/code/__HELPERS/sanitize_values.html b/code/__HELPERS/sanitize_values.html new file mode 100644 index 00000000000..49ab7d8cceb --- /dev/null +++ b/code/__HELPERS/sanitize_values.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/sanitize_values.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/sanitize_values.dm + +

+ + + +
/proc/sanitize_colorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
+ + + diff --git a/code/__HELPERS/screen_objs.html b/code/__HELPERS/screen_objs.html new file mode 100644 index 00000000000..023fb4dd058 --- /dev/null +++ b/code/__HELPERS/screen_objs.html @@ -0,0 +1,40 @@ + + + + + + + code/__HELPERS/screen_objs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/screen_objs.dm + +

+ + + + + + + + + +
/proc/screen_loc_to_offsetTakes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc
/proc/offset_to_screen_locTakes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope
/proc/get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
/proc/cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
+ + + diff --git a/code/__HELPERS/see_through_maps.html b/code/__HELPERS/see_through_maps.html new file mode 100644 index 00000000000..36dbd82d4e0 --- /dev/null +++ b/code/__HELPERS/see_through_maps.html @@ -0,0 +1,62 @@ + + + + + + + code/__HELPERS/see_through_maps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/see_through_maps.dm + +

+ + + + + + + + +
SEE_THROUGH_MAP_DEFAULTDefault shape. It's one tile above the atom
SEE_THROUGH_MAP_THREE_X_THREEA 3x3 area 2 tiles above the atom (trees love to be this shape)
SEE_THROUGH_MAP_DEFAULT_TWO_TALL2 tiles above the atom
SEE_THROUGH_MAP_THREE_X_TWOtwo rows of three tiles above the atom (small but thick trees love these)
SEE_THROUGH_MAP_BILLBOARDOne row of three tiles above the atom, but offset one tile to the left because of how billboards work
SEE_THROUGH_MAP_SHIPPING_CONTAINERTwo rows of three wide, but offset one tile to the left because thats how shipping containers work
SEE_THROUGH_MAP_RATVAR_WRECKSeethrough component for the ratvar wreck, in shape of the ratvar wreck

Define Details

+

SEE_THROUGH_MAP_BILLBOARD + + +

+

One row of three tiles above the atom, but offset one tile to the left because of how billboards work

SEE_THROUGH_MAP_DEFAULT + + +

+

Default shape. It's one tile above the atom

SEE_THROUGH_MAP_DEFAULT_TWO_TALL + + +

+

2 tiles above the atom

SEE_THROUGH_MAP_RATVAR_WRECK + + +

+

Seethrough component for the ratvar wreck, in shape of the ratvar wreck

SEE_THROUGH_MAP_SHIPPING_CONTAINER + + +

+

Two rows of three wide, but offset one tile to the left because thats how shipping containers work

SEE_THROUGH_MAP_THREE_X_THREE + + +

+

A 3x3 area 2 tiles above the atom (trees love to be this shape)

SEE_THROUGH_MAP_THREE_X_TWO + + +

+

two rows of three tiles above the atom (small but thick trees love these)

+ + + diff --git a/code/__HELPERS/spatial_info.html b/code/__HELPERS/spatial_info.html new file mode 100644 index 00000000000..83e61c67eb3 --- /dev/null +++ b/code/__HELPERS/spatial_info.html @@ -0,0 +1,73 @@ + + + + + + + code/__HELPERS/spatial_info.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/spatial_info.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/mob/oranges_ear
/proc/get_hearers_in_viewreturns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS().
/proc/get_hearers_in_rangeThe exact same as get_hearers_in_view, but not limited by visibility. Does no filtering for traits, line of sight, or any other such criteria. +Filtering is intended to be done by whatever calls this function.
/proc/get_hearers_in_LOSReturns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive
/proc/inLineOfSightCalculate if two atoms are in sight, returns TRUE or FALSE
/proc/circle_rangeReturns all atoms present in a circle around the center
/proc/circle_viewReturns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)
/proc/get_dist_euclidianReturns the distance between two atoms
/proc/circle_range_turfsReturns a list of turfs around a center based on RANGE_TURFS()
/proc/circle_view_turfsReturns a list of turfs around a center based on view()
/proc/border_diamond_range_turfsReturns the list of turfs around the outside of a center based on RANGE_TURFS()
/proc/slice_off_turfsReturns a slice of a list of turfs, defined by the ones that are inside the inner/outer angle's bounds
/proc/get_bbox_of_atomsGet a bounding box of a list of atoms.
/proc/get_hearLike view but bypasses luminosity check
/proc/get_open_turf_in_dirReturns the open turf next to the center in a specific direction
/proc/get_adjacent_open_turfsReturns a list with all the adjacent open turfs. Clears the list of nulls in the end.
/proc/get_adjacent_open_areasReturns a list with all the adjacent areas by getting the adjacent open turfs
/proc/get_areas_in_rangeReturns a list with the names of the areas around a center at a certain distance +Returns the local area if no distance is indicated +Returns an empty list if the center is null
/proc/get_adjacent_areasReturns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.
/proc/alone_in_areaChecks if the mob provided (must_be_alone) is alone in an area
+ + + diff --git a/code/__HELPERS/spawns.html b/code/__HELPERS/spawns.html new file mode 100644 index 00000000000..99bd2b840c7 --- /dev/null +++ b/code/__HELPERS/spawns.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/spawns.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/spawns.dm + +

+ + + +
/proc/podspawnOne proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
+ + + diff --git a/code/__HELPERS/stack_trace.html b/code/__HELPERS/stack_trace.html new file mode 100644 index 00000000000..2e684f865e5 --- /dev/null +++ b/code/__HELPERS/stack_trace.html @@ -0,0 +1,29 @@ + + + + + + + code/__HELPERS/stack_trace.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/stack_trace.dm + +

+ + + +
/proc/_stack_tracegives us the stack trace from CRASH() without ending the current proc. +Do not call directly, use the stack_trace macro instead.
+ + + diff --git a/code/__HELPERS/stoplag.html b/code/__HELPERS/stoplag.html new file mode 100644 index 00000000000..52b641f7775 --- /dev/null +++ b/code/__HELPERS/stoplag.html @@ -0,0 +1,34 @@ + + + + + + + code/__HELPERS/stoplag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/stoplag.dm + +

+ + + + +
DELTA_CALCIncreases delay as the server gets more overloaded, as sleeps aren't cheap and sleeping only to wake up and sleep again is wasteful
/proc/stoplagreturns the number of ticks slept

Define Details

+

DELTA_CALC + + +

+

Increases delay as the server gets more overloaded, as sleeps aren't cheap and sleeping only to wake up and sleep again is wasteful

+ + + diff --git a/code/__HELPERS/string_lists.html b/code/__HELPERS/string_lists.html new file mode 100644 index 00000000000..9654259891c --- /dev/null +++ b/code/__HELPERS/string_lists.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/string_lists.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/string_lists.dm + +

+ + + + + +
/proc/string_listCaches lists with non-numeric stringify-able values (text or typepath).
/proc/baseturfs_string_listA wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues
+ + + diff --git a/code/__HELPERS/text.html b/code/__HELPERS/text.html new file mode 100644 index 00000000000..28587d8fb5b --- /dev/null +++ b/code/__HELPERS/text.html @@ -0,0 +1,78 @@ + + + + + + + code/__HELPERS/text.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/text.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/sanitize_namereturns nothing with an alert instead of the message if it contains something in the ic filter, and sanitizes normally if the name is fine. It returns nothing so it backs out of the input the same way as if you had entered nothing.
/proc/sanitizeRuns byond's html encoding sanitization proc, after replacing new-lines and tabs for the # character.
/proc/strip_htmlRuns STRIP_HTML_SIMPLE and sanitize.
/proc/strip_html_fullRuns STRIP_HTML_FULL and sanitize.
/proc/adminscrubRuns STRIP_HTML_SIMPLE and byond's sanitization proc.
/proc/htmlrendertextPerform a whitespace cleanup on the text, similar to what HTML renderers do
/proc/reject_bad_textReturns the text if properly formatted, or null else.
/proc/stripped_inputUsed to get a properly sanitized input. Returns null if cancel is pressed.
/proc/stripped_multiline_inputUsed to get a properly sanitized input in a larger box. Works very similarly to stripped_input.
/proc/reject_bad_nameFilters out undesirable characters from names.
/proc/truncateTruncate a string to the given length
/proc/full_capitalizeReturns a string with the first letter of each word capitialized
/proc/int_to_wordsTakes a 1, 2 or 3 digit number and returns it in words. Don't call this directly, use convert_integer_to_words() instead.
/proc/convert_integer_to_wordsTakes an integer up to 999,999,999 and returns it in words. Works with negative numbers and 0.
/proc/random_capital_letterhandles thousands
/proc/siunitFormats a number to human readable form with the appropriate SI unit.
/proc/siunit_pressure
/proc/scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
/proc/piglatin_sentenceruns piglatin_word() proc on each word in a sentence. preserves caps and punctuation
/proc/piglatin_wordtakes "word", and returns it piglatinized.
/proc/reject_bad_chattextThe procedure to check the text of the entered text on ntnrc_client.dm
/proc/format_textProperly format a string of text by using replacetext()
/proc/weight_class_to_textReturns a string based on the weight class define used as argument
/proc/sanitize_css_class_nameRemoves all non-alphanumerics from the text, keep in mind this can lead to id conflicts
/proc/semver_to_listConverts a semver string into a list of numbers
/proc/endswithReturns TRUE if the input_text ends with the ending
+ + + diff --git a/code/__HELPERS/time.html b/code/__HELPERS/time.html new file mode 100644 index 00000000000..a841db678f3 --- /dev/null +++ b/code/__HELPERS/time.html @@ -0,0 +1,37 @@ + + + + + + + code/__HELPERS/time.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/time.dm + +

+ + + + + + + + + +
/proc/weekday_to_isoReturns a string day as an integer in ISO format 1 (Monday) - 7 (Sunday)
/proc/iso_to_weekdayReturns an integer in ISO format 1 (Monday) - 7 (Sunday) as a string day
/proc/day_of_monthReturns the day (mon, tues, wen...) in number format, 1 (monday) - 7 (sunday) from the passed in date (year, month, day) +All inputs are expected indexed at 1
/proc/time_to_twelve_hourConverts a time expressed in deciseconds (like world.time) to the 12-hour time format. +the format arg is the format passed down to time2text() (e.g. "hh:mm" is hours and minutes but not seconds). +the timezone is the time value offset from the local time. It's to be applied outside time2text() to get the AM/PM right.
+ + + diff --git a/code/__HELPERS/traits.html b/code/__HELPERS/traits.html new file mode 100644 index 00000000000..7205df7196d --- /dev/null +++ b/code/__HELPERS/traits.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/traits.dm + +

+ + + + + +
/proc/___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
/proc/___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
+ + + diff --git a/code/__HELPERS/turfs.html b/code/__HELPERS/turfs.html new file mode 100644 index 00000000000..e07fcae5f60 --- /dev/null +++ b/code/__HELPERS/turfs.html @@ -0,0 +1,71 @@ + + + + + + + code/__HELPERS/turfs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/turfs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/get_teleport_locReturns location. Returns null if no location was found.
/proc/get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
/proc/get_edge_target_turfReturns the turf located at the map edge in the specified direction relative to target_atom used for mass driver
/proc/get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
/proc/get_offset_target_turfreturns turf relative to target_atom offset in dx and dy tiles, bound to map limits
/proc/get_turf_pixelLets the turf this atom's ICON appears to inhabit +it takes into account: +Pixel_x/y +Matrix x/y +NOTE: if your atom has non-standard bounds then this proc +will handle it, but: +if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked +this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) +if the bounds are odd, the true middle turf of the atom is returned
/proc/get_visual_offsetReturns how visually "off" the atom is from its source turf as a list of x, y (in pixel steps) +it takes into account: +Pixel_x/y +Matrix x/y +Icon width/height
/proc/pixel_offset_turfTakes a turf, and a list of x and y pixel offsets and returns the turf that the offset position best lands in
/proc/parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
/proc/screen_loc_to_turfAlmost identical to the params_to_turf(), but unused (remove?)
/proc/spiral_range_turfssimilar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs)
/proc/get_random_station_turfReturns a random turf on the station
/proc/get_safe_random_station_turfReturns a random turf on the station, excludes dense turfs (like walls) and areas that have valid_territory set to FALSE
/proc/valid_build_directionChecks whether the target turf is in a valid state to accept a directional construction +such as windows or railings.
/proc/is_type_on_turfChecks whether or not a particular typepath or subtype of it is present on a turf
+ + + diff --git a/code/__HELPERS/type2type.html b/code/__HELPERS/type2type.html new file mode 100644 index 00000000000..eb194e21f6c --- /dev/null +++ b/code/__HELPERS/type2type.html @@ -0,0 +1,33 @@ + + + + + + + code/__HELPERS/type2type.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/type2type.dm + +

+ + + + + + + +
/proc/dir2offsetReturns a list(x, y), being the change in position required to step in the passed in direction
/proc/body_zone2cover_flagsFor finding out what body parts a body zone covers, the inverse of the below basically
/proc/url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
+ + + diff --git a/code/__HELPERS/varset_callback.html b/code/__HELPERS/varset_callback.html new file mode 100644 index 00000000000..b72b5b019b9 --- /dev/null +++ b/code/__HELPERS/varset_callback.html @@ -0,0 +1,35 @@ + + + + + + + code/__HELPERS/varset_callback.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/varset_callback.dm + +

+ + +
VARSET_WEAK_CALLBACKSame as VARSET_CALLBACK, but uses a weakref to the datum. +Use this if the timer is exceptionally long.

Define Details

+

VARSET_WEAK_CALLBACK + + + +

+

Same as VARSET_CALLBACK, but uses a weakref to the datum. +Use this if the timer is exceptionally long.

+ + + diff --git a/code/__HELPERS/verbs.html b/code/__HELPERS/verbs.html new file mode 100644 index 00000000000..518852a940b --- /dev/null +++ b/code/__HELPERS/verbs.html @@ -0,0 +1,30 @@ + + + + + + + code/__HELPERS/verbs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/verbs.dm + +

+ + + + + +
/proc/add_verbhandles adding verbs and updating the stat panel browser
/proc/remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
+ + + diff --git a/code/__HELPERS/view.html b/code/__HELPERS/view.html new file mode 100644 index 00000000000..bde233f165e --- /dev/null +++ b/code/__HELPERS/view.html @@ -0,0 +1,28 @@ + + + + + + + code/__HELPERS/view.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/__HELPERS/view.dm + +

+ + + +
/proc/view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
+ + + diff --git a/code/__HELPERS/visual_effects.html b/code/__HELPERS/visual_effects.html new file mode 100644 index 00000000000..52eb61788fe --- /dev/null +++ b/code/__HELPERS/visual_effects.html @@ -0,0 +1,52 @@ + + + + + + + code/__HELPERS/visual_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/visual_effects.dm + +

+ + + + +
DO_FLOATING_ANIMCauses the passed atom / image to appear floating, +playing a simple animation where they move up and down by 2 pixels (looping)
STOP_FLOATING_ANIMStops the passed atom / image from appearing floating +(Living mobs also have a 'body_position_pixel_y_offset' variable that has to be taken into account here)
UPDATE_TRANSFORM_ANIMATION_TIMEThe duration of the animate call in mob/living/update_transform

Define Details

+

DO_FLOATING_ANIM + + + +

+

Causes the passed atom / image to appear floating, +playing a simple animation where they move up and down by 2 pixels (looping)

+

In most cases you should NOT call this manually, instead use /datum/element/movetype_handler! +This is just so you can apply the animation to things which can be animated but are not movables (like images)

STOP_FLOATING_ANIM + + + +

+

Stops the passed atom / image from appearing floating +(Living mobs also have a 'body_position_pixel_y_offset' variable that has to be taken into account here)

+

In most cases you should NOT call this manually, instead use /datum/element/movetype_handler! +This is just so you can apply the animation to things which can be animated but are not movables (like images)

UPDATE_TRANSFORM_ANIMATION_TIME + + +

+

The duration of the animate call in mob/living/update_transform

+ + + diff --git a/code/__HELPERS/weakref.html b/code/__HELPERS/weakref.html new file mode 100644 index 00000000000..08b43e6592e --- /dev/null +++ b/code/__HELPERS/weakref.html @@ -0,0 +1,33 @@ + + + + + + + code/__HELPERS/weakref.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__HELPERS/weakref.dm + +

+ + +
IS_WEAKREF_OFChecks if potential_weakref is a weakref of thing.

Define Details

+

IS_WEAKREF_OF + + + +

+

Checks if potential_weakref is a weakref of thing.

+ + + diff --git a/code/__byond_version_compat.html b/code/__byond_version_compat.html new file mode 100644 index 00000000000..667f091103c --- /dev/null +++ b/code/__byond_version_compat.html @@ -0,0 +1,57 @@ + + + + + + + code/__byond_version_compat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/__byond_version_compat.dm + +

+ + + + + + +
PROC_REFCall by name proc references, checks if the proc exists on either this type or as a global proc.
VERB_REFCall by name verb references, checks if the verb exists on either this type or as a global verb.
TYPE_PROC_REFCall by name proc reference, checks if the proc exists on either the given type or as a global proc
TYPE_VERB_REFCall by name verb reference, checks if the verb exists on either the given type or as a global verb
GLOBAL_PROC_REFCall by name proc reference, checks if the proc is an existing global proc

Define Details

+

GLOBAL_PROC_REF + + + +

+

Call by name proc reference, checks if the proc is an existing global proc

PROC_REF + + + +

+

Call by name proc references, checks if the proc exists on either this type or as a global proc.

TYPE_PROC_REF + + + +

+

Call by name proc reference, checks if the proc exists on either the given type or as a global proc

TYPE_VERB_REF + + + +

+

Call by name verb reference, checks if the verb exists on either the given type or as a global verb

VERB_REF + + + +

+

Call by name verb references, checks if the verb exists on either this type or as a global verb.

+ + + diff --git a/code/_compile_options.html b/code/_compile_options.html new file mode 100644 index 00000000000..a4f104a6038 --- /dev/null +++ b/code/_compile_options.html @@ -0,0 +1,46 @@ + + + + + + + code/_compile_options.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/_compile_options.dm + +

+ + +
PRELOAD_RSCIf this is uncommented, we set up the ref tracker to be used in a live environment +And to log events to [log_dir]/harddels.log +If this is uncommented, Autowiki will generate edits and shut down the server. +Prefer the autowiki build target instead. +If this is uncommented, will profile mapload atom initializations +If this is uncommented, force our verb processing into just the 2% of a tick +We normally reserve for it +NEVER run this on live, it's for simulating highpop only

Define Details

+

PRELOAD_RSC + + +

+

If this is uncommented, we set up the ref tracker to be used in a live environment +And to log events to [log_dir]/harddels.log +If this is uncommented, Autowiki will generate edits and shut down the server. +Prefer the autowiki build target instead. +If this is uncommented, will profile mapload atom initializations +If this is uncommented, force our verb processing into just the 2% of a tick +We normally reserve for it +NEVER run this on live, it's for simulating highpop only

+ + + diff --git a/code/_globalvars/bitfields.html b/code/_globalvars/bitfields.html new file mode 100644 index 00000000000..1760a8c7f71 --- /dev/null +++ b/code/_globalvars/bitfields.html @@ -0,0 +1,29 @@ + + + + + + + code/_globalvars/bitfields.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/bitfields.dm + +

+ + + + +
/datum/bitfieldSpecifies a bitfield for smarter debugging
/proc/generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
+ + + diff --git a/code/_globalvars/lighting.html b/code/_globalvars/lighting.html new file mode 100644 index 00000000000..6049bc6b3bc --- /dev/null +++ b/code/_globalvars/lighting.html @@ -0,0 +1,28 @@ + + + + + + + code/_globalvars/lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/lighting.dm + +

+ + + +
/datum/light_templateLight templates. They describe how a light looks, and links that to names/icons that can be used when templating/debugging
/datum/light_template/read_lightTemplate that reads info off a light subtype
+ + + diff --git a/code/_globalvars/lists/canisters.html b/code/_globalvars/lists/canisters.html new file mode 100644 index 00000000000..2579abd147e --- /dev/null +++ b/code/_globalvars/lists/canisters.html @@ -0,0 +1,28 @@ + + + + + + + code/_globalvars/lists/canisters.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/lists/canisters.dm + +

+ + + +
/proc/init_gas_id_to_canisterReturns a map of canister id to its type path
+ + + diff --git a/code/_globalvars/lists/keybindings.html b/code/_globalvars/lists/keybindings.html new file mode 100644 index 00000000000..d7b6df70413 --- /dev/null +++ b/code/_globalvars/lists/keybindings.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/lists/keybindings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/lists/keybindings.dm + +

+ + + + + +
/proc/init_keybindingsCreates and sorts all the keybinding datums
/proc/add_keybindingAdds an instanced keybinding to the global tracker
+ + + diff --git a/code/_globalvars/lists/reagents.html b/code/_globalvars/lists/reagents.html new file mode 100644 index 00000000000..42922f64f3d --- /dev/null +++ b/code/_globalvars/lists/reagents.html @@ -0,0 +1,37 @@ + + + + + + + code/_globalvars/lists/reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/lists/reagents.dm + +

+ + + + + + + +
/proc/init_chemical_reagent_listInitialises all /datum/reagent into a list indexed by reagent id
/proc/build_chemical_reactions_listsChemical Reactions - Initialises all /datum/chemical_reaction into a list +It is filtered into multiple lists within a list. +For example: +chemical_reactions_list_reactant_index/datum/reagent/toxin/plasma is a list of all reactions relating to plasma +For chemical reaction list product index - indexes reactions based off the product reagent type - see get_recipe_from_reagent_product() in helpers +For chemical reactions list lookup list - creates a bit list of info passed to the UI. This is saved to reduce lag from new windows opening, since it's a lot of data.
/proc/build_name2reagentlistBuilds map of reagent name to its datum path
+ + + diff --git a/code/_globalvars/logging.html b/code/_globalvars/logging.html new file mode 100644 index 00000000000..d5c93f12cb6 --- /dev/null +++ b/code/_globalvars/logging.html @@ -0,0 +1,29 @@ + + + + + + + code/_globalvars/logging.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/logging.dm + +

+ + + +
/proc/add_to_signaler_investigate_logUsed to add a text log to the signaler investigation log. +Do not add to the list directly; if the list is too large it can cause lag when an admin tries to view it.
+ + + diff --git a/code/_globalvars/phobias.html b/code/_globalvars/phobias.html new file mode 100644 index 00000000000..fe29247437f --- /dev/null +++ b/code/_globalvars/phobias.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/phobias.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/phobias.dm + +

+ + + +
/proc/construct_phobia_regexCreates a regular expression to match against the given phobia +Capture group 2 = the scary word +Capture group 3 = an optional suffix on the scary word
+ + + diff --git a/code/_globalvars/religion.html b/code/_globalvars/religion.html new file mode 100644 index 00000000000..4755f0a1e44 --- /dev/null +++ b/code/_globalvars/religion.html @@ -0,0 +1,30 @@ + + + + + + + code/_globalvars/religion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_globalvars/religion.dm + +

+ + + + + +
/proc/set_new_religious_sectSets a new religious sect used by all chaplains int he round
/proc/reset_religious_sectRemoves any existing religious sect from chaplains, allowing another to be selected
+ + + diff --git a/code/_onclick/drag_drop.html b/code/_onclick/drag_drop.html new file mode 100644 index 00000000000..b99dae308e5 --- /dev/null +++ b/code/_onclick/drag_drop.html @@ -0,0 +1,41 @@ + + + + + + + code/_onclick/drag_drop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/_onclick/drag_drop.dm + +

+ + + +
LENIENCY_DISTANCEDistance in pixels that we consider "acceptable" from the initial click to the release +Note: this does not account for the position of the object, just where it is on the screen
LENIENCY_TIMEAccepted time in seconds between the initial click and drag release +Go higher then this and we just don't care anymore

Define Details

+

LENIENCY_DISTANCE + + +

+

Distance in pixels that we consider "acceptable" from the initial click to the release +Note: this does not account for the position of the object, just where it is on the screen

LENIENCY_TIME + + +

+

Accepted time in seconds between the initial click and drag release +Go higher then this and we just don't care anymore

+ + + diff --git a/code/_onclick/hud/action_button.html b/code/_onclick/hud/action_button.html new file mode 100644 index 00000000000..e67522f300f --- /dev/null +++ b/code/_onclick/hud/action_button.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/action_button.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/action_button.dm + +

+ + +
/atom/movable/screen/action_landingExists so you have a place to put your buttons when you move them around
+ + + diff --git a/code/_onclick/hud/alert.html b/code/_onclick/hud/alert.html new file mode 100644 index 00000000000..eff7663d0bd --- /dev/null +++ b/code/_onclick/hud/alert.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/alert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/alert.dm + +

+ + +
/atom/movable/screen/alert/succumbGives the player the option to succumb while in critical condition
+ + + diff --git a/code/_onclick/hud/map_popups.html b/code/_onclick/hud/map_popups.html new file mode 100644 index 00000000000..92fb2f8322b --- /dev/null +++ b/code/_onclick/hud/map_popups.html @@ -0,0 +1,29 @@ + + + + + + + code/_onclick/hud/map_popups.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/map_popups.dm + +

+ + +
/atom/movable/screen/backgroundA generic background object. +It is also implicitly used to allocate a rectangle on the map, which will +be used for auto-scaling the map.
+ + + diff --git a/code/_onclick/hud/new_player.html b/code/_onclick/hud/new_player.html new file mode 100644 index 00000000000..d478e17b312 --- /dev/null +++ b/code/_onclick/hud/new_player.html @@ -0,0 +1,36 @@ + + + + + + + code/_onclick/hud/new_player.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/_onclick/hud/new_player.dm + +

+ + + + + + +
MAX_STATION_TRAIT_BUTTONS_VERTICALMaximum number of station trait buttons we will display, please think hard before creating scenarios where there are more than this
/atom/movable/screen/lobby/button/character_setupPrefs menu
/atom/movable/screen/lobby/button/readyButton that appears before the game has started
/atom/movable/screen/lobby/button/joinShown when the game has started
/atom/movable/screen/lobby/button/sign_upA generic "sign up" button used by station traits

Define Details

+

MAX_STATION_TRAIT_BUTTONS_VERTICAL + + +

+

Maximum number of station trait buttons we will display, please think hard before creating scenarios where there are more than this

+ + + diff --git a/code/_onclick/hud/parallax/random_layer.html b/code/_onclick/hud/parallax/random_layer.html new file mode 100644 index 00000000000..26feced6e02 --- /dev/null +++ b/code/_onclick/hud/parallax/random_layer.html @@ -0,0 +1,30 @@ + + + + + + + code/_onclick/hud/parallax/random_layer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/parallax/random_layer.dm + +

+ + + + + +
/atom/movable/screen/parallax_layer/randomParallax layers that vary between rounds. Has some code to make sure we all have the same one
/atom/movable/screen/parallax_layer/random/space_gasGassy background with a few random colors
/atom/movable/screen/parallax_layer/random/space_gas/radioactiveSpace gas but green for the radioactive nebula station trait
/atom/movable/screen/parallax_layer/random/asteroidsBig asteroid rocks appear in the background
+ + + diff --git a/code/_onclick/hud/radial.html b/code/_onclick/hud/radial.html new file mode 100644 index 00000000000..b978184179a --- /dev/null +++ b/code/_onclick/hud/radial.html @@ -0,0 +1,27 @@ + + + + + + + code/_onclick/hud/radial.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/radial.dm + +

+ + +
/datum/radial_menu_choiceCan be provided to choices in radial menus if you want to provide more information
+ + + diff --git a/code/_onclick/hud/rendering/_render_readme.html b/code/_onclick/hud/rendering/_render_readme.html new file mode 100644 index 00000000000..85dcd2e7258 --- /dev/null +++ b/code/_onclick/hud/rendering/_render_readme.html @@ -0,0 +1,67 @@ + + + + + + + code/_onclick/hud/rendering/_render_readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The Render Readme + +

+ + +
    +
  1. Byond internal functionality
  2. +
  3. Known internal snowflake
  4. +
  5. The rendering solution
  6. +
  7. Render plates
  8. +
+Byond internal functionality +

This part of the guide will assume that you have read the byond reference entry for rendering at www.byond.com/docs/ref//#/{notes}/renderer

+

When you create an atom, this will always create an internal byond structure called an "appearance". This appearance you will likely be familiar with, as it is exposed through the /atom/var/appearance var. This appearance var holds data on how to render the object, ie what icon/icon_state/color etc it is using. Note that appearance vars will always copy, and do not hold a reference. When you update a var, for example lets pretend we add a filter, the appearance will be updated to include the filter. Note that, however, vis_contents objets are uniquely excluded from appearances. Then, when the filter is updated, the appearance will be recreated, and the atom marked as "dirty". After it has been updated, the SendMaps() function (sometimes also called maptick), which is a internal byond function that iterates over all objects in a clients view and in the clients.mob.contents, checks for "dirty" atoms, then resends any "dirty" appearances to clients as needed and unmarks them as dirty. This function is notoriosly slow, but we can see it's tick usage through the world.map_cpu var. We can also avoid more complex checks checking whether an object is visible on a clients screen by using the TILE_BOUND appearance flag.

+

Finally, we arrive at clientside behavior, where we have two main clientside functions: GetMapIcons, and Render. GetMapIcons is repsonsible for actual rendering calculations on the clientside, such as "Group Icons and Set bounds", which performs clientside calculations for transform matrixes. Note that particles here are handled in a separate thread and are not diplayed in the clientside profiler. Render handles the actual drawing of the screen.

+

For debugging rendering issues its reccomended you do two things: +A) Talk to someone who has inside knowledge(like lummox) about it, most of this is undocumented and bugs often +B) Use the undocumented debug printer which reads of data on icons rendering, this is very dense but can be useful in some cases. To use: Right click top tab -> Options & Messages -> Client -> Command -> Enter ".debug profile mapicons" and press Enter -> go to your Byond directory and find BYOND/cfg/mapicons.json . Yes this is one giant one-line json.

+Known internal snowflake +

The following is an incomplete list of pitfalls that come from byond snowflake that are known, this list is obviously incomplete.

+
    +
  1. Transforms are very slow on clientside. This is not usually noticable, but if you start using large amounts of them it will grind you to a halt quickly, regardless of whether its on overlays or objs
  2. +
  3. The darkness plane. This is unused, as it doesn't work with our rendering format, so this section is purely academic. The darkness plane has specific variables it needs to render correctly, and these can be found in the plane masters file. it is composed internally of two parts, a black mask over the clients screen, and a non rendering mask that blocks all luminosity=0 turfs and their contents from rendering if the SEE_BLACKNESS flag is set properly. The blocker will always block rendering but the mask can be layered under other objects.
  4. +
  5. render_target/source. Render_target/source will only copy certain rendering instructions, and these are only defined as "etc." in the byond reference. Known non copied appearance vars include: blend_mode, plane, layer, vis_contents, mouse_opacity...
  6. +
  7. Large icons on the screen that peek over the edge will instead of only rendering partly like you would expect will instead stretch the screen while not adgusting the render buffer, which means that you can actively see as tiles and map objects are rendered. You can use this for an easy "offscreen" UI.
  8. +
  9. Numerically large filters on objects of any size will torpedo performance, even though large objects with small filters will perform massively better. (ie blur(size=20) BAD)
  10. +
  11. Texture Atlas: the texture atlas byond uses to render icons is very susceptible to corruption and can regularily replace icons with other icons or just not render at all. This can be exasperated by alt tabbing or pausing the dreamseeker process.
  12. +
  13. The renderer is awful code and lummox said he will try changing a large part of it for 515 so keep an eye on that
  14. +
  15. Byond uses DirectX 9 (Lummox said he wants to update to DirectX 11)
  16. +
  17. Particles are just fancy overlays and are not independent of their owner
  18. +
  19. Maptick items inside mob.contents are cheaper compared to most other movables
  20. +
  21. Displacement filter: The byond "displacement filter" does not, as the name would make you expect, use displacement maps, but instead uses normal maps.
  22. +
+The rendering solution +

One of the main issues with making pretty effects is how objects can only render to one plane, and how filters can only be applied to single objects. Quite simply it means we cant apply effects to multiple planes at once, and an effect to one plane only by treating it as a single unit:

+

+

A semi-fix to stop from having to apply effects to every single plane is to use the render controllers, to automatically apply filters and colors automatically onto their controlled planes.

+

The solution is thus instead we replace plane masters rendering directly to client with planes that render multiple planes onto them as objects in order to be able to affect multiple planes while treating them as a single object. This is done by relaying the plane using a "render relay" onto a "render plate" which acts as a plane master of plane masters of sorts, and since planes are rendered onto it as single objects any filters we apply to them will render over the planes, treating them as a single unit.

+

+

We can also choose to render these by decreasing the scaling all applied effects (effect_size/number_of_plates_rendered_to) then rendering it onto multiple planes:

+

+

Through these this allows us to treat planes as single objects, and lets us distort them as a single unit, most notably works wonders with the displacement filter. Specifically, here you can displacement_filter a plane onto a plate, which then will treat all the other planes rendered on that plate as a single unit.

+Render plates +

The rendering system uses two objects to unify planes: render_relay and render_plates. Render relays use render_target/source and the relay_render_to_plane proc to replicate the plane master on the render relay. This render relay is then rendered onto a render_plate, which is a plane master that renders the render_relays onto itself. This plate can then be hierachically rendered with the same process until it reaches the master render_plate, which is the plate that will actually render to the player. These plates naturally in the byond style have quirks. For example, rendering to two plates will double any effects such as color or filters, and as such you need to carefully manage how you render them. Keep in mind as well that when sorting the layers for rendering on a plane that they should not be negative, this is handled automatically in relay_render_to_plane. When debugging note that mouse_opacity can act bizzarly with this method, such as only allowing you to click things that are layered over objects on a certain plane but auomatically setting the mouse_opacity should be handling this. Note that if you decide to manipulate a plane with internal byond objects that you will have to manually extrapolate the vars that are set if you want to render them to another plane (See blackness plane for example), and that this is not documented anywhere.

+

Goodluck and godspeed with coding +- Just another contributor

+ + + diff --git a/code/_onclick/hud/rendering/plane_master_controller.html b/code/_onclick/hud/rendering/plane_master_controller.html new file mode 100644 index 00000000000..e49033cf008 --- /dev/null +++ b/code/_onclick/hud/rendering/plane_master_controller.html @@ -0,0 +1,33 @@ + + + + + + + code/_onclick/hud/rendering/plane_master_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_master_controller.dm + +

+ + + + + +
/atom/movable/plane_master_controllerAtom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane. +Of note: plane master controllers are currently not very extensively used, because render plates fill a semi similar niche +This could well change someday, and I'd like to keep this stuff around, so we use it for a few cases just out of convenience
/atom/movable/plane_master_controller/gameExists for convienience when referencing all game render plates
/atom/movable/plane_master_controller/non_masterExists for convienience when referencing all non-master render plates. +This is the whole game and the UI, but not the escape menu.
/atom/movable/plane_master_controller/colorblindExists for convienience when referencing all game render plates
+ + + diff --git a/code/_onclick/hud/rendering/plane_master_group.html b/code/_onclick/hud/rendering/plane_master_group.html new file mode 100644 index 00000000000..945f4254b4e --- /dev/null +++ b/code/_onclick/hud/rendering/plane_master_group.html @@ -0,0 +1,35 @@ + + + + + + + code/_onclick/hud/rendering/plane_master_group.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_master_group.dm + +

+ + + + + +
/datum/plane_master_groupDatum that represents one "group" of plane masters +So all the main window planes would be in one, all the spyglass planes in another +Etc
/datum/plane_master_group/popupHolds plane masters for popups, like camera windows +Note: We do not scale this plane, even though we could +This is because it's annoying to get turfs to position inside it correctly +If you wanna try someday feel free, but I can't manage it
/datum/plane_master_group/mainHolds the main plane master
/datum/plane_master_group/hudlessHudless group. Exists for testing
+ + + diff --git a/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.html b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.html new file mode 100644 index 00000000000..d89cc329874 --- /dev/null +++ b/code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.html @@ -0,0 +1,36 @@ + + + + + + + code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/rendering/plane_masters/plane_master_subtypes.dm + +

+ + + + + + + +
/atom/movable/screen/plane_master/parallaxContains space parallax
/atom/movable/screen/plane_master/floorContains just the floor
/atom/movable/screen/plane_master/defaultPlane master that byond will by default draw to +Shouldn't be used, exists to prevent people using plane 0 +NOTE: If we used SEE_BLACKNESS on a map format that wasn't SIDE_MAP, this is where its darkness would land +This would allow us to control it and do fun things. But we can't because side map doesn't support it, so this is just a stub
/atom/movable/screen/plane_master/turf_lightingContains all turf lighting
/atom/movable/screen/plane_master/o_light_visualThis will not work through multiz, because of a byond bug with BLEND_MULTIPLY +Bug report is up, waiting on a fix
/atom/movable/screen/plane_master/emissiveHandles emissive overlays and emissive blockers.
+ + + diff --git a/code/_onclick/hud/rendering/render_plate.html b/code/_onclick/hud/rendering/render_plate.html new file mode 100644 index 00000000000..40e5e20fd8d --- /dev/null +++ b/code/_onclick/hud/rendering/render_plate.html @@ -0,0 +1,46 @@ + + + + + + + code/_onclick/hud/rendering/render_plate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/rendering/render_plate.dm + +

+ + + + + + + + + + + + +

Custom rendering solution to allow for advanced effects +We (ab)use plane masters and render source/target to cheaply render 2+ planes as 1 +if you want to read more read the _render_readme.md

/atom/movable/render_plane_relayRender relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own
/atom/movable/screen/plane_master/rendering_plate
/atom/movable/screen/plane_master/rendering_plate/masterthis plate renders the final screen to show to the player
/atom/movable/screen/plane_master/rendering_plate/game_platerenders general in charachter game objects
/atom/movable/screen/plane_master/rendering_plate/unmasked_game_platerenders the parts of the plate unmasked by fov
/atom/movable/screen/plane_master/rendering_plate/masked_game_platerenders the parts of the plate masked by fov
/atom/movable/screen/plane_master/rendering_plate/game_worldContains most things in the game world
/atom/movable/screen/plane_master/rendering_plate/lightingContains all lighting objects

This system works by exploiting BYONDs color matrix filter to use layers to handle emissive blockers.

+

Emissive overlays are pasted with an atom color that converts them to be entirely some specific color. +Emissive blockers are pasted with an atom color that converts them to be entirely some different color. +Emissive overlays and emissive blockers are put onto the same plane. +The layers for the emissive overlays and emissive blockers cause them to mask eachother similar to normal BYOND objects. +A color matrix filter is applied to the emissive plane to mask out anything that isn't whatever the emissive color is. +This is then used to alpha mask the lighting plane.

+
/atom/movable/screen/plane_master/rendering_plate/non_gamerender plate for OOC stuff like ghosts, hud-screen effects, etc
+ + + diff --git a/code/_onclick/hud/screen_object_holder.html b/code/_onclick/hud/screen_object_holder.html new file mode 100644 index 00000000000..a019afdd9ec --- /dev/null +++ b/code/_onclick/hud/screen_object_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/_onclick/hud/screen_object_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/_onclick/hud/screen_object_holder.dm + +

+ + +
/datum/screen_object_holderA helper instance that will handle adding objects from the client's screen +to easily remove from later.
+ + + diff --git a/code/controllers/configuration/config_entry.html b/code/controllers/configuration/config_entry.html new file mode 100644 index 00000000000..62e2db1d330 --- /dev/null +++ b/code/controllers/configuration/config_entry.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/configuration/config_entry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/configuration/config_entry.dm + +

+ + +
/datum/config_entry/str_listList config entry, used for configuring a list of strings
+ + + diff --git a/code/controllers/configuration/entries/dbconfig.html b/code/controllers/configuration/entries/dbconfig.html new file mode 100644 index 00000000000..c97096a4ffc --- /dev/null +++ b/code/controllers/configuration/entries/dbconfig.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/configuration/entries/dbconfig.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/configuration/entries/dbconfig.dm + +

+ + +
/datum/config_entry/string/db_daemonThe exe for mariadbd.exe. +Shouldn't really be set on production servers, primarily for EZDB.
+ + + diff --git a/code/controllers/configuration/entries/game_options.html b/code/controllers/configuration/entries/game_options.html new file mode 100644 index 00000000000..544d50ae2ec --- /dev/null +++ b/code/controllers/configuration/entries/game_options.html @@ -0,0 +1,31 @@ + + + + + + + code/controllers/configuration/entries/game_options.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/configuration/entries/game_options.dm + +

+ + + + + + +
/datum/config_entry/number/traitor_ideal_player_countDetermines the ideal player count for maximum progression per minute.
/datum/config_entry/number/traitor_scaling_multiplierDetermines how fast traitors scale in general.
/datum/config_entry/number/maximum_potential_objectivesDetermines how many potential objectives a traitor can have.
/datum/config_entry/number/outdated_movedelayOutdated move delay
/datum/config_entry/flag/silicon_asimov_superiority_overrideControls if Asimov Superiority appears as a perk for humans even if standard Asimov isn't the default AI lawset
+ + + diff --git a/code/controllers/configuration/entries/general.html b/code/controllers/configuration/entries/general.html new file mode 100644 index 00000000000..eb20fdb7ced --- /dev/null +++ b/code/controllers/configuration/entries/general.html @@ -0,0 +1,91 @@ + + + + + + + code/controllers/configuration/entries/general.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/configuration/entries/general.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/config_entry/flag/autoadminif autoadmin is enabled
/datum/config_entry/string/autoadmin_rankthe rank given to autoadmins
/datum/config_entry/string/servernameserver name (the name of the game window)
/datum/config_entry/string/serversqlnameshort form server name used for the DB
/datum/config_entry/string/stationnamestation name (the name of the station in-game)
/datum/config_entry/number/lobby_countdownCountdown between lobby and the round starting.
/datum/config_entry/number/round_end_countdownPost round murder death kill countdown.
/datum/config_entry/flag/hubif the game appears on the hub or not
/datum/config_entry/number/max_hub_popPop requirement for the server to be removed from the hub
/datum/config_entry/flag/log_ooclog messages sent in OOC
/datum/config_entry/flag/log_accesslog login/logout
/datum/config_entry/flag/log_suspicious_loginConfig entry which special logging of failed logins under suspicious circumstances.
/datum/config_entry/flag/log_saylog client say
/datum/config_entry/flag/log_adminlog admin actions
/datum/config_entry/flag/log_prayerlog prayers
/datum/config_entry/flag/log_internet_requestLog Music Requests
/datum/config_entry/flag/log_siliconlog silicons
/datum/config_entry/flag/log_toolslog usage of tools
/datum/config_entry/flag/log_gamelog game events
/datum/config_entry/flag/log_mechalog mech data
/datum/config_entry/flag/log_viruslog virology data
/datum/config_entry/flag/log_assetlog assets
/datum/config_entry/flag/log_votelog voting
/datum/config_entry/flag/log_zone_switchlog manual zone switching
/datum/config_entry/flag/log_whisperlog client whisper
/datum/config_entry/flag/log_attacklog attack messages
/datum/config_entry/flag/log_emotelog emotes
/datum/config_entry/flag/log_econlog economy actions
/datum/config_entry/flag/log_traitorlog traitor objectives
/datum/config_entry/flag/log_adminchatlog admin chat messages
/datum/config_entry/flag/log_pdalog pda messages
/datum/config_entry/flag/log_uplinklog uplink/spellbook/codex ciatrix purchases and refunds
/datum/config_entry/flag/log_telecommslog telecomms messages
/datum/config_entry/flag/log_speech_indicatorslog speech indicators(started/stopped speaking)
/datum/config_entry/flag/log_twitterlog certain expliotable parrots and other such fun things in a JSON file of twitter valid phrases.
/datum/config_entry/flag/log_world_topiclog all world.Topic() calls
/datum/config_entry/flag/log_manifestlog crew manifest to separate file
/datum/config_entry/flag/log_job_debuglog roundstart divide occupations debug information to a file
/datum/config_entry/flag/log_shuttlelog shuttle related actions, ie shuttle computers, shuttle manipulator, emergency console
/datum/config_entry/flag/log_timers_on_bucket_resetlogs all timers in buckets on automatic bucket reset (Useful for timer debugging)
/datum/config_entry/flag/log_as_human_readableLog human readable versions of json log entries
/datum/config_entry/flag/allow_admin_ooccolorallows admins with relevant permissions to have their own ooc colour
/datum/config_entry/flag/allow_admin_asaycolorallows admins with relevant permissions to have a personalized asay color
/datum/config_entry/flag/allow_vote_restartallow votes to restart
/datum/config_entry/flag/allow_vote_mapallow votes to change map
/datum/config_entry/flag/allow_rock_the_voteallow players to vote to re-do the map vote
/datum/config_entry/number/max_rocking_votesthe number of times we allow players to rock the vote
/datum/config_entry/number/vote_delayminimum time between voting sessions (deciseconds, 10 minute default)
/datum/config_entry/number/vote_periodlength of voting period (deciseconds, default 1 minute)
/datum/config_entry/flag/default_no_voteIf disabled, non-voters will automatically have their votes added to certain vote options +(For example: restart votes will default to "no restart", map votes will default to their preferred map / default map, rocking the vote will default to "no")
/datum/config_entry/flag/no_dead_votePrevents dead people from voting.
/datum/config_entry/flag/popup_admin_pmGives the ability to send players a maptext popup.
/datum/config_entry/flag/allow_respawnDetermines if a player can respawn after dying. +0 / RESPAWN_FLAG_DISABLED = Cannot respawn (default) +1 / RESPAWN_FLAG_FREE = Can respawn +2 / RESPAWN_FLAG_NEW_CHARACTER = Can respawn if choosing a different character
/datum/config_entry/number/respawn_delayDetermines how long (in deciseconds) before a player is allowed to respawn.
/datum/config_entry/flag/use_exp_restrictions_headsEnables head jobs time restrictions.
/datum/config_entry/flag/use_exp_restrictions_otherEnables non-head jobs time restrictions.
/datum/config_entry/flag/panic_bunker_interviewFlag for requiring players who would otherwise be denied access by the panic bunker to complete a written interview
/datum/config_entry/flag/forbid_preferences_exportAllows players to export their own preferences as a JSON file. Left as a config toggle in case it needs to be turned off due to server-specific needs.
/datum/config_entry/number/seconds_cooldown_for_preferences_exportThe number of seconds a player must wait between preference export attempts.
/datum/config_entry/flag/secure_chat_commandsvalidate ownership of admin flags for chat commands
/datum/config_entry/string/admin_2fa_urlURL for admins to be redirected to for 2FA
+ + + diff --git a/code/controllers/failsafe.html b/code/controllers/failsafe.html new file mode 100644 index 00000000000..bdd7361d5b1 --- /dev/null +++ b/code/controllers/failsafe.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/failsafe.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/failsafe.dm + +

+ + + + + + + +
/var/FailsafeFailsafe
/proc/recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
/proc/delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
+ + + diff --git a/code/controllers/master.html b/code/controllers/master.html new file mode 100644 index 00000000000..afd444430f6 --- /dev/null +++ b/code/controllers/master.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/master.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/master.dm + +

+ + + + +
/var/MasterStonedMC
/datum/controller/masterStart of queue linked list +End of queue linked list (used for appending to the list) +Are we loading in a new map? +for scheduling different subsystems for different stages of the round
+ + + diff --git a/code/controllers/subsystem.html b/code/controllers/subsystem.html new file mode 100644 index 00000000000..1ddbdee6a2c --- /dev/null +++ b/code/controllers/subsystem.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem.dm + +

+ + +
/datum/controller/subsystemDefines a subsystem to be managed by the Master Controller
+ + + diff --git a/code/controllers/subsystem/addiction.html b/code/controllers/subsystem/addiction.html new file mode 100644 index 00000000000..ecce46fd723 --- /dev/null +++ b/code/controllers/subsystem/addiction.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/addiction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/addiction.dm + +

+ + +

This subsystem mostly exists to populate and manage the withdrawal singletons.

+ + + diff --git a/code/controllers/subsystem/ai_controllers.html b/code/controllers/subsystem/ai_controllers.html new file mode 100644 index 00000000000..984b4cc47f7 --- /dev/null +++ b/code/controllers/subsystem/ai_controllers.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ai_controllers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/ai_controllers.dm + +

+ + + +
/var/SSai_controllersThe subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.
+ + + diff --git a/code/controllers/subsystem/ambience.html b/code/controllers/subsystem/ambience.html new file mode 100644 index 00000000000..55e364a0993 --- /dev/null +++ b/code/controllers/subsystem/ambience.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ambience.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/ambience.dm + +

+ + + +
/var/SSambienceThe subsystem used to play ambience to users every now and then, makes them real excited.
+ + + diff --git a/code/controllers/subsystem/area_contents.html b/code/controllers/subsystem/area_contents.html new file mode 100644 index 00000000000..aa952d597df --- /dev/null +++ b/code/controllers/subsystem/area_contents.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/area_contents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/area_contents.dm + +

+ + + +
/var/SSarea_contentsResponsible for managing the sizes of area.contained_turfs and area.turfs_to_uncontain +These lists do not check for duplicates, which is fine, but it also means they can balloon in size over time +as a consequence of repeated changes in area in a space +They additionally may not always resolve often enough to avoid memory leaks +This is annoying, so lets keep an eye on them and cut them down to size if needed
+ + + diff --git a/code/controllers/subsystem/asset_loading.html b/code/controllers/subsystem/asset_loading.html new file mode 100644 index 00000000000..e8766db9044 --- /dev/null +++ b/code/controllers/subsystem/asset_loading.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/asset_loading.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/asset_loading.dm + +

+ + + +
/var/SSasset_loadingAllows us to lazyload asset datums +Anything inserted here will fully load if directly gotten +So this just serves to remove the requirement to load assets fully during init
+ + + diff --git a/code/controllers/subsystem/ban_cache.html b/code/controllers/subsystem/ban_cache.html new file mode 100644 index 00000000000..65c64725b56 --- /dev/null +++ b/code/controllers/subsystem/ban_cache.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/ban_cache.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/ban_cache.dm + +

+ + + +
/var/SSban_cacheSubsystem that batches a ban cache list for clients on initialize +This way we don't need to do ban checks in series later in the code
+ + + diff --git a/code/controllers/subsystem/chat.html b/code/controllers/subsystem/chat.html new file mode 100644 index 00000000000..a4dc98893c0 --- /dev/null +++ b/code/controllers/subsystem/chat.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/chat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/chat.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/controllers/subsystem/discord.html b/code/controllers/subsystem/discord.html new file mode 100644 index 00000000000..48666947e3b --- /dev/null +++ b/code/controllers/subsystem/discord.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/discord.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/discord.dm + +

+ + + +
/var/SSdiscord
+ + + diff --git a/code/controllers/subsystem/dynamic.html b/code/controllers/subsystem/dynamic.html new file mode 100644 index 00000000000..03b7389435f --- /dev/null +++ b/code/controllers/subsystem/dynamic.html @@ -0,0 +1,208 @@ + + + + + + + code/controllers/subsystem/dynamic/readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Dynamic Mode + +

+ + +
Roundstart +

Dynamic rolls threat based on a special sauce formula:

+
+

[dynamic_curve_width][/datum/controller/global_vars/var/dynamic_curve_width] * tan((3.1416 * (rand() - 0.5) * 57.2957795)) + [dynamic_curve_centre][/datum/controller/global_vars/var/dynamic_curve_centre]

+
+

This threat is split into two separate budgets--round_start_budget and mid_round_budget. For example, a round with 50 threat might be split into a 30 roundstart budget, and a 20 midround budget. The roundstart budget is used to apply antagonists applied on readied players when the roundstarts (/datum/dynamic_ruleset/roundstart). The midround budget is used for two types of rulesets:

+
    +
  • /datum/dynamic_ruleset/midround - Rulesets that apply to either existing alive players, or to ghosts. Think Blob or Space Ninja, which poll ghosts asking if they want to play as these roles.
  • +
  • /datum/dynamic_ruleset/latejoin - Rulesets that apply to the next player that joins. Think Syndicate Infiltrator, which converts a player just joining an existing round into traitor.
  • +
+

This split is done with a similar method, known as the "lorentz distribution", exists to create a bell curve that ensures that while most rounds will have a threat level around ~50, chaotic and tame rounds still exist for variety.

+

The process of creating these numbers occurs in /datum/controller/subsystem/dynamic/proc/generate_threat (for creating the threat level) and /datum/controller/subsystem/dynamic/proc/generate_budgets (for splitting the threat level into budgets).

+Deciding roundstart threats +

In /datum/controller/subsystem/dynamic/proc/roundstart() (called when no admin chooses the rulesets explicitly), Dynamic uses the available roundstart budget to pick threats. This is done through the following system:

+
    +
  • All roundstart rulesets (remember, /datum/dynamic_ruleset/roundstart) are put into an associative list with their weight as the values (drafted_rules).
  • +
  • Until there is either no roundstart budget left, or until there is no ruleset we can choose from with the available threat, a pickweight is done based on the drafted_rules. If the same threat is picked twice, it will "scale up". The meaning of this depends on the ruleset itself, using the scaled_times variable; traitors for instance will create more the higher they scale. +
      +
    • If a ruleset is chosen with the HIGH_IMPACT_RULESET in its flags, then all other HIGH_IMPACT_RULESETs will be removed from drafted_rules. This is so that only one can ever be chosen.
    • +
    • If a ruleset has LONE_RULESET in its flags, then it will be removed from drafted_rules. This is to ensure it will only ever be picked once. An example of this in use is Wizard, to avoid creating multiple wizards.
    • +
    +
  • +
  • After all roundstart threats are chosen, /datum/dynamic_ruleset/proc/picking_roundstart_rule is called for each, passing in the ruleset and the number of times it is scaled. +
      +
    • In this stage, pre_execute is called, which is the function that will determine what players get what antagonists. If this function returns FALSE for whatever reason (in the case of an error), then its threat is refunded.
    • +
    +
  • +
+

After this process is done, any leftover roundstart threat will be given to the existing midround budget (done in /datum/controller/subsystem/dynamic/pre_setup()).

+Deciding midround threatsFrequency +

The frequency of midround threats is based on the midround threat of the round. The number of midround threats that will roll is threat_level / threat_per_midround_roll (configurable), rounded up. For example, if threat_per_midround_roll is set to 5, then for every 5 threat, one midround roll will be added. If you have 6 threat, with this configuration, you will get 2 midround rolls.

+

These midround roll points are then equidistantly spaced across the round, starting from midround_lower_bound (configurable) to midround_upper_bound (configurable), with a +/- of midround_roll_distance (configurable).

+

For example, if:

+
    +
  1. midround_lower_bound is 10 MINUTES
  2. +
  3. midround_upper_bound is 100 MINUTES
  4. +
  5. midround_roll_distance is 3 MINUTES
  6. +
  7. You have 5 midround rolls for the round
  8. +
+

...then those 5 midround rolls will be placed equidistantly (meaning equally apart) across the first 10-100 minutes of the round. Every individual roll will then be adjusted to either be 3 minutes earlier, or 3 minutes later.

+Threat variety +

Threats are split between heavy rulesets and light rulesets. A heavy ruleset includes major threats like space dragons or blobs, while light rulesets are ones that don't often cause shuttle calls when rolled, such as revenants or traitors (sleeper agents).

+

When a midround roll occurs, the decision to choose between light or heavy depends on the current round time. If it is less than midround_light_upper_bound (configurable), then it is guaranteed to be a light ruleset. If it is more than midround_heavy_lower_bound, then it is guaranteed to be a heavy ruleset. If it is any point in between, it will interpolate the value between those. This means that the longer the round goes on, the more likely you are to get a heavy ruleset.

+

If no heavy ruleset can run, such as not having enough threat, then a light ruleset is guaranteed to run.

+Rule Processing +

Calls rule_process on every rule which is in the current_rules list. +Every sixty seconds, update_playercounts() +Midround injection time is checked against world.time to see if an injection should happen. +If midround injection time is lower than world.time, it updates playercounts again, then tries to inject and generates a new cooldown regardless of whether a rule is picked.

+Latejoin +

make_antag_chance(newPlayer) -> (For each latespawn rule...) +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +**If true, add to drafted rules +**NOTE that acceptable uses threat_level not threat! +**NOTE Latejoin timer is ONLY reset if at least one rule was drafted. +**NOTE the new_player.dm AttemptLateSpawn() calls OnPostSetup for all roles (unless assigned role is MODE)

+

(After collecting all draftble rules...) +-> picking_latejoin_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+Midround +

process() -> (For each midround rule... +-> acceptable(living players, threat_level) -> trim_candidates() -> ready(forced=FALSE) +(After collecting all draftble rules...) +-> picking_midround_ruleset(drafted_rules) -> spend threat -> ruleset.execute()

+Forced +

For latejoin, it simply sets forced_latejoin_rule +make_antag_chance(newPlayer) -> trim_candidates() -> ready(forced=TRUE) **NOTE no acceptable() call

+

For midround, calls the below proc with forced = TRUE +picking_specific_rule(ruletype,forced) -> forced OR acceptable(living_players, threat_level) -> trim_candidates() -> ready(forced) -> spend threat -> execute() +**NOTE specific rule can be called by RS traitor->MR autotraitor w/ forced=FALSE +**NOTE that due to short circuiting acceptable() need not be called if forced.

+Ruleset +

acceptable(population,threat) just checks if enough threat_level for population indice. +**NOTE that we currently only send threat_level as the second arg, not threat. +ready(forced) checks if enough candidates and calls the map's map_ruleset(dynamic_ruleset) at the parent level

+

trim_candidates() varies significantly according to the ruleset type +Roundstart: All candidates are new_player mobs. Check them for standard stuff: connected, desire role, not banned, etc. +**NOTE Roundstart deals with both candidates (trimmed list of valid players) and mode.candidates (everyone readied up). Don't confuse them! +Latejoin: Only one candidate, the latejoiner. Standard checks. +Midround: Instead of building a single list candidates, candidates contains four lists: living, dead, observing, and living antags. Standard checks in trim_list(list).

+

Midround - Rulesets have additional types +/from_ghosts: execute() -> send_applications() -> review_applications() -> finish_applications() -> finish_setup(mob/newcharacter, index) -> setup_role(role) +**NOTE: execute() here adds dead players and observers to candidates list

+Configuration and variablesConfiguration +

Configuration can be done through a config/dynamic.json file. One is provided as example in the codebase. This config file, loaded in /datum/controller/subsystem/dynamic/pre_setup(), directly overrides the values in the codebase, and so is perfect for making some rulesets harder/easier to get, turning them off completely, changing how much they cost, etc.

+

The format of this file is:

+
{
+	"Dynamic": {
+		/* Configuration in here will directly override `/datum/controller/subsystem/dynamic` itself. */
+		/* Keys are variable names, values are their new values. */
+	},
+
+	"Roundstart": {
+		/* Configuration in here will apply to `/datum/dynamic_ruleset/roundstart` instances. */
+		/* Keys are the ruleset names, values are another associative list with keys being variable names and values being new values. */
+		"Wizard": {
+			/* I, a head admin, have died to wizard, and so I made it cost a lot more threat than it does in the codebase. */
+			"cost": 80
+		}
+	},
+
+	"Midround": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/midround` instead. */
+	},
+
+	"Latejoin": {
+		/* Same as "Roundstart", but for `/datum/dynamic_ruleset/latejoin` instead. */
+	},
+
+	"Station": {
+		/* Special threat reductions for dangerous station traits. Traits are selected before dynamic, so traits will always  */
+		/* reduce threat even if there's no threat for it available. Only "cost" can be modified */
+	}
+}
+
+

Note: Comments are not possible in this format, and are just in this document for the sake of readability.

+Rulesets +

Rulesets have the following variables notable to developers and those interested in tuning.

+
    +
  • required_candidates - The number of people that must be willing (in their preferences) to be an antagonist with this ruleset. If the candidates do not meet this requirement, then the ruleset will not bother to be drafted.
  • +
  • antag_cap - Judges the amount of antagonists to apply, for both solo and teams. Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. If written as a linear equation, will be in the form of list("denominator" = denominator, "offset" = offset). +
      +
    • Examples include: +
        +
      • Traitor: antag_cap = list("denominator" = 24). This means that for every 24 players, 1 traitor will be added (assuming no scaling).
      • +
      • Nuclear Emergency: antag_cap = list("denominator" = 18, "offset" = 1). For every 18 players, 1 nuke op will be added. Starts at 1, meaning at 30 players, 3 nuke ops will be created, rather than 2.
      • +
      • Revolution: antag_cap = 3. There will always be 3 rev-heads, no matter what.
      • +
      +
    • +
    +
  • +
  • minimum_required_age - The minimum age in order to apply for the ruleset.
  • +
  • weight - How likely this ruleset is to be picked. A higher weight results in a higher chance of drafting.
  • +
  • cost - The initial cost of the ruleset. This cost is taken from either the roundstart or midround budget, depending on the ruleset.
  • +
  • scaling_cost - Cost for every additional application of this ruleset. +
      +
    • Suppose traitors has a cost of 8, and a scaling_cost of 5. This means that buying 1 application of the traitor ruleset costs 8 threat, but buying two costs 13 (8 + 5). Buying it a third time is 18 (8 + 5 + 5), etc.
    • +
    +
  • +
  • pop_per_requirement - The range of population each value in requirements represents. By default, this is 6. +
      +
    • If the value is five the range is 0-4, 5-9, 10-14, 15-19, 20-24, 25-29, 30-34, 35-39, 40-54, 45+.
    • +
    • If it is six the range is 0-5, 6-11, 12-17, 18-23, 24-29, 30-35, 36-41, 42-47, 48-53, 54+.
    • +
    • If it is seven the range is 0-6, 7-13, 14-20, 21-27, 28-34, 35-41, 42-48, 49-55, 56-62, 63+.
    • +
    +
  • +
  • requirements - A list that represents, per population range (see: pop_per_requirement), how much threat is required to consider this ruleset. This is independent of how much it'll actually cost. This uses threat level, not the budget--meaning if a round has 50 threat level, but only 10 points of round start threat, a ruleset with a requirement of 40 can still be picked if it can be bought. +
      +
    • Suppose wizard has a requirements of list(90,90,70,40,30,20,10,10,10,10). This means that, at 0-5 and 6-11 players, A station must have 90 threat in order for a wizard to be possible. At 12-17, 70 threat is required instead, etc.
    • +
    +
  • +
  • restricted_roles - A list of jobs that can't be drafted by this ruleset. For example, cyborgs cannot be changelings, and so are in the restricted_roles.
  • +
  • protected_roles - Serves the same purpose of restricted_roles, except it can be turned off through configuration (protect_roles_from_antagonist). For example, security officers shouldn't be made traitor, so they are in Traitor's protected_roles. +
      +
    • When considering putting a role in protected_roles or restricted_roles, the rule of thumb is if it is technically infeasible to support that job in that role. There's no technical reason a security officer can't be a traitor, and so they are simply in protected_roles. There are technical reasons a cyborg can't be a changeling, so they are in restricted_roles instead.
    • +
    +
  • +
+

This is not a complete list--search "configurable" in this README to learn more.

+Dynamic +

The "Dynamic" key has the following configurable values:

+
    +
  • pop_per_requirement - The default value of pop_per_requirement for any ruleset that does not explicitly set it. Defaults to 6.
  • +
  • latejoin_delay_min, latejoin_delay_max - The time range, in deciseconds (take your seconds, and multiply by 10), for a latejoin to attempt rolling. Once this timer is finished, a new one will be created within the same range. +
      +
    • Suppose you have a latejoin_delay_min of 600 (60 seconds, 1 minute) and a latejoin_delay_max of 1800 (180 seconds, 3 minutes). Once the round starts, a random number in this range will be picked--let's suppose 1.5 minutes. After 1.5 minutes, Dynamic will decide if a latejoin threat should be created (a probability of /datum/controller/subsystem/dynamic/proc/get_injection_chance()). Regardless of its decision, a new timer will be started within the range of 1 to 3 minutes, repeatedly.
    • +
    +
  • +
  • threat_curve_centre - A number between -5 and +5. A negative value will give a more peaceful round and a positive value will give a round with higher threat.
  • +
  • threat_curve_width - A number between 0.5 and 4. Higher value will favour extreme rounds and lower value rounds closer to the average.
  • +
  • roundstart_split_curve_centre - A number between -5 and +5. Equivalent to threat_curve_centre, but for the budget split. A negative value will weigh towards midround rulesets, and a positive value will weight towards roundstart ones.
  • +
  • roundstart_split_curve_width - A number between 0.5 and 4. Equivalent to threat_curve_width, but for the budget split. Higher value will favour more variance in splits and lower value rounds closer to the average.
  • +
  • random_event_hijack_minimum - The minimum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • random_event_hijack_maximum - The maximum amount of time for antag random events to be hijacked. (See Random Event Hijacking)
  • +
  • hijacked_random_event_injection_chance - The amount of injection chance to give to Dynamic when a random event is hijacked. (See Random Event Hijacking)
  • +
  • max_threat_level - Sets the maximum amount of threat that can be rolled. Defaults to 100. You should only use this to lower the maximum threat, as raising it higher will not do anything.
  • +
+Random Event "Hijacking" +

Random events have the potential to be hijacked by Dynamic to keep the pace of midround injections, while also allowing greenshifts to contain some antagonists.

+

/datum/round_event_control/dynamic_should_hijack is a variable to random events to allow Dynamic to hijack them, and defaults to FALSE. This is set to TRUE for random events that spawn antagonists.

+

In /datum/controller/subsystem/dynamic/on_pre_random_event (in dynamic_hijacking.dm), Dynamic hooks to random events. If the dynamic_should_hijack variable is TRUE, the following sequence of events occurs:

+

Flow chart to describe the chain of events for Dynamic 2021 to take

+

n is a random value between random_event_hijack_minimum and random_event_hijack_maximum. Heavy injection chance, should it need to be raised, is increased by hijacked_random_event_injection_chance_modifier.

+ + + diff --git a/code/controllers/subsystem/dynamic/dynamic.html b/code/controllers/subsystem/dynamic/dynamic.html new file mode 100644 index 00000000000..f79230e0f86 --- /dev/null +++ b/code/controllers/subsystem/dynamic/dynamic.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/dynamic/dynamic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/dynamic/dynamic.dm + +

+ + + +
/proc/reopen_roundstart_suicide_rolesWithout these, the amount won't come close to hitting 0% or 100% of the max threat.
+ + + diff --git a/code/controllers/subsystem/dynamic/dynamic_logging.html b/code/controllers/subsystem/dynamic/dynamic_logging.html new file mode 100644 index 00000000000..4b2f0d1140b --- /dev/null +++ b/code/controllers/subsystem/dynamic/dynamic_logging.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/dynamic/dynamic_logging.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/dynamic/dynamic_logging.dm + +

+ + + +
/datum/dynamic_snapshotA "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.
/datum/dynamic_snapshot_rulesetA ruleset chosen during a snapshot
+ + + diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.html b/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.html new file mode 100644 index 00000000000..4168630f263 --- /dev/null +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/dynamic/dynamic_rulesets_latejoin.dm + +

+ + +
/datum/dynamic_ruleset/latejoin/stowaway_changelingRuleset for latejoin changelings
+ + + diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.html b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.html new file mode 100644 index 00000000000..ecf1c78c3a1 --- /dev/null +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_midround.html @@ -0,0 +1,57 @@ + + + + + + + code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/dynamic/dynamic_rulesets_midround.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
MALF_ION_PROBProbability the AI going malf will be accompanied by an ion storm announcement and some ion laws.
REPLACE_LAW_WITH_ION_PROBThe probability to replace an existing law with an ion law instead of adding a new ion law.
/datum/dynamic_ruleset/midroundMidround Rulesets
/datum/dynamic_ruleset/midround/from_livingsubtype to handle checking players
/datum/dynamic_ruleset/midround/from_living/autotraitorMidround Traitor Ruleset (From Living)
/datum/dynamic_ruleset/midround/malfMidround Malf AI Ruleset (From Living)
/datum/dynamic_ruleset/midround/from_ghosts/wizardMidround Wizard Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/nuclearMidround Nuclear Operatives Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/blobMidround Blob Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_living/blob_infectionMidround Blob Infection Ruleset (From Living)
/datum/dynamic_ruleset/midround/from_ghosts/xenomorphMidround Xenomorph Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/nightmareMidround Nightmare Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/space_dragonMidround Space Dragon Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/space_ninjaMidround Space Ninja Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/spidersMidround Spiders Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/revenantMidround Revenant Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/sentient_diseaseMidround Sentient Disease Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/piratesMidround Space Pirates Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/dangerous_piratesDangerous Space Pirates ruleset
/datum/dynamic_ruleset/midround/from_living/obsessedMidround Obsessed Ruleset (From Living)
/datum/dynamic_ruleset/midround/from_ghosts/changeling_midroundMidround Space Changeling Ruleset (From Ghosts)
/datum/dynamic_ruleset/midround/from_ghosts/paradox_cloneMidround Paradox Clone Ruleset (From Ghosts)

Define Details

+

MALF_ION_PROB + + +

+

Probability the AI going malf will be accompanied by an ion storm announcement and some ion laws.

REPLACE_LAW_WITH_ION_PROB + + +

+

The probability to replace an existing law with an ion law instead of adding a new ion law.

+ + + diff --git a/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.html b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.html new file mode 100644 index 00000000000..807d7cddd17 --- /dev/null +++ b/code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/dynamic/dynamic_rulesets_roundstart.dm + +

+ + +
/datum/dynamic_ruleset/roundstart/nationsRuleset for Nations
+ + + diff --git a/code/controllers/subsystem/early_assets.html b/code/controllers/subsystem/early_assets.html new file mode 100644 index 00000000000..278ab2086de --- /dev/null +++ b/code/controllers/subsystem/early_assets.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/early_assets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/early_assets.dm + +

+ + + +
/var/SSearly_assetsInitializes any assets that need to be loaded ASAP. +This houses preference menu assets, since they can be loaded at any time, +most dangerously before the atoms SS initializes. +Thus, we want it to fail consistently in CI as if it would've if a player +opened it up early.
+ + + diff --git a/code/controllers/subsystem/economy.html b/code/controllers/subsystem/economy.html new file mode 100644 index 00000000000..bff385f0c39 --- /dev/null +++ b/code/controllers/subsystem/economy.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/economy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/economy.dm + +

+ + +
ECON_DEPARTMENT_STEPProcessing step defines, to track what we've done so far

Define Details

+

ECON_DEPARTMENT_STEP + + +

+

Processing step defines, to track what we've done so far

+ + + diff --git a/code/controllers/subsystem/eigenstate.html b/code/controllers/subsystem/eigenstate.html new file mode 100644 index 00000000000..3fc5e3b7ffe --- /dev/null +++ b/code/controllers/subsystem/eigenstate.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/eigenstate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/eigenstate.dm + +

+ + + +
/var/SSeigenstatesSubsystem used to teleport people to a linked web of itterative entries. If one entry is deleted, the 2 around it will forge a link instead.
+ + + diff --git a/code/controllers/subsystem/events.html b/code/controllers/subsystem/events.html new file mode 100644 index 00000000000..e69b43db04a --- /dev/null +++ b/code/controllers/subsystem/events.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/events.dm + +

+ + + + + +
/proc/check_holidaysChecks that the passed holiday is located in the global holidays list.
/proc/fill_holidaysFills the holidays list if applicable, or leaves it an empty list.
+ + + diff --git a/code/controllers/subsystem/explosions.html b/code/controllers/subsystem/explosions.html new file mode 100644 index 00000000000..5bee607289b --- /dev/null +++ b/code/controllers/subsystem/explosions.html @@ -0,0 +1,96 @@ + + + + + + + code/controllers/subsystem/explosions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/explosions.dm + +

+ + + + + + + + + + + + + + + + + + + +
/proc/dyn_explosionUsing default dyn_ex scale:
/proc/explosionMakes a given atom explode.
QUAKE_CREAK_PROBThe probability that a quaking explosion will make the station creak per unit. Maths!
ECHO_CREAK_PROBThe probability that an echoing explosion will make the station creak per unit.
CREAK_DELAYTime taken for the hull to begin to creak after an explosion, if applicable.
FAR_LOWERLower limit for far explosion SFX volume.
FAR_UPPERUpper limit for far explosion SFX volume.
FAR_SOUND_PROBThe probability that a distant explosion SFX will be a far explosion sound rather than an echo. (0-100)
NEAR_SHAKE_CAPThe upper limit on screenshake amplitude for nearby explosions.
FAR_SHAKE_CAPThe upper limit on screenshake amplifude for distant explosions.
NEAR_SHAKE_DURATIONThe duration of the screenshake for nearby explosions.
FAR_SHAKE_DURATIONThe duration of the screenshake for distant explosions.
FREQ_LOWERThe lower limit for the randomly selected hull creaking frequency.
FREQ_UPPERThe upper limit for the randomly selected hull creaking frequency.
/proc/prepare_explosion_turfsReturns a list of turfs in X range from the epicenter +Returns in a unique order, spiraling outwards +This is done to ensure our progressive cache of blast resistance is always valid +This is quite fast

Define Details

+

CREAK_DELAY + + +

+

Time taken for the hull to begin to creak after an explosion, if applicable.

ECHO_CREAK_PROB + + +

+

The probability that an echoing explosion will make the station creak per unit.

FAR_LOWER + + +

+

Lower limit for far explosion SFX volume.

FAR_SHAKE_CAP + + +

+

The upper limit on screenshake amplifude for distant explosions.

FAR_SHAKE_DURATION + + +

+

The duration of the screenshake for distant explosions.

FAR_SOUND_PROB + + +

+

The probability that a distant explosion SFX will be a far explosion sound rather than an echo. (0-100)

FAR_UPPER + + +

+

Upper limit for far explosion SFX volume.

FREQ_LOWER + + +

+

The lower limit for the randomly selected hull creaking frequency.

FREQ_UPPER + + +

+

The upper limit for the randomly selected hull creaking frequency.

NEAR_SHAKE_CAP + + +

+

The upper limit on screenshake amplitude for nearby explosions.

NEAR_SHAKE_DURATION + + +

+

The duration of the screenshake for nearby explosions.

QUAKE_CREAK_PROB + + +

+

The probability that a quaking explosion will make the station creak per unit. Maths!

+ + + diff --git a/code/controllers/subsystem/fluids.html b/code/controllers/subsystem/fluids.html new file mode 100644 index 00000000000..a6fdcd2b327 --- /dev/null +++ b/code/controllers/subsystem/fluids.html @@ -0,0 +1,43 @@ + + + + + + + code/controllers/subsystem/fluids.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/fluids.dm + +

+ + + + + + + + + +
SS_PROCESSES_SPREADINGIndicates that a fluid subsystem processes fluid spreading.
SS_PROCESSES_EFFECTSIndicates that a fluid subsystem processes fluid effects.
/var/SSfluidsThrowing only becomes acceptable after the explosions process, so we don't miss stuff that explosions GENERATE
/var/SSsmokeThe subsystem responsible for processing smoke propagation and effects.
/var/SSfoamThe subsystem responsible for processing foam propagation and effects.

Define Details

+

SS_PROCESSES_EFFECTS + + +

+

Indicates that a fluid subsystem processes fluid effects.

SS_PROCESSES_SPREADING + + +

+

Indicates that a fluid subsystem processes fluid spreading.

+ + + diff --git a/code/controllers/subsystem/garbage.html b/code/controllers/subsystem/garbage.html new file mode 100644 index 00000000000..d22e9481bd9 --- /dev/null +++ b/code/controllers/subsystem/garbage.html @@ -0,0 +1,57 @@ + + + + + + + code/controllers/subsystem/garbage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/garbage.dm + +

+ + + + + + +
Debugging GC issues +

In order to debug qdel() failures, there are several tools available. +To enable these tools, define TESTING in _compile_options.dm.

+

First is a verb called "Find References", which lists every refererence to an object in the world. This allows you to track down any indirect or obfuscated references that you might have missed.

+

Complementing this is another verb, "qdel() then Find References". +This does exactly what you'd expect; it calls qdel() on the object and then it finds all references remaining. +This is great, because it means that Destroy() will have been called before it starts to find references, +so the only references you'll find will be the ones preventing the object from qdel()ing gracefully.

+

If you have a datum or something you are not destroying directly (say via the singulo), +the next tool is QDEL_HINT_FINDREFERENCE. You can return this in Destroy() (where you would normally return ..()), +to print a list of references once it enters the GC queue.

+

Finally is a verb, "Show qdel() Log", which shows the deletion log that the garbage subsystem keeps. This is helpful if you are having race conditions or need to review the order of deletions.

+

Note that for any of these tools to work TESTING must be defined. +By using these methods of finding references, you can make your life far, far easier when dealing with qdel() failures.

/datum/qdel_itemQdel Item: Holds statistics on each type that passes thru qdel +Holds the type as a string for this type +Total number of times it's passed thru qdel. +Total amount of milliseconds spent processing this type's Destroy() +Times it was queued for soft deletion but failed to soft delete. +Different from failures because it also includes QDEL_HINT_HARDDEL deletions +Total amount of milliseconds spent hard deleting this type. +Highest time spent hard_deleting this in ms. +Number of times hard deletes took longer than the configured threshold +Number of times it's not respected force=TRUE +Number of times it's not even bother to give a qdel hint +Number of times it's slept in its destroy +Flags related to this type's trip thru qdel.

Lazylist of string metadata about the deleted objects

+
/proc/qdelShould be treated as a replacement for the 'del' keyword.
+ + + diff --git a/code/controllers/subsystem/id_access.html b/code/controllers/subsystem/id_access.html new file mode 100644 index 00000000000..e619ee73e8e --- /dev/null +++ b/code/controllers/subsystem/id_access.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/id_access.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/id_access.dm + +

+ + + +
/var/SSid_accessNon-processing subsystem that holds various procs and data structures to manage ID cards, trims and access.
+ + + diff --git a/code/controllers/subsystem/init_profiler.html b/code/controllers/subsystem/init_profiler.html new file mode 100644 index 00000000000..81e9aa2a251 --- /dev/null +++ b/code/controllers/subsystem/init_profiler.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/init_profiler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/init_profiler.dm + +

+ + + +
/var/SSinit_profilerSubsystem exists so we can separately log init time costs from the costs of general operation +Hopefully this makes sorting out what causes problems when easier
+ + + diff --git a/code/controllers/subsystem/lag_switch.html b/code/controllers/subsystem/lag_switch.html new file mode 100644 index 00000000000..3fb2a5de384 --- /dev/null +++ b/code/controllers/subsystem/lag_switch.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/lag_switch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/lag_switch.dm + +

+ + + +
/var/SSlag_switchThe subsystem for controlling drastic performance enhancements aimed at reducing server load for a smoother albeit slightly duller gaming experience
+ + + diff --git a/code/controllers/subsystem/library.html b/code/controllers/subsystem/library.html new file mode 100644 index 00000000000..4b4a038e6d2 --- /dev/null +++ b/code/controllers/subsystem/library.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/library.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/library.dm + +

+ + + +
/var/SSlibraryManages library data, loading bookselves, etc
+ + + diff --git a/code/controllers/subsystem/materials.html b/code/controllers/subsystem/materials.html new file mode 100644 index 00000000000..cd465a5a741 --- /dev/null +++ b/code/controllers/subsystem/materials.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/materials.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/materials.dm + +

+ + +

How material datums work +Materials are now instanced datums, with an associative list of them being kept in SSmaterials. We only instance the materials once and then re-use these instances for everything.

+

These materials call on_applied() on whatever item they are applied to, common effects are adding components, changing color and changing description. This allows us to differentiate items based on the material they are made out of.area

+ + + diff --git a/code/controllers/subsystem/minor_mapping.html b/code/controllers/subsystem/minor_mapping.html new file mode 100644 index 00000000000..ab6868da3ec --- /dev/null +++ b/code/controllers/subsystem/minor_mapping.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/minor_mapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/minor_mapping.dm + +

+ + + +
/proc/find_exposed_wiresList of areas where satchels should not be placed.
+ + + diff --git a/code/controllers/subsystem/modular_computers.html b/code/controllers/subsystem/modular_computers.html new file mode 100644 index 00000000000..42087f51d4f --- /dev/null +++ b/code/controllers/subsystem/modular_computers.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/modular_computers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/modular_computers.dm + +

+ + +
MAX_LOG_COUNTThe maximum amount of logs that can be generated before they start overwriting eachother.

Define Details

+

MAX_LOG_COUNT + + +

+

The maximum amount of logs that can be generated before they start overwriting eachother.

+ + + diff --git a/code/controllers/subsystem/mouse_entered.html b/code/controllers/subsystem/mouse_entered.html new file mode 100644 index 00000000000..05ad70ad253 --- /dev/null +++ b/code/controllers/subsystem/mouse_entered.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/mouse_entered.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/mouse_entered.dm + +

+ + + +
/var/SSmouse_enteredDefers MouseEntered inputs to only apply to the most recently hovered over atom in the tick
+ + + diff --git a/code/controllers/subsystem/movement/ai_movement.html b/code/controllers/subsystem/movement/ai_movement.html new file mode 100644 index 00000000000..9a24b179ac4 --- /dev/null +++ b/code/controllers/subsystem/movement/ai_movement.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/movement/ai_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/movement/ai_movement.dm + +

+ + + +
/var/SSai_movementThe subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances
+ + + diff --git a/code/controllers/subsystem/movement/cliff_falling.html b/code/controllers/subsystem/movement/cliff_falling.html new file mode 100644 index 00000000000..c8f66c88069 --- /dev/null +++ b/code/controllers/subsystem/movement/cliff_falling.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/movement/cliff_falling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/movement/cliff_falling.dm + +

+ + + +
/var/SScliff_fallingSubsystem to handle falling of off cliffs
+ + + diff --git a/code/controllers/subsystem/movement/hyperspace_drift.html b/code/controllers/subsystem/movement/hyperspace_drift.html new file mode 100644 index 00000000000..bded5145f54 --- /dev/null +++ b/code/controllers/subsystem/movement/hyperspace_drift.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/movement/hyperspace_drift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/movement/hyperspace_drift.dm + +

+ + + +
/var/SShyperspace_driftThis subsystem handles the hyperspace shuttle pull movement loops
+ + + diff --git a/code/controllers/subsystem/movement/move_handler.html b/code/controllers/subsystem/movement/move_handler.html new file mode 100644 index 00000000000..076ec26254c --- /dev/null +++ b/code/controllers/subsystem/movement/move_handler.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/movement/move_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/movement/move_handler.dm + +

+ + + + +
/var/SSmove_managerActs as a namespace for movement packet/type related procs
/datum/movement_packetA packet of information that describes the current state of a moving object
+ + + diff --git a/code/controllers/subsystem/movement/movement_types.html b/code/controllers/subsystem/movement/movement_types.html new file mode 100644 index 00000000000..da1a097e09e --- /dev/null +++ b/code/controllers/subsystem/movement/movement_types.html @@ -0,0 +1,45 @@ + + + + + + + code/controllers/subsystem/movement/movement_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/movement/movement_types.dm + +

+ + + + + + + + + + + + + +
/datum/move_loopTemplate class of the movement datums, handles the timing portion of the loops
/datum/move_loop/moveReplacement for walk()
/datum/move_loop/has_target/force_moveUsed for force-move loops
/datum/move_loop/has_target/dist_boundBase class of move_to and move_away, deals with the distance and target aspect of things
/datum/move_loop/has_target/dist_bound/move_toWrapper around walk_to()
/datum/move_loop/has_target/dist_bound/move_awayWrapper around walk_away()
/datum/move_loop/has_target/move_towardsUsed as a alternative to walk_towards
/datum/move_loop/has_target/move_towards_budgetThe actual implementation of walk_towards()
/datum/move_loop/freezeAs close as you can get to a "do-nothing" move loop, the pure intention of this is to absolutely resist all and any automated movement until the move loop times out.
/datum/move_loop/move_randThis isn't actually the same as walk_rand +Because walk_rand is really more like walk_to_rand +It appears to pick a spot outside of range, and move towards it, then pick a new spot, etc. +I can't actually replicate this on our side, because of how bad our pathfinding is, and cause I'm not totally sure I know what it's doing. +I can just implement a random-walk though
/datum/move_loop/move_to_randWrapper around step_rand
/datum/move_loop/disposal_holderDisposal holders need to move through a chain of pipes +Rather then through the world. This supports this +If this ever changes, get rid of this, add drift component like logic to the holder +And move them to move()
+ + + diff --git a/code/controllers/subsystem/overlays.html b/code/controllers/subsystem/overlays.html new file mode 100644 index 00000000000..dca8c4e6658 --- /dev/null +++ b/code/controllers/subsystem/overlays.html @@ -0,0 +1,36 @@ + + + + + + + code/controllers/subsystem/overlays.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/overlays.dm + +

+ + + + + + + + +
/proc/overlays2textConverts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get
/atomThe base type for nearly all physical objects in SS13
/proc/realize_appearance_queueTakes a list of appearnces, makes them mutable so they can be properly vv'd and inspected
/proc/diff_appearancesTakes two appearances as args, prints out, logs, and returns a text representation of their differences +Including suboverlays
+ + + diff --git a/code/controllers/subsystem/parallax.html b/code/controllers/subsystem/parallax.html new file mode 100644 index 00000000000..3282885a139 --- /dev/null +++ b/code/controllers/subsystem/parallax.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/parallax.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/parallax.dm + +

+ + +
PARALLAX_NONEDefine for the pickweight value where you get no parallax

Define Details

+

PARALLAX_NONE + + +

+

Define for the pickweight value where you get no parallax

+ + + diff --git a/code/controllers/subsystem/pathfinder.html b/code/controllers/subsystem/pathfinder.html new file mode 100644 index 00000000000..d43a8bbaf6a --- /dev/null +++ b/code/controllers/subsystem/pathfinder.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/pathfinder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/pathfinder.dm + +

+ + + + + +
/var/SSpathfinderQueues and manages JPS pathfinding steps
/proc/path_map_passalongWe generate a path for the passed in callbacks, and then pipe it over
+ + + diff --git a/code/controllers/subsystem/persistence/counter_delamination.html b/code/controllers/subsystem/persistence/counter_delamination.html new file mode 100644 index 00000000000..a43c002b802 --- /dev/null +++ b/code/controllers/subsystem/persistence/counter_delamination.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/persistence/counter_delamination.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/persistence/counter_delamination.dm + +

+ + +
DELAMINATION_COUNT_FILEPATHLocation where we save the information about how many rounds it has been since the engine blew up

Define Details

+

DELAMINATION_COUNT_FILEPATH + + +

+

Location where we save the information about how many rounds it has been since the engine blew up

+ + + diff --git a/code/controllers/subsystem/persistence/counter_tram_hits.html b/code/controllers/subsystem/persistence/counter_tram_hits.html new file mode 100644 index 00000000000..229038a2a07 --- /dev/null +++ b/code/controllers/subsystem/persistence/counter_tram_hits.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/persistence/counter_tram_hits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/persistence/counter_tram_hits.dm + +

+ + +
TRAM_COUNT_FILEPATHLocation where we save the information about how many times the tram hit on previous round

Define Details

+

TRAM_COUNT_FILEPATH + + +

+

Location where we save the information about how many times the tram hit on previous round

+ + + diff --git a/code/controllers/subsystem/persistence/trophies.html b/code/controllers/subsystem/persistence/trophies.html new file mode 100644 index 00000000000..f7c4d5569a1 --- /dev/null +++ b/code/controllers/subsystem/persistence/trophies.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/persistence/trophies.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/persistence/trophies.dm + +

+ + +
/datum/trophy_datatrophy data datum, for admin manipulation
+ + + diff --git a/code/controllers/subsystem/ping.html b/code/controllers/subsystem/ping.html new file mode 100644 index 00000000000..3800c8e693c --- /dev/null +++ b/code/controllers/subsystem/ping.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/ping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/ping.dm + +

+ + +

Copyright (c) 2022 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/controllers/subsystem/points_of_interest.html b/code/controllers/subsystem/points_of_interest.html new file mode 100644 index 00000000000..3914d208068 --- /dev/null +++ b/code/controllers/subsystem/points_of_interest.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/points_of_interest.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/points_of_interest.dm + +

+ + + + +
/var/SSpoints_of_interestSubsystem for managing all POIs.
/datum/point_of_interestSimple helper datum for points of interest.
+ + + diff --git a/code/controllers/subsystem/processing/acid.html b/code/controllers/subsystem/processing/acid.html new file mode 100644 index 00000000000..48b4d617683 --- /dev/null +++ b/code/controllers/subsystem/processing/acid.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/acid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/acid.dm + +

+ + + +
/var/SSacidThe subsystem used to tick /datum/component/acid instances.
+ + + diff --git a/code/controllers/subsystem/processing/ai_behaviors.html b/code/controllers/subsystem/processing/ai_behaviors.html new file mode 100644 index 00000000000..70788a329d3 --- /dev/null +++ b/code/controllers/subsystem/processing/ai_behaviors.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/ai_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/ai_behaviors.dm + +

+ + + +
/var/SSai_behaviorsThe subsystem used to tick /datum/ai_behavior instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS
+ + + diff --git a/code/controllers/subsystem/processing/aura_healing.html b/code/controllers/subsystem/processing/aura_healing.html new file mode 100644 index 00000000000..a73288c82a7 --- /dev/null +++ b/code/controllers/subsystem/processing/aura_healing.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/aura_healing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/aura_healing.dm + +

+ + + +
/var/SSaura_healingThe subsystem used to tick /datum/component/aura_healing instances.
+ + + diff --git a/code/controllers/subsystem/processing/clock_component.html b/code/controllers/subsystem/processing/clock_component.html new file mode 100644 index 00000000000..53f289468af --- /dev/null +++ b/code/controllers/subsystem/processing/clock_component.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/clock_component.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/clock_component.dm + +

+ + + +
/var/SSclock_componentThe subsystem used to tick /datum/component/acid instances.
+ + + diff --git a/code/controllers/subsystem/processing/digital_clock.html b/code/controllers/subsystem/processing/digital_clock.html new file mode 100644 index 00000000000..8ac8a03f23f --- /dev/null +++ b/code/controllers/subsystem/processing/digital_clock.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/digital_clock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/digital_clock.dm + +

+ + + +
/var/SSdigital_clockThe subsystem used to tick digital clocks
+ + + diff --git a/code/controllers/subsystem/processing/fire_burning.html b/code/controllers/subsystem/processing/fire_burning.html new file mode 100644 index 00000000000..317164795be --- /dev/null +++ b/code/controllers/subsystem/processing/fire_burning.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/fire_burning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/fire_burning.dm + +

+ + + +
/var/SSburningThe subsystem used to tick /datum/component/burning instances.
+ + + diff --git a/code/controllers/subsystem/processing/fishing.html b/code/controllers/subsystem/processing/fishing.html new file mode 100644 index 00000000000..b0f0ef5e776 --- /dev/null +++ b/code/controllers/subsystem/processing/fishing.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/processing/fishing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/fishing.dm + +

+ + + +
/var/SSfishingSo far, only used by the fishing minigame. Feel free to rename it to something like veryfastprocess +if you need one that fires 10 times a second
+ + + diff --git a/code/controllers/subsystem/processing/singulo.html b/code/controllers/subsystem/processing/singulo.html new file mode 100644 index 00000000000..55c67987df1 --- /dev/null +++ b/code/controllers/subsystem/processing/singulo.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/processing/singulo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/processing/singulo.dm + +

+ + + +
/var/SSsinguloprocessVery rare subsystem, provides any active singularities with the timings and seclusion they need to succeed
+ + + diff --git a/code/controllers/subsystem/radioactive_nebula.html b/code/controllers/subsystem/radioactive_nebula.html new file mode 100644 index 00000000000..875fa6a4617 --- /dev/null +++ b/code/controllers/subsystem/radioactive_nebula.html @@ -0,0 +1,34 @@ + + + + + + + code/controllers/subsystem/radioactive_nebula.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/radioactive_nebula.dm + +

+ + + + +
TRAIT_RADIOACTIVE_NEBULA_FAKE_IRRADIATEDTrait for tracking if something already has the fake irradiation effect, so we don't waste time on effect operations if otherwise unnecessary
/var/SSradioactive_nebulaControls making objects irradiated when Radioactive Nebula is in effect.

Define Details

+

TRAIT_RADIOACTIVE_NEBULA_FAKE_IRRADIATED + + +

+

Trait for tracking if something already has the fake irradiation effect, so we don't waste time on effect operations if otherwise unnecessary

+ + + diff --git a/code/controllers/subsystem/restaurant.html b/code/controllers/subsystem/restaurant.html new file mode 100644 index 00000000000..0ff196d1d89 --- /dev/null +++ b/code/controllers/subsystem/restaurant.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/restaurant.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/restaurant.dm + +

+ + +

This subsystem exists to serve as a holder for important info for the restaurant system for chef and bartender.

+ + + diff --git a/code/controllers/subsystem/shuttle.html b/code/controllers/subsystem/shuttle.html new file mode 100644 index 00000000000..876592ee6f4 --- /dev/null +++ b/code/controllers/subsystem/shuttle.html @@ -0,0 +1,39 @@ + + + + + + + code/controllers/subsystem/shuttle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/shuttle.dm + +

+ + + +
MAX_TRANSIT_TILE_COUNTHow many turfs to allow before we stop blocking transit requests
SOFT_TRANSIT_RESERVATION_THRESHOLDHow many turfs to allow before we start freeing up existing "soft reserved" transit docks +If we're under load we want to allow for cycling, but if not we want to preserve already generated docks for use

Define Details

+

MAX_TRANSIT_TILE_COUNT + + +

+

How many turfs to allow before we stop blocking transit requests

SOFT_TRANSIT_RESERVATION_THRESHOLD + + +

+

How many turfs to allow before we start freeing up existing "soft reserved" transit docks +If we're under load we want to allow for cycling, but if not we want to preserve already generated docks for use

+ + + diff --git a/code/controllers/subsystem/skills.html b/code/controllers/subsystem/skills.html new file mode 100644 index 00000000000..78bd2c37f61 --- /dev/null +++ b/code/controllers/subsystem/skills.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/skills.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/skills.dm + +

+ + +

This subsystem mostly exists to populate and manage the skill singletons.

+ + + diff --git a/code/controllers/subsystem/spatial_gridmap.html b/code/controllers/subsystem/spatial_gridmap.html new file mode 100644 index 00000000000..837fcd674c5 --- /dev/null +++ b/code/controllers/subsystem/spatial_gridmap.html @@ -0,0 +1,51 @@ + + + + + + + code/controllers/subsystem/spatial_gridmap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/spatial_gridmap.dm + +

+ + + + + + + +
NUMBER_OF_PREGENERATED_ORANGES_EARSthe subsystem creates this many /mob/oranges_ear mob instances during init. allocations that require more than this create more.
/datum/spatial_grid_cellused by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.
/var/SSspatial_grid
BOUNDING_BOX_MINthe left or bottom side index of a box composed of spatial grid cells with the given actual center x or y coordinate
BOUNDING_BOX_MAXthe right or upper side index of a box composed of spatial grid cells with the given center x or y coordinate. +outputted value cant exceed the number of cells on that axis

Define Details

+

BOUNDING_BOX_MAX + + + +

+

the right or upper side index of a box composed of spatial grid cells with the given center x or y coordinate. +outputted value cant exceed the number of cells on that axis

BOUNDING_BOX_MIN + + + +

+

the left or bottom side index of a box composed of spatial grid cells with the given actual center x or y coordinate

NUMBER_OF_PREGENERATED_ORANGES_EARS + + +

+

the subsystem creates this many /mob/oranges_ear mob instances during init. allocations that require more than this create more.

+ + + diff --git a/code/controllers/subsystem/speech_controller.html b/code/controllers/subsystem/speech_controller.html new file mode 100644 index 00000000000..2ab28d300c9 --- /dev/null +++ b/code/controllers/subsystem/speech_controller.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/speech_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/speech_controller.dm + +

+ + + +
/var/SSspeech_controllerverb_manager subsystem just for handling say's
+ + + diff --git a/code/controllers/subsystem/statpanel.html b/code/controllers/subsystem/statpanel.html new file mode 100644 index 00000000000..ef59dff4c95 --- /dev/null +++ b/code/controllers/subsystem/statpanel.html @@ -0,0 +1,29 @@ + + + + + + + code/controllers/subsystem/statpanel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/statpanel.dm + +

+ + +
/datum/object_window_infoDatum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration
+ + + diff --git a/code/controllers/subsystem/tgui.html b/code/controllers/subsystem/tgui.html new file mode 100644 index 00000000000..61ff53dd5fd --- /dev/null +++ b/code/controllers/subsystem/tgui.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/tgui.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/tgui.dm + +

+ + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/var/SStguitgui subsystem
+ + + diff --git a/code/controllers/subsystem/timer.html b/code/controllers/subsystem/timer.html new file mode 100644 index 00000000000..d099c0d6b34 --- /dev/null +++ b/code/controllers/subsystem/timer.html @@ -0,0 +1,63 @@ + + + + + + + code/controllers/subsystem/timer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/timer.dm + +

+ + + + + + + + + + + + + + + + +
BUCKET_LENControls how many buckets should be kept, each representing a tick. (1 minutes worth)
BUCKET_POSHelper for getting the correct bucket for a given timer
TIMER_MAXGets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue
TIMER_ID_MAXMax float with integer precision
/var/SStimer
/datum/timedeventThis is the actual timer, it contains the callback and necessary data to maintain +the timer.
/proc/_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
/proc/deltimerDelete a timer
/proc/timeleftGet the remaining deciseconds on a timer
/proc/updatetimedelayUpdate the delay on an existing LOOPING timer +Will come into effect on the next process

Define Details

+

BUCKET_LEN + + +

+

Controls how many buckets should be kept, each representing a tick. (1 minutes worth)

BUCKET_POS + + + +

+

Helper for getting the correct bucket for a given timer

TIMER_ID_MAX + + +

+

Max float with integer precision

TIMER_MAX + + + +

+

Gets the maximum time at which timers will be invoked from buckets, used for deferring to secondary queue

+ + + diff --git a/code/controllers/subsystem/tts.html b/code/controllers/subsystem/tts.html new file mode 100644 index 00000000000..8f57957de3b --- /dev/null +++ b/code/controllers/subsystem/tts.html @@ -0,0 +1,27 @@ + + + + + + + code/controllers/subsystem/tts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/tts.dm + +

+ + +
/datum/tts_requestA struct containing information on an individual player or mob who has made a TTS request
+ + + diff --git a/code/controllers/subsystem/tutorials.html b/code/controllers/subsystem/tutorials.html new file mode 100644 index 00000000000..7ac4ca964e0 --- /dev/null +++ b/code/controllers/subsystem/tutorials.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/tutorials.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/tutorials.dm + +

+ + + +
/var/SStutorialsNamespace for housing code relating to giving contextual tutorials to users.
+ + + diff --git a/code/controllers/subsystem/verb_manager.html b/code/controllers/subsystem/verb_manager.html new file mode 100644 index 00000000000..a1c8df8af68 --- /dev/null +++ b/code/controllers/subsystem/verb_manager.html @@ -0,0 +1,32 @@ + + + + + + + code/controllers/subsystem/verb_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/verb_manager.dm + +

+ + + + + +
/var/SSverb_managerSSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.
/proc/_queue_verbqueue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.
+ + + diff --git a/code/controllers/subsystem/vote.html b/code/controllers/subsystem/vote.html new file mode 100644 index 00000000000..bd72e266bcf --- /dev/null +++ b/code/controllers/subsystem/vote.html @@ -0,0 +1,34 @@ + + + + + + + code/controllers/subsystem/vote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/controllers/subsystem/vote.dm + +

+ + + +
vote_fontDefine to mimic a span macro but for the purple font that vote specifically uses.
/datum/action/voteDatum action given to mobs that allows players to vote on the current vote.

Define Details

+

vote_font + + + +

+

Define to mimic a span macro but for the purple font that vote specifically uses.

+ + + diff --git a/code/controllers/subsystem/wardrobe.html b/code/controllers/subsystem/wardrobe.html new file mode 100644 index 00000000000..5089d9c97fa --- /dev/null +++ b/code/controllers/subsystem/wardrobe.html @@ -0,0 +1,34 @@ + + + + + + + code/controllers/subsystem/wardrobe.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/wardrobe.dm + +

+ + + +
/var/SSwardrobeThis subsystem strives to make loading large amounts of select objects as smooth at execution as possible +It preloads a set of types to store, and caches them until requested +Doesn't catch everything mind, this is intentional. There's many types that expect to either +A: Not sit in a list for 2 hours, or B: have extra context passed into them, or for their parent to be their location +You should absolutely not spam this system, it will break things in new and wonderful ways +S close enough for government work though. +Fuck you goonstation
+ + + diff --git a/code/controllers/subsystem/weather.html b/code/controllers/subsystem/weather.html new file mode 100644 index 00000000000..4211af35870 --- /dev/null +++ b/code/controllers/subsystem/weather.html @@ -0,0 +1,28 @@ + + + + + + + code/controllers/subsystem/weather.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/weather.dm + +

+ + + +
/var/SSweatherUsed for all kinds of weather, ex. lavaland ash storms.
+ + + diff --git a/code/controllers/subsystem/wiremod_composite.html b/code/controllers/subsystem/wiremod_composite.html new file mode 100644 index 00000000000..bff23d51397 --- /dev/null +++ b/code/controllers/subsystem/wiremod_composite.html @@ -0,0 +1,30 @@ + + + + + + + code/controllers/subsystem/wiremod_composite.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/controllers/subsystem/wiremod_composite.dm + +

+ + + +
/var/SSwiremod_compositeThis subsystem is to handle creating and storing +composite templates that are used to create composite datatypes +for integrated circuits
+ + + diff --git a/code/datums/achievements/_achievement_data.html b/code/datums/achievements/_achievement_data.html new file mode 100644 index 00000000000..eab78f1dfbc --- /dev/null +++ b/code/datums/achievements/_achievement_data.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/achievements/_achievement_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/achievements/_achievement_data.dm + +

+ + +
/datum/achievement_dataDatum that handles
+ + + diff --git a/code/datums/achievements/_awards.html b/code/datums/achievements/_awards.html new file mode 100644 index 00000000000..29766e052ab --- /dev/null +++ b/code/datums/achievements/_awards.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/achievements/_awards.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/achievements/_awards.dm + +

+ + + + +
/datum/award/achievementAchievements are one-off awards for usually doing cool things.
/datum/award/scoreScores are for leaderboarded things, such as killcount of a specific boss
/datum/award/score/achievements_scoreDefining this here 'cause it's the first score a player should see in the Scores category.
+ + + diff --git a/code/datums/achievements/mafia_achievements.html b/code/datums/achievements/mafia_achievements.html new file mode 100644 index 00000000000..55ff015aad2 --- /dev/null +++ b/code/datums/achievements/mafia_achievements.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/achievements/mafia_achievements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/achievements/mafia_achievements.dm + +

+ + + +
/datum/award/achievement/mafia/assistantALL THE ACHIEVEMENTS FOR WINNING A ROUND AS A ROLE
/datum/award/achievement/mafia/universally_hatedALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES
+ + + diff --git a/code/datums/achievements/misc_scores.html b/code/datums/achievements/misc_scores.html new file mode 100644 index 00000000000..bc9c02f883c --- /dev/null +++ b/code/datums/achievements/misc_scores.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/achievements/misc_scores.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/achievements/misc_scores.dm + +

+ + + + + +
/datum/award/score/hardcore_randomHow many times did we survive being a cripple?
/datum/award/score/maintenance_pillHow many maintenance pills did you eat?
/datum/award/score/intento_scoreHow high of a score on the Intento did we get?
/datum/award/score/style_scoreWhat's the highest amount of style points we've gotten?
+ + + diff --git a/code/datums/actions/action.html b/code/datums/actions/action.html new file mode 100644 index 00000000000..4bc8fb0564c --- /dev/null +++ b/code/datums/actions/action.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/action.dm + +

+ + +
/datum/actionA simple base for an modular behavior attached to atom or datum.
+ + + diff --git a/code/datums/actions/cooldown_action.html b/code/datums/actions/cooldown_action.html new file mode 100644 index 00000000000..ca42418ef10 --- /dev/null +++ b/code/datums/actions/cooldown_action.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/cooldown_action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/cooldown_action.dm + +

+ + +
/datum/action/cooldownPreset for an action that has a cooldown.
+ + + diff --git a/code/datums/actions/items/stealth_box.html b/code/datums/actions/items/stealth_box.html new file mode 100644 index 00000000000..a1bb2eccb54 --- /dev/null +++ b/code/datums/actions/items/stealth_box.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/items/stealth_box.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/items/stealth_box.dm + +

+ + +
/datum/action/item_action/agent_boxMGS BOX!
+ + + diff --git a/code/datums/actions/mobs/assume_form.html b/code/datums/actions/mobs/assume_form.html new file mode 100644 index 00000000000..8169c89220c --- /dev/null +++ b/code/datums/actions/mobs/assume_form.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/actions/mobs/assume_form.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/mobs/assume_form.dm + +

+ + +
/datum/action/cooldown/mob_cooldown/assume_formAllows a mob to assume the form of another item or mob. +Warning, this will likely shit the bricks if you add this action to anything more sophisticated than a basic mob- this isn't built for anything carbon-wise.
+ + + diff --git a/code/datums/actions/mobs/defensive_mode.html b/code/datums/actions/mobs/defensive_mode.html new file mode 100644 index 00000000000..aeba5d135e7 --- /dev/null +++ b/code/datums/actions/mobs/defensive_mode.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/actions/mobs/defensive_mode.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/mobs/defensive_mode.dm + +

+ + +
/datum/action/cooldown/mob_cooldown/defensive_modeAn ability that allows the viper spider to get in an defensive mode at the cost of speed.
+ + + diff --git a/code/datums/actions/mobs/fire_breath.html b/code/datums/actions/mobs/fire_breath.html new file mode 100644 index 00000000000..e588f3b2210 --- /dev/null +++ b/code/datums/actions/mobs/fire_breath.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/actions/mobs/fire_breath.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/mobs/fire_breath.dm + +

+ + + +
/datum/action/cooldown/mob_cooldown/fire_breath/coneShoot three lines of fire in a sort of fork pattern approximating a cone
/datum/action/cooldown/mob_cooldown/fire_breath/mass_fireShoot fire in a whole bunch of directions
+ + + diff --git a/code/datums/actions/mobs/sign_language.html b/code/datums/actions/mobs/sign_language.html new file mode 100644 index 00000000000..2f215e3fc88 --- /dev/null +++ b/code/datums/actions/mobs/sign_language.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/actions/mobs/sign_language.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/actions/mobs/sign_language.dm + +

+ + +
/datum/action/innate/sign_languageAllows a Carbon to toggle sign language on/off. The button is invisible for mute Carbons. +Theory of Operation: +A. If TRAIT_SIGN_LANG is added/removed, and the button is visible, then update the button. +B. React to presence of trait TRAIT_MUTE for quality/convenience purposes: +C. If TRAIT_MUTE is added, then activate and hide the Action. +D. If TRAIT_MUTE is then removed, then show the Action.
+ + + diff --git a/code/datums/ai.html b/code/datums/ai.html new file mode 100644 index 00000000000..0b0dc05b370 --- /dev/null +++ b/code/datums/ai.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/ai/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

AI controllers + +

+ + +
Introduction +

Our AI controller system is an attempt at making it possible to create modularized AI that stores its behavior in datums, while keeping state and decision making in a controller. This allows a more versatile way of creating AI that doesn't rely on OOP as much, and doesn't clutter up the Life() code in Mobs.

+AI Controllers +

A datum that can be added to any atom in the game. Similarly to components, they might only support a given subtype (e.g. /mob/living), but the idea is that theoretically, you could apply a specific AI controller to a big a group of different types as possible and it would still work.

+

These datums handle both the normal movement of mobs, but also their decision making, deciding which actions they will take based on the checks you put into their SelectBehaviors proc.

+

If behaviors are selected, and the AI is in range, it will try to perform them. It runs all the behaviors it currently has in parallel; allowing for it to for example screech at someone while trying to attack them. As long as it has behaviors running, it will not try to generate new plans, making it not waste CPU when it already has an active goal.

+

They also hold data for any of the actions they might need to use, such as cooldowns, whether or not they're currently fighting, etcetera this is stored in the blackboard, more information on that below.

+Blackboard +

The blackboard is an associated list keyed with strings and with values of whatever you want. These store information the mob has such as "Am I attacking someone", "Do I have a weapon". By using an associated list like this, no data needs to be stored on the actions themselves, and you could make actions that work on multiple ai controllers if you so pleased by making the key to use a variable.

+AI Behavior +

AI behaviors are the actions an AI can take. These can range from "Do an emote" to "Attack this target until he is dead". They are singletons and should contain nothing but static data. Any dynamic data should be stored in the blackboard, to allow different controllers to use the same behaviors.

+Guides: +

Making Your AI: Quickly runs through how to make an ai controller for anything with a step by step development of one.

+ + + diff --git a/code/datums/ai/_ai_behavior.html b/code/datums/ai/_ai_behavior.html new file mode 100644 index 00000000000..e829eb2c6d4 --- /dev/null +++ b/code/datums/ai/_ai_behavior.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/_ai_behavior.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/_ai_behavior.dm + +

+ + +
/datum/ai_behaviorAbstract class for an action an AI can take, can range from movement to grabbing a nearby weapon.
+ + + diff --git a/code/datums/ai/_ai_controller.html b/code/datums/ai/_ai_controller.html new file mode 100644 index 00000000000..79e4719a287 --- /dev/null +++ b/code/datums/ai/_ai_controller.html @@ -0,0 +1,52 @@ + + + + + + + code/datums/ai/_ai_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/ai/_ai_controller.dm + +

+ + + + +
TRACK_AI_DATUM_TARGETUsed to manage references to datum by AI controllers
CLEAR_AI_DATUM_TARGETUsed to clear previously set reference handing by AI controllers
TRAIT_AI_TRACKINGUsed for above to track all the keys that have registered a signal

Define Details

+

CLEAR_AI_DATUM_TARGET + + + +

+

Used to clear previously set reference handing by AI controllers

+

TRACK_AI_DATUM_TARGET + + + +

+

Used to manage references to datum by AI controllers

+

TRAIT_AI_TRACKING + + +

+

Used for above to track all the keys that have registered a signal

+ + + diff --git a/code/datums/ai/_ai_planning_subtree.html b/code/datums/ai/_ai_planning_subtree.html new file mode 100644 index 00000000000..6ad71779dae --- /dev/null +++ b/code/datums/ai/_ai_planning_subtree.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/_ai_planning_subtree.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/_ai_planning_subtree.dm + +

+ + +
/datum/ai_planning_subtreeA subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself
+ + + diff --git a/code/datums/ai/_item_behaviors.html b/code/datums/ai/_item_behaviors.html new file mode 100644 index 00000000000..3b0241024dd --- /dev/null +++ b/code/datums/ai/_item_behaviors.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/_item_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/_item_behaviors.dm + +

+ + + +
/datum/ai_behavior/item_escape_graspThis behavior is for obj/items, it is used to free themselves out of the hands of whoever is holding them
/datum/ai_behavior/item_move_close_and_attackThis behavior is for obj/items, it is used to move closer to a target and throw themselves towards them.
+ + + diff --git a/code/datums/ai/babies/babies_behaviors.html b/code/datums/ai/babies/babies_behaviors.html new file mode 100644 index 00000000000..5514b2c2688 --- /dev/null +++ b/code/datums/ai/babies/babies_behaviors.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/babies/babies_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/babies/babies_behaviors.dm + +

+ + + +
/datum/ai_behavior/find_partnerFind a compatible, living partner, if we're also alone.
/datum/ai_behavior/make_babiesReproduce.
+ + + diff --git a/code/datums/ai/babies/babies_subtrees.html b/code/datums/ai/babies/babies_subtrees.html new file mode 100644 index 00000000000..0cd4d58ce87 --- /dev/null +++ b/code/datums/ai/babies/babies_subtrees.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/babies/babies_subtrees.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/babies/babies_subtrees.dm + +

+ + +
/datum/ai_planning_subtree/make_babiesReproduce with a similar mob.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html new file mode 100644 index 00000000000..d31a6bf2914 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm + +

+ + +
/datum/ai_behavior/befriend_targetbehavior to befriend any targets
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html new file mode 100644 index 00000000000..fb90429fe3c --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/nearest_targeting.dm + +

+ + + +
/datum/ai_behavior/find_potential_targets/nearestPicks targets based on which one is closest to you, choice between targets at equal distance is arbitrary
/datum/ai_behavior/target_from_retaliate_list/nearestAs above but targets have been filtered from the 'retaliate' blackboard list
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/pick_up_item.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/pick_up_item.html new file mode 100644 index 00000000000..6210d80f535 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/pick_up_item.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/pick_up_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/pick_up_item.dm + +

+ + +
/datum/ai_behavior/pick_up_itemSimple behaviour for picking up an item we are already in range of. +The blackboard storage key isn't very safe because it doesn't make sense to register signals in here. +Use the AI held item component to manage this.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html new file mode 100644 index 00000000000..bffaea17aff --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/run_away_from_target.dm + +

+ + +
/datum/ai_behavior/run_away_from_targetMove to a position further away from your current target
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/step_towards_turf.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/step_towards_turf.html new file mode 100644 index 00000000000..74c1b449df9 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/step_towards_turf.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/step_towards_turf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/step_towards_turf.dm + +

+ + + +
/datum/ai_behavior/step_towards_turfMoves a short distance towards a location repeatedly until you arrive at the destination. +You'd use this over travel_towards if you're travelling a long distance over a long time, because the AI controller has a maximum range.
/datum/ai_behavior/step_towards_turf/in_areaMoves a short distance towards a location in an area +Unlike step_towards_turf it will reacquire a new turf from the area if it loses its target
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html new file mode 100644 index 00000000000..cec401ded07 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/stop_and_stare.dm + +

+ + +
/datum/ai_behavior/stop_and_stareMakes a mob simply stop and stare at a movable... yea...
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.html new file mode 100644 index 00000000000..89aa0ea91a0 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/targeted_mob_ability.dm + +

+ + + + + +
/datum/ai_behavior/targeted_mob_abilityAttempts to use a mob's cooldown ability on a target
/datum/ai_behavior/targeted_mob_ability/and_plan_executeAttempts to use a mob's cooldown ability on a target and then move the target into a special target blackboard datum +Doesn't need another subtype to clear BB_BASIC_MOB_EXECUTION_TARGET because it will be the target key for the normal action
/datum/ai_behavior/targeted_mob_ability/and_clear_targetAttempts to use a mob's cooldown ability on a target and releases the target when the action completes
/datum/ai_behavior/targeted_mob_ability/min_rangeAttempts to move into the provided range and then use a mob's cooldown ability on a target
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html new file mode 100644 index 00000000000..cbfecbf99ab --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm + +

+ + +
/datum/ai_behavior/tipped_reactiontype of tipped reaction that is akin to puppy dog eyes
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html new file mode 100644 index 00000000000..27434cf6db7 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/travel_towards.dm + +

+ + + +
/datum/ai_behavior/travel_towardsMoves towards the atom in the passed blackboard key. +Planning continues during this action so it can be interrupted by higher priority actions.
/datum/ai_behavior/travel_towards_atomTravel towards an atom you pass directly from the controller rather than a blackboard key. +You might need to do this to avoid repeating some checks in both a controller and an action.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/ventcrawling.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/ventcrawling.html new file mode 100644 index 00000000000..0c9ef349339 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/ventcrawling.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/ventcrawling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/ventcrawling.dm + +

+ + +
/datum/ai_behavior/crawl_through_ventsWe hop into the vents through a vent outlet, and then crawl around a bit. Jolly good times. +This also assumes that we are on the turf that the vent outlet is on. If it isn't, shit. +Warning: this was really snowflake code lifted from an obscure feature that likely has not been touched for over five years years. +Something that isn't implemented is the ability to actually crawl through vents ourselves because I think that's just a waste of time for the same effect (instead of psuedo-teleportation, do REAL forceMoving) +If you are seriously considering using this component, it would be a great idea to extend this proc to be more versatile/less overpowered - the mobs that currently implement this benefit the most +since they are weak as shit with only five health. Up to you though, don't take what's written here as gospel.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/wounded_targeting.html b/code/datums/ai/basic_mobs/basic_ai_behaviors/wounded_targeting.html new file mode 100644 index 00000000000..b0809223801 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/wounded_targeting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_ai_behaviors/wounded_targeting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_ai_behaviors/wounded_targeting.dm + +

+ + +
/datum/ai_behavior/find_potential_targets/most_woundedPicks targets based on which one has the lowest health
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html b/code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html new file mode 100644 index 00000000000..207b43369d5 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/attack_adjacent_target.dm + +

+ + + +
/datum/ai_planning_subtree/basic_melee_attack_subtree/opportunisticAttack something which is already adjacent to us, without ending planning
/datum/ai_behavior/basic_melee_attack/opportunisticAttack something which is already adjacent to us without moving
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html b/code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html new file mode 100644 index 00000000000..026c7c10e94 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/attack_obstacle_in_path.dm + +

+ + + +
/datum/ai_planning_subtree/attack_obstacle_in_pathIf there's something between us and our target then we need to queue a behaviour to make it not be there
/datum/ai_behavior/attack_obstructionsSomething is in our way, get it outta here
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.html b/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.html new file mode 100644 index 00000000000..e6608ca2976 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/call_reinforcements.dm + +

+ + + +
/datum/ai_planning_subtree/call_reinforcementsCalls all nearby mobs that share a faction to give backup in combat
/datum/ai_behavior/call_reinforcementsCall out to all mobs in the specified range for help
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html new file mode 100644 index 00000000000..c5b83d5646d --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm + +

+ + + +
/datum/ai_planning_subtree/capricious_retaliateAdd or remove people to our retaliation shitlist just on an arbitrary whim
/datum/ai_behavior/capricious_retaliateAdd or remove people to our retaliation shitlist just on an arbitrary whim
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/find_food.html b/code/datums/ai/basic_mobs/basic_subtrees/find_food.html new file mode 100644 index 00000000000..0021ca507f5 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/find_food.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/find_food.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/find_food.dm + +

+ + +
/datum/ai_planning_subtree/find_foodsimilar to finding a target but looks for food types in the // the what?
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/flee_target.html b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.html new file mode 100644 index 00000000000..c4349f9706d --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/flee_target.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/flee_target.dm + +

+ + + +
/datum/ai_planning_subtree/flee_targetTry to escape from your current target, without performing any other actions.
/datum/ai_planning_subtree/flee_target/from_flee_keyTry to escape from your current target, without performing any other actions. +Reads from some fleeing-specific targeting keys rather than the current mob target.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/go_for_swim.html b/code/datums/ai/basic_mobs/basic_subtrees/go_for_swim.html new file mode 100644 index 00000000000..017977d3bf4 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/go_for_swim.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/go_for_swim.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/go_for_swim.dm + +

+ + + +
/datum/ai_planning_subtree/go_for_swimsubtree to go and swim!
/datum/ai_behavior/find_and_set/swim_alternatefind land if its time to get out of water, otherwise find water
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html b/code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html new file mode 100644 index 00000000000..1b8be32f756 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/maintain_distance.dm + +

+ + + + + +
/datum/ai_planning_subtree/maintain_distanceStep away if too close, or towards if too far
/datum/ai_behavior/step_awayTake one step away
/datum/ai_behavior/pursue_to_rangePursue a target until we are within a provided range
/datum/ai_behavior/cover_minimum_distanceinstead of taking a single step, we cover the entire distance
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/move_to_cardinal.html b/code/datums/ai/basic_mobs/basic_subtrees/move_to_cardinal.html new file mode 100644 index 00000000000..f45ad8f8b39 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/move_to_cardinal.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/move_to_cardinal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/move_to_cardinal.dm + +

+ + + +
/datum/ai_planning_subtree/move_to_cardinalTry to line up with a cardinal direction of your target
/datum/ai_behavior/move_to_cardinalTry to line up with a cardinal direction of your target
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/opportunistic_ventcrawler.html b/code/datums/ai/basic_mobs/basic_subtrees/opportunistic_ventcrawler.html new file mode 100644 index 00000000000..9b20273d2ea --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/opportunistic_ventcrawler.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/opportunistic_ventcrawler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/opportunistic_ventcrawler.dm + +

+ + +
/datum/ai_planning_subtree/opportunistic_ventcrawlerOpportunistically searches for and hides/scurries through vents.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/prepare_travel_to_destination.html b/code/datums/ai/basic_mobs/basic_subtrees/prepare_travel_to_destination.html new file mode 100644 index 00000000000..285edfd2b52 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/prepare_travel_to_destination.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/prepare_travel_to_destination.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/prepare_travel_to_destination.dm + +

+ + +
/datum/ai_planning_subtree/prepare_travel_to_destinationSubtree that checks if we are on the target atom's tile, and sets it as a travel target if not +The target is taken from the blackboard. This one always requires a specific implementation.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html b/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html new file mode 100644 index 00000000000..4157b51891a --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/ranged_skirmish.dm + +

+ + + +
/datum/ai_planning_subtree/ranged_skirmishFire a ranged attack without interrupting movement.
/datum/ai_behavior/ranged_skirmishHow often will we try to perform our ranged attack?
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/run_emote.html b/code/datums/ai/basic_mobs/basic_subtrees/run_emote.html new file mode 100644 index 00000000000..a41b55354d5 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/run_emote.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/run_emote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/run_emote.dm + +

+ + + +
/datum/ai_planning_subtree/run_emoteIntermittently run an emote
/datum/ai_behavior/run_emoteEmote from a blackboard key
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html b/code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html new file mode 100644 index 00000000000..aa051d3c88f --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/shapechange_ambush.dm + +

+ + + +
/datum/ai_planning_subtree/shapechange_ambushShapeshift when we have no target, until someone has been nearby for long enough
/datum/ai_behavior/use_mob_ability/shapeshiftSelects a random shapeshift ability before shifting
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html new file mode 100644 index 00000000000..12248cb08a9 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/simple_find_nearest_target_to_flee.dm + +

+ + + +
/datum/ai_planning_subtree/simple_find_nearest_target_to_fleeFind the nearest thing which we assume is hostile and set it as the flee target
/datum/ai_planning_subtree/find_nearest_thing_which_attacked_me_to_fleeFind the nearest thing on our list of 'things which have done damage to me' and set it as the flee target
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/simple_find_wounded_target.html b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_wounded_target.html new file mode 100644 index 00000000000..51b276b5243 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/simple_find_wounded_target.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/simple_find_wounded_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/simple_find_wounded_target.dm + +

+ + +
/datum/ai_planning_subtree/simple_find_wounded_targetSelects the most wounded potential target that we can see
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/sleep_with_no_target.html b/code/datums/ai/basic_mobs/basic_subtrees/sleep_with_no_target.html new file mode 100644 index 00000000000..016bb9c1a2e --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/sleep_with_no_target.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/sleep_with_no_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/sleep_with_no_target.dm + +

+ + + +
/datum/ai_planning_subtree/sleep_with_no_targetDisables AI after a certain amount of time spent with no target, you will have to enable the AI again somewhere else
/datum/ai_behavior/sleep_after_targetless_timeDisables AI after a certain amount of time spent with no target, you will have to enable the AI again somewhere else
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html new file mode 100644 index 00000000000..d8617e99f6d --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/speech_subtree.dm + +

+ + + + +
/datum/ai_planning_subtree/random_speech/rabbit/easterFor the easter subvariant of rabbits, these ones actually speak catchphrases.
/datum/ai_planning_subtree/random_speech/rabbit/easter/spaceThese ones have a space mask on, so their catchphrases are muffled.
/datum/ai_planning_subtree/random_speech/cow/wisdomunlike normal cows, wisdom cows speak of wisdom and won't shut the fuck up
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html b/code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html new file mode 100644 index 00000000000..43dab267266 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/stare_at_thing.dm + +

+ + +
/datum/ai_planning_subtree/stare_at_thingLocate a thing (practically any atom) to stop and stare at.
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html b/code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html new file mode 100644 index 00000000000..e58a42d204b --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/target_retaliate.dm + +

+ + + + +
/datum/ai_planning_subtree/target_retaliateSets the BB target to a mob which you can see and who has recently attacked you
/datum/ai_planning_subtree/target_retaliate/to_fleePlaces a mob which you can see and who has recently attacked you into some 'run away from this' AI keys +Can use a different targeting strategy than you use to select attack targets +Not required if fleeing is the only target behaviour or uses the same target datum
/datum/ai_behavior/target_from_retaliate_listPicks a target from a provided list of atoms who have been pissing you off +You will probably need /datum/element/ai_retaliate to take advantage of this unless you're populating the blackboard yourself
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html b/code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html new file mode 100644 index 00000000000..6b9080c1e87 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/targeted_mob_ability.dm + +

+ + +
/datum/ai_planning_subtree/targeted_mob_abilityAttempts to use a mob ability on a target
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/teleport_away_from_target.html b/code/datums/ai/basic_mobs/basic_subtrees/teleport_away_from_target.html new file mode 100644 index 00000000000..9343e68b5b2 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/teleport_away_from_target.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/teleport_away_from_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/teleport_away_from_target.dm + +

+ + + +
/datum/ai_planning_subtree/teleport_away_from_targetbehavior to activate ability to escape from target
/datum/ai_behavior/find_furthest_turf_from_targetfind furtherst turf target so we may teleport to it
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html b/code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html new file mode 100644 index 00000000000..b06933ee1d2 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/tipped_subtree.dm + +

+ + +
/datum/ai_planning_subtree/tip_reactionused by cows
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html b/code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html new file mode 100644 index 00000000000..e4ab192fe70 --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/travel_to_point.dm + +

+ + +
/datum/ai_planning_subtree/travel_to_pointSimply walk to a location
+ + + diff --git a/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html b/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html new file mode 100644 index 00000000000..ded6f954d0e --- /dev/null +++ b/code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/basic_subtrees/use_mob_ability.dm + +

+ + +
/datum/ai_planning_subtree/use_mob_abilitySimple behaviours which simply try to use an ability whenever it is available. +For something which wants a target try targeted_mob_ability.
+ + + diff --git a/code/datums/ai/basic_mobs/generic_controllers.html b/code/datums/ai/basic_mobs/generic_controllers.html new file mode 100644 index 00000000000..04e22674319 --- /dev/null +++ b/code/datums/ai/basic_mobs/generic_controllers.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/generic_controllers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/generic_controllers.dm + +

+ + + +
/datum/ai_controller/basic_controller/simple_hostileThe most basic AI tree which just finds a guy and then runs at them to click them
/datum/ai_controller/basic_controller/simple_hostile_obstaclesFind a target, walk at target, attack intervening obstacles
+ + + diff --git a/code/datums/ai/basic_mobs/pet_commands/fetch.html b/code/datums/ai/basic_mobs/pet_commands/fetch.html new file mode 100644 index 00000000000..381c23c0bde --- /dev/null +++ b/code/datums/ai/basic_mobs/pet_commands/fetch.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/ai/basic_mobs/pet_commands/fetch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/pet_commands/fetch.dm + +

+ + + + + +
/datum/ai_behavior/fetch_seekTraverse to a target with the intention of picking it up. +If we can't do that, add it to a list of ignored items.
/datum/ai_behavior/deliver_fetched_itemThe second half of fetching, deliver the item to a target.
/datum/ai_behavior/eat_fetched_snackThe alternate second half of fetching, attack the item if we can eat it. +Or make pleading eyes at someone who has picked it up.
/datum/ai_behavior/forget_failed_fetchesClear our failed fetch list every so often
+ + + diff --git a/code/datums/ai/basic_mobs/pet_commands/pet_command_planning.html b/code/datums/ai/basic_mobs/pet_commands/pet_command_planning.html new file mode 100644 index 00000000000..60c912eb36c --- /dev/null +++ b/code/datums/ai/basic_mobs/pet_commands/pet_command_planning.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/ai/basic_mobs/pet_commands/pet_command_planning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/pet_commands/pet_command_planning.dm + +

+ + +
/datum/ai_planning_subtree/pet_planningPerform behaviour based on what pet commands you have received. This is delegated to the pet command datum. +When a command is set, we blackboard a key to our currently active command. +The blackboard also has a weak reference to every command datum available to us. +We use the key to figure out which datum to run, then ask it to figure out how to execute its action.
+ + + diff --git a/code/datums/ai/basic_mobs/pet_commands/pet_follow_friend.html b/code/datums/ai/basic_mobs/pet_commands/pet_follow_friend.html new file mode 100644 index 00000000000..8a4b007659b --- /dev/null +++ b/code/datums/ai/basic_mobs/pet_commands/pet_follow_friend.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/pet_commands/pet_follow_friend.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/pet_commands/pet_follow_friend.dm + +

+ + +
/datum/ai_behavior/pet_follow_friendJust keep following the target until the command is interrupted
+ + + diff --git a/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.html b/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.html new file mode 100644 index 00000000000..2c85f5e0a3b --- /dev/null +++ b/code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/pet_commands/pet_use_targeted_ability.dm + +

+ + +
/datum/ai_behavior/pet_use_abilityPet owners can't see their pet's ability cooldowns so we keep attempting to use an ability until we succeed
+ + + diff --git a/code/datums/ai/basic_mobs/pet_commands/play_dead.html b/code/datums/ai/basic_mobs/pet_commands/play_dead.html new file mode 100644 index 00000000000..fe904bcfbd7 --- /dev/null +++ b/code/datums/ai/basic_mobs/pet_commands/play_dead.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/pet_commands/play_dead.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/pet_commands/play_dead.dm + +

+ + +
/datum/ai_behavior/play_deadPretend to be dead
+ + + diff --git a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.html b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.html new file mode 100644 index 00000000000..a79693cd776 --- /dev/null +++ b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm + +

+ + + + + +
/datum/targeting_strategyDatum for basic mobs to define what they can attack.GET_TARGETING_STRATEGY((/[^,]*)), +Global, just like ai_behaviors
/datum/targeting_strategy/basic/allow_itemsSubtype more forgiving for items. +Careful, this can go wrong and keep a mob hyper-focused on an item it can't lose aggro on
/datum/targeting_strategy/basic/of_sizeSubtype which searches for mobs of a size relative to ours
/datum/targeting_strategy/basic/same_factionMakes the mob only attack their own faction. Useful mostly if their attacks do something helpful (e.g. healing touch).
+ + + diff --git a/code/datums/ai/basic_mobs/targeting_strategies/dont_target_friends.html b/code/datums/ai/basic_mobs/targeting_strategies/dont_target_friends.html new file mode 100644 index 00000000000..037408140dc --- /dev/null +++ b/code/datums/ai/basic_mobs/targeting_strategies/dont_target_friends.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/basic_mobs/targeting_strategies/dont_target_friends.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/targeting_strategies/dont_target_friends.dm + +

+ + + +
/datum/targeting_strategy/basic/not_friendsDon't target an atom in our friends list (or turfs), anything else is fair game
/datum/targeting_strategy/basic/not_friends/allow_itemsSubtype that allows us to target items while deftly avoiding attacking our allies. Be careful when it comes to targeting items as an AI could get trapped targeting something it can't destroy.
+ + + diff --git a/code/datums/ai/basic_mobs/targeting_strategies/with_object.html b/code/datums/ai/basic_mobs/targeting_strategies/with_object.html new file mode 100644 index 00000000000..5dc8ee799fc --- /dev/null +++ b/code/datums/ai/basic_mobs/targeting_strategies/with_object.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/basic_mobs/targeting_strategies/with_object.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/basic_mobs/targeting_strategies/with_object.dm + +

+ + +
/datum/targeting_strategy/basic/holding_objectFind mobs who are holding the bb configurable object type
+ + + diff --git a/code/datums/ai/cursed/cursed_controller.html b/code/datums/ai/cursed/cursed_controller.html new file mode 100644 index 00000000000..fdd2b4575ed --- /dev/null +++ b/code/datums/ai/cursed/cursed_controller.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/cursed/cursed_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/cursed/cursed_controller.dm + +

+ + +
/datum/ai_controller/cursedHaunted AI tries to not be interacted with, and will attack people who do. +Cursed AI instead tries to be interacted with, and will attempt to equip itself onto people. +Added by /datum/element/cursed, and as such will try to remove this element and go dormant when it finds a victim to curse
+ + + diff --git a/code/datums/ai/dog/dog_behaviors.html b/code/datums/ai/dog/dog_behaviors.html new file mode 100644 index 00000000000..caa3eb9640f --- /dev/null +++ b/code/datums/ai/dog/dog_behaviors.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/dog/dog_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/dog/dog_behaviors.dm + +

+ + +
/datum/ai_behavior/basic_melee_attack/dogPursue the target, growl if we're close, and bite if we're adjacent +Dogs are actually not very aggressive and won't attack unless you approach them +Adds a floor to the melee damage of the dog, as most pet dogs don't actually have any melee strength
+ + + diff --git a/code/datums/ai/dog/dog_controller.html b/code/datums/ai/dog/dog_controller.html new file mode 100644 index 00000000000..01beb5873a6 --- /dev/null +++ b/code/datums/ai/dog/dog_controller.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/dog/dog_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/dog/dog_controller.dm + +

+ + +
/datum/ai_controller/basic_controller/dog/corgiSame thing but with make tiny corgis and use access cards.
+ + + diff --git a/code/datums/ai/dog/dog_subtrees.html b/code/datums/ai/dog/dog_subtrees.html new file mode 100644 index 00000000000..09d333481fc --- /dev/null +++ b/code/datums/ai/dog/dog_subtrees.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/dog/dog_subtrees.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/dog/dog_subtrees.dm + +

+ + +
/datum/ai_planning_subtree/dog_harassmentFind someone we don't like and annoy them
+ + + diff --git a/code/datums/ai/generic/find_and_set.html b/code/datums/ai/generic/find_and_set.html new file mode 100644 index 00000000000..e9b1ebacc90 --- /dev/null +++ b/code/datums/ai/generic/find_and_set.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/ai/generic/find_and_set.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/generic/find_and_set.dm + +

+ + + + + + + + + + + +
/datum/ai_behavior/find_and_set*find and set
/datum/ai_behavior/find_and_set/pawn_must_hold_itemVariant of find and set that fails if the living pawn doesn't hold something
/datum/ai_behavior/find_and_set/edibleVariant of find and set that also requires the item to be edible. checks hands too
/datum/ai_behavior/find_and_set/in_handsVariant of find and set that only checks in hands, search range should be excluded for this
/datum/ai_behavior/find_and_set/in_listVariant of find and set that takes a list of things to find.
/datum/ai_behavior/find_and_set/in_list/turf_locationLike find_and_set/in_list, but we return the turf location of the item instead of the item itself.
/datum/ai_behavior/find_and_set/animatableVariant of find and set which returns an object which can be animated with a staff of change
/datum/ai_behavior/find_and_set/nearest_wallVariant of find and set which returns the nearest wall which isn't invulnerable
/datum/ai_behavior/find_and_set/friendly_corpsesVariant of find and set which returns corpses who share your faction
/datum/ai_behavior/find_and_set/conscious_personA variant that looks for a human who is not dead or incapacitated, and has a mind
+ + + diff --git a/code/datums/ai/generic/generic_behaviors.html b/code/datums/ai/generic/generic_behaviors.html new file mode 100644 index 00000000000..7b313bc6483 --- /dev/null +++ b/code/datums/ai/generic/generic_behaviors.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/ai/generic/generic_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/generic/generic_behaviors.dm + +

+ + + + + + + +
/datum/ai_behavior/move_to_targetMoves to target then finishes
/datum/ai_behavior/use_in_handUse in hand the currently held item
/datum/ai_behavior/use_on_objectUse the currently held item, or unarmed, on a weakref to an object in the world
/datum/ai_behavior/drop_itemDrops items in hands, very important for future behaviors that require the pawn to grab stuff
/datum/ai_behavior/attackThis behavior involves attacking a target.
/datum/ai_behavior/followThis behavior involves attacking a target.
+ + + diff --git a/code/datums/ai/hunting_behavior/hunting_behaviors.html b/code/datums/ai/hunting_behavior/hunting_behaviors.html new file mode 100644 index 00000000000..82086890eb9 --- /dev/null +++ b/code/datums/ai/hunting_behavior/hunting_behaviors.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/ai/hunting_behavior/hunting_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/hunting_behavior/hunting_behaviors.dm + +

+ + + + +
/datum/ai_planning_subtree/find_and_hunt_targetTells the AI to find a certain target nearby to hunt. +If a target has been found, we will start to move towards it, and eventually attack it.
/datum/ai_behavior/find_hunt_targetFinds a specific atom type to hunt.
/datum/ai_behavior/hunt_targetHunts down a specific atom type.
+ + + diff --git a/code/datums/ai/hunting_behavior/hunting_corpses.html b/code/datums/ai/hunting_behavior/hunting_corpses.html new file mode 100644 index 00000000000..f308c571320 --- /dev/null +++ b/code/datums/ai/hunting_behavior/hunting_corpses.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/hunting_behavior/hunting_corpses.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/hunting_behavior/hunting_corpses.dm + +

+ + + + +
/datum/ai_planning_subtree/find_and_hunt_target/corpsesFind and attack corpses
/datum/ai_behavior/find_hunt_target/corpsesFind nearby dead mobs
/datum/ai_planning_subtree/find_and_hunt_target/corpses/humanFind and attack specifically human corpses
+ + + diff --git a/code/datums/ai/idle_behaviors/idle_haunted.html b/code/datums/ai/idle_behaviors/idle_haunted.html new file mode 100644 index 00000000000..d86953c1723 --- /dev/null +++ b/code/datums/ai/idle_behaviors/idle_haunted.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/idle_behaviors/idle_haunted.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/idle_behaviors/idle_haunted.dm + +

+ + +
/datum/idle_behavior/idle_ghost_itemIf not held, teleport somewhere else
+ + + diff --git a/code/datums/ai/idle_behaviors/idle_random_walk.html b/code/datums/ai/idle_behaviors/idle_random_walk.html new file mode 100644 index 00000000000..67bdabdbb3b --- /dev/null +++ b/code/datums/ai/idle_behaviors/idle_random_walk.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/ai/idle_behaviors/idle_random_walk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/idle_behaviors/idle_random_walk.dm + +

+ + + + +
/datum/idle_behavior/idle_random_walk/no_targetOnly walk if we don't have a target
/datum/idle_behavior/idle_random_walk/not_while_on_targetOnly walk if we are not on the target's location
/datum/idle_behavior/walk_near_targetwalk randomly however stick near a target
+ + + diff --git a/code/datums/ai/learn_ai.html b/code/datums/ai/learn_ai.html new file mode 100644 index 00000000000..2bf9f9ea86d --- /dev/null +++ b/code/datums/ai/learn_ai.html @@ -0,0 +1,140 @@ + + + + + + + code/datums/ai/learn_ai.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Learn AI + +

+ + +

In ye olde days, we designed mob AI, and we built it into simple animals as they were the "non player controlled" mobs. Made sense at the time. But by coding AI directly into the mob, there was so little ability to make unique or complicated AI, and even when it was pulled off the code was hacky and non-reusable. the datum AI system was made to rectify these problems, and expand AI beyond just mobs.

+AI Controllers Attach +

Any atom can have an AI controller, I'm choosing a basic mob for this guide, because basic mobs stand as a nice "blank canvas" for AI on mobs. Simple animals come with AI built into the mob, basic mobs don't, which is great for us adding AI on top of it.

+

Anyways, we just define the type of AI this mob has on the ai_controller var. It starts as a type, but is turned into an instance once the mob is instantiated.

+
/mob/living/basic/butterfly
+	name = "butterfly"
+	desc = "A colorful butterfly, how'd it get up here?"
+	// a lot more variables defining for us what a butterfly is
+
+	ai_controller = /datum/ai_controller/basic/butterfly
+
+Controllers Themselves +

First, let's look at the blackboard.

+
/datum/ai_controller/basic/cow
+	blackboard = list(
+		BB_TARGETING_STRATEGY = new /datum/targeting_strategy/basic/allow_items(),
+		BB_BASIC_MOB_TIP_REACTING = FALSE,
+		BB_BASIC_MOB_TIPPER = null,
+	)
+
+

Think of the blackboard as the unique format for variables. They are set initially, or by behaviors, but never in subtrees. Because we check blackboard[BB_SOME_KEY] instead of a variable, we can wipe out variables and slap new ones onto the AI as it runs. For example, this cow uses BB_BASIC_MOB_TIP_REACTING and BB_BASIC_MOB_TIPPER because cows can get tipped, and the AI needs to know that in the subtrees when it plans behavior. And in fact, those two keys aren't required to be defined initially, it's just for clarity that they are.

+

Speaking of subtrees, let's look at that now.

+
/datum/ai_controller/basic/cow
+
+	planning_subtrees = list(
+		/datum/ai_planning_subtree/tip_reaction, //<- goes first
+		/datum/ai_planning_subtree/find_and_eat_food, //<- goes second
+		/datum/ai_planning_subtree/random_speech/cow, //<- goes last! But at any point, a previous subtree can end the chain. If a cow is tipped over, it shouldn't make random noises or try finding food!
+	)
+	//and by the end for however many subtrees ran, each one that did may have planned behavior for the AI to act on.
+
+

AI's work by planning specific behaviors, and subtrees are datums that bundle the planning of behavior together. From top to bottom they run, and they can cancel future subtrees. As an example, cows have their very first consideration be tip_reaction, a subtree that prevents further subtrees like eating food and random speech, as well as planning out how the cow reacts (looking sad at the person who tipped it).

+
/datum/ai_controller/basic/cow
+	ai_traits = null
+	ai_movement = /datum/ai_movement/basic_avoidance
+	idle_behavior = null
+
+
+

Finally, we have some more minor things.

+
    +
  • ai_traits are flags for the AI, things like "STOP_MOVING_WHEN_PULLED" slightly modifying how the AI acts under some situations.
  • +
  • ai_movement is how the mob moves to its movement target. ranges from simple behaviors like ai_movement/dumb that awlays move in the direction of the target and hope there's nothing in the way, all the way to ai_movement/jps that plans and occasionally recalcuates more complicated paths, at the cost of more lag.
  • +
  • idle_behavior is just some simpler behavior to perform when nothing has been planned at all, like idle_behavior/idle_random_walk making a mob wander passively.
  • +
+Subtrees and Behaviors +

Okay, so we have blackboard variables, which are considered by subtrees to plan behaviors. Let's actually look at a subtree planning behaviors, and behaviors themselves.

+
/// this subtree checks if the mob has a target. if it doesn't, it plans looking for food. if it does, it tries to eat the food via attacking it.
+/datum/ai_planning_subtree/find_and_eat_food/SelectBehaviors(datum/ai_controller/controller, seconds_per_tick)
+	//get things out of blackboard
+	var/datum/weakref/weak_target = controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET]
+	var/atom/target = weak_target?.resolve()
+	var/list/wanted = controller.blackboard[BB_BASIC_FOODS]
+
+	//we see if we have a target (remember, anything can be in that blackboard, it's not a hard reference)
+	if(!target || QDELETED(target))
+		//we need to find some food
+		controller.queue_behavior(/datum/ai_behavior/find_and_set/in_list, BB_BASIC_MOB_CURRENT_TARGET, wanted)
+		return //this allows further subtrees to plan since we're doing a non-invasive behavior like checking the viscinity for food.
+
+	//now we know we have a target but should let a hostile subtree plan attacking humans. let's check if it's actually food
+	if(target in wanted)
+		controller.queue_behavior(/datum/ai_behavior/basic_melee_attack, BB_BASIC_MOB_CURRENT_TARGET, BB_TARGETING_STRATEGY, BB_BASIC_MOB_CURRENT_TARGET_HIDING_LOCATION)
+		return SUBTREE_RETURN_FINISH_PLANNING //this prevents further subtrees from planning since we want to focus on eating the food
+
+

And one of those behaviors, basic_melee_attack. As I have been doing so far, I've dumped in a bunch of comments explaining how this one behavior gets mobs to chase a target and slap it if in range.

+
///this behavior makes an AI get close to their movement target, and attack every time perform() is called.
+/datum/ai_behavior/basic_melee_attack
+	action_cooldown = 0.6 SECONDS
+	//flag tells the AI it needs to have a movement target to work, and since it doesn't have "AI_BEHAVIOR_MOVE_AND_PERFORM", it won't call perform() every 0.6 seconds until it is in melee range. Smart!
+	behavior_flags = AI_BEHAVIOR_REQUIRE_MOVEMENT
+
+/datum/ai_behavior/basic_melee_attack/setup(datum/ai_controller/controller, target_key, targeting_strategy_key, hiding_location_key)
+	. = ..()
+	//all this is doing in setup is setting the movement target. setup is called once when the behavior is first planned, and returning FALSE can cancel the behavior if something isn't right.
+
+	//Hiding location is priority
+	var/datum/weakref/weak_target = controller.blackboard[hiding_location_key] || controller.blackboard[target_key]
+	var/atom/target = weak_target?.resolve()
+	if(!target)
+		return FALSE
+	//now the AI_BEHAVIOR_REQUIRE_MOVEMENT flag will be happy, we have a target to always be moving towards.
+	controller.current_movement_target = target
+
+///perform will run every "action_cooldown" deciseconds as long as the conditions are good for it to do so (we set "AI_BEHAVIOR_REQUIRE_MOVEMENT", so it won't perform until in range).
+/datum/ai_behavior/basic_melee_attack/perform(seconds_per_tick, datum/ai_controller/controller, target_key, targeting_strategy_key, hiding_location_key)
+	. = ..()
+	var/mob/living/basic/basic_mob = controller.pawn
+	//targeting strategy will kill the action if not real anymore
+	var/datum/weakref/weak_target = controller.blackboard[target_key]
+	var/atom/target = weak_target?.resolve()
+	var/datum/targeting_strategy/targeting_strategy = controller.blackboard[targeting_strategy_key]
+
+	if(!targeting_strategy.can_attack(basic_mob, target))
+		///We have a target that is no longer valid to attack. Remember that returning doesn't end the behavior, JUST this single performance. So we call "finish_action" with whether it succeeded in doing what it wanted to do (it didn't, so FALSE) and the blackboard keys passed into this behavior.
+		finish_action(controller, FALSE, target_key)
+		return //don't forget to end the performance too
+
+	var/hiding_target = targeting_strategy.find_hidden_mobs(basic_mob, target) //If this is valid, theyre hidden in something!
+
+	controller.blackboard[hiding_location_key] = hiding_target
+
+	///and finally, we're in range, we have a valid target, we can attack. When they fall into crit, they will no longer be a valid target, to the melee behavior will end.
+	if(hiding_target) //Slap it!
+		basic_mob.melee_attack(hiding_target)
+	else
+		basic_mob.melee_attack(target)
+
+///and so the action has ended. we can now clean up the AI's blackboard based on the success of the action, and the keys passed in.
+/datum/ai_behavior/basic_melee_attack/finish_action(datum/ai_controller/controller, succeeded, target_key, targeting_strategy_key, hiding_location_key)
+	. = ..()
+	///if the behavior failed, the target is no longer valid, so we should lose aggro of them. We remove the target_key (which could be anything, it's whatever key was passed into the behavior by the subtree) from the blackboard. Couldn't do THAT with normal variables!
+	if(!succeeded)
+		controller.blackboard -= target_key
+
+ + + diff --git a/code/datums/ai/monkey/monkey_behaviors.html b/code/datums/ai/monkey/monkey_behaviors.html new file mode 100644 index 00000000000..48097d40153 --- /dev/null +++ b/code/datums/ai/monkey/monkey_behaviors.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/monkey/monkey_behaviors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/monkey/monkey_behaviors.dm + +

+ + +
/datum/ai_behavior/disposal_mobmob refs are uids, so this is safe
+ + + diff --git a/code/datums/ai/monkey/monkey_controller.html b/code/datums/ai/monkey/monkey_controller.html new file mode 100644 index 00000000000..df584005a3c --- /dev/null +++ b/code/datums/ai/monkey/monkey_controller.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/monkey/monkey_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/monkey/monkey_controller.dm + +

+ + +
/datum/ai_controller/monkeyOOK OOK OOK
+ + + diff --git a/code/datums/ai/movement/_ai_movement.html b/code/datums/ai/movement/_ai_movement.html new file mode 100644 index 00000000000..b3cbd8ca9e4 --- /dev/null +++ b/code/datums/ai/movement/_ai_movement.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/_ai_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/movement/_ai_movement.dm + +

+ + +
/datum/ai_movementThis datum is an abstract class that can be overriden for different types of movement
+ + + diff --git a/code/datums/ai/movement/ai_movement_basic_avoidance.html b/code/datums/ai/movement/ai_movement_basic_avoidance.html new file mode 100644 index 00000000000..eb2ed6aac5b --- /dev/null +++ b/code/datums/ai/movement/ai_movement_basic_avoidance.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/ai/movement/ai_movement_basic_avoidance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_basic_avoidance.dm + +

+ + + +
/datum/ai_movement/basic_avoidanceUses Byond's basic obstacle avoidance movement
/datum/ai_movement/basic_avoidance/backstepMove immediately and don't update our facing
+ + + diff --git a/code/datums/ai/movement/ai_movement_complete_stop.html b/code/datums/ai/movement/ai_movement_complete_stop.html new file mode 100644 index 00000000000..4dd8c2a2ee4 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_complete_stop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/ai_movement_complete_stop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_complete_stop.dm + +

+ + +
/datum/ai_movement/complete_stopCome to a complete stop for a set amount of time.
+ + + diff --git a/code/datums/ai/movement/ai_movement_dumb.html b/code/datums/ai/movement/ai_movement_dumb.html new file mode 100644 index 00000000000..804c0752357 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_dumb.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/ai_movement_dumb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_dumb.dm + +

+ + +
/datum/ai_movement/dumbThe most brain-dead type of movement, bee-line to the target with no concern of whats in front of us.
+ + + diff --git a/code/datums/ai/movement/ai_movement_jps.html b/code/datums/ai/movement/ai_movement_jps.html new file mode 100644 index 00000000000..7c931ed3119 --- /dev/null +++ b/code/datums/ai/movement/ai_movement_jps.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/movement/ai_movement_jps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/movement/ai_movement_jps.dm + +

+ + +
/datum/ai_movement/jpsThis movement datum represents smart-pathing
+ + + diff --git a/code/datums/ai/objects/mod.html b/code/datums/ai/objects/mod.html new file mode 100644 index 00000000000..200625560c7 --- /dev/null +++ b/code/datums/ai/objects/mod.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/objects/mod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/objects/mod.dm + +

+ + +
/datum/ai_controller/modAn AI controller for the MODsuit pathfinder module. It's activated by implant and attaches itself to the user.
+ + + diff --git a/code/datums/ai/objects/vending_machines/vending_machine_controller.html b/code/datums/ai/objects/vending_machines/vending_machine_controller.html new file mode 100644 index 00000000000..89ee02b4ea2 --- /dev/null +++ b/code/datums/ai/objects/vending_machines/vending_machine_controller.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/objects/vending_machines/vending_machine_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/objects/vending_machines/vending_machine_controller.dm + +

+ + +
/datum/ai_controller/vending_machineAI controller for vending machine gone rogue, Don't try using this on anything else, it wont work.
+ + + diff --git a/code/datums/ai/oldhostile/hostile_tameable.html b/code/datums/ai/oldhostile/hostile_tameable.html new file mode 100644 index 00000000000..d180b0df8da --- /dev/null +++ b/code/datums/ai/oldhostile/hostile_tameable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ai/oldhostile/hostile_tameable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ai/oldhostile/hostile_tameable.dm + +

+ + +
/datum/ai_controller/hostile_friendThis code needs to be removed at some point as it doesn't actually utilize the AI.
+ + + diff --git a/code/datums/ai_laws/ai_laws.html b/code/datums/ai_laws/ai_laws.html new file mode 100644 index 00000000000..ffe937ae08c --- /dev/null +++ b/code/datums/ai_laws/ai_laws.html @@ -0,0 +1,61 @@ + + + + + + + code/datums/ai_laws/ai_laws.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/ai_laws/ai_laws.dm + +

+ + + + + + + + + + + + + + +
/proc/get_round_default_lawsetA getter that sets up the round default if it has not been yet.
CONFIG_ASIMOVAlways make the round default asimov
CONFIG_CUSTOMSet to a custom lawset defined by another config value
CONFIG_RANDOMSet to a completely random ai law subtype, good, bad, it cares not. Careful with this one
CONFIG_WEIGHTEDSet to a configged weighted list of law types in the config. This lets server owners pick from a pool of sane laws, it is also the same process for ian law rerolls.
CONFIG_SPECIFIEDSet to a specific lawset in the game options.
/proc/setup_round_default_lawsfirst called when something wants round default laws for the first time in a round, considers config +returns a law datum that GLOB._round_default_lawset will be set to.
/proc/pick_weighted_lawsetreturns a law datum based off of config. will never roll asimov as the weighted datum if the station has a unique AI.
/proc/lawid_to_typereturns the law datum with the lawid in question, law boards and law datums should share this id.

Define Details

+

CONFIG_ASIMOV + + +

+

Always make the round default asimov

CONFIG_CUSTOM + + +

+

Set to a custom lawset defined by another config value

CONFIG_RANDOM + + +

+

Set to a completely random ai law subtype, good, bad, it cares not. Careful with this one

CONFIG_SPECIFIED + + +

+

Set to a specific lawset in the game options.

CONFIG_WEIGHTED + + +

+

Set to a configged weighted list of law types in the config. This lets server owners pick from a pool of sane laws, it is also the same process for ian law rerolls.

+ + + diff --git a/code/datums/alarm.html b/code/datums/alarm.html new file mode 100644 index 00000000000..ac3cd11a26d --- /dev/null +++ b/code/datums/alarm.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/alarm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/alarm.dm + +

+ + +
/datum/alarm_handlerRepresents a single source of alarms, one alarm handler will only ever count for one alarm per listener
+ + + diff --git a/code/datums/announcers/_announcer.html b/code/datums/announcers/_announcer.html new file mode 100644 index 00000000000..df3fae484b7 --- /dev/null +++ b/code/datums/announcers/_announcer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/announcers/_announcer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/announcers/_announcer.dm + +

+ + +
/datum/centcom_announcerData holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern
+ + + diff --git a/code/datums/armor/_armor.html b/code/datums/armor/_armor.html new file mode 100644 index 00000000000..50218b9b369 --- /dev/null +++ b/code/datums/armor/_armor.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/armor/_armor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/armor/_armor.dm + +

+ + + + + + + + + + +
/proc/get_armor_by_typeGets an armor type datum using the given type by formatting it into the expected datum tag
/datum/armorThe armor datum holds information about different types of armor that an atom can have. +It also contains logic and helpers for calculating damage and effective damage
/datum/armor/noneA version of armor with no protections
/datum/armor/immuneA version of armor that cannot be modified and will always return itself when attempted to be modified
/proc/armor_to_protection_classRounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.
/proc/armor_to_protection_nameReturns the client readable name of an armor type
+ + + diff --git a/code/datums/beam.html b/code/datums/beam.html new file mode 100644 index 00000000000..45bcc567a88 --- /dev/null +++ b/code/datums/beam.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/beam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/beam.dm + +

+ + + +
/datum/beam
/obj/effect/ebeamvar/Angle = round(get_angle(origin,target))
+ + + diff --git a/code/datums/bodypart_overlays/bodypart_overlay.html b/code/datums/bodypart_overlays/bodypart_overlay.html new file mode 100644 index 00000000000..859122d0ccb --- /dev/null +++ b/code/datums/bodypart_overlays/bodypart_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/bodypart_overlays/bodypart_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/bodypart_overlays/bodypart_overlay.dm + +

+ + +
/datum/bodypart_overlayBodypart ovarlay datum. These can be added to any limb to give them a proper overlay, that'll even stay if the limb gets removed +This is the abstract parent, don't use it!!
+ + + diff --git a/code/datums/bodypart_overlays/emote_bodypart_overlay.html b/code/datums/bodypart_overlays/emote_bodypart_overlay.html new file mode 100644 index 00000000000..c88eb2185ee --- /dev/null +++ b/code/datums/bodypart_overlays/emote_bodypart_overlay.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/bodypart_overlays/emote_bodypart_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/bodypart_overlays/emote_bodypart_overlay.dm + +

+ + +
/datum/bodypart_overlay/simple/emoteVariant of bodypart_overlay for displaying emote overlays. See /datum/emote/living/blush/run_emote for an example on how to use one of these.
+ + + diff --git a/code/datums/bodypart_overlays/mutant_bodypart_overlay.html b/code/datums/bodypart_overlays/mutant_bodypart_overlay.html new file mode 100644 index 00000000000..6900d89af19 --- /dev/null +++ b/code/datums/bodypart_overlays/mutant_bodypart_overlay.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/bodypart_overlays/mutant_bodypart_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/bodypart_overlays/mutant_bodypart_overlay.dm + +

+ + +
/datum/bodypart_overlay/mutantVariant of bodypart_overlay meant to work synchronously with external organs. Gets imprinted upon Insert in on_species_gain
+ + + diff --git a/code/datums/bodypart_overlays/simple_bodypart_overlay.html b/code/datums/bodypart_overlays/simple_bodypart_overlay.html new file mode 100644 index 00000000000..94d48597d02 --- /dev/null +++ b/code/datums/bodypart_overlays/simple_bodypart_overlay.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/bodypart_overlays/simple_bodypart_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/bodypart_overlays/simple_bodypart_overlay.dm + +

+ + + + + +
/datum/bodypart_overlay/simpleFor simple overlays that really dont need to be complicated. Sometimes icon_state and icon is enough +Remember to set the layers or shit wont work
/datum/bodypart_overlay/simple/sixpackA sixpack drawn on the chest
/datum/bodypart_overlay/simple/creampieA creampie drawn on the head
/datum/bodypart_overlay/simple/bagsbags drawn beneath the eyes
+ + + diff --git a/code/datums/brain_damage/split_personality.html b/code/datums/brain_damage/split_personality.html new file mode 100644 index 00000000000..8155967339f --- /dev/null +++ b/code/datums/brain_damage/split_personality.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/brain_damage/split_personality.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/brain_damage/split_personality.dm + +

+ + +
/datum/brain_trauma/severe/split_personality/brainwashingBRAINWASHING
+ + + diff --git a/code/datums/browser.html b/code/datums/browser.html new file mode 100644 index 00000000000..83cbac879d8 --- /dev/null +++ b/code/datums/browser.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/browser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/browser.dm + +

+ + + +
/proc/tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
+ + + diff --git a/code/datums/callback.html b/code/datums/callback.html new file mode 100644 index 00000000000..659b9a08007 --- /dev/null +++ b/code/datums/callback.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/callback.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/callback.dm + +

+ + + + + +
/datum/callbackA datum that holds a proc to be called on another object, used to track proccalls to other objects
/datum/callback_selectHelper datum for the select callbacks proc
/proc/callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
+ + + diff --git a/code/datums/chat_payload.html b/code/datums/chat_payload.html new file mode 100644 index 00000000000..f90d226797d --- /dev/null +++ b/code/datums/chat_payload.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/chat_payload.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/chat_payload.dm + +

+ + +
/datum/chat_payloadStores information about a chat payload
+ + + diff --git a/code/datums/chatmessage.html b/code/datums/chatmessage.html new file mode 100644 index 00000000000..6ee747e1a9f --- /dev/null +++ b/code/datums/chatmessage.html @@ -0,0 +1,93 @@ + + + + + + + code/datums/chatmessage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/chatmessage.dm + +

+ + + + + + + + + + + + + + + +
CHAT_MESSAGE_SPAWN_TIMEHow long the chat message's spawn-in animation will occur for
CHAT_MESSAGE_LIFESPANHow long the chat message will exist prior to any exponential decay
CHAT_MESSAGE_EOL_FADEHow long the chat message's end of life fading animation will occur for
CHAT_MESSAGE_GRACE_PERIODGrace period for fade before we actually delete the chat message
CHAT_MESSAGE_EXP_DECAYFactor of how much the message index (number of messages) will account to exponential decay
CHAT_MESSAGE_HEIGHT_DECAYFactor of how much height will account to exponential decay
CHAT_MESSAGE_APPROX_LHEIGHTApproximate height in pixels of an 'average' line, used for height decay
CHAT_MESSAGE_WIDTHMax width of chat message in pixels
CHAT_MESSAGE_ICON_SIZEThe dimensions of the chat message icons
CHAT_LAYERBase layer of chat elements
CHAT_LAYER_MAXHighest possible layer of chat elements
CHAT_LAYER_Z_STEPMaximum precision of float before rounding errors occur (in this context)
CHAT_LAYER_MAX_ZThe number of z-layer 'slices' usable by the chat message layering
/datum/chatmessageDatum for generating a message overlay on the map

Define Details

+

CHAT_LAYER + + +

+

Base layer of chat elements

CHAT_LAYER_MAX + + +

+

Highest possible layer of chat elements

CHAT_LAYER_MAX_Z + + +

+

The number of z-layer 'slices' usable by the chat message layering

CHAT_LAYER_Z_STEP + + +

+

Maximum precision of float before rounding errors occur (in this context)

CHAT_MESSAGE_APPROX_LHEIGHT + + +

+

Approximate height in pixels of an 'average' line, used for height decay

CHAT_MESSAGE_EOL_FADE + + +

+

How long the chat message's end of life fading animation will occur for

CHAT_MESSAGE_EXP_DECAY + + +

+

Factor of how much the message index (number of messages) will account to exponential decay

CHAT_MESSAGE_GRACE_PERIOD + + +

+

Grace period for fade before we actually delete the chat message

CHAT_MESSAGE_HEIGHT_DECAY + + +

+

Factor of how much height will account to exponential decay

CHAT_MESSAGE_ICON_SIZE + + +

+

The dimensions of the chat message icons

CHAT_MESSAGE_LIFESPAN + + +

+

How long the chat message will exist prior to any exponential decay

CHAT_MESSAGE_SPAWN_TIME + + +

+

How long the chat message's spawn-in animation will occur for

CHAT_MESSAGE_WIDTH + + +

+

Max width of chat message in pixels

+ + + diff --git a/code/datums/cinematics/_cinematic.html b/code/datums/cinematics/_cinematic.html new file mode 100644 index 00000000000..7af583c655c --- /dev/null +++ b/code/datums/cinematics/_cinematic.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/cinematics/_cinematic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/cinematics/_cinematic.dm + +

+ + + + + +
/proc/play_cinematicPlays a cinematic, duh. Can be to a select few people, or everyone.
/atom/movable/screen/cinematicThe cinematic screen showed to everyone
/datum/cinematicCinematic datum. Used to show an animation to everyone.
+ + + diff --git a/code/datums/cinematics/malf_doomsday.html b/code/datums/cinematics/malf_doomsday.html new file mode 100644 index 00000000000..90459f66b35 --- /dev/null +++ b/code/datums/cinematics/malf_doomsday.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/cinematics/malf_doomsday.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/cinematics/malf_doomsday.dm + +

+ + +
/datum/cinematic/malfA malfunctioning AI has activated the doomsday device and wiped the station!
+ + + diff --git a/code/datums/cinematics/narsie_summon.html b/code/datums/cinematics/narsie_summon.html new file mode 100644 index 00000000000..806a6a7cdba --- /dev/null +++ b/code/datums/cinematics/narsie_summon.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/cinematics/narsie_summon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/cinematics/narsie_summon.dm + +

+ + + +
/datum/cinematic/cult_armA blood cult summoned Nar'sie, and most of the station was harvested or converted!
/datum/cinematic/cult_failA blood cult summoned Nar'sie, but some badass (or admin) managed to destroy Nar'sie themselves.
+ + + diff --git a/code/datums/cinematics/nuke_cinematics.html b/code/datums/cinematics/nuke_cinematics.html new file mode 100644 index 00000000000..aef57d789c9 --- /dev/null +++ b/code/datums/cinematics/nuke_cinematics.html @@ -0,0 +1,37 @@ + + + + + + + code/datums/cinematics/nuke_cinematics.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/cinematics/nuke_cinematics.dm + +

+ + + + + + + + + + + + +
/datum/cinematic/nukeSimple, base cinematic for all animations based around a nuke detonating.
/datum/cinematic/nuke/ops_victoryThe syndicate nuclear bomb was activated, and destroyed the station!
/datum/cinematic/nuke/ops_missThe syndicate nuclear bomb was activated, but just barely missed the station!
/datum/cinematic/nuke/self_destructThe self destruct, or another station-destroying entity like a blob, destroyed the station!
/datum/cinematic/nuke/self_destruct_missThe self destruct was activated, yet somehow avoided destroying the station!
/datum/cinematic/nuke/mutual_destructionThe syndicate nuclear bomb was activated, and the nuclear operatives failed to extract on their shuttle before it detonated on the station!
/datum/cinematic/nuke/cultA blood cult summoned Nar'sie, but central command deployed a nuclear package to stop them.
/datum/cinematic/nuke/fakeA fake version of the nuclear detonation, where it winds up, but doesn't explode.
/datum/cinematic/nuke/clownThe clown operative nuclear bomb was activated and clowned the station!
/datum/cinematic/nuke/no_coreA fake version of the nuclear detonation, where it winds up, but doesn't explode as the nuke core within was missing.
/datum/cinematic/nuke/far_explosionThe syndicate nuclear bomb was activated, but just missed the station by a whole z-level!
+ + + diff --git a/code/datums/components.html b/code/datums/components.html new file mode 100644 index 00000000000..5c10b2846d9 --- /dev/null +++ b/code/datums/components.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Datum Component System (DCS) + +

+ + +
Concept +

Loosely adapted from /vg/. This is an entity component system for adding behaviours to datums when inheritance doesn't quite cut it. By using signals and events instead of direct inheritance, you can inject behaviours without hacky overloads. It requires a different method of thinking, but is not hard to use correctly. If a behaviour can have application across more than one thing. Make it generic, make it a component. Atom/mob/obj event? Give it a signal, and forward it's arguments with a SendSignal() call. Now every component that want's to can also know about this happening.

+HackMD page for an introduction to the system as a whole.See/Define signals and their arguments in __DEFINES\components.dm
+ + + diff --git a/code/datums/components/COMPONENT_TEMPLATE.html b/code/datums/components/COMPONENT_TEMPLATE.html new file mode 100644 index 00000000000..6c4b39b56d1 --- /dev/null +++ b/code/datums/components/COMPONENT_TEMPLATE.html @@ -0,0 +1,76 @@ + + + + + + + code/datums/components/COMPONENT_TEMPLATE.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Template file for your new component + +

+ + +

See _component.dm for detailed explanations

+
/datum/component/mycomponent
+	//can_transfer = TRUE                   // Must have PostTransfer
+	//dupe_mode = COMPONENT_DUPE_ALLOWED    // code/__DEFINES/dcs/flags.dm
+	var/myvar
+
+/datum/component/mycomponent/Initialize(myargone, myargtwo)
+	if(myargone)
+		myvar = myargone
+	if(myargtwo)
+		send_to_playing_players(myargtwo)
+
+/datum/component/mycomponent/RegisterWithParent()
+	RegisterSignal(parent, COMSIG_NOT_REAL, PROC_REF(signalproc))                                    // RegisterSignal can take a signal name by itself,
+	RegisterSignal(parent, list(COMSIG_NOT_REAL_EITHER, COMSIG_ALMOST_REAL), PROC_REF(otherproc))    // or a list of them to assign to the same proc
+
+/datum/component/mycomponent/UnregisterFromParent()
+	UnregisterSignal(parent, COMSIG_NOT_REAL)          // UnregisterSignal has similar behavior
+	UnregisterSignal(parent, list(                     // But you can just include all registered signals in one call
+		COMSIG_NOT_REAL,
+		COMSIG_NOT_REAL_EITHER,
+		COMSIG_ALMOST_REAL,
+	))
+
+/datum/component/mycomponent/proc/signalproc(datum/source)
+	SIGNAL_HANDLER
+	send_to_playing_players("[source] signaled [src]!")
+
+/*
+/datum/component/mycomponent/InheritComponent(datum/component/mycomponent/old, i_am_original, list/arguments)
+	myvar = old.myvar
+
+	if(i_am_original)
+		send_to_playing_players("No parent should have to bury their child")
+*/
+
+/*
+/datum/component/mycomponent/PreTransfer()
+	send_to_playing_players("Goodbye [parent], I'm getting adopted")
+
+/datum/component/mycomponent/PostTransfer()
+	send_to_playing_players("Hello my new parent, [parent]! It's nice to meet you!")
+*/
+
+/*
+/datum/component/mycomponent/CheckDupeComponent(datum/mycomponent/new, myargone, myargtwo)
+	if(myargone == myvar)
+		return TRUE
+*/
+
+ + + diff --git a/code/datums/components/_component.html b/code/datums/components/_component.html new file mode 100644 index 00000000000..6de008d451a --- /dev/null +++ b/code/datums/components/_component.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/_component.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/_component.dm + +

+ + +
/datum/componentThe component datum
+ + + diff --git a/code/datums/components/acid.html b/code/datums/components/acid.html new file mode 100644 index 00000000000..5128b2a0971 --- /dev/null +++ b/code/datums/components/acid.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/acid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/acid.dm + +

+ + +
/datum/component/acidComponent representing acid applied to an object. +Must be attached to an atom. +Processes, repeatedly damaging whatever it is attached to. +If the parent atom is a turf it applies acid to the contents of the turf. +If not being applied to a mob or turf, the atom must use the integrity system.
+ + + diff --git a/code/datums/components/action_item_overlay.html b/code/datums/components/action_item_overlay.html new file mode 100644 index 00000000000..ff159001839 --- /dev/null +++ b/code/datums/components/action_item_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/action_item_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/action_item_overlay.dm + +

+ + +
/datum/component/action_item_overlayApply to an action to allow it to take an item +and apply it as an overlay of the action button
+ + + diff --git a/code/datums/components/admin_popup.html b/code/datums/components/admin_popup.html new file mode 100644 index 00000000000..e78c9177cca --- /dev/null +++ b/code/datums/components/admin_popup.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/components/admin_popup.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/admin_popup.dm + +

+ + + + + +
/datum/component/admin_popupApplied to clients when they receive an admin popup, alerting them to +their ticket.
/atom/movable/screen/admin_popupThe UI element for admin popups
/proc/give_admin_popupTries to give the target an admin popup. +If it fails, will send the error to the passed admin.
+ + + diff --git a/code/datums/components/aggro_emote.html b/code/datums/components/aggro_emote.html new file mode 100644 index 00000000000..3f07832b812 --- /dev/null +++ b/code/datums/components/aggro_emote.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/aggro_emote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/aggro_emote.dm + +

+ + +
/datum/component/aggro_emoteA component for ai-controlled atoms which plays a sound if they switch to a living target which they can attack
+ + + diff --git a/code/datums/components/ai_has_target_timer.html b/code/datums/components/ai_has_target_timer.html new file mode 100644 index 00000000000..cb93faea2fd --- /dev/null +++ b/code/datums/components/ai_has_target_timer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/ai_has_target_timer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ai_has_target_timer.dm + +

+ + +
/datum/component/ai_target_timerIncrements a blackboard key while the attached mob is engaged with a particular target, does nothing else on its own
+ + + diff --git a/code/datums/components/ai_listen_to_weather.html b/code/datums/components/ai_listen_to_weather.html new file mode 100644 index 00000000000..f600c8e8c3e --- /dev/null +++ b/code/datums/components/ai_listen_to_weather.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/ai_listen_to_weather.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ai_listen_to_weather.dm + +

+ + +
/datum/component/ai_listen_to_weathergiven to a mob to set a key on or off when a storm is coming or ending
+ + + diff --git a/code/datums/components/ai_retaliate_advanced.html b/code/datums/components/ai_retaliate_advanced.html new file mode 100644 index 00000000000..54b07c2c3cd --- /dev/null +++ b/code/datums/components/ai_retaliate_advanced.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/ai_retaliate_advanced.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ai_retaliate_advanced.dm + +

+ + +
/datum/component/ai_retaliate_advancedAttached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information. +Differs from the element as it passes new entries through a callback.
+ + + diff --git a/code/datums/components/anti_magic.html b/code/datums/components/anti_magic.html new file mode 100644 index 00000000000..9160113bf3f --- /dev/null +++ b/code/datums/components/anti_magic.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/anti_magic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/anti_magic.dm + +

+ + +
/datum/component/anti_magicThis provides different types of magic resistance on an object
+ + + diff --git a/code/datums/components/appearance_on_aggro.html b/code/datums/components/appearance_on_aggro.html new file mode 100644 index 00000000000..4751a89d052 --- /dev/null +++ b/code/datums/components/appearance_on_aggro.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/appearance_on_aggro.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/appearance_on_aggro.dm + +

+ + +
/datum/component/appearance_on_aggroChanges visuals of the attached mob while it has a target
+ + + diff --git a/code/datums/components/aquarium_content.html b/code/datums/components/aquarium_content.html new file mode 100644 index 00000000000..03df15739b6 --- /dev/null +++ b/code/datums/components/aquarium_content.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/aquarium_content.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/aquarium_content.dm + +

+ + +
/datum/component/aquarium_contentAllows movables to be inserted/displayed in aquariums.
+ + + diff --git a/code/datums/components/area_based_godmode.html b/code/datums/components/area_based_godmode.html new file mode 100644 index 00000000000..fedf80f7e31 --- /dev/null +++ b/code/datums/components/area_based_godmode.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/area_based_godmode.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/area_based_godmode.dm + +

+ + +
/datum/component/area_based_godmodeArea-based godmode. +Gain and Lose message can only be set once, at initial component creation; adding a source will not update them.
+ + + diff --git a/code/datums/components/area_sound_manager.html b/code/datums/components/area_sound_manager.html new file mode 100644 index 00000000000..8a8a3c2fcfc --- /dev/null +++ b/code/datums/components/area_sound_manager.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/area_sound_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/area_sound_manager.dm + +

+ + +
/datum/component/area_sound_managerAllows you to set a theme for a set of areas without tying them to looping sounds explicitly
+ + + diff --git a/code/datums/components/areabound.html b/code/datums/components/areabound.html new file mode 100644 index 00000000000..d6a17a2d7ac --- /dev/null +++ b/code/datums/components/areabound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/areabound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/areabound.dm + +

+ + +
/datum/component/areaboundMovables with this component will automatically return to their original turf if moved outside their initial area
+ + + diff --git a/code/datums/components/atmos_reaction_recorder.html b/code/datums/components/atmos_reaction_recorder.html new file mode 100644 index 00000000000..b08a25b19fb --- /dev/null +++ b/code/datums/components/atmos_reaction_recorder.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/atmos_reaction_recorder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/atmos_reaction_recorder.dm + +

+ + +
/datum/component/atmos_reaction_recorderComponent for atmos-related atoms to be able to record and transmit their reaction_results data +Use this ONLY for atoms, gasmixtures will be accessed by calling return air on the object. +Add this component after gasmixes has been initialized.
+ + + diff --git a/code/datums/components/aura_healing.html b/code/datums/components/aura_healing.html new file mode 100644 index 00000000000..3eb11a279f2 --- /dev/null +++ b/code/datums/components/aura_healing.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/aura_healing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/aura_healing.dm + +

+ + +
/datum/component/aura_healingApplies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.
+ + + diff --git a/code/datums/components/bakeable.html b/code/datums/components/bakeable.html new file mode 100644 index 00000000000..d4649c3da30 --- /dev/null +++ b/code/datums/components/bakeable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/bakeable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/bakeable.dm + +

+ + +
/datum/component/bakeableThis component indicates this object can be baked in an oven.
+ + + diff --git a/code/datums/components/basic_inhands.html b/code/datums/components/basic_inhands.html new file mode 100644 index 00000000000..50b12136c1c --- /dev/null +++ b/code/datums/components/basic_inhands.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/basic_inhands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/basic_inhands.dm + +

+ + +
/datum/component/basic_inhandsBasic handling for showing held items in a mob's hands
+ + + diff --git a/code/datums/components/basic_mob_attack_telegraph.html b/code/datums/components/basic_mob_attack_telegraph.html new file mode 100644 index 00000000000..8825d0b3c75 --- /dev/null +++ b/code/datums/components/basic_mob_attack_telegraph.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/basic_mob_attack_telegraph.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/basic_mob_attack_telegraph.dm + +

+ + +
/datum/component/basic_mob_attack_telegraphDelays outgoing attacks which are directed at mobs to give players time to get out of the way
+ + + diff --git a/code/datums/components/basic_ranged_ready_overlay.html b/code/datums/components/basic_ranged_ready_overlay.html new file mode 100644 index 00000000000..ed99c9727e9 --- /dev/null +++ b/code/datums/components/basic_ranged_ready_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/basic_ranged_ready_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/basic_ranged_ready_overlay.dm + +

+ + +
/datum/component/basic_ranged_ready_overlayFade in an overlay x seconds after a basic mob makes a ranged attack +Indicates that it will be ready to fire again
+ + + diff --git a/code/datums/components/blob_minion.html b/code/datums/components/blob_minion.html new file mode 100644 index 00000000000..965e5edb236 --- /dev/null +++ b/code/datums/components/blob_minion.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/blob_minion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/blob_minion.dm + +

+ + +
/datum/component/blob_minionCommon behaviour shared by things which are minions to a blob
+ + + diff --git a/code/datums/components/blood_walk.html b/code/datums/components/blood_walk.html new file mode 100644 index 00000000000..705b502ac7a --- /dev/null +++ b/code/datums/components/blood_walk.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/blood_walk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/blood_walk.dm + +

+ + +
/datum/component/blood_walkBlood walk, a component that causes you to make blood wherever you walk.
+ + + diff --git a/code/datums/components/bloodysoles.html b/code/datums/components/bloodysoles.html new file mode 100644 index 00000000000..02a0d268bba --- /dev/null +++ b/code/datums/components/bloodysoles.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/bloodysoles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/bloodysoles.dm + +

+ + + +
/datum/component/bloodysolesComponent for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes.
/datum/component/bloodysoles/feetLike its parent but can be applied to carbon mobs instead of clothing items
+ + + diff --git a/code/datums/components/boomerang.html b/code/datums/components/boomerang.html new file mode 100644 index 00000000000..b6f9faa980a --- /dev/null +++ b/code/datums/components/boomerang.html @@ -0,0 +1,34 @@ + + + + + + + code/datums/components/boomerang.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/boomerang.dm + +

+ + + +
BOOMERANG_REBOUND_INTERVALThe cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc.
/datum/component/boomerangIf an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.

Define Details

+

BOOMERANG_REBOUND_INTERVAL + + +

+

The cooldown period between last_boomerang_throw and it's methods of implementing a rebound proc.

+ + + diff --git a/code/datums/components/boss_music.html b/code/datums/components/boss_music.html new file mode 100644 index 00000000000..66d3ef45234 --- /dev/null +++ b/code/datums/components/boss_music.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/boss_music.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/boss_music.dm + +

+ + +
/datum/component/boss_musicAttaches to a hostile simplemob and plays that music while they have a target.
+ + + diff --git a/code/datums/components/bullet_intercepting.html b/code/datums/components/bullet_intercepting.html new file mode 100644 index 00000000000..e649a29f630 --- /dev/null +++ b/code/datums/components/bullet_intercepting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/bullet_intercepting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/bullet_intercepting.dm + +

+ + +
/datum/component/bullet_interceptingComponent which allows an equipped item to occasionally absorb a projectile.
+ + + diff --git a/code/datums/components/bumpattack.html b/code/datums/components/bumpattack.html new file mode 100644 index 00000000000..18995a59bef --- /dev/null +++ b/code/datums/components/bumpattack.html @@ -0,0 +1,36 @@ + + + + + + + code/datums/components/bumpattack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/bumpattack.dm + +

+ + +
COOLDOWN_BUMP_ATTACKAdd an auto attack on bump behaviour to item +valid_inventory_slot: the inventory slot the item could be held in while still bumpattacking with it +proxy_weapon: the weapon that will gain this behaviour

Define Details

+

COOLDOWN_BUMP_ATTACK + + +

+

Add an auto attack on bump behaviour to item +valid_inventory_slot: the inventory slot the item could be held in while still bumpattacking with it +proxy_weapon: the weapon that will gain this behaviour

+ + + diff --git a/code/datums/components/burning.html b/code/datums/components/burning.html new file mode 100644 index 00000000000..6cbefca1a5e --- /dev/null +++ b/code/datums/components/burning.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/burning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/burning.dm + +

+ + +
/datum/component/burningComponent representing an atom being on fire. +Should not be used on mobs, they use the fire stacks status effects. +Can only be used on atoms that use the integrity system.
+ + + diff --git a/code/datums/components/butchering.html b/code/datums/components/butchering.html new file mode 100644 index 00000000000..3657082e726 --- /dev/null +++ b/code/datums/components/butchering.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/butchering.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/butchering.dm + +

+ + +
/datum/component/butchering/recyclerSpecial snowflake component only used for the recycler.
+ + + diff --git a/code/datums/components/caltrop.html b/code/datums/components/caltrop.html new file mode 100644 index 00000000000..4cd4f00efdc --- /dev/null +++ b/code/datums/components/caltrop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/caltrop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/caltrop.dm + +

+ + +
/datum/component/caltropCaltrop element; for hurting people when they walk over this.
+ + + diff --git a/code/datums/components/can_flash_from_behind.html b/code/datums/components/can_flash_from_behind.html new file mode 100644 index 00000000000..e86e4cdf03e --- /dev/null +++ b/code/datums/components/can_flash_from_behind.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/can_flash_from_behind.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/can_flash_from_behind.dm + +

+ + +
/datum/component/can_flash_from_behindThis mob can flash others from behind and still get at least a partial
+ + + diff --git a/code/datums/components/chasm.html b/code/datums/components/chasm.html new file mode 100644 index 00000000000..86a18785a0a --- /dev/null +++ b/code/datums/components/chasm.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/chasm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/chasm.dm + +

+ + + +
CHASM_REGISTER_SIGNALSDoesn't drop the movable, but registers a few signals to try again if the conditions change.
/obj/effect/abstract/chasm_storageAn abstract object which is basically just a bag that the chasm puts people inside

Define Details

+

CHASM_REGISTER_SIGNALS + + +

+

Doesn't drop the movable, but registers a few signals to try again if the conditions change.

+ + + diff --git a/code/datums/components/chuunibyou.html b/code/datums/components/chuunibyou.html new file mode 100644 index 00000000000..22abfc53c61 --- /dev/null +++ b/code/datums/components/chuunibyou.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/components/chuunibyou.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/chuunibyou.dm + +

+ + + + +
CHUUNIBYOU_HEAL_AMOUNThow much health healed from casting a chuuni spell
CHUUNIBYOU_COOLDOWN_TIMEcooldown between healing to prevent stuff like instant blink spell spam healing
/datum/component/chuunibyou

Define Details

+

CHUUNIBYOU_COOLDOWN_TIME + + +

+

cooldown between healing to prevent stuff like instant blink spell spam healing

CHUUNIBYOU_HEAL_AMOUNT + + +

+

how much health healed from casting a chuuni spell

+ + + diff --git a/code/datums/components/cleaner.html b/code/datums/components/cleaner.html new file mode 100644 index 00000000000..f324a1f94e9 --- /dev/null +++ b/code/datums/components/cleaner.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/cleaner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/cleaner.dm + +

+ + +
/datum/component/cleanerComponent that can be used to clean things. +Takes care of duration, cleaning skill and special cleaning interactions. +A callback can be set by the datum holding the cleaner to add custom functionality. +Soap uses a callback to decrease the amount of uses it has left after cleaning for example.
+ + + diff --git a/code/datums/components/clickbox.html b/code/datums/components/clickbox.html new file mode 100644 index 00000000000..d850572d929 --- /dev/null +++ b/code/datums/components/clickbox.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/clickbox.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/clickbox.dm + +

+ + +
/datum/component/clickboxThis component adds a near-invisible underlay to a movable target to expand the clickable surface of its icon without +resorting to MOUSE_OPACITY_OPAQUE. +The underlay ignores the parent's color and alpha and can be offset. +The name is a portmanteau of "click" and "hitbox", because technically this isn't an hitbox, +but it helps catch clicks, and I don't want to give it a loooong name like openspace_item_click_handler
+ + + diff --git a/code/datums/components/clothing_fov_visor.html b/code/datums/components/clothing_fov_visor.html new file mode 100644 index 00000000000..06aa20d1d73 --- /dev/null +++ b/code/datums/components/clothing_fov_visor.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/clothing_fov_visor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/clothing_fov_visor.dm + +

+ + +
/datum/component/clothing_fov_visorAn element to add a FOV trait to the wearer, removing it when an item is unequipped, but only as long as the visor is up.
+ + + diff --git a/code/datums/components/codeword_hearing.html b/code/datums/components/codeword_hearing.html new file mode 100644 index 00000000000..d5f6df07218 --- /dev/null +++ b/code/datums/components/codeword_hearing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/codeword_hearing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/codeword_hearing.dm + +

+ + +
/datum/component/codeword_hearingComponent that allows for highlighting of words or phrases in chat based on regular expressions.
+ + + diff --git a/code/datums/components/combustible_flooder.html b/code/datums/components/combustible_flooder.html new file mode 100644 index 00000000000..8b3c48c1bc7 --- /dev/null +++ b/code/datums/components/combustible_flooder.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/combustible_flooder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/combustible_flooder.dm + +

+ + +
/datum/component/combustible_flooderComponent that floods gas when ignited by fire.
+ + + diff --git a/code/datums/components/connect_containers.html b/code/datums/components/connect_containers.html new file mode 100644 index 00000000000..203120c7868 --- /dev/null +++ b/code/datums/components/connect_containers.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/connect_containers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/connect_containers.dm + +

+ + +
/datum/component/connect_containersThis component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.
+ + + diff --git a/code/datums/components/connect_loc_behalf.html b/code/datums/components/connect_loc_behalf.html new file mode 100644 index 00000000000..bfec0e0fc14 --- /dev/null +++ b/code/datums/components/connect_loc_behalf.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/connect_loc_behalf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/connect_loc_behalf.dm + +

+ + +
/datum/component/connect_loc_behalfThis component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.
+ + + diff --git a/code/datums/components/connect_mob_behalf.html b/code/datums/components/connect_mob_behalf.html new file mode 100644 index 00000000000..3cf927f1d08 --- /dev/null +++ b/code/datums/components/connect_mob_behalf.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/connect_mob_behalf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/connect_mob_behalf.dm + +

+ + +
/datum/component/connect_mob_behalfThis component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful
+ + + diff --git a/code/datums/components/connect_range.html b/code/datums/components/connect_range.html new file mode 100644 index 00000000000..f7020ba8c79 --- /dev/null +++ b/code/datums/components/connect_range.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/connect_range.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/connect_range.dm + +

+ + +
/datum/component/connect_rangeThis component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.
+ + + diff --git a/code/datums/components/container_item/container_item.html b/code/datums/components/container_item/container_item.html new file mode 100644 index 00000000000..8ee97243f01 --- /dev/null +++ b/code/datums/components/container_item/container_item.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/container_item/container_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/container_item/container_item.dm + +

+ + +
/datum/component/container_itemContainer item, an item which can be stored by specialized containers.
+ + + diff --git a/code/datums/components/container_item/tank_holder.html b/code/datums/components/container_item/tank_holder.html new file mode 100644 index 00000000000..6123700284e --- /dev/null +++ b/code/datums/components/container_item/tank_holder.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/container_item/tank_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/container_item/tank_holder.dm + +

+ + +
/datum/component/container_item/tank_holderTank holder item - Added to an object which can be added to a tank holder.
+ + + diff --git a/code/datums/components/conveyor_movement.html b/code/datums/components/conveyor_movement.html new file mode 100644 index 00000000000..df873d8e68b --- /dev/null +++ b/code/datums/components/conveyor_movement.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/conveyor_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/conveyor_movement.dm + +

+ + +
/datum/component/conveyManages the loop caused by being on a conveyor belt +Prevents movement while you're floating, etc +Takes the direction to move, delay between steps, and time before starting to move as arguments
+ + + diff --git a/code/datums/components/cracked.html b/code/datums/components/cracked.html new file mode 100644 index 00000000000..27fd9942045 --- /dev/null +++ b/code/datums/components/cracked.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/cracked.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/cracked.dm + +

+ + +
/datum/component/crackedTracks damage to add or remove crack overlays, when none are needed this components is qdeleted
+ + + diff --git a/code/datums/components/crafting/equipment.html b/code/datums/components/crafting/equipment.html new file mode 100644 index 00000000000..1ad9e6129af --- /dev/null +++ b/code/datums/components/crafting/equipment.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/crafting/equipment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/crafting/equipment.dm + +

+ + +
/datum/crafting_recipe/clown_scanner_upgradeRecipe used for upgrading fake N-spect scanners to bananium HONK-spect scanners
+ + + diff --git a/code/datums/components/crafting/guncrafting.html b/code/datums/components/crafting/guncrafting.html new file mode 100644 index 00000000000..96bad39487f --- /dev/null +++ b/code/datums/components/crafting/guncrafting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/crafting/guncrafting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/crafting/guncrafting.dm + +

+ + +
/obj/item/weaponcrafting/gunkitThese gun kits are printed from the security protolathe to then be used in making new weapons
+ + + diff --git a/code/datums/components/crafting/robot.html b/code/datums/components/crafting/robot.html new file mode 100644 index 00000000000..d362423031c --- /dev/null +++ b/code/datums/components/crafting/robot.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/crafting/robot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/crafting/robot.dm + +

+ + +
/datum/crafting_recipe/honkbotif you add a new one don't forget to update /obj/item/storage/medkit/attackby()
+ + + diff --git a/code/datums/components/crafting/slapcrafting.html b/code/datums/components/crafting/slapcrafting.html new file mode 100644 index 00000000000..35ba995b2ba --- /dev/null +++ b/code/datums/components/crafting/slapcrafting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/crafting/slapcrafting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/crafting/slapcrafting.dm + +

+ + +
/datum/component/slapcraftingSlapcrafting component!
+ + + diff --git a/code/datums/components/crate_carrier.html b/code/datums/components/crate_carrier.html new file mode 100644 index 00000000000..ed6dfd34de5 --- /dev/null +++ b/code/datums/components/crate_carrier.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/crate_carrier.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/crate_carrier.dm + +

+ + +
/datum/component/crate_carrierComponent for simplemobs and basicmobs that allow them to carry crates.
+ + + diff --git a/code/datums/components/creamed.html b/code/datums/components/creamed.html new file mode 100644 index 00000000000..deae4874bea --- /dev/null +++ b/code/datums/components/creamed.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/creamed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/creamed.dm + +

+ + +
/datum/component/creamedCreamed component
+ + + diff --git a/code/datums/components/curse_of_hunger.html b/code/datums/components/curse_of_hunger.html new file mode 100644 index 00000000000..e7944bc5498 --- /dev/null +++ b/code/datums/components/curse_of_hunger.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/components/curse_of_hunger.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/curse_of_hunger.dm + +

+ + + + +
HUNGER_THRESHOLD_WARNINGthe point where you can notice the item is hungry on examine.
HUNGER_THRESHOLD_TRY_EATINGthe point where the item has a chance to eat something on every tick. possibly you!
/datum/component/curse_of_hungercurse of hunger component; for very hungry items.

Define Details

+

HUNGER_THRESHOLD_TRY_EATING + + +

+

the point where the item has a chance to eat something on every tick. possibly you!

HUNGER_THRESHOLD_WARNING + + +

+

the point where you can notice the item is hungry on examine.

+ + + diff --git a/code/datums/components/curse_of_polymorph.html b/code/datums/components/curse_of_polymorph.html new file mode 100644 index 00000000000..f649cfdf9f3 --- /dev/null +++ b/code/datums/components/curse_of_polymorph.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/curse_of_polymorph.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/curse_of_polymorph.dm + +

+ + +
/datum/component/curse_of_polymorphcheck hp +poisoned food damages it +no food found, but you're dead: it bites you slightly, and doesn't regain health. +no food found: it bites you and regains some health. +curse of polymorph component;
+ + + diff --git a/code/datums/components/customizable_reagent_holder.html b/code/datums/components/customizable_reagent_holder.html new file mode 100644 index 00000000000..755576d9fe1 --- /dev/null +++ b/code/datums/components/customizable_reagent_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/customizable_reagent_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/customizable_reagent_holder.dm + +

+ + +
/datum/component/customizable_reagent_holderWhen added to an atom, item ingredients can be put into that. +The sprite is updated and reagents are transferred.
+ + + diff --git a/code/datums/components/damage_aura.html b/code/datums/components/damage_aura.html new file mode 100644 index 00000000000..d44f691b3e6 --- /dev/null +++ b/code/datums/components/damage_aura.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/damage_aura.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/damage_aura.dm + +

+ + +
/datum/component/damage_auraApplies a status effect and deals damage to people in the area. +Will deal more damage the more people are present.
+ + + diff --git a/code/datums/components/damage_chain.html b/code/datums/components/damage_chain.html new file mode 100644 index 00000000000..688e4b562f3 --- /dev/null +++ b/code/datums/components/damage_chain.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/damage_chain.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/damage_chain.dm + +

+ + +
/datum/component/damage_chainDraws a line between you and another atom, hurt anyone stood in the line
+ + + diff --git a/code/datums/components/dart_insert.html b/code/datums/components/dart_insert.html new file mode 100644 index 00000000000..139c2bf9a09 --- /dev/null +++ b/code/datums/components/dart_insert.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/dart_insert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/dart_insert.dm + +

+ + +
/datum/component/dart_insertComponent for allowing items to be inserted into foam darts. +The parent can register signal handlers for COMSIG_DART_INSERT_ADDED, +COMSIG_DART_INSERT_REMOVED to define custom behavior for when the item +is added to/removed from a dart, and COMSIG_DART_INSERT_GET_VAR_MODIFIERS +to define the modifications the item makes to the vars of the fired projectile.
+ + + diff --git a/code/datums/components/deadchat_control.html b/code/datums/components/deadchat_control.html new file mode 100644 index 00000000000..b82f61f22bc --- /dev/null +++ b/code/datums/components/deadchat_control.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/deadchat_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/deadchat_control.dm + +

+ + +
/datum/component/deadchat_controlDeadchat Plays Things - The Componenting
+ + + diff --git a/code/datums/components/death_linked.html b/code/datums/components/death_linked.html new file mode 100644 index 00000000000..f929000d169 --- /dev/null +++ b/code/datums/components/death_linked.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/death_linked.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/death_linked.dm + +

+ + +
/datum/component/death_linked
+ + + diff --git a/code/datums/components/dejavu.html b/code/datums/components/dejavu.html new file mode 100644 index 00000000000..ef616a93bc6 --- /dev/null +++ b/code/datums/components/dejavu.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/dejavu.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/dejavu.dm + +

+ + + +
/datum/component/dejavuA component to reset the parent to its previous state after some time passes
/datum/component/dejavu/timelinedifferently themed dejavu for modsuits.
+ + + diff --git a/code/datums/components/deployable.html b/code/datums/components/deployable.html new file mode 100644 index 00000000000..f43828bc628 --- /dev/null +++ b/code/datums/components/deployable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/deployable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/deployable.dm + +

+ + +
/datum/component/deployableDeployable - Bring your big guns with you, and smack em' down where you want.
+ + + diff --git a/code/datums/components/direct_explosive_trap.html b/code/datums/components/direct_explosive_trap.html new file mode 100644 index 00000000000..946331882d9 --- /dev/null +++ b/code/datums/components/direct_explosive_trap.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/direct_explosive_trap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/direct_explosive_trap.dm + +

+ + +
/datum/component/direct_explosive_trapResponds to certain signals and 'explodes' on the person using the item. +Differs from interaction_booby_trap in that this doesn't actually explode, it just directly calls ex_act on one person.
+ + + diff --git a/code/datums/components/drift.html b/code/datums/components/drift.html new file mode 100644 index 00000000000..dfa72403f13 --- /dev/null +++ b/code/datums/components/drift.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/drift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/drift.dm + +

+ + +
/datum/component/driftComponent that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice
+ + + diff --git a/code/datums/components/egg_layer.html b/code/datums/components/egg_layer.html new file mode 100644 index 00000000000..fa93f1770bc --- /dev/null +++ b/code/datums/components/egg_layer.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/egg_layer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/egg_layer.dm + +

+ + +
/datum/component/egg_layerComponent that manages how many eggs to lay, what can be fed to the mob to make them lay more, and what is actually laid. +Since the only real interaction with the component is an attackby, the nice part is that we're able to make this an atom level proc. +egg_layer will loudly fail if you do not provide it the arguments, as to encourage explicicy(?)
+ + + diff --git a/code/datums/components/electrified_buckle.html b/code/datums/components/electrified_buckle.html new file mode 100644 index 00000000000..a819834643c --- /dev/null +++ b/code/datums/components/electrified_buckle.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/components/electrified_buckle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/electrified_buckle.dm + +

+ + + + +
ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISORdivide the power in the cable net under parent by this to determine the shock damage
ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTHit will not shock the mob buckled to parent if its required to use a cable to shock and the cable has less than this power availaible
/datum/component/electrified_buckleattach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time. +the parent is supposed to define its behavior with arguments in AddComponent

Define Details

+

ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH + + +

+

it will not shock the mob buckled to parent if its required to use a cable to shock and the cable has less than this power availaible

ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR + + +

+

divide the power in the cable net under parent by this to determine the shock damage

+ + + diff --git a/code/datums/components/engraved.html b/code/datums/components/engraved.html new file mode 100644 index 00000000000..49c5797ebe7 --- /dev/null +++ b/code/datums/components/engraved.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/engraved.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/engraved.dm + +

+ + +
/datum/component/engravedcomponent for walls that applies an engraved overlay and lets you examine it to read a story (+ art element yay) +new creations will get a high art value, cross round scrawlings will get a low one. +MUST be a component, though it doesn't look like it. SSPersistence demandeth
+ + + diff --git a/code/datums/components/evolutionary_leap.html b/code/datums/components/evolutionary_leap.html new file mode 100644 index 00000000000..13d202c4cd0 --- /dev/null +++ b/code/datums/components/evolutionary_leap.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/evolutionary_leap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/evolutionary_leap.dm + +

+ + +
/datum/component/evolutionary_leap
+ + + diff --git a/code/datums/components/explodable.html b/code/datums/components/explodable.html new file mode 100644 index 00000000000..f779c38d39f --- /dev/null +++ b/code/datums/components/explodable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/explodable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/explodable.dm + +

+ + +
/datum/component/explodableComponent specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.
+ + + diff --git a/code/datums/components/explode_on_attack.html b/code/datums/components/explode_on_attack.html new file mode 100644 index 00000000000..a2e899c938d --- /dev/null +++ b/code/datums/components/explode_on_attack.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/explode_on_attack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/explode_on_attack.dm + +

+ + +
/datum/component/explode_on_attackBombs the user after an attack
+ + + diff --git a/code/datums/components/faction_granter.html b/code/datums/components/faction_granter.html new file mode 100644 index 00000000000..078e7bd35d9 --- /dev/null +++ b/code/datums/components/faction_granter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/faction_granter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/faction_granter.dm + +

+ + +
/datum/component/faction_granter
+ + + diff --git a/code/datums/components/fantasy/suffixes.html b/code/datums/components/fantasy/suffixes.html new file mode 100644 index 00000000000..8ef22aae432 --- /dev/null +++ b/code/datums/components/fantasy/suffixes.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/fantasy/suffixes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/fantasy/suffixes.dm + +

+ + + +
/datum/fantasy_affix/baneGood suffixes
/datum/fantasy_affix/foolBad suffixes
+ + + diff --git a/code/datums/components/fertile_egg.html b/code/datums/components/fertile_egg.html new file mode 100644 index 00000000000..8f67e6ee0a8 --- /dev/null +++ b/code/datums/components/fertile_egg.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/fertile_egg.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/fertile_egg.dm + +

+ + +
/datum/component/fertile_egg
+ + + diff --git a/code/datums/components/focused_attacker.html b/code/datums/components/focused_attacker.html new file mode 100644 index 00000000000..ebdcacfa6eb --- /dev/null +++ b/code/datums/components/focused_attacker.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/focused_attacker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/focused_attacker.dm + +

+ + +
/datum/component/focused_attackerRoll what we caught based on modified table +Increases our attack damage every time we attack the same target +Not compatible with any other component or status effect which modifies attack damage
+ + + diff --git a/code/datums/components/food/decomposition.html b/code/datums/components/food/decomposition.html new file mode 100644 index 00000000000..c39c825db42 --- /dev/null +++ b/code/datums/components/food/decomposition.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/food/decomposition.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/food/decomposition.dm + +

+ + +
/datum/component/decompositionMakes things decompose when exposed to germs. Requires /datum/component/germ_sensitive to detect exposure.
+ + + diff --git a/code/datums/components/food/edible.html b/code/datums/components/food/edible.html new file mode 100644 index 00000000000..d025f1d1667 --- /dev/null +++ b/code/datums/components/food/edible.html @@ -0,0 +1,51 @@ + + + + + + + code/datums/components/food/edible.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/food/edible.dm + +

+ + + + + +

This component makes it possible to make things edible. What this means is that you can take a bite or force someone to take a bite (in the case of items). +These items take a specific time to eat, and can do most of the things our original food items could.

+

Behavior that's still missing from this component that original food items had that should either be put into separate components or somewhere else: +Components: +Drying component (jerky etc) +Processable component (Slicing and cooking behavior essentialy, making it go from item A to B when conditions are met.)

+
Misc:
+Something for cakes (You can store things inside)
+
EAT_TIME_FORCE_FEEDNormal time to forcefeed someone something
EAT_TIME_VORACIOUS_MULTMultiplier for eat time if the eater has TRAIT_VORACIOUS
EAT_TIME_VORACIOUS_FULL_MULTMultiplier for how much longer it takes a voracious folk to eat while full

Define Details

+

EAT_TIME_FORCE_FEED + + +

+

Normal time to forcefeed someone something

EAT_TIME_VORACIOUS_FULL_MULT + + +

+

Multiplier for how much longer it takes a voracious folk to eat while full

EAT_TIME_VORACIOUS_MULT + + +

+

Multiplier for eat time if the eater has TRAIT_VORACIOUS

+ + + diff --git a/code/datums/components/food/germ_sensitive.html b/code/datums/components/food/germ_sensitive.html new file mode 100644 index 00000000000..243a469e0a2 --- /dev/null +++ b/code/datums/components/food/germ_sensitive.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/food/germ_sensitive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/food/germ_sensitive.dm + +

+ + + +
GERM_EXPOSURE_DELAYTime needed for bacteria to infect the parent object
/datum/component/germ_sensitiveMakes items infective if left on floor, also sending corresponding signals to parent

Define Details

+

GERM_EXPOSURE_DELAY + + +

+

Time needed for bacteria to infect the parent object

+ + + diff --git a/code/datums/components/food/ghost_edible.html b/code/datums/components/food/ghost_edible.html new file mode 100644 index 00000000000..c9ce229e96e --- /dev/null +++ b/code/datums/components/food/ghost_edible.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/food/ghost_edible.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/food/ghost_edible.dm + +

+ + +
/datum/component/ghost_edibleAllows ghosts to eat this by orbiting it +They do this by consuming the reagents in the object, so if it doesn't have any then it won't work
+ + + diff --git a/code/datums/components/food/golem_food.html b/code/datums/components/food/golem_food.html new file mode 100644 index 00000000000..391dbbaa405 --- /dev/null +++ b/code/datums/components/food/golem_food.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/food/golem_food.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/food/golem_food.dm + +

+ + + +
/datum/component/golem_foodComponent which allows something to be eaten by a golem
/obj/item/food/golem_foodAbstract food item used to feed golems
+ + + diff --git a/code/datums/components/food/ice_cream_holder.html b/code/datums/components/food/ice_cream_holder.html new file mode 100644 index 00000000000..fd6bb4e9a29 --- /dev/null +++ b/code/datums/components/food/ice_cream_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/food/ice_cream_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/food/ice_cream_holder.dm + +

+ + + +
/datum/component/ice_cream_holderIce Cream Holder: Allows the edible parent object to be used as an ice cream cone (or cup... in a next future).
/datum/ice_cream_flavour/vanillaOUR TYPES OF ICE CREAM, COME GET SOME.
+ + + diff --git a/code/datums/components/food_storage.html b/code/datums/components/food_storage.html new file mode 100644 index 00000000000..a5c0fde4e1f --- /dev/null +++ b/code/datums/components/food_storage.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/food_storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/food_storage.dm + +

+ + +
/datum/component/food_storage--Food storage component-- +This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +Consuming food storages with an item inside can cause unique interactions, such as eating glass shards.
+ + + diff --git a/code/datums/components/force_move.html b/code/datums/components/force_move.html new file mode 100644 index 00000000000..ba8828a4234 --- /dev/null +++ b/code/datums/components/force_move.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/force_move.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/force_move.dm + +

+ + +
/datum/component/force_moveForced directional movement, but with a twist +Let's block pressure and client movements while doing it so we can't be interrupted +Supports spinning on each move, for lube related reasons
+ + + diff --git a/code/datums/components/fov_handler.html b/code/datums/components/fov_handler.html new file mode 100644 index 00000000000..2fdb52ed9d4 --- /dev/null +++ b/code/datums/components/fov_handler.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/fov_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/fov_handler.dm + +

+ + +
/datum/component/fov_handlerComponent which handles Field of View masking for clients. FoV attributes are at /mob/living
+ + + diff --git a/code/datums/components/gas_leaker.html b/code/datums/components/gas_leaker.html new file mode 100644 index 00000000000..a4c8339664f --- /dev/null +++ b/code/datums/components/gas_leaker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/gas_leaker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/gas_leaker.dm + +

+ + +
/datum/component/gas_leakerA component to leak gas over time from damaged objects with gas storage
+ + + diff --git a/code/datums/components/geiger_sound.html b/code/datums/components/geiger_sound.html new file mode 100644 index 00000000000..c343ce844de --- /dev/null +++ b/code/datums/components/geiger_sound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/geiger_sound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/geiger_sound.dm + +

+ + +
/datum/component/geiger_soundAtoms with this component will play sounds depending on nearby radiation
+ + + diff --git a/code/datums/components/ghost_direct_control.html b/code/datums/components/ghost_direct_control.html new file mode 100644 index 00000000000..d2b74a6baa5 --- /dev/null +++ b/code/datums/components/ghost_direct_control.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/ghost_direct_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ghost_direct_control.dm + +

+ + +
/datum/component/ghost_direct_controlComponent which lets ghosts click on a mob to take control of it
+ + + diff --git a/code/datums/components/gps.html b/code/datums/components/gps.html new file mode 100644 index 00000000000..ac3e3423140 --- /dev/null +++ b/code/datums/components/gps.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/gps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/gps.dm + +

+ + + +
/datum/component/gpsGPS component. Atoms that have this show up on gps. Pretty simple stuff.
/datum/component/gps/itemGPS component subtype. Only gps/item's can be used to open the UI.
+ + + diff --git a/code/datums/components/ground_sinking.html b/code/datums/components/ground_sinking.html new file mode 100644 index 00000000000..ad4e269bc3d --- /dev/null +++ b/code/datums/components/ground_sinking.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/ground_sinking.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ground_sinking.dm + +

+ + +
/datum/component/ground_sinkingA basic mob with this component will sink into the ground, once sinked into the ground it will regenerate and +might gain damage resistence. Can be combined with caltrop.
+ + + diff --git a/code/datums/components/growth_and_differentiation.html b/code/datums/components/growth_and_differentiation.html new file mode 100644 index 00000000000..204fc025887 --- /dev/null +++ b/code/datums/components/growth_and_differentiation.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/growth_and_differentiation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/growth_and_differentiation.dm + +

+ + +
/datum/component/growth_and_differentiation
+ + + diff --git a/code/datums/components/gunpoint.html b/code/datums/components/gunpoint.html new file mode 100644 index 00000000000..8002af918f8 --- /dev/null +++ b/code/datums/components/gunpoint.html @@ -0,0 +1,57 @@ + + + + + + + code/datums/components/gunpoint.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/gunpoint.dm + +

+ + + + + + + +
GUNPOINT_DELAY_STAGE_2How long it takes from the gunpoint is initiated to reach stage 2
GUNPOINT_DELAY_STAGE_3How long it takes from stage 2 starting to move up to stage 3
GUNPOINT_BASE_WOUND_BONUSIf the projectile doesn't have a wound_bonus of CANT_WOUND, we add (this * the stage mult) to their wound_bonus and bare_wound_bonus upon triggering
GUNPOINT_MULT_STAGE_1How much the damage and wound bonus mod is multiplied when you're on stage 1
GUNPOINT_MULT_STAGE_2As above, for stage 2
GUNPOINT_MULT_STAGE_3As above, for stage 3

Define Details

+

GUNPOINT_BASE_WOUND_BONUS + + +

+

If the projectile doesn't have a wound_bonus of CANT_WOUND, we add (this * the stage mult) to their wound_bonus and bare_wound_bonus upon triggering

GUNPOINT_DELAY_STAGE_2 + + +

+

How long it takes from the gunpoint is initiated to reach stage 2

GUNPOINT_DELAY_STAGE_3 + + +

+

How long it takes from stage 2 starting to move up to stage 3

GUNPOINT_MULT_STAGE_1 + + +

+

How much the damage and wound bonus mod is multiplied when you're on stage 1

GUNPOINT_MULT_STAGE_2 + + +

+

As above, for stage 2

GUNPOINT_MULT_STAGE_3 + + +

+

As above, for stage 3

+ + + diff --git a/code/datums/components/hazard_area.html b/code/datums/components/hazard_area.html new file mode 100644 index 00000000000..f5eaea58d27 --- /dev/null +++ b/code/datums/components/hazard_area.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/hazard_area.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/hazard_area.dm + +

+ + + +
/datum/component/hazard_areaThis is a relatively simple component that attempts to deter the parent of the component away +from a specific area or areas. By default it simply applies a penalty where all movement is +four times slower than usual and any action that would affect your 'next move' has a penalty +multiplier of 4 attached.
/datum/status_effect/hazard_areaThe dedicated status effect for the hazard_area component - use with caution and know what it does!
+ + + diff --git a/code/datums/components/healing_touch.html b/code/datums/components/healing_touch.html new file mode 100644 index 00000000000..58f173baae8 --- /dev/null +++ b/code/datums/components/healing_touch.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/healing_touch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/healing_touch.dm + +

+ + +
/datum/component/healing_touchA mob with this component will be able to heal certain targets by attacking them. +This intercepts the attack and starts a do_after if the target is in its allowed type list.
+ + + diff --git a/code/datums/components/health_scaling_effects.html b/code/datums/components/health_scaling_effects.html new file mode 100644 index 00000000000..e095e323900 --- /dev/null +++ b/code/datums/components/health_scaling_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/health_scaling_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/health_scaling_effects.dm + +

+ + +
/datum/component/health_scaling_effects
+ + + diff --git a/code/datums/components/heirloom.html b/code/datums/components/heirloom.html new file mode 100644 index 00000000000..906416e1e45 --- /dev/null +++ b/code/datums/components/heirloom.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/heirloom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/heirloom.dm + +

+ + +
/datum/component/heirloomHeirloom component. For use with the family heirloom quirk, tracks that an item is someone's family heirloom.
+ + + diff --git a/code/datums/components/hide_highest_offset.html b/code/datums/components/hide_highest_offset.html new file mode 100644 index 00000000000..c95477f8e4e --- /dev/null +++ b/code/datums/components/hide_highest_offset.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/hide_highest_offset.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/hide_highest_offset.dm + +

+ + +
/datum/component/plane_hide_highest_offsetComponent that takes a plane master, and will hide it if it's the highest offset of its kind +This allows us to not show PMs to clients if they're not actively doing anything
+ + + diff --git a/code/datums/components/holderloving.html b/code/datums/components/holderloving.html new file mode 100644 index 00000000000..79ac58e5285 --- /dev/null +++ b/code/datums/components/holderloving.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/holderloving.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/holderloving.dm + +

+ + +
/datum/component/holderloving
+ + + diff --git a/code/datums/components/interaction_booby_trap.html b/code/datums/components/interaction_booby_trap.html new file mode 100644 index 00000000000..1db7a496ad7 --- /dev/null +++ b/code/datums/components/interaction_booby_trap.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/interaction_booby_trap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/interaction_booby_trap.dm + +

+ + +
/datum/component/interaction_booby_trapAttached to an atom, creates an explosion when it is interacted with
+ + + diff --git a/code/datums/components/irradiated.html b/code/datums/components/irradiated.html new file mode 100644 index 00000000000..bb2955652ed --- /dev/null +++ b/code/datums/components/irradiated.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/irradiated.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/irradiated.dm + +

+ + +
/datum/component/irradiatedThis atom is irradiated, and will glow green. +Humans will take toxin damage until all their toxin damage is cleared.
+ + + diff --git a/code/datums/components/itembound.html b/code/datums/components/itembound.html new file mode 100644 index 00000000000..0099a9d1315 --- /dev/null +++ b/code/datums/components/itembound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/itembound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/itembound.dm + +

+ + +
/datum/component/itemboundWhen a movable has this component AND they are in the contents of a container, they will no longer be able to use their hands and be immobilized until they are removed from the container. So far, this is only useful for smites.
+ + + diff --git a/code/datums/components/itempicky.html b/code/datums/components/itempicky.html new file mode 100644 index 00000000000..a5020558f54 --- /dev/null +++ b/code/datums/components/itempicky.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/itempicky.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/itempicky.dm + +

+ + +
/datum/component/itempickyYou can only hold whitelisted items
+ + + diff --git a/code/datums/components/jousting.html b/code/datums/components/jousting.html new file mode 100644 index 00000000000..744db23fe6e --- /dev/null +++ b/code/datums/components/jousting.html @@ -0,0 +1,34 @@ + + + + + + + code/datums/components/jousting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/jousting.dm + +

+ + + +
MOVEMENT_RESET_COOLDOWN_TIMEAmount of time each timer has, used to reset the jousting back, indicating that the person has stopped moving.
/datum/component/joustingdamage or heal overlord +##jousting

Define Details

+

MOVEMENT_RESET_COOLDOWN_TIME + + +

+

Amount of time each timer has, used to reset the jousting back, indicating that the person has stopped moving.

+ + + diff --git a/code/datums/components/keep_me_secure.html b/code/datums/components/keep_me_secure.html new file mode 100644 index 00000000000..c2383051a98 --- /dev/null +++ b/code/datums/components/keep_me_secure.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/keep_me_secure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/keep_me_secure.dm + +

+ + +
/datum/component/keep_me_secure
+ + + diff --git a/code/datums/components/knockoff.html b/code/datums/components/knockoff.html new file mode 100644 index 00000000000..ac5f6d5145c --- /dev/null +++ b/code/datums/components/knockoff.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/knockoff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/knockoff.dm + +

+ + +
/datum/component/knockoffItems with this component will have a chance to get knocked off +(unequipped and sent to the ground) when the wearer is disarmed or knocked down.
+ + + diff --git a/code/datums/components/label.html b/code/datums/components/label.html new file mode 100644 index 00000000000..7ef1e7d9ef7 --- /dev/null +++ b/code/datums/components/label.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/label.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/label.dm + +

+ + +
/datum/component/labelThe label component.
+ + + diff --git a/code/datums/components/leash.html b/code/datums/components/leash.html new file mode 100644 index 00000000000..410df6bbe25 --- /dev/null +++ b/code/datums/components/leash.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/leash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/leash.dm + +

+ + + +
/datum/component/leashKeeps the parent within the distance of its owner as naturally as possible, +but teleporting if necessary.
/obj/effect/spawner/debug_leashA debug spawner that will create a corgi leashed to a bike horn, plus a beam
+ + + diff --git a/code/datums/components/life_link.html b/code/datums/components/life_link.html new file mode 100644 index 00000000000..4a675c566fc --- /dev/null +++ b/code/datums/components/life_link.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/life_link.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/life_link.dm + +

+ + +
/datum/component/life_linkA mob with this component passes all damage (and healing) it takes to another mob, passed as a parameter +Essentially we use another mob's health bar as our health bar
+ + + diff --git a/code/datums/components/light_eater.html b/code/datums/components/light_eater.html new file mode 100644 index 00000000000..fcf1bb4212b --- /dev/null +++ b/code/datums/components/light_eater.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/light_eater.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/light_eater.dm + +

+ + +
/datum/component/light_eaterMakes anything it attaches to capable of removing something's ability to produce light until it is destroyed
+ + + diff --git a/code/datums/components/ling_decoy_brain.html b/code/datums/components/ling_decoy_brain.html new file mode 100644 index 00000000000..80888989bd1 --- /dev/null +++ b/code/datums/components/ling_decoy_brain.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/ling_decoy_brain.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ling_decoy_brain.dm + +

+ + +
/datum/component/ling_decoy_brainComponent applied to ling brains to make them into decoy brains, as ling brains are vestigial and don't do anything
+ + + diff --git a/code/datums/components/listen_and_repeat.html b/code/datums/components/listen_and_repeat.html new file mode 100644 index 00000000000..90327f82864 --- /dev/null +++ b/code/datums/components/listen_and_repeat.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/components/listen_and_repeat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/listen_and_repeat.dm + +

+ + + + +
MAX_SPEECH_BUFFER_SIZEThe maximum number of phrases we can store in our speech buffer
RADIO_IGNORE_CHANCETendency we have to ignore radio chatter
/datum/component/listen_and_repeatSimple element that will deterministically set a value based on stuff that the source has heard and will then compel the source to repeat it. +Requires a valid AI Blackboard.

Define Details

+

MAX_SPEECH_BUFFER_SIZE + + +

+

The maximum number of phrases we can store in our speech buffer

RADIO_IGNORE_CHANCE + + +

+

Tendency we have to ignore radio chatter

+ + + diff --git a/code/datums/components/lock_on_cursor.html b/code/datums/components/lock_on_cursor.html new file mode 100644 index 00000000000..54d0d1d3c6c --- /dev/null +++ b/code/datums/components/lock_on_cursor.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/lock_on_cursor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/lock_on_cursor.dm + +

+ + + +
/datum/component/lock_on_cursor
/atom/movable/screen/fullscreen/cursor_catcher/lock_onTracks cursor movement and passes clicks through to the turf under the cursor
+ + + diff --git a/code/datums/components/lockable_storage.html b/code/datums/components/lockable_storage.html new file mode 100644 index 00000000000..69dd82a1c64 --- /dev/null +++ b/code/datums/components/lockable_storage.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/lockable_storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/lockable_storage.dm + +

+ + +
/datum/component/lockable_storage##lockable_storage +Adds a UI to the object that triggers when you use it in hand (if item) or attack (everything else). +The UI is a lock that, when unlocked, allows you to access the contents inside of it. +When using this, make sure you have icons for on_update_icon_state.
+ + + diff --git a/code/datums/components/magnet.html b/code/datums/components/magnet.html new file mode 100644 index 00000000000..9280c1c89d6 --- /dev/null +++ b/code/datums/components/magnet.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/magnet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/magnet.dm + +

+ + +
/datum/component/magnetAttracts items of a certain typepath
+ + + diff --git a/code/datums/components/manual_heart.html b/code/datums/components/manual_heart.html new file mode 100644 index 00000000000..f6c908b8e6d --- /dev/null +++ b/code/datums/components/manual_heart.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/components/manual_heart.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/manual_heart.dm + +

+ + + + +
MANUAL_HEART_GRACE_PERIODIf a beat is missed, how long to give before the next is missed
/datum/component/manual_heartManual heart pumping component. Requires the holder to pump their heart manually every +so often or die.
/datum/action/cooldown/manual_heartAction to pump your heart. Cooldown will always be set to 1 second less than the pump delay.

Define Details

+

MANUAL_HEART_GRACE_PERIOD + + +

+

If a beat is missed, how long to give before the next is missed

+ + + diff --git a/code/datums/components/material/material_container.html b/code/datums/components/material/material_container.html new file mode 100644 index 00000000000..7ed7dcd5f3f --- /dev/null +++ b/code/datums/components/material/material_container.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/material/material_container.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/material/material_container.dm + +

+ + +

This datum should be used for handling mineral contents of machines and whatever else is supposed to hold minerals and make use of them.

+

Variables: +amount - raw amount of the mineral this container is holding, calculated by the defined value SHEET_MATERIAL_AMOUNT=SHEET_MATERIAL_AMOUNT. +max_amount - max raw amount of mineral this container can hold. +sheet_type - type of the mineral sheet the container handles, used for output. +parent - object that this container is being used by, used for output. +MAX_STACK_SIZE - size of a stack of mineral sheets. Constant.

+ + + diff --git a/code/datums/components/mind_linker.html b/code/datums/components/mind_linker.html new file mode 100644 index 00000000000..e4a39e77f16 --- /dev/null +++ b/code/datums/components/mind_linker.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/mind_linker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/mind_linker.dm + +

+ + + +
/datum/component/mind_linkerA component that handles linking multiple player's minds +into one network which allows them to talk directly to one another. +Like telepathy but for multiple people at once!
/datum/component/mind_linker/active_linkingSubtype of mind linker (I know) which is more active rather than passive, +which involves the master linking people manually rather than people being added automatically.
+ + + diff --git a/code/datums/components/mob_chain.html b/code/datums/components/mob_chain.html new file mode 100644 index 00000000000..3bc21c4c6b6 --- /dev/null +++ b/code/datums/components/mob_chain.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/mob_chain.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/mob_chain.dm + +

+ + + +
/datum/component/mob_chainComponent allowing you to create a linked list of mobs. +These mobs will follow each other and attack as one, as well as sharing damage taken.
/datum/action/cooldown/worm_contractShrink the chain of mobs into one tile.
+ + + diff --git a/code/datums/components/mob_harvest.html b/code/datums/components/mob_harvest.html new file mode 100644 index 00000000000..40e7a9605c3 --- /dev/null +++ b/code/datums/components/mob_harvest.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/mob_harvest.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/mob_harvest.dm + +

+ + +
/datum/component/mob_harvestHarvesting component. Useful if you want to be able to harvest items from living mobs.
+ + + diff --git a/code/datums/components/multiple_lives.html b/code/datums/components/multiple_lives.html new file mode 100644 index 00000000000..ba3c51d59ab --- /dev/null +++ b/code/datums/components/multiple_lives.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/multiple_lives.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/multiple_lives.dm + +

+ + +
/datum/component/multiple_livesA simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.
+ + + diff --git a/code/datums/components/mutant_hands.html b/code/datums/components/mutant_hands.html new file mode 100644 index 00000000000..5cddfa0e27b --- /dev/null +++ b/code/datums/components/mutant_hands.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/mutant_hands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/mutant_hands.dm + +

+ + + +
/datum/component/mutant_hands
/obj/item/mutant_handGeneric mutant hand type for use with the mutant hands component +(Technically speaking, the component doesn't require you use this type. But it's here for posterity)
+ + + diff --git a/code/datums/components/nuclear_bomb_operator.html b/code/datums/components/nuclear_bomb_operator.html new file mode 100644 index 00000000000..b0cff6e8161 --- /dev/null +++ b/code/datums/components/nuclear_bomb_operator.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/nuclear_bomb_operator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/nuclear_bomb_operator.dm + +

+ + +
/datum/component/nuclear_bomb_operatorComponent applied to handless non-carbon mobs to allow them to perform the function of a nuclear operative. +Effectively this means they need to be able to:
+ + + diff --git a/code/datums/components/object_possession.html b/code/datums/components/object_possession.html new file mode 100644 index 00000000000..7092e508a21 --- /dev/null +++ b/code/datums/components/object_possession.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/object_possession.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/object_possession.dm + +

+ + +
/datum/component/object_possessionComponent that allows a user to control any object as if it were a mob. Does give the user incorporeal movement.
+ + + diff --git a/code/datums/components/omen.html b/code/datums/components/omen.html new file mode 100644 index 00000000000..969b8904cc5 --- /dev/null +++ b/code/datums/components/omen.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/components/omen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/omen.dm + +

+ + + + + +
/datum/component/omenomen.dm: For when you want someone to have a really bad day
/datum/component/omen/smiteThe smite omen. Permanent.
/datum/component/omen/quirkThe quirk omen. Permanent. +Has only a 50% chance of bad things happening, and takes only 25% of normal damage.
/datum/component/omen/bibleThe bible omen. +While it lasts, parent gets a cursed aura filter.
+ + + diff --git a/code/datums/components/on_hit_effect.html b/code/datums/components/on_hit_effect.html new file mode 100644 index 00000000000..5bebb77901a --- /dev/null +++ b/code/datums/components/on_hit_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/on_hit_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/on_hit_effect.dm + +

+ + +
/datum/component/on_hit_effect
+ + + diff --git a/code/datums/components/onwear_mood.html b/code/datums/components/onwear_mood.html new file mode 100644 index 00000000000..7c456f15262 --- /dev/null +++ b/code/datums/components/onwear_mood.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/onwear_mood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/onwear_mood.dm + +

+ + +
/datum/component/onwear_moodAdd to clothing to give the wearer a mood buff and a unique examine text
+ + + diff --git a/code/datums/components/orbit_poll.html b/code/datums/components/orbit_poll.html new file mode 100644 index 00000000000..32aa6717b33 --- /dev/null +++ b/code/datums/components/orbit_poll.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/orbit_poll.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/orbit_poll.dm + +

+ + +
/datum/component/orbit_pollA replacement for the standard poll_ghost_candidate. +Use this to subtly ask players to join - it picks from orbiters. +Please use named arguments for this.
+ + + diff --git a/code/datums/components/overlay_lighting.html b/code/datums/components/overlay_lighting.html new file mode 100644 index 00000000000..d09c1b3de7d --- /dev/null +++ b/code/datums/components/overlay_lighting.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/components/overlay_lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/overlay_lighting.dm + +

+ + + + +
LIGHTING_ONFor switchable lights, is it on and currently emitting light?
LIGHTING_ATTACHEDIs the parent attached to something else, its loc? Then we need to keep an eye of this.
/datum/component/overlay_lightingMovable atom overlay-based lighting component.

Define Details

+

LIGHTING_ATTACHED + + +

+

Is the parent attached to something else, its loc? Then we need to keep an eye of this.

LIGHTING_ON + + +

+

For switchable lights, is it on and currently emitting light?

+ + + diff --git a/code/datums/components/palette.html b/code/datums/components/palette.html new file mode 100644 index 00000000000..70cce8b5445 --- /dev/null +++ b/code/datums/components/palette.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/palette.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/palette.dm + +

+ + +
/datum/component/paletteA component that stores colors for use by painting-related items like spraycans or palettes +which can be accessed through a radial menu by right clicking the item while it's held by the user mob. +Right-clicking a color will open a color input prompt to edit it. Left clicking will instead select it +and call set_painting_tool_color() on the parent for more specific object behavior.
+ + + diff --git a/code/datums/components/parry.html b/code/datums/components/parry.html new file mode 100644 index 00000000000..aaf3f42a393 --- /dev/null +++ b/code/datums/components/parry.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/parry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/parry.dm + +

+ + +
/datum/component/projectile_parryAdd to a living mob to allow them to "parry" projectiles by clicking on their tile, sending them back at the firer.
+ + + diff --git a/code/datums/components/payment.html b/code/datums/components/payment.html new file mode 100644 index 00000000000..b5ad6e56ae5 --- /dev/null +++ b/code/datums/components/payment.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/payment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/payment.dm + +

+ + +
/datum/component/paymentHandles simple payment operations where the cost of the object in question doesn't change.
+ + + diff --git a/code/datums/components/pet_commands/fetch.html b/code/datums/components/pet_commands/fetch.html new file mode 100644 index 00000000000..a6748098cd2 --- /dev/null +++ b/code/datums/components/pet_commands/fetch.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/pet_commands/fetch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/pet_commands/fetch.dm + +

+ + +
/datum/pet_command/point_targeting/fetchWatch for someone throwing or pointing at something and then go get it and bring it back. +If it's food we might eat it instead.
+ + + diff --git a/code/datums/components/pet_commands/obeys_commands.html b/code/datums/components/pet_commands/obeys_commands.html new file mode 100644 index 00000000000..fc36292a5d6 --- /dev/null +++ b/code/datums/components/pet_commands/obeys_commands.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/pet_commands/obeys_commands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/pet_commands/obeys_commands.dm + +

+ + +
/datum/component/obeys_commandsManages a list of pet command datums, allowing you to boss it around +Creates a radial menu of pet commands when this creature is alt-clicked, if it has any
+ + + diff --git a/code/datums/components/pet_commands/pet_command.html b/code/datums/components/pet_commands/pet_command.html new file mode 100644 index 00000000000..35009b21403 --- /dev/null +++ b/code/datums/components/pet_commands/pet_command.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/pet_commands/pet_command.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/pet_commands/pet_command.dm + +

+ + + +
/datum/pet_commandSet some AI blackboard commands in response to receiving instructions +This is abstract and should be extended for actual behaviour
/datum/pet_command/point_targetingAs above but also listens for you pointing at something and marks it as a target
+ + + diff --git a/code/datums/components/pet_commands/pet_commands_basic.html b/code/datums/components/pet_commands/pet_commands_basic.html new file mode 100644 index 00000000000..4f24d1f25b5 --- /dev/null +++ b/code/datums/components/pet_commands/pet_commands_basic.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/components/pet_commands/pet_commands_basic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/pet_commands/pet_commands_basic.dm + +

+ + + + + + + + + + +
/datum/pet_command/idleTells a pet to resume its idle behaviour, usually staying put where you leave it
/datum/pet_command/freeTells a pet to exit command mode and resume its normal behaviour, which includes regular target-seeking and what have you
/datum/pet_command/followTells a pet to follow you until you tell it to do something else
/datum/pet_command/play_deadPretend to be dead for a random period of time
/datum/pet_command/good_boyReact if complimented
/datum/pet_command/untargeted_abilityUse an an ability that does not require any targets
/datum/pet_command/point_targeting/attackTells a pet to chase and bite the next thing you point at
/datum/pet_command/point_targeting/breed
/datum/pet_command/point_targeting/use_abilityTells a pet to use some kind of ability on the next thing you point at
+ + + diff --git a/code/datums/components/phylactery.html b/code/datums/components/phylactery.html new file mode 100644 index 00000000000..4ffff41b3cb --- /dev/null +++ b/code/datums/components/phylactery.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/phylactery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/phylactery.dm + +

+ + +
/datum/component/phylactery
+ + + diff --git a/code/datums/components/pinata.html b/code/datums/components/pinata.html new file mode 100644 index 00000000000..b91d3473b6b --- /dev/null +++ b/code/datums/components/pinata.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/pinata.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/pinata.dm + +

+ + +
/datum/component/pinataObjects or mobs with this componenet will drop items when taking damage.
+ + + diff --git a/code/datums/components/pinnable_accessory.html b/code/datums/components/pinnable_accessory.html new file mode 100644 index 00000000000..b9e965648c2 --- /dev/null +++ b/code/datums/components/pinnable_accessory.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/pinnable_accessory.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/pinnable_accessory.dm + +

+ + +
/datum/component/pinnable_accessoryThis accessory can be pinned onto someone else
+ + + diff --git a/code/datums/components/plumbing/_plumbing.html b/code/datums/components/plumbing/_plumbing.html new file mode 100644 index 00000000000..63517595b8b --- /dev/null +++ b/code/datums/components/plumbing/_plumbing.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/components/plumbing/_plumbing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/plumbing/_plumbing.dm + +

+ + + + + + +
/datum/component/plumbing/simple_demandhas one pipe input that only takes, example is manual output pipe
/datum/component/plumbing/simple_supplyhas one pipe output that only supplies. example is liquid pump and manual input pipe
/datum/component/plumbing/tankinput and output, like a holding tank
/datum/component/plumbing/bufferBaby component for the buffer plumbing machine
/datum/component/plumbing/aquariumLazily demand from any direction. Overlays won't look good, and the aquarium sprite occupies about the entire 32x32 area anyway.
+ + + diff --git a/code/datums/components/plumbing/filter.html b/code/datums/components/plumbing/filter.html new file mode 100644 index 00000000000..df9ce8c542e --- /dev/null +++ b/code/datums/components/plumbing/filter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/plumbing/filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/plumbing/filter.dm + +

+ + +
/datum/component/plumbing/filterThe magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter
+ + + diff --git a/code/datums/components/plumbing/reaction_chamber.html b/code/datums/components/plumbing/reaction_chamber.html new file mode 100644 index 00000000000..954ae6e199d --- /dev/null +++ b/code/datums/components/plumbing/reaction_chamber.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/plumbing/reaction_chamber.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/plumbing/reaction_chamber.dm + +

+ + + +
/datum/component/plumbing/acidic_inputSpecial connect that we currently use for reaction chambers. Being used so we can keep certain inputs separate, like into a special internal acid container
/datum/component/plumbing/alkaline_inputSpecial connect that we currently use for reaction chambers. Being used so we can keep certain inputs separate, like into a special internal base container
+ + + diff --git a/code/datums/components/plundering_attacks.html b/code/datums/components/plundering_attacks.html new file mode 100644 index 00000000000..26caaf59efa --- /dev/null +++ b/code/datums/components/plundering_attacks.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/plundering_attacks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/plundering_attacks.dm + +

+ + +
/datum/component/plundering_attacksComponent that makes basic mobs' melee attacks steal money from the target's ID card. +Plundered money is stored and dropped on death or removal of the component.
+ + + diff --git a/code/datums/components/punchcooldown.html b/code/datums/components/punchcooldown.html new file mode 100644 index 00000000000..d90282e8a2b --- /dev/null +++ b/code/datums/components/punchcooldown.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/punchcooldown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/punchcooldown.dm + +

+ + +
/datum/component/wearertargeting/punchcooldownYour favourite Jojoke. Used for the gloves of the north star.
+ + + diff --git a/code/datums/components/puzzgrid.html b/code/datums/components/puzzgrid.html new file mode 100644 index 00000000000..da3ed77692c --- /dev/null +++ b/code/datums/components/puzzgrid.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/components/puzzgrid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/puzzgrid.dm + +

+ + + + + + +
/datum/component/puzzgridAttaches a puzzgrid to the atom. +You are expected to pass in the puzzgrid, likely from create_random_puzzgrid(). +This is so you can handle when a puzzgrid can't be generated, either because the +config does not exist, or because the config is not set up properly.
/proc/create_random_puzzgridReturns a random puzzgrid from config. +If config is empty, or no valid puzzgrids can be found in time, will return null.
/datum/puzzgridRepresents an individual puzzgrid
/datum/puzzgrid_groupRepresents an individual group in a puzzgrid
+ + + diff --git a/code/datums/components/radiation_countdown.html b/code/datums/components/radiation_countdown.html new file mode 100644 index 00000000000..71275edb187 --- /dev/null +++ b/code/datums/components/radiation_countdown.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/radiation_countdown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/radiation_countdown.dm + +

+ + +
/datum/component/radiation_countdownBegins the countdown before a target can be irradiated. +Added by the radiation subsystem when a pulse information has a minimum exposure time. +Will clear itself out after a while.
+ + + diff --git a/code/datums/components/radioactive_emitter.html b/code/datums/components/radioactive_emitter.html new file mode 100644 index 00000000000..741e4a5effa --- /dev/null +++ b/code/datums/components/radioactive_emitter.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/components/radioactive_emitter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/radioactive_emitter.dm + +

+ + + +
MIN_PULSE_COOLDOWNMinimum duration between pulses for the radioactive emitter component. +This is chosen arbitrarily. It can theoretically go down to 0.1 SECONDS but god please don't
/datum/component/radioactive_emitterSimple component that you can attach to something to make it emit radiation pulses over time.

Define Details

+

MIN_PULSE_COOLDOWN + + +

+

Minimum duration between pulses for the radioactive emitter component. +This is chosen arbitrarily. It can theoretically go down to 0.1 SECONDS but god please don't

+ + + diff --git a/code/datums/components/radioactive_exposure.html b/code/datums/components/radioactive_exposure.html new file mode 100644 index 00000000000..318094589dc --- /dev/null +++ b/code/datums/components/radioactive_exposure.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/radioactive_exposure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/radioactive_exposure.dm + +

+ + +
/datum/component/radioactive_exposureFor directly applying to carbons to irradiate them, without pulses
+ + + diff --git a/code/datums/components/ranged_attacks.html b/code/datums/components/ranged_attacks.html new file mode 100644 index 00000000000..d1eb83543b9 --- /dev/null +++ b/code/datums/components/ranged_attacks.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/ranged_attacks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ranged_attacks.dm + +

+ + +
/datum/component/ranged_attacksConfigurable ranged attack for basic mobs.
+ + + diff --git a/code/datums/components/ranged_mob_full_auto.html b/code/datums/components/ranged_mob_full_auto.html new file mode 100644 index 00000000000..77795c7fa51 --- /dev/null +++ b/code/datums/components/ranged_mob_full_auto.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/ranged_mob_full_auto.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/ranged_mob_full_auto.dm + +

+ + +
/datum/component/ranged_mob_full_autoAllows a mob to autofire by holding down the cursor
+ + + diff --git a/code/datums/components/reagent_refiller.html b/code/datums/components/reagent_refiller.html new file mode 100644 index 00000000000..4ede3433967 --- /dev/null +++ b/code/datums/components/reagent_refiller.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/reagent_refiller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/reagent_refiller.dm + +

+ + +
/datum/component/reagent_refiller
+ + + diff --git a/code/datums/components/recharging_attacks.html b/code/datums/components/recharging_attacks.html new file mode 100644 index 00000000000..7db69fee33c --- /dev/null +++ b/code/datums/components/recharging_attacks.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/recharging_attacks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/recharging_attacks.dm + +

+ + +
/datum/component/recharging_attacksReduces the cooldown of a given action upon landing attacks, critting, or killing mobs.
+ + + diff --git a/code/datums/components/redirect_attack_hand_from_turf.html b/code/datums/components/redirect_attack_hand_from_turf.html new file mode 100644 index 00000000000..d748f208603 --- /dev/null +++ b/code/datums/components/redirect_attack_hand_from_turf.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/redirect_attack_hand_from_turf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/redirect_attack_hand_from_turf.dm + +

+ + +
/datum/component/redirect_attack_hand_from_turfWill redirect touching the turf it is on with your hand to the attack_hand of the parent object.
+ + + diff --git a/code/datums/components/reflection.html b/code/datums/components/reflection.html new file mode 100644 index 00000000000..29e6e261888 --- /dev/null +++ b/code/datums/components/reflection.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/reflection.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/reflection.dm + +

+ + +
/datum/component/reflectionA simple-ish component that reflects the icons of movables on the parent like a mirror. +Sadly, there's no easy way to make the SOUTH dir reflection flip the visual so that you can see +the back NORTH dir of a target while it's facing SOUTH beside adding the VIS_INHERIT_DIR flag +to the target movable, which I'm not doing to spare eventual issues with other vis overlays in the future.
+ + + diff --git a/code/datums/components/regenerator.html b/code/datums/components/regenerator.html new file mode 100644 index 00000000000..b095144e664 --- /dev/null +++ b/code/datums/components/regenerator.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/regenerator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/regenerator.dm + +

+ + +
/datum/component/regeneratorIf the loc is null, only a black (or grey depending on alpha) silhouette of the target will be rendered +Just putting this information here in case you want something like that in the future. +The filter is added to the reflection holder; the matrix is not, otherwise that'd go affecting the filter.
+ + + diff --git a/code/datums/components/religious_tool.html b/code/datums/components/religious_tool.html new file mode 100644 index 00000000000..6eb8b0b8053 --- /dev/null +++ b/code/datums/components/religious_tool.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/religious_tool.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/religious_tool.dm + +

+ + +
/datum/component/religious_toolAllows the parent to act similarly to the Altar of Gods with modularity. Invoke and Sect Selection is done via attacking with a bible. This means you cannot sacrifice Bibles (you shouldn't want to do this anyways although now that I mentioned it you probably will want to).
+ + + diff --git a/code/datums/components/rename.html b/code/datums/components/rename.html new file mode 100644 index 00000000000..ed985af8ff0 --- /dev/null +++ b/code/datums/components/rename.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/rename.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/rename.dm + +

+ + +
/datum/component/renameThe rename component.
+ + + diff --git a/code/datums/components/revenge_ability.html b/code/datums/components/revenge_ability.html new file mode 100644 index 00000000000..34e7f3a1e57 --- /dev/null +++ b/code/datums/components/revenge_ability.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/components/revenge_ability.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/revenge_ability.dm + +

+ + +
/datum/component/revenge_abilityAutomatically triggers a linked ability at a target who attacks us. +The ability might not necessarily be on our mob. +Make sure that /datum/element/relay_attackers is also present or you'll never receive the triggering signal.
+ + + diff --git a/code/datums/components/riding/riding.html b/code/datums/components/riding/riding.html new file mode 100644 index 00000000000..bea3e3a5548 --- /dev/null +++ b/code/datums/components/riding/riding.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/riding/riding.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/riding/riding.dm + +

+ + +
/datum/component/ridingThis is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.
+ + + diff --git a/code/datums/components/riding/riding_mob.html b/code/datums/components/riding/riding_mob.html new file mode 100644 index 00000000000..0141d19ca55 --- /dev/null +++ b/code/datums/components/riding/riding_mob.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/riding/riding_mob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/riding/riding_mob.dm + +

+ + +
/datum/component/riding/creature/humanYes, I said humans. No, this won't end well...
+ + + diff --git a/code/datums/components/rot.html b/code/datums/components/rot.html new file mode 100644 index 00000000000..db2435561e6 --- /dev/null +++ b/code/datums/components/rot.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/rot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/rot.dm + +

+ + +
/datum/component/rotMakes a thing rotting, carries with it a start delay and some things that can halt the rot, along with infection logic
+ + + diff --git a/code/datums/components/seclight_attachable.html b/code/datums/components/seclight_attachable.html new file mode 100644 index 00000000000..8ad4b786cd6 --- /dev/null +++ b/code/datums/components/seclight_attachable.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/seclight_attachable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/seclight_attachable.dm + +

+ + +
/datum/component/seclite_attachableComponent which allows you to attach a seclight to an item, +be it a piece of clothing or a tool.
+ + + diff --git a/code/datums/components/sect_nullrod_bonus.html b/code/datums/components/sect_nullrod_bonus.html new file mode 100644 index 00000000000..c3bc2aa6f59 --- /dev/null +++ b/code/datums/components/sect_nullrod_bonus.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/sect_nullrod_bonus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/sect_nullrod_bonus.dm + +

+ + +
/datum/component/sect_nullrod_bonussect nullrod bonus component; for sekret rite combos
+ + + diff --git a/code/datums/components/security_vision.html b/code/datums/components/security_vision.html new file mode 100644 index 00000000000..5f0eee370c9 --- /dev/null +++ b/code/datums/components/security_vision.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/security_vision.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/security_vision.dm + +

+ + +
/datum/component/security_visionThis component allows you to judge someone's level of criminal activity by examining them
+ + + diff --git a/code/datums/components/seethrough.html b/code/datums/components/seethrough.html new file mode 100644 index 00000000000..ce347c86edd --- /dev/null +++ b/code/datums/components/seethrough.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/seethrough.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/seethrough.dm + +

+ + +
/datum/component/seethroughA component that lets you turn an object invisible when you're standing on certain relative turfs to it, like behind a tree
+ + + diff --git a/code/datums/components/seethrough_mob.html b/code/datums/components/seethrough_mob.html new file mode 100644 index 00000000000..190473c2e06 --- /dev/null +++ b/code/datums/components/seethrough_mob.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/seethrough_mob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/seethrough_mob.dm + +

+ + +
/datum/component/seethrough_mobA component that lets you turn your character transparent in order to see and click through yourself.
+ + + diff --git a/code/datums/components/shell.html b/code/datums/components/shell.html new file mode 100644 index 00000000000..67b7f48df79 --- /dev/null +++ b/code/datums/components/shell.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/shell.dm + +

+ + +
/datum/component/shellMakes an atom a shell that is able to take in an attached circuit.
+ + + diff --git a/code/datums/components/shielded.html b/code/datums/components/shielded.html new file mode 100644 index 00000000000..9c9b648a877 --- /dev/null +++ b/code/datums/components/shielded.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shielded.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/shielded.dm + +

+ + +
/datum/component/shieldedThe shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.
+ + + diff --git a/code/datums/components/shovel_hands.html b/code/datums/components/shovel_hands.html new file mode 100644 index 00000000000..e5f72b73f75 --- /dev/null +++ b/code/datums/components/shovel_hands.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shovel_hands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/shovel_hands.dm + +

+ + +
/datum/component/shovel_handsThis component lets mobs dig up the floor with their bare hands
+ + + diff --git a/code/datums/components/shuttle_cling.html b/code/datums/components/shuttle_cling.html new file mode 100644 index 00000000000..9272715e5bf --- /dev/null +++ b/code/datums/components/shuttle_cling.html @@ -0,0 +1,51 @@ + + + + + + + code/datums/components/shuttle_cling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/shuttle_cling.dm + +

+ + + + + + +
SUPER_NOT_HOLDING_ONInstead of a high move force we just get launched away dramatically because we're that hopeless
NOT_HOLDING_ONWe're not holdin on and will get thrown off
CLINGINGWe're holding on, but will be pulled slowly
ALL_GOODWe're holding on really well and aren't suffering from any pull
/datum/component/shuttle_clingGets added to all movables that enter hyperspace and are supposed to suffer from "hyperspace drift" +This lets people fly around shuttles during transit using jetpacks, or cling to the side if they got a spacesuit +Dumping into deepspace is handled by the hyperspace turf, not the component. +Not giving something this component while on hyperspace is safe, it just means free movement like carps

Define Details

+

ALL_GOOD + + +

+

We're holding on really well and aren't suffering from any pull

CLINGING + + +

+

We're holding on, but will be pulled slowly

NOT_HOLDING_ON + + +

+

We're not holdin on and will get thrown off

SUPER_NOT_HOLDING_ON + + +

+

Instead of a high move force we just get launched away dramatically because we're that hopeless

+ + + diff --git a/code/datums/components/shy.html b/code/datums/components/shy.html new file mode 100644 index 00000000000..e3c5e521e37 --- /dev/null +++ b/code/datums/components/shy.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/shy.dm + +

+ + +
/datum/component/shyYou can't use items on anyone other than yourself if there are other living mobs around you
+ + + diff --git a/code/datums/components/shy_in_room.html b/code/datums/components/shy_in_room.html new file mode 100644 index 00000000000..66320e0bcc9 --- /dev/null +++ b/code/datums/components/shy_in_room.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/shy_in_room.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/shy_in_room.dm + +

+ + +
/datum/component/shy_in_roomYou can't use items on anyone other than yourself if you stand in a blacklisted room
+ + + diff --git a/code/datums/components/sign_language.html b/code/datums/components/sign_language.html new file mode 100644 index 00000000000..39480ffe635 --- /dev/null +++ b/code/datums/components/sign_language.html @@ -0,0 +1,34 @@ + + + + + + + code/datums/components/sign_language.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/sign_language.dm + +

+ + + +
SIGN_OKAYDefines used to determine whether a sign language user can sign or not, and if not, why they cannot.
/datum/component/sign_languageReactive Sign Language Component for Carbons. Allows Carbons to speak with sign language if they have the relevant traits. +Implements sign language by incrementally overriding several critical functions, variables, and argument lists.

Define Details

+

SIGN_OKAY + + +

+

Defines used to determine whether a sign language user can sign or not, and if not, why they cannot.

+ + + diff --git a/code/datums/components/simple_access.html b/code/datums/components/simple_access.html new file mode 100644 index 00000000000..a470ceae4c1 --- /dev/null +++ b/code/datums/components/simple_access.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/simple_access.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/simple_access.dm + +

+ + +
/datum/component/simple_accessThis component allows us to give a mob access without giving them an ID card.
+ + + diff --git a/code/datums/components/singularity.html b/code/datums/components/singularity.html new file mode 100644 index 00000000000..77ae2dba09a --- /dev/null +++ b/code/datums/components/singularity.html @@ -0,0 +1,49 @@ + + + + + + + code/datums/components/singularity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/singularity.dm + +

+ + + + + + +
FIELD_CONTAINMENT_DISTANCEThe range at which a singularity is considered "contained" to admins
CHANCE_TO_MOVE_TO_TARGETWhat's the chance that, when a normal singularity moves, it'll go to its target?
CHANCE_TO_MOVE_TO_TARGET_BLOODTHIRSTYWhat's the /bloodthirsty subtype chance it'll go to its target?
CHANCE_TO_CHANGE_TARGET_BLOODTHIRSTYwhat's the /bloodthirsty subtype chance it'll change targets to a closer one?
/datum/component/singularityThings that maybe move around and does stuff to things around them +Used for the singularity (duh) and Nar'Sie

Define Details

+

CHANCE_TO_CHANGE_TARGET_BLOODTHIRSTY + + +

+

what's the /bloodthirsty subtype chance it'll change targets to a closer one?

CHANCE_TO_MOVE_TO_TARGET + + +

+

What's the chance that, when a normal singularity moves, it'll go to its target?

CHANCE_TO_MOVE_TO_TARGET_BLOODTHIRSTY + + +

+

What's the /bloodthirsty subtype chance it'll go to its target?

FIELD_CONTAINMENT_DISTANCE + + +

+

The range at which a singularity is considered "contained" to admins

+ + + diff --git a/code/datums/components/slippery.html b/code/datums/components/slippery.html new file mode 100644 index 00000000000..6cd9804a661 --- /dev/null +++ b/code/datums/components/slippery.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/slippery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/slippery.dm + +

+ + +
/datum/component/slipperyAdd this component to an object to make it a slippery object, slippery objects make mobs that cross them fall over. +Items with this component that get picked up may give their parent mob the slip behaviour.
+ + + diff --git a/code/datums/components/smooth_tunes.html b/code/datums/components/smooth_tunes.html new file mode 100644 index 00000000000..9e3b3fff1a4 --- /dev/null +++ b/code/datums/components/smooth_tunes.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/smooth_tunes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/smooth_tunes.dm + +

+ + +
/datum/component/smooth_tunesSmooth tunes component! Applied to musicians to give the songs they play special effects, according to a rite! +Comes with BARTICLES!!!
+ + + diff --git a/code/datums/components/soul_stealer.html b/code/datums/components/soul_stealer.html new file mode 100644 index 00000000000..dba1e285fb4 --- /dev/null +++ b/code/datums/components/soul_stealer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/soul_stealer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/soul_stealer.dm + +

+ + +
/datum/component/soul_stealer
+ + + diff --git a/code/datums/components/sound_player.html b/code/datums/components/sound_player.html new file mode 100644 index 00000000000..9904cb71ab2 --- /dev/null +++ b/code/datums/components/sound_player.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/sound_player.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/sound_player.dm + +

+ + +
/datum/component/sound_playerSound Player component
+ + + diff --git a/code/datums/components/spin2win.html b/code/datums/components/spin2win.html new file mode 100644 index 00000000000..5c6b8d24eab --- /dev/null +++ b/code/datums/components/spin2win.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/spin2win.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/spin2win.dm + +

+ + +
/datum/component/spin2win
+ + + diff --git a/code/datums/components/spinny.html b/code/datums/components/spinny.html new file mode 100644 index 00000000000..9c3704bd8f0 --- /dev/null +++ b/code/datums/components/spinny.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/spinny.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/spinny.dm + +

+ + +
/datum/component/spinnyspinny.dm
+ + + diff --git a/code/datums/components/spirit_holding.html b/code/datums/components/spirit_holding.html new file mode 100644 index 00000000000..73eedc77d4b --- /dev/null +++ b/code/datums/components/spirit_holding.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/spirit_holding.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/spirit_holding.dm + +

+ + +
/datum/component/spirit_holdingspirit holding component; for items to have spirits inside of them for "advice"
+ + + diff --git a/code/datums/components/splattercasting.html b/code/datums/components/splattercasting.html new file mode 100644 index 00000000000..075ea2f3acd --- /dev/null +++ b/code/datums/components/splattercasting.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/components/splattercasting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/splattercasting.dm + +

+ + + +
COOLDOWN_TO_BLOOD_RATIOhow much we multiply cooldown (deciseconds) by to get the amount of blood to remove. +BLOOD_VOLUME_NORMAL is 560, expensive spells max out at around 60 seconds which is 600 deciseconds +removing 9/10ths of the cooldown from that puts us at 540 deciseconds, mult by 0.5 gives 270 blood taken +one second is worth 5 blood, roughly half of your normal amount of blood taken for a huge spell, seems fair
/datum/component/splattercastingComponent that makes casted spells cost blood from the user and dramatically lowers their cooldown.

Define Details

+

COOLDOWN_TO_BLOOD_RATIO + + +

+

how much we multiply cooldown (deciseconds) by to get the amount of blood to remove. +BLOOD_VOLUME_NORMAL is 560, expensive spells max out at around 60 seconds which is 600 deciseconds +removing 9/10ths of the cooldown from that puts us at 540 deciseconds, mult by 0.5 gives 270 blood taken +one second is worth 5 blood, roughly half of your normal amount of blood taken for a huge spell, seems fair

+ + + diff --git a/code/datums/components/squashable.html b/code/datums/components/squashable.html new file mode 100644 index 00000000000..33e11042491 --- /dev/null +++ b/code/datums/components/squashable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/squashable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/squashable.dm + +

+ + +
/datum/component/squashableThis component allows something to be when crossed, for example for cockroaches.
+ + + diff --git a/code/datums/components/stationloving.html b/code/datums/components/stationloving.html new file mode 100644 index 00000000000..8c5778a942e --- /dev/null +++ b/code/datums/components/stationloving.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/stationloving.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/stationloving.dm + +

+ + +
/datum/component/stationlovingTeleports the movable atom back to a safe turf on the station if it leaves the z-level or becomes inaccessible.
+ + + diff --git a/code/datums/components/storm_hating.html b/code/datums/components/storm_hating.html new file mode 100644 index 00000000000..d61adbf1c6a --- /dev/null +++ b/code/datums/components/storm_hating.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/storm_hating.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/storm_hating.dm + +

+ + +
/datum/component/storm_hatingThe parent of this component will be destroyed if it's on the ground during a storm
+ + + diff --git a/code/datums/components/subtype_picker.html b/code/datums/components/subtype_picker.html new file mode 100644 index 00000000000..aac6a5502ba --- /dev/null +++ b/code/datums/components/subtype_picker.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/subtype_picker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/subtype_picker.dm + +

+ + +
/datum/component/subtype_pickersubtype picker component allows for an item to transform into its subtypes (this is not enforced and you can turn in whatever types, but +i used this name as it was incredibly accurate for current usage of the behavior)
+ + + diff --git a/code/datums/components/surgery_initiator.html b/code/datums/components/surgery_initiator.html new file mode 100644 index 00000000000..f220b7b09f1 --- /dev/null +++ b/code/datums/components/surgery_initiator.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/surgery_initiator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/surgery_initiator.dm + +

+ + +
/datum/component/surgery_initiatorAllows an item to be used to initiate surgeries.
+ + + diff --git a/code/datums/components/swabbing.html b/code/datums/components/swabbing.html new file mode 100644 index 00000000000..a5087cd05ea --- /dev/null +++ b/code/datums/components/swabbing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/swabbing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/swabbing.dm + +

+ + +

This component is used in vat growing to swab for microbiological samples which can then be mixed with reagents in a petridish to create a culture plate.

+ + + diff --git a/code/datums/components/tackle.html b/code/datums/components/tackle.html new file mode 100644 index 00000000000..6cb7dad04c0 --- /dev/null +++ b/code/datums/components/tackle.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/components/tackle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/tackle.dm + +

+ + + +
MAX_TABLE_MESSEShow many things can we knock off a table at once by diving into it?
/datum/component/tacklerFor when you want to throw a person at something and have fun stuff happen

Define Details

+

MAX_TABLE_MESSES + + +

+

how many things can we knock off a table at once by diving into it?

+ + + diff --git a/code/datums/components/takes_reagent_appearance.html b/code/datums/components/takes_reagent_appearance.html new file mode 100644 index 00000000000..c5ed9554bb8 --- /dev/null +++ b/code/datums/components/takes_reagent_appearance.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/takes_reagent_appearance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/takes_reagent_appearance.dm + +

+ + +
/datum/component/takes_reagent_appearance
+ + + diff --git a/code/datums/components/tameable.html b/code/datums/components/tameable.html new file mode 100644 index 00000000000..be0767eaf85 --- /dev/null +++ b/code/datums/components/tameable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tameable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/tameable.dm + +

+ + +
/datum/component/tameableThis component lets you make specific mobs tameable by feeding them
+ + + diff --git a/code/datums/components/tattoo.html b/code/datums/components/tattoo.html new file mode 100644 index 00000000000..83e2be2f468 --- /dev/null +++ b/code/datums/components/tattoo.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tattoo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/tattoo.dm + +

+ + +
/datum/component/tattoo
+ + + diff --git a/code/datums/components/technointrovert.html b/code/datums/components/technointrovert.html new file mode 100644 index 00000000000..68e08ee05f1 --- /dev/null +++ b/code/datums/components/technointrovert.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/technointrovert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/technointrovert.dm + +

+ + +
/datum/component/technointrovertYou can't use machines unless they are in a whitelist
+ + + diff --git a/code/datums/components/technoshy.html b/code/datums/components/technoshy.html new file mode 100644 index 00000000000..1893a3a07a6 --- /dev/null +++ b/code/datums/components/technoshy.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/technoshy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/technoshy.dm + +

+ + +
/datum/component/technoshyYou can't use machines when they've been touched within the last [unused_duration], unless it was by a mob in [whitelist]
+ + + diff --git a/code/datums/components/telegraph_ability.html b/code/datums/components/telegraph_ability.html new file mode 100644 index 00000000000..a1362696c3a --- /dev/null +++ b/code/datums/components/telegraph_ability.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/telegraph_ability.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/telegraph_ability.dm + +

+ + +
/datum/component/basic_mob_ability_telegraphComponent given to creatures to telegraph their abilities!
+ + + diff --git a/code/datums/components/temporary_body.html b/code/datums/components/temporary_body.html new file mode 100644 index 00000000000..81a5aaf0a3e --- /dev/null +++ b/code/datums/components/temporary_body.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/temporary_body.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/temporary_body.dm + +

+ + +
/datum/component/temporary_body##temporary_body
+ + + diff --git a/code/datums/components/temporary_description.html b/code/datums/components/temporary_description.html new file mode 100644 index 00000000000..92e6e5e172a --- /dev/null +++ b/code/datums/components/temporary_description.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/temporary_description.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/temporary_description.dm + +

+ + +
/datum/component/temporary_descriptionAdds examine text to something which is removed when receiving specified signals, by default the revive signal. +The default settings are set up to be applied to a corpse to add some kind of immersive storytelling text which goes away upon revival.
+ + + diff --git a/code/datums/components/tippable.html b/code/datums/components/tippable.html new file mode 100644 index 00000000000..7e13a439bfe --- /dev/null +++ b/code/datums/components/tippable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/tippable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/tippable.dm + +

+ + +
/datum/component/tippableTippable component. For making mobs able to be tipped, like cows and medibots.
+ + + diff --git a/code/datums/components/toggle_attached_clothing.html b/code/datums/components/toggle_attached_clothing.html new file mode 100644 index 00000000000..ec577e465cf --- /dev/null +++ b/code/datums/components/toggle_attached_clothing.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/toggle_attached_clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/toggle_attached_clothing.dm + +

+ + +
/datum/component/toggle_attached_clothingComponent which allows clothing to deploy a different kind of clothing onto you. +The simplest example is hooded suits deploying hoods onto your head.
+ + + diff --git a/code/datums/components/torn_wall.html b/code/datums/components/torn_wall.html new file mode 100644 index 00000000000..ee6322f4408 --- /dev/null +++ b/code/datums/components/torn_wall.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/torn_wall.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/torn_wall.dm + +

+ + +
/datum/component/torn_wallComponent applied to a wall to progressively destroy it. +If component is applied to something which already has it, stage increases. +Wall is destroyed on third application. +Can be fixed using a welder
+ + + diff --git a/code/datums/components/trader/trader.html b/code/datums/components/trader/trader.html new file mode 100644 index 00000000000..ee1e5e3fd56 --- /dev/null +++ b/code/datums/components/trader/trader.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/trader/trader.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/trader/trader.dm + +

+ + +
/datum/component/traderManages the barks and the stocks of the traders +Also manages the interactive radial menu
+ + + diff --git a/code/datums/components/trapdoor.html b/code/datums/components/trapdoor.html new file mode 100644 index 00000000000..7bacefd5ebc --- /dev/null +++ b/code/datums/components/trapdoor.html @@ -0,0 +1,42 @@ + + + + + + + code/datums/components/trapdoor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/components/trapdoor.dm + +

+ + + + + + + +
IS_OPENmakes this file more legible
TRAPDOOR_LINKING_SEARCH_RANGEdistance a trapdoor will accept a link request.
/datum/component/trapdoor
/obj/item/trapdoor_remote
/obj/item/trapdoor_remote/preloadedsubtype with internals already included. If you're giving a department a roundstart trapdoor, this is what you want
/obj/item/trapdoor_kittrapdoor parts kit, allows trapdoors to be made by players

Define Details

+

IS_OPEN + + + +

+

makes this file more legible

TRAPDOOR_LINKING_SEARCH_RANGE + + +

+

distance a trapdoor will accept a link request.

+ + + diff --git a/code/datums/components/twohanded.html b/code/datums/components/twohanded.html new file mode 100644 index 00000000000..8670e400b8f --- /dev/null +++ b/code/datums/components/twohanded.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/twohanded.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/twohanded.dm + +

+ + + +
/datum/component/two_handedTwo Handed Component
/obj/item/offhandThe offhand dummy item for two handed items
+ + + diff --git a/code/datums/components/udder.html b/code/datums/components/udder.html new file mode 100644 index 00000000000..1086bad19ec --- /dev/null +++ b/code/datums/components/udder.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/components/udder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/udder.dm + +

+ + + + +
/datum/component/udderUdder component; for farm animals to generate milk.
/obj/item/udderAbstract item that is held in nullspace and manages reagents. Created by udder component. +While perhaps reagents created by udder component COULD be managed in the mob, it would be somewhat finnicky and I actually like the abstract udders.
/obj/item/udder/gutlunch
+ + + diff --git a/code/datums/components/unobserved_actor.html b/code/datums/components/unobserved_actor.html new file mode 100644 index 00000000000..f934f7fa46a --- /dev/null +++ b/code/datums/components/unobserved_actor.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/unobserved_actor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/unobserved_actor.dm + +

+ + +
/datum/component/unobserved_actor
+ + + diff --git a/code/datums/components/unusual_effect.html b/code/datums/components/unusual_effect.html new file mode 100644 index 00000000000..ac9084d0544 --- /dev/null +++ b/code/datums/components/unusual_effect.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/unusual_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/unusual_effect.dm + +

+ + +
/datum/component/unusual_effectCreates a cool looking effect on the movable. +In the future, this could be expanded to have more interesting particles and effects.
+ + + diff --git a/code/datums/components/uplink.html b/code/datums/components/uplink.html new file mode 100644 index 00000000000..1cf3704b882 --- /dev/null +++ b/code/datums/components/uplink.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/uplink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/uplink.dm + +

+ + +
/datum/component/uplinkUplinks
+ + + diff --git a/code/datums/components/usb_port.html b/code/datums/components/usb_port.html new file mode 100644 index 00000000000..fa8c25c6482 --- /dev/null +++ b/code/datums/components/usb_port.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/usb_port.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/usb_port.dm + +

+ + +
/datum/component/usb_portOpens up a USB port that can be connected to by circuits, creating registerable circuit components
+ + + diff --git a/code/datums/components/vacuum.html b/code/datums/components/vacuum.html new file mode 100644 index 00000000000..a7651ae4eb1 --- /dev/null +++ b/code/datums/components/vacuum.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/components/vacuum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/vacuum.dm + +

+ + +
/datum/component/vacuumAdds a vacuum functionality to an atom, requires a trashbag to be linked +using signals
+ + + diff --git a/code/datums/components/vision_hurting.html b/code/datums/components/vision_hurting.html new file mode 100644 index 00000000000..3c87a554f17 --- /dev/null +++ b/code/datums/components/vision_hurting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/vision_hurting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/vision_hurting.dm + +

+ + +
/datum/component/vision_hurtingA component that damages eyes that look at the owner
+ + + diff --git a/code/datums/components/wearertargeting.html b/code/datums/components/wearertargeting.html new file mode 100644 index 00000000000..d1ac8b18ef3 --- /dev/null +++ b/code/datums/components/wearertargeting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/wearertargeting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/wearertargeting.dm + +

+ + +
/datum/component/wearertargetingPull from the curent object loc
+ + + diff --git a/code/datums/components/weatherannouncer.html b/code/datums/components/weatherannouncer.html new file mode 100644 index 00000000000..ea96fcdf9c3 --- /dev/null +++ b/code/datums/components/weatherannouncer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/components/weatherannouncer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/components/weatherannouncer.dm + +

+ + +
/datum/component/weather_announcerComponent which makes you yell about what the weather is
+ + + diff --git a/code/datums/dash_weapon.html b/code/datums/dash_weapon.html new file mode 100644 index 00000000000..8e4a158f7b5 --- /dev/null +++ b/code/datums/dash_weapon.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/dash_weapon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/dash_weapon.dm + +

+ + +
/datum/action/innate/dashActions that you can use to dash (teleport) to places in view.
+ + + diff --git a/code/datums/datum.html b/code/datums/datum.html new file mode 100644 index 00000000000..4db2348e993 --- /dev/null +++ b/code/datums/datum.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/datum.dm + +

+ + + + + + + + + + +
/datumThe absolute base class for everything
/proc/json_serialize_datumConvert a datum into a json blob
/proc/json_deserialize_datumConvert a list of json to datum
/proc/end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
/proc/reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
+ + + diff --git a/code/datums/diseases/advance/floor_diseases/carpellosis.html b/code/datums/diseases/advance/floor_diseases/carpellosis.html new file mode 100644 index 00000000000..5ea8e73ff39 --- /dev/null +++ b/code/datums/diseases/advance/floor_diseases/carpellosis.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/floor_diseases/carpellosis.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/floor_diseases/carpellosis.dm + +

+ + +
/datum/disease/advance/carpellosisCaused by dirty food. Makes you growl at people and bite them spontaneously.
+ + + diff --git a/code/datums/diseases/advance/floor_diseases/gastritium.html b/code/datums/diseases/advance/floor_diseases/gastritium.html new file mode 100644 index 00000000000..fe52728a041 --- /dev/null +++ b/code/datums/diseases/advance/floor_diseases/gastritium.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/floor_diseases/gastritium.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/floor_diseases/gastritium.dm + +

+ + +
/datum/disease/advance/gastritiumCaused by dirty food. Makes you burp out Tritium, sometimes burning hot!
+ + + diff --git a/code/datums/diseases/advance/floor_diseases/nebula_nausea.html b/code/datums/diseases/advance/floor_diseases/nebula_nausea.html new file mode 100644 index 00000000000..ad576df447c --- /dev/null +++ b/code/datums/diseases/advance/floor_diseases/nebula_nausea.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/floor_diseases/nebula_nausea.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/floor_diseases/nebula_nausea.dm + +

+ + +
/datum/disease/advance/nebula_nauseaCaused by dirty food. Makes you vomit stars.
+ + + diff --git a/code/datums/diseases/advance/symptoms/beard.html b/code/datums/diseases/advance/symptoms/beard.html new file mode 100644 index 00000000000..45d03897d3e --- /dev/null +++ b/code/datums/diseases/advance/symptoms/beard.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/beard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/beard.dm + +

+ + +
/datum/symptom/beard
+ + + diff --git a/code/datums/diseases/advance/symptoms/chills.html b/code/datums/diseases/advance/symptoms/chills.html new file mode 100644 index 00000000000..7048c7639d6 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/chills.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/chills.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/chills.dm + +

+ + +
/datum/symptom/chills
+ + + diff --git a/code/datums/diseases/advance/symptoms/choking.html b/code/datums/diseases/advance/symptoms/choking.html new file mode 100644 index 00000000000..9ab38fdbf60 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/choking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/choking.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/choking.dm + +

+ + +
/datum/symptom/choking*Choking
+ + + diff --git a/code/datums/diseases/advance/symptoms/confusion.html b/code/datums/diseases/advance/symptoms/confusion.html new file mode 100644 index 00000000000..ebaf71033fa --- /dev/null +++ b/code/datums/diseases/advance/symptoms/confusion.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/confusion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/confusion.dm + +

+ + +
/datum/symptom/confusion*Confusion
+ + + diff --git a/code/datums/diseases/advance/symptoms/cough.html b/code/datums/diseases/advance/symptoms/cough.html new file mode 100644 index 00000000000..13fdddb84f2 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/cough.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/cough.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/cough.dm + +

+ + +
/datum/symptom/cough*Coughing
+ + + diff --git a/code/datums/diseases/advance/symptoms/deafness.html b/code/datums/diseases/advance/symptoms/deafness.html new file mode 100644 index 00000000000..4b411616f70 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/deafness.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/deafness.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/deafness.dm + +

+ + +
/datum/symptom/deafness*Deafness
+ + + diff --git a/code/datums/diseases/advance/symptoms/disfiguration.html b/code/datums/diseases/advance/symptoms/disfiguration.html new file mode 100644 index 00000000000..647a64cb2ba --- /dev/null +++ b/code/datums/diseases/advance/symptoms/disfiguration.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/disfiguration.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/disfiguration.dm + +

+ + +
/datum/symptom/disfiguration*Disfiguration
+ + + diff --git a/code/datums/diseases/advance/symptoms/dizzy.html b/code/datums/diseases/advance/symptoms/dizzy.html new file mode 100644 index 00000000000..01bd52f8aa5 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/dizzy.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/dizzy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/dizzy.dm + +

+ + +
/datum/symptom/dizzy*Dizziness
+ + + diff --git a/code/datums/diseases/advance/symptoms/fever.html b/code/datums/diseases/advance/symptoms/fever.html new file mode 100644 index 00000000000..ec7798d8c06 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fever.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/fever.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/fever.dm + +

+ + +
/datum/symptom/fever*Fever
+ + + diff --git a/code/datums/diseases/advance/symptoms/fire.html b/code/datums/diseases/advance/symptoms/fire.html new file mode 100644 index 00000000000..05917458a98 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/fire.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/diseases/advance/symptoms/fire.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/diseases/advance/symptoms/fire.dm + +

+ + +
/datum/symptom/fire*Spontaneous Combustion
+ + + diff --git a/code/datums/diseases/advance/symptoms/heal.html b/code/datums/diseases/advance/symptoms/heal.html new file mode 100644 index 00000000000..bfd3be22ad6 --- /dev/null +++ b/code/datums/diseases/advance/symptoms/heal.html @@ -0,0 +1,58 @@ + + + + + + + code/datums/diseases/advance/symptoms/heal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/diseases/advance/symptoms/heal.dm + +

+ + + + + + + + +
HEALING_PER_MOLDetermines the rate at which Plasma Fixation heals based on the amount of plasma in the air
HEALING_PER_BREATH_PRESSUREDetermines the rate at which Plasma Fixation heals based on the amount of plasma being breathed through internals
MAX_HEAL_COEFFICIENT_INTERNALSDetermines the highest amount you can be healed for when breathing plasma from internals
MAX_HEAL_COEFFICIENT_ENVIRONMENTDetermines the highest amount you can be healed for from pulling plasma from the environment
MAX_HEAL_COEFFICIENT_BLOODSTREAMDetermines the highest amount you can be healed for when there is plasma in the bloodstream
BASE_HEAL_PLASMA_FIXATIONThis is the base heal amount before being multiplied by the healing coefficients
/datum/symptom/heal/radiationPlasma End

Define Details

+

BASE_HEAL_PLASMA_FIXATION + + +

+

This is the base heal amount before being multiplied by the healing coefficients

HEALING_PER_BREATH_PRESSURE + + +

+

Determines the rate at which Plasma Fixation heals based on the amount of plasma being breathed through internals

HEALING_PER_MOL + + +

+

Determines the rate at which Plasma Fixation heals based on the amount of plasma in the air

MAX_HEAL_COEFFICIENT_BLOODSTREAM + + +

+

Determines the highest amount you can be healed for when there is plasma in the bloodstream

MAX_HEAL_COEFFICIENT_ENVIRONMENT + + +

+

Determines the highest amount you can be healed for from pulling plasma from the environment

MAX_HEAL_COEFFICIENT_INTERNALS + + +

+

Determines the highest amount you can be healed for when breathing plasma from internals

+ + + diff --git a/code/datums/dna.html b/code/datums/dna.html new file mode 100644 index 00000000000..3241cc5588e --- /dev/null +++ b/code/datums/dna.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/dna.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/dna.dm + +

+ + +
/datum/dnaDNA DATUM
+ + + diff --git a/code/datums/ductnet.html b/code/datums/ductnet.html new file mode 100644 index 00000000000..c0c8e6c547a --- /dev/null +++ b/code/datums/ductnet.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/ductnet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/ductnet.dm + +

+ + +
/datum/ductnetWe handle the unity part of plumbing. We track who is connected to who.
+ + + diff --git a/code/datums/elements/ELEMENT_TEMPLATE.html b/code/datums/elements/ELEMENT_TEMPLATE.html new file mode 100644 index 00000000000..86503d8459d --- /dev/null +++ b/code/datums/elements/ELEMENT_TEMPLATE.html @@ -0,0 +1,46 @@ + + + + + + + code/datums/elements/ELEMENT_TEMPLATE.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Template file for your new element + +

+ + +

See _element.dm for detailed explanations

+
/datum/element/myelement
+	element_flags = ELEMENT_BESPOKE | ELEMENT_COMPLEX_DETACH | ELEMENT_DETACH_ON_HOST_DESTROY | ELEMENT_NOTAREALFLAG    // code/__DEFINES/dcs/flags.dm
+	//argument_hash_start_idx = 2                                                                                  // Use with ELEMENT_BESPOKE
+	var/list/myvar = list()
+
+/datum/element/myelement/Attach(datum/target)
+	if(!ismovable(target))
+		return COMPONENT_INCOMPATIBLE
+	RegisterSignal(target, COMSIG_MOVABLE_MOVED, myproc)
+	to_chat(target, "Hey, you're in your element.")
+
+/datum/element/myelement/Detach(datum/source)
+	UnregisterSignal(source, COMSIG_MOVABLE_MOVED)
+	to_chat(source, "You feel way out of your element.")
+
+/datum/element/myelement/proc/myproc(datum/source)
+	SIGNAL_HANDLER
+	playsound(source, 'sound/effects/gong.ogg', 50, TRUE)
+
+ + + diff --git a/code/datums/elements/_element.html b/code/datums/elements/_element.html new file mode 100644 index 00000000000..d88d99c5d4f --- /dev/null +++ b/code/datums/elements/_element.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/_element.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/_element.dm + +

+ + +
/datum/elementA holder for simple behaviour that can be attached to many different types
+ + + diff --git a/code/datums/elements/ai_control_examine.html b/code/datums/elements/ai_control_examine.html new file mode 100644 index 00000000000..12652e85dd8 --- /dev/null +++ b/code/datums/elements/ai_control_examine.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/ai_control_examine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ai_control_examine.dm + +

+ + +
/datum/element/ai_control_examineai control examine; which gives the pawn of the parent the noticable organs depending on AI status!
+ + + diff --git a/code/datums/elements/ai_flee_while_injured.html b/code/datums/elements/ai_flee_while_injured.html new file mode 100644 index 00000000000..c22a0c5f704 --- /dev/null +++ b/code/datums/elements/ai_flee_while_injured.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/ai_flee_while_injured.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ai_flee_while_injured.dm + +

+ + +
/datum/element/ai_flee_while_injuredAttached to a mob with an AI controller, simply sets a flag on whether or not to run away based on current health values.
+ + + diff --git a/code/datums/elements/ai_held_item.html b/code/datums/elements/ai_held_item.html new file mode 100644 index 00000000000..c8dddaa557c --- /dev/null +++ b/code/datums/elements/ai_held_item.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/ai_held_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ai_held_item.dm + +

+ + +
/datum/element/ai_held_itemManages holding an item for a mob which doesn't have hands but needs to for AI purposes.
+ + + diff --git a/code/datums/elements/ai_retaliate.html b/code/datums/elements/ai_retaliate.html new file mode 100644 index 00000000000..07c436853b2 --- /dev/null +++ b/code/datums/elements/ai_retaliate.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/ai_retaliate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ai_retaliate.dm + +

+ + +
/datum/element/ai_retaliateAttached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information.
+ + + diff --git a/code/datums/elements/ai_swap_combat_mode.html b/code/datums/elements/ai_swap_combat_mode.html new file mode 100644 index 00000000000..fc2dbfa2b98 --- /dev/null +++ b/code/datums/elements/ai_swap_combat_mode.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/ai_swap_combat_mode.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ai_swap_combat_mode.dm + +

+ + +
/datum/element/ai_swap_combat_modeAttached to a mob with an AI controller, updates combat mode when the affected mob acquires or loses targets
+ + + diff --git a/code/datums/elements/ai_target_damagesource.html b/code/datums/elements/ai_target_damagesource.html new file mode 100644 index 00000000000..243cceb130c --- /dev/null +++ b/code/datums/elements/ai_target_damagesource.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/ai_target_damagesource.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ai_target_damagesource.dm + +

+ + +
/datum/element/ai_target_damagesourceAttached to a mob with an AI controller, sets the blackboard current target to the most recent thing to attack this mob. +The AI controller is responsible for doing anything with that information.
+ + + diff --git a/code/datums/elements/amputating_limbs.html b/code/datums/elements/amputating_limbs.html new file mode 100644 index 00000000000..8384f9175b3 --- /dev/null +++ b/code/datums/elements/amputating_limbs.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/amputating_limbs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/amputating_limbs.dm + +

+ + +
/datum/element/amputating_limbsThis component will intercept bare-handed attacks by the owner on sufficiently injured carbons and amputate random limbs instead
+ + + diff --git a/code/datums/elements/animal_variety.html b/code/datums/elements/animal_variety.html new file mode 100644 index 00000000000..5b166ae57cb --- /dev/null +++ b/code/datums/elements/animal_variety.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/animal_variety.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/animal_variety.dm + +

+ + +
/datum/element/animal_varietyElement that picks an suffix to append onto the icon state from a list given on creation, +among some pixel shifting stuff. Basically you will see VARIETY in a batch of animals.
+ + + diff --git a/code/datums/elements/atmos_requirements.html b/code/datums/elements/atmos_requirements.html new file mode 100644 index 00000000000..9e0ae7f6865 --- /dev/null +++ b/code/datums/elements/atmos_requirements.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/atmos_requirements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/atmos_requirements.dm + +

+ + +
/datum/element/atmos_requirements
+ + + diff --git a/code/datums/elements/attack_equip.html b/code/datums/elements/attack_equip.html new file mode 100644 index 00000000000..7c200b4037b --- /dev/null +++ b/code/datums/elements/attack_equip.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/attack_equip.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/attack_equip.dm + +

+ + +
/datum/element/attack_equipAttached to an item, when the item is used to attack a human, and the attacker isn't in combat mode, attempts to equip the item to the target after the normal delay.
+ + + diff --git a/code/datums/elements/backblast.html b/code/datums/elements/backblast.html new file mode 100644 index 00000000000..f00706338b0 --- /dev/null +++ b/code/datums/elements/backblast.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/backblast.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/backblast.dm + +

+ + +
/datum/element/backblastWhen attached to a gun and the gun is successfully fired, this element creates a "backblast" of fire and pain, like you'd find in a rocket launcher or recoilless rifle
+ + + diff --git a/code/datums/elements/bane.html b/code/datums/elements/bane.html new file mode 100644 index 00000000000..a8d6745a005 --- /dev/null +++ b/code/datums/elements/bane.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/elements/bane.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/bane.dm + +

+ + +
/datum/element/baneDeals extra damage to mobs of a certain type, species, or biotype. +This doesn't directly modify the normal damage of the weapon, instead it applies it's own damage seperatedly ON TOP of normal damage +ie. a sword that does 10 damage with a bane elment attacthed that has a 0.5 damage_multiplier will do: +10 damage from the swords normal attack + 5 damage (50%) from the bane element
+ + + diff --git a/code/datums/elements/basic_body_temp_sensitive.html b/code/datums/elements/basic_body_temp_sensitive.html new file mode 100644 index 00000000000..b02fc24785c --- /dev/null +++ b/code/datums/elements/basic_body_temp_sensitive.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/basic_body_temp_sensitive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/basic_body_temp_sensitive.dm + +

+ + +
/datum/element/basic_body_temp_sensitiveWhen attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures
+ + + diff --git a/code/datums/elements/basic_eating.html b/code/datums/elements/basic_eating.html new file mode 100644 index 00000000000..2ea9577f61b --- /dev/null +++ b/code/datums/elements/basic_eating.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/basic_eating.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/basic_eating.dm + +

+ + +
/datum/element/basic_eating
+ + + diff --git a/code/datums/elements/beauty.html b/code/datums/elements/beauty.html new file mode 100644 index 00000000000..146236ae5fb --- /dev/null +++ b/code/datums/elements/beauty.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/beauty.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/beauty.dm + +

+ + +
/datum/element/beautyBeauty element. It makes the indoor area the parent is in prettier or uglier depending on the beauty var value. +Clean and well decorated areas lead to positive moodlets for passerbies; +Shabbier, dirtier ones lead to negative moodlets EXCLUSIVE to characters with the snob quirk.
+ + + diff --git a/code/datums/elements/bed_tucking.html b/code/datums/elements/bed_tucking.html new file mode 100644 index 00000000000..84e68e91013 --- /dev/null +++ b/code/datums/elements/bed_tucking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bed_tucking.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/bed_tucking.dm + +

+ + +
/datum/element/bed_tuckableTucking element, for things that can be tucked into bed.
+ + + diff --git a/code/datums/elements/befriend_petting.html b/code/datums/elements/befriend_petting.html new file mode 100644 index 00000000000..01d6fd70fff --- /dev/null +++ b/code/datums/elements/befriend_petting.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/befriend_petting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/befriend_petting.dm + +

+ + +
/datum/element/befriend_pettingElement which makes a mob befriend you if you pet it enough.
+ + + diff --git a/code/datums/elements/blocks_explosives.html b/code/datums/elements/blocks_explosives.html new file mode 100644 index 00000000000..c376223edb1 --- /dev/null +++ b/code/datums/elements/blocks_explosives.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/blocks_explosives.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/blocks_explosives.dm + +

+ + +
/datum/element/blocks_explosivesApply this element to a movable atom when you want it to block explosions +It will mirror the blocking down to that movable's turf, keeping explosion work cheap
+ + + diff --git a/code/datums/elements/bombable_turf.html b/code/datums/elements/bombable_turf.html new file mode 100644 index 00000000000..efa93c20da1 --- /dev/null +++ b/code/datums/elements/bombable_turf.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/bombable_turf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/bombable_turf.dm + +

+ + +
/datum/element/bombable_turfApply this to a turf (usually a wall) and it will be destroyed instantly by any explosion. +Most walls can already be destroyed by explosions so this is largely for usually indestructible ones. +For applying it in a map editor, use /obj/effect/mapping_helpers/bombable_wall
+ + + diff --git a/code/datums/elements/bonus_damage.html b/code/datums/elements/bonus_damage.html new file mode 100644 index 00000000000..fc70476b699 --- /dev/null +++ b/code/datums/elements/bonus_damage.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bonus_damage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/bonus_damage.dm + +

+ + +
/datum/element/bonus_damageAttached to a mob that will then deal bonus damage to a victim with low, or potentially in the future, high health.
+ + + diff --git a/code/datums/elements/bugkiller_reagent.html b/code/datums/elements/bugkiller_reagent.html new file mode 100644 index 00000000000..c4d80198146 --- /dev/null +++ b/code/datums/elements/bugkiller_reagent.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/elements/bugkiller_reagent.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/bugkiller_reagent.dm + +

+ + + +
/datum/element/bugkiller_reagentSimple element to be applied to reagents +When those reagents are exposed to mobs with the bug biotype, causes toxins damage +If this delivers the killing blow on a non-humanoid mob, it applies a special status effect that does a funny animation
/datum/status_effect/bugkiller_deathIf bugkiller delivers a lethal dosage, applies this effect which does a funny animation THEN kills 'em +Also makes it so simplemobs / basicmobs no longer delete when they die (if they do)
+ + + diff --git a/code/datums/elements/bump_click.html b/code/datums/elements/bump_click.html new file mode 100644 index 00000000000..a5b853c48fb --- /dev/null +++ b/code/datums/elements/bump_click.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/bump_click.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/bump_click.dm + +

+ + +
/datum/element/bump_clickBump click bespoke element
+ + + diff --git a/code/datums/elements/caseless.html b/code/datums/elements/caseless.html new file mode 100644 index 00000000000..f6b702b8de7 --- /dev/null +++ b/code/datums/elements/caseless.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/caseless.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/caseless.dm + +

+ + +
/datum/element/caselessAn element that deletes the casing when fired and, if reusable is true, adds the projectile_drop element to the bullet. +Just make sure to not add components or elements that also use COMSIG_FIRE_CASING after this one. +Not compatible with pellets (how the eff would that work in a senible way tho?).
+ + + diff --git a/code/datums/elements/chemical_transfer.html b/code/datums/elements/chemical_transfer.html new file mode 100644 index 00000000000..da1070a3fa9 --- /dev/null +++ b/code/datums/elements/chemical_transfer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/chemical_transfer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/chemical_transfer.dm + +

+ + +
/datum/element/chemical_transfer
+ + + diff --git a/code/datums/elements/chewable.html b/code/datums/elements/chewable.html new file mode 100644 index 00000000000..ff2ee7de5b2 --- /dev/null +++ b/code/datums/elements/chewable.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/chewable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/chewable.dm + +

+ + +
/datum/element/chewableAnything with this element will provide the reagents inside the +item to the user when it is equipped.
+ + + diff --git a/code/datums/elements/cliff_walker.html b/code/datums/elements/cliff_walker.html new file mode 100644 index 00000000000..7681db5f6d7 --- /dev/null +++ b/code/datums/elements/cliff_walker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/cliff_walker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/cliff_walker.dm + +

+ + +
/datum/element/cliff_walkingLets a mob walk cliffs and keeps track of if they're alive or not to add/remove the trait
+ + + diff --git a/code/datums/elements/connect_loc.html b/code/datums/elements/connect_loc.html new file mode 100644 index 00000000000..f4da4a46948 --- /dev/null +++ b/code/datums/elements/connect_loc.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/connect_loc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/connect_loc.dm + +

+ + +
/datum/element/connect_locThis element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.
+ + + diff --git a/code/datums/elements/consumable_mob.html b/code/datums/elements/consumable_mob.html new file mode 100644 index 00000000000..8842681b769 --- /dev/null +++ b/code/datums/elements/consumable_mob.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/consumable_mob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/consumable_mob.dm + +

+ + +
/datum/element/consumable_mobelement for mobs that can be consumed!
+ + + diff --git a/code/datums/elements/content_barfer.html b/code/datums/elements/content_barfer.html new file mode 100644 index 00000000000..b8b4f67ddbe --- /dev/null +++ b/code/datums/elements/content_barfer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/content_barfer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/content_barfer.dm + +

+ + +
/datum/element/content_barferContent Barfer; which expels the contents of a mob when it dies, or is transformed
+ + + diff --git a/code/datums/elements/crackable.html b/code/datums/elements/crackable.html new file mode 100644 index 00000000000..0b5c8f079c2 --- /dev/null +++ b/code/datums/elements/crackable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/crackable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/crackable.dm + +

+ + +
/datum/element/crackableAdds crack overlays to an object when integrity gets low
+ + + diff --git a/code/datums/elements/crusher_loot.html b/code/datums/elements/crusher_loot.html new file mode 100644 index 00000000000..0aa390669ac --- /dev/null +++ b/code/datums/elements/crusher_loot.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/crusher_loot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/crusher_loot.dm + +

+ + +
/datum/element/crusher_lootCrusher Loot; which makes the attached mob drop a crusher trophy of some type if the majority damage was from a crusher!
+ + + diff --git a/code/datums/elements/cuffsnapping.html b/code/datums/elements/cuffsnapping.html new file mode 100644 index 00000000000..1a0da015a80 --- /dev/null +++ b/code/datums/elements/cuffsnapping.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/cuffsnapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/cuffsnapping.dm + +

+ + +
/datum/element/cuffsnappingcuffsnapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.
+ + + diff --git a/code/datums/elements/cult_eyes.html b/code/datums/elements/cult_eyes.html new file mode 100644 index 00000000000..937fcc0aa3a --- /dev/null +++ b/code/datums/elements/cult_eyes.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/cult_eyes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/cult_eyes.dm + +

+ + +
/datum/element/cult_eyesApplies and removes the glowing cult eyes
+ + + diff --git a/code/datums/elements/cult_halo.html b/code/datums/elements/cult_halo.html new file mode 100644 index 00000000000..21d8da8001e --- /dev/null +++ b/code/datums/elements/cult_halo.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/cult_halo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/cult_halo.dm + +

+ + +
/datum/element/cult_haloApplies and removes the cult halo
+ + + diff --git a/code/datums/elements/curse_announcement.html b/code/datums/elements/curse_announcement.html new file mode 100644 index 00000000000..267d8e31931 --- /dev/null +++ b/code/datums/elements/curse_announcement.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/curse_announcement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/curse_announcement.dm + +

+ + +
/datum/element/curse_announcementBespoke element that sends a harrowing message when you first pick up an item, applying a spooky color outline and renaming the item. +For most items, it will announce when picked up. If the item can be equipped, though, it will only announce when the item is worn. +Possible improvements for the future: add an option to allow the cursed affix to be a prefix. right now only coded for suffixes
+ + + diff --git a/code/datums/elements/cursed.html b/code/datums/elements/cursed.html new file mode 100644 index 00000000000..4f419faba88 --- /dev/null +++ b/code/datums/elements/cursed.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/cursed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/cursed.dm + +

+ + +
/datum/element/cursedAttaching this element to something will make it float, and get a special ai controller!
+ + + diff --git a/code/datums/elements/damage_threshold.html b/code/datums/elements/damage_threshold.html new file mode 100644 index 00000000000..7bcfe748fc5 --- /dev/null +++ b/code/datums/elements/damage_threshold.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/damage_threshold.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/damage_threshold.dm + +

+ + +
/datum/element/damage_thresholdApplied to living mobs. +Adds a force threshold for which attacks will be blocked entirely. +IE, if they are hit with an attack that deals less than X damage, the attack does nothing.
+ + + diff --git a/code/datums/elements/dangerous_surgical_removal.html b/code/datums/elements/dangerous_surgical_removal.html new file mode 100644 index 00000000000..3558092d6ad --- /dev/null +++ b/code/datums/elements/dangerous_surgical_removal.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/dangerous_surgical_removal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/dangerous_surgical_removal.dm + +

+ + +
/datum/element/dangerous_surgical_removal
+ + + diff --git a/code/datums/elements/death_drops.html b/code/datums/elements/death_drops.html new file mode 100644 index 00000000000..f0cf70cb42b --- /dev/null +++ b/code/datums/elements/death_drops.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/death_drops.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/death_drops.dm + +

+ + +
/datum/element/death_drops
+ + + diff --git a/code/datums/elements/death_explosion.html b/code/datums/elements/death_explosion.html new file mode 100644 index 00000000000..fad0f8bc03a --- /dev/null +++ b/code/datums/elements/death_explosion.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/death_explosion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/death_explosion.dm + +

+ + +
/datum/element/death_explosion
+ + + diff --git a/code/datums/elements/death_gases.html b/code/datums/elements/death_gases.html new file mode 100644 index 00000000000..5621e54bd84 --- /dev/null +++ b/code/datums/elements/death_gases.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/death_gases.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/death_gases.dm + +

+ + +
/datum/element/death_gases
+ + + diff --git a/code/datums/elements/delete_on_drop.html b/code/datums/elements/delete_on_drop.html new file mode 100644 index 00000000000..33ab8e7e421 --- /dev/null +++ b/code/datums/elements/delete_on_drop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/delete_on_drop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/delete_on_drop.dm + +

+ + +
/datum/element/delete_on_dropAttaches to an item, if that item is dropped on the floor delete it
+ + + diff --git a/code/datums/elements/deliver_first.html b/code/datums/elements/deliver_first.html new file mode 100644 index 00000000000..0038d886f8c --- /dev/null +++ b/code/datums/elements/deliver_first.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/elements/deliver_first.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/elements/deliver_first.dm + +

+ + +
DENY_SOUND_COOLDOWN

Define Details

+

DENY_SOUND_COOLDOWN + + +

+ deliver first element! +

bespoke element (1 per set of specific arguments in existence) that makes crates unable to be sold UNTIL they are opened once (to where this element, and the block, are removed) +Used for non-cargo orders to not get turned into a quick buck

+

for the future coders or just me: please convert this into a component to allow for more feedback on the crate's status (clicking when unlocked, overlays, etc)

+ + + diff --git a/code/datums/elements/dextrous.html b/code/datums/elements/dextrous.html new file mode 100644 index 00000000000..6f837caa033 --- /dev/null +++ b/code/datums/elements/dextrous.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/dextrous.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/dextrous.dm + +

+ + +
/datum/element/dextrousSets up the attachee to have hands and manages things like dropping items on death and displaying them on examine +Actual hand performance is managed by code on /living/ and not encapsulated here, we just enable it
+ + + diff --git a/code/datums/elements/diggable.html b/code/datums/elements/diggable.html new file mode 100644 index 00000000000..9c65fb1664a --- /dev/null +++ b/code/datums/elements/diggable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/diggable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/diggable.dm + +

+ + +
/datum/element/diggableLets you make hitting a turf with a shovel pop something out, and scrape the turf
+ + + diff --git a/code/datums/elements/door_pryer.html b/code/datums/elements/door_pryer.html new file mode 100644 index 00000000000..9467d1a1c82 --- /dev/null +++ b/code/datums/elements/door_pryer.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/door_pryer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/door_pryer.dm + +

+ + +
/datum/element/door_pryerAttached to a basic mob. +Causes attacks on doors to attempt to open them.
+ + + diff --git a/code/datums/elements/drag_pickup.html b/code/datums/elements/drag_pickup.html new file mode 100644 index 00000000000..bbf35958ecf --- /dev/null +++ b/code/datums/elements/drag_pickup.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/drag_pickup.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/drag_pickup.dm + +

+ + +
/datum/element/drag_pickupdrag_pickup element; for allowing things to be picked up by dragging.
+ + + diff --git a/code/datums/elements/elevation.html b/code/datums/elements/elevation.html new file mode 100644 index 00000000000..04c11fe566b --- /dev/null +++ b/code/datums/elements/elevation.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/elevation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/elevation.dm + +

+ + + +
/datum/element/elevationManages the elevation of the turf the source is on (can be the turf itself) +The atom with the highest pixel_shift gets to set the elevation of the turf to that value.
/datum/element/elevation_coreThe core element attached to the turf itself. Do not use this directly!
+ + + diff --git a/code/datums/elements/envenomable_casing.html b/code/datums/elements/envenomable_casing.html new file mode 100644 index 00000000000..a58b915f022 --- /dev/null +++ b/code/datums/elements/envenomable_casing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/envenomable_casing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/envenomable_casing.dm + +

+ + +
/datum/element/envenomable_casing
+ + + diff --git a/code/datums/elements/eyestab.html b/code/datums/elements/eyestab.html new file mode 100644 index 00000000000..5dda529d427 --- /dev/null +++ b/code/datums/elements/eyestab.html @@ -0,0 +1,43 @@ + + + + + + + code/datums/elements/eyestab.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/elements/eyestab.dm + +

+ + + + + +
CLUMSY_ATTACK_SELF_CHANCEWhat's the probability a clumsy person stabs themselves in the eyes?
EYESTAB_BLEEDING_THRESHOLDThe damage threshold (of the victim's eyes) after which they start taking more serious effects
EYESTAB_MAX_BLURHow much blur we can apply
/datum/element/eyestabAn element that lets you stab people in the eyes when targeting them

Define Details

+

CLUMSY_ATTACK_SELF_CHANCE + + +

+

What's the probability a clumsy person stabs themselves in the eyes?

EYESTAB_BLEEDING_THRESHOLD + + +

+

The damage threshold (of the victim's eyes) after which they start taking more serious effects

EYESTAB_MAX_BLUR + + +

+

How much blur we can apply

+ + + diff --git a/code/datums/elements/falling_hazard.html b/code/datums/elements/falling_hazard.html new file mode 100644 index 00000000000..13f975ef30d --- /dev/null +++ b/code/datums/elements/falling_hazard.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/falling_hazard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/falling_hazard.dm + +

+ + +
/datum/element/falling_hazardAn element that will make a target thing do damage to any mob that it falls on from a z-level above
+ + + diff --git a/code/datums/elements/firestacker.html b/code/datums/elements/firestacker.html new file mode 100644 index 00000000000..e6c1a86f5fb --- /dev/null +++ b/code/datums/elements/firestacker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/firestacker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/firestacker.dm + +

+ + +
/datum/element/firestackerCan be applied to /atom/movable subtypes to make them apply fire stacks to things they hit
+ + + diff --git a/code/datums/elements/floorloving.html b/code/datums/elements/floorloving.html new file mode 100644 index 00000000000..8be650c15fd --- /dev/null +++ b/code/datums/elements/floorloving.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/floorloving.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/floorloving.dm + +

+ + +
/datum/element/floor_lovingPrevents a movable atom from moving to somewhere which isn't an open turf with floor on it
+ + + diff --git a/code/datums/elements/food/foodlike_drink.html b/code/datums/elements/food/foodlike_drink.html new file mode 100644 index 00000000000..deb7329c2d0 --- /dev/null +++ b/code/datums/elements/food/foodlike_drink.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/food/foodlike_drink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/food/foodlike_drink.dm + +

+ + +
/datum/element/foodlike_drinkThis element can be attached to a reagent container to make it loop after drinking like a food item
+ + + diff --git a/code/datums/elements/food/fried_item.html b/code/datums/elements/food/fried_item.html new file mode 100644 index 00000000000..e7ad933d237 --- /dev/null +++ b/code/datums/elements/food/fried_item.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/food/fried_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/food/fried_item.dm + +

+ + +
/datum/element/fried_itemItems fried through the deep fryer.
+ + + diff --git a/code/datums/elements/food/grilled_item.html b/code/datums/elements/food/grilled_item.html new file mode 100644 index 00000000000..e2bbaa7ffed --- /dev/null +++ b/code/datums/elements/food/grilled_item.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/food/grilled_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/food/grilled_item.dm + +

+ + +
/datum/element/grilled_itemItems grilled through the grill.
+ + + diff --git a/code/datums/elements/food/microwavable.html b/code/datums/elements/food/microwavable.html new file mode 100644 index 00000000000..828939419e0 --- /dev/null +++ b/code/datums/elements/food/microwavable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/food/microwavable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/food/microwavable.dm + +

+ + +
/datum/element/microwavableAtoms that can be microwaved from one type to another.
+ + + diff --git a/code/datums/elements/food/venue_price.html b/code/datums/elements/food/venue_price.html new file mode 100644 index 00000000000..bf82d432f8c --- /dev/null +++ b/code/datums/elements/food/venue_price.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/food/venue_price.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/food/venue_price.dm + +

+ + +
/datum/element/venue_priceThis component can be used to give something value for venues
+ + + diff --git a/code/datums/elements/footstep.html b/code/datums/elements/footstep.html new file mode 100644 index 00000000000..91985df23bd --- /dev/null +++ b/code/datums/elements/footstep.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/footstep.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/footstep.dm + +

+ + +
/datum/element/footstepFootstep element. Plays footsteps at parents location when it is appropriate.
+ + + diff --git a/code/datums/elements/footstep_override.html b/code/datums/elements/footstep_override.html new file mode 100644 index 00000000000..e594ca9b0bb --- /dev/null +++ b/code/datums/elements/footstep_override.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/footstep_override.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/footstep_override.dm + +

+ + +
/datum/element/footstep_overrideWhen attached, the footstep sound played by the footstep element will be replaced by this one's
+ + + diff --git a/code/datums/elements/frozen.html b/code/datums/elements/frozen.html new file mode 100644 index 00000000000..2860f3d5a19 --- /dev/null +++ b/code/datums/elements/frozen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/frozen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/frozen.dm + +

+ + +
/datum/element/frozensimple element to handle frozen obj's
+ + + diff --git a/code/datums/elements/gags_recolorable.html b/code/datums/elements/gags_recolorable.html new file mode 100644 index 00000000000..00e6af9175a --- /dev/null +++ b/code/datums/elements/gags_recolorable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/gags_recolorable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/gags_recolorable.dm + +

+ + +
/datum/element/gags_recolorableAn element that lets players recolor the item through the greyscale menu with the help of a spraycan.
+ + + diff --git a/code/datums/elements/give_turf_traits.html b/code/datums/elements/give_turf_traits.html new file mode 100644 index 00000000000..279b436506b --- /dev/null +++ b/code/datums/elements/give_turf_traits.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/give_turf_traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/give_turf_traits.dm + +

+ + +
/datum/element/give_turf_traitsA bespoke element that adds a set of traits to the turf while occupied by at least one attached movabled.
+ + + diff --git a/code/datums/elements/hat_wearer.html b/code/datums/elements/hat_wearer.html new file mode 100644 index 00000000000..0f684ae9536 --- /dev/null +++ b/code/datums/elements/hat_wearer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/hat_wearer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/hat_wearer.dm + +

+ + +
/datum/element/hat_wearer
+ + + diff --git a/code/datums/elements/haunted.html b/code/datums/elements/haunted.html new file mode 100644 index 00000000000..3eb2e7777c5 --- /dev/null +++ b/code/datums/elements/haunted.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/haunted.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/haunted.dm + +

+ + +
/datum/element/hauntedAttaching this element to something will make it float, get a special ai controller, and gives it a spooky outline.
+ + + diff --git a/code/datums/elements/high_fiver.html b/code/datums/elements/high_fiver.html new file mode 100644 index 00000000000..dd4a002d690 --- /dev/null +++ b/code/datums/elements/high_fiver.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/high_fiver.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/high_fiver.dm + +

+ + +
/datum/element/high_fiverAttach to an item to make it offer a "high five" when offered to people
+ + + diff --git a/code/datums/elements/honkspam.html b/code/datums/elements/honkspam.html new file mode 100644 index 00000000000..2c9003ed452 --- /dev/null +++ b/code/datums/elements/honkspam.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/honkspam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/honkspam.dm + +

+ + +
/datum/element/honkspamAttachable to items. Plays a bikehorn sound whenever attack_self is called (with a cooldown).
+ + + diff --git a/code/datums/elements/human_biter.html b/code/datums/elements/human_biter.html new file mode 100644 index 00000000000..2534ba7e78a --- /dev/null +++ b/code/datums/elements/human_biter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/human_biter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/human_biter.dm + +

+ + +
/datum/element/human_biterAllows carbons with heads to attempt to bite mobs if attacking with cuffed hands / missing arms
+ + + diff --git a/code/datums/elements/immerse.html b/code/datums/elements/immerse.html new file mode 100644 index 00000000000..a16266c87da --- /dev/null +++ b/code/datums/elements/immerse.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/immerse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/immerse.dm + +

+ + + +
/datum/element/immerseA visual element that makes movables entering the attached turfs look immersed into that turf.
/atom/movable/immerse_overlayThe not-quite-perfect movable used by the immerse element for its nefarious deeds.
+ + + diff --git a/code/datums/elements/item_fov.html b/code/datums/elements/item_fov.html new file mode 100644 index 00000000000..286ebd9755a --- /dev/null +++ b/code/datums/elements/item_fov.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/item_fov.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/item_fov.dm + +

+ + +
/datum/element/item_fovAn element to unconditonally add a FOV trait to the wearer, removing it when an item is unequipped
+ + + diff --git a/code/datums/elements/item_scaling.html b/code/datums/elements/item_scaling.html new file mode 100644 index 00000000000..8f14f77badc --- /dev/null +++ b/code/datums/elements/item_scaling.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/item_scaling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/item_scaling.dm + +

+ + +
/datum/element/item_scalingElement for scaling item appearances in the overworld or in inventory/storage.
+ + + diff --git a/code/datums/elements/kneecapping.html b/code/datums/elements/kneecapping.html new file mode 100644 index 00000000000..b405dfa4e91 --- /dev/null +++ b/code/datums/elements/kneecapping.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/kneecapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/kneecapping.dm + +

+ + +
/datum/element/kneecappingKneecapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.
+ + + diff --git a/code/datums/elements/kneejerk.html b/code/datums/elements/kneejerk.html new file mode 100644 index 00000000000..e6947b1f4d1 --- /dev/null +++ b/code/datums/elements/kneejerk.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/kneejerk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/kneejerk.dm + +

+ + +
/datum/element/kneejerkAn element which enables certain items to tap people on their knees to measure brain health
+ + + diff --git a/code/datums/elements/knockback.html b/code/datums/elements/knockback.html new file mode 100644 index 00000000000..035653dc27d --- /dev/null +++ b/code/datums/elements/knockback.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/knockback.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/knockback.dm + +

+ + +
/datum/element/knockbackMobs and items with this element will knock movable targets they hit away from them. +Guns and turrets will instead fire projectiles with similar effects.
+ + + diff --git a/code/datums/elements/lazy_fishing_spot.html b/code/datums/elements/lazy_fishing_spot.html new file mode 100644 index 00000000000..46ca66d79ad --- /dev/null +++ b/code/datums/elements/lazy_fishing_spot.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/lazy_fishing_spot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/lazy_fishing_spot.dm + +

+ + +
/datum/element/lazy_fishing_spotLazy fishing spot element so fisheable turfs do not have a component each since +they're usually pretty common on their respective maps (lava/water/etc)
+ + + diff --git a/code/datums/elements/lifesteal.html b/code/datums/elements/lifesteal.html new file mode 100644 index 00000000000..5234d9c588c --- /dev/null +++ b/code/datums/elements/lifesteal.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/lifesteal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/lifesteal.dm + +

+ + +
/datum/element/lifestealHeals the user (if attached to an item) or the mob itself (if attached to a hostile simple mob) +by a flat amount whenever a successful attack is performed against another living mob.
+ + + diff --git a/code/datums/elements/light_blocking.html b/code/datums/elements/light_blocking.html new file mode 100644 index 00000000000..2104037a993 --- /dev/null +++ b/code/datums/elements/light_blocking.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/light_blocking.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/light_blocking.dm + +

+ + +
/datum/element/light_blockingAttached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.
+ + + diff --git a/code/datums/elements/light_eaten.html b/code/datums/elements/light_eaten.html new file mode 100644 index 00000000000..f9479921ba2 --- /dev/null +++ b/code/datums/elements/light_eaten.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/light_eaten.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/light_eaten.dm + +

+ + +
/datum/element/light_eatenMakes anything that it attaches to incapable of producing light
+ + + diff --git a/code/datums/elements/light_eater.html b/code/datums/elements/light_eater.html new file mode 100644 index 00000000000..db11d512c71 --- /dev/null +++ b/code/datums/elements/light_eater.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/light_eater.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/light_eater.dm + +

+ + +
/datum/element/light_eaterMakes anything it attaches to capable of permanently removing something's ability to produce light.
+ + + diff --git a/code/datums/elements/loomable.html b/code/datums/elements/loomable.html new file mode 100644 index 00000000000..a199fe49e05 --- /dev/null +++ b/code/datums/elements/loomable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/loomable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/loomable.dm + +

+ + +
/datum/element/loomableElement that makes items turn into other items when you use them on a loom (or any other thing really if you change the var)
+ + + diff --git a/code/datums/elements/mirage_border.html b/code/datums/elements/mirage_border.html new file mode 100644 index 00000000000..2eb86026294 --- /dev/null +++ b/code/datums/elements/mirage_border.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/mirage_border.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/mirage_border.dm + +

+ + +
/datum/element/mirage_borderCreates a mirage effect allowing you to see around the world border, by adding the opposite side to its vis_contents.
+ + + diff --git a/code/datums/elements/mob_grabber.html b/code/datums/elements/mob_grabber.html new file mode 100644 index 00000000000..fce6f7db110 --- /dev/null +++ b/code/datums/elements/mob_grabber.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/mob_grabber.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/mob_grabber.dm + +

+ + +
/datum/element/mob_grabberGrab onto mobs we attack
+ + + diff --git a/code/datums/elements/mob_killed_tally.html b/code/datums/elements/mob_killed_tally.html new file mode 100644 index 00000000000..afb93f9eebf --- /dev/null +++ b/code/datums/elements/mob_killed_tally.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/mob_killed_tally.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/mob_killed_tally.dm + +

+ + +
/datum/element/mob_killed_tallyMob Killed Tally; which ticks up a blackbox when the mob dies
+ + + diff --git a/code/datums/elements/move_force_on_death.html b/code/datums/elements/move_force_on_death.html new file mode 100644 index 00000000000..546757c8fa5 --- /dev/null +++ b/code/datums/elements/move_force_on_death.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/move_force_on_death.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/move_force_on_death.dm + +

+ + +
/datum/element/change_force_on_deathElement to change a mob's move forces on death and reset them on living
+ + + diff --git a/code/datums/elements/movement_turf_changer.html b/code/datums/elements/movement_turf_changer.html new file mode 100644 index 00000000000..5f3d4b5be0a --- /dev/null +++ b/code/datums/elements/movement_turf_changer.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/movement_turf_changer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/movement_turf_changer.dm + +

+ + +
/datum/element/movement_turf_changermovement_turf_changer element; which makes the movement of a movable atom change the turf it moved to
+ + + diff --git a/code/datums/elements/movetype_handler.html b/code/datums/elements/movetype_handler.html new file mode 100644 index 00000000000..daf92a0451c --- /dev/null +++ b/code/datums/elements/movetype_handler.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/elements/movetype_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/movetype_handler.dm + +

+ + +
/datum/element/movetype_handlerAn element that enables and disables movetype bitflags whenever the relative traits are added or removed. +It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes. +This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element +before adding them to non-living movables.
+ + + diff --git a/code/datums/elements/nerfed_pulling.html b/code/datums/elements/nerfed_pulling.html new file mode 100644 index 00000000000..1bce9696aa4 --- /dev/null +++ b/code/datums/elements/nerfed_pulling.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/nerfed_pulling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/nerfed_pulling.dm + +

+ + +
/datum/element/nerfed_pullingThis living will be slower when pulling/moving anything in the given typecache
+ + + diff --git a/code/datums/elements/noticable_organ.html b/code/datums/elements/noticable_organ.html new file mode 100644 index 00000000000..e0ec426d6bf --- /dev/null +++ b/code/datums/elements/noticable_organ.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/noticable_organ.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/noticable_organ.dm + +

+ + + +
/datum/element/noticable_organnoticable organ element; which makes organs have a special description added to the person with the organ, if certain body zones aren't covered.
/datum/element/noticable_organ/ai_controlSubtype of noticable organs for AI control, that will make a few more ai status checks before forking over the examine.
+ + + diff --git a/code/datums/elements/obj_regen.html b/code/datums/elements/obj_regen.html new file mode 100644 index 00000000000..3bb78766a16 --- /dev/null +++ b/code/datums/elements/obj_regen.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/obj_regen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/obj_regen.dm + +

+ + +
/datum/element/obj_regenObject integrity regeneration element added by alien alloy.
+ + + diff --git a/code/datums/elements/openspace_item_click_handler.html b/code/datums/elements/openspace_item_click_handler.html new file mode 100644 index 00000000000..5330c59acb4 --- /dev/null +++ b/code/datums/elements/openspace_item_click_handler.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/openspace_item_click_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/openspace_item_click_handler.dm + +

+ + +
/datum/element/openspace_item_click_handlerallow players to easily use items such as iron rods, rcds on open space without +having to pixelhunt for portions not occupied by object or mob visuals.
+ + + diff --git a/code/datums/elements/organ_set_bonus.html b/code/datums/elements/organ_set_bonus.html new file mode 100644 index 00000000000..36cbf4b4e26 --- /dev/null +++ b/code/datums/elements/organ_set_bonus.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/organ_set_bonus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/organ_set_bonus.dm + +

+ + +
/datum/element/organ_set_bonusorgan set bonus element; which makes organs in the same set, all in one person, provide a unique bonus!
+ + + diff --git a/code/datums/elements/pet_bonus.html b/code/datums/elements/pet_bonus.html new file mode 100644 index 00000000000..882ac7cdb86 --- /dev/null +++ b/code/datums/elements/pet_bonus.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/pet_bonus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/pet_bonus.dm + +

+ + +
/datum/element/pet_bonusBespoke element that plays a fun message, sends a heart out, and gives a stronger mood bonus when you pet this animal. +I may have been able to make this work for carbons, but it would have been interjecting on some help mode interactions anyways.
+ + + diff --git a/code/datums/elements/plant_backfire.html b/code/datums/elements/plant_backfire.html new file mode 100644 index 00000000000..79d59a34b83 --- /dev/null +++ b/code/datums/elements/plant_backfire.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/elements/plant_backfire.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/plant_backfire.dm + +

+ + +
/datum/element/plant_backfire-- Plant backfire element -- +Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +If a user is protected with something like leather gloves, they can handle them normally. +If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.
+ + + diff --git a/code/datums/elements/point_of_interest.html b/code/datums/elements/point_of_interest.html new file mode 100644 index 00000000000..31fb38b30c1 --- /dev/null +++ b/code/datums/elements/point_of_interest.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/point_of_interest.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/point_of_interest.dm + +

+ + +
/datum/element/point_of_interestDesignates the atom as a "point of interest", meaning it can be directly orbited
+ + + diff --git a/code/datums/elements/prevent_attacking_of_types.html b/code/datums/elements/prevent_attacking_of_types.html new file mode 100644 index 00000000000..b83dc496bda --- /dev/null +++ b/code/datums/elements/prevent_attacking_of_types.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/prevent_attacking_of_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/prevent_attacking_of_types.dm + +

+ + +
/datum/element/prevent_attacking_of_typesThis hostile will not be able to attack a given typecache, and will receive +a balloon alert when it tries to.
+ + + diff --git a/code/datums/elements/projectile_drop.html b/code/datums/elements/projectile_drop.html new file mode 100644 index 00000000000..d992ebbb7c5 --- /dev/null +++ b/code/datums/elements/projectile_drop.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/projectile_drop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/projectile_drop.dm + +

+ + +
/datum/element/projectile_dropA simple element that spawns an atom when the bullet hits an object or reaches the end of its range +If the projectile has embedding and it can embed into the target, then it won't spawn the drop, +since embedding the embed element already handles that.
+ + + diff --git a/code/datums/elements/radiation_protected_clothing.html b/code/datums/elements/radiation_protected_clothing.html new file mode 100644 index 00000000000..ef11555a623 --- /dev/null +++ b/code/datums/elements/radiation_protected_clothing.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/radiation_protected_clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/radiation_protected_clothing.dm + +

+ + +
/datum/element/radiation_protected_clothingMarks the item as being radiation protected. +Adds the TRAIT_RADIATION_PROTECTED_CLOTHING trait, as well as adding an +extra bit to the examine descrpition.
+ + + diff --git a/code/datums/elements/radioactive.html b/code/datums/elements/radioactive.html new file mode 100644 index 00000000000..d977c8296fb --- /dev/null +++ b/code/datums/elements/radioactive.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/radioactive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/radioactive.dm + +

+ + +
/datum/element/radioactiveThis atom will regularly pulse radiation.
+ + + diff --git a/code/datums/elements/ranged_armour.html b/code/datums/elements/ranged_armour.html new file mode 100644 index 00000000000..c5ca7cb2bc1 --- /dev/null +++ b/code/datums/elements/ranged_armour.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/ranged_armour.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ranged_armour.dm + +

+ + +
/datum/element/ranged_armourReduces or nullifies damage from ranged weaponry with force below a certain value
+ + + diff --git a/code/datums/elements/relay_attackers.html b/code/datums/elements/relay_attackers.html new file mode 100644 index 00000000000..402b4df1b40 --- /dev/null +++ b/code/datums/elements/relay_attackers.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/relay_attackers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/relay_attackers.dm + +

+ + +
/datum/element/relay_attackersThis element registers to a shitload of signals which can signify "someone attacked me". +If anyone does it sends a single "someone attacked me" signal containing details about who done it. +This prevents other components and elements from having to register to the same list of a million signals, should be more maintainable in one place.
+ + + diff --git a/code/datums/elements/ridable.html b/code/datums/elements/ridable.html new file mode 100644 index 00000000000..f03105e823f --- /dev/null +++ b/code/datums/elements/ridable.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/ridable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/ridable.dm + +

+ + +
/datum/element/ridableThis element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.
+ + + diff --git a/code/datums/elements/rust.html b/code/datums/elements/rust.html new file mode 100644 index 00000000000..3d7c671f49e --- /dev/null +++ b/code/datums/elements/rust.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/rust.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/rust.dm + +

+ + +
/datum/element/rustAdding this element to an atom will have it automatically render an overlay. +The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default
+ + + diff --git a/code/datums/elements/screentips.html b/code/datums/elements/screentips.html new file mode 100644 index 00000000000..1282ecd5d8c --- /dev/null +++ b/code/datums/elements/screentips.html @@ -0,0 +1,118 @@ + + + + + + + code/datums/elements/screentips/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Contextual screentips (and when to not use this folder) + +

+ + +

Contextual screentips provide information in the form of text at the top of your screen to inform you of the possibilities of an item. The "contextual" here refers to this being handled entirely through code, what it displays and when is completely up to you.

+The elements (and this folder) +

This folder provides several useful shortcuts to be able to handle 95% of situations.

+/datum/element/contextual_screentip_bare_hands +

This element is used to display screentips when the user hovers over the object with nothing in their active hand.

+

It takes parameters in the form of both non-combat mode and, optionally, combat mode.

+

Example:

+
/obj/machinery/firealarm/Initialize(mapload)
+	. = ..()
+
+	AddElement( \
+		/datum/element/contextual_screentip_bare_hands, \
+		lmb_text = "Turn on", \
+		rmb_text = "Turn off", \
+	)
+
+

This will display "LMB: Turn on | RMB: Turn off" when the user hovers over a fire alarm with an empty active hand.

+/datum/element/contextual_screentip_tools +

This element takes a map of tool behaviors to context lists. These will be displayed when the user hovers over the object with an item that has the tool behavior.

+

Example:

+
/obj/structure/table/Initialize(mapload)
+	if (!(obj_flags & NO_DECONSTRUCTION))
+		var/static/list/tool_behaviors = list(
+			TOOL_SCREWDRIVER = list(
+				SCREENTIP_CONTEXT_RMB = "Disassemble",
+			),
+
+			TOOL_WRENCH = list(
+				SCREENTIP_CONTEXT_RMB = "Deconstruct",
+			),
+		)
+
+		AddElement(/datum/element/contextual_screentip_tools, tool_behaviors)
+
+

This will display "RMB: Deconstruct" when the user hovers over a table with a wrench.

+/datum/element/contextual_screentip_item_typechecks +

This element takes a map of item typepaths to context lists. These will be displayed when the user hovers over the object with the selected item.

+

Example:

+
/obj/item/restraints/handcuffs/cable/Initialize(mapload)
+	. = ..()
+
+	var/static/list/hovering_item_typechecks = list(
+		/obj/item/stack/rods = list(
+			SCREENTIP_CONTEXT_LMB = "Craft wired rod",
+		),
+
+		/obj/item/stack/sheet/iron = list(
+			SCREENTIP_CONTEXT_LMB = "Craft bola",
+		),
+	)
+
+	AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks)
+
+

This will display "LMB: Craft bola" when the user hovers over cable restraints with metal in their hand.

+The basic system (and when to not use this folder) +

The basic system acknowledges the following two interactions:

+Self-defining items (Type A) +

These are items that are defined by their behavior. These should define their contextual text within themselves, and not in their targets.

+
    +
  • Stun batons (LMB to stun, RMB to harm)
  • +
  • Syringes (LMB to inject, RMB to draw)
  • +
  • Health analyzers (LMB to scan for health/wounds [another piece of context], RMB to scans for chemicals)
  • +
+Receiving action defining objects (Type B) +

These are objects (not necessarily items) that are defined by what happens to them. These should define their contextual text within themselves, and not in their operating tools.

+
    +
  • Tables (RMB with wrench to deconstruct)
  • +
  • Construction objects (LMB with glass to put in screen for computers)
  • +
  • Carbon copies (RMB to take a copy)
  • +
+
+

Both of these are supported, and can be hooked to through several means.

+

Note that you must return CONTEXTUAL_SCREENTIP_SET if you change the contextual screentip at all, otherwise you may not see it.

+COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET +

This signal is registered on items, and receives the hovering object, provided in the form of obj/item/source, list/context, atom/target, mob/living/user.

+/atom/proc/register_item_context(), and /atom/proc/add_item_context() +

/atom/proc/add_item_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET: obj/item/source, list/context, atom/target, mob/living/user.

+

In order for your add_item_context() method to be run, you must call register_item_context().

+COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM +

This signal is registered on atoms, and receives what the user is hovering with, provided in the form of atom/source, list/context, obj/item/held_item, mob/living/user.

+/atom/proc/register_context(), and /atom/proc/add_context() +

/atom/proc/add_context() is a proc intended to be overridden to easily create Type-B interactions (ones where atoms are hovered over by items). It receives the exact same arguments as COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM: atom/source, list/context, obj/item/held_item, mob/living/user.

+

In order for your add_context() method to be run, you must call register_context().

+
+

When using any of these methods, you will receive a mutable context list.

+Context lists +

Context lists are lists with keys mapping from SCREENTIP_CONTEXT_* to a string. You can find these keys in code/__DEFINES/screentips.dm.

+

The signals and add_context() variants mutate the list directly, while shortcut elements will just have you pass them in directly.

+

For example:

+
context[SCREENTIP_CONTEXT_LMB] = "Open"
+context[SCREENTIP_CONTEXT_RMB] = "Destroy"
+
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_bare_hands.html b/code/datums/elements/screentips/contextual_screentip_bare_hands.html new file mode 100644 index 00000000000..891dc5a5a44 --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_bare_hands.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_bare_hands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_bare_hands.dm + +

+ + +
/datum/element/contextual_screentip_bare_handsApply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_item_typechecks.html b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html new file mode 100644 index 00000000000..6f0c4585e1e --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_item_typechecks.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_item_typechecks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_item_typechecks.dm + +

+ + +
/datum/element/contextual_screentip_item_typechecksApply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_mob_typechecks.html b/code/datums/elements/screentips/contextual_screentip_mob_typechecks.html new file mode 100644 index 00000000000..0573549b62a --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_mob_typechecks.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_mob_typechecks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_mob_typechecks.dm + +

+ + +
/datum/element/contextual_screentip_mob_typechecksApply basic contextual screentips when a user of a specific typepath hovers over us. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_sharpness.html b/code/datums/elements/screentips/contextual_screentip_sharpness.html new file mode 100644 index 00000000000..8056ece0fbc --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_sharpness.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_sharpness.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_sharpness.dm + +

+ + +
/datum/element/contextual_screentip_sharpnessApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/screentips/contextual_screentip_tools.html b/code/datums/elements/screentips/contextual_screentip_tools.html new file mode 100644 index 00000000000..02db0a3696f --- /dev/null +++ b/code/datums/elements/screentips/contextual_screentip_tools.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/screentips/contextual_screentip_tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/screentips/contextual_screentip_tools.dm + +

+ + +
/datum/element/contextual_screentip_toolsApply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
+ + + diff --git a/code/datums/elements/series.html b/code/datums/elements/series.html new file mode 100644 index 00000000000..67b71160f8e --- /dev/null +++ b/code/datums/elements/series.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/series.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/series.dm + +

+ + +
/datum/element/series
+ + + diff --git a/code/datums/elements/shatters_when_thrown.html b/code/datums/elements/shatters_when_thrown.html new file mode 100644 index 00000000000..a94128896b9 --- /dev/null +++ b/code/datums/elements/shatters_when_thrown.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/shatters_when_thrown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/shatters_when_thrown.dm + +

+ + +
/datum/element/shatters_when_thrownWhen attached to something, will make that thing shatter into shards on throw impact or z level falling
+ + + diff --git a/code/datums/elements/sideway_movement.html b/code/datums/elements/sideway_movement.html new file mode 100644 index 00000000000..752b8663d2a --- /dev/null +++ b/code/datums/elements/sideway_movement.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/sideway_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/sideway_movement.dm + +

+ + +
/datum/element/sideway_movementA simple element that forces the mob to face a perpendicular direction when moving, like crabs.
+ + + diff --git a/code/datums/elements/simple_flying.html b/code/datums/elements/simple_flying.html new file mode 100644 index 00000000000..ef15358534a --- /dev/null +++ b/code/datums/elements/simple_flying.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/simple_flying.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/simple_flying.dm + +

+ + +
/datum/element/simple_flyingNon bespoke element (1 in existence) that makes animals fly while living and... not while dead! +Note: works for carbons and above, but please do something better. humans have wings got dangit!
+ + + diff --git a/code/datums/elements/skill_reward.html b/code/datums/elements/skill_reward.html new file mode 100644 index 00000000000..cf8034d1e92 --- /dev/null +++ b/code/datums/elements/skill_reward.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/elements/skill_reward.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/skill_reward.dm + +

+ + + +
/datum/element/skill_rewardAn element that forbids mobs without a required skill level from equipping the item.
/datum/element/skill_reward/veteranWelp, the code is pretty much the same, except for one tiny detail, I suppose it's ok to make a subtype of this element. +That tiny detail is that we don't check for skills, but if the player has played for thousands of hours.
+ + + diff --git a/code/datums/elements/soft_landing.html b/code/datums/elements/soft_landing.html new file mode 100644 index 00000000000..79cab233a74 --- /dev/null +++ b/code/datums/elements/soft_landing.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/soft_landing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/soft_landing.dm + +

+ + +
/datum/element/soft_landing
+ + + diff --git a/code/datums/elements/squish.html b/code/datums/elements/squish.html new file mode 100644 index 00000000000..2b5a5b56dde --- /dev/null +++ b/code/datums/elements/squish.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/squish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/squish.dm + +

+ + +
/datum/element/squishsquish.dm
+ + + diff --git a/code/datums/elements/strippable.html b/code/datums/elements/strippable.html new file mode 100644 index 00000000000..6c1b5582b44 --- /dev/null +++ b/code/datums/elements/strippable.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/elements/strippable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/strippable.dm + +

+ + + + + + + + + + + + + +
/datum/element/strippableAn element for atoms that, when dragged and dropped onto a mob, opens a strip panel.
/datum/strippable_itemA representation of an item that can be stripped down
/datum/strippable_item/mob_item_slotA preset for equipping items onto mob slots
/proc/finish_equip_mobA utility function for /datum/strippable_items to finish equipping an item to a mob.
/proc/start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
/proc/finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
/datum/strip_menuA representation of the stripping UI
/proc/create_strippable_listCreates an assoc list of keys to /datum/strippable_item
+ + + diff --git a/code/datums/elements/structure_repair.html b/code/datums/elements/structure_repair.html new file mode 100644 index 00000000000..5449ed7543f --- /dev/null +++ b/code/datums/elements/structure_repair.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/structure_repair.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/structure_repair.dm + +

+ + +
/datum/element/structure_repairIntercepts attacks from mobs with this component to instead repair specified structures.
+ + + diff --git a/code/datums/elements/swabbable.html b/code/datums/elements/swabbable.html new file mode 100644 index 00000000000..d5fd434a13a --- /dev/null +++ b/code/datums/elements/swabbable.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/swabbable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/swabbable.dm + +

+ + +

This element is used in vat growing to allow for the object to be

+ + + diff --git a/code/datums/elements/temporary_atom.html b/code/datums/elements/temporary_atom.html new file mode 100644 index 00000000000..87d7fef7285 --- /dev/null +++ b/code/datums/elements/temporary_atom.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/temporary_atom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/temporary_atom.dm + +

+ + +
/datum/element/temporary_atomDeletes the atom with a little fading out animation after a specified time
+ + + diff --git a/code/datums/elements/tenacious.html b/code/datums/elements/tenacious.html new file mode 100644 index 00000000000..bdfeb33fcc7 --- /dev/null +++ b/code/datums/elements/tenacious.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/tenacious.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/tenacious.dm + +

+ + +
/datum/element/tenacioustenacious element; which makes the parent move faster while crawling
+ + + diff --git a/code/datums/elements/tiny_mob_hunter.html b/code/datums/elements/tiny_mob_hunter.html new file mode 100644 index 00000000000..dae1902fc8e --- /dev/null +++ b/code/datums/elements/tiny_mob_hunter.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/tiny_mob_hunter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/tiny_mob_hunter.dm + +

+ + +
/datum/element/tiny_mob_hunterDeals bonus brute damage to smaller mobs
+ + + diff --git a/code/datums/elements/tool_flash.html b/code/datums/elements/tool_flash.html new file mode 100644 index 00000000000..6d89ec15607 --- /dev/null +++ b/code/datums/elements/tool_flash.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/tool_flash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/tool_flash.dm + +

+ + +
/datum/element/tool_flashTool flash bespoke element
+ + + diff --git a/code/datums/elements/turf_transparency.html b/code/datums/elements/turf_transparency.html new file mode 100644 index 00000000000..69d51175e52 --- /dev/null +++ b/code/datums/elements/turf_transparency.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/elements/turf_transparency.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/turf_transparency.dm + +

+ + + + + +
/proc/request_z_pillarReturns a z pillar to insert turfs into
/obj/effect/abstract/z_holderExists to be placed on the turf of walls and such to hold the vis_contents of the tile below +Otherwise the lower turf might get shifted around, which is dumb. do this instead.
/datum/z_pillarGrouping datum that manages transparency for a block of space +Setup to ease debugging, and to make add/remove operations cheaper
+ + + diff --git a/code/datums/elements/undertile.html b/code/datums/elements/undertile.html new file mode 100644 index 00000000000..5156c407e8c --- /dev/null +++ b/code/datums/elements/undertile.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/elements/undertile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/elements/undertile.dm + +

+ + + +
ALPHA_UNDERTILEThe alpha we give to stuff under tiles, if they want it
/datum/element/undertileAdd to an object if you want to be able to be hidden under tiles

Define Details

+

ALPHA_UNDERTILE + + +

+

The alpha we give to stuff under tiles, if they want it

+ + + diff --git a/code/datums/elements/unfriend_attacker.html b/code/datums/elements/unfriend_attacker.html new file mode 100644 index 00000000000..efbf3b0ccae --- /dev/null +++ b/code/datums/elements/unfriend_attacker.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/unfriend_attacker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/unfriend_attacker.dm + +

+ + +
/datum/element/unfriend_attackerElement which makes a mob remove you from its friends list you if you hurt it. +Doesn't make a callout post because we don't have twitter integration.
+ + + diff --git a/code/datums/elements/update_icon_blocker.html b/code/datums/elements/update_icon_blocker.html new file mode 100644 index 00000000000..1ffad8a3200 --- /dev/null +++ b/code/datums/elements/update_icon_blocker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/update_icon_blocker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/update_icon_blocker.dm + +

+ + +
/datum/element/update_icon_blockerPrevents calling anything in update_icon() like update_icon_state() or update_overlays()
+ + + diff --git a/code/datums/elements/uplink_reimburse.html b/code/datums/elements/uplink_reimburse.html new file mode 100644 index 00000000000..c1907d8c67c --- /dev/null +++ b/code/datums/elements/uplink_reimburse.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/uplink_reimburse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/uplink_reimburse.dm + +

+ + +
/datum/element/uplink_reimburseUplink Reimburse element. +When element is applied onto items, it allows them to be reimbursed if an user pokes an item with a uplink component with them.
+ + + diff --git a/code/datums/elements/venomous.html b/code/datums/elements/venomous.html new file mode 100644 index 00000000000..f2c9e360de5 --- /dev/null +++ b/code/datums/elements/venomous.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/venomous.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/venomous.dm + +

+ + +
/datum/element/venomousVenomous element; which makes the attacks of the simplemob attached poison the enemy.
+ + + diff --git a/code/datums/elements/volatile_gas_storage.html b/code/datums/elements/volatile_gas_storage.html new file mode 100644 index 00000000000..012099573c9 --- /dev/null +++ b/code/datums/elements/volatile_gas_storage.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/volatile_gas_storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/volatile_gas_storage.dm + +

+ + +
/datum/element/volatile_gas_storageAn element to make an /obj explode based on gas pressure when broken
+ + + diff --git a/code/datums/elements/wall_engraver.html b/code/datums/elements/wall_engraver.html new file mode 100644 index 00000000000..5c5d1e26e9e --- /dev/null +++ b/code/datums/elements/wall_engraver.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/wall_engraver.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/wall_engraver.dm + +

+ + +
/datum/element/wall_engraverAn element that lets you engrave walls when right click is used
+ + + diff --git a/code/datums/elements/wall_smasher.html b/code/datums/elements/wall_smasher.html new file mode 100644 index 00000000000..49febc89f09 --- /dev/null +++ b/code/datums/elements/wall_smasher.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/wall_smasher.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/wall_smasher.dm + +

+ + +
/datum/element/wall_smasherAn element you put on mobs to let their attacks break walls +If put in the hands of a player this can cause a lot of problems, be careful
+ + + diff --git a/code/datums/elements/wall_tearer.html b/code/datums/elements/wall_tearer.html new file mode 100644 index 00000000000..055453c9e6a --- /dev/null +++ b/code/datums/elements/wall_tearer.html @@ -0,0 +1,43 @@ + + + + + + + code/datums/elements/wall_tearer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/elements/wall_tearer.dm + +

+ + + + + +
WALL_TEAR_ALLOWEDReturned if we can rip up this target
WALL_TEAR_INVALIDReturned if we can't rip up this target
WALL_TEAR_FAIL_CANCEL_CHAINReturned if we can't rip up the target but still don't want to attack it
/datum/element/wall_tearerAllows attached mobs to destroy walls over time, a little less unreasonable than the instant wall deletion of wall_smasher

Define Details

+

WALL_TEAR_ALLOWED + + +

+

Returned if we can rip up this target

WALL_TEAR_FAIL_CANCEL_CHAIN + + +

+

Returned if we can't rip up the target but still don't want to attack it

WALL_TEAR_INVALID + + +

+

Returned if we can't rip up this target

+ + + diff --git a/code/datums/elements/wall_walker.html b/code/datums/elements/wall_walker.html new file mode 100644 index 00000000000..97cce84ea2b --- /dev/null +++ b/code/datums/elements/wall_walker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/wall_walker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/wall_walker.dm + +

+ + +
/datum/element/wall_walkerThis element will allow the mob it's attached to to pass through a specified type of wall, and drag anything through it.
+ + + diff --git a/code/datums/elements/weapon_description.html b/code/datums/elements/weapon_description.html new file mode 100644 index 00000000000..38897050c60 --- /dev/null +++ b/code/datums/elements/weapon_description.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/elements/weapon_description.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/weapon_description.dm + +

+ + +
/datum/element/weapon_descriptionThe purpose of this element is to widely provide the ability to examine an object and determine its stats, with the ability to add +additional notes or information based on type or other factors
+ + + diff --git a/code/datums/elements/weather_listener.html b/code/datums/elements/weather_listener.html new file mode 100644 index 00000000000..00fb1b75e00 --- /dev/null +++ b/code/datums/elements/weather_listener.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/weather_listener.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/weather_listener.dm + +

+ + +
/datum/element/weather_listenerThis element just handles creating and destroying an area sound manager that's hooked into weather stuff
+ + + diff --git a/code/datums/elements/web_walker.html b/code/datums/elements/web_walker.html new file mode 100644 index 00000000000..2794545ad03 --- /dev/null +++ b/code/datums/elements/web_walker.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/web_walker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/web_walker.dm + +

+ + +
/datum/element/web_walkerA mob with this element will move more slowly when it's not stood on a webbed turf.
+ + + diff --git a/code/datums/elements/wheel.html b/code/datums/elements/wheel.html new file mode 100644 index 00000000000..b0c1073585f --- /dev/null +++ b/code/datums/elements/wheel.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/elements/wheel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/elements/wheel.dm + +

+ + +
/datum/element/wheelElement which spins you as you move
+ + + diff --git a/code/datums/emotes.html b/code/datums/emotes.html new file mode 100644 index 00000000000..7ac9df95344 --- /dev/null +++ b/code/datums/emotes.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/emotes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/emotes.dm + +

+ + +
/datum/emoteMost of the text that's not someone talking is based off of this.
+ + + diff --git a/code/datums/greyscale.html b/code/datums/greyscale.html new file mode 100644 index 00000000000..dbd55b4010a --- /dev/null +++ b/code/datums/greyscale.html @@ -0,0 +1,161 @@ + + + + + + + code/datums/greyscale/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Greyscale Auto-Generated Sprites (GAGS) + +

+ + +

If you're wanting to add easy recolors for your sprite then this is the system for you. Features include:

+
    +
  • Multiple color layers so your sprite can be generated from more than one color.
  • +
  • Mixed greyscale and colored sprite layers; You can choose to only greyscale a part of the sprite or have premade filters applied to layers.
  • +
  • Blend modes; Instead of just putting layers of sprites on top of eachother you can use the more advanced blend modes.
  • +
  • Reusable configurations; You can reference greyscale sprites from within the configuration of another, allowing you to have a bunch of styles with minimal additional configuration.
  • +
+Other Documents + +Broad overview +

There are three main parts to GAGS that you'll need to be aware of when adding a new greyscale sprite:

+
    +
  • The json configuration
  • +
+

All configuration files can be found in code/datums/greyscale/json_configs and is where you control how your icons are combined together along with the colors specified from in code.

+
    +
  • The dmi file
  • +
+

It contains the sprites that will be used as the basis for the rest of the generation process. You can only have one dmi file specified per configuration but if you want to split up your sprites you can reference other configurations instead.

+
    +
  • The configuration type
  • +
+

This is simply some pointers in the code linking together your dmi and the json configuration.

+Json Configuration File +

The json is made up of some metadata and a list of layers used while creating the sprite. Inner lists are processed as their own chunk before being applied elsewhere, this is useful when you start using more advanced blend modes. Most of the time though you're just going to want a list of icons overlaid on top of eachother.

+
{
+	"icon_state_name": [
+		{
+			"type": "reference",
+			"reference_type": "/datum/greyscale_config/some_other_config",
+			"blend_mode": "overlay",
+			"color_ids": [ 1 ]
+		},
+		[
+			{
+				"type": "icon_state",
+				"icon_state": "highlights",
+				"blend_mode": "overlay",
+				"color_ids": [ 2 ]
+			},
+			{
+				"type": "reference",
+				"reference_type": "/datum/greyscale_config/sparkle_effect",
+				"blend_mode": "add"
+			}
+		]
+	]
+}
+
+

In this example, we start off by creating a sprite specified by a different configuration. The "type" key is required to specify the kind of layer you defining. Once that is done, the next two layers are grouped together, so they will be generated into one sprite before being applied to any sprites outside their group. You can think of it as an order of operations.

+

The first of the two in the inner group is an "icon_state", this means that the icon will be retrieved from the associated dmi file using the "icon_state" key.

+

Note that you don't need to give colors to every layer if the layer does not need any colors applied to it, such as if it's a pre-colored component. +In this example, the last layer is one such example, referencing a separately colored config.

+

"blend_mode" and "color_ids" are special, all layer types have them. The blend mode is what controls how that layer's finished product gets merged together with the rest of the sprite. The color ids control what colors are passed in to the layer.

+

Once it is done generating it will be placed in an icon file with the icon state of "icon_state_name". You can use any name you like here.

+

Most commonly, we'll only use the "icon_state" type... +Thus, this will be the most common layout:

+
{
+	"full_icon_state_name": [
+		{
+			"type": "icon_state",
+			"icon_state": "component_state_1",
+			"blend_mode": "overlay",
+			"color_ids": [ 1 ]
+		},
+		{
+			"type": "icon_state",
+			"icon_state": "component_state_2",
+			"blend_mode": "overlay",
+			"color_ids": [ 2 ]
+		},
+		{
+			"type": "icon_state",
+			"icon_state": "non_colorable_component_state",
+			"blend_mode": "overlay",
+		}
+	]
+}
+
+Dmi File +

There are no special requirements from the dmi file to work with this system. You just need to specify the icon file in code and the icon_state in the json configuration. +Additionally, for the sake of mappers, it's appreciated if there's a pre-made obj icon of the same name as the item's icon_state; this way, the item will appear in mapping software.

+Dm Code +

While the amount of dm code required to make a greyscale sprite was minimized as much as possible, some small amount is required anyway if you want anything to use it.

+

As an example:

+
/datum/greyscale_config/canister
+	name = "Canister" //Required for debugging, will runtime without one!
+	icon_file = 'icons/obj/pipes_n_cables/canisters/default.dmi'
+	json_config = 'code/datums/greyscale/json_configs/canister_default.json'
+
+

And that's all you need to make it usable by other code:

+
/obj/machinery/portable_atmospherics/canister
+	...
+	greyscale_config = /datum/greyscale_config/canister
+	greyscale_colors = "#ee4242"
+
+

More configurations can be found in the greyscale_configs folder [code/datums/greyscale/config_types/greyscale_configs/greyscale_unsorted.dm] (./config_types/greyscale_configs/greyscale_unsorted.dm)

+

While creating a greyscale config, be sure to take subtypes into account! Rather than create several unique configs that all link to the same icon file, you can make the variants all a subtype of one base config:

+
/datum/greyscale_config/tablet
+	name = "PDA"
+	icon_file = 'icons/obj/modular_pda.dmi'
+	json_config = 'code/datums/greyscale/json_configs/pda.json'
+
+/datum/greyscale_config/tablet/chaplain
+	name = "Chaplain PDA"
+	json_config = 'code/datums/greyscale/json_configs/pda_chaplain.json'
+
+

Building on this, if your obj and worn sprites have the same amount of component states, then instead of making separate .json configs for obj and worn, link to two separate .dmi's while still using the same .json config! For example:

+
/datum/greyscale_config/trek
+	name = "Trek Uniform"
+	icon_file = 'icons/obj/clothing/under/trek.dmi'
+	json_config = 'code/datums/greyscale/json_configs/trek.json'
+
+/datum/greyscale_config/trek/worn
+	name = "Worn Trek Uniform"
+	icon_file = 'icons/mob/clothing/under/trek.dmi'
+	//The worn json is exactly the same, and both icon files use identically-named component states; so, we can just inherit the json!
+
+

If you want your item to be colorable in a vending machine (or other places if there's ever any support added for that), you should do it like this:

+
/obj/item/clothing/head/beret
+	...
+	flags_1 = IS_PLAYER_COLORABLE_1
+
+

However, be extremely careful, as this requires that you put all of the object's flags_1 flags in that statement all over again. It's ugly, I know, but there's no +better way to do this with BYOND just yet. You can put multiple flags like this (not real flags):

+
/obj/item/clothing/head/beret
+	...
+	flags_1 = IS_PLAYER_COLORABLE_1 | THIS_IS_A_FAKE_FLAG | THIS_IS_ANOTHER_FAKE_FLAG
+
+Debugging +

If you're making a new greyscale sprite you sometimes want to be able to see how layers got generated or maybe you're just tweaking some colors. Rather than rebooting the server with every change there is a greyscale modification menu that can be found in the vv dropdown menu for the greyscale object. Here you can change colors, preview the results, and reload everything from their files.

+ + + diff --git a/code/datums/greyscale/_greyscale_config.html b/code/datums/greyscale/_greyscale_config.html new file mode 100644 index 00000000000..3fd78138322 --- /dev/null +++ b/code/datums/greyscale/_greyscale_config.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/greyscale/_greyscale_config.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/greyscale/_greyscale_config.dm + +

+ + +
/datum/greyscale_configA datum tying together a greyscale configuration and dmi file. Required for using GAGS and handles the code interactions.
+ + + diff --git a/code/datums/greyscale/json_reader.html b/code/datums/greyscale/json_reader.html new file mode 100644 index 00000000000..5c247b51dca --- /dev/null +++ b/code/datums/greyscale/json_reader.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/greyscale/json_reader.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/greyscale/json_reader.dm + +

+ + +
/datum/json_readerTakes a json list and extracts a single value. +Subtypes represent different conversions of that value.
+ + + diff --git a/code/datums/greyscale/layer.html b/code/datums/greyscale/layer.html new file mode 100644 index 00000000000..4bc8a5ca2aa --- /dev/null +++ b/code/datums/greyscale/layer.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/greyscale/layer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/greyscale/layer.dm + +

+ + + + +
/datum/greyscale_layer/icon_stateThe most basic greyscale layer; a layer which is created from a single icon_state in the given icon file
/datum/greyscale_layer/color_matrixA layer to modify the previous layer's colors with a color matrix
/datum/greyscale_layer/referenceA layer created by using another greyscale icon's configuration
+ + + diff --git a/code/datums/helper_datums/stack_end_detector.html b/code/datums/helper_datums/stack_end_detector.html new file mode 100644 index 00000000000..c65e9ea801f --- /dev/null +++ b/code/datums/helper_datums/stack_end_detector.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/helper_datums/stack_end_detector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/helper_datums/stack_end_detector.dm + +

+ + + +
/datum/stack_end_detectorStack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.
/datum/stack_canaryStack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
+ + + diff --git a/code/datums/helper_datums/teleport.html b/code/datums/helper_datums/teleport.html new file mode 100644 index 00000000000..ce6e9cc3977 --- /dev/null +++ b/code/datums/helper_datums/teleport.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/helper_datums/teleport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/helper_datums/teleport.dm + +

+ + + + + +
/proc/is_safe_turfChecks if a given turf is a "safe" location
/proc/check_teleport_validValidates that the teleport being attempted is valid or not
+ + + diff --git a/code/datums/id_trim/_id_trim.html b/code/datums/id_trim/_id_trim.html new file mode 100644 index 00000000000..99f2d61f3d0 --- /dev/null +++ b/code/datums/id_trim/_id_trim.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/id_trim/_id_trim.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/_id_trim.dm + +

+ + +
/datum/id_trimSimple datum that holds the basic information associated with an ID card trim.
+ + + diff --git a/code/datums/id_trim/admin.html b/code/datums/id_trim/admin.html new file mode 100644 index 00000000000..deadcdf492a --- /dev/null +++ b/code/datums/id_trim/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/id_trim/admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/admin.dm + +

+ + + +
/datum/id_trim/adminTrim for admins and debug cards. Has every single access in the game.
/datum/id_trim/highlanderTrim for highlander cards, used during the highlander adminbus event.
+ + + diff --git a/code/datums/id_trim/centcom.html b/code/datums/id_trim/centcom.html new file mode 100644 index 00000000000..679cac46144 --- /dev/null +++ b/code/datums/id_trim/centcom.html @@ -0,0 +1,49 @@ + + + + + + + code/datums/id_trim/centcom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/centcom.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
/datum/id_trim/centcomTrim for basic Centcom cards.
/datum/id_trim/centcom/vipTrim for Centcom VIPs
/datum/id_trim/centcom/custodianTrim for Centcom Custodians.
/datum/id_trim/centcom/thunderdome_overseerTrim for Centcom Thunderdome Overseers.
/datum/id_trim/centcom/officialTrim for Centcom Officials.
/datum/id_trim/centcom/internTrim for Centcom Interns.
/datum/id_trim/centcom/intern/headTrim for Centcom Head Interns. Different assignment, common station access added on.
/datum/id_trim/centcom/bounty_hunterTrim for Bounty Hunters hired by centcom.
/datum/id_trim/centcom/bartenderTrim for Centcom Bartenders.
/datum/id_trim/centcom/medical_officerTrim for Centcom Medical Officers.
/datum/id_trim/centcom/research_officerTrim for Centcom Research Officers.
/datum/id_trim/centcom/specops_officerTrim for Centcom Specops Officers. All Centcom and Station Access.
/datum/id_trim/centcom/admiralTrim for Centcom (Soviet) Admirals. All Centcom and Station Access.
/datum/id_trim/centcom/commanderTrim for Centcom Commanders. All Centcom and Station Access.
/datum/id_trim/centcom/deathsquadTrim for Deathsquad officers. All Centcom and Station Access.
/datum/id_trim/centcom/ertTrim for generic ERT interns. No universal ID card changing access.
/datum/id_trim/centcom/ert/commanderTrim for ERT Commanders. All station and centcom access.
/datum/id_trim/centcom/ert/securityTrim for generic ERT seccies. No universal ID card changing access.
/datum/id_trim/centcom/ert/engineerTrim for generic ERT engineers. No universal ID card changing access.
/datum/id_trim/centcom/ert/medicalTrim for generic ERT medics. No universal ID card changing access.
/datum/id_trim/centcom/ert/chaplainTrim for generic ERT chaplains. No universal ID card changing access.
/datum/id_trim/centcom/ert/janitorTrim for generic ERT janitors. No universal ID card changing access.
/datum/id_trim/centcom/ert/clownTrim for generic ERT clowns. No universal ID card changing access.
+ + + diff --git a/code/datums/id_trim/jobs.html b/code/datums/id_trim/jobs.html new file mode 100644 index 00000000000..d49cdb55d71 --- /dev/null +++ b/code/datums/id_trim/jobs.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/id_trim/jobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/jobs.dm + +

+ + + + +
/datum/id_trim/jobThis file contains all the trims associated with station jobs. +It also contains special prisoner trims and the miner's spare ID trim. +ID Trims for station jobs.
/datum/id_trim/job/security_officerSec officers have departmental variants. They each have their own trims with bonus departmental accesses.
/datum/id_trim/job/shaft_miner/spareID card obtained from the mining Disney dollar points vending machine.
+ + + diff --git a/code/datums/id_trim/outfits.html b/code/datums/id_trim/outfits.html new file mode 100644 index 00000000000..11e3ac0c594 --- /dev/null +++ b/code/datums/id_trim/outfits.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/id_trim/outfits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/outfits.dm + +

+ + + + + + + + + +
/datum/id_trim/reaper_assassinThis file contains all the trims associated with outfits. +Trim for the assassin outfit.
/datum/id_trim/mobsterTrim for the mobster outfit.
/datum/id_trim/vrTrim for VR outfits.
/datum/id_trim/vr/operativeTrim for VR outfits.
/datum/id_trim/tunnel_clownTrim for the Tunnel Clown! outfit. Has all access.
/datum/id_trim/bounty_hunterTrim for Bounty Hunters NOT hired by centcom. (?)
/datum/id_trim/bit_avatarTrim for player controlled avatars in the Virtual Domain.
/datum/id_trim/cyber_policeTrim for cyber police in the Virtual Domain.
+ + + diff --git a/code/datums/id_trim/ruins.html b/code/datums/id_trim/ruins.html new file mode 100644 index 00000000000..fd2715ea205 --- /dev/null +++ b/code/datums/id_trim/ruins.html @@ -0,0 +1,47 @@ + + + + + + + code/datums/id_trim/ruins.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/ruins.dm + +

+ + + + + + + + + + + + + + + + + + + + + + +
/datum/id_trim/awayGeneric away/offstation trim.
/datum/id_trim/away/hotelTrim for the hotel ruin. Not Hilbert's Hotel.
/datum/id_trim/away/hotel/securityTrim for the hotel ruin. Not Hilbert's Hotel.
/datum/id_trim/away/old/secTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/old/sciTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/old/engTrim for the oldstation ruin/Charlie station
/datum/id_trim/away/old/equipmentTrim for the oldstation ruin/Charlie station to access APCs and other equipment
/datum/id_trim/away/old/roboTrim for the oldstation ruin/Charlie station to access robots, and downloading of paper publishing software for experiments
/datum/id_trim/away/cat_surgeonTrim for the cat surgeon ruin.
/datum/id_trim/away/hilbertTrim for Hilbert in Hilbert's Hotel.
/datum/id_trim/lifeguardTrim for beach bum lifeguards.
/datum/id_trim/space_bartenderTrim for beach bum bartenders.
/datum/id_trim/centcom/corpse/bridge_officerTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/commanderTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/private_securityTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/private_security/tradepost_officerTrim for various Centcom corpses.
/datum/id_trim/centcom/corpse/assaultTrim for various Centcom corpses.
/datum/id_trim/engioutpostTrim for various various ruins.
/datum/id_trim/job/station_engineer/gunnerTrim for various various ruins.
/datum/id_trim/pirateTrim for pirates.
/datum/id_trim/pirate/captainTrim for the pirate captain.
+ + + diff --git a/code/datums/id_trim/syndicate.html b/code/datums/id_trim/syndicate.html new file mode 100644 index 00000000000..5705adfea87 --- /dev/null +++ b/code/datums/id_trim/syndicate.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/id_trim/syndicate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/id_trim/syndicate.dm + +

+ + + + + + + + + + + + + + +
/datum/id_trim/syndicomTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/syndicom/crewTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/syndicom/Interdyne/pharmacistInterdyne medical Staff
/datum/id_trim/syndicom/Interdyne/pharmacist_directorInterdyne head medical Staff
/datum/id_trim/syndicom/irsTrim for the space IRS agents (why are they syndie access? I wouldn't worry about it.)
/datum/id_trim/syndicom/captainTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/battlecruiserTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/battlecruiser/captainTrim for Syndicate mobs, outfits and corpses.
/datum/id_trim/chameleonTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operativeTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operative/nuke_leaderTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operative/clownTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
/datum/id_trim/chameleon/operative/clown_leaderTrim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
+ + + diff --git a/code/datums/job_configs/_job_configs.html b/code/datums/job_configs/_job_configs.html new file mode 100644 index 00000000000..b84ae083b28 --- /dev/null +++ b/code/datums/job_configs/_job_configs.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/job_configs/_job_configs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/job_configs/_job_configs.dm + +

+ + +
/datum/job_config_typeLightweight datum simply used to store the applicable config type for each job such that the whole system is a tad bit more flexible.
+ + + diff --git a/code/datums/job_configs/default_positions.html b/code/datums/job_configs/default_positions.html new file mode 100644 index 00000000000..560d601b608 --- /dev/null +++ b/code/datums/job_configs/default_positions.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/job_configs/default_positions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/job_configs/default_positions.dm + +

+ + +
/datum/job_config_type/default_positionsThe number of positions a job can have at any given time.
+ + + diff --git a/code/datums/job_configs/playtime_requirements.html b/code/datums/job_configs/playtime_requirements.html new file mode 100644 index 00000000000..08897fb29d5 --- /dev/null +++ b/code/datums/job_configs/playtime_requirements.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/job_configs/playtime_requirements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/job_configs/playtime_requirements.dm + +

+ + +
/datum/job_config_type/playtime_requirementsThe amount of playtime required to join a job (minutes).
+ + + diff --git a/code/datums/job_configs/required_account_age.html b/code/datums/job_configs/required_account_age.html new file mode 100644 index 00000000000..da9ec041572 --- /dev/null +++ b/code/datums/job_configs/required_account_age.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/job_configs/required_account_age.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/job_configs/required_account_age.dm + +

+ + +
/datum/job_config_type/required_account_ageThe amount of time required to have an account to join a job (days).
+ + + diff --git a/code/datums/job_configs/required_character_age.html b/code/datums/job_configs/required_character_age.html new file mode 100644 index 00000000000..f8c6fd2f334 --- /dev/null +++ b/code/datums/job_configs/required_character_age.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/job_configs/required_character_age.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/job_configs/required_character_age.dm + +

+ + +
/datum/job_config_type/required_character_ageThe required age a character must be to join a job (which is in years).
+ + + diff --git a/code/datums/job_configs/starting_positions.html b/code/datums/job_configs/starting_positions.html new file mode 100644 index 00000000000..43ee0138cbc --- /dev/null +++ b/code/datums/job_configs/starting_positions.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/job_configs/starting_positions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/job_configs/starting_positions.dm + +

+ + +
/datum/job_config_type/starting_positionsThe number of positions a job can have at the start of the round.
+ + + diff --git a/code/datums/json_savefile.html b/code/datums/json_savefile.html new file mode 100644 index 00000000000..ae08a827ca6 --- /dev/null +++ b/code/datums/json_savefile.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/json_savefile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/json_savefile.dm + +

+ + +
/datum/json_savefileA savefile implementation that handles all data using json. +Also saves it using JSON too, fancy. +If you pass in a null path, it simply acts as a memory tree instead, and cannot be saved.
+ + + diff --git a/code/datums/lazy_template.html b/code/datums/lazy_template.html new file mode 100644 index 00000000000..7e72030cfd2 --- /dev/null +++ b/code/datums/lazy_template.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/lazy_template.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/lazy_template.dm + +

+ + +
/datum/lazy_templateDatum used to designate certain areas that do not need to exist nor be loaded at world start +but do want to be loaded under certain circumstances. Use this for stuff like the nukie base or wizden, aka stuff that only matters when their antag is rolled.
+ + + diff --git a/code/datums/looping_sounds/_looping_sound.html b/code/datums/looping_sounds/_looping_sound.html new file mode 100644 index 00000000000..694feed1a60 --- /dev/null +++ b/code/datums/looping_sounds/_looping_sound.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/looping_sounds/_looping_sound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/looping_sounds/_looping_sound.dm + +

+ + +
/datum/looping_soundA datum for sounds that need to loop, with a high amount of configurability.
+ + + diff --git a/code/datums/looping_sounds/acid.html b/code/datums/looping_sounds/acid.html new file mode 100644 index 00000000000..6056e1313d8 --- /dev/null +++ b/code/datums/looping_sounds/acid.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/looping_sounds/acid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/looping_sounds/acid.dm + +

+ + +
/datum/looping_sound/acidSoundloop for the acid component.
+ + + diff --git a/code/datums/looping_sounds/burning.html b/code/datums/looping_sounds/burning.html new file mode 100644 index 00000000000..63465419441 --- /dev/null +++ b/code/datums/looping_sounds/burning.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/looping_sounds/burning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/looping_sounds/burning.dm + +

+ + +
/datum/looping_sound/burningSoundloop for the fire (bonfires, fireplaces, etc.)
+ + + diff --git a/code/datums/map_config.html b/code/datums/map_config.html new file mode 100644 index 00000000000..f14fe304977 --- /dev/null +++ b/code/datums/map_config.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/map_config.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/map_config.dm + +

+ + + + + +
/proc/load_default_map_configProc that simply loads the default map config, which should always be functional.
/proc/load_map_configProc handling the loading of map configs. Will return the default map config using /proc/load_default_map_config if the loading of said file fails for any reason whatsoever, so we always have a working map for the server to run. +Arguments:
+ + + diff --git a/code/datums/mapgen/Cavegens/IcemoonCaves.html b/code/datums/mapgen/Cavegens/IcemoonCaves.html new file mode 100644 index 00000000000..6d4a533699c --- /dev/null +++ b/code/datums/mapgen/Cavegens/IcemoonCaves.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/Cavegens/IcemoonCaves.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mapgen/Cavegens/IcemoonCaves.dm + +

+ + +
/datum/map_generator/cave_generator/icemoon/surface/forestedSurface snow generator variant for forested station trait, WITH FORESTSSSS
+ + + diff --git a/code/datums/mapgen/JungleGenerator.html b/code/datums/mapgen/JungleGenerator.html new file mode 100644 index 00000000000..b47390692b8 --- /dev/null +++ b/code/datums/mapgen/JungleGenerator.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/mapgen/JungleGenerator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mapgen/JungleGenerator.dm + +

+ + + +
/datum/map_generator/jungle_generatorSpawning isn't done in procs to save on overhead on the 60k turfs we're going through.
/turf/open/genturfThis turf doesn't actually do anything beyond provide contrast for mappers and be very visible when stuff breaks in game. The actual areas are what drive cave generation.
+ + + diff --git a/code/datums/mapgen/biomes/_biome.html b/code/datums/mapgen/biomes/_biome.html new file mode 100644 index 00000000000..f8bd0a6918b --- /dev/null +++ b/code/datums/mapgen/biomes/_biome.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mapgen/biomes/_biome.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mapgen/biomes/_biome.dm + +

+ + +
/datum/biomeThis datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.
+ + + diff --git a/code/datums/martial/cqc.html b/code/datums/martial/cqc.html new file mode 100644 index 00000000000..94561c4f5f4 --- /dev/null +++ b/code/datums/martial/cqc.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/martial/cqc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/martial/cqc.dm + +

+ + +
/datum/martial_art/cqc/under_siegeSubtype of CQC. Only used for the chef.
+ + + diff --git a/code/datums/martial/hugs_of_the_gondola.html b/code/datums/martial/hugs_of_the_gondola.html new file mode 100644 index 00000000000..db757a4d665 --- /dev/null +++ b/code/datums/martial/hugs_of_the_gondola.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/martial/hugs_of_the_gondola.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/martial/hugs_of_the_gondola.dm + +

+ + +
/datum/martial_art/hugs_of_the_gondolaGondola love, makes hugs inject pax if the arms are exposed
+ + + diff --git a/code/datums/materials/_material.html b/code/datums/materials/_material.html new file mode 100644 index 00000000000..cc4f62bd53d --- /dev/null +++ b/code/datums/materials/_material.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/materials/_material.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/materials/_material.dm + +

+ + +

Material datum

+

Simple datum which is instanced once per type and is used for every object of said material. It has a variety of variables that define behavior. Subtyping from this makes it easier to create your own materials.

+ + + diff --git a/code/datums/materials/alloys.html b/code/datums/materials/alloys.html new file mode 100644 index 00000000000..330a98bb882 --- /dev/null +++ b/code/datums/materials/alloys.html @@ -0,0 +1,33 @@ + + + + + + + code/datums/materials/alloys.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/materials/alloys.dm + +

+ + + + + + + + +
/datum/material/alloyMaterials made from other materials.
/datum/material/alloy/plasteel
/datum/material/alloy/plastitanium
/datum/material/alloy/plasmaglass
/datum/material/alloy/titaniumglass
/datum/material/alloy/plastitaniumglass
/datum/material/alloy/alien
+ + + diff --git a/code/datums/materials/basemats.html b/code/datums/materials/basemats.html new file mode 100644 index 00000000000..52a3420fdc2 --- /dev/null +++ b/code/datums/materials/basemats.html @@ -0,0 +1,40 @@ + + + + + + + code/datums/materials/basemats.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/materials/basemats.dm + +

+ + + + + + + + + + + + + + + +
/datum/material/ironHas no special properties.
/datum/material/glassBreaks extremely easily but is transparent.
/datum/material/silverHas no special properties. Could be good against vampires in the future perhaps.
/datum/material/goldSlight force increase
/datum/material/diamondHas no special properties
/datum/material/uraniumIs slightly radioactive
/datum/material/plasmaAdds firestacks on hit (Still needs support to turn into gas on destruction)
/datum/material/bluespaceCan cause bluespace effects on use. (Teleportation) (Not yet implemented)
/datum/material/bananiumHonks and slips
/datum/material/titaniumMediocre force increase
/datum/material/plasticForce decrease
/datum/material/biomassForce decrease and mushy sound effect. (Not yet implemented)
/datum/material/adamantineStronk force increase
/datum/material/mythrilRPG Magic.
+ + + diff --git a/code/datums/materials/meat.html b/code/datums/materials/meat.html new file mode 100644 index 00000000000..9bf4da1ee2a --- /dev/null +++ b/code/datums/materials/meat.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/materials/meat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/materials/meat.dm + +

+ + +
/datum/material/meatIt's gross, gets the name of it's owner, and is all kinds of fucked up
+ + + diff --git a/code/datums/memory/_memory.html b/code/datums/memory/_memory.html new file mode 100644 index 00000000000..d91ae8d37da --- /dev/null +++ b/code/datums/memory/_memory.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/memory/_memory.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/memory/_memory.dm + +

+ + +
/datum/memoryLittle tidbits of past events generated by the player doing things.
+ + + diff --git a/code/datums/memory/general_memories.html b/code/datums/memory/general_memories.html new file mode 100644 index 00000000000..5ef42e5bd5d --- /dev/null +++ b/code/datums/memory/general_memories.html @@ -0,0 +1,64 @@ + + + + + + + code/datums/memory/general_memories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/memory/general_memories.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/memory/surgeryA doctor successfuly completed a surgery on someone.
/datum/memory/bomb_plantedPlanted a bomb.
/datum/memory/bomb_planted/syndicatePlanted a SYNDICATE bomb.
/datum/memory/bomb_planted/nukePlanted a NUKE!
/datum/memory/high_fiveGot a sweet high five.
/datum/memory/was_cyborgedWas cyborgized.
/datum/memory/witnessed_deathWitnessed someone die nearby.
/datum/memory/witnessed_creampieWitnessed someone get creampied nearby.
/datum/memory/was_slippedGot slipped by something.
/datum/memory/lost_spaghettiHad spaghetti fall from their pockets.
/datum/memory/kissedGot kissed! AHHHHH!
/datum/memory/good_foodHad some good food.
/datum/memory/good_drinkHad a good drink.
/datum/memory/was_burningWas set on fire and started to burn.
/datum/memory/was_dismemberedGot a limb removed by force.
/datum/memory/pet_diedOur pet died...
/datum/memory/revolution_rev_victoryThe revolution was triumphant! +Given to head revs and those nearby when the revs win a revolution.
/datum/memory/revolution_heads_defeatedGiven to heads of staff if they lose a revolution and are alive still.
/datum/memory/revolution_rev_defeatGiven to head revs for failing the revolution!
/datum/memory/revolution_heads_victoryGiven to heads of staff, and those around them, upon defeating the revolutionaries.
/datum/memory/received_medalWatched someone receive a commendation medal
/datum/memory/megafauna_slayerKilled a Megafauna
/datum/memory/held_at_gunpointGot held at gunpoint by someone!
/datum/memory/witness_gibSaw someone get gibbed.
/datum/memory/witness_vendor_crushSaw someone get crushed by a vending machine.
/datum/memory/witness_supermatter_dustingSaw someone get dusted by the supermatter.
/datum/memory/playing_cardsPlayed cards with another person.
/datum/memory/playing_card_pickupPlayed 52 card pickup with another person.
/datum/memory/witnessed_russian_rouletteSaw someone play Russian Roulette.
/datum/memory/heretic_knowledge_ritualWhen a heretic finishes their ritual of knowledge
/datum/memory/bomb_defuse_failureFailed to defuse a bomb, by triggering it early.
/datum/memory/bomb_defuse_successSucceeded in defusing a bomb!
/datum/memory/caught_fishCatching a fish
/datum/memory/dna_infusionBecoming a mutant via infusion
/datum/memory/recruited_by_headrevWho rev'd me, so if a mindreader reads a rev, they have a clue on who to hunt down
/datum/memory/recruited_by_blood_brotherWho converted into a blood brother
/datum/memory/witnessed_gods_wrathSaw someone play Russian Roulette.
+ + + diff --git a/code/datums/memory/key_memories.html b/code/datums/memory/key_memories.html new file mode 100644 index 00000000000..4f24e225656 --- /dev/null +++ b/code/datums/memory/key_memories.html @@ -0,0 +1,34 @@ + + + + + + + code/datums/memory/key_memories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/memory/key_memories.dm + +

+ + + + + + + + + +
/datum/memory/keyI am affectionally titling these "key memories"
/datum/memory/key/accountYour bank account ID, can't get into it without it
/datum/memory/key/captains_spare_codeThe code to the captain's spare ID, ONLY give to the real captain.
/datum/memory/key/nuke_codeThe nuclear bomb code, for nuke ops
/datum/memory/key/quirk_allergyTracks what medicines someone with the "allergies" quirk is allergic to
/datum/memory/key/quirk_smokerTracks what brand a smoker quirk user likes
/datum/memory/key/quirk_alcoholicTracks what beverage an alcoholic quirk user likes
/datum/memory/key/traitor_uplinkWhere our traitor uplink is, and what is its code
+ + + diff --git a/code/datums/mergers/_merger.html b/code/datums/mergers/_merger.html new file mode 100644 index 00000000000..57f569608ce --- /dev/null +++ b/code/datums/mergers/_merger.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mergers/_merger.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mergers/_merger.dm + +

+ + +
/datum/mergerA datum that tracks a type or types of objects in a cluster
+ + + diff --git a/code/datums/mocking/client.html b/code/datums/mocking/client.html new file mode 100644 index 00000000000..e33004438db --- /dev/null +++ b/code/datums/mocking/client.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mocking/client.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mocking/client.dm + +

+ + +
/datum/client_interfaceThis should match the interface of /client wherever necessary.
+ + + diff --git a/code/datums/mood.html b/code/datums/mood.html new file mode 100644 index 00000000000..02f8f8d6c5f --- /dev/null +++ b/code/datums/mood.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mood.dm + +

+ + +
/datum/moodMood datum
+ + + diff --git a/code/datums/mood_events/area_events.html b/code/datums/mood_events/area_events.html new file mode 100644 index 00000000000..dd2753e7402 --- /dev/null +++ b/code/datums/mood_events/area_events.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mood_events/area_events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mood_events/area_events.dm + +

+ + +
/datum/mood_event/area
+ + + diff --git a/code/datums/mood_events/generic_negative_events.html b/code/datums/mood_events/generic_negative_events.html new file mode 100644 index 00000000000..185b4e610be --- /dev/null +++ b/code/datums/mood_events/generic_negative_events.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mood_events/generic_negative_events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mood_events/generic_negative_events.dm + +

+ + +
/datum/mood_event/madness_despairWizard cheesy grand finale - what everyone but the wizard gets
+ + + diff --git a/code/datums/mood_events/generic_positive_events.html b/code/datums/mood_events/generic_positive_events.html new file mode 100644 index 00000000000..e557f14ae3b --- /dev/null +++ b/code/datums/mood_events/generic_positive_events.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mood_events/generic_positive_events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mood_events/generic_positive_events.dm + +

+ + +
/datum/mood_event/madness_elationWizard cheesy grand finale - what the wizard gets
+ + + diff --git a/code/datums/movement_detector.html b/code/datums/movement_detector.html new file mode 100644 index 00000000000..061514b6b15 --- /dev/null +++ b/code/datums/movement_detector.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/movement_detector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/movement_detector.dm + +

+ + +
/datum/movement_detectorA datum to handle the busywork of registering signals to handle in depth tracking of a movable
+ + + diff --git a/code/datums/mutable_appearance.html b/code/datums/mutable_appearance.html new file mode 100644 index 00000000000..07433e641bf --- /dev/null +++ b/code/datums/mutable_appearance.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/mutable_appearance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mutable_appearance.dm + +

+ + + +
/proc/mutable_appearance
+ + + diff --git a/code/datums/mutations/hulk.html b/code/datums/mutations/hulk.html new file mode 100644 index 00000000000..5a4c2eea626 --- /dev/null +++ b/code/datums/mutations/hulk.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/mutations/hulk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/mutations/hulk.dm + +

+ + +
HULK_TAILTHROW_STEPSHow many steps it takes to throw the mob

Define Details

+

HULK_TAILTHROW_STEPS + + +

+

How many steps it takes to throw the mob

+ + + diff --git a/code/datums/mutations/sight.html b/code/datums/mutations/sight.html new file mode 100644 index 00000000000..3cb5990f8cd --- /dev/null +++ b/code/datums/mutations/sight.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/mutations/sight.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mutations/sight.dm + +

+ + + + + + +
/datum/mutation/human/blindBlind makes you blind. Who knew?
/datum/mutation/human/thermalThermal Vision lets you see mobs through walls
/datum/mutation/human/xrayX-ray Vision lets you see through walls.
/datum/mutation/human/laser_eyesLaser Eyes lets you shoot lasers from your eyes!
/obj/projectile/beam/laser/laser_eyesProjectile type used by laser eyes
+ + + diff --git a/code/datums/mutations/telekinesis.html b/code/datums/mutations/telekinesis.html new file mode 100644 index 00000000000..fafc59d5a75 --- /dev/null +++ b/code/datums/mutations/telekinesis.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/mutations/telekinesis.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mutations/telekinesis.dm + +

+ + +
/datum/mutation/human/telekinesisTelekinesis lets you interact with objects from range, and gives you a light blue halo around your head.
+ + + diff --git a/code/datums/mutations/void_magnet.html b/code/datums/mutations/void_magnet.html new file mode 100644 index 00000000000..d0c9939e8f0 --- /dev/null +++ b/code/datums/mutations/void_magnet.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/mutations/void_magnet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/mutations/void_magnet.dm + +

+ + + +
/datum/action/cooldown/spell/voidThe base "void invocation" action. No side effects.
/datum/action/cooldown/spell/void/cursedThe cursed "void invocation" action, that has a chance of casting itself on its owner randomly on life ticks.
+ + + diff --git a/code/datums/outfit.html b/code/datums/outfit.html new file mode 100644 index 00000000000..18d7fba6132 --- /dev/null +++ b/code/datums/outfit.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/outfit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/outfit.dm + +

+ + +
/datum/outfitThis is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.
+ + + diff --git a/code/datums/position_point_vector.html b/code/datums/position_point_vector.html new file mode 100644 index 00000000000..3aca5c652c7 --- /dev/null +++ b/code/datums/position_point_vector.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/position_point_vector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/position_point_vector.dm + +

+ + + +
/datum/positionFor positions with map x/y/z and pixel x/y so you don't have to return lists. Could use addition/subtraction in the future I guess.
/datum/pointA precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!
+ + + diff --git a/code/datums/proximity_monitor/field.html b/code/datums/proximity_monitor/field.html new file mode 100644 index 00000000000..58dd34c3cb7 --- /dev/null +++ b/code/datums/proximity_monitor/field.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/proximity_monitor/field.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/proximity_monitor/field.dm + +

+ + +
/datum/proximity_monitor/advancedMovable and easily code-modified fields! Allows for custom AOE effects that affect movement +and anything inside of them, and can do custom turf effects! +Supports automatic recalculation/reset on movement.
+ + + diff --git a/code/datums/proximity_monitor/fields/timestop.html b/code/datums/proximity_monitor/fields/timestop.html new file mode 100644 index 00000000000..c50cf00db43 --- /dev/null +++ b/code/datums/proximity_monitor/fields/timestop.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/proximity_monitor/fields/timestop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/proximity_monitor/fields/timestop.dm + +

+ + +
/obj/effect/timestop/channelledindefinite version, but only if no immune atoms move.
+ + + diff --git a/code/datums/quirks/_quirk.html b/code/datums/quirks/_quirk.html new file mode 100644 index 00000000000..be78a990a2f --- /dev/null +++ b/code/datums/quirks/_quirk.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/quirks/_quirk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/quirks/_quirk.dm + +

+ + +
/datum/quirk/item_quirkSubtype quirk that has some bonus logic to spawn items for the player.
+ + + diff --git a/code/datums/quirks/_quirk_constant_data.html b/code/datums/quirks/_quirk_constant_data.html new file mode 100644 index 00000000000..33f82b7b991 --- /dev/null +++ b/code/datums/quirks/_quirk_constant_data.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/quirks/_quirk_constant_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/quirks/_quirk_constant_data.dm + +

+ + + + +
/proc/generate_quirk_constant_dataConstructs [GLOB.all_quirk_constant_data] by iterating through a typecache of pregen data, ignoring abstract types, and instantiating the rest.
/datum/quirk_constant_dataA singleton datum representing constant data and procs used by quirks.
+ + + diff --git a/code/datums/quirks/negative_quirks/junkie.html b/code/datums/quirks/negative_quirks/junkie.html new file mode 100644 index 00000000000..4614dcc0263 --- /dev/null +++ b/code/datums/quirks/negative_quirks/junkie.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/quirks/negative_quirks/junkie.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/quirks/negative_quirks/junkie.dm + +

+ + + +
/datum/quirk/item_quirk/junkieIf this is defined, reagent_id will be unused and the defined reagent type will be instead. +actual instanced version of the reagent +Where the drug spawned +If this is defined before pill generation, pill generation will be skipped. This is the type of the pill bottle. +where the accessory spawned +If this is null, an accessory won't be spawned. +how frequently the quirk processes +ticker for processing
/datum/quirk/item_quirk/junkie/smokerMax that shit out
+ + + diff --git a/code/datums/records/crime.html b/code/datums/records/crime.html new file mode 100644 index 00000000000..95e7086825c --- /dev/null +++ b/code/datums/records/crime.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/records/crime.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/records/crime.dm + +

+ + +
/datum/crimeCrime data. Used to store information about crimes.
+ + + diff --git a/code/datums/records/data.html b/code/datums/records/data.html new file mode 100644 index 00000000000..59985615847 --- /dev/null +++ b/code/datums/records/data.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/records/data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/records/data.dm + +

+ + +
/datum/dataCurrently used for experiments, vending products.
+ + + diff --git a/code/datums/records/manifest.html b/code/datums/records/manifest.html new file mode 100644 index 00000000000..15e4489d61c --- /dev/null +++ b/code/datums/records/manifest.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/records/manifest.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/records/manifest.dm + +

+ + +
/datum/manifestStores crew records.
+ + + diff --git a/code/datums/records/medical_note.html b/code/datums/records/medical_note.html new file mode 100644 index 00000000000..c738f4fe14e --- /dev/null +++ b/code/datums/records/medical_note.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/records/medical_note.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/records/medical_note.dm + +

+ + +
/datum/medical_notePlayer-written medical note.
+ + + diff --git a/code/datums/records/record.html b/code/datums/records/record.html new file mode 100644 index 00000000000..a12126ff7bc --- /dev/null +++ b/code/datums/records/record.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/records/record.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/records/record.dm + +

+ + + + +
/datum/recordRecord datum. Used for crew records and admin locked records.
/datum/record/crewCrew record datum
/datum/record/lockedAdmin locked record
+ + + diff --git a/code/datums/skills/fishing.html b/code/datums/skills/fishing.html new file mode 100644 index 00000000000..f42994d53e8 --- /dev/null +++ b/code/datums/skills/fishing.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/skills/fishing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/skills/fishing.dm + +

+ + +
/datum/skill/fishingskill associated with the fishing feature. It modifies the fishing minigame difficulty +and is gained each time one is completed.
+ + + diff --git a/code/datums/sprite_accessories.html b/code/datums/sprite_accessories.html new file mode 100644 index 00000000000..b3744c06fb4 --- /dev/null +++ b/code/datums/sprite_accessories.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/sprite_accessories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/sprite_accessories.dm + +

+ + +
/datum/sprite_accessory/body_markings.
+ + + diff --git a/code/datums/station_integrity.html b/code/datums/station_integrity.html new file mode 100644 index 00000000000..753f195516b --- /dev/null +++ b/code/datums/station_integrity.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_integrity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/station_integrity.dm + +

+ + +
/datum/station_stateFor counting up how much of the station exists at the start of the shift, and how much is left behind by the end of it.
+ + + diff --git a/code/datums/station_traits/_station_trait.html b/code/datums/station_traits/_station_trait.html new file mode 100644 index 00000000000..ff3d3528e7b --- /dev/null +++ b/code/datums/station_traits/_station_trait.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/station_traits/_station_trait.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/station_traits/_station_trait.dm + +

+ + + + +
/datum/station_traitBase class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.
/proc/request_station_colorsCalled by decals if they can be colored, to see if we got some cool colors for them. Only takes the first station trait
+ + + diff --git a/code/datums/station_traits/job_traits.html b/code/datums/station_traits/job_traits.html new file mode 100644 index 00000000000..909f41720e9 --- /dev/null +++ b/code/datums/station_traits/job_traits.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/station_traits/job_traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/station_traits/job_traits.dm + +

+ + + +
/datum/station_trait/jobA station trait which enables a temporary job +Generally speaking these should always all be mutually exclusive, don't have too many at once
/datum/station_trait/job/cargorillaAdds a gorilla to the cargo department, replacing the sloth and the mech
+ + + diff --git a/code/datums/station_traits/negative_traits.html b/code/datums/station_traits/negative_traits.html new file mode 100644 index 00000000000..f8b4b41874d --- /dev/null +++ b/code/datums/station_traits/negative_traits.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/station_traits/negative_traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/station_traits/negative_traits.dm + +

+ + + + + + + +
/datum/station_trait/vending_shortageA negative trait that reduces the amount of products available from vending machines throughout the station.
/datum/station_trait/nebulaStation traits that influence the space background and apply some unique effects!
/datum/station_trait/nebula/hostileStation nebula that incur some sort of effect if no shielding is created
/datum/station_trait/nebula/hostile/radiationThe station will be inside a radioactive nebula! Space is radioactive and the station needs to start setting up nebula shielding
/datum/station_trait/stormStarts a storm on roundstart
/datum/station_trait/storm/foreverstormCalls down an eternal storm on planetary stations
+ + + diff --git a/code/datums/station_traits/neutral_traits.html b/code/datums/station_traits/neutral_traits.html new file mode 100644 index 00000000000..100887f3c72 --- /dev/null +++ b/code/datums/station_traits/neutral_traits.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/station_traits/neutral_traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/station_traits/neutral_traits.dm + +

+ + +
/datum/station_trait/forestedTells the area map generator to ADD MORE TREEEES
+ + + diff --git a/code/datums/status_effects/_status_effect.html b/code/datums/status_effects/_status_effect.html new file mode 100644 index 00000000000..37ee9fe6688 --- /dev/null +++ b/code/datums/status_effects/_status_effect.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/status_effects/_status_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/_status_effect.dm + +

+ + + +
/datum/status_effectStatus effects are used to apply temporary or permanent effects to mobs. +This file contains their code, plus code for applying and removing them.
/atom/movable/screen/alert/status_effectAlert base type for status effect alerts
+ + + diff --git a/code/datums/status_effects/buffs.html b/code/datums/status_effects/buffs.html new file mode 100644 index 00000000000..7b613ccf86c --- /dev/null +++ b/code/datums/status_effects/buffs.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/status_effects/buffs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/buffs.dm + +

+ + + + +
/datum/status_effect/limited_buff/health_buffthis buff provides a max health buff and a heal.
/datum/status_effect/blessing_of_insanityGranted to wizards upon satisfying the cheese sacrifice during grand rituals. +Halves incoming damage and makes the owner stun immune, damage slow immune, levitating(even in space and hyperspace!) and glowing.
/datum/status_effect/jump_jetGives you a brief period of anti-gravity
+ + + diff --git a/code/datums/status_effects/buffs/food_haste.html b/code/datums/status_effects/buffs/food_haste.html new file mode 100644 index 00000000000..32cd7ab8a70 --- /dev/null +++ b/code/datums/status_effects/buffs/food_haste.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/buffs/food_haste.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/buffs/food_haste.dm + +

+ + +
/datum/status_effect/food/hasteHaste makes the eater move faster
+ + + diff --git a/code/datums/status_effects/buffs/stun_absorption.html b/code/datums/status_effects/buffs/stun_absorption.html new file mode 100644 index 00000000000..ddee8ae7d2f --- /dev/null +++ b/code/datums/status_effects/buffs/stun_absorption.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/buffs/stun_absorption.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/buffs/stun_absorption.dm + +

+ + +
/datum/status_effect/stun_absorptionA status effect effectively functions as TRAIT_STUNIMMUNE, but with additional effects tied to it, +such as showing a message on trigger / examine, or only blocking a limited amount of stuns.
+ + + diff --git a/code/datums/status_effects/debuffs/blindness.html b/code/datums/status_effects/debuffs/blindness.html new file mode 100644 index 00000000000..7377cef158f --- /dev/null +++ b/code/datums/status_effects/debuffs/blindness.html @@ -0,0 +1,38 @@ + + + + + + + code/datums/status_effects/debuffs/blindness.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/blindness.dm + +

+ + + + + +
CAN_BE_BLINDHelper macro, for ease of expanding checks for mobs which cannot be blinded +There are no reason why these cannot be blinded, it is simply for "design reasons" (these things shouldn't be blinded)
/datum/status_effect/grouped/nearsightedNearsighted
/datum/status_effect/grouped/blindnessBlindness
/datum/status_effect/temporary_blindnessThis status effect handles applying a temporary blind to the mob.

Define Details

+

CAN_BE_BLIND + + + +

+

Helper macro, for ease of expanding checks for mobs which cannot be blinded +There are no reason why these cannot be blinded, it is simply for "design reasons" (these things shouldn't be blinded)

+ + + diff --git a/code/datums/status_effects/debuffs/confusion.html b/code/datums/status_effects/debuffs/confusion.html new file mode 100644 index 00000000000..7a4fbc959ef --- /dev/null +++ b/code/datums/status_effects/debuffs/confusion.html @@ -0,0 +1,43 @@ + + + + + + + code/datums/status_effects/debuffs/confusion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/confusion.dm + +

+ + + + + +
CONFUSION_FULL_THRESHOLDThe threshold in which all of our movements are fully randomized, in seconds.
CONFUSION_SIDEWAYS_MOVE_PROB_PER_SECONDA multiplier applied on how much time is left (in seconds) that determines the chance of moving sideways randomly
CONFUSION_DIAGONAL_MOVE_PROB_PER_SECONDA multiplier applied on how much time is left (in seconds) that determines the chance of moving diagonally randomly
/datum/status_effect/confusionA status effect used for adding confusion to a mob.

Define Details

+

CONFUSION_DIAGONAL_MOVE_PROB_PER_SECOND + + +

+

A multiplier applied on how much time is left (in seconds) that determines the chance of moving diagonally randomly

CONFUSION_FULL_THRESHOLD + + +

+

The threshold in which all of our movements are fully randomized, in seconds.

CONFUSION_SIDEWAYS_MOVE_PROB_PER_SECOND + + +

+

A multiplier applied on how much time is left (in seconds) that determines the chance of moving sideways randomly

+ + + diff --git a/code/datums/status_effects/debuffs/cursed.html b/code/datums/status_effects/debuffs/cursed.html new file mode 100644 index 00000000000..bd1de393829 --- /dev/null +++ b/code/datums/status_effects/debuffs/cursed.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/debuffs/cursed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/cursed.dm + +

+ + +
/datum/status_effect/grouped/cursedStatus effect that gives the target miscellanous debuffs while throwing a status alert and causing them to smoke from the damage they're incurring. +Purposebuilt for cursed slot machines.
+ + + diff --git a/code/datums/status_effects/debuffs/cyborg.html b/code/datums/status_effects/debuffs/cyborg.html new file mode 100644 index 00000000000..e0b6491b0fa --- /dev/null +++ b/code/datums/status_effects/debuffs/cyborg.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/debuffs/cyborg.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/cyborg.dm + +

+ + +
/datum/status_effect/borg_throw_slowReduce a cyborg's speed when you throw things at it
+ + + diff --git a/code/datums/status_effects/debuffs/debuffs.html b/code/datums/status_effects/debuffs/debuffs.html new file mode 100644 index 00000000000..24e14d23320 --- /dev/null +++ b/code/datums/status_effects/debuffs/debuffs.html @@ -0,0 +1,44 @@ + + + + + + + code/datums/status_effects/debuffs/debuffs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/debuffs.dm + +

+ + + + + + +
HEALING_SLEEP_DEFAULTThe damage healed per tick while sleeping without any modifiers
HEALING_SLEEP_ORGAN_MULTIPLIERThe sleep healing multipler for organ passive healing (since organs heal slowly)
SLEEP_QUALITY_WORKOUT_MULTIPLERThe sleep multipler for fitness xp conversion
/datum/status_effect/incapacitating/incapacitatedThis status effect represents anything that leaves a character unable to perform basic tasks (interrupting do-afters, for example), but doesn't incapacitate them further than that (no stuns etc..)
/datum/status_effect/teleport_madnessMaddly teleports the victim around all of space for 10 seconds

Define Details

+

HEALING_SLEEP_DEFAULT + + +

+

The damage healed per tick while sleeping without any modifiers

HEALING_SLEEP_ORGAN_MULTIPLIER + + +

+

The sleep healing multipler for organ passive healing (since organs heal slowly)

SLEEP_QUALITY_WORKOUT_MULTIPLER + + +

+

The sleep multipler for fitness xp conversion

+ + + diff --git a/code/datums/status_effects/debuffs/decloning.html b/code/datums/status_effects/debuffs/decloning.html new file mode 100644 index 00000000000..d306a18fbd9 --- /dev/null +++ b/code/datums/status_effects/debuffs/decloning.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/status_effects/debuffs/decloning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/decloning.dm + +

+ + +
MUTADONE_HEALThe amount of mutadone we can process for strike recovery at once.

Define Details

+

MUTADONE_HEAL + + +

+

The amount of mutadone we can process for strike recovery at once.

+ + + diff --git a/code/datums/status_effects/debuffs/dna_transformation.html b/code/datums/status_effects/debuffs/dna_transformation.html new file mode 100644 index 00000000000..2bfd113d976 --- /dev/null +++ b/code/datums/status_effects/debuffs/dna_transformation.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/debuffs/dna_transformation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/dna_transformation.dm + +

+ + +
/datum/status_effect/temporary_transformationTransforms a carbon mob into a new DNA for a set amount of time, +then turns them back to how they were before transformation.
+ + + diff --git a/code/datums/status_effects/debuffs/drugginess.html b/code/datums/status_effects/debuffs/drugginess.html new file mode 100644 index 00000000000..90fd2052d71 --- /dev/null +++ b/code/datums/status_effects/debuffs/drugginess.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/debuffs/drugginess.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/drugginess.dm + +

+ + + +
/datum/status_effect/drugginessDrugginess / "high" effect, makes your screen rainbow
/atom/movable/screen/alert/status_effect/highThe status effect for "drugginess"
+ + + diff --git a/code/datums/status_effects/debuffs/drunk.html b/code/datums/status_effects/debuffs/drunk.html new file mode 100644 index 00000000000..dd46e21b9d0 --- /dev/null +++ b/code/datums/status_effects/debuffs/drunk.html @@ -0,0 +1,39 @@ + + + + + + + code/datums/status_effects/debuffs/drunk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/drunk.dm + +

+ + + + + + +
TIPSY_THRESHOLDThe threshld which determine if someone is tipsy vs drunk
/datum/status_effect/inebriatedThe drunk status effect. +Slowly decreases in drunk_value over time, causing effects based on that value.
/datum/status_effect/inebriated/tipsyStage 1 of drunk, applied at drunk values between 0 and 6. +Basically is the "drunk but no side effects" stage.
/datum/status_effect/inebriated/drunkStage 2 of being drunk, applied at drunk values between 6 and onward. +Has all the main side effects of being drunk, scaling up as they get more drunk.
/atom/movable/screen/alert/status_effect/drunkStatus effect for being fully drunk (not tipsy).

Define Details

+

TIPSY_THRESHOLD + + +

+

The threshld which determine if someone is tipsy vs drunk

+ + + diff --git a/code/datums/status_effects/debuffs/hallucination.html b/code/datums/status_effects/debuffs/hallucination.html new file mode 100644 index 00000000000..ef4741e0d74 --- /dev/null +++ b/code/datums/status_effects/debuffs/hallucination.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/debuffs/hallucination.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/hallucination.dm + +

+ + +
/datum/status_effect/hallucinationHallucination status effect. How most hallucinations end up happening. +Hallucinations are drawn from the global weighted list, random_hallucination_weighted_list
+ + + diff --git a/code/datums/status_effects/debuffs/screen_blur.html b/code/datums/status_effects/debuffs/screen_blur.html new file mode 100644 index 00000000000..1e86c8cca16 --- /dev/null +++ b/code/datums/status_effects/debuffs/screen_blur.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/status_effects/debuffs/screen_blur.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/screen_blur.dm + +

+ + + +
BLUR_DURATION_TO_INTENSITYThis number is multiplied by the duration remaining (IN SECONDS, NOT DECISECONDS) +of the eye blur status effect to determine the intensity of the blur on the user
/datum/status_effect/eye_blurApplies a blur to the user's screen, increasing in strength depending on duration remaining.

Define Details

+

BLUR_DURATION_TO_INTENSITY + + +

+

This number is multiplied by the duration remaining (IN SECONDS, NOT DECISECONDS) +of the eye blur status effect to determine the intensity of the blur on the user

+ + + diff --git a/code/datums/status_effects/debuffs/screwy_hud.html b/code/datums/status_effects/debuffs/screwy_hud.html new file mode 100644 index 00000000000..b58576abc51 --- /dev/null +++ b/code/datums/status_effects/debuffs/screwy_hud.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/debuffs/screwy_hud.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/debuffs/screwy_hud.dm + +

+ + +
/datum/status_effect/grouped/screwy_hudScrewy hud status.
+ + + diff --git a/code/datums/status_effects/debuffs/slimed.html b/code/datums/status_effects/debuffs/slimed.html new file mode 100644 index 00000000000..8657877fb17 --- /dev/null +++ b/code/datums/status_effects/debuffs/slimed.html @@ -0,0 +1,37 @@ + + + + + + + code/datums/status_effects/debuffs/slimed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/slimed.dm + +

+ + + +
MIN_WATER_STACKSThe minimum amount of water stacks needed to start washing off the slime.
MIN_HEALTHThe minimum amount of health a mob has to have before the status effect is removed.

Define Details

+

MIN_HEALTH + + +

+

The minimum amount of health a mob has to have before the status effect is removed.

MIN_WATER_STACKS + + +

+

The minimum amount of water stacks needed to start washing off the slime.

+ + + diff --git a/code/datums/status_effects/debuffs/strandling.html b/code/datums/status_effects/debuffs/strandling.html new file mode 100644 index 00000000000..2639cf66e87 --- /dev/null +++ b/code/datums/status_effects/debuffs/strandling.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/status_effects/debuffs/strandling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/strandling.dm + +

+ + +
STRANGLING_TOOL_MULTIPLIERA multiplier to the time it takes to remove durathread strangling when using a tool instead of your hands

Define Details

+

STRANGLING_TOOL_MULTIPLIER + + +

+

A multiplier to the time it takes to remove durathread strangling when using a tool instead of your hands

+ + + diff --git a/code/datums/status_effects/debuffs/terrified.html b/code/datums/status_effects/debuffs/terrified.html new file mode 100644 index 00000000000..34819d3f506 --- /dev/null +++ b/code/datums/status_effects/debuffs/terrified.html @@ -0,0 +1,68 @@ + + + + + + + code/datums/status_effects/debuffs/terrified.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/status_effects/debuffs/terrified.dm + +

+ + + + + + + + + + +
DARKNESS_TERROR_AMOUNTAmount of terror passively generated (or removed) on every tick based on lighting.
PANIC_ATTACK_TERROR_AMOUNTHow much terror a random panic attack will give the victim.
HUG_TERROR_AMOUNTAmount of terror actively removed (or generated) upon being hugged.
STACK_TERROR_AMOUNTAmount of terror caused by subsequent casting of the Terrify spell.
DARKNESS_TERROR_CAPThe soft cap on how much passively generated terror you can have. Takes about 30 seconds to reach without the victim being actively terrorized.
TERROR_FEAR_THRESHOLDThe terror_buildup threshold for minor fear effects to occur.
TERROR_PANIC_THRESHOLDThe terror_buildup threshold for the more serious effects. Takes about 20 seconds of darkness buildup to reach.
TERROR_HEART_ATTACK_THRESHOLDTerror buildup will cause a heart attack and knock them out, removing the status effect.
/atom/movable/screen/alert/status_effect/terrifiedThe status effect popup for the terror status effect

Define Details

+

DARKNESS_TERROR_AMOUNT + + +

+

Amount of terror passively generated (or removed) on every tick based on lighting.

DARKNESS_TERROR_CAP + + +

+

The soft cap on how much passively generated terror you can have. Takes about 30 seconds to reach without the victim being actively terrorized.

HUG_TERROR_AMOUNT + + +

+

Amount of terror actively removed (or generated) upon being hugged.

PANIC_ATTACK_TERROR_AMOUNT + + +

+

How much terror a random panic attack will give the victim.

STACK_TERROR_AMOUNT + + +

+

Amount of terror caused by subsequent casting of the Terrify spell.

TERROR_FEAR_THRESHOLD + + +

+

The terror_buildup threshold for minor fear effects to occur.

TERROR_HEART_ATTACK_THRESHOLD + + +

+

Terror buildup will cause a heart attack and knock them out, removing the status effect.

TERROR_PANIC_THRESHOLD + + +

+

The terror_buildup threshold for the more serious effects. Takes about 20 seconds of darkness buildup to reach.

+ + + diff --git a/code/datums/status_effects/food_effects.html b/code/datums/status_effects/food_effects.html new file mode 100644 index 00000000000..4e7bba41dae --- /dev/null +++ b/code/datums/status_effects/food_effects.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/status_effects/food_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/food_effects.dm + +

+ + + +
/datum/status_effect/foodBuffs given by eating hand-crafted food. The duration scales with consumable reagents purity.
/datum/status_effect/food/traitMakes you gain a trait
+ + + diff --git a/code/datums/status_effects/grouped_effect.html b/code/datums/status_effects/grouped_effect.html new file mode 100644 index 00000000000..3431de2d2d4 --- /dev/null +++ b/code/datums/status_effects/grouped_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/grouped_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/grouped_effect.dm + +

+ + +
/datum/status_effect/groupedStatus effect from multiple sources, when all sources are removed, so is the effect
+ + + diff --git a/code/datums/status_effects/limited_effect.html b/code/datums/status_effects/limited_effect.html new file mode 100644 index 00000000000..6af8bda02d1 --- /dev/null +++ b/code/datums/status_effects/limited_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/limited_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/limited_effect.dm + +

+ + +
/datum/status_effect/limited_buffThese effects reapply their on_apply() effect when refreshed while stacks < max_stacks.
+ + + diff --git a/code/datums/status_effects/neutral.html b/code/datums/status_effects/neutral.html new file mode 100644 index 00000000000..1482af7bb89 --- /dev/null +++ b/code/datums/status_effects/neutral.html @@ -0,0 +1,35 @@ + + + + + + + code/datums/status_effects/neutral.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/neutral.dm + +

+ + + + + + +
/datum/status_effect/offering/no_item_receivedThis status effect is meant only for items that you don't actually receive +when offered, mostly useful for /obj/item/hand_item subtypes.
/datum/status_effect/offering/no_item_received/needs_restingThis status effect is meant only to be used for offerings that require the target to +be resting (like when you're trying to give them a hand to help them up). +Also doesn't require them to have their hands free (since you're not giving them +anything).
/datum/status_effect/offering/no_item_received/high_fiveSubtype for high fives, so we can fake out people
/datum/status_effect/surrender_timedFor when you need to make someone be prompted for surrender, but not forever
/datum/status_effect/tinlux_lightMakes the mob luminescent for the duration of the effect.
+ + + diff --git a/code/datums/status_effects/song_effects.html b/code/datums/status_effects/song_effects.html new file mode 100644 index 00000000000..d5827a42aba --- /dev/null +++ b/code/datums/status_effects/song_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/song_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/song_effects.dm + +

+ + +
/datum/status_effect/songType of status effect applied by music played by the festival sect. Stacks upon itself, and removes all other song subtypes other than itself.
+ + + diff --git a/code/datums/status_effects/stacking_effect.html b/code/datums/status_effects/stacking_effect.html new file mode 100644 index 00000000000..8475a835f02 --- /dev/null +++ b/code/datums/status_effects/stacking_effect.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/stacking_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/stacking_effect.dm + +

+ + +
/datum/status_effect/stackingStatus effects that can stack.
+ + + diff --git a/code/datums/status_effects/wound_effects.html b/code/datums/status_effects/wound_effects.html new file mode 100644 index 00000000000..9a3ea888a35 --- /dev/null +++ b/code/datums/status_effects/wound_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/status_effects/wound_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/status_effects/wound_effects.dm + +

+ + +
/atom/movable/screen/alert/status_effect/woundWOUNDS
+ + + diff --git a/code/datums/storage/storage.html b/code/datums/storage/storage.html new file mode 100644 index 00000000000..2f599df74e3 --- /dev/null +++ b/code/datums/storage/storage.html @@ -0,0 +1,30 @@ + + + + + + + code/datums/storage/storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/storage/storage.dm + +

+ + +
/datum/storageDatumized Storage +Eliminates the need for custom signals specifically for the storage component, and attaches a storage variable (atom_storage) to every atom. +The parent and real_location variables are both weakrefs, so they must be resolved before they can be used. +If you're looking to create custom storage type behaviors, check ../subtypes
+ + + diff --git a/code/datums/storage/subtypes/cards.html b/code/datums/storage/subtypes/cards.html new file mode 100644 index 00000000000..849b82218db --- /dev/null +++ b/code/datums/storage/subtypes/cards.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/storage/subtypes/cards.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/storage/subtypes/cards.dm + +

+ + +
/datum/storage/tcgA storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!
+ + + diff --git a/code/datums/storage/subtypes/rped.html b/code/datums/storage/subtypes/rped.html new file mode 100644 index 00000000000..578183e9773 --- /dev/null +++ b/code/datums/storage/subtypes/rped.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/storage/subtypes/rped.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/storage/subtypes/rped.dm + +

+ + +
MAX_STACK_PICKUPStorage component used for RPEDs. Rather than manually setting everything with a get_part_rating() value, we just check if it has the variable required for insertion.

Define Details

+

MAX_STACK_PICKUP + + +

+

Storage component used for RPEDs. Rather than manually setting everything with a get_part_rating() value, we just check if it has the variable required for insertion.

+ + + diff --git a/code/datums/verb_callbacks.html b/code/datums/verb_callbacks.html new file mode 100644 index 00000000000..ab186d0b0ce --- /dev/null +++ b/code/datums/verb_callbacks.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/verb_callbacks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/verb_callbacks.dm + +

+ + +
/datum/callback/verb_callbacklike normal callbacks but they also record their creation time for measurement purposes +they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute
+ + + diff --git a/code/datums/view.html b/code/datums/view.html new file mode 100644 index 00000000000..7cc57d39312 --- /dev/null +++ b/code/datums/view.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/view.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/view.dm + +

+ + +
/datum/view_dataContainer for client viewsize
+ + + diff --git a/code/datums/visual_data.html b/code/datums/visual_data.html new file mode 100644 index 00000000000..5ddf5942940 --- /dev/null +++ b/code/datums/visual_data.html @@ -0,0 +1,29 @@ + + + + + + + code/datums/visual_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/visual_data.dm + +

+ + + +
/datum/visual_data/trackingTracks but does not relay updates to someone's visual data +Accepts a second visual data datum to use as a source of truth for the mob's values
/datum/visual_data/mirroringTracks and updates another mob with our mob's visual data
+ + + diff --git a/code/datums/voice_of_god_command.html b/code/datums/voice_of_god_command.html new file mode 100644 index 00000000000..fb2dca4e067 --- /dev/null +++ b/code/datums/voice_of_god_command.html @@ -0,0 +1,58 @@ + + + + + + + code/datums/voice_of_god_command.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/voice_of_god_command.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/voice_of_god_commandVoice of god command datums that are used in [/proc/voice_of_god()]
/datum/voice_of_god_command/knockdownThis command knocks the listeners down.
/datum/voice_of_god_command/immobilizeThis command stops the listeners from moving.
/datum/voice_of_god_command/vomitThis command makes carbon listeners throw up like Mr. Creosote.
/datum/voice_of_god_command/silenceThis command silences the listeners. Thrice as effective is the user is a mime or curator.
/datum/voice_of_god_command/hallucinateThis command makes the listeners see others as corgis, carps, skellies etcetera etcetera.
/datum/voice_of_god_command/wake_upThis command wakes up the listeners.
/datum/voice_of_god_command/healThis command heals the listeners for 10 points of total damage.
/datum/voice_of_god_command/bruteThis command applies 15 points of brute damage to the listeners. There's subtle theological irony in this being more powerful than healing.
/datum/voice_of_god_command/bleedThis command makes carbon listeners bleed from a random body part.
/datum/voice_of_god_command/burnThis command sets the listeners ablaze.
/datum/voice_of_god_command/hotThis command heats the listeners up like boiling water.
/datum/voice_of_god_command/coldThis command cools the listeners down like freezing water.
/datum/voice_of_god_command/repulseThis command throws the listeners away from the user.
/datum/voice_of_god_command/attractThis command throws the listeners at the user.
/datum/voice_of_god_command/who_are_youThis command forces the listeners to say their true name (so masks and hoods won't help). +Basic and simple mobs who are forced to state their name and don't have one already will... reveal their actual one!
/datum/voice_of_god_command/say_my_nameThis command forces the listeners to say the user's name
/datum/voice_of_god_command/knock_knockThis command forces the listeners to say "Who's there?".
/datum/voice_of_god_command/state_lawsThis command forces silicon listeners to state all their laws.
/datum/voice_of_god_command/moveThis command forces the listeners to take step in a direction chosen by the user, otherwise a random cardinal one.
/datum/voice_of_god_command/walkThis command forces the listeners to switch to walk intent.
/datum/voice_of_god_command/runThis command forces the listeners to switch to run intent.
/datum/voice_of_god_command/throw_catchThis command turns the listeners' throw mode on.
/datum/voice_of_god_command/speakThis command forces the listeners to say a brain damage line.
/datum/voice_of_god_command/getupThis command forces the listeners to get the fuck up, resetting all stuns.
/datum/voice_of_god_command/sitThis command forces each listener to buckle to a chair found on the same tile.
/datum/voice_of_god_command/standThis command forces each listener to unbuckle from whatever they are buckled to.
/datum/voice_of_god_command/jumpThis command forces the listener to do the jump emote 3/4 of the times or reply "HOW HIGH?!!".
/datum/voice_of_god_command/honkThis command plays a bikehorn sound after 2 seconds and a half have passed, and also slips listeners if the user is a clown.
/datum/voice_of_god_command/multispinThis command spins the listeners 1800° degrees clockwise.
/datum/voice_of_god_command/emoteSupertype of all those commands that make people emote and nothing else. Fuck copypasta.
+ + + diff --git a/code/datums/votes/_vote_datum.html b/code/datums/votes/_vote_datum.html new file mode 100644 index 00000000000..99c9ed06f0d --- /dev/null +++ b/code/datums/votes/_vote_datum.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/votes/_vote_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/votes/_vote_datum.dm + +

+ + +
/datum/voteA singleton datum that represents a type of vote for the voting subsystem.
+ + + diff --git a/code/datums/votes/custom_vote.html b/code/datums/votes/custom_vote.html new file mode 100644 index 00000000000..79fbf47163a --- /dev/null +++ b/code/datums/votes/custom_vote.html @@ -0,0 +1,32 @@ + + + + + + + code/datums/votes/custom_vote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/datums/votes/custom_vote.dm + +

+ + +
MAX_CUSTOM_VOTE_OPTIONSThe max amount of options someone can have in a custom vote.

Define Details

+

MAX_CUSTOM_VOTE_OPTIONS + + +

+

The max amount of options someone can have in a custom vote.

+ + + diff --git a/code/datums/votes/rock_the_vote.html b/code/datums/votes/rock_the_vote.html new file mode 100644 index 00000000000..126ec7c115c --- /dev/null +++ b/code/datums/votes/rock_the_vote.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/votes/rock_the_vote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/votes/rock_the_vote.dm + +

+ + +
/datum/vote/rock_the_voteIf a map vote is called before the emergency shuttle leaves the station, the players can call another vote to re-run the vote on the shuttle leaving.
+ + + diff --git a/code/datums/weakrefs.html b/code/datums/weakrefs.html new file mode 100644 index 00000000000..84975c58a28 --- /dev/null +++ b/code/datums/weakrefs.html @@ -0,0 +1,31 @@ + + + + + + + code/datums/weakrefs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/weakrefs.dm + +

+ + + + +
/proc/WEAKREFCreates a weakref to the given input. +See /datum/weakref's documentation for more information.
/datum/weakrefA weakref holds a non-owning reference to a datum. +The datum can be referenced again using resolve().
+ + + diff --git a/code/datums/weather/weather.html b/code/datums/weather/weather.html new file mode 100644 index 00000000000..09c5cf8cebd --- /dev/null +++ b/code/datums/weather/weather.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/weather/weather.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/weather/weather.dm + +

+ + +
/datum/weatherCauses weather to occur on a z level in certain area types
+ + + diff --git a/code/datums/weather/weather_types/radiation_storm.html b/code/datums/weather/weather_types/radiation_storm.html new file mode 100644 index 00000000000..8fdec87f53b --- /dev/null +++ b/code/datums/weather/weather_types/radiation_storm.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/weather/weather_types/radiation_storm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/weather/weather_types/radiation_storm.dm + +

+ + +
/datum/weather/rad_storm/nebulaUsed by the radioactive nebula when the station doesnt have enough shielding
+ + + diff --git a/code/datums/weather/weather_types/snow_storm.html b/code/datums/weather/weather_types/snow_storm.html new file mode 100644 index 00000000000..cc307d4769c --- /dev/null +++ b/code/datums/weather/weather_types/snow_storm.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/weather/weather_types/snow_storm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/weather/weather_types/snow_storm.dm + +

+ + +
/datum/weather/snow_storm/forever_stormA storm that doesn't stop storming, and is a bit stronger
+ + + diff --git a/code/datums/wounds/_wound_static_data.html b/code/datums/wounds/_wound_static_data.html new file mode 100644 index 00000000000..855d07c04e9 --- /dev/null +++ b/code/datums/wounds/_wound_static_data.html @@ -0,0 +1,27 @@ + + + + + + + code/datums/wounds/_wound_static_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/wounds/_wound_static_data.dm + +

+ + +
/datum/wound_pregen_dataA singleton datum that holds pre-gen and static data about a wound. Each wound datum should have a corresponding wound_pregen_data.
+ + + diff --git a/code/datums/wounds/bones.html b/code/datums/wounds/bones.html new file mode 100644 index 00000000000..b5fd4fdae6e --- /dev/null +++ b/code/datums/wounds/bones.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/wounds/bones.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/wounds/bones.dm + +

+ + + +
/datum/wound/blunt/bone/moderateJoint Dislocation (Moderate Blunt)
/datum/wound/blunt/bone/criticalCompound Fracture (Critical Blunt)
+ + + diff --git a/code/datums/wounds/burns.html b/code/datums/wounds/burns.html new file mode 100644 index 00000000000..6ccd0684828 --- /dev/null +++ b/code/datums/wounds/burns.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/wounds/burns.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/wounds/burns.dm + +

+ + + +
/datum/wound/burn/flesh/severe/brandspecial severe wound caused by sparring interference or other god related punishments.
/datum/wound/burn/flesh/severe/cursed_brandspecial severe wound caused by the cursed slot machine.
+ + + diff --git a/code/datums/wounds/scars/_scars.html b/code/datums/wounds/scars/_scars.html new file mode 100644 index 00000000000..77338e5a56b --- /dev/null +++ b/code/datums/wounds/scars/_scars.html @@ -0,0 +1,28 @@ + + + + + + + code/datums/wounds/scars/_scars.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/datums/wounds/scars/_scars.dm + +

+ + +
/datum/scarscars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"
+ + + diff --git a/code/game/area/areas.html b/code/game/area/areas.html new file mode 100644 index 00000000000..4b200b08b01 --- /dev/null +++ b/code/game/area/areas.html @@ -0,0 +1,31 @@ + + + + + + + code/game/area/areas.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/area/areas.dm + +

+ + + + + +
/areaA grouping of tiles into a logical space, mostly used by map editors
/proc/process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
/area/golemA blank area subtype solely used by the golem area editor for the purpose of +allowing golems to create new areas without suffering from the hazard_area debuffs.
+ + + diff --git a/code/game/area/areas/mining.html b/code/game/area/areas/mining.html new file mode 100644 index 00000000000..29ccf0d6eb7 --- /dev/null +++ b/code/game/area/areas/mining.html @@ -0,0 +1,30 @@ + + + + + + + code/game/area/areas/mining.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/area/areas/mining.dm + +

+ + + + + +
/area/mineMine areas
/area/lavalandLavaland Areas
/area/lavaland/surface/outdoors/unexplored/danger/no_ruinsSame thing as parent, but uses a different map generator for the icemoon ruin that needs it.
/area/icemoonIce Moon Areas
+ + + diff --git a/code/game/area/areas/ruins/space.html b/code/game/area/areas/ruins/space.html new file mode 100644 index 00000000000..dd23d4bc9fa --- /dev/null +++ b/code/game/area/areas/ruins/space.html @@ -0,0 +1,27 @@ + + + + + + + code/game/area/areas/ruins/space.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/area/areas/ruins/space.dm + +

+ + +
/area/ruin/space/has_grav/atmosasteroidThe Atmos Asteroid Ruin, has a subtype for rapid identification since this has some unique atmospherics properties and we can easily detect it if something goes wonky.
+ + + diff --git a/code/game/area/areas/shuttles.html b/code/game/area/areas/shuttles.html new file mode 100644 index 00000000000..8f2356ff7dc --- /dev/null +++ b/code/game/area/areas/shuttles.html @@ -0,0 +1,33 @@ + + + + + + + code/game/area/areas/shuttles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/area/areas/shuttles.dm + +

+ + + + + + + +
/area/shuttle/syndicateMulti-area shuttles +Syndicate infiltrator
/area/shuttle/piratePirate Shuttle
/area/shuttle/hunterBounty Hunter Shuttles
/area/shuttle/abandonedWhite Ship
/area/shuttle/transitSingle-area shuttles
/area/shuttle/ruin/caravanSpecial shuttles made for the Caravan Ambush ruin.
+ + + diff --git a/code/game/atom.html b/code/game/atom.html new file mode 100644 index 00000000000..bf508d05dbe --- /dev/null +++ b/code/game/atom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/atom/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Core /atom Systems + +

+ + +

This is a folder of basic systems that apply to all /atom types, split into relevant files. Keep the files named fittingly and don't put anything in _atom.dm if you can avoid it.

+ + + diff --git a/code/game/atoms_movable.html b/code/game/atoms_movable.html new file mode 100644 index 00000000000..7bed536ad30 --- /dev/null +++ b/code/game/atoms_movable.html @@ -0,0 +1,30 @@ + + + + + + + code/game/atoms_movable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/atoms_movable.dm + +

+ + + +
/proc/generate_space_underlayGenerates a space underlay for a turf +This provides proper lighting support alongside just looking nice +Accepts the appearance to make "spaceish", and the turf we're doing this for
+ + + diff --git a/code/game/data_huds.html b/code/game/data_huds.html new file mode 100644 index 00000000000..d31e8155dc1 --- /dev/null +++ b/code/game/data_huds.html @@ -0,0 +1,32 @@ + + + + + + + code/game/data_huds.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/data_huds.dm + +

+ + + + + + + +
/proc/update_matching_security_hudsUpdates the visual security huds on all mobs in GLOB.human_list that match the name passed to it.
/proc/update_all_security_hudsUpdates the visual security huds on all mobs in GLOB.human_list
/proc/RoundDiagBarDiagnostic HUDs!
+ + + diff --git a/code/game/gamemodes/events.html b/code/game/gamemodes/events.html new file mode 100644 index 00000000000..299895d5c39 --- /dev/null +++ b/code/game/gamemodes/events.html @@ -0,0 +1,32 @@ + + + + + + + code/game/gamemodes/events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/gamemodes/events.dm + +

+ + + + + + + +
/proc/power_failureCauses a power failure across the station.
/proc/power_restoreRestores power to all rooms on the station.
/proc/power_restore_quickA quicker version of /proc/power_restore that only handles recharging SMESs.
+ + + diff --git a/code/game/gamemodes/objective.html b/code/game/gamemodes/objective.html new file mode 100644 index 00000000000..a86843dff9c --- /dev/null +++ b/code/game/gamemodes/objective.html @@ -0,0 +1,28 @@ + + + + + + + code/game/gamemodes/objective.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/gamemodes/objective.dm + +

+ + + +
/proc/considered_escapedChecks if the passed mind is considered "escaped".
+ + + diff --git a/code/game/machinery/PDApainter.html b/code/game/machinery/PDApainter.html new file mode 100644 index 00000000000..61ded06eb89 --- /dev/null +++ b/code/game/machinery/PDApainter.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/PDApainter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/PDApainter.dm + +

+ + + + + + + +
/obj/machinery/pdapainterBasic machine used to paint PDAs and re-trim ID cards.
/obj/machinery/pdapainter/securitySecurity departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/medbayMedical departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/researchScience departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/engineeringEngineering departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
/obj/machinery/pdapainter/supplySupply departmental variant. Limited to PDAs defined in the SSid_access.sub_department_managers_tgui data structure.
+ + + diff --git a/code/game/machinery/_machinery.html b/code/game/machinery/_machinery.html new file mode 100644 index 00000000000..4db976cc0e1 --- /dev/null +++ b/code/game/machinery/_machinery.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/_machinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/_machinery.dm + +

+ + +
/obj/machineryMachines in the world, such as computers, pipes, and airlocks.
+ + + diff --git a/code/game/machinery/camera/presets.html b/code/game/machinery/camera/presets.html new file mode 100644 index 00000000000..abde187f502 --- /dev/null +++ b/code/game/machinery/camera/presets.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/camera/presets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/camera/presets.dm + +

+ + +
/obj/machinery/camera/exosuitThe internal camera object for exosuits, applied by the camera upgrade
+ + + diff --git a/code/game/machinery/camera/trackable.html b/code/game/machinery/camera/trackable.html new file mode 100644 index 00000000000..977a4d3851f --- /dev/null +++ b/code/game/machinery/camera/trackable.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/camera/trackable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/camera/trackable.dm + +

+ + +
CAMERA_TICK_LIMITHow many ticks to try to find a target before giving up.

Define Details

+

CAMERA_TICK_LIMIT + + +

+

How many ticks to try to find a target before giving up.

+ + + diff --git a/code/game/machinery/civilian_bounties.html b/code/game/machinery/civilian_bounties.html new file mode 100644 index 00000000000..b64e9c2233a --- /dev/null +++ b/code/game/machinery/civilian_bounties.html @@ -0,0 +1,36 @@ + + + + + + + code/game/machinery/civilian_bounties.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/civilian_bounties.dm + +

+ + + + + + +
CIV_BOUNTY_SPLITPercentage of a civilian bounty the civilian will make.
/obj/machinery/piratepad/civilianPad for the Civilian Bounty Control.
/obj/machinery/computer/piratepad_control/civilianComputer for assigning new civilian bounties, and sending bounties for collection.
/obj/item/bounty_cubeUpon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.
/obj/item/civ_bounty_beaconBeacon to launch a new bounty setup when activated.

Define Details

+

CIV_BOUNTY_SPLIT + + +

+

Percentage of a civilian bounty the civilian will make.

+ + + diff --git a/code/game/machinery/computer/arcade/orion_event.html b/code/game/machinery/computer/arcade/orion_event.html new file mode 100644 index 00000000000..63f43b94db4 --- /dev/null +++ b/code/game/machinery/computer/arcade/orion_event.html @@ -0,0 +1,34 @@ + + + + + + + code/game/machinery/computer/arcade/orion_event.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/arcade/orion_event.dm + +

+ + + + + + + + + +
/datum/orion_event/engine_partEngine Breakdown - spend one engine part or wait 3 days (harmless emag effect)
/datum/orion_event/electronic_partMalfunction - spend one engine part or wait 3 days (emag effect randomizes some stats)
/datum/orion_event/hull_partCollision - spend one engine part or wait 3 days (has a nasty emag effect)
/datum/orion_event/black_holeBlack Hole - final (emag can spawn singulo, see death event)
/datum/orion_event/black_hole_deathYou died to a black hole, have some fluff text
/datum/orion_event/space_portYou found a space port!
/datum/orion_event/space_port/tau_cetiYou found the midway mark!
/datum/orion_event/space_port_raidYou raided a space port!
+ + + diff --git a/code/game/machinery/computer/arena.html b/code/game/machinery/computer/arena.html new file mode 100644 index 00000000000..aac141f3a81 --- /dev/null +++ b/code/game/machinery/computer/arena.html @@ -0,0 +1,29 @@ + + + + + + + code/game/machinery/computer/arena.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/arena.dm + +

+ + + + +
/obj/effect/landmark/arenaArena related landmarks
/obj/machinery/computer/arenaController for admin event arenas
/obj/machinery/arena_spawnArena spawnpoint
+ + + diff --git a/code/game/machinery/computer/atmos_computers/__identifiers.html b/code/game/machinery/computer/atmos_computers/__identifiers.html new file mode 100644 index 00000000000..af9a0baf166 --- /dev/null +++ b/code/game/machinery/computer/atmos_computers/__identifiers.html @@ -0,0 +1,39 @@ + + + + + + + code/game/machinery/computer/atmos_computers/__identifiers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/atmos_computers/__identifiers.dm + +

+ + + +
CHAMBER_INPUT_FROM_IDmaps an air sensor's chamber id to its input valve[ i.e. outlet_injector] id
CHAMBER_OUTPUT_FROM_IDmaps an air sensor's chamber id to its output valve[i.e. vent pump] id

Define Details

+

CHAMBER_INPUT_FROM_ID + + + +

+

maps an air sensor's chamber id to its input valve[ i.e. outlet_injector] id

CHAMBER_OUTPUT_FROM_ID + + + +

+

maps an air sensor's chamber id to its output valve[i.e. vent pump] id

+ + + diff --git a/code/game/machinery/computer/atmos_computers/_air_sensor.html b/code/game/machinery/computer/atmos_computers/_air_sensor.html new file mode 100644 index 00000000000..5970e77b8e9 --- /dev/null +++ b/code/game/machinery/computer/atmos_computers/_air_sensor.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/computer/atmos_computers/_air_sensor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/atmos_computers/_air_sensor.dm + +

+ + + +
/obj/machinery/air_sensorGas tank air sensor. +These always hook to monitors, be mindful of them
/obj/item/air_sensorA portable version of the /obj/machinery/air_sensor +Wrenching it & turning it on will convert it back to /obj/machinery/air_sensor +Unwelding /obj/machinery/air_sensor will turn it back to /obj/item/air_sensor +The logic is same as meters
+ + + diff --git a/code/game/machinery/computer/atmos_computers/_atmos_control.html b/code/game/machinery/computer/atmos_computers/_atmos_control.html new file mode 100644 index 00000000000..d16cdd4effe --- /dev/null +++ b/code/game/machinery/computer/atmos_computers/_atmos_control.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/computer/atmos_computers/_atmos_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/atmos_computers/_atmos_control.dm + +

+ + + +
/obj/machinery/computer/atmos_controlGENERAL AIR CONTROL (a.k.a atmos computer)
/obj/machinery/computer/atmos_control/fixedVegetable
+ + + diff --git a/code/game/machinery/computer/buildandrepair.html b/code/game/machinery/computer/buildandrepair.html new file mode 100644 index 00000000000..22743d1638d --- /dev/null +++ b/code/game/machinery/computer/buildandrepair.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/computer/buildandrepair.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/buildandrepair.dm + +

+ + +
/obj/structure/frame/computer/rcdHelpers for rcd
+ + + diff --git a/code/game/machinery/computer/communications.html b/code/game/machinery/computer/communications.html new file mode 100644 index 00000000000..e695e297697 --- /dev/null +++ b/code/game/machinery/computer/communications.html @@ -0,0 +1,47 @@ + + + + + + + code/game/machinery/computer/communications.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/communications.dm + +

+ + + + + +
HACK_PIRATEDefines for the various hack results.
MIN_GHOSTS_FOR_PIRATESThe minimum number of ghosts / observers to have the chance of spawning pirates.
MIN_GHOSTS_FOR_FUGITIVESThe minimum number of ghosts / observers to have the chance of spawning fugitives.
MAX_PERCENT_GHOSTS_FOR_SLEEPERThe maximum percentage of the population to be ghosts before we no longer have the chance of spawning Sleeper Agents.

Define Details

+

HACK_PIRATE + + +

+

Defines for the various hack results.

MAX_PERCENT_GHOSTS_FOR_SLEEPER + + +

+

The maximum percentage of the population to be ghosts before we no longer have the chance of spawning Sleeper Agents.

MIN_GHOSTS_FOR_FUGITIVES + + +

+

The minimum number of ghosts / observers to have the chance of spawning fugitives.

MIN_GHOSTS_FOR_PIRATES + + +

+

The minimum number of ghosts / observers to have the chance of spawning pirates.

+ + + diff --git a/code/game/machinery/computer/crew.html b/code/game/machinery/computer/crew.html new file mode 100644 index 00000000000..1e275c31c6b --- /dev/null +++ b/code/game/machinery/computer/crew.html @@ -0,0 +1,37 @@ + + + + + + + code/game/machinery/computer/crew.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/crew.dm + +

+ + + +
SENSORS_UPDATE_PERIODHow often the sensor data is updated
UNKNOWN_JOB_IDThe job sorting ID associated with otherwise unknown jobs

Define Details

+

SENSORS_UPDATE_PERIOD + + +

+

How often the sensor data is updated

UNKNOWN_JOB_ID + + +

+

The job sorting ID associated with otherwise unknown jobs

+ + + diff --git a/code/game/machinery/computer/dna_console.html b/code/game/machinery/computer/dna_console.html new file mode 100644 index 00000000000..bf1a9afa050 --- /dev/null +++ b/code/game/machinery/computer/dna_console.html @@ -0,0 +1,122 @@ + + + + + + + code/game/machinery/computer/dna_console.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/dna_console.dm + +

+ + + + + + + + + + + + + + + + + + + + +
INJECTOR_TIMEOUTBase timeout for creating mutation activators and other injectors
NUMBER_OF_BUFFERSMaximum number of genetic makeup storage slots in DNA Console
SCRAMBLE_TIMEOUTTimeout for DNA Scramble in DNA Consoles
JOKER_TIMEOUTTimeout for using the Joker feature to solve a gene in DNA Console
JOKER_UPGRADEHow much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT
GENETIC_DAMAGE_STRENGTH_MAXMaximum value for genetic damage strength when pulsing enzymes
GENETIC_DAMAGE_STRENGTH_MULTIPLIERLarger multipliers will affect the range of values when pulsing enzymes
GENETIC_DAMAGE_DURATION_MAXMaximum value for the genetic damage pulse duration when pulsing enzymes
GENETIC_DAMAGE_ACCURACY_MULTIPLIERLarge values reduce pulse accuracy and may pulse other enzymes than selected
STATUS_TRANSFORMINGSpecial status indicating a scanner occupant is transforming eg. from monkey to human
GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIERMultiplier for how much genetic damage received from DNA Console functionality
SEARCH_OCCUPANTFlag for the mutation ref search system. Search will include scanner occupant
SEARCH_STOREDFlag for the mutation ref search system. Search will include console storage
SEARCH_DISKETTEFlag for the mutation ref search system. Search will include diskette storage
SEARCH_ADV_INJFlag for the mutation ref search system. Search will include advanced injector mutations
ENZYME_COPY_BASE_COOLDOWNThe base cooldown of the ability to copy enzymes and genetic makeup to people.
CLEAR_GENEInput from tgui interface. X the gene out.
NEXT_GENEInput from tgui interface. Progress to the next gene.
PREV_GENEInput from tgui interface. Progress to previous gene.

Define Details

+

CLEAR_GENE + + +

+

Input from tgui interface. X the gene out.

ENZYME_COPY_BASE_COOLDOWN + + +

+

The base cooldown of the ability to copy enzymes and genetic makeup to people.

GENETIC_DAMAGE_ACCURACY_MULTIPLIER + + +

+

Large values reduce pulse accuracy and may pulse other enzymes than selected

GENETIC_DAMAGE_DURATION_MAX + + +

+

Maximum value for the genetic damage pulse duration when pulsing enzymes

GENETIC_DAMAGE_IRGENETIC_DAMAGE_MULTIPLIER + + +

+

Multiplier for how much genetic damage received from DNA Console functionality

GENETIC_DAMAGE_STRENGTH_MAX + + +

+

Maximum value for genetic damage strength when pulsing enzymes

GENETIC_DAMAGE_STRENGTH_MULTIPLIER + + +

+

Larger multipliers will affect the range of values when pulsing enzymes

INJECTOR_TIMEOUT + + +

+

Base timeout for creating mutation activators and other injectors

JOKER_TIMEOUT + + +

+

Timeout for using the Joker feature to solve a gene in DNA Console

JOKER_UPGRADE + + +

+

How much time DNA Scanner upgrade tiers remove from JOKER_TIMEOUT

NEXT_GENE + + +

+

Input from tgui interface. Progress to the next gene.

NUMBER_OF_BUFFERS + + +

+

Maximum number of genetic makeup storage slots in DNA Console

PREV_GENE + + +

+

Input from tgui interface. Progress to previous gene.

SCRAMBLE_TIMEOUT + + +

+

Timeout for DNA Scramble in DNA Consoles

SEARCH_ADV_INJ + + +

+

Flag for the mutation ref search system. Search will include advanced injector mutations

SEARCH_DISKETTE + + +

+

Flag for the mutation ref search system. Search will include diskette storage

SEARCH_OCCUPANT + + +

+

Flag for the mutation ref search system. Search will include scanner occupant

SEARCH_STORED + + +

+

Flag for the mutation ref search system. Search will include console storage

STATUS_TRANSFORMING + + +

+

Special status indicating a scanner occupant is transforming eg. from monkey to human

+ + + diff --git a/code/game/machinery/computer/orders/order_computer/mining_order.html b/code/game/machinery/computer/orders/order_computer/mining_order.html new file mode 100644 index 00000000000..329c9b74ea1 --- /dev/null +++ b/code/game/machinery/computer/orders/order_computer/mining_order.html @@ -0,0 +1,33 @@ + + + + + + + code/game/machinery/computer/orders/order_computer/mining_order.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/orders/order_computer/mining_order.dm + +

+ + + +
/obj/item/mining_voucherMining Equipment Voucher
TO_USER_IDMining Point Card

Define Details

+

TO_USER_ID + + +

+

Mining Point Card

+ + + diff --git a/code/game/machinery/computer/orders/order_items/order_datum.html b/code/game/machinery/computer/orders/order_items/order_datum.html new file mode 100644 index 00000000000..e6c71c902d5 --- /dev/null +++ b/code/game/machinery/computer/orders/order_items/order_datum.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/computer/orders/order_items/order_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/orders/order_items/order_datum.dm + +

+ + +
/datum/orderable_itemA datum for chef ordering options from the chef's computer.
+ + + diff --git a/code/game/machinery/computer/records/records.html b/code/game/machinery/computer/records/records.html new file mode 100644 index 00000000000..2aaea363b48 --- /dev/null +++ b/code/game/machinery/computer/records/records.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/computer/records/records.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/records/records.dm + +

+ + +
/obj/machinery/computer/recordsRecords subtype for the shared functionality between medical/security/warrant consoles.
+ + + diff --git a/code/game/machinery/computer/records/security.html b/code/game/machinery/computer/records/security.html new file mode 100644 index 00000000000..69b2c124320 --- /dev/null +++ b/code/game/machinery/computer/records/security.html @@ -0,0 +1,33 @@ + + + + + + + code/game/machinery/computer/records/security.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/computer/records/security.dm + +

+ + + +
MAX_CRIME_NAME_LENEditing this will cause UI issues.
/obj/item/circuit_component/arrest_console_dataSecurity circuit component

Define Details

+

MAX_CRIME_NAME_LEN + + +

+

Editing this will cause UI issues.

+ + + diff --git a/code/game/machinery/computer/telescreen.html b/code/game/machinery/computer/telescreen.html new file mode 100644 index 00000000000..d2c61ba64d0 --- /dev/null +++ b/code/game/machinery/computer/telescreen.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/computer/telescreen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/computer/telescreen.dm + +

+ + +
/obj/machinery/button/showtimeA button that adds a camera network to the entertainment monitors
+ + + diff --git a/code/game/machinery/dance_machine.html b/code/game/machinery/dance_machine.html new file mode 100644 index 00000000000..f7accba2149 --- /dev/null +++ b/code/game/machinery/dance_machine.html @@ -0,0 +1,33 @@ + + + + + + + code/game/machinery/dance_machine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/dance_machine.dm + +

+ + +
HAS_JUKEBOX_PREFHelper macro to check if the passed mob has jukebox sound preference enabled

Define Details

+

HAS_JUKEBOX_PREF + + + +

+

Helper macro to check if the passed mob has jukebox sound preference enabled

+ + + diff --git a/code/game/machinery/deployable.html b/code/game/machinery/deployable.html new file mode 100644 index 00000000000..ee5b42e22b3 --- /dev/null +++ b/code/game/machinery/deployable.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/deployable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/deployable.dm + +

+ + +
/obj/structure/barricade/woodenBARRICADE TYPES
+ + + diff --git a/code/game/machinery/dna_infuser/dna_infuser.html b/code/game/machinery/dna_infuser/dna_infuser.html new file mode 100644 index 00000000000..d6002d16d6c --- /dev/null +++ b/code/game/machinery/dna_infuser/dna_infuser.html @@ -0,0 +1,37 @@ + + + + + + + code/game/machinery/dna_infuser/dna_infuser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/dna_infuser/dna_infuser.dm + +

+ + + +
INFUSING_TIMEhow long it takes to infuse
SCREAM_TIMEwe throw in a scream along the way.

Define Details

+

INFUSING_TIME + + +

+

how long it takes to infuse

SCREAM_TIME + + +

+

we throw in a scream along the way.

+ + + diff --git a/code/game/machinery/dna_infuser/infuser_entry.html b/code/game/machinery/dna_infuser/infuser_entry.html new file mode 100644 index 00000000000..3abc6f2daf3 --- /dev/null +++ b/code/game/machinery/dna_infuser/infuser_entry.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/dna_infuser/infuser_entry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/infuser_entry.dm + +

+ + + +
/proc/prepare_infuser_entriesGlobal proc that sets up each /datum/infuser_entry sub-type as singleton instances in a list, and returns it.
+ + + diff --git a/code/game/machinery/dna_infuser/organ_sets/carp_organs.html b/code/game/machinery/dna_infuser/organ_sets/carp_organs.html new file mode 100644 index 00000000000..6a3cd7c3966 --- /dev/null +++ b/code/game/machinery/dna_infuser/organ_sets/carp_organs.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/dna_infuser/organ_sets/carp_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/organ_sets/carp_organs.dm + +

+ + + + + + +
/datum/status_effect/organ_set_bonus/carpbonus of the carp: you can swim through space!
/obj/item/organ/internal/lungs/carpCarp lungs! You can breathe in space! Oh... you can't breathe on the station, you need low oxygen environments. +Inverts behavior of lungs. Bypasses suffocation due to space / lack of gas, but also allows Oxygen to suffocate.
/obj/item/organ/internal/tongue/carpoccasionally sheds carp teeth, stronger melee (bite) attacks, but you can't cover your mouth anymore.
/obj/item/organ/internal/brain/carpcarp brain. you need to occasionally go to a new zlevel. think of it as... walking your dog!
/obj/item/organ/internal/heart/carpmakes you cold resistant, but heat-weak.
+ + + diff --git a/code/game/machinery/dna_infuser/organ_sets/fly_organs.html b/code/game/machinery/dna_infuser/organ_sets/fly_organs.html new file mode 100644 index 00000000000..a19b25c8ce8 --- /dev/null +++ b/code/game/machinery/dna_infuser/organ_sets/fly_organs.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/dna_infuser/organ_sets/fly_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/organ_sets/fly_organs.dm + +

+ + +
/datum/status_effect/organ_set_bonus/flybonus of the fly: you... are a flyperson now. sorry.
+ + + diff --git a/code/game/machinery/dna_infuser/organ_sets/goliath_organs.html b/code/game/machinery/dna_infuser/organ_sets/goliath_organs.html new file mode 100644 index 00000000000..60b78e5d6e9 --- /dev/null +++ b/code/game/machinery/dna_infuser/organ_sets/goliath_organs.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm + +

+ + + + + + +
/datum/status_effect/organ_set_bonus/goliathbonus of the goliath: you can swim through space!
/obj/item/organ/internal/eyes/night_vision/goliathgoliath eyes, simple night vision
/obj/item/organ/internal/lungs/lavaland/goliathgoliath lungs! You can breathe lavaland air mix but can't breath pure O2 from a tank anymore.
/obj/item/organ/internal/brain/goliathgoliath brain. you can't use gloves but one of your arms becomes a tendril hammer that can be used to mine!
/obj/item/organ/internal/heart/goliathwe obtain the relative direction from the bat itself to the target +goliath heart gives you the ability to survive ash storms.
+ + + diff --git a/code/game/machinery/dna_infuser/organ_sets/gondola_organs.html b/code/game/machinery/dna_infuser/organ_sets/gondola_organs.html new file mode 100644 index 00000000000..0a70e3b4f88 --- /dev/null +++ b/code/game/machinery/dna_infuser/organ_sets/gondola_organs.html @@ -0,0 +1,30 @@ + + + + + + + code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/organ_sets/gondola_organs.dm + +

+ + + + + +
/datum/status_effect/organ_set_bonus/gondolabonus of the observing gondola: you can ignore environmental hazards
/obj/item/organ/internal/heart/gondolamakes you a pacifist and turns most mobs neutral towards you
/obj/item/organ/internal/tongue/gondolaZen (tounge): You can no longer speak, but get a powerful positive moodlet
/obj/item/organ/internal/liver/gondolaLoving arms: your hands become unable to hold much of anything but your hugs now infuse the subject with pax.
+ + + diff --git a/code/game/machinery/dna_infuser/organ_sets/rat_organs.html b/code/game/machinery/dna_infuser/organ_sets/rat_organs.html new file mode 100644 index 00000000000..ee240ec275f --- /dev/null +++ b/code/game/machinery/dna_infuser/organ_sets/rat_organs.html @@ -0,0 +1,31 @@ + + + + + + + code/game/machinery/dna_infuser/organ_sets/rat_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/organ_sets/rat_organs.dm + +

+ + + + + + +
/datum/status_effect/organ_set_bonus/ratbonus of the rat: you can ventcrawl!
/obj/item/organ/internal/eyes/night_vision/ratway better night vision, super sensitive. lotta things work like this, huh?
/obj/item/organ/internal/stomach/ratincreases hunger, disgust recovers quicker, expands what is defined as "food"
/obj/item/organ/internal/heart/ratmakes you smaller, walk over tables, and take 1.5x damage
/obj/item/organ/internal/tongue/ratyou occasionally squeak, and have some rat related verbal tics
+ + + diff --git a/code/game/machinery/dna_infuser/organ_sets/roach_organs.html b/code/game/machinery/dna_infuser/organ_sets/roach_organs.html new file mode 100644 index 00000000000..0b24429e859 --- /dev/null +++ b/code/game/machinery/dna_infuser/organ_sets/roach_organs.html @@ -0,0 +1,36 @@ + + + + + + + code/game/machinery/dna_infuser/organ_sets/roach_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/dna_infuser/organ_sets/roach_organs.dm + +

+ + + + + +
/obj/item/organ/internal/heart/roachRoach heart: +Reduces damage taken from brute attacks from behind, +but increases duration of knockdowns
/obj/item/organ/internal/stomach/roachRoach stomach: +Makes disgust a non-issue, very slightly worse at passing off reagents +Also makes you more hungry
/obj/item/organ/internal/liver/roachRoach liver: +Purges toxins at a higher threshold, but takes more damage from them if not purged
/obj/item/organ/internal/appendix/roachRoach appendix: +No appendicitus! weee!
+ + + diff --git a/code/game/machinery/doors/airlock.html b/code/game/machinery/doors/airlock.html new file mode 100644 index 00000000000..2272fc6c30b --- /dev/null +++ b/code/game/machinery/doors/airlock.html @@ -0,0 +1,54 @@ + + + + + + + code/game/machinery/doors/airlock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/doors/airlock.dm + +

+ + + + + + + +
/proc/get_airlock_overlayOverlay cache. Why isn't this just in /obj/machinery/door/airlock? Because its used just a +tiny bit in door_assembly.dm Refactored so you don't have to make a null copy of airlock +to get to the damn thing +Someone, for the love of god, profile this. Is there a reason to cache mutable_appearance +if so, why are we JUST doing the airlocks when we can put this in mutable_appearance.dm for +everything
AIRLOCK_SEAL_MULTIPLIERHow much extra health airlocks get when braced with a seal
AIRLOCK_DENY_ANIMATION_TIMEThe amount of time for the airlock deny animation to show
DOOR_CLOSE_WAITTime before a door closes, if not overridden
DOOR_VISION_DISTANCEThe maximum distance a door will see out to

Define Details

+

AIRLOCK_DENY_ANIMATION_TIME + + +

+

The amount of time for the airlock deny animation to show

AIRLOCK_SEAL_MULTIPLIER + + +

+

How much extra health airlocks get when braced with a seal

DOOR_CLOSE_WAIT + + +

+

Time before a door closes, if not overridden

DOOR_VISION_DISTANCE + + +

+

The maximum distance a door will see out to

+ + + diff --git a/code/game/machinery/doors/brigdoors.html b/code/game/machinery/doors/brigdoors.html new file mode 100644 index 00000000000..67f4bd4294b --- /dev/null +++ b/code/game/machinery/doors/brigdoors.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/doors/brigdoors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/doors/brigdoors.dm + +

+ + +
/obj/machinery/status_display/door_timerBrig Door control displays.
+ + + diff --git a/code/game/machinery/doors/door.html b/code/game/machinery/doors/door.html new file mode 100644 index 00000000000..3f89391c628 --- /dev/null +++ b/code/game/machinery/doors/door.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/doors/door.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/doors/door.dm + +

+ + +
DOOR_CLOSE_WAITDefault wait until doors autoclose

Define Details

+

DOOR_CLOSE_WAIT + + +

+

Default wait until doors autoclose

+ + + diff --git a/code/game/machinery/doors/firedoor.html b/code/game/machinery/doors/firedoor.html new file mode 100644 index 00000000000..485d89c7e7c --- /dev/null +++ b/code/game/machinery/doors/firedoor.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/doors/firedoor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/doors/firedoor.dm + +

+ + +
DEFAULT_STEP_TIMEdefault time for each step

Define Details

+

DEFAULT_STEP_TIME + + +

+

default time for each step

+ + + diff --git a/code/game/machinery/hologram.html b/code/game/machinery/hologram.html new file mode 100644 index 00000000000..bc5d81910f9 --- /dev/null +++ b/code/game/machinery/hologram.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/hologram.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/hologram.dm + +

+ + +
/obj/machinery/holopad/secureWe set the plane on mapload such that we can see the holopad render over atmospherics pipe and cabling in a map editor (without initialization), but so it gets that "inset" look in the floor in-game.
+ + + diff --git a/code/game/machinery/incident_display.html b/code/game/machinery/incident_display.html new file mode 100644 index 00000000000..76c867c9e08 --- /dev/null +++ b/code/game/machinery/incident_display.html @@ -0,0 +1,39 @@ + + + + + + + code/game/machinery/incident_display.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/incident_display.dm + +

+ + + + +
DISPLAY_DELAMDisplay days since last delam on incident sign
DISPLAY_TRAMDisplay current number of tram hits on incident sign
/obj/machinery/incident_displayList of safety statistic signs on the map that have delam counting enabled. +Required as persistence subsystem loads after the ones present at mapload, and to reset to 0 upon explosion.

Define Details

+

DISPLAY_DELAM + + +

+

Display days since last delam on incident sign

DISPLAY_TRAM + + +

+

Display current number of tram hits on incident sign

+ + + diff --git a/code/game/machinery/iv_drip.html b/code/game/machinery/iv_drip.html new file mode 100644 index 00000000000..0337da2e33a --- /dev/null +++ b/code/game/machinery/iv_drip.html @@ -0,0 +1,58 @@ + + + + + + + code/game/machinery/iv_drip.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/iv_drip.dm + +

+ + + + + + + + +
IV_TAKINGIV drip operation mode when it sucks blood from the object
IV_INJECTINGIV drip operation mode when it injects reagents into the object
IV_TRANSFER_RATE_STEPWhat the transfer rate value is rounded to
MIN_IV_TRANSFER_RATEMinimum possible IV drip transfer rate in units per second
MAX_IV_TRANSFER_RATEMaximum possible IV drip transfer rate in units per second
DEFAULT_IV_TRANSFER_RATEDefault IV drip transfer rate in units per second
/obj/machinery/iv_dripUniversal IV that can drain blood or feed reagents over a period of time from or to a replaceable container

Define Details

+

DEFAULT_IV_TRANSFER_RATE + + +

+

Default IV drip transfer rate in units per second

IV_INJECTING + + +

+

IV drip operation mode when it injects reagents into the object

IV_TAKING + + +

+

IV drip operation mode when it sucks blood from the object

IV_TRANSFER_RATE_STEP + + +

+

What the transfer rate value is rounded to

MAX_IV_TRANSFER_RATE + + +

+

Maximum possible IV drip transfer rate in units per second

MIN_IV_TRANSFER_RATE + + +

+

Minimum possible IV drip transfer rate in units per second

+ + + diff --git a/code/game/machinery/lightswitch.html b/code/game/machinery/lightswitch.html new file mode 100644 index 00000000000..bbf96333963 --- /dev/null +++ b/code/game/machinery/lightswitch.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/lightswitch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/lightswitch.dm + +

+ + +
/obj/machinery/light_switchThe light switch. Can have multiple per area.
+ + + diff --git a/code/game/machinery/limbgrower.html b/code/game/machinery/limbgrower.html new file mode 100644 index 00000000000..b25bc9bcb08 --- /dev/null +++ b/code/game/machinery/limbgrower.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/limbgrower.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/limbgrower.dm + +

+ + +
/obj/machinery/limbgrowerThe limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.
+ + + diff --git a/code/game/machinery/medical_kiosk.html b/code/game/machinery/medical_kiosk.html new file mode 100644 index 00000000000..cd36cd6c0e4 --- /dev/null +++ b/code/game/machinery/medical_kiosk.html @@ -0,0 +1,47 @@ + + + + + + + code/game/machinery/medical_kiosk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/medical_kiosk.dm + +

+ + + + + +
KIOSK_SCANNING_GENERALShows if the machine is being used for a general scan.
KIOSK_SCANNING_SYMPTOMSShows if the machine is being used for a disease scan.
KIOSK_SCANNING_NEURORADShows if the machine is being used for a radiation/brain trauma scan.
KIOSK_SCANNING_REAGENTSShows if the machine is being used for a reagent scan.

Define Details

+

KIOSK_SCANNING_GENERAL + + +

+

Shows if the machine is being used for a general scan.

KIOSK_SCANNING_NEURORAD + + +

+

Shows if the machine is being used for a radiation/brain trauma scan.

KIOSK_SCANNING_REAGENTS + + +

+

Shows if the machine is being used for a reagent scan.

KIOSK_SCANNING_SYMPTOMS + + +

+

Shows if the machine is being used for a disease scan.

+ + + diff --git a/code/game/machinery/mining_weather_monitor.html b/code/game/machinery/mining_weather_monitor.html new file mode 100644 index 00000000000..8fbb0e15847 --- /dev/null +++ b/code/game/machinery/mining_weather_monitor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/mining_weather_monitor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/mining_weather_monitor.dm + +

+ + +
/obj/machinery/mining_weather_monitorWall mounted mining weather tracker
+ + + diff --git a/code/game/machinery/modular_shield.html b/code/game/machinery/modular_shield.html new file mode 100644 index 00000000000..99ca888a0b6 --- /dev/null +++ b/code/game/machinery/modular_shield.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/modular_shield.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/modular_shield.dm + +

+ + +
/obj/machinery/modular_shield/moduleThe general code used for machines that want to connect to the network
+ + + diff --git a/code/game/machinery/nebula_shielding.html b/code/game/machinery/nebula_shielding.html new file mode 100644 index 00000000000..bec5b0ed515 --- /dev/null +++ b/code/game/machinery/nebula_shielding.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/nebula_shielding.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/nebula_shielding.dm + +

+ + + + + + + +
/obj/machinery/nebula_shieldingMachinery that block nebulas. This type is for convenience, you can set nebula shielding on other objects as well using add_to_nebula_shielding()
/obj/machinery/nebula_shielding/emergencyShort-lived nebula shielding sent by centcom in-case there hasn't been shielding for a while
/obj/machinery/nebula_shielding/radiationWe shield against the radioactive nebula and passively generate tritium
/obj/machinery/nebula_shielding/emergency/radiationEmergency shielding so people aren't permanently in a radstorm if shit goes very wrong in engineering
/obj/item/paper/fluff/radiation_nebulaSmall explanation for engineering on how to set-up the radioactive nebula shielding
/obj/item/paper/fluff/radiation_nebula_virologistWarns the viro that they can't use radioactive resonance
+ + + diff --git a/code/game/machinery/newscaster/newscaster_data.html b/code/game/machinery/newscaster/newscaster_data.html new file mode 100644 index 00000000000..57e242fb1ac --- /dev/null +++ b/code/game/machinery/newscaster/newscaster_data.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/newscaster/newscaster_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/newscaster/newscaster_data.dm + +

+ + +
/datum/station_requestA combined all in one datum that stores everything about the request, the requester's account, as well as the requestee's account +All of this is passed to the Request Console UI in order to present in organized way.
+ + + diff --git a/code/game/machinery/porta_turret/portable_turret_cover.html b/code/game/machinery/porta_turret/portable_turret_cover.html new file mode 100644 index 00000000000..acd23ffa953 --- /dev/null +++ b/code/game/machinery/porta_turret/portable_turret_cover.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/porta_turret/portable_turret_cover.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/porta_turret/portable_turret_cover.dm + +

+ + +
/obj/machinery/porta_turret_coverPORTABLE TURRET COVER
+ + + diff --git a/code/game/machinery/roulette_machine.html b/code/game/machinery/roulette_machine.html new file mode 100644 index 00000000000..ad07079347e --- /dev/null +++ b/code/game/machinery/roulette_machine.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/roulette_machine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/roulette_machine.dm + +

+ + +
/obj/machinery/rouletteMachine that lets you play roulette. Odds are pre-defined to be the same as European Roulette without the "En Prison" rule
+ + + diff --git a/code/game/machinery/shieldgen.html b/code/game/machinery/shieldgen.html new file mode 100644 index 00000000000..9d6a2215cc4 --- /dev/null +++ b/code/game/machinery/shieldgen.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/shieldgen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/shieldgen.dm + +

+ + + +
/obj/structure/emergency_shield/regeneratingSubtype of shields that repair over time after sustaining integrity damage
/obj/machinery/shieldwallContainment Field START
+ + + diff --git a/code/game/machinery/sleepers.html b/code/game/machinery/sleepers.html new file mode 100644 index 00000000000..f77a954f2a6 --- /dev/null +++ b/code/game/machinery/sleepers.html @@ -0,0 +1,29 @@ + + + + + + + code/game/machinery/sleepers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/sleepers.dm + +

+ + + +
/obj/machinery/sleeper/syndieSyndicate version +Can be controlled from the inside and can be deconstructed.
/obj/machinery/sleeper/syndie/fullupgradeFully upgraded variant, the circuit using tier 4 parts.
+ + + diff --git a/code/game/machinery/slotmachine.html b/code/game/machinery/slotmachine.html new file mode 100644 index 00000000000..0ba5d53fdbb --- /dev/null +++ b/code/game/machinery/slotmachine.html @@ -0,0 +1,40 @@ + + + + + + + code/game/machinery/slotmachine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/slotmachine.dm + +

+ + +
SPIN_PRICE*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

Define Details

+

SPIN_PRICE + + +

+

*
+| Slot Machines | +| Original code by Glloyd | +| Tgstation port by Miauw | +*

+ + + diff --git a/code/game/machinery/spaceheater.html b/code/game/machinery/spaceheater.html new file mode 100644 index 00000000000..4ae38e4653f --- /dev/null +++ b/code/game/machinery/spaceheater.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/spaceheater.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/spaceheater.dm + +

+ + +
/obj/machinery/space_heater/improvised_chem_heaterFor use with heating reagents in a ghetto way
+ + + diff --git a/code/game/machinery/status_display.html b/code/game/machinery/status_display.html new file mode 100644 index 00000000000..57987d6736c --- /dev/null +++ b/code/game/machinery/status_display.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/status_display.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/status_display.dm + +

+ + + + + + + +
/obj/machinery/status_displayStatus display which can show images and scrolling text.
/obj/effect/overlay/status_display_textNice overlay to make text smoothly scroll with no client updates after setup.
/obj/machinery/status_display/evacEvac display which shows shuttle timer or message set by Command.
/obj/machinery/status_display/supplySupply display which shows the status of the supply shuttle.
/obj/machinery/status_display/shuttleGeneral-purpose shuttle status display.
/obj/machinery/status_display/aiPictograph display which the AI can use to emote.
+ + + diff --git a/code/game/machinery/syndicatebomb.html b/code/game/machinery/syndicatebomb.html new file mode 100644 index 00000000000..adcbcd085d3 --- /dev/null +++ b/code/game/machinery/syndicatebomb.html @@ -0,0 +1,31 @@ + + + + + + + code/game/machinery/syndicatebomb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/syndicatebomb.dm + +

+ + + + + +
/obj/machinery/syndicatebomb/trainingBomb Subtypes
/obj/item/bombcoreBomb Cores
/obj/item/bombcore/syndicateBomb Core Subtypes/// +Subtype for the bomb cores found inside syndicate bombs, which will not detonate due to explosion/burning.
/obj/item/syndicatedetonatorSyndicate Detonator (aka the big red button)
+ + + diff --git a/code/game/machinery/teambuilder.html b/code/game/machinery/teambuilder.html new file mode 100644 index 00000000000..12da7a9d178 --- /dev/null +++ b/code/game/machinery/teambuilder.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/teambuilder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/teambuilder.dm + +

+ + +
/obj/machinery/teambuilderSimple admin tool that enables players to be assigned to a VERY SHITTY, very visually distinct team, quickly and affordably.
+ + + diff --git a/code/game/machinery/telecomms/broadcasting.html b/code/game/machinery/telecomms/broadcasting.html new file mode 100644 index 00000000000..e2a888f29a0 --- /dev/null +++ b/code/game/machinery/telecomms/broadcasting.html @@ -0,0 +1,34 @@ + + + + + + + code/game/machinery/telecomms/broadcasting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/machinery/telecomms/broadcasting.dm + +

+ + +
COMPRESSION_REPLACE_CHARACTER_THRESHOLDPast this amount of compression, the resulting gibberish will actually +replace characters, making it even harder to understand.

Define Details

+

COMPRESSION_REPLACE_CHARACTER_THRESHOLD + + +

+

Past this amount of compression, the resulting gibberish will actually +replace characters, making it even harder to understand.

+ + + diff --git a/code/game/machinery/telecomms/computers/message.html b/code/game/machinery/telecomms/computers/message.html new file mode 100644 index 00000000000..19f1268c705 --- /dev/null +++ b/code/game/machinery/telecomms/computers/message.html @@ -0,0 +1,27 @@ + + + + + + + code/game/machinery/telecomms/computers/message.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/computers/message.dm + +

+ + +
/obj/item/paper/monitorkeyMonitor decryption key paper
+ + + diff --git a/code/game/machinery/telecomms/machine_interactions.html b/code/game/machinery/telecomms/machine_interactions.html new file mode 100644 index 00000000000..617b2aaaf92 --- /dev/null +++ b/code/game/machinery/telecomms/machine_interactions.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/telecomms/machine_interactions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machine_interactions.dm + +

+ + +
/obj/machinery/telecommsThe basic telecomms machinery type, implementing all of the logic that's +shared between all of the telecomms machinery.
+ + + diff --git a/code/game/machinery/telecomms/machines/allinone.html b/code/game/machinery/telecomms/machines/allinone.html new file mode 100644 index 00000000000..d24096564f5 --- /dev/null +++ b/code/game/machinery/telecomms/machines/allinone.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/telecomms/machines/allinone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/allinone.dm + +

+ + +
/obj/machinery/telecomms/allinoneBasically just an empty shell for receiving and broadcasting radio messages. Not +very flexible, but it gets the job done.
+ + + diff --git a/code/game/machinery/telecomms/machines/broadcaster.html b/code/game/machinery/telecomms/machines/broadcaster.html new file mode 100644 index 00000000000..67dc0f3c592 --- /dev/null +++ b/code/game/machinery/telecomms/machines/broadcaster.html @@ -0,0 +1,32 @@ + + + + + + + code/game/machinery/telecomms/machines/broadcaster.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/broadcaster.dm + +

+ + + + +
/obj/machinery/telecomms/broadcasterThe broadcaster sends processed messages to all radio devices in the game. They +do not have to be headsets; intercoms and station-bounced radios suffice.
/proc/end_message_delaySimply resets the message delay and the recent messages list, to ensure that +recent messages can be sent again. Is called on a one second timer after a +delay is set, from /obj/machinery/telecomms/broadcaster/receive_information()
+ + + diff --git a/code/game/machinery/telecomms/machines/bus.html b/code/game/machinery/telecomms/machines/bus.html new file mode 100644 index 00000000000..596c8b2dcc3 --- /dev/null +++ b/code/game/machinery/telecomms/machines/bus.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/telecomms/machines/bus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/bus.dm + +

+ + +
/obj/machinery/telecomms/busThe bus mainframe idles and waits for hubs to relay them signals. They act +as junctions for the network.
+ + + diff --git a/code/game/machinery/telecomms/machines/hub.html b/code/game/machinery/telecomms/machines/hub.html new file mode 100644 index 00000000000..4e56b97194b --- /dev/null +++ b/code/game/machinery/telecomms/machines/hub.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/telecomms/machines/hub.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/hub.dm + +

+ + +
/obj/machinery/telecomms/hubThe HUB idles until it receives information. It then passes on that information +depending on where it came from.
+ + + diff --git a/code/game/machinery/telecomms/machines/message_server.html b/code/game/machinery/telecomms/machines/message_server.html new file mode 100644 index 00000000000..2775f4c288b --- /dev/null +++ b/code/game/machinery/telecomms/machines/message_server.html @@ -0,0 +1,31 @@ + + + + + + + code/game/machinery/telecomms/machines/message_server.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/message_server.dm + +

+ + + +
/obj/machinery/telecomms/message_serverThe equivalent of the server, for PDA and request console messages. +Without it, PDA and request console messages cannot be transmitted. +PDAs require the rest of the telecomms setup, but request consoles only +require the message server.
/datum/data_tablet_msgLog datums stored by the message server.
+ + + diff --git a/code/game/machinery/telecomms/machines/processor.html b/code/game/machinery/telecomms/machines/processor.html new file mode 100644 index 00000000000..fceb286e8d5 --- /dev/null +++ b/code/game/machinery/telecomms/machines/processor.html @@ -0,0 +1,29 @@ + + + + + + + code/game/machinery/telecomms/machines/processor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/processor.dm + +

+ + +
/obj/machinery/telecomms/processorThe processor is a very simple machine that decompresses subspace signals and +transfers them back to the original bus. It is essential in producing audible +data.
+ + + diff --git a/code/game/machinery/telecomms/machines/receiver.html b/code/game/machinery/telecomms/machines/receiver.html new file mode 100644 index 00000000000..cf652538ad6 --- /dev/null +++ b/code/game/machinery/telecomms/machines/receiver.html @@ -0,0 +1,29 @@ + + + + + + + code/game/machinery/telecomms/machines/receiver.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/receiver.dm + +

+ + +
/obj/machinery/telecomms/receiverThe receiver idles and receives messages from subspace-compatible radio equipment, +primarily headsets. Then they just relay this information to all linked devices, +which would usually be through the telecommunications hub.
+ + + diff --git a/code/game/machinery/telecomms/machines/relay.html b/code/game/machinery/telecomms/machines/relay.html new file mode 100644 index 00000000000..e35a5834de0 --- /dev/null +++ b/code/game/machinery/telecomms/machines/relay.html @@ -0,0 +1,28 @@ + + + + + + + code/game/machinery/telecomms/machines/relay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/relay.dm + +

+ + +
/obj/machinery/telecomms/relayThe relay idles until it receives information. It then passes on that information +depending on where it came from.
+ + + diff --git a/code/game/machinery/telecomms/machines/server.html b/code/game/machinery/telecomms/machines/server.html new file mode 100644 index 00000000000..6fdf6a0da7c --- /dev/null +++ b/code/game/machinery/telecomms/machines/server.html @@ -0,0 +1,29 @@ + + + + + + + code/game/machinery/telecomms/machines/server.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/machinery/telecomms/machines/server.dm + +

+ + + +
/obj/machinery/telecomms/serverThe server logs all traffic and signal data. Once it records the signal, it +sends it to the subspace broadcaster.
/datum/comm_log_entrySimple log entry datum for the telecommunication server
+ + + diff --git a/code/game/objects/effects/anomalies/anomalies_bluespace.html b/code/game/objects/effects/anomalies/anomalies_bluespace.html new file mode 100644 index 00000000000..4b028c0645b --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_bluespace.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/anomalies/anomalies_bluespace.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/anomalies/anomalies_bluespace.dm + +

+ + +
/obj/effect/anomaly/bluespace/bigBigger, meaner, immortal bluespace anomaly
+ + + diff --git a/code/game/objects/effects/anomalies/anomalies_dimensional_themes.html b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.html new file mode 100644 index 00000000000..0be670fc20b --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_dimensional_themes.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/anomalies/anomalies_dimensional_themes.dm + +

+ + +
/datum/dimension_themeDatum which describes a theme and replaces turfs and objects in specified locations to match that theme
+ + + diff --git a/code/game/objects/effects/anomalies/anomalies_ectoplasm.html b/code/game/objects/effects/anomalies/anomalies_ectoplasm.html new file mode 100644 index 00000000000..65fdca027e5 --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_ectoplasm.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/anomalies/anomalies_ectoplasm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/anomalies/anomalies_ectoplasm.dm + +

+ + + +
/proc/cleanup_ghostsGives a farewell message and deletes the ghosts produced by a ghost portal structure.
+ + + diff --git a/code/game/objects/effects/anomalies/anomalies_flux.html b/code/game/objects/effects/anomalies/anomalies_flux.html new file mode 100644 index 00000000000..49f90523f5d --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_flux.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/anomalies/anomalies_flux.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/anomalies/anomalies_flux.dm + +

+ + + +
/obj/effect/anomaly/flux/minorA flux anomaly which doesn't explode or produce a core
/obj/effect/anomaly/flux/bigBigger, meaner, immortal flux anomaly
+ + + diff --git a/code/game/objects/effects/anomalies/anomalies_gravity.html b/code/game/objects/effects/anomalies/anomalies_gravity.html new file mode 100644 index 00000000000..b6bfce256fe --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_gravity.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/anomalies/anomalies_gravity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/anomalies/anomalies_gravity.dm + +

+ + +
/obj/effect/anomaly/grav/high/bigBigger, meaner, immortal gravity anomaly. although this is just the super grav anomaly but bigger and shattering move force
+ + + diff --git a/code/game/objects/effects/anomalies/anomalies_pyroclastic.html b/code/game/objects/effects/anomalies/anomalies_pyroclastic.html new file mode 100644 index 00000000000..6f94ad23082 --- /dev/null +++ b/code/game/objects/effects/anomalies/anomalies_pyroclastic.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/anomalies/anomalies_pyroclastic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/anomalies/anomalies_pyroclastic.dm + +

+ + +
/obj/effect/anomaly/pyro/bigBigger, meaner, immortal pyro anomaly
+ + + diff --git a/code/game/objects/effects/bump_teleporter.html b/code/game/objects/effects/bump_teleporter.html new file mode 100644 index 00000000000..25e6154d3c9 --- /dev/null +++ b/code/game/objects/effects/bump_teleporter.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/bump_teleporter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/bump_teleporter.dm + +

+ + + +
/obj/effect/bump_teleporterAbstract effect, that when a mob touches it, it will forceMove them to the teleporter-exit point (that matches the ID set map-side).
/obj/effect/bump_teleporter/filteringSubtype that uses do_teleport instead, to leverage any NO_TELEPORT traits that you might need to add in a given map
+ + + diff --git a/code/game/objects/effects/cursor_catcher.html b/code/game/objects/effects/cursor_catcher.html new file mode 100644 index 00000000000..f4a4ff72e8c --- /dev/null +++ b/code/game/objects/effects/cursor_catcher.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/cursor_catcher.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/cursor_catcher.dm + +

+ + +
/atom/movable/screen/fullscreen/cursor_catcherAn effect which tracks the cursor's location on the screen
+ + + diff --git a/code/game/objects/effects/decals/turfdecal/markings.html b/code/game/objects/effects/decals/turfdecal/markings.html new file mode 100644 index 00000000000..0d7391e0d8a --- /dev/null +++ b/code/game/objects/effects/decals/turfdecal/markings.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/effects/decals/turfdecal/markings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/decals/turfdecal/markings.dm + +

+ + + + +
/obj/effect/turf_decal/raven_ship_signNTSS RAVEN EMERGENCY SHUTTLE LOGO
/obj/effect/turf_decal/syndicateemblem/bottom/leftSYNDICATE EMBLEM
/obj/effect/turf_decal/board_number/oneALPHANUMERIC DECALS (SO FAR ONLY FOR CHESS ALGEBRAIC NOTATION)
+ + + diff --git a/code/game/objects/effects/decals/turfdecal/tilecoloring.html b/code/game/objects/effects/decals/turfdecal/tilecoloring.html new file mode 100644 index 00000000000..af7e713754e --- /dev/null +++ b/code/game/objects/effects/decals/turfdecal/tilecoloring.html @@ -0,0 +1,67 @@ + + + + + + + code/game/objects/effects/decals/turfdecal/tilecoloring.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/effects/decals/turfdecal/tilecoloring.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TILE_DECAL_SUBTYPE_HELPERAutomatically generates all subtypes for a decal with the given path.
/obj/effect/turf_decal/tile/blueBlue tiles
/obj/effect/turf_decal/tile/dark_blueDark blue tiles
/obj/effect/turf_decal/tile/greenGreen tiles
/obj/effect/turf_decal/tile/dark_greenDark green tiles
/obj/effect/turf_decal/tile/yellowYellow tiles
/obj/effect/turf_decal/tile/redRed tiles
/obj/effect/turf_decal/tile/dark_redDark red tiles
/obj/effect/turf_decal/tile/barBar tiles
/obj/effect/turf_decal/tile/purplePurple tiles
/obj/effect/turf_decal/tile/brownBrown tiles
/obj/effect/turf_decal/tile/neutralNeutral tiles
/obj/effect/turf_decal/tile/darkDark tiles
/obj/effect/turf_decal/tile/holidayDate-specific tiles
/obj/effect/turf_decal/tile/holiday/rainbowPattern tiles
/obj/effect/turf_decal/trimlineTrimlines
/obj/effect/turf_decal/trimline/tramTram trimlines
TRIMLINE_SUBTYPE_HELPERAutomatically generates all trimlines for a decal with the given path.
/obj/effect/turf_decal/trimline/whiteWhite trimlines
/obj/effect/turf_decal/trimline/redRed trimlines
/obj/effect/turf_decal/trimline/dark_redDark red trimlines
/obj/effect/turf_decal/trimline/greenGreen trimlines
/obj/effect/turf_decal/trimline/dark_greenDark green Trimlines
/obj/effect/turf_decal/trimline/blueBlue trimlines
/obj/effect/turf_decal/trimline/dark_blueDark blue trimlines
/obj/effect/turf_decal/trimline/yellowYellow trimlines
/obj/effect/turf_decal/trimline/purplePurple trimlines
/obj/effect/turf_decal/trimline/brownBrown trimlines
/obj/effect/turf_decal/trimline/neutralNeutral trimlines
/obj/effect/turf_decal/trimline/darkDark trimlines

Define Details

+

TILE_DECAL_SUBTYPE_HELPER + + + +

+

Automatically generates all subtypes for a decal with the given path.

TRIMLINE_SUBTYPE_HELPER + + + +

+

Automatically generates all trimlines for a decal with the given path.

+ + + diff --git a/code/game/objects/effects/effect_system/effects_other.html b/code/game/objects/effects/effect_system/effects_other.html new file mode 100644 index 00000000000..9b8b32e8452 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_other.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/effect_system/effects_other.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effects_other.dm + +

+ + +
/datum/effect_system/trail_follow///// Attach a trail to any object, that spawns when it moves (like for the jetpack) +just pass in the object to attach it to in set_up +Then do start() to start it and stop() to stop it, obviously +and don't call start() in a loop that will be repeated otherwise it'll get spammed!
+ + + diff --git a/code/game/objects/effects/effect_system/effects_water.html b/code/game/objects/effects/effect_system/effects_water.html new file mode 100644 index 00000000000..2460b7e3940 --- /dev/null +++ b/code/game/objects/effects/effect_system/effects_water.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/effect_system/effects_water.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/effects_water.dm + +

+ + +
/obj/effect/particle_effect/water/extinguisherExtinguisher snowflake
+ + + diff --git a/code/game/objects/effects/effect_system/fluid_spread/_fluid_spread.html b/code/game/objects/effects/effect_system/fluid_spread/_fluid_spread.html new file mode 100644 index 00000000000..12680127c23 --- /dev/null +++ b/code/game/objects/effects/effect_system/fluid_spread/_fluid_spread.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/effect_system/fluid_spread/_fluid_spread.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/fluid_spread/_fluid_spread.dm + +

+ + + + +
/datum/fluid_groupSMOKE SYSTEMS +A group of fluid objects.
/obj/effect/particle_effect/fluidA particle effect that belongs to a fluid group.
/datum/effect_system/fluid_spreadA factory which produces fluid groups.
+ + + diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.html b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.html new file mode 100644 index 00000000000..6eddfeb2dd8 --- /dev/null +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.html @@ -0,0 +1,60 @@ + + + + + + + code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
MINIMUM_FOAM_DILUTION_RANGEThe minimum foam range required to start diluting the reagents past the minimum dilution rate.
MINIMUM_FOAM_DILUTIONThe minumum foam-area based divisor used to decrease foam exposure volume.
FOAM_REAGENT_SCALEThe effective scaling of the reagents in the foam. (Total delivered at or below MINIMUM_FOAM_DILUTION)
/obj/effect/particle_effect/fluid/foam
/datum/effect_system/fluid_spread/foamA factory for foam fluid floods.
/obj/effect/particle_effect/fluid/foam/short_lifeA foam variant which dissipates quickly.
/obj/effect/particle_effect/fluid/foam/long_lifeA foam variant which lasts for an extended amount of time.
/datum/effect_system/fluid_spread/foam/longA factory which produces foam with an extended lifespan.
/obj/effect/particle_effect/fluid/foam/firefightingA variant of foam which absorbs plasma in the air if there is a fire.
/datum/effect_system/fluid_spread/foam/firefightingA factory which produces firefighting foam
/obj/effect/particle_effect/fluid/foam/metalA foam variant which
/datum/effect_system/fluid_spread/foam/metalA factory which produces aluminium metal foam.
/obj/structure/foamedmetalFOAM STRUCTURE. Formed by metal foams. Dense and opaque, but easy to break
/obj/effect/particle_effect/fluid/foam/metal/ironA speed modifier for how fast the wall is build +A metal foam variant which produces slightly sturdier walls.
/datum/effect_system/fluid_spread/foam/metal/ironA factory which produces iron metal foam.
/obj/structure/foamedmetal/ironA variant of metal foam walls with higher durability.
/obj/effect/particle_effect/fluid/foam/metal/smartA variant of metal foam which only produces walls at area boundaries.
/datum/effect_system/fluid_spread/foam/metal/smartA factory which produces smart aluminium metal foam.
/obj/effect/particle_effect/fluid/foam/metal/resinA foam variant which produces atmos resin walls.
/obj/structure/foamedmetal/resinAtmos Backpack Resin, transparent, prevents atmos and filters the air

Define Details

+

FOAM_REAGENT_SCALE + + +

+

The effective scaling of the reagents in the foam. (Total delivered at or below MINIMUM_FOAM_DILUTION)

MINIMUM_FOAM_DILUTION + + +

+

The minumum foam-area based divisor used to decrease foam exposure volume.

MINIMUM_FOAM_DILUTION_RANGE + + +

+

The minimum foam range required to start diluting the reagents past the minimum dilution rate.

+ + + diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html b/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html new file mode 100644 index 00000000000..45188a5604c --- /dev/null +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_smoke.html @@ -0,0 +1,50 @@ + + + + + + + code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/effect_system/fluid_spread/effects_smoke.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
/obj/effect/particle_effect/fluid/smokeA fluid which spreads through the air affecting every mob it engulfs.
/datum/effect_system/fluid_spread/smokeA factory which produces clouds of smoke.
/datum/effect_system/fluid_spread/smoke/transparentSame as the base type, but the smoke produced is not opaque
/obj/effect/particle_effect/fluid/smoke/transparentSame as the base type, but is not opaque.
/proc/do_smokeA helper proc used to spawn small puffs of smoke.
/obj/effect/particle_effect/fluid/smoke/quickSmoke that dissipates as quickly as possible.
/datum/effect_system/fluid_spread/smoke/quickA factory which produces smoke that dissipates as quickly as possible.
/obj/effect/particle_effect/fluid/smoke/badSmoke that makes you cough and reduces the power of lasers.
/datum/effect_system/fluid_spread/smoke/badA factory which produces smoke that makes you cough.
/obj/effect/particle_effect/fluid/smoke/bad/greenGreen smoke that makes you cough.
/datum/effect_system/fluid_spread/smoke/bad/greenA factory which produces green smoke that makes you cough.
/obj/effect/particle_effect/fluid/smoke/bad/blackBlack smoke that makes you cough. (Actually dark grey)
/datum/effect_system/fluid_spread/smoke/bad/blackA factory which produces black smoke that makes you cough.
/obj/effect/particle_effect/fluid/smoke/freezingLight blue, transparent smoke which is usually paired with a blast that chills every turf in the area.
/datum/effect_system/fluid_spread/smoke/freezingA factory which produces light blue, transparent smoke and a blast that chills every turf in the area.
/datum/effect_system/fluid_spread/smoke/freezing/deconA variant of the base freezing smoke formerly used by the vent decontamination event.
/obj/effect/particle_effect/fluid/smoke/sleepingSmoke which knocks you out if you breathe it in.
/datum/effect_system/fluid_spread/smoke/sleepingA factory which produces sleeping smoke.
/obj/effect/particle_effect/fluid/smoke/chemSmoke which contains reagents which it applies to everything it comes into contact with.
/proc/do_chem_smokeHelper to quickly create a cloud of reagent smoke
/datum/effect_system/fluid_spread/smoke/chemA factory which produces clouds of chemical bearing smoke.
/obj/effect/particle_effect/fluid/smoke/chem/quickA version of chemical smoke with a very short lifespan.
+ + + diff --git a/code/game/objects/effects/effects.html b/code/game/objects/effects/effects.html new file mode 100644 index 00000000000..1ffde618c19 --- /dev/null +++ b/code/game/objects/effects/effects.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/effects.dm + +

+ + +
/obj/effect/abstractThe abstract effect ignores even more effects and is often typechecked for atoms that should truly not be fucked with.
+ + + diff --git a/code/game/objects/effects/forcefields.html b/code/game/objects/effects/forcefields.html new file mode 100644 index 00000000000..1678ab56203 --- /dev/null +++ b/code/game/objects/effects/forcefields.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/effects/forcefields.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/forcefields.dm + +

+ + + + + + + +
/obj/effect/forcefield/wizardThe wizard's forcefield, summoned by forcewall
/obj/effect/forcefield/cultCult forcefields
/obj/effect/forcefield/cult/permanentA form of the cult forcefield that lasts permanently. +Used on the Shuttle 667.
/obj/effect/forcefield/mimeMime forcefields (invisible walls)
/obj/effect/forcefield/psychicPsyker forcefield
/obj/effect/forcefield/cosmic_fieldThe cosmic heretics forcefield
+ + + diff --git a/code/game/objects/effects/glowshroom.html b/code/game/objects/effects/glowshroom.html new file mode 100644 index 00000000000..ac3f32e393c --- /dev/null +++ b/code/game/objects/effects/glowshroom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/glowshroom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/glowshroom.dm + +

+ + +
/obj/structure/glowshroom/singleMapping object, a glowshroom that doesn't spread or die
+ + + diff --git a/code/game/objects/effects/info.html b/code/game/objects/effects/info.html new file mode 100644 index 00000000000..196706429d4 --- /dev/null +++ b/code/game/objects/effects/info.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/info.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/info.dm + +

+ + +
/obj/effect/abstract/infoAn info button that, when clicked, puts some text in the user's chat
+ + + diff --git a/code/game/objects/effects/landmarks.html b/code/game/objects/effects/landmarks.html new file mode 100644 index 00000000000..7c3169beb3c --- /dev/null +++ b/code/game/objects/effects/landmarks.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/effects/landmarks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/landmarks.dm + +

+ + + + +
/obj/effect/landmark/event_spawnGeneric event spawn points
/obj/effect/landmark/unit_test_bottom_leftMarks the bottom left of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
/obj/effect/landmark/unit_test_top_rightMarks the top right of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
+ + + diff --git a/code/game/objects/effects/landmarks/atmospherics_sanity_landmarks.html b/code/game/objects/effects/landmarks/atmospherics_sanity_landmarks.html new file mode 100644 index 00000000000..a96b87163f5 --- /dev/null +++ b/code/game/objects/effects/landmarks/atmospherics_sanity_landmarks.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/effects/landmarks/atmospherics_sanity_landmarks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/landmarks/atmospherics_sanity_landmarks.dm + +

+ + + + + + +
/obj/effect/landmark/atmospheric_sanityAtmospheric Sanity Landmark - base
/obj/effect/landmark/atmospheric_sanity/mark_all_station_areas_as_goalMarks ALL station areas as a goal, ignoring any other goals.
/obj/effect/landmark/atmospheric_sanity/start_areaMarks an area as a starting point for crawling atmospheric connectivity.
/obj/effect/landmark/atmospheric_sanity/goal_areaMarks an area as a goal for atmospheric connectivity; ignored if the map contains the mark all station areas landmark!
/obj/effect/landmark/atmospheric_sanity/ignore_areaMarks an area as ignored for purposes of default station connectivity.
+ + + diff --git a/code/game/objects/effects/lighting.html b/code/game/objects/effects/lighting.html new file mode 100644 index 00000000000..48b850dfec7 --- /dev/null +++ b/code/game/objects/effects/lighting.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/lighting.dm + +

+ + +
/obj/effect/dummy/lighting_objBasically, a fake object that emits light.
+ + + diff --git a/code/game/objects/effects/mines.html b/code/game/objects/effects/mines.html new file mode 100644 index 00000000000..1f78e436b2c --- /dev/null +++ b/code/game/objects/effects/mines.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/mines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/mines.dm + +

+ + +
/obj/effect/mine/shrapnelThese mines spawn pellet_clouds around them when triggered
+ + + diff --git a/code/game/objects/effects/overlays.html b/code/game/objects/effects/overlays.html new file mode 100644 index 00000000000..42e73017e6b --- /dev/null +++ b/code/game/objects/effects/overlays.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/overlays.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/overlays.dm + +

+ + +
/obj/effect/overlay/closet_doorDoor overlay for animating closets
+ + + diff --git a/code/game/objects/effects/particle_holder.html b/code/game/objects/effects/particle_holder.html new file mode 100644 index 00000000000..b12caf2e17e --- /dev/null +++ b/code/game/objects/effects/particle_holder.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/particle_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/particle_holder.dm + +

+ + +
/obj/effect/abstract/particle_holderobjects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once. +also because some objects do not display particles due to how their visuals are built
+ + + diff --git a/code/game/objects/effects/particles/note_particles.html b/code/game/objects/effects/particles/note_particles.html new file mode 100644 index 00000000000..9c4b6e4a73e --- /dev/null +++ b/code/game/objects/effects/particles/note_particles.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/particles/note_particles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/particles/note_particles.dm + +

+ + +
/particles/musical_notesmusical notes! Try to use these sparingly, gents.
+ + + diff --git a/code/game/objects/effects/particles/slime.html b/code/game/objects/effects/particles/slime.html new file mode 100644 index 00000000000..59a385df382 --- /dev/null +++ b/code/game/objects/effects/particles/slime.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/particles/slime.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/particles/slime.dm + +

+ + + +
/particles/slimeSlime particles.
/particles/slime/rainbowRainbow slime particles.
+ + + diff --git a/code/game/objects/effects/poster_demotivational.html b/code/game/objects/effects/poster_demotivational.html new file mode 100644 index 00000000000..6b2aea69dcf --- /dev/null +++ b/code/game/objects/effects/poster_demotivational.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/poster_demotivational.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/poster_demotivational.dm + +

+ + +
/obj/structure/sign/poster/traitor/festivesyndicate can get festive too
+ + + diff --git a/code/game/objects/effects/posters/poster.html b/code/game/objects/effects/posters/poster.html new file mode 100644 index 00000000000..e834d0a7a83 --- /dev/null +++ b/code/game/objects/effects/posters/poster.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/effects/posters/poster.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/posters/poster.dm + +

+ + + +
/obj/item/posterThe rolled up item form of a poster
/obj/structure/sign/posterThe structure form of a poster.
+ + + diff --git a/code/game/objects/effects/rcd.html b/code/game/objects/effects/rcd.html new file mode 100644 index 00000000000..adcbf9ffef3 --- /dev/null +++ b/code/game/objects/effects/rcd.html @@ -0,0 +1,34 @@ + + + + + + + code/game/objects/effects/rcd.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/effects/rcd.dm + +

+ + + + +
RCD_DESTRUCTIVE_SCAN_RANGEHow many tiles within player radius does it perform a rcd scan in
/proc/rcd_scanGlobal proc that generates RCD hologram in a range.

Define Details

+

RCD_DESTRUCTIVE_SCAN_RANGE + + +

+

How many tiles within player radius does it perform a rcd scan in

+ + + diff --git a/code/game/objects/effects/spawners/bombspawner.html b/code/game/objects/effects/spawners/bombspawner.html new file mode 100644 index 00000000000..371ab97d6e0 --- /dev/null +++ b/code/game/objects/effects/spawners/bombspawner.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/spawners/bombspawner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/spawners/bombspawner.dm + +

+ + +
/obj/effect/spawner/newbombSpawns a TTV.
+ + + diff --git a/code/game/objects/effects/spawners/random.html b/code/game/objects/effects/spawners/random.html new file mode 100644 index 00000000000..c7d6bd9af3c --- /dev/null +++ b/code/game/objects/effects/spawners/random.html @@ -0,0 +1,340 @@ + + + + + + + code/game/objects/effects/spawners/random/readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Random Spawners + +

+ + +
About +

Random spawners are an organized tool primarily for mapping to enhance replayability. The spawners can create objects, effects, and structures with different tweakable settings to get the desired outcome. You can make a spawner determine direction, rarity, number of items to spawn, pixel spacing between items, and even spread it over a large tile radius. This lets you control the atmosphere of a location. You could for instance spawn different piles of trash in maint or spawn decoration items for a room to give it more randomized flavor. The choice is yours!

+

(note the audience of this README is directed towards mappers who lack knowledge of coding)

+Variables +

The following variables are defined in code/game/objects/effects/spawners/random/random.dm that control how a spawner works.

+
    +
  • loot - a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
  • +
  • loot_type_path - this combines the subtypes AND type list with the loot list
  • +
  • loot_subtype_path - this combines ONLY the subtypes (excludes the loot_subtype_path) with the loot list
  • +
  • spawn_loot_count - how many items will be spawned
  • +
  • spawn_loot_double - if the same item can be spawned twice from the loot list
  • +
  • spawn_loot_split - whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
  • +
  • spawn_all_loot - whether the spawner should spawn all the loot in the list (ignores spawn_loot_count)
  • +
  • spawn_loot_chance - the chance for the spawner to create loot (ignores spawn_loot_count)
  • +
  • spawn_scatter_radius - determines how big of a range (in tiles) we should scatter things in
  • +
+

These variables are set to the following default values for the base random.dm object that all objects inherit from:

+
	/// these three loot values are all empty
+	var/list/loot
+	var/loot_type_path
+	var/loot_subtype_path
+
+	var/spawn_loot_count = 1 // by default one item will be selected from the loot list
+	var/spawn_loot_double = TRUE // by default duplicate items CAN be spawned from the loot list
+	var/spawn_loot_split = FALSE // by default items will NOT spread out on the same tile
+	var/spawn_all_loot = FALSE // by default the spawner will only spawn the number of items set in spawn_loot_count
+	var/spawn_loot_chance = 100 // by default the spawner has a 100% chance to spawn the item(s)
+	var/spawn_scatter_radius = 0 // by default the spawner will spawn the items ONLY on the tile it is on
+
+

However there are some categories that overwrite these default values so pay attention to the folder or category you group your spawner in. For instance the obj/effect/spawner/random/techstorage category overwrites the spawn_all_loot and the spawn_loot_split variables.

+
// Tech storage circuit board spawners
+/obj/effect/spawner/random/techstorage
+	name = "generic circuit board spawner"
+	spawn_loot_split = TRUE
+	spawn_all_loot = TRUE
+
+

This means any spawner you create under the techstorage will also have those variables set to that by default. This can be overridden quite easily just be resetting the variables back to the normal state like so:

+
/obj/effect/spawner/random/techstorage/data_disk
+	name = "data disk spawner"
+	spawn_all_loot = FALSE // now our loot won't all be spawned
+	loot = list(
+		/obj/item/disk/data = 49,
+		/obj/item/disk/nuclear/fake/obvious = 1,
+	)
+
+Template +

All the random spawners follow the same template format to keep things consistent and unison.

+
/obj/effect/spawner/random/INSERT_SPAWNER_GROUP/INSERT_SPAWNER_NAME
+	name = "INSERT_SPAWNER_NAME spawner"
+	loot = list(
+		/obj/item/PATH/INSERT_OBJ_1,
+		/obj/item/PATH/INSERT_OBJ_2,
+		/obj/item/PATH/INSERT_OBJ_3,
+	)
+
+

All the capitalized code is the parts where you are supposed to swap out with your objects like so:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+	)
+
+

Find the path to different objects and add them to the list but try to be consistent with the types of the object and the spawner. For example a medical spawner shouldn't have a emag in the loot list. (use an antag spawner for that instead!)

+Probability +

Be aware that the loot list uses a weighted chance formula to determine probability. So if there are no numbers set in the loot list then each object defaults to 1 and has the same probability to be selected. For our above example for the minor_healing spawner each medical item has a 1/3 chance to be spawned. But if we rearranged the values to this:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 2,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+	)
+
+

Then now suture has a 50% chance of being spawned (2/4), mesh has a 25% chance of being spawned (1/4), and gauze also has a 25% chance of being spawned (1/4). If we add another item into the mix then we get the following:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 2,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+		/obj/item/reagent_containers/syringe = 1,
+	)
+
+

Suture is 40% (2/5), Mesh is 20% (1/5), Gauze is 20% (1/5), and Syringe is 20% (1/5). A weighted list has the advantage of not needing to update every item in the list when adding a new item. If the list was based on a straight percent values, then each new item would require to manually go and edit ALL the items in the list. For big lists that would become very tedious. This is why we use weighted lists to determine probability!

+Style +

Here are some simple guidelines that you should stick to when making a new spawner:

+If ALL the items have the same chance, we should not set a weighted value to the item +

Do not put /obj/item/ = 1 unless other items have different spawn chances

+

Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 2,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+		/obj/item/reagent_containers/syringe = 1,
+	)
+
+

Also Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+		/obj/item/reagent_containers/syringe,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture = 1,
+		/obj/item/stack/medical/mesh = 1,
+		/obj/item/stack/medical/gauze = 1,
+		/obj/item/reagent_containers/syringe = 1,
+	)
+
+Sort the list from highest probability to lowest +

Sort from top to bottom. The rarest items for your spawner should be at the bottom of the list.

+

Good:

+
/obj/effect/spawner/random/contraband/armory
+	name = "armory loot spawner"
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/grenade/clusterbuster/teargas = 2,
+		/obj/item/grenade/clusterbuster = 2,
+		/obj/item/gun/ballistic/automatic/pistol/deagle = 1,
+		/obj/item/gun/ballistic/revolver/mateba = 1,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/contraband/armory
+	name = "armory loot spawner"
+	loot = list(
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/revolver/mateba = 1,
+		/obj/item/grenade/clusterbuster/teargas = 2,
+		/obj/item/gun/ballistic/automatic/pistol/deagle = 1,
+		/obj/item/grenade/clusterbuster = 2,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+	)
+
+Always put the loot list at the bottom of your spawner +

This is just to keep things organized.

+

Good:

+
/obj/effect/spawner/random/food_or_drink/donkpockets
+	name = "donk pocket box spawner"
+	spawn_loot_double = FALSE
+	loot = list(
+		/obj/item/storage/box/donkpockets/donkpocketspicy,
+		/obj/item/storage/box/donkpockets/donkpocketteriyaki,
+		/obj/item/storage/box/donkpockets/donkpocketpizza,
+		/obj/item/storage/box/donkpockets/donkpocketberry,
+		/obj/item/storage/box/donkpockets/donkpockethonk,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/food_or_drink/donkpockets
+	name = "donk pocket box spawner"
+	loot = list(
+		/obj/item/storage/box/donkpockets/donkpocketspicy,
+		/obj/item/storage/box/donkpockets/donkpocketteriyaki,
+		/obj/item/storage/box/donkpockets/donkpocketpizza,
+		/obj/item/storage/box/donkpockets/donkpocketberry,
+		/obj/item/storage/box/donkpockets/donkpockethonk,
+	)
+	spawn_loot_double = FALSE
+
+Always put a comma at the last item in the loot list +

This will make it easier for people to add items to your spawner later without getting frustrating code errors.

+

Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze  // if someone adds an item to the list later it will cause an error
+	)
+
+Keep the same tab formatting for the loot list (unless there is only one item) +

Again, this is just good code organization. If there is only one item, then encase that item in loot = list(item)

+

Good:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+		/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,
+	)
+
+

Also Good:

+
/obj/effect/spawner/random/structure/crate_abandoned
+	icon = 'icons/effects/landmarks_static.dmi'
+	icon_state = "loot_site"
+	spawn_loot_chance = 20
+	loot = list(/obj/structure/closet/crate/secure/loot)
+
+

Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(
+	/obj/item/stack/medical/suture,
+	/obj/item/stack/medical/mesh,
+	/obj/item/stack/medical/gauze,
+	)
+
+

Also Bad:

+
/obj/effect/spawner/random/medical/minor_healing
+	name = "minor healing spawner"
+	loot = list(/obj/item/stack/medical/suture,
+		/obj/item/stack/medical/mesh,
+		/obj/item/stack/medical/gauze,)
+
+Try to keep the total combined weight of your loot list to sane values (Aim for 5, 10, 20, 50, or 100) +

This makes the math probability easier for people to calculate. (this is recommended, but not always possible)

+

Good:

+
/obj/effect/spawner/random/trash/cigbutt
+	name = "cigarette butt spawner"
+	loot = list(
+		/obj/item/cigbutt = 65,
+		/obj/item/cigbutt/roach = 20,
+		/obj/item/cigbutt/cigarbutt = 15,
+	)
+
+

Also Good:

+
/obj/effect/spawner/random/trash/botanical_waste
+	name = "botanical waste spawner"
+	loot = list(
+		/obj/item/grown/bananapeel = 6,
+		/obj/item/grown/corncob = 3,
+		/obj/item/food/grown/bungopit = 1,
+	)
+
+

Bad:

+
/obj/effect/spawner/random/entertainment/money_large
+	name = "large money spawner"
+	loot = list(
+		/obj/item/stack/spacecash/c1 = 521,
+		/obj/item/stack/spacecash/c10 = 378,
+		/obj/item/stack/spacecash/c20 = 212,
+		/obj/item/stack/spacecash/c50 = 205,
+		/obj/item/stack/spacecash/c100 = 71,
+		/obj/item/stack/spacecash/c200 = 60,
+		/obj/item/stack/spacecash/c500 = 57,
+		/obj/item/stack/spacecash/c1000 = 41,
+		/obj/item/stack/spacecash/c10000 = 12,
+	)
+
+Do not put empty items in the loot list +

Instead use the spawn_loot_chance var to control the chance for the spawner to spawn nothing.

+

Good:

+
/obj/effect/spawner/random/structure/crate_abandoned
+	name = "locked crate spawner"
+	spawn_loot_chance = 20
+	loot = list(/obj/structure/closet/crate/secure/loot)
+
+

Bad:

+
/obj/effect/spawner/lootdrop/crate_spawner
+	name = "lootcrate spawner"
+	loot = list(
+		"" = 80
+		/obj/structure/closet/crate/secure/loot = 20,
+	)
+
+Avoid making a spawner that is a duplicate +

We don't want copy-cat spawners that are almost identical. Instead merge spawners together if possible.

+

Good:

+
/obj/effect/spawner/random/contraband/armory
+	name = "armory loot spawner"
+	icon_state = "pistol"
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/grenade/clusterbuster/teargas = 2,
+		/obj/item/grenade/clusterbuster = 2,
+		/obj/item/gun/ballistic/automatic/pistol/deagle,
+		/obj/item/gun/ballistic/revolver/mateba,
+	)
+
+

Bad:

+
/obj/effect/spawner/lootdrop/armory_contraband
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/gun/ballistic/automatic/pistol/deagle,
+		/obj/item/gun/ballistic/revolver/mateba
+	)
+
+/obj/effect/spawner/lootdrop/armory_contraband/metastation
+	loot = list(
+		/obj/item/gun/ballistic/automatic/pistol = 8,
+		/obj/item/gun/ballistic/shotgun/automatic/combat = 5,
+		/obj/item/storage/box/syndie_kit/throwing_weapons = 3,
+		/obj/item/gun/ballistic/automatic/pistol/deagle,
+		/obj/item/gun/ballistic/revolver/mateba
+	)
+
+
+ + + diff --git a/code/game/objects/effects/spawners/random/ai_module.html b/code/game/objects/effects/spawners/random/ai_module.html new file mode 100644 index 00000000000..7faccce6e44 --- /dev/null +++ b/code/game/objects/effects/spawners/random/ai_module.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/spawners/random/ai_module.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/spawners/random/ai_module.dm + +

+ + +
/obj/effect/spawner/random/aimodule/harmlessAI uploads have the ai_module/reset , ai_module/supplied/freeform , ai_module/reset/purge , and ai_module/core/full/asimov directly mapped in
+ + + diff --git a/code/game/objects/effects/spawners/random/food_or_drink.html b/code/game/objects/effects/spawners/random/food_or_drink.html new file mode 100644 index 00000000000..03aa3c83922 --- /dev/null +++ b/code/game/objects/effects/spawners/random/food_or_drink.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/spawners/random/food_or_drink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/spawners/random/food_or_drink.dm + +

+ + +
/obj/effect/spawner/random/food_or_drink/cake_ingredientsUsed for the employee birthday station trait
+ + + diff --git a/code/game/objects/effects/spawners/random/lavaland_mobs.html b/code/game/objects/effects/spawners/random/lavaland_mobs.html new file mode 100644 index 00000000000..ccc3917605a --- /dev/null +++ b/code/game/objects/effects/spawners/random/lavaland_mobs.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/effects/spawners/random/lavaland_mobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/spawners/random/lavaland_mobs.dm + +

+ + + + + +
/obj/effect/spawner/random/lavaland_mobFor map generation, has a chance to instantiate as a special subtype
/obj/effect/spawner/random/lavaland_mob/watcherSpawns random watcher variants during map generation
/obj/effect/spawner/random/lavaland_mob/goliathSpawns random goliath variants during map generation
/obj/effect/spawner/random/lavaland_mob/legionSpawns random legion variants during map generation
+ + + diff --git a/code/game/objects/effects/spawners/random/random.html b/code/game/objects/effects/spawners/random/random.html new file mode 100644 index 00000000000..baa548c52da --- /dev/null +++ b/code/game/objects/effects/spawners/random/random.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/spawners/random/random.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/spawners/random/random.dm + +

+ + +
/obj/effect/spawner/randomBase class for all random spawners.
+ + + diff --git a/code/game/objects/effects/temporary_visuals/effect_trail.html b/code/game/objects/effects/temporary_visuals/effect_trail.html new file mode 100644 index 00000000000..d0e789a7885 --- /dev/null +++ b/code/game/objects/effects/temporary_visuals/effect_trail.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/temporary_visuals/effect_trail.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/temporary_visuals/effect_trail.dm + +

+ + +
/obj/effect/temp_visual/effect_trailAn invisible effect which chases a target, spawning spikes every so often.
+ + + diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.html b/code/game/objects/effects/temporary_visuals/miscellaneous.html new file mode 100644 index 00000000000..16e682156f1 --- /dev/null +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/temporary_visuals/miscellaneous.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/temporary_visuals/miscellaneous.dm + +

+ + +
/obj/effect/temp_visual/hive_spawn_witherPlays a dispersing animation on hivelord and legion minions so they don't just vanish
+ + + diff --git a/code/game/objects/effects/temporary_visuals/temporary_visual.html b/code/game/objects/effects/temporary_visuals/temporary_visual.html new file mode 100644 index 00000000000..e7ee7a4da3b --- /dev/null +++ b/code/game/objects/effects/temporary_visuals/temporary_visual.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/effects/temporary_visuals/temporary_visual.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/effects/temporary_visuals/temporary_visual.dm + +

+ + +
/obj/effect/temp_visualtemporary visual effects
+ + + diff --git a/code/game/objects/items.html b/code/game/objects/items.html new file mode 100644 index 00000000000..28ffffbf1ea --- /dev/null +++ b/code/game/objects/items.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items.dm + +

+ + + +
/obj/itemAnything you can pick up and hold.
MAX_MATS_PER_BITEHow many different types of mats will be counted in a bite?

Define Details

+

MAX_MATS_PER_BITE + + +

+

How many different types of mats will be counted in a bite?

+ + + diff --git a/code/game/objects/items/AI_modules/_AI_modules.html b/code/game/objects/items/AI_modules/_AI_modules.html new file mode 100644 index 00000000000..595efb37ec6 --- /dev/null +++ b/code/game/objects/items/AI_modules/_AI_modules.html @@ -0,0 +1,34 @@ + + + + + + + code/game/objects/items/AI_modules/_AI_modules.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/AI_modules/_AI_modules.dm + +

+ + + +
SHOULD_QDEL_MODULEdefined truthy result for handle_unique_ai(), which makes initialize return INITIALIZE_HINT_QDEL
/obj/item/ai_module/core/round_default_fallbackWhen the default lawset spawner cannot find a module object to spawn, it will spawn this, and this sets itself to the round default. +This is so /datum/lawsets can be picked even if they have no module for themselves.

Define Details

+

SHOULD_QDEL_MODULE + + +

+

defined truthy result for handle_unique_ai(), which makes initialize return INITIALIZE_HINT_QDEL

+ + + diff --git a/code/game/objects/items/AI_modules/hacked.html b/code/game/objects/items/AI_modules/hacked.html new file mode 100644 index 00000000000..2fb88b76920 --- /dev/null +++ b/code/game/objects/items/AI_modules/hacked.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/AI_modules/hacked.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/AI_modules/hacked.dm + +

+ + +
/obj/item/ai_module/malfMakes the AI Malf, as well as give it syndicate laws.
+ + + diff --git a/code/game/objects/items/broom.html b/code/game/objects/items/broom.html new file mode 100644 index 00000000000..7b9b1a5f5c2 --- /dev/null +++ b/code/game/objects/items/broom.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/broom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/broom.dm + +

+ + +
BROOM_PUSH_LIMITMax number of atoms a broom can sweep at once

Define Details

+

BROOM_PUSH_LIMIT + + +

+

Max number of atoms a broom can sweep at once

+ + + diff --git a/code/game/objects/items/cards_ids.html b/code/game/objects/items/cards_ids.html new file mode 100644 index 00000000000..ec89eaaff35 --- /dev/null +++ b/code/game/objects/items/cards_ids.html @@ -0,0 +1,50 @@ + + + + + + + code/game/objects/items/cards_ids.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/cards_ids.dm + +

+ + + + + + + +
ID_ICON_BORDERSx1, y1, x2, y2 - Represents the bounding box for the ID card's non-transparent portion of its various icon_states. +Used to crop the ID card's transparency away when chaching the icon for better use in tgui chat.
INTERN_THRESHOLD_FALLBACK_HOURSFallback time if none of the config entries are set for USE_LOW_LIVING_HOUR_INTERN
HOLOPAY_PROJECTION_INTERVALMax time interval between projecting holopays
/obj/item/card/id"Retro" ID card that renders itself as the icon state with no overlays.
/obj/item/card/id/advanced/chameleon/blackA special variant of the classic chameleon ID card which accepts all access.
/obj/item/card/cardboardA fake ID card any silly-willy can craft with wirecutters, cardboard and a writing utensil +Beside the gimmick of changing the visible name when worn, they do nothing. They cannot have an account. +They don't fit in PDAs nor wallets, They have no access. They won't trick securitrons. They won't work with chameleon masks. +Etcetera etcetera. Furthermore, talking, or getting examined on will pretty much give it away.

Define Details

+

HOLOPAY_PROJECTION_INTERVAL + + +

+

Max time interval between projecting holopays

ID_ICON_BORDERS + + +

+

x1, y1, x2, y2 - Represents the bounding box for the ID card's non-transparent portion of its various icon_states. +Used to crop the ID card's transparency away when chaching the icon for better use in tgui chat.

INTERN_THRESHOLD_FALLBACK_HOURS + + +

+

Fallback time if none of the config entries are set for USE_LOW_LIVING_HOUR_INTERN

+ + + diff --git a/code/game/objects/items/devices/aicard_evil.html b/code/game/objects/items/devices/aicard_evil.html new file mode 100644 index 00000000000..6f53345ba83 --- /dev/null +++ b/code/game/objects/items/devices/aicard_evil.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/aicard_evil.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/aicard_evil.dm + +

+ + + +
/obj/item/aicard/syndieOne use AI card which downloads a ghost as a syndicate AI to put in your MODsuit
/obj/item/computer_disk/syndie_ai_upgradeUpgrade disk used to increase the range of a syndicate AI
+ + + diff --git a/code/game/objects/items/devices/anomaly_releaser.html b/code/game/objects/items/devices/anomaly_releaser.html new file mode 100644 index 00000000000..e4906c3a8f4 --- /dev/null +++ b/code/game/objects/items/devices/anomaly_releaser.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/anomaly_releaser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/anomaly_releaser.dm + +

+ + +
/obj/item/anomaly_releaserUse on an anomaly core to "awake" the anomaly and stabilize it
+ + + diff --git a/code/game/objects/items/devices/multitool.html b/code/game/objects/items/devices/multitool.html new file mode 100644 index 00000000000..23afca0c13a --- /dev/null +++ b/code/game/objects/items/devices/multitool.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/multitool.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/multitool.dm + +

+ + +
/obj/item/multitoolMultitool -- A multitool is used for hacking electronic devices.
+ + + diff --git a/code/game/objects/items/devices/powersink.html b/code/game/objects/items/devices/powersink.html new file mode 100644 index 00000000000..0b4f846bb04 --- /dev/null +++ b/code/game/objects/items/devices/powersink.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/powersink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/powersink.dm + +

+ + +
/obj/item/powersinkStop warning spam, only warn the admins/deadchat once that we are about to boom.
+ + + diff --git a/code/game/objects/items/devices/radio/radio.html b/code/game/objects/items/devices/radio/radio.html new file mode 100644 index 00000000000..8a8d7cefc6e --- /dev/null +++ b/code/game/objects/items/devices/radio/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/devices/radio/radio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/radio/radio.dm + +

+ + +
/obj/item/radio/borgBorg Radios
+ + + diff --git a/code/game/objects/items/devices/scanners/gas_analyzer.html b/code/game/objects/items/devices/scanners/gas_analyzer.html new file mode 100644 index 00000000000..a8335ac6818 --- /dev/null +++ b/code/game/objects/items/devices/scanners/gas_analyzer.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/scanners/gas_analyzer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/scanners/gas_analyzer.dm + +

+ + + +
/proc/atmos_scanOutputs a message to the user describing the target's gasmixes.
+ + + diff --git a/code/game/objects/items/devices/scanners/health_analyzer.html b/code/game/objects/items/devices/scanners/health_analyzer.html new file mode 100644 index 00000000000..8fc4166caa3 --- /dev/null +++ b/code/game/objects/items/devices/scanners/health_analyzer.html @@ -0,0 +1,40 @@ + + + + + + + code/game/objects/items/devices/scanners/health_analyzer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/scanners/health_analyzer.dm + +

+ + + + + + + +
/proc/healthscanhealthscan +returns a list of everything a health scan should give to a player. +Examples of where this is used is Health Analyzer and the Physical Scanner tablet app. +Args: +user - The person with the scanner +target - The person being scanned +mode - Uses SCANNER_CONDENSED or SCANNER_VERBOSE to decide whether to give a list of all individual limb damage +advanced - Whether it will give more advanced details, such as husk source. +tochat - Whether to immediately post the result into the chat of the user, otherwise it will return the results.
/proc/woundscanDisplays wounds with extended information on their status vs medscanners
/proc/diseasescanChecks the individual for any diseases that are visible to the scanner, and displays the diseases in the attacked to the attacker.
+ + + diff --git a/code/game/objects/items/devices/table_clock.html b/code/game/objects/items/devices/table_clock.html new file mode 100644 index 00000000000..06d009c6632 --- /dev/null +++ b/code/game/objects/items/devices/table_clock.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/devices/table_clock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/devices/table_clock.dm + +

+ + +
MAX_CLOCK_REPAIRSMaximum amount of times a clock can be repaired until it's destroyed beyond repair.

Define Details

+

MAX_CLOCK_REPAIRS + + +

+

Maximum amount of times a clock can be repaired until it's destroyed beyond repair.

+ + + diff --git a/code/game/objects/items/devices/traitordevices.html b/code/game/objects/items/devices/traitordevices.html new file mode 100644 index 00000000000..db3b790609e --- /dev/null +++ b/code/game/objects/items/devices/traitordevices.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/devices/traitordevices.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/devices/traitordevices.dm + +

+ + + +
/proc/is_within_radio_jammer_rangeChecks if a given atom is in range of a radio jammer, returns TRUE if it is.
+ + + diff --git a/code/game/objects/items/dice.html b/code/game/objects/items/dice.html new file mode 100644 index 00000000000..50ee8033605 --- /dev/null +++ b/code/game/objects/items/dice.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/dice.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/dice.dm + +

+ + + +
/obj/item/storage/diceholding bag for dice
/obj/item/dicethis is a prototype for dice, for a real d6 use "/obj/item/dice/d6"
+ + + diff --git a/code/game/objects/items/dna_injector.html b/code/game/objects/items/dna_injector.html new file mode 100644 index 00000000000..4b276f47a48 --- /dev/null +++ b/code/game/objects/items/dna_injector.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/dna_injector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/dna_injector.dm + +

+ + +
/obj/item/dnainjector/acidfleshDNA INJECTORS
+ + + diff --git a/code/game/objects/items/dna_probe.html b/code/game/objects/items/dna_probe.html new file mode 100644 index 00000000000..15a4dc3f0ab --- /dev/null +++ b/code/game/objects/items/dna_probe.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/dna_probe.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/dna_probe.dm + +

+ + + +
/obj/item/dna_probeDNA Probe
/obj/item/dna_probe/carp_scannerUsed for scanning carps, and then turning yourself into one.
+ + + diff --git a/code/game/objects/items/food/_food.html b/code/game/objects/items/food/_food.html new file mode 100644 index 00000000000..d24e613269c --- /dev/null +++ b/code/game/objects/items/food/_food.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/_food.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/_food.dm + +

+ + +
/obj/item/foodAbstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components
+ + + diff --git a/code/game/objects/items/food/bait.html b/code/game/objects/items/food/bait.html new file mode 100644 index 00000000000..5280f18b3b0 --- /dev/null +++ b/code/game/objects/items/food/bait.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/food/bait.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/bait.dm + +

+ + +
/obj/item/food/bait/doughball/syntheticBound to the tech fishing rod, from which cannot be removed, +Bait-related preferences and traits, both negative and positive, +should be ignored by this bait. +Otherwise it'd be hard/impossible to cath some fish with it, +making that rod a shoddy choice in the long run.
+ + + diff --git a/code/game/objects/items/food/bread.html b/code/game/objects/items/food/bread.html new file mode 100644 index 00000000000..b844abb07f4 --- /dev/null +++ b/code/game/objects/items/food/bread.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/food/bread.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/bread.dm + +

+ + + +
/obj/item/food/breadAbstract parent object for bread items. Should not be made obtainable in game.
/obj/item/food/baguette/combatDeadly bread used by a mime
+ + + diff --git a/code/game/objects/items/food/cheese.html b/code/game/objects/items/food/cheese.html new file mode 100644 index 00000000000..3d01349384d --- /dev/null +++ b/code/game/objects/items/food/cheese.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/cheese.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/cheese.dm + +

+ + +
/obj/item/food/cheeseEverything that is a subclass of this counts as cheese for regal rats.
+ + + diff --git a/code/game/objects/items/food/donkpocket.html b/code/game/objects/items/food/donkpocket.html new file mode 100644 index 00000000000..ebe1eb732ff --- /dev/null +++ b/code/game/objects/items/food/donkpocket.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/donkpocket.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/donkpocket.dm + +

+ + +
/obj/item/food/donkpocketDONK POCKETS
+ + + diff --git a/code/game/objects/items/food/donuts.html b/code/game/objects/items/food/donuts.html new file mode 100644 index 00000000000..2020058dade --- /dev/null +++ b/code/game/objects/items/food/donuts.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/food/donuts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/donuts.dm + +

+ + + +
/obj/item/food/donut/jellyJELLY DONUTS
/obj/item/food/donut/jelly/slimejellySLIME DONUTS
+ + + diff --git a/code/game/objects/items/food/egg.html b/code/game/objects/items/food/egg.html new file mode 100644 index 00000000000..65659038108 --- /dev/null +++ b/code/game/objects/items/food/egg.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/egg.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/egg.dm + +

+ + +
/obj/item/food/chocolateeggEGGS
+ + + diff --git a/code/game/objects/items/food/meatdish.html b/code/game/objects/items/food/meatdish.html new file mode 100644 index 00000000000..ea6726d6306 --- /dev/null +++ b/code/game/objects/items/food/meatdish.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/food/meatdish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/meatdish.dm + +

+ + + + + + +
/obj/item/food/cubancarpFISH
/obj/item/food/fishmeat/donkfishdonkfish fillets. The yuck reagent is now added by the fish trait of the same name.
/obj/item/food/tempehMEATS AND ALIKE
/obj/item/food/patty/plainExists purely for the crafting recipe (because itll take subtypes)
/obj/item/food/kebabKEBABS AND OTHER SKEWERS
+ + + diff --git a/code/game/objects/items/food/meatslab.html b/code/game/objects/items/food/meatslab.html new file mode 100644 index 00000000000..a98efc4b7a6 --- /dev/null +++ b/code/game/objects/items/food/meatslab.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/food/meatslab.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/meatslab.dm + +

+ + + + + +
/obj/item/food/meat/slab/humanHUMAN MEATS
/obj/item/food/meat/slab/synthmeatOTHER MEATS
/obj/item/food/meat/steakMEAT STEAKS
/obj/item/food/meat/rawcutletMEAT CUTLETS
+ + + diff --git a/code/game/objects/items/food/misc.html b/code/game/objects/items/food/misc.html new file mode 100644 index 00000000000..647465469a6 --- /dev/null +++ b/code/game/objects/items/food/misc.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/misc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/misc.dm + +

+ + +
/obj/item/food/watermelonsliceOTHER
+ + + diff --git a/code/game/objects/items/food/monkeycube.html b/code/game/objects/items/food/monkeycube.html new file mode 100644 index 00000000000..62fd1216024 --- /dev/null +++ b/code/game/objects/items/food/monkeycube.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/monkeycube.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/monkeycube.dm + +

+ + +
/obj/item/food/monkeycube/syndicateinternal proc called by a monkeycube's suicide_act using a timer and callback. takes as argument the mob/living who activated the suicide
+ + + diff --git a/code/game/objects/items/food/pastries.html b/code/game/objects/items/food/pastries.html new file mode 100644 index 00000000000..6bf75ce9263 --- /dev/null +++ b/code/game/objects/items/food/pastries.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/food/pastries.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/pastries.dm + +

+ + + + +
/obj/item/food/muffinMUFFINS
/obj/item/food/wafflesWAFFLES
/obj/item/food/cookieOTHER
+ + + diff --git a/code/game/objects/items/food/salad.html b/code/game/objects/items/food/salad.html new file mode 100644 index 00000000000..bd5a161c87a --- /dev/null +++ b/code/game/objects/items/food/salad.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/salad.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/salad.dm + +

+ + +
/obj/item/food/saladSALAD
+ + + diff --git a/code/game/objects/items/food/snacks.html b/code/game/objects/items/food/snacks.html new file mode 100644 index 00000000000..ede90cd6160 --- /dev/null +++ b/code/game/objects/items/food/snacks.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/snacks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/snacks.dm + +

+ + +
/obj/item/food/candySNACKS FROM VENDING MACHINES
+ + + diff --git a/code/game/objects/items/food/spaghetti.html b/code/game/objects/items/food/spaghetti.html new file mode 100644 index 00000000000..b8df81f807c --- /dev/null +++ b/code/game/objects/items/food/spaghetti.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/food/spaghetti.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/food/spaghetti.dm + +

+ + +
/obj/item/food/spaghettispaghetti prototype used by all subtypes
+ + + diff --git a/code/game/objects/items/gift.html b/code/game/objects/items/gift.html new file mode 100644 index 00000000000..3629898f36c --- /dev/null +++ b/code/game/objects/items/gift.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/gift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/gift.dm + +

+ + + +
/obj/item/giftGifts to give to players, will contain a nice toy or other fun item for them to play with.
/obj/item/gift/anythingGifts that typically only very OP stuff or admins or Santa Claus himself should be giving out, as they contain ANY valid subtype of /obj/item, including stuff like instagib rifles. Wow!
+ + + diff --git a/code/game/objects/items/granters/_granters.html b/code/game/objects/items/granters/_granters.html new file mode 100644 index 00000000000..e2b5e0cd0dd --- /dev/null +++ b/code/game/objects/items/granters/_granters.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/granters/_granters.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/granters/_granters.dm + +

+ + +
/obj/item/book/granterBooks that teach things.
+ + + diff --git a/code/game/objects/items/granters/chuuni_granter.html b/code/game/objects/items/granters/chuuni_granter.html new file mode 100644 index 00000000000..a3f1fd92b50 --- /dev/null +++ b/code/game/objects/items/granters/chuuni_granter.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/granters/chuuni_granter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/granters/chuuni_granter.dm + +

+ + +
/obj/item/book/granter/chuunibyouTurns the user into a chuunibyou.
+ + + diff --git a/code/game/objects/items/granters/magic/_spell_granter.html b/code/game/objects/items/granters/magic/_spell_granter.html new file mode 100644 index 00000000000..792c1fe4ff4 --- /dev/null +++ b/code/game/objects/items/granters/magic/_spell_granter.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/granters/magic/_spell_granter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/granters/magic/_spell_granter.dm + +

+ + + +
/obj/item/book/granter/action/spell/randomSimple granter that's replaced with a random spell granter on Initialize.
/obj/item/book/granter/action/spell/true_randomA more volatile granter that can potentially have any spell within. Use wisely.
+ + + diff --git a/code/game/objects/items/granters/sign_language.html b/code/game/objects/items/granters/sign_language.html new file mode 100644 index 00000000000..6188ea8d2ff --- /dev/null +++ b/code/game/objects/items/granters/sign_language.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/granters/sign_language.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/granters/sign_language.dm + +

+ + +
/obj/item/book/granter/sign_languageSign language book adds the sign language component to the reading Human. +Grants reader the ability to toggle sign language using a HUD button.
+ + + diff --git a/code/game/objects/items/grenades/_grenade.html b/code/game/objects/items/grenades/_grenade.html new file mode 100644 index 00000000000..473c59f9c56 --- /dev/null +++ b/code/game/objects/items/grenades/_grenade.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/grenades/_grenade.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/grenades/_grenade.dm + +

+ + +
/obj/item/grenadeBase class for all grenades.
+ + + diff --git a/code/game/objects/items/grenades/chem_grenade.html b/code/game/objects/items/grenades/chem_grenade.html new file mode 100644 index 00000000000..0ff58dcd423 --- /dev/null +++ b/code/game/objects/items/grenades/chem_grenade.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/grenades/chem_grenade.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/grenades/chem_grenade.dm + +

+ + +
/obj/item/grenade/chem_grenade/metalfoamPREMADE GRENADES
+ + + diff --git a/code/game/objects/items/grenades/smokebomb.html b/code/game/objects/items/grenades/smokebomb.html new file mode 100644 index 00000000000..34147d39aff --- /dev/null +++ b/code/game/objects/items/grenades/smokebomb.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/grenades/smokebomb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/grenades/smokebomb.dm + +

+ + +
/obj/item/grenade/smokebombThis is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality. +It menaces with spikes of iron. On it is a depiction of an assistant. +The assistant is bleeding. The assistant has a painful expression. The assistant is dead.
+ + + diff --git a/code/game/objects/items/hand_items.html b/code/game/objects/items/hand_items.html new file mode 100644 index 00000000000..a3320b2bbdb --- /dev/null +++ b/code/game/objects/items/hand_items.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/hand_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/hand_items.dm + +

+ + +
/obj/item/hand_itemFor all of the items that are really just the user's hand used in different ways, mostly (all, really) from emotes
+ + + diff --git a/code/game/objects/items/handcuffs.html b/code/game/objects/items/handcuffs.html new file mode 100644 index 00000000000..270afdefa7f --- /dev/null +++ b/code/game/objects/items/handcuffs.html @@ -0,0 +1,49 @@ + + + + + + + code/game/objects/items/handcuffs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/handcuffs.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + +
/obj/item/restraintsParent class for handcuffs and handcuff accessories
/obj/item/restraints/handcuffsStuff that makes humans unable to use hands
/obj/item/restraints/handcuffs/alienAbductor reskin of the handcuffs.
/obj/item/restraints/handcuffs/fakeFake handcuffs that can be removed near-instantly.
/obj/item/restraints/handcuffs/cableGhetto handcuffs. Removing those is faster.
/obj/item/restraints/handcuffs/cable/sinewPrimal ghetto handcuffs
/obj/item/restraints/handcuffs/cable/redRed cable restraints
/obj/item/restraints/handcuffs/cable/yellowYellow cable restraints
/obj/item/restraints/handcuffs/cable/blueBlue cable restraints
/obj/item/restraints/handcuffs/cable/greenGreen cable restraints
/obj/item/restraints/handcuffs/cable/pinkPink cable restraints
/obj/item/restraints/handcuffs/cable/orangeOrange (the color) cable restraints
/obj/item/restraints/handcuffs/cable/cyanCyan cable restraints
/obj/item/restraints/handcuffs/cable/whiteWhite cable restraints
/obj/item/restraints/handcuffs/cable/ziptiesOne-use handcuffs that take 45 seconds to resist out of instead of one minute. This turns into the used version when applied.
/obj/item/restraints/handcuffs/cable/zipties/usedWhat zipties turn into when applied. These can't be used to cuff people.
/obj/item/restraints/handcuffs/cable/zipties/fakeOne-use handcuffs that is very easy to break out of, meant as a one-use alternative to regular fake handcuffs.
/obj/item/restraints/legcuffsParent class for everything that can legcuff carbons. Can't legcuff anything itself.
/obj/item/restraints/legcuffs/beartrapThis opens, closes, and bites people's legs.
/obj/item/restraints/legcuffs/beartrap/energyThis closes on people's legs.
/obj/item/restraints/legcuffs/bola/tacticalA traitor variant of the bola.
/obj/item/restraints/legcuffs/bola/energyA security variant of the bola.
/obj/item/restraints/legcuffs/bola/gonbolaA pacifying variant of the bola.
+ + + diff --git a/code/game/objects/items/implants/implant.html b/code/game/objects/items/implants/implant.html new file mode 100644 index 00000000000..7fc328d840b --- /dev/null +++ b/code/game/objects/items/implants/implant.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/implant.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/implant.dm + +

+ + +
/obj/item/implantParent class for all implants
+ + + diff --git a/code/game/objects/items/implants/implant_clown.html b/code/game/objects/items/implants/implant_clown.html new file mode 100644 index 00000000000..aedb4d00a9f --- /dev/null +++ b/code/game/objects/items/implants/implant_clown.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/implants/implant_clown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/implant_clown.dm + +

+ + + + +
/obj/item/implant/sad_tromboneA passive implant that plays sound/misc/sadtrombone.ogg when you deathgasp for any reason
/obj/item/implanter/sad_tromboneImplanter that spawns with a sad trombone implant, as well as an appropriate name
/obj/item/implantcase/sad_tromboneImplant case that spawns with a sad trombone implant, as well as an appropriate name and description
+ + + diff --git a/code/game/objects/items/implants/implant_explosive.html b/code/game/objects/items/implants/implant_explosive.html new file mode 100644 index 00000000000..b7edabac203 --- /dev/null +++ b/code/game/objects/items/implants/implant_explosive.html @@ -0,0 +1,38 @@ + + + + + + + code/game/objects/items/implants/implant_explosive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/implants/implant_explosive.dm + +

+ + + + +
MICROBOMB_DELAYNote that we can stack explosive implants and thus increase the payload's devastation radius. (https://github.com/tgstation/tgstation/pull/50674) +That's why the three devastation values for the microbomb implant are balanced around in such a way +that buying one macrobomb equals to buying 10 microbombs and stacking them.
/obj/item/implant/explosive/macroMacrobomb has the strength and delay of 10 microbombs
/obj/item/implant/explosive/deniabilityMicrobomb which prevents you from going into critical condition but also explodes after a timer when you reach critical condition in the first place.

Define Details

+

MICROBOMB_DELAY + + +

+

Note that we can stack explosive implants and thus increase the payload's devastation radius. (https://github.com/tgstation/tgstation/pull/50674) +That's why the three devastation values for the microbomb implant are balanced around in such a way +that buying one macrobomb equals to buying 10 microbombs and stacking them.

+ + + diff --git a/code/game/objects/items/implants/implantcase.html b/code/game/objects/items/implants/implantcase.html new file mode 100644 index 00000000000..46467daf5f2 --- /dev/null +++ b/code/game/objects/items/implants/implantcase.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/implants/implantcase.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/implantcase.dm + +

+ + + + +
/obj/item/implantcaseItem used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case.
/obj/item/implantcase/trackingAn implant case that spawns with a tracking implant, as well as an appropriate name and description.
/obj/item/implantcase/weapons_authAn implant case that spawns with a firearms authentication implant, as well as an appropriate name and description.
+ + + diff --git a/code/game/objects/items/implants/implanter.html b/code/game/objects/items/implants/implanter.html new file mode 100644 index 00000000000..956bfff38a2 --- /dev/null +++ b/code/game/objects/items/implants/implanter.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/implanter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/implanter.dm + +

+ + +
/obj/item/implanterPlayers can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen.
+ + + diff --git a/code/game/objects/items/implants/security/implant_beacon.html b/code/game/objects/items/implants/security/implant_beacon.html new file mode 100644 index 00000000000..889e627a5d1 --- /dev/null +++ b/code/game/objects/items/implants/security/implant_beacon.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/security/implant_beacon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/security/implant_beacon.dm + +

+ + +
/obj/item/implant/beaconEssentially, just turns the implantee into a teleport beacon.
+ + + diff --git a/code/game/objects/items/implants/security/implant_exile.html b/code/game/objects/items/implants/security/implant_exile.html new file mode 100644 index 00000000000..2be7d66a5f8 --- /dev/null +++ b/code/game/objects/items/implants/security/implant_exile.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/security/implant_exile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/security/implant_exile.dm + +

+ + +
/obj/item/implant/exile/noteleportUsed to help the staff of the space hotel resist the urge to use the space hotel's incredibly alluring roundstart teleporter to ignore their flavor/greeting text and come to the station.
+ + + diff --git a/code/game/objects/items/implants/security/implant_noteleport.html b/code/game/objects/items/implants/security/implant_noteleport.html new file mode 100644 index 00000000000..9575c4cea87 --- /dev/null +++ b/code/game/objects/items/implants/security/implant_noteleport.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/implants/security/implant_noteleport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/implants/security/implant_noteleport.dm + +

+ + +
/obj/item/implant/teleport_blockerBlocks the implantee from being teleported
+ + + diff --git a/code/game/objects/items/inspector.html b/code/game/objects/items/inspector.html new file mode 100644 index 00000000000..31703b6ffdd --- /dev/null +++ b/code/game/objects/items/inspector.html @@ -0,0 +1,31 @@ + + + + + + + code/game/objects/items/inspector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/inspector.dm + +

+ + + + + + +
/obj/item/inspectorCreates reports for area inspection bounties.
/obj/item/inspector/clownA clown variant of the N-spect scanner
/obj/item/inspector/clown/bananiumAn upgraded version of the fake N-spect scanner
/obj/item/paper/fake_reportReports printed by fake N-spect scanner
/obj/item/paper/fake_report/waterFake report but it turns into water under certain circumstances.
+ + + diff --git a/code/game/objects/items/janitor_key.html b/code/game/objects/items/janitor_key.html new file mode 100644 index 00000000000..f6940493fb2 --- /dev/null +++ b/code/game/objects/items/janitor_key.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/janitor_key.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/janitor_key.dm + +

+ + +
ACCESS_TIMER_LIMITThe time limit on the keys before the access it's been given clears itself.

Define Details

+

ACCESS_TIMER_LIMIT + + +

+

The time limit on the keys before the access it's been given clears itself.

+ + + diff --git a/code/game/objects/items/mail.html b/code/game/objects/items/mail.html new file mode 100644 index 00000000000..a5ad1941464 --- /dev/null +++ b/code/game/objects/items/mail.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items/mail.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/mail.dm + +

+ + + + + + + + +
/obj/item/mailMail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.
/obj/structure/closet/crate/mailCrate for mail from CentCom.
/obj/structure/closet/crate/mail/fullCrate for mail that automatically generates a lot of mail. Usually only normal mail, but on lowpop it may end up just being junk.
/obj/structure/closet/crate/mail/preopenOpened mail crate
/obj/item/storage/bag/mailMailbag.
/obj/item/storage/mail_counterfeit_device/advancedUnobtainable item mostly for (b)admin purposes.
/obj/item/storage/mail_counterfeit_device/bluespaceUnobtainable item mostly for (b)admin purposes.
+ + + diff --git a/code/game/objects/items/manuals.html b/code/game/objects/items/manuals.html new file mode 100644 index 00000000000..31cdc60aec3 --- /dev/null +++ b/code/game/objects/items/manuals.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/manuals.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/manuals.dm + +

+ + +
/obj/item/book/manualMANUALS (BOOKS)
+ + + diff --git a/code/game/objects/items/melee/energy.html b/code/game/objects/items/melee/energy.html new file mode 100644 index 00000000000..ba32215539e --- /dev/null +++ b/code/game/objects/items/melee/energy.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/melee/energy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/melee/energy.dm + +

+ + + + +
/obj/item/melee/energy/axeEnergy axe - extremely strong.
/obj/item/melee/energy/swordEnergy swords.
/obj/item/melee/energy/bladeEnergy blades, which are effectively perma-extended energy swords
+ + + diff --git a/code/game/objects/items/pitchfork.html b/code/game/objects/items/pitchfork.html new file mode 100644 index 00000000000..cec9073341a --- /dev/null +++ b/code/game/objects/items/pitchfork.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/pitchfork.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/pitchfork.dm + +

+ + +
/obj/item/pitchforkPitchfork item
+ + + diff --git a/code/game/objects/items/pneumaticCannon.html b/code/game/objects/items/pneumaticCannon.html new file mode 100644 index 00000000000..211f22019cd --- /dev/null +++ b/code/game/objects/items/pneumaticCannon.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/pneumaticCannon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/pneumaticCannon.dm + +

+ + +
LOW_PRESSUREDefines for the pressure strength of the cannon

Define Details

+

LOW_PRESSURE + + +

+

Defines for the pressure strength of the cannon

+ + + diff --git a/code/game/objects/items/powerfist.html b/code/game/objects/items/powerfist.html new file mode 100644 index 00000000000..4630ea117b6 --- /dev/null +++ b/code/game/objects/items/powerfist.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/items/powerfist.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/powerfist.dm + +

+ + + +
LOW_PRESSUREDefines for the pressure strength of the fist
TANK_INSERTINGDefines for the tank change action

Define Details

+

LOW_PRESSURE + + +

+

Defines for the pressure strength of the fist

TANK_INSERTING + + +

+

Defines for the tank change action

+ + + diff --git a/code/game/objects/items/puzzle_pieces.html b/code/game/objects/items/puzzle_pieces.html new file mode 100644 index 00000000000..29a80fb98db --- /dev/null +++ b/code/game/objects/items/puzzle_pieces.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/puzzle_pieces.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/puzzle_pieces.dm + +

+ + +
/obj/structure/puzzle_blockadeblockades destroy themselves if they receive COMSIG_GLOB_PUZZLE_COMPLETED with their ID
+ + + diff --git a/code/game/objects/items/rcd/RCD.html b/code/game/objects/items/rcd/RCD.html new file mode 100644 index 00000000000..dbe4dbe27df --- /dev/null +++ b/code/game/objects/items/rcd/RCD.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/items/rcd/RCD.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/rcd/RCD.dm + +

+ + + +
FREQUENT_USE_DEBUFF_MULTIPLIERMultiplier applied on construction & deconstruction time when building multiple structures
RCD_DESTRUCTIVE_SCAN_COOLDOWNDelay before another rcd scan can be performed in the UI

Define Details

+

FREQUENT_USE_DEBUFF_MULTIPLIER + + +

+

Multiplier applied on construction & deconstruction time when building multiple structures

RCD_DESTRUCTIVE_SCAN_COOLDOWN + + +

+

Delay before another rcd scan can be performed in the UI

+ + + diff --git a/code/game/objects/items/rcd/RPD.html b/code/game/objects/items/rcd/RPD.html new file mode 100644 index 00000000000..a9fc4848726 --- /dev/null +++ b/code/game/objects/items/rcd/RPD.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/rcd/RPD.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/rcd/RPD.dm + +

+ + +
RPD_USE_SOUNDSound to make when we use the item to build/destroy something

Define Details

+

RPD_USE_SOUND + + +

+

Sound to make when we use the item to build/destroy something

+ + + diff --git a/code/game/objects/items/rcd/RPLD.html b/code/game/objects/items/rcd/RPLD.html new file mode 100644 index 00000000000..7575c2f8902 --- /dev/null +++ b/code/game/objects/items/rcd/RPLD.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/rcd/RPLD.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/rcd/RPLD.dm + +

+ + +
/obj/item/construction/plumbingThe plumbing RCD. All the blueprints are located in _globalvars > lists > construction.dm
+ + + diff --git a/code/game/objects/items/rcd/RSF.html b/code/game/objects/items/rcd/RSF.html new file mode 100644 index 00000000000..74337b84bdd --- /dev/null +++ b/code/game/objects/items/rcd/RSF.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items/rcd/RSF.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/rcd/RSF.dm + +

+ + +
OBJECT_OR_LIST_ELEMENTExtracts the related object from an associated list of objects and values, or lists and objects.

Define Details

+

OBJECT_OR_LIST_ELEMENT + + + +

+

Extracts the related object from an associated list of objects and values, or lists and objects.

+ + + diff --git a/code/game/objects/items/rcd/RTD.html b/code/game/objects/items/rcd/RTD.html new file mode 100644 index 00000000000..bfb6094b44c --- /dev/null +++ b/code/game/objects/items/rcd/RTD.html @@ -0,0 +1,46 @@ + + + + + + + code/game/objects/items/rcd/RTD.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/rcd/RTD.dm + +

+ + + + + + +
CONSTRUCTION_TIMEtime taken to create tile
DECONSTRUCTION_TIMEtime taken to destroy a tile
/obj/item/construction/rtdAn tool used to create, destroy, and copy & clear decals of floor tiles +Great for janitor but can be made only in engineering +Supports silo link upgrade and refill with glass, plasteel & iron
/datum/tile_infostores the name, type, icon & cost for each tile type
/datum/overlay_infoStores the decal & overlays on the floor to preserve texture of the design +in short its just an wrapper for mutable appearance where we retrieve the nessassary information +to recreate an mutable appearance

Define Details

+

CONSTRUCTION_TIME + + + +

+

time taken to create tile

DECONSTRUCTION_TIME + + + +

+

time taken to destroy a tile

+ + + diff --git a/code/game/objects/items/rcd/RWD.html b/code/game/objects/items/rcd/RWD.html new file mode 100644 index 00000000000..9728c3ce119 --- /dev/null +++ b/code/game/objects/items/rcd/RWD.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/rcd/RWD.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/rcd/RWD.dm + +

+ + +
/obj/item/rwd/loadedLay cable only if
+ + + diff --git a/code/game/objects/items/robot/ai_upgrades.html b/code/game/objects/items/robot/ai_upgrades.html new file mode 100644 index 00000000000..d0c3150a79a --- /dev/null +++ b/code/game/objects/items/robot/ai_upgrades.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/robot/ai_upgrades.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/robot/ai_upgrades.dm + +

+ + +
/obj/item/malf_upgradeAI Upgrades
+ + + diff --git a/code/game/objects/items/robot/items/hypo.html b/code/game/objects/items/robot/items/hypo.html new file mode 100644 index 00000000000..dc6de070778 --- /dev/null +++ b/code/game/objects/items/robot/items/hypo.html @@ -0,0 +1,38 @@ + + + + + + + code/game/objects/items/robot/items/hypo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/robot/items/hypo.dm + +

+ + + + + + + + +
BASE_MEDICAL_REAGENTSAll of the default reagent lists for each hypospray (+ hacked variants)
/obj/item/reagent_containers/borghypoBorg Hypospray
/obj/item/reagent_containers/borghypo/medicalDefault Medborg Hypospray
/obj/item/reagent_containers/borghypo/peacePeacekeeper hypospray
/obj/item/reagent_containers/borghypo/clownClownborg hypospray
/obj/item/reagent_containers/borghypo/syndicateSyndicate medborg hypospray
/obj/item/reagent_containers/borghypo/borgshakerBorg Shaker for the serviceborgs

Define Details

+

BASE_MEDICAL_REAGENTS + + +

+

All of the default reagent lists for each hypospray (+ hacked variants)

+ + + diff --git a/code/game/objects/items/robot/items/storage.html b/code/game/objects/items/robot/items/storage.html new file mode 100644 index 00000000000..0568a6bf5a7 --- /dev/null +++ b/code/game/objects/items/robot/items/storage.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/robot/items/storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/robot/items/storage.dm + +

+ + + + + +
/obj/item/borg/apparatus/beaker/drinkUsed by the service borg drink apparatus upgrade, holds drink-related items
/obj/item/borg/apparatus/organ_storageallows medical cyborgs to manipulate organs without hands
/obj/item/borg/apparatus/sheet_manipulatorApparatus to allow Engineering/Sabo borgs to manipulate any material sheets.
/obj/item/borg/apparatus/circuitApparatus allowing Engineer/Sabo borgs to manipulate Machine and Computer circuit boards
+ + + diff --git a/code/game/objects/items/robot/robot_upgrades.html b/code/game/objects/items/robot/robot_upgrades.html new file mode 100644 index 00000000000..6e11ea6bb2c --- /dev/null +++ b/code/game/objects/items/robot/robot_upgrades.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/robot/robot_upgrades.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/robot/robot_upgrades.dm + +

+ + + +
/obj/item/borg/upgrade/defib/backpackA version of the above that also acts as a holder of an actual defibrillator item used in place of the upgrade chip.
/obj/item/borg_restart_boardThis isn't an upgrade or part of the same path, but I'm gonna just stick it here because it's a tool used on cyborgs.
+ + + diff --git a/code/game/objects/items/secret_documents.html b/code/game/objects/items/secret_documents.html new file mode 100644 index 00000000000..4d43f1bf43c --- /dev/null +++ b/code/game/objects/items/secret_documents.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/items/secret_documents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/secret_documents.dm + +

+ + + + + + + + +
/obj/item/documentsIndestructible antag objective that can be photocopied.
/obj/item/documents/nanotrasenNanotrasen documents
/obj/item/documents/syndicateSyndicate documents
/obj/item/documents/syndicate/redSyndicate documents with a red seal
/obj/item/documents/syndicate/blueSyndicate documents with a blue seal
/obj/item/documents/syndicate/miningSyndicate mining documents
/obj/item/documents/photocopyOutcome of photocopying documents. Can be copied, and can have a blue/red seal forged.
+ + + diff --git a/code/game/objects/items/sharpener.html b/code/game/objects/items/sharpener.html new file mode 100644 index 00000000000..88f4070ace2 --- /dev/null +++ b/code/game/objects/items/sharpener.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/sharpener.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/sharpener.dm + +

+ + + +
/obj/item/sharpenerItems used for sharpening stuff
/obj/item/sharpener/superExtremely powerful admin-only whetstone
+ + + diff --git a/code/game/objects/items/stacks/golem_food/golem_food_buff.html b/code/game/objects/items/stacks/golem_food/golem_food_buff.html new file mode 100644 index 00000000000..ba8e98a7461 --- /dev/null +++ b/code/game/objects/items/stacks/golem_food/golem_food_buff.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/stacks/golem_food/golem_food_buff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/stacks/golem_food/golem_food_buff.dm + +

+ + + + +
/datum/golem_food_buffAn effect you gain from eating minerals
/datum/golem_food_buff/glassCan eat at any time, but isn't very nutritious
/datum/golem_food_buff/ironMore filling, and heals you
+ + + diff --git a/code/game/objects/items/stacks/golem_food/golem_hand_actions.html b/code/game/objects/items/stacks/golem_food/golem_hand_actions.html new file mode 100644 index 00000000000..7e8435fbcba --- /dev/null +++ b/code/game/objects/items/stacks/golem_food/golem_hand_actions.html @@ -0,0 +1,39 @@ + + + + + + + code/game/objects/items/stacks/golem_food/golem_hand_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/stacks/golem_food/golem_hand_actions.dm + +

+ + + + + +
GIBTONITE_GOLEM_HOLD_TIMEHow long can you hold onto gibtonite before you need to let it go?
BLUESPACE_GLOW_FILTERID for a filter we apply so we can remove it again
/obj/item/gibtonite_handLets you hold a gibtonite ore in one hand and shoot it like a gun
/obj/item/bluespace_fingerPoint at a target and teleport somewhere vaguely close to it

Define Details

+

BLUESPACE_GLOW_FILTER + + +

+

ID for a filter we apply so we can remove it again

GIBTONITE_GOLEM_HOLD_TIME + + +

+

How long can you hold onto gibtonite before you need to let it go?

+ + + diff --git a/code/game/objects/items/stacks/golem_food/golem_status_effects.html b/code/game/objects/items/stacks/golem_food/golem_status_effects.html new file mode 100644 index 00000000000..526a566aa09 --- /dev/null +++ b/code/game/objects/items/stacks/golem_food/golem_status_effects.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/items/stacks/golem_food/golem_status_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/stacks/golem_food/golem_status_effects.dm + +

+ + + + + + + + + + + + +
/datum/status_effect/golemAbstract holder for golem status effects, you should never have more than one of these active
/datum/bodypart_overlay/simple/golem_overlayBody part overlays applied by golem status effects
/datum/status_effect/golem/uraniumFreezes hunger for the duration
/datum/status_effect/golem/silverMagic immunity
/datum/status_effect/golem/plasmaHeat immunity, turns heat damage into local power
/datum/status_effect/golem/plasteelMakes you spaceproof
/datum/status_effect/golem/goldMakes you reflect energy projectiles
/datum/status_effect/golem/diamondMakes you hard to see
/datum/status_effect/golem/titaniumMakes you tougher
/datum/status_effect/golem/bananiumMakes you slippery
/datum/status_effect/golem_lightbulbLights up the golem, NOT using the golem subtype because it is not exclusive with other status effects
+ + + diff --git a/code/game/objects/items/stacks/stack.html b/code/game/objects/items/stacks/stack.html new file mode 100644 index 00000000000..97e6326fc50 --- /dev/null +++ b/code/game/objects/items/stacks/stack.html @@ -0,0 +1,42 @@ + + + + + + + code/game/objects/items/stacks/stack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/stacks/stack.dm + +

+ + + + +
STACK_CHECK_CARDINALSChecks if there is an object of the result type in any of the cardinal directions
STACK_CHECK_ADJACENTChecks if there is an object of the result type within one tile
FULL_LISTThe key / title for a radial option that shows the entire list of buildables (uses the old menu)

Define Details

+

FULL_LIST + + +

+

The key / title for a radial option that shows the entire list of buildables (uses the old menu)

STACK_CHECK_ADJACENT + + +

+

Checks if there is an object of the result type within one tile

STACK_CHECK_CARDINALS + + +

+

Checks if there is an object of the result type in any of the cardinal directions

+ + + diff --git a/code/game/objects/items/stacks/tiles/tile_types.html b/code/game/objects/items/stacks/tiles/tile_types.html new file mode 100644 index 00000000000..503fc08a5ed --- /dev/null +++ b/code/game/objects/items/stacks/tiles/tile_types.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/stacks/tiles/tile_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/stacks/tiles/tile_types.dm + +

+ + + +
/obj/item/stack/tileTILE STACKS
/obj/item/stack/tile/emissive_testFloor tiles used to test emissive turfs.
+ + + diff --git a/code/game/objects/items/sticker.html b/code/game/objects/items/sticker.html new file mode 100644 index 00000000000..3168fa91b08 --- /dev/null +++ b/code/game/objects/items/sticker.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/sticker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/sticker.dm + +

+ + +
/obj/item/stickerparent type for all other stickers. do not spawn directly
+ + + diff --git a/code/game/objects/items/storage/boxes/_boxes.html b/code/game/objects/items/storage/boxes/_boxes.html new file mode 100644 index 00000000000..2ef9eb20cf2 --- /dev/null +++ b/code/game/objects/items/storage/boxes/_boxes.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/boxes/_boxes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/storage/boxes/_boxes.dm + +

+ + +
/obj/item/storage/boxThe common cardboard box.
+ + + diff --git a/code/game/objects/items/storage/briefcase.html b/code/game/objects/items/storage/briefcase.html new file mode 100644 index 00000000000..996e64556b1 --- /dev/null +++ b/code/game/objects/items/storage/briefcase.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/storage/briefcase.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/storage/briefcase.dm + +

+ + + + +
/obj/item/storage/briefcase/secureSecure briefcase +Uses the lockable storage component to give it a lock.
/obj/item/storage/briefcase/secure/syndieSyndie variant of Secure Briefcase. Contains space cash, slightly more robust.
/obj/item/storage/briefcase/secure/richesA briefcase that contains various sought-after spoils
+ + + diff --git a/code/game/objects/items/storage/medkit.html b/code/game/objects/items/storage/medkit.html new file mode 100644 index 00000000000..520f15396e2 --- /dev/null +++ b/code/game/objects/items/storage/medkit.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/storage/medkit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/storage/medkit.dm + +

+ + + + + +
/obj/item/storage/pill_bottleif you add a new one don't forget to update /datum/crafting_recipe/medbot/on_craft_completion()
/obj/item/storage/pill_bottle/happinesspsychPsychologist inventory pillbottles
/obj/item/storage/organboxA box which takes in coolant and uses it to preserve organs and body parts
/obj/item/storage/organbox/preloadedA subtype of organ storage box which starts with a full coolant tank
+ + + diff --git a/code/game/objects/items/storage/uplink_kits.html b/code/game/objects/items/storage/uplink_kits.html new file mode 100644 index 00000000000..2187d5850c0 --- /dev/null +++ b/code/game/objects/items/storage/uplink_kits.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/storage/uplink_kits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/storage/uplink_kits.dm + +

+ + + + +
/obj/item/storage/box/syndicatelast audited december 2022
/obj/item/storage/box/syndie_kit/sniper_surplusSurplus Ammo Box
/obj/item/storage/backpack/duffelbag/syndie/sabotageSubtype for the sabotage bundle. Contains three C4, two X4 and 6 signalers
+ + + diff --git a/code/game/objects/items/storage/wallets.html b/code/game/objects/items/storage/wallets.html new file mode 100644 index 00000000000..1472416d3b9 --- /dev/null +++ b/code/game/objects/items/storage/wallets.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/storage/wallets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/storage/wallets.dm + +

+ + +
/obj/item/storage/wallet/moneyUsed by the toilet fish source.
+ + + diff --git a/code/game/objects/items/surgery_tray.html b/code/game/objects/items/surgery_tray.html new file mode 100644 index 00000000000..044b09ed0cf --- /dev/null +++ b/code/game/objects/items/surgery_tray.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/items/surgery_tray.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/surgery_tray.dm + +

+ + + +
/obj/item/surgery_traySurgery Trays +A storage object that displays tools in its contents based on tier, better tools are more visible. +Can be folded up and carried. Click it to draw a random tool.
/obj/item/surgery_tray/full/advancedSurgery tray with advanced tools for debug
+ + + diff --git a/code/game/objects/items/tanks/tanks.html b/code/game/objects/items/tanks/tanks.html new file mode 100644 index 00000000000..cafc928c11a --- /dev/null +++ b/code/game/objects/items/tanks/tanks.html @@ -0,0 +1,35 @@ + + + + + + + code/game/objects/items/tanks/tanks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/tanks/tanks.dm + +

+ + + + +
ASSUME_AIR_DT_FACTORHow much time (in seconds) is assumed to pass while assuming air. Used to scale overpressure/overtemp damage when assuming air.
/obj/item/tankHandheld gas canisters +Can rupture explosively if overpressurized
/datum/armor/item_tankCloses the tank if dropped while open.

Define Details

+

ASSUME_AIR_DT_FACTOR + + +

+

How much time (in seconds) is assumed to pass while assuming air. Used to scale overpressure/overtemp damage when assuming air.

+ + + diff --git a/code/game/objects/items/tcg/tcg.html b/code/game/objects/items/tcg/tcg.html new file mode 100644 index 00000000000..f821a7e5ef5 --- /dev/null +++ b/code/game/objects/items/tcg/tcg.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/tcg/tcg.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/tcg/tcg.dm + +

+ + +
/obj/item/tcgcard_deckA stack item that's not actually a stack because ORDER MATTERS with a deck of cards! +The "top" card of the deck will always be the bottom card in the stack for our purposes.
+ + + diff --git a/code/game/objects/items/tcg/tcg_machines.html b/code/game/objects/items/tcg/tcg_machines.html new file mode 100644 index 00000000000..407ac4e954b --- /dev/null +++ b/code/game/objects/items/tcg/tcg_machines.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/items/tcg/tcg_machines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/tcg/tcg_machines.dm + +

+ + + + +
/obj/machinery/trading_card_buttonA button that generates a player manipulable bar of icons, in this case a mana bar.
/obj/effect/trading_card_panelA display panel that renders a set of icons (in this case mana crystals), this is generated by /obj/machinery/trading_card_button and can be manipulated by the button which generates it.
/obj/effect/trading_card_panel/healthA variant of the display panel for life shards, this one is set up to display two columns.
+ + + diff --git a/code/game/objects/items/tongs.html b/code/game/objects/items/tongs.html new file mode 100644 index 00000000000..8863a4687b7 --- /dev/null +++ b/code/game/objects/items/tongs.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/items/tongs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/tongs.dm + +

+ + +
/obj/item/kitchen/tongsTongs, let you pick up and feed people food from further away.
+ + + diff --git a/code/game/objects/items/tools/weldingtool.html b/code/game/objects/items/tools/weldingtool.html new file mode 100644 index 00000000000..3ee17bb1809 --- /dev/null +++ b/code/game/objects/items/tools/weldingtool.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/items/tools/weldingtool.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/tools/weldingtool.dm + +

+ + +
WELDER_FUEL_BURN_INTERVALHow many seconds between each fuel depletion tick ("use" proc)

Define Details

+

WELDER_FUEL_BURN_INTERVAL + + +

+

How many seconds between each fuel depletion tick ("use" proc)

+ + + diff --git a/code/game/objects/items/tools/wirebrush.html b/code/game/objects/items/tools/wirebrush.html new file mode 100644 index 00000000000..80b616f079a --- /dev/null +++ b/code/game/objects/items/tools/wirebrush.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/items/tools/wirebrush.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/items/tools/wirebrush.dm + +

+ + +
/obj/item/wirebrushThe wirebrush is a tool whose sole purpose is to remove rust from anything that is rusty. +Because of the inherent nature of hard countering rust heretics it does it very slowly.
+ + + diff --git a/code/game/objects/items/toy_mechs.html b/code/game/objects/items/toy_mechs.html new file mode 100644 index 00000000000..d5894460057 --- /dev/null +++ b/code/game/objects/items/toy_mechs.html @@ -0,0 +1,39 @@ + + + + + + + code/game/objects/items/toy_mechs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/toy_mechs.dm + +

+ + + +
SPECIAL_ATTACK_HEALMech prizes + MECHA COMBAT!! +Mech battle special attack types.
MAX_BATTLE_LENGTHMax length of a mech battle

Define Details

+

MAX_BATTLE_LENGTH + + +

+

Max length of a mech battle

SPECIAL_ATTACK_HEAL + + +

+

Mech prizes + MECHA COMBAT!! +Mech battle special attack types.

+ + + diff --git a/code/game/objects/items/wiki_manuals.html b/code/game/objects/items/wiki_manuals.html new file mode 100644 index 00000000000..75aeaa0ce57 --- /dev/null +++ b/code/game/objects/items/wiki_manuals.html @@ -0,0 +1,38 @@ + + + + + + + code/game/objects/items/wiki_manuals.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/items/wiki_manuals.dm + +

+ + + +
BOOK_WINDOW_BROWSE_SIZEThe size of the window that the wiki books open in.
WIKI_PAGE_IFRAMEThis macro will resolve to code that will open up the associated wiki page in the window.

Define Details

+

BOOK_WINDOW_BROWSE_SIZE + + +

+

The size of the window that the wiki books open in.

WIKI_PAGE_IFRAME + + + +

+

This macro will resolve to code that will open up the associated wiki page in the window.

+ + + diff --git a/code/game/objects/structures.html b/code/game/objects/structures.html new file mode 100644 index 00000000000..3990cb3a404 --- /dev/null +++ b/code/game/objects/structures.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures.dm + +

+ + +
/obj/structureInert structures, such as girders, machine frames, and crates/lockers.
+ + + diff --git a/code/game/objects/structures/aliens.html b/code/game/objects/structures/aliens.html new file mode 100644 index 00000000000..e3a47d4383b --- /dev/null +++ b/code/game/objects/structures/aliens.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/aliens.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/aliens.dm + +

+ + + +
/obj/structure/alien/resin/wall/immovablemeant for one lavaland ruin or anywhere that has simplemobs who can push aside structures
/obj/structure/alien/resin/membrane/creatureUsed in the big derelict ruin exclusively.
+ + + diff --git a/code/game/objects/structures/beds_chairs/bed.html b/code/game/objects/structures/beds_chairs/bed.html new file mode 100644 index 00000000000..eecb6871f01 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/bed.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/structures/beds_chairs/bed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/beds_chairs/bed.dm + +

+ + + + +
/obj/structure/bedBeds
/obj/structure/bed/medicalMedical beds
/obj/structure/bed/dogbedDog bed
+ + + diff --git a/code/game/objects/structures/beds_chairs/chair.html b/code/game/objects/structures/beds_chairs/chair.html new file mode 100644 index 00000000000..eeb6f73f1e7 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/chair.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/beds_chairs/chair.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/beds_chairs/chair.dm + +

+ + +
/obj/structure/chair/greyscaleMaterial chair
+ + + diff --git a/code/game/objects/structures/beds_chairs/sofa.html b/code/game/objects/structures/beds_chairs/sofa.html new file mode 100644 index 00000000000..215b6d30c01 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/sofa.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/beds_chairs/sofa.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/beds_chairs/sofa.dm + +

+ + +
COLORED_SOFACreate colored subtypes for sofas

Define Details

+

COLORED_SOFA + + + +

+

Create colored subtypes for sofas

+ + + diff --git a/code/game/objects/structures/bonfire.html b/code/game/objects/structures/bonfire.html new file mode 100644 index 00000000000..73d9ed3823f --- /dev/null +++ b/code/game/objects/structures/bonfire.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/bonfire.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/bonfire.dm + +

+ + + +
BONFIRE_FIRE_STACK_STRENGTHhow many fire stacks are applied when you step into a bonfire
/obj/structure/bonfire

Define Details

+

BONFIRE_FIRE_STACK_STRENGTH + + +

+

how many fire stacks are applied when you step into a bonfire

+ + + diff --git a/code/game/objects/structures/cannons/cannon.html b/code/game/objects/structures/cannons/cannon.html new file mode 100644 index 00000000000..4be100a4798 --- /dev/null +++ b/code/game/objects/structures/cannons/cannon.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/cannons/cannon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/cannons/cannon.dm + +

+ + + +
BAD_FUEL_DAMAGE_TAXhow much projectile damage is lost when using a bad fuel
BAD_FUEL_EXPLODE_PROBABILTYextra chance it explodes upon firing

Define Details

+

BAD_FUEL_DAMAGE_TAX + + +

+

how much projectile damage is lost when using a bad fuel

BAD_FUEL_EXPLODE_PROBABILTY + + +

+

extra chance it explodes upon firing

+ + + diff --git a/code/game/objects/structures/construction_console/construction_actions.html b/code/game/objects/structures/construction_console/construction_actions.html new file mode 100644 index 00000000000..6078bdd9018 --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_actions.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/construction_console/construction_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_actions.dm + +

+ + + +
/datum/action/innate/constructionGeneric construction action for base construction consoles.
/datum/action/innate/construction/place_structureGeneric action used with base construction consoles to build anything that can't be built with an RCD
+ + + diff --git a/code/game/objects/structures/construction_console/construction_console.html b/code/game/objects/structures/construction_console/construction_console.html new file mode 100644 index 00000000000..71ec552913c --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_console.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/structures/construction_console/construction_console.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_console.dm + +

+ + + + +
/obj/machinery/computer/camera_advanced/base_constructionCamera console used to control a base building drone
/mob/camera/ai_eye/remote/base_constructionA mob used by /obj/machinery/computer/camera_advanced/base_construction for building in specific areas.
/obj/item/construction/rcd/internalBase console's internal RCD. Has a large material capacity and a fast buildspeed.
+ + + diff --git a/code/game/objects/structures/construction_console/construction_console_aux.html b/code/game/objects/structures/construction_console/construction_console_aux.html new file mode 100644 index 00000000000..867bb00646a --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_console_aux.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/construction_console/construction_console_aux.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_console_aux.dm + +

+ + +
/obj/machinery/computer/camera_advanced/base_construction/auxbase consturctino console subtype for the mining aux base
+ + + diff --git a/code/game/objects/structures/construction_console/construction_console_centcom.html b/code/game/objects/structures/construction_console/construction_console_centcom.html new file mode 100644 index 00000000000..7e14f7f3fab --- /dev/null +++ b/code/game/objects/structures/construction_console/construction_console_centcom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/construction_console/construction_console_centcom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/construction_console/construction_console_centcom.dm + +

+ + +
/obj/machinery/computer/camera_advanced/base_construction/centcomadmin-only base consturctino console subtype for building anywhere!
+ + + diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.html b/code/game/objects/structures/crates_lockers/closets/bodybag.html new file mode 100644 index 00000000000..b213839a8e1 --- /dev/null +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/crates_lockers/closets/bodybag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/crates_lockers/closets/bodybag.dm + +

+ + + +
/obj/structure/closet/body_bag/environmentalEnvironmental bags. They protect against bad weather.
/obj/structure/closet/body_bag/environmental/prisonerSecurable enviro. bags
+ + + diff --git a/code/game/objects/structures/crates_lockers/crates/syndicrate.html b/code/game/objects/structures/crates_lockers/crates/syndicrate.html new file mode 100644 index 00000000000..fe2fc20e06c --- /dev/null +++ b/code/game/objects/structures/crates_lockers/crates/syndicrate.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/crates_lockers/crates/syndicrate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/crates_lockers/crates/syndicrate.dm + +

+ + +
/datum/armor/crate_syndicrateif the crate takes damage it will explode 25% of the time
+ + + diff --git a/code/game/objects/structures/deployable_turret.html b/code/game/objects/structures/deployable_turret.html new file mode 100644 index 00000000000..ed284730c06 --- /dev/null +++ b/code/game/objects/structures/deployable_turret.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/deployable_turret.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/deployable_turret.dm + +

+ + +
/obj/machinery/deployable_turretDEPLOYABLE TURRET (FORMERLY MANNED TURRET)
+ + + diff --git a/code/game/objects/structures/fake_stairs.html b/code/game/objects/structures/fake_stairs.html new file mode 100644 index 00000000000..30c6ad4a9e4 --- /dev/null +++ b/code/game/objects/structures/fake_stairs.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/fake_stairs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/fake_stairs.dm + +

+ + +
/obj/structure/fake_stairsStairs but they are FAKE and dont have any of the Z-changing behavior. DO NOT MAP THESE NEXT TO REAL STAIRS
+ + + diff --git a/code/game/objects/structures/flora.html b/code/game/objects/structures/flora.html new file mode 100644 index 00000000000..a9fcf91f2e8 --- /dev/null +++ b/code/game/objects/structures/flora.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/structures/flora.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/flora.dm + +

+ + + + + + + +
/obj/structure/flora/treeTrees
/obj/structure/flora/tree/pinePine Trees
/obj/structure/flora/coconutsPalm Trees
/obj/structure/flora/grassGrass
/obj/structure/flora/bushBushes
/obj/structure/flora/rockRocks
+ + + diff --git a/code/game/objects/structures/fluff.html b/code/game/objects/structures/fluff.html new file mode 100644 index 00000000000..9917b2c6cce --- /dev/null +++ b/code/game/objects/structures/fluff.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/structures/fluff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/fluff.dm + +

+ + + + + + + +
/obj/structure/fluffFluff structures serve no purpose and exist only for enriching the environment. By default, they can be deconstructed with a wrench.
/obj/structure/fluff/empty_terrariumEmpty terrariums are created when a preserved terrarium in a lavaland seed vault is activated.
/obj/structure/fluff/empty_sleeperEmpty sleepers are created by a good few ghost roles in lavaland.
/obj/structure/fluff/empty_cryostasis_sleeperEmpty cryostasis sleepers are created when a malfunctioning cryostasis sleeper in a lavaland shelter is activated.
/obj/structure/fluff/drake_statueAsh drake status spawn on either side of the necropolis gate in lavaland.
/obj/structure/fluff/drake_statue/fallingA variety of statue in disrepair; parts are broken off and a gemstone is missing
+ + + diff --git a/code/game/objects/structures/girders.html b/code/game/objects/structures/girders.html new file mode 100644 index 00000000000..c14db240fce --- /dev/null +++ b/code/game/objects/structures/girders.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/girders.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/girders.dm + +

+ + +
/obj/structure/girder/cultcult girder
+ + + diff --git a/code/game/objects/structures/grille.html b/code/game/objects/structures/grille.html new file mode 100644 index 00000000000..a691cdab890 --- /dev/null +++ b/code/game/objects/structures/grille.html @@ -0,0 +1,32 @@ + + + + + + + code/game/objects/structures/grille.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/grille.dm + +

+ + +
CLEAR_TILE_MOVE_LIMITMax number of unanchored items that will be moved from a tile when attempting to add a window to a grille.

Define Details

+

CLEAR_TILE_MOVE_LIMIT + + +

+

Max number of unanchored items that will be moved from a tile when attempting to add a window to a grille.

+ + + diff --git a/code/game/objects/structures/guillotine.html b/code/game/objects/structures/guillotine.html new file mode 100644 index 00000000000..e569f5ca53b --- /dev/null +++ b/code/game/objects/structures/guillotine.html @@ -0,0 +1,97 @@ + + + + + + + code/game/objects/structures/guillotine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/guillotine.dm + +

+ + + + + + + + + + + + + + + +
GUILLOTINE_ACTION_IDLEThe guillotine is not being interacted with at the moment
GUILLOTINE_BLADE_RAISEDThe blade is ready to be dropped
GUILLOTINE_BLADE_MOVINGThe blade is moving
GUILLOTINE_BLADE_DROPPEDThe blade has landed in the stocks
GUILLOTINE_BLADE_SHARPENINGThe blade is being sharpened
GUILLOTINE_ACTION_INUSEThe guillotine blade is being interacted with by the executor
GUILLOTINE_ACTION_WRENCHThe guillotine is being unfastened
GUILLOTINE_BLADE_MAX_SHARPThis is maxiumum sharpness and will decapitate without failure
GUILLOTINE_DECAP_MIN_SHARPMinimum amount of sharpness for decapitation. Any less and it will just do severe brute damage
GUILLOTINE_ANIMATION_LENGTHHow long the guillotine animation lasts
GUILLOTINE_HEAD_OFFSETHow much we need to move the player to center their head
GUILLOTINE_LAYER_DIFFHow much to increase/decrease a head when it's buckled/unbuckled
GUILLOTINE_ACTIVATE_DELAYDelay for executing someone
GUILLOTINE_WRENCH_DELAYDelay for wrenching the guillotine

Define Details

+

GUILLOTINE_ACTION_IDLE + + +

+

The guillotine is not being interacted with at the moment

GUILLOTINE_ACTION_INUSE + + +

+

The guillotine blade is being interacted with by the executor

GUILLOTINE_ACTION_WRENCH + + +

+

The guillotine is being unfastened

GUILLOTINE_ACTIVATE_DELAY + + +

+

Delay for executing someone

GUILLOTINE_ANIMATION_LENGTH + + +

+

How long the guillotine animation lasts

GUILLOTINE_BLADE_DROPPED + + +

+

The blade has landed in the stocks

GUILLOTINE_BLADE_MAX_SHARP + + +

+

This is maxiumum sharpness and will decapitate without failure

GUILLOTINE_BLADE_MOVING + + +

+

The blade is moving

GUILLOTINE_BLADE_RAISED + + +

+

The blade is ready to be dropped

GUILLOTINE_BLADE_SHARPENING + + +

+

The blade is being sharpened

GUILLOTINE_DECAP_MIN_SHARP + + +

+

Minimum amount of sharpness for decapitation. Any less and it will just do severe brute damage

GUILLOTINE_HEAD_OFFSET + + +

+

How much we need to move the player to center their head

GUILLOTINE_LAYER_DIFF + + +

+

How much to increase/decrease a head when it's buckled/unbuckled

GUILLOTINE_WRENCH_DELAY + + +

+

Delay for wrenching the guillotine

+ + + diff --git a/code/game/objects/structures/gym/weight_machine.html b/code/game/objects/structures/gym/weight_machine.html new file mode 100644 index 00000000000..fcbf33f62d4 --- /dev/null +++ b/code/game/objects/structures/gym/weight_machine.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/gym/weight_machine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/gym/weight_machine.dm + +

+ + + +
WORKOUT_LENGTHroughly 8 seconds for 1 workout rep
/obj/structure/weightmachine/weightlifterWeight lifter subtype

Define Details

+

WORKOUT_LENGTH + + +

+

roughly 8 seconds for 1 workout rep

+ + + diff --git a/code/game/objects/structures/gym/weight_machine_action.html b/code/game/objects/structures/gym/weight_machine_action.html new file mode 100644 index 00000000000..d2f93433c8b --- /dev/null +++ b/code/game/objects/structures/gym/weight_machine_action.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/gym/weight_machine_action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/gym/weight_machine_action.dm + +

+ + +
/datum/action/push_weightsThe action button given by the weight machine's buckle. +This allows users to manually trigger working out.
+ + + diff --git a/code/game/objects/structures/lavaland/geyser.html b/code/game/objects/structures/lavaland/geyser.html new file mode 100644 index 00000000000..1afd8e9863a --- /dev/null +++ b/code/game/objects/structures/lavaland/geyser.html @@ -0,0 +1,29 @@ + + + + + + + code/game/objects/structures/lavaland/geyser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/lavaland/geyser.dm + +

+ + + + +
/obj/structure/geyserA lavaland geyser that spawns chems and can be mining scanned for points. Made to work with the plumbing pump to extract that sweet rare nectar
/obj/item/plungerA wearable tool that lets you empty plumbing machinery and some other stuff
/obj/item/plunger/reinforcedA faster reinforced plunger
+ + + diff --git a/code/game/objects/structures/loom.html b/code/game/objects/structures/loom.html new file mode 100644 index 00000000000..fbc061e69d4 --- /dev/null +++ b/code/game/objects/structures/loom.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/loom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/loom.dm + +

+ + +
/obj/structure/loomThis is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.
+ + + diff --git a/code/game/objects/structures/maintenance.html b/code/game/objects/structures/maintenance.html new file mode 100644 index 00000000000..97e9e0c886f --- /dev/null +++ b/code/game/objects/structures/maintenance.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/maintenance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/maintenance.dm + +

+ + + +
/obj/structure/moisture_trap
/obj/structure/steam_ventSpawns in maint shafts, and blocks lines of sight perodically when active.
+ + + diff --git a/code/game/objects/structures/mannequin.html b/code/game/objects/structures/mannequin.html new file mode 100644 index 00000000000..cb22590f7b7 --- /dev/null +++ b/code/game/objects/structures/mannequin.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/mannequin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/mannequin.dm + +

+ + +
/obj/structure/mannequinA mannequin! A structure that can display clothing on itself.
+ + + diff --git a/code/game/objects/structures/mirror.html b/code/game/objects/structures/mirror.html new file mode 100644 index 00000000000..eca539d31a1 --- /dev/null +++ b/code/game/objects/structures/mirror.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/mirror.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/mirror.dm + +

+ + +
/obj/structure/mirror/directional/northI'm doing it this way too, because the signal is sent before the broken variable is set to TRUE.
+ + + diff --git a/code/game/objects/structures/morgue.html b/code/game/objects/structures/morgue.html new file mode 100644 index 00000000000..a2204781e60 --- /dev/null +++ b/code/game/objects/structures/morgue.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/morgue.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/morgue.dm + +

+ + + +
BREAKOUT_COOLDOWNThe cooldown between messages when attempting to break out of a morgue tray.
BREAKDOWN_TIMEThe amount of time it takes to break out of a morgue tray.

Define Details

+

BREAKDOWN_TIME + + +

+

The amount of time it takes to break out of a morgue tray.

BREAKOUT_COOLDOWN + + +

+

The cooldown between messages when attempting to break out of a morgue tray.

+ + + diff --git a/code/game/objects/structures/mystery_box.html b/code/game/objects/structures/mystery_box.html new file mode 100644 index 00000000000..1d5165618a6 --- /dev/null +++ b/code/game/objects/structures/mystery_box.html @@ -0,0 +1,68 @@ + + + + + + + code/game/objects/structures/mystery_box.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/mystery_box.dm + +

+ + + + + + + + + + +
MYSTERY_BOX_COOLING_DOWNClosed, can't interact
MYSTERY_BOX_STANDBYClosed, ready to be interacted with
MYSTERY_BOX_CHOOSINGThe box is choosing the prize
MYSTERY_BOX_PRESENTINGThe box is presenting the prize, for someone to claim it
MBOX_DURATION_CHOOSINGHow long the box takes to decide what the prize is
MBOX_DURATION_PRESENTINGHow long the box takes to start expiring the offer, though it's still valid until MBOX_DURATION_EXPIRING finishes. Timed to the sound clips
MBOX_DURATION_EXPIRINGHow long the box takes to start lowering the prize back into itself. When this finishes, the prize is gone
MBOX_DURATION_STANDBYHow long after the box closes until it can go again
/obj/mystery_box_itemThis represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable.

Define Details

+

MBOX_DURATION_CHOOSING + + +

+

How long the box takes to decide what the prize is

MBOX_DURATION_EXPIRING + + +

+

How long the box takes to start lowering the prize back into itself. When this finishes, the prize is gone

MBOX_DURATION_PRESENTING + + +

+

How long the box takes to start expiring the offer, though it's still valid until MBOX_DURATION_EXPIRING finishes. Timed to the sound clips

MBOX_DURATION_STANDBY + + +

+

How long after the box closes until it can go again

MYSTERY_BOX_CHOOSING + + +

+

The box is choosing the prize

MYSTERY_BOX_COOLING_DOWN + + +

+

Closed, can't interact

MYSTERY_BOX_PRESENTING + + +

+

The box is presenting the prize, for someone to claim it

MYSTERY_BOX_STANDBY + + +

+

Closed, ready to be interacted with

+ + + diff --git a/code/game/objects/structures/ore_containers.html b/code/game/objects/structures/ore_containers.html new file mode 100644 index 00000000000..ce5da2d6b7c --- /dev/null +++ b/code/game/objects/structures/ore_containers.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/ore_containers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/ore_containers.dm + +

+ + +
/obj/structure/ore_containerstructure to contain ores
+ + + diff --git a/code/game/objects/structures/pinatas.html b/code/game/objects/structures/pinatas.html new file mode 100644 index 00000000000..b5c639063c2 --- /dev/null +++ b/code/game/objects/structures/pinatas.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/pinatas.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/pinatas.dm + +

+ + + +
/obj/structure/pinataA pinata that has a chance to drop candy items when struck with a melee weapon that deals at least 10 damage
/obj/item/pinataAn item that when used inhand spawns an immovable pinata
+ + + diff --git a/code/game/objects/structures/safe.html b/code/game/objects/structures/safe.html new file mode 100644 index 00000000000..98d07588549 --- /dev/null +++ b/code/game/objects/structures/safe.html @@ -0,0 +1,37 @@ + + + + + + + code/game/objects/structures/safe.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/safe.dm + +

+ + + +
SOUND_CHANCEChance for a sound clue
BROKEN_THRESHOLDExplosion number threshold for opening safe

Define Details

+

BROKEN_THRESHOLD + + +

+

Explosion number threshold for opening safe

SOUND_CHANCE + + +

+

Chance for a sound clue

+ + + diff --git a/code/game/objects/structures/secure_safe.html b/code/game/objects/structures/secure_safe.html new file mode 100644 index 00000000000..1d539d477cc --- /dev/null +++ b/code/game/objects/structures/secure_safe.html @@ -0,0 +1,30 @@ + + + + + + + code/game/objects/structures/secure_safe.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/secure_safe.dm + +

+ + + +
/obj/structure/secure_safeWall safes +Holds items and uses the lockable storage component +to allow people to lock items up.
/obj/structure/secure_safe/caps_spareThis safe is meant to be damn robust. To break in, you're supposed to get creative, or use acid or an explosion.
+ + + diff --git a/code/game/objects/structures/shower.html b/code/game/objects/structures/shower.html new file mode 100644 index 00000000000..79073a99524 --- /dev/null +++ b/code/game/objects/structures/shower.html @@ -0,0 +1,62 @@ + + + + + + + code/game/objects/structures/shower.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/objects/structures/shower.dm + +

+ + + + + + + + +
SHOWER_SPRAY_VOLUMEThe volume of it's internal reagents the shower applies to everything it sprays.
SHOWER_EXPOSURE_MULTIPLIERHow much the volume of the shower's spay reagents are amplified by when it sprays something.
SHOWER_TIMED_LENGTHHow long we run in TIMED mode
SHOWER_MODE_UNTIL_EMPTYRun the shower until we run out of reagents.
SHOWER_MODE_TIMEDRun the shower for SHOWER_TIMED_LENGTH time, or until we run out of reagents.
SHOWER_MODE_FOREVERRun the shower forever, pausing when we run out of liquid, and then resuming later.
SHOWER_MODE_COUNTNumber of modes to cycle through

Define Details

+

SHOWER_EXPOSURE_MULTIPLIER + + +

+

How much the volume of the shower's spay reagents are amplified by when it sprays something.

SHOWER_MODE_COUNT + + +

+

Number of modes to cycle through

SHOWER_MODE_FOREVER + + +

+

Run the shower forever, pausing when we run out of liquid, and then resuming later.

SHOWER_MODE_TIMED + + +

+

Run the shower for SHOWER_TIMED_LENGTH time, or until we run out of reagents.

SHOWER_MODE_UNTIL_EMPTY + + +

+

Run the shower until we run out of reagents.

SHOWER_SPRAY_VOLUME + + +

+

The volume of it's internal reagents the shower applies to everything it sprays.

SHOWER_TIMED_LENGTH + + +

+

How long we run in TIMED mode

+ + + diff --git a/code/game/objects/structures/signs/_signs.html b/code/game/objects/structures/signs/_signs.html new file mode 100644 index 00000000000..ab2ad51b9a1 --- /dev/null +++ b/code/game/objects/structures/signs/_signs.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/signs/_signs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/signs/_signs.dm + +

+ + + +
/proc/populate_editable_sign_typesThis proc populates GLOBAL_LIST_EMPTY(editable_sign_types)
+ + + diff --git a/code/game/objects/structures/signs/signs_departments.html b/code/game/objects/structures/signs/signs_departments.html new file mode 100644 index 00000000000..fba0e90608f --- /dev/null +++ b/code/game/objects/structures/signs/signs_departments.html @@ -0,0 +1,33 @@ + + + + + + + code/game/objects/structures/signs/signs_departments.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/signs/signs_departments.dm + +

+ + + + + + + + +
/obj/structure/sign/departments/medMEDBAY
/obj/structure/sign/departments/engineeringENGINEERING
/obj/structure/sign/departments/scienceSCIENCE
/obj/structure/sign/departments/botanySERVICE
/obj/structure/sign/departments/cargoSUPPLY
/obj/structure/sign/departments/securitySECURITY
/obj/structure/sign/departments/restroomMISC LOCATIONS
+ + + diff --git a/code/game/objects/structures/signs/signs_warning.html b/code/game/objects/structures/signs/signs_warning.html new file mode 100644 index 00000000000..d9f67b9dd67 --- /dev/null +++ b/code/game/objects/structures/signs/signs_warning.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/signs/signs_warning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/signs/signs_warning.dm + +

+ + + +
/obj/structure/sign/warningDANGEROUS THINGS
/obj/structure/sign/warning/podsMISC LOCATIONS
+ + + diff --git a/code/game/objects/structures/syndicate_uplink_beacon.html b/code/game/objects/structures/syndicate_uplink_beacon.html new file mode 100644 index 00000000000..246603e42fa --- /dev/null +++ b/code/game/objects/structures/syndicate_uplink_beacon.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/syndicate_uplink_beacon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/syndicate_uplink_beacon.dm + +

+ + +
/obj/structure/syndicate_uplink_beaconDevice that traitors can craft in order to be sent a new, undisguised uplink
+ + + diff --git a/code/game/objects/structures/tables_racks.html b/code/game/objects/structures/tables_racks.html new file mode 100644 index 00000000000..a6ea9611521 --- /dev/null +++ b/code/game/objects/structures/tables_racks.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/tables_racks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/tables_racks.dm + +

+ + +
/obj/structure/table/rollingTable on wheels
+ + + diff --git a/code/game/objects/structures/tank_holder.html b/code/game/objects/structures/tank_holder.html new file mode 100644 index 00000000000..8dbe074365f --- /dev/null +++ b/code/game/objects/structures/tank_holder.html @@ -0,0 +1,27 @@ + + + + + + + code/game/objects/structures/tank_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/tank_holder.dm + +

+ + +
/obj/structure/tank_holder?
+ + + diff --git a/code/game/objects/structures/training_machine.html b/code/game/objects/structures/training_machine.html new file mode 100644 index 00000000000..69d2d06ce41 --- /dev/null +++ b/code/game/objects/structures/training_machine.html @@ -0,0 +1,28 @@ + + + + + + + code/game/objects/structures/training_machine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/objects/structures/training_machine.dm + +

+ + + +
/obj/structure/training_machineMachine that runs around wildly so people can practice clickin on things
/obj/item/training_toolboxDevice that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't.
+ + + diff --git a/code/game/say.html b/code/game/say.html new file mode 100644 index 00000000000..9e4c177e92d --- /dev/null +++ b/code/game/say.html @@ -0,0 +1,33 @@ + + + + + + + code/game/say.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/say.dm + +

+ + +
ENCODE_HTML_EMPHASISTransforms the speech emphasis mods from /atom/movable/proc/say_emphasis into the appropriate HTML tags. Includes escaping.

Define Details

+

ENCODE_HTML_EMPHASIS + + + +

+

Transforms the speech emphasis mods from /atom/movable/proc/say_emphasis into the appropriate HTML tags. Includes escaping.

+ + + diff --git a/code/game/shuttle_engines.html b/code/game/shuttle_engines.html new file mode 100644 index 00000000000..ad5b8c2e230 --- /dev/null +++ b/code/game/shuttle_engines.html @@ -0,0 +1,32 @@ + + + + + + + code/game/shuttle_engines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/shuttle_engines.dm + +

+ + +
ENGINE_WELDTIMEHow long it takes to weld/unweld an engine in place.

Define Details

+

ENGINE_WELDTIME + + +

+

How long it takes to weld/unweld an engine in place.

+ + + diff --git a/code/game/sound.html b/code/game/sound.html new file mode 100644 index 00000000000..a00030d6e3e --- /dev/null +++ b/code/game/sound.html @@ -0,0 +1,29 @@ + + + + + + + code/game/sound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/sound.dm + +

+ + + + +
/soundDefault override for echo
/proc/playsoundplaysound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.
+ + + diff --git a/code/game/turfs/closed/minerals.html b/code/game/turfs/closed/minerals.html new file mode 100644 index 00000000000..b61cdb8e64e --- /dev/null +++ b/code/game/turfs/closed/minerals.html @@ -0,0 +1,30 @@ + + + + + + + code/game/turfs/closed/minerals.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/closed/minerals.dm + +

+ + + + + +
/turf/closed/mineralMineral deposits
/turf/closed/mineral/random/volcanic/do_not_chasmA turf that can't we can't build openspace chasms on or spawn ruins in.
/turf/closed/mineral/random/snow/do_not_chasmNear exact same subtype as parent, just used in ruins to prevent other ruins/chasms from spawning on top of it.
/turf/closed/mineral/snowmountain/icemoon/unscrapeableThis snowy mountain will never be scraped away for any reason what so ever.
+ + + diff --git a/code/game/turfs/closed/wall/mineral_walls.html b/code/game/turfs/closed/wall/mineral_walls.html new file mode 100644 index 00000000000..e0b4e4cdaab --- /dev/null +++ b/code/game/turfs/closed/wall/mineral_walls.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/closed/wall/mineral_walls.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/closed/wall/mineral_walls.dm + +

+ + + +
/turf/closed/wall/mineral/titaniumTitanium walls
/turf/closed/wall/mineral/plastitaniumPlastitanium walls
+ + + diff --git a/code/game/turfs/open/asteroid.html b/code/game/turfs/open/asteroid.html new file mode 100644 index 00000000000..cb6ba922119 --- /dev/null +++ b/code/game/turfs/open/asteroid.html @@ -0,0 +1,30 @@ + + + + + + + code/game/turfs/open/asteroid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/asteroid.dm + +

+ + + + + +
/turf/open/misc/asteroidAsteroid
/turf/open/misc/asteroid/basalt/lava_land_surfaceSurface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground.
/turf/open/misc/asteroid/basalt/lava_land_surface/no_ruinsUsed for the lavaland icemoon ruin.
/turf/open/misc/asteroid/snow/icemoon/do_not_chasmExact subtype as parent, just used in ruins to prevent other ruins/chasms from spawning on top of it.
+ + + diff --git a/code/game/turfs/open/cliff.html b/code/game/turfs/open/cliff.html new file mode 100644 index 00000000000..3a35525d429 --- /dev/null +++ b/code/game/turfs/open/cliff.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/open/cliff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/cliff.dm + +

+ + + +
/turf/open/cliffA cliff tile from where people can fall. Should generally fall downwards, but you can change it if you want
/turf/open/cliff/snowrockSnowy cliff!
+ + + diff --git a/code/game/turfs/open/floor.html b/code/game/turfs/open/floor.html new file mode 100644 index 00000000000..f0713106b41 --- /dev/null +++ b/code/game/turfs/open/floor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/floor.dm + +

+ + +
/turf/open/floorAnything above a lattice should go here.
+ + + diff --git a/code/game/turfs/open/floor/catwalk_plating.html b/code/game/turfs/open/floor/catwalk_plating.html new file mode 100644 index 00000000000..45325d5038c --- /dev/null +++ b/code/game/turfs/open/floor/catwalk_plating.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/catwalk_plating.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/floor/catwalk_plating.dm + +

+ + +
/turf/open/floor/catwalk_floor
+ + + diff --git a/code/game/turfs/open/floor/fancy_floor.html b/code/game/turfs/open/floor/fancy_floor.html new file mode 100644 index 00000000000..de4c7138511 --- /dev/null +++ b/code/game/turfs/open/floor/fancy_floor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/fancy_floor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/floor/fancy_floor.dm + +

+ + +
/turf/open/floor/emissive_testAn emissive turf used to test emissive turfs.
+ + + diff --git a/code/game/turfs/open/floor/light_floor.html b/code/game/turfs/open/floor/light_floor.html new file mode 100644 index 00000000000..cf51601e069 --- /dev/null +++ b/code/game/turfs/open/floor/light_floor.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/open/floor/light_floor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/floor/light_floor.dm + +

+ + +
/turf/open/floor/light/colour_cyclehe's dead, jim
+ + + diff --git a/code/game/turfs/open/floor/plating.html b/code/game/turfs/open/floor/plating.html new file mode 100644 index 00000000000..9111e5afde6 --- /dev/null +++ b/code/game/turfs/open/floor/plating.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/open/floor/plating.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/floor/plating.dm + +

+ + + +
/turf/open/floor/platingPLATINGS
/turf/open/floor/plating/rcdnot an actual turf its used just for rcd ui purposes
+ + + diff --git a/code/game/turfs/open/lava.html b/code/game/turfs/open/lava.html new file mode 100644 index 00000000000..250edb91d80 --- /dev/null +++ b/code/game/turfs/open/lava.html @@ -0,0 +1,42 @@ + + + + + + + code/game/turfs/open/lava.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/turfs/open/lava.dm + +

+ + + + +
LAVA_BE_IGNORINGGeneric return value of the can_burn_stuff() proc. Does nothing.
LAVA_BE_PROCESSINGAnother. Won't burn the target but will make the turf start processing.
LAVA_BE_BURNINGBurns the target and makes the turf process (depending on the return value of do_burn()).

Define Details

+

LAVA_BE_BURNING + + +

+

Burns the target and makes the turf process (depending on the return value of do_burn()).

LAVA_BE_IGNORING + + +

+

Generic return value of the can_burn_stuff() proc. Does nothing.

LAVA_BE_PROCESSING + + +

+

Another. Won't burn the target but will make the turf start processing.

+ + + diff --git a/code/game/turfs/open/misc.html b/code/game/turfs/open/misc.html new file mode 100644 index 00000000000..d1a42c63f1e --- /dev/null +++ b/code/game/turfs/open/misc.html @@ -0,0 +1,29 @@ + + + + + + + code/game/turfs/open/misc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/misc.dm + +

+ + +
/turf/open/miscUsed as a parent type for types that want to allow construction, but do not want to be floors +I wish I could use components for turfs at scale +Please do not bloat this. Love you <3
+ + + diff --git a/code/game/turfs/open/space/transit.html b/code/game/turfs/open/space/transit.html new file mode 100644 index 00000000000..31e6a8325d6 --- /dev/null +++ b/code/game/turfs/open/space/transit.html @@ -0,0 +1,28 @@ + + + + + + + code/game/turfs/open/space/transit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/open/space/transit.dm + +

+ + + +
/proc/dump_in_spaceDump a movable in a random valid spacetile
+ + + diff --git a/code/game/turfs/turf.html b/code/game/turfs/turf.html new file mode 100644 index 00000000000..8e24f893f22 --- /dev/null +++ b/code/game/turfs/turf.html @@ -0,0 +1,27 @@ + + + + + + + code/game/turfs/turf.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/game/turfs/turf.dm + +

+ + +
/turfAny floor or wall. What makes up the station and the rest of the map.
+ + + diff --git a/code/game/world.html b/code/game/world.html new file mode 100644 index 00000000000..450fa0fb106 --- /dev/null +++ b/code/game/world.html @@ -0,0 +1,37 @@ + + + + + + + code/game/world.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/game/world.dm + +

+ + + +
OVERRIDE_LOG_DIRECTORY_PARAMETERForce the log directory to be something specific in the data/logs folder
NO_INIT_PARAMETERPrevent the master controller from starting automatically

Define Details

+

NO_INIT_PARAMETER + + +

+

Prevent the master controller from starting automatically

OVERRIDE_LOG_DIRECTORY_PARAMETER + + +

+

Force the log directory to be something specific in the data/logs folder

+ + + diff --git a/code/modules/NTNet/relays.html b/code/modules/NTNet/relays.html new file mode 100644 index 00000000000..200dac9186d --- /dev/null +++ b/code/modules/NTNet/relays.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/NTNet/relays.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/NTNet/relays.dm + +

+ + + +
/proc/find_functional_ntnet_relayChecks whether NTNet is available by ensuring at least one relay exists and is operational.
+ + + diff --git a/code/modules/actionspeed/_actionspeed_modifier.html b/code/modules/actionspeed/_actionspeed_modifier.html new file mode 100644 index 00000000000..a28116d4ccc --- /dev/null +++ b/code/modules/actionspeed/_actionspeed_modifier.html @@ -0,0 +1,50 @@ + + + + + + + code/modules/actionspeed/_actionspeed_modifier.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/actionspeed/_actionspeed_modifier.dm + +

+ + + + + + + +

Actionspeed modification datums.

+
How action speed for mobs works
+
+

Action speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of actionspeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update action speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Actionspeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update actionspeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

/proc/get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
+ + + diff --git a/code/modules/actionspeed/modifiers/status_effects.html b/code/modules/actionspeed/modifiers/status_effects.html new file mode 100644 index 00000000000..7404eadca2b --- /dev/null +++ b/code/modules/actionspeed/modifiers/status_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/actionspeed/modifiers/status_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/actionspeed/modifiers/status_effects.dm + +

+ + +
/datum/actionspeed_modifier/status_effect/midas_blightGet slower the more gold is in your system.
+ + + diff --git a/code/modules/admin/admin_fax_panel.html b/code/modules/admin/admin_fax_panel.html new file mode 100644 index 00000000000..fa1cf9aa653 --- /dev/null +++ b/code/modules/admin/admin_fax_panel.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/admin_fax_panel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/admin_fax_panel.dm + +

+ + +
/datum/fax_panel_interfaceAdmin Fax Panel. Tool for sending fax messages faster.
+ + + diff --git a/code/modules/admin/admin_pda_message.html b/code/modules/admin/admin_pda_message.html new file mode 100644 index 00000000000..2455f81b56c --- /dev/null +++ b/code/modules/admin/admin_pda_message.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/admin_pda_message.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/admin_pda_message.dm + +

+ + +
/datum/admin_pda_panelPanel
+ + + diff --git a/code/modules/admin/admin_ranks.html b/code/modules/admin/admin_ranks.html new file mode 100644 index 00000000000..1f414137904 --- /dev/null +++ b/code/modules/admin/admin_ranks.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/admin_ranks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/admin_ranks.dm + +

+ + + + + +
/proc/ranks_from_rank_nameConverts a rank name (such as "Coder+Moth") into a list of /datum/admin_rank
/proc/join_admin_ranksTakes a list of rank names and joins them with +
+ + + diff --git a/code/modules/admin/admin_verbs.html b/code/modules/admin/admin_verbs.html new file mode 100644 index 00000000000..6c73771ceed --- /dev/null +++ b/code/modules/admin/admin_verbs.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/admin_verbs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/admin_verbs.dm + +

+ + + + + +
/proc/findTrueKeyTakes a stealthed ckey as input, returns the true key it represents
/proc/generateStealthCkeyHands back a stealth ckey to use, guarenteed to be unique
+ + + diff --git a/code/modules/admin/callproc/callproc.html b/code/modules/admin/callproc/callproc.html new file mode 100644 index 00000000000..ff4b7372ef5 --- /dev/null +++ b/code/modules/admin/callproc/callproc.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/admin/callproc/callproc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/callproc/callproc.dm + +

+ + + + + + + + +
/mob/proccall_handlerUsed to handle proccalls called indirectly by an admin (e.g. tgs, circuits). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.
/proc/HandleUserlessProcCallHandles a userless proccall, used by circuits.
/proc/HandleUserlessSDQLHandles a userless sdql, used by circuits and tgs.
/proc/WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
+ + + diff --git a/code/modules/admin/chat_commands.html b/code/modules/admin/chat_commands.html new file mode 100644 index 00000000000..e481e188824 --- /dev/null +++ b/code/modules/admin/chat_commands.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/admin/chat_commands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/chat_commands.dm + +

+ + + + +
/datum/tgs_chat_command/reload_adminsReload admins tgs chat command. Intentionally not validated.
/datum/tgs_chat_command/validatedsubtype tgs chat command with validated admin ranks. Only supports discord.

validate discord userid is linked to a game admin with these flags.

+ + + diff --git a/code/modules/admin/create_mob.html b/code/modules/admin/create_mob.html new file mode 100644 index 00000000000..8221e258f40 --- /dev/null +++ b/code/modules/admin/create_mob.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/create_mob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/create_mob.dm + +

+ + + +
/proc/randomize_humanRandomizes everything about a human, including DNA and name
+ + + diff --git a/code/modules/admin/force_event.html b/code/modules/admin/force_event.html new file mode 100644 index 00000000000..0d9e9c4b303 --- /dev/null +++ b/code/modules/admin/force_event.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/force_event.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/force_event.dm + +

+ + +
/datum/force_eventForce Event Panel
+ + + diff --git a/code/modules/admin/greyscale_modify_menu.html b/code/modules/admin/greyscale_modify_menu.html new file mode 100644 index 00000000000..8203eddd778 --- /dev/null +++ b/code/modules/admin/greyscale_modify_menu.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/admin/greyscale_modify_menu.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/greyscale_modify_menu.dm + +

+ + + +
/datum/greyscale_modify_menuThe controller for the ui in charge of all runtime greyscale configuration/debug. +If Unlock() is not called the menu is safe for players to use.
/datum/greyscale_modify_menu/spray_paintUsed for spray painting items in the gags_recolorable component
+ + + diff --git a/code/modules/admin/painting_manager.html b/code/modules/admin/painting_manager.html new file mode 100644 index 00000000000..0496b49c7d3 --- /dev/null +++ b/code/modules/admin/painting_manager.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/painting_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/painting_manager.dm + +

+ + +
/datum/paintings_managerPainting Admin Management Panel
+ + + diff --git a/code/modules/admin/poll_management.html b/code/modules/admin/poll_management.html new file mode 100644 index 00000000000..35a95a2a8a6 --- /dev/null +++ b/code/modules/admin/poll_management.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/poll_management.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/poll_management.dm + +

+ + + + + +
/datum/poll_questionDatum which holds details of a running poll loaded from the database and supplementary info.
/datum/poll_optionDatum which holds details of a poll option loaded from the database.
/proc/load_poll_dataLoads all current and future server polls and their options to store both as datums.
+ + + diff --git a/code/modules/admin/smites/bad_luck.html b/code/modules/admin/smites/bad_luck.html new file mode 100644 index 00000000000..41dee912235 --- /dev/null +++ b/code/modules/admin/smites/bad_luck.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bad_luck.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/bad_luck.dm + +

+ + +
/datum/smite/bad_luckGives the target bad luck, optionally permanently
+ + + diff --git a/code/modules/admin/smites/become_object.html b/code/modules/admin/smites/become_object.html new file mode 100644 index 00000000000..a0dd17cb0c7 --- /dev/null +++ b/code/modules/admin/smites/become_object.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/become_object.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/become_object.dm + +

+ + +
/datum/smite/objectifyTurns the target into an object (for instance bread)
+ + + diff --git a/code/modules/admin/smites/berforate.html b/code/modules/admin/smites/berforate.html new file mode 100644 index 00000000000..403d30ad45a --- /dev/null +++ b/code/modules/admin/smites/berforate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/berforate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/berforate.dm + +

+ + +
/datum/smite/berforateFires an absurd amount of bullets at the target
+ + + diff --git a/code/modules/admin/smites/bloodless.html b/code/modules/admin/smites/bloodless.html new file mode 100644 index 00000000000..a2dcf5ef80a --- /dev/null +++ b/code/modules/admin/smites/bloodless.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bloodless.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/bloodless.dm + +

+ + +
/datum/smite/bloodlessSlashes up the target
+ + + diff --git a/code/modules/admin/smites/boneless.html b/code/modules/admin/smites/boneless.html new file mode 100644 index 00000000000..0c0c0a5795f --- /dev/null +++ b/code/modules/admin/smites/boneless.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/boneless.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/boneless.dm + +

+ + +
/datum/smite/bonelessGives the target critically bad wounds
+ + + diff --git a/code/modules/admin/smites/brain_damage.html b/code/modules/admin/smites/brain_damage.html new file mode 100644 index 00000000000..5f5816650f7 --- /dev/null +++ b/code/modules/admin/smites/brain_damage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/brain_damage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/brain_damage.dm + +

+ + +
/datum/smite/brain_damageInflicts crippling brain damage on the target
+ + + diff --git a/code/modules/admin/smites/bsa.html b/code/modules/admin/smites/bsa.html new file mode 100644 index 00000000000..6276f50c1fc --- /dev/null +++ b/code/modules/admin/smites/bsa.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/bsa.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/bsa.dm + +

+ + +
/datum/smite/bsaFires the BSA at the target
+ + + diff --git a/code/modules/admin/smites/curse_of_babel.html b/code/modules/admin/smites/curse_of_babel.html new file mode 100644 index 00000000000..763c6ed17a5 --- /dev/null +++ b/code/modules/admin/smites/curse_of_babel.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/curse_of_babel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/curse_of_babel.dm + +

+ + +
/datum/smite/curse_of_babelStrikes the target with a lightning bolt
+ + + diff --git a/code/modules/admin/smites/dock_pay.html b/code/modules/admin/smites/dock_pay.html new file mode 100644 index 00000000000..753180d82a1 --- /dev/null +++ b/code/modules/admin/smites/dock_pay.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/dock_pay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/dock_pay.dm + +

+ + +
/datum/smite/dock_payDocks the target's pay
+ + + diff --git a/code/modules/admin/smites/fake_bwoink.html b/code/modules/admin/smites/fake_bwoink.html new file mode 100644 index 00000000000..64ed68c07b2 --- /dev/null +++ b/code/modules/admin/smites/fake_bwoink.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/fake_bwoink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/fake_bwoink.dm + +

+ + +
/datum/smite/fake_bwoinkSends the target a fake adminhelp sound
+ + + diff --git a/code/modules/admin/smites/fat.html b/code/modules/admin/smites/fat.html new file mode 100644 index 00000000000..56d1636a353 --- /dev/null +++ b/code/modules/admin/smites/fat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/fat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/fat.dm + +

+ + +
/datum/smite/fatFattens the target
+ + + diff --git a/code/modules/admin/smites/fireball.html b/code/modules/admin/smites/fireball.html new file mode 100644 index 00000000000..392450a8e1a --- /dev/null +++ b/code/modules/admin/smites/fireball.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/fireball.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/fireball.dm + +

+ + +
/datum/smite/fireballThrows a fireball down at the target
+ + + diff --git a/code/modules/admin/smites/gib.html b/code/modules/admin/smites/gib.html new file mode 100644 index 00000000000..521412f061d --- /dev/null +++ b/code/modules/admin/smites/gib.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/gib.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/gib.dm + +

+ + +
/datum/smite/gibGibs the target
+ + + diff --git a/code/modules/admin/smites/imaginary_friend_special.html b/code/modules/admin/smites/imaginary_friend_special.html new file mode 100644 index 00000000000..093407b8a94 --- /dev/null +++ b/code/modules/admin/smites/imaginary_friend_special.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/imaginary_friend_special.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/imaginary_friend_special.dm + +

+ + +
/datum/smite/custom_imaginary_friendCustom imaginary friend.
+ + + diff --git a/code/modules/admin/smites/immerse.html b/code/modules/admin/smites/immerse.html new file mode 100644 index 00000000000..954121fa697 --- /dev/null +++ b/code/modules/admin/smites/immerse.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/immerse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/immerse.dm + +

+ + +
/datum/smite/immerse"Fully immerses" the player, making them manually breathe and blink
+ + + diff --git a/code/modules/admin/smites/knot_shoes.html b/code/modules/admin/smites/knot_shoes.html new file mode 100644 index 00000000000..26b2393ab0b --- /dev/null +++ b/code/modules/admin/smites/knot_shoes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/knot_shoes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/knot_shoes.dm + +

+ + +
/datum/smite/knot_shoesTies the target's shoes
+ + + diff --git a/code/modules/admin/smites/lightning.html b/code/modules/admin/smites/lightning.html new file mode 100644 index 00000000000..ae859842451 --- /dev/null +++ b/code/modules/admin/smites/lightning.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/admin/smites/lightning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/lightning.dm + +

+ + + + +
/datum/smite/lightningStrikes the target with a lightning bolt
/proc/lightningboltthis is the actual bolt effect and damage, made into its own proc because it is used elsewhere
+ + + diff --git a/code/modules/admin/smites/nugget.html b/code/modules/admin/smites/nugget.html new file mode 100644 index 00000000000..61a993abad6 --- /dev/null +++ b/code/modules/admin/smites/nugget.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/nugget.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/nugget.dm + +

+ + +
/datum/smite/nuggetRips off all the limbs of the target
+ + + diff --git a/code/modules/admin/smites/petrify.html b/code/modules/admin/smites/petrify.html new file mode 100644 index 00000000000..c112e53858d --- /dev/null +++ b/code/modules/admin/smites/petrify.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/petrify.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/petrify.dm + +

+ + +
/datum/smite/petrifyTurn pur target to stone, forever
+ + + diff --git a/code/modules/admin/smites/phobia_ocky_icky.html b/code/modules/admin/smites/phobia_ocky_icky.html new file mode 100644 index 00000000000..0c837a92fa9 --- /dev/null +++ b/code/modules/admin/smites/phobia_ocky_icky.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/phobia_ocky_icky.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/phobia_ocky_icky.dm + +

+ + +
/datum/smite/ocky_icky"Immerses" the player, making them unable to use some OOC terms IC
+ + + diff --git a/code/modules/admin/smites/puzzgrid.html b/code/modules/admin/smites/puzzgrid.html new file mode 100644 index 00000000000..09fb430a909 --- /dev/null +++ b/code/modules/admin/smites/puzzgrid.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/puzzgrid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/puzzgrid.dm + +

+ + +
/datum/smite/puzzgridTurns the user into a puzzgrid
+ + + diff --git a/code/modules/admin/smites/puzzle.html b/code/modules/admin/smites/puzzle.html new file mode 100644 index 00000000000..1686dcf8ec8 --- /dev/null +++ b/code/modules/admin/smites/puzzle.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/puzzle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/puzzle.dm + +

+ + +
/datum/smite/puzzleTurns the user into a sliding puzzle
+ + + diff --git a/code/modules/admin/smites/rod.html b/code/modules/admin/smites/rod.html new file mode 100644 index 00000000000..7cdd7981160 --- /dev/null +++ b/code/modules/admin/smites/rod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/rod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/rod.dm + +

+ + +
/datum/smite/rodThrow an immovable rod at the target
+ + + diff --git a/code/modules/admin/smites/scarify.html b/code/modules/admin/smites/scarify.html new file mode 100644 index 00000000000..c4a4a5508e3 --- /dev/null +++ b/code/modules/admin/smites/scarify.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/scarify.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/scarify.dm + +

+ + +
/datum/smite/scarifyGives the target fake scars
+ + + diff --git a/code/modules/admin/smites/smite.html b/code/modules/admin/smites/smite.html new file mode 100644 index 00000000000..4243e00ae55 --- /dev/null +++ b/code/modules/admin/smites/smite.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/smite.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/smite.dm + +

+ + +
/datum/smiteA smite, used by admins to punish players, or for their own amusement
+ + + diff --git a/code/modules/admin/smites/supply_pod.html b/code/modules/admin/smites/supply_pod.html new file mode 100644 index 00000000000..2dd713d6b13 --- /dev/null +++ b/code/modules/admin/smites/supply_pod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/supply_pod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/supply_pod.dm + +

+ + +
/datum/smite/supply_podThrows a supply pod at the target, with no item inside
+ + + diff --git a/code/modules/admin/smites/supply_pod_quick.html b/code/modules/admin/smites/supply_pod_quick.html new file mode 100644 index 00000000000..7479c92f27a --- /dev/null +++ b/code/modules/admin/smites/supply_pod_quick.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/smites/supply_pod_quick.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/smites/supply_pod_quick.dm + +

+ + +
/datum/smite/supply_pod_quickQuickly throws a supply pod at the target, optionally with an item
+ + + diff --git a/code/modules/admin/sql_ban_system.html b/code/modules/admin/sql_ban_system.html new file mode 100644 index 00000000000..d68edb43fe0 --- /dev/null +++ b/code/modules/admin/sql_ban_system.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/admin/sql_ban_system.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/sql_ban_system.dm + +

+ + + + + +
/proc/is_banned_fromChecks client ban cache or, if it doesn't exist, queries the DB ban table to see if the player's +ckey is banned from at least one of the provided roles.
/proc/retrieve_ban_cacheGets the ban cache of the passed in client +If the cache has not been generated, we start off a query +If we still have a query going for this request, we just sleep until it's received back
+ + + diff --git a/code/modules/admin/tag.html b/code/modules/admin/tag.html new file mode 100644 index 00000000000..5640138b312 --- /dev/null +++ b/code/modules/admin/tag.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/admin/tag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/admin/tag.dm + +

+ + +
TAG_DELQuick define for readability

Define Details

+

TAG_DEL + + + +

+

Quick define for readability

+ + + diff --git a/code/modules/admin/trophy_manager.html b/code/modules/admin/trophy_manager.html new file mode 100644 index 00000000000..90c18f662aa --- /dev/null +++ b/code/modules/admin/trophy_manager.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/trophy_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/trophy_manager.dm + +

+ + +
/datum/trophy_managerTrophy Admin Management Panel
+ + + diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html new file mode 100644 index 00000000000..be2b0e08ece --- /dev/null +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/SDQL2/SDQL_2_wrappers.dm + +

+ + + + + +
/proc/_pick_listAllow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead
/proc/_animate_filterAuxtools REALLY doesn't know how to handle filters as values; +when passed as arguments to auxtools-called procs, they aren't simply treated as nulls - +they don't even count towards the length of args. +For example, calling some_proc([a filter], foo, bar) from auxtools +is equivalent to calling some_proc(foo, bar). Thus, we can't use _animate directly on filters. +Use this to perform animation steps on a filter. Consecutive steps on the same filter can be +achieved by calling _animate with no target.
+ + + diff --git a/code/modules/admin/verbs/adminfun.html b/code/modules/admin/verbs/adminfun.html new file mode 100644 index 00000000000..9a3ff302d13 --- /dev/null +++ b/code/modules/admin/verbs/adminfun.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/verbs/adminfun.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/adminfun.dm + +

+ + + + + +
/proc/objectify"Turns" people into objects. Really, we just add them to the contents of the item.
/proc/firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
+ + + diff --git a/code/modules/admin/verbs/adminhelp.html b/code/modules/admin/verbs/adminhelp.html new file mode 100644 index 00000000000..be834de9a61 --- /dev/null +++ b/code/modules/admin/verbs/adminhelp.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/admin/verbs/adminhelp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/adminhelp.dm + +

+ + + + + + + + + +
/datum/admin_help_tickets
/datum/admin_help
/proc/admin_ticket_logUse this proc when an admin takes action that may be related to an open ticket on what +what can be a client, ckey, or mob +player_message: If the message should be shown in the player ticket panel, fill this out +log_in_blackbox: Whether or not this message with the blackbox system. +If disabled, this message should be logged with a different proc call
/proc/send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
/proc/check_asay_linksChecks a given message to see if any of the words are something we want to treat specially, as detailed below.
+ + + diff --git a/code/modules/admin/verbs/adminpm.html b/code/modules/admin/verbs/adminpm.html new file mode 100644 index 00000000000..55e18fedfc9 --- /dev/null +++ b/code/modules/admin/verbs/adminpm.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/admin/verbs/adminpm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/adminpm.dm + +

+ + + + + +
/proc/GetTgsStealthKeyGets TGS's stealth key, generates one if none is found
/proc/disambiguate_clientTakes an argument which could be either a ckey, /client, or IRC marker, and returns a client if possible +Returns [EXTERNAL_PM_USER] if an IRC marker is detected +Otherwise returns null
+ + + diff --git a/code/modules/admin/verbs/color_blind_test.html b/code/modules/admin/verbs/color_blind_test.html new file mode 100644 index 00000000000..bfb7c8ae59b --- /dev/null +++ b/code/modules/admin/verbs/color_blind_test.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/admin/verbs/color_blind_test.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/color_blind_test.dm + +

+ + +
/datum/colorblind_testerUsed to test the game for issues with different types of color blindness +WARNING ASSHOLE: Because we can only apply matrixes, and can't preform gamma correction +https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +The results of this tool aren't perfect. It's way better then nothing, but IT IS NOT A PROPER SIMULATION +Please do not make us look like assholes by assuming it is. Thanks.
+ + + diff --git a/code/modules/admin/verbs/commandreport.html b/code/modules/admin/verbs/commandreport.html new file mode 100644 index 00000000000..55e3c3f99d5 --- /dev/null +++ b/code/modules/admin/verbs/commandreport.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/admin/verbs/commandreport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/admin/verbs/commandreport.dm + +

+ + + + +
DEFAULT_ANNOUNCEMENT_SOUNDThe default command report announcement sound.
CENTCOM_PRESETPreset central command names to chose from for centcom reports.
/datum/command_report_menuDatum for holding the TGUI window for command reports.

Define Details

+

CENTCOM_PRESET + + +

+

Preset central command names to chose from for centcom reports.

DEFAULT_ANNOUNCEMENT_SOUND + + +

+

The default command report announcement sound.

+ + + diff --git a/code/modules/admin/verbs/ert.html b/code/modules/admin/verbs/ert.html new file mode 100644 index 00000000000..60d1e311d9a --- /dev/null +++ b/code/modules/admin/verbs/ert.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/admin/verbs/ert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/admin/verbs/ert.dm + +

+ + + +
ERT_EXPERIENCED_LEADER_CHOOSE_TOPIf we spawn an ERT with the "choose experienced leader" option, select the leader from the top X playtimes
DUMMY_HUMAN_SLOT_ADMINDummy mob reserve slot for admin use

Define Details

+

DUMMY_HUMAN_SLOT_ADMIN + + +

+

Dummy mob reserve slot for admin use

ERT_EXPERIENCED_LEADER_CHOOSE_TOP + + +

+

If we spawn an ERT with the "choose experienced leader" option, select the leader from the top X playtimes

+ + + diff --git a/code/modules/admin/verbs/highlander_datum.html b/code/modules/admin/verbs/highlander_datum.html new file mode 100644 index 00000000000..bacf53be027 --- /dev/null +++ b/code/modules/admin/verbs/highlander_datum.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/highlander_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/highlander_datum.dm + +

+ + +
/datum/highlander_controllerThe highlander controller handles the admin highlander mode, if enabled. +It is first created when "there can only be one" triggers it, and it can be referenced from GLOB.highlander_controller
+ + + diff --git a/code/modules/admin/verbs/light_debug.html b/code/modules/admin/verbs/light_debug.html new file mode 100644 index 00000000000..1b8a79a9ffd --- /dev/null +++ b/code/modules/admin/verbs/light_debug.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/admin/verbs/light_debug.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/light_debug.dm + +

+ + + +
/proc/isolate_lightHides all the lights around a source temporarially, for the sake of figuring out how bad a light bleeds +(Except for turf lights, because they're a part of the "scene" and rarely modified)
+ + + diff --git a/code/modules/admin/verbs/lua.html b/code/modules/admin/verbs/lua.html new file mode 100644 index 00000000000..264ad852bf2 --- /dev/null +++ b/code/modules/admin/verbs/lua.html @@ -0,0 +1,224 @@ + + + + + + + code/modules/admin/verbs/lua/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Auxlua + +

+ + +

+Datums +

DM datums are treated as lua userdata, and can be stored in fields. Due to fundamental limitations in lua, userdata is inherently truthy. Since datum userdata can correspond to a deleted datum, which would evaluate to null in DM, the function datum:is_null() is provided to offer a truthiness test consistent with DM.

+

Keep in mind that BYOND can't see that a datum is referenced in a lua field, and will garbage collect it if it is not referenced anywhere in DM.

+datum:get_var(var) +

Equivalent to DM's datum.var

+datum:set_var(var, value) +

Equivalent to DM's datum.var = value

+datum:call_proc(procName, ...) +

Equivalent to DM's datum.procName(...)

+datum:is_null() +

This function is used to evaluate the truthiness of a DM var. The lua statement if datum:is_null() then is equivalent to the DM statement if(datum).

+datum.vars +

Returns a userdatum that allows you to access and modifiy the vars of a DM datum by index. datum.vars.foo is equivalent to datum:get_var("foo"), while datum.vars.foo = bar is equivalent to datum:set_var("foo", bar)

+
+Lists +

In order to allow lists to be modified in-place across the DM-to-lua language barrier, lists are treated as userdata. Whenever running code that expects a DM value, auxlua will attempt to convert tables into lists.

+

List references are subject to the same limitations as datum userdata, but you are less likely to encounter these limitations for regular lists.

+

Some lists (vars, contents, overlays, underlays, vis_contents, and vis_locs) are inherently attached to datums, and as such, their corresponding userdata contains a weak reference to the containing datum. Use list:is_null to validate these types of lists.

+list.len +

Equivalent to DM's list.len

+list:get(index) +

Equivalent to DM's list[index]

+list:set(index, value) +

Equivalent to DM's list[index] = value

+list:add(value) +

Equivalent to DM's list.Add(value)

+list:remove(value) +

Equivalent to DM's list.Remove(value)

+list:to_table() +

Converts a DM list into a lua table.

+list:of_type(type_path) +

Will extract only values of type type_path.

+list:is_null() +

A similar truthiness test to datum:is_null(). This function only has the possibility of returning false for lists that are inherently attached to a datum (vars, contents, overlays, underlays, vis_contents, and vis_locs).

+list.entries +

Returns a userdatum that allows you to access and modifiy the entries of the list by index. list.entries.foo is equivalent to list:get("foo"), while list.entries.foo = bar is equivalent to list:set("foo", bar)

+
+The dm table +

The dm table consists of the basic hooks into the DM language.

+dm.state_id +

The address of the lua state in memory. This is a copy of the internal value used by auxlua to locate the lua state in a global hash map. state_id is a registry value that is indirectly obtained using the dm table's __index metamethod.

+dm.global_proc(proc, ...) +

Calls the global proc /proc/[proc] with ... as its arguments.

+dm.world +

A reference to DM's world, in the form of datum userdata. This reference is always valid, since world always exists.

+

Due to limitations inherent in the wrapper functions used on tgstation, world:set_var and world:call_proc will raise an error.

+dm.global_vars +

A reference to DM's global, in the form of datum userdata. Subject to the same limitations as dm.world

+dm.usr +

A weak reference to DM's usr. As a rule of thumb, this is a reference to the mob of the client who triggered the chain of procs leading to the execution of Lua code. The following is a list of what usr is for the most common ways of executing Lua code:

+
    +
  • For resumes and awakens, which are generally executed by the MC, usr is (most likely) null.
  • +
  • SS13.wait queues a resume, which gets executed by the MC. Therefore, usr is null after SS13.wait finishes.
  • +
  • For chunk loads, usr is generally the current mob of the admin that loaded that chunk.
  • +
  • For function calls done from the Lua editor, usr is the current mob of the admin calling the function.
  • +
  • SS13.register_signal creates a /datum/callback that gets executed by the SEND_SIGNAL macro for the corresponding signal. As such, usr is the mob that triggered the chain of procs leading to the invocation of SEND_SIGNAL.
  • +
+
+Execution Limit +

In order to prevent freezing the server with infinite loops, auxlua enforces an execution limit, defaulting to 100ms. When a single lua state has been executing for longer than this limit, it will eventually stop and produce an error.

+

To avoid exceeding the execution limit, call sleep() or coroutine.yield() before the execution limit is reached.

+over_exec_usage(fraction = 0.95) +

This function returns whether the current run of the Lua VM has executed for longer than the specified fraction of the execution limit. You can use this function to branch to a call to sleep() or coroutine.yield() to maximize the amount of work done in a single run of the Lua VM. If nil, fraction will default to 0.95, otherwise, it will be clamped to the range [0, 1].

+
+Task management +

The Lua Scripting subsystem manages the execution of tasks for each Lua state. A single fire of the subsystem behaves as follows:

+
    +
  • All tasks that slept since the last fire are resumed in the order they slept.
  • +
  • For each queued resume, the corresponding task is resumed.
  • +
+sleep() +

Yields the current thread, scheduling it to be resumed during the next fire of SSlua. Use this function to prevent your Lua code from exceeding its allowed execution duration. Under the hood, sleep performs the following:

+
    +
  • Sets the sleep_flag
  • +
  • Calls coroutine.yield()
  • +
  • Clears the sleep flag when determining whether the task slept or yielded
  • +
  • Ignores the return values of coroutine.yield() once resumed
  • +
+
+The SS13 package +

The SS13 package contains various helper functions that use code specific to tgstation.

+SS13.state +

A reference to the state datum (/datum/lua_state) handling this Lua state.

+SS13.get_runner_ckey() +

The ckey of the user who ran the lua script in the current context. Can be unreliable if accessed after sleeping.

+SS13.get_runner_client() +

Returns the client of the user who ran the lua script in the current context. Can be unreliable if accessed after sleeping.

+SS13.global_proc +

A wrapper for the magic string used to tell WrapAdminProcCall to call a global proc. +For instance, /datum/callback must be instantiated with SS13.global_proc as its first argument to specify that it will be invoking a global proc. +The following example declares a callback which will execute the global proc to_chat:

+
local callback = SS13.new("/datum/callback", SS13.global_proc, "to_chat", dm.world, "Hello World")
+
+SS13.istype(thing, type) +

Equivalent to the DM statement istype(thing, text2path(type)).

+SS13.new(type, ...) +

Instantiates a datum of type type with ... as the arguments passed to /proc/_new +The following example spawns a singularity at the caller's current turf:

+
SS13.new("/obj/singularity", dm.global_proc("_get_step", dm.usr, 0))
+
+SS13.new_untracked(type, ...) +

Works exactly like SS13.new but it does not store the value to the lua state's references list variable. This means that the variable could end up deleted if nothing holds a reference to it.

+SS13.is_valid(datum) +

Can be used to determine if the datum passed is not nil, not undefined and not qdel'd all in one. A helper function that allows you to check the validity from only one function. +Example usage:

+
local datum = SS13.new("/datum")
+dm.global_proc("qdel", datum)
+print(SS13.is_valid(datum)) -- false
+
+local null = nil
+print(SS13.is_valid(null)) -- false
+
+local datum = SS13.new("/datum")
+print(SS13.is_valid(datum)) -- true
+
+SS13.type(string) +

Converts a string into a type. Equivalent to doing dm.global_proc("_text2path", "/path/to/type")

+SS13.qdel(datum) +

Deletes a datum. You shouldn't try to reference it after calling this function. Equivalent to doing dm.global_proc("qdel", datum)

+SS13.await(thing_to_call, proc_to_call, ...) +

Calls proc_to_call on thing_to_call, with ... as its arguments, and sleeps until that proc returns. +Returns two return values - the first is the return value of the proc, and the second is the message of any runtime exception thrown by the called proc. +The following example calls and awaits the return of poll_ghost_candidates:

+
local ghosts, runtime = SS13.await(SS13.global_proc, "poll_ghost_candidates", "Would you like to be considered for something?")
+
+SS13.wait(time, timer) +

Waits for a number of seconds specified with the time argument. You can optionally specify a timer subsystem using the timer argument.

+

Internally, this function creates a timer that will resume the current task after time seconds, then yields the current task by calling coroutine.yield with no arguments and ignores the return values. If the task is prematurely resumed, the timer will be safely deleted.

+SS13.register_signal(datum, signal, func, make_easy_clear_function) +

Registers the Lua function func as a handler for signal on datum.

+

Like with signal handlers written in DM, Lua signal handlers should not sleep (either by calling sleep or coroutine.yield).

+

If make_easy_clear_function is truthy, a member function taking no arguments will be created in the SS13 table to easily unregister the signal handler.

+

This function returns the /datum/callback created to call func from DM.

+

The following example defines a function which will register a signal that makes target make a honking sound any time it moves:

+
function honk(target)
+	SS13.register_signal(target, "movable_moved", function(source)
+		dm.global_proc("playsound", target, "sound/items/bikehorn.ogg", 100, true)
+	end)
+end
+
+SS13.unregister_signal(datum, signal, callback) +

Unregister a signal previously registered using SS13.register_signal. callback should be a datum/callback previously returned by SS13.register_signal. If callback is not specified, ALL signal handlers registered on datum for signal will be unregistered.

+SS13.set_timeout(time, func) +

Creates a timer which will execute func after time seconds. func should not expect to be passed any arguments, as it will not be passed any. Unlike SS13.wait, SS13.set_timeout does not yield or sleep the current task, making it suitable for use in signal handlers for SS13.register_signal

+

The following example will output a message to chat after 5 seconds:

+
SS13.set_timeout(5, function()
+	dm.global_proc("to_chat", dm.world, "Hello World!")
+end)
+
+SS13.start_loop(time, amount, func) +

Creates a timer which will execute func after time seconds. func should not expect to be passed any arguments, as it will not be passed any. Works exactly the same as SS13.set_timeout except it will loop the timer amount times. If amount is set to -1, it will loop indefinitely. Returns a number value, which represents the timer's id. Can be stopped with SS13.end_loop +Returns a number, the timer id, which is needed to stop indefinite timers. +The following example will output a message to chat every 5 seconds, repeating 10 times:

+
SS13.start_loop(5, 10, function()
+	dm.global_proc("to_chat", dm.world, "Hello World!")
+end)
+
+

The following example will output a message to chat every 5 seconds, until SS13.end_loop(timerid) is called:

+
local timerid = SS13.start_loop(5, -1, function()
+	dm.global_proc("to_chat", dm.world, "Hello World!")
+end)
+
+SS13.end_loop(id) +

Prematurely ends a loop that hasn't ended yet, created with SS13.start_loop. Silently fails if there is no started loop with the specified id. +The following example will output a message to chat every 5 seconds and delete it after it has repeated 20 times:

+
local repeated_amount = 0
+-- timerid won't be in the looping function's scope if declared before the function is declared.
+local timerid
+timerid = SS13.start_loop(5, -1, function()
+	dm.global_proc("to_chat", dm.world, "Hello World!")
+	repeated_amount += 1
+	if repeated_amount >= 20 then
+		SS13.end_loop(timerid)
+	end
+end)
+
+SS13.stop_all_loops() +

Stops all current running loops that haven't ended yet. +Useful in case you accidentally left a indefinite loop running without storing the id anywhere.

+SS13.stop_tracking(datum) +

Stops tracking a datum that was created via SS13.new so that it can be garbage collected and deleted without having to qdel. Should be used for things like callbacks and other such datums where the reference to the variable is no longer needed.

+
+Internal globals +

Auxlua defines several registry values for each state. Note that there is no way to access registry values from lua code.

+sleep_flag +

This flag is used to designate that a yielding task should be put in the sleep queue instead of the yield table. Once auxlua determines that a task should sleep, sleep_flag is cleared.

+sleep_queue +

A sequence of threads, each corresponding to a task that has slept. When calling /proc/__lua_awaken, auxlua will dequeue the first thread from the sequence and resume it.

+yield_table +

A table of threads, each corresponding to a coroutine that has yielded. When calling /proc/__lua_resume, auxlua will look for a thread at the index specified in the index argument, and resume it with the arguments specified in the arguments argument.

+task_info +

A table of key-value-pairs, where the keys are threads, and the values are tables consisting of the following fields:

+
    +
  • name: A string containing the name of the task
  • +
  • status: A string, either "sleep" or "yield"
  • +
  • index: The task's index in sleep_queue or yield_table
  • +
+ + + diff --git a/code/modules/admin/verbs/lua/_hooks.html b/code/modules/admin/verbs/lua/_hooks.html new file mode 100644 index 00000000000..82b839bae86 --- /dev/null +++ b/code/modules/admin/verbs/lua/_hooks.html @@ -0,0 +1,56 @@ + + + + + + + code/modules/admin/verbs/lua/_hooks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/lua/_hooks.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/__lua_set_set_var_wrapperSets a global proc to call in place of just outright setting a datum's var to a given value
/proc/__lua_set_datum_proc_call_wrapperSets a global proc to call in place of just outright calling a given proc on a datum
/proc/__lua_set_global_proc_call_wrapperSets a global proc to call in place of just outright calling a given global proc
/proc/__lua_set_print_wrapperSets a global proc as a wrapper for lua's print function
/proc/__lua_set_execution_limitSets the maximum amount of time a lua chunk or function can execute without sleeping or yielding. +Chunks/functions that exceed this duration will produce an error.
/proc/__lua_new_stateCreates a new lua state.
/proc/__lua_loadLoads a chunk of lua source code and executes it
/proc/__lua_callCalls a lua function
/proc/__lua_awakenDequeues the task at the front of the sleep queue and resumes it
/proc/__lua_resumeRemoves the task at the specified index from the yield table +and resumes it
/proc/__lua_get_globalsGet the variables within a state's environment. +Values not convertible to DM values are substituted +for their types as text
/proc/__lua_get_tasksGet a list of all tasks currently in progress within a state
/proc/__lua_kill_taskKills a task in progress
+ + + diff --git a/code/modules/admin/verbs/lua/helpers.html b/code/modules/admin/verbs/lua/helpers.html new file mode 100644 index 00000000000..82c712fa20f --- /dev/null +++ b/code/modules/admin/verbs/lua/helpers.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/verbs/lua/helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/lua/helpers.dm + +

+ + +
/datum/auxtools_promiseAuxtools hooks act as "set waitfor = 0" procs. This means that whenever +a proc directly called from auxtools sleeps, the hook returns with whatever +the called proc had as its return value at the moment it slept. This may not +be desired behavior, so this datum exists to wrap these procs.
+ + + diff --git a/code/modules/admin/verbs/mapping.html b/code/modules/admin/verbs/mapping.html new file mode 100644 index 00000000000..6e5bf74e5d4 --- /dev/null +++ b/code/modules/admin/verbs/mapping.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/mapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/mapping.dm + +

+ + + +
/proc/gather_z_level_informationReturns all necessary z-level information. Argument append_grid allows the user to see a table showing all of the z-level linkages, which is only visible and useful in-game.
+ + + diff --git a/code/modules/admin/verbs/plane_debugger.html b/code/modules/admin/verbs/plane_debugger.html new file mode 100644 index 00000000000..c19434197cc --- /dev/null +++ b/code/modules/admin/verbs/plane_debugger.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/verbs/plane_debugger.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/plane_debugger.dm + +

+ + +
/datum/plane_master_debugUsed for testing/debugger plane masters and their associated rendering plates
+ + + diff --git a/code/modules/admin/verbs/player_ticket_history.html b/code/modules/admin/verbs/player_ticket_history.html new file mode 100644 index 00000000000..341e1c913e0 --- /dev/null +++ b/code/modules/admin/verbs/player_ticket_history.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/verbs/player_ticket_history.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/player_ticket_history.dm + +

+ + +
/datum/ticket_historyHolds information about a ticket
+ + + diff --git a/code/modules/admin/verbs/playsound.html b/code/modules/admin/verbs/playsound.html new file mode 100644 index 00000000000..70c106fcd05 --- /dev/null +++ b/code/modules/admin/verbs/playsound.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/verbs/playsound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/playsound.dm + +

+ + + +
/proc/web_soundTakes an input from either proc/play_web_sound or the request manager and runs it through youtube-dl and prompts the user before playing it to the server.
+ + + diff --git a/code/modules/admin/verbs/pray.html b/code/modules/admin/verbs/pray.html new file mode 100644 index 00000000000..65d0be9dbe0 --- /dev/null +++ b/code/modules/admin/verbs/pray.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/admin/verbs/pray.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/pray.dm + +

+ + + + + + + +
/proc/message_centcomUsed by communications consoles to message CentCom
/proc/message_syndicateUsed by communications consoles to message the Syndicate
/proc/nuke_requestUsed by communications consoles to request the nuclear launch codes
+ + + diff --git a/code/modules/admin/verbs/secrets.html b/code/modules/admin/verbs/secrets.html new file mode 100644 index 00000000000..df040f4cb69 --- /dev/null +++ b/code/modules/admin/verbs/secrets.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/admin/verbs/secrets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/verbs/secrets.dm + +

+ + + + +
/proc/doPortalSpawnSpawns a portal storm that spawns in sentient/non sentient mobs +portal_appearance is a list in the form (turf's plane offset + 1) -> appearance to use
/datum/everyone_is_a_traitor_controllerMakes sure latejoining crewmembers also become traitors.
+ + + diff --git a/code/modules/admin/view_variables/debug_variables.html b/code/modules/admin/view_variables/debug_variables.html new file mode 100644 index 00000000000..2457a973fb8 --- /dev/null +++ b/code/modules/admin/view_variables/debug_variables.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/admin/view_variables/debug_variables.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/view_variables/debug_variables.dm + +

+ + + +
/proc/debug_variableGet displayed variable in VV variable list
+ + + diff --git a/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.html b/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.html new file mode 100644 index 00000000000..4495a716e9d --- /dev/null +++ b/code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/admin/view_variables/nobody_wants_to_learn_matrix_math.dm + +

+ + +
/datum/nobody_wants_to_learn_matrix_math
+ + + diff --git a/code/modules/antagonists/_common/antag_datum.html b/code/modules/antagonists/_common/antag_datum.html new file mode 100644 index 00000000000..6443638e52c --- /dev/null +++ b/code/modules/antagonists/_common/antag_datum.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/_common/antag_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/_common/antag_datum.dm + +

+ + +
CUSTOM_OBJECTIVE_MAX_LENGTHMax length of custom objective text

Define Details

+

CUSTOM_OBJECTIVE_MAX_LENGTH + + +

+

Max length of custom objective text

+ + + diff --git a/code/modules/antagonists/_common/antag_helpers.html b/code/modules/antagonists/_common/antag_helpers.html new file mode 100644 index 00000000000..c106dee55f5 --- /dev/null +++ b/code/modules/antagonists/_common/antag_helpers.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/_common/antag_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/_common/antag_helpers.dm + +

+ + + + + +
/proc/get_antag_mindsReturns MINDS of the assigned antags of given type/subtypes +Supplying no antag type grants all minds with antag datums
/proc/get_most_experiencedFrom a list of players (minds, mobs or clients), finds the one with the highest playtime (either from a specific role or overall living) and returns it.
+ + + diff --git a/code/modules/antagonists/_common/antag_hud.html b/code/modules/antagonists/_common/antag_hud.html new file mode 100644 index 00000000000..0cd88a1da24 --- /dev/null +++ b/code/modules/antagonists/_common/antag_hud.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/_common/antag_hud.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/_common/antag_hud.dm + +

+ + + +
/datum/atom_hud/alternate_appearance/basic/has_antagonistAn alternate appearance that will only show if you have the antag datum
/datum/atom_hud/alternate_appearance/basic/antagonist_hudAn alternate appearance that will show all the antagonists this mob has
+ + + diff --git a/code/modules/antagonists/_common/antag_spawner.html b/code/modules/antagonists/_common/antag_spawner.html new file mode 100644 index 00000000000..c12844db143 --- /dev/null +++ b/code/modules/antagonists/_common/antag_spawner.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/_common/antag_spawner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/_common/antag_spawner.dm + +

+ + + + + + + +
/obj/item/antag_spawner/contractWIZARD
/obj/item/antag_spawner/nuke_opsBORGS AND OPERATIVES +Device to request reinforcments from ghost pop
/obj/item/antag_spawner/nuke_ops/clownCLOWN OP
/obj/item/antag_spawner/nuke_ops/borg_teleSYNDICATE BORG
/obj/item/antag_spawner/slaughter_demonSLAUGHTER DEMON
/obj/item/antag_spawner/loadoutA subtype meant for 'normal' antag spawner items so as to reduce the amount of required hardcoding.
+ + + diff --git a/code/modules/antagonists/abductor/abductee/abductee.html b/code/modules/antagonists/abductor/abductee/abductee.html new file mode 100644 index 00000000000..0039d977cf1 --- /dev/null +++ b/code/modules/antagonists/abductor/abductee/abductee.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/abductor/abductee/abductee.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/abductor/abductee/abductee.dm + +

+ + +
/datum/antagonist/abductee
+ + + diff --git a/code/modules/antagonists/blob/blob_antag.html b/code/modules/antagonists/blob/blob_antag.html new file mode 100644 index 00000000000..0db8a7cce2b --- /dev/null +++ b/code/modules/antagonists/blob/blob_antag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/blob/blob_antag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/blob/blob_antag.dm + +

+ + +
/datum/antagonist/blob/infectionA subtype of blob meant to represent the infective version.
+ + + diff --git a/code/modules/antagonists/blob/structures/_blob.html b/code/modules/antagonists/blob/structures/_blob.html new file mode 100644 index 00000000000..dbae290bacd --- /dev/null +++ b/code/modules/antagonists/blob/structures/_blob.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/blob/structures/_blob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/blob/structures/_blob.dm + +

+ + +
/obj/structure/blob/special
+ + + diff --git a/code/modules/antagonists/changeling/changeling.html b/code/modules/antagonists/changeling/changeling.html new file mode 100644 index 00000000000..f4401adcc29 --- /dev/null +++ b/code/modules/antagonists/changeling/changeling.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/changeling/changeling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/changeling/changeling.dm + +

+ + +
FORMAT_CHEM_CHARGES_TEXTHelper to format the text that gets thrown onto the chem hud element.

Define Details

+

FORMAT_CHEM_CHARGES_TEXT + + + +

+

Helper to format the text that gets thrown onto the chem hud element.

+ + + diff --git a/code/modules/antagonists/changeling/fallen_changeling.html b/code/modules/antagonists/changeling/fallen_changeling.html new file mode 100644 index 00000000000..94e28bdcbd7 --- /dev/null +++ b/code/modules/antagonists/changeling/fallen_changeling.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/changeling/fallen_changeling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/changeling/fallen_changeling.dm + +

+ + +
/datum/antagonist/fallen_changelinga changeling that has lost their powers. does nothing, other than signify they suck
+ + + diff --git a/code/modules/antagonists/changeling/headslug_eggs.html b/code/modules/antagonists/changeling/headslug_eggs.html new file mode 100644 index 00000000000..8dbea933c0a --- /dev/null +++ b/code/modules/antagonists/changeling/headslug_eggs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/changeling/headslug_eggs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/changeling/headslug_eggs.dm + +

+ + +
/obj/item/organ/internal/body_egg/changeling_eggThe actual organ that the changeling headslug implants into a dead host.
+ + + diff --git a/code/modules/antagonists/changeling/powers/mutations.html b/code/modules/antagonists/changeling/powers/mutations.html new file mode 100644 index 00000000000..375d5c82648 --- /dev/null +++ b/code/modules/antagonists/changeling/powers/mutations.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/changeling/powers/mutations.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/changeling/powers/mutations.dm + +

+ + + + + +
/datum/action/changeling/weapon/arm_blade*
+|ARM BLADE| +*
/datum/action/changeling/weapon/tentacle
+|COMBAT TENTACLES
| +*
*
/datum/action/changeling/weapon/shield
+|SHIELD
| +*
/datum/action/changeling/suit/armor*
+|ARMOR| +*
+ + + diff --git a/code/modules/antagonists/clown_ops/bananium_bomb.html b/code/modules/antagonists/clown_ops/bananium_bomb.html new file mode 100644 index 00000000000..9e03751ec0c --- /dev/null +++ b/code/modules/antagonists/clown_ops/bananium_bomb.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/clown_ops/bananium_bomb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/clown_ops/bananium_bomb.dm + +

+ + + +
/proc/make_into_clownHelper proc that handles making someone into a clown after a bananium nuke goes off.
+ + + diff --git a/code/modules/antagonists/clown_ops/clown_weapons.html b/code/modules/antagonists/clown_ops/clown_weapons.html new file mode 100644 index 00000000000..27ec3545aeb --- /dev/null +++ b/code/modules/antagonists/clown_ops/clown_weapons.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/clown_ops/clown_weapons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/clown_ops/clown_weapons.dm + +

+ + +
BANANA_SHOES_RECHARGE_RATERecharging rate in PPS (peels per second)

Define Details

+

BANANA_SHOES_RECHARGE_RATE + + +

+

Recharging rate in PPS (peels per second)

+ + + diff --git a/code/modules/antagonists/cult/cult.html b/code/modules/antagonists/cult/cult.html new file mode 100644 index 00000000000..b84500c3dd1 --- /dev/null +++ b/code/modules/antagonists/cult/cult.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/cult/cult.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/cult/cult.dm + +

+ + + +
/proc/is_convertable_to_cultReturns whether the given mob is convertable to the blood cult
+ + + diff --git a/code/modules/antagonists/cult/cult_bastard_sword.html b/code/modules/antagonists/cult/cult_bastard_sword.html new file mode 100644 index 00000000000..3ba735d93bd --- /dev/null +++ b/code/modules/antagonists/cult/cult_bastard_sword.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/cult/cult_bastard_sword.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/cult/cult_bastard_sword.dm + +

+ + +
/obj/item/cult_bastardCult Bastard Sword, earned by cultists when they manage to sacrifice a heretic.
+ + + diff --git a/code/modules/antagonists/cult/cult_comms.html b/code/modules/antagonists/cult/cult_comms.html new file mode 100644 index 00000000000..cafeb22e6ac --- /dev/null +++ b/code/modules/antagonists/cult/cult_comms.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/cult/cult_comms.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/cult/cult_comms.dm + +

+ + +
/datum/action/innate/cult/master/pulseELDRITCH PULSE
+ + + diff --git a/code/modules/antagonists/cult/cult_items.html b/code/modules/antagonists/cult/cult_items.html new file mode 100644 index 00000000000..2f810c9a7d3 --- /dev/null +++ b/code/modules/antagonists/cult/cult_items.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/antagonists/cult/cult_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_items.dm + +

+ + + +
MAX_SHUTTLE_CURSEShow many times can the shuttle be cursed?
SHUTTLE_CURSE_OMFG_TIMESPANif the max number of shuttle curses are used within this duration, the entire cult gets an achievement

Define Details

+

MAX_SHUTTLE_CURSES + + +

+

how many times can the shuttle be cursed?

SHUTTLE_CURSE_OMFG_TIMESPAN + + +

+

if the max number of shuttle curses are used within this duration, the entire cult gets an achievement

+ + + diff --git a/code/modules/antagonists/cult/cult_structure_altar.html b/code/modules/antagonists/cult/cult_structure_altar.html new file mode 100644 index 00000000000..2b300714e61 --- /dev/null +++ b/code/modules/antagonists/cult/cult_structure_altar.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/cult_structure_altar.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_structure_altar.dm + +

+ + +
ELDRITCH_WHETSTONESome defines for items the cult altar can create.

Define Details

+

ELDRITCH_WHETSTONE + + +

+

Some defines for items the cult altar can create.

+ + + diff --git a/code/modules/antagonists/cult/cult_structure_archives.html b/code/modules/antagonists/cult/cult_structure_archives.html new file mode 100644 index 00000000000..6985793dd31 --- /dev/null +++ b/code/modules/antagonists/cult/cult_structure_archives.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/cult_structure_archives.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_structure_archives.dm + +

+ + +
CULT_BLINDFOLDSome defines for items the cult archives can create.

Define Details

+

CULT_BLINDFOLD + + +

+

Some defines for items the cult archives can create.

+ + + diff --git a/code/modules/antagonists/cult/cult_structure_forge.html b/code/modules/antagonists/cult/cult_structure_forge.html new file mode 100644 index 00000000000..1f4a1e4720b --- /dev/null +++ b/code/modules/antagonists/cult/cult_structure_forge.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/cult_structure_forge.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/cult/cult_structure_forge.dm + +

+ + +
NARSIE_ARMORSome defines for items the daemon forge can create.

Define Details

+

NARSIE_ARMOR + + +

+

Some defines for items the daemon forge can create.

+ + + diff --git a/code/modules/antagonists/cult/runes.html b/code/modules/antagonists/cult/runes.html new file mode 100644 index 00000000000..fd116894523 --- /dev/null +++ b/code/modules/antagonists/cult/runes.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/cult/runes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/cult/runes.dm + +

+ + + + + + + +
/proc/generate_cult_rune_typesReturns an associated list of rune types. [rune.cultist_name] = [typepath]
/proc/started_narsie_summonWhen narsie begins to be summoned, slowly dim the saturation of parallax and starlight
/proc/failed_narsie_summonSummon failed, time to work backwards
+ + + diff --git a/code/modules/antagonists/disease/disease_abilities.html b/code/modules/antagonists/disease/disease_abilities.html new file mode 100644 index 00000000000..3c74dea750e --- /dev/null +++ b/code/modules/antagonists/disease/disease_abilities.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/disease/disease_abilities.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/disease/disease_abilities.dm + +

+ + + + + + +
/datum/disease_ability/symptom/mildBASE SYMPTOM TYPES
/datum/disease_ability/symptom/mild/coughMILD
/datum/disease_ability/symptom/medium/sheddingMEDIUM
/datum/disease_ability/symptom/powerful/firePOWERFUL
/datum/disease_ability/symptom/powerful/heal/starlightHEALING SUBTYPE
+ + + diff --git a/code/modules/antagonists/fugitive/hunters/hunter_gear.html b/code/modules/antagonists/fugitive/hunters/hunter_gear.html new file mode 100644 index 00000000000..562f045afd9 --- /dev/null +++ b/code/modules/antagonists/fugitive/hunters/hunter_gear.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/fugitive/hunters/hunter_gear.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/fugitive/hunters/hunter_gear.dm + +

+ + + + +
/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter/psykerPsyker-friendly shuttle gear!
/obj/item/reagent_containers/hypospray/medipen/gorePsyker gear
/obj/machinery/fugitive_locatorLocates a random, living fugitive and reports their name/location on a 40 second cooldown.
+ + + diff --git a/code/modules/antagonists/heretic/heretic_antag.html b/code/modules/antagonists/heretic/heretic_antag.html new file mode 100644 index 00000000000..5a53916347b --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_antag.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/heretic/heretic_antag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_antag.dm + +

+ + + + + +
/datum/antagonist/hereticThe heretic antagonist itself.
/datum/objective/minor_sacrificeHeretic's minor sacrifice objective. "Minor sacrifices" includes anyone.
/datum/objective/major_sacrificeHeretic's major sacrifice objective. "Major sacrifices" are heads of staff.
/datum/objective/heretic_researchHeretic's research objective. "Research" is heretic knowledge nodes (You start with some).
+ + + diff --git a/code/modules/antagonists/heretic/heretic_focus.html b/code/modules/antagonists/heretic/heretic_focus.html new file mode 100644 index 00000000000..bfbbaf64356 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_focus.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/heretic_focus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_focus.dm + +

+ + +
/datum/element/heretic_focusHeretic focus element, simple element for making an item a heretic focus, +allowing heretics to cast advanced spells (examine message included).
+ + + diff --git a/code/modules/antagonists/heretic/heretic_knowledge.html b/code/modules/antagonists/heretic/heretic_knowledge.html new file mode 100644 index 00000000000..260ea1d1e29 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_knowledge.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/antagonists/heretic/heretic_knowledge.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/heretic_knowledge.dm + +

+ + + + + + + + + + + + +
/datum/heretic_knowledgeThe datums that allow heretics to progress and learn new spells and rituals.
/datum/heretic_knowledge/spellA knowledge subtype that grants the heretic a certain spell.
/datum/heretic_knowledge/limited_amountA knowledge subtype for knowledge that can only +have a limited amount of it's resulting atoms +created at once.
/datum/heretic_knowledge/limited_amount/startingA knowledge subtype for limited_amount knowledge +used for base knowledge (the ones that make blades)
/datum/heretic_knowledge/markA knowledge subtype for heretic knowledge +that applies a mark on use.
/datum/heretic_knowledge/blade_upgradeA knowledge subtype for heretic knowledge that +upgrades their sickly blade, either on melee or range.
/datum/heretic_knowledge/curseA knowledge subtype lets the heretic curse someone with a ritual.
/datum/heretic_knowledge/summonA knowledge subtype lets the heretic summon a monster with the ritual.
KNOWLEDGE_RITUAL_POINTSThe amount of knowledge points the knowledge ritual gives on success.
/datum/heretic_knowledge/knowledge_ritualA subtype of knowledge that generates random ritual components.
/datum/heretic_knowledge/ultimateThe special final tier of knowledges that unlocks ASCENSION.

Define Details

+

KNOWLEDGE_RITUAL_POINTS + + +

+

The amount of knowledge points the knowledge ritual gives on success.

+ + + diff --git a/code/modules/antagonists/heretic/heretic_living_heart.html b/code/modules/antagonists/heretic/heretic_living_heart.html new file mode 100644 index 00000000000..697d473a190 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_living_heart.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/heretic/heretic_living_heart.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_living_heart.dm + +

+ + + +
/datum/component/living_heartApplied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.
/datum/action/cooldown/track_targetThe action associated with the living heart. +Allows a heretic to track sacrifice targets.
+ + + diff --git a/code/modules/antagonists/heretic/heretic_monsters.html b/code/modules/antagonists/heretic/heretic_monsters.html new file mode 100644 index 00000000000..4d76ea6a2b0 --- /dev/null +++ b/code/modules/antagonists/heretic/heretic_monsters.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/heretic_monsters.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/heretic_monsters.dm + +

+ + +
/datum/antagonist/heretic_monsterTracking reasons
+ + + diff --git a/code/modules/antagonists/heretic/influences.html b/code/modules/antagonists/heretic/influences.html new file mode 100644 index 00000000000..608f779759e --- /dev/null +++ b/code/modules/antagonists/heretic/influences.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/heretic/influences.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/influences.dm + +

+ + + +
NUM_INFLUENCES_PER_HERETICThe number of influences spawned per heretic
/datum/reality_smash_tracker#Reality smash tracker

Define Details

+

NUM_INFLUENCES_PER_HERETIC + + +

+

The number of influences spawned per heretic

+ + + diff --git a/code/modules/antagonists/heretic/items/hunter_rifle.html b/code/modules/antagonists/heretic/items/hunter_rifle.html new file mode 100644 index 00000000000..dd375a5490b --- /dev/null +++ b/code/modules/antagonists/heretic/items/hunter_rifle.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/heretic/items/hunter_rifle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/items/hunter_rifle.dm + +

+ + +
MAX_LIONHUNTER_RANGEThe max range we can zoom in on people from.

Define Details

+

MAX_LIONHUNTER_RANGE + + +

+

The max range we can zoom in on people from.

+ + + diff --git a/code/modules/antagonists/heretic/items/keyring.html b/code/modules/antagonists/heretic/items/keyring.html new file mode 100644 index 00000000000..daa8c29800d --- /dev/null +++ b/code/modules/antagonists/heretic/items/keyring.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/items/keyring.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/items/keyring.dm + +

+ + +
/obj/item/card/id/advanced/hereticAn ID card capable of shapeshifting to other IDs given by the Key Keepers Burden knowledge
+ + + diff --git a/code/modules/antagonists/heretic/items/labyrinth_handbook.html b/code/modules/antagonists/heretic/items/labyrinth_handbook.html new file mode 100644 index 00000000000..e3f434ce092 --- /dev/null +++ b/code/modules/antagonists/heretic/items/labyrinth_handbook.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/items/labyrinth_handbook.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/items/labyrinth_handbook.dm + +

+ + +
/obj/item/heretic_labyrinth_handbookA heretic item that spawns a barrier at the clicked turf, 3 uses
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.html b/code/modules/antagonists/heretic/knowledge/ash_lore.html new file mode 100644 index 00000000000..354d655b87b --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/ash_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/ash_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/ash_lore.dm + +

+ + +
/datum/heretic_knowledge/limited_amount/starting/base_ashGoes as follows:
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.html b/code/modules/antagonists/heretic/knowledge/blade_lore.html new file mode 100644 index 00000000000..6b811bf1143 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/blade_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/blade_lore.dm + +

+ + + + +
/datum/heretic_knowledge/limited_amount/starting/base_bladeGoes as follows:
BLADE_DANCE_COOLDOWNThe cooldown duration between trigers of blade dance
BLOOD_FLOW_PER_SEVEIRTYThe amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Torn Champion.

Define Details

+

BLADE_DANCE_COOLDOWN + + +

+

The cooldown duration between trigers of blade dance

BLOOD_FLOW_PER_SEVEIRTY + + +

+

The amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Torn Champion.

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.html b/code/modules/antagonists/heretic/knowledge/cosmic_lore.html new file mode 100644 index 00000000000..b4eea3f0f8b --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/cosmic_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/cosmic_lore.dm + +

+ + +
/datum/heretic_knowledge/limited_amount/starting/base_cosmicGoes as follows:
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.html b/code/modules/antagonists/heretic/knowledge/flesh_lore.html new file mode 100644 index 00000000000..2dc9cba8a59 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/flesh_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/flesh_lore.dm + +

+ + + + +
GHOUL_MAX_HEALTHThe max amount of health a ghoul has.
MUTE_MAX_HEALTHThe max amount of health a voiceless dead has.
/datum/heretic_knowledge/limited_amount/starting/base_fleshGoes as follows:

Define Details

+

GHOUL_MAX_HEALTH + + +

+

The max amount of health a ghoul has.

MUTE_MAX_HEALTH + + +

+

The max amount of health a voiceless dead has.

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.html b/code/modules/antagonists/heretic/knowledge/lock_lore.html new file mode 100644 index 00000000000..e58aea81e76 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/lock_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/lock_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/lock_lore.dm + +

+ + +
/datum/heretic_knowledge/limited_amount/starting/base_knockGoes as follows:
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.html b/code/modules/antagonists/heretic/knowledge/rust_lore.html new file mode 100644 index 00000000000..ecc4efb58dc --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/rust_lore.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/rust_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/rust_lore.dm + +

+ + + +
/datum/heretic_knowledge/limited_amount/starting/base_rustGoes as follows:
/datum/rust_spread#Rust spread datum
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html new file mode 100644 index 00000000000..d908c7050fe --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_buff.dm + +

+ + + +
/atom/movable/screen/alert/status_effect/unholy_determinationScreen alert for the below status effect.
/datum/status_effect/unholy_determinationThe buff given to people within the shadow realm to assist them in surviving.
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html new file mode 100644 index 00000000000..fdc00c1ba08 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm + +

+ + + + +
SACRIFICE_SLEEP_DURATIONHow long we put the target so sleep for (during sacrifice).
SACRIFICE_REALM_DURATIONHow long sacrifices must stay in the shadow realm to survive.
/datum/heretic_knowledge/hunt_and_sacrificeAllows the heretic to sacrifice living heart targets.

Define Details

+

SACRIFICE_REALM_DURATION + + +

+

How long sacrifices must stay in the shadow realm to survive.

SACRIFICE_SLEEP_DURATION + + +

+

How long we put the target so sleep for (during sacrifice).

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html new file mode 100644 index 00000000000..aa5273d1fc2 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm + +

+ + +
/obj/effect/landmark/hereticLardmarks meant to designate where heretic sacrifices are sent.
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.html b/code/modules/antagonists/heretic/knowledge/side_void_blade.html new file mode 100644 index 00000000000..6d47b95eecf --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/side_void_blade.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/heretic/knowledge/side_void_blade.dm + +

+ + + +
RISEN_MAX_HEALTHThe max health given to Shattered Risen
/obj/item/mutant_hand/shattered_risenThe "hand" "weapon" used by shattered risen

Define Details

+

RISEN_MAX_HEALTH + + +

+

The max health given to Shattered Risen

+ + + diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.html b/code/modules/antagonists/heretic/knowledge/starting_lore.html new file mode 100644 index 00000000000..9e3e3be4e86 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/starting_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/starting_lore.dm + +

+ + + + + + +
/proc/initialize_starting_knowledgeReturns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.
/datum/heretic_knowledge/living_heartThe Living Heart heretic knowledge.
/datum/heretic_knowledge/amber_focusAllows the heretic to craft a spell focus. +They require a focus to cast advanced spells.
/datum/heretic_knowledge/codex_cicatrixCodex Cicatrixi is available at the start: +This allows heretics to choose if they want to rush all the influences and take them stealthily, or +Construct a codex and take what's left with more points. +Another downside to having the book is strip searches, which means that it's not just a free nab, at least until you get exposed - and when you do, you'll probably need the faster drawing speed. +Overall, it's a tradeoff between speed and stealth or power.
+ + + diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.html b/code/modules/antagonists/heretic/knowledge/void_lore.html new file mode 100644 index 00000000000..e53f4264392 --- /dev/null +++ b/code/modules/antagonists/heretic/knowledge/void_lore.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/knowledge/void_lore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/knowledge/void_lore.dm + +

+ + +
/datum/heretic_knowledge/limited_amount/starting/base_voidGoes as follows:
+ + + diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.html b/code/modules/antagonists/heretic/magic/ash_ascension.html new file mode 100644 index 00000000000..ed52577cf39 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/ash_ascension.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/heretic/magic/ash_ascension.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/magic/ash_ascension.dm + +

+ + + + +
/datum/action/cooldown/spell/fire_swornCreates a constant Ring of Fire around the caster for a set duration of time, which follows them.
/datum/status_effect/fire_ringSimple status effect for adding a ring of fire around a mob.
/datum/action/cooldown/spell/fire_cascadeCreates one, large, expanding ring of fire around the caster, which does not follow them.
+ + + diff --git a/code/modules/antagonists/heretic/magic/cosmic_runes.html b/code/modules/antagonists/heretic/magic/cosmic_runes.html new file mode 100644 index 00000000000..0b9551e8022 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/cosmic_runes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/magic/cosmic_runes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/magic/cosmic_runes.dm + +

+ + +
/obj/effect/cosmic_runeA rune that allows you to teleport to the location of a linked rune.
+ + + diff --git a/code/modules/antagonists/heretic/magic/fire_blast.html b/code/modules/antagonists/heretic/magic/fire_blast.html new file mode 100644 index 00000000000..bd1a5dd645a --- /dev/null +++ b/code/modules/antagonists/heretic/magic/fire_blast.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/heretic/magic/fire_blast.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/magic/fire_blast.dm + +

+ + +
/datum/status_effect/fire_blastedStatus effect applied when someone's hit by the fire blast.
+ + + diff --git a/code/modules/antagonists/heretic/magic/shadow_cloak.html b/code/modules/antagonists/heretic/magic/shadow_cloak.html new file mode 100644 index 00000000000..fa206b89401 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/shadow_cloak.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/magic/shadow_cloak.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/magic/shadow_cloak.dm + +

+ + +
/datum/status_effect/shadow_cloakShadow cloak effect. Conceals the owner in a cloud of purple smoke, making them unidentifiable. +Also comes with some other buffs and debuffs - faster movespeed, slower actionspeed, etc.
+ + + diff --git a/code/modules/antagonists/heretic/magic/space_crawl.html b/code/modules/antagonists/heretic/magic/space_crawl.html new file mode 100644 index 00000000000..5cbcf3c3517 --- /dev/null +++ b/code/modules/antagonists/heretic/magic/space_crawl.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/magic/space_crawl.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/magic/space_crawl.dm + +

+ + + +
/datum/action/cooldown/spell/jaunt/space_crawl
/obj/item/space_crawlSpacecrawl "hands", prevent the user from holding items in spacecrawl
+ + + diff --git a/code/modules/antagonists/heretic/status_effects/buffs.html b/code/modules/antagonists/heretic/status_effects/buffs.html new file mode 100644 index 00000000000..2d2534ed3fa --- /dev/null +++ b/code/modules/antagonists/heretic/status_effects/buffs.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/heretic/status_effects/buffs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/status_effects/buffs.dm + +

+ + + +
/datum/status_effect/protective_bladesSummons multiple foating knives around the owner. +Each knife will block an attack straight up.
/datum/status_effect/protective_blades/rechargingA subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed
+ + + diff --git a/code/modules/antagonists/heretic/transmutation_rune.html b/code/modules/antagonists/heretic/transmutation_rune.html new file mode 100644 index 00000000000..ea46b9d266c --- /dev/null +++ b/code/modules/antagonists/heretic/transmutation_rune.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/heretic/transmutation_rune.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/heretic/transmutation_rune.dm + +

+ + + +
/obj/effect/heretic_runeThe heretic's rune, which they use to complete transmutation rituals.
/obj/effect/heretic_rune/bigA 3x3 heretic rune. The kind heretics actually draw in game.
+ + + diff --git a/code/modules/antagonists/hypnotized/hypnotized.html b/code/modules/antagonists/hypnotized/hypnotized.html new file mode 100644 index 00000000000..e41b3daa015 --- /dev/null +++ b/code/modules/antagonists/hypnotized/hypnotized.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/hypnotized/hypnotized.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/hypnotized/hypnotized.dm + +

+ + +
/datum/antagonist/hypnotizedAntag datum associated with the hypnosis brain trauma, used for displaying objectives and antag hud
+ + + diff --git a/code/modules/antagonists/malf_ai/malf_ai.html b/code/modules/antagonists/malf_ai/malf_ai.html new file mode 100644 index 00000000000..954628481d1 --- /dev/null +++ b/code/modules/antagonists/malf_ai/malf_ai.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/antagonists/malf_ai/malf_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/malf_ai/malf_ai.dm + +

+ + +
PROB_SPECIALChance the malf AI gets a single special objective that isn't assassinate.

Define Details

+

PROB_SPECIAL + + +

+

Chance the malf AI gets a single special objective that isn't assassinate.

+ + + diff --git a/code/modules/antagonists/malf_ai/malf_ai_module_picker.html b/code/modules/antagonists/malf_ai/malf_ai_module_picker.html new file mode 100644 index 00000000000..3588a71e62c --- /dev/null +++ b/code/modules/antagonists/malf_ai/malf_ai_module_picker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/malf_ai/malf_ai_module_picker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/malf_ai/malf_ai_module_picker.dm + +

+ + +
/datum/module_pickerThe datum and interface for the malf unlock menu, which lets them choose actions to unlock.
+ + + diff --git a/code/modules/antagonists/malf_ai/malf_ai_modules.html b/code/modules/antagonists/malf_ai/malf_ai_modules.html new file mode 100644 index 00000000000..4f6ae362098 --- /dev/null +++ b/code/modules/antagonists/malf_ai/malf_ai_modules.html @@ -0,0 +1,50 @@ + + + + + + + code/modules/antagonists/malf_ai/malf_ai_modules.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/malf_ai/malf_ai_modules.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/action/innate/aiThe malf AI action subtype. All malf actions are subtypes of this.
/datum/action/innate/ai/rangedFramework for ranged abilities that can have different effects by left-clicking stuff.
/datum/ai_moduleThe base module type, which holds info about each ability.
/datum/ai_module/destructiveModules causing destruction
/datum/ai_module/utilityModules with stealthy and utility uses
/datum/ai_module/upgradeModules that are improving AI abilities and assets
/datum/ai_module/destructive/nuke_stationDoomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely.
/datum/ai_module/destructive/lockdownHostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset.
/proc/_malf_ai_undo_lockdownFor Lockdown malf AI ability. Opens all doors on the station.
/datum/ai_module/destructive/override_machineOverride Machine: Allows the AI to override a machine, animating it into an angry, living version of itself.
/datum/ai_module/destructive/destroy_rcdDestroy RCDs: Detonates all non-cyborg RCDs on the station.
/datum/ai_module/destructive/overload_machineOverload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase.
/datum/ai_module/destructive/blackoutBlackout: Overloads a random number of lights across the station. Three uses.
/datum/ai_module/destructive/megahonkHIGH IMPACT HONKING
/datum/ai_module/utility/place_cyborg_transformerRobotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting.
/datum/ai_module/utility/break_air_alarmsAir Alarm Safety Override: Unlocks the ability to enable dangerous modes on all air alarms.
/datum/ai_module/utility/break_fire_alarmsThermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job.
/datum/ai_module/utility/emergency_lightsDisable Emergency Lights
/datum/ai_module/utility/reactivate_camerasReactivate Camera Network: Reactivates up to 30 cameras across the station.
/datum/ai_module/upgrade/upgrade_camerasUpgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision.
/datum/ai_module/upgrade/upgrade_turretsAI Turret Upgrade: Increases the health and damage of all turrets.
/datum/ai_module/upgrade/eavesdropEnhanced Surveillance: Enables AI to hear conversations going on near its active vision.
/datum/ai_module/upgrade/mecha_dominationUnlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right?
+ + + diff --git a/code/modules/antagonists/nightmare/nightmare_equipment.html b/code/modules/antagonists/nightmare/nightmare_equipment.html new file mode 100644 index 00000000000..a0f21ce9690 --- /dev/null +++ b/code/modules/antagonists/nightmare/nightmare_equipment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/nightmare/nightmare_equipment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/nightmare/nightmare_equipment.dm + +

+ + +
/obj/item/light_eaterAn armblade that instantly snuffs out lights
+ + + diff --git a/code/modules/antagonists/nightmare/nightmare_organs.html b/code/modules/antagonists/nightmare/nightmare_organs.html new file mode 100644 index 00000000000..09dda105226 --- /dev/null +++ b/code/modules/antagonists/nightmare/nightmare_organs.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/antagonists/nightmare/nightmare_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/nightmare/nightmare_organs.dm + +

+ + + +
HEART_RESPAWN_THRESHHOLDHow many life ticks are required for the nightmare's heart to revive the nightmare.
HEART_SPECIAL_SHADOWIFYA special flag value used to make a nightmare heart not grant a light eater. Appears to be unused.

Define Details

+

HEART_RESPAWN_THRESHHOLD + + +

+

How many life ticks are required for the nightmare's heart to revive the nightmare.

HEART_SPECIAL_SHADOWIFY + + +

+

A special flag value used to make a nightmare heart not grant a light eater. Appears to be unused.

+ + + diff --git a/code/modules/antagonists/nightmare/nightmare_species.html b/code/modules/antagonists/nightmare/nightmare_species.html new file mode 100644 index 00000000000..81278c2f147 --- /dev/null +++ b/code/modules/antagonists/nightmare/nightmare_species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/nightmare/nightmare_species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/nightmare/nightmare_species.dm + +

+ + +
/datum/species/shadow/nightmareA highly aggressive subset of shadowlings
+ + + diff --git a/code/modules/antagonists/ninja/energy_katana.html b/code/modules/antagonists/ninja/energy_katana.html new file mode 100644 index 00000000000..1fc86f05062 --- /dev/null +++ b/code/modules/antagonists/ninja/energy_katana.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/ninja/energy_katana.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/ninja/energy_katana.dm + +

+ + +
/obj/item/energy_katanaThe space ninja's katana.
+ + + diff --git a/code/modules/antagonists/ninja/energy_net_nets.html b/code/modules/antagonists/ninja/energy_net_nets.html new file mode 100644 index 00000000000..9694a3bf96f --- /dev/null +++ b/code/modules/antagonists/ninja/energy_net_nets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/ninja/energy_net_nets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/ninja/energy_net_nets.dm + +

+ + +
/obj/structure/energy_netEnergy net which ensnares prey until it is destroyed. Used by space ninjas.
+ + + diff --git a/code/modules/antagonists/ninja/ninja_clothing.html b/code/modules/antagonists/ninja/ninja_clothing.html new file mode 100644 index 00000000000..4b1f55f6e30 --- /dev/null +++ b/code/modules/antagonists/ninja/ninja_clothing.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/ninja/ninja_clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/ninja/ninja_clothing.dm + +

+ + +
/obj/item/clothing/mask/gas/ninjaSpace ninja's mask. Other than looking cool, doesn't do anything.
+ + + diff --git a/code/modules/antagonists/ninja/ninja_explosive.html b/code/modules/antagonists/ninja/ninja_explosive.html new file mode 100644 index 00000000000..980b96f9f38 --- /dev/null +++ b/code/modules/antagonists/ninja/ninja_explosive.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/ninja/ninja_explosive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/ninja/ninja_explosive.dm + +

+ + +
/obj/item/grenade/c4/ninjaA unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.
+ + + diff --git a/code/modules/antagonists/ninja/ninja_stars.html b/code/modules/antagonists/ninja/ninja_stars.html new file mode 100644 index 00000000000..30f6a301cca --- /dev/null +++ b/code/modules/antagonists/ninja/ninja_stars.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/ninja/ninja_stars.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/ninja/ninja_stars.dm + +

+ + +
/obj/item/throwing_star/stamina/ninjaa throwing star which specifically makes sure you know it came from a real ninja.
+ + + diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.html b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.html new file mode 100644 index 00000000000..ea59bc298f9 --- /dev/null +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/nukeop/equipment/nuclear_bomb/_nuclear_bomb.dm + +

+ + + + + +
/proc/nuke_gibHelper proc that handles gibbing someone who has been nuked.
/proc/callback_on_everyone_on_zInvokes a callback on every living mob on the provided z level.
+ + + diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.html b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.html new file mode 100644 index 00000000000..36dc439e30c --- /dev/null +++ b/code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/nukeop/equipment/nuclear_bomb/beer_nuke.dm + +

+ + +
/obj/machinery/nuclearbomb/beerA fake nuke that actually contains beer.
+ + + diff --git a/code/modules/antagonists/nukeop/equipment/nuclear_challenge.html b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.html new file mode 100644 index 00000000000..1d269832a20 --- /dev/null +++ b/code/modules/antagonists/nukeop/equipment/nuclear_challenge.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/nukeop/equipment/nuclear_challenge.dm + +

+ + +
/obj/item/nuclear_challenge/literally_just_does_the_messageSubtype that does nothing but plays the war op message. Intended for debugging
+ + + diff --git a/code/modules/antagonists/nukeop/nukeop.html b/code/modules/antagonists/nukeop/nukeop.html new file mode 100644 index 00000000000..448acd43336 --- /dev/null +++ b/code/modules/antagonists/nukeop/nukeop.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/nukeop/nukeop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/nukeop/nukeop.dm + +

+ + + +
/proc/is_infiltrator_docked_at_syndiebaseReturns whether or not syndicate operatives escaped.
+ + + diff --git a/code/modules/antagonists/obsessed/obsessed.html b/code/modules/antagonists/obsessed/obsessed.html new file mode 100644 index 00000000000..84e8d0b9829 --- /dev/null +++ b/code/modules/antagonists/obsessed/obsessed.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/obsessed/obsessed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/obsessed/obsessed.dm + +

+ + +
/datum/objective/assassinate/obsessedCREEPY objectives (few chosen per obsession)
+ + + diff --git a/code/modules/antagonists/paradox_clone/paradox_clone.html b/code/modules/antagonists/paradox_clone/paradox_clone.html new file mode 100644 index 00000000000..9291a9fa112 --- /dev/null +++ b/code/modules/antagonists/paradox_clone/paradox_clone.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/paradox_clone/paradox_clone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/paradox_clone/paradox_clone.dm + +

+ + +
/datum/objective/assassinate/paradox_cloneParadox clone assassinate objective +Similar to the original, but with a different flavortext.
+ + + diff --git a/code/modules/antagonists/pirate/pirate_event.html b/code/modules/antagonists/pirate/pirate_event.html new file mode 100644 index 00000000000..77408ba34b3 --- /dev/null +++ b/code/modules/antagonists/pirate/pirate_event.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/pirate/pirate_event.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/pirate/pirate_event.dm + +

+ + + +
/proc/pirates_answeredIf there was nothing to pull from our requested list, stop here.
+ + + diff --git a/code/modules/antagonists/pirate/pirate_gangs.html b/code/modules/antagonists/pirate/pirate_gangs.html new file mode 100644 index 00000000000..f82bd90960f --- /dev/null +++ b/code/modules/antagonists/pirate/pirate_gangs.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/antagonists/pirate/pirate_gangs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/pirate/pirate_gangs.dm + +

+ + + + + + + + + + +
/proc/init_pirate_gangsinitializes the pirate gangs glob list, adding all subtypes that can roll today.
/datum/pirate_gangdatum for a pirate team that is spawning to attack the station.
/datum/pirate_gang/roguesclassic FTL-esque space pirates.
/datum/pirate_gang/silverscalesaristocrat lizards looking to hunt the serfs
/datum/pirate_gang/skeletonsundead skeleton crew looking for booty
/datum/pirate_gang/interdyneExpirienced formed employes of Interdyne Pharmaceutics now in a path of thievery and reckoning
/datum/pirate_gang/greyPrevious Nanotrasen Assitant workers fired for many reasons now looking for revenge and your bank account.
/datum/pirate_gang/irsAgents from the space I.R.S. heavily armed to stea- I mean, collect the station's tax dues
+ + + diff --git a/code/modules/antagonists/pirate/pirate_shuttle_equipment.html b/code/modules/antagonists/pirate/pirate_shuttle_equipment.html new file mode 100644 index 00000000000..073647dd0f2 --- /dev/null +++ b/code/modules/antagonists/pirate/pirate_shuttle_equipment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/pirate/pirate_shuttle_equipment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/pirate/pirate_shuttle_equipment.dm + +

+ + +
/obj/item/disk/surgery/irsSurgery disk for the space IRS (I don't know where to dump them anywhere else)
+ + + diff --git a/code/modules/antagonists/revenant/haunted_item.html b/code/modules/antagonists/revenant/haunted_item.html new file mode 100644 index 00000000000..c3e0bc4d2e0 --- /dev/null +++ b/code/modules/antagonists/revenant/haunted_item.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/revenant/haunted_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/revenant/haunted_item.dm + +

+ + + + +
/datum/component/haunted_itemMakes our item SUPER spooky! +Adds the haunted element and some other bonuses
/proc/haunt_outburstTakes a given area and chance, applying the haunted_item component to objects in the area.
+ + + diff --git a/code/modules/antagonists/revolution/enemy_of_the_state.html b/code/modules/antagonists/revolution/enemy_of_the_state.html new file mode 100644 index 00000000000..471e855b25a --- /dev/null +++ b/code/modules/antagonists/revolution/enemy_of_the_state.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/revolution/enemy_of_the_state.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/revolution/enemy_of_the_state.dm + +

+ + +
/datum/antagonist/enemy_of_the_stateWhen the station wins, any remaining living headrevs become Enemies of the State, a small solo antagonist. +They either have the choice to fuck off and do their own thing, or try and regain their honor with a hijack.
+ + + diff --git a/code/modules/antagonists/separatist/nation_creation.html b/code/modules/antagonists/separatist/nation_creation.html new file mode 100644 index 00000000000..ccf13ee10f0 --- /dev/null +++ b/code/modules/antagonists/separatist/nation_creation.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/separatist/nation_creation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/separatist/nation_creation.dm + +

+ + + +
/proc/create_separatist_nation
+ + + diff --git a/code/modules/antagonists/shade/shade_minion.html b/code/modules/antagonists/shade/shade_minion.html new file mode 100644 index 00000000000..6a6979140e4 --- /dev/null +++ b/code/modules/antagonists/shade/shade_minion.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/shade/shade_minion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/shade/shade_minion.dm + +

+ + +
/datum/antagonist/shade_minionThis datum is for use by shades who have a master but are not cultists. +Cult shades don't get it because they get the cult datum instead. +They are bound to follow the orders of their creator, probably a chaplain or miner. +Technically they're not 'antagonists' but they have antagonist-like properties.
+ + + diff --git a/code/modules/antagonists/space_dragon/carp_rift.html b/code/modules/antagonists/space_dragon/carp_rift.html new file mode 100644 index 00000000000..27973bd5aae --- /dev/null +++ b/code/modules/antagonists/space_dragon/carp_rift.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/antagonists/space_dragon/carp_rift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/space_dragon/carp_rift.dm + +

+ + + + + +
CHARGE_ONGOINGThe carp rift is currently charging.
CHARGE_FINALWARNINGThe carp rift is currently charging and has output a final warning.
CHARGE_COMPLETEDThe carp rift is now fully charged.
/obj/structure/carp_riftThe portals Space Dragon summons to bring carp onto the station.

Define Details

+

CHARGE_COMPLETED + + +

+

The carp rift is now fully charged.

CHARGE_FINALWARNING + + +

+

The carp rift is currently charging and has output a final warning.

CHARGE_ONGOING + + +

+

The carp rift is currently charging.

+ + + diff --git a/code/modules/antagonists/spiders/spiders.html b/code/modules/antagonists/spiders/spiders.html new file mode 100644 index 00000000000..c929cbbab56 --- /dev/null +++ b/code/modules/antagonists/spiders/spiders.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/spiders/spiders.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/spiders/spiders.dm + +

+ + +
/datum/antagonist/spider/fleshSubtype for flesh spiders who don't have a queen
+ + + diff --git a/code/modules/antagonists/traitor.html b/code/modules/antagonists/traitor.html new file mode 100644 index 00000000000..55e53256178 --- /dev/null +++ b/code/modules/antagonists/traitor.html @@ -0,0 +1,68 @@ + + + + + + + code/modules/antagonists/traitor/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Progression Traitor Balance Guide + +

+ + +

This guide will explain how the values for progression traitor works, how to balance progression traitors and what you should NOT do when balancing. +This guide will only explain progression values.

+Definitions +
    +
  • Progression points OR Progression - A currency that controls what uplink items a player can purchase and what objectives they have accessible to them. Gained passively or by completing objectives and has diminishing returns as it strays from the expected progression
  • +
  • Expected Progression - A global value that increments by a value of 1 minute every minute, representing the 'time' that a player should be at if they had not completed any objectives.
  • +
  • Objectives - An activity or job that a player can take for rewards such as TC and progression points.
  • +
  • Player - The user(s) that are playing as the antagonist in this new system.
  • +
  • Expected deviance - The amount of deviance that can be expected from the minimum and maximum progressions. Usually calculated by progression_scaling_deviance + progression_scaling_deviance * global_progression_deviance_required (explained further down)
  • +
+How it works +

This section will explain how the entire balance system works. This is an overview of the entire system.

+Progression +

Progression points is passively given to a player, and are represented as minutes (or time values) in code. The round has its own 'expected progression', which is the progression value that you'd normally have if you hadn't completed any objectives whatsoever. This is the baseline progression that all players will be at unless they're a latejoiner, and it acts as the basis for determining how much progression points a player should get over time and the cost of objectives for a specific player, if they deviate too much from this value. The idea is that they will slowly drift back towards the expected progression if they do nothing and it becomes harder for them to progress as they deviate further from the expected progression. The amount that is passively given can also vary depending on how many players there are, so that at lower populations, expected progression rises more slowly.

+Objectives +

Objectives are worth a certain amount of progression points, determined by the code. However, this can be scaled to be less if the player taking them is ahead of the expected progression. This scales exponentially, so that as a player deviates further from the expected progression, the reward diminishes exponentially, up to a reduced value of 90%. The similar thing happens in the opposite direction, with people who are lower than the expected progression getting more progression than usual for completing objectives.

+How to balanceThe traitor subsystem +
    +
  • newjoin_progression_coeff - The coefficient multiplied by the expected progression for new joining traitors to calculate their starting progression, so that they don't start from scratch
  • +
  • progression_scaling_deviance - The value that the entire system revolves around. This determines how your disadvantages are calculated, if you stray from the expected progression. Having a progression value that is progression_scaling_deviance minutes off of the expected progression means that you won't get any progression at all, and if objectives were configured to suit this, you'd have the highest reduction you can possibly get. From the expected progression to this value, it scales linearly and it also works in the opposite direction.
  • +
  • current_progression_scaling - Defined at compile time, this determines how fast expected progression scales. So if you have it set to 0.5 MINUTES, it'll take twice as long to unlock uplink items and new objectives.
  • +
  • CONFIG:TRAITOR_IDEAL_PLAYER_COUNT - The ideal player count before expected progression stops increasing. If the living player list gets below this value, the current progression scaling will be multiplied by player_count/traitor_ideal_player_count. In essence, this makes it so that progression scales more slowly when there isn't a lot of people alive.
  • +
+

If you want to balance how fast the system progresses, you should look at modifying current_progression_scaling. If you want to balance how far someone should be allowed to deviate, you should look at modifying progression-scaling-deviance

+Objectives +
    +
  • progression_minimum - The minimum number of progression points required before this objective can show up as a potential objective
  • +
  • progression_maximum - The maximum number of progression points before this objective stops showing up as a potential objective, used to prevent roundstart objectives from showing up during the late game.
  • +
  • progression_reward - The progression reward you get from completing an objective. This is the base value, and can also be a two element list of numbers if you want it to be random. This value is then scaled depending on whether a player is ahead or behind the expected progression
  • +
  • global_progression_influence_intensity - Determines how influential expected progression will affect the progression reward of this objective. Set to 0 to disable.
  • +
  • global_progression_deviance_required - Determines how much deviance is required before the scaling kicks in, to give objectives more leeway so that at the progression_scaling_deviance, it doesn't scale to 90% immediately.
  • +
  • progression_cost_coeff_deviance - This determines the randomness of the progression reward, to prevent all of the scaling from looking the same. Becomes a lot less significant as the scaling variable gets closer to 1.
  • +
+

If you want to balance the expected timeframe an objective should be available, you should look at changing the progression_minimum or progression_maximum. If you want to balance how much objectives reward, you may want to look at modifying progression_reward. If you want to look at balancing the cost of an objective depending on the expected progression, you may want to look at global_progression_influence_intensity. If you want to look at decreasing or increasing the deviance allowed before objectives become worthless progression-wise, you may want to look at modifying global_progression_deviance_required

+Uplink Items +
    +
  • progression_minimum - The minimum number of progression points required to purchase this uplink item.
  • +
+What NOT to do when balancingOvercompensate +

You do not want to overcompensate variables such as progression_minimum and progression_maximum. Such values need to be an accurate representation of roughly around the time a player should unlock the objective or uplink item. progression_scaling_deviance is supposed to represents the limit that a casual player can be at before it becomes significantly harder for them to progress throughout. You should expect people to be within progression_scaling_deviance + progression_scaling_deviance * global_progression_deviance_required. (Assuming progression_scaling_deviance is 20 minutes and progression_scaling_deviance_required is 0.5, 20 + 0.5 * 20 = 30; this gives us a value of 30 minutes). This is the expected deviance.

+Reward large amounts of progression points +

Progression points are passively gained, so rewarding large amounts of progression points will let people bypass the scaling as they'll immediately jump to an absurd value. A good rule of thumb is to always keep the reward within or below the expected deviance.

+ + + diff --git a/code/modules/antagonists/traitor/components/demoraliser.html b/code/modules/antagonists/traitor/components/demoraliser.html new file mode 100644 index 00000000000..27316e8fb1c --- /dev/null +++ b/code/modules/antagonists/traitor/components/demoraliser.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/traitor/components/demoraliser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/demoraliser.dm + +

+ + +
/datum/demoralise_moodsMood application categories for this objective +Used to reduce duplicate code for applying moods to players based on their state
+ + + diff --git a/code/modules/antagonists/traitor/components/traitor_objective_helpers.html b/code/modules/antagonists/traitor/components/traitor_objective_helpers.html new file mode 100644 index 00000000000..e7650f1bec0 --- /dev/null +++ b/code/modules/antagonists/traitor/components/traitor_objective_helpers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/traitor/components/traitor_objective_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/traitor_objective_helpers.dm + +

+ + +
/datum/component/traitor_objective_registerHelper component that registers signals on an object +This is not necessary to use and gives little control over the conditions
+ + + diff --git a/code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html b/code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html new file mode 100644 index 00000000000..4615aef2f97 --- /dev/null +++ b/code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/traitor_objective_limit_per_time.dm + +

+ + +
/datum/component/traitor_objective_limit_per_timeHelper component to track events on
+ + + diff --git a/code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html b/code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html new file mode 100644 index 00000000000..79ed5c94a25 --- /dev/null +++ b/code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/components/traitor_objective_mind_tracker.dm + +

+ + +
/datum/component/traitor_objective_mind_trackerHelper component to track events on
+ + + diff --git a/code/modules/antagonists/traitor/contractor/contract_teammate.html b/code/modules/antagonists/traitor/contractor/contract_teammate.html new file mode 100644 index 00000000000..be0745553c1 --- /dev/null +++ b/code/modules/antagonists/traitor/contractor/contract_teammate.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/traitor/contractor/contract_teammate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/contractor/contract_teammate.dm + +

+ + + + +
/proc/spawn_contractor_partnerSpawns a contractor partner to a spawning user, with a given key to assign to the new player.
/datum/antagonist/traitor/contractor_supportWe give a reference to the mind that'll be the support unit +Support unit gets it's own very basic antag datum for admin logging.
+ + + diff --git a/code/modules/antagonists/traitor/datum_traitor.html b/code/modules/antagonists/traitor/datum_traitor.html new file mode 100644 index 00000000000..b7ef6fc0d47 --- /dev/null +++ b/code/modules/antagonists/traitor/datum_traitor.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/antagonists/traitor/datum_traitor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/traitor/datum_traitor.dm + +

+ + + +
FLAVOR_FACTION_SYNDICATEall the employers that are syndicate
FLAVOR_FACTION_NANOTRASENall the employers that are nanotrasen

Define Details

+

FLAVOR_FACTION_NANOTRASEN + + +

+

all the employers that are nanotrasen

FLAVOR_FACTION_SYNDICATE + + +

+

all the employers that are syndicate

+ + + diff --git a/code/modules/antagonists/traitor/objective_category.html b/code/modules/antagonists/traitor/objective_category.html new file mode 100644 index 00000000000..e3e7e15941a --- /dev/null +++ b/code/modules/antagonists/traitor/objective_category.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/traitor/objective_category.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objective_category.dm + +

+ + + +
/datum/traitor_category_handlerThe traitor category handler. This is where the probability of all objectives are managed.
/datum/traitor_objective_categoryThe objective category. +Used to group up entire objectives into 1 weight objects to prevent having a +higher chance of getting an objective due to an increased number of different objective subtypes. +These are nothing but informational holders and will have no other purpose.
+ + + diff --git a/code/modules/antagonists/traitor/objectives/abstract/target_player.html b/code/modules/antagonists/traitor/objectives/abstract/target_player.html new file mode 100644 index 00000000000..686f243e2a3 --- /dev/null +++ b/code/modules/antagonists/traitor/objectives/abstract/target_player.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/traitor/objectives/abstract/target_player.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objectives/abstract/target_player.dm + +

+ + +
/datum/traitor_objective/target_playerThe point of this datum is to act as a means to group target player objectives +Not all 'target player' objectives have to be under this subtype, it's only used if you don't want duplicates among the current +children types under this type.
+ + + diff --git a/code/modules/antagonists/traitor/objectives/destroy_heirloom.html b/code/modules/antagonists/traitor/objectives/destroy_heirloom.html new file mode 100644 index 00000000000..12912a6b365 --- /dev/null +++ b/code/modules/antagonists/traitor/objectives/destroy_heirloom.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/objectives/destroy_heirloom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objectives/destroy_heirloom.dm + +

+ + +
/datum/traitor_objective/destroy_heirloom/common/assistantThis is only for assistants, because the syndies are a lot less likely to give a shit about what an assistant does, so they're a lot less likely to appear
+ + + diff --git a/code/modules/antagonists/traitor/objectives/destroy_item.html b/code/modules/antagonists/traitor/objectives/destroy_item.html new file mode 100644 index 00000000000..e26edbf89c2 --- /dev/null +++ b/code/modules/antagonists/traitor/objectives/destroy_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/objectives/destroy_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objectives/destroy_item.dm + +

+ + +
/datum/traitor_objective/destroy_item/demoraliseSuper early-game destroy objective intended to be items easily tided that the crew tends to value.
+ + + diff --git a/code/modules/antagonists/traitor/objectives/sabotage_machinery.html b/code/modules/antagonists/traitor/objectives/sabotage_machinery.html new file mode 100644 index 00000000000..70421163913 --- /dev/null +++ b/code/modules/antagonists/traitor/objectives/sabotage_machinery.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/antagonists/traitor/objectives/sabotage_machinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/objectives/sabotage_machinery.dm + +

+ + + + + + +
/proc/add_sabotage_machineMarks a machine as a possible traitor sabotage target
/datum/traitor_objective_category/sabotage_machineryTraitor objective to destroy a machine the crew cares about
/obj/item/traitor_machine_trapperItem which you use on a machine to cause it to explode next time someone interacts with it
/datum/objective_target_machine_handlerDatum which manages references to things we are instructed to destroy
+ + + diff --git a/code/modules/antagonists/traitor/traitor_objective.html b/code/modules/antagonists/traitor/traitor_objective.html new file mode 100644 index 00000000000..f14629755d7 --- /dev/null +++ b/code/modules/antagonists/traitor/traitor_objective.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/traitor/traitor_objective.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/traitor_objective.dm + +

+ + +
/datum/traitor_objectiveA traitor objective. Traitor objectives should not be deleted after they have been created and established, only failed. +If a traitor objective needs to be removed from the failed/completed objective list of their handler, then you are doing something wrong +and you should reconsider. When an objective is failed/completed, that is final and the only way you can change that is by refactoring the code.
+ + + diff --git a/code/modules/antagonists/traitor/uplink_handler.html b/code/modules/antagonists/traitor/uplink_handler.html new file mode 100644 index 00000000000..c69ffe077d4 --- /dev/null +++ b/code/modules/antagonists/traitor/uplink_handler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/traitor/uplink_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/traitor/uplink_handler.dm + +

+ + +
/datum/uplink_handlerUplink Handler
+ + + diff --git a/code/modules/antagonists/wizard/equipment/artefact.html b/code/modules/antagonists/wizard/equipment/artefact.html new file mode 100644 index 00000000000..15c5ba95a84 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/artefact.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/antagonists/wizard/equipment/artefact.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/equipment/artefact.dm + +

+ + + + + + + + +
/obj/item/veilrenderVeil Render
/obj/tear_in_realityTear in reality, spawned by the veil render
/obj/item/scryingScrying
/obj/item/necromantic_stoneNecromantic Stone
/obj/item/warp_whistleWarp whistle, spawns a tornado that teleports you
/obj/effect/temp_visual/teleporting_tornadoTeleporting tornado, spawned by warp whistle, teleports the user if they manage to pick them up.
RUNIC_SCEPTER_MAX_CHARGESScepter of Vendormancy

Define Details

+

RUNIC_SCEPTER_MAX_CHARGES + + +

+

Scepter of Vendormancy

+ + + diff --git a/code/modules/antagonists/wizard/equipment/enchanted_clown_suit.html b/code/modules/antagonists/wizard/equipment/enchanted_clown_suit.html new file mode 100644 index 00000000000..fd9229046f0 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/enchanted_clown_suit.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/wizard/equipment/enchanted_clown_suit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/enchanted_clown_suit.dm + +

+ + + + + +
/datum/action/cooldown/spell/conjure_item/clown_pocketsA spell which gives you a clown item
/datum/action/cooldown/spell/conjure_item/clown_pockets/enchantmentLonger cooldown variant which is attached to the enchanted clown suit
/obj/item/clothing/under/rank/civilian/clown/magicEnchanted clown suit
/obj/item/clothing/under/plasmaman/clown/magicEnchanted plasmaman clown suit
+ + + diff --git a/code/modules/antagonists/wizard/equipment/soulstone.html b/code/modules/antagonists/wizard/equipment/soulstone.html new file mode 100644 index 00000000000..33a19d62a74 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/soulstone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/equipment/soulstone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/soulstone.dm + +

+ + +
/obj/structure/constructshellTransferring to constructs
+ + + diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html b/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html new file mode 100644 index 00000000000..82d5b2d805b --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/equipment/spellbook_entries/_entry.dm + +

+ + + + + +
/datum/spellbook_entry
/datum/spellbook_entry/itemItem summons, they give you an item.
/datum/spellbook_entry/summonRitual, these cause station wide effects and are (pretty much) a blank slate to implement stuff in
/datum/spellbook_entry/challengeNon-purchasable flavor spells to populate the spell book with, for style.
+ + + diff --git a/code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html b/code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html new file mode 100644 index 00000000000..4c108e1aa77 --- /dev/null +++ b/code/modules/antagonists/wizard/equipment/spellbook_entries/summons.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/antagonists/wizard/equipment/spellbook_entries/summons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/equipment/spellbook_entries/summons.dm + +

+ + + +
MINIMUM_THREAT_FOR_RITUALSHow much threat we need to let these rituals happen on dynamic
/datum/spellbook_entry/summon/specific_spellA wizard ritual that allows the wizard to teach a specific spellbook enty to everyone on the station. +This includes item entries (which will be given to everyone) but disincludes other rituals like itself

Define Details

+

MINIMUM_THREAT_FOR_RITUALS + + +

+

How much threat we need to let these rituals happen on dynamic

+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/all_access.html b/code/modules/antagonists/wizard/grand_ritual/finales/all_access.html new file mode 100644 index 00000000000..546d38ea5df --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/all_access.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/all_access.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/all_access.dm + +

+ + +
/datum/grand_finale/all_accessOpen all of the doors
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/armageddon.html b/code/modules/antagonists/wizard/grand_ritual/finales/armageddon.html new file mode 100644 index 00000000000..5dcb8dc8bb8 --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/armageddon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/armageddon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/armageddon.dm + +

+ + +
/datum/grand_finale/armageddonKill yourself and probably a bunch of other people
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/captaincy.html b/code/modules/antagonists/wizard/grand_ritual/finales/captaincy.html new file mode 100644 index 00000000000..7fe5a0b1bc8 --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/captaincy.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/captaincy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/captaincy.dm + +

+ + + +
/datum/grand_finale/usurpBecome the official Captain of the station
/datum/outfit/job/wizard_captainAn outfit which replaces parts of a wizard's clothes with captain's clothes but keeps the robes
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/cheese.html b/code/modules/antagonists/wizard/grand_ritual/finales/cheese.html new file mode 100644 index 00000000000..390eba81bdc --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/cheese.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/cheese.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/cheese.dm + +

+ + +
/datum/grand_finale/cheeseGives the wizard a defensive/mood buff and a Wabbajack, a juiced up chaos staff that will surely break something. +Everyone but the wizard goes crazy, suffers major brain damage, and is given a vendetta against the wizard. +Already insane people are instead cured of their madness, ignoring any other effects as the station around them loses its marbles.
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/clown.html b/code/modules/antagonists/wizard/grand_ritual/finales/clown.html new file mode 100644 index 00000000000..5f8d6b45eac --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/clown.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/clown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/clown.dm + +

+ + + +
/datum/grand_finale/clownDress the crew as magical clowns
/datum/mood_event/clown_worldClown enjoyers who are effected by this become ecstatic, they have achieved their life's dream. +This moodlet is equivalent to the one for simply being a traitor.
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/grand_ritual_finale.html b/code/modules/antagonists/wizard/grand_ritual/finales/grand_ritual_finale.html new file mode 100644 index 00000000000..4a480ce0b1f --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/grand_ritual_finale.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/grand_ritual_finale.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/grand_ritual_finale.dm + +

+ + + + +
/datum/grand_finaleA big final event to run when you complete seven rituals
/datum/antagonist/wizard_prank_vendettaAntag datum to give to people who want to kill the wizard. +This doesn't preclude other people choosing to want to kill the wizard, just these people are rewarded for it.
/datum/grand_finale/magicGive everyone magic items, its so simple it feels pointless to give it its own file
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/immortality.html b/code/modules/antagonists/wizard/grand_ritual/finales/immortality.html new file mode 100644 index 00000000000..8fea80fb7c5 --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/immortality.html @@ -0,0 +1,44 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/immortality.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/grand_ritual/finales/immortality.dm + +

+ + + + + + + + + +
IMMORTAL_PRE_ACTIVATION_TIMEAmount of time to wait after someone dies to steal their body from their killers
IMMORTAL_RESURRECT_TIMEAmount of time it takes a mob to return to the living world
/datum/grand_finale/immortalityNobody will ever die ever again +Or if they do, they will be back
/datum/human_appearance_profileStore of data we use to recreate someone who was gibbed, like a simplified version of changeling profiles
/obj/effect/spectre_of_resurrectionA ghostly image of a mob showing where and what is going to respawn
/obj/effect/spectre_of_resurrection/humanA ressurection spectre with extra behaviour for humans
/obj/effect/temp_visual/immortality_blastVisual flair on the wizard when cast
/obj/effect/temp_visual/immortality_pulseVisual flair on living creatures who have become immortal

Define Details

+

IMMORTAL_PRE_ACTIVATION_TIME + + +

+

Amount of time to wait after someone dies to steal their body from their killers

IMMORTAL_RESURRECT_TIME + + +

+

Amount of time it takes a mob to return to the living world

+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/finales/midas.html b/code/modules/antagonists/wizard/grand_ritual/finales/midas.html new file mode 100644 index 00000000000..8ffe7d97ec5 --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/finales/midas.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/finales/midas.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/finales/midas.dm + +

+ + +
/datum/grand_finale/midasCompletely transform the station
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/fluff.html b/code/modules/antagonists/wizard/grand_ritual/fluff.html new file mode 100644 index 00000000000..06593623276 --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/fluff.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/fluff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/grand_ritual/fluff.dm + +

+ + +
/obj/item/book/manual/ancient_parchmentFluff book to hint at the cheesy grand ritual.
+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/grand_ritual.html b/code/modules/antagonists/wizard/grand_ritual/grand_ritual.html new file mode 100644 index 00000000000..8b23c9153bb --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/grand_ritual.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/grand_ritual.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/grand_ritual/grand_ritual.dm + +

+ + + + + + + + +
CHEESE_SACRIFICE_GOALTotal cheese goal to sacrifice to [REDACTED] during wizard grand rituals. +The easiest way for a wizard to procure cheese is with Summon Cheese spell, which summons 9 per cast. +The wizard needs to complete 7 rituals, so let's give them some breathing room with cheese offerings. +7 * 9 = 63, so the wizard can potentially miss two casts worth of cheese if they summon cheese on each rune.
/datum/action/cooldown/grand_ritualThe Grand Ritual is the Wizard's alternate victory condition +and also a tool to make funny distractions and progress the round state.
/obj/effect/temp_visual/wizard_runeAbstract holder for shared animation behaviour
/obj/effect/temp_visual/wizard_rune/drawingAnimates drawing a cool rune
/obj/effect/temp_visual/wizard_rune/failedDisplayed if you stop drawing it
/obj/effect/temp_visual/wizard_rune/drawing/cheeseCheese drawing
/obj/effect/temp_visual/wizard_rune/failed/cheeseCheese fail

Define Details

+

CHEESE_SACRIFICE_GOAL + + +

+

Total cheese goal to sacrifice to [REDACTED] during wizard grand rituals. +The easiest way for a wizard to procure cheese is with Summon Cheese spell, which summons 9 per cast. +The wizard needs to complete 7 rituals, so let's give them some breathing room with cheese offerings. +7 * 9 = 63, so the wizard can potentially miss two casts worth of cheese if they summon cheese on each rune.

+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/grand_rune.html b/code/modules/antagonists/wizard/grand_ritual/grand_rune.html new file mode 100644 index 00000000000..4f8c2a41d8f --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/grand_rune.html @@ -0,0 +1,50 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/grand_rune.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/grand_ritual/grand_rune.dm + +

+ + + + + + + + +
GRAND_RUNE_INVOKES_TO_COMPLETENumber of times you need to cast on the rune to complete it
BASE_INVOKE_TIMEBase time to take to invoke one stage of the rune. This is done three times to complete the rune.
ADD_INVOKE_TIMETime to add on to each step every time a previous rune is completed.
/obj/effect/grand_runeMagic rune used in the grand ritual. +A wizard sits themselves on this thing and waves their hands for a while shouting silly words. +Then something (usually bad) happens.
/obj/effect/grand_rune/finaleVariant rune used for the Final Ritual
/obj/effect/grand_rune/finale/cheesySpawned when 50 or more cheese was sacrificed during previous grand rituals. +Will spawn instead of the usual grand ritual rune, and its effect is already set and can't be changed. +Sorry, no narwal fighting on the open ocean this time.
/obj/effect/decal/cleanable/grand_remainsSpawned when we are done with the rune

Define Details

+

ADD_INVOKE_TIME + + +

+

Time to add on to each step every time a previous rune is completed.

BASE_INVOKE_TIME + + +

+

Base time to take to invoke one stage of the rune. This is done three times to complete the rune.

GRAND_RUNE_INVOKES_TO_COMPLETE + + +

+

Number of times you need to cast on the rune to complete it

+ + + diff --git a/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.html b/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.html new file mode 100644 index 00000000000..fa5e8dc0fef --- /dev/null +++ b/code/modules/antagonists/wizard/grand_ritual/grand_side_effect.html @@ -0,0 +1,55 @@ + + + + + + + code/modules/antagonists/wizard/grand_ritual/grand_side_effect.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/wizard/grand_ritual/grand_side_effect.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
/datum/grand_side_effectDescribes something which can happen in a local area when the grand ritual is completed.
/datum/grand_side_effect/spellA side effect which just casts a spell at its position
/datum/grand_side_effect/scramble_turfsCasts dimensional instability on the area
/datum/grand_side_effect/transmogrify_areaTransform the surrounding area into something else.
MIN_ANOMALIES_CREATEDMinimum number of anomalies to create
MAX_ANOMALIES_CREATEDMaximum number of anomalies to create
/datum/grand_side_effect/create_anomaliesSpawn some anomalies in the area, ones which are not too dangerous
/datum/grand_side_effect/empEMP nearby machines
/datum/grand_side_effect/translocateSwap locations of nearby mobs arbitrarily and confuse them
/datum/grand_side_effect/slipperySpawn lube in the area
/datum/grand_side_effect/summon_crewmateGrabs one person and pulls them to this location, after a delay
/datum/grand_side_effect/smokeCreate colourful smoke
/datum/effect_system/fluid_spread/smoke/colourfulSpawns randomly coloured smoke
/obj/effect/particle_effect/fluid/smoke/colourfulRandomly coloured smoke
/datum/grand_side_effect/goreMake a bloody mess
/datum/grand_side_effect/create_foodRain food in the area
/obj/effect/abstract/local_food_rainMakes food land near it until it expires
/datum/grand_side_effect/spawn_delayed_mobsSpawn some mobs after a delay
/obj/effect/temp_visual/delayed_mob_portalSpawns a mob when it expires
/datum/grand_side_effect/orchestraProvides musical accompaniment

Define Details

+

MAX_ANOMALIES_CREATED + + +

+

Maximum number of anomalies to create

MIN_ANOMALIES_CREATED + + +

+

Minimum number of anomalies to create

+ + + diff --git a/code/modules/antagonists/wizard/imp_antag.html b/code/modules/antagonists/wizard/imp_antag.html new file mode 100644 index 00000000000..e8574f4fedf --- /dev/null +++ b/code/modules/antagonists/wizard/imp_antag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/antagonists/wizard/imp_antag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/antagonists/wizard/imp_antag.dm + +

+ + +
/datum/antagonist/imp
+ + + diff --git a/code/modules/antagonists/xeno/xeno.html b/code/modules/antagonists/xeno/xeno.html new file mode 100644 index 00000000000..314ac719aea --- /dev/null +++ b/code/modules/antagonists/xeno/xeno.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/antagonists/xeno/xeno.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/antagonists/xeno/xeno.dm + +

+ + + + + +
CAPTIVE_XENO_DEADCaptive Xeno has been found dead, regardless of location.
CAPTIVE_XENO_FAILCaptive Xeno has been found alive and within the captivity area.
CAPTIVE_XENO_PASSCaptive Xeno has been found alive and outside of the captivity area.
/datum/team/xeno/captiveCaptive Xenomorphs team

Define Details

+

CAPTIVE_XENO_DEAD + + +

+

Captive Xeno has been found dead, regardless of location.

CAPTIVE_XENO_FAIL + + +

+

Captive Xeno has been found alive and within the captivity area.

CAPTIVE_XENO_PASS + + +

+

Captive Xeno has been found alive and outside of the captivity area.

+ + + diff --git a/code/modules/art/paintings.html b/code/modules/art/paintings.html new file mode 100644 index 00000000000..e97754f09ff --- /dev/null +++ b/code/modules/art/paintings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/art/paintings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/art/paintings.dm + +

+ + +
/obj/item/paint_paletteSimple painting utility.
+ + + diff --git a/code/modules/art/statues.html b/code/modules/art/statues.html new file mode 100644 index 00000000000..55d4456d1da --- /dev/null +++ b/code/modules/art/statues.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/art/statues.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/art/statues.dm + +

+ + + + + + + + + + + + + + +
SCULPT_SOUND_INCREMENTThis controls the delay for the sculpt rock breaking sound +Every 4th iterator while sculpting will emit a sound (rougly every couple of seconds)
/obj/structure/statue/uranium//////////////STATUES////////////////////////// +uranium
/obj/structure/statue/plasmaplasma
/obj/structure/statue/goldgold
/obj/structure/statue/silversilver
/obj/structure/statue/diamonddiamond
/obj/structure/statue/bananiumbananium
/obj/structure/statue/sandstonesandstone
/obj/structure/statue/snowsnow
/obj/structure/statue/bronzebronze
/obj/structure/statue/elder_atmosianElder Atmosian
/obj/structure/statue/goliathGoliath
/obj/item/chiselOther Stuff

Define Details

+

SCULPT_SOUND_INCREMENT + + +

+

This controls the delay for the sculpt rock breaking sound +Every 4th iterator while sculpting will emit a sound (rougly every couple of seconds)

+ + + diff --git a/code/modules/assembly/infrared.html b/code/modules/assembly/infrared.html new file mode 100644 index 00000000000..9d9f907a477 --- /dev/null +++ b/code/modules/assembly/infrared.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/assembly/infrared.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/assembly/infrared.dm + +

+ + +
/obj/effect/beam/i_beamIBeam
+ + + diff --git a/code/modules/asset_cache.html b/code/modules/asset_cache.html new file mode 100644 index 00000000000..cc47eaaab6b --- /dev/null +++ b/code/modules/asset_cache.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/asset_cache/readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Asset cache system + +

+ + +
Framework for managing browser assets (javascript,css,images,etc) +

This manages getting the asset to the client without doing unneeded re-sends, as well as utilizing any configured cdns.

+

There are two frameworks for using this system:

+Asset datum: +

Make a datum in asset_list_items.dm with your browser assets for your thing.

+

Checkout asset_list.dm for the helper subclasses

+

The simple subclass will most likely be of use for most cases.

+

Call get_asset_datum() with the type of the datum you created to get your asset cache datum

+

Call .send(client|usr) on that datum to send the asset to the client. Depending on the asset transport this may or may not block.

+

Call .get_url_mappings() to get an associated list with the urls your assets can be found at.

+Manual backend: +

See the documentation for /datum/asset_transport for the backend api the asset datums utilize.

+

The global variable SSassets.transport contains the currently configured transport.

+Notes: +

Because byond browse() calls use non-blocking queues, if your code uses output() (which bypasses all of these queues) to invoke javascript functions you will need to first have the javascript announce to the server it has loaded before trying to invoke js functions.

+

To make your code work with any CDNs configured by the server, you must make sure assets are referenced from the url returned by get_url_mappings() or by asset_transport's get_asset_url(). (TGUI also has helpers for this.) If this can not be easily done, you can bypass the cdn using legacy assets, see the simple asset datum for details.

+

CSS files that use url() can be made to use the CDN without needing to rewrite all url() calls in code by using the namespaced helper datum. See the documentation for /datum/asset/simple/namespaced for details.

+ + + diff --git a/code/modules/asset_cache/asset_cache_item.html b/code/modules/asset_cache/asset_cache_item.html new file mode 100644 index 00000000000..7a705907e3e --- /dev/null +++ b/code/modules/asset_cache/asset_cache_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/asset_cache_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/asset_cache_item.dm + +

+ + +
/datum/asset_cache_itemAn internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.
+ + + diff --git a/code/modules/asset_cache/asset_list.html b/code/modules/asset_cache/asset_list.html new file mode 100644 index 00000000000..269aed786d6 --- /dev/null +++ b/code/modules/asset_cache/asset_list.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/asset_cache/asset_list.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/asset_list.dm + +

+ + + + +
/datum/asset/simpleIf you don't need anything complicated.
/datum/asset/simple/namespacedNamespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)
/datum/asset/jsonA subtype to generate a JSON file from a list
+ + + diff --git a/code/modules/asset_cache/assets/body_zones.html b/code/modules/asset_cache/assets/body_zones.html new file mode 100644 index 00000000000..e6b32b19fcd --- /dev/null +++ b/code/modules/asset_cache/assets/body_zones.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/assets/body_zones.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/assets/body_zones.dm + +

+ + +
/datum/asset/simple/body_zonesSpritesheet for body zones. Necessary if your tgui uses BodyZoneSelector
+ + + diff --git a/code/modules/asset_cache/assets/chemmaster.html b/code/modules/asset_cache/assets/chemmaster.html new file mode 100644 index 00000000000..72a46e8b5c8 --- /dev/null +++ b/code/modules/asset_cache/assets/chemmaster.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/assets/chemmaster.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/assets/chemmaster.dm + +

+ + +
/datum/asset/spritesheet/chemmasterIcons for containers printed in ChemMaster
+ + + diff --git a/code/modules/asset_cache/assets/crafting.html b/code/modules/asset_cache/assets/crafting.html new file mode 100644 index 00000000000..4e72a789240 --- /dev/null +++ b/code/modules/asset_cache/assets/crafting.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/assets/crafting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/assets/crafting.dm + +

+ + +
/datum/asset/spritesheet/craftingRepresentative icons for the contents of each crafting recipe
+ + + diff --git a/code/modules/asset_cache/assets/uplink.html b/code/modules/asset_cache/assets/uplink.html new file mode 100644 index 00000000000..49f3e091fc2 --- /dev/null +++ b/code/modules/asset_cache/assets/uplink.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/assets/uplink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/assets/uplink.dm + +

+ + +
/datum/asset/json/uplinkSends information needed for uplinks
+ + + diff --git a/code/modules/asset_cache/transports/asset_transport.html b/code/modules/asset_cache/transports/asset_transport.html new file mode 100644 index 00000000000..7e4775b0f1e --- /dev/null +++ b/code/modules/asset_cache/transports/asset_transport.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/asset_cache/transports/asset_transport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/asset_cache/transports/asset_transport.dm + +

+ + + +
ASSET_CACHE_TELL_CLIENT_AMOUNTWhen sending mutiple assets, how many before we give the client a quaint little sending resources message
/datum/asset_transportBase browse_rsc asset transport

Define Details

+

ASSET_CACHE_TELL_CLIENT_AMOUNT + + +

+

When sending mutiple assets, how many before we give the client a quaint little sending resources message

+ + + diff --git a/code/modules/asset_cache/transports/webroot_transport.html b/code/modules/asset_cache/transports/webroot_transport.html new file mode 100644 index 00000000000..ffe769da4ac --- /dev/null +++ b/code/modules/asset_cache/transports/webroot_transport.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/asset_cache/transports/webroot_transport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/asset_cache/transports/webroot_transport.dm + +

+ + +
/datum/asset_transport/webrootCDN Webroot asset transport.
+ + + diff --git a/code/modules/atmospherics/Atmospherics.html b/code/modules/atmospherics/Atmospherics.html new file mode 100644 index 00000000000..beff7c766cd --- /dev/null +++ b/code/modules/atmospherics/Atmospherics.html @@ -0,0 +1,378 @@ + + + + + + + code/modules/atmospherics/Atmospherics.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Atmospherics + +

+ + +
1. Preamble +

This file will be written in the first person in the interest of having a laid back style, as some of the concepts here would be ass to read as technical writing. Understand that this isn't the work of one person, but the combined efforts of several contributors. It is a living document, and one you should strive to keep up to date.

+

I have stolen adapted this document from the work of duncathan, an off and on maintainer who is responsible for the majority of the quality of the current atmos system. He pushed through several code cleanliness and sanity refactors to the system, and wrote the rundown of gas mixtures you'll find in this document. See the original for his draft.

+

Now, the purpose of this bit of documentation.

+

Over the history of /tg/ there have been several periods where one or no active coders understood how atmospherics works, or even how it was intended to work. We've lost several major pieces of functionality, not because none knew how they worked, but because none knew that they should work, or even that they existed.

+

Atmospherics tends to be a somewhat cloudy corner of our codebase, unless you know exactly what to look for noticing that something is broken can be a feat in and of itself.

+

My goal here is to solve that problem once and for all. Not everything will be documented in this file, I won't go line by line. I will however describe how things ought to work, and how some of the more complex stuff is meant to run.

+

Atmospherics is a very complicated and intimidating system of SS13, and as such very few contributors have ever made changes to it. Even fewer is the number of contributors who have made changes to the more fundamental aspects of atmos, such as Environmental Atmos or gas mixtures. There are several other factors for this, of course. In the case of Environmental, its arcane nature coupled with its extremely important gameplay effects leave it a very undesirable target for even the least sane coder. As for gas mixtures, they were virtually untouchable without extensive reworks of the code. This paste-bin is a good example; it lists all the files one would need to make changes in order to add a new type of gas in the old system. As you can imagine, the sheer bulk of work one would need to do to accomplish this essentially invalidated any such attempts. However, my primary goal is to bring atmos to a state where any coder will be able to understand how and why it works, as well as cleanly and relatively easily make changes or additions to the system. While much progress to this end has been achieved, still very few have taken advantage of the new frameworks to try to implement meaningful features or changes. The purpose of this document is to lay out the inner workings of the entire atmos system, such that someone who does not have an intimate understand of the system like myself will be able to contribute to the system nonetheless.

+

Recognizing this desire, I hope and believe that you who are reading this are willing to learn and contribute.

+

Thank you.

+2. Introduction to Atmos +

Hello! So glad you could join us.

+

Atmospherics is the system we use to simulate gases. Might as well get that out of the way. It is made up of several major parts, and a few more minor ones. We'll be covering the air subsystem, gas mixtures, reactions, environmental flow, and pipenets in the document.

+

If you'd like to understand more about how environmental atmos works after reading the relevant subsection, go to Appendix B. It discusses how to properly visualize the system, and what different behavior looks like.

+

Now then, into the breach.

+3. The Air Controller +

Cyclical graph of one atmos tick

+

Figure 3.1: The structure of one air controller tick. Not totally accurate, but it will do

+

The air controller is, at its core, quite simple, yet it is absolutely fundamental to the atmospheric system. The air controller is the clock which triggers all continuous actions within the atmos system, such as vents distributing air or gas moving between tiles. The actions taken by the air controller are quite simple, and will be enumerated here. Much of the substance of the air ticker is due to the game's master controller, whose intricacies I will not delve into for this document. I will however go into more detail about how SSAir in particular works in Chapter 6. In any case, this is a simplified list of the air controller's actions in a single tick:

+
    +
  1. Rebuild Pipenets +
      +
    • Runs each time SSAir processes, sometimes out of order. It ensures that no pipeline sit unresolved or unbuilt
    • +
    • Processes the rebuild_queue list into the expansion_queue list, and then builds a full pipeline piecemeal. We do a ton of fenagling here to reduce overrun
    • +
    +
  2. +
  3. Pipenets +
      +
    • Updates the internal gasmixes of attached pipe machinery, and reacts the gases in a pipeline
    • +
    • Calls process() on each /datum/pipenet in the networks list
    • +
    +
  4. +
  5. Machinery +
      +
    • Handles machines that effect atmospherics, think vents, the supermatter, pumps, all that
    • +
    • Calls process_atmos() on each /obj/machinery (typically /obj/machinery/atmospherics) in the atmos_machinery list
    • +
    • May remove the machinery from said list if process_atmos() returns PROCESS_KILL
    • +
    +
  6. +
  7. Active turfs +
      +
    • This is the heart and soul of environmental atmos, see more details below
    • +
    • All you need to know right now is it manages moving gas from tile to tile
    • +
    • Calls process_cell() on each /turf/open in the active_turfs list
    • +
    +
  8. +
  9. Excited groups +
      +
    • Manages excited groups, which are core to working flow simulation
    • +
    • More details to come, they handle differences between gasmixtures when active turfs can't do the job
    • +
    • Increases the breakdown_cooldown and dismantle_cooldown for each /datum/excited_group in the excited_groups list
    • +
    • If either cooldown for a given excited group has passed its threshold
    • +
    • Calls self_breakdown() or dismantle() appropriately on the excited group.
    • +
    +
  10. +
  11. High pressure deltas +
      +
    • Takes the gas movement from Active Turfs and uses it to move objects on said turfs
    • +
    • Calls high_pressure_movements() on each /turf/open in the high_pressure_delta list.
    • +
    • Sets each turf's pressure_difference to 0
    • +
    +
  12. +
  13. Hotspots +
      +
    • These are what you might know as fire, at least the effect of it.
    • +
    • They deal with burning things, and color calculations, lots of color calculations
    • +
    • Calls process() on each /obj/effect/hotspot in the hotspots list
    • +
    +
  14. +
  15. Superconductivity +
      +
    • Moves heat through turfs that don't allow gas to pass
    • +
    • Deals with heating up the floor below windows, and some other more painful heat stuff
    • +
    • Calls super_conduct() on each /turf in the active_super_conductivity list
    • +
    +
  16. +
  17. Atoms +
      +
    • Processes things in the world that should know about gas changes, used to account for turfs sleeping, I'll get more into that in a bit
    • +
    • Calls process_exposure() on each /atom in the atom_process list
    • +
    +
  18. +
+4. Gas Mixtures +

If the air controller is the heart of atmos, then gas mixtures make up its blood. The bulk of all atmos calculations are performed within a given gas mixture datum (an instance of /datum/gas_mixture), be it within a turf or within an emergency oxygen tank or within a pipe. In particular, /datum/gas_mixture/proc/share() is the cornerstone of atmos simulation, as it and its stack perform all the calculations for equalizing two gas mixtures.

+

Gas mixtures contain some of the oldest code still in our codebase, and it is remarkable that overall, the logic behind the majority of gas mixture procs has gone unchanged since the days of Exadv1. Despite being in some sense "oldcode", the logic itself is quite robust and based in real world physics. Thankfully, gas mixtures already are quite well documented in terms of their behavior. Their file is well commented and kept up to date. I will, however, elaborate on some of the less obvious operations here. Additionally, I will document the structure of gas lists, and how one should interface with a gas mixture should you choose to use one in other code.

+

Now don't be scared by the code mind, it's SPOOKY PHYSICS but it's not the devil, we can break it down into component parts to understand it.

+
//transfer of thermal energy (via changed heat capacity) between self and sharer
+		if(new_self_heat_capacity > MINIMUM_HEAT_CAPACITY)
+			temperature = (old_self_heat_capacity*temperature - heat_capacity_self_to_sharer*temperature_archived + heat_capacity_sharer_to_self*sharer.temperature_archived)/new_self_heat_capacity
+
+

Snippet 4.1: excerpt from /datum/gas_mixture/proc/share()

+

The snippet above is an example of one particularly strange looking calculation. This part of share() is updating the temperature of a gas mixture to account for lost or gained thermal energy as gas moves to/from the mixture, since gases themselves carry heat. To understand this snippet, it is important to understand the difference between heat and temperature. For the most part, the average coder need only concern himself with temperature, as it is a familiar experience for anybody. However, internally in atmos, heat (thermal energy) is the truly important quantity. Heat is defined as temperature multiplied by heat capacity, and is measured in joules. Typically within atmos, we are more concerned with manipulating heat than temperature; however, temperature is tracked rather than heat largely to make interfacing with the system simpler for the average coder. Thus, this snippet modifies heat in terms of temperature - it adds/subtracts three terms, each of which measure heat, to determine the new heat in the gas mixture. This heat is then divided by the mixture's heat capacity in order to determine temperature.

+

One trick to understanding passages like this is to do some simple dimensional analysis. Look only at the units, and ensure that whenever a variable is assigned that it is being assigned the appropriate unit. The snippet previously discussed can be represented with the following units: temperature = ((J/K)*K - (J/K)*K + (J/K)*K)/(J/K). Simplified, you get (J-J+J)*K/J and then simply J*K/J and K, verifying that temperature is being set to a value in kelvins. This trick has proven invaluable to me when debugging the inner workings of gas mixtures.

+Gases +

The true beauty of the gas mixture datum is how it represents the gases it contains. A bit of history: gas mixtures used to represent gas in two ways - there were the four primary gases (oxygen, nitrogen, carbon dioxide, and plasma) which were hardcoded. Each gas mixture had two vars (moles and archived moles, a concept to be explained later) to represent each of these gases. Calculations such as thermal energy made use of predefined constants for these hardcoded gases. The benefit of this was that they were extremely quick - only a single datum var access was needed for each one. In contrast, there were trace gases, for which there were a list of gas datums. The only trace gas available in normal gameplay was nitrous oxide (N2O or sleeping agent), though through adminnery it was possible to create oxygen agent B and volatile fuel, curious gases which will be described later for historical reasons. Trace gases, in contrast to hardcoded gases, were quite modular. To add a new trace gas one needed only to define a new subtype of /datum/gas and add appropriate behavior wherever desired, such as breath code. Unfortunately, of course, trace gases were slooooow. Calculations on trace gases were significantly more costly than hardcoded gases. The problem was obvious - it seemed impossible to have a gas definition which shared the modularity of trace gases without sacrificing too much of the performance of the hardcoded gases.

+

What then to do? There was no option to port an improvement from another codebase. As far as I am aware, there have been no significant downstream improvements to gas mixtures. The other major upstream codebase, Baystation12, uses a very different atmos system; in particular, their XGM gas mixtures have their own solution to this problem. To summarize XGM, there is a singleton which has associative lists of gas metadata (information such as specific heat, or which overlay to display when the gas is present) which gets accessed whenever such information is needed. To count moles, each gas mixture has an associative list of gas ids mapped to mole counts. There were a couple of problems with this approach: 1. There was no measure of archived moles. While it would be easy to simply add a second associative list, this has non-trivial memory implications as well as a potential increase to total datum var accesses within internal atmos calculations. 2. The singleton used for storing metadata helps with the memory impact that using full datums would have, but does not properly address the cost of datum var accesses, as to access metadata you must still access a datum var on the singleton.

+

For some time, without a clear solution, we simply stuck to the status quo and left gases non-modular. Eventually, however, there was an idea.

+

Enter Listmos.

+The Gas List +

The solution we came to was beautifully simple, but founded on some unintuitive principles. While datum var accesses are quite slow, proc var accesses are acceptable. If we use a reference for a given var, this can be exploited by "caching" the reference inside of a proc var. How can we take advantage of this without using a datum, thus nullifying the benefit?

+

The answer was to use a list. The critical realization was that a gas datum functioned more so as a struct than as a class. There were no procs attached to gas datums; only vars. While DM lacks a true struct with quick lookup times, a list works very well to perform the same function. Thus, the current structure of gas was created, under the name Listmos.

+

Each gas mixture has an associative list, gases, which maps according to a key to a particular gas. This gas is itself a list (not an associative list, mind) with three elements; these elements correspond to the moles, archived moles, and to another list. This final list is a singleton - only one instance of it exists per gas, and all gas instances of a particular type point to this same list as their third element. The final list contains the metadata for the gas, such as specific heat or the name of the gas. The structure of the metadata list varies according to how many attributes are defined overall for all gases, but it is also non-associative since the structure can never change post-compile, so we save a little bit of performance by avoiding associative lookups.

+

Each type of gas is defined by defining a new subtype of /datum/gas. These datums do not get instantiated; they merely serve as a convenient and familiar means for a coder unfamiliar with the inner workings of listmos to define a new gas. Additionally, the type paths serve a second use as the keys used to access a particular gas within the gases list. It is easiest to demonstrate the manipulation of gas, including these list accesses, with an example.

+Interfacing with a Gas Mixture +
var/datum/gas_mixture/air = new
+air.assert_gas(/datum/gas/oxygen)
+air.gases[/datum/gas/oxygen][MOLES] = 100
+world << air.gases[/datum/gas/oxygen][GAS_META][META_GAS_NAME] //outputs "Oxygen"
+world << air.gases.heat_capacity() //outputs 2000 (100 mol * 20 J/K/mol)
+air.gases[/datum/gas/oxygen][MOLES] -= 110
+air.garbage_collect() //oxygen is now removed from the gases list, since it was empty
+
+

Snippet 4.2: gas mixture usage examples

+

Of particular note in this snippet are the two procs assert_gas() and garbage_collect(). These procs are very important while interfacing with gas mixtures. If you are uncertain about whether a given mixture has a particular gas, you must use assert_gas() before any reads or writes from the gas. If you fail to use assert_gas() then there will be runtime errors when you try to access the inner lists. When you remove any number of moles from a given gas, be sure to call garbage_collect(). This proc removes all gases which have mole counts less than or equal to 0. This is a memory and performance enhancement for list accesses achieved by reducing the size of the list, and also saves us from having to do sanity checks for negative moles whenever gas is removed. As a quick reference, here is a list of common procs/vars/list indices which the average coder may wish to use when interfacing with a gas mixture.

+Gas Mixture Datum +
    +
  • /datum/gas_mixture/proc/assert_gas() - Used before accessing a particular type of gas.
  • +
  • /datum/gas_mixture/proc/assert_gases() - Shorthand for calling assert_gas() multiple times.
  • +
  • /datum/gas_mixture/proc/garbage_collect() - Used after removing any number of moles from a mixture.
  • +
  • /datum/gas_mixture/proc/return_pressure() - Pressure is what should be displayed to players to quantify gas; measured in kilopascals.
  • +
  • /datum/gas_mixture/var/temperature - Measured in kelvins. Useful constants are T0C and T20C for 0 and 20 degrees Celsius respectively, and TCMB,the temperature of space and the lower bound for temperature in atmos.
  • +
  • /datum/gas_mixture/var/volume - Measured in liters.
  • +
+

While we're on the subject, /datum/gas_mixture has two subtypes. +The first is /datum/gas_mixture/turf, which exists for literally one purpose. When a turf is empty, we want it to have the same heat capacity as space. This lets us achieve that by overriding heat_capacity()

+

The second is /datum/gas_mixture/immutable, which itself has two subtypes. +The type is built to allow for gasmixtures that serve as infinite sources of "something", which can't be changed or mutated. +It's used by /datum/gas_mixture/immutable/space, which implements some particular things for heat_capacity() and some optimizations for gas operations. +It's also implemented by /datum/gas_mixture/immutable/planetary, which is used for planetary turfs, and has some code that makes actually having a gasmix possible.

+Gas List +
    +
  • gases[path][MOLES] - Quantity of a particular gas within a mixture.
  • +
  • gases[path][GAS_META][META_GAS_NAME] - The long name of a gas, ex. "Oxygen" or "Hyper-noblium"
  • +
  • gases[path][GAS_META][META_GAS_ID] - The internal ID of a given gas, ex. "o2" or "nob"
  • +
+Reactions +

While defining a new gas on its own is very simple, there is no gas-specific behavior defined within /datum/gas. This behavior gets defined in a few places, notably breath code (to be discussed later) and in reactions. The most important and well known reaction in SS13 is fire - the combustion of plasma. Reactions are used for several things - in particular, it is conventional (though by no means enforced) that to form a gas, a reaction must occur. Creating a new reaction is fairly simple, this is the area of atmos that has received the most attention over the last few years, and the best place to start. Don't be scared of the size of reactions.dm, it's not that complex.

+

There are two procs needed when defining a new reaction, /datum/gas_reaction/proc/init_reqs() and /datum/gas_reaction/proc/react(). init_reqs() initializes the requirements for the reaction to occur. There is a list, min_requirements, which maps gas paths to required amount of moles. It also maps three specific strings ("TEMP", "MAX_TEMP" and "ENER") to temperature in kelvins and thermal energy in joules. More behavior could easily be added here, but it hasn't yet for performance reasons because no reactions have need of it.

+

As for react(), it is where all the behavior of the reaction is defined. The proc must return one of NO_REACTION, REACTING, or STOP_REACTIONS. The proc takes one or optionally two arguments. The first, mandatory, argument is a gas mixture on which to perform calculations; this mixture is what is reacting. The second, optional, argument is a turf or pipenet, specifically the thing which contains the gas mixture. You may choose for the reaction to affect the object in some way. Note that it is conventional for constants within reactions to be #define'd at the top of the file and #undef'd at the end.

+5. Environmental Atmos +

This is a rather large subject, we will need to cover gas flow, turf sleeping, superconduction, and much more. Strap in and enjoy the ride!

+A Word On Share() +

Each pair of turfs will only ever call share() on each other once. They use an archived cycle to keep track of +this ordering

+

That means turf A calling share on turf B should work the same as turf B calling share on turf A

+

The key idea of FEA, the core sharing system we use is that neighboring cells should effectively equalize with each other. +So taken on a line, you'd have two sharing partners, the cells to your left and right. The end goal of the simulation is for all the tiles on the line to have the same mix. But we can't just jump to that. So each "tick" we take our mix and average it with the mixes of the two tiles next to us.

+

There's an equation for this that's considered standard in heat simulation. (Watch this video: https://www.youtube.com/watch?v=ly4S0oi3Yz8) +We can't use it because means each pair of turfs needs to talk to each other twice, which is pain expensive. That and I'm pretty sure it would prevent us from yielding

+

So instead of a complex form of averaging, we portion up tiles. So if you have two neighbors and you have something they don't, you can give them each a third. Have to keep one for ourselves mind, because otherwise we'll run out of gas. They can then act on this portion however they like, and we can likewise act on a portion of them to our liking.

+

We know how much gas a tile had at the outset because of the archived moles list index. If we take more then we're owed in any shares before all other turfs have had their say, we could end up with negative moles. We expend a lot of effort to avoid this.

+

The math for this looks like (totaldeltagas)/(neighborcount + 1)

+

You may notice something like this in process_cell(). It's not quite the same though.

+

Back in the old FEA days, neighbor count was hardcoded to 4 (Likely because this is what cell sharing on an infinite grid would look like). This means that turf A -> turf B is the same as turf B -> turf A, because they're each portioning up the gas in the same way.

+

But when we moved to LINDA, we started using the length of our atmos_adjacent_turfs list (or an analog). +We need this so things like multiz can work, and so tiles in a corner share in a way that makes sense.

+

Because of this, turf A -> turf B was no longer the same as turf B -> turf A, assuming one of those turfs had a different neighbor count, from I DON'T KNOW WALLS?

+

The fix for this was to use our neighbor count when moving gas from our tile to someone else's, and use the sharer's neighbor count when taking from it.

+

This makes sense intuitively if you think of it like portioning up a tile, but I've included a rundown to make +it a bit easier to prove to yourself.

+
+Take a look +

I have 10 +You have 20 +let's share +I've got 2 partners +you've got 3 partners +so you want to give me 1/4th of your gas +I want to give you 1/3rd of my gas

+

the total gas diff between me and you is -10 +since it's negative you get to decide how to portion it +so the total amount to share is -2.5 +I end up with 12.5 +you end up with 17.5

+

again

+

total diff is -5 +to share is 1.25 +I end up with 13.75 +you end up with 16.25

+

again

+

total diff is -2.5 +to share is 0.3125 +I end up with 14.0625 +you end up with 15.9375

+
+

We need to do this because if the portions get mixed up, our archived gas list ends up lying about how much of each gas type we have available to share. +This can lead to negative moles, which the system is not prepared for.

+

This is also why we queue space's sucking till the end of a tile's process_cell() btw, by that point we can ensure that no other tile will need to check for our mix, so we can freely violate our portioning.

+Active Turfs +

+

Figure 5.1: A visual of the algorithm process_cell() implements, ignoring our optimizations

+

Active turfs are the backbone of how gas moves from tile to tile. While most of process_cell() should be easy enough to understand, I am going to go into some detail about archiving, since I think it's a common source of hiccups.

+
    +
  • archived_cycle this var stores the last cycle of the atmos loop that the turf processed on. The key point to notice here is that when processing a turf, we don't share with all its neighbors, we only talk to those who haven't processed yet. This is because the remainder of process_cell() and especially share() are like addition. We can add in any order we like, and we only need to add once. This is what archived gases are for by the way, they store the state of the relevant tile before any processing occurs.
  • +
+

Alright then, with that out of the way, what is an active turf.

+

This is actually the main success of LINDA, the math for gas movement is r4407 goon code or older, but that implementation (FEA) had a glaring issue. All turfs processed, or rather, all /simulated turfs processed. There was a separate type for /unsimulated turfs, but that was mostly used for things like centcom or space. Aside from that all the turfs that could in theory have gas on them needed to process each tick. process_cell() didn't quite look how it does now mind, but this was still a horrible state of affairs.

+

The major difference between then and now is our turfs will stop processing. They sit idle most of the round, wake up when something changes around them, process until no major changes are happening, and then go to sleep.

+

Active turfs also poke all the listening objects sitting on them, and start to process them so they can react to heat or gas changes. We do this so objects don't need to process when nothing has changed, but they also can operate through a turf sleeping. In essence this is like waking up things that ought to be listening to us.

+

If we just used active turfs sleeping would be easy as pie, we could do it turf by turf. But we don't.

+Excited Groups +

+

+

Figure 5.2.1-5.2.2: Settled VS Unsettled gases, this is what excited groups do

+

I didn't mention this above, but active turf processing, or really share(), has a fatal flaw. The amount of gas moved per tick goes down exponentially the further away a turf is from the source of changes, or diffs.

+

With only active turfs breaches would never settle, and as soon as a tile becomes active it would never rest again. (This is one of the reasons I wrote this document by the way, excited groups nearly totally broke around about 2016, and none at the time noticed because the code was so twisted none knew how it ought to work, so it persisted for 4 years past that)

+

So active turfs are bad at evening out diffs. What can we do to solve this?

+

Enter the excited group. We hold a list of all the turfs that have talked to each other, then we keep track of how active those turfs are. When they start to wind down, we spread all the gas out evenly between them, and the group starts to spread again. They tend to fill the space given to them, so be careful with open plan stations.

+

This is self_breakdown(), our equalization step. It cuts down on churn, and keeps things flowing smoothly.

+

I've been talking kinda abstractly about turfs sleeping. That's because turfs on their own don't stop waiting to process once they have an excited group. Groups have secondary roles as the grim reaper of active turfs. When a group is totally inactive, and nothing whatsoever is going on, it will dismantle(), putting all of the turfs inside it to sleep, and killing itself.

+A brief romp to talk about excited groups and LAST_SHARE_CHECK +

Excited groups can tell the amount of diff being shared by hooking into a value share() sets on gasmixes, the absolute amount of gas shared by each tile. The issue is this isn't pressure, it's molar count. So heat being shared in a sealed room causes excited groups to break down, then reform from sources. This isn't a major issue due to how breakdown evens things out, but it's worth knowing.

+Back to the main thread +

Now this would all be fine, but as I'm sure you've noticed, there's a crouching pile of lag hiding here. What happens if the excited group has turfs with a fire on them over in cargo, but the flow of gas started in medical? There's no point processing the majority of the tiles, but we still want to keep the group alive for equalization.

+Turfs can have a little nap +

Originally LINDA only had the above 2 constructions, but we ran into a problem when making planetary turfs. The old implementation was mutable, but shared with a copy of its initial mix each tick. This lead to problems. In essence, the groups never stopped spreading so long as a source of diffs existed. This is because the job of excited groups is to move the diffs from the source, to the edges of the group. But we put these mixes on huge open planets. Doesn't really work out so well.

+

To combat this, a timer was added to each turf. It reset when a significant share was made, but otherwise if enough time passed the turf was forcibly removed from the active_turfs list. Unfortunately for us, this had unintended side effects.

+

When a turf is removed from active, the excited group is broken down, as it's assumed that the proc will only be called when the landscape of the map itself has changed. You begin to see the issue. With large enough space, excited groups broke, totally. Constant rebuilds into dismantles, cycling forever.

+

Now this issue here is we'd like to keep this napping, but we don't want to garbage_collect() the excited group constantly.

+

So, a new proc was added, sleep_active_turf(). It removes the active turf from processing, but doesn't garbage_collect() the group.

+

You'd think this would cause issues with maintaining the shape of an excited group, however this isn't actually a priority, since garbage_collect() and the subsequent rebuild in process_cell() causes turfs that are actually active to reform, just as it always has. This has benefits, as it lessens the tendency of one group to cover a huge space, equalize all at once, and fuck with things.

+

There's another issue here however, how do we deal with things that react to heat? A firelock shouldn't just open because the turf that the alarm is on went to sleep. Thus, atom_process, as I mentioned before, a list of atoms with requirements and things to do. It processes them until their requirements are not met, then it removes them from its list them.

+

There's one more major aspect of environmental atmos to cover, and while it's not the most misunderstood, it is the code with the worst set dressing.

+Superconduction, or why var names really matter +

+

Figure 5.3: The death of a pug, and a visual description of what superconduction does

+

Superconduction, an odd name really, it doesn't really describe much of anything aside from something to do with heat. It gets worse, trust me.

+

Superconduction is the system that makes heat move through solid objects, so in theory walls, windows, airlocks, so on. This is another one that just broke one day, and none noticed cause none knew what it was meant to do.

+

There's another issue with it, the var names don't mean what you think, and it is very old code, so it's hard to grasp. You can do it, you've made it this far.

+

So then, what does superconduction do, and what do all these damn vars mean.

+What does superconduction do? +

As I mentioned above, superconduction shares heat where heat can't normally travel. It does this by heating up the turf the heat is in, not the gasmix, the turf itself. This temperature is then shared with adjacent turfs, based on thermal_conductivity, a value between 0 and 1 that slows the heat share. Turfs also have a heat_capacity, which is how hard it is to heat, along with providing a threshold for the lowest temperature that can melt the turf.

+

There's one more, and it's a doozy. atmos_superconductivity is a set of directions that we cannot share with. I know. It's set in can_atmos_pass(), a rather heady set of procs that build atmos_adjacent_turfs, and also modify atmos_superconductivity.

+

So then, a review.

+
    +
  • thermal_conductivity Ranges from 0 to 1, effects how easy it is for a turf to receive heat
  • +
  • heat_capacity Large numbers mean it's harder to heat, but holds more heat. You get it. Also used for turf melting
  • +
  • atmos_supeconductivity Bitfield of directions we can't share in, this is often set by firelocks and such
  • +
+

One more thing, turfs will superconduct until they either run out of energy, or temperature. This is a stable system because turfs "conduct" with space, which is why floods of heat will equalize to about 690k over time.

+6. Processing time, Dynamic scaling, and what slows us down the most +

This will require/impart a light understanding of the master controller, I will go over what makes the atmos subsystem slow, what can be done, and what it effects.

+

First, some new vocab.

+
    +
  • wait Subsystem var, it is the amount of time to "wait" between each fire, or process. Measured in deciseconds.
  • +
  • MC_TICK_CHECK A define that checks to see if the subsystem has taken more then it's allotted time. In the case of SSAir we use it to allow for dynamic scaling
  • +
+

The MC entry for SSAir is very helpful for debugging, and it is good to understand before I talk about cost.

+

+

Figure 6.1: SSAir sitting doing little to nothing turf wise, only processing pipenets and atmos machines

+

If you aren't familiar with the default subsystem stats, you can see them explained here: [][http://codedocs.tgstation13.org/.github/guides/MC_tab.md]

+

The second line is the cost each subprocess contributed per full cycle, this is a rolling average. It'll give you a good feel for what is misbehaving. (The only exception to this is pipenet rebuilds, the last entry. Because of its nature as something that can happen at any time, it doesn't have a rolling average, instead it just displays the time it used last process)

+

The third line is the amount of "whatever" in each subprocess. Handy for noticing dupe bugs and crying at active turf cost. Speaking of, the last entry is the active turfs per overall cost. Not a great metric, but larger is better.

+

Now then, what the hell is going on in that image.

+Dynamic scaling +

SSAir has a wait of 5 deciseconds, or 500ms. This means it wants to fire roughly twice a second. You'll see in a moment why this hardly ever happens.

+

See that image from before? Notice how the cost of SSAir at rest is about 40ms? yeahhhhh.

+

The atmos subsystem was used as a testing ground for the robustness of the master-controller. It used to have a wait of 2 seconds, but that was lowered to 0.5 as it was thought that the system could handle it. It can! But this can have annoying side effects. As you know, we edge right up against 1/10th of the wait when sitting at rest, and if we start to make diffs...

+

+

Figure 6.2: SSAir when a high amount of active turfs are operating, with a large selection of gastypes for each tile

+

As you can see, active turfs can be really slow. Oh but it gets so much worse.

+

Active turf cost is mostly held up in react(), share() and compare(). react() and share() scale directly with the amount of gas in the air. compare() does better, but none of them do that great.

+

For this reason, and because excited groups spread gas out so much, we want to keep the variation of gastypes in the air relatively low.

+

react() is called for every active turf, and every pipenet. On each react call for reasons I don't want to go into right now, we need to iterate over every reaction and do a preliminary test. Therefor, the more datum reactions we have, the slower those two processes go.

+

+

Figure 6.3: The effects of a large excited group on overtime

+

It's hard to tell here because I took the picture right as it happen, but when large excited groups go through self_breakdown() they can overtime by a significant deal. This is because self_breakdown() can't be delayed, or done in two parts. We can't let an older gasmix that's already been collected have say 1000 mols of plasma added, then go into breakdown and delete it all. Thus, the overtime cost. This was with a excited group 900 tiles large though, so it isn't nearly ever this bad. It also scales with the amount of gases in the same way that share() does.

+

On the whole excited groups are the only major source of overrun, consider this a treatise on why that 900ms cost number next to atmos isn't making the server die. It's really that excited group mass equalizing constantly.

+7. What we want atmos code to be +

+

Figure 7.1: Diffs settling out as they should, around their sources

+

Our goal is not to simulate real life atmospherics. It is instead to put on a show of doing so. To sleep wherever we can, and fake it as hard as possible.

+

This is matters the most with environmental stuff, but it's everywhere you look.

+

The goal of active turfs, excited groups, and sleeping is to isolate the processing that needs to happen, and move diffs from their source to a consumer as much as we can. We don't simulate every tile, and most of the changes to LINDA have been directed at simulating as little as we can get away with.

+

Hell, space being cold is a hack we use to make gameplay interesting. There's a lot more stuff like this, because this isn't a simulator, it's a theater production.

+

Performance and gameplay are much more important then realism. In all your work on the subsystem, keep this in mind, and you'll build fast and quality code.

+8. Pipelines and pipeline machinery +

+

Figure 8.1: The structure of pipelines shown in color, components are a mix

+

/datum/pipeline handles the simulation of piping and such. It has 2 main actions, one of which you should know very well. The other is slightly more of a hurdle.

+

To understand pipelines you'll first need to understand how we process things like pumps or vents, atmos components that is. +To start with, a set of pipes is treated as one gas mixture, however several different components draw from this mix. Think pumps, heaters, mixers, vents, etc.

+

Since these components change the mix itself, we can't just let them all act on the mix at once, because that would cause concerns around the order in which things process, and so on. +We don't want canisters that blow up half the time, and the other half of the time don't. Better then to give each component its own gas mix that it alone can act on, that will be shared with the pipeline as a whole. Pipelines do something similar to active turfs by the way, they won't re-equalize their mix if nothing about the state of things has changed.

+

We do this sharing based on the proportion of volume between all the components. So if you want a component to consume more gas, give it a higher volume.

+

On that note, I'd like to be clear about something. In lines of connected pipes, each pipe doesn't have its own gasmix, they instead share mixes, as the pipes themselves won't have any effect on the state of the mix.

+

Oh, and pipelines react the gas mixture inside them, thought I should mention that.

+A short note on rebuilding +

Everything that needs a pipeline should have it before it's allowed to do any processing. This is to prevent runtimes and shitcode related things.

+

The act of rebuilding a pipeline is quite expensive however, since it involves iterating over all the connected pipes/components. +That's why we go to such great pains to make sure no large amount of work is allowed to happen at once. It's in an attempt to avoid the excited group settling type of lag I discussed above. It's ok for atmos to lock up for a short period if the system isn't killing the game as a whole.

+

All the other behavior of pipes and pipe components are handled by atmos machinery. I'll give a brief rundown of how they're classified, but the details of each machine are left as an exercise to the reader.

+Pipes +

The raw pipes. They have some amount of nuance, mostly around layers, but it's not too tricky to deal with.

+Heat Exchange +

The HE pipes, used to transfer heat from the pipe to the turf it's sitting on. These work directly with the pipeline's mix, which is ehhhh? Might need some touching up, perhaps making them subnets that do one heat transfer. Not too big a deal in any case, since they're the only thing that acts directly on a pipeline mix. They have some other behavior, like glowing when hot, but it's minor.

+Components +

These are the components I described above, they have some sort of internal gas mix that they act on in some manner.

+

The following classifications are very simple, but I'll run them over anyhow

+Unary +

Unary devices can only interact with one pipeline, aside from some exceptions, like the heat exchanger. The type path comes from the amount of pipelines a device expects gas-mixtures from. I'm sure you can see where this is going.

+Binary +

Binary devices connect to 2 pipelines.

+Trinary +

Trinary devices connect to 3 p- Listen you get it already.

+Fusion +

Finally something more interesting. Unfortunately I'm not familiar with the inner workings of this machine, but this folder deals with hypertorus code.

+Other +

This is for the oddballs, the one offs, the half useless things. Things that are tied to the module, but that we don't have a better spot for. Think meters, stuff like that.

+Portable +

These are the atmos machines you can move around. They interface with connectors to talk to pipelines, and can contain tanks. Not a whole lot more to discuss here.

+9. A word on processing +

You may have noticed that a large portion of the optimizations we do are focused around not checking to see if we need to do work.

+

This is essentially what active turfs are built around, and it's a somewhat unfinished project. There's still quite a few things in atmos, mostly machinery, that check each fire to see if they should be doing work. There's a general pattern to solving this sort of thing by the way, centralize the ways a bit of outside code can interact with a "thing", and then when the outside code does something that might warrant processing, start processing.

+

This attitude needs to be applied to a few large targets, and you may see it crop up when reading through the code. Keep this in mind, and make sure to respect the rules that describe how to work with the object, or things will go to shit.

+Appendix A - Glossary +
    +
  • LINDA - Our environmental gas system, created by Aranclanos, allegedly Beautiful in Spanish
  • +
  • Naps - A healthy pastime
  • +
  • Gas mixtures - The datums that store gas information, key to listmos and our underlying method of handling well gas
  • +
  • Diffs - The differences between gasmixes. We want to get rid of these over time, and clump them up with their sources so we don't need to process too many turfs
  • +
  • FEA - Finite Element Analysis, the underlying system our atmos is built on top of. Ugly in Spanish
  • +
  • Pipelines - The datum that represents and handles the gasmixtures of a set of pipes and their components
  • +
  • Components - Atmos machines that act on pipelines, modifying their mix
  • +
  • Active Turfs - An optimization of FEA implemented in LINDA that causes processing to only occur when differences are equalizing
  • +
  • Excited Groups - Evens out groups of active turfs to compensate for the way share() works
  • +
  • Carbon dioxide - What the fuck is this?]
  • +
  • MC - The master controller, makes sure all subsystems get the time they need to process, prevents lockups from one subsystem having a lot of work
  • +
+Appendix B - How to test environmental atmos +

If you really want to get a feeling for how flow works you'll need to load up the game and make some diffs. What follows is a short description of how to set up testing.

+

To start with, you should enable the TESTING define in compile_options.dm, this toggles VISUALIZE_ACTIVE_TURFS and TRACK_MAX_SHARE. These two debug methods are very helpful for understanding flow, but they aren't cheap, so we make them a compile time option. Active turfs will show up as green, don't worry about the second define, it's coming right up.

+

Past that you'll want to turn on excited group highlighting, to do this open the atmos control panel in the debug tab and toggle both personal view and display all. Display all makes turfs display their group and personal view shows/hides the groups from you, it's faster to toggle this, and this way you don't piss off the other debuggers on live.

+

+

Figure B.1: The atmospherics control panel

+

To go into more detail about the control panel, it is split into two parts. At the top there's a readout of some relevant stats, the amount of active turfs, how many times the subsystem has fired, etc. You can get the same information from the SSAir MC entry, but it's a bit harder to read. I detail this in the section on performance in environmental atmos. There's a button that turns the subsystem on/off in the top left, it's handy for debugging and seeing how things work step by step. Use it if you need to slow things down.

+

The rest of the panel is where things get more interesting, it's a readout of excited groups, sorted by area name. Most of it ought to be obvious, this is where TRACK_MAX_SHARE comes into effect. If it's defined, excited groups will have an extra entry which displays the largest molar diff in the group. This is useful for diagnosing group breakdown issues, and getting a feel for when a group will next breakdown. You can also toggle the visibility of each individual group here, and teleport to the group by clicking on the area name.

+What to look for +

+

An excited group can contain 2 things, sources of diffs, and dead tiles.

+

+

Of course, if left unchecked active turfs will spread further and further out, slowly lowering the amount of dead tiles.

+

+

Excited group breakdown causes them to recede and wrap around the things causing them

+

+

Cleanup causes a major recession due to turfs becoming suddenly no longer having an excited group

+

+

+

Due to how process_cell() works, active turfs will spread strangely when low on diffs

+

+

They will also occasionally nap, then immediately wake back up. This is either because of a discrepancy between compare() and LAST_SHARE_CHECK, or just the result of sleeping being a thing.

+ + + diff --git a/code/modules/atmospherics/environmental/LINDA_fire.html b/code/modules/atmospherics/environmental/LINDA_fire.html new file mode 100644 index 00000000000..1a59de9b0a3 --- /dev/null +++ b/code/modules/atmospherics/environmental/LINDA_fire.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/atmospherics/environmental/LINDA_fire.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/environmental/LINDA_fire.dm + +

+ + + + +
/proc/init_hotspot_reactionsReturns reactions which will contribute to a hotspot's size.
/obj/effect/hotspotHotspot objects interfaces with the temperature of turf gasmixtures while also providing visual effects. +One important thing to note about hotspots are that they can roughly be divided into two categories based on the bypassing variable.
+ + + diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.html b/code/modules/atmospherics/environmental/LINDA_turf_tile.html new file mode 100644 index 00000000000..b2305e42ab2 --- /dev/null +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/atmospherics/environmental/LINDA_turf_tile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/environmental/LINDA_turf_tile.dm + +

+ + + +
LAST_SHARE_CHECKSIMULATION
/datum/excited_groupEXCITED GROUPS

Define Details

+

LAST_SHARE_CHECK + + +

+

SIMULATION

+ + + diff --git a/code/modules/atmospherics/gasmixtures/reactions.html b/code/modules/atmospherics/gasmixtures/reactions.html new file mode 100644 index 00000000000..d1b9634e39f --- /dev/null +++ b/code/modules/atmospherics/gasmixtures/reactions.html @@ -0,0 +1,52 @@ + + + + + + + code/modules/atmospherics/gasmixtures/reactions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/gasmixtures/reactions.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + +
/datum/gas_reaction/water_vaporSteam Condensation/Deposition:
/datum/gas_reaction/miasterDry Heat Sterilization:
/datum/gas_reaction/plasmafirePlasma combustion:
/datum/gas_reaction/h2fireHydrogen combustion:
/datum/gas_reaction/tritfireTritium combustion:
/datum/gas_reaction/freonfireFreon combustion:
/datum/gas_reaction/nitrousformationNitrous oxide Formation:
/datum/gas_reaction/nitrous_decompNitrous Oxide Decomposition
/datum/gas_reaction/bzformationBZ Formation
/datum/gas_reaction/pluox_formationIf n2o-plasma ratio is less than 1:3 start decomposing n2o. +Rate of decomposition vs BZ production increases as n2o concentration gets lower +Plasma acts as a catalyst on decomposition, so it doesn't get consumed in the process. +N2O decomposes with its normal decomposition energy
/datum/gas_reaction/nitrium_formationNitrium Formation:
/datum/gas_reaction/nitrium_decompositionNitrium Decomposition:
/datum/gas_reaction/freonformationFreon formation:
/datum/gas_reaction/nobliumformationHyper-Noblium Formation:
/datum/gas_reaction/halon_o2removalList of gases we will assert, and possibly garbage collect. +Halon Combustion:
/datum/gas_reaction/healium_formationHealium Formation:
/datum/gas_reaction/zauker_formationZauker Formation:
/datum/gas_reaction/zauker_decompZauker Decomposition:
/datum/gas_reaction/proto_nitrate_formationProto-Nitrate formation:
/datum/gas_reaction/proto_nitrate_hydrogen_responseProto-Nitrate Hydrogen Conversion
/datum/gas_reaction/proto_nitrate_tritium_responseProto-Nitrate Tritium De-irradiation
/datum/gas_reaction/proto_nitrate_bz_responseProto-Nitrate BZase Action
+ + + diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_modes.html b/code/modules/atmospherics/machinery/air_alarm/air_alarm_modes.html new file mode 100644 index 00000000000..53e14264f56 --- /dev/null +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_modes.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/atmospherics/machinery/air_alarm/air_alarm_modes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/air_alarm/air_alarm_modes.dm + +

+ + + +
/datum/air_alarm_modeVarious modes that an /obj/machinery/airalarm can assume.
/datum/air_alarm_mode/filteringThe default.
+ + + diff --git a/code/modules/atmospherics/machinery/atmosmachinery.html b/code/modules/atmospherics/machinery/atmosmachinery.html new file mode 100644 index 00000000000..45f699822a2 --- /dev/null +++ b/code/modules/atmospherics/machinery/atmosmachinery.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/machinery/atmosmachinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/atmosmachinery.dm + +

+ + +
/obj/machinery/atmosphericsHow many nuclear particles will fire in this reaction.
+ + + diff --git a/code/modules/atmospherics/machinery/bluespace_vendor.html b/code/modules/atmospherics/machinery/bluespace_vendor.html new file mode 100644 index 00000000000..dbc690d8bd2 --- /dev/null +++ b/code/modules/atmospherics/machinery/bluespace_vendor.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/atmospherics/machinery/bluespace_vendor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/bluespace_vendor.dm + +

+ + +
BS_MODE_OFFDefines for the mode of the vendor

Define Details

+

BS_MODE_OFF + + +

+

Defines for the mode of the vendor

+ + + diff --git a/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html new file mode 100644 index 00000000000..93c2b50bebb --- /dev/null +++ b/code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/binary_devices/dp_vent_pump.dm + +

+ + +
OUTPUT_MAXpressure_checks defines for external_pressure_bound and input_pressure_min

Define Details

+

OUTPUT_MAX + + +

+

pressure_checks defines for external_pressure_bound and input_pressure_min

+ + + diff --git a/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.html b/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.html new file mode 100644 index 00000000000..c82e4ed780d --- /dev/null +++ b/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.html @@ -0,0 +1,238 @@ + + + + + + + code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LIGHT_SPEEDSpeed of light, in m/s
PLANCK_LIGHT_CONSTANTCalculation between the plank constant and the lambda of the lightwave
CALCULATED_H2RADIUSRadius of the h2 calculated based on the amount of number of atom in a mole (and some addition for balancing issues)
CALCULATED_TRITRADIUSRadius of the trit calculated based on the amount of number of atom in a mole (and some addition for balancing issues)
VOID_CONDUCTIONPower conduction in the void, used to calculate the efficiency of the reaction
FUSION_MOLE_THRESHOLDMole count required (tritium/hydrogen) to start a fusion reaction
INSTABILITY_GAS_POWER_FACTORUsed to reduce the gas_power to a more useful amount
TOROID_VOLUME_BREAKEVENUsed to calculate the toroidal_size for the instability
PARTICLE_CHANCE_CONSTANTConstant used when calculating the chance of emitting a radioactive particle
METALLIC_VOID_CONDUCTIVITYConduction of heat inside the fusion reactor
HIGH_EFFICIENCY_CONDUCTIVITYConduction of heat near the external cooling loop
MIN_POWER_USAGESets the minimum amount of power the machine uses
DAMAGE_CAP_MULTIPLIERSets the multiplier for the damage
HALLUCINATION_HFRSets the range of the hallucinations
IRON_CHANCE_PER_FUSION_LEVELChance in percentage points per fusion level of iron accumulation when operating at unsafe levels
IRON_ACCUMULATED_PER_SECONDAmount of iron accumulated per second whenever we fail our saving throw, using the chance above
IRON_OXYGEN_HEAL_PER_SECONDMaximum amount of iron that can be healed per second. Calculated to mostly keep up with fusion level 5.
OXYGEN_MOLES_CONSUMED_PER_IRON_HEALAmount of oxygen in moles required to fully remove 100% iron content. Currently about 2409mol. Calculated to consume at most 10mol/s.
HYPERTORUS_ACCENT_SOUND_MIN_COOLDOWNto prevent accent sounds from layering
HYPERTORUS_OVERFULL_MIN_POWER_LEVELStart taking overfull damage at this power level
HYPERTORUS_OVERFULL_MAX_SAFE_COLD_FUSION_MOLESTake 0 damage beneath this much fusion mass at 1 degree Kelvin
HYPERTORUS_OVERFULL_MAX_SAFE_HOT_FUSION_MOLESTake 0 damage beneath this much fusion mass at FUSION_TEMPERATURE_MAX degrees Kelvin
HYPERTORUS_OVERFULL_MOLAR_SLOPEEvery 200 moles, 1 point of damage per second
HYPERTORUS_SUBCRITICAL_MOLESStart healing when fusion mass is below this threshold
HYPERTORUS_SUBCRITICAL_SCALEHeal one point per second per this many moles under the threshold
HYPERTORUS_COLD_COOLANT_MAX_RESTOREHeal up to this many points of damage per second at 1 degree kelvin
HYPERTORUS_COLD_COOLANT_THRESHOLDStart healing below this temperature
HYPERTORUS_MAX_SAFE_IRONStart taking damage over this threshold, up to a maximum of (1 - HYPERTORUS_MAX_SAFE_IRON) per tick at 100% iron
HYPERTORUS_HYPERCRITICAL_MOLESStart taking damage over this threshold
HYPERTORUS_HYPERCRITICAL_SCALETake this much damage per mole over the threshold per second
HYPERTORUS_HYPERCRITICAL_MAX_DAMAGETake at most this much damage per second
HYPERTORUS_MEDIUM_SPILL_PRESSUREStart spilling superhot moderator gas when over this pressure threshold
HYPERTORUS_MEDIUM_SPILL_INITIALHow much we should spill initially
HYPERTORUS_MEDIUM_SPILL_RATEHow much of the moderator mix we should spill per second until mended
HYPERTORUS_STRONG_SPILL_PRESSUREIf the moderator gas goes over this threshold, REALLY spill it
HYPERTORUS_STRONG_SPILL_INITIALHow much we should spill initially
HYPERTORUS_STRONG_SPILL_RATEHow much of the moderator mix we should spill per second until mended
HYPERTORUS_FLAG_HIGH_POWER_DAMAGEHigh power damage
HYPERTORUS_FLAG_HIGH_FUEL_MIX_MOLEHigh fuel mix mole
HYPERTORUS_FLAG_IRON_CONTENT_DAMAGEiron content damage
HYPERTORUS_FLAG_IRON_CONTENT_INCREASEIron content increasing
HYPERTORUS_FLAG_EMPEDEmped hypertorus

Define Details

+

CALCULATED_H2RADIUS + + +

+

Radius of the h2 calculated based on the amount of number of atom in a mole (and some addition for balancing issues)

CALCULATED_TRITRADIUS + + +

+

Radius of the trit calculated based on the amount of number of atom in a mole (and some addition for balancing issues)

DAMAGE_CAP_MULTIPLIER + + +

+

Sets the multiplier for the damage

FUSION_MOLE_THRESHOLD + + +

+

Mole count required (tritium/hydrogen) to start a fusion reaction

HALLUCINATION_HFR + + + +

+

Sets the range of the hallucinations

HIGH_EFFICIENCY_CONDUCTIVITY + + +

+

Conduction of heat near the external cooling loop

HYPERTORUS_ACCENT_SOUND_MIN_COOLDOWN + + +

+

to prevent accent sounds from layering

HYPERTORUS_COLD_COOLANT_MAX_RESTORE + + +

+

Heal up to this many points of damage per second at 1 degree kelvin

HYPERTORUS_COLD_COOLANT_THRESHOLD + + +

+

Start healing below this temperature

HYPERTORUS_FLAG_EMPED + + +

+

Emped hypertorus

HYPERTORUS_FLAG_HIGH_FUEL_MIX_MOLE + + +

+

High fuel mix mole

HYPERTORUS_FLAG_HIGH_POWER_DAMAGE + + +

+

High power damage

HYPERTORUS_FLAG_IRON_CONTENT_DAMAGE + + +

+

iron content damage

HYPERTORUS_FLAG_IRON_CONTENT_INCREASE + + +

+

Iron content increasing

HYPERTORUS_HYPERCRITICAL_MAX_DAMAGE + + +

+

Take at most this much damage per second

HYPERTORUS_HYPERCRITICAL_MOLES + + +

+

Start taking damage over this threshold

HYPERTORUS_HYPERCRITICAL_SCALE + + +

+

Take this much damage per mole over the threshold per second

HYPERTORUS_MAX_SAFE_IRON + + +

+

Start taking damage over this threshold, up to a maximum of (1 - HYPERTORUS_MAX_SAFE_IRON) per tick at 100% iron

HYPERTORUS_MEDIUM_SPILL_INITIAL + + +

+

How much we should spill initially

HYPERTORUS_MEDIUM_SPILL_PRESSURE + + +

+

Start spilling superhot moderator gas when over this pressure threshold

HYPERTORUS_MEDIUM_SPILL_RATE + + +

+

How much of the moderator mix we should spill per second until mended

HYPERTORUS_OVERFULL_MAX_SAFE_COLD_FUSION_MOLES + + +

+

Take 0 damage beneath this much fusion mass at 1 degree Kelvin

HYPERTORUS_OVERFULL_MAX_SAFE_HOT_FUSION_MOLES + + +

+

Take 0 damage beneath this much fusion mass at FUSION_TEMPERATURE_MAX degrees Kelvin

HYPERTORUS_OVERFULL_MIN_POWER_LEVEL + + +

+

Start taking overfull damage at this power level

HYPERTORUS_OVERFULL_MOLAR_SLOPE + + +

+

Every 200 moles, 1 point of damage per second

HYPERTORUS_STRONG_SPILL_INITIAL + + +

+

How much we should spill initially

HYPERTORUS_STRONG_SPILL_PRESSURE + + +

+

If the moderator gas goes over this threshold, REALLY spill it

HYPERTORUS_STRONG_SPILL_RATE + + +

+

How much of the moderator mix we should spill per second until mended

HYPERTORUS_SUBCRITICAL_MOLES + + +

+

Start healing when fusion mass is below this threshold

HYPERTORUS_SUBCRITICAL_SCALE + + +

+

Heal one point per second per this many moles under the threshold

INSTABILITY_GAS_POWER_FACTOR + + +

+

Used to reduce the gas_power to a more useful amount

IRON_ACCUMULATED_PER_SECOND + + +

+

Amount of iron accumulated per second whenever we fail our saving throw, using the chance above

IRON_CHANCE_PER_FUSION_LEVEL + + +

+

Chance in percentage points per fusion level of iron accumulation when operating at unsafe levels

IRON_OXYGEN_HEAL_PER_SECOND + + +

+

Maximum amount of iron that can be healed per second. Calculated to mostly keep up with fusion level 5.

LIGHT_SPEED + + +

+

Speed of light, in m/s

METALLIC_VOID_CONDUCTIVITY + + +

+

Conduction of heat inside the fusion reactor

MIN_POWER_USAGE + + +

+

Sets the minimum amount of power the machine uses

OXYGEN_MOLES_CONSUMED_PER_IRON_HEAL + + +

+

Amount of oxygen in moles required to fully remove 100% iron content. Currently about 2409mol. Calculated to consume at most 10mol/s.

PARTICLE_CHANCE_CONSTANT + + +

+

Constant used when calculating the chance of emitting a radioactive particle

PLANCK_LIGHT_CONSTANT + + +

+

Calculation between the plank constant and the lambda of the lightwave

TOROID_VOLUME_BREAKEVEN + + +

+

Used to calculate the toroidal_size for the instability

VOID_CONDUCTION + + +

+

Power conduction in the void, used to calculate the efficiency of the reaction

+ + + diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_core.html b/code/modules/atmospherics/machinery/components/fusion/hfr_core.html new file mode 100644 index 00000000000..75496290d25 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_core.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/machinery/components/fusion/hfr_core.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/components/fusion/hfr_core.dm + +

+ + +
/obj/machinery/atmospherics/components/unary/hypertorus/coreThis section contain the hfr core with all the variables and the Initialize() and Destroy() procs
+ + + diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_parts.html b/code/modules/atmospherics/machinery/components/fusion/hfr_parts.html new file mode 100644 index 00000000000..ee82f32c5ed --- /dev/null +++ b/code/modules/atmospherics/machinery/components/fusion/hfr_parts.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/components/fusion/hfr_parts.dm + +

+ + +
/obj/machinery/atmospherics/components/unary/hypertorusThis file contain the eight parts surrounding the main core, those are: fuel input, moderator input, waste output, interface and the corners +The file also contain the guicode of the machine
+ + + diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.html b/code/modules/atmospherics/machinery/components/unary_devices/cryo.html new file mode 100644 index 00000000000..a23c1194852 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/atmospherics/machinery/components/unary_devices/cryo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/unary_devices/cryo.dm + +

+ + + + +
MAX_TEMPERATUREMax temperature allowed inside the cryotube, should break before reaching this heat
/atom/movable/visual/cryo_occupantThis is a visual helper that shows the occupant inside the cryo cell.
/obj/machinery/cryo_cellCryo cell

Define Details

+

MAX_TEMPERATURE + + +

+

Max temperature allowed inside the cryotube, should break before reaching this heat

+ + + diff --git a/code/modules/atmospherics/machinery/components/unary_devices/machine_connector.html b/code/modules/atmospherics/machinery/components/unary_devices/machine_connector.html new file mode 100644 index 00000000000..e3ae759955d --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/machine_connector.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/machinery/components/unary_devices/machine_connector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/components/unary_devices/machine_connector.dm + +

+ + +
/datum/gas_machine_connectorTo be used when there is the need of an atmos connection without repathing everything (eg: cryo.dm)
+ + + diff --git a/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.html b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.html new file mode 100644 index 00000000000..b33a7532935 --- /dev/null +++ b/code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/components/unary_devices/vent_scrubber.dm + +

+ + +
MINIMUM_MOLES_TO_SCRUBfiltered gases at or below this amount automatically get removed from the mix

Define Details

+

MINIMUM_MOLES_TO_SCRUB + + +

+

filtered gases at or below this amount automatically get removed from the mix

+ + + diff --git a/code/modules/atmospherics/machinery/pipes/multiz.html b/code/modules/atmospherics/machinery/pipes/multiz.html new file mode 100644 index 00000000000..4aaf3d7928d --- /dev/null +++ b/code/modules/atmospherics/machinery/pipes/multiz.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/atmospherics/machinery/pipes/multiz.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/atmospherics/machinery/pipes/multiz.dm + +

+ + +
/obj/machinery/atmospherics/pipe/multizThis is an atmospherics pipe which can relay air up/down a deck.
+ + + diff --git a/code/modules/atmospherics/machinery/portable/canister.html b/code/modules/atmospherics/machinery/portable/canister.html new file mode 100644 index 00000000000..d3a7095a990 --- /dev/null +++ b/code/modules/atmospherics/machinery/portable/canister.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/atmospherics/machinery/portable/canister.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/atmospherics/machinery/portable/canister.dm + +

+ + + +
CAN_DEFAULT_RELEASE_PRESSUREThe default pressure for releasing air into an holding tank or the turf
TEMPERATURE_RESISTANCEThe temperature resistance of this canister

Define Details

+

CAN_DEFAULT_RELEASE_PRESSURE + + +

+

The default pressure for releasing air into an holding tank or the turf

TEMPERATURE_RESISTANCE + + +

+

The temperature resistance of this canister

+ + + diff --git a/code/modules/autowiki/autowiki.html b/code/modules/autowiki/autowiki.html new file mode 100644 index 00000000000..431edc5d31d --- /dev/null +++ b/code/modules/autowiki/autowiki.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/autowiki/autowiki.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/autowiki/autowiki.dm + +

+ + + +
/proc/generate_autowiki_outputWhen the AUTOWIKI define is enabled, will generate an output file for tools/autowiki/autowiki.js to consume. +Autowiki code intentionally still exists even without the define, to ensure developers notice +when they break it immediately, rather than until CI or worse, call time. +Returns a string of the autowiki output file
+ + + diff --git a/code/modules/autowiki/pages/base.html b/code/modules/autowiki/pages/base.html new file mode 100644 index 00000000000..f286d7d1173 --- /dev/null +++ b/code/modules/autowiki/pages/base.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/autowiki/pages/base.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/autowiki/pages/base.dm + +

+ + +
/datum/autowikiA representation of an automated wiki page.
+ + + diff --git a/code/modules/autowiki/pages/stockparts.html b/code/modules/autowiki/pages/stockparts.html new file mode 100644 index 00000000000..1594c793da2 --- /dev/null +++ b/code/modules/autowiki/pages/stockparts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/autowiki/pages/stockparts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/autowiki/pages/stockparts.dm + +

+ + +
/datum/autowiki/stock_partsAutomtically generated string list of stock part templates and relevant data for the /tg/station wiki
+ + + diff --git a/code/modules/awaymissions/cordon.html b/code/modules/awaymissions/cordon.html new file mode 100644 index 00000000000..16d4df62c80 --- /dev/null +++ b/code/modules/awaymissions/cordon.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/awaymissions/cordon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/awaymissions/cordon.dm + +

+ + + + +
/turf/cordonTurf type that appears to be a world border, completely impassable and non-interactable to all physical (alive) entities.
/area/misc/cordonArea used in conjuction with the cordon turf to create a fully functioning world border.
/turf/cordon/secretThis type of cordon will block ghosts from passing through it. Useful for stuff like Away Missions, where you feasibly want to block ghosts from entering to keep a certain map section a secret.
+ + + diff --git a/code/modules/awaymissions/gateway.html b/code/modules/awaymissions/gateway.html new file mode 100644 index 00000000000..b96b9ccc4ee --- /dev/null +++ b/code/modules/awaymissions/gateway.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/gateway.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/awaymissions/gateway.dm + +

+ + +
/datum/gateway_destinationCorresponds to single entry in gateway control.
+ + + diff --git a/code/modules/awaymissions/mission_code/snowdin.html b/code/modules/awaymissions/mission_code/snowdin.html new file mode 100644 index 00000000000..4c6e19cf6aa --- /dev/null +++ b/code/modules/awaymissions/mission_code/snowdin.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/awaymissions/mission_code/snowdin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/awaymissions/mission_code/snowdin.dm + +

+ + +
/obj/item/paper/crumpled/ruins/snowdin/foreshadowingpapers
+ + + diff --git a/code/modules/awaymissions/zlevel.html b/code/modules/awaymissions/zlevel.html new file mode 100644 index 00000000000..bb92fc96796 --- /dev/null +++ b/code/modules/awaymissions/zlevel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/awaymissions/zlevel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/awaymissions/zlevel.dm + +

+ + + +
/proc/generate_map_list_from_directoryReturns a list of all maps to be found in the directory that is passed in.
+ + + diff --git a/code/modules/balloon_alert/balloon_alert.html b/code/modules/balloon_alert/balloon_alert.html new file mode 100644 index 00000000000..7a3657fbc32 --- /dev/null +++ b/code/modules/balloon_alert/balloon_alert.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/balloon_alert/balloon_alert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/balloon_alert/balloon_alert.dm + +

+ + + +
BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULTThe increase in duration per character in seconds
BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MINThe amount of characters needed before this increase takes into effect

Define Details

+

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MIN + + +

+

The amount of characters needed before this increase takes into effect

BALLOON_TEXT_CHAR_LIFETIME_INCREASE_MULT + + +

+

The increase in duration per character in seconds

+ + + diff --git a/code/modules/basketball/controller.html b/code/modules/basketball/controller.html new file mode 100644 index 00000000000..c30459ff657 --- /dev/null +++ b/code/modules/basketball/controller.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/basketball/controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/basketball/controller.dm + +

+ + + + + +
BASKETBALL_MIN_PLAYER_COUNThow many people can play basketball without issues (running out of spawns, procs not expecting more than this amount of people, etc)
/datum/basketball_controllerThe basketball controller handles the basketball minigame in progress. +It is first created when the first ghost signs up to play.
/proc/create_basketball_gameCreates the global datum for playing basketball games, destroys the last if that's required and returns the new.

Define Details

+

BASKETBALL_MIN_PLAYER_COUNT + + +

+

how many people can play basketball without issues (running out of spawns, procs not expecting more than this amount of people, etc)

+ + + diff --git a/code/modules/bitrunning/abilities.html b/code/modules/bitrunning/abilities.html new file mode 100644 index 00000000000..b387dc75cce --- /dev/null +++ b/code/modules/bitrunning/abilities.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/abilities.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/abilities.dm + +

+ + +
/datum/action/avatar_domain_infoDisplays information about the current virtual domain.
+ + + diff --git a/code/modules/bitrunning/areas.html b/code/modules/bitrunning/areas.html new file mode 100644 index 00000000000..434223ca524 --- /dev/null +++ b/code/modules/bitrunning/areas.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/bitrunning/areas.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/areas.dm + +

+ + + + + +
/area/station/cargo/bitrunningStation side
/area/virtual_domainVDOM
/area/virtual_domain/safehouseSafehouse
/area/lavaland/surface/outdoors/virtual_domainCustom subtypes
+ + + diff --git a/code/modules/bitrunning/components/avatar_connection.html b/code/modules/bitrunning/components/avatar_connection.html new file mode 100644 index 00000000000..4ce27974165 --- /dev/null +++ b/code/modules/bitrunning/components/avatar_connection.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/bitrunning/components/avatar_connection.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/components/avatar_connection.dm + +

+ + +
/datum/component/avatar_connectionEssentially temporary body with a twist - the virtual domain variant uses damage connections, +listens for vdom relevant signals.
+ + + diff --git a/code/modules/bitrunning/components/bitrunning_points.html b/code/modules/bitrunning/components/bitrunning_points.html new file mode 100644 index 00000000000..4ae17a8407f --- /dev/null +++ b/code/modules/bitrunning/components/bitrunning_points.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/components/bitrunning_points.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/components/bitrunning_points.dm + +

+ + +
/datum/component/bitrunning_pointsAttaches to a turf so it spawns a crate when a certain amount of points are added to it.
+ + + diff --git a/code/modules/bitrunning/components/npc_friendly.html b/code/modules/bitrunning/components/npc_friendly.html new file mode 100644 index 00000000000..1cc90069e43 --- /dev/null +++ b/code/modules/bitrunning/components/npc_friendly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/components/npc_friendly.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/components/npc_friendly.dm + +

+ + +
/datum/component/npc_friendlyMakes a mob friendly with most NPC factions
+ + + diff --git a/code/modules/bitrunning/designs.html b/code/modules/bitrunning/designs.html new file mode 100644 index 00000000000..6258c7c11ba --- /dev/null +++ b/code/modules/bitrunning/designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/bitrunning/designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/designs.dm + +

+ + +
/obj/item/circuitboard/machine/netpodquantum server design +are you absolutely sure??
+ + + diff --git a/code/modules/bitrunning/objects/disks.html b/code/modules/bitrunning/objects/disks.html new file mode 100644 index 00000000000..403a9f0381c --- /dev/null +++ b/code/modules/bitrunning/objects/disks.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/bitrunning/objects/disks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/objects/disks.dm + +

+ + + + + + + + +
/obj/item/bitrunning_diskBitrunning tech disks which let you load items or programs into the vdom on first avatar generation. +For the record: Balance shouldn't be a primary concern. +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/ability/tier1Tier 1 programs. Simple, funny, or helpful.
/obj/item/bitrunning_disk/ability/tier2Tier 2 programs. More complex, powerful, or useful.
/obj/item/bitrunning_disk/ability/tier3Tier 3 abilities. Very powerful, game breaking.
/obj/item/bitrunning_disk/item/tier1Tier 1 items. Simple, funny, or helpful.
/obj/item/bitrunning_disk/item/tier2Tier 2 items. More complex, powerful, or useful.
/obj/item/bitrunning_disk/item/tier3Tier 3 items. Very powerful, game breaking.
+ + + diff --git a/code/modules/bitrunning/objects/landmarks.html b/code/modules/bitrunning/objects/landmarks.html new file mode 100644 index 00000000000..6458d564f9f --- /dev/null +++ b/code/modules/bitrunning/objects/landmarks.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/bitrunning/objects/landmarks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/objects/landmarks.dm + +

+ + + + + + + + +
/obj/effect/landmark/bitrunning/loot_signalIn case you want to gate the crate behind a special condition.
/obj/effect/landmark/bitrunning/hololadder_spawnWhere the exit hololadder spawns
/obj/effect/landmark/bitrunning/cache_goal_turfWhere the crates need to be taken
/obj/effect/landmark/bitrunning/cache_spawnWhere you want the crate to spawn
/obj/effect/landmark/bitrunning/crate_replacerSwaps the locations of an encrypted crate in the area with another randomly selected crate. +Randomizes names, so you have to inspect crates manually.
/obj/effect/landmark/bitrunning/mob_segmentA location for mobs to spawn.
/obj/modular_map_root/safehouseBitrunning safehouses. Typically 7x6 rooms with a single entrance.
+ + + diff --git a/code/modules/bitrunning/objects/loot_crate.html b/code/modules/bitrunning/objects/loot_crate.html new file mode 100644 index 00000000000..35433a4d9dc --- /dev/null +++ b/code/modules/bitrunning/objects/loot_crate.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/bitrunning/objects/loot_crate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/objects/loot_crate.dm + +

+ + + +
/obj/structure/closet/crate/secure/bitrunning/encryptedThe virtual domain - side of the bitrunning crate. Deliver to the send location.
/obj/structure/closet/crate/secure/bitrunning/decryptedThe bitrunner den - side of the bitrunning crate. Appears in the receive location.
+ + + diff --git a/code/modules/bitrunning/server/_parent.html b/code/modules/bitrunning/server/_parent.html new file mode 100644 index 00000000000..951bc518c61 --- /dev/null +++ b/code/modules/bitrunning/server/_parent.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/server/_parent.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/server/_parent.dm + +

+ + +
/obj/machinery/quantum_serverThe base object for the quantum server
+ + + diff --git a/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.html b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.html new file mode 100644 index 00000000000..086081f0e4f --- /dev/null +++ b/code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/virtual_domain/domains/gondola_asteroid.dm + +

+ + +
/obj/structure/closet/crate/secure/bitrunning/encrypted/gondolaVery pushy gondolas, great for moving loot crates.
+ + + diff --git a/code/modules/bitrunning/virtual_domain/domains/test_only.html b/code/modules/bitrunning/virtual_domain/domains/test_only.html new file mode 100644 index 00000000000..fd298f5b3d2 --- /dev/null +++ b/code/modules/bitrunning/virtual_domain/domains/test_only.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/virtual_domain/domains/test_only.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/virtual_domain/domains/test_only.dm + +

+ + +
/datum/lazy_template/virtual_domain/test_onlyUsed for unit tests only. Skipped in UI.
+ + + diff --git a/code/modules/bitrunning/virtual_domain/virtual_domain.html b/code/modules/bitrunning/virtual_domain/virtual_domain.html new file mode 100644 index 00000000000..c5a0a9a18d8 --- /dev/null +++ b/code/modules/bitrunning/virtual_domain/virtual_domain.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/bitrunning/virtual_domain/virtual_domain.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/bitrunning/virtual_domain/virtual_domain.dm + +

+ + +
/datum/lazy_template/virtual_domainCreate your own: Read the readme file in the '_maps/virtual_domains' folder.
+ + + diff --git a/code/modules/buildmode.html b/code/modules/buildmode.html new file mode 100644 index 00000000000..f048e9f55c0 --- /dev/null +++ b/code/modules/buildmode.html @@ -0,0 +1,230 @@ + + + + + + + code/modules/buildmode/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Buildmode + +

+ + +
Code layoutBuildmode +

Manager for buildmode modes. Contains logic to manage switching between each mode, and presenting a suitable user interface.

+Effects +

Special graphics used by buildmode modes for user interface purposes.

+Buildmode Mode +

Implementer of buildmode behaviors.

+

Existing varieties:

+
    +
  • +

    Basic

    +

    Description:

    +

    Allows creation of simple structures consisting of floors, walls, windows, and airlocks.

    +

    Controls:

    +
      +
    • +

      Left click a turf:

      +

      "Upgrades" the turf based on the following rules below:

      +
        +
      • Space -> Tiled floor
      • +
      • Simulated floor -> Regular wall
      • +
      • Wall -> Reinforced wall
      • +
      +
    • +
    • +

      Right click a turf:

      +

      "Downgrades" the turf based on the following rules below:

      +
        +
      • Reinforced wall -> Regular wall
      • +
      • Wall -> Tiled floor
      • +
      • Simulated floor -> Space
      • +
      +
    • +
    • +

      Right click an object:

      +

      Deletes the clicked object.

      +
    • +
    • +

      Alt+Left click a location:

      +

      Places an airlock at the clicked location.

      +
    • +
    • +

      Ctrl+Left click a location:

      +

      Places a window at the clicked location.

      +
    • +
    +
  • +
  • +

    Advanced

    +

    Description:

    +

    Creates an instance of a configurable atom path where you click.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click a location (requires chosen path):

      +

      Place an instance of the chosen path at the location.

      +
    • +
    • +

      Right click an object:

      +

      Delete the object.

      +
    • +
    +
  • +
  • +

    Fill

    +

    Description:

    +

    Creates an instance of an atom path on every tile in a chosen region.

    +

    With a special control input, instead deletes everything within the region.

    +

    Controls:

    +
      +
    • +

      Right click on the mode selector:

      +

      Choose a path to spawn.

      +
    • +
    • +

      Left click on a region (requires chosen path):

      +

      Fill the region with the chosen path.

      +
    • +
    • +

      Alt+Left click on a region:

      +

      Deletes everything within the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Copy

    +

    Description:

    +

    Take an existing object in the world, and place duplicates with identical attributes where you click.

    +

    May not always work nicely - "deep" variables such as lists or datums may malfunction.

    +

    Controls:

    +
      +
    • +

      Right click an existing object:

      +

      Select the clicked object as a template.

      +
    • +
    • +

      Left click a location (Requires a selected object as template):

      +

      Place a duplicate of the template at the clicked location.

      +
    • +
    +
  • +
  • +

    Area Edit

    +

    Description:

    +

    Modifies and creates areas.

    +

    The active area will be highlighted in yellow.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Create a new area, and make it active.

      +
    • +
    • +

      Right click an existing area:

      +

      Make the clicked area active.

      +
    • +
    • +

      Left click a turf:

      +

      When an area is active, adds the turf to the active area.

      +
    • +
    +
  • +
  • +

    Var Edit

    +

    Description:

    +

    Allows for setting and resetting variables of objects with a click.

    +

    If the object does not have the var, will do nothing and print a warning message.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Choose which variable to set, and what to set it to.

      +
    • +
    • +

      Left click an atom:

      +

      Change the clicked atom's variables as configured.

      +
    • +
    • +

      Right click an atom:

      +

      Reset the targeted variable to its original value in the code.

      +
    • +
    +
  • +
  • +

    Map Generator

    +

    Description:

    +

    Fills rectangular regions with algorithmically generated content. Right click during region selection to cancel.

    +

    See the procedural_mapping module for the generators themselves.

    +

    Controls:

    +
      +
    • +

      Right-click on the mode selector:

      +

      Select a map generator from all the generators present in the codebase.

      +
    • +
    • +

      Left click two corners of an area:

      +

      Use the generator to populate the region.

      +
    • +
    • +

      Right click during region selection:

      +

      Cancel region selection.

      +
    • +
    +
  • +
  • +

    Throwing

    +

    Description:

    +

    Select an object with left click, and right click to throw it towards where you clicked.

    +

    Controls:

    +
      +
    • +

      Left click on a movable atom:

      +

      Select the atom for throwing.

      +
    • +
    • +

      Right click on a location:

      +

      Throw the selected atom towards that location.

      +
    • +
    +
  • +
  • +

    Boom

    +

    Description:

    +

    Make explosions where you click.

    +

    Controls:

    +
      +
    • +

      Right click the mode selector:

      +

      Configure the explosion size.

      +
    • +
    • +

      Left click a location:

      +

      Cause an explosion where you clicked.

      +
    • +
    +
  • +
+ + + diff --git a/code/modules/buildmode/bm_mode.html b/code/modules/buildmode/bm_mode.html new file mode 100644 index 00000000000..d78615c9bf9 --- /dev/null +++ b/code/modules/buildmode/bm_mode.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/buildmode/bm_mode.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/buildmode/bm_mode.dm + +

+ + + +
AREASELECT_CORNERACorner A area section for buildmode
AREASELECT_CORNERBCorner B area selection for buildmode

Define Details

+

AREASELECT_CORNERA + + +

+

Corner A area section for buildmode

AREASELECT_CORNERB + + +

+

Corner B area selection for buildmode

+ + + diff --git a/code/modules/capture_the_flag/ctf_controller.html b/code/modules/capture_the_flag/ctf_controller.html new file mode 100644 index 00000000000..5527bcf45e7 --- /dev/null +++ b/code/modules/capture_the_flag/ctf_controller.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/capture_the_flag/ctf_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/capture_the_flag/ctf_controller.dm + +

+ + + + + +
/datum/ctf_controllerThe CTF controller acts as a manager for an individual CTF game, each CTF game should have its own, the controller should handle all game-wide functionality.
/datum/ctf_teamA datum that holds details about individual CTF teams, any team specific CTF functionality should be implimented here.
/proc/create_ctf_gameCreates a CTF game with the provided teeam ID then returns a reference to the new controller. If a controller already exists provides a reference to it.
+ + + diff --git a/code/modules/capture_the_flag/ctf_game.html b/code/modules/capture_the_flag/ctf_game.html new file mode 100644 index 00000000000..6c851413ad7 --- /dev/null +++ b/code/modules/capture_the_flag/ctf_game.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/capture_the_flag/ctf_game.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/capture_the_flag/ctf_game.dm + +

+ + + + + + + + + + + +
/obj/machinery/ctfBase CTF machines, if spawned in creates a CTF game with the provided game_id unless one already exists. If one exists associates itself with it.
/obj/machinery/ctf/spawnerA spawn point for CTF, ghosts can interact with this to vote for CTF or spawn in if a game is running.
/obj/item/ctf_flagA flag used for the CTF minigame.
/obj/machinery/ctf/control_pointControl point used for CTF for king of the hill or control point game modes. Teams need to maintain control of the point for a set time to win.
/obj/structure/trap/ctfA trap that when stepped on kills anyone who is not part of the associated CTF team.
/obj/structure/barricade/security/ctfA type of barricade that can be destroyed by CTF weapons and respawns at the end of CTF matches.
/proc/toggle_id_ctfProc that handles toggling and unloading CTF.
/proc/is_ctf_targetProc that identifies if something is a valid target for CTF related checks, checks if an object is a ctf barrier or has ctf component if they are a player.
+ + + diff --git a/code/modules/capture_the_flag/ctf_player_component.html b/code/modules/capture_the_flag/ctf_player_component.html new file mode 100644 index 00000000000..f8dc78c84fd --- /dev/null +++ b/code/modules/capture_the_flag/ctf_player_component.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/capture_the_flag/ctf_player_component.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/capture_the_flag/ctf_player_component.dm + +

+ + +
/datum/component/ctf_playerA component added to the mind of anyone who is playing in an ongoing CTF match. Any player specific CTF functionality should be implimented here. (someone should impliment score tracking here)
+ + + diff --git a/code/modules/capture_the_flag/ctf_voting.html b/code/modules/capture_the_flag/ctf_voting.html new file mode 100644 index 00000000000..c49c1fdbdcc --- /dev/null +++ b/code/modules/capture_the_flag/ctf_voting.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/capture_the_flag/ctf_voting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/capture_the_flag/ctf_voting.dm + +

+ + + +
/proc/get_ctf_voting_controllerReturns the existing /datum/ctf_voting_controller for the given ID, or makes one
+ + + diff --git a/code/modules/capture_the_flag/medieval_sim/medisim_game.html b/code/modules/capture_the_flag/medieval_sim/medisim_game.html new file mode 100644 index 00000000000..f8b5e3c7c55 --- /dev/null +++ b/code/modules/capture_the_flag/medieval_sim/medisim_game.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/capture_the_flag/medieval_sim/medisim_game.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/capture_the_flag/medieval_sim/medisim_game.dm + +

+ + + +
REDFIELD_TEAMThese are for the medisim shuttle
/obj/machinery/ctf/spawner/medisimVariant of the CTF spawner used for the medieval simulation shuttle.

Define Details

+

REDFIELD_TEAM + + +

+

These are for the medisim shuttle

+ + + diff --git a/code/modules/cards/cards.html b/code/modules/cards/cards.html new file mode 100644 index 00000000000..c642e79505b --- /dev/null +++ b/code/modules/cards/cards.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cards/cards.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cards/cards.dm + +

+ + + +
/datum/deck_cardA basic interface for creating a card for a deck that isn't just a name.
/datum/deck_card/of_typeA /datum/deck_card that just creates a card of the given type
+ + + diff --git a/code/modules/cargo/bounties/assistant.html b/code/modules/cargo/bounties/assistant.html new file mode 100644 index 00000000000..db44fb15355 --- /dev/null +++ b/code/modules/cargo/bounties/assistant.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/bounties/assistant.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/bounties/assistant.dm + +

+ + + +
/datum/bounty/item/assistant/fish/fluidA subtype of the fish bounty that requires fish with a specific fluid type
/datum/bounty/item/assistant/fish/specificA subtype of the fish bounty that requires specific fish types. The higher their rarity, the better the pay.
+ + + diff --git a/code/modules/cargo/bounties/atmos.html b/code/modules/cargo/bounties/atmos.html new file mode 100644 index 00000000000..ba7a47e3f5f --- /dev/null +++ b/code/modules/cargo/bounties/atmos.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/bounties/atmos.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/bounties/atmos.dm + +

+ + +
/datum/bounty/item/atmosphericsUsed to calculate the extra reward
+ + + diff --git a/code/modules/cargo/bounties/security.html b/code/modules/cargo/bounties/security.html new file mode 100644 index 00000000000..7e6f8252f55 --- /dev/null +++ b/code/modules/cargo/bounties/security.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/bounties/security.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/bounties/security.dm + +

+ + +
/datum/bounty/item/security/paperworkBounties that require you to perform documentation and inspection of your department to send to centcom.
+ + + diff --git a/code/modules/cargo/bounty.html b/code/modules/cargo/bounty.html new file mode 100644 index 00000000000..10424016ad2 --- /dev/null +++ b/code/modules/cargo/bounty.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/cargo/bounty.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/cargo/bounty.dm + +

+ + + + +
MAXIMUM_BOUNTY_JOBSHow many jobs have bounties, minus the random civ bounties. PLEASE INCREASE THIS NUMBER AS MORE DEPTS ARE ADDED TO BOUNTIES.
/proc/random_bounty

Define Details

+

MAXIMUM_BOUNTY_JOBS + + +

+

How many jobs have bounties, minus the random civ bounties. PLEASE INCREASE THIS NUMBER AS MORE DEPTS ARE ADDED TO BOUNTIES.

+ + + diff --git a/code/modules/cargo/exports.html b/code/modules/cargo/exports.html new file mode 100644 index 00000000000..417a1a45811 --- /dev/null +++ b/code/modules/cargo/exports.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/exports.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/exports.dm + +

+ + + +
/proc/setupExportsCalled when the global exports_list is empty, and sets it up.
+ + + diff --git a/code/modules/cargo/exports/food_and_drink.html b/code/modules/cargo/exports/food_and_drink.html new file mode 100644 index 00000000000..557f1ce1cc5 --- /dev/null +++ b/code/modules/cargo/exports/food_and_drink.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/exports/food_and_drink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/exports/food_and_drink.dm + +

+ + +
/datum/export/foodOriginal Food export file got eaten somewhere along the line and I have no idea when or where it got completely deleted. +Foods given a venue value are exportable to cargo as a backup to selling from venues, however at the expense of elasticity.
+ + + diff --git a/code/modules/cargo/exports/large_objects.html b/code/modules/cargo/exports/large_objects.html new file mode 100644 index 00000000000..e108763a0bb --- /dev/null +++ b/code/modules/cargo/exports/large_objects.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/cargo/exports/large_objects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/exports/large_objects.dm + +

+ + +
/datum/export/large/gas_canisterGas canister exports. +I'm going to put a quick aside here as this has been a pain to balance for several years now, and I'd like to at least break how to keep gas exports tame. +So: Gasses are sold in canisters below, which have a variable amount of maximum pressure before they start to break. The largest of which is 9.2e13 kPa. +This means we can determine a theoretical maximum value for gas sale prices using the ideal gas laws, as we know we have a minimum gas temperature of 2.7 kelvin.
+ + + diff --git a/code/modules/cargo/markets/_market.html b/code/modules/cargo/markets/_market.html new file mode 100644 index 00000000000..16156f3ecdb --- /dev/null +++ b/code/modules/cargo/markets/_market.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/markets/_market.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/markets/_market.dm + +

+ + +
/datum/market/blackmarketThere is no ID card on the user, or the ID card has no account
+ + + diff --git a/code/modules/cargo/markets/market_items/tools.html b/code/modules/cargo/markets/market_items/tools.html new file mode 100644 index 00000000000..2d4180edf51 --- /dev/null +++ b/code/modules/cargo/markets/market_items/tools.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/markets/market_items/tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/markets/market_items/tools.dm + +

+ + +
/datum/market_item/tool/fake_scanner
+ + + diff --git a/code/modules/cargo/materials_market.html b/code/modules/cargo/materials_market.html new file mode 100644 index 00000000000..793215677c1 --- /dev/null +++ b/code/modules/cargo/materials_market.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/cargo/materials_market.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/cargo/materials_market.dm + +

+ + + +
MAX_STACK_LIMITThe maximum number of stacks you can place in 1 order
GALATIC_MATERIAL_ORDERThe order rank for all galactic material market orders

Define Details

+

GALATIC_MATERIAL_ORDER + + +

+

The order rank for all galactic material market orders

MAX_STACK_LIMIT + + +

+

The maximum number of stacks you can place in 1 order

+ + + diff --git a/code/modules/cargo/order.html b/code/modules/cargo/order.html new file mode 100644 index 00000000000..37aaf8bac90 --- /dev/null +++ b/code/modules/cargo/order.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/cargo/order.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/cargo/order.dm + +

+ + + + + + + +
MANIFEST_ERROR_CHANCEThe chance for a manifest or crate to be created with errors
MANIFEST_ERROR_NAMEDetermines if the station name will be incorrect on the manifest
MANIFEST_ERROR_CONTENTSDetermines if contents will be deleted from the manifest but still be present in the crate
MANIFEST_ERROR_ITEMDetermines if contents will be deleted from the crate but still be present in the manifest
/datum/supply_order/disposableCustom type of order who's supply pack can be safely deleted
/datum/supply_order/disposable/materialsCustom material order to append cargo crate value to the final order cost

Define Details

+

MANIFEST_ERROR_CHANCE + + +

+

The chance for a manifest or crate to be created with errors

MANIFEST_ERROR_CONTENTS + + +

+

Determines if contents will be deleted from the manifest but still be present in the crate

MANIFEST_ERROR_ITEM + + +

+

Determines if contents will be deleted from the crate but still be present in the manifest

MANIFEST_ERROR_NAME + + +

+

Determines if the station name will be incorrect on the manifest

+ + + diff --git a/code/modules/cargo/packs/_packs.html b/code/modules/cargo/packs/_packs.html new file mode 100644 index 00000000000..9d7de216cd6 --- /dev/null +++ b/code/modules/cargo/packs/_packs.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/cargo/packs/_packs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/_packs.dm + +

+ + + + +
/proc/send_supply_pod_to_areaEasily send a supplypod to an area
/datum/supply_pack/customCustom supply pack +The contents are given on New rather than being static +This is for adding custom orders to the Cargo console (like order consoles)
+ + + diff --git a/code/modules/cargo/packs/engineering.html b/code/modules/cargo/packs/engineering.html new file mode 100644 index 00000000000..1c875f343c5 --- /dev/null +++ b/code/modules/cargo/packs/engineering.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/engineering.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/engineering.dm + +

+ + +
/datum/supply_pack/engineEngine Construction
+ + + diff --git a/code/modules/cargo/packs/exploration.html b/code/modules/cargo/packs/exploration.html new file mode 100644 index 00000000000..e2932713f10 --- /dev/null +++ b/code/modules/cargo/packs/exploration.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/exploration.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/exploration.dm + +

+ + +
/datum/supply_pack/explorationExploration drone unlockables
+ + + diff --git a/code/modules/cargo/packs/general.html b/code/modules/cargo/packs/general.html new file mode 100644 index 00000000000..212f1020c27 --- /dev/null +++ b/code/modules/cargo/packs/general.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/cargo/packs/general.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/general.dm + +

+ + + +
/datum/supply_pack/misc/syndicateSpecial supply crate that generates random syndicate gear up to a determined TC value
/datum/supply_pack/misc/syndicate/custom_valueSyndicate supply crate that can have its contents value changed by admins, uses a seperate datum to avoid having admins touch the original one.
+ + + diff --git a/code/modules/cargo/packs/imports.html b/code/modules/cargo/packs/imports.html new file mode 100644 index 00000000000..1fe3892865b --- /dev/null +++ b/code/modules/cargo/packs/imports.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/cargo/packs/imports.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/imports.dm + +

+ + +
/datum/supply_pack/importsImports category. +This is for crates not intended for goodies, but also not intended for departmental orders. +This allows us to have a few crates meant for deliberate purchase through cargo, and for cargo to have a few items +they explicitly control. It also holds all of the black market material and contraband material, including items +meant for purchase only through emagging the console.
+ + + diff --git a/code/modules/cargo/packs/security.html b/code/modules/cargo/packs/security.html new file mode 100644 index 00000000000..1b8fdf905f2 --- /dev/null +++ b/code/modules/cargo/packs/security.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/security.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/security.dm + +

+ + +
/datum/supply_pack/security/armoryArmory packs
+ + + diff --git a/code/modules/cargo/packs/service.html b/code/modules/cargo/packs/service.html new file mode 100644 index 00000000000..3397d75acfb --- /dev/null +++ b/code/modules/cargo/packs/service.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/cargo/packs/service.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/service.dm + +

+ + + + +
/datum/supply_pack/service/greyidboxBox of 7 grey IDs.
/datum/supply_pack/service/silveridSingle silver ID.
/datum/supply_pack/service/bar_signSpare bar sign wallmount
+ + + diff --git a/code/modules/cargo/packs/stock_market_items.html b/code/modules/cargo/packs/stock_market_items.html new file mode 100644 index 00000000000..ce46cadd3b1 --- /dev/null +++ b/code/modules/cargo/packs/stock_market_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/stock_market_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/stock_market_items.dm + +

+ + +
/datum/supply_pack/market_materialstodo: make this a supply_pack/custom. Drop pog? ohoho yes. Would be VERY fun.
+ + + diff --git a/code/modules/cargo/packs/vending_restock.html b/code/modules/cargo/packs/vending_restock.html new file mode 100644 index 00000000000..1043e252a3e --- /dev/null +++ b/code/modules/cargo/packs/vending_restock.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/cargo/packs/vending_restock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/cargo/packs/vending_restock.dm + +

+ + +
/datum/supply_pack/vending/wardrobes/autodrobeClothing Vending Restocks
+ + + diff --git a/code/modules/chatter/chatter.html b/code/modules/chatter/chatter.html new file mode 100644 index 00000000000..c8c1add087b --- /dev/null +++ b/code/modules/chatter/chatter.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/chatter/chatter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/chatter/chatter.dm + +

+ + + +
/proc/chatter_speakWe're going to take a list that dictates the pace of speech, and a sentence fragment to say +Then say() that fragment at that pace +You can pass in a starting delay to wait before speaking the next sound
+ + + diff --git a/code/modules/client/client_colour.html b/code/modules/client/client_colour.html new file mode 100644 index 00000000000..32b62f7c733 --- /dev/null +++ b/code/modules/client/client_colour.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/client/client_colour.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/client/client_colour.dm + +

+ + + +
/datum/client_colourClient Colour Priority System By RemieRichards (then refactored by another contributor) +A System that gives finer control over which client.colour value to display on screen +so that the "highest priority" one is always displayed as opposed to the default of +"whichever was set last is displayed".
MIX_CLIENT_COLOURGets the resulting colour/tone from client_colours. +In the case of multiple colours, they'll be converted to RGBA matrices for compatibility, +summed together, and then each element divided by the number of matrices. (except we do this with lists because byond) +target is the target variable.

Define Details

+

MIX_CLIENT_COLOUR + + + +

+

Gets the resulting colour/tone from client_colours. +In the case of multiple colours, they'll be converted to RGBA matrices for compatibility, +summed together, and then each element divided by the number of matrices. (except we do this with lists because byond) +target is the target variable.

+ + + diff --git a/code/modules/client/client_defines.html b/code/modules/client/client_defines.html new file mode 100644 index 00000000000..fe4fb602bb0 --- /dev/null +++ b/code/modules/client/client_defines.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/client_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/client_defines.dm + +

+ + +
/clientClient datum
+ + + diff --git a/code/modules/client/player_details.html b/code/modules/client/player_details.html new file mode 100644 index 00000000000..66e92c0155f --- /dev/null +++ b/code/modules/client/player_details.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/client/player_details.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/player_details.dm + +

+ + + + +
/datum/player_detailsTracks information about a client between log in and log outs
/proc/log_played_namesAdds the new names to the player's played_names list on their /datum/player_details for use of admins. +ckey should be their ckey, and data should be an associative list with the keys being the names they played under and the values being the unique mob ID tied to that name.
+ + + diff --git a/code/modules/client/preferences.html b/code/modules/client/preferences.html new file mode 100644 index 00000000000..20cc49324b9 --- /dev/null +++ b/code/modules/client/preferences.html @@ -0,0 +1,367 @@ + + + + + + + code/modules/client/preferences/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Preferences (by Mothblocks) + +

+ + + + + + + +

This does not contain all the information on specific values--you can find those as doc-comments in relevant paths, such as /datum/preference. Rather, this gives you an overview for creating most preferences, and getting your foot in the door to create more advanced ones.

+Anatomy of a preference (A.K.A. how do I make one?) +

Most preferences consist of two parts:

+
    +
  1. A /datum/preference type.
  2. +
  3. A tgui representation in a TypeScript file.
  4. +
+

Every /datum/preference requires these three values be set:

+
    +
  1. category - See Categories.
  2. +
  3. savefile_key - The value which will be saved in the savefile. This will also be the identifier for tgui.
  4. +
  5. savefile_identifier - Whether or not this is a character specific preference (PREFERENCE_CHARACTER) or one that affects the player (PREFERENCE_PLAYER). As an example: hair color is PREFERENCE_CHARACTER while your UI settings are PREFERENCE_PLAYER, since they do not change between characters.
  6. +
+

For the tgui representation, most preferences will create a .tsx file in tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/. If your preference is a character preference, make a new file in character_preferences. Otherwise, put it in game_preferences. The filename does not matter, and this file can hold multiple relevant preferences if you would like.

+

From here, you will want to write code resembling:

+
import { Feature } from "../base";
+
+export const savefile_key_here: Feature<T> = {
+  name: "Preference Name Here",
+  component: Component,
+
+  // Necessary for game preferences, unused for others
+  category: "CATEGORY",
+
+  // Optional, shown as a tooltip
+  description: "This preference will blow your mind!",
+}
+
+

T and Component depend on the type of preference you're making. Here are all common examples...

+Numeric preferences +

Examples include age and FPS.

+

A numeric preference derives from /datum/preference/numeric.

+
/datum/preference/numeric/legs
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "legs"
+
+	minimum = 1
+	maximum = 8
+
+

You can optionally provide a step field. This value is 1 by default, meaning only integers are accepted.

+

Your .tsx file would look like:

+
import { Feature, FeatureNumberInput } from "../base";
+
+export const legs: Feature<number> = {
+  name: "Legs",
+  component: FeatureNumberInput,
+}
+
+Toggle preferences +

Examples include enabling tooltips.

+
/datum/preference/toggle/enable_breathing
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "enable_breathing"
+
+	// Optional, TRUE by default
+	default_value = FALSE
+
+

Your .tsx file would look like:

+
import { CheckboxInput, FeatureToggle } from "../base";
+
+export const enable_breathing: FeatureToggle = {
+  name: "Enable breathing",
+  component: CheckboxInput,
+}
+
+Choiced preferences +

A choiced preference is one where the only options are in a distinct few amount of choices. Examples include skin tone, shirt, and UI style.

+

To create one, derive from /datum/preference/choiced.

+
/datum/preference/choiced/favorite_drink
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "favorite_drink"
+
+

Now we need to tell the game what the choices are. We do this by overriding init_possible_values(). This will return a list of possible options.

+
/datum/preference/choiced/favorite_drink/init_possible_values()
+	return list(
+		"Milk",
+		"Cola",
+		"Water",
+	)
+
+

Your .tsx file would then look like:

+
import { FeatureChoiced, FeatureDropdownInput } from "../base";
+
+export const favorite_drink: FeatureChoiced = {
+  name: "Favorite drink",
+  component: FeatureDropdownInput,
+};
+
+

This will create a dropdown input for your preference.

+Choiced preferences - Icons +

Choiced preferences can generate icons. This is how the clothing/species preferences work, for instance. However, if we just want a basic dropdown input with icons, it would look like this:

+
/datum/preference/choiced/favorite_drink
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "favorite_drink"
+	should_generate_icons = TRUE // NEW! This is necessary.
+
+/datum/preference/choiced/favorite_drink/init_possible_values()
+	return list("Milk", "Cola", "Water")
+
+// New! This proc will get called for every value.
+/datum/preference/choiced/favorite_drink/icon_for(value)
+	switch (value)
+		if ("Milk")
+			return icon('drinks.dmi', "milk")
+		if ("Cola")
+			return icon('drinks.dmi', "cola")
+		if ("Water")
+			return icon('drinks.dmi', "water")
+
+

Then, change your .tsx file to look like:

+
import { FeatureChoiced, FeatureIconnedDropdownInput } from "../base";
+
+export const favorite_drink: FeatureChoiced = {
+  name: "Favorite drink",
+  component: FeatureIconnedDropdownInput,
+};
+
+Choiced preferences - Display names +

Sometimes the values you want to save in code aren't the same as the ones you want to display. You can specify display names to change this.

+

The only thing you will add is "compiled data".

+
/datum/preference/choiced/favorite_drink/compile_constant_data()
+	var/list/data = ..()
+
+	// An assoc list of values to display names
+	data[CHOICED_PREFERENCE_DISPLAY_NAMES] = list(
+		"Milk" = "Delicious Milk",
+		"Cola" = "Crisp Cola",
+		"Water" = "Plain Ol' Water",
+	)
+
+	return data
+
+

Your .tsx file does not change. The UI will figure it out for you!

+Color preferences +

These refer to colors, such as your OOC color. When read, these values will be given as 6 hex digits, without the pound sign.

+
/datum/preference/color/eyeliner_color
+	category = PREFERENCE_CATEGORY_NON_CONTEXTUAL
+	savefile_identifier = PREFERENCE_CHARACTER
+	savefile_key = "eyeliner_color"
+
+

Your .tsx file would look like:

+
import { FeatureColorInput, Feature } from "../base";
+
+export const eyeliner_color: Feature<string> = {
+  name: "Eyeliner color",
+  component: FeatureColorInput,
+};
+
+Name preferences +

These refer to an alternative name. Examples include AI names and backup human names.

+

These exist in code/modules/client/preferences/names.dm.

+

These do not need a .ts file, and will be created in the UI automatically.

+
/datum/preference/name/doctor
+	savefile_key = "doctor_name"
+
+	// The name on the UI
+	explanation = "Doctor name"
+
+	// This groups together with anything else with the same group
+	group = "medicine"
+
+	// Optional, if specified the UI will show this name actively
+	// when the player is a medical doctor.
+	relevant_job = /datum/job/medical_doctor
+
+Making your preference do stuff +

There are a handful of procs preferences can use to act on their own:

+
/// Apply this preference onto the given client.
+/// Called when the savefile_identifier == PREFERENCE_PLAYER.
+/datum/preference/proc/apply_to_client(client/client, value)
+
+/// Fired when the preference is updated.
+/// Calls apply_to_client by default, but can be overridden.
+/datum/preference/proc/apply_to_client_updated(client/client, value)
+
+/// Apply this preference onto the given human.
+/// Must be overriden by subtypes.
+/// Called when the savefile_identifier == PREFERENCE_CHARACTER.
+/datum/preference/proc/apply_to_human(mob/living/carbon/human/target, value)
+
+

For example, /datum/preference/numeric/age contains:

+
/datum/preference/numeric/age/apply_to_human(mob/living/carbon/human/target, value)
+	target.age = value
+
+

If your preference is PREFERENCE_CHARACTER, it MUST override apply_to_human, even if just to immediately return.

+

You can also read preferences directly with prefs.read_preference(/datum/preference/type/here), which will return the stored value.

+Categories +

Every preference needs to be in a category. These can be found in code/__DEFINES/preferences.dm.

+
/// These will be shown in the character sidebar, but at the bottom.
+#define PREFERENCE_CATEGORY_FEATURES "features"
+
+/// Any preferences that will show to the sides of the character in the setup menu.
+#define PREFERENCE_CATEGORY_CLOTHING "clothing"
+
+/// Preferences that will be put into the 3rd list, and are not contextual.
+#define PREFERENCE_CATEGORY_NON_CONTEXTUAL "non_contextual"
+
+/// Will be put under the game preferences window.
+#define PREFERENCE_CATEGORY_GAME_PREFERENCES "game_preferences"
+
+/// These will show in the list to the right of the character preview.
+#define PREFERENCE_CATEGORY_SECONDARY_FEATURES "secondary_features"
+
+/// These are preferences that are supplementary for main features,
+/// such as hair color being affixed to hair.
+#define PREFERENCE_CATEGORY_SUPPLEMENTAL_FEATURES "supplemental_features"
+
+

Preference categories for the main page

+
+

SECONDARY_FEATURES or NON_CONTEXTUAL?

+
+

Secondary features tend to be species specific. Non contextual features shouldn't change much from character to character.

+Default values and randomization +

There are three procs to be aware of in regards to this topic:

+
    +
  • create_default_value(). This is used when a value deserializes improperly or when a new character is created.
  • +
  • create_informed_default_value(datum/preferences/preferences) - Used for more complicated default values, like how names require the gender. Will call create_default_value() by default.
  • +
  • create_random_value(datum/preferences/preferences) - Explicitly used for random values, such as when a character is being randomized.
  • +
+

create_default_value() in most preferences will create a random value. If this is a problem (like how default characters should always be human), you can override create_default_value(). By default (without overriding create_random_value), random values are just default values.

+Advanced - Server data +

As previewed in the display names implementation, there exists a compile_constant_data() proc you can override.

+

Compiled data is used wherever the server needs to give the client some value it can't figure out on its own. Skin tones use this to tell the client what colors they represent, for example.

+

Compiled data is sent to the serverData field in the FeatureValueProps.

+Advanced - Creating your own tgui component +

If you have good knowledge with tgui (especially TypeScript), you'll be able to create your own component to represent preferences.

+

The component field in a feature accepts any component that accepts FeatureValueProps<TReceiving, TSending = TReceiving, TServerData = undefined>.

+

This will give you the fields:

+
act: typeof sendAct,
+featureId: string,
+handleSetValue: (newValue: TSending) => void,
+serverData: TServerData | undefined,
+shrink?: boolean,
+value: TReceiving,
+
+

act is the same as the one you get from useBackend.

+

featureId is the savefile_key of the feature.

+

handleSetValue is a function that, when called, will tell the server the new value, as well as changing the value immediately locally.

+

serverData is the server data, if it has been fetched yet (and exists).

+

shrink is whether or not the UI should appear smaller. This is only used for supplementary features.

+

value is the current value, could be predicted (meaning that the value was changed locally, but has not yet reached the server).

+

For a basic example of how this can look, observe CheckboxInput:

+
export const CheckboxInput = (
+  props: FeatureValueProps<BooleanLike, boolean>
+) => {
+  return (<Button.Checkbox
+    checked={!!props.value}
+    onClick={() => {
+      props.handleSetValue(!props.value);
+    }}
+  />);
+};
+
+Advanced - Middleware +

A /datum/preference_middleware is a way to inject your own data at specific points, as well as hijack actions.

+

Middleware can hijack actions by specifying action_delegations:

+
/datum/preference_middleware/congratulations
+	action_delegations = list(
+		"congratulate_me" = PROC_REF(congratulate_me),
+	)
+
+/datum/preference_middleware/congratulations/proc/congratulate_me(list/params, mob/user)
+	to_chat(user, span_notice("Wow, you did a great job learning about middleware!"))
+
+	return TRUE
+
+

Middleware can inject its own data at several points, such as providing new UI assets, compiled data (used by middleware such as quirks to tell the client what quirks exist), etc. Look at code/modules/client/preferences/middleware/_middleware.dm for full information.

+
+Antagonists +

In order to make an antagonist selectable, you must do a few things:

+
    +
  1. Your antagonist needs an icon.
  2. +
  3. Your antagonist must be in a Dynamic ruleset. The ruleset must specify the antagonist as its antag_flag.
  4. +
  5. Your antagonist needs a file in tgui/packages/tgui/interfaces/PreferencesMenu/antagonists/antagonists/filename.ts. This file name MUST be the antag_flag of your ruleset, with nothing but letters remaining (e.g. "Nuclear Operative" -> nuclearoperative).
  6. +
  7. Add it to special_roles.
  8. +
+Creating icons +

If you are satisfied with your icon just being a dude with some clothes, then you can specify preview_outfit in your /datum/antagonist.

+

Space Ninja, for example, looks like:

+
/datum/antagonist/ninja
+	preview_outift = /datum/outfit/ninja
+
+

However, if you want to get creative, you can override /get_preview_icon(). This proc should return an icon of size ANTAGONIST_PREVIEW_ICON_SIZExANTAGONIST_PREVIEW_ICON_SIZE.

+

There are some helper procs you can use as well. render_preview_outfit(outfit_type) will take an outfit and give you an icon of someone wearing those clothes. finish_preview_outfit will, given an icon, resize it appropriately and zoom in on the head. Note that this will look bad on anything that isn't a human, so if you have a non-human antagonist (such as sentient disease), just run icon.Scale(ANTAGONIST_PREVIEW_ICON_SIZE, ANTAGONIST_PREVIEW_ICON_SIZE).

+

For inspiration, here is changeling's:

+
/datum/antagonist/changeling/get_preview_icon()
+	var/icon/final_icon = render_preview_outfit(/datum/outfit/changeling)
+	var/icon/split_icon = render_preview_outfit(/datum/outfit/job/engineer)
+
+	final_icon.Shift(WEST, world.icon_size / 2)
+	final_icon.Shift(EAST, world.icon_size / 2)
+
+	split_icon.Shift(EAST, world.icon_size / 2)
+	split_icon.Shift(WEST, world.icon_size / 2)
+
+	final_icon.Blend(split_icon, ICON_OVERLAY)
+
+	return finish_preview_icon(final_icon)
+
+

...which creates:

+

Changeling icon

+Creating the tgui representation +

In the .ts file you created earlier, you must now give the information of your antagonist. For reference, this is the changeling's:

+
import { Antagonist, Category } from "../base";
+import { multiline } from "common/string";
+
+const Changeling: Antagonist = {
+  key: "changeling", // This must be the same as your filename
+  name: "Changeling",
+  description: [
+    multiline`
+      A highly intelligent alien predator that is capable of altering their
+      shape to flawlessly resemble a human.
+    `,
+
+    multiline`
+      Transform yourself or others into different identities, and buy from an
+      arsenal of biological weaponry with the DNA you collect.
+    `,
+  ],
+  category: Category.Roundstart, // Category.Roundstart, Category.Midround, or Category.Latejoin
+};
+
+export default Changeling;
+
+Readying the Dynamic ruleset +

You already need to create a Dynamic ruleset, so in order to get your antagonist recognized, you just need to specify antag_flag. This must be unique per ruleset.

+

Two other values to note are antag_flag_override and antag_preference.

+

antag_flag_override exists for cases where you want the banned antagonist to be separate from antag_flag. As an example: roundstart, midround, and latejoin traitors have separate antag_flag, but all have antag_flag_override = ROLE_TRAITOR. This is because admins want to ban a player from Traitor altogether, not specific rulesets.

+

If antag_preference is set, it will refer to that preference instead of antag_flag. This is used for clown operatives, which we want to be on the same preference as standard nuke ops, but must specify a unique antag_flag for.

+Updating special_roles +

In code/__DEFINES/role_preferences.dm (the same place you'll need to make your ROLE_* defined), simply add your antagonist to the special_roles assoc list. The key is your ROLE, the value is the number of days since your first game in order to play as that antagonist.

/atom/movable/screen/map_view/char_previewA preview of a character for use in the preferences menu
/proc/safe_read_prefSafely read a given preference datum from a given client.
/proc/get_chat_togglesGet the given client's chat toggle prefs.
+ + + diff --git a/code/modules/client/preferences/_preference.html b/code/modules/client/preferences/_preference.html new file mode 100644 index 00000000000..5086da7fbcb --- /dev/null +++ b/code/modules/client/preferences/_preference.html @@ -0,0 +1,93 @@ + + + + + + + code/modules/client/preferences/_preference.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/client/preferences/_preference.dm + +

+ + + + + + + + + + + + + + + + + + + +
PREFERENCE_PRIORITY_DEFAULTThe default priority level
PREFERENCE_PRIORITY_SPECIESThe priority at which species runs, needed for external organs to apply properly.
PREFERENCE_PRIORITY_BODYPARTSSome preferences get applied directly to bodyparts (anything head_flags related right now). +These must apply after species, as species gaining might replace the bodyparts of the human.
PREFERENCE_PRIORITY_GENDERThe priority at which gender is determined, needed for proper randomization.
PREFERENCE_PRIORITY_BODY_TYPEThe priority at which body type is decided, applied after gender so we can +support the "use gender" option.
PREFERENCE_PRIORITY_NAMESThe priority at which names are decided, needed for proper randomization.
PREFERENCE_PRIORITY_NAME_MODIFICATIONSPreferences that aren't names, but change the name changes set by PREFERENCE_PRIORITY_NAMES.
MAX_PREFERENCE_PRIORITYThe maximum preference priority, keep this updated, but don't use it for priority.
CHOICED_PREFERENCE_DISPLAY_NAMESFor choiced preferences, this key will be used to set display names in constant data.
SUPPLEMENTAL_FEATURE_KEYFor main feature preferences, this key refers to a feature considered supplemental. +For instance, hair color being supplemental to hair.
/proc/get_preferences_in_priority_orderReturns a flat list of preferences in order of their priority
/datum/preferenceRepresents an individual preference.
/datum/preference/choicedA preference that is a choice of one option among a fixed set. +Used for preferences such as clothing.
/datum/preference/colorA preference that represents an RGB color of something. +Will give the value as 6 hex digits, without a hash.
/datum/preference/numericA numeric preference with a minimum and maximum value
/datum/preference/toggleA preference whose value is always TRUE or FALSE
/datum/preference/textA string-based preference accepting arbitrary string values entered by the user, with a maximum length.

Define Details

+

CHOICED_PREFERENCE_DISPLAY_NAMES + + +

+

For choiced preferences, this key will be used to set display names in constant data.

MAX_PREFERENCE_PRIORITY + + +

+

The maximum preference priority, keep this updated, but don't use it for priority.

PREFERENCE_PRIORITY_BODYPARTS + + +

+

Some preferences get applied directly to bodyparts (anything head_flags related right now). +These must apply after species, as species gaining might replace the bodyparts of the human.

PREFERENCE_PRIORITY_BODY_TYPE + + +

+

The priority at which body type is decided, applied after gender so we can +support the "use gender" option.

PREFERENCE_PRIORITY_DEFAULT + + +

+

The default priority level

PREFERENCE_PRIORITY_GENDER + + +

+

The priority at which gender is determined, needed for proper randomization.

PREFERENCE_PRIORITY_NAMES + + +

+

The priority at which names are decided, needed for proper randomization.

PREFERENCE_PRIORITY_NAME_MODIFICATIONS + + +

+

Preferences that aren't names, but change the name changes set by PREFERENCE_PRIORITY_NAMES.

PREFERENCE_PRIORITY_SPECIES + + +

+

The priority at which species runs, needed for external organs to apply properly.

SUPPLEMENTAL_FEATURE_KEY + + +

+

For main feature preferences, this key refers to a feature considered supplemental. +For instance, hair color being supplemental to hair.

+ + + diff --git a/code/modules/client/preferences/admin.html b/code/modules/client/preferences/admin.html new file mode 100644 index 00000000000..f914a36c921 --- /dev/null +++ b/code/modules/client/preferences/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/admin.dm + +

+ + + +
/datum/preference/choiced/brief_outfitWhat outfit to equip when spawning as a briefing officer for an ERT
/datum/preference/toggle/ghost_roles_as_adminWhen enabled, prevents any and all ghost role pop-ups WHILE ADMINNED.
+ + + diff --git a/code/modules/client/preferences/ai_core_display.html b/code/modules/client/preferences/ai_core_display.html new file mode 100644 index 00000000000..b7e5e002eb6 --- /dev/null +++ b/code/modules/client/preferences/ai_core_display.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ai_core_display.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ai_core_display.dm + +

+ + +
/datum/preference/choiced/ai_core_displayWhat to show on the AI screen
+ + + diff --git a/code/modules/client/preferences/ai_emote_display.html b/code/modules/client/preferences/ai_emote_display.html new file mode 100644 index 00000000000..9dbf12a46f9 --- /dev/null +++ b/code/modules/client/preferences/ai_emote_display.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ai_emote_display.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ai_emote_display.dm + +

+ + +
/datum/preference/choiced/ai_emote_displayWhat to show on the AI monitor
+ + + diff --git a/code/modules/client/preferences/ai_hologram_display.html b/code/modules/client/preferences/ai_hologram_display.html new file mode 100644 index 00000000000..c54eed98b31 --- /dev/null +++ b/code/modules/client/preferences/ai_hologram_display.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ai_hologram_display.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ai_hologram_display.dm + +

+ + +
/datum/preference/choiced/ai_hologram_displayWhat to show on the AI hologram
+ + + diff --git a/code/modules/client/preferences/ambient_occlusion.html b/code/modules/client/preferences/ambient_occlusion.html new file mode 100644 index 00000000000..94c5971ce24 --- /dev/null +++ b/code/modules/client/preferences/ambient_occlusion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ambient_occlusion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ambient_occlusion.dm + +

+ + +
/datum/preference/toggle/ambient_occlusionWhether or not to toggle ambient occlusion, the shadows around people
+ + + diff --git a/code/modules/client/preferences/assets.html b/code/modules/client/preferences/assets.html new file mode 100644 index 00000000000..b6a77b284ef --- /dev/null +++ b/code/modules/client/preferences/assets.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/assets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/assets.dm + +

+ + + +
/datum/asset/spritesheet/preferencesBackdrop for the game world plane. +Assets generated from /datum/preference icons
/datum/asset/json/preferencesSends information needed for shared details on individual preferences
+ + + diff --git a/code/modules/client/preferences/broadcast_login_logout.html b/code/modules/client/preferences/broadcast_login_logout.html new file mode 100644 index 00000000000..f8a998c84fe --- /dev/null +++ b/code/modules/client/preferences/broadcast_login_logout.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/broadcast_login_logout.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/broadcast_login_logout.dm + +

+ + +
/datum/preference/toggle/broadcast_login_logoutWhether or not to announce when the player logs in or out.
+ + + diff --git a/code/modules/client/preferences/clothing.html b/code/modules/client/preferences/clothing.html new file mode 100644 index 00000000000..76533430eae --- /dev/null +++ b/code/modules/client/preferences/clothing.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/client/preferences/clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/clothing.dm + +

+ + + + + + +
/datum/preference/choiced/backpackBackpack preference
/datum/preference/choiced/jumpsuitJumpsuit preference
/datum/preference/choiced/socksSocks preference
/datum/preference/choiced/undershirtUndershirt preference
/datum/preference/choiced/underwearUnderwear preference
+ + + diff --git a/code/modules/client/preferences/darkened_flash.html b/code/modules/client/preferences/darkened_flash.html new file mode 100644 index 00000000000..59e1d4e437a --- /dev/null +++ b/code/modules/client/preferences/darkened_flash.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/darkened_flash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/darkened_flash.dm + +

+ + +
/datum/preference/toggle/darkened_flashWhen toggled, being flashed will show a dark screen rather than a light one.
+ + + diff --git a/code/modules/client/preferences/gender.html b/code/modules/client/preferences/gender.html new file mode 100644 index 00000000000..1ffbb973dad --- /dev/null +++ b/code/modules/client/preferences/gender.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/gender.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/gender.dm + +

+ + +
/datum/preference/choiced/genderGender preference
+ + + diff --git a/code/modules/client/preferences/ghost.html b/code/modules/client/preferences/ghost.html new file mode 100644 index 00000000000..289640c13ae --- /dev/null +++ b/code/modules/client/preferences/ghost.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/client/preferences/ghost.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ghost.dm + +

+ + + + + + + + +
/datum/preference/choiced/ghost_accessoriesDetermines what accessories your ghost will look like they have.
/datum/preference/choiced/ghost_formDetermines the appearance of your ghost to others, when you are a BYOND member
/datum/preference/toggle/ghost_hudToggles the HUD for ghosts
/datum/preference/choiced/ghost_orbitDetermines what ghosts orbiting look like to you.
/datum/preference/choiced/ghost_othersDetermines how to show other ghosts
/datum/preference/toggle/inquisitive_ghostWhether or not ghosts can examine things by clicking on them.
/datum/preference/toggle/ghost_rolesWhen enabled, prevents any and all ghost role pop-ups.
+ + + diff --git a/code/modules/client/preferences/ghost_lighting.html b/code/modules/client/preferences/ghost_lighting.html new file mode 100644 index 00000000000..a6304878a18 --- /dev/null +++ b/code/modules/client/preferences/ghost_lighting.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ghost_lighting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ghost_lighting.dm + +

+ + +
/datum/preference/choiced/ghost_lightingHow bright a ghost's lighting plane is
+ + + diff --git a/code/modules/client/preferences/middleware/_middleware.html b/code/modules/client/preferences/middleware/_middleware.html new file mode 100644 index 00000000000..ada8a14304f --- /dev/null +++ b/code/modules/client/preferences/middleware/_middleware.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/_middleware.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/_middleware.dm + +

+ + +
/datum/preference_middlewarePreference middleware is code that helps to decentralize complicated preference features.
+ + + diff --git a/code/modules/client/preferences/middleware/antags.html b/code/modules/client/preferences/middleware/antags.html new file mode 100644 index 00000000000..1b111de0828 --- /dev/null +++ b/code/modules/client/preferences/middleware/antags.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/middleware/antags.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/antags.dm + +

+ + + + +
/datum/asset/spritesheet/antagonistsSprites generated for the antagonists panel
/proc/serialize_antag_nameSerializes an antag name to be used for preferences UI
+ + + diff --git a/code/modules/client/preferences/middleware/keybindings.html b/code/modules/client/preferences/middleware/keybindings.html new file mode 100644 index 00000000000..eced33c1ae2 --- /dev/null +++ b/code/modules/client/preferences/middleware/keybindings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/keybindings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/keybindings.dm + +

+ + +
/datum/preference_middleware/keybindingsMiddleware to handle keybindings
+ + + diff --git a/code/modules/client/preferences/middleware/legacy_toggles.html b/code/modules/client/preferences/middleware/legacy_toggles.html new file mode 100644 index 00000000000..60a38cdb23f --- /dev/null +++ b/code/modules/client/preferences/middleware/legacy_toggles.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/client/preferences/middleware/legacy_toggles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/legacy_toggles.dm + +

+ + +
/datum/preference_middleware/legacy_togglesIn the before times, toggles were all stored in one bitfield. +In order to preserve this existing data (and code) without massive +migrations, this middleware attempts to handle this in a way +transparent to the preferences UI itself. +In the future, the existing toggles data should just be migrated to +individual /datum/preference/toggles.
+ + + diff --git a/code/modules/client/preferences/middleware/names.html b/code/modules/client/preferences/middleware/names.html new file mode 100644 index 00000000000..9dd4fa16d7e --- /dev/null +++ b/code/modules/client/preferences/middleware/names.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/middleware/names.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/names.dm + +

+ + +
/datum/preference_middleware/namesMiddleware that handles telling the UI which name to show, and waht names +they have.
+ + + diff --git a/code/modules/client/preferences/middleware/quirks.html b/code/modules/client/preferences/middleware/quirks.html new file mode 100644 index 00000000000..372547c6cde --- /dev/null +++ b/code/modules/client/preferences/middleware/quirks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/quirks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/quirks.dm + +

+ + +
/datum/preference_middleware/quirksMiddleware to handle quirks
+ + + diff --git a/code/modules/client/preferences/middleware/random.html b/code/modules/client/preferences/middleware/random.html new file mode 100644 index 00000000000..de8976d84c4 --- /dev/null +++ b/code/modules/client/preferences/middleware/random.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/random.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/random.dm + +

+ + +
/datum/preference_middleware/randomMiddleware for handling randomization preferences
+ + + diff --git a/code/modules/client/preferences/middleware/species.html b/code/modules/client/preferences/middleware/species.html new file mode 100644 index 00000000000..58b59ed37f4 --- /dev/null +++ b/code/modules/client/preferences/middleware/species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/species.dm + +

+ + +
/datum/preference_middleware/speciesHandles the assets for species icons
+ + + diff --git a/code/modules/client/preferences/middleware/tts.html b/code/modules/client/preferences/middleware/tts.html new file mode 100644 index 00000000000..b7e4bd46a6f --- /dev/null +++ b/code/modules/client/preferences/middleware/tts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/middleware/tts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/middleware/tts.dm + +

+ + +
/datum/preference_middleware/ttsMiddleware to handle quirks
+ + + diff --git a/code/modules/client/preferences/mod_select.html b/code/modules/client/preferences/mod_select.html new file mode 100644 index 00000000000..1668e2e5de9 --- /dev/null +++ b/code/modules/client/preferences/mod_select.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/mod_select.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/mod_select.dm + +

+ + +
/datum/preference/choiced/mod_selectSwitches between mouse buttons for MODsuit active modules
+ + + diff --git a/code/modules/client/preferences/multiz_parallax.html b/code/modules/client/preferences/multiz_parallax.html new file mode 100644 index 00000000000..32b69cdcfea --- /dev/null +++ b/code/modules/client/preferences/multiz_parallax.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/multiz_parallax.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/multiz_parallax.dm + +

+ + +
/datum/preference/toggle/multiz_parallaxWhether or not to toggle multiz parallax, the parallax effect for lower z-levels.
+ + + diff --git a/code/modules/client/preferences/multiz_performance.html b/code/modules/client/preferences/multiz_performance.html new file mode 100644 index 00000000000..b910ef48931 --- /dev/null +++ b/code/modules/client/preferences/multiz_performance.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/multiz_performance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/multiz_performance.dm + +

+ + +
/datum/preference/numeric/multiz_performanceBoundary for how many z levels down to render properly before we start going cheapo mode
+ + + diff --git a/code/modules/client/preferences/names.html b/code/modules/client/preferences/names.html new file mode 100644 index 00000000000..6b20d0e20a2 --- /dev/null +++ b/code/modules/client/preferences/names.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/client/preferences/names.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/names.dm + +

+ + + + + +
/datum/preference/nameA preference for a name. Used not just for normal names, but also for clown names, etc.
/datum/preference/name/real_nameA character's real name
/datum/preference/name/backup_humanThe name for a backup human, when nonhumans are made into head of staff
/datum/preference/name/operative_aliasThe first name given to nuclear operative antagonists. The last name will be chosen by the team leader.
+ + + diff --git a/code/modules/client/preferences/ooc.html b/code/modules/client/preferences/ooc.html new file mode 100644 index 00000000000..50566df43f7 --- /dev/null +++ b/code/modules/client/preferences/ooc.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ooc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ooc.dm + +

+ + +
/datum/preference/color/ooc_colorThe color admins will speak in for OOC.
+ + + diff --git a/code/modules/client/preferences/operative_species.html b/code/modules/client/preferences/operative_species.html new file mode 100644 index 00000000000..1f1b77b7447 --- /dev/null +++ b/code/modules/client/preferences/operative_species.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/client/preferences/operative_species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/operative_species.dm + +

+ + +
/datum/preference/toggle/nuke_ops_speciesWhen TRUE, will spawn you as a human when selected for an operative role +When FALSE, players will be placed into the game as their character's species
+ + + diff --git a/code/modules/client/preferences/paint_color.html b/code/modules/client/preferences/paint_color.html new file mode 100644 index 00000000000..c5039a9a95c --- /dev/null +++ b/code/modules/client/preferences/paint_color.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/paint_color.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/paint_color.dm + +

+ + +
/datum/preference/color/paint_colorPreference for the roundstart color of the spraycan given by the Tagger quirk.
+ + + diff --git a/code/modules/client/preferences/parallax.html b/code/modules/client/preferences/parallax.html new file mode 100644 index 00000000000..967af08c9a7 --- /dev/null +++ b/code/modules/client/preferences/parallax.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/parallax.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/parallax.dm + +

+ + +
/datum/preference/choiced/parallaxDetermines parallax, "fancy space"
+ + + diff --git a/code/modules/client/preferences/pda.html b/code/modules/client/preferences/pda.html new file mode 100644 index 00000000000..90a28325350 --- /dev/null +++ b/code/modules/client/preferences/pda.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/client/preferences/pda.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/pda.dm + +

+ + + +
/datum/preference/text/pda_ringtoneThis is the preference for the player's SpaceMessenger ringtone. +Currently only applies to humans spawned in with a job, as it's hooked +into /datum/job/proc/after_spawn().
/datum/preference/choiced/pda_themePDA theme
+ + + diff --git a/code/modules/client/preferences/playtime_reward_cloak.html b/code/modules/client/preferences/playtime_reward_cloak.html new file mode 100644 index 00000000000..8c9f9cb2c23 --- /dev/null +++ b/code/modules/client/preferences/playtime_reward_cloak.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/playtime_reward_cloak.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/playtime_reward_cloak.dm + +

+ + +
/datum/preference/toggle/playtime_reward_cloakThis can be set to TRUE from the prefs menu only once the user has +gained over 5K playtime hours. +If true, it allows the user to get a cool looking roundstart cloak.
+ + + diff --git a/code/modules/client/preferences/preferred_map.html b/code/modules/client/preferences/preferred_map.html new file mode 100644 index 00000000000..5c19a353238 --- /dev/null +++ b/code/modules/client/preferences/preferred_map.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/preferred_map.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/preferred_map.dm + +

+ + +
/datum/preference/choiced/preferred_mapDuring map rotation, this will help determine the chosen map.
+ + + diff --git a/code/modules/client/preferences/prisoner_crime.html b/code/modules/client/preferences/prisoner_crime.html new file mode 100644 index 00000000000..1b84f608e3c --- /dev/null +++ b/code/modules/client/preferences/prisoner_crime.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/prisoner_crime.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/prisoner_crime.dm + +

+ + +
/datum/preference/choiced/prisoner_crimeWhich crime is the prisoner permabrigged for. For fluff!
+ + + diff --git a/code/modules/client/preferences/scaling_method.html b/code/modules/client/preferences/scaling_method.html new file mode 100644 index 00000000000..f8ac8eff431 --- /dev/null +++ b/code/modules/client/preferences/scaling_method.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/scaling_method.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/scaling_method.dm + +

+ + +
/datum/preference/choiced/scaling_methodThe scaling method to show the world in, e.g. nearest neighbor
+ + + diff --git a/code/modules/client/preferences/security_department.html b/code/modules/client/preferences/security_department.html new file mode 100644 index 00000000000..273ab186a9c --- /dev/null +++ b/code/modules/client/preferences/security_department.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/security_department.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/security_department.dm + +

+ + +
/datum/preference/choiced/security_departmentWhich department to put security officers in, when the config is enabled
+ + + diff --git a/code/modules/client/preferences/sounds.html b/code/modules/client/preferences/sounds.html new file mode 100644 index 00000000000..c35024c4d72 --- /dev/null +++ b/code/modules/client/preferences/sounds.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/client/preferences/sounds.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/sounds.dm + +

+ + + + + + + + + + + +
/datum/preference/toggle/sound_ambienceControls hearing ambience
/datum/preference/toggle/sound_announcementsControls hearing announcement sounds
/datum/preference/toggle/sound_combatmodeControls hearing the combat mode toggle sound
/datum/preference/toggle/sound_endofroundControls hearing round end sounds
/datum/preference/toggle/sound_instrumentsControls hearing instruments
/datum/preference/toggle/sound_jukeboxControls hearing dance machines
/datum/preference/toggle/sound_lobbyControls hearing lobby music
/datum/preference/toggle/sound_midiControls hearing admin music
/datum/preference/toggle/sound_ship_ambienceControls hearing ship ambience
/datum/preference/toggle/sound_elevatorControls hearing elevator music
+ + + diff --git a/code/modules/client/preferences/species.html b/code/modules/client/preferences/species.html new file mode 100644 index 00000000000..67d6158117f --- /dev/null +++ b/code/modules/client/preferences/species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/species.dm + +

+ + +
/datum/preference/choiced/speciesSpecies preference
+ + + diff --git a/code/modules/client/preferences/tgui.html b/code/modules/client/preferences/tgui.html new file mode 100644 index 00000000000..9c082b69331 --- /dev/null +++ b/code/modules/client/preferences/tgui.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/client/preferences/tgui.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/tgui.dm + +

+ + + + +
/datum/preference/toggle/tgui_input_largeLarge button preference. Error text is in tooltip.
/datum/preference/toggle/tgui_input_swappedSwapped button state - sets buttons to SS13 traditional SUBMIT/CANCEL
/datum/preference/toggle/tgui_say_light_modeLight mode for tgui say
+ + + diff --git a/code/modules/client/preferences/ui_style.html b/code/modules/client/preferences/ui_style.html new file mode 100644 index 00000000000..d92dcc7063f --- /dev/null +++ b/code/modules/client/preferences/ui_style.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/ui_style.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/ui_style.dm + +

+ + +
/datum/preference/choiced/ui_styleUI style preference
+ + + diff --git a/code/modules/client/preferences/voice.html b/code/modules/client/preferences/voice.html new file mode 100644 index 00000000000..ad96b67f1bf --- /dev/null +++ b/code/modules/client/preferences/voice.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/voice.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/voice.dm + +

+ + +
/datum/preference/choiced/voiceTTS voice preference
+ + + diff --git a/code/modules/client/preferences/window_flashing.html b/code/modules/client/preferences/window_flashing.html new file mode 100644 index 00000000000..5d43cd51857 --- /dev/null +++ b/code/modules/client/preferences/window_flashing.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/client/preferences/window_flashing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/preferences/window_flashing.dm + +

+ + +
/datum/preference/toggle/window_flashingEnables flashing the window in your task tray for important events
+ + + diff --git a/code/modules/client/verbs/who.html b/code/modules/client/verbs/who.html new file mode 100644 index 00000000000..7a0f35dbb2b --- /dev/null +++ b/code/modules/client/verbs/who.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/client/verbs/who.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/client/verbs/who.dm + +

+ + + + + + + + + +
/proc/get_list_of_adminsProc that returns a list of cliented admins. Remember that this list can contain nulls! +Also, will return null if we don't have any admins.
/proc/get_linked_admin_nameProc that will return the applicable display name, linkified or not, based on the input client reference.
/proc/get_general_adminwho_informationProc that gathers adminwho information for a general player, which will only give information if an admin isn't AFK, and handles potential fakekeying. +Will return a list of strings.
/proc/get_sensitive_adminwho_informationProc that gathers adminwho information for admins, which will contain information on if the admin is AFK, readied to join, etc. Only arg is a list of clients to use. +Will return a list of strings.
+ + + diff --git a/code/modules/clothing/belts/polymorph_belt.html b/code/modules/clothing/belts/polymorph_belt.html new file mode 100644 index 00000000000..3051fcffdc6 --- /dev/null +++ b/code/modules/clothing/belts/polymorph_belt.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/clothing/belts/polymorph_belt.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/belts/polymorph_belt.dm + +

+ + + + +
/obj/item/polymorph_beltBelt which can turn you into a beast, once an anomaly core is inserted
/obj/item/polymorph_belt/functioningPre-activated polymorph belt
/datum/action/cooldown/spell/shapeshift/polymorph_beltAbility provided by the polymorph belt
+ + + diff --git a/code/modules/clothing/chameleon/_chameleon_action.html b/code/modules/clothing/chameleon/_chameleon_action.html new file mode 100644 index 00000000000..7873b73b73c --- /dev/null +++ b/code/modules/clothing/chameleon/_chameleon_action.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/clothing/chameleon/_chameleon_action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/clothing/chameleon/_chameleon_action.dm + +

+ + +
EMP_RANDOMISE_TIMEDefault duration of an EMP randomisation on a chameleon item

Define Details

+

EMP_RANDOMISE_TIME + + +

+

Default duration of an EMP randomisation on a chameleon item

+ + + diff --git a/code/modules/clothing/chameleon/chameleon_scanner.html b/code/modules/clothing/chameleon/chameleon_scanner.html new file mode 100644 index 00000000000..282859a2318 --- /dev/null +++ b/code/modules/clothing/chameleon/chameleon_scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/chameleon/chameleon_scanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/chameleon/chameleon_scanner.dm + +

+ + +
/obj/item/chameleon_scannerSmall handheld chameleon item that allows a user to mimic the outfit of another person quickly.
+ + + diff --git a/code/modules/clothing/glasses/_glasses.html b/code/modules/clothing/glasses/_glasses.html new file mode 100644 index 00000000000..fb9c0e0974f --- /dev/null +++ b/code/modules/clothing/glasses/_glasses.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/clothing/glasses/_glasses.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/glasses/_glasses.dm + +

+ + + +
/obj/item/clothing/glasses/eyepatch/medical/chuuniwizard version
/obj/item/syndicate_contactsSyndicate item that upgrades the flash protection of your eyes.
+ + + diff --git a/code/modules/clothing/head/hat.html b/code/modules/clothing/head/hat.html new file mode 100644 index 00000000000..45708d55cdb --- /dev/null +++ b/code/modules/clothing/head/hat.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/clothing/head/hat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/head/hat.dm + +

+ + + +
/obj/item/clothing/head/cowboy/bountyBounty hunter's hat, very likely to intercept bullets
/obj/item/clothing/head/cowboy/black/syndicateMore likely to intercept bullets, since you're likely to not be wearing your modsuit with this on
+ + + diff --git a/code/modules/clothing/head/jobs.html b/code/modules/clothing/head/jobs.html new file mode 100644 index 00000000000..7e9e87d5586 --- /dev/null +++ b/code/modules/clothing/head/jobs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/clothing/head/jobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/head/jobs.dm + +

+ + + +
/obj/item/clothing/head/utility/chefhat/i_am_assuming_direct_controlAdmin variant of the chef hat where every mouse pilot input will always be transferred to the wearer
/obj/item/clothing/head/fedora/inspector_hatDetectives Fedora, but like Inspector Gadget. Not a subtype to not inherit candy corn stuff
+ + + diff --git a/code/modules/clothing/masks/animal_masks.html b/code/modules/clothing/masks/animal_masks.html new file mode 100644 index 00000000000..a2ada37fbe9 --- /dev/null +++ b/code/modules/clothing/masks/animal_masks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/masks/animal_masks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/masks/animal_masks.dm + +

+ + +
/obj/item/clothing/mask/animal/frogfrog mask - reeee!!
+ + + diff --git a/code/modules/clothing/masks/gas_filter.html b/code/modules/clothing/masks/gas_filter.html new file mode 100644 index 00000000000..b9f858c0df1 --- /dev/null +++ b/code/modules/clothing/masks/gas_filter.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/clothing/masks/gas_filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/clothing/masks/gas_filter.dm + +

+ + + + + + + +
HIGH_FILTERING_RATIOFiltering ratio for high amounts of gas
LOW_FILTERING_RATIOFiltering ratio for min amount of gas
HIGH_FILTERING_MOLESMin amount of high filtering gases for high filtering ratio
MID_FILTERING_MOLESMin amount of mid filtering gases for high filtering ratio
LOW_FILTERING_MOLESMin amount of low filtering gases for high filtering ratio
FILTERS_CONSTANT_WEARMin amount of wear that the filter gets when used

Define Details

+

FILTERS_CONSTANT_WEAR + + +

+

Min amount of wear that the filter gets when used

HIGH_FILTERING_MOLES + + +

+

Min amount of high filtering gases for high filtering ratio

HIGH_FILTERING_RATIO + + +

+

Filtering ratio for high amounts of gas

LOW_FILTERING_MOLES + + +

+

Min amount of low filtering gases for high filtering ratio

LOW_FILTERING_RATIO + + +

+

Filtering ratio for min amount of gas

MID_FILTERING_MOLES + + +

+

Min amount of mid filtering gases for high filtering ratio

+ + + diff --git a/code/modules/clothing/shoes/cowboy.html b/code/modules/clothing/shoes/cowboy.html new file mode 100644 index 00000000000..a4d044ef765 --- /dev/null +++ b/code/modules/clothing/shoes/cowboy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/shoes/cowboy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/shoes/cowboy.dm + +

+ + +
/obj/item/clothing/shoes/cowboy/black/syndicateShoes for the nuke-ops cowboy fit
+ + + diff --git a/code/modules/clothing/spacesuits/_spacesuits.html b/code/modules/clothing/spacesuits/_spacesuits.html new file mode 100644 index 00000000000..ca81e6a7131 --- /dev/null +++ b/code/modules/clothing/spacesuits/_spacesuits.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/spacesuits/_spacesuits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/spacesuits/_spacesuits.dm + +

+ + +
/datum/armor/suit_spaceIf this is FALSE the batery status UI will be disabled. This is used for suits that don't use bateries like the changeling's flesh suit mutation.
+ + + diff --git a/code/modules/clothing/suits/reactive_armour_dimensional_themes.html b/code/modules/clothing/suits/reactive_armour_dimensional_themes.html new file mode 100644 index 00000000000..f09be608db6 --- /dev/null +++ b/code/modules/clothing/suits/reactive_armour_dimensional_themes.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/clothing/suits/reactive_armour_dimensional_themes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/suits/reactive_armour_dimensional_themes.dm + +

+ + + + +
/datum/armour_dimensional_themeDatum describing a 'theme' which transforms a 3x3 area's turfs when applied. +It also creates a number of themed barriers in that area.
/datum/armour_dimensional_theme/safeThemes which will largely be probably useful for the user
/datum/armour_dimensional_theme/dangerousDangerous themes can potentially impede the user as much as people pursuing them
+ + + diff --git a/code/modules/clothing/suits/toggles.html b/code/modules/clothing/suits/toggles.html new file mode 100644 index 00000000000..78ee62b9194 --- /dev/null +++ b/code/modules/clothing/suits/toggles.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/clothing/suits/toggles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/suits/toggles.dm + +

+ + +
/obj/item/clothing/suit/hoodedSubtype with support for hoods +You no longer actually need to extend this and can just add the component yourself without a lot of this boilerplate code
+ + + diff --git a/code/modules/clothing/under/accessories/_accessories.html b/code/modules/clothing/under/accessories/_accessories.html new file mode 100644 index 00000000000..87384385db7 --- /dev/null +++ b/code/modules/clothing/under/accessories/_accessories.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/clothing/under/accessories/_accessories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/under/accessories/_accessories.dm + +

+ + +
/obj/item/clothing/accessoryClothing accessories.
+ + + diff --git a/code/modules/clothing/under/accessories/badges.html b/code/modules/clothing/under/accessories/badges.html new file mode 100644 index 00000000000..7a454a8d548 --- /dev/null +++ b/code/modules/clothing/under/accessories/badges.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/clothing/under/accessories/badges.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/under/accessories/badges.dm + +

+ + + +
/obj/item/clothing/accessory/debt_payer_pinAwarded for being dutiful and extinguishing the debt from the "Indebted" quirk.
/obj/item/clothing/accessory/anti_sec_pinSelf-identify as a dangerous subversive
+ + + diff --git a/code/modules/clothing/under/color.html b/code/modules/clothing/under/color.html new file mode 100644 index 00000000000..3e4ed872496 --- /dev/null +++ b/code/modules/clothing/under/color.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/clothing/under/color.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/clothing/under/color.dm + +

+ + + + + +
/proc/get_random_jumpsuitReturns a random, acceptable jumpsuit typepath
/proc/get_random_jumpskirtReturns a random, acceptable jumpskirt typepath
+ + + diff --git a/code/modules/discord/discord_embed.html b/code/modules/discord/discord_embed.html new file mode 100644 index 00000000000..1e2431211c7 --- /dev/null +++ b/code/modules/discord/discord_embed.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/discord/discord_embed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/discord/discord_embed.dm + +

+ + +
/datum/discord_embedDocumentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.
+ + + diff --git a/code/modules/discord/discord_link_record.html b/code/modules/discord/discord_link_record.html new file mode 100644 index 00000000000..4b0980da7ea --- /dev/null +++ b/code/modules/discord/discord_link_record.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/discord/discord_link_record.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/discord/discord_link_record.dm + +

+ + +
/datum/discord_link_recordRepresents a record from the discord link table in a nicer format
+ + + diff --git a/code/modules/emoji/emoji_parse.html b/code/modules/emoji/emoji_parse.html new file mode 100644 index 00000000000..d2776a813ad --- /dev/null +++ b/code/modules/emoji/emoji_parse.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/emoji/emoji_parse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/emoji/emoji_parse.dm + +

+ + + +
/proc/emoji_parsePay the owner +Make alerts +Log the event
+ + + diff --git a/code/modules/escape_menu/details.html b/code/modules/escape_menu/details.html new file mode 100644 index 00000000000..0b89c011217 --- /dev/null +++ b/code/modules/escape_menu/details.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/escape_menu/details.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/escape_menu/details.dm + +

+ + + +
/proc/give_escape_menu_detailsProvides a singleton for the escape menu details screen.
+ + + diff --git a/code/modules/escape_menu/subsystem.html b/code/modules/escape_menu/subsystem.html new file mode 100644 index 00000000000..f293ca20fad --- /dev/null +++ b/code/modules/escape_menu/subsystem.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/escape_menu/subsystem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/escape_menu/subsystem.dm + +

+ + + +
/var/SSescape_menuSubsystem for controlling anything related to the escape menu
+ + + diff --git a/code/modules/escape_menu/title.html b/code/modules/escape_menu/title.html new file mode 100644 index 00000000000..c51ea830713 --- /dev/null +++ b/code/modules/escape_menu/title.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/escape_menu/title.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/escape_menu/title.dm + +

+ + + +
/proc/give_escape_menu_titleProvides a singleton for the escape menu details screen.
+ + + diff --git a/code/modules/events/_event_admin_setup.html b/code/modules/events/_event_admin_setup.html new file mode 100644 index 00000000000..eb8bcf90180 --- /dev/null +++ b/code/modules/events/_event_admin_setup.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/events/_event_admin_setup.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/_event_admin_setup.dm + +

+ + + + + + + +
/datum/event_admin_setupDatum that holds a proc for additional options when running an event. +Prototypes are declared here, non-prototypes on the event files.
/datum/event_admin_setup/listed_optionsA very common pattern is picking from a tgui list input, so this does that. +Supply a list in get_list and prompt admins will have the admin pick from it or cancel.
/datum/event_admin_setup/text_inputFor admin setups that want a custom string. Suggests what the event would have picked normally.
/datum/event_admin_setup/warn_adminSome events are not always a good idea when a game state is in a certain situation. +This runs a check and warns the admin.
/datum/event_admin_setup/minimum_candidate_requirementFor events that mandate a set number of candidates to function
/datum/event_admin_setup/questionFor events that require a true/false question
+ + + diff --git a/code/modules/events/anomaly/_anomaly.html b/code/modules/events/anomaly/_anomaly.html new file mode 100644 index 00000000000..aa3f86ed453 --- /dev/null +++ b/code/modules/events/anomaly/_anomaly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/anomaly/_anomaly.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/anomaly/_anomaly.dm + +

+ + +
/datum/round_event_control/anomalyYou will appear adjacent to the beacon
+ + + diff --git a/code/modules/events/disease_outbreak.html b/code/modules/events/disease_outbreak.html new file mode 100644 index 00000000000..51e6535af7d --- /dev/null +++ b/code/modules/events/disease_outbreak.html @@ -0,0 +1,90 @@ + + + + + + + code/modules/events/disease_outbreak.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/events/disease_outbreak.dm + +

+ + + + + + + + + + + + + + + + +
ADV_MIN_SYMPTOMSAdvanced virus lower limit for symptoms
ADV_MAX_SYMPTOMSAdvanced virus upper limit for symptoms
ADV_ANNOUNCE_DELAYHow long the virus stays hidden before announcement
ADV_DISEASE_MEDIUMNumerical define for medium severity advanced virus
ADV_DISEASE_HARMFULNumerical define for harmful severity advanced virus
ADV_DISEASE_DANGEROUSNumerical define for dangerous severity advanced virus
ADV_RNG_LOWPercentile for low severity advanced virus
ADV_RNG_MIDPercentile for mid severity advanced virus
ADV_SPREAD_THRESHOLDPercentile for high vs. low transmissibility
ADV_SPREAD_FORCED_LOWAdmin custom low spread
ADV_SPREAD_FORCED_MIDAdmin custom med spread
ADV_SPREAD_FORCED_HIGHAdmin custom high spread
/datum/event_admin_setup/minimum_candidate_requirement/disease_outbreakHandles checking and alerting admins about the number of valid candidates
/datum/event_admin_setup/listed_options/disease_outbreakHandles actually selecting whicch disease will spawn.
/datum/event_admin_setup/listed_options/disease_outbreak_advanced/severityAdmin virus customization

Define Details

+

ADV_ANNOUNCE_DELAY + + +

+

How long the virus stays hidden before announcement

ADV_DISEASE_DANGEROUS + + +

+

Numerical define for dangerous severity advanced virus

ADV_DISEASE_HARMFUL + + +

+

Numerical define for harmful severity advanced virus

ADV_DISEASE_MEDIUM + + +

+

Numerical define for medium severity advanced virus

ADV_MAX_SYMPTOMS + + +

+

Advanced virus upper limit for symptoms

ADV_MIN_SYMPTOMS + + +

+

Advanced virus lower limit for symptoms

ADV_RNG_LOW + + +

+

Percentile for low severity advanced virus

ADV_RNG_MID + + +

+

Percentile for mid severity advanced virus

ADV_SPREAD_FORCED_HIGH + + +

+

Admin custom high spread

ADV_SPREAD_FORCED_LOW + + +

+

Admin custom low spread

ADV_SPREAD_FORCED_MID + + +

+

Admin custom med spread

ADV_SPREAD_THRESHOLD + + +

+

Percentile for high vs. low transmissibility

+ + + diff --git a/code/modules/events/earthquake.html b/code/modules/events/earthquake.html new file mode 100644 index 00000000000..59e99431234 --- /dev/null +++ b/code/modules/events/earthquake.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/events/earthquake.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/earthquake.dm + +

+ + +
/datum/round_event_control/earthquakeEarthquake random event. +Draws a curve of turfs between a high and low point. These turfs will shake and eventually "collapse", forming a cut in the station that drops to the z-level below. +Much of the actual structural damage is done through the explosions subsystem. Objects, machines, and especially people +that aren't moved out of the epicenter area (indicated by the wobbly tiles) will not just be thrown down a z-level, but also be destroyed/maimed in the process.
+ + + diff --git a/code/modules/events/immovable_rod/immovable_rod.html b/code/modules/events/immovable_rod/immovable_rod.html new file mode 100644 index 00000000000..b0235e43878 --- /dev/null +++ b/code/modules/events/immovable_rod/immovable_rod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/immovable_rod/immovable_rod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/immovable_rod/immovable_rod.dm + +

+ + +
/obj/effect/immovablerod"What the fuck was that?!"
+ + + diff --git a/code/modules/events/immovable_rod/immovable_rod_event.html b/code/modules/events/immovable_rod/immovable_rod_event.html new file mode 100644 index 00000000000..7c10edc1697 --- /dev/null +++ b/code/modules/events/immovable_rod/immovable_rod_event.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/events/immovable_rod/immovable_rod_event.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/immovable_rod/immovable_rod_event.dm + +

+ + + + +
/datum/round_event_control/immovable_rodImmovable rod random event. +The rod will spawn at some location outside the station, and travel in a straight line to the opposite side of the station
/datum/event_admin_setup/set_location/immovable_rodAdmins can pick a spot the rod will aim for
/datum/event_admin_setup/question/immovable_rodAdmins can also force it to loop around forever, or at least until the RD gets their hands on it.
+ + + diff --git a/code/modules/events/market_crash.html b/code/modules/events/market_crash.html new file mode 100644 index 00000000000..cf66af06493 --- /dev/null +++ b/code/modules/events/market_crash.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/market_crash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/market_crash.dm + +

+ + +
/datum/round_event_control/market_crashAn event which decreases the station target temporarily, causing the inflation var to increase heavily.
+ + + diff --git a/code/modules/events/sandstorm.html b/code/modules/events/sandstorm.html new file mode 100644 index 00000000000..ba8fb632884 --- /dev/null +++ b/code/modules/events/sandstorm.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/events/sandstorm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/sandstorm.dm + +

+ + + +
/datum/round_event_control/sandstormSandstorm Event: Throws dust/sand at one side of the station. High-intensity and relatively short, +however the incoming direction is given along with time to prepare. Damages can be reduced or +mitigated with a few people actively working to fix things as the storm hits, but leaving the event to run on its own can lead to widespread breaches.
/datum/round_event_control/sandstorm_classicThe original sandstorm event. An admin-only disasterfest that sands down all sides of the station +Uses space dust, meaning walls/rwalls are quickly chewed up very quickly.
+ + + diff --git a/code/modules/events/shuttle_loan/shuttle_loan_datum.html b/code/modules/events/shuttle_loan/shuttle_loan_datum.html new file mode 100644 index 00000000000..49c243f84f0 --- /dev/null +++ b/code/modules/events/shuttle_loan/shuttle_loan_datum.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/shuttle_loan/shuttle_loan_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/shuttle_loan/shuttle_loan_datum.dm + +

+ + +
/datum/shuttle_loan_situationOne of the potential shuttle loans you might receive.
+ + + diff --git a/code/modules/events/space_vines/vine_controller.html b/code/modules/events/space_vines/vine_controller.html new file mode 100644 index 00000000000..86c7c8b822b --- /dev/null +++ b/code/modules/events/space_vines/vine_controller.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/events/space_vines/vine_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/space_vines/vine_controller.dm + +

+ + + +
/proc/isvineimmuneBonus spread for kudzu that has just started out (ie. with low vine count) +Base spread rate, depends solely on spread multiplier and vine count +Actual maximum spread rate for this process tick +Used to determine whether the mob is immune to actions by the vine. +Use cases: Stops vine from attacking itself, other plants.
+ + + diff --git a/code/modules/events/stray_cargo.html b/code/modules/events/stray_cargo.html new file mode 100644 index 00000000000..3d2376a26bf --- /dev/null +++ b/code/modules/events/stray_cargo.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/events/stray_cargo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/stray_cargo.dm + +

+ + + + +
/datum/round_event_control/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event/stray_cargoSpawns a cargo pod containing a random cargo supply pack on a random area of the station
/datum/round_event_control/stray_cargo/syndicatePlaces that shouldn't explode +Subtypes from the above that actually should explode. +A rare variant that drops a crate containing syndicate uplink items
+ + + diff --git a/code/modules/events/supermatter_surge.html b/code/modules/events/supermatter_surge.html new file mode 100644 index 00000000000..cc66ee23c6d --- /dev/null +++ b/code/modules/events/supermatter_surge.html @@ -0,0 +1,53 @@ + + + + + + + code/modules/events/supermatter_surge.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/events/supermatter_surge.dm + +

+ + + + + + + +
SURGE_BULLET_ENERGY_ADDITIONThe amount of bullet energy we add for the duration of the SM surge
SURGE_BASE_POWERLOSS_INHIBITIONThe amount of powerloss inhibition (energy retention) we add for the duration of the SM surge
SURGE_POWERLOSS_INHIBITION_MODIFIERThe powerloss inhibition scaling based on surge severity
SURGE_POWER_GENERATION_MODIFIERThe power generation scaling based on surge severity
SURGE_HEAT_MODIFIERThe heat modifier scaling based on surge severity
/datum/round_event_control/supermatter_surgeSupermatter Surge

Define Details

+

SURGE_BASE_POWERLOSS_INHIBITION + + +

+

The amount of powerloss inhibition (energy retention) we add for the duration of the SM surge

SURGE_BULLET_ENERGY_ADDITION + + +

+

The amount of bullet energy we add for the duration of the SM surge

SURGE_HEAT_MODIFIER + + +

+

The heat modifier scaling based on surge severity

SURGE_POWERLOSS_INHIBITION_MODIFIER + + +

+

The powerloss inhibition scaling based on surge severity

SURGE_POWER_GENERATION_MODIFIER + + +

+

The power generation scaling based on surge severity

+ + + diff --git a/code/modules/events/wizard/curseditems.html b/code/modules/events/wizard/curseditems.html new file mode 100644 index 00000000000..f7b156b138f --- /dev/null +++ b/code/modules/events/wizard/curseditems.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/events/wizard/curseditems.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/events/wizard/curseditems.dm + +

+ + + + + + + +
WIZARD_MIMICRYTurns them into a psuedo-wizard costume.
CURSED_SWORDSGives them a cursed sword.
BIG_FAT_DOOBIEGives them a blunt that they need to smoke
BOXINGGives them boxing gloves and a luchador mask
VOICE_MODULATORSGives them a chameleon mask
CATGIRLS_2015Gives them kitty ears and also modifies their gender to FEMALE

Define Details

+

BIG_FAT_DOOBIE + + +

+

Gives them a blunt that they need to smoke

BOXING + + +

+

Gives them boxing gloves and a luchador mask

CATGIRLS_2015 + + +

+

Gives them kitty ears and also modifies their gender to FEMALE

CURSED_SWORDS + + +

+

Gives them a cursed sword.

VOICE_MODULATORS + + +

+

Gives them a chameleon mask

WIZARD_MIMICRY + + +

+

Turns them into a psuedo-wizard costume.

+ + + diff --git a/code/modules/events/wizard/departmentrevolt.html b/code/modules/events/wizard/departmentrevolt.html new file mode 100644 index 00000000000..a7fda5bb563 --- /dev/null +++ b/code/modules/events/wizard/departmentrevolt.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/events/wizard/departmentrevolt.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/wizard/departmentrevolt.dm + +

+ + + + +
/datum/event_admin_setup/listed_options/departmental_revoltwhich department is revolting?
/datum/event_admin_setup/question/departmental_revolt_annouceAnnounce the separatist nation to the round?
/datum/event_admin_setup/question/departmental_revolt_dangerousIs it going to try fighting other nations?
+ + + diff --git a/code/modules/events/wizard/embeddies.html b/code/modules/events/wizard/embeddies.html new file mode 100644 index 00000000000..3f2f7321d26 --- /dev/null +++ b/code/modules/events/wizard/embeddies.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/events/wizard/embeddies.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/wizard/embeddies.dm + +

+ + + + +
/datum/global_funny_embedding
/datum/global_funny_embedding/pointyeverything will be... POINTY!!!!
/datum/global_funny_embedding/stickyeverything will be... sticky? sure, why not
+ + + diff --git a/code/modules/events/wizard/rpgloot.html b/code/modules/events/wizard/rpgloot.html new file mode 100644 index 00000000000..03eb5f4a37c --- /dev/null +++ b/code/modules/events/wizard/rpgloot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/events/wizard/rpgloot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/events/wizard/rpgloot.dm + +

+ + +
/datum/rpgloot_controller
+ + + diff --git a/code/modules/experisci/destructive_scanner.html b/code/modules/experisci/destructive_scanner.html new file mode 100644 index 00000000000..8f3581e738c --- /dev/null +++ b/code/modules/experisci/destructive_scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/experisci/destructive_scanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/destructive_scanner.dm + +

+ + +
/obj/machinery/destructive_scannerPlaced machine that handles destructive experiments (but can also do the normal ones)
+ + + diff --git a/code/modules/experisci/experiment/experiments.html b/code/modules/experisci/experiment/experiments.html new file mode 100644 index 00000000000..4e0ea046ed8 --- /dev/null +++ b/code/modules/experisci/experiment/experiments.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/experisci/experiment/experiments.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/experiments.dm + +

+ + + +
/datum/experiment/scanning/points/slimeThe suicide victim's brain that will be placed inside the toilet's cistern +The toilet we're about to unleash unto this cursed plane of existence
/datum/experiment/scanning/people/novel_organsScan for organs you didn't start the round with
+ + + diff --git a/code/modules/experisci/experiment/handlers/experiment_handler.html b/code/modules/experisci/experiment/handlers/experiment_handler.html new file mode 100644 index 00000000000..80ec1fe3ff8 --- /dev/null +++ b/code/modules/experisci/experiment/handlers/experiment_handler.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/experisci/experiment/handlers/experiment_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/handlers/experiment_handler.dm + +

+ + +
/datum/component/experiment_handlerThis is the component for interacting with experiments from a connected techweb. It is generic +and should be set-up to automatically work on any class it is attached to without outside code +(Excluding potential callbacks)
+ + + diff --git a/code/modules/experisci/experiment/types/experiment.html b/code/modules/experisci/experiment/types/experiment.html new file mode 100644 index 00000000000..f9a1da2b85a --- /dev/null +++ b/code/modules/experisci/experiment/types/experiment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/experisci/experiment/types/experiment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/types/experiment.dm + +

+ + +
/datum/experimentThis is the base datum for experiments, storing the base definition.
+ + + diff --git a/code/modules/experisci/experiment/types/ordnance.html b/code/modules/experisci/experiment/types/ordnance.html new file mode 100644 index 00000000000..d474af83229 --- /dev/null +++ b/code/modules/experisci/experiment/types/ordnance.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/experisci/experiment/types/ordnance.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/types/ordnance.dm + +

+ + +
/datum/experiment/ordnanceA ordnance experiment datum. What gives the science in the first place. +One is instantiated by the techweb, another one is also kept on SSresearch for the briefing. +A disk should contain several of these in a list. Only one should get picked for the final paper.
+ + + diff --git a/code/modules/experisci/experiment/types/scanning.html b/code/modules/experisci/experiment/types/scanning.html new file mode 100644 index 00000000000..ad79a554c42 --- /dev/null +++ b/code/modules/experisci/experiment/types/scanning.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/experisci/experiment/types/scanning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/types/scanning.dm + +

+ + +
/datum/experiment/scanningThis is the base implementation of scanning experiments.
+ + + diff --git a/code/modules/experisci/experiment/types/scanning_fish.html b/code/modules/experisci/experiment/types/scanning_fish.html new file mode 100644 index 00000000000..970f4af82d6 --- /dev/null +++ b/code/modules/experisci/experiment/types/scanning_fish.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/experisci/experiment/types/scanning_fish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/types/scanning_fish.dm + +

+ + +
/datum/experiment/scanning/fishA special scanning experiment that unlocks further settings for the fishing portal generator. +Mainly as an inventive solution to many a fish source being limited to maps that have it, +and to make the fishing portal generator a bit than just gubby and goldfish.
+ + + diff --git a/code/modules/experisci/experiment/types/scanning_machinery.html b/code/modules/experisci/experiment/types/scanning_machinery.html new file mode 100644 index 00000000000..6c24d8d2f25 --- /dev/null +++ b/code/modules/experisci/experiment/types/scanning_machinery.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/experisci/experiment/types/scanning_machinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/types/scanning_machinery.dm + +

+ + +
/datum/experiment/scanning/points/machinery_tiered_scanThis experiment type will turn up TRUE if at least one of the stock parts in the scanned machine is of the required_tier. +Pretend to upgrade security's techfab but in reality apply only one better matter bin! +Note that a stock part in a machine can either be an object, or a datum.
+ + + diff --git a/code/modules/experisci/experiment/types/scanning_people.html b/code/modules/experisci/experiment/types/scanning_people.html new file mode 100644 index 00000000000..4b72616afe8 --- /dev/null +++ b/code/modules/experisci/experiment/types/scanning_people.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/experisci/experiment/types/scanning_people.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/experiment/types/scanning_people.dm + +

+ + +
/datum/experiment/scanning/peopleAn experiment where you scan your fellow humans
+ + + diff --git a/code/modules/experisci/handheld_scanner.html b/code/modules/experisci/handheld_scanner.html new file mode 100644 index 00000000000..4d6b564f6e1 --- /dev/null +++ b/code/modules/experisci/handheld_scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/experisci/handheld_scanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/experisci/handheld_scanner.dm + +

+ + +
/obj/item/experi_scannerHandheld scanning unit to perform scanning experiments
+ + + diff --git a/code/modules/explorer_drone/adventure.html b/code/modules/explorer_drone/adventure.html new file mode 100644 index 00000000000..1df2d494ff8 --- /dev/null +++ b/code/modules/explorer_drone/adventure.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/explorer_drone/adventure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/adventure.dm + +

+ + + + +
/proc/load_adventuresLoads all adventures from DB
/datum/adventuretext adventure instance, holds data about nodes/choices/etc and of current play state.
+ + + diff --git a/code/modules/explorer_drone/exodrone.html b/code/modules/explorer_drone/exodrone.html new file mode 100644 index 00000000000..c48fc37bfdb --- /dev/null +++ b/code/modules/explorer_drone/exodrone.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/explorer_drone/exodrone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/explorer_drone/exodrone.dm + +

+ + + + + +
EXODRONE_LOG_SIZEHow many lines of log we keep
EXODRONE_CARGO_SLOTSSize of drone storage shared between loot and tools.
/obj/item/exodroneExploration drone
/obj/machinery/exodrone_launcherExploration drone launcher

Define Details

+

EXODRONE_CARGO_SLOTS + + +

+

Size of drone storage shared between loot and tools.

EXODRONE_LOG_SIZE + + +

+

How many lines of log we keep

+ + + diff --git a/code/modules/explorer_drone/exploration_events/_exploration_event.html b/code/modules/explorer_drone/exploration_events/_exploration_event.html new file mode 100644 index 00000000000..95a22af648c --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/_exploration_event.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/explorer_drone/exploration_events/_exploration_event.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/_exploration_event.dm + +

+ + + +
/datum/exploration_eventExploration event
/datum/exploration_event/simpleSimple events, not a full fledged adventure, consist only of single encounter screen
+ + + diff --git a/code/modules/explorer_drone/exploration_events/adventure.html b/code/modules/explorer_drone/exploration_events/adventure.html new file mode 100644 index 00000000000..1b4684adb83 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/adventure.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/explorer_drone/exploration_events/adventure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/adventure.dm + +

+ + +
/datum/exploration_event/adventureAdventure wrapper event
+ + + diff --git a/code/modules/explorer_drone/exploration_events/danger.html b/code/modules/explorer_drone/exploration_events/danger.html new file mode 100644 index 00000000000..7eba806a94e --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/danger.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/explorer_drone/exploration_events/danger.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/danger.dm + +

+ + + + +
/datum/exploration_event/simple/dangerDanger event - unskippable, if you have appriopriate tool you can mitigate damage.
/datum/exploration_event/simple/danger/carpDanger events
/datum/exploration_event/simple/danger/carp/surface_varietyThey get everywhere
+ + + diff --git a/code/modules/explorer_drone/exploration_events/fluff.html b/code/modules/explorer_drone/exploration_events/fluff.html new file mode 100644 index 00000000000..11dd94e5b0b --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/fluff.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/explorer_drone/exploration_events/fluff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/fluff.dm + +

+ + +
/datum/exploration_event/fluffJust a message in the log nothing more
+ + + diff --git a/code/modules/explorer_drone/exploration_events/resource.html b/code/modules/explorer_drone/exploration_events/resource.html new file mode 100644 index 00000000000..8e534a33502 --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/resource.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/explorer_drone/exploration_events/resource.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/resource.dm + +

+ + + +
/datum/exploration_event/simple/resourceSimple event type that checks if you have a tool and after a retrieval delay adds loot to drone.
/datum/exploration_event/simple/resource/concealed_cacheResource Events
+ + + diff --git a/code/modules/explorer_drone/exploration_events/trader.html b/code/modules/explorer_drone/exploration_events/trader.html new file mode 100644 index 00000000000..8f57057c72d --- /dev/null +++ b/code/modules/explorer_drone/exploration_events/trader.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/explorer_drone/exploration_events/trader.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_events/trader.dm + +

+ + + +
/datum/exploration_event/simple/traderTrader events - If drone is loaded with X exchanges it for Y, might require translator tool.
/datum/exploration_event/simple/trader/vendor_aiTrade events
+ + + diff --git a/code/modules/explorer_drone/exploration_site.html b/code/modules/explorer_drone/exploration_site.html new file mode 100644 index 00000000000..58debe7812a --- /dev/null +++ b/code/modules/explorer_drone/exploration_site.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/explorer_drone/exploration_site.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/exploration_site.dm + +

+ + + + + + +
/datum/exploration_siteExploration site, drone travel destination representing interesting zone for exploration.
/proc/build_exploration_site_ui_dataHelper proc for exploration site listings in ui.
/datum/exploration_site/abandoned_refueling_stationSites
/datum/exploration_site/alien_ruinsPlanet Type, Atmosphere
+ + + diff --git a/code/modules/explorer_drone/loot.html b/code/modules/explorer_drone/loot.html new file mode 100644 index 00000000000..1cde1ee92e8 --- /dev/null +++ b/code/modules/explorer_drone/loot.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/explorer_drone/loot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/loot.dm + +

+ + + + + + + + + + + + + + + + +
/proc/generate_generator_indexCreates generator__id => type map.
/datum/adventure_loot_generatorAdventure loot category identified by ID
/datum/adventure_loot_generator/maintenanceUses manintenance loot generators
/datum/adventure_loot_generator/cargoUnlocks special cargo crates
/datum/adventure_loot_generator/simpleJust picks and instatiates the path from the list
/datum/adventure_loot_generator/simple/uniqueUnique exploration-only rewards - this is contextless
/datum/adventure_loot_generator/simple/cashValuables
/datum/adventure_loot_generator/simple/drugsDrugs
/datum/adventure_loot_generator/simple/materialsRare minerals/materials
/datum/adventure_loot_generator/simple/weaponsAssorted weaponry
/datum/adventure_loot_generator/simple/syndicate_fishRare fish! Of the syndicate variety
/datum/adventure_loot_generator/petPets and pet accesories in carriers
/obj/item/trade_chipSupply pack unlocker chip
/obj/item/firelanceTwo handed fire lance. Melts wall after short windup.
+ + + diff --git a/code/modules/explorer_drone/manager.html b/code/modules/explorer_drone/manager.html new file mode 100644 index 00000000000..afbd2548570 --- /dev/null +++ b/code/modules/explorer_drone/manager.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/explorer_drone/manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/manager.dm + +

+ + +
/datum/adventure_browserAdmin adventure manager
+ + + diff --git a/code/modules/explorer_drone/scanner_array.html b/code/modules/explorer_drone/scanner_array.html new file mode 100644 index 00000000000..280e123b7a4 --- /dev/null +++ b/code/modules/explorer_drone/scanner_array.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/explorer_drone/scanner_array.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/explorer_drone/scanner_array.dm + +

+ + + + +
/datum/exoscanRepresents scan in progress, only one globally for now, todo later split per z or allow partial dish swarm usage
/datum/scanner_controllerHelper datum to calculate and store scanning power and track in progress scans
/datum/scan_conditionScan condition, these require some specific setup for the dish to count for the scan power for the given site
+ + + diff --git a/code/modules/fishing/aquarium/aquarium.html b/code/modules/fishing/aquarium/aquarium.html new file mode 100644 index 00000000000..da96079c885 --- /dev/null +++ b/code/modules/fishing/aquarium/aquarium.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/fishing/aquarium/aquarium.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/fishing/aquarium/aquarium.dm + +

+ + +
AQUARIUM_MIN_OFFSETAquarium content layer offsets

Define Details

+

AQUARIUM_MIN_OFFSET + + +

+

Aquarium content layer offsets

+ + + diff --git a/code/modules/fishing/aquarium/aquarium_kit.html b/code/modules/fishing/aquarium/aquarium_kit.html new file mode 100644 index 00000000000..7e22368abd7 --- /dev/null +++ b/code/modules/fishing/aquarium/aquarium_kit.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/fishing/aquarium/aquarium_kit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/aquarium/aquarium_kit.dm + +

+ + + + +
/obj/item/fish_feedFish feed can
/obj/item/storage/fish_caseStasis fish case container for moving fish between aquariums safely. +Their w_class scales with that of the fish inside it. +Most subtypes of this also start with a fish already inside.
/obj/item/storage/fish_case/blackmarketSubtype bought from the blackmarket at a gratuitously cheap price. The catch? The fish inside it is dead.
+ + + diff --git a/code/modules/fishing/aquarium/fish_analyzer.html b/code/modules/fishing/aquarium/fish_analyzer.html new file mode 100644 index 00000000000..5fd55799957 --- /dev/null +++ b/code/modules/fishing/aquarium/fish_analyzer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/fishing/aquarium/fish_analyzer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/aquarium/fish_analyzer.dm + +

+ + +
/obj/item/fish_analyzerAn item that can be used to gather information on the fish, such as but not limited to: health, hunger and traits.
+ + + diff --git a/code/modules/fishing/fish/_fish.html b/code/modules/fishing/fish/_fish.html new file mode 100644 index 00000000000..20b5ca2f3f2 --- /dev/null +++ b/code/modules/fishing/fish/_fish.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/fishing/fish/_fish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/fish/_fish.dm + +

+ + + +
/proc/random_fish_typeReturns random fish, using random_case_rarity probabilities.
+ + + diff --git a/code/modules/fishing/fish/chasm_detritus.html b/code/modules/fishing/fish/chasm_detritus.html new file mode 100644 index 00000000000..edd91e98717 --- /dev/null +++ b/code/modules/fishing/fish/chasm_detritus.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/fishing/fish/chasm_detritus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/fishing/fish/chasm_detritus.dm + +

+ + + + + + +
NORMAL_CONTENTSRegular default contents.
BODIES_ONLYBodies-only default contents.
NO_CORPSESNo corpses (so there's still lobstrosities because they're the main threat with this).
/datum/chasm_detritusA datum that retrieves something which fell into a chasm.
/datum/chasm_detritus/restrictedVariant of the chasm detritus that allows for an easier time at fishing out +bodies, and sometimes less desireable monsters too.

Define Details

+

BODIES_ONLY + + +

+

Bodies-only default contents.

NORMAL_CONTENTS + + +

+

Regular default contents.

NO_CORPSES + + +

+

No corpses (so there's still lobstrosities because they're the main threat with this).

+ + + diff --git a/code/modules/fishing/fish/fish_evolution.html b/code/modules/fishing/fish/fish_evolution.html new file mode 100644 index 00000000000..8ff94556763 --- /dev/null +++ b/code/modules/fishing/fish/fish_evolution.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/fishing/fish/fish_evolution.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/fish/fish_evolution.dm + +

+ + +
/datum/fish_evolutionFish evolution datums
+ + + diff --git a/code/modules/fishing/fish/fish_traits.html b/code/modules/fishing/fish/fish_traits.html new file mode 100644 index 00000000000..2f1ea05d617 --- /dev/null +++ b/code/modules/fishing/fish/fish_traits.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/fishing/fish/fish_traits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/fish/fish_traits.dm + +

+ + +
/datum/fish_trait/no_matingUseful for those species with the parthenogenesis trait if you don't want them to mate with each other, +or for similar shenanigeans, I don't know. +Otherwise you could just set the stable_population to 1.
+ + + diff --git a/code/modules/fishing/fish_catalog.html b/code/modules/fishing/fish_catalog.html new file mode 100644 index 00000000000..5b54797fb4e --- /dev/null +++ b/code/modules/fishing/fish_catalog.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/fishing/fish_catalog.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/fish_catalog.dm + +

+ + +
/obj/item/book/manual/fish_catalogBook detailing where to get the fish and their properties.
+ + + diff --git a/code/modules/fishing/fishing_equipment.html b/code/modules/fishing/fishing_equipment.html new file mode 100644 index 00000000000..c2cb7541bc6 --- /dev/null +++ b/code/modules/fishing/fishing_equipment.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/fishing/fishing_equipment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/fishing/fishing_equipment.dm + +

+ + + +
MAGNET_HOOK_BONUS_MULTIPLIERMultipilier to the fishing weights of anything that's not a fish nor a dud +for the magnet hook.
RESCUE_HOOK_FISH_MULTIPLIERMultiplier for the fishing weights of fish for the rescue hook.

Define Details

+

MAGNET_HOOK_BONUS_MULTIPLIER + + +

+

Multipilier to the fishing weights of anything that's not a fish nor a dud +for the magnet hook.

RESCUE_HOOK_FISH_MULTIPLIER + + +

+

Multiplier for the fishing weights of fish for the rescue hook.

+ + + diff --git a/code/modules/fishing/fishing_minigame.html b/code/modules/fishing/fishing_minigame.html new file mode 100644 index 00000000000..efdf62fdedf --- /dev/null +++ b/code/modules/fishing/fishing_minigame.html @@ -0,0 +1,89 @@ + + + + + + + code/modules/fishing/fishing_minigame.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/fishing/fishing_minigame.dm + +

+ + + + + + + + + + + + + + + +
FISHING_MINIGAME_AREAThe height of the minigame slider. Not in pixels, but minigame units.
FISH_TARGET_MIN_DISTANCEAny lower than this, and the target position of the fish is considered null
FISH_FRICTION_MULTThe friction applied to fish jumps, so that it decelerates over time
FISH_SHORT_JUMP_MIN_DISTANCEUsed to decide whether the fish can jump in a certain direction
FISH_SHORT_JUMP_MAX_DISTANCEThe maximum distance for a short jump
BAIT_MIN_VELOCITY_BOUNCEThe minimum velocity required for the bait to bounce
BAIT_DECELERATION_MULTThe extra deceleration of velocity that happens when the bait switches direction
REELING_STATE_IDLEDefines to know how the bait is moving on the minigame slider.
MINIGAME_SLIDER_HEIGHTThe pixel height of the minigame bar
MINIGAME_BAIT_HEIGHTThe standard pixel height of the bait
MINIGAME_FISH_HEIGHTThe standard pixel height of the fish (minus a pixel on each direction for the sake of a better looking sprite)
FISH_DAMAGE_PER_SECONDThe damage dealt per second to the fish when FISHING_MINIGAME_RULE_KILL is active.
/atom/movable/screen/fishing_hudThe screen object which bait, fish, and completion bar are visually attached to.
/obj/effect/fishing_lureThe visual that appears over the fishing spot

Define Details

+

BAIT_DECELERATION_MULT + + +

+

The extra deceleration of velocity that happens when the bait switches direction

BAIT_MIN_VELOCITY_BOUNCE + + +

+

The minimum velocity required for the bait to bounce

FISHING_MINIGAME_AREA + + +

+

The height of the minigame slider. Not in pixels, but minigame units.

FISH_DAMAGE_PER_SECOND + + +

+

The damage dealt per second to the fish when FISHING_MINIGAME_RULE_KILL is active.

FISH_FRICTION_MULT + + +

+

The friction applied to fish jumps, so that it decelerates over time

FISH_SHORT_JUMP_MAX_DISTANCE + + +

+

The maximum distance for a short jump

FISH_SHORT_JUMP_MIN_DISTANCE + + +

+

Used to decide whether the fish can jump in a certain direction

FISH_TARGET_MIN_DISTANCE + + +

+

Any lower than this, and the target position of the fish is considered null

MINIGAME_BAIT_HEIGHT + + +

+

The standard pixel height of the bait

MINIGAME_FISH_HEIGHT + + +

+

The standard pixel height of the fish (minus a pixel on each direction for the sake of a better looking sprite)

MINIGAME_SLIDER_HEIGHT + + +

+

The pixel height of the minigame bar

REELING_STATE_IDLE + + +

+

Defines to know how the bait is moving on the minigame slider.

+ + + diff --git a/code/modules/fishing/sources/_fish_source.html b/code/modules/fishing/sources/_fish_source.html new file mode 100644 index 00000000000..c8eb5ab0cea --- /dev/null +++ b/code/modules/fishing/sources/_fish_source.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/fishing/sources/_fish_source.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/sources/_fish_source.dm + +

+ + + + +
/datum/fish_sourceWhere the fish actually come from - every fishing spot has one assigned but multiple fishing holes +can share single source, ie single shared one for ocean/lavaland river
/proc/collect_fish_propertiesAwful workaround around initial(x.list_variable) not being a thing while trying to keep some semblance of being structured
+ + + diff --git a/code/modules/fishing/sources/source_types.html b/code/modules/fishing/sources/source_types.html new file mode 100644 index 00000000000..5a710812b4c --- /dev/null +++ b/code/modules/fishing/sources/source_types.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/fishing/sources/source_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/fishing/sources/source_types.dm + +

+ + + +
/datum/fish_source/portal/syndicateUnlocked by emagging the fishing portal generator with an emag.
/datum/fish_source/portal/randomA special portal fish source which fish table is populated on init with the contents of all +portal fish sources, except for FISHING_DUD, and a couple more caveats.
+ + + diff --git a/code/modules/flufftext/Dreaming.html b/code/modules/flufftext/Dreaming.html new file mode 100644 index 00000000000..f86c6caca2c --- /dev/null +++ b/code/modules/flufftext/Dreaming.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/flufftext/Dreaming.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/flufftext/Dreaming.dm + +

+ + + + +
/datum/dreamContains all the behavior needed to play a kind of dream. +All dream types get randomly selected from based on weight when an appropriate mobs dreams.
/datum/dream/randomThe classic random dream of various words that might form a cohesive narrative, but usually wont
/datum/dream/hear_somethingDream plays a random sound at you, chosen from all sounds in the folder
+ + + diff --git a/code/modules/food_and_drinks/machinery/deep_fryer.html b/code/modules/food_and_drinks/machinery/deep_fryer.html new file mode 100644 index 00000000000..f3bc7b3bfcd --- /dev/null +++ b/code/modules/food_and_drinks/machinery/deep_fryer.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/food_and_drinks/machinery/deep_fryer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/food_and_drinks/machinery/deep_fryer.dm + +

+ + + +
DEEPFRYER_COOKTIMEThe deep fryer pings after this long, letting people know it's "perfect"
DEEPFRYER_BURNTIMEThe deep fryer pings after this long, reminding people that there's a very burnt object inside

Define Details

+

DEEPFRYER_BURNTIME + + +

+

The deep fryer pings after this long, reminding people that there's a very burnt object inside

DEEPFRYER_COOKTIME + + +

+

The deep fryer pings after this long, letting people know it's "perfect"

+ + + diff --git a/code/modules/food_and_drinks/machinery/microwave.html b/code/modules/food_and_drinks/machinery/microwave.html new file mode 100644 index 00000000000..e4a477b4b40 --- /dev/null +++ b/code/modules/food_and_drinks/machinery/microwave.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/food_and_drinks/machinery/microwave.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/food_and_drinks/machinery/microwave.dm + +

+ + + + + + +
MICROWAVE_NORMALValues based on microwave success
NOT_BROKENValues for how broken the microwave is
MAX_MICROWAVE_DIRTINESSThe max amount of dirtiness a microwave can be
TIER_1_CELL_CHARGE_RATEFor the wireless version, and display fluff
/obj/machinery/microwave/hellType of microwave that automatically turns it self on erratically. Probably don't use this outside of the holodeck program "Microwave Paradise". +You could also live your life with a microwave that will continously run in the background of everything while also not having any power draw. I think the former makes more sense.

Define Details

+

MAX_MICROWAVE_DIRTINESS + + +

+

The max amount of dirtiness a microwave can be

MICROWAVE_NORMAL + + +

+

Values based on microwave success

NOT_BROKEN + + +

+

Values for how broken the microwave is

TIER_1_CELL_CHARGE_RATE + + +

+

For the wireless version, and display fluff

+ + + diff --git a/code/modules/food_and_drinks/machinery/stove_component.html b/code/modules/food_and_drinks/machinery/stove_component.html new file mode 100644 index 00000000000..d9a2b7b5d87 --- /dev/null +++ b/code/modules/food_and_drinks/machinery/stove_component.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/machinery/stove_component.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/machinery/stove_component.dm + +

+ + +
/datum/component/stoveMakes the attached object a stove
+ + + diff --git a/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.html b/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.html new file mode 100644 index 00000000000..56780e66af3 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/drinks/drinks_alcoholic.dm + +

+ + +
/datum/chemical_reaction/drinkDrink recipe base
+ + + diff --git a/code/modules/food_and_drinks/recipes/food_mixtures.html b/code/modules/food_and_drinks/recipes/food_mixtures.html new file mode 100644 index 00000000000..7acd2017060 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/food_mixtures.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/food_mixtures.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/food_mixtures.dm + +

+ + +
/datum/chemical_reaction/foodFOOD MIXTURES
+ + + diff --git a/code/modules/food_and_drinks/recipes/soup_mixtures.html b/code/modules/food_and_drinks/recipes/soup_mixtures.html new file mode 100644 index 00000000000..ceacdc28783 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/soup_mixtures.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/food_and_drinks/recipes/soup_mixtures.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/soup_mixtures.dm + +

+ + + + + + +
/datum/reagent/consumable/nutriment/soupAbstract parent for soup reagents. +These are the majority result from soup recipes, +but bear in mind it will(should) have other reagents along side it.
/datum/chemical_reaction/food/soup
/obj/item/reagent_containers/cup/bowl/soupThis subtype is only for easy mapping / spawning in specific types of soup. +Do not use it anywhere else.
/datum/glass_style/has_foodtype/soup/watery_soupThis style runs dual purpose - +Primarily it's just a bowl style for water, +but secondarily it lets chefs know if their soup had too much water in it
/datum/chemical_reaction/food/soup/customSo this one's kind of a "failed" result, but also a "custom" result +Getting to this temperature and having no other soup reaction made means you're either messing something up +or you simply aren't following a recipe. So it'll just combine
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html new file mode 100644 index 00000000000..64d61a25bf2 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_bread.dm + +

+ + + +
/datum/crafting_recipe/food/meatbreadBREAD
/datum/crafting_recipe/food/slimetoastTOAST
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html new file mode 100644 index 00000000000..410830990fc --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_burger.dm + +

+ + +
/datum/crafting_recipe/food/humanburgerBURGERS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html new file mode 100644 index 00000000000..719c211e8d6 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_cake.dm + +

+ + +
/datum/crafting_recipe/food/carrotcakeCAKE
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html new file mode 100644 index 00000000000..365f9ebdba3 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_drink.dm + +

+ + + +
/datum/crafting_recipe/lizardwineBooze & Bottles
/datum/crafting_recipe/holybottleNon-alcoholic recipes
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html new file mode 100644 index 00000000000..0ec06de74cc --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_egg.dm + +

+ + +
/datum/crafting_recipe/food/sausageeggEGG RECIPE's
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html new file mode 100644 index 00000000000..3e57a277f00 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_frozen.dm + +

+ + + +
/datum/crafting_recipe/food/flavorless_scSNOW CONES
/datum/crafting_recipe/food/orange_popsiclePOPSICLES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html new file mode 100644 index 00000000000..e14d2d4f765 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_meat.dm + +

+ + + + +
/datum/crafting_recipe/food/humankebabKEBABS
/datum/crafting_recipe/food/spidereggshamMR SPIDER
/datum/crafting_recipe/food/tempehstarterMISC RECIPE's
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html new file mode 100644 index 00000000000..a21f2f6e6f1 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm + +

+ + + + + + + + +
/datum/crafting_recipe/food/donutDONUTS
/datum/crafting_recipe/food/donut/jelly/berryJELLY DONUTS
/datum/crafting_recipe/food/donut/slimejelly/berrySLIME DONUTS
/datum/crafting_recipe/food/wafflesWAFFLES
/datum/crafting_recipe/food/donkpocketDONKPOCCKETS
/datum/crafting_recipe/food/muffinMUFFINS
/datum/crafting_recipe/food/khachapuriOTHER
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html new file mode 100644 index 00000000000..366ff936a5c --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pie.dm + +

+ + +
/datum/crafting_recipe/food/bananacreampiePIES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html new file mode 100644 index 00000000000..bfa0142e6c4 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_pizza.dm + +

+ + +
/datum/crafting_recipe/food/margheritapizzaPIZZA!!!
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html new file mode 100644 index 00000000000..b30c6699a3d --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_salad.dm + +

+ + +
/datum/crafting_recipe/food/herbsaladSALADS
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html new file mode 100644 index 00000000000..b861eb2250c --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm + +

+ + +
/datum/crafting_recipe/food/sandwichSANDWICHES
+ + + diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html new file mode 100644 index 00000000000..85c43e66264 --- /dev/null +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/recipes/tablecraft/recipes_spaghetti.dm + +

+ + +
/datum/crafting_recipe/food/tomatopastaSPAGHETTI
+ + + diff --git a/code/modules/food_and_drinks/restaurant/_venue.html b/code/modules/food_and_drinks/restaurant/_venue.html new file mode 100644 index 00000000000..211c1e4736f --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/_venue.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/restaurant/_venue.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/_venue.dm + +

+ + +
/datum/venueRepresents the abstract concept of a food venue in the code.
+ + + diff --git a/code/modules/food_and_drinks/restaurant/custom_order.html b/code/modules/food_and_drinks/restaurant/custom_order.html new file mode 100644 index 00000000000..89a4352f6cc --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/custom_order.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/food_and_drinks/restaurant/custom_order.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/custom_order.dm + +

+ + +
/datum/custom_ordercustom order datums +Used for less generic orders (ice cream for example) +without snowflaking venue and customer code too much.
+ + + diff --git a/code/modules/food_and_drinks/restaurant/customers/_customer.html b/code/modules/food_and_drinks/restaurant/customers/_customer.html new file mode 100644 index 00000000000..05046c60911 --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/customers/_customer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/food_and_drinks/restaurant/customers/_customer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/customers/_customer.dm + +

+ + +
/datum/customer_data/malfunctionMALFUNCTIONING - only shows up once per venue, very rare
+ + + diff --git a/code/modules/food_and_drinks/restaurant/generic_venues.html b/code/modules/food_and_drinks/restaurant/generic_venues.html new file mode 100644 index 00000000000..73c7197ed43 --- /dev/null +++ b/code/modules/food_and_drinks/restaurant/generic_venues.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/food_and_drinks/restaurant/generic_venues.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/food_and_drinks/restaurant/generic_venues.dm + +

+ + + +
/datum/venue/restaurantRESTAURANT
/datum/venue/barBAR
+ + + diff --git a/code/modules/forensics/_forensics.html b/code/modules/forensics/_forensics.html new file mode 100644 index 00000000000..4a2d83cad86 --- /dev/null +++ b/code/modules/forensics/_forensics.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/forensics/_forensics.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/forensics/_forensics.dm + +

+ + +
/datum/forensicsForensics datum
+ + + diff --git a/code/modules/hallucination/_hallucination.html b/code/modules/hallucination/_hallucination.html new file mode 100644 index 00000000000..a19d778587e --- /dev/null +++ b/code/modules/hallucination/_hallucination.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/hallucination/_hallucination.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/_hallucination.dm + +

+ + + + +
/datum/hallucinationHandles effects of a hallucination on a living mob. +Created and triggered via the [cause hallucination proc][/mob/living/proc/cause_hallucination].
/obj/effect/client_image_holderSimple effect that holds an image +to be shown to one or multiple clients only.
/obj/effect/client_image_holder/hallucinationA client-side image effect tied to the existence of a hallucination.
+ + + diff --git a/code/modules/hallucination/battle.html b/code/modules/hallucination/battle.html new file mode 100644 index 00000000000..562b35906c4 --- /dev/null +++ b/code/modules/hallucination/battle.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/hallucination/battle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/battle.dm + +

+ + + + + + + + + +
/datum/hallucination/battleBattle hallucination, makes it sound like a melee or gun battle is going on in the background.
/datum/hallucination/battle/gunSubtype of battle hallucination for gun based battles, where it sounds like someone is being shot.
/datum/hallucination/battle/gun/disablerGun battle hallucination that sounds like disabler fire.
/datum/hallucination/battle/gun/laserGun battle hallucination that sounds like laser fire.
/datum/hallucination/battle/stun_prodA hallucination of someone being hit with a stun prod, followed by cable cuffing.
/datum/hallucination/battle/harm_batonA hallucination of someone being stun batonned, and subsequently harmbatonned.
/datum/hallucination/battle/e_swordA hallucination of someone unsheathing an energy sword, going to town, and sheathing it again.
/datum/hallucination/battle/bombA hallucination of a syndicate bomb ticking down.
+ + + diff --git a/code/modules/hallucination/body.html b/code/modules/hallucination/body.html new file mode 100644 index 00000000000..c3fbba16cee --- /dev/null +++ b/code/modules/hallucination/body.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/body.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/body.dm + +

+ + +
/datum/hallucination/bodyMakes a random body appear and disappear quickly in view of the hallucinator.
+ + + diff --git a/code/modules/hallucination/bubblegum_attack.html b/code/modules/hallucination/bubblegum_attack.html new file mode 100644 index 00000000000..d3f3b3d80c7 --- /dev/null +++ b/code/modules/hallucination/bubblegum_attack.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hallucination/bubblegum_attack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/bubblegum_attack.dm + +

+ + + +
/datum/hallucination/oh_yeahSends a fake bubblegum charging through a nearby wall to our target.
/obj/effect/client_image_holder/hallucination/bubblegumFake bubblegum hallucination effect for the oh yeah hallucination
+ + + diff --git a/code/modules/hallucination/delusions.html b/code/modules/hallucination/delusions.html new file mode 100644 index 00000000000..9c1bcfe99d7 --- /dev/null +++ b/code/modules/hallucination/delusions.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/hallucination/delusions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/delusions.dm + +

+ + + + +
/datum/hallucination/delusionA hallucination that makes us and (possibly) other people look like something else.
/datum/hallucination/delusion/customUsed for making custom delusions.
/datum/hallucination/delusion/preset/mareHallucination used by the nightmare vision goggles to turn everyone except you into mares
+ + + diff --git a/code/modules/hallucination/fake_alert.html b/code/modules/hallucination/fake_alert.html new file mode 100644 index 00000000000..655f3f179ee --- /dev/null +++ b/code/modules/hallucination/fake_alert.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/fake_alert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/fake_alert.dm + +

+ + +
/datum/hallucination/fake_alertFake alert hallucination. Causes a fake alert to be thrown to the hallucinator.
+ + + diff --git a/code/modules/hallucination/fake_chat.html b/code/modules/hallucination/fake_chat.html new file mode 100644 index 00000000000..3e2d08129fb --- /dev/null +++ b/code/modules/hallucination/fake_chat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/fake_chat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/fake_chat.dm + +

+ + +
/datum/hallucination/chatSends a fake chat message to the hallucinator.
+ + + diff --git a/code/modules/hallucination/fake_plasmaflood.html b/code/modules/hallucination/fake_plasmaflood.html new file mode 100644 index 00000000000..6dbbfaf00c0 --- /dev/null +++ b/code/modules/hallucination/fake_plasmaflood.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/fake_plasmaflood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/fake_plasmaflood.dm + +

+ + +
/datum/hallucination/fake_floodPlasma starts flooding from the nearby vent
+ + + diff --git a/code/modules/hallucination/fake_sound.html b/code/modules/hallucination/fake_sound.html new file mode 100644 index 00000000000..fc616769a98 --- /dev/null +++ b/code/modules/hallucination/fake_sound.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/fake_sound.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/fake_sound.dm + +

+ + +
/datum/hallucination/fake_soundHallucination that plays a fake sound somewhere nearby.
+ + + diff --git a/code/modules/hallucination/hazard.html b/code/modules/hallucination/hazard.html new file mode 100644 index 00000000000..49a190359e0 --- /dev/null +++ b/code/modules/hallucination/hazard.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hallucination/hazard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/hazard.dm + +

+ + + +
/datum/hallucination/hazardHallucinations that create a hazard somewhere nearby that actually has a danger associated.
/obj/effect/client_image_holder/hallucination/dangerThese hallucination effects cause side effects when the hallucinator walks into them.
+ + + diff --git a/code/modules/hallucination/hud_screw.html b/code/modules/hallucination/hud_screw.html new file mode 100644 index 00000000000..5dc1fa7950e --- /dev/null +++ b/code/modules/hallucination/hud_screw.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/hud_screw.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/hud_screw.dm + +

+ + +
/datum/hallucination/screwy_hudScrewyhud, makes the user's health bar hud wonky
+ + + diff --git a/code/modules/hallucination/ice_cube.html b/code/modules/hallucination/ice_cube.html new file mode 100644 index 00000000000..333b6714093 --- /dev/null +++ b/code/modules/hallucination/ice_cube.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/ice_cube.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/ice_cube.dm + +

+ + +
/datum/hallucination/iceCauses the hallucinator to believe themselves frozen in ice. Man am I glad he's frozen in there etc etc
+ + + diff --git a/code/modules/hallucination/inhand_fake_item.html b/code/modules/hallucination/inhand_fake_item.html new file mode 100644 index 00000000000..01903dcb22c --- /dev/null +++ b/code/modules/hallucination/inhand_fake_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/inhand_fake_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/inhand_fake_item.dm + +

+ + +
/datum/hallucination/fake_itemHallucinates a fake item in our hands, pockets, or belt or whatever.
+ + + diff --git a/code/modules/hallucination/mother.html b/code/modules/hallucination/mother.html new file mode 100644 index 00000000000..776ed83a2af --- /dev/null +++ b/code/modules/hallucination/mother.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/mother.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/mother.dm + +

+ + +
/datum/hallucination/your_motherYour mother appears to scold you.
+ + + diff --git a/code/modules/hallucination/nearby_fake_item.html b/code/modules/hallucination/nearby_fake_item.html new file mode 100644 index 00000000000..57a37962061 --- /dev/null +++ b/code/modules/hallucination/nearby_fake_item.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/nearby_fake_item.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/nearby_fake_item.dm + +

+ + +
/datum/hallucination/nearby_fake_itemA hallucination that delivers the illusion that someone nearby has pulled out a weapon or item.
+ + + diff --git a/code/modules/hallucination/screwy_health_doll.html b/code/modules/hallucination/screwy_health_doll.html new file mode 100644 index 00000000000..fc117a62132 --- /dev/null +++ b/code/modules/hallucination/screwy_health_doll.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/screwy_health_doll.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/screwy_health_doll.dm + +

+ + +
/datum/hallucination/fake_health_dollCauses the target to see incorrect health damages on the healthdoll
+ + + diff --git a/code/modules/hallucination/shock.html b/code/modules/hallucination/shock.html new file mode 100644 index 00000000000..c99a6cc73d8 --- /dev/null +++ b/code/modules/hallucination/shock.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hallucination/shock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/shock.dm + +

+ + +
/datum/hallucination/shockCauses a fake "zap" to the hallucinator.
+ + + diff --git a/code/modules/hallucination/stray_bullet.html b/code/modules/hallucination/stray_bullet.html new file mode 100644 index 00000000000..b11355c9e8d --- /dev/null +++ b/code/modules/hallucination/stray_bullet.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hallucination/stray_bullet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/stray_bullet.dm + +

+ + + +
/datum/hallucination/stray_bulletShoots a random, fake projectile to the hallucinator
/obj/projectile/hallucinationHallucinated projectiles.
+ + + diff --git a/code/modules/hallucination/xeno_attack.html b/code/modules/hallucination/xeno_attack.html new file mode 100644 index 00000000000..61b35354967 --- /dev/null +++ b/code/modules/hallucination/xeno_attack.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hallucination/xeno_attack.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hallucination/xeno_attack.dm + +

+ + + +
/datum/hallucination/xeno_attackXeno crawls from nearby vent, jumps at you, and goes back in.
/obj/effect/client_image_holder/hallucination/xenoThe xeno hallucination that goes with the xeno attack hallucination.
+ + + diff --git a/code/modules/holiday/holidays.html b/code/modules/holiday/holidays.html new file mode 100644 index 00000000000..e098724614c --- /dev/null +++ b/code/modules/holiday/holidays.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/holiday/holidays.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/holiday/holidays.dm + +

+ + + + + + +
/datum/holiday/garbagedayGarbage DAYYYYY +Huh?.... NOOOO +GUNSHOT +AHHHGHHHHHHH
/proc/poll_holidayTakes a holiday datum, a starting month, ending month, max amount of days to test in, and min/max year as input +Returns a list in the form list("yyyy/m/d", ...) representing all days the holiday runs on in the tested range
/proc/print_holidayDoes the same as /proc/poll_holiday, but prints the output to admins instead of returning it
+ + + diff --git a/code/modules/holiday/nth_week.html b/code/modules/holiday/nth_week.html new file mode 100644 index 00000000000..8c892034e18 --- /dev/null +++ b/code/modules/holiday/nth_week.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/holiday/nth_week.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/holiday/nth_week.dm + +

+ + +
/datum/holiday/nth_weekA holiday lasting one day only that falls on the nth weekday in a month i.e. 3rd Wednesday of February.
+ + + diff --git a/code/modules/hydroponics/beekeeping/bee_smoker.html b/code/modules/hydroponics/beekeeping/bee_smoker.html new file mode 100644 index 00000000000..1d9aaea1cee --- /dev/null +++ b/code/modules/hydroponics/beekeeping/bee_smoker.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/hydroponics/beekeeping/bee_smoker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/hydroponics/beekeeping/bee_smoker.dm + +

+ + +
WEED_WINE_MULTIPLIERmultiplier to decide how much fuel we add to a smoker

Define Details

+

WEED_WINE_MULTIPLIER + + +

+

multiplier to decide how much fuel we add to a smoker

+ + + diff --git a/code/modules/hydroponics/biogenerator.html b/code/modules/hydroponics/biogenerator.html new file mode 100644 index 00000000000..f6f17d711a0 --- /dev/null +++ b/code/modules/hydroponics/biogenerator.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/hydroponics/biogenerator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/hydroponics/biogenerator.dm + +

+ + + + +
MAX_ITEMS_PER_RATINGHow many more items does max_items get increased by per rating point.
PROCESSED_ITEMS_PER_RATINGHow many items are converted per cycle, per rating point of the manipulator used.
BIOGEN_REAGENT_PURITYStarting purity of reagents made in biogenerator

Define Details

+

BIOGEN_REAGENT_PURITY + + +

+

Starting purity of reagents made in biogenerator

MAX_ITEMS_PER_RATING + + +

+

How many more items does max_items get increased by per rating point.

PROCESSED_ITEMS_PER_RATING + + +

+

How many items are converted per cycle, per rating point of the manipulator used.

+ + + diff --git a/code/modules/hydroponics/fermenting_barrel.html b/code/modules/hydroponics/fermenting_barrel.html new file mode 100644 index 00000000000..499833526b5 --- /dev/null +++ b/code/modules/hydroponics/fermenting_barrel.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/fermenting_barrel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/fermenting_barrel.dm + +

+ + +
/obj/structure/fermenting_barrel/gunpowderLil gunpowder barrel fer pirates since it's a nice reagent holder
+ + + diff --git a/code/modules/hydroponics/grafts.html b/code/modules/hydroponics/grafts.html new file mode 100644 index 00000000000..f83b098cdf1 --- /dev/null +++ b/code/modules/hydroponics/grafts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grafts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/grafts.dm + +

+ + +
/obj/item/graftA new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator.
+ + + diff --git a/code/modules/hydroponics/grown.html b/code/modules/hydroponics/grown.html new file mode 100644 index 00000000000..06e2e2d5d56 --- /dev/null +++ b/code/modules/hydroponics/grown.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/hydroponics/grown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/hydroponics/grown.dm + +

+ + + +
BITE_SIZE_POTENCY_MULTIPLIERWhen calculating bite size, potency is multiplied by this number.
BITE_SIZE_VOLUME_MULTIPLIERWhen calculating bite size, max_volume is multiplied by this number.

Define Details

+

BITE_SIZE_POTENCY_MULTIPLIER + + +

+

When calculating bite size, potency is multiplied by this number.

BITE_SIZE_VOLUME_MULTIPLIER + + +

+

When calculating bite size, max_volume is multiplied by this number.

+ + + diff --git a/code/modules/hydroponics/grown/flowers.html b/code/modules/hydroponics/grown/flowers.html new file mode 100644 index 00000000000..e151feeaa7f --- /dev/null +++ b/code/modules/hydroponics/grown/flowers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/grown/flowers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/grown/flowers.dm + +

+ + + +
/obj/item/seeds/poppy/geranium/fraxinellaFraxinella seeds.
/obj/item/food/grown/poppy/geranium/fraxinellaFraxinella Flowers.
+ + + diff --git a/code/modules/hydroponics/grown/hedges.html b/code/modules/hydroponics/grown/hedges.html new file mode 100644 index 00000000000..a7fc18649dd --- /dev/null +++ b/code/modules/hydroponics/grown/hedges.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/grown/hedges.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/grown/hedges.dm + +

+ + + +
/obj/structure/hedgethe structure placed by the shrubs
/obj/structure/hedge/opaqueuseful for mazes and such
+ + + diff --git a/code/modules/hydroponics/grown/melon.html b/code/modules/hydroponics/grown/melon.html new file mode 100644 index 00000000000..a266ab44184 --- /dev/null +++ b/code/modules/hydroponics/grown/melon.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/grown/melon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/grown/melon.dm + +

+ + + +
/obj/item/seeds/watermelon/barrelBarrel melon Seeds
/obj/item/food/grown/barrelmelonBarrel melon Fruit
+ + + diff --git a/code/modules/hydroponics/grown/replicapod.html b/code/modules/hydroponics/grown/replicapod.html new file mode 100644 index 00000000000..0d5d8842124 --- /dev/null +++ b/code/modules/hydroponics/grown/replicapod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grown/replicapod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/grown/replicapod.dm + +

+ + +
/obj/item/seeds/replicapodThe actual replica pods themselves!
+ + + diff --git a/code/modules/hydroponics/grown/sugarcane.html b/code/modules/hydroponics/grown/sugarcane.html new file mode 100644 index 00000000000..b89d7dcdd96 --- /dev/null +++ b/code/modules/hydroponics/grown/sugarcane.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/hydroponics/grown/sugarcane.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/grown/sugarcane.dm + +

+ + +
/obj/item/seeds/bambooand bamboo!
+ + + diff --git a/code/modules/hydroponics/hydroponics.html b/code/modules/hydroponics/hydroponics.html new file mode 100644 index 00000000000..89133857b3a --- /dev/null +++ b/code/modules/hydroponics/hydroponics.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/hydroponics.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/hydroponics.dm + +

+ + + +
/datum/component/plumbing/hydroponicsSpecial demand connector that consumes as normal, but redirects water into the magical water space.
/obj/item/circuit_component/hydroponicsThe usb port circuit
+ + + diff --git a/code/modules/hydroponics/plant_genes.html b/code/modules/hydroponics/plant_genes.html new file mode 100644 index 00000000000..1adb10e2a04 --- /dev/null +++ b/code/modules/hydroponics/plant_genes.html @@ -0,0 +1,60 @@ + + + + + + + code/modules/hydroponics/plant_genes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/plant_genes.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/plant_genePlant gene datums - things that build and modify a plant or seed.
/datum/plant_gene/reagentReagent genes store a reagent ID and reagent ratio.
/datum/plant_gene/traitTraits that affect the grown product.
/datum/plant_gene/trait/squashAllows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind.
/datum/plant_gene/trait/glow/whiteColored versions of bioluminescence. +White
/datum/plant_gene/trait/glow/redRed
/datum/plant_gene/trait/glow/yellowYellow (not the disgusting glowshroom yellow hopefully)
/datum/plant_gene/trait/glow/greenGreen (oh no, now i'm radioactive)
/datum/plant_gene/trait/glow/blueBlue (the best one)
/datum/plant_gene/trait/glow/purplePurple (did you know that notepad++ doesnt think bioluminescence is a word) (was the person who wrote this using notepad++ for dm?)
/datum/plant_gene/trait/maxchemA plant trait that causes the plant's capacity to double.
/datum/plant_gene/trait/repeated_harvestAllows a plant to be harvested multiple times.
/datum/plant_gene/trait/smokeExplodes into reagent-filled smoke when squashed.
/datum/plant_gene/trait/fire_resistanceMakes the plant and its seeds fireproof. From lavaland plants.
/datum/plant_gene/trait/invasiveInvasive spreading lets the plant jump to other trays, and the spreading plant won't replace plants of the same type.
/datum/plant_gene/trait/brewingA plant trait that causes the plant's food reagents to ferment instead.
/datum/plant_gene/trait/juicingSimilar to auto-distilling, but instead of brewing the plant's contents it juices it.
/datum/plant_gene/trait/plant_laughterPlays a laughter sound when someone slips on it. +Like the sitcom component but for plants. +Just like slippery skin, if we have a trash type this only functions on that. (Banana peels)
/datum/plant_gene/trait/eyesA plant trait that causes the plant to gain aesthetic googly eyes.
/datum/plant_gene/trait/stickyMakes the plant embed on thrown impact.
/datum/plant_gene/trait/chem_heatingThis trait automatically heats up the plant's chemical contents when harvested. +This requires nutriment to fuel. 1u nutriment = 25 K.
/datum/plant_gene/trait/chem_coolingThis trait is the opposite of above - it cools down the plant's chemical contents on harvest. +This requires nutriment to fuel. 1u nutriment = -5 K.
/datum/plant_gene/trait/never_mutatePrevents species mutation, while still allowing wild mutation harvest and Floral Somatoray species mutation. Trait acts as a tag for hydroponics.dm to recognise.
/datum/plant_gene/trait/stable_statsPrevents stat mutation caused by instability. Trait acts as a tag for hydroponics.dm to recognise.
/datum/plant_gene/trait/preservedTraits for flowers, makes plants not decompose.
/datum/plant_gene/trait/plant_typePlant type traits. Incompatible with one another.
/datum/plant_gene/trait/plant_type/weed_hardyWeeds don't get annoyed by weeds in their tray.
/datum/plant_gene/trait/plant_type/fungal_metabolismMushrooms need less light and have a minimum yield.
/datum/plant_gene/trait/plant_type/alien_propertiesCurrently unused and does nothing. Appears in strange seeds.
+ + + diff --git a/code/modules/hydroponics/seed_extractor.html b/code/modules/hydroponics/seed_extractor.html new file mode 100644 index 00000000000..76dfb2ace0b --- /dev/null +++ b/code/modules/hydroponics/seed_extractor.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/hydroponics/seed_extractor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/seed_extractor.dm + +

+ + + +
/proc/seedifyFinds and extracts seeds from an object
+ + + diff --git a/code/modules/hydroponics/unique_plant_genes.html b/code/modules/hydroponics/unique_plant_genes.html new file mode 100644 index 00000000000..bd3d9a4e3f0 --- /dev/null +++ b/code/modules/hydroponics/unique_plant_genes.html @@ -0,0 +1,56 @@ + + + + + + + code/modules/hydroponics/unique_plant_genes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/hydroponics/unique_plant_genes.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/datum/plant_gene/trait/anti_magicHolymelon's anti-magic trait. Charges based on potency.
/datum/plant_gene/trait/attackTraits that turn a plant into a weapon, giving them force and effects on attack.
/datum/plant_gene/trait/attack/novaflower_attackNovaflower's attack effects (sets people on fire) + degradation on attack
/datum/plant_gene/trait/attack/sunflower_attackSunflower's attack effect (shows cute text)
/datum/plant_gene/trait/attack/nettle_attackNormal nettle's force + degradation on attack
/datum/plant_gene/trait/attack/nettle_attack/deathDeathnettle force + degradation on attack
/datum/plant_gene/trait/backfireTraits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely.
/datum/plant_gene/trait/backfire/rose_thornsRose's prick on backfire
/datum/plant_gene/trait/backfire/novaflower_heatNovaflower's hand burn on backfire
/datum/plant_gene/trait/backfire/nettle_burnNormal Nettle hannd burn on backfire
/datum/plant_gene/trait/backfire/nettle_burn/deathDeathnettle hand burn + stun on backfire
/datum/plant_gene/trait/backfire/chili_heatGhost-Chili heating up on backfire
/datum/plant_gene/trait/backfire/bluespaceBluespace Tomato squashing on the user on backfire
/datum/plant_gene/trait/mob_transformationTraits for plants that can be activated to turn into a mob.
/datum/plant_gene/trait/mob_transformation/tomatoKiller Tomato's transformation gene.
/datum/plant_gene/trait/mob_transformation/shroomWalking Mushroom's transformation gene
/datum/plant_gene/trait/one_biteTraiit for plants eaten in 1 bite.
/datum/plant_gene/trait/modified_volumeTraits for plants with a different base max_volume.
/datum/plant_gene/trait/modified_volume/omega_weedOmegaweed's funny 420 max volume gene
/datum/plant_gene/trait/modified_volume/cherry_bombCherry Bomb's increased max volume gene
/datum/plant_gene/trait/bomb_plantPlants that explode when used (based on their reagent contents)
/datum/plant_gene/trait/bomb_plant/potency_basedA subtype of bomb plants that have their boom sized based on potency instead of reagent contents.
/datum/plant_gene/trait/gas_productionCorpseflower's miasma production. +Can be generalized in the future to spawn any gas, but I don't think that's necessarily a good idea.
/datum/plant_gene/trait/invasive/galaxythistleStarthistle's essential invasive spreading
/datum/plant_gene/trait/carnivory/jupitercupJupitercup's essential carnivory
/datum/plant_gene/reagent/presetPreset plant reagent genes that are unremovable from a plant.
/datum/plant_gene/reagent/preset/polypyrSpaceman's Trumpet fragile Polypyrylium Oligomers
/datum/plant_gene/reagent/preset/liquidelectricityJupitercup's fragile Liquid Electricity
/datum/plant_gene/reagent/preset/carbonCarbon Roses's fragile Carbon
+ + + diff --git a/code/modules/instruments/instrument_data/_instrument_data.html b/code/modules/instruments/instrument_data/_instrument_data.html new file mode 100644 index 00000000000..c83b3ffd013 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_data.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/instruments/instrument_data/_instrument_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/instruments/instrument_data/_instrument_data.dm + +

+ + + + +
/proc/get_allowed_instrument_idsGet all non admin_only instruments as a list of text ids.
/datum/instrumentInstrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.
+ + + diff --git a/code/modules/instruments/instrument_data/_instrument_key.html b/code/modules/instruments/instrument_data/_instrument_key.html new file mode 100644 index 00000000000..c55b7b3ef21 --- /dev/null +++ b/code/modules/instruments/instrument_data/_instrument_key.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/instruments/instrument_data/_instrument_key.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/instruments/instrument_data/_instrument_key.dm + +

+ + +
/datum/instrument_keyInstrument key datums contain everything needed to know how to play a specific +note of an instrument.*
+ + + diff --git a/code/modules/instruments/songs/_song.html b/code/modules/instruments/songs/_song.html new file mode 100644 index 00000000000..a5c0eda1d71 --- /dev/null +++ b/code/modules/instruments/songs/_song.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/instruments/songs/_song.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/instruments/songs/_song.dm + +

+ + +
/datum/songThese are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.
+ + + diff --git a/code/modules/interview/interview.html b/code/modules/interview/interview.html new file mode 100644 index 00000000000..f7799261743 --- /dev/null +++ b/code/modules/interview/interview.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/interview/interview.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/interview/interview.dm + +

+ + +
/datum/interviewRepresents a new-player interview form
+ + + diff --git a/code/modules/interview/interview_manager.html b/code/modules/interview/interview_manager.html new file mode 100644 index 00000000000..4dbb4e7a2b2 --- /dev/null +++ b/code/modules/interview/interview_manager.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/interview/interview_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/interview/interview_manager.dm + +

+ + +
/datum/interview_managerHandles all interviews in the duration of a round, includes the primary functionality for +handling the interview queue.
+ + + diff --git a/code/modules/jobs/departments/departments.html b/code/modules/jobs/departments/departments.html new file mode 100644 index 00000000000..7842c537d76 --- /dev/null +++ b/code/modules/jobs/departments/departments.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/jobs/departments/departments.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/departments/departments.dm + +

+ + + + + +
/datum/job_departmentSingleton representing a category of jobs forming a department.
/datum/job_department/assistantA special assistant only department, primarily for use by the preferences menu
/datum/job_department/captainA special captain only department, for use by the preferences menu
/datum/job_department/undefinedCatch-all department for undefined jobs.
+ + + diff --git a/code/modules/jobs/job_types/assistant.html b/code/modules/jobs/job_types/assistant.html new file mode 100644 index 00000000000..2addc13589e --- /dev/null +++ b/code/modules/jobs/job_types/assistant.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/jobs/job_types/assistant.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/job_types/assistant.dm + +

+ + + +
/datum/colored_assistantDefines a style of jumpsuit/jumpskirt for assistants. +Jumpsuit and jumpskirt lists should match in colors, as they are used interchangably.
/datum/colored_assistant/solidWill pick one color, and stick with it
+ + + diff --git a/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.html b/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.html new file mode 100644 index 00000000000..d0b359f1dad --- /dev/null +++ b/code/modules/jobs/job_types/chaplain/chaplain_divine_archer.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/jobs/job_types/chaplain/chaplain_divine_archer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/job_types/chaplain/chaplain_divine_archer.dm + +

+ + + + + + +
/obj/item/clothing/under/rank/civilian/chaplain/divine_archerundersuit
/obj/item/clothing/suit/hooded/chaplain_hoodie/divine_archersuit
/obj/item/clothing/head/hooded/chaplain_hood/divine_archerhood
/obj/item/clothing/gloves/divine_archergloves
/obj/item/clothing/shoes/divine_archerboots
+ + + diff --git a/code/modules/jobs/job_types/scientist.html b/code/modules/jobs/job_types/scientist.html new file mode 100644 index 00000000000..0ab66888d7f --- /dev/null +++ b/code/modules/jobs/job_types/scientist.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/jobs/job_types/scientist.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/job_types/scientist.dm + +

+ + +
/datum/outfit/job/scientist/consistentA version of the scientist outfit that is guaranteed to be the same every time
+ + + diff --git a/code/modules/jobs/job_types/security_officer.html b/code/modules/jobs/job_types/security_officer.html new file mode 100644 index 00000000000..f5ce80ec592 --- /dev/null +++ b/code/modules/jobs/job_types/security_officer.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/jobs/job_types/security_officer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/job_types/security_officer.dm + +

+ + + + + +
/proc/get_officer_departmentsReturns the distribution of splitting the given security officers into departments. +Return value is an assoc list of candidate => SEC_DEPT_*.
/proc/get_distributionThis is a pretty complicated algorithm, but it's one I'm rather proud of.
+ + + diff --git a/code/modules/jobs/job_types/servant_golem.html b/code/modules/jobs/job_types/servant_golem.html new file mode 100644 index 00000000000..9110564e251 --- /dev/null +++ b/code/modules/jobs/job_types/servant_golem.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/jobs/job_types/servant_golem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/job_types/servant_golem.dm + +

+ + +
/datum/job/servant_golemFor late joiners, we're forced to put them in an alone department at some point.
+ + + diff --git a/code/modules/jobs/job_types/unassigned.html b/code/modules/jobs/job_types/unassigned.html new file mode 100644 index 00000000000..fd8ddd5abea --- /dev/null +++ b/code/modules/jobs/job_types/unassigned.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/jobs/job_types/unassigned.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/jobs/job_types/unassigned.dm + +

+ + +
/datum/job/unassignedThis type is used to indicate a lack of a job. +The mind variable assigned_role will point here by default. +As any other job datum, this is a singleton.
+ + + diff --git a/code/modules/keybindings.html b/code/modules/keybindings.html new file mode 100644 index 00000000000..cdb88ae7f48 --- /dev/null +++ b/code/modules/keybindings.html @@ -0,0 +1,60 @@ + + + + + + + code/modules/keybindings/readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

In-code keypress handling system + +

+ + +

This whole system is heavily based off of forum_account's keyboard library. +Thanks to forum_account for saving the day, the library can be found +here!

+

.dmf macros have some very serious shortcomings. For example, they do not allow reusing parts +of one macro in another, so giving cyborgs their own shortcuts to swap active module couldn't +inherit the movement that all mobs should have anyways. The webclient only supports one macro, +so having more than one was problematic. Additionally each keybind has to call an actual +verb, which meant a lot of hidden verbs that just call one other proc. Also our existing +macro was really bad and tied unrelated behavior into Northeast(), Southeast(), Northwest(), +and Southwest().

+

The basic premise of this system is to not screw with .dmf macro setup at all and handle +pressing those keys in the code instead. We have every key call client.keyDown() +or client.keyUp() with the pressed key as an argument. Certain keys get processed +directly by the client because they should be doable at any time, then we call +keyDown() or keyUp() on the client's holder and the client's mob's focus. +By default mob.focus is the mob itself, but you can set it to any datum to give control of a +client's keypresses to another object. This would be a good way to handle a menu or driving +a mech. You can also set it to null to disregard input from a certain user.

+

Movement is handled by having each client call client.keyLoop() every game tick. +As above, this calls holder and focus.keyLoop(). atom/movable/keyLoop() handles movement +Try to keep the calculations in this proc light. It runs every tick for every client after all!

+

You can also tell which keys are being held down now. Each client a list of keys pressed called +keys_held. Each entry is a key as a text string associated with the world.time when it was +pressed.

+

No client-set keybindings at this time, but it shouldn't be too hard if someone wants.

+

Notes about certain keys:

+
    +
  • Tab has client-sided behavior but acts normally
  • +
  • T, O, and M move focus to the input when pressed. This fires the keyUp macro right away.
  • +
  • \ needs to be escaped in the dmf so any usage is \\
  • +
+

You cannot TICK_CHECK or check world.tick_usage inside of procs called by key down and up +events. They happen outside of a byond tick and have no meaning there. Key looping +works correctly since it's part of a subsystem, not direct input.

+ + + diff --git a/code/modules/language/language_holder.html b/code/modules/language/language_holder.html new file mode 100644 index 00000000000..c0653618411 --- /dev/null +++ b/code/modules/language/language_holder.html @@ -0,0 +1,62 @@ + + + + + + + code/modules/language/language_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/language/language_holder.dm + +

+ + + + +

Language holders will either exist in an atom/movable. Creation of language holders happens +automatically when they are needed, for example when something tries to speak. +Where a mind is available, the mind language holder will be the one "in charge". The mind holder +will update its languages based on the atom holder, and will get updated as part of +transformations and other events that cause new languages to become available.

+

Every language holder has three lists of languages (and sources for each of them):

+
    +
  • understood_languages
  • +
  • spoken_languages
  • +
  • blocked_languages
  • +
+

Understood languages let you understand them, spoken languages lets you speak them +(if your tongue is compatible), and blocked languages will let you do neither no matter +what the source of the language is.

+

Language holders are designed to mostly only ever require the use the helpers in atom/movable +to achieve your goals, but it is also possible to work on them directly if needed. Any adding +and removing of languages and sources should only happen through the procs, as directly changing +these will mess something up somewhere down the line.

+

All atom movables have the initial_language_holder var which allows you to set the default language +holder to create. For example, /datum/language_holder/alien will give you xenocommon and a block for +galactic common. Human species also have a default language holder var that will be updated on +species change, initial_species_holder.

+

Key procs

+
/proc/init_language_holder_prototypesInits the global list of language holder prototypes.
+ + + diff --git a/code/modules/library/admin_only.html b/code/modules/library/admin_only.html new file mode 100644 index 00000000000..a772bf91fb3 --- /dev/null +++ b/code/modules/library/admin_only.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/library/admin_only.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/library/admin_only.dm + +

+ + + +
/datum/book_history_entryThis mostly exists to document the form of the library_action table, since it doesn't do that good a job on its own
/datum/admin_book_viewerWeaps around a book's sql data, feeds it into a ui that allows us to at base view the contents of the book
+ + + diff --git a/code/modules/library/book_info.html b/code/modules/library/book_info.html new file mode 100644 index 00000000000..5c07680d3c9 --- /dev/null +++ b/code/modules/library/book_info.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/library/book_info.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/library/book_info.dm + +

+ + +
/datum/book_infoA datum which contains all the metadata of a book
+ + + diff --git a/code/modules/library/lib_machines.html b/code/modules/library/lib_machines.html new file mode 100644 index 00000000000..ad23de02953 --- /dev/null +++ b/code/modules/library/lib_machines.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/library/lib_machines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/library/lib_machines.dm + +

+ + + +
/proc/library_updatedIncrements every time WE update the library db table, causes all existing consoles to repull when they next check
+ + + diff --git a/code/modules/library/skill_learning/job_skillchips/_job.html b/code/modules/library/skill_learning/job_skillchips/_job.html new file mode 100644 index 00000000000..e936943435a --- /dev/null +++ b/code/modules/library/skill_learning/job_skillchips/_job.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/library/skill_learning/job_skillchips/_job.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/library/skill_learning/job_skillchips/_job.dm + +

+ + +
SKILLCHIP_CATEGORY_JOBJob related skillchip category

Define Details

+

SKILLCHIP_CATEGORY_JOB + + +

+

Job related skillchip category

+ + + diff --git a/code/modules/library/skill_learning/skillchip.html b/code/modules/library/skill_learning/skillchip.html new file mode 100644 index 00000000000..89bc36e59b3 --- /dev/null +++ b/code/modules/library/skill_learning/skillchip.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/library/skill_learning/skillchip.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/library/skill_learning/skillchip.dm + +

+ + +
SKILLCHIP_CATEGORY_GENERALGeneral related skillchip category

Define Details

+

SKILLCHIP_CATEGORY_GENERAL + + +

+

General related skillchip category

+ + + diff --git a/code/modules/lighting/lighting_atom.html b/code/modules/lighting/lighting_atom.html new file mode 100644 index 00000000000..e4be48c2da4 --- /dev/null +++ b/code/modules/lighting/lighting_atom.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/lighting/lighting_atom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/lighting/lighting_atom.dm + +

+ + + +
/proc/calculate_light_offsetReturns a list of x and y offsets to apply to our visual lighting position
+ + + diff --git a/code/modules/lighting/lighting_corner.html b/code/modules/lighting/lighting_corner.html new file mode 100644 index 00000000000..c93117d6557 --- /dev/null +++ b/code/modules/lighting/lighting_corner.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/lighting/lighting_corner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/lighting/lighting_corner.dm + +

+ + + +
/proc/display_cornersMakes all lighting corners visible, debug to aid in understanding
+ + + diff --git a/code/modules/lighting/lighting_source.html b/code/modules/lighting/lighting_source.html new file mode 100644 index 00000000000..c499383c11d --- /dev/null +++ b/code/modules/lighting/lighting_source.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/lighting/lighting_source.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/lighting/lighting_source.dm + +

+ + + +
/proc/read_sheetDebug proc, for when lighting sheets fuck up +Accepts the sheet (2 or 3 (multiz) dimensional list of lighting values at some offset) +alongside x and y delta values and the sheet's "offset", which is the amount required to ensure everything indexes at 1 +Optionally, you can pass similar values for multiz stuff
+ + + diff --git a/code/modules/logging/log_category.html b/code/modules/logging/log_category.html new file mode 100644 index 00000000000..8ed7901c261 --- /dev/null +++ b/code/modules/logging/log_category.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/logging/log_category.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/logging/log_category.dm + +

+ + +
/datum/log_categoryThe main datum that contains all log entries for a category
+ + + diff --git a/code/modules/logging/log_entry.html b/code/modules/logging/log_entry.html new file mode 100644 index 00000000000..1b4c73a0535 --- /dev/null +++ b/code/modules/logging/log_entry.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/logging/log_entry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/logging/log_entry.dm + +

+ + +
/datum/log_entryA datum which contains log information.
+ + + diff --git a/code/modules/logging/log_holder.html b/code/modules/logging/log_holder.html new file mode 100644 index 00000000000..2bf5e120755 --- /dev/null +++ b/code/modules/logging/log_holder.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/logging/log_holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/logging/log_holder.dm + +

+ + + +
/datum/log_holderMain datum to manage logging actions
LOG_CATEGORY_RESET_FILE_MARKERLog entry header used to mark a file is being reset

Define Details

+

LOG_CATEGORY_RESET_FILE_MARKER + + +

+

Log entry header used to mark a file is being reset

+ + + diff --git a/code/modules/mafia/_defines.html b/code/modules/mafia/_defines.html new file mode 100644 index 00000000000..2451197b698 --- /dev/null +++ b/code/modules/mafia/_defines.html @@ -0,0 +1,207 @@ + + + + + + + code/modules/mafia/_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mafia/_defines.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MAFIA_MIN_PLAYER_COUNTThe amount of players required to start a Mafia game
MAFIA_MAX_PLAYER_COUNThow many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)
FIRST_DAY_PERIOD_LENGTHThe time spent during the first day, which is shorter due to not having a voting period.
DAY_PERIOD_LENGTHThe length of a Day period
VOTING_PERIOD_LENGTHThe length of a Voting period, when people decide who they want to put up for hanging that day.
JUDGEMENT_PERIOD_LENGTHThe length of the judgment period, where people vote on whether to lynch the person they voted up.
LYNCH_PERIOD_LENGTHThe length of the lynch period, if the judged person is deemed guilty and is sentenced to death.
NIGHT_PERIOD_LENGTHThe length of the night period where people can do their night abilities and speak with their mafia team.
VICTORY_LAP_PERIOD_LENGTHThe length of the roundend report, where people can look over the round and the details.
MAFIA_NOTE_SENDING_COOLDOWNThe cooldown between being able to send your notes in chat.
MAFIA_SPEEDUP_INCREASEHow fast the game will speed up when half the players are gone.
TOWN_OVERFLOWAdd this if you don't want a role to be a choice in the selection
TOWN_INVESTroles that learn info about others in the game (chaplain, detective, psych)
TOWN_PROTECTroles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)
TOWN_KILLINGroles that are only there to kill bad guys.
TOWN_SUPPORTroles that don't fit into anything else (hop)
MAFIA_REGULARnormal vote kill changelings
MAFIA_SPECIALevery other changeling role that has extra abilities
NEUTRAL_KILLrole that wins solo that nobody likes
NEUTRAL_DISRUPTrole that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia
ROLE_UNDETECTABLEto all forms of detection, shows themselves as an assistant.
ROLE_CAN_KILLhas the ability to theoretically kill someone singlehandedly, blocks their team from losing against another teams.
ROLE_UNIQUEcan only be one in a randomly generated game
ROLE_REVEALEDrole is public to all other players in the game.
ROLE_VULNERABLEcan not be defended, protected, or any other form of protection. all kills succeed no matter what.
ROLE_ROLEBLOCKEDcannot perform any actions that night, preselected actions fail
CAN_USE_ON_OTHERSFlag that decides whether the Mafia ability can be used on other people.
CAN_USE_ON_SELFFlag that decides whether the Mafia ability can be used on themselves.
CAN_USE_ON_DEADFlag that decides whether the Mafia ability can be used on dead players.
COMSIG_MAFIA_SUNDOWNSends all signals that must go immediately as night starts.
COMSIG_MAFIA_NIGHT_PRE_ACTION_PHASESends all signals that must go first, aka roleblocks.
COMSIG_MAFIA_NIGHT_ACTION_PHASESends the signal that all regular actions must go, such as
COMSIG_MAFIA_NIGHT_KILL_PHASEnow killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block
COMSIG_MAFIA_NIGHT_ENDnow clearing refs to prepare for the next day. Do not do any actions here, it's just for ref clearing.
COMSIG_MAFIA_GAME_STARTsignal sent to roles when the game is confirmed starting
COMSIG_MAFIA_GAME_ENDsignal sent to roles when the game is confirmed ending

Define Details

+

CAN_USE_ON_DEAD + + +

+

Flag that decides whether the Mafia ability can be used on dead players.

CAN_USE_ON_OTHERS + + +

+

Flag that decides whether the Mafia ability can be used on other people.

CAN_USE_ON_SELF + + +

+

Flag that decides whether the Mafia ability can be used on themselves.

COMSIG_MAFIA_GAME_END + + +

+

signal sent to roles when the game is confirmed ending

COMSIG_MAFIA_GAME_START + + +

+

signal sent to roles when the game is confirmed starting

COMSIG_MAFIA_NIGHT_ACTION_PHASE + + +

+

Sends the signal that all regular actions must go, such as

COMSIG_MAFIA_NIGHT_END + + +

+

now clearing refs to prepare for the next day. Do not do any actions here, it's just for ref clearing.

COMSIG_MAFIA_NIGHT_KILL_PHASE + + +

+

now killing happens from the roles that do that. the reason this is post action phase is to ensure doctors can protect and lawyers can block

COMSIG_MAFIA_NIGHT_PRE_ACTION_PHASE + + +

+

Sends all signals that must go first, aka roleblocks.

COMSIG_MAFIA_SUNDOWN + + +

+

Sends all signals that must go immediately as night starts.

DAY_PERIOD_LENGTH + + +

+

The length of a Day period

FIRST_DAY_PERIOD_LENGTH + + +

+

The time spent during the first day, which is shorter due to not having a voting period.

JUDGEMENT_PERIOD_LENGTH + + +

+

The length of the judgment period, where people vote on whether to lynch the person they voted up.

LYNCH_PERIOD_LENGTH + + +

+

The length of the lynch period, if the judged person is deemed guilty and is sentenced to death.

MAFIA_MAX_PLAYER_COUNT + + +

+

how many people can play mafia without issues (running out of spawns, procs not expecting more than this amount of people, etc)

MAFIA_MIN_PLAYER_COUNT + + +

+

The amount of players required to start a Mafia game

MAFIA_NOTE_SENDING_COOLDOWN + + +

+

The cooldown between being able to send your notes in chat.

MAFIA_REGULAR + + +

+

normal vote kill changelings

MAFIA_SPECIAL + + +

+

every other changeling role that has extra abilities

MAFIA_SPEEDUP_INCREASE + + +

+

How fast the game will speed up when half the players are gone.

NEUTRAL_DISRUPT + + +

+

role that upsets the game aka obsessed, usually worse for town than mafia but they can vote against mafia

NEUTRAL_KILL + + +

+

role that wins solo that nobody likes

NIGHT_PERIOD_LENGTH + + +

+

The length of the night period where people can do their night abilities and speak with their mafia team.

ROLE_CAN_KILL + + +

+

has the ability to theoretically kill someone singlehandedly, blocks their team from losing against another teams.

ROLE_REVEALED + + +

+

role is public to all other players in the game.

ROLE_ROLEBLOCKED + + +

+

cannot perform any actions that night, preselected actions fail

ROLE_UNDETECTABLE + + +

+

to all forms of detection, shows themselves as an assistant.

ROLE_UNIQUE + + +

+

can only be one in a randomly generated game

ROLE_VULNERABLE + + +

+

can not be defended, protected, or any other form of protection. all kills succeed no matter what.

TOWN_INVEST + + +

+

roles that learn info about others in the game (chaplain, detective, psych)

TOWN_KILLING + + +

+

roles that are only there to kill bad guys.

TOWN_OVERFLOW + + +

+

Add this if you don't want a role to be a choice in the selection

TOWN_PROTECT + + +

+

roles that keep other roles safe (doctor, sec officer, and weirdly enough lawyer counts)

TOWN_SUPPORT + + +

+

roles that don't fit into anything else (hop)

VICTORY_LAP_PERIOD_LENGTH + + +

+

The length of the roundend report, where people can look over the round and the details.

VOTING_PERIOD_LENGTH + + +

+

The length of a Voting period, when people decide who they want to put up for hanging that day.

+ + + diff --git a/code/modules/mafia/abilities/investigative/investigate.html b/code/modules/mafia/abilities/investigative/investigate.html new file mode 100644 index 00000000000..bfccd199c42 --- /dev/null +++ b/code/modules/mafia/abilities/investigative/investigate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/investigative/investigate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/investigative/investigate.dm + +

+ + +
/datum/mafia_ability/investigateInvestigate
+ + + diff --git a/code/modules/mafia/abilities/investigative/pray.html b/code/modules/mafia/abilities/investigative/pray.html new file mode 100644 index 00000000000..746efef5edb --- /dev/null +++ b/code/modules/mafia/abilities/investigative/pray.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/investigative/pray.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/investigative/pray.dm + +

+ + +
/datum/mafia_ability/seancePray
+ + + diff --git a/code/modules/mafia/abilities/investigative/reveal.html b/code/modules/mafia/abilities/investigative/reveal.html new file mode 100644 index 00000000000..d26c63f416d --- /dev/null +++ b/code/modules/mafia/abilities/investigative/reveal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/investigative/reveal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/investigative/reveal.dm + +

+ + +
/datum/mafia_ability/reaveal_roleReveal
+ + + diff --git a/code/modules/mafia/abilities/investigative/thoughtfeed.html b/code/modules/mafia/abilities/investigative/thoughtfeed.html new file mode 100644 index 00000000000..f0187d0b8b1 --- /dev/null +++ b/code/modules/mafia/abilities/investigative/thoughtfeed.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/investigative/thoughtfeed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/investigative/thoughtfeed.dm + +

+ + +
/datum/mafia_ability/thoughtfeederThoughtfeeding
+ + + diff --git a/code/modules/mafia/abilities/killing/alert.html b/code/modules/mafia/abilities/killing/alert.html new file mode 100644 index 00000000000..f20a0b0105c --- /dev/null +++ b/code/modules/mafia/abilities/killing/alert.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/killing/alert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/killing/alert.dm + +

+ + +
/datum/mafia_ability/attack_visitorsAlert
+ + + diff --git a/code/modules/mafia/abilities/killing/flicker_rampage.html b/code/modules/mafia/abilities/killing/flicker_rampage.html new file mode 100644 index 00000000000..3700380c200 --- /dev/null +++ b/code/modules/mafia/abilities/killing/flicker_rampage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/killing/flicker_rampage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/killing/flicker_rampage.dm + +

+ + +
/datum/mafia_ability/flicker_rampageFlicker/Rampage
+ + + diff --git a/code/modules/mafia/abilities/killing/kill.html b/code/modules/mafia/abilities/killing/kill.html new file mode 100644 index 00000000000..841ff43c585 --- /dev/null +++ b/code/modules/mafia/abilities/killing/kill.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/killing/kill.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/killing/kill.dm + +

+ + +
/datum/mafia_ability/attack_playerAttack
+ + + diff --git a/code/modules/mafia/abilities/protective/heal.html b/code/modules/mafia/abilities/protective/heal.html new file mode 100644 index 00000000000..1a97011a011 --- /dev/null +++ b/code/modules/mafia/abilities/protective/heal.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mafia/abilities/protective/heal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/protective/heal.dm + +

+ + + +
/datum/mafia_ability/healHeal
/datum/mafia_ability/heal/defendDefend subtype +Kills both players when successfully defending.
+ + + diff --git a/code/modules/mafia/abilities/protective/vest.html b/code/modules/mafia/abilities/protective/vest.html new file mode 100644 index 00000000000..e5d7fd0ff39 --- /dev/null +++ b/code/modules/mafia/abilities/protective/vest.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mafia/abilities/protective/vest.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mafia/abilities/protective/vest.dm + +

+ + + +
STARTING_VEST_AMOUNTThe amount of vests that you get by default to use, lowers as you use them.
/datum/mafia_ability/vestVest

Define Details

+

STARTING_VEST_AMOUNT + + +

+

The amount of vests that you get by default to use, lowers as you use them.

+ + + diff --git a/code/modules/mafia/abilities/support/roleblock.html b/code/modules/mafia/abilities/support/roleblock.html new file mode 100644 index 00000000000..91c936be813 --- /dev/null +++ b/code/modules/mafia/abilities/support/roleblock.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/support/roleblock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/support/roleblock.dm + +

+ + +
/datum/mafia_ability/roleblockRoleblock
+ + + diff --git a/code/modules/mafia/abilities/support/self_reveal.html b/code/modules/mafia/abilities/support/self_reveal.html new file mode 100644 index 00000000000..4292fb2c123 --- /dev/null +++ b/code/modules/mafia/abilities/support/self_reveal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/support/self_reveal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/support/self_reveal.dm + +

+ + +
/datum/mafia_ability/self_revealSelf reveal
+ + + diff --git a/code/modules/mafia/abilities/voting/changeling_kill.html b/code/modules/mafia/abilities/voting/changeling_kill.html new file mode 100644 index 00000000000..88cec5404cf --- /dev/null +++ b/code/modules/mafia/abilities/voting/changeling_kill.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/voting/changeling_kill.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/voting/changeling_kill.dm + +

+ + +
/datum/mafia_ability/changeling_killChangeling kill
+ + + diff --git a/code/modules/mafia/abilities/voting/day_voting.html b/code/modules/mafia/abilities/voting/day_voting.html new file mode 100644 index 00000000000..ee96e49ed93 --- /dev/null +++ b/code/modules/mafia/abilities/voting/day_voting.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/abilities/voting/day_voting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/abilities/voting/day_voting.dm + +

+ + +
/datum/mafia_ability/votingVoting
+ + + diff --git a/code/modules/mafia/controller.html b/code/modules/mafia/controller.html new file mode 100644 index 00000000000..c48188051a8 --- /dev/null +++ b/code/modules/mafia/controller.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mafia/controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mafia/controller.dm + +

+ + + + + + +
UNIVERSALLY_HATED_REQUIREMENTHow many votes are needed to unlock the 'Universally Hated' achievement.
/datum/mafia_controllerThe mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.
/atom/movable/screen/mafia_popupThe popup used for sending important messages to players.
/proc/create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.

Define Details

+

UNIVERSALLY_HATED_REQUIREMENT + + +

+

How many votes are needed to unlock the 'Universally Hated' achievement.

+ + + diff --git a/code/modules/mafia/outfits.html b/code/modules/mafia/outfits.html new file mode 100644 index 00000000000..62c226cbd4d --- /dev/null +++ b/code/modules/mafia/outfits.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mafia/outfits.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mafia/outfits.dm + +

+ + +
/datum/outfit/mafia/abducteeMap-specific custom outfits
+ + + diff --git a/code/modules/mapfluff/ruins/generic.html b/code/modules/mapfluff/ruins/generic.html new file mode 100644 index 00000000000..84d176c304a --- /dev/null +++ b/code/modules/mapfluff/ruins/generic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/generic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/generic.dm + +

+ + +
/obj/modular_map_root/genericGeneric maps with several available biomes.
+ + + diff --git a/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.html b/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.html new file mode 100644 index 00000000000..f5a6ebb37ca --- /dev/null +++ b/code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/icemoonruin_code/hotsprings.dm + +

+ + +
/turf/open/water/cursed_springTurns whoever enters into a mob or random person
+ + + diff --git a/code/modules/mapfluff/ruins/lavaland_ruin_code.html b/code/modules/mapfluff/ruins/lavaland_ruin_code.html new file mode 100644 index 00000000000..d89b58ffdd1 --- /dev/null +++ b/code/modules/mapfluff/ruins/lavaland_ruin_code.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/lavaland_ruin_code.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/lavaland_ruin_code.dm + +

+ + + +
/obj/item/disk/design_disk/knight_gearWizard tower item
/obj/item/golem_shell/servantmade with xenobiology, the golem obeys its creator
+ + + diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/biodome_clown_planet.html b/code/modules/mapfluff/ruins/lavalandruin_code/biodome_clown_planet.html new file mode 100644 index 00000000000..aec30e15127 --- /dev/null +++ b/code/modules/mapfluff/ruins/lavalandruin_code/biodome_clown_planet.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/lavalandruin_code/biodome_clown_planet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/lavalandruin_code/biodome_clown_planet.dm + +

+ + +
/obj/item/paper/crumpled/bloody/ruins/lavaland/clown_planet/escapelavaland clown planet papers
+ + + diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.html b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.html new file mode 100644 index 00000000000..8038b3e0d01 --- /dev/null +++ b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm + +

+ + +
/obj/structure/closet/crate/gravehas no items inside unless you use the filled subtype
+ + + diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/sloth.html b/code/modules/mapfluff/ruins/lavalandruin_code/sloth.html new file mode 100644 index 00000000000..5befd3a05f9 --- /dev/null +++ b/code/modules/mapfluff/ruins/lavalandruin_code/sloth.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/lavalandruin_code/sloth.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/lavalandruin_code/sloth.dm + +

+ + +
/obj/item/paper/fluff/stations/lavaland/sloth/notelavaland slot ruin items
+ + + diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/surface.html b/code/modules/mapfluff/ruins/lavalandruin_code/surface.html new file mode 100644 index 00000000000..418d7ce3d95 --- /dev/null +++ b/code/modules/mapfluff/ruins/lavalandruin_code/surface.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/lavalandruin_code/surface.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/lavalandruin_code/surface.dm + +

+ + +
/obj/item/paper/fluff/stations/lavaland/surface/henderson_reportlavaland surface papers
+ + + diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/watcher_grave.html b/code/modules/mapfluff/ruins/lavalandruin_code/watcher_grave.html new file mode 100644 index 00000000000..ae7aca08f54 --- /dev/null +++ b/code/modules/mapfluff/ruins/lavalandruin_code/watcher_grave.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mapfluff/ruins/lavalandruin_code/watcher_grave.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/lavalandruin_code/watcher_grave.dm + +

+ + + + + +
/obj/item/food/egg/watcherEgg which hatches into a helpful pet. Or you can eat it if you want.
/obj/item/watcher_hatchlingA cute pet who will occasionally attack lavaland mobs for you
/obj/effect/watcher_orbiterOrbiting visual which shoots at mining mobs
/obj/projectile/baby_watcher_blastBeam fired by a baby watcher, doesn't actually do less damage than its parent
+ + + diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/cursed_slot_machine.html b/code/modules/mapfluff/ruins/objects_and_mobs/cursed_slot_machine.html new file mode 100644 index 00000000000..1001ccd0af7 --- /dev/null +++ b/code/modules/mapfluff/ruins/objects_and_mobs/cursed_slot_machine.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/objects_and_mobs/cursed_slot_machine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/objects_and_mobs/cursed_slot_machine.dm + +

+ + + +
/obj/structure/cursed_slot_machineGreed's slot machine: Used in the Greed ruin. Deals damage on each use, with a successful use giving a d20 of fate.
/obj/structure/cursed_moneyPrize given out by the cursed slot machine that will give the user one Die of Fate and then delete itself.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/DJstation.html b/code/modules/mapfluff/ruins/spaceruin_code/DJstation.html new file mode 100644 index 00000000000..7ca3980448f --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/DJstation.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/DJstation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/DJstation.dm + +

+ + + +
/obj/item/paper/fluff/ruins/djstationdjstation items
/obj/modular_map_root/djstationdjstation module roots
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html new file mode 100644 index 00000000000..9f0aadbad30 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/TheDerelict.dm + +

+ + + + + + +
/obj/item/paper/fluff/ruins/thederelict/equipmentthederelict items
/obj/machinery/computer/terminal/derelict/bridgeThe Derelict Terminals
/obj/machinery/computer/vaultcontrollerVault controller for use on the derelict/KS13.
/obj/machinery/door/airlock/vault/derelictAirlock that can't be deconstructed, broken or hacked.
/obj/item/tape/captains_logCaptain's log +Credits to goonstation13 for orginal SS13 lore +https://wiki.ss13.co/Storyline +https://www.youtube.com/watch?v=7M-JPH5SOmI (old video) +https://www.youtube.com/watch?v=FHH1vfY6HTA (new video)
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.html b/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.html new file mode 100644 index 00000000000..e242d557384 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.dm + +

+ + + +
/obj/effect/spawner/random/big_anomalySpawns a big, amped up fat anomaly
/obj/effect/spawner/random/environmentally_safe_anomalySpawns a stable anomally that doesnt drop cores and doesn't destroy or alter the environment
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html b/code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html new file mode 100644 index 00000000000..7a7d698c7de --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/asteroid4.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/asteroid4.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/asteroid4.dm + +

+ + +
/obj/item/paper/fluff/ruins/asteroid4/extractionasteroid4 items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/atmos_asteroid.html b/code/modules/mapfluff/ruins/spaceruin_code/atmos_asteroid.html new file mode 100644 index 00000000000..3a54d795d51 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/atmos_asteroid.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/atmos_asteroid.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mapfluff/ruins/spaceruin_code/atmos_asteroid.dm + +

+ + +
CO2_PRESSURIZED_MIX

Define Details

+

CO2_PRESSURIZED_MIX + + +

+ A bunch of turf subtypes used to really make this ruin work. +

Define of the specific gas mix we want across all of the turfs.

+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html b/code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html new file mode 100644 index 00000000000..592b744cc15 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/bigderelict1.dm + +

+ + +
/obj/item/paper/crumpled/ruins/bigderelict1/manifestbigderelict1 items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/clericsden.html b/code/modules/mapfluff/ruins/spaceruin_code/clericsden.html new file mode 100644 index 00000000000..3cfb147da14 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/clericsden.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/clericsden.dm + +

+ + +
/obj/item/disk/design_disk/cleric_macecleric's den items.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html b/code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html new file mode 100644 index 00000000000..386e7d3c414 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/crashedclownship.dm + +

+ + +
/obj/item/paper/fluff/ruins/crashedclownship/true_nationcrashedclownship items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/cyborgmothership.html b/code/modules/mapfluff/ruins/spaceruin_code/cyborgmothership.html new file mode 100644 index 00000000000..3b403ecc52f --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/cyborgmothership.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/cyborgmothership.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/cyborgmothership.dm + +

+ + +
/obj/machinery/computer/shuttle/cyborg_mothership/bridgeConsole used on the cyborg_mothership bridge. Comes with GPS pre-baked.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/dangerous_research.html b/code/modules/mapfluff/ruins/spaceruin_code/dangerous_research.html new file mode 100644 index 00000000000..09962e747f8 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/dangerous_research.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/dangerous_research.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/dangerous_research.dm + +

+ + + + + +
/obj/item/paper/fluff/ruins/dangerous_research/manifestPaper Fluff Lore
/obj/item/paper/fluff/ruins/dangerous_research/beaches_journal_1Dream-Of-Beaches Journal
/obj/item/paper/fluff/ruins/dangerous_research/armstrong_memo_1Armstrong Memos
/obj/machinery/computer/terminal/dangerous_research/front_deskLore Terminals
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html b/code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html new file mode 100644 index 00000000000..4f8bd4aaa12 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/deepstorage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/deepstorage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/deepstorage.dm + +

+ + +
/obj/item/paper/fluff/ruins/deepstorage/water_concerndeepstorage items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/derelict_sulaco.html b/code/modules/mapfluff/ruins/spaceruin_code/derelict_sulaco.html new file mode 100644 index 00000000000..1f4a7d12d36 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/derelict_sulaco.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/derelict_sulaco.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/derelict_sulaco.dm + +

+ + +
/obj/item/paper/crumpled/ruins/derelict_sulaco/captainderelictsulaco items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.html b/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.html new file mode 100644 index 00000000000..079f56e807e --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/forgottenship.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/forgottenship.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/forgottenship.dm + +

+ + + + + + +
/obj/machinery/door/password/voice/sfcforgottenship objects
/obj/item/paper/fluff/ruins/forgottenship/passwordforgottenship lore
/obj/item/disk/surgery/forgottenshipforgottenship items
/obj/item/ai_module/core/full/cybersunAI Laws
/area/ruin/space/has_grav/syndicate_forgotten_shipforgottenship areas
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/interdyne.html b/code/modules/mapfluff/ruins/spaceruin_code/interdyne.html new file mode 100644 index 00000000000..7bafef9b694 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/interdyne.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/interdyne.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/interdyne.dm + +

+ + +
/obj/item/paper/fluff/ruins/interdyne/receptionResearch notes
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/listeningstation.html b/code/modules/mapfluff/ruins/spaceruin_code/listeningstation.html new file mode 100644 index 00000000000..b41f447e4f1 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/listeningstation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/listeningstation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/listeningstation.dm + +

+ + +
/obj/item/paper/fluff/ruins/listeningstation/reportsPapers used in The Listening Station ruin.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/meateor.html b/code/modules/mapfluff/ruins/spaceruin_code/meateor.html new file mode 100644 index 00000000000..c9d37c51222 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/meateor.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/meateor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/meateor.dm + +

+ + + + + + +
/obj/effect/mob_spawn/corpse/human/tigercultist/perforatedTiger cultist corpse but with an exit wound
/obj/item/reagent_containers/cup/glass/bottle/ritual_wineA fun drink enjoyed by the tiger cooperative, might corrode your brain if you drink the whole bottle
/obj/structure/meateor_fluffAbstract holder object for shared behaviour
/obj/structure/meateor_fluff/flesh_podA sort of loot box for organs, cut it open and find a prize
/obj/structure/meateor_fluff/abandoned_headcrab_eggDecorative fluff egg object
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_fluff.html b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_fluff.html new file mode 100644 index 00000000000..4aba049e4a3 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_fluff.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_fluff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_fluff.dm + +

+ + + +
/obj/item/paper/fluff/ruins/oldstationOldstation items
/obj/item/paper/fluff/ruins/oldstation/protosupermatterSupermatter crystal fluff paper used in Charlie station ruin
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.html b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.html new file mode 100644 index 00000000000..97b482a6bd7 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/oldstation/oldstation_rnd.dm + +

+ + +
/obj/machinery/computer/operating/oldstationAncient computer that starts with dissection to tell players they have it.
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/originalcontent.html b/code/modules/mapfluff/ruins/spaceruin_code/originalcontent.html new file mode 100644 index 00000000000..9578febe9cf --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/originalcontent.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/originalcontent.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/originalcontent.dm + +

+ + +
/obj/item/paper/crumpled/ruins/originalcontentoriginalcontent items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html b/code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html new file mode 100644 index 00000000000..fa9a59da4ef --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/spacehotel.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/spacehotel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/spacehotel.dm + +

+ + +
/obj/item/paper/fluff/ruins/spacehotel/noticespacehotel items
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/the_Outlet.html b/code/modules/mapfluff/ruins/spaceruin_code/the_Outlet.html new file mode 100644 index 00000000000..cd54f0cfd26 --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/the_Outlet.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/the_Outlet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/the_Outlet.dm + +

+ + +
/obj/item/paper/fluff/ruins/the_outlet/amos_notelore papers
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/waystation.html b/code/modules/mapfluff/ruins/spaceruin_code/waystation.html new file mode 100644 index 00000000000..2d2f6c59aac --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/waystation.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/waystation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/waystation.dm + +

+ + + + + +
/obj/item/paper/fluff/ruins/waystation/menuDorms Room Papers
/obj/item/paper/fluff/ruins/waystation/sopCargo Bay Paper
/obj/item/paper/fluff/ruins/waystation/memoVault Paper
/obj/item/disk/holodisk/ruin/waystationSyndicate Holodisk
+ + + diff --git a/code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html b/code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html new file mode 100644 index 00000000000..c09d58d305a --- /dev/null +++ b/code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapfluff/ruins/spaceruin_code/whiteshipruin_box.dm + +

+ + +
/obj/item/circuitboard/computer/white_ship/ruinruined whiteship
+ + + diff --git a/code/modules/mapping.html b/code/modules/mapping.html new file mode 100644 index 00000000000..e89b53db852 --- /dev/null +++ b/code/modules/mapping.html @@ -0,0 +1,79 @@ + + + + + + + code/modules/mapping/README.txt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapping/README.txt + +

+ + +
The code in this module originally evolved from dmm_suite and has since been
+specialized for SS13 and otherwise tweaked to fit /tg/station's needs.
+
+dmm_suite version 1.0
+	Released January 30th, 2011.
+
+NOTE: Map saving functionality removed
+
+defines the object /dmm_suite
+	- Provides the proc load_map()
+		- Loads the specified map file onto the specified z-level.
+	- provides the proc write_map()
+		- Returns a text string of the map in dmm format
+			ready for output to a file.
+	- provides the proc save_map()
+		- Returns a .dmm file if map is saved
+		- Returns FALSE if map fails to save
+
+The dmm_suite provides saving and loading of map files in BYOND's native DMM map
+format. It approximates the map saving and loading processes of the Dream Maker
+and Dream Seeker programs so as to allow editing, saving, and loading of maps at
+runtime.
+
+------------------------
+
+To save a map at runtime, create an instance of /dmm_suite, and then call
+write_map(), which accepts three arguments:
+	- A turf representing one corner of a three dimensional grid (Required).
+	- Another turf representing the other corner of the same grid (Required).
+	- Any, or a combination, of several bit flags (Optional, see documentation).
+
+The order in which the turfs are supplied does not matter, the /dmm_writer will
+determine the grid containing both, in much the same way as DM's block() function.
+write_map() will then return a string representing the saved map in dmm format;
+this string can then be saved to a file, or used for any other purose.
+
+------------------------
+
+To load a map at runtime, create an instance of /dmm_suite, and then call load_map(),
+which accepts two arguments:
+	- A .dmm file to load (Required).
+	- A number representing the z-level on which to start loading the map (Optional).
+
+The /dmm_suite will load the map file starting on the specified z-level. If no
+z-level	was specified, world.maxz will be increased so as to fit the map. Note
+that if you wish to load a map onto a z-level that already has objects on it,
+you will have to handle the removal of those objects. Otherwise the new map will
+simply load the new objects on top of the old ones.
+
+Also note that all type paths specified in the .dmm file must exist in the world's
+code, and that the /dmm_reader trusts that files to be loaded are in fact valid
+.dmm files. Errors in the .dmm format will cause runtime errors.
+
+ + + diff --git a/code/modules/mapping/mapping_helpers.html b/code/modules/mapping/mapping_helpers.html new file mode 100644 index 00000000000..f993c7d3461 --- /dev/null +++ b/code/modules/mapping/mapping_helpers.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mapping/mapping_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapping/mapping_helpers.dm + +

+ + + + + + + + + + + + +
/obj/effect/mapping_helpers/atom_injectorHelpers used for injecting stuff into atoms on the map.
/obj/effect/mapping_helpers/atom_injector/component_injectorThis helper applies components to things on the map directly.
/obj/effect/mapping_helpers/atom_injector/element_injectorThis helper applies elements to things on the map directly.
/obj/effect/mapping_helpers/atom_injector/trait_injectorThis helper applies traits to things on the map directly.
/obj/effect/mapping_helpers/atom_injector/human_icon_injectorThis helper applies dynamic human icons to things on the map
/obj/effect/mapping_helpers/atom_injector/custom_iconFetches an external dmi and applies to the target object
/obj/effect/mapping_helpers/atom_injector/custom_soundFetches an external sound and applies to the target object
/obj/effect/mapping_helpers/trapdoor_placer
/obj/effect/mapping_helpers/broken_machineApplies BROKEN flag to the first found machine on a tile
/obj/effect/mapping_helpers/damaged_windowDeals random damage to the first window found on a tile to appear cracked
/obj/effect/mapping_helpers/bombable_wallApply to a wall (or floor, technically) to ensure it is instantly destroyed by any explosion, even if usually invulnerable
+ + + diff --git a/code/modules/mapping/modular_map_loader.html b/code/modules/mapping/modular_map_loader.html new file mode 100644 index 00000000000..8f5046f659a --- /dev/null +++ b/code/modules/mapping/modular_map_loader.html @@ -0,0 +1,115 @@ + + + + + + + code/modules/mapping/modular_map_loader/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Modular Map Loader + +

+ + +
Concept +

Modular map loading is a system to allow maps to be generated with random variants by selecting from a set of pre-made modules. The system is designed to be as simple as possible for mappers to use, with a minimum of interaction with the code required.

+Implementation/obj/modular_map_root +

This root object handled picking and loading in map modules. It has two variables, and one proc.

+
    +
  • var/config_file - A string, points to a TOML configuration file, which is used to hold the information necessary to pull the correct map files and place them on the correct roots. This will be the same for all roots on a map.
  • +
  • var/key - A string, used to pull a list of .dmm files from the configuration file.
  • +
  • load_map() - Called asynchronously in the root's Initialize(). This proc creates a new instance of /datum/map_template/map_module, ingests the configuration file config_file points to, and picks a .dmm file path which maps to the root's key, by picking a random filename from among those which key maps to, and appending it to a folder path. This file path is passed into the map templace instance's load(), and the template takes over.
  • +
+

INITIALIZE_IMMEDIATE is used to ensure the ruins are loaded at the right time to avoid runtime errors related to lighting.

+/datum/map_template/map_module +

This map templace subtype is responsible for loading in the module, it has two variables and two relevant procs.

+
    +
  • var/x_offset and var/y_offset - Integers, used to store the offsets used to correctly align the module when it is loaded.
  • +
  • load() - Extends the functionality of the general map template's load() to allow a map to be specified at runtime. This means preload_size() must be called again here as the template's map file has been changed. The origin turf for the map to be loaded from is set using the offsets, and the map is loaded as per the parent.
  • +
  • preload_size() - Extends the functionality of the general map template's preload_size() to run the discover_offset proc, calculating the offset of /obj/modular_map_connector and setting the offset variables accordingly.
  • +
+/obj/modular_map_connector +

This object is used only to determine the offsets to be used on loading, and has no other functionality.

+TOML configuration +

This TOML file is used to map between a list of .dmm files and a string key. The file consists of two parts. The first is a line

+
directory = "_maps/etc/"
+
+

which points at a folder containing the .dmm files of the modules used in the map. The second is a series of tables

+
[rooms.example]
+modules = ["example_1.dmm", "example_2.dmm"]
+
+

which contains the mapping between the key "example" and the list of filenames ["example_1.dmm", "example_2.dmm"].

+/datum/unit_test/modular_map_loader +

This is the unit test for modular map loading. It performs two checks on every subtype of /obj/modular_map_root. First it checks if the file config_file points at, and if it does not the test is failed because the file does not exist. If it does exist, it then attempts to read the file, if this is null it means the fild is not valid TOML, and the test is failed because the TOML file is invalid.

+How-To +

This section will cover the basics of how to use map modules as a mapper. If you want a concrete example to look at, the space ruin _maps/RandomRuins/SpaceRuins/DJstation.dmm and its associated code, configuration and modules employ all the techniques covered in this tutorial.

+The Main Map +

First we need to create a map, as we usually would. Let's say we want to create a new space ruin foobar.dmm, and we put it in the appropriate folder as usual, _maps/RandomRuins/SpaceRuins/foobar.dmm. We now need to create three more things.

+
    +
  • code/modules/ruins/spaceruin_code/foobar.dm - A code file like would be used to store any code specific to this map.
  • +
  • strings/modular_maps/foobar.toml- A configuration file, this will be looked at in more detail later.
  • +
  • _maps/RandomRuins/SpaceRuins/foobar/ - A new subfolder, which is where we will put the .dmm files for the modules.
  • +
+

In code/modules/ruins/spaceruin_code/foobar.dm we need to add a small piece of code to define a new modular map root type for our map, which should look like this

+
/obj/modular_map_root/foobar
+	config_file = "strings/modular_maps/foobar.toml"
+
+

This means when we place root objects /obj/modular_map_root in our new map, we use this subtype that points to the correct configuration file.

+

When creating our main map, we place one of these roots in the location we want to generate a module at. Typically this would be placed at a natural landmark, such as a doorway. We then edit the varaibles of the placed root object, and set the key var to some string, let's use key = vault. Make the rest of the map, ensuring that every root you want to use a unique set of modules has a unique key.

+Module Maps +

Now we need to make the modules to be placed on our roots. These will be saved in the folder we created earlier, _maps/RandomRuins/SpaceRuins/foobar/. Modules do not have to be the same size, so long as all modules will fit properly on the root without running into other parts of the map.

+

When making a module, you need to include a connector object /obj/modular_map_connector. When the module is loaded, it will be offset so this connector is placed on top of the root on the main map.

+

We will be making the first variant of our vault module, so we save this as vault_1.dmm, following the format [key]_[number].dmm. Keep doing this until all your modules have been made.

+

If you wish, you can also place another root on a module, if for some reason that module's position is dependent on the current one. IF you do this, make sure you've placed a root with the same key on every variant of the current module (unless you only want it to appear on certain varaints of this one.)

+Configuration +

Now we go back to our configuration file strings/modular_maps/foobar.toml. Say we ended up using three different sets of modules in our map, vault, airlock and bathroom, each of which have two variants. We want our .toml file to look like this

+
directory = "_maps/RandomRuins/SpaceRuins/foobar/"
+
+[rooms.vault]
+modules = ["vault_1.dmm", "vault_2.dmm"]
+
+[rooms.airlock]
+modules = ["airlock_1.dmm", "airlock_2.dmm"]
+
+[rooms.bathroom]
+modules = ["bathroom_1.dmm", "bathroom_2.dmm"]
+
+

Let's break down what is happening here.

+

directory = "_maps/RandomRuins/SpaceRuins/foobar/" points to the folder where our modules are stored.

+

[rooms.vault] identifies the following line as being the modules for a root with key = vault.

+

modules = ["vault_1.dmm", "vault_2.dmm"] specifies which map files within the folder are to be associated with this key.

+

Once this configuration is done, the map should be fully functional. Compile and run, place your map somewhere, and continue doing this until you have satisfied yourself that everything looks how you expected it to. Remember to do everything else you need to do when adding any new ruin, or whatever kind of map you made.

+Common Mistakes +
+

My map has modules that didn't load!

+
+

Check your configuration is correct. Do the filenames given for the problem root match the names of the map files? Is the key specified in the configuration file the same as the one on the root in the map?

+
+

A module is loading in the wrong location!

+
+

Check the positioning of the connector is correct, and that only one is placed on the module.

+
+

My ruin is spawning too close to or overlapping with something!

+
+

Make sure your main map is large enough to fully contain the most expansive variation that can possibly be chosen.

+
+

Parts of my map are overlapping with each other!

+
+

Make sure modules placed adjacent or close to each other have no combination of variants which can overlap with each other, this may take some trial and error in complicated cases.

+
+

My map still isn't working and I don't know what's wrong!

+
+

Ping Thunder12345#9999 in the #coding-general channel of our discord if you need help with any problems.

+ + + diff --git a/code/modules/mapping/preloader.html b/code/modules/mapping/preloader.html new file mode 100644 index 00000000000..3245708313c --- /dev/null +++ b/code/modules/mapping/preloader.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mapping/preloader.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapping/preloader.dm + +

+ + + + +
/datum/map_preloaderPreloader datum
/area/template_noopTemplate noop (no operation) is used to skip a turf or area when the template is loaded this allows for template transparency +ex. if a ship has gaps in it's design, you would use template_noop to fill these in so that when the ship moves z-level, any +tiles these gaps land on will not be deleted and replaced with the ships (empty) tiles
/turf/template_noopSee above explanation
+ + + diff --git a/code/modules/mapping/reader.html b/code/modules/mapping/reader.html new file mode 100644 index 00000000000..b76155ac42b --- /dev/null +++ b/code/modules/mapping/reader.html @@ -0,0 +1,82 @@ + + + + + + + code/modules/mapping/reader.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mapping/reader.dm + +

+ + + + + +
MAP_DMMDMM SPEC: +DMM is split into two parts. First we have strings of text linked to lists of paths and their modifications (I will call this the cache) +We call these strings "keys" and the things they point to members. Keys have a static length
MAP_TGMTGM SPEC: +TGM is a derevation of DMM, with restrictions placed on it +to make it easier to parse and to reduce merge conflicts/ease their resolution
/proc/load_mapHelper and recommened way to load a map file

Define Details

+

MAP_DMM + + +

+

DMM SPEC: +DMM is split into two parts. First we have strings of text linked to lists of paths and their modifications (I will call this the cache) +We call these strings "keys" and the things they point to members. Keys have a static length

+

The second part is a list of locations matched to a string of keys. (I'll be calling this the grid) +These are used to lookup the cache we built earlier. +We store location lists as grid_sets. the lines represent different things depending on the spec

+

In standard DMM (which you can treat as the base case, since it also covers weird modifications) each line +represents an x file, and there's typically only one grid set per z level. +The meme is you can look at a DMM formatted map and literally see what it should roughly look like +This differs in TGM, and we can pull some performance from this

+

Any restrictions here also apply to TGM

+

/tg/ Restrictions: +Paths have a specified order. First atoms in the order in which they should be loaded, then a single turf, then the area of the cell +DMM technically supports turf stacking, but this is deprecated for all formats

MAP_TGM + + +

+

TGM SPEC: +TGM is a derevation of DMM, with restrictions placed on it +to make it easier to parse and to reduce merge conflicts/ease their resolution

+

Requirements: +Each "statement" in a key's details ends with a new line, and wrapped in (...) +All paths end with either a comma or occasionally a {, then a new line +Excepting the area, who is listed last and ends with a ) to mark the end of the key

+

{} denotes a list of variable edits applied to the path that came before the first { +the final } is followed by a comma, and then a new line +Variable edits have the form \tname = value;\n +Except the last edit, which has no final ;, and just ends in a newline +No extra padding is permitted +Many values are supported. See parse_constant() +Strings must be wrapped in "...", files in '...', and lists in list(...) +Files are kinda susy, and may not actually work. buyer beware +Lists support assoc values as expected +These constants can be further embedded into lists

+

There can be no padding in front of, or behind a path

+

Therefore: +"key" = ( +/path, +/other/path{ +var = list("name" = 'filepath'); +other_var = /path +}, +/turf, +/area)

+ + + diff --git a/code/modules/mapping/verify.html b/code/modules/mapping/verify.html new file mode 100644 index 00000000000..65759b1b1ff --- /dev/null +++ b/code/modules/mapping/verify.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mapping/verify.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mapping/verify.dm + +

+ + +
/datum/map_reportAn error report generated by /datum/parsed_map/proc/check_for_errors.
+ + + diff --git a/code/modules/meteors/meteor_dark_matteor.html b/code/modules/meteors/meteor_dark_matteor.html new file mode 100644 index 00000000000..2d84064ef94 --- /dev/null +++ b/code/modules/meteors/meteor_dark_matteor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/meteors/meteor_dark_matteor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/meteors/meteor_dark_matteor.dm + +

+ + +
/obj/effect/meteor/dark_matteorThe dark matt-eor. Only attracted by emagging 10 satellites and maximizing meteor chances, and it drops a singulo. Otherwise, it's not that bad.
+ + + diff --git a/code/modules/meteors/meteor_spawning.html b/code/modules/meteors/meteor_spawning.html new file mode 100644 index 00000000000..d197572bd06 --- /dev/null +++ b/code/modules/meteors/meteor_spawning.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/meteors/meteor_spawning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/meteors/meteor_spawning.dm + +

+ + + +
/proc/generate_changeling_meteorReceives a mob candidate, transforms them into a changeling, and hurls them at the station inside of a changeling meteor
+ + + diff --git a/code/modules/mining/aux_base.html b/code/modules/mining/aux_base.html new file mode 100644 index 00000000000..1719d936566 --- /dev/null +++ b/code/modules/mining/aux_base.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mining/aux_base.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mining/aux_base.dm + +

+ + +
ZONE_SETMining Base

Define Details

+

ZONE_SET + + +

+

Mining Base

+ + + diff --git a/code/modules/mining/equipment/explorer_gear.html b/code/modules/mining/equipment/explorer_gear.html new file mode 100644 index 00000000000..1f23fbd1d9a --- /dev/null +++ b/code/modules/mining/equipment/explorer_gear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/explorer_gear.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/explorer_gear.dm + +

+ + +
/obj/item/clothing/suit/hooded/explorerExplorer's Suit and Mask
+ + + diff --git a/code/modules/mining/equipment/kheiral_cuffs.html b/code/modules/mining/equipment/kheiral_cuffs.html new file mode 100644 index 00000000000..39061ca071a --- /dev/null +++ b/code/modules/mining/equipment/kheiral_cuffs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/equipment/kheiral_cuffs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/kheiral_cuffs.dm + +

+ + +
/obj/item/kheiral_cuffsKheiral Cuffs +Acts as a GPS beacon & connects to station crew monitors from lavaland
+ + + diff --git a/code/modules/mining/equipment/kinetic_crusher.html b/code/modules/mining/equipment/kinetic_crusher.html new file mode 100644 index 00000000000..9ebd7a02d24 --- /dev/null +++ b/code/modules/mining/equipment/kinetic_crusher.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/kinetic_crusher.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/kinetic_crusher.dm + +

+ + +
/obj/item/kinetic_crusherMining Hammer
+ + + diff --git a/code/modules/mining/equipment/lazarus_injector.html b/code/modules/mining/equipment/lazarus_injector.html new file mode 100644 index 00000000000..50d105230d0 --- /dev/null +++ b/code/modules/mining/equipment/lazarus_injector.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/lazarus_injector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/lazarus_injector.dm + +

+ + +
/obj/item/lazarus_injectorPlayers can revive simplemobs with this.
+ + + diff --git a/code/modules/mining/equipment/mineral_scanner.html b/code/modules/mining/equipment/mineral_scanner.html new file mode 100644 index 00000000000..a39c199c9f7 --- /dev/null +++ b/code/modules/mining/equipment/mineral_scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/mineral_scanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/mineral_scanner.dm + +

+ + +
/obj/item/mining_scannerMining Scanners
+ + + diff --git a/code/modules/mining/equipment/mining_tools.html b/code/modules/mining/equipment/mining_tools.html new file mode 100644 index 00000000000..cde58ff4dcd --- /dev/null +++ b/code/modules/mining/equipment/mining_tools.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/mining_tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/mining_tools.dm + +

+ + +
/obj/item/pickaxePickaxes & Drills & Shovels
+ + + diff --git a/code/modules/mining/equipment/miningradio.html b/code/modules/mining/equipment/miningradio.html new file mode 100644 index 00000000000..2e2efd77151 --- /dev/null +++ b/code/modules/mining/equipment/miningradio.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/miningradio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/miningradio.dm + +

+ + +
/obj/item/radio/weather_monitorPortable mining radio purchasable by miners
+ + + diff --git a/code/modules/mining/equipment/monster_organs/brimdust_sac.html b/code/modules/mining/equipment/monster_organs/brimdust_sac.html new file mode 100644 index 00000000000..07fc674dc40 --- /dev/null +++ b/code/modules/mining/equipment/monster_organs/brimdust_sac.html @@ -0,0 +1,52 @@ + + + + + + + code/modules/mining/equipment/monster_organs/brimdust_sac.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mining/equipment/monster_organs/brimdust_sac.dm + +

+ + + + + + + + + +
BRIMDUST_LIFE_APPLY_COOLDOWNInterval between passively gaining stacks on lavaland if organ is implanted
BRIMDUST_STACKS_ON_LIFENumber of stacks to add over time
BRIMDUST_STACKS_ON_USENumber of stacks to add if you activate the item in hand
/obj/item/organ/internal/monster_core/brimdust_sacGives you three stacks of Brimdust Coating, when you get hit by anything it will make a short ranged explosion. +If this happens on the station it does much less damage, and slows down the bearer. +If implanted, you can shake off a cloud of brimdust to give this buff to people around you.area +It will also automatically grant you one stack every 30 seconds if you are on lavaland.
/obj/effect/particle_effect/fluid/smoke/bad/brimdustSmoke which applies brimdust to you, and is also bad for your lungs
/datum/status_effect/stacking/brimdust_coatingIf you take brute damage with this buff, hurt and push everyone next to you. +If you catch fire and or on the space station, detonate all remaining stacks in a way which hurts you. +Washes off if you get wet.
/datum/status_effect/brimdust_concussionSlowdown applied when you are detonated on the space station
/datum/action/cooldown/monster_core_action/exhale_brimdustAction used by the brimdust sac

Define Details

+

BRIMDUST_LIFE_APPLY_COOLDOWN + + +

+

Interval between passively gaining stacks on lavaland if organ is implanted

BRIMDUST_STACKS_ON_LIFE + + +

+

Number of stacks to add over time

BRIMDUST_STACKS_ON_USE + + +

+

Number of stacks to add if you activate the item in hand

+ + + diff --git a/code/modules/mining/equipment/monster_organs/monster_organ.html b/code/modules/mining/equipment/monster_organs/monster_organ.html new file mode 100644 index 00000000000..21c493187aa --- /dev/null +++ b/code/modules/mining/equipment/monster_organs/monster_organ.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mining/equipment/monster_organs/monster_organ.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/monster_organs/monster_organ.dm + +

+ + + + +
/obj/item/mining_stabilizerStabilising serum prevents monster organs from decaying before you can use them.
/obj/item/organ/internal/monster_coreUseful organs which drop as loot from a mining creature. +Generalised behaviour is that they will decay and become useless unless provided with serum. +These should usually do something both when used in-hand, or when implanted into someone.
/datum/action/cooldown/monster_core_actionBoilerplate to set the name and icon of the cooldown action. +Makes it call 'ui_action_click' when the action is activated.
+ + + diff --git a/code/modules/mining/equipment/monster_organs/regenerative_core.html b/code/modules/mining/equipment/monster_organs/regenerative_core.html new file mode 100644 index 00000000000..225f642553c --- /dev/null +++ b/code/modules/mining/equipment/monster_organs/regenerative_core.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mining/equipment/monster_organs/regenerative_core.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/monster_organs/regenerative_core.dm + +

+ + + + +
/obj/item/organ/internal/monster_core/regenerative_coreOn use in hand, heals you over time and removes injury movement debuffs. Also makes you a bit sad. +On use when implanted, fully heals. Automatically fully heals if you would enter crit.
/obj/item/organ/internal/monster_core/regenerative_core/legionDifferent graphics/desc for the lavaland legion
/datum/action/cooldown/monster_core_action/regenerative_coreAction used by the regenerative core
+ + + diff --git a/code/modules/mining/equipment/monster_organs/rush_gland.html b/code/modules/mining/equipment/monster_organs/rush_gland.html new file mode 100644 index 00000000000..c65364afe30 --- /dev/null +++ b/code/modules/mining/equipment/monster_organs/rush_gland.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/mining/equipment/monster_organs/rush_gland.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mining/equipment/monster_organs/rush_gland.dm + +

+ + + + + + +
HEALTH_DANGER_ZONEHealth under which implanted gland will automatically activate
/obj/item/organ/internal/monster_core/rush_glandOn use in hand, makes you run really fast for 5 seconds and ignore injury movement decrease. +On use when implanted, run for longer and ignore all negative movement. Automatically triggers if health is low (to escape).
/datum/status_effect/lobster_rushStatus effect: Makes you run really fast and ignore speed penalties for a short duration. +If you run into a wall indoors you will fall over and lose the buff. +If you run into someone you both fall over.
/datum/status_effect/lobster_rush/extendedYou get a longer buff if you take the time to implant it in yourself
/datum/action/cooldown/monster_core_action/adrenal_boostAction used by the rush gland

Define Details

+

HEALTH_DANGER_ZONE + + +

+

Health under which implanted gland will automatically activate

+ + + diff --git a/code/modules/mining/equipment/resonator.html b/code/modules/mining/equipment/resonator.html new file mode 100644 index 00000000000..7828688d7bd --- /dev/null +++ b/code/modules/mining/equipment/resonator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/resonator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/resonator.dm + +

+ + +
/obj/item/resonatorResonator
+ + + diff --git a/code/modules/mining/equipment/survival_pod.html b/code/modules/mining/equipment/survival_pod.html new file mode 100644 index 00000000000..40f11480ef8 --- /dev/null +++ b/code/modules/mining/equipment/survival_pod.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/survival_pod.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/survival_pod.dm + +

+ + +
/area/misc/survivalpodSurvival Pod
+ + + diff --git a/code/modules/mining/equipment/wormhole_jaunter.html b/code/modules/mining/equipment/wormhole_jaunter.html new file mode 100644 index 00000000000..3d2208b4159 --- /dev/null +++ b/code/modules/mining/equipment/wormhole_jaunter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/equipment/wormhole_jaunter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/equipment/wormhole_jaunter.dm + +

+ + +
/obj/item/wormhole_jaunterJaunter
+ + + diff --git a/code/modules/mining/laborcamp/laborstacker.html b/code/modules/mining/laborcamp/laborstacker.html new file mode 100644 index 00000000000..ed1d7b2a4e7 --- /dev/null +++ b/code/modules/mining/laborcamp/laborstacker.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/laborcamp/laborstacker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/laborcamp/laborstacker.dm + +

+ + + + +
/obj/machinery/mineral/labor_claim_consolePrisoners' Console
/obj/machinery/mineral/stacking_machine/laborstackerPrisoner Collection Unit
/obj/machinery/mineral/labor_points_checkerPoint Lookup Console
+ + + diff --git a/code/modules/mining/lavaland/ash_flora.html b/code/modules/mining/lavaland/ash_flora.html new file mode 100644 index 00000000000..60cf19bce27 --- /dev/null +++ b/code/modules/mining/lavaland/ash_flora.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/lavaland/ash_flora.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/lavaland/ash_flora.dm + +

+ + + + +
/obj/structure/flora/ash/chillySnow flora to exist on icebox.
/obj/item/seeds/star_cactusStar Cactus seeds, mutation of lavaland cactus.
/obj/item/food/grown/star_cactusStar Cactus Plants.
+ + + diff --git a/code/modules/mining/machine_processing.html b/code/modules/mining/machine_processing.html new file mode 100644 index 00000000000..c1b894bb61d --- /dev/null +++ b/code/modules/mining/machine_processing.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mining/machine_processing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mining/machine_processing.dm + +

+ + + + +
SMELT_AMOUNTSmelt amount per second
/obj/machinery/mineralMineral processing unit console
/obj/machinery/mineral/processing_unitMineral processing unit

Define Details

+

SMELT_AMOUNT + + +

+

Smelt amount per second

+ + + diff --git a/code/modules/mining/machine_redemption.html b/code/modules/mining/machine_redemption.html new file mode 100644 index 00000000000..93b608dfff3 --- /dev/null +++ b/code/modules/mining/machine_redemption.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/machine_redemption.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/machine_redemption.dm + +

+ + +
/obj/machinery/mineral/ore_redemptionOre Redemption Unit
+ + + diff --git a/code/modules/mining/machine_stacking.html b/code/modules/mining/machine_stacking.html new file mode 100644 index 00000000000..32ed62345a2 --- /dev/null +++ b/code/modules/mining/machine_stacking.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mining/machine_stacking.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/machine_stacking.dm + +

+ + + +
/obj/machinery/mineral/stacking_unit_consoleMineral stacking unit console
/obj/machinery/mineral/stacking_machineMineral stacking unit
+ + + diff --git a/code/modules/mining/machine_unloading.html b/code/modules/mining/machine_unloading.html new file mode 100644 index 00000000000..2a9f01162da --- /dev/null +++ b/code/modules/mining/machine_unloading.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/machine_unloading.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/machine_unloading.dm + +

+ + +
/obj/machinery/mineral/unloading_machineUnloading unit
+ + + diff --git a/code/modules/mining/mine_items.html b/code/modules/mining/mine_items.html new file mode 100644 index 00000000000..8081402f33c --- /dev/null +++ b/code/modules/mining/mine_items.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mining/mine_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/mine_items.dm + +

+ + + + + +
/obj/effect/light_emitterLight
/obj/structure/closet/wardrobe/minerMiner Lockers
/obj/machinery/computer/shuttle/miningShuttle Computer
/obj/structure/closet/crate/miningcarMining car (Crate like thing, not the rail car)
+ + + diff --git a/code/modules/mining/money_bag.html b/code/modules/mining/money_bag.html new file mode 100644 index 00000000000..55f17f3de4c --- /dev/null +++ b/code/modules/mining/money_bag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/money_bag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/money_bag.dm + +

+ + +
/obj/item/storage/bag/moneyMoney bag
+ + + diff --git a/code/modules/mining/ores_coins.html b/code/modules/mining/ores_coins.html new file mode 100644 index 00000000000..7ab6699ba24 --- /dev/null +++ b/code/modules/mining/ores_coins.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mining/ores_coins.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/ores_coins.dm + +

+ + + + +
/obj/item/stack/oreMineral ores
/obj/item/coinCoin
/obj/item/coin/silver/doubloonCoins used in the dutchmen money bag.
+ + + diff --git a/code/modules/mining/satchel_ore_boxdm.html b/code/modules/mining/satchel_ore_boxdm.html new file mode 100644 index 00000000000..20d0668ea24 --- /dev/null +++ b/code/modules/mining/satchel_ore_boxdm.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/satchel_ore_boxdm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/satchel_ore_boxdm.dm + +

+ + +
/obj/structure/ore_boxOre box
+ + + diff --git a/code/modules/mining/voucher_sets.html b/code/modules/mining/voucher_sets.html new file mode 100644 index 00000000000..9b4a216b4ba --- /dev/null +++ b/code/modules/mining/voucher_sets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mining/voucher_sets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mining/voucher_sets.dm + +

+ + +
/datum/voucher_setA set consisting of a various equipment that can be then used as a reward for redeeming a mining voucher.
+ + + diff --git a/code/modules/mob/dead/new_player/new_player.html b/code/modules/mob/dead/new_player/new_player.html new file mode 100644 index 00000000000..ea9d8cdb192 --- /dev/null +++ b/code/modules/mob/dead/new_player/new_player.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/dead/new_player/new_player.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/dead/new_player/new_player.dm + +

+ + +
RESET_HUD_INTERVALCooldown for the Reset Lobby Menu HUD verb

Define Details

+

RESET_HUD_INTERVAL + + +

+

Cooldown for the Reset Lobby Menu HUD verb

+ + + diff --git a/code/modules/mob/emote.html b/code/modules/mob/emote.html new file mode 100644 index 00000000000..dc695760975 --- /dev/null +++ b/code/modules/mob/emote.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/mob/emote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/emote.dm + +

+ + + + + + + +
BEYBLADE_PUKE_THRESHOLDHow confused a carbon must be before they will vomit
BEYBLADE_PUKE_NUTRIENT_LOSSHow must nutrition is lost when a carbon pukes
BEYBLADE_DIZZINESS_PROBABILITYHow often a carbon becomes penalized
BEYBLADE_DIZZINESS_DURATIONHow long the screenshake lasts
BEYBLADE_CONFUSION_INCREMENTHow much confusion a carbon gets every time they are penalized
BEYBLADE_CONFUSION_LIMITA max for how much confusion a carbon will be for beyblading

Define Details

+

BEYBLADE_CONFUSION_INCREMENT + + +

+

How much confusion a carbon gets every time they are penalized

BEYBLADE_CONFUSION_LIMIT + + +

+

A max for how much confusion a carbon will be for beyblading

BEYBLADE_DIZZINESS_DURATION + + +

+

How long the screenshake lasts

BEYBLADE_DIZZINESS_PROBABILITY + + +

+

How often a carbon becomes penalized

BEYBLADE_PUKE_NUTRIENT_LOSS + + +

+

How must nutrition is lost when a carbon pukes

BEYBLADE_PUKE_THRESHOLD + + +

+

How confused a carbon must be before they will vomit

+ + + diff --git a/code/modules/mob/living/basic/basic.html b/code/modules/mob/living/basic/basic.html new file mode 100644 index 00000000000..e2090c87e3b --- /dev/null +++ b/code/modules/mob/living/basic/basic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/basic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/basic.dm + +

+ + +
/mob/living/basicSimple animals 2.0, This time, let's really try to keep it simple. This basetype should purely be used as a base-level for implementing simplified behaviours for things such as damage and attacks. Everything else should be in components or AI behaviours.
+ + + diff --git a/code/modules/mob/living/basic/blob_minions/blob_ai.html b/code/modules/mob/living/basic/blob_minions/blob_ai.html new file mode 100644 index 00000000000..b013dc3216f --- /dev/null +++ b/code/modules/mob/living/basic/blob_minions/blob_ai.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/blob_minions/blob_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/blob_minions/blob_ai.dm + +

+ + + + +
/datum/ai_controller/basic_controller/blobbernautExtremely simple AI, this isn't a very smart boy +Only notable quirk is that it uses JPS movement, simple avoidance would fail to realise it can path through blobs
/datum/ai_controller/basic_controller/blob_zombieMove to a point designated by the overmind, otherwise just slap people nearby
/datum/ai_controller/basic_controller/blob_sporeAs blob zombie but will prioritise attacking corpses to zombify them
+ + + diff --git a/code/modules/mob/living/basic/blob_minions/blob_mob.html b/code/modules/mob/living/basic/blob_minions/blob_mob.html new file mode 100644 index 00000000000..245875923c6 --- /dev/null +++ b/code/modules/mob/living/basic/blob_minions/blob_mob.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/blob_minions/blob_mob.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/blob_minions/blob_mob.dm + +

+ + +
/mob/living/basic/blob_minionRoot of shared behaviour for mobs spawned by blobs, is abstract and should not be spawned
+ + + diff --git a/code/modules/mob/living/basic/blob_minions/blob_spore.html b/code/modules/mob/living/basic/blob_minions/blob_spore.html new file mode 100644 index 00000000000..08683b238e4 --- /dev/null +++ b/code/modules/mob/living/basic/blob_minions/blob_spore.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/blob_minions/blob_spore.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/blob_minions/blob_spore.dm + +

+ + + + +
/mob/living/basic/blob_minion/sporeA floating fungus which turns people into zombies and explodes into reagent clouds upon death.
/mob/living/basic/blob_minion/spore/minionVariant of the blob spore which is actually spawned by blob factories
/mob/living/basic/blob_minion/spore/minion/weakWeakened spore spawned by distributed neurons, can't zombify people and makes a teeny explosion
+ + + diff --git a/code/modules/mob/living/basic/blob_minions/blob_zombie.html b/code/modules/mob/living/basic/blob_minions/blob_zombie.html new file mode 100644 index 00000000000..c557cd568ff --- /dev/null +++ b/code/modules/mob/living/basic/blob_minions/blob_zombie.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/blob_minions/blob_zombie.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/blob_minions/blob_zombie.dm + +

+ + + +
/mob/living/basic/blob_minion/zombieA shambling mob made out of a crew member
/mob/living/basic/blob_minion/zombie/controlledBlob-created zombies will ping for player control when they make a zombie
+ + + diff --git a/code/modules/mob/living/basic/blob_minions/blobbernaut.html b/code/modules/mob/living/basic/blob_minions/blobbernaut.html new file mode 100644 index 00000000000..2047bbd0d14 --- /dev/null +++ b/code/modules/mob/living/basic/blob_minions/blobbernaut.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/blob_minions/blobbernaut.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/blob_minions/blobbernaut.dm + +

+ + + +
/mob/living/basic/blob_minion/blobbernautPlayer-piloted brute mob. Mostly just a "move and click" kind of guy. +Has a variant which takes damage when away from blob tiles
/mob/living/basic/blob_minion/blobbernaut/minionThis variant is the one actually spawned by blob factories, takes damage when away from blob tiles
+ + + diff --git a/code/modules/mob/living/basic/bots/bot_ai.html b/code/modules/mob/living/basic/bots/bot_ai.html new file mode 100644 index 00000000000..187bd4631a6 --- /dev/null +++ b/code/modules/mob/living/basic/bots/bot_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/bots/bot_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/bots/bot_ai.dm + +

+ + +
/datum/ai_planning_subtree/manage_unreachable_listsubtree to manage our list of unreachables, we reset it every 15 seconds
+ + + diff --git a/code/modules/mob/living/basic/clown/clown.html b/code/modules/mob/living/basic/clown/clown.html new file mode 100644 index 00000000000..91960e47384 --- /dev/null +++ b/code/modules/mob/living/basic/clown/clown.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/clown/clown.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/clown/clown.dm + +

+ + + + +
/datum/action/cooldown/regurgitateThis ability will let you fire one random item from your pouch,
/datum/action/cooldown/rustledrops peels around the mob when activated
/datum/action/cooldown/exquisite_bunchspawns a plumb bunch of bananas imbued with mystical power.
+ + + diff --git a/code/modules/mob/living/basic/cult/constructs/_construct.html b/code/modules/mob/living/basic/cult/constructs/_construct.html new file mode 100644 index 00000000000..64cb4f1f652 --- /dev/null +++ b/code/modules/mob/living/basic/cult/constructs/_construct.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/cult/constructs/_construct.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/cult/constructs/_construct.dm + +

+ + +
/obj/item/ectoplasm/constructConstruct ectoplasm. Largely a placeholder, since the death drop element needs a unique list.
+ + + diff --git a/code/modules/mob/living/basic/cult/constructs/artificer.html b/code/modules/mob/living/basic/cult/constructs/artificer.html new file mode 100644 index 00000000000..65ecc2dd1b5 --- /dev/null +++ b/code/modules/mob/living/basic/cult/constructs/artificer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/cult/constructs/artificer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/cult/constructs/artificer.dm + +

+ + +
/mob/living/basic/construct/artificer/hostileHostile NPC version. Heals nearby constructs and cult structures, avoids targets that aren't extremely hurt.
+ + + diff --git a/code/modules/mob/living/basic/cult/constructs/construct_ai.html b/code/modules/mob/living/basic/cult/constructs/construct_ai.html new file mode 100644 index 00000000000..cb88af1b234 --- /dev/null +++ b/code/modules/mob/living/basic/cult/constructs/construct_ai.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/cult/constructs/construct_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/cult/constructs/construct_ai.dm + +

+ + + + + + +
/datum/ai_controller/basic_controller/artificerArtificers
/datum/ai_controller/basic_controller/juggernautJuggernauts
/datum/ai_controller/basic_controller/proteonProteons
/datum/ai_controller/basic_controller/wraithWraiths
/datum/targeting_strategy/basic/same_faction/constructTargeting strategy that will only allow mobs that constructs can heal.
+ + + diff --git a/code/modules/mob/living/basic/cult/constructs/juggernaut.html b/code/modules/mob/living/basic/cult/constructs/juggernaut.html new file mode 100644 index 00000000000..894f807fea4 --- /dev/null +++ b/code/modules/mob/living/basic/cult/constructs/juggernaut.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/cult/constructs/juggernaut.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/cult/constructs/juggernaut.dm + +

+ + +
/mob/living/basic/construct/juggernaut/hostileHostile NPC version. Pretty dumb, just attacks whoever is near.
+ + + diff --git a/code/modules/mob/living/basic/cult/constructs/proteon.html b/code/modules/mob/living/basic/cult/constructs/proteon.html new file mode 100644 index 00000000000..a210181508f --- /dev/null +++ b/code/modules/mob/living/basic/cult/constructs/proteon.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/cult/constructs/proteon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/cult/constructs/proteon.dm + +

+ + + +
/mob/living/basic/construct/proteonProteon - a very weak construct that only appears in NPC form in various ruins.
/mob/living/basic/construct/proteon/hostileHostile NPC version
+ + + diff --git a/code/modules/mob/living/basic/cult/constructs/wraith.html b/code/modules/mob/living/basic/cult/constructs/wraith.html new file mode 100644 index 00000000000..ada2bbc58b8 --- /dev/null +++ b/code/modules/mob/living/basic/cult/constructs/wraith.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/cult/constructs/wraith.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/cult/constructs/wraith.dm + +

+ + +
/mob/living/basic/construct/wraith/hostileHostile NPC version. Attempts to kill the lowest-health mob it can see.
+ + + diff --git a/code/modules/mob/living/basic/drone/_drone.html b/code/modules/mob/living/basic/drone/_drone.html new file mode 100644 index 00000000000..358c66bf1a9 --- /dev/null +++ b/code/modules/mob/living/basic/drone/_drone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/drone/_drone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/drone/_drone.dm + +

+ + +
/mob/living/basic/droneMaintenance Drone
+ + + diff --git a/code/modules/mob/living/basic/drone/drone_say.html b/code/modules/mob/living/basic/drone/drone_say.html new file mode 100644 index 00000000000..1485afea8a8 --- /dev/null +++ b/code/modules/mob/living/basic/drone/drone_say.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/drone/drone_say.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/drone/drone_say.dm + +

+ + + +
/proc/_alert_dronesBroadcast a message to all drones in a faction
+ + + diff --git a/code/modules/mob/living/basic/drone/drones_as_items.html b/code/modules/mob/living/basic/drone/drones_as_items.html new file mode 100644 index 00000000000..b3d3e84bf1c --- /dev/null +++ b/code/modules/mob/living/basic/drone/drones_as_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/drone/drones_as_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/drone/drones_as_items.dm + +

+ + +
/obj/effect/mob_spawn/ghost_role/drone
+ + + diff --git a/code/modules/mob/living/basic/drone/extra_drone_types.html b/code/modules/mob/living/basic/drone/extra_drone_types.html new file mode 100644 index 00000000000..f17829e1e8d --- /dev/null +++ b/code/modules/mob/living/basic/drone/extra_drone_types.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mob/living/basic/drone/extra_drone_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/drone/extra_drone_types.dm + +

+ + + + + + + +
/mob/living/basic/drone/syndroneA Syndicate drone, tasked to cause chaos on the station. +Has a lot more health and its own uplink with 10 TC.
/mob/living/basic/drone/syndrone/badassA version of the syndrone that gets a nuclear uplink, a firearms implant, and 30 TC.
/mob/living/basic/drone/snowflakeA drone that spawns with a chameleon hat for fashion purposes.
/mob/living/basic/drone/polymorphedA free drone that people can be turned into via wabbajack.
/mob/living/basic/drone/classic"Classic" drones, which are not shy and get a duffelbag of tools instead of built-in tools.
/mob/living/basic/drone/derelictDerelict drones, a ghost role tasked with repairing KS13. Get gibbed if they leave.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/bee/_bee.html b/code/modules/mob/living/basic/farm_animals/bee/_bee.html new file mode 100644 index 00000000000..dd1f5b4e538 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/bee/_bee.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/bee/_bee.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/farm_animals/bee/_bee.dm + +

+ + + + + + + +
BEE_TRAY_RECENT_VISITHow long in deciseconds until a tray can be visited by a bee again
BEE_DEFAULT_COLOURthe colour we make the stripes of the bee if our reagent has no colour (or we have no reagent)
BEE_POLLINATE_YIELD_CHANCEchance to increase yield of plant
BEE_POLLINATE_PEST_CHANCEchance to decrease pest of plant
BEE_POLLINATE_POTENCY_CHANCEchance to increase potancy of plant
BEE_FOODGROUPSthe bee food contents

Define Details

+

BEE_DEFAULT_COLOUR + + +

+

the colour we make the stripes of the bee if our reagent has no colour (or we have no reagent)

BEE_FOODGROUPS + + +

+

the bee food contents

BEE_POLLINATE_PEST_CHANCE + + +

+

chance to decrease pest of plant

BEE_POLLINATE_POTENCY_CHANCE + + +

+

chance to increase potancy of plant

BEE_POLLINATE_YIELD_CHANCE + + +

+

chance to increase yield of plant

BEE_TRAY_RECENT_VISIT + + +

+

How long in deciseconds until a tray can be visited by a bee again

+ + + diff --git a/code/modules/mob/living/basic/farm_animals/bee/bee_ai_behavior.html b/code/modules/mob/living/basic/farm_animals/bee/bee_ai_behavior.html new file mode 100644 index 00000000000..8baaa6c7e47 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/bee/bee_ai_behavior.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/bee/bee_ai_behavior.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/farm_animals/bee/bee_ai_behavior.dm + +

+ + + + +
AGGRO_DISTANCE_FROM_HIVEif we have a hive, this will be our aggro distance
/datum/pet_command/follow/beepet commands
/datum/pet_command/point_targeting/attack/swirlswirl around the owner in menacing fashion

Define Details

+

AGGRO_DISTANCE_FROM_HIVE + + +

+

if we have a hive, this will be our aggro distance

+ + + diff --git a/code/modules/mob/living/basic/farm_animals/chicken/chick.html b/code/modules/mob/living/basic/farm_animals/chicken/chick.html new file mode 100644 index 00000000000..3e9399eb0f1 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/chicken/chick.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/chicken/chick.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/chicken/chick.dm + +

+ + + +
/mob/living/basic/chick
/mob/living/basic/chick/permanentVariant of chick that just spawns in the holodeck so you can pet it. Doesn't grow up.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/cow/cow_moonicorn.html b/code/modules/mob/living/basic/farm_animals/cow/cow_moonicorn.html new file mode 100644 index 00000000000..f6ffb0f938f --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/cow/cow_moonicorn.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/cow/cow_moonicorn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/cow/cow_moonicorn.dm + +

+ + + + +
/mob/living/basic/cow/moonicornmoonicorn subtype, very hostile unless there's some food to be eatin'
/datum/ai_controller/basic_controller/cow/moonicornstop killing my FRIENDS
/datum/targeting_strategy/basic/allow_items/moonicornmoonicorns will not attack people holding something that could tame them.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/cow/cow_wisdom.html b/code/modules/mob/living/basic/farm_animals/cow/cow_wisdom.html new file mode 100644 index 00000000000..8bc27256d85 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/cow/cow_wisdom.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/cow/cow_wisdom.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/cow/cow_wisdom.dm + +

+ + +
/mob/living/basic/cow/wisdomWisdom cow, gives XP to a random skill and speaks wisdoms
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/deer.html b/code/modules/mob/living/basic/farm_animals/deer.html new file mode 100644 index 00000000000..23ab6aa2c35 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/deer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/deer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/deer.dm + +

+ + +
/mob/living/basic/deer/iceCold resistent and doesn't need to breathe
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/goat/_goat.html b/code/modules/mob/living/basic/farm_animals/goat/_goat.html new file mode 100644 index 00000000000..8b19eabf74f --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/goat/_goat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/goat/_goat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/goat/_goat.dm + +

+ + +
/mob/living/basic/goatThe Greatest (animal) Of All Time. Cud chewing, shin-kicking, kitchen-dwelling nuisance.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/goat/goat_ai.html b/code/modules/mob/living/basic/farm_animals/goat/goat_ai.html new file mode 100644 index 00000000000..180477684e0 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/goat/goat_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/goat/goat_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/goat/goat_ai.dm + +

+ + +
/datum/ai_controller/basic_controller/goatGoats are normally content to sorta hang around and crunch any plant in sight, but they will go ape on someone who attacks them.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.html b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.html new file mode 100644 index 00000000000..9726f6a6df8 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm + +

+ + + + + + +
GORILLA_HANDS_LAYERWhere do we draw gorilla held overlays?
/mob/living/basic/gorillaLike a bigger monkey +They make a lot of noise and punch limbs off unconscious folks
/datum/movespeed_modifier/gorilla_standingGorillas are slower when carrying something
/mob/living/basic/gorilla/lesserA smaller gorilla summoned via magic
/mob/living/basic/gorilla/cargorillaCargo's wonderful mascot, the tranquil box-carrying ape

Define Details

+

GORILLA_HANDS_LAYER + + +

+

Where do we draw gorilla held overlays?

+ + + diff --git a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_accessories.html b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_accessories.html new file mode 100644 index 00000000000..75ea4fbcbf2 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_accessories.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/gorilla/gorilla_accessories.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/gorilla/gorilla_accessories.dm + +

+ + +
/obj/item/card/id/advanced/cargo_gorillaCargorilla's ID card
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.html b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.html new file mode 100644 index 00000000000..bc2d04fb9f6 --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/gorilla/gorilla_ai.dm + +

+ + +
/datum/ai_controller/basic_controller/gorillaPretty basic, just click people to death. Also hunt and eat bananas.
+ + + diff --git a/code/modules/mob/living/basic/farm_animals/rabbit.html b/code/modules/mob/living/basic/farm_animals/rabbit.html new file mode 100644 index 00000000000..8d723a857dc --- /dev/null +++ b/code/modules/mob/living/basic/farm_animals/rabbit.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/farm_animals/rabbit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/farm_animals/rabbit.dm + +

+ + + + +
/mob/living/basic/rabbit
/mob/living/basic/rabbit/easterThe easter subtype of rabbits, will lay eggs and say Eastery catchphrases.
/mob/living/basic/rabbit/easter/spaceSame deal as the standard easter subtype, but these ones are able to brave the cold of space with their handy gas mask.
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian.html b/code/modules/mob/living/basic/guardian/guardian.html new file mode 100644 index 00000000000..4685dbaac5b --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian.dm + +

+ + +
/mob/living/basic/guardianA mob which acts as a guardian angel to another mob, sharing health but protecting them using special powers. +Usually either obtained in magical form by a wizard, or technological form by a traitor. Sometimes found by miners.
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_creator.html b/code/modules/mob/living/basic/guardian/guardian_creator.html new file mode 100644 index 00000000000..5479ab4d2a9 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_creator.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_creator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_creator.dm + +

+ + + + + + +
/obj/item/guardian_creatorAn item which grants you your very own soul buddy
/obj/item/guardian_creator/wizardGuardian creator available in the wizard spellbook. All but support are available.
/obj/item/guardian_creator/techGuardian creator available in the traitor uplink. All but dextrous are available, you can pick which you want, and changelings cannot use it.
/obj/item/guardian_creator/carpGuardian creator only spawned by admins, which creates a holographic fish. You can have several of them.
/obj/item/guardian_creator/minerGuardian creator available to miners from chests, very limited selection and randomly assigned.
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_fluff.html b/code/modules/mob/living/basic/guardian/guardian_fluff.html new file mode 100644 index 00000000000..58da3071506 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_fluff.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_fluff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_fluff.dm + +

+ + + + + +
/datum/guardian_fluffDefines a theme used by guardian mobs for visuals and some text output +The default is used for ones created by wizards
/datum/guardian_fluff/techUsed by holoparasites in the Traitor uplink
/datum/guardian_fluff/minerUsed by powerminers found in necropolis chests
/datum/guardian_fluff/carpUsed by holocarp spawned by admins
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/assassin.html b/code/modules/mob/living/basic/guardian/guardian_types/assassin.html new file mode 100644 index 00000000000..0e23aa7afa9 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/assassin.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/assassin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/assassin.dm + +

+ + + +
/mob/living/basic/guardian/assassinCan enter stealth mode to become invisible and deal bonus damage on their next attack, an ambush predator.
/datum/status_effect/guardian_stealthStatus effect which makes us sneakier and do bonus damage
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/charger.html b/code/modules/mob/living/basic/guardian/guardian_types/charger.html new file mode 100644 index 00000000000..eacb1885d69 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/charger.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/charger.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/charger.dm + +

+ + + +
/mob/living/basic/guardian/chargerVery fast, has a charging attack, and most importantly can be ridden like a horse.
/datum/action/cooldown/mob_cooldown/charge/basic_charge/guardianGuardian charger's charging attack, it knocks items out of people's hands
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/dextrous.html b/code/modules/mob/living/basic/guardian/guardian_types/dextrous.html new file mode 100644 index 00000000000..d3521f72ca4 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/dextrous.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/dextrous.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/dextrous.dm + +

+ + +
/mob/living/basic/guardian/dextrousDextrous guardians have some of the most powerful abilities of all: hands and pockets
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/explosive.html b/code/modules/mob/living/basic/guardian/guardian_types/explosive.html new file mode 100644 index 00000000000..b95d7ae109a --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/explosive.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/explosive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/explosive.dm + +

+ + + +
/mob/living/basic/guardian/explosiveA durable guardian which can convert objects into hidden explosives.
/datum/action/cooldown/mob_cooldown/explosive_booby_trapAn ability which can turn an object into a bomb
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/gaseous.html b/code/modules/mob/living/basic/guardian/guardian_types/gaseous.html new file mode 100644 index 00000000000..234ee66c50d --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/gaseous.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/gaseous.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/gaseous.dm + +

+ + + +
/mob/living/basic/guardian/gaseousNot particularly resistant, but versatile due to the selection of gases it can generate.
/datum/action/cooldown/mob_cooldown/expel_gasExpel a range of gases
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/gravitokinetic.html b/code/modules/mob/living/basic/guardian/guardian_types/gravitokinetic.html new file mode 100644 index 00000000000..71eac91a328 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/gravitokinetic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/gravitokinetic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/gravitokinetic.dm + +

+ + +
/mob/living/basic/guardian/gravitokineticSomewhat durable guardian who can increase gravity in an area
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/lightning.html b/code/modules/mob/living/basic/guardian/guardian_types/lightning.html new file mode 100644 index 00000000000..5b7f9350310 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/lightning.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/lightning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/lightning.dm + +

+ + + +
/mob/living/basic/guardian/lightningA reasonably durable guardian linked to you by a chain of lightning, zapping people who get between you
/obj/effect/ebeam/chainBeam definition for our lightning chain
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/protector.html b/code/modules/mob/living/basic/guardian/guardian_types/protector.html new file mode 100644 index 00000000000..3ce72e4bb37 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/protector.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/protector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/protector.dm + +

+ + + + +
/mob/living/basic/guardian/protectorVery durable, and reverses the usual leash dynamic. Can slow down to become extremely durable.
/datum/action/cooldown/mob_cooldown/protector_shieldToggle a status effect which makes you slow but defensive
/datum/status_effect/protector_shieldMakes the guardian even more durable, but slower
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/ranged.html b/code/modules/mob/living/basic/guardian/guardian_types/ranged.html new file mode 100644 index 00000000000..792b1182b5c --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/ranged.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/ranged.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/ranged.dm + +

+ + + + + + +
/mob/living/basic/guardian/rangedA ranged guardian can fling shards of glass at people very very quickly. It can also enter a long-range scouting mode.
/datum/status_effect/guardian_scout_modeBecome an incorporeal scout
/datum/action/cooldown/mob_cooldown/guardian_alarm_snarePlace an invisible trap which alerts the guardian when it is crossed
/obj/effect/abstract/surveillance_snareAn invisible marker placed by a ranged guardian, alerts the owner when crossed
/obj/projectile/guardianThe glass shards we throw as a guardian. They have low damage because you can fire them very very quickly.
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/standard.html b/code/modules/mob/living/basic/guardian/guardian_types/standard.html new file mode 100644 index 00000000000..9f2eca2cc51 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/standard.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/standard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/standard.dm + +

+ + + +
/mob/living/basic/guardian/standardPlain, but durable and strong. Can destroy walls.
/datum/action/select_guardian_battlecryAction to change our battlecry
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_types/support.html b/code/modules/mob/living/basic/guardian/guardian_types/support.html new file mode 100644 index 00000000000..3d9c24751f5 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_types/support.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_types/support.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_types/support.dm + +

+ + + + +
/mob/living/basic/guardian/supportQuick-moving mob which can teleport things to a beacon and heal its allies
/datum/action/cooldown/mob_cooldown/guardian_bluespace_beaconPlace a beacon and then listen for clicks to teleport people to it
/obj/structure/guardian_beaconStructure which acts as the landing point for a support guardian's teleportation effects
+ + + diff --git a/code/modules/mob/living/basic/guardian/guardian_verbs.html b/code/modules/mob/living/basic/guardian/guardian_verbs.html new file mode 100644 index 00000000000..6ce33e1d5d6 --- /dev/null +++ b/code/modules/mob/living/basic/guardian/guardian_verbs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/guardian/guardian_verbs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/guardian/guardian_verbs.dm + +

+ + + + +
/datum/action/cooldown/mob_cooldown/guardian_commsSpeak with your guardian(s) at a distance.
/datum/action/cooldown/mob_cooldown/recall_guardianTell your slacking or distracted guardian to come home.
/datum/action/cooldown/mob_cooldown/replace_guardianReplace an annoying griefer you were paired up to with a different but probably no less annoying player.
+ + + diff --git a/code/modules/mob/living/basic/heretic/ash_spirit.html b/code/modules/mob/living/basic/heretic/ash_spirit.html new file mode 100644 index 00000000000..4e2c3b4c9cb --- /dev/null +++ b/code/modules/mob/living/basic/heretic/ash_spirit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/heretic/ash_spirit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/heretic/ash_spirit.dm + +

+ + +
/mob/living/basic/heretic_summon/ash_spiritPlayer-only mob which is fast, can jaunt a short distance, and is dangerous at close range
+ + + diff --git a/code/modules/mob/living/basic/heretic/flesh_stalker.html b/code/modules/mob/living/basic/heretic/flesh_stalker.html new file mode 100644 index 00000000000..7f454af7ebc --- /dev/null +++ b/code/modules/mob/living/basic/heretic/flesh_stalker.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/heretic/flesh_stalker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/heretic/flesh_stalker.dm + +

+ + + +
/mob/living/basic/heretic_summon/stalkerDurable ambush mob with an EMP ability
/datum/ai_controller/basic_controller/stalkerChanges shape and lies in wait when it has no target, uses EMP and attacks once it does
+ + + diff --git a/code/modules/mob/living/basic/heretic/flesh_worm.html b/code/modules/mob/living/basic/heretic/flesh_worm.html new file mode 100644 index 00000000000..2a6f85dd4d0 --- /dev/null +++ b/code/modules/mob/living/basic/heretic/flesh_worm.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mob/living/basic/heretic/flesh_worm.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/heretic/flesh_worm.dm + +

+ + + +
MINIMUM_ARMSY_LENGTHArmsy starts to look a bit funky if he's shorter than this
/mob/living/basic/heretic_summon/armsyThe "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles

Define Details

+

MINIMUM_ARMSY_LENGTH + + +

+

Armsy starts to look a bit funky if he's shorter than this

+ + + diff --git a/code/modules/mob/living/basic/heretic/maid_in_the_mirror.html b/code/modules/mob/living/basic/heretic/maid_in_the_mirror.html new file mode 100644 index 00000000000..762b7867121 --- /dev/null +++ b/code/modules/mob/living/basic/heretic/maid_in_the_mirror.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/heretic/maid_in_the_mirror.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/heretic/maid_in_the_mirror.dm + +

+ + +
/mob/living/basic/heretic_summon/maid_in_the_mirrorScout and assassin who can appear and disappear from glass surfaces. Damaged by being examined.
+ + + diff --git a/code/modules/mob/living/basic/heretic/raw_prophet.html b/code/modules/mob/living/basic/heretic/raw_prophet.html new file mode 100644 index 00000000000..82056cf527c --- /dev/null +++ b/code/modules/mob/living/basic/heretic/raw_prophet.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/basic/heretic/raw_prophet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/heretic/raw_prophet.dm + +

+ + + + + +
/mob/living/basic/heretic_summon/raw_prophetA funny little rolling guy who is great at scouting. +It can see through walls, jaunt, and create a psychic network to report its findings. +It can blind people to make a getaway, but also get stronger if it attacks the same target consecutively.
/mob/living/basic/heretic_summon/raw_prophet/ascendedVariant raw prophet used by eldritch transformation with more base attack power
/mob/living/basic/heretic_summon/raw_prophet/ruinsNPC variant with a less bullshit ability
/datum/ai_controller/basic_controller/raw_prophetWalk and attack people, blind them when we can
+ + + diff --git a/code/modules/mob/living/basic/heretic/rust_walker.html b/code/modules/mob/living/basic/heretic/rust_walker.html new file mode 100644 index 00000000000..ae331089410 --- /dev/null +++ b/code/modules/mob/living/basic/heretic/rust_walker.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/heretic/rust_walker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/heretic/rust_walker.dm + +

+ + + + + +
/mob/living/basic/heretic_summon/rust_walkerPretty simple mob which creates areas of rust and has a rust-creating projectile spell
/datum/ai_controller/basic_controller/rust_walkerConverts unconverted terrain, sprays pocket sand around
/datum/idle_behavior/idle_random_walk/rustMoves a lot if healthy and on rust (to find more tiles to rust) or unhealthy and not on rust (to find healing rust) +Still moving in random directions though we're not really seeking it out
/datum/ai_planning_subtree/use_mob_ability/rust_walkerUse if we're not stood on rust right now
+ + + diff --git a/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon.html b/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon.html new file mode 100644 index 00000000000..d3933b9a6a8 --- /dev/null +++ b/code/modules/mob/living/basic/icemoon/ice_demon/ice_demon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/icemoon/ice_demon/ice_demon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/icemoon/ice_demon/ice_demon.dm + +

+ + +
/mob/living/basic/mining/demon_afterimage/crusherafterimage subtypes summoned by the crusher
+ + + diff --git a/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.html b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.html new file mode 100644 index 00000000000..2ae6f57f560 --- /dev/null +++ b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_abilities.dm + +

+ + + +
/datum/action/cooldown/mob_cooldown/fire_breath/iceBreathe "fire" in a line (it's freezing cold)
/datum/action/cooldown/mob_cooldown/fire_breath/ice/crossBreathe really cold fire in a plus shape, like bomberman
+ + + diff --git a/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_ai.html b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_ai.html new file mode 100644 index 00000000000..42f93ef0f1b --- /dev/null +++ b/code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_ai.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/icemoon/ice_whelp/ice_whelp_ai.dm + +

+ + + +
/datum/ai_planning_subtree/sculpt_statuessubtree to find icy rocks and create sculptures out of them
/datum/ai_planning_subtree/burn_treessubtree to look for trees and burn them with our flamethrower
+ + + diff --git a/code/modules/mob/living/basic/jungle/leaper/leaper_ai.html b/code/modules/mob/living/basic/jungle/leaper/leaper_ai.html new file mode 100644 index 00000000000..037cecb9ddc --- /dev/null +++ b/code/modules/mob/living/basic/jungle/leaper/leaper_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/jungle/leaper/leaper_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/jungle/leaper/leaper_ai.dm + +

+ + +
/datum/ai_controller/basic_controller/leaperso they dont attack the leaper or the wizard master
+ + + diff --git a/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid_ai.html b/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid_ai.html new file mode 100644 index 00000000000..ff7bec5af11 --- /dev/null +++ b/code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid_ai.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/jungle/mega_arachnid/mega_arachnid_ai.dm + +

+ + + + +
/datum/ai_planning_subtree/find_and_hunt_target/destroy_surveillancedestroy surveillance objects to boost our stealth
/datum/ai_planning_subtree/flee_target/mega_arachnidspray slippery acid as we flee!
/datum/ai_planning_subtree/basic_melee_attack_subtree/mega_arachnidonly engage in melee combat against cuffed targets, otherwise keep throwing restraints at them
+ + + diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling.html b/code/modules/mob/living/basic/jungle/seedling/seedling.html new file mode 100644 index 00000000000..5521e0239cf --- /dev/null +++ b/code/modules/mob/living/basic/jungle/seedling/seedling.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/jungle/seedling/seedling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/jungle/seedling/seedling.dm + +

+ + +
/mob/living/basic/seedlingA mobile plant with a rapid ranged attack. +It can pick up watering cans and look after plants.
+ + + diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling_ai.html b/code/modules/mob/living/basic/jungle/seedling/seedling_ai.html new file mode 100644 index 00000000000..5958f1d94b9 --- /dev/null +++ b/code/modules/mob/living/basic/jungle/seedling/seedling_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/jungle/seedling/seedling_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/jungle/seedling/seedling_ai.dm + +

+ + +
/datum/pet_command/point_targeting/use_ability/solarbeampet commands
+ + + diff --git a/code/modules/mob/living/basic/jungle/venus_human_trap.html b/code/modules/mob/living/basic/jungle/venus_human_trap.html new file mode 100644 index 00000000000..5705141b5d9 --- /dev/null +++ b/code/modules/mob/living/basic/jungle/venus_human_trap.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/jungle/venus_human_trap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/jungle/venus_human_trap.dm + +

+ + + +
/obj/structure/alien/resin/flower_budKudzu Flower Bud
/mob/living/basic/venus_human_trapVenus Human Trap
+ + + diff --git a/code/modules/mob/living/basic/lavaland/basilisk/basilisk.html b/code/modules/mob/living/basic/lavaland/basilisk/basilisk.html new file mode 100644 index 00000000000..9e2179e4649 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/basilisk/basilisk.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/basilisk/basilisk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/basilisk/basilisk.dm + +

+ + +
/mob/living/basic/mining/basiliskWatchers' ground-dwelling cousins, they shoot at you until they get into melee and absorb laser fire to power up.
+ + + diff --git a/code/modules/mob/living/basic/lavaland/basilisk/basilisk_overheat.html b/code/modules/mob/living/basic/lavaland/basilisk/basilisk_overheat.html new file mode 100644 index 00000000000..7733c31875b --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/basilisk/basilisk_overheat.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/basilisk/basilisk_overheat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/basilisk/basilisk_overheat.dm + +

+ + + +
/datum/status_effect/basilisk_overheatStatus effect gained by basilisks when they touch something hot
/obj/projectile/basilisk_hotProjectile basilisks use when hot
+ + + diff --git a/code/modules/mob/living/basic/lavaland/brimdemon/brimbeam.html b/code/modules/mob/living/basic/lavaland/brimdemon/brimbeam.html new file mode 100644 index 00000000000..bbcd0498762 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/brimdemon/brimbeam.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/brimdemon/brimbeam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/brimdemon/brimbeam.dm + +

+ + + +
/datum/action/cooldown/mob_cooldown/brimbeamFires a bloody beam. Brimdemon Blast!
/obj/effect/brimbeamSegments of the actual beam, these hurt if you stand in them
+ + + diff --git a/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon.html b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon.html new file mode 100644 index 00000000000..203b69a7b44 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/brimdemon/brimdemon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/brimdemon/brimdemon.dm + +

+ + + +
/mob/living/basic/mining/brimdemonLavaland mob which tries to line up with its target and fire a laser
/obj/effect/temp_visual/brim_burstShow a funny animation before doing an explosion
+ + + diff --git a/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_ai.html b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_ai.html new file mode 100644 index 00000000000..992b6148361 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_ai.dm + +

+ + +
/datum/ai_controller/basic_controller/brimdemonSlap someone who is nearby, line up with target, blast with a beam
+ + + diff --git a/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.html b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.html new file mode 100644 index 00000000000..0e169242199 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/brimdemon/brimdemon_loot.dm + +

+ + + + +
/obj/item/crusher_trophy/brimdemon_fangBrimdemon crusher trophy, it... makes a funny sound?
/obj/effect/decal/cleanable/brimdustReagent pool left by dying brimdemon
/obj/item/ore_sensorAshwalker ore sensor crafted from brimdemon ash
+ + + diff --git a/code/modules/mob/living/basic/lavaland/goldgrub/goldgrub_ai.html b/code/modules/mob/living/basic/lavaland/goldgrub/goldgrub_ai.html new file mode 100644 index 00000000000..0e5c40d93f7 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goldgrub/goldgrub_ai.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/lavaland/goldgrub/goldgrub_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/goldgrub/goldgrub_ai.dm + +

+ + + + +
/datum/ai_planning_subtree/find_and_hunt_target/hunt_oresconsume food!
/datum/ai_planning_subtree/find_and_hunt_target/baby_eggfind our child's egg and pull it!
/datum/ai_planning_subtree/dig_away_from_dangeronly dig away if storm is coming or if humans are around
+ + + diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath.html b/code/modules/mob/living/basic/lavaland/goliath/goliath.html new file mode 100644 index 00000000000..889dc1bf0a7 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/lavaland/goliath/goliath.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/goliath/goliath.dm + +

+ + + + + +
/mob/living/basic/mining/goliathSlow moving mob which attempts to immobilise its target
/mob/living/basic/mining/goliath/ancientLegacy Goliath mob with different sprites, largely the same behaviour
/mob/living/basic/mining/goliath/ancient/immortalRare Goliath variant which occasionally replaces the normal mining mob, releases shitloads of tentacles
/obj/item/goliath_saddleUse this to ride a goliath
+ + + diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html b/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html new file mode 100644 index 00000000000..c0ca878020a --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_actions.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/goliath/goliath_actions.dm + +

+ + + + + +
/datum/action/cooldown/mob_cooldown/goliath_tentaclesPlace some grappling tentacles underfoot
/datum/action/cooldown/mob_cooldown/tentacle_burstPlace grappling tentacles around you to grab attackers
/datum/action/cooldown/mob_cooldown/tentacle_graspSummon a line of tentacles towards the target
/obj/effect/temp_visual/effect_trail/burrowed_tentacleAn invisible effect which chases a target, spawning tentacles every so often.
+ + + diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html b/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html new file mode 100644 index 00000000000..010daee7e82 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_ai.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/lavaland/goliath/goliath_ai.dm + +

+ + + + + +
MIN_TIME_TO_TENTACLEWe won't use tentacles unless we have had the same target for this long
/datum/ai_behavior/basic_melee_attack/goliathGo for the tentacles if they're available
/datum/ai_planning_subtree/goliath_find_diggable_turfIf we got nothing better to do, find a turf we can search for tasty roots and such
/datum/ai_behavior/goliath_digIf we got nothing better to do, dig a little hole

Define Details

+

MIN_TIME_TO_TENTACLE + + +

+

We won't use tentacles unless we have had the same target for this long

+ + + diff --git a/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.html b/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.html new file mode 100644 index 00000000000..f31f3a79936 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/goliath/goliath_trophy.dm + +

+ + +
/obj/item/crusher_trophy/goliath_tentacleMining crusher trophy from a goliath. Increases damage as your health decreases.
+ + + diff --git a/code/modules/mob/living/basic/lavaland/goliath/tentacle.html b/code/modules/mob/living/basic/lavaland/goliath/tentacle.html new file mode 100644 index 00000000000..6c74967e3f9 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/goliath/tentacle.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/goliath/tentacle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/goliath/tentacle.dm + +

+ + + +
/obj/effect/goliath_tentacleA tentacle which grabs you if you don't get away from it
/datum/status_effect/incapacitating/stun/goliath_tentacledGoliath tentacle stun with special removal conditions
+ + + diff --git a/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_ai.html b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_ai.html new file mode 100644 index 00000000000..6128202b2ad --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_ai.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_ai.dm + +

+ + + +
/datum/ai_planning_subtree/befriend_ashwalkersfind ashwalkers and add them to the list of masters
/datum/ai_planning_subtree/find_and_hunt_target/food_troughconsume food!
+ + + diff --git a/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_inherit_datum.html b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_inherit_datum.html new file mode 100644 index 00000000000..735a1d1a6f9 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_inherit_datum.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_inherit_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/gutlunchers/gutlunchers_inherit_datum.dm + +

+ + +
/datum/gutlunch_inherited_statsstats we inherit from the parent
+ + + diff --git a/code/modules/mob/living/basic/lavaland/hivelord/hivelord.html b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.html new file mode 100644 index 00000000000..77397274f1f --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/hivelord/hivelord.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/hivelord/hivelord.dm + +

+ + + +
/mob/living/basic/mining/hivelordMob which retreats and spawns annoying sub-mobs to attack you
/mob/living/basic/hivelord_broodAttack worms spawned by the hivelord
+ + + diff --git a/code/modules/mob/living/basic/lavaland/hivelord/hivelord_ai.html b/code/modules/mob/living/basic/lavaland/hivelord/hivelord_ai.html new file mode 100644 index 00000000000..14e0f7e4237 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/hivelord/hivelord_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/hivelord/hivelord_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/hivelord/hivelord_ai.dm + +

+ + +
/datum/ai_controller/basic_controller/hivelordBasically just keep away and shit out worms
+ + + diff --git a/code/modules/mob/living/basic/lavaland/hivelord/spawn_hivelord_brood.html b/code/modules/mob/living/basic/lavaland/hivelord/spawn_hivelord_brood.html new file mode 100644 index 00000000000..12a68b19d7d --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/hivelord/spawn_hivelord_brood.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/hivelord/spawn_hivelord_brood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/hivelord/spawn_hivelord_brood.dm + +

+ + + +
/datum/action/cooldown/mob_cooldown/hivelord_spawnSpawns a little worm nearby
/obj/effect/temp_visual/hivebrood_spawnFast animation to show a worm spawning
+ + + diff --git a/code/modules/mob/living/basic/lavaland/legion/legion.html b/code/modules/mob/living/basic/lavaland/legion/legion.html new file mode 100644 index 00000000000..1867adeae21 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/legion/legion.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/basic/lavaland/legion/legion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/legion/legion.dm + +

+ + + + + + +
/mob/living/basic/mining/legionAvoids players while throwing skulls at them. +Legion skulls heal allies, bite enemies, and infest dying humans to make more legions.
/mob/living/basic/mining/legion/snowLike a Legion but it's an adorable snowman
/mob/living/basic/mining/legion/snow/spawner_madeAs Snow Legion but spawns corpses which don't have any exciting loot
/mob/living/basic/mining/legion/dwarfLike a Legion but shorter and faster
/mob/living/basic/mining/legion/largeLike a Legion but larger and spawns regular Legions, not currently used anywhere and very soulful
+ + + diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_ai.html b/code/modules/mob/living/basic/lavaland/legion/legion_ai.html new file mode 100644 index 00000000000..5aa461f3c92 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/legion/legion_ai.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/lavaland/legion/legion_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/legion/legion_ai.dm + +

+ + + + + + +
/datum/ai_controller/basic_controller/legionKeep away and launch skulls at every opportunity, prioritising injured allies
/datum/ai_controller/basic_controller/legion_broodChase and attack whatever we are targeting, if it's friendly we will heal them
/datum/targeting_strategy/basic/legionTarget nearby friendlies if they are hurt (and are not themselves Legions)
/datum/ai_planning_subtree/flee_target/legionDon't run away from friendlies
/datum/ai_planning_subtree/random_speech/legionMake spooky sounds, if we have a corpse inside then impersonate them
+ + + diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_brood.html b/code/modules/mob/living/basic/lavaland/legion/legion_brood.html new file mode 100644 index 00000000000..f475e55cc1f --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/legion/legion_brood.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/lavaland/legion/legion_brood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/legion/legion_brood.dm + +

+ + + +
/mob/living/basic/legion_broodA spooky skull which heals lavaland mobs, attacks miners, and infests their bodies
/mob/living/basic/legion_brood/snowLike the Legion's summoned skull but funnier (it's snow now)
+ + + diff --git a/code/modules/mob/living/basic/lavaland/legion/legion_tumour.html b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.html new file mode 100644 index 00000000000..df458fdb540 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/legion/legion_tumour.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/legion/legion_tumour.dm + +

+ + +
/obj/item/organ/internal/legion_tumourLeft behind when a legion infects you, for medical enrichment
+ + + diff --git a/code/modules/mob/living/basic/lavaland/legion/spawn_legions.html b/code/modules/mob/living/basic/lavaland/legion/spawn_legions.html new file mode 100644 index 00000000000..f1a0820eea9 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/legion/spawn_legions.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm + +

+ + + + + +
/datum/action/cooldown/mob_cooldown/skull_launcherSpawns a little worm nearby
/obj/effect/temp_visual/legion_skull_departAnimation for launching a skull
/obj/effect/temp_visual/legion_skull_landAnimation for landing a skull
/obj/effect/temp_visual/legion_brood_indicatorA skull is going to be here! Oh no!
+ + + diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.html b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.html new file mode 100644 index 00000000000..46002d60eb1 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm + +

+ + + + +
/mob/living/basic/mining/lobstrosityCowardly mob with a charging attack
/mob/living/basic/mining/lobstrosity/lavaLavaland lobster variant, it basically just looks different
/datum/action/cooldown/mob_cooldown/charge/basic_charge/lobsterCharge a long way, knock down for longer, and perform an instant melee attack
+ + + diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.html b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.html new file mode 100644 index 00000000000..4ba61832720 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_ai.dm + +

+ + + + + + + + +
/datum/ai_planning_subtree/targeted_mob_ability/lobsterDon't use charge ability on an adjacent target, and make sure you're visible before you start
/datum/ai_planning_subtree/find_fingersLook for loose arms lying around
/datum/ai_planning_subtree/hoard_fingersIf you see an arm, grab it and run
/datum/ai_behavior/grab_fingersIf our target is an arm then move over and drag it
FLEE_TO_RANGEHow far we'll try to go before eating an arm
MAX_LOBSTROSITY_PATIENCEHow many times we'll attempt to move before giving up
/datum/ai_behavior/hoard_fingersIf we are dragging an arm then run away until we are out of range and feast

Define Details

+

FLEE_TO_RANGE + + +

+

How far we'll try to go before eating an arm

MAX_LOBSTROSITY_PATIENCE + + +

+

How many times we'll attempt to move before giving up

+ + + diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_trophy.html b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_trophy.html new file mode 100644 index 00000000000..0b513c449b7 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_trophy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_trophy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity_trophy.dm + +

+ + +
/obj/item/crusher_trophy/lobster_clawLobstrosity crusher trophy. Staggers targets, increasing their click cooldown.
+ + + diff --git a/code/modules/mob/living/basic/lavaland/mining.html b/code/modules/mob/living/basic/lavaland/mining.html new file mode 100644 index 00000000000..2716f6060c4 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/mining.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/mining.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/mining.dm + +

+ + +
/mob/living/basic/miningprototype for mining mobs
+ + + diff --git a/code/modules/mob/living/basic/lavaland/mook/mook_ai.html b/code/modules/mob/living/basic/lavaland/mook/mook_ai.html new file mode 100644 index 00000000000..e17a9745cc8 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/mook/mook_ai.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/basic/lavaland/mook/mook_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/mook/mook_ai.dm + +

+ + + + + + + + + + + + +
/datum/ai_planning_subtree/find_and_hunt_target/hunt_ores/mookhunt ores that we will haul off back to the village
/datum/ai_planning_subtree/find_and_hunt_target/material_standdeposit ores into the stand!
/datum/ai_planning_subtree/look_for_villagelook for our village
/datum/ai_planning_subtree/wander_away_from_villageexplore the lands away from the village to look for ore
/datum/ai_behavior/wanderif we have ores to deposit or a storm is approaching, dont wander away
/datum/ai_controller/basic_controller/mook/bardbard mook plays nice music for the village
/datum/ai_planning_subtree/play_music_for_visitorfind an audience to follow and play music for!
/datum/ai_controller/basic_controller/mook/supporthealer mooks guard the village from intruders and heal the miner mooks when they come home
/datum/ai_planning_subtree/find_and_hunt_target/injured_mooksfind injured miner mooks after they come home from a long day of work
/datum/ai_controller/basic_controller/mook/tribal_chiefthe chief would rather command his mooks to attack people than attack them himself
/datum/ai_planning_subtree/find_and_hunt_target/hunt_ores/tribal_chieffind an ore, only pick it up when a mook brings it close to us
+ + + diff --git a/code/modules/mob/living/basic/lavaland/mook/mook_village.html b/code/modules/mob/living/basic/lavaland/mook/mook_village.html new file mode 100644 index 00000000000..f9821cab09c --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/mook/mook_village.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/lavaland/mook/mook_village.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/mook/mook_village.dm + +

+ + +
/obj/structure/ore_container/material_standunique items that spawn at the mook village
+ + + diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher.html b/code/modules/mob/living/basic/lavaland/watcher/watcher.html new file mode 100644 index 00000000000..7c5e3e5e247 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/lavaland/watcher/watcher.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/watcher/watcher.dm + +

+ + + + +
/mob/living/basic/mining/watcherA floating eyeball which keeps its distance and sometimes make you look away.
/mob/living/basic/mining/watcher/magmawingMore durable, burning projectiles
/mob/living/basic/mining/watcher/icewingLess durable, freezing projectiles
+ + + diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_gaze.html b/code/modules/mob/living/basic/lavaland/watcher/watcher_gaze.html new file mode 100644 index 00000000000..b17d074ca41 --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_gaze.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/lavaland/watcher/watcher_gaze.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/watcher/watcher_gaze.dm + +

+ + + + +
/datum/action/cooldown/mob_cooldown/watcher_gazeDo something nasty to everyone nearby if they're looking at us.
/datum/action/cooldown/mob_cooldown/watcher_gaze/fireMagmawing glare burns you
/datum/action/cooldown/mob_cooldown/watcher_gaze/iceIcewing glare freezes you
+ + + diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.html b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.html new file mode 100644 index 00000000000..eb861d5e56b --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm + +

+ + + + +
/datum/action/cooldown/mob_cooldown/watcher_overwatchAutomatically shoot at a target if they do anything while this is active on them. +Currently not given to any mob, but retained so admins can use it.
/datum/status_effect/overwatchStatus effect which tracks whether our overwatched mob moves or acts
/datum/status_effect/overwatch_immuneBlocks further applications of the ability for a little while
+ + + diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.html b/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.html new file mode 100644 index 00000000000..215bc207abe --- /dev/null +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/lavaland/watcher/watcher_projectiles.dm + +

+ + + + +
/obj/projectile/temp/watcherChilling projectile, hurts and slows you down
/obj/projectile/temp/watcher/magma_wingLava projectile, ignites you
/obj/projectile/temp/watcher/ice_wingFreezing projectile, freezes you
+ + + diff --git a/code/modules/mob/living/basic/minebots/minebot_ai.html b/code/modules/mob/living/basic/minebots/minebot_ai.html new file mode 100644 index 00000000000..05530f145f7 --- /dev/null +++ b/code/modules/mob/living/basic/minebots/minebot_ai.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/minebots/minebot_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/minebots/minebot_ai.dm + +

+ + + + +
/datum/ai_planning_subtree/basic_ranged_attack_subtree/minebotoperational datums is null because we dont use a ranged component, we use a gun in our contents
/datum/ai_planning_subtree/find_and_hunt_target/hunt_ores/minebotstore ores in our body
/datum/pet_command/free/minebotpet commands
+ + + diff --git a/code/modules/mob/living/basic/pets/dog/_dog.html b/code/modules/mob/living/basic/pets/dog/_dog.html new file mode 100644 index 00000000000..053a071b8b0 --- /dev/null +++ b/code/modules/mob/living/basic/pets/dog/_dog.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/pets/dog/_dog.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/dog/_dog.dm + +

+ + +
/obj/item/dog_boneA dog bone fully heals a dog, and befriends it if it's not your friend.
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/_parrot.html b/code/modules/mob/living/basic/pets/parrot/_parrot.html new file mode 100644 index 00000000000..01c4999c4e1 --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/_parrot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/_parrot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/parrot/_parrot.dm + +

+ + +
/mob/living/basic/parrotParrots! Klepto bastards that imitate your speech and hoard your shit.
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_ai/ghost_parrot_controller.html b/code/modules/mob/living/basic/pets/parrot/parrot_ai/ghost_parrot_controller.html new file mode 100644 index 00000000000..512e34c884d --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/parrot_ai/ghost_parrot_controller.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/parrot_ai/ghost_parrot_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/parrot/parrot_ai/ghost_parrot_controller.dm + +

+ + + +
/datum/ai_controller/basic_controller/parrot/ghostUsed for ghost poly.
/datum/ai_planning_subtree/possess_humanssubtree to possess humans
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_hoarding.html b/code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_hoarding.html new file mode 100644 index 00000000000..afb7dad76cb --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_hoarding.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_hoarding.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_hoarding.dm + +

+ + +
/datum/ai_planning_subtree/hoard_itemssubtree to steal items
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_perching.html b/code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_perching.html new file mode 100644 index 00000000000..cef907229af --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_perching.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_perching.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/parrot/parrot_ai/parrot_perching.dm + +

+ + + +
/datum/ai_planning_subtree/perch_on_targetsubtree to perch on targets
/datum/ai_behavior/perch_on_targetParrot behavior that allows them to perch on a target.
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_ai/parroting_action.html b/code/modules/mob/living/basic/pets/parrot/parrot_ai/parroting_action.html new file mode 100644 index 00000000000..2d2840104c5 --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/parrot_ai/parroting_action.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/parrot_ai/parroting_action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/parrot/parrot_ai/parroting_action.dm + +

+ + +
/datum/ai_planning_subtree/parrot_as_in_repeatWhen a parrot... parrots...
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/parrot_subtypes.html b/code/modules/mob/living/basic/pets/parrot/parrot_subtypes.html new file mode 100644 index 00000000000..72496f92d72 --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/parrot_subtypes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/parrot_subtypes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/parrot/parrot_subtypes.dm + +

+ + +
/mob/living/basic/parrot/headsettedParrot that will just randomly spawn with a headset. Nothing too special beyond that.
+ + + diff --git a/code/modules/mob/living/basic/pets/parrot/poly.html b/code/modules/mob/living/basic/pets/parrot/poly.html new file mode 100644 index 00000000000..1f536ce5f6e --- /dev/null +++ b/code/modules/mob/living/basic/pets/parrot/poly.html @@ -0,0 +1,58 @@ + + + + + + + code/modules/mob/living/basic/pets/parrot/poly.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/pets/parrot/poly.dm + +

+ + + + + + + + +
POLY_DEFAULTDefault poly, presumably died the last shift and has no special traits.
POLY_LONGEST_SURVIVALPoly has survived a number of rounds equivalent to the longest survival of his being.
POLY_BEATING_DEATHSTREAKPoly has survived a number of rounds equivalent to the longest deathstreak of his being.
POLY_CONSECUTIVE_ROUNDPoly has only just survived a round, and is doing a consecutive one.
POLY_POSSESS_FILTERhaunt filter we apply to who we possess
POLY_POSSESS_GLOWhaunt filter color we apply to who we possess
/mob/living/basic/parrot/polyThe classically famous compadre to the Chief Engineer, Poly.

Define Details

+

POLY_BEATING_DEATHSTREAK + + +

+

Poly has survived a number of rounds equivalent to the longest deathstreak of his being.

POLY_CONSECUTIVE_ROUND + + +

+

Poly has only just survived a round, and is doing a consecutive one.

POLY_DEFAULT + + +

+

Default poly, presumably died the last shift and has no special traits.

POLY_LONGEST_SURVIVAL + + +

+

Poly has survived a number of rounds equivalent to the longest survival of his being.

POLY_POSSESS_FILTER + + +

+

haunt filter we apply to who we possess

POLY_POSSESS_GLOW + + +

+

haunt filter color we apply to who we possess

+ + + diff --git a/code/modules/mob/living/basic/pets/sloth.html b/code/modules/mob/living/basic/pets/sloth.html new file mode 100644 index 00000000000..8958905a722 --- /dev/null +++ b/code/modules/mob/living/basic/pets/sloth.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/pets/sloth.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/pets/sloth.dm + +

+ + +
/datum/ai_controller/basic_controller/slothThey're really passive in game, so they just wanna get away if you start smacking them. No trees in space from them to use for clawing your eyes out, but they will try if desperate.
+ + + diff --git a/code/modules/mob/living/basic/ruin_defender/skeleton.html b/code/modules/mob/living/basic/ruin_defender/skeleton.html new file mode 100644 index 00000000000..7a4c09a2526 --- /dev/null +++ b/code/modules/mob/living/basic/ruin_defender/skeleton.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/ruin_defender/skeleton.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/ruin_defender/skeleton.dm + +

+ + +
/datum/ai_controller/basic_controller/skeletonSkeletons mostly just beat people to death, but they'll also find and drink milk.
+ + + diff --git a/code/modules/mob/living/basic/ruin_defender/wizard/wizard.html b/code/modules/mob/living/basic/ruin_defender/wizard/wizard.html new file mode 100644 index 00000000000..d0de2f3f96b --- /dev/null +++ b/code/modules/mob/living/basic/ruin_defender/wizard/wizard.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/ruin_defender/wizard/wizard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/ruin_defender/wizard/wizard.dm + +

+ + +
/mob/living/basic/wizard/classicUses the colors and loadout of the original wizard simplemob
+ + + diff --git a/code/modules/mob/living/basic/ruin_defender/wizard/wizard_ai.html b/code/modules/mob/living/basic/ruin_defender/wizard/wizard_ai.html new file mode 100644 index 00000000000..b6b962e22b1 --- /dev/null +++ b/code/modules/mob/living/basic/ruin_defender/wizard/wizard_ai.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/ruin_defender/wizard/wizard_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/ruin_defender/wizard/wizard_ai.dm + +

+ + + +
/datum/ai_controller/basic_controller/wizardWizards run away from their targets while flinging spells at them and blinking constantly.
/datum/ai_planning_subtree/targeted_mob_ability/wizard_spellCast a wizard spell. There is a minimum cooldown between spellcasts to prevent overwhelming spam.
+ + + diff --git a/code/modules/mob/living/basic/ruin_defender/wizard/wizard_spells.html b/code/modules/mob/living/basic/ruin_defender/wizard/wizard_spells.html new file mode 100644 index 00000000000..9eb9a981e48 --- /dev/null +++ b/code/modules/mob/living/basic/ruin_defender/wizard/wizard_spells.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/ruin_defender/wizard/wizard_spells.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/ruin_defender/wizard/wizard_spells.dm + +

+ + + +
/datum/action/cooldown/spell/pointed/projectile/fireball/lesserLesser fireball, which is slightly less "instant death" than the normal one
/datum/action/cooldown/spell/teleport/radius_turf/blink/lesserLesser Blink, shorter range than the normal blink spell
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp.html b/code/modules/mob/living/basic/space_fauna/carp/carp.html new file mode 100644 index 00000000000..334530c899b --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/carp.html @@ -0,0 +1,42 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/carp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/space_fauna/carp/carp.dm + +

+ + + + + + + + + +
/mob/living/basic/carp
/mob/living/basic/carp/holographicHolographic carp from the holodeck
/mob/living/basic/carp/petPet carp, abstract carp which just holds some shared properties.
/mob/living/basic/carp/pet/liaLia - Sometimes the pet of the Head of Security. +Has a lot more health than a normal carp because she's meant to be a mildly more threatening pet to have to assassinate than an aging corgi.
RARE_CAYENNE_CHANCEBoosted chance for Cayenne to be silver
/mob/living/basic/carp/pet/cayenneCayenne - Loyal member of the nuclear operatives. +Spawns in the nuke op shuttle, can be made sapient if they want to do that for some reason. +Is very talented and also capable of holding the nuclear disk.
/mob/living/basic/carp/ellaCarp-parasite from carpellosis disease
/mob/living/basic/carp/passiveWild carp that just vibe ya know

Define Details

+

RARE_CAYENNE_CHANCE + + +

+

Boosted chance for Cayenne to be silver

+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.html b/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.html new file mode 100644 index 00000000000..774f53e2fee --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_abilities.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/carp/carp_abilities.dm + +

+ + + + + + + + +
/datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_boltHolder ability simply for "firing a projectile with a cooldown". +Probably won't do anything if assigned via VV unless you also VV in a projectile for it.
/datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/chaosChaos variant picks one from a list
/datum/action/cooldown/mob_cooldown/lesser_carp_riftTeleport a short distance and leave a short-lived portal for people to follow through
/obj/effect/temp_visual/lesser_carp_riftIf you touch the entrance you are teleported to the exit, exit doesn't do anything
/obj/effect/temp_visual/lesser_carp_rift/entranceIf you touch this you are taken to the exit
/obj/effect/temp_visual/lesser_carp_rift/exitDoesn't actually do anything, just a visual marker
/obj/effect/temp_visual/lesser_carp_rift_dissipatingJust an animation
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.html b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.html new file mode 100644 index 00000000000..48178ef7530 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm + +

+ + + + + + +
/datum/ai_planning_subtree/basic_melee_attack_subtree/magicarpAs basic attack tree but interrupt if your health gets low or if your spell is off cooldown
/datum/ai_behavior/basic_melee_attack/magicarpInterrupt your attack chain if: you have a spell, it's not on cooldown, and it has a target
/datum/ai_planning_subtree/find_nearest_magicarp_spell_targetFind a target for the magicarp's spell +This gets weird because different spells want different targeting +but I didn't want a new ai controller for every different spell
/datum/ai_behavior/find_potential_targets/nearest/magicarpThis subtype only exists because if you queue multiple of the same action with different arguments it deletes their stored arguments
/datum/ai_planning_subtree/targeted_mob_ability/magicarpThen use it on that target
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_migration.html b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_migration.html new file mode 100644 index 00000000000..b139f1fde00 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_migration.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/carp_ai_migration.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/space_fauna/carp/carp_ai_migration.dm + +

+ + + + + +
CARP_DESTINATION_SEARCH_RANGEHow close you need to get to the destination in order to consider yourself there
CARP_PORTAL_SEARCH_RANGEIf there's a portal this close to us we'll enter it just on the basis that the carp who made it probably knew where they were going
/datum/ai_planning_subtree/carp_migrationWill try to plan a path between a list of locations for carp to travel through
/datum/ai_behavior/find_next_carp_migration_stepRecords the next turf we want to travel to into the blackboard for other actions

Define Details

+

CARP_DESTINATION_SEARCH_RANGE + + +

+

How close you need to get to the destination in order to consider yourself there

CARP_PORTAL_SEARCH_RANGE + + +

+

If there's a portal this close to us we'll enter it just on the basis that the carp who made it probably knew where they were going

+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.html b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.html new file mode 100644 index 00000000000..72cc7136d31 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/carp/carp_ai_rift_actions.dm + +

+ + + + + + + + + + +
/datum/ai_planning_subtree/make_carp_riftPlan a carp rift action, so basically teleport somewhere if the action is available
/datum/ai_planning_subtree/make_carp_rift/panic_teleportPlan to teleport away from our target so they can't fuck us up
/datum/ai_planning_subtree/make_carp_rift/aggressive_teleportPlan to teleport towards our target so we can fuck them up
/datum/ai_behavior/make_carp_riftMake a carp rift somewhere
/datum/ai_behavior/make_carp_rift/awayMake a rift bringing you further away from your target
/datum/ai_behavior/make_carp_rift/towardsMake a rift bringing you closer to your target
/datum/ai_behavior/make_carp_rift/towards/aggressiveMake a rift towards your target if you are blocked from moving or if it is far away
/datum/ai_behavior/make_carp_rift/towards/unvalidatedSkip validation checks because we already did them in the controller
/datum/ai_planning_subtree/shortcut_to_target_through_carp_riftIf there's a carp rift heading your way, plan to ride it to your target
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.html b/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.html new file mode 100644 index 00000000000..cb16f66205f --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_controllers.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/carp_controllers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/carp/carp_controllers.dm + +

+ + + + + +
/datum/ai_controller/basic_controller/carpAI controller for carp +Expected flow is:
/datum/ai_controller/basic_controller/carp/petCarp which bites back, but doesn't look for targets. +'Not hunting targets' includes food (and can rings), because they have been well trained.
/datum/ai_controller/basic_controller/carp/rangedAI for carp with a spell. +Flow is basically the same as regular carp, except it will try and cast a spell at its target whenever possible and not fleeing.
/datum/ai_controller/basic_controller/carp/passiveCarp which bites back, but doesn't look for targets and doesnt do as much damage +Still migrate and stuff
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/magicarp.html b/code/modules/mob/living/basic/space_fauna/carp/magicarp.html new file mode 100644 index 00000000000..dc7c25a0d56 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/magicarp.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/magicarp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/carp/magicarp.dm + +

+ + + + +
/mob/living/basic/carp/magicCarp who can cast spells! +Mostly created via wizard event or transformation. +Come in 'does one thing' and 'does random things' varieties.
/mob/living/basic/carp/magic/chaosFires a random spell (and changes colour) every time, also beefier. +Sometimes actually more durable than the much larger megacarp. That's magic for you. +They trade off for this with a tendency to fireball themselves.
/mob/living/basic/carp/magic/xenobiologyHas a more limited spell pool but can appear from gold slime cores
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/carp/megacarp.html b/code/modules/mob/living/basic/space_fauna/carp/megacarp.html new file mode 100644 index 00000000000..e368670551d --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/carp/megacarp.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/carp/megacarp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/carp/megacarp.dm + +

+ + +
/mob/living/basic/carp/mega
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/cat_surgeon.html b/code/modules/mob/living/basic/space_fauna/cat_surgeon.html new file mode 100644 index 00000000000..57b38ca6aa1 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/cat_surgeon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/cat_surgeon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/cat_surgeon.dm + +

+ + +
/mob/living/basic/cat_butcherer
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/changeling/flesh_spider.html b/code/modules/mob/living/basic/space_fauna/changeling/flesh_spider.html new file mode 100644 index 00000000000..801cc20e5cf --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/changeling/flesh_spider.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/changeling/flesh_spider.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/changeling/flesh_spider.dm + +

+ + +
/mob/living/basic/flesh_spiderSpider-esque mob summoned by changelings. Exclusively player-controlled. +An independent hit-and-run antagonist which can make webs and heals itself if left undamaged for a few seconds. +Not a spider subtype because it keeps getting hit by unrelated balance changes intended for the Giant Spiders gamemode.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/changeling/headslug.html b/code/modules/mob/living/basic/space_fauna/changeling/headslug.html new file mode 100644 index 00000000000..c0984b1cead --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/changeling/headslug.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/changeling/headslug.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/changeling/headslug.dm + +

+ + + + +
/mob/living/basic/headslug
/datum/ai_controller/basic_controller/headslugThis is a bit neutered since these aren't intended to exist outside of player control, but it's a bit weird to just have these guys be completely stationary. +No attacking or anything like that, though. Just something so they seem alive.
/mob/living/basic/headslug/beaklessNeutered version to prevent people from turning themselves into changelings with sentience potions or transformation
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon.html b/code/modules/mob/living/basic/space_fauna/demon/demon.html new file mode 100644 index 00000000000..c926f78e4de --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/demon/demon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/demon/demon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/demon/demon.dm + +

+ + +
/mob/living/basic/demonPlayer controlled mobs that rip and tear, typically summoned by wizards.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon_items.html b/code/modules/mob/living/basic/space_fauna/demon/demon_items.html new file mode 100644 index 00000000000..408bda7fc51 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/demon/demon_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/demon/demon_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/demon/demon_items.dm + +

+ + +
/obj/item/organ/internal/heart/demonThe loot from killing a slaughter demon - can be consumed to allow the user to blood crawl
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.html b/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.html new file mode 100644 index 00000000000..4af17b71706 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/demon/demon_subtypes.dm + +

+ + + +
/mob/living/basic/demon/slaughterThe famous blood-crawling slaughter demons of wizardry fame.
/mob/living/basic/demon/slaughter/laughterThe laughter demon! It's everyone's best friend! It just wants to hug them so much, it wants to hug everyone at once!
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/ghost.html b/code/modules/mob/living/basic/space_fauna/ghost.html new file mode 100644 index 00000000000..b1e0e87fcae --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/ghost.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/ghost.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/ghost.dm + +

+ + +
/mob/living/basic/ghost/swarmWeaker variant of ghosts. Meant to be summoned in swarms via the ectoplasmic anomaly and associated ghost portal.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/hivebot/hivebot_behavior.html b/code/modules/mob/living/basic/space_fauna/hivebot/hivebot_behavior.html new file mode 100644 index 00000000000..7a88be3b96a --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/hivebot/hivebot_behavior.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/hivebot/hivebot_behavior.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/hivebot/hivebot_behavior.dm + +

+ + +
/datum/ai_behavior/relay_messagebehavior that allow us to go communicate with other hivebots
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/lightgeist.html b/code/modules/mob/living/basic/space_fauna/lightgeist.html new file mode 100644 index 00000000000..e2785e46b7c --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/lightgeist.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/lightgeist.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/lightgeist.dm + +

+ + + +
/mob/living/basic/lightgeist
/datum/targeting_strategy/lightgeistAttack only mobs who have damage that we can heal, I think this is specific enough not to be a generic type
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/chasing_spikes.html b/code/modules/mob/living/basic/space_fauna/meteor_heart/chasing_spikes.html new file mode 100644 index 00000000000..20550e950d1 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/chasing_spikes.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/meteor_heart/chasing_spikes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/meteor_heart/chasing_spikes.dm + +

+ + + + +
/datum/action/cooldown/mob_cooldown/chasing_spikesAn ability which makes spikes come out of the ground towards your target
/obj/effect/temp_visual/effect_trail/spike_chaserAn invisible effect which chases a target, spawning spikes every so often.
/obj/effect/temp_visual/emerging_ground_spikeA spike comes out of the ground, dealing damage after a short delay
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_eyeball.html b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_eyeball.html new file mode 100644 index 00000000000..159151e231f --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_eyeball.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_eyeball.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_eyeball.dm + +

+ + +
/obj/structure/meateor_fluff/eyeballBasically just an organic floor light
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.html b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.html new file mode 100644 index 00000000000..e3da79ea5ba --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart.dm + +

+ + +
/obj/effect/temp_visual/meteor_heart_deathDramatic death animation for the meteor heart mob
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart_ai.html b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart_ai.html new file mode 100644 index 00000000000..2a028dd9e31 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart_ai.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/meteor_heart/meteor_heart_ai.dm + +

+ + + +
/datum/ai_controller/basic_controller/meteor_heartA spellcasting AI which does not move
/datum/ai_planning_subtree/sleep_with_no_target/meteor_heartAfter enough time with no target, deaggro and change animation state
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/meteor_heart/spine_traps.html b/code/modules/mob/living/basic/space_fauna/meteor_heart/spine_traps.html new file mode 100644 index 00000000000..1ac6a6a5db9 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/meteor_heart/spine_traps.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/meteor_heart/spine_traps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/meteor_heart/spine_traps.dm + +

+ + +
/datum/action/cooldown/mob_cooldown/spine_trapsMarks several areas with thrusting spines which damage and slow people
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/morph.html b/code/modules/mob/living/basic/space_fauna/morph.html new file mode 100644 index 00000000000..df00415fca7 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/morph.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/morph.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/morph.dm + +

+ + + +
/mob/living/basic/morphThe classic morph, Corpus Accipientis (or "The body of the recipient"). It's a blob that can disguise itself as other things simply put.
/datum/ai_controller/basic_controller/morphNo fleshed out AI implementation, just something that make these fellers seem lively if they're just dropped into a station. +Only real human-powered intelligence is capable of playing prop hunt in SS13 (until further notice).
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/netherworld/creature.html b/code/modules/mob/living/basic/space_fauna/netherworld/creature.html new file mode 100644 index 00000000000..f55dace76c9 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/netherworld/creature.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/netherworld/creature.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/netherworld/creature.dm + +

+ + +
/datum/action/cooldown/spell/jaunt/creature_teleportJaunt spell used by creature. Can only jaunt or unjaunt if nothing can see you.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.html b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.html new file mode 100644 index 00000000000..c22e54c639c --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat.dm + +

+ + + +
/mob/living/basic/regal_ratThe cheesiest, most crowned rat of them all. Regent superior of all rats in maintenance... at least until someone else tries to encroach on their claim.
/mob/living/basic/regal_rat/controlledRegal rat subtype which can be possessed by ghosts
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.html b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.html new file mode 100644 index 00000000000..59675b70643 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/regal_rat/regal_rat_actions.dm + +

+ + + + +
/datum/action/cooldown/mob_cooldown/domainIncrease the rat king's domain
/datum/action/cooldown/mob_cooldown/riotThis action checks some nearby maintenance animals and makes them your minions. +If none are nearby, creates a new mouse.
/datum/reagent/rat_spitSpittle; harmless reagent that is added by rat king, and makes you disgusted.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.html b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.html new file mode 100644 index 00000000000..af63df441bf --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm + +

+ + + +
REVENANT_STUNNED_TRAITSource for a trait we get when we're stunned
/mob/living/basic/revenantRevenants: "Ghosts" that are invisible and move like ghosts, cannot take damage while invisible +Can hear deadchat, but are NOT normal ghosts and do NOT have x-ray vision +Admin-spawn or random event

Define Details

+

REVENANT_STUNNED_TRAIT + + +

+

Source for a trait we get when we're stunned

+ + + diff --git a/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.html b/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.html new file mode 100644 index 00000000000..9bd35696b71 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/revenant/revenant_effects.dm + +

+ + +
/datum/status_effect/revenantParent type for all unique revenant status effects
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/robot_customer.html b/code/modules/mob/living/basic/space_fauna/robot_customer.html new file mode 100644 index 00000000000..2699333560b --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/robot_customer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/robot_customer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/robot_customer.dm + +

+ + +
/mob/living/basic/robot_customerRobot customers
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/snake/snake.html b/code/modules/mob/living/basic/space_fauna/snake/snake.html new file mode 100644 index 00000000000..9baa9e22e87 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/snake/snake.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/snake/snake.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/snake/snake.dm + +

+ + +
/datum/ai_controller/basic_controller/snakeSnakes are primarily concerned with getting those tasty, tasty mice, but aren't afraid to strike back at those who attack them
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/space_dragon/dragon_breath.html b/code/modules/mob/living/basic/space_fauna/space_dragon/dragon_breath.html new file mode 100644 index 00000000000..07b442a2630 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/space_dragon/dragon_breath.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/space_dragon/dragon_breath.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/space_dragon/dragon_breath.dm + +

+ + + +
/datum/action/cooldown/mob_cooldown/fire_breath/carpA space dragon's fire breath, toasts lunch AND buffs your friends
/datum/status_effect/carp_invigorationMakes you run faster for the duration
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/space_dragon/dragon_gust.html b/code/modules/mob/living/basic/space_fauna/space_dragon/dragon_gust.html new file mode 100644 index 00000000000..ddbbf2047da --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/space_dragon/dragon_gust.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/space_dragon/dragon_gust.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/space_fauna/space_dragon/dragon_gust.dm + +

+ + + +
DEFAULT_ACTIVATED_ENDLAGDefault additional time to spend stunned per usage of ability
/datum/action/cooldown/mob_cooldown/wing_buffetRise into the air and slam down, knocking people away. No real cooldown but has escalating endlag if used in quick succession.

Define Details

+

DEFAULT_ACTIVATED_ENDLAG + + +

+

Default additional time to spend stunned per usage of ability

+ + + diff --git a/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.html b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.html new file mode 100644 index 00000000000..a5b41de612a --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm + +

+ + + + + +
REJECT_DARK_COLOUR_THRESHOLDYou can't make a dragon darker than this, it'd be hard to see
DOAFTER_SOURCE_SPACE_DRAGON_INTERACTIONAny interactions executed by the space dragon
/mob/living/basic/space_dragonAdvanced stage of the space carp life cycle, spawned as a midround antagonist or via traitor transformation. +Can eat corpses to heal, blow people back with its wings, and obviously as a dragon it breathes fire. It can even tear through walls. +The midround even version also creates rifts which summon carp, and heals when near them.
/mob/living/basic/space_dragon/spawn_with_antagSubtype used by the midround/event

Define Details

+

DOAFTER_SOURCE_SPACE_DRAGON_INTERACTION + + +

+

Any interactions executed by the space dragon

REJECT_DARK_COLOUR_THRESHOLD + + +

+

You can't make a dragon darker than this, it'd be hard to see

+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.html b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.html new file mode 100644 index 00000000000..1278545ef4d --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_ai.dm + +

+ + + + + +
/datum/ai_controller/basic_controller/giant_spiderAttacks people it can see, spins webs if it can't see anything to attack.
/datum/ai_controller/basic_controller/giant_spider/weakGiant spider which won't attack structures
/datum/ai_controller/basic_controller/giant_spider/retaliateUsed by Araneus, who only attacks those who attack first. He is house-trained and will not web up the HoS office.
/datum/ai_controller/basic_controller/giant_spider/pestRetaliates, hunts other maintenance creatures, runs away from larger attackers, and spins webs.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_subtrees.html b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_subtrees.html new file mode 100644 index 00000000000..8ff0902d633 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_subtrees.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_subtrees.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spider_subtrees.dm + +

+ + + + + +
/datum/ai_planning_subtree/find_unwebbed_turfSearch for a nearby location to put webs on
/datum/ai_behavior/find_unwebbed_turfFind an unwebbed nearby turf and store it
/datum/ai_planning_subtree/spin_webRun the spin web behaviour if we have an ability to use for it
/datum/ai_behavior/spin_webMove to an unwebbed nearby turf and web it up
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.html b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.html new file mode 100644 index 00000000000..8ca6324bd58 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.html @@ -0,0 +1,48 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/giant_spider/giant_spiders.dm + +

+ + + + + + + + + + + + + + + + + + + + + +
/mob/living/basic/spider/giantA mob which can be created by dynamic event, botany, or xenobiology. +The basic type is the guard, which is slow but sturdy and outputs good damage. +All spiders can produce webbing.
/mob/living/basic/spider/giant/ambush
/mob/living/basic/spider/giant/guard
/mob/living/basic/spider/giant/hunter
/mob/living/basic/spider/giant/scout
/mob/living/basic/spider/giant/nurse
/mob/living/basic/spider/giant/tangle
/mob/living/basic/spider/giant/tank
/mob/living/basic/spider/giant/breacher
/mob/living/basic/spider/giant/tarantula
/mob/living/basic/spider/giant/viper
/mob/living/basic/spider/giant/midwife
/mob/living/basic/spider/giant/ice
/mob/living/basic/spider/giant/nurse/ice
/mob/living/basic/spider/giant/hunter/ice
/mob/living/basic/spider/giant/hunter/scrawny
/mob/living/basic/spider/giant/tarantula/scrawny
/mob/living/basic/spider/giant/nurse/scrawny
/mob/living/basic/spider/giant/viper/wizard
/mob/living/basic/spider/giant/sgt_araneus
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/spider.html b/code/modules/mob/living/basic/space_fauna/spider/spider.html new file mode 100644 index 00000000000..0729018ae84 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/spider.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/spider.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/spider.dm + +

+ + + + +
/mob/living/basic/spiderBase type of various spider life stages
/mob/living/basic/spider/growingSpider which turns into another spider over time
/mob/living/basic/spider/maintenance
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/spider_abilities/hivemind.html b/code/modules/mob/living/basic/space_fauna/spider/spider_abilities/hivemind.html new file mode 100644 index 00000000000..7ea6c4f433b --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/spider_abilities/hivemind.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/spider_abilities/hivemind.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/spider_abilities/hivemind.dm + +

+ + + + + +
/datum/action/cooldown/mob_cooldown/set_spider_directiveSets a directive to be given to all future spiders created by the user. +This will be overwritten if used again.
/datum/action/cooldown/mob_cooldown/command_spidersSends a message to all currently living spiders.
/datum/action/cooldown/mob_cooldown/command_spiders/communication_spidersSends a small message to all currently living spiders.
/datum/action/cooldown/mob_cooldown/command_spiders/warning_spidersSends a smaller message to all currently living spiders.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/spider_abilities/web.html b/code/modules/mob/living/basic/space_fauna/spider/spider_abilities/web.html new file mode 100644 index 00000000000..36d882dbdb2 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/spider_abilities/web.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/spider_abilities/web.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/spider_abilities/web.dm + +

+ + + + + +
/datum/action/cooldown/mob_cooldown/lay_webMake a sticky web under yourself for area fortification
/datum/action/cooldown/mob_cooldown/lay_web/geneticVariant for genetics, created webs only allow the creator passage
/datum/action/cooldown/mob_cooldown/lay_web/sealerVariant which allows webs to be stacked into walls
/datum/action/cooldown/mob_cooldown/web_effigyMakes a solid statue which you can use as cover
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.html b/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.html new file mode 100644 index 00000000000..ea8a2352051 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling.dm + +

+ + + +
/mob/living/basic/spider/growing/spiderlingBaby spiders that are generated through a variety of means (like botany for instance). +Able to vent-crawl and eventually grow into a full fledged giant spider.
/datum/ai_controller/basic_controller/spiderlingOpportunistically hops in and out of vents, if it can find one. We aren't interested in attacking due to how weak we are, we gotta be quick and hidey.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling_subtypes.html b/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling_subtypes.html new file mode 100644 index 00000000000..59cd792c9fb --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling_subtypes.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling_subtypes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/spiderlings/spiderling_subtypes.dm + +

+ + + + + + + + + + + + +
/mob/living/basic/spider/growing/spiderling/guardThis whole file is just a container for the spiderling subtypes that actually differentiate into different young spiders. None of them are particularly special as of now. +Will differentiate into the base young spider (known colloquially as the "guard" spider).
/mob/living/basic/spider/growing/spiderling/ambushWill differentiate into the "ambush" young spider.
/mob/living/basic/spider/growing/spiderling/scoutWill differentiate into the "scout" young spider.
/mob/living/basic/spider/growing/spiderling/hunterWill differentiate into the "hunter" young spider.
/mob/living/basic/spider/growing/spiderling/nurseWill differentiate into the "nurse" young spider.
/mob/living/basic/spider/growing/spiderling/tangleWill differentiate into the "tangle" young spider.
/mob/living/basic/spider/growing/spiderling/tankWill differentiate into the "tank" young spider.
/mob/living/basic/spider/growing/spiderling/breacherWill differentiate into the "breacher" young spider.
/mob/living/basic/spider/growing/spiderling/midwifeWill differentiate into the "midwife" young spider.
/mob/living/basic/spider/growing/spiderling/viperWill differentiate into the "viper" young spider.
/mob/living/basic/spider/growing/spiderling/tarantulaWill differentiate into the "tarantula" young spider.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.html b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.html new file mode 100644 index 00000000000..c6b1847d7f6 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider.dm + +

+ + + +
/mob/living/basic/spider/growing/youngA mob which can be created by spiderlings/spider eggs. +The basic type is the guard, which is slow but sturdy and outputs good damage. +All spiders can produce webbing.
/datum/ai_controller/basic_controller/young_spiderUsed by all young spiders if they ever appear.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.html b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.html new file mode 100644 index 00000000000..86423b6cf1e --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/spider/young_spider/young_spider_subtypes.dm + +

+ + + + + + + + + + + + +
/mob/living/basic/spider/growing/young/guardWill differentiate into the base giant spider (known colloquially as the "guard" spider).
/mob/living/basic/spider/growing/young/ambushWill differentiate into the "ambush" giant spider.
/mob/living/basic/spider/growing/young/scoutWill differentiate into the "scout" giant spider.
/mob/living/basic/spider/growing/young/hunterWill differentiate into the "hunter" giant spider.
/mob/living/basic/spider/growing/young/nurseWill differentiate into the "nurse" giant spider.
/mob/living/basic/spider/growing/young/tangleWill differentiate into the "tangle" giant spider.
/mob/living/basic/spider/growing/young/tankWill differentiate into the "tank" giant spider.
/mob/living/basic/spider/growing/young/breacherWill differentiate into the "breacher" giant spider.
/mob/living/basic/spider/growing/young/midwifeWill differentiate into the "midwife" giant spider.
/mob/living/basic/spider/growing/young/viperWill differentiate into the "viper" giant spider.
/mob/living/basic/spider/growing/young/tarantulaWill differentiate into the "tarantula" giant spider.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/supermatter_spider.html b/code/modules/mob/living/basic/space_fauna/supermatter_spider.html new file mode 100644 index 00000000000..d0c533e4e3d --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/supermatter_spider.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/supermatter_spider.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/supermatter_spider.dm + +

+ + +
/mob/living/basic/supermatter_spiderA nasty little robotic bug that dusts people on attack. Jeepers. This should be a very, very, very rare spawn.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/fugu_gland.html b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/fugu_gland.html new file mode 100644 index 00000000000..1e091d483ca --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/fugu_gland.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/wumborian_fugu/fugu_gland.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/wumborian_fugu/fugu_gland.dm + +

+ + +
/obj/item/fugu_glandItem you use on a mob to make it bigger and stronger
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.html b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.html new file mode 100644 index 00000000000..491040b3ae2 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/wumborian_fugu/inflation.dm + +

+ + + +
/datum/action/cooldown/fugu_expandAction which inflates you, making you larger and stronger for the duration. Also invulnerable. +This is pretty much all just handled by a status effect. +Unfortunately the requirements here are specific enough that it kind of only works for the mob it is designed for.
/datum/status_effect/inflatedStatus effect from the Expand action, makes you big and round and strong.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_ai.html b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_ai.html new file mode 100644 index 00000000000..736f7c99639 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_ai.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_ai.dm + +

+ + +
/datum/ai_controller/basic_controller/wumborian_fuguCowardly when small, aggressive when big. Tries to transform whenever possible.
+ + + diff --git a/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.html b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.html new file mode 100644 index 00000000000..f5c906bd4f6 --- /dev/null +++ b/code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/space_fauna/wumborian_fugu/wumborian_fugu.dm + +

+ + +
/mob/living/basic/wumborian_fuguA strange alien creature capable of increasing its mass when threatened, when not inflated it is virtually defenceless. +Mostly only appears from xenobiology, or the occasional wizard. +On death, the "fugu gland" is dropped, which can be used on mobs to increase their size, health, strength, and lets them smash walls.
+ + + diff --git a/code/modules/mob/living/basic/trader/trader_ai.html b/code/modules/mob/living/basic/trader/trader_ai.html new file mode 100644 index 00000000000..3c293007a34 --- /dev/null +++ b/code/modules/mob/living/basic/trader/trader_ai.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/trader/trader_ai.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trader/trader_ai.dm + +

+ + + + +
/datum/ai_planning_subtree/setup_shopSubtree to find our very first customer and set up our shop after walking right into their face
/datum/ai_behavior/setup_shopThe ai will create a shop the moment they see a potential costumer
/datum/ai_planning_subtree/setup_shop/jumpscareVersion of setup show where the trader will run at you to assault you with incredible deals
+ + + diff --git a/code/modules/mob/living/basic/trader/trader_data.html b/code/modules/mob/living/basic/trader/trader_data.html new file mode 100644 index 00000000000..7de2c68492f --- /dev/null +++ b/code/modules/mob/living/basic/trader/trader_data.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/trader/trader_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trader/trader_data.dm + +

+ + +
/datum/trader_dataUsed to contain the traders initial wares, and speech
+ + + diff --git a/code/modules/mob/living/basic/trader/trader_items.html b/code/modules/mob/living/basic/trader/trader_items.html new file mode 100644 index 00000000000..8d35b7ec230 --- /dev/null +++ b/code/modules/mob/living/basic/trader/trader_items.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/basic/trader/trader_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trader/trader_items.dm + +

+ + + +
/obj/structure/trader_signSale signs
/obj/effect/mob_spawn/corpse/human/skeleton/mrbonesSpawners for outfits
+ + + diff --git a/code/modules/mob/living/basic/trooper/abductor.html b/code/modules/mob/living/basic/trooper/abductor.html new file mode 100644 index 00000000000..665e653cf39 --- /dev/null +++ b/code/modules/mob/living/basic/trooper/abductor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/trooper/abductor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trooper/abductor.dm + +

+ + +
/mob/living/basic/trooper/abductorAbductor troopers
+ + + diff --git a/code/modules/mob/living/basic/trooper/nanotrasen.html b/code/modules/mob/living/basic/trooper/nanotrasen.html new file mode 100644 index 00000000000..8771e164673 --- /dev/null +++ b/code/modules/mob/living/basic/trooper/nanotrasen.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/trooper/nanotrasen.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trooper/nanotrasen.dm + +

+ + + + +
/mob/living/basic/trooper/nanotrasenNanotrasen Private Security forces
/mob/living/basic/trooper/nanotrasen/screamingA variant that calls for reinforcements on spotting a target
/mob/living/basic/trooper/nanotrasen/peacefulA more peaceful variant that will only attack when attacked, or when another Nanotrasen officer calls for help.
+ + + diff --git a/code/modules/mob/living/basic/trooper/pirate.html b/code/modules/mob/living/basic/trooper/pirate.html new file mode 100644 index 00000000000..b8abaffa226 --- /dev/null +++ b/code/modules/mob/living/basic/trooper/pirate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/trooper/pirate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trooper/pirate.dm + +

+ + +
/mob/living/basic/trooper/piratePirate trooper subtype
+ + + diff --git a/code/modules/mob/living/basic/trooper/russian.html b/code/modules/mob/living/basic/trooper/russian.html new file mode 100644 index 00000000000..ae8e23d487f --- /dev/null +++ b/code/modules/mob/living/basic/trooper/russian.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/trooper/russian.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trooper/russian.dm + +

+ + +
/mob/living/basic/trooper/russianRussian trooper subtype
+ + + diff --git a/code/modules/mob/living/basic/trooper/syndicate.html b/code/modules/mob/living/basic/trooper/syndicate.html new file mode 100644 index 00000000000..a05bdfd5fc9 --- /dev/null +++ b/code/modules/mob/living/basic/trooper/syndicate.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/trooper/syndicate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/trooper/syndicate.dm + +

+ + + + +
/mob/living/basic/trooper/syndicateSyndicate troopers
/mob/living/basic/trooper/syndicate/rangedGuns
/mob/living/basic/visceratorMisc
+ + + diff --git a/code/modules/mob/living/basic/vermin/crab.html b/code/modules/mob/living/basic/vermin/crab.html new file mode 100644 index 00000000000..ebc11abb4fe --- /dev/null +++ b/code/modules/mob/living/basic/vermin/crab.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/vermin/crab.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/vermin/crab.dm + +

+ + +
/datum/ai_controller/basic_controller/crabThe basic ai controller for crabs
+ + + diff --git a/code/modules/mob/living/basic/vermin/lizard.html b/code/modules/mob/living/basic/vermin/lizard.html new file mode 100644 index 00000000000..6902e3c0954 --- /dev/null +++ b/code/modules/mob/living/basic/vermin/lizard.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/basic/vermin/lizard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/vermin/lizard.dm + +

+ + + + +
/mob/living/basic/lizard/spaceLizards that can survive in space.
/mob/living/basic/lizard/wags_his_tailJanitor's pet lizard.
/mob/living/basic/lizard/eats_the_roachesAnother pet lizard for the janitor.
+ + + diff --git a/code/modules/mob/living/basic/vermin/mouse.html b/code/modules/mob/living/basic/vermin/mouse.html new file mode 100644 index 00000000000..914e18fcedd --- /dev/null +++ b/code/modules/mob/living/basic/vermin/mouse.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mob/living/basic/vermin/mouse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/vermin/mouse.dm + +

+ + + + + +
/obj/item/food/deadmouseMice turn into food when they die
/datum/ai_controller/basic_controller/mouseThe mouse AI controller
/datum/ai_planning_subtree/flee_target/mouseDon't look for anything to run away from if you are distracted by being adjacent to cheese
/datum/ai_controller/basic_controller/mouse/ratAI controller for rats, slightly more complex than mice becuase they attack people
+ + + diff --git a/code/modules/mob/living/basic/vermin/space_bat.html b/code/modules/mob/living/basic/vermin/space_bat.html new file mode 100644 index 00000000000..1c719ed1619 --- /dev/null +++ b/code/modules/mob/living/basic/vermin/space_bat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/basic/vermin/space_bat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/basic/vermin/space_bat.dm + +

+ + +
/datum/ai_controller/basic_controller/space_batController for space bats, has nothing unique, just retaliation.
+ + + diff --git a/code/modules/mob/living/carbon/alien/organs.html b/code/modules/mob/living/carbon/alien/organs.html new file mode 100644 index 00000000000..11edbff2896 --- /dev/null +++ b/code/modules/mob/living/carbon/alien/organs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/alien/organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/alien/organs.dm + +

+ + +
/obj/item/organ/internal/stomach/alienThe stomach that lets aliens eat people/things
+ + + diff --git a/code/modules/mob/living/carbon/carbon_defense.html b/code/modules/mob/living/carbon/carbon_defense.html new file mode 100644 index 00000000000..8c8011d61ea --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_defense.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/carbon_defense.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/carbon_defense.dm + +

+ + +
/obj/item/hand_item/self_graspan abstract item representing you holding your own limb to staunch the bleeding, see [/mob/living/carbon/proc/grabbedby] will probably need to find somewhere else to put this.
+ + + diff --git a/code/modules/mob/living/carbon/carbon_stripping.html b/code/modules/mob/living/carbon/carbon_stripping.html new file mode 100644 index 00000000000..998f6004bfb --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_stripping.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/carbon_stripping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/carbon_stripping.dm + +

+ + +
/datum/strippable_item/handA strippable item for a hand
+ + + diff --git a/code/modules/mob/living/carbon/carbon_update_icons.html b/code/modules/mob/living/carbon/carbon_update_icons.html new file mode 100644 index 00000000000..dfd04dea7a4 --- /dev/null +++ b/code/modules/mob/living/carbon/carbon_update_icons.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/carbon/carbon_update_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/carbon_update_icons.dm + +

+ + + +
/proc/build_planeed_apperance_queueTakes a list of mutable appearances +Returns a list in the form: +1 - a list of all mutable appearances that would need to be updated to change planes in the event of a z layer change, alnongside the commands required +to properly track parents to update +2 - a list of all parents that will require updating
+ + + diff --git a/code/modules/mob/living/carbon/human/_species.html b/code/modules/mob/living/carbon/human/_species.html new file mode 100644 index 00000000000..f785ae719df --- /dev/null +++ b/code/modules/mob/living/carbon/human/_species.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/carbon/human/_species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/_species.dm + +

+ + + + + + +
/datum/speciesDatum that handles different species in the game.
/proc/get_selectable_speciesGets a list of all species available to choose in roundstart.
/proc/generate_selectable_species_and_languagesGenerates species available to choose in character setup at roundstart
+ + + diff --git a/code/modules/mob/living/carbon/human/dummy.html b/code/modules/mob/living/carbon/human/dummy.html new file mode 100644 index 00000000000..a0f44a01ada --- /dev/null +++ b/code/modules/mob/living/carbon/human/dummy.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob/living/carbon/human/dummy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/dummy.dm + +

+ + + + + +
/proc/get_consistent_feature_entryTakes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process.
/mob/living/carbon/human/dummy/consistentProvides a dummy that is consistently bald, white, naked, etc.
/mob/living/carbon/human/consistentProvides a dummy for unit_tests that functions like a normal human, but with a standardized appearance +Copies the stock dna setup from the dummy/consistent type
+ + + diff --git a/code/modules/mob/living/carbon/human/emote.html b/code/modules/mob/living/carbon/human/emote.html new file mode 100644 index 00000000000..367b8adabad --- /dev/null +++ b/code/modules/mob/living/carbon/human/emote.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/emote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/emote.dm + +

+ + +
/datum/emote/living/carbon/human/monkeySnowflake emotes only for le epic chimp
+ + + diff --git a/code/modules/mob/living/carbon/human/human_defines.html b/code/modules/mob/living/carbon/human/human_defines.html new file mode 100644 index 00000000000..b7bc3085c74 --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_defines.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/human_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/human_defines.dm + +

+ + +
/mob/living/carbon/humanAny humanoid (non-Xeno) mob, such as humans, plasmamen, lizards.
+ + + diff --git a/code/modules/mob/living/carbon/human/human_suicide.html b/code/modules/mob/living/carbon/human/human_suicide.html new file mode 100644 index 00000000000..c1273ce0263 --- /dev/null +++ b/code/modules/mob/living/carbon/human/human_suicide.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mob/living/carbon/human/human_suicide.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/carbon/human/human_suicide.dm + +

+ + +
HUMAN_BRAIN_DAMAGE_SUICIDE_MESSAGEThis file handles anything related to suicide related to humans, as it's a bit more involved/complex than suicide on any other type of mob. +Defines for all the types of messages we can dispatch.

Define Details

+

HUMAN_BRAIN_DAMAGE_SUICIDE_MESSAGE + + +

+

This file handles anything related to suicide related to humans, as it's a bit more involved/complex than suicide on any other type of mob. +Defines for all the types of messages we can dispatch.

+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/abominations.html b/code/modules/mob/living/carbon/human/species_types/abominations.html new file mode 100644 index 00000000000..874051946a3 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/abominations.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/abominations.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species_types/abominations.dm + +

+ + +
/datum/species/human/tallboyThese won't appear normally in games, they are meant to for debuging the adjustment of limbs based on the height of a humans bodyparts.
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/golems.html b/code/modules/mob/living/carbon/human/species_types/golems.html new file mode 100644 index 00000000000..c84fce020ae --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/golems.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/golems.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species_types/golems.dm + +

+ + +
/datum/species/golemAnimated beings of stone. They have increased defenses, and do not need to breathe. They must eat minerals to live, which give additional buffs.
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.html b/code/modules/mob/living/carbon/human/species_types/jellypeople.html new file mode 100644 index 00000000000..cadb920bf48 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/jellypeople.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/carbon/human/species_types/jellypeople.dm + +

+ + + + + + + +
JELLY_REGEN_RATEThe rate at which slimes regenerate their jelly normally
JELLY_REGEN_RATE_EMPTYThe rate at which slimes regenerate their jelly when they completely run out of it and start taking damage, usually after having cannibalized all their limbs already
BLOOD_VOLUME_LOSE_NUTRITIONThe blood volume at which slimes begin to start losing nutrition -- so that IV drips can work for blood deficient slimes
/datum/species/jelly/slimeSLIMEPEOPLE
/datum/species/jelly/luminescentLUMINESCENTS
/datum/species/jelly/stargazerSTARGAZERS

Define Details

+

BLOOD_VOLUME_LOSE_NUTRITION + + +

+

The blood volume at which slimes begin to start losing nutrition -- so that IV drips can work for blood deficient slimes

JELLY_REGEN_RATE + + +

+

The rate at which slimes regenerate their jelly normally

JELLY_REGEN_RATE_EMPTY + + +

+

The rate at which slimes regenerate their jelly when they completely run out of it and start taking damage, usually after having cannibalized all their limbs already

+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.html b/code/modules/mob/living/carbon/human/species_types/monkeys.html new file mode 100644 index 00000000000..0130d4918d9 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/monkeys.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species_types/monkeys.dm + +

+ + +
/datum/species/monkey/holodeckVirtual monkeys that crave virtual bananas. Everything about them is ephemeral (except that bite).
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.html b/code/modules/mob/living/carbon/human/species_types/shadowpeople.html new file mode 100644 index 00000000000..4318a7c2de6 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/shadowpeople.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/carbon/human/species_types/shadowpeople.dm + +

+ + +
/obj/item/organ/internal/brain/shadowthe key to some of their powers
+ + + diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.html b/code/modules/mob/living/carbon/human/species_types/vampire.html new file mode 100644 index 00000000000..db13f8498e7 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/vampire.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/carbon/human/species_types/vampire.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/carbon/human/species_types/vampire.dm + +

+ + + +
VAMPIRES_PER_HOUSEhow many vampires exist in each house
VAMP_DRAIN_AMOUNTmaximum a vampire will drain, they will drain less if they hit their cap

Define Details

+

VAMPIRES_PER_HOUSE + + +

+

how many vampires exist in each house

VAMP_DRAIN_AMOUNT + + +

+

maximum a vampire will drain, they will drain less if they hit their cap

+ + + diff --git a/code/modules/mob/living/emote.html b/code/modules/mob/living/emote.html new file mode 100644 index 00000000000..5ce054db947 --- /dev/null +++ b/code/modules/mob/living/emote.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/living/emote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/emote.dm + +

+ + + +
YAWN_PROPAGATE_CHANCE_BASEThe base chance for your yawn to propagate to someone else if they're on the same tile as you
YAWN_PROPAGATE_CHANCE_DECAYThe base chance for your yawn to propagate to someone else if they're on the same tile as you

Define Details

+

YAWN_PROPAGATE_CHANCE_BASE + + +

+

The base chance for your yawn to propagate to someone else if they're on the same tile as you

YAWN_PROPAGATE_CHANCE_DECAY + + +

+

The base chance for your yawn to propagate to someone else if they're on the same tile as you

+ + + diff --git a/code/modules/mob/living/life.html b/code/modules/mob/living/life.html new file mode 100644 index 00000000000..44d87d541d0 --- /dev/null +++ b/code/modules/mob/living/life.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/life.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/life.dm + +

+ + +
BODYTEMP_DIVISORThis divisor controls how fast body temperature changes to match the environment

Define Details

+

BODYTEMP_DIVISOR + + +

+

This divisor controls how fast body temperature changes to match the environment

+ + + diff --git a/code/modules/mob/living/living.html b/code/modules/mob/living/living.html new file mode 100644 index 00000000000..95947c2463a --- /dev/null +++ b/code/modules/mob/living/living.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/living.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/living.dm + +

+ + +
/datum/movespeed_modifier/landed_on_feetModifier for mobs landing on their feet after a fall
+ + + diff --git a/code/modules/mob/living/living_fov.html b/code/modules/mob/living/living_fov.html new file mode 100644 index 00000000000..017a6e187a6 --- /dev/null +++ b/code/modules/mob/living/living_fov.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob/living/living_fov.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/living_fov.dm + +

+ + + +
/proc/play_fov_effectPlays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness
+ + + diff --git a/code/modules/mob/living/silicon/ai/_preferences.html b/code/modules/mob/living/silicon/ai/_preferences.html new file mode 100644 index 00000000000..e77bfdb676c --- /dev/null +++ b/code/modules/mob/living/silicon/ai/_preferences.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/silicon/ai/_preferences.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/silicon/ai/_preferences.dm + +

+ + + +
/proc/resolve_ai_icon_syncA form of resolve_ai_icon that is guaranteed to never sleep. +Not always accurate, but always synchronous.
+ + + diff --git a/code/modules/mob/living/silicon/ai/ai_portrait_picker.html b/code/modules/mob/living/silicon/ai/ai_portrait_picker.html new file mode 100644 index 00000000000..446259af4cd --- /dev/null +++ b/code/modules/mob/living/silicon/ai/ai_portrait_picker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/silicon/ai/ai_portrait_picker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/silicon/ai/ai_portrait_picker.dm + +

+ + +
/datum/portrait_picker
+ + + diff --git a/code/modules/mob/living/silicon/ai/freelook.html b/code/modules/mob/living/silicon/ai/freelook.html new file mode 100644 index 00000000000..4d5e701e4bb --- /dev/null +++ b/code/modules/mob/living/silicon/ai/freelook.html @@ -0,0 +1,76 @@ + + + + + + + code/modules/mob/living/silicon/ai/freelook/README.txt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/silicon/ai/freelook/README.txt + +

+ + +
CREDITS
+
+Initial code credit for this goes to Uristqwerty.
+Debugging, functionality, all comments and porting by Giacom.
+
+Everything about freelook (or what we can put in here) will be stored here.
+
+
+WHAT IS THIS?
+
+This is a replacement for the current camera movement system, of the AI. Before this, the AI had to move between cameras and could
+only see what the cameras could see. Not only this but the cameras could see through walls, which created problems.
+With this, the AI controls an "AI Eye" mob, which moves just like a ghost; such as moving through walls and being invisible to players.
+The AI's eye is set to this mob and then we use a system (explained below) to determine what the cameras around the AI Eye can and
+cannot see. If the camera cannot see a turf, it will black it out, otherwise it won't and the AI will be able to see it.
+This creates several features, such as.. no more see-through-wall cameras, easier to control camera movement, easier tracking,
+the AI only being able to track mobs which are visible to a camera, only trackable mobs appearing on the mob list and many more.
+
+
+HOW IT WORKS
+
+It works by first creating a camera network datum. Inside of this camera network are "chunks" (which will be
+explained later) and "cameras". The cameras list is kept up to date by obj/machinery/camera/New() and Del().
+
+Next the camera network has chunks. These chunks are a 16x16 tile block of turfs and cameras contained inside the chunk.
+These turfs are then sorted out based on what the cameras can and cannot see. If none of the cameras can see the turf, inside
+the 16x16 block, it is listed as an "obscured" turf. Meaning the AI won't be able to see it.
+
+
+HOW IT UPDATES
+
+The camera network uses a streaming method in order to effeciently update chunks. Since the server will have doors opening, doors closing,
+turf being destroyed and other lag inducing stuff, we want to update it under certain conditions and not every tick.
+
+The chunks are not created straight away, only when an AI eye moves into it's area is when it gets created.
+One a chunk is created, when a non glass door opens/closes or an opacity turf is destroyed, we check to see if an AI Eye is looking in the area.
+We do this with the "seenby" list, which updates everytime an AI is near a chunk. If there is an AI eye inside the area, we update the chunk
+that the changed atom is inside and all surrounding chunks, since a camera's vision could leak onto another chunk. If there is no AI Eye, we instead
+flag the chunk to update whenever it is loaded by an AI Eye. This is basically how the chunks update and keep it in sync. We then add some lag reducing
+measures, such as an UPDATE_BUFFER which stops a chunk from updating too many times in a certain time-frame, only updating if the changed atom was blocking
+sight; for example, we don't update glass airlocks or floors.
+
+
+WHERE IS EVERYTHING?
+
+cameranet.dm    =	Everything about the cameranet datum.
+chunk.dm        =	Everything about the chunk datum.
+eye.dm          =	Everything about the AI and the AIEye.
+updating.dm     =	Everything about triggers that will update chunks.
+
+ + + diff --git a/code/modules/mob/living/silicon/robot/robot_defines.html b/code/modules/mob/living/silicon/robot/robot_defines.html new file mode 100644 index 00000000000..0792e42b6c9 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_defines.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/silicon/robot/robot_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/silicon/robot/robot_defines.dm + +

+ + +
/mob/living/silicon/robot/nocellThis is the subtype that gets created by robot suits. It's needed so that those kind of borgs don't have a useless cell in them
+ + + diff --git a/code/modules/mob/living/silicon/robot/robot_model.html b/code/modules/mob/living/silicon/robot/robot_model.html new file mode 100644 index 00000000000..a6682032e96 --- /dev/null +++ b/code/modules/mob/living/silicon/robot/robot_model.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/silicon/robot/robot_model.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/silicon/robot/robot_model.dm + +

+ + +
/obj/item/robot_modelDefinition of /obj/item/robot_model, which defines behavior for each model. +Deals with the creation and deletion of modules (tools). +Assigns modules and traits to a borg with a specific model selected.
+ + + diff --git a/code/modules/mob/living/silicon/silicon_movement.html b/code/modules/mob/living/silicon/silicon_movement.html new file mode 100644 index 00000000000..f6a512ff9b3 --- /dev/null +++ b/code/modules/mob/living/silicon/silicon_movement.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/silicon/silicon_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/silicon/silicon_movement.dm + +

+ + +
SILICON_CAMERA_BUFFERThe static update delay on movement of the camera in a borg we use

Define Details

+

SILICON_CAMERA_BUFFER + + +

+

The static update delay on movement of the camera in a borg we use

+ + + diff --git a/code/modules/mob/living/simple_animal/bot/bot_announcement.html b/code/modules/mob/living/simple_animal/bot/bot_announcement.html new file mode 100644 index 00000000000..66426a02f7d --- /dev/null +++ b/code/modules/mob/living/simple_animal/bot/bot_announcement.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/bot/bot_announcement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/bot/bot_announcement.dm + +

+ + +
/datum/action/cooldown/bot_announcementSay something and play a corresponding sound effect
+ + + diff --git a/code/modules/mob/living/simple_animal/bot/vibebot.html b/code/modules/mob/living/simple_animal/bot/vibebot.html new file mode 100644 index 00000000000..43012c418e0 --- /dev/null +++ b/code/modules/mob/living/simple_animal/bot/vibebot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/bot/vibebot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/bot/vibebot.dm + +

+ + +
/datum/action/innate/vibeVibebot's vibe ability
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.html b/code/modules/mob/living/simple_animal/hostile/illusion.html new file mode 100644 index 00000000000..aa69ae613c0 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/illusion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/illusion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/illusion.dm + +

+ + +
/mob/living/simple_animal/hostile/illusion/escapeActual Types
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html new file mode 100644 index 00000000000..5c5d005c384 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm + +

+ + + + + +
/mob/living/simple_animal/hostile/megafauna/colossusCOLOSSUS
ACTIVATE_TOUCHAnomolous Crystal
/obj/machinery/anomalous_crystal/theme_warpTransforms the area to look like a new one
/datum/crystal_warp_themeTransforms an area's turfs and objects into a different theme

Define Details

+

ACTIVATE_TOUCH + + +

+

Anomolous Crystal

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.html b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.html new file mode 100644 index 00000000000..f63d63ae449 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm + +

+ + +
DRAKE_ENRAGEDused to see if the drake is enraged or not

Define Details

+

DRAKE_ENRAGED + + +

+

used to see if the drake is enraged or not

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html new file mode 100644 index 00000000000..c1a80fbd3c1 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.html @@ -0,0 +1,46 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm + +

+ + + + + + +
LEGION_LARGELEGION
/obj/structure/legionturretA basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.
/obj/projectile/beam/legionUsed for the legion turret.
/obj/effect/projectile/tracer/legion/tracerUsed for the legion turret tracer.
/obj/effect/projectile/tracer/legionUsed for the legion turret beam.

Define Details

+

LEGION_LARGE + + +

+

LEGION

+

Legion spawns from the necropolis gate in the far north of lavaland. It is the guardian of the Necropolis and emerges from within whenever an intruder tries to enter through its gate. +Whenever Legion emerges, everything in lavaland will receive a notice via color, audio, and text. This is because Legion is powerful enough to slaughter the entirety of lavaland with little effort. LOL

+

It has three attacks. +Spawn Skull. Most of the time it will use this attack. Spawns a single legion skull. +Spawn Sentinel. The legion will spawn up to three sentinels, depending on its size. +CHARGE! The legion starts spinning and tries to melee the player. It will try to flick itself towards the player, dealing some damage if it hits.

+

When Legion dies, it will split into three smaller skulls up to three times. +If you kill all of the smaller ones it drops a staff of storms, which allows its wielder to call and disperse ash storms at will and functions as a powerful melee weapon.

+

Difficulty: Medium

+

SHITCODE AHEAD. BE ADVISED. Also comment extravaganza

+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html new file mode 100644 index 00000000000..0d350438807 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/broodmotherA stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. +When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html new file mode 100644 index 00000000000..caae92b5de8 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/heraldA slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. +As it's health gets lower, the amount of projectiles fired per-attack increases. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html new file mode 100644 index 00000000000..b0344aeb9f6 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/legionnaireA towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html new file mode 100644 index 00000000000..36cf90db0a0 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm + +

+ + +
/mob/living/simple_animal/hostile/asteroid/elite/pandoraA box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. +As it's health gets lower, the time between it's attacks decrease. +It's attacks are as follows:
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.html b/code/modules/mob/living/simple_animal/hostile/ooze.html new file mode 100644 index 00000000000..0dde21d45d2 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/ooze.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/ooze.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/ooze.dm + +

+ + + + + + + + + + +
/mob/living/simple_animal/hostile/oozeOozes are slime-esque creatures, they are highly gluttonous creatures primarily intended for player controll.
/mob/living/simple_animal/hostile/ooze/gelatinous
/datum/action/cooldown/metabolicboostThis ability lets the gelatinious ooze speed up for a little bit
/datum/action/consumeThis action lets you consume the mob you're currently pulling. I'M GONNA CONSUUUUUME (this is considered one of the funny memes in the 2019-2020 era)
/mob/living/simple_animal/hostile/ooze/grapes
/datum/action/cooldown/globulesAbility that allows the owner to fire healing globules at mobs, targeting specific limbs.
/obj/projectile/globuleThis projectile embeds into mobs and heals them over time.
/obj/item/mending_globuleThis item is what is embedded into the mob, and actually handles healing of mending globules
/datum/action/cooldown/gel_cocoonThis action lets you put a mob inside of a cacoon that will inject it with some chemicals.
+ + + diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.html b/code/modules/mob/living/simple_animal/hostile/vatbeast.html new file mode 100644 index 00000000000..d2a33b94905 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mob/living/simple_animal/hostile/vatbeast.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/hostile/vatbeast.dm + +

+ + + +
/mob/living/simple_animal/hostile/vatbeastVatbeasts are creatures from vatgrowing and are literaly a beast in a vat, yup. They are designed to be a powerful mount roughly equal to a gorilla in power.
/datum/action/cooldown/tentacle_slapAbility that allows the owner to slap other mobs a short distance away. +For vatbeats, this ability is shared with the rider.
+ + + diff --git a/code/modules/mob/living/simple_animal/simple_animal.html b/code/modules/mob/living/simple_animal/simple_animal.html new file mode 100644 index 00000000000..5d94f664361 --- /dev/null +++ b/code/modules/mob/living/simple_animal/simple_animal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/simple_animal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/simple_animal.dm + +

+ + +
/mob/living/simple_animalSimple, mostly AI-controlled critters, such as pets, bots, and drones.
+ + + diff --git a/code/modules/mob/living/simple_animal/slime/slime.html b/code/modules/mob/living/simple_animal/slime/slime.html new file mode 100644 index 00000000000..5a36f088582 --- /dev/null +++ b/code/modules/mob/living/simple_animal/slime/slime.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/living/simple_animal/slime/slime.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/living/simple_animal/slime/slime.dm + +

+ + +
/mob/living/simple_animal/slime/petFriendly docile subtype
+ + + diff --git a/code/modules/mob/mob_defines.html b/code/modules/mob/mob_defines.html new file mode 100644 index 00000000000..8ec713c7050 --- /dev/null +++ b/code/modules/mob/mob_defines.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob/mob_defines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/mob_defines.dm + +

+ + +
/mobThe mob, usually meant to be a creature of some type
+ + + diff --git a/code/modules/mob/mob_helpers.html b/code/modules/mob/mob_helpers.html new file mode 100644 index 00000000000..496b02fd387 --- /dev/null +++ b/code/modules/mob/mob_helpers.html @@ -0,0 +1,59 @@ + + + + + + + code/modules/mob/mob_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob/mob_helpers.dm + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
/proc/check_zoneConvert a PRECISE ZONE into the BODY_ZONE
/proc/ran_zoneReturn the zone or randomly, another valid zone
/proc/above_neckWould this zone be above the neck
/proc/starsConvert random parts of a passed in message to stars
/proc/GibberishTurn text into complete gibberish!
/proc/shake_cameraShake the camera of the person viewing the mob SO REAL! +Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles +Duration isn't taken as a strict limit, since we don't trust our coders to not make things feel shitty. So it's more like a soft cap.
/proc/findnameFind if the message has the real name of any user mob in the mob_list
/proc/is_special_characterReturns TRUE if the game has started and we're either an AI with a 0th law, or we're someone with a special role/antag datum +If allow_fake_antags is set to FALSE, Valentines, ERTs, and any such roles with FLAG_FAKE_ANTAG won't pass.
/proc/notify_ghostsFancy notifications for ghosts
/proc/item_heal_roboticHeals a robotic limb on a mob
/proc/isAdminObserverIs the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to
/proc/isAdminGhostAIIs the passed in mob an admin ghost WITH AI INTERACT enabled
/proc/offer_controlOffer control of the passed in mob to dead player
/proc/get_path_by_slotReturns a generic path of the object based on the slot
/proc/get_player_clientReturns a client from a mob, mind or client
+ + + diff --git a/code/modules/mob/mob_say.html b/code/modules/mob/mob_say.html new file mode 100644 index 00000000000..4ca195dc04b --- /dev/null +++ b/code/modules/mob/mob_say.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/mob/mob_say.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/mob_say.dm + +

+ + +
MESSAGE_MODS_LENGTHThe amount of items we are looking for in the message

Define Details

+

MESSAGE_MODS_LENGTH + + +

+

The amount of items we are looking for in the message

+ + + diff --git a/code/modules/mob/say_readme.html b/code/modules/mob/say_readme.html new file mode 100644 index 00000000000..98bb385e100 --- /dev/null +++ b/code/modules/mob/say_readme.html @@ -0,0 +1,188 @@ + + + + + + + code/modules/mob/say_readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Say code basics + +

+ + +

This document is a little dated but I believe it's accurate mostly (oranges 2019)

+MIAUW'S SAY REWRITE +

This is a basic explanation of how say() works. Read this if you don't understand something.

+

The basic "flow" of say() is that a speaker says a message, which is heard by hearers. What appears on screen +is constructed by each hearer separately, and not by the speaker.

+

This rewrite was needed, but is far from perfect. Report any bugs you come across and feel free to fix things up. +Radio code, while very much related to saycode, is not something I wanted to touch, so the code related to that may be messy.

+

If you came here to see how to use saycode, all you will ever really need to call is say(message). +To have things react when other things speak around them, add the HEAR_1 flag to their flags variable and +override their Hear() proc.

+PROCS & VARIABLES +

Here follows a list of say()-related procs and variables.

+
global procs
+	get_radio_span(freq)
+		Returns the span class associated with that frequency.
+
+	get_radio_name(freq)
+		Returns the name of that frequency.
+
+	get_hearers_in_view(R, atom/source)
+		Self-explanatory. Calls get_hear() and then calls recursive_hear_check on everything that get_hear() returns.
+
+	recursive_hear_check(atom/O)
+		Checks for hearers by looping through the contents of O and the contents of the contents of O and etc and checking
+		each object for the HEAR_1 flag. Returns a list of objects with the HEAR_1 flag.
+
+	get_hear(range, atom/source)
+		Like view(), but ignores luminosity.
+
+	message_spans_start(spans)
+		Turns each element of spans into a span class.
+
+	attach_spans(input, spans)
+		Attaches span classes around input.
+
+/atom/movable
+	flags
+		The HEAR_1 flag determines whether something is a hearer or not.
+		Hear() is only called on procs with this flag.
+
+	languages
+		languages live either in datum/languages_holder or in the mind.
+
+	verb_say/verb_ask/verb_exclaim/verb_yell/verb_sing
+		These determine what the verb is for their respective action. Used in say_quote().
+
+	say(message, bubble_type, var/list/spans, sanitize, datum/language/language, ignore_spam, forced)
+		Say() is the "mother-proc". It calls all the other procs required for speaking, but does little itself.
+		At the atom/movable level, say() just calls send_speech.
+
+	try_speak()
+		Checks that our atom can speak the passed messages.
+		Includes feedback to the speaker if they cannot speak.
+
+	can_speak()
+		Checks that our atom can vocally speak at all.
+		Does not (and should not) include any feedback on its own.
+
+	Hear(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, message_mods, message_range)
+		This proc handles hearing. What it does varies. For mobs, it treats the message with hearer-specific things
+		like language and deafness, then outputs it to the hearer.
+
+		IMPORTANT NOTE: If radio_freq is not null, the code will assume that the speaker is virtual! (more info on this in the Radios section below)
+
+	send_speech(message, range, source, bubble_type, spans, list/message_mods)
+		This proc composes a list of hearers (things with the HEAR_1 flag + dead people) and calls Hear() on them.
+		Message treatment or composition of output are not done by this proc, these are handled by the rest of
+		say() and the hearer respectively.
+
+	translate_language(message, atom/movable/speaker, message_langs, raw_message)
+		Modifies the message by comparing the languages of the speaker with the languages of the hearer.
+		Called on the hearer.
+
+	say_quote(input, spans, list/message_mods)
+		Adds a verb and quotes to a message. Also attaches span classes to a message.
+		Verbs are determined by verb_say/verb_ask/verb_yell/verb_sing variables. Called on the speaker.
+
+/mob
+	say_dead(message)
+		Sends a message to all dead people. Does not use Hear().
+
+	compose_message(message, atom/movable/speaker, message_langs, raw_message, radio_freq, spans, list/message_mods)
+		Composes the message mobs see on their screen when they hear something.
+
+	compose_track_href(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
+		Composes the href tags used by the AI for tracking. Returns "" for all mobs except AIs.
+
+	compose_job(message, atom/movable/speaker, message_langs, raw_message, radio_freq)
+		Composes the job and the end tag for tracking hrefs. Returns "" for all mobs except AIs.
+
+	hivecheck()
+		Returns TRUE if the mob can hear and talk in the alien hivemind.
+
+/mob/living
+	say(message, bubble_type, var/list/spans, sanitize, datum/language/languag, ignore_spam, forced)
+		The say() of mob_living is significantly more complex than that of objects.
+		Most of the extra code has to do with radios and message treatment.
+
+	send_speech(message, range, source, bubble_type, spans, list/message_mods)
+		mob/living's send_speech allows mobs one tile outside of the defined range to still hear the message,
+		but starred with the stars() proc.
+
+	check_emote(message)
+		Checks if the message begins with an * and is thus an emote.
+
+	get_message_mods(message, list/message_mods)
+		Checks the start of the message for each of the components it could contain, stores that info in mods, and returns a trimmed list
+
+	treat_message(message)
+		What it says on the tin. Treats the message according to flags set on the mob.
+		Also handles captilization of the message
+
+	radio(message, list/message_mods = list(), spans)
+		Handles talking into radios. Uses a switch to determine what radio to speak into and in which manner to do so.
+
+		Return is a bitflag.
+		NOPASS = terminate say()
+		ITALICS = add italics to the message
+		REDUCE_RANGE = reduce the message range to one tile.
+
+		Return 0 if no radio was spoken into.
+		IMPORTANT: remember to call ..() and check for ..()'s return value properly!
+
+/datum/saymode
+	This is made to handle things like admin or alien chat.
+	Features that look like radio, but aren't quite
+
+	key
+		The key used to talk on this channel, in combination with : or .
+	mode
+		The UID we use for this channel
+
+	handle_message(message, list/message_mods, datum/language/language)
+		Intercepts say() after it's done all of it's message building.
+		If this returns true we stop say(), if it returns false we keep going
+
+RADIOS +

I did not want to interfere with radios too much, but I sort of had to. +For future generations, here is how radio code works: +First, talk_into() is called on a radio. This sends a signal datum into the magic machine that is tcomms, which +eventually results in broadcast_message() being called.

+

Broadcast_message() does NOT call say() on radios, but rather calls Hear() on everyone in range of a radio. +This is because the system does not like repeating says.

+

Furthermore, I changed radios to not be in the SSradio. Instead, they are in a global list called all_radios. +This is an associative list, and the numbers as strings are the keys. The values are lists of radios that can hear said frequency.

+

To add a radio, simply use add_radio(radio, frequency). To remove a radio, use remove_radio(radio, frequency). +To remove a radio from ALL frequencies, use remove_radio_all(radio).

+VIRTUAL SPEAKERS: +

Virtual speakers are simply atom/movables with a few extra variables. +If radio_freq is not null, the code will rely on the fact that the speaker is virtual. This means that several procs will return something:

+
	(all of these procs are defined at the atom/movable level and return "" at that level.)
+	GetJob()
+		Returns the job string variable of the virtual speaker.
+	GetTrack()
+		Returns wether the tracking href should be fake or not.
+	GetSource()
+		Returns the source of the virtual speaker.
+	GetRadio()
+		Returns the radio that was spoken through by the source. Needed for AI tracking.
+
+

This is fairly hacky, but it means that I can advoid using istypes. It's mainly relevant for AI tracking and AI job display.

+

That's all, folks!

+ + + diff --git a/code/modules/mob/transform_procs.html b/code/modules/mob/transform_procs.html new file mode 100644 index 00000000000..3a74c516340 --- /dev/null +++ b/code/modules/mob/transform_procs.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/mob/transform_procs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mob/transform_procs.dm + +

+ + + +
TEMPORARY_TRANSFORMATION_TRAITWill be removed once the transformation is complete.
PERMANENT_TRANSFORMATION_TRAITConsidered "permanent" since we'll be deleting the old mob and the client will be inserted into a new one (without this trait)

Define Details

+

PERMANENT_TRANSFORMATION_TRAIT + + +

+

Considered "permanent" since we'll be deleting the old mob and the client will be inserted into a new one (without this trait)

TEMPORARY_TRANSFORMATION_TRAIT + + +

+

Will be removed once the transformation is complete.

+ + + diff --git a/code/modules/mob_spawn/corpses/mining_corpses.html b/code/modules/mob_spawn/corpses/mining_corpses.html new file mode 100644 index 00000000000..8b9f045db6a --- /dev/null +++ b/code/modules/mob_spawn/corpses/mining_corpses.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob_spawn/corpses/mining_corpses.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/corpses/mining_corpses.dm + +

+ + + + + + +
/obj/effect/mob_spawn/corpse/human/legioninfestedMob spawner used by Legion to spawn costumed bodies
/obj/effect/mob_spawn/corpse/human/legioninfested/dwarfCorpse spawner used by dwarf legions to make small corpses
/obj/effect/mob_spawn/corpse/human/legioninfested/snowCorpse spawner used by snow legions with alternate costumes
/obj/effect/mob_spawn/corpse/human/legioninfested/skeletonCreates a dead legion-infested skeleton
/obj/effect/mob_spawn/corpse/human/legioninfested/skeleton/charredCreates a dead and burned legion-infested skeleton
+ + + diff --git a/code/modules/mob_spawn/corpses/mob_corpses.html b/code/modules/mob_spawn/corpses/mob_corpses.html new file mode 100644 index 00000000000..fdc762f17db --- /dev/null +++ b/code/modules/mob_spawn/corpses/mob_corpses.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob_spawn/corpses/mob_corpses.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/corpses/mob_corpses.dm + +

+ + +
/obj/effect/mob_spawn/corpse/human/syndicatesoldierall the corpses meant as mob drops yes, these definitely could be sorted properly. i invite (you) to do it!!
+ + + diff --git a/code/modules/mob_spawn/corpses/nonhuman_corpses.html b/code/modules/mob_spawn/corpses/nonhuman_corpses.html new file mode 100644 index 00000000000..5bf3f1179a7 --- /dev/null +++ b/code/modules/mob_spawn/corpses/nonhuman_corpses.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/mob_spawn/corpses/nonhuman_corpses.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/corpses/nonhuman_corpses.dm + +

+ + + + + + +
/obj/effect/mob_spawn/corpse/aidead ai, blue screen and everything.
/obj/effect/mob_spawn/corpse/slimedead slimes, with a var for whatever color you want.
/obj/effect/mob_spawn/corpse/facehuggerdead facehuggers, great for xeno ruins so you can have a cool ruin without spiraling the entire round into xenomorph hell. also, this is a terrible terrible artifact of time
/obj/effect/mob_spawn/corpse/goliathdead goliath spawner
/obj/effect/mob_spawn/corpse/headcrabDead headcrab for changeling-themed ruins
+ + + diff --git a/code/modules/mob_spawn/ghost_roles/mining_roles.html b/code/modules/mob_spawn/ghost_roles/mining_roles.html new file mode 100644 index 00000000000..9013fb3ca8f --- /dev/null +++ b/code/modules/mob_spawn/ghost_roles/mining_roles.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob_spawn/ghost_roles/mining_roles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/ghost_roles/mining_roles.dm + +

+ + +
/obj/effect/mob_spawn/ghost_role/human/lavaland_syndicateSyndicate Listening Post
+ + + diff --git a/code/modules/mob_spawn/ghost_roles/space_roles.html b/code/modules/mob_spawn/ghost_roles/space_roles.html new file mode 100644 index 00000000000..a0503d5e7cc --- /dev/null +++ b/code/modules/mob_spawn/ghost_roles/space_roles.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob_spawn/ghost_roles/space_roles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/ghost_roles/space_roles.dm + +

+ + + +
/obj/effect/mob_spawn/ghost_role/human/lavaland_syndicate/comms/spaceasteroid comms agent
/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiserbattlecruiser stuff
+ + + diff --git a/code/modules/mob_spawn/ghost_roles/venus_human_trap.html b/code/modules/mob_spawn/ghost_roles/venus_human_trap.html new file mode 100644 index 00000000000..01b36912f6e --- /dev/null +++ b/code/modules/mob_spawn/ghost_roles/venus_human_trap.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mob_spawn/ghost_roles/venus_human_trap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/ghost_roles/venus_human_trap.dm + +

+ + +
/obj/effect/mob_spawn/ghost_role/venus_human_trapHandles logic for ghost spawning code, visible object in game is handled by /obj/structure/alien/resin/flower_bud
+ + + diff --git a/code/modules/mob_spawn/mob_spawn.html b/code/modules/mob_spawn/mob_spawn.html new file mode 100644 index 00000000000..cf551809981 --- /dev/null +++ b/code/modules/mob_spawn/mob_spawn.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mob_spawn/mob_spawn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mob_spawn/mob_spawn.dm + +

+ + + +
/obj/effect/mob_spawn/ghost_rolethese mob spawn subtypes do not trigger until attacked by a ghost.
/obj/effect/mob_spawn/corpsethese mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?
+ + + diff --git a/code/modules/mod/adding_new_mod.html b/code/modules/mod/adding_new_mod.html new file mode 100644 index 00000000000..ed8991137de --- /dev/null +++ b/code/modules/mod/adding_new_mod.html @@ -0,0 +1,299 @@ + + + + + + + code/modules/mod/adding_new_mod.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/adding_new_mod.md + +

+ + +
Introduction +

This is a step by step guide for creating a MODsuit theme, skin and module.

+Theme +

This is pretty simple, we go here and add a new definition, let's go with a Psychologist theme as an example.
+Their names should be like model names or use similar adjectives, like "magnate" or simply "engineering", so we'll go with "psychological".
+After that, it's good to decide what company is manufacturing the suit, and a basic description of what it offers, we'll write that down in the desc.
+So, let's our suit should be a low-power usage with lowered module capacity. We'd go with something like this.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+
+

For people that want to see additional stuff, we add an extended description with some more insight into what the suit does. We also set the default skin to usually the theme name, like so.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+
+

Next we want to set the statistics, you can view them all in the theme file, so let's just grab our relevant ones, armor, charge and capacity and set them to what we establilished.
+Currently crew MODsuits should be lightly armored in combat relevant stats.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+
+

Now we have a basic theme, it lacks a skin which will be covered in the next section, and an item, which we will add right now.
+Let's go into here. It's as simple as adding a new suit type with the appropriate modules you want.

+
/obj/item/mod/control/pre_equipped/psychological
+	theme = /datum/mod_theme/psychological
+	initial_modules = list(
+		/obj/item/mod/module/storage,
+		/obj/item/mod/module/flashlight,
+	)
+
+

This will create our psychological suit, equipped with a storage and flashlight modules by default. We might also want to make it craftable, in which case we go here and set this.

+
/obj/item/mod/construction/armor/psychological
+	theme = /datum/mod_theme/psychological
+
+

After that we put it in the techweb or whatever other source we want. Now our suit is almost ready, it just needs a skin.

+Skin +

So, now that we have our theme, we want to add a skin to it (or another theme of our choosing). Let's start with a basis.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	skins = list(
+		"psychological" = list(
+			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+			),
+			CHESTPLATE_FLAGS = list(
+			),
+			GAUNTLETS_FLAGS = list(
+			),
+			BOOTS_FLAGS = list(
+			),
+		),
+	)
+
+

We now have a psychological skin, this will apply the psychological icons to every part of the suit. Next we'll be looking at the flags. Boots, gauntlets and the chestplate are usually very standard, we set their thickmaterial and pressureproofness while hiding the jumpsuit on the chestplate. On the helmet however, we'll actually look at its' icon.
+For example, if our helmet's icon covers the full head (like the research skin), we want to do something like this.

+
			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE|BLOCK_GAS_SMOKE_EFFECT,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+
+

Otherwise, with an open helmet that becomes closed (like the engineering skin), we'd do this.

+
			HELMET_LAYER = NECK_LAYER,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+
+

There are specific cases of helmets that semi-cover the head, like the cosmohonk, apocryphal and whatnot. You can look at these for more specific suits. So let's say our suit is an open helmet design, and also add an alternate skin with a closed helmet called psychotherapeutic. It'd look something like this.

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	skins = list(
+		"psychological" = list(
+			HELMET_LAYER = NECK_LAYER,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		"psychotherapeutic" = list(
+			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		),
+	)
+
+

Thus we finished our codeside. Now we go to the icon files for the suits and simply add our new skin's icons.
+Now our suit is finished. But let's say we want to give it an unique module.

+Module +

So, for our psychological suit, let's say we want a module that heals the brain damage of everyone in range.
+As it's a medical module, we'll put it here. Let's start with the object definition.

+
/obj/item/mod/module/neuron_healer
+	name = "MOD neuron healer module"
+	desc = "A module made experimentally by DeForest Medical Corporation. On demand it releases waves \
+		that heal neuron damage of everyone nearby, getting their brains to a better state."
+	icon_state = "neuron_healer"
+
+

As we want this effect to be on demand, we probably want this to be an usable module. There are four types of modules:

+
    +
  • Passive: These have a passive effect.
  • +
  • Togglable: You can turn these on and off.
  • +
  • Usable: You can use these for a one time effect.
  • +
  • Active: You can only have one selected at a time. It gives you a special click effect.
  • +
+

As we have an usable module, we want to set a cooldown time. All modules are also incompatible with themselves, have a specific power cost and complexity varying on how powerful they are, so let's update our definition, and also add a new variable for how much brain damage we'll heal.

+
/obj/item/mod/module/neuron_healer
+	name = "MOD neuron healer module"
+	desc = "A module made experimentally by DeForest Medical Corporation. On demand it releases waves \
+		that heal neuron damage of everyone nearby, getting their brains to a better state."
+	icon_state = "neuron_healer"
+	module_type = MODULE_USABLE
+	complexity = 3
+	use_power_cost = DEFAULT_CHARGE_DRAIN
+	incompatible_modules = list(/obj/item/mod/module/neuron_healer)
+	cooldown_time = 15 SECONDS
+	var/brain_damage_healed = 25
+
+

Now, we want to override the on_use proc for our new effect. We want to make sure the use checks passed from parent. You can read about most procs and variables by reading this

+
/obj/item/mod/module/neuron_healer/on_use()
+	. = ..()
+	if(!.)
+		return
+
+

After this, we want to put our special code, a basic effect of healing all mobs nearby for their brain damage and creating a beam to them.

+
/obj/item/mod/module/neuron_healer/on_use()
+	. = ..()
+	if(!.)
+		return
+	for(var/mob/living/carbon/carbon_mob in range(5, src))
+		if(carbon_mob == mod.wearer)
+			continue
+		carbon_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -brain_damage_healed)
+		mod.wearer.Beam(carbon_mob, icon_state = "plasmabeam", time = 1.5 SECONDS)
+	playsound(src, 'sound/effects/magic.ogg', 100, TRUE)
+	drain_power(use_power_cost)
+
+

We now have a basic module, we can add it to the techwebs to make it printable ingame, and we can add an inbuilt, advanced version of it for our psychological suit. We'll give it more healing power, no complexity and make it unremovable.

+
/obj/item/mod/module/neuron_healer/advanced
+	name = "MOD advanced neuron healer module"
+	complexity = 0
+	brain_damage_healed = 50
+
+

Now we want to add it to the psychological theme, which is very simple, finishing with this:

+
/datum/mod_theme/psychological
+	name = "psychological"
+	desc = "A DeForest Medical Corporation power-saving psychological suit, limiting its' module capacity."
+	extended_desc = "DeForest Medical Corporation's prototype suit, based off the work of \
+		Nakamura Engineering. The suit has been modified to save power compared to regular suits, \
+		for operating at lower power levels, keeping people sane. As consequence, the capacity \
+		of the suit has decreased, not being able to fit many modules at all."
+	default_skin = "psychological"
+	armor_type = /datum/armor/modtheme_psychological
+	complexity_max = DEFAULT_MAX_COMPLEXITY - 7
+	charge_drain = DEFAULT_CHARGE_DRAIN * 0.5
+	inbuilt_modules = list(/obj/item/mod/module/neuron_healer/advanced)
+	skins = list(
+		"psychological" = list(
+			HELMET_LAYER = NECK_LAYER,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT,
+				SEALED_CLOTHING = THICKMATERIAL|STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR,
+				SEALED_INVISIBILITY = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				SEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		"psychotherapeutic" = list(
+			HELMET_LAYER = null,
+			HELMET_FLAGS = list(
+				UNSEALED_CLOTHING = SNUG_FIT|THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				UNSEALED_INVISIBILITY = HIDEFACIALHAIR|HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDESNOUT,
+				UNSEALED_COVER = HEADCOVERSMOUTH|HEADCOVERSEYES|PEPPERPROOF,
+			),
+			CHESTPLATE_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+				SEALED_INVISIBILITY = HIDEJUMPSUIT,
+			),
+			GAUNTLETS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+			BOOTS_FLAGS = list(
+				UNSEALED_CLOTHING = THICKMATERIAL,
+				SEALED_CLOTHING = STOPSPRESSUREDAMAGE,
+			),
+		),
+	)
+
+Ending +

This finishes this hopefully easy to follow along tutorial. You should now know how to make a basic theme, a skin for it, and a module.

+ + + diff --git a/code/modules/mod/mod_control.html b/code/modules/mod/mod_control.html new file mode 100644 index 00000000000..a037ed1ff9e --- /dev/null +++ b/code/modules/mod/mod_control.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/mod_control.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/mod_control.dm + +

+ + +
/obj/item/modMODsuits, trade-off between armor and utility
+ + + diff --git a/code/modules/mod/mod_link.html b/code/modules/mod/mod_link.html new file mode 100644 index 00000000000..bd889019c11 --- /dev/null +++ b/code/modules/mod/mod_link.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/mod_link.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/mod_link.dm + +

+ + + +
/datum/mod_linkA MODlink datum, used to handle unique functions that will be used in the MODlink call.
/datum/mod_link_callA MODlink call datum, used to handle the call between two MODlinks.
+ + + diff --git a/code/modules/mod/mod_theme.html b/code/modules/mod/mod_theme.html new file mode 100644 index 00000000000..545d4c583aa --- /dev/null +++ b/code/modules/mod/mod_theme.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/mod_theme.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/mod_theme.dm + +

+ + + + +
/proc/setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
/datum/mod_themeMODsuit theme, instanced once and then used by MODsuits to grab various statistics.
+ + + diff --git a/code/modules/mod/modules/_module.html b/code/modules/mod/modules/_module.html new file mode 100644 index 00000000000..158edd03a9f --- /dev/null +++ b/code/modules/mod/modules/_module.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/modules/_module.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/_module.dm + +

+ + + +
/obj/item/mod/moduleMOD Module - A special device installed in a MODsuit allowing the suit to do new stuff.
/obj/item/mod/module/anomaly_lockedAnomaly Locked - Causes the module to not function without an anomaly.
+ + + diff --git a/code/modules/mod/modules/module_kinesis.html b/code/modules/mod/modules/module_kinesis.html new file mode 100644 index 00000000000..0ff2de51223 --- /dev/null +++ b/code/modules/mod/modules/module_kinesis.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/modules/module_kinesis.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/module_kinesis.dm + +

+ + + +
/obj/item/mod/module/anomaly_locked/kinesisKinesis - Gives you the ability to move and launch objects.
/obj/item/mod/module/anomaly_locked/kinesis/adminAdmin suit version of kinesis. Can grab anything at any range, may enable phasing through walls.
+ + + diff --git a/code/modules/mod/modules/module_pathfinder.html b/code/modules/mod/modules/module_pathfinder.html new file mode 100644 index 00000000000..f5d168b2a44 --- /dev/null +++ b/code/modules/mod/modules/module_pathfinder.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/modules/module_pathfinder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/module_pathfinder.dm + +

+ + +
/obj/item/mod/module/pathfinderPathfinder - Can fly the suit from a long distance to an implant installed in someone.
+ + + diff --git a/code/modules/mod/modules/modules_antag.html b/code/modules/mod/modules/modules_antag.html new file mode 100644 index 00000000000..c9219398b6b --- /dev/null +++ b/code/modules/mod/modules/modules_antag.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/mod/modules/modules_antag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_antag.dm + +

+ + + + + + + + + + + +
/obj/item/mod/module/armor_boosterArmor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.
/obj/item/mod/module/energy_shieldEnergy Shield - Gives you a rechargeable energy shield that nullifies attacks.
/obj/item/mod/module/anti_magicMagic Nullifier - Protects you from magic.
/obj/item/mod/module/insigniaInsignia - Gives you a skin specific stripe.
/obj/item/mod/module/noslipAnti Slip - Prevents you from slipping on water.
/obj/item/mod/module/flamethrowerFlamethrower - Launches fire across the area.
/obj/item/mod/module/power_kickPower kick - Lets the user launch themselves at someone to kick them.
/obj/item/mod/module/chameleonChameleon - lets the suit disguise as any item that would fit on that slot.
/obj/item/mod/module/plate_compressionPlate Compression - Compresses the suit to normal size
/obj/item/mod/module/medbeamMedbeam - Medbeam but built into a modsuit
+ + + diff --git a/code/modules/mod/modules/modules_engineering.html b/code/modules/mod/modules/modules_engineering.html new file mode 100644 index 00000000000..46bfaf80616 --- /dev/null +++ b/code/modules/mod/modules/modules_engineering.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mod/modules/modules_engineering.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_engineering.dm + +

+ + + + + + + + + +
/obj/item/mod/module/weldingWelding Protection - Makes the helmet protect from flashes and welding.
/obj/item/mod/module/t_rayT-Ray Scan - Scans the terrain for undertile objects.
/obj/item/mod/module/magbootMagnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.
/obj/item/mod/module/tetherEmergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
/obj/item/mod/module/rad_protectionRadiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.
/obj/item/mod/module/constructorConstructor - Lets you build quicker and create RCD holograms.
/obj/item/mod/module/misterMister - Sprays water over an area.
/obj/item/mod/module/mister/atmosResin Mister - Sprays resin over an area.
+ + + diff --git a/code/modules/mod/modules/modules_general.html b/code/modules/mod/modules/modules_general.html new file mode 100644 index 00000000000..080e6a18db7 --- /dev/null +++ b/code/modules/mod/modules/modules_general.html @@ -0,0 +1,49 @@ + + + + + + + code/modules/mod/modules/modules_general.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mod/modules/modules_general.dm + +

+ + + + + + + + + + + + + + + + + + + +
/obj/item/mod/module/storageStorage - Adds a storage component to the suit.
/obj/item/mod/module/jetpackIon Jetpack - Lets the user fly freely through space using battery charge.
FAILED_ACTIVATION_COOLDOWNCooldown to use if we didn't actually launch a jump jet
/obj/item/mod/module/jump_jetJump Jet - Briefly removes the effect of gravity and pushes you up one z-level if possible.
/obj/item/mod/module/status_readoutStatus Readout - Puts a lot of information including health, nutrition, fingerprints, temperature to the suit TGUI.
/obj/item/mod/module/mouthholeEating Apparatus - Lets the user eat/drink with the suit on.
/obj/item/mod/module/emp_shieldEMP Shield - Protects the suit from EMPs.
/obj/item/mod/module/flashlightFlashlight - Gives the suit a customizable flashlight.
/obj/item/mod/module/dispenserDispenser - Dispenses an item after a time passes.
/obj/item/mod/module/longfallLongfall - Nullifies fall damage, removing charge instead.
/obj/item/mod/module/thermal_regulatorThermal Regulator - Regulates the wearer's core temperature.
/obj/item/mod/module/dna_lockDNA Lock - Prevents people without the set DNA from activating the suit.
/obj/item/mod/module/plasma_stabilizerPlasma Stabilizer - Prevents plasmamen from igniting in the suit
/obj/item/mod/module/hat_stabilizerHat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets.
/obj/item/mod/module/signlang_radioSign Language Translator - allows people to sign over comms using the modsuit's gloves.
/obj/item/mod/module/joint_torsionA module that recharges the suit by an itsy tiny bit whenever the user takes a step. Originally called "magneto module" but the videogame reference sounds cooler.
/obj/item/mod/module/recyclerModule that shoves garbage inside its material container when the user crosses it, and eject the recycled material with MMB.
/obj/item/mod/module/recycler/donkA black market variant of the above that dispenses riot foam dart boxes

Define Details

+

FAILED_ACTIVATION_COOLDOWN + + +

+

Cooldown to use if we didn't actually launch a jump jet

+ + + diff --git a/code/modules/mod/modules/modules_maint.html b/code/modules/mod/modules/modules_maint.html new file mode 100644 index 00000000000..d14aba50f79 --- /dev/null +++ b/code/modules/mod/modules/modules_maint.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mod/modules/modules_maint.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_maint.dm + +

+ + + + + + + + +
/obj/item/mod/module/springlockSpringlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.
/obj/item/mod/module/visor/raveRave Visor - Gives you a rainbow visor and plays jukebox music to you.
/obj/item/mod/module/tannerTanner - Tans you with spraytan.
/obj/item/mod/module/balloonBalloon Blower - Blows a balloon.
/obj/item/mod/module/paper_dispenserPaper Dispenser - Dispenses (sometimes burning) paper sheets.
/obj/item/mod/module/stampStamper - Extends a stamp that can switch between accept/deny modes.
/obj/item/mod/module/atrocinatorAtrocinator - Flips your gravity.
+ + + diff --git a/code/modules/mod/modules/modules_medical.html b/code/modules/mod/modules/modules_medical.html new file mode 100644 index 00000000000..ef7781012c6 --- /dev/null +++ b/code/modules/mod/modules/modules_medical.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/mod/modules/modules_medical.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_medical.dm + +

+ + + + + + + + + +
/obj/item/mod/module/health_analyzerHealth Analyzer - Gives the user a ranged health analyzer and their health status in the panel.
/obj/item/mod/module/quick_carryQuick Carry - Lets the user carry bodies quicker.
/obj/item/mod/module/injectorInjector - Gives the suit an extendable large-capacity piercing syringe.
/obj/item/mod/module/organ_throwerOrgan Thrower - Lets you shoot organs, immediately replacing them if the target has the organ manipulation surgery.
/obj/item/mod/module/criminalcapture/patienttransportPatrient Transport - Generates hardlight bags you can put people in.
/obj/item/mod/module/defibrillatorDefibrillator - Gives the suit an extendable pair of shock paddles.
/obj/item/mod/module/thread_ripperThread Ripper - Temporarily rips apart clothing to make it not cover the body.
/obj/item/mod/module/surgical_processorSurgical Processor - Lets you do advanced surgeries portably.
+ + + diff --git a/code/modules/mod/modules/modules_ninja.html b/code/modules/mod/modules/modules_ninja.html new file mode 100644 index 00000000000..fb03d6fa1a1 --- /dev/null +++ b/code/modules/mod/modules/modules_ninja.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/mod/modules/modules_ninja.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_ninja.dm + +

+ + + + + + + + +
/obj/item/mod/module/stealthCloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.
/obj/item/mod/module/welding/camera_visionCamera Vision - Prevents flashes, blocks tracking.
/obj/item/mod/module/hackerHacker - This module hooks onto your right-clicks with empty hands and causes ninja actions.
/obj/item/mod/module/weapon_recallWeapon Recall - Teleports your katana to you, prevents gun use.
/obj/item/mod/module/status_readout/ninjaNinja Status Readout - Like the normal status display (see the base type), but with a clock.
/obj/item/mod/module/energy_netEnergy Net - Ensnares enemies in a net that prevents movement.
/obj/item/mod/module/adrenaline_boostAdrenaline Boost - Stops all stuns the ninja is affected with, increases his speed.
+ + + diff --git a/code/modules/mod/modules/modules_science.html b/code/modules/mod/modules/modules_science.html new file mode 100644 index 00000000000..cc0a7f019d7 --- /dev/null +++ b/code/modules/mod/modules/modules_science.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/mod/modules/modules_science.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_science.dm + +

+ + + + +
/obj/item/mod/module/reagent_scannerReagent Scanner - Lets the user scan reagents.
/obj/item/mod/module/anomaly_locked/antigravAnti-Gravity - Makes the user weightless.
/obj/item/mod/module/anomaly_locked/teleporterTeleporter - Lets the user teleport to a nearby location.
+ + + diff --git a/code/modules/mod/modules/modules_security.html b/code/modules/mod/modules/modules_security.html new file mode 100644 index 00000000000..daf843bff94 --- /dev/null +++ b/code/modules/mod/modules/modules_security.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/mod/modules/modules_security.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_security.dm + +

+ + + + + + + + + + +
/obj/item/mod/module/magnetic_harnessMagnetic Harness - Automatically puts guns in your suit storage when you drop them.
/obj/item/mod/module/pepper_shouldersPepper Shoulders - When hit, reacts with a spray of pepper spray around the user.
/obj/item/mod/module/holsterHolster - Instantly holsters any not huge gun.
/obj/item/mod/module/megaphoneMegaphone - Lets you speak loud.
/obj/item/mod/module/criminalcaptureCriminal Capture - Generates hardlight bags you can put people in and sinch.
/obj/item/mod/module/dispenser/mirageMirage grenade dispenser - Dispenses grenades that copy the user's appearance.
/obj/item/mod/module/projectile_dampenerProjectile Dampener - Weakens projectiles in range.
/obj/item/mod/module/active_sonarActive Sonar - Displays a hud circle on the turf of any living creatures in the given radius
/obj/item/mod/module/shooting_assistantA module that enhances the user's ability with firearms, with a couple drawbacks: +In 'Stormtrooper' mode, the user will be given faster firerate, but lower accuracy. +In 'Sharpshooter' mode, the user will have better accuracy and ricochet to his shots, but slower movement speed. +Both modes prevent the user from dual wielding guns.
+ + + diff --git a/code/modules/mod/modules/modules_service.html b/code/modules/mod/modules/modules_service.html new file mode 100644 index 00000000000..01a13846158 --- /dev/null +++ b/code/modules/mod/modules/modules_service.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/mod/modules/modules_service.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_service.dm + +

+ + + +
/obj/item/mod/module/bikehornBike Horn - Plays a bike horn sound.
/obj/item/mod/module/microwave_beamMicrowave Beam - Microwaves items instantly.
+ + + diff --git a/code/modules/mod/modules/modules_supply.html b/code/modules/mod/modules/modules_supply.html new file mode 100644 index 00000000000..42db6d94a9d --- /dev/null +++ b/code/modules/mod/modules/modules_supply.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/mod/modules/modules_supply.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_supply.dm + +

+ + + + + +
/obj/item/mod/module/gpsInternal GPS - Extends a GPS you can use.
/obj/item/mod/module/clampHydraulic Clamp - Lets you pick up and drop crates.
/obj/item/mod/module/drillDrill - Lets you dig through rock and basalt.
/obj/item/mod/module/orebagOre Bag - Lets you pick up ores and drop them from the suit.
+ + + diff --git a/code/modules/mod/modules/modules_timeline.html b/code/modules/mod/modules/modules_timeline.html new file mode 100644 index 00000000000..4948d3bd698 --- /dev/null +++ b/code/modules/mod/modules/modules_timeline.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/mod/modules/modules_timeline.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/mod/modules/modules_timeline.dm + +

+ + + + + + + + + +
CHRONO_BEAM_RANGErange of the chrono beam!
CHRONO_FRAME_COUNThow many frames the chronofield needs before it eradicates someone.
/obj/item/mod/module/eradication_lockEradication lock - Prevents people who aren't the owner of the suit from existing on the timeline via eradicating the suit with the intruder inside
/obj/item/mod/module/rewinderRewinder - Activating saves a point in time, after 10 seconds you will jump back to that state.
/obj/item/mod/module/timestopperTimestopper - Need I really explain? It's the wizard's time stop, but the user channels it by not moving instead of a duration.
/obj/item/mod/module/timeline_jumperTimeline Jumper - Infinite phasing. needs some special effects
/obj/effect/dummy/phased_mob/chronospecial subtype for phased mobs.
/obj/item/mod/module/temTEM - Lets you eradicate people.

Define Details

+

CHRONO_BEAM_RANGE + + +

+

range of the chrono beam!

CHRONO_FRAME_COUNT + + +

+

how many frames the chronofield needs before it eradicates someone.

+ + + diff --git a/code/modules/mod/modules/modules_visor.html b/code/modules/mod/modules/modules_visor.html new file mode 100644 index 00000000000..ed7c9846d41 --- /dev/null +++ b/code/modules/mod/modules/modules_visor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/mod/modules/modules_visor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/mod/modules/modules_visor.dm + +

+ + +
/obj/item/mod/module/visorBase Visor - Adds a specific HUD and traits to you.
+ + + diff --git a/code/modules/modular_computers/computers/item/computer.html b/code/modules/modular_computers/computers/item/computer.html new file mode 100644 index 00000000000..da37a45e494 --- /dev/null +++ b/code/modules/modular_computers/computers/item/computer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/computers/item/computer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/computer.dm + +

+ + +
/obj/item/modular_computer/debugDebug ModPC +Used to spawn all programs for Create and Destroy unit test.
+ + + diff --git a/code/modules/modular_computers/computers/item/computer_power.html b/code/modules/modular_computers/computers/item/computer_power.html new file mode 100644 index 00000000000..f72aa6556c8 --- /dev/null +++ b/code/modules/modular_computers/computers/item/computer_power.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/modular_computers/computers/item/computer_power.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/computers/item/computer_power.dm + +

+ + +
FLASHLIGHT_DRAIN_MULTIPLIERThe multiplier given to the base overtime charge drain value if its flashlight is on.

Define Details

+

FLASHLIGHT_DRAIN_MULTIPLIER + + +

+

The multiplier given to the base overtime charge drain value if its flashlight is on.

+ + + diff --git a/code/modules/modular_computers/computers/item/disks/maintenance_disks.html b/code/modules/modular_computers/computers/item/disks/maintenance_disks.html new file mode 100644 index 00000000000..a7bea1f1696 --- /dev/null +++ b/code/modules/modular_computers/computers/item/disks/maintenance_disks.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/modular_computers/computers/item/disks/maintenance_disks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/disks/maintenance_disks.dm + +

+ + + + +
/obj/item/computer_disk/maintenance/scannerMedical health analyzer app
/obj/item/computer_disk/maintenance/cameraCamera app, forced to always have largest image size
/obj/item/computer_disk/maintenance/modsuit_controlMODsuit UI, in your PDA!
+ + + diff --git a/code/modules/modular_computers/computers/item/disks/role_disks.html b/code/modules/modular_computers/computers/item/disks/role_disks.html new file mode 100644 index 00000000000..c83b2ec028d --- /dev/null +++ b/code/modules/modular_computers/computers/item/disks/role_disks.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/modular_computers/computers/item/disks/role_disks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/disks/role_disks.dm + +

+ + + + + + + +
/obj/item/computer_disk/commandCommand
/obj/item/computer_disk/securitySecurity
/obj/item/computer_disk/medicalMedical
/obj/item/computer_disk/quartermasterSupply
/obj/item/computer_disk/ordnanceScience
/obj/item/computer_disk/engineeringEngineering
+ + + diff --git a/code/modules/modular_computers/computers/item/disks/virus_disk.html b/code/modules/modular_computers/computers/item/disks/virus_disk.html new file mode 100644 index 00000000000..30941564f17 --- /dev/null +++ b/code/modules/modular_computers/computers/item/disks/virus_disk.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/modular_computers/computers/item/disks/virus_disk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/disks/virus_disk.dm + +

+ + + + + + +
/obj/item/computer_disk/virusVirus disk +Can't hold apps, instead does unique actions.
/obj/item/computer_disk/virus/clownClown virus +Makes people's PDA honk +Can also be used on open panel airlocks to make them honk on opening.
/obj/item/computer_disk/virus/mimeMime virus +Makes PDA's silent, removing their ringtone.
/obj/item/computer_disk/virus/detomatixDetomatix virus +Sends a false message, and blows the PDA up if the target responds to it (or opens their messenger before a timer)
/obj/item/computer_disk/virus/frameFrame cartridge +Creates and opens a false uplink on someone's PDA +Can be loaded with TC to show up on the false uplink.
+ + + diff --git a/code/modules/modular_computers/computers/item/pda.html b/code/modules/modular_computers/computers/item/pda.html new file mode 100644 index 00000000000..5cccf53e1d5 --- /dev/null +++ b/code/modules/modular_computers/computers/item/pda.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/computers/item/pda.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/pda.dm + +

+ + + +
/obj/item/modular_computer/pda/nukeopsNuclear PDA
/obj/item/modular_computer/pda/siliconSilicon PDA
+ + + diff --git a/code/modules/modular_computers/computers/item/role_tablet_presets.html b/code/modules/modular_computers/computers/item/role_tablet_presets.html new file mode 100644 index 00000000000..dea83fb2906 --- /dev/null +++ b/code/modules/modular_computers/computers/item/role_tablet_presets.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/modular_computers/computers/item/role_tablet_presets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/computers/item/role_tablet_presets.dm + +

+ + + + + + + + + + +
/obj/item/modular_computer/pda/headsCommand
/obj/item/modular_computer/pda/securitySecurity
/obj/item/modular_computer/pda/engineeringEngineering
/obj/item/modular_computer/pda/scienceScience
/obj/item/modular_computer/pda/medicalMedical
/obj/item/modular_computer/pda/cargoSupply
/obj/item/modular_computer/pda/janitorService
/obj/item/modular_computer/pda/assistantNo Department
/obj/item/modular_computer/pda/syndicateNon-roles
+ + + diff --git a/code/modules/modular_computers/file_system/data.html b/code/modules/modular_computers/file_system/data.html new file mode 100644 index 00000000000..69cffdc5f4d --- /dev/null +++ b/code/modules/modular_computers/file_system/data.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/modular_computers/file_system/data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/data.dm + +

+ + + + + + + + +
BLOCK_SIZEUsed to calculate how large a text file is.
/datum/computer_file/dataBase DATA file type +Doesn't do anything, mostly here for organization.
/datum/computer_file/data/textHolds data in string format.
/datum/computer_file/data/text/logfileA text file with a different filetype +Used for flavortext
/datum/computer_file/data/ordnanceOrdnance data +Holds possible experiments to do
/datum/computer_file/data/ordnance/explosiveExplosive data +Holds a specific taychon record.
/datum/computer_file/data/ordnance/gaseousGaseous data +Holds a specific compressor record.

Define Details

+

BLOCK_SIZE + + +

+

Used to calculate how large a text file is.

+ + + diff --git a/code/modules/modular_computers/file_system/picture_file.html b/code/modules/modular_computers/file_system/picture_file.html new file mode 100644 index 00000000000..3fac66ec8c2 --- /dev/null +++ b/code/modules/modular_computers/file_system/picture_file.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/modular_computers/file_system/picture_file.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/picture_file.dm + +

+ + +
/datum/computer_file/picturePNG file type +Stores a picture which can be used by other programs.
+ + + diff --git a/code/modules/modular_computers/file_system/program.html b/code/modules/modular_computers/file_system/program.html new file mode 100644 index 00000000000..980ed3b23f0 --- /dev/null +++ b/code/modules/modular_computers/file_system/program.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/modular_computers/file_system/program.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/program.dm + +

+ + +
PROGRAM_BASIC_CELL_USEThe default amount a program should take in cell use.

Define Details

+

PROGRAM_BASIC_CELL_USE + + +

+

The default amount a program should take in cell use.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/atmosscan.html b/code/modules/modular_computers/file_system/programs/atmosscan.html new file mode 100644 index 00000000000..465165a2921 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/atmosscan.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/modular_computers/file_system/programs/atmosscan.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/programs/atmosscan.dm + +

+ + + +
ATMOZPHERE_SCAN_ENVScan the turf where the computer is on.
ATMOZPHERE_SCAN_CLICKScan the objects that the tablet clicks.

Define Details

+

ATMOZPHERE_SCAN_CLICK + + +

+

Scan the objects that the tablet clicks.

ATMOZPHERE_SCAN_ENV + + +

+

Scan the turf where the computer is on.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/emojipedia.html b/code/modules/modular_computers/file_system/programs/emojipedia.html new file mode 100644 index 00000000000..c1c6d03a96b --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/emojipedia.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/emojipedia.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/emojipedia.dm + +

+ + +
/datum/computer_file/program/emojipediaA tablet app that lets anyone see all the valid emoji they can send via a PDA message (and even OOC!)
+ + + diff --git a/code/modules/modular_computers/file_system/programs/maintenance/_maintenance_program.html b/code/modules/modular_computers/file_system/programs/maintenance/_maintenance_program.html new file mode 100644 index 00000000000..07e894becfd --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/maintenance/_maintenance_program.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/maintenance/_maintenance_program.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/maintenance/_maintenance_program.dm + +

+ + +
/datum/computer_file/program/maintenanceMaintenance programs
+ + + diff --git a/code/modules/modular_computers/file_system/programs/messenger/messenger_data.html b/code/modules/modular_computers/file_system/programs/messenger/messenger_data.html new file mode 100644 index 00000000000..391aa38c33a --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/messenger/messenger_data.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/modular_computers/file_system/programs/messenger/messenger_data.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/messenger/messenger_data.dm + +

+ + + + + + + + + + + + + +
/proc/add_messengerRegisters an NTMessenger instance to the list of pda_messengers.
/proc/remove_messengerUnregisters an NTMessenger instance from the pda_messengers table.
/proc/get_messengers_sorted_by_nameGets all messengers, sorted by their name
/proc/get_messengers_sorted_by_jobGets all messengers, sorted by their job
/proc/get_messenger_nameGet the display name of a messenger instance
/datum/pda_chatChat log data type, stores information about the recipient, +the messages themselves and other metadata.
/datum/pda_messageChat message data type, stores data about messages themselves.
+ + + diff --git a/code/modules/modular_computers/file_system/programs/messenger/messenger_program.html b/code/modules/modular_computers/file_system/programs/messenger/messenger_program.html new file mode 100644 index 00000000000..d56202cf46a --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/messenger/messenger_program.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/programs/messenger/messenger_program.dm + +

+ + + + +
TEMP_IMAGE_PATHUsed to generate an asset key for a temporary image unique to this user.
MAX_PDA_MESSAGE_LENPurpose is evident by the name, hopefully.
PDA_MESSAGE_TIMESTAMP_FORMATFormat of message timestamps.

Define Details

+

MAX_PDA_MESSAGE_LEN + + +

+

Purpose is evident by the name, hopefully.

PDA_MESSAGE_TIMESTAMP_FORMAT + + +

+

Format of message timestamps.

TEMP_IMAGE_PATH + + + +

+

Used to generate an asset key for a temporary image unique to this user.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.html b/code/modules/modular_computers/file_system/programs/portrait_printer.html new file mode 100644 index 00000000000..454a3b73460 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/portrait_printer.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/modular_computers/file_system/programs/portrait_printer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/modular_computers/file_system/programs/portrait_printer.dm + +

+ + + +
CANVAS_PAPER_COSThow much paper it takes from the printer to create a canvas.
/datum/computer_file/program/portrait_printer

Define Details

+

CANVAS_PAPER_COST + + +

+

how much paper it takes from the printer to create a canvas.

+ + + diff --git a/code/modules/modular_computers/file_system/programs/powermonitor.html b/code/modules/modular_computers/file_system/programs/powermonitor.html new file mode 100644 index 00000000000..fe306fde3f7 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/powermonitor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/powermonitor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/powermonitor.dm + +

+ + +
/datum/computer_file/program/power_monitorthis is a copy of something that is already in the database- it should not be able to be saved.
+ + + diff --git a/code/modules/modular_computers/file_system/programs/radar.html b/code/modules/modular_computers/file_system/programs/radar.html new file mode 100644 index 00000000000..d04e11c5f87 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/radar.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/modular_computers/file_system/programs/radar.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/radar.dm + +

+ + + + +
/datum/computer_file/program/radar/lifelineA program that tracks crew members via suit sensors
/datum/computer_file/program/radar/custodial_locatorTracks all janitor equipment
/datum/computer_file/program/radar/fission360A program that tracks nukes and nuclear accessories
+ + + diff --git a/code/modules/modular_computers/file_system/programs/secureye.html b/code/modules/modular_computers/file_system/programs/secureye.html new file mode 100644 index 00000000000..f6713169fb1 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/secureye.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/modular_computers/file_system/programs/secureye.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/modular_computers/file_system/programs/secureye.dm + +

+ + +
/datum/computer_file/program/secureye/syndicateSyndicate subtype that has no access restrictions and is available on Syndinet
+ + + diff --git a/code/modules/movespeed/_movespeed_modifier.html b/code/modules/movespeed/_movespeed_modifier.html new file mode 100644 index 00000000000..8cb6b823179 --- /dev/null +++ b/code/modules/movespeed/_movespeed_modifier.html @@ -0,0 +1,57 @@ + + + + + + + code/modules/movespeed/_movespeed_modifier.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/movespeed/_movespeed_modifier.dm + +

+ + + + + + + +

Movespeed modification datums.

+
How move speed for mobs works
+
+

Move speed is now calculated by using modifier datums which are added to mobs. Some of them (nonvariable ones) are globally cached, the variable ones are instanced and changed based on need.

+

This gives us the ability to have multiple sources of movespeed, reliabily keep them applied and remove them when they should be

+

THey can have unique sources and a bunch of extra fancy flags that control behaviour

+

Previously trying to update move speed was a shot in the dark that usually meant mobs got stuck going faster or slower

+

Movespeed modification list is a simple key = datum system. Key will be the datum's ID if it is overridden to not be null, or type if it is not.

+

DO NOT override datum IDs unless you are going to have multiple types that must overwrite each other. It's more efficient to use types, ID functionality is only kept for cases where dynamic creation of modifiers need to be done.

+

When update movespeed is called, the list of items is iterated, according to flags priority and a bunch of conditions +this spits out a final calculated value which is used as a modifer to last_move + modifier for calculating when a mob +can next move

+

Key procs

+
/proc/get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

Used for variable slowdowns like hunger/health loss/etc, works somewhat like the old list-based modification adds. Returns the modifier datum if successful +How this SHOULD work is: +1. Ensures type_id_datum one way or another refers to a /variable datum. This makes sure it can't be cached. This includes if it's already in the modification list. +2. Instantiate a new datum if type_id_datum isn't already instantiated + in the list, using the type. Obviously, wouldn't work for ID only. +3. Add the datum if necessary using the regular add proc +4. If any of the rest of the args are not null (see: multiplicative slowdown), modify the datum +5. Update if necessary

+
/proc/movespeed_data_null_checkChecks if a move speed modifier is valid and not missing any data
+ + + diff --git a/code/modules/movespeed/modifiers/status_effects.html b/code/modules/movespeed/modifiers/status_effects.html new file mode 100644 index 00000000000..c4cf82b1ea9 --- /dev/null +++ b/code/modules/movespeed/modifiers/status_effects.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/movespeed/modifiers/status_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/movespeed/modifiers/status_effects.dm + +

+ + +
/datum/movespeed_modifier/status_effect/midas_blightGet slower the more gold is in your system.
+ + + diff --git a/code/modules/pai/candidate.html b/code/modules/pai/candidate.html new file mode 100644 index 00000000000..3f52eee43b2 --- /dev/null +++ b/code/modules/pai/candidate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/pai/candidate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/pai/candidate.dm + +

+ + +
/datum/pai_candidate#pAI Candidate
+ + + diff --git a/code/modules/paperwork/clipboard.html b/code/modules/paperwork/clipboard.html new file mode 100644 index 00000000000..8a240917ad4 --- /dev/null +++ b/code/modules/paperwork/clipboard.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/paperwork/clipboard.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/paperwork/clipboard.dm + +

+ + +
/obj/item/clipboardClipboard
+ + + diff --git a/code/modules/paperwork/fax.html b/code/modules/paperwork/fax.html new file mode 100644 index 00000000000..d154840fec8 --- /dev/null +++ b/code/modules/paperwork/fax.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/paperwork/fax.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/paperwork/fax.dm + +

+ + + +
/proc/send_fax_to_areaSends a fax to a fax machine in an area! fax_area is a type, where all subtypes are also queried. If multiple machines, one is randomly picked +If force is TRUE, we send a droppod with a fax machine and fax the message to that fax machine
+ + + diff --git a/code/modules/paperwork/paper.html b/code/modules/paperwork/paper.html new file mode 100644 index 00000000000..0e90c0fe72a --- /dev/null +++ b/code/modules/paperwork/paper.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/paperwork/paper.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/paperwork/paper.dm + +

+ + + + + +
/obj/item/paperPaper +also scraps of paper
/datum/paper_inputA single instance of a saved raw input onto paper.
/datum/paper_stampA single instance of a saved stamp on paper.
/datum/paper_fieldA reference to some data that replaces a modifiable input field at some given index in paper raw input parsing.
+ + + diff --git a/code/modules/paperwork/paper_premade.html b/code/modules/paperwork/paper_premade.html new file mode 100644 index 00000000000..f0bcf4336c3 --- /dev/null +++ b/code/modules/paperwork/paper_premade.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/paperwork/paper_premade.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/paperwork/paper_premade.dm + +

+ + + + + + +
/obj/item/paper/guides/jobs/hydroponicsJob guides n' fluff
/obj/item/paper/fluff/stations/centcom/disk_memoCentCom
/obj/item/paper/fluff/stations/lavaland/orm_noticeLavaland
/obj/item/paper/fluff/spaceruins/lizardsgas/memorandumSpace Ruins
/obj/item/paper/fluff/operativeinstructions for nuclear operatives on how to use their medipen
+ + + diff --git a/code/modules/paperwork/paperwork.html b/code/modules/paperwork/paperwork.html new file mode 100644 index 00000000000..2402b4f959b --- /dev/null +++ b/code/modules/paperwork/paperwork.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/paperwork/paperwork.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/paperwork/paperwork.dm + +

+ + +
/obj/item/paperworkPaperwork documents that can be stamped by their associated stamp to provide a bonus to cargo.
+ + + diff --git a/code/modules/paperwork/photocopier.html b/code/modules/paperwork/photocopier.html new file mode 100644 index 00000000000..20bcde5e6ce --- /dev/null +++ b/code/modules/paperwork/photocopier.html @@ -0,0 +1,113 @@ + + + + + + + code/modules/paperwork/photocopier.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/paperwork/photocopier.dm + +

+ + + + + + + + + + + + + + + + + + + +
BLANKS_FILE_NAMEName of the blanks file
PHOTO_GREYSCALEFor use with the color_mode var. Photos will be printed in greyscale while the var has this value.
PHOTO_COLORFor use with the color_mode var. Photos will be printed in full color while the var has this value.
PAPER_TONER_USEHow much toner is used for making a copy of a paper.
PHOTO_TONER_USEHow much toner is used for making a copy of a photo.
DOCUMENT_TONER_USEHow much toner is used for making a copy of a document.
ASS_TONER_USEHow much toner is used for making a copy of an ass.
PAPERWORK_TONER_USEHow much toner is used for making a copy of paperwork.
TONER_CHARGE_LOW_AMOUNTAt which toner charge amount we start losing color. Toner cartridges are scams.
PAPER_PAPER_USEHow much paper is used for making a copy of paper. What, are you seriously surprised by this?
PHOTO_PAPER_USEHow much paper is used for making a copy of a photo.
DOCUMENT_PAPER_USEHow much paper is used for making a copy of a document.
ASS_PAPER_USEHow much paper is used for making a copy of a photo.
PAPERWORK_PAPER_USEHow much paper is used for making a copy of paperwork.
MAX_PAPER_CAPACITYMaximum capacity of a photocopier
MAX_COPIES_AT_ONCEThe maximum amount of copies you can make with one press of the copy button.
PHOTOCOPIER_FEEPhotocopier copy fee.
/obj/machinery/photocopier/gratisSubtype of photocopier that is free to use.

Define Details

+

ASS_PAPER_USE + + +

+

How much paper is used for making a copy of a photo.

ASS_TONER_USE + + +

+

How much toner is used for making a copy of an ass.

BLANKS_FILE_NAME + + +

+

Name of the blanks file

DOCUMENT_PAPER_USE + + +

+

How much paper is used for making a copy of a document.

DOCUMENT_TONER_USE + + +

+

How much toner is used for making a copy of a document.

MAX_COPIES_AT_ONCE + + +

+

The maximum amount of copies you can make with one press of the copy button.

MAX_PAPER_CAPACITY + + +

+

Maximum capacity of a photocopier

PAPERWORK_PAPER_USE + + +

+

How much paper is used for making a copy of paperwork.

PAPERWORK_TONER_USE + + +

+

How much toner is used for making a copy of paperwork.

PAPER_PAPER_USE + + +

+

How much paper is used for making a copy of paper. What, are you seriously surprised by this?

PAPER_TONER_USE + + +

+

How much toner is used for making a copy of a paper.

PHOTOCOPIER_FEE + + +

+

Photocopier copy fee.

PHOTO_COLOR + + +

+

For use with the color_mode var. Photos will be printed in full color while the var has this value.

PHOTO_GREYSCALE + + +

+

For use with the color_mode var. Photos will be printed in greyscale while the var has this value.

PHOTO_PAPER_USE + + +

+

How much paper is used for making a copy of a photo.

PHOTO_TONER_USE + + +

+

How much toner is used for making a copy of a photo.

TONER_CHARGE_LOW_AMOUNT + + +

+

At which toner charge amount we start losing color. Toner cartridges are scams.

+ + + diff --git a/code/modules/photography/photos/frame.html b/code/modules/photography/photos/frame.html new file mode 100644 index 00000000000..2dd0db4a805 --- /dev/null +++ b/code/modules/photography/photos/frame.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/photography/photos/frame.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/photography/photos/frame.dm + +

+ + +
/obj/structure/sign/picture_frame/portraitThis used to be a plaque portrait of a monkey. Now it's been revamped into something more.
+ + + diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.html b/code/modules/plumbing/plumbers/_plumb_machinery.html new file mode 100644 index 00000000000..2bae92b89d2 --- /dev/null +++ b/code/modules/plumbing/plumbers/_plumb_machinery.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/plumbing/plumbers/_plumb_machinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/_plumb_machinery.dm + +

+ + + + + +
/obj/machinery/plumbingBasic plumbing object. +It doesn't really hold anything special, YET. +Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank +Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it
/obj/machinery/plumbing/inputWe can empty beakers in here and everything
/obj/machinery/plumbing/outputWe can fill beakers in here and everything. we dont inheret from input because it has nothing that we need
/obj/machinery/plumbing/layer_manifoldLayer manifold machine that connects a bunch of layers
+ + + diff --git a/code/modules/plumbing/plumbers/acclimator.html b/code/modules/plumbing/plumbers/acclimator.html new file mode 100644 index 00000000000..18aa69e9ec4 --- /dev/null +++ b/code/modules/plumbing/plumbers/acclimator.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/plumbing/plumbers/acclimator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/plumbing/plumbers/acclimator.dm + +

+ + + +
HEATER_COEFFICIENTcool/heat power. converts temperature into joules
/obj/machinery/plumbing/acclimatorthis the plumbing version of a heater/freezer.

Define Details

+

HEATER_COEFFICIENT + + +

+

cool/heat power. converts temperature into joules

+ + + diff --git a/code/modules/plumbing/plumbers/destroyer.html b/code/modules/plumbing/plumbers/destroyer.html new file mode 100644 index 00000000000..1abb98e84bf --- /dev/null +++ b/code/modules/plumbing/plumbers/destroyer.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/plumbing/plumbers/destroyer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/destroyer.dm + +

+ + +
/obj/machinery/plumbing/disposersee if machine has enough to fill, is anchored down and has any inputspot objects to pick from +pick a reagent_container that could be used +see if it would overflow else inject +glass was full so we move it away +slime extracts need inject +no need to move slimecross industrial things
+ + + diff --git a/code/modules/plumbing/plumbers/filter.html b/code/modules/plumbing/plumbers/filter.html new file mode 100644 index 00000000000..3fbdcf22f1a --- /dev/null +++ b/code/modules/plumbing/plumbers/filter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/filter.dm + +

+ + +
/obj/machinery/plumbing/filterchemical plumbing filter. If it's not filtered by left and right, it goes straight.
+ + + diff --git a/code/modules/plumbing/plumbers/iv_drip.html b/code/modules/plumbing/plumbers/iv_drip.html new file mode 100644 index 00000000000..5615aea911d --- /dev/null +++ b/code/modules/plumbing/plumbers/iv_drip.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/iv_drip.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/iv_drip.dm + +

+ + +
/obj/machinery/iv_drip/plumbingmodified IV that can be anchored and takes plumbing in- and output
+ + + diff --git a/code/modules/plumbing/plumbers/pill_press.html b/code/modules/plumbing/plumbers/pill_press.html new file mode 100644 index 00000000000..39a281e99a9 --- /dev/null +++ b/code/modules/plumbing/plumbers/pill_press.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/plumbing/plumbers/pill_press.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/plumbing/plumbers/pill_press.dm + +

+ + + + + +
MIN_VOLUMEthe minimum size of a pill or patch
MAX_VOLUMEthe maximum size a pill or patch can be
MAX_FLOOR_PRODUCTSmax amount of pills allowed on our tile before we start storing them instead
/obj/machinery/plumbing/pill_pressWe take a constant input of reagents, and produce a pill once a set volume is reached

Define Details

+

MAX_FLOOR_PRODUCTS + + +

+

max amount of pills allowed on our tile before we start storing them instead

MAX_VOLUME + + +

+

the maximum size a pill or patch can be

MIN_VOLUME + + +

+

the minimum size of a pill or patch

+ + + diff --git a/code/modules/plumbing/plumbers/pumps.html b/code/modules/plumbing/plumbers/pumps.html new file mode 100644 index 00000000000..b2a5bf3ebd7 --- /dev/null +++ b/code/modules/plumbing/plumbers/pumps.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/pumps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/pumps.dm + +

+ + +
/obj/machinery/plumbing/liquid_pumpWe pump liquids from activated(plungerated) geysers to a plumbing outlet. We need to be wired.
+ + + diff --git a/code/modules/plumbing/plumbers/reaction_chamber.html b/code/modules/plumbing/plumbers/reaction_chamber.html new file mode 100644 index 00000000000..549afb63f12 --- /dev/null +++ b/code/modules/plumbing/plumbers/reaction_chamber.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/plumbing/plumbers/reaction_chamber.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/plumbing/plumbers/reaction_chamber.dm + +

+ + + +
HEATER_COEFFICIENTa reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents separated and only reacts under your given terms +coefficient to convert temperature to joules. same lvl as acclimator
/obj/machinery/plumbing/reaction_chamber/chemChemistry version of reaction chamber that allows for acid and base buffers to be used while reacting

Define Details

+

HEATER_COEFFICIENT + + +

+

a reaction chamber for plumbing. pretty much everything can react, but this one keeps the reagents separated and only reacts under your given terms +coefficient to convert temperature to joules. same lvl as acclimator

+ + + diff --git a/code/modules/plumbing/plumbers/splitters.html b/code/modules/plumbing/plumbers/splitters.html new file mode 100644 index 00000000000..9ff43af8f75 --- /dev/null +++ b/code/modules/plumbing/plumbers/splitters.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/splitters.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/splitters.dm + +

+ + +
/obj/machinery/plumbing/splitterit splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component
+ + + diff --git a/code/modules/plumbing/plumbers/synthesizer.html b/code/modules/plumbing/plumbers/synthesizer.html new file mode 100644 index 00000000000..b2f08199570 --- /dev/null +++ b/code/modules/plumbing/plumbers/synthesizer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/synthesizer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/synthesizer.dm + +

+ + +
/obj/machinery/plumbing/synthesizerA single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories
+ + + diff --git a/code/modules/plumbing/plumbers/teleporter.html b/code/modules/plumbing/plumbers/teleporter.html new file mode 100644 index 00000000000..d6568ae2d74 --- /dev/null +++ b/code/modules/plumbing/plumbers/teleporter.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/plumbing/plumbers/teleporter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/teleporter.dm + +

+ + + +
/obj/machinery/plumbing/senderA bluespace input pipe for plumbing
/obj/machinery/plumbing/receiverA bluespace output pipe for plumbing. Supports multiple recipients. Must be constructed with a circuit board
+ + + diff --git a/code/modules/plumbing/plumbers/vatgrower.html b/code/modules/plumbing/plumbers/vatgrower.html new file mode 100644 index 00000000000..78e1a1e94d1 --- /dev/null +++ b/code/modules/plumbing/plumbers/vatgrower.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/plumbing/plumbers/vatgrower.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/plumbing/plumbers/vatgrower.dm + +

+ + +
/obj/machinery/plumbing/growing_vatUsed to make mobs from microbiological samples. Grow grow grow.
+ + + diff --git a/code/modules/power/apc/apc_mapping.html b/code/modules/power/apc/apc_mapping.html new file mode 100644 index 00000000000..1fc8ea44df3 --- /dev/null +++ b/code/modules/power/apc/apc_mapping.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/apc/apc_mapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/apc/apc_mapping.dm + +

+ + +
/obj/machinery/power/apc/worn_outUsed to change name for apcs on away missions
+ + + diff --git a/code/modules/power/cable.html b/code/modules/power/cable.html new file mode 100644 index 00000000000..957c18ac337 --- /dev/null +++ b/code/modules/power/cable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/cable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/cable.dm + +

+ + +
/obj/structure/cable/multilayermultilayer cable to connect different layers
+ + + diff --git a/code/modules/power/cell.html b/code/modules/power/cell.html new file mode 100644 index 00000000000..0060c29bf00 --- /dev/null +++ b/code/modules/power/cell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/cell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/cell.dm + +

+ + +
/obj/item/stock_parts/cellBatteries.
+ + + diff --git a/code/modules/power/energy_accumulator.html b/code/modules/power/energy_accumulator.html new file mode 100644 index 00000000000..b7faf8f833c --- /dev/null +++ b/code/modules/power/energy_accumulator.html @@ -0,0 +1,48 @@ + + + + + + + code/modules/power/energy_accumulator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/power/energy_accumulator.dm + +

+ + + +
ACCUMULATOR_STORED_OUTPUT(this*100)% of stored power outputted per tick. +Doesn't change output total, lower numbers just increases the smoothing - taking longer to ramp up, and longer to drop away. +4% means an accumulator, when starting up for the first time:
/obj/machinery/power/energy_accumulatorAbstract type for generators that accumulate energy over time and slowly release it +eg. radiation collectors, tesla coils

Define Details

+

ACCUMULATOR_STORED_OUTPUT + + +

+

(this*100)% of stored power outputted per tick. +Doesn't change output total, lower numbers just increases the smoothing - taking longer to ramp up, and longer to drop away. +4% means an accumulator, when starting up for the first time:

+
+ + + diff --git a/code/modules/power/gravitygenerator.html b/code/modules/power/gravitygenerator.html new file mode 100644 index 00000000000..b3e262dd52d --- /dev/null +++ b/code/modules/power/gravitygenerator.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/power/gravitygenerator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/gravitygenerator.dm + +

+ + + + + +
/obj/machinery/gravity_generator/partGenerator part
/obj/machinery/gravity_generator/mainMain gravity generator
/obj/machinery/gravity_generator/main/offStation generator that spawns with gravity turned off.
/obj/item/paper/guides/jobs/engi/gravity_genGravity generator instruction guide
+ + + diff --git a/code/modules/power/power.html b/code/modules/power/power.html new file mode 100644 index 00000000000..cef13db8e53 --- /dev/null +++ b/code/modules/power/power.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/power/power.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/power.dm + +

+ + + + + +
/proc/propagate_networkremove the old powernet and replace it with a new one throughout the network.
/proc/get_powernet_info_from_sourceExtracts the powernet and cell of the provided power source
+ + + diff --git a/code/modules/power/singularity/boh_tear.html b/code/modules/power/singularity/boh_tear.html new file mode 100644 index 00000000000..0839d35858b --- /dev/null +++ b/code/modules/power/singularity/boh_tear.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/power/singularity/boh_tear.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/power/singularity/boh_tear.dm + +

+ + +
BOH_TEAR_CONSUME_RANGEBoH tear +The BoH tear is a stationary singularity with a really high gravitational pull, which collapses briefly after being created +The BoH isn't deleted for 10 minutes (only moved to nullspace) so that admins may retrieve the things back in case of a grief

Define Details

+

BOH_TEAR_CONSUME_RANGE + + +

+

BoH tear +The BoH tear is a stationary singularity with a really high gravitational pull, which collapses briefly after being created +The BoH isn't deleted for 10 minutes (only moved to nullspace) so that admins may retrieve the things back in case of a grief

+ + + diff --git a/code/modules/power/singularity/dark_matter_singularity.html b/code/modules/power/singularity/dark_matter_singularity.html new file mode 100644 index 00000000000..5ffbf1775c1 --- /dev/null +++ b/code/modules/power/singularity/dark_matter_singularity.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/singularity/dark_matter_singularity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/singularity/dark_matter_singularity.dm + +

+ + +
/obj/singularity/dark_matterThis type of singularity cannot grow as big, but it constantly hunts down living targets.
+ + + diff --git a/code/modules/power/singularity/narsie.html b/code/modules/power/singularity/narsie.html new file mode 100644 index 00000000000..57d3ac57566 --- /dev/null +++ b/code/modules/power/singularity/narsie.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/power/singularity/narsie.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/singularity/narsie.dm + +

+ + + + + + + + + + + + + + + + + + +
/obj/narsieNar'Sie, the God of the blood cultists
/proc/begin_the_endBegins the process of ending the round via cult narsie win +Consists of later called procs (in order of called):
/proc/narsie_end_begin_checkFirst crew last second win check and flufftext for [/proc/begin_the_end()]
/proc/narsie_end_second_checkSecond crew last second win check and flufftext for [/proc/begin_the_end()]
/proc/narsie_start_destroy_stationsecurity level and shuttle lockdowns for [/proc/begin_the_end()]
/proc/narsie_apocalypseThird crew last second win check and flufftext for [/proc/begin_the_end()]
/proc/narsie_last_second_winCalled only if the crew managed to destroy narsie at the very last second for [/proc/begin_the_end()]
/proc/ending_helperHelper to set the round to end asap. Current usage Cult round end code
/proc/cult_ending_helperSelects cinematic to play as part of the cult end depending on the outcome then ends the round afterward +called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion
+ + + diff --git a/code/modules/power/singularity/singularity.html b/code/modules/power/singularity/singularity.html new file mode 100644 index 00000000000..5218255572c --- /dev/null +++ b/code/modules/power/singularity/singularity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/power/singularity/singularity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/singularity/singularity.dm + +

+ + + +
/obj/singularityThe gravitational singularity
/obj/singularity/shuttle_eventSpecial singularity that spawns for shuttle events only
+ + + diff --git a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.html b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.html new file mode 100644 index 00000000000..9ed26726975 --- /dev/null +++ b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm + +

+ + +
/datum/sm_delamLogic holder for supermatter delaminations, goes off the strategy design pattern. +Selected by /obj/machinery/power/supermatter_crystal/proc/set_delam
+ + + diff --git a/code/modules/power/supermatter/supermatter_delamination/common_delams.html b/code/modules/power/supermatter/supermatter_delamination/common_delams.html new file mode 100644 index 00000000000..26b69d642ce --- /dev/null +++ b/code/modules/power/supermatter/supermatter_delamination/common_delams.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/power/supermatter/supermatter_delamination/common_delams.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/supermatter/supermatter_delamination/common_delams.dm + +

+ + + + +
/datum/sm_delam/singularityWhen we have too much gas.
/datum/sm_delam/teslaWhen we have too much power.
/datum/sm_delam/explosiveDefault delam.
+ + + diff --git a/code/modules/power/supermatter/supermatter_gas.html b/code/modules/power/supermatter/supermatter_gas.html new file mode 100644 index 00000000000..f3aeca17aa3 --- /dev/null +++ b/code/modules/power/supermatter/supermatter_gas.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/power/supermatter/supermatter_gas.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/supermatter/supermatter_gas.dm + +

+ + + + +
/proc/sm_gas_dataReturn a list info of the SM gases. +Can only run after init_sm_gas
/datum/sm_gasContains effects of gases when absorbed by the sm. +If the gas has no effects you do not need to add another sm_gas subtype, +We already guard for nulls in /obj/machinery/power/supermatter_crystal/proc/calculate_gases
+ + + diff --git a/code/modules/power/supermatter/supermatter_variants.html b/code/modules/power/supermatter/supermatter_variants.html new file mode 100644 index 00000000000..c24f4921efd --- /dev/null +++ b/code/modules/power/supermatter/supermatter_variants.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/power/supermatter/supermatter_variants.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/supermatter/supermatter_variants.dm + +

+ + + + + + +
/obj/machinery/power/supermatter_crystal/hugboxNormal SM with it's processing disabled.
/obj/machinery/power/supermatter_crystal/engineNormal SM designated as main engine.
/obj/machinery/power/supermatter_crystal/shardShard SM.
/obj/machinery/power/supermatter_crystal/shard/hugboxShard SM with it's processing disabled.
/obj/machinery/power/supermatter_crystal/shard/engineShard SM designated as the main engine.
+ + + diff --git a/code/modules/power/tesla/energy_ball.html b/code/modules/power/tesla/energy_ball.html new file mode 100644 index 00000000000..e11752e9cbd --- /dev/null +++ b/code/modules/power/tesla/energy_ball.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/power/tesla/energy_ball.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/power/tesla/energy_ball.dm + +

+ + +
/obj/energy_ballThe Tesla engine
+ + + diff --git a/code/modules/procedural_mapping.html b/code/modules/procedural_mapping.html new file mode 100644 index 00000000000..fd4ee722e7b --- /dev/null +++ b/code/modules/procedural_mapping.html @@ -0,0 +1,166 @@ + + + + + + + code/modules/procedural_mapping/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Procedural Mapping + +

+ + +
With Regards To RemieRichards +
+Coder Informative ReadmemapGenerator: +

Desc: a mapGenerator is a master datum that collects and syncs all mapGeneratorModules in its modules list.

+defineRegion(var/turf/Start, turf/End, replace = 0) +

Example: defineRegion(locate(1,1,1),locate(5,5,5),0)

+

Desc: Sets the bounds of the mapGenerator's "map".

+defineCircularRegion(var/turf/Start, turf/End, replace = 0) +

Example: defineCircularRegion(locate(1,1,1),locate(5,5,5),0)

+

Desc: Sets the mapGenerator's "map" as a circle, with center in the middle of Start and End's X,Y,Z coordinates.

+undefineRegion() +

Example: undefineRegion()

+

Desc: Empties the map generator list.

+checkRegion(var/turf/Start, turf/End) +

Example: checkRegion(locate(1,1,1), locate(5,5,5))

+

Desc: Checks if a rectangle between Start's coords and End's coords is valid.

+

Existing Calls: mapGenerator/defineRegion(), mapGenerator/defineCircularRegion()

+generate() +

Example: generate()

+

Desc: Orders all mapGeneratorModules in the modules list to generate().

+generateOneTurf(var/turf/T) +

Example: generateOneTurf(locate(1,1,1))

+

Desc: Orders all mapGeneratorModules in the modules list to place(T) on this turf.

+initialiseModules() +

Example: initialiseModules()

+

Desc: Replaces all typepaths in the modules list with actual /datum/map_generator/Module types.

+

Existing Calls: mapGenerator/New()

+syncModules() +

Example: syncModules()

+

Desc: Sets the Mother variable on all mapGeneratorModules in the modules list to this mapGenerator.

+

Existing Calls: initialiseModules(),generate(),generateOneTurf()

+
+mapGeneratorModule +

Desc: a mapGeneratorModule has spawnableAtoms and spawnableTurfs lists which it will generate on turfs in it's mother's map based on cluster variables.

+sync(var/datum/map_generator/mum) +

Example: sync(a_mapGenerator_as_a_variable)

+

Desc: Sets the Mother variable to the mum argument.

+

Existing Calls: mapGenerator/syncModules()

+generate() +

Example: generate()

+

Desc: Calls place(T) on all turfs in it's mother's map

+

Existing Calls: mapGenerator/generate()

+place(var/turf/T) +

Example: place(locate(1,1,1)) +Desc: Run this mapGeneratorModule's effects on this turf (Spawning atoms, Changing turfs).

+

Existing Calls: mapGenerator/generate(), mapGenerator/generateOneTurf()

+checkPlaceAtom(var/turf/T) +

Example: checkPlace(locate(1,1,1))

+

Desc: Checks if the turf is valid for placing atoms.

+

Existing Calls: place()

+
+Mapper Friendly Readme +

Simple Workflow:

+
    +
  1. Define a/some mapGeneratorModule(s) to your liking, choosing atoms and turfs to spawn
  2. +
+
    +
  • I chose to split Turfs and Atoms off into separate modules, but this is NOT required.
  • +
  • A mapGeneratorModule may have turfs AND atoms, so long as each is in it's appropriate list
  • +
+
    +
  1. Define a mapGenerator type who's modules list contains the typepath(s) of all the module(s) you wish to use
  2. +
+
    +
  • The order of the typepaths in the modules list is the order they will happen in, this is important for clusterCheckFlags.
  • +
+
    +
  1. Take notes of the Bottom Left and Top Right turfs of your rectangular "map"'s coordinates
  2. +
+
    +
  • X, Y, AND Z. Yes, you can create 3D "maps" by having differing Z coordinates
  • +
+
    +
  1. +

    Create the mapGenerator type you created

    +
  2. +
  3. +

    Call yourMapGeneratorType.defineRegion(locate(X,Y,Z), locate(X,Y,Z))

    +
  4. +
+
    +
  • The above X/Y/Zs are the coordinates of the start and end turfs, the locate() simply finds the turf for the code
  • +
+
    +
  1. Call yourMapGeneratorType.generate(), this will cause all the modules in the generator to build within the map bounds
  2. +
+

Option Suggestions:

+
    +
  • Have separate modules for Turfs and Atoms, this is not enforced, but it is how I have structured my nature example.
  • +
  • If your map doesn't look quite to your liking, simply jiggle with the variables on your modules and the type probabilities.
  • +
  • You can mix and map premade areas with the procedural generation, for example mapping an entire flat land but having code generate just the grass tufts.
  • +
+

Using the Modules list

+

Simply think of it like each module is a layer in a graphics editing program!

+

To help you do this templates such as /mapGeneratorModule/bottomLayer have been provided with appropriate default settings.

+

These are located near the bottom of mapGeneratorModule.dm. You would order your list left to right, top to bottom. For example: modules = list(bottomLayer,nextLayer,nextNextLayer), etc.

+

Variable Breakdown (For Mappers):

+mapGenerator +
    +
  • map - INTERNAL, do not touch
  • +
  • modules - A list of typepaths of mapGeneratorModules
  • +
+mapGeneratorModule +
    +
  • +

    mother - INTERNAL, do not touch

    +
  • +
  • +

    spawnableAtoms - A list of typepaths and their probability to spawn, eg: spawnableAtoms = list(/obj/structure/flora/tree/pine = 30)

    +
  • +
  • +

    spawnableTurfs - A list of typepaths and their probability to spawn, eg: spawnableTurfs = list(/turf/unsimulated/floor/grass = 100)

    +
  • +
  • +

    clusterMax - The max range to check for something being "too close" for this atom/turf to spawn, the true value is random between clusterMin and clusterMax

    +
  • +
  • +

    clusterMin - The min range to check for something being "too close" for this atom/turf to spawn, the true value is random between clusterMin and clusterMax

    +
  • +
  • +

    clusterCheckFlags - A Bitfield that controls how the cluster checks work, All based on clusterMin and clusterMax guides

    +
  • +
  • +

    allowAtomsOnSpace - A Boolean for if we allow atoms to spawn on space tiles

    +
  • +
+clusterCheckFlags flags: +
CLUSTER_CHECK_NONE				0   //No checks are done, cluster as much as possible
+CLUSTER_CHECK_DIFFERENT_TURFS			2  //Don't let turfs of DIFFERENT types cluster
+CLUSTER_CHECK_DIFFERENT_ATOMS			4  //Don't let atoms of DIFFERENT types cluster
+CLUSTER_CHECK_SAME_TURFS			8  //Don't let turfs of the SAME type cluster
+CLUSTER_CHECK_SAME_ATOMS			16 //Don't let atoms of the SAME type cluster
+
+CLUSTER_CHECK_SAMES				24 //Don't let any of the same type cluster
+CLUSTER_CHECK_DIFFERENTS			6  //Don't let any different types cluster
+CLUSTER_CHECK_ALL_TURFS				10 //Don't let ANY turfs cluster same and different types
+CLUSTER_CHECK_ALL_ATOMS				20 //Don't let ANY atoms cluster same and different types
+
+CLUSTER_CHECK_ALL				30 //Don't let anything cluster, like, at all
+
+ + + diff --git a/code/modules/procedural_mapping/mapGenerator.html b/code/modules/procedural_mapping/mapGenerator.html new file mode 100644 index 00000000000..86b07cfb7dc --- /dev/null +++ b/code/modules/procedural_mapping/mapGenerator.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/procedural_mapping/mapGenerator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/procedural_mapping/mapGenerator.dm + +

+ + +
/datum/map_generatorThis type is responsible for any map generation behavior that is done in areas, override this to allow for +area-specific map generation. This generation is ran by areas in initialize.
+ + + diff --git a/code/modules/projectiles/ammunition/energy/laser.html b/code/modules/projectiles/ammunition/energy/laser.html new file mode 100644 index 00000000000..f52159ffc7c --- /dev/null +++ b/code/modules/projectiles/ammunition/energy/laser.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/ammunition/energy/laser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/ammunition/energy/laser.dm + +

+ + +
/obj/item/ammo_casing/lasernot exactly an energy ammo casing, but it's used by the laser gatling.
+ + + diff --git a/code/modules/projectiles/guns/ballistic.html b/code/modules/projectiles/guns/ballistic.html new file mode 100644 index 00000000000..f2e48597b03 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/ballistic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic.dm + +

+ + +
/obj/item/gun/ballisticSubtype for any kind of ballistic gun +This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy
+ + + diff --git a/code/modules/projectiles/guns/ballistic/automatic.html b/code/modules/projectiles/guns/ballistic/automatic.html new file mode 100644 index 00000000000..5c59224fd55 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/automatic.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/projectiles/guns/ballistic/automatic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/automatic.dm + +

+ + + +
/obj/item/gun/ballistic/automatic/mini_uzi/chimpgunWeak uzi for syndicate chimps. It comes in a 4 TC kit. +Roughly 9 damage per bullet every 0.2 seconds, equaling out to downing an opponent in a bit over a second, if they have no armor.
/obj/item/gun/ballistic/automatic/tommygun/chimpgunWeak tommygun for syndicate chimps. It comes in a 4 TC kit. +Roughly 9 damage per bullet every 0.2 seconds, equaling out to downing an opponent in a bit over a second, if they have no armor.
+ + + diff --git a/code/modules/projectiles/guns/ballistic/bows/bow_arrows.html b/code/modules/projectiles/guns/ballistic/bows/bow_arrows.html new file mode 100644 index 00000000000..f3dc1946591 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/bows/bow_arrows.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/projectiles/guns/ballistic/bows/bow_arrows.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/bows/bow_arrows.dm + +

+ + + + + + +
/obj/item/ammo_casing/arrowbase arrow
/obj/projectile/bullet/arrowbase arrow projectile
/obj/item/ammo_casing/arrow/holyholy arrows
/obj/projectile/bullet/arrow/holyholy arrow projectile
/obj/item/ammo_casing/arrow/holy/blazingspecial pyre sect arrow +in the future, this needs a special sprite, but bows don't support non-hardcoded arrow sprites
+ + + diff --git a/code/modules/projectiles/guns/ballistic/bows/bow_types.html b/code/modules/projectiles/guns/ballistic/bows/bow_types.html new file mode 100644 index 00000000000..8cbee2a2a84 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/bows/bow_types.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/ballistic/bows/bow_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/bows/bow_types.dm + +

+ + + +
/obj/item/gun/ballistic/bow/longbowbasic bow, used for medieval sim
/obj/item/gun/ballistic/bow/divinechaplain's divine archer bow
+ + + diff --git a/code/modules/projectiles/guns/ballistic/pistol.html b/code/modules/projectiles/guns/ballistic/pistol.html new file mode 100644 index 00000000000..0df573594c8 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/pistol.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/guns/ballistic/pistol.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/pistol.dm + +

+ + +
/obj/item/gun/ballistic/automatic/pistol/m1911/chimpgunWeak 1911 for syndicate chimps. It comes in a 4 TC kit. +15 damage every.. second? 7 shots to kill. Not fast.
+ + + diff --git a/code/modules/projectiles/guns/ballistic/rifle.html b/code/modules/projectiles/guns/ballistic/rifle.html new file mode 100644 index 00000000000..dfab24a9516 --- /dev/null +++ b/code/modules/projectiles/guns/ballistic/rifle.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/ballistic/rifle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/ballistic/rifle.dm + +

+ + +
/obj/item/gun/ballistic/rifle/enchantedMAGICAL BOLT ACTIONS + ARCANE BARRAGE?
+ + + diff --git a/code/modules/projectiles/guns/bolt_types_explained.html b/code/modules/projectiles/guns/bolt_types_explained.html new file mode 100644 index 00000000000..a2c50e83527 --- /dev/null +++ b/code/modules/projectiles/guns/bolt_types_explained.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/projectiles/guns/bolt_types_explained.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Balistic gun icon states explained + +

+ + +

For a unknown period of time, /obj/item/gun/ballistic used the wrong icon state for it's bolt_type and so, if you tried to copy how it worked to make your own gun, you'd get a broken sprite. This documentation is intended to explain in detail what some of the variables and functions do, and how to make your own gun subtypes that work properly.

+Bolt Types +

The easiest thing to screw up. For a long time, /obj/item/gun/ballistic had bolt_type set to BOLT_TYPE_STANDARD when the sprite was configured to use BOLT_TYPE_LOCKING sprites. Nobody noticed, because it wasn't obtainable through normal gameplay, and the Mosin which was broken by it only has like 3 pixels missing.

+BOLT_TYPE_STANDARD +

This is for guns that don't lock their slides back. Visually, it usually means guns that have an internal bolt that isn't visible, like the c20r or ARG Boarder. The base icon state is all you need to make it work.

+BOLT_TYPE_OPEN +

Pretty much like the Standard, but it takes rounds directly from the magazine without holding them in the chaimber first. This means that when you remove the mag, there isn't going to still be a bullet in the chaimber.

+BOLT_TYPE_NO_BOLT +

This is your revolvers and some(?) break action shotguns. When you click to reload them, they'll drop all the bullets inside of the gun, unspent or not.

+BOLT_TYPE_LOCKING +

The complicated one. This is what most pistols and bolt action rifles are. When you cycle (or fire) it on empty, it will lock back the slide, and you'll have to click it again to send the slide home. For rifles with semi_auto = FALSE, they don't feed automatically, so you have to rack the slide after every shot. (Like the Mosin)

+

Now, for the sprites, your base sprite should be the gun without a slide or bolt. Take a look at the APS, deagle, or Mosin sprites. If your icon state is handcannon you need to have a sprite for the slide as handcannon_bolt, and then a sprite for the bolt being locked back as handcannon_bolt_locked.

+Sawing off +

For guns that have can_be_sawn_off = TRUE, you'll need to make an entire second set of sprites. For BOLT_TYPE_LOCKING, this will look like the Mosin. If you're making a sawn off version of handcannon, you'll need hancannon_sawn for the base, and then hancannon_sawn_bolt and hancannon_sawn_bolt_locked.

+Ammo display +

You'll need mag_display = TRUE and a sprite called handcannon_mag to show the gun as having a magazine inserted into it. It's set to true by default, though.

+

Perhaps you want to make some kind visual depiction of ammunition feed. You can overlay over top of the magazine sprite of 100%, 80%, 60%, 40%, and 20% by having mag_display_ammo = TRUE. Use handcannon_mag_100, handcannon_mag_80, ect... to display these. There is no zero. You can use a overlaying sprite for showing the gun as empty called handcannon_empty. Take a look at the c20r as an example.

+ + + diff --git a/code/modules/projectiles/guns/energy/laser.html b/code/modules/projectiles/guns/energy/laser.html new file mode 100644 index 00000000000..2fd4462d242 --- /dev/null +++ b/code/modules/projectiles/guns/energy/laser.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/projectiles/guns/energy/laser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/energy/laser.dm + +

+ + + + +
/obj/item/gun/energy/lasercannonLaser Cannon
/obj/item/gun/energy/xrayX-ray gun
/obj/item/gun/energy/laser/bluetagLaser Tag
+ + + diff --git a/code/modules/projectiles/guns/energy/recharge.html b/code/modules/projectiles/guns/energy/recharge.html new file mode 100644 index 00000000000..3d211ceacb1 --- /dev/null +++ b/code/modules/projectiles/guns/energy/recharge.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/energy/recharge.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/energy/recharge.dm + +

+ + +
/obj/item/gun/energy/recharge/fisherA silly gun that does literally zero damage, but disrupts electrical sources of light, like flashlights.
+ + + diff --git a/code/modules/projectiles/guns/magic/staff.html b/code/modules/projectiles/guns/magic/staff.html new file mode 100644 index 00000000000..853d00293ae --- /dev/null +++ b/code/modules/projectiles/guns/magic/staff.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/projectiles/guns/magic/staff.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/magic/staff.dm + +

+ + +
/obj/item/gun/magic/staff/chaos/true_wabbajackStaff of chaos given to the wizard upon completing a cheesy grand ritual. Is completely evil and if something +breaks, it's completely intended. Fuck off. +Also can be used by everyone, because why not.
+ + + diff --git a/code/modules/projectiles/guns/special/blastcannon.html b/code/modules/projectiles/guns/special/blastcannon.html new file mode 100644 index 00000000000..75ccadf2e82 --- /dev/null +++ b/code/modules/projectiles/guns/special/blastcannon.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/projectiles/guns/special/blastcannon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/projectiles/guns/special/blastcannon.dm + +

+ + + + + +
BLASTCANNON_RANGE_EXPHow much to scale the explosion ranges for blastcannon shots.
BLASTCANNON_RANGE_SCALEHow much to scale the explosion ranges for blastcannon shots.
/obj/item/gun/blastcannonA gun that consumes a TTV to shoot an projectile with equivalent power.
/obj/projectile/blastwaveThe projectile used by the blastcannon

Define Details

+

BLASTCANNON_RANGE_EXP + + +

+

How much to scale the explosion ranges for blastcannon shots.

BLASTCANNON_RANGE_SCALE + + +

+

How much to scale the explosion ranges for blastcannon shots.

+ + + diff --git a/code/modules/projectiles/guns/special/meat_hook.html b/code/modules/projectiles/guns/special/meat_hook.html new file mode 100644 index 00000000000..a0544e5ddbd --- /dev/null +++ b/code/modules/projectiles/guns/special/meat_hook.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/projectiles/guns/special/meat_hook.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/projectiles/guns/special/meat_hook.dm + +

+ + + + + +
IMMOBILIZATION_TIMERHow long we immobilize the firer after firing - we do cancel the immobilization early if nothing is hit.
/obj/item/gun/magic/hookMeat Hook
/datum/hook_and_moveLightweight datum that just handles moving a target for the hook. +For the love of God, do not use this outside this file.
/obj/item/gun/magic/hook/debugDebug hook for fun (AKA admin abuse). doesn't do any more damage or anything just lets you wildfire it.

Define Details

+

IMMOBILIZATION_TIMER + + +

+

How long we immobilize the firer after firing - we do cancel the immobilization early if nothing is hit.

+ + + diff --git a/code/modules/projectiles/guns/special/medbeam.html b/code/modules/projectiles/guns/special/medbeam.html new file mode 100644 index 00000000000..eb20b139a69 --- /dev/null +++ b/code/modules/projectiles/guns/special/medbeam.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/guns/special/medbeam.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/guns/special/medbeam.dm + +

+ + +
/obj/item/gun/medbeam/mechMech Version
+ + + diff --git a/code/modules/projectiles/projectile.html b/code/modules/projectiles/projectile.html new file mode 100644 index 00000000000..885fd2ae243 --- /dev/null +++ b/code/modules/projectiles/projectile.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/projectile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/projectile.dm + +

+ + + +
/proc/calculate_projectile_angle_and_pixel_offsetsCalculates the pixel offsets and angle that a projectile should be launched at.
+ + + diff --git a/code/modules/projectiles/projectile/bullets/_incendiary.html b/code/modules/projectiles/projectile/bullets/_incendiary.html new file mode 100644 index 00000000000..5d77a8e0ebd --- /dev/null +++ b/code/modules/projectiles/projectile/bullets/_incendiary.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/projectiles/projectile/bullets/_incendiary.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/projectiles/projectile/bullets/_incendiary.dm + +

+ + + + +
/obj/projectile/bullet/incendiary/fireIncendiary bullet that more closely resembles a real flamethrower sorta deal, no visible bullet, just flames.
/obj/projectile/bullet/incendiary/fire/backblastUsed in the backblast element
BACKBLAST_MAX_ITEM_KNOCKBACKwe only try to knock back the first 6 items per tile

Define Details

+

BACKBLAST_MAX_ITEM_KNOCKBACK + + +

+

we only try to knock back the first 6 items per tile

+ + + diff --git a/code/modules/projectiles/projectile/bullets/special.html b/code/modules/projectiles/projectile/bullets/special.html new file mode 100644 index 00000000000..3185efb4ef6 --- /dev/null +++ b/code/modules/projectiles/projectile/bullets/special.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/projectiles/projectile/bullets/special.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/projectile/bullets/special.dm + +

+ + + +
/obj/projectile/bullet/marksmanMarksman Shot
/obj/projectile/bullet/coinMarksman Coin
+ + + diff --git a/code/modules/projectiles/projectile/magic.html b/code/modules/projectiles/projectile/magic.html new file mode 100644 index 00000000000..46f2dc18912 --- /dev/null +++ b/code/modules/projectiles/projectile/magic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/projectiles/projectile/magic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/projectile/magic.dm + +

+ + +
/obj/projectile/magic/aoeGives magic projectiles an area of effect radius that will bump into any nearby mobs
+ + + diff --git a/code/modules/projectiles/projectile/special/rocket.html b/code/modules/projectiles/projectile/special/rocket.html new file mode 100644 index 00000000000..5823c025af8 --- /dev/null +++ b/code/modules/projectiles/projectile/special/rocket.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/projectiles/projectile/special/rocket.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/projectiles/projectile/special/rocket.dm + +

+ + + + + + +
/obj/projectile/bullet/rocketPM9 standard HE rocket
/obj/projectile/bullet/rocket/heapPM9 HEAP rocket - the anti-anything missile you always craved.
/obj/projectile/bullet/rocket/weakPM9 weak rocket - just kind of a failure
/obj/projectile/bullet/rocket/srmSRM-8 Missile - Used by the SRM-8 Exosuit missile rack. +Employed by Nuclear Operatives Maulers and Nanotrasen Marauders and Seraphs to kill everything and anyone.
/obj/projectile/bullet/rocket/pepPEP-6 Missile - Used by the PEP-6 Exosuit missile rack. +Employed by Roboticists out of spite to put down enemy hereteks, mechanized nuclear operatives, the janitor's hot rod, +the clown's 'taxi service', uppity borgs, vengeful ais, doors they don't like, the escape shuttle's hull, and more!
+ + + diff --git a/code/modules/reagents/chem_splash.html b/code/modules/reagents/chem_splash.html new file mode 100644 index 00000000000..1f28ce254f8 --- /dev/null +++ b/code/modules/reagents/chem_splash.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/reagents/chem_splash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chem_splash.dm + +

+ + + + + +
/proc/chem_splashThe basic chemical bomb proc. +Combines a set of reagent holders into one holder and reacts it. +If there are any reagents left over it spreads them across the surrounding environment. +The maximum volume of the holder is temporarily adjusted to allow for reactions which increase total volume to work at full effectiveness. +The maximum volume of the holder is then reset to its original value.
/proc/spread_reagentsExposes all accessible atoms within some distance of an epicenter to some reagents. +Does not clear the source reagent holder; that must be done manually if it is desired.
+ + + diff --git a/code/modules/reagents/chemistry/chem_wiki_render.html b/code/modules/reagents/chemistry/chem_wiki_render.html new file mode 100644 index 00000000000..b3940ad4433 --- /dev/null +++ b/code/modules/reagents/chemistry/chem_wiki_render.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/chem_wiki_render.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/chem_wiki_render.dm + +

+ + + +
/proc/generate_chemwiki_lineGenerate the big list of reagent based reactions. +style='background-color:#FFEE88;'|{{anchor|Synthetic-derived growth factor}}Synthetic-derived growth factor▮
+ + + diff --git a/code/modules/reagents/chemistry/fermi_readme.html b/code/modules/reagents/chemistry/fermi_readme.html new file mode 100644 index 00000000000..9140a090fe7 --- /dev/null +++ b/code/modules/reagents/chemistry/fermi_readme.html @@ -0,0 +1,190 @@ + + + + + + + code/modules/reagents/chemistry/fermi_readme.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

How to make fermi reactions from a code perspective + +

+ + +
How purity works +

Purity by default only splits on a mob’s consumption unless reaction_flags in the recipe is set to one of the CLEAR_CONVERT defines. Here is a bad flowchart for the on mob process.

+

I am not good at flowcharts sorry.

+

image

+

Essentially +For purity: +If 1: normal +If above inverse_chem_val: normal + impure +If below: inverse

+How reactions mechanics work +

For the effects starting/during/at the end of a reaction see below:

+

image

+

Maybe this makes no sense.

+

In brief:

+

Holder.dm now sets up reactions, while equilibrium.dm runs them. Holder itself is processed when there is a list of reactions, but the equilibrium does the calculating. In essence, it holds onto a list of objects to run. Handle_reactions() is used to update the reaction list, with a few checks at the start to prevent any unnecessary updates.

+When a reaction is detected: +
    +
  • If it’s REACTION_INSTANT then it’ll use a method similar to the old mechanics.
  • +
  • If not then it’ll set up an equilibrium, which checks to see if the reaction is valid on creation.
  • +
  • If it’s valid, then on_reaction is called.
  • +
  • If the reaction’s temperature is over the overheat_temp overheated() is called
  • +
  • When equilibriums detect they’re invalid, they flag for deletion and holder.dm deletes them.
  • +
  • If there’s a list of reactions, then the holder starts processing.
  • +
+When holder is processing: +
    +
  • Each equilibrium is processed, and it handles it’s own reaction. For each step it handles every reaction.
  • +
  • At the start, the equilibrium checks it’s conditions and calculates how much it can make in this step.
  • +
  • It checks the temp, reagents and catalyst.
  • +
  • If it’s overheated, call overheated()
  • +
  • If it’s too impure call overly_impure()
  • +
  • The offset of optimal pH and temp is calculated, and these correlate with purity and yield.
  • +
+How a holder stops reacting: +

When one of the checks fails in the equilibrium object, it is flagged for deletion. The holder will detect this and call reaction_finish() and delete the equilibrium object – ending that reaction.

+Recipe and processing mechanics +

Lets go over the reaction vars below. These can be edited and set on a per chemical_reaction basis

+
/datum/chemical_reaction
+	...
+    var/required_temp			= 100
+    var/optimal_temp			= 500			// Upper end for above
+	var/overheat_temp 			= 900 			// Temperature at which reaction explodes - If any reaction is this hot, it procs overheated()
+	var/optimal_ph_min 			= 5         	// Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
+	var/optimal_ph_max 			= 9	        	// Higest value for above
+	var/determin_ph_range 		= 4         	// How far out pH wil react, giving impurity place (Exponential phase)
+	var/temp_exponent_factor 	= 2         	// How sharp the temperature exponential curve is (to the power of value)
+	var/ph_exponent_factor 		= 1         	// How sharp the pH exponential curve is (to the power of value)
+	var/thermic_constant		= 1         	// Temperature change per 1u produced
+	var/H_ion_release 			= 0.01       	// pH change per 1u reaction
+	var/rate_up_lim 			= 20			// Optimal/max rate possible if all conditions are perfect
+	var/purity_min 				= 0.15 			// If purity is below 0.15, it calls OverlyImpure() too. Set to 0 to disable this.
+	var/reaction_flags							// bitflags for clear conversions; REACTION_CLEAR_IMPURE, REACTION_CLEAR_INVERSE, REACTION_CLEAR_RETAIN, REACTION_INSTANT
+
+How temperature ranges are set and how reaction rate is determined +

Reaction rates are determined by the current temperature of the reagents holder. There are a few variables related to this:

+
/datum/chemical_reaction
+    var/required_temp			= 100
+    var/optimal_temp			= 500			// Upper end for above
+	var/overheat_temp 			= 900 			// Temperature at which reaction explodes - If any reaction is this hot, it procs overheated()
+	var/temp_exponent_factor 	= 2         	// How sharp the temperature exponential curve is (to the power of value)
+	var/rate_up_lim 			= 20			// Optimal/max rate possible if all conditions are perfect
+
+

The amount added is based off the recipies’ required_temp, optimal_temp, overheat_temp and temp_exponent_factor. See below: +image

+

the y axis is the normalised value of growth, which is then muliplied by the rate_up_lim. You can see that temperatures below the required_temp produce no result (the reaction doesn't start, or if it is reacting, the reaction will stop). Between the required and optimal is a region that is defined by the temp_exponent_factor, so in this case the value is ^2, so we see exponential growth. Between the optimal_temp and the overheat_temp is the optimal phase - where the rate factor is 1. After that it continues to react, but will call overheated() per timestep. Presently the default for overheated() is to reduce the yield of the product (i.e. it's faster but you get less). The rate_up_lim is the maximum rate the reaction can go at optimal temperatures, so in this case a rate factor of 1 i.e. a temperature between 500+ will produce 10u, or a temperature of 400 will roughly produce 4u per step (independant of product ratio produced, if you put 10, it will only create 10 maximum regardless of how much product is defined in the results list).

+How pH ranges are set and what pH mechanics do +

Optimal pH ranges are set on a per recipe basis - though at the moment all recipes use a default recipe, so they all have the same window (except for the buffers). Hopefully either as a community effort/or in future PRs we can create unique profiles for the present reactions in the game.

+

As for how you define the reaction variables for a reaction, there are a few new variables for the chemical_recipe datum. I'll go over specifically how pH works for the default reaction.

+
/datum/chemical_reaction
+	...
+	var/optimal_ph_min 			= 5         	// Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
+	var/optimal_ph_max 			= 9	        	// Higest value for above
+	var/determin_ph_range 		= 4         	// How far out pH wil react, giving impurity place (Exponential phase)
+	var/ph_exponent_factor 		= 1         	// How sharp the pH exponential curve is (to the power of value)
+	var/purity_min 				= 0.15 			// If purity is below 0.15, it calls overly_impure(). In addition, if the product's purity is below this value at the end, the product will be 100% converted into the reagent's failed_chem. Set to 0 to disable this.
+
+

For this default reaction, the curve looks like this: +image

+

The y axis is the purity of the product made for that time step. This is recalculated based off the beaker's sum pH for every tick in the reaction. The rate in which your product is made based off the temperature (If you want me to describe that too I can.) So say our reaction has 10u of a purity 1 of product in there, and for our step we're making another 10u with our pH at (roughly) 3, from the curve our purity is (roughly) 0.5. So we will be adding 10u of 0.5 purity to 10u of 1 purity, resulting in 20u of 0.75 purity product. (Though - to note the reactant's purities also modify the purity of volume created on top of this).

+

If you're designing a reaction you can define an optimal range between the OptimalpHMin to OptimalpHMax (5 - 7 in this case) and a deterministic region set by the ReactpHLim (5 - 4, 9 + 4 aka between 1 to 5 and 9 to 13). This deterministic region is exponential, so if you set it to 2 then it’ll exponentially grow, but since our CurveSharpph = 1, it’s linear (basically normalise the range in the determinsitic region, then put that to the power of CurveSharppH). Finally values outside of these ranges will prevent reactions from starting, but if a reaction drifts out during a reaction, the purity of volume created for each step will be 0 (It does not stop ongoing reactions). It’s entirely possible to design a reaction without a deterministic or optimal phase if you wanted.

+

Though to note; if your purity dips below the PurityMin of a reaction it’ll call the overly_impure() function – which by default reduces the purity of all reagents in the beaker. Additionally, if the purity at the end of a reaction is below the PurityMin, it’ll convert into the failed chem defined by the product’s failed_chem defined in it's reagent datum. For default the PurityMin is 0.15, and is pretty difficult to fail. This is all customisable however, if you wanted to use these hooks to design a even more unique reaction, just don’t call the parent proc when using methods.

+Conditional changes in reagents datum per timestep +
/datum/chemical_reaction
+	...
+	var/thermic_constant		= 1         	// Temperature change per 1u produced
+	var/H_ion_release 			= 0.01       	// pH change per 1u reaction
+
+

The thermic_constant is how much the temperature changes per u created, so for 10u created the temperature will increase by 10K. The H_ion_release is how much the pH changes per u created, for 10u created the pH will increase by 0.1. During a reaction this is the only factor in pH changes - presently the addition/removal of reagents tie to the reaction won't affect this, though other reactions ongoing in the beaker will also affect pH, as well as the removal/addition of reagents outside of the reaction.

+Reaction flags +

Reaction_flags can be used to set these defines:

+
#define REACTION_CLEAR_IMPURE   //Convert into impure/pure on reaction completion in the datum/reagents holder instead of on consumption
+#define REACTION_CLEAR_INVERSE  //Convert into inverse on reaction completion when purity is low enough in the datum/reagents holder instead of on consumption
+#define REACTION_CLEAR_RETAIN	//Clear converted chems retain their purities/inverted purities. Requires 1 or both of the above. This is so that it can split again after splitting from a reaction (i.e. if your impure_chem or inverse_chem has it's own impure_chem/inverse_chem and you want it to split again on consumption). 
+#define REACTION_INSTANT        //Used to create instant reactions
+
+/datum/chemical_reaction
+	var/reaction_flags	
+
+

For REACTION_CLEAR – this causes the purity mechanics to resolve in the beaker at the end of the reaction, instead of when added to a mob.

+A note on cold recipies +

Is_cold_recipie requires you to set your overheat_temp and optimal_temp descend instead. +Eg:

+
/datum/chemical_reaction
+	...
+	var/required_temp			= 300
+	var/optimal_temp			= 200
+	var/overheat_temp 			= 50 
+
+Reagents +

The new vars that are introduced are below:

+
/datum/reagent
+	/// pH of the reagent
+	var/ph = 7
+	///Purity of the reagent
+	var/purity = 1
+	///the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
+	var/creation_purity = 1	
+	//impure chem values (see fermi_readme.dm for more details):
+	var/impure_chem		 = /datum/reagent/impurity			// What chemical path is made when metabolised as a function of purity
+	var/inverse_chem_val = 0.2								// If the impurity is below 0.5, replace ALL of the chem with inverse_chem upon metabolising
+	var/inverse_chem	 = /datum/reagent/impurity/toxic		// What chem is metabolised when purity is below inverse_chem_val
+	var/failed_chem		 = /datum/reagent/consumable/failed_reaction //what chem is made at the end of a reaction IF the purity is below the recipies purity_min
+    var/chemical_flags 
+
+
    +
  • pH is the innate pH of the reagent and is used to calculate the pH of a reagents datum on addition/removal. This does not change and is a reference value. The reagents datum pH changes.
  • +
  • purity is the INTERNAL value for splitting. This is set to 1 after splitting so that it doesn't infinite split
  • +
  • creation_purity is the purity of the reagent on creation. This won't change. If you want to write code that checks the purity in any of the methods, use this.
  • +
  • impure_chem is the datum type that is created provided that it's creation_purity is above the inverse_chem_val. When the reagent is consumed it will split into this OR if the associated datum/chemical_recipe has a REACTION_CLEAR_IMPURE flag it will split at the end of the reaction in the datum/reagents holder
  • +
  • inverse_chem_val if a reagent's purity is below this value it will 100% convert into inverse_chem. If above it will split into impure_chem. See the note on purity effects above
  • +
  • inverse_chem is the datum type that is created provided that it's creation_purity is below the inverse_chem_val. When the reagent is consumed it will 100% convert into this OR if the associated datum/chemical_recipe has a REACTION_CLEAR_INVERSE flag it will 100% convert at the end of the reaction in the datum/reagents holder
  • +
  • failed_chem is the chem that the product is 100% converted into if the purity is below the associated datum/chemical_recipies' PurityMin AT THE END OF A REACTION.
  • +
+

When writing any reagent code ALWAYS use creation_purity. Purity is kept for internal mechanics only and won’t reflect the purity on creation.

+

See above for purity mechanics, but this is where you set the reagents that are created. If you’re making an impure reagent I recommend looking at impure_reagents.dm to see how they’re set up and consider using the datum/reagents/impure as a parent.

+

The flags you can set for var/chemical_flags are:

+
#define REAGENT_DEAD_PROCESS		(1<<0)	//allows on_mob_dead() if present in a dead body
+#define REAGENT_DONOTSPLIT			(1<<1)	//Do not split the chem at all during processing - ignores all purity effects
+#define REAGENT_INVISIBLE			(1<<2)	//Doesn't appear on handheld health analyzers.
+#define REAGENT_SNEAKYNAME          (1<<3)  //When inverted, the inverted chem uses the name of the original chem
+#define REAGENT_SPLITRETAINVOL      (1<<4)  //Retains initial volume of chem when splitting for purity effects 
+
+/datum/reagent
+	var/chemical_flags 
+
+

While you might think reagent_flags is a more sensible name - it is already used for beakers. Hopefully this doesn't trip anyone up.

+Relivant vars from the holder.dm / reagents datum +

There are a few variables that are useful to know about

+
/datum/reagents
+	/// Current temp of the holder volume
+	var/chem_temp = 150
+	///pH of the whole system
+	var/ph = CHEMICAL_NORMAL_PH //aka 7
+	///cached list of reagents
+	var/list/datum/reagent/previous_reagent_list = new/list()
+	///Hard check to see if the reagents is presently reacting
+	var/is_reacting = FALSE
+
+
    +
  • chem_temp is the temperature used in the datum/chemical_recipe
  • +
  • pH is a result of the sum of all reagents, as well as any changes from buffers and reactions. This is the pH used in datum/chemical_recipe.
  • +
  • isReacting is a bool that can be used outside to ensure that you don't touch a reagents that is reacting.
  • +
  • previous_reagent_list is a list of the previous reagents (just the typepaths, not the objects) that was present on the last handle_reactions() method. This is to prevent pointless method calls.
  • +
+ + + diff --git a/code/modules/reagents/chemistry/holder/holder.html b/code/modules/reagents/chemistry/holder/holder.html new file mode 100644 index 00000000000..5de2a8b1e36 --- /dev/null +++ b/code/modules/reagents/chemistry/holder/holder.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/holder/holder.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/holder/holder.dm + +

+ + +
/datum/reagents////////////////////////////Main reagents code///////////////////////////////////////////// +Holder for a bunch of /datum/reagent
+ + + diff --git a/code/modules/reagents/chemistry/items.html b/code/modules/reagents/chemistry/items.html new file mode 100644 index 00000000000..180598e89de --- /dev/null +++ b/code/modules/reagents/chemistry/items.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/reagents/chemistry/items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/reagents/chemistry/items.dm + +

+ + + +
DETAILED_CHEM_OUTPUTif the ph_meter gives a detailed output
SHORTENED_CHEM_OUTPUTif the pH meter gives a shorter output

Define Details

+

DETAILED_CHEM_OUTPUT + + +

+

if the ph_meter gives a detailed output

SHORTENED_CHEM_OUTPUT + + +

+

if the pH meter gives a shorter output

+ + + diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.html b/code/modules/reagents/chemistry/machinery/chem_heater.html new file mode 100644 index 00000000000..9b308fe6bbe --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_heater.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/reagents/chemistry/machinery/chem_heater.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/reagents/chemistry/machinery/chem_heater.dm + +

+ + +
TUT_NO_BUFFERTutorial states

Define Details

+

TUT_NO_BUFFER + + +

+

Tutorial states

+ + + diff --git a/code/modules/reagents/chemistry/machinery/chem_master.html b/code/modules/reagents/chemistry/machinery/chem_master.html new file mode 100644 index 00000000000..5db5b687c6a --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/chem_master.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/machinery/chem_master.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/machinery/chem_master.dm + +

+ + +
/obj/machinery/chem_masterRoughly 10 - 30s? +Roughly 10 - 30s?
+ + + diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.html b/code/modules/reagents/chemistry/machinery/smoke_machine.html new file mode 100644 index 00000000000..eda79490822 --- /dev/null +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/machinery/smoke_machine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/machinery/smoke_machine.dm + +

+ + + +
/datum/effect_system/fluid_spread/smoke/chem/smoke_machineA factory which produces clouds of smoke for the smoke machine.
/obj/effect/particle_effect/fluid/smoke/chem/smoke_machineSmoke which is produced by the smoke machine. Slightly transparent and does not block line of sight.
+ + + diff --git a/code/modules/reagents/chemistry/reagents.html b/code/modules/reagents/chemistry/reagents.html new file mode 100644 index 00000000000..273409c3d6b --- /dev/null +++ b/code/modules/reagents/chemistry/reagents.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/chemistry/reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents.dm + +

+ + + + +
/datum/reagentA single reagent
/proc/pretty_string_from_reagent_listInput a reagent_list, outputs pretty readable text! +Default output will be formatted as
+ + + diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.html b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.html new file mode 100644 index 00000000000..be717ba3d95 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm + +

+ + + + + + + +
/datum/reagent/medicine/c2/helbitalBRUTE
/datum/reagent/medicine/c2/lenturiBURN
CONVERMOL_RATIOOXY
/datum/reagent/medicine/c2/seiverTOXIN
/datum/reagent/medicine/c2/synthfleshCOMBOS
/datum/reagent/medicine/c2/penthriteORGAN HEALING

Define Details

+

CONVERMOL_RATIO + + +

+

OXY

+ + + diff --git a/code/modules/reagents/chemistry/reagents/catalyst_reagents.html b/code/modules/reagents/chemistry/reagents/catalyst_reagents.html new file mode 100644 index 00000000000..7b70f2d6f9f --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/catalyst_reagents.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/reagents/catalyst_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/catalyst_reagents.dm + +

+ + + +
/datum/reagent/catalyst_agentNICHE +These alter reaction conditions while they're in the beaker
/datum/reagent/catalyst_agent/speed/medicineThese affect medicines
+ + + diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.html b/code/modules/reagents/chemistry/reagents/drug_reagents.html new file mode 100644 index 00000000000..eab048c3274 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/drug_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/drug_reagents.dm + +

+ + +
/datum/reagent/drug/kronkaine/goredirty kronkaine, aka gore. far worse overdose effects.
+ + + diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.html b/code/modules/reagents/chemistry/reagents/food_reagents.html new file mode 100644 index 00000000000..d58a2df0fa2 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/food_reagents.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/reagents/food_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/food_reagents.dm + +

+ + + +
/datum/reagent/consumable/nutriment/proteinThe basic resource of vat growing.
/datum/reagent/consumable/entpolyLavaland Flora Reagents
+ + + diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.html b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.html new file mode 100644 index 00000000000..f6e39fa504e --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm + +

+ + + +
/datum/reagent/impurity/healing/medicine_failureMEDICINES
/datum/reagent/inverse/penthriteCan bring a corpse back to life temporarily (if heart is intact) +Makes wounds bleed more, if it brought someone back, they take additional brute and heart damage +They can't die during this, but if they're past crit then take increasing stamina damage +If they're past fullcrit, their movement is slowed by half +If they OD, their heart explodes (if they were brought back from the dead)
+ + + diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_toxin_reagents.html b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_toxin_reagents.html new file mode 100644 index 00000000000..3315ab45a1a --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_toxin_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/impure_reagents/impure_toxin_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/impure_reagents/impure_toxin_reagents.dm + +

+ + +
/datum/reagent/impurity/ipecacideTOXINS
+ + + diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.html b/code/modules/reagents/chemistry/reagents/other_reagents.html new file mode 100644 index 00000000000..27d2bfada8b --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/other_reagents.html @@ -0,0 +1,58 @@ + + + + + + + code/modules/reagents/chemistry/reagents/other_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/reagents/chemistry/reagents/other_reagents.dm + +

+ + + + + + + + + + + + +
WATER_TO_WET_STACKS_FACTOR_TOUCHHow many wet stacks you get per units of water when it's applied by touch.
WATER_TO_WET_STACKS_FACTOR_VAPORHow many wet stacks you get per unit of water when it's applied by vapor. Much less effective than by touch, of course.
/datum/reagent/lubeUsed for clownery
/datum/reagent/lube/superlubeStronger kind of lube. Applies TURF_WET_SUPERLUBE.
CYCLES_TO_TURNthe current_cycle threshold / iterations needed before one can transform
CYCLES_MSG_IMMEDIATEthe cycle at which 'immediate' mutation text begins displaying
CYCLES_MSG_EXTENDEDthe cycle at which 'extended' mutation text begins displaying
/datum/reagent/colorful_reagent/powderColorful Powder
/datum/reagent/plantnutrimentHydroponics stuff
/datum/reagent/yuckImprovised reagent that induces vomiting. Created by dipping a dead mouse in welder fluid.

The current_cycle when puking starts.

Define Details

+

CYCLES_MSG_EXTENDED + + +

+

the cycle at which 'extended' mutation text begins displaying

CYCLES_MSG_IMMEDIATE + + +

+

the cycle at which 'immediate' mutation text begins displaying

CYCLES_TO_TURN + + +

+

the current_cycle threshold / iterations needed before one can transform

WATER_TO_WET_STACKS_FACTOR_TOUCH + + +

+

How many wet stacks you get per units of water when it's applied by touch.

WATER_TO_WET_STACKS_FACTOR_VAPOR + + +

+

How many wet stacks you get per unit of water when it's applied by vapor. Much less effective than by touch, of course.

+ + + diff --git a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.html b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.html new file mode 100644 index 00000000000..6f2d753f951 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm + +

+ + +
SPEED_REAGENT_STRENGTHHow much the reaction speed is sped up by - for 5u added to 100u, an additional step of 1 will be done up to a max of 2x

Define Details

+

SPEED_REAGENT_STRENGTH + + +

+

How much the reaction speed is sped up by - for 5u added to 100u, an additional step of 1 will be done up to a max of 2x

+ + + diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.html b/code/modules/reagents/chemistry/reagents/toxin_reagents.html new file mode 100644 index 00000000000..bd608c09ae7 --- /dev/null +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/reagents/toxin_reagents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/reagents/toxin_reagents.dm + +

+ + +
/datum/reagent/toxinPoison stuff (Toxins & Acids)
+ + + diff --git a/code/modules/reagents/chemistry/recipes.html b/code/modules/reagents/chemistry/recipes.html new file mode 100644 index 00000000000..fc41db1338c --- /dev/null +++ b/code/modules/reagents/chemistry/recipes.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/recipes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes.dm + +

+ + + + +
/datum/chemical_reaction#Chemical Reaction
/proc/goonchem_vortexMagical move-wooney that happens sometimes.
+ + + diff --git a/code/modules/reagents/chemistry/recipes/cat2_medicines.html b/code/modules/reagents/chemistry/recipes/cat2_medicines.html new file mode 100644 index 00000000000..6d8a894179e --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/cat2_medicines.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/chemistry/recipes/cat2_medicines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/cat2_medicines.dm + +

+ + + + + +
/datum/chemical_reaction/medicine/helbitalBRUTE
/datum/chemical_reaction/medicine/lenturiBURN
/datum/chemical_reaction/medicine/convermolOXY
/datum/chemical_reaction/medicine/seiverTOX
+ + + diff --git a/code/modules/reagents/chemistry/recipes/catalysts.html b/code/modules/reagents/chemistry/recipes/catalysts.html new file mode 100644 index 00000000000..7607c129edf --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/catalysts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/recipes/catalysts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/catalysts.dm + +

+ + +
/datum/chemical_reaction/medical_speed_catalystMEDICINES
+ + + diff --git a/code/modules/reagents/chemistry/recipes/medicine.html b/code/modules/reagents/chemistry/recipes/medicine.html new file mode 100644 index 00000000000..960e9085c70 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/medicine.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/recipes/medicine.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/medicine.dm + +

+ + +
/datum/chemical_reaction/medicine/medsuturemedical stacks
+ + + diff --git a/code/modules/reagents/chemistry/recipes/others.html b/code/modules/reagents/chemistry/recipes/others.html new file mode 100644 index 00000000000..a5166c0ce3e --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/others.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/reagents/chemistry/recipes/others.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/others.dm + +

+ + + + + + + +
/datum/chemical_reaction/virus_foodVIROLOGY
/datum/chemical_reaction/surfactantfoam and foam precursor
/datum/chemical_reaction/ammoniaCleaning and hydroponics
/datum/chemical_reaction/acetoneOther goon stuff
/datum/chemical_reaction/hair_dyeList of screams to play.
/datum/chemical_reaction/iceIce and water
+ + + diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.html b/code/modules/reagents/chemistry/recipes/pyrotechnics.html new file mode 100644 index 00000000000..5ab1166ee58 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/reagents/chemistry/recipes/pyrotechnics.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/pyrotechnics.dm + +

+ + +
/datum/chemical_reaction/gunpowderturf where to play sound +special size for anti cult effect
+ + + diff --git a/code/modules/reagents/chemistry/recipes/reaction_agents.html b/code/modules/reagents/chemistry/recipes/reaction_agents.html new file mode 100644 index 00000000000..728a2b77a66 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/reaction_agents.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/recipes/reaction_agents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/reaction_agents.dm + +

+ + +
/datum/chemical_reaction/prefactor_aExample competitive reaction (REACTION_COMPETITIVE)
+ + + diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.html b/code/modules/reagents/chemistry/recipes/slime_extracts.html new file mode 100644 index 00000000000..e98e996a600 --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/chemistry/recipes/slime_extracts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/slime_extracts.dm + +

+ + +
/datum/chemical_reaction/slimeEnd example
+ + + diff --git a/code/modules/reagents/chemistry/recipes/special.html b/code/modules/reagents/chemistry/recipes/special.html new file mode 100644 index 00000000000..653eacaf45f --- /dev/null +++ b/code/modules/reagents/chemistry/recipes/special.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/chemistry/recipes/special.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/chemistry/recipes/special.dm + +

+ + + + +
/proc/build_medicine_reagentsJust grab every craftable medicine you can think off
/datum/chemical_reaction/randomized/metalgenRandom recipe for meme chem metalgen. Always requires wittel and resets every 3 days
+ + + diff --git a/code/modules/reagents/reagent_containers/condiment.html b/code/modules/reagents/reagent_containers/condiment.html new file mode 100644 index 00000000000..70e47059ecf --- /dev/null +++ b/code/modules/reagents/reagent_containers/condiment.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/reagent_containers/condiment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/condiment.dm + +

+ + +
/obj/item/reagent_containers/condimentCondiments
+ + + diff --git a/code/modules/reagents/reagent_containers/cups/_cup.html b/code/modules/reagents/reagent_containers/cups/_cup.html new file mode 100644 index 00000000000..824caafe283 --- /dev/null +++ b/code/modules/reagents/reagent_containers/cups/_cup.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/reagent_containers/cups/_cup.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/cups/_cup.dm + +

+ + +
/obj/item/reagent_containers/cup/tubeTest tubes created by chem master and pandemic and placed in racks
+ + + diff --git a/code/modules/reagents/reagent_containers/cups/_glass_datum.html b/code/modules/reagents/reagent_containers/cups/_glass_datum.html new file mode 100644 index 00000000000..1f2ce8c3741 --- /dev/null +++ b/code/modules/reagents/reagent_containers/cups/_glass_datum.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/reagent_containers/cups/_glass_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/cups/_glass_datum.dm + +

+ + + + +
/proc/create_glass_stylesConstructs a nested list of glass style singletons
/datum/glass_style
+ + + diff --git a/code/modules/reagents/reagent_containers/cups/drinks.html b/code/modules/reagents/reagent_containers/cups/drinks.html new file mode 100644 index 00000000000..dd7eee05d87 --- /dev/null +++ b/code/modules/reagents/reagent_containers/cups/drinks.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/reagents/reagent_containers/cups/drinks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/cups/drinks.dm + +

+ + + + +
/obj/item/reagent_containers/cup/glassDrinks.
/obj/item/reagent_containers/cup/glass/coffeeDrinks
/obj/item/reagent_containers/cup/glass/shakerdrinkingglass and shaker
+ + + diff --git a/code/modules/reagents/reagent_containers/cups/glassbottle.html b/code/modules/reagents/reagent_containers/cups/glassbottle.html new file mode 100644 index 00000000000..a56b34722fc --- /dev/null +++ b/code/modules/reagents/reagent_containers/cups/glassbottle.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/reagents/reagent_containers/cups/glassbottle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/cups/glassbottle.dm + +

+ + + + + + + +
/proc/init_alcohol_containers////////////////////////////////////////////Alchohol bottles! -Agouri ////////////////////////// +Initializes GLOB.alcohol_containers, only containers that actually have reagents are added to the list.
/obj/item/broken_bottleThe froth fountain that we are sticking onto the bottle
/obj/projectile/bullet/champagne_corkType of cork to fire away +Our resulting cork projectile
/obj/item/reagent_containers/cup/glass/bottle/molotovMOLOTOV
/obj/item/reagent_containers/cup/glass/bottle/juiceCartons +Subtype of glass that don't break, and share a common carton hand state. +Meant to be a subtype for use in Molotovs
+ + + diff --git a/code/modules/reagents/reagent_containers/cups/soda.html b/code/modules/reagents/reagent_containers/cups/soda.html new file mode 100644 index 00000000000..2f4708381b1 --- /dev/null +++ b/code/modules/reagents/reagent_containers/cups/soda.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/reagents/reagent_containers/cups/soda.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/reagents/reagent_containers/cups/soda.dm + +

+ + + +
SODA_FIZZINESS_THROWN///////////////////////soda_cans// +How much fizziness is added to the can of soda by throwing it, in percentage points
SODA_FIZZINESS_SHAKEHow much fizziness is added to the can of soda by shaking it, in percentage points

Define Details

+

SODA_FIZZINESS_SHAKE + + +

+

How much fizziness is added to the can of soda by shaking it, in percentage points

SODA_FIZZINESS_THROWN + + +

+

///////////////////////soda_cans// +How much fizziness is added to the can of soda by throwing it, in percentage points

+ + + diff --git a/code/modules/reagents/reagent_containers/pill.html b/code/modules/reagents/reagent_containers/pill.html new file mode 100644 index 00000000000..297683e8064 --- /dev/null +++ b/code/modules/reagents/reagent_containers/pill.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/reagents/reagent_containers/pill.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/pill.dm + +

+ + + + + +
/obj/item/reagent_containers/pill/shadowtoxinthis pill is used only in a legion mob drop
/obj/item/reagent_containers/pill/happinesspsychPsychologist inventory pills
/obj/item/reagent_containers/pill/zoomdrugs
/obj/item/reagent_containers/pill/maintenanceBlack and white pills that spawn in maintenance and have random reagent contents
+ + + diff --git a/code/modules/reagents/reagent_containers/spray.html b/code/modules/reagents/reagent_containers/spray.html new file mode 100644 index 00000000000..1187ebba45e --- /dev/null +++ b/code/modules/reagents/reagent_containers/spray.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/reagent_containers/spray.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_containers/spray.dm + +

+ + +
/obj/item/reagent_containers/spray/waterflower/superlubeSubtype used for the lavaland clown ruin.
+ + + diff --git a/code/modules/reagents/reagent_dispenser.html b/code/modules/reagents/reagent_dispenser.html new file mode 100644 index 00000000000..3e3d14d3d8c --- /dev/null +++ b/code/modules/reagents/reagent_dispenser.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/reagent_dispenser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/reagent_dispenser.dm + +

+ + +
/obj/structure/reagent_dispensers/wallWall mounted dispeners, like pepper spray or virus food. Not a normal tank, and shouldn't be able to be turned into a plumbed stationary one.
+ + + diff --git a/code/modules/reagents/withdrawal/_addiction.html b/code/modules/reagents/withdrawal/_addiction.html new file mode 100644 index 00000000000..9708d5de99c --- /dev/null +++ b/code/modules/reagents/withdrawal/_addiction.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/reagents/withdrawal/_addiction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/withdrawal/_addiction.dm + +

+ + +
/datum/addictionbase class for addiction, handles when you become addicted and what the effects of that are. By default you become addicted when you hit a certain threshold, and stop being addicted once you go below another one.
+ + + diff --git a/code/modules/reagents/withdrawal/generic_addictions.html b/code/modules/reagents/withdrawal/generic_addictions.html new file mode 100644 index 00000000000..9d5fb3d0252 --- /dev/null +++ b/code/modules/reagents/withdrawal/generic_addictions.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/reagents/withdrawal/generic_addictions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/reagents/withdrawal/generic_addictions.dm + +

+ + + + + + +
/datum/addiction/opioidsOpioids
/datum/addiction/stimulantsStimulants
/datum/addiction/alcoholAlcohol
/datum/addiction/medicineMakes you a hypochondriac - I'd like to call it hypochondria, but "I could use some hypochondria" doesn't work
/datum/addiction/nicotineNicotine
+ + + diff --git a/code/modules/recycling/conveyor.html b/code/modules/recycling/conveyor.html new file mode 100644 index 00000000000..2e7f5733e3d --- /dev/null +++ b/code/modules/recycling/conveyor.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/recycling/conveyor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/recycling/conveyor.dm + +

+ + + + + +
MAX_CONVEYOR_ITEMS_MOVEMaximum amount of items a conveyor can move at once.
CONVEYOR_OFFConveyor is currently off.
CONVEYOR_FORWARDConveyor is currently configured to move items forward.
CONVEYOR_BACKWARDSConveyor is currently configured to move items backwards.

Define Details

+

CONVEYOR_BACKWARDS + + +

+

Conveyor is currently configured to move items backwards.

CONVEYOR_FORWARD + + +

+

Conveyor is currently configured to move items forward.

CONVEYOR_OFF + + +

+

Conveyor is currently off.

MAX_CONVEYOR_ITEMS_MOVE + + +

+

Maximum amount of items a conveyor can move at once.

+ + + diff --git a/code/modules/recycling/disposal/multiz.html b/code/modules/recycling/disposal/multiz.html new file mode 100644 index 00000000000..c3a73f74c9f --- /dev/null +++ b/code/modules/recycling/disposal/multiz.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/recycling/disposal/multiz.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/recycling/disposal/multiz.dm + +

+ + + + +
MULTIZ_PIPE_UPDefines for determining which way a multiz disposal element should travel
MULTIZ_PIPE_DOWNDefines for determining which way a multiz disposal element should travel
/obj/structure/disposalpipe/trunk/multiz/downSet the multiz direction of your trunk. 1 = up, 2 = down

Define Details

+

MULTIZ_PIPE_DOWN + + +

+

Defines for determining which way a multiz disposal element should travel

MULTIZ_PIPE_UP + + +

+

Defines for determining which way a multiz disposal element should travel

+ + + diff --git a/code/modules/recycling/disposal/outlet.html b/code/modules/recycling/disposal/outlet.html new file mode 100644 index 00000000000..b274b80821d --- /dev/null +++ b/code/modules/recycling/disposal/outlet.html @@ -0,0 +1,47 @@ + + + + + + + code/modules/recycling/disposal/outlet.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/recycling/disposal/outlet.dm + +

+ + + + + +
EJECT_SPEED_SLOWThe slowest setting for disposal eject speed
EJECT_SPEED_MEDThe default setting for disposal eject speed
EJECT_SPEED_FASTThe fast setting for disposal eject speed
EJECT_SPEED_YEETThe fastest, emag exclusive setting for disposal eject speed

Define Details

+

EJECT_SPEED_FAST + + +

+

The fast setting for disposal eject speed

EJECT_SPEED_MED + + +

+

The default setting for disposal eject speed

EJECT_SPEED_SLOW + + +

+

The slowest setting for disposal eject speed

EJECT_SPEED_YEET + + +

+

The fastest, emag exclusive setting for disposal eject speed

+ + + diff --git a/code/modules/recycling/sortingmachinery.html b/code/modules/recycling/sortingmachinery.html new file mode 100644 index 00000000000..72f5428660f --- /dev/null +++ b/code/modules/recycling/sortingmachinery.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/recycling/sortingmachinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/recycling/sortingmachinery.dm + +

+ + + +
/obj/item/delivery/big
/obj/item/delivery/small
+ + + diff --git a/code/modules/religion/burdened/burdened_trauma.html b/code/modules/religion/burdened/burdened_trauma.html new file mode 100644 index 00000000000..75e9214668a --- /dev/null +++ b/code/modules/religion/burdened/burdened_trauma.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/burdened/burdened_trauma.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/religion/burdened/burdened_trauma.dm + +

+ + +
/datum/brain_trauma/special/burdenedBurdened grants some mutations upon injuring yourself sufficiently
+ + + diff --git a/code/modules/religion/burdened/psyker.html b/code/modules/religion/burdened/psyker.html new file mode 100644 index 00000000000..acbabdbc890 --- /dev/null +++ b/code/modules/religion/burdened/psyker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/burdened/psyker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/religion/burdened/psyker.dm + +

+ + +
/datum/status_effect/psychic_projectionStatus effect that adds a weird view to its owner and causes them to rapidly shoot a firearm in their general direction.
+ + + diff --git a/code/modules/religion/festival/instrument_rites.html b/code/modules/religion/festival/instrument_rites.html new file mode 100644 index 00000000000..6d4f4b2340c --- /dev/null +++ b/code/modules/religion/festival/instrument_rites.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/festival/instrument_rites.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/religion/festival/instrument_rites.dm + +

+ + +
/datum/religion_rites/song_tunerprototype for rites that tune a song.
+ + + diff --git a/code/modules/religion/honorbound/honorbound_rites.html b/code/modules/religion/honorbound/honorbound_rites.html new file mode 100644 index 00000000000..db8c8695791 --- /dev/null +++ b/code/modules/religion/honorbound/honorbound_rites.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/religion/honorbound/honorbound_rites.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/religion/honorbound/honorbound_rites.dm + +

+ + + + +
DEACONIZE_FAVOR_GAINhow much favor is gained when someone joins the crusade and is deaconized
/datum/religion_rites/deaconizeMakes the person holy, but they now also have to follow the honorbound code (CBT). Actually earns favor, convincing others to uphold the code (tm) is not easy
/datum/religion_rites/forgiveMostly useless funny rite for forgiving someone, making them innocent once again.

Define Details

+

DEACONIZE_FAVOR_GAIN + + +

+

how much favor is gained when someone joins the crusade and is deaconized

+ + + diff --git a/code/modules/religion/honorbound/honorbound_trauma.html b/code/modules/religion/honorbound/honorbound_trauma.html new file mode 100644 index 00000000000..2aaedc7bdb7 --- /dev/null +++ b/code/modules/religion/honorbound/honorbound_trauma.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/religion/honorbound/honorbound_trauma.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/religion/honorbound/honorbound_trauma.dm + +

+ + + +
GUILT_REASON_DECLARATIONone reason for declaring guilty is specifically checked for, keeping it as a define to avoid future mistakes
/datum/brain_trauma/special/honorboundHonorbound prevents you from attacking the unready, the just, or the innocent

Define Details

+

GUILT_REASON_DECLARATION + + +

+

one reason for declaring guilty is specifically checked for, keeping it as a define to avoid future mistakes

+ + + diff --git a/code/modules/religion/religion_sects.html b/code/modules/religion/religion_sects.html new file mode 100644 index 00000000000..297477fe387 --- /dev/null +++ b/code/modules/religion/religion_sects.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/religion/religion_sects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/religion/religion_sects.dm + +

+ + + + + +
/datum/religion_sectReligious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho.
/datum/religion_sect/puritanismNanotrasen Approved God
/datum/religion_sect/mechanicalMechanical God
/datum/religion_sect/pyrePyre God
+ + + diff --git a/code/modules/religion/rites.html b/code/modules/religion/rites.html new file mode 100644 index 00000000000..22ab0cacba0 --- /dev/null +++ b/code/modules/religion/rites.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/religion/rites.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/religion/rites.dm + +

+ + + + + +
/datum/religion_rites/synthconversionMechanical God
/datum/religion_rites/greedGreedy God +all greed rites cost money instead
/datum/religion_rites/maint_adaptationMaintenance God
/datum/religion_rites/sparring_contractsparring god rites
+ + + diff --git a/code/modules/religion/sparring/ceremonial_gear.html b/code/modules/religion/sparring/ceremonial_gear.html new file mode 100644 index 00000000000..b6e069d940f --- /dev/null +++ b/code/modules/religion/sparring/ceremonial_gear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/religion/sparring/ceremonial_gear.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/religion/sparring/ceremonial_gear.dm + +

+ + +
/obj/item/ceremonial_bladeritual weapons. they're really bad, but they become normal weapons when sparring.
+ + + diff --git a/code/modules/requests/request.html b/code/modules/requests/request.html new file mode 100644 index 00000000000..0c5812973f5 --- /dev/null +++ b/code/modules/requests/request.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/requests/request.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/requests/request.dm + +

+ + +
/datum/requestA representation of an in-game request, such as a prayer.
+ + + diff --git a/code/modules/requests/request_manager.html b/code/modules/requests/request_manager.html new file mode 100644 index 00000000000..dce64b104c2 --- /dev/null +++ b/code/modules/requests/request_manager.html @@ -0,0 +1,59 @@ + + + + + + + code/modules/requests/request_manager.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/requests/request_manager.dm + +

+ + + + + + + + +
REQUEST_PRAYERRequests from prayers
REQUEST_CENTCOMRequests for Centcom
REQUEST_SYNDICATERequests for the Syndicate
REQUEST_NUKERequests for the nuke code
REQUEST_FAXRequests somebody from fax
REQUEST_INTERNET_SOUNDRequests from Request Music
/datum/request_managerHandles all player requests (prayers, centcom requests, syndicate requests) +that occur in the duration of a round.

Define Details

+

REQUEST_CENTCOM + + +

+

Requests for Centcom

REQUEST_FAX + + +

+

Requests somebody from fax

REQUEST_INTERNET_SOUND + + +

+

Requests from Request Music

REQUEST_NUKE + + +

+

Requests for the nuke code

REQUEST_PRAYER + + +

+

Requests from prayers

REQUEST_SYNDICATE + + +

+

Requests for the Syndicate

+ + + diff --git a/code/modules/research/anomaly/anomaly_refinery.html b/code/modules/research/anomaly/anomaly_refinery.html new file mode 100644 index 00000000000..774c21d36d5 --- /dev/null +++ b/code/modules/research/anomaly/anomaly_refinery.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/research/anomaly/anomaly_refinery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/research/anomaly/anomaly_refinery.dm + +

+ + + +
COMPRESSION_TEST_TIMEHow long the compression test can last before the machine just gives up and ejects the items.
/obj/machinery/research/anomaly_refineryThe explosive compressor machine used in anomaly core production.

Define Details

+

COMPRESSION_TEST_TIME + + +

+

How long the compression test can last before the machine just gives up and ejects the items.

+ + + diff --git a/code/modules/research/anomaly/raw_anomaly.html b/code/modules/research/anomaly/raw_anomaly.html new file mode 100644 index 00000000000..3a479273b1b --- /dev/null +++ b/code/modules/research/anomaly/raw_anomaly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/anomaly/raw_anomaly.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/anomaly/raw_anomaly.dm + +

+ + +
/obj/item/raw_anomaly_coreThe current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.
+ + + diff --git a/code/modules/research/designs.html b/code/modules/research/designs.html new file mode 100644 index 00000000000..27a43db1358 --- /dev/null +++ b/code/modules/research/designs.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/research/designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs.dm + +

+ + + +
/datum/designDesign Datums +All the data for building stuff.
/obj/item/disk/design_disk/bepis/remove_techSubtype of Bepis tech disk +Removes the tech disk that's held on it from the experimental node list, making them not show up in future disks.
+ + + diff --git a/code/modules/research/designs/AI_module_designs.html b/code/modules/research/designs/AI_module_designs.html new file mode 100644 index 00000000000..dc7ff69417f --- /dev/null +++ b/code/modules/research/designs/AI_module_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/AI_module_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/AI_module_designs.dm + +

+ + +
/datum/design/board/aicoreAI Module Disks
+ + + diff --git a/code/modules/research/designs/biogenerator_designs.html b/code/modules/research/designs/biogenerator_designs.html new file mode 100644 index 00000000000..783dd0f543a --- /dev/null +++ b/code/modules/research/designs/biogenerator_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/biogenerator_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/biogenerator_designs.dm + +

+ + +
/datum/design/milkBiogenerator Designs
+ + + diff --git a/code/modules/research/designs/bluespace_designs.html b/code/modules/research/designs/bluespace_designs.html new file mode 100644 index 00000000000..341fd1ba107 --- /dev/null +++ b/code/modules/research/designs/bluespace_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/bluespace_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/bluespace_designs.dm + +

+ + +
/datum/design/beaconBluespace
+ + + diff --git a/code/modules/research/designs/comp_board_designs.html b/code/modules/research/designs/comp_board_designs.html new file mode 100644 index 00000000000..88a4a1b9137 --- /dev/null +++ b/code/modules/research/designs/comp_board_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/comp_board_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/comp_board_designs.dm + +

+ + +
/datum/design/boardComputer Boards
+ + + diff --git a/code/modules/research/designs/computer_part_designs.html b/code/modules/research/designs/computer_part_designs.html new file mode 100644 index 00000000000..5e94d0434d5 --- /dev/null +++ b/code/modules/research/designs/computer_part_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/computer_part_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/computer_part_designs.dm + +

+ + +
/datum/design/portabledrive/basicComputer Parts
+ + + diff --git a/code/modules/research/designs/electronics_designs.html b/code/modules/research/designs/electronics_designs.html new file mode 100644 index 00000000000..3b4f00deaae --- /dev/null +++ b/code/modules/research/designs/electronics_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/electronics_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/electronics_designs.dm + +

+ + + +
/datum/design/intellicardNon-Board Computer Stuff
/datum/design/tech_diskDisk Construction Disks
+ + + diff --git a/code/modules/research/designs/limbgrower_designs.html b/code/modules/research/designs/limbgrower_designs.html new file mode 100644 index 00000000000..255e059391c --- /dev/null +++ b/code/modules/research/designs/limbgrower_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/limbgrower_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/limbgrower_designs.dm + +

+ + + +
/datum/design/leftarmLimb Grower Designs
/obj/item/disk/design_disk/limbsDesign disks and designs - for adding limbs and organs to the limbgrower.
+ + + diff --git a/code/modules/research/designs/machine_designs.html b/code/modules/research/designs/machine_designs.html new file mode 100644 index 00000000000..f96e2db4964 --- /dev/null +++ b/code/modules/research/designs/machine_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/machine_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/machine_designs.dm + +

+ + +
/datum/design/board/electrolyzerMISC Boards
+ + + diff --git a/code/modules/research/designs/mecha_designs.html b/code/modules/research/designs/mecha_designs.html new file mode 100644 index 00000000000..1fb464f57f9 --- /dev/null +++ b/code/modules/research/designs/mecha_designs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/designs/mecha_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/mecha_designs.dm + +

+ + + +
/datum/design/board/ripley_mainMecha Module Disks
/datum/design/mech_scattershotMecha Equpment
+ + + diff --git a/code/modules/research/designs/mechfabricator_designs.html b/code/modules/research/designs/mechfabricator_designs.html new file mode 100644 index 00000000000..5e65d3543e2 --- /dev/null +++ b/code/modules/research/designs/mechfabricator_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/mechfabricator_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/mechfabricator_designs.dm + +

+ + +
/datum/design/borg_upgrade_renameBorg Upgrades
+ + + diff --git a/code/modules/research/designs/medical_designs.html b/code/modules/research/designs/medical_designs.html new file mode 100644 index 00000000000..bd9f5f8c99c --- /dev/null +++ b/code/modules/research/designs/medical_designs.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/research/designs/medical_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/medical_designs.dm + +

+ + + + + +
/datum/design/healthanalyzerMedical Tools
/datum/design/cyberimp_breatherCybernetic Implants
/datum/design/implanterRegular Implants
/datum/design/surgerySurgery Designs
+ + + diff --git a/code/modules/research/designs/mining_designs.html b/code/modules/research/designs/mining_designs.html new file mode 100644 index 00000000000..52f4184eeef --- /dev/null +++ b/code/modules/research/designs/mining_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/mining_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/mining_designs.dm + +

+ + +
/datum/design/cargo_expressMining
+ + + diff --git a/code/modules/research/designs/power_designs.html b/code/modules/research/designs/power_designs.html new file mode 100644 index 00000000000..11086d0d23b --- /dev/null +++ b/code/modules/research/designs/power_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/power_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/power_designs.dm + +

+ + +
/datum/design/basic_cellPower
+ + + diff --git a/code/modules/research/designs/smelting_designs.html b/code/modules/research/designs/smelting_designs.html new file mode 100644 index 00000000000..15482b27b46 --- /dev/null +++ b/code/modules/research/designs/smelting_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/smelting_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/smelting_designs.dm + +

+ + +
/datum/design/plasteel_alloySMELTABLE ALLOYS
+ + + diff --git a/code/modules/research/designs/stock_parts_designs.html b/code/modules/research/designs/stock_parts_designs.html new file mode 100644 index 00000000000..88d72235758 --- /dev/null +++ b/code/modules/research/designs/stock_parts_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/stock_parts_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/stock_parts_designs.dm + +

+ + +
/datum/design/rpedStock Parts
+ + + diff --git a/code/modules/research/designs/telecomms_designs.html b/code/modules/research/designs/telecomms_designs.html new file mode 100644 index 00000000000..5c3bd66b493 --- /dev/null +++ b/code/modules/research/designs/telecomms_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/telecomms_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/telecomms_designs.dm + +

+ + +
/datum/design/board/subspace_receiverSubspace Telecomms
+ + + diff --git a/code/modules/research/designs/tool_designs.html b/code/modules/research/designs/tool_designs.html new file mode 100644 index 00000000000..9627da53546 --- /dev/null +++ b/code/modules/research/designs/tool_designs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/research/designs/tool_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/tool_designs.dm + +

+ + + + +
/datum/design/fire_extinguisher_advancedTools
/datum/design/alienwrenchAlien Tools
/datum/design/alienscalpelAlien Surgical Tools
+ + + diff --git a/code/modules/research/designs/weapon_designs.html b/code/modules/research/designs/weapon_designs.html new file mode 100644 index 00000000000..bce23ccb23b --- /dev/null +++ b/code/modules/research/designs/weapon_designs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/designs/weapon_designs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/designs/weapon_designs.dm + +

+ + +
/datum/design/c38/secWeapons
+ + + diff --git a/code/modules/research/destructive_analyzer.html b/code/modules/research/destructive_analyzer.html new file mode 100644 index 00000000000..944b852bfc1 --- /dev/null +++ b/code/modules/research/destructive_analyzer.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/research/destructive_analyzer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/research/destructive_analyzer.dm + +

+ + + + +
DESTRUCTIVE_ANALYZER_POWER_USAGEHow much power it costs to deconstruct an item.
DESTRUCTIVE_ANALYZER_DESTROY_POINTSThe 'ID' for deconstructing items for Research points instead of nodes.
/obj/machinery/rnd/destructive_analyzer

Define Details

+

DESTRUCTIVE_ANALYZER_DESTROY_POINTS + + +

+

The 'ID' for deconstructing items for Research points instead of nodes.

DESTRUCTIVE_ANALYZER_POWER_USAGE + + +

+

How much power it costs to deconstruct an item.

+ + + diff --git a/code/modules/research/experimentor.html b/code/modules/research/experimentor.html new file mode 100644 index 00000000000..576bf6ca380 --- /dev/null +++ b/code/modules/research/experimentor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/experimentor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/experimentor.dm + +

+ + +
/obj/item/relicSPECIAL ITEMS
+ + + diff --git a/code/modules/research/machinery/protolathe.html b/code/modules/research/machinery/protolathe.html new file mode 100644 index 00000000000..81610004fdb --- /dev/null +++ b/code/modules/research/machinery/protolathe.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/machinery/protolathe.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/machinery/protolathe.dm + +

+ + +
/obj/machinery/rnd/production/protolathe/offstationSpecial subtype protolathe for offstation use. Has a more limited available design selection.
+ + + diff --git a/code/modules/research/ordnance/_scipaper.html b/code/modules/research/ordnance/_scipaper.html new file mode 100644 index 00000000000..867a3d3b912 --- /dev/null +++ b/code/modules/research/ordnance/_scipaper.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/ordnance/_scipaper.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/ordnance/_scipaper.dm + +

+ + + +
/datum/scientific_paperScientific paper datum for retrieval and re-reading. A lot of the variables are there for fluff & flavor.
/datum/scientific_partnerVarious informations on companies/scientific programs/journals etc that the players can sign on to.
+ + + diff --git a/code/modules/research/ordnance/tank_compressor.html b/code/modules/research/ordnance/tank_compressor.html new file mode 100644 index 00000000000..988a2f9964c --- /dev/null +++ b/code/modules/research/ordnance/tank_compressor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/ordnance/tank_compressor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/ordnance/tank_compressor.dm + +

+ + +
/datum/data/compressor_recordStores the record of the gas data for a significant enough tank leak
+ + + diff --git a/code/modules/research/server.html b/code/modules/research/server.html new file mode 100644 index 00000000000..43d74d33e36 --- /dev/null +++ b/code/modules/research/server.html @@ -0,0 +1,53 @@ + + + + + + + code/modules/research/server.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/research/server.dm + +

+ + + + + + + +
HDD_PANEL_CLOSEDDefault master server machine state. Use a special screwdriver to get to the next state.
HDD_PANEL_OPENFront master server HDD panel has been removed. Use a special crowbar to get to the next state.
HDD_PRIEDMaster server HDD has been pried loose and is held in by only cables. Use a special set of wirecutters to finish stealing the objective.
HDD_CUT_LOOSEMaster server HDD has been cut loose.
HDD_OVERLOADEDThe ninja has blown the HDD up.
/obj/machinery/rnd/server/masterMaster R&D server. As long as this still exists and still holds the HDD for the theft objective, research points generate at normal speed. Destroy it or an antag steals the HDD? Half research speed.

Define Details

+

HDD_CUT_LOOSE + + +

+

Master server HDD has been cut loose.

HDD_OVERLOADED + + +

+

The ninja has blown the HDD up.

HDD_PANEL_CLOSED + + +

+

Default master server machine state. Use a special screwdriver to get to the next state.

HDD_PANEL_OPEN + + +

+

Front master server HDD panel has been removed. Use a special crowbar to get to the next state.

HDD_PRIED + + +

+

Master server HDD has been pried loose and is held in by only cables. Use a special set of wirecutters to finish stealing the objective.

+ + + diff --git a/code/modules/research/stock_parts.html b/code/modules/research/stock_parts.html new file mode 100644 index 00000000000..758fd1d7e32 --- /dev/null +++ b/code/modules/research/stock_parts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/stock_parts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/stock_parts.dm + +

+ + +
/obj/item/stock_partseven though stacks aren't stock parts, get_part_rating() is defined on the item level (see /obj/item/proc/get_part_rating()) and defaults to returning 0.
+ + + diff --git a/code/modules/research/stock_parts/stock_part_datum.html b/code/modules/research/stock_parts/stock_part_datum.html new file mode 100644 index 00000000000..f88bc966085 --- /dev/null +++ b/code/modules/research/stock_parts/stock_part_datum.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/research/stock_parts/stock_part_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/stock_parts/stock_part_datum.dm + +

+ + + +
/datum/stock_partRepresents the concept of a stock part. +One is created for every stock part type for every level. +Machines have these inside their component_parts. +For example, scanning modules use /datum/stock_part/scanning_module. +In machines, you can perform a loop through something like +for (var/datum/stock_part/scanning_module/part in component_parts)
/datum/stock_part/ansibleSubspace stock parts
+ + + diff --git a/code/modules/research/techweb/__techweb_helpers.html b/code/modules/research/techweb/__techweb_helpers.html new file mode 100644 index 00000000000..acdcaac041c --- /dev/null +++ b/code/modules/research/techweb/__techweb_helpers.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/techweb/__techweb_helpers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/techweb/__techweb_helpers.dm + +

+ + + +
/proc/techweb_item_unlock_checkReturns an associative list of techweb node datums with values of the nodes it unlocks.
+ + + diff --git a/code/modules/research/techweb/_techweb.html b/code/modules/research/techweb/_techweb.html new file mode 100644 index 00000000000..a14c2e5aa07 --- /dev/null +++ b/code/modules/research/techweb/_techweb.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/_techweb.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/techweb/_techweb.dm + +

+ + +
/datum/techwebA datum representing a research techweb
+ + + diff --git a/code/modules/research/techweb/_techweb_node.html b/code/modules/research/techweb/_techweb_node.html new file mode 100644 index 00000000000..c7058da4f91 --- /dev/null +++ b/code/modules/research/techweb/_techweb_node.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/techweb/_techweb_node.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/techweb/_techweb_node.dm + +

+ + +
/datum/techweb_nodeA datum representing a researchable node in the techweb.
+ + + diff --git a/code/modules/research/techweb/all_nodes.html b/code/modules/research/techweb/all_nodes.html new file mode 100644 index 00000000000..c14491e96e2 --- /dev/null +++ b/code/modules/research/techweb/all_nodes.html @@ -0,0 +1,43 @@ + + + + + + + code/modules/research/techweb/all_nodes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/techweb/all_nodes.dm + +

+ + + + + + + + + + + + + + + + + + +
/datum/techweb_node/biotechBiotech
/datum/techweb_node/imp_wt_surgeryAdvanced Surgery
/datum/techweb_node/datatheorydata theory tech
/datum/techweb_node/engineeringengineering tech
/datum/techweb_node/bluespace_basicBluespace tech
/datum/techweb_node/basic_plasmaplasma tech
/datum/techweb_node/adv_shellsintegrated circuits tech
/datum/techweb_node/roboticsrobotics tech
/datum/techweb_node/emp_basicEMP tech
/datum/techweb_node/clownClown tech
/datum/techweb_node/comptechComputer tech
/datum/techweb_node/geneticsMedical
/datum/techweb_node/basic_miningTools
/datum/techweb_node/weaponryweaponry tech
/datum/techweb_node/adv_mechamech technology
/datum/techweb_node/alientechAlien technology
/datum/techweb_node/light_appsB.E.P.I.S. Locked Techs
+ + + diff --git a/code/modules/research/techweb/techweb_types.html b/code/modules/research/techweb/techweb_types.html new file mode 100644 index 00000000000..b9b4ddb5c1f --- /dev/null +++ b/code/modules/research/techweb/techweb_types.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/research/techweb/techweb_types.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/techweb/techweb_types.dm + +

+ + + + + +
/datum/techweb/scienceGlobal Science techweb for RND consoles
/datum/techweb/adminAdmin techweb that has everything unlocked by default
/datum/techweb/diskTechweb made through tech disks +Contains nothing, subtype mostly meant to make it easy for admins to see.
/datum/techweb/autounlockingTechweb node that automatically unlocks a given buildtype. +Saved in GLOB.autounlock_techwebs and used to prevent +creating new ones each time it's needed.
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.html b/code/modules/research/xenobiology/crossbreeding/__corecross.html new file mode 100644 index 00000000000..572388daff1 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/__corecross.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/__corecross.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/__corecross.dm + +

+ + +
/obj/item/slimecrossSLIME CROSSBREEDS
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.html b/code/modules/research/xenobiology/crossbreeding/_mobs.html new file mode 100644 index 00000000000..af684674e2f --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/_mobs.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/_mobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/crossbreeding/_mobs.dm + +

+ + + +
/datum/action/cooldown/spell/shapeshift/slime_formSlime transformation power - from Burning Black
/mob/living/simple_animal/slime/transformed_slimeTransformed slime - from Burning Black
+ + + diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.html b/code/modules/research/xenobiology/crossbreeding/_status_effects.html new file mode 100644 index 00000000000..dc5d969bba9 --- /dev/null +++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/research/xenobiology/crossbreeding/_status_effects.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/research/xenobiology/crossbreeding/_status_effects.dm + +

+ + + + +
/datum/status_effect/firecookieCONSUMING EXTRACTS
/datum/status_effect/stabilizedSTABILIZED EXTRACTS
DRAIN_DAMAGE_MULTIPLIERHow much damage is dealt per healing done for the stabilized back. +This multiplier is applied to prevent two people from converting each other's damage away.

Define Details

+

DRAIN_DAMAGE_MULTIPLIER + + +

+

How much damage is dealt per healing done for the stabilized back. +This multiplier is applied to prevent two people from converting each other's damage away.

+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/biopsy_tool.html b/code/modules/research/xenobiology/vatgrowing/biopsy_tool.html new file mode 100644 index 00000000000..4703174e027 --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/biopsy_tool.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/biopsy_tool.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/biopsy_tool.dm + +

+ + +
/obj/item/biopsy_toolTool capable of taking biological samples from mobs
+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/petri_dish.html b/code/modules/research/xenobiology/vatgrowing/petri_dish.html new file mode 100644 index 00000000000..d27e51816a5 --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/petri_dish.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/petri_dish.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/petri_dish.dm + +

+ + + +
/obj/item/petri_dishHolds a biological sample which can then be put into the growing vat
/obj/item/petri_dish/randomPetri dish with random sample already in it.
+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.html b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.html new file mode 100644 index 00000000000..45e9e72f6c9 --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm + +

+ + + +
/datum/micro_organismA single type of growth.
/datum/micro_organism/cell_lineA "mob" cell. Can grow into a mob in a growing vat.
+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/samples/_sample.html b/code/modules/research/xenobiology/vatgrowing/samples/_sample.html new file mode 100644 index 00000000000..6984e2f085e --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/samples/_sample.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/samples/_sample.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/samples/_sample.dm + +

+ + +
/datum/biological_sampleThis datum is a simple holder for the micro_organisms in a sample.
+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.html b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.html new file mode 100644 index 00000000000..c9c5c684448 --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm + +

+ + + + +
/datum/micro_organism/cell_line/mouseVERTEBRATES
/datum/micro_organism/cell_line/slimeSLIMES, OOZES & BLOBS
/datum/micro_organism/cell_line/cockroachMISC
+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/samples/viruses/_virus.html b/code/modules/research/xenobiology/vatgrowing/samples/viruses/_virus.html new file mode 100644 index 00000000000..ef3a9247358 --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/samples/viruses/_virus.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/samples/viruses/_virus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/samples/viruses/_virus.dm + +

+ + +
/datum/micro_organism/virusA micro_organism that supports the ability to be converted to a real virus, allowing virology to get new symptoms
+ + + diff --git a/code/modules/research/xenobiology/vatgrowing/swab.html b/code/modules/research/xenobiology/vatgrowing/swab.html new file mode 100644 index 00000000000..0f491aa2192 --- /dev/null +++ b/code/modules/research/xenobiology/vatgrowing/swab.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/vatgrowing/swab.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/vatgrowing/swab.dm + +

+ + +
/obj/item/swabTool capable of taking biological samples from mobs
+ + + diff --git a/code/modules/research/xenobiology/xenobio_camera.html b/code/modules/research/xenobiology/xenobio_camera.html new file mode 100644 index 00000000000..0bf75495f4d --- /dev/null +++ b/code/modules/research/xenobiology/xenobio_camera.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/research/xenobiology/xenobio_camera.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/xenobio_camera.dm + +

+ + +
/datum/action/innate/feed_slimeReturns true if we hit our slime pickup limit
+ + + diff --git a/code/modules/research/xenobiology/xenobiology.html b/code/modules/research/xenobiology/xenobiology.html new file mode 100644 index 00000000000..0382eb6a323 --- /dev/null +++ b/code/modules/research/xenobiology/xenobiology.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/research/xenobiology/xenobiology.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/research/xenobiology/xenobiology.dm + +

+ + + + +
/obj/item/slime_extractSlime Extracts
/obj/item/slimepotionSlime-derived potions +#Slime potions
/obj/item/stack/tile/bluespaceDefinitions for slime products that don't have anywhere else to go (Floor tiles, blueprints).
+ + + diff --git a/code/modules/security_levels/security_level_datums.html b/code/modules/security_levels/security_level_datums.html new file mode 100644 index 00000000000..a530526a010 --- /dev/null +++ b/code/modules/security_levels/security_level_datums.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/security_levels/security_level_datums.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/security_levels/security_level_datums.dm + +

+ + + + + + +
/datum/security_levelSecurity levels
/datum/security_level/greenGREEN
/datum/security_level/blueBLUE
/datum/security_level/redRED
/datum/security_level/deltaDELTA
+ + + diff --git a/code/modules/shuttle/battlecruiser_starfury.html b/code/modules/shuttle/battlecruiser_starfury.html new file mode 100644 index 00000000000..e5011e73a51 --- /dev/null +++ b/code/modules/shuttle/battlecruiser_starfury.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/battlecruiser_starfury.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/battlecruiser_starfury.dm + +

+ + +
/datum/map_template/battlecruiser_starfuryThe Starfury map template itself.
+ + + diff --git a/code/modules/shuttle/infiltrator.html b/code/modules/shuttle/infiltrator.html new file mode 100644 index 00000000000..de95a5c451b --- /dev/null +++ b/code/modules/shuttle/infiltrator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/infiltrator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/infiltrator.dm + +

+ + +
/obj/docking_port/mobile/infiltratorThe syndicate infiltrator shuttle port.
+ + + diff --git a/code/modules/shuttle/medisim.html b/code/modules/shuttle/medisim.html new file mode 100644 index 00000000000..8f637008023 --- /dev/null +++ b/code/modules/shuttle/medisim.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/medisim.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/medisim.dm + +

+ + +
/obj/machinery/computer/reality_simulationThese are for the medisim shuttle
+ + + diff --git a/code/modules/shuttle/shuttle.html b/code/modules/shuttle/shuttle.html new file mode 100644 index 00000000000..cd5b7ac8e49 --- /dev/null +++ b/code/modules/shuttle/shuttle.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/shuttle/shuttle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/shuttle.dm + +

+ + + + +
/obj/docking_port/stationary/escape_podSubtype for escape pod ports so that we can give them trait behaviour
/proc/test_whiteship_sizesHelper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes +This should be a unit test, but too much of our other code breaks during shuttle movement, so not yet, not yet.
+ + + diff --git a/code/modules/shuttle/shuttle_events/_shuttle_events.html b/code/modules/shuttle/shuttle_events/_shuttle_events.html new file mode 100644 index 00000000000..6110cec9615 --- /dev/null +++ b/code/modules/shuttle/shuttle_events/_shuttle_events.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/shuttle/shuttle_events/_shuttle_events.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/shuttle_events/_shuttle_events.dm + +

+ + + +
/datum/shuttle_eventAn event that can run during shuttle flight, and will run for the duration of it (configurable)
/datum/shuttle_event/simple_spawnerSpawns objects, mobs, whatever with all the necessary code to make it hit and/or miss the shuttle
+ + + diff --git a/code/modules/shuttle/shuttle_events/carp.html b/code/modules/shuttle/shuttle_events/carp.html new file mode 100644 index 00000000000..f0e961fe3b5 --- /dev/null +++ b/code/modules/shuttle/shuttle_events/carp.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/shuttle/shuttle_events/carp.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/shuttle_events/carp.dm + +

+ + + + + +
/datum/shuttle_event/simple_spawner/carpCARPTIDE! CARPTIDE! CARPTIDE! A swarm of carp will pass by and through the shuttle, including consequences of carp going through the shuttle
/datum/shuttle_event/simple_spawner/carp/magicCARPTIDE! CARPTIDE! CARPTIDE! Magical carp will attack the shuttle!
/datum/shuttle_event/simple_spawner/carp/friendlySpawn a bunch of friendly carp to view from inside the shuttle! May occassionally pass through and nibble some windows, but are otherwise pretty harmless
/datum/shuttle_event/simple_spawner/carp/friendly_but_no_personal_spaceSame as /friendly, but we only go through the shuttle, MUHAHAHAHAHAHA!! They dont actually harm anyone, but itll be a clusterfuck of confusion
+ + + diff --git a/code/modules/shuttle/shuttle_events/meteors.html b/code/modules/shuttle/shuttle_events/meteors.html new file mode 100644 index 00000000000..735023feadd --- /dev/null +++ b/code/modules/shuttle/shuttle_events/meteors.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/shuttle/shuttle_events/meteors.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/shuttle_events/meteors.dm + +

+ + + +
/datum/shuttle_event/simple_spawner/meteor/dustVery weak meteors, but may very rarely actually hit the shuttle!
/datum/shuttle_event/simple_spawner/meteor/safeOkay this spawns a lot of really bad meteors, but they never hit the shuttle so it's perfectly safe (unless you go outside lol)
+ + + diff --git a/code/modules/shuttle/shuttle_events/misc.html b/code/modules/shuttle/shuttle_events/misc.html new file mode 100644 index 00000000000..4abe21d3298 --- /dev/null +++ b/code/modules/shuttle/shuttle_events/misc.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/shuttle/shuttle_events/misc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/shuttle_events/misc.dm + +

+ + + + + + +
/datum/shuttle_event/simple_spawner/italianthats amoreeeeee
/datum/shuttle_event/simple_spawner/fake_ttvWe do a little bit of tomfoolery
/datum/shuttle_event/simple_spawner/maintenanceJust spawn random maint garbage
/datum/shuttle_event/simple_spawner/black_holeSensors indicate that a black hole's gravitational field is affecting the region of space we were headed through
/datum/shuttle_event/simple_spawner/black_hole/adminbusKobayashi Maru version
+ + + diff --git a/code/modules/shuttle/shuttle_events/player_controlled.html b/code/modules/shuttle/shuttle_events/player_controlled.html new file mode 100644 index 00000000000..1837343499b --- /dev/null +++ b/code/modules/shuttle/shuttle_events/player_controlled.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/shuttle/shuttle_events/player_controlled.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/shuttle_events/player_controlled.dm + +

+ + + + +
/datum/shuttle_event/simple_spawner/player_controlledMobs spawned with this one are automatically player controlled, if possible
/datum/shuttle_event/simple_spawner/player_controlled/alien_queenBACK FOR REVENGE!!!
/datum/shuttle_event/simple_spawner/player_controlled/carpSpawns three player controlled carp!! Deadchats final chance to wreak havoc, probably really not that dangerous if even one person has a laser gun
+ + + diff --git a/code/modules/shuttle/special.html b/code/modules/shuttle/special.html new file mode 100644 index 00000000000..f9d64afab3f --- /dev/null +++ b/code/modules/shuttle/special.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/shuttle/special.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/special.dm + +

+ + +
/mob/living/basic/bear/fightpitIf the atom entering the gate is a vehicle, we store it here to add to the approved list to enter/leave the scanner gate. +We store the driver of vehicles separately so that we can add them to the approved list once payment is fully processed.
+ + + diff --git a/code/modules/shuttle/supply.html b/code/modules/shuttle/supply.html new file mode 100644 index 00000000000..04c50e39195 --- /dev/null +++ b/code/modules/shuttle/supply.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/shuttle/supply.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/shuttle/supply.dm + +

+ + + +
GOODY_FREE_SHIPPING_MAXHow many goody orders we can fit in a lockbox before we upgrade to a crate
CRATE_TAXHow much to charge oversized goody orders

Define Details

+

CRATE_TAX + + +

+

How much to charge oversized goody orders

GOODY_FREE_SHIPPING_MAX + + +

+

How many goody orders we can fit in a lockbox before we upgrade to a crate

+ + + diff --git a/code/modules/shuttle/white_ship.html b/code/modules/shuttle/white_ship.html new file mode 100644 index 00000000000..28eb3a8dc7d --- /dev/null +++ b/code/modules/shuttle/white_ship.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/shuttle/white_ship.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/shuttle/white_ship.dm + +

+ + +
/obj/machinery/computer/shuttle/white_ship/bridgeConsole used on the whiteship bridge. Comes with GPS pre-baked.
+ + + diff --git a/code/modules/spatial_grid/cell_tracker.html b/code/modules/spatial_grid/cell_tracker.html new file mode 100644 index 00000000000..10c74edfb18 --- /dev/null +++ b/code/modules/spatial_grid/cell_tracker.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spatial_grid/cell_tracker.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spatial_grid/cell_tracker.dm + +

+ + +
/datum/cell_trackerSpatial gridmap, cell tracking
+ + + diff --git a/code/modules/spells/spell.html b/code/modules/spells/spell.html new file mode 100644 index 00000000000..25b3f2e4a4b --- /dev/null +++ b/code/modules/spells/spell.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/spells/spell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell.dm + +

+ + +
/datum/action/cooldown/spellThis is the base action for how many of the game's +spells (and spell adjacent) abilities function. +These spells function off of a cooldown-based system.
+ + + diff --git a/code/modules/spells/spell_types/aoe_spell/_aoe_spell.html b/code/modules/spells/spell_types/aoe_spell/_aoe_spell.html new file mode 100644 index 00000000000..1f442541a56 --- /dev/null +++ b/code/modules/spells/spell_types/aoe_spell/_aoe_spell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/aoe_spell/_aoe_spell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/aoe_spell/_aoe_spell.dm + +

+ + +
/datum/action/cooldown/spell/aoe
+ + + diff --git a/code/modules/spells/spell_types/charged/_charged.html b/code/modules/spells/spell_types/charged/_charged.html new file mode 100644 index 00000000000..509ece081b3 --- /dev/null +++ b/code/modules/spells/spell_types/charged/_charged.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/charged/_charged.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/charged/_charged.dm + +

+ + + +
/datum/action/cooldown/spell/charged
/datum/action/cooldown/spell/charged/beam
+ + + diff --git a/code/modules/spells/spell_types/cone/_cone.html b/code/modules/spells/spell_types/cone/_cone.html new file mode 100644 index 00000000000..5c94ab9bb4c --- /dev/null +++ b/code/modules/spells/spell_types/cone/_cone.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/cone/_cone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/cone/_cone.dm + +

+ + + +
/datum/action/cooldown/spell/cone
/datum/action/cooldown/spell/cone/staggered
+ + + diff --git a/code/modules/spells/spell_types/conjure/_conjure.html b/code/modules/spells/spell_types/conjure/_conjure.html new file mode 100644 index 00000000000..8b4bd579f0b --- /dev/null +++ b/code/modules/spells/spell_types/conjure/_conjure.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/conjure/_conjure.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/conjure/_conjure.dm + +

+ + +
/datum/action/cooldown/spell/conjure/limit_summonslimits the amount of summons
+ + + diff --git a/code/modules/spells/spell_types/jaunt/_jaunt.html b/code/modules/spells/spell_types/jaunt/_jaunt.html new file mode 100644 index 00000000000..dd7069c84c0 --- /dev/null +++ b/code/modules/spells/spell_types/jaunt/_jaunt.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/jaunt/_jaunt.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/jaunt/_jaunt.dm + +

+ + +
/datum/action/cooldown/spell/jaunt
+ + + diff --git a/code/modules/spells/spell_types/jaunt/bloodcrawl.html b/code/modules/spells/spell_types/jaunt/bloodcrawl.html new file mode 100644 index 00000000000..1fa53e3ec11 --- /dev/null +++ b/code/modules/spells/spell_types/jaunt/bloodcrawl.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/spells/spell_types/jaunt/bloodcrawl.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/jaunt/bloodcrawl.dm + +

+ + + + + +
/datum/action/cooldown/spell/jaunt/bloodcrawl
/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demonSlaughter demon's blood crawl +Allows the blood crawler to consume people they are dragging.
/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funnyLaughter demon's blood crawl +All mobs consumed are revived after the demon is killed.
/obj/item/bloodcrawlBloodcrawl "hands", prevent the user from holding items in bloodcrawl
+ + + diff --git a/code/modules/spells/spell_types/jaunt/ethereal_jaunt.html b/code/modules/spells/spell_types/jaunt/ethereal_jaunt.html new file mode 100644 index 00000000000..e111dcb9e9c --- /dev/null +++ b/code/modules/spells/spell_types/jaunt/ethereal_jaunt.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/jaunt/ethereal_jaunt.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/jaunt/ethereal_jaunt.dm + +

+ + +
/obj/effect/dummy/phased_mob/spell_jauntThe dummy that holds people jaunting. Maybe one day we can replace it.
+ + + diff --git a/code/modules/spells/spell_types/list_target/_list_target.html b/code/modules/spells/spell_types/list_target/_list_target.html new file mode 100644 index 00000000000..595c510896f --- /dev/null +++ b/code/modules/spells/spell_types/list_target/_list_target.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/list_target/_list_target.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/list_target/_list_target.dm + +

+ + +
/datum/action/cooldown/spell/list_target
+ + + diff --git a/code/modules/spells/spell_types/pointed/_pointed.html b/code/modules/spells/spell_types/pointed/_pointed.html new file mode 100644 index 00000000000..1557baacab8 --- /dev/null +++ b/code/modules/spells/spell_types/pointed/_pointed.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/pointed/_pointed.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/pointed/_pointed.dm + +

+ + + +
/datum/action/cooldown/spell/pointed
/datum/action/cooldown/spell/pointed/projectile
+ + + diff --git a/code/modules/spells/spell_types/projectile/_basic_projectile.html b/code/modules/spells/spell_types/projectile/_basic_projectile.html new file mode 100644 index 00000000000..d30d8c088d5 --- /dev/null +++ b/code/modules/spells/spell_types/projectile/_basic_projectile.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/projectile/_basic_projectile.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/projectile/_basic_projectile.dm + +

+ + +
/datum/action/cooldown/spell/basic_projectile
+ + + diff --git a/code/modules/spells/spell_types/right_and_wrong.html b/code/modules/spells/spell_types/right_and_wrong.html new file mode 100644 index 00000000000..e1765fd7717 --- /dev/null +++ b/code/modules/spells/spell_types/right_and_wrong.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/spells/spell_types/right_and_wrong.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/right_and_wrong.dm + +

+ + + + + + + + + + +
/proc/summon_ghostsTriggers Summon Ghosts from [user].
/proc/summon_magicTriggers Summon Magic from [user]. +Can optionally be passed [survivor_probability], to set the chance of creating survivalists. +If Summon Magic has already been triggered, gives out magic to everyone again.
/proc/summon_gunsTriggers Summon Guns from [user]. +Can optionally be passed [survivor_probability], to set the chance of creating survivalists. +If Summon Guns has already been triggered, gives out guns to everyone again.
/proc/summon_eventsTriggers Summon Events from [user]. +If Summon Events has already been triggered, speeds up the event timer.
/datum/summon_things_controllerThe "Give everyone in the crew and also latejoins a buncha stuff" controller. +Used for summon magic and summon guns.
+ + + diff --git a/code/modules/spells/spell_types/self/mutate.html b/code/modules/spells/spell_types/self/mutate.html new file mode 100644 index 00000000000..117843593b6 --- /dev/null +++ b/code/modules/spells/spell_types/self/mutate.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/self/mutate.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/mutate.dm + +

+ + +
/datum/action/cooldown/spell/apply_mutationsA spell type that adds mutations to the caster temporarily.
+ + + diff --git a/code/modules/spells/spell_types/self/rod_form.html b/code/modules/spells/spell_types/self/rod_form.html new file mode 100644 index 00000000000..aa20a4ed8ff --- /dev/null +++ b/code/modules/spells/spell_types/self/rod_form.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/spells/spell_types/self/rod_form.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/spells/spell_types/self/rod_form.dm + +

+ + + +
BASE_WIZ_ROD_RANGEThe base distance a wizard rod will go without upgrades.
/obj/effect/immovablerod/wizardWizard Version of the Immovable Rod.

Define Details

+

BASE_WIZ_ROD_RANGE + + +

+

The base distance a wizard rod will go without upgrades.

+ + + diff --git a/code/modules/spells/spell_types/self/sanguine_strike.html b/code/modules/spells/spell_types/self/sanguine_strike.html new file mode 100644 index 00000000000..8b5c3bdb0a4 --- /dev/null +++ b/code/modules/spells/spell_types/self/sanguine_strike.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/spells/spell_types/self/sanguine_strike.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/sanguine_strike.dm + +

+ + +
/datum/action/cooldown/spell/sanguine_strikeEnchants an item to deal either double damage, or +20 damage, whichever is less, and lifesteals for that amount + steals some blood. +multiplication can get a little instakill-y, so capping it at + 20 damage. +10 force weapon doesn't get the cap and gains 10 damage, 20 total +20 force weapon gets the cap of 20 damage added for a total of 40 +35 force weapon still gets the cap of 20 for a total of 55 instead of a whopping 70 damage +Steals 50 blood if they have enough. Splattercasting has one second of cooldown worth 5 blood, so 50 seconds cooldown of blood added!
+ + + diff --git a/code/modules/spells/spell_types/self/smoke.html b/code/modules/spells/spell_types/self/smoke.html new file mode 100644 index 00000000000..be73155189f --- /dev/null +++ b/code/modules/spells/spell_types/self/smoke.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/spells/spell_types/self/smoke.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/smoke.dm + +

+ + + + +
/datum/action/cooldown/spell/smokeBasic smoke spell.
/datum/action/cooldown/spell/smoke/lesserChaplain smoke.
/datum/action/cooldown/spell/smoke/disableUnused smoke that makes people sleep. Used to be for cult?
+ + + diff --git a/code/modules/spells/spell_types/self/soultap.html b/code/modules/spells/spell_types/self/soultap.html new file mode 100644 index 00000000000..3885a4cb394 --- /dev/null +++ b/code/modules/spells/spell_types/self/soultap.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/self/soultap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/soultap.dm + +

+ + +
/datum/action/cooldown/spell/tapSOUL TAP!
+ + + diff --git a/code/modules/spells/spell_types/self/stop_time.html b/code/modules/spells/spell_types/self/stop_time.html new file mode 100644 index 00000000000..f25903905db --- /dev/null +++ b/code/modules/spells/spell_types/self/stop_time.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/self/stop_time.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/self/stop_time.dm + +

+ + +
/datum/action/cooldown/spell/timestopfor predictable blood total amounts when the spell is first cast.
+ + + diff --git a/code/modules/spells/spell_types/shapeshift/_shapeshift.html b/code/modules/spells/spell_types/shapeshift/_shapeshift.html new file mode 100644 index 00000000000..ea48e342e2d --- /dev/null +++ b/code/modules/spells/spell_types/shapeshift/_shapeshift.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/spells/spell_types/shapeshift/_shapeshift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/spells/spell_types/shapeshift/_shapeshift.dm + +

+ + + +
is_shiftedHelper for checking of someone's shapeshifted currently.
/datum/action/cooldown/spell/shapeshiftShapeshift spells.

Define Details

+

is_shifted + + + +

+

Helper for checking of someone's shapeshifted currently.

+ + + diff --git a/code/modules/spells/spell_types/teleport/_teleport.html b/code/modules/spells/spell_types/teleport/_teleport.html new file mode 100644 index 00000000000..df4b3987e31 --- /dev/null +++ b/code/modules/spells/spell_types/teleport/_teleport.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/spells/spell_types/teleport/_teleport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/teleport/_teleport.dm + +

+ + + + +
/datum/action/cooldown/spell/teleport
/datum/action/cooldown/spell/teleport/radius_turf
/datum/action/cooldown/spell/teleport/area_teleport
+ + + diff --git a/code/modules/spells/spell_types/teleport/teleport.html b/code/modules/spells/spell_types/teleport/teleport.html new file mode 100644 index 00000000000..1ce56c67400 --- /dev/null +++ b/code/modules/spells/spell_types/teleport/teleport.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/teleport/teleport.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/teleport/teleport.dm + +

+ + + +
/datum/action/cooldown/spell/teleport/area_teleport/wizardThe wizard's teleport SPELL
/datum/action/cooldown/spell/teleport/area_teleport/wizard/scrollUsed by the wizard's teleport scroll
+ + + diff --git a/code/modules/spells/spell_types/touch/_touch.html b/code/modules/spells/spell_types/touch/_touch.html new file mode 100644 index 00000000000..de147eb729a --- /dev/null +++ b/code/modules/spells/spell_types/touch/_touch.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/touch/_touch.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/touch/_touch.dm + +

+ + + +
/datum/action/cooldown/spell/touch
/obj/item/melee/touch_attack
+ + + diff --git a/code/modules/spells/spell_types/touch/scream_for_me.html b/code/modules/spells/spell_types/touch/scream_for_me.html new file mode 100644 index 00000000000..1e9d21dc3af --- /dev/null +++ b/code/modules/spells/spell_types/touch/scream_for_me.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/spells/spell_types/touch/scream_for_me.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/touch/scream_for_me.dm + +

+ + +
/datum/action/cooldown/spell/touch/scream_for_meWeaker smite, not outright gibbing your target, but a lot more bloody, and Sanguine school, so doesn't get affected by splattercasting.
+ + + diff --git a/code/modules/spells/spell_types/tower_of_babel.html b/code/modules/spells/spell_types/tower_of_babel.html new file mode 100644 index 00000000000..2ae47ec3b6d --- /dev/null +++ b/code/modules/spells/spell_types/tower_of_babel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/spells/spell_types/tower_of_babel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/spells/spell_types/tower_of_babel.dm + +

+ + + +
/proc/cure_curse_of_babelMainly so admin triggered tower of babel can be undone
+ + + diff --git a/code/modules/station_goals/generate_goals.html b/code/modules/station_goals/generate_goals.html new file mode 100644 index 00000000000..29e9a95bca3 --- /dev/null +++ b/code/modules/station_goals/generate_goals.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/station_goals/generate_goals.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/station_goals/generate_goals.dm + +

+ + + +
/proc/generate_station_goalsCreates the initial station goals.
+ + + diff --git a/code/modules/station_goals/meteor_shield.html b/code/modules/station_goals/meteor_shield.html new file mode 100644 index 00000000000..4aed96878e7 --- /dev/null +++ b/code/modules/station_goals/meteor_shield.html @@ -0,0 +1,52 @@ + + + + + + + code/modules/station_goals/meteor_shield.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/station_goals/meteor_shield.dm + +

+ + + + + + +
EMAGGED_METEOR_SHIELD_THRESHOLD_ONEnumber of emagged meteor shields to get the first warning, a simple say message
EMAGGED_METEOR_SHIELD_THRESHOLD_TWOnumber of emagged meteor shields to get the second warning, telling the user an announcement is coming
EMAGGED_METEOR_SHIELD_THRESHOLD_THREEnumber of emagged meteor shields to get the third warning + an announcement to the crew
EMAGGED_METEOR_SHIELD_THRESHOLD_FOURnumber of emagged meteor shields to get the fourth... ah shit the dark matt-eor is coming.
METEOR_SHIELD_EMAG_COOLDOWNhow long between emagging meteor shields you have to wait

Define Details

+

EMAGGED_METEOR_SHIELD_THRESHOLD_FOUR + + +

+

number of emagged meteor shields to get the fourth... ah shit the dark matt-eor is coming.

EMAGGED_METEOR_SHIELD_THRESHOLD_ONE + + +

+

number of emagged meteor shields to get the first warning, a simple say message

EMAGGED_METEOR_SHIELD_THRESHOLD_THREE + + +

+

number of emagged meteor shields to get the third warning + an announcement to the crew

EMAGGED_METEOR_SHIELD_THRESHOLD_TWO + + +

+

number of emagged meteor shields to get the second warning, telling the user an announcement is coming

METEOR_SHIELD_EMAG_COOLDOWN + + +

+

how long between emagging meteor shields you have to wait

+ + + diff --git a/code/modules/surgery/bodyparts/parts.html b/code/modules/surgery/bodyparts/parts.html new file mode 100644 index 00000000000..04882b92087 --- /dev/null +++ b/code/modules/surgery/bodyparts/parts.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/bodyparts/parts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/parts.dm + +

+ + + +
/obj/item/bodypart/armParent Type for arms, should not appear in game.
/obj/item/bodypart/legParent Type for legs, should not appear in game.
+ + + diff --git a/code/modules/surgery/bodyparts/species_parts/android_parts.html b/code/modules/surgery/bodyparts/species_parts/android_parts.html new file mode 100644 index 00000000000..4b83b680a64 --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/android_parts.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/surgery/bodyparts/species_parts/android_parts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/species_parts/android_parts.dm + +

+ + +
/obj/item/bodypart/head/robot/androidThis is ultra stupid, but essentially androids use robotic limb subtypes that are NOT +immune to being replaced on species change. +Yes, that is the entire reason these exist.
+ + + diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html new file mode 100644 index 00000000000..5e6311d2285 --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm + +

+ + + + + + + + + + + + + + +
/obj/item/bodypart/head/snailSNAIL
/obj/item/bodypart/head/abductorABDUCTOR
/obj/item/bodypart/head/jellyJELLY
/obj/item/bodypart/head/slimeSLIME
/obj/item/bodypart/head/luminescentLUMINESCENT
/obj/item/bodypart/head/zombieZOMBIE
/obj/item/bodypart/head/podPODPEOPLE
/obj/item/bodypart/head/flyFLY
/obj/item/bodypart/head/shadowSHADOW
/obj/item/bodypart/head/skeletonSKELETON
/obj/item/bodypart/head/mushroomMUSHROOM
/obj/item/bodypart/head/dullahanDullahan head preserves organs inside it
/obj/item/bodypart/arm/left/fleshflesh
+ + + diff --git a/code/modules/surgery/bodyparts/worn_feature_offset.html b/code/modules/surgery/bodyparts/worn_feature_offset.html new file mode 100644 index 00000000000..0d7025e79f9 --- /dev/null +++ b/code/modules/surgery/bodyparts/worn_feature_offset.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/bodyparts/worn_feature_offset.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/bodyparts/worn_feature_offset.dm + +

+ + +
/datum/worn_feature_offsetA datum for controlling how to position items on an unusually offset body part +For instance if you have an asymmetrical head, hats might need to be offset to one side
+ + + diff --git a/code/modules/surgery/bone_mending.html b/code/modules/surgery/bone_mending.html new file mode 100644 index 00000000000..3d094af5ad4 --- /dev/null +++ b/code/modules/surgery/bone_mending.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/surgery/bone_mending.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/bone_mending.dm + +

+ + + + + + +
/datum/surgery/repair_bone_hairlineBONE FIXING SURGERIES////// +Repair Hairline Fracture (Severe)
/datum/surgery/repair_bone_compoundRepair Compound Fracture (Critical)
/datum/surgery_step/repair_bone_hairlineRepair Hairline Fracture (Severe)
/datum/surgery_step/reset_compound_fractureReset Compound Fracture (Crticial)
/datum/surgery_step/repair_bone_compoundRepair Compound Fracture (Crticial)
+ + + diff --git a/code/modules/surgery/burn_dressing.html b/code/modules/surgery/burn_dressing.html new file mode 100644 index 00000000000..09aa511c688 --- /dev/null +++ b/code/modules/surgery/burn_dressing.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/surgery/burn_dressing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/burn_dressing.dm + +

+ + + + +
/datum/surgery/debrideBURN FIXING SURGERIES////// +Debride burnt flesh
/datum/surgery_step/debrideDebride
/datum/surgery_step/dressDressing burns
+ + + diff --git a/code/modules/surgery/experimental_dissection.html b/code/modules/surgery/experimental_dissection.html new file mode 100644 index 00000000000..a2f77dfc5eb --- /dev/null +++ b/code/modules/surgery/experimental_dissection.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/surgery/experimental_dissection.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/surgery/experimental_dissection.dm + +

+ + +
BASE_HUMAN_REWARDHow many research points you gain from dissecting a Human.

Define Details

+

BASE_HUMAN_REWARD + + +

+

How many research points you gain from dissecting a Human.

+ + + diff --git a/code/modules/surgery/gastrectomy.html b/code/modules/surgery/gastrectomy.html new file mode 100644 index 00000000000..fbec01e84ea --- /dev/null +++ b/code/modules/surgery/gastrectomy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/gastrectomy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/gastrectomy.dm + +

+ + +
/datum/surgery_step/gastrectomyGastrectomy, because we truly needed a way to repair stomachs.
+ + + diff --git a/code/modules/surgery/healing.html b/code/modules/surgery/healing.html new file mode 100644 index 00000000000..ac71be071ea --- /dev/null +++ b/code/modules/surgery/healing.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/surgery/healing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/healing.dm + +

+ + + + +
/datum/surgery/healing/bruteBRUTE
/datum/surgery/healing/burnBURN
/datum/surgery/healing/comboCOMBO
+ + + diff --git a/code/modules/surgery/hepatectomy.html b/code/modules/surgery/hepatectomy.html new file mode 100644 index 00000000000..8312b035a89 --- /dev/null +++ b/code/modules/surgery/hepatectomy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/hepatectomy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/hepatectomy.dm + +

+ + +
/datum/surgery_step/hepatectomyhepatectomy, removes damaged parts of the liver so that the liver may regenerate properly
+ + + diff --git a/code/modules/surgery/limb_augmentation.html b/code/modules/surgery/limb_augmentation.html new file mode 100644 index 00000000000..5db1539baf5 --- /dev/null +++ b/code/modules/surgery/limb_augmentation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/limb_augmentation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/limb_augmentation.dm + +

+ + +
/datum/surgery_step/replace_limbAUGMENTATION SURGERIES
+ + + diff --git a/code/modules/surgery/organ_manipulation.html b/code/modules/surgery/organ_manipulation.html new file mode 100644 index 00000000000..7709f3d71da --- /dev/null +++ b/code/modules/surgery/organ_manipulation.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/surgery/organ_manipulation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organ_manipulation.dm + +

+ + + + + + +
/datum/surgery_step/manipulate_organsOrgan manipulation base class. Do not use, it wont work. Use it's subtypes
/datum/surgery_step/manipulate_organs/internalSurgery step for internal organs, like hearts and brains
/datum/surgery_step/manipulate_organs/internal/mechanicprosthetic surgery gives full effectiveness to crowbars (and hemostats)
/datum/surgery_step/manipulate_organs/externalSurgery step for external organs/features, like tails, frills, wings etc
/datum/surgery_step/manipulate_organs/external/mechanicprosthetic surgery gives full effectiveness to crowbars (and hemostats)
+ + + diff --git a/code/modules/surgery/organs/external/_external_organ.html b/code/modules/surgery/organs/external/_external_organ.html new file mode 100644 index 00000000000..f727c0920d2 --- /dev/null +++ b/code/modules/surgery/organs/external/_external_organ.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/surgery/organs/external/_external_organ.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/external/_external_organ.dm + +

+ + + + + + + + + +
/obj/item/organ/externalSystem for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not +Works in tandem with the /datum/sprite_accessory datum to generate sprites +Unlike normal organs, we're actually inside a persons limbs at all times
/obj/item/organ/external/hornsThe horns of a lizard!
/obj/item/organ/external/frillsThe frills of a lizard (like weird fin ears)
/obj/item/organ/external/snoutGuess what part of the lizard this is?
/obj/item/organ/external/antennaeA moth's antennae
/datum/bodypart_overlay/mutant/antennaeMoth antennae datum, with full burning functionality
/obj/item/organ/external/pod_hairThe leafy hair of a podperson
/datum/bodypart_overlay/mutant/pod_hairPodperson bodypart overlay, with special coloring functionality to render the flowers in the inverse color
+ + + diff --git a/code/modules/surgery/organs/external/spines.html b/code/modules/surgery/organs/external/spines.html new file mode 100644 index 00000000000..845d919b40e --- /dev/null +++ b/code/modules/surgery/organs/external/spines.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/organs/external/spines.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/external/spines.dm + +

+ + + +
/obj/item/organ/external/spinesA lizards spines (those things on their back), but also including tail spines (gasp)
/datum/bodypart_overlay/mutant/spinesBodypart overlay for spines (wagging gets updated by tail)
+ + + diff --git a/code/modules/surgery/organs/external/tails.html b/code/modules/surgery/organs/external/tails.html new file mode 100644 index 00000000000..38d7c068970 --- /dev/null +++ b/code/modules/surgery/organs/external/tails.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/surgery/organs/external/tails.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/external/tails.dm + +

+ + + + + + +
/obj/item/organ/external/tailTail parent, it doesn't do very much.
/datum/bodypart_overlay/mutant/tailTail parent type, with wagging functionality
/datum/bodypart_overlay/mutant/tail/catCat tail bodypart overlay
/datum/bodypart_overlay/mutant/tail/monkeyMonkey tail bodypart overlay
/datum/bodypart_overlay/mutant/tail/lizardLizard tail bodypart overlay datum
+ + + diff --git a/code/modules/surgery/organs/external/wings/functional_wings.html b/code/modules/surgery/organs/external/wings/functional_wings.html new file mode 100644 index 00000000000..9ffe95b5ec0 --- /dev/null +++ b/code/modules/surgery/organs/external/wings/functional_wings.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/surgery/organs/external/wings/functional_wings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/external/wings/functional_wings.dm + +

+ + + + + + + + + + + + +
/datum/action/innate/flighthud action for starting and stopping flight
/obj/item/organ/external/wings/functionalThe true wings that you can use to fly and shit (you cant actually shit with them)
/datum/bodypart_overlay/mutant/wings/functionalBodypart overlay of function wings, including open and close functionality!
/obj/item/organ/external/wings/functional/angelangel wings, which relate to humans. comes with holiness.
/obj/item/organ/external/wings/functional/dragondragon wings, which relate to lizards.
/obj/item/organ/external/wings/functional/roboticrobotic wings, which relate to androids.
/obj/item/organ/external/wings/functional/skeletonskeletal wings, which relate to skeletal races.
/obj/item/organ/external/wings/functional/moth/mothramothra wings, which relate to moths.
/obj/item/organ/external/wings/functional/moth/megamothmegamoth wings, which relate to moths as an alternate choice. they're both pretty cool.
/obj/item/organ/external/wings/functional/flyfly wings, which relate to flies.
/obj/item/organ/external/wings/functional/slimeslime wings, which relate to slimes.
+ + + diff --git a/code/modules/surgery/organs/external/wings/moth_wings.html b/code/modules/surgery/organs/external/wings/moth_wings.html new file mode 100644 index 00000000000..78923d1f59b --- /dev/null +++ b/code/modules/surgery/organs/external/wings/moth_wings.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/organs/external/wings/moth_wings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/external/wings/moth_wings.dm + +

+ + + +
/obj/item/organ/external/wings/mothMoth wings! They can flutter in low-grav and burn off in heat
/datum/bodypart_overlay/mutant/wings/mothMoth wing bodypart overlay, including burn functionality!
+ + + diff --git a/code/modules/surgery/organs/external/wings/wings.html b/code/modules/surgery/organs/external/wings/wings.html new file mode 100644 index 00000000000..429e0a15178 --- /dev/null +++ b/code/modules/surgery/organs/external/wings/wings.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/organs/external/wings/wings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/external/wings/wings.dm + +

+ + + +
/obj/item/organ/external/wingsWing base type. doesn't really do anything
/datum/bodypart_overlay/mutant/wingsBodypart overlay of default wings. Does not have any wing functionality
+ + + diff --git a/code/modules/surgery/organs/internal/appendix/appendix_golem.html b/code/modules/surgery/organs/internal/appendix/appendix_golem.html new file mode 100644 index 00000000000..d21d657c36a --- /dev/null +++ b/code/modules/surgery/organs/internal/appendix/appendix_golem.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/organs/internal/appendix/appendix_golem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/internal/appendix/appendix_golem.dm + +

+ + +
/datum/action/cooldown/internal_smeltingLets golems smelt ore with their organs
+ + + diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.html b/code/modules/surgery/organs/internal/eyes/_eyes.html new file mode 100644 index 00000000000..9d39ced6202 --- /dev/null +++ b/code/modules/surgery/organs/internal/eyes/_eyes.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/organs/internal/eyes/_eyes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/internal/eyes/_eyes.dm + +

+ + + +
/datum/action/cooldown/golem_ore_sightSend an ore detection pulse on a cooldown
/obj/item/organ/internal/eyes/roboticRobotic
+ + + diff --git a/code/modules/surgery/organs/internal/liver/liver_golem.html b/code/modules/surgery/organs/internal/liver/liver_golem.html new file mode 100644 index 00000000000..4266d161289 --- /dev/null +++ b/code/modules/surgery/organs/internal/liver/liver_golem.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/surgery/organs/internal/liver/liver_golem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/internal/liver/liver_golem.dm + +

+ + +
/obj/item/organ/internal/liver/golemGolem liver +Basically only exists to remove the nutriment factor from consumables, +so golems can only consume minerals even when injecting reagents.
+ + + diff --git a/code/modules/surgery/organs/internal/liver/liver_plasmaman.html b/code/modules/surgery/organs/internal/liver/liver_plasmaman.html new file mode 100644 index 00000000000..f6c7edc6c20 --- /dev/null +++ b/code/modules/surgery/organs/internal/liver/liver_plasmaman.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/surgery/organs/internal/liver/liver_plasmaman.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/internal/liver/liver_plasmaman.dm + +

+ + +
/obj/item/organ/internal/liver/bone/plasmamanPlasmaman liver +Makes plasma and hot ice heal wounds, also makes gunpowder a hallucinogen.
+ + + diff --git a/code/modules/surgery/organs/internal/liver/liver_skeleton.html b/code/modules/surgery/organs/internal/liver/liver_skeleton.html new file mode 100644 index 00000000000..a5316e2e776 --- /dev/null +++ b/code/modules/surgery/organs/internal/liver/liver_skeleton.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/surgery/organs/internal/liver/liver_skeleton.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/internal/liver/liver_skeleton.dm + +

+ + +
/obj/item/organ/internal/liver/boneBone liver +Gives the owner liverless metabolism, makes them vulnerable to bone hurting juice and +makes milk heal them through meme magic.
+ + + diff --git a/code/modules/surgery/organs/internal/stomach/stomach_golem.html b/code/modules/surgery/organs/internal/stomach/stomach_golem.html new file mode 100644 index 00000000000..42d46a75fd5 --- /dev/null +++ b/code/modules/surgery/organs/internal/stomach/stomach_golem.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/organs/internal/stomach/stomach_golem.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/organs/internal/stomach/stomach_golem.dm + +

+ + +
/datum/status_effect/golem_statuedUh oh, you can't move, yell for help
+ + + diff --git a/code/modules/surgery/plastic_surgery.html b/code/modules/surgery/plastic_surgery.html new file mode 100644 index 00000000000..4c41097f9ef --- /dev/null +++ b/code/modules/surgery/plastic_surgery.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/plastic_surgery.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/plastic_surgery.dm + +

+ + +
/obj/item/disk/surgery/advanced_plastic_surgeryDisk containing info for doing advanced plastic surgery. Spawns in maint and available as a role-restricted item in traitor uplinks.
+ + + diff --git a/code/modules/surgery/repair_puncture.html b/code/modules/surgery/repair_puncture.html new file mode 100644 index 00000000000..28887104fca --- /dev/null +++ b/code/modules/surgery/repair_puncture.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/surgery/repair_puncture.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/surgery/repair_puncture.dm + +

+ + + + + +
REALIGN_INNARDSBURN FIXING SURGERIES
/datum/surgery/repair_punctureRepair puncture wounds
/datum/surgery_step/repair_innardsrealign the blood vessels so we can reweld them
/datum/surgery_step/seal_veinsSealing the vessels back together

Define Details

+

REALIGN_INNARDS + + +

+

BURN FIXING SURGERIES

+ + + diff --git a/code/modules/surgery/revival.html b/code/modules/surgery/revival.html new file mode 100644 index 00000000000..44b48882d4e --- /dev/null +++ b/code/modules/surgery/revival.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/surgery/revival.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/surgery/revival.dm + +

+ + +
/datum/surgery/revival/carbonAdditional revival effects if the target has a brain
+ + + diff --git a/code/modules/surgery/surgery_step.html b/code/modules/surgery/surgery_step.html new file mode 100644 index 00000000000..6493b8487cc --- /dev/null +++ b/code/modules/surgery/surgery_step.html @@ -0,0 +1,37 @@ + + + + + + + code/modules/surgery/surgery_step.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/surgery/surgery_step.dm + +

+ + + +
SURGERY_SPEED_DISSECTION_MODIFIERModifier given to surgery speed for dissected bodies.
SURGERY_SPEED_MORBID_CURIOSITYModifier given to users with TRAIT_MORBID on certain surgeries

Define Details

+

SURGERY_SPEED_DISSECTION_MODIFIER + + +

+

Modifier given to surgery speed for dissected bodies.

SURGERY_SPEED_MORBID_CURIOSITY + + +

+

Modifier given to users with TRAIT_MORBID on certain surgeries

+ + + diff --git a/code/modules/tgchat.html b/code/modules/tgchat.html new file mode 100644 index 00000000000..741cd55d8e2 --- /dev/null +++ b/code/modules/tgchat.html @@ -0,0 +1,46 @@ + + + + + + + code/modules/tgchat/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgchat/README.md + +

+ + +
/TG/ Chat +

/TG/ Chat, which will be referred to as TgChat from this point onwards, is a system in which we can send messages to clients in a controlled and semi-reliable manner. The standard way of sending messages to BYOND clients simply dumps whatever you output to them directly into their chat window, however BYOND allows us to load our own code on the client to change this behaviour in a way that allows us to do some pretty neat things.

+Message Format +

TgChat handles sending messages from the server to the client through the use of JSON payloads, of which the format will change depending on the type of message and the intended client endpoint. An example of the payload for chat messages is as follows:

+
{
+	"sequence": 0,
+	"content": {
+		"type": ". . .", // ?optional
+		"text": ". . .", // ?optional !atleast-one
+		"html": ". . .", // ?optional !atleast-one
+		"avoidHighlighting": 0 // ?optional
+	},
+}
+
+Reliability +

In the past there have been issues where BYOND will silently and without reason lose a message we sent to the client, to detect this and recover from it seamlessly TgChat also has a baked in reliability layer. This reliability layer is very primitive, and simply keeps track of received sequence numbers. Should the client receive an unexpected sequence number TgChat asks the server to resend any missing packets.

+Ping System +

TgChat supports a round trip time ping measurement, which is displayed to the client so they can know how long it takes for their commands and inputs to reach the server. This is done by sending the client a ping request, ping/soft, which tells the client to send a ping to the server. When the server receives said ping it sends a reply, ping/reply, to the client with a payload containing the current DateTime which the client can reference against the initial ping request.

+Chat Tabs, Local Storage, and Highlighting +

To make organizing and managing chat easier and more functional for both players and admins, TgChat has the ability to filter out messages based on their primary tag, such as individual departmental radios, to a dedicated chat tab for easier reading and comprehension. These tabs can also be configured to highlist messages based on a simple keyword search. You can set a multitude of different keywords to search for and they will be highlighting for instant alerting of the client. Said tabs, highlighting rules, and your chat history will persist thanks to use of local storage on the client. Using local storage TgChat can ensure that your preferences are saved and maintained between client restarts and switching between other /TG/ servers. Local Storage is also used to keep your chat history aswell, should you need to scroll through your chat logs.

+ + + diff --git a/code/modules/tgchat/message.html b/code/modules/tgchat/message.html new file mode 100644 index 00000000000..aa96f9ca949 --- /dev/null +++ b/code/modules/tgchat/message.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgchat/message.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgchat/message.dm + +

+ + + +
/proc/message_to_htmlMessage-related procs
+ + + diff --git a/code/modules/tgchat/to_chat.html b/code/modules/tgchat/to_chat.html new file mode 100644 index 00000000000..27415f2d9e0 --- /dev/null +++ b/code/modules/tgchat/to_chat.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/tgchat/to_chat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgchat/to_chat.dm + +

+ + + + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/proc/to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
/proc/to_chatSends the message to the recipient (target).
+ + + diff --git a/code/modules/tgs.html b/code/modules/tgs.html new file mode 100644 index 00000000000..a153ffef81f --- /dev/null +++ b/code/modules/tgs.html @@ -0,0 +1,40 @@ + + + + + + + code/modules/tgs/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

DMAPI Internals + +

+ + +

This folder should be placed on it's own inside a codebase that wishes to use the TGS DMAPI. Warranty void if modified.

+
    +
  • includes.dm is the file that should be included by DM code, it handles including the rest.
  • +
  • The core folder includes all code not directly part of any API version.
  • +
  • The other versioned folders contain code for the different DMAPI versions. +
      +
    • v3210 contains the final TGS3 API.
    • +
    • v4 is the legacy DMAPI 4 (Used in TGS 4.0.X versions).
    • +
    • v5 is the current DMAPI version used by TGS >=4.1.
    • +
    +
  • +
  • LICENSE is the MIT license for the DMAPI.
  • +
+

APIs communicate with TGS in two ways. All versions implement TGS -> DM communication using /world/Topic. DM -> TGS communication, called the bridge method, is different for each version.

+ + + diff --git a/code/modules/tgs/core.html b/code/modules/tgs/core.html new file mode 100644 index 00000000000..6903adef6ec --- /dev/null +++ b/code/modules/tgs/core.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/tgs/core/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Core DMAPI functions + +

+ + +

This folder contains all DMAPI code not directly involved in an API.

+
    +
  • _definitions.dm contains defines needed across DMAPI internals.
  • +
  • core.dm contains the implementations of the /world/proc/TgsXXX() procs. Many map directly to the /datum/tgs_api functions. It also contains the /datum selection and setup code.
  • +
  • datum.dm contains the /datum/tgs_api declarations that all APIs must implement.
  • +
  • tgs_version.dm contains the /datum/tgs_version definition
  • +
  • +
+ + + diff --git a/code/modules/tgs/v3210.html b/code/modules/tgs/v3210.html new file mode 100644 index 00000000000..505834b9ded --- /dev/null +++ b/code/modules/tgs/v3210.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v3210/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

DMAPI V3 + +

+ + +

This DMAPI implements bridge using file output which TGS monitors for.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
+ + + diff --git a/code/modules/tgs/v4.html b/code/modules/tgs/v4.html new file mode 100644 index 00000000000..8a94b169b46 --- /dev/null +++ b/code/modules/tgs/v4.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgs/v4/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

DMAPI V4 + +

+ + +

This DMAPI implements bridge requests using file output which TGS monitors for. It has a safe mode restriction.

+
    +
  • api.dm contains the bulk of the API code.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
+ + + diff --git a/code/modules/tgs/v5.html b/code/modules/tgs/v5.html new file mode 100644 index 00000000000..8733d3c99d9 --- /dev/null +++ b/code/modules/tgs/v5.html @@ -0,0 +1,38 @@ + + + + + + + code/modules/tgs/v5/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

DMAPI V5 + +

+ + +

This DMAPI implements bridge requests using HTTP GET requests to TGS. It has no security restrictions.

+
    +
  • __interop_version.dm contains the version of the API used between the DMAPI and TGS.
  • +
  • _defines.dm contains constant definitions.
  • +
  • api.dm contains the bulk of the API code.
  • +
  • bridge.dm contains functions related to making bridge requests.
  • +
  • chunking.dm contains common function for splitting large raw data sets into chunks BYOND can natively process.
  • +
  • commands.dm contains functions relating to /datum/tgs_chat_commands.
  • +
  • serializers.dm contains function to help convert interop /datums into a JSON encodable list() format.
  • +
  • topic.dm contains functions related to processing topic requests.
  • +
  • undefs.dm Undoes the work of _defines.dm.
  • +
+ + + diff --git a/code/modules/tgui/external.html b/code/modules/tgui/external.html new file mode 100644 index 00000000000..7a2923e8bbf --- /dev/null +++ b/code/modules/tgui/external.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/tgui/external.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/external.dm + +

+ + + + +

External tgui definitions, such as src_object APIs.

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/proc/tgui_TopicMiddleware for /client/Topic.
+ + + diff --git a/code/modules/tgui/states.html b/code/modules/tgui/states.html new file mode 100644 index 00000000000..64b3ba8d835 --- /dev/null +++ b/code/modules/tgui/states.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui/states.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states.dm + +

+ + +

Base state and helpers for states. Just does some sanity checks, +implement a proper state for in-depth checks.

+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/admin.html b/code/modules/tgui/states/admin.html new file mode 100644 index 00000000000..a8ad48e79a1 --- /dev/null +++ b/code/modules/tgui/states/admin.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/admin.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/admin.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/always.html b/code/modules/tgui/states/always.html new file mode 100644 index 00000000000..12c21bdd488 --- /dev/null +++ b/code/modules/tgui/states/always.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/always.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/always.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/conscious.html b/code/modules/tgui/states/conscious.html new file mode 100644 index 00000000000..dda586aeb54 --- /dev/null +++ b/code/modules/tgui/states/conscious.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/conscious.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/conscious.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/contained.html b/code/modules/tgui/states/contained.html new file mode 100644 index 00000000000..0e1af5e0080 --- /dev/null +++ b/code/modules/tgui/states/contained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/contained.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/contained.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/deep_inventory.html b/code/modules/tgui/states/deep_inventory.html new file mode 100644 index 00000000000..2be638194e8 --- /dev/null +++ b/code/modules/tgui/states/deep_inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/deep_inventory.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/deep_inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/default.html b/code/modules/tgui/states/default.html new file mode 100644 index 00000000000..df1b8f80b23 --- /dev/null +++ b/code/modules/tgui/states/default.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/default.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/default.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/fun.html b/code/modules/tgui/states/fun.html new file mode 100644 index 00000000000..c2348b9a9c3 --- /dev/null +++ b/code/modules/tgui/states/fun.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/fun.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/fun.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/hands.html b/code/modules/tgui/states/hands.html new file mode 100644 index 00000000000..d528f80e7e5 --- /dev/null +++ b/code/modules/tgui/states/hands.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/hands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/hands.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/human_adjacent.html b/code/modules/tgui/states/human_adjacent.html new file mode 100644 index 00000000000..00a06205fb6 --- /dev/null +++ b/code/modules/tgui/states/human_adjacent.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/human_adjacent.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/human_adjacent.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/inventory.html b/code/modules/tgui/states/inventory.html new file mode 100644 index 00000000000..62ca33a6118 --- /dev/null +++ b/code/modules/tgui/states/inventory.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/inventory.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/inventory.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/language_menu.html b/code/modules/tgui/states/language_menu.html new file mode 100644 index 00000000000..4c012b78950 --- /dev/null +++ b/code/modules/tgui/states/language_menu.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/language_menu.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/language_menu.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/never.html b/code/modules/tgui/states/never.html new file mode 100644 index 00000000000..4e907134259 --- /dev/null +++ b/code/modules/tgui/states/never.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/never.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/never.dm + +

+ + +

Copyright (c) 2021 Arm A. Hammer +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/not_incapacitated.html b/code/modules/tgui/states/not_incapacitated.html new file mode 100644 index 00000000000..07ac1e63260 --- /dev/null +++ b/code/modules/tgui/states/not_incapacitated.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/not_incapacitated.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/not_incapacitated.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/notcontained.html b/code/modules/tgui/states/notcontained.html new file mode 100644 index 00000000000..8b52d3c4213 --- /dev/null +++ b/code/modules/tgui/states/notcontained.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/notcontained.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/notcontained.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/observer.html b/code/modules/tgui/states/observer.html new file mode 100644 index 00000000000..7ae239094b2 --- /dev/null +++ b/code/modules/tgui/states/observer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/observer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/observer.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/physical.html b/code/modules/tgui/states/physical.html new file mode 100644 index 00000000000..4c82fd6c151 --- /dev/null +++ b/code/modules/tgui/states/physical.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/physical.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/physical.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/reverse_contained.html b/code/modules/tgui/states/reverse_contained.html new file mode 100644 index 00000000000..f7523bb32e7 --- /dev/null +++ b/code/modules/tgui/states/reverse_contained.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/tgui/states/reverse_contained.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/reverse_contained.dm + +

+ + +

Not copyrighted, but magatsuchi made it.

+ + + diff --git a/code/modules/tgui/states/self.html b/code/modules/tgui/states/self.html new file mode 100644 index 00000000000..6164bc294f8 --- /dev/null +++ b/code/modules/tgui/states/self.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/self.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/self.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/states/zlevel.html b/code/modules/tgui/states/zlevel.html new file mode 100644 index 00000000000..624c1d93806 --- /dev/null +++ b/code/modules/tgui/states/zlevel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/states/zlevel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/states/zlevel.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui/status_composers.html b/code/modules/tgui/status_composers.html new file mode 100644 index 00000000000..2f191163ab4 --- /dev/null +++ b/code/modules/tgui/status_composers.html @@ -0,0 +1,56 @@ + + + + + + + code/modules/tgui/status_composers.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/status_composers.dm + +

+ + + + + + + + + + + + + + + + + + + +
/proc/default_ui_stateThe sane defaults for a UI such as a computer or a machine.
/proc/ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
/proc/ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
/proc/ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
/proc/ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
/proc/ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
/proc/ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
/proc/ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
/proc/ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
+ + + diff --git a/code/modules/tgui/tgui.html b/code/modules/tgui/tgui.html new file mode 100644 index 00000000000..e4a6240c529 --- /dev/null +++ b/code/modules/tgui/tgui.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui/tgui.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/tgui.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/datum/tguitgui datum (represents a UI).
+ + + diff --git a/code/modules/tgui/tgui_window.html b/code/modules/tgui/tgui_window.html new file mode 100644 index 00000000000..5d758a042e5 --- /dev/null +++ b/code/modules/tgui/tgui_window.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui/tgui_window.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui/tgui_window.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_input/alert.html b/code/modules/tgui_input/alert.html new file mode 100644 index 00000000000..2b9ecb10d87 --- /dev/null +++ b/code/modules/tgui_input/alert.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui_input/alert.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/alert.dm + +

+ + + + +
/proc/tgui_alertCreates a TGUI alert window and returns the user's response.
/datum/tgui_alertDatum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.
+ + + diff --git a/code/modules/tgui_input/checkboxes.html b/code/modules/tgui_input/checkboxes.html new file mode 100644 index 00000000000..3fb8871d1d0 --- /dev/null +++ b/code/modules/tgui_input/checkboxes.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui_input/checkboxes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/checkboxes.dm + +

+ + + + +
/proc/tgui_input_checkboxes
/datum/tgui_checkbox_inputWindow for tgui_input_checkboxes
+ + + diff --git a/code/modules/tgui_input/list.html b/code/modules/tgui_input/list.html new file mode 100644 index 00000000000..68852c84b1c --- /dev/null +++ b/code/modules/tgui_input/list.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui_input/list.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/list.dm + +

+ + + + +
/proc/tgui_input_listCreates a TGUI input list window and returns the user's response.
/datum/tgui_list_inputClient does NOT have tgui_input on: Returns regular input
+ + + diff --git a/code/modules/tgui_input/number.html b/code/modules/tgui_input/number.html new file mode 100644 index 00000000000..bbb36ab70d9 --- /dev/null +++ b/code/modules/tgui_input/number.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui_input/number.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/number.dm + +

+ + + + +
/proc/tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
/datum/tgui_input_numberDatum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.
+ + + diff --git a/code/modules/tgui_input/say_modal/modal.html b/code/modules/tgui_input/say_modal/modal.html new file mode 100644 index 00000000000..1fc3eb5bdd9 --- /dev/null +++ b/code/modules/tgui_input/say_modal/modal.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui_input/say_modal/modal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/say_modal/modal.dm + +

+ + +
/datum/tgui_sayThe tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.
+ + + diff --git a/code/modules/tgui_input/say_modal/typing.html b/code/modules/tgui_input/say_modal/typing.html new file mode 100644 index 00000000000..4685fcdc334 --- /dev/null +++ b/code/modules/tgui_input/say_modal/typing.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/tgui_input/say_modal/typing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/say_modal/typing.dm + +

+ + +
/datum/preference/toggle/typing_indicatorWhether or not to show a typing indicator when speaking. Defaults to on.
+ + + diff --git a/code/modules/tgui_input/text.html b/code/modules/tgui_input/text.html new file mode 100644 index 00000000000..c709bd69300 --- /dev/null +++ b/code/modules/tgui_input/text.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tgui_input/text.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_input/text.dm + +

+ + + + +
/proc/tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
/datum/tgui_input_texttgui_input_text
+ + + diff --git a/code/modules/tgui_panel/audio.html b/code/modules/tgui_panel/audio.html new file mode 100644 index 00000000000..1c46c6e17c8 --- /dev/null +++ b/code/modules/tgui_panel/audio.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/audio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_panel/audio.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/external.html b/code/modules/tgui_panel/external.html new file mode 100644 index 00000000000..a40cfeb8d9d --- /dev/null +++ b/code/modules/tgui_panel/external.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tgui_panel/external.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_panel/external.dm + +

+ + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

+ + + diff --git a/code/modules/tgui_panel/telemetry.html b/code/modules/tgui_panel/telemetry.html new file mode 100644 index 00000000000..82ec3e34489 --- /dev/null +++ b/code/modules/tgui_panel/telemetry.html @@ -0,0 +1,41 @@ + + + + + + + code/modules/tgui_panel/telemetry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/tgui_panel/telemetry.dm + +

+ + + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

TGUI_TELEMETRY_MAX_CONNECTIONSMaximum number of connection records allowed to analyze. +Should match the value set in the browser.
TGUI_TELEMETRY_RESPONSE_WINDOWMaximum time allocated for sending a telemetry packet.

Define Details

+

TGUI_TELEMETRY_MAX_CONNECTIONS + + +

+

Maximum number of connection records allowed to analyze. +Should match the value set in the browser.

TGUI_TELEMETRY_RESPONSE_WINDOW + + +

+

Maximum time allocated for sending a telemetry packet.

+ + + diff --git a/code/modules/tgui_panel/tgui_panel.html b/code/modules/tgui_panel/tgui_panel.html new file mode 100644 index 00000000000..d8b4b078506 --- /dev/null +++ b/code/modules/tgui_panel/tgui_panel.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/tgui_panel/tgui_panel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tgui_panel/tgui_panel.dm + +

+ + + +

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

/datum/tgui_paneltgui_panel datum +Hosts tgchat and other nice features.
+ + + diff --git a/code/modules/transport/elevator/elev_indicator.html b/code/modules/transport/elevator/elev_indicator.html new file mode 100644 index 00000000000..2367962ac45 --- /dev/null +++ b/code/modules/transport/elevator/elev_indicator.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/transport/elevator/elev_indicator.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/elevator/elev_indicator.dm + +

+ + +
/obj/machinery/lift_indicatorAn indicator display aka an elevator hall lantern w/ floor number
+ + + diff --git a/code/modules/transport/elevator/elev_music_zone.html b/code/modules/transport/elevator/elev_music_zone.html new file mode 100644 index 00000000000..5c030bbfaf9 --- /dev/null +++ b/code/modules/transport/elevator/elev_music_zone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/transport/elevator/elev_music_zone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/elevator/elev_music_zone.dm + +

+ + +
/datum/proximity_monitor/advanced/elevator_music_areaLoad or unload a looping sound when mobs enter or exit the area
+ + + diff --git a/code/modules/transport/elevator/elev_panel.html b/code/modules/transport/elevator/elev_panel.html new file mode 100644 index 00000000000..21a2c9fc83d --- /dev/null +++ b/code/modules/transport/elevator/elev_panel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/transport/elevator/elev_panel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/elevator/elev_panel.dm + +

+ + +
/obj/machinery/elevator_control_panelA wallmounted simple machine that controls elevators, +allowing users to enter a UI to move it up or down
+ + + diff --git a/code/modules/transport/linear_controller.html b/code/modules/transport/linear_controller.html new file mode 100644 index 00000000000..b8505c5e6f1 --- /dev/null +++ b/code/modules/transport/linear_controller.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/transport/linear_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/linear_controller.dm + +

+ + +
/datum/transport_controller/linearcoordinate and control movement across linked transport_controllers. allows moving large single multitile platforms and many 1 tile platforms. +also is capable of linking platforms across linked z levels
+ + + diff --git a/code/modules/transport/tram/tram_controller.html b/code/modules/transport/tram/tram_controller.html new file mode 100644 index 00000000000..6fe6fb4a686 --- /dev/null +++ b/code/modules/transport/tram/tram_controller.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/transport/tram/tram_controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/tram/tram_controller.dm + +

+ + + +
/datum/transport_controller/linear/tramTram specific variant of the generic linear transport controller.
/obj/machinery/transport/tram_controllerThe physical cabinet on the tram. Acts as the interface between players and the controller datum.
+ + + diff --git a/code/modules/transport/tram/tram_signals.html b/code/modules/transport/tram/tram_signals.html new file mode 100644 index 00000000000..d67cdb5a206 --- /dev/null +++ b/code/modules/transport/tram/tram_signals.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/transport/tram/tram_signals.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/tram/tram_signals.dm + +

+ + + +
/obj/machinery/transport/crossing_signalPedestrian crossing signal for tram
/obj/machinery/transport/crossing_signal/northwest
+ + + diff --git a/code/modules/transport/transport_module.html b/code/modules/transport/transport_module.html new file mode 100644 index 00000000000..6c76fa07f37 --- /dev/null +++ b/code/modules/transport/transport_module.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/transport/transport_module.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/transport_module.dm + +

+ + +
/obj/structure/transport/linearBase transport structure. A single tile that can form a modular set with neighbouring tiles +This type holds elevators and trams
+ + + diff --git a/code/modules/transport/transport_navigation.html b/code/modules/transport/transport_navigation.html new file mode 100644 index 00000000000..f8097470e8b --- /dev/null +++ b/code/modules/transport/transport_navigation.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/transport/transport_navigation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/transport/transport_navigation.dm + +

+ + + +
/obj/effect/landmark/transport/nav_beacon/tramtransport_controller landmarks. used to map specific destinations on the map.
/obj/effect/landmark/transport/transport_idtransport_controller landmarks. used to map in specific_transport_id to trams and elevators. when the transport_controller encounters one on a tile +it sets its specific_transport_id to that landmark. allows you to have multiple trams and multiple objects linking to their specific tram
+ + + diff --git a/code/modules/tutorials/_tutorial.html b/code/modules/tutorials/_tutorial.html new file mode 100644 index 00000000000..9441ded6c4a --- /dev/null +++ b/code/modules/tutorials/_tutorial.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/tutorials/_tutorial.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tutorials/_tutorial.dm + +

+ + + +
/datum/tutorialThe base for a contextual tutorial. +In order to give a tutorial to someone, use SStutorials.suggest_tutorial(user, /datum/tutorial/subtype)
/datum/tutorial_managerA singleton that manages when to create tutorials of a specific tutorial type.
+ + + diff --git a/code/modules/tutorials/tutorials/drop.html b/code/modules/tutorials/tutorials/drop.html new file mode 100644 index 00000000000..76172236ab5 --- /dev/null +++ b/code/modules/tutorials/tutorials/drop.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tutorials/tutorials/drop.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tutorials/tutorials/drop.dm + +

+ + +
/datum/tutorial/dropTutorial for showing how to drop items. +Fired when clicking on an item with another item with a filled inactive hand.
+ + + diff --git a/code/modules/tutorials/tutorials/switch_hands.html b/code/modules/tutorials/tutorials/switch_hands.html new file mode 100644 index 00000000000..a1139c4e6f0 --- /dev/null +++ b/code/modules/tutorials/tutorials/switch_hands.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/tutorials/tutorials/switch_hands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/tutorials/tutorials/switch_hands.dm + +

+ + +
/datum/tutorial/switch_handsTutorial for showing how to switch hands. +Fired when clicking on an item with another item with an empty inactive hand.
+ + + diff --git a/code/modules/unit_tests.html b/code/modules/unit_tests.html new file mode 100644 index 00000000000..599877edb80 --- /dev/null +++ b/code/modules/unit_tests.html @@ -0,0 +1,74 @@ + + + + + + + code/modules/unit_tests/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Unit Tests + +

+ + +
What is unit testing? +

Unit tests are automated code to verify that parts of the game work exactly as they should. For example, a test to make sure that the amputation surgery actually amputates the limb. These are ran every time a PR is made, and thus are very helpful for preventing bugs from cropping up in your code that would've otherwise gone unnoticed. For example, would you have thought to check that beach boys would still work the same after editing pizza? If you value your time, probably not.

+

On their most basic level, when UNIT_TESTS is defined, all subtypes of /datum/unit_test will have their Run proc executed. From here, if Fail is called at any point, then the tests will report as failed.

+How do I write one? +
    +
  1. Find a relevant file.
  2. +
+

All unit test related code is in code/modules/unit_tests. If you are adding a new test for a surgery, for example, then you'd open surgeries.dm. If a relevant file does not exist, simply create one in this folder, then #include it in _unit_tests.dm.

+
    +
  1. Create the unit test.
  2. +
+

To make a new unit test, you simply need to define a /datum/unit_test.

+

For example, let's suppose that we are creating a test to make sure a proc square correctly raises inputs to the power of two. We'd start with first:

+
/datum/unit_test/square/Run()
+
+

This defines our new unit test, /datum/unit_test/square. Inside this function, we're then going to run through whatever we want to check. Tests provide a few assertion functions to make this easy. For now, we're going to use TEST_ASSERT_EQUAL.

+
/datum/unit_test/square/Run()
+    TEST_ASSERT_EQUAL(square(3), 9, "square(3) did not return 9")
+    TEST_ASSERT_EQUAL(square(4), 16, "square(4) did not return 16")
+
+

As you can hopefully tell, we're simply checking if the output of square matches the output we are expecting. If the test fails, it'll report the error message given as well as whatever the actual output was.

+
    +
  1. Run the unit test
  2. +
+

Open code/_compile_options.dm and uncomment the following line.

+
//#define UNIT_TESTS			//If this is uncommented, we do a single run though of the game setup and tear down process with unit tests in between
+
+

Then, run tgstation.dmb in Dream Daemon. Don't bother trying to connect, you won't need to. You'll be able to see the outputs of all the tests. You'll get to see which tests failed and for what reason. If they all pass, you're set!

+How to think about tests +

Unit tests exist to prevent bugs that would happen in a real game. Thus, they should attempt to emulate the game world wherever possible. For example, the quick swap sanity test emulates a real scenario of the bug it fixed occurring by creating a character and giving it real items. The unrecommended alternative would be to create special test-only items. This isn't a hard rule, the reagent method exposure tests create a test-only reagent for example, but do keep it in mind.

+

Unit tests should also be just that--testing units of code. For example, instead of having one massive test for reagents, there are instead several smaller tests for testing exposure, metabolization, etc.

+The unit testing API +

You can find more information about all of these from their respective doc comments, but for a brief overview:

+

/datum/unit_test - The base for all tests to be ran. Subtypes must override Run(). New() and Destroy() can be used for setup and teardown. To fail, use TEST_FAIL(reason).

+

/datum/unit_test/proc/allocate(type, ...) - Allocates an instance of the provided type with the given arguments. Is automatically destroyed when the test is over. Commonly seen in the form of var/mob/living/carbon/human/human = allocate(/mob/living/carbon/human/consistent).

+

TEST_FAIL(reason) - Marks a failure at this location, but does not stop the test.

+

TEST_ASSERT(assertion, reason) - Stops the unit test and fails if the assertion is not met. For example: TEST_ASSERT(powered(), "Machine is not powered").

+

TEST_ASSERT_NOTNULL(a, message) - Same as TEST_ASSERT, but checks if !isnull(a). For example: TEST_ASSERT_NOTNULL(myatom, "My atom was never set!").

+

TEST_ASSERT_NULL(a, message) - Same as TEST_ASSERT, but checks if isnull(a). If not, gives a helpful message showing what a was. For example: TEST_ASSERT_NULL(delme, "Delme was never cleaned up!").

+

TEST_ASSERT_EQUAL(a, b, message) - Same as TEST_ASSERT, but checks if a == b. If not, gives a helpful message showing what both a and b were. For example: TEST_ASSERT_EQUAL(2 + 2, 4, "The universe is falling apart before our eyes!").

+

TEST_ASSERT_NOTEQUAL(a, b, message) - Same as TEST_ASSERT_EQUAL, but reversed.

+

TEST_FOCUS(test_path) - Only run the test provided within the parameters. Useful for reducing noise. For example, if we only want to run our example square test, we can add TEST_FOCUS(/datum/unit_test/square). Should never be pushed in a pull request--you will be laughed at.

+Final Notes +
    +
  • Writing tests before you attempt to fix the bug can actually speed up development a lot! It means you don't have to go in game and folllow the same exact steps manually every time. This process is known as "TDD" (test driven development). Write the test first, make sure it fails, then start work on the fix/feature, and you'll know you're done when your tests pass. If you do try this, do make sure to confirm in a non-testing environment just to double check.
  • +
  • Make sure that your tests don't accidentally call RNG functions like prob. Since RNG is seeded during tests, you may not realize you have until someone else makes a PR and the tests fail!
  • +
  • Do your best not to change the behavior of non-testing code during tests. While it may sometimes be necessary in the case of situations such as the above, it is still a slippery slope that can lead to the code you're testing being too different from the production environment to be useful.
  • +
+ + + diff --git a/code/modules/unit_tests/_unit_tests.html b/code/modules/unit_tests/_unit_tests.html new file mode 100644 index 00000000000..3a3589d83d8 --- /dev/null +++ b/code/modules/unit_tests/_unit_tests.html @@ -0,0 +1,134 @@ + + + + + + + code/modules/unit_tests/_unit_tests.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/unit_tests/_unit_tests.dm + +

+ + + + + + + + + + + + + + + + + +
TEST_FAILFor advanced cases, fail unconditionally but don't return (so a test can return multiple results)
TEST_ASSERTAsserts that a condition is true +If the condition is not true, fails the test
TEST_ASSERT_NOTNULLAsserts that a parameter is not null
TEST_ASSERT_NULLAsserts that a parameter is null
TEST_ASSERT_EQUALAsserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_ASSERT_NOTEQUALAsserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure
TEST_FOCUSOnly run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)
TEST_NOTICELogs a noticable message on GitHub, but will not mark as an error. +Use this when something shouldn't happen and is of note, but shouldn't block CI. +Does not mark the test as failed.
UNIT_TEST_PASSEDConstants indicating unit test completion status
TEST_LONGERAfter most test steps, used for tests that run long so shorter issues can be noticed faster
TEST_CREATE_AND_DESTROYThis must be the one of last tests to run due to the inherent nature of the test iterating every single tangible atom in the game and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.
TEST_AFTER_CREATE_AND_DESTROYFor tests that rely on create and destroy having iterated through every (tangible) atom so they don't have to do something similar. +Keep in mind tho that create and destroy will absolutely break the test platform, anything that relies on its shape cannot come after it.
TEST_OUTPUT_REDChange color to red on ANSI terminal output, if enabled with -DANSICOLORS.
TEST_OUTPUT_GREENChange color to green on ANSI terminal output, if enabled with -DANSICOLORS.
TEST_OUTPUT_YELLOWChange color to yellow on ANSI terminal output, if enabled with -DANSICOLORS.
TRAIT_SOURCE_UNIT_TESTSA trait source when adding traits through unit tests

Define Details

+

TEST_AFTER_CREATE_AND_DESTROY + + +

+

For tests that rely on create and destroy having iterated through every (tangible) atom so they don't have to do something similar. +Keep in mind tho that create and destroy will absolutely break the test platform, anything that relies on its shape cannot come after it.

TEST_ASSERT + + + +

+

Asserts that a condition is true +If the condition is not true, fails the test

TEST_ASSERT_EQUAL + + + +

+

Asserts that the two parameters passed are equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTEQUAL + + + +

+

Asserts that the two parameters passed are not equal, fails otherwise +Optionally allows an additional message in the case of a failure

TEST_ASSERT_NOTNULL + + + +

+

Asserts that a parameter is not null

TEST_ASSERT_NULL + + + +

+

Asserts that a parameter is null

TEST_CREATE_AND_DESTROY + + +

+

This must be the one of last tests to run due to the inherent nature of the test iterating every single tangible atom in the game and qdeleting all of them (while taking long sleeps to make sure the garbage collector fires properly) taking a large amount of time.

TEST_FAIL + + + +

+

For advanced cases, fail unconditionally but don't return (so a test can return multiple results)

TEST_FOCUS + + + +

+

Only run the test provided within the parentheses +This is useful for debugging when you want to reduce noise, but should never be pushed +Intended to be used in the manner of TEST_FOCUS(/datum/unit_test/math)

TEST_LONGER + + +

+

After most test steps, used for tests that run long so shorter issues can be noticed faster

TEST_NOTICE + + + +

+

Logs a noticable message on GitHub, but will not mark as an error. +Use this when something shouldn't happen and is of note, but shouldn't block CI. +Does not mark the test as failed.

TEST_OUTPUT_GREEN + + + +

+

Change color to green on ANSI terminal output, if enabled with -DANSICOLORS.

TEST_OUTPUT_RED + + + +

+

Change color to red on ANSI terminal output, if enabled with -DANSICOLORS.

TEST_OUTPUT_YELLOW + + + +

+

Change color to yellow on ANSI terminal output, if enabled with -DANSICOLORS.

TRAIT_SOURCE_UNIT_TESTS + + +

+

A trait source when adding traits through unit tests

UNIT_TEST_PASSED + + +

+

Constants indicating unit test completion status

+ + + diff --git a/code/modules/unit_tests/abductor_baton_spell.html b/code/modules/unit_tests/abductor_baton_spell.html new file mode 100644 index 00000000000..2e936e6c7cd --- /dev/null +++ b/code/modules/unit_tests/abductor_baton_spell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/abductor_baton_spell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/abductor_baton_spell.dm + +

+ + +
/datum/unit_test/abductor_baton_spellTests that abductors get their baton recall spell when being equipped
+ + + diff --git a/code/modules/unit_tests/ablative_hud.html b/code/modules/unit_tests/ablative_hud.html new file mode 100644 index 00000000000..beb4da17228 --- /dev/null +++ b/code/modules/unit_tests/ablative_hud.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/ablative_hud.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/ablative_hud.dm + +

+ + +
/datum/unit_test/ablative_hood_hudCheck that player gains and loses sec hud when toggling the ablative hood
+ + + diff --git a/code/modules/unit_tests/achievements.html b/code/modules/unit_tests/achievements.html new file mode 100644 index 00000000000..27325b520f8 --- /dev/null +++ b/code/modules/unit_tests/achievements.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/achievements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/achievements.dm + +

+ + +
/datum/unit_test/achievementsChecks that all achievements have an existing icon state in the achievements icon file.
+ + + diff --git a/code/modules/unit_tests/anonymous_themes.html b/code/modules/unit_tests/anonymous_themes.html new file mode 100644 index 00000000000..85407b1bd9e --- /dev/null +++ b/code/modules/unit_tests/anonymous_themes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/anonymous_themes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/anonymous_themes.dm + +

+ + +
/datum/unit_test/anonymous_themesEnsure that anonymous themes works without changing your preferences
+ + + diff --git a/code/modules/unit_tests/antag_conversion.html b/code/modules/unit_tests/antag_conversion.html new file mode 100644 index 00000000000..fd612e9dc51 --- /dev/null +++ b/code/modules/unit_tests/antag_conversion.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/antag_conversion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/antag_conversion.dm + +

+ + + +
/datum/unit_test/revolution_conversionTests that headrevs can convert people by clicking on them with flashes
/datum/unit_test/cult_conversionTests that cults can convert people with their rune
+ + + diff --git a/code/modules/unit_tests/area_contents.html b/code/modules/unit_tests/area_contents.html new file mode 100644 index 00000000000..f65e7dd24b7 --- /dev/null +++ b/code/modules/unit_tests/area_contents.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/area_contents.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/area_contents.dm + +

+ + +
/datum/unit_test/area_contentsVerifies that an area's perception of their "turfs" is correct, and no other area overlaps with them +Quite slow, but needed
+ + + diff --git a/code/modules/unit_tests/armor_verification.html b/code/modules/unit_tests/armor_verification.html new file mode 100644 index 00000000000..f8fd8f40a57 --- /dev/null +++ b/code/modules/unit_tests/armor_verification.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/armor_verification.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/armor_verification.dm + +

+ + +
/datum/unit_test/armor_verificationVerifies that armor procs are working as expected
+ + + diff --git a/code/modules/unit_tests/atmospherics_sanity.html b/code/modules/unit_tests/atmospherics_sanity.html new file mode 100644 index 00000000000..59f7291d83d --- /dev/null +++ b/code/modules/unit_tests/atmospherics_sanity.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/atmospherics_sanity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/atmospherics_sanity.dm + +

+ + +
/datum/unit_test/atmospherics_sanityThis test checks that all expected areas are connected to a starting area
+ + + diff --git a/code/modules/unit_tests/autowiki.html b/code/modules/unit_tests/autowiki.html new file mode 100644 index 00000000000..44f6339764d --- /dev/null +++ b/code/modules/unit_tests/autowiki.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/autowiki.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/autowiki.dm + +

+ + + +
/datum/unit_test/autowikiTests that all autowikis generate something without runtiming
/datum/unit_test/autowiki_include_templateTest that include_template produces reasonable results
+ + + diff --git a/code/modules/unit_tests/barsigns.html b/code/modules/unit_tests/barsigns.html new file mode 100644 index 00000000000..2f82cdcd250 --- /dev/null +++ b/code/modules/unit_tests/barsigns.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/barsigns.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/barsigns.dm + +

+ + + + +
/datum/unit_test/barsigns_iconTest if icon states for each datum actually exist in the DMI.
/datum/unit_test/barsigns_nameCheck that bar signs have a name and desc, and that the name is unique.
/datum/unit_test/barsigns_empTest that an emped barsign displays correctly
+ + + diff --git a/code/modules/unit_tests/baseturfs.html b/code/modules/unit_tests/baseturfs.html new file mode 100644 index 00000000000..65c8602d91b --- /dev/null +++ b/code/modules/unit_tests/baseturfs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/baseturfs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/baseturfs.dm + +

+ + + + +
/datum/unit_test/baseturfs_unmodified_scrapeValidates that unmodified baseturfs tear down properly
/datum/unit_test/baseturfs_placed_on_topValidates that specially placed baseturfs tear down properly
/datum/unit_test/baseturfs_placed_on_bottomValidates that specially placed baseturfs BELOW tear down properly
+ + + diff --git a/code/modules/unit_tests/bitrunning.html b/code/modules/unit_tests/bitrunning.html new file mode 100644 index 00000000000..525e222f04f --- /dev/null +++ b/code/modules/unit_tests/bitrunning.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/bitrunning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/bitrunning.dm + +

+ + +
/datum/unit_test/bitrunner_vdom_settingsEnsures settings on vdoms are correct
+ + + diff --git a/code/modules/unit_tests/blindness.html b/code/modules/unit_tests/blindness.html new file mode 100644 index 00000000000..0a1685264a2 --- /dev/null +++ b/code/modules/unit_tests/blindness.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/blindness.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/blindness.dm + +

+ + + + +
/datum/unit_test/blindnessUnit test to check that blindness adds the correct status effects, overlays, and client colors
/datum/unit_test/nearsightednessUnit test to check that nearsighted is added and disabled correctly
/datum/unit_test/eye_damageUnit test to ensure eyes are properly blinded and nearsighted by eye damage
+ + + diff --git a/code/modules/unit_tests/bloody_footprints.html b/code/modules/unit_tests/bloody_footprints.html new file mode 100644 index 00000000000..55de70c6360 --- /dev/null +++ b/code/modules/unit_tests/bloody_footprints.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/bloody_footprints.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/bloody_footprints.dm + +

+ + +
/datum/unit_test/bloody_footprintsTests to make sure bloody footprits work as expected +So no stacking, they actually apply, and shoe staining thrown in for free
+ + + diff --git a/code/modules/unit_tests/breath.html b/code/modules/unit_tests/breath.html new file mode 100644 index 00000000000..0e14761bede --- /dev/null +++ b/code/modules/unit_tests/breath.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/unit_tests/breath.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/breath.dm + +

+ + + + +
/datum/unit_test/breathTests to ensure humans, plasmamen, and ashwalkers can breath in normal situations. +Ensures algorithmic correctness of the "breathe()" and "toggle_internals()" procs. +Built to prevent regression on an issue surrounding QUANTIZE() and BREATH_VOLUME. +See the comment on BREATH_VOLUME for more details.
/datum/unit_test/breath/breath_sanity_plasmamenTests to make sure plasmaman can breath from their internal tanks
/datum/unit_test/breath/breath_sanity_ashwalkerTests to make sure ashwalkers can breathe from the lavaland air.
+ + + diff --git a/code/modules/unit_tests/burning.html b/code/modules/unit_tests/burning.html new file mode 100644 index 00000000000..b4daa0ed5fe --- /dev/null +++ b/code/modules/unit_tests/burning.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/burning.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/burning.dm + +

+ + +
/datum/unit_test/burningTests that no runtimes are thrown when a mob is on fire
+ + + diff --git a/code/modules/unit_tests/cable_powernets.html b/code/modules/unit_tests/cable_powernets.html new file mode 100644 index 00000000000..d1d4914e679 --- /dev/null +++ b/code/modules/unit_tests/cable_powernets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/cable_powernets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/cable_powernets.dm + +

+ + +
/datum/unit_test/cable_powernetsChecking all powernets to see if they are properly connected and powered.
+ + + diff --git a/code/modules/unit_tests/cardboard_cutouts.html b/code/modules/unit_tests/cardboard_cutouts.html new file mode 100644 index 00000000000..8ab82e5fe20 --- /dev/null +++ b/code/modules/unit_tests/cardboard_cutouts.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/cardboard_cutouts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/cardboard_cutouts.dm + +

+ + +
/datum/unit_test/cardboard_cutoutsValidates that cardboard cutouts have the proper icons
+ + + diff --git a/code/modules/unit_tests/changeling.html b/code/modules/unit_tests/changeling.html new file mode 100644 index 00000000000..1975b6f383d --- /dev/null +++ b/code/modules/unit_tests/changeling.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/changeling.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/changeling.dm + +

+ + +
/datum/unit_test/transformation_stingTests transformation sting goes back and forth correctly
+ + + diff --git a/code/modules/unit_tests/chat_filter.html b/code/modules/unit_tests/chat_filter.html new file mode 100644 index 00000000000..5182dd39140 --- /dev/null +++ b/code/modules/unit_tests/chat_filter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/chat_filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/chat_filter.dm + +

+ + +
/datum/unit_test/chat_filter_sanityTests the sanity of the chat filter, ensuring it properly blocks words and gives the reason
+ + + diff --git a/code/modules/unit_tests/circuit_component_category.html b/code/modules/unit_tests/circuit_component_category.html new file mode 100644 index 00000000000..25242dcec2b --- /dev/null +++ b/code/modules/unit_tests/circuit_component_category.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/circuit_component_category.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/circuit_component_category.dm + +

+ + +
/datum/unit_test/circuit_component_categoryTests to make sure each circuit component that could potentially be available to a player has a category
+ + + diff --git a/code/modules/unit_tests/client_colours.html b/code/modules/unit_tests/client_colours.html new file mode 100644 index 00000000000..8137679af1a --- /dev/null +++ b/code/modules/unit_tests/client_colours.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/client_colours.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/client_colours.dm + +

+ + +
/datum/unit_test/client_coloursChecks that client colours have valid colour variables values at least when inited.
+ + + diff --git a/code/modules/unit_tests/closets.html b/code/modules/unit_tests/closets.html new file mode 100644 index 00000000000..5e09376f381 --- /dev/null +++ b/code/modules/unit_tests/closets.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/closets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/closets.dm + +

+ + +
/datum/unit_test/closetsChecks that the length of the initial contents of a closet doesn't exceed its storage capacity. +Also checks that nothing inside that isn't immediate is a steal objective.
+ + + diff --git a/code/modules/unit_tests/clothing_under_armor_subtype_check.html b/code/modules/unit_tests/clothing_under_armor_subtype_check.html new file mode 100644 index 00000000000..137edc53662 --- /dev/null +++ b/code/modules/unit_tests/clothing_under_armor_subtype_check.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/clothing_under_armor_subtype_check.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/clothing_under_armor_subtype_check.dm + +

+ + +
/datum/unit_test/clothing_under_armor_subtype_checkTest if all jumpsuits are using the proper armor subtype.
+ + + diff --git a/code/modules/unit_tests/combat.html b/code/modules/unit_tests/combat.html new file mode 100644 index 00000000000..576c7e0cee5 --- /dev/null +++ b/code/modules/unit_tests/combat.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/combat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/combat.dm + +

+ + + + +
/datum/unit_test/self_punchTests you can punch yourself
/datum/unit_test/handcuff_punchTests handcuffed (HANDS_BLOCKED) mobs cannot punch
/datum/unit_test/handcuff_biteTests handcuffed (HANDS_BLOCKED) monkeys can still bite despite being cuffed
+ + + diff --git a/code/modules/unit_tests/connect_loc.html b/code/modules/unit_tests/connect_loc.html new file mode 100644 index 00000000000..4d768cc7c3d --- /dev/null +++ b/code/modules/unit_tests/connect_loc.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/connect_loc.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/connect_loc.dm + +

+ + + + +
/datum/unit_test/connect_loc_basicTest that the connect_loc element handles basic movement cases
/datum/unit_test/connect_loc_change_turfTest that the connect_loc element handles turf changes
/datum/unit_test/connect_loc_multiple_on_turfTests that multiple objects can have connect_loc on the same turf without runtimes.
+ + + diff --git a/code/modules/unit_tests/container_sanity.html b/code/modules/unit_tests/container_sanity.html new file mode 100644 index 00000000000..c29acc4f61a --- /dev/null +++ b/code/modules/unit_tests/container_sanity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/container_sanity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/container_sanity.dm + +

+ + +
/datum/unit_test/reagent_container_sanityTest to ensure that all possible reagent containers have enough space to hold any reagents they spawn in with. +A drink can with only 30 units of space should not be able to hold 50 units of drink, as an example.
+ + + diff --git a/code/modules/unit_tests/crayons.html b/code/modules/unit_tests/crayons.html new file mode 100644 index 00000000000..25db9ec2458 --- /dev/null +++ b/code/modules/unit_tests/crayons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/crayons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/crayons.dm + +

+ + +
/datum/unit_test/crayon_namingMakes sure that crayons have their crayon_color in their initial name (to differentiate them in the crafting menu).
+ + + diff --git a/code/modules/unit_tests/create_and_destroy.html b/code/modules/unit_tests/create_and_destroy.html new file mode 100644 index 00000000000..64d63a914aa --- /dev/null +++ b/code/modules/unit_tests/create_and_destroy.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/create_and_destroy.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/create_and_destroy.dm + +

+ + +
/datum/unit_test/create_and_destroyDelete one of every type, sleep a while, then check to see if anything has gone fucky
+ + + diff --git a/code/modules/unit_tests/dcs_check_list_arguments.html b/code/modules/unit_tests/dcs_check_list_arguments.html new file mode 100644 index 00000000000..1c1eeed18b3 --- /dev/null +++ b/code/modules/unit_tests/dcs_check_list_arguments.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/dcs_check_list_arguments.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/dcs_check_list_arguments.dm + +

+ + +
/datum/unit_test/dcs_check_list_argumentslist arguments for bespoke elements are treated as a text ref in the ID, like any other datum. +Which means that, unless cached, using lists as arguments will lead to multiple instance of the same element +being created over and over.
+ + + diff --git a/code/modules/unit_tests/dcs_get_id_from_elements.html b/code/modules/unit_tests/dcs_get_id_from_elements.html new file mode 100644 index 00000000000..df15e896d4c --- /dev/null +++ b/code/modules/unit_tests/dcs_get_id_from_elements.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/dcs_get_id_from_elements.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/dcs_get_id_from_elements.dm + +

+ + +
/datum/unit_test/dcs_get_id_from_argumentsLet's avoid sending the same instructions over and over, as it's just going to clutter the CI and confuse someone. +Tests that DCS' GetIdFromArguments works as expected with standard and odd cases
+ + + diff --git a/code/modules/unit_tests/door_access.html b/code/modules/unit_tests/door_access.html new file mode 100644 index 00000000000..003b0ab459a --- /dev/null +++ b/code/modules/unit_tests/door_access.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/door_access.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/door_access.dm + +

+ + +
/datum/unit_test/door_access_checkTests to make sure door access works correctly.
+ + + diff --git a/code/modules/unit_tests/dragon_expiration.html b/code/modules/unit_tests/dragon_expiration.html new file mode 100644 index 00000000000..fb7083e500b --- /dev/null +++ b/code/modules/unit_tests/dragon_expiration.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/dragon_expiration.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/dragon_expiration.dm + +

+ + + +
/datum/unit_test/contents_barferUnit test for the contents barfer element
/datum/unit_test/space_dragon_expirationUnit tests that the space dragon - when its rift expires and it gets qdel'd - doesn't delete all the mobs it has eaten
+ + + diff --git a/code/modules/unit_tests/drink_icons.html b/code/modules/unit_tests/drink_icons.html new file mode 100644 index 00000000000..55fc800ccc4 --- /dev/null +++ b/code/modules/unit_tests/drink_icons.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/drink_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/drink_icons.dm + +

+ + + + +
/datum/unit_test/glass_style_iconsUnit tests all glass style datums with icons / icon states that those are valid and not missing.
/datum/unit_test/glass_style_functionalityUnit tests glass style datums are applied to drinking glasses
/datum/unit_test/drink_iconsUnit tests glass subtypes have a valid icon setup
+ + + diff --git a/code/modules/unit_tests/dummy_spawn.html b/code/modules/unit_tests/dummy_spawn.html new file mode 100644 index 00000000000..b1d3f3c5ce1 --- /dev/null +++ b/code/modules/unit_tests/dummy_spawn.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/dummy_spawn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/dummy_spawn.dm + +

+ + + +
/datum/unit_test/dummy_spawn_speciesThis set of tests is focused on ensuring the stability of preference dummies +And by extension the hacks built to make them fast +Organ consistency, object pooling via the wardrobe ss, etc
/datum/unit_test/dummy_spawn_outfitEquips and devests our dummy of one of every job outfit
+ + + diff --git a/code/modules/unit_tests/dynamic_ruleset_sanity.html b/code/modules/unit_tests/dynamic_ruleset_sanity.html new file mode 100644 index 00000000000..e32d709b789 --- /dev/null +++ b/code/modules/unit_tests/dynamic_ruleset_sanity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/dynamic_ruleset_sanity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/dynamic_ruleset_sanity.dm + +

+ + + +
/datum/unit_test/dynamic_roundstart_ruleset_sanityVerifies that roundstart dynamic rulesets are setup properly without external configuration.
/datum/unit_test/dynamic_unique_antag_flagsVerifies that dynamic rulesets have unique antag_flag.
+ + + diff --git a/code/modules/unit_tests/egg_glands.html b/code/modules/unit_tests/egg_glands.html new file mode 100644 index 00000000000..c11e98e8119 --- /dev/null +++ b/code/modules/unit_tests/egg_glands.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/egg_glands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/egg_glands.dm + +

+ + +
/datum/unit_test/egg_glandsVerifies that all glands for an egg are valid
+ + + diff --git a/code/modules/unit_tests/ensure_subtree_operational_datum.html b/code/modules/unit_tests/ensure_subtree_operational_datum.html new file mode 100644 index 00000000000..59c0812ccf6 --- /dev/null +++ b/code/modules/unit_tests/ensure_subtree_operational_datum.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/unit_tests/ensure_subtree_operational_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/unit_tests/ensure_subtree_operational_datum.dm + +

+ + + + +
REQUIRED_SUBTREEThe subtree that requires the operational datum.
REQUIRED_OPERATIONAL_DATUMSThe list of typepaths of applicable operational datums that would satisfy the requirement.
/datum/unit_test/ensure_subtree_operational_datumUnit Test that ensure that if we add a specific planning subtree to a basic mob's planning tree, that we also have the operational datum needed for it (component/element). +This can be extended to other "mandatory" operational datums for certain subtrees to work.

Define Details

+

REQUIRED_OPERATIONAL_DATUMS + + +

+

The list of typepaths of applicable operational datums that would satisfy the requirement.

REQUIRED_SUBTREE + + +

+

The subtree that requires the operational datum.

+ + + diff --git a/code/modules/unit_tests/explosion_action.html b/code/modules/unit_tests/explosion_action.html new file mode 100644 index 00000000000..257b2afa6d7 --- /dev/null +++ b/code/modules/unit_tests/explosion_action.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/explosion_action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/explosion_action.dm + +

+ + +
/datum/unit_test/explosion_actionTests the EX_ACT macro on several different types of atoms to ensure that it still works as expected.
+ + + diff --git a/code/modules/unit_tests/fish_unit_tests.html b/code/modules/unit_tests/fish_unit_tests.html new file mode 100644 index 00000000000..b29f40a418f --- /dev/null +++ b/code/modules/unit_tests/fish_unit_tests.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/unit_tests/fish_unit_tests.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/fish_unit_tests.dm + +

+ + + + + + +
/datum/unit_test/fish_size_weightChecks that things associated with fish size and weight work correctly.
/datum/unit_test/fish_breedingChecks that fish breeding works correctly.
/datum/unit_test/fish_evolutionCheck if the fishes can generate offsprings at all. +Check that crossbreeder, no-mating and self-reproductive fish traits work correctly. +Checks that fish evolutions work correctly.
/obj/item/fish/testdummydummy fish item used for the tests, as well with related subtypes and datums.
/datum/unit_test/fish_rescue_hookChecks that we are able to fish people out of chasms with priority and that they end up in the right location
+ + + diff --git a/code/modules/unit_tests/focus_only_tests.html b/code/modules/unit_tests/focus_only_tests.html new file mode 100644 index 00000000000..19abf5960f9 --- /dev/null +++ b/code/modules/unit_tests/focus_only_tests.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/unit_tests/focus_only_tests.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/focus_only_tests.dm + +

+ + + + + + + + + + + + + + + +
/datum/unit_test/focus_onlyThese tests perform no behavior of their own, and have their tests offloaded onto other procs. +This is useful in cases like in build_appearance_list where we want to know if any fail, +but is not useful to right a test for. +This file exists so that you can change any of these to TEST_FOCUS and only check for that test. +For example, change /datum/unit_test/focus_only/invalid_overlays to TEST_FOCUS(/datum/unit_test/focus_only/invalid_overlays), +and you will only test the check for invalid overlays in appearance building.
/datum/unit_test/focus_only/invalid_emissivesChecks that every created emissive has a valid icon_state
/datum/unit_test/focus_only/invalid_overlaysChecks that every overlay passed into build_appearance_list exists in the icon
/datum/unit_test/focus_only/invalid_research_designsChecks that every icon sent to the research_designs spritesheet is valid
/datum/unit_test/focus_only/invalid_vending_machine_icon_statesChecks that every icon sent to vending machines is valid
/datum/unit_test/focus_only/multiple_space_initializationChecks that space does not initialize multiple times
/datum/unit_test/focus_only/sorted_smoothing_groupsChecks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize
/datum/unit_test/focus_only/valid_turf_statesChecks that floor tiles are properly mapped to broken/burnt
/datum/unit_test/focus_only/nightvision_color_cutoffsChecks that nightvision eyes have a full set of color lists
/datum/unit_test/focus_only/stacked_lightsChecks that no light shares a tile/pixel offsets with another
/datum/unit_test/focus_only/bad_cooking_crafting_iconsChecks for bad icon / icon state setups in cooking crafting menu
/datum/unit_test/focus_only/openspace_clearEnsures openspace never spawns on the bottom of a z stack
/datum/unit_test/focus_only/missing_job_datum_variablesChecks to ensure that variables expected to exist in a job datum (for config reasons) actually exist
/datum/unit_test/focus_only/fish_sources_tablesChecks that the contents of the fish_counts list are also present in fish_table
+ + + diff --git a/code/modules/unit_tests/font_awesome_icons.html b/code/modules/unit_tests/font_awesome_icons.html new file mode 100644 index 00000000000..8aff1b83ba7 --- /dev/null +++ b/code/modules/unit_tests/font_awesome_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/font_awesome_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/font_awesome_icons.dm + +

+ + +
/datum/unit_test/font_awesome_iconsThis unit test verifies that all Font Awesome icons are present in code, and that all quirk icons are valid.
+ + + diff --git a/code/modules/unit_tests/food_edibility_check.html b/code/modules/unit_tests/food_edibility_check.html new file mode 100644 index 00000000000..29920faa317 --- /dev/null +++ b/code/modules/unit_tests/food_edibility_check.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/food_edibility_check.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/food_edibility_check.dm + +

+ + +
/datum/unit_test/food_edibility_checkMakes sure that spawned food has reagents and the edible component (or else it can't be eaten).
+ + + diff --git a/code/modules/unit_tests/full_heal.html b/code/modules/unit_tests/full_heal.html new file mode 100644 index 00000000000..66de6749ec5 --- /dev/null +++ b/code/modules/unit_tests/full_heal.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/full_heal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/full_heal.dm + +

+ + + + +
/datum/unit_test/full_heal_heals_organsTests the fully heal flag HEAL_ORGANS.
/datum/unit_test/full_heal_regenerates_organsTests the fully heal flag HEAL_REFRESH_ORGANS.
/datum/unit_test/full_heal_damage_typesTests the fully heal combination flag HEAL_DAMAGE.
+ + + diff --git a/code/modules/unit_tests/gas_transfer.html b/code/modules/unit_tests/gas_transfer.html new file mode 100644 index 00000000000..2431ef57e14 --- /dev/null +++ b/code/modules/unit_tests/gas_transfer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/gas_transfer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/gas_transfer.dm + +

+ + +
/datum/unit_test/atmospheric_gas_transferTest to make sure the pressure pumping proc used by things like portable pumps, pressure pumps, etc actually work.
+ + + diff --git a/code/modules/unit_tests/get_turf_pixel.html b/code/modules/unit_tests/get_turf_pixel.html new file mode 100644 index 00000000000..b67f16770e3 --- /dev/null +++ b/code/modules/unit_tests/get_turf_pixel.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/get_turf_pixel.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/get_turf_pixel.dm + +

+ + +
/datum/unit_test/get_turf_pixelensures that get_turf_pixel() returns turfs within the bounds of the map, +even when called on a movable with its sprite out of bounds
+ + + diff --git a/code/modules/unit_tests/geyser.html b/code/modules/unit_tests/geyser.html new file mode 100644 index 00000000000..3aa9a64962d --- /dev/null +++ b/code/modules/unit_tests/geyser.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/unit_tests/geyser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/geyser.dm + +

+ + +
/datum/unit_test/geyserGeysers listen to reagent signals to know when to start processing, which is very cool, smart, optimized and fragile +Tests: +Check for reagent datum +Check if our geyser starts with the right reagent +Check if our geyser refills (by clearing the reagents, setting refresh rate to max and manually firing the subsystem) +Check if our geyser refilled with the right reagent
+ + + diff --git a/code/modules/unit_tests/greyscale_config.html b/code/modules/unit_tests/greyscale_config.html new file mode 100644 index 00000000000..ec324fa5cf2 --- /dev/null +++ b/code/modules/unit_tests/greyscale_config.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/greyscale_config.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/greyscale_config.dm + +

+ + + +
/datum/unit_test/greyscale_item_icon_statesMakes sure items using GAGS have all the icon states needed to work
/datum/unit_test/greyscale_color_countMakes sure objects using greyscale configs have, if any, the correct number of colors
+ + + diff --git a/code/modules/unit_tests/hallucination_icons.html b/code/modules/unit_tests/hallucination_icons.html new file mode 100644 index 00000000000..d2444b58c41 --- /dev/null +++ b/code/modules/unit_tests/hallucination_icons.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/unit_tests/hallucination_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/hallucination_icons.dm + +

+ + +
/datum/unit_test/hallucination_iconsUnit tests various image related hallucinations +that their icon_states and icons still exist, +as often hallucinations are copy and pasted +implementations of existing image setups +that may be changed and not updated.
+ + + diff --git a/code/modules/unit_tests/high_five.html b/code/modules/unit_tests/high_five.html new file mode 100644 index 00000000000..4f9ab83e38d --- /dev/null +++ b/code/modules/unit_tests/high_five.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/high_five.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/high_five.dm + +

+ + +
/datum/unit_test/high_five_walk_awayTests someone offering a high five correctly stops offering when all takers walks away
+ + + diff --git a/code/modules/unit_tests/hulk.html b/code/modules/unit_tests/hulk.html new file mode 100644 index 00000000000..cb453e5bc09 --- /dev/null +++ b/code/modules/unit_tests/hulk.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/hulk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/hulk.dm + +

+ + + +
/datum/unit_test/hulk_attackTests hulk attacking over normal attacking
/datum/unit_test/hulk_north_starTests that hulks aren't given rapid attacks from rapid attack gloves
+ + + diff --git a/code/modules/unit_tests/human_through_recycler.html b/code/modules/unit_tests/human_through_recycler.html new file mode 100644 index 00000000000..d56227cc605 --- /dev/null +++ b/code/modules/unit_tests/human_through_recycler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/human_through_recycler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/human_through_recycler.dm + +

+ + +
/datum/unit_test/human_through_recyclerPuts a consistent assistant into an emagged recycler, and verifies that all intended behavior of an emagged recycler occurs (chewing up all the clothing, applying a level of melee damage, etc.)
+ + + diff --git a/code/modules/unit_tests/hunger_curse.html b/code/modules/unit_tests/hunger_curse.html new file mode 100644 index 00000000000..09d2f9572c7 --- /dev/null +++ b/code/modules/unit_tests/hunger_curse.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/hunger_curse.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/hunger_curse.dm + +

+ + +
/datum/unit_test/hunger_curseTests that the curse of hunger, from /datum/component/curse_of_hunger, +is properly added when equipped to the correct slot and removed when dropped / deleted
+ + + diff --git a/code/modules/unit_tests/hydroponics_extractor_storage.html b/code/modules/unit_tests/hydroponics_extractor_storage.html new file mode 100644 index 00000000000..8cddf8eb455 --- /dev/null +++ b/code/modules/unit_tests/hydroponics_extractor_storage.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/hydroponics_extractor_storage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/hydroponics_extractor_storage.dm + +

+ + +
/datum/unit_test/hydroponics_extractor_storageUnit test to ensure seeds can properly be added to the plant seed extractor through multiple methods. +This only tests transferring seeds to the storage, it does NOT test creating seeds.
+ + + diff --git a/code/modules/unit_tests/hydroponics_self_mutations.html b/code/modules/unit_tests/hydroponics_self_mutations.html new file mode 100644 index 00000000000..761c191fdf0 --- /dev/null +++ b/code/modules/unit_tests/hydroponics_self_mutations.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/hydroponics_self_mutations.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/hydroponics_self_mutations.dm + +

+ + +
/datum/unit_test/hydroponics_self_mutationUnit test to ensure plants can't self-mutate into themselves.
+ + + diff --git a/code/modules/unit_tests/hydroponics_validate_genes.html b/code/modules/unit_tests/hydroponics_validate_genes.html new file mode 100644 index 00000000000..47b7bc0013b --- /dev/null +++ b/code/modules/unit_tests/hydroponics_validate_genes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/hydroponics_validate_genes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/hydroponics_validate_genes.dm + +

+ + +
/datum/unit_test/hydroponics_validate_genesUnit test to ensure plants don't have multiple of a plant type at once by default.
+ + + diff --git a/code/modules/unit_tests/inhands.html b/code/modules/unit_tests/inhands.html new file mode 100644 index 00000000000..7f66776e6f6 --- /dev/null +++ b/code/modules/unit_tests/inhands.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/inhands.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/inhands.dm + +

+ + +
/datum/unit_test/defined_inhand_icon_statesMakes sure items with defined inhand_icon_states... actually have icons that exist!
+ + + diff --git a/code/modules/unit_tests/json_savefile_importing.html b/code/modules/unit_tests/json_savefile_importing.html new file mode 100644 index 00000000000..99e5d02b2c2 --- /dev/null +++ b/code/modules/unit_tests/json_savefile_importing.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/json_savefile_importing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/json_savefile_importing.dm + +

+ + +
/datum/unit_test/json_savefilesThe job of this unit test is to ensure that save files are correctly imported from BYOND to JSON. +It's a rather convoluted process and so this test ensures that something didn't fuck up somewhere.
+ + + diff --git a/code/modules/unit_tests/knockoff_component.html b/code/modules/unit_tests/knockoff_component.html new file mode 100644 index 00000000000..dec16243d3d --- /dev/null +++ b/code/modules/unit_tests/knockoff_component.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/knockoff_component.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/knockoff_component.dm + +

+ + +
/datum/unit_test/knockoff_componentTest that the knockoff component will properly cause something +with it applied to be knocked off when it should be.
+ + + diff --git a/code/modules/unit_tests/language_transfer.html b/code/modules/unit_tests/language_transfer.html new file mode 100644 index 00000000000..7c2e7a25ebc --- /dev/null +++ b/code/modules/unit_tests/language_transfer.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/unit_tests/language_transfer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/language_transfer.dm + +

+ + + + + + + + + +
/datum/unit_test/language_species_swap_simpleSimply tests that swapping to a new species gives you the languages of that species and removes the languages of the old species
/datum/unit_test/language_species_swap_complexTests species changes which are more complex are functional (e.g. from a species which speaks common to one which does not)
/datum/unit_test/language_species_change_other_knownTest that other random languages known are not lost on species change
/datum/unit_test/language_mind_transferTests that mind bound languages are not lost swapping into a new mob, but other languages are
/datum/unit_test/language_mind_swapTests that mind bound languages are not lost when swapping with another person (wiz mindswap)
/datum/unit_test/book_of_babelTests that the book of babel, and by extension grant_all_languages, works as intended
/proc/print_language_listHelper proc to print a list of languages in a human readable format
+ + + diff --git a/code/modules/unit_tests/leash.html b/code/modules/unit_tests/leash.html new file mode 100644 index 00000000000..20102c932b8 --- /dev/null +++ b/code/modules/unit_tests/leash.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/leash.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/leash.dm + +

+ + + + +
/datum/unit_test/leash/no_teleportValidates the leash component will keep its parent within range without teleporting +when possible.
/datum/unit_test/leash/will_teleportValidates that the leash component will forcibly teleport when necessary
/datum/unit_test/leash/limit_rangeValidates that the leashed object cannot move outside of the max distance from owner
+ + + diff --git a/code/modules/unit_tests/lesserform.html b/code/modules/unit_tests/lesserform.html new file mode 100644 index 00000000000..5bd16a7cd87 --- /dev/null +++ b/code/modules/unit_tests/lesserform.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/lesserform.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/lesserform.dm + +

+ + +
/datum/unit_test/lesserformUnit test to ensure that changelings can consistently turn from monkeys to humans and back
+ + + diff --git a/code/modules/unit_tests/limbsanity.html b/code/modules/unit_tests/limbsanity.html new file mode 100644 index 00000000000..512cc50b60c --- /dev/null +++ b/code/modules/unit_tests/limbsanity.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/limbsanity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/limbsanity.dm + +

+ + +
/datum/unit_test/limb_height_adjustmentremoves the abstract items. +Tests the height adjustment system which dynamically changes how much the chest, head, and arms of a carbon are adjusted upwards or downwards based on the length of their legs and chest.
+ + + diff --git a/code/modules/unit_tests/ling_decap.html b/code/modules/unit_tests/ling_decap.html new file mode 100644 index 00000000000..b2bef31ba97 --- /dev/null +++ b/code/modules/unit_tests/ling_decap.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/ling_decap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/ling_decap.dm + +

+ + + +
/datum/unit_test/ling_decapTest lings don't die when decapitated.
/datum/unit_test/normal_decapTests people get decapitated properly.
+ + + diff --git a/code/modules/unit_tests/load_map_security.html b/code/modules/unit_tests/load_map_security.html new file mode 100644 index 00000000000..a65c69dd9b6 --- /dev/null +++ b/code/modules/unit_tests/load_map_security.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/load_map_security.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/load_map_security.dm + +

+ + +
/datum/unit_test/load_map_securityTests to ensure we can load a map from a whitelisted directory (_maps), but not a non-whitelisted directory (i.e "fartyShitPants")
+ + + diff --git a/code/modules/unit_tests/lungs.html b/code/modules/unit_tests/lungs.html new file mode 100644 index 00000000000..8f60e22d71a --- /dev/null +++ b/code/modules/unit_tests/lungs.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/unit_tests/lungs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/lungs.dm + +

+ + + + +
/datum/unit_test/lungsTests the standard, plasmaman, and lavaland lungs organ to ensure breathing and suffocation behave as expected. +Performs a check on each main (can be life-sustaining) gas, and ensures gas alerts are only thrown when expected.
/datum/unit_test/lungs/lungs_sanity_plasmamanTests the Plasmaman lungs organ to ensure Plasma breathing and suffocation behave as expected.
/datum/unit_test/lungs/lungs_sanity_ashwalkerTests the lavaland/Ashwalker lungs organ. +Ensures they can breathe from the lavaland air mixture properly, and suffocate on inadequate mixture.
+ + + diff --git a/code/modules/unit_tests/mafia.html b/code/modules/unit_tests/mafia.html new file mode 100644 index 00000000000..4bafcacfb94 --- /dev/null +++ b/code/modules/unit_tests/mafia.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/mafia.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mafia.dm + +

+ + +
/datum/unit_test/mafiaChecks if a Mafia game with a Modular Computer and a Ghost will run with 'basic_setup', which is the default +way the game is ran, without admin-intervention. +The game should immediately end in a Town Victory due to lack of evils, but we can verify that both the PDA and the ghost +successfully managed to get into the round.
+ + + diff --git a/code/modules/unit_tests/map_landmarks.html b/code/modules/unit_tests/map_landmarks.html new file mode 100644 index 00000000000..f0227f1f73a --- /dev/null +++ b/code/modules/unit_tests/map_landmarks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/map_landmarks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/map_landmarks.dm + +

+ + +
/datum/unit_test/job_roundstart_spawnpointsTests that /datum/job/proc/get_default_roundstart_spawn_point returns a landmark from all joinable jobs.
+ + + diff --git a/code/modules/unit_tests/mapload_space_verification.html b/code/modules/unit_tests/mapload_space_verification.html new file mode 100644 index 00000000000..425011043f1 --- /dev/null +++ b/code/modules/unit_tests/mapload_space_verification.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/mapload_space_verification.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mapload_space_verification.dm + +

+ + +
/datum/unit_test/mapload_space_verificationVerifies that there are no space turfs inside a station area, or on any planetary z-level. Sometimes, these are introduced during the load of the map and are not present in the DMM itself. +Let's just make sure that we have a stop-gap measure in place to catch these if they pop up so we don't put it onto production servers should something errant come up.
+ + + diff --git a/code/modules/unit_tests/mapping.html b/code/modules/unit_tests/mapping.html new file mode 100644 index 00000000000..b01ba0f6980 --- /dev/null +++ b/code/modules/unit_tests/mapping.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/mapping.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mapping.dm + +

+ + +
/datum/unit_test/log_mappingConveys all log_mapping messages as unit test failures, as they all indicate mapping problems.
+ + + diff --git a/code/modules/unit_tests/mecha_damage.html b/code/modules/unit_tests/mecha_damage.html new file mode 100644 index 00000000000..734985a6707 --- /dev/null +++ b/code/modules/unit_tests/mecha_damage.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/mecha_damage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mecha_damage.dm + +

+ + +
/datum/unit_test/mecha_damageUnit test to ensure that mechs take the correct amount of damage +based on armor, and that their equipment is properly damaged as well.
+ + + diff --git a/code/modules/unit_tests/mindbound_actions.html b/code/modules/unit_tests/mindbound_actions.html new file mode 100644 index 00000000000..b43a2e67f8c --- /dev/null +++ b/code/modules/unit_tests/mindbound_actions.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/mindbound_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mindbound_actions.dm + +

+ + +
/datum/unit_test/actions_moved_on_mind_transferTests that actions assigned to a mob's mind +are successfuly transferred when their mind is transferred to a new mob.
+ + + diff --git a/code/modules/unit_tests/missing_icons.html b/code/modules/unit_tests/missing_icons.html new file mode 100644 index 00000000000..8823595ad0b --- /dev/null +++ b/code/modules/unit_tests/missing_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/missing_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/missing_icons.dm + +

+ + +
/datum/unit_test/missing_iconsMakes sure objects actually have icons that exist!
+ + + diff --git a/code/modules/unit_tests/mob_chains.html b/code/modules/unit_tests/mob_chains.html new file mode 100644 index 00000000000..41a0aadf6f1 --- /dev/null +++ b/code/modules/unit_tests/mob_chains.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/mob_chains.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mob_chains.dm + +

+ + +
/datum/unit_test/mob_chainsChecks if mobs who are linked together with the mob chain component react as expected
+ + + diff --git a/code/modules/unit_tests/mob_damage.html b/code/modules/unit_tests/mob_damage.html new file mode 100644 index 00000000000..45834410462 --- /dev/null +++ b/code/modules/unit_tests/mob_damage.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/mob_damage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mob_damage.dm + +

+ + + +
/datum/unit_test/mob_damageTests to make sure mob damage procs are working correctly
/datum/unit_test/mob_damage/basicTests that mob damage procs are working as intended for basic mobs
+ + + diff --git a/code/modules/unit_tests/mob_faction.html b/code/modules/unit_tests/mob_faction.html new file mode 100644 index 00000000000..14d2a8b2257 --- /dev/null +++ b/code/modules/unit_tests/mob_faction.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/mob_faction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mob_faction.dm + +

+ + +
/datum/unit_test/mob_factionChecks if any mob's faction var initial value is not a list, which is not supported by the current code
+ + + diff --git a/code/modules/unit_tests/mob_spawn.html b/code/modules/unit_tests/mob_spawn.html new file mode 100644 index 00000000000..bf0954dba44 --- /dev/null +++ b/code/modules/unit_tests/mob_spawn.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/mob_spawn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mob_spawn.dm + +

+ + +
/datum/unit_test/mob_spawnRight now taken from create_and_destroy +Verifies that all glands for an egg are valid
+ + + diff --git a/code/modules/unit_tests/modsuit.html b/code/modules/unit_tests/modsuit.html new file mode 100644 index 00000000000..c159ed1c090 --- /dev/null +++ b/code/modules/unit_tests/modsuit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/modsuit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/modsuit.dm + +

+ + +
/datum/unit_test/modsuit_checksChecks all pre-equipped MODsuit paths to see if they have something set wrong.
+ + + diff --git a/code/modules/unit_tests/monkey_business.html b/code/modules/unit_tests/monkey_business.html new file mode 100644 index 00000000000..1b74ffcf899 --- /dev/null +++ b/code/modules/unit_tests/monkey_business.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/monkey_business.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/monkey_business.dm + +

+ + +
/datum/unit_test/monkey_businessMonkey Business
+ + + diff --git a/code/modules/unit_tests/mouse_bite_cable.html b/code/modules/unit_tests/mouse_bite_cable.html new file mode 100644 index 00000000000..42a832b7c0d --- /dev/null +++ b/code/modules/unit_tests/mouse_bite_cable.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/mouse_bite_cable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mouse_bite_cable.dm + +

+ + + + + +
/datum/unit_test/mouse_bite_cableUnit Test to ensure that a mouse bites a cable, gets shocked, and dies.
/mob/living/basic/mouse/cable_loverDummy mouse that is guaranteed to die when biting shocked cables.
/datum/ai_controller/basic_controller/mouse/guaranteed_to_biteDummy mouse's ai controller that is guaranteed to find and bite a cable beneath it
/datum/ai_planning_subtree/find_and_hunt_target/look_for_cables/guaranteedCable hunting subtree that's guarantee to hunt its target.
+ + + diff --git a/code/modules/unit_tests/mutant_hands_consistency.html b/code/modules/unit_tests/mutant_hands_consistency.html new file mode 100644 index 00000000000..a21d4b76d8d --- /dev/null +++ b/code/modules/unit_tests/mutant_hands_consistency.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/mutant_hands_consistency.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mutant_hands_consistency.dm + +

+ + + + +
/datum/unit_test/mutant_handsTest: Mutant hands component
/datum/unit_test/mutant_hands_with_nodropTest: Mutant hands component with a nodrop item in place
/datum/unit_test/mutant_hands_carryTest: Mutant hands fireman carrying
+ + + diff --git a/code/modules/unit_tests/mutant_organs.html b/code/modules/unit_tests/mutant_organs.html new file mode 100644 index 00000000000..35cc6366e6f --- /dev/null +++ b/code/modules/unit_tests/mutant_organs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/mutant_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/mutant_organs.dm + +

+ + +
/datum/unit_test/mutant_organsIterates over all species to ensure that organs are valid after being set to a mutant species.
+ + + diff --git a/code/modules/unit_tests/novaflower_burn.html b/code/modules/unit_tests/novaflower_burn.html new file mode 100644 index 00000000000..fb9413ce7a0 --- /dev/null +++ b/code/modules/unit_tests/novaflower_burn.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/novaflower_burn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/novaflower_burn.dm + +

+ + +
/datum/unit_test/novaflower_burnUnit tests that the novaflower's unique genes function.
+ + + diff --git a/code/modules/unit_tests/nuke_cinematic.html b/code/modules/unit_tests/nuke_cinematic.html new file mode 100644 index 00000000000..04b8baf0c51 --- /dev/null +++ b/code/modules/unit_tests/nuke_cinematic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/nuke_cinematic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/nuke_cinematic.dm + +

+ + +
/datum/unit_test/nuke_cinematicUnit tests that a nuke going off plays a cinematic, +and that it actually kills people.
+ + + diff --git a/code/modules/unit_tests/operating_table.html b/code/modules/unit_tests/operating_table.html new file mode 100644 index 00000000000..9051c90da3f --- /dev/null +++ b/code/modules/unit_tests/operating_table.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/operating_table.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/operating_table.dm + +

+ + +
/datum/unit_test/operating_tableMake a mob hop on an optable, rest, get up, rest again, and then move to another tile. +While the mob is still an active patient, move another mob in too. +This is so the replacement code can kick in when the original mob is no longer valid.
+ + + diff --git a/code/modules/unit_tests/orderable_items.html b/code/modules/unit_tests/orderable_items.html new file mode 100644 index 00000000000..25b66e211d5 --- /dev/null +++ b/code/modules/unit_tests/orderable_items.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/orderable_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/orderable_items.dm + +

+ + +
/datum/unit_test/orderable_itemsMakes sure that no orderable items have dynamic descriptions, if they +don't explicitly set a description. +Also makes sure 2 orderable items don't sell the same thing.
+ + + diff --git a/code/modules/unit_tests/organ_bodypart_shuffle.html b/code/modules/unit_tests/organ_bodypart_shuffle.html new file mode 100644 index 00000000000..463f4e16f97 --- /dev/null +++ b/code/modules/unit_tests/organ_bodypart_shuffle.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/organ_bodypart_shuffle.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/organ_bodypart_shuffle.dm + +

+ + +
/datum/unit_test/organ_bodypart_shuffleMoves organs in and out of bodyparts, and moves the bodyparts around to see if someone didn't fuck up their movement
+ + + diff --git a/code/modules/unit_tests/organ_set_bonus.html b/code/modules/unit_tests/organ_set_bonus.html new file mode 100644 index 00000000000..04eb17d1a81 --- /dev/null +++ b/code/modules/unit_tests/organ_set_bonus.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/unit_tests/organ_set_bonus.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/organ_set_bonus.dm + +

+ + + +
/datum/unit_test/organ_set_bonus_idChecks that all "organ_set_bonus" status effects have unique "id" vars. +Required to ensure that the status effects are treated as "unique".
/datum/unit_test/organ_set_bonus_sanityChecks that all implantable DNA Infuser organs are set up correctly and without error. +Tests the "organ set bonus" Elements and Status Effects, which are for the DNA Infuser. +This test ensures that the "organ_set_bonus" status effects activate and deactivate when expected.
+ + + diff --git a/code/modules/unit_tests/organs.html b/code/modules/unit_tests/organs.html new file mode 100644 index 00000000000..e317c3f01a7 --- /dev/null +++ b/code/modules/unit_tests/organs.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/unit_tests/organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/organs.dm + +

+ + + +
/datum/unit_test/organ_sanityList of infuser_entry typepaths which contain species-changing organs. +Species change swaps out all the organs, making test_organ un-usable after insertion. +Check organ insertion and removal, for all organ subtypes usable in-game. +Ensures algorithmic correctness of the "Insert()" and "Remove()" procs. +This test is especially useful because developers frequently override those.
/datum/unit_test/organ_damageTests organ damage cap. +Organ damage should never bypass the cap. +Every internal organ is tested.
+ + + diff --git a/code/modules/unit_tests/outfit_sanity.html b/code/modules/unit_tests/outfit_sanity.html new file mode 100644 index 00000000000..bd212765f05 --- /dev/null +++ b/code/modules/unit_tests/outfit_sanity.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/outfit_sanity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/outfit_sanity.dm + +

+ + + + + +
/datum/outfit/stacks_in_handsSee #66313 and #60901. outfit_sanity used to runtime whenever you had two mergable sheets in either hand. Previously, this only had a 3% chance of occuring. Now 100%.
/datum/outfit/duffel_useroutfit_sanity needs to cover insertions into duffelbags
/datum/outfit/stachel_userSatchels too
/datum/outfit/backpack_userAnd just in case we'll check backpacks
+ + + diff --git a/code/modules/unit_tests/oxyloss_suffocation.html b/code/modules/unit_tests/oxyloss_suffocation.html new file mode 100644 index 00000000000..8e604990493 --- /dev/null +++ b/code/modules/unit_tests/oxyloss_suffocation.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/oxyloss_suffocation.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/oxyloss_suffocation.dm + +

+ + +
/datum/unit_test/oxyloss_suffocationTest getting over a certain threshold of oxy damage results in KO
+ + + diff --git a/code/modules/unit_tests/paintings.html b/code/modules/unit_tests/paintings.html new file mode 100644 index 00000000000..bf1703a0ae9 --- /dev/null +++ b/code/modules/unit_tests/paintings.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/paintings.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/paintings.dm + +

+ + +
/datum/unit_test/paintingsChecks that all kind of painting frames have a sprite for each canvas type in the game.
+ + + diff --git a/code/modules/unit_tests/plane_double_transform.html b/code/modules/unit_tests/plane_double_transform.html new file mode 100644 index 00000000000..b606723a194 --- /dev/null +++ b/code/modules/unit_tests/plane_double_transform.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/plane_double_transform.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/plane_double_transform.dm + +

+ + +
/datum/unit_test/plane_double_transformEnsures plane masters that get shrunk by multiz NEVER render into each other
+ + + diff --git a/code/modules/unit_tests/plane_dupe_detector.html b/code/modules/unit_tests/plane_dupe_detector.html new file mode 100644 index 00000000000..3f41c7f1431 --- /dev/null +++ b/code/modules/unit_tests/plane_dupe_detector.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/plane_dupe_detector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/plane_dupe_detector.dm + +

+ + +
/datum/unit_test/plane_dupe_detectorChecks if we don't have two planes on the same layer
+ + + diff --git a/code/modules/unit_tests/preference_species.html b/code/modules/unit_tests/preference_species.html new file mode 100644 index 00000000000..9d9fd783af6 --- /dev/null +++ b/code/modules/unit_tests/preference_species.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/preference_species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/preference_species.dm + +

+ + +
/datum/unit_test/preference_speciesChecks that all enabled roundstart species +selectable within the preferences menu +have their info / page setup correctly.
+ + + diff --git a/code/modules/unit_tests/preferences.html b/code/modules/unit_tests/preferences.html new file mode 100644 index 00000000000..1d154eb32b3 --- /dev/null +++ b/code/modules/unit_tests/preferences.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/unit_tests/preferences.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/preferences.dm + +

+ + + + + +
/datum/unit_test/preferences_implement_everythingRequires all preferences to implement required methods.
/datum/unit_test/preferences_valid_savefile_keyRequires all preferences to have a valid, unique savefile_identifier.
/datum/unit_test/preferences_valid_main_feature_nameRequires all main features have a main_feature_name
/datum/unit_test/preferences_should_generate_icons_sanityValidates that every choiced preference with should_generate_icons implements icon_for, +and that every one that doesn't, doesn't.
+ + + diff --git a/code/modules/unit_tests/projectiles.html b/code/modules/unit_tests/projectiles.html new file mode 100644 index 00000000000..bf2496c2e1d --- /dev/null +++ b/code/modules/unit_tests/projectiles.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/projectiles.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/projectiles.dm + +

+ + + +
/datum/unit_test/projectile_movetypesTests all projectiles that none of them are phasing.
/datum/unit_test/gun_go_bangShoots a victim with a gun to ensure the gun properly loads and the victim take the correct amount of damage.
+ + + diff --git a/code/modules/unit_tests/quirks.html b/code/modules/unit_tests/quirks.html new file mode 100644 index 00000000000..1b44ca3b705 --- /dev/null +++ b/code/modules/unit_tests/quirks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/quirks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/quirks.dm + +

+ + +
/datum/unit_test/quirk_iconsEnsure every quirk has a unique icon
+ + + diff --git a/code/modules/unit_tests/range_return.html b/code/modules/unit_tests/range_return.html new file mode 100644 index 00000000000..bb5d70e368d --- /dev/null +++ b/code/modules/unit_tests/range_return.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/range_return.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/range_return.dm + +

+ + +
/datum/unit_test/range_returnThis tests for an unspecified bit of behavior we rely on in energy_ball.dm code +Essentially, as of the current byond version, range and view will return turfs in what looks "roughly" like a circle +So we can be guarenteed that if we find a turf, it will be the closest turf of that sort, or at least one of them +This code tests for that. If this ever fails, remove the logic fron energy_ball.dm, and test if spiral_turfs would be faster
+ + + diff --git a/code/modules/unit_tests/reagent_container_defaults.html b/code/modules/unit_tests/reagent_container_defaults.html new file mode 100644 index 00000000000..c2886d492b0 --- /dev/null +++ b/code/modules/unit_tests/reagent_container_defaults.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/reagent_container_defaults.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/reagent_container_defaults.dm + +

+ + +
/datum/unit_test/reagent_container_defaultsChecks if reagent container transfer amount defaults match with actual possible values
+ + + diff --git a/code/modules/unit_tests/reagent_names.html b/code/modules/unit_tests/reagent_names.html new file mode 100644 index 00000000000..203ab5fd591 --- /dev/null +++ b/code/modules/unit_tests/reagent_names.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/reagent_names.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/reagent_names.dm + +

+ + +
/datum/unit_test/reagent_namesTest that all reagent names are different in order to prevent #65231 and tests that searching for that reagent by name gives the correct one
+ + + diff --git a/code/modules/unit_tests/reagent_transfer.html b/code/modules/unit_tests/reagent_transfer.html new file mode 100644 index 00000000000..46faeff67e2 --- /dev/null +++ b/code/modules/unit_tests/reagent_transfer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/reagent_transfer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/reagent_transfer.dm + +

+ + +
/datum/unit_test/reagent_transferTests transferring reagents between two reagents datums.
+ + + diff --git a/code/modules/unit_tests/required_map_items.html b/code/modules/unit_tests/required_map_items.html new file mode 100644 index 00000000000..e2d4369e005 --- /dev/null +++ b/code/modules/unit_tests/required_map_items.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/required_map_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/required_map_items.dm + +

+ + + +
/datum/unit_test/required_map_itemsTests that all expected items are mapped in roundstart.
/datum/required_itemDatum for tracking required map items
+ + + diff --git a/code/modules/unit_tests/say.html b/code/modules/unit_tests/say.html new file mode 100644 index 00000000000..82c7cf0bff8 --- /dev/null +++ b/code/modules/unit_tests/say.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/say.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/say.dm + +

+ + + + + +
/datum/unit_test/get_message_modsTest to verify message mods are parsed correctly
/datum/unit_test/say_signalTest to verify COMSIG_MOB_SAY is sent the exact same list as the message args, as they're operated on
/datum/unit_test/translate_languageThis unit test translates a string from one language to another depending on if the person can understand the language
/datum/unit_test/speechThis runs some simple speech tests on a speaker and listener and determines if a person can hear whispering or speaking as they are moved a distance away
+ + + diff --git a/code/modules/unit_tests/screenshot_antag_icons.html b/code/modules/unit_tests/screenshot_antag_icons.html new file mode 100644 index 00000000000..61e18cad7e4 --- /dev/null +++ b/code/modules/unit_tests/screenshot_antag_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_antag_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_antag_icons.dm + +

+ + +
/datum/unit_test/screenshot_antag_iconsA screenshot test to make sure every antag icon in the preferences menu is consistent
+ + + diff --git a/code/modules/unit_tests/screenshot_basic.html b/code/modules/unit_tests/screenshot_basic.html new file mode 100644 index 00000000000..93f3f5f9721 --- /dev/null +++ b/code/modules/unit_tests/screenshot_basic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/screenshot_basic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_basic.dm + +

+ + +
/datum/unit_test/screenshot_basicThis is an example for screenshot tests, and a meta-test to make sure they work in the success case. +It creates a picture that is red on the left side, green on the other.
+ + + diff --git a/code/modules/unit_tests/screenshot_dynamic_human_icons.html b/code/modules/unit_tests/screenshot_dynamic_human_icons.html new file mode 100644 index 00000000000..f7cf03c538a --- /dev/null +++ b/code/modules/unit_tests/screenshot_dynamic_human_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_dynamic_human_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_dynamic_human_icons.dm + +

+ + +
/datum/unit_test/screenshot_dynamic_human_iconsA screenshot test for specific dynamic human icons
+ + + diff --git a/code/modules/unit_tests/screenshot_high_luminosity_eyes.html b/code/modules/unit_tests/screenshot_high_luminosity_eyes.html new file mode 100644 index 00000000000..e03a7f927c1 --- /dev/null +++ b/code/modules/unit_tests/screenshot_high_luminosity_eyes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_high_luminosity_eyes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_high_luminosity_eyes.dm + +

+ + +
/datum/unit_test/screenshot_high_luminosity_eyesTests to make sure no punks have broken high luminosity eyes
+ + + diff --git a/code/modules/unit_tests/screenshot_humanoids.html b/code/modules/unit_tests/screenshot_humanoids.html new file mode 100644 index 00000000000..4fff0698d2b --- /dev/null +++ b/code/modules/unit_tests/screenshot_humanoids.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_humanoids.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_humanoids.dm + +

+ + +
/datum/unit_test/screenshot_humanoidsA screenshot test for every humanoid species with a handful of jobs.
+ + + diff --git a/code/modules/unit_tests/screenshot_husk.html b/code/modules/unit_tests/screenshot_husk.html new file mode 100644 index 00000000000..dca4cc32df1 --- /dev/null +++ b/code/modules/unit_tests/screenshot_husk.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_husk.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_husk.dm + +

+ + +
/datum/unit_test/screenshot_huskA screenshot test for husks
+ + + diff --git a/code/modules/unit_tests/screenshot_saturnx.html b/code/modules/unit_tests/screenshot_saturnx.html new file mode 100644 index 00000000000..0e27b246bf2 --- /dev/null +++ b/code/modules/unit_tests/screenshot_saturnx.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/screenshot_saturnx.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshot_saturnx.dm + +

+ + +
/datum/unit_test/screenshot_saturnxA screenshot test for making sure invisible limbs function, keeping them clothed so we know they're there.
+ + + diff --git a/code/modules/unit_tests/screenshots.html b/code/modules/unit_tests/screenshots.html new file mode 100644 index 00000000000..66fc9da48c0 --- /dev/null +++ b/code/modules/unit_tests/screenshots.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/unit_tests/screenshots/README.md - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/screenshots/README.md + +

+ + +

This folder contains the results for screenshot tests. Screenshot tests make sure an icon looks the same as it did before a change to prevent regressions.

+

You can create one by simply using the test_screenshot proc.

+

This example test screenshots a red image and keeps it.

+
/// This is an example for screenshot tests, and a meta-test to make sure they work in the success case.
+/// It creates a picture that is red on the left side, green on the other.
+/datum/unit_test/screenshot_basic
+
+/datum/unit_test/screenshot_basic/Run()
+	var/icon/red = icon('icons/blanks/32x32.dmi', "nothing")
+	red.Blend(COLOR_RED, ICON_OVERLAY)
+	test_screenshot("red", red)
+
+

Unfortunately, screenshot tests are sanest to test through a pull request directly, due to limitations with both DM and GitHub.

+ + + diff --git a/code/modules/unit_tests/security_levels.html b/code/modules/unit_tests/security_levels.html new file mode 100644 index 00000000000..49c340e109d --- /dev/null +++ b/code/modules/unit_tests/security_levels.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/security_levels.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/security_levels.dm + +

+ + +
/datum/unit_test/security_levelsSecurity Level Unit Test
+ + + diff --git a/code/modules/unit_tests/security_officer_distribution.html b/code/modules/unit_tests/security_officer_distribution.html new file mode 100644 index 00000000000..dab5842cf9e --- /dev/null +++ b/code/modules/unit_tests/security_officer_distribution.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/security_officer_distribution.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/security_officer_distribution.dm + +

+ + + +
/datum/unit_test/security_officer_roundstart_distributionTest that security officers with specific distributions get their departments.
/datum/unit_test/security_officer_latejoin_distributionTest that latejoin security officers are put into the correct department
+ + + diff --git a/code/modules/unit_tests/simple_animal_freeze.html b/code/modules/unit_tests/simple_animal_freeze.html new file mode 100644 index 00000000000..789233b0a0c --- /dev/null +++ b/code/modules/unit_tests/simple_animal_freeze.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/simple_animal_freeze.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/simple_animal_freeze.dm + +

+ + +
/datum/unit_test/simple_animal_freezeTests that no new simple_animal subtypes are added.
+ + + diff --git a/code/modules/unit_tests/slime_mood.html b/code/modules/unit_tests/slime_mood.html new file mode 100644 index 00000000000..f091c6ffa07 --- /dev/null +++ b/code/modules/unit_tests/slime_mood.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/slime_mood.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/slime_mood.dm + +

+ + +
/datum/unit_test/slime_moodUnit test that tests all types of moods for slimes, to make sure they all have proper icons, excluding moods that intentionally don't have an icon.
+ + + diff --git a/code/modules/unit_tests/slips.html b/code/modules/unit_tests/slips.html new file mode 100644 index 00000000000..8771aa8e67c --- /dev/null +++ b/code/modules/unit_tests/slips.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/slips.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/slips.dm + +

+ + +
/datum/unit_test/slipsUnit test that forces various slips on a mob and checks return values and mob state to see if the slip has likely been successful.
+ + + diff --git a/code/modules/unit_tests/spawn_humans.html b/code/modules/unit_tests/spawn_humans.html new file mode 100644 index 00000000000..4806de4d54e --- /dev/null +++ b/code/modules/unit_tests/spawn_humans.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spawn_humans.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spawn_humans.dm + +

+ + +
/datum/unit_test/human_default_traitsTests /mob/living/carbon/human/proc/setup_organless_effects, specifically that they aren't applied when init is done
+ + + diff --git a/code/modules/unit_tests/spawn_mobs.html b/code/modules/unit_tests/spawn_mobs.html new file mode 100644 index 00000000000..e2229017622 --- /dev/null +++ b/code/modules/unit_tests/spawn_mobs.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spawn_mobs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spawn_mobs.dm + +

+ + +
/datum/unit_test/spawn_mobsUnit test that spawns all mobs that can be spawned by golden slimes
+ + + diff --git a/code/modules/unit_tests/species_change_clothing.html b/code/modules/unit_tests/species_change_clothing.html new file mode 100644 index 00000000000..0829f318a13 --- /dev/null +++ b/code/modules/unit_tests/species_change_clothing.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/species_change_clothing.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/species_change_clothing.dm + +

+ + + +
/datum/unit_test/species_change_clothingGives a Human lizard-incompatible shoes, then changes their species over to see if they drop the now incompatible shoes, testing if Digitigrade feet works. +Gives a Monkey a collar, then changes their species to Human to see if item's restrictions works on species change.
/datum/unit_test/species_change_held_itemsGives a Human items in both hands, then swaps them to be another species. Held items should remain.
+ + + diff --git a/code/modules/unit_tests/species_change_organs.html b/code/modules/unit_tests/species_change_organs.html new file mode 100644 index 00000000000..cb7045628a6 --- /dev/null +++ b/code/modules/unit_tests/species_change_organs.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/species_change_organs.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/species_change_organs.dm + +

+ + +
/datum/unit_test/species_change_organsUnit test to ensure that, when a mob changes species, +certain aspects are carried over between their old and new set of organs +(brain traumas, cybernetics, and organ damage)
+ + + diff --git a/code/modules/unit_tests/species_unique_id.html b/code/modules/unit_tests/species_unique_id.html new file mode 100644 index 00000000000..276401e3b94 --- /dev/null +++ b/code/modules/unit_tests/species_unique_id.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/species_unique_id.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/species_unique_id.dm + +

+ + +
/datum/unit_test/species_unique_idEvery species should use a species ID unique to it and it alone. This test runs through every subtype of /datum/species, and checks for a species ID. +Every ID is written to a list, gathered_species_ids, and if a previously written ID is written again, this test will fail.
+ + + diff --git a/code/modules/unit_tests/spell_invocations.html b/code/modules/unit_tests/spell_invocations.html new file mode 100644 index 00000000000..5b34ed1a971 --- /dev/null +++ b/code/modules/unit_tests/spell_invocations.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/spell_invocations.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spell_invocations.dm + +

+ + +
/datum/unit_test/spell_invocationsValidates that all spells have a correct +invocation type and invocation setup.
+ + + diff --git a/code/modules/unit_tests/spell_jaunt.html b/code/modules/unit_tests/spell_jaunt.html new file mode 100644 index 00000000000..a4e43d95927 --- /dev/null +++ b/code/modules/unit_tests/spell_jaunt.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spell_jaunt.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spell_jaunt.dm + +

+ + +
/datum/unit_test/shadow_jauntTests Shadow Walk can be entered and exited
+ + + diff --git a/code/modules/unit_tests/spell_mindswap.html b/code/modules/unit_tests/spell_mindswap.html new file mode 100644 index 00000000000..ad8c5a3757b --- /dev/null +++ b/code/modules/unit_tests/spell_mindswap.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/spell_mindswap.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spell_mindswap.dm + +

+ + +
/datum/unit_test/mind_swap_spellValidates that the mind swap spell +properly transfers minds between a caster and a target.
+ + + diff --git a/code/modules/unit_tests/spell_names.html b/code/modules/unit_tests/spell_names.html new file mode 100644 index 00000000000..cf471989ba2 --- /dev/null +++ b/code/modules/unit_tests/spell_names.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spell_names.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spell_names.dm + +

+ + +
/datum/unit_test/spell_namesValidates that all spells have a different name.
+ + + diff --git a/code/modules/unit_tests/spell_shapeshift.html b/code/modules/unit_tests/spell_shapeshift.html new file mode 100644 index 00000000000..79f6f8398b4 --- /dev/null +++ b/code/modules/unit_tests/spell_shapeshift.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/unit_tests/spell_shapeshift.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spell_shapeshift.dm + +

+ + + + + +
/datum/unit_test/shapeshift_spell_validityValidates that all shapeshift type spells have a valid possible_shapes setup.
/datum/unit_test/shapeshift_spellValidates that shapeshift spells put the mob in another mob, as they should.
/datum/unit_test/shapeshift_holoparasitesValidates that shapeshifts function properly with holoparasites.
/datum/unit_test/shapeshift_healthValidates that shapeshifting carries health or death between forms properly, if it is supposed to
+ + + diff --git a/code/modules/unit_tests/spritesheets.html b/code/modules/unit_tests/spritesheets.html new file mode 100644 index 00000000000..03b01f122e2 --- /dev/null +++ b/code/modules/unit_tests/spritesheets.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/spritesheets.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/spritesheets.dm + +

+ + +
/datum/unit_test/spritesheetsChecks if spritesheet assets contain icon states with invalid names
+ + + diff --git a/code/modules/unit_tests/stack_singular_name.html b/code/modules/unit_tests/stack_singular_name.html new file mode 100644 index 00000000000..e049cf33948 --- /dev/null +++ b/code/modules/unit_tests/stack_singular_name.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/unit_tests/stack_singular_name.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/stack_singular_name.dm + +

+ + +
/datum/unit_test/stack_singular_nameGoes through every subtype of /obj/item/stack to check for a singular name, var/singular_name. +Everything within the blacklist does not need to be tested because it exists to be overriden. +This test will fail if a subtype of /obj/item/stack is missing a singular name.
+ + + diff --git a/code/modules/unit_tests/station_trait_tests.html b/code/modules/unit_tests/station_trait_tests.html new file mode 100644 index 00000000000..d1d8d1159e0 --- /dev/null +++ b/code/modules/unit_tests/station_trait_tests.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/station_trait_tests.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/station_trait_tests.dm + +

+ + +
/datum/unit_test/station_traitsThis test spawns various station traits and looks through them to see if there's any errors.
+ + + diff --git a/code/modules/unit_tests/status_effect_ticks.html b/code/modules/unit_tests/status_effect_ticks.html new file mode 100644 index 00000000000..e25c5c8e6cf --- /dev/null +++ b/code/modules/unit_tests/status_effect_ticks.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/status_effect_ticks.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/status_effect_ticks.dm + +

+ + +
/datum/unit_test/status_effect_ticksValidates status effect tick interval setup
+ + + diff --git a/code/modules/unit_tests/strange_reagent.html b/code/modules/unit_tests/strange_reagent.html new file mode 100644 index 00000000000..62c2537afc9 --- /dev/null +++ b/code/modules/unit_tests/strange_reagent.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/strange_reagent.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/strange_reagent.dm + +

+ + +
/datum/unit_test/strange_reagentChecks to ensure strange reagent works as expected
+ + + diff --git a/code/modules/unit_tests/stuns.html b/code/modules/unit_tests/stuns.html new file mode 100644 index 00000000000..377903e7589 --- /dev/null +++ b/code/modules/unit_tests/stuns.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/unit_tests/stuns.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/stuns.dm + +

+ + + + + + +
/datum/unit_test/stunTests stun and the canstun flag
/datum/unit_test/knockdownTests knockdown and the canknockdown flag
/datum/unit_test/paralyzeTests paralyze and stuns that have two flags checked (in this case, canstun and canknockdown)
/datum/unit_test/unconsciousnessTests unconsciousness and the canunconscious flag
/datum/unit_test/stun_absorbTests for stun absorption
+ + + diff --git a/code/modules/unit_tests/subsystem_init.html b/code/modules/unit_tests/subsystem_init.html new file mode 100644 index 00000000000..da5f1cddf59 --- /dev/null +++ b/code/modules/unit_tests/subsystem_init.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/subsystem_init.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/subsystem_init.dm + +

+ + +
/datum/unit_test/subsystem_initTests that all subsystems that need to properly initialize.
+ + + diff --git a/code/modules/unit_tests/suit_storage_icons.html b/code/modules/unit_tests/suit_storage_icons.html new file mode 100644 index 00000000000..5a456708ae7 --- /dev/null +++ b/code/modules/unit_tests/suit_storage_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/suit_storage_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/suit_storage_icons.dm + +

+ + +
/datum/unit_test/suit_storage_iconsMakes sure suit slot items aren't using CS:S fallbacks.
+ + + diff --git a/code/modules/unit_tests/surgeries.html b/code/modules/unit_tests/surgeries.html new file mode 100644 index 00000000000..b141c45ccf7 --- /dev/null +++ b/code/modules/unit_tests/surgeries.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/surgeries.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/surgeries.dm + +

+ + +
/datum/unit_test/start_tend_woundsEnsures that the tend wounds surgery can be started
+ + + diff --git a/code/modules/unit_tests/tail_wag.html b/code/modules/unit_tests/tail_wag.html new file mode 100644 index 00000000000..dce5ffa0b54 --- /dev/null +++ b/code/modules/unit_tests/tail_wag.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/tail_wag.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/tail_wag.dm + +

+ + +
/datum/unit_test/tail_wagTests to make sure tail wagging behaves as expected
+ + + diff --git a/code/modules/unit_tests/tgui_create_message.html b/code/modules/unit_tests/tgui_create_message.html new file mode 100644 index 00000000000..7fdb1b5eedf --- /dev/null +++ b/code/modules/unit_tests/tgui_create_message.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/tgui_create_message.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/tgui_create_message.dm + +

+ + +
/datum/unit_test/tgui_create_messageTest that TGUI_CREATE_MESSAGE is correctly implemented
+ + + diff --git a/code/modules/unit_tests/trait_addition_and_removal.html b/code/modules/unit_tests/trait_addition_and_removal.html new file mode 100644 index 00000000000..d0a2d00e0d9 --- /dev/null +++ b/code/modules/unit_tests/trait_addition_and_removal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/trait_addition_and_removal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/trait_addition_and_removal.dm + +

+ + +
/datum/unit_test/trait_addition_and_removalSimple Unit Test to ensure multiple methods of adding/removing a trait work as intended.
+ + + diff --git a/code/modules/unit_tests/traitor_mail_content_check.html b/code/modules/unit_tests/traitor_mail_content_check.html new file mode 100644 index 00000000000..c1c98b88da6 --- /dev/null +++ b/code/modules/unit_tests/traitor_mail_content_check.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/traitor_mail_content_check.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/traitor_mail_content_check.dm + +

+ + +
/datum/unit_test/traitor_mail_content_checkMakes sure that fake mail doesn't get random goods.
+ + + diff --git a/code/modules/unit_tests/trauma_granting.html b/code/modules/unit_tests/trauma_granting.html new file mode 100644 index 00000000000..01491a3a271 --- /dev/null +++ b/code/modules/unit_tests/trauma_granting.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/trauma_granting.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/trauma_granting.dm + +

+ + +
/datum/unit_test/trauma_grantingTests that brain traumas can be granted and removed properly.
+ + + diff --git a/code/modules/unit_tests/turf_icons.html b/code/modules/unit_tests/turf_icons.html new file mode 100644 index 00000000000..1fe6ba03fd1 --- /dev/null +++ b/code/modules/unit_tests/turf_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/turf_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/turf_icons.dm + +

+ + +
/datum/unit_test/turf_iconsMakes sure turf icons actually exist. :)
+ + + diff --git a/code/modules/unit_tests/tutorial_sanity.html b/code/modules/unit_tests/tutorial_sanity.html new file mode 100644 index 00000000000..e298e7eba0b --- /dev/null +++ b/code/modules/unit_tests/tutorial_sanity.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/tutorial_sanity.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/tutorial_sanity.dm + +

+ + +
/datum/unit_test/tutorial_sanityVerifies that every tutorial has properly set variables
+ + + diff --git a/code/modules/unit_tests/verify_config_tags.html b/code/modules/unit_tests/verify_config_tags.html new file mode 100644 index 00000000000..45b5201310c --- /dev/null +++ b/code/modules/unit_tests/verify_config_tags.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/verify_config_tags.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/verify_config_tags.dm + +

+ + +
/datum/unit_test/verify_config_tagsUnit Test to ensure that all config tags that we associate to all jobs in SSjob.joinable_occupations are valid.
+ + + diff --git a/code/modules/unit_tests/verify_emoji_names.html b/code/modules/unit_tests/verify_emoji_names.html new file mode 100644 index 00000000000..cbd853085ac --- /dev/null +++ b/code/modules/unit_tests/verify_emoji_names.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/verify_emoji_names.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/verify_emoji_names.dm + +

+ + +
/datum/unit_test/verify_emoji_namesApparently, spritesheets (or maybe how the CSS backend works) do not respond well to icon_state names that are just pure numbers (which was a behavior in emoji.dmi). +In case we add more emoji, let's just make sure that we don't have any pure numbers in the emoji.dmi file if we ever add more.
+ + + diff --git a/code/modules/unit_tests/weird_food.html b/code/modules/unit_tests/weird_food.html new file mode 100644 index 00000000000..68b52a5c97f --- /dev/null +++ b/code/modules/unit_tests/weird_food.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/unit_tests/weird_food.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/weird_food.dm + +

+ + + +
/datum/unit_test/moth_foodUnit test to ensure that moths can eat t-shirts successfully
/datum/unit_test/golem_foodUnit test to ensure that golems can eat rocks successfully
+ + + diff --git a/code/modules/unit_tests/wizard_loadout.html b/code/modules/unit_tests/wizard_loadout.html new file mode 100644 index 00000000000..47e4af84465 --- /dev/null +++ b/code/modules/unit_tests/wizard_loadout.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/wizard_loadout.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/wizard_loadout.dm + +

+ + +
/datum/unit_test/wizard_loadoutTest loadouts for crashes, runtimes, stack traces and infinite loops. No ASSERTs necessary.
+ + + diff --git a/code/modules/unit_tests/worn_icons.html b/code/modules/unit_tests/worn_icons.html new file mode 100644 index 00000000000..a5e39587e83 --- /dev/null +++ b/code/modules/unit_tests/worn_icons.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/unit_tests/worn_icons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/unit_tests/worn_icons.dm + +

+ + +
/datum/unit_test/worn_iconsMakes sure suit slot items aren't using CS:S fallbacks.
+ + + diff --git a/code/modules/uplink/uplink_items.html b/code/modules/uplink/uplink_items.html new file mode 100644 index 00000000000..e4c96bebf38 --- /dev/null +++ b/code/modules/uplink/uplink_items.html @@ -0,0 +1,30 @@ + + + + + + + code/modules/uplink/uplink_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/uplink/uplink_items.dm + +

+ + + + + +
/proc/create_uplink_salesSelects a set number of unique items from the uplink, and deducts a percentage discount from them
/datum/uplink_itemUplink Items
/datum/shared_uplink_stockCode that enables the ability to have limited stock that is shared by different items
+ + + diff --git a/code/modules/vehicles/cars/speedwagon.html b/code/modules/vehicles/cars/speedwagon.html new file mode 100644 index 00000000000..7e0aa80d112 --- /dev/null +++ b/code/modules/vehicles/cars/speedwagon.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/cars/speedwagon.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/cars/speedwagon.dm + +

+ + +
/obj/vehicle/sealed/car/speedwagonBig 3x3 car only available to admins which can run people over
+ + + diff --git a/code/modules/vehicles/cars/vim.html b/code/modules/vehicles/cars/vim.html new file mode 100644 index 00000000000..8a9babbde90 --- /dev/null +++ b/code/modules/vehicles/cars/vim.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/cars/vim.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/cars/vim.dm + +

+ + +
/obj/vehicle/sealed/car/vim
+ + + diff --git a/code/modules/vehicles/mecha/_mecha.html b/code/modules/vehicles/mecha/_mecha.html new file mode 100644 index 00000000000..49bee1eb0e4 --- /dev/null +++ b/code/modules/vehicles/mecha/_mecha.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/_mecha.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/_mecha.dm + +

+ + +
/obj/vehicle/sealed/mechaWELCOME TO MECHA.DM, ENJOY YOUR STAY
+ + + diff --git a/code/modules/vehicles/mecha/combat/durand.html b/code/modules/vehicles/mecha/combat/durand.html new file mode 100644 index 00000000000..1a87612685e --- /dev/null +++ b/code/modules/vehicles/mecha/combat/durand.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/vehicles/mecha/combat/durand.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/combat/durand.dm + +

+ + +
/obj/durand_shieldShield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.
+ + + diff --git a/code/modules/vehicles/mecha/combat/savannah_ivanov.html b/code/modules/vehicles/mecha/combat/savannah_ivanov.html new file mode 100644 index 00000000000..61f5f279cfb --- /dev/null +++ b/code/modules/vehicles/mecha/combat/savannah_ivanov.html @@ -0,0 +1,45 @@ + + + + + + + code/modules/vehicles/mecha/combat/savannah_ivanov.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/combat/savannah_ivanov.dm + +

+ + + + + + + +
SKYFALL_SINGLE_CHARGE_TIMEhow much time between charge_level going up by 1
SKYFALL_CHARGELEVEL_LAUNCHenough charge level to take off, basically done charging
TOTAL_SKYFALL_LEAP_TIMEhow much time you're in the air
/obj/vehicle/sealed/mecha/savannah_ivanov
/datum/action/vehicle/sealed/mecha/skyfallSavannah Skyfall
/obj/effect/skyfall_landingzonea simple indicator of where the skyfall is going to land.

Define Details

+

SKYFALL_CHARGELEVEL_LAUNCH + + +

+

enough charge level to take off, basically done charging

SKYFALL_SINGLE_CHARGE_TIME + + +

+

how much time between charge_level going up by 1

TOTAL_SKYFALL_LEAP_TIME + + +

+

how much time you're in the air

+ + + diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.html b/code/modules/vehicles/mecha/equipment/mecha_equipment.html new file mode 100644 index 00000000000..54474007233 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/mecha/equipment/mecha_equipment.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/mecha_equipment.dm + +

+ + +
/obj/item/mecha_parts/mecha_equipmentMecha Equipment +All mech equippables are currently childs of this
+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/air_tank.html b/code/modules/vehicles/mecha/equipment/tools/air_tank.html new file mode 100644 index 00000000000..ea02d935a22 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/air_tank.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/air_tank.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/tools/air_tank.dm + +

+ + +
/obj/item/mecha_parts/mecha_equipment/air_tankMech air tank module
+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.html b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html new file mode 100644 index 00000000000..a8dceab7d84 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/medical_tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/equipment/tools/medical_tools.dm + +

+ + + +
FIRE_SYRINGE_MODESyringe Gun
/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeamMedical Beam

Define Details

+

FIRE_SYRINGE_MODE + + +

+

Syringe Gun

+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.html b/code/modules/vehicles/mecha/equipment/tools/other_tools.html new file mode 100644 index 00000000000..9e323cecfcf --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/other_tools.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/equipment/tools/other_tools.dm + +

+ + + + + + + + + +
/obj/item/mecha_parts/mecha_equipment/teleporterTELEPORTER
/obj/item/mecha_parts/mecha_equipment/wormhole_generatorWORMHOLE GENERATOR
GRAVSLING_MODEGRAVITATIONAL CATAPULT
/obj/item/mecha_parts/mecha_equipment/armorARMOR BOOSTER MODULES
/obj/item/mecha_parts/mecha_equipment/repair_droidREPAIR DROID
/obj/item/mecha_parts/mecha_equipment/generatorGENERATOR
/obj/item/mecha_parts/mecha_equipment/thrustersTHRUSTERS
/obj/item/mecha_parts/mecha_equipment/concealed_weapon_bayCONCEALED WEAPON BAY

Define Details

+

GRAVSLING_MODE + + +

+

GRAVITATIONAL CATAPULT

+ + + diff --git a/code/modules/vehicles/mecha/equipment/tools/radio.html b/code/modules/vehicles/mecha/equipment/tools/radio.html new file mode 100644 index 00000000000..dffff9f965c --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/tools/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/equipment/tools/radio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/tools/radio.dm + +

+ + +
/obj/item/mecha_parts/mecha_equipment/radioMech radio module
+ + + diff --git a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.html b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.html new file mode 100644 index 00000000000..f0a076e3759 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm + +

+ + + +
/obj/item/mecha_ammo/missiles_srmMissile Ammo +SRM-8 Missile type - Used by Nuclear Operatives
/obj/item/mecha_ammo/missiles_pepPEP-6 Missile type - Used by Robotics
+ + + diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.html b/code/modules/vehicles/mecha/equipment/weapons/weapons.html new file mode 100644 index 00000000000..855263769e9 --- /dev/null +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/vehicles/mecha/equipment/weapons/weapons.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/equipment/weapons/weapons.dm + +

+ + + + + +
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rackMissiles +SRM-8 Missile Rack - Used by Nuclear Operatives - Explodes when it hits anything
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/breachingPEP-6 Missile Rack - Used by Robotics - Explodes only when it hits dense objects like walls, borgs and mechs
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/banana_mortar/bombananadark honk weapons
/obj/item/mecha_parts/mecha_equipment/weapon/paddy_clawlong claw of the law
+ + + diff --git a/code/modules/vehicles/mecha/mecha_actions.html b/code/modules/vehicles/mecha/mecha_actions.html new file mode 100644 index 00000000000..ae5936dfe3b --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_actions.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_actions.dm + +

+ + +
/datum/action/vehicle/sealed/mecha/swap_seatswap seats, for two person mecha
+ + + diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.html b/code/modules/vehicles/mecha/mecha_construction_paths.html new file mode 100644 index 00000000000..e20cd411607 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_construction_paths.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_construction_paths.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_construction_paths.dm + +

+ + +
/datum/component/construction/mechaConstruction datums
+ + + diff --git a/code/modules/vehicles/mecha/mecha_damage.html b/code/modules/vehicles/mecha/mecha_damage.html new file mode 100644 index 00000000000..70308180a40 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_damage.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/vehicles/mecha/mecha_damage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Mecha defence explanation + +

+ + +

Mechs focus is on a more heavy-but-slower damage approach +For this they have the following mechanics

+Backstab +

Basically the tldr is that mechs are less flexible so we encourage good positioning, pretty simple

+Armor modules +

Pretty simple, adds armor, you can choose against what

+Internal damage +

When taking damage will force you to take some time to repair, encourages improvising in a fight +Targeting different def zones will damage them to encurage a more strategic approach to fights +where they target the "dangerous" modules

+ + + diff --git a/code/modules/vehicles/mecha/mecha_defense.html b/code/modules/vehicles/mecha/mecha_defense.html new file mode 100644 index 00000000000..6987b1c7915 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_defense.html @@ -0,0 +1,36 @@ + + + + + + + code/modules/vehicles/mecha/mecha_defense.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Mecha defence explanation + +

+ + +

Mechs focus is on a more heavy-but-slower damage approach +For this they have the following mechanics

+Backstab +

Basically the tldr is that mechs are less flexible so we encourage good positioning, pretty simple

+Armor modules +

Pretty simple, adds armor, you can choose against what

+Internal damage +

When taking damage will force you to take some time to repair, encourages improvising in a fight +Targeting different def zones will damage them to encurage a more strategic approach to fights +where they target the "dangerous" modules

+ + + diff --git a/code/modules/vehicles/mecha/mecha_movement.html b/code/modules/vehicles/mecha/mecha_movement.html new file mode 100644 index 00000000000..769bceb16fe --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_movement.html @@ -0,0 +1,32 @@ + + + + + + + code/modules/vehicles/mecha/mecha_movement.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/vehicles/mecha/mecha_movement.dm + +

+ + +
MECH_CAMERA_BUFFERThe static update delay on movement of the camera in a mech we use

Define Details

+

MECH_CAMERA_BUFFER + + +

+

The static update delay on movement of the camera in a mech we use

+ + + diff --git a/code/modules/vehicles/mecha/mecha_parts.html b/code/modules/vehicles/mecha/mecha_parts.html new file mode 100644 index 00000000000..e0604991e02 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_parts.html @@ -0,0 +1,35 @@ + + + + + + + code/modules/vehicles/mecha/mecha_parts.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_parts.dm + +

+ + + + + + + + + + +
/obj/item/mecha_partsMecha Parts
/obj/item/mecha_parts/chassis/ripleyRipley
/obj/item/mecha_parts/chassis/odysseusOdysseus
/obj/item/mecha_parts/chassis/gygaxGygax
/obj/item/mecha_parts/chassis/durandDurand
/obj/item/mecha_parts/chassis/clarkeClarke
/obj/item/mecha_parts/chassis/honkerHONK
/obj/item/mecha_parts/chassis/phazonPhazon
/obj/item/circuitboard/mechaCircuitboards
+ + + diff --git a/code/modules/vehicles/mecha/mecha_wreckage.html b/code/modules/vehicles/mecha/mecha_wreckage.html new file mode 100644 index 00000000000..460652fdc11 --- /dev/null +++ b/code/modules/vehicles/mecha/mecha_wreckage.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/mecha/mecha_wreckage.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/mecha_wreckage.dm + +

+ + +
/obj/structure/mecha_wreckageMecha wreckage
+ + + diff --git a/code/modules/vehicles/mecha/working/clarke.html b/code/modules/vehicles/mecha/working/clarke.html new file mode 100644 index 00000000000..32dda6cda89 --- /dev/null +++ b/code/modules/vehicles/mecha/working/clarke.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/mecha/working/clarke.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/mecha/working/clarke.dm + +

+ + + +
/obj/vehicle/sealed/mecha/clarkeLavaproof, fireproof, fast mech with low armor and higher energy consumption, cannot strafe and has an internal ore box.
/obj/item/mecha_parts/mecha_equipment/orebox_managerSpecial equipment for the Clarke mech, handles moving ore without giving the mech a hydraulic clamp and cargo compartment.
+ + + diff --git a/code/modules/vehicles/pimpin_ride.html b/code/modules/vehicles/pimpin_ride.html new file mode 100644 index 00000000000..b70854d5b8f --- /dev/null +++ b/code/modules/vehicles/pimpin_ride.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/pimpin_ride.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/pimpin_ride.dm + +

+ + + +
/obj/vehicle/ridden/janicart
/obj/item/janicart_upgradeFunctional upgrades that can be installed into a janicart.
+ + + diff --git a/code/modules/vehicles/vehicle_actions.html b/code/modules/vehicles/vehicle_actions.html new file mode 100644 index 00000000000..70676bf411a --- /dev/null +++ b/code/modules/vehicles/vehicle_actions.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/vehicles/vehicle_actions.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/vehicle_actions.dm + +

+ + +
/datum/action/vehicleACTION DATUMS
+ + + diff --git a/code/modules/vehicles/wheelchair.html b/code/modules/vehicles/wheelchair.html new file mode 100644 index 00000000000..72455878621 --- /dev/null +++ b/code/modules/vehicles/wheelchair.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/vehicles/wheelchair.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/vehicles/wheelchair.dm + +

+ + + +
/obj/vehicle/ridden/wheelchair/goldA reward item for obtaining 5K hardcore random points. Do not use for anything else
/obj/item/wheelchair/goldA reward item for obtaining 5K hardcore random points. Do not use for anything else
+ + + diff --git a/code/modules/vending/_vending.html b/code/modules/vending/_vending.html new file mode 100644 index 00000000000..d2cb63008d4 --- /dev/null +++ b/code/modules/vending/_vending.html @@ -0,0 +1,39 @@ + + + + + + + code/modules/vending/_vending.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/vending/_vending.dm + +

+ + + + + +
MAX_VENDING_INPUT_AMOUNTMaximum amount of items in a storage bag that we're transferring items to the vendor from.
/datum/data/vending_productA datum that represents a product that is vendable
/obj/machinery/vendingCaptalism in the year 2525, everything in a vending machine, even love
/obj/machinery/vending/custom/unbreakableCharges the user if its not the owner +Make the transaction +Log the transaction +Make an alert +Remove the item

Define Details

+

MAX_VENDING_INPUT_AMOUNT + + +

+

Maximum amount of items in a storage bag that we're transferring items to the vendor from.

+ + + diff --git a/code/modules/visuals/render_steps.html b/code/modules/visuals/render_steps.html new file mode 100644 index 00000000000..13ed9241676 --- /dev/null +++ b/code/modules/visuals/render_steps.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/visuals/render_steps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/visuals/render_steps.dm + +

+ + + + + +
/atom/movable/render_stepInternal atom that uses render relays to apply "appearance things" to a render source +Branch, subtypes have behavior
/atom/movable/render_step/colorRender step that modfies an atom's color +Useful for creating coherent emissive blockers out of things like glass floors by lowering alpha statically using matrixes +Other stuff too I'm sure
/atom/movable/render_step/emissive_blockerRender step that makes the passed in render source block emissives
/atom/movable/render_step/emissiveRender step that makes the passed in render source GLOW
+ + + diff --git a/code/modules/wiremod/components/abstract/compare.html b/code/modules/wiremod/components/abstract/compare.html new file mode 100644 index 00000000000..435ba5be452 --- /dev/null +++ b/code/modules/wiremod/components/abstract/compare.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/compare.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/compare.dm + +

+ + +
/obj/item/circuit_component/compareAbstract component to build conditional components
+ + + diff --git a/code/modules/wiremod/components/abstract/module.html b/code/modules/wiremod/components/abstract/module.html new file mode 100644 index 00000000000..736051890fb --- /dev/null +++ b/code/modules/wiremod/components/abstract/module.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/module.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/module.dm + +

+ + +
/obj/item/circuit_component/moduleA component that has an input, output
+ + + diff --git a/code/modules/wiremod/components/abstract/variable.html b/code/modules/wiremod/components/abstract/variable.html new file mode 100644 index 00000000000..5a99807d02c --- /dev/null +++ b/code/modules/wiremod/components/abstract/variable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/abstract/variable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/abstract/variable.dm + +

+ + +
/obj/item/circuit_component/variableAbstract component for handling variables
+ + + diff --git a/code/modules/wiremod/components/action/laserpointer.html b/code/modules/wiremod/components/action/laserpointer.html new file mode 100644 index 00000000000..a08462f801c --- /dev/null +++ b/code/modules/wiremod/components/action/laserpointer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/laserpointer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/laserpointer.dm + +

+ + +
/obj/item/circuit_component/laserpointerPoints a laser at a tile or mob
+ + + diff --git a/code/modules/wiremod/components/action/light.html b/code/modules/wiremod/components/action/light.html new file mode 100644 index 00000000000..33f0b67a922 --- /dev/null +++ b/code/modules/wiremod/components/action/light.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/light.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/light.dm + +

+ + +
/obj/item/circuit_component/lightno stunning, just a blind
+ + + diff --git a/code/modules/wiremod/components/action/mmi.html b/code/modules/wiremod/components/action/mmi.html new file mode 100644 index 00000000000..7c00679d7b2 --- /dev/null +++ b/code/modules/wiremod/components/action/mmi.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/mmi.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/mmi.dm + +

+ + +
/obj/item/circuit_component/mmiAllows an MMI to be inserted into a shell, allowing it to be linked up. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/action/pathfind.html b/code/modules/wiremod/components/action/pathfind.html new file mode 100644 index 00000000000..4ab09297155 --- /dev/null +++ b/code/modules/wiremod/components/action/pathfind.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/pathfind.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/pathfind.dm + +

+ + +
/obj/item/circuit_component/pathfindCalcualtes a path, returns a list of entities. Each entity is the next step in the path. Can be used with the direction component to move.
+ + + diff --git a/code/modules/wiremod/components/action/pull.html b/code/modules/wiremod/components/action/pull.html new file mode 100644 index 00000000000..6932c6ed606 --- /dev/null +++ b/code/modules/wiremod/components/action/pull.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/pull.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/pull.dm + +

+ + +
/obj/item/circuit_component/pullTells the shell to start pulling on a designated atom. Only works on movable shells.
+ + + diff --git a/code/modules/wiremod/components/action/radio.html b/code/modules/wiremod/components/action/radio.html new file mode 100644 index 00000000000..076473e7f98 --- /dev/null +++ b/code/modules/wiremod/components/action/radio.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/radio.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/radio.dm + +

+ + +
/obj/item/circuit_component/radioListens out for signals on the designated frequencies and sends signals on designated frequencies
+ + + diff --git a/code/modules/wiremod/components/action/soundemitter.html b/code/modules/wiremod/components/action/soundemitter.html new file mode 100644 index 00000000000..b6b1d871a88 --- /dev/null +++ b/code/modules/wiremod/components/action/soundemitter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/soundemitter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/soundemitter.dm + +

+ + +
/obj/item/circuit_component/soundemitterA component that emits a sound when it receives an input.
+ + + diff --git a/code/modules/wiremod/components/action/speech.html b/code/modules/wiremod/components/action/speech.html new file mode 100644 index 00000000000..d109bb9b129 --- /dev/null +++ b/code/modules/wiremod/components/action/speech.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/action/speech.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/action/speech.dm + +

+ + +
/obj/item/circuit_component/speechSends a message. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/admin/getvar.html b/code/modules/wiremod/components/admin/getvar.html new file mode 100644 index 00000000000..f0172e3ef95 --- /dev/null +++ b/code/modules/wiremod/components/admin/getvar.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/getvar.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/getvar.dm + +

+ + +
/obj/item/circuit_component/get_variableA component that gets a variable on an object
+ + + diff --git a/code/modules/wiremod/components/admin/input_request.html b/code/modules/wiremod/components/admin/input_request.html new file mode 100644 index 00000000000..e75d9bd8419 --- /dev/null +++ b/code/modules/wiremod/components/admin/input_request.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/input_request.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/input_request.dm + +

+ + +
/obj/item/circuit_component/input_requestRequests an input from someone.
+ + + diff --git a/code/modules/wiremod/components/admin/proccall.html b/code/modules/wiremod/components/admin/proccall.html new file mode 100644 index 00000000000..a5f7b6d13c6 --- /dev/null +++ b/code/modules/wiremod/components/admin/proccall.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/proccall.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/proccall.dm + +

+ + +
/obj/item/circuit_component/proccallA component that calls a proc on an object and outputs the return value
+ + + diff --git a/code/modules/wiremod/components/admin/save_shell.html b/code/modules/wiremod/components/admin/save_shell.html new file mode 100644 index 00000000000..56326a52bd8 --- /dev/null +++ b/code/modules/wiremod/components/admin/save_shell.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/save_shell.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/save_shell.dm + +

+ + +
/obj/item/circuit_component/save_shellA component that saves and loads a shell for the integrated circuit.
+ + + diff --git a/code/modules/wiremod/components/admin/sdql.html b/code/modules/wiremod/components/admin/sdql.html new file mode 100644 index 00000000000..58410495252 --- /dev/null +++ b/code/modules/wiremod/components/admin/sdql.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/sdql.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/sdql.dm + +

+ + +
/obj/item/circuit_component/sdql_operationA component that performs an sdql operation
+ + + diff --git a/code/modules/wiremod/components/admin/setvar.html b/code/modules/wiremod/components/admin/setvar.html new file mode 100644 index 00000000000..4f58f5d9e5a --- /dev/null +++ b/code/modules/wiremod/components/admin/setvar.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/setvar.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/setvar.dm + +

+ + +
/obj/item/circuit_component/set_variableA component that sets a variable on an object
+ + + diff --git a/code/modules/wiremod/components/admin/signal_handler/signal_handler.html b/code/modules/wiremod/components/admin/signal_handler/signal_handler.html new file mode 100644 index 00000000000..f70bd3f4016 --- /dev/null +++ b/code/modules/wiremod/components/admin/signal_handler/signal_handler.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/signal_handler/signal_handler.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/signal_handler/signal_handler.dm + +

+ + +
/obj/item/circuit_component/signal_handlerA component that registers signals on events and listens for them.
+ + + diff --git a/code/modules/wiremod/components/admin/spawn.html b/code/modules/wiremod/components/admin/spawn.html new file mode 100644 index 00000000000..1e2b128319c --- /dev/null +++ b/code/modules/wiremod/components/admin/spawn.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/spawn.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/spawn.dm + +

+ + +
/obj/item/circuit_component/spawn_atomSpawns an atom.
+ + + diff --git a/code/modules/wiremod/components/admin/to_type.html b/code/modules/wiremod/components/admin/to_type.html new file mode 100644 index 00000000000..21608ada458 --- /dev/null +++ b/code/modules/wiremod/components/admin/to_type.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/admin/to_type.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/admin/to_type.dm + +

+ + +
/obj/item/circuit_component/to_typeConverts a string into a typepath. Useful for adding components.
+ + + diff --git a/code/modules/wiremod/components/atom/direction.html b/code/modules/wiremod/components/atom/direction.html new file mode 100644 index 00000000000..73b0bae97c7 --- /dev/null +++ b/code/modules/wiremod/components/atom/direction.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/direction.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/direction.dm + +

+ + +
/obj/item/circuit_component/directionReturn the direction of a mob relative to the component
+ + + diff --git a/code/modules/wiremod/components/atom/gps.html b/code/modules/wiremod/components/atom/gps.html new file mode 100644 index 00000000000..6829d3463d5 --- /dev/null +++ b/code/modules/wiremod/components/atom/gps.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/gps.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/gps.dm + +

+ + +
/obj/item/circuit_component/gpsReturn the location of this
+ + + diff --git a/code/modules/wiremod/components/atom/health.html b/code/modules/wiremod/components/atom/health.html new file mode 100644 index 00000000000..49b8180e40f --- /dev/null +++ b/code/modules/wiremod/components/atom/health.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/health.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/health.dm + +

+ + +
/obj/item/circuit_component/healthReturn the health of a mob
+ + + diff --git a/code/modules/wiremod/components/atom/hear.html b/code/modules/wiremod/components/atom/hear.html new file mode 100644 index 00000000000..185f3eef49c --- /dev/null +++ b/code/modules/wiremod/components/atom/hear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/hear.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/hear.dm + +

+ + +
/obj/item/circuit_component/hearListens for messages. Requires a shell.
+ + + diff --git a/code/modules/wiremod/components/atom/matscanner.html b/code/modules/wiremod/components/atom/matscanner.html new file mode 100644 index 00000000000..1bb05894e6d --- /dev/null +++ b/code/modules/wiremod/components/atom/matscanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/matscanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/matscanner.dm + +

+ + +
/obj/item/circuit_component/matscannerReturns the materials of an atom
+ + + diff --git a/code/modules/wiremod/components/atom/pinpointer.html b/code/modules/wiremod/components/atom/pinpointer.html new file mode 100644 index 00000000000..a982ea8ea97 --- /dev/null +++ b/code/modules/wiremod/components/atom/pinpointer.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/pinpointer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/pinpointer.dm + +

+ + +
/obj/item/circuit_component/pinpointerReturn the location of its input.
+ + + diff --git a/code/modules/wiremod/components/atom/reagentscanner.html b/code/modules/wiremod/components/atom/reagentscanner.html new file mode 100644 index 00000000000..a7c94ea4f8a --- /dev/null +++ b/code/modules/wiremod/components/atom/reagentscanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/reagentscanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/reagentscanner.dm + +

+ + +
/obj/item/circuit_component/reagentscannerReturns the reagentss of an atom
+ + + diff --git a/code/modules/wiremod/components/atom/self.html b/code/modules/wiremod/components/atom/self.html new file mode 100644 index 00000000000..dd6ba15b838 --- /dev/null +++ b/code/modules/wiremod/components/atom/self.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/self.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/self.dm + +

+ + +
/obj/item/circuit_component/selfReturn the current shell.
+ + + diff --git a/code/modules/wiremod/components/atom/species.html b/code/modules/wiremod/components/atom/species.html new file mode 100644 index 00000000000..7cfa99167b3 --- /dev/null +++ b/code/modules/wiremod/components/atom/species.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/atom/species.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/atom/species.dm + +

+ + +
/obj/item/circuit_component/speciesReturn the species of a mob
+ + + diff --git a/code/modules/wiremod/components/bci/hud/bar_overlay.html b/code/modules/wiremod/components/bci/hud/bar_overlay.html new file mode 100644 index 00000000000..5e88cbefccf --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/bar_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/hud/bar_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/hud/bar_overlay.dm + +

+ + +
/obj/item/circuit_component/object_overlay/barBasically an advanced verion of object overlay component that shows a horizontal/vertical bar. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/hud/counter_overlay.html b/code/modules/wiremod/components/bci/hud/counter_overlay.html new file mode 100644 index 00000000000..f149d3135e6 --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/counter_overlay.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/hud/counter_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/hud/counter_overlay.dm + +

+ + +
/obj/item/circuit_component/counter_overlayShows an counter overlay. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/hud/object_overlay.html b/code/modules/wiremod/components/bci/hud/object_overlay.html new file mode 100644 index 00000000000..5e8c76675d7 --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/object_overlay.html @@ -0,0 +1,34 @@ + + + + + + + code/modules/wiremod/components/bci/hud/object_overlay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/wiremod/components/bci/hud/object_overlay.dm + +

+ + +
OBJECT_OVERLAY_LIMIT

Define Details

+

OBJECT_OVERLAY_LIMIT + + +

+ Object Overlay Component +

Shows an overlay ontop of an object. Toggleable. +Requires a BCI shell.

+ + + diff --git a/code/modules/wiremod/components/bci/hud/target_intercept.html b/code/modules/wiremod/components/bci/hud/target_intercept.html new file mode 100644 index 00000000000..1f3f12b85b0 --- /dev/null +++ b/code/modules/wiremod/components/bci/hud/target_intercept.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/hud/target_intercept.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/hud/target_intercept.dm + +

+ + +
/obj/item/circuit_component/target_interceptWhen activated intercepts next click and outputs clicked atom. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/install_detector.html b/code/modules/wiremod/components/bci/install_detector.html new file mode 100644 index 00000000000..07cf370ebcc --- /dev/null +++ b/code/modules/wiremod/components/bci/install_detector.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/install_detector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/install_detector.dm + +

+ + +
/obj/item/circuit_component/install_detectorDetects when a BCI is installed/removed. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/reagent_injector.html b/code/modules/wiremod/components/bci/reagent_injector.html new file mode 100644 index 00000000000..7a7b6058110 --- /dev/null +++ b/code/modules/wiremod/components/bci/reagent_injector.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/reagent_injector.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/reagent_injector.dm + +

+ + +
/obj/item/circuit_component/reagent_injectorInjects reagents into the user. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/thought_listener.html b/code/modules/wiremod/components/bci/thought_listener.html new file mode 100644 index 00000000000..99cb199c31a --- /dev/null +++ b/code/modules/wiremod/components/bci/thought_listener.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/thought_listener.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/thought_listener.dm + +

+ + +
/obj/item/circuit_component/thought_listenerAllows user to input a string. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/bci/vox.html b/code/modules/wiremod/components/bci/vox.html new file mode 100644 index 00000000000..810793116d3 --- /dev/null +++ b/code/modules/wiremod/components/bci/vox.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/bci/vox.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/bci/vox.dm + +

+ + +
/obj/item/circuit_component/voxThese play a VOX announcement with inputed words from either a string or a list. +Requires a BCI shell.
+ + + diff --git a/code/modules/wiremod/components/list/assoc_list_pick.html b/code/modules/wiremod/components/list/assoc_list_pick.html new file mode 100644 index 00000000000..af5094764ec --- /dev/null +++ b/code/modules/wiremod/components/list/assoc_list_pick.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/list/assoc_list_pick.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/assoc_list_pick.dm + +

+ + +
/obj/item/circuit_component/list_pick/assocAllows user to select 1 entry from a list +For actuel code refer to code\modules\wiremod\components\list\list_pick.dm
+ + + diff --git a/code/modules/wiremod/components/list/assoc_list_remove.html b/code/modules/wiremod/components/list/assoc_list_remove.html new file mode 100644 index 00000000000..8cd3858ce85 --- /dev/null +++ b/code/modules/wiremod/components/list/assoc_list_remove.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/assoc_list_remove.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/assoc_list_remove.dm + +

+ + +
/obj/item/circuit_component/variable/assoc_list/list_removeRemoves an element from an assoc list.
+ + + diff --git a/code/modules/wiremod/components/list/assoc_list_set.html b/code/modules/wiremod/components/list/assoc_list_set.html new file mode 100644 index 00000000000..b2d15589c19 --- /dev/null +++ b/code/modules/wiremod/components/list/assoc_list_set.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/assoc_list_set.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/assoc_list_set.dm + +

+ + +
/obj/item/circuit_component/variable/assoc_list/list_setSets a string value on an assoc list.
+ + + diff --git a/code/modules/wiremod/components/list/assoc_literal.html b/code/modules/wiremod/components/list/assoc_literal.html new file mode 100644 index 00000000000..90029506f9b --- /dev/null +++ b/code/modules/wiremod/components/list/assoc_literal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/assoc_literal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/assoc_literal.dm + +

+ + +
/obj/item/circuit_component/assoc_literalReturn an associative list literal.
+ + + diff --git a/code/modules/wiremod/components/list/concat.html b/code/modules/wiremod/components/list/concat.html new file mode 100644 index 00000000000..116763d3ea8 --- /dev/null +++ b/code/modules/wiremod/components/list/concat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/concat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/concat.dm + +

+ + +
/obj/item/circuit_component/concat_listConcatenates a list with a separator
+ + + diff --git a/code/modules/wiremod/components/list/filter.html b/code/modules/wiremod/components/list/filter.html new file mode 100644 index 00000000000..2683b48891c --- /dev/null +++ b/code/modules/wiremod/components/list/filter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/filter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/filter.dm + +

+ + +
/obj/item/circuit_component/filter_listFilters
+ + + diff --git a/code/modules/wiremod/components/list/foreach.html b/code/modules/wiremod/components/list/foreach.html new file mode 100644 index 00000000000..da154cd5cf8 --- /dev/null +++ b/code/modules/wiremod/components/list/foreach.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/foreach.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/foreach.dm + +

+ + +
/obj/item/circuit_component/foreachSends a signal for each item in a list
+ + + diff --git a/code/modules/wiremod/components/list/format.html b/code/modules/wiremod/components/list/format.html new file mode 100644 index 00000000000..12f85a3d65b --- /dev/null +++ b/code/modules/wiremod/components/list/format.html @@ -0,0 +1,31 @@ + + + + + + + code/modules/wiremod/components/list/format.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/format.dm + +

+ + + + +
/obj/item/circuit_component/formatFormats lists by replacing %n in format string with nth parameter. +Alternative to the Concatenate component.
/obj/item/circuit_component/format/assocFormats lists by replacing %n in format string with nth parameter. +Alternative to the Concatenate component.
/regex/format_component
+ + + diff --git a/code/modules/wiremod/components/list/index.html b/code/modules/wiremod/components/list/index.html new file mode 100644 index 00000000000..fbe9b6e5dc6 --- /dev/null +++ b/code/modules/wiremod/components/list/index.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/index.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/index.dm + +

+ + +
/obj/item/circuit_component/indexReturn the index of a list
+ + + diff --git a/code/modules/wiremod/components/list/list_add.html b/code/modules/wiremod/components/list/list_add.html new file mode 100644 index 00000000000..02446783e21 --- /dev/null +++ b/code/modules/wiremod/components/list/list_add.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_add.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_add.dm + +

+ + +
/obj/item/circuit_component/variable/list/listaddAdds an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/list_clear.html b/code/modules/wiremod/components/list/list_clear.html new file mode 100644 index 00000000000..c6a04f19e81 --- /dev/null +++ b/code/modules/wiremod/components/list/list_clear.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_clear.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_clear.dm + +

+ + +
/obj/item/circuit_component/variable/list/listclearClears an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/list_find.html b/code/modules/wiremod/components/list/list_find.html new file mode 100644 index 00000000000..fac21410bb2 --- /dev/null +++ b/code/modules/wiremod/components/list/list_find.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_find.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_find.dm + +

+ + +
/obj/item/circuit_component/listinFinds an element in a list and returns the index.
+ + + diff --git a/code/modules/wiremod/components/list/list_literal.html b/code/modules/wiremod/components/list/list_literal.html new file mode 100644 index 00000000000..3ff1c111b33 --- /dev/null +++ b/code/modules/wiremod/components/list/list_literal.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_literal.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_literal.dm + +

+ + +
/obj/item/circuit_component/list_literalReturn a list literal.
+ + + diff --git a/code/modules/wiremod/components/list/list_pick.html b/code/modules/wiremod/components/list/list_pick.html new file mode 100644 index 00000000000..8075213387e --- /dev/null +++ b/code/modules/wiremod/components/list/list_pick.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_pick.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_pick.dm + +

+ + +
/obj/item/circuit_component/list_pickAllows user to select 1 entry from a list
+ + + diff --git a/code/modules/wiremod/components/list/list_remove.html b/code/modules/wiremod/components/list/list_remove.html new file mode 100644 index 00000000000..492edf93682 --- /dev/null +++ b/code/modules/wiremod/components/list/list_remove.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/list_remove.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/list_remove.dm + +

+ + +
/obj/item/circuit_component/variable/list/listremoveRemoves an element to a list.
+ + + diff --git a/code/modules/wiremod/components/list/split.html b/code/modules/wiremod/components/list/split.html new file mode 100644 index 00000000000..ac37e58dafe --- /dev/null +++ b/code/modules/wiremod/components/list/split.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/list/split.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/list/split.dm + +

+ + +
/obj/item/circuit_component/splitSplits a string
+ + + diff --git a/code/modules/wiremod/components/math/arctan2.html b/code/modules/wiremod/components/math/arctan2.html new file mode 100644 index 00000000000..414b204a7b7 --- /dev/null +++ b/code/modules/wiremod/components/math/arctan2.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/arctan2.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/arctan2.dm + +

+ + +
/obj/item/circuit_component/arctan2A variant of arctan. When given a deltaX and deltaY, returns the angle. I will blow you out of the sky
+ + + diff --git a/code/modules/wiremod/components/math/arithmetic.html b/code/modules/wiremod/components/math/arithmetic.html new file mode 100644 index 00000000000..5f93d06709f --- /dev/null +++ b/code/modules/wiremod/components/math/arithmetic.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/math/arithmetic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/arithmetic.dm + +

+ + +
/obj/item/circuit_component/arithmeticGeneral arithmetic unit with add/sub/mult/divide capabilities +This one only works with numbers.
+ + + diff --git a/code/modules/wiremod/components/math/binary_conversion.html b/code/modules/wiremod/components/math/binary_conversion.html new file mode 100644 index 00000000000..7abac932786 --- /dev/null +++ b/code/modules/wiremod/components/math/binary_conversion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/binary_conversion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/binary_conversion.dm + +

+ + +
/obj/item/circuit_component/binary_conversionReturn an array of binary digits from a number input.
+ + + diff --git a/code/modules/wiremod/components/math/comparison.html b/code/modules/wiremod/components/math/comparison.html new file mode 100644 index 00000000000..dc3ab7b8b81 --- /dev/null +++ b/code/modules/wiremod/components/math/comparison.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/comparison.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/comparison.dm + +

+ + +
/obj/item/circuit_component/compare/comparisonCompares two objects
+ + + diff --git a/code/modules/wiremod/components/math/decimal_conversion.html b/code/modules/wiremod/components/math/decimal_conversion.html new file mode 100644 index 00000000000..55b5ceb45a8 --- /dev/null +++ b/code/modules/wiremod/components/math/decimal_conversion.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/decimal_conversion.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/decimal_conversion.dm + +

+ + +
/obj/item/circuit_component/decimal_conversionReturn a number from an array of binary inputs.
+ + + diff --git a/code/modules/wiremod/components/math/length.html b/code/modules/wiremod/components/math/length.html new file mode 100644 index 00000000000..ad709d5d2eb --- /dev/null +++ b/code/modules/wiremod/components/math/length.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/length.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/length.dm + +

+ + +
/obj/item/circuit_component/lengthReturn the length of an input
+ + + diff --git a/code/modules/wiremod/components/math/logic.html b/code/modules/wiremod/components/math/logic.html new file mode 100644 index 00000000000..21e7667cc1c --- /dev/null +++ b/code/modules/wiremod/components/math/logic.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/logic.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/logic.dm + +

+ + +
/obj/item/circuit_component/compare/logicGeneral logic unit with AND OR capabilities
+ + + diff --git a/code/modules/wiremod/components/math/not.html b/code/modules/wiremod/components/math/not.html new file mode 100644 index 00000000000..dc76a750256 --- /dev/null +++ b/code/modules/wiremod/components/math/not.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/not.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/not.dm + +

+ + +
/obj/item/circuit_component/notGeneral logic unit with AND OR capabilities
+ + + diff --git a/code/modules/wiremod/components/math/random.html b/code/modules/wiremod/components/math/random.html new file mode 100644 index 00000000000..a5695ecffe9 --- /dev/null +++ b/code/modules/wiremod/components/math/random.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/math/random.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/random.dm + +

+ + +
/obj/item/circuit_component/randomGenerates a random number between specific values
+ + + diff --git a/code/modules/wiremod/components/math/trigonometry.html b/code/modules/wiremod/components/math/trigonometry.html new file mode 100644 index 00000000000..2e5091e5e88 --- /dev/null +++ b/code/modules/wiremod/components/math/trigonometry.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/components/math/trigonometry.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/math/trigonometry.dm + +

+ + +
/obj/item/circuit_component/trigonometryGeneral trigonometric unit with sine, cosine, tangent and their inverse functions. +This one only works with numbers.
+ + + diff --git a/code/modules/wiremod/components/ntnet/ntnet_receive.html b/code/modules/wiremod/components/ntnet/ntnet_receive.html new file mode 100644 index 00000000000..b8c3417cc50 --- /dev/null +++ b/code/modules/wiremod/components/ntnet/ntnet_receive.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/ntnet/ntnet_receive.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/ntnet/ntnet_receive.dm + +

+ + +
/obj/item/circuit_component/ntnet_receiveReceives data through NTNet.
+ + + diff --git a/code/modules/wiremod/components/ntnet/ntnet_send.html b/code/modules/wiremod/components/ntnet/ntnet_send.html new file mode 100644 index 00000000000..45a1ed24176 --- /dev/null +++ b/code/modules/wiremod/components/ntnet/ntnet_send.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/ntnet/ntnet_send.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/ntnet/ntnet_send.dm + +

+ + +
/obj/item/circuit_component/ntnet_sendSends a data package through NTNet
+ + + diff --git a/code/modules/wiremod/components/sensors/pressuresensor.html b/code/modules/wiremod/components/sensors/pressuresensor.html new file mode 100644 index 00000000000..82e3ca77e6d --- /dev/null +++ b/code/modules/wiremod/components/sensors/pressuresensor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/sensors/pressuresensor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/sensors/pressuresensor.dm + +

+ + +
/obj/item/circuit_component/pressuresensorReturns the pressure of the tile
+ + + diff --git a/code/modules/wiremod/components/sensors/tempsensor.html b/code/modules/wiremod/components/sensors/tempsensor.html new file mode 100644 index 00000000000..bb9b2801113 --- /dev/null +++ b/code/modules/wiremod/components/sensors/tempsensor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/sensors/tempsensor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/sensors/tempsensor.dm + +

+ + +
/obj/item/circuit_component/tempsensorReturns the temperature of the tile
+ + + diff --git a/code/modules/wiremod/components/sensors/view_sensor.html b/code/modules/wiremod/components/sensors/view_sensor.html new file mode 100644 index 00000000000..f7d54807a88 --- /dev/null +++ b/code/modules/wiremod/components/sensors/view_sensor.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/sensors/view_sensor.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/sensors/view_sensor.dm + +

+ + +
/obj/item/circuit_component/view_sensorReturns all movable objects in view.
+ + + diff --git a/code/modules/wiremod/components/string/concat.html b/code/modules/wiremod/components/string/concat.html new file mode 100644 index 00000000000..be2509f71d6 --- /dev/null +++ b/code/modules/wiremod/components/string/concat.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/concat.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/string/concat.dm + +

+ + +
/obj/item/circuit_component/concatGeneral string concatenation component. Puts strings together.
+ + + diff --git a/code/modules/wiremod/components/string/contains.html b/code/modules/wiremod/components/string/contains.html new file mode 100644 index 00000000000..95f338a60c1 --- /dev/null +++ b/code/modules/wiremod/components/string/contains.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/contains.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/string/contains.dm + +

+ + +
/obj/item/circuit_component/compare/containsChecks if a string contains a word/letter
+ + + diff --git a/code/modules/wiremod/components/string/textcase.html b/code/modules/wiremod/components/string/textcase.html new file mode 100644 index 00000000000..99ec9bac3a8 --- /dev/null +++ b/code/modules/wiremod/components/string/textcase.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/textcase.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/string/textcase.dm + +

+ + +
/obj/item/circuit_component/textcaseEither makes the text upper case or lower case.
+ + + diff --git a/code/modules/wiremod/components/string/tonumber.html b/code/modules/wiremod/components/string/tonumber.html new file mode 100644 index 00000000000..a7909124e67 --- /dev/null +++ b/code/modules/wiremod/components/string/tonumber.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/tonumber.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/string/tonumber.dm + +

+ + +
/obj/item/circuit_component/tonumber#To Number Component
+ + + diff --git a/code/modules/wiremod/components/string/tostring.html b/code/modules/wiremod/components/string/tostring.html new file mode 100644 index 00000000000..b76b5fdc582 --- /dev/null +++ b/code/modules/wiremod/components/string/tostring.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/string/tostring.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/string/tostring.dm + +

+ + +
/obj/item/circuit_component/tostringConverts any value into a string
+ + + diff --git a/code/modules/wiremod/components/table/get_column.html b/code/modules/wiremod/components/table/get_column.html new file mode 100644 index 00000000000..6a0e262b8f7 --- /dev/null +++ b/code/modules/wiremod/components/table/get_column.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/table/get_column.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/table/get_column.dm + +

+ + +
/obj/item/circuit_component/get_columnGets the column of a table and returns it as a regular list.
+ + + diff --git a/code/modules/wiremod/components/table/index_table.html b/code/modules/wiremod/components/table/index_table.html new file mode 100644 index 00000000000..4a5b3fa3f53 --- /dev/null +++ b/code/modules/wiremod/components/table/index_table.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/table/index_table.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/table/index_table.dm + +

+ + +
/obj/item/circuit_component/index_tableGets the row of a table as an associative list using the index inputted. Will return no value if the index is invalid or a proper table is not returned.
+ + + diff --git a/code/modules/wiremod/components/table/select.html b/code/modules/wiremod/components/table/select.html new file mode 100644 index 00000000000..1bd653e8eed --- /dev/null +++ b/code/modules/wiremod/components/table/select.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/table/select.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/table/select.dm + +

+ + +
/obj/item/circuit_component/selectSelects a list from a list of lists by a specific column. Used only by USBs for communications to and from computers with lists of varying sizes.
+ + + diff --git a/code/modules/wiremod/components/utility/clock.html b/code/modules/wiremod/components/utility/clock.html new file mode 100644 index 00000000000..eda6ca28b55 --- /dev/null +++ b/code/modules/wiremod/components/utility/clock.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/clock.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/clock.dm + +

+ + +
/obj/item/circuit_component/clockFires every tick of the circuit timer SS
+ + + diff --git a/code/modules/wiremod/components/utility/delay.html b/code/modules/wiremod/components/utility/delay.html new file mode 100644 index 00000000000..5ae6d30c982 --- /dev/null +++ b/code/modules/wiremod/components/utility/delay.html @@ -0,0 +1,33 @@ + + + + + + + code/modules/wiremod/components/utility/delay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Define Details
+
+

code/modules/wiremod/components/utility/delay.dm + +

+ + + +
COMP_DELAY_MIN_VALUEThe minimum delay value that the delay component can have.
/obj/item/circuit_component/delayDelays a signal by a specified duration.

Define Details

+

COMP_DELAY_MIN_VALUE + + +

+

The minimum delay value that the delay component can have.

+ + + diff --git a/code/modules/wiremod/components/utility/router.html b/code/modules/wiremod/components/utility/router.html new file mode 100644 index 00000000000..d0d726780da --- /dev/null +++ b/code/modules/wiremod/components/utility/router.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/router.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/router.dm + +

+ + +
/obj/item/circuit_component/routerWrites one of multiple inputs to one of multiple outputs.
+ + + diff --git a/code/modules/wiremod/components/utility/timepiece.html b/code/modules/wiremod/components/utility/timepiece.html new file mode 100644 index 00000000000..50ce185e960 --- /dev/null +++ b/code/modules/wiremod/components/utility/timepiece.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/timepiece.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/timepiece.dm + +

+ + +
/obj/item/circuit_component/timepiecereturns the current station time.
+ + + diff --git a/code/modules/wiremod/components/utility/typecast.html b/code/modules/wiremod/components/utility/typecast.html new file mode 100644 index 00000000000..267f0083f09 --- /dev/null +++ b/code/modules/wiremod/components/utility/typecast.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/typecast.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/typecast.dm + +

+ + +
/obj/item/circuit_component/typecastA component that casts a value to a type if it matches or outputs null.
+ + + diff --git a/code/modules/wiremod/components/utility/typecheck.html b/code/modules/wiremod/components/utility/typecheck.html new file mode 100644 index 00000000000..41247f668ca --- /dev/null +++ b/code/modules/wiremod/components/utility/typecheck.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/utility/typecheck.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/utility/typecheck.dm + +

+ + +
/obj/item/circuit_component/compare/typecheckChecks the type of a value
+ + + diff --git a/code/modules/wiremod/components/variables/getter.html b/code/modules/wiremod/components/variables/getter.html new file mode 100644 index 00000000000..523f2abd277 --- /dev/null +++ b/code/modules/wiremod/components/variables/getter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/variables/getter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/variables/getter.dm + +

+ + +
/obj/item/circuit_component/variable/getterGets the current value from a variable.
+ + + diff --git a/code/modules/wiremod/components/variables/setter.html b/code/modules/wiremod/components/variables/setter.html new file mode 100644 index 00000000000..f0d3b5d713c --- /dev/null +++ b/code/modules/wiremod/components/variables/setter.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/components/variables/setter.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/components/variables/setter.dm + +

+ + +
/obj/item/circuit_component/variable/setterStores the current input when triggered into a variable.
+ + + diff --git a/code/modules/wiremod/core/component.html b/code/modules/wiremod/core/component.html new file mode 100644 index 00000000000..b6a47b13d53 --- /dev/null +++ b/code/modules/wiremod/core/component.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/component.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/component.dm + +

+ + +
/obj/item/circuit_componentA component that performs a function when given an input
+ + + diff --git a/code/modules/wiremod/core/component_printer.html b/code/modules/wiremod/core/component_printer.html new file mode 100644 index 00000000000..90e7fcbf47e --- /dev/null +++ b/code/modules/wiremod/core/component_printer.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/core/component_printer.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/component_printer.dm + +

+ + + +
/obj/machinery/component_printerComponent printer, creates components for integrated circuits.
/obj/machinery/module_duplicatorModule duplicator, allows you to save and recreate module components.
+ + + diff --git a/code/modules/wiremod/core/datatypes.html b/code/modules/wiremod/core/datatypes.html new file mode 100644 index 00000000000..d67d1a10249 --- /dev/null +++ b/code/modules/wiremod/core/datatypes.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/datatypes.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/datatypes.dm + +

+ + +
/datum/circuit_datatypeA circuit datatype. Used to determine the datatype of a port and also handle any additional behaviour.
+ + + diff --git a/code/modules/wiremod/core/integrated_circuit.html b/code/modules/wiremod/core/integrated_circuit.html new file mode 100644 index 00000000000..05b1e629aa0 --- /dev/null +++ b/code/modules/wiremod/core/integrated_circuit.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/integrated_circuit.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/integrated_circuit.dm + +

+ + +
/obj/item/integrated_circuitA circuitboard that holds components that work together
+ + + diff --git a/code/modules/wiremod/core/port.html b/code/modules/wiremod/core/port.html new file mode 100644 index 00000000000..e9d4a37abd0 --- /dev/null +++ b/code/modules/wiremod/core/port.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/wiremod/core/port.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/port.dm + +

+ + + + +
/datum/portA port used by a component. Connects to other ports.
/datum/port/outputAn output port that many input ports can connect to
/datum/port/inputAn input port remembers connected output ports.
+ + + diff --git a/code/modules/wiremod/core/usb_cable.html b/code/modules/wiremod/core/usb_cable.html new file mode 100644 index 00000000000..707ee3288ca --- /dev/null +++ b/code/modules/wiremod/core/usb_cable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/usb_cable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/usb_cable.dm + +

+ + +
/obj/item/usb_cableA cable that can connect integrated circuits to anything with a USB port, such as computers and machines.
+ + + diff --git a/code/modules/wiremod/core/variable.html b/code/modules/wiremod/core/variable.html new file mode 100644 index 00000000000..ad6e619d1d0 --- /dev/null +++ b/code/modules/wiremod/core/variable.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/core/variable.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/core/variable.dm + +

+ + +
/datum/circuit_variableA circuit variable that holds the name, the datatype and the colour of the variable (taken from the datatype).
+ + + diff --git a/code/modules/wiremod/datatypes/composite/composite.html b/code/modules/wiremod/datatypes/composite/composite.html new file mode 100644 index 00000000000..eda0e925b20 --- /dev/null +++ b/code/modules/wiremod/datatypes/composite/composite.html @@ -0,0 +1,29 @@ + + + + + + + code/modules/wiremod/datatypes/composite/composite.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/datatypes/composite/composite.dm + +

+ + + +
/datum/circuit_composite_templateA template used to make composite datatypes for circuits. +Used so that we don't have to generate every single possible combination of types
/datum/circuit_datatype/composite_instanceA composite instance generated by a template
+ + + diff --git a/code/modules/wiremod/dcs_components/component_add_port.html b/code/modules/wiremod/dcs_components/component_add_port.html new file mode 100644 index 00000000000..a4dff041c4d --- /dev/null +++ b/code/modules/wiremod/dcs_components/component_add_port.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/dcs_components/component_add_port.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/dcs_components/component_add_port.dm + +

+ + +
/datum/component/circuit_component_add_portHelper component that handles users adding/removing ports from a circuit component.
+ + + diff --git a/code/modules/wiremod/preset/hello_world.html b/code/modules/wiremod/preset/hello_world.html new file mode 100644 index 00000000000..a61ad7e8635 --- /dev/null +++ b/code/modules/wiremod/preset/hello_world.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/preset/hello_world.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/preset/hello_world.dm + +

+ + +
/obj/item/integrated_circuit/loaded/hello_worldSays "Hello World" when triggered. Needs to be wired up and connected first.
+ + + diff --git a/code/modules/wiremod/preset/speech_relay.html b/code/modules/wiremod/preset/speech_relay.html new file mode 100644 index 00000000000..3ee5a398be2 --- /dev/null +++ b/code/modules/wiremod/preset/speech_relay.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/preset/speech_relay.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/preset/speech_relay.dm + +

+ + +
/obj/item/integrated_circuit/loaded/speech_relayActs like poly. Says whatever it hears.
+ + + diff --git a/code/modules/wiremod/shell/assembly.html b/code/modules/wiremod/shell/assembly.html new file mode 100644 index 00000000000..8edce3e3a2b --- /dev/null +++ b/code/modules/wiremod/shell/assembly.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/assembly.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/assembly.dm + +

+ + +
/obj/item/assembly/wiremodAn assembly that triggers and can be triggered by wires.
+ + + diff --git a/code/modules/wiremod/shell/bot.html b/code/modules/wiremod/shell/bot.html new file mode 100644 index 00000000000..db6580ef4f0 --- /dev/null +++ b/code/modules/wiremod/shell/bot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/bot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/bot.dm + +

+ + +
/obj/structure/botImmobile (but not dense) shells that can interact with world.
+ + + diff --git a/code/modules/wiremod/shell/compact_remote.html b/code/modules/wiremod/shell/compact_remote.html new file mode 100644 index 00000000000..d0ec2dff108 --- /dev/null +++ b/code/modules/wiremod/shell/compact_remote.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/compact_remote.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/compact_remote.dm + +

+ + +
/obj/item/compact_remoteA handheld device with one big button.
+ + + diff --git a/code/modules/wiremod/shell/controller.html b/code/modules/wiremod/shell/controller.html new file mode 100644 index 00000000000..15ced177f44 --- /dev/null +++ b/code/modules/wiremod/shell/controller.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/shell/controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/controller.dm + +

+ + +
/obj/item/controllerA handheld device with several buttons. +In game, this translates to having different signals for normal usage, alt-clicking, and ctrl-clicking when in your hand.
+ + + diff --git a/code/modules/wiremod/shell/dispenser.html b/code/modules/wiremod/shell/dispenser.html new file mode 100644 index 00000000000..4ca32b2fc74 --- /dev/null +++ b/code/modules/wiremod/shell/dispenser.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/dispenser.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/dispenser.dm + +

+ + +
/obj/structure/dispenser_botImmobile (but not dense) shell that can receive and dispense items.
+ + + diff --git a/code/modules/wiremod/shell/drone.html b/code/modules/wiremod/shell/drone.html new file mode 100644 index 00000000000..1eddba2c6cd --- /dev/null +++ b/code/modules/wiremod/shell/drone.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/drone.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/drone.dm + +

+ + +
/mob/living/circuit_droneA movable mob that can be fed inputs on which direction to travel.
+ + + diff --git a/code/modules/wiremod/shell/gun.html b/code/modules/wiremod/shell/gun.html new file mode 100644 index 00000000000..6073f4dca05 --- /dev/null +++ b/code/modules/wiremod/shell/gun.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/gun.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/gun.dm + +

+ + +
/obj/item/gun/energy/wiremod_gunA gun that lets you fire projectiles to enact circuitry.
+ + + diff --git a/code/modules/wiremod/shell/moneybot.html b/code/modules/wiremod/shell/moneybot.html new file mode 100644 index 00000000000..015a0e952ab --- /dev/null +++ b/code/modules/wiremod/shell/moneybot.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/moneybot.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/moneybot.dm + +

+ + +
/obj/structure/money_botImmobile (but not dense) shell that can receive and dispense money.
+ + + diff --git a/code/modules/wiremod/shell/scanner.html b/code/modules/wiremod/shell/scanner.html new file mode 100644 index 00000000000..4a59a6021bf --- /dev/null +++ b/code/modules/wiremod/shell/scanner.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/scanner.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/scanner.dm + +

+ + +
/obj/item/wiremod_scannerA handheld device that lets you flash it over people.
+ + + diff --git a/code/modules/wiremod/shell/server.html b/code/modules/wiremod/shell/server.html new file mode 100644 index 00000000000..9afb5aa6960 --- /dev/null +++ b/code/modules/wiremod/shell/server.html @@ -0,0 +1,28 @@ + + + + + + + code/modules/wiremod/shell/server.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/server.dm + +

+ + +
/obj/structure/serverImmobile (but not dense) shells that can interact with +world.
+ + + diff --git a/code/modules/wiremod/shell/shell_items.html b/code/modules/wiremod/shell/shell_items.html new file mode 100644 index 00000000000..cae0f382c43 --- /dev/null +++ b/code/modules/wiremod/shell/shell_items.html @@ -0,0 +1,27 @@ + + + + + + + code/modules/wiremod/shell/shell_items.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/modules/wiremod/shell/shell_items.dm + +

+ + +
/obj/item/shellPrinted out by protolathes. Screwdriver to complete the shell.
+ + + diff --git a/code/world.html b/code/world.html new file mode 100644 index 00000000000..34ecd0932d1 --- /dev/null +++ b/code/world.html @@ -0,0 +1,27 @@ + + + + + + + code/world.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

code/world.dm + +

+ + +
/worldTwo possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
+ + + diff --git a/datum.html b/datum.html new file mode 100644 index 00000000000..3e4df5b35ac --- /dev/null +++ b/datum.html @@ -0,0 +1,720 @@ + + + + + + + /datum - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

datum + + + +

+ +

The absolute base class for everything

+

A datum instantiated has no physical world prescence, use an atom if you want something +that actually lives in the world

+

Be very mindful about adding variables to this class, they are inherited by every single +thing in the entire game, and so you can easily cause memory usage to rise a lot with careless +use of variables at this level

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

_active_timersActive timers with this datum as the target
_datum_componentsComponents attached to this datum
_listen_lookupAny datum registered to receive signals from this datum is in this list
_signal_procsLazy associated list in the structure of target -> list(signal -> proctype) that are run when the datum receives that signal
_status_traitsStatus traits attached to this datum. associative list of the form: list(trait name (string) = list(source1, source2, source3,...))
datum_flagsDatum level flags
filter_dataList for handling persistent filters.
gc_destroyedTick count time when this object was destroyed.
open_uisOpen uis owned by this datum +Lazy, since this case is semi rare
tgui_shared_statesglobal
weak_referenceA weak reference to another datum

Procs

DestroyDefault implementation of clean-up code.
GenerateTagGenerate a tag for this /datum, if it implements one +Should be called as early as possible, best would be in New, to avoid weakref mistargets +Really just don't use this, you don't need it, global lists will do just fine MOST of the time +We really only use it for mobs to make id'ing people easier
GetComponentReturn any component assigned to this datum of the given type
GetComponentsGet all components of a given type that are attached to this datum
GetExactComponentReturn any component assigned to this datum of the exact given type
RegisterSignalRegister to listen for a signal from the passed in target
RegisterSignalsRegisters multiple signals to the same proc.
RemoveComponentSourceRemoves a component source from this datum
TakeComponentTransfer this component to another parent
TopicCalled when a href for this datum is clicked
TransferComponentsTransfer all components to target
UnregisterSignalStop listening to a given signal from target
_AddComponentCreates an instance of new_type in the datum and attaches to it as parent
_AddElementFinds the singleton for the element type given and attaches it to src
_LoadComponentGet existing component of type, or create it and return a reference to it
_RemoveElementFinds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE
_SendSignalInternal proc to handle most all of the signaling procedure
_clear_signal_refsOnly override this if you know what you're doing. You do not know what you're doing +This is a threat
add_filter
add_traitsProc that handles adding multiple traits to a target via a list. Must have a common source and target.
change_filter_priorityUpdates the priority of the passed filter key
deserialize_jsonDeserializes from JSON. Does not parse type.
deserialize_listAccepts a LIST from deserialize_datum. Should return whether or not the deserialization was successful.
dump_harddel_infoReturn text from this proc to provide extra context to hard deletes that happen to it +Optional, you should use this for cases where replication is difficult and extra context is required +Can be called more then once per object, use harddel_deets_dumped to avoid duplicate calls (I am so sorry)
get_filterReturns the filter associated with the passed key
get_filter_indexReturns the indice in filters of the given filter name. +If it is not found, returns null.
jatum_new_arglistGets the flat list that can be passed in a new /type(argslist(retval)) expression to recreate the datum. Must only return a list containing values that can be JATUM serialized
modify_filter
processThis proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.
ref_search_detailsReturn info about us for reference searching purposes +Will be logged as a representation of this datum if it's a part of a search chain
remove_filterRemoves the passed filter, or multiple filters, if supplied with a list.
remove_traitsProc that handles removing multiple traits from a target via a list. Must have a common source and target.
serialize_jsonSerializes into JSON. Does not encode type.
serialize_listReturn a list of data which can be used to investigate the datum, also ensure that you set the semver in the options list
string_assoc_listCaches associative lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).
string_assoc_nested_listCaches associative nested lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).
string_numbers_listCaches lists of numeric values.
transition_filter
ui_actpublic
ui_assetspublic
ui_closepublic
ui_datapublic
ui_hostprivate
ui_interactpublic
ui_stateprivate
ui_static_datapublic
ui_statuspublic
update_filtersReapplies all the filters.
update_static_datapublic
update_static_data_for_all_viewerspublic
vv_do_topicThis proc is only called if everything topic-wise is verified. The only verifications that should happen here is things like permission checks! +href_list is a reference, modifying it in these procs WILL change the rest of the proc in topic.dm of admin/view_variables! +This proc is for "high level" actions like admin heal/set species/etc/etc. The low level debugging things should go in admin/view_variables/topic_basic.dm incase this runtimes.
vv_edit_varCalled when a var is edited with the new value to change to
vv_get_dropdownGets all the dropdown options in the vv menu. +When overriding, make sure to call . = ..() first and appent to the result, that way parent items are always at the top and child items are further down. +Add seperators by doing VV_DROPDOWN_OPTION("", "---")
+

Var Details

_active_timers + + + + +

+

Active timers with this datum as the target

_datum_components + + + + +

+

Components attached to this datum

+

Lazy associated list in the structure of type -> component/list of components

_listen_lookup + + + + +

+

Any datum registered to receive signals from this datum is in this list

+

Lazy associated list in the structure of signal -> registree/list of registrees

_signal_procs + + + + +

+

Lazy associated list in the structure of target -> list(signal -> proctype) that are run when the datum receives that signal

_status_traits + + + + +

+

Status traits attached to this datum. associative list of the form: list(trait name (string) = list(source1, source2, source3,...))

datum_flags + + + + +

+

Datum level flags

filter_data + + + + +

+

List for handling persistent filters.

gc_destroyed + + + + +

+

Tick count time when this object was destroyed.

+

If this is non zero then the object has been garbage collected and is awaiting either +a hard del by the GC subsystme, or to be autocollected (if it has no references)

open_uis + + + + +

+

Open uis owned by this datum +Lazy, since this case is semi rare

tgui_shared_states + + + + +

+

global

+

Associative list of JSON-encoded shared states that were set by +tgui clients.

weak_reference + + + + +

+

A weak reference to another datum

Proc Details

Destroy +

+

Default implementation of clean-up code.

+

This should be overridden to remove all references pointing to the object being destroyed, if +you do override it, make sure to call the parent and return it's return value by default

+

Return an appropriate QDEL_HINT to modify handling of your deletion; +in most cases this is QDEL_HINT_QUEUE.

+

The base case is responsible for doing the following

+ +

Returns QDEL_HINT_QUEUE

GenerateTag +

+

Generate a tag for this /datum, if it implements one +Should be called as early as possible, best would be in New, to avoid weakref mistargets +Really just don't use this, you don't need it, global lists will do just fine MOST of the time +We really only use it for mobs to make id'ing people easier

GetComponent +

+

Return any component assigned to this datum of the given type

+

This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

GetComponents +

+

Get all components of a given type that are attached to this datum

+

Arguments:

+

GetExactComponent +

+

Return any component assigned to this datum of the exact given type

+

This will throw an error if it's possible to have more than one component of that type on the parent

+

Arguments:

+

RegisterSignal +

+

Register to listen for a signal from the passed in target

+

This sets up a listening relationship such that when the target object emits a signal +the source datum this proc is called upon, will receive a callback to the given proctype +Use PROC_REF(procname), TYPE_PROC_REF(type,procname) or GLOBAL_PROC_REF(procname) macros to validate the passed in proc at compile time. +PROC_REF for procs defined on current type or it's ancestors, TYPE_PROC_REF for procs defined on unrelated type and GLOBAL_PROC_REF for global procs. +Return values from procs registered must be a bitfield

+

Arguments:

+

RegisterSignals +

+

Registers multiple signals to the same proc.

RemoveComponentSource +

+

Removes a component source from this datum

TakeComponent +

+

Transfer this component to another parent

+

Component is taken from source datum

+

Arguments:

+

Topic +

+

Called when a href for this datum is clicked

+

Sends a COMSIG_TOPIC signal

TransferComponents +

+

Transfer all components to target

+

All components from source datum are taken

+

Arguments:

+

UnregisterSignal +

+

Stop listening to a given signal from target

+

Breaks the relationship between target and source datum, removing the callback when the signal fires

+

Doesn't care if a registration exists or not

+

Arguments:

+

_AddComponent +

+

Creates an instance of new_type in the datum and attaches to it as parent

+

Sends the COMSIG_COMPONENT_ADDED signal to the datum

+

Returns the component that was created. Or the old component in a dupe situation where COMPONENT_DUPE_UNIQUE was set

+

If this tries to add a component to an incompatible type, the component will be deleted and the result will be null. This is very unperformant, try not to do it

+

Properly handles duplicate situations based on the dupe_mode var

_AddElement +

+

Finds the singleton for the element type given and attaches it to src

_LoadComponent +

+

Get existing component of type, or create it and return a reference to it

+

Use this if the item needs to exist at the time of this call, but may not have been created before now

+

Arguments:

+

_RemoveElement +

+

Finds the singleton for the element type given and detaches it from src +You only need additional arguments beyond the type if you're using ELEMENT_BESPOKE

_SendSignal +

+

Internal proc to handle most all of the signaling procedure

+

Will runtime if used on datums with an empty lookup list

+

Use the SEND_SIGNAL define instead

_clear_signal_refs +

+

Only override this if you know what you're doing. You do not know what you're doing +This is a threat

add_filter +

+

add_traits +

+

Proc that handles adding multiple traits to a target via a list. Must have a common source and target.

change_filter_priority +

+

Updates the priority of the passed filter key

deserialize_json +

+

Deserializes from JSON. Does not parse type.

deserialize_list +

+

Accepts a LIST from deserialize_datum. Should return whether or not the deserialization was successful.

dump_harddel_info +

+

Return text from this proc to provide extra context to hard deletes that happen to it +Optional, you should use this for cases where replication is difficult and extra context is required +Can be called more then once per object, use harddel_deets_dumped to avoid duplicate calls (I am so sorry)

get_filter +

+

Returns the filter associated with the passed key

get_filter_index +

+

Returns the indice in filters of the given filter name. +If it is not found, returns null.

jatum_new_arglist +

+

Gets the flat list that can be passed in a new /type(argslist(retval)) expression to recreate the datum. Must only return a list containing values that can be JATUM serialized

modify_filter +

+

process +

+

This proc is called on a datum on every "cycle" if it is being processed by a subsystem. The time between each cycle is determined by the subsystem's "wait" setting. +You can start and stop processing a datum using the START_PROCESSING and STOP_PROCESSING defines.

+

Since the wait setting of a subsystem can be changed at any time, it is important that any rate-of-change that you implement in this proc is multiplied by the seconds_per_tick that is sent as a parameter, +Additionally, any "prob" you use in this proc should instead use the SPT_PROB define to make sure that the final probability per second stays the same even if the subsystem's wait is altered. +Examples where this must be considered:

+ +

If you override this do not call parent, as it will return PROCESS_KILL. This is done to prevent objects that dont override process() from staying in the processing list

ref_search_details +

+

Return info about us for reference searching purposes +Will be logged as a representation of this datum if it's a part of a search chain

remove_filter +

+

Removes the passed filter, or multiple filters, if supplied with a list.

remove_traits +

+

Proc that handles removing multiple traits from a target via a list. Must have a common source and target.

serialize_json +

+

Serializes into JSON. Does not encode type.

serialize_list +

+

Return a list of data which can be used to investigate the datum, also ensure that you set the semver in the options list

string_assoc_list +

+

Caches associative lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).

string_assoc_nested_list +

+

Caches associative nested lists with non-numeric stringify-able index keys and stringify-able values (text/typepath -> text/path/number).

string_numbers_list +

+

Caches lists of numeric values.

transition_filter +

+

ui_act +

+

public

+

Called on a UI when the UI receieves a href. +Think of this as Topic().

+

required action string The action/button that has been invoked by the user. +required params list A list of parameters attached to the button.

+

return bool If the user's input has been handled and the UI should update.

ui_assets +

+

public

+

Called on an object when a tgui object is being created, allowing you to +push various assets to tgui, for examples spritesheets.

+

return list List of asset datums or file paths.

ui_close +

+

public

+

Called on a UI's object when the UI is closed, not to be confused with +client/verb/uiclose(), which closes the ui window

ui_data +

+

public

+

Data to be sent to the UI. +This must be implemented for a UI to work.

+

required user mob The mob interacting with the UI.

+

return list Data to be sent to the UI.

ui_host +

+

private

+

The UI's host object (usually src_object). +This allows modules/datums to have the UI attached to them, +and be a part of another object.

ui_interact +

+

public

+

Used to open and update UIs. +If this proc is not implemented properly, the UI will not update correctly.

+

required user mob The mob who opened/is using the UI. +optional ui datum/tgui The UI to be updated, if it exists.

ui_state +

+

private

+

The UI's state controller to be used for created uis +This is a proc over a var for memory reasons

ui_static_data +

+

public

+

Static Data to be sent to the UI.

+

Static data differs from normal data in that it's large data that should be +sent infrequently. This is implemented optionally for heavy uis that would +be sending a lot of redundant data frequently. Gets squished into one +object on the frontend side, but the static part is cached.

+

required user mob The mob interacting with the UI.

+

return list Statuic Data to be sent to the UI.

ui_status +

+

public

+

Checks the UI state for a mob.

+

required user mob The mob who opened/is using the UI. +required state datum/ui_state The state to check.

+

return UI_state The state of the UI.

update_filters +

+

Reapplies all the filters.

update_static_data +

+

public

+

Forces an update on static data. Should be done manually whenever something +happens to change static data.

+

required user the mob currently interacting with the ui +optional ui ui to be updated

update_static_data_for_all_viewers +

+

public

+

Will force an update on static data for all viewers. +Should be done manually whenever something happens to +change static data.

vv_do_topic +

+

This proc is only called if everything topic-wise is verified. The only verifications that should happen here is things like permission checks! +href_list is a reference, modifying it in these procs WILL change the rest of the proc in topic.dm of admin/view_variables! +This proc is for "high level" actions like admin heal/set species/etc/etc. The low level debugging things should go in admin/view_variables/topic_basic.dm incase this runtimes.

vv_edit_var +

+

Called when a var is edited with the new value to change to

vv_get_dropdown +

+

Gets all the dropdown options in the vv menu. +When overriding, make sure to call . = ..() first and appent to the result, that way parent items are always at the top and child items are further down. +Add seperators by doing VV_DROPDOWN_OPTION("", "---")

+ + + diff --git a/datum/abductor_gear.html b/datum/abductor_gear.html new file mode 100644 index 00000000000..d38bfba72e1 --- /dev/null +++ b/datum/abductor_gear.html @@ -0,0 +1,71 @@ + + + + + + + /datum/abductor_gear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abductor_gear + + + +

+ + + + + + + +

Vars

build_pathBuild path of the gear itself
categoryCategory of the gear
costCredit cost of the gear
descriptionDescription of the gear
idUnique ID of the gear
nameName of the gear
+

Var Details

build_path + + + + +

+

Build path of the gear itself

category + + + + +

+

Category of the gear

cost + + + + +

+

Credit cost of the gear

description + + + + +

+

Description of the gear

id + + + + +

+

Unique ID of the gear

name + + + + +

+

Name of the gear

+ + + diff --git a/datum/achievement_data.html b/datum/achievement_data.html new file mode 100644 index 00000000000..77c2628cb22 --- /dev/null +++ b/datum/achievement_data.html @@ -0,0 +1,85 @@ + + + + + + + /datum/achievement_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

achievement_data + + + +

+ +

Datum that handles

+ + + + + + + +

Vars

dataUp to date list of all achievements and their info.
initializedHave we done our set-up yet?
original_cached_dataOriginal status of achievement.
owner_ckeyCkey of this achievement data's owner

Procs

get_achievement_statusGetter for the status/score of an achievement
get_changed_dataGets list of changed rows in MassInsert format
get_dataUpdates local cache with db data for the given achievement type if it wasn't loaded yet.
unlockUnlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard
+

Var Details

data + + + + +

+

Up to date list of all achievements and their info.

initialized + + + + +

+

Have we done our set-up yet?

original_cached_data + + + + +

+

Original status of achievement.

owner_ckey + + + + +

+

Ckey of this achievement data's owner

Proc Details

get_achievement_status +

+

Getter for the status/score of an achievement

get_changed_data +

+

Gets list of changed rows in MassInsert format

get_data +

+

Updates local cache with db data for the given achievement type if it wasn't loaded yet.

unlock +

+

Unlocks an achievement of a specific type. achievement type is a typepath to the award, user is the mob getting the award, and value is an optional value to be used for defining a score to add to the leaderboard

+ + + diff --git a/datum/achievement_report.html b/datum/achievement_report.html new file mode 100644 index 00000000000..831d3d6659b --- /dev/null +++ b/datum/achievement_report.html @@ -0,0 +1,57 @@ + + + + + + + /datum/achievement_report - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

achievement_report + + + +

+ +

A datum containing the info necessary for an achievement readout, reported and added to the global list in /datum/award/achievement/on_unlock(mob/user)

+ + + +

Vars

award_locationThe name of the area we earned this cheevo in
cheevoThe achievement that was won.
winnerThe winner of this achievement.
winner_keyThe ckey of our winner
+

Var Details

award_location + + + + +

+

The name of the area we earned this cheevo in

cheevo + + + + +

+

The achievement that was won.

winner + + + + +

+

The winner of this achievement.

winner_key + + + + +

+

The ckey of our winner

+ + + diff --git a/datum/action.html b/datum/action.html new file mode 100644 index 00000000000..b82bd56bc30 --- /dev/null +++ b/datum/action.html @@ -0,0 +1,333 @@ + + + + + + + /datum/action - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Action system + + + +

+ +

A simple base for an modular behavior attached to atom or datum.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

background_iconThis is the file for the BACKGROUND underlay icon of the button
background_icon_stateThis is the icon state state for the BACKGROUND underlay icon of the button +(If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background)
button_iconThis is the file for the icon that appears on the button
button_icon_stateThis is the icon state for the icon that appears on the button
buttontooltipstyleThe style the button's tooltips appear to be
check_flagsFlags that will determine of the owner / user of the action can... use the action
default_button_positionWhere any buttons we create should be by default. Accepts screen_loc and location defines
descThe description of what the action does, shown in button tooltips
nameThe name of the action
overlay_iconThis is the file for any FOREGROUND overlay icons on the button (such as borders)
overlay_icon_stateThis is the icon state for any FOREGROUND overlay icons on the button (such as borders)
ownerThis is who currently owns the action, and most often, this is who is using the action if it is triggered +This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove()
owner_has_controlIf False, the owner of this action does not get a hud and cannot activate it on their own
show_to_observersIf TRUE, this action button will be shown to observers / other mobs who view from this action's owner's eyes. +Used in /mob/proc/show_other_mob_action_buttons
targetThe target the action is attached to. If the target datum is deleted, the action is as well. +Set in New() via the proc link_to(). PLEASE set a target if you're making an action
transparent_when_unavailableWhether the button becomes transparent when it can't be used, or just reddened
viewersList of all mobs that are viewing our action button -> A unique movable for them to view.

Procs

GiveActionGives our action to the passed viewer. +Puts our action in their actions list and shows them the button.
GrantGrants the action to the passed mob, making it the owner
HideFromRemoves our action from the passed viewer.
IsAvailableWhether our action is currently available to use or not
RemoveRemove the passed mob from being owner of our action
ShowToAdds our action button to the screen of the passed viewer.
TriggerActually triggers the effects of the action. +Called when the on-screen button is clicked, for example.
apply_button_backgroundCreates the background underlay for the button
apply_button_iconApplies our button icon and icon state to the button
apply_button_overlayApplies any overlays to our button
build_all_button_iconsBuilds / updates all buttons we have shared or given out
build_button_iconBuilds the icon of the button.
clear_refSignal proc that clears any references based on the owner or target deleting +If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete
create_buttonCreates an action button movable for the passed mob, and returns it.
is_action_activeChecks if our action is actively selected. Used for selecting icons primarily.
link_toLinks the passed target to our action, registering any relevant signals
on_target_icon_updateUpdates our buttons if our target's icon was updated
on_target_mind_swappedSignal proc for COMSIG_MIND_TRANSFERRED - for minds, transfers our action to our new mob on mind transfer
update_button_nameUpdates the name and description of the button to match our action name and discription.
update_button_statusAny other miscellaneous "status" updates within the action button is handled here, +such as redding out when unavailable or modifying maptext.
update_status_on_signalA general use signal proc that reacts to an event and updates JUST our button's status
+

Var Details

background_icon + + + + +

+

This is the file for the BACKGROUND underlay icon of the button

background_icon_state + + + + +

+

This is the icon state state for the BACKGROUND underlay icon of the button +(If set to ACTION_BUTTON_DEFAULT_BACKGROUND, uses the hud's default background)

button_icon + + + + +

+

This is the file for the icon that appears on the button

button_icon_state + + + + +

+

This is the icon state for the icon that appears on the button

buttontooltipstyle + + + + +

+

The style the button's tooltips appear to be

check_flags + + + + +

+

Flags that will determine of the owner / user of the action can... use the action

default_button_position + + + + +

+

Where any buttons we create should be by default. Accepts screen_loc and location defines

desc + + + + +

+

The description of what the action does, shown in button tooltips

name + + + + +

+

The name of the action

overlay_icon + + + + +

+

This is the file for any FOREGROUND overlay icons on the button (such as borders)

overlay_icon_state + + + + +

+

This is the icon state for any FOREGROUND overlay icons on the button (such as borders)

owner + + + + +

+

This is who currently owns the action, and most often, this is who is using the action if it is triggered +This can be the same as "target" but is not ALWAYS the same - this is set and unset with Grant() and Remove()

owner_has_control + + + + +

+

If False, the owner of this action does not get a hud and cannot activate it on their own

show_to_observers + + + + +

+

If TRUE, this action button will be shown to observers / other mobs who view from this action's owner's eyes. +Used in /mob/proc/show_other_mob_action_buttons

target + + + + +

+

The target the action is attached to. If the target datum is deleted, the action is as well. +Set in New() via the proc link_to(). PLEASE set a target if you're making an action

transparent_when_unavailable + + + + +

+

Whether the button becomes transparent when it can't be used, or just reddened

viewers + + + + +

+

List of all mobs that are viewing our action button -> A unique movable for them to view.

Proc Details

GiveAction +

+

Gives our action to the passed viewer. +Puts our action in their actions list and shows them the button.

Grant +

+

Grants the action to the passed mob, making it the owner

HideFrom +

+

Removes our action from the passed viewer.

IsAvailable +

+

Whether our action is currently available to use or not

+

Remove +

+

Remove the passed mob from being owner of our action

ShowTo +

+

Adds our action button to the screen of the passed viewer.

Trigger +

+

Actually triggers the effects of the action. +Called when the on-screen button is clicked, for example.

apply_button_background +

+

Creates the background underlay for the button

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

apply_button_icon +

+

Applies our button icon and icon state to the button

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

apply_button_overlay +

+

Applies any overlays to our button

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

build_all_button_icons +

+

Builds / updates all buttons we have shared or given out

build_button_icon +

+

Builds the icon of the button.

+

Concept:

+ +

button - which button we are modifying the icon of +force - whether we're forcing a full update

clear_ref +

+

Signal proc that clears any references based on the owner or target deleting +If the owner's deleted, we will simply remove from them, but if the target's deleted, we will self-delete

create_button +

+

Creates an action button movable for the passed mob, and returns it.

is_action_active +

+

Checks if our action is actively selected. Used for selecting icons primarily.

+

Links the passed target to our action, registering any relevant signals

on_target_icon_update +

+

Updates our buttons if our target's icon was updated

on_target_mind_swapped +

+

Signal proc for COMSIG_MIND_TRANSFERRED - for minds, transfers our action to our new mob on mind transfer

update_button_name +

+

Updates the name and description of the button to match our action name and discription.

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

update_button_status +

+

Any other miscellaneous "status" updates within the action button is handled here, +such as redding out when unavailable or modifying maptext.

+

current_button - what button are we editing? +force - whether an update is forced regardless of existing status

update_status_on_signal +

+

A general use signal proc that reacts to an event and updates JUST our button's status

+ + + diff --git a/datum/action/chameleon_outfit.html b/datum/action/chameleon_outfit.html new file mode 100644 index 00000000000..e4eafe6f21f --- /dev/null +++ b/datum/action/chameleon_outfit.html @@ -0,0 +1,77 @@ + + + + + + + /datum/action/chameleon_outfit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chameleon_outfit + + + +

+ + + + + + + +

Vars

applyingDetermines when we're in use
custom_outfitsAssoc list of custom outfit names ("Custom outfit 1", "Custom outfit 2", etc) to list of all item typepaths saved in that outfit
max_custom_oufitsCap on how many custom outfits we can save
next_custom_outfitUsed to generate the next custom outfit name, also to track which next to override if we've passed the limit
outfit_optionsCached assoc list of job outfit datums by their names that we can select +If you intend on editing this, ensure you are copying it first

Procs

apply_outfitApplies the given outfit to all chameleon actions the owner has
+

Var Details

applying + + + + +

+

Determines when we're in use

custom_outfits + + + + +

+

Assoc list of custom outfit names ("Custom outfit 1", "Custom outfit 2", etc) to list of all item typepaths saved in that outfit

max_custom_oufits + + + + +

+

Cap on how many custom outfits we can save

next_custom_outfit + + + + +

+

Used to generate the next custom outfit name, also to track which next to override if we've passed the limit

outfit_options + + + + +

+

Cached assoc list of job outfit datums by their names that we can select +If you intend on editing this, ensure you are copying it first

Proc Details

apply_outfit +

+

Applies the given outfit to all chameleon actions the owner has

+
+ + + diff --git a/datum/action/changeling.html b/datum/action/changeling.html new file mode 100644 index 00000000000..0d3ede3bae9 --- /dev/null +++ b/datum/action/changeling.html @@ -0,0 +1,119 @@ + + + + + + + /datum/action/changeling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

changeling + + + +

+ + + + + + + + + + + +

Vars

activeused by a few powers that toggle
chemical_costHow many changeling chems it costs to use
dna_costCost of the ability in dna points, negative values are not valid
helptextDetails displayed in fine print within the changling emporium
ignores_fakedeathusable when the changeling is in death coma
req_absorbsSimilar to req_dna, but only gained from absorbing, not DNA sting
req_dnaAmount of dna needed to use this ability. Note, changelings always have atleast 1
req_humanIf you need to be humanoid to use this ability (disincludes monkeys)
req_statMaximum stat before the ability is blocked. +For example, UNCONSCIOUS prevents it from being used when in hard crit or dead, +while DEAD allows the ability to be used on any stat values.

Procs

try_to_stingContrary to the name, this proc isn't just used by changeling stings. It handles the activation of the action and the deducation of its cost. +The order of the proc chain is: +can_sting(). Should this fail, the process gets aborted early. +sting_action(). This proc usually handles the actual effect of the action. +Should sting_action succeed the following will be done: +sting_feedback(). Produces feedback on the performed action. Don't ask me why this isn't handled in sting_action() +The deduction of the cost of this power. +Returns TRUE on a successful activation.
+

Var Details

active + + + + +

+

used by a few powers that toggle

chemical_cost + + + + +

+

How many changeling chems it costs to use

dna_cost + + + + +

+

Cost of the ability in dna points, negative values are not valid

+

Special numbers include CHANGELING_POWER_INNATE, which are given to changeling for free without bring prompted +and CHANGELING_POWER_UNOBTAINABLE, which are not available for purchase in the changeling emporium

helptext + + + + +

+

Details displayed in fine print within the changling emporium

ignores_fakedeath + + + + +

+

usable when the changeling is in death coma

req_absorbs + + + + +

+

Similar to req_dna, but only gained from absorbing, not DNA sting

req_dna + + + + +

+

Amount of dna needed to use this ability. Note, changelings always have atleast 1

req_human + + + + +

+

If you need to be humanoid to use this ability (disincludes monkeys)

req_stat + + + + +

+

Maximum stat before the ability is blocked. +For example, UNCONSCIOUS prevents it from being used when in hard crit or dead, +while DEAD allows the ability to be used on any stat values.

Proc Details

try_to_sting +

+

Contrary to the name, this proc isn't just used by changeling stings. It handles the activation of the action and the deducation of its cost. +The order of the proc chain is: +can_sting(). Should this fail, the process gets aborted early. +sting_action(). This proc usually handles the actual effect of the action. +Should sting_action succeed the following will be done: +sting_feedback(). Produces feedback on the performed action. Don't ask me why this isn't handled in sting_action() +The deduction of the cost of this power. +Returns TRUE on a successful activation.

+ + + diff --git a/datum/action/changeling/absorb_dna.html b/datum/action/changeling/absorb_dna.html new file mode 100644 index 00000000000..33f9dbf6474 --- /dev/null +++ b/datum/action/changeling/absorb_dna.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/changeling/absorb_dna - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

absorb_dna + + + +

+ + +

Vars

is_absorbingif we're currently absorbing, used for sanity
+

Var Details

is_absorbing + + + + +

+

if we're currently absorbing, used for sanity

+ + + diff --git a/datum/action/changeling/augmented_eyesight.html b/datum/action/changeling/augmented_eyesight.html new file mode 100644 index 00000000000..568cefe9b44 --- /dev/null +++ b/datum/action/changeling/augmented_eyesight.html @@ -0,0 +1,42 @@ + + + + + + + /datum/action/changeling/augmented_eyesight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

augmented_eyesight + + + +

+ + + +

Procs

eye_implantedSignal proc to grant the correct level of flash sensitivity
eye_removedSignal proc to remove flash sensitivity when the eyes are removed

Proc Details

eye_implanted +

+

Signal proc to grant the correct level of flash sensitivity

eye_removed +

+

Signal proc to remove flash sensitivity when the eyes are removed

+ + + diff --git a/datum/action/changeling/defib_grasp.html b/datum/action/changeling/defib_grasp.html new file mode 100644 index 00000000000..cafc9aa7182 --- /dev/null +++ b/datum/action/changeling/defib_grasp.html @@ -0,0 +1,59 @@ + + + + + + + /datum/action/changeling/defib_grasp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

defib_grasp + + + +

+ + + + + +

Vars

heal_flagsFlags to pass to fully heal when we get zapped

Procs

execute_defibExecutes the defib action, causing the changeling to fully heal and get up.
on_defibbedSignal proc for COMSIG_DEFIBRILLATOR_PRE_HELP_ZAP.
remove_armsRemoves the arms of the defibber if they're a carbon, and stuns them for a bit. +If they're a cyborg, they'll just get stunned instead.
+

Var Details

heal_flags + + + + +

+

Flags to pass to fully heal when we get zapped

Proc Details

execute_defib +

+

Executes the defib action, causing the changeling to fully heal and get up.

on_defibbed +

+

Signal proc for COMSIG_DEFIBRILLATOR_PRE_HELP_ZAP.

remove_arms +

+

Removes the arms of the defibber if they're a carbon, and stuns them for a bit. +If they're a cyborg, they'll just get stunned instead.

+ + + diff --git a/datum/action/changeling/fakedeath.html b/datum/action/changeling/fakedeath.html new file mode 100644 index 00000000000..dd9e27a3d15 --- /dev/null +++ b/datum/action/changeling/fakedeath.html @@ -0,0 +1,82 @@ + + + + + + + /datum/action/changeling/fakedeath - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fakedeath + + + +

+ + + + + + + + +

Vars

fakedeath_durationHow long it takes for revival to ready upon entering stasis. +The changeling can opt to stay in fakedeath for longer, though.
revive_readyIf TRUE, we're ready to revive and can click the button to heal.

Procs

disable_reviveSets [revive_ready] to FALSE and updates the button icons. +Can be called mid-revival if the process is being cancelled
enable_fakedeathUsed to enable fakedeath and register relevant signals / start timers
enable_reviveSets [revive_ready] to TRUE and updates the button icons.
fakedeath_resetSignal proc to stop the revival process if the changeling exits their stasis early.
on_stat_changeSignal proc to exit fakedeath early if we're revived from being previously dead
+

Var Details

fakedeath_duration + + + + +

+

How long it takes for revival to ready upon entering stasis. +The changeling can opt to stay in fakedeath for longer, though.

revive_ready + + + + +

+

If TRUE, we're ready to revive and can click the button to heal.

Proc Details

disable_revive +

+

Sets [revive_ready] to FALSE and updates the button icons. +Can be called mid-revival if the process is being cancelled

enable_fakedeath +

+

Used to enable fakedeath and register relevant signals / start timers

enable_revive +

+

Sets [revive_ready] to TRUE and updates the button icons.

fakedeath_reset +

+

Signal proc to stop the revival process if the changeling exits their stasis early.

on_stat_change +

+

Signal proc to exit fakedeath early if we're revived from being previously dead

+ + + diff --git a/datum/action/changeling/lesserform.html b/datum/action/changeling/lesserform.html new file mode 100644 index 00000000000..41b9c16cd33 --- /dev/null +++ b/datum/action/changeling/lesserform.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/changeling/lesserform - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lesserform + + + +

+ + + + + + +

Vars

transform_instantlyWhether to allow the transformation animation to play

Procs

become_monkeyBecome a monkey
changed_formCalled when you become a human or monkey, whether or not it was voluntary
select_formReturns the form to transform back into, automatically selects your only profile if you only have one
unmonkeyStop being a monkey
+

Var Details

transform_instantly + + + + +

+

Whether to allow the transformation animation to play

Proc Details

become_monkey +

+

Become a monkey

changed_form +

+

Called when you become a human or monkey, whether or not it was voluntary

select_form +

+

Returns the form to transform back into, automatically selects your only profile if you only have one

unmonkey +

+

Stop being a monkey

+ + + diff --git a/datum/action/changeling/mmi_talk.html b/datum/action/changeling/mmi_talk.html new file mode 100644 index 00000000000..1aa4d97c0c6 --- /dev/null +++ b/datum/action/changeling/mmi_talk.html @@ -0,0 +1,82 @@ + + + + + + + /datum/action/changeling/mmi_talk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mmi_talk + + + +

+ + + + + + + + +

Vars

brain_refReference to the brain we're talking through.
mmi_viewA map view of the area around the MMI.
mmi_view_backgroundThe background for the MMI map view.
mmi_view_keyThe key that the map view uses.
update_view_trackerA movement detector that updates the map view when the MMI moves around.

Procs

relay_hearingSignal proc for COMSIG_MOVABLE_HEAR to relay stuff the MMI hears to the ling. +Not super good, but it works.
update_mmi_viewUsed in callbacks to update the map view when the MMI moves.
+

Var Details

brain_ref + + + + +

+

Reference to the brain we're talking through.

+

Set when created via the ling decoy component. +If the brain ends up being qdelled, this action will also be qdelled, and thus this ref is cleared.

mmi_view + + + + +

+

A map view of the area around the MMI.

mmi_view_background + + + + +

+

The background for the MMI map view.

mmi_view_key + + + + +

+

The key that the map view uses.

update_view_tracker + + + + +

+

A movement detector that updates the map view when the MMI moves around.

Proc Details

relay_hearing +

+

Signal proc for COMSIG_MOVABLE_HEAR to relay stuff the MMI hears to the ling. +Not super good, but it works.

update_mmi_view +

+

Used in callbacks to update the map view when the MMI moves.

+ + + diff --git a/datum/action/changeling/sting/transformation.html b/datum/action/changeling/sting/transformation.html new file mode 100644 index 00000000000..e645080d8a5 --- /dev/null +++ b/datum/action/changeling/sting/transformation.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/changeling/sting/transformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transformation + + + +

+ + + +

Vars

selected_dnaA reference to our active profile, which we grab DNA from
sting_durationDuration of the sting
+

Var Details

selected_dna + + + + +

+

A reference to our active profile, which we grab DNA from

sting_duration + + + + +

+

Duration of the sting

+ + + diff --git a/datum/action/changeling/suit.html b/datum/action/changeling/suit.html new file mode 100644 index 00000000000..28e0b20b0af --- /dev/null +++ b/datum/action/changeling/suit.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/changeling/suit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

suit + + + +

+ + +

Procs

became_monkeyRemove suit if we become a monkey

Proc Details

became_monkey +

+

Remove suit if we become a monkey

+ + + diff --git a/datum/action/changeling/void_adaption.html b/datum/action/changeling/void_adaption.html new file mode 100644 index 00000000000..7e859fcdf1c --- /dev/null +++ b/datum/action/changeling/void_adaption.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/changeling/void_adaption - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

void_adaption + + + +

+ + + + + + +

Vars

currently_activeAre we currently protecting our user?
gain_traitsTraits we apply to become immune to the environment
recharge_slowdownHow much we slow chemical regeneration while active, in chems per second

Procs

check_environmentChecks if we would be providing any useful benefit at present
on_removed_adaptionCalled when we stop being adapted
+

Var Details

currently_active + + + + +

+

Are we currently protecting our user?

gain_traits + + + + +

+

Traits we apply to become immune to the environment

recharge_slowdown + + + + +

+

How much we slow chemical regeneration while active, in chems per second

Proc Details

check_environment +

+

Checks if we would be providing any useful benefit at present

on_removed_adaption +

+

Called when we stop being adapted

+ + + diff --git a/datum/action/changeling/weapon.html b/datum/action/changeling/weapon.html new file mode 100644 index 00000000000..f71b11a1755 --- /dev/null +++ b/datum/action/changeling/weapon.html @@ -0,0 +1,42 @@ + + + + + + + /datum/action/changeling/weapon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

weapon + + + +

+ + + +

Procs

became_monkeyRemove weapons if we become a monkey
unequip_heldRemoves weapon if it exists, returns true if we removed something

Proc Details

became_monkey +

+

Remove weapons if we become a monkey

unequip_held +

+

Removes weapon if it exists, returns true if we removed something

+ + + diff --git a/datum/action/consume.html b/datum/action/consume.html new file mode 100644 index 00000000000..43a0ceab83e --- /dev/null +++ b/datum/action/consume.html @@ -0,0 +1,82 @@ + + + + + + + /datum/action/consume - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

consume + + + +

+ +

This action lets you consume the mob you're currently pulling. I'M GONNA CONSUUUUUME (this is considered one of the funny memes in the 2019-2020 era)

+ + + + + + +

Vars

vored_mobThe mob thats being consumed by this creature

Procs

NewRegister for owner death
RemoveHeal 6% of these specific damage types each process +Dump em at 200 bruteloss.
TriggerTry to consume the pulled mob
processGain health for the consumption and dump some brute loss on the target.
start_consumingStart allowing this datum to process to handle the damage done to this mob.
stop_consumingAAAAAAAAAAAAAAAAAAAAAAHHH!!! +Stop consuming the mob; dump them on the floor
+

Var Details

vored_mob + + + + +

+

The mob thats being consumed by this creature

Proc Details

New +

+

Register for owner death

Remove +

+

Heal 6% of these specific damage types each process +Dump em at 200 bruteloss.

Trigger +

+

Try to consume the pulled mob

process +

+

Gain health for the consumption and dump some brute loss on the target.

start_consuming +

+

Start allowing this datum to process to handle the damage done to this mob.

stop_consuming +

+

AAAAAAAAAAAAAAAAAAAAAAHHH!!! +Stop consuming the mob; dump them on the floor

+ + + diff --git a/datum/action/cooldown.html b/datum/action/cooldown.html new file mode 100644 index 00000000000..f794e6966ef --- /dev/null +++ b/datum/action/cooldown.html @@ -0,0 +1,254 @@ + + + + + + + /datum/action/cooldown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cooldown + + + +

+ +

Preset for an action that has a cooldown.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_background_icon_stateThe icon state the background uses when active
active_icon_stateThe active icon state of the spell's button icon, used for editing the icon "on"
active_overlay_icon_stateThe active icon_state of the overlay we apply
base_background_icon_stateThe base icon_state of this action's background
base_icon_stateThe base icon state of the spell's button icon, used for editing the icon "off"
base_overlay_icon_stateThe base icon_state of the overlay we apply
click_cd_overrideThe cooldown added onto the user's next click.
click_to_activateSetting for intercepting clicks before activating the ability
cooldown_roundingSignificant figures to round cooldown to
cooldown_timeThe default cooldown applied when StartCooldown() is called
initialized_actionsList of prerequisite actions that have been initialized
melee_cooldown_timeThe default melee cooldown applied after the ability ends
next_melee_use_timeThe actual next time the owner of this action can melee
next_use_timeThe actual next time this ability can be used
panelThe stat panel this action shows up in the stat panel in. If null, will not show up.
ranged_mousepointerWhat icon to replace our mouse cursor with when active. Optional
sequence_actionsList of prerequisite actions that are used in this sequenced ability, you cannot put other sequenced abilities in this
shared_cooldownShares cooldowns with other abiliies, bitflag
text_cooldownWhether or not you want the cooldown for the ability to display in text form
unset_after_clickIf TRUE, we will unset after using our click intercept.

Procs

ActivateTo be implemented by subtypes (if not generic)
InterceptClickOnIntercepts client owner clicks to activate the ability
PreActivateFor signal calling
StartCooldownStarts a cooldown time to be shared with similar abilities +Will use default cooldown time if an override is not specified
StartCooldownOthersStarts a cooldown time for other abilities that share a cooldown with this. Has some niche usage with more complicated attack ai! +Will use default cooldown time if an override is not specified
StartCooldownSelfStarts a cooldown time for this ability only +Will use default cooldown time if an override is not specified
create_sequence_actionsInitializes any sequence actions
handle_melee_attackCancels melee attacks if they are on cooldown.
set_click_abilitySet our action as the click override on the passed mob.
set_statpanel_formatFormats the action to be returned to the stat panel.
unset_click_abilityUnset our action as the click override of the passed mob.
+

Var Details

active_background_icon_state + + + + +

+

The icon state the background uses when active

active_icon_state + + + + +

+

The active icon state of the spell's button icon, used for editing the icon "on"

active_overlay_icon_state + + + + +

+

The active icon_state of the overlay we apply

base_background_icon_state + + + + +

+

The base icon_state of this action's background

base_icon_state + + + + +

+

The base icon state of the spell's button icon, used for editing the icon "off"

base_overlay_icon_state + + + + +

+

The base icon_state of the overlay we apply

click_cd_override + + + + +

+

The cooldown added onto the user's next click.

click_to_activate + + + + +

+

Setting for intercepting clicks before activating the ability

cooldown_rounding + + + + +

+

Significant figures to round cooldown to

cooldown_time + + + + +

+

The default cooldown applied when StartCooldown() is called

initialized_actions + + + + +

+

List of prerequisite actions that have been initialized

melee_cooldown_time + + + + +

+

The default melee cooldown applied after the ability ends

next_melee_use_time + + + + +

+

The actual next time the owner of this action can melee

next_use_time + + + + +

+

The actual next time this ability can be used

panel + + + + +

+

The stat panel this action shows up in the stat panel in. If null, will not show up.

ranged_mousepointer + + + + +

+

What icon to replace our mouse cursor with when active. Optional

sequence_actions + + + + +

+

List of prerequisite actions that are used in this sequenced ability, you cannot put other sequenced abilities in this

shared_cooldown + + + + +

+

Shares cooldowns with other abiliies, bitflag

text_cooldown + + + + +

+

Whether or not you want the cooldown for the ability to display in text form

unset_after_click + + + + +

+

If TRUE, we will unset after using our click intercept.

Proc Details

Activate +

+

To be implemented by subtypes (if not generic)

InterceptClickOn +

+

Intercepts client owner clicks to activate the ability

PreActivate +

+

For signal calling

StartCooldown +

+

Starts a cooldown time to be shared with similar abilities +Will use default cooldown time if an override is not specified

StartCooldownOthers +

+

Starts a cooldown time for other abilities that share a cooldown with this. Has some niche usage with more complicated attack ai! +Will use default cooldown time if an override is not specified

StartCooldownSelf +

+

Starts a cooldown time for this ability only +Will use default cooldown time if an override is not specified

create_sequence_actions +

+

Initializes any sequence actions

handle_melee_attack +

+

Cancels melee attacks if they are on cooldown.

set_click_ability +

+

Set our action as the click override on the passed mob.

set_statpanel_format +

+

Formats the action to be returned to the stat panel.

unset_click_ability +

+

Unset our action as the click override of the passed mob.

+

if refund_cooldown is TRUE, we are being unset by the user clicking the action off +if refund_cooldown is FALSE, we are being forcefully unset, likely by someone actually using the action

+ + + diff --git a/datum/action/cooldown/alien.html b/datum/action/cooldown/alien.html new file mode 100644 index 00000000000..0bc3ebcb1b1 --- /dev/null +++ b/datum/action/cooldown/alien.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

alien + + + +

+ + +

Vars

plasma_costHow much plasma this action uses.
+

Var Details

plasma_cost + + + + +

+

How much plasma this action uses.

+ + + diff --git a/datum/action/cooldown/alien/acid/corrosion.html b/datum/action/cooldown/alien/acid/corrosion.html new file mode 100644 index 00000000000..5d515f170ab --- /dev/null +++ b/datum/action/cooldown/alien/acid/corrosion.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/alien/acid/corrosion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

corrosion + + + +

+ + + +

Vars

corrosion_acid_powerThe acid power for the aliens acid corrosion, will ignore mobs
corrosion_acid_volumeThe acid volume for the aliens acid corrosion, will ignore mobs
+

Var Details

corrosion_acid_power + + + + +

+

The acid power for the aliens acid corrosion, will ignore mobs

corrosion_acid_volume + + + + +

+

The acid volume for the aliens acid corrosion, will ignore mobs

+ + + diff --git a/datum/action/cooldown/alien/hide.html b/datum/action/cooldown/alien/hide.html new file mode 100644 index 00000000000..112ccab8d37 --- /dev/null +++ b/datum/action/cooldown/alien/hide.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/hide - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hide + + + +

+ + +

Vars

hide_layerThe layer we are on while hiding
+

Var Details

hide_layer + + + + +

+

The layer we are on while hiding

+ + + diff --git a/datum/action/cooldown/alien/make_structure.html b/datum/action/cooldown/alien/make_structure.html new file mode 100644 index 00000000000..24d56ec2f30 --- /dev/null +++ b/datum/action/cooldown/alien/make_structure.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/alien/make_structure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

make_structure + + + +

+ + + + +

Vars

made_structure_typeThe type of structure the action makes on use

Procs

check_for_duplicateChecks if there's a duplicate structure in the owner's turf
check_for_ventsChecks if there's an atmos machine (vent) in the owner's turf
+

Var Details

made_structure_type + + + + +

+

The type of structure the action makes on use

Proc Details

check_for_duplicate +

+

Checks if there's a duplicate structure in the owner's turf

check_for_vents +

+

Checks if there's an atmos machine (vent) in the owner's turf

+ + + diff --git a/datum/action/cooldown/alien/make_structure/resin.html b/datum/action/cooldown/alien/make_structure/resin.html new file mode 100644 index 00000000000..3f54976386b --- /dev/null +++ b/datum/action/cooldown/alien/make_structure/resin.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/make_structure/resin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

resin + + + +

+ + +

Vars

structuresA list of all structures we can make.
+

Var Details

structures + + + + +

+

A list of all structures we can make.

+ + + diff --git a/datum/action/cooldown/alien/promote.html b/datum/action/cooldown/alien/promote.html new file mode 100644 index 00000000000..6320aa20011 --- /dev/null +++ b/datum/action/cooldown/alien/promote.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/alien/promote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

promote + + + +

+ + +

Vars

promotion_plasma_costThe promotion only takes plasma when completed, not on activation.
+

Var Details

promotion_plasma_cost + + + + +

+

The promotion only takes plasma when completed, not on activation.

+ + + diff --git a/datum/action/cooldown/bot_announcement.html b/datum/action/cooldown/bot_announcement.html new file mode 100644 index 00000000000..e8a51a24498 --- /dev/null +++ b/datum/action/cooldown/bot_announcement.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/bot_announcement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bot_announcement + + + +

+ +

Say something and play a corresponding sound effect

+ +

Vars

automated_announcementsList of strings to sound effects corresponding to automated messages we can play

Procs

announceSpeak the provided line on the provided radio channel
+

Var Details

automated_announcements + + + + +

+

List of strings to sound effects corresponding to automated messages we can play

Proc Details

announce +

+

Speak the provided line on the provided radio channel

+ + + diff --git a/datum/action/cooldown/exquisite_bunch.html b/datum/action/cooldown/exquisite_bunch.html new file mode 100644 index 00000000000..270fa680ba6 --- /dev/null +++ b/datum/action/cooldown/exquisite_bunch.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/exquisite_bunch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

exquisite_bunch + + + +

+ +

spawns a plumb bunch of bananas imbued with mystical power.

+

Vars

activatingIf we are currently activating our ability.
+

Var Details

activating + + + + +

+

If we are currently activating our ability.

+ + + diff --git a/datum/action/cooldown/gel_cocoon.html b/datum/action/cooldown/gel_cocoon.html new file mode 100644 index 00000000000..f026a5724d4 --- /dev/null +++ b/datum/action/cooldown/gel_cocoon.html @@ -0,0 +1,49 @@ + + + + + + + /datum/action/cooldown/gel_cocoon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

gel_cocoon + + + +

+ +

This action lets you put a mob inside of a cacoon that will inject it with some chemicals.

+ + +

Procs

IsAvailableMob needs to have enough nutrition
gel_cocoonTry to put the pulled mob in a cocoon
put_in_cocoonPuts the mob in the new cocoon

Proc Details

IsAvailable +

+

Mob needs to have enough nutrition

gel_cocoon +

+

Try to put the pulled mob in a cocoon

put_in_cocoon +

+

Puts the mob in the new cocoon

+ + + diff --git a/datum/action/cooldown/grand_ritual.html b/datum/action/cooldown/grand_ritual.html new file mode 100644 index 00000000000..064f567e24c --- /dev/null +++ b/datum/action/cooldown/grand_ritual.html @@ -0,0 +1,170 @@ + + + + + + + /datum/action/cooldown/grand_ritual - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grand_ritual + + + +

+ +

The Grand Ritual is the Wizard's alternate victory condition +and also a tool to make funny distractions and progress the round state.

+

The wizard is assigned a random area to perform the ritual in. +This entails travelling to that area, drawing a 3x3 rune, and casting on it for a while. +Completing these causes a random event to immediately occur and may cause additional side effects in the area. +The more rituals are completed, the more dramatic the events which can be spawned.

+

After passing certain thresholds Grand Ritual completions will begin spawning active and expended Reality Tears. +Above a certian threshold, beginning the ritual will alert the crew to your location.

+

The 7th ritual completion is special and allows you to pick a "finale" effect which should be very dramatic. +Further completion after that returns to the usual behaviour.

+ + + + + + + + + + + + + + + + + +

Vars

area_blacklistAreas where you can't be tasked to draw a rune, usually because they're too mean
area_whitelistAreas where you can place a rune +To be honest if maintenance subtypes didn't exist I could probably have got away with just a blacklist, c'est la vie
blacklisted_rune_turfsA blacklist of turfs we cannot scribe on.
drawing_runeTrue while you are drawing a rune, prevents action spamming
drew_finaleIf you have drawn your finale rune
runeWeakref to a rune drawn in the current area, if there is one
target_areaPath to area we want to draw in next
times_completedNumber of times the grand ritual has been completed somewhere by this user
total_cheese_goal_metWhether we have sacrificed enough cheese or not
total_cheese_sacrificedNumber of cheese sacrificed on previously drawn runes

Procs

draw_runeDraws the ritual rune
get_appropriate_rune_typepathThe seventh rune we spawn is special
get_pinpoint_textCompare positions and output information. +Similar to heretic target locating. +But simplified because we shouldn't be able to target locations on lavaland or the gateway anyway.
on_rune_completeCalled when you finish invoking a rune you drew, get ready for another one.
pinpoint_areaPinpoints the ritual area
set_new_areaFinds a random station area to place our rune in
start_drawing_runeChecks if you're actually able to draw a rune here
validate_areaIf the target area doesn't exist or has been invalidated somehow, pick another one
+

Var Details

area_blacklist + + + + +

+

Areas where you can't be tasked to draw a rune, usually because they're too mean

area_whitelist + + + + +

+

Areas where you can place a rune +To be honest if maintenance subtypes didn't exist I could probably have got away with just a blacklist, c'est la vie

blacklisted_rune_turfs + + + + +

+

A blacklist of turfs we cannot scribe on.

drawing_rune + + + + +

+

True while you are drawing a rune, prevents action spamming

drew_finale + + + + +

+

If you have drawn your finale rune

rune + + + + +

+

Weakref to a rune drawn in the current area, if there is one

target_area + + + + +

+

Path to area we want to draw in next

times_completed + + + + +

+

Number of times the grand ritual has been completed somewhere by this user

total_cheese_goal_met + + + + +

+

Whether we have sacrificed enough cheese or not

total_cheese_sacrificed + + + + +

+

Number of cheese sacrificed on previously drawn runes

Proc Details

draw_rune +

+

Draws the ritual rune

get_appropriate_rune_typepath +

+

The seventh rune we spawn is special

get_pinpoint_text +

+

Compare positions and output information. +Similar to heretic target locating. +But simplified because we shouldn't be able to target locations on lavaland or the gateway anyway.

on_rune_complete +

+

Called when you finish invoking a rune you drew, get ready for another one.

pinpoint_area +

+

Pinpoints the ritual area

set_new_area +

+

Finds a random station area to place our rune in

start_drawing_rune +

+

Checks if you're actually able to draw a rune here

validate_area +

+

If the target area doesn't exist or has been invalidated somehow, pick another one

+ + + diff --git a/datum/action/cooldown/internal_smelting.html b/datum/action/cooldown/internal_smelting.html new file mode 100644 index 00000000000..2cf849628ac --- /dev/null +++ b/datum/action/cooldown/internal_smelting.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/internal_smelting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

internal_smelting + + + +

+ +

Lets golems smelt ore with their organs

+ + + +

Vars

minimum_smelt_speedMinimum time to take to smelt one ore into one result
smelt_speedTime it takes to smelt one ore into one result
speed_up_intervalAmount to speed up by every completion

Procs

smelt_heldSmelt an item held in one hand and put the result in the other
+

Var Details

minimum_smelt_speed + + + + +

+

Minimum time to take to smelt one ore into one result

smelt_speed + + + + +

+

Time it takes to smelt one ore into one result

speed_up_interval + + + + +

+

Amount to speed up by every completion

Proc Details

smelt_held +

+

Smelt an item held in one hand and put the result in the other

+ + + diff --git a/datum/action/cooldown/manual_heart.html b/datum/action/cooldown/manual_heart.html new file mode 100644 index 00000000000..c40d251dab4 --- /dev/null +++ b/datum/action/cooldown/manual_heart.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/cooldown/manual_heart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

manual_heart + + + +

+ +

Action to pump your heart. Cooldown will always be set to 1 second less than the pump delay.

+

Procs

IsAvailableThe action button is only available when you're a living carbon with blood and a heart.

Proc Details

IsAvailable +

+

The action button is only available when you're a living carbon with blood and a heart.

+ + + diff --git a/datum/action/cooldown/metabolicboost.html b/datum/action/cooldown/metabolicboost.html new file mode 100644 index 00000000000..8eb92506126 --- /dev/null +++ b/datum/action/cooldown/metabolicboost.html @@ -0,0 +1,56 @@ + + + + + + + /datum/action/cooldown/metabolicboost - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

metabolicboost + + + +

+ +

This ability lets the gelatinious ooze speed up for a little bit

+ + + +

Procs

ActivateGive the mob a speed boost, heat it up every second, and end the ability in 6 seconds
FinishSpeedupRemove the speed modifier and delete the timer for heating up
HeatUpHeat up the mob a little
IsAvailableMob needs to have enough nutrition

Proc Details

Activate +

+

Give the mob a speed boost, heat it up every second, and end the ability in 6 seconds

FinishSpeedup +

+

Remove the speed modifier and delete the timer for heating up

HeatUp +

+

Heat up the mob a little

IsAvailable +

+

Mob needs to have enough nutrition

+ + + diff --git a/datum/action/cooldown/mob_cooldown/assume_form.html b/datum/action/cooldown/mob_cooldown/assume_form.html new file mode 100644 index 00000000000..ab809e3ef44 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/assume_form.html @@ -0,0 +1,65 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/assume_form - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

assume_form + + + +

+ +

Allows a mob to assume the form of another item or mob. +Warning, this will likely shit the bricks if you add this action to anything more sophisticated than a basic mob- this isn't built for anything carbon-wise.

+ + + + +

Vars

blacklist_typecacheStuff that we can not disguise as.

Procs

assume_appearancesAssumes the appearance of a desired movable and applies it to our mob. Target is the movable in question.
can_assume_formRapid proc to test if we can assume the form of a given atom. Returns TRUE if we can, FALSE if we can't. Done like this so we can be nice and explicit.
determine_intentDetermines what our user meant by their action. If they clicked on themselves, we reset our appearance. Otherwise, we assume the appearance of the clicked-on item.
reset_appearancesResets the appearances of the mob to the default.
+

Var Details

blacklist_typecache + + + + +

+

Stuff that we can not disguise as.

Proc Details

assume_appearances +

+

Assumes the appearance of a desired movable and applies it to our mob. Target is the movable in question.

can_assume_form +

+

Rapid proc to test if we can assume the form of a given atom. Returns TRUE if we can, FALSE if we can't. Done like this so we can be nice and explicit.

determine_intent +

+

Determines what our user meant by their action. If they clicked on themselves, we reset our appearance. Otherwise, we assume the appearance of the clicked-on item.

reset_appearances +

+

Resets the appearances of the mob to the default.

+ + + diff --git a/datum/action/cooldown/mob_cooldown/blood_rain.html b/datum/action/cooldown/mob_cooldown/blood_rain.html new file mode 100644 index 00000000000..34227188f15 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/blood_rain.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/blood_rain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blood_rain + + + +

+ + + +

Vars

fire_intervaltime between each droplet launched
volley_counthow many droplets we will fire
+

Var Details

fire_interval + + + + +

+

time between each droplet launched

volley_count + + + + +

+

how many droplets we will fire

+ + + diff --git a/datum/action/cooldown/mob_cooldown/blood_warp.html b/datum/action/cooldown/mob_cooldown/blood_warp.html new file mode 100644 index 00000000000..5abc9706541 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/blood_warp.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/blood_warp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blood_warp + + + +

+ + + + +

Vars

client_pick_rangeThe range of turfs if a client is using this ability
pick_rangeThe range of turfs to try to jaunt to from around the target
remove_inner_poolsWhether or not to remove the inside of our radius from the possible pools to jaunt to
+

Var Details

client_pick_range + + + + +

+

The range of turfs if a client is using this ability

pick_range + + + + +

+

The range of turfs to try to jaunt to from around the target

remove_inner_pools + + + + +

+

Whether or not to remove the inside of our radius from the possible pools to jaunt to

+ + + diff --git a/datum/action/cooldown/mob_cooldown/bot/foam.html b/datum/action/cooldown/mob_cooldown/bot/foam.html new file mode 100644 index 00000000000..1acbfe2868f --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/bot/foam.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/bot/foam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

foam + + + +

+ + +

Vars

foam_rangerange of the foam to spread
+

Var Details

foam_range + + + + +

+

range of the foam to spread

+ + + diff --git a/datum/action/cooldown/mob_cooldown/brimbeam.html b/datum/action/cooldown/mob_cooldown/brimbeam.html new file mode 100644 index 00000000000..13354f2f0df --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/brimbeam.html @@ -0,0 +1,78 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/brimbeam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

brimbeam + + + +

+ +

Fires a bloody beam. Brimdemon Blast!

+ + + + + + +

Vars

beam_durationHow long does our beam last?
beam_partsA list of all the beam parts.
beam_rangeHow far does our beam go?
charge_durationHow long do we wind up before firing?
direction_overlayOverlay we show when we're about to fire

Procs

extinguish_laserGet rid of our laser when we are done with it
fire_laserCreate a laser in the direction we are facing
+

Var Details

beam_duration + + + + +

+

How long does our beam last?

beam_parts + + + + +

+

A list of all the beam parts.

beam_range + + + + +

+

How far does our beam go?

charge_duration + + + + +

+

How long do we wind up before firing?

direction_overlay + + + + +

+

Overlay we show when we're about to fire

Proc Details

extinguish_laser +

+

Get rid of our laser when we are done with it

fire_laser +

+

Create a laser in the direction we are facing

+ + + diff --git a/datum/action/cooldown/mob_cooldown/charge.html b/datum/action/cooldown/mob_cooldown/charge.html new file mode 100644 index 00000000000..df99bf51018 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/charge.html @@ -0,0 +1,106 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/charge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

charge + + + +

+ + + + + + + + + + + + +

Vars

actively_movingIf the current move is being triggered by us or not
charge_damageThe damage the charger does when bumping into something
charge_delayDelay before the charge actually occurs
charge_distanceThe maximum distance we can charge
charge_pastThe amount of turfs we move past the target
charge_speedThe sleep time before moving in deciseconds while charging
chargingList of charging mobs
destroy_objectsIf we destroy objects while charging

Procs

can_hit_targetReturns true if we're allowed to charge into this target
hit_targetActually hit someone
try_hit_targetAttempt to hit someone with our charge
+

Var Details

actively_moving + + + + +

+

If the current move is being triggered by us or not

charge_damage + + + + +

+

The damage the charger does when bumping into something

charge_delay + + + + +

+

Delay before the charge actually occurs

charge_distance + + + + +

+

The maximum distance we can charge

charge_past + + + + +

+

The amount of turfs we move past the target

charge_speed + + + + +

+

The sleep time before moving in deciseconds while charging

charging + + + + +

+

List of charging mobs

destroy_objects + + + + +

+

If we destroy objects while charging

Proc Details

can_hit_target +

+

Returns true if we're allowed to charge into this target

hit_target +

+

Actually hit someone

try_hit_target +

+

Attempt to hit someone with our charge

+ + + diff --git a/datum/action/cooldown/mob_cooldown/charge/basic_charge.html b/datum/action/cooldown/mob_cooldown/charge/basic_charge.html new file mode 100644 index 00000000000..c71b0751e2f --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/charge/basic_charge.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/charge/basic_charge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_charge + + + +

+ + + + + +

Vars

knockdown_durationAmount of time to knock over an impacted target
recoil_durationAmount of time to stun self upon impact
shake_durationHow long to shake for before charging
shake_pixel_shiftIntensity of shaking animation
+

Var Details

knockdown_duration + + + + +

+

Amount of time to knock over an impacted target

recoil_duration + + + + +

+

Amount of time to stun self upon impact

shake_duration + + + + +

+

How long to shake for before charging

shake_pixel_shift + + + + +

+

Intensity of shaking animation

+ + + diff --git a/datum/action/cooldown/mob_cooldown/charge/hallucination_charge.html b/datum/action/cooldown/mob_cooldown/charge/hallucination_charge.html new file mode 100644 index 00000000000..b2e6fff8c3d --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/charge/hallucination_charge.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/charge/hallucination_charge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hallucination_charge + + + +

+ + + + +

Vars

enragedCheck to see if we are enraged, enraged ability does more
hallucination_damageThe damage the hallucinations in our charge do
spawn_bloodCheck to see if we should spawn blood
+

Var Details

enraged + + + + +

+

Check to see if we are enraged, enraged ability does more

hallucination_damage + + + + +

+

The damage the hallucinations in our charge do

spawn_blood + + + + +

+

Check to see if we should spawn blood

+ + + diff --git a/datum/action/cooldown/mob_cooldown/charge_apc.html b/datum/action/cooldown/mob_cooldown/charge_apc.html new file mode 100644 index 00000000000..c702e3f93ec --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/charge_apc.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/charge_apc - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

charge_apc + + + +

+ + +

Vars

given_chargehow much charge are we giving off to an APC?
+

Var Details

given_charge + + + + +

+

how much charge are we giving off to an APC?

+ + + diff --git a/datum/action/cooldown/mob_cooldown/chasing_spikes.html b/datum/action/cooldown/mob_cooldown/chasing_spikes.html new file mode 100644 index 00000000000..ce794741eb6 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/chasing_spikes.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/chasing_spikes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chasing_spikes + + + +

+ +

An ability which makes spikes come out of the ground towards your target

+ +

Vars

active_chasersLazy list of references to spike trails

Procs

on_chaser_destroyedRemove a spike trail from our list of active trails
+

Var Details

active_chasers + + + + +

+

Lazy list of references to spike trails

Proc Details

on_chaser_destroyed +

+

Remove a spike trail from our list of active trails

+ + + diff --git a/datum/action/cooldown/mob_cooldown/command_spiders.html b/datum/action/cooldown/mob_cooldown/command_spiders.html new file mode 100644 index 00000000000..735f1fc01e5 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/command_spiders.html @@ -0,0 +1,48 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/command_spiders - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

command_spiders + + + +

+ +

Sends a message to all currently living spiders.

+ +

Procs

format_messageFormats the string to have an appropiate size and text color
spider_commandSends a big message to all spiders from the target.

Proc Details

format_message +

+

Formats the string to have an appropiate size and text color

spider_command +

+

Sends a big message to all spiders from the target.

+

Allows the user to send a message to all spiders that exist. Ghosts will also see the message. +Arguments:

+
+ + + diff --git a/datum/action/cooldown/mob_cooldown/dash.html b/datum/action/cooldown/mob_cooldown/dash.html new file mode 100644 index 00000000000..db35c7cff85 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/dash.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/dash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dash + + + +

+ + + +

Vars

dash_rangeThe range of the dash
pick_rangeThe distance you will be from the target after you dash
+

Var Details

dash_range + + + + +

+

The range of the dash

pick_range + + + + +

+

The distance you will be from the target after you dash

+ + + diff --git a/datum/action/cooldown/mob_cooldown/defensive_mode.html b/datum/action/cooldown/mob_cooldown/defensive_mode.html new file mode 100644 index 00000000000..dab8d8dd976 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/defensive_mode.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/defensive_mode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

defensive_mode + + + +

+ +

An ability that allows the viper spider to get in an defensive mode at the cost of speed.

+ +

Vars

defense_activeIf the defensive mode is activated or not.
modifier_typeMovement speed modifier used.
+

Var Details

defense_active + + + + +

+

If the defensive mode is activated or not.

modifier_type + + + + +

+

Movement speed modifier used.

+ + + diff --git a/datum/action/cooldown/mob_cooldown/expel_gas.html b/datum/action/cooldown/mob_cooldown/expel_gas.html new file mode 100644 index 00000000000..b8304c8b9aa --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/expel_gas.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/expel_gas - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

expel_gas + + + +

+ +

Expel a range of gases

+ + + +

Vars

active_gasGas being expelled.
possible_gasesAssociative list of types of gases to moles we create every life tick.

Procs

on_lifeRelease gas every life tick while active
stop_gasTurns off the gas
+

Var Details

active_gas + + + + +

+

Gas being expelled.

possible_gases + + + + +

+

Associative list of types of gases to moles we create every life tick.

Proc Details

on_life +

+

Release gas every life tick while active

stop_gas +

+

Turns off the gas

+ + + diff --git a/datum/action/cooldown/mob_cooldown/explosive_booby_trap.html b/datum/action/cooldown/mob_cooldown/explosive_booby_trap.html new file mode 100644 index 00000000000..75cf43da8c1 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/explosive_booby_trap.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/explosive_booby_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

explosive_booby_trap + + + +

+ +

An ability which can turn an object into a bomb

+ + +

Vars

boom_signalsStatic list of signals that activate the bomb.
decay_timeAfter this amount of time passses, bomb deactivates.

Procs

validate_targetValidate that we should blow up on this thing, preferably not on one of our allies
+

Var Details

boom_signals + + + + +

+

Static list of signals that activate the bomb.

decay_time + + + + +

+

After this amount of time passses, bomb deactivates.

Proc Details

validate_target +

+

Validate that we should blow up on this thing, preferably not on one of our allies

+ + + diff --git a/datum/action/cooldown/mob_cooldown/fire_breath.html b/datum/action/cooldown/mob_cooldown/fire_breath.html new file mode 100644 index 00000000000..9bcf0804b00 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath.html @@ -0,0 +1,113 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/fire_breath - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fire_breath + + + +

+ + + + + + + + + + + + + +

Vars

fire_damageHow much damage do you take when engulfed?
fire_delayTime to wait between spawning each fire turf
fire_rangeThe range of the fire
fire_soundThe sound played when you use this ability
fire_temperatureHow hot is our fire
fire_volume'How much' fire do we expose the turf to?
mech_damageHow much damage to mechs take when engulfed?

Procs

attack_sequenceApply our specific fire breathing shape, in proc form so we can override it in subtypes
burn_turfFinally spawn the actual fire, spawns the fire hotspot in case you want to recolour it or something
fire_lineBreathe fire in a line towards the target, optionally rotated at an offset from the target
on_burn_mobDo something unpleasant to someone we set on fire
progressive_fire_lineCreates fire with a delay on the list of targeted turfs
+

Var Details

fire_damage + + + + +

+

How much damage do you take when engulfed?

fire_delay + + + + +

+

Time to wait between spawning each fire turf

fire_range + + + + +

+

The range of the fire

fire_sound + + + + +

+

The sound played when you use this ability

fire_temperature + + + + +

+

How hot is our fire

fire_volume + + + + +

+

'How much' fire do we expose the turf to?

mech_damage + + + + +

+

How much damage to mechs take when engulfed?

Proc Details

attack_sequence +

+

Apply our specific fire breathing shape, in proc form so we can override it in subtypes

burn_turf +

+

Finally spawn the actual fire, spawns the fire hotspot in case you want to recolour it or something

fire_line +

+

Breathe fire in a line towards the target, optionally rotated at an offset from the target

on_burn_mob +

+

Do something unpleasant to someone we set on fire

progressive_fire_line +

+

Creates fire with a delay on the list of targeted turfs

+ + + diff --git a/datum/action/cooldown/mob_cooldown/fire_breath/cone.html b/datum/action/cooldown/mob_cooldown/fire_breath/cone.html new file mode 100644 index 00000000000..6c17335a6e6 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath/cone.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/fire_breath/cone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cone + + + +

+ +

Shoot three lines of fire in a sort of fork pattern approximating a cone

+

Vars

anglesThe angles relative to the target that shoot lines of fire
+

Var Details

angles + + + + +

+

The angles relative to the target that shoot lines of fire

+ + + diff --git a/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html b/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html new file mode 100644 index 00000000000..b3fdbd69920 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/fire_breath/mass_fire.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/fire_breath/mass_fire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mass_fire + + + +

+ +

Shoot fire in a whole bunch of directions

+ + + +

Vars

breath_delayHow long do we wait between each spin?
sectorsHow many fire lines do we produce to turn a full circle?
total_spinsHow many full circles do we perform?

Procs

fire_spinBreathe fire in a circle, with a slight angle offset based on which of our several circles it is
+

Var Details

breath_delay + + + + +

+

How long do we wait between each spin?

sectors + + + + +

+

How many fire lines do we produce to turn a full circle?

total_spins + + + + +

+

How many full circles do we perform?

Proc Details

fire_spin +

+

Breathe fire in a circle, with a slight angle offset based on which of our several circles it is

+ + + diff --git a/datum/action/cooldown/mob_cooldown/goliath_tentacles.html b/datum/action/cooldown/mob_cooldown/goliath_tentacles.html new file mode 100644 index 00000000000..8c98af821fe --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/goliath_tentacles.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/goliath_tentacles - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

goliath_tentacles + + + +

+ +

Place some grappling tentacles underfoot

+

Vars

max_rangeFurthest range we can activate ability at
+

Var Details

max_range + + + + +

+

Furthest range we can activate ability at

+ + + diff --git a/datum/action/cooldown/mob_cooldown/guardian_alarm_snare.html b/datum/action/cooldown/mob_cooldown/guardian_alarm_snare.html new file mode 100644 index 00000000000..af9ce143e69 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/guardian_alarm_snare.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/guardian_alarm_snare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guardian_alarm_snare + + + +

+ +

Place an invisible trap which alerts the guardian when it is crossed

+ + +

Vars

maximum_snaresHow many snares can we have?
placed_snaresWhat snares have we already placed?

Procs

on_snare_deletedWhen a snare is deleted remove it from tracking
+

Var Details

maximum_snares + + + + +

+

How many snares can we have?

placed_snares + + + + +

+

What snares have we already placed?

Proc Details

on_snare_deleted +

+

When a snare is deleted remove it from tracking

+ + + diff --git a/datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon.html b/datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon.html new file mode 100644 index 00000000000..85cde61221d --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guardian_bluespace_beacon + + + +

+ +

Place a beacon and then listen for clicks to teleport people to it

+ + + + + +

Vars

beaconOur teleportation beacon.
teleport_timeTime it takes to teleport something.

Procs

can_teleportValidate whether we can teleport this object
on_beacon_deletedDon't hold a reference to a deleted beacon
perform_teleportStart teleporting
try_teleportingTry and teleport something to our beacon
+

Var Details

beacon + + + + +

+

Our teleportation beacon.

teleport_time + + + + +

+

Time it takes to teleport something.

Proc Details

can_teleport +

+

Validate whether we can teleport this object

on_beacon_deleted +

+

Don't hold a reference to a deleted beacon

perform_teleport +

+

Start teleporting

try_teleporting +

+

Try and teleport something to our beacon

+ + + diff --git a/datum/action/cooldown/mob_cooldown/hivelord_spawn.html b/datum/action/cooldown/mob_cooldown/hivelord_spawn.html new file mode 100644 index 00000000000..9c610fbb61e --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/hivelord_spawn.html @@ -0,0 +1,85 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/hivelord_spawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hivelord_spawn + + + +

+ +

Spawns a little worm nearby

+ + + + + + + +

Vars

ai_target_keyIf a mob is not clicked directly, inherit targeting data from this blackboard key and setting it upon this target key
on_hit_cooldownDelay between triggering on hit
on_hit_delayMinimum time between triggering on hit
spawn_typeWhat are we actually spawning?
trigger_on_hitDo we automatically fire with no cooldown when damaged?

Procs

complete_spawnActually create a mob
on_attackedCalled when someone whacks us
spawn_broodSpawn a funny little worm
+

Var Details

ai_target_key + + + + +

+

If a mob is not clicked directly, inherit targeting data from this blackboard key and setting it upon this target key

on_hit_cooldown + + + + +

+

Delay between triggering on hit

on_hit_delay + + + + +

+

Minimum time between triggering on hit

spawn_type + + + + +

+

What are we actually spawning?

trigger_on_hit + + + + +

+

Do we automatically fire with no cooldown when damaged?

Proc Details

complete_spawn +

+

Actually create a mob

on_attacked +

+

Called when someone whacks us

spawn_brood +

+

Spawn a funny little worm

+ + + diff --git a/datum/action/cooldown/mob_cooldown/ice_demon_teleport.html b/datum/action/cooldown/mob_cooldown/ice_demon_teleport.html new file mode 100644 index 00000000000..86f6d2b0aff --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/ice_demon_teleport.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/ice_demon_teleport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ice_demon_teleport + + + +

+ + +

Vars

time_delaytime delay before teleport
+

Var Details

time_delay + + + + +

+

time delay before teleport

+ + + diff --git a/datum/action/cooldown/mob_cooldown/lava_swoop.html b/datum/action/cooldown/mob_cooldown/lava_swoop.html new file mode 100644 index 00000000000..f9bcef8630f --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/lava_swoop.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/lava_swoop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lava_swoop + + + +

+ + + +

Vars

enragedCheck to see if we are enraged
swoopingCheck if we are currently swooping
+

Var Details

enraged + + + + +

+

Check to see if we are enraged

swooping + + + + +

+

Check if we are currently swooping

+ + + diff --git a/datum/action/cooldown/mob_cooldown/lay_eggs.html b/datum/action/cooldown/mob_cooldown/lay_eggs.html new file mode 100644 index 00000000000..2c27a61816a --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/lay_eggs.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/lay_eggs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lay_eggs + + + +

+ + + +

Vars

egg_lay_timeHow long it takes for a broodmother to lay eggs.
egg_typeThe type of egg we create
+

Var Details

egg_lay_time + + + + +

+

How long it takes for a broodmother to lay eggs.

egg_type + + + + +

+

The type of egg we create

+ + + diff --git a/datum/action/cooldown/mob_cooldown/lay_eggs/enriched.html b/datum/action/cooldown/mob_cooldown/lay_eggs/enriched.html new file mode 100644 index 00000000000..f296f39a8ff --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/lay_eggs/enriched.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/lay_eggs/enriched - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

enriched + + + +

+ + +

Vars

chargesHow many charges we have to make eggs
+

Var Details

charges + + + + +

+

How many charges we have to make eggs

+ + + diff --git a/datum/action/cooldown/mob_cooldown/lay_web.html b/datum/action/cooldown/mob_cooldown/lay_web.html new file mode 100644 index 00000000000..6ceb40849d2 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/lay_web.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/lay_web - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lay_web + + + +

+ +

Make a sticky web under yourself for area fortification

+ + +

Vars

webbing_timeHow long it takes to lay a web

Procs

obstructed_by_other_webReturns true if there's a web we can't put stuff on in our turf
plant_webCreates a web in the current turf
+

Var Details

webbing_time + + + + +

+

How long it takes to lay a web

Proc Details

obstructed_by_other_web +

+

Returns true if there's a web we can't put stuff on in our turf

plant_web +

+

Creates a web in the current turf

+ + + diff --git a/datum/action/cooldown/mob_cooldown/lesser_carp_rift.html b/datum/action/cooldown/mob_cooldown/lesser_carp_rift.html new file mode 100644 index 00000000000..edfce521e95 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/lesser_carp_rift.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/lesser_carp_rift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Lesser Carp Rift + + + +

+ +

Teleport a short distance and leave a short-lived portal for people to follow through

+

Vars

max_rangeHow far away can you place a rift?
+

Var Details

max_range + + + + +

+

How far away can you place a rift?

+ + + diff --git a/datum/action/cooldown/mob_cooldown/mook_ability.html b/datum/action/cooldown/mob_cooldown/mook_ability.html new file mode 100644 index 00000000000..b151da86eb1 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/mook_ability.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/mook_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mook_ability + + + +

+ + +

Vars

is_mookare we a mook?
+

Var Details

is_mook + + + + +

+

are we a mook?

+ + + diff --git a/datum/action/cooldown/mob_cooldown/mook_ability/mook_leap.html b/datum/action/cooldown/mob_cooldown/mook_ability/mook_leap.html new file mode 100644 index 00000000000..ff837664477 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/mook_ability/mook_leap.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/mook_ability/mook_leap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mook_leap + + + +

+ + + + +

Vars

attack_intervalintervals between each of our attacks
times_to_attackhow many times do we attack if we reach the target?
wind_up_timetelegraph time before jumping
+

Var Details

attack_interval + + + + +

+

intervals between each of our attacks

times_to_attack + + + + +

+

how many times do we attack if we reach the target?

wind_up_time + + + + +

+

telegraph time before jumping

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack.html b/datum/action/cooldown/mob_cooldown/projectile_attack.html new file mode 100644 index 00000000000..a2767052c83 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

projectile_attack + + + +

+ + + + + + + +

Vars

default_projectile_spreadThe variance in the projectiles direction
has_homingIf the projectile should home in on its target
homing_turn_speedThe turning speed if there is homing
projectile_soundThe sound played when a projectile is fired
projectile_speed_multiplierThe multiplier to the projectiles speed (a value of 2 makes it twice as slow, 0.5 makes it twice as fast)
projectile_typeThe type of the projectile to be fired
+

Var Details

default_projectile_spread + + + + +

+

The variance in the projectiles direction

has_homing + + + + +

+

If the projectile should home in on its target

homing_turn_speed + + + + +

+

The turning speed if there is homing

projectile_sound + + + + +

+

The sound played when a projectile is fired

projectile_speed_multiplier + + + + +

+

The multiplier to the projectiles speed (a value of 2 makes it twice as slow, 0.5 makes it twice as fast)

projectile_type + + + + +

+

The type of the projectile to be fired

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/chaos.html b/datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/chaos.html new file mode 100644 index 00000000000..e66f4f161af --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/chaos.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack/magicarp_bolt/chaos - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chaos + + + +

+ +

Chaos variant picks one from a list

+

Vars

permitted_projectilesList of things we can cast
+

Var Details

permitted_projectiles + + + + +

+

List of things we can cast

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html b/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html new file mode 100644 index 00000000000..91beb00c5c6 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rapid_fire + + + +

+ + + +

Vars

shot_countTotal shot count
shot_delayDelay between shots
+

Var Details

shot_count + + + + +

+

Total shot count

shot_delay + + + + +

+

Delay between shots

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/seedling.html b/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/seedling.html new file mode 100644 index 00000000000..abb0cb0f323 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/seedling.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack/rapid_fire/seedling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

seedling + + + +

+ + + +

Vars

charge_up_timerhow long we must charge up before firing off
is_seedlingis the owner of this ability a seedling?
+

Var Details

charge_up_timer + + + + +

+

how long we must charge up before firing off

is_seedling + + + + +

+

is the owner of this ability a seedling?

+ + + diff --git a/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html b/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html new file mode 100644 index 00000000000..648a4a3809f --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/projectile_attack/spiral_shots - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spiral_shots + + + +

+ + +

Vars

enragedWhether or not the attack is the enraged form
+

Var Details

enraged + + + + +

+

Whether or not the attack is the enraged form

+ + + diff --git a/datum/action/cooldown/mob_cooldown/riot.html b/datum/action/cooldown/mob_cooldown/riot.html new file mode 100644 index 00000000000..e123215b5f3 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/riot.html @@ -0,0 +1,92 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/riot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

riot + + + +

+ +

This action checks some nearby maintenance animals and makes them your minions. +If none are nearby, creates a new mouse.

+ + + + + + + +

Vars

glockroach_commandsCommands you can give to glockroaches
mouse_commandsCommands you can give to your mouse army
rangeHow close does something need to be for us to recruit it?

Procs

convert_frogTurns a frog into a crazy frog. This doesn't do anything interesting and should when it becomes a basic mob.
convert_mouseTurns a mouse into an angry mouse
convert_roachTurns a roach into an angry roach
make_minionMakes a passed mob into our minion
riotAttempts to, in order and ending at any successful step:
+

Var Details

glockroach_commands + + + + +

+

Commands you can give to glockroaches

mouse_commands + + + + +

+

Commands you can give to your mouse army

range + + + + +

+

How close does something need to be for us to recruit it?

Proc Details

convert_frog +

+

Turns a frog into a crazy frog. This doesn't do anything interesting and should when it becomes a basic mob.

convert_mouse +

+

Turns a mouse into an angry mouse

convert_roach +

+

Turns a roach into an angry roach

make_minion +

+

Makes a passed mob into our minion

riot +

+

Attempts to, in order and ending at any successful step:

+
+ + + diff --git a/datum/action/cooldown/mob_cooldown/set_spider_directive.html b/datum/action/cooldown/mob_cooldown/set_spider_directive.html new file mode 100644 index 00000000000..65f9b4e35cc --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/set_spider_directive.html @@ -0,0 +1,37 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/set_spider_directive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

set_spider_directive + + + +

+ +

Sets a directive to be given to all future spiders created by the user. +This will be overwritten if used again.

+

Vars

current_directiveCurrent directive to apply
+

Var Details

current_directive + + + + +

+

Current directive to apply

+ + + diff --git a/datum/action/cooldown/mob_cooldown/skull_launcher.html b/datum/action/cooldown/mob_cooldown/skull_launcher.html new file mode 100644 index 00000000000..9826beded43 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/skull_launcher.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/skull_launcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skull_launcher + + + +

+ +

Spawns a little worm nearby

+ + + +

Vars

ai_target_keyIf a mob is not clicked directly, inherit targeting data from this blackboard key and setting it upon this target key
max_rangeHow far can we fire?
spawn_typeWhat are we actually spawning?

Procs

spawn_skullActually create a mob
+

Var Details

ai_target_key + + + + +

+

If a mob is not clicked directly, inherit targeting data from this blackboard key and setting it upon this target key

max_range + + + + +

+

How far can we fire?

spawn_type + + + + +

+

What are we actually spawning?

Proc Details

spawn_skull +

+

Actually create a mob

+ + + diff --git a/datum/action/cooldown/mob_cooldown/slippery_ice_floors.html b/datum/action/cooldown/mob_cooldown/slippery_ice_floors.html new file mode 100644 index 00000000000..a2efa7016b0 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/slippery_ice_floors.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/slippery_ice_floors - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slippery_ice_floors + + + +

+ + + +

Vars

radiusperimeter we will spawn the iced floors on
spread_durationintervals we will spawn the ice floors in
+

Var Details

radius + + + + +

+

perimeter we will spawn the iced floors on

spread_duration + + + + +

+

intervals we will spawn the ice floors in

+ + + diff --git a/datum/action/cooldown/mob_cooldown/sneak.html b/datum/action/cooldown/mob_cooldown/sneak.html new file mode 100644 index 00000000000..e344210bca4 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/sneak.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/sneak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sneak + + + +

+ + + +

Vars

animation_timeHow long it takes to become transparent
sneak_alphaThe alpha we go to when sneaking.
+

Var Details

animation_time + + + + +

+

How long it takes to become transparent

sneak_alpha + + + + +

+

The alpha we go to when sneaking.

+ + + diff --git a/datum/action/cooldown/mob_cooldown/solarbeam.html b/datum/action/cooldown/mob_cooldown/solarbeam.html new file mode 100644 index 00000000000..87c88b42f85 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/solarbeam.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/solarbeam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

solarbeam + + + +

+ + + + +

Vars

beam_charge_uphow long will it take for us to charge up the beam
is_seedlingis the owner of this ability a seedling?

Procs

launch_beamthe solarbeam will damage people, otherwise it will heal plants
+

Var Details

beam_charge_up + + + + +

+

how long will it take for us to charge up the beam

is_seedling + + + + +

+

is the owner of this ability a seedling?

Proc Details

launch_beam +

+

the solarbeam will damage people, otherwise it will heal plants

+ + + diff --git a/datum/action/cooldown/mob_cooldown/spine_traps.html b/datum/action/cooldown/mob_cooldown/spine_traps.html new file mode 100644 index 00000000000..9daca1e6a11 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/spine_traps.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/spine_traps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spine_traps + + + +

+ +

Marks several areas with thrusting spines which damage and slow people

+ + + + +

Vars

min_rangeDon't create zones within this radius
rangeCreate zones at most this far away
zones_to_createNumber of zones to place

Procs

is_valid_turfReturns true if we can place a trap at the specified location
place_zonePlaces a 3x3 area of spike traps around a central provided point, returns the list of now occupied turfs
+

Var Details

min_range + + + + +

+

Don't create zones within this radius

range + + + + +

+

Create zones at most this far away

zones_to_create + + + + +

+

Number of zones to place

Proc Details

is_valid_turf +

+

Returns true if we can place a trap at the specified location

place_zone +

+

Places a 3x3 area of spike traps around a central provided point, returns the list of now occupied turfs

+ + + diff --git a/datum/action/cooldown/mob_cooldown/transform_weapon.html b/datum/action/cooldown/mob_cooldown/transform_weapon.html new file mode 100644 index 00000000000..82028a6fd31 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/transform_weapon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/transform_weapon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transform_weapon + + + +

+ + +

Vars

max_cooldown_timeThe max possible cooldown, cooldown is random between the default cooldown time and this
+

Var Details

max_cooldown_time + + + + +

+

The max possible cooldown, cooldown is random between the default cooldown time and this

+ + + diff --git a/datum/action/cooldown/mob_cooldown/watcher_gaze.html b/datum/action/cooldown/mob_cooldown/watcher_gaze.html new file mode 100644 index 00000000000..de0c4c44f71 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/watcher_gaze.html @@ -0,0 +1,99 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/watcher_gaze - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

watcher_gaze + + + +

+ +

Do something nasty to everyone nearby if they're looking at us.

+ + + + + + + + + +

Vars

animation_timeHow long does it take to play our various animation stages
current_overlayWhat are we currently displaying?
effect_radiusAt what range do we check for vision?
stage_timerTimer until we go to the next stage
wait_delayHow long after pressing the button do we give people to turn around?

Procs

apply_effectDo something bad to someone who was looking at us
clear_current_overlayHide whatever overlay we are showing
hide_eyeAnimate our effect out
show_indicator_overlayDisplay an animated overlay over our head to indicate what's going on
trigger_effectDo some effects to whoever is looking at us
+

Var Details

animation_time + + + + +

+

How long does it take to play our various animation stages

current_overlay + + + + +

+

What are we currently displaying?

effect_radius + + + + +

+

At what range do we check for vision?

stage_timer + + + + +

+

Timer until we go to the next stage

wait_delay + + + + +

+

How long after pressing the button do we give people to turn around?

Proc Details

apply_effect +

+

Do something bad to someone who was looking at us

clear_current_overlay +

+

Hide whatever overlay we are showing

hide_eye +

+

Animate our effect out

show_indicator_overlay +

+

Display an animated overlay over our head to indicate what's going on

trigger_effect +

+

Do some effects to whoever is looking at us

+ + + diff --git a/datum/action/cooldown/mob_cooldown/watcher_gaze/ice.html b/datum/action/cooldown/mob_cooldown/watcher_gaze/ice.html new file mode 100644 index 00000000000..b3582473d38 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/watcher_gaze/ice.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/watcher_gaze/ice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ice + + + +

+ +

Icewing glare freezes you

+

Vars

max_throwMax distance to throw people looking at us
+

Var Details

max_throw + + + + +

+

Max distance to throw people looking at us

+ + + diff --git a/datum/action/cooldown/mob_cooldown/watcher_overwatch.html b/datum/action/cooldown/mob_cooldown/watcher_overwatch.html new file mode 100644 index 00000000000..ad820c2ebd1 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/watcher_overwatch.html @@ -0,0 +1,58 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/watcher_overwatch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

watcher_overwatch + + + +

+ +

Automatically shoot at a target if they do anything while this is active on them. +Currently not given to any mob, but retained so admins can use it.

+ + + +

Vars

max_rangeFurthest range we can activate ability at
overwatch_durationTime to watch for
projectile_soundSound the projectile we fire makes
projectile_typeType of projectile to fire
+

Var Details

max_range + + + + +

+

Furthest range we can activate ability at

overwatch_duration + + + + +

+

Time to watch for

projectile_sound + + + + +

+

Sound the projectile we fire makes

projectile_type + + + + +

+

Type of projectile to fire

+ + + diff --git a/datum/action/cooldown/mob_cooldown/wing_buffet.html b/datum/action/cooldown/mob_cooldown/wing_buffet.html new file mode 100644 index 00000000000..dbe750dd7c4 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/wing_buffet.html @@ -0,0 +1,113 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/wing_buffet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wing_buffet + + + +

+ +

Rise into the air and slam down, knocking people away. No real cooldown but has escalating endlag if used in quick succession.

+ + + + + + + + + + + +

Vars

active_timerTimer we use to track our current action
additional_endlagAmount of extra time to stay stunned after the end of the ability
applied_traitsList of traits we apply while the ability is ongoing, stops us from moving around and such
endlag_decay_per_secondHow much accumulated stun time do we subtract every second? Takes a full minute to regen off a single use :(
endlag_per_activationAmount of time to add to endlag after each successful use of the ability
exhaustion_multiplierIncrease the effect of our accumulated additional stun time by this much if space dragon has lost some rifts
gust_distanceHow far away can we reach people?
minimum_endlagMinimum amount of stun time following use of wing buffet
windup_timeHow long to animate for before we start?

Procs

begin_sequenceRise up into the air
ground_poundSlam into the ground
on_lifeDecay our accumulated additional tiredness
+

Var Details

active_timer + + + + +

+

Timer we use to track our current action

additional_endlag + + + + +

+

Amount of extra time to stay stunned after the end of the ability

applied_traits + + + + +

+

List of traits we apply while the ability is ongoing, stops us from moving around and such

endlag_decay_per_second + + + + +

+

How much accumulated stun time do we subtract every second? Takes a full minute to regen off a single use :(

endlag_per_activation + + + + +

+

Amount of time to add to endlag after each successful use of the ability

exhaustion_multiplier + + + + +

+

Increase the effect of our accumulated additional stun time by this much if space dragon has lost some rifts

gust_distance + + + + +

+

How far away can we reach people?

minimum_endlag + + + + +

+

Minimum amount of stun time following use of wing buffet

windup_time + + + + +

+

How long to animate for before we start?

Proc Details

begin_sequence +

+

Rise up into the air

ground_pound +

+

Slam into the ground

on_life +

+

Decay our accumulated additional tiredness

+ + + diff --git a/datum/action/cooldown/mob_cooldown/wrap.html b/datum/action/cooldown/mob_cooldown/wrap.html new file mode 100644 index 00000000000..0dedbe50c70 --- /dev/null +++ b/datum/action/cooldown/mob_cooldown/wrap.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/mob_cooldown/wrap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wrap + + + +

+ + +

Vars

wrap_timeThe time it takes to wrap something.
+

Var Details

wrap_time + + + + +

+

The time it takes to wrap something.

+ + + diff --git a/datum/action/cooldown/open_mob_commands.html b/datum/action/cooldown/open_mob_commands.html new file mode 100644 index 00000000000..b3e9a72cb1b --- /dev/null +++ b/datum/action/cooldown/open_mob_commands.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/open_mob_commands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

open_mob_commands + + + +

+ + + +

Vars

our_mobWeakref for storing our stargazer

Procs

open_menuOpens the pet command options menu for a mob.
+

Var Details

our_mob + + + + +

+

Weakref for storing our stargazer

Proc Details

open_menu +

+

Opens the pet command options menu for a mob.

+ + + diff --git a/datum/action/cooldown/rustle.html b/datum/action/cooldown/rustle.html new file mode 100644 index 00000000000..3f4926dac61 --- /dev/null +++ b/datum/action/cooldown/rustle.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/rustle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rustle + + + +

+ +

drops peels around the mob when activated

+ +

Vars

banana_typewhich type of peel to spawn
peel_amountHow many peels to spawn
+

Var Details

banana_type + + + + +

+

which type of peel to spawn

peel_amount + + + + +

+

How many peels to spawn

+ + + diff --git a/datum/action/cooldown/spell.html b/datum/action/cooldown/spell.html new file mode 100644 index 00000000000..1a849f024ba --- /dev/null +++ b/datum/action/cooldown/spell.html @@ -0,0 +1,303 @@ + + + + + + + /datum/action/cooldown/spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

The spell action + + + +

+ +

This is the base action for how many of the game's +spells (and spell adjacent) abilities function. +These spells function off of a cooldown-based system.

+Pre-spell checks: + +The spell chain: + +Other procs called / may be called within the chain: + +Other procs of note: + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antimagic_flagsThis determines what type of antimagic is needed to block the spell. +(MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) +If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, +The spell cannot be cast if the caster has any of the antimagic flags set.
cooldown_reduction_per_rankIf the spell uses the wizard spell rank system, the cooldown reduction per rank of the spell
garbled_invocation_probif true, doesn't garble the invocation sometimes with backticks
invocationWhat is uttered when the user casts the spell
invocation_self_messageWhat is shown in chat when the user casts the spell, only matters for INVOCATION_EMOTE
invocation_typeWhat type of invocation the spell is. +Can be "none", "whisper", "shout", "emote"
schoolThe school of magic the spell belongs to. +Checked by some holy sects to punish the +caster for casting things that do not align +with their sect's alignment - see magic.dm in defines to learn more
smoke_amtThe amount of smoke to create on cast. This is a range, so a value of 5 will create enough smoke to cover everything within 5 steps.
smoke_typeThe typepath of the smoke to create on cast.
soundThe sound played on cast.
sparks_amtIf set to a positive number, the spell will produce sparks when casted.
spell_levelThe current spell level, if taken multiple times by a wizard
spell_max_levelThe max possible spell level
spell_requirementsFlag for certain states that the spell requires the user be in to cast.

Procs

after_castActions done after the main cast is finished. +This is called after the cooldown's already begun.
before_castActions done before the actual cast is called. +This is the last chance to cancel the spell from being cast.
can_cast_spellChecks if the owner of the spell can currently cast it. +Does not check anything involving potential targets.
castActions done as the main effect of the spell.
delevel_spellLevels the spell down a single level, down to 1.
get_caster_from_targetUsed to get the cast_on atom if a self cast spell is being cast.
get_spell_titleGets the title of the spell based on its level.
invocationeven INVOCATION_NONE should go through this because the signal might change that +The invocation that accompanies the spell, called from spell_feedback() before cast().
is_valid_targetCheck if the target we're casting on is a valid target. +For self-casted spells, the target being checked (cast_on) is the caster. +For click_to_activate spells, the target being checked is the clicked atom.
level_spellLevels the spell up a single level, reducing the cooldown. +If bypass_cap is TRUE, will level the spell up past it's set cap.
reset_spell_cooldownResets the cooldown of the spell, sending COMSIG_SPELL_CAST_RESET +and allowing it to be used immediately (+ updating button icon accordingly)
spell_feedbackProvides feedback after a spell cast occurs, in the form of a cast sound and/or invocation
try_invokeChecks if the current OWNER of the spell is in a valid state to say the spell's invocation
+

Var Details

antimagic_flags + + + + +

+

This determines what type of antimagic is needed to block the spell. +(MAGIC_RESISTANCE, MAGIC_RESISTANCE_MIND, MAGIC_RESISTANCE_HOLY) +If SPELL_REQUIRES_NO_ANTIMAGIC is set in Spell requirements, +The spell cannot be cast if the caster has any of the antimagic flags set.

cooldown_reduction_per_rank + + + + +

+

If the spell uses the wizard spell rank system, the cooldown reduction per rank of the spell

garbled_invocation_prob + + + + +

+

if true, doesn't garble the invocation sometimes with backticks

invocation + + + + +

+

What is uttered when the user casts the spell

invocation_self_message + + + + +

+

What is shown in chat when the user casts the spell, only matters for INVOCATION_EMOTE

invocation_type + + + + +

+

What type of invocation the spell is. +Can be "none", "whisper", "shout", "emote"

school + + + + +

+

The school of magic the spell belongs to. +Checked by some holy sects to punish the +caster for casting things that do not align +with their sect's alignment - see magic.dm in defines to learn more

smoke_amt + + + + +

+

The amount of smoke to create on cast. This is a range, so a value of 5 will create enough smoke to cover everything within 5 steps.

smoke_type + + + + +

+

The typepath of the smoke to create on cast.

sound + + + + +

+

The sound played on cast.

sparks_amt + + + + +

+

If set to a positive number, the spell will produce sparks when casted.

spell_level + + + + +

+

The current spell level, if taken multiple times by a wizard

spell_max_level + + + + +

+

The max possible spell level

spell_requirements + + + + +

+

Flag for certain states that the spell requires the user be in to cast.

Proc Details

after_cast +

+

Actions done after the main cast is finished. +This is called after the cooldown's already begun.

+

It can be used to apply late spell effects where order matters +(for example, causing smoke after a teleport occurs in cast()) +or to clean up variables or references post-cast.

before_cast +

+

Actions done before the actual cast is called. +This is the last chance to cancel the spell from being cast.

+

Can be used for target selection or to validate checks on the caster (cast_on).

+

Returns a bitflag.

+

can_cast_spell +

+

Checks if the owner of the spell can currently cast it. +Does not check anything involving potential targets.

cast +

+

Actions done as the main effect of the spell.

+

For spells without a click intercept, [cast_on] will be the owner. +For click spells, [cast_on] is whatever the owner clicked on in casting the spell.

delevel_spell +

+

Levels the spell down a single level, down to 1.

get_caster_from_target +

+

Used to get the cast_on atom if a self cast spell is being cast.

+

Allows for some atoms to be used as casting sources if a spell caster is located within.

get_spell_title +

+

Gets the title of the spell based on its level.

invocation +

+

even INVOCATION_NONE should go through this because the signal might change that +The invocation that accompanies the spell, called from spell_feedback() before cast().

is_valid_target +

+

Check if the target we're casting on is a valid target. +For self-casted spells, the target being checked (cast_on) is the caster. +For click_to_activate spells, the target being checked is the clicked atom.

+

Return TRUE if cast_on is valid, FALSE otherwise

level_spell +

+

Levels the spell up a single level, reducing the cooldown. +If bypass_cap is TRUE, will level the spell up past it's set cap.

reset_spell_cooldown +

+

Resets the cooldown of the spell, sending COMSIG_SPELL_CAST_RESET +and allowing it to be used immediately (+ updating button icon accordingly)

spell_feedback +

+

Provides feedback after a spell cast occurs, in the form of a cast sound and/or invocation

try_invoke +

+

Checks if the current OWNER of the spell is in a valid state to say the spell's invocation

+ + + diff --git a/datum/action/cooldown/spell/aoe.html b/datum/action/cooldown/spell/aoe.html new file mode 100644 index 00000000000..a9baa397256 --- /dev/null +++ b/datum/action/cooldown/spell/aoe.html @@ -0,0 +1,79 @@ + + + + + + + /datum/action/cooldown/spell/aoe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

aoe + + + +

+ +AOE spells +

A spell that iterates over atoms near the caster and casts a spell on them. +Calls cast_on_thing_in_aoe on all atoms returned by get_things_to_cast_on by default.

+ + + + +

Vars

aoe_radiusThe radius of the aoe.
max_targetsThe max amount of targets we can affect via our AOE. 0 = unlimited
shuffle_targets_listShould we shuffle the targets lift after getting them via get_things_to_cast_on?

Procs

cast_on_thing_in_aoeActually cause effects on the thing in our aoe. +Override this for your spell! Not cast().
get_things_to_cast_onGets a list of atoms around [center] that are within range and going to be affected by our aoe. +You should override this on a subtype basis to change what your spell affects.
+

Var Details

aoe_radius + + + + +

+

The radius of the aoe.

max_targets + + + + +

+

The max amount of targets we can affect via our AOE. 0 = unlimited

shuffle_targets_list + + + + +

+

Should we shuffle the targets lift after getting them via get_things_to_cast_on?

Proc Details

cast_on_thing_in_aoe +

+

Actually cause effects on the thing in our aoe. +Override this for your spell! Not cast().

+

Arguments

+

get_things_to_cast_on +

+

Gets a list of atoms around [center] that are within range and going to be affected by our aoe. +You should override this on a subtype basis to change what your spell affects.

+

For example, if you want to only cast on atoms in view instead of range. +Or, if you only want living mobs in the list.

+

When using range / view, it's handy to remember the byond optimization they have by casting to an atom type.

+

Returns a list of atoms.

+ + + diff --git a/datum/action/cooldown/spell/aoe/magic_missile.html b/datum/action/cooldown/spell/aoe/magic_missile.html new file mode 100644 index 00000000000..fee83d6a3d8 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/magic_missile.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/aoe/magic_missile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

magic_missile + + + +

+ + +

Vars

projectile_typeThe projectile type fired at all people around us
+

Var Details

projectile_type + + + + +

+

The projectile type fired at all people around us

+ + + diff --git a/datum/action/cooldown/spell/aoe/repulse.html b/datum/action/cooldown/spell/aoe/repulse.html new file mode 100644 index 00000000000..3bb2af342ea --- /dev/null +++ b/datum/action/cooldown/spell/aoe/repulse.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/aoe/repulse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

repulse + + + +

+ + + + +

Vars

max_throwThe max throw range of the repulsioon.
repulse_forceThe moveforce of the throw done by the repulsion.
sparkle_pathA visual effect to be spawned on people who are thrown away.
+

Var Details

max_throw + + + + +

+

The max throw range of the repulsioon.

repulse_force + + + + +

+

The moveforce of the throw done by the repulsion.

sparkle_path + + + + +

+

A visual effect to be spawned on people who are thrown away.

+ + + diff --git a/datum/action/cooldown/spell/aoe/revenant.html b/datum/action/cooldown/spell/aoe/revenant.html new file mode 100644 index 00000000000..776e77a82eb --- /dev/null +++ b/datum/action/cooldown/spell/aoe/revenant.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/aoe/revenant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

revenant + + + +

+ + + + + +

Vars

cast_amountHow much essence it costs to use
lockedIf it's locked, and needs to be unlocked before use
reveal_durationHow long it reveals the revenant
unlock_amountHow much essence it costs to unlock
+

Var Details

cast_amount + + + + +

+

How much essence it costs to use

locked + + + + +

+

If it's locked, and needs to be unlocked before use

reveal_duration + + + + +

+

How long it reveals the revenant

unlock_amount + + + + +

+

How much essence it costs to unlock

+ + + diff --git a/datum/action/cooldown/spell/aoe/revenant/overload.html b/datum/action/cooldown/spell/aoe/revenant/overload.html new file mode 100644 index 00000000000..abe181d4756 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/revenant/overload.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/aoe/revenant/overload - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

overload + + + +

+ + + +

Vars

shock_damageThe damage the shocks from the lights do
shock_rangeThe range the shocks from the lights go
+

Var Details

shock_damage + + + + +

+

The damage the shocks from the lights do

shock_range + + + + +

+

The range the shocks from the lights go

+ + + diff --git a/datum/action/cooldown/spell/aoe/sacred_flame.html b/datum/action/cooldown/spell/aoe/sacred_flame.html new file mode 100644 index 00000000000..0abf58c734b --- /dev/null +++ b/datum/action/cooldown/spell/aoe/sacred_flame.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/aoe/sacred_flame - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sacred_flame + + + +

+ + +

Vars

firestacks_to_giveThe amount of firestacks to put people afflicted.
+

Var Details

firestacks_to_give + + + + +

+

The amount of firestacks to put people afflicted.

+ + + diff --git a/datum/action/cooldown/spell/aoe/void_pull.html b/datum/action/cooldown/spell/aoe/void_pull.html new file mode 100644 index 00000000000..a0df3129092 --- /dev/null +++ b/datum/action/cooldown/spell/aoe/void_pull.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/aoe/void_pull - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

void_pull + + + +

+ + + +

Vars

damage_radiusThe radius of the actual damage circle done before cast
stun_radiusThe radius of the stun applied to nearby people on cast
+

Var Details

damage_radius + + + + +

+

The radius of the actual damage circle done before cast

stun_radius + + + + +

+

The radius of the stun applied to nearby people on cast

+ + + diff --git a/datum/action/cooldown/spell/apply_mutations.html b/datum/action/cooldown/spell/apply_mutations.html new file mode 100644 index 00000000000..d7ab8d362fd --- /dev/null +++ b/datum/action/cooldown/spell/apply_mutations.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/apply_mutations - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

apply_mutations + + + +

+ +

A spell type that adds mutations to the caster temporarily.

+ + +

Vars

mutation_durationThe duration the mutations will last afetr cast (keep this above the minimum cooldown)
mutations_to_addA list of all mutations we add on cast

Procs

remove_mutationsRemoves the mutations we added from casting our spell
+

Var Details

mutation_duration + + + + +

+

The duration the mutations will last afetr cast (keep this above the minimum cooldown)

mutations_to_add + + + + +

+

A list of all mutations we add on cast

Proc Details

remove_mutations +

+

Removes the mutations we added from casting our spell

+ + + diff --git a/datum/action/cooldown/spell/basic_heal.html b/datum/action/cooldown/spell/basic_heal.html new file mode 100644 index 00000000000..a08f1ffeae8 --- /dev/null +++ b/datum/action/cooldown/spell/basic_heal.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/basic_heal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_heal + + + +

+ + + +

Vars

brute_to_healAmount of brute to heal to the spell caster on cast
burn_to_healAmount of burn to heal to the spell caster on cast
+

Var Details

brute_to_heal + + + + +

+

Amount of brute to heal to the spell caster on cast

burn_to_heal + + + + +

+

Amount of burn to heal to the spell caster on cast

+ + + diff --git a/datum/action/cooldown/spell/basic_projectile.html b/datum/action/cooldown/spell/basic_projectile.html new file mode 100644 index 00000000000..e50b04557c5 --- /dev/null +++ b/datum/action/cooldown/spell/basic_projectile.html @@ -0,0 +1,46 @@ + + + + + + + /datum/action/cooldown/spell/basic_projectile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_projectile + + + +

+ +Basic Projectile spell +

Simply fires specified projectile type the direction the caster is facing.

+

Behavior could / should probably be unified with pointed projectile spells +and aoe projectile spells in the future.

+ +

Vars

projectile_rangeHow far we try to fire the basic projectile. Blocked by dense objects.
projectile_typeThe projectile type fired at all people around us
+

Var Details

projectile_range + + + + +

+

How far we try to fire the basic projectile. Blocked by dense objects.

projectile_type + + + + +

+

The projectile type fired at all people around us

+ + + diff --git a/datum/action/cooldown/spell/charged.html b/datum/action/cooldown/spell/charged.html new file mode 100644 index 00000000000..bc0c3a72fe0 --- /dev/null +++ b/datum/action/cooldown/spell/charged.html @@ -0,0 +1,101 @@ + + + + + + + /datum/action/cooldown/spell/charged - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

charged + + + +

+ +Channelled spells +

These spells do something after a channel time. +To use this template, all that's needed is for cast() to be implemented.

+ + + + + + + + + +

Vars

channel_flagsFlags of the do_after
channel_messageWhat message do we display when we start chanelling?
channel_timeHow long it takes to channel the spell.
charge_overlay_iconWhat icon should we use for our overlay
charge_overlay_instanceThe actual appearance / our overlay. Don't mess with this
charge_overlay_stateWhat icon state should we use for our overlay
charge_soundWhat soundpath should we play when we start chanelling
charge_sound_instanceThe actual sound we generate, don't mess with this
currently_channelingWhether we're currently channelling / charging the spell

Procs

stop_channel_effectInterrupts the chanelling effect, removing any overlay or sound playing (for the passed mob)
+

Var Details

channel_flags + + + + +

+

Flags of the do_after

channel_message + + + + +

+

What message do we display when we start chanelling?

channel_time + + + + +

+

How long it takes to channel the spell.

charge_overlay_icon + + + + +

+

What icon should we use for our overlay

charge_overlay_instance + + + + +

+

The actual appearance / our overlay. Don't mess with this

charge_overlay_state + + + + +

+

What icon state should we use for our overlay

charge_sound + + + + +

+

What soundpath should we play when we start chanelling

charge_sound_instance + + + + +

+

The actual sound we generate, don't mess with this

currently_channeling + + + + +

+

Whether we're currently channelling / charging the spell

Proc Details

stop_channel_effect +

+

Interrupts the chanelling effect, removing any overlay or sound playing (for the passed mob)

+ + + diff --git a/datum/action/cooldown/spell/charged/beam.html b/datum/action/cooldown/spell/charged/beam.html new file mode 100644 index 00000000000..a7dbc88afef --- /dev/null +++ b/datum/action/cooldown/spell/charged/beam.html @@ -0,0 +1,53 @@ + + + + + + + /datum/action/cooldown/spell/charged/beam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

beam + + + +

+ +Channelled "Beam" spells +

Channelled spells that pick a random target from nearby atoms to cast a spell on. +Commonly used for beams, hence the name, but nothing's stopping projectiles or whatever from working.

+

If no targets are nearby, cancels the spell and refunds the cooldown.

+ + +

Vars

initial_targetWho's our initial beam target? Set in before cast, used in cast.
max_beam_bouncesThe maximum number of bounces the beam will go before stopping.
target_radiusThe radius around the caster to find a target.
+

Var Details

initial_target + + + + +

+

Who's our initial beam target? Set in before cast, used in cast.

max_beam_bounces + + + + +

+

The maximum number of bounces the beam will go before stopping.

target_radius + + + + +

+

The radius around the caster to find a target.

+ + + diff --git a/datum/action/cooldown/spell/charged/beam/fire_blast.html b/datum/action/cooldown/spell/charged/beam/fire_blast.html new file mode 100644 index 00000000000..32452928477 --- /dev/null +++ b/datum/action/cooldown/spell/charged/beam/fire_blast.html @@ -0,0 +1,54 @@ + + + + + + + /datum/action/cooldown/spell/charged/beam/fire_blast - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fire_blast + + + +

+ + + + +

Vars

beam_durationHow long the beam visual lasts, also used to determine time between jumps

Procs

continue_beamTimer callback to continue the chain, calling send_fire_bream recursively.
get_targetPick a carbon mob in a radius around us that we can reach. +Mobs on fire will have priority and be targeted over others. +Returns null or a carbon mob.
+

Var Details

beam_duration + + + + +

+

How long the beam visual lasts, also used to determine time between jumps

Proc Details

continue_beam +

+

Timer callback to continue the chain, calling send_fire_bream recursively.

get_target +

+

Pick a carbon mob in a radius around us that we can reach. +Mobs on fire will have priority and be targeted over others. +Returns null or a carbon mob.

+ + + diff --git a/datum/action/cooldown/spell/charged/beam/tesla.html b/datum/action/cooldown/spell/charged/beam/tesla.html new file mode 100644 index 00000000000..aa7c36cac9a --- /dev/null +++ b/datum/action/cooldown/spell/charged/beam/tesla.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/charged/beam/tesla - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tesla + + + +

+ + + + +

Vars

energy_lost_per_bounceHow much energy / damage is lost per bounce
initial_energyHow much energy / damage does the initial bounce

Procs

send_beamZaps a target, the bolt originating from origin.
+

Var Details

energy_lost_per_bounce + + + + +

+

How much energy / damage is lost per bounce

initial_energy + + + + +

+

How much energy / damage does the initial bounce

Proc Details

send_beam +

+

Zaps a target, the bolt originating from origin.

+ + + diff --git a/datum/action/cooldown/spell/charged/psychic_booster.html b/datum/action/cooldown/spell/charged/psychic_booster.html new file mode 100644 index 00000000000..c735be88440 --- /dev/null +++ b/datum/action/cooldown/spell/charged/psychic_booster.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/charged/psychic_booster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

psychic_booster + + + +

+ + + +

Vars

boostedAre we currently active?
effect_timeHow long the effect lasts for?
+

Var Details

boosted + + + + +

+

Are we currently active?

effect_time + + + + +

+

How long the effect lasts for?

+ + + diff --git a/datum/action/cooldown/spell/cone.html b/datum/action/cooldown/spell/cone.html new file mode 100644 index 00000000000..8eeac7bd05a --- /dev/null +++ b/datum/action/cooldown/spell/cone.html @@ -0,0 +1,89 @@ + + + + + + + /datum/action/cooldown/spell/cone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cone + + + +

+ +Cone spells +

Cone spells shoot off as a cone from the caster.

+ + + + + + + +

Vars

cone_levelsThis controls how many levels the cone has. Increase this value to make a bigger cone.
respect_densityThis value determines if the cone penetrates walls.

Procs

calculate_cone_shapeAdjusts the width of the cone at the passed level. +This is never called on the first level of the cone (level 1 is always 1 width)
do_cone_effectsThis proc does obj, mob and turf cone effects on all targets in the passed list.
do_mob_cone_effectThis proc deterimines how the spell will affect mobs.
do_obj_cone_effectThis proc deterimines how the spell will affect objects.
do_turf_cone_effectThis proc deterimines how the spell will affect turfs.
get_cone_turfsThis proc creates a list of turfs that are hit by the cone.
+

Var Details

cone_levels + + + + +

+

This controls how many levels the cone has. Increase this value to make a bigger cone.

respect_density + + + + +

+

This value determines if the cone penetrates walls.

Proc Details

calculate_cone_shape +

+

Adjusts the width of the cone at the passed level. +This is never called on the first level of the cone (level 1 is always 1 width)

+

Return a number - the TOTAL width of the cone at the passed level.

do_cone_effects +

+

This proc does obj, mob and turf cone effects on all targets in the passed list.

do_mob_cone_effect +

+

This proc deterimines how the spell will affect mobs.

do_obj_cone_effect +

+

This proc deterimines how the spell will affect objects.

do_turf_cone_effect +

+

This proc deterimines how the spell will affect turfs.

get_cone_turfs +

+

This proc creates a list of turfs that are hit by the cone.

+ + + diff --git a/datum/action/cooldown/spell/cone/staggered.html b/datum/action/cooldown/spell/cone/staggered.html new file mode 100644 index 00000000000..c0ebbcb600b --- /dev/null +++ b/datum/action/cooldown/spell/cone/staggered.html @@ -0,0 +1,39 @@ + + + + + + + /datum/action/cooldown/spell/cone/staggered - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

staggered + + + +

+ +Staggered Cone +

Staggered Cone spells will reach each cone level +gradually / with a delay, instead of affecting the entire +cone area at once.

+

Vars

delay_between_levelThe delay between each cone level triggering.
+

Var Details

delay_between_level + + + + +

+

The delay between each cone level triggering.

+ + + diff --git a/datum/action/cooldown/spell/cone/staggered/cone_of_cold.html b/datum/action/cooldown/spell/cone/staggered/cone_of_cold.html new file mode 100644 index 00000000000..d63e886d430 --- /dev/null +++ b/datum/action/cooldown/spell/cone/staggered/cone_of_cold.html @@ -0,0 +1,88 @@ + + + + + + + /datum/action/cooldown/spell/cone/staggered/cone_of_cold - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cone_of_cold + + + +

+ + + + + + + + +

Vars

frozen_status_effect_pathWhat status effect do we apply when affecting mobs? +null means no status effect is applied
on_freeze_brute_damageHow much brute do we apply on freeze?
on_freeze_burn_damageHow much burn do we apply on freeze?
turf_freeze_typeWhat flags do we pass to MakeSlippery when affecting turfs? +null / NONE / TURF_DRY means the turf is unaffected
unfreeze_mob_durationHow long do mobs remain frozen for? +0 seconds means no status effect is applied, INFINITY means infinite duration (or default duration of the status effect)
unfreeze_object_durationHow long do objects remain frozen for? +0 seconds mean no objects are frozen, INFINITY means infinite duration freeze
unfreeze_turf_durationHow long do turfs remain slippery / frozen for? +0 seconds means the turf is unaffected, INFINITY means it's made perma-wet
+

Var Details

frozen_status_effect_path + + + + +

+

What status effect do we apply when affecting mobs? +null means no status effect is applied

on_freeze_brute_damage + + + + +

+

How much brute do we apply on freeze?

on_freeze_burn_damage + + + + +

+

How much burn do we apply on freeze?

turf_freeze_type + + + + +

+

What flags do we pass to MakeSlippery when affecting turfs? +null / NONE / TURF_DRY means the turf is unaffected

unfreeze_mob_duration + + + + +

+

How long do mobs remain frozen for? +0 seconds means no status effect is applied, INFINITY means infinite duration (or default duration of the status effect)

unfreeze_object_duration + + + + +

+

How long do objects remain frozen for? +0 seconds mean no objects are frozen, INFINITY means infinite duration freeze

unfreeze_turf_duration + + + + +

+

How long do turfs remain slippery / frozen for? +0 seconds means the turf is unaffected, INFINITY means it's made perma-wet

+ + + diff --git a/datum/action/cooldown/spell/cone/staggered/fire_breath.html b/datum/action/cooldown/spell/cone/staggered/fire_breath.html new file mode 100644 index 00000000000..8e9ab835739 --- /dev/null +++ b/datum/action/cooldown/spell/cone/staggered/fire_breath.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/cone/staggered/fire_breath - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fire_breath + + + +

+ + +

Vars

self_throw_rangeThe range our user is thrown backwards after casting the spell
+

Var Details

self_throw_range + + + + +

+

The range our user is thrown backwards after casting the spell

+ + + diff --git a/datum/action/cooldown/spell/conjure.html b/datum/action/cooldown/spell/conjure.html new file mode 100644 index 00000000000..929cc1343f8 --- /dev/null +++ b/datum/action/cooldown/spell/conjure.html @@ -0,0 +1,80 @@ + + + + + + + /datum/action/cooldown/spell/conjure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

conjure + + + +

+ + + + + + + + +

Vars

summon_amountAmount of summons to create.
summon_lifespanHow long before the summons will be despawned. Set to 0 for permanent.
summon_radiusThe radius around the caster the items will appear. 0 = spawns on top of the caster.
summon_respects_densityIf TRUE, summoned objects will not be spawned in dense turfs.
summon_respects_prev_spawn_pointsIf TRUE, no two summons can be spawned in the same turf.
summon_typeA list of types that will be created on summon. +The type is picked from this list, not all provided are guaranteed.

Procs

post_summonCalled on atoms summoned after they are created, allows extra variable editing and such of created objects
+

Var Details

summon_amount + + + + +

+

Amount of summons to create.

summon_lifespan + + + + +

+

How long before the summons will be despawned. Set to 0 for permanent.

summon_radius + + + + +

+

The radius around the caster the items will appear. 0 = spawns on top of the caster.

summon_respects_density + + + + +

+

If TRUE, summoned objects will not be spawned in dense turfs.

summon_respects_prev_spawn_points + + + + +

+

If TRUE, no two summons can be spawned in the same turf.

summon_type + + + + +

+

A list of types that will be created on summon. +The type is picked from this list, not all provided are guaranteed.

Proc Details

post_summon +

+

Called on atoms summoned after they are created, allows extra variable editing and such of created objects

+ + + diff --git a/datum/action/cooldown/spell/conjure/cosmic_expansion.html b/datum/action/cooldown/spell/conjure/cosmic_expansion.html new file mode 100644 index 00000000000..c4feb7777fa --- /dev/null +++ b/datum/action/cooldown/spell/conjure/cosmic_expansion.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/conjure/cosmic_expansion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cosmic_expansion + + + +

+ + + + +

Vars

ascendedIf the heretic is ascended or not
expansion_effectEffect for when the spell triggers
star_mark_rangeThe range at which people will get marked with a star mark.
+

Var Details

ascended + + + + +

+

If the heretic is ascended or not

expansion_effect + + + + +

+

Effect for when the spell triggers

star_mark_range + + + + +

+

The range at which people will get marked with a star mark.

+ + + diff --git a/datum/action/cooldown/spell/conjure/limit_summons.html b/datum/action/cooldown/spell/conjure/limit_summons.html new file mode 100644 index 00000000000..3499092a690 --- /dev/null +++ b/datum/action/cooldown/spell/conjure/limit_summons.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/conjure/limit_summons - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

limit_summons + + + +

+ +

limits the amount of summons

+ +

Vars

max_summonsmax number of after images
number_of_summonsHow many clones do we have summoned
+

Var Details

max_summons + + + + +

+

max number of after images

number_of_summons + + + + +

+

How many clones do we have summoned

+ + + diff --git a/datum/action/cooldown/spell/conjure/simian.html b/datum/action/cooldown/spell/conjure/simian.html new file mode 100644 index 00000000000..26ec5018186 --- /dev/null +++ b/datum/action/cooldown/spell/conjure/simian.html @@ -0,0 +1,38 @@ + + + + + + + /datum/action/cooldown/spell/conjure/simian - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

simian + + + +

+ + +

Procs

equip_monky

Proc Details

equip_monky +

+
+ + + diff --git a/datum/action/cooldown/spell/conjure/the_traps.html b/datum/action/cooldown/spell/conjure/the_traps.html new file mode 100644 index 00000000000..a59daa3019a --- /dev/null +++ b/datum/action/cooldown/spell/conjure/the_traps.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/conjure/the_traps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

the_traps + + + +

+ + +

Vars

trap_chargesThe amount of charges the traps spawn with.
+

Var Details

trap_charges + + + + +

+

The amount of charges the traps spawn with.

+ + + diff --git a/datum/action/cooldown/spell/conjure/wizard_summon_minions.html b/datum/action/cooldown/spell/conjure/wizard_summon_minions.html new file mode 100644 index 00000000000..7136c32d8a1 --- /dev/null +++ b/datum/action/cooldown/spell/conjure/wizard_summon_minions.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/conjure/wizard_summon_minions - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizard_summon_minions + + + +

+ + + +

Vars

max_minionsHow many minions we can have at once
summoned_minionsHow many minions we summoned
+

Var Details

max_minions + + + + +

+

How many minions we can have at once

summoned_minions + + + + +

+

How many minions we summoned

+ + + diff --git a/datum/action/cooldown/spell/conjure_item.html b/datum/action/cooldown/spell/conjure_item.html new file mode 100644 index 00000000000..1aea2522d71 --- /dev/null +++ b/datum/action/cooldown/spell/conjure_item.html @@ -0,0 +1,80 @@ + + + + + + + /datum/action/cooldown/spell/conjure_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

conjure_item + + + +

+ + + + + + + + +

Vars

delete_oldIf TRUE, we delete any previously created items when we cast the spell
delete_on_failureIf TRUE, deletes the item if no mob picks it up on cast
item_refsList of weakrefs to items summoned
item_typeTypepath of whatever item we summon
requires_handsIf TRUE, requires the caster be able to pick it up afterwards

Procs

make_itemInstantiates the item we're conjuring and returns it. +Item is made in at the caster's.
post_createdCalled after item has been handed to the caster, for any additional presentation
+

Var Details

delete_old + + + + +

+

If TRUE, we delete any previously created items when we cast the spell

delete_on_failure + + + + +

+

If TRUE, deletes the item if no mob picks it up on cast

item_refs + + + + +

+

List of weakrefs to items summoned

item_type + + + + +

+

Typepath of whatever item we summon

requires_hands + + + + +

+

If TRUE, requires the caster be able to pick it up afterwards

Proc Details

make_item +

+

Instantiates the item we're conjuring and returns it. +Item is made in at the caster's.

post_created +

+

Called after item has been handed to the caster, for any additional presentation

+ + + diff --git a/datum/action/cooldown/spell/conjure_item/clown_pockets.html b/datum/action/cooldown/spell/conjure_item/clown_pockets.html new file mode 100644 index 00000000000..a95c7ccc05b --- /dev/null +++ b/datum/action/cooldown/spell/conjure_item/clown_pockets.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/conjure_item/clown_pockets - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

clown_pockets + + + +

+ +

A spell which gives you a clown item

+ + + +

Vars

cast_timeAmount of time it takes you to rummage around in there
castingTrue while currently casting the spell
clown_itemsList of prank implements you can find in your pockets

Procs

cast_messagePrints a funny message, exists so I can override it to print a different message
+

Var Details

cast_time + + + + +

+

Amount of time it takes you to rummage around in there

casting + + + + +

+

True while currently casting the spell

clown_items + + + + +

+

List of prank implements you can find in your pockets

Proc Details

cast_message +

+

Prints a funny message, exists so I can override it to print a different message

+ + + diff --git a/datum/action/cooldown/spell/conjure_item/invisible_box.html b/datum/action/cooldown/spell/conjure_item/invisible_box.html new file mode 100644 index 00000000000..99f90f72b43 --- /dev/null +++ b/datum/action/cooldown/spell/conjure_item/invisible_box.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/conjure_item/invisible_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

invisible_box + + + +

+ + + +

Vars

box_lifespanHow long boxes last before going away

Procs

cleanup_boxCallback that gets rid out of box and removes the weakref from our list
+

Var Details

box_lifespan + + + + +

+

How long boxes last before going away

Proc Details

cleanup_box +

+

Callback that gets rid out of box and removes the weakref from our list

+ + + diff --git a/datum/action/cooldown/spell/cosmic_rune.html b/datum/action/cooldown/spell/cosmic_rune.html new file mode 100644 index 00000000000..22c58eb12dc --- /dev/null +++ b/datum/action/cooldown/spell/cosmic_rune.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/cosmic_rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cosmic_rune + + + +

+ + + + + +

Vars

first_runeStorage for the first rune.
rune_remove_effectRune removal effect.
second_runeStorage for the second rune.

Procs

make_new_runeReturns a weak reference to a new rune, linked to an existing rune if provided
+

Var Details

first_rune + + + + +

+

Storage for the first rune.

rune_remove_effect + + + + +

+

Rune removal effect.

second_rune + + + + +

+

Storage for the second rune.

Proc Details

make_new_rune +

+

Returns a weak reference to a new rune, linked to an existing rune if provided

+ + + diff --git a/datum/action/cooldown/spell/emp.html b/datum/action/cooldown/spell/emp.html new file mode 100644 index 00000000000..b00789c4bd8 --- /dev/null +++ b/datum/action/cooldown/spell/emp.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/emp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

emp + + + +

+ + + +

Vars

emp_heavyThe heavy radius of the EMP
emp_lightThe light radius of the EMP
+

Var Details

emp_heavy + + + + +

+

The heavy radius of the EMP

emp_light + + + + +

+

The light radius of the EMP

+ + + diff --git a/datum/action/cooldown/spell/fire_cascade.html b/datum/action/cooldown/spell/fire_cascade.html new file mode 100644 index 00000000000..dcbfea140e9 --- /dev/null +++ b/datum/action/cooldown/spell/fire_cascade.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/fire_cascade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fire_cascade + + + +

+ +

Creates one, large, expanding ring of fire around the caster, which does not follow them.

+ +

Vars

flame_radiusThe radius the flames will go around the caster.

Procs

fire_cascadeSpreads a huge wave of fire in a radius around us, staggered between levels
+

Var Details

flame_radius + + + + +

+

The radius the flames will go around the caster.

Proc Details

fire_cascade +

+

Spreads a huge wave of fire in a radius around us, staggered between levels

+ + + diff --git a/datum/action/cooldown/spell/fire_sworn.html b/datum/action/cooldown/spell/fire_sworn.html new file mode 100644 index 00000000000..b3d91b2820e --- /dev/null +++ b/datum/action/cooldown/spell/fire_sworn.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/fire_sworn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fire_sworn + + + +

+ +

Creates a constant Ring of Fire around the caster for a set duration of time, which follows them.

+ +

Vars

durationHow long it the ring lasts
fire_radiusThe radius of the fire ring
+

Var Details

duration + + + + +

+

How long it the ring lasts

fire_radius + + + + +

+

The radius of the fire ring

+ + + diff --git a/datum/action/cooldown/spell/forcewall.html b/datum/action/cooldown/spell/forcewall.html new file mode 100644 index 00000000000..2258265ebd0 --- /dev/null +++ b/datum/action/cooldown/spell/forcewall.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/forcewall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

forcewall + + + +

+ + + + +

Vars

wall_typeThe typepath to the wall we create on cast.

Procs

get_turfsThis proc returns all the turfs on which we will spawn the walls.
spawn_wallThis proc spawns a wall on the given turf.
+

Var Details

wall_type + + + + +

+

The typepath to the wall we create on cast.

Proc Details

get_turfs +

+

This proc returns all the turfs on which we will spawn the walls.

spawn_wall +

+

This proc spawns a wall on the given turf.

+ + + diff --git a/datum/action/cooldown/spell/jaunt.html b/datum/action/cooldown/spell/jaunt.html new file mode 100644 index 00000000000..b0bd247126e --- /dev/null +++ b/datum/action/cooldown/spell/jaunt.html @@ -0,0 +1,88 @@ + + + + + + + /datum/action/cooldown/spell/jaunt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jaunt + + + +

+ +Jaunt spells +

A basic subtype for jaunt related spells. +Jaunt spells put their caster in a dummy +phased_mob effect that allows them to float +around incorporeally.

+

Doesn't actually implement any behavior on cast to +enter or exit the jaunt - that must be done via subtypes.

+

Use enter_jaunt() and exit_jaunt() as wrappers.

+ + + +

Vars

jaunt_typeWhat dummy mob type do we put jaunters in on jaunt?

Procs

enter_jauntPlaces the [jaunter] in a jaunt holder mob +If [loc_override] is supplied, +the jaunt will be moved to that turf to start at
exit_jauntEjects the [unjaunter] from jaunt +The jaunt object in turn should call on_jaunt_exited +If [loc_override] is supplied, +the jaunt will be moved to that turf +before ejecting the unjaunter
on_jaunt_exitedCalled when a mob is ejected from the jaunt holder and goes back to normal. +This is called both fom exit_jaunt() but also if the caster is ejected involuntarily for some reason. +Use this to clear state data applied when jaunting, such as the trait TRAIT_MAGICALLY_PHASED. +Arguments
+

Var Details

jaunt_type + + + + +

+

What dummy mob type do we put jaunters in on jaunt?

Proc Details

enter_jaunt +

+

Places the [jaunter] in a jaunt holder mob +If [loc_override] is supplied, +the jaunt will be moved to that turf to start at

+

Returns the holder mob that was created

exit_jaunt +

+

Ejects the [unjaunter] from jaunt +The jaunt object in turn should call on_jaunt_exited +If [loc_override] is supplied, +the jaunt will be moved to that turf +before ejecting the unjaunter

+

Returns TRUE on successful exit, FALSE otherwise

on_jaunt_exited +

+

Called when a mob is ejected from the jaunt holder and goes back to normal. +This is called both fom exit_jaunt() but also if the caster is ejected involuntarily for some reason. +Use this to clear state data applied when jaunting, such as the trait TRAIT_MAGICALLY_PHASED. +Arguments

+
+ + + diff --git a/datum/action/cooldown/spell/jaunt/bloodcrawl.html b/datum/action/cooldown/spell/jaunt/bloodcrawl.html new file mode 100644 index 00000000000..b7e81d3f70c --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/bloodcrawl.html @@ -0,0 +1,99 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/bloodcrawl - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bloodcrawl + + + +

+ +Blood Crawl +

Lets the caster enter and exit pools of blood.

+ + + + + + + + +

Vars

blood_radiusThe radius around us that we look for blood in
enter_blood_timeThe time it takes to enter blood
equip_blood_handsIf TRUE, we equip "blood crawl" hands to the jaunter to prevent using items
exit_blood_timeThe time it takes to exit blood

Procs

do_bloodcrawlAttempts to enter or exit the passed blood pool. +Returns TRUE if we successfully entered or exited said pool, FALSE otherwise
exit_blood_effectAdds an coloring effect to mobs which exit blood crawl.
find_nearby_bloodReturns a nearby blood decal, or null if there aren't any
try_enter_jauntAttempts to enter the passed blood pool. +If forced is TRUE, it will override enter_blood_time.
try_exit_jauntAttempts to Exit the passed blood pool. +If forced is TRUE, it will override exit_blood_time, and if we're currently consuming someone.
+

Var Details

blood_radius + + + + +

+

The radius around us that we look for blood in

enter_blood_time + + + + +

+

The time it takes to enter blood

equip_blood_hands + + + + +

+

If TRUE, we equip "blood crawl" hands to the jaunter to prevent using items

exit_blood_time + + + + +

+

The time it takes to exit blood

Proc Details

do_bloodcrawl +

+

Attempts to enter or exit the passed blood pool. +Returns TRUE if we successfully entered or exited said pool, FALSE otherwise

exit_blood_effect +

+

Adds an coloring effect to mobs which exit blood crawl.

find_nearby_blood +

+

Returns a nearby blood decal, or null if there aren't any

try_enter_jaunt +

+

Attempts to enter the passed blood pool. +If forced is TRUE, it will override enter_blood_time.

try_exit_jaunt +

+

Attempts to Exit the passed blood pool. +If forced is TRUE, it will override exit_blood_time, and if we're currently consuming someone.

+ + + diff --git a/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html new file mode 100644 index 00000000000..137a4f35081 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon.html @@ -0,0 +1,60 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

slaughter_demon + + + +

+ +

Slaughter demon's blood crawl +Allows the blood crawler to consume people they are dragging.

+ + + +

Vars

consume_soundThe sound played when someone's consumed.

Procs

consume_victimConsumes the [victim] from the [jaunter], fully healing them +and calling [proc/on_victim_consumed] if successful.)
on_victim_consumedCalled when a victim is successfully consumed.
on_victim_start_consumeCalled when a victim starts to be consumed.
+

Var Details

consume_sound + + + + +

+

The sound played when someone's consumed.

Proc Details

consume_victim +

+

Consumes the [victim] from the [jaunter], fully healing them +and calling [proc/on_victim_consumed] if successful.)

on_victim_consumed +

+

Called when a victim is successfully consumed.

on_victim_start_consume +

+

Called when a victim starts to be consumed.

+ + + diff --git a/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html new file mode 100644 index 00000000000..1e3a7afffbd --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny.html @@ -0,0 +1,54 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/bloodcrawl/slaughter_demon/funny - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

funny + + + +

+ +

Laughter demon's blood crawl +All mobs consumed are revived after the demon is killed.

+ + +

Procs

on_deathSignal proc for COMSIG_LIVING_DEATH and COMSIG_QDELETING
on_victim_deletedHandle signal from a consumed mob being deleted. Clears any references.
on_victim_statchangeHandle signal from a consumed mob changing stat.

Proc Details

on_death +

+

Signal proc for COMSIG_LIVING_DEATH and COMSIG_QDELETING

+

If our demon is deleted or destroyed, expel all of our consumed mobs

on_victim_deleted +

+

Handle signal from a consumed mob being deleted. Clears any references.

on_victim_statchange +

+

Handle signal from a consumed mob changing stat.

+

A signal handler for if one of the laughter demon's consumed mobs has +changed stat. If they're no longer dead (because they were dead when +swallowed), eject them so they can't rip their way out from the inside.

+ + + diff --git a/datum/action/cooldown/spell/jaunt/creature_teleport.html b/datum/action/cooldown/spell/jaunt/creature_teleport.html new file mode 100644 index 00000000000..86ce1bb3882 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/creature_teleport.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/creature_teleport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

creature_teleport + + + +

+ +

Jaunt spell used by creature. Can only jaunt or unjaunt if nothing can see you.

+

Vars

observed_blockerComponent which prevents this action being used while visible
+

Var Details

observed_blocker + + + + +

+

Component which prevents this action being used while visible

+ + + diff --git a/datum/action/cooldown/spell/jaunt/ethereal_jaunt.html b/datum/action/cooldown/spell/jaunt/ethereal_jaunt.html new file mode 100644 index 00000000000..1758dedf175 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/ethereal_jaunt.html @@ -0,0 +1,163 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/ethereal_jaunt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ethereal_jaunt + + + +

+ + + + + + + + + + + + + + + +

Vars

exit_point_listList of valid exit points
jaunt_durationFor how long are we jaunting?
jaunt_in_timeFor how long we become immobilized after exiting the jaunt.
jaunt_in_typeVisual for jaunting
jaunt_out_timeFor how long we become immobilized when using this spell.
jaunt_out_typeVisual for exiting the jaunt

Procs

do_jauntBegin the jaunt, and the entire jaunt chain. +Puts cast_on in the phased mob holder here.
do_jaunt_inThe wind-up (wind-out?) of exiting the jaunt. +Optional, only called if jaunt_in_time is above 2.5 seconds.
do_jaunt_outThe wind-up to the jaunt. +Optional, only called if jaunt_out_time is set.
do_steam_effectsDoes some steam effects from the jaunt at passed loc.
end_jauntFinally, the actual veritable end of the jaunt chains. +Deletes the phase holder, ejecting the caster at final_point.
start_jauntThe actual process of starting the jaunt. +Sets up the signals and exit points and allows +the caster to actually start moving around.
stop_jauntThe stopping of the jaunt. +Unregisters and signals and places +the jaunter on the turf they will exit at.
update_exit_pointUpdates the exit point of the jaunt
+

Var Details

exit_point_list + + + + +

+

List of valid exit points

jaunt_duration + + + + +

+

For how long are we jaunting?

jaunt_in_time + + + + +

+

For how long we become immobilized after exiting the jaunt.

jaunt_in_type + + + + +

+

Visual for jaunting

jaunt_out_time + + + + +

+

For how long we become immobilized when using this spell.

jaunt_out_type + + + + +

+

Visual for exiting the jaunt

Proc Details

do_jaunt +

+

Begin the jaunt, and the entire jaunt chain. +Puts cast_on in the phased mob holder here.

+

Calls do_jaunt_out:

+

do_jaunt_in +

+

The wind-up (wind-out?) of exiting the jaunt. +Optional, only called if jaunt_in_time is above 2.5 seconds.

+

Calls end_jaunt.

do_jaunt_out +

+

The wind-up to the jaunt. +Optional, only called if jaunt_out_time is set.

+

Calls start_jaunt.

do_steam_effects +

+

Does some steam effects from the jaunt at passed loc.

end_jaunt +

+

Finally, the actual veritable end of the jaunt chains. +Deletes the phase holder, ejecting the caster at final_point.

+

If the final_point is dense for some reason, +tries to put the caster in an adjacent turf.

start_jaunt +

+

The actual process of starting the jaunt. +Sets up the signals and exit points and allows +the caster to actually start moving around.

+

Calls stop_jaunt after the jaunt runs out.

stop_jaunt +

+

The stopping of the jaunt. +Unregisters and signals and places +the jaunter on the turf they will exit at.

+

Calls do_jaunt_in:

+

update_exit_point +

+

Updates the exit point of the jaunt

+

Called when the jaunting mob holder moves, this updates the backup exit-jaunt +location, in case the jaunt ends with the mob still in a wall. Five +spots are kept in the list, in case the last few changed since we passed +by (doors closing, engineers building walls, etc)

+ + + diff --git a/datum/action/cooldown/spell/jaunt/mirror_walk.html b/datum/action/cooldown/spell/jaunt/mirror_walk.html new file mode 100644 index 00000000000..3a4674cc110 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/mirror_walk.html @@ -0,0 +1,63 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/mirror_walk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mirror_walk + + + +

+ + + + + +

Vars

phase_in_timeThe time it takes to exit a mirror / phase in / exit jaunt.
phase_out_timeThe time it takes to enter the mirror / phase out / enter jaunt.
special_reflective_surfacesStatic typecache of types that are counted as reflective.

Procs

is_reflection_nearbyGoes through all nearby atoms in sight of the +passed caster and determines if they are "reflective" +for the purpose of us being able to utilize it to enter or exit.
+

Var Details

phase_in_time + + + + +

+

The time it takes to exit a mirror / phase in / exit jaunt.

phase_out_time + + + + +

+

The time it takes to enter the mirror / phase out / enter jaunt.

special_reflective_surfaces + + + + +

+

Static typecache of types that are counted as reflective.

Proc Details

is_reflection_nearby +

+

Goes through all nearby atoms in sight of the +passed caster and determines if they are "reflective" +for the purpose of us being able to utilize it to enter or exit.

+

Returns an object reference to a "reflective" object in view if one was found, +or null if no object was found that was determined to be "reflective".

+ + + diff --git a/datum/action/cooldown/spell/jaunt/shadow_walk.html b/datum/action/cooldown/spell/jaunt/shadow_walk.html new file mode 100644 index 00000000000..6dad1f098f7 --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/shadow_walk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/shadow_walk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shadow_walk + + + +

+ + +

Vars

light_thresholdThe max amount of lumens on a turf allowed before we can no longer enter jaunt with this
+

Var Details

light_threshold + + + + +

+

The max amount of lumens on a turf allowed before we can no longer enter jaunt with this

+ + + diff --git a/datum/action/cooldown/spell/jaunt/space_crawl.html b/datum/action/cooldown/spell/jaunt/space_crawl.html new file mode 100644 index 00000000000..ea88e993c4d --- /dev/null +++ b/datum/action/cooldown/spell/jaunt/space_crawl.html @@ -0,0 +1,52 @@ + + + + + + + /datum/action/cooldown/spell/jaunt/space_crawl - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

space_crawl + + + +

+ +Space Crawl +

Lets the caster enter and exit tiles of space or misc turfs.

+ + +

Procs

do_spacecrawlAttempts to enter or exit the passed space or misc turf. +Returns TRUE if we successfully entered or exited said turf, FALSE otherwise
try_enter_jauntAttempts to enter the passed space or misc turfs.
try_exit_jauntAttempts to Exit the passed space or misc turf.

Proc Details

do_spacecrawl +

+

Attempts to enter or exit the passed space or misc turf. +Returns TRUE if we successfully entered or exited said turf, FALSE otherwise

try_enter_jaunt +

+

Attempts to enter the passed space or misc turfs.

try_exit_jaunt +

+

Attempts to Exit the passed space or misc turf.

+ + + diff --git a/datum/action/cooldown/spell/list_target.html b/datum/action/cooldown/spell/list_target.html new file mode 100644 index 00000000000..81531749d59 --- /dev/null +++ b/datum/action/cooldown/spell/list_target.html @@ -0,0 +1,54 @@ + + + + + + + /datum/action/cooldown/spell/list_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

list_target + + + +

+ +List Target spells +

These spells will prompt the user with a tgui list +of all nearby targets that they select on to cast.

+

To add effects on cast, override "cast(atom/cast_on)". +The cast_on atom is the atom that was selected by the list.

+ + +

Vars

choose_target_messageThe message displayed as the title of the tgui target input list.
target_radiusRadius around the caster that living targets are picked to choose from

Procs

get_list_targetsGet a list of living targets in radius of the center to put in the target list.
+

Var Details

choose_target_message + + + + +

+

The message displayed as the title of the tgui target input list.

target_radius + + + + +

+

Radius around the caster that living targets are picked to choose from

Proc Details

get_list_targets +

+

Get a list of living targets in radius of the center to put in the target list.

+ + + diff --git a/datum/action/cooldown/spell/list_target/telepathy.html b/datum/action/cooldown/spell/list_target/telepathy.html new file mode 100644 index 00000000000..dbadb85b713 --- /dev/null +++ b/datum/action/cooldown/spell/list_target/telepathy.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/list_target/telepathy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

telepathy + + + +

+ + + + +

Vars

bold_telepathy_spanThe bolded span surrounding the telepathy message
messageThe message we send to the next person via telepathy.
telepathy_spanThe span surrounding the telepathy message
+

Var Details

bold_telepathy_span + + + + +

+

The bolded span surrounding the telepathy message

message + + + + +

+

The message we send to the next person via telepathy.

telepathy_span + + + + +

+

The span surrounding the telepathy message

+ + + diff --git a/datum/action/cooldown/spell/olfaction.html b/datum/action/cooldown/spell/olfaction.html new file mode 100644 index 00000000000..0e54a511d7a --- /dev/null +++ b/datum/action/cooldown/spell/olfaction.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/cooldown/spell/olfaction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

olfaction + + + +

+ + + + + + +

Vars

sensitivityOur nose's sensitivity
tracking_refWeakref to the mob we're tracking

Procs

follow_targetAttempt to follow our current tracking target.
on_the_trailActually go through and give the user a hint of the direction our target is.
pick_up_targetAttempt to pick up a new target based on the fingerprints on [sniffed].
+

Var Details

sensitivity + + + + +

+

Our nose's sensitivity

tracking_ref + + + + +

+

Weakref to the mob we're tracking

Proc Details

follow_target +

+

Attempt to follow our current tracking target.

on_the_trail +

+

Actually go through and give the user a hint of the direction our target is.

pick_up_target +

+

Attempt to pick up a new target based on the fingerprints on [sniffed].

+ + + diff --git a/datum/action/cooldown/spell/pointed.html b/datum/action/cooldown/spell/pointed.html new file mode 100644 index 00000000000..222097f54b9 --- /dev/null +++ b/datum/action/cooldown/spell/pointed.html @@ -0,0 +1,75 @@ + + + + + + + /datum/action/cooldown/spell/pointed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pointed + + + +

+ +Pointed spells +

These spells override the caster's click, +allowing them to cast the spell on whatever is clicked on.

+

To add effects on cast, override "cast(atom/cast_on)". +The cast_on atom is the person who was clicked on.

+ + + + + +

Vars

active_msgMessage showing to the spell owner upon activating pointed spell.
aim_assistVariable dictating if the spell will use turf based aim assist
cast_rangeThe casting range of our spell
deactive_msgMessage showing to the spell owner upon deactivating pointed spell.

Procs

on_activationCalled when the spell is activated / the click ability is set to our spell
on_deactivationCalled when the spell is deactivated / the click ability is unset from our spell
+

Var Details

active_msg + + + + +

+

Message showing to the spell owner upon activating pointed spell.

aim_assist + + + + +

+

Variable dictating if the spell will use turf based aim assist

cast_range + + + + +

+

The casting range of our spell

deactive_msg + + + + +

+

Message showing to the spell owner upon deactivating pointed spell.

Proc Details

on_activation +

+

Called when the spell is activated / the click ability is set to our spell

on_deactivation +

+

Called when the spell is deactivated / the click ability is unset from our spell

+ + + diff --git a/datum/action/cooldown/spell/pointed/abyssal_gaze.html b/datum/action/cooldown/spell/pointed/abyssal_gaze.html new file mode 100644 index 00000000000..bd224eedae1 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/abyssal_gaze.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/abyssal_gaze - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abyssal_gaze + + + +

+ + + +

Vars

amount_to_coolThe amount of temperature we take from our target
blind_durationThe duration of the blind on our target
+

Var Details

amount_to_cool + + + + +

+

The amount of temperature we take from our target

blind_duration + + + + +

+

The duration of the blind on our target

+ + + diff --git a/datum/action/cooldown/spell/pointed/apetra_vulnera.html b/datum/action/cooldown/spell/pointed/apetra_vulnera.html new file mode 100644 index 00000000000..bb6102b3f7d --- /dev/null +++ b/datum/action/cooldown/spell/pointed/apetra_vulnera.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/apetra_vulnera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

apetra_vulnera + + + +

+ + +

Vars

wound_typeWhat type of wound we apply
+

Var Details

wound_type + + + + +

+

What type of wound we apply

+ + + diff --git a/datum/action/cooldown/spell/pointed/ash_beams.html b/datum/action/cooldown/spell/pointed/ash_beams.html new file mode 100644 index 00000000000..bd864cbb131 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/ash_beams.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/ash_beams - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ash_beams + + + +

+ + +

Vars

flame_line_lengthThe length of the flame line spit out.
+

Var Details

flame_line_length + + + + +

+

The length of the flame line spit out.

+ + + diff --git a/datum/action/cooldown/spell/pointed/blind.html b/datum/action/cooldown/spell/pointed/blind.html new file mode 100644 index 00000000000..e1c657d9430 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/blind.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/blind - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blind + + + +

+ + + +

Vars

eye_blind_durationThe amount of blind to apply
eye_blur_durationThe amount of blurriness to apply
+

Var Details

eye_blind_duration + + + + +

+

The amount of blind to apply

eye_blur_duration + + + + +

+

The amount of blurriness to apply

+ + + diff --git a/datum/action/cooldown/spell/pointed/cleave.html b/datum/action/cooldown/spell/pointed/cleave.html new file mode 100644 index 00000000000..d6980d1a9a9 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/cleave.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/cleave - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cleave + + + +

+ + + +

Vars

cleave_radiusThe radius of the cleave effect
wound_typeWhat type of wound we apply
+

Var Details

cleave_radius + + + + +

+

The radius of the cleave effect

wound_type + + + + +

+

What type of wound we apply

+ + + diff --git a/datum/action/cooldown/spell/pointed/declare_evil.html b/datum/action/cooldown/spell/pointed/declare_evil.html new file mode 100644 index 00000000000..1008d326898 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/declare_evil.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/pointed/declare_evil - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

declare_evil + + + +

+ + + + + +

Vars

declarationThe declaration that's shouted in invocation. Set in New()
honor_traumaA ref to our owner's honorbound trauma
required_favorThe amount of favor required to declare on someone

Procs

on_honor_trauma_lostIf we lose our honor trauma somehow, self-delete (and clear references)
+

Var Details

declaration + + + + +

+

The declaration that's shouted in invocation. Set in New()

honor_trauma + + + + +

+

A ref to our owner's honorbound trauma

required_favor + + + + +

+

The amount of favor required to declare on someone

Proc Details

on_honor_trauma_lost +

+

If we lose our honor trauma somehow, self-delete (and clear references)

+ + + diff --git a/datum/action/cooldown/spell/pointed/manse_link.html b/datum/action/cooldown/spell/pointed/manse_link.html new file mode 100644 index 00000000000..d9c55ffefec --- /dev/null +++ b/datum/action/cooldown/spell/pointed/manse_link.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/manse_link - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

manse_link + + + +

+ + + +

Vars

link_timeThe time it takes to link to a mob.

Procs

do_linkingThe actual process of linking [linkee] to our network.
+

Var Details

+

The time it takes to link to a mob.

Proc Details

do_linking +

+

The actual process of linking [linkee] to our network.

+ + + diff --git a/datum/action/cooldown/spell/pointed/mind_transfer.html b/datum/action/cooldown/spell/pointed/mind_transfer.html new file mode 100644 index 00000000000..6d4a84b7a75 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/mind_transfer.html @@ -0,0 +1,68 @@ + + + + + + + /datum/action/cooldown/spell/pointed/mind_transfer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mind_transfer + + + +

+ + + + + + +

Vars

blacklisted_mobsList of mobs we cannot mindswap into.
target_requires_keyIf TRUE, we cannot mindswap into mobs with minds if they do not currently have a key / player.
target_requires_mindIf TRUE, we cannot mindswap into people without a mind. +You may be wondering "What's the point of mindswap if the target has no mind"? +Primarily for debugging - targets hit with this set to FALSE will init a mind, then do the swap.
unconscious_amount_casterFor how long is the caster stunned for after the spell
unconscious_amount_victimFor how long is the victim stunned for after the spell
+

Var Details

blacklisted_mobs + + + + +

+

List of mobs we cannot mindswap into.

target_requires_key + + + + +

+

If TRUE, we cannot mindswap into mobs with minds if they do not currently have a key / player.

target_requires_mind + + + + +

+

If TRUE, we cannot mindswap into people without a mind. +You may be wondering "What's the point of mindswap if the target has no mind"? +Primarily for debugging - targets hit with this set to FALSE will init a mind, then do the swap.

unconscious_amount_caster + + + + +

+

For how long is the caster stunned for after the spell

unconscious_amount_victim + + + + +

+

For how long is the victim stunned for after the spell

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile.html b/datum/action/cooldown/spell/pointed/projectile.html new file mode 100644 index 00000000000..62fa5ebe06d --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile.html @@ -0,0 +1,70 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

projectile + + + +

+ +Pointed projectile spells +

Pointed spells that, instead of casting a spell directly on the target that's clicked, +will instead fire a projectile pointed at the target's direction.

+ + + + +

Vars

current_amountHow many projectiles we have yet to fire, based on projectile_amount
projectile_amountHow many projectiles we can fire per cast. Not all at once, per click, kinda like charges
projectile_typeWhat projectile we create when we shoot our spell.
projectiles_per_fireHow many projectiles we fire every fire_projectile() call. +Unwise to change without overriding or extending ready_projectile.

Procs

on_cast_hitSignal proc for whenever the projectile we fire hits someone. +Pretty much relays to the spell when the projectile actually hits something.
+

Var Details

current_amount + + + + +

+

How many projectiles we have yet to fire, based on projectile_amount

projectile_amount + + + + +

+

How many projectiles we can fire per cast. Not all at once, per click, kinda like charges

projectile_type + + + + +

+

What projectile we create when we shoot our spell.

projectiles_per_fire + + + + +

+

How many projectiles we fire every fire_projectile() call. +Unwise to change without overriding or extending ready_projectile.

Proc Details

on_cast_hit +

+

Signal proc for whenever the projectile we fire hits someone. +Pretty much relays to the spell when the projectile actually hits something.

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile/furious_steel.html b/datum/action/cooldown/spell/pointed/projectile/furious_steel.html new file mode 100644 index 00000000000..2b7eb3ec4aa --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile/furious_steel.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile/furious_steel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

furious_steel + + + +

+ + + + +

Vars

blade_effectA ref to the status effect surrounding our heretic on activation.

Procs

on_focus_lostSignal proc for [SIGNAL_REMOVETRAIT], via TRAIT_ALLOW_HERETIC_CASTING, to remove the effect when we lose the focus trait
on_status_effect_deletedIf our blade status effect is deleted, clear our refs and deactivate
+

Var Details

blade_effect + + + + +

+

A ref to the status effect surrounding our heretic on activation.

Proc Details

on_focus_lost +

+

Signal proc for [SIGNAL_REMOVETRAIT], via TRAIT_ALLOW_HERETIC_CASTING, to remove the effect when we lose the focus trait

on_status_effect_deleted +

+

If our blade status effect is deleted, clear our refs and deactivate

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile/lightningbolt.html b/datum/action/cooldown/spell/pointed/projectile/lightningbolt.html new file mode 100644 index 00000000000..7e51ab0dad5 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile/lightningbolt.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile/lightningbolt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lightningbolt + + + +

+ + + + +

Vars

bolt_flagsThe flags the bolt itself takes when zapping someone
bolt_powerThe power of the bolt itself
bolt_rangeThe range the bolt itself (different to the range of the projectile)
+

Var Details

bolt_flags + + + + +

+

The flags the bolt itself takes when zapping someone

bolt_power + + + + +

+

The power of the bolt itself

bolt_range + + + + +

+

The range the bolt itself (different to the range of the projectile)

+ + + diff --git a/datum/action/cooldown/spell/pointed/projectile/spell_cards.html b/datum/action/cooldown/spell/pointed/projectile/spell_cards.html new file mode 100644 index 00000000000..bb7b2291149 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/projectile/spell_cards.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/cooldown/spell/pointed/projectile/spell_cards - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spell_cards + + + +

+ + + + + + + +

Vars

current_target_weakrefA weakref to the mob we're currently targeting with the lockon component.
lockon_componentA ref to our lockon component, which is created and destroyed on activation and deactivation.
projectile_initial_spread_amountThe initial spread of the spell cards when fired.
projectile_location_spread_amountThe location spread of the spell cards when fired.
projectile_pixel_homing_spreadThe homing spread of the spell cards in flight.
projectile_turnrateThe turn rate of the spell cards in flight. (They track onto locked on targets)
+

Var Details

current_target_weakref + + + + +

+

A weakref to the mob we're currently targeting with the lockon component.

lockon_component + + + + +

+

A ref to our lockon component, which is created and destroyed on activation and deactivation.

projectile_initial_spread_amount + + + + +

+

The initial spread of the spell cards when fired.

projectile_location_spread_amount + + + + +

+

The location spread of the spell cards when fired.

projectile_pixel_homing_spread + + + + +

+

The homing spread of the spell cards in flight.

projectile_turnrate + + + + +

+

The turn rate of the spell cards in flight. (They track onto locked on targets)

+ + + diff --git a/datum/action/cooldown/spell/pointed/psychic_projection.html b/datum/action/cooldown/spell/pointed/psychic_projection.html new file mode 100644 index 00000000000..43dac973fd9 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/psychic_projection.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/psychic_projection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

psychic_projection + + + +

+ + +

Vars

projection_durationDuration of the effects.
+

Var Details

projection_duration + + + + +

+

Duration of the effects.

+ + + diff --git a/datum/action/cooldown/spell/pointed/rust_construction.html b/datum/action/cooldown/spell/pointed/rust_construction.html new file mode 100644 index 00000000000..2517483b3b0 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/rust_construction.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/rust_construction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rust_construction + + + +

+ + +

Vars

filter_durationHow long does the filter last on walls we make?
+

Var Details

filter_duration + + + + +

+

How long does the filter last on walls we make?

+ + + diff --git a/datum/action/cooldown/spell/pointed/swap.html b/datum/action/cooldown/spell/pointed/swap.html new file mode 100644 index 00000000000..d64fb1621f0 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/swap.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/pointed/swap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

swap + + + +

+ + +

Vars

second_targetA variable for holding the second selected target with right click.
+

Var Details

second_target + + + + +

+

A variable for holding the second selected target with right click.

+ + + diff --git a/datum/action/cooldown/spell/pointed/void_phase.html b/datum/action/cooldown/spell/pointed/void_phase.html new file mode 100644 index 00000000000..f363ef75b07 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/void_phase.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/cooldown/spell/pointed/void_phase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

void_phase + + + +

+ + + + +

Vars

damage_radiusThe radius of damage around the void bubble
min_cast_rangeThe minimum range to cast the phase.

Procs

cause_aoeDoes the AOE effect of the blinka t the passed turf
+

Var Details

damage_radius + + + + +

+

The radius of damage around the void bubble

min_cast_range + + + + +

+

The minimum range to cast the phase.

Proc Details

cause_aoe +

+

Does the AOE effect of the blinka t the passed turf

+ + + diff --git a/datum/action/cooldown/spell/pointed/wizard_mimic.html b/datum/action/cooldown/spell/pointed/wizard_mimic.html new file mode 100644 index 00000000000..463635c3dd4 --- /dev/null +++ b/datum/action/cooldown/spell/pointed/wizard_mimic.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/pointed/wizard_mimic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizard_mimic + + + +

+ + + +

Vars

clone_lifespanwhen the clones will die
copieslist of clones
+

Var Details

clone_lifespan + + + + +

+

when the clones will die

copies + + + + +

+

list of clones

+ + + diff --git a/datum/action/cooldown/spell/rod_form.html b/datum/action/cooldown/spell/rod_form.html new file mode 100644 index 00000000000..9aeee59ae84 --- /dev/null +++ b/datum/action/cooldown/spell/rod_form.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/rod_form - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rod_form + + + +

+ + + + + +

Vars

damage_per_spell_rankThe extra damage we deal per additional spell level.
distance_per_spell_rankThe extra distance we travel per additional spell level.
rod_damage_bonusThe damage bonus applied to the rod on cast
rod_max_distanceThe max distance the rod goes on cast
+

Var Details

damage_per_spell_rank + + + + +

+

The extra damage we deal per additional spell level.

distance_per_spell_rank + + + + +

+

The extra distance we travel per additional spell level.

rod_damage_bonus + + + + +

+

The damage bonus applied to the rod on cast

rod_max_distance + + + + +

+

The max distance the rod goes on cast

+ + + diff --git a/datum/action/cooldown/spell/sanguine_strike.html b/datum/action/cooldown/spell/sanguine_strike.html new file mode 100644 index 00000000000..dc3808cb0a4 --- /dev/null +++ b/datum/action/cooldown/spell/sanguine_strike.html @@ -0,0 +1,62 @@ + + + + + + + /datum/action/cooldown/spell/sanguine_strike - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sanguine_strike + + + +

+ +

Enchants an item to deal either double damage, or +20 damage, whichever is less, and lifesteals for that amount + steals some blood. +multiplication can get a little instakill-y, so capping it at + 20 damage. +10 force weapon doesn't get the cap and gains 10 damage, 20 total +20 force weapon gets the cap of 20 damage added for a total of 40 +35 force weapon still gets the cap of 20 for a total of 55 instead of a whopping 70 damage +Steals 50 blood if they have enough. Splattercasting has one second of cooldown worth 5 blood, so 50 seconds cooldown of blood added!

+ + + +

Vars

original_forceOriginal force of the item enchanted.

Procs

end_enchantmentends the enchantment, starting the cooldown (which was frozen until you attacked)
on_droppedsignal called from dropping the enchanted item
on_enchanted_afterattacksignal called from attacking with the enchanted item
+

Var Details

original_force + + + + +

+

Original force of the item enchanted.

Proc Details

end_enchantment +

+

ends the enchantment, starting the cooldown (which was frozen until you attacked)

on_dropped +

+

signal called from dropping the enchanted item

on_enchanted_afterattack +

+

signal called from attacking with the enchanted item

+ + + diff --git a/datum/action/cooldown/spell/shadow_cloak.html b/datum/action/cooldown/spell/shadow_cloak.html new file mode 100644 index 00000000000..19313128020 --- /dev/null +++ b/datum/action/cooldown/spell/shadow_cloak.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/cooldown/spell/shadow_cloak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shadow_cloak + + + +

+ + + + + + +

Vars

active_cloakThe cloak currently active
uncloak_timeHow long before we automatically uncloak?
uncloak_timerA timer id, for the uncloak timer

Procs

on_early_cloak_lossSignal proc for COMSIG_QDELETING, if our cloak is deleted early, impart negative effects
on_focus_lostSignal proc for [SIGNAL_REMOVETRAIT] via TRAIT_ALLOW_HERETIC_CASTING, losing our focus midcast will throw us out.
+

Var Details

active_cloak + + + + +

+

The cloak currently active

uncloak_time + + + + +

+

How long before we automatically uncloak?

uncloak_timer + + + + +

+

A timer id, for the uncloak timer

Proc Details

on_early_cloak_loss +

+

Signal proc for COMSIG_QDELETING, if our cloak is deleted early, impart negative effects

on_focus_lost +

+

Signal proc for [SIGNAL_REMOVETRAIT] via TRAIT_ALLOW_HERETIC_CASTING, losing our focus midcast will throw us out.

+ + + diff --git a/datum/action/cooldown/spell/shapeshift.html b/datum/action/cooldown/spell/shapeshift.html new file mode 100644 index 00000000000..ea57aca091a --- /dev/null +++ b/datum/action/cooldown/spell/shapeshift.html @@ -0,0 +1,129 @@ + + + + + + + /datum/action/cooldown/spell/shapeshift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shapeshift + + + +

+ +

Shapeshift spells.

+

Allows the caster to transform to and from a different mob type.

+ + + + + + + + + + + + +

Vars

convert_damageWhether we convert our health from one form to another
convert_damage_typeIf convert damage is true, the damage type we deal when converting damage back and forth
die_with_shapeshifted_formWhether we die when our shapeshifted form is killed
possible_shapesAll possible types we can become. +This should be implemented even if there is only one choice.
pre_shift_requirementsOur spell's requrements before we shapeshifted. Stored on shapeshift so we can restore them after unshifting.
revert_on_deathWhether we revert to our human form on death.
shapeshift_typeOur chosen type.

Procs

check_menuCallback for the radial that allows the user to choose their species.
create_shapeshift_mobHelper proc that instantiates the mob we shapeshift into. +Returns an instance of a living mob. Can be overridden.
do_shapeshiftActually does the shapeshift, for the caster.
do_unshapeshiftActually does the un-shapeshift, from the caster. (Caster is a shapeshifted mob.)
eject_from_ventsWhenever someone shapeshifts within a vent, +and enters a state in which they are no longer a ventcrawler, +they are brutally ejected from the vents. In the form of gibs.
unshift_ownerRemoves an active shapeshift effect from the owner
+

Var Details

convert_damage + + + + +

+

Whether we convert our health from one form to another

convert_damage_type + + + + +

+

If convert damage is true, the damage type we deal when converting damage back and forth

die_with_shapeshifted_form + + + + +

+

Whether we die when our shapeshifted form is killed

possible_shapes + + + + +

+

All possible types we can become. +This should be implemented even if there is only one choice.

pre_shift_requirements + + + + +

+

Our spell's requrements before we shapeshifted. Stored on shapeshift so we can restore them after unshifting.

revert_on_death + + + + +

+

Whether we revert to our human form on death.

shapeshift_type + + + + +

+

Our chosen type.

Proc Details

check_menu +

+

Callback for the radial that allows the user to choose their species.

create_shapeshift_mob +

+

Helper proc that instantiates the mob we shapeshift into. +Returns an instance of a living mob. Can be overridden.

do_shapeshift +

+

Actually does the shapeshift, for the caster.

do_unshapeshift +

+

Actually does the un-shapeshift, from the caster. (Caster is a shapeshifted mob.)

eject_from_vents +

+

Whenever someone shapeshifts within a vent, +and enters a state in which they are no longer a ventcrawler, +they are brutally ejected from the vents. In the form of gibs.

unshift_owner +

+

Removes an active shapeshift effect from the owner

+ + + diff --git a/datum/action/cooldown/spell/shapeshift/polymorph_belt.html b/datum/action/cooldown/spell/shapeshift/polymorph_belt.html new file mode 100644 index 00000000000..8896eea706d --- /dev/null +++ b/datum/action/cooldown/spell/shapeshift/polymorph_belt.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/shapeshift/polymorph_belt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

polymorph_belt + + + +

+ +

Ability provided by the polymorph belt

+ +

Vars

channel_timeAmount of time it takes us to transform back or forth

Procs

update_typeUpdate what you are transforming to or from
+

Var Details

channel_time + + + + +

+

Amount of time it takes us to transform back or forth

Proc Details

update_type +

+

Update what you are transforming to or from

+ + + diff --git a/datum/action/cooldown/spell/shapeshift/shed_human_form.html b/datum/action/cooldown/spell/shapeshift/shed_human_form.html new file mode 100644 index 00000000000..c9e220ed861 --- /dev/null +++ b/datum/action/cooldown/spell/shapeshift/shed_human_form.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/shapeshift/shed_human_form - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shed_human_form + + + +

+ + + +

Vars

scare_radiusThe radius around us that we cause brain damage / sanity damage to.
segment_lengthThe length of our new wormy when we shed.
+

Var Details

scare_radius + + + + +

+

The radius around us that we cause brain damage / sanity damage to.

segment_length + + + + +

+

The length of our new wormy when we shed.

+ + + diff --git a/datum/action/cooldown/spell/shapeshift/slime_form.html b/datum/action/cooldown/spell/shapeshift/slime_form.html new file mode 100644 index 00000000000..668bc79128e --- /dev/null +++ b/datum/action/cooldown/spell/shapeshift/slime_form.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/shapeshift/slime_form - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slime_form + + + +

+ +

Slime transformation power - from Burning Black

+

Vars

remove_on_restoreIf TRUE, we self-delete (remove ourselves) the next time we turn back into a human
+

Var Details

remove_on_restore + + + + +

+

If TRUE, we self-delete (remove ourselves) the next time we turn back into a human

+ + + diff --git a/datum/action/cooldown/spell/spacetime_dist.html b/datum/action/cooldown/spell/spacetime_dist.html new file mode 100644 index 00000000000..edea3123797 --- /dev/null +++ b/datum/action/cooldown/spell/spacetime_dist.html @@ -0,0 +1,73 @@ + + + + + + + /datum/action/cooldown/spell/spacetime_dist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spacetime_dist + + + +

+ + + + + + + +

Vars

durationThe duration of the scramble
effectsA lazylist of all scramble effects this spell has created.
readyWeather we're ready to cast again yet or not
scramble_radiusThe radius of the scramble around the caster

Procs

clean_turfsCallback which cleans up our effects list after the duration expires.
get_targets_to_scrambleGets a list of turfs around the center atom to scramble.
+

Var Details

duration + + + + +

+

The duration of the scramble

effects + + + + +

+

A lazylist of all scramble effects this spell has created.

ready + + + + +

+

Weather we're ready to cast again yet or not

scramble_radius + + + + +

+

The radius of the scramble around the caster

Proc Details

clean_turfs +

+

Callback which cleans up our effects list after the duration expires.

get_targets_to_scramble +

+

Gets a list of turfs around the center atom to scramble.

+

Returns an assoc list of turf to turf. These pairs are what turfs are +swapped between one another when the cast is done.

+ + + diff --git a/datum/action/cooldown/spell/summonitem.html b/datum/action/cooldown/spell/summonitem.html new file mode 100644 index 00000000000..d96fbf26150 --- /dev/null +++ b/datum/action/cooldown/spell/summonitem.html @@ -0,0 +1,85 @@ + + + + + + + /datum/action/cooldown/spell/summonitem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

summonitem + + + +

+ + + + + + + + + +

Vars

marked_itemThe obj marked for recall

Procs

can_link_toChecks if the passed item is a valid item that can be marked / linked to summon.
get_markedFor use in callbacks to get the marked item
mark_itemSet the passed object as our marked item
on_marked_item_deletedSignal proc for COMSIG_QDELETING on our marked item, unmarks our item if it's deleted
try_link_itemIf we don't have a marked item, attempts to mark the caster's held item.
try_unlink_itemIf we have a marked item and it's in our hand, we will try to unlink it
unmark_itemUnset our current marked item
+

Var Details

marked_item + + + + +

+

The obj marked for recall

Proc Details

+

Checks if the passed item is a valid item that can be marked / linked to summon.

get_marked +

+

For use in callbacks to get the marked item

mark_item +

+

Set the passed object as our marked item

on_marked_item_deleted +

+

Signal proc for COMSIG_QDELETING on our marked item, unmarks our item if it's deleted

+

If we don't have a marked item, attempts to mark the caster's held item.

+

If we have a marked item and it's in our hand, we will try to unlink it

unmark_item +

+

Unset our current marked item

+ + + diff --git a/datum/action/cooldown/spell/tap.html b/datum/action/cooldown/spell/tap.html new file mode 100644 index 00000000000..fd18a679492 --- /dev/null +++ b/datum/action/cooldown/spell/tap.html @@ -0,0 +1,40 @@ + + + + + + + /datum/action/cooldown/spell/tap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tap + + + +

+ +

SOUL TAP!

+

Trades 20 max health for a refresh on all of your spells. +I was considering making it depend on the cooldowns of your spells, but I want to support "Big spell wizard" with this loadout. +The two spells that sound most problematic with this is mindswap and lichdom, +but soul tap requires clothes for mindswap and lichdom takes your soul.

+

Vars

tap_health_takenThe amount of health we take on tap
+

Var Details

tap_health_taken + + + + +

+

The amount of health we take on tap

+ + + diff --git a/datum/action/cooldown/spell/teleport.html b/datum/action/cooldown/spell/teleport.html new file mode 100644 index 00000000000..e06f6a9eafe --- /dev/null +++ b/datum/action/cooldown/spell/teleport.html @@ -0,0 +1,72 @@ + + + + + + + /datum/action/cooldown/spell/teleport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

teleport + + + +

+ +Teleport Spell +

Teleports the caster to a turf selected by get_destinations().

+ + + + + +

Vars

destination_flagsA list of flags related to determining if our destination target is valid or not.
force_teleportWhether we force the teleport to happen (ie, it cannot be blocked by noteleport areas or blessings or whatever)
post_teleport_soundThe sound played on arrival, after the teleport.
teleport_channelWhat channel the teleport is done under.

Procs

get_destinationsGets a list of destinations that are valid
is_valid_destinationChecks if the passed turf is a valid destination.
+

Var Details

destination_flags + + + + +

+

A list of flags related to determining if our destination target is valid or not.

force_teleport + + + + +

+

Whether we force the teleport to happen (ie, it cannot be blocked by noteleport areas or blessings or whatever)

post_teleport_sound + + + + +

+

The sound played on arrival, after the teleport.

teleport_channel + + + + +

+

What channel the teleport is done under.

Proc Details

get_destinations +

+

Gets a list of destinations that are valid

is_valid_destination +

+

Checks if the passed turf is a valid destination.

+ + + diff --git a/datum/action/cooldown/spell/teleport/area_teleport.html b/datum/action/cooldown/spell/teleport/area_teleport.html new file mode 100644 index 00000000000..b419636f737 --- /dev/null +++ b/datum/action/cooldown/spell/teleport/area_teleport.html @@ -0,0 +1,52 @@ + + + + + + + /datum/action/cooldown/spell/teleport/area_teleport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

area_teleport + + + +

+ +Area Teleport Spell +

A subtype of teleport that will teleport the caster +to a random turf within a selected (or random) area.

+ + +

Vars

invocation_says_areaIf the invocation appends the selected area when said. Requires invocation mode shout or whisper.
last_chosen_area_nameThe last area we chose to teleport / where we're currently teleporting to, if mid-cast
randomise_selectionIf FALSE, the caster can select the destination area. If TRUE, they will teleport to somewhere randomly instead.
+

Var Details

invocation_says_area + + + + +

+

If the invocation appends the selected area when said. Requires invocation mode shout or whisper.

last_chosen_area_name + + + + +

+

The last area we chose to teleport / where we're currently teleporting to, if mid-cast

randomise_selection + + + + +

+

If FALSE, the caster can select the destination area. If TRUE, they will teleport to somewhere randomly instead.

+ + + diff --git a/datum/action/cooldown/spell/teleport/radius_turf.html b/datum/action/cooldown/spell/teleport/radius_turf.html new file mode 100644 index 00000000000..d32708dce79 --- /dev/null +++ b/datum/action/cooldown/spell/teleport/radius_turf.html @@ -0,0 +1,45 @@ + + + + + + + /datum/action/cooldown/spell/teleport/radius_turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radius_turf + + + +

+ +Radius Teleport Spell +

A subtype of teleport that will teleport the caster +to a random turf within a radius of themselves.

+ +

Vars

inner_tele_radiusThe inner radius around the caster that we can teleport to
outer_tele_radiusThe outer radius around the caster that we can teleport to
+

Var Details

inner_tele_radius + + + + +

+

The inner radius around the caster that we can teleport to

outer_tele_radius + + + + +

+

The outer radius around the caster that we can teleport to

+ + + diff --git a/datum/action/cooldown/spell/thermal_vision.html b/datum/action/cooldown/spell/thermal_vision.html new file mode 100644 index 00000000000..1d048e8ecd6 --- /dev/null +++ b/datum/action/cooldown/spell/thermal_vision.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/thermal_vision - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

thermal_vision + + + +

+ + + +

Vars

eye_damageHow much eye damage is given on cast
thermal_durationThe duration of the thermal vision
+

Var Details

eye_damage + + + + +

+

How much eye damage is given on cast

thermal_duration + + + + +

+

The duration of the thermal vision

+ + + diff --git a/datum/action/cooldown/spell/timestop.html b/datum/action/cooldown/spell/timestop.html new file mode 100644 index 00000000000..14e5e28d51b --- /dev/null +++ b/datum/action/cooldown/spell/timestop.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/timestop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

timestop + + + +

+ +

for predictable blood total amounts when the spell is first cast.

+ +

Vars

timestop_durationThe duration of the time stop.
timestop_rangeThe radius / range of the time stop.
+

Var Details

timestop_duration + + + + +

+

The duration of the time stop.

timestop_range + + + + +

+

The radius / range of the time stop.

+ + + diff --git a/datum/action/cooldown/spell/tongue_spike.html b/datum/action/cooldown/spell/tongue_spike.html new file mode 100644 index 00000000000..4ff5d54a85a --- /dev/null +++ b/datum/action/cooldown/spell/tongue_spike.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/tongue_spike - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tongue_spike + + + +

+ + +

Vars

spike_pathThe type-path to what projectile we spawn to throw at someone.
+

Var Details

spike_path + + + + +

+

The type-path to what projectile we spawn to throw at someone.

+ + + diff --git a/datum/action/cooldown/spell/touch.html b/datum/action/cooldown/spell/touch.html new file mode 100644 index 00000000000..a88bdae29ce --- /dev/null +++ b/datum/action/cooldown/spell/touch.html @@ -0,0 +1,210 @@ + + + + + + + /datum/action/cooldown/spell/touch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

touch + + + +

+ +Touch Spell +

Touch spells are spells which function through the power of an item attack.

+

Instead of the spell triggering when the caster presses the button, +pressing the button will give them a hand object. +The spell's effects are cast when the hand object makes contact with something.

+

To implement a touch spell, all you need is to implement:

+ +

However, for added complexity, you can optionally implement:

+ +

It is not necessarily to touch any of the core functions, and is +(generally) inadvisable unless you know what you're doing

+ + + + + + + + + + + + + + + + + + + +

Vars

attached_handRef to the hand we currently have deployed.
can_cast_on_selfIf TRUE, the caster can willingly hit themselves with the hand
draw_messageThe message displayed to the person upon creating the touch hand
drop_messageThe message displayed upon willingly dropping / deleting / cancelling the touch hand before using it
hand_pathTypepath of what hand we create on initial cast.

Procs

can_hit_with_handChecks if the passed victim can be cast on by the caster.
cast_on_hand_hitThe actual process of casting the spell on the victim from the caster.
cast_on_secondary_hand_hitFor any special casting effects done if the user right-clicks +on touch spell instead of left-clicking
create_handCreates a new hand_path hand and equips it to the caster.
do_hand_hitCalls cast_on_hand_hit() from the caster onto the victim. +It's worth noting that victim will be guaranteed to be whatever checks are implemented in is_valid_target by this point.
do_secondary_hand_hitCalls do_secondary_hand_hit() from the caster onto the victim. +It's worth noting that victim will be guaranteed to be whatever checks are implemented in is_valid_target by this point.
on_antimagic_triggeredCalled whenever our spell is cast, but blocked by antimagic.
on_hand_deletedSignal proc for COMSIG_QDELETING from our attached hand.
on_hand_droppedSignal proc for COMSIG_ITEM_DROPPED from our attached hand.
on_hand_hitSignal proc for COMSIG_ITEM_AFTERATTACK from our attached hand.
on_hand_takenSignal proc for COMSIG_ITEM_OFFER_TAKEN from our attached hand.
on_secondary_hand_hitSignal proc for COMSIG_ITEM_AFTERATTACK_SECONDARY from our attached hand.
register_hand_signalsRegisters all signal procs for the hand.
remove_handUnregisters any signals and deletes the hand currently summoned by the spell.
unregister_hand_signalsUnregisters all signal procs for the hand.
+

Var Details

attached_hand + + + + +

+

Ref to the hand we currently have deployed.

can_cast_on_self + + + + +

+

If TRUE, the caster can willingly hit themselves with the hand

draw_message + + + + +

+

The message displayed to the person upon creating the touch hand

drop_message + + + + +

+

The message displayed upon willingly dropping / deleting / cancelling the touch hand before using it

hand_path + + + + +

+

Typepath of what hand we create on initial cast.

Proc Details

can_hit_with_hand +

+

Checks if the passed victim can be cast on by the caster.

cast_on_hand_hit +

+

The actual process of casting the spell on the victim from the caster.

+

Override / extend this to implement casting effects. +Return TRUE on a successful cast to use up the hand (delete it) +Return FALSE to do nothing and let them keep the hand in hand

cast_on_secondary_hand_hit +

+

For any special casting effects done if the user right-clicks +on touch spell instead of left-clicking

+

Return SECONDARY_ATTACK_CALL_NORMAL to call the normal cast_on_hand_hit +Return SECONDARY_ATTACK_CONTINUE_CHAIN to prevent the normal cast_on_hand_hit from calling, but still use up the hand +Return SECONDARY_ATTACK_CANCEL_CHAIN to prevent the spell from being used

create_hand +

+

Creates a new hand_path hand and equips it to the caster.

+

If the equipping action fails, reverts the cooldown and returns FALSE. +Otherwise, registers signals and returns TRUE.

do_hand_hit +

+

Calls cast_on_hand_hit() from the caster onto the victim. +It's worth noting that victim will be guaranteed to be whatever checks are implemented in is_valid_target by this point.

+

Implements checks for antimagic.

do_secondary_hand_hit +

+

Calls do_secondary_hand_hit() from the caster onto the victim. +It's worth noting that victim will be guaranteed to be whatever checks are implemented in is_valid_target by this point.

+

Does NOT check for antimagic on its own. Implement your own checks if you want the r-click to abide by it.

on_antimagic_triggered +

+

Called whenever our spell is cast, but blocked by antimagic.

on_hand_deleted +

+

Signal proc for COMSIG_QDELETING from our attached hand.

+

If our hand is deleted for a reason unrelated to our spell, +unlink it (clear refs) and revert the cooldown

on_hand_dropped +

+

Signal proc for COMSIG_ITEM_DROPPED from our attached hand.

+

If our caster drops the hand, remove the hand / revert the cast +Basically gives them an easy hotkey to lose their hand without needing to click the button

on_hand_hit +

+

Signal proc for COMSIG_ITEM_AFTERATTACK from our attached hand.

+

When our hand hits an atom, we can cast do_hand_hit() on them.

on_hand_taken +

+

Signal proc for COMSIG_ITEM_OFFER_TAKEN from our attached hand.

+

Giving a high five with our hand makes it cast

on_secondary_hand_hit +

+

Signal proc for COMSIG_ITEM_AFTERATTACK_SECONDARY from our attached hand.

+

Same as on_hand_hit, but for if right-click was used on hit.

register_hand_signals +

+

Registers all signal procs for the hand.

remove_hand +

+

Unregisters any signals and deletes the hand currently summoned by the spell.

+

If reset_cooldown_after is TRUE, we will additionally refund the cooldown of the spell. +If reset_cooldown_after is FALSE, we will instead just start the spell's cooldown

unregister_hand_signals +

+

Unregisters all signal procs for the hand.

+ + + diff --git a/datum/action/cooldown/spell/touch/duffelbag.html b/datum/action/cooldown/spell/touch/duffelbag.html new file mode 100644 index 00000000000..cadde8622f9 --- /dev/null +++ b/datum/action/cooldown/spell/touch/duffelbag.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/cooldown/spell/touch/duffelbag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

duffelbag + + + +

+ + +

Vars

elaborate_backstorySome meme "elaborate backstories" to use.
+

Var Details

elaborate_backstory + + + + +

+

Some meme "elaborate backstories" to use.

+ + + diff --git a/datum/action/cooldown/spell/touch/flesh_surgery.html b/datum/action/cooldown/spell/touch/flesh_surgery.html new file mode 100644 index 00000000000..8d7f45721da --- /dev/null +++ b/datum/action/cooldown/spell/touch/flesh_surgery.html @@ -0,0 +1,92 @@ + + + + + + + /datum/action/cooldown/spell/touch/flesh_surgery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flesh_surgery + + + +

+ + + + + + + + + + +

Vars

monster_brute_healingIf used on a heretic mob, how much brute do we heal
monster_burn_healingIf used on a heretic mob, how much burn do we heal
organ_percent_healingIf used on an organ, how much percent of the organ's HP do we restore

Procs

add_item_contextSignal proc for COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET to add some context to the hand.
extraction_checksExtra checks ran while we're extracting an organ to make sure we can continue to do.
heal_checksExtra checks ran while we're healing something (organ, mob).
heal_heretic_monsterIf cast on a heretic monster who's not dead we'll heal it a bit.
heal_organIf cast on an organ, we'll restore it's health and even un-fail it.
steal_organ_from_mobIf cast on a carbon, we'll try to steal one of their organs directly from their person.
+

Var Details

monster_brute_healing + + + + +

+

If used on a heretic mob, how much brute do we heal

monster_burn_healing + + + + +

+

If used on a heretic mob, how much burn do we heal

organ_percent_healing + + + + +

+

If used on an organ, how much percent of the organ's HP do we restore

Proc Details

add_item_context +

+

Signal proc for COMSIG_ITEM_REQUESTING_CONTEXT_FOR_TARGET to add some context to the hand.

extraction_checks +

+

Extra checks ran while we're extracting an organ to make sure we can continue to do.

heal_checks +

+

Extra checks ran while we're healing something (organ, mob).

heal_heretic_monster +

+

If cast on a heretic monster who's not dead we'll heal it a bit.

heal_organ +

+

If cast on an organ, we'll restore it's health and even un-fail it.

steal_organ_from_mob +

+

If cast on a carbon, we'll try to steal one of their organs directly from their person.

+ + + diff --git a/datum/action/cooldown/spell/touch/shock.html b/datum/action/cooldown/spell/touch/shock.html new file mode 100644 index 00000000000..f0a548796ac --- /dev/null +++ b/datum/action/cooldown/spell/touch/shock.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/touch/shock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shock + + + +

+ + + + + +

Vars

chainThis var decides if the spell should chain, dictated by presence of power chromosome
zap_flagsflags that dictate what the tesla shock can interact with, Can only damage mobs, Cannot damage machines or generate energy
zap_powerAffects damage, should do about 1 per limb
zap_rangeRange of tesla shock bounces
+

Var Details

chain + + + + +

+

This var decides if the spell should chain, dictated by presence of power chromosome

zap_flags + + + + +

+

flags that dictate what the tesla shock can interact with, Can only damage mobs, Cannot damage machines or generate energy

zap_power + + + + +

+

Affects damage, should do about 1 per limb

zap_range + + + + +

+

Range of tesla shock bounces

+ + + diff --git a/datum/action/cooldown/spell/touch/smite.html b/datum/action/cooldown/spell/touch/smite.html new file mode 100644 index 00000000000..ec1f5b5e004 --- /dev/null +++ b/datum/action/cooldown/spell/touch/smite.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/cooldown/spell/touch/smite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

smite + + + +

+ + +

Procs

blind_everyone_nearbySmite is pretty extravagant, so whenever we get casted, we blind everyone nearby.

Proc Details

blind_everyone_nearby +

+

Smite is pretty extravagant, so whenever we get casted, we blind everyone nearby.

+ + + diff --git a/datum/action/cooldown/spell/touch/star_touch.html b/datum/action/cooldown/spell/touch/star_touch.html new file mode 100644 index 00000000000..7956d2402b8 --- /dev/null +++ b/datum/action/cooldown/spell/touch/star_touch.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/touch/star_touch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

star_touch + + + +

+ + + + + +

Vars

ascendedIf the heretic is ascended or not
star_gazerStores the weakref for the Star Gazer after ascending

Procs

get_star_gazerTo obtain the star gazer if there is one
set_star_gazerTo set the star gazer
+

Var Details

ascended + + + + +

+

If the heretic is ascended or not

star_gazer + + + + +

+

Stores the weakref for the Star Gazer after ascending

Proc Details

get_star_gazer +

+

To obtain the star gazer if there is one

set_star_gazer +

+

To set the star gazer

+ + + diff --git a/datum/action/cooldown/spell/voice_of_god.html b/datum/action/cooldown/spell/voice_of_god.html new file mode 100644 index 00000000000..68c9316c35c --- /dev/null +++ b/datum/action/cooldown/spell/voice_of_god.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/cooldown/spell/voice_of_god - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

voice_of_god + + + +

+ + + + + +

Vars

commandThe command to deliver on cast
cooldown_modThe modifier to the cooldown, after cast
power_modThe modifier put onto the power of the command
spansA list of spans to apply to commands given
+

Var Details

command + + + + +

+

The command to deliver on cast

cooldown_mod + + + + +

+

The modifier to the cooldown, after cast

power_mod + + + + +

+

The modifier put onto the power of the command

spans + + + + +

+

A list of spans to apply to commands given

+ + + diff --git a/datum/action/cooldown/spell/void/cursed.html b/datum/action/cooldown/spell/void/cursed.html new file mode 100644 index 00000000000..88f4a21f1f3 --- /dev/null +++ b/datum/action/cooldown/spell/void/cursed.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/cooldown/spell/void/cursed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cursed + + + +

+ +

The cursed "void invocation" action, that has a chance of casting itself on its owner randomly on life ticks.

+ +

Vars

curse_probability_modifierA multiplier applied to the probability of the curse appearing every life tick

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE. Has a chance of casting itself randomly.
+

Var Details

curse_probability_modifier + + + + +

+

A multiplier applied to the probability of the curse appearing every life tick

Proc Details

on_life +

+

Signal proc for COMSIG_LIVING_LIFE. Has a chance of casting itself randomly.

+ + + diff --git a/datum/action/cooldown/track_target.html b/datum/action/cooldown/track_target.html new file mode 100644 index 00000000000..085b4fd4bec --- /dev/null +++ b/datum/action/cooldown/track_target.html @@ -0,0 +1,65 @@ + + + + + + + /datum/action/cooldown/track_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

track_target + + + +

+ +

The action associated with the living heart. +Allows a heretic to track sacrifice targets.

+ + + + +

Vars

last_tracked_nameThe real name of the last mob we tracked
radial_openWhether the target radial is currently opened.
right_clickedTracks whether we were right clicked or left clicked in our last trigger

Procs

check_menuCallback for the radial to ensure it's closed when not allowed.
get_balloon_messageGets the balloon message for who we're tracking.
+

Var Details

last_tracked_name + + + + +

+

The real name of the last mob we tracked

radial_open + + + + +

+

Whether the target radial is currently opened.

right_clicked + + + + +

+

Tracks whether we were right clicked or left clicked in our last trigger

Proc Details

check_menu +

+

Callback for the radial to ensure it's closed when not allowed.

get_balloon_message +

+

Gets the balloon message for who we're tracking.

+ + + diff --git a/datum/action/cooldown/turn_to_statue.html b/datum/action/cooldown/turn_to_statue.html new file mode 100644 index 00000000000..a696fe4a73d --- /dev/null +++ b/datum/action/cooldown/turn_to_statue.html @@ -0,0 +1,73 @@ + + + + + + + /datum/action/cooldown/turn_to_statue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

turn_to_statue + + + +

+ + + + + + + +

Vars

statueThe statue we turn into. +We only ever make one (in New) and simply move it into nullspace or back.

Procs

clean_up_statueCleans up the reference to the statue and unregisters signals
human_left_statueSomehow they used an exploit/teleportation to leave statue, lets clean up
init_statueInitializes the statue we're going to hang around inside
statue_deletedStatue was qdeleted outright, do nothing but clear refs.
statue_destroyedStatue was destroyed via IC means (destruction / deconstruction), dust the owner and drop their stuff
+

Var Details

statue + + + + +

+

The statue we turn into. +We only ever make one (in New) and simply move it into nullspace or back.

Proc Details

clean_up_statue +

+

Cleans up the reference to the statue and unregisters signals

human_left_statue +

+

Somehow they used an exploit/teleportation to leave statue, lets clean up

init_statue +

+

Initializes the statue we're going to hang around inside

statue_deleted +

+

Statue was qdeleted outright, do nothing but clear refs.

statue_destroyed +

+

Statue was destroyed via IC means (destruction / deconstruction), dust the owner and drop their stuff

+ + + diff --git a/datum/action/cooldown/vine_tangle.html b/datum/action/cooldown/vine_tangle.html new file mode 100644 index 00000000000..89263af4510 --- /dev/null +++ b/datum/action/cooldown/vine_tangle.html @@ -0,0 +1,70 @@ + + + + + + + /datum/action/cooldown/vine_tangle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vine_tangle + + + +

+ + + + + + +

Vars

max_vineshow many vines can we handle
vine_durationhow long does a vine attached to something last (and its leash) (lasts twice as long on nonliving things)
vine_grab_distanceHow far away a plant can attach a vine to something
vinesAn assoc list of all the plant's vines (beam = leash)

Procs

remove_vineRemoves a vine from the list.
+

Var Details

max_vines + + + + +

+

how many vines can we handle

vine_duration + + + + +

+

how long does a vine attached to something last (and its leash) (lasts twice as long on nonliving things)

vine_grab_distance + + + + +

+

How far away a plant can attach a vine to something

vines + + + + +

+

An assoc list of all the plant's vines (beam = leash)

Proc Details

remove_vine +

+

Removes a vine from the list.

+

Removes the vine from our list. +Called specifically when the vine is about to be destroyed, so we don't have any null references. +Arguments:

+
+ + + diff --git a/datum/action/innate.html b/datum/action/innate.html new file mode 100644 index 00000000000..2cc75571186 --- /dev/null +++ b/datum/action/innate.html @@ -0,0 +1,98 @@ + + + + + + + /datum/action/innate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

innate + + + +

+ + + + + + + + + + +

Vars

activeWhether we're active or not, if we're a innate - toggle action.
click_actionWhether we're a click action or not, if we're a innate - click action.
disable_textIf we're a click action, the text shown on disable
enable_textIf we're a click action, the text shown on enable
ranged_mousepointerIf we're a click action, the mouse pointer we use

Procs

InterceptClickOnHandles whenever a mob clicks on something
do_abilityActually goes through and does the click ability
set_ranged_abilityThis is gross, but a somewhat-required bit of copy+paste until action code becomes slightly more sane. +Anything that uses these functions should eventually be moved to use cooldown actions. +(Either that, or the click ability of cooldown actions should be moved down a type.)
unset_ranged_abilityRemoves this action as the active ability of the passed mob
+

Var Details

active + + + + +

+

Whether we're active or not, if we're a innate - toggle action.

click_action + + + + +

+

Whether we're a click action or not, if we're a innate - click action.

disable_text + + + + +

+

If we're a click action, the text shown on disable

enable_text + + + + +

+

If we're a click action, the text shown on enable

ranged_mousepointer + + + + +

+

If we're a click action, the mouse pointer we use

Proc Details

InterceptClickOn +

+

Handles whenever a mob clicks on something

do_ability +

+

Actually goes through and does the click ability

set_ranged_ability +

+

This is gross, but a somewhat-required bit of copy+paste until action code becomes slightly more sane. +Anything that uses these functions should eventually be moved to use cooldown actions. +(Either that, or the click ability of cooldown actions should be moved down a type.)

+

If you're adding something that uses these, rethink your choice in subtypes. +Sets this action as the active ability for the passed mob

unset_ranged_ability +

+

Removes this action as the active ability of the passed mob

+ + + diff --git a/datum/action/innate/ai.html b/datum/action/innate/ai.html new file mode 100644 index 00000000000..55bc27163a6 --- /dev/null +++ b/datum/action/innate/ai.html @@ -0,0 +1,57 @@ + + + + + + + /datum/action/innate/ai - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai + + + +

+ +

The malf AI action subtype. All malf actions are subtypes of this.

+ + + +

Vars

auto_use_usesIf we automatically use up uses on each activation
cooldown_periodIf applicable, the time in deciseconds we have to wait before using any more modules
owner_AIThe owner AI, so we don't have to typecast every time
usesIf we have multiple uses of the same power
+

Var Details

auto_use_uses + + + + +

+

If we automatically use up uses on each activation

cooldown_period + + + + +

+

If applicable, the time in deciseconds we have to wait before using any more modules

owner_AI + + + + +

+

The owner AI, so we don't have to typecast every time

uses + + + + +

+

If we have multiple uses of the same power

+ + + diff --git a/datum/action/innate/ai/lockdown.html b/datum/action/innate/ai/lockdown.html new file mode 100644 index 00000000000..e426b1fcd19 --- /dev/null +++ b/datum/action/innate/ai/lockdown.html @@ -0,0 +1,38 @@ + + + + + + + /datum/action/innate/ai/lockdown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lockdown + + + +

+ + +

Vars

hack_in_progressBadmin / exploit abuse prevention. +Check tick may sleep in activate() and we don't want this to be spammable.
+

Var Details

hack_in_progress + + + + +

+

Badmin / exploit abuse prevention. +Check tick may sleep in activate() and we don't want this to be spammable.

+ + + diff --git a/datum/action/innate/ai/ranged/core_tilt.html b/datum/action/innate/ai/ranged/core_tilt.html new file mode 100644 index 00000000000..3523cf968c7 --- /dev/null +++ b/datum/action/innate/ai/ranged/core_tilt.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/ai/ranged/core_tilt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

core_tilt + + + +

+ + + + +

Vars

roll_over_cooldownOn top of [roll_over_time], how long does it take for the ability to cooldown?
roll_over_timeHow long does it take for us to roll?

Procs

radial_checkUsed in our radial menu, state-checking proc after the radial menu sleeps
+

Var Details

roll_over_cooldown + + + + +

+

On top of [roll_over_time], how long does it take for the ability to cooldown?

roll_over_time + + + + +

+

How long does it take for us to roll?

Proc Details

radial_check +

+

Used in our radial menu, state-checking proc after the radial menu sleeps

+ + + diff --git a/datum/action/innate/ai/ranged/remote_vendor_tilt.html b/datum/action/innate/ai/ranged/remote_vendor_tilt.html new file mode 100644 index 00000000000..33100f6581d --- /dev/null +++ b/datum/action/innate/ai/ranged/remote_vendor_tilt.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/ai/ranged/remote_vendor_tilt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

remote_vendor_tilt + + + +

+ + +

Procs

radial_checkUsed in our radial menu, state-checking proc after the radial menu sleeps

Proc Details

radial_check +

+

Used in our radial menu, state-checking proc after the radial menu sleeps

+ + + diff --git a/datum/action/innate/blobpop.html b/datum/action/innate/blobpop.html new file mode 100644 index 00000000000..d3291e3685a --- /dev/null +++ b/datum/action/innate/blobpop.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/blobpop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blobpop + + + +

+ + +

Vars

autoplace_timeThe time taken before this ability is automatically activated.
+

Var Details

autoplace_time + + + + +

+

The time taken before this ability is automatically activated.

+ + + diff --git a/datum/action/innate/construction.html b/datum/action/innate/construction.html new file mode 100644 index 00000000000..1400092f84c --- /dev/null +++ b/datum/action/innate/construction.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/innate/construction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

construction + + + +

+ +

Generic construction action for base construction consoles.

+ + + + +

Vars

base_consoleConsole itself
only_station_zIs this used to build only on the station z level?
remote_eyeConsole's eye mob

Procs

check_rcdSanity check for any construction action that relies on an RCD being in the base console
check_spotCheck a loction to see if it is inside the aux base at the station. Camera visbility checks omitted so as to not hinder construction.
+

Var Details

base_console + + + + +

+

Console itself

only_station_z + + + + +

+

Is this used to build only on the station z level?

remote_eye + + + + +

+

Console's eye mob

Proc Details

check_rcd +

+

Sanity check for any construction action that relies on an RCD being in the base console

check_spot +

+

Check a loction to see if it is inside the aux base at the station. Camera visbility checks omitted so as to not hinder construction.

+ + + diff --git a/datum/action/innate/construction/place_structure.html b/datum/action/innate/construction/place_structure.html new file mode 100644 index 00000000000..7a498c69e9a --- /dev/null +++ b/datum/action/innate/construction/place_structure.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/construction/place_structure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

place_structure + + + +

+ +

Generic action used with base construction consoles to build anything that can't be built with an RCD

+

Procs

after_placeProc to handle additional behavior after placing an object

Proc Details

after_place +

+

Proc to handle additional behavior after placing an object

+ + + diff --git a/datum/action/innate/cult/blood_spell.html b/datum/action/innate/cult/blood_spell.html new file mode 100644 index 00000000000..1ffdb62f341 --- /dev/null +++ b/datum/action/innate/cult/blood_spell.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/cult/blood_spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blood_spell + + + +

+ + +

Vars

positionedHave we already been positioned into our starting location?
+

Var Details

positioned + + + + +

+

Have we already been positioned into our starting location?

+ + + diff --git a/datum/action/innate/cult/blood_spell/dagger.html b/datum/action/innate/cult/blood_spell/dagger.html new file mode 100644 index 00000000000..75f433d724c --- /dev/null +++ b/datum/action/innate/cult/blood_spell/dagger.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/cult/blood_spell/dagger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dagger + + + +

+ + +

Vars

summoned_typeThe item given to the cultist when the spell is invoked. Typepath.
+

Var Details

summoned_type + + + + +

+

The item given to the cultist when the spell is invoked. Typepath.

+ + + diff --git a/datum/action/innate/cult/ghostmark.html b/datum/action/innate/cult/ghostmark.html new file mode 100644 index 00000000000..24c796d9fbf --- /dev/null +++ b/datum/action/innate/cult/ghostmark.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/cult/ghostmark - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ghostmark + + + +

+ + + + +

Vars

cult_mark_cooldownThe actual cooldown tracked of the action
cult_mark_cooldown_durationThe cooldown between marks - the ability can be used in between cooldowns, but can't mark (only clear)
cult_mark_durationThe duration of the mark on the target
+

Var Details

cult_mark_cooldown + + + + +

+

The actual cooldown tracked of the action

cult_mark_cooldown_duration + + + + +

+

The cooldown between marks - the ability can be used in between cooldowns, but can't mark (only clear)

cult_mark_duration + + + + +

+

The duration of the mark on the target

+ + + diff --git a/datum/action/innate/cult/master/cultmark.html b/datum/action/innate/cult/master/cultmark.html new file mode 100644 index 00000000000..0fb79dfeff1 --- /dev/null +++ b/datum/action/innate/cult/master/cultmark.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/cult/master/cultmark - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cultmark + + + +

+ + + + +

Vars

cult_mark_cooldownThe actual cooldown tracked of the action
cult_mark_cooldown_durationThe duration of the cooldown for cult marks
cult_mark_durationThe duration of the mark itself
+

Var Details

cult_mark_cooldown + + + + +

+

The actual cooldown tracked of the action

cult_mark_cooldown_duration + + + + +

+

The duration of the cooldown for cult marks

cult_mark_duration + + + + +

+

The duration of the mark itself

+ + + diff --git a/datum/action/innate/cult/master/pulse.html b/datum/action/innate/cult/master/pulse.html new file mode 100644 index 00000000000..c2958576a32 --- /dev/null +++ b/datum/action/innate/cult/master/pulse.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/cult/master/pulse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pulse + + + +

+ +

ELDRITCH PULSE

+ + +

Vars

pulse_cooldownThe actual cooldown tracked of the action
pulse_cooldown_durationCooldown of the ability
throwee_refWeakref to whoever we're currently about to toss
+

Var Details

pulse_cooldown + + + + +

+

The actual cooldown tracked of the action

pulse_cooldown_duration + + + + +

+

Cooldown of the ability

throwee_ref + + + + +

+

Weakref to whoever we're currently about to toss

+ + + diff --git a/datum/action/innate/dash.html b/datum/action/innate/dash.html new file mode 100644 index 00000000000..d3d6bd1ece3 --- /dev/null +++ b/datum/action/innate/dash.html @@ -0,0 +1,106 @@ + + + + + + + /datum/action/innate/dash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dash + + + +

+ +

Actions that you can use to dash (teleport) to places in view.

+ + + + + + + + + + +

Vars

beam_effectWhat effect does our beam use?
beam_lengthHow long does our beam last?
charge_rateHow long does it take to get a dash charge back?
current_chargesHow many dash charges do we have?
dash_soundWhat sound do we play on dash?
max_chargesHow many dash charges can we hold?
phaseinWhat effect should we play when we phase in (at the teleport target turf)
phaseoutWhat effect should we play when we phase out (at the source turf)
recharge_soundWhat sound do we play on recharge?

Procs

chargeCallback for [/proc/teleport] to increment our charges after use.
teleportTeleports user to target using do_teleport. Returns TRUE if teleport successful, FALSE otherwise.
+

Var Details

beam_effect + + + + +

+

What effect does our beam use?

beam_length + + + + +

+

How long does our beam last?

charge_rate + + + + +

+

How long does it take to get a dash charge back?

current_charges + + + + +

+

How many dash charges do we have?

dash_sound + + + + +

+

What sound do we play on dash?

max_charges + + + + +

+

How many dash charges can we hold?

phasein + + + + +

+

What effect should we play when we phase in (at the teleport target turf)

phaseout + + + + +

+

What effect should we play when we phase out (at the source turf)

recharge_sound + + + + +

+

What sound do we play on recharge?

Proc Details

charge +

+

Callback for [/proc/teleport] to increment our charges after use.

teleport +

+

Teleports user to target using do_teleport. Returns TRUE if teleport successful, FALSE otherwise.

+ + + diff --git a/datum/action/innate/elite_attack.html b/datum/action/innate/elite_attack.html new file mode 100644 index 00000000000..00377c24aae --- /dev/null +++ b/datum/action/innate/elite_attack.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/elite_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

elite_attack + + + +

+ + + +

Vars

chosen_attack_numThe internal attack ID for the elite's OpenFire() proc to use
chosen_messageThe displayed message into chat when this attack is selected
+

Var Details

chosen_attack_num + + + + +

+

The internal attack ID for the elite's OpenFire() proc to use

chosen_message + + + + +

+

The displayed message into chat when this attack is selected

+ + + diff --git a/datum/action/innate/expand_sight.html b/datum/action/innate/expand_sight.html new file mode 100644 index 00000000000..cbd279ffc32 --- /dev/null +++ b/datum/action/innate/expand_sight.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/expand_sight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

expand_sight + + + +

+ + + +

Vars

boost_toHow far we expand the range to.
last_toggleA cooldown for the last time we toggled it, to prevent spam.
+

Var Details

boost_to + + + + +

+

How far we expand the range to.

last_toggle + + + + +

+

A cooldown for the last time we toggled it, to prevent spam.

+ + + diff --git a/datum/action/innate/integrate_extract.html b/datum/action/innate/integrate_extract.html new file mode 100644 index 00000000000..c3632bf506b --- /dev/null +++ b/datum/action/innate/integrate_extract.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/integrate_extract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

integrate_extract + + + +

+ + +

Procs

locate_extractCallback for /datum/component/action_item_overlay to find the slime extract from within the species

Proc Details

locate_extract +

+

Callback for /datum/component/action_item_overlay to find the slime extract from within the species

+ + + diff --git a/datum/action/innate/link_minds.html b/datum/action/innate/link_minds.html new file mode 100644 index 00000000000..21c87c22b79 --- /dev/null +++ b/datum/action/innate/link_minds.html @@ -0,0 +1,50 @@ + + + + + + + /datum/action/innate/link_minds - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

link_minds + + + +

+ + + + +

Vars

currently_linkingWhether we're currently linking to someone.
req_speciesThe species required to use this ability. Typepath.

Procs

while_link_callbackCallback ran during the do_after of Activate() to see if we can keep linking with someone.
+

Var Details

currently_linking + + + + +

+

Whether we're currently linking to someone.

req_species + + + + +

+

The species required to use this ability. Typepath.

Proc Details

+

Callback ran during the do_after of Activate() to see if we can keep linking with someone.

+ + + diff --git a/datum/action/innate/mafia_panel.html b/datum/action/innate/mafia_panel.html new file mode 100644 index 00000000000..50bdec3af7e --- /dev/null +++ b/datum/action/innate/mafia_panel.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/mafia_panel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mafia_panel + + + +

+ + +

Vars

controller_panelThe mafia controller that the button will use the UI of.
+

Var Details

controller_panel + + + + +

+

The mafia controller that the button will use the UI of.

+ + + diff --git a/datum/action/innate/proto_emitter.html b/datum/action/innate/proto_emitter.html new file mode 100644 index 00000000000..e87a6a6fd03 --- /dev/null +++ b/datum/action/innate/proto_emitter.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/proto_emitter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

proto_emitter + + + +

+ + + +

Vars

buckled_mobStores the mob instance that is buckled to the emitter
proto_emitterStores the emitter the user is currently buckled on
+

Var Details

buckled_mob + + + + +

+

Stores the mob instance that is buckled to the emitter

proto_emitter + + + + +

+

Stores the emitter the user is currently buckled on

+ + + diff --git a/datum/action/innate/seek_master.html b/datum/action/innate/seek_master.html new file mode 100644 index 00000000000..c8a138a95f4 --- /dev/null +++ b/datum/action/innate/seek_master.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/seek_master - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

seek_master + + + +

+ + + +

Vars

the_constructThe construct we're attached to
trackingWhere is nar nar? Are we even looking?
+

Var Details

the_construct + + + + +

+

The construct we're attached to

tracking + + + + +

+

Where is nar nar? Are we even looking?

+ + + diff --git a/datum/action/innate/sign_language.html b/datum/action/innate/sign_language.html new file mode 100644 index 00000000000..3221f4530c1 --- /dev/null +++ b/datum/action/innate/sign_language.html @@ -0,0 +1,71 @@ + + + + + + + /datum/action/innate/sign_language - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sign_language + + + +

+ +

Allows a Carbon to toggle sign language on/off. The button is invisible for mute Carbons. +Theory of Operation: +A. If TRAIT_SIGN_LANG is added/removed, and the button is visible, then update the button. +B. React to presence of trait TRAIT_MUTE for quality/convenience purposes: +C. If TRAIT_MUTE is added, then activate and hide the Action. +D. If TRAIT_MUTE is then removed, then show the Action.

+ + + + + +

Procs

hide_actionHides the linked action from the owner Carbon.
on_mutedSignal handler for SIGNAL_ADDTRAIT(TRAIT_MUTE) +Hides the action if the signing Carbon gains TRAIT_MUTE.
on_unmutedSignal handler for SIGNAL_REMOVETRAIT(TRAIT_MUTE) +Re-shows the action if the signing Carbon loses TRAIT_MUTE.
show_actionShows the linked action to the owner Carbon.

Proc Details

hide_action +

+

Hides the linked action from the owner Carbon.

on_muted +

+

Signal handler for SIGNAL_ADDTRAIT(TRAIT_MUTE) +Hides the action if the signing Carbon gains TRAIT_MUTE.

on_unmuted +

+

Signal handler for SIGNAL_REMOVETRAIT(TRAIT_MUTE) +Re-shows the action if the signing Carbon loses TRAIT_MUTE.

show_action +

+

Shows the linked action to the owner Carbon.

+ + + diff --git a/datum/action/innate/teleport_in.html b/datum/action/innate/teleport_in.html new file mode 100644 index 00000000000..0ba5ffb7669 --- /dev/null +++ b/datum/action/innate/teleport_in.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/teleport_in - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

teleport_in + + + +

+ + + +

Vars

abductor_pad_cooldownIs the amount of time required between uses
use_delayIs used to compare to world.time in order to determine if the action should early return
+

Var Details

abductor_pad_cooldown + + + + +

+

Is the amount of time required between uses

use_delay + + + + +

+

Is used to compare to world.time in order to determine if the action should early return

+ + + diff --git a/datum/action/innate/teleport_self.html b/datum/action/innate/teleport_self.html new file mode 100644 index 00000000000..2ee68076b2c --- /dev/null +++ b/datum/action/innate/teleport_self.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/innate/teleport_self - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

teleport_self + + + +

+ + +

Vars

teleport_self_cooldownIs the amount of time required between uses
+

Var Details

teleport_self_cooldown + + + + +

+

Is the amount of time required between uses

+ + + diff --git a/datum/action/innate/use_extract.html b/datum/action/innate/use_extract.html new file mode 100644 index 00000000000..a8c55fb001f --- /dev/null +++ b/datum/action/innate/use_extract.html @@ -0,0 +1,35 @@ + + + + + + + /datum/action/innate/use_extract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

use_extract + + + +

+ + +

Procs

locate_extractCallback for /datum/component/action_item_overlay to find the slime extract from within the species

Proc Details

locate_extract +

+

Callback for /datum/component/action_item_overlay to find the slime extract from within the species

+ + + diff --git a/datum/action/innate/vibe.html b/datum/action/innate/vibe.html new file mode 100644 index 00000000000..f5cb33dd68f --- /dev/null +++ b/datum/action/innate/vibe.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/innate/vibe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

vibe + + + +

+ +

Vibebot's vibe ability

+

Given to vibebots so sentient ones can change/reset thier colors at will.

+ +

Procs

remove_colorsRemoves all colors
vibeGives a random color

Proc Details

remove_colors +

+

Removes all colors

vibe +

+

Gives a random color

+ + + diff --git a/datum/action/item_action/agent_box.html b/datum/action/item_action/agent_box.html new file mode 100644 index 00000000000..c4b16bb16e5 --- /dev/null +++ b/datum/action/item_action/agent_box.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/item_action/agent_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

agent_box + + + +

+ +

MGS BOX!

+ +

Vars

boxtypeThe type of closet this action spawns.

Procs

TriggerHandles opening and closing the box.
+

Var Details

boxtype + + + + +

+

The type of closet this action spawns.

Proc Details

Trigger +

+

Handles opening and closing the box.

+ + + diff --git a/datum/action/item_action/camouflage.html b/datum/action/item_action/camouflage.html new file mode 100644 index 00000000000..5208a2b78a8 --- /dev/null +++ b/datum/action/item_action/camouflage.html @@ -0,0 +1,52 @@ + + + + + + + /datum/action/item_action/camouflage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

camouflage + + + +

+ + + + +

Vars

camouflage_alphaThe alpha we move to when activating this action.
cloakingAre we currently cloaking ourself?

Procs

remove_cloakingReturns the owner's alpha value to its initial value,
+

Var Details

camouflage_alpha + + + + +

+

The alpha we move to when activating this action.

cloaking + + + + +

+

Are we currently cloaking ourself?

Proc Details

remove_cloaking +

+

Returns the owner's alpha value to its initial value,

+

Disables cloaking and flashes sparks. Used when toggling the ability, as well as to +make sure the action properly resets its owner when removed.

+ + + diff --git a/datum/action/item_action/chameleon/change.html b/datum/action/item_action/chameleon/change.html new file mode 100644 index 00000000000..d937acce9dc --- /dev/null +++ b/datum/action/item_action/chameleon/change.html @@ -0,0 +1,91 @@ + + + + + + + /datum/action/item_action/chameleon/change - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

change + + + +

+ + + + + + + + + +

Vars

active_typeWhat chameleon is active right now? +Can be set in the declaration to update in init
chameleon_blacklistTypecache of all item types we explicitly cannot pick +Note that abstract items are already excluded
chameleon_listAssoc list of item name + icon state to item typepath +This is passed to the list input
chameleon_nameUsed in the action button to describe what we're changing into
chameleon_typeThe prime typepath of what class of item we're allowed to pick from
chameleon_typecacheTypecache of typepaths we can turn into
emp_timerCooldown from when we started being EMP'd

Procs

apply_job_dataUsed when applying this cham item via a job datum (from an outfit selection)
+

Var Details

active_type + + + + +

+

What chameleon is active right now? +Can be set in the declaration to update in init

chameleon_blacklist + + + + +

+

Typecache of all item types we explicitly cannot pick +Note that abstract items are already excluded

chameleon_list + + + + +

+

Assoc list of item name + icon state to item typepath +This is passed to the list input

chameleon_name + + + + +

+

Used in the action button to describe what we're changing into

chameleon_type + + + + +

+

The prime typepath of what class of item we're allowed to pick from

chameleon_typecache + + + + +

+

Typecache of typepaths we can turn into

emp_timer + + + + +

+

Cooldown from when we started being EMP'd

Proc Details

apply_job_data +

+

Used when applying this cham item via a job datum (from an outfit selection)

+ + + diff --git a/datum/action/item_action/chameleon/change/scanner.html b/datum/action/item_action/chameleon/change/scanner.html new file mode 100644 index 00000000000..27c058f80c4 --- /dev/null +++ b/datum/action/item_action/chameleon/change/scanner.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/item_action/chameleon/change/scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

scanner + + + +

+ + +

Vars

other_cham_typesOther types the chameleon scanner can swap into in addition to the chameleon type
+

Var Details

other_cham_types + + + + +

+

Other types the chameleon scanner can swap into in addition to the chameleon type

+ + + diff --git a/datum/action/item_action/mod.html b/datum/action/item_action/mod.html new file mode 100644 index 00000000000..9f8165b5903 --- /dev/null +++ b/datum/action/item_action/mod.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/item_action/mod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod + + + +

+ + +

Vars

ai_actionWhether this action is intended for the AI. Stuff breaks a lot if this is done differently.
+

Var Details

ai_action + + + + +

+

Whether this action is intended for the AI. Stuff breaks a lot if this is done differently.

+ + + diff --git a/datum/action/item_action/mod/activate.html b/datum/action/item_action/mod/activate.html new file mode 100644 index 00000000000..235eb77e121 --- /dev/null +++ b/datum/action/item_action/mod/activate.html @@ -0,0 +1,43 @@ + + + + + + + /datum/action/item_action/mod/activate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

activate + + + +

+ + + +

Vars

readyFirst time clicking this will set it to TRUE, second time will activate it.

Procs

reset_readyResets the state requiring to be doubleclicked again.
+

Var Details

ready + + + + +

+

First time clicking this will set it to TRUE, second time will activate it.

Proc Details

reset_ready +

+

Resets the state requiring to be doubleclicked again.

+ + + diff --git a/datum/action/item_action/mod/pinned_module.html b/datum/action/item_action/mod/pinned_module.html new file mode 100644 index 00000000000..d6b9f3a6c12 --- /dev/null +++ b/datum/action/item_action/mod/pinned_module.html @@ -0,0 +1,64 @@ + + + + + + + /datum/action/item_action/mod/pinned_module - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pinned_module + + + +

+ + + + + + +

Vars

cooldown_timerTimer until we remove our cooldown overlay
moduleModule we are linked to.
overrideOverrides the icon applications.
pinnerA reference to the mob we are pinned to.

Procs

pinner_deletedIf the guy whose UI we are pinned to got deleted
+

Var Details

cooldown_timer + + + + +

+

Timer until we remove our cooldown overlay

module + + + + +

+

Module we are linked to.

override + + + + +

+

Overrides the icon applications.

pinner + + + + +

+

A reference to the mob we are pinned to.

Proc Details

pinner_deleted +

+

If the guy whose UI we are pinned to got deleted

+ + + diff --git a/datum/action/item_action/mod_recall.html b/datum/action/item_action/mod_recall.html new file mode 100644 index 00000000000..076edcb795a --- /dev/null +++ b/datum/action/item_action/mod_recall.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/item_action/mod_recall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod_recall + + + +

+ + +

Vars

recall_cooldownThe cooldown for the recall.
+

Var Details

recall_cooldown + + + + +

+

The cooldown for the recall.

+ + + diff --git a/datum/action/personality_commune.html b/datum/action/personality_commune.html new file mode 100644 index 00000000000..08cb11bc8ca --- /dev/null +++ b/datum/action/personality_commune.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/personality_commune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

personality_commune + + + +

+ + +

Vars

fluff_textFluff text shown when a message is sent to the pair
+

Var Details

fluff_text + + + + +

+

Fluff text shown when a message is sent to the pair

+ + + diff --git a/datum/action/push_weights.html b/datum/action/push_weights.html new file mode 100644 index 00000000000..b46424fdaae --- /dev/null +++ b/datum/action/push_weights.html @@ -0,0 +1,37 @@ + + + + + + + /datum/action/push_weights - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

push_weights + + + +

+ +

The action button given by the weight machine's buckle. +This allows users to manually trigger working out.

+

Vars

weightpressReference to the weightpress we are created inside of.
+

Var Details

weightpress + + + + +

+

Reference to the weightpress we are created inside of.

+ + + diff --git a/datum/action/select_guardian_battlecry.html b/datum/action/select_guardian_battlecry.html new file mode 100644 index 00000000000..dbf7fb96172 --- /dev/null +++ b/datum/action/select_guardian_battlecry.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/select_guardian_battlecry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

select_guardian_battlecry + + + +

+ +

Action to change our battlecry

+

Vars

max_lengthHow long can it be? Shouldn't be too long because we repeat this a shitload of times
+

Var Details

max_length + + + + +

+

How long can it be? Shouldn't be too long because we repeat this a shitload of times

+ + + diff --git a/datum/action/send_chems.html b/datum/action/send_chems.html new file mode 100644 index 00000000000..6d3c7b12ca9 --- /dev/null +++ b/datum/action/send_chems.html @@ -0,0 +1,36 @@ + + + + + + + /datum/action/send_chems - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

send_chems + + + +

+ + +

Vars

transferred_refWeakref to the mob target that we transfer chemicals to on activation
+

Var Details

transferred_ref + + + + +

+

Weakref to the mob target that we transfer chemicals to on activation

+ + + diff --git a/datum/action/setup_shop.html b/datum/action/setup_shop.html new file mode 100644 index 00000000000..8c10a2aba72 --- /dev/null +++ b/datum/action/setup_shop.html @@ -0,0 +1,78 @@ + + + + + + + /datum/action/setup_shop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

setup_shop + + + +

+ + + + + + + + +

Vars

opening_linesLines we say when we open our shop
shop_soundThe sound we make when we summon our shop gear
shop_spot_refThe shop spot
shop_spot_typeThe type of the chair we sit on
sign_refThe server this console is connected to.
sign_typeThe type of our advertising sign

Procs

try_find_valid_spotLook for a spot we can place our sign on
+

Var Details

opening_lines + + + + +

+

Lines we say when we open our shop

shop_sound + + + + +

+

The sound we make when we summon our shop gear

shop_spot_ref + + + + +

+

The shop spot

shop_spot_type + + + + +

+

The type of the chair we sit on

sign_ref + + + + +

+

The server this console is connected to.

sign_type + + + + +

+

The type of our advertising sign

Proc Details

try_find_valid_spot +

+

Look for a spot we can place our sign on

+ + + diff --git a/datum/action/toggle_buffer.html b/datum/action/toggle_buffer.html new file mode 100644 index 00000000000..1394db4c442 --- /dev/null +++ b/datum/action/toggle_buffer.html @@ -0,0 +1,94 @@ + + + + + + + /datum/action/toggle_buffer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

toggle_buffer + + + +

+ + + + + + + + + + +

Vars

bucket_refThe bucket we draw water from
toggle_cooldownToggle cooldown to prevent sound spam
wash_audioOur looping sound

Procs

activate_washActivate the buffer, comes with a nice animation that loops while it's on
allow_buffer_activateShould we keep trying to activate our buffer, or did you fuck it up somehow
cleanCall this to attempt to actually clean the turf underneath us
deactivate_washStart the process of disabling the buffer. Plays some effects, waits a bit, then finishes
toggle_washToggle our wash mode
turn_off_washCalled by [deactivate_wash] on a timer to allow noises and animation to play out. +Finally disables the buffer. Doesn't do everything mind, just the stuff that we wanted to delay
+

Var Details

bucket_ref + + + + +

+

The bucket we draw water from

toggle_cooldown + + + + +

+

Toggle cooldown to prevent sound spam

wash_audio + + + + +

+

Our looping sound

Proc Details

activate_wash +

+

Activate the buffer, comes with a nice animation that loops while it's on

allow_buffer_activate +

+

Should we keep trying to activate our buffer, or did you fuck it up somehow

clean +

+

Call this to attempt to actually clean the turf underneath us

deactivate_wash +

+

Start the process of disabling the buffer. Plays some effects, waits a bit, then finishes

toggle_wash +

+

Toggle our wash mode

turn_off_wash +

+

Called by [deactivate_wash] on a timer to allow noises and animation to play out. +Finally disables the buffer. Doesn't do everything mind, just the stuff that we wanted to delay

+ + + diff --git a/datum/action/vehicle/sealed/mecha.html b/datum/action/vehicle/sealed/mecha.html new file mode 100644 index 00000000000..083eef30769 --- /dev/null +++ b/datum/action/vehicle/sealed/mecha.html @@ -0,0 +1,37 @@ + + + + + + + /datum/action/vehicle/sealed/mecha - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mecha + + + +

+ + +

Procs

set_chassisSets the chassis var of our mecha action to the referenced mecha. Used during actions generation in +generate_action_type() chain.

Proc Details

set_chassis +

+

Sets the chassis var of our mecha action to the referenced mecha. Used during actions generation in +generate_action_type() chain.

+ + + diff --git a/datum/action/vehicle/sealed/mecha/ivanov_strike.html b/datum/action/vehicle/sealed/mecha/ivanov_strike.html new file mode 100644 index 00000000000..692055cf7c3 --- /dev/null +++ b/datum/action/vehicle/sealed/mecha/ivanov_strike.html @@ -0,0 +1,96 @@ + + + + + + + /datum/action/vehicle/sealed/mecha/ivanov_strike - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ivanov_strike + + + +

+ + + + + + + + + +

Vars

rockets_lefthow many rockets can we send with ivanov strike
strike_cooldown_timecooldown time between strike uses

Procs

drop_missile
end_missile_targeting
on_equipment_clicksignal called from clicking with equipment
on_melee_clicksignal called from clicking with no equipment
reset_button_icon
start_missile_targeting
+

Var Details

rockets_left + + + + +

+

how many rockets can we send with ivanov strike

strike_cooldown_time + + + + +

+

cooldown time between strike uses

Proc Details

drop_missile +

+ drop_missile +

Called via intercepted clicks when the missile ability is active +Spawns a droppod and starts the cooldown of the missile strike ability +arguments:

+

end_missile_targeting +

+ end_missile_targeting +

Called by the ivanov strike datum action or other actions that would end targeting +Unhooks signals into clicking to call drop_missile plus other flavor like the overlay

on_equipment_click +

+

signal called from clicking with equipment

on_melee_click +

+

signal called from clicking with no equipment

reset_button_icon +

+ reset_button_icon +

called after an addtimer when the cooldown is finished with the ivanov strike, resets the icon

start_missile_targeting +

+ start_missile_targeting +

Called by the ivanov strike datum action, hooks signals into clicking to call drop_missile +Plus other flavor like the overlay

+ + + diff --git a/datum/action/vehicle/sealed/mecha/skyfall.html b/datum/action/vehicle/sealed/mecha/skyfall.html new file mode 100644 index 00000000000..a6531bb9d0a --- /dev/null +++ b/datum/action/vehicle/sealed/mecha/skyfall.html @@ -0,0 +1,87 @@ + + + + + + + /datum/action/vehicle/sealed/mecha/skyfall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skyfall + + + +

+ +

Savannah Skyfall

+ + + + + + +

Vars

skyfall_charge_levelskyfall builds up in charges every 2 seconds, when it reaches 5 charges the ability actually starts
skyfall_cooldown_timecooldown time between skyfall uses

Procs

abort_skyfall
begin_landing
land
reset_button_icon
skyfall_charge_loop
+

Var Details

skyfall_charge_level + + + + +

+

skyfall builds up in charges every 2 seconds, when it reaches 5 charges the ability actually starts

skyfall_cooldown_time + + + + +

+

cooldown time between skyfall uses

Proc Details

abort_skyfall +

+ abort_skyfall +

Called by skyfall_charge_loop if the charging is interrupted. +Applies cooldown and resets charge level

begin_landing +

+ begin_landing +

Called by skyfall_charge_loop after some time if it reaches full charge level. +it's just the animations of the mecha coming down + another timer for the final landing effect

land +

+ land +

Called by skyfall_charge_loop after some time if it reaches full charge level. +it's just the animations of the mecha coming down + another timer for the final landing effect

reset_button_icon +

+ reset_button_icon +

called after an addtimer when the cooldown is finished with the skyfall, resets the icon

skyfall_charge_loop +

+ skyfall_charge_loop +

The actual skyfall loop itself. Repeatedly calls itself after a do_after, so any interruptions will call abort_skyfall and end the loop +the other way the loop ends is if charge level (var it's ticking up) gets to SKYFALL_CHARGELEVEL_LAUNCH, in which case it ends the loop and does the ability.

+ + + diff --git a/datum/action_group.html b/datum/action_group.html new file mode 100644 index 00000000000..26e753e6942 --- /dev/null +++ b/datum/action_group.html @@ -0,0 +1,126 @@ + + + + + + + /datum/action_group - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

action_group + + + +

+ + + + + + + + + + + + + + +

Vars

actionsThe actions we're managing
column_maxMax amount of buttons we can have per row +Indexes at 1
landingOur landing screen object
locationThe screen location we go by
max_rowsHow many rows of actions we can have at max before we just stop hiding +Indexes at 1
north_offsetThe initial vertical offset of our action buttons
ownerThe hud we're owned by
pixel_north_offsetThe pixel vertical offset of our action buttons
row_offsetHow far "ahead" of the first row we start. Lets us "scroll" our rows +Indexes at 1

Procs

ButtonNumberToScreenCoordsAccepts a number represeting our position in the group, indexes at 0 to make the math nicer
clear_landingClears any landing objects we may currently have
generate_landingGenerates a landing object that can be dropped on to join this group
sizeReturns the amount of objects we're storing at the moment
+

Var Details

actions + + + + +

+

The actions we're managing

column_max + + + + +

+

Max amount of buttons we can have per row +Indexes at 1

landing + + + + +

+

Our landing screen object

location + + + + +

+

The screen location we go by

max_rows + + + + +

+

How many rows of actions we can have at max before we just stop hiding +Indexes at 1

north_offset + + + + +

+

The initial vertical offset of our action buttons

owner + + + + +

+

The hud we're owned by

pixel_north_offset + + + + +

+

The pixel vertical offset of our action buttons

row_offset + + + + +

+

How far "ahead" of the first row we start. Lets us "scroll" our rows +Indexes at 1

Proc Details

ButtonNumberToScreenCoords +

+

Accepts a number represeting our position in the group, indexes at 0 to make the math nicer

clear_landing +

+

Clears any landing objects we may currently have

generate_landing +

+

Generates a landing object that can be dropped on to join this group

size +

+

Returns the amount of objects we're storing at the moment

+ + + diff --git a/datum/actionspeed_modifier.html b/datum/actionspeed_modifier.html new file mode 100644 index 00000000000..d56619c8ee1 --- /dev/null +++ b/datum/actionspeed_modifier.html @@ -0,0 +1,64 @@ + + + + + + + /datum/actionspeed_modifier - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

actionspeed_modifier + + + +

+ + + + + + +

Vars

conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
multiplicative_slowdownMultiplicative slowdown
priorityHigher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)
+

Var Details

conflicts_with + + + + +

+

Other modification datums this conflicts with.

id + + + + +

+

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

multiplicative_slowdown + + + + +

+

Multiplicative slowdown

priority + + + + +

+

Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.

variable + + + + +

+

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

+ + + diff --git a/datum/addiction.html b/datum/addiction.html new file mode 100644 index 00000000000..5322e55a2c9 --- /dev/null +++ b/datum/addiction.html @@ -0,0 +1,164 @@ + + + + + + + /datum/addiction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

addiction + + + +

+ +

base class for addiction, handles when you become addicted and what the effects of that are. By default you become addicted when you hit a certain threshold, and stop being addicted once you go below another one.

+ + + + + + + + + + + + + + + + + + +

Vars

addiction_gain_thresholdHigher threshold, when you start being addicted
addiction_loss_per_stageRates at which you lose addiction (in units/second) if you are not on the drug at that time per stage
addiction_loss_thresholdLower threshold, when you stop being addicted
addiction_relief_tresholdAmount of drugs you need in your system to be satisfied
high_sanity_addiction_lossRate at which high sanity helps addiction loss
light_withdrawal_moodletmoodlet for light withdrawal
medium_withdrawal_moodletmoodlet for medium withdrawal
nameName of this addiction
severe_withdrawal_moodletmoodlet for severe withdrawal
withdrawal_stage_messagesMessages for each stage of addictions.

Procs

become_addictedCalled when you become addicted
on_gain_addiction_pointsCalled when you gain addiction points somehow. Takes a mind as argument and sees if you gained the addiction
on_lose_addiction_pointsCalled when you lose addiction poitns somehow. Takes a mind as argument and sees if you lost the addiction
withdrawal_enters_stage_1One cycle is 2 seconds +Called when addiction enters stage 1
withdrawal_enters_stage_2Called when addiction enters stage 2
withdrawal_enters_stage_3Called when addiction enters stage 3
withdrawal_stage_1_processCalled when addiction is in stage 1 every process
withdrawal_stage_2_processCalled when addiction is in stage 2 every process
withdrawal_stage_3_processCalled when addiction is in stage 3 every process
+

Var Details

addiction_gain_threshold + + + + +

+

Higher threshold, when you start being addicted

addiction_loss_per_stage + + + + +

+

Rates at which you lose addiction (in units/second) if you are not on the drug at that time per stage

addiction_loss_threshold + + + + +

+

Lower threshold, when you stop being addicted

addiction_relief_treshold + + + + +

+

Amount of drugs you need in your system to be satisfied

high_sanity_addiction_loss + + + + +

+

Rate at which high sanity helps addiction loss

light_withdrawal_moodlet + + + + +

+

moodlet for light withdrawal

medium_withdrawal_moodlet + + + + +

+

moodlet for medium withdrawal

name + + + + +

+

Name of this addiction

severe_withdrawal_moodlet + + + + +

+

moodlet for severe withdrawal

withdrawal_stage_messages + + + + +

+

Messages for each stage of addictions.

Proc Details

become_addicted +

+

Called when you become addicted

on_gain_addiction_points +

+

Called when you gain addiction points somehow. Takes a mind as argument and sees if you gained the addiction

on_lose_addiction_points +

+

Called when you lose addiction poitns somehow. Takes a mind as argument and sees if you lost the addiction

withdrawal_enters_stage_1 +

+

One cycle is 2 seconds +Called when addiction enters stage 1

withdrawal_enters_stage_2 +

+

Called when addiction enters stage 2

withdrawal_enters_stage_3 +

+

Called when addiction enters stage 3

withdrawal_stage_1_process +

+

Called when addiction is in stage 1 every process

withdrawal_stage_2_process +

+

Called when addiction is in stage 2 every process

withdrawal_stage_3_process +

+

Called when addiction is in stage 3 every process

+ + + diff --git a/datum/addiction/medicine.html b/datum/addiction/medicine.html new file mode 100644 index 00000000000..e2a50ef54cd --- /dev/null +++ b/datum/addiction/medicine.html @@ -0,0 +1,43 @@ + + + + + + + /datum/addiction/medicine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medicine + + + +

+ +

Makes you a hypochondriac - I'd like to call it hypochondria, but "I could use some hypochondria" doesn't work

+ +

Vars

fake_alert_refWeakref to the "fake alert" hallucination we're giving to the addicted
health_doll_refWeakref to the "health doll screwup" hallucination we're giving to the addicted
+

Var Details

fake_alert_ref + + + + +

+

Weakref to the "fake alert" hallucination we're giving to the addicted

health_doll_ref + + + + +

+

Weakref to the "health doll screwup" hallucination we're giving to the addicted

+ + + diff --git a/datum/admin_book_viewer.html b/datum/admin_book_viewer.html new file mode 100644 index 00000000000..3e184d5a601 --- /dev/null +++ b/datum/admin_book_viewer.html @@ -0,0 +1,113 @@ + + + + + + + /datum/admin_book_viewer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

admin_book_viewer + + + +

+ +

Weaps around a book's sql data, feeds it into a ui that allows us to at base view the contents of the book

+ + + + + + + + + + + +

Vars

authorThe display name for the book, taken from the player's character
author_ckeyThe ckey of the user who triggered the upload request
categoryCategory the book falls into, see SSlibrary.search_categories
contentThe full text of the book, stored raw
creation_roundThe round id the book was uploaded in
creation_timeThe time of day at which the book was uploaded
deletedBoolean, flips to true to "hide" a book from public viewing. Defaults to null
historyRepresents the full admin record of this book, as of the view request. Datumized to make it easier to deal with.
idThe book id. Incremental, goes up over time
owner_refWeakref to the /obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker that spawned us
titleTitle of the book
view_rawIf we're displaying raw data or rendered markdown
+

Var Details

author + + + + +

+

The display name for the book, taken from the player's character

author_ckey + + + + +

+

The ckey of the user who triggered the upload request

category + + + + +

+

Category the book falls into, see SSlibrary.search_categories

content + + + + +

+

The full text of the book, stored raw

creation_round + + + + +

+

The round id the book was uploaded in

creation_time + + + + +

+

The time of day at which the book was uploaded

deleted + + + + +

+

Boolean, flips to true to "hide" a book from public viewing. Defaults to null

history + + + + +

+

Represents the full admin record of this book, as of the view request. Datumized to make it easier to deal with.

id + + + + +

+

The book id. Incremental, goes up over time

owner_ref + + + + +

+

Weakref to the /obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker that spawned us

title + + + + +

+

Title of the book

view_raw + + + + +

+

If we're displaying raw data or rendered markdown

+ + + diff --git a/datum/admin_help.html b/datum/admin_help.html new file mode 100644 index 00000000000..2486fc0ae66 --- /dev/null +++ b/datum/admin_help.html @@ -0,0 +1,174 @@ + + + + + + + /datum/admin_help - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Adminhelp Ticket + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

admins_involvedList of admin ckeys that are involved, like through responding
closed_atThe time at which the ticket was closed
heard_by_no_adminsIf any admins were online when the ticket was initialized
idUnique ID of the ticket
initiatorSemi-misnomer, it's the person who ahelped/was bwoinked
initiator_ckeyThe ckey of the initiator
initiator_key_nameThe key name of the initiator
nameThe current name of the ticket
opened_atThe time at which the ticket was opened
opening_respondersThe list of clients currently responding to the opening ticket before it gets a response
player_interactionsList of player interactions
player_repliedHas the player replied to this ticket yet?
statclickStatclick holder for the ticket
stateThe current state of the ticket
ticket_counterStatic counter used for generating each ticket ID
ticket_interactionsThe collection of interactions with this ticket. Use AddInteraction() or, preferably, admin_ticket_log()
webhook_sentWhether this ahelp has sent a webhook or not, and what type

Procs

NewCall this on its own to create a ticket, don't manually assign current_ticket
reply_to_admins_notificationSends a message to the player that they are replying to admins.
ticket_statusRenders the current status of the ticket into a displayable string
+

Var Details

admins_involved + + + + +

+

List of admin ckeys that are involved, like through responding

closed_at + + + + +

+

The time at which the ticket was closed

heard_by_no_admins + + + + +

+

If any admins were online when the ticket was initialized

id + + + + +

+

Unique ID of the ticket

initiator + + + + +

+

Semi-misnomer, it's the person who ahelped/was bwoinked

initiator_ckey + + + + +

+

The ckey of the initiator

initiator_key_name + + + + +

+

The key name of the initiator

name + + + + +

+

The current name of the ticket

opened_at + + + + +

+

The time at which the ticket was opened

opening_responders + + + + +

+

The list of clients currently responding to the opening ticket before it gets a response

player_interactions + + + + +

+

List of player interactions

player_replied + + + + +

+

Has the player replied to this ticket yet?

statclick + + + + +

+

Statclick holder for the ticket

state + + + + +

+

The current state of the ticket

ticket_counter + + + + +

+

Static counter used for generating each ticket ID

ticket_interactions + + + + +

+

The collection of interactions with this ticket. Use AddInteraction() or, preferably, admin_ticket_log()

webhook_sent + + + + +

+

Whether this ahelp has sent a webhook or not, and what type

Proc Details

New +

+

Call this on its own to create a ticket, don't manually assign current_ticket

+

Arguments:

+

reply_to_admins_notification +

+

Sends a message to the player that they are replying to admins.

ticket_status +

+

Renders the current status of the ticket into a displayable string

+ + + diff --git a/datum/admin_help_tickets.html b/datum/admin_help_tickets.html new file mode 100644 index 00000000000..31bb7eba1b7 --- /dev/null +++ b/datum/admin_help_tickets.html @@ -0,0 +1,50 @@ + + + + + + + /datum/admin_help_tickets - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Adminhelp Ticket Manager + + + +

+ + + + +

Vars

active_ticketsThe set of all active tickets
closed_ticketsThe set of all closed tickets
resolved_ticketsThe set of all resolved tickets
+

Var Details

active_tickets + + + + +

+

The set of all active tickets

closed_tickets + + + + +

+

The set of all closed tickets

resolved_tickets + + + + +

+

The set of all resolved tickets

+ + + diff --git a/datum/admins.html b/datum/admins.html new file mode 100644 index 00000000000..8723403c7b0 --- /dev/null +++ b/datum/admins.html @@ -0,0 +1,287 @@ + + + + + + + /datum/admins - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

admins + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_signatureRandomly generated signature used for security records authorization name.
blocked_by_2faWhether or not the user tried to connect, but was blocked by 2FA
bypass_2faWhether or not this user can bypass 2FA
cached_feedback_linkLink from the database pointing to the admin's feedback forum
tagged_datumsA lazylist of tagged datums, for quick reference with the View Tags verb

Procs

GamePanels
add_tagged_datumInserts the target_datum into /datum/admins/var/tagged_datums, for later reference.
can_edit_rights_flagsGet the permissions this admin is allowed to edit on other ranks
can_place_additional_admin_banChecks if the admin can place an additional admin ban.
change_shuttle_eventsManipulate the events that are gonna run/are running on the escape shuttle
check_2faReturns whether or not the given client has a verified 2FA connection. +The output is in the form of a list with the first index being whether or not the +check was successful, the 2nd is the ID of the associated database entry +if its a false result and if one can be found.
display_tagsDisplay all of the tagged datums
feedback_linkReturns the feedback forum thread for the admin holder's owner, as according to DB.
forceEventOpens up the Force Event Panel
handle_tagged_delGet ahead of the curve with deleting
message_pdaOpens up the PDA Message Panel
modify_traitsAllow admin to add or remove traits of datum
notify_all_banned_playersNotifies all banned players about their ban and gives them a link to appeal from the config. If it was a server ban, it also kicks them.
poll_list_panelShows a list of all current and future polls and buttons to edit or delete them or create a new poll.
poll_management_panelShow the options for creating a poll or editing its parameters along with its linked options.
poll_option_panelShow the options for creating a poll option or editing its parameters.
poll_option_parse_hrefProcesses topic data from poll option panel.
poll_parse_hrefProcesses topic data from poll management panel.
rank_flagsGet the rank flags of the admin
rank_namesGet the rank name of the admin
rebanSometimes an admin did not intend to unban a player. This proc undoes an unbanning operation by setting the unbanned_ keys in the DB back to null.
remove_tagged_datumAttempts to remove the specified datum from /datum/admins/var/tagged_datums if it exists
reset_tramHelper tool to try and resolve tram controller errors, or reset the contents if someone put a million chickens on the tram +and now it's slow as hell and lagging things.
spawn_atomADMIN HELPER PROCS
station_traits_panelOpens the station traits admin panel
view_all_circuitsAn admin verb to view all circuits, plus useful information
+

Var Details

admin_signature + + + + +

+

Randomly generated signature used for security records authorization name.

blocked_by_2fa + + + + +

+

Whether or not the user tried to connect, but was blocked by 2FA

bypass_2fa + + + + +

+

Whether or not this user can bypass 2FA

+

Link from the database pointing to the admin's feedback forum

tagged_datums + + + + +

+

A lazylist of tagged datums, for quick reference with the View Tags verb

Proc Details

Game +

+

Panels

add_tagged_datum +

+

Inserts the target_datum into /datum/admins/var/tagged_datums, for later reference.

+

Arguments:

+

can_edit_rights_flags +

+

Get the permissions this admin is allowed to edit on other ranks

can_place_additional_admin_ban +

+

Checks if the admin can place an additional admin ban.

+

Returns FALSE if the query fails to execute. +Returns FALSE and notifies the admin in chat if they are at their max number of admin bans already. +Returns TRUE if an admin can place an additional admin ban.

+

Arguments:

+

change_shuttle_events +

+

Manipulate the events that are gonna run/are running on the escape shuttle

check_2fa +

+

Returns whether or not the given client has a verified 2FA connection. +The output is in the form of a list with the first index being whether or not the +check was successful, the 2nd is the ID of the associated database entry +if its a false result and if one can be found.

display_tags +

+

Display all of the tagged datums

+

Returns the feedback forum thread for the admin holder's owner, as according to DB.

forceEvent +

+

Opens up the Force Event Panel

handle_tagged_del +

+

Get ahead of the curve with deleting

message_pda +

+

Opens up the PDA Message Panel

modify_traits +

+

Allow admin to add or remove traits of datum

notify_all_banned_players +

+

Notifies all banned players about their ban and gives them a link to appeal from the config. If it was a server ban, it also kicks them.

+

If the banned player's ckey has a linked client on the server, it notifies them of the ban details and kicks them if it was a server ban. +If there is anyone else sharing the banned player's IP or CID, it notifies them of the ban details and kicks them if it was a server ban.

+

Builds the ban cache for every client impacted by the ban.

+

Arguments:

+

poll_list_panel +

+

Shows a list of all current and future polls and buttons to edit or delete them or create a new poll.

poll_management_panel +

+

Show the options for creating a poll or editing its parameters along with its linked options.

poll_option_panel +

+

Show the options for creating a poll option or editing its parameters.

poll_option_parse_href +

+

Processes topic data from poll option panel.

+

Reads through returned form data and assigns data to the option datum, creating a new one if required, before passing it to be saved. +Also does some simple error checking to ensure the option will be valid before creation.

poll_parse_href +

+

Processes topic data from poll management panel.

+

Reads through returned form data and assigns data to the poll datum, creating a new one if required, before passing it to be saved. +Also does some simple error checking to ensure the poll will be valid before creation.

rank_flags +

+

Get the rank flags of the admin

rank_names +

+

Get the rank name of the admin

reban +

+

Sometimes an admin did not intend to unban a player. This proc undoes an unbanning operation by setting the unbanned_ keys in the DB back to null.

remove_tagged_datum +

+

Attempts to remove the specified datum from /datum/admins/var/tagged_datums if it exists

+

Arguments:

+

reset_tram +

+

Helper tool to try and resolve tram controller errors, or reset the contents if someone put a million chickens on the tram +and now it's slow as hell and lagging things.

spawn_atom +

+

ADMIN HELPER PROCS

station_traits_panel +

+

Opens the station traits admin panel

view_all_circuits +

+

An admin verb to view all circuits, plus useful information

+ + + diff --git a/datum/adventure.html b/datum/adventure.html new file mode 100644 index 00000000000..12e2defa793 --- /dev/null +++ b/datum/adventure.html @@ -0,0 +1,185 @@ + + + + + + + /datum/adventure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

adventure + + + +

+ +

text adventure instance, holds data about nodes/choices/etc and of current play state.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

band_modifiersModifiers to band scan values
current_nodeCurrent active adventure node
deep_scan_descriptionOpional description shown after site deep scan
delayed_actionDelayed state properties. If not null, means adventure is in delayed action state and will contain list(delay_time,delay_message)
loot_categoriesLoot table ids used as reward for finishing the adventure succesfully.
nameAdventure name, this organization only, not visible to users
nodesNodes for this adventure, represent single scene.
previous_node_idLast other node than this one. Used by GO_BACK_NODE
qualitiesAssoc list of quality name = value
required_site_traitsRequired site traits for the adventure to appear
starting_nodeNode the adventure will start at
starting_qualitiesList of starting quality values, these will be set before first node is encountered.
trigger_loop_safetyKeeps track firing of triggers until stop state to prevent loops
triggersTriggers for this adventure, checked after quality changes to cause instantenous results

Procs

apply_adventure_effectApplies changes encoded in effect data and processes triggers, returns TRUE if the change forced node change.
check_requirement_groupRecursively validates group requirements.
check_requirementsChecks if current qualities satisfy passed in requirements
end_adventureFinish adventure
handle_special_nodesHandles special node ID's
process_adventure_valueCheck Triggers +Extracts raw value from special value objects
start_adventureCheck all nodes have choices
validateBasic sanity checks to ensure broken adventures are not used.
+

Var Details

band_modifiers + + + + +

+

Modifiers to band scan values

current_node + + + + +

+

Current active adventure node

deep_scan_description + + + + +

+

Opional description shown after site deep scan

delayed_action + + + + +

+

Delayed state properties. If not null, means adventure is in delayed action state and will contain list(delay_time,delay_message)

loot_categories + + + + +

+

Loot table ids used as reward for finishing the adventure succesfully.

name + + + + +

+

Adventure name, this organization only, not visible to users

nodes + + + + +

+

Nodes for this adventure, represent single scene.

previous_node_id + + + + +

+

Last other node than this one. Used by GO_BACK_NODE

qualities + + + + +

+

Assoc list of quality name = value

required_site_traits + + + + +

+

Required site traits for the adventure to appear

starting_node + + + + +

+

Node the adventure will start at

starting_qualities + + + + +

+

List of starting quality values, these will be set before first node is encountered.

trigger_loop_safety + + + + +

+

Keeps track firing of triggers until stop state to prevent loops

triggers + + + + +

+

Triggers for this adventure, checked after quality changes to cause instantenous results

Proc Details

apply_adventure_effect +

+

Applies changes encoded in effect data and processes triggers, returns TRUE if the change forced node change.

check_requirement_group +

+

Recursively validates group requirements.

check_requirements +

+

Checks if current qualities satisfy passed in requirements

end_adventure +

+

Finish adventure

handle_special_nodes +

+

Handles special node ID's

process_adventure_value +

+

Check Triggers +Extracts raw value from special value objects

start_adventure +

+

Check all nodes have choices

validate +

+

Basic sanity checks to ensure broken adventures are not used.

+ + + diff --git a/datum/adventure_browser.html b/datum/adventure_browser.html new file mode 100644 index 00000000000..12602452b6b --- /dev/null +++ b/datum/adventure_browser.html @@ -0,0 +1,35 @@ + + + + + + + /datum/adventure_browser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

adventure_browser + + + +

+ +

Admin adventure manager

+

Procs

resolve_adventureHandles finishing adventure

Proc Details

resolve_adventure +

+

Handles finishing adventure

+ + + diff --git a/datum/adventure_db_entry.html b/datum/adventure_db_entry.html new file mode 100644 index 00000000000..dc23aad744d --- /dev/null +++ b/datum/adventure_db_entry.html @@ -0,0 +1,113 @@ + + + + + + + /datum/adventure_db_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

adventure_db_entry + + + +

+ + + + + + + + + + + + + +

Vars

approvedUnapproved adventures won't be used for exploration sites.
filenamefilename of the adventure
nameadventure name
placedWas the adventure used for exploration site this round.
raw_jsonactual adventure json string
required_site_traitsrequired site traits to use this adventure
uploaderwhoever made the json
versionjson version

Procs

create_adventureCreates new adventure instance
extract_metadataExtracts fields that are used by adventure browser / generation before instantiating
try_loading_adventureParses adventure JSON and returns /datum/adventure instance on success
valid_for_useCheck if the adventure usable for given exploration site traits
+

Var Details

approved + + + + +

+

Unapproved adventures won't be used for exploration sites.

filename + + + + +

+

filename of the adventure

name + + + + +

+

adventure name

placed + + + + +

+

Was the adventure used for exploration site this round.

raw_json + + + + +

+

actual adventure json string

required_site_traits + + + + +

+

required site traits to use this adventure

uploader + + + + +

+

whoever made the json

version + + + + +

+

json version

Proc Details

create_adventure +

+

Creates new adventure instance

extract_metadata +

+

Extracts fields that are used by adventure browser / generation before instantiating

try_loading_adventure +

+

Parses adventure JSON and returns /datum/adventure instance on success

valid_for_use +

+

Check if the adventure usable for given exploration site traits

+ + + diff --git a/datum/adventure_loot_generator.html b/datum/adventure_loot_generator.html new file mode 100644 index 00000000000..f2b3c007308 --- /dev/null +++ b/datum/adventure_loot_generator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/adventure_loot_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

adventure_loot_generator + + + +

+ +

Adventure loot category identified by ID

+

Procs

transfer_lootHelper to transfer loot while respecting cargo space

Proc Details

transfer_loot +

+

Helper to transfer loot while respecting cargo space

+ + + diff --git a/datum/adventure_node.html b/datum/adventure_node.html new file mode 100644 index 00000000000..ce5bc6fd1b6 --- /dev/null +++ b/datum/adventure_node.html @@ -0,0 +1,92 @@ + + + + + + + /datum/adventure_node - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

adventure_node + + + +

+ + + + + + + + + + +

Vars

choicesAll possible choices from this node, associative list of choice_id -> choice_data
delayPauses adventure for this long after the choice
delay_messageThis will show when the delay is happening.
descriptionThe actual displayed text
idUnique identifier for this node
image_namePreset image name, exclusive with raw_image
on_enter_effectsEffects fired when navigating to this node.
on_exit_effectsEffects fired when leaving this node.
raw_imageImage in base64 form. Exclusive with image_name
+

Var Details

choices + + + + +

+

All possible choices from this node, associative list of choice_id -> choice_data

delay + + + + +

+

Pauses adventure for this long after the choice

delay_message + + + + +

+

This will show when the delay is happening.

description + + + + +

+

The actual displayed text

id + + + + +

+

Unique identifier for this node

image_name + + + + +

+

Preset image name, exclusive with raw_image

on_enter_effects + + + + +

+

Effects fired when navigating to this node.

on_exit_effects + + + + +

+

Effects fired when leaving this node.

raw_image + + + + +

+

Image in base64 form. Exclusive with image_name

+ + + diff --git a/datum/ai_behavior.html b/datum/ai_behavior.html new file mode 100644 index 00000000000..896502028fe --- /dev/null +++ b/datum/ai_behavior.html @@ -0,0 +1,87 @@ + + + + + + + /datum/ai_behavior - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_behavior + + + +

+ +

Abstract class for an action an AI can take, can range from movement to grabbing a nearby weapon.

+ + + + + + + +

Vars

action_cooldownCooldown between actions performances, defaults to the value of CLICK_CD_MELEE because that seemed like a nice standard for the speed of AI behavior
behavior_flagsFlags for extra behavior
required_distanceWhat distance you need to be from the target to perform the action

Procs

clear_movement_targetClear the controller's movement target only if it was us who last set it
finish_actionCalled when the action is finished. This needs the same args as perform besides the default ones
performCalled by the AI controller when this action is performed
set_movement_targetHelper proc to ensure consistency in setting the source of the movement target
setupCalled by the ai controller when first being added. Additional arguments depend on the behavior type. +Return FALSE to cancel
+

Var Details

action_cooldown + + + + +

+

Cooldown between actions performances, defaults to the value of CLICK_CD_MELEE because that seemed like a nice standard for the speed of AI behavior

behavior_flags + + + + +

+

Flags for extra behavior

required_distance + + + + +

+

What distance you need to be from the target to perform the action

Proc Details

clear_movement_target +

+

Clear the controller's movement target only if it was us who last set it

finish_action +

+

Called when the action is finished. This needs the same args as perform besides the default ones

perform +

+

Called by the AI controller when this action is performed

set_movement_target +

+

Helper proc to ensure consistency in setting the source of the movement target

setup +

+

Called by the ai controller when first being added. Additional arguments depend on the behavior type. +Return FALSE to cancel

+ + + diff --git a/datum/ai_behavior/attack.html b/datum/ai_behavior/attack.html new file mode 100644 index 00000000000..0b6f9289b6c --- /dev/null +++ b/datum/ai_behavior/attack.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

attack + + + +

+ +

This behavior involves attacking a target.

+

Procs

attackA proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior

Proc Details

attack +

+

A proc representing when the mob is pushed to actually attack the target. Again, subtypes can be used to represent different attacks from different animals, or it can be some other generic behavior

+ + + diff --git a/datum/ai_behavior/attack_obstructions.html b/datum/ai_behavior/attack_obstructions.html new file mode 100644 index 00000000000..82dfdf7c449 --- /dev/null +++ b/datum/ai_behavior/attack_obstructions.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/attack_obstructions - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

attack_obstructions + + + +

+ +

Something is in our way, get it outta here

+ +

Vars

can_attack_dense_objectsFor if you want your mob to be able to attack dense objects
can_attack_turfsIf we should attack walls, be prepared for complaints about breaches
+

Var Details

can_attack_dense_objects + + + + +

+

For if you want your mob to be able to attack dense objects

can_attack_turfs + + + + +

+

If we should attack walls, be prepared for complaints about breaches

+ + + diff --git a/datum/ai_behavior/basic_melee_attack.html b/datum/ai_behavior/basic_melee_attack.html new file mode 100644 index 00000000000..8b65220651c --- /dev/null +++ b/datum/ai_behavior/basic_melee_attack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/basic_melee_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_melee_attack + + + +

+ + +

Vars

terminate_after_actiondo we finish this action after hitting once?
+

Var Details

terminate_after_action + + + + +

+

do we finish this action after hitting once?

+ + + diff --git a/datum/ai_behavior/basic_melee_attack/dog.html b/datum/ai_behavior/basic_melee_attack/dog.html new file mode 100644 index 00000000000..2cb931ba4b0 --- /dev/null +++ b/datum/ai_behavior/basic_melee_attack/dog.html @@ -0,0 +1,44 @@ + + + + + + + /datum/ai_behavior/basic_melee_attack/dog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dog + + + +

+ +

Pursue the target, growl if we're close, and bite if we're adjacent +Dogs are actually not very aggressive and won't attack unless you approach them +Adds a floor to the melee damage of the dog, as most pet dogs don't actually have any melee strength

+ +

Procs

growl_atLet them know we mean business
paw_harmlesslySwat at someone we don't like but won't hurt

Proc Details

growl_at +

+

Let them know we mean business

paw_harmlessly +

+

Swat at someone we don't like but won't hurt

+ + + diff --git a/datum/ai_behavior/basic_ranged_attack.html b/datum/ai_behavior/basic_ranged_attack.html new file mode 100644 index 00000000000..48e1c1414e4 --- /dev/null +++ b/datum/ai_behavior/basic_ranged_attack.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/basic_ranged_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_ranged_attack + + + +

+ + + +

Vars

avoid_friendly_firedo we care about avoiding friendly fire?
chase_rangerange we will try chasing the target before giving up
+

Var Details

avoid_friendly_fire + + + + +

+

do we care about avoiding friendly fire?

chase_range + + + + +

+

range we will try chasing the target before giving up

+ + + diff --git a/datum/ai_behavior/battle_screech.html b/datum/ai_behavior/battle_screech.html new file mode 100644 index 00000000000..2f9d62653d7 --- /dev/null +++ b/datum/ai_behavior/battle_screech.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/battle_screech - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battle_screech + + + +

+ + +

Vars

screechesList of possible screeches the behavior has
+

Var Details

screeches + + + + +

+

List of possible screeches the behavior has

+ + + diff --git a/datum/ai_behavior/call_reinforcements.html b/datum/ai_behavior/call_reinforcements.html new file mode 100644 index 00000000000..4a30aeb2b46 --- /dev/null +++ b/datum/ai_behavior/call_reinforcements.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/call_reinforcements - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

call_reinforcements + + + +

+ +

Call out to all mobs in the specified range for help

+

Vars

reinforcements_rangeRange to call reinforcements from
+

Var Details

reinforcements_range + + + + +

+

Range to call reinforcements from

+ + + diff --git a/datum/ai_behavior/capricious_retaliate.html b/datum/ai_behavior/capricious_retaliate.html new file mode 100644 index 00000000000..9d2cad97b92 --- /dev/null +++ b/datum/ai_behavior/capricious_retaliate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/capricious_retaliate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

capricious_retaliate + + + +

+ +

Add or remove people to our retaliation shitlist just on an arbitrary whim

+

Procs

failed_targetingCalled if we try but fail to target something

Proc Details

failed_targeting +

+

Called if we try but fail to target something

+ + + diff --git a/datum/ai_behavior/crawl_through_vents.html b/datum/ai_behavior/crawl_through_vents.html new file mode 100644 index 00000000000..506e6ed3e24 --- /dev/null +++ b/datum/ai_behavior/crawl_through_vents.html @@ -0,0 +1,61 @@ + + + + + + + /datum/ai_behavior/crawl_through_vents - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

crawl_through_vents + + + +

+ +

We hop into the vents through a vent outlet, and then crawl around a bit. Jolly good times. +This also assumes that we are on the turf that the vent outlet is on. If it isn't, shit. +Warning: this was really snowflake code lifted from an obscure feature that likely has not been touched for over five years years. +Something that isn't implemented is the ability to actually crawl through vents ourselves because I think that's just a waste of time for the same effect (instead of psuedo-teleportation, do REAL forceMoving) +If you are seriously considering using this component, it would be a great idea to extend this proc to be more versatile/less overpowered - the mobs that currently implement this benefit the most +since they are weak as shit with only five health. Up to you though, don't take what's written here as gospel.

+ + + +

Procs

calculate_exit_ventFigure out an exit vent that we should head towards. If we don't have one, default to the entry vent. If they're all kaput, we die.
exit_the_ventsWe've had enough horsing around in the vents, it's time to get out.
is_vent_validIncredibly stripped down version of the overarching can_enter_vent proc on `/mob, just meant for rapid rechecking of a vent. Will be TRUE if not blocked, FALSE otherwise.
suicide_pillAw fuck, we may have been bested somehow. Regardless of what we do, we can't exit through a vent! Let's end our misery and prevent useless endless calculations.

Proc Details

calculate_exit_vent +

+

Figure out an exit vent that we should head towards. If we don't have one, default to the entry vent. If they're all kaput, we die.

exit_the_vents +

+

We've had enough horsing around in the vents, it's time to get out.

is_vent_valid +

+

Incredibly stripped down version of the overarching can_enter_vent proc on `/mob, just meant for rapid rechecking of a vent. Will be TRUE if not blocked, FALSE otherwise.

suicide_pill +

+

Aw fuck, we may have been bested somehow. Regardless of what we do, we can't exit through a vent! Let's end our misery and prevent useless endless calculations.

+ + + diff --git a/datum/ai_behavior/deliver_fetched_item.html b/datum/ai_behavior/deliver_fetched_item.html new file mode 100644 index 00000000000..51ae1fa9734 --- /dev/null +++ b/datum/ai_behavior/deliver_fetched_item.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/deliver_fetched_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

deliver_fetched_item + + + +

+ +

The second half of fetching, deliver the item to a target.

+

Procs

deliver_itemActually deliver the fetched item to the target, if we still have it

Proc Details

deliver_item +

+

Actually deliver the fetched item to the target, if we still have it

+ + + diff --git a/datum/ai_behavior/eat_fetched_snack.html b/datum/ai_behavior/eat_fetched_snack.html new file mode 100644 index 00000000000..9a425890430 --- /dev/null +++ b/datum/ai_behavior/eat_fetched_snack.html @@ -0,0 +1,30 @@ + + + + + + + /datum/ai_behavior/eat_fetched_snack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

eat_fetched_snack + + + +

+ +

The alternate second half of fetching, attack the item if we can eat it. +Or make pleading eyes at someone who has picked it up.

+

Unfortunately this doesn't work because food can't currently be eaten by mobs.

+ + + diff --git a/datum/ai_behavior/find_and_set.html b/datum/ai_behavior/find_and_set.html new file mode 100644 index 00000000000..fe73ff1b373 --- /dev/null +++ b/datum/ai_behavior/find_and_set.html @@ -0,0 +1,33 @@ + + + + + + + /datum/ai_behavior/find_and_set - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

find_and_set + + + +

+ +

*find and set

+
+ + + diff --git a/datum/ai_behavior/find_mom.html b/datum/ai_behavior/find_mom.html new file mode 100644 index 00000000000..09ea8ec5803 --- /dev/null +++ b/datum/ai_behavior/find_mom.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/find_mom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

find_mom + + + +

+ + +

Vars

look_rangerange to look for the mom
+

Var Details

look_range + + + + +

+

range to look for the mom

+ + + diff --git a/datum/ai_behavior/find_partner.html b/datum/ai_behavior/find_partner.html new file mode 100644 index 00000000000..30d0a6b3742 --- /dev/null +++ b/datum/ai_behavior/find_partner.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/find_partner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

find_partner + + + +

+ +

Find a compatible, living partner, if we're also alone.

+ +

Vars

max_childrenMaximum number of children
rangeRange to look.
+

Var Details

max_children + + + + +

+

Maximum number of children

range + + + + +

+

Range to look.

+ + + diff --git a/datum/ai_behavior/find_potential_targets.html b/datum/ai_behavior/find_potential_targets.html new file mode 100644 index 00000000000..d686c91196f --- /dev/null +++ b/datum/ai_behavior/find_potential_targets.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_behavior/find_potential_targets - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

find_potential_targets + + + +

+ + + + + +

Vars

aggro_range_keyBlackboard key for aggro range, uses vision range if not specified
hostile_machinesStatic typecache list of potentially dangerous objs
vision_rangeHow far can we see stuff?

Procs

pick_final_targetReturns the desired final target from the filtered list of targets
+

Var Details

aggro_range_key + + + + +

+

Blackboard key for aggro range, uses vision range if not specified

hostile_machines + + + + +

+

Static typecache list of potentially dangerous objs

vision_range + + + + +

+

How far can we see stuff?

Proc Details

pick_final_target +

+

Returns the desired final target from the filtered list of targets

+ + + diff --git a/datum/ai_behavior/find_unwebbed_turf.html b/datum/ai_behavior/find_unwebbed_turf.html new file mode 100644 index 00000000000..7f08c882fd8 --- /dev/null +++ b/datum/ai_behavior/find_unwebbed_turf.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/find_unwebbed_turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

find_unwebbed_turf + + + +

+ +

Find an unwebbed nearby turf and store it

+ +

Vars

scan_rangeHow far do we look for unwebbed turfs?
target_keyWhere do we store the target data
+

Var Details

scan_range + + + + +

+

How far do we look for unwebbed turfs?

target_key + + + + +

+

Where do we store the target data

+ + + diff --git a/datum/ai_behavior/forget_failed_fetches.html b/datum/ai_behavior/forget_failed_fetches.html new file mode 100644 index 00000000000..e272ae6c479 --- /dev/null +++ b/datum/ai_behavior/forget_failed_fetches.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/forget_failed_fetches - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

forget_failed_fetches + + + +

+ +

Clear our failed fetch list every so often

+ +

Vars

cooldown_durationHow long to wait between resetting the list
reset_ignore_cooldownTime until we should forget things we failed to pick up
+

Var Details

cooldown_duration + + + + +

+

How long to wait between resetting the list

reset_ignore_cooldown + + + + +

+

Time until we should forget things we failed to pick up

+ + + diff --git a/datum/ai_behavior/goliath_find_diggable_turf.html b/datum/ai_behavior/goliath_find_diggable_turf.html new file mode 100644 index 00000000000..02dde2614bf --- /dev/null +++ b/datum/ai_behavior/goliath_find_diggable_turf.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_behavior/goliath_find_diggable_turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

goliath_find_diggable_turf + + + +

+ + + + +

Vars

scan_rangeHow far do we look for turfs?
target_keyWhere do we store the target data

Procs

is_valid_turfReturn true if this is a turf we can dig
+

Var Details

scan_range + + + + +

+

How far do we look for turfs?

target_key + + + + +

+

Where do we store the target data

Proc Details

is_valid_turf +

+

Return true if this is a turf we can dig

+ + + diff --git a/datum/ai_behavior/hoard_fingers.html b/datum/ai_behavior/hoard_fingers.html new file mode 100644 index 00000000000..5d8375c326b --- /dev/null +++ b/datum/ai_behavior/hoard_fingers.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_behavior/hoard_fingers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hoard_fingers + + + +

+ +

If we are dragging an arm then run away until we are out of range and feast

+ + +

Vars

patience_keyWe store a counter at this key we increment on every movement until we are overwhelmed with hunger

Procs

eat_fingersFinally consume those delicious digits
target_step_awayFind the next step to take away from the current target
+

Var Details

patience_key + + + + +

+

We store a counter at this key we increment on every movement until we are overwhelmed with hunger

Proc Details

eat_fingers +

+

Finally consume those delicious digits

target_step_away +

+

Find the next step to take away from the current target

+ + + diff --git a/datum/ai_behavior/hunt_target.html b/datum/ai_behavior/hunt_target.html new file mode 100644 index 00000000000..b853d93c60e --- /dev/null +++ b/datum/ai_behavior/hunt_target.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/hunt_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hunt_target + + + +

+ +

Hunts down a specific atom type.

+ +

Vars

always_reset_targetDo we reset the target after attacking something, so we can check for status changes.
hunt_cooldownHow long do we have to wait after a successful hunt?
+

Var Details

always_reset_target + + + + +

+

Do we reset the target after attacking something, so we can check for status changes.

hunt_cooldown + + + + +

+

How long do we have to wait after a successful hunt?

+ + + diff --git a/datum/ai_behavior/hunt_target/unarmed_attack_target.html b/datum/ai_behavior/hunt_target/unarmed_attack_target.html new file mode 100644 index 00000000000..727e4d9166e --- /dev/null +++ b/datum/ai_behavior/hunt_target/unarmed_attack_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/hunt_target/unarmed_attack_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

unarmed_attack_target + + + +

+ + +

Vars

switch_combat_modedo we toggle combat mode before interacting with the object?
+

Var Details

switch_combat_mode + + + + +

+

do we toggle combat mode before interacting with the object?

+ + + diff --git a/datum/ai_behavior/hunt_target/unarmed_attack_target/material_stand.html b/datum/ai_behavior/hunt_target/unarmed_attack_target/material_stand.html new file mode 100644 index 00000000000..151a50715a8 --- /dev/null +++ b/datum/ai_behavior/hunt_target/unarmed_attack_target/material_stand.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/hunt_target/unarmed_attack_target/material_stand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

material_stand + + + +

+ + +

Procs

setuptry to face the counter when depositing ores

Proc Details

setup +

+

try to face the counter when depositing ores

+ + + diff --git a/datum/ai_behavior/hunt_target/use_ability_on_target.html b/datum/ai_behavior/hunt_target/use_ability_on_target.html new file mode 100644 index 00000000000..8588967c208 --- /dev/null +++ b/datum/ai_behavior/hunt_target/use_ability_on_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/hunt_target/use_ability_on_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

use_ability_on_target + + + +

+ + +

Vars

ability_keythe ability we will use
+

Var Details

ability_key + + + + +

+

the ability we will use

+ + + diff --git a/datum/ai_behavior/item_move_close_and_attack.html b/datum/ai_behavior/item_move_close_and_attack.html new file mode 100644 index 00000000000..65e4e5dfb6e --- /dev/null +++ b/datum/ai_behavior/item_move_close_and_attack.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/item_move_close_and_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

item_move_close_and_attack + + + +

+ +

This behavior is for obj/items, it is used to move closer to a target and throw themselves towards them.

+ +

Vars

attack_soundSound to use
max_attemptsMax attemps to make
+

Var Details

attack_sound + + + + +

+

Sound to use

max_attempts + + + + +

+

Max attemps to make

+ + + diff --git a/datum/ai_behavior/make_carp_rift.html b/datum/ai_behavior/make_carp_rift.html new file mode 100644 index 00000000000..3e2f3ac4192 --- /dev/null +++ b/datum/ai_behavior/make_carp_rift.html @@ -0,0 +1,42 @@ + + + + + + + /datum/ai_behavior/make_carp_rift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

Make carp rift + + + +

+ +

Make a carp rift somewhere

+ +

Procs

find_target_turfReturn the turf to teleport to, implement this or the behaviour won't do anything
validate_targetReturn true if your target is valid for the action

Proc Details

find_target_turf +

+

Return the turf to teleport to, implement this or the behaviour won't do anything

validate_target +

+

Return true if your target is valid for the action

+ + + diff --git a/datum/ai_behavior/make_carp_rift/towards.html b/datum/ai_behavior/make_carp_rift/towards.html new file mode 100644 index 00000000000..3a6d272a110 --- /dev/null +++ b/datum/ai_behavior/make_carp_rift/towards.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_behavior/make_carp_rift/towards - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Make carp rift forwards + + + +

+ +

Make a rift bringing you closer to your target

+ + +

Vars

teleport_buffer_distanceDrop rift at least this many tiles away from target
teleport_if_blockedTeleport if the turf in front of you is blocked
teleport_if_farTeleport simply if you are far away
+

Var Details

teleport_buffer_distance + + + + +

+

Drop rift at least this many tiles away from target

teleport_if_blocked + + + + +

+

Teleport if the turf in front of you is blocked

teleport_if_far + + + + +

+

Teleport simply if you are far away

+ + + diff --git a/datum/ai_behavior/monkey_attack_mob.html b/datum/ai_behavior/monkey_attack_mob.html new file mode 100644 index 00000000000..c5eb0fd1ae3 --- /dev/null +++ b/datum/ai_behavior/monkey_attack_mob.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/monkey_attack_mob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

monkey_attack_mob + + + +

+ + +

Procs

monkey_attackattack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little

Proc Details

monkey_attack +

+

attack using a held weapon otherwise bite the enemy, then if we are angry there is a chance we might calm down a little

+ + + diff --git a/datum/ai_behavior/move_to_cardinal.html b/datum/ai_behavior/move_to_cardinal.html new file mode 100644 index 00000000000..d04b90007d2 --- /dev/null +++ b/datum/ai_behavior/move_to_cardinal.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_behavior/move_to_cardinal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

move_to_cardinal + + + +

+ +

Try to line up with a cardinal direction of your target

+ + +

Vars

maximum_distanceHow far away is too far?
minimum_distanceHow close to our target is too close?

Procs

target_nearest_cardinalSet our movement target to the closest cardinal space to our target
+

Var Details

maximum_distance + + + + +

+

How far away is too far?

minimum_distance + + + + +

+

How close to our target is too close?

Proc Details

target_nearest_cardinal +

+

Set our movement target to the closest cardinal space to our target

+ + + diff --git a/datum/ai_behavior/play_with_mouse.html b/datum/ai_behavior/play_with_mouse.html new file mode 100644 index 00000000000..747f34fe139 --- /dev/null +++ b/datum/ai_behavior/play_with_mouse.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/play_with_mouse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

play_with_mouse + + + +

+ + +

Vars

consume_chancechance we hunt the mouse!
+

Var Details

consume_chance + + + + +

+

chance we hunt the mouse!

+ + + diff --git a/datum/ai_behavior/relay_message.html b/datum/ai_behavior/relay_message.html new file mode 100644 index 00000000000..e5501a33a5d --- /dev/null +++ b/datum/ai_behavior/relay_message.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/relay_message - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

relay_message + + + +

+ +

behavior that allow us to go communicate with other hivebots

+

Vars

length_of_messagelength of the message we will relay
+

Var Details

length_of_message + + + + +

+

length of the message we will relay

+ + + diff --git a/datum/ai_behavior/run_away_from_target.html b/datum/ai_behavior/run_away_from_target.html new file mode 100644 index 00000000000..79677bf6435 --- /dev/null +++ b/datum/ai_behavior/run_away_from_target.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/run_away_from_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

run_away_from_target + + + +

+ +

Move to a position further away from your current target

+ +

Vars

clear_failed_targetsClear target if we finish the action unsuccessfully
run_distanceHow far do we try to run? Further makes for smoother running, but potentially weirder pathfinding
+

Var Details

clear_failed_targets + + + + +

+

Clear target if we finish the action unsuccessfully

run_distance + + + + +

+

How far do we try to run? Further makes for smoother running, but potentially weirder pathfinding

+ + + diff --git a/datum/ai_behavior/sleep_after_targetless_time.html b/datum/ai_behavior/sleep_after_targetless_time.html new file mode 100644 index 00000000000..39b89ec1ed6 --- /dev/null +++ b/datum/ai_behavior/sleep_after_targetless_time.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/sleep_after_targetless_time - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sleep_after_targetless_time + + + +

+ +

Disables AI after a certain amount of time spent with no target, you will have to enable the AI again somewhere else

+ +

Vars

time_to_waitTurn off AI if we spend this many seconds without a target, don't use the macro because seconds_per_tick is already in seconds

Procs

enter_sleepDisables AI, override to do additional things or something else
+

Var Details

time_to_wait + + + + +

+

Turn off AI if we spend this many seconds without a target, don't use the macro because seconds_per_tick is already in seconds

Proc Details

enter_sleep +

+

Disables AI, override to do additional things or something else

+ + + diff --git a/datum/ai_behavior/step_towards_turf.html b/datum/ai_behavior/step_towards_turf.html new file mode 100644 index 00000000000..e01dd0a7be6 --- /dev/null +++ b/datum/ai_behavior/step_towards_turf.html @@ -0,0 +1,55 @@ + + + + + + + /datum/ai_behavior/step_towards_turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Step towards turf + + + +

+ +

Moves a short distance towards a location repeatedly until you arrive at the destination. +You'd use this over travel_towards if you're travelling a long distance over a long time, because the AI controller has a maximum range.

+ + +

Vars

step_distanceHow far ahead do we plot movement per action? Further means longer until we return to the decision tree, fewer means jerkier movement +This can still result in long moves because this is "a tile x tiles away" not "only move x tiles", you might path around some walls

Procs

find_destination_turfGet a turf to aim towards if we don't already have one, the default behaviour is actually to not do this but we want to extend it +Gets passed all of the arguments from setup
plot_movementFigure out where we're going to move to, which isn't all the way to the destination in one go
+

Var Details

step_distance + + + + +

+

How far ahead do we plot movement per action? Further means longer until we return to the decision tree, fewer means jerkier movement +This can still result in long moves because this is "a tile x tiles away" not "only move x tiles", you might path around some walls

Proc Details

find_destination_turf +

+

Get a turf to aim towards if we don't already have one, the default behaviour is actually to not do this but we want to extend it +Gets passed all of the arguments from setup

plot_movement +

+

Figure out where we're going to move to, which isn't all the way to the destination in one go

+ + + diff --git a/datum/ai_behavior/swirl_around_target.html b/datum/ai_behavior/swirl_around_target.html new file mode 100644 index 00000000000..a535e8b227e --- /dev/null +++ b/datum/ai_behavior/swirl_around_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/swirl_around_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

swirl_around_target + + + +

+ + +

Vars

swirl_chancechance to swirl
+

Var Details

swirl_chance + + + + +

+

chance to swirl

+ + + diff --git a/datum/ai_behavior/target_from_retaliate_list.html b/datum/ai_behavior/target_from_retaliate_list.html new file mode 100644 index 00000000000..3d4224bce25 --- /dev/null +++ b/datum/ai_behavior/target_from_retaliate_list.html @@ -0,0 +1,44 @@ + + + + + + + /datum/ai_behavior/target_from_retaliate_list - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

target_from_retaliate_list + + + +

+ +

Picks a target from a provided list of atoms who have been pissing you off +You will probably need /datum/element/ai_retaliate to take advantage of this unless you're populating the blackboard yourself

+ +

Vars

vision_rangeHow far can we see stuff?

Procs

pick_final_targetReturns the desired final target from the filtered list of enemies
+

Var Details

vision_range + + + + +

+

How far can we see stuff?

Proc Details

pick_final_target +

+

Returns the desired final target from the filtered list of enemies

+ + + diff --git a/datum/ai_behavior/targeted_mob_ability/brimbeam.html b/datum/ai_behavior/targeted_mob_ability/brimbeam.html new file mode 100644 index 00000000000..7f2c83f0338 --- /dev/null +++ b/datum/ai_behavior/targeted_mob_ability/brimbeam.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/targeted_mob_ability/brimbeam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

brimbeam + + + +

+ + +

Vars

max_target_distanceDon't shoot if too far away
+

Var Details

max_target_distance + + + + +

+

Don't shoot if too far away

+ + + diff --git a/datum/ai_behavior/targeted_mob_ability/ice_whelp.html b/datum/ai_behavior/targeted_mob_ability/ice_whelp.html new file mode 100644 index 00000000000..c7b90d5f271 --- /dev/null +++ b/datum/ai_behavior/targeted_mob_ability/ice_whelp.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/targeted_mob_ability/ice_whelp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ice_whelp + + + +

+ + + +

Vars

enraged_keykey that stores how enraged we are
secondary_ability_keykey that stores the ability we will use instead if we are fully enraged
+

Var Details

enraged_key + + + + +

+

key that stores how enraged we are

secondary_ability_key + + + + +

+

key that stores the ability we will use instead if we are fully enraged

+ + + diff --git a/datum/ai_behavior/territorial_struggle.html b/datum/ai_behavior/territorial_struggle.html new file mode 100644 index 00000000000..058729708cd --- /dev/null +++ b/datum/ai_behavior/territorial_struggle.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/territorial_struggle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

territorial_struggle + + + +

+ + +

Vars

end_battle_chancechance the battle ends!
+

Var Details

end_battle_chance + + + + +

+

chance the battle ends!

+ + + diff --git a/datum/ai_behavior/travel_towards.html b/datum/ai_behavior/travel_towards.html new file mode 100644 index 00000000000..4d04469634e --- /dev/null +++ b/datum/ai_behavior/travel_towards.html @@ -0,0 +1,37 @@ + + + + + + + /datum/ai_behavior/travel_towards - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Travel Towards + + + +

+ +

Moves towards the atom in the passed blackboard key. +Planning continues during this action so it can be interrupted by higher priority actions.

+

Vars

clear_targetIf true we will get rid of our target on completion
+

Var Details

clear_target + + + + +

+

If true we will get rid of our target on completion

+ + + diff --git a/datum/ai_behavior/vendor_crush.html b/datum/ai_behavior/vendor_crush.html new file mode 100644 index 00000000000..c074d5a45f7 --- /dev/null +++ b/datum/ai_behavior/vendor_crush.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_behavior/vendor_crush - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vendor_crush + + + +

+ + + +

Vars

time_to_tiltTime to telegraph and tilt over
untilt_cooldownTime before machine can untilt itself after tilting
+

Var Details

time_to_tilt + + + + +

+

Time to telegraph and tilt over

untilt_cooldown + + + + +

+

Time before machine can untilt itself after tilting

+ + + diff --git a/datum/ai_behavior/vendor_rise_up.html b/datum/ai_behavior/vendor_rise_up.html new file mode 100644 index 00000000000..82bda72407d --- /dev/null +++ b/datum/ai_behavior/vendor_rise_up.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/vendor_rise_up - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vendor_rise_up + + + +

+ + +

Vars

succes_tilt_cooldownTime before machine can tilt again after untilting if last hit was a success
+

Var Details

succes_tilt_cooldown + + + + +

+

Time before machine can tilt again after untilting if last hit was a success

+ + + diff --git a/datum/ai_behavior/wait_for_food.html b/datum/ai_behavior/wait_for_food.html new file mode 100644 index 00000000000..e4052c2172c --- /dev/null +++ b/datum/ai_behavior/wait_for_food.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_behavior/wait_for_food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wait_for_food + + + +

+ + +

Procs

finish_actionNow check if theres a meal infront of us.

Proc Details

finish_action +

+

Now check if theres a meal infront of us.

+ + + diff --git a/datum/ai_behavior/wander.html b/datum/ai_behavior/wander.html new file mode 100644 index 00000000000..becc72f1cb0 --- /dev/null +++ b/datum/ai_behavior/wander.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_behavior/wander - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wander + + + +

+ +

if we have ores to deposit or a storm is approaching, dont wander away

+

Vars

wander_distancedistance we will wander away from the village
+

Var Details

wander_distance + + + + +

+

distance we will wander away from the village

+ + + diff --git a/datum/ai_controller.html b/datum/ai_controller.html new file mode 100644 index 00000000000..02eb1a9455e --- /dev/null +++ b/datum/ai_controller.html @@ -0,0 +1,461 @@ + + + + + + + /datum/ai_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_controller + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_movementReference to the movement datum we use. Is a type on initialize but becomes a ref afterwards.
ai_statusCurrent status of AI (OFF/ON)
ai_traitsBitfield of traits for this AI to handle extra behavior
behavior_argsStored arguments for behaviors given during their initial creation
behavior_cooldownsCurrent actions and their respective last time ran as an assoc list.
blackboardThis is a list of variables the AI uses and can be mutated by actions.
continue_processing_when_clientCan the AI remain in control if there is a client?
current_behaviorsCurrent actions being performed by the AI.
current_movement_targetCurrent movement target of the AI, generally set by decision making.
failed_planning_cooldownCooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end
idle_behaviorThe idle behavior this AI performs when it has no actions.
max_target_distancedistance to give up on target
movement_delayDelay between movements. This is on the controller so we can keep the movement datum singleton
movement_target_sourceIdentifier for what last touched our movement target, so it can be cleared conditionally
pathing_attemptsTracks recent pathing attempts, if we fail too many in a row we fail our current plans.
paused_untilAI paused time
pawnThe atom this controller is controlling
planned_behaviorsCurrent actions planned to be performed by the AI in the upcoming plan
planning_subtreesAll subtrees this AI has available, will run them in order, so make sure they're in the order you want them to run. On initialization of this type, it will start as a typepath(s) and get converted to references of ai_subtrees found in SSai_controllers when init_subtrees() is called

Procs

PossessPawnProc to move from one pawn to another, this will destroy the target's existing controller.
ProcessBehaviorIt's still in the plan, don't add it again to current_behaviors but do keep it in the planned behavior list so its not cancelled
SelectBehaviorsThis is where you decide what actions are taken by the AI.
TryPossessPawnAbstract proc for initializing the pawn to the new controller
UnpossessPawnProc for deinitializing the pawn to the old controller
able_to_planStops pawns from performing such actions that should require the target to be adjacent. +Are we close enough to engage? +Determines whether the AI can currently make a new plan
able_to_runReturns TRUE if the ai controller can actually run at the moment.
add_blackboard_keyAdds the passed "thing" to the associated key
add_blackboard_key_assocAdds the value to the inner list at key with the inner key set to "thing" +Throws an error if the key is not a list already, intended only for use with lists
add_blackboard_key_assoc_lazylistSimilar to [proc/add_blackboard_key_assoc], assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist
add_blackboard_key_lazylistAdds the passed "thing" to the associated key, assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist
blackboard_key_existsReturns true if we have a blackboard key with the provided key and it is not qdeleting
change_ai_movement_typeOverrides the current ai_movement of this controller with a new one
clear_blackboard_keyClears the passed key, resetting it to null
get_accessUse this proc to define how your controller defines what access the pawn has for the sake of pathfinding. Return the access list you want to use
get_expected_ai_statusReturns what the AI status should be based on current conditions.
get_minimum_distanceReturns the minimum required distance to preform one of our current behaviors. Honestly this should just be cached or something but fuck you
init_subtreesLoops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference, ENSURE planning_subtrees ARE TYPEPATHS AND NOT INSTANCES/REFERENCES BEFORE EXECUTING THIS
insert_blackboard_keySimilar to [proc/add_blackboard_key], but performs an insertion rather than an add +Throws an error if the key is not a list already, intended only for use with lists
insert_blackboard_key_lazylistSimilar to [proc/insert_blackboard_key_lazylist], but performs an insertion / or rather than an add
on_stat_changedTurn the controller on or off based on if you're alive, we only register to this if the flag is present so don't need to check again
post_blackboard_key_setCalled after we set a blackboard key, forwards signal information.
processRuns any actions that are currently running
queue_behaviorCall this to add a behavior to the stack.
remove_thing_from_blackboard_keyRemove the passed thing from the associated blackboard key
replace_planning_subtreesCompletely replaces the planning_subtrees with a new set based on argument provided, list provided must contain specifically typepaths
reset_ai_statusSets the AI on or off based on current conditions, call to reset after you've manually disabled it somewhere
set_ai_statusThis proc handles changing ai status, and starts/stops processing if required.
set_blackboard_keySets the key to the passed "thing".
set_blackboard_key_assocSets the key at index thing to the passed value
set_blackboard_key_assoc_lazylistSimilar to [proc/set_blackboard_key_assoc] but operates under the assumption the key is a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist
set_movement_targetSets the current movement target, with an optional param to override the movement behavior
sig_remove_from_blackboardSignal proc to go through every key and remove the datum from all keys it finds
+

Var Details

ai_movement + + + + +

+

Reference to the movement datum we use. Is a type on initialize but becomes a ref afterwards.

ai_status + + + + +

+

Current status of AI (OFF/ON)

ai_traits + + + + +

+

Bitfield of traits for this AI to handle extra behavior

behavior_args + + + + +

+

Stored arguments for behaviors given during their initial creation

behavior_cooldowns + + + + +

+

Current actions and their respective last time ran as an assoc list.

blackboard + + + + +

+

This is a list of variables the AI uses and can be mutated by actions.

+

When an action is performed you pass this list and any relevant keys for the variables it can mutate.

+

DO NOT set values in the blackboard directly, and especially not if you're adding a datum reference to this! +Use the setters, this is important for reference handing.

continue_processing_when_client + + + + +

+

Can the AI remain in control if there is a client?

current_behaviors + + + + +

+

Current actions being performed by the AI.

current_movement_target + + + + +

+

Current movement target of the AI, generally set by decision making.

failed_planning_cooldown + + + + +

+

Cooldown for new plans, to prevent AI from going nuts if it can't think of new plans and looping on end

idle_behavior + + + + +

+

The idle behavior this AI performs when it has no actions.

max_target_distance + + + + +

+

distance to give up on target

movement_delay + + + + +

+

Delay between movements. This is on the controller so we can keep the movement datum singleton

movement_target_source + + + + +

+

Identifier for what last touched our movement target, so it can be cleared conditionally

pathing_attempts + + + + +

+

Tracks recent pathing attempts, if we fail too many in a row we fail our current plans.

paused_until + + + + +

+

AI paused time

pawn + + + + +

+

The atom this controller is controlling

planned_behaviors + + + + +

+

Current actions planned to be performed by the AI in the upcoming plan

planning_subtrees + + + + +

+

All subtrees this AI has available, will run them in order, so make sure they're in the order you want them to run. On initialization of this type, it will start as a typepath(s) and get converted to references of ai_subtrees found in SSai_controllers when init_subtrees() is called

Proc Details

PossessPawn +

+

Proc to move from one pawn to another, this will destroy the target's existing controller.

ProcessBehavior +

+

It's still in the plan, don't add it again to current_behaviors but do keep it in the planned behavior list so its not cancelled

SelectBehaviors +

+

This is where you decide what actions are taken by the AI.

TryPossessPawn +

+

Abstract proc for initializing the pawn to the new controller

UnpossessPawn +

+

Proc for deinitializing the pawn to the old controller

able_to_plan +

+

Stops pawns from performing such actions that should require the target to be adjacent. +Are we close enough to engage? +Determines whether the AI can currently make a new plan

able_to_run +

+

Returns TRUE if the ai controller can actually run at the moment.

add_blackboard_key +

+

Adds the passed "thing" to the associated key

+

Works with lists or numbers, but not lazylists.

+

add_blackboard_key_assoc +

+

Adds the value to the inner list at key with the inner key set to "thing" +Throws an error if the key is not a list already, intended only for use with lists

+

add_blackboard_key_assoc_lazylist +

+

Similar to [proc/add_blackboard_key_assoc], assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist

+

add_blackboard_key_lazylist +

+

Adds the passed "thing" to the associated key, assuming key is intended to be a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist

+

blackboard_key_exists +

+

Returns true if we have a blackboard key with the provided key and it is not qdeleting

change_ai_movement_type +

+

Overrides the current ai_movement of this controller with a new one

clear_blackboard_key +

+

Clears the passed key, resetting it to null

+

Not intended for use with list keys - use [proc/remove_thing_from_blackboard_key] if you are removing a value from a list at a key

+

get_access +

+

Use this proc to define how your controller defines what access the pawn has for the sake of pathfinding. Return the access list you want to use

get_expected_ai_status +

+

Returns what the AI status should be based on current conditions.

get_minimum_distance +

+

Returns the minimum required distance to preform one of our current behaviors. Honestly this should just be cached or something but fuck you

init_subtrees +

+

Loops over the subtrees in planning_subtrees and looks at the ai_controllers to grab a reference, ENSURE planning_subtrees ARE TYPEPATHS AND NOT INSTANCES/REFERENCES BEFORE EXECUTING THIS

insert_blackboard_key +

+

Similar to [proc/add_blackboard_key], but performs an insertion rather than an add +Throws an error if the key is not a list already, intended only for use with lists

+

insert_blackboard_key_lazylist +

+

Similar to [proc/insert_blackboard_key_lazylist], but performs an insertion / or rather than an add

+

on_stat_changed +

+

Turn the controller on or off based on if you're alive, we only register to this if the flag is present so don't need to check again

post_blackboard_key_set +

+

Called after we set a blackboard key, forwards signal information.

process +

+

Runs any actions that are currently running

queue_behavior +

+

Call this to add a behavior to the stack.

remove_thing_from_blackboard_key +

+

Remove the passed thing from the associated blackboard key

+

Intended for use with lists, if you're just clearing a reference from a key use [proc/clear_blackboard_key]

+

replace_planning_subtrees +

+

Completely replaces the planning_subtrees with a new set based on argument provided, list provided must contain specifically typepaths

reset_ai_status +

+

Sets the AI on or off based on current conditions, call to reset after you've manually disabled it somewhere

set_ai_status +

+

This proc handles changing ai status, and starts/stops processing if required.

set_blackboard_key +

+

Sets the key to the passed "thing".

+

set_blackboard_key_assoc +

+

Sets the key at index thing to the passed value

+

Assumes the key value is already a list, if not throws an error.

+

set_blackboard_key_assoc_lazylist +

+

Similar to [proc/set_blackboard_key_assoc] but operates under the assumption the key is a lazylist (so it will create a list) +More dangerous / easier to override values, only use when you want to use a lazylist

+

set_movement_target +

+

Sets the current movement target, with an optional param to override the movement behavior

sig_remove_from_blackboard +

+

Signal proc to go through every key and remove the datum from all keys it finds

+ + + diff --git a/datum/ai_controller/basic_controller/artificer.html b/datum/ai_controller/basic_controller/artificer.html new file mode 100644 index 00000000000..6f3d68640c3 --- /dev/null +++ b/datum/ai_controller/basic_controller/artificer.html @@ -0,0 +1,30 @@ + + + + + + + /datum/ai_controller/basic_controller/artificer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

artificer + + + +

+ +

Artificers

+

Artificers will seek out and heal the most wounded construct or shade they can see. +If there is no one to heal, they will run away from any non-allied mobs.

+ + + diff --git a/datum/ai_controller/basic_controller/bot.html b/datum/ai_controller/basic_controller/bot.html new file mode 100644 index 00000000000..6c69c9f0924 --- /dev/null +++ b/datum/ai_controller/basic_controller/bot.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_controller/basic_controller/bot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bot + + + +

+ + + + +

Vars

reset_keyskeys to be reset when the bot is reseted

Procs

reachable_keycheck if the target is too far away, and delete them if so and add them to the unreachables list
set_if_can_reachset the target if we can reach them
+

Var Details

reset_keys + + + + +

+

keys to be reset when the bot is reseted

Proc Details

reachable_key +

+

check if the target is too far away, and delete them if so and add them to the unreachables list

set_if_can_reach +

+

set the target if we can reach them

+ + + diff --git a/datum/ai_controller/basic_controller/bot/cleanbot.html b/datum/ai_controller/basic_controller/bot/cleanbot.html new file mode 100644 index 00000000000..983b97a0df7 --- /dev/null +++ b/datum/ai_controller/basic_controller/bot/cleanbot.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_controller/basic_controller/bot/cleanbot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cleanbot + + + +

+ + +

Vars

clean_flagslist that ties each flag to its list key
+

Var Details

clean_flags + + + + +

+

list that ties each flag to its list key

+ + + diff --git a/datum/ai_controller/basic_controller/carp.html b/datum/ai_controller/basic_controller/carp.html new file mode 100644 index 00000000000..6c4a3fbebfc --- /dev/null +++ b/datum/ai_controller/basic_controller/carp.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_controller/basic_controller/carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

carp + + + +

+ +

AI controller for carp +Expected flow is:

+
+ + + diff --git a/datum/ai_controller/basic_controller/juggernaut.html b/datum/ai_controller/basic_controller/juggernaut.html new file mode 100644 index 00000000000..b645c38d50d --- /dev/null +++ b/datum/ai_controller/basic_controller/juggernaut.html @@ -0,0 +1,29 @@ + + + + + + + /datum/ai_controller/basic_controller/juggernaut - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

juggernaut + + + +

+ +

Juggernauts

+

Juggernauts slowly walk toward non-allied mobs and pummel them to death.

+ + + diff --git a/datum/ai_controller/basic_controller/proteon.html b/datum/ai_controller/basic_controller/proteon.html new file mode 100644 index 00000000000..d5cb2ee5a95 --- /dev/null +++ b/datum/ai_controller/basic_controller/proteon.html @@ -0,0 +1,29 @@ + + + + + + + /datum/ai_controller/basic_controller/proteon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

proteon + + + +

+ +

Proteons

+

Proteons perform cowardly hit-and-run attacks, fleeing melee when struck but returning to fight again.

+ + + diff --git a/datum/ai_controller/basic_controller/wraith.html b/datum/ai_controller/basic_controller/wraith.html new file mode 100644 index 00000000000..6e09a4479a2 --- /dev/null +++ b/datum/ai_controller/basic_controller/wraith.html @@ -0,0 +1,29 @@ + + + + + + + /datum/ai_controller/basic_controller/wraith - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

wraith + + + +

+ +

Wraiths

+

Wraiths seek out the most injured non-allied mob to beat to death.

+ + + diff --git a/datum/ai_controller/cursed.html b/datum/ai_controller/cursed.html new file mode 100644 index 00000000000..78391f4fa41 --- /dev/null +++ b/datum/ai_controller/cursed.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ai_controller/cursed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cursed item ai! + + + +

+ +

Haunted AI tries to not be interacted with, and will attack people who do. +Cursed AI instead tries to be interacted with, and will attempt to equip itself onto people. +Added by /datum/element/cursed, and as such will try to remove this element and go dormant when it finds a victim to curse

+ + + +

Procs

on_equipsignal called by picking up the pawn, will try to equip to where it should actually be and start the curse
on_throw_hitsignal called by the pawn hitting something after a throw
try_equipping_to_target_slotcurse of hunger component; for very hungry items.
what_a_horrible_night_to_have_a_curseproc called when the cursed object successfully attaches itself to someone, removing the cursed element and by extension the ai itself

Proc Details

on_equip +

+

signal called by picking up the pawn, will try to equip to where it should actually be and start the curse

on_throw_hit +

+

signal called by the pawn hitting something after a throw

try_equipping_to_target_slot +

+

curse of hunger component; for very hungry items.

+

called when someone grabs the cursed item or the cursed item impacts with a mob it's throwing itself at +arguments:

+

what_a_horrible_night_to_have_a_curse +

+

proc called when the cursed object successfully attaches itself to someone, removing the cursed element and by extension the ai itself

+ + + diff --git a/datum/ai_controller/haunted.html b/datum/ai_controller/haunted.html new file mode 100644 index 00000000000..a6b90989522 --- /dev/null +++ b/datum/ai_controller/haunted.html @@ -0,0 +1,42 @@ + + + + + + + /datum/ai_controller/haunted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

haunted + + + +

+ + + +

Procs

on_droppedFlip it so we listen for equip again but not for drop.
on_equipSignal response for when the item is picked up; stops listening for follow up equips, just waits for a drop.

Proc Details

on_dropped +

+

Flip it so we listen for equip again but not for drop.

on_equip +

+

Signal response for when the item is picked up; stops listening for follow up equips, just waits for a drop.

+ + + diff --git a/datum/ai_controller/hostile_friend.html b/datum/ai_controller/hostile_friend.html new file mode 100644 index 00000000000..2aced69fe87 --- /dev/null +++ b/datum/ai_controller/hostile_friend.html @@ -0,0 +1,84 @@ + + + + + + + /datum/ai_controller/hostile_friend - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

hostile_friend + + + +

+ +

This code needs to be removed at some point as it doesn't actually utilize the AI.

+ + + + + + + +

Procs

befriendBefriends someone
check_altclickedSomeone alt clicked us, see if they're someone we should show the radial command menu to
check_pointSomeone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them)
check_verbal_commandOne of our friends said something, see if it's a valid command, and if so, take action
command_radialShow the command radial menu
on_examinedSomeone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend
set_command_modeWhether we got here via radial menu or a verbal command, this is where we actually process what our new command will be
unfriendSomeone is being mean to us, take them off our friends (add actual enemies behavior later)

Proc Details

befriend +

+

Befriends someone

check_altclicked +

+

Someone alt clicked us, see if they're someone we should show the radial command menu to

check_point +

+

Someone we like is pointing at something, see if it's something we might want to interact with (like if they might want us to fetch something for them)

check_verbal_command +

+

One of our friends said something, see if it's a valid command, and if so, take action

command_radial +

+

Show the command radial menu

on_examined +

+

Someone is looking at us, if we're currently carrying something then show what it is, and include a message if they're our friend

set_command_mode +

+

Whether we got here via radial menu or a verbal command, this is where we actually process what our new command will be

unfriend +

+

Someone is being mean to us, take them off our friends (add actual enemies behavior later)

+ + + diff --git a/datum/ai_controller/mod.html b/datum/ai_controller/mod.html new file mode 100644 index 00000000000..db96ed07e24 --- /dev/null +++ b/datum/ai_controller/mod.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_controller/mod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod + + + +

+ +

An AI controller for the MODsuit pathfinder module. It's activated by implant and attaches itself to the user.

+

Vars

id_cardID card generated from the suit's required access. Used for pathing.
+

Var Details

id_card + + + + +

+

ID card generated from the suit's required access. Used for pathing.

+ + + diff --git a/datum/ai_controller/monkey.html b/datum/ai_controller/monkey.html new file mode 100644 index 00000000000..389538d4d6f --- /dev/null +++ b/datum/ai_controller/monkey.html @@ -0,0 +1,42 @@ + + + + + + + /datum/ai_controller/monkey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

monkey + + + +

+ +

OOK OOK OOK

+ +

Procs

TryFindWeaponre-used behavior pattern by monkeys for finding a weapon
retaliateReactive events to being hit

Proc Details

TryFindWeapon +

+

re-used behavior pattern by monkeys for finding a weapon

retaliate +

+

Reactive events to being hit

+ + + diff --git a/datum/ai_controller/robot_customer.html b/datum/ai_controller/robot_customer.html new file mode 100644 index 00000000000..0d825b559ca --- /dev/null +++ b/datum/ai_controller/robot_customer.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_controller/robot_customer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

robot_customer + + + +

+ + +

Procs

on_get_pulledCalled when

Proc Details

on_get_pulled +

+

Called when

+ + + diff --git a/datum/ai_laws.html b/datum/ai_laws.html new file mode 100644 index 00000000000..1abe92ad730 --- /dev/null +++ b/datum/ai_laws.html @@ -0,0 +1,284 @@ + + + + + + + /datum/ai_laws - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_laws + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

hackedHacked laws +Syndicate uploaded laws which are above all other laws +These laws will go away when an AI is reset
idThe ID of this lawset, pretty much only used to tell if we're default or not
inherentCore laws +Inherent laws are the "core" laws of the AI +Reseting the AI will not remove these, these are intrinsit to whatever lawset they are running.
ionIon laws +Special randomized (usually) laws which are above all over laws +These laws will go away when an AI is reset
nameThe name of the lawset
ownerThe silicon linked to this lawset
protected_zerothIf TRUE, the zeroth law of this AI is protected and cannot be removed by players under normal circumstances.
suppliedSupplied laws +Supplied laws are supplied in addition to the inherent laws - after the fact +These laws will go away when an AI is reset
zerothZeroth law +A lawset can only have 1 zeroth law, it's the top dog. +Removed by things that remove core/inherent laws, but only if protected_zeroth is false. Otherwise, cannot be removed except by admins
zeroth_borgZeroth borg law +It's just a zeroth law but specially themed for cyborgs +("follow your master" vs "accomplish your objectives")

Procs

add_hacked_lawAdds the passed law as an hacked law.
add_inherent_lawAdds the passed law as an inherent law. +Simply adds it to the bottom of the inherent law list. +No duplicate laws allowed.
add_ion_lawAdds the passed law as an ion law.
add_supplied_lawAdds the passed law as a supplied law at the passed priority level. +Will override any existing supplied laws at that priority level.
clear_hacked_lawsClears all hacked laws.
clear_inherent_lawsClears all inherent laws from this lawset.
clear_ion_lawsClears all ion laws.
clear_supplied_lawsClears all supplied laws.
clear_zeroth_lawUnsets the zeroth (and zeroth borg) law from this lawset
get_law_amountGets the number of how many laws this AI has
get_law_listGenerates a list of all laws on this datum, including rendered HTML tags if required
remove_hacked_lawRemoves the passed law from the hacked law list.
remove_inherent_lawRemoves the passed law from the inherent law list.
remove_ion_lawRemoves the passed law from the ion law list.
remove_lawRemoves the law at the passed index of both inherent and supplied laws combined.
remove_supplied_law_by_lawRemoves the supplied law by law text, replacing it with a blank.
remove_supplied_law_by_numRemoves the supplied law at the passed number.
replace_random_lawRemoves a random law and replaces it with the new one
set_zeroth_lawSets this lawset's zeroth law to the passed law
+

Var Details

hacked + + + + +

+

Hacked laws +Syndicate uploaded laws which are above all other laws +These laws will go away when an AI is reset

id + + + + +

+

The ID of this lawset, pretty much only used to tell if we're default or not

inherent + + + + +

+

Core laws +Inherent laws are the "core" laws of the AI +Reseting the AI will not remove these, these are intrinsit to whatever lawset they are running.

ion + + + + +

+

Ion laws +Special randomized (usually) laws which are above all over laws +These laws will go away when an AI is reset

name + + + + +

+

The name of the lawset

owner + + + + +

+

The silicon linked to this lawset

protected_zeroth + + + + +

+

If TRUE, the zeroth law of this AI is protected and cannot be removed by players under normal circumstances.

supplied + + + + +

+

Supplied laws +Supplied laws are supplied in addition to the inherent laws - after the fact +These laws will go away when an AI is reset

zeroth + + + + +

+

Zeroth law +A lawset can only have 1 zeroth law, it's the top dog. +Removed by things that remove core/inherent laws, but only if protected_zeroth is false. Otherwise, cannot be removed except by admins

zeroth_borg + + + + +

+

Zeroth borg law +It's just a zeroth law but specially themed for cyborgs +("follow your master" vs "accomplish your objectives")

Proc Details

add_hacked_law +

+

Adds the passed law as an hacked law.

add_inherent_law +

+

Adds the passed law as an inherent law. +Simply adds it to the bottom of the inherent law list. +No duplicate laws allowed.

add_ion_law +

+

Adds the passed law as an ion law.

add_supplied_law +

+

Adds the passed law as a supplied law at the passed priority level. +Will override any existing supplied laws at that priority level.

clear_hacked_laws +

+

Clears all hacked laws.

clear_inherent_laws +

+

Clears all inherent laws from this lawset.

clear_ion_laws +

+

Clears all ion laws.

clear_supplied_laws +

+

Clears all supplied laws.

clear_zeroth_law +

+

Unsets the zeroth (and zeroth borg) law from this lawset

+

This will NOT unset a malfunctioning AI's zero law if force is not true

+

Returns TRUE on success, or false otherwise

get_law_amount +

+

Gets the number of how many laws this AI has

+ +

Returns a number, the number of laws we have

get_law_list +

+

Generates a list of all laws on this datum, including rendered HTML tags if required

+

Arguments:

+

remove_hacked_law +

+

Removes the passed law from the hacked law list.

remove_inherent_law +

+

Removes the passed law from the inherent law list.

remove_ion_law +

+

Removes the passed law from the ion law list.

remove_law +

+

Removes the law at the passed index of both inherent and supplied laws combined.

+

For example, if a lawset has 3 inherent and 3 supplied laws... +Calling this with number = 2 will remove the second inherent law while +calling this with number = 4 will remove the first supplied law

+

Returns the law text of what law that was removed.

remove_supplied_law_by_law +

+

Removes the supplied law by law text, replacing it with a blank.

remove_supplied_law_by_num +

+

Removes the supplied law at the passed number.

replace_random_law +

+

Removes a random law and replaces it with the new one

+

Args: +law - The law that is being uploaded +remove_law_groups - A list of law categories that can be deleted from +insert_law_group - The law category that the law will be inserted into

set_zeroth_law +

+

Sets this lawset's zeroth law to the passed law

+

Also can set the zeroth borg law, if this lawset is for master AIs. +The zeroth borg law allows for AIs with zeroth laws to give a differing zeroth law to their child cyborgs

+ + + diff --git a/datum/ai_module.html b/datum/ai_module.html new file mode 100644 index 00000000000..ad5d9b1b26f --- /dev/null +++ b/datum/ai_module.html @@ -0,0 +1,71 @@ + + + + + + + /datum/ai_module - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_module + + + +

+ +

The base module type, which holds info about each ability.

+ + + + + +

Vars

one_purchaseIf this module can only be purchased once. This always applies to upgrades, even if the variable is set to false.
power_typeIf the module gives an active ability, use this. Mutually exclusive with upgrade.
unlock_soundSound played when an ability is unlocked
unlock_textText shown when an ability is unlocked
upgradeIf the module gives a passive upgrade, use this. Mutually exclusive with power_type.

Procs

upgradeApplies upgrades
+

Var Details

one_purchase + + + + +

+

If this module can only be purchased once. This always applies to upgrades, even if the variable is set to false.

power_type + + + + +

+

If the module gives an active ability, use this. Mutually exclusive with upgrade.

unlock_sound + + + + +

+

Sound played when an ability is unlocked

unlock_text + + + + +

+

Text shown when an ability is unlocked

upgrade + + + + +

+

If the module gives a passive upgrade, use this. Mutually exclusive with power_type.

Proc Details

upgrade +

+

Applies upgrades

+ + + diff --git a/datum/ai_module/destructive/nuke_station.html b/datum/ai_module/destructive/nuke_station.html new file mode 100644 index 00000000000..b5b314df8a9 --- /dev/null +++ b/datum/ai_module/destructive/nuke_station.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_module/destructive/nuke_station - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nuke_station + + + +

+ +

Doomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely.

+ +

Vars

discount_areasList of areas that grant discounts. "heads_quarters" will match any head of staff office.
hacked_command_areasList of hacked head of staff office areas. Includes the vault too. Provides a 20 PT discount per (Min 50 PT cost)
+

Var Details

discount_areas + + + + +

+

List of areas that grant discounts. "heads_quarters" will match any head of staff office.

hacked_command_areas + + + + +

+

List of hacked head of staff office areas. Includes the vault too. Provides a 20 PT discount per (Min 50 PT cost)

+ + + diff --git a/datum/ai_movement.html b/datum/ai_movement.html new file mode 100644 index 00000000000..1a9fd3bf74a --- /dev/null +++ b/datum/ai_movement.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_movement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_movement + + + +

+ +

This datum is an abstract class that can be overriden for different types of movement

+ + + +

Vars

max_pathing_attemptsHow many times a given controller can fail on their route before they just give up
moving_controllersAssoc list ist of controllers that are currently moving as key, and what they are moving to as value

Procs

allowed_to_moveShould the movement be allowed to happen? return TRUE if it can, FALSE otherwise
pre_moveAnything to do before moving; any checks if the pawn should be able to move should be placed in allowed_to_move() and called by this proc
+

Var Details

max_pathing_attempts + + + + +

+

How many times a given controller can fail on their route before they just give up

moving_controllers + + + + +

+

Assoc list ist of controllers that are currently moving as key, and what they are moving to as value

Proc Details

allowed_to_move +

+

Should the movement be allowed to happen? return TRUE if it can, FALSE otherwise

pre_move +

+

Anything to do before moving; any checks if the pawn should be able to move should be placed in allowed_to_move() and called by this proc

+ + + diff --git a/datum/ai_movement/basic_avoidance.html b/datum/ai_movement/basic_avoidance.html new file mode 100644 index 00000000000..bca780aaabd --- /dev/null +++ b/datum/ai_movement/basic_avoidance.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_movement/basic_avoidance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_avoidance + + + +

+ +

Uses Byond's basic obstacle avoidance movement

+

Vars

move_flagsMovement flags to pass to the loop
+

Var Details

move_flags + + + + +

+

Movement flags to pass to the loop

+ + + diff --git a/datum/ai_movement/dumb.html b/datum/ai_movement/dumb.html new file mode 100644 index 00000000000..374483ed3b5 --- /dev/null +++ b/datum/ai_movement/dumb.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_movement/dumb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dumb + + + +

+ +

The most brain-dead type of movement, bee-line to the target with no concern of whats in front of us.

+

Procs

start_moving_towardsPut your movement behavior in here!

Proc Details

start_moving_towards +

+

Put your movement behavior in here!

+ + + diff --git a/datum/ai_planning_subtree.html b/datum/ai_planning_subtree.html new file mode 100644 index 00000000000..20504e93e5a --- /dev/null +++ b/datum/ai_planning_subtree.html @@ -0,0 +1,47 @@ + + + + + + + /datum/ai_planning_subtree - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_planning_subtree + + + +

+ +

A subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself

+ +

Vars

operational_datumsA list of typepaths of "operational datums" (elements/components) we absolutely NEED to run. Checked in unit tests, as well as be a nice reminder to developers that such a thing might be needed. +Note that in the Attach/Inititalize/New (or any future equivalent for these procs), you will need to add the trait TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM to the mob in question +in order for unit tests to succeed. This will break obviously enough if you don't do this and declare the required datum here however.

Procs

SelectBehaviorsDetermines what behaviors should the controller try processing; if this returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through the other subtrees should multiple exist in controller.planning_subtrees
+

Var Details

operational_datums + + + + +

+

A list of typepaths of "operational datums" (elements/components) we absolutely NEED to run. Checked in unit tests, as well as be a nice reminder to developers that such a thing might be needed. +Note that in the Attach/Inititalize/New (or any future equivalent for these procs), you will need to add the trait TRAIT_SUBTREE_REQUIRED_OPERATIONAL_DATUM to the mob in question +in order for unit tests to succeed. This will break obviously enough if you don't do this and declare the required datum here however.

Proc Details

SelectBehaviors +

+

Determines what behaviors should the controller try processing; if this returns SUBTREE_RETURN_FINISH_PLANNING then the controller won't go through the other subtrees should multiple exist in controller.planning_subtrees

+ + + diff --git a/datum/ai_planning_subtree/acknowledge_chief.html b/datum/ai_planning_subtree/acknowledge_chief.html new file mode 100644 index 00000000000..1e73931f88c --- /dev/null +++ b/datum/ai_planning_subtree/acknowledge_chief.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/acknowledge_chief - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

acknowledge_chief + + + +

+ + +

Procs

SelectBehaviorstree to find and register our leader

Proc Details

SelectBehaviors +

+

tree to find and register our leader

+ + + diff --git a/datum/ai_planning_subtree/attack_obstacle_in_path.html b/datum/ai_planning_subtree/attack_obstacle_in_path.html new file mode 100644 index 00000000000..74dc6f80139 --- /dev/null +++ b/datum/ai_planning_subtree/attack_obstacle_in_path.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/attack_obstacle_in_path - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

attack_obstacle_in_path + + + +

+ +

If there's something between us and our target then we need to queue a behaviour to make it not be there

+ +

Vars

attack_behaviourThe action to execute, extend to add a different cooldown or something
target_keyBlackboard key containing current target
+

Var Details

attack_behaviour + + + + +

+

The action to execute, extend to add a different cooldown or something

target_key + + + + +

+

Blackboard key containing current target

+ + + diff --git a/datum/ai_planning_subtree/bane_hunting.html b/datum/ai_planning_subtree/bane_hunting.html new file mode 100644 index 00000000000..286608dccc6 --- /dev/null +++ b/datum/ai_planning_subtree/bane_hunting.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/bane_hunting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bane_hunting + + + +

+ + +

Procs

SelectBehaviorsThe bat is broken!

Proc Details

SelectBehaviors +

+

The bat is broken!

+ + + diff --git a/datum/ai_planning_subtree/basic_melee_attack_subtree.html b/datum/ai_planning_subtree/basic_melee_attack_subtree.html new file mode 100644 index 00000000000..bb54091478d --- /dev/null +++ b/datum/ai_planning_subtree/basic_melee_attack_subtree.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/basic_melee_attack_subtree - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_melee_attack_subtree + + + +

+ + + +

Vars

end_planningIs this the last thing we do? (if we set a movement target, this will usually be yes)
melee_attack_behaviorWhat do we do in order to attack someone?
+

Var Details

end_planning + + + + +

+

Is this the last thing we do? (if we set a movement target, this will usually be yes)

melee_attack_behavior + + + + +

+

What do we do in order to attack someone?

+ + + diff --git a/datum/ai_planning_subtree/basic_melee_attack_subtree/mega_arachnid.html b/datum/ai_planning_subtree/basic_melee_attack_subtree/mega_arachnid.html new file mode 100644 index 00000000000..bffc3e39fbd --- /dev/null +++ b/datum/ai_planning_subtree/basic_melee_attack_subtree/mega_arachnid.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/basic_melee_attack_subtree/mega_arachnid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mega_arachnid + + + +

+ +

only engage in melee combat against cuffed targets, otherwise keep throwing restraints at them

+

Vars

minimum_healthminimum health our target must be before we can attack them
+

Var Details

minimum_health + + + + +

+

minimum health our target must be before we can attack them

+ + + diff --git a/datum/ai_planning_subtree/call_reinforcements.html b/datum/ai_planning_subtree/call_reinforcements.html new file mode 100644 index 00000000000..5c8f8eda0f2 --- /dev/null +++ b/datum/ai_planning_subtree/call_reinforcements.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_planning_subtree/call_reinforcements - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

call_reinforcements + + + +

+ +

Calls all nearby mobs that share a faction to give backup in combat

+ + + +

Vars

call_typeReinforcement-calling behavior to use
emote_keyBlackboard key containing an emote to perform when calling reinforcements
say_keyBlackboard key containing something to say when calling reinforcements (takes precedence over emotes)

Procs

decide_to_callDecides when to call reinforcements, can be overridden for alternate behavior
+

Var Details

call_type + + + + +

+

Reinforcement-calling behavior to use

emote_key + + + + +

+

Blackboard key containing an emote to perform when calling reinforcements

say_key + + + + +

+

Blackboard key containing something to say when calling reinforcements (takes precedence over emotes)

Proc Details

decide_to_call +

+

Decides when to call reinforcements, can be overridden for alternate behavior

+ + + diff --git a/datum/ai_planning_subtree/capricious_retaliate.html b/datum/ai_planning_subtree/capricious_retaliate.html new file mode 100644 index 00000000000..dba21d16f4a --- /dev/null +++ b/datum/ai_planning_subtree/capricious_retaliate.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/capricious_retaliate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

capricious_retaliate + + + +

+ +

Add or remove people to our retaliation shitlist just on an arbitrary whim

+ +

Vars

ignore_factionWhether we should skip checking faction for our decision
targeting_strategy_keyBlackboard key which tells us how to select valid targets
+

Var Details

ignore_faction + + + + +

+

Whether we should skip checking faction for our decision

targeting_strategy_key + + + + +

+

Blackboard key which tells us how to select valid targets

+ + + diff --git a/datum/ai_planning_subtree/climb_trees.html b/datum/ai_planning_subtree/climb_trees.html new file mode 100644 index 00000000000..6ce08310628 --- /dev/null +++ b/datum/ai_planning_subtree/climb_trees.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/climb_trees - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

climb_trees + + + +

+ + +

Vars

climb_chancechance to climb a tree
+

Var Details

climb_chance + + + + +

+

chance to climb a tree

+ + + diff --git a/datum/ai_planning_subtree/enter_exit_home.html b/datum/ai_planning_subtree/enter_exit_home.html new file mode 100644 index 00000000000..9c50dc3e47f --- /dev/null +++ b/datum/ai_planning_subtree/enter_exit_home.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/enter_exit_home - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

enter_exit_home + + + +

+ + + +

Vars

exit_chancechance we exit the home
flyback_chancechance we go back home
+

Var Details

exit_chance + + + + +

+

chance we exit the home

flyback_chance + + + + +

+

chance we go back home

+ + + diff --git a/datum/ai_planning_subtree/find_and_hunt_target.html b/datum/ai_planning_subtree/find_and_hunt_target.html new file mode 100644 index 00000000000..31875b6e595 --- /dev/null +++ b/datum/ai_planning_subtree/find_and_hunt_target.html @@ -0,0 +1,81 @@ + + + + + + + /datum/ai_planning_subtree/find_and_hunt_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

find_and_hunt_target + + + +

+ +

Tells the AI to find a certain target nearby to hunt. +If a target has been found, we will start to move towards it, and eventually attack it.

+ + + + + + +

Vars

finding_behaviorWhat behavior to execute if we have no target
finish_planningdo we finish planning subtree
hunt_chanceWhat are the chances we hunt something at any given moment
hunt_rangeIn what radius will we hunt
hunt_targetsWhat targets we're hunting for
hunting_behaviorWhat behavior to execute if we do have a target
target_keyWhat key in the blacbkboard do we store our hunting target? +If you want to have multiple hunting behaviors on a controller be sure that this is unique
+

Var Details

finding_behavior + + + + +

+

What behavior to execute if we have no target

finish_planning + + + + +

+

do we finish planning subtree

hunt_chance + + + + +

+

What are the chances we hunt something at any given moment

hunt_range + + + + +

+

In what radius will we hunt

hunt_targets + + + + +

+

What targets we're hunting for

hunting_behavior + + + + +

+

What behavior to execute if we do have a target

target_key + + + + +

+

What key in the blacbkboard do we store our hunting target? +If you want to have multiple hunting behaviors on a controller be sure that this is unique

+ + + diff --git a/datum/ai_planning_subtree/find_and_hunt_target/injured_mooks.html b/datum/ai_planning_subtree/find_and_hunt_target/injured_mooks.html new file mode 100644 index 00000000000..b60de00bdc5 --- /dev/null +++ b/datum/ai_planning_subtree/find_and_hunt_target/injured_mooks.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/find_and_hunt_target/injured_mooks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

injured_mooks + + + +

+ +

find injured miner mooks after they come home from a long day of work

+

Procs

SelectBehaviorswe only heal when the mooks are home during a storm

Proc Details

SelectBehaviors +

+

we only heal when the mooks are home during a storm

+ + + diff --git a/datum/ai_planning_subtree/find_fingers.html b/datum/ai_planning_subtree/find_fingers.html new file mode 100644 index 00000000000..9a4be97084b --- /dev/null +++ b/datum/ai_planning_subtree/find_fingers.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/find_fingers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

find_fingers + + + +

+ +

Look for loose arms lying around

+ +

Vars

desired_typeWhat are we actually looking for?
target_keyWhere do we store target limb data?
+

Var Details

desired_type + + + + +

+

What are we actually looking for?

target_key + + + + +

+

Where do we store target limb data?

+ + + diff --git a/datum/ai_planning_subtree/find_food.html b/datum/ai_planning_subtree/find_food.html new file mode 100644 index 00000000000..3e270ea8e74 --- /dev/null +++ b/datum/ai_planning_subtree/find_food.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/find_food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

find_food + + + +

+ +

similar to finding a target but looks for food types in the // the what?

+ +

Vars

finding_behaviorbehavior we use to find the food
food_list_keykey of foods list
+

Var Details

finding_behavior + + + + +

+

behavior we use to find the food

food_list_key + + + + +

+

key of foods list

+ + + diff --git a/datum/ai_planning_subtree/flee_target.html b/datum/ai_planning_subtree/flee_target.html new file mode 100644 index 00000000000..fc058106c2d --- /dev/null +++ b/datum/ai_planning_subtree/flee_target.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_planning_subtree/flee_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flee_target + + + +

+ +

Try to escape from your current target, without performing any other actions.

+ + +

Vars

flee_behaviourBehaviour to execute in order to flee
hiding_place_keyBlackboard key in which to store selected target's hiding place
target_keyBlackboard key in which to store selected target
+

Var Details

flee_behaviour + + + + +

+

Behaviour to execute in order to flee

hiding_place_key + + + + +

+

Blackboard key in which to store selected target's hiding place

target_key + + + + +

+

Blackboard key in which to store selected target

+ + + diff --git a/datum/ai_planning_subtree/generic_hunger.html b/datum/ai_planning_subtree/generic_hunger.html new file mode 100644 index 00000000000..7c33b7b87cd --- /dev/null +++ b/datum/ai_planning_subtree/generic_hunger.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ai_planning_subtree/generic_hunger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

generic_hunger + + + +

+ + +

Procs

SelectBehaviorsGeneric Hunger Subtree,

Proc Details

SelectBehaviors +

+

Generic Hunger Subtree,

+

Requires at least a living mob that can hold items.

+

relevant blackboards:

+
+ + + diff --git a/datum/ai_planning_subtree/generic_play_instrument.html b/datum/ai_planning_subtree/generic_play_instrument.html new file mode 100644 index 00000000000..c31a0594cd1 --- /dev/null +++ b/datum/ai_planning_subtree/generic_play_instrument.html @@ -0,0 +1,41 @@ + + + + + + + /datum/ai_planning_subtree/generic_play_instrument - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

generic_play_instrument + + + +

+ + +

Procs

SelectBehaviorsGeneric Instrument Subtree, For your pawn playing instruments

Proc Details

SelectBehaviors +

+

Generic Instrument Subtree, For your pawn playing instruments

+

Requires at least a living mob that can hold items.

+

relevant blackboards:

+
+ + + diff --git a/datum/ai_planning_subtree/generic_resist.html b/datum/ai_planning_subtree/generic_resist.html new file mode 100644 index 00000000000..96deb6b2e04 --- /dev/null +++ b/datum/ai_planning_subtree/generic_resist.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ai_planning_subtree/generic_resist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

generic_resist + + + +

+ + +

Procs

SelectBehaviorsGeneric Resist Subtree, resist if it makes sense to!

Proc Details

SelectBehaviors +

+

Generic Resist Subtree, resist if it makes sense to!

+

Requires nothing beyond a living pawn, makes sense on a good amount of mobs since anything can get buckled.

+

relevant blackboards:

+
+ + + diff --git a/datum/ai_planning_subtree/goliath_dig.html b/datum/ai_planning_subtree/goliath_dig.html new file mode 100644 index 00000000000..fddd0f25ceb --- /dev/null +++ b/datum/ai_planning_subtree/goliath_dig.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/goliath_dig - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

goliath_dig + + + +

+ + +

Vars

target_keyWhere did we store the target data
+

Var Details

target_key + + + + +

+

Where did we store the target data

+ + + diff --git a/datum/ai_planning_subtree/hive_communicate.html b/datum/ai_planning_subtree/hive_communicate.html new file mode 100644 index 00000000000..25efe39eae3 --- /dev/null +++ b/datum/ai_planning_subtree/hive_communicate.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/hive_communicate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hive_communicate + + + +

+ + +

Vars

relay_chancechance to go and relay message
+

Var Details

relay_chance + + + + +

+

chance to go and relay message

+ + + diff --git a/datum/ai_planning_subtree/hoard_fingers.html b/datum/ai_planning_subtree/hoard_fingers.html new file mode 100644 index 00000000000..1ae6468546b --- /dev/null +++ b/datum/ai_planning_subtree/hoard_fingers.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/hoard_fingers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hoard_fingers + + + +

+ +

If you see an arm, grab it and run

+

Vars

target_keyWhere do we store target limb data?
+

Var Details

target_key + + + + +

+

Where do we store target limb data?

+ + + diff --git a/datum/ai_planning_subtree/issue_commands.html b/datum/ai_planning_subtree/issue_commands.html new file mode 100644 index 00000000000..040c2585e13 --- /dev/null +++ b/datum/ai_planning_subtree/issue_commands.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/issue_commands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

issue_commands + + + +

+ + +

Vars

command_distancehow far we look for a mook to command
+

Var Details

command_distance + + + + +

+

how far we look for a mook to command

+ + + diff --git a/datum/ai_planning_subtree/locate_dead_humans.html b/datum/ai_planning_subtree/locate_dead_humans.html new file mode 100644 index 00000000000..d6da4da820b --- /dev/null +++ b/datum/ai_planning_subtree/locate_dead_humans.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/locate_dead_humans - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

locate_dead_humans + + + +

+ + +

Procs

SelectBehaviorsfind dead humans and report their location on the radio

Proc Details

SelectBehaviors +

+

find dead humans and report their location on the radio

+ + + diff --git a/datum/ai_planning_subtree/look_for_adult.html b/datum/ai_planning_subtree/look_for_adult.html new file mode 100644 index 00000000000..83cf421b06f --- /dev/null +++ b/datum/ai_planning_subtree/look_for_adult.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/look_for_adult - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

look_for_adult + + + +

+ + +

Vars

minimum_distancehow far we must be from the mom
+

Var Details

minimum_distance + + + + +

+

how far we must be from the mom

+ + + diff --git a/datum/ai_planning_subtree/maintain_distance.html b/datum/ai_planning_subtree/maintain_distance.html new file mode 100644 index 00000000000..c7516a05081 --- /dev/null +++ b/datum/ai_planning_subtree/maintain_distance.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ai_planning_subtree/maintain_distance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

maintain_distance + + + +

+ +

Step away if too close, or towards if too far

+ + + + +

Vars

maximum_distanceHow far away will we allow our target to get?
minimum_distanceHow close will we allow our target to get?
run_away_behaviorthe run away behavior we will use
target_keyBlackboard key holding atom we want to stay away from
view_distanceHow far do we look for our target?
+

Var Details

maximum_distance + + + + +

+

How far away will we allow our target to get?

minimum_distance + + + + +

+

How close will we allow our target to get?

run_away_behavior + + + + +

+

the run away behavior we will use

target_key + + + + +

+

Blackboard key holding atom we want to stay away from

view_distance + + + + +

+

How far do we look for our target?

+ + + diff --git a/datum/ai_planning_subtree/make_babies.html b/datum/ai_planning_subtree/make_babies.html new file mode 100644 index 00000000000..067e7fe8b98 --- /dev/null +++ b/datum/ai_planning_subtree/make_babies.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/make_babies - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

make_babies + + + +

+ +

Reproduce with a similar mob.

+ +

Vars

chancechance to make babies
reproduce_behaviormake babies behavior we will use
+

Var Details

chance + + + + +

+

chance to make babies

reproduce_behavior + + + + +

+

make babies behavior we will use

+ + + diff --git a/datum/ai_planning_subtree/make_carp_rift.html b/datum/ai_planning_subtree/make_carp_rift.html new file mode 100644 index 00000000000..c262551a7fb --- /dev/null +++ b/datum/ai_planning_subtree/make_carp_rift.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/make_carp_rift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Make carp rift + + + +

+ +

Plan a carp rift action, so basically teleport somewhere if the action is available

+ +

Vars

finish_planningIf true we finish planning after this
rift_behaviourChiefly describes where we are placing this teleport
+

Var Details

finish_planning + + + + +

+

If true we finish planning after this

rift_behaviour + + + + +

+

Chiefly describes where we are placing this teleport

+ + + diff --git a/datum/ai_planning_subtree/minebot_mining.html b/datum/ai_planning_subtree/minebot_mining.html new file mode 100644 index 00000000000..c329853f9d5 --- /dev/null +++ b/datum/ai_planning_subtree/minebot_mining.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/minebot_mining - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

minebot_mining + + + +

+ + +

Procs

SelectBehaviorsmine walls if we are on automated mining mode

Proc Details

SelectBehaviors +

+

mine walls if we are on automated mining mode

+ + + diff --git a/datum/ai_planning_subtree/monkey_combat.html b/datum/ai_planning_subtree/monkey_combat.html new file mode 100644 index 00000000000..293618be7af --- /dev/null +++ b/datum/ai_planning_subtree/monkey_combat.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/monkey_combat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

monkey_combat + + + +

+ + +

Procs

SelectBehaviorsmonkey combat subtree.

Proc Details

SelectBehaviors +

+

monkey combat subtree.

+ + + diff --git a/datum/ai_planning_subtree/move_to_cardinal.html b/datum/ai_planning_subtree/move_to_cardinal.html new file mode 100644 index 00000000000..bae71a273bf --- /dev/null +++ b/datum/ai_planning_subtree/move_to_cardinal.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/move_to_cardinal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

move_to_cardinal + + + +

+ +

Try to line up with a cardinal direction of your target

+ +

Vars

move_behaviourBehaviour to execute to line ourselves up
target_keyBlackboard key in which to store selected target
+

Var Details

move_behaviour + + + + +

+

Behaviour to execute to line ourselves up

target_key + + + + +

+

Blackboard key in which to store selected target

+ + + diff --git a/datum/ai_planning_subtree/perch_on_target.html b/datum/ai_planning_subtree/perch_on_target.html new file mode 100644 index 00000000000..2d428117871 --- /dev/null +++ b/datum/ai_planning_subtree/perch_on_target.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/perch_on_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

perch_on_target + + + +

+ +

subtree to perch on targets

+ +

Vars

perch_chanceperchance...
unperch_chancechance we unbuckle
+

Var Details

perch_chance + + + + +

+

perchance...

unperch_chance + + + + +

+

chance we unbuckle

+ + + diff --git a/datum/ai_planning_subtree/possess_humans.html b/datum/ai_planning_subtree/possess_humans.html new file mode 100644 index 00000000000..c5c6374dcc8 --- /dev/null +++ b/datum/ai_planning_subtree/possess_humans.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/possess_humans - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

possess_humans + + + +

+ +

subtree to possess humans

+

Vars

possess_chancechance we go possess humans
+

Var Details

possess_chance + + + + +

+

chance we go possess humans

+ + + diff --git a/datum/ai_planning_subtree/random_speech.html b/datum/ai_planning_subtree/random_speech.html new file mode 100644 index 00000000000..d8e7f66d275 --- /dev/null +++ b/datum/ai_planning_subtree/random_speech.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ai_planning_subtree/random_speech - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

random_speech + + + +

+ + + + + + +

Vars

emote_hearHearable emotes
emote_seeUnlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps
soundThe sound effects associated with this speech, if any
speakPossible lines of speech the AI can have

Procs

speakActually perform an action
+

Var Details

emote_hear + + + + +

+

Hearable emotes

emote_see + + + + +

+

Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps

sound + + + + +

+

The sound effects associated with this speech, if any

speak + + + + +

+

Possible lines of speech the AI can have

Proc Details

speak +

+

Actually perform an action

+ + + diff --git a/datum/ai_planning_subtree/random_speech/legion.html b/datum/ai_planning_subtree/random_speech/legion.html new file mode 100644 index 00000000000..3bb424880cf --- /dev/null +++ b/datum/ai_planning_subtree/random_speech/legion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/random_speech/legion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

legion + + + +

+ +

Make spooky sounds, if we have a corpse inside then impersonate them

+

Vars

radio_speechStuff to specifically say into a radio
+

Var Details

radio_speech + + + + +

+

Stuff to specifically say into a radio

+ + + diff --git a/datum/ai_planning_subtree/ranged_skirmish.html b/datum/ai_planning_subtree/ranged_skirmish.html new file mode 100644 index 00000000000..5dc3b77bec9 --- /dev/null +++ b/datum/ai_planning_subtree/ranged_skirmish.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_planning_subtree/ranged_skirmish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ranged_skirmish + + + +

+ +

Fire a ranged attack without interrupting movement.

+ + + +

Vars

attack_behaviorWhat AI behaviour do we actually run?
max_rangeIf target is further away than this we don't fire
min_rangeIf target is closer than this we don't fire
target_keyBlackboard key holding target atom
+

Var Details

attack_behavior + + + + +

+

What AI behaviour do we actually run?

max_range + + + + +

+

If target is further away than this we don't fire

min_range + + + + +

+

If target is closer than this we don't fire

target_key + + + + +

+

Blackboard key holding target atom

+ + + diff --git a/datum/ai_planning_subtree/reside_in_home.html b/datum/ai_planning_subtree/reside_in_home.html new file mode 100644 index 00000000000..0a82daf259b --- /dev/null +++ b/datum/ai_planning_subtree/reside_in_home.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/reside_in_home - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

reside_in_home + + + +

+ + + +

Vars

leave_home_chancechance we leave our home
reside_chancechance we enter our home
+

Var Details

leave_home_chance + + + + +

+

chance we leave our home

reside_chance + + + + +

+

chance we enter our home

+ + + diff --git a/datum/ai_planning_subtree/setup_shop.html b/datum/ai_planning_subtree/setup_shop.html new file mode 100644 index 00000000000..1933b50dadd --- /dev/null +++ b/datum/ai_planning_subtree/setup_shop.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/setup_shop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

setup_shop + + + +

+ +

Subtree to find our very first customer and set up our shop after walking right into their face

+

Vars

setup_shop_behaviorWhat do we do in order to offer our deals?
+

Var Details

setup_shop_behavior + + + + +

+

What do we do in order to offer our deals?

+ + + diff --git a/datum/ai_planning_subtree/shapechange_ambush.html b/datum/ai_planning_subtree/shapechange_ambush.html new file mode 100644 index 00000000000..d92ea9acd02 --- /dev/null +++ b/datum/ai_planning_subtree/shapechange_ambush.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ai_planning_subtree/shapechange_ambush - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shapechange_ambush + + + +

+ +

Shapeshift when we have no target, until someone has been nearby for long enough

+ + +

Vars

ability_keyKey where we keep our ability
minimum_target_timeHow long to lull our target into a false sense of security
target_keyKey where we keep our target
+

Var Details

ability_key + + + + +

+

Key where we keep our ability

minimum_target_time + + + + +

+

How long to lull our target into a false sense of security

target_key + + + + +

+

Key where we keep our target

+ + + diff --git a/datum/ai_planning_subtree/shortcut_to_target_through_carp_rift.html b/datum/ai_planning_subtree/shortcut_to_target_through_carp_rift.html new file mode 100644 index 00000000000..e18b289b6c7 --- /dev/null +++ b/datum/ai_planning_subtree/shortcut_to_target_through_carp_rift.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/shortcut_to_target_through_carp_rift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Shortcut to target through carp rift + + + +

+ +

If there's a carp rift heading your way, plan to ride it to your target

+ +

Vars

minimum_distanceMinimum distance we should be from the target before we bother performing this action
search_distanceHow far away do we look for rifts?
+

Var Details

minimum_distance + + + + +

+

Minimum distance we should be from the target before we bother performing this action

search_distance + + + + +

+

How far away do we look for rifts?

+ + + diff --git a/datum/ai_planning_subtree/sleep_with_no_target.html b/datum/ai_planning_subtree/sleep_with_no_target.html new file mode 100644 index 00000000000..c62dde74003 --- /dev/null +++ b/datum/ai_planning_subtree/sleep_with_no_target.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/sleep_with_no_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sleep_with_no_target + + + +

+ +

Disables AI after a certain amount of time spent with no target, you will have to enable the AI again somewhere else

+ +

Vars

sleep_behaviourBehaviour to execute when sleeping
target_keyTarget key to interrogate
+

Var Details

sleep_behaviour + + + + +

+

Behaviour to execute when sleeping

target_key + + + + +

+

Target key to interrogate

+ + + diff --git a/datum/ai_planning_subtree/spin_web.html b/datum/ai_planning_subtree/spin_web.html new file mode 100644 index 00000000000..b1a7b0c3ad6 --- /dev/null +++ b/datum/ai_planning_subtree/spin_web.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/spin_web - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spin_web + + + +

+ +

Run the spin web behaviour if we have an ability to use for it

+ +

Vars

action_keyKey where the web spinning action is stored
target_keyKey where the target turf is stored
+

Var Details

action_key + + + + +

+

Key where the web spinning action is stored

target_key + + + + +

+

Key where the target turf is stored

+ + + diff --git a/datum/ai_planning_subtree/target_retaliate.html b/datum/ai_planning_subtree/target_retaliate.html new file mode 100644 index 00000000000..7342dd07125 --- /dev/null +++ b/datum/ai_planning_subtree/target_retaliate.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_planning_subtree/target_retaliate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

target_retaliate + + + +

+ +

Sets the BB target to a mob which you can see and who has recently attacked you

+ + + +

Vars

check_factiondo we check for faction?
hiding_place_keyBlackboard key in which to store selected target's hiding place
target_keyBlackboard key in which to store selected target
targeting_strategy_keyBlackboard key which tells us how to select valid targets
+

Var Details

check_faction + + + + +

+

do we check for faction?

hiding_place_key + + + + +

+

Blackboard key in which to store selected target's hiding place

target_key + + + + +

+

Blackboard key in which to store selected target

targeting_strategy_key + + + + +

+

Blackboard key which tells us how to select valid targets

+ + + diff --git a/datum/ai_planning_subtree/targeted_mob_ability.html b/datum/ai_planning_subtree/targeted_mob_ability.html new file mode 100644 index 00000000000..bcc2ad73e52 --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability.html @@ -0,0 +1,57 @@ + + + + + + + /datum/ai_planning_subtree/targeted_mob_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

targeted_mob_ability + + + +

+ +

Attempts to use a mob ability on a target

+ + + +

Vars

ability_keyBlackboard key for the ability
finish_planningIf true we terminate planning after trying to use the ability.
target_keyBlackboard key for where the target ref is stored
use_ability_behaviourBehaviour to perform using ability
+

Var Details

ability_key + + + + +

+

Blackboard key for the ability

finish_planning + + + + +

+

If true we terminate planning after trying to use the ability.

target_key + + + + +

+

Blackboard key for where the target ref is stored

use_ability_behaviour + + + + +

+

Behaviour to perform using ability

+ + + diff --git a/datum/ai_planning_subtree/targeted_mob_ability/arachnid_restrain.html b/datum/ai_planning_subtree/targeted_mob_ability/arachnid_restrain.html new file mode 100644 index 00000000000..ebc7ac43a7f --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability/arachnid_restrain.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/targeted_mob_ability/arachnid_restrain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

arachnid_restrain + + + +

+ + +

Procs

SelectBehaviorsonly fire ability at humans if they are not cuffed

Proc Details

SelectBehaviors +

+

only fire ability at humans if they are not cuffed

+ + + diff --git a/datum/ai_planning_subtree/targeted_mob_ability/wizard_spell.html b/datum/ai_planning_subtree/targeted_mob_ability/wizard_spell.html new file mode 100644 index 00000000000..2dd30c8269b --- /dev/null +++ b/datum/ai_planning_subtree/targeted_mob_ability/wizard_spell.html @@ -0,0 +1,30 @@ + + + + + + + /datum/ai_planning_subtree/targeted_mob_ability/wizard_spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

wizard_spell + + + +

+ +

Cast a wizard spell. There is a minimum cooldown between spellcasts to prevent overwhelming spam.

+

Though only the primary spell is actually targeted, all spells use targeted behavior so that they +only get used in combat.

+ + + diff --git a/datum/ai_planning_subtree/teleport_away_from_target.html b/datum/ai_planning_subtree/teleport_away_from_target.html new file mode 100644 index 00000000000..12e25f3a9e5 --- /dev/null +++ b/datum/ai_planning_subtree/teleport_away_from_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/teleport_away_from_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

teleport_away_from_target + + + +

+ +

behavior to activate ability to escape from target

+

Vars

minimum_distanceminimum distance away from the target before we execute behavior
+

Var Details

minimum_distance + + + + +

+

minimum distance away from the target before we execute behavior

+ + + diff --git a/datum/ai_planning_subtree/territorial_struggle.html b/datum/ai_planning_subtree/territorial_struggle.html new file mode 100644 index 00000000000..c2f66d9cc4c --- /dev/null +++ b/datum/ai_planning_subtree/territorial_struggle.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ai_planning_subtree/territorial_struggle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

territorial_struggle + + + +

+ + +

Vars

hostility_chancechance we become hostile to another cat
+

Var Details

hostility_chance + + + + +

+

chance we become hostile to another cat

+ + + diff --git a/datum/ai_planning_subtree/travel_to_point.html b/datum/ai_planning_subtree/travel_to_point.html new file mode 100644 index 00000000000..1488d0c0e0d --- /dev/null +++ b/datum/ai_planning_subtree/travel_to_point.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ai_planning_subtree/travel_to_point - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

travel_to_point + + + +

+ +

Simply walk to a location

+ +

Vars

location_keyBlackboard key where we travel a place we walk to
travel_behaviourWhat do we do in order to travel
+

Var Details

location_key + + + + +

+

Blackboard key where we travel a place we walk to

travel_behaviour + + + + +

+

What do we do in order to travel

+ + + diff --git a/datum/ai_planning_subtree/use_mob_ability.html b/datum/ai_planning_subtree/use_mob_ability.html new file mode 100644 index 00000000000..44a43f1df63 --- /dev/null +++ b/datum/ai_planning_subtree/use_mob_ability.html @@ -0,0 +1,51 @@ + + + + + + + /datum/ai_planning_subtree/use_mob_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

use_mob_ability + + + +

+ +

Simple behaviours which simply try to use an ability whenever it is available. +For something which wants a target try targeted_mob_ability.

+ + +

Vars

ability_keyBlackboard key for the ability
finish_planningIf true we terminate planning after trying to use the ability.
use_ability_behaviourBehaviour to perform using ability
+

Var Details

ability_key + + + + +

+

Blackboard key for the ability

finish_planning + + + + +

+

If true we terminate planning after trying to use the ability.

use_ability_behaviour + + + + +

+

Behaviour to perform using ability

+ + + diff --git a/datum/ai_planning_subtree/use_mob_ability/mook_jump.html b/datum/ai_planning_subtree/use_mob_ability/mook_jump.html new file mode 100644 index 00000000000..e85f5c2e8c7 --- /dev/null +++ b/datum/ai_planning_subtree/use_mob_ability/mook_jump.html @@ -0,0 +1,35 @@ + + + + + + + /datum/ai_planning_subtree/use_mob_ability/mook_jump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mook_jump + + + +

+ + +

Procs

SelectBehaviorsjump towards the village when we have found ore or there is a storm coming

Proc Details

SelectBehaviors +

+

jump towards the village when we have found ore or there is a storm coming

+ + + diff --git a/datum/air_alarm_mode.html b/datum/air_alarm_mode.html new file mode 100644 index 00000000000..b98204d15c9 --- /dev/null +++ b/datum/air_alarm_mode.html @@ -0,0 +1,76 @@ + + + + + + + /datum/air_alarm_mode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

air_alarm_mode + + + +

+ +

Various modes that an /obj/machinery/airalarm can assume.

+ + + + +

Vars

dangerTRUE if this mode can be dangerous if selected.
descMore detail on the mode.
emagTRUE if the air alarm needs to be emagged for this to be selected.
nameName of the mode.

Procs

apply
+

Var Details

danger + + + + +

+

TRUE if this mode can be dangerous if selected.

desc + + + + +

+

More detail on the mode.

emag + + + + +

+

TRUE if the air alarm needs to be emagged for this to be selected.

name + + + + +

+

Name of the mode.

Proc Details

apply +

+
+ + + diff --git a/datum/air_alarm_mode/cycle.html b/datum/air_alarm_mode/cycle.html new file mode 100644 index 00000000000..dd687de8611 --- /dev/null +++ b/datum/air_alarm_mode/cycle.html @@ -0,0 +1,44 @@ + + + + + + + /datum/air_alarm_mode/cycle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cycle + + + +

+ + + +

Procs

applySame as /datum/air_alarm_mode/siphon/apply
replaceSpecial case for cycles. Cycles need to refill the air again after it's scrubbed out so this proc is called. +Same as /datum/air_alarm_mode/filtering/apply

Proc Details

apply +

+

Same as /datum/air_alarm_mode/siphon/apply

replace +

+

Special case for cycles. Cycles need to refill the air again after it's scrubbed out so this proc is called. +Same as /datum/air_alarm_mode/filtering/apply

+ + + diff --git a/datum/alarm_handler.html b/datum/alarm_handler.html new file mode 100644 index 00000000000..76003cea702 --- /dev/null +++ b/datum/alarm_handler.html @@ -0,0 +1,68 @@ + + + + + + + /datum/alarm_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

alarm_handler + + + +

+ +

Represents a single source of alarms, one alarm handler will only ever count for one alarm per listener

+ + + + +

Vars

sent_alarmsA list of alarm type -> list of areas we currently have alarms in
source_atomOur source atom

Procs

clear_alarmClears an alarm from any interested listeners
clear_alarm_from_areaExists so we can request that the alarms from an area are cleared, even if our source atom is no longer in that area
send_alarmSends an alarm to any interested things, does some checks to prevent unneeded work +Important to note is that source_atom is not held as a ref, we're used as a proxy to prevent hard deletes +optional_camera should only be used when you have one camera you want to pass along to alarm listeners, most of the time you should have no use for it
+

Var Details

sent_alarms + + + + +

+

A list of alarm type -> list of areas we currently have alarms in

source_atom + + + + +

+

Our source atom

Proc Details

clear_alarm +

+

Clears an alarm from any interested listeners

clear_alarm_from_area +

+

Exists so we can request that the alarms from an area are cleared, even if our source atom is no longer in that area

send_alarm +

+

Sends an alarm to any interested things, does some checks to prevent unneeded work +Important to note is that source_atom is not held as a ref, we're used as a proxy to prevent hard deletes +optional_camera should only be used when you have one camera you want to pass along to alarm listeners, most of the time you should have no use for it

+ + + diff --git a/datum/alarm_listener.html b/datum/alarm_listener.html new file mode 100644 index 00000000000..793f4d5b0cf --- /dev/null +++ b/datum/alarm_listener.html @@ -0,0 +1,103 @@ + + + + + + + /datum/alarm_listener - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

alarm_listener + + + +

+ + + + + + + + + + + +

Vars

accepting_alarm_changesShould we allow alarm changes to go through or not
alarmsList of alarm type -> list of area name -> list(area, ref to area's cameras, list(sources))
allowed_areasList of allowed areas. if this is null it's ignored
allowed_z_levelsList of valid source z levels, ignored if null

Procs

NewAccepts a list of alarm types to pay attention to, a list of valid z levels, and a list of valid areas. areas and zlevels are ignored if null
add_alarmAdds an alarm to our alarms list, you shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only send an alarm to one listener
allow_alarm_changesDoes what it says on the tin, exists for signal hooking
clear_alarmRemoves an alarm to our alarms list, you probably shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only remove an alarm to one listener
clear_camera_refUsed to manually clear camera refs if one is ref'd directly
prevent_alarm_changesDoes what it says on the tin, exists for signal hooking
+

Var Details

accepting_alarm_changes + + + + +

+

Should we allow alarm changes to go through or not

alarms + + + + +

+

List of alarm type -> list of area name -> list(area, ref to area's cameras, list(sources))

allowed_areas + + + + +

+

List of allowed areas. if this is null it's ignored

allowed_z_levels + + + + +

+

List of valid source z levels, ignored if null

Proc Details

New +

+

Accepts a list of alarm types to pay attention to, a list of valid z levels, and a list of valid areas. areas and zlevels are ignored if null

add_alarm +

+

Adds an alarm to our alarms list, you shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only send an alarm to one listener

allow_alarm_changes +

+

Does what it says on the tin, exists for signal hooking

clear_alarm +

+

Removes an alarm to our alarms list, you probably shouldn't be calling this manually +It should all be handled by the signal listening we do, unless you want to only remove an alarm to one listener

clear_camera_ref +

+

Used to manually clear camera refs if one is ref'd directly

prevent_alarm_changes +

+

Does what it says on the tin, exists for signal hooking

+ + + diff --git a/datum/anomaly_placer.html b/datum/anomaly_placer.html new file mode 100644 index 00000000000..951e6cffc72 --- /dev/null +++ b/datum/anomaly_placer.html @@ -0,0 +1,64 @@ + + + + + + + /datum/anomaly_placer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

anomaly_placer + + + +

+ + + + + +

Procs

findValidAreaReturns an area which is safe to place an anomaly inside.
findValidTurfReturns a turf which is safe to place an anomaly on.
generateAllowedAreasPopulates the allowed areas list.
is_valid_destinationReturns true if the provided turf is valid to place an anomaly on.

Proc Details

findValidArea +

+

Returns an area which is safe to place an anomaly inside.

findValidTurf +

+

Returns a turf which is safe to place an anomaly on.

+

Arguments

+

generateAllowedAreas +

+

Populates the allowed areas list.

is_valid_destination +

+

Returns true if the provided turf is valid to place an anomaly on.

+

Arguments

+
+ + + diff --git a/datum/anonymous_theme.html b/datum/anonymous_theme.html new file mode 100644 index 00000000000..57921d92df4 --- /dev/null +++ b/datum/anonymous_theme.html @@ -0,0 +1,120 @@ + + + + + + + /datum/anonymous_theme - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

anonymous_theme + + + +

+ + + + + + + + + + + +

Vars

extras_enabledextra non-name related fluff that is optional for admins to enable. One example is the wizard theme giving everyone random robes.
extras_promptif admins get the option to enable extras, this is the prompt to enable it.
namename of the anonymous theme, seen by admins pressing buttons to enable this

Procs

announce_to_all_playersannounce_to_all_players: sends an annonuncement.
anonymous_ai_nameanonymous_ai_name: generates a random name, based off of whatever the round's anonymousnames is set to (but for sillycones).
anonymous_all_playersanonymous_all_players: sets all crewmembers on station anonymous.
anonymous_nameanonymous_name: generates a random name, based off of whatever the round's anonymousnames is set to.
player_extrasplayer_extras: optional effects enabled here from a proc that will trigger for every player renamed.
restore_all_playersrestore_all_players: sets all crewmembers on station back to their preference name.
theme_extrastheme_extras: optional effects enabled here from a proc that will trigger once on creation of anon mode.
+

Var Details

extras_enabled + + + + +

+

extra non-name related fluff that is optional for admins to enable. One example is the wizard theme giving everyone random robes.

extras_prompt + + + + +

+

if admins get the option to enable extras, this is the prompt to enable it.

name + + + + +

+

name of the anonymous theme, seen by admins pressing buttons to enable this

Proc Details

announce_to_all_players +

+

announce_to_all_players: sends an annonuncement.

+

it's in a proc so it can be a non-constant expression.

anonymous_ai_name +

+

anonymous_ai_name: generates a random name, based off of whatever the round's anonymousnames is set to (but for sillycones).

+

examples: +Employee = "Employee Assistant Assuming Delta" +Wizards = "Crystallized Knowledge Nexus +23" +Spider Clan = "'Leaping Viper' MSO" +Stations? = "System Port 10" +Arguments:

+

anonymous_all_players +

+

anonymous_all_players: sets all crewmembers on station anonymous.

+

called when the anonymous theme is created regardless of extra theming

anonymous_name +

+

anonymous_name: generates a random name, based off of whatever the round's anonymousnames is set to.

+

examples: +Employee = "Employee Q5460Z" +Wizards = "Gulstaff of Void" +Spider Clan = "Initiate Hazuki" +Stations? = "Refactor Port One" +Arguments:

+

player_extras +

+

player_extras: optional effects enabled here from a proc that will trigger for every player renamed.

restore_all_players +

+

restore_all_players: sets all crewmembers on station back to their preference name.

+

called when the anonymous theme is removed regardless of extra theming

theme_extras +

+

theme_extras: optional effects enabled here from a proc that will trigger once on creation of anon mode.

+ + + diff --git a/datum/antagonist.html b/datum/antagonist.html new file mode 100644 index 00000000000..9753d0aefa8 --- /dev/null +++ b/datum/antagonist.html @@ -0,0 +1,494 @@ + + + + + + + /datum/antagonist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

antagonist + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antag_flagsFlags for antags to turn on or off and check!
antag_hud_nameName of the antag hud we provide to this mob.
antag_memoryString dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.
antag_moodlettypepath of moodlet that the mob will gain when granted this antagonist type.
antagpanel_categoryAntagpanel will display these together, REQUIRED
can_assign_self_objectivesIf true, this antagonist can assign themself a new objective
can_coexist_with_othersWhether or not the person will be able to have more than one datum
can_elimination_hijackIf these antags are alone when a shuttle elimination happens.
count_against_dynamic_roll_chanceIf set to true, the antag will not be added to the living antag list.
default_custom_objectiveDefault to fill in when entering a custom objective.
hardcore_random_bonusWhether we give a hardcore random bonus for greentexting as this antagonist while playing hardcore random
hijack_speedIf above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().
hud_iconThe antag hud's icon file
info_button_refweakref to button to access antag interface
job_rankThe define string we use to identify the role for bans/player polls to spawn a random new one in.
namePublic name for this antagonist. Appears for player prompts and round-end reports.
objectivesList of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.
ownerMind that owns this datum
prevent_roundtype_conversionIf false, the roundtype will still convert with this antag active
preview_outfitThe typepath for the outfit to show in the preview for the preferences menu.
replace_bannedShould replace jobbanned player with ghosts if granted.
roundend_categorySection of roundend report, datums with same category will be displayed together, also default header for the section
show_in_antagpanelThis will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind
show_in_roundendSet to false to hide the antagonists from roundend report
show_name_in_check_antagonistsWill append antagonist name in admin listings - use for categories that share more than one antag type
show_to_ghostsShould this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors
silentSilent will prevent the gain/lose texts to show
suicide_cryThe battlecry this antagonist shouts when suiciding with C4/X4.
team_hud_refA weakref to the HUD shown to teammates, created by add_team_hud
typecache_datum_blacklistList of datums this type can't coexist with
ui_namename of the UI that will try to open, right now using a generic ui

Procs

add_team_hudAdds a HUD that will show you other members with the same antagonist. +If an antag typepath is passed to antag_to_check, will check that, otherwise will use the source type.
admin_addCalled when using admin tools to give antag status
admin_removeCalled when removing antagonist using admin tools
antag_panel_dataAdditional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc
clear_antag_moodiesProc that removes this antagonist's ascribed moodlet from the player.
farewellProc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.
finish_preview_iconGiven an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.
forge_objectivesUsed to create objectives for the antagonist.
get_admin_commandsList of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution
get_objectivesgeneric helper to send objectives as data through tgui.
get_preview_iconReturns the icon to show on the preferences menu.
get_teamProc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round.
give_antag_moodiesProc that assigns this antagonist's ascribed moodlet to the player.
greetProc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.
handle_clown_mutationHandles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects
hijack_speedGets how fast we can hijack the shuttle, return 0 for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.
hud_image_onTakes a location, returns an image drawing "on" it that matches this antag datum's hud icon
is_bannedProc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.
on_body_transferCalled by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transferred.
on_gainCalled by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.
on_mindshieldThis is called when the antagonist is successfully mindshielded.
on_removalCalled by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.
pre_mindshieldThis is called when the antagonist is being mindshielded.
render_preview_outfitCreates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.
replace_banned_playerProc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.
roundend_reportProc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.
roundend_report_footerProc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.
roundend_report_headerProc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.
submit_player_objectiveAllows player to replace their objectives with a new one they wrote themselves.
ui_interactANTAGONIST UI STUFF
+

Var Details

antag_flags + + + + +

+

Flags for antags to turn on or off and check!

antag_hud_name + + + + +

+

Name of the antag hud we provide to this mob.

antag_memory + + + + +

+

String dialogue that is added to the player's in-round notes and memories regarding specifics of that antagonist, eg. the nuke code for nuke ops, or your unlock code for traitors.

antag_moodlet + + + + +

+

typepath of moodlet that the mob will gain when granted this antagonist type.

antagpanel_category + + + + +

+

Antagpanel will display these together, REQUIRED

can_assign_self_objectives + + + + +

+

If true, this antagonist can assign themself a new objective

can_coexist_with_others + + + + +

+

Whether or not the person will be able to have more than one datum

can_elimination_hijack + + + + +

+

If these antags are alone when a shuttle elimination happens.

count_against_dynamic_roll_chance + + + + +

+

If set to true, the antag will not be added to the living antag list.

default_custom_objective + + + + +

+

Default to fill in when entering a custom objective.

hardcore_random_bonus + + + + +

+

Whether we give a hardcore random bonus for greentexting as this antagonist while playing hardcore random

hijack_speed + + + + +

+

If above 0, this is the multiplier for the speed at which we hijack the shuttle. Do not directly read, use hijack_speed().

hud_icon + + + + +

+

The antag hud's icon file

info_button_ref + + + + +

+

weakref to button to access antag interface

job_rank + + + + +

+

The define string we use to identify the role for bans/player polls to spawn a random new one in.

name + + + + +

+

Public name for this antagonist. Appears for player prompts and round-end reports.

objectives + + + + +

+

List of the objective datums that this role currently has, completing all objectives at round-end will cause this antagonist to greentext.

owner + + + + +

+

Mind that owns this datum

prevent_roundtype_conversion + + + + +

+

If false, the roundtype will still convert with this antag active

preview_outfit + + + + +

+

The typepath for the outfit to show in the preview for the preferences menu.

replace_banned + + + + +

+

Should replace jobbanned player with ghosts if granted.

roundend_category + + + + +

+

Section of roundend report, datums with same category will be displayed together, also default header for the section

show_in_antagpanel + + + + +

+

This will hide adding this antag type in antag panel, use only for internal subtypes that shouldn't be added directly but still show if possessed by mind

show_in_roundend + + + + +

+

Set to false to hide the antagonists from roundend report

show_name_in_check_antagonists + + + + +

+

Will append antagonist name in admin listings - use for categories that share more than one antag type

show_to_ghosts + + + + +

+

Should this antagonist be shown as antag to ghosts? Shouldn't be used for stealthy antagonists like traitors

silent + + + + +

+

Silent will prevent the gain/lose texts to show

suicide_cry + + + + +

+

The battlecry this antagonist shouts when suiciding with C4/X4.

team_hud_ref + + + + +

+

A weakref to the HUD shown to teammates, created by add_team_hud

typecache_datum_blacklist + + + + +

+

List of datums this type can't coexist with

ui_name + + + + +

+

name of the UI that will try to open, right now using a generic ui

Proc Details

add_team_hud +

+

Adds a HUD that will show you other members with the same antagonist. +If an antag typepath is passed to antag_to_check, will check that, otherwise will use the source type.

admin_add +

+

Called when using admin tools to give antag status

admin_remove +

+

Called when removing antagonist using admin tools

antag_panel_data +

+

Additional data to display in the antagonist panel section. +For example, nuke disk code, genome count, etc

clear_antag_moodies +

+

Proc that removes this antagonist's ascribed moodlet from the player.

farewell +

+

Proc that sends fluff or instructional messages to the player when they lose this antag datum. +Use this proc for playing sounds, sending alerts, or otherwise informing the player that they're no longer a specific antagonist type.

finish_preview_icon +

+

Given an icon, will crop it to be consistent of those in the preferences menu. +Not necessary, and in fact will look bad if it's anything other than a human.

forge_objectives +

+

Used to create objectives for the antagonist.

get_admin_commands +

+

List of ["Command"] = CALLBACK(), user will be appeneded to callback arguments on execution

get_objectives +

+

generic helper to send objectives as data through tgui.

get_preview_icon +

+

Returns the icon to show on the preferences menu.

get_team +

+

Proc that will return the team this antagonist belongs to, when called. Helpful with antagonists that may belong to multiple potential teams in a single round.

give_antag_moodies +

+

Proc that assigns this antagonist's ascribed moodlet to the player.

greet +

+

Proc that sends fluff or instructional messages to the player when they are given this antag datum. +Use this proc for playing sounds, sending alerts, or helping to setup non-gameplay influencing aspects of the antagonist type.

handle_clown_mutation +

+

Handles adding and removing the clumsy mutation from clown antags. Gets called in apply/remove_innate_effects

hijack_speed +

+

Gets how fast we can hijack the shuttle, return 0 for can not hijack. +Defaults to hijack_speed var, override for custom stuff like buffing hijack speed for hijack objectives or something.

hud_image_on +

+

Takes a location, returns an image drawing "on" it that matches this antag datum's hud icon

is_banned +

+

Proc that checks the sent mob aganst the banlistfor this antagonist. +Returns FALSE if no mob is sent, or the mob is not found to be banned.

+

on_body_transfer +

+

Called by the transfer_to() mind proc after the mind (mind.current and new_character.mind) has moved but before the player (key and client) is transferred.

on_gain +

+

Called by the add_antag_datum() mind proc after the instanced datum is added to the mind's antag_datums list.

on_mindshield +

+

This is called when the antagonist is successfully mindshielded.

on_removal +

+

Called by the remove_antag_datum() and remove_all_antag_datums() mind procs for the antag datum to handle its own removal and deletion.

pre_mindshield +

+

This is called when the antagonist is being mindshielded.

render_preview_outfit +

+

Creates an icon from the preview outfit. +Custom implementors of get_preview_icon should use this, as the +result of get_preview_icon is expected to be the completed version.

replace_banned_player +

+

Proc that replaces a player who cannot play a specific antagonist due to being banned via a poll, and alerts the player of their being on the banlist.

roundend_report +

+

Proc that sends string information for the end-round report window to the server. +This runs on every instance of every antagonist that exists at the end of the round. +This is the body of the message, sandwiched between roundend_report_header and roundend_report_footer.

+

Proc that sends string data for the round-end report. +Displayed after roundend_report and roundend_report_footer. +Appears at the end of the roundend_catagory section.

roundend_report_header +

+

Proc that sends string data for the round-end report. +Displayed before roundend_report and roundend_report_footer. +Appears at start of roundend_catagory section.

submit_player_objective +

+

Allows player to replace their objectives with a new one they wrote themselves.

+

ui_interact +

+

ANTAGONIST UI STUFF

+ + + diff --git a/datum/antagonist/abductee.html b/datum/antagonist/abductee.html new file mode 100644 index 00000000000..5523891843b --- /dev/null +++ b/datum/antagonist/abductee.html @@ -0,0 +1,30 @@ + + + + + + + /datum/antagonist/abductee - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

abductee + + + +

+ +Abductees +

Abductees are created by being operated on by abductors. They get some instructions about not +remembering the abduction, plus some random weird objectives for them to act crazy with.

+ + + diff --git a/datum/antagonist/abductor.html b/datum/antagonist/abductor.html new file mode 100644 index 00000000000..7720fe5bccd --- /dev/null +++ b/datum/antagonist/abductor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/abductor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

role_jobType path for the associated job datum.
+

Var Details

role_job + + + + +

+

Type path for the associated job datum.

+ + + diff --git a/datum/antagonist/battlecruiser.html b/datum/antagonist/battlecruiser.html new file mode 100644 index 00000000000..ce72738f22c --- /dev/null +++ b/datum/antagonist/battlecruiser.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/battlecruiser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battlecruiser + + + +

+ + +

Vars

battlecruiser_teamTeam to place the crewmember on.
+

Var Details

battlecruiser_team + + + + +

+

Team to place the crewmember on.

+ + + diff --git a/datum/antagonist/bitrunning_glitch.html b/datum/antagonist/bitrunning_glitch.html new file mode 100644 index 00000000000..93c879cfd6e --- /dev/null +++ b/datum/antagonist/bitrunning_glitch.html @@ -0,0 +1,43 @@ + + + + + + + /datum/antagonist/bitrunning_glitch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bitrunning_glitch + + + +

+ + + +

Vars

threatMinimum Qserver threat required to spawn this mob. This is subtracted (x/2) from the server thereafter.

Procs

convert_agentSets up the agent so that they look like cyber police && don't have an account ID
+

Var Details

threat + + + + +

+

Minimum Qserver threat required to spawn this mob. This is subtracted (x/2) from the server thereafter.

Proc Details

convert_agent +

+

Sets up the agent so that they look like cyber police && don't have an account ID

+ + + diff --git a/datum/antagonist/blob.html b/datum/antagonist/blob.html new file mode 100644 index 00000000000..caa7e654137 --- /dev/null +++ b/datum/antagonist/blob.html @@ -0,0 +1,50 @@ + + + + + + + /datum/antagonist/blob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blob + + + +

+ + + + +

Vars

has_already_poppedHas the blob already popped inside of the round? This is here to prevent blobs from "respawning"
pop_actionAction to release a blob infection
starting_points_human_blobInitial points for a human blob
+

Var Details

has_already_popped + + + + +

+

Has the blob already popped inside of the round? This is here to prevent blobs from "respawning"

pop_action + + + + +

+

Action to release a blob infection

starting_points_human_blob + + + + +

+

Initial points for a human blob

+ + + diff --git a/datum/antagonist/blob_minion.html b/datum/antagonist/blob_minion.html new file mode 100644 index 00000000000..95d7cb57363 --- /dev/null +++ b/datum/antagonist/blob_minion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/blob_minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blob_minion + + + +

+ + +

Vars

overmindThe blob core that this minion is attached to
+

Var Details

overmind + + + + +

+

The blob core that this minion is attached to

+ + + diff --git a/datum/antagonist/changeling.html b/datum/antagonist/changeling.html new file mode 100644 index 00000000000..632b36e4945 --- /dev/null +++ b/datum/antagonist/changeling.html @@ -0,0 +1,295 @@ + + + + + + + /datum/antagonist/changeling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

changeling + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

absorbed_countThe amount of DNA gained. Includes DNA sting.
all_powersStatic typecache of all changeling powers that are usable.
can_respecWhether we can currently respec in the cellular emporium.
cellular_emporiumA reference to our cellular emporium datum.
changelingIDChangeling name, what other lings see over the hivemind when talking.
chem_chargesThe number of chemicals the changeling currently has.
chem_recharge_rateThe chemical recharge rate per life tick.
chem_recharge_slowdownAny additional modifiers triggered by changelings that modify the chem_recharge_rate.
chosen_stingThe currently active changeling sting.
competitive_objectivesWeather we assign objectives which compete with other lings
current_profileKeeps track of the currently selected profile.
dna_maxHow many DNA strands the changeling can store for transformation.
emporium_actionA reference to our cellular emporium action (which opens the UI for the datum).
first_profileThe original profile of this changeling.
genetic_pointsThe number of genetics points (to buy powers) this ling currently has.
give_objectivesWhether to give this changeling objectives or not
hive_nameThe name of our "hive" that our ling came from. Flavor.
innate_powersList of all powers we start with.
lingchemdisplayUI displaying how many chems we have
lingstingdisplayUI displayng our currently active sting
mimicingThe voice we're mimicing via the changeling voice ability.
possible_changeling_IDsStatic list of possible ids. Initialized into the greek alphabet the first time it is used
purchased_powersAssociated list of all powers we have evolved / bought from the emporium. [path] = [instance of path]
slot2typeSatic list of what each slot associated with (in regard to changeling flesh items).
sting_rangeThe range this ling can sting things.
stolen_memoriesA list of all memories we've stolen through absorbs.
stored_profileslist of datum/changeling_profile
total_chem_storageThe max chemical storage the changeling currently has.
total_genetic_pointsThe max number of genetics points (to buy powers) this ling can have..
true_absorbsThe amount of DMA gained using absorb, not DNA sting. Start with one (your original DNA)

Procs

check_menuChecks if we are allowed to interact with a radial menu
give_powerGives a passed changeling power datum to the player
on_click_stingSignal proc for COMSIG_MOB_MIDDLECLICKON and COMSIG_MOB_ALTCLICKON. +Allows the changeling to sting people with a click.
on_fullhealedSignal proc for COMSIG_LIVING_POST_FULLY_HEAL
on_lifeSignal proc for COMSIG_LIVING_LIFE. +Handles regenerating chemicals on life ticks.
select_dnaGives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna
+

Var Details

absorbed_count + + + + +

+

The amount of DNA gained. Includes DNA sting.

all_powers + + + + +

+

Static typecache of all changeling powers that are usable.

can_respec + + + + +

+

Whether we can currently respec in the cellular emporium.

cellular_emporium + + + + +

+

A reference to our cellular emporium datum.

changelingID + + + + +

+

Changeling name, what other lings see over the hivemind when talking.

chem_charges + + + + +

+

The number of chemicals the changeling currently has.

chem_recharge_rate + + + + +

+

The chemical recharge rate per life tick.

chem_recharge_slowdown + + + + +

+

Any additional modifiers triggered by changelings that modify the chem_recharge_rate.

chosen_sting + + + + +

+

The currently active changeling sting.

competitive_objectives + + + + +

+

Weather we assign objectives which compete with other lings

current_profile + + + + +

+

Keeps track of the currently selected profile.

dna_max + + + + +

+

How many DNA strands the changeling can store for transformation.

emporium_action + + + + +

+

A reference to our cellular emporium action (which opens the UI for the datum).

first_profile + + + + +

+

The original profile of this changeling.

genetic_points + + + + +

+

The number of genetics points (to buy powers) this ling currently has.

give_objectives + + + + +

+

Whether to give this changeling objectives or not

hive_name + + + + +

+

The name of our "hive" that our ling came from. Flavor.

innate_powers + + + + +

+

List of all powers we start with.

lingchemdisplay + + + + +

+

UI displaying how many chems we have

lingstingdisplay + + + + +

+

UI displayng our currently active sting

mimicing + + + + +

+

The voice we're mimicing via the changeling voice ability.

possible_changeling_IDs + + + + +

+

Static list of possible ids. Initialized into the greek alphabet the first time it is used

purchased_powers + + + + +

+

Associated list of all powers we have evolved / bought from the emporium. [path] = [instance of path]

slot2type + + + + +

+

Satic list of what each slot associated with (in regard to changeling flesh items).

sting_range + + + + +

+

The range this ling can sting things.

stolen_memories + + + + +

+

A list of all memories we've stolen through absorbs.

stored_profiles + + + + +

+

list of datum/changeling_profile

total_chem_storage + + + + +

+

The max chemical storage the changeling currently has.

total_genetic_points + + + + +

+

The max number of genetics points (to buy powers) this ling can have..

true_absorbs + + + + +

+

The amount of DMA gained using absorb, not DNA sting. Start with one (your original DNA)

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+

give_power +

+

Gives a passed changeling power datum to the player

+

Is passed a path to a changeling power, and applies it to the user. +If successful, we return TRUE, otherwise not.

+

Arguments:

+

on_click_sting +

+

Signal proc for COMSIG_MOB_MIDDLECLICKON and COMSIG_MOB_ALTCLICKON. +Allows the changeling to sting people with a click.

on_fullhealed +

+

Signal proc for COMSIG_LIVING_POST_FULLY_HEAL

on_life +

+

Signal proc for COMSIG_LIVING_LIFE. +Handles regenerating chemicals on life ticks.

select_dna +

+

Gives a changeling a list of all possible dnas in their profiles to choose from and returns profile containing their chosen dna

+ + + diff --git a/datum/antagonist/cult.html b/datum/antagonist/cult.html new file mode 100644 index 00000000000..82120cd1ff6 --- /dev/null +++ b/datum/antagonist/cult.html @@ -0,0 +1,94 @@ + + + + + + + /datum/antagonist/cult - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cult + + + +

+ + + + + + + + + + +

Vars

cult_teamReference to the Blood cult team they are part of.
give_equipmentBoolean on whether the starting equipment should be given to their inventory.
vote_abilityThe vote ability Cultists have to elect someone to be the leader.

Procs

cult_give_itemAttempts to make a new item and put it in a potential inventory slot in the provided mob.
deathrattleIf dead (and Narsie isn't summoned), will alert all Cultists of their death, sending their location out.
demote_from_leaderAdmin-only helper to demote someone from Cult leader, taking away their HUD, abilities, and deathrattle +And gives all cultists from their team back their ability to vote for a new leader.
equip_cultistEquips the cultist with a dagger and runed metal.
is_cult_leaderReturns whether or not this datum is its team's leader.
make_cult_leaderTurns this antag datum into its team's leader, assigning them their unique abilities, hud, and deathrattle.
+

Var Details

cult_team + + + + +

+

Reference to the Blood cult team they are part of.

give_equipment + + + + +

+

Boolean on whether the starting equipment should be given to their inventory.

vote_ability + + + + +

+

The vote ability Cultists have to elect someone to be the leader.

Proc Details

cult_give_item +

+

Attempts to make a new item and put it in a potential inventory slot in the provided mob.

deathrattle +

+

If dead (and Narsie isn't summoned), will alert all Cultists of their death, sending their location out.

demote_from_leader +

+

Admin-only helper to demote someone from Cult leader, taking away their HUD, abilities, and deathrattle +And gives all cultists from their team back their ability to vote for a new leader.

equip_cultist +

+

Equips the cultist with a dagger and runed metal.

is_cult_leader +

+

Returns whether or not this datum is its team's leader.

make_cult_leader +

+

Turns this antag datum into its team's leader, assigning them their unique abilities, hud, and deathrattle.

+ + + diff --git a/datum/antagonist/ert.html b/datum/antagonist/ert.html new file mode 100644 index 00000000000..8dc31d95251 --- /dev/null +++ b/datum/antagonist/ert.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/ert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ert + + + +

+ + +

Vars

ert_job_pathTypepath indicating the kind of job datum this ert member will have.
+

Var Details

ert_job_path + + + + +

+

Typepath indicating the kind of job datum this ert member will have.

+ + + diff --git a/datum/antagonist/heretic.html b/datum/antagonist/heretic.html new file mode 100644 index 00000000000..950cb721036 --- /dev/null +++ b/datum/antagonist/heretic.html @@ -0,0 +1,324 @@ + + + + + + + /datum/antagonist/heretic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heretic + + + +

+ +

The heretic antagonist itself.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_sac_targetsList of all sacrifice target's names, used for end of round report
ascendedWhether we've ascended! (Completed one of the final rituals)
blacklisted_rune_turfsA blacklist of turfs we cannot scribe on.
drawing_runeWhether we're drawing a rune or not
give_objectivesWhether we give this antagonist objectives on gain.
heretic_pathThe path our heretic has chosen. Mostly used for flavor.
high_value_sacrificesA list of TOTAL how many high value sacrifices completed. (Heads of staff)
knowledge_pointsA sum of how many knowledge points this heretic CURRENTLY has. Used to research.
living_heart_organ_slotThe organ slot we place our Living Heart in.
passive_gain_timerThe time between gaining influence passively. The heretic gain +1 knowledge points every this duration of time.
path_to_ui_colorStatic list of what each path converts to in the UI (colors are TGUI colors)
researched_knowledgeAssoc list of [typepath] = [knowledge instance]. A list of all knowledge this heretic's reserached.
sac_targetsLazy assoc list of [refs to humans] to [image previews of the human]. Humans that we have as sacrifice targets.
scribing_toolsA static typecache of all tools we can scribe with.
total_sacrificesA list of TOTAL how many sacrifices completed. (Includes high value sacrifices)

Procs

add_marked_as_targetAdmin proc for adding a marked mob to a heretic's sac list.
add_sacrifice_targetAdd [target] as a sacrifice target for the heretic. +Generates a preview image and associates it with a weakref of the mob.
admin_change_pointsAdmin proc for easily adding / removing knowledge points.
admin_give_focusAdmin proc for giving a heretic a focus.
after_fully_healedSignal proc for COMSIG_LIVING_POST_FULLY_HEAL, +Gives the heretic aliving heart on aheal or organ refresh
can_ascendChecks to see if our heretic can ccurrently ascend.
check_mansus_grasp_offhandCallback to check that the user's still got their Mansus Grasp out when drawing a rune.
draw_runeThe actual process of drawing a rune.
forge_primary_objectivesCreate our objectives for our heretic.
gain_knowledgeLearns the passed [typepath] of knowledge, creating a knowledge datum +and adding it to our researched knowledge list.
get_knowledgeCheck if the wanted type-path is in the list of research knowledge.
get_researchable_knowledgeGet a list of all knowledge TYPEPATHS that we can currently research.
get_ritualsGet a list of all rituals this heretic can invoke on a rune. +Iterates over all of our knowledge and, if we can invoke it, adds it to our list.
give_living_heartAdmin proc for giving a heretic a Living Heart easily.
has_living_heartHelper to determine if a Heretic
on_cult_sacrificedSignal proc for COMSIG_LIVING_CULT_SACRIFICED to reward cultists for sacrificing a heretic
on_target_deletedSignal proc for COMSIG_QDELETING registered on sac targets +if sacrifice targets are deleted (gibbed, dusted, whatever), free their slot and reference
passive_influence_gainIncrements knowledge by one. +Used in callbacks for passive gain over time.
remove_sacrifice_targetRemoves [target] from the heretic's sacrifice list. +Returns FALSE if no one was removed, TRUE otherwise
remove_targetAdmin proc for removing a mob from a heretic's sac list.
try_draw_runeAttempt to draw a rune on [target_turf].
+

Var Details

all_sac_targets + + + + +

+

List of all sacrifice target's names, used for end of round report

ascended + + + + +

+

Whether we've ascended! (Completed one of the final rituals)

blacklisted_rune_turfs + + + + +

+

A blacklist of turfs we cannot scribe on.

drawing_rune + + + + +

+

Whether we're drawing a rune or not

give_objectives + + + + +

+

Whether we give this antagonist objectives on gain.

heretic_path + + + + +

+

The path our heretic has chosen. Mostly used for flavor.

high_value_sacrifices + + + + +

+

A list of TOTAL how many high value sacrifices completed. (Heads of staff)

knowledge_points + + + + +

+

A sum of how many knowledge points this heretic CURRENTLY has. Used to research.

living_heart_organ_slot + + + + +

+

The organ slot we place our Living Heart in.

passive_gain_timer + + + + +

+

The time between gaining influence passively. The heretic gain +1 knowledge points every this duration of time.

path_to_ui_color + + + + +

+

Static list of what each path converts to in the UI (colors are TGUI colors)

researched_knowledge + + + + +

+

Assoc list of [typepath] = [knowledge instance]. A list of all knowledge this heretic's reserached.

sac_targets + + + + +

+

Lazy assoc list of [refs to humans] to [image previews of the human]. Humans that we have as sacrifice targets.

scribing_tools + + + + +

+

A static typecache of all tools we can scribe with.

total_sacrifices + + + + +

+

A list of TOTAL how many sacrifices completed. (Includes high value sacrifices)

Proc Details

add_marked_as_target +

+

Admin proc for adding a marked mob to a heretic's sac list.

add_sacrifice_target +

+

Add [target] as a sacrifice target for the heretic. +Generates a preview image and associates it with a weakref of the mob.

admin_change_points +

+

Admin proc for easily adding / removing knowledge points.

admin_give_focus +

+

Admin proc for giving a heretic a focus.

after_fully_healed +

+

Signal proc for COMSIG_LIVING_POST_FULLY_HEAL, +Gives the heretic aliving heart on aheal or organ refresh

can_ascend +

+

Checks to see if our heretic can ccurrently ascend.

+

Returns FALSE if not all of our objectives are complete, or TRUE otherwise.

check_mansus_grasp_offhand +

+

Callback to check that the user's still got their Mansus Grasp out when drawing a rune.

+

Arguments

+

draw_rune +

+

The actual process of drawing a rune.

+

Arguments

+

forge_primary_objectives +

+

Create our objectives for our heretic.

gain_knowledge +

+

Learns the passed [typepath] of knowledge, creating a knowledge datum +and adding it to our researched knowledge list.

+

Returns TRUE if the knowledge was added successfully. FALSE otherwise.

get_knowledge +

+

Check if the wanted type-path is in the list of research knowledge.

get_researchable_knowledge +

+

Get a list of all knowledge TYPEPATHS that we can currently research.

get_rituals +

+

Get a list of all rituals this heretic can invoke on a rune. +Iterates over all of our knowledge and, if we can invoke it, adds it to our list.

+

Returns an associated list of [knowledge name] to [knowledge datum] sorted by knowledge priority.

give_living_heart +

+

Admin proc for giving a heretic a Living Heart easily.

has_living_heart +

+

Helper to determine if a Heretic

+ +

Returns HERETIC_NO_HEART_ORGAN if they have no heart (organ) at all, +Returns HERETIC_NO_LIVING_HEART if they have a heart (organ) but it's not a living one, +and returns HERETIC_HAS_LIVING_HEART if they have a living heart

on_cult_sacrificed +

+

Signal proc for COMSIG_LIVING_CULT_SACRIFICED to reward cultists for sacrificing a heretic

on_target_deleted +

+

Signal proc for COMSIG_QDELETING registered on sac targets +if sacrifice targets are deleted (gibbed, dusted, whatever), free their slot and reference

passive_influence_gain +

+

Increments knowledge by one. +Used in callbacks for passive gain over time.

remove_sacrifice_target +

+

Removes [target] from the heretic's sacrifice list. +Returns FALSE if no one was removed, TRUE otherwise

remove_target +

+

Admin proc for removing a mob from a heretic's sac list.

try_draw_rune +

+

Attempt to draw a rune on [target_turf].

+

Arguments

+
+ + + diff --git a/datum/antagonist/heretic_monster.html b/datum/antagonist/heretic_monster.html new file mode 100644 index 00000000000..ed893ca2516 --- /dev/null +++ b/datum/antagonist/heretic_monster.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/heretic_monster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heretic_monster + + + +

+ +

Tracking reasons

+

Vars

masterOur master (a heretic)'s mind.
+

Var Details

master + + + + +

+

Our master (a heretic)'s mind.

+ + + diff --git a/datum/antagonist/highlander.html b/datum/antagonist/highlander.html new file mode 100644 index 00000000000..04fccaeeebe --- /dev/null +++ b/datum/antagonist/highlander.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/highlander - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

highlander + + + +

+ + +

Vars

applicable_traitsTraits we apply/remove to our target on-demand.
+

Var Details

applicable_traits + + + + +

+

Traits we apply/remove to our target on-demand.

+ + + diff --git a/datum/antagonist/hypnotized.html b/datum/antagonist/hypnotized.html new file mode 100644 index 00000000000..a06130f5fea --- /dev/null +++ b/datum/antagonist/hypnotized.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/hypnotized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hypnotized + + + +

+ +

Antag datum associated with the hypnosis brain trauma, used for displaying objectives and antag hud

+

Vars

traumaBrain trauma associated with this antag datum
+

Var Details

trauma + + + + +

+

Brain trauma associated with this antag datum

+ + + diff --git a/datum/antagonist/imp.html b/datum/antagonist/imp.html new file mode 100644 index 00000000000..df17fd5de76 --- /dev/null +++ b/datum/antagonist/imp.html @@ -0,0 +1,30 @@ + + + + + + + /datum/antagonist/imp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

imp + + + +

+ +Imps +

Imps used to be summoned by a devil ascending to their final form, but now they're just +kinda sitting in limbo... Well, whatever! They're kinda cool anyways!

+ + + diff --git a/datum/antagonist/malf_ai.html b/datum/antagonist/malf_ai.html new file mode 100644 index 00000000000..6d05249f909 --- /dev/null +++ b/datum/antagonist/malf_ai.html @@ -0,0 +1,85 @@ + + + + + + + /datum/antagonist/malf_ai - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

malf_ai + + + +

+ + + + + + + + + +

Vars

employerthe name of the antag flavor this traitor has.
give_objectivesbool for giving objectives
malfunction_flavorassoc list of strings set up after employer is given
module_picker_compactmodesince the module purchasing is built into the antag info, we need to keep track of its compact mode here
should_give_codewordsbool for giving codewords

Procs

forge_ai_objectivesGenerates a complete set of malf AI objectives up to the traitor objective limit.
forge_special_objectiveGenerates a special objective and adds it to the objective list.
give_codewordsOutputs this shift's codewords and responses to the antag's chat and copies them to their memory.
+

Var Details

employer + + + + +

+

the name of the antag flavor this traitor has.

give_objectives + + + + +

+

bool for giving objectives

malfunction_flavor + + + + +

+

assoc list of strings set up after employer is given

module_picker_compactmode + + + + +

+

since the module purchasing is built into the antag info, we need to keep track of its compact mode here

should_give_codewords + + + + +

+

bool for giving codewords

Proc Details

forge_ai_objectives +

+

Generates a complete set of malf AI objectives up to the traitor objective limit.

forge_special_objective +

+

Generates a special objective and adds it to the objective list.

give_codewords +

+

Outputs this shift's codewords and responses to the antag's chat and copies them to their memory.

+ + + diff --git a/datum/antagonist/malf_ai/infected.html b/datum/antagonist/malf_ai/infected.html new file mode 100644 index 00000000000..80be1585cdd --- /dev/null +++ b/datum/antagonist/malf_ai/infected.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/malf_ai/infected - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

infected + + + +

+ + +

Vars

bossThe player, to who is this AI slaved
+

Var Details

boss + + + + +

+

The player, to who is this AI slaved

+ + + diff --git a/datum/antagonist/ninja.html b/datum/antagonist/ninja.html new file mode 100644 index 00000000000..20444c6ccf2 --- /dev/null +++ b/datum/antagonist/ninja.html @@ -0,0 +1,65 @@ + + + + + + + /datum/antagonist/ninja - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ninja + + + +

+ + + + + +

Vars

give_objectivesWhether or not this ninja will obtain objectives

Procs

addMemoriesProc that adds the proper memories to the antag datum
addObjectivesProc that adds all the ninja's objectives to the antag datum.
equip_space_ninjaProc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.
+

Var Details

give_objectives + + + + +

+

Whether or not this ninja will obtain objectives

Proc Details

addMemories +

+

Proc that adds the proper memories to the antag datum

+

Proc that adds the ninja starting memories to the owner of the antagonist datum.

addObjectives +

+

Proc that adds all the ninja's objectives to the antag datum.

+

Proc that adds all the ninja's objectives to the antag datum. Called when the datum is gained.

equip_space_ninja +

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.

+

Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum. +Arguments:

+
+ + + diff --git a/datum/antagonist/nukeop.html b/datum/antagonist/nukeop.html new file mode 100644 index 00000000000..0edbab7d082 --- /dev/null +++ b/datum/antagonist/nukeop.html @@ -0,0 +1,99 @@ + + + + + + + /datum/antagonist/nukeop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nukeop + + + +

+ + + + + + + + + + + +

Vars

always_new_teamIf not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team.
discount_limited_amountThe amount of limited discounts that the team get
discount_team_amountThe amount of discounts that the team get
nuke_icon_stateIn the preview icon, a nuclear fission explosive device, only appearing if there's an icon state for it.
nuke_teamWhich nukie team are we on?
nukeop_outfitThe DEFAULT outfit we will give to players granted this datum
preview_outfit_behindIn the preview icon, the nukies who are behind the leader
send_to_spawnpointShould the user be moved to default spawnpoint after being granted this datum.

Procs

get_spawnpointGets the position we spawn at
move_to_spawnpointActually moves our nukie to where they should be
+

Var Details

always_new_team + + + + +

+

If not assigned a team by default ops will try to join existing ones, set this to TRUE to always create new team.

discount_limited_amount + + + + +

+

The amount of limited discounts that the team get

discount_team_amount + + + + +

+

The amount of discounts that the team get

nuke_icon_state + + + + +

+

In the preview icon, a nuclear fission explosive device, only appearing if there's an icon state for it.

nuke_team + + + + +

+

Which nukie team are we on?

nukeop_outfit + + + + +

+

The DEFAULT outfit we will give to players granted this datum

preview_outfit_behind + + + + +

+

In the preview icon, the nukies who are behind the leader

send_to_spawnpoint + + + + +

+

Should the user be moved to default spawnpoint after being granted this datum.

Proc Details

get_spawnpoint +

+

Gets the position we spawn at

move_to_spawnpoint +

+

Actually moves our nukie to where they should be

+ + + diff --git a/datum/antagonist/nukeop/leader.html b/datum/antagonist/nukeop/leader.html new file mode 100644 index 00000000000..8c118ad507b --- /dev/null +++ b/datum/antagonist/nukeop/leader.html @@ -0,0 +1,43 @@ + + + + + + + /datum/antagonist/nukeop/leader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

leader + + + +

+ + + +

Vars

challengeitemThe nuclear challenge remote we will spawn this player with.
titleRandomly chosen honorific, for distinction
+

Var Details

challengeitem + + + + +

+

The nuclear challenge remote we will spawn this player with.

title + + + + +

+

Randomly chosen honorific, for distinction

+ + + diff --git a/datum/antagonist/paradox_clone.html b/datum/antagonist/paradox_clone.html new file mode 100644 index 00000000000..dc0d505c371 --- /dev/null +++ b/datum/antagonist/paradox_clone.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/paradox_clone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paradox_clone + + + +

+ + +

Vars

original_refWeakref to the mind of the original, the clone's target.
+

Var Details

original_ref + + + + +

+

Weakref to the mind of the original, the clone's target.

+ + + diff --git a/datum/antagonist/rev.html b/datum/antagonist/rev.html new file mode 100644 index 00000000000..ed77c5391c5 --- /dev/null +++ b/datum/antagonist/rev.html @@ -0,0 +1,55 @@ + + + + + + + /datum/antagonist/rev - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rev + + + +

+ + + + +

Vars

deconversion_sourceWhen this antagonist is being de-antagged, this is the source. Can be a mob (for mindshield/blunt force trauma) or a #define string.

Procs

add_revolutionaryAdds a new mind to our revoltuion
remove_revolutionaryHandles rev removal via IC methods such as borging, mindshielding, blunt force trauma to the head or revs losing.
+

Var Details

deconversion_source + + + + +

+

When this antagonist is being de-antagged, this is the source. Can be a mob (for mindshield/blunt force trauma) or a #define string.

Proc Details

add_revolutionary +

+

Adds a new mind to our revoltuion

+

remove_revolutionary +

+

Handles rev removal via IC methods such as borging, mindshielding, blunt force trauma to the head or revs losing.

+ + + diff --git a/datum/antagonist/rev/head.html b/datum/antagonist/rev/head.html new file mode 100644 index 00000000000..3a46e4bca3b --- /dev/null +++ b/datum/antagonist/rev/head.html @@ -0,0 +1,51 @@ + + + + + + + /datum/antagonist/rev/head - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

head + + + +

+ + + + +

Procs

_async_holiday_meme_sayUsed / called async from [proc/on_flash] to deliver a funny meme line
on_flash_successSignal proc for COMSIG_MOB_SUCCESSFUL_FLASHED_CARBON. +Bread and butter of revolution conversion, successfully flashing a carbon will make them a revolutionary
remove_revolutionaryThis is for revheads, for which they ordinarily shouldn't be deconverted outside of revs losing. As an exception, forceborging can de-headrev them.

Proc Details

_async_holiday_meme_say +

+

Used / called async from [proc/on_flash] to deliver a funny meme line

on_flash_success +

+

Signal proc for COMSIG_MOB_SUCCESSFUL_FLASHED_CARBON. +Bread and butter of revolution conversion, successfully flashing a carbon will make them a revolutionary

remove_revolutionary +

+

This is for revheads, for which they ordinarily shouldn't be deconverted outside of revs losing. As an exception, forceborging can de-headrev them.

+ + + diff --git a/datum/antagonist/separatist.html b/datum/antagonist/separatist.html new file mode 100644 index 00000000000..25bf2c109e6 --- /dev/null +++ b/datum/antagonist/separatist.html @@ -0,0 +1,43 @@ + + + + + + + /datum/antagonist/separatist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

separatist + + + +

+ + + +

Vars

nationteam datum
ui_colorbackground color of the ui
+

Var Details

nation + + + + +

+

team datum

ui_color + + + + +

+

background color of the ui

+ + + diff --git a/datum/antagonist/shade_minion.html b/datum/antagonist/shade_minion.html new file mode 100644 index 00000000000..4670cdf1120 --- /dev/null +++ b/datum/antagonist/shade_minion.html @@ -0,0 +1,53 @@ + + + + + + + /datum/antagonist/shade_minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shade_minion + + + +

+ +

This datum is for use by shades who have a master but are not cultists. +Cult shades don't get it because they get the cult datum instead. +They are bound to follow the orders of their creator, probably a chaplain or miner. +Technically they're not 'antagonists' but they have antagonist-like properties.

+ + +

Vars

master_nameName of this shade's master.

Procs

display_panelShows the info panel, moved out into its own proc for signal handling reasons.
update_masterApply a new master to the shade, will display the popup again also.
+

Var Details

master_name + + + + +

+

Name of this shade's master.

Proc Details

display_panel +

+

Shows the info panel, moved out into its own proc for signal handling reasons.

update_master +

+

Apply a new master to the shade, will display the popup again also.

+ + + diff --git a/datum/antagonist/space_carp.html b/datum/antagonist/space_carp.html new file mode 100644 index 00000000000..2563c0fec9e --- /dev/null +++ b/datum/antagonist/space_carp.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/space_carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

space_carp + + + +

+ + +

Vars

riftThe rift to protect
+

Var Details

rift + + + + +

+

The rift to protect

+ + + diff --git a/datum/antagonist/space_dragon.html b/datum/antagonist/space_dragon.html new file mode 100644 index 00000000000..0a13dd4e509 --- /dev/null +++ b/datum/antagonist/space_dragon.html @@ -0,0 +1,164 @@ + + + + + + + /datum/antagonist/space_dragon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

space_dragon + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

ai_to_spawnWhat AI mobs to spawn from this dragon's rifts
carpAll space carps created by this antagonist space dragon
chosen_rift_areasWhat areas are we allowed to place rifts in?
maxRiftTimerMaximum amount of time which can pass without a rift before Space Dragon despawns.
minion_to_spawnWhat mob to spawn from ghosts using this dragon's rifts
objective_completeWhether or not Space Dragon has completed their objective, and thus triggered the ending sequence.
riftTimerCurrent time since the the last rift was activated. If set to -1, does not increment.
rift_abilityThe innate ability to summon rifts
rift_listA list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.
rifts_chargedHow many rifts have been successfully charged
wavespeakWavespeak mind linker, to allow telepathy between dragon and carps

Procs

destroy_riftsDestroys all of Space Dragon's current rifts.
permanant_empowerGives Space Dragon their the rift speed buff permanantly and fully heals the user.
rift_checksChecks to see if we need to do anything with the current state of the dragon's rifts.
rift_depowerRemoves Space Dragon's rift speed buff.
rift_empowerHandles Space Dragon's temporary empowerment after boosting a rift.
victorySets up Space Dragon's victory for completing the objectives.
+

Var Details

ai_to_spawn + + + + +

+

What AI mobs to spawn from this dragon's rifts

carp + + + + +

+

All space carps created by this antagonist space dragon

chosen_rift_areas + + + + +

+

What areas are we allowed to place rifts in?

maxRiftTimer + + + + +

+

Maximum amount of time which can pass without a rift before Space Dragon despawns.

minion_to_spawn + + + + +

+

What mob to spawn from ghosts using this dragon's rifts

objective_complete + + + + +

+

Whether or not Space Dragon has completed their objective, and thus triggered the ending sequence.

riftTimer + + + + +

+

Current time since the the last rift was activated. If set to -1, does not increment.

rift_ability + + + + +

+

The innate ability to summon rifts

rift_list + + + + +

+

A list of all of the rifts created by Space Dragon. Used for setting them all to infinite carp spawn when Space Dragon wins, and removing them when Space Dragon dies.

rifts_charged + + + + +

+

How many rifts have been successfully charged

wavespeak + + + + +

+

Wavespeak mind linker, to allow telepathy between dragon and carps

Proc Details

destroy_rifts +

+

Destroys all of Space Dragon's current rifts.

+

QDeletes all the current rifts after removing their references to other objects. +Currently, the only reference they have is to the Dragon which created them, so we clear that before deleting them. +Currently used when Space Dragon dies or one of his rifts is destroyed.

permanant_empower +

+

Gives Space Dragon their the rift speed buff permanantly and fully heals the user.

+

Gives Space Dragon the enraged speed buff from charging rifts permanantly. +Only happens in circumstances where Space Dragon completes their objective. +Also gives them a full heal.

rift_checks +

+

Checks to see if we need to do anything with the current state of the dragon's rifts.

+

A simple update check which sees if we need to do anything based on the current state of the dragon's rifts.

rift_depower +

+

Removes Space Dragon's rift speed buff.

+

Removes Space Dragon's speed buff from charging a rift. This is only called +in rift_empower, which uses a timer to call this after 30 seconds. Also +removes the red glow from Space Dragon which is synonymous with the speed buff.

rift_empower +

+

Handles Space Dragon's temporary empowerment after boosting a rift.

+

Empowers and depowers Space Dragon after a successful rift charge. +Empowered, Space Dragon regains all his health and becomes temporarily faster for 30 seconds, along with being tinted red.

victory +

+

Sets up Space Dragon's victory for completing the objectives.

+

Triggers when Space Dragon completes his objective. +Calls the shuttle with a coefficient of 3, making it impossible to recall. +Sets all of his rifts to allow for infinite sentient carp spawns +Also plays appropiate sounds and CENTCOM messages.

+ + + diff --git a/datum/antagonist/spider.html b/datum/antagonist/spider.html new file mode 100644 index 00000000000..7aa9998fdad --- /dev/null +++ b/datum/antagonist/spider.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/spider - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spider + + + +

+ + +

Vars

directiveOrders given to us by the queen
+

Var Details

directive + + + + +

+

Orders given to us by the queen

+ + + diff --git a/datum/antagonist/syndicate_monkey.html b/datum/antagonist/syndicate_monkey.html new file mode 100644 index 00000000000..7c5b5f0811b --- /dev/null +++ b/datum/antagonist/syndicate_monkey.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/syndicate_monkey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syndicate_monkey + + + +

+ + +

Vars

monky_masterThe antagonist's master, used for objective
+

Var Details

monky_master + + + + +

+

The antagonist's master, used for objective

+ + + diff --git a/datum/antagonist/traitor.html b/datum/antagonist/traitor.html new file mode 100644 index 00000000000..50ede5bd651 --- /dev/null +++ b/datum/antagonist/traitor.html @@ -0,0 +1,142 @@ + + + + + + + /datum/antagonist/traitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

traitor + + + +

+ + + + + + + + + + + + + + + + + +

Vars

employerthe name of the antag flavor this traitor has.
ending_objectivethe final objective the traitor has to accomplish, be it escaping, hijacking, or just martyrdom.
give_secondary_objectivesWhether to give secondary objectives to the traitor, which aren't necessary but can be completed for a progression and TC boost.
give_uplinkgive this traitor an uplink?
is_hijackerif TRUE, this traitor will always get hijacking as their final objective
replacement_uplink_codeCode that allows traitor to get a replacement uplink
replacement_uplink_frequencyRadio frequency that traitor must speak on to get a replacement uplink
traitor_flavorassoc list of strings set up after employer is given
uplink_flag_givenThe flag of uplink that this traitor is supposed to have.
uplink_handlerThe uplink handler that this traitor belongs to.
uplink_refreference to the uplink this traitor was given, if they were.

Procs

can_change_objectivesReturns true if we're allowed to assign ourselves a new objective
contractor_round_endTells how many contracts have been completed.
forge_ending_objective
forge_traitor_objectivesGenerates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.
generate_replacement_codesproc that generates the traitors replacement uplink code and radio frequency
+

Var Details

employer + + + + +

+

the name of the antag flavor this traitor has.

ending_objective + + + + +

+

the final objective the traitor has to accomplish, be it escaping, hijacking, or just martyrdom.

give_secondary_objectives + + + + +

+

Whether to give secondary objectives to the traitor, which aren't necessary but can be completed for a progression and TC boost.

+

give this traitor an uplink?

is_hijacker + + + + +

+

if TRUE, this traitor will always get hijacking as their final objective

+

Code that allows traitor to get a replacement uplink

+

Radio frequency that traitor must speak on to get a replacement uplink

traitor_flavor + + + + +

+

assoc list of strings set up after employer is given

+

The flag of uplink that this traitor is supposed to have.

+

The uplink handler that this traitor belongs to.

+

reference to the uplink this traitor was given, if they were.

Proc Details

can_change_objectives +

+

Returns true if we're allowed to assign ourselves a new objective

contractor_round_end +

+

Tells how many contracts have been completed.

forge_ending_objective +

+ forge_ending_objective +

Forges the endgame objective and adds it to this datum's objective list.

forge_traitor_objectives +

+

Generates a complete set of traitor objectives up to the traitor objective limit, including non-generic objectives such as martyr and hijack.

generate_replacement_codes +

+

proc that generates the traitors replacement uplink code and radio frequency

+ + + diff --git a/datum/antagonist/wizard.html b/datum/antagonist/wizard.html new file mode 100644 index 00000000000..e34c88a92a1 --- /dev/null +++ b/datum/antagonist/wizard.html @@ -0,0 +1,50 @@ + + + + + + + /datum/antagonist/wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wizard + + + +

+ + + + +

Vars

ritualThis mob's Grand Ritual ability

Procs

assign_ritualInitialises the grand ritual action for this mob
on_ritual_completeIf we receive this signal, you're done with objectives
+

Var Details

ritual + + + + +

+

This mob's Grand Ritual ability

Proc Details

assign_ritual +

+

Initialises the grand ritual action for this mob

on_ritual_complete +

+

If we receive this signal, you're done with objectives

+ + + diff --git a/datum/antagonist/wizard_minion.html b/datum/antagonist/wizard_minion.html new file mode 100644 index 00000000000..19aecd72761 --- /dev/null +++ b/datum/antagonist/wizard_minion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/wizard_minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizard_minion + + + +

+ + +

Vars

wiz_teamThe wizard team this wizard minion is part of.
+

Var Details

wiz_team + + + + +

+

The wizard team this wizard minion is part of.

+ + + diff --git a/datum/antagonist/xeno/captive.html b/datum/antagonist/xeno/captive.html new file mode 100644 index 00000000000..b8508b870e2 --- /dev/null +++ b/datum/antagonist/xeno/captive.html @@ -0,0 +1,36 @@ + + + + + + + /datum/antagonist/xeno/captive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

captive + + + +

+ + +

Vars

captive_teamOur associated antagonist team for captive xenomorphs
+

Var Details

captive_team + + + + +

+

Our associated antagonist team for captive xenomorphs

+ + + diff --git a/datum/armor.html b/datum/armor.html new file mode 100644 index 00000000000..586daa34929 --- /dev/null +++ b/datum/armor.html @@ -0,0 +1,85 @@ + + + + + + + /datum/armor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

armor + + + +

+ +

The armor datum holds information about different types of armor that an atom can have. +It also contains logic and helpers for calculating damage and effective damage

+ + + + + + + +

Procs

add_other_armorReturns a new armor datum with the given armor added onto this one
generate_new_with_modifiersGenerate a brand new armor datum with the modifiers given, if ARMOR_ALL is specified only that modifier is used
generate_new_with_multipliersGenerate a brand new armor datum with the multiplier given, if ARMOR_ALL is specified only that modifer is used
generate_new_with_specificGenerate a brand new armor datum with the values given, if a value is not present it carries over
get_ratingGets the rating of armor for the specified rating
get_rating_listConverts all the ratings of the armor into a list, optionally inversed
has_any_armorChecks if any of the armor values are non-zero, so this technically also counts negative armor!
subtract_other_armorReturns a new armor datum with the given armor removed from this one

Proc Details

add_other_armor +

+

Returns a new armor datum with the given armor added onto this one

generate_new_with_modifiers +

+

Generate a brand new armor datum with the modifiers given, if ARMOR_ALL is specified only that modifier is used

generate_new_with_multipliers +

+

Generate a brand new armor datum with the multiplier given, if ARMOR_ALL is specified only that modifer is used

generate_new_with_specific +

+

Generate a brand new armor datum with the values given, if a value is not present it carries over

get_rating +

+

Gets the rating of armor for the specified rating

get_rating_list +

+

Converts all the ratings of the armor into a list, optionally inversed

has_any_armor +

+

Checks if any of the armor values are non-zero, so this technically also counts negative armor!

subtract_other_armor +

+

Returns a new armor datum with the given armor removed from this one

+ + + diff --git a/datum/armour_dimensional_theme.html b/datum/armour_dimensional_theme.html new file mode 100644 index 00000000000..0954b9e1580 --- /dev/null +++ b/datum/armour_dimensional_theme.html @@ -0,0 +1,102 @@ + + + + + + + /datum/armour_dimensional_theme - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

armour_dimensional_theme + + + +

+ +

Datum describing a 'theme' which transforms a 3x3 area's turfs when applied. +It also creates a number of themed barriers in that area.

+ + + + + +

Procs

applyTransforms turfs around a source point into a new themed material. +Also place some barriers in unoccupied areas.
apply_randomApplies a random dimensional theme effect centered around a provided point. +This will transform floors and walls, as well as creating some themed barriers in that area.
convert_turfChanges a turf into a different turf
get_target_areaReturns a list of turfs which it is valid to apply changes to.
place_barrierPlaces a barrier at a specified turf.
place_barriersPlaces a random amount of themed barriers in unoccupied spaces adjacent to a source tile.

Proc Details

apply +

+

Transforms turfs around a source point into a new themed material. +Also place some barriers in unoccupied areas.

+

Arguments

+

apply_random +

+

Applies a random dimensional theme effect centered around a provided point. +This will transform floors and walls, as well as creating some themed barriers in that area.

+

Arguments

+

convert_turf +

+

Changes a turf into a different turf

+

Arguments

+

get_target_area +

+

Returns a list of turfs which it is valid to apply changes to.

+

Arguments

+

place_barrier +

+

Places a barrier at a specified turf.

+

Arguments

+

place_barriers +

+

Places a random amount of themed barriers in unoccupied spaces adjacent to a source tile.

+

Arguments

+
+ + + diff --git a/datum/armour_dimensional_theme/dangerous/lavaland.html b/datum/armour_dimensional_theme/dangerous/lavaland.html new file mode 100644 index 00000000000..a7b767516e2 --- /dev/null +++ b/datum/armour_dimensional_theme/dangerous/lavaland.html @@ -0,0 +1,35 @@ + + + + + + + /datum/armour_dimensional_theme/dangerous/lavaland - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

lavaland + + + +

+ + +

Procs

place_barrierReplace the barrier spawning to instead create weak lava.

Proc Details

place_barrier +

+

Replace the barrier spawning to instead create weak lava.

+ + + diff --git a/datum/asset.html b/datum/asset.html new file mode 100644 index 00000000000..d92aa67c051 --- /dev/null +++ b/datum/asset.html @@ -0,0 +1,86 @@ + + + + + + + /datum/asset - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

asset + + + +

+ + + + + + + + +

Vars

cross_round_cachableWhether or not this asset can be cached across rounds of the same commit under the CACHE_ASSETS config. +This is not a guarantee the asset will be cached. Not all asset subtypes respect this field, and the +config can, of course, be disabled.
earlyWhether or not this asset should be loaded in the "early assets" SS

Procs

ensure_readyStub that allows us to react to something trying to get us +Not useful here, more handy for sprite sheets
get_serialized_url_mappingsReturns a cached tgui message of URL mappings
queued_generationStub to hook into if your asset is having its generation queued by SSasset_loading
save_to_logsSimply takes any generated file and saves it to the round-specific /logs folder. Useful for debugging potential issues with spritesheet generation/display. +Only called when the SAVE_SPRITESHEETS config option is uncommented.
should_refreshReturns whether or not the asset should attempt to read from cache
+

Var Details

cross_round_cachable + + + + +

+

Whether or not this asset can be cached across rounds of the same commit under the CACHE_ASSETS config. +This is not a guarantee the asset will be cached. Not all asset subtypes respect this field, and the +config can, of course, be disabled.

early + + + + +

+

Whether or not this asset should be loaded in the "early assets" SS

Proc Details

ensure_ready +

+

Stub that allows us to react to something trying to get us +Not useful here, more handy for sprite sheets

get_serialized_url_mappings +

+

Returns a cached tgui message of URL mappings

queued_generation +

+

Stub to hook into if your asset is having its generation queued by SSasset_loading

save_to_logs +

+

Simply takes any generated file and saves it to the round-specific /logs folder. Useful for debugging potential issues with spritesheet generation/display. +Only called when the SAVE_SPRITESHEETS config option is uncommented.

should_refresh +

+

Returns whether or not the asset should attempt to read from cache

+ + + diff --git a/datum/asset/json.html b/datum/asset/json.html new file mode 100644 index 00000000000..d3d9a2ca827 --- /dev/null +++ b/datum/asset/json.html @@ -0,0 +1,43 @@ + + + + + + + /datum/asset/json - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

json + + + +

+ +

A subtype to generate a JSON file from a list

+ +

Vars

nameThe filename, will be suffixed with ".json"

Procs

generateReturns the data that will be JSON encoded
+

Var Details

name + + + + +

+

The filename, will be suffixed with ".json"

Proc Details

generate +

+

Returns the data that will be JSON encoded

+ + + diff --git a/datum/asset/simple.html b/datum/asset/simple.html new file mode 100644 index 00000000000..96a22ae29dd --- /dev/null +++ b/datum/asset/simple.html @@ -0,0 +1,56 @@ + + + + + + + /datum/asset/simple - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

simple + + + +

+ +

If you don't need anything complicated.

+ + +

Vars

assetslist of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.
keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacySet to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?
+

Var Details

assets + + + + +

+

list of assets for this datum in the form of: +asset_filename = asset_file. At runtime the asset_file will be +converted into a asset_cache datum.

keep_local_name + + + + +

+

TRUE for keeping local asset names when browse_rsc backend is used

legacy + + + + +

+

Set to true to have this asset also be sent via the legacy browse_rsc +system when cdn transports are enabled?

+ + + diff --git a/datum/asset/simple/namespaced.html b/datum/asset/simple/namespaced.html new file mode 100644 index 00000000000..39414944fa0 --- /dev/null +++ b/datum/asset/simple/namespaced.html @@ -0,0 +1,51 @@ + + + + + + + /datum/asset/simple/namespaced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

namespaced + + + +

+ +

Namespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)

+ +

Vars

parentsparents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Procs

get_htmlloaderGet a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.
+

Var Details

parents + + + + +

+

parents - list of the parent asset or assets (in name = file assoicated format) for this namespace. +parent assets must be referenced by their generated url, but if an update changes a parent asset, it won't change the namespace's identity.

Proc Details

get_htmlloader +

+

Get a html string that will load a html asset. +Needed because byond doesn't allow you to browse() to a url.

+ + + diff --git a/datum/asset/spritesheet.html b/datum/asset/spritesheet.html new file mode 100644 index 00000000000..621b0b57c82 --- /dev/null +++ b/datum/asset/spritesheet.html @@ -0,0 +1,85 @@ + + + + + + + /datum/asset/spritesheet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spritesheet + + + +

+ + + + + + + +

Vars

load_immediatelyIf this asset should be fully loaded on new +Defaults to false so we can process this stuff nicely
to_generateList of arguments to pass into queuedInsert +Exists so we can queue icon insertion, mostly for stuff like preferences

Procs

ModifyInsertedA simple proc handing the Icon for you to modify before it gets turned into an asset.
create_spritesheetsOverride this in order to start the creation of the spritehseet. +This is where all your Insert, InsertAll, etc calls should be inside.
get_background_urlReturns the URL to put in the background:url of the CSS asset
icon_size_idReturns the size class (ex design32x32) for a given sprite's icon
+

Var Details

load_immediately + + + + +

+

If this asset should be fully loaded on new +Defaults to false so we can process this stuff nicely

to_generate + + + + +

+

List of arguments to pass into queuedInsert +Exists so we can queue icon insertion, mostly for stuff like preferences

Proc Details

ModifyInserted +

+

A simple proc handing the Icon for you to modify before it gets turned into an asset.

+

Arguments:

+

create_spritesheets +

+

Override this in order to start the creation of the spritehseet. +This is where all your Insert, InsertAll, etc calls should be inside.

get_background_url +

+

Returns the URL to put in the background:url of the CSS asset

icon_size_id +

+

Returns the size class (ex design32x32) for a given sprite's icon

+

Arguments:

+
+ + + diff --git a/datum/asset/spritesheet/antagonists.html b/datum/asset/spritesheet/antagonists.html new file mode 100644 index 00000000000..1331cb9fdc0 --- /dev/null +++ b/datum/asset/spritesheet/antagonists.html @@ -0,0 +1,36 @@ + + + + + + + /datum/asset/spritesheet/antagonists - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

antagonists + + + +

+ +

Sprites generated for the antagonists panel

+

Vars

antag_iconsMapping of spritesheet keys -> icons
+

Var Details

antag_icons + + + + +

+

Mapping of spritesheet keys -> icons

+ + + diff --git a/datum/asset/spritesheet/crafting.html b/datum/asset/spritesheet/crafting.html new file mode 100644 index 00000000000..7d316e0868e --- /dev/null +++ b/datum/asset/spritesheet/crafting.html @@ -0,0 +1,45 @@ + + + + + + + /datum/asset/spritesheet/crafting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

crafting + + + +

+ +

Representative icons for the contents of each crafting recipe

+ +

Procs

add_atom_iconAdds the ingredient icon to the spritesheet with given ID
add_tool_iconsAdds tool icons to the spritesheet

Proc Details

add_atom_icon +

+

Adds the ingredient icon to the spritesheet with given ID

+

ingredient_typepath can be an obj typepath OR a reagent typepath

+

If it a reagent, it will use the default container's icon state, +OR if it has a glass style associated, it will use that

add_tool_icons +

+

Adds tool icons to the spritesheet

+ + + diff --git a/datum/asset/spritesheet/decals.html b/datum/asset/spritesheet/decals.html new file mode 100644 index 00000000000..ff062ce98c4 --- /dev/null +++ b/datum/asset/spritesheet/decals.html @@ -0,0 +1,74 @@ + + + + + + + /datum/asset/spritesheet/decals - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

decals + + + +

+ + + + + + +

Vars

painter_typeThe associated decal painter type to grab decals, colors, etc from.
preview_floor_iconThe floor icon used for blend_preview_floor()
preview_floor_stateThe floor icon state used for blend_preview_floor()

Procs

blend_preview_floorUnderlay an example floor for preview purposes, and return the new icon.
insert_stateInsert a specific state into the spritesheet.
+

Var Details

painter_type + + + + +

+

The associated decal painter type to grab decals, colors, etc from.

preview_floor_icon + + + + +

+

The floor icon used for blend_preview_floor()

preview_floor_state + + + + +

+

The floor icon state used for blend_preview_floor()

Proc Details

blend_preview_floor +

+

Underlay an example floor for preview purposes, and return the new icon.

+

Arguments:

+

insert_state +

+

Insert a specific state into the spritesheet.

+

Arguments:

+
+ + + diff --git a/datum/asset_cache_item.html b/datum/asset_cache_item.html new file mode 100644 index 00000000000..88d41d9de71 --- /dev/null +++ b/datum/asset_cache_item.html @@ -0,0 +1,102 @@ + + + + + + + /datum/asset_cache_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

asset_cache_item + + + +

+ +

An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.

+ + + + + + + + +

Vars

extour file extension e.g. .png, .gif, etc
hashmd5() of the file this asset item represents.
keep_local_nameTRUE for keeping local asset names when browse_rsc backend is used
legacyShould this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?
namethe name of this asset item, becomes the key in SSassets.cache list
namespaceUsed by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)
namespace_parentTrue if this is the parent css or html file for an asset's namespace
resourcethe file this asset represents

Procs

Newpass in a valid file_hash if you have one to save it from needing to do it again. +pass in a valid dmi file path string e.g. "icons/path/to/dmi_file.dmi" to make generating the hash less expensive
+

Var Details

ext + + + + +

+

our file extension e.g. .png, .gif, etc

hash + + + + +

+

md5() of the file this asset item represents.

keep_local_name + + + + +

+

TRUE for keeping local asset names when browse_rsc backend is used

legacy + + + + +

+

Should this file also be sent via the legacy browse_rsc system +when cdn transports are enabled?

name + + + + +

+

the name of this asset item, becomes the key in SSassets.cache list

namespace + + + + +

+

Used by the cdn system to keep legacy css assets with their parent +css file. (css files resolve urls relative to the css file, so the +legacy system can't be used if the css file itself could go out over +the cdn)

namespace_parent + + + + +

+

True if this is the parent css or html file for an asset's namespace

resource + + + + +

+

the file this asset represents

Proc Details

New +

+

pass in a valid file_hash if you have one to save it from needing to do it again. +pass in a valid dmi file path string e.g. "icons/path/to/dmi_file.dmi" to make generating the hash less expensive

+ + + diff --git a/datum/asset_transport.html b/datum/asset_transport.html new file mode 100644 index 00000000000..2965aab2c20 --- /dev/null +++ b/datum/asset_transport.html @@ -0,0 +1,112 @@ + + + + + + + /datum/asset_transport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

asset_transport + + + +

+ +

Base browse_rsc asset transport

+ + + + + + + +

Vars

dont_mutate_filenamesDon't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Procs

InitializeInitialize - Called when SSassets initializes.
LoadCalled when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.
get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
register_assetRegister a browser asset with the asset cache system. +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum.
send_assetsSends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.
send_assets_slowPrecache files without clogging up the browse() queue, used for passively sending files on connection start.
validate_configCheck the config is valid to load this transport +Returns TRUE or FALSE
+

Var Details

dont_mutate_filenames + + + + +

+

Don't mutate the filename of assets when sending via browse_rsc. +This is to make it easier to debug issues with assets, and allow server operators to bypass issues that make it to production. +If turning this on fixes asset issues, something isn't using get_asset_url and the asset isn't marked legacy, fix one of those.

Proc Details

Initialize +

+

Initialize - Called when SSassets initializes.

Load +

+

Called when the transport is loaded by the config controller, not called on the default transport unless it gets loaded by a config change.

get_asset_url +

+

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

register_asset +

+

Register a browser asset with the asset cache system. +returns a /datum/asset_cache_item. +mutiple calls to register the same asset under the same asset_name return the same datum.

+

Arguments:

+

send_assets +

+

Sends a list of browser assets to a client +client - a client or mob +asset_list - A list of asset filenames to be sent to the client. Can optionally be assoicated with the asset's asset_cache_item datum. +Returns TRUE if any assets were sent.

send_assets_slow +

+

Precache files without clogging up the browse() queue, used for passively sending files on connection start.

validate_config +

+

Check the config is valid to load this transport +Returns TRUE or FALSE

+ + + diff --git a/datum/asset_transport/webroot.html b/datum/asset_transport/webroot.html new file mode 100644 index 00000000000..cdb0f07b654 --- /dev/null +++ b/datum/asset_transport/webroot.html @@ -0,0 +1,80 @@ + + + + + + + /datum/asset_transport/webroot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

webroot + + + +

+ +

CDN Webroot asset transport.

+ + + + + +

Procs

get_asset_urlReturns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name
load_existing_assetsProcesses thru any assets that were registered before we were loaded as a transport.
register_assetRegister a browser asset with the asset cache system +We also save it to the CDN webroot at this step instead of waiting for send_assets() +asset_name - the identifier of the asset +asset - the actual asset file or an asset_cache_item datum.
save_asset_to_webrootSaves the asset to the webroot taking into account namespaces and hashes.
send_assetswebroot asset sending - does nothing unless passed legacy assets
send_assets_slowwebroot slow asset sending - does nothing.

Proc Details

get_asset_url +

+

Returns a url for a given asset. +asset_name - Name of the asset. +asset_cache_item - asset cache item datum for the asset, optional, overrides asset_name

load_existing_assets +

+

Processes thru any assets that were registered before we were loaded as a transport.

register_asset +

+

Register a browser asset with the asset cache system +We also save it to the CDN webroot at this step instead of waiting for send_assets() +asset_name - the identifier of the asset +asset - the actual asset file or an asset_cache_item datum.

save_asset_to_webroot +

+

Saves the asset to the webroot taking into account namespaces and hashes.

send_assets +

+

webroot asset sending - does nothing unless passed legacy assets

send_assets_slow +

+

webroot slow asset sending - does nothing.

+ + + diff --git a/datum/atom_hud.html b/datum/atom_hud.html new file mode 100644 index 00000000000..576b6d711d2 --- /dev/null +++ b/datum/atom_hud.html @@ -0,0 +1,223 @@ + + + + + + + /datum/atom_hud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atom_hud + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

hud_atomsassociative list of the form: list(z level = list(hud atom)). +tracks what hud atoms for this hud exists in what z level so we can only give users +the hud images that they can actually see.
hud_atoms_all_z_levelsused for signal tracking purposes, associative list of the form: list(hud atom = TRUE) that isnt separated by z level
hud_exceptionshuduser = list(atoms with their hud hidden) - aka everyone hates targeted invisiblity
hud_iconsthese will be the indexes for the atom's hud_list
hud_usersassociative list of the form: list(z level = list(hud user client mobs)). +tracks mobs that can "see" us
hud_users_all_z_levelsused for signal tracking purposes, associative list of the form: list(hud user = number of times this hud was added to this user). +that isnt separated by z level
next_time_allowedmobs associated with the next time this hud can be added to them
queued_to_seemobs that have triggered the cooldown and are queued to see the hud, but do not yet
uses_global_hud_categorywhether or not this atom_hud type updates the global huds_by_category list. +some subtypes cant work like this since theyre supposed to "belong" to +one target atom each. it will still go in the other global hud lists.

Procs

add_all_atoms_to_single_mob_hudall passed in hud_atoms's hud images (that are part of this atom_hud) to requesting_mob's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list
add_atom_to_all_mob_hudsadd just hud_atom's hud images (that are part of this atom_hud) to all the requesting_mobs's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list
add_atom_to_hudadd new_hud_atom to this hud
add_atom_to_single_mob_hudadd just hud_atom's hud images (that are part of this atom_hud) to requesting_mob's client.images list
add_single_hud_category_on_atomadds a newly active hud category's image on a hud atom to every mob that could see it
get_hud_atoms_for_z_levelreturns a list of all hud atoms in the given z level and linked lower z levels (because hud users in higher z levels can see below)
get_hud_users_for_z_levelreturns a list of all hud users in the given z level and linked upper z levels (because hud users in higher z levels can see below)
hide_fromHides the images in this hud from former_viewer +If absolute is set to true, this will forcefully remove the hud, even if sources in theory remain
on_atom_or_user_z_level_changedwhen a hud atom or hud user changes z levels this makes sure it gets the images it needs and removes the images it doesnt need. +because of how signals work we need the same proc to handle both use cases because being a hud atom and being a hud user arent mutually exclusive
remove_all_atoms_from_single_hudremove every hud image for this hud pulled from atoms_to_remove from client_mob's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list
remove_atom_from_all_hudsremove every hud image for this hud on atom_to_remove from client_mobs's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list
remove_atom_from_hudremove this atom from this hud completely
remove_atom_from_single_hudremove every hud image for this hud on atom_to_remove from client_mob's client.images list
remove_single_hud_category_on_atomremoves the image or images in hud_atom.hud_list[hud_category_to_remove] from every mob that can see it but leaves every other image +from that atom there.
show_toshow this hud to the passed in user
+

Var Details

hud_atoms + + + + +

+

associative list of the form: list(z level = list(hud atom)). +tracks what hud atoms for this hud exists in what z level so we can only give users +the hud images that they can actually see.

hud_atoms_all_z_levels + + + + +

+

used for signal tracking purposes, associative list of the form: list(hud atom = TRUE) that isnt separated by z level

hud_exceptions + + + + +

+

huduser = list(atoms with their hud hidden) - aka everyone hates targeted invisiblity

hud_icons + + + + +

+

these will be the indexes for the atom's hud_list

hud_users + + + + +

+

associative list of the form: list(z level = list(hud user client mobs)). +tracks mobs that can "see" us

hud_users_all_z_levels + + + + +

+

used for signal tracking purposes, associative list of the form: list(hud user = number of times this hud was added to this user). +that isnt separated by z level

next_time_allowed + + + + +

+

mobs associated with the next time this hud can be added to them

queued_to_see + + + + +

+

mobs that have triggered the cooldown and are queued to see the hud, but do not yet

uses_global_hud_category + + + + +

+

whether or not this atom_hud type updates the global huds_by_category list. +some subtypes cant work like this since theyre supposed to "belong" to +one target atom each. it will still go in the other global hud lists.

Proc Details

add_all_atoms_to_single_mob_hud +

+

all passed in hud_atoms's hud images (that are part of this atom_hud) to requesting_mob's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list

add_atom_to_all_mob_huds +

+

add just hud_atom's hud images (that are part of this atom_hud) to all the requesting_mobs's client.images list +optimization of /datum/atom_hud/proc/add_atom_to_single_mob_hud for hot cases, we assert that no nulls will be passed in via the list

add_atom_to_hud +

+

add new_hud_atom to this hud

add_atom_to_single_mob_hud +

+

add just hud_atom's hud images (that are part of this atom_hud) to requesting_mob's client.images list

add_single_hud_category_on_atom +

+

adds a newly active hud category's image on a hud atom to every mob that could see it

get_hud_atoms_for_z_level +

+

returns a list of all hud atoms in the given z level and linked lower z levels (because hud users in higher z levels can see below)

get_hud_users_for_z_level +

+

returns a list of all hud users in the given z level and linked upper z levels (because hud users in higher z levels can see below)

hide_from +

+

Hides the images in this hud from former_viewer +If absolute is set to true, this will forcefully remove the hud, even if sources in theory remain

on_atom_or_user_z_level_changed +

+

when a hud atom or hud user changes z levels this makes sure it gets the images it needs and removes the images it doesnt need. +because of how signals work we need the same proc to handle both use cases because being a hud atom and being a hud user arent mutually exclusive

remove_all_atoms_from_single_hud +

+

remove every hud image for this hud pulled from atoms_to_remove from client_mob's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list

remove_atom_from_all_huds +

+

remove every hud image for this hud on atom_to_remove from client_mobs's client.images list +optimization of /datum/atom_hud/proc/remove_atom_from_single_hud for hot cases, we assert that no nulls will be passed in via the list

remove_atom_from_hud +

+

remove this atom from this hud completely

remove_atom_from_single_hud +

+

remove every hud image for this hud on atom_to_remove from client_mob's client.images list

remove_single_hud_category_on_atom +

+

removes the image or images in hud_atom.hud_list[hud_category_to_remove] from every mob that can see it but leaves every other image +from that atom there.

show_to +

+

show this hud to the passed in user

+ + + diff --git a/datum/autowiki.html b/datum/autowiki.html new file mode 100644 index 00000000000..d535e5446a5 --- /dev/null +++ b/datum/autowiki.html @@ -0,0 +1,86 @@ + + + + + + + /datum/autowiki - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

autowiki + + + +

+ +

A representation of an automated wiki page.

+ + + + +

Vars

pageThe page on the wiki to be replaced. +This should never be a user-facing page, like "Guide to circuits". +It should always be a template that only Autowiki should touch. +For example: "Template:Autowiki/CircuitInfo".

Procs

escape_valueEscape a parameter such that it can be correctly put inside a wiki output
generateOverride and return the new text of the page. +This proc can be impure, usually to call upload_file.
include_templateGenerates an auto formatted template user. +Your autowiki should ideally be a lot of these. +It lets wiki editors edit it much easier later, without having to enter repo. +Parameters will be passed in by name. That means your template should expect +something that looks like {{ Autowiki_Circuit|name=Combiner|description=This combines }} +Lists, which must be array-like (no keys), will be turned into a flat list with their key and a number, +such that list("food" = list("fruit", "candy")) -> food1=fruit|food2=candy
upload_iconTakes an icon and uploads it to Autowiki-name.png. +Do your best to make sure this is unique, so it doesn't clash with other autowiki icons.
+

Var Details

page + + + + +

+

The page on the wiki to be replaced. +This should never be a user-facing page, like "Guide to circuits". +It should always be a template that only Autowiki should touch. +For example: "Template:Autowiki/CircuitInfo".

Proc Details

escape_value +

+

Escape a parameter such that it can be correctly put inside a wiki output

generate +

+

Override and return the new text of the page. +This proc can be impure, usually to call upload_file.

include_template +

+

Generates an auto formatted template user. +Your autowiki should ideally be a lot of these. +It lets wiki editors edit it much easier later, without having to enter repo. +Parameters will be passed in by name. That means your template should expect +something that looks like {{ Autowiki_Circuit|name=Combiner|description=This combines }} +Lists, which must be array-like (no keys), will be turned into a flat list with their key and a number, +such that list("food" = list("fruit", "candy")) -> food1=fruit|food2=candy

upload_icon +

+

Takes an icon and uploads it to Autowiki-name.png. +Do your best to make sure this is unique, so it doesn't clash with other autowiki icons.

+ + + diff --git a/datum/auxtools_promise.html b/datum/auxtools_promise.html new file mode 100644 index 00000000000..22398144551 --- /dev/null +++ b/datum/auxtools_promise.html @@ -0,0 +1,33 @@ + + + + + + + /datum/auxtools_promise - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

auxtools_promise + + + +

+ +

Auxtools hooks act as "set waitfor = 0" procs. This means that whenever +a proc directly called from auxtools sleeps, the hook returns with whatever +the called proc had as its return value at the moment it slept. This may not +be desired behavior, so this datum exists to wrap these procs.

+

Some procs that don't sleep could take longer than the execution limit would +allow for. We can wrap these in a promise as well.

+ + + diff --git a/datum/avatar_help_text.html b/datum/avatar_help_text.html new file mode 100644 index 00000000000..d3647b225ac --- /dev/null +++ b/datum/avatar_help_text.html @@ -0,0 +1,36 @@ + + + + + + + /datum/avatar_help_text - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

avatar_help_text + + + +

+ + +

Vars

help_textText to display in the window
+

Var Details

help_text + + + + +

+

Text to display in the window

+ + + diff --git a/datum/award.html b/datum/award.html new file mode 100644 index 00000000000..59ee9d80b66 --- /dev/null +++ b/datum/award.html @@ -0,0 +1,85 @@ + + + + + + + /datum/award - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

award + + + +

+ + + + + + + + + +

Vars

database_idWhat ID do we use in db, limited to 32 characters
iconThe icon state for this award. The icon file is found in ui_icons/achievements.
nameName of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Procs

get_changed_rowsThis saves the changed data to the hub.
get_raw_valueGet raw numerical achievement value from the database
get_ui_datareturns additional ui data for the Check Achievements menu
loadThis proc loads the achievement data from the hub.
on_unlockCan be overriden for achievement specific events
+

Var Details

database_id + + + + +

+

What ID do we use in db, limited to 32 characters

icon + + + + +

+

The icon state for this award. The icon file is found in ui_icons/achievements.

name + + + + +

+

Name of the achievement, If null it won't show up in the achievement browser. (Handy for inheritance trees)

Proc Details

get_changed_rows +

+

This saves the changed data to the hub.

get_raw_value +

+

Get raw numerical achievement value from the database

get_ui_data +

+

returns additional ui data for the Check Achievements menu

load +

+

This proc loads the achievement data from the hub.

on_unlock +

+

Can be overriden for achievement specific events

+ + + diff --git a/datum/award/achievement.html b/datum/award/achievement.html new file mode 100644 index 00000000000..a3356e5ff98 --- /dev/null +++ b/datum/award/achievement.html @@ -0,0 +1,36 @@ + + + + + + + /datum/award/achievement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

achievement + + + +

+ +

Achievements are one-off awards for usually doing cool things.

+

Vars

times_achievedHow many players have earned this achievement
+

Var Details

times_achieved + + + + +

+

How many players have earned this achievement

+ + + diff --git a/datum/bank_account.html b/datum/bank_account.html new file mode 100644 index 00000000000..5f2446bae8b --- /dev/null +++ b/datum/bank_account.html @@ -0,0 +1,287 @@ + + + + + + + /datum/bank_account - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bank_account + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

account_balanceHow many credits are currently held in the bank account.
account_debtDebt. If higher than 0, A portion of the credits is earned (or the whole debt, whichever is lower) will go toward paying it off.
account_holderName listed on the account, reflected on the ID card.
account_idThe Unique ID number code associated with the owner's bank account, assigned at round start.
account_jobThe job datum of the account owner.
add_to_accountsShould this ID be added to the global list of accounts? If true, will be subject to station-bound economy effects as well as income.
bank_cardsList of the physical ID card objects that are associated with this bank_account
being_dumpedIs there a CRAB 17 on the station draining funds? Prevents manual fund transfer. pink levels are rising
bitrunning_pointsPoints for bit runner's vendor. Awarded for completing virtual domains.
bountiesIf player is currently picking a civilian bounty to do, these options are held here to prevent soft-resetting through the UI.
bounty_timerCooldown timer on replacing a civilain bounty. Bounties can only be replaced once every 5 minutes.
civilian_bountyReference to the current civilian bounty that the account is working on.
mining_pointsHow many mining points (shaft miner credits) is held in the bank account, used for mining vendors.
pay_tokenA special semi-tandom token for tranfering money from NT pay app
payday_modifierIf there are things effecting how much income a player will get, it's reflected here 1 is standard for humans.
replaceableCan this account be replaced? Set to true for default IDs not recognized by the station.
transaction_historyList with a transaction history for NT pay app

Procs

add_log_to_historyAdd log to transactions history. Deletes the oldest log when the history has more than 20 entries. +Main format: Category: Reason in Reason. Example: Vending: Machinery Using +Arguments:
adjust_moneyAdjusts the balance of a bank_account as well as sanitizes the numerical input. +Arguments:
bank_card_talkThis sends a local chat message to the owner of a bank account, on all ID cards registered to the bank_account. +If not held, sends out a message to all nearby players. +Arguments:
bounty_numReturns the required item count, or required chemical units required to submit a bounty.
bounty_textReturns a string with the civilian bounty's description on it.
bounty_valueProduces the value of the account's civilian bounty reward, if able.
dumpeetSets the bank_account to behave as though a CRAB-17 event is happening.
has_moneyReturns TRUE if a bank account has more than or equal to the amount, amt. +Otherwise returns false. +Arguments:
pay_debtCalled when a portion of a debt is to be paid. It'll return the amount of credits put forwards to extinguish the debt.
paydayThis proc handles passive income gain for players, using their job's paycheck value. +Funds are taken from the parent department account to hand out to players. This can result in payment brown-outs if too many people are in one department. +Arguments:
reset_bountyPerforms house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed.
setup_unique_account_idProc guarantees the account_id possesses a unique number. +If it doesn't, it tries to find a unique alternative. +It then adds it to the SSeconomy.bank_accounts_by_id global list.
transfer_moneyPerforms a transfer of credits to the bank_account datum from another bank account. +Arguments:
+

Var Details

account_balance + + + + +

+

How many credits are currently held in the bank account.

account_debt + + + + +

+

Debt. If higher than 0, A portion of the credits is earned (or the whole debt, whichever is lower) will go toward paying it off.

account_holder + + + + +

+

Name listed on the account, reflected on the ID card.

account_id + + + + +

+

The Unique ID number code associated with the owner's bank account, assigned at round start.

account_job + + + + +

+

The job datum of the account owner.

add_to_accounts + + + + +

+

Should this ID be added to the global list of accounts? If true, will be subject to station-bound economy effects as well as income.

bank_cards + + + + +

+

List of the physical ID card objects that are associated with this bank_account

being_dumped + + + + +

+

Is there a CRAB 17 on the station draining funds? Prevents manual fund transfer. pink levels are rising

bitrunning_points + + + + +

+

Points for bit runner's vendor. Awarded for completing virtual domains.

bounties + + + + +

+

If player is currently picking a civilian bounty to do, these options are held here to prevent soft-resetting through the UI.

bounty_timer + + + + +

+

Cooldown timer on replacing a civilain bounty. Bounties can only be replaced once every 5 minutes.

civilian_bounty + + + + +

+

Reference to the current civilian bounty that the account is working on.

mining_points + + + + +

+

How many mining points (shaft miner credits) is held in the bank account, used for mining vendors.

pay_token + + + + +

+

A special semi-tandom token for tranfering money from NT pay app

payday_modifier + + + + +

+

If there are things effecting how much income a player will get, it's reflected here 1 is standard for humans.

replaceable + + + + +

+

Can this account be replaced? Set to true for default IDs not recognized by the station.

transaction_history + + + + +

+

List with a transaction history for NT pay app

Proc Details

add_log_to_history +

+

Add log to transactions history. Deletes the oldest log when the history has more than 20 entries. +Main format: Category: Reason in Reason. Example: Vending: Machinery Using +Arguments:

+

adjust_money +

+

Adjusts the balance of a bank_account as well as sanitizes the numerical input. +Arguments:

+

bank_card_talk +

+

This sends a local chat message to the owner of a bank account, on all ID cards registered to the bank_account. +If not held, sends out a message to all nearby players. +Arguments:

+

bounty_num +

+

Returns the required item count, or required chemical units required to submit a bounty.

bounty_text +

+

Returns a string with the civilian bounty's description on it.

bounty_value +

+

Produces the value of the account's civilian bounty reward, if able.

dumpeet +

+

Sets the bank_account to behave as though a CRAB-17 event is happening.

has_money +

+

Returns TRUE if a bank account has more than or equal to the amount, amt. +Otherwise returns false. +Arguments:

+

pay_debt +

+

Called when a portion of a debt is to be paid. It'll return the amount of credits put forwards to extinguish the debt.

payday +

+

This proc handles passive income gain for players, using their job's paycheck value. +Funds are taken from the parent department account to hand out to players. This can result in payment brown-outs if too many people are in one department. +Arguments:

+

reset_bounty +

+

Performs house-cleaning on variables when a civilian bounty is replaced, or, when a bounty is claimed.

setup_unique_account_id +

+

Proc guarantees the account_id possesses a unique number. +If it doesn't, it tries to find a unique alternative. +It then adds it to the SSeconomy.bank_accounts_by_id global list.

transfer_money +

+

Performs a transfer of credits to the bank_account datum from another bank account. +Arguments:

+
+ + + diff --git a/datum/barsign.html b/datum/barsign.html new file mode 100644 index 00000000000..3266c633117 --- /dev/null +++ b/datum/barsign.html @@ -0,0 +1,78 @@ + + + + + + + /datum/barsign - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

barsign + + + +

+ + + + + + + + +

Vars

descDescription shown in the sign's examine text.
hiddenHidden from list of selectable options.
icon_stateIcon state associated with this sign
light_maskIf a barsign has a light mask for emission effects
nameUser-visible name of the sign.
neon_colorThe emission color of the neon light
rename_areaRename the area when this sign is selected.
+

Var Details

desc + + + + +

+

Description shown in the sign's examine text.

hidden + + + + +

+

Hidden from list of selectable options.

icon_state + + + + +

+

Icon state associated with this sign

light_mask + + + + +

+

If a barsign has a light mask for emission effects

name + + + + +

+

User-visible name of the sign.

neon_color + + + + +

+

The emission color of the neon light

rename_area + + + + +

+

Rename the area when this sign is selected.

+ + + diff --git a/datum/basketball_controller.html b/datum/basketball_controller.html new file mode 100644 index 00000000000..d616a5fa8a5 --- /dev/null +++ b/datum/basketball_controller.html @@ -0,0 +1,179 @@ + + + + + + + /datum/basketball_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basketball_controller + + + +

+ +

The basketball controller handles the basketball minigame in progress. +It is first created when the first ghost signs up to play.

+ + + + + + + + + + + + + + + + + + +

Vars

away_hoopThe basketball hoop used by away team
away_team_landmarksSpawn points for away team players
away_team_playersList of away team players ckeys
current_mapTemplate picked when the game starts. used for the name and desc reading
game_durationTotal amount of time basketball is played for
home_hoopThe basketball hoop used by home team
home_team_landmarksSpawn points for home team players
home_team_playersList of home team players ckeys
map_deleterMap generation tool that deletes the current map after the game finishes
minigame_playersList of all players ckeys involved in the minigame
referee_landmarkSpawn point for referee (there should only be one spot on minigame map)

Procs

basic_setupCalled when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
check_signupsFilters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.
create_bodiesCalled when the game is setting up, AFTER map is loaded but BEFORE the game start. Creates and places each body and gives the correct player key
end_gameCleans up the game, resetting variables back to the beginning and removing the map with the generator.
prepare_gameTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game
start_gameThe game by this point is now all set up, and so we can put people in their bodies.
try_autostartCalled when someone signs up, and sees if there are enough people in the signup list to begin.
victoryCalled after the game is finished. Sends end game notifications to teams and dusts the losers.
+

Var Details

away_hoop + + + + +

+

The basketball hoop used by away team

away_team_landmarks + + + + +

+

Spawn points for away team players

away_team_players + + + + +

+

List of away team players ckeys

current_map + + + + +

+

Template picked when the game starts. used for the name and desc reading

game_duration + + + + +

+

Total amount of time basketball is played for

home_hoop + + + + +

+

The basketball hoop used by home team

home_team_landmarks + + + + +

+

Spawn points for home team players

home_team_players + + + + +

+

List of home team players ckeys

map_deleter + + + + +

+

Map generation tool that deletes the current map after the game finishes

minigame_players + + + + +

+

List of all players ckeys involved in the minigame

referee_landmark + + + + +

+

Spawn point for referee (there should only be one spot on minigame map)

Proc Details

basic_setup +

+

Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.

+

Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to BASKETBALL_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. +Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. +If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.

check_signups +

+

Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.

create_bodies +

+

Called when the game is setting up, AFTER map is loaded but BEFORE the game start. Creates and places each body and gives the correct player key

end_game +

+

Cleans up the game, resetting variables back to the beginning and removing the map with the generator.

prepare_game +

+

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+

start_game +

+

The game by this point is now all set up, and so we can put people in their bodies.

try_autostart +

+

Called when someone signs up, and sees if there are enough people in the signup list to begin.

+

Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup)

victory +

+

Called after the game is finished. Sends end game notifications to teams and dusts the losers.

+ + + diff --git a/datum/beam.html b/datum/beam.html new file mode 100644 index 00000000000..d31bc6d2f2a --- /dev/null +++ b/datum/beam.html @@ -0,0 +1,178 @@ + + + + + + + /datum/beam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

beam + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

beam_colorThe color of the beam we're drawing.
beam_typethe objects placed in the elements list
elementslist of beam objects. These have their visuals set by the visuals var which is created on starting
emissiveIf we use an emissive appearance
iconicon used by the beam.
icon_stateicon state of the main segments of the beam
max_distanceThe beam will qdel if it's longer than this many tiles.
originwhere the beam goes from
override_origin_pixel_xIf set will be used instead of origin's pixel_x in offset calculations
override_origin_pixel_yIf set will be used instead of origin's pixel_y in offset calculations
override_target_pixel_xIf set will be used instead of targets's pixel_x in offset calculations
override_target_pixel_yIf set will be used instead of targets's pixel_y in offset calculations
targetwhere the beam goes to
visualsThis is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Procs

DrawCreates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.
StartProc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.
redrawingTriggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.
+

Var Details

beam_color + + + + +

+

The color of the beam we're drawing.

beam_type + + + + +

+

the objects placed in the elements list

elements + + + + +

+

list of beam objects. These have their visuals set by the visuals var which is created on starting

emissive + + + + +

+

If we use an emissive appearance

icon + + + + +

+

icon used by the beam.

icon_state + + + + +

+

icon state of the main segments of the beam

max_distance + + + + +

+

The beam will qdel if it's longer than this many tiles.

origin + + + + +

+

where the beam goes from

override_origin_pixel_x + + + + +

+

If set will be used instead of origin's pixel_x in offset calculations

override_origin_pixel_y + + + + +

+

If set will be used instead of origin's pixel_y in offset calculations

override_target_pixel_x + + + + +

+

If set will be used instead of targets's pixel_x in offset calculations

override_target_pixel_y + + + + +

+

If set will be used instead of targets's pixel_y in offset calculations

target + + + + +

+

where the beam goes to

visuals + + + + +

+

This is used as the visual_contents of beams, so you can apply one effect to this and the whole beam will look like that. never gets deleted on redrawing.

Proc Details

Draw +

+

Creates the beam effects and places them in a line from the origin to the target. Sets their rotation to make the beams face the target, too.

Start +

+

Proc called by the atom Beam() proc. Sets up signals, and draws the beam for the first time.

redrawing +

+

Triggered by signals set up when the beam is set up. If it's still sane to create a beam, it removes the old beam, creates a new one. Otherwise it kills the beam.

+

Arguments: +mover: either the origin of the beam or the target of the beam that moved. +oldloc: from where mover moved. +direction: in what direction mover moved from.

+ + + diff --git a/datum/biological_sample.html b/datum/biological_sample.html new file mode 100644 index 00000000000..efbf9f1eac1 --- /dev/null +++ b/datum/biological_sample.html @@ -0,0 +1,78 @@ + + + + + + + /datum/biological_sample - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

biological_sample + + + +

+ +

This datum is a simple holder for the micro_organisms in a sample.

+ + + + + + +

Vars

micro_organismsList of all micro_organisms in the sample. These are instantiated
sample_colorPicked from a specific group of colors, limited to a specific group.
sample_layersPrevents someone from stacking too many layers onto a swabber

Procs

GenerateSampleGenerate a sample from a specific weighted list, and a specific amount of cell line with a chance for a virus
MergeTakes another sample and merges it into use. This can cause one very big sample but we limit it to 3 layers.
handle_growthCall handle_growth on all our microorganisms.
reset_sampleresets the progress of all cell ines
+

Var Details

micro_organisms + + + + +

+

List of all micro_organisms in the sample. These are instantiated

sample_color + + + + +

+

Picked from a specific group of colors, limited to a specific group.

sample_layers + + + + +

+

Prevents someone from stacking too many layers onto a swabber

Proc Details

GenerateSample +

+

Generate a sample from a specific weighted list, and a specific amount of cell line with a chance for a virus

Merge +

+

Takes another sample and merges it into use. This can cause one very big sample but we limit it to 3 layers.

handle_growth +

+

Call handle_growth on all our microorganisms.

reset_sample +

+

resets the progress of all cell ines

+ + + diff --git a/datum/biome.html b/datum/biome.html new file mode 100644 index 00000000000..75327c51fa2 --- /dev/null +++ b/datum/biome.html @@ -0,0 +1,71 @@ + + + + + + + /datum/biome - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

biome + + + +

+ +

This datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.

+ + + + + +

Vars

fauna_densityChance of having a mob from the fauna types list spawn
fauna_typeslist of type paths of mobs that can be spawned when the turf spawns fauna
flora_densityChance of having a structure from the flora types list spawn
flora_typeslist of type paths of objects that can be spawned when the turf spawns flora
turf_typeType of turf this biome creates

Procs

generate_turfThis proc handles the creation of a turf of a specific biome type
+

Var Details

fauna_density + + + + +

+

Chance of having a mob from the fauna types list spawn

fauna_types + + + + +

+

list of type paths of mobs that can be spawned when the turf spawns fauna

flora_density + + + + +

+

Chance of having a structure from the flora types list spawn

flora_types + + + + +

+

list of type paths of objects that can be spawned when the turf spawns flora

turf_type + + + + +

+

Type of turf this biome creates

Proc Details

generate_turf +

+

This proc handles the creation of a turf of a specific biome type

+ + + diff --git a/datum/bitfield.html b/datum/bitfield.html new file mode 100644 index 00000000000..2e61f4572f4 --- /dev/null +++ b/datum/bitfield.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bitfield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bitfield + + + +

+ +

Specifies a bitfield for smarter debugging

+ +

Vars

flagsAn associative list of the readable flag and its true value
variableThe variable name that contains the bitfield
+

Var Details

flags + + + + +

+

An associative list of the readable flag and its true value

variable + + + + +

+

The variable name that contains the bitfield

+ + + diff --git a/datum/blobstrain.html b/datum/blobstrain.html new file mode 100644 index 00000000000..99fb27f0129 --- /dev/null +++ b/datum/blobstrain.html @@ -0,0 +1,204 @@ + + + + + + + /datum/blobstrain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blobstrain + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

analyzerdescdamageShort descriptor of what the strain does damage-wise, generally seen in the reroll menu
analyzerdesceffectShort descriptor of what the strain does in general, generally seen in the reroll menu
base_core_regenThe amount of health regenned on core_process
blobbernaut_messageBlobbernaut attack verb
blobbernaut_reagentatk_bonusMakes blobbernauts inject a bonus amount of reagents, making their attacks more powerful
complementary_colorThe color that stuff like healing effects and the overmind camera gets
core_range_bonusAdds to claim, pulse, and expand range
core_reflector_reinforcement_range_bonusExtra range up to which the core reinforces blobs into reflectors
core_regen_bonusHP regen bonus added by strain
core_strong_reinforcement_range_bonusExtra range up to which the core reinforces blobs
effectdescAny long, blob-tile specific effects
factory_spore_bonusExtra spores produced by factories with this strain
fire_basedFor blob-mobs and extinguishing-based effects
max_mob_health_multiplierMultiplies the max and current health of every mob with this value upon selecting this strain.
max_structure_health_multiplierMultiplies the max and current health of every blob with this value upon selecting this strain.
messageMessage sent to any mob hit by the blob
message_livingGets added onto 'message' if the mob stuck is of type living
node_range_bonusAdds to claim, pulse, and expand range
node_reflector_reinforcement_range_bonusExtra range up to which the node reinforces blobs into reflectors
node_spore_bonusNodes can sustain this any extra spores with this strain
node_strong_reinforcement_range_bonusExtra range up to which the node reinforces blobs
point_rateThe amount of points gained on core_process
point_rate_bonusresource point bonus added by strain
resource_delayStores world.time to figure out when to next give resources
shortdescA short description of the power and its effects
+

Var Details

analyzerdescdamage + + + + +

+

Short descriptor of what the strain does damage-wise, generally seen in the reroll menu

analyzerdesceffect + + + + +

+

Short descriptor of what the strain does in general, generally seen in the reroll menu

base_core_regen + + + + +

+

The amount of health regenned on core_process

blobbernaut_message + + + + +

+

Blobbernaut attack verb

blobbernaut_reagentatk_bonus + + + + +

+

Makes blobbernauts inject a bonus amount of reagents, making their attacks more powerful

complementary_color + + + + +

+

The color that stuff like healing effects and the overmind camera gets

core_range_bonus + + + + +

+

Adds to claim, pulse, and expand range

core_reflector_reinforcement_range_bonus + + + + +

+

Extra range up to which the core reinforces blobs into reflectors

core_regen_bonus + + + + +

+

HP regen bonus added by strain

core_strong_reinforcement_range_bonus + + + + +

+

Extra range up to which the core reinforces blobs

effectdesc + + + + +

+

Any long, blob-tile specific effects

factory_spore_bonus + + + + +

+

Extra spores produced by factories with this strain

fire_based + + + + +

+

For blob-mobs and extinguishing-based effects

max_mob_health_multiplier + + + + +

+

Multiplies the max and current health of every mob with this value upon selecting this strain.

max_structure_health_multiplier + + + + +

+

Multiplies the max and current health of every blob with this value upon selecting this strain.

message + + + + +

+

Message sent to any mob hit by the blob

message_living + + + + +

+

Gets added onto 'message' if the mob stuck is of type living

node_range_bonus + + + + +

+

Adds to claim, pulse, and expand range

node_reflector_reinforcement_range_bonus + + + + +

+

Extra range up to which the node reinforces blobs into reflectors

node_spore_bonus + + + + +

+

Nodes can sustain this any extra spores with this strain

node_strong_reinforcement_range_bonus + + + + +

+

Extra range up to which the node reinforces blobs

point_rate + + + + +

+

The amount of points gained on core_process

point_rate_bonus + + + + +

+

resource point bonus added by strain

resource_delay + + + + +

+

Stores world.time to figure out when to next give resources

shortdesc + + + + +

+

A short description of the power and its effects

+ + + diff --git a/datum/bodypart_overlay.html b/datum/bodypart_overlay.html new file mode 100644 index 00000000000..97cf87c7ba0 --- /dev/null +++ b/datum/bodypart_overlay.html @@ -0,0 +1,130 @@ + + + + + + + /datum/bodypart_overlay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bodypart_overlay + + + +

+ +

Bodypart ovarlay datum. These can be added to any limb to give them a proper overlay, that'll even stay if the limb gets removed +This is the abstract parent, don't use it!!

+ + + + + + + + + + + + + +

Vars

all_layersList of all possible layers. Used for looping through in drawing
cache_keyKey of the icon states of all the sprite_datums for easy caching
layersSometimes we need multiple layers, for like the back, middle and front of the person (EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND)

Procs

added_to_limbCalled on being added to a limb
bitflag_to_layerConverts a bitflag to the right layer. I'd love to make this a static index list, but byond made an attempt on my life when i did
can_draw_on_bodypartCheck whether we can draw the overlays. You generally don't want lizard snouts to draw over an EVA suit
color_imageColor the image
generate_icon_cacheGenerate a unique identifier to cache with. If you change something about the image, but the icon cache stays the same, it'll simply pull the unchanged image out of the cache
get_imageGenerate the image. Needs to be overriden
get_overlayWrapper for getting the proper image, colored and everything
mutant_bodyparts_layertextThis exists so sprite accessories can still be per-layer without having to include that layer's +number in their sprite name, which causes issues when those numbers change.
override_colorColorizes the limb it's inserted to, if required.
removed_from_limbCalled on being removed from a limb
set_appearanceUse this to change the appearance (and yes you must overwrite hahahahahah) (or dont use this, I just dont want people directly changing the image)
+

Var Details

all_layers + + + + +

+

List of all possible layers. Used for looping through in drawing

cache_key + + + + +

+

Key of the icon states of all the sprite_datums for easy caching

layers + + + + +

+

Sometimes we need multiple layers, for like the back, middle and front of the person (EXTERNAL_FRONT, EXTERNAL_ADJACENT, EXTERNAL_BEHIND)

Proc Details

added_to_limb +

+

Called on being added to a limb

bitflag_to_layer +

+

Converts a bitflag to the right layer. I'd love to make this a static index list, but byond made an attempt on my life when i did

can_draw_on_bodypart +

+

Check whether we can draw the overlays. You generally don't want lizard snouts to draw over an EVA suit

color_image +

+

Color the image

generate_icon_cache +

+

Generate a unique identifier to cache with. If you change something about the image, but the icon cache stays the same, it'll simply pull the unchanged image out of the cache

get_image +

+

Generate the image. Needs to be overriden

get_overlay +

+

Wrapper for getting the proper image, colored and everything

mutant_bodyparts_layertext +

+

This exists so sprite accessories can still be per-layer without having to include that layer's +number in their sprite name, which causes issues when those numbers change.

override_color +

+

Colorizes the limb it's inserted to, if required.

removed_from_limb +

+

Called on being removed from a limb

set_appearance +

+

Use this to change the appearance (and yes you must overwrite hahahahahah) (or dont use this, I just dont want people directly changing the image)

+ + + diff --git a/datum/bodypart_overlay/mutant.html b/datum/bodypart_overlay/mutant.html new file mode 100644 index 00000000000..93e5530727a --- /dev/null +++ b/datum/bodypart_overlay/mutant.html @@ -0,0 +1,148 @@ + + + + + + + /datum/bodypart_overlay/mutant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mutant + + + +

+ +

Variant of bodypart_overlay meant to work synchronously with external organs. Gets imprinted upon Insert in on_species_gain

+ + + + + + + + + + + + + + + + +

Vars

color_sourceWhere does this organ inherit it's color from?
draw_colorThe color this organ draws with. Updated by bodypart/inherit_color()
feature_keyDefines what kind of 'organ' we're looking at. Sprites have names like 'm_mothwings_firemoth_ADJ'. 'mothwings' would then be feature_key
imprint_on_next_insertionTake on the dna/preference from whoever we're gonna be inserted in
sprite_datumSprite datum we use to draw on the bodypart

Procs

fetch_sprite_datumSprite accessories are singletons, stored list("Big Snout" = instance of /datum/sprite_accessory/snout/big), so here we get that singleton
fetch_sprite_datum_from_nameGet the singleton from the sprite name
generate_icon_cacheGenerate a unique key based on our sprites. So that if we've aleady drawn these sprites, they can be found in the cache and wont have to be drawn again (blessing and curse, but mostly curse)
get_base_icon_stateReturn the BASE icon state of the sprite datum (so not the gender, layer, feature_key)
get_global_feature_listReturn a dumb glob list for this specific feature (called from parse_sprite)
get_imageGet the image we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm. Limb can be null
get_random_appearanceGrab a random appearance datum (thats not locked)
inherit_colorGive the organ its color. Force will override the existing one.
randomize_appearanceCompletely random image and color generation (obeys what a player can choose from)
randomize_spriteGrab a random sprite
set_appearanceChange our accessory sprite, using the accesssory type. If you need to change the sprite for something, use simple_change_sprite()
set_appearance_from_nameIn a lot of cases, appearances are stored in DNA as the Name, instead of the path. Use set_appearance instead of possible
+

Var Details

color_source + + + + +

+

Where does this organ inherit it's color from?

draw_color + + + + +

+

The color this organ draws with. Updated by bodypart/inherit_color()

feature_key + + + + +

+

Defines what kind of 'organ' we're looking at. Sprites have names like 'm_mothwings_firemoth_ADJ'. 'mothwings' would then be feature_key

imprint_on_next_insertion + + + + +

+

Take on the dna/preference from whoever we're gonna be inserted in

sprite_datum + + + + +

+

Sprite datum we use to draw on the bodypart

Proc Details

fetch_sprite_datum +

+

Sprite accessories are singletons, stored list("Big Snout" = instance of /datum/sprite_accessory/snout/big), so here we get that singleton

fetch_sprite_datum_from_name +

+

Get the singleton from the sprite name

generate_icon_cache +

+

Generate a unique key based on our sprites. So that if we've aleady drawn these sprites, they can be found in the cache and wont have to be drawn again (blessing and curse, but mostly curse)

get_base_icon_state +

+

Return the BASE icon state of the sprite datum (so not the gender, layer, feature_key)

get_global_feature_list +

+

Return a dumb glob list for this specific feature (called from parse_sprite)

get_image +

+

Get the image we need to draw on the person. Called from get_overlay() which is called from _bodyparts.dm. Limb can be null

get_random_appearance +

+

Grab a random appearance datum (thats not locked)

inherit_color +

+

Give the organ its color. Force will override the existing one.

randomize_appearance +

+

Completely random image and color generation (obeys what a player can choose from)

randomize_sprite +

+

Grab a random sprite

set_appearance +

+

Change our accessory sprite, using the accesssory type. If you need to change the sprite for something, use simple_change_sprite()

set_appearance_from_name +

+

In a lot of cases, appearances are stored in DNA as the Name, instead of the path. Use set_appearance instead of possible

+ + + diff --git a/datum/bodypart_overlay/mutant/antennae.html b/datum/bodypart_overlay/mutant/antennae.html new file mode 100644 index 00000000000..d96bf078efa --- /dev/null +++ b/datum/bodypart_overlay/mutant/antennae.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bodypart_overlay/mutant/antennae - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

antennae + + + +

+ +

Moth antennae datum, with full burning functionality

+ +

Vars

burn_datumAccessory datum of the burn sprite
burntAre we burned? If so we draw differently
+

Var Details

burn_datum + + + + +

+

Accessory datum of the burn sprite

burnt + + + + +

+

Are we burned? If so we draw differently

+ + + diff --git a/datum/bodypart_overlay/mutant/pod_hair.html b/datum/bodypart_overlay/mutant/pod_hair.html new file mode 100644 index 00000000000..a50bf6a472b --- /dev/null +++ b/datum/bodypart_overlay/mutant/pod_hair.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bodypart_overlay/mutant/pod_hair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pod_hair + + + +

+ +

Podperson bodypart overlay, with special coloring functionality to render the flowers in the inverse color

+ +

Vars

color_inverse_baseThe individual rgb colors are subtracted from this to get the color shifted layer
color_swapped_layerThis layer will be colored differently than the rest of the organ. So we can get differently colored flowers or something
+

Var Details

color_inverse_base + + + + +

+

The individual rgb colors are subtracted from this to get the color shifted layer

color_swapped_layer + + + + +

+

This layer will be colored differently than the rest of the organ. So we can get differently colored flowers or something

+ + + diff --git a/datum/bodypart_overlay/mutant/spines.html b/datum/bodypart_overlay/mutant/spines.html new file mode 100644 index 00000000000..b6029be2fb7 --- /dev/null +++ b/datum/bodypart_overlay/mutant/spines.html @@ -0,0 +1,36 @@ + + + + + + + /datum/bodypart_overlay/mutant/spines - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spines + + + +

+ +

Bodypart overlay for spines (wagging gets updated by tail)

+

Vars

waggingSpines moth with the tail, so track it
+

Var Details

wagging + + + + +

+

Spines moth with the tail, so track it

+ + + diff --git a/datum/bodypart_overlay/mutant/wings/functional.html b/datum/bodypart_overlay/mutant/wings/functional.html new file mode 100644 index 00000000000..f205f755d3e --- /dev/null +++ b/datum/bodypart_overlay/mutant/wings/functional.html @@ -0,0 +1,57 @@ + + + + + + + /datum/bodypart_overlay/mutant/wings/functional - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

functional + + + +

+ +

Bodypart overlay of function wings, including open and close functionality!

+ + + +

Vars

open_feature_keyFeature render key for opened wings
wings_openAre our wings currently open? Change through open_wings or close_wings()

Procs

close_wingsUpdate our wingsprite to the closed wings variant
open_wingsUpdate our wingsprite to the open wings variant
+

Var Details

open_feature_key + + + + +

+

Feature render key for opened wings

wings_open + + + + +

+

Are our wings currently open? Change through open_wings or close_wings()

Proc Details

close_wings +

+

Update our wingsprite to the closed wings variant

open_wings +

+

Update our wingsprite to the open wings variant

+ + + diff --git a/datum/bodypart_overlay/mutant/wings/moth.html b/datum/bodypart_overlay/mutant/wings/moth.html new file mode 100644 index 00000000000..ba8ef5ed1f8 --- /dev/null +++ b/datum/bodypart_overlay/mutant/wings/moth.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bodypart_overlay/mutant/wings/moth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

moth + + + +

+ +

Moth wing bodypart overlay, including burn functionality!

+ +

Vars

burn_datumAccessory datum of the burn sprite
burntAre we burned? If so we draw differently
+

Var Details

burn_datum + + + + +

+

Accessory datum of the burn sprite

burnt + + + + +

+

Are we burned? If so we draw differently

+ + + diff --git a/datum/bodypart_overlay/simple.html b/datum/bodypart_overlay/simple.html new file mode 100644 index 00000000000..194daa83f91 --- /dev/null +++ b/datum/bodypart_overlay/simple.html @@ -0,0 +1,51 @@ + + + + + + + /datum/bodypart_overlay/simple - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

simple + + + +

+ +

For simple overlays that really dont need to be complicated. Sometimes icon_state and icon is enough +Remember to set the layers or shit wont work

+ + +

Vars

draw_colorColor we apply to our overlay (none by default)
iconIcon of the overlay
icon_stateIcon state of the overlay
+

Var Details

draw_color + + + + +

+

Color we apply to our overlay (none by default)

icon + + + + +

+

Icon of the overlay

icon_state + + + + +

+

Icon state of the overlay

+ + + diff --git a/datum/bodypart_overlay/simple/emote.html b/datum/bodypart_overlay/simple/emote.html new file mode 100644 index 00000000000..233d7528187 --- /dev/null +++ b/datum/bodypart_overlay/simple/emote.html @@ -0,0 +1,64 @@ + + + + + + + /datum/bodypart_overlay/simple/emote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

emote + + + +

+ +

Variant of bodypart_overlay for displaying emote overlays. See /datum/emote/living/blush/run_emote for an example on how to use one of these.

+ + + + +

Vars

attached_body_zoneThe body zone to attach the overlay to, overlay won't be added if no bodypart can be found with this
attached_bodypartThe bodypart that the overlay is currently applied to
feature_offsetDatum giving us details about what offset to apply to the limb
offset_keyThe feature key used to figure out what specific bodily feature we offset this to follow

Procs

DestroyRemoves the overlay from the attached bodypart and updates the necessary sprites
+

Var Details

attached_body_zone + + + + +

+

The body zone to attach the overlay to, overlay won't be added if no bodypart can be found with this

attached_bodypart + + + + +

+

The bodypart that the overlay is currently applied to

feature_offset + + + + +

+

Datum giving us details about what offset to apply to the limb

offset_key + + + + +

+

The feature key used to figure out what specific bodily feature we offset this to follow

Proc Details

Destroy +

+

Removes the overlay from the attached bodypart and updates the necessary sprites

+ + + diff --git a/datum/bodypart_overlay/simple/golem_overlay.html b/datum/bodypart_overlay/simple/golem_overlay.html new file mode 100644 index 00000000000..c6c8b9cd9f9 --- /dev/null +++ b/datum/bodypart_overlay/simple/golem_overlay.html @@ -0,0 +1,36 @@ + + + + + + + /datum/bodypart_overlay/simple/golem_overlay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

golem_overlay + + + +

+ +

Body part overlays applied by golem status effects

+

Vars

attached_bodypartThe bodypart that the overlay is currently applied to
+

Var Details

attached_bodypart + + + + +

+

The bodypart that the overlay is currently applied to

+ + + diff --git a/datum/book_history_entry.html b/datum/book_history_entry.html new file mode 100644 index 00000000000..6550f4b2859 --- /dev/null +++ b/datum/book_history_entry.html @@ -0,0 +1,78 @@ + + + + + + + /datum/book_history_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

book_history_entry + + + +

+ +

This mostly exists to document the form of the library_action table, since it doesn't do that good a job on its own

+ + + + + + +

Vars

actionThe action that occured (BOOK_ADMIN_DELETE, BOOK_ADMIN_RESTORE, and legacy BOOK_ADMIN_REPORT)
bookThe book id this log applies to
ckeyThe admin who performed the action
datetimeThe time of the action being performed
idThe id of this logged action
ip_addrThe ip address of the admin who performed the action
reasonThe reason this action was enacted
+

Var Details

action + + + + +

+

The action that occured (BOOK_ADMIN_DELETE, BOOK_ADMIN_RESTORE, and legacy BOOK_ADMIN_REPORT)

book + + + + +

+

The book id this log applies to

ckey + + + + +

+

The admin who performed the action

datetime + + + + +

+

The time of the action being performed

id + + + + +

+

The id of this logged action

ip_addr + + + + +

+

The ip address of the admin who performed the action

reason + + + + +

+

The reason this action was enacted

+ + + diff --git a/datum/book_info.html b/datum/book_info.html new file mode 100644 index 00000000000..34f4b50d8aa --- /dev/null +++ b/datum/book_info.html @@ -0,0 +1,64 @@ + + + + + + + /datum/book_info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

book_info + + + +

+ +

A datum which contains all the metadata of a book

+ + + + +

Vars

authorThe "author" of the book
contentThe info inside the book
titleThe title of the book

Procs

copy_intoModify an existing book_info datum to match your data
return_copyReturns a copy of the book_info datum
+

Var Details

author + + + + +

+

The "author" of the book

content + + + + +

+

The info inside the book

title + + + + +

+

The title of the book

Proc Details

copy_into +

+

Modify an existing book_info datum to match your data

return_copy +

+

Returns a copy of the book_info datum

+ + + diff --git a/datum/bounty.html b/datum/bounty.html new file mode 100644 index 00000000000..ee4151a4135 --- /dev/null +++ b/datum/bounty.html @@ -0,0 +1,56 @@ + + + + + + + /datum/bounty - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bounty + + + +

+ + + + + +

Procs

applies_toIf an item sent in the cargo shuttle can satisfy the bounty.
can_getIf the user can actually get this bounty as a selection.
claimCalled when the claim button is clicked. Override to provide fancy rewards.
shipCalled when an object is shipped on the cargo shuttle.

Proc Details

applies_to +

+

If an item sent in the cargo shuttle can satisfy the bounty.

can_get +

+

If the user can actually get this bounty as a selection.

claim +

+

Called when the claim button is clicked. Override to provide fancy rewards.

ship +

+

Called when an object is shipped on the cargo shuttle.

+ + + diff --git a/datum/bounty/item.html b/datum/bounty/item.html new file mode 100644 index 00000000000..17e9832a0c1 --- /dev/null +++ b/datum/bounty/item.html @@ -0,0 +1,57 @@ + + + + + + + /datum/bounty/item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

item + + + +

+ + + + + +

Vars

include_subtypesSet to FALSE to make the bounty not accept subtypes of the wanted_types
required_countHow many items have to be shipped to complete the bounty
shipped_countHow many items have been shipped for the bounty so far
wanted_typesTypes accepted|denied by the bounty. (including all subtypes, unless include_subtypes is set to FALSE)
+

Var Details

include_subtypes + + + + +

+

Set to FALSE to make the bounty not accept subtypes of the wanted_types

required_count + + + + +

+

How many items have to be shipped to complete the bounty

shipped_count + + + + +

+

How many items have been shipped for the bounty so far

wanted_types + + + + +

+

Types accepted|denied by the bounty. (including all subtypes, unless include_subtypes is set to FALSE)

+ + + diff --git a/datum/bounty/item/assistant/fish.html b/datum/bounty/item/assistant/fish.html new file mode 100644 index 00000000000..24af6facd0b --- /dev/null +++ b/datum/bounty/item/assistant/fish.html @@ -0,0 +1,36 @@ + + + + + + + /datum/bounty/item/assistant/fish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fish + + + +

+ + +

Vars

shipping_penaltythe penalty for shipping dead/bought fish, which can subtract up to half the reward in total.
+

Var Details

shipping_penalty + + + + +

+

the penalty for shipping dead/bought fish, which can subtract up to half the reward in total.

+ + + diff --git a/datum/bounty/item/assistant/fish/fluid.html b/datum/bounty/item/assistant/fish/fluid.html new file mode 100644 index 00000000000..a7845805bc4 --- /dev/null +++ b/datum/bounty/item/assistant/fish/fluid.html @@ -0,0 +1,36 @@ + + + + + + + /datum/bounty/item/assistant/fish/fluid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fluid + + + +

+ +

A subtype of the fish bounty that requires fish with a specific fluid type

+

Vars

fluid_typeThe required fluid type of the fish for it to be shipped
+

Var Details

fluid_type + + + + +

+

The required fluid type of the fish for it to be shipped

+ + + diff --git a/datum/bounty/item/atmospherics.html b/datum/bounty/item/atmospherics.html new file mode 100644 index 00000000000..1af6a5a3e3d --- /dev/null +++ b/datum/bounty/item/atmospherics.html @@ -0,0 +1,43 @@ + + + + + + + /datum/bounty/item/atmospherics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

atmospherics + + + +

+ +

Used to calculate the extra reward

+ +

Vars

gas_typeTypepath of the gas datum required to fufill the bounty
moles_requiredHow many moles are needed to fufill the bounty?
+

Var Details

gas_type + + + + +

+

Typepath of the gas datum required to fufill the bounty

moles_required + + + + +

+

How many moles are needed to fufill the bounty?

+ + + diff --git a/datum/bounty/item/science/genetics.html b/datum/bounty/item/science/genetics.html new file mode 100644 index 00000000000..eaeb9affe1c --- /dev/null +++ b/datum/bounty/item/science/genetics.html @@ -0,0 +1,36 @@ + + + + + + + /datum/bounty/item/science/genetics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

genetics + + + +

+ + +

Vars

desired_instabilityWhat's the instability
+

Var Details

desired_instability + + + + +

+

What's the instability

+ + + diff --git a/datum/bounty/item/security/paperwork.html b/datum/bounty/item/security/paperwork.html new file mode 100644 index 00000000000..6ba61ac416d --- /dev/null +++ b/datum/bounty/item/security/paperwork.html @@ -0,0 +1,35 @@ + + + + + + + /datum/bounty/item/security/paperwork - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

paperwork + + + +

+ +

Bounties that require you to perform documentation and inspection of your department to send to centcom.

+

Procs

applies_tolist of areas for security to choose from to perform an inspection. Pulls the list and cross references it to the map to make sure the area is on the map before assigning.

Proc Details

applies_to +

+

list of areas for security to choose from to perform an inspection. Pulls the list and cross references it to the map to make sure the area is on the map before assigning.

+ + + diff --git a/datum/bounty/pill.html b/datum/bounty/pill.html new file mode 100644 index 00000000000..54844f84b57 --- /dev/null +++ b/datum/bounty/pill.html @@ -0,0 +1,57 @@ + + + + + + + /datum/bounty/pill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pill + + + +

+ + + + + +

Vars

required_ammountquantity of the pills needed, this value acts as minimum, gets randomized on new()
shipped_ammountcounter for pills sent
wanted_reagentreagent requested
wanted_volminimum volume of chemical needed, gets randomized on new()
+

Var Details

required_ammount + + + + +

+

quantity of the pills needed, this value acts as minimum, gets randomized on new()

shipped_ammount + + + + +

+

counter for pills sent

wanted_reagent + + + + +

+

reagent requested

wanted_vol + + + + +

+

minimum volume of chemical needed, gets randomized on new()

+ + + diff --git a/datum/brain_trauma.html b/datum/brain_trauma.html new file mode 100644 index 00000000000..b51c5232d43 --- /dev/null +++ b/datum/brain_trauma.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

brain_trauma + + + +

+ + +

Vars

abstract_typeTracks abstract types of brain traumas, useful for determining traumas that should not exist
+

Var Details

abstract_type + + + + +

+

Tracks abstract types of brain traumas, useful for determining traumas that should not exist

+ + + diff --git a/datum/brain_trauma/hypnosis.html b/datum/brain_trauma/hypnosis.html new file mode 100644 index 00000000000..70612847655 --- /dev/null +++ b/datum/brain_trauma/hypnosis.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/hypnosis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hypnosis + + + +

+ + +

Vars

antagonistAssociated antag datum, used for displaying objectives and antag hud
+

Var Details

antagonist + + + + +

+

Associated antag datum, used for displaying objectives and antag hud

+ + + diff --git a/datum/brain_trauma/magic/lumiphobia.html b/datum/brain_trauma/magic/lumiphobia.html new file mode 100644 index 00000000000..5a9b6facf8f --- /dev/null +++ b/datum/brain_trauma/magic/lumiphobia.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/magic/lumiphobia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lumiphobia + + + +

+ + +

Vars

damage_warning_cooldownCooldown to prevent warning spam
+

Var Details

damage_warning_cooldown + + + + +

+

Cooldown to prevent warning spam

+ + + diff --git a/datum/brain_trauma/mild/phobia.html b/datum/brain_trauma/mild/phobia.html new file mode 100644 index 00000000000..b62fef68162 --- /dev/null +++ b/datum/brain_trauma/mild/phobia.html @@ -0,0 +1,50 @@ + + + + + + + /datum/brain_trauma/mild/phobia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

phobia + + + +

+ + + + +

Vars

check_cooldownCooldown for proximity checks so we don't spam a range 7 view every two seconds.
scare_cooldownCooldown for freakouts to prevent permastunning.

Procs

is_scary_itemReturns true if this item should be scary to us
+

Var Details

check_cooldown + + + + +

+

Cooldown for proximity checks so we don't spam a range 7 view every two seconds.

scare_cooldown + + + + +

+

Cooldown for freakouts to prevent permastunning.

Proc Details

is_scary_item +

+

Returns true if this item should be scary to us

+ + + diff --git a/datum/brain_trauma/severe/split_personality.html b/datum/brain_trauma/severe/split_personality.html new file mode 100644 index 00000000000..cede20cc4ce --- /dev/null +++ b/datum/brain_trauma/severe/split_personality.html @@ -0,0 +1,50 @@ + + + + + + + /datum/brain_trauma/severe/split_personality - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

split_personality + + + +

+ + + + +

Vars

poll_roleThe role to display when polling ghost

Procs

get_ghostAttempts to get a ghost to play the personality
schismGhost poll has concluded
+

Var Details

poll_role + + + + +

+

The role to display when polling ghost

Proc Details

get_ghost +

+

Attempts to get a ghost to play the personality

schism +

+

Ghost poll has concluded

+ + + diff --git a/datum/brain_trauma/severe/split_personality/blackout.html b/datum/brain_trauma/severe/split_personality/blackout.html new file mode 100644 index 00000000000..af5114a1be5 --- /dev/null +++ b/datum/brain_trauma/severe/split_personality/blackout.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/severe/split_personality/blackout - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blackout + + + +

+ + +

Vars

duration_in_secondsDuration of effect, tracked in seconds, not deciseconds. qdels when reaching 0.
+

Var Details

duration_in_seconds + + + + +

+

Duration of effect, tracked in seconds, not deciseconds. qdels when reaching 0.

+ + + diff --git a/datum/brain_trauma/special/beepsky.html b/datum/brain_trauma/special/beepsky.html new file mode 100644 index 00000000000..00dec0f9487 --- /dev/null +++ b/datum/brain_trauma/special/beepsky.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/beepsky - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

beepsky + + + +

+ + +

Vars

beepskyA ref to our fake beepsky image that we chase the owner with
+

Var Details

beepsky + + + + +

+

A ref to our fake beepsky image that we chase the owner with

+ + + diff --git a/datum/brain_trauma/special/bluespace_prophet.html b/datum/brain_trauma/special/bluespace_prophet.html new file mode 100644 index 00000000000..65b355b0cc7 --- /dev/null +++ b/datum/brain_trauma/special/bluespace_prophet.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/bluespace_prophet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bluespace_prophet + + + +

+ + +

Vars

portal_cooldownCooldown so we can't teleport literally everywhere on a whim
+

Var Details

portal_cooldown + + + + +

+

Cooldown so we can't teleport literally everywhere on a whim

+ + + diff --git a/datum/brain_trauma/special/burdened.html b/datum/brain_trauma/special/burdened.html new file mode 100644 index 00000000000..550a55a76db --- /dev/null +++ b/datum/brain_trauma/special/burdened.html @@ -0,0 +1,121 @@ + + + + + + + /datum/brain_trauma/special/burdened - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

burdened + + + +

+ +

Burdened grants some mutations upon injuring yourself sufficiently

+ + + + + + + + + + + +

Vars

burden_levelgoes from 0 to 9 (but can be beyond 9, just does nothing) and gives rewards. increased by disabling yourself with debuffs

Procs

addict_added_burdenSignal to increase burden_level (see update_burden proc) if an addiction is added
addict_removed_burdenSignal to decrease burden_level (see update_burden proc) if an addiction is removed
limbs_added_burdenSignal to decrease burden_level (see update_burden proc) if a limb is added
limbs_removed_burdenSignal to increase burden_level (see update_burden proc) if a limb is removed
mutation_added_burdenSignal to increase burden_level (see update_burden proc) if a mutation is added
mutation_removed_burdenSignal to decrease burden_level (see update_burden proc) if a mutation is removed
organ_added_burdenonly organs that are slotted in these count. because there's a lot of useless organs to cheese with. +Signal to decrease burden_level (see update_burden proc) if an organ is added
organ_removed_burdenSignal to increase burden_level (see update_burden proc) if an organ is removed
trauma_added_burdenSignal to increase burden_level (see update_burden proc) if a trauma is added
trauma_removed_burdenSignal to decrease burden_level (see update_burden proc) if a trauma is removed
update_burdenCalled by hooked signals whenever burden_level var needs to go up or down by 1. +Sends messages on burden level, gives powers and takes them if needed, etc
+

Var Details

burden_level + + + + +

+

goes from 0 to 9 (but can be beyond 9, just does nothing) and gives rewards. increased by disabling yourself with debuffs

Proc Details

addict_added_burden +

+

Signal to increase burden_level (see update_burden proc) if an addiction is added

addict_removed_burden +

+

Signal to decrease burden_level (see update_burden proc) if an addiction is removed

limbs_added_burden +

+

Signal to decrease burden_level (see update_burden proc) if a limb is added

limbs_removed_burden +

+

Signal to increase burden_level (see update_burden proc) if a limb is removed

mutation_added_burden +

+

Signal to increase burden_level (see update_burden proc) if a mutation is added

mutation_removed_burden +

+

Signal to decrease burden_level (see update_burden proc) if a mutation is removed

organ_added_burden +

+

only organs that are slotted in these count. because there's a lot of useless organs to cheese with. +Signal to decrease burden_level (see update_burden proc) if an organ is added

organ_removed_burden +

+

Signal to increase burden_level (see update_burden proc) if an organ is removed

trauma_added_burden +

+

Signal to increase burden_level (see update_burden proc) if a trauma is added

trauma_removed_burden +

+

Signal to decrease burden_level (see update_burden proc) if a trauma is removed

update_burden +

+

Called by hooked signals whenever burden_level var needs to go up or down by 1. +Sends messages on burden level, gives powers and takes them if needed, etc

+

Arguments:

+
+ + + diff --git a/datum/brain_trauma/special/existential_crisis.html b/datum/brain_trauma/special/existential_crisis.html new file mode 100644 index 00000000000..fef9359d185 --- /dev/null +++ b/datum/brain_trauma/special/existential_crisis.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/existential_crisis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

existential_crisis + + + +

+ + +

Vars

crisis_cooldownA cooldown to prevent constantly erratic dolphining through the fabric of reality
+

Var Details

crisis_cooldown + + + + +

+

A cooldown to prevent constantly erratic dolphining through the fabric of reality

+ + + diff --git a/datum/brain_trauma/special/honorbound.html b/datum/brain_trauma/special/honorbound.html new file mode 100644 index 00000000000..2b09e5f6079 --- /dev/null +++ b/datum/brain_trauma/special/honorbound.html @@ -0,0 +1,95 @@ + + + + + + + /datum/brain_trauma/special/honorbound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

honorbound + + + +

+ +

Honorbound prevents you from attacking the unready, the just, or the innocent

+ + + + + + +

Vars

guiltylist of guilty people

Procs

attack_honorSignal to see if the trauma allows us to attack a target
check_visible_guiltChecks a mob for any obvious signs of evil, and applies a guilty reason for each.
guiltyCalled by hooked signals whenever someone attacks the person with this trauma +Checks if the attacker should be considered guilty and adds them to the guilty list if true
is_honorableCalled by attack_honor signal to check whether an attack should be allowed or not
on_attackedSignal sent by the relay_attackers element. It makes the attacker guilty unless the damage was stamina or it was a shove.
punishmentCalled when a spell is casted or a magic gun is fired, checks the signal and punishes accordingly
+

Var Details

guilty + + + + +

+

list of guilty people

Proc Details

attack_honor +

+

Signal to see if the trauma allows us to attack a target

check_visible_guilt +

+

Checks a mob for any obvious signs of evil, and applies a guilty reason for each.

guilty +

+

Called by hooked signals whenever someone attacks the person with this trauma +Checks if the attacker should be considered guilty and adds them to the guilty list if true

+

Arguments:

+

is_honorable +

+

Called by attack_honor signal to check whether an attack should be allowed or not

+

Arguments:

+

on_attacked +

+

Signal sent by the relay_attackers element. It makes the attacker guilty unless the damage was stamina or it was a shove.

punishment +

+

Called when a spell is casted or a magic gun is fired, checks the signal and punishes accordingly

+

Arguments:

+
+ + + diff --git a/datum/brain_trauma/special/imaginary_friend.html b/datum/brain_trauma/special/imaginary_friend.html new file mode 100644 index 00000000000..d75d4efd7a6 --- /dev/null +++ b/datum/brain_trauma/special/imaginary_friend.html @@ -0,0 +1,42 @@ + + + + + + + /datum/brain_trauma/special/imaginary_friend - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

imaginary_friend + + + +

+ + + +

Procs

add_friendYay more friends!
get_ghostTries an orbit poll for the imaginary friend

Proc Details

add_friend +

+

Yay more friends!

get_ghost +

+

Tries an orbit poll for the imaginary friend

+ + + diff --git a/datum/brain_trauma/special/obsessed.html b/datum/brain_trauma/special/obsessed.html new file mode 100644 index 00000000000..8722cfe94dd --- /dev/null +++ b/datum/brain_trauma/special/obsessed.html @@ -0,0 +1,35 @@ + + + + + + + /datum/brain_trauma/special/obsessed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

obsessed + + + +

+ + +

Procs

on_hugSingal proc for COMSIG_CARBON_HELPED, when our obsessed helps (hugs) our obsession, increases hug count

Proc Details

on_hug +

+

Singal proc for COMSIG_CARBON_HELPED, when our obsessed helps (hugs) our obsession, increases hug count

+ + + diff --git a/datum/brain_trauma/special/quantum_alignment.html b/datum/brain_trauma/special/quantum_alignment.html new file mode 100644 index 00000000000..e9361e36c6d --- /dev/null +++ b/datum/brain_trauma/special/quantum_alignment.html @@ -0,0 +1,36 @@ + + + + + + + /datum/brain_trauma/special/quantum_alignment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

quantum_alignment + + + +

+ + +

Vars

snapback_cooldownCooldown for snapbacks
+

Var Details

snapback_cooldown + + + + +

+

Cooldown for snapbacks

+ + + diff --git a/datum/buildmode.html b/datum/buildmode.html new file mode 100644 index 00000000000..fe6e145a238 --- /dev/null +++ b/datum/buildmode.html @@ -0,0 +1,36 @@ + + + + + + + /datum/buildmode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

buildmode + + + +

+ + +

Vars

previewitem preview for selected item
+

Var Details

preview + + + + +

+

item preview for selected item

+ + + diff --git a/datum/buildmode_mode/proccall.html b/datum/buildmode_mode/proccall.html new file mode 100644 index 00000000000..4d7b4c04380 --- /dev/null +++ b/datum/buildmode_mode/proccall.html @@ -0,0 +1,43 @@ + + + + + + + /datum/buildmode_mode/proccall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

proccall + + + +

+ + + +

Vars

proc_argsThe list of arguments for the procedure. They may not be. They are selected in the same way in the game, and can be a datum, and other types.
proc_nameThe procedure itself, which we will call in the future. For example "qdel"
+

Var Details

proc_args + + + + +

+

The list of arguments for the procedure. They may not be. They are selected in the same way in the game, and can be a datum, and other types.

proc_name + + + + +

+

The procedure itself, which we will call in the future. For example "qdel"

+ + + diff --git a/datum/buildmode_mode/tweakcomps.html b/datum/buildmode_mode/tweakcomps.html new file mode 100644 index 00000000000..9013f8bf82a --- /dev/null +++ b/datum/buildmode_mode/tweakcomps.html @@ -0,0 +1,36 @@ + + + + + + + /datum/buildmode_mode/tweakcomps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tweakcomps + + + +

+ + +

Vars

ratingThis variable is responsible for the rating of the components themselves. Literally tiers of components, where 1 is standard, 4 is bluespace.
+

Var Details

rating + + + + +

+

This variable is responsible for the rating of the components themselves. Literally tiers of components, where 1 is standard, 4 is bluespace.

+ + + diff --git a/datum/callback.html b/datum/callback.html new file mode 100644 index 00000000000..de23be1dc30 --- /dev/null +++ b/datum/callback.html @@ -0,0 +1,127 @@ + + + + + + + /datum/callback - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Callback Datums + + + +

+ +

A datum that holds a proc to be called on another object, used to track proccalls to other objects

+USAGE +
var/datum/callback/C = new(object|null, PROC_REF(procname), arg1, arg2, ... argn)
+var/timerid = addtimer(C, time, timertype)
+you can also use the compiler define shorthand
+var/timerid = addtimer(CALLBACK(object|null, PROC_REF(procname), arg1, arg2, ... argn), time, timertype)
+
+

Note: proc strings can only be given for datum proc calls, global procs must be proc paths

+

Also proc strings are strongly advised against because they don't compile error if the proc stops existing

+

In some cases you can provide a shortform of the procname, see the proc typepath shortcuts documentation below

+INVOKING THE CALLBACK +

var/result = C.Invoke(args, to, add) additional args are added after the ones given when the callback was created

+

var/result = C.InvokeAsync(args, to, add) Asyncronous - returns . on the first sleep then continues on in the background +after the sleep/block ends, otherwise operates normally.

+PROC TYPEPATH SHORTCUTS +

(these operate on paths, not types, so to these shortcuts, datum is NOT a parent of atom, etc...)

+proc defined on current(src) object OR overridden at src or any of it's parents: +

PROC_REF(procname)

+

CALLBACK(src, PROC_REF(some_proc_here))

+global proc +

GLOBAL_PROC_REF(procname)

+

CALLBACK(src, GLOBAL_PROC_REF(some_proc_here))

+proc defined on some type +

TYPE_PROC_REF(/some/type/, some_proc_here)

+ + + + + + + +

Vars

argumentsA list of arguments to pass into the proc
delegateThe proc we will be calling on the object
objectThe object we will be calling the proc on
userA weak reference to the user who triggered this callback

Procs

DestroyQdel a callback datum +This is not allowed and will stack trace. callback datums are structs, if they are referenced they exist
InvokeInvoke this callback
InvokeAsyncInvoke this callback async (waitfor=false)
NewCreate a new callback datum
+

Var Details

arguments + + + + +

+

A list of arguments to pass into the proc

delegate + + + + +

+

The proc we will be calling on the object

object + + + + +

+

The object we will be calling the proc on

user + + + + +

+

A weak reference to the user who triggered this callback

Proc Details

Destroy +

+

Qdel a callback datum +This is not allowed and will stack trace. callback datums are structs, if they are referenced they exist

+

Arguments

+

Invoke +

+

Invoke this callback

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

InvokeAsync +

+

Invoke this callback async (waitfor=false)

+

Calls the registered proc on the registered object, if the user ref +can be resolved it also inclues that as an arg

+

If the datum being called on is varedited, the call is wrapped via WrapAdminProcCall

New +

+

Create a new callback datum

+

Arguments

+
+ + + diff --git a/datum/callback/verb_callback.html b/datum/callback/verb_callback.html new file mode 100644 index 00000000000..3c92a5a7ff1 --- /dev/null +++ b/datum/callback/verb_callback.html @@ -0,0 +1,37 @@ + + + + + + + /datum/callback/verb_callback - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

verb_callback + + + +

+ +

like normal callbacks but they also record their creation time for measurement purposes +they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute

+

Vars

creation_timethe tick this callback datum was created in. used for testing latency
+

Var Details

creation_time + + + + +

+

the tick this callback datum was created in. used for testing latency

+ + + diff --git a/datum/camerachunk.html b/datum/camerachunk.html new file mode 100644 index 00000000000..f6fc6badc8f --- /dev/null +++ b/datum/camerachunk.html @@ -0,0 +1,131 @@ + + + + + + + /datum/camerachunk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

camerachunk + + + +

+ + + + + + + + + + + + + +

Vars

active_static_imagesimages currently in use on obscured turfs.
camerascameras that can see into our grid +indexed by the z level of the camera
obscuredTurfsturfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)
seenbycamera mobs that can see turfs in our grid
turfslist of all turfs, associative with that turf's static image +turf -> /image
visibleTurfsturfs our cameras can see inside our grid

Procs

Newnew turfs that we couldnt see last update but can now +turfs that we could see last update but cant see now +Create a new camera chunk, since the chunks are made as they are needed.
addAdd an AI eye to the chunk, then update if changed.
hasChangedUpdates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +instead be flagged to update the next time an AI Eye moves near it. +update_delay_buffer is used for cameras that are moving around, which are cyborg inbuilt cameras and +mecha onboard cameras. This buffer should be usually lower than UPDATE_BUFFER_TIME because +otherwise a moving camera can run out of its own view before updating static.
removeRemove an AI eye from the chunk
updateThe actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists. +Accepts an optional partial_update argument, that blocks any calls out to chunks that could affect us, like above or below
visibilityChangedCalled when a chunk has changed. I.E: A wall was deleted.
+

Var Details

active_static_images + + + + +

+

images currently in use on obscured turfs.

cameras + + + + +

+

cameras that can see into our grid +indexed by the z level of the camera

obscuredTurfs + + + + +

+

turfs our cameras cant see but are inside our grid. associative list of the form: list(obscured turf = static image on that turf)

seenby + + + + +

+

camera mobs that can see turfs in our grid

turfs + + + + +

+

list of all turfs, associative with that turf's static image +turf -> /image

visibleTurfs + + + + +

+

turfs our cameras can see inside our grid

Proc Details

New +

+

new turfs that we couldnt see last update but can now +turfs that we could see last update but cant see now +Create a new camera chunk, since the chunks are made as they are needed.

add +

+

Add an AI eye to the chunk, then update if changed.

hasChanged +

+

Updates the chunk, makes sure that it doesn't update too much. If the chunk isn't being watched it will +instead be flagged to update the next time an AI Eye moves near it. +update_delay_buffer is used for cameras that are moving around, which are cyborg inbuilt cameras and +mecha onboard cameras. This buffer should be usually lower than UPDATE_BUFFER_TIME because +otherwise a moving camera can run out of its own view before updating static.

remove +

+

Remove an AI eye from the chunk

update +

+

The actual updating. It gathers the visible turfs from cameras and puts them into the appropiate lists. +Accepts an optional partial_update argument, that blocks any calls out to chunks that could affect us, like above or below

visibilityChanged +

+

Called when a chunk has changed. I.E: A wall was deleted.

+ + + diff --git a/datum/cameranet.html b/datum/cameranet.html new file mode 100644 index 00000000000..4e8389827bd --- /dev/null +++ b/datum/cameranet.html @@ -0,0 +1,140 @@ + + + + + + + /datum/cameranet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cameranet + + + +

+ + + + + + + + + + + + + + +

Vars

camerasThe cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del().
chunksThe chunks of the map, mapping the areas that the cameras can see.
nameName to show for VV and stat()
obscured_imagesList of images cloned by all chunk static images put onto turfs cameras cant see +Indexed by the plane offset to use

Procs

addCameraAdd a camera to a chunk.
bareMajorChunkChangeA faster, turf only version of /datum/cameranet/proc/majorChunkChange +For use in sensitive code, be careful with it
checkCameraVisWill check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0.
chunkGeneratedChecks if a chunk has been Generated in x, y, z.
majorChunkChangeNever access this proc directly!!!! +This will update the chunk and all the surrounding chunks. +It will also add the atom to the cameras list if you set the choice to 1. +Setting the choice to 0 will remove the camera from the chunks. +If you want to update the chunks around an object, without adding/removing a camera, use choice 2. +update_delay_buffer is passed all the way to hasChanged() from portable camera updates on movement +to change the time between static updates.
removeCameraRemoves a camera from a chunk.
updatePortableCameraUsed for Cyborg/mecha cameras. Since portable cameras can be in ANY chunk. +update_delay_buffer is passed all the way to hasChanged() from their camera updates on movement +to change the time between static updates.
updateVisibilityUpdates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open.
visibilityUpdates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set.
+

Var Details

cameras + + + + +

+

The cameras on the map, no matter if they work or not. Updated in obj/machinery/camera.dm by New() and Del().

chunks + + + + +

+

The chunks of the map, mapping the areas that the cameras can see.

name + + + + +

+

Name to show for VV and stat()

obscured_images + + + + +

+

List of images cloned by all chunk static images put onto turfs cameras cant see +Indexed by the plane offset to use

Proc Details

addCamera +

+

Add a camera to a chunk.

bareMajorChunkChange +

+

A faster, turf only version of /datum/cameranet/proc/majorChunkChange +For use in sensitive code, be careful with it

checkCameraVis +

+

Will check if a mob is on a viewable turf. Returns 1 if it is, otherwise returns 0.

chunkGenerated +

+

Checks if a chunk has been Generated in x, y, z.

majorChunkChange +

+

Never access this proc directly!!!! +This will update the chunk and all the surrounding chunks. +It will also add the atom to the cameras list if you set the choice to 1. +Setting the choice to 0 will remove the camera from the chunks. +If you want to update the chunks around an object, without adding/removing a camera, use choice 2. +update_delay_buffer is passed all the way to hasChanged() from portable camera updates on movement +to change the time between static updates.

removeCamera +

+

Removes a camera from a chunk.

updatePortableCamera +

+

Used for Cyborg/mecha cameras. Since portable cameras can be in ANY chunk. +update_delay_buffer is passed all the way to hasChanged() from their camera updates on movement +to change the time between static updates.

updateVisibility +

+

Updates the chunks that the turf is located in. Use this when obstacles are destroyed or when doors open.

visibility +

+

Updates what the aiEye can see. It is recommended you use this when the aiEye moves or it's location is set.

+ + + diff --git a/datum/can_pass_info.html b/datum/can_pass_info.html new file mode 100644 index 00000000000..90f99eb84e4 --- /dev/null +++ b/datum/can_pass_info.html @@ -0,0 +1,174 @@ + + + + + + + /datum/can_pass_info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

can_pass_info + + + +

+ +

These are generally cheaper than looping contents so they go first +Holds all information about what an atom can move through +Passed into CanAStarPass to provide context for a pathing attempt

+

Also used to check if using a cached path_map is safe +There are some vars here that are unused. They exist to cover cases where caller_ref is used +They're the properties of caller_ref used in those cases. +It's kinda annoying, but there's some proc chains we can't convert to this datum

+ + + + + + + + + + + + + + + + + + +

Vars

accessWhat access we have, airlocks, windoors, etc
anchoredAre we anchored
buckled_infoIf our mob is buckled to something, what's it like
caller_refWeakref to the caller used to generate this info +Should not use this almost ever, it's for context and to allow for proc chains that +Require a movable
camera_typeCameras have a lot of BS can_z_move overrides +Let's avoid this
can_ventcrawlCan we ventcrawl?
has_gravityDo we have gravity
incapacitatedIs our mob incapacitated
incorporeal_moveIs our mob incorporeal
is_botAre we a bot?
is_livingAre we a living mob?
is_observerAre we a ghost? (they have effectively unique pathfinding)
mob_sizeWhat is the size of our mob
movement_typeWhat sort of movement do we have. Mirrors /atom/movable/movement_type
no_idIf we have no id, public airlocks are walls
pass_flagsWhat we can pass through. Mirrors /atom/movable/pass_flags
pulling_infoPass information for the object we are pulling, if any
rider_infoIf our mob has a rider, what does it look like
thrownAre we being thrown?
+

Var Details

access + + + + +

+

What access we have, airlocks, windoors, etc

anchored + + + + +

+

Are we anchored

buckled_info + + + + +

+

If our mob is buckled to something, what's it like

caller_ref + + + + +

+

Weakref to the caller used to generate this info +Should not use this almost ever, it's for context and to allow for proc chains that +Require a movable

camera_type + + + + +

+

Cameras have a lot of BS can_z_move overrides +Let's avoid this

can_ventcrawl + + + + +

+

Can we ventcrawl?

has_gravity + + + + +

+

Do we have gravity

incapacitated + + + + +

+

Is our mob incapacitated

incorporeal_move + + + + +

+

Is our mob incorporeal

is_bot + + + + +

+

Are we a bot?

is_living + + + + +

+

Are we a living mob?

is_observer + + + + +

+

Are we a ghost? (they have effectively unique pathfinding)

mob_size + + + + +

+

What is the size of our mob

movement_type + + + + +

+

What sort of movement do we have. Mirrors /atom/movable/movement_type

no_id + + + + +

+

If we have no id, public airlocks are walls

pass_flags + + + + +

+

What we can pass through. Mirrors /atom/movable/pass_flags

pulling_info + + + + +

+

Pass information for the object we are pulling, if any

rider_info + + + + +

+

If our mob has a rider, what does it look like

thrown + + + + +

+

Are we being thrown?

+ + + diff --git a/datum/card.html b/datum/card.html new file mode 100644 index 00000000000..67c68e8399e --- /dev/null +++ b/datum/card.html @@ -0,0 +1,138 @@ + + + + + + + /datum/card - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

card + + + +

+ + + + + + + + + + + + + + + + +

Vars

cardsubtypeAn extra descriptor for the card. Combined with the cardtype for a larger card descriptor, i.e. Creature- Xenomorph, Spell- Instant, that sort of thing. For creatures, this has no effect, for spells, this is important.
cardtypeUsed to define the behaviour the card uses during the game.
factionSomeone please come up with a ruleset so I can comment this
idUnique ID, for use in lookups and (eventually) for persistence. MAKE SURE THIS IS UNIQUE FOR EACH CARD IN AS SERIES, OR THE ENTIRE SYSTEM WILL BREAK, AND I WILL BE VERY DISAPPOINTED.
powerHow hard this card hits (by default)
rarityThe rarity of this card, determines how much (or little) it shows up in packs. Rarities are common, uncommon, rare, epic, legendary and misprint.
resolveHow hard this card can get hit (by default)
rulesThis handles any extra rules for the card, i.e. extra attributes, special effects, etc. If you've played any other card game, you know how this works.
seriesDefines the series that the card originates from, this is very important for spawning the cards via packs.
summon_icon_fileIcon file that summons are pulled from
summon_icon_stateIcon state for summons to use
summoncostWhat it costs to summon this card to the battlefield.

Procs

applyFor each var that the card datum and the json entry share, we set the datum var to the json entry
applyKeywordsSearches for keywords in the card's variables, marked by wrapping them in {$} +Adds on hovor logic to them, using the passed in list +We use the changed_vars list just to make the var searching faster
applyTemplatesApplies a json file to a card datum
+

Var Details

cardsubtype + + + + +

+

An extra descriptor for the card. Combined with the cardtype for a larger card descriptor, i.e. Creature- Xenomorph, Spell- Instant, that sort of thing. For creatures, this has no effect, for spells, this is important.

cardtype + + + + +

+

Used to define the behaviour the card uses during the game.

faction + + + + +

+

Someone please come up with a ruleset so I can comment this

id + + + + +

+

Unique ID, for use in lookups and (eventually) for persistence. MAKE SURE THIS IS UNIQUE FOR EACH CARD IN AS SERIES, OR THE ENTIRE SYSTEM WILL BREAK, AND I WILL BE VERY DISAPPOINTED.

power + + + + +

+

How hard this card hits (by default)

rarity + + + + +

+

The rarity of this card, determines how much (or little) it shows up in packs. Rarities are common, uncommon, rare, epic, legendary and misprint.

resolve + + + + +

+

How hard this card can get hit (by default)

rules + + + + +

+

This handles any extra rules for the card, i.e. extra attributes, special effects, etc. If you've played any other card game, you know how this works.

series + + + + +

+

Defines the series that the card originates from, this is very important for spawning the cards via packs.

summon_icon_file + + + + +

+

Icon file that summons are pulled from

summon_icon_state + + + + +

+

Icon state for summons to use

summoncost + + + + +

+

What it costs to summon this card to the battlefield.

Proc Details

apply +

+

For each var that the card datum and the json entry share, we set the datum var to the json entry

applyKeywords +

+

Searches for keywords in the card's variables, marked by wrapping them in {$} +Adds on hovor logic to them, using the passed in list +We use the changed_vars list just to make the var searching faster

applyTemplates +

+

Applies a json file to a card datum

+ + + diff --git a/datum/cardboard_cutout.html b/datum/cardboard_cutout.html new file mode 100644 index 00000000000..50a8593a8fd --- /dev/null +++ b/datum/cardboard_cutout.html @@ -0,0 +1,120 @@ + + + + + + + /datum/cardboard_cutout - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cardboard_cutout + + + +

+ + + + + + + + + + + + + + +

Vars

applied_appearanceThe appearance we apply to the cardboard cutout.
applied_descThe desc we give to the cardboard cutout.
applied_nameThe base name we actually give to to the cardboard cutout. Can be overridden in get_name().
direct_iconIf we're not using dynamic generation (for non-humans), we can set a direct icon to give.
direct_icon_stateSame as direct_icon, but icon_state!
l_handIf we're using dynamic generation, the left hand item the generated mob will have.
mob_spawnerIf we're using dynamic generation, the mob spawner the generated mob will base visuals from.
nameName of the cutout, used for radial selection and the global list.
outfitIf we're using dynamic generation, the outfit the generated mob will have.
r_handIf we're using dynamic generation, the right hand item the generated mob will have.
speciesIf we're using dynamic generation, the species of the generated mob.

Procs

applyThis proc sets the cardboard cutout item's vars.
get_nameThis proc returns the name that the cardboard cutout item will use.
+

Var Details

applied_appearance + + + + +

+

The appearance we apply to the cardboard cutout.

applied_desc + + + + +

+

The desc we give to the cardboard cutout.

applied_name + + + + +

+

The base name we actually give to to the cardboard cutout. Can be overridden in get_name().

direct_icon + + + + +

+

If we're not using dynamic generation (for non-humans), we can set a direct icon to give.

direct_icon_state + + + + +

+

Same as direct_icon, but icon_state!

l_hand + + + + +

+

If we're using dynamic generation, the left hand item the generated mob will have.

mob_spawner + + + + +

+

If we're using dynamic generation, the mob spawner the generated mob will base visuals from.

name + + + + +

+

Name of the cutout, used for radial selection and the global list.

outfit + + + + +

+

If we're using dynamic generation, the outfit the generated mob will have.

r_hand + + + + +

+

If we're using dynamic generation, the right hand item the generated mob will have.

species + + + + +

+

If we're using dynamic generation, the species of the generated mob.

Proc Details

apply +

+

This proc sets the cardboard cutout item's vars.

get_name +

+

This proc returns the name that the cardboard cutout item will use.

+ + + diff --git a/datum/cell_tracker.html b/datum/cell_tracker.html new file mode 100644 index 00000000000..50dc14a4ee8 --- /dev/null +++ b/datum/cell_tracker.html @@ -0,0 +1,99 @@ + + + + + + + /datum/cell_tracker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cell_tracker + + + +

+ +

Spatial gridmap, cell tracking

+

This datum exists to make the large, repeated "everything in some range" pattern faster +Rather then just refreshing against everything, we track all the cells in range of the passed in "window" +This lets us do entered/left logic, and make ordinarially quite expensive logic much cheaper

+

Note: This system should not be used for things who have strict requirements about what is NOT in their processed entries +It should instead only be used for logic that only really cares about limiting how much gets "entered" in any one call +Because we apply this limitation, we can do things to make our code much less prone to unneeded work

+ + + + + + + +

Vars

inner_window_x_radiusThe height (y radius) of our inner window
inner_window_y_radiusThe width (x radius) of our inner window
outer_window_x_radiusThe height (y radius) of our outer window
outer_window_y_radiusThe width (x radius) of our outer window

Procs

NewAccepts a width and height to use for this tracker +Also accepts the ratio to use between inner and outer window. Optional, defaults to 2
recalculate_cellsPull out all the new and old memebers we want +Recalculates our member list, returns a list in the form list(new members, old members) for reaction +Accepts the turf to use as our "center"
recalculate_type_membersReturns a list of newly and formerly joined spatial grid managed objects of type [type] in the form list(new, old) +Takes the center of our window as input
set_boundsTakes a width and height, and uses them to set the inner window, and interpolate the outer window
+

Var Details

inner_window_x_radius + + + + +

+

The height (y radius) of our inner window

inner_window_y_radius + + + + +

+

The width (x radius) of our inner window

outer_window_x_radius + + + + +

+

The height (y radius) of our outer window

outer_window_y_radius + + + + +

+

The width (x radius) of our outer window

Proc Details

New +

+

Accepts a width and height to use for this tracker +Also accepts the ratio to use between inner and outer window. Optional, defaults to 2

recalculate_cells +

+

Pull out all the new and old memebers we want +Recalculates our member list, returns a list in the form list(new members, old members) for reaction +Accepts the turf to use as our "center"

recalculate_type_members +

+

Returns a list of newly and formerly joined spatial grid managed objects of type [type] in the form list(new, old) +Takes the center of our window as input

set_bounds +

+

Takes a width and height, and uses them to set the inner window, and interpolate the outer window

+ + + diff --git a/datum/cellular_emporium.html b/datum/cellular_emporium.html new file mode 100644 index 00000000000..f7d842ed3bd --- /dev/null +++ b/datum/cellular_emporium.html @@ -0,0 +1,43 @@ + + + + + + + /datum/cellular_emporium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cellular_emporium + + + +

+ + + +

Vars

changelingThe changeling who owns this emporium
nameThe name of the emporium - why does it need a name? Dunno
+

Var Details

changeling + + + + +

+

The changeling who owns this emporium

name + + + + +

+

The name of the emporium - why does it need a name? Dunno

+ + + diff --git a/datum/centcom_announcer.html b/datum/centcom_announcer.html new file mode 100644 index 00000000000..610b5c4a8e4 --- /dev/null +++ b/datum/centcom_announcer.html @@ -0,0 +1,64 @@ + + + + + + + /datum/centcom_announcer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

centcom_announcer + + + +

+ +

Data holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern

+ + + + +

Vars

alert_soundsSounds made when announcement is receivedc
command_report_soundsSounds made when command report is received
custom_alert_messageOverride this to have a custom message to show instead of the normal priority announcement
event_soundsEvent audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area
welcome_soundsRoundshift start audio
+

Var Details

alert_sounds + + + + +

+

Sounds made when announcement is receivedc

command_report_sounds + + + + +

+

Sounds made when command report is received

custom_alert_message + + + + +

+

Override this to have a custom message to show instead of the normal priority announcement

event_sounds + + + + +

+

Event audio, can be used for specific event announcements and is assoc key - sound. If no sound is found the default is used.area

welcome_sounds + + + + +

+

Roundshift start audio

+ + + diff --git a/datum/centcom_podlauncher.html b/datum/centcom_podlauncher.html new file mode 100644 index 00000000000..11edf202a40 --- /dev/null +++ b/datum/centcom_podlauncher.html @@ -0,0 +1,67 @@ + + + + + + + /datum/centcom_podlauncher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

centcom_podlauncher + + + +

+ + + + + +

Vars

ignored_atomsStatic typecache of atoms we won't lift up, or pod or whatever.
indicatorAn effect used for showing where a reverse pod will land
selectorAn effect used for keeping track of what item is going to be launched next when in "ordered" mode (launchChoice = 1)

Procs

ui_closeUTILITIES +LAUNCH STYLE CHANGES +POD EFFECTS +TIMER DELAYS +ADMIN SOUNDS +STYLE CHANGES
+

Var Details

ignored_atoms + + + + +

+

Static typecache of atoms we won't lift up, or pod or whatever.

indicator + + + + +

+

An effect used for showing where a reverse pod will land

selector + + + + +

+

An effect used for keeping track of what item is going to be launched next when in "ordered" mode (launchChoice = 1)

Proc Details

ui_close +

+

UTILITIES +LAUNCH STYLE CHANGES +POD EFFECTS +TIMER DELAYS +ADMIN SOUNDS +STYLE CHANGES

+ + + diff --git a/datum/changeling_profile.html b/datum/changeling_profile.html new file mode 100644 index 00000000000..c117147367e --- /dev/null +++ b/datum/changeling_profile.html @@ -0,0 +1,218 @@ + + + + + + + /datum/changeling_profile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

changeling_profile + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ageThe age of the profile source.
appearance_listAssoc list of item slot to apperance - stores the appearance of every item of this profile.
dnaThe DNA datum associated with our profile from the profile source
exists_listAssoc list of item slot to boolean - stores whether an item in that slot exists
flags_cover_listAssoc list of item slot to flag - stores the flags_cover of every item of this profile.
grad_colorThe hair and facial hair gradient colours of the profile source.
grad_styleThe hair and facial hair gradient styles of the profile source.
id_iconID HUD icon associated with the profile
inhand_icon_state_listAssoc list of item slot to file - stores the inhand file of the item in that slot
lefthand_file_listAssoc list of item slot to file - stores the lefthand file of the item in that slot
nameThe name of the profile / the name of whoever this profile source.
name_listAssoc list of item slot to item name - stores the name of every item of this profile.
physiqueThe body type of the profile source.
profile_snapshotIcon snapshot of the profile
protectedWhether this profile is protected - if TRUE, it cannot be removed from a changeling's profiles without force
quirksThe quirks of the profile source.
righthand_file_listAssoc list of item slot to file - stores the righthand file of the item in that slot
skillchipsA list of paths for any skill chips the profile source had installed
socksThe socks worn by the profile source
stored_scarsWhat scars the profile sorce had, in string form (like persistent scars)
undershirtThe undershirt worn by the profile source
underwearThe underwear worn by the profile source
underwear_colorThe colour of the underwear worn by the profile source
voiceThe TTS voice of the profile source
voice_filterThe TTS filter of the profile filter
worn_icon_listAssoc list of item slot to file - stores the worn icon file of the item in that slot
worn_icon_state_listAssoc list of item slot to string - stores the worn icon state of the item in that slot
+

Var Details

age + + + + +

+

The age of the profile source.

appearance_list + + + + +

+

Assoc list of item slot to apperance - stores the appearance of every item of this profile.

dna + + + + +

+

The DNA datum associated with our profile from the profile source

exists_list + + + + +

+

Assoc list of item slot to boolean - stores whether an item in that slot exists

flags_cover_list + + + + +

+

Assoc list of item slot to flag - stores the flags_cover of every item of this profile.

grad_color + + + + +

+

The hair and facial hair gradient colours of the profile source.

grad_style + + + + +

+

The hair and facial hair gradient styles of the profile source.

id_icon + + + + +

+

ID HUD icon associated with the profile

inhand_icon_state_list + + + + +

+

Assoc list of item slot to file - stores the inhand file of the item in that slot

lefthand_file_list + + + + +

+

Assoc list of item slot to file - stores the lefthand file of the item in that slot

name + + + + +

+

The name of the profile / the name of whoever this profile source.

name_list + + + + +

+

Assoc list of item slot to item name - stores the name of every item of this profile.

physique + + + + +

+

The body type of the profile source.

profile_snapshot + + + + +

+

Icon snapshot of the profile

protected + + + + +

+

Whether this profile is protected - if TRUE, it cannot be removed from a changeling's profiles without force

quirks + + + + +

+

The quirks of the profile source.

righthand_file_list + + + + +

+

Assoc list of item slot to file - stores the righthand file of the item in that slot

skillchips + + + + +

+

A list of paths for any skill chips the profile source had installed

socks + + + + +

+

The socks worn by the profile source

stored_scars + + + + +

+

What scars the profile sorce had, in string form (like persistent scars)

undershirt + + + + +

+

The undershirt worn by the profile source

underwear + + + + +

+

The underwear worn by the profile source

underwear_color + + + + +

+

The colour of the underwear worn by the profile source

voice + + + + +

+

The TTS voice of the profile source

voice_filter + + + + +

+

The TTS filter of the profile filter

worn_icon_list + + + + +

+

Assoc list of item slot to file - stores the worn icon file of the item in that slot

worn_icon_state_list + + + + +

+

Assoc list of item slot to string - stores the worn icon state of the item in that slot

+ + + diff --git a/datum/chasm_detritus.html b/datum/chasm_detritus.html new file mode 100644 index 00000000000..c8b9eaf2262 --- /dev/null +++ b/datum/chasm_detritus.html @@ -0,0 +1,66 @@ + + + + + + + /datum/chasm_detritus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chasm_detritus + + + +

+ +

A datum that retrieves something which fell into a chasm.

+ + + + +

Vars

default_contentsStuff which you can always fish up even if nothing fell into a hole. Associative by type.
default_contents_chanceThe chance (out of 100) to fish out something from default_contents +even if there's something in GLOB.chasm_storage.
default_contents_keyKey to the list we want to use from default_contents.

Procs

determine_detritusReturns the chosen detritus from the given list of things to choose from
find_chasm_contentsReturns an object which is currently inside of a nearby chasm.
+

Var Details

default_contents + + + + +

+

Stuff which you can always fish up even if nothing fell into a hole. Associative by type.

default_contents_chance + + + + +

+

The chance (out of 100) to fish out something from default_contents +even if there's something in GLOB.chasm_storage.

default_contents_key + + + + +

+

Key to the list we want to use from default_contents.

Proc Details

determine_detritus +

+

Returns the chosen detritus from the given list of things to choose from

find_chasm_contents +

+

Returns an object which is currently inside of a nearby chasm.

+ + + diff --git a/datum/chasm_detritus/restricted.html b/datum/chasm_detritus/restricted.html new file mode 100644 index 00000000000..6103d269e41 --- /dev/null +++ b/datum/chasm_detritus/restricted.html @@ -0,0 +1,39 @@ + + + + + + + /datum/chasm_detritus/restricted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

restricted + + + +

+ +

Variant of the chasm detritus that allows for an easier time at fishing out +bodies, and sometimes less desireable monsters too.

+

Vars

chasm_storage_restricted_typeWhat type do we check for in the contents of the /obj/effect/abstract/chasm_storage +contained in the GLOB.chasm_storage global list in find_chasm_contents().
+

Var Details

chasm_storage_restricted_type + + + + +

+

What type do we check for in the contents of the /obj/effect/abstract/chasm_storage +contained in the GLOB.chasm_storage global list in find_chasm_contents().

+ + + diff --git a/datum/chasm_detritus/restricted/bodies.html b/datum/chasm_detritus/restricted/bodies.html new file mode 100644 index 00000000000..559d22110ec --- /dev/null +++ b/datum/chasm_detritus/restricted/bodies.html @@ -0,0 +1,46 @@ + + + + + + + /datum/chasm_detritus/restricted/bodies - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bodies + + + +

+ + + +

Procs

determine_detritusBody detritus is selected in favor of bodies belonging to sentient mobs +The first sentient body found in the list of contents is returned, otherwise +if none are sentient choose randomly.
get_chasm_contentsThis also includes all mobs fallen into chasms, regardless of distance

Proc Details

determine_detritus +

+

Body detritus is selected in favor of bodies belonging to sentient mobs +The first sentient body found in the list of contents is returned, otherwise +if none are sentient choose randomly.

get_chasm_contents +

+

This also includes all mobs fallen into chasms, regardless of distance

+ + + diff --git a/datum/chat_payload.html b/datum/chat_payload.html new file mode 100644 index 00000000000..8f7c6142cd5 --- /dev/null +++ b/datum/chat_payload.html @@ -0,0 +1,64 @@ + + + + + + + /datum/chat_payload - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chat_payload + + + +

+ +

Stores information about a chat payload

+ + + + +

Vars

contentMessage we are sending
resendsResend count
sequenceSequence number of this payload

Procs

get_content_as_htmlReturns an HTML-encoded message from our contents.
into_messageConverts the chat payload into a JSON string
+

Var Details

content + + + + +

+

Message we are sending

resends + + + + +

+

Resend count

sequence + + + + +

+

Sequence number of this payload

Proc Details

get_content_as_html +

+

Returns an HTML-encoded message from our contents.

into_message +

+

Converts the chat payload into a JSON string

+ + + diff --git a/datum/chatmessage.html b/datum/chatmessage.html new file mode 100644 index 00000000000..5d9ce519bcd --- /dev/null +++ b/datum/chatmessage.html @@ -0,0 +1,170 @@ + + + + + + + /datum/chatmessage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Chat Message Overlay + + + +

+ +

Datum for generating a message overlay on the map

+ + + + + + + + + + + + + + + +

Vars

animate_lifespanOur animation lifespan, how long this message will last
animate_startWhen we started animating the message
approx_linesContains the approximate amount of lines for height decay
current_z_idxThe current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones
eol_completeContains the time that the EOL for the message will be complete, used for qdel scheduling
messageThe visual element of the chat message
message_locThe location in which the message is appearing
nextContains the reference to the next chatmessage in the bucket, used by runechat subsystem
owned_byThe client who heard this message
prevContains the reference to the previous chatmessage in the bucket, used by runechat subsystem
scheduled_destructionContains the scheduled destruction time, used for scheduling EOL

Procs

NewConstructs a chat message overlay
colorize_stringGets a color for a name, will return the same color for a given string consistently within a round.atom
finish_image_generationCached icons to show what language the user is speaking +finishes the image generation after the MeasureText() call in generate_image(). +necessary because after that call the proc can resume at the end of the tick and cause overtime.
generate_imageGenerates a chat message image representation
on_parent_qdelCalls qdel on the chatmessage when its parent is deleted, used to register qdel signal
+

Var Details

animate_lifespan + + + + +

+

Our animation lifespan, how long this message will last

animate_start + + + + +

+

When we started animating the message

approx_lines + + + + +

+

Contains the approximate amount of lines for height decay

current_z_idx + + + + +

+

The current index used for adjusting the layer of each sequential chat message such that recent messages will overlay older ones

eol_complete + + + + +

+

Contains the time that the EOL for the message will be complete, used for qdel scheduling

message + + + + +

+

The visual element of the chat message

message_loc + + + + +

+

The location in which the message is appearing

next + + + + +

+

Contains the reference to the next chatmessage in the bucket, used by runechat subsystem

owned_by + + + + +

+

The client who heard this message

prev + + + + +

+

Contains the reference to the previous chatmessage in the bucket, used by runechat subsystem

scheduled_destruction + + + + +

+

Contains the scheduled destruction time, used for scheduling EOL

Proc Details

New +

+

Constructs a chat message overlay

+

Arguments:

+

colorize_string +

+

Gets a color for a name, will return the same color for a given string consistently within a round.atom

+

Note that this proc aims to produce pastel-ish colors using the HSL colorspace. These seem to be favorable for displaying on the map.

+

Arguments:

+

finish_image_generation +

+

Cached icons to show what language the user is speaking +finishes the image generation after the MeasureText() call in generate_image(). +necessary because after that call the proc can resume at the end of the tick and cause overtime.

generate_image +

+

Generates a chat message image representation

+

Arguments:

+

on_parent_qdel +

+

Calls qdel on the chatmessage when its parent is deleted, used to register qdel signal

+ + + diff --git a/datum/chemical_reaction.html b/datum/chemical_reaction.html new file mode 100644 index 00000000000..5f3056c606c --- /dev/null +++ b/datum/chemical_reaction.html @@ -0,0 +1,408 @@ + + + + + + + /datum/chemical_reaction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chemical_reaction + + + +

+ +

#Chemical Reaction

+

Datum that makes the magic between reagents happen.

+

Chemical reactions is a class that is instantiated and stored in a global list 'chemical_reactions_list'

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

H_ion_releasepH change per 1u reaction
determin_ph_rangeHow far out pH wil react, giving impurity place (Exponential phase)
is_cold_recipeSet to TRUE if you want the recipe to only react when it's BELOW the required temp.
mix_messageThe message shown to nearby people upon mixing, if applicable
mix_soundThe sound played upon mixing, if applicable
mob_reactDetermines if a chemical reaction can occur inside a mob
optimal_ph_maxHigest value for above
optimal_ph_minLowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)
optimal_tempUpper end for above (i.e. the end of the curve section defined by temp_exponent_factor)
overheat_tempTemperature at which reaction explodes - If any reaction is this hot, it explodes!
ph_exponent_factorHow sharp the pH exponential curve is (to the power of value)
purity_minIf purity is below 0.15, it calls OverlyImpure() too. Set to 0 to disable this.
rate_up_limOptimal/max rate possible if all conditions are perfect
reaction_flagsbitflags for clear conversions; REACTION_CLEAR_IMPURE, REACTION_CLEAR_INVERSE, REACTION_CLEAR_RETAIN, REACTION_INSTANT
reaction_tagsTagging vars +A bitflag var for tagging reagents for the reagent loopup functon
required_catalystsRequired chemicals that must be present in the container but are not USED.
required_containerIf required_container_accepts_subtypes is FALSE, the exact type of what container this reaction can take place in. Otherwise, what type including subtypes are acceptable.
required_container_accepts_subtypesIf required_container will check for the exact type, or will also accept subtypes
required_otherSet this to true to call pre_reaction_other_checks() on react and do some more interesting reaction logic
required_reagentsRequired chemicals that are USED in the reaction
required_tempFermiChem! - See fermi_readme.md +Required temperature for the reaction to begin, for fermimechanics it defines the lower area of bell curve for determining heat based rate reactions, aka the minimum
resultsResults of the chemical reactions
temp_exponent_factorHow sharp the temperature exponential curve is (to the power of value)
thermic_constantHow much the temperature changes per unit of chem used. without REACTION_HEAT_ARBITARY flag the rate of change depends on the holder heat capacity else results are more accurate

Procs

chemical_mob_spawnMagical mob spawning when chemicals react
clear_productsClears the beaker of the product only
clear_reactantsClears the beaker of the reagents only +if volume is not set, it will remove all of the reactant
clear_reagentsClears the beaker of ALL reagents inside
default_explodeGeneric explosions/failures
explode_fireBEGIN FIRE BASED EXPLOSIONS
freeze_radiusEND FIRE BASED EXPLOSIONS
on_reactionShit that happens on reaction +Only procs at the START of a reaction +use reaction_step() for each step of a reaction +or reaction_end() when the reaction stops +If reaction_flags & REACTION_INSTANT then this is the only proc that is called.
overheatedOccurs when a reation is overheated (i.e. past it's overheatTemp) +Will be called every tick in the reaction that it is overheated +If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE +The above is useful if you're writing an explosion +By default the parent proc will reduce the final yield slightly. If you don't want that don't add ..()
overly_impureOccurs when a reation is too impure (i.e. it's below purity_min) +Will be called every tick in the reaction that it is too impure +If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE +The above is useful if you're writing an explosion +By default the parent proc will reduce the purity of all reagents involved in the reaction in the beaker slightly. If you don't want that don't add ..()
pre_reaction_other_checksREACTION PROCS +Checks if this reaction can occur. Only is ran if required_other is set to TRUE.
reaction_clear_checkREACTION_CLEAR handler +If the reaction has the REACTION_CLEAR flag, then it will split using purity methods in the beaker instead
reaction_finishStuff that occurs at the end of a reaction. This will proc if the beaker is forced to stop and start again (say for sudden temperature changes). +Only procs at the END of reaction +If reaction_flags & REACTION_INSTANT then this isn't called +if reaction_flags REACTION_CLEAR_IMPURE then the impurity chem is handled here, producing the result in the beaker instead of in a mob +Likewise for REACTION_CLEAR_INVERSE the inverse chem is produced at the end of the reaction in the beaker +You should be calling ..() if you're writing a child function of this proc otherwise purity methods won't work correctly
reaction_stepStuff that occurs in the middle of a reaction +Only procs DURING a reaction +If reaction_flags & REACTION_INSTANT then this isn't called +returning END_REACTION will END the reaction
update_infoUpdates information during the roundstart
+

Var Details

H_ion_release + + + + +

+

pH change per 1u reaction

determin_ph_range + + + + +

+

How far out pH wil react, giving impurity place (Exponential phase)

is_cold_recipe + + + + +

+

Set to TRUE if you want the recipe to only react when it's BELOW the required temp.

mix_message + + + + +

+

The message shown to nearby people upon mixing, if applicable

mix_sound + + + + +

+

The sound played upon mixing, if applicable

mob_react + + + + +

+

Determines if a chemical reaction can occur inside a mob

optimal_ph_max + + + + +

+

Higest value for above

optimal_ph_min + + + + +

+

Lowest value of pH determining pH a 1 value for pH based rate reactions (Plateu phase)

optimal_temp + + + + +

+

Upper end for above (i.e. the end of the curve section defined by temp_exponent_factor)

overheat_temp + + + + +

+

Temperature at which reaction explodes - If any reaction is this hot, it explodes!

ph_exponent_factor + + + + +

+

How sharp the pH exponential curve is (to the power of value)

purity_min + + + + +

+

If purity is below 0.15, it calls OverlyImpure() too. Set to 0 to disable this.

rate_up_lim + + + + +

+

Optimal/max rate possible if all conditions are perfect

reaction_flags + + + + +

+

bitflags for clear conversions; REACTION_CLEAR_IMPURE, REACTION_CLEAR_INVERSE, REACTION_CLEAR_RETAIN, REACTION_INSTANT

reaction_tags + + + + +

+

Tagging vars +A bitflag var for tagging reagents for the reagent loopup functon

required_catalysts + + + + +

+

Required chemicals that must be present in the container but are not USED.

required_container + + + + +

+

If required_container_accepts_subtypes is FALSE, the exact type of what container this reaction can take place in. Otherwise, what type including subtypes are acceptable.

required_container_accepts_subtypes + + + + +

+

If required_container will check for the exact type, or will also accept subtypes

required_other + + + + +

+

Set this to true to call pre_reaction_other_checks() on react and do some more interesting reaction logic

required_reagents + + + + +

+

Required chemicals that are USED in the reaction

required_temp + + + + +

+

FermiChem! - See fermi_readme.md +Required temperature for the reaction to begin, for fermimechanics it defines the lower area of bell curve for determining heat based rate reactions, aka the minimum

results + + + + +

+

Results of the chemical reactions

temp_exponent_factor + + + + +

+

How sharp the temperature exponential curve is (to the power of value)

thermic_constant + + + + +

+

How much the temperature changes per unit of chem used. without REACTION_HEAT_ARBITARY flag the rate of change depends on the holder heat capacity else results are more accurate

Proc Details

chemical_mob_spawn +

+

Magical mob spawning when chemicals react

+

Your go to proc when you want to create new mobs from chemicals. please dont use on_reaction. +Arguments:

+

clear_products +

+

Clears the beaker of the product only

clear_reactants +

+

Clears the beaker of the reagents only +if volume is not set, it will remove all of the reactant

clear_reagents +

+

Clears the beaker of ALL reagents inside

default_explode +

+

Generic explosions/failures

explode_fire +

+

BEGIN FIRE BASED EXPLOSIONS

freeze_radius +

+

END FIRE BASED EXPLOSIONS

on_reaction +

+

Shit that happens on reaction +Only procs at the START of a reaction +use reaction_step() for each step of a reaction +or reaction_end() when the reaction stops +If reaction_flags & REACTION_INSTANT then this is the only proc that is called.

+

Proc where the additional magic happens. +You dont want to handle mob spawning in this since there is a dedicated proc for that.client +Arguments:

+

overheated +

+

Occurs when a reation is overheated (i.e. past it's overheatTemp) +Will be called every tick in the reaction that it is overheated +If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE +The above is useful if you're writing an explosion +By default the parent proc will reduce the final yield slightly. If you don't want that don't add ..()

+

Arguments:

+

overly_impure +

+

Occurs when a reation is too impure (i.e. it's below purity_min) +Will be called every tick in the reaction that it is too impure +If you want this to be a once only proc (i.e. the reaction is stopped after) set reaction.toDelete = TRUE +The above is useful if you're writing an explosion +By default the parent proc will reduce the purity of all reagents involved in the reaction in the beaker slightly. If you don't want that don't add ..()

+

Arguments:

+

pre_reaction_other_checks +

+

REACTION PROCS +Checks if this reaction can occur. Only is ran if required_other is set to TRUE.

reaction_clear_check +

+

REACTION_CLEAR handler +If the reaction has the REACTION_CLEAR flag, then it will split using purity methods in the beaker instead

+

Arguments:

+

reaction_finish +

+

Stuff that occurs at the end of a reaction. This will proc if the beaker is forced to stop and start again (say for sudden temperature changes). +Only procs at the END of reaction +If reaction_flags & REACTION_INSTANT then this isn't called +if reaction_flags REACTION_CLEAR_IMPURE then the impurity chem is handled here, producing the result in the beaker instead of in a mob +Likewise for REACTION_CLEAR_INVERSE the inverse chem is produced at the end of the reaction in the beaker +You should be calling ..() if you're writing a child function of this proc otherwise purity methods won't work correctly

+

Proc where the additional magic happens. +You dont want to handle mob spawning in this since there is a dedicated proc for that.client +Arguments:

+

reaction_step +

+

Stuff that occurs in the middle of a reaction +Only procs DURING a reaction +If reaction_flags & REACTION_INSTANT then this isn't called +returning END_REACTION will END the reaction

+

Arguments:

+ +

Outputs:

+

update_info +

+

Updates information during the roundstart

+

This proc is mainly used by explosives but can be used anywhere else +You should generally use the special reactions in /datum/chemical_reaction/randomized +But for simple variable edits, like changing the temperature or adding/subtracting required reagents it is better to use this.

+ + + diff --git a/datum/chemical_reaction/food.html b/datum/chemical_reaction/food.html new file mode 100644 index 00000000000..2395eb018e9 --- /dev/null +++ b/datum/chemical_reaction/food.html @@ -0,0 +1,43 @@ + + + + + + + /datum/chemical_reaction/food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

food + + + +

+ +

FOOD MIXTURES

+ +

Vars

resulting_food_pathTypepath of food that is created on reaction
resulting_reagent_purityReagent purity of the result, calculated on reaction
+

Var Details

resulting_food_path + + + + +

+

Typepath of food that is created on reaction

resulting_reagent_purity + + + + +

+

Reagent purity of the result, calculated on reaction

+ + + diff --git a/datum/chemical_reaction/food/soup.html b/datum/chemical_reaction/food/soup.html new file mode 100644 index 00000000000..5f8e873ea74 --- /dev/null +++ b/datum/chemical_reaction/food/soup.html @@ -0,0 +1,117 @@ + + + + + + + /datum/chemical_reaction/food/soup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

soup + + + +

+ +Soup base chemical reaction. +

Somewhat important note! Keep in mind one serving of soup is roughly 20-25 units. Adjust your results according.

+

Try to aim to have each reaction worth 3 servings of soup (60u - 90u). +By default soup reactions require 50 units of water, +and they will also inherent the reagents of the ingredients used, +so you might end up with more nutrient than you expect.

+ + + + + + + +

Vars

ingredient_reagent_multiplierMultiplier applied to all reagents transferred from reagents to pot when the soup is cooked
percentage_of_nutriment_convertedWhat percent of nutriment is converted to "soup" (what percent does not stay final product)? +Raise this if your ingredients have a lot of nutriment and is overpowering your other reagents +Lower this if your ingredients have a small amount of nutriment and isn't filling enough per serving +(EX: A tomato with 10 nutriment will lose 2.5 nutriment before being added to the pot)
required_ingredientsAn assoc list of what ingredients are necessary to how much is needed
total_ingredient_maxTracks the total number of ingredient items needed, for calculating multipliers. Only done once in first on_reaction

Procs

clean_upCleans up the ingredients and adds whatever leftover reagents to the mixture
describe_recipe_detailsAdds text to the requirements list of the recipe +Return a list of strings, each string will be a new line in the requirements list
describe_resultAdds text to the results list of the recipe +Return a list of strings, each string will be a new line in the results list
transfer_ingredient_reagentsTransfers reagents from the passed reagent to the soup pot, as a "result" +Also handles deleting a portion of nutriment reagents present, pseudo-converting +it into soup reagent. Returns TRUE if any reagents were transfered FALSE if there is +nothing to transfer
+

Var Details

ingredient_reagent_multiplier + + + + +

+

Multiplier applied to all reagents transferred from reagents to pot when the soup is cooked

percentage_of_nutriment_converted + + + + +

+

What percent of nutriment is converted to "soup" (what percent does not stay final product)? +Raise this if your ingredients have a lot of nutriment and is overpowering your other reagents +Lower this if your ingredients have a small amount of nutriment and isn't filling enough per serving +(EX: A tomato with 10 nutriment will lose 2.5 nutriment before being added to the pot)

required_ingredients + + + + +

+

An assoc list of what ingredients are necessary to how much is needed

total_ingredient_max + + + + +

+

Tracks the total number of ingredient items needed, for calculating multipliers. Only done once in first on_reaction

Proc Details

clean_up +

+

Cleans up the ingredients and adds whatever leftover reagents to the mixture

+

describe_recipe_details +

+

Adds text to the requirements list of the recipe +Return a list of strings, each string will be a new line in the requirements list

describe_result +

+

Adds text to the results list of the recipe +Return a list of strings, each string will be a new line in the results list

transfer_ingredient_reagents +

+

Transfers reagents from the passed reagent to the soup pot, as a "result" +Also handles deleting a portion of nutriment reagents present, pseudo-converting +it into soup reagent. Returns TRUE if any reagents were transfered FALSE if there is +nothing to transfer

+

Arguments

+
+ + + diff --git a/datum/chemical_reaction/food/soup/custom.html b/datum/chemical_reaction/food/soup/custom.html new file mode 100644 index 00000000000..a4bdfceea69 --- /dev/null +++ b/datum/chemical_reaction/food/soup/custom.html @@ -0,0 +1,38 @@ + + + + + + + /datum/chemical_reaction/food/soup/custom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

custom + + + +

+ +

So this one's kind of a "failed" result, but also a "custom" result +Getting to this temperature and having no other soup reaction made means you're either messing something up +or you simply aren't following a recipe. So it'll just combine

+

Vars

num_ingredients_neededCustom recipes will not start mixing until at least this many solid ingredients are present
+

Var Details

num_ingredients_needed + + + + +

+

Custom recipes will not start mixing until at least this many solid ingredients are present

+ + + diff --git a/datum/chemical_reaction/food/soup/mysterysoup.html b/datum/chemical_reaction/food/soup/mysterysoup.html new file mode 100644 index 00000000000..b9ea261324e --- /dev/null +++ b/datum/chemical_reaction/food/soup/mysterysoup.html @@ -0,0 +1,43 @@ + + + + + + + /datum/chemical_reaction/food/soup/mysterysoup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mysterysoup + + + +

+ + + +

Vars

extra_reagent_typesA list of reagent types we can randomly gain in the soup on creation
num_bonusNumber of units of bonus reagent added
+

Var Details

extra_reagent_types + + + + +

+

A list of reagent types we can randomly gain in the soup on creation

num_bonus + + + + +

+

Number of units of bonus reagent added

+ + + diff --git a/datum/chemical_reaction/medicine/inacusiate.html b/datum/chemical_reaction/medicine/inacusiate.html new file mode 100644 index 00000000000..cd8ee5c8783 --- /dev/null +++ b/datum/chemical_reaction/medicine/inacusiate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/chemical_reaction/medicine/inacusiate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

inacusiate + + + +

+ + +

Procs

overheatedCalls it over and over

Proc Details

overheated +

+

Calls it over and over

+ + + diff --git a/datum/chemical_reaction/randomized.html b/datum/chemical_reaction/randomized.html new file mode 100644 index 00000000000..ea264de2da5 --- /dev/null +++ b/datum/chemical_reaction/randomized.html @@ -0,0 +1,78 @@ + + + + + + + /datum/chemical_reaction/randomized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

randomized + + + +

+ + + + + + + + +

Vars

exo_or_endothermicIf the reaction can be exothermic or endothermic randomly too
inoptimal_range_phHow much the range can deviate, and also affects impure range
max_phHighest pH value possible
min_phLowest pH value possible
randomize_impurity_minimumIf the impurity failure threshold is randomized between 0 - 0.4
randomize_impurity_reagentsIf the impure/inverse/failure reagents are randomized
randomize_req_phIf pH is randomised
+

Var Details

exo_or_endothermic + + + + +

+

If the reaction can be exothermic or endothermic randomly too

inoptimal_range_ph + + + + +

+

How much the range can deviate, and also affects impure range

max_ph + + + + +

+

Highest pH value possible

min_ph + + + + +

+

Lowest pH value possible

randomize_impurity_minimum + + + + +

+

If the impurity failure threshold is randomized between 0 - 0.4

randomize_impurity_reagents + + + + +

+

If the impure/inverse/failure reagents are randomized

randomize_req_ph + + + + +

+

If pH is randomised

+ + + diff --git a/datum/cinematic.html b/datum/cinematic.html new file mode 100644 index 00000000000..b8313b87db3 --- /dev/null +++ b/datum/cinematic.html @@ -0,0 +1,157 @@ + + + + + + + /datum/cinematic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cinematic + + + +

+ +

Cinematic datum. Used to show an animation to everyone.

+ + + + + + + + + + + + + + + + + +

Vars

cleanup_timeHow long for the final screen remains shown
is_globalWhether the cinematic is a global cinematic or not
lockedA list of all mobs who have TRAIT_NO_TRANSFORM set while watching the cinematic
screenRefernce to the cinematic screen shown to everyohne
special_callbackCallbacks passed that occur during the animation
stop_oocWhether the cinematic turns off ooc when played globally.
watchingA list of all clients watching the cinematic

Procs

clean_up_cinematicCleans up the cinematic after a set timer of it sticking on the end screen.
handle_replacement_cinematicsWhenever another cinematic starts to play over us, we have the chacne to block it.
invoke_special_callbackInvoke any special callbacks for actual effects synchronized with animation. +(Such as a real nuke explosion happening midway)
lock_mobLocks a mob, preventing them from moving, being hurt, or acting
play_cinematicThe actual cinematic occurs here.
play_cinematic_soundSimple helper for playing sounds from the cinematic.
remove_watcherRemoves the passed client from our watching list.
show_toWhenever a mob watching the cinematic logs in, show them the ongoing cinematic
start_cinematicActually goes through the process of showing the cinematic to the list of watchers.
stop_cinematicStops the cinematic and removes it from all the viewers.
unlock_mobUnlocks a previously locked weakref
+

Var Details

cleanup_time + + + + +

+

How long for the final screen remains shown

is_global + + + + +

+

Whether the cinematic is a global cinematic or not

locked + + + + +

+

A list of all mobs who have TRAIT_NO_TRANSFORM set while watching the cinematic

screen + + + + +

+

Refernce to the cinematic screen shown to everyohne

special_callback + + + + +

+

Callbacks passed that occur during the animation

stop_ooc + + + + +

+

Whether the cinematic turns off ooc when played globally.

watching + + + + +

+

A list of all clients watching the cinematic

Proc Details

clean_up_cinematic +

+

Cleans up the cinematic after a set timer of it sticking on the end screen.

handle_replacement_cinematics +

+

Whenever another cinematic starts to play over us, we have the chacne to block it.

invoke_special_callback +

+

Invoke any special callbacks for actual effects synchronized with animation. +(Such as a real nuke explosion happening midway)

lock_mob +

+

Locks a mob, preventing them from moving, being hurt, or acting

play_cinematic +

+

The actual cinematic occurs here.

play_cinematic_sound +

+

Simple helper for playing sounds from the cinematic.

remove_watcher +

+

Removes the passed client from our watching list.

show_to +

+

Whenever a mob watching the cinematic logs in, show them the ongoing cinematic

start_cinematic +

+

Actually goes through the process of showing the cinematic to the list of watchers.

stop_cinematic +

+

Stops the cinematic and removes it from all the viewers.

unlock_mob +

+

Unlocks a previously locked weakref

+ + + diff --git a/datum/cinematic/nuke.html b/datum/cinematic/nuke.html new file mode 100644 index 00000000000..25f8bd82c3a --- /dev/null +++ b/datum/cinematic/nuke.html @@ -0,0 +1,43 @@ + + + + + + + /datum/cinematic/nuke - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nuke + + + +

+ +

Simple, base cinematic for all animations based around a nuke detonating.

+ +

Vars

after_nuke_summary_stateIf set, this is the summary screen that pops up after the nuke is done.

Procs

play_nuke_effectSpecific effects for each type of cinematics goes here.
+

Var Details

after_nuke_summary_state + + + + +

+

If set, this is the summary screen that pops up after the nuke is done.

Proc Details

play_nuke_effect +

+

Specific effects for each type of cinematics goes here.

+ + + diff --git a/datum/circuit_composite_template.html b/datum/circuit_composite_template.html new file mode 100644 index 00000000000..fc0534ae419 --- /dev/null +++ b/datum/circuit_composite_template.html @@ -0,0 +1,91 @@ + + + + + + + /datum/circuit_composite_template - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_composite_template + + + +

+ +

A template used to make composite datatypes for circuits. +Used so that we don't have to generate every single possible combination of types

+ + + + + + +

Vars

composite_datatype_pathThe path to the composite type
datatypeThe datatype this composite template is of.
expected_typesThe amount of composite datatypes needed to generate a datatype from this template
types_to_generateTypes to generate during initialization

Procs

InitializeUsed to generate composite types from anything that was generated +before global variables were all initialized. +Used for when composite datatypes are used in globally defined lists, before GLOB.circuit_datatypes is available.
generate_composite_typeGenerates a composite type using this template. Not recommended to use directly, use a define instead.
generate_nameGenerates a name for the datatype using the unique list of composite datatypes. +This should always generate a constant value for the input given as it is used as +the unique identifier
+

Var Details

composite_datatype_path + + + + +

+

The path to the composite type

datatype + + + + +

+

The datatype this composite template is of.

expected_types + + + + +

+

The amount of composite datatypes needed to generate a datatype from this template

types_to_generate + + + + +

+

Types to generate during initialization

Proc Details

Initialize +

+

Used to generate composite types from anything that was generated +before global variables were all initialized. +Used for when composite datatypes are used in globally defined lists, before GLOB.circuit_datatypes is available.

generate_composite_type +

+

Generates a composite type using this template. Not recommended to use directly, use a define instead.

+

Arguments:

+

generate_name +

+

Generates a name for the datatype using the unique list of composite datatypes. +This should always generate a constant value for the input given as it is used as +the unique identifier

+ + + diff --git a/datum/circuit_datatype.html b/datum/circuit_datatype.html new file mode 100644 index 00000000000..0d7fbf79ac8 --- /dev/null +++ b/datum/circuit_datatype.html @@ -0,0 +1,175 @@ + + + + + + + /datum/circuit_datatype - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_datatype + + + +

+ +

A circuit datatype. Used to determine the datatype of a port and also handle any additional behaviour.

+ + + + + + + + + + + + + + + +

Vars

abstractWhether this datatype should be loaded into the global circuit_datatypes list.
can_receive_fromThe datatypes that this datatype can receive from.
colorThe color of the port in the UI. Doesn't work with hex colours.
datatypeThe key. Used to identify the datatype. Should be a define.
datatype_flagsThe flags of the circuit datatype
is_extensiveWhether we should extensively convert this datatype, important for composite lists who may not have datatypes that need implicit conversions

Procs

can_receive_from_datatypeDetermines if a datatype is compatible with another port of a different type. +Note: This is ALWAYS called on the input port, never on the output port. +Inputs need to care about what types they're receiving, output ports don't have to care.
convert_valueReturns the value to be set for the port
convert_value_extensiveSimilar to convert value, however it doesn't get called by a port when a value is set. Useful for extensive conversions that may only need to be done for player inputs (e.g. lists)
datatype_ui_dataThe data to send to the UI attached to the port. Received by the type in FUNDAMENTAL_PORT_TYPES
get_datatypeUsed by composite datatypes. Returns a single datatype from the list if it exists by index.
get_datatypesUsed by composite datatypes. Returns all the datatypes that build this datatype up.
handle_manual_inputWhen an input is manually set by a player. This is where extra sanitizing can happen. Will still call convert_value()
is_compatibleDetermines if a port is compatible with this datatype. +This WILL throw a runtime if it returns false. This is for sanity checking and it should not return false +unless under extraordinary circumstances or people fail to write proper code.
on_gainCalled when the datatype is given to a port.
on_lossCalled when the datatype is removed from a port.
+

Var Details

abstract + + + + +

+

Whether this datatype should be loaded into the global circuit_datatypes list.

can_receive_from + + + + +

+

The datatypes that this datatype can receive from.

color + + + + +

+

The color of the port in the UI. Doesn't work with hex colours.

datatype + + + + +

+

The key. Used to identify the datatype. Should be a define.

datatype_flags + + + + +

+

The flags of the circuit datatype

is_extensive + + + + +

+

Whether we should extensively convert this datatype, important for composite lists who may not have datatypes that need implicit conversions

Proc Details

can_receive_from_datatype +

+

Determines if a datatype is compatible with another port of a different type. +Note: This is ALWAYS called on the input port, never on the output port. +Inputs need to care about what types they're receiving, output ports don't have to care.

+

Arguments:

+

convert_value +

+

Returns the value to be set for the port

+

Used for implicit conversions between outputs and inputs (e.g. number -> string) +and applying/removing signals on inputs

convert_value_extensive +

+

Similar to convert value, however it doesn't get called by a port when a value is set. Useful for extensive conversions that may only need to be done for player inputs (e.g. lists)

datatype_ui_data +

+

The data to send to the UI attached to the port. Received by the type in FUNDAMENTAL_PORT_TYPES

+

Arguments:

+

get_datatype +

+

Used by composite datatypes. Returns a single datatype from the list if it exists by index.

get_datatypes +

+

Used by composite datatypes. Returns all the datatypes that build this datatype up.

handle_manual_input +

+

When an input is manually set by a player. This is where extra sanitizing can happen. Will still call convert_value()

+

Arguments:

+

is_compatible +

+

Determines if a port is compatible with this datatype. +This WILL throw a runtime if it returns false. This is for sanity checking and it should not return false +unless under extraordinary circumstances or people fail to write proper code.

+

Arguments:

+

on_gain +

+

Called when the datatype is given to a port.

+

Arguments:

+

on_loss +

+

Called when the datatype is removed from a port.

+

Arguments:

+
+ + + diff --git a/datum/circuit_datatype/composite_instance.html b/datum/circuit_datatype/composite_instance.html new file mode 100644 index 00000000000..a25e489452a --- /dev/null +++ b/datum/circuit_datatype/composite_instance.html @@ -0,0 +1,50 @@ + + + + + + + /datum/circuit_datatype/composite_instance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

composite_instance + + + +

+ +

A composite instance generated by a template

+ + +

Vars

base_datatypeThe base datatype, used for comparisons
composite_datatypesThe composite datatypes that make this datatype up
composite_datatypes_styleA list composed of the composite datatypes sent to the UI.
+

Var Details

base_datatype + + + + +

+

The base datatype, used for comparisons

composite_datatypes + + + + +

+

The composite datatypes that make this datatype up

composite_datatypes_style + + + + +

+

A list composed of the composite datatypes sent to the UI.

+ + + diff --git a/datum/circuit_variable.html b/datum/circuit_variable.html new file mode 100644 index 00000000000..e662b123efe --- /dev/null +++ b/datum/circuit_variable.html @@ -0,0 +1,93 @@ + + + + + + + /datum/circuit_variable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_variable + + + +

+ +

A circuit variable that holds the name, the datatype and the colour of the variable (taken from the datatype).

+

Used in integrated circuits for setter and getter circuit components.

+ + + + + + + + +

Vars

colorThe colour that appears in the UI. The value is set to the datatype's matching colour
datatypeThe datatype of the circuit variable. Used by the setter and getter circuit components
datatype_handlerThe datatype handler for the circuit variable.
listenersThe components that are currently listening. Triggers them when the value is updated.
nameThe display name of the circuit variable
valueThe current value held by the variable.

Procs

add_listenerAdds a listener to receive inputs when the variable has a value that is set.
remove_listenerRemoves a listener to receive inputs when the variable has a value that is set. Listener will usually clean themselves up
set_valueSets the value of the circuit component and triggers the appropriate listeners
+

Var Details

color + + + + +

+

The colour that appears in the UI. The value is set to the datatype's matching colour

datatype + + + + +

+

The datatype of the circuit variable. Used by the setter and getter circuit components

datatype_handler + + + + +

+

The datatype handler for the circuit variable.

listeners + + + + +

+

The components that are currently listening. Triggers them when the value is updated.

name + + + + +

+

The display name of the circuit variable

value + + + + +

+

The current value held by the variable.

Proc Details

add_listener +

+

Adds a listener to receive inputs when the variable has a value that is set.

remove_listener +

+

Removes a listener to receive inputs when the variable has a value that is set. Listener will usually clean themselves up

set_value +

+

Sets the value of the circuit component and triggers the appropriate listeners

+ + + diff --git a/datum/client_colour.html b/datum/client_colour.html new file mode 100644 index 00000000000..675151a757f --- /dev/null +++ b/datum/client_colour.html @@ -0,0 +1,87 @@ + + + + + + + /datum/client_colour - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

client_colour + + + +

+ +

Client Colour Priority System By RemieRichards (then refactored by another contributor) +A System that gives finer control over which client.colour value to display on screen +so that the "highest priority" one is always displayed as opposed to the default of +"whichever was set last is displayed".

+

Refactored to allow multiple overlapping client colours +(e.g. wearing blue glasses under a yellow visor, even though the result is a little unsatured.) +As well as some support for animated colour transitions.

+

Define subtypes of this datum

+ + + + + + +

Vars

colourThe color we want to give to the client. This has to be either a hexadecimal color or a color matrix.
fade_inIF non-zero, 'animate_client_colour(fade_in)' will be called instead of 'update_client_colour' when added.
fade_outSame as above, but on removal.
overrideWill this client_colour prevent ones of lower priority from being applied?
ownerThe mob that owns this client_colour.
priorityWe prioritize colours with higher priority (lower numbers), so they don't get overriden by less important ones: +eg: "Bloody screen" > "goggles colour" as the former is much more important

Procs

update_colourSets a new colour, then updates the owner's screen colour.
+

Var Details

colour + + + + +

+

The color we want to give to the client. This has to be either a hexadecimal color or a color matrix.

fade_in + + + + +

+

IF non-zero, 'animate_client_colour(fade_in)' will be called instead of 'update_client_colour' when added.

fade_out + + + + +

+

Same as above, but on removal.

override + + + + +

+

Will this client_colour prevent ones of lower priority from being applied?

owner + + + + +

+

The mob that owns this client_colour.

priority + + + + +

+

We prioritize colours with higher priority (lower numbers), so they don't get overriden by less important ones: +eg: "Bloody screen" > "goggles colour" as the former is much more important

Proc Details

update_colour +

+

Sets a new colour, then updates the owner's screen colour.

+ + + diff --git a/datum/client_interface.html b/datum/client_interface.html new file mode 100644 index 00000000000..efa189a96f4 --- /dev/null +++ b/datum/client_interface.html @@ -0,0 +1,85 @@ + + + + + + + /datum/client_interface - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

client_interface + + + +

+ +

This should match the interface of /client wherever necessary.

+ + + + + + + +

Vars

ckeyThe ckey for this mock interface
fpsclient prefs
keyThe key for this mock interface
mobThe mob the client controls
prefsPlayer preferences datum for the client
screenObjects on the screen of the client
viewThe view of the client, similar to /client/var/view.
view_sizeView data of the client, similar to /client/var/view_size.
+

Var Details

ckey + + + + +

+

The ckey for this mock interface

fps + + + + +

+

client prefs

key + + + + +

+

The key for this mock interface

mob + + + + +

+

The mob the client controls

prefs + + + + +

+

Player preferences datum for the client

screen + + + + +

+

Objects on the screen of the client

view + + + + +

+

The view of the client, similar to /client/var/view.

view_size + + + + +

+

View data of the client, similar to /client/var/view_size.

+ + + diff --git a/datum/colorblind_tester.html b/datum/colorblind_tester.html new file mode 100644 index 00000000000..5d0b921af5a --- /dev/null +++ b/datum/colorblind_tester.html @@ -0,0 +1,46 @@ + + + + + + + /datum/colorblind_tester - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

colorblind_tester + + + +

+ +

Used to test the game for issues with different types of color blindness +WARNING ASSHOLE: Because we can only apply matrixes, and can't preform gamma correction +https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +The results of this tool aren't perfect. It's way better then nothing, but IT IS NOT A PROPER SIMULATION +Please do not make us look like assholes by assuming it is. Thanks.

+

Vars

color_matrixesList of simulated blindness -> matrix to use +Most of these matrixes are based off https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +AGAIN, THESE ARE NOT PERFECT BECAUSE WE CANNOT COMPUTE GAMMA CORRECTION, AND CONVERT SRGB TO LINEAR RGB +Do not assume this is absolute
+

Var Details

color_matrixes + + + + +

+

List of simulated blindness -> matrix to use +Most of these matrixes are based off https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +AGAIN, THESE ARE NOT PERFECT BECAUSE WE CANNOT COMPUTE GAMMA CORRECTION, AND CONVERT SRGB TO LINEAR RGB +Do not assume this is absolute

+ + + diff --git a/datum/comm_log_entry.html b/datum/comm_log_entry.html new file mode 100644 index 00000000000..3ce6b658ab5 --- /dev/null +++ b/datum/comm_log_entry.html @@ -0,0 +1,50 @@ + + + + + + + /datum/comm_log_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

comm_log_entry + + + +

+ +

Simple log entry datum for the telecommunication server

+ + +

Vars

input_typeType of entry.
nameName of the entry.
parametersParameters extracted from the signal.
+

Var Details

input_type + + + + +

+

Type of entry.

name + + + + +

+

Name of the entry.

parameters + + + + +

+

Parameters extracted from the signal.

+ + + diff --git a/datum/command_report_menu.html b/datum/command_report_menu.html new file mode 100644 index 00000000000..d4a8d566d48 --- /dev/null +++ b/datum/command_report_menu.html @@ -0,0 +1,99 @@ + + + + + + + /datum/command_report_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

command_report_menu + + + +

+ +

Datum for holding the TGUI window for command reports.

+ + + + + + + + + +

Vars

announce_contentsWhether the report's contents are announced.
announcement_colorThe colour of the announcement when sent
command_nameThe name of central command that will accompany our report
command_report_contentThe actual contents of the report we're going to send.
custom_nameWhether we are using a custom name instead of a preset.
played_soundThe sound that's going to accompany our message.
preset_namesA static list of preset names that can be chosen.
print_reportWhether a copy of the report is printed at every console.
subheaderThe subheader to include when sending the announcement. Keep blank to not include a subheader
ui_userThe mob using the UI.
+

Var Details

announce_contents + + + + +

+

Whether the report's contents are announced.

announcement_color + + + + +

+

The colour of the announcement when sent

command_name + + + + +

+

The name of central command that will accompany our report

command_report_content + + + + +

+

The actual contents of the report we're going to send.

custom_name + + + + +

+

Whether we are using a custom name instead of a preset.

played_sound + + + + +

+

The sound that's going to accompany our message.

preset_names + + + + +

+

A static list of preset names that can be chosen.

print_report + + + + +

+

Whether a copy of the report is printed at every console.

subheader + + + + +

+

The subheader to include when sending the announcement. Keep blank to not include a subheader

ui_user + + + + +

+

The mob using the UI.

+ + + diff --git a/datum/component.html b/datum/component.html new file mode 100644 index 00000000000..9afa104f8a2 --- /dev/null +++ b/datum/component.html @@ -0,0 +1,215 @@ + + + + + + + /datum/component - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Component + + + +

+ +

The component datum

+

A component should be a single standalone unit +of functionality, that works by receiving signals from it's parent +object to provide some single functionality (i.e a slippery component) +that makes the object it's attached to cause people to slip over. +Useful when you want shared behaviour independent of type inheritance

+ + + + + + + + + + + + + + + + + + + + +

Vars

can_transferOnly set to true if you are able to properly transfer this component
dupe_modeDefines how duplicate existing components are handled when added to a datum
dupe_typeThe type to check for duplication
parentThe datum this components belongs to
sourcesA lazy list of the sources for this component

Procs

CheckDupeComponentCalled on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE
ClearFromParentRemoves the component from parent, ends up with a null parent +Used as a helper proc by the component transfer proc, does not clean up the component like Destroy does
DestroyProperly removes the component from parent and cleans up references
InheritComponentCalled on a component when a component of the same type was added to the same parent
InitializeCalled during component creation with the same arguments as in new excluding parent.
NewCreate a new component.
PostTransferCallback Just after a component is transferred
PreTransferCallback Just before this component is transferred
RegisterWithParentRegister the component with the parent object
UnregisterFromParentUnregister from our parent object
_GetInverseTypeListInternal proc to create a list of our type and all parent types
_JoinParentInternal proc to handle behaviour of components when joining a parent
_RemoveFromParentInternal proc to handle behaviour when being removed from a parent
on_source_addCalled when the component has a new source registered. +Return COMPONENT_INCOMPATIBLE to signal that the source is incompatible and should not be added
on_source_removeCalled when the component has a source removed. +You probably want to call parent after you do your logic because at the end of this we qdel if we have no sources remaining!
ui_hostReturn the object that is the host of any UI's that this component has
+

Var Details

can_transfer + + + + +

+

Only set to true if you are able to properly transfer this component

+

At a minimum RegisterWithParent and UnregisterFromParent should be used

+

Make sure you also implement PostTransfer for any post transfer handling

dupe_mode + + + + +

+

Defines how duplicate existing components are handled when added to a datum

+

See COMPONENT_DUPE_* definitions for available options

dupe_type + + + + +

+

The type to check for duplication

+

null means exact match on type (default)

+

Any other type means that and all subtypes

parent + + + + +

+

The datum this components belongs to

sources + + + + +

+

A lazy list of the sources for this component

Proc Details

CheckDupeComponent +

+

Called on a component when a component of the same type was added to the same parent with COMPONENT_DUPE_SELECTIVE

+

See /datum/component/var/dupe_mode

+

C's type will always be the same of the called component

+

return TRUE if you are absorbing the component, otherwise FALSE if you are fine having it exist as a duplicate component

ClearFromParent +

+

Removes the component from parent, ends up with a null parent +Used as a helper proc by the component transfer proc, does not clean up the component like Destroy does

Destroy +

+

Properly removes the component from parent and cleans up references

+

Arguments:

+

InheritComponent +

+

Called on a component when a component of the same type was added to the same parent

+

See /datum/component/var/dupe_mode

+

C's type will always be the same of the called component

Initialize +

+

Called during component creation with the same arguments as in new excluding parent.

+

Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

New +

+

Create a new component.

+

Additional arguments are passed to Initialize()

+

Arguments:

+

PostTransfer +

+

Callback Just after a component is transferred

+

Use this to do any special setup you need to do after being moved to a new object

+

Do not call qdel(src) from this function, return COMPONENT_INCOMPATIBLE instead

PreTransfer +

+

Callback Just before this component is transferred

+

Use this to do any special cleanup you might need to do before being deregged from an object

RegisterWithParent +

+

Register the component with the parent object

+

Use this proc to register with your parent object

+

Overridable proc that's called when added to a new parent

UnregisterFromParent +

+

Unregister from our parent object

+

Use this proc to unregister from your parent object

+

Overridable proc that's called when removed from a parent

_GetInverseTypeList +

+

Internal proc to create a list of our type and all parent types

_JoinParent +

+

Internal proc to handle behaviour of components when joining a parent

_RemoveFromParent +

+

Internal proc to handle behaviour when being removed from a parent

on_source_add +

+

Called when the component has a new source registered. +Return COMPONENT_INCOMPATIBLE to signal that the source is incompatible and should not be added

on_source_remove +

+

Called when the component has a source removed. +You probably want to call parent after you do your logic because at the end of this we qdel if we have no sources remaining!

ui_host +

+

Return the object that is the host of any UI's that this component has

+ + + diff --git a/datum/component/acid.html b/datum/component/acid.html new file mode 100644 index 00000000000..b980ad103a3 --- /dev/null +++ b/datum/component/acid.html @@ -0,0 +1,187 @@ + + + + + + + /datum/component/acid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

acid + + + +

+ +

Component representing acid applied to an object. +Must be attached to an atom. +Processes, repeatedly damaging whatever it is attached to. +If the parent atom is a turf it applies acid to the contents of the turf. +If not being applied to a mob or turf, the atom must use the integrity system.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

acid_overlayAcid overlay appearance we apply
acid_powerThe strength of the acid on the parent /atom.
acid_volumeThe volume of acid on the parent /atom.
max_volumeThe maximum volume of acid on the parent /atom.
parent_integrityUsed exclusively for melting turfs. TODO: Move integrity to the atom level so that this can be dealt with there.
particle_effectParticle holder for acid particles (sick)
process_effectThe proc used to handle the parent /atom when processing. TODO: Unify damage and resistance flags so that this doesn't need to exist!
sizzleThe ambient sound of acid eating away at the parent /atom.
stageHow far the acid melting of turfs has progressed
turf_acid_ignores_mobsBoolean for if we ignore mobs when applying acid to turf contents

Procs

InheritComponentAverages corrosive power and sums volume.
on_attack_handHandles searing the hand of anyone who tries to touch parent without protection.
on_cleanMakes it possible to clean acid off of objects.
on_enteredHandles searing the feet of whoever walks over this without protection. Only active if the parent is a turf.
on_examineAlerts any examiners to the acid on the parent atom.
on_expose_reagentHandles water diluting the acid on the object.
on_update_overlaysUsed to maintain the acid overlay on the parent /atom.
processHandles the slow corrosion of the parent /atom.
process_mobHandles processing on a /mob/living.
process_movableHandles processing on an /atom/movable (that uses atom_integrity).
process_turfHandles processing on a /turf.
set_volumeSets the acid volume to a new value. Limits the acid volume by the amount allowed to exist on the parent atom.
+

Var Details

acid_overlay + + + + +

+

Acid overlay appearance we apply

acid_power + + + + +

+

The strength of the acid on the parent /atom.

acid_volume + + + + +

+

The volume of acid on the parent /atom.

max_volume + + + + +

+

The maximum volume of acid on the parent /atom.

parent_integrity + + + + +

+

Used exclusively for melting turfs. TODO: Move integrity to the atom level so that this can be dealt with there.

particle_effect + + + + +

+

Particle holder for acid particles (sick)

process_effect + + + + +

+

The proc used to handle the parent /atom when processing. TODO: Unify damage and resistance flags so that this doesn't need to exist!

sizzle + + + + +

+

The ambient sound of acid eating away at the parent /atom.

stage + + + + +

+

How far the acid melting of turfs has progressed

turf_acid_ignores_mobs + + + + +

+

Boolean for if we ignore mobs when applying acid to turf contents

Proc Details

InheritComponent +

+

Averages corrosive power and sums volume.

on_attack_hand +

+

Handles searing the hand of anyone who tries to touch parent without protection.

on_clean +

+

Makes it possible to clean acid off of objects.

on_entered +

+

Handles searing the feet of whoever walks over this without protection. Only active if the parent is a turf.

on_examine +

+

Alerts any examiners to the acid on the parent atom.

on_expose_reagent +

+

Handles water diluting the acid on the object.

on_update_overlays +

+

Used to maintain the acid overlay on the parent /atom.

process +

+

Handles the slow corrosion of the parent /atom.

process_mob +

+

Handles processing on a /mob/living.

process_movable +

+

Handles processing on an /atom/movable (that uses atom_integrity).

process_turf +

+

Handles processing on a /turf.

set_volume +

+

Sets the acid volume to a new value. Limits the acid volume by the amount allowed to exist on the parent atom.

+ + + diff --git a/datum/component/action_item_overlay.html b/datum/component/action_item_overlay.html new file mode 100644 index 00000000000..46650ba320f --- /dev/null +++ b/datum/component/action_item_overlay.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/action_item_overlay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

action_item_overlay + + + +

+ +

Apply to an action to allow it to take an item +and apply it as an overlay of the action button

+ + + +

Vars

item_appearanceThe appearance of the item we've applied
item_callbackCallback that dictates what item the component uses to apply as an overlay.
item_refWeakref to what item the component uses to apply as an overlay.

Procs

on_overlays_appliedSignal proc for COMSIG_ACTION_OVERLAY_APPLY, applies the item appearance if possible.
+

Var Details

item_appearance + + + + +

+

The appearance of the item we've applied

item_callback + + + + +

+

Callback that dictates what item the component uses to apply as an overlay.

item_ref + + + + +

+

Weakref to what item the component uses to apply as an overlay.

Proc Details

on_overlays_applied +

+

Signal proc for COMSIG_ACTION_OVERLAY_APPLY, applies the item appearance if possible.

+ + + diff --git a/datum/component/admin_popup.html b/datum/component/admin_popup.html new file mode 100644 index 00000000000..a810dfbec77 --- /dev/null +++ b/datum/component/admin_popup.html @@ -0,0 +1,39 @@ + + + + + + + /datum/component/admin_popup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

admin_popup + + + +

+ +

Applied to clients when they receive an admin popup, alerting them to +their ticket.

+

Vars

ticketThe user's most active ticket. If this is resolved, closed, or replied to, +then the component will delete itself.
+

Var Details

ticket + + + + +

+

The user's most active ticket. If this is resolved, closed, or replied to, +then the component will delete itself.

+ + + diff --git a/datum/component/aggro_emote.html b/datum/component/aggro_emote.html new file mode 100644 index 00000000000..0593cfc59f8 --- /dev/null +++ b/datum/component/aggro_emote.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/aggro_emote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

aggro_emote + + + +

+ +

A component for ai-controlled atoms which plays a sound if they switch to a living target which they can attack

+ + + + + + +

Vars

emote_chanceChance to play an emote
emote_listList of emotes to play
living_onlyIf we want to limit emotes to only play at mobs
minimum_chanceMinimum chance to play an emote
subtract_chanceChance to subtract every time we play an emote (permanently)
target_keyBlackboard key in which target data is stored

Procs

on_target_changedWhen we get a new target, see if we want to bark at it
+

Var Details

emote_chance + + + + +

+

Chance to play an emote

emote_list + + + + +

+

List of emotes to play

living_only + + + + +

+

If we want to limit emotes to only play at mobs

minimum_chance + + + + +

+

Minimum chance to play an emote

subtract_chance + + + + +

+

Chance to subtract every time we play an emote (permanently)

target_key + + + + +

+

Blackboard key in which target data is stored

Proc Details

on_target_changed +

+

When we get a new target, see if we want to bark at it

+ + + diff --git a/datum/component/ai_listen_to_weather.html b/datum/component/ai_listen_to_weather.html new file mode 100644 index 00000000000..1cf99e35b17 --- /dev/null +++ b/datum/component/ai_listen_to_weather.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/ai_listen_to_weather - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai_listen_to_weather + + + +

+ +

given to a mob to set a key on or off when a storm is coming or ending

+ +

Vars

weather_keywhat blackboard key are we setting
weather_typewhat weather type are we listening to
+

Var Details

weather_key + + + + +

+

what blackboard key are we setting

weather_type + + + + +

+

what weather type are we listening to

+ + + diff --git a/datum/component/ai_retaliate_advanced.html b/datum/component/ai_retaliate_advanced.html new file mode 100644 index 00000000000..9a9dcb0cc0d --- /dev/null +++ b/datum/component/ai_retaliate_advanced.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/ai_retaliate_advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_retaliate_advanced + + + +

+ +

Attached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information. +Differs from the element as it passes new entries through a callback.

+ +

Vars

post_retaliate_callbackCallback to a mob for custom behaviour

Procs

on_attackedAdd an attacking atom to a blackboard list of things which attacked us
+

Var Details

post_retaliate_callback + + + + +

+

Callback to a mob for custom behaviour

Proc Details

on_attacked +

+

Add an attacking atom to a blackboard list of things which attacked us

+ + + diff --git a/datum/component/ai_target_timer.html b/datum/component/ai_target_timer.html new file mode 100644 index 00000000000..75169a4e24f --- /dev/null +++ b/datum/component/ai_target_timer.html @@ -0,0 +1,92 @@ + + + + + + + /datum/component/ai_target_timer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_target_timer + + + +

+ +

Increments a blackboard key while the attached mob is engaged with a particular target, does nothing else on its own

+ + + + + + + + +

Vars

increment_keyBlackboard key to store data inside
last_targetThe last target we had
reset_clock_timerTimer used to see if you
target_keyBlackboard key to watch to indicate whether we are 'in combat'
time_on_targetAmount of time we have spent focused on one target

Procs

changed_targetWhen we get a new target, reset the timer and start processing
finalise_losing_targetCalled if we have had no target for long enough
lost_targetWhen we lose our target, start a short timer in case we reacquire it very quickly
store_current_timeStore the current time on our timer in our blackboard key
+

Var Details

increment_key + + + + +

+

Blackboard key to store data inside

last_target + + + + +

+

The last target we had

reset_clock_timer + + + + +

+

Timer used to see if you

target_key + + + + +

+

Blackboard key to watch to indicate whether we are 'in combat'

time_on_target + + + + +

+

Amount of time we have spent focused on one target

Proc Details

changed_target +

+

When we get a new target, reset the timer and start processing

finalise_losing_target +

+

Called if we have had no target for long enough

lost_target +

+

When we lose our target, start a short timer in case we reacquire it very quickly

store_current_time +

+

Store the current time on our timer in our blackboard key

+ + + diff --git a/datum/component/anti_magic.html b/datum/component/anti_magic.html new file mode 100644 index 00000000000..5adaa9b407b --- /dev/null +++ b/datum/component/anti_magic.html @@ -0,0 +1,105 @@ + + + + + + + /datum/component/anti_magic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

anti_magic + + + +

+ +

This provides different types of magic resistance on an object

+ + + + + + + +

Vars

alert_caster_on_equipWhether we should, on equipping, alert the caster that this item can block any of their spells +This changes between true and false on equip and drop, don't set it outright to something
antimagic_flagsA bitflag with the types of magic resistance on the object
chargesThe amount of times the object can protect the user from magic +Set to INFINITY to have, well, infinite charges.
drain_antimagicThe callback invoked when we have been drained a antimagic charge
expirationThe callback invoked when twe have been depleted of all charges
inventory_flagsThe inventory slot the object must be located at in order to activate

Procs

InitializeAdds magic resistances to an object
restrict_casting_magiccannot cast magic with the same type of antimagic present
+

Var Details

alert_caster_on_equip + + + + +

+

Whether we should, on equipping, alert the caster that this item can block any of their spells +This changes between true and false on equip and drop, don't set it outright to something

antimagic_flags + + + + +

+

A bitflag with the types of magic resistance on the object

charges + + + + +

+

The amount of times the object can protect the user from magic +Set to INFINITY to have, well, infinite charges.

drain_antimagic + + + + +

+

The callback invoked when we have been drained a antimagic charge

expiration + + + + +

+

The callback invoked when twe have been depleted of all charges

inventory_flags + + + + +

+

The inventory slot the object must be located at in order to activate

Proc Details

Initialize +

+

Adds magic resistances to an object

+

Magic resistance will prevent magic from affecting the user if it has the correct resistance +against the type of magic being used

+

args:

+ +

antimagic bitflags: (see code/__DEFINES/magic.dm)

+

restrict_casting_magic +

+

cannot cast magic with the same type of antimagic present

+ + + diff --git a/datum/component/appearance_on_aggro.html b/datum/component/appearance_on_aggro.html new file mode 100644 index 00000000000..927a06b38c6 --- /dev/null +++ b/datum/component/appearance_on_aggro.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/appearance_on_aggro - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

appearance_on_aggro + + + +

+ +

Changes visuals of the attached mob while it has a target

+ + + + + +

Vars

aggro_overlaypath of the overlay to apply
aggro_stateIcon state to use when we have a target
alpha_on_aggrovisibility of our icon when aggroed
alpha_on_deaggrovisibility of our icon when deaggroed
current_targetdo we currently have a target
target_keyBlackboardey to search for a target
+

Var Details

aggro_overlay + + + + +

+

path of the overlay to apply

aggro_state + + + + +

+

Icon state to use when we have a target

alpha_on_aggro + + + + +

+

visibility of our icon when aggroed

alpha_on_deaggro + + + + +

+

visibility of our icon when deaggroed

current_target + + + + +

+

do we currently have a target

target_key + + + + +

+

Blackboardey to search for a target

+ + + diff --git a/datum/component/aquarium_content.html b/datum/component/aquarium_content.html new file mode 100644 index 00000000000..7ab60811dac --- /dev/null +++ b/datum/component/aquarium_content.html @@ -0,0 +1,191 @@ + + + + + + + /datum/component/aquarium_content - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

aquarium_content + + + +

+ +

Allows movables to be inserted/displayed in aquariums.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

animation_getterProc used to retrieve current animation state from the parent, optional
animation_update_signalsSignals of the parent that will trigger animation update
aquarium_vc_colorApplied to vc object only for use with greyscaled icons.
base_pxBase px offset of the visual object in current aquarium aka current base position
base_pyBase px offset of the visual object in current aquarium aka current base position
base_transformTransformation applied to the visual holder - used when scaled down sprites are used as in aquarium visual
current_animationCurrently playing animation
current_aquariumKeeps track of our current aquarium.
iconFish sprite how to: +Need to be centered on 16,16 in the dmi and facing left by default. +sprite_height/sprite_width is the size it will have in aquarium and used to control animation boundaries. +source_height/source_width is the size of the original icon (ideally only the non-empty parts) +Icon used for in aquarium sprite
icon_stateIf this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied.
layer_modeHow the thing will be layered
processingDoes this behviour need additional processing in aquarium, will be added to SSobj processing on insertion
randomize_positionIf the starting position is randomised within bounds when inserted into aquarium.
uniqueTODO: Change this into trait checked on aquarium insertion

Procs

InitializeFromFishSets visuals properties for fish
InitializeFromPropSets visuals properties for fish
InitializeOtherMostly for admin abuse
apply_appearanceApplies icon,color and base scaling to our visual holder
generate_animationActually animates the vc holder
generate_base_vcGenerates common visual object, propeties that don't depend on aquarium surface
on_surface_changedAquarium surface changed in some way, we need to recalculate base position and aninmation
swim_animationCreate looping random path animation, pixel offsets parameters include offsets already
+

Var Details

animation_getter + + + + +

+

Proc used to retrieve current animation state from the parent, optional

animation_update_signals + + + + +

+

Signals of the parent that will trigger animation update

aquarium_vc_color + + + + +

+

Applied to vc object only for use with greyscaled icons.

base_px + + + + +

+

Base px offset of the visual object in current aquarium aka current base position

base_py + + + + +

+

Base px offset of the visual object in current aquarium aka current base position

base_transform + + + + +

+

Transformation applied to the visual holder - used when scaled down sprites are used as in aquarium visual

current_animation + + + + +

+

Currently playing animation

current_aquarium + + + + +

+

Keeps track of our current aquarium.

icon + + + + +

+

Fish sprite how to: +Need to be centered on 16,16 in the dmi and facing left by default. +sprite_height/sprite_width is the size it will have in aquarium and used to control animation boundaries. +source_height/source_width is the size of the original icon (ideally only the non-empty parts) +Icon used for in aquarium sprite

icon_state + + + + +

+

If this is set this icon state will be used for the holder while icon_state will only be used for item/catalog. Transformation from source_width/height WON'T be applied.

layer_mode + + + + +

+

How the thing will be layered

processing + + + + +

+

Does this behviour need additional processing in aquarium, will be added to SSobj processing on insertion

randomize_position + + + + +

+

If the starting position is randomised within bounds when inserted into aquarium.

unique + + + + +

+

TODO: Change this into trait checked on aquarium insertion

Proc Details

InitializeFromFish +

+

Sets visuals properties for fish

InitializeFromProp +

+

Sets visuals properties for fish

InitializeOther +

+

Mostly for admin abuse

apply_appearance +

+

Applies icon,color and base scaling to our visual holder

generate_animation +

+

Actually animates the vc holder

generate_base_vc +

+

Generates common visual object, propeties that don't depend on aquarium surface

on_surface_changed +

+

Aquarium surface changed in some way, we need to recalculate base position and aninmation

swim_animation +

+

Create looping random path animation, pixel offsets parameters include offsets already

+ + + diff --git a/datum/component/area_based_godmode.html b/datum/component/area_based_godmode.html new file mode 100644 index 00000000000..ab42a46434c --- /dev/null +++ b/datum/component/area_based_godmode.html @@ -0,0 +1,65 @@ + + + + + + + /datum/component/area_based_godmode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

area_based_godmode + + + +

+ +

Area-based godmode. +Gain and Lose message can only be set once, at initial component creation; adding a source will not update them.

+ + + + +

Vars

allow_area_subtypesWhether or not to allow subtypes of the area type to trigger godmode.
check_area_cached_stateCached state of check_area, prevents recalculating on source add
gain_messageThe message to send to the mob when they gain godmode.
lose_messageThe message to send to the mob when they lose godmode.
sources_to_area_typeThe type of area that will trigger godmode.
+

Var Details

allow_area_subtypes + + + + +

+

Whether or not to allow subtypes of the area type to trigger godmode.

check_area_cached_state + + + + +

+

Cached state of check_area, prevents recalculating on source add

gain_message + + + + +

+

The message to send to the mob when they gain godmode.

lose_message + + + + +

+

The message to send to the mob when they lose godmode.

sources_to_area_type + + + + +

+

The type of area that will trigger godmode.

+ + + diff --git a/datum/component/area_sound_manager.html b/datum/component/area_sound_manager.html new file mode 100644 index 00000000000..fa71befab08 --- /dev/null +++ b/datum/component/area_sound_manager.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/area_sound_manager - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

area_sound_manager + + + +

+ +

Allows you to set a theme for a set of areas without tying them to looping sounds explicitly

+ + + +

Vars

accepted_zsA list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves
area_to_looping_typearea -> looping sound type
our_loopCurrent sound loop
timeridThe timer id of our current start delay, if it exists
+

Var Details

accepted_zs + + + + +

+

A list of "acceptable" z levels to be on. If you leave this, we're gonna delete ourselves

area_to_looping_type + + + + +

+

area -> looping sound type

our_loop + + + + +

+

Current sound loop

timerid + + + + +

+

The timer id of our current start delay, if it exists

+ + + diff --git a/datum/component/atmos_reaction_recorder.html b/datum/component/atmos_reaction_recorder.html new file mode 100644 index 00000000000..7858b6b981d --- /dev/null +++ b/datum/component/atmos_reaction_recorder.html @@ -0,0 +1,67 @@ + + + + + + + /datum/component/atmos_reaction_recorder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmos_reaction_recorder + + + +

+ +

Component for atmos-related atoms to be able to record and transmit their reaction_results data +Use this ONLY for atoms, gasmixtures will be accessed by calling return air on the object. +Add this component after gasmixes has been initialized.

+ + + +

Vars

copied_reaction_resultsThe list we write append each reaction tick to. +This is often a list initialized by something else (passed as a reference under Initialize).
registered_signalsSignals we have been listening to.

Procs

InitializeVerify that parent is indeed an atom, and then register signals. +Args:
update_dataFetches reaction_results and updates the list.
+

Var Details

copied_reaction_results + + + + +

+

The list we write append each reaction tick to. +This is often a list initialized by something else (passed as a reference under Initialize).

registered_signals + + + + +

+

Signals we have been listening to.

Proc Details

Initialize +

+

Verify that parent is indeed an atom, and then register signals. +Args:

+

update_data +

+

Fetches reaction_results and updates the list.

+ + + diff --git a/datum/component/attached_sticker.html b/datum/component/attached_sticker.html new file mode 100644 index 00000000000..801e7cf9cdf --- /dev/null +++ b/datum/component/attached_sticker.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/attached_sticker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

attached_sticker + + + +

+ + + + + + + +

Vars

signal_turfThe turf our COMSIG_TURF_EXPOSE is registered to, so we can unregister it later.
stickerOur physical sticker to drop
sticker_overlayThe overlay we apply to things we stick to
washableCan we be washed off?

Procs

on_turf_exposeSignal handler for COMSIG_TURF_EXPOSE, deletes this sticker if the temperature is above 100C and it is flammable
peelMove sticker item from nullspace, delete this component, cut overlay
+

Var Details

signal_turf + + + + +

+

The turf our COMSIG_TURF_EXPOSE is registered to, so we can unregister it later.

sticker + + + + +

+

Our physical sticker to drop

sticker_overlay + + + + +

+

The overlay we apply to things we stick to

washable + + + + +

+

Can we be washed off?

Proc Details

on_turf_expose +

+

Signal handler for COMSIG_TURF_EXPOSE, deletes this sticker if the temperature is above 100C and it is flammable

peel +

+

Move sticker item from nullspace, delete this component, cut overlay

+ + + diff --git a/datum/component/aura_healing.html b/datum/component/aura_healing.html new file mode 100644 index 00000000000..9a0f18083da --- /dev/null +++ b/datum/component/aura_healing.html @@ -0,0 +1,123 @@ + + + + + + + /datum/component/aura_healing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

aura_healing + + + +

+ +

Applies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.

+ + + + + + + + + + + + +

Vars

blood_healAmount of blood to heal over a second
brute_healBrute damage to heal over a second
burn_healBurn damage to heal over a second
current_alertsA list of being healed to active alerts
healing_colorThe color to give the healing visual
limit_to_traitTrait to limit healing to, if set
organ_healingMap of organ (such as ORGAN_SLOT_BRAIN) to damage heal over a second
rangeThe range of which to heal
requires_visibilityWhether or not you must be a visible object of the parent
simple_healAmount of damage to heal on simple mobs over a second
stamina_healStamina damage to heal over a second
suffocation_healSuffocation damage to heal over a second
toxin_healToxin damage to heal over a second
+

Var Details

blood_heal + + + + +

+

Amount of blood to heal over a second

brute_heal + + + + +

+

Brute damage to heal over a second

burn_heal + + + + +

+

Burn damage to heal over a second

current_alerts + + + + +

+

A list of being healed to active alerts

healing_color + + + + +

+

The color to give the healing visual

limit_to_trait + + + + +

+

Trait to limit healing to, if set

organ_healing + + + + +

+

Map of organ (such as ORGAN_SLOT_BRAIN) to damage heal over a second

range + + + + +

+

The range of which to heal

requires_visibility + + + + +

+

Whether or not you must be a visible object of the parent

simple_heal + + + + +

+

Amount of damage to heal on simple mobs over a second

stamina_heal + + + + +

+

Stamina damage to heal over a second

suffocation_heal + + + + +

+

Suffocation damage to heal over a second

toxin_heal + + + + +

+

Toxin damage to heal over a second

+ + + diff --git a/datum/component/automatic_fire.html b/datum/component/automatic_fire.html new file mode 100644 index 00000000000..2e0e07c0383 --- /dev/null +++ b/datum/component/automatic_fire.html @@ -0,0 +1,101 @@ + + + + + + + /datum/component/automatic_fire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

automatic_fire + + + +

+ + + + + + + + + + + +

Vars

allow_akimboShould dual wielding be allowed?
autofire_shot_delayTime between individual shots.
current_windup_reductionthe reduction to shot delay for windup
mouse_statusThis seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar.
timeridTimer for tracking the spindown reset timings
windup_autofirewindup autofire vars +Whether the delay between shots increases over time, simulating a spooling weapon
windup_autofire_capHow high of a reduction that current_windup_reduction can reach
windup_autofire_reduction_multiplierthe percentage of autfire_shot_delay that is added to current_windup_reduction
windup_spindownHow long it takes for weapons that have spooled-up to reset back to the original firing speed

Procs

windup_resetReset for our windup, resetting everything back to initial values after a variable set amount of time (determined by var/windup_spindown).
+

Var Details

allow_akimbo + + + + +

+

Should dual wielding be allowed?

autofire_shot_delay + + + + +

+

Time between individual shots.

current_windup_reduction + + + + +

+

the reduction to shot delay for windup

mouse_status + + + + +

+

This seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar.

timerid + + + + +

+

Timer for tracking the spindown reset timings

windup_autofire + + + + +

+

windup autofire vars +Whether the delay between shots increases over time, simulating a spooling weapon

windup_autofire_cap + + + + +

+

How high of a reduction that current_windup_reduction can reach

windup_autofire_reduction_multiplier + + + + +

+

the percentage of autfire_shot_delay that is added to current_windup_reduction

windup_spindown + + + + +

+

How long it takes for weapons that have spooled-up to reset back to the original firing speed

Proc Details

windup_reset +

+

Reset for our windup, resetting everything back to initial values after a variable set amount of time (determined by var/windup_spindown).

+ + + diff --git a/datum/component/avatar_connection.html b/datum/component/avatar_connection.html new file mode 100644 index 00000000000..7dda3ccd641 --- /dev/null +++ b/datum/component/avatar_connection.html @@ -0,0 +1,166 @@ + + + + + + + /datum/component/avatar_connection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

avatar_connection + + + +

+ +

Essentially temporary body with a twist - the virtual domain variant uses damage connections, +listens for vdom relevant signals.

+ + + + + + + + + + + + + + + + + +

Vars

netpod_refThe netpod the avatar is in
old_body_refThe person in the netpod
old_mind_refThe mind of the person in the netpod
server_refThe server connected to the netpod

Procs

PostTransferThings that will disconnect forcefully:
UnregisterFromParentThings that cause safe disconnection:
full_avatar_disconnectDisconnects the avatar and returns the mind to the old_body.
on_domain_completedTriggers whenever the server gets a loot crate pushed to goal area
on_linked_damageTransfers damage from the avatar to the old_body
on_mind_transferHandles minds being swapped around in subsequent avatars
on_netpod_crowbarTriggers when someone starts prying open our netpod
on_netpod_damagedTriggers when the netpod is taking damage and is under 50%
on_safe_disconnectTriggers when a safe disconnect is called
on_sever_connectionReceived message to sever connection
on_shutting_downTriggers when the server is shutting down
on_station_spawnTriggers whenever an antag steps onto an exit turf and the server is emagged
on_threat_createdServer has spawned a ghost role threat
return_to_old_bodyReturns the mind to the old body
+

Var Details

netpod_ref + + + + +

+

The netpod the avatar is in

old_body_ref + + + + +

+

The person in the netpod

old_mind_ref + + + + +

+

The mind of the person in the netpod

server_ref + + + + +

+

The server connected to the netpod

Proc Details

PostTransfer +

+

Things that will disconnect forcefully:

+

UnregisterFromParent +

+

Things that cause safe disconnection:

+

full_avatar_disconnect +

+

Disconnects the avatar and returns the mind to the old_body.

on_domain_completed +

+

Triggers whenever the server gets a loot crate pushed to goal area

on_linked_damage +

+

Transfers damage from the avatar to the old_body

on_mind_transfer +

+

Handles minds being swapped around in subsequent avatars

on_netpod_crowbar +

+

Triggers when someone starts prying open our netpod

on_netpod_damaged +

+

Triggers when the netpod is taking damage and is under 50%

on_safe_disconnect +

+

Triggers when a safe disconnect is called

on_sever_connection +

+

Received message to sever connection

on_shutting_down +

+

Triggers when the server is shutting down

on_station_spawn +

+

Triggers whenever an antag steps onto an exit turf and the server is emagged

on_threat_created +

+

Server has spawned a ghost role threat

return_to_old_body +

+

Returns the mind to the old body

+ + + diff --git a/datum/component/bakeable.html b/datum/component/bakeable.html new file mode 100644 index 00000000000..30151072c74 --- /dev/null +++ b/datum/component/bakeable.html @@ -0,0 +1,99 @@ + + + + + + + /datum/component/bakeable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bakeable + + + +

+ +

This component indicates this object can be baked in an oven.

+ + + + + + + + + +

Vars

added_reagentsReagents that should be added to the result
bake_resultResult atom type of baking this object
current_bake_timeTime spent baking so far
positive_resultIs this a positive bake result?
required_bake_timeAmount of time required to bake the food
who_baked_usREF() to the mind which placed us in an oven

Procs

finish_bakingRan when an object finished baking
on_bakeRan every time an item is baked by something
on_baking_startSignal proc for [COMSIG_ITEM_OVEN_PLACED_IN] when baking starts (parent enters an oven)
on_examineGives info about the items baking status so you can see if its almost done
+

Var Details

added_reagents + + + + +

+

Reagents that should be added to the result

bake_result + + + + +

+

Result atom type of baking this object

current_bake_time + + + + +

+

Time spent baking so far

positive_result + + + + +

+

Is this a positive bake result?

required_bake_time + + + + +

+

Amount of time required to bake the food

who_baked_us + + + + +

+

REF() to the mind which placed us in an oven

Proc Details

finish_baking +

+

Ran when an object finished baking

on_bake +

+

Ran every time an item is baked by something

on_baking_start +

+

Signal proc for [COMSIG_ITEM_OVEN_PLACED_IN] when baking starts (parent enters an oven)

on_examine +

+

Gives info about the items baking status so you can see if its almost done

+ + + diff --git a/datum/component/basic_inhands.html b/datum/component/basic_inhands.html new file mode 100644 index 00000000000..7ae050891b5 --- /dev/null +++ b/datum/component/basic_inhands.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/basic_inhands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basic_inhands + + + +

+ +

Basic handling for showing held items in a mob's hands

+ + + + + +

Vars

cached_overlaysWhat overlays are we currently showing?
display_layerLayer index we show our inhands upon
x_offsetX offset to apply to inhands, is inverted for the left hand
y_offsetY offset to apply to inhands

Procs

on_updated_held_itemsWhen your number of held items changes, regenerate held icons
on_updated_overlaysWhen your overlays update, add your held overlays
+

Var Details

cached_overlays + + + + +

+

What overlays are we currently showing?

display_layer + + + + +

+

Layer index we show our inhands upon

x_offset + + + + +

+

X offset to apply to inhands, is inverted for the left hand

y_offset + + + + +

+

Y offset to apply to inhands

Proc Details

on_updated_held_items +

+

When your number of held items changes, regenerate held icons

on_updated_overlays +

+

When your overlays update, add your held overlays

+ + + diff --git a/datum/component/basic_mob_ability_telegraph.html b/datum/component/basic_mob_ability_telegraph.html new file mode 100644 index 00000000000..8029dd0263d --- /dev/null +++ b/datum/component/basic_mob_ability_telegraph.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/basic_mob_ability_telegraph - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basic_mob_ability_telegraph + + + +

+ +

Component given to creatures to telegraph their abilities!

+ + + + + +

Vars

currently_telegraphingare we currently telegraphing
sound_pathsound to play, if any
telegraph_timehow long before we use our attack

Procs

generate_tell_signsgenerates the telegraph signs to inform the player we're about to launch an attack
on_ability_activatedelay the ability
use_abilityuse the ability
+

Var Details

currently_telegraphing + + + + +

+

are we currently telegraphing

sound_path + + + + +

+

sound to play, if any

telegraph_time + + + + +

+

how long before we use our attack

Proc Details

generate_tell_signs +

+

generates the telegraph signs to inform the player we're about to launch an attack

on_ability_activate +

+

delay the ability

use_ability +

+

use the ability

+ + + diff --git a/datum/component/basic_mob_attack_telegraph.html b/datum/component/basic_mob_attack_telegraph.html new file mode 100644 index 00000000000..0bd40d56a33 --- /dev/null +++ b/datum/component/basic_mob_attack_telegraph.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/basic_mob_attack_telegraph - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basic_mob_attack_telegraph + + + +

+ +

Delays outgoing attacks which are directed at mobs to give players time to get out of the way

+ + + + + + + +

Vars

current_targetOur current target, if we have one
on_began_forecastCallback executed when we start aiming at something
target_overlayOverlay which we display over targets
telegraph_durationTime to wait before attack can complete

Procs

delayed_attackPerform an attack after a delay
forget_targetThe guy we're trying to attack isn't a valid target any more
on_attackWhen we attempt to attack, check if it is allowed
target_movedThe guy we're trying to attack moved, is he still in range?
+

Var Details

current_target + + + + +

+

Our current target, if we have one

on_began_forecast + + + + +

+

Callback executed when we start aiming at something

target_overlay + + + + +

+

Overlay which we display over targets

telegraph_duration + + + + +

+

Time to wait before attack can complete

Proc Details

delayed_attack +

+

Perform an attack after a delay

forget_target +

+

The guy we're trying to attack isn't a valid target any more

on_attack +

+

When we attempt to attack, check if it is allowed

target_moved +

+

The guy we're trying to attack moved, is he still in range?

+ + + diff --git a/datum/component/basic_ranged_ready_overlay.html b/datum/component/basic_ranged_ready_overlay.html new file mode 100644 index 00000000000..f9f49c05e2e --- /dev/null +++ b/datum/component/basic_ranged_ready_overlay.html @@ -0,0 +1,72 @@ + + + + + + + /datum/component/basic_ranged_ready_overlay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basic_ranged_ready_overlay + + + +

+ +

Fade in an overlay x seconds after a basic mob makes a ranged attack +Indicates that it will be ready to fire again

+ + + + + +

Vars

display_afterTime after which to redisplay the overlay
overlay_stateIcon state for the overlay to display
waiting_timerTimer tracking when we can next fire

Procs

on_ranged_attackWhen we shoot, get rid of our overlay and queue its return
on_stat_changedDon't show overlay on a dead man
restore_overlayTry putting our overlay back
+

Var Details

display_after + + + + +

+

Time after which to redisplay the overlay

overlay_state + + + + +

+

Icon state for the overlay to display

waiting_timer + + + + +

+

Timer tracking when we can next fire

Proc Details

on_ranged_attack +

+

When we shoot, get rid of our overlay and queue its return

on_stat_changed +

+

Don't show overlay on a dead man

restore_overlay +

+

Try putting our overlay back

+ + + diff --git a/datum/component/bitrunning_points.html b/datum/component/bitrunning_points.html new file mode 100644 index 00000000000..87868f09ddf --- /dev/null +++ b/datum/component/bitrunning_points.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/bitrunning_points - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bitrunning_points + + + +

+ +

Attaches to a turf so it spawns a crate when a certain amount of points are added to it.

+ + + +

Vars

points_goalThe amount required to spawn a crate
points_receivedA special condition limits this from spawning a crate

Procs

on_add_pointsListens for points to be added which will eventually spawn a crate.
revealSpawns the crate with some effects
+

Var Details

points_goal + + + + +

+

The amount required to spawn a crate

points_received + + + + +

+

A special condition limits this from spawning a crate

Proc Details

on_add_points +

+

Listens for points to be added which will eventually spawn a crate.

reveal +

+

Spawns the crate with some effects

+ + + diff --git a/datum/component/blob_minion.html b/datum/component/blob_minion.html new file mode 100644 index 00000000000..a29270fce07 --- /dev/null +++ b/datum/component/blob_minion.html @@ -0,0 +1,120 @@ + + + + + + + /datum/component/blob_minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blob_minion + + + +

+ +

Common behaviour shared by things which are minions to a blob

+ + + + + + + + + + + + +

Vars

on_strain_changedCallback to run if overmind strain changes
overmindOvermind who is our boss

Procs

on_attempted_passSomeone is attempting to move through us, allow it if it is a blob tile
on_blob_touchedIf we feel the gentle caress of a blob, we feel better
on_burnedIf we feel the fearsome bite of open flame, we feel worse
on_mind_initBecome blobpilled when we gain a mind
on_space_moveIf we're near a blob, stop drifting
on_transformedCalled when a blob minion is transformed into something else, hopefully a spore into a zombie
on_try_speechWe only speak telepathically to blobs
on_update_appearanceWhen our icon is updated, update our colour too
on_update_status_tabWhen our icon is updated, update our colour too
overmind_deletedOur overmind is gone, uh oh!
overmind_properties_changedOur overmind has changed colour and properties
+

Var Details

on_strain_changed + + + + +

+

Callback to run if overmind strain changes

overmind + + + + +

+

Overmind who is our boss

Proc Details

on_attempted_pass +

+

Someone is attempting to move through us, allow it if it is a blob tile

on_blob_touched +

+

If we feel the gentle caress of a blob, we feel better

on_burned +

+

If we feel the fearsome bite of open flame, we feel worse

on_mind_init +

+

Become blobpilled when we gain a mind

on_space_move +

+

If we're near a blob, stop drifting

on_transformed +

+

Called when a blob minion is transformed into something else, hopefully a spore into a zombie

on_try_speech +

+

We only speak telepathically to blobs

on_update_appearance +

+

When our icon is updated, update our colour too

on_update_status_tab +

+

When our icon is updated, update our colour too

overmind_deleted +

+

Our overmind is gone, uh oh!

overmind_properties_changed +

+

Our overmind has changed colour and properties

+ + + diff --git a/datum/component/blood_walk.html b/datum/component/blood_walk.html new file mode 100644 index 00000000000..509d3b81de9 --- /dev/null +++ b/datum/component/blood_walk.html @@ -0,0 +1,87 @@ + + + + + + + /datum/component/blood_walk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blood_walk + + + +

+ +

Blood walk, a component that causes you to make blood wherever you walk.

+ + + + + + + +

Vars

blood_remainingHow many blood pools can we create? +If we reach 0, we will stop leaving blood and self delete
blood_spawn_chanceThe chance of spawning blood whenever walking
blood_typeTypepath of what blood decal we create on walk
sound_playedThe sound that plays when we spread blood.
sound_volumeHow loud will the sound be, if there is one.
target_dir_changeShould the decal face the direction of the parent
transfer_blood_dnaShould we transfer the parent's blood DNA to created blood decal

Procs

spread_bloodSpawns blood (if possible) under the source, and plays a sound effect (if any)
+

Var Details

blood_remaining + + + + +

+

How many blood pools can we create? +If we reach 0, we will stop leaving blood and self delete

blood_spawn_chance + + + + +

+

The chance of spawning blood whenever walking

blood_type + + + + +

+

Typepath of what blood decal we create on walk

sound_played + + + + +

+

The sound that plays when we spread blood.

sound_volume + + + + +

+

How loud will the sound be, if there is one.

target_dir_change + + + + +

+

Should the decal face the direction of the parent

transfer_blood_dna + + + + +

+

Should we transfer the parent's blood DNA to created blood decal

Proc Details

spread_blood +

+

Spawns blood (if possible) under the source, and plays a sound effect (if any)

+ + + diff --git a/datum/component/bloodysoles.html b/datum/component/bloodysoles.html new file mode 100644 index 00000000000..0b1bf4339f2 --- /dev/null +++ b/datum/component/bloodysoles.html @@ -0,0 +1,181 @@ + + + + + + + /datum/component/bloodysoles - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bloodysoles + + + +

+ +

Component for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes.

+ + + + + + + + + + + + + + + + + + + +

Vars

bloody_shoesHow much of each grubby type we have on our feet
equipped_slotThe ITEM_SLOT_* slot the item is equipped on, if it is.
last_blood_stateThe type of the last grub pool we stepped in, used to decide the type of footprints to make
last_pickupThe world.time when we last picked up blood
parent_atomThe parent item but casted into atom type for easier use.
wielderEither the mob carrying the item, or the mob itself for the /feet component subtype

Procs

add_parent_to_footprintAdds the parent type to the footprint's shoe_types var
adjust_bloody_shoeslowers bloody_shoes[index] by adjust_by
find_pool_by_blood_stateFind a blood decal on a turf that matches our last_blood_state
is_obscuredReturns true if the parent item is obscured by something else that the wielder is wearing
is_under_feet_coveredReturns true if the parent item is worn in the ITEM_SLOT_ICLOTHING slot and the +wielder is wearing something on their shoes.
on_changed_bloody_shoescalled whenever the value of bloody_soles changes
on_cleanCalled when the parent item is being washed
on_dropCalled when the parent item has been dropped
on_equipCalled when the parent item is equipped by someone
on_movedCalled when the wielder has moved
on_step_bloodprints merged +prints merged +Called when the wielder steps in a pool of blood
share_bloodRun to equally share the blood between us and a decal
unregisterUnregisters from the wielder if necessary
update_iconRun to update the icon of the parent
+

Var Details

bloody_shoes + + + + +

+

How much of each grubby type we have on our feet

equipped_slot + + + + +

+

The ITEM_SLOT_* slot the item is equipped on, if it is.

last_blood_state + + + + +

+

The type of the last grub pool we stepped in, used to decide the type of footprints to make

last_pickup + + + + +

+

The world.time when we last picked up blood

parent_atom + + + + +

+

The parent item but casted into atom type for easier use.

wielder + + + + +

+

Either the mob carrying the item, or the mob itself for the /feet component subtype

Proc Details

add_parent_to_footprint +

+

Adds the parent type to the footprint's shoe_types var

adjust_bloody_shoes +

+

lowers bloody_shoes[index] by adjust_by

find_pool_by_blood_state +

+

Find a blood decal on a turf that matches our last_blood_state

is_obscured +

+

Returns true if the parent item is obscured by something else that the wielder is wearing

is_under_feet_covered +

+

Returns true if the parent item is worn in the ITEM_SLOT_ICLOTHING slot and the +wielder is wearing something on their shoes.

+

Allows for jumpsuits to cover feet without getting all bloodied when their wearer +is wearing shoes.

on_changed_bloody_shoes +

+

called whenever the value of bloody_soles changes

on_clean +

+

Called when the parent item is being washed

on_drop +

+

Called when the parent item has been dropped

+

Used to deregister our wielder

on_equip +

+

Called when the parent item is equipped by someone

+

Used to register our wielder

on_moved +

+

Called when the wielder has moved

+

Used to make bloody footprints on the ground

on_step_blood +

+

prints merged +prints merged +Called when the wielder steps in a pool of blood

+

Used to make the parent item bloody

share_blood +

+

Run to equally share the blood between us and a decal

unregister +

+

Unregisters from the wielder if necessary

update_icon +

+

Run to update the icon of the parent

+ + + diff --git a/datum/component/boomerang.html b/datum/component/boomerang.html new file mode 100644 index 00000000000..edf950341f0 --- /dev/null +++ b/datum/component/boomerang.html @@ -0,0 +1,97 @@ + + + + + + + /datum/component/boomerang - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

boomerang + + + +

+ +

If an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.

+ + + + + + +

Vars

boomerang_throw_rangeHow far should the boomerang try to travel to return to the thrower?
last_boomerang_throwThis cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts.
thrower_easy_catch_enabledIf this boomerang is thrown, does it re-enable the throwers throw mode?

Procs

aerodynamic_swingProc that triggers when the thrown boomerang has been fully thrown, rethrowing the boomerang back to the thrower, and producing visible feedback.
prepare_throwProc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary.
return_hit_throwProc that triggers when the thrown boomerang hits an object.
return_missed_throwProc that triggers when the thrown boomerang does not hit a target.
+

Var Details

boomerang_throw_range + + + + +

+

How far should the boomerang try to travel to return to the thrower?

last_boomerang_throw + + + + +

+

This cooldown prevents our 2 throwing signals from firing too often based on how we implement those signals within thrown impacts.

thrower_easy_catch_enabled + + + + +

+

If this boomerang is thrown, does it re-enable the throwers throw mode?

Proc Details

aerodynamic_swing +

+

Proc that triggers when the thrown boomerang has been fully thrown, rethrowing the boomerang back to the thrower, and producing visible feedback.

+

prepare_throw +

+

Proc'd before the first thrown is performed in order to gather information regarding each throw as well as handle throw_mode as necessary.

+

return_hit_throw +

+

Proc that triggers when the thrown boomerang hits an object.

+

return_missed_throw +

+

Proc that triggers when the thrown boomerang does not hit a target.

+
+ + + diff --git a/datum/component/boss_music.html b/datum/component/boss_music.html new file mode 100644 index 00000000000..e1baa5cc27c --- /dev/null +++ b/datum/component/boss_music.html @@ -0,0 +1,82 @@ + + + + + + + /datum/component/boss_music - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

boss_music + + + +

+ +

Attaches to a hostile simplemob and plays that music while they have a target.

+ + + + + + +

Vars

boss_trackThe music track we will play to players.
music_callbacksList of callback timers, used to clear out mobs listening to boss music after track_duration.
players_listening_refsList of all mobs listening to the boss music currently. Cleared on Destroy or after track_duration.
track_durationHow long the track is, used to clear players out when the music is supposed to end.

Procs

clear_targetRemoves old_target from the list of players listening, and stops their music if it is still playing. +This allows them to have music played again if they re-enter combat with this fauna.
on_mob_deathCalled when a mob listening to boss music dies- ends their music early.
on_target_foundHandles giving the boss music to a new target the fauna has received. +Keeps track of them to not repeatedly overwrite its own track.
+

Var Details

boss_track + + + + +

+

The music track we will play to players.

music_callbacks + + + + +

+

List of callback timers, used to clear out mobs listening to boss music after track_duration.

players_listening_refs + + + + +

+

List of all mobs listening to the boss music currently. Cleared on Destroy or after track_duration.

track_duration + + + + +

+

How long the track is, used to clear players out when the music is supposed to end.

Proc Details

clear_target +

+

Removes old_target from the list of players listening, and stops their music if it is still playing. +This allows them to have music played again if they re-enter combat with this fauna.

on_mob_death +

+

Called when a mob listening to boss music dies- ends their music early.

on_target_found +

+

Handles giving the boss music to a new target the fauna has received. +Keeps track of them to not repeatedly overwrite its own track.

+ + + diff --git a/datum/component/breed.html b/datum/component/breed.html new file mode 100644 index 00000000000..27065727185 --- /dev/null +++ b/datum/component/breed.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/breed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

breed + + + +

+ + + + + + + +

Vars

baby_pathpath of the baby
breed_keyAI key we set when we're ready to breed
breed_timertime to wait after breeding
can_breed_withadditional mobs we can breed with
post_birthcallback after we give birth to the child
ready_to_breedare we ready to breed?
+

Var Details

baby_path + + + + +

+

path of the baby

breed_key + + + + +

+

AI key we set when we're ready to breed

breed_timer + + + + +

+

time to wait after breeding

can_breed_with + + + + +

+

additional mobs we can breed with

post_birth + + + + +

+

callback after we give birth to the child

ready_to_breed + + + + +

+

are we ready to breed?

+ + + diff --git a/datum/component/bullet_intercepting.html b/datum/component/bullet_intercepting.html new file mode 100644 index 00000000000..509bfd5f692 --- /dev/null +++ b/datum/component/bullet_intercepting.html @@ -0,0 +1,92 @@ + + + + + + + /datum/component/bullet_intercepting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bullet_intercepting + + + +

+ +

Component which allows an equipped item to occasionally absorb a projectile.

+ + + + + + + + +

Vars

active_slotsSlots in which effect can be active
block_chanceChance to intercept a projectile
block_typeType of bullet to intercept
on_interceptedCallback called when we catch a projectile
wearerPerson currently wearing us

Procs

on_parent_equippedCalled when item changes slots, check if we're in a valid location to take bullets
on_unequippedCalled when item is unequipped, stop tracking bullets
on_wearer_deletedCalled when wearer is deleted, stop tracking them
on_wearer_shotCalled when wearer is shot, check if we're going to block the hit
+

Var Details

active_slots + + + + +

+

Slots in which effect can be active

block_chance + + + + +

+

Chance to intercept a projectile

block_type + + + + +

+

Type of bullet to intercept

on_intercepted + + + + +

+

Callback called when we catch a projectile

wearer + + + + +

+

Person currently wearing us

Proc Details

on_parent_equipped +

+

Called when item changes slots, check if we're in a valid location to take bullets

on_unequipped +

+

Called when item is unequipped, stop tracking bullets

on_wearer_deleted +

+

Called when wearer is deleted, stop tracking them

on_wearer_shot +

+

Called when wearer is shot, check if we're going to block the hit

+ + + diff --git a/datum/component/bumpattack.html b/datum/component/bumpattack.html new file mode 100644 index 00000000000..f788c23ecd3 --- /dev/null +++ b/datum/component/bumpattack.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/bumpattack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bumpattack + + + +

+ + + + + + +

Vars

activewhether or not the behaviour would be active on the item
attack_cooldowncool down between each hit
proxy_weaponthe item that will gain this behaviour
valid_inventory_slotinventory slot that the item could be stored while still being able to attack with it. DO SLOT_HANDS|SLOT_BACK instead of a list for multiple slots
wearerthe mob handling the item
+

Var Details

active + + + + +

+

whether or not the behaviour would be active on the item

attack_cooldown + + + + +

+

cool down between each hit

proxy_weapon + + + + +

+

the item that will gain this behaviour

valid_inventory_slot + + + + +

+

inventory slot that the item could be stored while still being able to attack with it. DO SLOT_HANDS|SLOT_BACK instead of a list for multiple slots

wearer + + + + +

+

the mob handling the item

+ + + diff --git a/datum/component/burning.html b/datum/component/burning.html new file mode 100644 index 00000000000..4022ddd23d4 --- /dev/null +++ b/datum/component/burning.html @@ -0,0 +1,73 @@ + + + + + + + /datum/component/burning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

burning + + + +

+ +

Component representing an atom being on fire. +Should not be used on mobs, they use the fire stacks status effects. +Can only be used on atoms that use the integrity system.

+ + + + + +

Vars

fire_overlayFire overlay appearance we apply
particle_effectParticle holder for fire particles, if any

Procs

on_attack_handHandles searing the hand of anyone who tries to touch parent without protection.
on_examineAlerts any examiners that the parent is on fire (even though it should be rather obvious)
on_extinguishDeletes the component when the atom gets extinguished
on_update_overlaysMaintains the burning overlay on the parent atom
+

Var Details

fire_overlay + + + + +

+

Fire overlay appearance we apply

particle_effect + + + + +

+

Particle holder for fire particles, if any

Proc Details

on_attack_hand +

+

Handles searing the hand of anyone who tries to touch parent without protection.

on_examine +

+

Alerts any examiners that the parent is on fire (even though it should be rather obvious)

on_extinguish +

+

Deletes the component when the atom gets extinguished

on_update_overlays +

+

Maintains the burning overlay on the parent atom

+ + + diff --git a/datum/component/butchering.html b/datum/component/butchering.html new file mode 100644 index 00000000000..623de6ad2be --- /dev/null +++ b/datum/component/butchering.html @@ -0,0 +1,104 @@ + + + + + + + /datum/component/butchering - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

butchering + + + +

+ + + + + + + + + + + +

Vars

bonus_modifierPercentage increase to bonus item chance
butcher_callbackCallback for butchering
butcher_soundSound played when butchering
butchering_enabledWhether or not this component can be used to butcher currently. Used to temporarily disable butchering
can_be_bluntWhether or not this component is compatible with blunt tools.
effectivenessPercentage effectiveness; numbers above 100 yield extra drops
speedTime in deciseconds taken to butcher something

Procs

disable_butcheringDisables the butchering mechanic for the mob who has dropped us.
enable_butcheringEnables the butchering mechanic for the mob who has equipped us.
on_butcheringHandles a user butchering a target
+

Var Details

bonus_modifier + + + + +

+

Percentage increase to bonus item chance

butcher_callback + + + + +

+

Callback for butchering

butcher_sound + + + + +

+

Sound played when butchering

butchering_enabled + + + + +

+

Whether or not this component can be used to butcher currently. Used to temporarily disable butchering

can_be_blunt + + + + +

+

Whether or not this component is compatible with blunt tools.

effectiveness + + + + +

+

Percentage effectiveness; numbers above 100 yield extra drops

speed + + + + +

+

Time in deciseconds taken to butcher something

Proc Details

disable_butchering +

+

Disables the butchering mechanic for the mob who has dropped us.

enable_butchering +

+

Enables the butchering mechanic for the mob who has equipped us.

on_butchering +

+

Handles a user butchering a target

+

Arguments:

+
+ + + diff --git a/datum/component/butchering/mecha.html b/datum/component/butchering/mecha.html new file mode 100644 index 00000000000..c88ba94be92 --- /dev/null +++ b/datum/component/butchering/mecha.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/butchering/mecha - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mecha + + + +

+ + +

Procs

on_drillWhen we are ready to drill through a mob

Proc Details

on_drill +

+

When we are ready to drill through a mob

+ + + diff --git a/datum/component/butchering/wearable.html b/datum/component/butchering/wearable.html new file mode 100644 index 00000000000..41d0660e7bf --- /dev/null +++ b/datum/component/butchering/wearable.html @@ -0,0 +1,42 @@ + + + + + + + /datum/component/butchering/wearable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wearable + + + +

+ + + +

Procs

worn_disable_butcheringSame as disable_butchering but for worn items
worn_enable_butcheringSame as enable_butchering but for worn items

Proc Details

worn_disable_butchering +

+

Same as disable_butchering but for worn items

worn_enable_butchering +

+

Same as enable_butchering but for worn items

+ + + diff --git a/datum/component/caltrop.html b/datum/component/caltrop.html new file mode 100644 index 00000000000..bab52a87b3e --- /dev/null +++ b/datum/component/caltrop.html @@ -0,0 +1,86 @@ + + + + + + + /datum/component/caltrop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

caltrop + + + +

+ +

Caltrop element; for hurting people when they walk over this.

+

Used for broken glass, cactuses and four sided dice.

+ + + + + + + +

Vars

crossed_connectionsgiven to connect_loc to listen for something moving over target
dupe_modeSo we can update ant damage
flagsMiscelanous caltrop flags; shoe bypassing, walking interaction, silence
max_damageMaximum damage done when crossed
min_damageMinimum damage done when crossed
paralyze_durationAmount of time the spike will paralyze
probabilityProbability of actually "firing", stunning and doing damage
soundfileThe sound that plays when a caltrop is triggered.
+

Var Details

crossed_connections + + + + +

+

given to connect_loc to listen for something moving over target

dupe_mode + + + + +

+

So we can update ant damage

flags + + + + +

+

Miscelanous caltrop flags; shoe bypassing, walking interaction, silence

max_damage + + + + +

+

Maximum damage done when crossed

min_damage + + + + +

+

Minimum damage done when crossed

paralyze_duration + + + + +

+

Amount of time the spike will paralyze

probability + + + + +

+

Probability of actually "firing", stunning and doing damage

soundfile + + + + +

+

The sound that plays when a caltrop is triggered.

+ + + diff --git a/datum/component/chasm.html b/datum/component/chasm.html new file mode 100644 index 00000000000..e4925efae50 --- /dev/null +++ b/datum/component/chasm.html @@ -0,0 +1,49 @@ + + + + + + + /datum/component/chasm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chasm + + + +

+ + + +

Vars

falling_atomsList of refs to falling objects -> how many levels deep we've fallen

Procs

left_chasmCalled when something has left the chasm depths storage. +Arguments
+

Var Details

falling_atoms + + + + +

+

List of refs to falling objects -> how many levels deep we've fallen

Proc Details

left_chasm +

+

Called when something has left the chasm depths storage. +Arguments

+
+ + + diff --git a/datum/component/chuunibyou.html b/datum/component/chuunibyou.html new file mode 100644 index 00000000000..3f142b1ff09 --- /dev/null +++ b/datum/component/chuunibyou.html @@ -0,0 +1,89 @@ + + + + + + + /datum/component/chuunibyou - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chuunibyou + + + +

+ +chuunibyou component! +

Component that makes casted spells always a shout invocation, a very dumb one. And their projectiles are dumb too. +Oh, but it does heal after each spell cast.

+ + + + + + + +

Vars

casting_spellare we casting a spell right now
chuunibyou_invocationsinvocations per school the spell is from
heal_amountamount healed per spell cast
heal_cooldowncooldown for healing

Procs

on_after_spell_castsignal sent after parent casts a spell
on_pre_invocationsignal sent before parent invokes a spell
on_spell_projectilesignal sent when the parent casts a spell that has a projectile
on_try_speechsignal sent when the parent tries to speak. we let speech pass if we are casting a spell so mimes still chuuni their spellcasts +(this may end in the mime dying)
+

Var Details

casting_spell + + + + +

+

are we casting a spell right now

chuunibyou_invocations + + + + +

+

invocations per school the spell is from

heal_amount + + + + +

+

amount healed per spell cast

heal_cooldown + + + + +

+

cooldown for healing

Proc Details

on_after_spell_cast +

+

signal sent after parent casts a spell

on_pre_invocation +

+

signal sent before parent invokes a spell

on_spell_projectile +

+

signal sent when the parent casts a spell that has a projectile

on_try_speech +

+

signal sent when the parent tries to speak. we let speech pass if we are casting a spell so mimes still chuuni their spellcasts +(this may end in the mime dying)

+ + + diff --git a/datum/component/circuit_component_add_port.html b/datum/component/circuit_component_add_port.html new file mode 100644 index 00000000000..6ee1a48cf8f --- /dev/null +++ b/datum/component/circuit_component_add_port.html @@ -0,0 +1,99 @@ + + + + + + + /datum/component/circuit_component_add_port - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuit_component_add_port + + + +

+ +

Helper component that handles users adding/removing ports from a circuit component.

+ + + + + + + + + +

Vars

add_actionThe action to add a port on
is_outputWhether we are adding output ports or not
maximum_amountThe maximum amount of ports allowed
minimum_amountThe minimum amount of ports required
orderThe order of the new ports
port_listThe list to add the ports to when created
port_typeThe type of port
prefixThe prefix of the new ports
remove_actionThe action to remove a port on

Procs

add_portTake the port type of the first stored list element, useful if the types of the ports change
+

Var Details

add_action + + + + +

+

The action to add a port on

is_output + + + + +

+

Whether we are adding output ports or not

maximum_amount + + + + +

+

The maximum amount of ports allowed

minimum_amount + + + + +

+

The minimum amount of ports required

order + + + + +

+

The order of the new ports

port_list + + + + +

+

The list to add the ports to when created

port_type + + + + +

+

The type of port

prefix + + + + +

+

The prefix of the new ports

remove_action + + + + +

+

The action to remove a port on

Proc Details

add_port +

+

Take the port type of the first stored list element, useful if the types of the ports change

+ + + diff --git a/datum/component/cleaner.html b/datum/component/cleaner.html new file mode 100644 index 00000000000..764d85a148a --- /dev/null +++ b/datum/component/cleaner.html @@ -0,0 +1,108 @@ + + + + + + + /datum/component/cleaner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cleaner + + + +

+ +

Component that can be used to clean things. +Takes care of duration, cleaning skill and special cleaning interactions. +A callback can be set by the datum holding the cleaner to add custom functionality. +Soap uses a callback to decrease the amount of uses it has left after cleaning for example.

+ + + + + + + +

Vars

base_cleaning_durationThe time it takes to clean something, without reductions from the cleaning skill modifier.
cleaning_strengthDetermines what this cleaner can wash off, the available options are found here.
on_cleaned_callbackGets called when something is successfully cleaned.
pre_clean_callbackGets called before you start cleaning, returns TRUE/FALSE whether the clean should actually wash tiles, or DO_NOT_CLEAN to not clean at all.
skill_duration_modifier_offsetOffsets the cleaning duration modifier that you get from your cleaning skill, the duration won't be modified to be more than the base duration.

Procs

cleanCleans something using this cleaner. +The cleaning duration is modified by the cleaning skill of the user. +Successfully cleaning gives cleaning experience to the user and invokes the on_cleaned_callback.
on_afterattackHandles the COMSIG_ITEM_AFTERATTACK signal by calling the clean proc.
on_unarmed_attackHandles the COMSIG_LIVING_UNARMED_ATTACK signal used for cleanbots +Redirects to afterattack, while setting parent (the bot) as user.
+

Var Details

base_cleaning_duration + + + + +

+

The time it takes to clean something, without reductions from the cleaning skill modifier.

cleaning_strength + + + + +

+

Determines what this cleaner can wash off, the available options are found here.

on_cleaned_callback + + + + +

+

Gets called when something is successfully cleaned.

pre_clean_callback + + + + +

+

Gets called before you start cleaning, returns TRUE/FALSE whether the clean should actually wash tiles, or DO_NOT_CLEAN to not clean at all.

skill_duration_modifier_offset + + + + +

+

Offsets the cleaning duration modifier that you get from your cleaning skill, the duration won't be modified to be more than the base duration.

Proc Details

clean +

+

Cleans something using this cleaner. +The cleaning duration is modified by the cleaning skill of the user. +Successfully cleaning gives cleaning experience to the user and invokes the on_cleaned_callback.

+

Arguments

+

on_afterattack +

+

Handles the COMSIG_ITEM_AFTERATTACK signal by calling the clean proc.

+

Arguments

+

on_unarmed_attack +

+

Handles the COMSIG_LIVING_UNARMED_ATTACK signal used for cleanbots +Redirects to afterattack, while setting parent (the bot) as user.

+ + + diff --git a/datum/component/clickbox.html b/datum/component/clickbox.html new file mode 100644 index 00000000000..e5efc34e0c1 --- /dev/null +++ b/datum/component/clickbox.html @@ -0,0 +1,82 @@ + + + + + + + /datum/component/clickbox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

clickbox + + + +

+ +

This component adds a near-invisible underlay to a movable target to expand the clickable surface of its icon without +resorting to MOUSE_OPACITY_OPAQUE. +The underlay ignores the parent's color and alpha and can be offset. +The name is a portmanteau of "click" and "hitbox", because technically this isn't an hitbox, +but it helps catch clicks, and I don't want to give it a loooong name like openspace_item_click_handler

+ + + + + + +

Vars

clickbox_underlaythe underlay that has been added to the parent.
dead_stateFor simple animals that have different icon states when dead.
icon_stateThe icon state of the underlay.
max_scaleMaximum width/height of the underlay, in case the attached atom is scaled up.
min_scaleMinimum width/height of the underlay, in case the attached atom is scaled down.
x_offsetThe offsets of the underlay.

Procs

update_underlayRemoves the old underlay and adds a new one. The underlay is scaled up/down if necessary
+

Var Details

clickbox_underlay + + + + +

+

the underlay that has been added to the parent.

dead_state + + + + +

+

For simple animals that have different icon states when dead.

icon_state + + + + +

+

The icon state of the underlay.

max_scale + + + + +

+

Maximum width/height of the underlay, in case the attached atom is scaled up.

min_scale + + + + +

+

Minimum width/height of the underlay, in case the attached atom is scaled down.

x_offset + + + + +

+

The offsets of the underlay.

Proc Details

update_underlay +

+

Removes the old underlay and adds a new one. The underlay is scaled up/down if necessary

+ + + diff --git a/datum/component/clothing_fov_visor.html b/datum/component/clothing_fov_visor.html new file mode 100644 index 00000000000..bc73e38e8db --- /dev/null +++ b/datum/component/clothing_fov_visor.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/clothing_fov_visor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

clothing_fov_visor + + + +

+ +

An element to add a FOV trait to the wearer, removing it when an item is unequipped, but only as long as the visor is up.

+ + + + + + +

Vars

fov_angleWhat's the FOV angle of the trait we're applying to the wearer
is_wornBecause of clothing code not being too good, we need keep track whether we are worn.
visor_upKeeping track of the visor of our clothing.
wearerThe current wearer

Procs

on_dropOn dropping the item, remove the FoV trait if visor was down.
on_equipOn equipping the item, add the FoV trait if visor isn't up.
on_visor_toggleOn toggling the visor, we may want to add or remove FOV trait from the wearer.
+

Var Details

fov_angle + + + + +

+

What's the FOV angle of the trait we're applying to the wearer

is_worn + + + + +

+

Because of clothing code not being too good, we need keep track whether we are worn.

visor_up + + + + +

+

Keeping track of the visor of our clothing.

wearer + + + + +

+

The current wearer

Proc Details

on_drop +

+

On dropping the item, remove the FoV trait if visor was down.

on_equip +

+

On equipping the item, add the FoV trait if visor isn't up.

on_visor_toggle +

+

On toggling the visor, we may want to add or remove FOV trait from the wearer.

+ + + diff --git a/datum/component/codeword_hearing.html b/datum/component/codeword_hearing.html new file mode 100644 index 00000000000..68f805646e3 --- /dev/null +++ b/datum/component/codeword_hearing.html @@ -0,0 +1,69 @@ + + + + + + + /datum/component/codeword_hearing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

codeword_hearing + + + +

+ +

Component that allows for highlighting of words or phrases in chat based on regular expressions.

+

Hooks into the parent's COMSIG_MOVABLE_HEAR signal to wrap every regex match in the message +between tags with the provided span class. This modifies the output that +is sent to the parent's chat window.

+

Removal of this component should be done by calling [GetComponents(/datum/component/codeword_hearing)] +on the parent and then iterating through all components calling [delete_if_from_source(source)].

+ + + + +

Vars

replace_regexRegex for matching words or phrases you want highlighted.
sourceThe source of this component. Used to identify the source in delete_if_from_source since this component is COMPONENT_DUPE_ALLOWED.
span_classThe to use for highlighting matches.

Procs

delete_if_from_sourceSince a parent can have multiple of these components on them simultaneously, this allows a datum to delete components from a specific source.
handle_hearingCallback for COMSIG_MOVABLE_HEAR which highlights syndicate code phrases in chat.
+

Var Details

replace_regex + + + + +

+

Regex for matching words or phrases you want highlighted.

source + + + + +

+

The source of this component. Used to identify the source in delete_if_from_source since this component is COMPONENT_DUPE_ALLOWED.

span_class + + + + +

+

The to use for highlighting matches.

Proc Details

delete_if_from_source +

+

Since a parent can have multiple of these components on them simultaneously, this allows a datum to delete components from a specific source.

handle_hearing +

+

Callback for COMSIG_MOVABLE_HEAR which highlights syndicate code phrases in chat.

+ + + diff --git a/datum/component/combo_attacks.html b/datum/component/combo_attacks.html new file mode 100644 index 00000000000..eabde514a5b --- /dev/null +++ b/datum/component/combo_attacks.html @@ -0,0 +1,92 @@ + + + + + + + /datum/component/combo_attacks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

combo_attacks + + + +

+ + + + + + + + + + +

Vars

can_attack_callbackA callback to the proc that checks whether or not we can do combo attacks.
combo_listAssociative list of all the combo moves. Name of Attack = list(COMBO_STEPS = list(Steps made of LEFT_ATTACK and RIGHT_ATTACK), COMBO_PROC = PROC_REF(Proc Name))
combo_stringsA list of strings containing the ways to do combos, for examines.
examine_messageMessage when the item is examined.
input_listList of inputs done by user.
leniency_timeHow much time before the combo resets.
max_combo_lengthLength of combo we allow before resetting.
reset_messageBalloon alert message when the combo is reset.
timeridID for the reset combo timer.
+

Var Details

can_attack_callback + + + + +

+

A callback to the proc that checks whether or not we can do combo attacks.

combo_list + + + + +

+

Associative list of all the combo moves. Name of Attack = list(COMBO_STEPS = list(Steps made of LEFT_ATTACK and RIGHT_ATTACK), COMBO_PROC = PROC_REF(Proc Name))

combo_strings + + + + +

+

A list of strings containing the ways to do combos, for examines.

examine_message + + + + +

+

Message when the item is examined.

input_list + + + + +

+

List of inputs done by user.

leniency_time + + + + +

+

How much time before the combo resets.

max_combo_length + + + + +

+

Length of combo we allow before resetting.

reset_message + + + + +

+

Balloon alert message when the combo is reset.

timerid + + + + +

+

ID for the reset combo timer.

+ + + diff --git a/datum/component/combustible_flooder.html b/datum/component/combustible_flooder.html new file mode 100644 index 00000000000..1bd088302bd --- /dev/null +++ b/datum/component/combustible_flooder.html @@ -0,0 +1,70 @@ + + + + + + + /datum/component/combustible_flooder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

combustible_flooder + + + +

+ +

Component that floods gas when ignited by fire.

+ + + + + +

Procs

attackby_reactBeing attacked by something
flame_reactfire_act reaction.
floodDo the flooding. Trigger temperature is the temperature we will flood at if we dont have a temp set at the start. Trigger referring to whatever triggered it.
hotspots_reactHotspot reaction.
projectile_reactShot by something
welder_reactWelder check. Here because tool_act is higher priority than attackby.

Proc Details

attackby_react +

+

Being attacked by something

flame_react +

+

fire_act reaction.

flood +

+

Do the flooding. Trigger temperature is the temperature we will flood at if we dont have a temp set at the start. Trigger referring to whatever triggered it.

hotspots_react +

+

Hotspot reaction.

projectile_react +

+

Shot by something

welder_react +

+

Welder check. Here because tool_act is higher priority than attackby.

+ + + diff --git a/datum/component/connect_containers.html b/datum/component/connect_containers.html new file mode 100644 index 00000000000..d33cc60017b --- /dev/null +++ b/datum/component/connect_containers.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/connect_containers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

connect_containers + + + +

+ +

This component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.

+ +

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
trackedThe atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

tracked + + + + +

+

The atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves.

+ + + diff --git a/datum/component/connect_loc_behalf.html b/datum/component/connect_loc_behalf.html new file mode 100644 index 00000000000..bf6a2474044 --- /dev/null +++ b/datum/component/connect_loc_behalf.html @@ -0,0 +1,39 @@ + + + + + + + /datum/component/connect_loc_behalf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

connect_loc_behalf + + + +

+ +

This component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.

+

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

+ + + diff --git a/datum/component/connect_mob_behalf.html b/datum/component/connect_mob_behalf.html new file mode 100644 index 00000000000..0112a00ed24 --- /dev/null +++ b/datum/component/connect_mob_behalf.html @@ -0,0 +1,52 @@ + + + + + + + /datum/component/connect_mob_behalf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

connect_mob_behalf + + + +

+ +

This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful

+ + +

Vars

connectionsAn assoc list of signal -> procpath to register to the mob our client "owns"
trackedThe master client we're working with
tracked_mobThe mob we're currently tracking
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the mob our client "owns"

tracked + + + + +

+

The master client we're working with

tracked_mob + + + + +

+

The mob we're currently tracking

+ + + diff --git a/datum/component/connect_range.html b/datum/component/connect_range.html new file mode 100644 index 00000000000..ef980a34ffa --- /dev/null +++ b/datum/component/connect_range.html @@ -0,0 +1,61 @@ + + + + + + + /datum/component/connect_range - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

connect_range + + + +

+ +

This component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.

+ + + +

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
rangeThe component will hook into signals only on turfs not farther from tracked than this.
trackedThe atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves (if it's a movable).
works_in_containersWhether the component works when the movable isn't directly located on a turf.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

range + + + + +

+

The component will hook into signals only on turfs not farther from tracked than this.

tracked + + + + +

+

The atom the component is tracking. The component will delete itself if the tracked is deleted. +Signals will also be updated whenever it moves (if it's a movable).

works_in_containers + + + + +

+

Whether the component works when the movable isn't directly located on a turf.

+ + + diff --git a/datum/component/construction/mecha.html b/datum/component/construction/mecha.html new file mode 100644 index 00000000000..56b5bb1a279 --- /dev/null +++ b/datum/component/construction/mecha.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/construction/mecha - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mecha + + + +

+ +

Construction datums

+

Procs

custom_actionGeneric mech construction messages

Proc Details

custom_action +

+

Generic mech construction messages

+ + + diff --git a/datum/component/container_item.html b/datum/component/container_item.html new file mode 100644 index 00000000000..728f5de4d55 --- /dev/null +++ b/datum/component/container_item.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/container_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

container_item + + + +

+ +

Container item, an item which can be stored by specialized containers.

+

Procs

try_attachCalled when parent is added to the container.

Proc Details

try_attach +

+

Called when parent is added to the container.

+ + + diff --git a/datum/component/crank_recharge.html b/datum/component/crank_recharge.html new file mode 100644 index 00000000000..4320467edd5 --- /dev/null +++ b/datum/component/crank_recharge.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/crank_recharge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crank_recharge + + + +

+ + + + + + + +

Vars

charge_amountHow much charge we give our cell on each crank
charge_soundThe sound used when charging, renember to adjust the cooldown time to keep it sensible
charge_sound_cooldown_timeHow long is the cooldown between charging sounds
charging_cellOur cell to charge
cooldown_timeHow long is the cooldown time between each charge
is_chargingAre we currently charging
+

Var Details

charge_amount + + + + +

+

How much charge we give our cell on each crank

charge_sound + + + + +

+

The sound used when charging, renember to adjust the cooldown time to keep it sensible

charge_sound_cooldown_time + + + + +

+

How long is the cooldown between charging sounds

charging_cell + + + + +

+

Our cell to charge

cooldown_time + + + + +

+

How long is the cooldown time between each charge

is_charging + + + + +

+

Are we currently charging

+ + + diff --git a/datum/component/crate_carrier.html b/datum/component/crate_carrier.html new file mode 100644 index 00000000000..5cea1c4d463 --- /dev/null +++ b/datum/component/crate_carrier.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/crate_carrier - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crate_carrier + + + +

+ +

Component for simplemobs and basicmobs that allow them to carry crates.

+ + + + + + +

Vars

carriable_cacheTypecache of all the types we can pick up and carry
crate_limitThe max number of crates we can carry
crates_in_handA lazylist of all crates we are carrying

Procs

drop_all_cratesDrops all the crates in our crate list.
on_deathSignal proc for COMSIG_LIVING_DEATH, so we drop crates on death or gib
on_examineSignal proc for COMSIG_ATOM_EXAMINE to show when we're carrying crates
on_unarm_attackSignal proc for COMSIG_LIVING_UNARMED_ATTACK to allow mobs to pick up or drop crates
+

Var Details

carriable_cache + + + + +

+

Typecache of all the types we can pick up and carry

crate_limit + + + + +

+

The max number of crates we can carry

crates_in_hand + + + + +

+

A lazylist of all crates we are carrying

Proc Details

drop_all_crates +

+

Drops all the crates in our crate list.

on_death +

+

Signal proc for COMSIG_LIVING_DEATH, so we drop crates on death or gib

on_examine +

+

Signal proc for COMSIG_ATOM_EXAMINE to show when we're carrying crates

on_unarm_attack +

+

Signal proc for COMSIG_LIVING_UNARMED_ATTACK to allow mobs to pick up or drop crates

+ + + diff --git a/datum/component/creamed.html b/datum/component/creamed.html new file mode 100644 index 00000000000..21d9cb70d0e --- /dev/null +++ b/datum/component/creamed.html @@ -0,0 +1,72 @@ + + + + + + + /datum/component/creamed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

creamed + + + +

+ +

Creamed component

+

For when you have pie on your face

+ + + + + +

Vars

bodypart_overlayCreampie bodypart overlay we use for carbon mobs
my_headCached head for carbons, to ensure proper removal of the creampie overlay
normal_overlayCreampie overlay we use for non-carbon mobs

Procs

clean_upCallback to remove pieface
lost_headRemoves creampie when the head gets dismembered
update_overlaysEnsures normal_overlay overlay in case the mob is not a carbon
+

Var Details

bodypart_overlay + + + + +

+

Creampie bodypart overlay we use for carbon mobs

my_head + + + + +

+

Cached head for carbons, to ensure proper removal of the creampie overlay

normal_overlay + + + + +

+

Creampie overlay we use for non-carbon mobs

Proc Details

clean_up +

+

Callback to remove pieface

lost_head +

+

Removes creampie when the head gets dismembered

update_overlays +

+

Ensures normal_overlay overlay in case the mob is not a carbon

+ + + diff --git a/datum/component/ctf_player.html b/datum/component/ctf_player.html new file mode 100644 index 00000000000..dfa897dc1db --- /dev/null +++ b/datum/component/ctf_player.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/ctf_player - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ctf_player + + + +

+ +

A component added to the mind of anyone who is playing in an ongoing CTF match. Any player specific CTF functionality should be implimented here. (someone should impliment score tracking here)

+ + + + + + + + + + + +

Vars

can_respawnWeather or not the player is currently able to respawn.
ckey_referenceReference to players ckey, used for sending messages to them relating to CTF.
ctf_gameReference to the game this player is participating in.
death_dropItem dropped on death,
player_mobA reference to the players mob, cleared after they die, restored on respawn.
teamThe team that this player is associated with.

Procs

allow_respawnsCalled after a period of time pulled from ctf_game, allows the player to respawn in CTF.
ctf_dustDusts the player and starts a respawn countdown.
damage_type_checkStamina and oxygen damage will not dust a player by themself.
end_gameCalled when the associated CTF game ends or their associated team is deleted, dusts the player and deletes this component to ensure no data from it is carried over to future games.
register_mobCalled when we get a new player mob, register signals and set up the mob.
send_messageSends a message to the player.
+

Var Details

can_respawn + + + + +

+

Weather or not the player is currently able to respawn.

ckey_reference + + + + +

+

Reference to players ckey, used for sending messages to them relating to CTF.

ctf_game + + + + +

+

Reference to the game this player is participating in.

death_drop + + + + +

+

Item dropped on death,

player_mob + + + + +

+

A reference to the players mob, cleared after they die, restored on respawn.

team + + + + +

+

The team that this player is associated with.

Proc Details

allow_respawns +

+

Called after a period of time pulled from ctf_game, allows the player to respawn in CTF.

ctf_dust +

+

Dusts the player and starts a respawn countdown.

damage_type_check +

+

Stamina and oxygen damage will not dust a player by themself.

end_game +

+

Called when the associated CTF game ends or their associated team is deleted, dusts the player and deletes this component to ensure no data from it is carried over to future games.

register_mob +

+

Called when we get a new player mob, register signals and set up the mob.

send_message +

+

Sends a message to the player.

+ + + diff --git a/datum/component/cult_ritual_item.html b/datum/component/cult_ritual_item.html new file mode 100644 index 00000000000..e9f5159d9a9 --- /dev/null +++ b/datum/component/cult_ritual_item.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/cult_ritual_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cult_ritual_item + + + +

+ + + + + + +

Vars

drawing_a_runeWhether we are currently being used to draw a rune.
examine_messageThe message displayed when the parent is examined, if supplied.
linked_action_refWeakref to an action added to our parent item that allows for quick drawing runes
shieldsA list of all shields surrounding us while drawing certain runes (Nar'sie).
turfs_that_boost_usA list of turfs that we scribe runes at double speed on.
+

Var Details

drawing_a_rune + + + + +

+

Whether we are currently being used to draw a rune.

examine_message + + + + +

+

The message displayed when the parent is examined, if supplied.

linked_action_ref + + + + +

+

Weakref to an action added to our parent item that allows for quick drawing runes

shields + + + + +

+

A list of all shields surrounding us while drawing certain runes (Nar'sie).

turfs_that_boost_us + + + + +

+

A list of turfs that we scribe runes at double speed on.

+ + + diff --git a/datum/component/curse_of_hunger.html b/datum/component/curse_of_hunger.html new file mode 100644 index 00000000000..4f2fa53f3fb --- /dev/null +++ b/datum/component/curse_of_hunger.html @@ -0,0 +1,93 @@ + + + + + + + /datum/component/curse_of_hunger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

curse_of_hunger + + + +

+ +

curse of hunger component; for very hungry items.

+

Used as a rpgloot suffix and wizard spell!

+ + + + + + + + +

Vars

add_dropdelwhether to add dropdel to the item with curse of hunger, used for temporary curses like the wizard duffelbags
awakeneditems given the curse of hunger will not seek out someone else to latch onto until they are dropped for the first time.
current_healthThe bag's current "health". IE, how many more times you need to poison it to stop it.
hungercounts time passed since it ate food
max_healthThe bag's max "health". IE, how many times you need to poison it.

Procs

on_dropsignal called from dropping parent
on_equipsignal called from equipping parent
on_examinesignal called on parent being examined
seek_new_targetproc called after a timer to awaken the AI in the cursed item if it doesn't have a target already.
+

Var Details

add_dropdel + + + + +

+

whether to add dropdel to the item with curse of hunger, used for temporary curses like the wizard duffelbags

awakened + + + + +

+

items given the curse of hunger will not seek out someone else to latch onto until they are dropped for the first time.

current_health + + + + +

+

The bag's current "health". IE, how many more times you need to poison it to stop it.

hunger + + + + +

+

counts time passed since it ate food

max_health + + + + +

+

The bag's max "health". IE, how many times you need to poison it.

Proc Details

on_drop +

+

signal called from dropping parent

on_equip +

+

signal called from equipping parent

on_examine +

+

signal called on parent being examined

seek_new_target +

+

proc called after a timer to awaken the AI in the cursed item if it doesn't have a target already.

+ + + diff --git a/datum/component/curse_of_polymorph.html b/datum/component/curse_of_polymorph.html new file mode 100644 index 00000000000..febdf26110a --- /dev/null +++ b/datum/component/curse_of_polymorph.html @@ -0,0 +1,40 @@ + + + + + + + /datum/component/curse_of_polymorph - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

curse_of_polymorph + + + +

+ +

check hp +poisoned food damages it +no food found, but you're dead: it bites you slightly, and doesn't regain health. +no food found: it bites you and regains some health. +curse of polymorph component;

+

Used as a rpgloot suffix and wizard spell!

+

Procs

on_equipsignal called from equipping parent

Proc Details

on_equip +

+

signal called from equipping parent

+ + + diff --git a/datum/component/customizable_reagent_holder.html b/datum/component/customizable_reagent_holder.html new file mode 100644 index 00000000000..1e72f19cba2 --- /dev/null +++ b/datum/component/customizable_reagent_holder.html @@ -0,0 +1,167 @@ + + + + + + + /datum/component/customizable_reagent_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Custom Atom Component + + + +

+ +

When added to an atom, item ingredients can be put into that. +The sprite is updated and reagents are transferred.

+

If the component is added to something that is processed, creating new objects (being cut, for example), +the replacement type needs to also have the component. The ingredients will be copied over. Reagents are not +copied over since other components already take care of that.

+ + + + + + + + + + + + + + + + + +

Vars

fill_typeType of fill, can be [CUSTOM_INGREDIENT_ICON_NOCHANGE] for example.
ingredient_typeType of ingredients to accept, [CUSTOM_INGREDIENT_TYPE_EDIBLE] for example.
ingredientsList of item ingredients.
max_ingredientsNumber of max ingredients.
replacementType path of replacement atom.
screentip_verbAdds screentips for all items that call on this proc, defaults to "Add"
top_overlayOverlay used for certain fill types, always shows up on top.

Procs

add_ingredientAdds a new ingredient and updates the parent's name.
custom_adjectiveGives an adjective to describe the size of the custom food.
custom_typeGives the type of custom food (based on what the first ingredient was).
customizable_attackHandles when the customizable food is attacked by something.
handle_fillHandles the icon update for a new ingredient.
handle_reagentsTakes the reagents from an ingredient.
mix_colorReturns the color of the input mixed with the top_overlay's color.
on_examineHandles when the customizable food is examined.
on_processedCopies over the parent's ingredients to the processing results (such as slices when the parent is cut).
on_requesting_context_from_itemAdds context sensitivy directly to the customizable reagent holder file for screentips +Arguments:
valid_ingredientProc that checks if an ingredient is valid or not, returning false if it isnt and true if it is.
+

Var Details

fill_type + + + + +

+

Type of fill, can be [CUSTOM_INGREDIENT_ICON_NOCHANGE] for example.

ingredient_type + + + + +

+

Type of ingredients to accept, [CUSTOM_INGREDIENT_TYPE_EDIBLE] for example.

ingredients + + + + +

+

List of item ingredients.

max_ingredients + + + + +

+

Number of max ingredients.

replacement + + + + +

+

Type path of replacement atom.

screentip_verb + + + + +

+

Adds screentips for all items that call on this proc, defaults to "Add"

top_overlay + + + + +

+

Overlay used for certain fill types, always shows up on top.

Proc Details

add_ingredient +

+

Adds a new ingredient and updates the parent's name.

custom_adjective +

+

Gives an adjective to describe the size of the custom food.

custom_type +

+

Gives the type of custom food (based on what the first ingredient was).

customizable_attack +

+

Handles when the customizable food is attacked by something.

handle_fill +

+

Handles the icon update for a new ingredient.

handle_reagents +

+

Takes the reagents from an ingredient.

mix_color +

+

Returns the color of the input mixed with the top_overlay's color.

on_examine +

+

Handles when the customizable food is examined.

on_processed +

+

Copies over the parent's ingredients to the processing results (such as slices when the parent is cut).

on_requesting_context_from_item +

+

Adds context sensitivy directly to the customizable reagent holder file for screentips +Arguments:

+

valid_ingredient +

+

Proc that checks if an ingredient is valid or not, returning false if it isnt and true if it is.

+ + + diff --git a/datum/component/damage_aura.html b/datum/component/damage_aura.html new file mode 100644 index 00000000000..b45619c3b88 --- /dev/null +++ b/datum/component/damage_aura.html @@ -0,0 +1,135 @@ + + + + + + + /datum/component/damage_aura - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

damage_aura + + + +

+ +

Applies a status effect and deals damage to people in the area. +Will deal more damage the more people are present.

+ + + + + + + + + + + + + + +

Vars

blood_damageAmount of blood to damage over a second
brute_damageBrute damage to damage over a second
burn_damageBurn damage to damage over a second
current_ownerSets a special set of conditions for the owner
immune_factionsWhich factions are immune to the damage aura
last_damage_effect_timeDeclares the cooldown timer for the damage aura effect to take place
organ_damageMap of organ (such as ORGAN_SLOT_BRAIN) to damage damage over a second
rangeThe range of which to damage
requires_visibilityWhether or not you must be a visible object of the parent
simple_damageAmount of damage to damage on simple mobs over a second
stamina_damageStamina damage to damage over a second
suffocation_damageSuffocation damage to damage over a second
toxin_damageToxin damage to damage over a second

Procs

check_requirementsThe requirements for the mob to be effected by the damage aura.
owner_effectWhat effect the damage aura has if it has an owner.
+

Var Details

blood_damage + + + + +

+

Amount of blood to damage over a second

brute_damage + + + + +

+

Brute damage to damage over a second

burn_damage + + + + +

+

Burn damage to damage over a second

current_owner + + + + +

+

Sets a special set of conditions for the owner

immune_factions + + + + +

+

Which factions are immune to the damage aura

last_damage_effect_time + + + + +

+

Declares the cooldown timer for the damage aura effect to take place

organ_damage + + + + +

+

Map of organ (such as ORGAN_SLOT_BRAIN) to damage damage over a second

range + + + + +

+

The range of which to damage

requires_visibility + + + + +

+

Whether or not you must be a visible object of the parent

simple_damage + + + + +

+

Amount of damage to damage on simple mobs over a second

stamina_damage + + + + +

+

Stamina damage to damage over a second

suffocation_damage + + + + +

+

Suffocation damage to damage over a second

toxin_damage + + + + +

+

Toxin damage to damage over a second

Proc Details

check_requirements +

+

The requirements for the mob to be effected by the damage aura.

owner_effect +

+

What effect the damage aura has if it has an owner.

+ + + diff --git a/datum/component/damage_chain.html b/datum/component/damage_chain.html new file mode 100644 index 00000000000..08ea30170c5 --- /dev/null +++ b/datum/component/damage_chain.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/damage_chain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

damage_chain + + + +

+ +

Draws a line between you and another atom, hurt anyone stood in the line

+ + + + + + + + + + + +

Vars

chainOur chain
chain_damage_feedbackOptional callback for additional visuals or text display when dealing damage
damage_per_tickDamage inflicted per tick
damage_typeType of damage to inflict
feedback_intervalWe will fire the damage feedback callback on every x successful attacks
reset_feedback_timerTime between making any attacks at which we just reset the successful attack counter
successful_attacksHow many successful attacks have we made?
tick_cooldownTracks when we can next deal damage
tick_intervalHow often do we attempt to deal damage?
validate_targetOptional callback which checks if we can damage the target

Procs

end_beamDestroy ourself
reset_feedbackMake it so that the next time we hit something we'll invoke the feedback callback
+

Var Details

chain + + + + +

+

Our chain

chain_damage_feedback + + + + +

+

Optional callback for additional visuals or text display when dealing damage

damage_per_tick + + + + +

+

Damage inflicted per tick

damage_type + + + + +

+

Type of damage to inflict

feedback_interval + + + + +

+

We will fire the damage feedback callback on every x successful attacks

reset_feedback_timer + + + + +

+

Time between making any attacks at which we just reset the successful attack counter

successful_attacks + + + + +

+

How many successful attacks have we made?

tick_cooldown + + + + +

+

Tracks when we can next deal damage

tick_interval + + + + +

+

How often do we attempt to deal damage?

validate_target + + + + +

+

Optional callback which checks if we can damage the target

Proc Details

end_beam +

+

Destroy ourself

reset_feedback +

+

Make it so that the next time we hit something we'll invoke the feedback callback

+ + + diff --git a/datum/component/dart_insert.html b/datum/component/dart_insert.html new file mode 100644 index 00000000000..3c313357518 --- /dev/null +++ b/datum/component/dart_insert.html @@ -0,0 +1,89 @@ + + + + + + + /datum/component/dart_insert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dart_insert + + + +

+ +

Component for allowing items to be inserted into foam darts. +The parent can register signal handlers for COMSIG_DART_INSERT_ADDED, +COMSIG_DART_INSERT_REMOVED to define custom behavior for when the item +is added to/removed from a dart, and COMSIG_DART_INSERT_GET_VAR_MODIFIERS +to define the modifications the item makes to the vars of the fired projectile.

+ + + + + + + +

Vars

casing_overlay_iconThe icon file used for the overlay applied over the containing ammo casing
casing_overlay_icon_stateThe icon state used for the overlay applied over the containing ammo casing
holder_casingA reference to the ammo casing this component's parent was inserted into
holder_projectileA reference to the projectile this component's parent was inserted into
modifier_getterOptional callback to invoke when acquiring projectile var modifiers
projectile_overlay_iconThe icon file used for the overlay applied over the containing projectile
projectile_overlay_icon_stateThe icon state used for the overlay applied over the containing projectile
var_modifiersList for tracking the modifications this component has made to the vars of the containing projectile
+

Var Details

casing_overlay_icon + + + + +

+

The icon file used for the overlay applied over the containing ammo casing

casing_overlay_icon_state + + + + +

+

The icon state used for the overlay applied over the containing ammo casing

holder_casing + + + + +

+

A reference to the ammo casing this component's parent was inserted into

holder_projectile + + + + +

+

A reference to the projectile this component's parent was inserted into

modifier_getter + + + + +

+

Optional callback to invoke when acquiring projectile var modifiers

projectile_overlay_icon + + + + +

+

The icon file used for the overlay applied over the containing projectile

projectile_overlay_icon_state + + + + +

+

The icon state used for the overlay applied over the containing projectile

var_modifiers + + + + +

+

List for tracking the modifications this component has made to the vars of the containing projectile

+ + + diff --git a/datum/component/deadchat_control.html b/datum/component/deadchat_control.html new file mode 100644 index 00000000000..1e43ac00623 --- /dev/null +++ b/datum/component/deadchat_control.html @@ -0,0 +1,129 @@ + + + + + + + /datum/component/deadchat_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

deadchat_control + + + +

+ +

Deadchat Plays Things - The Componenting

+

Allows deadchat to control stuff and things by typing commands into chat. +These commands will then trigger callbacks to execute procs!

+ + + + + + + + + + + + +

Vars

ckey_to_cooldownAssoc list of ckey:value pairings. In DEMOCRACY_MODE, value is the player's vote. In ANARCHY_MODE, value is world.time when their cooldown expires.
deadchat_modeA bitfield containing the mode which this component uses (DEMOCRACY_MODE or ANARCHY_MODE) and other settings)
generated_point_of_interestSet to true if a point of interest was created for an object, and needs to be removed if deadchat control is removed. Needed for preventing objects from having two points of interest.
input_cooldownIn DEMOCRACY_MODE, this is how long players have to vote on an input. In ANARCHY_MODE, this is how long between inputs for each unique player.
inputsAssoc list of key-chat command string, value-callback pairs. list("right" = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), src, EAST))
on_removalCallback invoked when this component is Destroy()ed to allow the parent to return to a non-deadchat controlled state.
orbitersList of everything orbitting this component's parent.
timeridThe id for the DEMOCRACY_MODE looping vote timer.

Procs

async_handle_vv_topicAsync proc handling the alert input and associated logic for an admin removing this component via the VV dropdown.
end_cooldownRemoves the ghost from the ckey_to_cooldown list and lets them know they are free to submit a command for the parent again.
handle_vv_topicAllows for this component to be removed via a dedicated VV dropdown entry.
on_examineInforms any examiners to the inputs available as part of deadchat control, as well as the current operating mode and cooldowns.
waive_automutePrevents messages used to control the parent from counting towards the automute threshold for repeated identical messages.
+

Var Details

ckey_to_cooldown + + + + +

+

Assoc list of ckey:value pairings. In DEMOCRACY_MODE, value is the player's vote. In ANARCHY_MODE, value is world.time when their cooldown expires.

deadchat_mode + + + + +

+

A bitfield containing the mode which this component uses (DEMOCRACY_MODE or ANARCHY_MODE) and other settings)

generated_point_of_interest + + + + +

+

Set to true if a point of interest was created for an object, and needs to be removed if deadchat control is removed. Needed for preventing objects from having two points of interest.

input_cooldown + + + + +

+

In DEMOCRACY_MODE, this is how long players have to vote on an input. In ANARCHY_MODE, this is how long between inputs for each unique player.

inputs + + + + +

+

Assoc list of key-chat command string, value-callback pairs. list("right" = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(_step), src, EAST))

on_removal + + + + +

+

Callback invoked when this component is Destroy()ed to allow the parent to return to a non-deadchat controlled state.

orbiters + + + + +

+

List of everything orbitting this component's parent.

timerid + + + + +

+

The id for the DEMOCRACY_MODE looping vote timer.

Proc Details

async_handle_vv_topic +

+

Async proc handling the alert input and associated logic for an admin removing this component via the VV dropdown.

end_cooldown +

+

Removes the ghost from the ckey_to_cooldown list and lets them know they are free to submit a command for the parent again.

handle_vv_topic +

+

Allows for this component to be removed via a dedicated VV dropdown entry.

on_examine +

+

Informs any examiners to the inputs available as part of deadchat control, as well as the current operating mode and cooldowns.

waive_automute +

+

Prevents messages used to control the parent from counting towards the automute threshold for repeated identical messages.

+

Arguments:

+
+ + + diff --git a/datum/component/deadchat_control/cardinal_movement.html b/datum/component/deadchat_control/cardinal_movement.html new file mode 100644 index 00000000000..3631a3325e5 --- /dev/null +++ b/datum/component/deadchat_control/cardinal_movement.html @@ -0,0 +1,37 @@ + + + + + + + /datum/component/deadchat_control/cardinal_movement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cardinal_movement + + + +

+ + +

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize +

+

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with all the hottest inputs for a spicy +singularity or vomit goose.

+ + + diff --git a/datum/component/deadchat_control/immovable_rod.html b/datum/component/deadchat_control/immovable_rod.html new file mode 100644 index 00000000000..4042f6f6bda --- /dev/null +++ b/datum/component/deadchat_control/immovable_rod.html @@ -0,0 +1,37 @@ + + + + + + + /datum/component/deadchat_control/immovable_rod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

immovable_rod + + + +

+ + +

Procs

InitializeDeadchat Moves Things

Proc Details

Initialize +

+

Deadchat Moves Things

+

A special variant of the deadchat_control component that comes pre-baked with all the hottest inputs for spicy +immovable rod.

+ + + diff --git a/datum/component/death_linked.html b/datum/component/death_linked.html new file mode 100644 index 00000000000..8e73cf58b6c --- /dev/null +++ b/datum/component/death_linked.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/death_linked - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

death_linked + + + +

+ +Death link component +

When the owner of this component dies it also gibs a linked mob

+ +

Vars

linked_mobThe mob that also dies when the user dies

Procs

on_deathsignal called by the stat of the target changing
+

Var Details

linked_mob + + + + +

+

The mob that also dies when the user dies

Proc Details

on_death +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/component/decomposition.html b/datum/component/decomposition.html new file mode 100644 index 00000000000..341ebb70838 --- /dev/null +++ b/datum/component/decomposition.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/decomposition - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

decomposition + + + +

+ +

Makes things decompose when exposed to germs. Requires /datum/component/germ_sensitive to detect exposure.

+ + + + + + + + + + + +

Vars

decomp_flagsUsed to give raw/gross food lower timers
decomp_resultUse for determining what kind of item the food decomposes into.
decomp_timeridUsed to stop decomposition & check for the examine proc
handledMakes sure maploaded food only starts decomposing if a player's EVER picked it up before
original_timeThe total time that this takes to decompose
particle_effectStink particle holder
produce_antsDoes our food attract ants?
protectedUsed to stop food in someone's hand & in storage slots from decomposing.
stink_particlesStink particle type, if we are supposed to create stink particles
stink_timeridUsed to create stink lines when the food is close to going bad
time_remainingUsed so the timer won't reset.

Procs

get_timeReturns the time remaining in decomp, either from our potential timer or our own value, whichever is more useful
+

Var Details

decomp_flags + + + + +

+

Used to give raw/gross food lower timers

decomp_result + + + + +

+

Use for determining what kind of item the food decomposes into.

decomp_timerid + + + + +

+

Used to stop decomposition & check for the examine proc

handled + + + + +

+

Makes sure maploaded food only starts decomposing if a player's EVER picked it up before

original_time + + + + +

+

The total time that this takes to decompose

particle_effect + + + + +

+

Stink particle holder

produce_ants + + + + +

+

Does our food attract ants?

protected + + + + +

+

Used to stop food in someone's hand & in storage slots from decomposing.

stink_particles + + + + +

+

Stink particle type, if we are supposed to create stink particles

stink_timerid + + + + +

+

Used to create stink lines when the food is close to going bad

time_remaining + + + + +

+

Used so the timer won't reset.

Proc Details

get_time +

+

Returns the time remaining in decomp, either from our potential timer or our own value, whichever is more useful

+ + + diff --git a/datum/component/dejavu.html b/datum/component/dejavu.html new file mode 100644 index 00000000000..203d2fbb535 --- /dev/null +++ b/datum/component/dejavu.html @@ -0,0 +1,124 @@ + + + + + + + /datum/component/dejavu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dejavu + + + +

+ +

A component to reset the parent to its previous state after some time passes

+ + + + + + + + + + + + +

Vars

brain_lossThe starting value of brain loss at the beginning of the effect
brute_lossThe starting value of brute loss at the beginning of the effect +This only applies to simple animals
integrityThe starting value of integrity at the beginning of the effect +This only applies to objects
no_rewinds_messagemessage sent when dejavu is out of rewinds
oxy_lossThe starting value of oxygen loss at the beginning of the effect
rewind_intervalHow long to wait between each rewind
rewind_messagemessage sent when dejavu rewinds
rewind_typeDetermined by the type of the parent so different behaviours can happen per type
rewinds_remainingHow many rewinds will happen before the effect ends
saved_bodypartsA list of body parts saved at the beginning of the effect
stamina_lossThe starting value of stamina loss at the beginning of the effect
starting_turfThe turf the parent was on when this components was applied, they get moved back here after the duration
tox_lossThe starting value of toxin loss at the beginning of the effect
+

Var Details

brain_loss + + + + +

+

The starting value of brain loss at the beginning of the effect

brute_loss + + + + +

+

The starting value of brute loss at the beginning of the effect +This only applies to simple animals

integrity + + + + +

+

The starting value of integrity at the beginning of the effect +This only applies to objects

no_rewinds_message + + + + +

+

message sent when dejavu is out of rewinds

oxy_loss + + + + +

+

The starting value of oxygen loss at the beginning of the effect

rewind_interval + + + + +

+

How long to wait between each rewind

rewind_message + + + + +

+

message sent when dejavu rewinds

rewind_type + + + + +

+

Determined by the type of the parent so different behaviours can happen per type

rewinds_remaining + + + + +

+

How many rewinds will happen before the effect ends

saved_bodyparts + + + + +

+

A list of body parts saved at the beginning of the effect

stamina_loss + + + + +

+

The starting value of stamina loss at the beginning of the effect

starting_turf + + + + +

+

The turf the parent was on when this components was applied, they get moved back here after the duration

tox_loss + + + + +

+

The starting value of toxin loss at the beginning of the effect

+ + + diff --git a/datum/component/deployable.html b/datum/component/deployable.html new file mode 100644 index 00000000000..8b5e42f3934 --- /dev/null +++ b/datum/component/deployable.html @@ -0,0 +1,84 @@ + + + + + + + /datum/component/deployable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

deployable + + + +

+ +

Deployable - Bring your big guns with you, and smack em' down where you want.

+

Allows items to spawn other items (usually objects) in front of the user after a short delay. +If attaching this to something: +Set deploy_time to a number in seconds for the deploy delay +Set thing_to_be_deployed to an obj path for the thing that gets spawned +Multiple deployments and deployments work together to allow a thing to be placed down several times. If multiple deployments is false then don't worry about deployments +Direction setting true means the object spawned will face the direction of the person who deployed it, false goes to the default direction

+ + + + + + +

Vars

add_description_hintIf the component adds a little bit into the parent's description
deploy_timeThe time it takes to deploy the object
deployed_nameUsed in getting the name of the deployed object
deploymentsHow many times we can deploy the parent, if multiple deployments is set to true and this gets below zero, the parent will be deleted
direction_settingIf the direction of the thing we place is changed upon placing
multiple_deploymentsCan the parent be deployed multiple times
thing_to_be_deployedThe object that gets spawned if deployed successfully
+

Var Details

add_description_hint + + + + +

+

If the component adds a little bit into the parent's description

deploy_time + + + + +

+

The time it takes to deploy the object

deployed_name + + + + +

+

Used in getting the name of the deployed object

deployments + + + + +

+

How many times we can deploy the parent, if multiple deployments is set to true and this gets below zero, the parent will be deleted

direction_setting + + + + +

+

If the direction of the thing we place is changed upon placing

multiple_deployments + + + + +

+

Can the parent be deployed multiple times

thing_to_be_deployed + + + + +

+

The object that gets spawned if deployed successfully

+ + + diff --git a/datum/component/direct_explosive_trap.html b/datum/component/direct_explosive_trap.html new file mode 100644 index 00000000000..f12bb4b8af6 --- /dev/null +++ b/datum/component/direct_explosive_trap.html @@ -0,0 +1,93 @@ + + + + + + + /datum/component/direct_explosive_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

direct_explosive_trap + + + +

+ +

Responds to certain signals and 'explodes' on the person using the item. +Differs from interaction_booby_trap in that this doesn't actually explode, it just directly calls ex_act on one person.

+ + + + + + + + +

Vars

explosive_checksOptional additional target checks before we go off
explosive_forceAmount of force to apply
glow_colourColour for examine notification
saboteurAn optional mob to inform about explosions
triggering_signalsSignals which set off the bomb, must pass a mob as the first non-source argument

Procs

bomb_expiredCalled if we sit too long without going off
explodeBlow up
on_bomber_deletedDon't hang a reference to the person who placed the bomb
on_examinedLet people know something is up
+

Var Details

explosive_checks + + + + +

+

Optional additional target checks before we go off

explosive_force + + + + +

+

Amount of force to apply

glow_colour + + + + +

+

Colour for examine notification

saboteur + + + + +

+

An optional mob to inform about explosions

triggering_signals + + + + +

+

Signals which set off the bomb, must pass a mob as the first non-source argument

Proc Details

bomb_expired +

+

Called if we sit too long without going off

explode +

+

Blow up

on_bomber_deleted +

+

Don't hang a reference to the person who placed the bomb

on_examined +

+

Let people know something is up

+ + + diff --git a/datum/component/drift.html b/datum/component/drift.html new file mode 100644 index 00000000000..2bcfc1062b9 --- /dev/null +++ b/datum/component/drift.html @@ -0,0 +1,74 @@ + + + + + + + /datum/component/drift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

drift + + + +

+ +

Component that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice

+ + + + +

Vars

delayedHave we been delayed? IE: active, but not working right this second?
ignore_next_glideShould we ignore the next glide rate input we get? +This is to some extent a hack around the order of operations +Around COMSIG_MOVELOOP_POSTPROCESS. I'm sorry lad

Procs

InitializeAccepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start
handle_glidesize_updateWe're going to take the passed in glide size +and use it to manually delay our loop for that period +to allow the other movement to complete
stopped_pullingIf we're pulling something and stop, we want it to continue at our rate and such
+

Var Details

delayed + + + + +

+

Have we been delayed? IE: active, but not working right this second?

ignore_next_glide + + + + +

+

Should we ignore the next glide rate input we get? +This is to some extent a hack around the order of operations +Around COMSIG_MOVELOOP_POSTPROCESS. I'm sorry lad

Proc Details

Initialize +

+

Accepts three args. The direction to drift in, if the drift is instant or not, and if it's not instant, the delay on the start

handle_glidesize_update +

+

We're going to take the passed in glide size +and use it to manually delay our loop for that period +to allow the other movement to complete

stopped_pulling +

+

If we're pulling something and stop, we want it to continue at our rate and such

+ + + diff --git a/datum/component/echolocation.html b/datum/component/echolocation.html new file mode 100644 index 00000000000..25941699d90 --- /dev/null +++ b/datum/component/echolocation.html @@ -0,0 +1,141 @@ + + + + + + + /datum/component/echolocation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

echolocation + + + +

+ + + + + + + + + + + + + + + + + +

Vars

allowed_pathsTypecache of all the allowed paths to render.
black_white_matrixA matrix that turns everything except #ffffff into pure blackness, used for our images (the outlines are #ffffff).
blocking_traitThis trait blocks us from receiving echolocation.
client_colorRef of the client color we give to the echolocator.
cooldown_lastCooldown for the echolocation.
cooldown_timeTime between echolocations.
danger_turfsTypecache of turfs that are dangerous, to give them a special icon.
echo_groupWith mobs that have this echo group in their echolocation receiver trait, we share echo images.
echo_rangeRadius of our view.
fade_in_timeTime for the image to fade in.
fade_out_timeTime for the image to fade out and delete itself.
image_expiry_timeTime for the image to start fading out.
images_are_staticAre images static? If yes, spawns them on the turf and makes them not change location. Otherwise they change location and pixel shift with the original.
receiversAssociative list of receivers to lists of atoms they are rendering (those atoms are associated to data of the image and time they were rendered at).
saved_appearancesAll the saved appearances, keyed by icon-icon_state.
white_matrixA matrix that turns everything into pure white.
+

Var Details

allowed_paths + + + + +

+

Typecache of all the allowed paths to render.

black_white_matrix + + + + +

+

A matrix that turns everything except #ffffff into pure blackness, used for our images (the outlines are #ffffff).

blocking_trait + + + + +

+

This trait blocks us from receiving echolocation.

client_color + + + + +

+

Ref of the client color we give to the echolocator.

cooldown_last + + + + +

+

Cooldown for the echolocation.

cooldown_time + + + + +

+

Time between echolocations.

danger_turfs + + + + +

+

Typecache of turfs that are dangerous, to give them a special icon.

echo_group + + + + +

+

With mobs that have this echo group in their echolocation receiver trait, we share echo images.

echo_range + + + + +

+

Radius of our view.

fade_in_time + + + + +

+

Time for the image to fade in.

fade_out_time + + + + +

+

Time for the image to fade out and delete itself.

image_expiry_time + + + + +

+

Time for the image to start fading out.

images_are_static + + + + +

+

Are images static? If yes, spawns them on the turf and makes them not change location. Otherwise they change location and pixel shift with the original.

receivers + + + + +

+

Associative list of receivers to lists of atoms they are rendering (those atoms are associated to data of the image and time they were rendered at).

saved_appearances + + + + +

+

All the saved appearances, keyed by icon-icon_state.

white_matrix + + + + +

+

A matrix that turns everything into pure white.

+ + + diff --git a/datum/component/edible.html b/datum/component/edible.html new file mode 100644 index 00000000000..14883f79188 --- /dev/null +++ b/datum/component/edible.html @@ -0,0 +1,246 @@ + + + + + + + /datum/component/edible - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

edible + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

after_eatCallback to be ran for when you take a bite of something
bite_consumptionAmount of reagents taken per bite
bitecountAmount of bites taken so far
check_likedCallback to be ran for when the code check if the food is liked, allowing for unique overrides for special foods like donuts with cops.
eat_timeAmount of seconds it takes to eat this food
eatverbsMessage to send when eating
food_flagsFlags for food
foodtypesBitfield of the types of this food
junkinessDefines how much it lowers someones satiety (Need to eat, essentialy)
last_check_timeLast time we checked for food likes
on_consumeCallback to be ran for when you finish eating something
tastesThe flavortext for taste (haha get it flavor text)
volumeThe initial volume of the foods reagents

Procs

CanConsumeChecks whether or not the eater can actually consume the food
IsFoodGoneMakes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles
OnCraftCalled when food is crafted through a crafting recipe datum.
OnProcessedCalled when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents.
On_ConsumeDelete the item when it is fully eaten
TakeBiteThis function lets the eater take a bite and transfers the reagents to the eater.
TryToEatAll the checks for the act of eating itself and
UseByAnimalAbility to feed food to puppers
apply_buffApplies food buffs according to the crafting complexity
checkLikedCheck foodtypes to see if we should send a moodlet
count_matching_foodtypesGet the number of matching food types in provided bitfields
edible_ingredient_addedResponse to an edible ingredient being added to parent.
get_perceived_food_qualityGet food quality adjusted according to eater's preferences
get_recipe_complexityGet the complexity of the crafted food
on_enteredAbility to feed food to puppers
on_ooze_eatResponse to oozes trying to eat something edible
setup_initial_reagentsSets up the initial reagents of the food.
used_to_customizeResponse to being used to customize something
+

Var Details

after_eat + + + + +

+

Callback to be ran for when you take a bite of something

bite_consumption + + + + +

+

Amount of reagents taken per bite

bitecount + + + + +

+

Amount of bites taken so far

check_liked + + + + +

+

Callback to be ran for when the code check if the food is liked, allowing for unique overrides for special foods like donuts with cops.

eat_time + + + + +

+

Amount of seconds it takes to eat this food

eatverbs + + + + +

+

Message to send when eating

food_flags + + + + +

+

Flags for food

foodtypes + + + + +

+

Bitfield of the types of this food

junkiness + + + + +

+

Defines how much it lowers someones satiety (Need to eat, essentialy)

last_check_time + + + + +

+

Last time we checked for food likes

on_consume + + + + +

+

Callback to be ran for when you finish eating something

tastes + + + + +

+

The flavortext for taste (haha get it flavor text)

volume + + + + +

+

The initial volume of the foods reagents

Proc Details

CanConsume +

+

Checks whether or not the eater can actually consume the food

IsFoodGone +

+

Makes sure the thing hasn't been destroyed or fully eaten to prevent eating phantom edibles

OnCraft +

+

Called when food is crafted through a crafting recipe datum.

OnProcessed +

+

Called when food is created through processing (Usually this means it was sliced). We use this to pass the OG items reagents.

On_Consume +

+

Delete the item when it is fully eaten

TakeBite +

+

This function lets the eater take a bite and transfers the reagents to the eater.

TryToEat +

+

All the checks for the act of eating itself and

UseByAnimal +

+

Ability to feed food to puppers

apply_buff +

+

Applies food buffs according to the crafting complexity

checkLiked +

+

Check foodtypes to see if we should send a moodlet

count_matching_foodtypes +

+

Get the number of matching food types in provided bitfields

edible_ingredient_added +

+

Response to an edible ingredient being added to parent.

get_perceived_food_quality +

+

Get food quality adjusted according to eater's preferences

get_recipe_complexity +

+

Get the complexity of the crafted food

on_entered +

+

Ability to feed food to puppers

on_ooze_eat +

+

Response to oozes trying to eat something edible

setup_initial_reagents +

+

Sets up the initial reagents of the food.

used_to_customize +

+

Response to being used to customize something

+ + + diff --git a/datum/component/effect_remover.html b/datum/component/effect_remover.html new file mode 100644 index 00000000000..3041370463c --- /dev/null +++ b/datum/component/effect_remover.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/effect_remover - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

effect_remover + + + +

+ + + + + + + +

Vars

effects_we_clearA typecache of all effects we can clear with our item.
on_clear_callbackCallback invoked with removal is done.
success_feedbackLine sent to the user on successful removal.
success_forcesayLine forcesaid by the user on successful removal.
time_to_removeIf above 0, how long it takes while standing still to remove the effect.
tip_textThe text used in the screentip when our parent is hovering over an item we can clear. Ex "Destroy rune"
+

Var Details

effects_we_clear + + + + +

+

A typecache of all effects we can clear with our item.

on_clear_callback + + + + +

+

Callback invoked with removal is done.

success_feedback + + + + +

+

Line sent to the user on successful removal.

success_forcesay + + + + +

+

Line forcesaid by the user on successful removal.

time_to_remove + + + + +

+

If above 0, how long it takes while standing still to remove the effect.

tip_text + + + + +

+

The text used in the screentip when our parent is hovering over an item we can clear. Ex "Destroy rune"

+ + + diff --git a/datum/component/egg_layer.html b/datum/component/egg_layer.html new file mode 100644 index 00000000000..eb0f9180d25 --- /dev/null +++ b/datum/component/egg_layer.html @@ -0,0 +1,87 @@ + + + + + + + /datum/component/egg_layer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

egg layer component! + + + +

+ +

Component that manages how many eggs to lay, what can be fed to the mob to make them lay more, and what is actually laid. +Since the only real interaction with the component is an attackby, the nice part is that we're able to make this an atom level proc. +egg_layer will loudly fail if you do not provide it the arguments, as to encourage explicicy(?)

+ + + + + + + +

Vars

egg_laid_callbackcallback to a proc that allows the parent to modify their new eggs
egg_typeitem laid by the mob
eggs_added_from_eatinghow many eggs to lay given from food
eggs_lefthow many eggs left to lay
feed_messagesmessages sent when fed
food_typesitems that can be fed to the mob to make it lay more eggs
lay_messagesmessages sent when laying an egg
max_eggs_heldhow many eggs can be stored
+

Var Details

egg_laid_callback + + + + +

+

callback to a proc that allows the parent to modify their new eggs

egg_type + + + + +

+

item laid by the mob

eggs_added_from_eating + + + + +

+

how many eggs to lay given from food

eggs_left + + + + +

+

how many eggs left to lay

feed_messages + + + + +

+

messages sent when fed

food_types + + + + +

+

items that can be fed to the mob to make it lay more eggs

lay_messages + + + + +

+

messages sent when laying an egg

max_eggs_held + + + + +

+

how many eggs can be stored

+ + + diff --git a/datum/component/electrified_buckle.html b/datum/component/electrified_buckle.html new file mode 100644 index 00000000000..32af2de5758 --- /dev/null +++ b/datum/component/electrified_buckle.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/electrified_buckle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

electrified_buckle component: + + + +

+ +

attach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time. +the parent is supposed to define its behavior with arguments in AddComponent

+ + + + + + + + + + +

Vars

electric_buckle_cooldownit will only shock once every shock_loop_time
requested_overlaysthis is casted to the overlay we put on parent_chair
requested_signal_parent_emitsthis signal was given as an argument to register for parent to emit, if its emitted to parent then shock_on_demand is called. var is so it can be unregistered
required_objectif usage_flags has SHOCK_REQUIREMENT_ITEM, this is the item required to be inside parent in order for it to shock buckled mobs
shock_damagehow much damage is done per shock iff usage_flags doesnt have SHOCK_REQUIREMENT_LIVE_CABLE
shock_loop_timehow long the component waits before shocking the mob buckled to parent again
shock_on_loopif true, this will shock the buckled mob every shock_loop_time in process()
usage_flagsthese flags tells this instance what is required in order to allow shocking

Procs

InitializeInitialize args:
processwhere the guinea pig is actually shocked if possible
shock_on_demanda shock that is toggled manually
+

Var Details

electric_buckle_cooldown + + + + +

+

it will only shock once every shock_loop_time

requested_overlays + + + + +

+

this is casted to the overlay we put on parent_chair

requested_signal_parent_emits + + + + +

+

this signal was given as an argument to register for parent to emit, if its emitted to parent then shock_on_demand is called. var is so it can be unregistered

required_object + + + + +

+

if usage_flags has SHOCK_REQUIREMENT_ITEM, this is the item required to be inside parent in order for it to shock buckled mobs

shock_damage + + + + +

+

how much damage is done per shock iff usage_flags doesnt have SHOCK_REQUIREMENT_LIVE_CABLE

shock_loop_time + + + + +

+

how long the component waits before shocking the mob buckled to parent again

shock_on_loop + + + + +

+

if true, this will shock the buckled mob every shock_loop_time in process()

usage_flags + + + + +

+

these flags tells this instance what is required in order to allow shocking

Proc Details

Initialize +

+

Initialize args:

+

process +

+

where the guinea pig is actually shocked if possible

shock_on_demand +

+

a shock that is toggled manually

+ + + diff --git a/datum/component/embedded.html b/datum/component/embedded.html new file mode 100644 index 00000000000..b33c9cb4c25 --- /dev/null +++ b/datum/component/embedded.html @@ -0,0 +1,109 @@ + + + + + + + /datum/component/embedded - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

embedded + + + +

+ + + + + + + + + + + + +

Vars

harmfulif both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Procs

checkTweezeThe signal for listening to see if someone is using a hemostat on us to pluck out this object
complete_rip_outeverything async that ripOut used to do
damaging_removalProc that actually does the damage associated with ripping something out of yourself. Call this before safeRemove.
fallOutCalled when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()
jostleCheck/////////BEHAVIOR PROCS//////////////
magic_pullCalled when an object is ripped out of someone's body by magic or other abnormal means
ripOutCalled when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()
safeRemoveThis proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +If you want the thing to go into someone's hands rather than the floor, pass them in to_hands
tweezePluckThe actual action for pulling out an embedded object with a hemostat
weaponDeletedSomething deleted or moved our weapon while it was embedded, how rude!
+

Var Details

harmful + + + + +

+

if both our pain multiplier and jostle pain multiplier are 0, we're harmless and can omit most of the damage related stuff

Proc Details

checkTweeze +

+

The signal for listening to see if someone is using a hemostat on us to pluck out this object

complete_rip_out +

+

everything async that ripOut used to do

damaging_removal +

+

Proc that actually does the damage associated with ripping something out of yourself. Call this before safeRemove.

fallOut +

+

Called when then item randomly falls out of a carbon. This handles the damage and descriptors, then calls safe_remove()

jostleCheck +

+

/////////BEHAVIOR PROCS//////////////

+

Called every time a carbon with a harmful embed moves, rolling a chance for the item to cause pain. The chance is halved if the carbon is crawling or walking.

magic_pull +

+

Called when an object is ripped out of someone's body by magic or other abnormal means

ripOut +

+

Called when a carbon with an object embedded/stuck to them inspects themselves and clicks the appropriate link to begin ripping the item out. This handles the ripping attempt, descriptors, and dealing damage, then calls safe_remove()

safeRemove +

+

This proc handles the final step and actual removal of an embedded/stuck item from a carbon, whether or not it was actually removed safely. +If you want the thing to go into someone's hands rather than the floor, pass them in to_hands

tweezePluck +

+

The actual action for pulling out an embedded object with a hemostat

weaponDeleted +

+

Something deleted or moved our weapon while it was embedded, how rude!

+ + + diff --git a/datum/component/energized.html b/datum/component/energized.html new file mode 100644 index 00000000000..abf21bfadc5 --- /dev/null +++ b/datum/component/energized.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/energized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energized + + + +

+ + + + + + +

Vars

default_connectionswhat we give to connect_loc by default, makes slippable mobs moving over us slip
inboundInbound station
outboundOutbound station
specific_transport_idTransport ID of the tram
transport_refWeakref to the tram
+

Var Details

default_connections + + + + +

+

what we give to connect_loc by default, makes slippable mobs moving over us slip

inbound + + + + +

+

Inbound station

outbound + + + + +

+

Outbound station

specific_transport_id + + + + +

+

Transport ID of the tram

transport_ref + + + + +

+

Weakref to the tram

+ + + diff --git a/datum/component/engraved.html b/datum/component/engraved.html new file mode 100644 index 00000000000..0782e6f3bcf --- /dev/null +++ b/datum/component/engraved.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/engraved - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

engraved component! + + + +

+ +

component for walls that applies an engraved overlay and lets you examine it to read a story (+ art element yay) +new creations will get a high art value, cross round scrawlings will get a low one. +MUST be a component, though it doesn't look like it. SSPersistence demandeth

+ + + + + + +

Vars

engraved_descriptionthe generated story string
icon_state_appendwhat random icon state should the engraving have
persistent_savewhether this is a new engraving, or a persistence loaded one.
story_valueThe story value of this piece.

Procs

on_examinesignal called on parent being examined
on_update_overlaysUsed to maintain the acid overlay on the parent /atom.
save_persistentreturns all the information SSpersistence needs in a list to load up this engraving on a future round!
+

Var Details

engraved_description + + + + +

+

the generated story string

icon_state_append + + + + +

+

what random icon state should the engraving have

persistent_save + + + + +

+

whether this is a new engraving, or a persistence loaded one.

story_value + + + + +

+

The story value of this piece.

Proc Details

on_examine +

+

signal called on parent being examined

on_update_overlays +

+

Used to maintain the acid overlay on the parent /atom.

save_persistent +

+

returns all the information SSpersistence needs in a list to load up this engraving on a future round!

+ + + diff --git a/datum/component/evolutionary_leap.html b/datum/component/evolutionary_leap.html new file mode 100644 index 00000000000..fbd8333be59 --- /dev/null +++ b/datum/component/evolutionary_leap.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/evolutionary_leap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

evolutionary_leap + + + +

+ +Evolutionary Leap Component; set a time in the round for a mob to evolve into a more dangerous form! +

Used for bileworms, to turn into vileworms!

+ + + +

Vars

evolve_markhow much time until the parent makes an evolutionary leap
evolve_pathwhat this mob turns into
timer_idid for leap timer

Procs

comp_on_round_startProc ran when round starts.
+

Var Details

evolve_mark + + + + +

+

how much time until the parent makes an evolutionary leap

evolve_path + + + + +

+

what this mob turns into

timer_id + + + + +

+

id for leap timer

Proc Details

comp_on_round_start +

+

Proc ran when round starts.

+ + + diff --git a/datum/component/experiment_handler.html b/datum/component/experiment_handler.html new file mode 100644 index 00000000000..1589b008119 --- /dev/null +++ b/datum/component/experiment_handler.html @@ -0,0 +1,244 @@ + + + + + + + /datum/component/experiment_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Experiment Handler + + + +

+ +

This is the component for interacting with experiments from a connected techweb. It is generic +and should be set-up to automatically work on any class it is attached to without outside code +(Excluding potential callbacks)

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allowed_experimentsHolds the list of types of experiments that this experiment_handler can interact with
blacklisted_experimentsHolds the list of types of experiments that this experimennt_handler should NOT interact with
config_flagsAdditional configuration flags for how the experiment_handler operates
disallowed_traitsA set of optional experiment traits (see defines) that are disallowed for any experiments
linked_webHolds the currently linked techweb to get experiments from
selected_experimentHolds the currently selected experiment
start_experiment_callbackCallback that, when supplied, can be called from the UI

Procs

InitializeInitializes a new instance of the experiment_handler component
action_experimentAttempts to perform the selected experiment given some arguments
announce_messageAnnounces a message to this experiment handler
announce_message_to_allAnnounces a message to all experiment handlers
can_select_experimentChecks if an experiment is valid to be selected by this handler
configure_experimentAttempts to show the user the experiment configuration panel
configure_experiment_clickAttempts to show the user the experiment configuration panel
ignored_handheld_experiment_attemptProvides feedback when an item isn't related to an experiment, and has fully passed the attack chain
link_experimentAttempts to link this experiment_handler to a provided experiment
link_techwebAttempts to link this experiment_handler to a provided techweb
should_run_handheld_experimentChecks that an experiment can be run using the provided target, used for preventing the cancellation of the attack chain inappropriately
try_run_autopsy_experimentHooks on a successful autopsy experiment
try_run_destructive_experimentHooks on destructive scans to try and run an experiment (When using a handheld handler)
try_run_handheld_experimentHooks on attack to try and run an experiment (When using a handheld handler)
try_run_handheld_experiment_asyncThis proc exists because Jared Fogle really likes async
ui_handle_experimentHook for handling UI interaction via signals
unlink_experimentUnlinks this handler from the selected experiment
unlink_techwebUnlinks this handler from the selected techweb
+

Var Details

allowed_experiments + + + + +

+

Holds the list of types of experiments that this experiment_handler can interact with

blacklisted_experiments + + + + +

+

Holds the list of types of experiments that this experimennt_handler should NOT interact with

config_flags + + + + +

+

Additional configuration flags for how the experiment_handler operates

disallowed_traits + + + + +

+

A set of optional experiment traits (see defines) that are disallowed for any experiments

linked_web + + + + +

+

Holds the currently linked techweb to get experiments from

selected_experiment + + + + +

+

Holds the currently selected experiment

start_experiment_callback + + + + +

+

Callback that, when supplied, can be called from the UI

Proc Details

Initialize +

+

Initializes a new instance of the experiment_handler component

+

Arguments:

+

action_experiment +

+

Attempts to perform the selected experiment given some arguments

announce_message +

+

Announces a message to this experiment handler

+

Arguments:

+

announce_message_to_all +

+

Announces a message to all experiment handlers

+

Arguments:

+

can_select_experiment +

+

Checks if an experiment is valid to be selected by this handler

+

Arguments:

+

configure_experiment +

+

Attempts to show the user the experiment configuration panel

+

Arguments:

+

configure_experiment_click +

+

Attempts to show the user the experiment configuration panel

+

Arguments:

+

ignored_handheld_experiment_attempt +

+

Provides feedback when an item isn't related to an experiment, and has fully passed the attack chain

+

Attempts to link this experiment_handler to a provided experiment

+

Arguments:

+ +

Attempts to link this experiment_handler to a provided techweb

+

This proc attempts to link the handler to a provided techweb, overriding the existing techweb if relevant

+

Arguments:

+

should_run_handheld_experiment +

+

Checks that an experiment can be run using the provided target, used for preventing the cancellation of the attack chain inappropriately

try_run_autopsy_experiment +

+

Hooks on a successful autopsy experiment

try_run_destructive_experiment +

+

Hooks on destructive scans to try and run an experiment (When using a handheld handler)

try_run_handheld_experiment +

+

Hooks on attack to try and run an experiment (When using a handheld handler)

try_run_handheld_experiment_async +

+

This proc exists because Jared Fogle really likes async

ui_handle_experiment +

+

Hook for handling UI interaction via signals

+

Unlinks this handler from the selected experiment

+

Unlinks this handler from the selected techweb

+ + + diff --git a/datum/component/explodable.html b/datum/component/explodable.html new file mode 100644 index 00000000000..8b382db208f --- /dev/null +++ b/datum/component/explodable.html @@ -0,0 +1,148 @@ + + + + + + + /datum/component/explodable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

explodable + + + +

+ +

Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.

+ + + + + + + + + + + + + + + + +

Vars

delete_afterWhether we always delete. Useful for nukes turned plasma and such, so they don't default delete and can survive
devastation_rangeThe devastation range of the resulting explosion.
equipped_slotFor items, lets us determine where things should be hit.
explodingWhether this component is currently in the process of exploding.
flame_rangeThe flame range of the resulting explosion.
flash_rangeThe flash range of the resulting explosion.
heavy_impact_rangeThe heavy impact range of the resulting explosion.
light_impact_rangeThe light impact range of the resulting explosion.
uncappedWhether this explosion ignores the bombcap.

Procs

detonateExplode and remove the object
explodable_attackCalled when you use this object to attack sopmething
explodable_attack_zoneCalled when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.
explodable_insert_itemExplode if our parent is a storage place and something with high heat is inserted in.
is_hitting_zoneChecks if we're hitting the zone this component is covering
projectile_reactShot by something
reset_explodingResets the expoding flag
welder_reactWelder check. Here because tool_act is higher priority than attackby.
+

Var Details

delete_after + + + + +

+

Whether we always delete. Useful for nukes turned plasma and such, so they don't default delete and can survive

devastation_range + + + + +

+

The devastation range of the resulting explosion.

equipped_slot + + + + +

+

For items, lets us determine where things should be hit.

exploding + + + + +

+

Whether this component is currently in the process of exploding.

flame_range + + + + +

+

The flame range of the resulting explosion.

flash_range + + + + +

+

The flash range of the resulting explosion.

heavy_impact_range + + + + +

+

The heavy impact range of the resulting explosion.

light_impact_range + + + + +

+

The light impact range of the resulting explosion.

uncapped + + + + +

+

Whether this explosion ignores the bombcap.

Proc Details

detonate +

+

Explode and remove the object

explodable_attack +

+

Called when you use this object to attack sopmething

explodable_attack_zone +

+

Called when you attack a specific body part of the thing this is equipped on. Useful for exploding pants.

explodable_insert_item +

+

Explode if our parent is a storage place and something with high heat is inserted in.

is_hitting_zone +

+

Checks if we're hitting the zone this component is covering

projectile_react +

+

Shot by something

reset_exploding +

+

Resets the expoding flag

welder_react +

+

Welder check. Here because tool_act is higher priority than attackby.

+ + + diff --git a/datum/component/explode_on_attack.html b/datum/component/explode_on_attack.html new file mode 100644 index 00000000000..43628ee4506 --- /dev/null +++ b/datum/component/explode_on_attack.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/explode_on_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

explode_on_attack + + + +

+ +

Bombs the user after an attack

+ + +

Vars

destroy_on_explodeshould we be destroyed after the explosion?
impact_rangerange of bomb impact
mob_type_dont_bomblist of mobs we wont bomb on attack
+

Var Details

destroy_on_explode + + + + +

+

should we be destroyed after the explosion?

impact_range + + + + +

+

range of bomb impact

mob_type_dont_bomb + + + + +

+

list of mobs we wont bomb on attack

+ + + diff --git a/datum/component/faction_granter.html b/datum/component/faction_granter.html new file mode 100644 index 00000000000..2388fe36eb3 --- /dev/null +++ b/datum/component/faction_granter.html @@ -0,0 +1,73 @@ + + + + + + + /datum/component/faction_granter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

faction_granter + + + +

+ +faction granter component! +

component attached to items, lets them be used in hand once to add yourself to a certain faction +one good example is the chaplain plushie that grants you the carp faction, making you friendly with them.

+ + + + + +

Vars

faction_to_grantwhichever faction the parent adds upon using in hand
grant_messagemessage given when granting the faction.
holy_role_requiredwhether you need to be holy to get the faction.
usedboolean on whether it has been used

Procs

on_examinesignal called on parent being examined
on_self_attacksignal called on parent being interacted with in hand
+

Var Details

faction_to_grant + + + + +

+

whichever faction the parent adds upon using in hand

grant_message + + + + +

+

message given when granting the faction.

holy_role_required + + + + +

+

whether you need to be holy to get the faction.

used + + + + +

+

boolean on whether it has been used

Proc Details

on_examine +

+

signal called on parent being examined

on_self_attack +

+

signal called on parent being interacted with in hand

+ + + diff --git a/datum/component/fantasy.html b/datum/component/fantasy.html new file mode 100644 index 00000000000..16265cd3ddb --- /dev/null +++ b/datum/component/fantasy.html @@ -0,0 +1,49 @@ + + + + + + + /datum/component/fantasy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

fantasy + + + +

+ + + + +

Procs

Initializeaffixes expects an initialized list
random_affixesproc on creation for random affixes
set_affixesproc on creation for specific affixes given to the fantasy component

Proc Details

Initialize +

+

affixes expects an initialized list

random_affixes +

+

proc on creation for random affixes

set_affixes +

+

proc on creation for specific affixes given to the fantasy component

+ + + diff --git a/datum/component/fertile_egg.html b/datum/component/fertile_egg.html new file mode 100644 index 00000000000..06f2d5302b9 --- /dev/null +++ b/datum/component/fertile_egg.html @@ -0,0 +1,82 @@ + + + + + + + /datum/component/fertile_egg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fertile_egg + + + +

+ +A fertile egg component! +

This component tracks over time if the atom is in ideal conditions, +and eventually hatches into the embryonic type.

+

The initial design of this component was to make more generic the code for +chickens laying eggs.

+ + + + + + +

Vars

current_growthThe current amount of growth.
embryo_typeWhat will come out of the egg when it's done.
location_allowlistList of locations which, if set, the egg will only develop if in those locations.
maximum_growth_rateMaximum growth rate per tick
minimum_growth_rateMinimum growth rate per tick
spoilableIf true, being in an unsuitable location spoils the egg (ie. kills the component). If false, it just pauses the egg's development.
total_growth_requiredTotal growth required before hatching.
+

Var Details

current_growth + + + + +

+

The current amount of growth.

embryo_type + + + + +

+

What will come out of the egg when it's done.

location_allowlist + + + + +

+

List of locations which, if set, the egg will only develop if in those locations.

maximum_growth_rate + + + + +

+

Maximum growth rate per tick

minimum_growth_rate + + + + +

+

Minimum growth rate per tick

spoilable + + + + +

+

If true, being in an unsuitable location spoils the egg (ie. kills the component). If false, it just pauses the egg's development.

total_growth_required + + + + +

+

Total growth required before hatching.

+ + + diff --git a/datum/component/fishing_spot.html b/datum/component/fishing_spot.html new file mode 100644 index 00000000000..28e89c21a56 --- /dev/null +++ b/datum/component/fishing_spot.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/fishing_spot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fishing_spot + + + +

+ + +

Vars

fish_sourceDefines the probabilities and fish availibilty
+

Var Details

fish_source + + + + +

+

Defines the probabilities and fish availibilty

+ + + diff --git a/datum/component/focused_attacker.html b/datum/component/focused_attacker.html new file mode 100644 index 00000000000..f959f2b12cd --- /dev/null +++ b/datum/component/focused_attacker.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/focused_attacker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

focused_attacker + + + +

+ +

Roll what we caught based on modified table +Increases our attack damage every time we attack the same target +Not compatible with any other component or status effect which modifies attack damage

+ + + + + + +

Vars

gain_per_attackAmount of damage we gain per attack
last_targetThe last thing we attacked
maximum_gainMaximum amount by which we can increase our attack power

Procs

on_target_deletedDrop our target ref on deletion
pre_item_attackBefore an item attacks, try increasing its attack power
pre_mob_attackBefore a mob attacks, try increasing its attack power
register_new_targetRegister a new target
+

Var Details

gain_per_attack + + + + +

+

Amount of damage we gain per attack

last_target + + + + +

+

The last thing we attacked

maximum_gain + + + + +

+

Maximum amount by which we can increase our attack power

Proc Details

on_target_deleted +

+

Drop our target ref on deletion

pre_item_attack +

+

Before an item attacks, try increasing its attack power

pre_mob_attack +

+

Before a mob attacks, try increasing its attack power

register_new_target +

+

Register a new target

+ + + diff --git a/datum/component/food_storage.html b/datum/component/food_storage.html new file mode 100644 index 00000000000..b1bceaca976 --- /dev/null +++ b/datum/component/food_storage.html @@ -0,0 +1,239 @@ + + + + + + + /datum/component/food_storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

food_storage + + + +

+ +

--Food storage component-- +This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +Consuming food storages with an item inside can cause unique interactions, such as eating glass shards.

+ + + + + + + + + + + + + +

Vars

bad_chance_of_discoveryWhat are the odds we bite into the stored item?
discoveredThe stored item was found out somehow.
good_chance_of_discoveryWhat are the odds we see the stored item before we bite it?
initial_volumeThe amount of volume the food has on creation - Used for probabilities
minimum_weight_classMinimum size items that can be inserted
stored_itemReference to what we have in our food.

Procs

begin_remove_item
consume_food_storage
insert_item
on_requesting_context_from_itemAdds context sensitivy directly to the processable file for screentips +Arguments:
remove_itemRemoves the stored item, putting it in user's hands or on the ground, then updates the reference.
try_inserting_item
try_removing_item
update_stored_itemChance of biting the held item = amount of bites / (intitial reagents / reagents per bite) * 100 +Chance of finding the held item = bad chance - 50
+

Var Details

bad_chance_of_discovery + + + + +

+

What are the odds we bite into the stored item?

discovered + + + + +

+

The stored item was found out somehow.

good_chance_of_discovery + + + + +

+

What are the odds we see the stored item before we bite it?

initial_volume + + + + +

+

The amount of volume the food has on creation - Used for probabilities

minimum_weight_class + + + + +

+

Minimum size items that can be inserted

stored_item + + + + +

+

Reference to what we have in our food.

Proc Details

begin_remove_item +

+

consume_food_storage +

+

insert_item +

+

on_requesting_context_from_item +

+

Adds context sensitivy directly to the processable file for screentips +Arguments:

+

remove_item +

+

Removes the stored item, putting it in user's hands or on the ground, then updates the reference.

try_inserting_item +

+

try_removing_item +

+

update_stored_item +

+

Chance of biting the held item = amount of bites / (intitial reagents / reagents per bite) * 100 +Chance of finding the held item = bad chance - 50

+
+ + + diff --git a/datum/component/fov_handler.html b/datum/component/fov_handler.html new file mode 100644 index 00000000000..4c2e54f3a46 --- /dev/null +++ b/datum/component/fov_handler.html @@ -0,0 +1,92 @@ + + + + + + + /datum/component/fov_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fov_handler + + + +

+ +

Component which handles Field of View masking for clients. FoV attributes are at /mob/living

+ + + + + + + + +

Vars

applied_maskWhether we are applying the masks now
blocker_maskThe blocker mask applied to a client's screen
current_fov_xCurrently applied x size of the fov masks
current_fov_yCurrently applied y size of the fov masks
fov_angleThe angle of the mask we are applying

Procs

mob_logoutWhen a mob logs out, delete the component
on_dir_changeWhen a direction of the user changes, so do the masks
update_fov_sizeUpdates the size of the FOV masks by comparing them to client view size.
update_maskUpdates the mask application to client by checking stat and eye
+

Var Details

applied_mask + + + + +

+

Whether we are applying the masks now

blocker_mask + + + + +

+

The blocker mask applied to a client's screen

current_fov_x + + + + +

+

Currently applied x size of the fov masks

current_fov_y + + + + +

+

Currently applied y size of the fov masks

fov_angle + + + + +

+

The angle of the mask we are applying

Proc Details

mob_logout +

+

When a mob logs out, delete the component

on_dir_change +

+

When a direction of the user changes, so do the masks

update_fov_size +

+

Updates the size of the FOV masks by comparing them to client view size.

update_mask +

+

Updates the mask application to client by checking stat and eye

+ + + diff --git a/datum/component/gas_leaker.html b/datum/component/gas_leaker.html new file mode 100644 index 00000000000..3b786e9e5b0 --- /dev/null +++ b/datum/component/gas_leaker.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/gas_leaker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gas_leaker + + + +

+ +

A component to leak gas over time from damaged objects with gas storage

+ + + +

Vars

atmos_processingMirror of the machine var signifying whether this is live in the air subsystem
integrity_leak_percentThe percent of max integrity that we start leaking. From 0 to 1
leak_rateThe rate at which gas leaks, you probably want this very low. From 0 to 1
process_typeKeeps track of what type we were attached to so we don't need to istype every process
+

Var Details

atmos_processing + + + + +

+

Mirror of the machine var signifying whether this is live in the air subsystem

integrity_leak_percent + + + + +

+

The percent of max integrity that we start leaking. From 0 to 1

leak_rate + + + + +

+

The rate at which gas leaks, you probably want this very low. From 0 to 1

process_type + + + + +

+

Keeps track of what type we were attached to so we don't need to istype every process

+ + + diff --git a/datum/component/germ_sensitive.html b/datum/component/germ_sensitive.html new file mode 100644 index 00000000000..816f9906c48 --- /dev/null +++ b/datum/component/germ_sensitive.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/germ_sensitive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

germ_sensitive + + + +

+ +

Makes items infective if left on floor, also sending corresponding signals to parent

+ +

Vars

infectiveWhether it is already infective
timer_idTimer for counting delay before becoming infective
+

Var Details

infective + + + + +

+

Whether it is already infective

timer_id + + + + +

+

Timer for counting delay before becoming infective

+ + + diff --git a/datum/component/ghost_direct_control.html b/datum/component/ghost_direct_control.html new file mode 100644 index 00000000000..374e8ef31ad --- /dev/null +++ b/datum/component/ghost_direct_control.html @@ -0,0 +1,106 @@ + + + + + + + /datum/component/ghost_direct_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ghost_direct_control + + + +

+ +

Component which lets ghosts click on a mob to take control of it

+ + + + + + + + + + +

Vars

after_assumed_controlCallback run after someone successfully takes over the body
assumed_control_messageMessage to display upon successful possession
awaiting_ghostsIf we're currently awaiting the results of a ghost poll
ban_typeType of ban you can get to prevent you from accepting this role
extra_control_checksAny extra checks which need to run before we take over

Procs

assume_direct_controlGrant possession of our mob, component is now no longer required
attempt_possessionWe got far enough to establish that this mob is a valid target, let's try to posssess it
on_examinedInform ghosts that they can possess this
on_ghost_clickedA ghost clicked on us, they want to get in this body
on_loginWhen someone else assumes control via some other means, get rid of our component
request_ghost_controlSend out a request for a brain
+

Var Details

after_assumed_control + + + + +

+

Callback run after someone successfully takes over the body

assumed_control_message + + + + +

+

Message to display upon successful possession

awaiting_ghosts + + + + +

+

If we're currently awaiting the results of a ghost poll

ban_type + + + + +

+

Type of ban you can get to prevent you from accepting this role

extra_control_checks + + + + +

+

Any extra checks which need to run before we take over

Proc Details

assume_direct_control +

+

Grant possession of our mob, component is now no longer required

attempt_possession +

+

We got far enough to establish that this mob is a valid target, let's try to posssess it

on_examined +

+

Inform ghosts that they can possess this

on_ghost_clicked +

+

A ghost clicked on us, they want to get in this body

on_login +

+

When someone else assumes control via some other means, get rid of our component

request_ghost_control +

+

Send out a request for a brain

+ + + diff --git a/datum/component/ghost_edible.html b/datum/component/ghost_edible.html new file mode 100644 index 00000000000..deba9b506dd --- /dev/null +++ b/datum/component/ghost_edible.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/ghost_edible - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ghost_edible + + + +

+ +

Allows ghosts to eat this by orbiting it +They do this by consuming the reagents in the object, so if it doesn't have any then it won't work

+ + + +

Vars

bite_chanceChance per ghost that a bite will be taken
bite_consumptionAmount of reagents which will be consumed by each bite
initial_reagent_volumeHow many reagents this had on initialisation, used to figure out how eaten we are
minimum_scaleMinimum size the food will display as before being deleted
+

Var Details

bite_chance + + + + +

+

Chance per ghost that a bite will be taken

bite_consumption + + + + +

+

Amount of reagents which will be consumed by each bite

initial_reagent_volume + + + + +

+

How many reagents this had on initialisation, used to figure out how eaten we are

minimum_scale + + + + +

+

Minimum size the food will display as before being deleted

+ + + diff --git a/datum/component/glitch.html b/datum/component/glitch.html new file mode 100644 index 00000000000..0d73cacc10b --- /dev/null +++ b/datum/component/glitch.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/glitch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

glitch + + + +

+ + + + + + +

Vars

forge_refRef of the spawning forge

Procs

dust_mobSakujo
on_deathWe don't want digital entities just lingering around as corpses.
on_forge_brokenIf the forge breaks, we take a massive slowdown
on_forge_power_restoredPower restored
+

Var Details

forge_ref + + + + +

+

Ref of the spawning forge

Proc Details

dust_mob +

+

Sakujo

on_death +

+

We don't want digital entities just lingering around as corpses.

on_forge_broken +

+

If the forge breaks, we take a massive slowdown

on_forge_power_restored +

+

Power restored

+ + + diff --git a/datum/component/golem_food.html b/datum/component/golem_food.html new file mode 100644 index 00000000000..0cfddbdbe68 --- /dev/null +++ b/datum/component/golem_food.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/golem_food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem_food + + + +

+ +

Component which allows something to be eaten by a golem

+ + + + + + + +

Vars

consume_on_eatWhether to destroy our item when we eat it
extra_validationAny extra checks which need to be done when seeing if this is edible
golem_snackOur abstract fake food item
snack_typeReference to the kind of food we provide

Procs

create_golem_snackCreates our golem snack atom instance
on_attackAttempt to feed this item to golem
on_examineAdd extra examine text to people who have golem brains
on_food_destroyedReference handling for abstract food object
+

Var Details

consume_on_eat + + + + +

+

Whether to destroy our item when we eat it

extra_validation + + + + +

+

Any extra checks which need to be done when seeing if this is edible

golem_snack + + + + +

+

Our abstract fake food item

snack_type + + + + +

+

Reference to the kind of food we provide

Proc Details

create_golem_snack +

+

Creates our golem snack atom instance

on_attack +

+

Attempt to feed this item to golem

on_examine +

+

Add extra examine text to people who have golem brains

on_food_destroyed +

+

Reference handling for abstract food object

+ + + diff --git a/datum/component/gps/item.html b/datum/component/gps/item.html new file mode 100644 index 00000000000..ba46672e401 --- /dev/null +++ b/datum/component/gps/item.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/gps/item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

GPS component subtype. Only gps/item's can be used to open the UI.

+ + + + + + +

Vars

stateUI state of GPS, altering when it can be used.

Procs

interactCalled on COMSIG_ITEM_ATTACK_SELF
on_AltClickCalls toggletracking
on_emp_actCalled on COMSIG_ATOM_EMP_ACT
on_examineCalled on COMSIG_ATOM_EXAMINE
rebootRestarts the GPS after getting turned off by an EMP.
toggletrackingToggles the tracking for the gps
+

Var Details

state + + + + +

+

UI state of GPS, altering when it can be used.

Proc Details

interact +

+

Called on COMSIG_ITEM_ATTACK_SELF

on_AltClick +

+

Calls toggletracking

on_emp_act +

+

Called on COMSIG_ATOM_EMP_ACT

on_examine +

+

Called on COMSIG_ATOM_EXAMINE

reboot +

+

Restarts the GPS after getting turned off by an EMP.

toggletracking +

+

Toggles the tracking for the gps

+ + + diff --git a/datum/component/grillable.html b/datum/component/grillable.html new file mode 100644 index 00000000000..97fc357538b --- /dev/null +++ b/datum/component/grillable.html @@ -0,0 +1,127 @@ + + + + + + + /datum/component/grillable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grillable + + + +

+ + + + + + + + + + + + + + + +

Vars

added_reagentsReagents that should be added to the result
cook_resultResult atom type of grilling this object
current_cook_timeTime spent cooking so far
positive_resultIs this a positive grill result?
required_cook_timeAmount of time required to cook the food
use_large_steam_spriteDo we use the large steam sprite?
who_placed_usREF() to the mind which placed us on the griddle

Procs

finish_grillingRan when an object finished grilling
on_examineRan when an object almost finishes grilling
on_grillRan every time an item is grilled by something
on_grill_placedSignal proc for COMSIG_ITEM_GRILL_PLACED, item is placed on the grill.
on_grill_turned_offSignal proc for COMSIG_ITEM_GRILL_TURNED_OFF, stops the grilling process.
on_grill_turned_onSignal proc for COMSIG_ITEM_GRILL_TURNED_ON, starts the grilling process.
on_movedRan when an object moves from the grill
+

Var Details

added_reagents + + + + +

+

Reagents that should be added to the result

cook_result + + + + +

+

Result atom type of grilling this object

current_cook_time + + + + +

+

Time spent cooking so far

positive_result + + + + +

+

Is this a positive grill result?

required_cook_time + + + + +

+

Amount of time required to cook the food

use_large_steam_sprite + + + + +

+

Do we use the large steam sprite?

who_placed_us + + + + +

+

REF() to the mind which placed us on the griddle

Proc Details

finish_grilling +

+

Ran when an object finished grilling

on_examine +

+

Ran when an object almost finishes grilling

on_grill +

+

Ran every time an item is grilled by something

on_grill_placed +

+

Signal proc for COMSIG_ITEM_GRILL_PLACED, item is placed on the grill.

on_grill_turned_off +

+

Signal proc for COMSIG_ITEM_GRILL_TURNED_OFF, stops the grilling process.

on_grill_turned_on +

+

Signal proc for COMSIG_ITEM_GRILL_TURNED_ON, starts the grilling process.

on_moved +

+

Ran when an object moves from the grill

+ + + diff --git a/datum/component/ground_sinking.html b/datum/component/ground_sinking.html new file mode 100644 index 00000000000..c5c91290103 --- /dev/null +++ b/datum/component/ground_sinking.html @@ -0,0 +1,156 @@ + + + + + + + /datum/component/ground_sinking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Ground sinking component (basicly only for garden gnomes ever at this point) + + + +

+ +

A basic mob with this component will sink into the ground, once sinked into the ground it will regenerate and +might gain damage resistence. Can be combined with caltrop.

+ + + + + + + + + + + + + + + + + +

Vars

damage_res_sinkedOur damage_coeffs when we are sinked
ground_sinking_delayYou will only sink if you haven't been walking for this many seconds
ground_sinking_start_timerWhen this timer completes we start sinking
heal_when_sinkedIf we will heal once we are sinked
health_per_secondHealth to regenerate per second
is_sinkingIf we sinking into the ground right now
outline_colourOutline colour of the regeneration
sink_countHow far we have sinked
sink_speedThe speed at which the mob will sink
sinkedIf we sinked into the ground right now
target_icon_stateThe icon state of the parent

Procs

finish_sinkingThe mob has fully sunk, updates its regeneration, damage resistance and density
on_movedWhen you move, reset the cooldown and start processing
sinking_progressMakes the mob try to sink three times. Unsinks if interrupted.
start_regeneratingThe mop starts regaining health
start_sinkingStart processing health regeneration, and show animation if provided
stop_regeneratingStops regaining health
unsinkThe mob pops out of the ground
+

Var Details

damage_res_sinked + + + + +

+

Our damage_coeffs when we are sinked

ground_sinking_delay + + + + +

+

You will only sink if you haven't been walking for this many seconds

ground_sinking_start_timer + + + + +

+

When this timer completes we start sinking

heal_when_sinked + + + + +

+

If we will heal once we are sinked

health_per_second + + + + +

+

Health to regenerate per second

is_sinking + + + + +

+

If we sinking into the ground right now

outline_colour + + + + +

+

Outline colour of the regeneration

sink_count + + + + +

+

How far we have sinked

sink_speed + + + + +

+

The speed at which the mob will sink

sinked + + + + +

+

If we sinked into the ground right now

target_icon_state + + + + +

+

The icon state of the parent

Proc Details

finish_sinking +

+

The mob has fully sunk, updates its regeneration, damage resistance and density

on_moved +

+

When you move, reset the cooldown and start processing

sinking_progress +

+

Makes the mob try to sink three times. Unsinks if interrupted.

start_regenerating +

+

The mop starts regaining health

start_sinking +

+

Start processing health regeneration, and show animation if provided

stop_regenerating +

+

Stops regaining health

unsink +

+

The mob pops out of the ground

+ + + diff --git a/datum/component/growth_and_differentiation.html b/datum/component/growth_and_differentiation.html new file mode 100644 index 00000000000..17802703101 --- /dev/null +++ b/datum/component/growth_and_differentiation.html @@ -0,0 +1,141 @@ + + + + + + + /datum/component/growth_and_differentiation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

growth_and_differentiation + + + +

+ +Growth and Differentiation Component: Used to randomly "grow" a creature into a new entity over its lifespan. +

If we are passed a typepath, we will 100% grow into that type. However, if we are not passed a typepath, we will pick one from a subtype of the parent we were applied to!

+ + + + + + + + + + + + + + +

Vars

growth_pathWhat this mob turns into when fully grown.
growth_probabilityInteger - Probability we grow per SPT_PROB
growth_timeFailover for how much time we have until we fully grow. If passed as null, we eschew setting up the timer. +Remember: We can grow earlier than this if the randomness rolls turn out to be in our favor though!
lower_growth_valueInteger - The lower bound for the percentage we have to grow before we can differentiate.
optional_checksOptional callback for checks to see if we're okay to grow.
optional_grow_behaviorOptional callback in case we wish to override the default grow() behavior. Assume we supersede the change_mob_type() call if we have this set.
percent_grownPercentage we have grown.
ready_to_growAre we ready to grow? This is just in case we fail our checks and need to wait until the next tick. +We only really need this because we have two competing systems, the timer and the probability-based growth. When one succeeds, this component is considered successful in growth, +and will actively try to grow the mob (only barred by optional checks).
signals_to_kill_onList of signals we kill on ourselves when we grow.
timer_idID for the failover timer.
upper_growth_valueInteger - The upper bound for the percentage we have to grow before we can differentiate.

Procs

comp_on_round_startWhat we invoke when the round starts so we can set up our timer.
growGrows the mob into its new form.
setup_growth_trackingSets up the two different systems for growth: the timer and the probability based one. Both can coexist. Return COMPONENT_INCOMPATIBLE if we fail to set up either.
stop_component_processing_entirelyWrapper for qdel() so we can pass it in RegisterSignals(). I hate it here too.
+

Var Details

growth_path + + + + +

+

What this mob turns into when fully grown.

growth_probability + + + + +

+

Integer - Probability we grow per SPT_PROB

growth_time + + + + +

+

Failover for how much time we have until we fully grow. If passed as null, we eschew setting up the timer. +Remember: We can grow earlier than this if the randomness rolls turn out to be in our favor though!

lower_growth_value + + + + +

+

Integer - The lower bound for the percentage we have to grow before we can differentiate.

optional_checks + + + + +

+

Optional callback for checks to see if we're okay to grow.

optional_grow_behavior + + + + +

+

Optional callback in case we wish to override the default grow() behavior. Assume we supersede the change_mob_type() call if we have this set.

percent_grown + + + + +

+

Percentage we have grown.

ready_to_grow + + + + +

+

Are we ready to grow? This is just in case we fail our checks and need to wait until the next tick. +We only really need this because we have two competing systems, the timer and the probability-based growth. When one succeeds, this component is considered successful in growth, +and will actively try to grow the mob (only barred by optional checks).

signals_to_kill_on + + + + +

+

List of signals we kill on ourselves when we grow.

timer_id + + + + +

+

ID for the failover timer.

upper_growth_value + + + + +

+

Integer - The upper bound for the percentage we have to grow before we can differentiate.

Proc Details

comp_on_round_start +

+

What we invoke when the round starts so we can set up our timer.

grow +

+

Grows the mob into its new form.

setup_growth_tracking +

+

Sets up the two different systems for growth: the timer and the probability based one. Both can coexist. Return COMPONENT_INCOMPATIBLE if we fail to set up either.

stop_component_processing_entirely +

+

Wrapper for qdel() so we can pass it in RegisterSignals(). I hate it here too.

+ + + diff --git a/datum/component/gunpoint.html b/datum/component/gunpoint.html new file mode 100644 index 00000000000..d689f3d561f --- /dev/null +++ b/datum/component/gunpoint.html @@ -0,0 +1,141 @@ + + + + + + + /datum/component/gunpoint - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gunpoint + + + +

+ + + + + + + + + + + + + + + + + +

Vars

damage_multHow much the damage and wound values will be multiplied by
point_of_no_returnIf TRUE, we're committed to firing the shot, for async purposes
stageWhich stage we're on
targetWho we're holding up
weaponThe gun we're holding them up with

Procs

block_bumps_parentPrevents bumping the shooter to break gunpoint since shove does that
block_bumps_targetPrevents bumping the target by an ally to cheese and force the charged shot
cancelShooter canceled their shot, either by dropping/equipping their weapon, leaving sight/range, or clicking on the alert
check_bumpIf the shooter bumps the target, cancel the holdup to avoid cheesing and forcing the charged shot
check_deescalateCancel the holdup if the shooter moves out of sight or out of range of the target
check_shoveIf the shooter shoves or grabs the target, cancel the holdup to avoid cheesing and forcing the charged shot
examineShows if the parent is holding someone at gunpoint
examine_targetShows if the examine target is being held at gunpoint
flinchIf the shooter is hit by an attack, they have a 50% chance to flinch and fire. If it hit the arm holding the trigger, it's an 80% chance to fire instead
trigger_reactionBang bang, we're firing a charged shot off
update_stageUpdate the damage multiplier for whatever stage we're entering into
+

Var Details

damage_mult + + + + +

+

How much the damage and wound values will be multiplied by

point_of_no_return + + + + +

+

If TRUE, we're committed to firing the shot, for async purposes

stage + + + + +

+

Which stage we're on

target + + + + +

+

Who we're holding up

weapon + + + + +

+

The gun we're holding them up with

Proc Details

block_bumps_parent +

+

Prevents bumping the shooter to break gunpoint since shove does that

block_bumps_target +

+

Prevents bumping the target by an ally to cheese and force the charged shot

cancel +

+

Shooter canceled their shot, either by dropping/equipping their weapon, leaving sight/range, or clicking on the alert

check_bump +

+

If the shooter bumps the target, cancel the holdup to avoid cheesing and forcing the charged shot

check_deescalate +

+

Cancel the holdup if the shooter moves out of sight or out of range of the target

check_shove +

+

If the shooter shoves or grabs the target, cancel the holdup to avoid cheesing and forcing the charged shot

examine +

+

Shows if the parent is holding someone at gunpoint

examine_target +

+

Shows if the examine target is being held at gunpoint

flinch +

+

If the shooter is hit by an attack, they have a 50% chance to flinch and fire. If it hit the arm holding the trigger, it's an 80% chance to fire instead

trigger_reaction +

+

Bang bang, we're firing a charged shot off

update_stage +

+

Update the damage multiplier for whatever stage we're entering into

+ + + diff --git a/datum/component/haunted_item.html b/datum/component/haunted_item.html new file mode 100644 index 00000000000..1c2c9afdb0c --- /dev/null +++ b/datum/component/haunted_item.html @@ -0,0 +1,65 @@ + + + + + + + /datum/component/haunted_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

haunted_item + + + +

+ +

Makes our item SUPER spooky! +Adds the haunted element and some other bonuses

+ + + + +

Vars

despawn_messageOptional message displayed when we're despawned / dehaunted
pre_haunt_throwforceOur throwforce before being haunted
types_which_dispell_usList of types that, if they hit our item, we will instantly stop the haunting

Procs

clear_hauntingRemoves the haunting, showing any despawn message we have and qdeling our component
on_hit_by_holy_toolSignal proc for COMSIG_ATOM_ATTACKBY, when we get smacked by holy stuff we should stop being ghostly.
+

Var Details

despawn_message + + + + +

+

Optional message displayed when we're despawned / dehaunted

pre_haunt_throwforce + + + + +

+

Our throwforce before being haunted

types_which_dispell_us + + + + +

+

List of types that, if they hit our item, we will instantly stop the haunting

Proc Details

clear_haunting +

+

Removes the haunting, showing any despawn message we have and qdeling our component

on_hit_by_holy_tool +

+

Signal proc for COMSIG_ATOM_ATTACKBY, when we get smacked by holy stuff we should stop being ghostly.

+ + + diff --git a/datum/component/hazard_area.html b/datum/component/hazard_area.html new file mode 100644 index 00000000000..208c1b6adb5 --- /dev/null +++ b/datum/component/hazard_area.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/hazard_area - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hazard_area + + + +

+ +

This is a relatively simple component that attempts to deter the parent of the component away +from a specific area or areas. By default it simply applies a penalty where all movement is +four times slower than usual and any action that would affect your 'next move' has a penalty +multiplier of 4 attached.

+ + + + + + + + + +

Vars

area_blacklistThe blacklist of areas that the parent will be penalized for entering
area_createdA list of areas that have been created and are considered to not be hazardous
area_whitelistThe whitelist of areas that the parent is allowed to be in. If set this overrides the blacklist
last_parent_areaA variable storing the typepath of the last checked area to prevent any further logic running if it has not changed

Procs

check_area_hazardousChecks if the area being checked is considered hazardous +The whitelist is checked first if it exists, otherwise it checks if it is in the blacklist
handle_parent_area_changeThis signal should be called whenever our parent moves.
on_area_creationThis signal handler does a few house cleaning tasks when a new area is created. +If the created area already exists in the blacklist or whitelist it simply returns, +however if it isn't we check for an overwritten area and if non-hazardous setup the area to +allow the parent. +If there aren't any overwritten area's it assumes it to be non-hazardous, abuse it and you will weep -ZephyrTFA
reject_ladder_movementThis signal handler checks the area the target ladder is in and if hazardous prevents them from using it
reject_vehicleA simple signal handler that informs the parent they cannot ride a vehicle and ejects them
update_parent_status_effectThis proc handles the status effect applied to the parent, most noteably applying or removing it as required
+

Var Details

area_blacklist + + + + +

+

The blacklist of areas that the parent will be penalized for entering

area_created + + + + +

+

A list of areas that have been created and are considered to not be hazardous

area_whitelist + + + + +

+

The whitelist of areas that the parent is allowed to be in. If set this overrides the blacklist

last_parent_area + + + + +

+

A variable storing the typepath of the last checked area to prevent any further logic running if it has not changed

Proc Details

check_area_hazardous +

+

Checks if the area being checked is considered hazardous +The whitelist is checked first if it exists, otherwise it checks if it is in the blacklist

+

handle_parent_area_change +

+

This signal should be called whenever our parent moves.

on_area_creation +

+

This signal handler does a few house cleaning tasks when a new area is created. +If the created area already exists in the blacklist or whitelist it simply returns, +however if it isn't we check for an overwritten area and if non-hazardous setup the area to +allow the parent. +If there aren't any overwritten area's it assumes it to be non-hazardous, abuse it and you will weep -ZephyrTFA

reject_ladder_movement +

+

This signal handler checks the area the target ladder is in and if hazardous prevents them from using it

reject_vehicle +

+

A simple signal handler that informs the parent they cannot ride a vehicle and ejects them

update_parent_status_effect +

+

This proc handles the status effect applied to the parent, most noteably applying or removing it as required

+ + + diff --git a/datum/component/healing_touch.html b/datum/component/healing_touch.html new file mode 100644 index 00000000000..0343c390288 --- /dev/null +++ b/datum/component/healing_touch.html @@ -0,0 +1,184 @@ + + + + + + + /datum/component/healing_touch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Healing Touch component + + + +

+ +

A mob with this component will be able to heal certain targets by attacking them. +This intercepts the attack and starts a do_after if the target is in its allowed type list.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

action_textText to print when action starts, replaces %SOURCE% with healer and %TARGET% with healed mob
after_healedCallback to run after healing a mob
complete_textText to print when action completes, replaces %SOURCE% with healer and %TARGET% with healed mob
extra_checksAny extra conditions which need to be true to permit healing. Returning TRUE permits the healing, FALSE or null cancels it.
heal_bruteHow much brute damage to heal
heal_burnHow much burn damage to heal
heal_colorColor for the healing effect
heal_oxyHow much oxygen damage to heal
heal_staminaHow much stamina damage to heal
heal_timeTime it takes to perform the healing action
heal_toxHow much toxin damage to heal
interaction_keyInteraction will use this key, and be blocked while this key is in use
required_bodytypeWhich kinds of carbon limbs can we heal, has no effect on non-carbon mobs. Set to null if you don't care about excluding prosthetics.
required_modifierOptional click modifier required
self_targetingHow targeting yourself works, expects one of HEALING_TOUCH_ANYONE, HEALING_TOUCH_NOT_SELF, or HEALING_TOUCH_SELF_ONLY
show_healthWhether to print the target's remaining health after healing (for non-carbon targets only)
valid_biotypesBitfield for biotypes of mobs we can heal
valid_targets_typecacheTypecache of mobs we can heal

Procs

format_stringReformats the passed string with the replacetext keys
has_healable_damageReturns true if the target has a kind of damage which we can heal
heal_targetPerform a do_after and then heal our target
try_healingValidate our target, and interrupt the attack chain to start healing it if it is allowed
+

Var Details

action_text + + + + +

+

Text to print when action starts, replaces %SOURCE% with healer and %TARGET% with healed mob

after_healed + + + + +

+

Callback to run after healing a mob

complete_text + + + + +

+

Text to print when action completes, replaces %SOURCE% with healer and %TARGET% with healed mob

extra_checks + + + + +

+

Any extra conditions which need to be true to permit healing. Returning TRUE permits the healing, FALSE or null cancels it.

heal_brute + + + + +

+

How much brute damage to heal

heal_burn + + + + +

+

How much burn damage to heal

heal_color + + + + +

+

Color for the healing effect

heal_oxy + + + + +

+

How much oxygen damage to heal

heal_stamina + + + + +

+

How much stamina damage to heal

heal_time + + + + +

+

Time it takes to perform the healing action

heal_tox + + + + +

+

How much toxin damage to heal

interaction_key + + + + +

+

Interaction will use this key, and be blocked while this key is in use

required_bodytype + + + + +

+

Which kinds of carbon limbs can we heal, has no effect on non-carbon mobs. Set to null if you don't care about excluding prosthetics.

required_modifier + + + + +

+

Optional click modifier required

self_targeting + + + + +

+

How targeting yourself works, expects one of HEALING_TOUCH_ANYONE, HEALING_TOUCH_NOT_SELF, or HEALING_TOUCH_SELF_ONLY

show_health + + + + +

+

Whether to print the target's remaining health after healing (for non-carbon targets only)

valid_biotypes + + + + +

+

Bitfield for biotypes of mobs we can heal

valid_targets_typecache + + + + +

+

Typecache of mobs we can heal

Proc Details

format_string +

+

Reformats the passed string with the replacetext keys

has_healable_damage +

+

Returns true if the target has a kind of damage which we can heal

heal_target +

+

Perform a do_after and then heal our target

try_healing +

+

Validate our target, and interrupt the attack chain to start healing it if it is allowed

+ + + diff --git a/datum/component/health_scaling_effects.html b/datum/component/health_scaling_effects.html new file mode 100644 index 00000000000..6d4ed357753 --- /dev/null +++ b/datum/component/health_scaling_effects.html @@ -0,0 +1,107 @@ + + + + + + + /datum/component/health_scaling_effects - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

health_scaling_effects + + + +

+ +Enrage buffs component +

Scales some statistics of a living mob (speed or attack power or such) based on how hurt it is.

+ + + + + + + + + + +

Vars

additional_status_callbackA callback which is sent the mob's current ratio between the max and min values, for updating mob-specific effects
max_health_attack_modifier_lowerModification to apply to the lower bound of your attack while your health is at or above the max threshold
max_health_attack_modifier_upperModification to apply to the upper bound of your attack while your health is at or above the max threshold
max_health_slowdownModification to movement speed to apply while your health is at or above the max threshold
max_health_thresholdHealth percentage (between 0 and 1) at which you are considered to get the full "max" effect
min_health_attack_modifier_lowerModification to apply to the lower bound of your attack while your health is at or above the min threshold
min_health_attack_modifier_upperModification to apply to the upper bound of your attack while your health is at or above the min threshold
min_health_slowdownModification to movement speed to apply while your health is at or above the min threshold
min_health_thresholdHealth percentage (between 0 and 1) at which you are considered to get the full "min" effect

Procs

on_health_changedCalled when mob health changes, recalculates the ratio between maximum and minimum
update_statsUpdate statistics based on provided interpolator between maximum and minimum values
+

Var Details

additional_status_callback + + + + +

+

A callback which is sent the mob's current ratio between the max and min values, for updating mob-specific effects

max_health_attack_modifier_lower + + + + +

+

Modification to apply to the lower bound of your attack while your health is at or above the max threshold

max_health_attack_modifier_upper + + + + +

+

Modification to apply to the upper bound of your attack while your health is at or above the max threshold

max_health_slowdown + + + + +

+

Modification to movement speed to apply while your health is at or above the max threshold

max_health_threshold + + + + +

+

Health percentage (between 0 and 1) at which you are considered to get the full "max" effect

min_health_attack_modifier_lower + + + + +

+

Modification to apply to the lower bound of your attack while your health is at or above the min threshold

min_health_attack_modifier_upper + + + + +

+

Modification to apply to the upper bound of your attack while your health is at or above the min threshold

min_health_slowdown + + + + +

+

Modification to movement speed to apply while your health is at or above the min threshold

min_health_threshold + + + + +

+

Health percentage (between 0 and 1) at which you are considered to get the full "min" effect

Proc Details

on_health_changed +

+

Called when mob health changes, recalculates the ratio between maximum and minimum

update_stats +

+

Update statistics based on provided interpolator between maximum and minimum values

+ + + diff --git a/datum/component/heirloom.html b/datum/component/heirloom.html new file mode 100644 index 00000000000..ddbe1efc1fc --- /dev/null +++ b/datum/component/heirloom.html @@ -0,0 +1,51 @@ + + + + + + + /datum/component/heirloom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heirloom + + + +

+ +

Heirloom component. For use with the family heirloom quirk, tracks that an item is someone's family heirloom.

+ + +

Vars

family_nameFlavor. The family name of the owner of the heirloom.
ownerThe mind that actually owns our heirloom.

Procs

on_examineSignal proc for COMSIG_ATOM_EXAMINE.
+

Var Details

family_name + + + + +

+

Flavor. The family name of the owner of the heirloom.

owner + + + + +

+

The mind that actually owns our heirloom.

Proc Details

on_examine +

+

Signal proc for COMSIG_ATOM_EXAMINE.

+

Shows who owns the heirloom on examine.

+ + + diff --git a/datum/component/holderloving.html b/datum/component/holderloving.html new file mode 100644 index 00000000000..15044006403 --- /dev/null +++ b/datum/component/holderloving.html @@ -0,0 +1,75 @@ + + + + + + + /datum/component/holderloving - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

holderloving + + + +

+ + + +

Vars

del_parent_with_holderIf parent is deleted when the holder gets deleted
holder
+

Var Details

del_parent_with_holder + + + + +

+

If parent is deleted when the holder gets deleted

holder + + + + +

+
+ + + diff --git a/datum/component/ice_cream_holder.html b/datum/component/ice_cream_holder.html new file mode 100644 index 00000000000..84f26b5698b --- /dev/null +++ b/datum/component/ice_cream_holder.html @@ -0,0 +1,103 @@ + + + + + + + /datum/component/ice_cream_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ice_cream_holder + + + +

+ +

Ice Cream Holder: Allows the edible parent object to be used as an ice cream cone (or cup... in a next future).

+ + + + + + + + + +

Vars

change_nameChanges the name of the food depending on amount and flavours of ice cream on it.
filled_namename to use, if set, in place of [src] on update_name.
max_scoopsNumber of servings of ice cream it can get through normal methods.
scoopsList of servings of ice cream it is holding at the moment.
special_scoopsServings of ice cream with custom names as key, and their base ones as assoc. (useful for mob/custom ice cream)
x_offsetpixel offsets for scoop overlays. Useful for objects with off-centered sprites.

Procs

on_examine_moreOnly one flavour. +Many flavours.
on_item_attack_objAttack the ice cream vat to get some ice cream. This will change as new ways of getting ice cream are added.
on_update_nameThere is no easy way to add servings to those non-item edibles, but I won't stop you.
on_update_overlaysOnly one flavour. +Many flavours.
+

Var Details

change_name + + + + +

+

Changes the name of the food depending on amount and flavours of ice cream on it.

filled_name + + + + +

+

name to use, if set, in place of [src] on update_name.

max_scoops + + + + +

+

Number of servings of ice cream it can get through normal methods.

scoops + + + + +

+

List of servings of ice cream it is holding at the moment.

special_scoops + + + + +

+

Servings of ice cream with custom names as key, and their base ones as assoc. (useful for mob/custom ice cream)

x_offset + + + + +

+

pixel offsets for scoop overlays. Useful for objects with off-centered sprites.

Proc Details

on_examine_more +

+

Only one flavour. +Many flavours.

on_item_attack_obj +

+

Attack the ice cream vat to get some ice cream. This will change as new ways of getting ice cream are added.

on_update_name +

+

There is no easy way to add servings to those non-item edibles, but I won't stop you.

on_update_overlays +

+

Only one flavour. +Many flavours.

+ + + diff --git a/datum/component/infective.html b/datum/component/infective.html new file mode 100644 index 00000000000..2befc094513 --- /dev/null +++ b/datum/component/infective.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/infective - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

infective + + + +

+ + + +

Vars

is_weakThe infection is weak and can only infect on consumption with small chance
weak_infection_chanceChance of weak infection on consumption
+

Var Details

is_weak + + + + +

+

The infection is weak and can only infect on consumption with small chance

weak_infection_chance + + + + +

+

Chance of weak infection on consumption

+ + + diff --git a/datum/component/interaction_booby_trap.html b/datum/component/interaction_booby_trap.html new file mode 100644 index 00000000000..92a5a3418b6 --- /dev/null +++ b/datum/component/interaction_booby_trap.html @@ -0,0 +1,134 @@ + + + + + + + /datum/component/interaction_booby_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

interaction_booby_trap + + + +

+ +

Attached to an atom, creates an explosion when it is interacted with

+ + + + + + + + + + + + + + +

Vars

active_sound_loopLooping sound to clue people in that something is up
additional_triggersList of additional signals which should make this explode
defuse_toolUsing this tool on the atom will defuse the explosive
explode_timerTime until we explode
explosion_heavy_rangeExplosion radius of heavy damage
explosion_light_rangeExplosion radius of light damage
on_defused_callbackCallback to run when we've been defused
on_triggered_callbackCallback to run when we're going to explode
trigger_delayTime to wait between being triggered and blowing up
triggered_soundSound to play when triggered

Procs

explodeBlow up the parent atom and delete ourselves
on_defusedDefuse the bomb and delete ourselves
on_examineGive people a little hint
on_touchedCalled when someone touches the parent atom with their hands, we want to blow up
trigger_explosiveStart a countdown until destruction
+

Var Details

active_sound_loop + + + + +

+

Looping sound to clue people in that something is up

additional_triggers + + + + +

+

List of additional signals which should make this explode

defuse_tool + + + + +

+

Using this tool on the atom will defuse the explosive

explode_timer + + + + +

+

Time until we explode

explosion_heavy_range + + + + +

+

Explosion radius of heavy damage

explosion_light_range + + + + +

+

Explosion radius of light damage

on_defused_callback + + + + +

+

Callback to run when we've been defused

on_triggered_callback + + + + +

+

Callback to run when we're going to explode

trigger_delay + + + + +

+

Time to wait between being triggered and blowing up

triggered_sound + + + + +

+

Sound to play when triggered

Proc Details

explode +

+

Blow up the parent atom and delete ourselves

on_defused +

+

Defuse the bomb and delete ourselves

on_examine +

+

Give people a little hint

on_touched +

+

Called when someone touches the parent atom with their hands, we want to blow up

trigger_explosive +

+

Start a countdown until destruction

+ + + diff --git a/datum/component/itembound.html b/datum/component/itembound.html new file mode 100644 index 00000000000..d63744f3abe --- /dev/null +++ b/datum/component/itembound.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/itembound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

itembound + + + +

+ +

When a movable has this component AND they are in the contents of a container, they will no longer be able to use their hands and be immobilized until they are removed from the container. So far, this is only useful for smites.

+ + +

Vars

containerrefWeak reference to the container that the movable is inside of.
move_trackerDetect any movement of the container

Procs

verify_containmentEnsure that when we move, we still are in the container. If not in the container, remove all the traits.
+

Var Details

containerref + + + + +

+

Weak reference to the container that the movable is inside of.

move_tracker + + + + +

+

Detect any movement of the container

Proc Details

verify_containment +

+

Ensure that when we move, we still are in the container. If not in the container, remove all the traits.

+ + + diff --git a/datum/component/itempicky.html b/datum/component/itempicky.html new file mode 100644 index 00000000000..64d81d74023 --- /dev/null +++ b/datum/component/itempicky.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/itempicky - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

itempicky + + + +

+ +

You can only hold whitelisted items

+ +

Vars

messageMessage shown if you try to pick up an item not in the whitelist
whitelistTypecache of items you can hold
+

Var Details

message + + + + +

+

Message shown if you try to pick up an item not in the whitelist

whitelist + + + + +

+

Typecache of items you can hold

+ + + diff --git a/datum/component/jetpack.html b/datum/component/jetpack.html new file mode 100644 index 00000000000..bcd8a42833b --- /dev/null +++ b/datum/component/jetpack.html @@ -0,0 +1,114 @@ + + + + + + + /datum/component/jetpack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jetpack + + + +

+ + + + + + + + + + + + +

Vars

activation_signalThe signal we listen for as an activation
check_on_moveChecks to ensure if we can move & if we can activate
deactivation_signalThe signal we listen for as a de-activation
effect_typeThe typepath to instansiate our trail as, when we need it
return_flagThe return flag our parent expects for a failed activation
stabilizeIf we should stabilize ourselves when not drifting
trailThe effect system for the jet pack trail

Procs

InitializeArguments:
block_starting_visualsBasically, tell the drift component not to do its starting visuals, because they look dumb for us
ignore_ending_blockIf we're on, don't let the drift component block movements at the end since we can speed
thrustReturns true if the thrust went well, false otherwise
+

Var Details

activation_signal + + + + +

+

The signal we listen for as an activation

check_on_move + + + + +

+

Checks to ensure if we can move & if we can activate

deactivation_signal + + + + +

+

The signal we listen for as a de-activation

effect_type + + + + +

+

The typepath to instansiate our trail as, when we need it

return_flag + + + + +

+

The return flag our parent expects for a failed activation

stabilize + + + + +

+

If we should stabilize ourselves when not drifting

trail + + + + +

+

The effect system for the jet pack trail

Proc Details

Initialize +

+

Arguments:

+

block_starting_visuals +

+

Basically, tell the drift component not to do its starting visuals, because they look dumb for us

ignore_ending_block +

+

If we're on, don't let the drift component block movements at the end since we can speed

thrust +

+

Returns true if the thrust went well, false otherwise

+ + + diff --git a/datum/component/joint_damage.html b/datum/component/joint_damage.html new file mode 100644 index 00000000000..3ffbfdd5f25 --- /dev/null +++ b/datum/component/joint_damage.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/joint_damage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

joint_damage + + + +

+ + + +

Vars

overlord_mobthe mob we will damage
previous_health_countour last health count
+

Var Details

overlord_mob + + + + +

+

the mob we will damage

previous_health_count + + + + +

+

our last health count

+ + + diff --git a/datum/component/jousting.html b/datum/component/jousting.html new file mode 100644 index 00000000000..d4ca7098e22 --- /dev/null +++ b/datum/component/jousting.html @@ -0,0 +1,128 @@ + + + + + + + /datum/component/jousting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jousting + + + +

+ +

damage or heal overlord +##jousting

+

Given to items, it allows you to charge into people with additional damage and potential knockdown +by being buckled onto something. If the other person is also jousting, can knock eachother down.

+ + + + + + + + + + + +

Vars

current_directionThe current direction of the jousting.
current_holderThe current person holding parent.
current_tile_chargeHow many tiles we've charged up thus far
damage_boost_per_tileHow much of an increase in damage is achieved every tile moved during jousting.
knockdown_chance_per_tileThe boosted chances of a knockdown occuring while jousting.
knockdown_timeHow much of an increase in knockdown is achieved every tile moved during jousting, if it knocks down.
max_tile_chargeThe max amount of tiles before you can joust someone.
min_tile_chargeThe min amount of tiles before you can joust someone.

Procs

mob_moveCalled when a mob moves. +Handles checking their direction, changing it if they turned, +and increments how many tiles they've been charging for. +Lastly, refreshes their charge reset timer, giving them a new one instead.
on_attackPerforms the actual attack, handling damage/knockdown depending on how far you've jousted. +We deduct the minimum tile charge from the current tile charge to get what will actually be buffed +So your charge will only get benefits from each extra tile after the minimum (and before the maximum).
on_equipCalled when a mob equips the spear, registers them as the holder and checks their signals for moving.
reset_chargereset charge
+

Var Details

current_direction + + + + +

+

The current direction of the jousting.

current_holder + + + + +

+

The current person holding parent.

current_tile_charge + + + + +

+

How many tiles we've charged up thus far

damage_boost_per_tile + + + + +

+

How much of an increase in damage is achieved every tile moved during jousting.

knockdown_chance_per_tile + + + + +

+

The boosted chances of a knockdown occuring while jousting.

knockdown_time + + + + +

+

How much of an increase in knockdown is achieved every tile moved during jousting, if it knocks down.

max_tile_charge + + + + +

+

The max amount of tiles before you can joust someone.

min_tile_charge + + + + +

+

The min amount of tiles before you can joust someone.

Proc Details

mob_move +

+

Called when a mob moves. +Handles checking their direction, changing it if they turned, +and increments how many tiles they've been charging for. +Lastly, refreshes their charge reset timer, giving them a new one instead.

on_attack +

+

Performs the actual attack, handling damage/knockdown depending on how far you've jousted. +We deduct the minimum tile charge from the current tile charge to get what will actually be buffed +So your charge will only get benefits from each extra tile after the minimum (and before the maximum).

on_equip +

+

Called when a mob equips the spear, registers them as the holder and checks their signals for moving.

reset_charge +

+

reset charge

+

Resets their direction and tile charge back to their initial values. +This is used when someone is no longer jousting and it should cleanup.

+ + + diff --git a/datum/component/keep_me_secure.html b/datum/component/keep_me_secure.html new file mode 100644 index 00000000000..57bdae84c72 --- /dev/null +++ b/datum/component/keep_me_secure.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/keep_me_secure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

keep_me_secure + + + +

+ +Keep Me Secure component! +

Component that attaches to items, invoking a function to react when left unmoved and unsecured for too long. +Used for Nuclear Authentication Disks, and whiny plushy as an example (which changes sprites depending on whether it considers itself secure.)

+ + + + + + +

Vars

last_moveThe last world time the parent moved.
last_secured_locationThe last secure location the parent was at.
secured_callbackcallback for the parent being secure
unsecured_callbackcallback for the parent being unsecured

Procs

is_securedReturns whether the game is supposed to consider the parent "secure".
on_examinesignal sent when parent is examined
on_examine_moresignal sent when parent is examined more
+

Var Details

last_move + + + + +

+

The last world time the parent moved.

last_secured_location + + + + +

+

The last secure location the parent was at.

secured_callback + + + + +

+

callback for the parent being secure

unsecured_callback + + + + +

+

callback for the parent being unsecured

Proc Details

is_secured +

+

Returns whether the game is supposed to consider the parent "secure".

on_examine +

+

signal sent when parent is examined

on_examine_more +

+

signal sent when parent is examined more

+ + + diff --git a/datum/component/knockoff.html b/datum/component/knockoff.html new file mode 100644 index 00000000000..b5a2880d640 --- /dev/null +++ b/datum/component/knockoff.html @@ -0,0 +1,95 @@ + + + + + + + /datum/component/knockoff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

knockoff + + + +

+ +

Items with this component will have a chance to get knocked off +(unequipped and sent to the ground) when the wearer is disarmed or knocked down.

+ + + + + + +

Vars

knockoff_chanceChance to knockoff when a knockoff action occurs.
slots_knockoffableBitflag used in equip to determine what slots we need to be in to be knocked off. +If set, we must be equipped in one of the slots to have a chance of our item being knocked off. +If unset / NONE, a disarm or knockdown will have a chance of our item being knocked off regardless of slot, INCLUDING hand slots.
target_zonesUsed in being disarmed. +If set, we will only roll the knockoff chance if the disarmer is targeting one of these zones. +If unset, any disarm act will cause the knock-off chance to be rolled, no matter the zone targeted.

Procs

on_droppedSignal proc for COMSIG_ITEM_DROPPED +Unregisters our signals which can cause a knockdown when we're unequipped (dropped)
on_equippedSignal proc for COMSIG_ITEM_EQUIPPED +Registers our signals which can cause a knockdown whenever we're equipped correctly
on_equipped_mob_disarmSignal proc for COMSIG_HUMAN_DISARM_HIT on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're disarmed
on_equipped_mob_knockdownSignal proc for COMSIG_LIVING_STATUS_KNOCKDOWN on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're knocked down
+

Var Details

knockoff_chance + + + + +

+

Chance to knockoff when a knockoff action occurs.

slots_knockoffable + + + + +

+

Bitflag used in equip to determine what slots we need to be in to be knocked off. +If set, we must be equipped in one of the slots to have a chance of our item being knocked off. +If unset / NONE, a disarm or knockdown will have a chance of our item being knocked off regardless of slot, INCLUDING hand slots.

target_zones + + + + +

+

Used in being disarmed. +If set, we will only roll the knockoff chance if the disarmer is targeting one of these zones. +If unset, any disarm act will cause the knock-off chance to be rolled, no matter the zone targeted.

Proc Details

on_dropped +

+

Signal proc for COMSIG_ITEM_DROPPED +Unregisters our signals which can cause a knockdown when we're unequipped (dropped)

on_equipped +

+

Signal proc for COMSIG_ITEM_EQUIPPED +Registers our signals which can cause a knockdown whenever we're equipped correctly

on_equipped_mob_disarm +

+

Signal proc for COMSIG_HUMAN_DISARM_HIT on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're disarmed

on_equipped_mob_knockdown +

+

Signal proc for COMSIG_LIVING_STATUS_KNOCKDOWN on the mob who's equipped our parent +Rolls a chance for knockoff whenever we're knocked down

+ + + diff --git a/datum/component/label.html b/datum/component/label.html new file mode 100644 index 00000000000..8c764efcfd5 --- /dev/null +++ b/datum/component/label.html @@ -0,0 +1,94 @@ + + + + + + + /datum/component/label - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

label + + + +

+ +

The label component.

+

This component is used to manage labels applied by the hand labeler.

+

Atoms can only have one instance of this component, and therefore only one label at a time. +This is to avoid having names like "Backpack (label1) (label2) (label3)". This is annoying and abnoxious to read.

+

When a player clicks the atom with a hand labeler to apply a label, this component gets applied to it. +If the labeler is off, the component will be removed from it, and the label will be removed from its name.

+ + + + + +

Vars

label_nameThe name of the label the player is applying to the parent.

Procs

ExamineThis proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.
InheritComponentThis proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.
OnAttackbyThis proc will trigger when any object is used to attack the parent.
apply_labelApplies a label to the name of the parent in the format of: "parent_name (label)"
remove_labelRemoves the label from the parent's name
+

Var Details

label_name + + + + +

+

The name of the label the player is applying to the parent.

Proc Details

Examine +

+

This proc will trigger when someone examines the parent. +It will attach the text found in the body of the proc to the examine_list and display it to the player examining the parent.

+

Arguments:

+

InheritComponent +

+

This proc will fire after the parent is hit by a hand labeler which is trying to apply another label. +Since the parent already has a label, it will remove the old one from the parent's name, and apply the new one.

OnAttackby +

+

This proc will trigger when any object is used to attack the parent.

+

If the attacking object is not a hand labeler, it will return. +If the attacking object is a hand labeler it will restore the name of the parent to what it was before this component was added to it, and the component will be deleted.

+

Arguments:

+

apply_label +

+

Applies a label to the name of the parent in the format of: "parent_name (label)"

remove_label +

+

Removes the label from the parent's name

+ + + diff --git a/datum/component/leash.html b/datum/component/leash.html new file mode 100644 index 00000000000..59ca92dacb5 --- /dev/null +++ b/datum/component/leash.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/leash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

leash + + + +

+ +

Keeps the parent within the distance of its owner as naturally as possible, +but teleporting if necessary.

+ + + +

Vars

distanceThe maximum distance you can move from your owner
force_teleport_in_effectThe object type to create on the new turf when forcibly teleporting out
force_teleport_out_effectThe object type to create on the old turf when forcibly teleporting out
ownerThe owner of the leash. If this is qdeleted, the leash is as well.
+

Var Details

distance + + + + +

+

The maximum distance you can move from your owner

force_teleport_in_effect + + + + +

+

The object type to create on the new turf when forcibly teleporting out

force_teleport_out_effect + + + + +

+

The object type to create on the old turf when forcibly teleporting out

owner + + + + +

+

The owner of the leash. If this is qdeleted, the leash is as well.

+ + + diff --git a/datum/component/life_link.html b/datum/component/life_link.html new file mode 100644 index 00000000000..b484d481fc4 --- /dev/null +++ b/datum/component/life_link.html @@ -0,0 +1,135 @@ + + + + + + + /datum/component/life_link - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

life_link + + + +

+ +

A mob with this component passes all damage (and healing) it takes to another mob, passed as a parameter +Essentially we use another mob's health bar as our health bar

+ + + + + + + + + + + + + + +

Vars

hostMob we pass all of our damage to
on_linked_deathOptional callback invoked when the linked mob dies
on_passed_damageOptional callback invoked when damage gets transferred

Procs

on_damage_adjustedCalled when your damage goes up or down
on_health_updatedCalled when either the host or parent's health tries to update, update our displayed health
on_host_deletedCalled when
on_host_diedCalled when our host dies, we should die too
on_host_revivedCalled when our host undies, we should undie too
on_limb_damageCalled when someone hurts one of our limbs, bypassing normal damage adjustment
on_status_tab_updatedWhen our status tab updates, draw how much HP our host has in there
register_hostSet someone up as our new host
unregister_hostDrop someone from being our host
update_health_hudUpdate our parent's health display based on how harmed our host is
update_med_hud_healthUpdate our health on the medical hud
update_med_hud_statusUpdate our vital status on the medical hud
+

Var Details

host + + + + +

+

Mob we pass all of our damage to

on_linked_death + + + + +

+

Optional callback invoked when the linked mob dies

on_passed_damage + + + + +

+

Optional callback invoked when damage gets transferred

Proc Details

on_damage_adjusted +

+

Called when your damage goes up or down

on_health_updated +

+

Called when either the host or parent's health tries to update, update our displayed health

on_host_deleted +

+

Called when

on_host_died +

+

Called when our host dies, we should die too

on_host_revived +

+

Called when our host undies, we should undie too

on_limb_damage +

+

Called when someone hurts one of our limbs, bypassing normal damage adjustment

on_status_tab_updated +

+

When our status tab updates, draw how much HP our host has in there

register_host +

+

Set someone up as our new host

unregister_host +

+

Drop someone from being our host

update_health_hud +

+

Update our parent's health display based on how harmed our host is

update_med_hud_health +

+

Update our health on the medical hud

update_med_hud_status +

+

Update our vital status on the medical hud

+ + + diff --git a/datum/component/light_eater.html b/datum/component/light_eater.html new file mode 100644 index 00000000000..da732ff7ec0 --- /dev/null +++ b/datum/component/light_eater.html @@ -0,0 +1,51 @@ + + + + + + + /datum/component/light_eater - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

light_eater + + + +

+ +

Makes anything it attaches to capable of removing something's ability to produce light until it is destroyed

+

The permanent version of this is /datum/element/light_eater

+ + +

Vars

eaten_lightsTracks things this light eater has eaten

Procs

deref_eaten_lightHandles dereferencing deleted lights.
on_devourHandles storing references to lights eaten by the light eater.
+

Var Details

eaten_lights + + + + +

+

Tracks things this light eater has eaten

Proc Details

deref_eaten_light +

+

Handles dereferencing deleted lights.

on_devour +

+

Handles storing references to lights eaten by the light eater.

+ + + diff --git a/datum/component/ling_decoy_brain.html b/datum/component/ling_decoy_brain.html new file mode 100644 index 00000000000..632a015bc2b --- /dev/null +++ b/datum/component/ling_decoy_brain.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/ling_decoy_brain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ling_decoy_brain + + + +

+ +

Component applied to ling brains to make them into decoy brains, as ling brains are vestigial and don't do anything

+ + + +

Vars

parent_lingThe ling this brain is linked to
talk_actionA talk action that is granted to the ling when this decoy enters an MMI

Procs

clear_decoyClear up the decoy if the ling is de-linged
entered_mmiSignal proc for COMSIG_ATOM_ENTERING, when the brain enters an MMI grant the MMI talk action to the ling
+

Var Details

parent_ling + + + + +

+

The ling this brain is linked to

talk_action + + + + +

+

A talk action that is granted to the ling when this decoy enters an MMI

Proc Details

clear_decoy +

+

Clear up the decoy if the ling is de-linged

entered_mmi +

+

Signal proc for COMSIG_ATOM_ENTERING, when the brain enters an MMI grant the MMI talk action to the ling

+

Unfortunately this is hooked on Entering rather than its own dedicated MMI signal becuase MMI code is a fuck

+ + + diff --git a/datum/component/listen_and_repeat.html b/datum/component/listen_and_repeat.html new file mode 100644 index 00000000000..db43dcbad22 --- /dev/null +++ b/datum/component/listen_and_repeat.html @@ -0,0 +1,86 @@ + + + + + + + /datum/component/listen_and_repeat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

listen_and_repeat + + + +

+ +

Simple element that will deterministically set a value based on stuff that the source has heard and will then compel the source to repeat it. +Requires a valid AI Blackboard.

+ + + + + + + +

Vars

blackboard_keyThe AI Blackboard Key we assign the value to.
desired_phrasesList of things that we start out having in our speech buffer
speech_bufferList of things that we've heard and will repeat.
speech_probabilityProbability we speak
switch_phrase_probabilityProbabiliy we switch our phrase

Procs

on_hearCalled when we hear something.
on_write_memoryExports all the speech buffer data to a dedicated blackboard key on the source.
set_new_blackboard_phraseCalled to set a new value for the blackboard key.
+

Var Details

blackboard_key + + + + +

+

The AI Blackboard Key we assign the value to.

desired_phrases + + + + +

+

List of things that we start out having in our speech buffer

speech_buffer + + + + +

+

List of things that we've heard and will repeat.

speech_probability + + + + +

+

Probability we speak

switch_phrase_probability + + + + +

+

Probabiliy we switch our phrase

Proc Details

on_hear +

+

Called when we hear something.

on_write_memory +

+

Exports all the speech buffer data to a dedicated blackboard key on the source.

set_new_blackboard_phrase +

+

Called to set a new value for the blackboard key.

+ + + diff --git a/datum/component/living_heart.html b/datum/component/living_heart.html new file mode 100644 index 00000000000..556de826090 --- /dev/null +++ b/datum/component/living_heart.html @@ -0,0 +1,55 @@ + + + + + + + /datum/component/living_heart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Living Heart Component + + + +

+ +

Applied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.

+

This component handles the action associated with it - +if the organ is removed, the action should be deleted

+ + +

Vars

actionThe action we create and give to our heart.

Procs

on_organ_removedSignal proc for COMSIG_ORGAN_REMOVED.
on_organ_replacedSignal proc for COMSIG_ORGAN_BEING_REPLACED.
+

Var Details

action + + + + +

+

The action we create and give to our heart.

Proc Details

on_organ_removed +

+

Signal proc for COMSIG_ORGAN_REMOVED.

+

If the organ is removed, the component will remove itself.

on_organ_replaced +

+

Signal proc for COMSIG_ORGAN_BEING_REPLACED.

+

If the organ is replaced, before it's done transfer the component over

+ + + diff --git a/datum/component/lock_on_cursor.html b/datum/component/lock_on_cursor.html new file mode 100644 index 00000000000..cf7e3bacd54 --- /dev/null +++ b/datum/component/lock_on_cursor.html @@ -0,0 +1,156 @@ + + + + + + + /datum/component/lock_on_cursor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lock_on_cursor + + + +

+ +Lock on Cursor component +

Finds the nearest targets to your cursor and passes them into a callback, also drawing an icon on top of them.

+ + + + + + + + + + + + + + + + + +

Vars

can_target_callbackCallback to call in order to validate a potential target
current_ranging_idRanging ID for some kind of tick check safety calculation
immune_weakrefsCache of weakrefs to ignore targeting formatted as list(weakref = TRUE)
lock_amountNumber of things we can target at once
lock_appearanceAppearance to overlay onto whatever we are targeting
lock_cursor_rangeRange to search for targets from the cursor position
lock_imagesCurrent images we are displaying to the client
locked_weakrefsWeakrefs to current locked targets
mouse_trackerFull screen overlay which is used to track mouse position
on_lockCallback to call when we have decided on our targets, is passed the list of final targets
target_typecacheTypecache of things we are allowed to target

Procs

can_targetReturns true if target is a valid target
clear_invalid_targetsRemoves targets which are out of range or don't exist any more
clear_visualsRemoves target overlays
find_targetsReplace our targets with new ones
get_nearestReturns the nearest targets to the current cursor position
refresh_visualsReset the overlays on all targets
show_visualsAdds overlays to all targets
+

Var Details

can_target_callback + + + + +

+

Callback to call in order to validate a potential target

current_ranging_id + + + + +

+

Ranging ID for some kind of tick check safety calculation

immune_weakrefs + + + + +

+

Cache of weakrefs to ignore targeting formatted as list(weakref = TRUE)

lock_amount + + + + +

+

Number of things we can target at once

lock_appearance + + + + +

+

Appearance to overlay onto whatever we are targeting

lock_cursor_range + + + + +

+

Range to search for targets from the cursor position

lock_images + + + + +

+

Current images we are displaying to the client

locked_weakrefs + + + + +

+

Weakrefs to current locked targets

mouse_tracker + + + + +

+

Full screen overlay which is used to track mouse position

on_lock + + + + +

+

Callback to call when we have decided on our targets, is passed the list of final targets

target_typecache + + + + +

+

Typecache of things we are allowed to target

Proc Details

can_target +

+

Returns true if target is a valid target

clear_invalid_targets +

+

Removes targets which are out of range or don't exist any more

clear_visuals +

+

Removes target overlays

find_targets +

+

Replace our targets with new ones

get_nearest +

+

Returns the nearest targets to the current cursor position

refresh_visuals +

+

Reset the overlays on all targets

show_visuals +

+

Adds overlays to all targets

+ + + diff --git a/datum/component/lockable_storage.html b/datum/component/lockable_storage.html new file mode 100644 index 00000000000..fc77b9cf2a9 --- /dev/null +++ b/datum/component/lockable_storage.html @@ -0,0 +1,121 @@ + + + + + + + /datum/component/lockable_storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lockable_storage + + + +

+ +

##lockable_storage +Adds a UI to the object that triggers when you use it in hand (if item) or attack (everything else). +The UI is a lock that, when unlocked, allows you to access the contents inside of it. +When using this, make sure you have icons for on_update_icon_state.

+ + + + + + + + + + +

Vars

can_hack_openBoolean on whether the storage can be hacked open with a multitool.
lock_codeThe code that will open this safe, set by usually players. +Importantly, can be null if there's no password.
numeric_inputThe number currently sitting in the briefcase's panel.
panel_openBoolean on whether the panel has been hacked open with a screwdriver.

Procs

hack_openDoes a do_after to hack the storage open, takes a long time cause idk.
on_examineCalled when examining the storage item.
on_interactCalled when interacted with in-hand or on attack, opens the UI.
on_multitool_actCalled when a multitool is used on the parent, if it's hackable. +Checks if we can start hacking and, if so, will begin the hacking process.
on_requesting_context_from_itemAdds context screentips to the locked item. +Arguments:
on_screwdriver_actCalled when a screwdriver is used on the parent, if it's hackable.
on_update_icon_stateUpdates the icon state depending on if we're locked or not.
+

Var Details

can_hack_open + + + + +

+

Boolean on whether the storage can be hacked open with a multitool.

lock_code + + + + +

+

The code that will open this safe, set by usually players. +Importantly, can be null if there's no password.

numeric_input + + + + +

+

The number currently sitting in the briefcase's panel.

panel_open + + + + +

+

Boolean on whether the panel has been hacked open with a screwdriver.

Proc Details

hack_open +

+

Does a do_after to hack the storage open, takes a long time cause idk.

on_examine +

+

Called when examining the storage item.

on_interact +

+

Called when interacted with in-hand or on attack, opens the UI.

on_multitool_act +

+

Called when a multitool is used on the parent, if it's hackable. +Checks if we can start hacking and, if so, will begin the hacking process.

on_requesting_context_from_item +

+

Adds context screentips to the locked item. +Arguments:

+

on_screwdriver_act +

+

Called when a screwdriver is used on the parent, if it's hackable.

on_update_icon_state +

+

Updates the icon state depending on if we're locked or not.

+ + + diff --git a/datum/component/magnet.html b/datum/component/magnet.html new file mode 100644 index 00000000000..bcc9a714aed --- /dev/null +++ b/datum/component/magnet.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/magnet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

magnet + + + +

+ +

Attracts items of a certain typepath

+ + + + + +

Vars

activeAre we currently working?
attracted_typecacheList of things we attract
on_contactWhat to do when something reaches us
on_pulledWhat to do when we pull something
pull_rangeRange at which to pull items

Procs

toggle_on_stat_changeIf a mob dies we stop attracting stuff
+

Var Details

active + + + + +

+

Are we currently working?

attracted_typecache + + + + +

+

List of things we attract

on_contact + + + + +

+

What to do when something reaches us

on_pulled + + + + +

+

What to do when we pull something

pull_range + + + + +

+

Range at which to pull items

Proc Details

toggle_on_stat_change +

+

If a mob dies we stop attracting stuff

+ + + diff --git a/datum/component/manual_heart.html b/datum/component/manual_heart.html new file mode 100644 index 00000000000..880a3d409bf --- /dev/null +++ b/datum/component/manual_heart.html @@ -0,0 +1,115 @@ + + + + + + + /datum/component/manual_heart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

manual_heart + + + +

+ +

Manual heart pumping component. Requires the holder to pump their heart manually every +so often or die.

+

Mainly used by the cursed heart.

+ + + + + + + + + + + +

Vars

add_colourIf true, add a screen tint on the next process
blood_lossHow much blood volume you lose every missed pump, this is a flat amount not a percentage!
heal_bruteThe amount of brute damage to heal per pump
heal_burnThe amount of burn damage to heal per pump
heal_oxyThe amount of oxygen damage to heal per pump
heart_timerCooldown before harm is caused to the owner
pump_actionThe action for pumping your heart
pump_delayHow long between needed pumps; you can pump one second early

Procs

check_added_organIf a new heart is added, start processing.
check_removed_organIf the heart is removed, stop processing.
check_validHelper proc to check if processing can be restarted.
on_pumpWorker proc that checks logic for if a pump can happen, and applies effects from doing so
+

Var Details

add_colour + + + + +

+

If true, add a screen tint on the next process

blood_loss + + + + +

+

How much blood volume you lose every missed pump, this is a flat amount not a percentage!

heal_brute + + + + +

+

The amount of brute damage to heal per pump

heal_burn + + + + +

+

The amount of burn damage to heal per pump

heal_oxy + + + + +

+

The amount of oxygen damage to heal per pump

heart_timer + + + + +

+

Cooldown before harm is caused to the owner

pump_action + + + + +

+

The action for pumping your heart

pump_delay + + + + +

+

How long between needed pumps; you can pump one second early

Proc Details

check_added_organ +

+

If a new heart is added, start processing.

check_removed_organ +

+

If the heart is removed, stop processing.

check_valid +

+

Helper proc to check if processing can be restarted.

on_pump +

+

Worker proc that checks logic for if a pump can happen, and applies effects from doing so

+ + + diff --git a/datum/component/material_container.html b/datum/component/material_container.html new file mode 100644 index 00000000000..e9f652144e6 --- /dev/null +++ b/datum/component/material_container.html @@ -0,0 +1,321 @@ + + + + + + + /datum/component/material_container - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

material_container + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allowed_item_typecacheThe typecache of things that this material container can accept
allowed_materialsThe list of materials that this material container can accept
mat_container_flagsThe material container flags. See __DEFINES/materials.dm.
materialsMap of material ref -> amount
max_amountThe maximum amount of materials this material container can contain
precise_insertionWhether or not this material container allows specific amounts from sheets to be inserted
registered_signalsSignals that are registered with this contained

Procs

InitializeSets up the proper signals and fills the list of materials with the appropriate references.
can_hold_materialThe default check for whether we can add materials to this material container.
get_item_material_amountReturns the amount of material relevant to this container; +if this container does not support glass, any glass in 'I' will not be taken into account
get_material_amountReturns the amount of a specific material in this container.
has_enough_of_materialReturns TRUE if you have enough of the specified material.
has_materialsChecks if its possible to afford a certain amount of materials. Takes a dictionary of materials. +coefficient can be thought of as the machines efficiency & multiplier as the print quantity
has_spaceProc that returns TRUE if the container has space
insert_amount_matFor inserting an amount of material. Use this to add materials to the container directly
insert_itemProc specifically for inserting items, use this when you want to insert any item into the container +this bypasses most of the material flag checks so much be used by machines like recycler, stacking machine etc that +does not care for such checks
insert_item_materials3 Types of Procs +Material Insertion : Insert materials into the container +Material Validation : Checks how much materials are available, Extracts materials from items if the container can hold them +Material Removal : Removes material from the container
on_attackbyProc that allows players to fill the parent with mats
on_requesting_context_from_itemAdds context sensitivy directly to the material container file for screentips +Arguments:
retrieve_allProc to get all the materials and dump them as sheets
retrieve_sheetsFor spawning mineral sheets at a specific location. Used by machines to output sheets.
total_amountreturns the total amount of material in the container
ui_dataList format is list(material_name = list(amount = ..., ref = ..., etc.))
use_amount_matUses an amount of a specific material, effectively removing it.
use_materialsFor consuming a dictionary of materials.
user_insertinserts an item from the players hand into the container. Loops through all the contents inside reccursively +Does all explicit checking for mat flags & callbacks to check if insertion is valid +This proc is what you should be using for almost all cases
+

Var Details

allowed_item_typecache + + + + +

+

The typecache of things that this material container can accept

allowed_materials + + + + +

+

The list of materials that this material container can accept

mat_container_flags + + + + +

+

The material container flags. See __DEFINES/materials.dm.

materials + + + + +

+

Map of material ref -> amount

max_amount + + + + +

+

The maximum amount of materials this material container can contain

precise_insertion + + + + +

+

Whether or not this material container allows specific amounts from sheets to be inserted

registered_signals + + + + +

+

Signals that are registered with this contained

Proc Details

Initialize +

+

Sets up the proper signals and fills the list of materials with the appropriate references.

can_hold_material +

+

The default check for whether we can add materials to this material container.

+

Arguments:

+

get_item_material_amount +

+

Returns the amount of material relevant to this container; +if this container does not support glass, any glass in 'I' will not be taken into account

+

Arguments:

+

get_material_amount +

+

Returns the amount of a specific material in this container.

+

Arguments: +-mat : the material type to check for 3 cases +a) If it's an path its ref is retrieved +b) If it's text then its an category material & there is no way to deal with it so return 0 +c) If normal material proceeds as usual

has_enough_of_material +

+

Returns TRUE if you have enough of the specified material.

+

Arguments:

+

has_materials +

+

Checks if its possible to afford a certain amount of materials. Takes a dictionary of materials. +coefficient can be thought of as the machines efficiency & multiplier as the print quantity

+

Arguments:

+

has_space +

+

Proc that returns TRUE if the container has space

+

Arguments:

+

insert_amount_mat +

+

For inserting an amount of material. Use this to add materials to the container directly

+

Arguments:

+

insert_item +

+

Proc specifically for inserting items, use this when you want to insert any item into the container +this bypasses most of the material flag checks so much be used by machines like recycler, stacking machine etc that +does not care for such checks

+

Arguments:

+

insert_item_materials +

+

3 Types of Procs +Material Insertion : Insert materials into the container +Material Validation : Checks how much materials are available, Extracts materials from items if the container can hold them +Material Removal : Removes material from the container

+

Each Proc furthur belongs to a specific category +LOW LEVEL: Procs that are used internally & should not be used anywhere else unless you know what your doing +MID LEVEL: Procs that can be used by machines(like recycler, stacking machines) to bypass majority of checks +HIGH LEVEL: Procs that can be used by anyone publically and guarentees safty checks & limits

+

Inserts the relevant materials from an item into this material container. +This low level proc should not be used directly by anyone

+

Arguments:

+

on_attackby +

+

Proc that allows players to fill the parent with mats

on_requesting_context_from_item +

+

Adds context sensitivy directly to the material container file for screentips +Arguments:

+

retrieve_all +

+

Proc to get all the materials and dump them as sheets

+

Arguments:

+

retrieve_sheets +

+

For spawning mineral sheets at a specific location. Used by machines to output sheets.

+

Arguments: +sheet_amt: number of sheets to extract +material: type of sheets present in this container to extract +target: drop location +[atom][context]: context - the atom performing the operation, this is the last argument sent in COMSIG_MATCONTAINER_SHEETS_RETRIEVED and is used mostly for silo logging

total_amount +

+

returns the total amount of material in the container

ui_data +

+

List format is list(material_name = list(amount = ..., ref = ..., etc.))

use_amount_mat +

+

Uses an amount of a specific material, effectively removing it.

+

Arguments:

+

use_materials +

+

For consuming a dictionary of materials.

+

Arguments:

+

user_insert +

+

inserts an item from the players hand into the container. Loops through all the contents inside reccursively +Does all explicit checking for mat flags & callbacks to check if insertion is valid +This proc is what you should be using for almost all cases

+

Arguments:

+
+ + + diff --git a/datum/component/mind_linker.html b/datum/component/mind_linker.html new file mode 100644 index 00000000000..56c2eaf332a --- /dev/null +++ b/datum/component/mind_linker.html @@ -0,0 +1,128 @@ + + + + + + + /datum/component/mind_linker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Mind Linker + + + +

+ +

A component that handles linking multiple player's minds +into one network which allows them to talk directly to one another. +Like telepathy but for multiple people at once!

+ + + + + + + + + + + + +

Vars

chat_colorThe color of the network when talking in chat
linked_mobsAn assoc list of mob/livings to datum/action/innate/linked_speechs. All the mobs that are linked to our network.
master_speechThe master's speech action. The owner of the link shouldn't lose this as long as the link remains.
network_nameThe name of our network, displayed to all users.
post_unlink_callbackA callback invoked after an unlink is done. Optional.
signals_which_destroy_usA list of all signals that will call qdel() on our component if triggered. Optional.
speech_action_background_icon_stateThe icon background for the speech action handed out.
speech_action_iconThe icon file given to the speech action handed out.
speech_action_icon_stateThe icon state applied to the speech action handed out.
speech_action_overlay_stateThe border icon state for the speech action handed out.

Procs

destroy_linkSignal proc sent from any signals given to us initialize. +Destroys our component and unlinks everyone.
link_mobAttempts to link [to_link] to our network, giving them a speech action.
unlink_mobUnlinks [to_unlink] from our network, deleting their speech action +and cleaning up anything involved.
+

Var Details

chat_color + + + + +

+

The color of the network when talking in chat

linked_mobs + + + + +

+

An assoc list of mob/livings to datum/action/innate/linked_speechs. All the mobs that are linked to our network.

master_speech + + + + +

+

The master's speech action. The owner of the link shouldn't lose this as long as the link remains.

network_name + + + + +

+

The name of our network, displayed to all users.

+

A callback invoked after an unlink is done. Optional.

signals_which_destroy_us + + + + +

+

A list of all signals that will call qdel() on our component if triggered. Optional.

speech_action_background_icon_state + + + + +

+

The icon background for the speech action handed out.

speech_action_icon + + + + +

+

The icon file given to the speech action handed out.

speech_action_icon_state + + + + +

+

The icon state applied to the speech action handed out.

speech_action_overlay_state + + + + +

+

The border icon state for the speech action handed out.

Proc Details

+

Signal proc sent from any signals given to us initialize. +Destroys our component and unlinks everyone.

+

Attempts to link [to_link] to our network, giving them a speech action.

+

Returns TRUE if successful, FALSE otherwise

+

Unlinks [to_unlink] from our network, deleting their speech action +and cleaning up anything involved.

+

Also invokes post_unlink_callback, if supplied.

+ + + diff --git a/datum/component/mind_linker/active_linking.html b/datum/component/mind_linker/active_linking.html new file mode 100644 index 00000000000..ded3274c8ac --- /dev/null +++ b/datum/component/mind_linker/active_linking.html @@ -0,0 +1,51 @@ + + + + + + + /datum/component/mind_linker/active_linking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

active_linking + + + +

+ +

Subtype of mind linker (I know) which is more active rather than passive, +which involves the master linking people manually rather than people being added automatically.

+ + +

Vars

link_messageThe message sent to someone when linked up.
linker_actionThe master's linking action, which allows them to link people to the network.
unlink_messageThe message sent to someone when unlinked.
+

Var Details

+

The message sent to someone when linked up.

linker_action + + + + +

+

The master's linking action, which allows them to link people to the network.

+

The message sent to someone when unlinked.

+ + + diff --git a/datum/component/mob_chain.html b/datum/component/mob_chain.html new file mode 100644 index 00000000000..ff798e56f41 --- /dev/null +++ b/datum/component/mob_chain.html @@ -0,0 +1,156 @@ + + + + + + + /datum/component/mob_chain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob_chain + + + +

+ +

Component allowing you to create a linked list of mobs. +These mobs will follow each other and attack as one, as well as sharing damage taken.

+ + + + + + + + + + + + + + + + + +

Vars

backMob behind us in the chain
frontMob in front of us in the chain
pass_damage_backIf true then damage we take is passed backwards along the line
vary_icon_stateIf true then we will set our icon state based on line position

Procs

on_adjust_damageOn damage or heal, affect our furthest segment
on_adjust_staminaOn gain or lose stamina, adjust our tail too
on_attackTell our tail to attack too
on_contractedCalled when our tail gets pulled up to our body
on_deathIf we die so does the guy behind us, then stop following the leader
on_deletionIf we get deleted so does the guy behind us
on_gained_tailCalled when something sets us as IT'S front
on_glide_size_changedMaintain glide size backwards
on_limb_damageSpecial handling for if damage is delegated to a mob's limbs instead of its overall damage
on_lost_tailCalled when our tail loses its chain component
on_movedPull our tail behind us when we move
on_pulledDo not allow someone to be pulled out of the chain
on_update_icon_stateUpdate our visuals based on if we have someone in front and behind
update_mob_appearanceUpdate how we look
+

Var Details

back + + + + +

+

Mob behind us in the chain

front + + + + +

+

Mob in front of us in the chain

pass_damage_back + + + + +

+

If true then damage we take is passed backwards along the line

vary_icon_state + + + + +

+

If true then we will set our icon state based on line position

Proc Details

on_adjust_damage +

+

On damage or heal, affect our furthest segment

on_adjust_stamina +

+

On gain or lose stamina, adjust our tail too

on_attack +

+

Tell our tail to attack too

on_contracted +

+

Called when our tail gets pulled up to our body

on_death +

+

If we die so does the guy behind us, then stop following the leader

on_deletion +

+

If we get deleted so does the guy behind us

on_gained_tail +

+

Called when something sets us as IT'S front

on_glide_size_changed +

+

Maintain glide size backwards

on_limb_damage +

+

Special handling for if damage is delegated to a mob's limbs instead of its overall damage

on_lost_tail +

+

Called when our tail loses its chain component

on_moved +

+

Pull our tail behind us when we move

on_pulled +

+

Do not allow someone to be pulled out of the chain

on_update_icon_state +

+

Update our visuals based on if we have someone in front and behind

update_mob_appearance +

+

Update how we look

+ + + diff --git a/datum/component/mob_harvest.html b/datum/component/mob_harvest.html new file mode 100644 index 00000000000..cc4fda512f3 --- /dev/null +++ b/datum/component/mob_harvest.html @@ -0,0 +1,157 @@ + + + + + + + /datum/component/mob_harvest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob_harvest + + + +

+ +

Harvesting component. Useful if you want to be able to harvest items from living mobs.

+

Used currently on sheep.

+ + + + + + + + + + + + + + + + +

Vars

amount_readyhow much is ready to harvest
fed_itemitem used to reduce wait between items
harvest_toolitem used to harvest
item_generation_timetracked time
item_generation_waittime between item creation
item_harvest_soundtypepath of harvest sound
item_harvest_timehow long it takes to harvest from the mob
item_reduction_timetime to reduce when fed
max_readymax amount that can be stored between harvests
produced_item_descstand-in name for the item
produced_item_typepathtypepath of the item you want to harvest

Procs

RegisterWithParentonly track time if we aren't dead and have room for more items
harvest_itemProc called from attacking the component parent with the correct item, handles creating the item
on_attackbysignal called on parent being attacked with an item
on_examinesignal called on parent being examined
on_update_icon_stateSignal proc for COMSIG_ATOM_UPDATE_ICON_STATE
remove_wait_timeProc called from attacking the component parent with the correct item, reduces wait time between items
+

Var Details

amount_ready + + + + +

+

how much is ready to harvest

fed_item + + + + +

+

item used to reduce wait between items

harvest_tool + + + + +

+

item used to harvest

item_generation_time + + + + +

+

tracked time

item_generation_wait + + + + +

+

time between item creation

item_harvest_sound + + + + +

+

typepath of harvest sound

item_harvest_time + + + + +

+

how long it takes to harvest from the mob

item_reduction_time + + + + +

+

time to reduce when fed

max_ready + + + + +

+

max amount that can be stored between harvests

produced_item_desc + + + + +

+

stand-in name for the item

produced_item_typepath + + + + +

+

typepath of the item you want to harvest

Proc Details

RegisterWithParent +

+

only track time if we aren't dead and have room for more items

harvest_item +

+

Proc called from attacking the component parent with the correct item, handles creating the item

+

Arguments:

+

on_attackby +

+

signal called on parent being attacked with an item

on_examine +

+

signal called on parent being examined

on_update_icon_state +

+

Signal proc for COMSIG_ATOM_UPDATE_ICON_STATE

remove_wait_time +

+

Proc called from attacking the component parent with the correct item, reduces wait time between items

+

Arguments:

+
+ + + diff --git a/datum/component/multiple_lives.html b/datum/component/multiple_lives.html new file mode 100644 index 00000000000..e4c293137b7 --- /dev/null +++ b/datum/component/multiple_lives.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/multiple_lives - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

multiple_lives + + + +

+ +

A simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.

+ +

Vars

lives_leftThe number of respawns the living mob has left.

Procs

on_write_memoryStops a dying station pet from overriding persistence data before we respawn it and thus causing issues.
+

Var Details

lives_left + + + + +

+

The number of respawns the living mob has left.

Proc Details

on_write_memory +

+

Stops a dying station pet from overriding persistence data before we respawn it and thus causing issues.

+ + + diff --git a/datum/component/mutant_hands.html b/datum/component/mutant_hands.html new file mode 100644 index 00000000000..e0c2c97c032 --- /dev/null +++ b/datum/component/mutant_hands.html @@ -0,0 +1,89 @@ + + + + + + + /datum/component/mutant_hands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mutant_hands + + + +

+ +Mutant hands component +

This component applies to humans, and forces them to hold +a certain typepath item in every hand no matter what*.

+

For example, zombies being forced to hold "zombie claws" - disallowing them from holding items +but giving them powerful weapons to infect people

+

It is suggested that the item path supplied has NODROP (and likely DROPDEL), +but nothing's preventing you from not having that.

+

If they lose or gain hands, new mutant hands will be created immediately.

+

Does not override nodrop items that already exist in hand slots. +However if those nodrop items are lost, will immediately create a new mutant hand.

+ + + + + +

Vars

mutant_hand_pathThe item typepath that we insert into the parent's hands

Procs

apply_mutant_handsTries to give the parent mob mutant hands.
mob_dropped_itemSignal proc for COMSIG_MOB_UNEQUIPPED_ITEM
mob_equipped_itemSignal proc for COMSIG_MOB_EQUIPPED_ITEM
remove_mutant_handsRemoves all mutant idems from the parent's hand slots
try_reapply_handsSignal proc for any signals that may result in the number of hands of the parent mob changing
+

Var Details

mutant_hand_path + + + + +

+

The item typepath that we insert into the parent's hands

Proc Details

apply_mutant_hands +

+

Tries to give the parent mob mutant hands.

+

mob_dropped_item +

+

Signal proc for COMSIG_MOB_UNEQUIPPED_ITEM

+

This is another failsafe - the mob dropped something, maybe from their hands, so try to re-equip

mob_equipped_item +

+

Signal proc for COMSIG_MOB_EQUIPPED_ITEM

+

This is a failsafe - the mob managed to pick up something that isn't a mutant hand

remove_mutant_hands +

+

Removes all mutant idems from the parent's hand slots

try_reapply_hands +

+

Signal proc for any signals that may result in the number of hands of the parent mob changing

+

Always try to re-insert mutanthands if we gain or lose hands

+ + + diff --git a/datum/component/netpod_healing.html b/datum/component/netpod_healing.html new file mode 100644 index 00000000000..2527eb39e8b --- /dev/null +++ b/datum/component/netpod_healing.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/netpod_healing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

netpod_healing + + + +

+ + +

Procs

on_openedDeletes itself when the machine was opened

Proc Details

on_opened +

+

Deletes itself when the machine was opened

+ + + diff --git a/datum/component/npc_friendly.html b/datum/component/npc_friendly.html new file mode 100644 index 00000000000..b7e2c141830 --- /dev/null +++ b/datum/component/npc_friendly.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/npc_friendly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

npc_friendly + + + +

+ +

Makes a mob friendly with most NPC factions

+ +

Vars

npc_factionsThe list of factions to add to the player
previous_factionsList of factions previously held by the player
+

Var Details

npc_factions + + + + +

+

The list of factions to add to the player

previous_factions + + + + +

+

List of factions previously held by the player

+ + + diff --git a/datum/component/nuclear_bomb_operator.html b/datum/component/nuclear_bomb_operator.html new file mode 100644 index 00000000000..9718549c408 --- /dev/null +++ b/datum/component/nuclear_bomb_operator.html @@ -0,0 +1,114 @@ + + + + + + + /datum/component/nuclear_bomb_operator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Nuclear Bomb Operator + + + +

+ +

Component applied to handless non-carbon mobs to allow them to perform the function of a nuclear operative. +Effectively this means they need to be able to:

+ +

Human mobs do not need this component because they can already do all of those things.

+ + + + + + + + + + +

Vars

add_disk_overlaysShould return some overlays to display on the mob to show they're carrying a disk
diskyA weak reference to a held nuclear disk, in place of holding it in our inventory, because we don't have one
on_disk_collectedSomething to call when we collect the disk

Procs

atom_exited_ownerDon't hold onto the reference if we lose the disk somehow
drop_diskyDrop the disk on the floor, if we have it
on_deathDrop the disk when we are killed
on_examineAdd details about carrying the nuke disc to examination.
on_update_overlaysDisplay any disk-related overlays which need displaying
owner_attacked_atomTry to pick up the disk, put it down, or open the nuke panel
try_pick_up_diskPicks up the nuke disk, if it can be picked up
try_put_down_diskUses the disk on clicked atom, or places it on the ground
+

Var Details

add_disk_overlays + + + + +

+

Should return some overlays to display on the mob to show they're carrying a disk

disky + + + + +

+

A weak reference to a held nuclear disk, in place of holding it in our inventory, because we don't have one

on_disk_collected + + + + +

+

Something to call when we collect the disk

Proc Details

atom_exited_owner +

+

Don't hold onto the reference if we lose the disk somehow

drop_disky +

+

Drop the disk on the floor, if we have it

on_death +

+

Drop the disk when we are killed

on_examine +

+

Add details about carrying the nuke disc to examination.

on_update_overlays +

+

Display any disk-related overlays which need displaying

owner_attacked_atom +

+

Try to pick up the disk, put it down, or open the nuke panel

try_pick_up_disk +

+

Picks up the nuke disk, if it can be picked up

try_put_down_disk +

+

Uses the disk on clicked atom, or places it on the ground

+ + + diff --git a/datum/component/obeys_commands.html b/datum/component/obeys_commands.html new file mode 100644 index 00000000000..46fe5d9d9eb --- /dev/null +++ b/datum/component/obeys_commands.html @@ -0,0 +1,79 @@ + + + + + + + /datum/component/obeys_commands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Obeys Commands Component + + + +

+ +

Manages a list of pet command datums, allowing you to boss it around +Creates a radial menu of pet commands when this creature is alt-clicked, if it has any

+ + + + + + +

Vars

available_commandsList of commands you can give to the owner of this component

Procs

InitializeThe available_commands parameter should be passed as a list of typepaths
add_friendAdd someone to our friends list
display_menuDisplays a radial menu of commands
display_radial_menuActually display the radial menu and then do something with the result
on_examineAdd a note about whether they will follow the instructions of the inspecting mob
remove_friendRemove someone from our friends list
+

Var Details

available_commands + + + + +

+

List of commands you can give to the owner of this component

Proc Details

Initialize +

+

The available_commands parameter should be passed as a list of typepaths

add_friend +

+

Add someone to our friends list

display_menu +

+

Displays a radial menu of commands

display_radial_menu +

+

Actually display the radial menu and then do something with the result

on_examine +

+

Add a note about whether they will follow the instructions of the inspecting mob

remove_friend +

+

Remove someone from our friends list

+ + + diff --git a/datum/component/object_possession.html b/datum/component/object_possession.html new file mode 100644 index 00000000000..2b8cf975f9c --- /dev/null +++ b/datum/component/object_possession.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/object_possession - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

object_possession + + + +

+ +

Component that allows a user to control any object as if it were a mob. Does give the user incorporeal movement.

+ + + + + + +

Vars

possessedStores a reference to the obj that we are currently possessing.
screen_alert_refRef to the screen object that is currently being displayed.
stashed_nameback up of the real name during user possession

Procs

bind_to_new_objectBinds the mob to the object and sets up the naming and everything. +Returns FALSE if we don't bind, TRUE if we succeed.
cleanup_object_bindingCleans up everything pertinent to the current possessed object.
end_possessionJust the overall "get me outta here" proc.
on_moveforce move the parent object instead of the source mob.
+

Var Details

possessed + + + + +

+

Stores a reference to the obj that we are currently possessing.

screen_alert_ref + + + + +

+

Ref to the screen object that is currently being displayed.

stashed_name + + + + +

+

back up of the real name during user possession

+

When a user possesses an object it's real name is set to the user name and this +stores whatever the real name was previously. When possession ends, the real name +is reset to this value

Proc Details

bind_to_new_object +

+

Binds the mob to the object and sets up the naming and everything. +Returns FALSE if we don't bind, TRUE if we succeed.

cleanup_object_binding +

+

Cleans up everything pertinent to the current possessed object.

end_possession +

+

Just the overall "get me outta here" proc.

on_move +

+

force move the parent object instead of the source mob.

+

Has no sanity other than checking the possed obj's density. this means it effectively has incorporeal movement, making it only good for badminnery.

+

We always want to return COMPONENT_MOVABLE_BLOCK_PRE_MOVE here regardless

+ + + diff --git a/datum/component/omen.html b/datum/component/omen.html new file mode 100644 index 00000000000..a699832b9cd --- /dev/null +++ b/datum/component/omen.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/omen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

omen + + + +

+ +

omen.dm: For when you want someone to have a really bad day

+

When you attach an omen component to someone, they start running the risk of all sorts of bad environmental injuries, like nearby vending machines randomly falling on you, +or hitting your head really hard when you slip and fall, or you get shocked by the tram rails at an unfortunate moment.

+

Omens are removed once the victim is either maimed by one of the possible injuries, or if they receive a blessing (read: bashing with a bible) from the chaplain.

+ + + + + + + + + + +

Vars

damage_modBase damage from negative events. Cursed take 25% of this damage.
incidents_leftHow many incidents are left. If 0 exactly, it will get deleted.
luck_modBase probability of negative events. Cursed are half as unlucky.
vesselWhatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Procs

InheritComponentThis is a omen eat omen world! The stronger omen survives.
check_accidentcheck_accident() is called each step we take
check_blessBonk! +Hijack the mood system to see if we get the blessing mood event to cancel the omen
check_deathSevere deaths. Normally lifts the curse.
check_slipIf we get knocked down, see if we have a really bad slip and bash our head hard
death_explodeCreates a localized explosion that shakes the camera
vessel_qdeletingVessel got deleted, set it to null
+

Var Details

damage_mod + + + + +

+

Base damage from negative events. Cursed take 25% of this damage.

incidents_left + + + + +

+

How many incidents are left. If 0 exactly, it will get deleted.

luck_mod + + + + +

+

Base probability of negative events. Cursed are half as unlucky.

vessel + + + + +

+

Whatever's causing the omen, if there is one. Destroying the vessel won't stop the omen, but we destroy the vessel (if one exists) upon the omen ending

Proc Details

InheritComponent +

+

This is a omen eat omen world! The stronger omen survives.

check_accident +

+

check_accident() is called each step we take

+

While we're walking around, roll to see if there's any environmental hazards on one of the adjacent tiles we can trigger. +We do the prob() at the beginning to A. add some tension for /when/ it will strike, and B. (more importantly) ameliorate the fact that we're checking up to 5 turfs's contents each time

check_bless +

+

Bonk! +Hijack the mood system to see if we get the blessing mood event to cancel the omen

check_death +

+

Severe deaths. Normally lifts the curse.

check_slip +

+

If we get knocked down, see if we have a really bad slip and bash our head hard

death_explode +

+

Creates a localized explosion that shakes the camera

vessel_qdeleting +

+

Vessel got deleted, set it to null

+ + + diff --git a/datum/component/on_hit_effect.html b/datum/component/on_hit_effect.html new file mode 100644 index 00000000000..1ecb354c0b9 --- /dev/null +++ b/datum/component/on_hit_effect.html @@ -0,0 +1,46 @@ + + + + + + + /datum/component/on_hit_effect - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

on_hit_effect + + + +

+ +On Hit Effect Component! +

Component for other elements/components to rely on for on-hit effects without duplicating the on-hit code. +See Lifesteal, or bane for examples.

+

THIS COULD EASILY SUPPORT COMPONENT_DUPE_ALLOWED but the getcomponent makes it throw errors. if you can figure that out feel free to readd the dupe types

+ +

Vars

extra_check_callbackcallback optionally used for more checks
on_hit_callbackcallback used by other components to apply effects
+

Var Details

extra_check_callback + + + + +

+

callback optionally used for more checks

on_hit_callback + + + + +

+

callback used by other components to apply effects

+ + + diff --git a/datum/component/onwear_mood.html b/datum/component/onwear_mood.html new file mode 100644 index 00000000000..ec34f8e9bb4 --- /dev/null +++ b/datum/component/onwear_mood.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/onwear_mood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

onwear_mood + + + +

+ +

Add to clothing to give the wearer a mood buff and a unique examine text

+ + + +

Vars

examine_stringexamine string added to examine
saved_event_typethe event the wearer experiences
slot_equipwhat slots it needs to be equipped to to work

Procs

clear_effectsclears the effects on the wearer
+

Var Details

examine_string + + + + +

+

examine string added to examine

saved_event_type + + + + +

+

the event the wearer experiences

slot_equip + + + + +

+

what slots it needs to be equipped to to work

Proc Details

clear_effects +

+

clears the effects on the wearer

+ + + diff --git a/datum/component/orbit_poll.html b/datum/component/orbit_poll.html new file mode 100644 index 00000000000..080bd91f66b --- /dev/null +++ b/datum/component/orbit_poll.html @@ -0,0 +1,86 @@ + + + + + + + /datum/component/orbit_poll - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

orbit_poll + + + +

+ +

A replacement for the standard poll_ghost_candidate. +Use this to subtly ask players to join - it picks from orbiters. +Please use named arguments for this.

+

@params ignore_key - Required so it doesn't spam +@params job_bans - You can insert a list or single items here. +@params cb - Invokes this proc and appends the poll winner as the last argument, mob/dead/observer/ghost +@params title - Optional. Useful if the role name does not match the parent.

+

@usage

+
var/datum/callback/cb = CALLBACK(src, PROC_REF(do_stuff), arg1, arg2)
+AddComponent(/datum/component/orbit_poll, \
+  ignore_key = POLL_IGNORE_EXAMPLE, \
+  job_bans = ROLE_EXAMPLE or list(ROLE_EXAMPLE, ROLE_EXAMPLE2), \
+  title = "Use this if you want something other than the parent name", \
+  to_call = cb, \
+)
+
+ + + + + +

Vars

job_bansPrevent players with this ban from being selected
titleTitle of the role to announce after it's done
to_callProc to invoke whenever the poll is complete

Procs

end_pollConcludes the poll, picking one of the orbiters
phone_homeMake sure to call your parents my dude
pick_and_offerTakes a list, picks a candidate, and offers the role to them.
+

Var Details

job_bans + + + + +

+

Prevent players with this ban from being selected

title + + + + +

+

Title of the role to announce after it's done

to_call + + + + +

+

Proc to invoke whenever the poll is complete

Proc Details

end_poll +

+

Concludes the poll, picking one of the orbiters

phone_home +

+

Make sure to call your parents my dude

pick_and_offer +

+

Takes a list, picks a candidate, and offers the role to them.

+ + + diff --git a/datum/component/overlay_lighting.html b/datum/component/overlay_lighting.html new file mode 100644 index 00000000000..3ed9d8a4cbf --- /dev/null +++ b/datum/component/overlay_lighting.html @@ -0,0 +1,356 @@ + + + + + + + /datum/component/overlay_lighting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

overlay_lighting + + + +

+ +

Movable atom overlay-based lighting component.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

affected_turfsLazy list to track the turfs being affected by our light, to determine their visibility.
beamWhether we're a beam light
cast_rangeCast range for the directional cast (how far away the atom is moved)
coneA cone overlay for directional light, it's alpha and color are dependant on the light
current_directionCurrent tracked direction for the directional cast behaviour
current_holderMovable atom currently holding the light. Parent might be a flashlight, for example, but that might be held by a mob or something else.
directionalWhether we're a directional light
directional_offset_xTracks current directional x offset so we dont update unecessarily
directional_offset_yTracks current directional y offset so we dont update unecessarily
light_overlaysCache of the possible light overlays, according to size.
lum_powerHow much this light affects the dynamic_lumcount of turfs.
lumcount_rangeCeiling of range, integer without decimal entries.
overlay_lighting_flagsFor light sources that can be turned on and off.
parent_attached_toMovable atom the parent is attached to. For example, a flashlight into a helmet or gun. We'll need to track the thing the parent is attached to as if it were the parent itself.
rangeHow far the light reaches, float.
set_alphaTransparency value.
visible_maskOverlay effect to cut into the darkness and provide light.

Procs

add_dynamic_lumiAdds the luminosity and source for the affected movable atoms to keep track of their visibility.
cast_directional_lightHere we append the behavior associated to changing lum_power.
check_holderUsed to determine the new valid current_holder from the parent's loc.
clean_old_turfsClears the affected_turfs lazylist, removing from its contents the effects of being near the light.
get_new_turfsPopulates the affected_turfs lazylist, adding to its contents the effects of being near the light.
make_luminosity_updateClears the old affected turfs and populates the new ones.
on_holder_dir_changeCalled when current_holder changes loc.
on_holder_movedCalled when current_holder changes loc.
on_holder_qdelCalled when the current_holder is qdeleted, to remove the light effect.
on_light_eaterHandles putting the source for overlay lights into the light eater queue since we aren't tracked by /atom/var/light_sources
on_light_flags_changeTriggered right after the parent light flags change.
on_parent_attached_to_movedCalled when parent_attached_to changes loc.
on_parent_attached_to_qdelCalled when the current_holder is qdeleted, to remove the light effect.
on_parent_dir_changeCalled when parent changes loc.
on_parent_movedCalled when parent changes loc.
on_toggleToggles the light on and off.
remove_dynamic_lumiRemoves the luminosity and source for the affected movable atoms to keep track of their visibility.
set_colorChanges the light's color, pretty straightforward.
set_directionSets a new direction for the directional cast, then updates luminosity
set_holderCalled to change the value of current_holder.
set_lum_powerHere we append the behavior associated to changing lum_power.
set_parent_attached_toCalled to change the value of parent_attached_to.
set_powerChanges the intensity/brightness of the light by altering the visual object's alpha.
set_rangeChanges the range which the light reaches. 0 means no light, 6 is the maximum value.
turn_offToggles the light off.
turn_onToggles the light on.
+

Var Details

affected_turfs + + + + +

+

Lazy list to track the turfs being affected by our light, to determine their visibility.

beam + + + + +

+

Whether we're a beam light

cast_range + + + + +

+

Cast range for the directional cast (how far away the atom is moved)

cone + + + + +

+

A cone overlay for directional light, it's alpha and color are dependant on the light

current_direction + + + + +

+

Current tracked direction for the directional cast behaviour

current_holder + + + + +

+

Movable atom currently holding the light. Parent might be a flashlight, for example, but that might be held by a mob or something else.

directional + + + + +

+

Whether we're a directional light

directional_offset_x + + + + +

+

Tracks current directional x offset so we dont update unecessarily

directional_offset_y + + + + +

+

Tracks current directional y offset so we dont update unecessarily

light_overlays + + + + +

+

Cache of the possible light overlays, according to size.

lum_power + + + + +

+

How much this light affects the dynamic_lumcount of turfs.

lumcount_range + + + + +

+

Ceiling of range, integer without decimal entries.

overlay_lighting_flags + + + + +

+

For light sources that can be turned on and off.

parent_attached_to + + + + +

+

Movable atom the parent is attached to. For example, a flashlight into a helmet or gun. We'll need to track the thing the parent is attached to as if it were the parent itself.

range + + + + +

+

How far the light reaches, float.

set_alpha + + + + +

+

Transparency value.

visible_mask + + + + +

+

Overlay effect to cut into the darkness and provide light.

Proc Details

add_dynamic_lumi +

+

Adds the luminosity and source for the affected movable atoms to keep track of their visibility.

cast_directional_light +

+

Here we append the behavior associated to changing lum_power.

check_holder +

+

Used to determine the new valid current_holder from the parent's loc.

clean_old_turfs +

+

Clears the affected_turfs lazylist, removing from its contents the effects of being near the light.

get_new_turfs +

+

Populates the affected_turfs lazylist, adding to its contents the effects of being near the light.

make_luminosity_update +

+

Clears the old affected turfs and populates the new ones.

on_holder_dir_change +

+

Called when current_holder changes loc.

on_holder_moved +

+

Called when current_holder changes loc.

on_holder_qdel +

+

Called when the current_holder is qdeleted, to remove the light effect.

on_light_eater +

+

Handles putting the source for overlay lights into the light eater queue since we aren't tracked by /atom/var/light_sources

on_light_flags_change +

+

Triggered right after the parent light flags change.

on_parent_attached_to_moved +

+

Called when parent_attached_to changes loc.

on_parent_attached_to_qdel +

+

Called when the current_holder is qdeleted, to remove the light effect.

on_parent_dir_change +

+

Called when parent changes loc.

on_parent_moved +

+

Called when parent changes loc.

on_toggle +

+

Toggles the light on and off.

remove_dynamic_lumi +

+

Removes the luminosity and source for the affected movable atoms to keep track of their visibility.

set_color +

+

Changes the light's color, pretty straightforward.

set_direction +

+

Sets a new direction for the directional cast, then updates luminosity

set_holder +

+

Called to change the value of current_holder.

set_lum_power +

+

Here we append the behavior associated to changing lum_power.

set_parent_attached_to +

+

Called to change the value of parent_attached_to.

set_power +

+

Changes the intensity/brightness of the light by altering the visual object's alpha.

set_range +

+

Changes the range which the light reaches. 0 means no light, 6 is the maximum value.

turn_off +

+

Toggles the light off.

turn_on +

+

Toggles the light on.

+ + + diff --git a/datum/component/palette.html b/datum/component/palette.html new file mode 100644 index 00000000000..ab07514e561 --- /dev/null +++ b/datum/component/palette.html @@ -0,0 +1,53 @@ + + + + + + + /datum/component/palette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

palette + + + +

+ +

A component that stores colors for use by painting-related items like spraycans or palettes +which can be accessed through a radial menu by right clicking the item while it's held by the user mob. +Right-clicking a color will open a color input prompt to edit it. Left clicking will instead select it +and call set_painting_tool_color() on the parent for more specific object behavior.

+ + +

Vars

color_picker_menuThe persistent radial menu for this component.
menu_choicesThe radial menu choice datums are stored here as a microop to avoid generating new ones every time the menu is opened or updated.

Procs

DestroyThis component means nothing if there's no space for colors
+

Var Details

color_picker_menu + + + + +

+

The persistent radial menu for this component.

menu_choices + + + + +

+

The radial menu choice datums are stored here as a microop to avoid generating new ones every time the menu is opened or updated.

Proc Details

Destroy +

+

This component means nothing if there's no space for colors

+ + + diff --git a/datum/component/payment.html b/datum/component/payment.html new file mode 100644 index 00000000000..de199df5830 --- /dev/null +++ b/datum/component/payment.html @@ -0,0 +1,107 @@ + + + + + + + /datum/component/payment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

payment + + + +

+ +

Handles simple payment operations where the cost of the object in question doesn't change.

+

What this is useful for: +Basic forms of vending. +Objects that can drain the owner's money linearly. +What this is not useful for: +Things where the seller may want to fluxuate the price of the object. +Improving standardizing every form of payment handing, as some custom handling is specific to that object.

+ + + + + + + + +

Vars

allowed_moneyA static typecache of all the money-based items that can be actively used as currency.
costNO OVERRIDING TO CHEESE BOUNTIES +Standardized of operation.
department_discountDoes this payment component respect same-department-discount?
target_accWho's getting paid?
transaction_styleFlavor style for handling cash (Friendly? Hostile? etc.)

Procs

change_costProc that changes the base cost of the interaction.
clean_upAttempts to remove the payment component, currently when the crew wins a revolution.
handle_cardAttempts to charge a mob, user, an integer number of credits, total_cost, directly from an ID card/bank account.
handle_cardlessAttempts to charge the mob, user, an integer number of credits, total_cost, without the use of an ID card to directly draw upon.
+

Var Details

allowed_money + + + + +

+

A static typecache of all the money-based items that can be actively used as currency.

cost + + + + +

+

NO OVERRIDING TO CHEESE BOUNTIES +Standardized of operation.

department_discount + + + + +

+

Does this payment component respect same-department-discount?

target_acc + + + + +

+

Who's getting paid?

transaction_style + + + + +

+

Flavor style for handling cash (Friendly? Hostile? etc.)

Proc Details

change_cost +

+

Proc that changes the base cost of the interaction.

+

clean_up +

+

Attempts to remove the payment component, currently when the crew wins a revolution.

+

handle_card +

+

Attempts to charge a mob, user, an integer number of credits, total_cost, directly from an ID card/bank account.

handle_cardless +

+

Attempts to charge the mob, user, an integer number of credits, total_cost, without the use of an ID card to directly draw upon.

+ + + diff --git a/datum/component/pellet_cloud.html b/datum/component/pellet_cloud.html new file mode 100644 index 00000000000..7ba6fbda228 --- /dev/null +++ b/datum/component/pellet_cloud.html @@ -0,0 +1,224 @@ + + + + + + + /datum/component/pellet_cloud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pellet_cloud + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

bodiesFor grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs
hitshow many pellets impacted something
num_pelletsHow many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise
pellet_deltaFor grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it
pelletsThe list of pellets we're responsible for tracking, once these are all accounted for, we finalize.
projectile_typeWhat's the projectile path of the shrapnel we're shooting?
purple_heartsFor grenades, tracking people who die covering a grenade for achievement purposes, see /datum/component/pellet_cloud/proc/handle_martyrs
queued_deleteIf the parent tried deleting and we're not done yet, we send it to nullspace then delete it after
radiusFor grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate
shooterfor if we're an ammo casing being fired
targets_hitAn associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages
terminatedhow many pellets ranged out without hitting anything
wound_info_by_partAnother associated list for hit bodyparts on carbons so we can track how much wounding potential we have for each bodypart

Procs

create_blast_pelletscreate_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.
create_casing_pelletscreate_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)
finalizeAll of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.
grenade_armedLook alive, we're armed! Now we start watching to see if anyone's covering us
grenade_droppedSomeone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off
grenade_movedOur grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile
grenade_uncrossedSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
handle_martyrshandle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel
nullspace_parentOur grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here
on_target_qdelSomeone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it
pellet_hitOne of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)
pellet_rangeOne of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)
pewMinor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component
+

Var Details

bodies + + + + +

+

For grenades, any /mob/living's the grenade is moved onto, see /datum/component/pellet_cloud/proc/handle_martyrs

hits + + + + +

+

how many pellets impacted something

num_pellets + + + + +

+

How many shrapnel projectiles are we responsible for tracking? May be reduced for grenades if someone dives on top of it. Defined by ammo casing for casings, derived from magnitude otherwise

pellet_delta + + + + +

+

For grenades, tracking how many pellets are removed due to martyrs and how many pellets are added due to the last person to touch it being on top of it

pellets + + + + +

+

The list of pellets we're responsible for tracking, once these are all accounted for, we finalize.

projectile_type + + + + +

+

What's the projectile path of the shrapnel we're shooting?

purple_hearts + + + + +

+

For grenades, tracking people who die covering a grenade for achievement purposes, see /datum/component/pellet_cloud/proc/handle_martyrs

queued_delete + + + + +

+

If the parent tried deleting and we're not done yet, we send it to nullspace then delete it after

radius + + + + +

+

For grenades/landmines, how big is the radius of turfs we're targeting? Note this does not effect the projectiles range, only how many we generate

shooter + + + + +

+

for if we're an ammo casing being fired

targets_hit + + + + +

+

An associated list with the atom hit as the key and how many pellets they've eaten for the value, for printing aggregate messages

terminated + + + + +

+

how many pellets ranged out without hitting anything

wound_info_by_part + + + + +

+

Another associated list for hit bodyparts on carbons so we can track how much wounding potential we have for each bodypart

Proc Details

create_blast_pellets +

+

create_blast_pellets() is for when we have a central point we want to shred the surroundings of with a ring of shrapnel, namely frag grenades and landmines.

+

Note that grenades have extra handling for someone throwing themselves/being thrown on top of it, see /datum/component/pellet_cloud/proc/handle_martyrs +Landmines just have a small check for /obj/effect/mine/shrapnel/var/shred_triggerer, and spawn extra shrapnel for them if so

+

Arguments:

+

create_casing_pellets +

+

create_casing_pellets() is for directed pellet clouds for ammo casings that have multiple pellets (buckshot and scatter lasers for instance)

+

Honestly this is mostly just a rehash of [/obj/item/ammo_casing/proc/fire_casing] for pellet counts > 1, except this lets us tamper with the pellets and hook onto them for tracking purposes. +The arguments really don't matter, while this proc is triggered by COMSIG_FIRE_CASING, it's just a big mess of the state vars we need for doing the stuff over here.

finalize +

+

All of our pellets are accounted for, time to go target by target and tell them how many things they got hit by.

grenade_armed +

+

Look alive, we're armed! Now we start watching to see if anyone's covering us

grenade_dropped +

+

Someone dropped the grenade, so set them to the shooter in case they're on top of it when it goes off

grenade_moved +

+

Our grenade has moved, reset var/list/bodies so we're "on top" of any mobs currently on the tile

grenade_uncrossed +

+

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

handle_martyrs +

+

handle_martyrs() is used for grenades that shoot shrapnel to check if anyone threw themselves/were thrown on top of the grenade, thus absorbing a good chunk of the shrapnel

+

Between the time the grenade is armed and the actual detonation, we set var/list/bodies to the list of mobs currently on the new tile, as if the grenade landed on top of them, tracking if any of them move off the tile and removing them from the "under" list +Once the grenade detonates, handle_martyrs() is called and gets all the new mobs on the tile, and add the ones not in var/list/bodies to var/list/martyrs +We then iterate through the martyrs and reduce the shrapnel magnitude for each mob on top of it, shredding each of them with some of the shrapnel they helped absorb. This can snuff out all of the shrapnel if there's enough bodies

+

Note we track anyone who's alive and client'd when they get shredded in var/list/purple_hearts, for achievement checking later

nullspace_parent +

+

Our grenade or landmine or caseless shell or whatever tried deleting itself, so we intervene and nullspace it until we're done here

on_target_qdel +

+

Someone who was originally "under" the grenade has moved off the tile and is now eligible for being a martyr and "covering" it

pellet_hit +

+

One of our pellets hit something, record what it was and check if we're done (terminated == num_pellets)

pellet_range +

+

One of our pellets disappeared due to hitting their max range (or just somehow got qdel'd), remove it from our list and check if we're done (terminated == num_pellets)

pew +

+

Minor convenience function for creating each shrapnel piece with circle explosions, mostly stolen from the MIRV component

+ + + diff --git a/datum/component/personal_crafting.html b/datum/component/personal_crafting.html new file mode 100644 index 00000000000..d929f48dbab --- /dev/null +++ b/datum/component/personal_crafting.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/personal_crafting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

personal_crafting + + + +

+ + + +

Procs

check_contentsCheck that the contents of the recipe meet the requirements.
check_toolsReturns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings.

Proc Details

check_contents +

+

Check that the contents of the recipe meet the requirements.

+

user: The /mob that initated the crafting. +R: The /datum/crafting_recipe being attempted. +contents: List of items to search for R's reqs.

check_tools +

+

Returns a boolean on whether the tool requirements of the input recipe are satisfied by the input source and surroundings.

+ + + diff --git a/datum/component/phylactery.html b/datum/component/phylactery.html new file mode 100644 index 00000000000..18a7d44b62d --- /dev/null +++ b/datum/component/phylactery.html @@ -0,0 +1,131 @@ + + + + + + + /datum/component/phylactery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

phylactery + + + +

+ +Phylactery component +

Used for lichtom to turn (almost) any object into a phylactery +A mob linked to a phylactery will repeatedly revive on death.

+ + + + + + + + + + + +

Vars

base_respawn_timeThe respawn timer of the phylactery.
lich_mindThe mind of the lich who is linked to this phylactery.
num_resurrectionsThe number of ressurections that have occured from this phylactery.
phylactery_colorThe color of the phylactery itself. Applied on creation.
revive_timerA timerid to the current revival timer.
stun_per_resurrectionHow much stun (paralyze) is caused on respawn per revival.
time_per_resurrectionHow much time is added on to the respawn time per revival.

Procs

check_if_lich_diedSignal proc for COMSIG_GLOB_MOB_DEATH.
on_examineSignal proc for COMSIG_ATOM_EXAMINE.
on_lich_mind_lostSignal proc for COMSIG_QDELETING registered on the lich's mind.
revive_lichActually undergo the process of reviving the lich at the site of the phylacery.
stop_timerSignal proc for COMSIG_LIVING_REVIVE.
+

Var Details

base_respawn_time + + + + +

+

The respawn timer of the phylactery.

lich_mind + + + + +

+

The mind of the lich who is linked to this phylactery.

num_resurrections + + + + +

+

The number of ressurections that have occured from this phylactery.

phylactery_color + + + + +

+

The color of the phylactery itself. Applied on creation.

revive_timer + + + + +

+

A timerid to the current revival timer.

stun_per_resurrection + + + + +

+

How much stun (paralyze) is caused on respawn per revival.

time_per_resurrection + + + + +

+

How much time is added on to the respawn time per revival.

Proc Details

check_if_lich_died +

+

Signal proc for COMSIG_GLOB_MOB_DEATH.

+

If the mob containing our lich's mind is killed, +we can initiate the revival process.

+

We use the global mob death signal here, +instead of registering the normal death signal, +as it's entirely possible the wizard mindswaps +or is gibbed or something wacky happens, and +we need to make sure WHOEVER has our mind is dead

on_examine +

+

Signal proc for COMSIG_ATOM_EXAMINE.

+

Gives some flavor for the phylactery on examine.

on_lich_mind_lost +

+

Signal proc for COMSIG_QDELETING registered on the lich's mind.

+

Minds shouldn't be getting deleted but if for some ungodly reason +the lich'd mind is deleted our component should go with it, as +we don't have a reason to exist anymore.

revive_lich +

+

Actually undergo the process of reviving the lich at the site of the phylacery.

+

Arguments

+

stop_timer +

+

Signal proc for COMSIG_LIVING_REVIVE.

+

If our lich's mob is revived at some point before returning, stop the timer

+ + + diff --git a/datum/component/pinata.html b/datum/component/pinata.html new file mode 100644 index 00000000000..7270cb62172 --- /dev/null +++ b/datum/component/pinata.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/pinata - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pinata + + + +

+ +

Objects or mobs with this componenet will drop items when taking damage.

+ + + +

Vars

candyA list of "candy" items that can be dropped when taking damage
death_dropNumber of "candy" items dropped when the structure is destroyed/mob is killed, set to 0 if none. drop_chance and minimum damage are not applied.
drop_chanceWhat is the likelyhood some "candy" should drop when attacked.
minimum_damageHow much damage does an attack need to do to have a chance to drop "candy"
+

Var Details

candy + + + + +

+

A list of "candy" items that can be dropped when taking damage

death_drop + + + + +

+

Number of "candy" items dropped when the structure is destroyed/mob is killed, set to 0 if none. drop_chance and minimum damage are not applied.

drop_chance + + + + +

+

What is the likelyhood some "candy" should drop when attacked.

minimum_damage + + + + +

+

How much damage does an attack need to do to have a chance to drop "candy"

+ + + diff --git a/datum/component/pinnable_accessory.html b/datum/component/pinnable_accessory.html new file mode 100644 index 00000000000..16d02143ed4 --- /dev/null +++ b/datum/component/pinnable_accessory.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/pinnable_accessory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pinnable_accessory + + + +

+ +

This accessory can be pinned onto someone else

+ + + + + +

Vars

on_pre_pinOptional callback invoked before pinning, will cancel if it returns FALSE
pinning_timeHow long does it take to pin this onto someone?
silentDo we let people know what we're doing?

Procs

on_atom_interactCalled when you whack someone with this accessory
pin_checksCallback for do_after to check if we can still be pinned
try_to_pinActually try to pin it on
+

Var Details

on_pre_pin + + + + +

+

Optional callback invoked before pinning, will cancel if it returns FALSE

pinning_time + + + + +

+

How long does it take to pin this onto someone?

silent + + + + +

+

Do we let people know what we're doing?

Proc Details

on_atom_interact +

+

Called when you whack someone with this accessory

pin_checks +

+

Callback for do_after to check if we can still be pinned

try_to_pin +

+

Actually try to pin it on

+ + + diff --git a/datum/component/plumbing.html b/datum/component/plumbing.html new file mode 100644 index 00000000000..fb8f28833e9 --- /dev/null +++ b/datum/component/plumbing.html @@ -0,0 +1,213 @@ + + + + + + + /datum/component/plumbing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plumbing + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeFALSE to pretty much just not exist in the plumbing world so we can be moved, TRUE to go plumbo mode
demand_colorWhat color is our demand connect?
demand_connectsdirection in wich we act as a demander
ducting_layerThe layer on which we connect. Don't add multiple. If you want multiple layer connects for some reason you can just add multiple components with different layers
ductsIndex with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define
extend_pipe_to_edgeExtend the pipe to the edge for wall-mounted plumbed devices, like sinks and showers
reagentsshortcut to our parents' reagent holder
recipient_reagents_holderIn-case we don't want the main machine to get the reagents, but perhaps whoever is buckled to it
supply_colorWhat color is our supply connect?
supply_connectsdirections in wich we act as a supplier
tile_coveredWhether our tile is covered and we should hide our ducts
turn_connectsif TRUE connects will spin with the parent object visually and codually, so you can have it work in any direction. FALSE if you want it to be static
use_overlaysTRUE if we wanna add proper pipe overlays under our parent object. this is pretty good if i may so so myself

Procs

Initializeturn_connects is for wheter or not we spin with the object to change our pipes
can_addCan we be added to the ductnet?
can_givereturns TRUE when they can give the specified amount and reagent. called by process request
create_overlaysWe create our luxurious piping overlays/underlays, to indicate where we do what. only called once if use_overlays = TRUE in Initialize()
disablewe stop acting like a plumbing thing and disconnect if we are, so we can safely be moved and stuff
enablesettle wherever we are, and start behaving like a piece of plumbing
get_original_directionGive the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH
on_parent_dir_changeCalled when the dir changes. Need to adjust positioning of pipes.
process_requestcheck who can give us what we want, and how many each of them will give us
send_requestcalled from in process(). only calls process_request(), but can be overwritten for children with special behaviour
toggle_activeToggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move
transfer_tothis is where the reagent is actually transferred and is thus the finish point of our process()
update_dirWe update our connects only when we settle down by taking our current and original direction to find our new connects +If someone wants it to fucking spin while connected to something go actually knock yourself out
+

Var Details

active + + + + +

+

FALSE to pretty much just not exist in the plumbing world so we can be moved, TRUE to go plumbo mode

demand_color + + + + +

+

What color is our demand connect?

demand_connects + + + + +

+

direction in wich we act as a demander

ducting_layer + + + + +

+

The layer on which we connect. Don't add multiple. If you want multiple layer connects for some reason you can just add multiple components with different layers

ducts + + + + +

+

Index with "1" = /datum/ductnet/theductpointingnorth etc. "1" being the num2text from NORTH define

extend_pipe_to_edge + + + + +

+

Extend the pipe to the edge for wall-mounted plumbed devices, like sinks and showers

reagents + + + + +

+

shortcut to our parents' reagent holder

recipient_reagents_holder + + + + +

+

In-case we don't want the main machine to get the reagents, but perhaps whoever is buckled to it

supply_color + + + + +

+

What color is our supply connect?

supply_connects + + + + +

+

directions in wich we act as a supplier

tile_covered + + + + +

+

Whether our tile is covered and we should hide our ducts

turn_connects + + + + +

+

if TRUE connects will spin with the parent object visually and codually, so you can have it work in any direction. FALSE if you want it to be static

use_overlays + + + + +

+

TRUE if we wanna add proper pipe overlays under our parent object. this is pretty good if i may so so myself

Proc Details

Initialize +

+

turn_connects is for wheter or not we spin with the object to change our pipes

can_add +

+

Can we be added to the ductnet?

can_give +

+

returns TRUE when they can give the specified amount and reagent. called by process request

create_overlays +

+

We create our luxurious piping overlays/underlays, to indicate where we do what. only called once if use_overlays = TRUE in Initialize()

disable +

+

we stop acting like a plumbing thing and disconnect if we are, so we can safely be moved and stuff

enable +

+

settle wherever we are, and start behaving like a piece of plumbing

get_original_direction +

+

Give the direction of a pipe, and it'll return wich direction it originally was when it's object pointed SOUTH

on_parent_dir_change +

+

Called when the dir changes. Need to adjust positioning of pipes.

process_request +

+

check who can give us what we want, and how many each of them will give us

send_request +

+

called from in process(). only calls process_request(), but can be overwritten for children with special behaviour

toggle_active +

+

Toggle our machinery on or off. This is called by a hook from default_unfasten_wrench with anchored as only param, so we dont have to copypaste this on every object that can move

transfer_to +

+

this is where the reagent is actually transferred and is thus the finish point of our process()

update_dir +

+

We update our connects only when we settle down by taking our current and original direction to find our new connects +If someone wants it to fucking spin while connected to something go actually knock yourself out

+ + + diff --git a/datum/component/plumbing/acclimator.html b/datum/component/plumbing/acclimator.html new file mode 100644 index 00000000000..b6ce7658c06 --- /dev/null +++ b/datum/component/plumbing/acclimator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/plumbing/acclimator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

acclimator + + + +

+ + +

Procs

processWe're overriding process and not send_request, because all process does is do the requests, so we might aswell cut out the middle man and save some code from running

Proc Details

process +

+

We're overriding process and not send_request, because all process does is do the requests, so we might aswell cut out the middle man and save some code from running

+ + + diff --git a/datum/component/plumbing/filter.html b/datum/component/plumbing/filter.html new file mode 100644 index 00000000000..3e3efd15d84 --- /dev/null +++ b/datum/component/plumbing/filter.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/plumbing/filter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

filter + + + +

+ +

The magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter

+

Procs

can_give_in_directionWe check if the direction and reagent are valid to give. Needed for filters since different outputs have different behaviours

Proc Details

can_give_in_direction +

+

We check if the direction and reagent are valid to give. Needed for filters since different outputs have different behaviours

+ + + diff --git a/datum/component/plumbing/hydroponics.html b/datum/component/plumbing/hydroponics.html new file mode 100644 index 00000000000..d958c1e6d6b --- /dev/null +++ b/datum/component/plumbing/hydroponics.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/plumbing/hydroponics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hydroponics + + + +

+ +

Special demand connector that consumes as normal, but redirects water into the magical water space.

+ +

Vars

nutri_reagentsActual parent reagents that has nutrients
water_reagentsAlternate reagents container to buffer incoming water
+

Var Details

nutri_reagents + + + + +

+

Actual parent reagents that has nutrients

water_reagents + + + + +

+

Alternate reagents container to buffer incoming water

+ + + diff --git a/datum/component/plundering_attacks.html b/datum/component/plundering_attacks.html new file mode 100644 index 00000000000..a98cba2167a --- /dev/null +++ b/datum/component/plundering_attacks.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/plundering_attacks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plundering_attacks + + + +

+ +

Component that makes basic mobs' melee attacks steal money from the target's ID card. +Plundered money is stored and dropped on death or removal of the component.

+ +

Vars

plunder_amountHow many credits do we steal per attack?
plunder_storedHow much plunder do we have stored?
+

Var Details

plunder_amount + + + + +

+

How many credits do we steal per attack?

plunder_stored + + + + +

+

How much plunder do we have stored?

+ + + diff --git a/datum/component/pricetag.html b/datum/component/pricetag.html new file mode 100644 index 00000000000..2c83effc06b --- /dev/null +++ b/datum/component/pricetag.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/pricetag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pricetag + + + +

+ + + +

Vars

delete_on_unwrapWhether we qdel ourself when our parent is unwrapped or not.
payeesList of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.
+

Var Details

delete_on_unwrap + + + + +

+

Whether we qdel ourself when our parent is unwrapped or not.

payees + + + + +

+

List of bank accounts this pricetag pays out to. Format is payees[bank_account] = profit_ratio.

+ + + diff --git a/datum/component/projectile_parry.html b/datum/component/projectile_parry.html new file mode 100644 index 00000000000..88d58cefc7f --- /dev/null +++ b/datum/component/projectile_parry.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/projectile_parry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

projectile_parry + + + +

+ +

Add to a living mob to allow them to "parry" projectiles by clicking on their tile, sending them back at the firer.

+

Vars

parryable_projectilestypecache of valid projectiles to be able to parry
+

Var Details

parryable_projectiles + + + + +

+

typecache of valid projectiles to be able to parry

+ + + diff --git a/datum/component/puzzgrid.html b/datum/component/puzzgrid.html new file mode 100644 index 00000000000..d2bc1d2bb6e --- /dev/null +++ b/datum/component/puzzgrid.html @@ -0,0 +1,81 @@ + + + + + + + /datum/component/puzzgrid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzgrid + + + +

+ +

Attaches a puzzgrid to the atom. +You are expected to pass in the puzzgrid, likely from create_random_puzzgrid(). +This is so you can handle when a puzzgrid can't be generated, either because the +config does not exist, or because the config is not set up properly.

+ + + + + + +

Vars

all_answersEvery answer, in text, including already solved ones
livesThe number of lives left
on_fail_callbackCallback that will be called when you lose, either through running out of time or running out of lives
on_victory_callbackCallback that will be called when you win
selected_answersThe answers, in text, that are currently selected
solved_groupsThe puzzgrid groups that have already been solved
time_to_finishThe world timestamp for when the puzzgrid will fail, if timer was set in Initialize
+

Var Details

all_answers + + + + +

+

Every answer, in text, including already solved ones

lives + + + + +

+

The number of lives left

on_fail_callback + + + + +

+

Callback that will be called when you lose, either through running out of time or running out of lives

on_victory_callback + + + + +

+

Callback that will be called when you win

selected_answers + + + + +

+

The answers, in text, that are currently selected

solved_groups + + + + +

+

The puzzgrid groups that have already been solved

time_to_finish + + + + +

+

The world timestamp for when the puzzgrid will fail, if timer was set in Initialize

+ + + diff --git a/datum/component/radiation_countdown.html b/datum/component/radiation_countdown.html new file mode 100644 index 00000000000..1bcfe582258 --- /dev/null +++ b/datum/component/radiation_countdown.html @@ -0,0 +1,47 @@ + + + + + + + /datum/component/radiation_countdown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radiation_countdown + + + +

+ +

Begins the countdown before a target can be irradiated. +Added by the radiation subsystem when a pulse information has a minimum exposure time. +Will clear itself out after a while.

+ +

Vars

minimum_exposure_timeThe shortest minimum time before being irradiated. +If the source has an attempted irradiation again outside this timeframe, it will go through.
time_addedThe time this component was added
+

Var Details

minimum_exposure_time + + + + +

+

The shortest minimum time before being irradiated. +If the source has an attempted irradiation again outside this timeframe, it will go through.

time_added + + + + +

+

The time this component was added

+ + + diff --git a/datum/component/radioactive_emitter.html b/datum/component/radioactive_emitter.html new file mode 100644 index 00000000000..47018fee8d0 --- /dev/null +++ b/datum/component/radioactive_emitter.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/radioactive_emitter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Radioactive Emitter + + + +

+ +

Simple component that you can attach to something to make it emit radiation pulses over time.

+ + + + +

Vars

cooldown_timeThe length of the cooldown between radiation pulses
examine_textOptional - What is shown on examine of the parent?
rad_pulse_cooldownThe actual cooldown between rad pulses
rangeHow far the radiation pulses aggregate with other radiation pulses (see: [proc/radiation_pulse])
thresholdHow much radiation protection threshold is passed to the radiation pulse (see: [proc/radiation_pulse])
+

Var Details

cooldown_time + + + + +

+

The length of the cooldown between radiation pulses

examine_text + + + + +

+

Optional - What is shown on examine of the parent?

rad_pulse_cooldown + + + + +

+

The actual cooldown between rad pulses

range + + + + +

+

How far the radiation pulses aggregate with other radiation pulses (see: [proc/radiation_pulse])

threshold + + + + +

+

How much radiation protection threshold is passed to the radiation pulse (see: [proc/radiation_pulse])

+ + + diff --git a/datum/component/radioactive_exposure.html b/datum/component/radioactive_exposure.html new file mode 100644 index 00000000000..edc8d28c455 --- /dev/null +++ b/datum/component/radioactive_exposure.html @@ -0,0 +1,78 @@ + + + + + + + /datum/component/radioactive_exposure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radioactive_exposure + + + +

+ +

For directly applying to carbons to irradiate them, without pulses

+ + + + + + +

Vars

irradiation_chanceChance we have of applying irradiation
irradiation_chance_baseBase irradiation chance
irradiation_chance_incrementThe amount the base chance is increased after every failed irradiation check
irradiation_intervalTime till we attempt the next irradiation check
radioactive_areasArea's where the component isnt removed if we cross to them
sourceThe source of irradiation, for logging

Procs

attempt_irradiateTry and irradiate them. If we chance fail, we come back harder
+

Var Details

irradiation_chance + + + + +

+

Chance we have of applying irradiation

irradiation_chance_base + + + + +

+

Base irradiation chance

irradiation_chance_increment + + + + +

+

The amount the base chance is increased after every failed irradiation check

irradiation_interval + + + + +

+

Time till we attempt the next irradiation check

radioactive_areas + + + + +

+

Area's where the component isnt removed if we cross to them

source + + + + +

+

The source of irradiation, for logging

Proc Details

attempt_irradiate +

+

Try and irradiate them. If we chance fail, we come back harder

+ + + diff --git a/datum/component/ranged_attacks.html b/datum/component/ranged_attacks.html new file mode 100644 index 00000000000..70721e65eb9 --- /dev/null +++ b/datum/component/ranged_attacks.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/ranged_attacks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ranged_attacks + + + +

+ +

Configurable ranged attack for basic mobs.

+ + + + + + + +

Vars

burst_intervalsintervals between shots
burst_shotshow many shots we will fire
casing_typeWhat kind of casing do we use to fire?
cooldown_timeTime to wait between shots
fire_cooldownTracks time between shots
projectile_soundSound to play when we fire our projectile
projectile_typeWhat kind of projectile to we fire? Use only one of this or casing_type

Procs

async_fire_ranged_attackActually fire the damn thing
+

Var Details

burst_intervals + + + + +

+

intervals between shots

burst_shots + + + + +

+

how many shots we will fire

casing_type + + + + +

+

What kind of casing do we use to fire?

cooldown_time + + + + +

+

Time to wait between shots

fire_cooldown + + + + +

+

Tracks time between shots

projectile_sound + + + + +

+

Sound to play when we fire our projectile

projectile_type + + + + +

+

What kind of projectile to we fire? Use only one of this or casing_type

Proc Details

async_fire_ranged_attack +

+

Actually fire the damn thing

+ + + diff --git a/datum/component/ranged_mob_full_auto.html b/datum/component/ranged_mob_full_auto.html new file mode 100644 index 00000000000..7ffb38edd29 --- /dev/null +++ b/datum/component/ranged_mob_full_auto.html @@ -0,0 +1,148 @@ + + + + + + + /datum/component/ranged_mob_full_auto - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ranged_mob_full_auto + + + +

+ +

Allows a mob to autofire by holding down the cursor

+ + + + + + + + + + + + + + + + +

Vars

autofire_shot_delayDelay before attempting to fire again, note that this is just when we make attempts and is separate from mob's actual firing cooldown
awaiting_statusThis seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar.
clickerOur client for click tracking
is_firingAre we currently firing?
next_shot_cooldownWhen will we next try to shoot?
targetWhat are we currently shooting at?
target_locWhere are we currently shooting at?

Procs

on_gained_clientWhen we gain a client, start tracking clicks
on_lost_clientWhen we lose our client, stop functioning
on_mouse_downOn mouse down start shooting!
on_mouse_dragWhen the mouse moved let's try and shift our aim
on_mouse_upWhen the mouse is released we should stop
on_target_deletedDon't hang references
set_targetSetter for reference handling
start_firingStart tracking mouse movement and processing our shots
stop_firingStop watching our mouse and processing shots
try_shootingTry and take a shot, returns false if we are unable to do so and should stop trying
+

Var Details

autofire_shot_delay + + + + +

+

Delay before attempting to fire again, note that this is just when we make attempts and is separate from mob's actual firing cooldown

awaiting_status + + + + +

+

This seems hacky but there can be two MouseDown() without a MouseUp() in between if the user holds click and uses alt+tab, printscreen or similar.

clicker + + + + +

+

Our client for click tracking

is_firing + + + + +

+

Are we currently firing?

next_shot_cooldown + + + + +

+

When will we next try to shoot?

target + + + + +

+

What are we currently shooting at?

target_loc + + + + +

+

Where are we currently shooting at?

Proc Details

on_gained_client +

+

When we gain a client, start tracking clicks

on_lost_client +

+

When we lose our client, stop functioning

on_mouse_down +

+

On mouse down start shooting!

on_mouse_drag +

+

When the mouse moved let's try and shift our aim

on_mouse_up +

+

When the mouse is released we should stop

on_target_deleted +

+

Don't hang references

set_target +

+

Setter for reference handling

start_firing +

+

Start tracking mouse movement and processing our shots

stop_firing +

+

Stop watching our mouse and processing shots

try_shooting +

+

Try and take a shot, returns false if we are unable to do so and should stop trying

+ + + diff --git a/datum/component/reagent_refiller.html b/datum/component/reagent_refiller.html new file mode 100644 index 00000000000..d5289948e2e --- /dev/null +++ b/datum/component/reagent_refiller.html @@ -0,0 +1,72 @@ + + + + + + + /datum/component/reagent_refiller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagent_refiller + + + +

+ +Reagent refiller +

Refills any drinks poured out of the reagent container (and is allowed within the whitelisted reagents).

+ + + + + +

Vars

power_draw_callbackCallback to consume power
power_to_drawAmount of power to use from the cell
time_to_refillTime to refill
whitelisted_reagentsWhitelist of reagents allowed to be synthesized

Procs

add_reagentsRefills the reagent container, and uses cell power if applicable
refillPreps the reagent container for being refilled
+

Var Details

power_draw_callback + + + + +

+

Callback to consume power

power_to_draw + + + + +

+

Amount of power to use from the cell

time_to_refill + + + + +

+

Time to refill

whitelisted_reagents + + + + +

+

Whitelist of reagents allowed to be synthesized

Proc Details

add_reagents +

+

Refills the reagent container, and uses cell power if applicable

refill +

+

Preps the reagent container for being refilled

+ + + diff --git a/datum/component/recharging_attacks.html b/datum/component/recharging_attacks.html new file mode 100644 index 00000000000..a2eefbb8d59 --- /dev/null +++ b/datum/component/recharging_attacks.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/recharging_attacks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

recharging_attacks + + + +

+ +

Reduces the cooldown of a given action upon landing attacks, critting, or killing mobs.

+ + + + +

Vars

attack_refundThe amount of cooldown to refund on a successful attack
crit_refundThe amount of cooldown to refund when putting a target into critical
last_statThe stat of the most recently attacked mob
last_targetThe target of the most recent attack
recharged_actionThe action to recharge when attacking
+

Var Details

attack_refund + + + + +

+

The amount of cooldown to refund on a successful attack

crit_refund + + + + +

+

The amount of cooldown to refund when putting a target into critical

last_stat + + + + +

+

The stat of the most recently attacked mob

last_target + + + + +

+

The target of the most recent attack

recharged_action + + + + +

+

The action to recharge when attacking

+ + + diff --git a/datum/component/redirect_attack_hand_from_turf.html b/datum/component/redirect_attack_hand_from_turf.html new file mode 100644 index 00000000000..7bc82292cdd --- /dev/null +++ b/datum/component/redirect_attack_hand_from_turf.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/redirect_attack_hand_from_turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

redirect_attack_hand_from_turf + + + +

+ +

Will redirect touching the turf it is on with your hand to the attack_hand of the parent object.

+ +

Vars

adjust_for_pixel_shiftIf TRUE, will connect to the turf it appears to be on.
screentip_textsIf set, hovering over the turf you're on will show these screentips with an empty hand. +Takes lmb_text and rmb_text.
+

Var Details

adjust_for_pixel_shift + + + + +

+

If TRUE, will connect to the turf it appears to be on.

screentip_texts + + + + +

+

If set, hovering over the turf you're on will show these screentips with an empty hand. +Takes lmb_text and rmb_text.

+ + + diff --git a/datum/component/reflection.html b/datum/component/reflection.html new file mode 100644 index 00000000000..18401e10496 --- /dev/null +++ b/datum/component/reflection.html @@ -0,0 +1,139 @@ + + + + + + + /datum/component/reflection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reflection + + + +

+ +

A simple-ish component that reflects the icons of movables on the parent like a mirror. +Sadly, there's no easy way to make the SOUTH dir reflection flip the visual so that you can see +the back NORTH dir of a target while it's facing SOUTH beside adding the VIS_INHERIT_DIR flag +to the target movable, which I'm not doing to spare eventual issues with other vis overlays in the future.

+ + + + + + + + + + + + + + +

Vars

alphathe transparency channel value of the reflection holder.
can_reflectA callback used check to know which movables should be reflected and which not.
reflected_dirThe direction from which the component gets its visual overlays. +The visuals are also flipped horizontally or vertically based on it.
reflected_movablesA lazy assoc list that keeps track of which movables are being reflected and the associated reflections.
reflection_filterthe filter data added to reflection holder.
reflection_holderthe movable which the reflected movables are attached to, in turn added to the vis contents of the parent.
reflection_matrixthe base matrix used by reflections
update_signalsA list of signals that when sent to the parent, will force the comp to recalculate the reflected movables.

Procs

check_can_reflectChecks if the target movable can be reflected or not.
get_reflection_targetsUnsets the old reflected movables and sets it with new ones.
on_dir_changeCalled when the parent changes its direction.
on_movable_entered_or_initializedCalled when a movable enters a turf within the connected range
on_movable_exitedCalled when a movable exits a turf within the connected range
set_reflectedSets up a visual overlay of the target movables, which is added to the parent's vis contents.
set_reflectionTurns the allowed reflected direction alongside the parent's dir. then calls get_reflection_targets.
+

Var Details

alpha + + + + +

+

the transparency channel value of the reflection holder.

can_reflect + + + + +

+

A callback used check to know which movables should be reflected and which not.

reflected_dir + + + + +

+

The direction from which the component gets its visual overlays. +The visuals are also flipped horizontally or vertically based on it.

reflected_movables + + + + +

+

A lazy assoc list that keeps track of which movables are being reflected and the associated reflections.

reflection_filter + + + + +

+

the filter data added to reflection holder.

reflection_holder + + + + +

+

the movable which the reflected movables are attached to, in turn added to the vis contents of the parent.

reflection_matrix + + + + +

+

the base matrix used by reflections

update_signals + + + + +

+

A list of signals that when sent to the parent, will force the comp to recalculate the reflected movables.

Proc Details

check_can_reflect +

+

Checks if the target movable can be reflected or not.

get_reflection_targets +

+

Unsets the old reflected movables and sets it with new ones.

on_dir_change +

+

Called when the parent changes its direction.

on_movable_entered_or_initialized +

+

Called when a movable enters a turf within the connected range

on_movable_exited +

+

Called when a movable exits a turf within the connected range

set_reflected +

+

Sets up a visual overlay of the target movables, which is added to the parent's vis contents.

set_reflection +

+

Turns the allowed reflected direction alongside the parent's dir. then calls get_reflection_targets.

+ + + diff --git a/datum/component/regenerator.html b/datum/component/regenerator.html new file mode 100644 index 00000000000..648ce0eab2c --- /dev/null +++ b/datum/component/regenerator.html @@ -0,0 +1,118 @@ + + + + + + + /datum/component/regenerator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

regenerator + + + +

+ +

If the loc is null, only a black (or grey depending on alpha) silhouette of the target will be rendered +Just putting this information here in case you want something like that in the future. +The filter is added to the reflection holder; the matrix is not, otherwise that'd go affecting the filter.

+Regenerator component +

A mob with this component will regenerate its health over time, as long as it has not received damage +in the last X seconds. Taking any damage will reset this cooldown.

+ + + + + + + + + + + +

Vars

brute_per_secondBrute reagined every second
burn_per_secondBurn reagined every second
heals_woundsIf TRUE, we'll try to heal wounds as well. Useless for non-humans.
ignore_damage_typesList of damage types we don't care about, in case you want to only remove this with fire damage or something
outline_colourColour of regeneration animation, or none if you don't want one
oxy_per_secondOxygen reagined every second
regeneration_delayYou will only regain health if you haven't been hurt for this many seconds
regeneration_start_timerWhen this timer completes we start restoring health, it is a timer rather than a cooldown so we can do something on its completion
tox_per_secondToxin reagined every second

Procs

on_take_damageWhen you take damage, reset the cooldown and start processing
should_be_regenningChecks if the passed mob is in a valid state to be regenerating
start_regeneratingStart processing health regeneration, and show animation if provided
+

Var Details

brute_per_second + + + + +

+

Brute reagined every second

burn_per_second + + + + +

+

Burn reagined every second

heals_wounds + + + + +

+

If TRUE, we'll try to heal wounds as well. Useless for non-humans.

ignore_damage_types + + + + +

+

List of damage types we don't care about, in case you want to only remove this with fire damage or something

outline_colour + + + + +

+

Colour of regeneration animation, or none if you don't want one

oxy_per_second + + + + +

+

Oxygen reagined every second

regeneration_delay + + + + +

+

You will only regain health if you haven't been hurt for this many seconds

regeneration_start_timer + + + + +

+

When this timer completes we start restoring health, it is a timer rather than a cooldown so we can do something on its completion

tox_per_second + + + + +

+

Toxin reagined every second

Proc Details

on_take_damage +

+

When you take damage, reset the cooldown and start processing

should_be_regenning +

+

Checks if the passed mob is in a valid state to be regenerating

start_regenerating +

+

Start processing health regeneration, and show animation if provided

+ + + diff --git a/datum/component/religious_tool.html b/datum/component/religious_tool.html new file mode 100644 index 00000000000..4170edd68d1 --- /dev/null +++ b/datum/component/religious_tool.html @@ -0,0 +1,164 @@ + + + + + + + /datum/component/religious_tool - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

religious_tool + + + +

+ +

Allows the parent to act similarly to the Altar of Gods with modularity. Invoke and Sect Selection is done via attacking with a bible. This means you cannot sacrifice Bibles (you shouldn't want to do this anyways although now that I mentioned it you probably will want to).

+ + + + + + + + + + + + + + + + + + +

Vars

after_sect_select_cbCallback provided to the tool for after a sect is chosen
catalyst_typeSets the type for catalyst
chargesOptional argument. If a positive value, each invocation will lower charges, and the component will delete without any more charges
easy_access_sectEnables access to the global sect directly
force_catalyst_afterattackEnables overide of COMPONENT_NO_AFTERATTACK, not recommended as it means you can potentially cause damage to the item using the catalyst.
operation_flagsWhat extent do we want this religious tool to act? In case you don't want full access to the list. Generated on New
performing_riteThe rite currently being invoked
rite_types_allowlistIf a typecache is provided, only types of rites in the cache can be invoked.
selecting_sectPrevents double selecting sects

Procs

AttemptActionsSince all of these involve attackby, we require mega proc. Handles Invocation, Sacrificing, And Selection of Sects.
SetGlobalToLocalSets the easy access variable to the global if it exists.
generate_available_ritesGenerates available rites to pick from. It expects the sect to be picked by the time it was called (by tgui data)
generate_available_sectsGenerates a list of available sects to the user. Intended to support custom-availability sects.
generate_sacrifice_listchecks to invalidate +Generates an english list (so string) of wanted sac items. Returns null if no targets!
on_examineAppends to examine so the user knows it can be used for religious purposes.
on_sect_resetSets the easy access variable to null in case an admin needed to change it
perform_ritePerform the rite, called from /datum/component/religious_tool/proc/AttemptActions
select_sectSelect the sect, called from /datum/component/religious_tool/proc/AttemptActions
ui_interactSacrificing
+

Var Details

after_sect_select_cb + + + + +

+

Callback provided to the tool for after a sect is chosen

catalyst_type + + + + +

+

Sets the type for catalyst

charges + + + + +

+

Optional argument. If a positive value, each invocation will lower charges, and the component will delete without any more charges

easy_access_sect + + + + +

+

Enables access to the global sect directly

force_catalyst_afterattack + + + + +

+

Enables overide of COMPONENT_NO_AFTERATTACK, not recommended as it means you can potentially cause damage to the item using the catalyst.

operation_flags + + + + +

+

What extent do we want this religious tool to act? In case you don't want full access to the list. Generated on New

performing_rite + + + + +

+

The rite currently being invoked

rite_types_allowlist + + + + +

+

If a typecache is provided, only types of rites in the cache can be invoked.

selecting_sect + + + + +

+

Prevents double selecting sects

Proc Details

AttemptActions +

+

Since all of these involve attackby, we require mega proc. Handles Invocation, Sacrificing, And Selection of Sects.

SetGlobalToLocal +

+

Sets the easy access variable to the global if it exists.

generate_available_rites +

+

Generates available rites to pick from. It expects the sect to be picked by the time it was called (by tgui data)

generate_available_sects +

+

Generates a list of available sects to the user. Intended to support custom-availability sects.

generate_sacrifice_list +

+

checks to invalidate +Generates an english list (so string) of wanted sac items. Returns null if no targets!

on_examine +

+

Appends to examine so the user knows it can be used for religious purposes.

on_sect_reset +

+

Sets the easy access variable to null in case an admin needed to change it

perform_rite +

+

Perform the rite, called from /datum/component/religious_tool/proc/AttemptActions

select_sect +

+

Select the sect, called from /datum/component/religious_tool/proc/AttemptActions

ui_interact +

+

Sacrificing

+ + + diff --git a/datum/component/remote_materials.html b/datum/component/remote_materials.html new file mode 100644 index 00000000000..7890a384418 --- /dev/null +++ b/datum/component/remote_materials.html @@ -0,0 +1,148 @@ + + + + + + + /datum/component/remote_materials - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

remote_materials + + + +

+ + + + + + + + + + + + + + +

Vars

allow_standaloneShould we create a local storage if we can't connect to silo
local_sizeLocal size of container when silo = null
mat_containerMaterial container. the value is either the silo or local
mat_container_flagsFlags used when converting inserted materials into their component materials.
siloThe silo machine this container is connected to

Procs

SiloAttackByInsert mats into silo
_PrepareStorageInternal proc. prepares local storage if onnect_to_silo = FALSE
_can_use_resourceInternal proc to check if this connection can use any materials from the silo +Returns true only if
check_z_levelChecks if the param silo is in the same level as this components parent i.e. connected machine, rcd, etc
disconnect_fromDisconnect this component from the remote silo
eject_sheetsEjects the given material ref and logs it
on_holdreturns TRUE if this connection put on hold by the silo
use_materialsUse materials from either the silo(if connected) or from the local storage. If silo then this action +is logged else not e.g. action="build" & name="matter bin" means you are trying to build an matter bin
+

Var Details

allow_standalone + + + + +

+

Should we create a local storage if we can't connect to silo

local_size + + + + +

+

Local size of container when silo = null

mat_container + + + + +

+

Material container. the value is either the silo or local

mat_container_flags + + + + +

+

Flags used when converting inserted materials into their component materials.

silo + + + + +

+

The silo machine this container is connected to

Proc Details

SiloAttackBy +

+

Insert mats into silo

_PrepareStorage +

+

Internal proc. prepares local storage if onnect_to_silo = FALSE

+

Arguments +connect_to_silo- if true connect to global silo. If not successfull then go to local storage +only if allow_standalone = TRUE, else you a null mat_container

_can_use_resource +

+

Internal proc to check if this connection can use any materials from the silo +Returns true only if

+

check_z_level +

+

Checks if the param silo is in the same level as this components parent i.e. connected machine, rcd, etc

+

Arguments +silo_to_check- Is this components parent in the same Z level as this param silo. If null +then check this components connected silo

+

Returns true if both are on the station or same z level

disconnect_from +

+

Disconnect this component from the remote silo

+

Arguments +old_silo- The silo we are trying to disconnect from

eject_sheets +

+

Ejects the given material ref and logs it

+

Arguments +material_ref- The material type you are trying to eject +eject_amount- how many sheets to eject +drop_target- optional where to drop the sheets. null means it is dropped at this components parent location

on_hold +

+

returns TRUE if this connection put on hold by the silo

use_materials +

+

Use materials from either the silo(if connected) or from the local storage. If silo then this action +is logged else not e.g. action="build" & name="matter bin" means you are trying to build an matter bin

+

Arguments +[mats][list]- list of materials to use +coefficient- each mat unit is scaled by this value then rounded. This value if usually your machine efficiency e.g. upgraded protolathe has reduced costs +multiplier- each mat unit is scaled by this value then rounded after it is scaled by coefficient. This value is your print quatity e.g. printing multiple items +action- For logging only. e.g. build, create, i.e. the action you are trying to perform +name- For logging only. the design you are trying to build e.g. matter bin, etc.

+ + + diff --git a/datum/component/rename.html b/datum/component/rename.html new file mode 100644 index 00000000000..a3a34c31f86 --- /dev/null +++ b/datum/component/rename.html @@ -0,0 +1,86 @@ + + + + + + + /datum/component/rename - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rename + + + +

+ +

The rename component.

+

This component is used to manage names and descriptions changed with the pen.

+

Atoms can only have one instance of this component at a time.

+

When a player renames or changes the description of an atom with a pen, this component gets applied to it. +If a player resets the name and description, they will be reverted to their state before being changed and the component will be removed.

+ + + + + + +

Vars

custom_descThe desc the player is applying to the parent.
custom_nameThe name the player is applying to the parent.
original_descThe desc before the player changed it.
original_nameThe name before the player changed it.

Procs

InheritComponentThis proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component. +Since the parent already has a rename component, it will remove the old one and apply the new one. +The name and description changes will be merged or overwritten.
apply_renameSaves the current name and description before changing them to the player's inputs.
revert_renameReverts the name and description to the state before they were changed.
+

Var Details

custom_desc + + + + +

+

The desc the player is applying to the parent.

custom_name + + + + +

+

The name the player is applying to the parent.

original_desc + + + + +

+

The desc before the player changed it.

original_name + + + + +

+

The name before the player changed it.

Proc Details

InheritComponent +

+

This proc will fire after the parent's name or desc is changed with a pen, which is trying to apply another rename component. +Since the parent already has a rename component, it will remove the old one and apply the new one. +The name and description changes will be merged or overwritten.

apply_rename +

+

Saves the current name and description before changing them to the player's inputs.

revert_rename +

+

Reverts the name and description to the state before they were changed.

+ + + diff --git a/datum/component/revenge_ability.html b/datum/component/revenge_ability.html new file mode 100644 index 00000000000..1fbfc86977a --- /dev/null +++ b/datum/component/revenge_ability.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/revenge_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

revenge_ability + + + +

+ +

Automatically triggers a linked ability at a target who attacks us. +The ability might not necessarily be on our mob. +Make sure that /datum/element/relay_attackers is also present or you'll never receive the triggering signal.

+ + + + + + +

Vars

abilityThe ability to use when we are attacked
max_rangeTrigger only if target is at least this close
min_rangeTrigger only if target is at least this far away
target_selfTarget the ability at ourself instead of at the offender
targetingOptional datum for validating targets

Procs

ability_destroyedFor whatever reason we lost our linked ability so we can drop this behaviour
on_attackedIf we were attacked, get revenge
+

Var Details

ability + + + + +

+

The ability to use when we are attacked

max_range + + + + +

+

Trigger only if target is at least this close

min_range + + + + +

+

Trigger only if target is at least this far away

target_self + + + + +

+

Target the ability at ourself instead of at the offender

targeting + + + + +

+

Optional datum for validating targets

Proc Details

ability_destroyed +

+

For whatever reason we lost our linked ability so we can drop this behaviour

on_attacked +

+

If we were attacked, get revenge

+ + + diff --git a/datum/component/riding.html b/datum/component/riding.html new file mode 100644 index 00000000000..3d61348bd04 --- /dev/null +++ b/datum/component/riding.html @@ -0,0 +1,232 @@ + + + + + + + /datum/component/riding - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

riding + + + +

+ +

This is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.

+

This component lives for as long as at least one mob is buckled to the parent. Once all mobs are unbuckled, the component is deleted, until another mob is buckled in +and we make a new riding component, so on and so forth until the sun explodes.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allowed_turf_typecacheallow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.
can_force_unbucklecan anyone other than the rider unbuckle the rider?
directional_vehicle_layers["[DIRECTION]"] = layer. Don't set it for a direction for default, set a direction to null for no change.
directional_vehicle_offsetssame as above but instead of layer you have a list(px, py)
forbid_turf_typecacheallow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.
keytypeIf the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on the actual vehicle object in their +/obj/vehicle/var/key_type variable because the vehicle objects still have a few special checks/functions of their own I'm not porting over to the riding component +quite yet. Make sure if you define it on the vehicle, you define it here too.
message_cooldownFor telling someone they can't drive
override_allow_spacemoveWe don't need roads where we're going if this is TRUE, allow normal movement in space tiles
ride_check_flagsRide check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. +Takes additional flags from the ridable element and the buckle proc (buckle_mob_flags) for riding cyborgs/humans in case we need to reserve arms
riding_offsetsposition_of_user = list(dir = list(px, py)), or RIDING_OFFSET_ALL for a generic one.
vehicle_move_cooldownFor telling someone they can't drive
vehicle_move_delaytick delay between movements, lower = faster, higher = slower

Procs

driver_moveEvery time the driver tries to move, this is called to see if they can actually drive and move the vehicle (via relaymove)
handle_specialsThis proc handles all of the proc calls to things like set_vehicle_dir_layer() that a type of riding datum needs to call on creation
handle_vehicle_layerSome ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs
keycheckThis proc is used to see if we have the appropriate key to drive this atom, if such a key is needed. Returns FALSE if we don't have what we need to drive.
on_movement_type_trait_gainCalled when our vehicle gains a movement trait, so we can apply it to the riders
on_movement_type_trait_lossCalled when our vehicle loses a movement trait, so we can remove it from the riders
on_rider_try_pullThis proc is called when the rider attempts to grab the thing they're riding, preventing them from doing so.
ride_checkCheck to see if we have all of the necessary bodyparts and not-falling-over statuses we need to stay onboard. +If not and if consequences is TRUE, well, there'll be consequences.
riding_can_z_moveExtra checks before buckled.can_z_move can be called in mob/living/can_z_move()
unequip_buckle_inhandscurrently replicated from ridable because we need this behavior here too, see if we can deal with that
vehicle_bumpSo we can check all occupants when we bump a door to see if anyone has access
vehicle_mob_buckleThis proc is called when a rider buckles, allowing for offsets to be set properly
vehicle_mob_unbuckleThis proc is called when a rider unbuckles, whether they chose to or not. If there's no more riders, this will be the riding component's death knell.
vehicle_movedThis is called after the ridden atom is successfully moved and is used to handle icon stuff
vehicle_turnedTurning is like moving
+

Var Details

allowed_turf_typecache + + + + +

+

allow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.

can_force_unbuckle + + + + +

+

can anyone other than the rider unbuckle the rider?

directional_vehicle_layers + + + + +

+

["[DIRECTION]"] = layer. Don't set it for a direction for default, set a direction to null for no change.

directional_vehicle_offsets + + + + +

+

same as above but instead of layer you have a list(px, py)

forbid_turf_typecache + + + + +

+

allow typecache for only certain turfs, forbid to allow all but those. allow only certain turfs will take precedence.

keytype + + + + +

+

If the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on the actual vehicle object in their +/obj/vehicle/var/key_type variable because the vehicle objects still have a few special checks/functions of their own I'm not porting over to the riding component +quite yet. Make sure if you define it on the vehicle, you define it here too.

message_cooldown + + + + +

+

For telling someone they can't drive

override_allow_spacemove + + + + +

+

We don't need roads where we're going if this is TRUE, allow normal movement in space tiles

ride_check_flags + + + + +

+

Ride check flags defined for the specific riding component types, so we know if we need arms, legs, or whatever. +Takes additional flags from the ridable element and the buckle proc (buckle_mob_flags) for riding cyborgs/humans in case we need to reserve arms

riding_offsets + + + + +

+

position_of_user = list(dir = list(px, py)), or RIDING_OFFSET_ALL for a generic one.

vehicle_move_cooldown + + + + +

+

For telling someone they can't drive

vehicle_move_delay + + + + +

+

tick delay between movements, lower = faster, higher = slower

Proc Details

driver_move +

+

Every time the driver tries to move, this is called to see if they can actually drive and move the vehicle (via relaymove)

handle_specials +

+

This proc handles all of the proc calls to things like set_vehicle_dir_layer() that a type of riding datum needs to call on creation

+

The original riding component had these procs all called from the ridden object itself through the use of GetComponent() and LoadComponent() +This was obviously problematic for componentization, but while lots of the variables being set were able to be moved to component variables, +the proc calls couldn't be. Thus, anything that has to do an initial proc call should be handled here.

handle_vehicle_layer +

+

Some ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs

keycheck +

+

This proc is used to see if we have the appropriate key to drive this atom, if such a key is needed. Returns FALSE if we don't have what we need to drive.

+

Still needs to be neatened up and spruced up with proper OOP, as a result of vehicles having their own key handling from other ridable atoms

on_movement_type_trait_gain +

+

Called when our vehicle gains a movement trait, so we can apply it to the riders

on_movement_type_trait_loss +

+

Called when our vehicle loses a movement trait, so we can remove it from the riders

on_rider_try_pull +

+

This proc is called when the rider attempts to grab the thing they're riding, preventing them from doing so.

ride_check +

+

Check to see if we have all of the necessary bodyparts and not-falling-over statuses we need to stay onboard. +If not and if consequences is TRUE, well, there'll be consequences.

riding_can_z_move +

+

Extra checks before buckled.can_z_move can be called in mob/living/can_z_move()

unequip_buckle_inhands +

+

currently replicated from ridable because we need this behavior here too, see if we can deal with that

vehicle_bump +

+

So we can check all occupants when we bump a door to see if anyone has access

vehicle_mob_buckle +

+

This proc is called when a rider buckles, allowing for offsets to be set properly

vehicle_mob_unbuckle +

+

This proc is called when a rider unbuckles, whether they chose to or not. If there's no more riders, this will be the riding component's death knell.

vehicle_moved +

+

This is called after the ridden atom is successfully moved and is used to handle icon stuff

vehicle_turned +

+

Turning is like moving

+ + + diff --git a/datum/component/riding/creature.html b/datum/component/riding/creature.html new file mode 100644 index 00000000000..fd2da4fc04a --- /dev/null +++ b/datum/component/riding/creature.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/riding/creature - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

creature + + + +

+ + + + + + + + + +

Vars

blacklist_abilitieslist of blacklisted abilities that cant be shared
can_be_drivenIf TRUE, this creature's movements can be controlled by the rider while mounted (as opposed to riding cyborgs and humans, which is passive)
can_use_abilitiesIf TRUE, this creature's abilities can be triggered by the rider while mounted

Procs

check_emoteIf we're a cyborg or animal and we spin, we yeet whoever's on us off us
force_dismountYeets the rider off, used for animals and cyborgs, redefined for humans who shove their piggyback rider off
log_ridingCreatures need to be logged when being mounted
remove_abilitiesTakes away the riding parent's abilities from the rider
setup_abilitiesIf the ridden creature has abilities, and some var yet to be made is set to TRUE, the rider will be able to control those abilities
+

Var Details

blacklist_abilities + + + + +

+

list of blacklisted abilities that cant be shared

can_be_driven + + + + +

+

If TRUE, this creature's movements can be controlled by the rider while mounted (as opposed to riding cyborgs and humans, which is passive)

can_use_abilities + + + + +

+

If TRUE, this creature's abilities can be triggered by the rider while mounted

Proc Details

check_emote +

+

If we're a cyborg or animal and we spin, we yeet whoever's on us off us

force_dismount +

+

Yeets the rider off, used for animals and cyborgs, redefined for humans who shove their piggyback rider off

log_riding +

+

Creatures need to be logged when being mounted

remove_abilities +

+

Takes away the riding parent's abilities from the rider

setup_abilities +

+

If the ridden creature has abilities, and some var yet to be made is set to TRUE, the rider will be able to control those abilities

+ + + diff --git a/datum/component/riding/creature/human.html b/datum/component/riding/creature/human.html new file mode 100644 index 00000000000..f577feda75d --- /dev/null +++ b/datum/component/riding/creature/human.html @@ -0,0 +1,42 @@ + + + + + + + /datum/component/riding/creature/human - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

human + + + +

+ +

Yes, I said humans. No, this won't end well...

+ +

Procs

check_carrier_fall_overIf the carrier gets knocked over, force the rider(s) off and see if someone got hurt
on_host_unarmed_meleeIf the carrier shoves the person they're carrying, force the carried mob off

Proc Details

check_carrier_fall_over +

+

If the carrier gets knocked over, force the rider(s) off and see if someone got hurt

on_host_unarmed_melee +

+

If the carrier shoves the person they're carrying, force the carried mob off

+ + + diff --git a/datum/component/riding/vehicle.html b/datum/component/riding/vehicle.html new file mode 100644 index 00000000000..82c5af57357 --- /dev/null +++ b/datum/component/riding/vehicle.html @@ -0,0 +1,35 @@ + + + + + + + /datum/component/riding/vehicle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

vehicle + + + +

+ + +

Procs

handle_rideThis handles the actual movement for vehicles once /datum/component/riding/vehicle/proc/driver_move has given us the green light

Proc Details

handle_ride +

+

This handles the actual movement for vehicles once /datum/component/riding/vehicle/proc/driver_move has given us the green light

+ + + diff --git a/datum/component/rot.html b/datum/component/rot.html new file mode 100644 index 00000000000..003ff9ce330 --- /dev/null +++ b/datum/component/rot.html @@ -0,0 +1,99 @@ + + + + + + + /datum/component/rot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rot + + + +

+ +

Makes a thing rotting, carries with it a start delay and some things that can halt the rot, along with infection logic

+ + + + + + + + + +

Vars

activeIs the component active right now?
blockersBitfield of sources preventing the component from rotting
scaling_delayThe time in ticks before a rot component reaches its full effectiveness
start_delayThe delay in ticks between the start of rot and effects kicking in
start_timeThe time we were created, allows for cheese smell
strengthHow strong is the rot? used for scaling different aspects of the component. Between 0 and 1

Procs

on_enteredTriggered when something enters the component's parent.
restOne of two procs that modifies blockers, this one handles adding a blocker and potentially ending the rot
rot_reactThe main bit of logic for the rot component, does a temperature check and has a chance to infect react_to
start_upOne of two procs that modifies blockers, this one handles removing a blocker and potentially restarting the rot
+

Var Details

active + + + + +

+

Is the component active right now?

blockers + + + + +

+

Bitfield of sources preventing the component from rotting

scaling_delay + + + + +

+

The time in ticks before a rot component reaches its full effectiveness

start_delay + + + + +

+

The delay in ticks between the start of rot and effects kicking in

start_time + + + + +

+

The time we were created, allows for cheese smell

strength + + + + +

+

How strong is the rot? used for scaling different aspects of the component. Between 0 and 1

Proc Details

on_entered +

+

Triggered when something enters the component's parent.

rest +

+

One of two procs that modifies blockers, this one handles adding a blocker and potentially ending the rot

rot_react +

+

The main bit of logic for the rot component, does a temperature check and has a chance to infect react_to

start_up +

+

One of two procs that modifies blockers, this one handles removing a blocker and potentially restarting the rot

+ + + diff --git a/datum/component/scope.html b/datum/component/scope.html new file mode 100644 index 00000000000..f2476282661 --- /dev/null +++ b/datum/component/scope.html @@ -0,0 +1,101 @@ + + + + + + + /datum/component/scope - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scope + + + +

+ + + + + + + + + +

Vars

range_modifierHow far we can extend, with modifier of 1, up to our vision edge, higher numbers multiply.
trackerFullscreen object we use for tracking the shots.
tracker_owner_ckeyThe owner of the tracker's ckey. For comparing with the current owner mob, in case the client has left it (e.g. ghosted).
zoomingAre we zooming currently?

Procs

get_targetWe find and return the best target to hit on a given turf.
start_zoomingWrapper for zoom(), so in case we runtime we do not get stuck in a bad state
stop_zoomingWe stop zooming, canceling processing, resetting stuff back to normal and deleting our tracker.
zoomWe start zooming by hiding the mouse pointer, adding our tracker overlay and starting our processing.
+

Var Details

range_modifier + + + + +

+

How far we can extend, with modifier of 1, up to our vision edge, higher numbers multiply.

tracker + + + + +

+

Fullscreen object we use for tracking the shots.

tracker_owner_ckey + + + + +

+

The owner of the tracker's ckey. For comparing with the current owner mob, in case the client has left it (e.g. ghosted).

zooming + + + + +

+

Are we zooming currently?

Proc Details

get_target +

+

We find and return the best target to hit on a given turf.

+

Arguments:

+

start_zooming +

+

Wrapper for zoom(), so in case we runtime we do not get stuck in a bad state

+

Arguments:

+

stop_zooming +

+

We stop zooming, canceling processing, resetting stuff back to normal and deleting our tracker.

+

Arguments:

+

zoom +

+

We start zooming by hiding the mouse pointer, adding our tracker overlay and starting our processing.

+

Arguments:

+
+ + + diff --git a/datum/component/seclite_attachable.html b/datum/component/seclite_attachable.html new file mode 100644 index 00000000000..9b7a11ef38b --- /dev/null +++ b/datum/component/seclite_attachable.html @@ -0,0 +1,206 @@ + + + + + + + /datum/component/seclite_attachable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

seclite_attachable + + + +

+ +

Component which allows you to attach a seclight to an item, +be it a piece of clothing or a tool.

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

is_light_removableWhether we can remove the light with a screwdriver or not.
lightA reference to the actual light that's attached.
light_icon_stateIf passed, we wil simply update our item's icon_state when a light is attached. +Formatted as parent_base_state-[light_icon-state]-"on"
light_overlayThe state to take from the light overlay icon if supplied.
light_overlay_iconIf passed, we will add overlays to the item when a light is attached. +This is the icon file it grabs the overlay from.
overlay_xThe X offset of our overlay if supplied.
overlay_yThe Y offset of our overlay if supplied.
toggle_action_refA weakref to the item action we add with the light.
valid_lightsStatic typecache of all lights we consider seclites (all lights we can attach).

Procs

add_lightSets a new light as our current light for our parent.
on_action_clickSignal proc for COMSIG_ITEM_UI_ACTION_CLICK that toggles our light on and off if our action button is clicked.
on_attackbySignal proc for COMSIG_ATOM_ATTACKBY that allows a user to attach a seclite by hitting our parent with it.
on_examineSignal proc for COMSIG_ATOM_EXAMINE that shows our item can have / does have a seclite attached.
on_light_exitSignal proc for COMSIG_ATOM_EXITED that handles our light being removed or deleted from our parent.
on_parent_deconstructedSignal proc for COMSIG_OBJ_DECONSTRUCT that drops our light to the ground if our parent is deconstructed.
on_parent_deletedSignal proc for COMSIG_QDELETING that deletes our light if our parent is deleted.
on_saboteurSignal proc for COMSIG_HIT_BY_SABOTEUR that turns the light off for a few seconds.
on_screwdriverSignal proc for COMSIG_ATOM_TOOL_ACT via [TOOL_SCREWDRIVER] that removes any attached seclite.
on_update_icon_stateSignal proc for COMSIG_ATOM_UPDATE_ICON_STATE that updates our parent's icon state, if we have one.
on_update_overlaysSignal proc for COMSIG_ATOM_UPDATE_OVERLAYS that updates our parent with our seclite overlays, if we have some.
remove_lightRemoves the current light from our parent.
toggle_lightToggles the light within on or off. +Returns TRUE if there is a light inside, FALSE otherwise.
unscrew_lightInvoked asyncronously from [proc/on_screwdriver]. Handles removing the light from our parent.
update_lightCalled after the a light is added, removed, or toggles. +Ensures all of our appearances look correct for the new light state.
+

Var Details

is_light_removable + + + + +

+

Whether we can remove the light with a screwdriver or not.

light + + + + +

+

A reference to the actual light that's attached.

light_icon_state + + + + +

+

If passed, we wil simply update our item's icon_state when a light is attached. +Formatted as parent_base_state-[light_icon-state]-"on"

light_overlay + + + + +

+

The state to take from the light overlay icon if supplied.

light_overlay_icon + + + + +

+

If passed, we will add overlays to the item when a light is attached. +This is the icon file it grabs the overlay from.

overlay_x + + + + +

+

The X offset of our overlay if supplied.

overlay_y + + + + +

+

The Y offset of our overlay if supplied.

toggle_action_ref + + + + +

+

A weakref to the item action we add with the light.

valid_lights + + + + +

+

Static typecache of all lights we consider seclites (all lights we can attach).

Proc Details

add_light +

+

Sets a new light as our current light for our parent.

on_action_click +

+

Signal proc for COMSIG_ITEM_UI_ACTION_CLICK that toggles our light on and off if our action button is clicked.

on_attackby +

+

Signal proc for COMSIG_ATOM_ATTACKBY that allows a user to attach a seclite by hitting our parent with it.

on_examine +

+

Signal proc for COMSIG_ATOM_EXAMINE that shows our item can have / does have a seclite attached.

on_light_exit +

+

Signal proc for COMSIG_ATOM_EXITED that handles our light being removed or deleted from our parent.

on_parent_deconstructed +

+

Signal proc for COMSIG_OBJ_DECONSTRUCT that drops our light to the ground if our parent is deconstructed.

on_parent_deleted +

+

Signal proc for COMSIG_QDELETING that deletes our light if our parent is deleted.

on_saboteur +

+

Signal proc for COMSIG_HIT_BY_SABOTEUR that turns the light off for a few seconds.

on_screwdriver +

+

Signal proc for COMSIG_ATOM_TOOL_ACT via [TOOL_SCREWDRIVER] that removes any attached seclite.

on_update_icon_state +

+

Signal proc for COMSIG_ATOM_UPDATE_ICON_STATE that updates our parent's icon state, if we have one.

on_update_overlays +

+

Signal proc for COMSIG_ATOM_UPDATE_OVERLAYS that updates our parent with our seclite overlays, if we have some.

remove_light +

+

Removes the current light from our parent.

toggle_light +

+

Toggles the light within on or off. +Returns TRUE if there is a light inside, FALSE otherwise.

unscrew_light +

+

Invoked asyncronously from [proc/on_screwdriver]. Handles removing the light from our parent.

update_light +

+

Called after the a light is added, removed, or toggles. +Ensures all of our appearances look correct for the new light state.

+ + + diff --git a/datum/component/sect_nullrod_bonus.html b/datum/component/sect_nullrod_bonus.html new file mode 100644 index 00000000000..cd3a590fb35 --- /dev/null +++ b/datum/component/sect_nullrod_bonus.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/sect_nullrod_bonus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sect_nullrod_bonus + + + +

+ +

sect nullrod bonus component; for sekret rite combos

+

Good example is the bow and pyre sect. pick the bow, get a special rite in the pyre sect.

+ +

Vars

bonus_appliedhas this component given the bonus yet
bonus_ritesassoc list of nullrod type -> rites it unlocks
+

Var Details

bonus_applied + + + + +

+

has this component given the bonus yet

bonus_rites + + + + +

+

assoc list of nullrod type -> rites it unlocks

+ + + diff --git a/datum/component/security_vision.html b/datum/component/security_vision.html new file mode 100644 index 00000000000..1802f21de7d --- /dev/null +++ b/datum/component/security_vision.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/security_vision - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

security_vision + + + +

+ +

This component allows you to judge someone's level of criminal activity by examining them

+ + +

Vars

judgement_criteriaBitfield containing what things we want to judge based upon
update_judgement_criteriaOptional callback which will modify the value of judgement_criteria before we make the check

Procs

on_examiningWhen we examine something, check if we have any extra data to add
+

Var Details

judgement_criteria + + + + +

+

Bitfield containing what things we want to judge based upon

update_judgement_criteria + + + + +

+

Optional callback which will modify the value of judgement_criteria before we make the check

Proc Details

on_examining +

+

When we examine something, check if we have any extra data to add

+ + + diff --git a/datum/component/seethrough.html b/datum/component/seethrough.html new file mode 100644 index 00000000000..a04de04db5e --- /dev/null +++ b/datum/component/seethrough.html @@ -0,0 +1,134 @@ + + + + + + + /datum/component/seethrough - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

seethrough + + + +

+ +

A component that lets you turn an object invisible when you're standing on certain relative turfs to it, like behind a tree

+ + + + + + + + + + + + + + +

Vars

animation_timeHow long our fase in/out takes
clickthroughDoes this object let clicks from players its transparent to pass through it
perimeter_reset_timerAfter we somehow moved (because ss13 is godless and does not respect anything), how long do we need to stand still to feel safe to setup our "behind" area again
relative_turf_coordsList of lists that represent relative coordinates to the source atom
target_alphaWhich alpha do we animate towards?
tricked_mobsAssociate list, with client = trickery_image. Track which client is being tricked with which image
watched_turfsA list of turfs on which we make ourself transparent

Procs

Initializesee_through_map is a define pointing to a specific map. It's basically defining the area which is considered behind. See see_through_maps.dm for a list of maps
clear_imageRemove a screen image from a client
dismantle_perimeterUnrout ourselves after we somehow moved, and start a timer so we can re-restablish our behind area after standing still for a bit
on_client_disconnectImage is removed when they log out because client gets deleted, so drop the mob reference
on_enteredSomeone entered one of our tiles, so sent an override overlay and a cute animation to make us fade out a bit
on_exitedRemove the screen object and make us appear solid to the client again
setup_perimeterLoop through a list with relative coordinate lists to mark those tiles and hide our parent when someone enters those tiles
trick_mobApply the trickery image and animation
+

Var Details

animation_time + + + + +

+

How long our fase in/out takes

clickthrough + + + + +

+

Does this object let clicks from players its transparent to pass through it

perimeter_reset_timer + + + + +

+

After we somehow moved (because ss13 is godless and does not respect anything), how long do we need to stand still to feel safe to setup our "behind" area again

relative_turf_coords + + + + +

+

List of lists that represent relative coordinates to the source atom

target_alpha + + + + +

+

Which alpha do we animate towards?

tricked_mobs + + + + +

+

Associate list, with client = trickery_image. Track which client is being tricked with which image

watched_turfs + + + + +

+

A list of turfs on which we make ourself transparent

Proc Details

Initialize +

+

see_through_map is a define pointing to a specific map. It's basically defining the area which is considered behind. See see_through_maps.dm for a list of maps

clear_image +

+

Remove a screen image from a client

dismantle_perimeter +

+

Unrout ourselves after we somehow moved, and start a timer so we can re-restablish our behind area after standing still for a bit

on_client_disconnect +

+

Image is removed when they log out because client gets deleted, so drop the mob reference

on_entered +

+

Someone entered one of our tiles, so sent an override overlay and a cute animation to make us fade out a bit

on_exited +

+

Remove the screen object and make us appear solid to the client again

setup_perimeter +

+

Loop through a list with relative coordinate lists to mark those tiles and hide our parent when someone enters those tiles

trick_mob +

+

Apply the trickery image and animation

+ + + diff --git a/datum/component/seethrough_mob.html b/datum/component/seethrough_mob.html new file mode 100644 index 00000000000..8783828dade --- /dev/null +++ b/datum/component/seethrough_mob.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/seethrough_mob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

seethrough_mob + + + +

+ +

A component that lets you turn your character transparent in order to see and click through yourself.

+ + + + + + + + + + + +

Vars

animation_timeHow long our faze in/out takes
clickthroughDoes this object let clicks from players its transparent to pass through it
initial_render_target_valueThe mob's original render_target value
is_activeIs the seethrough effect currently active
personal_uidThis component's personal uid
render_source_atomThe atom that enables our dark magic
target_alphaWhich alpha do we animate towards?
trickery_imageThe fake version of ourselves

Procs

clear_imageRemove the image and the trick atom
on_client_disconnectEffect is disabled when they log out because client gets deleted
trick_mobSet up everything we need to trick the client and keep it looking normal for everyone else
untrick_mobRemove the screen object and make us appear solid to ourselves again
+

Var Details

animation_time + + + + +

+

How long our faze in/out takes

clickthrough + + + + +

+

Does this object let clicks from players its transparent to pass through it

initial_render_target_value + + + + +

+

The mob's original render_target value

is_active + + + + +

+

Is the seethrough effect currently active

personal_uid + + + + +

+

This component's personal uid

render_source_atom + + + + +

+

The atom that enables our dark magic

target_alpha + + + + +

+

Which alpha do we animate towards?

trickery_image + + + + +

+

The fake version of ourselves

Proc Details

clear_image +

+

Remove the image and the trick atom

on_client_disconnect +

+

Effect is disabled when they log out because client gets deleted

trick_mob +

+

Set up everything we need to trick the client and keep it looking normal for everyone else

untrick_mob +

+

Remove the screen object and make us appear solid to ourselves again

+ + + diff --git a/datum/component/shell.html b/datum/component/shell.html new file mode 100644 index 00000000000..e938f152f59 --- /dev/null +++ b/datum/component/shell.html @@ -0,0 +1,154 @@ + + + + + + + /datum/component/shell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shell + + + +

+ +

Makes an atom a shell that is able to take in an attached circuit.

+ + + + + + + + + + + + + + + + +

Vars

attached_circuitThe circuitboard attached to this shell
capacityThe capacity of the shell.
lockedWhether the shell is locked or not
max_power_use_in_minuteThe maximum power that the shell can use in a minute before entering overheating and destroying itself.
power_used_cooldownThe cooldown time to reset the power_used_in_minute to 0
power_used_in_minuteThe amount of power used in the last minute
shell_flagsFlags containing what this shell can do
unremovable_circuit_componentsA list of components that cannot be removed

Procs

attach_circuitAttaches a circuit to the parent. Doesn't do any checks to see for any existing circuits so that should be done beforehand.
is_authorizedDetermines if a user is authorized to see the existance of this shell. Returns false if they are not
on_attack_byCalled when an item hits the parent. This is the method to add the circuitboard to the component.
on_circuit_deleteChecks for when the circuitboard deletes so that it can be unassigned.
on_circuit_movedChecks for when the circuitboard moves. If it moves, removes it from the component.
on_screwdriver_actCalled when a screwdriver is used on the parent. Removes the circuitboard from the component.
on_set_anchoredCalled when the shell is anchored.
remove_circuitRemoves the circuit from the component. Doesn't do any checks to see for an existing circuit so that should be done beforehand.
set_lockedSets whether the shell is locked or not
+

Var Details

attached_circuit + + + + +

+

The circuitboard attached to this shell

capacity + + + + +

+

The capacity of the shell.

locked + + + + +

+

Whether the shell is locked or not

max_power_use_in_minute + + + + +

+

The maximum power that the shell can use in a minute before entering overheating and destroying itself.

power_used_cooldown + + + + +

+

The cooldown time to reset the power_used_in_minute to 0

power_used_in_minute + + + + +

+

The amount of power used in the last minute

shell_flags + + + + +

+

Flags containing what this shell can do

unremovable_circuit_components + + + + +

+

A list of components that cannot be removed

Proc Details

attach_circuit +

+

Attaches a circuit to the parent. Doesn't do any checks to see for any existing circuits so that should be done beforehand.

is_authorized +

+

Determines if a user is authorized to see the existance of this shell. Returns false if they are not

+

Arguments:

+

on_attack_by +

+

Called when an item hits the parent. This is the method to add the circuitboard to the component.

on_circuit_delete +

+

Checks for when the circuitboard deletes so that it can be unassigned.

on_circuit_moved +

+

Checks for when the circuitboard moves. If it moves, removes it from the component.

on_screwdriver_act +

+

Called when a screwdriver is used on the parent. Removes the circuitboard from the component.

on_set_anchored +

+

Called when the shell is anchored.

+

Only applies if the shell has SHELL_FLAG_REQUIRE_ANCHOR. +Disables the integrated circuit if unanchored, otherwise enable the circuit.

remove_circuit +

+

Removes the circuit from the component. Doesn't do any checks to see for an existing circuit so that should be done beforehand.

set_locked +

+

Sets whether the shell is locked or not

+ + + diff --git a/datum/component/shielded.html b/datum/component/shielded.html new file mode 100644 index 00000000000..5eee0a179e6 --- /dev/null +++ b/datum/component/shielded.html @@ -0,0 +1,178 @@ + + + + + + + /datum/component/shielded - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shielded + + + +

+ +

The shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.

+ + + + + + + + + + + + + + + + + + + + +

Vars

charge_add_cdThe cooldown tracking when we last replenished a charge
charge_increment_delayOnce we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes
charge_recoveryHow many charges we recover on each charge increment
current_chargesHow many charges we currently have
lose_multiple_chargesShould the shield lose charges equal to the damage dealt by a hit?
max_chargesHow many charges we can have max, and how many we start with
on_hit_effectsA callback for the sparks/message that play when a charge is used, see /datum/component/shielded/proc/default_run_hit_callback
recently_hit_cdThe cooldown tracking when we were last hit
recharge_pathThe item we use for recharging
recharge_start_delayHow long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges
shield_iconWhat icon is used when someone has a functional shield up
shield_icon_fileWhat .dmi we're pulling the shield icon from
shield_inhandDo we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work
show_charge_as_alphaShould the shield's alpha change to show its remaining charge
wearerThe person currently wearing us

Procs

actually_run_hit_callbackThe wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler
default_run_hit_callbackDefault on_hit proc, since cult robes are stupid and have different descriptions/sparks
lost_wearerEither we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem
on_equippedCheck if we've been equipped to a valid slot to shield
on_hit_reactThis proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. +It then runs the callback in /datum/component/shielded/var/on_hit_effects which handles the messages/sparks (so the visuals)
on_update_overlaysUsed to draw the shield overlay on the wearer
+

Var Details

charge_add_cd + + + + +

+

The cooldown tracking when we last replenished a charge

charge_increment_delay + + + + +

+

Once we go unhit long enough to recharge, we replenish charges this often. The floor is effectively 1 second, AKA how often SSdcs processes

charge_recovery + + + + +

+

How many charges we recover on each charge increment

current_charges + + + + +

+

How many charges we currently have

lose_multiple_charges + + + + +

+

Should the shield lose charges equal to the damage dealt by a hit?

max_charges + + + + +

+

How many charges we can have max, and how many we start with

on_hit_effects + + + + +

+

A callback for the sparks/message that play when a charge is used, see /datum/component/shielded/proc/default_run_hit_callback

recently_hit_cd + + + + +

+

The cooldown tracking when we were last hit

recharge_path + + + + +

+

The item we use for recharging

recharge_start_delay + + + + +

+

How long we have to avoid being hit to replenish charges. If set to 0, we never recharge lost charges

shield_icon + + + + +

+

What icon is used when someone has a functional shield up

shield_icon_file + + + + +

+

What .dmi we're pulling the shield icon from

shield_inhand + + + + +

+

Do we still shield if we're being held in-hand? If FALSE, it needs to be equipped to a slot to work

show_charge_as_alpha + + + + +

+

Should the shield's alpha change to show its remaining charge

wearer + + + + +

+

The person currently wearing us

Proc Details

actually_run_hit_callback +

+

The wrapper to invoke the on_hit callback, so we don't have to worry about blocking in the signal handler

default_run_hit_callback +

+

Default on_hit proc, since cult robes are stupid and have different descriptions/sparks

lost_wearer +

+

Either we've been dropped or our wearer has been QDEL'd. Either way, they're no longer our problem

on_equipped +

+

Check if we've been equipped to a valid slot to shield

on_hit_react +

+

This proc fires when we're hit, and is responsible for checking if we're charged, then deducting one + returning that we're blocking if so. +It then runs the callback in /datum/component/shielded/var/on_hit_effects which handles the messages/sparks (so the visuals)

on_update_overlays +

+

Used to draw the shield overlay on the wearer

+ + + diff --git a/datum/component/shovel_hands.html b/datum/component/shovel_hands.html new file mode 100644 index 00000000000..3496bad81a9 --- /dev/null +++ b/datum/component/shovel_hands.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/shovel_hands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shovel_hands + + + +

+ +

This component lets mobs dig up the floor with their bare hands

+ + +

Vars

internal_shovelIt's a lie, they're actually just using a shovel

Procs

digCalled when you click on literally anything with your hands
shovel_destroyedDon't know how the fuck this happened but I guess you can't dig any more
+

Var Details

internal_shovel + + + + +

+

It's a lie, they're actually just using a shovel

Proc Details

dig +

+

Called when you click on literally anything with your hands

shovel_destroyed +

+

Don't know how the fuck this happened but I guess you can't dig any more

+ + + diff --git a/datum/component/shuttle_cling.html b/datum/component/shuttle_cling.html new file mode 100644 index 00000000000..1fd1d9dbc79 --- /dev/null +++ b/datum/component/shuttle_cling.html @@ -0,0 +1,116 @@ + + + + + + + /datum/component/shuttle_cling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_cling + + + +

+ +

Gets added to all movables that enter hyperspace and are supposed to suffer from "hyperspace drift" +This lets people fly around shuttles during transit using jetpacks, or cling to the side if they got a spacesuit +Dumping into deepspace is handled by the hyperspace turf, not the component. +Not giving something this component while on hyperspace is safe, it just means free movement like carps

+ + + + + + + + + + + +

Vars

clinging_move_delayIf we can "hold on", how often do we move?
directionThe direction we push stuff towards
hyperloopOur moveloop, handles the transit pull
hyperspace_typePath to the hyperspace tile, so we know if we're in hyperspace
not_clinging_move_delayIf we can't hold onto anything, how fast do we get pulled away?

Procs

do_removeThis is just for signals and doesn't run for most removals, so dont add behaviour here expecting it to do much
is_holding_onCheck if we're "holding on" to the shuttle
is_on_hyperspaceAre we on a hyperspace tile? There's some special bullshit with lattices so we just wrap this check
is_tile_solidCheck if it's a closed turf or contains a dense object
launch_very_hardLaunch the atom very hard, away from hyperspace
update_drift_directionCheck if we arent just being blocked, and if we are give us some diagonal push so we cant just infinitely cling to the front
update_stateCheck if we're in hyperspace and our state in hyperspace
+

Var Details

clinging_move_delay + + + + +

+

If we can "hold on", how often do we move?

direction + + + + +

+

The direction we push stuff towards

hyperloop + + + + +

+

Our moveloop, handles the transit pull

hyperspace_type + + + + +

+

Path to the hyperspace tile, so we know if we're in hyperspace

not_clinging_move_delay + + + + +

+

If we can't hold onto anything, how fast do we get pulled away?

Proc Details

do_remove +

+

This is just for signals and doesn't run for most removals, so dont add behaviour here expecting it to do much

is_holding_on +

+

Check if we're "holding on" to the shuttle

is_on_hyperspace +

+

Are we on a hyperspace tile? There's some special bullshit with lattices so we just wrap this check

is_tile_solid +

+

Check if it's a closed turf or contains a dense object

launch_very_hard +

+

Launch the atom very hard, away from hyperspace

update_drift_direction +

+

Check if we arent just being blocked, and if we are give us some diagonal push so we cant just infinitely cling to the front

update_state +

+

Check if we're in hyperspace and our state in hyperspace

+ + + diff --git a/datum/component/shy.html b/datum/component/shy.html new file mode 100644 index 00000000000..3c96f909a79 --- /dev/null +++ b/datum/component/shy.html @@ -0,0 +1,106 @@ + + + + + + + /datum/component/shy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shy + + + +

+ +

You can't use items on anyone other than yourself if there are other living mobs around you

+ + + + + + + + + + +

Vars

clientless_shyAre you shy around bodies with no client?
dead_shyAre you shy around a dead body?
dead_shy_immediateIf dead_shy is false and this is true, you're only shy when right next to a dead target
keyless_shyAre you shy around bodies with no key?
last_resultWhat was our last result?
machine_whitelistTypecache of machines you can avoid being shy with
messageMessage shown when you are is_shy
mob_whitelistTypecache of mob types you are okay around
result_cooldownInvalidate last_result at this time
shy_rangeHow close you are before you get shy

Procs

is_shyReturns TRUE or FALSE if you are within shy_range tiles from a /mob/living
+

Var Details

clientless_shy + + + + +

+

Are you shy around bodies with no client?

dead_shy + + + + +

+

Are you shy around a dead body?

dead_shy_immediate + + + + +

+

If dead_shy is false and this is true, you're only shy when right next to a dead target

keyless_shy + + + + +

+

Are you shy around bodies with no key?

last_result + + + + +

+

What was our last result?

machine_whitelist + + + + +

+

Typecache of machines you can avoid being shy with

message + + + + +

+

Message shown when you are is_shy

mob_whitelist + + + + +

+

Typecache of mob types you are okay around

result_cooldown + + + + +

+

Invalidate last_result at this time

shy_range + + + + +

+

How close you are before you get shy

Proc Details

is_shy +

+

Returns TRUE or FALSE if you are within shy_range tiles from a /mob/living

+ + + diff --git a/datum/component/shy_in_room.html b/datum/component/shy_in_room.html new file mode 100644 index 00000000000..3ab9379c397 --- /dev/null +++ b/datum/component/shy_in_room.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/shy_in_room - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shy_in_room + + + +

+ +

You can't use items on anyone other than yourself if you stand in a blacklisted room

+ + + +

Vars

blacklistTypecache of areas you can't stand
messageMessage shown when you are in a blacklisted room

Procs

Initialize_blacklist, and _message map to vars
is_shyReturns TRUE or FALSE if you are in a blacklisted area
+

Var Details

blacklist + + + + +

+

Typecache of areas you can't stand

message + + + + +

+

Message shown when you are in a blacklisted room

Proc Details

Initialize +

+

_blacklist, and _message map to vars

is_shy +

+

Returns TRUE or FALSE if you are in a blacklisted area

+ + + diff --git a/datum/component/sign_language.html b/datum/component/sign_language.html new file mode 100644 index 00000000000..c7d76c711f1 --- /dev/null +++ b/datum/component/sign_language.html @@ -0,0 +1,191 @@ + + + + + + + /datum/component/sign_language - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sign_language + + + +

+ +

Reactive Sign Language Component for Carbons. Allows Carbons to speak with sign language if they have the relevant traits. +Implements sign language by incrementally overriding several critical functions, variables, and argument lists.

+

High-Level Theory of Operation:

+
    +
  1. Component is added to a Carbon via AddComponent.
  2. +
  3. Component grants sign language action to its parent, which adds and removes TRAIT_SIGN_LANG.
  4. +
  5. Component reacts to addition and removal of TRAIT_SIGN_LANG in parent:
  6. +
  7. If TRAIT_SIGN_LANG is added, then enable sign language. Listen for speech signals and modify the mob's speech, say_mod verbs, and typing indicator.
  8. +
  9. If TRAIT_SIGN_LANG is removed, then disable sign language. Unregister from speech signals and reset the mob's speech, say_mob verbs, and typing indicator.
  10. +
+ + + + + + + + + + + + + + + + + +

Vars

linked_actionThe action for toggling sign language.
omissionsAny symbols to sanitize from signed messages.
tonal_indicatorThe tonal indicator shown when sign language users finish sending a message. If it's empty, none appears.
tonal_timeridThe timerid for our sign language tonal indicator.

Procs

can_cast_spellCheck if we can sign the given spell
check_signables_stateChecks to see what state this person is in and if they are able to sign or not.
disable_sign_languageSignal handler for [COMSIG_SIGNLANGUAGE_DISABLE] +Disables signing for the parent Carbon, allowing them to speak vocally. +This proc is only called directly after TRAIT_SIGN_LANG is removed from the Carbon.
enable_sign_languageSignal handler for [COMSIG_SIGNLANGUAGE_ENABLE] +Enables signing for the parent Carbon, stopping them from speaking vocally. +This proc is only called directly after TRAIT_SIGN_LANG is added to the Carbon.
on_added_organSignal proc for COMSIG_CARBON_GAIN_ORGAN +Applies the new say mod to any tongues that have appeared!
on_sayReplaces emphatic punctuation with periods. Changes tonal indicator and emotes eyebrow movement based on what is typed.
on_say_quoteSignal proc for COMSIG_MOVABLE_SAY_QUOTE +Removes exclamation/question marks.
on_treat_living_messageSignal proc for COMSIG_LIVING_TREAT_MESSAGE +Stars out our message if we only have 1 hand free.
on_try_speechSignal proc for COMSIG_LIVING_TRY_SPEECH +Sign languagers can always speak regardless of they're mute (as long as they're not mimes)
on_using_radioSignal proc for COMSIG_MOVABLE_USING_RADIO +Disallows us from speaking on comms if we don't have the special trait.
remove_tonal_indicatorRemoves the tonal indicator overlay completely
sanitize_messageReplace specific characters in the input string with periods.
+

Var Details

linked_action + + + + +

+

The action for toggling sign language.

omissions + + + + +

+

Any symbols to sanitize from signed messages.

tonal_indicator + + + + +

+

The tonal indicator shown when sign language users finish sending a message. If it's empty, none appears.

tonal_timerid + + + + +

+

The timerid for our sign language tonal indicator.

Proc Details

can_cast_spell +

+

Check if we can sign the given spell

+

Checks to make sure the spell is not a mime spell, and that we are able to physically cast the spell. +Arguments:

+

check_signables_state +

+

Checks to see what state this person is in and if they are able to sign or not.

disable_sign_language +

+

Signal handler for [COMSIG_SIGNLANGUAGE_DISABLE] +Disables signing for the parent Carbon, allowing them to speak vocally. +This proc is only called directly after TRAIT_SIGN_LANG is removed from the Carbon.

enable_sign_language +

+

Signal handler for [COMSIG_SIGNLANGUAGE_ENABLE] +Enables signing for the parent Carbon, stopping them from speaking vocally. +This proc is only called directly after TRAIT_SIGN_LANG is added to the Carbon.

on_added_organ +

+

Signal proc for COMSIG_CARBON_GAIN_ORGAN +Applies the new say mod to any tongues that have appeared!

on_say +

+

Replaces emphatic punctuation with periods. Changes tonal indicator and emotes eyebrow movement based on what is typed.

on_say_quote +

+

Signal proc for COMSIG_MOVABLE_SAY_QUOTE +Removes exclamation/question marks.

on_treat_living_message +

+

Signal proc for COMSIG_LIVING_TREAT_MESSAGE +Stars out our message if we only have 1 hand free.

on_try_speech +

+

Signal proc for COMSIG_LIVING_TRY_SPEECH +Sign languagers can always speak regardless of they're mute (as long as they're not mimes)

on_using_radio +

+

Signal proc for COMSIG_MOVABLE_USING_RADIO +Disallows us from speaking on comms if we don't have the special trait.

remove_tonal_indicator +

+

Removes the tonal indicator overlay completely

sanitize_message +

+

Replace specific characters in the input string with periods.

+ + + diff --git a/datum/component/simple_access.html b/datum/component/simple_access.html new file mode 100644 index 00000000000..283576948eb --- /dev/null +++ b/datum/component/simple_access.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/simple_access - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

simple_access + + + +

+ +

This component allows us to give a mob access without giving them an ID card.

+

Vars

accesslist of accesses we are allowed to access via this component
+

Var Details

access + + + + +

+

list of accesses we are allowed to access via this component

+ + + diff --git a/datum/component/simple_rotation.html b/datum/component/simple_rotation.html new file mode 100644 index 00000000000..14588e7e36b --- /dev/null +++ b/datum/component/simple_rotation.html @@ -0,0 +1,55 @@ + + + + + + + /datum/component/simple_rotation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

simple_rotation + + + +

+ + + + +

Vars

AfterRotationAdditional stuff to do after rotation
rotation_flagsRotation flags for special behavior

Procs

InitializeAdds the ability to rotate an object by Alt-click or using Right-click verbs.
+

Var Details

AfterRotation + + + + +

+

Additional stuff to do after rotation

rotation_flags + + + + +

+

Rotation flags for special behavior

Proc Details

Initialize +

+

Adds the ability to rotate an object by Alt-click or using Right-click verbs.

+

args:

+
+ + + diff --git a/datum/component/singularity.html b/datum/component/singularity.html new file mode 100644 index 00000000000..e9d2f47074e --- /dev/null +++ b/datum/component/singularity.html @@ -0,0 +1,167 @@ + + + + + + + /datum/component/singularity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

singularity + + + +

+ +

Things that maybe move around and does stuff to things around them +Used for the singularity (duh) and Nar'Sie

+ + + + + + + + + + + + + + + + + + +

Vars

bsa_targetableCan this singularity be BSA'd?
chance_to_move_to_targetWhat's the chance that, when a singularity moves, it'll go to its target?
consume_callbackCallback for consuming objects (for example, Nar'Sie replaces this to call narsie_act)
consume_rangeThe range to pull in stuff around it
disregard_failed_movementsShould we disregard the possibility of failed movements? Used by stage five singularities
drifting_dirThe chosen direction to drift in
grav_pullHow many tiles out to pull in
last_failed_movementThe last direction we failed to move in (for example: if we are contained)
notify_adminsShould the admins be alerted when this is created?
roamingDoes this singularity move?
singularity_sizeHow big is the singularity?
targetIf specified, the singularity will slowly move to this target
time_since_last_eatThe time that has elapsed since our last move/eat call
turfs_to_consumeList of turfs we have yet to consume, but need to

Procs

admin_investigate_setupLogs to admins that a singularity was created
bluespace_reactionFired when the singularity is fired at with the BSA and deletes it
check_turfs_inMakes sure we don't move out of the z-level by checking the turfs around us. +Takes in the direction we're going, and optionally how many steps forward to look. +If steps are not provided, it will be inferred by singularity_size.
default_singularity_actCalls singularity_act on the thing passed, usually destroying the object
on_enteredTriggered when something enters the component's parent.
+

Var Details

bsa_targetable + + + + +

+

Can this singularity be BSA'd?

chance_to_move_to_target + + + + +

+

What's the chance that, when a singularity moves, it'll go to its target?

consume_callback + + + + +

+

Callback for consuming objects (for example, Nar'Sie replaces this to call narsie_act)

consume_range + + + + +

+

The range to pull in stuff around it

disregard_failed_movements + + + + +

+

Should we disregard the possibility of failed movements? Used by stage five singularities

drifting_dir + + + + +

+

The chosen direction to drift in

grav_pull + + + + +

+

How many tiles out to pull in

last_failed_movement + + + + +

+

The last direction we failed to move in (for example: if we are contained)

notify_admins + + + + +

+

Should the admins be alerted when this is created?

roaming + + + + +

+

Does this singularity move?

singularity_size + + + + +

+

How big is the singularity?

target + + + + +

+

If specified, the singularity will slowly move to this target

time_since_last_eat + + + + +

+

The time that has elapsed since our last move/eat call

turfs_to_consume + + + + +

+

List of turfs we have yet to consume, but need to

Proc Details

admin_investigate_setup +

+

Logs to admins that a singularity was created

bluespace_reaction +

+

Fired when the singularity is fired at with the BSA and deletes it

check_turfs_in +

+

Makes sure we don't move out of the z-level by checking the turfs around us. +Takes in the direction we're going, and optionally how many steps forward to look. +If steps are not provided, it will be inferred by singularity_size.

default_singularity_act +

+

Calls singularity_act on the thing passed, usually destroying the object

on_entered +

+

Triggered when something enters the component's parent.

+ + + diff --git a/datum/component/singularity/bloodthirsty.html b/datum/component/singularity/bloodthirsty.html new file mode 100644 index 00000000000..be658b8b51b --- /dev/null +++ b/datum/component/singularity/bloodthirsty.html @@ -0,0 +1,42 @@ + + + + + + + /datum/component/singularity/bloodthirsty - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bloodthirsty + + + +

+ + + +

Procs

find_new_targetSearches the living list for the closest target, and begins chasing them down.
foreboding_nosebleedgives a little fluff warning that someone is being hunted.

Proc Details

find_new_target +

+

Searches the living list for the closest target, and begins chasing them down.

foreboding_nosebleed +

+

gives a little fluff warning that someone is being hunted.

+ + + diff --git a/datum/component/slapcrafting.html b/datum/component/slapcrafting.html new file mode 100644 index 00000000000..d4df7b289f9 --- /dev/null +++ b/datum/component/slapcrafting.html @@ -0,0 +1,56 @@ + + + + + + + /datum/component/slapcrafting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

slapcrafting + + + +

+ +

Slapcrafting component!

+ + +

Procs

InitializeSlapcraft component
get_examine_infoAlerts any examiners to the recipe, if they wish to know more.
get_examine_more_infoAlerts any examiners to the details of the recipe.

Proc Details

Initialize +

+

Slapcraft component

+

Slap it onto a item to be able to slapcraft with it

+

args:

+

get_examine_info +

+

Alerts any examiners to the recipe, if they wish to know more.

get_examine_more_info +

+

Alerts any examiners to the details of the recipe.

+ + + diff --git a/datum/component/slippery.html b/datum/component/slippery.html new file mode 100644 index 00000000000..9e9bd1e4944 --- /dev/null +++ b/datum/component/slippery.html @@ -0,0 +1,203 @@ + + + + + + + /datum/component/slippery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Slip behaviour component + + + +

+ +

Add this component to an object to make it a slippery object, slippery objects make mobs that cross them fall over. +Items with this component that get picked up may give their parent mob the slip behaviour.

+

Here is a simple example of adding the component behaviour to an object.area

+
AddComponent(/datum/component/slippery, 80, (NO_SLIP_WHEN_WALKING | SLIDE))
+
+

This adds slippery behaviour to the parent atom, with a 80 decisecond (~8 seconds) knockdown +The lube flags control how the slip behaves, in this case, the mob wont slip if it's in walking mode (NO_SLIP_WHEN_WALKING) +and if they do slip, they will slide a few tiles (SLIDE)

+

This component has configurable behaviours, see the Initialize proc for the argument listing.

+ + + + + + + + + + + + + + + + +

Vars

can_slip_callbackOptional callback allowing you to define custom conditions for slipping
default_connectionswhat we give to connect_loc by default, makes slippable mobs moving over us slip
force_drop_itemsIf the slip forces the crossing mob to drop held items.
holderIf parent is an item, this is the person currently holding/wearing the parent (or the parent if no one is holding it)
holder_connect_loc_behalfThe connect_loc_behalf component for the holder_connections list.
holder_connectionswhat we give to connect_loc if we're an item and get equipped by a mob. makes slippable mobs moving over our holder slip
knockdown_timeHow long the slip keeps the crossing mob knocked over (they can still crawl and use weapons) for.
lube_flagsFlags for how slippery the parent is. See [__DEFINES/mobs.dm]
on_slip_callbackOptional call back that is called when a mob slips on this component
paralyze_timeHow long the slip paralyzes (prevents the crossing mob doing anything) for.
slot_whitelistWhitelist of item slots the parent can be equipped in that make the holder slippery. If null or empty, it will always make the holder slippery.

Procs

InitializeInitialize the slippery component behaviour
SlipThe proc that does the sliping. Invokes the slip callback we have set.
Slip_on_wearerThe slip proc, but for equipped items. +Slips the person who crossed us if we're lying down and unbuckled.
holder_deletedDetects if the holder mob is deleted. +If our holder mob is the holder set in this component, we null it.
on_dropGets called when COMSIG_ITEM_DROPPED is sent to parent. +Makes our holder mob un-slippery.
on_equipGets called when COMSIG_ITEM_EQUIPPED is sent to parent. +This proc register slip signals to the equipper. +If we have a slot whitelist, we only register the signals if the slot is valid (ex: clown PDA only slips in ID or belt slot).
+

Var Details

can_slip_callback + + + + +

+

Optional callback allowing you to define custom conditions for slipping

default_connections + + + + +

+

what we give to connect_loc by default, makes slippable mobs moving over us slip

force_drop_items + + + + +

+

If the slip forces the crossing mob to drop held items.

holder + + + + +

+

If parent is an item, this is the person currently holding/wearing the parent (or the parent if no one is holding it)

holder_connect_loc_behalf + + + + +

+

The connect_loc_behalf component for the holder_connections list.

holder_connections + + + + +

+

what we give to connect_loc if we're an item and get equipped by a mob. makes slippable mobs moving over our holder slip

knockdown_time + + + + +

+

How long the slip keeps the crossing mob knocked over (they can still crawl and use weapons) for.

lube_flags + + + + +

+

Flags for how slippery the parent is. See [__DEFINES/mobs.dm]

on_slip_callback + + + + +

+

Optional call back that is called when a mob slips on this component

paralyze_time + + + + +

+

How long the slip paralyzes (prevents the crossing mob doing anything) for.

slot_whitelist + + + + +

+

Whitelist of item slots the parent can be equipped in that make the holder slippery. If null or empty, it will always make the holder slippery.

Proc Details

Initialize +

+

Initialize the slippery component behaviour

+

When applied to any atom in the game this will apply slipping behaviours to that atom

+

Arguments:

+

Slip +

+

The proc that does the sliping. Invokes the slip callback we have set.

+

Arguments

+

Slip_on_wearer +

+

The slip proc, but for equipped items. +Slips the person who crossed us if we're lying down and unbuckled.

+

Arguments:

+

holder_deleted +

+

Detects if the holder mob is deleted. +If our holder mob is the holder set in this component, we null it.

+

Arguments:

+

on_drop +

+

Gets called when COMSIG_ITEM_DROPPED is sent to parent. +Makes our holder mob un-slippery.

+

Arguments:

+

on_equip +

+

Gets called when COMSIG_ITEM_EQUIPPED is sent to parent. +This proc register slip signals to the equipper. +If we have a slot whitelist, we only register the signals if the slot is valid (ex: clown PDA only slips in ID or belt slot).

+

Arguments

+
+ + + diff --git a/datum/component/smooth_tunes.html b/datum/component/smooth_tunes.html new file mode 100644 index 00000000000..66fddd467c3 --- /dev/null +++ b/datum/component/smooth_tunes.html @@ -0,0 +1,104 @@ + + + + + + + /datum/component/smooth_tunes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

smooth_tunes + + + +

+ +

Smooth tunes component! Applied to musicians to give the songs they play special effects, according to a rite! +Comes with BARTICLES!!!

+ + + + + + + + + +

Vars

allow_repeatsif repeats count as continuations instead of a song's end, TRUE
glow_colora funny little glow applied to the instrument while playing
linked_songlinked song
linked_songtuner_riteif applied due to a rite, we link it here
particle_holderthe particle holder of the particle path (created when song starts) ((no i cant think of a better var name because i made the typepath and im perfect))
particles_pathparticles to apply, if applicable
viable_for_final_effectwhether to call the rite's finish effect, only true when the song is long enough

Procs

start_singingInitiates the effect when the song begins playing.
stop_singingEnds the effect when the song is no longer playing.
tempo_changeprevent more songs from being blessed concurrently, mob signal +and hook into the instrument this time, preventing other weird exploity stuff. +Prevents changing tempo during a song to sneak in final effects quicker
+

Var Details

allow_repeats + + + + +

+

if repeats count as continuations instead of a song's end, TRUE

glow_color + + + + +

+

a funny little glow applied to the instrument while playing

linked_song + + + + +

+

linked song

linked_songtuner_rite + + + + +

+

if applied due to a rite, we link it here

particle_holder + + + + +

+

the particle holder of the particle path (created when song starts) ((no i cant think of a better var name because i made the typepath and im perfect))

particles_path + + + + +

+

particles to apply, if applicable

viable_for_final_effect + + + + +

+

whether to call the rite's finish effect, only true when the song is long enough

Proc Details

start_singing +

+

Initiates the effect when the song begins playing.

stop_singing +

+

Ends the effect when the song is no longer playing.

tempo_change +

+

prevent more songs from being blessed concurrently, mob signal +and hook into the instrument this time, preventing other weird exploity stuff. +Prevents changing tempo during a song to sneak in final effects quicker

+ + + diff --git a/datum/component/soul_stealer.html b/datum/component/soul_stealer.html new file mode 100644 index 00000000000..16c95d93518 --- /dev/null +++ b/datum/component/soul_stealer.html @@ -0,0 +1,45 @@ + + + + + + + /datum/component/soul_stealer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

soul_stealer + + + +

+ +Soul Stealer component! +

Component that attaches to items, making lethal swings with them steal the victims soul, storing it inside the item. +Used in the cult bastard sword!

+ +

Vars

soulstonesList of soulstones captured by this item.

Procs

on_examinesignal called on parent being examined
+

Var Details

soulstones + + + + +

+

List of soulstones captured by this item.

Proc Details

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/component/sound_player.html b/datum/component/sound_player.html new file mode 100644 index 00000000000..4b7df32a628 --- /dev/null +++ b/datum/component/sound_player.html @@ -0,0 +1,59 @@ + + + + + + + /datum/component/sound_player - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sound_player + + + +

+ +

Sound Player component

+

Component that will play a sound upon recieving some signal

+ + + +

Vars

soundsThe list of sounds played, picked randomly.
usesUses left before the sound player deletes itself. If set to a negative number that will mean infinite uses.
volumeVolume of the sound when played

Procs

play_soundAttempt to play the sound on parent
+

Var Details

sounds + + + + +

+

The list of sounds played, picked randomly.

uses + + + + +

+

Uses left before the sound player deletes itself. If set to a negative number that will mean infinite uses.

volume + + + + +

+

Volume of the sound when played

Proc Details

play_sound +

+

Attempt to play the sound on parent

+

If out of uses, will qdel itself.

+ + + diff --git a/datum/component/spawner.html b/datum/component/spawner.html new file mode 100644 index 00000000000..6e92ae903e8 --- /dev/null +++ b/datum/component/spawner.html @@ -0,0 +1,113 @@ + + + + + + + /datum/component/spawner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spawner + + + +

+ + + + + + + + + + + + + +

Vars

factionFaction to grant to mobs (only applies to mobs)
max_spawnedMaximum number of atoms we can have active at one time
spawn_delayTime until we next spawn
spawn_textVisible message to show when something spawns
spawn_timeTime to wait between spawns
spawn_typesList of atom types to spawn, picked randomly
spawned_thingsList of weak references to things we have already created

Procs

mob_stat_changedCalled when a mob we spawned dies, remove it from the list and unregister signals
on_deletedCalled when an atom we spawned is deleted, remove it from the list
stop_spawningStop spawning mobs
try_spawn_mobTry to create a new mob
validate_referencesRemove weakrefs to atoms which have been killed or deleted without us picking it up somehow
+

Var Details

faction + + + + +

+

Faction to grant to mobs (only applies to mobs)

max_spawned + + + + +

+

Maximum number of atoms we can have active at one time

spawn_delay + + + + +

+

Time until we next spawn

spawn_text + + + + +

+

Visible message to show when something spawns

spawn_time + + + + +

+

Time to wait between spawns

spawn_types + + + + +

+

List of atom types to spawn, picked randomly

spawned_things + + + + +

+

List of weak references to things we have already created

Proc Details

mob_stat_changed +

+

Called when a mob we spawned dies, remove it from the list and unregister signals

on_deleted +

+

Called when an atom we spawned is deleted, remove it from the list

stop_spawning +

+

Stop spawning mobs

try_spawn_mob +

+

Try to create a new mob

validate_references +

+

Remove weakrefs to atoms which have been killed or deleted without us picking it up somehow

+ + + diff --git a/datum/component/spin2win.html b/datum/component/spin2win.html new file mode 100644 index 00000000000..4c48dc59f2d --- /dev/null +++ b/datum/component/spin2win.html @@ -0,0 +1,72 @@ + + + + + + + /datum/component/spin2win - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spin2win + + + +

+ +Spin 2 Win component! +

Component that attaches to items, making their attack_self begin a spin 2 win

+ + + + + +

Vars

spin_cooldownthe cooldown for spinning to winning
spin_cooldown_timehow long a spin2win takes to recharge.
spin_durationHow long you spin for
spinningwhether we are currently spin2winning or not.
stop_spinning_timer_idTimer id for when we should stop spinning.

Procs

on_examinesignal called on parent being examined
+

Var Details

spin_cooldown + + + + +

+

the cooldown for spinning to winning

spin_cooldown_time + + + + +

+

how long a spin2win takes to recharge.

spin_duration + + + + +

+

How long you spin for

spinning + + + + +

+

whether we are currently spin2winning or not.

stop_spinning_timer_id + + + + +

+

Timer id for when we should stop spinning.

Proc Details

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/component/spinny.html b/datum/component/spinny.html new file mode 100644 index 00000000000..ebfe86e4064 --- /dev/null +++ b/datum/component/spinny.html @@ -0,0 +1,44 @@ + + + + + + + /datum/component/spinny - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spinny + + + +

+ +

spinny.dm

+

It's a component that spins things a whole bunch, like [proc/dance_rotate] but without the sleeps)

+ +

Vars

steps_leftHow many turns are left?
turn_degreesTurns clockwise by default, or counterclockwise if the reverse argument is TRUE
+

Var Details

steps_left + + + + +

+

How many turns are left?

turn_degrees + + + + +

+

Turns clockwise by default, or counterclockwise if the reverse argument is TRUE

+ + + diff --git a/datum/component/spirit_holding.html b/datum/component/spirit_holding.html new file mode 100644 index 00000000000..654619a6475 --- /dev/null +++ b/datum/component/spirit_holding.html @@ -0,0 +1,103 @@ + + + + + + + /datum/component/spirit_holding - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spirit_holding + + + +

+ +

spirit holding component; for items to have spirits inside of them for "advice"

+

Used for the possessed blade and fantasy affixes

+ + + + + + + + +

Vars

attempting_awakeningbool on if this component is currently polling for observers to inhabit the item
bound_spiritmob contained in the item.

Procs

affix_spiritOn conclusion of the ghost poll
attempt_exorcismattempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state
block_buckle_messagesignal fired from a mob moving inside the parent
custom_namecustom_name : Simply sends a tgui input text box to the blade asking what name they want to be called, and retries it if the input is invalid.
on_attack_selfsignal fired on self attacking parent
on_destroysignal fired from parent being destroyed
on_examinesignal fired on examining the parent
+

Var Details

attempting_awakening + + + + +

+

bool on if this component is currently polling for observers to inhabit the item

bound_spirit + + + + +

+

mob contained in the item.

Proc Details

affix_spirit +

+

On conclusion of the ghost poll

attempt_exorcism +

+

attempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state

+

Arguments:

+

block_buckle_message +

+

signal fired from a mob moving inside the parent

custom_name +

+

custom_name : Simply sends a tgui input text box to the blade asking what name they want to be called, and retries it if the input is invalid.

+

Arguments:

+

on_attack_self +

+

signal fired on self attacking parent

on_destroy +

+

signal fired from parent being destroyed

on_examine +

+

signal fired on examining the parent

+ + + diff --git a/datum/component/splattercasting.html b/datum/component/splattercasting.html new file mode 100644 index 00000000000..c75a06893a9 --- /dev/null +++ b/datum/component/splattercasting.html @@ -0,0 +1,56 @@ + + + + + + + /datum/component/splattercasting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

splattercasting component! + + + +

+ +

Component that makes casted spells cost blood from the user and dramatically lowers their cooldown.

+ + + +

Procs

on_after_spell_castsignal sent after parent casts a spell
on_before_spell_castsignal sent before parent casts a spell
on_species_changesignal sent when a spell casts a projectile
on_spell_projectilesignal sent when the parent casts a spell that has a projectile

Proc Details

on_after_spell_cast +

+

signal sent after parent casts a spell

on_before_spell_cast +

+

signal sent before parent casts a spell

on_species_change +

+

signal sent when a spell casts a projectile

on_spell_projectile +

+

signal sent when the parent casts a spell that has a projectile

+ + + diff --git a/datum/component/squashable.html b/datum/component/squashable.html new file mode 100644 index 00000000000..3a5f36535f8 --- /dev/null +++ b/datum/component/squashable.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/squashable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

squashable + + + +

+ +

This component allows something to be when crossed, for example for cockroaches.

+ + + + + +

Vars

loc_connectionssignal list given to connect_loc
on_squash_callbackSpecial callback to call on squash instead, for things like hauberoach
squash_chanceChance on crossed to be squashed
squash_damageHow much brute is applied when mob is squashed
squash_flagsSquash flags, for extra checks etcetera.

Procs

on_enteredHandles the squashing of the mob
+

Var Details

loc_connections + + + + +

+

signal list given to connect_loc

on_squash_callback + + + + +

+

Special callback to call on squash instead, for things like hauberoach

squash_chance + + + + +

+

Chance on crossed to be squashed

squash_damage + + + + +

+

How much brute is applied when mob is squashed

squash_flags + + + + +

+

Squash flags, for extra checks etcetera.

Proc Details

on_entered +

+

Handles the squashing of the mob

+ + + diff --git a/datum/component/squeak.html b/datum/component/squeak.html new file mode 100644 index 00000000000..65311467342 --- /dev/null +++ b/datum/component/squeak.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/squeak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

squeak + + + +

+ + + + + + +

Vars

item_connectionswhat we set connect_loc to if parent is an item
sound_extra_rangeextra-range for this component's sound
sound_falloff_distancewhen sounds start falling off for the squeak
sound_falloff_exponentsound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

Procs

holder_deletedjust gets rid of the reference to holder in the case that theyre qdeleted
+

Var Details

item_connections + + + + +

+

what we set connect_loc to if parent is an item

sound_extra_range + + + + +

+

extra-range for this component's sound

sound_falloff_distance + + + + +

+

when sounds start falling off for the squeak

sound_falloff_exponent + + + + +

+

sound exponent for squeak. Defaults to 10 as squeaking is loud and annoying enough.

Proc Details

holder_deleted +

+

just gets rid of the reference to holder in the case that theyre qdeleted

+ + + diff --git a/datum/component/stationloving.html b/datum/component/stationloving.html new file mode 100644 index 00000000000..c71aa28f608 --- /dev/null +++ b/datum/component/stationloving.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/stationloving - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stationloving + + + +

+ +

Teleports the movable atom back to a safe turf on the station if it leaves the z-level or becomes inaccessible.

+ + + + + + +

Vars

allow_item_destructionIf FALSE, prevents parent from being qdel'd unless it's a force = TRUE qdel.
inform_adminsIf TRUE, notifies admins when parent is teleported back to the station.

Procs

atom_in_boundsChecks whether a given atom's turf is within bounds. Returns TRUE if it is, FALSE if it isn't.
on_loc_secludedSignal proc for [SIGNAL_ADDTRAIT], via TRAIT_SECLUDED_LOCATION on our locs, to ensure nothing funky happens
on_parent_movedSignal proc for COMSIG_MOVABLE_MOVED, called when our parent moves, or our parent's loc, or our parent's loc loc... +To check if our disk is moving somewhere it shouldn't be, such as off Z level, or into an invalid area
on_parent_pre_qdeletedSignal handler for before the parent is qdel'd. Can prevent the parent from being deleted where allow_item_destruction is FALSE and force is FALSE.
relocateTeleports parent to a safe turf on the station z-level.
+

Var Details

allow_item_destruction + + + + +

+

If FALSE, prevents parent from being qdel'd unless it's a force = TRUE qdel.

inform_admins + + + + +

+

If TRUE, notifies admins when parent is teleported back to the station.

Proc Details

atom_in_bounds +

+

Checks whether a given atom's turf is within bounds. Returns TRUE if it is, FALSE if it isn't.

on_loc_secluded +

+

Signal proc for [SIGNAL_ADDTRAIT], via TRAIT_SECLUDED_LOCATION on our locs, to ensure nothing funky happens

on_parent_moved +

+

Signal proc for COMSIG_MOVABLE_MOVED, called when our parent moves, or our parent's loc, or our parent's loc loc... +To check if our disk is moving somewhere it shouldn't be, such as off Z level, or into an invalid area

on_parent_pre_qdeleted +

+

Signal handler for before the parent is qdel'd. Can prevent the parent from being deleted where allow_item_destruction is FALSE and force is FALSE.

relocate +

+

Teleports parent to a safe turf on the station z-level.

+ + + diff --git a/datum/component/stationstuck.html b/datum/component/stationstuck.html new file mode 100644 index 00000000000..c44fe70826d --- /dev/null +++ b/datum/component/stationstuck.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/stationstuck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stationstuck + + + +

+ + +

Procs

punishCalled when parent leaves the zlevel this is set to (aka whichever zlevel it was on when it was added) +Sends a message, then does an effect depending on what the punishment was.

Proc Details

punish +

+

Called when parent leaves the zlevel this is set to (aka whichever zlevel it was on when it was added) +Sends a message, then does an effect depending on what the punishment was.

+

Punishments:

+
+ + + diff --git a/datum/component/storm_hating.html b/datum/component/storm_hating.html new file mode 100644 index 00000000000..9f8527c9ebf --- /dev/null +++ b/datum/component/storm_hating.html @@ -0,0 +1,36 @@ + + + + + + + /datum/component/storm_hating - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

storm_hating + + + +

+ +

The parent of this component will be destroyed if it's on the ground during a storm

+

Vars

stormy_weatherTypes of weather which trigger the effect
+

Var Details

stormy_weather + + + + +

+

Types of weather which trigger the effect

+ + + diff --git a/datum/component/stove.html b/datum/component/stove.html new file mode 100644 index 00000000000..6ec64f31789 --- /dev/null +++ b/datum/component/stove.html @@ -0,0 +1,87 @@ + + + + + + + /datum/component/stove - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Stove Component + + + +

+ +

Makes the attached object a stove

+

Pots can be put on the stove to make soup, and attack-handing it will start processing +where it will heat up the pot's reagents inside

+ + + + + + + +

Vars

containerA reference to the current soup pot overtop
container_xContainer's pixel x when placed on the stove
container_yContainer's pixel y when placed on the stove
flame_colorThe color of the flames around the burner.
heat_coefficientModifies how much temperature is exposed to the reagents, and in turn modifies how fast the reagents are heated.
onWhether we're currently cooking
particle_typeTypepath of particles to use for the particle holder.
soup_smokeA particle holder for the smoke that comes out of the soup while a container is cooking.
+

Var Details

container + + + + +

+

A reference to the current soup pot overtop

container_x + + + + +

+

Container's pixel x when placed on the stove

container_y + + + + +

+

Container's pixel y when placed on the stove

flame_color + + + + +

+

The color of the flames around the burner.

heat_coefficient + + + + +

+

Modifies how much temperature is exposed to the reagents, and in turn modifies how fast the reagents are heated.

on + + + + +

+

Whether we're currently cooking

particle_type + + + + +

+

Typepath of particles to use for the particle holder.

soup_smoke + + + + +

+

A particle holder for the smoke that comes out of the soup while a container is cooking.

+ + + diff --git a/datum/component/strong_pull.html b/datum/component/strong_pull.html new file mode 100644 index 00000000000..b300db6a70b --- /dev/null +++ b/datum/component/strong_pull.html @@ -0,0 +1,49 @@ + + + + + + + /datum/component/strong_pull - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

strong_pull + + + +

+ + + + +

Procs

on_no_longer_pulledCalled when the hooked object is no longer pulled and removes the strong grip.
on_pullCalled when the parent grabs something, adds signals to the object to reject interactions
reject_further_pullsSignal for rejecting further grabs

Proc Details

on_no_longer_pulled +

+

Called when the hooked object is no longer pulled and removes the strong grip.

on_pull +

+

Called when the parent grabs something, adds signals to the object to reject interactions

reject_further_pulls +

+

Signal for rejecting further grabs

+ + + diff --git a/datum/component/style.html b/datum/component/style.html new file mode 100644 index 00000000000..92486f68ad8 --- /dev/null +++ b/datum/component/style.html @@ -0,0 +1,120 @@ + + + + + + + /datum/component/style - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

style + + + +

+ + + + + + + + + + + + + + +

Vars

actionsThe last point affecting actions we've done
high_scoreHighest score attained by this component, to avoid as much overhead when considering to award a high score to the client
hotswap_rankWhat rank, minimum, the user needs to be to hotswap items
meterThe style meter shown on screen.
meter_imageThe image of the style meter.
multitooledIf this is multitooled, making it make funny noises on the user's rank going up
point_multiplierOur style point multiplier.
projectile_parryWeakref to the added projectile parry component
rankThe current rank we have.
rankup_soundsA static list of lists of all the possible sounds to play when multitooled, in numerical order
style_pointsAmount of style we have.
timeridThe timer for meter updating

Procs

hotswapA proc that lets a user, when their rank >= hotswap_rank, swap items in storage with what's in their hands, simply by clicking on the stored item with a held item
+

Var Details

actions + + + + +

+

The last point affecting actions we've done

high_score + + + + +

+

Highest score attained by this component, to avoid as much overhead when considering to award a high score to the client

hotswap_rank + + + + +

+

What rank, minimum, the user needs to be to hotswap items

meter + + + + +

+

The style meter shown on screen.

meter_image + + + + +

+

The image of the style meter.

multitooled + + + + +

+

If this is multitooled, making it make funny noises on the user's rank going up

point_multiplier + + + + +

+

Our style point multiplier.

projectile_parry + + + + +

+

Weakref to the added projectile parry component

rank + + + + +

+

The current rank we have.

rankup_sounds + + + + +

+

A static list of lists of all the possible sounds to play when multitooled, in numerical order

style_points + + + + +

+

Amount of style we have.

timerid + + + + +

+

The timer for meter updating

Proc Details

hotswap +

+

A proc that lets a user, when their rank >= hotswap_rank, swap items in storage with what's in their hands, simply by clicking on the stored item with a held item

+ + + diff --git a/datum/component/subtype_picker.html b/datum/component/subtype_picker.html new file mode 100644 index 00000000000..7392aede6d7 --- /dev/null +++ b/datum/component/subtype_picker.html @@ -0,0 +1,97 @@ + + + + + + + /datum/component/subtype_picker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

subtype_picker + + + +

+ +

subtype picker component allows for an item to transform into its subtypes (this is not enforced and you can turn in whatever types, but +i used this name as it was incredibly accurate for current usage of the behavior)

+

Used for the null rod to pick the other holy weapons.

+ + + + + + + +

Vars

built_radial_listlist given to the radial menu to display, built after init
name2subtypethe radial will return a name of the wanted subtype, this is a list of names back to the type, built after init
on_picked_callbackoptional proc to callback to when the weapon is picked
subtype2descriptionsA list of types and their menu descriptions

Procs

build_radial_listpick_subtype: turns the list of types to their description into all the data radial menus need
check_menuChecks if we are allowed to interact with the radial menu
on_attack_selfsignal called by the stat of the target changing
pick_subtypepick_subtype: called from on_attack_self, shows a user a radial menu of all available null rod reskins and replaces the current null rod with the user's chosen reskinned variant
+

Var Details

built_radial_list + + + + +

+

list given to the radial menu to display, built after init

name2subtype + + + + +

+

the radial will return a name of the wanted subtype, this is a list of names back to the type, built after init

on_picked_callback + + + + +

+

optional proc to callback to when the weapon is picked

subtype2descriptions + + + + +

+

A list of types and their menu descriptions

Proc Details

build_radial_list +

+

pick_subtype: turns the list of types to their description into all the data radial menus need

check_menu +

+

Checks if we are allowed to interact with the radial menu

+

Arguments:

+

on_attack_self +

+

signal called by the stat of the target changing

pick_subtype +

+

pick_subtype: called from on_attack_self, shows a user a radial menu of all available null rod reskins and replaces the current null rod with the user's chosen reskinned variant

+

Arguments:

+
+ + + diff --git a/datum/component/summoning.html b/datum/component/summoning.html new file mode 100644 index 00000000000..811ba470582 --- /dev/null +++ b/datum/component/summoning.html @@ -0,0 +1,99 @@ + + + + + + + /datum/component/summoning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

summoning + + + +

+ + + + + + + + + + + +

Vars

factionFactions to assign to a summoned mob
max_mobsMaximum mobs we can have active at once
mob_typesTypes of mob we can create
spawn_chancePercentage chance to spawn a mob
spawn_delayCooldown between spawning mobs
spawn_soundSound to play when spawning a mob
spawn_textText to display when spawning a mob
spawned_mobsList containing all of our mobs
summon_cooldownCooldown tracker for when we can summon another mob

Procs

on_spawned_deathWhen a spawned thing dies, remove it from our list
+

Var Details

faction + + + + +

+

Factions to assign to a summoned mob

max_mobs + + + + +

+

Maximum mobs we can have active at once

mob_types + + + + +

+

Types of mob we can create

spawn_chance + + + + +

+

Percentage chance to spawn a mob

spawn_delay + + + + +

+

Cooldown between spawning mobs

spawn_sound + + + + +

+

Sound to play when spawning a mob

spawn_text + + + + +

+

Text to display when spawning a mob

spawned_mobs + + + + +

+

List containing all of our mobs

summon_cooldown + + + + +

+

Cooldown tracker for when we can summon another mob

Proc Details

on_spawned_death +

+

When a spawned thing dies, remove it from our list

+ + + diff --git a/datum/component/supermatter_crystal.html b/datum/component/supermatter_crystal.html new file mode 100644 index 00000000000..d695033a28f --- /dev/null +++ b/datum/component/supermatter_crystal.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/supermatter_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supermatter_crystal + + + +

+ + + +

Vars

consume_callbackCallback used by the SM to get the damage and matter power increase/decrease
tool_act_callbackCallback for the wrench act call
+

Var Details

consume_callback + + + + +

+

Callback used by the SM to get the damage and matter power increase/decrease

tool_act_callback + + + + +

+

Callback for the wrench act call

+ + + diff --git a/datum/component/surgery_initiator.html b/datum/component/surgery_initiator.html new file mode 100644 index 00000000000..c007654cbef --- /dev/null +++ b/datum/component/surgery_initiator.html @@ -0,0 +1,72 @@ + + + + + + + /datum/component/surgery_initiator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

surgery_initiator + + + +

+ +

Allows an item to be used to initiate surgeries.

+ + + + +

Vars

last_user_refThe last user, as a weakref
surgery_target_refThe currently selected target that the user is proposing a surgery on

Procs

add_item_contextAdds context sensitivy directly to the surgery initator file for screentips +Arguments:
attempt_cancel_surgeryDoes the surgery de-initiation.
initiate_surgery_momentDoes the surgery initiation.
+

Var Details

last_user_ref + + + + +

+

The last user, as a weakref

surgery_target_ref + + + + +

+

The currently selected target that the user is proposing a surgery on

Proc Details

add_item_context +

+

Adds context sensitivy directly to the surgery initator file for screentips +Arguments:

+

attempt_cancel_surgery +

+

Does the surgery de-initiation.

initiate_surgery_moment +

+

Does the surgery initiation.

+ + + diff --git a/datum/component/swabbing.html b/datum/component/swabbing.html new file mode 100644 index 00000000000..47a8f6c2974 --- /dev/null +++ b/datum/component/swabbing.html @@ -0,0 +1,106 @@ + + + + + + + /datum/component/swabbing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

swabbing + + + +

+ + + + + + + + + + + + +

Vars

can_swab_mobsCan we swab mobs?
can_swab_objsCan we swab objs?
can_swab_turfsCan we swab turfs?
swabbed_itemsThe current datums on the swab
update_iconsCallback for update_icon()
update_overlaysCallback for update_overlays()

Procs

can_swabChecks if the swabbing component can swab the specific object or nots
examineChanges examine based on your sample
handle_iconHandle any special icon cases on the item itself
handle_overlaysHandle any special overlay cases on the item itself
try_to_swabRan when you attack an object, tries to get a swab of the object. if a swabbable surface is found it will run behavior and hopefully
+

Var Details

can_swab_mobs + + + + +

+

Can we swab mobs?

can_swab_objs + + + + +

+

Can we swab objs?

can_swab_turfs + + + + +

+

Can we swab turfs?

swabbed_items + + + + +

+

The current datums on the swab

update_icons + + + + +

+

Callback for update_icon()

update_overlays + + + + +

+

Callback for update_overlays()

Proc Details

can_swab +

+

Checks if the swabbing component can swab the specific object or nots

examine +

+

Changes examine based on your sample

handle_icon +

+

Handle any special icon cases on the item itself

handle_overlays +

+

Handle any special overlay cases on the item itself

try_to_swab +

+

Ran when you attack an object, tries to get a swab of the object. if a swabbable surface is found it will run behavior and hopefully

+ + + diff --git a/datum/component/tackler.html b/datum/component/tackler.html new file mode 100644 index 00000000000..db148b1f1e5 --- /dev/null +++ b/datum/component/tackler.html @@ -0,0 +1,224 @@ + + + + + + + /datum/component/tackler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tackler + + + +

+ +

For when you want to throw a person at something and have fun stuff happen

+

This component is made for carbon mobs (really, humans), and allows its parent to throw themselves and perform tackles. This is done by enabling throw mode, then clicking on your +intended target with an empty hand. You will then launch toward your target. If you hit a carbon, you'll roll to see how hard you hit them. If you hit a solid non-mob, you'll +roll to see how badly you just messed yourself up. If, along your journey, you hit a table, you'll slam onto it and send up to MAX_TABLE_MESSES (8) /obj/items on the table flying, +and take a bit of extra damage and stun for each thing launched.

+

There are 2 separate """skill rolls""" involved here, which are handled and explained in rollTackle() (for roll 1, carbons), and splat() (for roll 2, walls and solid objects)

+ + + + + + + + + + + + + + + + + +

Vars

base_knockdownLaunching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.
min_distanceSome gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!
rangeYour max range for how far you can tackle.
skill_modA flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.
speedHow fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.
stamina_costHow much stamina it takes to launch a tackle
tackle_refA wearkef to the throwdatum we're currently dealing with, if we need it
tacklingIf we're currently tackling or are on cooldown. Actually, shit, if I use this to handle cooldowns, then getting thrown by something while on cooldown will count as a tackle..... whatever, i'll fix that next commit

Procs

checkObstacleCheck to see if we hit a table, and if so, make a big mess!
checkTackleSee if we can tackle or not. If we can, leap!
negative_outcomeOur negative tackling outcomes.
neutral_outcomeOur neutral tackling outcome.
positive_outcomeOur positive tackling outcomes.
registerTackleStore the thrownthing datum for later use
rollTackleThis handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!)
sacksack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases:
splatThis is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher +the roll, the more severe the result.
splatWindowA special case for splatting for handling windows
+

Var Details

base_knockdown + + + + +

+

Launching a tackle calls Knockdown on you for this long, so this is your cooldown. Once you stand back up, you can tackle again.

min_distance + + + + +

+

Some gloves, generally ones that increase mobility, may have a minimum distance to fly. Rocket gloves are especially dangerous with this, be sure you'll hit your target or have a clear background if you miss, or else!

range + + + + +

+

Your max range for how far you can tackle.

skill_mod + + + + +

+

A flat modifier to your roll against your target, as described in rollTackle(). Slightly misleading, skills aren't relevant here, this is a matter of what type of gloves (or whatever) is granting you the ability to tackle.

speed + + + + +

+

How fast you sail through the air. Standard tackles are 1 speed, but gloves that throw you faster come at a cost: higher speeds make it more likely you'll be badly injured if you fly into a non-mob obstacle.

stamina_cost + + + + +

+

How much stamina it takes to launch a tackle

tackle_ref + + + + +

+

A wearkef to the throwdatum we're currently dealing with, if we need it

tackling + + + + +

+

If we're currently tackling or are on cooldown. Actually, shit, if I use this to handle cooldowns, then getting thrown by something while on cooldown will count as a tackle..... whatever, i'll fix that next commit

Proc Details

checkObstacle +

+

Check to see if we hit a table, and if so, make a big mess!

checkTackle +

+

See if we can tackle or not. If we can, leap!

negative_outcome +

+

Our negative tackling outcomes.

+

We pass our tackle result here to determine the potential outcome of the tackle. Typically, this results in a very poor state for the tackler, and a mostly okay outcome for the tackled.

+

First, we determine severity by taking our roll result, multiplying it by -10, and then rolling within that value.

+

If our tackler is human, their armor will reduce the severity of the roll. We pass along any MELEE armor as a percentage reduction. +If they're not human (such as a carbon), we give them a small grace of a 10% reduction.

+

Finally, we figure out what effect our target receives and what our tackler receives:

+

neutral_outcome +

+

Our neutral tackling outcome.

+

Our tackler and our target are staggered. The target longer than the tackler. However, the tackler stands up after this outcome. This is maybe less neutral than it appears, but the tackler initiated, so... +This outcome also occurs when our target has blocked the tackle in some way, preventing situations where someone tackling into a blocker is too severely punished as a result. Hence, this has its own proc.

positive_outcome +

+

Our positive tackling outcomes.

+

We pass our tackle result here to determine the potential outcome of the tackle. Typically, this results in a very poor state for the tackled, and a positive outcome for the tackler.

+

First, we determine severity by taking our roll result, multiplying it by 10, and then rolling within that value.

+

If our target is human, their armor will reduce the severity of the roll. We pass along any MELEE armor as a percentage reduction. +If they're not human (such as a carbon), we give them a small grace of a 10% reduction.

+

Finally, we figure out what effect our target receives. Note that all positive outcomes inflict staggered, resulting in a much harder time escaping the potential grab:

+

registerTackle +

+

Store the thrownthing datum for later use

rollTackle +

+

This handles all of the modifiers for the actual carbon-on-carbon tackling, and gets its own proc because of how many there are (with plenty more in mind!)

+

The base roll is between (-3, 3), with negative numbers favoring the target, and positive numbers favoring the tackler. The target and the tackler are both assessed for +how easy they are to knock over, with clumsiness and dwarfiness being strong maluses for each, and gigantism giving a bonus for each. These numbers and ideas +are absolutely subject to change.

+

In addition, after subtracting the defender's mod and adding the attacker's mod to the roll, the component's base (skill) mod is added as well. Some sources of tackles +are better at taking people down, like the bruiser and rocket gloves, while the dolphin gloves have a malus in exchange for better mobility.

sack +

+

sack() is called when you actually smack into something, assuming we're mid-tackle. First it deals with smacking into non-carbons, in two cases:

+ +

If it's a carbon we hit, we'll call rollTackle() which rolls a die and calculates modifiers for both the tackler and target, then gives us a number. Negatives favor the target, while positives favor the tackler. +Check rollTackle() for a more thorough explanation on the modifiers at play.

+

Then, we figure out what effect we want, and we get to work! Note that with standard gripper gloves and no modifiers, the range of rolls is (-3, 3). The results are as follows, based on what we rolled:

+ +

Finally, we return a bitflag to COMSIG_MOVABLE_IMPACT that forces the hitpush to false so that we don't knock them away.

splat +

+

This is where we handle diving into dense atoms, generally with effects ranging from bad to REALLY bad. This works as a percentile roll that is modified in two steps as detailed below. The higher +the roll, the more severe the result.

+

Mod 1: Speed-

+ +

Mod 2: Misc- +-Flat modifiers, these take whatever you rolled and add/subtract to it, with the end result capped between the minimum from Mod 1 and 100. Note that since we can't roll higher than 100 to start with, +wearing a helmet should be enough to remove any chance of permanently paralyzing yourself and dramatically lessen knocking yourself unconscious, even with rocket gloves. Will expand on maybe

+ +

Effects: Below are the outcomes based off your roll, in order of increasing severity

+

splatWindow +

+

A special case for splatting for handling windows

+ + + diff --git a/datum/component/takes_reagent_appearance.html b/datum/component/takes_reagent_appearance.html new file mode 100644 index 00000000000..b18ef1a5b32 --- /dev/null +++ b/datum/component/takes_reagent_appearance.html @@ -0,0 +1,128 @@ + + + + + + + /datum/component/takes_reagent_appearance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

takes_reagent_appearance + + + +

+ +"Takes reagent appearance" Component +

Bit of a mouthful, but when applied to an item that can hold reagents (primarily reagent containers), +said item will take on an appearance based on the majority share reagent inside

+

This is more than just "changing the color a bit" or "applies an overlay", this is +an entire icon / icon state / name change, making it look like a different item entirely

+

This is done by cross-referencing the glass style datums. See /datum/glass_style for more information about that.

+

An example usage is bartender mixed drinks - each reagent gets its own fancy drink sprite

+ + + + + + + + + +

Vars

base_container_typeThe type to compare against the glass_style's required_container_type. The parent's type by default.
icon_pre_changeIcon file when attached to the item
icon_state_pre_changeIcon state when attached to the item
on_icon_changedOptional callback invoked when when the item's appearance is changed
on_icon_resetOptional callback invoked when our item has its appearance reverted to default

Procs

get_main_reagent_styleGets the correspinding style based on the parent's state and reagents within
on_update_appearanceSignal proc for COMSIG_ATOM_UPDATE_APPEARANCE +We hook into the update appearance proc to perform our own update based on our glass style +Preventing any further updates down the line on successes
update_descPerforms the description update.
update_iconPerforms the icon update.
update_namePerforms the name update.
+

Var Details

base_container_type + + + + +

+

The type to compare against the glass_style's required_container_type. The parent's type by default.

icon_pre_change + + + + +

+

Icon file when attached to the item

icon_state_pre_change + + + + +

+

Icon state when attached to the item

on_icon_changed + + + + +

+

Optional callback invoked when when the item's appearance is changed

on_icon_reset + + + + +

+

Optional callback invoked when our item has its appearance reverted to default

Proc Details

get_main_reagent_style +

+

Gets the correspinding style based on the parent's state and reagents within

+

on_update_appearance +

+

Signal proc for COMSIG_ATOM_UPDATE_APPEARANCE +We hook into the update appearance proc to perform our own update based on our glass style +Preventing any further updates down the line on successes

update_desc +

+

Performs the description update.

+

update_icon +

+

Performs the icon update.

+

update_name +

+

Performs the name update.

+
+ + + diff --git a/datum/component/tameable.html b/datum/component/tameable.html new file mode 100644 index 00000000000..ffbf57f227a --- /dev/null +++ b/datum/component/tameable.html @@ -0,0 +1,85 @@ + + + + + + + /datum/component/tameable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tameable + + + +

+ +

This component lets you make specific mobs tameable by feeding them

+ + + + + + + +

Vars

after_tameFor effects once soemthing is tamed
bonus_tame_chanceAdded success chance after every failed tame attempt.
current_tame_chanceCurrent chance to tame on interaction
food_typesWhat the mob eats, typically used for taming or animal husbandry.
tame_chanceStarting success chance for taming.
uniqueIf true, this atom can only be domesticated by one person

Procs

already_friendsCheck if the passed mob is already considered one of our friends
on_tameRan once taming succeeds
+

Var Details

after_tame + + + + +

+

For effects once soemthing is tamed

bonus_tame_chance + + + + +

+

Added success chance after every failed tame attempt.

current_tame_chance + + + + +

+

Current chance to tame on interaction

food_types + + + + +

+

What the mob eats, typically used for taming or animal husbandry.

tame_chance + + + + +

+

Starting success chance for taming.

unique + + + + +

+

If true, this atom can only be domesticated by one person

Proc Details

already_friends +

+

Check if the passed mob is already considered one of our friends

on_tame +

+

Ran once taming succeeds

+ + + diff --git a/datum/component/tattoo.html b/datum/component/tattoo.html new file mode 100644 index 00000000000..81a6058c1ee --- /dev/null +++ b/datum/component/tattoo.html @@ -0,0 +1,46 @@ + + + + + + + /datum/component/tattoo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tattoo + + + +

+ +engraved component! +

component for walls that applies an engraved overlay and lets you examine it to read a story (+ art element yay) +new creations will get a high art value, cross round scrawlings will get a low one. +MUST be a component, though it doesn't look like it. SSPersistence demandeth

+ +

Vars

tattoo_descriptionthe generated story string

Procs

Destroyokay, i need to add some way to saved tattoos
+

Var Details

tattoo_description + + + + +

+

the generated story string

Proc Details

Destroy +

+

okay, i need to add some way to saved tattoos

+ + + diff --git a/datum/component/technointrovert.html b/datum/component/technointrovert.html new file mode 100644 index 00000000000..efefb4cb197 --- /dev/null +++ b/datum/component/technointrovert.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/technointrovert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

technointrovert + + + +

+ +

You can't use machines unless they are in a whitelist

+ +

Vars

messageMessage presented when
whitelistTypecache of allowed machinery
+

Var Details

message + + + + +

+

Message presented when

whitelist + + + + +

+

Typecache of allowed machinery

+ + + diff --git a/datum/component/technoshy.html b/datum/component/technoshy.html new file mode 100644 index 00000000000..d059e779add --- /dev/null +++ b/datum/component/technoshy.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/technoshy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

technoshy + + + +

+ +

You can't use machines when they've been touched within the last [unused_duration], unless it was by a mob in [whitelist]

+ + +

Vars

messageMessage presented if the machine was used too recently
unused_durationHow long in deciseconds the machine can be untouched for
whitelistTypecache of allowed last_users
+

Var Details

message + + + + +

+

Message presented if the machine was used too recently

unused_duration + + + + +

+

How long in deciseconds the machine can be untouched for

whitelist + + + + +

+

Typecache of allowed last_users

+ + + diff --git a/datum/component/temporary_body.html b/datum/component/temporary_body.html new file mode 100644 index 00000000000..cedb471ecc1 --- /dev/null +++ b/datum/component/temporary_body.html @@ -0,0 +1,57 @@ + + + + + + + /datum/component/temporary_body - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

temporary_body + + + +

+ +

##temporary_body

+

Used on living mobs when they are meant to be a 'temporary body' +Holds a reference to an old mind & body, to put them back in +once the body this component is attached to, is being deleted.

+ + +

Vars

old_body_refThe old body we will be put back into when parent is being deleted.
old_mind_refThe old mind we will be put back into when parent is being deleted.

Procs

on_parent_destroySends the mind of the temporary body back into their previous host +If the previous host is alive, we'll force them into the body. +Otherwise we'll let them hang out as a ghost still.
+

Var Details

old_body_ref + + + + +

+

The old body we will be put back into when parent is being deleted.

old_mind_ref + + + + +

+

The old mind we will be put back into when parent is being deleted.

Proc Details

on_parent_destroy +

+

Sends the mind of the temporary body back into their previous host +If the previous host is alive, we'll force them into the body. +Otherwise we'll let them hang out as a ghost still.

+ + + diff --git a/datum/component/temporary_description.html b/datum/component/temporary_description.html new file mode 100644 index 00000000000..a81d28874dc --- /dev/null +++ b/datum/component/temporary_description.html @@ -0,0 +1,51 @@ + + + + + + + /datum/component/temporary_description - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

temporary_description + + + +

+ +

Adds examine text to something which is removed when receiving specified signals, by default the revive signal. +The default settings are set up to be applied to a corpse to add some kind of immersive storytelling text which goes away upon revival.

+ + +

Vars

description_textWhat do we display on examine?
naive_descriptionWhat do we display if examined by a clown? Usually only applied if this is put on a corpse, but go nuts.
removal_signalsWhen are we removed?
+

Var Details

description_text + + + + +

+

What do we display on examine?

naive_description + + + + +

+

What do we display if examined by a clown? Usually only applied if this is put on a corpse, but go nuts.

removal_signals + + + + +

+

When are we removed?

+ + + diff --git a/datum/component/thermite.html b/datum/component/thermite.html new file mode 100644 index 00000000000..7a3698f9de5 --- /dev/null +++ b/datum/component/thermite.html @@ -0,0 +1,183 @@ + + + + + + + /datum/component/thermite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

thermite + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

amountAmount of thermite on parent
blacklistBlacklist of turfs that cannot have thermite on it
burn_callbackCallback related to burning, stored so the timer can be easily reset without losing the user
burn_requireAmount of thermite required to burn through parent
burn_timerThe timer for burning parent, calls burn_callback when done
default_thermite_overlayDefault thermite overlay, do not touch
fakefireThe thermite fire overlay
immunelistList of turfs that are immune to thermite
resistlistList of turfs that take extra thermite to burn through
thermite_overlayThe thermite overlay

Procs

attackby_reactattackby reaction, ignites the thermite if its a flame creating object
burn_parentUsed to actually melt parent
clean_reactWash reaction, used to clean off thermite from parent
on_attack_handHandles searing the hand of anyone who tries to touch parent without protection, while burning
on_examineAlerts the user that this turf is, in fact, covered with thermite.
on_fire_actfire_act reaction, has to be the correct temperature
on_update_overlaysUsed to maintain the thermite overlay on the parent /turf.
parent_qdeletingSignal handler for COMSIG_QDELETING, necessary because turfs can be weird with qdel()
thermite_meltUsed to begin the thermite burning process
+

Var Details

amount + + + + +

+

Amount of thermite on parent

blacklist + + + + +

+

Blacklist of turfs that cannot have thermite on it

burn_callback + + + + +

+

Callback related to burning, stored so the timer can be easily reset without losing the user

burn_require + + + + +

+

Amount of thermite required to burn through parent

burn_timer + + + + +

+

The timer for burning parent, calls burn_callback when done

default_thermite_overlay + + + + +

+

Default thermite overlay, do not touch

fakefire + + + + +

+

The thermite fire overlay

immunelist + + + + +

+

List of turfs that are immune to thermite

resistlist + + + + +

+

List of turfs that take extra thermite to burn through

thermite_overlay + + + + +

+

The thermite overlay

Proc Details

attackby_react +

+

attackby reaction, ignites the thermite if its a flame creating object

+

Arguments:

+

burn_parent +

+

Used to actually melt parent

+

Arguments:

+

clean_react +

+

Wash reaction, used to clean off thermite from parent

on_attack_hand +

+

Handles searing the hand of anyone who tries to touch parent without protection, while burning

on_examine +

+

Alerts the user that this turf is, in fact, covered with thermite.

on_fire_act +

+

fire_act reaction, has to be the correct temperature

+

Arguments:

+

on_update_overlays +

+

Used to maintain the thermite overlay on the parent /turf.

parent_qdeleting +

+

Signal handler for COMSIG_QDELETING, necessary because turfs can be weird with qdel()

thermite_melt +

+

Used to begin the thermite burning process

+

Arguments:

+
+ + + diff --git a/datum/component/tippable.html b/datum/component/tippable.html new file mode 100644 index 00000000000..6d036e71454 --- /dev/null +++ b/datum/component/tippable.html @@ -0,0 +1,203 @@ + + + + + + + /datum/component/tippable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tippable + + + +

+ +

Tippable component. For making mobs able to be tipped, like cows and medibots.

+ + + + + + + + + + + + + + + + + + + +

Vars

is_tippedWhether the mob is currently tipped.
post_tipped_callbackCallback to additional behavior after successfully tipping the mob.
post_untipped_callbackCallback to additional behavior after being untipped.
pre_tipped_callbackCallback to additional behavior before being tipped (on try_tip). Return anything from this callback to cancel the tip.
roleplay_callbackCallback to any extra roleplay behaviour
roleplay_emotesList of emotes that will half their untip time
roleplay_friendlyShould we accept roleplay?
roleplayedHave we roleplayed?
self_right_timeTime it takes for the mob to right itself. Can be 0 for instant self-righting, or null, to never self-right.
self_untip_timerThe timer given until they untip themselves
tip_timeTime it takes to tip the mob. Can be 0, for instant tipping.
untip_timeTime it takes to untip the mob. Can also be 0, for instant untip.

Procs

accept_roleplayAccepts "roleplay" in the form of emotes, which removes a quarter of the remaining time left to untip ourself.
do_tipActually tip over the mob, setting it to tipped. +Also invoking any callbacks we have, with the tipper as the argument, +and set a timer to right our self-right our tipped mob if we can.
do_untipActually untip over the mob, setting it to untipped. +Also invoke any untip callbacks we have, with the untipper as the argument.
interact_with_tippableAttempt to interact with [source], either tipping it or helping it up.
right_selfProc called after a timer to have a tipped mob un-tip itself after a certain length of time. +Sets our mob to untipped and invokes the untipped callback without any arguments if we have one.
set_tipped_statusToggles our tipped status between tipped or untipped (TRUE or FALSE) +also handles rotating our mob and adding immobilization traits
try_tipTry to tip over [tipped_mob]. +If the mob is dead, or optional callback returns a value, or our do-after fails, we don't tip the mob. +Otherwise, upon completing of the do_after, tip over the mob.
try_untipTry to untip a mob that has been tipped. +After a do-after is completed, we untip the mob.
+

Var Details

is_tipped + + + + +

+

Whether the mob is currently tipped.

post_tipped_callback + + + + +

+

Callback to additional behavior after successfully tipping the mob.

post_untipped_callback + + + + +

+

Callback to additional behavior after being untipped.

pre_tipped_callback + + + + +

+

Callback to additional behavior before being tipped (on try_tip). Return anything from this callback to cancel the tip.

roleplay_callback + + + + +

+

Callback to any extra roleplay behaviour

roleplay_emotes + + + + +

+

List of emotes that will half their untip time

roleplay_friendly + + + + +

+

Should we accept roleplay?

roleplayed + + + + +

+

Have we roleplayed?

self_right_time + + + + +

+

Time it takes for the mob to right itself. Can be 0 for instant self-righting, or null, to never self-right.

self_untip_timer + + + + +

+

The timer given until they untip themselves

tip_time + + + + +

+

Time it takes to tip the mob. Can be 0, for instant tipping.

untip_time + + + + +

+

Time it takes to untip the mob. Can also be 0, for instant untip.

Proc Details

accept_roleplay +

+

Accepts "roleplay" in the form of emotes, which removes a quarter of the remaining time left to untip ourself.

+

Arguments:

+

do_tip +

+

Actually tip over the mob, setting it to tipped. +Also invoking any callbacks we have, with the tipper as the argument, +and set a timer to right our self-right our tipped mob if we can.

+

tipped_mob - the mob who was tipped +tipper - the mob who tipped the tipped_mob

do_untip +

+

Actually untip over the mob, setting it to untipped. +Also invoke any untip callbacks we have, with the untipper as the argument.

+

tipped_mob - the mob who was tipped +tipper - the mob who tipped the tipped_mob

interact_with_tippable +

+

Attempt to interact with [source], either tipping it or helping it up.

+

source - the mob being tipped over +user - the mob interacting with source

right_self +

+

Proc called after a timer to have a tipped mob un-tip itself after a certain length of time. +Sets our mob to untipped and invokes the untipped callback without any arguments if we have one.

+

tipped_mob - the mob who was tipped, and is freeing itself

set_tipped_status +

+

Toggles our tipped status between tipped or untipped (TRUE or FALSE) +also handles rotating our mob and adding immobilization traits

+

tipped_mob - the mob we're setting to tipped or untipped +new_status - the tipped status we're setting the mob to - TRUE for tipped, FALSE for untipped

try_tip +

+

Try to tip over [tipped_mob]. +If the mob is dead, or optional callback returns a value, or our do-after fails, we don't tip the mob. +Otherwise, upon completing of the do_after, tip over the mob.

+

tipped_mob - the mob being tipped over +tipper - the mob tipping the tipped_mob

try_untip +

+

Try to untip a mob that has been tipped. +After a do-after is completed, we untip the mob.

+

tipped_mob - the mob who is tipped +untipper - the mob who is untipping the tipped_mob

+ + + diff --git a/datum/component/toggle_attached_clothing.html b/datum/component/toggle_attached_clothing.html new file mode 100644 index 00000000000..4f9cb0356c6 --- /dev/null +++ b/datum/component/toggle_attached_clothing.html @@ -0,0 +1,212 @@ + + + + + + + /datum/component/toggle_attached_clothing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

toggle_attached_clothing + + + +

+ +

Component which allows clothing to deploy a different kind of clothing onto you. +The simplest example is hooded suits deploying hoods onto your head.

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

action_nameName of toggle action
currently_deployedCurrent state of our deployable equipment
deployableInstance of the item we're creating
deployable_typeTypepath of what we're creating
destroy_on_removalIf true, we delete our deployable on toggle rather than putting it in nullspace
down_overlay_state_suffixIcon state for overlay to display over the parent item while deployable item is not deployed
equipped_slotWhich slot this item equips into
on_createdOptional callback triggered when we create our deployable equipment
on_deployedOptional callback triggered when we have deployed our equipment
on_removedOptional callback triggered before we hide our equipment, before as we may delete it afterwards
parent_icon_state_suffixWhat should be added to the end of the parent icon state when equipment is deployed? Set to "" for no change
pre_creation_checkOptional callback triggered before deploying, return TRUE to continue or FALSE to cancel
toggle_actionAction used to toggle deployment
undeployed_overlayOverlay to display over the parent item while deployable item is not deployed

Procs

create_deployableCreate our gear, returns true if we actually made anything
on_action_slot_checkedCalled when action attempts to check what slot the item is worn in
on_checked_overlaysApply an overlay while the item is not deployed
on_deployed_destroyedUndeploy gear if it is deleted
on_deployed_droppedUndeploy gear if you drop it
on_deployed_equippedUndeploy gear if it moves slots somehow
on_parent_equippedUndeploy gear if it moves slots somehow
on_parent_equipped_outfitDisplay deployed if worn in an outfit
on_toggle_pressedToggle deployable when the UI button is clicked
remove_deployableRemoves our deployed equipment from the wearer
toggle_deployableDeploys gear if it is hidden, hides it if it is deployed
unequip_deployableRemoves an equipped deployable atom upon its retraction or destruction
+

Var Details

action_name + + + + +

+

Name of toggle action

currently_deployed + + + + +

+

Current state of our deployable equipment

deployable + + + + +

+

Instance of the item we're creating

deployable_type + + + + +

+

Typepath of what we're creating

destroy_on_removal + + + + +

+

If true, we delete our deployable on toggle rather than putting it in nullspace

down_overlay_state_suffix + + + + +

+

Icon state for overlay to display over the parent item while deployable item is not deployed

equipped_slot + + + + +

+

Which slot this item equips into

on_created + + + + +

+

Optional callback triggered when we create our deployable equipment

on_deployed + + + + +

+

Optional callback triggered when we have deployed our equipment

on_removed + + + + +

+

Optional callback triggered before we hide our equipment, before as we may delete it afterwards

parent_icon_state_suffix + + + + +

+

What should be added to the end of the parent icon state when equipment is deployed? Set to "" for no change

pre_creation_check + + + + +

+

Optional callback triggered before deploying, return TRUE to continue or FALSE to cancel

toggle_action + + + + +

+

Action used to toggle deployment

undeployed_overlay + + + + +

+

Overlay to display over the parent item while deployable item is not deployed

Proc Details

create_deployable +

+

Create our gear, returns true if we actually made anything

on_action_slot_checked +

+

Called when action attempts to check what slot the item is worn in

on_checked_overlays +

+

Apply an overlay while the item is not deployed

on_deployed_destroyed +

+

Undeploy gear if it is deleted

on_deployed_dropped +

+

Undeploy gear if you drop it

on_deployed_equipped +

+

Undeploy gear if it moves slots somehow

on_parent_equipped +

+

Undeploy gear if it moves slots somehow

on_parent_equipped_outfit +

+

Display deployed if worn in an outfit

on_toggle_pressed +

+

Toggle deployable when the UI button is clicked

remove_deployable +

+

Removes our deployed equipment from the wearer

toggle_deployable +

+

Deploys gear if it is hidden, hides it if it is deployed

unequip_deployable +

+

Removes an equipped deployable atom upon its retraction or destruction

+ + + diff --git a/datum/component/toggle_icon.html b/datum/component/toggle_icon.html new file mode 100644 index 00000000000..d0d37171dc2 --- /dev/null +++ b/datum/component/toggle_icon.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/toggle_icon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

toggle_icon + + + +

+ + + + +

Vars

base_icon_stateThe base icon state we do operations on.
toggle_nounThe noun of what was "toggled" displayed to the user. EX: "Toggled the item's [buttons]"
toggledWhether the icon is toggled
+

Var Details

base_icon_state + + + + +

+

The base icon state we do operations on.

toggle_noun + + + + +

+

The noun of what was "toggled" displayed to the user. EX: "Toggled the item's [buttons]"

toggled + + + + +

+

Whether the icon is toggled

+ + + diff --git a/datum/component/torn_wall.html b/datum/component/torn_wall.html new file mode 100644 index 00000000000..8bb3dc7e1d6 --- /dev/null +++ b/datum/component/torn_wall.html @@ -0,0 +1,80 @@ + + + + + + + /datum/component/torn_wall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

torn_wall + + + +

+ +

Component applied to a wall to progressively destroy it. +If component is applied to something which already has it, stage increases. +Wall is destroyed on third application. +Can be fixed using a welder

+ + + + + + +

Procs

apply_visualsPlay a fun animation and make our wall look damaged
increase_stageMake the effect more dramatic
on_examinedGive them a hint
on_turf_changedIf the wall becomes any other turf, delete us. Transforming into a different works fine as a fix.
on_update_overlaysShow a little crack on here
on_weldedFix it up on weld
try_repairFix us up

Proc Details

apply_visuals +

+

Play a fun animation and make our wall look damaged

increase_stage +

+

Make the effect more dramatic

on_examined +

+

Give them a hint

on_turf_changed +

+

If the wall becomes any other turf, delete us. Transforming into a different works fine as a fix.

on_update_overlays +

+

Show a little crack on here

on_welded +

+

Fix it up on weld

try_repair +

+

Fix us up

+ + + diff --git a/datum/component/trader.html b/datum/component/trader.html new file mode 100644 index 00000000000..90ef67cbe25 --- /dev/null +++ b/datum/component/trader.html @@ -0,0 +1,231 @@ + + + + + + + /datum/component/trader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Trader NPC Component + + + +

+ +

Manages the barks and the stocks of the traders +Also manages the interactive radial menu

+ + + + + + + + + + + + + + + + + + + +

Vars

productsFormat; list(TYPEPATH = list(PRICE, QUANTITY)) +Associated list of items the NPC sells with how much they cost and the quantity available before a restock +This list is filled by Initialize(), if you want to change the starting products, modify initial_products()
radial_icons_cacheContains images of all radial icons
trader_dataContains information of a specific trader
wanted_itemsA list of wanted items that the trader would wish to buy, each typepath has a assigned value, quantity and additional flavor text

Procs

apply_sell_price_modsModifies the 'base' price of a item based on certain variables
buy_itemGenerates a radial of the items the NPC sells and lets the user try to buy one +Arguments:
can_tradeReturns if the trader is conscious and its combat mode is disabled.
check_menuChecks if the customer is ok to use the radial
discussTalk about what items are being sold/wanted by the trader and in what quantity or lore
exchange_sold_itemsHandles modifying/deleting the items to ensure that a proper amount is converted into cash; put into it's own proc to make the children of this not override a 30+ line sell_item()
generate_cashCreates an item equal to the value set by the proc and puts it in the user's hands if possible +Arguments:
on_attack_handIf our trader is alive, and the customer left clicks them with an empty hand without combat mode
open_npc_optionsGenerates a radial of the initial radials of the NPC +Called via asynch, due to the sleep caused by show_radial_menu +Arguments:
renew_item_demandsSets quantity of all wanted_items to initial(quanity); this proc is currently called during initialize
restock_productsSets quantity of all products to initial(quanity); this proc is currently called during initialize
sell_itemChecks if an item is in the list of wanted items and if it is after a Yes/No radial returns generate_cash with the value of the item for the NPC +Arguments:
spend_buyer_offhand_moneyCalculates the value of money in the hand of the buyer and spends it if it's sufficient
trader_buys_whatDisplays to the customer what the trader is willing to buy and how much until a restock happens
trader_sells_whatDisplays to the customer what the trader is selling and how much is in stock
try_sellTries to call sell_item on one of the customer's held items, if fail gives a chat message
+

Var Details

products + + + + +

+

Format; list(TYPEPATH = list(PRICE, QUANTITY)) +Associated list of items the NPC sells with how much they cost and the quantity available before a restock +This list is filled by Initialize(), if you want to change the starting products, modify initial_products()

radial_icons_cache + + + + +

+

Contains images of all radial icons

trader_data + + + + +

+

Contains information of a specific trader

wanted_items + + + + +

+

A list of wanted items that the trader would wish to buy, each typepath has a assigned value, quantity and additional flavor text

+

CHILDREN OF TYPEPATHS INCLUDED IN WANTED_ITEMS WILL BE TREATED AS THE PARENT IF NO ENTRY EXISTS FOR THE CHILDREN

+

As an additional note; if you include multiple children of a typepath; the typepath with the most children should be placed after all other typepaths +Bad; list(/obj/item/milk = list(100, 1, ""), /obj/item/milk/small = list(50, 2, "")) +Good; list(/obj/item/milk/small = list(50, 2, ""), /obj/item/milk = list(100, 1, "")) +This is mainly because sell_item() uses a istype(item_being_sold, item_in_entry) to determine what parent should the child be automatically considered as +If /obj/item/milk/small/spooky was being sold; /obj/item/milk/small would be the first to check against rather than /obj/item/milk

+

Format; list(TYPEPATH = list(PRICE, QUANTITY, ADDITIONAL_DESCRIPTION)) +Associated list of items able to be sold to the NPC with the money given for them. +The price given should be the "base" price; any price manipulation based on variables should be done with apply_sell_price_mods() +ADDITIONAL_DESCRIPTION is any additional text added to explain how the variables of the item effect the price; if it's stack based, it's final price depends how much is in the stack +EX; /obj/item/stack/sheet/mineral/diamond = list(500, INFINITY, ", per 100 cm3 sheet of diamond") +This list is filled by Initialize(), if you want to change the starting wanted items, modify initial_wanteds()

Proc Details

apply_sell_price_mods +

+

Modifies the 'base' price of a item based on certain variables

+

Arguments:

+

buy_item +

+

Generates a radial of the items the NPC sells and lets the user try to buy one +Arguments:

+

can_trade +

+

Returns if the trader is conscious and its combat mode is disabled.

check_menu +

+

Checks if the customer is ok to use the radial

+

Checks if the customer is not a mob or is incapacitated or not adjacent to the source of the radial, in those cases returns FALSE, otherwise returns TRUE +Arguments:

+

discuss +

+

Talk about what items are being sold/wanted by the trader and in what quantity or lore

exchange_sold_items +

+

Handles modifying/deleting the items to ensure that a proper amount is converted into cash; put into it's own proc to make the children of this not override a 30+ line sell_item()

+

Arguments:

+

generate_cash +

+

Creates an item equal to the value set by the proc and puts it in the user's hands if possible +Arguments:

+

on_attack_hand +

+

If our trader is alive, and the customer left clicks them with an empty hand without combat mode

open_npc_options +

+

Generates a radial of the initial radials of the NPC +Called via asynch, due to the sleep caused by show_radial_menu +Arguments:

+

renew_item_demands +

+

Sets quantity of all wanted_items to initial(quanity); this proc is currently called during initialize

restock_products +

+

Sets quantity of all products to initial(quanity); this proc is currently called during initialize

sell_item +

+

Checks if an item is in the list of wanted items and if it is after a Yes/No radial returns generate_cash with the value of the item for the NPC +Arguments:

+

spend_buyer_offhand_money +

+

Calculates the value of money in the hand of the buyer and spends it if it's sufficient

trader_buys_what +

+

Displays to the customer what the trader is willing to buy and how much until a restock happens

trader_sells_what +

+

Displays to the customer what the trader is selling and how much is in stock

try_sell +

+

Tries to call sell_item on one of the customer's held items, if fail gives a chat message

+

Gets both items in the customer's hands, and then tries to call sell_item on them, if both fail, he gives a chat message +Arguments:

+
+ + + diff --git a/datum/component/traitor_objective_limit_per_time.html b/datum/component/traitor_objective_limit_per_time.html new file mode 100644 index 00000000000..3db33a8baf0 --- /dev/null +++ b/datum/component/traitor_objective_limit_per_time.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/traitor_objective_limit_per_time - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor_objective_limit_per_time + + + +

+ +

Helper component to track events on

+ + +

Vars

maximum_objectivesThe maximum amount of objectives that can be active or recently active at one time
time_periodThe maximum time that an objective will be considered for. Set to -1 to accept any time.
typepathThe typepath which we check for
+

Var Details

maximum_objectives + + + + +

+

The maximum amount of objectives that can be active or recently active at one time

time_period + + + + +

+

The maximum time that an objective will be considered for. Set to -1 to accept any time.

typepath + + + + +

+

The typepath which we check for

+ + + diff --git a/datum/component/traitor_objective_mind_tracker.html b/datum/component/traitor_objective_mind_tracker.html new file mode 100644 index 00000000000..926ea39f303 --- /dev/null +++ b/datum/component/traitor_objective_mind_tracker.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/traitor_objective_mind_tracker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor_objective_mind_tracker + + + +

+ +

Helper component to track events on

+ + +

Vars

current_registered_targetCurrent registered target
signalsSignals to listen out for mapped to procs to call
targetThe target to track
+

Var Details

current_registered_target + + + + +

+

Current registered target

signals + + + + +

+

Signals to listen out for mapped to procs to call

target + + + + +

+

The target to track

+ + + diff --git a/datum/component/traitor_objective_register.html b/datum/component/traitor_objective_register.html new file mode 100644 index 00000000000..44e7a272ec8 --- /dev/null +++ b/datum/component/traitor_objective_register.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/traitor_objective_register - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor_objective_register + + + +

+ +

Helper component that registers signals on an object +This is not necessary to use and gives little control over the conditions

+ + + +

Vars

fail_signalsSignals to listen out for to automatically fail the objective.
penaltyWhether failing has a penalty
succeed_signalsSignals to listen out for to automatically succeed the objective
targetThe target to apply the succeed/fail signals onto
+

Var Details

fail_signals + + + + +

+

Signals to listen out for to automatically fail the objective.

penalty + + + + +

+

Whether failing has a penalty

succeed_signals + + + + +

+

Signals to listen out for to automatically succeed the objective

target + + + + +

+

The target to apply the succeed/fail signals onto

+ + + diff --git a/datum/component/transforming.html b/datum/component/transforming.html new file mode 100644 index 00000000000..faf26de876a --- /dev/null +++ b/datum/component/transforming.html @@ -0,0 +1,141 @@ + + + + + + + /datum/component/transforming - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transforming + + + +

+ + + + + + + + + + + + + + + + + +

Vars

activeWhether the weapon is transformed
attack_verb_continuous_offList of the original continuous attack verbs the item has.
attack_verb_continuous_onList of continuous attack verbs used when the weapon is enabled
attack_verb_simple_offList of the original simple attack verbs the item has.
attack_verb_simple_onList of simple attack verbs used when the weapon is enabled
clumsy_checkWhether clumsy people need to succeed an RNG check to turn it on without hurting themselves
force_onForce of the weapon when active
hitsound_onHitsound played when active
inhand_icon_changeDictate whether we change inhands or not
sharpened_bonusIf we get sharpened with a whetstone, save the bonus here for later use if we un/redeploy
sharpness_onThe sharpness of the weapon when active
throw_speed_onThrow speed of the weapon when active
throwforce_onThrowforce of the weapon when active
transform_cooldownCooldown in between transforms
transform_cooldown_timeCooldown on transforming this item back and forth
w_class_onWeight class of the weapon when active
+

Var Details

active + + + + +

+

Whether the weapon is transformed

attack_verb_continuous_off + + + + +

+

List of the original continuous attack verbs the item has.

attack_verb_continuous_on + + + + +

+

List of continuous attack verbs used when the weapon is enabled

attack_verb_simple_off + + + + +

+

List of the original simple attack verbs the item has.

attack_verb_simple_on + + + + +

+

List of simple attack verbs used when the weapon is enabled

clumsy_check + + + + +

+

Whether clumsy people need to succeed an RNG check to turn it on without hurting themselves

force_on + + + + +

+

Force of the weapon when active

hitsound_on + + + + +

+

Hitsound played when active

inhand_icon_change + + + + +

+

Dictate whether we change inhands or not

sharpened_bonus + + + + +

+

If we get sharpened with a whetstone, save the bonus here for later use if we un/redeploy

sharpness_on + + + + +

+

The sharpness of the weapon when active

throw_speed_on + + + + +

+

Throw speed of the weapon when active

throwforce_on + + + + +

+

Throwforce of the weapon when active

transform_cooldown + + + + +

+

Cooldown in between transforms

transform_cooldown_time + + + + +

+

Cooldown on transforming this item back and forth

w_class_on + + + + +

+

Weight class of the weapon when active

+ + + diff --git a/datum/component/trapdoor.html b/datum/component/trapdoor.html new file mode 100644 index 00000000000..007dc7cb755 --- /dev/null +++ b/datum/component/trapdoor.html @@ -0,0 +1,146 @@ + + + + + + + /datum/component/trapdoor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trapdoor + + + +

+ +trapdoor component! +

component attached to floors to turn them into trapdoors, a constructable trap that when signalled drops people to the level below. +assembly code at the bottom of this file

+ + + + + + + + + + + + + + +

Vars

assemblyassembly tied to this trapdoor
conspicuousis this trapdoor "conspicuous" (ie. it gets examine text and overlay added)
trapdoor_overlayoverlay that makes trapdoors more obvious
trapdoor_turf_pathpath of the turf this should change into when the assembly is pulsed. needed for openspace trapdoors knowing what to turn back into

Procs

apply_decalsmall proc that takes passed arguments and drops it into a new element
carry_over_trapdoor
on_examine
on_link_requestedcalled by linking remotes to tie an assembly to the trapdoor
openspace_trapdoor_setupinitializing as an opened trapdoor, we need to trust that we were given the data by a closed trapdoor
reapply_all_decalsso it adds the list to the list, not appending it to the end. thank you byond, very cool.
tile_trapdoor_setupinitializing as a closed trapdoor, we need to take data from the tile we're on to give it to the open state to store
toggle_trapdoorsignal called by our assembly being pulsed
try_closingwe want to save this turf's decals as they were right before deletion, so this is the point where we begin listening
try_opening
turf_changed_presignal called by turf changing
+

Var Details

assembly + + + + +

+

assembly tied to this trapdoor

conspicuous + + + + +

+

is this trapdoor "conspicuous" (ie. it gets examine text and overlay added)

trapdoor_overlay + + + + +

+

overlay that makes trapdoors more obvious

trapdoor_turf_path + + + + +

+

path of the turf this should change into when the assembly is pulsed. needed for openspace trapdoors knowing what to turn back into

Proc Details

apply_decal +

+

small proc that takes passed arguments and drops it into a new element

carry_over_trapdoor +

+ carry_over_trapdoor +

applies the trapdoor to the new turf (created by the last trapdoor) +apparently callbacks with arguments on invoke and the callback itself have the callback args go first. interesting!

on_examine +

+ on_examine +

examine message for conspicuous trapdoors that makes it obvious

+

called by linking remotes to tie an assembly to the trapdoor

openspace_trapdoor_setup +

+

initializing as an opened trapdoor, we need to trust that we were given the data by a closed trapdoor

reapply_all_decals +

+

so it adds the list to the list, not appending it to the end. thank you byond, very cool.

+reapply_all_decals +

changing turfs does not bring over decals, so we must perform a little bit of element reapplication.

tile_trapdoor_setup +

+

initializing as a closed trapdoor, we need to take data from the tile we're on to give it to the open state to store

toggle_trapdoor +

+

signal called by our assembly being pulsed

try_closing +

+

we want to save this turf's decals as they were right before deletion, so this is the point where we begin listening

+try_closing +

small proc for closing the turf back into what it should be +trapdoor can be blocked by building things on the openspace turf

try_opening +

+ try_opening +

small proc for opening the turf into openspace +there are no checks for opening a trapdoor, but closed has some

turf_changed_pre +

+

signal called by turf changing

+ + + diff --git a/datum/component/tree_climber.html b/datum/component/tree_climber.html new file mode 100644 index 00000000000..856a784cb98 --- /dev/null +++ b/datum/component/tree_climber.html @@ -0,0 +1,43 @@ + + + + + + + /datum/component/tree_climber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tree_climber + + + +

+ + + +

Vars

climbing_distancethe distance to climb up and down
current_treethe tree we are on
+

Var Details

climbing_distance + + + + +

+

the distance to climb up and down

current_tree + + + + +

+

the tree we are on

+ + + diff --git a/datum/component/two_handed.html b/datum/component/two_handed.html new file mode 100644 index 00000000000..d1c85e1b202 --- /dev/null +++ b/datum/component/two_handed.html @@ -0,0 +1,222 @@ + + + + + + + /datum/component/two_handed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

two_handed + + + +

+ +

Two Handed Component

+

When applied to an item it will make it two handed

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

attacksoundPlay sound when unwielded
force_multiplierAre we holding the two handed item properly
force_unwieldedThe force of the item when weilded
force_wieldedThe multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded
icon_wieldedDoes it have to be held in both hands
offhand_itemThe icon that will be used when wielded
require_twohandsPlay sound on attack when wielded
sharpened_increaseReference to the offhand created for the item
unwield_callbackA callback on the parent to be called when the item is unwielded
unwieldsoundPlay sound when wielded
wield_callbackThe amount of increase recived from sharpening the item +A callback on the parent to be called when the item is wielded
wieldsoundThe force of the item when unweilded

Procs

InitializeTwo Handed component
on_attackon_attack triggers on attack with the parent item
on_attack_selfTriggered on attack self of the item containing the component
on_destroyTriggered on destroy of the component's offhand
on_dropTriggered on drop of item containing the component
on_equipTriggered on equip of the item containing the component
on_movedon_moved Triggers on item moved
on_sharpenon_sharpen Triggers on usage of a sharpening stone on the item
on_swapping_handson_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy
on_update_iconon_update_icon triggers on call to update parent items icon
unwieldUnwield the two handed item
wieldWield the two handed item in both hands
+

Var Details

attacksound + + + + +

+

Play sound when unwielded

force_multiplier + + + + +

+

Are we holding the two handed item properly

force_unwielded + + + + +

+

The force of the item when weilded

force_wielded + + + + +

+

The multiplier applied to force when wielded, does not work with force_wielded, and force_unwielded

icon_wielded + + + + +

+

Does it have to be held in both hands

offhand_item + + + + +

+

The icon that will be used when wielded

require_twohands + + + + +

+

Play sound on attack when wielded

sharpened_increase + + + + +

+

Reference to the offhand created for the item

unwield_callback + + + + +

+

A callback on the parent to be called when the item is unwielded

unwieldsound + + + + +

+

Play sound when wielded

wield_callback + + + + +

+

The amount of increase recived from sharpening the item +A callback on the parent to be called when the item is wielded

wieldsound + + + + +

+

The force of the item when unweilded

Proc Details

Initialize +

+

Two Handed component

+

vars:

+

on_attack +

+

on_attack triggers on attack with the parent item

on_attack_self +

+

Triggered on attack self of the item containing the component

on_destroy +

+

Triggered on destroy of the component's offhand

on_drop +

+

Triggered on drop of item containing the component

on_equip +

+

Triggered on equip of the item containing the component

on_moved +

+

on_moved Triggers on item moved

on_sharpen +

+

on_sharpen Triggers on usage of a sharpening stone on the item

on_swapping_hands +

+

on_swap_hands Triggers on swapping hands, blocks swap if the other hand is busy

on_update_icon +

+

on_update_icon triggers on call to update parent items icon

+

Updates the icon using icon_wielded if set

unwield +

+

Unwield the two handed item

+

vars:

+

wield +

+

Wield the two handed item in both hands

+

vars:

+
+ + + diff --git a/datum/component/udder.html b/datum/component/udder.html new file mode 100644 index 00000000000..348965acbbb --- /dev/null +++ b/datum/component/udder.html @@ -0,0 +1,58 @@ + + + + + + + /datum/component/udder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

udder + + + +

+ +

Udder component; for farm animals to generate milk.

+

Used for cows, goats, gutlunches. neat!

+ + + +

Vars

on_milk_callbackoptional proc to callback to when the udder is milked
udderabstract item for managing reagents (further down in this file)

Procs

on_attackbysignal called on parent being attacked with an item
on_examinesignal called on parent being examined
+

Var Details

on_milk_callback + + + + +

+

optional proc to callback to when the udder is milked

udder + + + + +

+

abstract item for managing reagents (further down in this file)

Proc Details

on_attackby +

+

signal called on parent being attacked with an item

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/component/unobserved_actor.html b/datum/component/unobserved_actor.html new file mode 100644 index 00000000000..79b5fe1c46f --- /dev/null +++ b/datum/component/unobserved_actor.html @@ -0,0 +1,95 @@ + + + + + + + /datum/component/unobserved_actor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

unobserved_actor + + + +

+ +Unobserved Actor +

Blocks certain actions while this mob is being observed by something.

+ + + + + + + + +

Vars

message_cooldownCooldown to prevent message spam when holding a move button
unobserved_flagsDictates what behaviour you're blocked from while observed

Procs

can_be_seenReturns true if you can be seen by something. +Not a very robust algorithm but it'll work in the majority of situations.
check_if_seenChecks if the mob is visible to something else, and provides a balloon alert of feedback if appropriate.
on_tried_abilityCalled when the mob tries to use an ability
on_tried_attackCalled when the mob tries to attack
on_tried_moveCalled when the mob tries to move
on_tried_spellCalled when the mob tries to cast a spell
on_tried_turnCalled when the mob tries to change direction
+

Var Details

message_cooldown + + + + +

+

Cooldown to prevent message spam when holding a move button

unobserved_flags + + + + +

+

Dictates what behaviour you're blocked from while observed

Proc Details

can_be_seen +

+

Returns true if you can be seen by something. +Not a very robust algorithm but it'll work in the majority of situations.

check_if_seen +

+

Checks if the mob is visible to something else, and provides a balloon alert of feedback if appropriate.

on_tried_ability +

+

Called when the mob tries to use an ability

on_tried_attack +

+

Called when the mob tries to attack

on_tried_move +

+

Called when the mob tries to move

on_tried_spell +

+

Called when the mob tries to cast a spell

on_tried_turn +

+

Called when the mob tries to change direction

+ + + diff --git a/datum/component/uplink.html b/datum/component/uplink.html new file mode 100644 index 00000000000..eeb7bb32236 --- /dev/null +++ b/datum/component/uplink.html @@ -0,0 +1,158 @@ + + + + + + + /datum/component/uplink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

uplink + + + +

+ +

Uplinks

+

All /obj/item(s) have a hidden_uplink var. By default it's null. Give the item one with 'new(src') (it must be in it's contents). Then add 'uses.' +Use whatever conditionals you want to check that the user has an uplink, and then call interact() on their uplink. +You might also want the uplink menu to open if active. Check if the uplink is 'active' and then interact() with it.

+ + + + + + + + + + + + + + + + + +

Vars

activeWhether the uplink is currently active or not
allow_restrictedWhether this uplink allows restricted items to be accessed
failsafe_codeThe failsafe code that causes this uplink to blow up.
lockableWhether this uplink can be locked or not
lockedWhether the uplink is locked or not.
nameName of the uplink
ownerCurrent owner of the uplink
previous_attemptsUsed for pen uplink
purchase_logPurchase log, listing all the purchases this uplink has made
unlock_codeCode to unlock the uplink.
unlock_noteThe unlock note that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon
unlock_textThe unlock text that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon
uplink_handlerThe current linked uplink handler.

Procs

add_telecrystalsAdds telecrystals to the uplink. It is bad practice to use this outside of the component itself.
handle_uplink_replacedWhen a new uplink is made via the syndicate beacon it locks all lockable uplinks and destroys replacement uplinks
lock_uplinkProc that locks uplinks
on_heardProc that unlocks a locked replacement uplink when it hears the unlock code from their datum
set_telecrystalsSets the telecrystals of the uplink. It is bad practice to use this outside of the component itself.
+

Var Details

active + + + + +

+

Whether the uplink is currently active or not

allow_restricted + + + + +

+

Whether this uplink allows restricted items to be accessed

failsafe_code + + + + +

+

The failsafe code that causes this uplink to blow up.

lockable + + + + +

+

Whether this uplink can be locked or not

locked + + + + +

+

Whether the uplink is locked or not.

name + + + + +

+

Name of the uplink

owner + + + + +

+

Current owner of the uplink

previous_attempts + + + + +

+

Used for pen uplink

purchase_log + + + + +

+

Purchase log, listing all the purchases this uplink has made

unlock_code + + + + +

+

Code to unlock the uplink.

unlock_note + + + + +

+

The unlock note that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon

unlock_text + + + + +

+

The unlock text that is sent to the traitor with this uplink. This is not modular and not recommended to expand upon

+

The current linked uplink handler.

Proc Details

add_telecrystals +

+

Adds telecrystals to the uplink. It is bad practice to use this outside of the component itself.

+

When a new uplink is made via the syndicate beacon it locks all lockable uplinks and destroys replacement uplinks

+

Proc that locks uplinks

on_heard +

+

Proc that unlocks a locked replacement uplink when it hears the unlock code from their datum

set_telecrystals +

+

Sets the telecrystals of the uplink. It is bad practice to use this outside of the component itself.

+ + + diff --git a/datum/component/usb_port.html b/datum/component/usb_port.html new file mode 100644 index 00000000000..22c45c59bcd --- /dev/null +++ b/datum/component/usb_port.html @@ -0,0 +1,71 @@ + + + + + + + /datum/component/usb_port - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

usb_port + + + +

+ +

Opens up a USB port that can be connected to by circuits, creating registerable circuit components

+ + + + + +

Vars

attached_circuitThe currently connected circuit
circuit_component_typesThe component types to create when something plugs in
circuit_componentsThe components inside the parent
physical_objectThe current physical object that the beam is connected to and listens to.
usb_cable_beamThe beam connecting the USB cable to the machine
usb_cable_refThe currently connected USB cable
+

Var Details

attached_circuit + + + + +

+

The currently connected circuit

circuit_component_types + + + + +

+

The component types to create when something plugs in

circuit_components + + + + +

+

The components inside the parent

physical_object + + + + +

+

The current physical object that the beam is connected to and listens to.

usb_cable_beam + + + + +

+

The beam connecting the USB cable to the machine

usb_cable_ref + + + + +

+

The currently connected USB cable

+ + + diff --git a/datum/component/vacuum.html b/datum/component/vacuum.html new file mode 100644 index 00000000000..b1ee139abba --- /dev/null +++ b/datum/component/vacuum.html @@ -0,0 +1,82 @@ + + + + + + + /datum/component/vacuum - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Vacuum Component + + + +

+ +

Adds a vacuum functionality to an atom, requires a trashbag to be linked +using signals

+ + + + +

Vars

vacuum_bagThe linked trash bag to vacuum trash into

Procs

attach_bagHandler for when a new trash bag is attached
detach_bagHandler for when a trash bag is detached
suckCalled when parent moves, deligates vacuuming functionality
suck_itemsSucks up items as possible from a provided turf into the connected trash bag
+

Var Details

vacuum_bag + + + + +

+

The linked trash bag to vacuum trash into

Proc Details

attach_bag +

+

Handler for when a new trash bag is attached

+

Arguments:

+

detach_bag +

+

Handler for when a trash bag is detached

+

Arguments:

+

suck +

+

Called when parent moves, deligates vacuuming functionality

+

Arguments:

+

suck_items +

+

Sucks up items as possible from a provided turf into the connected trash bag

+

Arguments:

+
+ + + diff --git a/datum/component/wall_mounted.html b/datum/component/wall_mounted.html new file mode 100644 index 00000000000..83142d94d9f --- /dev/null +++ b/datum/component/wall_mounted.html @@ -0,0 +1,73 @@ + + + + + + + /datum/component/wall_mounted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wall_mounted + + + +

+ + + + + + + +

Vars

hanging_wall_turfThe wall our object is currently linked to.
on_dropCallback to the parent's proc to call on the linked object when the wall disappear's or changes.

Procs

drop_wallmountHandles the dropping of the linked object. This is done via deconstruction, as that should be the most sane way to handle it for most objects. +Except for intercoms, which are handled by creating a new wallframe intercom, as they're apparently items.
on_examineWhen the wall is examined, explains that it's supporting the linked object.
on_linked_destroyedBasic reference handling if the hanging/linked object is destroyed first.
on_turf_changingWhen the type of turf changes, if it is changing into a floor we should drop our contents
+

Var Details

hanging_wall_turf + + + + +

+

The wall our object is currently linked to.

on_drop + + + + +

+

Callback to the parent's proc to call on the linked object when the wall disappear's or changes.

Proc Details

drop_wallmount +

+

Handles the dropping of the linked object. This is done via deconstruction, as that should be the most sane way to handle it for most objects. +Except for intercoms, which are handled by creating a new wallframe intercom, as they're apparently items.

on_examine +

+

When the wall is examined, explains that it's supporting the linked object.

on_linked_destroyed +

+

Basic reference handling if the hanging/linked object is destroyed first.

on_turf_changing +

+

When the type of turf changes, if it is changing into a floor we should drop our contents

+ + + diff --git a/datum/component/wearertargeting/punchcooldown.html b/datum/component/wearertargeting/punchcooldown.html new file mode 100644 index 00000000000..0ba3dd0ea74 --- /dev/null +++ b/datum/component/wearertargeting/punchcooldown.html @@ -0,0 +1,50 @@ + + + + + + + /datum/component/wearertargeting/punchcooldown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

punchcooldown + + + +

+ +

Your favourite Jojoke. Used for the gloves of the north star.

+ + +

Vars

warcryThe warcry this generates

Procs

changewarcryCalled on COMSIG_ITEM_ATTACK_SELF. Allows you to change the warcry.
reducecooldownCalled on COMSIG_LIVING_UNARMED_ATTACK. Yells the warcry and and reduces punch cooldown.
+

Var Details

warcry + + + + +

+

The warcry this generates

Proc Details

changewarcry +

+

Called on COMSIG_ITEM_ATTACK_SELF. Allows you to change the warcry.

reducecooldown +

+

Called on COMSIG_LIVING_UNARMED_ATTACK. Yells the warcry and and reduces punch cooldown.

+ + + diff --git a/datum/component/wearertargeting/sitcomlaughter.html b/datum/component/wearertargeting/sitcomlaughter.html new file mode 100644 index 00000000000..d79a3bbb2a5 --- /dev/null +++ b/datum/component/wearertargeting/sitcomlaughter.html @@ -0,0 +1,64 @@ + + + + + + + /datum/component/wearertargeting/sitcomlaughter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sitcomlaughter + + + +

+ + + + + + +

Vars

comedysoundsSounds used for when user has a sitcom action occur
cooldown_timeCooldown for inbetween laughs
laugh_delayDelay before laugh starts
post_comedy_callbackInvoked in EngageInComedy is ran

Procs

EngageInComedyPlay the laugh track if any of the signals related to comedy have been sent.
+

Var Details

comedysounds + + + + +

+

Sounds used for when user has a sitcom action occur

cooldown_time + + + + +

+

Cooldown for inbetween laughs

laugh_delay + + + + +

+

Delay before laugh starts

post_comedy_callback + + + + +

+

Invoked in EngageInComedy is ran

Proc Details

EngageInComedy +

+

Play the laugh track if any of the signals related to comedy have been sent.

+ + + diff --git a/datum/component/weather_announcer.html b/datum/component/weather_announcer.html new file mode 100644 index 00000000000..93ff9f98e3f --- /dev/null +++ b/datum/component/weather_announcer.html @@ -0,0 +1,106 @@ + + + + + + + /datum/component/weather_announcer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

weather_announcer + + + +

+ +

Component which makes you yell about what the weather is

+ + + + + + + + + + +

Vars

enabledAre we actually turned on right now?
is_weather_dangerousWhether the incoming weather is actually going to harm you
state_dangerOverlay added when you are in danger
state_normalOverlay added when things are alright
state_warningOverlay added when you should start looking for shelter
warning_levelCurrently displayed warning level

Procs

get_warning_messageReturns a string we should display to communicate what you should be doing
on_power_lostIf no power, don't receive updates
on_poweredIf powered, receive updates
on_update_overlaysAdd appropriate overlays
set_current_alert_levelPolls existing weather for what kind of warnings we should be displaying.
+

Var Details

enabled + + + + +

+

Are we actually turned on right now?

is_weather_dangerous + + + + +

+

Whether the incoming weather is actually going to harm you

state_danger + + + + +

+

Overlay added when you are in danger

state_normal + + + + +

+

Overlay added when things are alright

state_warning + + + + +

+

Overlay added when you should start looking for shelter

warning_level + + + + +

+

Currently displayed warning level

Proc Details

get_warning_message +

+

Returns a string we should display to communicate what you should be doing

on_power_lost +

+

If no power, don't receive updates

on_powered +

+

If powered, receive updates

on_update_overlays +

+

Add appropriate overlays

set_current_alert_level +

+

Polls existing weather for what kind of warnings we should be displaying.

+ + + diff --git a/datum/component/wet_floor.html b/datum/component/wet_floor.html new file mode 100644 index 00000000000..c5662803876 --- /dev/null +++ b/datum/component/wet_floor.html @@ -0,0 +1,38 @@ + + + + + + + /datum/component/wet_floor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wet_floor + + + +

+ + +

Vars

should_display_overlayShould we display an overlay for this component? Useful mainly for turfs +that already look wets or just don't need the visuals for any other reason.
+

Var Details

should_display_overlay + + + + +

+

Should we display an overlay for this component? Useful mainly for turfs +that already look wets or just don't need the visuals for any other reason.

+ + + diff --git a/datum/computer_file.html b/datum/computer_file.html new file mode 100644 index 00000000000..f9c2369e18b --- /dev/null +++ b/datum/computer_file.html @@ -0,0 +1,140 @@ + + + + + + + /datum/computer_file - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

computer_file + + + +

+ + + + + + + + + + + + + + +

Vars

computerThe modular computer hosting the file.
disk_hostThe computer disk hosting the file.
file_uidStatic ID to ensure all IDs are unique.
filenameThe name of the internal file shown in file management.
filetypeThe type of file format the file is in, placed after filename. PNG, TXT, ect. This would be NewFile.XXX
sizeHow much GQ storage space the file will take to store. Integers only!
uidThe computer file's personal ID
undeletableWhether the file may be deleted. Setting to TRUE prevents deletion/renaming/etc.

Procs

application_attackbyCalled when attacking a tablet with an item, checking if any application uses it. Return TRUE to cancel the attack chain.
can_store_fileUsed for special cases where an application +Requires special circumstances to install on a PC +Args:
on_examineCalled when examining a modular computer +Args: +Source - The tablet that's being examined +User - Person examining the computer
on_installCalled post-installation of an application in a computer, after 'computer' var is set.
try_ejectImplement this when your program has an object that the user can eject.
+

Var Details

computer + + + + +

+

The modular computer hosting the file.

disk_host + + + + +

+

The computer disk hosting the file.

file_uid + + + + +

+

Static ID to ensure all IDs are unique.

filename + + + + +

+

The name of the internal file shown in file management.

filetype + + + + +

+

The type of file format the file is in, placed after filename. PNG, TXT, ect. This would be NewFile.XXX

size + + + + +

+

How much GQ storage space the file will take to store. Integers only!

uid + + + + +

+

The computer file's personal ID

undeletable + + + + +

+

Whether the file may be deleted. Setting to TRUE prevents deletion/renaming/etc.

Proc Details

application_attackby +

+

Called when attacking a tablet with an item, checking if any application uses it. Return TRUE to cancel the attack chain.

can_store_file +

+

Used for special cases where an application +Requires special circumstances to install on a PC +Args:

+

on_examine +

+

Called when examining a modular computer +Args: +Source - The tablet that's being examined +User - Person examining the computer

+

note: please replace this with signals when hdd's are removed and program's New() already has the tablet set.

on_install +

+

Called post-installation of an application in a computer, after 'computer' var is set.

try_eject +

+

Implement this when your program has an object that the user can eject.

+

Examples include ejecting cells AI intellicards. +Arguments:

+
+ + + diff --git a/datum/computer_file/data/ordnance.html b/datum/computer_file/data/ordnance.html new file mode 100644 index 00000000000..9c420deaaff --- /dev/null +++ b/datum/computer_file/data/ordnance.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/data/ordnance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ordnance + + + +

+ +

Ordnance data +Holds possible experiments to do

+

Vars

possible_experimentsList of experiments filtered by doppler array or populated by the tank compressor. Experiment path as key, score as value.
+

Var Details

possible_experiments + + + + +

+

List of experiments filtered by doppler array or populated by the tank compressor. Experiment path as key, score as value.

+ + + diff --git a/datum/computer_file/data/ordnance/explosive.html b/datum/computer_file/data/ordnance/explosive.html new file mode 100644 index 00000000000..cb8f277fc28 --- /dev/null +++ b/datum/computer_file/data/ordnance/explosive.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/data/ordnance/explosive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

explosive + + + +

+ +

Explosive data +Holds a specific taychon record.

+

Vars

explosion_recordTachyon record, used for an explosive experiment.
+

Var Details

explosion_record + + + + +

+

Tachyon record, used for an explosive experiment.

+ + + diff --git a/datum/computer_file/data/ordnance/gaseous.html b/datum/computer_file/data/ordnance/gaseous.html new file mode 100644 index 00000000000..67e677051ae --- /dev/null +++ b/datum/computer_file/data/ordnance/gaseous.html @@ -0,0 +1,37 @@ + + + + + + + /datum/computer_file/data/ordnance/gaseous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gaseous + + + +

+ +

Gaseous data +Holds a specific compressor record.

+

Vars

gas_recordThe gas record stored in the file.
+

Var Details

gas_record + + + + +

+

The gas record stored in the file.

+ + + diff --git a/datum/computer_file/data/text.html b/datum/computer_file/data/text.html new file mode 100644 index 00000000000..b713da6ab34 --- /dev/null +++ b/datum/computer_file/data/text.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/data/text - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

text + + + +

+ +

Holds data in string format.

+

Vars

stored_textStored data in string format.
+

Var Details

stored_text + + + + +

+

Stored data in string format.

+ + + diff --git a/datum/computer_file/picture.html b/datum/computer_file/picture.html new file mode 100644 index 00000000000..523c68c4e91 --- /dev/null +++ b/datum/computer_file/picture.html @@ -0,0 +1,53 @@ + + + + + + + /datum/computer_file/picture - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

picture + + + +

+ +

PNG file type +Stores a picture which can be used by other programs.

+ + +

Vars

picture_nameThe name of the asset cache item. +This will be initialized after assign_path() is called.
stored_pictureThe instance of the stored picture.

Procs

assign_pathAssigns an asset path to the stored image, for use in the UI.
+

Var Details

picture_name + + + + +

+

The name of the asset cache item. +This will be initialized after assign_path() is called.

stored_picture + + + + +

+

The instance of the stored picture.

Proc Details

assign_path +

+

Assigns an asset path to the stored image, for use in the UI.

+ + + diff --git a/datum/computer_file/program.html b/datum/computer_file/program.html new file mode 100644 index 00000000000..a9a177aa09a --- /dev/null +++ b/datum/computer_file/program.html @@ -0,0 +1,294 @@ + + + + + + + /datum/computer_file/program - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

program + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alert_ableWhether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager
alert_pendingWhether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.
alert_silencedWhether the user has muted this program's ability to send alerts.
can_run_on_flagsProgram-specific bitflags that tell the app what it runs on. +(PROGRAM_ALL | PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_PDA)
detomatix_resistanceHow well this program will help combat detomatix viruses.
download_accessList of required access to download or file host the program. Any match will do.
downloader_categoryWhat category this program can be found in within NTNetDownloader. +This is required if PROGRAM_ON_NTNET_STORE or PROGRAM_ON_SYNDINET_STORE is on.
extended_descShort description of this program's function.
filedescUser-friendly name of this program.
filenameFile name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!
ntnet_statusNTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.
power_cell_useHow much power running this program costs.
program_flagsProgram-specific bitflags that tells the ModPC what the app is able to do special. +(PROGRAM_REQUIRES_NTNET|PROGRAM_ON_NTNET_STORE|PROGRAM_ON_SYNDINET_STORE|PROGRAM_UNIQUE_COPY|PROGRAM_HEADER|PROGRAM_RUNS_WITHOUT_POWER)
program_iconFont Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.
program_open_overlayThe overlay to add ontop of the ModPC running the app while it's open. +This is taken from the same file as the ModPC, so you can use can_run_on_flags to prevent +the program from being used on devices that don't have sprites for it.
run_accessList of required accesses to run the program. Any match will do. +This also acts as download_access if that is not set, making this more draconic and restrictive.
tgui_idName of the tgui interface. If this is not defined, this will not be available in NTNet.
ui_headerExample: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images must also be inserted into /datum/asset/simple/headers.

Procs

background_programSends the running program to the background/idle threads. Header programs can't be minimized and will kill instead.
can_runChecks if the user can run program. Only humans and silicons can operate computer. Automatically called in on_start() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Args: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +downloading: Boolean on whether it's downloading the app or not. If it is, it will check download_access instead of run_access. +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.
event_networkfailureCalled when a computer program is crashing due to any required connection being shut off. +Arguments:
event_powerfailureCalled when a computer program is shut down from the tablet's charge dying +Arguments:
generate_network_logAttempts to generate an Ntnet log, returns the log on success, FALSE otherwise.
is_supported_by_hardwareMakes sure a program can run on this hardware (for apps limited to tablets/computers/laptops)
kill_programKills the running program
on_startCalled on program startup.
tapRuns when the device is used to attack an atom in non-combat mode using right click (secondary).
ui_actWe are not calling parent as it's handled by the computer itself, this is only called after.
ui_interactWARNING: this proc does not work the same as normal ui_interact, as the +computer takes care of opening the UI. The datum/tgui/ui parameter will always exist. +This proc only serves as a callback.
+

Var Details

alert_able + + + + +

+

Whether this program can send alerts while minimized or closed. Used to show a mute button per program in the file manager

alert_pending + + + + +

+

Whether to highlight our program in the main screen. Intended for alerts, but loosely available for any need to notify of changed conditions. Think Windows task bar highlighting. Available even if alerts are muted.

alert_silenced + + + + +

+

Whether the user has muted this program's ability to send alerts.

can_run_on_flags + + + + +

+

Program-specific bitflags that tell the app what it runs on. +(PROGRAM_ALL | PROGRAM_CONSOLE | PROGRAM_LAPTOP | PROGRAM_PDA)

detomatix_resistance + + + + +

+

How well this program will help combat detomatix viruses.

download_access + + + + +

+

List of required access to download or file host the program. Any match will do.

downloader_category + + + + +

+

What category this program can be found in within NTNetDownloader. +This is required if PROGRAM_ON_NTNET_STORE or PROGRAM_ON_SYNDINET_STORE is on.

extended_desc + + + + +

+

Short description of this program's function.

filedesc + + + + +

+

User-friendly name of this program.

filename + + + + +

+

File name. FILE NAME MUST BE UNIQUE IF YOU WANT THE PROGRAM TO BE DOWNLOADABLE FROM NTNET!

ntnet_status + + + + +

+

NTNet status, updated every tick by computer running this program. Don't use this for checks if NTNet works, computers do that. Use this for calculations, etc.

power_cell_use + + + + +

+

How much power running this program costs.

program_flags + + + + +

+

Program-specific bitflags that tells the ModPC what the app is able to do special. +(PROGRAM_REQUIRES_NTNET|PROGRAM_ON_NTNET_STORE|PROGRAM_ON_SYNDINET_STORE|PROGRAM_UNIQUE_COPY|PROGRAM_HEADER|PROGRAM_RUNS_WITHOUT_POWER)

program_icon + + + + +

+

Font Awesome icon to use as this program's icon in the modular computer main menu. Defaults to a basic program maximize window icon if not overridden.

program_open_overlay + + + + +

+

The overlay to add ontop of the ModPC running the app while it's open. +This is taken from the same file as the ModPC, so you can use can_run_on_flags to prevent +the program from being used on devices that don't have sprites for it.

run_access + + + + +

+

List of required accesses to run the program. Any match will do. +This also acts as download_access if that is not set, making this more draconic and restrictive.

tgui_id + + + + +

+

Name of the tgui interface. If this is not defined, this will not be available in NTNet.

ui_header + + + + +

+

Example: "something.gif" - a header image that will be rendered in computer's UI when this program is running at background. Images must also be inserted into /datum/asset/simple/headers.

Proc Details

background_program +

+

Sends the running program to the background/idle threads. Header programs can't be minimized and will kill instead.

can_run +

+

Checks if the user can run program. Only humans and silicons can operate computer. Automatically called in on_start() +ID must be inserted into a card slot to be read. If the program is not currently installed (as is the case when +NT Software Hub is checking available software), a list can be given to be used instead. +Args: +user is a ref of the mob using the device. +loud is a bool deciding if this proc should use to_chats +access_to_check is an access level that will be checked against the ID +downloading: Boolean on whether it's downloading the app or not. If it is, it will check download_access instead of run_access. +access can contain a list of access numbers to check against. If access is not empty, it will be used istead of checking any inserted ID.

event_networkfailure +

+

Called when a computer program is crashing due to any required connection being shut off. +Arguments:

+

event_powerfailure +

+

Called when a computer program is shut down from the tablet's charge dying +Arguments:

+

generate_network_log +

+

Attempts to generate an Ntnet log, returns the log on success, FALSE otherwise.

is_supported_by_hardware +

+

Makes sure a program can run on this hardware (for apps limited to tablets/computers/laptops)

kill_program +

+

Kills the running program

+

Use this proc to kill the program. +Designed to be implemented by each program if it requires on-quit logic, such as the NTNRC client. +Args:

+

on_start +

+

Called on program startup.

+

May be overridden to add extra logic. Remember to include ..() call. Return 1 on success, 0 on failure. +When implementing new program based device, use this to run the program. +Arguments:

+

tap +

+

Runs when the device is used to attack an atom in non-combat mode using right click (secondary).

+

Simulates using the device to read or scan something. Tap is called by the computer during pre_attack +and sends us all of the related info. If we return TRUE, the computer will stop the attack process +there. What we do with the info is up to us, but we should only return TRUE if we actually perform +an action of some sort. +Arguments: +A is the atom being tapped +user is the person making the attack action +params is anything the pre_attack() proc had in the same-named variable.

ui_act +

+

We are not calling parent as it's handled by the computer itself, this is only called after.

ui_interact +

+

WARNING: this proc does not work the same as normal ui_interact, as the +computer takes care of opening the UI. The datum/tgui/ui parameter will always exist. +This proc only serves as a callback.

+ + + diff --git a/datum/computer_file/program/ai_restorer.html b/datum/computer_file/program/ai_restorer.html new file mode 100644 index 00000000000..67fef2b965b --- /dev/null +++ b/datum/computer_file/program/ai_restorer.html @@ -0,0 +1,43 @@ + + + + + + + /datum/computer_file/program/ai_restorer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai_restorer + + + +

+ + + +

Vars

restoringVariable dictating if we are in the process of restoring the AI in the inserted intellicard
stored_cardThe AI stored in the program
+

Var Details

restoring + + + + +

+

Variable dictating if we are in the process of restoring the AI in the inserted intellicard

stored_card + + + + +

+

The AI stored in the program

+ + + diff --git a/datum/computer_file/program/alarm_monitor.html b/datum/computer_file/program/alarm_monitor.html new file mode 100644 index 00000000000..83cd50bbba1 --- /dev/null +++ b/datum/computer_file/program/alarm_monitor.html @@ -0,0 +1,43 @@ + + + + + + + /datum/computer_file/program/alarm_monitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

alarm_monitor + + + +

+ + + +

Vars

alert_controlStation alert datum for showing alerts UI
has_alertIf there is any station alert
+

Var Details

alert_control + + + + +

+

Station alert datum for showing alerts UI

has_alert + + + + +

+

If there is any station alert

+ + + diff --git a/datum/computer_file/program/arcade.html b/datum/computer_file/program/arcade.html new file mode 100644 index 00000000000..4b656f6dc6d --- /dev/null +++ b/datum/computer_file/program/arcade.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/arcade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

arcade + + + +

+ + + + + +

Vars

boss_idDetermines which boss image to use on the UI.
game_activeReturns TRUE if the game is being played.
heads_upShows what text is shown on the app, usually showing the log of combat actions taken by the player.
pause_stateThis disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.
+

Var Details

boss_id + + + + +

+

Determines which boss image to use on the UI.

game_active + + + + +

+

Returns TRUE if the game is being played.

heads_up + + + + +

+

Shows what text is shown on the app, usually showing the log of combat actions taken by the player.

pause_state + + + + +

+

This disables buttom actions from having any impact if TRUE. Resets to FALSE when the player is allowed to make an action again.

+ + + diff --git a/datum/computer_file/program/atmosscan.html b/datum/computer_file/program/atmosscan.html new file mode 100644 index 00000000000..b24564decfd --- /dev/null +++ b/datum/computer_file/program/atmosscan.html @@ -0,0 +1,64 @@ + + + + + + + /datum/computer_file/program/atmosscan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmosscan + + + +

+ + + + + + +

Vars

atmozphere_modeWhether we scan the current turf automatically (env) or scan tapped objects manually (click).
last_gasmix_dataSaved GasmixParser data of the last thing we scanned.

Procs

on_analyzeUpdates our gasmix data if on click mode.
tapKeep this in sync with it's tool based counterpart [/obj/proc/analyzer_act] and [/atom/proc/tool_act]
turf_analyzeSecondary attack self.
+

Var Details

atmozphere_mode + + + + +

+

Whether we scan the current turf automatically (env) or scan tapped objects manually (click).

last_gasmix_data + + + + +

+

Saved GasmixParser data of the last thing we scanned.

Proc Details

on_analyze +

+

Updates our gasmix data if on click mode.

tap +

+

Keep this in sync with it's tool based counterpart [/obj/proc/analyzer_act] and [/atom/proc/tool_act]

turf_analyze +

+

Secondary attack self.

+ + + diff --git a/datum/computer_file/program/borg_monitor.html b/datum/computer_file/program/borg_monitor.html new file mode 100644 index 00000000000..720dc7a3f35 --- /dev/null +++ b/datum/computer_file/program/borg_monitor.html @@ -0,0 +1,64 @@ + + + + + + + /datum/computer_file/program/borg_monitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

borg_monitor + + + +

+ + + + + + +

Vars

DL_progressreference of a borg if we're downloading a log, or null if not.
DL_sourceA list to copy a borg's IC log list into

Procs

DestroyProgress of current download, 0 to 100, -1 for no current download
checkIDGets the ID's name, if one is inserted into the device. This is a separate proc solely to be overridden by the syndicate version of the app.
evaluate_borgThis proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.
+

Var Details

DL_progress + + + + +

+

reference of a borg if we're downloading a log, or null if not.

DL_source + + + + +

+

A list to copy a borg's IC log list into

Proc Details

Destroy +

+

Progress of current download, 0 to 100, -1 for no current download

checkID +

+

Gets the ID's name, if one is inserted into the device. This is a separate proc solely to be overridden by the syndicate version of the app.

evaluate_borg +

+

This proc is used to determin if a borg should be shown in the list (based on the borg's scrambledcodes var). Syndicate version overrides this to show only syndicate borgs.

+ + + diff --git a/datum/computer_file/program/bounty_board.html b/datum/computer_file/program/bounty_board.html new file mode 100644 index 00000000000..2a0ec99be03 --- /dev/null +++ b/datum/computer_file/program/bounty_board.html @@ -0,0 +1,64 @@ + + + + + + + /datum/computer_file/program/bounty_board - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bounty_board + + + +

+ + + + + + +

Vars

active_requestThe station request datum being affected by UI actions.
bounty_textText of the currently written bounty
bounty_valueValue of the currently bounty input
current_userReference to the currently logged in user.
networkedHas the app been added to the network yet?
+

Var Details

active_request + + + + +

+

The station request datum being affected by UI actions.

bounty_text + + + + +

+

Text of the currently written bounty

bounty_value + + + + +

+

Value of the currently bounty input

current_user + + + + +

+

Reference to the currently logged in user.

networked + + + + +

+

Has the app been added to the network yet?

+ + + diff --git a/datum/computer_file/program/budgetorders.html b/datum/computer_file/program/budgetorders.html new file mode 100644 index 00000000000..30648de6200 --- /dev/null +++ b/datum/computer_file/program/budgetorders.html @@ -0,0 +1,106 @@ + + + + + + + /datum/computer_file/program/budgetorders - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

budgetorders + + + +

+ + + + + + + + + + + + +

Vars

blockade_warningIf you're being raided by pirates, what do you tell the crew?
can_approve_requestsCan this console approve purchase requests?
cargo_accountThe account this console processes and displays. Independent from the account the shuttle processes.
cargo_shuttleThe name of the shuttle template being used as the cargo shuttle. 'cargo' is default and contains critical code. Don't change this unless you know what you're doing.
contrabandCan the tablet see or buy illegal stuff?
docking_awayThe docking port called when leaving the station.
docking_homeThe docking port called when returning to the station.
requestonlyAre you actually placing orders with it?
safety_warningWhat do we say when the shuttle moves with living beings on it.
self_paidIs it being bought from a personal account, or is it being done via a budget/cargo?
stationcargoIf this console can loan the cargo shuttle. Set to false to disable.
+

Var Details

blockade_warning + + + + +

+

If you're being raided by pirates, what do you tell the crew?

can_approve_requests + + + + +

+

Can this console approve purchase requests?

cargo_account + + + + +

+

The account this console processes and displays. Independent from the account the shuttle processes.

cargo_shuttle + + + + +

+

The name of the shuttle template being used as the cargo shuttle. 'cargo' is default and contains critical code. Don't change this unless you know what you're doing.

contraband + + + + +

+

Can the tablet see or buy illegal stuff?

docking_away + + + + +

+

The docking port called when leaving the station.

docking_home + + + + +

+

The docking port called when returning to the station.

requestonly + + + + +

+

Are you actually placing orders with it?

safety_warning + + + + +

+

What do we say when the shuttle moves with living beings on it.

self_paid + + + + +

+

Is it being bought from a personal account, or is it being done via a budget/cargo?

stationcargo + + + + +

+

If this console can loan the cargo shuttle. Set to false to disable.

+ + + diff --git a/datum/computer_file/program/card_mod.html b/datum/computer_file/program/card_mod.html new file mode 100644 index 00000000000..8fcd5a8440e --- /dev/null +++ b/datum/computer_file/program/card_mod.html @@ -0,0 +1,100 @@ + + + + + + + /datum/computer_file/program/card_mod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

card_mod + + + +

+ + + + + + + + + + +

Vars

authenticated_cardThe name/assignment combo of the ID card used to authenticate.
authenticated_userThe name of the registered user, related to authenticated_card.
is_centcomIf TRUE, this program only modifies Centcom accesses.
job_templatesList of job templates that can be applied to ID cards from this program.
minorIf TRUE, this program is authenticated with limited departmental access.
region_accessThe regions this program has access to based on the authenticated ID.
target_deptWhich departments this program has access to. See region defines.
valid_accessThe list of accesses this program is verified to change based on the authenticated ID. Used for state checking against player input.

Procs

authenticateAuthenticates the program based on the specific ID card.
+

Var Details

authenticated_card + + + + +

+

The name/assignment combo of the ID card used to authenticate.

authenticated_user + + + + +

+

The name of the registered user, related to authenticated_card.

is_centcom + + + + +

+

If TRUE, this program only modifies Centcom accesses.

job_templates + + + + +

+

List of job templates that can be applied to ID cards from this program.

minor + + + + +

+

If TRUE, this program is authenticated with limited departmental access.

region_access + + + + +

+

The regions this program has access to based on the authenticated ID.

target_dept + + + + +

+

Which departments this program has access to. See region defines.

valid_access + + + + +

+

The list of accesses this program is verified to change based on the authenticated ID. Used for state checking against player input.

Proc Details

authenticate +

+

Authenticates the program based on the specific ID card.

+

If the card has ACCESS_CHANGE_IDs, it authenticates with all options. +Otherwise, it authenticates depending on SSid_access.sub_department_managers_tgui +compared to the access on the supplied ID card. +Arguments:

+
+ + + diff --git a/datum/computer_file/program/chatclient.html b/datum/computer_file/program/chatclient.html new file mode 100644 index 00000000000..bbd39e62b41 --- /dev/null +++ b/datum/computer_file/program/chatclient.html @@ -0,0 +1,71 @@ + + + + + + + /datum/computer_file/program/chatclient - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chatclient + + + +

+ + + + + + + +

Vars

active_channelThe channel currently active in.
conversationsAll NTnet conversations the application is apart of.
last_messageThe last message you sent in a channel, used to tell if someone has sent a new message yet.
netadmin_modeIf the tablet is in Admin mode, you bypass Passwords and aren't announced when entering a channel.
ping_cooldownCooldown timer between pings.
usernameThe user's screen name.
+

Var Details

active_channel + + + + +

+

The channel currently active in.

conversations + + + + +

+

All NTnet conversations the application is apart of.

last_message + + + + +

+

The last message you sent in a channel, used to tell if someone has sent a new message yet.

netadmin_mode + + + + +

+

If the tablet is in Admin mode, you bypass Passwords and aren't announced when entering a channel.

ping_cooldown + + + + +

+

Cooldown timer between pings.

username + + + + +

+

The user's screen name.

+ + + diff --git a/datum/computer_file/program/contract_uplink.html b/datum/computer_file/program/contract_uplink.html new file mode 100644 index 00000000000..a7166172942 --- /dev/null +++ b/datum/computer_file/program/contract_uplink.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/contract_uplink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contract_uplink + + + +

+ + + + + +

Vars

errorThe error screen sent to the UI so they can show the player.
first_loadBoolean on whether the program is being loaded for the first time, for a unique screen animation.
info_screenBoolean on whether the UI is on the Information screen.
traitor_dataThe traitor datum stored on the program. Starts off as null and is set by the player.
+

Var Details

error + + + + +

+

The error screen sent to the UI so they can show the player.

first_load + + + + +

+

Boolean on whether the program is being loaded for the first time, for a unique screen animation.

info_screen + + + + +

+

Boolean on whether the UI is on the Information screen.

traitor_data + + + + +

+

The traitor datum stored on the program. Starts off as null and is set by the player.

+ + + diff --git a/datum/computer_file/program/emojipedia.html b/datum/computer_file/program/emojipedia.html new file mode 100644 index 00000000000..93b06ff5aaa --- /dev/null +++ b/datum/computer_file/program/emojipedia.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/emojipedia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

emojipedia + + + +

+ +

A tablet app that lets anyone see all the valid emoji they can send via a PDA message (and even OOC!)

+

Vars

emoji_listStore the list of potential emojis here.
+

Var Details

emoji_list + + + + +

+

Store the list of potential emojis here.

+ + + diff --git a/datum/computer_file/program/mafia.html b/datum/computer_file/program/mafia.html new file mode 100644 index 00000000000..316c2ca2f4a --- /dev/null +++ b/datum/computer_file/program/mafia.html @@ -0,0 +1,42 @@ + + + + + + + /datum/computer_file/program/mafia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mafia + + + +

+ + + +

Procs

on_game_endCalled when a game of Mafia ends, deletes its ui header.
on_game_startCalled when a game of Mafia starts, sets the ui header to the proper one.

Proc Details

on_game_end +

+

Called when a game of Mafia ends, deletes its ui header.

on_game_start +

+

Called when a game of Mafia starts, sets the ui header to the proper one.

+ + + diff --git a/datum/computer_file/program/maintenance.html b/datum/computer_file/program/maintenance.html new file mode 100644 index 00000000000..cb9568f665e --- /dev/null +++ b/datum/computer_file/program/maintenance.html @@ -0,0 +1,30 @@ + + + + + + + /datum/computer_file/program/maintenance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

maintenance + + + +

+ +

Maintenance programs

+

Programs that are found from data disks in maintenance +Can only be cloned once to a modular computer, then deletes itself.

+ + + diff --git a/datum/computer_file/program/maintenance/camera.html b/datum/computer_file/program/maintenance/camera.html new file mode 100644 index 00000000000..3a47f68082b --- /dev/null +++ b/datum/computer_file/program/maintenance/camera.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/maintenance/camera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

camera + + + +

+ + + + +

Vars

internal_cameraCamera built-into the tablet.
internal_pictureLatest picture taken by the app.
picture_numberHow many pictures were taken already, used for the camera's TGUI photo display
+

Var Details

internal_camera + + + + +

+

Camera built-into the tablet.

internal_picture + + + + +

+

Latest picture taken by the app.

picture_number + + + + +

+

How many pictures were taken already, used for the camera's TGUI photo display

+ + + diff --git a/datum/computer_file/program/maintenance/modsuit_control.html b/datum/computer_file/program/maintenance/modsuit_control.html new file mode 100644 index 00000000000..090d3326ca9 --- /dev/null +++ b/datum/computer_file/program/maintenance/modsuit_control.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/maintenance/modsuit_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

modsuit_control + + + +

+ + +

Vars

controlled_suitThe suit we have control over.
+

Var Details

controlled_suit + + + + +

+

The suit we have control over.

+ + + diff --git a/datum/computer_file/program/maintenance/phys_scanner.html b/datum/computer_file/program/maintenance/phys_scanner.html new file mode 100644 index 00000000000..fed4da34cdf --- /dev/null +++ b/datum/computer_file/program/maintenance/phys_scanner.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/maintenance/phys_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

phys_scanner + + + +

+ + +

Vars

last_recordInformation from the last scanned person, to display on the app.
+

Var Details

last_record + + + + +

+

Information from the last scanned person, to display on the app.

+ + + diff --git a/datum/computer_file/program/maintenance/theme.html b/datum/computer_file/program/maintenance/theme.html new file mode 100644 index 00000000000..41121af2467 --- /dev/null +++ b/datum/computer_file/program/maintenance/theme.html @@ -0,0 +1,43 @@ + + + + + + + /datum/computer_file/program/maintenance/theme - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

theme + + + +

+ + + +

Vars

theme_nameThe type of theme we have

Procs

on_installCalled post-installation of an application in a computer, after 'computer' var is set.
+

Var Details

theme_name + + + + +

+

The type of theme we have

Proc Details

on_install +

+

Called post-installation of an application in a computer, after 'computer' var is set.

+ + + diff --git a/datum/computer_file/program/messenger.html b/datum/computer_file/program/messenger.html new file mode 100644 index 00000000000..75e8b5443ac --- /dev/null +++ b/datum/computer_file/program/messenger.html @@ -0,0 +1,197 @@ + + + + + + + /datum/computer_file/program/messenger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

messenger + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

invisibleWhether the user is invisible to the message list.
last_textgreat wisdom from PDA.dm - "no spamming" (prevents people from spamming the same message over and over)
last_text_everyoneeven more wisdom from PDA.dm - "no everyone spamming" (prevents people from spamming the same message over and over)
mime_modeWhether or not we're in a mime PDA.
ringtoneThe current ringtone (displayed in the chat when a message is received).
saved_chatsAn asssociative list of chats we have started, format: chatref -> pda_chat.
selected_imageSelected photo for sending purposes.
sending_and_receivingWhether or not we're sending and receiving messages.
sending_virusWhether or not we're sending (or trying to send) a virus.
sort_by_jobWhether or not we're sorting by job.
spam_modeWhether this app can send messages to all.
viewing_messages_ofWhose chatlogs we currently have open. If we are in the contacts list, this is null.

Procs

Topictopic call that answers to people pressing "(Reply)" in chat
can_send_everyone_messageChecks if the person can send an everyone message
create_chatCreates a chat and adds it to saved_chats. Supports fake users. Returns the newly created chat.
find_chat_by_recipientGets the chat by the recipient, either by their name or messenger ref
get_messengersGets the list of available messengers
get_picture_assetsGets all currently relevant photo asset keys
quick_reply_promptBrings up the quick reply prompt to send a message.
sanitize_pda_messageReturns a message input, sanitized and checked against the filter
send_messageSends a message to targets via PDA. When sending to everyone, set everyone to true so the message is formatted accordingly
send_message_to_allHelper proc that sends a message to everyone
send_rigged_messageSends a rigged message that explodes when the recipient tries to reply or look at it.
update_pictures_for_allSends new datum/picture assets to everyone
+

Var Details

invisible + + + + +

+

Whether the user is invisible to the message list.

last_text + + + + +

+

great wisdom from PDA.dm - "no spamming" (prevents people from spamming the same message over and over)

last_text_everyone + + + + +

+

even more wisdom from PDA.dm - "no everyone spamming" (prevents people from spamming the same message over and over)

mime_mode + + + + +

+

Whether or not we're in a mime PDA.

ringtone + + + + +

+

The current ringtone (displayed in the chat when a message is received).

saved_chats + + + + +

+

An asssociative list of chats we have started, format: chatref -> pda_chat.

selected_image + + + + +

+

Selected photo for sending purposes.

sending_and_receiving + + + + +

+

Whether or not we're sending and receiving messages.

sending_virus + + + + +

+

Whether or not we're sending (or trying to send) a virus.

sort_by_job + + + + +

+

Whether or not we're sorting by job.

spam_mode + + + + +

+

Whether this app can send messages to all.

viewing_messages_of + + + + +

+

Whose chatlogs we currently have open. If we are in the contacts list, this is null.

Proc Details

Topic +

+

topic call that answers to people pressing "(Reply)" in chat

can_send_everyone_message +

+

Checks if the person can send an everyone message

create_chat +

+

Creates a chat and adds it to saved_chats. Supports fake users. Returns the newly created chat.

find_chat_by_recipient +

+

Gets the chat by the recipient, either by their name or messenger ref

get_messengers +

+

Gets the list of available messengers

get_picture_assets +

+

Gets all currently relevant photo asset keys

quick_reply_prompt +

+

Brings up the quick reply prompt to send a message.

sanitize_pda_message +

+

Returns a message input, sanitized and checked against the filter

send_message +

+

Sends a message to targets via PDA. When sending to everyone, set everyone to true so the message is formatted accordingly

send_message_to_all +

+

Helper proc that sends a message to everyone

send_rigged_message +

+

Sends a rigged message that explodes when the recipient tries to reply or look at it.

update_pictures_for_all +

+

Sends new datum/picture assets to everyone

+ + + diff --git a/datum/computer_file/program/newscaster.html b/datum/computer_file/program/newscaster.html new file mode 100644 index 00000000000..bbb0215c214 --- /dev/null +++ b/datum/computer_file/program/newscaster.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/newscaster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

newscaster + + + +

+ + +

Vars

newscaster_uiThe UI we use for the newscaster
+

Var Details

newscaster_ui + + + + +

+

The UI we use for the newscaster

+ + + diff --git a/datum/computer_file/program/nt_pay.html b/datum/computer_file/program/nt_pay.html new file mode 100644 index 00000000000..e204719a8b1 --- /dev/null +++ b/datum/computer_file/program/nt_pay.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/nt_pay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nt_pay + + + +

+ + + + + +

Vars

current_userReference to the currently logged in user.
money_to_sendAmount of credits, which we sends
tokenPay token, by which we can send credits
wanted_tokenPay token what we want to find
+

Var Details

current_user + + + + +

+

Reference to the currently logged in user.

money_to_send + + + + +

+

Amount of credits, which we sends

token + + + + +

+

Pay token, by which we can send credits

wanted_token + + + + +

+

Pay token what we want to find

+ + + diff --git a/datum/computer_file/program/ntnetdownload.html b/datum/computer_file/program/ntnetdownload.html new file mode 100644 index 00000000000..909d377b373 --- /dev/null +++ b/datum/computer_file/program/ntnetdownload.html @@ -0,0 +1,73 @@ + + + + + + + /datum/computer_file/program/ntnetdownload - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ntnetdownload + + + +

+ + + + + + + +

Vars

download_completionHow much of the data has been downloaded.
downloaded_fileThe program currently being downloaded.
downloaderrorThe error message being displayed to the user, if necessary. Null if there isn't one.
hacked_downloadBoolean on whether the downloaded_file is being downloaded from the Syndicate store, +in which case it will appear as 'ENCRYPTED' in logs, rather than display file name.
show_categoriesThe list of categories to display in the UI, in order of which they appear.

Procs

check_compatibilityChecks if a provided program_to_check is compatible to be downloaded on our computer.
+

Var Details

download_completion + + + + +

+

How much of the data has been downloaded.

downloaded_file + + + + +

+

The program currently being downloaded.

downloaderror + + + + +

+

The error message being displayed to the user, if necessary. Null if there isn't one.

hacked_download + + + + +

+

Boolean on whether the downloaded_file is being downloaded from the Syndicate store, +in which case it will appear as 'ENCRYPTED' in logs, rather than display file name.

show_categories + + + + +

+

The list of categories to display in the UI, in order of which they appear.

Proc Details

check_compatibility +

+

Checks if a provided program_to_check is compatible to be downloaded on our computer.

+ + + diff --git a/datum/computer_file/program/portrait_printer.html b/datum/computer_file/program/portrait_printer.html new file mode 100644 index 00000000000..275d0be5356 --- /dev/null +++ b/datum/computer_file/program/portrait_printer.html @@ -0,0 +1,54 @@ + + + + + + + /datum/computer_file/program/portrait_printer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portrait_printer + + + +

+ +portrait printer! +

Program that lets the curator browse all of the portraits in the database +They are free to print them out as they please.

+ + +

Vars

matching_paintingsStores the result of the search, for later access.
search_modeWhether the search function will check the title of the painting or the author's name.
search_stringThe last input in the search tab, stored here and reused in the UI to show successive users if +the current list of paintings is limited to the results of a search or not.
+

Var Details

matching_paintings + + + + +

+

Stores the result of the search, for later access.

search_mode + + + + +

+

Whether the search function will check the title of the painting or the author's name.

search_string + + + + +

+

The last input in the search tab, stored here and reused in the UI to show successive users if +the current list of paintings is limited to the results of a search or not.

+ + + diff --git a/datum/computer_file/program/radar.html b/datum/computer_file/program/radar.html new file mode 100644 index 00000000000..0cb73455633 --- /dev/null +++ b/datum/computer_file/program/radar.html @@ -0,0 +1,127 @@ + + + + + + + /datum/computer_file/program/radar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radar + + + +

+ + + + + + + + + + + + +

Vars

arrowstyleUsed by the tgui interface, themed NT or Syndicate.
last_icon_stateUsed to keep track of the last value program_open_overlay was set to, to prevent constant unnecessary update_appearance() calls
next_scanUsed to store when the next scan is available.
objectsList of trackable entities. Updated by the scan() proc.
pointercolorUsed by the tgui interface, themed for NT or Syndicate colors.
selectedRef of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Procs

find_atomFinds the atom in the appropriate list that the selected var indicates
scanRuns a scan of all the trackable atoms.
trackUpdates tracking information of the selected target.
trackableChecks the trackability of the selected target.
trackable_object_refsReturns all ref()s that are being tracked currently
+

Var Details

arrowstyle + + + + +

+

Used by the tgui interface, themed NT or Syndicate.

last_icon_state + + + + +

+

Used to keep track of the last value program_open_overlay was set to, to prevent constant unnecessary update_appearance() calls

next_scan + + + + +

+

Used to store when the next scan is available.

objects + + + + +

+

List of trackable entities. Updated by the scan() proc.

pointercolor + + + + +

+

Used by the tgui interface, themed for NT or Syndicate colors.

selected + + + + +

+

Ref of the last trackable object selected by the user in the tgui window. Updated in the ui_act() proc.

Proc Details

find_atom +

+

Finds the atom in the appropriate list that the selected var indicates

+

The selected var holds a REF, which is a string. A mob REF may be +something like "mob_209". In order to find the actual atom, we need +to search the appropriate list for the REF string. This is dependant +on the program (Lifeline uses GLOB.human_list, while Fission360 uses +GLOB.poi_list), but the result will be the same; evaluate the string and +return an atom reference.

scan +

+

Runs a scan of all the trackable atoms.

+

Checks each entry in the GLOB of the specific trackable atoms against +the track() proc, and fill the objects list with lists containing the +atoms' names and REFs. The objects list is handed to the tgui screen +for displaying to, and being selected by, the user. A two second +sleep is used to delay the scan, both for thematical reasons as well +as to limit the load players may place on the server using these +somewhat costly loops.

track +

+

Updates tracking information of the selected target.

+

The track() proc updates the entire set of information about the location +of the target, including whether the Ntos window should use a pinpointer +crosshair over the up/down arrows, or none in favor of a rotating arrow +for far away targets. This information is returned in the form of a list.

trackable +

+

Checks the trackability of the selected target.

+

If the target is on the computer's Z level, or both are on station Z +levels, and the target isn't untrackable, return TRUE. +Arguments: +*arg1 is the atom being evaluated.

trackable_object_refs +

+

Returns all ref()s that are being tracked currently

+ + + diff --git a/datum/computer_file/program/radar/fission360.html b/datum/computer_file/program/radar/fission360.html new file mode 100644 index 00000000000..0e7b0486201 --- /dev/null +++ b/datum/computer_file/program/radar/fission360.html @@ -0,0 +1,35 @@ + + + + + + + /datum/computer_file/program/radar/fission360 - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

fission360 + + + +

+ +

A program that tracks nukes and nuclear accessories

+

Procs

on_examineShows how long until the nuke detonates, if one is active.

Proc Details

on_examine +

+

Shows how long until the nuke detonates, if one is active.

+ + + diff --git a/datum/computer_file/program/robocontrol.html b/datum/computer_file/program/robocontrol.html new file mode 100644 index 00000000000..6499c7d09ce --- /dev/null +++ b/datum/computer_file/program/robocontrol.html @@ -0,0 +1,50 @@ + + + + + + + /datum/computer_file/program/robocontrol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

robocontrol + + + +

+ + + + +

Vars

botcountNumber of simple robots on-station.
current_accessAccess granted by the used to summon robots.
drone_ping_typesList of all ping types you can annoy drones with.
+

Var Details

botcount + + + + +

+

Number of simple robots on-station.

current_access + + + + +

+

Access granted by the used to summon robots.

drone_ping_types + + + + +

+

List of all ping types you can annoy drones with.

+ + + diff --git a/datum/computer_file/program/science.html b/datum/computer_file/program/science.html new file mode 100644 index 00000000000..9fd56f67a75 --- /dev/null +++ b/datum/computer_file/program/science.html @@ -0,0 +1,77 @@ + + + + + + + /datum/computer_file/program/science - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

science + + + +

+ + + + + + + +

Vars

id_cacheUsed for compressing data sent to the UI via static_data as payload size is of concern
id_cache_seqSequence var for the id cache
lock_accessAccess needed to lock/unlock the console
lockedDetermines if the console is locked, and consequently if actions can be performed with it
stored_researchReference to global science techweb

Procs

compress_idCompresses an ID to an integer representation using the id_cache, used for deduplication +in sent JSON payloads
+

Var Details

id_cache + + + + +

+

Used for compressing data sent to the UI via static_data as payload size is of concern

id_cache_seq + + + + +

+

Sequence var for the id cache

lock_access + + + + +

+

Access needed to lock/unlock the console

locked + + + + +

+

Determines if the console is locked, and consequently if actions can be performed with it

stored_research + + + + +

+

Reference to global science techweb

Proc Details

compress_id +

+

Compresses an ID to an integer representation using the id_cache, used for deduplication +in sent JSON payloads

+

Arguments:

+
+ + + diff --git a/datum/computer_file/program/scipaper_program.html b/datum/computer_file/program/scipaper_program.html new file mode 100644 index 00000000000..aecf9cceb99 --- /dev/null +++ b/datum/computer_file/program/scipaper_program.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/scipaper_program - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scipaper_program + + + +

+ + + + + +

Vars

current_tabHere to reduce load. Corresponds to the tab in the UI.
paper_to_beUnpublished, temporary paper datum.
selected_fileThe file under consideration.

Procs

publishPublication and adding points.
+

Var Details

current_tab + + + + +

+

Here to reduce load. Corresponds to the tab in the UI.

paper_to_be + + + + +

+

Unpublished, temporary paper datum.

selected_file + + + + +

+

The file under consideration.

Proc Details

publish +

+

Publication and adding points.

+ + + diff --git a/datum/computer_file/program/secureye.html b/datum/computer_file/program/secureye.html new file mode 100644 index 00000000000..d4b6396ec17 --- /dev/null +++ b/datum/computer_file/program/secureye.html @@ -0,0 +1,71 @@ + + + + + + + /datum/computer_file/program/secureye - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

secureye + + + +

+ + + + + + + +

Vars

cam_backgroundAll the plane masters that need to be applied.
camera_refWeakref to the active camera
concurrent_usersList of weakrefs of all users watching the program.
internal_trackerInternal tracker used to find a specific person and keep them on cameras.
last_camera_turfThe turf where the camera was last updated.
spyingBoolean on whether or not the app will make noise when flipping around the channels.
+

Var Details

cam_background + + + + +

+

All the plane masters that need to be applied.

camera_ref + + + + +

+

Weakref to the active camera

concurrent_users + + + + +

+

List of weakrefs of all users watching the program.

internal_tracker + + + + +

+

Internal tracker used to find a specific person and keep them on cameras.

last_camera_turf + + + + +

+

The turf where the camera was last updated.

spying + + + + +

+

Boolean on whether or not the app will make noise when flipping around the channels.

+ + + diff --git a/datum/computer_file/program/shipping.html b/datum/computer_file/program/shipping.html new file mode 100644 index 00000000000..17527869953 --- /dev/null +++ b/datum/computer_file/program/shipping.html @@ -0,0 +1,57 @@ + + + + + + + /datum/computer_file/program/shipping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shipping + + + +

+ + + + + +

Vars

cut_maxMaximum value for cut_multiplier.
cut_minMinimum value for cut_multiplier.
cut_multiplierThe person who tagged this will receive the sale value multiplied by this number.
payments_accAccount used for creating barcodes.
+

Var Details

cut_max + + + + +

+

Maximum value for cut_multiplier.

cut_min + + + + +

+

Minimum value for cut_multiplier.

cut_multiplier + + + + +

+

The person who tagged this will receive the sale value multiplied by this number.

payments_acc + + + + +

+

Account used for creating barcodes.

+ + + diff --git a/datum/computer_file/program/signal_commander.html b/datum/computer_file/program/signal_commander.html new file mode 100644 index 00000000000..101cff1fa04 --- /dev/null +++ b/datum/computer_file/program/signal_commander.html @@ -0,0 +1,64 @@ + + + + + + + /datum/computer_file/program/signal_commander - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

signal_commander + + + +

+ + + + + + +

Vars

radio_connectionRadio connection datum used by signalers.
signal_codeWhat is the saved signal code?
signal_cooldownCooldown store
signal_cooldown_timeHow long do we cooldown before we can send another signal?
signal_frequencyWhat is the saved signal frequency?
+

Var Details

radio_connection + + + + +

+

Radio connection datum used by signalers.

signal_code + + + + +

+

What is the saved signal code?

signal_cooldown + + + + +

+

Cooldown store

signal_cooldown_time + + + + +

+

How long do we cooldown before we can send another signal?

signal_frequency + + + + +

+

What is the saved signal frequency?

+ + + diff --git a/datum/computer_file/program/status.html b/datum/computer_file/program/status.html new file mode 100644 index 00000000000..6a0cc6c8410 --- /dev/null +++ b/datum/computer_file/program/status.html @@ -0,0 +1,67 @@ + + + + + + + /datum/computer_file/program/status - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

status + + + +

+ + + + +

Procs

post_messagePost a message to status displays +Arguments:
post_picturePost a picture to status displays +Arguments:
post_statusPost status display radio packet. +Arguments:

Proc Details

post_message +

+

Post a message to status displays +Arguments:

+

post_picture +

+

Post a picture to status displays +Arguments:

+

post_status +

+

Post status display radio packet. +Arguments:

+
+ + + diff --git a/datum/computer_file/program/supermatter_monitor.html b/datum/computer_file/program/supermatter_monitor.html new file mode 100644 index 00000000000..fc0971325d3 --- /dev/null +++ b/datum/computer_file/program/supermatter_monitor.html @@ -0,0 +1,66 @@ + + + + + + + /datum/computer_file/program/supermatter_monitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

supermatter_monitor + + + +

+ + + + + + +

Vars

focused_supermatterThe supermatter which will send a notification to us if it's delamming.
supermattersList of supermatters that we are going to send the data of.

Procs

kill_programApparently destroy calls this /datum/computer_file/Destroy. Here just to clean our references.
refreshRefreshes list of active supermatter crystals
send_alertSends an SM delam alert to the computer if our focused supermatter is delaminating. +[var/obj/machinery/power/supermatter_crystal/focused_supermatter].
+

Var Details

focused_supermatter + + + + +

+

The supermatter which will send a notification to us if it's delamming.

supermatters + + + + +

+

List of supermatters that we are going to send the data of.

Proc Details

kill_program +

+

Apparently destroy calls this /datum/computer_file/Destroy. Here just to clean our references.

refresh +

+

Refreshes list of active supermatter crystals

send_alert +

+

Sends an SM delam alert to the computer if our focused supermatter is delaminating. +[var/obj/machinery/power/supermatter_crystal/focused_supermatter].

+ + + diff --git a/datum/computer_file/program/themeify.html b/datum/computer_file/program/themeify.html new file mode 100644 index 00000000000..c87d7eacb97 --- /dev/null +++ b/datum/computer_file/program/themeify.html @@ -0,0 +1,36 @@ + + + + + + + /datum/computer_file/program/themeify - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

themeify + + + +

+ + +

Vars

imported_themesList of all themes imported from maintenance apps.
+

Var Details

imported_themes + + + + +

+

List of all themes imported from maintenance apps.

+ + + diff --git a/datum/config_entry.html b/datum/config_entry.html new file mode 100644 index 00000000000..7198809efba --- /dev/null +++ b/datum/config_entry.html @@ -0,0 +1,113 @@ + + + + + + + /datum/config_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

config_entry + + + +

+ + + + + + + + + + + + + +

Vars

abstract_typeDo not instantiate if type matches this
config_entry_valueThe configured value for this entry. This shouldn't be initialized in code, instead set default
defaultRead-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to
default_protectionStores the original protection configuration, used for set_default()
deprecated_byThe config name of a configuration type that depricates this, if it exists
dupes_allowedControls if error is thrown when duplicate configuration values for this entry type are encountered
modifiedSet to TRUE if the default has been overridden by a config entry
nameRead-only, this is determined by the last portion of the derived entry type
protectionThe /datum/config_entry type that supercedes this one
resident_fileThe file which this was loaded from, if any
vv_VASForce validate and set on VV. VAS proccall guard will run regardless.

Procs

set_defaultReturns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default.
+

Var Details

abstract_type + + + + +

+

Do not instantiate if type matches this

config_entry_value + + + + +

+

The configured value for this entry. This shouldn't be initialized in code, instead set default

default + + + + +

+

Read-only default value for this config entry, used for resetting value to defaults when necessary. This is what config_entry_value is initially set to

default_protection + + + + +

+

Stores the original protection configuration, used for set_default()

deprecated_by + + + + +

+

The config name of a configuration type that depricates this, if it exists

dupes_allowed + + + + +

+

Controls if error is thrown when duplicate configuration values for this entry type are encountered

modified + + + + +

+

Set to TRUE if the default has been overridden by a config entry

name + + + + +

+

Read-only, this is determined by the last portion of the derived entry type

protection + + + + +

+

The /datum/config_entry type that supercedes this one

resident_file + + + + +

+

The file which this was loaded from, if any

vv_VAS + + + + +

+

Force validate and set on VV. VAS proccall guard will run regardless.

Proc Details

set_default +

+

Returns the value of the configuration datum to its default, used for resetting a config value. Note this also sets the protection back to default.

+ + + diff --git a/datum/config_entry/keyed_list.html b/datum/config_entry/keyed_list.html new file mode 100644 index 00000000000..9588aed5481 --- /dev/null +++ b/datum/config_entry/keyed_list.html @@ -0,0 +1,50 @@ + + + + + + + /datum/config_entry/keyed_list - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

keyed_list + + + +

+ + + + +

Vars

lowercase_keywhether the key names will be lowercased on ValidateAndSet or not.

Procs

validate_config_keyTakes a given config key and validates it. If successful, returns the formatted key. If unsuccessful, returns null.
validate_config_valueTakes a given config value and validates it. If successful, returns the formatted key. If unsuccessful, returns null.
+

Var Details

lowercase_key + + + + +

+

whether the key names will be lowercased on ValidateAndSet or not.

Proc Details

validate_config_key +

+

Takes a given config key and validates it. If successful, returns the formatted key. If unsuccessful, returns null.

validate_config_value +

+

Takes a given config value and validates it. If successful, returns the formatted key. If unsuccessful, returns null.

+ + + diff --git a/datum/config_entry/str_list.html b/datum/config_entry/str_list.html new file mode 100644 index 00000000000..41f91ad7b60 --- /dev/null +++ b/datum/config_entry/str_list.html @@ -0,0 +1,36 @@ + + + + + + + /datum/config_entry/str_list - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

str_list + + + +

+ +

List config entry, used for configuring a list of strings

+

Vars

lowercasewhether the string elements will be lowercased on ValidateAndSet or not.
+

Var Details

lowercase + + + + +

+

whether the string elements will be lowercased on ValidateAndSet or not.

+ + + diff --git a/datum/config_entry/string.html b/datum/config_entry/string.html new file mode 100644 index 00000000000..bd2e66def39 --- /dev/null +++ b/datum/config_entry/string.html @@ -0,0 +1,36 @@ + + + + + + + /datum/config_entry/string - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

string + + + +

+ + +

Vars

lowercasewhether the string will be lowercased on ValidateAndSet or not.
+

Var Details

lowercase + + + + +

+

whether the string will be lowercased on ValidateAndSet or not.

+ + + diff --git a/datum/contractor_hub.html b/datum/contractor_hub.html new file mode 100644 index 00000000000..2757339f48a --- /dev/null +++ b/datum/contractor_hub.html @@ -0,0 +1,78 @@ + + + + + + + /datum/contractor_hub - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contractor_hub + + + +

+ + + + + + + + +

Vars

assigned_contractsList of all available syndicate contracts that can be taken.
assigned_targetsList of all people currently used as targets, to not roll doubles.
contract_TC_payed_outHow much TC has been paid out, for flavor in the UI & round-end logs.
contract_TC_to_redeemHow much TC we can cash out currently. Used when redeeming TC and for round-end logs.
contractor_teammateReference to a contractor teammate, if one has been purchased.
contracts_completedAmount of contracts that have already been completed, for flavor in the UI & round-end logs.
current_contractThe current contract in progress, and can be null if no contract is in progress.
+

Var Details

assigned_contracts + + + + +

+

List of all available syndicate contracts that can be taken.

assigned_targets + + + + +

+

List of all people currently used as targets, to not roll doubles.

contract_TC_payed_out + + + + +

+

How much TC has been paid out, for flavor in the UI & round-end logs.

contract_TC_to_redeem + + + + +

+

How much TC we can cash out currently. Used when redeeming TC and for round-end logs.

contractor_teammate + + + + +

+

Reference to a contractor teammate, if one has been purchased.

contracts_completed + + + + +

+

Amount of contracts that have already been completed, for flavor in the UI & round-end logs.

current_contract + + + + +

+

The current contract in progress, and can be null if no contract is in progress.

+ + + diff --git a/datum/controller/configuration.html b/datum/controller/configuration.html new file mode 100644 index 00000000000..c12ea43fb1f --- /dev/null +++ b/datum/controller/configuration.html @@ -0,0 +1,141 @@ + + + + + + + /datum/controller/configuration - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

configuration + + + +

+ + + + + + + + + + + + + + + + + +

Vars

configuration_errorsA list of configuration errors that occurred during load
ic_filter_reasonsAn assoc list of blocked IC words to their reasons
ic_filter_regexA regex that matches words blocked IC
ic_outside_pda_filter_reasonsAn assoc list of words that are blocked IC, but not in PDAs, to their reasons
ic_outside_pda_filter_regexA regex that matches words blocked IC, but not in PDAs
loadedIf the configuration is loaded
ooc_filter_regexA regex that matches words blocked OOC
shared_filter_reasonsAn assoc list of words that are blocked both IC and OOC to their reasons
soft_ic_filter_reasonsAn assoc list of soft blocked IC words to their reasons
soft_ic_filter_regexA regex that matches words soft blocked IC
soft_ic_outside_pda_filter_reasonsAn assoc list of words that are soft blocked IC, but not in PDAs, to their reasons
soft_ic_outside_pda_filter_regexA regex that matches words soft blocked IC, but not in PDAs
soft_ooc_filter_regexA regex that matches words soft blocked OOC
soft_shared_filter_reasonsAn assoc list of words that are soft blocked both IC and OOC to their reasons

Procs

update_chat_filter_regexesWill update the internal regexes of the chat filter based on the filter reasons
validate_job_configCheck to ensure that the jobconfig is valid/in-date.
+

Var Details

configuration_errors + + + + +

+

A list of configuration errors that occurred during load

ic_filter_reasons + + + + +

+

An assoc list of blocked IC words to their reasons

ic_filter_regex + + + + +

+

A regex that matches words blocked IC

ic_outside_pda_filter_reasons + + + + +

+

An assoc list of words that are blocked IC, but not in PDAs, to their reasons

ic_outside_pda_filter_regex + + + + +

+

A regex that matches words blocked IC, but not in PDAs

loaded + + + + +

+

If the configuration is loaded

ooc_filter_regex + + + + +

+

A regex that matches words blocked OOC

shared_filter_reasons + + + + +

+

An assoc list of words that are blocked both IC and OOC to their reasons

soft_ic_filter_reasons + + + + +

+

An assoc list of soft blocked IC words to their reasons

soft_ic_filter_regex + + + + +

+

A regex that matches words soft blocked IC

soft_ic_outside_pda_filter_reasons + + + + +

+

An assoc list of words that are soft blocked IC, but not in PDAs, to their reasons

soft_ic_outside_pda_filter_regex + + + + +

+

A regex that matches words soft blocked IC, but not in PDAs

soft_ooc_filter_regex + + + + +

+

A regex that matches words soft blocked OOC

soft_shared_filter_reasons + + + + +

+

An assoc list of words that are soft blocked both IC and OOC to their reasons

Proc Details

update_chat_filter_regexes +

+

Will update the internal regexes of the chat filter based on the filter reasons

validate_job_config +

+

Check to ensure that the jobconfig is valid/in-date.

+ + + diff --git a/datum/controller/global_vars.html b/datum/controller/global_vars.html new file mode 100644 index 00000000000..695b364f270 --- /dev/null +++ b/datum/controller/global_vars.html @@ -0,0 +1,2279 @@ + + + + + + + /datum/controller/global_vars - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

global_vars + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

GPS_listGlobal GPS_list. All GPS components get saved in here for easy reference.
WALLITEMS_INTERIORChecks if that loc and dir has an item on the wall
abstract_mob_typesList of types of abstract mob which shouldn't usually exist in the world on its own if we're spawning random mobs
achievement_categoriesA list of the current achievement categories supported by the UI and checked by the achievement unit test
achievement_soundsA list of sounds that can be played when unlocking an achievement, set in the preferences.
active_jammersList of active radio jammers
adamantine_recipesOthers
admin_activitiesAll admin related log lines minus their categories
admin_statetgui state: admin_state
admin_trait_name_mapvalue -> trait name, generated as needed for adminning.
ai_employersemployers for malfunctioning ais. they do not have sides, unlike traitors.
air_alarm_modesKeys are /datum/air_alarm_mode paths +Values are their respective instances.
alcohol_containersAssociative list of alcoholic container typepath to instances, currently used by the alcoholic quirk
alive_player_listAll alive mobs with clients.
all_ongoing_hallucinationsA global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations.
all_voice_of_god_triggersUsed to stop listeners with silly or clown-esque (first) names such as "Honk" or "Flip" from screwing up certain commands.
all_wound_pregen_dataA assoc list of (wound typepath -> wound_pregen_data instance). Every wound should have a pregen data.
always_statetgui state: always_state
animatable_blacklistMimics can't be made out of these objects
announcer_keysGlobal list of all of our announcer keys.
areasJust a list of all the area objects in the game +Note, areas can have duplicate types
areas_by_typeAn association from typepath to area instance. Only includes areas with unique set.
armor_by_typeAssosciative list of type -> armor. Used to ensure we always hold a reference to default armor datums
base_starlight_colorThe base color of light space emits
basketball_bad_signuplist of ghosts who want to play basketball that have since disconnected. They are kept in the lobby, but not counted for starting a game.
basketball_gamethe current global basketball game running.
basketball_signuplist of ghosts who want to play basketball, every time someone enters the list it checks to see if enough are in
bio_state_anatomyA assoc list of BIO_ define to EXTERIOR/INTERIOR defines. +This is where the interior/exterior state of a given biostate is set. +Note that not all biostates are guaranteed to be one of these - and in fact, many are not +IMPORTANT NOTE: All keys are stored as text and must be converted via text2num
bioscrambler_organs_blacklistBlacklist of organs which should not appear when bioscrambled. +Either will look terrible outside of intended host, give you magical powers, are irreversible, or kill you
bioscrambler_parts_blacklistBlacklist of parts which should not appear when bioscrambled, largely because they will make you look totally fucked up
bioscrambler_valid_organsList of organs we can apply to people
bioscrambler_valid_partsList of body parts we can apply to people
biotypes_to_scar_fileAssoc list of biotype -> ideal scar file to be used and grab stuff from.
blacklisted_metalgen_typesTurfs metalgen cant touch
blob_telepathy_mobsAll living mobs which can hear blob telepathy
bluespace_sendersAll bluespace gas senders
bombersAll bomb related messages
bsa_unlockBSA unlocked by head ID swipes
cable_listList of all cables, so that powernets don't have to look through the entire world all the time
cached_mapsList of all the maps that have been cached for /proc/load_map
cached_storage_typecachesAlmost 100% of the time the lists passed into set_holdable are reused for each instance +Just fucking cache it 4head +Yes I could generalize this, but I don't want anyone else using it. in fact, DO NOT COPY THIS +If you find yourself needing this pattern, you're likely better off using static typecaches +I'm not because I do not trust implementers of the storage component to use them, BUT +IF I FIND YOU USING THIS PATTERN IN YOUR CODE I WILL BREAK YOU ACROSS MY KNEES +~Lemon
can_pass_info_varsList of vars on /datum/can_pass_info to use when checking two instances for equality
carp_colorsWeighted list of colours a carp can be +Weighted list of usual carp colors
cell_line_tablesThese global lists exist to allow our element to have weight tables without having to be separate instances. +Assoc list of cell line define | assoc list of datum | cell_line
cell_virus_tablesAssoc list of cell virus define | assoc list of datum | cell_virus
chasm_detritus_typesList containing chasm detritus singletons.
chasm_fallen_mobsGlobal list needed to let fishermen with a rescue hook fish fallen mobs from any place
chemical_reactions_listlist of all /datum/chemical_reaction datums indexed by their typepath. Use this for general lookup stuff
chemical_reactions_list_product_indexlist of all /datum/chemical_reaction datums. Used for the reaction lookup UI. Indexed by PRODUCT type
chemical_reactions_list_reactant_indexlist of all /datum/chemical_reaction datums. Used during chemical reactions. Indexed by REACTANT types
chemical_reactions_results_lookup_listlist of all reactions with their associated product and result ids. Used for reaction lookups
chemical_reagents_listlist of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff
chicken_countCounter for number of chicken mobs in the universe. Chickens will not lay fertile eggs if it exceeds the MAX_CHICKENS define.
chicks_from_eggsCounter for number of chicks hatched by throwing eggs, minecraft style. Chicks will not emerge from thrown eggs if this value exceeds the MAX_CHICKENS define.
clown_mask_optionsMap of names of clown mask types to clown mask icon states
conscious_statetgui state: conscious_state
contained_statetgui state: contained_state
cooking_recipesGlobal list of all cooking related crafting recipes.
cooking_recipes_atomsThis is a global list of typepaths, these typepaths are atoms or reagents that are associated with cooking recipes. +This includes stuff like recipe components and results.
crafting_recipesGlobal list of all non-cooking related crafting recipes.
crafting_recipes_atomsThis is a global list of typepaths, these typepaths are atoms or reagents that are associated with crafting recipes. +This includes stuff like recipe components and results.
ctf_gamesA list containing all loaded CTF games
cult_narsieThe global Nar'sie that the cult's summoned
current_anonymous_themeglobal reference to the current theme, if there is one.
current_living_antagsAll alive antags with clients.
current_observers_listAll observers with clients that joined as observers.
curtainsList of all curtains for button tracking
dead_player_listAll dead mobs with clients. Does not include observers.
deep_inventory_statetgui state: deep_inventory_state
default_pda_themesList of PDA themes that are accessible to everyone by default.
default_statetgui state: default_state
deliverybeaconsList of all active delivery beacons
deliverybeacontagsList of all active delivery beacon locations
department_order_cooldownscooldown for each department, assoc type 2 cooldown. global, so rebuilding the console doesn't refresh the cd
department_security_spawnslist of all department security spawns
drone_machine_blacklist_enabledIf drones are blacklisted from certain sensitive machines
dug_up_basaltUsed by ashstorms to replenish basalt tiles that have been dug up without going through all of them.
duplicate_forbidden_varsList of all vars that will not be copied over when using duplicate_object()
dynamic_forced_rulesetsRulesets which have been forcibly enabled or disabled
dynamic_human_appearancesGlobal list of all dynamically generated icons, for caching, so we don't have to generate multiple times.
dynamic_station_traitsModify the threat level for station traits before dynamic can be Initialized. List(instance = threat_reduction)
editable_sign_typesThis is a global list of all signs you can change an existing sign or new sign backing to, when using a pen on them.
em_block_colorA globaly cached version of EM_BLOCK_COLOR for quick access.
em_mask_matrixA globaly cached version of EM_MASK_MATRIX for quick access.
emissive_colorA globaly cached version of EMISSIVE_COLOR for quick access.
exodrone_launchersAll exodrone launchers.
exodronesAll exodrones.
exoscanner_bandsList of scanned distances
exploration_sitesAll exploration site instances
explorer_drone_adventure_db_entriesAll possible adventures in raw form
fake_reagent_blacklistlist of all reagents that are parent types used to define a bunch of children - but aren't used themselves as anything.
features_block_lengthsThe same rules of the above also apply here, with the exception that this is for the unique_features string variable +(commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters.
features_by_speciesAn assoc list of species types to their features (from get_features())
fileaccess_timerFor FTP requests. (i.e. downloading runtime logs.)
fire_appearancesGlobal list that containes cached fire overlays for mobs
fishing_property_cacheCached fish list properties so we don't have to initalize fish every time, init deffered
floor_designsall designs supported by the RTD
floor_diseasesPossible diseases
focused_testsA list of every test that is currently focused. +Use the PERFORM_ALL_TESTS macro instead.
food_buffsCrafted food buffs grouped by crafting_complexity
food_quality_descriptionLabels for food quality
food_quality_eventsMood events for food quality
fun_statetgui state: fun_state
gas_id_to_canisterList of all the gases, used in labelling the canisters
gas_recipe_metaGlobal list of recipes for atmospheric machines to use
gateway_destinationsList of possible gateway destinations.
generic_event_spawnsList of generic landmarks placed around the map where there are likely to be players and are identifiable at a glance - +Such as public hallways, department rooms, head of staff offices, and non-generic maintenance locations
glass_style_singletonsGlobal list of all glass style singletons created. See /proc/create_glass_styles for list format.
glide_size_multiplierCompensating for time dilation
global_funny_embeddingset this to a new instance of a SUBTYPE of global_funny_embedding. The main type is a prototype and will runtime really hard
global_trait_name_mapvalue -> trait name, list of ALL traits that exist in the game, used for any type of accessing.
golem_stack_food_directoryAssociated list of stack types to a golem food
golem_stack_food_typesGolem food datum singletons
gravity_generatorsWe will keep track of this by adding new gravity generators to the list, and keying it with the z level.
greyscale_menu_statetgui state: greyscale menu
guardian_themesAssoc list of guardian theme singletons
gutlunch_countkeeps track of how many gutlunches are born
hands_statetgui state: hands_state
has_antagonist_hudsAll active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances
heretic_sacrifice_landmarksA global assoc list of all landmarks that denote a heretic sacrifice location. [string heretic path] = [landmark].
heretic_start_knowledgeGlobal list of all heretic knowledge that have route = PATH_START. List of PATHS.
hfr_fuels_listGlobal list of recipes for atmospheric machines to use
hijack_employersemployers who hire agents to do the hijack
holidaysHOLIDAYS
huds_by_categorygets filled by each /datum/atom_hud/New(). +associative list of the form: list(hud category = list(all global atom huds that use that category))
human_adjacent_statetgui state: human_adjacent_state
human_heights_to_offsetsAssoc list of all heights, cast to strings, to """"tuples""""" +The first """tuple""" index is the upper body offset +The second """tuple""" index is the lower body offset
human_invader_antagonistsList of human antagonist types which don't spawn directly on the space station
ice_cream_flavoursICE CREAM FLAVOUR DATUM STUFF
icon_dimensionsCache of the width and height of icon files, to avoid repeating the same expensive operation
identity_block_lengthsSome identity blocks (basically pieces of the unique_identity string variable of the dna datum, commonly abbreviated with ui) +may have a length that differ from standard length of 3 ASCII characters. This list is necessary +for these non-standard blocks to work, as well as the entire unique identity string. +Should you add a new ui block which size differ from the standard (again, 3 ASCII characters), like for example, a color, +please do not forget to also include it in this list in the following format: +"[dna block number]" = dna block size, +Failure to do that may result in bugs. Thanks.
infuser_entriesA list of all infuser entries
integrated_circuitsA list of all integrated circuits
intento_playersAll people who have used an Intento this round along with their high scores.
intercoms_listlist of wallmounted intercom radios.
inventory_statetgui state: inventory_state
investigate_signalerInvestigate log for signaler usage, use the add_to_signaler_investigate_log proc
jobspawn_overridesAssoc list of "job titles" to "job landmarks" +These will take precedence over normal job spawnpoints if created, +essentially allowing a user to override generic job spawnpoints with a specific one
joinable_mobsList of all mobs with the "ghost_direct_control" component
landmarks_listlist of all landmarks created
language_menu_statetgui state: language_menu_state
language_types_by_nameList of all languages ("name" = type)
lawchangesStores who uploaded laws to which silicon-based lifeform, and what the law was
layers_to_offsetUsed for human height overlay adjustments +Certain standing overlay layers shouldn't have a filter applied and should instead just offset by a pixel y +This list contains all the layers that must offset, with its value being whether it's a part of the upper half of the body (TRUE) or not (FALSE)
light_pirate_gangsglobal lists of all pirate gangs that can show up today. they will be taken out of the global lists as spawned so dupes cannot spawn.
light_typesGlobal list of all light template types
limb_choiceOptions for the prothetic limb quirk to choose from
lobby_station_traitsStation traits displayed in the lobby
log_directoryThe directory in which ALL log files should be stored
mafia_bad_signuplist of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.
mafia_early_voteslist of ghosts in mafia_signup who have voted to start early
mafia_gamethe current global mafia game running.
mafia_signuplist of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in
magicarp_spell_coloursAssociative list of magicarp spells to colours, expand this list if you expand the other lists
magicarp_spell_typesA list of spells magicarp can use and a corresponding name prefix to apply
map_loaded_sensorslist of all air sensor's created round start
map_reportsGlobal list of map report datums
marker_beacon_colorsMarker Beacons
mass_teachingA global singleton datum used to store a "summon things controller" for Mass Teaching, to grant a specific spellbook entry to stationgoers and latejoiners
mechas_listList of all mechs for hostile mob target tracking
megafauna_spawn_listGlobal list of megafauna spawns on cave gen
message_delayUsed to make sure restarting the recent_messages list is kept in sync.
message_modes_stat_limitsWhitelist of saymodes or radio extensions that can be spoken through even if not fully conscious. +Associated values are their maximum allowed mob stats.
meteor_eyeballsList of all the meteor eyeballs so we can gib them upon meteor death
meteor_listList of all meteors.
mob_spawnersList of all instances of /obj/effect/mob_spawn/ghost_role in the game world
mod_link_idsGlobal list of all ids associated to a /datum/mod_link instance
mod_themesGlobal list of all /datum/mod_theme
mook_commandscommands the chief can pick from
name2reagentMap of reagent names to its datum path
nanotrasen_employersemployers that are from nanotrasen
narcd_underagesunderages who have been reported to security for trying to buy things they shouldn't, so they can't spam
navbeaconsList of all nav beacons indexed by stringified z level
nearsighted_glassesLists related to quirk selection +Types of glasses that can be selected at character selection with the Nearsighted quirk
never_statetgui state: never_state
new_player_statetgui state: new_player_state
normal_employersemployers who hire agents to do a task and escape... or martyrdom. whatever
not_incapacitated_statetgui state: not_incapacitated_state
not_incapacitated_turf_statetgui state: not_incapacitated_turf_state
notcontained_statetgui state: notcontained_state
objective_machine_handlerDatum which manages references to things we are instructed to destroy
objects_by_id_tagA list of all /obj by their id_tag
observer_statetgui state: observer_state
oilfry_blacklisted_itemsGlobal typecache of things which should never be fried.
order_console_productsList of all items that can be found in the different types of order consoles, to purchase.
organ_process_orderDefines how a mob's organs_slot is ordered +Exists so Life()'s organ process order is consistent
orion_eventsassoc list, [datum singleton] = weight
paper_blanksPaper blanks (form templates, basically). Loaded from config/blanks.json. +If invalid or not found, set to null.
parasitesList of all guardians currently extant
pda_mafia_signuplist of PDAs who want to play mafia, every time someone enters the list it checks to see if enough are in
pda_messengersA list of all active and visible messengers
pda_name_to_themeList of PDA themes that are accessible to everyone by default.
petsplosion_candidatesCandidates for the petsplosion wizard event
phobia_typesPhobia types that can be pulled randomly for brain traumas. +Also determines what phobias you can choose as your preference with the quirk.
physical_obscured_statetgui state: physical_obscured_state
physical_statetgui state: physical_state
picture_log_directoryPicture logging
pillars_by_zList of z pillars (datums placed in the bottom left of XbyX squares that control transparency in that space) +The pillars are stored in triple depth lists indexed by (world_size % pillar_size) + 1 +They are created at transparent turf request, and deleted when no turfs remain
pinpointer_listlist of all pinpointers. Used to change stuff they are pointing to all at once.
pipe_color_nameNames shown in the examine for every colored atmos component
pipe_colors_orderedList that sorts the colors and is used for setting up the pipes layer so that they overlap correctly
pipe_paint_colorsAll colors available to pipes and atmos components
player_detailsassoc list of ckey -> /datum/player_details
plumbing_layer_namesReverse of plumbing_layers, as "[bitflag]" => name
plumbing_layersList of plumbing layers as name => bitflag
poll_optionsAll poll option datums of running polls
pollsAll currently running polls held as datums
portalsList of all portals
preference_entriesAn assoc list list of types to instantiated /datum/preference instances
preference_entries_by_keyAn assoc list of preference entries by their savefile_key
pride_pin_reskinsReskins for the pride pin accessory, mapped by display name to icon state
prisoner_crimesTypes of Crimes Prisoners will have on their record roundstart. +(They also can choose Random, which picks from these options... randomly!)
prototype_language_holdersA global assoc list containing prototypes of all language holders +[Language holder typepath] to [language holder instance] +Used for easy reference of what can speak what without needing to constantly recreate language holders.
random_hallucination_weighted_listGlobal weighted list of all hallucinations that can show up randomly.
rcd_designsall stuff used by RCD for construction
rcd_listlist of Rapid Construction Devices.
reagent_containersList of containers the Chem Master machine can print
reality_smash_trackWe want reality_smash_tracker to exist only once and be accessible from anywhere.
recent_messagesGlobal list of recent messages broadcasted : used to circumvent massive radio spam
required_map_itemsGlobal assoc list of required mapping items, [item typepath] to [required item datum].
revenant_relay_mobsAll "living" (because revenants are in between mortal planes or whatever) mobs that can hear revenants
reverse_contained_statetgui state: reverse_contained_state
round_default_lawsetSee /proc/get_round_default_lawset, do not get directily. +This is the default lawset for silicons.
roundstart_station_borgcharger_areasList of area names of roundstart station cyborg rechargers, for the low charge/no charge cyborg screen alert tooltips.
roundstart_station_closetsA comprehensive list of all closets (NOT CRATES) in the game world
roundstart_station_mechcharger_areasList of area names of roundstart station mech rechargers, for the low charge/no charge mech screen alert tooltips.
rpgloot_controllerHolds the global datum for rpgloot, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)
rpgtitle_controllerHolds the global datum for rpgtitle, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)
rune_typesAssoc list of every rune that can be drawn by ritual daggers. [rune_name] = [typepath]
sacrificedlist of weakrefs to mobs OR minds that have been sacrificed
scan_conditionsScan condition instances
scanned_fish_by_techweba superlist containing typecaches shared between the several fish scanning experiments for each techweb.
screentip_context_iconsStores the cursor hint icons for screentip context.
security_officer_distributionThe department distribution of the security officers.
see_through_mapsglobal statics for the see_through_component coordinate maps +For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object +List-coordinate layout is list(relative_x, relative_y, relative_z) +Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it +Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ
self_statetgui state: self_state
shuttle_caller_listList of all atoms that can call the shuttle, for automatic shuttle calls when there are none.
singularitiesList of all singularity components that exist
sm_delam_listPriority is top to bottom.
sm_gas_behaviorAssoc of sm_gas_behavior/datum/gas (path) = datum/sm_gas (instance)
sniffable_sheetslist of all sheets with sniffable = TRUE for the sniffer to locate
sortedAreasUsed by jump-to-area etc. Updated by area/updateName() +If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please
special_rolesThis defines the antagonists you can operate with in the settings. +Keys are the antagonist, values are the number of days since the player's +first connection in order to play.
species_listAn assoc list of species IDs to type paths
specific_fish_iconsWhen adding new fishable rewards to a table/counts, you can specify an icon to show in place of the +generic fish icon in the minigame UI should the user have the TRAIT_REVEAL_FISH trait, by adding it to +this list.
starlight_colorThe color of light space is currently emitting
starlight_objectsList of plane offset + 1 -> object to display to use +Fills with offsets as they are generated +Holds a list of objects that represent starlight. The idea is to render_source them +So modifying starlight requires touching only one place (NOTE: this doesn't work for the area overlays) +In order to modify them you need to use set_starlight. Areas don't work with render sources it looks like
starlight_overlaysList of plane offset + 1 -> mutable appearance to use +Fills with offsets as they are generated +They mirror their appearance from the starlight objects, which lets us save +time updating them
starlight_powerThe power of the light space is throwin out
starlight_rangeThe range of the light space is displaying
start_landmarks_listlist of all job spawn points created
station_goalsList of available station goals for the crew to be working on
station_nuke_sourceThe source of the last nuke that went off
station_was_nukedWhether the station has been nuked itself. TRUE only if the station was actually hit by the nuke, otherwise FALSE
stock_part_datumsMap of stock part type to their singleton
stock_part_datums_per_objectMap of physical stock part types to their /datum/stock_part
summon_gunsA global singleton datum used to store a "summon things controller" for Summon Guns, to grant random guns to stationgoers and latejoiners
summon_magicA global singleton datum used to store a "summon things controller" for Summon Magic, to grant random magical items to stationgoers and latejoiners
surgeries_listlist of all surgeries by name, associated with their path.
syndicate_employersemployers that are from the syndicate
syndicate_shuttle_boardsList of all nukie shuttle boards, for forcing launch delay if they declare war
tcgcard_health_bar_radial_choicesGlobal list containing all options used for the TGC health button.
tcgcard_mana_bar_radial_choicesGlobal list containing all options used for the TGC mana button.
tech_listlist of all /datum/tech datums indexed by id.
telecomms_listA list of all of the /obj/machinery/telecomms (and subtypes) machines +that exist in the world currently.
teleport_runesList of all teleport runes
teleportbeaconsList of all active teleport beacons
teleportlocsA list of teleport locations
the_gatewayStation home gateway
the_station_areasGlobal list of AREA TYPES that are associated with the station.
time_last_changed_positionThe time since the last job opening was created
timezoneOffsetThe difference betwen midnight (of the host computer) and 0 world.ticks.
total_uf_len_by_blockDitto but for unique features. Used by the datum/dna/set_uni_feature_block and datum/dna/get_uni_feature_block procs.
total_ui_len_by_blockA list of numbers that keeps track of where ui blocks start in the unique_identity string variable of the dna datum. +Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs.
tournament_controllersTournament controllers mapped to arena ID
tracked_implantsList of all implants currently implanted into a mob
typecache_elevated_structuresA typecache listing structures that are considered to have surfaces that you can place items on that are higher than the floor. This, of course, should be restricted to /atom/movables. This is primarily used for food decomposition code.
typecache_general_bad_hostile_attack_targetsA typecache of objects that player controlled, easily accessible, hostile mobs should not be able to attack
typecache_general_bad_things_to_easily_moveA typecache of objects that player controlled, easily accessible, hostile mobs should not be able to move around easily
typecache_holodeck_linked_floorcheck_oktypecache for turfs that should be considered ok during floorchecks. +A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown.
uncommon_roundstart_languagesList of all roundstart languages by path except common
unit_test_mapping_logsWhen unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.
vampire_houseslist that stores a vampire house name for each department
vine_mutations_listA list of the possible mutations for a vine
voice_of_god_commandsList of all voice of god commands
vr_spawnpointsAway missions
wiremod_basic_typesThe basic player-facing types that don't have any super special behaviour.
wiremod_fundamental_typesThe fundamental datatypes of the byond game engine.
wizard_spellbook_purchases_by_keyGlobal assoc list. [ckey] = [spellbook entry type]
wound_series_collectionsA branching assoc list of (series -> list(severity -> list(typepath -> weight))). Allows you to say "I want a generic slash wound", +then "Of severity 2", and get a wound of that description - via get_corresponding_wound_type() +Series: A generic wound_series, such as WOUND_SERIES_BONE_BLUNT_BASIC +Severity: Any wounds held within this will be of this severity. +Typepath, Weight: Merely a pairing of a given typepath to its weight, held for convenience in pickweight.
wound_severities_chronologicalA "chronological" list of wound severities, starting at the least severe.
wounding_types_to_seriesA branching assoc list of (wounding_type -> list(wound_series)). +Allows for determining of which wound series are caused by what.
xeno_sample_colorsList of all possible sample colors
xenobiology_magicarp_spell_typesA reduced list of spells for magicarp spawned in xenobiology, less disruptive
z_statetgui state: z_state
zombie_infection_listA list of all zombie_infection organs, for any mass "animation"
+

Var Details

GPS_list + + + + +

+

Global GPS_list. All GPS components get saved in here for easy reference.

WALLITEMS_INTERIOR + + + + +

+

Checks if that loc and dir has an item on the wall

abstract_mob_types + + + + +

+

List of types of abstract mob which shouldn't usually exist in the world on its own if we're spawning random mobs

achievement_categories + + + + +

+

A list of the current achievement categories supported by the UI and checked by the achievement unit test

achievement_sounds + + + + +

+

A list of sounds that can be played when unlocking an achievement, set in the preferences.

active_jammers + + + + +

+

List of active radio jammers

adamantine_recipes + + + + +

+

Others

admin_activities + + + + +

+

All admin related log lines minus their categories

admin_state + + + + +

+

tgui state: admin_state

+

Checks that the user is an admin, end-of-story.

admin_trait_name_map + + + + +

+

value -> trait name, generated as needed for adminning.

ai_employers + + + + +

+

employers for malfunctioning ais. they do not have sides, unlike traitors.

air_alarm_modes + + + + +

+

Keys are /datum/air_alarm_mode paths +Values are their respective instances.

alcohol_containers + + + + +

+

Associative list of alcoholic container typepath to instances, currently used by the alcoholic quirk

alive_player_list + + + + +

+

All alive mobs with clients.

all_ongoing_hallucinations + + + + +

+

A global list of all ongoing hallucinations, primarily for easy access to be able to stop (delete) hallucinations.

all_voice_of_god_triggers + + + + +

+

Used to stop listeners with silly or clown-esque (first) names such as "Honk" or "Flip" from screwing up certain commands.

all_wound_pregen_data + + + + +

+

A assoc list of (wound typepath -> wound_pregen_data instance). Every wound should have a pregen data.

always_state + + + + +

+

tgui state: always_state

+

Always grants the user UI_INTERACTIVE. Period.

animatable_blacklist + + + + +

+

Mimics can't be made out of these objects

announcer_keys + + + + +

+

Global list of all of our announcer keys.

areas + + + + +

+

Just a list of all the area objects in the game +Note, areas can have duplicate types

areas_by_type + + + + +

+

An association from typepath to area instance. Only includes areas with unique set.

armor_by_type + + + + +

+

Assosciative list of type -> armor. Used to ensure we always hold a reference to default armor datums

base_starlight_color + + + + +

+

The base color of light space emits

basketball_bad_signup + + + + +

+

list of ghosts who want to play basketball that have since disconnected. They are kept in the lobby, but not counted for starting a game.

basketball_game + + + + +

+

the current global basketball game running.

basketball_signup + + + + +

+

list of ghosts who want to play basketball, every time someone enters the list it checks to see if enough are in

bio_state_anatomy + + + + +

+

A assoc list of BIO_ define to EXTERIOR/INTERIOR defines. +This is where the interior/exterior state of a given biostate is set. +Note that not all biostates are guaranteed to be one of these - and in fact, many are not +IMPORTANT NOTE: All keys are stored as text and must be converted via text2num

bioscrambler_organs_blacklist + + + + +

+

Blacklist of organs which should not appear when bioscrambled. +Either will look terrible outside of intended host, give you magical powers, are irreversible, or kill you

bioscrambler_parts_blacklist + + + + +

+

Blacklist of parts which should not appear when bioscrambled, largely because they will make you look totally fucked up

bioscrambler_valid_organs + + + + +

+

List of organs we can apply to people

bioscrambler_valid_parts + + + + +

+

List of body parts we can apply to people

biotypes_to_scar_file + + + + +

+

Assoc list of biotype -> ideal scar file to be used and grab stuff from.

blacklisted_metalgen_types + + + + +

+

Turfs metalgen cant touch

blob_telepathy_mobs + + + + +

+

All living mobs which can hear blob telepathy

bluespace_senders + + + + +

+

All bluespace gas senders

bombers + + + + +

+

All bomb related messages

bsa_unlock + + + + +

+

BSA unlocked by head ID swipes

cable_list + + + + +

+

List of all cables, so that powernets don't have to look through the entire world all the time

cached_maps + + + + +

+

List of all the maps that have been cached for /proc/load_map

cached_storage_typecaches + + + + +

+

Almost 100% of the time the lists passed into set_holdable are reused for each instance +Just fucking cache it 4head +Yes I could generalize this, but I don't want anyone else using it. in fact, DO NOT COPY THIS +If you find yourself needing this pattern, you're likely better off using static typecaches +I'm not because I do not trust implementers of the storage component to use them, BUT +IF I FIND YOU USING THIS PATTERN IN YOUR CODE I WILL BREAK YOU ACROSS MY KNEES +~Lemon

can_pass_info_vars + + + + +

+

List of vars on /datum/can_pass_info to use when checking two instances for equality

carp_colors + + + + +

+

Weighted list of colours a carp can be +Weighted list of usual carp colors

cell_line_tables + + + + +

+

These global lists exist to allow our element to have weight tables without having to be separate instances. +Assoc list of cell line define | assoc list of datum | cell_line

cell_virus_tables + + + + +

+

Assoc list of cell virus define | assoc list of datum | cell_virus

chasm_detritus_types + + + + +

+

List containing chasm detritus singletons.

chasm_fallen_mobs + + + + +

+

Global list needed to let fishermen with a rescue hook fish fallen mobs from any place

chemical_reactions_list + + + + +

+

list of all /datum/chemical_reaction datums indexed by their typepath. Use this for general lookup stuff

chemical_reactions_list_product_index + + + + +

+

list of all /datum/chemical_reaction datums. Used for the reaction lookup UI. Indexed by PRODUCT type

chemical_reactions_list_reactant_index + + + + +

+

list of all /datum/chemical_reaction datums. Used during chemical reactions. Indexed by REACTANT types

chemical_reactions_results_lookup_list + + + + +

+

list of all reactions with their associated product and result ids. Used for reaction lookups

chemical_reagents_list + + + + +

+

list of all /datum/reagent datums indexed by reagent id. Used by chemistry stuff

chicken_count + + + + +

+

Counter for number of chicken mobs in the universe. Chickens will not lay fertile eggs if it exceeds the MAX_CHICKENS define.

chicks_from_eggs + + + + +

+

Counter for number of chicks hatched by throwing eggs, minecraft style. Chicks will not emerge from thrown eggs if this value exceeds the MAX_CHICKENS define.

clown_mask_options + + + + +

+

Map of names of clown mask types to clown mask icon states

conscious_state + + + + +

+

tgui state: conscious_state

+

Only checks if the user is conscious.

contained_state + + + + +

+

tgui state: contained_state

+

Checks that the user is inside the src_object.

cooking_recipes + + + + +

+

Global list of all cooking related crafting recipes.

cooking_recipes_atoms + + + + +

+

This is a global list of typepaths, these typepaths are atoms or reagents that are associated with cooking recipes. +This includes stuff like recipe components and results.

crafting_recipes + + + + +

+

Global list of all non-cooking related crafting recipes.

crafting_recipes_atoms + + + + +

+

This is a global list of typepaths, these typepaths are atoms or reagents that are associated with crafting recipes. +This includes stuff like recipe components and results.

ctf_games + + + + +

+

A list containing all loaded CTF games

cult_narsie + + + + +

+

The global Nar'sie that the cult's summoned

current_anonymous_theme + + + + +

+

global reference to the current theme, if there is one.

current_living_antags + + + + +

+

All alive antags with clients.

current_observers_list + + + + +

+

All observers with clients that joined as observers.

curtains + + + + +

+

List of all curtains for button tracking

dead_player_list + + + + +

+

All dead mobs with clients. Does not include observers.

deep_inventory_state + + + + +

+

tgui state: deep_inventory_state

+

Checks that the src_object is in the user's deep +(backpack, box, toolbox, etc) inventory.

default_pda_themes + + + + +

+

List of PDA themes that are accessible to everyone by default.

default_state + + + + +

+

tgui state: default_state

+

Checks a number of things -- mostly physical distance for humans +and view for robots.

deliverybeacons + + + + +

+

List of all active delivery beacons

deliverybeacontags + + + + +

+

List of all active delivery beacon locations

department_order_cooldowns + + + + +

+

cooldown for each department, assoc type 2 cooldown. global, so rebuilding the console doesn't refresh the cd

department_security_spawns + + + + +

+

list of all department security spawns

drone_machine_blacklist_enabled + + + + +

+

If drones are blacklisted from certain sensitive machines

dug_up_basalt + + + + +

+

Used by ashstorms to replenish basalt tiles that have been dug up without going through all of them.

duplicate_forbidden_vars + + + + +

+

List of all vars that will not be copied over when using duplicate_object()

dynamic_forced_rulesets + + + + +

+

Rulesets which have been forcibly enabled or disabled

dynamic_human_appearances + + + + +

+

Global list of all dynamically generated icons, for caching, so we don't have to generate multiple times.

dynamic_station_traits + + + + +

+

Modify the threat level for station traits before dynamic can be Initialized. List(instance = threat_reduction)

editable_sign_types + + + + +

+

This is a global list of all signs you can change an existing sign or new sign backing to, when using a pen on them.

em_block_color + + + + +

+

A globaly cached version of EM_BLOCK_COLOR for quick access.

em_mask_matrix + + + + +

+

A globaly cached version of EM_MASK_MATRIX for quick access.

emissive_color + + + + +

+

A globaly cached version of EMISSIVE_COLOR for quick access.

exodrone_launchers + + + + +

+

All exodrone launchers.

exodrones + + + + +

+

All exodrones.

exoscanner_bands + + + + +

+

List of scanned distances

exploration_sites + + + + +

+

All exploration site instances

explorer_drone_adventure_db_entries + + + + +

+

All possible adventures in raw form

fake_reagent_blacklist + + + + +

+

list of all reagents that are parent types used to define a bunch of children - but aren't used themselves as anything.

features_block_lengths + + + + +

+

The same rules of the above also apply here, with the exception that this is for the unique_features string variable +(commonly abbreviated with uf) and its blocks. Both ui and uf have a standard block length of 3 ASCII characters.

features_by_species + + + + +

+

An assoc list of species types to their features (from get_features())

fileaccess_timer + + + + +

+

For FTP requests. (i.e. downloading runtime logs.)

+

However it'd be ok to use for accessing attack logs and such too, which are even laggier.

fire_appearances + + + + +

+

Global list that containes cached fire overlays for mobs

fishing_property_cache + + + + +

+

Cached fish list properties so we don't have to initalize fish every time, init deffered

floor_designs + + + + +

+

all designs supported by the RTD

floor_diseases + + + + +

+

Possible diseases

focused_tests + + + + +

+

A list of every test that is currently focused. +Use the PERFORM_ALL_TESTS macro instead.

food_buffs + + + + +

+

Crafted food buffs grouped by crafting_complexity

food_quality_description + + + + +

+

Labels for food quality

food_quality_events + + + + +

+

Mood events for food quality

fun_state + + + + +

+

tgui state: fun_state

+

Checks that the user has the fun privilige.

gas_id_to_canister + + + + +

+

List of all the gases, used in labelling the canisters

gas_recipe_meta + + + + +

+

Global list of recipes for atmospheric machines to use

gateway_destinations + + + + +

+

List of possible gateway destinations.

generic_event_spawns + + + + +

+

List of generic landmarks placed around the map where there are likely to be players and are identifiable at a glance - +Such as public hallways, department rooms, head of staff offices, and non-generic maintenance locations

glass_style_singletons + + + + +

+

Global list of all glass style singletons created. See /proc/create_glass_styles for list format.

glide_size_multiplier + + + + +

+

Compensating for time dilation

global_funny_embedding + + + + +

+

set this to a new instance of a SUBTYPE of global_funny_embedding. The main type is a prototype and will runtime really hard

global_trait_name_map + + + + +

+

value -> trait name, list of ALL traits that exist in the game, used for any type of accessing.

golem_stack_food_directory + + + + +

+

Associated list of stack types to a golem food

golem_stack_food_types + + + + +

+

Golem food datum singletons

gravity_generators + + + + +

+

We will keep track of this by adding new gravity generators to the list, and keying it with the z level.

greyscale_menu_state + + + + +

+

tgui state: greyscale menu

+

Checks that the target var of the greyscale menu meets the default can_use_topic criteria

guardian_themes + + + + +

+

Assoc list of guardian theme singletons

gutlunch_count + + + + +

+

keeps track of how many gutlunches are born

hands_state + + + + +

+

tgui state: hands_state

+

Checks that the src_object is in the user's hands.

has_antagonist_huds + + + + +

+

All active /datum/atom_hud/alternate_appearance/basic/has_antagonist instances

heretic_sacrifice_landmarks + + + + +

+

A global assoc list of all landmarks that denote a heretic sacrifice location. [string heretic path] = [landmark].

heretic_start_knowledge + + + + +

+

Global list of all heretic knowledge that have route = PATH_START. List of PATHS.

hfr_fuels_list + + + + +

+

Global list of recipes for atmospheric machines to use

hijack_employers + + + + +

+

employers who hire agents to do the hijack

holidays + + + + +

+

HOLIDAYS

+

Uncommenting ALLOW_HOLIDAYS in config.txt will enable holidays

+

It's easy to add stuff. Just add a holiday datum in code/modules/holiday/holidays.dm +You can then check if it's a special day in any code in the game by calling check_holidays("Groundhog Day")

+

You can also make holiday random events easily thanks to Pete/Gia's system. +simply make a random event normally, then assign it a holidayID string which matches the holiday's name. +Anything with a holidayID, which isn't in the holidays list, will never occur.

+

Please, Don't spam stuff up with stupid stuff (key example being april-fools Pooh/ERP/etc), +and don't forget: CHECK YOUR CODE!!!! We don't want any zero-day bugs which happen only on holidays and never get found/fixed!

huds_by_category + + + + +

+

gets filled by each /datum/atom_hud/New(). +associative list of the form: list(hud category = list(all global atom huds that use that category))

human_adjacent_state + + + + +

+

tgui state: human_adjacent_state

+

In addition to default checks, only allows interaction for a +human adjacent user.

human_heights_to_offsets + + + + +

+

Assoc list of all heights, cast to strings, to """"tuples""""" +The first """tuple""" index is the upper body offset +The second """tuple""" index is the lower body offset

human_invader_antagonists + + + + +

+

List of human antagonist types which don't spawn directly on the space station

ice_cream_flavours + + + + +

+

ICE CREAM FLAVOUR DATUM STUFF

icon_dimensions + + + + +

+

Cache of the width and height of icon files, to avoid repeating the same expensive operation

identity_block_lengths + + + + +

+

Some identity blocks (basically pieces of the unique_identity string variable of the dna datum, commonly abbreviated with ui) +may have a length that differ from standard length of 3 ASCII characters. This list is necessary +for these non-standard blocks to work, as well as the entire unique identity string. +Should you add a new ui block which size differ from the standard (again, 3 ASCII characters), like for example, a color, +please do not forget to also include it in this list in the following format: +"[dna block number]" = dna block size, +Failure to do that may result in bugs. Thanks.

infuser_entries + + + + +

+

A list of all infuser entries

integrated_circuits + + + + +

+

A list of all integrated circuits

intento_players + + + + +

+

All people who have used an Intento this round along with their high scores.

intercoms_list + + + + +

+

list of wallmounted intercom radios.

inventory_state + + + + +

+

tgui state: inventory_state

+

Checks that the src_object is in the user's top-level +(hand, ear, pocket, belt, etc) inventory.

investigate_signaler + + + + +

+

Investigate log for signaler usage, use the add_to_signaler_investigate_log proc

jobspawn_overrides + + + + +

+

Assoc list of "job titles" to "job landmarks" +These will take precedence over normal job spawnpoints if created, +essentially allowing a user to override generic job spawnpoints with a specific one

joinable_mobs + + + + +

+

List of all mobs with the "ghost_direct_control" component

landmarks_list + + + + +

+

list of all landmarks created

language_menu_state + + + + +

+

tgui state: language_menu_state

language_types_by_name + + + + +

+

List of all languages ("name" = type)

lawchanges + + + + +

+

Stores who uploaded laws to which silicon-based lifeform, and what the law was

layers_to_offset + + + + +

+

Used for human height overlay adjustments +Certain standing overlay layers shouldn't have a filter applied and should instead just offset by a pixel y +This list contains all the layers that must offset, with its value being whether it's a part of the upper half of the body (TRUE) or not (FALSE)

light_pirate_gangs + + + + +

+

global lists of all pirate gangs that can show up today. they will be taken out of the global lists as spawned so dupes cannot spawn.

light_types + + + + +

+

Global list of all light template types

limb_choice + + + + +

+

Options for the prothetic limb quirk to choose from

lobby_station_traits + + + + +

+

Station traits displayed in the lobby

log_directory + + + + +

+

The directory in which ALL log files should be stored

mafia_bad_signup + + + + +

+

list of ghosts who want to play mafia that have since disconnected. They are kept in the lobby, but not counted for starting a game.

mafia_early_votes + + + + +

+

list of ghosts in mafia_signup who have voted to start early

mafia_game + + + + +

+

the current global mafia game running.

mafia_signup + + + + +

+

list of ghosts who want to play mafia, every time someone enters the list it checks to see if enough are in

magicarp_spell_colours + + + + +

+

Associative list of magicarp spells to colours, expand this list if you expand the other lists

magicarp_spell_types + + + + +

+

A list of spells magicarp can use and a corresponding name prefix to apply

map_loaded_sensors + + + + +

+

list of all air sensor's created round start

map_reports + + + + +

+

Global list of map report datums

marker_beacon_colors + + + + +

+

Marker Beacons

mass_teaching + + + + +

+

A global singleton datum used to store a "summon things controller" for Mass Teaching, to grant a specific spellbook entry to stationgoers and latejoiners

mechas_list + + + + +

+

List of all mechs for hostile mob target tracking

megafauna_spawn_list + + + + +

+

Global list of megafauna spawns on cave gen

message_delay + + + + +

+

Used to make sure restarting the recent_messages list is kept in sync.

message_modes_stat_limits + + + + +

+

Whitelist of saymodes or radio extensions that can be spoken through even if not fully conscious. +Associated values are their maximum allowed mob stats.

meteor_eyeballs + + + + +

+

List of all the meteor eyeballs so we can gib them upon meteor death

meteor_list + + + + +

+

List of all meteors.

mob_spawners + + + + +

+

List of all instances of /obj/effect/mob_spawn/ghost_role in the game world

+

Global list of all ids associated to a /datum/mod_link instance

mod_themes + + + + +

+

Global list of all /datum/mod_theme

mook_commands + + + + +

+

commands the chief can pick from

name2reagent + + + + +

+

Map of reagent names to its datum path

nanotrasen_employers + + + + +

+

employers that are from nanotrasen

narcd_underages + + + + +

+

underages who have been reported to security for trying to buy things they shouldn't, so they can't spam

navbeacons + + + + +

+

List of all nav beacons indexed by stringified z level

nearsighted_glasses + + + + +

+

Lists related to quirk selection +Types of glasses that can be selected at character selection with the Nearsighted quirk

never_state + + + + +

+

tgui state: never_state

+

Always closes the UI, no matter what. See the ui_state in religious_tool.dm to see an example

new_player_state + + + + +

+

tgui state: new_player_state

+

Checks that the user is a /mob/dead/new_player

normal_employers + + + + +

+

employers who hire agents to do a task and escape... or martyrdom. whatever

not_incapacitated_state + + + + +

+

tgui state: not_incapacitated_state

+

Checks that the user isn't incapacitated

not_incapacitated_turf_state + + + + +

+

tgui state: not_incapacitated_turf_state

+

Checks that the user isn't incapacitated and that their loc is a turf

notcontained_state + + + + +

+

tgui state: notcontained_state

+

Checks that the user is not inside src_object, and then makes the +default checks.

objective_machine_handler + + + + +

+

Datum which manages references to things we are instructed to destroy

objects_by_id_tag + + + + +

+

A list of all /obj by their id_tag

observer_state + + + + +

+

tgui state: observer_state

+

Checks that the user is an observer/ghost.

oilfry_blacklisted_items + + + + +

+

Global typecache of things which should never be fried.

order_console_products + + + + +

+

List of all items that can be found in the different types of order consoles, to purchase.

organ_process_order + + + + +

+

Defines how a mob's organs_slot is ordered +Exists so Life()'s organ process order is consistent

orion_events + + + + +

+

assoc list, [datum singleton] = weight

paper_blanks + + + + +

+

Paper blanks (form templates, basically). Loaded from config/blanks.json. +If invalid or not found, set to null.

parasites + + + + +

+

List of all guardians currently extant

pda_mafia_signup + + + + +

+

list of PDAs who want to play mafia, every time someone enters the list it checks to see if enough are in

pda_messengers + + + + +

+

A list of all active and visible messengers

pda_name_to_theme + + + + +

+

List of PDA themes that are accessible to everyone by default.

petsplosion_candidates + + + + +

+

Candidates for the petsplosion wizard event

phobia_types + + + + +

+

Phobia types that can be pulled randomly for brain traumas. +Also determines what phobias you can choose as your preference with the quirk.

physical_obscured_state + + + + +

+

tgui state: physical_obscured_state

+

Short-circuits the default state to only check physical distance, being in view doesn't matter

physical_state + + + + +

+

tgui state: physical_state

+

Short-circuits the default state to only check physical distance.

picture_log_directory + + + + +

+

Picture logging

pillars_by_z + + + + +

+

List of z pillars (datums placed in the bottom left of XbyX squares that control transparency in that space) +The pillars are stored in triple depth lists indexed by (world_size % pillar_size) + 1 +They are created at transparent turf request, and deleted when no turfs remain

pinpointer_list + + + + +

+

list of all pinpointers. Used to change stuff they are pointing to all at once.

pipe_color_name + + + + +

+

Names shown in the examine for every colored atmos component

pipe_colors_ordered + + + + +

+

List that sorts the colors and is used for setting up the pipes layer so that they overlap correctly

pipe_paint_colors + + + + +

+

All colors available to pipes and atmos components

player_details + + + + +

+

assoc list of ckey -> /datum/player_details

plumbing_layer_names + + + + +

+

Reverse of plumbing_layers, as "[bitflag]" => name

plumbing_layers + + + + +

+

List of plumbing layers as name => bitflag

poll_options + + + + +

+

All poll option datums of running polls

polls + + + + +

+

All currently running polls held as datums

portals + + + + +

+

List of all portals

preference_entries + + + + +

+

An assoc list list of types to instantiated /datum/preference instances

preference_entries_by_key + + + + +

+

An assoc list of preference entries by their savefile_key

pride_pin_reskins + + + + +

+

Reskins for the pride pin accessory, mapped by display name to icon state

prisoner_crimes + + + + +

+

Types of Crimes Prisoners will have on their record roundstart. +(They also can choose Random, which picks from these options... randomly!)

prototype_language_holders + + + + +

+

A global assoc list containing prototypes of all language holders +[Language holder typepath] to [language holder instance] +Used for easy reference of what can speak what without needing to constantly recreate language holders.

random_hallucination_weighted_list + + + + +

+

Global weighted list of all hallucinations that can show up randomly.

rcd_designs + + + + +

+

all stuff used by RCD for construction

rcd_list + + + + +

+

list of Rapid Construction Devices.

reagent_containers + + + + +

+

List of containers the Chem Master machine can print

reality_smash_track + + + + +

+

We want reality_smash_tracker to exist only once and be accessible from anywhere.

recent_messages + + + + +

+

Global list of recent messages broadcasted : used to circumvent massive radio spam

required_map_items + + + + +

+

Global assoc list of required mapping items, [item typepath] to [required item datum].

revenant_relay_mobs + + + + +

+

All "living" (because revenants are in between mortal planes or whatever) mobs that can hear revenants

reverse_contained_state + + + + +

+

tgui state: reverse_contained_state

+

Checks if src_object is inside of user.

round_default_lawset + + + + +

+

See /proc/get_round_default_lawset, do not get directily. +This is the default lawset for silicons.

roundstart_station_borgcharger_areas + + + + +

+

List of area names of roundstart station cyborg rechargers, for the low charge/no charge cyborg screen alert tooltips.

roundstart_station_closets + + + + +

+

A comprehensive list of all closets (NOT CRATES) in the game world

roundstart_station_mechcharger_areas + + + + +

+

List of area names of roundstart station mech rechargers, for the low charge/no charge mech screen alert tooltips.

rpgloot_controller + + + + +

+

Holds the global datum for rpgloot, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)

rpgtitle_controller + + + + +

+

Holds the global datum for rpgtitle, so anywhere may check for its existence (it signals into whatever it needs to modify, so it shouldn't require fetching)

rune_types + + + + +

+

Assoc list of every rune that can be drawn by ritual daggers. [rune_name] = [typepath]

sacrificed + + + + +

+

list of weakrefs to mobs OR minds that have been sacrificed

scan_conditions + + + + +

+

Scan condition instances

scanned_fish_by_techweb + + + + +

+

a superlist containing typecaches shared between the several fish scanning experiments for each techweb.

screentip_context_icons + + + + +

+

Stores the cursor hint icons for screentip context.

security_officer_distribution + + + + +

+

The department distribution of the security officers.

+

Keys are refs of the security officer mobs. This is to preserve the list's structure even if the +mob gets deleted. This is also safe, as mobs are guaranteed to have a unique ref, as per /mob/GenerateTag().

see_through_maps + + + + +

+

global statics for the see_through_component coordinate maps +For ease of use, include a comment in the shape of the coordinate map, where O is nothing, X is a hidden tile and A is the object +List-coordinate layout is list(relative_x, relative_y, relative_z) +Turf finding algorithm needs the z and you can totally use it, but I can't think of any reason to ever do it +Also it'd be really cool if you could keep the list-coordinates in here represent their actual relative coords, dont use tabs though since their spacing can differ

self_state + + + + +

+

tgui state: self_state

+

Only checks that the user and src_object are the same.

shuttle_caller_list + + + + +

+

List of all atoms that can call the shuttle, for automatic shuttle calls when there are none.

singularities + + + + +

+

List of all singularity components that exist

sm_delam_list + + + + +

+

Priority is top to bottom.

sm_gas_behavior + + + + +

+

Assoc of sm_gas_behavior/datum/gas (path) = datum/sm_gas (instance)

sniffable_sheets + + + + +

+

list of all sheets with sniffable = TRUE for the sniffer to locate

sortedAreas + + + + +

+

Used by jump-to-area etc. Updated by area/updateName() +If this is null, it needs to be recalculated. Use get_sorted_areas() as a getter please

special_roles + + + + +

+

This defines the antagonists you can operate with in the settings. +Keys are the antagonist, values are the number of days since the player's +first connection in order to play.

species_list + + + + +

+

An assoc list of species IDs to type paths

specific_fish_icons + + + + +

+

When adding new fishable rewards to a table/counts, you can specify an icon to show in place of the +generic fish icon in the minigame UI should the user have the TRAIT_REVEAL_FISH trait, by adding it to +this list.

+

A lot of the icons here may be a tad inaccurate, but since we're limited to the free font awesome icons we +have access to, we got to make do.

starlight_color + + + + +

+

The color of light space is currently emitting

starlight_objects + + + + +

+

List of plane offset + 1 -> object to display to use +Fills with offsets as they are generated +Holds a list of objects that represent starlight. The idea is to render_source them +So modifying starlight requires touching only one place (NOTE: this doesn't work for the area overlays) +In order to modify them you need to use set_starlight. Areas don't work with render sources it looks like

starlight_overlays + + + + +

+

List of plane offset + 1 -> mutable appearance to use +Fills with offsets as they are generated +They mirror their appearance from the starlight objects, which lets us save +time updating them

starlight_power + + + + +

+

The power of the light space is throwin out

starlight_range + + + + +

+

The range of the light space is displaying

start_landmarks_list + + + + +

+

list of all job spawn points created

station_goals + + + + +

+

List of available station goals for the crew to be working on

station_nuke_source + + + + +

+

The source of the last nuke that went off

station_was_nuked + + + + +

+

Whether the station has been nuked itself. TRUE only if the station was actually hit by the nuke, otherwise FALSE

stock_part_datums + + + + +

+

Map of stock part type to their singleton

stock_part_datums_per_object + + + + +

+

Map of physical stock part types to their /datum/stock_part

summon_guns + + + + +

+

A global singleton datum used to store a "summon things controller" for Summon Guns, to grant random guns to stationgoers and latejoiners

summon_magic + + + + +

+

A global singleton datum used to store a "summon things controller" for Summon Magic, to grant random magical items to stationgoers and latejoiners

surgeries_list + + + + +

+

list of all surgeries by name, associated with their path.

syndicate_employers + + + + +

+

employers that are from the syndicate

syndicate_shuttle_boards + + + + +

+

List of all nukie shuttle boards, for forcing launch delay if they declare war

tcgcard_health_bar_radial_choices + + + + +

+

Global list containing all options used for the TGC health button.

tcgcard_mana_bar_radial_choices + + + + +

+

Global list containing all options used for the TGC mana button.

tech_list + + + + +

+

list of all /datum/tech datums indexed by id.

telecomms_list + + + + +

+

A list of all of the /obj/machinery/telecomms (and subtypes) machines +that exist in the world currently.

teleport_runes + + + + +

+

List of all teleport runes

teleportbeacons + + + + +

+

List of all active teleport beacons

teleportlocs + + + + +

+

A list of teleport locations

+

Adding a wizard area teleport list because motherfucking lag -- Urist +I am far too lazy to make it a proper list of areas so I'll just make it run the usual telepot routine at the start of the game

the_gateway + + + + +

+

Station home gateway

the_station_areas + + + + +

+

Global list of AREA TYPES that are associated with the station.

+

This tracks the types of all areas in existence that are a UNIQUE_AREA and are on the station Z.

+

This does not track the area instances themselves - See [GLOB.areas] for that.

time_last_changed_position + + + + +

+

The time since the last job opening was created

timezoneOffset + + + + +

+

The difference betwen midnight (of the host computer) and 0 world.ticks.

total_uf_len_by_block + + + + +

+

Ditto but for unique features. Used by the datum/dna/set_uni_feature_block and datum/dna/get_uni_feature_block procs.

total_ui_len_by_block + + + + +

+

A list of numbers that keeps track of where ui blocks start in the unique_identity string variable of the dna datum. +Commonly used by the datum/dna/set_uni_identity_block and datum/dna/get_uni_identity_block procs.

tournament_controllers + + + + +

+

Tournament controllers mapped to arena ID

tracked_implants + + + + +

+

List of all implants currently implanted into a mob

typecache_elevated_structures + + + + +

+

A typecache listing structures that are considered to have surfaces that you can place items on that are higher than the floor. This, of course, should be restricted to /atom/movables. This is primarily used for food decomposition code.

typecache_general_bad_hostile_attack_targets + + + + +

+

A typecache of objects that player controlled, easily accessible, hostile mobs should not be able to attack

typecache_general_bad_things_to_easily_move + + + + +

+

A typecache of objects that player controlled, easily accessible, hostile mobs should not be able to move around easily

typecache_holodeck_linked_floorcheck_ok + + + + +

+

typecache for turfs that should be considered ok during floorchecks. +A linked turf being anything not in this typecache will cause the holodeck to perform an emergency shutdown.

uncommon_roundstart_languages + + + + +

+

List of all roundstart languages by path except common

unit_test_mapping_logs + + + + +

+

When unit testing, all logs sent to log_mapping are stored here and retrieved in log_mapping unit test.

vampire_houses + + + + +

+

list that stores a vampire house name for each department

vine_mutations_list + + + + +

+

A list of the possible mutations for a vine

voice_of_god_commands + + + + +

+

List of all voice of god commands

vr_spawnpoints + + + + +

+

Away missions

wiremod_basic_types + + + + +

+

The basic player-facing types that don't have any super special behaviour.

wiremod_fundamental_types + + + + +

+

The fundamental datatypes of the byond game engine.

wizard_spellbook_purchases_by_key + + + + +

+

Global assoc list. [ckey] = [spellbook entry type]

wound_series_collections + + + + +

+

A branching assoc list of (series -> list(severity -> list(typepath -> weight))). Allows you to say "I want a generic slash wound", +then "Of severity 2", and get a wound of that description - via get_corresponding_wound_type() +Series: A generic wound_series, such as WOUND_SERIES_BONE_BLUNT_BASIC +Severity: Any wounds held within this will be of this severity. +Typepath, Weight: Merely a pairing of a given typepath to its weight, held for convenience in pickweight.

wound_severities_chronological + + + + +

+

A "chronological" list of wound severities, starting at the least severe.

wounding_types_to_series + + + + +

+

A branching assoc list of (wounding_type -> list(wound_series)). +Allows for determining of which wound series are caused by what.

xeno_sample_colors + + + + +

+

List of all possible sample colors

xenobiology_magicarp_spell_types + + + + +

+

A reduced list of spells for magicarp spawned in xenobiology, less disruptive

z_state + + + + +

+

tgui state: z_state

+

Only checks that the Z-level of the user and src_object are the same.

zombie_infection_list + + + + +

+

A list of all zombie_infection organs, for any mass "animation"

+ + + diff --git a/datum/controller/master.html b/datum/controller/master.html new file mode 100644 index 00000000000..20eb5b72644 --- /dev/null +++ b/datum/controller/master.html @@ -0,0 +1,172 @@ + + + + + + + /datum/controller/master - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

master + + + +

+ +

Start of queue linked list +End of queue linked list (used for appending to the list) +Are we loading in a new map? +for scheduling different subsystems for different stages of the round

+ + + + + + + + + + + + + + + + + +

Vars

current_initializing_subsystemDuring initialization, will be the instanced subsytem that is currently initializing. +Outside of initialization, returns null.
current_ticklimitcurrent tick limit, assigned before running a subsystem. +used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits
init_stage_completedMost recent init stage to complete init.
iterationHow many times have we ran
last_profiledThe last decisecond we force dumped profiling information +Used to avoid spamming profile reads since they can be expensive (string memes)
last_runworld.time of last fire, for tracking lag outside of the mc
last_type_processedThe type of the last subsystem to be fire()'d.
make_runtimemakes the mc main loop runtime
olddriftTickdrift as of last tick, w no averaging going on
processingAre we processing (higher values increase the processing delay by n ticks)
skip_ticksOnly run ticker subsystems for the next n ticks.
sleep_deltaHow long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)
stack_end_detectorStack end detector to detect stack overflows that kill the mc's main loop
subsystemsList of subsystems to process().

Procs

AttemptProfileDumpAttempts to dump our current profile info into a file, triggered if the MC thinks shit is going down +Accepts a delay in deciseconds of how long ago our last dump can be, this saves causing performance problems ourselves
RunQueueRunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors
init_subsystemInitialize a given subsystem and handle the results.
laggy_byond_map_update_incomingWarns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.
+

Var Details

current_initializing_subsystem + + + + +

+

During initialization, will be the instanced subsytem that is currently initializing. +Outside of initialization, returns null.

current_ticklimit + + + + +

+

current tick limit, assigned before running a subsystem. +used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits

init_stage_completed + + + + +

+

Most recent init stage to complete init.

iteration + + + + +

+

How many times have we ran

last_profiled + + + + +

+

The last decisecond we force dumped profiling information +Used to avoid spamming profile reads since they can be expensive (string memes)

last_run + + + + +

+

world.time of last fire, for tracking lag outside of the mc

last_type_processed + + + + +

+

The type of the last subsystem to be fire()'d.

make_runtime + + + + +

+

makes the mc main loop runtime

olddrift + + + + +

+

Tickdrift as of last tick, w no averaging going on

processing + + + + +

+

Are we processing (higher values increase the processing delay by n ticks)

skip_ticks + + + + +

+

Only run ticker subsystems for the next n ticks.

sleep_delta + + + + +

+

How long is the MC sleeping between runs, read only (set by Loop() based off of anti-tick-contention heuristics)

stack_end_detector + + + + +

+

Stack end detector to detect stack overflows that kill the mc's main loop

subsystems + + + + +

+

List of subsystems to process().

Proc Details

AttemptProfileDump +

+

Attempts to dump our current profile info into a file, triggered if the MC thinks shit is going down +Accepts a delay in deciseconds of how long ago our last dump can be, this saves causing performance problems ourselves

RunQueue +

+

RunQueue - Run thru the queue of subsystems to run, running them while balancing out their allocated tick precentage +Returns 0 if runtimed, a negitive number for logic errors, and a positive number if the operation completed without errors

init_subsystem +

+

Initialize a given subsystem and handle the results.

+

Arguments:

+

laggy_byond_map_update_incoming +

+

Warns us that the end of tick byond map_update will be laggier then normal, so that we can just skip running subsystems this tick.

+ + + diff --git a/datum/controller/subsystem.html b/datum/controller/subsystem.html new file mode 100644 index 00000000000..83c87d92778 --- /dev/null +++ b/datum/controller/subsystem.html @@ -0,0 +1,296 @@ + + + + + + + /datum/controller/subsystem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Subsystem base class + + + +

+ +

Defines a subsystem to be managed by the Master Controller

+

Simply define a child of this subsystem, using the [SUBSYSTEM_DEF] macro, and the MC will handle registration. +Changing the name is required

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_fireSet to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick
costRunning average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)
failure_strikesHow many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!
flagsSubsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)
init_orderOrder of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.
init_stageWhich stage does this subsystem init at. Earlier stages can fire while later stages init.
initializedThis var is set to TRUE after the subsystem has been initialized.
last_fireLast world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])
nameName of the subsystem - you must change this
next_fireScheduled world.time for next fire()
paused_tick_usageTracks how much of a tick the subsystem has consumed in the current run
paused_ticksTracks how many fires the subsystem has consecutively paused on in the current run
postponed_firesHow many fires have we been requested to postpone
priorityPriority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems
queue_nextNext subsystem in the queue of subsystems to run this tick
queue_prevPrevious subsystem in the queue of subsystems to run this tick
queued_priorityPriority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.
queued_timeTime the subsystem entered the queue, (for timing and priority reasons)
runlevelsBitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.
slept_countTracks how many times a subsystem has ever slept in fire().
stateTracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping
tick_allocation_avgHow much of a tick (in percents of a tick) do we get allocated by the mc on avg.
tick_allocation_lastHow much of a tick (in percents of a tick) were we allocated last fire.
tick_overrunRunning average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing
tick_usageRunning average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run
ticksTracks how many fires the subsystem takes to complete a run on average.
times_firedTracks the amount of completed runs for the subsystem
waitTime to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Procs

InitializeUsed to initialize the subsystem. This is expected to be overriden by subtypes.
OnConfigLoadCalled after the config has been loaded or reloaded.
PreInitdatum/controller/subsystem/New()
enqueueQueue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)
firepreviously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.
igniteThis is used so the mc knows when the subsystem sleeps. do not override.
postponeCauses the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)
update_nextfire
+

Var Details

can_fire + + + + +

+

Set to 0 to prevent fire() calls, mostly for admin use or subsystems that may be resumed later +use the SS_NO_FIRE flag instead for systems that never fire to keep it from even being added to list that is checked every tick

cost + + + + +

+

Running average of the amount of milliseconds it takes the subsystem to complete a run (including all resumes but not the time spent paused)

failure_strikes + + + + +

+

How many times we suspect a subsystem type has crashed the MC, 3 strikes and you're out!

flags + + + + +

+

Subsystem Flags to control binary behavior. Flags must be set at compile time or before preinit finishes to take full effect. (You can also restart the mc to force them to process again)

init_order + + + + +

+

Order of initialization. Higher numbers are initialized first, lower numbers later. Use or create defines such as [INIT_ORDER_DEFAULT] so we can see the order in one file.

init_stage + + + + +

+

Which stage does this subsystem init at. Earlier stages can fire while later stages init.

initialized + + + + +

+

This var is set to TRUE after the subsystem has been initialized.

last_fire + + + + +

+

Last world.time the subsystem completed a run (as in wasn't paused by [MC_TICK_CHECK])

name + + + + +

+

Name of the subsystem - you must change this

next_fire + + + + +

+

Scheduled world.time for next fire()

paused_tick_usage + + + + +

+

Tracks how much of a tick the subsystem has consumed in the current run

paused_ticks + + + + +

+

Tracks how many fires the subsystem has consecutively paused on in the current run

postponed_fires + + + + +

+

How many fires have we been requested to postpone

priority + + + + +

+

Priority Weight: When mutiple subsystems need to run in the same tick, higher priority subsystems will be given a higher share of the tick before MC_TICK_CHECK triggers a sleep, higher priority subsystems also run before lower priority subsystems

queue_next + + + + +

+

Next subsystem in the queue of subsystems to run this tick

queue_prev + + + + +

+

Previous subsystem in the queue of subsystems to run this tick

queued_priority + + + + +

+

Priority at the time the subsystem entered the queue. Needed to avoid changes in priority (by admins and the like) from breaking things.

queued_time + + + + +

+

Time the subsystem entered the queue, (for timing and priority reasons)

runlevels + + + + +

+

Bitmap of what game states can this subsystem fire at. See [RUNLEVELS_DEFAULT] for more details.

slept_count + + + + +

+

Tracks how many times a subsystem has ever slept in fire().

state + + + + +

+

Tracks the current execution state of the subsystem. Used to handle subsystems that sleep in fire so the mc doesn't run them again while they are sleeping

tick_allocation_avg + + + + +

+

How much of a tick (in percents of a tick) do we get allocated by the mc on avg.

tick_allocation_last + + + + +

+

How much of a tick (in percents of a tick) were we allocated last fire.

tick_overrun + + + + +

+

Running average of the amount of tick usage (in percents of a game tick) the subsystem has spent past its allocated time without pausing

tick_usage + + + + +

+

Running average of the amount of tick usage in percents of a tick it takes the subsystem to complete a run

ticks + + + + +

+

Tracks how many fires the subsystem takes to complete a run on average.

times_fired + + + + +

+

Tracks the amount of completed runs for the subsystem

wait + + + + +

+

Time to wait (in deciseconds) between each call to fire(). Must be a positive integer.

Proc Details

Initialize +

+

Used to initialize the subsystem. This is expected to be overriden by subtypes.

OnConfigLoad +

+

Called after the config has been loaded or reloaded.

PreInit +

+

datum/controller/subsystem/New()

enqueue +

+

Queue it to run. +(we loop thru a linked list until we get to the end or find the right point) +(this lets us sort our run order correctly without having to re-sort the entire already sorted list)

fire +

+

previously, this would have been named 'process()' but that name is used everywhere for different things! +fire() seems more suitable. This is the procedure that gets called every 'wait' deciseconds. +Sleeping in here prevents future fires until returned.

ignite +

+

This is used so the mc knows when the subsystem sleeps. do not override.

postpone +

+

Causes the next "cycle" fires to be missed. Effect is accumulative but can reset by calling update_nextfire(reset_time = TRUE)

update_nextfire +

+
+ + + diff --git a/datum/controller/subsystem/achievements.html b/datum/controller/subsystem/achievements.html new file mode 100644 index 00000000000..133ed1c3067 --- /dev/null +++ b/datum/controller/subsystem/achievements.html @@ -0,0 +1,67 @@ + + + + + + + /datum/controller/subsystem/achievements - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

achievements + + + +

+ + + + + + +

Vars

achievementsList of achievements
awardsList of all awards
most_unlocked_achievementThe achievement with the highest amount of players that have unlocked it.
scoresList of scores

Procs

ShutdownCount how many (unlocked) achievements are in the achievements database +then store that amount in the times_achieved variable for each achievement.
+

Var Details

achievements + + + + +

+

List of achievements

awards + + + + +

+

List of all awards

most_unlocked_achievement + + + + +

+

The achievement with the highest amount of players that have unlocked it.

scores + + + + +

+

List of scores

Proc Details

Shutdown +

+

Count how many (unlocked) achievements are in the achievements database +then store that amount in the times_achieved variable for each achievement.

+

Thanks to Jordie for the query.

+ + + diff --git a/datum/controller/subsystem/addiction.html b/datum/controller/subsystem/addiction.html new file mode 100644 index 00000000000..7403c7864dd --- /dev/null +++ b/datum/controller/subsystem/addiction.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/addiction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

addiction + + + +

+ + + +

Vars

all_addictionsDictionary of addiction.type || addiction ref

Procs

InitializeAddictionsRan on initialize, populates the addiction dictionary
+

Var Details

all_addictions + + + + +

+

Dictionary of addiction.type || addiction ref

Proc Details

InitializeAddictions +

+

Ran on initialize, populates the addiction dictionary

+ + + diff --git a/datum/controller/subsystem/ai_controllers.html b/datum/controller/subsystem/ai_controllers.html new file mode 100644 index 00000000000..6802d31222b --- /dev/null +++ b/datum/controller/subsystem/ai_controllers.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/ai_controllers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai_controllers + + + +

+ + + +

Vars

active_ai_controllersList of all ai controllers currently running
ai_subtreesList of all ai_subtree singletons, key is the typepath while assigned value is a newly created instance of the typepath. See setup_subtrees()
+

Var Details

active_ai_controllers + + + + +

+

List of all ai controllers currently running

ai_subtrees + + + + +

+

List of all ai_subtree singletons, key is the typepath while assigned value is a newly created instance of the typepath. See setup_subtrees()

+ + + diff --git a/datum/controller/subsystem/air.html b/datum/controller/subsystem/air.html new file mode 100644 index 00000000000..59bf7835649 --- /dev/null +++ b/datum/controller/subsystem/air.html @@ -0,0 +1,121 @@ + + + + + + + /datum/controller/subsystem/air - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

air + + + +

+ + + + + + + + + + + + + +

Vars

adjacent_rebuildList of turfs to recalculate adjacent turfs on before processing
atmos_machineryA list of machines that will be processed when currentpart == SSAIR_ATMOSMACHINERY. Use SSair.begin_processing_machine and SSair.stop_processing_machine to add and remove machines.
currentrunA cache of objects that perisists between processing runs when resumed == TRUE. Dangerous, qdel'd objects not cleared from this may cause runtimes on processing.
hotspot_reactionsReactions which will contribute to a hotspot's size.
strings_to_mixList of gas string -> canonical gas mixture

Procs

expand_pipelineRebuilds a pipeline by expanding outwards, while yielding when sane
log_active_turfsLogs all active turfs at roundstart to the mapping log so it can be readily accessed.
parse_gas_stringTakes a gas string, returns the matching mutable gas_mixture
remove_from_activeRemoves a turf from processing, and causes its excited group to clean up so things properly adapt to the change
sleep_active_turfPuts an active turf to sleep so it doesn't process. Do this without cleaning up its excited group.
start_processing_machineAdds a given machine to the processing system for SSAIR_ATMOSMACHINERY processing.
stop_processing_machineRemoves a given machine to the processing system for SSAIR_ATMOSMACHINERY processing.
+

Var Details

adjacent_rebuild + + + + +

+

List of turfs to recalculate adjacent turfs on before processing

atmos_machinery + + + + +

+

A list of machines that will be processed when currentpart == SSAIR_ATMOSMACHINERY. Use SSair.begin_processing_machine and SSair.stop_processing_machine to add and remove machines.

currentrun + + + + +

+

A cache of objects that perisists between processing runs when resumed == TRUE. Dangerous, qdel'd objects not cleared from this may cause runtimes on processing.

hotspot_reactions + + + + +

+

Reactions which will contribute to a hotspot's size.

strings_to_mix + + + + +

+

List of gas string -> canonical gas mixture

Proc Details

expand_pipeline +

+

Rebuilds a pipeline by expanding outwards, while yielding when sane

log_active_turfs +

+

Logs all active turfs at roundstart to the mapping log so it can be readily accessed.

parse_gas_string +

+

Takes a gas string, returns the matching mutable gas_mixture

remove_from_active +

+

Removes a turf from processing, and causes its excited group to clean up so things properly adapt to the change

sleep_active_turf +

+

Puts an active turf to sleep so it doesn't process. Do this without cleaning up its excited group.

start_processing_machine +

+

Adds a given machine to the processing system for SSAIR_ATMOSMACHINERY processing.

+

Arguments:

+

stop_processing_machine +

+

Removes a given machine to the processing system for SSAIR_ATMOSMACHINERY processing.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/ambience.html b/datum/controller/subsystem/ambience.html new file mode 100644 index 00000000000..a9db218a644 --- /dev/null +++ b/datum/controller/subsystem/ambience.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/ambience - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ambience + + + +

+ + + +

Vars

ambience_listening_clientsAssoc list of listening client - next ambience time
currentrunCache for sanic speed :D
+

Var Details

ambience_listening_clients + + + + +

+

Assoc list of listening client - next ambience time

currentrun + + + + +

+

Cache for sanic speed :D

+ + + diff --git a/datum/controller/subsystem/atoms.html b/datum/controller/subsystem/atoms.html new file mode 100644 index 00000000000..4f2cf5bf749 --- /dev/null +++ b/datum/controller/subsystem/atoms.html @@ -0,0 +1,89 @@ + + + + + + + /datum/controller/subsystem/atoms - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atoms + + + +

+ + + + + + + + + +

Vars

created_atomsinitAtom() adds the atom its creating to this list iff InitializeAtoms() has been given a list to populate as an argument
initialized_stateA stack of list(source, desired initialized state) +We read the source of init changes from the last entry, and assert that all changes will come with a reset
queued_deletionsAtoms that will be deleted once the subsystem is initialized

Procs

CreateAtomsActually creates the list of atoms. Exists soley so a runtime in the creation logic doesn't cause initalized to totally break
InitAtomInit this specific atom
initializing_somethingReturns TRUE if anything is currently being initialized
prepare_deletionPrepares an atom to be deleted once the atoms SS is initialized.
set_tracked_initalizedUse this to set initialized to prevent error states where the old initialized is overriden, and we end up losing all context +Accepts a state and a source, the most recent state is used, sources exist to prevent overriding old values accidentially
+

Var Details

created_atoms + + + + +

+

initAtom() adds the atom its creating to this list iff InitializeAtoms() has been given a list to populate as an argument

initialized_state + + + + +

+

A stack of list(source, desired initialized state) +We read the source of init changes from the last entry, and assert that all changes will come with a reset

queued_deletions + + + + +

+

Atoms that will be deleted once the subsystem is initialized

Proc Details

CreateAtoms +

+

Actually creates the list of atoms. Exists soley so a runtime in the creation logic doesn't cause initalized to totally break

InitAtom +

+

Init this specific atom

initializing_something +

+

Returns TRUE if anything is currently being initialized

prepare_deletion +

+

Prepares an atom to be deleted once the atoms SS is initialized.

set_tracked_initalized +

+

Use this to set initialized to prevent error states where the old initialized is overriden, and we end up losing all context +Accepts a state and a source, the most recent state is used, sources exist to prevent overriding old values accidentially

+ + + diff --git a/datum/controller/subsystem/ban_cache.html b/datum/controller/subsystem/ban_cache.html new file mode 100644 index 00000000000..e3aa276e46c --- /dev/null +++ b/datum/controller/subsystem/ban_cache.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/ban_cache - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ban_cache + + + +

+ + +

Procs

generate_queriesGenerates ban caches for any logged in clients. This ensures the amount of in-series ban checking we have to do that actually involves sleeps is VERY low

Proc Details

generate_queries +

+

Generates ban caches for any logged in clients. This ensures the amount of in-series ban checking we have to do that actually involves sleeps is VERY low

+ + + diff --git a/datum/controller/subsystem/blackmarket.html b/datum/controller/subsystem/blackmarket.html new file mode 100644 index 00000000000..6ca539537c8 --- /dev/null +++ b/datum/controller/subsystem/blackmarket.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/blackmarket - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blackmarket + + + +

+ + + + + + + +

Vars

marketsList of all existing markets.
queued_purchasesCurrently queued purchases.
shipping_method_descriptionsDescriptions for each shipping methods.
telepadsList of existing ltsrbts.

Procs

fake_teleportUsed to make a teleportation effect as do_teleport does not like moving items from nullspace.
queue_itemUsed to add /datum/market_purchase to queued_purchases var. Returns TRUE when queued.
+

Var Details

markets + + + + +

+

List of all existing markets.

queued_purchases + + + + +

+

Currently queued purchases.

shipping_method_descriptions + + + + +

+

Descriptions for each shipping methods.

telepads + + + + +

+

List of existing ltsrbts.

Proc Details

fake_teleport +

+

Used to make a teleportation effect as do_teleport does not like moving items from nullspace.

queue_item +

+

Used to add /datum/market_purchase to queued_purchases var. Returns TRUE when queued.

+ + + diff --git a/datum/controller/subsystem/chat.html b/datum/controller/subsystem/chat.html new file mode 100644 index 00000000000..5aa1c1e5357 --- /dev/null +++ b/datum/controller/subsystem/chat.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/chat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chat + + + +

+ + + + +

Vars

client_to_payloadsAssosciates a ckey with a list of messages to send to them.
client_to_reliability_historyAssociates a ckey with an assosciative list of their last CHAT_RELIABILITY_HISTORY_SIZE messages.
client_to_sequence_numberAssosciates a ckey with their next sequence number.
+

Var Details

client_to_payloads + + + + +

+

Assosciates a ckey with a list of messages to send to them.

client_to_reliability_history + + + + +

+

Associates a ckey with an assosciative list of their last CHAT_RELIABILITY_HISTORY_SIZE messages.

client_to_sequence_number + + + + +

+

Assosciates a ckey with their next sequence number.

+ + + diff --git a/datum/controller/subsystem/circuit_component.html b/datum/controller/subsystem/circuit_component.html new file mode 100644 index 00000000000..a650da8a0d4 --- /dev/null +++ b/datum/controller/subsystem/circuit_component.html @@ -0,0 +1,52 @@ + + + + + + + /datum/controller/subsystem/circuit_component - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

circuit_component + + + +

+ + + + +

Procs

add_callbackAdds a callback to be invoked when the next fire() is done. Used by the integrated circuit system.
execute_instant_runInstantly executes the stored callbacks and does this in a loop until there are no stored callbacks or it hits tick limit.
queue_instant_runQueues any callbacks to be executed instantly instead of using the subsystem.

Proc Details

add_callback +

+

Adds a callback to be invoked when the next fire() is done. Used by the integrated circuit system.

+

Prevents race conditions as it acts like a queue system. +Those that registered first will be executed first and those registered last will be executed last.

execute_instant_run +

+

Instantly executes the stored callbacks and does this in a loop until there are no stored callbacks or it hits tick limit.

+

Returns a list containing any values added by any input port.

queue_instant_run +

+

Queues any callbacks to be executed instantly instead of using the subsystem.

+ + + diff --git a/datum/controller/subsystem/communications.html b/datum/controller/subsystem/communications.html new file mode 100644 index 00000000000..1e16976d20c --- /dev/null +++ b/datum/controller/subsystem/communications.html @@ -0,0 +1,64 @@ + + + + + + + /datum/controller/subsystem/communications - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

communications + + + +

+ + + + + + +

Vars

block_command_reportA counter of conditions that are blocking the command report from printing. Counter incremements up for every blocking condition, and de-incrememnts when it is complete.
captivity_areaThe location where the special xenomorph egg was planted
command_report_footnotesA list of footnote datums, to be added to the bottom of the roundstart command report.
soft_filteringAre we trying to send a cross-station message that contains soft-filtered words? If so, flip to TRUE to extend the time admins have to cancel the message.
xenomorph_egg_deliveredHas a special xenomorph egg been delivered?
+

Var Details

block_command_report + + + + +

+

A counter of conditions that are blocking the command report from printing. Counter incremements up for every blocking condition, and de-incrememnts when it is complete.

captivity_area + + + + +

+

The location where the special xenomorph egg was planted

command_report_footnotes + + + + +

+

A list of footnote datums, to be added to the bottom of the roundstart command report.

soft_filtering + + + + +

+

Are we trying to send a cross-station message that contains soft-filtered words? If so, flip to TRUE to extend the time admins have to cancel the message.

xenomorph_egg_delivered + + + + +

+

Has a special xenomorph egg been delivered?

+ + + diff --git a/datum/controller/subsystem/dbcore.html b/datum/controller/subsystem/dbcore.html new file mode 100644 index 00000000000..f7447c5cd5c --- /dev/null +++ b/datum/controller/subsystem/dbcore.html @@ -0,0 +1,116 @@ + + + + + + + /datum/controller/subsystem/dbcore - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dbcore + + + +

+ + + + + + + + + + + + +

Vars

all_queriesAll the current queries that exist.
all_queries_numNumber of all queries, reset to 0 when logged in SStime_track. Used by SStime_track
processing_queriesQueries being checked for timeouts.
queries_activeQueries currently being handled by database driver
queries_active_numNumber of active queries, reset to 0 when logged in SStime_track. Used by SStime_track
queries_standbyQueries pending execution, mapped to complete arguments
queries_standby_numNumber of standby queries, reset to 0 when logged in SStime_track. Used by SStime_track
shutting_downWe are in the process of shutting down and should not allow more DB connections

Procs

QuerySelect
create_active_queryHelper proc for handling activating queued queries
reset_trackingResets the tracking numbers on the subsystem. Used by SStime_track.
+

Var Details

all_queries + + + + +

+

All the current queries that exist.

all_queries_num + + + + +

+

Number of all queries, reset to 0 when logged in SStime_track. Used by SStime_track

processing_queries + + + + +

+

Queries being checked for timeouts.

queries_active + + + + +

+

Queries currently being handled by database driver

queries_active_num + + + + +

+

Number of active queries, reset to 0 when logged in SStime_track. Used by SStime_track

queries_standby + + + + +

+

Queries pending execution, mapped to complete arguments

queries_standby_num + + + + +

+

Number of standby queries, reset to 0 when logged in SStime_track. Used by SStime_track

shutting_down + + + + +

+

We are in the process of shutting down and should not allow more DB connections

Proc Details

QuerySelect +

+

create_active_query +

+

Helper proc for handling activating queued queries

reset_tracking +

+

Resets the tracking numbers on the subsystem. Used by SStime_track.

+ + + diff --git a/datum/controller/subsystem/discord.html b/datum/controller/subsystem/discord.html new file mode 100644 index 00000000000..f8597fb7c8b --- /dev/null +++ b/datum/controller/subsystem/discord.html @@ -0,0 +1,184 @@ + + + + + + + /datum/controller/subsystem/discord - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

discord + + + +

+ + + + + + + + + + + + + + + +

Vars

common_wordsCommon words list, used to generate one time tokens
enabledIs TGS enabled (If not we won't fire because otherwise this is useless)
notify_fileThe file where notification status is saved
notify_membersPeople to save to notify file
notify_members_cacheCopy of previous list, so the SS doesnt have to fire if no new members have been added
people_to_notifyPeople to notify on roundstart
reverify_cachePeople who have tried to verify this round already

Procs

find_discord_link_by_ckeyFind discord link entry by the passed in user ckey
find_discord_link_by_discord_idFind discord link entry by the passed in user ckey
find_discord_link_by_tokenFind discord link entry by the passed in user token
generate_one_time_tokenGenerate a timebound token for discord verification
get_discord_id_from_mentionExtract a discord id from a mention string
lookup_ckeyGiven a discord id as a string, look up the ckey attached to that account, if any
lookup_idGiven a ckey, look up the discord user id attached to the user, if any
+

Var Details

common_words + + + + +

+

Common words list, used to generate one time tokens

enabled + + + + +

+

Is TGS enabled (If not we won't fire because otherwise this is useless)

notify_file + + + + +

+

The file where notification status is saved

notify_members + + + + +

+

People to save to notify file

notify_members_cache + + + + +

+

Copy of previous list, so the SS doesnt have to fire if no new members have been added

people_to_notify + + + + +

+

People to notify on roundstart

reverify_cache + + + + +

+

People who have tried to verify this round already

Proc Details

+

Find discord link entry by the passed in user ckey

+

This will look into the discord link table and return the first entry that matches the given ckey

+

Remember, multiple entries can exist

+

Arguments:

+ +

Returns a /datum/discord_link_record

+

Find discord link entry by the passed in user ckey

+

This will look into the discord link table and return the first entry that matches the given ckey

+

Remember, multiple entries can exist

+

Arguments:

+ +

Returns a /datum/discord_link_record

+

Find discord link entry by the passed in user token

+

This will look into the discord link table and return the first entry that matches the given one time token

+

Remember, multiple entries can exist, as they are only guaranteed to be unique for their validity period

+

Arguments:

+ +

Returns a /datum/discord_link_record

generate_one_time_token +

+

Generate a timebound token for discord verification

+

This uses the common word list to generate a six word random token, this token can then be fed to a discord bot that has access +to the same database, and it can use it to link a ckey to a discord id, with minimal user effort

+

It returns the token to the calling proc, after inserting an entry into the discord_link table of the following form

+
(unique_id, ckey, null, the current time, the one time token generated)
+the null value will be filled out with the discord id by the integrated discord bot when a user verifies
+
+

Notes:

+ +

Arguments:

+ +

Returns a string representing the one time token

get_discord_id_from_mention +

+

Extract a discord id from a mention string

+

This will regex out the mention @num block to extract the discord id

+

Arguments:

+ +

Returns a text string with the discord id or null

lookup_ckey +

+

Given a discord id as a string, look up the ckey attached to that account, if any

+

This gets the most recent entry from the discord_link table that is associated with this discord id snowflake

+

Arguments:

+

lookup_id +

+

Given a ckey, look up the discord user id attached to the user, if any

+

This gets the most recent entry from the discord link table that is associated with the given ckey

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/dynamic.html b/datum/controller/subsystem/dynamic.html new file mode 100644 index 00000000000..298a3bb0e37 --- /dev/null +++ b/datum/controller/subsystem/dynamic.html @@ -0,0 +1,704 @@ + + + + + + + /datum/controller/subsystem/dynamic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

candidatesList of candidates used on roundstart rulesets.
configurationDynamic configuration, loaded on pre_setup
current_midround_rulesetsThe last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.
current_rulesRules that are processed, rule_process is called on the rules in this list.
executed_rulesList of executed rulesets.
forced_injectionIf TRUE, the next player to latejoin will guarantee roll for a random latejoin antag +(this does not guarantee they get said antag roll, depending on preferences and circumstances)
forced_latejoin_ruleForced ruleset to be executed for the next latejoin.
high_impact_ruleset_executedIf a high impact ruleset was executed. Only one will run at a time in most circumstances.
hijacked_random_event_injection_chance_modifierThe extra chance multiplier that a heavy impact midround ruleset will run next time. +For example, if this is set to 50, then the next heavy roll will be about 50% more likely to happen.
initial_round_start_budgetThe initial round start budget for logging purposes, set once at the beginning of the round.
last_midround_injection_attemptThe time when the last midround injection was attempted, whether or not it was successful
latejoin_delay_maxThe maximum time the recurring latejoin ruleset timer is allowed to be.
latejoin_delay_minThe minimum time the recurring latejoin ruleset timer is allowed to be.
latejoin_injection_cooldownWhen world.time is over this number the mode tries to inject a latejoin ruleset.
latejoin_roll_chanceThe chance for latejoins to roll when ready
latejoin_rulesList of latejoin rules used for selecting the rules.
low_pop_maximum_threatThe maximum threat that can roll with zero players. +As the number of players approaches low_pop_player_threshold, the maximum +threat level will increase. +For example, if low_pop_maximum_threat is 50, low_pop_player_threshold is 20, +and the number of readied players is 10, then the highest threat that can roll is +lerp(50, 100, 10 / 20), AKA 75.
low_pop_player_thresholdIf there are less than this many players readied, threat level will be lowered. +This number should be kept fairly low, as there are other measures that population +impacts Dynamic, such as the requirements variable on rulesets.
max_threat_levelA number between 0 and 100. The maximum amount of threat allowed to generate.
mid_round_budgetSet at the beginning of the round. Spent by midrounds and latejoins.
midround_heavy_lower_boundAny midround after this point is guaranteed to be heavy
midround_injection_timer_idThe timer ID for the cancellable midround rule injection
midround_light_upper_boundAny midround before this point is guaranteed to be light
midround_lower_boundThe low bound for the midround roll time splits. +This number influences where to place midround rolls, making this smaller +will make midround rolls more frequent, and vice versa. +A midround will never be able to roll before this.
midround_roll_distanceThe distance between the chosen midround roll point (which is deterministic), +and when it can actually roll. +Basically, if this is set to 5 minutes, and a midround roll point is decided to be at 20 minutes, +then it can roll anywhere between 15 and 25 minutes.
midround_rulesList of midround rules used for selecting the rules.
midround_upper_boundThe upper bound for the midround roll time splits. +This number influences where to place midround rolls, making this larger +will make midround rolls less frequent, and vice versa. +A midround will never be able to roll farther than this.
only_ruleset_executedIf a only ruleset has been executed.
peaceful_percentageHow many percent of the rounds are more peaceful.
pop_per_requirement
random_event_hijack_maximumThe maximum amount of time for antag random events to be hijacked.
random_event_hijack_minimumThe minimum amount of time for antag random events to be hijacked.
random_event_hijackedWhether or not a random event has been hijacked this midround cycle
round_start_budgetSet at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.
roundend_threat_logThreat log shown on the roundend report. Should only list player-made edits.
roundstart_pop_readyNumber of players who were ready on roundstart.
roundstart_split_curve_centreA number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.
roundstart_split_curve_widthA number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.
shown_threatThe amount of threat shown on the piece of paper. +Can differ from the actual threat amount.
snapshotsA list of recorded "snapshots" of the round, stored in the dynamic.json log
threat_curve_centreA number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.
threat_curve_widthA number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.
threat_levelThe "threat cap", threat shouldn't normally go above this and is used in ruleset calculations
threat_logRunning information about the threat. Can store text or datum entries.
threat_per_midround_rollThe amount of threat per midround roll. +Basically, if this is set to 5, then for every 5 threat, one midround roll will be added. +The equation this is used in rounds up, meaning that if this is set to 5, and you have 6 +threat, then you will get 2 midround rolls.
waittime_hWhat is the higher bound of when the roundstart annoucement is sent out?
waittime_lWhat is the lower bound of when the roundstart annoucement is sent out?

Procs

admin_cancel_midroundFired when an admin cancels the current midround injection.
admin_different_midroundFired when an admin requests a different midround injection.
check_blockingChecks if a type in blocking_list is in rule_list.
configure_rulesetApply configurations to rule.
configure_station_traitApply configuration for station trait costs
configure_station_trait_costsGet station traits and call for their config
create_threatGenerate threat and increase the threat_level if it goes beyond, capped at 100
execute_midround_latejoin_ruleMainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.
execute_midround_ruleFired after admins do not cancel a midround injection.
execute_roundstart_ruleMainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.
generate_advisory_levelGenerate the advisory level depending on the shown threat level.
generate_budgetsGenerates the midround and roundstart budgets
generate_threatGenerates the threat level using lorentz distribution and assigns peaceful_percentage.
generate_unfavourable_eventsFilter the below list by which events can actually run on this map
generate_unfavourable_heavy_rulesetsReturn a valid heavy dynamic ruleset, or an empty list if there's no time to run any rulesets
get_heavy_midround_injection_chanceGets the chance for a heavy ruleset midround injection, the dry_run argument is only used for forced injection.
handle_executing_latejoinThis proc handles the execution of a latejoin ruleset, including removing it from latejoin rulesets if not repeatable, +upping the injection cooldown, and starting a timer to execute the ruleset on delay.
init_rulesetsReturns a list of the provided rulesets. +Configures their variables to match config.
log_dynamic_and_announceLog to dynamic and message admins
lorentz_to_amountReturns the comulative distribution of threat centre and width, and a random location of -0.5 to 0.5 +plus or minus the otherwise unattainable lower and upper percentiles. All multiplied by the maximum +threat and then rounded to the nearest interval. +rand() calls without arguments returns a value between 0 and 1, allowing for smaller intervals.
make_antag_chanceHandles late-join antag assignments
new_snapshotCreates a new snapshot with the given rulesets chosen, and writes to the JSON output.
next_midround_injectionReturns the world.time of the next midround injection. +Will return a cached result from next_midround_injection, the variable. +If that variable is null, will generate a new one.
pick_midround_ruleExecutes a random midround ruleset from the list of drafted rules.
pick_rulesetFrom a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.
picking_roundstart_ruleInitializes the round start ruleset provided to it. Returns how much threat to spend.
picking_specific_ruleAn experimental proc to allow admins to call rules on the fly or have rules call other rules.
refund_threatRefund threat, but no more than threat_level.
remove_from_listRemoves type from the list
rigged_roundstartA simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.
setup_rulesetsInitializes the internal ruleset variables
spend_midround_budgetExpend midround threat, can't fall under 0.
spend_roundstart_budgetExpend round start threat, can't fall under 0.
unfavorable_situationAn easy interface to make...waves hands bad things happen. +This is used for impactful events like traitors hacking and creating more threat, or a revolutions victory. +It tries to spawn a heavy midround if possible, otherwise it will trigger a "bad" random event after a short period. +Calling this function will not use up any threat.
update_logUpdates the log for the current snapshots.
+

Var Details

candidates + + + + +

+

List of candidates used on roundstart rulesets.

configuration + + + + +

+

Dynamic configuration, loaded on pre_setup

current_midround_rulesets + + + + +

+

The last drafted midround rulesets (without the current one included). +Used for choosing different midround injections.

current_rules + + + + +

+

Rules that are processed, rule_process is called on the rules in this list.

executed_rules + + + + +

+

List of executed rulesets.

forced_injection + + + + +

+

If TRUE, the next player to latejoin will guarantee roll for a random latejoin antag +(this does not guarantee they get said antag roll, depending on preferences and circumstances)

forced_latejoin_rule + + + + +

+

Forced ruleset to be executed for the next latejoin.

high_impact_ruleset_executed + + + + +

+

If a high impact ruleset was executed. Only one will run at a time in most circumstances.

hijacked_random_event_injection_chance_modifier + + + + +

+

The extra chance multiplier that a heavy impact midround ruleset will run next time. +For example, if this is set to 50, then the next heavy roll will be about 50% more likely to happen.

initial_round_start_budget + + + + +

+

The initial round start budget for logging purposes, set once at the beginning of the round.

last_midround_injection_attempt + + + + +

+

The time when the last midround injection was attempted, whether or not it was successful

latejoin_delay_max + + + + +

+

The maximum time the recurring latejoin ruleset timer is allowed to be.

latejoin_delay_min + + + + +

+

The minimum time the recurring latejoin ruleset timer is allowed to be.

latejoin_injection_cooldown + + + + +

+

When world.time is over this number the mode tries to inject a latejoin ruleset.

latejoin_roll_chance + + + + +

+

The chance for latejoins to roll when ready

latejoin_rules + + + + +

+

List of latejoin rules used for selecting the rules.

low_pop_maximum_threat + + + + +

+

The maximum threat that can roll with zero players. +As the number of players approaches low_pop_player_threshold, the maximum +threat level will increase. +For example, if low_pop_maximum_threat is 50, low_pop_player_threshold is 20, +and the number of readied players is 10, then the highest threat that can roll is +lerp(50, 100, 10 / 20), AKA 75.

low_pop_player_threshold + + + + +

+

If there are less than this many players readied, threat level will be lowered. +This number should be kept fairly low, as there are other measures that population +impacts Dynamic, such as the requirements variable on rulesets.

max_threat_level + + + + +

+

A number between 0 and 100. The maximum amount of threat allowed to generate.

mid_round_budget + + + + +

+

Set at the beginning of the round. Spent by midrounds and latejoins.

midround_heavy_lower_bound + + + + +

+

Any midround after this point is guaranteed to be heavy

midround_injection_timer_id + + + + +

+

The timer ID for the cancellable midround rule injection

midround_light_upper_bound + + + + +

+

Any midround before this point is guaranteed to be light

midround_lower_bound + + + + +

+

The low bound for the midround roll time splits. +This number influences where to place midround rolls, making this smaller +will make midround rolls more frequent, and vice versa. +A midround will never be able to roll before this.

midround_roll_distance + + + + +

+

The distance between the chosen midround roll point (which is deterministic), +and when it can actually roll. +Basically, if this is set to 5 minutes, and a midround roll point is decided to be at 20 minutes, +then it can roll anywhere between 15 and 25 minutes.

midround_rules + + + + +

+

List of midround rules used for selecting the rules.

midround_upper_bound + + + + +

+

The upper bound for the midround roll time splits. +This number influences where to place midround rolls, making this larger +will make midround rolls less frequent, and vice versa. +A midround will never be able to roll farther than this.

only_ruleset_executed + + + + +

+

If a only ruleset has been executed.

peaceful_percentage + + + + +

+

How many percent of the rounds are more peaceful.

pop_per_requirement + + + + +

+

random_event_hijack_maximum + + + + +

+

The maximum amount of time for antag random events to be hijacked.

random_event_hijack_minimum + + + + +

+

The minimum amount of time for antag random events to be hijacked.

random_event_hijacked + + + + +

+

Whether or not a random event has been hijacked this midround cycle

round_start_budget + + + + +

+

Set at the beginning of the round. Spent by the mode to "purchase" rules. Everything else goes in the postround budget.

roundend_threat_log + + + + +

+

Threat log shown on the roundend report. Should only list player-made edits.

roundstart_pop_ready + + + + +

+

Number of players who were ready on roundstart.

roundstart_split_curve_centre + + + + +

+

A number between -5 and +5. +Equivalent to threat_curve_centre, but for the budget split. +A negative value will weigh towards midround rulesets, and a positive +value will weight towards roundstart ones.

roundstart_split_curve_width + + + + +

+

A number between 0.5 and 4. +Equivalent to threat_curve_width, but for the budget split. +Higher value will favour more variance in splits and +lower value rounds closer to the average.

shown_threat + + + + +

+

The amount of threat shown on the piece of paper. +Can differ from the actual threat amount.

snapshots + + + + +

+

A list of recorded "snapshots" of the round, stored in the dynamic.json log

threat_curve_centre + + + + +

+

A number between -5 and +5. +A negative value will give a more peaceful round and +a positive value will give a round with higher threat.

threat_curve_width + + + + +

+

A number between 0.5 and 4. +Higher value will favour extreme rounds and +lower value rounds closer to the average.

threat_level + + + + +

+

The "threat cap", threat shouldn't normally go above this and is used in ruleset calculations

threat_log + + + + +

+

Running information about the threat. Can store text or datum entries.

threat_per_midround_roll + + + + +

+

The amount of threat per midround roll. +Basically, if this is set to 5, then for every 5 threat, one midround roll will be added. +The equation this is used in rounds up, meaning that if this is set to 5, and you have 6 +threat, then you will get 2 midround rolls.

waittime_h + + + + +

+

What is the higher bound of when the roundstart annoucement is sent out?

waittime_l + + + + +

+

What is the lower bound of when the roundstart annoucement is sent out?

Proc Details

admin_cancel_midround +

+

Fired when an admin cancels the current midround injection.

admin_different_midround +

+

Fired when an admin requests a different midround injection.

check_blocking +

+

Checks if a type in blocking_list is in rule_list.

configure_ruleset +

+

Apply configurations to rule.

configure_station_trait +

+

Apply configuration for station trait costs

configure_station_trait_costs +

+

Get station traits and call for their config

create_threat +

+

Generate threat and increase the threat_level if it goes beyond, capped at 100

execute_midround_latejoin_rule +

+

Mainly here to facilitate delayed rulesets. All midround/latejoin rulesets are executed with a timered callback to this proc.

execute_midround_rule +

+

Fired after admins do not cancel a midround injection.

execute_roundstart_rule +

+

Mainly here to facilitate delayed rulesets. All roundstart rulesets are executed with a timered callback to this proc.

generate_advisory_level +

+

Generate the advisory level depending on the shown threat level.

generate_budgets +

+

Generates the midround and roundstart budgets

generate_threat +

+

Generates the threat level using lorentz distribution and assigns peaceful_percentage.

generate_unfavourable_events +

+

Filter the below list by which events can actually run on this map

generate_unfavourable_heavy_rulesets +

+

Return a valid heavy dynamic ruleset, or an empty list if there's no time to run any rulesets

get_heavy_midround_injection_chance +

+

Gets the chance for a heavy ruleset midround injection, the dry_run argument is only used for forced injection.

handle_executing_latejoin +

+

This proc handles the execution of a latejoin ruleset, including removing it from latejoin rulesets if not repeatable, +upping the injection cooldown, and starting a timer to execute the ruleset on delay.

init_rulesets +

+

Returns a list of the provided rulesets. +Configures their variables to match config.

log_dynamic_and_announce +

+

Log to dynamic and message admins

lorentz_to_amount +

+

Returns the comulative distribution of threat centre and width, and a random location of -0.5 to 0.5 +plus or minus the otherwise unattainable lower and upper percentiles. All multiplied by the maximum +threat and then rounded to the nearest interval. +rand() calls without arguments returns a value between 0 and 1, allowing for smaller intervals.

make_antag_chance +

+

Handles late-join antag assignments

new_snapshot +

+

Creates a new snapshot with the given rulesets chosen, and writes to the JSON output.

next_midround_injection +

+

Returns the world.time of the next midround injection. +Will return a cached result from next_midround_injection, the variable. +If that variable is null, will generate a new one.

pick_midround_rule +

+

Executes a random midround ruleset from the list of drafted rules.

pick_ruleset +

+

From a list of rulesets, returns one based on weight and availability. +Mutates the list that is passed into it to remove invalid rules.

+

picking_roundstart_rule +

+

Initializes the round start ruleset provided to it. Returns how much threat to spend.

picking_specific_rule +

+

An experimental proc to allow admins to call rules on the fly or have rules call other rules.

refund_threat +

+

Refund threat, but no more than threat_level.

remove_from_list +

+

Removes type from the list

rigged_roundstart +

+

A simple roundstart proc used when dynamic_forced_roundstart_ruleset has rules in it.

setup_rulesets +

+

Initializes the internal ruleset variables

spend_midround_budget +

+

Expend midround threat, can't fall under 0.

spend_roundstart_budget +

+

Expend round start threat, can't fall under 0.

unfavorable_situation +

+

An easy interface to make...waves hands bad things happen. +This is used for impactful events like traitors hacking and creating more threat, or a revolutions victory. +It tries to spawn a heavy midround if possible, otherwise it will trigger a "bad" random event after a short period. +Calling this function will not use up any threat.

update_log +

+

Updates the log for the current snapshots.

+ + + diff --git a/datum/controller/subsystem/economy.html b/datum/controller/subsystem/economy.html new file mode 100644 index 00000000000..6ef6a0facef --- /dev/null +++ b/datum/controller/subsystem/economy.html @@ -0,0 +1,228 @@ + + + + + + + /datum/controller/subsystem/economy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

economy + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

audit_logA list of strings containing a basic transaction history of purchases on the station. +Added to any time when player accounts purchase something.
bank_accounts_by_idList of normal (no department ones) accounts' identifiers with associated datum accounts, for big O performance. +A list of sole account datums can be obtained with flatten_list(), another variable would be redundant rn.
bounty_modifierThe modifier multiplied to the value of bounties paid out.
budget_poolHow many credits does the in-game economy have in circulation at round start? Divided up by 6 of the 7 department budgets evenly, where cargo starts with nothing.
cached_processingList used to track partially completed processing steps +Allows for proper yielding
civ_bounty_trackerHow many civilain bounties have been completed so far this shift? Affects civilian budget payout values.
dep_cardsList of the departmental budget cards in existance.
earning_reportContains the message to send to newscasters about price inflation and earnings, updated on price_update()
full_ancapEnables extra money charges for things that normally would be free, such as sleepers/cryo/beepsky. +Take care when enabling, as players will NOT respond well if the economy is set up for low cash flows.
inflation_valueA var that displays the result of inflation_value for easier debugging and tracking.
mail_blockedMail Holiday: AKA does mail arrive today? Always blocked on Sundays.
mail_waitingNumber of mail items generated.
pack_price_modifierThe modifier multiplied to the value of cargo pack prices.
processing_partTracks what bit of processing we're on, so we can resume post yield in the right place
roundstart_paychecksHow many paychecks should players start out the round with?
station_targetA var that tracks how much money is expected to be on station at a given time. If less than station_total prices go up in vendors.
station_target_bufferA passively increasing buffer to help alliviate inflation later into the shift, but to a lesser degree.
station_totalA var that collects the total amount of credits owned in player accounts on station, reset and recounted on fire()
techweb_bountyDepartmental cash provided to science when a node is researched in specific configs.
temporary_totalTracks a temporary sum of all money in the system +We need this on the subsystem because of yielding and such

Procs

departmental_payoutsDepartmental income payments are kept static and linear for every department, and paid out once every 5 minutes, as determined by MAX_GRANT_DPT. +Iterates over every department account for the same payment.
get_dep_accountHandy proc for obtaining a department's bank account, given the department ID, AKA the define assigned for what department they're under.
issue_paydaysIssues all our bank-accounts paydays, and gets an idea of how much money is in circulation
price_updateUpdates the the inflation_value, effecting newscaster alerts and the mail system.
track_purchaseProc that adds a set of strings and ints to the audit log, tracked by the economy SS.
update_vending_pricesIterates over the machines list for vending machines, resets their regular and premium product prices (Not contraband), and sends a message to the newscaster network.
+

Var Details

audit_log + + + + +

+

A list of strings containing a basic transaction history of purchases on the station. +Added to any time when player accounts purchase something.

bank_accounts_by_id + + + + +

+

List of normal (no department ones) accounts' identifiers with associated datum accounts, for big O performance. +A list of sole account datums can be obtained with flatten_list(), another variable would be redundant rn.

bounty_modifier + + + + +

+

The modifier multiplied to the value of bounties paid out.

budget_pool + + + + +

+

How many credits does the in-game economy have in circulation at round start? Divided up by 6 of the 7 department budgets evenly, where cargo starts with nothing.

cached_processing + + + + +

+

List used to track partially completed processing steps +Allows for proper yielding

civ_bounty_tracker + + + + +

+

How many civilain bounties have been completed so far this shift? Affects civilian budget payout values.

dep_cards + + + + +

+

List of the departmental budget cards in existance.

earning_report + + + + +

+

Contains the message to send to newscasters about price inflation and earnings, updated on price_update()

full_ancap + + + + +

+

Enables extra money charges for things that normally would be free, such as sleepers/cryo/beepsky. +Take care when enabling, as players will NOT respond well if the economy is set up for low cash flows.

inflation_value + + + + +

+

A var that displays the result of inflation_value for easier debugging and tracking.

mail_blocked + + + + +

+

Mail Holiday: AKA does mail arrive today? Always blocked on Sundays.

mail_waiting + + + + +

+

Number of mail items generated.

pack_price_modifier + + + + +

+

The modifier multiplied to the value of cargo pack prices.

processing_part + + + + +

+

Tracks what bit of processing we're on, so we can resume post yield in the right place

roundstart_paychecks + + + + +

+

How many paychecks should players start out the round with?

station_target + + + + +

+

A var that tracks how much money is expected to be on station at a given time. If less than station_total prices go up in vendors.

station_target_buffer + + + + +

+

A passively increasing buffer to help alliviate inflation later into the shift, but to a lesser degree.

station_total + + + + +

+

A var that collects the total amount of credits owned in player accounts on station, reset and recounted on fire()

techweb_bounty + + + + +

+

Departmental cash provided to science when a node is researched in specific configs.

temporary_total + + + + +

+

Tracks a temporary sum of all money in the system +We need this on the subsystem because of yielding and such

Proc Details

departmental_payouts +

+

Departmental income payments are kept static and linear for every department, and paid out once every 5 minutes, as determined by MAX_GRANT_DPT. +Iterates over every department account for the same payment.

get_dep_account +

+

Handy proc for obtaining a department's bank account, given the department ID, AKA the define assigned for what department they're under.

issue_paydays +

+

Issues all our bank-accounts paydays, and gets an idea of how much money is in circulation

price_update +

+

Updates the the inflation_value, effecting newscaster alerts and the mail system.

track_purchase +

+

Proc that adds a set of strings and ints to the audit log, tracked by the economy SS.

+

update_vending_prices +

+

Iterates over the machines list for vending machines, resets their regular and premium product prices (Not contraband), and sends a message to the newscaster network.

+ + + diff --git a/datum/controller/subsystem/eigenstates.html b/datum/controller/subsystem/eigenstates.html new file mode 100644 index 00000000000..e7da82a17a0 --- /dev/null +++ b/datum/controller/subsystem/eigenstates.html @@ -0,0 +1,94 @@ + + + + + + + /datum/controller/subsystem/eigenstates - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eigenstates + + + +

+ + + + + + + + + + +

Vars

eigen_idUID to object reference
eigen_targetsThe list of objects that something is linked to indexed by UID
id_counterUnique id counter
spark_timeLimit the number of sparks created when teleporting multiple atoms to 1

Procs

Destroyreverts everything back to start
create_new_linkCreates a new link of targets unique to their own id
remove_eigen_entryremoves an object reference from the master list
tool_interactPrevents tool use on the item
use_eigenlinked_atomRemove the current entry if we're empty +Finds the object within the master list, then sends the thing to the object's location
+

Var Details

eigen_id + + + + +

+

UID to object reference

eigen_targets + + + + +

+

The list of objects that something is linked to indexed by UID

id_counter + + + + +

+

Unique id counter

spark_time + + + + +

+

Limit the number of sparks created when teleporting multiple atoms to 1

Proc Details

Destroy +

+

reverts everything back to start

+

Creates a new link of targets unique to their own id

remove_eigen_entry +

+

removes an object reference from the master list

tool_interact +

+

Prevents tool use on the item

use_eigenlinked_atom +

+

Remove the current entry if we're empty +Finds the object within the master list, then sends the thing to the object's location

+ + + diff --git a/datum/controller/subsystem/events.html b/datum/controller/subsystem/events.html new file mode 100644 index 00000000000..cc3c421fc31 --- /dev/null +++ b/datum/controller/subsystem/events.html @@ -0,0 +1,99 @@ + + + + + + + /datum/controller/subsystem/events - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

events + + + +

+ + + + + + + + + + + +

Vars

controllist of all datum/round_event_control. Used for selecting events based on weight and occurrences.
currentruncache of currently running events, for lag checking.
frequency_lowerThe lower bound for how soon another random event can be scheduled.
frequency_upperThe upper bound for how soon another random event can be scheduled.
runninglist of all existing /datum/round_event currently being run.
scheduledThe next world.time that a naturally occuring random event can be selected.
wizardmodeWill wizard events be included in the event pool?

Procs

TriggerEventDoes the last pre-flight checks for the passed event, and runs it if the event is ready.
resetFrequencySets the event frequency bounds back to their initial value.
toggleWizardmodeToggles whether or not wizard events will be in the event pool, and sends a notification to the admins.
+

Var Details

control + + + + +

+

list of all datum/round_event_control. Used for selecting events based on weight and occurrences.

currentrun + + + + +

+

cache of currently running events, for lag checking.

frequency_lower + + + + +

+

The lower bound for how soon another random event can be scheduled.

frequency_upper + + + + +

+

The upper bound for how soon another random event can be scheduled.

running + + + + +

+

list of all existing /datum/round_event currently being run.

scheduled + + + + +

+

The next world.time that a naturally occuring random event can be selected.

wizardmode + + + + +

+

Will wizard events be included in the event pool?

Proc Details

TriggerEvent +

+

Does the last pre-flight checks for the passed event, and runs it if the event is ready.

resetFrequency +

+

Sets the event frequency bounds back to their initial value.

toggleWizardmode +

+

Toggles whether or not wizard events will be in the event pool, and sends a notification to the admins.

+ + + diff --git a/datum/controller/subsystem/explosions.html b/datum/controller/subsystem/explosions.html new file mode 100644 index 00000000000..cbe9a63d892 --- /dev/null +++ b/datum/controller/subsystem/explosions.html @@ -0,0 +1,112 @@ + + + + + + + /datum/controller/subsystem/explosions - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

explosions + + + +

+ + + + + + +

Vars

held_throwturfList of turfs to throw the contents of... AFTER the next explosion processes +This avoids order of operations errors and shit
throwturfList of turfs to throw the contents of

Procs

explodeMakes a given atom explode. Now on the explosions subsystem!
propagate_blastwaveHandles the effects of an explosion originating from a given point.
shake_the_roomHandles the sfx and screenshake caused by an explosion.
+

Var Details

held_throwturf + + + + +

+

List of turfs to throw the contents of... AFTER the next explosion processes +This avoids order of operations errors and shit

throwturf + + + + +

+

List of turfs to throw the contents of

Proc Details

explode +

+

Makes a given atom explode. Now on the explosions subsystem!

+

Arguments:

+

propagate_blastwave +

+

Handles the effects of an explosion originating from a given point.

+

Primarily handles popagating the balstwave of the explosion to the relevant turfs. +Also handles the fireball from the explosion. +Also handles the smoke cloud from the explosion. +Also handles sfx and screenshake.

+

Arguments:

+

shake_the_room +

+

Handles the sfx and screenshake caused by an explosion.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/fluids.html b/datum/controller/subsystem/fluids.html new file mode 100644 index 00000000000..83035fdc975 --- /dev/null +++ b/datum/controller/subsystem/fluids.html @@ -0,0 +1,170 @@ + + + + + + + /datum/controller/subsystem/fluids - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fluids + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

currently_processingThe set of fluid nodes we are currently processing effects for.
currently_spreadingThe set of fluid nodes we are currently processing spreading for.
effect_bucket_indexThe index of the currently processing bucket on the effect carousel.
effect_carouselThe set of buckets containing fluid nodes to process effects for.
effect_waitThe amount of time (in deciseconds) between effect processing ticks for each fluid node.
num_effect_bucketsThe number of buckets in the effect carousel.
num_spread_bucketsThe number of buckets in the spread carousel.
spread_bucket_indexThe index of the spread carousel bucket currently being processed.
spread_carouselThe set of buckets containing fluid nodes to spread.
spread_waitThe amount of time (in deciseconds) before a fluid node is created and when it spreads.

Procs

cancel_spreadCancels a queued spread of a fluid node.
initialize_effect_carouselInitializes the carousel used to process fluid effects.
initialize_spread_carouselInitializes the carousel used to process fluid spreading.
initialize_waitsInitializes the subsystem waits.
queue_spreadQueues a fluid node to spread later after one full carousel rotation.
start_processingStarts processing the effects of a fluid node.
stop_processingStops processing the effects of a fluid node.
+

Var Details

currently_processing + + + + +

+

The set of fluid nodes we are currently processing effects for.

currently_spreading + + + + +

+

The set of fluid nodes we are currently processing spreading for.

effect_bucket_index + + + + +

+

The index of the currently processing bucket on the effect carousel.

+

The set of buckets containing fluid nodes to process effects for.

effect_wait + + + + +

+

The amount of time (in deciseconds) between effect processing ticks for each fluid node.

num_effect_buckets + + + + +

+

The number of buckets in the effect carousel.

num_spread_buckets + + + + +

+

The number of buckets in the spread carousel.

spread_bucket_index + + + + +

+

The index of the spread carousel bucket currently being processed.

+

The set of buckets containing fluid nodes to spread.

spread_wait + + + + +

+

The amount of time (in deciseconds) before a fluid node is created and when it spreads.

Proc Details

cancel_spread +

+

Cancels a queued spread of a fluid node.

+

Arguments:

+ +

Initializes the carousel used to process fluid effects.

+

Synchronizes the spread delta time with the actual target spread tick rate. +Builds the carousel buckets used to bubble processing.

+

Initializes the carousel used to process fluid spreading.

+

Synchronizes the spread delta time with the actual target spread tick rate. +Builds the carousel buckets used to queue spreads.

initialize_waits +

+

Initializes the subsystem waits.

+

Ensures that the subsystem's fire wait evenly splits the spread and effect waits.

queue_spread +

+

Queues a fluid node to spread later after one full carousel rotation.

+

Arguments:

+

start_processing +

+

Starts processing the effects of a fluid node.

+

The fluid node will next process after one full bucket rotation.

+

Arguments:

+

stop_processing +

+

Stops processing the effects of a fluid node.

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/icon_smooth.html b/datum/controller/subsystem/icon_smooth.html new file mode 100644 index 00000000000..cab08f8a8c4 --- /dev/null +++ b/datum/controller/subsystem/icon_smooth.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/icon_smooth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

icon_smooth + + + +

+ + +

Vars

blueprint_queueBlueprints assemble an image of what pipes/manifolds/wires look like on initialization, and thus should be taken after everything's been smoothed
+

Var Details

blueprint_queue + + + + +

+

Blueprints assemble an image of what pipes/manifolds/wires look like on initialization, and thus should be taken after everything's been smoothed

+ + + diff --git a/datum/controller/subsystem/id_access.html b/datum/controller/subsystem/id_access.html new file mode 100644 index 00000000000..1ab0506b48e --- /dev/null +++ b/datum/controller/subsystem/id_access.html @@ -0,0 +1,319 @@ + + + + + + + /datum/controller/subsystem/id_access - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

id_access + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

access_flag_string_by_flagDictionary of access flag string representations. Keys are bitflags. Values are their associated names.
accesses_by_flagDictionary of access lists. Keys are access flag names. Values are lists of all accesses as part of that access.
accesses_by_regionDictionary of accesses based on station region. Keys are region strings. Values are lists of accesses.
all_region_access_tguiSpecially formatted list for sending access levels to tgui interfaces.
centcom_job_templatesHelper list containing all trim paths that can be used as Centcom templates.
desc_by_accessDictionary of access names. Keys are access levels. Values are their associated names.
flags_by_accessDictionary of access flags. Keys are accesses. Values are their associated bitflags.
spare_id_safe_codeThe roundstart generated code for the spare ID safe. This is given to the Captain on shift start. If there's no Captain, it's given to the HoP. If there's no HoP
station_job_templatesHelper list containing all trim paths that can be used as job templates. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.
station_pda_templatesHelper list containing all PDA paths that can be painted by station machines. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.
station_regionsHelper list containing all station regions.
sub_department_managers_tguiList of accesses for the Heads of each sub-department alongside the regions they control and their job name.
trim_singletons_by_pathDictionary of trim singletons. Keys are paths. Values are their associated singletons.
wildcard_flags_by_wildcardDictionary of wildcard compatibility flags. Keys are strings for the wildcards. Values are their associated flags.

Procs

add_trim_access_to_cardAdds the accesses associated with a trim to an ID card.
apply_trim_to_cardApplies a trim singleton to a card.
apply_trim_to_chameleon_card
get_access_descReturns the access description associated with any given access level.
get_access_flagReturns the access bitflags associated with any given access level.
get_flag_access_listReturns the list of all accesses associated with any given access flag.
get_region_access_listBuilds and returns a list of accesses from a list of regions.
refresh_job_trim_singletonsCalled by [/datum/controller/subsystem/ticker/proc/setup]
remove_trim_from_cardRemoves a trim from an ID card. Also removes all accesses from it too.
remove_trim_from_chameleon_cardRemoves a trim from a chameleon ID card.
setup_access_descriptionsSetup dictionary that converts access levels to text descriptions.
setup_access_flagsBuild access flag lists.
setup_region_listsPopulates the region lists with data about which accesses correspond to which regions.
setup_tgui_listsCreates various data structures that primarily get fed to tgui interfaces, although these lists are used in other places.
setup_trim_singletonsInstantiate trim singletons and add them to a list.
setup_wildcard_dictSet up dictionary to convert wildcard names to flags.
tally_accessTallies up all accesses the card has that have flags greater than or equal to the access_flag supplied.
+

Var Details

access_flag_string_by_flag + + + + +

+

Dictionary of access flag string representations. Keys are bitflags. Values are their associated names.

accesses_by_flag + + + + +

+

Dictionary of access lists. Keys are access flag names. Values are lists of all accesses as part of that access.

accesses_by_region + + + + +

+

Dictionary of accesses based on station region. Keys are region strings. Values are lists of accesses.

all_region_access_tgui + + + + +

+

Specially formatted list for sending access levels to tgui interfaces.

centcom_job_templates + + + + +

+

Helper list containing all trim paths that can be used as Centcom templates.

desc_by_access + + + + +

+

Dictionary of access names. Keys are access levels. Values are their associated names.

flags_by_access + + + + +

+

Dictionary of access flags. Keys are accesses. Values are their associated bitflags.

spare_id_safe_code + + + + +

+

The roundstart generated code for the spare ID safe. This is given to the Captain on shift start. If there's no Captain, it's given to the HoP. If there's no HoP

station_job_templates + + + + +

+

Helper list containing all trim paths that can be used as job templates. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.

station_pda_templates + + + + +

+

Helper list containing all PDA paths that can be painted by station machines. Intended to be used alongside logic for ACCESS_CHANGE_IDS. Grab templates from sub_department_managers_tgui for Head of Staff restrictions.

station_regions + + + + +

+

Helper list containing all station regions.

sub_department_managers_tgui + + + + +

+

List of accesses for the Heads of each sub-department alongside the regions they control and their job name.

trim_singletons_by_path + + + + +

+

Dictionary of trim singletons. Keys are paths. Values are their associated singletons.

wildcard_flags_by_wildcard + + + + +

+

Dictionary of wildcard compatibility flags. Keys are strings for the wildcards. Values are their associated flags.

Proc Details

add_trim_access_to_card +

+

Adds the accesses associated with a trim to an ID card.

+

Clears the card's existing access levels first. +Primarily intended for applying trim templates to cards. Will attempt to add as many ordinary access +levels as it can, without consuming any wildcards. Will then attempt to apply the trim-specific wildcards after.

+

Arguments:

+

apply_trim_to_card +

+

Applies a trim singleton to a card.

+

Returns FALSE if the trim could not be applied due to being incompatible with the card. +Incompatibility is defined as a card not being able to hold all the trim's required wildcards. +Returns TRUE otherwise. +Arguments:

+

apply_trim_to_chameleon_card +

+

get_access_desc +

+

Returns the access description associated with any given access level.

+

In proc form due to accesses being stored in the list as text instead of numbers. +Arguments:

+

get_access_flag +

+

Returns the access bitflags associated with any given access level.

+

In proc form due to accesses being stored in the list as text instead of numbers. +Arguments:

+

get_flag_access_list +

+

Returns the list of all accesses associated with any given access flag.

+

In proc form due to accesses being stored in the list as text instead of numbers. +Arguments:

+

get_region_access_list +

+

Builds and returns a list of accesses from a list of regions.

+

Arguments:

+

refresh_job_trim_singletons +

+

Called by [/datum/controller/subsystem/ticker/proc/setup]

+

This runs through every /datum/id_trim/job singleton and ensures that its access is setup according to +appropriate config entries.

remove_trim_from_card +

+

Removes a trim from an ID card. Also removes all accesses from it too.

+

Arguments:

+

remove_trim_from_chameleon_card +

+

Removes a trim from a chameleon ID card.

+

Arguments:

+

setup_access_descriptions +

+

Setup dictionary that converts access levels to text descriptions.

setup_access_flags +

+

Build access flag lists.

setup_region_lists +

+

Populates the region lists with data about which accesses correspond to which regions.

setup_tgui_lists +

+

Creates various data structures that primarily get fed to tgui interfaces, although these lists are used in other places.

setup_trim_singletons +

+

Instantiate trim singletons and add them to a list.

setup_wildcard_dict +

+

Set up dictionary to convert wildcard names to flags.

tally_access +

+

Tallies up all accesses the card has that have flags greater than or equal to the access_flag supplied.

+

Returns the number of accesses that have flags matching access_flag or a higher tier access. +Arguments:

+
+ + + diff --git a/datum/controller/subsystem/job.html b/datum/controller/subsystem/job.html new file mode 100644 index 00000000000..5f1d8181bac --- /dev/null +++ b/datum/controller/subsystem/job.html @@ -0,0 +1,382 @@ + + + + + + + /datum/controller/subsystem/job - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_occupationsList of all jobs.
assigned_captainIf TRUE, some player has been assigned Captaincy or Acting Captaincy at some point during the shift and has been given the spare ID safe code.
chain_of_commandKeys should be assigned job roles. Values should be >= 1. +Represents the chain of command on the station. Lower numbers mean higher priority. +Used to give the Cap's Spare safe code to a an appropriate player. +Assumed Captain is always the highest in the chain of command. +See [/datum/controller/subsystem/ticker/proc/equip_characters]
config_documentationThis is just the message we prepen and put into all of the config files to ensure documentation. We use this in more than one place, so let's put it in the SS to make life a bit easier.
dynamic_forced_occupationsLazylist of mob:occupation_string pairs.
experience_jobs_mapDictionary of jobs indexed by the experience type they grant.
job_config_datum_singletonsList of job config datum singletons.
job_priorities_to_stringsDictionary that maps job priorities to low/medium/high. Keys have to be number-strings as assoc lists cannot be indexed by integers. Set in setup_job_lists.
joinable_departmentsList of all departments with joinable jobs.
joinable_departments_by_typeList of all joinable departments indexed by their typepath, sorted by their own display order.
joinable_occupationsList of jobs that can be joined through the starting menu.
legacy_modeAre we using the old job config system (txt) or the new job config system (TOML)? IF we are going to use the txt file, then we are in "legacy mode", and this will flip to TRUE.
name_occupationsDictionary of all jobs, keys are titles.
safe_code_request_locThe loc to which the emergency safe code has been requested for delivery.
safe_code_requestedWhether the emergency safe code has been requested via a comms console on shifts with no Captain or Acting Captain.
safe_code_timer_idTimer ID for the emergency safe code request.
type_occupationsDictionary of all jobs, keys are types.

Procs

AssignRoleAssigns the given job role to the player.
CheckHeadPositionsAttempts to fill out all possible head positions for players with that job at a a given job priority level.
DivideOccupations
DropLandAtRandomHallwayPointLands specified mob at a random spot in the hallways
FillHeadPositionWill try to select a head, ignoring ALL non-head preferences for every level until.
assign_priority_positionsBlindly assigns the required roles to every player in the dynamic_forced_occupations list.
check_job_eligibilityRuns a standard suite of eligibility checks to make sure the player can take the reqeusted job.
export_tomlProc that we call to generate a new jobconfig.toml file and send it to the requesting client. Returns TRUE if a file is successfully generated.
fill_ai_positionsAttempts to fill out all available AI positions.
generate_blank_job_configThis will just return a list for a completely new job that doesn't need to be migrated from an old config (completely new). Just done here to reduce copypasta
generate_configWill generate a new jobconfig.toml file if one does not exist, or if one does exist, will migrate the old jobs.txt file into the new TOML format for download +Returns TRUE if a file is successfully generated, FALSE otherwise.
generate_config_singletonsReturns an associated list of all of the job config types that we have in the codebase.
generate_job_config_excluding_legacyLike generate_blank_job_config, but we opt-out of adding the legacy variables in case we handle it elsewhere.
get_all_headsReturns a list of minds of all heads of staff
get_all_secReturns a list of minds of all security members
get_living_headsReturns a list of minds of all heads of staff who are alive
get_living_secReturns a list of minds of all security members who are alive
get_valid_overflow_jobsReturns a list of jobs that we are allowed to fuck with during random events
has_minimum_jobsCheck if the station manifest has at least a certain amount of this staff type. +If a matching head of staff is on the manifest, automatically passes (returns TRUE)
import_config_from_txtLoads the job config from the TXT and creates a new TOML file from it. +Returns TRUE if a file is successfully generated, FALSE otherwise.
job_priority_level_to_stringTakes a job priority #define such as JP_LOW and gets its string representation for logging.
legacy_loadOperates the legacy jobs.txt parser to load jobs from the old config system.
load_jobs_from_configSets all of the job datum configurable values to what they've been set to in the config file, jobconfig.toml.
regenerate_job_configIf we add a new job or more fields to config a job with, quickly spin up a brand new config that inherits all of your old settings, but adds the new job with codebase defaults. +Returns TRUE if a file is successfully generated, FALSE otherwise.
send_spare_id_safe_codeSend a drop pod containing a piece of paper with the spare ID safe code to loc
setup_job_listsBuilds various lists of jobs based on station, centcom and additional jobs with icons associated with them.
+

Var Details

all_occupations + + + + +

+

List of all jobs.

assigned_captain + + + + +

+

If TRUE, some player has been assigned Captaincy or Acting Captaincy at some point during the shift and has been given the spare ID safe code.

chain_of_command + + + + +

+

Keys should be assigned job roles. Values should be >= 1. +Represents the chain of command on the station. Lower numbers mean higher priority. +Used to give the Cap's Spare safe code to a an appropriate player. +Assumed Captain is always the highest in the chain of command. +See [/datum/controller/subsystem/ticker/proc/equip_characters]

config_documentation + + + + +

+

This is just the message we prepen and put into all of the config files to ensure documentation. We use this in more than one place, so let's put it in the SS to make life a bit easier.

dynamic_forced_occupations + + + + +

+

Lazylist of mob:occupation_string pairs.

experience_jobs_map + + + + +

+

Dictionary of jobs indexed by the experience type they grant.

job_config_datum_singletons + + + + +

+

List of job config datum singletons.

job_priorities_to_strings + + + + +

+

Dictionary that maps job priorities to low/medium/high. Keys have to be number-strings as assoc lists cannot be indexed by integers. Set in setup_job_lists.

joinable_departments + + + + +

+

List of all departments with joinable jobs.

joinable_departments_by_type + + + + +

+

List of all joinable departments indexed by their typepath, sorted by their own display order.

joinable_occupations + + + + +

+

List of jobs that can be joined through the starting menu.

legacy_mode + + + + +

+

Are we using the old job config system (txt) or the new job config system (TOML)? IF we are going to use the txt file, then we are in "legacy mode", and this will flip to TRUE.

name_occupations + + + + +

+

Dictionary of all jobs, keys are titles.

safe_code_request_loc + + + + +

+

The loc to which the emergency safe code has been requested for delivery.

safe_code_requested + + + + +

+

Whether the emergency safe code has been requested via a comms console on shifts with no Captain or Acting Captain.

safe_code_timer_id + + + + +

+

Timer ID for the emergency safe code request.

type_occupations + + + + +

+

Dictionary of all jobs, keys are types.

Proc Details

AssignRole +

+

Assigns the given job role to the player.

+

Arguments:

+

CheckHeadPositions +

+

Attempts to fill out all possible head positions for players with that job at a a given job priority level.

+

Arguments:

+

DivideOccupations +

+

DropLandAtRandomHallwayPoint +

+

Lands specified mob at a random spot in the hallways

FillHeadPosition +

+

Will try to select a head, ignoring ALL non-head preferences for every level until.

+

Basically tries to ensure there is at least one head in every shift if anyone has that job preference enabled at all.

assign_priority_positions +

+

Blindly assigns the required roles to every player in the dynamic_forced_occupations list.

check_job_eligibility +

+

Runs a standard suite of eligibility checks to make sure the player can take the reqeusted job.

+

Checks:

+ +

Arguments:

+

export_toml +

+

Proc that we call to generate a new jobconfig.toml file and send it to the requesting client. Returns TRUE if a file is successfully generated.

fill_ai_positions +

+

Attempts to fill out all available AI positions.

generate_blank_job_config +

+

This will just return a list for a completely new job that doesn't need to be migrated from an old config (completely new). Just done here to reduce copypasta

generate_config +

+

Will generate a new jobconfig.toml file if one does not exist, or if one does exist, will migrate the old jobs.txt file into the new TOML format for download +Returns TRUE if a file is successfully generated, FALSE otherwise.

generate_config_singletons +

+

Returns an associated list of all of the job config types that we have in the codebase.

generate_job_config_excluding_legacy +

+

Like generate_blank_job_config, but we opt-out of adding the legacy variables in case we handle it elsewhere.

get_all_heads +

+

Returns a list of minds of all heads of staff

get_all_sec +

+

Returns a list of minds of all security members

get_living_heads +

+

Returns a list of minds of all heads of staff who are alive

get_living_sec +

+

Returns a list of minds of all security members who are alive

get_valid_overflow_jobs +

+

Returns a list of jobs that we are allowed to fuck with during random events

has_minimum_jobs +

+

Check if the station manifest has at least a certain amount of this staff type. +If a matching head of staff is on the manifest, automatically passes (returns TRUE)

+

Arguments:

+

import_config_from_txt +

+

Loads the job config from the TXT and creates a new TOML file from it. +Returns TRUE if a file is successfully generated, FALSE otherwise.

job_priority_level_to_string +

+

Takes a job priority #define such as JP_LOW and gets its string representation for logging.

legacy_load +

+

Operates the legacy jobs.txt parser to load jobs from the old config system.

load_jobs_from_config +

+

Sets all of the job datum configurable values to what they've been set to in the config file, jobconfig.toml.

regenerate_job_config +

+

If we add a new job or more fields to config a job with, quickly spin up a brand new config that inherits all of your old settings, but adds the new job with codebase defaults. +Returns TRUE if a file is successfully generated, FALSE otherwise.

send_spare_id_safe_code +

+

Send a drop pod containing a piece of paper with the spare ID safe code to loc

setup_job_lists +

+

Builds various lists of jobs based on station, centcom and additional jobs with icons associated with them.

+ + + diff --git a/datum/controller/subsystem/lag_switch.html b/datum/controller/subsystem/lag_switch.html new file mode 100644 index 00000000000..3a40f0e02b3 --- /dev/null +++ b/datum/controller/subsystem/lag_switch.html @@ -0,0 +1,106 @@ + + + + + + + /datum/controller/subsystem/lag_switch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lag_switch + + + +

+ + + + + + + + + + + + +

Vars

auto_measuresList of measures that toggle automatically
auto_switchIf the lag switch measures should attempt to trigger automatically, TRUE if a config value exists
measuresList of bools corresponding to code/__DEFINES/lag_switch.dm
slowmode_cooldownCooldown between say verb uses when slowmode is enabled
trigger_popAmount of connected clients at which the Lag Switch should engage, set via config or admin panel
veto_timer_idTimer ID for the automatic veto period

Procs

cancel_auto_enable_in_progressCalled from an admin chat link
change_slowmode_cooldownUpdate the slowmode timer length and clear existing ones if reduced
set_all_measuresHelper to loop over all measures for mass changes
set_measureHandle the state change for individual measures
toggle_auto_enable(En/Dis)able automatic triggering of switches based on client count
+

Var Details

auto_measures + + + + +

+

List of measures that toggle automatically

auto_switch + + + + +

+

If the lag switch measures should attempt to trigger automatically, TRUE if a config value exists

measures + + + + +

+

List of bools corresponding to code/__DEFINES/lag_switch.dm

slowmode_cooldown + + + + +

+

Cooldown between say verb uses when slowmode is enabled

trigger_pop + + + + +

+

Amount of connected clients at which the Lag Switch should engage, set via config or admin panel

veto_timer_id + + + + +

+

Timer ID for the automatic veto period

Proc Details

cancel_auto_enable_in_progress +

+

Called from an admin chat link

change_slowmode_cooldown +

+

Update the slowmode timer length and clear existing ones if reduced

set_all_measures +

+

Helper to loop over all measures for mass changes

set_measure +

+

Handle the state change for individual measures

toggle_auto_enable +

+

(En/Dis)able automatic triggering of switches based on client count

+ + + diff --git a/datum/controller/subsystem/library.html b/datum/controller/subsystem/library.html new file mode 100644 index 00000000000..95ec69939b7 --- /dev/null +++ b/datum/controller/subsystem/library.html @@ -0,0 +1,78 @@ + + + + + + + /datum/controller/subsystem/library - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

library + + + +

+ + + + + + + + +

Vars

books_by_areaList of book datums that we consider to be "in" any one area.
library_areasList of areas that count as "a library", modified by map config
printable_postersList of poster typepaths we're ok with being printable
search_categoriesList of acceptable search categories for book consoles
shelves_to_loadList of bookselves to prefill with books
upload_categoriesList of acceptable categories for a book to be

Procs

get_area_booksReturns a list of copied book datums that we consider to be "in" the passed in area at roundstart
+

Var Details

books_by_area + + + + +

+

List of book datums that we consider to be "in" any one area.

library_areas + + + + +

+

List of areas that count as "a library", modified by map config

printable_posters + + + + +

+

List of poster typepaths we're ok with being printable

search_categories + + + + +

+

List of acceptable search categories for book consoles

shelves_to_load + + + + +

+

List of bookselves to prefill with books

upload_categories + + + + +

+

List of acceptable categories for a book to be

Proc Details

get_area_books +

+

Returns a list of copied book datums that we consider to be "in" the passed in area at roundstart

+ + + diff --git a/datum/controller/subsystem/lua.html b/datum/controller/subsystem/lua.html new file mode 100644 index 00000000000..acf2b3461ad --- /dev/null +++ b/datum/controller/subsystem/lua.html @@ -0,0 +1,56 @@ + + + + + + + /datum/controller/subsystem/lua - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lua + + + +

+ + + + +

Vars

editorsA list of open editors, with each key in the list associated with a list of editors. +Tracks which UIs are open for each state so that they can be updated whenever +code is run in the state.
gc_guardProtects return values from getting GCed before getting converted to lua values +Gets cleared every tick.
statesA list of all lua states
+

Var Details

editors + + + + +

+

A list of open editors, with each key in the list associated with a list of editors. +Tracks which UIs are open for each state so that they can be updated whenever +code is run in the state.

gc_guard + + + + +

+

Protects return values from getting GCed before getting converted to lua values +Gets cleared every tick.

states + + + + +

+

A list of all lua states

+ + + diff --git a/datum/controller/subsystem/machines.html b/datum/controller/subsystem/machines.html new file mode 100644 index 00000000000..4b9820cece2 --- /dev/null +++ b/datum/controller/subsystem/machines.html @@ -0,0 +1,78 @@ + + + + + + + /datum/controller/subsystem/machines - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

machines + + + +

+ + + + + + + + +

Vars

all_machinesAll machines, not just those that are processing.
machines_by_typeAssosciative list of all machines that exist.
powernetsList of all powernets on the server.

Procs

get_machines_by_typeGets a list of all machines that are the exact passed type.
get_machines_by_type_and_subtypesGets a list of all machines that are either the passed type or a subtype.
register_machineRegisters a machine with the machine subsystem; should only be called by the machine itself during its creation.
unregister_machineRemoves a machine from the machine subsystem; should only be called by the machine itself inside Destroy.
+

Var Details

all_machines + + + + +

+

All machines, not just those that are processing.

machines_by_type + + + + +

+

Assosciative list of all machines that exist.

powernets + + + + +

+

List of all powernets on the server.

Proc Details

get_machines_by_type +

+

Gets a list of all machines that are the exact passed type.

get_machines_by_type_and_subtypes +

+

Gets a list of all machines that are either the passed type or a subtype.

register_machine +

+

Registers a machine with the machine subsystem; should only be called by the machine itself during its creation.

unregister_machine +

+

Removes a machine from the machine subsystem; should only be called by the machine itself inside Destroy.

+ + + diff --git a/datum/controller/subsystem/mapping.html b/datum/controller/subsystem/mapping.html new file mode 100644 index 00000000000..792f2870bcb --- /dev/null +++ b/datum/controller/subsystem/mapping.html @@ -0,0 +1,382 @@ + + + + + + + /datum/controller/subsystem/mapping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mapping + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

adding_new_zlevelTrue when in the process of adding a new Z-level, global locking
biomesAll possible biomes in assoc list as type || instance
critical_planesList of plane masters that are of critical priority
gravity_by_z_levelshows the default gravity value for each z level. recalculated when gravity generators change. +List in the form: list(z level num = max generator gravity in that z level OR the gravity level trait)
lists_to_reserveList of lists of turfs to reserve
loaded_lazy_templateslist of lazy templates that have been loaded
map_force_chosenHas the map for the next round been deliberately chosen by an admin?
map_vote_rockedHas the map vote been rocked?
map_votedHas the map for the next round been voted for already?
max_plane_offsetThe largest plane offset we've generated so far
multiz_levelslist of all z level indices that form multiz connections and whether theyre linked up or down. +list of lists, inner lists are of the form: list("up or down link direction" = TRUE)
plane_offset_blacklistList of planes that do not allow for offsetting
plane_offset_to_trueAssoc list of string plane values to their true, non offset representation
plane_to_offsetAssoc list of string plane to the plane's offset value
render_offset_blacklistList of render targets that do not allow for offsetting
themed_ruinsList of ruins, separated by their theme
true_to_offset_planesAssoc list of true string plane values to a list of all potential offset planess
z_level_to_lowest_plane_offsetList of z level (as number) -> The lowest plane offset in that z stack
z_level_to_plane_offsetList of z level (as number) -> plane offset of that z level +Used to maintain the plane cube
z_level_to_stackList of z level (as number) -> list of all z levels vertically connected to ours +Useful for fast grouping lookups and such
z_listlist of all z level datums in the order of their z (z level 1 is at index 1, etc.)
z_trait_levelslist of traits and their associated z leves

Procs

add_new_zlevelGenerates a real, honest to god new z level. Will create the actual space, and also generate a datum that holds info about the new plot of land +Accepts the name, traits list, datum type, and if we should manage the turfs we create
add_reservation_zlevelAdds a new reservation z level. A bit of space that can be handed out on request +Of note, reservations default to transit turfs, to make their most common use, shuttles, faster
generate_offset_listsUpdates the lowest offset value +Takes an offset to generate misc lists to, and a base to start from +Use this to react globally to maintain parity with plane offsets
generate_station_area_listGenerates the global station area list, filling it with typepaths of unique areas found on the station Z.
get_connected_levelsTakes a turf or a z level, and returns a list of all the z levels that are connected to it
get_station_centerPrefer not to use this one too often
initialize_biomesInitialize all biomes, assoc as type || instance
initialize_reserved_levelSets up a z level as reserved +This is not for wiping reserved levels, use wipe_reservations() for that. +If this is called after SSatom init, it will call Initialize on all turfs on the passed z, as its name promises
is_planetaryReturns true if the map we're playing on is on a planet
level_has_all_traitsCheck if levels[z] has all of the specified traits
level_has_any_traitCheck if levels[z] has any of the specified traits
level_traitLook up levels[z].traits[trait]
levels_by_all_traitsGet a list of all z which have all of the specified traits
levels_by_any_traitGet a list of all z which have any of the specified traits
levels_by_traitGet a list of all z which have the specified trait
load_all_away_missionsFor debug purposes, will add every single away mission present in a given directory. +You can optionally pass in a string directory to load from instead of the default.
manage_z_levelTakes a z level datum, and tells the mapping subsystem to manage it +Also handles things like plane offset generation, and other things that happen on a z level to z level basis
request_turf_block_reservationRequests a /datum/turf_reservation based on the given width, height, and z_size. You can specify a z_reservation to use a specific z level, or leave it null to use any z level.
reserve_turfsSchedules a group of turfs to be handed back to the reservation system's control +If await is true, will sleep until the turfs are finished work
run_map_terrain_generationGenerate the turfs of the area
run_map_terrain_populationPopulate the turfs of the area
setup_riversSets up rivers, and things that behave like rivers. So lava/plasma rivers, and chasms +It is important that this happens AFTER generating mineral walls and such, since we rely on them for river logic
setup_ruins##setup_ruins
validate_z_level_loadingLightweight proc that just checks to make sure that all of the expected z-levels were loaded. Split out for clarity from load_all_away_missions() +Argument "checkable_levels" is just a list of the names (typically the filepaths) of the z-levels we were expected to load, which should correspond to the name on the space level datum.
+

Var Details

adding_new_zlevel + + + + +

+

True when in the process of adding a new Z-level, global locking

biomes + + + + +

+

All possible biomes in assoc list as type || instance

critical_planes + + + + +

+

List of plane masters that are of critical priority

gravity_by_z_level + + + + +

+

shows the default gravity value for each z level. recalculated when gravity generators change. +List in the form: list(z level num = max generator gravity in that z level OR the gravity level trait)

lists_to_reserve + + + + +

+

List of lists of turfs to reserve

loaded_lazy_templates + + + + +

+

list of lazy templates that have been loaded

map_force_chosen + + + + +

+

Has the map for the next round been deliberately chosen by an admin?

map_vote_rocked + + + + +

+

Has the map vote been rocked?

map_voted + + + + +

+

Has the map for the next round been voted for already?

max_plane_offset + + + + +

+

The largest plane offset we've generated so far

multiz_levels + + + + +

+

list of all z level indices that form multiz connections and whether theyre linked up or down. +list of lists, inner lists are of the form: list("up or down link direction" = TRUE)

plane_offset_blacklist + + + + +

+

List of planes that do not allow for offsetting

plane_offset_to_true + + + + +

+

Assoc list of string plane values to their true, non offset representation

plane_to_offset + + + + +

+

Assoc list of string plane to the plane's offset value

render_offset_blacklist + + + + +

+

List of render targets that do not allow for offsetting

themed_ruins + + + + +

+

List of ruins, separated by their theme

true_to_offset_planes + + + + +

+

Assoc list of true string plane values to a list of all potential offset planess

z_level_to_lowest_plane_offset + + + + +

+

List of z level (as number) -> The lowest plane offset in that z stack

z_level_to_plane_offset + + + + +

+

List of z level (as number) -> plane offset of that z level +Used to maintain the plane cube

z_level_to_stack + + + + +

+

List of z level (as number) -> list of all z levels vertically connected to ours +Useful for fast grouping lookups and such

z_list + + + + +

+

list of all z level datums in the order of their z (z level 1 is at index 1, etc.)

z_trait_levels + + + + +

+

list of traits and their associated z leves

Proc Details

add_new_zlevel +

+

Generates a real, honest to god new z level. Will create the actual space, and also generate a datum that holds info about the new plot of land +Accepts the name, traits list, datum type, and if we should manage the turfs we create

add_reservation_zlevel +

+

Adds a new reservation z level. A bit of space that can be handed out on request +Of note, reservations default to transit turfs, to make their most common use, shuttles, faster

generate_offset_lists +

+

Updates the lowest offset value +Takes an offset to generate misc lists to, and a base to start from +Use this to react globally to maintain parity with plane offsets

generate_station_area_list +

+

Generates the global station area list, filling it with typepaths of unique areas found on the station Z.

get_connected_levels +

+

Takes a turf or a z level, and returns a list of all the z levels that are connected to it

get_station_center +

+

Prefer not to use this one too often

initialize_biomes +

+

Initialize all biomes, assoc as type || instance

initialize_reserved_level +

+

Sets up a z level as reserved +This is not for wiping reserved levels, use wipe_reservations() for that. +If this is called after SSatom init, it will call Initialize on all turfs on the passed z, as its name promises

is_planetary +

+

Returns true if the map we're playing on is on a planet

level_has_all_traits +

+

Check if levels[z] has all of the specified traits

level_has_any_trait +

+

Check if levels[z] has any of the specified traits

level_trait +

+

Look up levels[z].traits[trait]

levels_by_all_traits +

+

Get a list of all z which have all of the specified traits

levels_by_any_trait +

+

Get a list of all z which have any of the specified traits

levels_by_trait +

+

Get a list of all z which have the specified trait

load_all_away_missions +

+

For debug purposes, will add every single away mission present in a given directory. +You can optionally pass in a string directory to load from instead of the default.

manage_z_level +

+

Takes a z level datum, and tells the mapping subsystem to manage it +Also handles things like plane offset generation, and other things that happen on a z level to z level basis

request_turf_block_reservation +

+

Requests a /datum/turf_reservation based on the given width, height, and z_size. You can specify a z_reservation to use a specific z level, or leave it null to use any z level.

reserve_turfs +

+

Schedules a group of turfs to be handed back to the reservation system's control +If await is true, will sleep until the turfs are finished work

run_map_terrain_generation +

+

Generate the turfs of the area

run_map_terrain_population +

+

Populate the turfs of the area

setup_rivers +

+

Sets up rivers, and things that behave like rivers. So lava/plasma rivers, and chasms +It is important that this happens AFTER generating mineral walls and such, since we rely on them for river logic

setup_ruins +

+

##setup_ruins

+

Sets up all of the ruins to be spawned

validate_z_level_loading +

+

Lightweight proc that just checks to make sure that all of the expected z-levels were loaded. Split out for clarity from load_all_away_missions() +Argument "checkable_levels" is just a list of the names (typically the filepaths) of the z-levels we were expected to load, which should correspond to the name on the space level datum.

+ + + diff --git a/datum/controller/subsystem/materials.html b/datum/controller/subsystem/materials.html new file mode 100644 index 00000000000..9c1ee581b2c --- /dev/null +++ b/datum/controller/subsystem/materials.html @@ -0,0 +1,198 @@ + + + + + + + /datum/controller/subsystem/materials - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

materials + + + +

+ + + + + + + + + + + + + + +

Vars

base_stack_recipesList of stackcrafting recipes for materials using base recipes
material_combosA cache of all material combinations that have been used
materialids_by_categoryDictionary of category || list of material ids, mostly used by rnd machines like autolathes.
materialids_by_typeDictionary of type || list of material ids
materialsDictionary of material.id || material ref
materials_by_categoryDictionary of category || list of material refs
materials_by_typeDictionary of type || list of material refs
rigid_stack_recipesList of stackcrafting recipes for materials using rigid recipes

Procs

FindOrCreateMaterialComboReturns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.
GetIdFromArguments
InitializeMaterial
InitializeMaterialsRan on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)
_GetMaterialRef
+

Var Details

base_stack_recipes + + + + +

+

List of stackcrafting recipes for materials using base recipes

material_combos + + + + +

+

A cache of all material combinations that have been used

materialids_by_category + + + + +

+

Dictionary of category || list of material ids, mostly used by rnd machines like autolathes.

materialids_by_type + + + + +

+

Dictionary of type || list of material ids

materials + + + + +

+

Dictionary of material.id || material ref

materials_by_category + + + + +

+

Dictionary of category || list of material refs

materials_by_type + + + + +

+

Dictionary of type || list of material refs

rigid_stack_recipes + + + + +

+

List of stackcrafting recipes for materials using rigid recipes

Proc Details

FindOrCreateMaterialCombo +

+

Returns a list to be used as an object's custom_materials. Lists will be cached and re-used based on the parameters.

GetIdFromArguments +

+

InitializeMaterial +

+

InitializeMaterials +

+

Ran on initialize, populated the materials and materials_by_category dictionaries with their appropiate vars (See these variables for more info)

_GetMaterialRef +

+
+ + + diff --git a/datum/controller/subsystem/minor_mapping.html b/datum/controller/subsystem/minor_mapping.html new file mode 100644 index 00000000000..8167e96d9f3 --- /dev/null +++ b/datum/controller/subsystem/minor_mapping.html @@ -0,0 +1,42 @@ + + + + + + + /datum/controller/subsystem/minor_mapping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

minor_mapping + + + +

+ + + +

Procs

trigger_migrationSpawns some critters on exposed wires, usually but not always mice
valid_mouse_turfReturns true if a mouse won't die if spawned on this turf

Proc Details

trigger_migration +

+

Spawns some critters on exposed wires, usually but not always mice

valid_mouse_turf +

+

Returns true if a mouse won't die if spawned on this turf

+ + + diff --git a/datum/controller/subsystem/mobs.html b/datum/controller/subsystem/mobs.html new file mode 100644 index 00000000000..63d404c2dac --- /dev/null +++ b/datum/controller/subsystem/mobs.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/mobs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mobs + + + +

+ + +

Vars

clients_by_zlevelonly contains living players for some reason
+

Var Details

clients_by_zlevel + + + + +

+

only contains living players for some reason

+ + + diff --git a/datum/controller/subsystem/modular_computers.html b/datum/controller/subsystem/modular_computers.html new file mode 100644 index 00000000000..f0dc4650543 --- /dev/null +++ b/datum/controller/subsystem/modular_computers.html @@ -0,0 +1,122 @@ + + + + + + + /datum/controller/subsystem/modular_computers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computers + + + +

+ + + + + + + + + + + + + +

Vars

available_antag_softwareList of all programs that can be downloaded from an emagged NTNet store.
available_station_softwareList of all programs available to download from the NTNet store.
chat_channelsList of all chat channels created by Chat Client.
intrusion_detection_alarmBoolean to show a message warning if there's an active intrusion for Wirecarp users.
intrusion_detection_enabledBoolean on whether the IDS warning system is enabled
modpc_logsList of all logs generated by ModPCs through the round. +Stops at MAX_LOG_COUNT and must be purged to keep logging.

Procs

add_logRecords a message into the station logging system for the network +Arguments:
build_software_listsFinds all downloadable programs and adds them to their respective downloadable list.
find_ntnet_file_by_nameAttempts to find a new file through searching the available stores with its name.
get_chat_channel_by_idAttempts to find a chatorom using the ID of the channel.
get_next_picture_nameReturns a name which a /datum/picture can be assigned to. +Use this function to get asset names and to avoid cache duplicates/overwriting.
purge_logsRemoves all station logs and leaves it with an alert that it's been wiped.
+

Var Details

available_antag_software + + + + +

+

List of all programs that can be downloaded from an emagged NTNet store.

available_station_software + + + + +

+

List of all programs available to download from the NTNet store.

chat_channels + + + + +

+

List of all chat channels created by Chat Client.

intrusion_detection_alarm + + + + +

+

Boolean to show a message warning if there's an active intrusion for Wirecarp users.

intrusion_detection_enabled + + + + +

+

Boolean on whether the IDS warning system is enabled

modpc_logs + + + + +

+

List of all logs generated by ModPCs through the round. +Stops at MAX_LOG_COUNT and must be purged to keep logging.

Proc Details

add_log +

+

Records a message into the station logging system for the network +Arguments:

+

build_software_lists +

+

Finds all downloadable programs and adds them to their respective downloadable list.

find_ntnet_file_by_name +

+

Attempts to find a new file through searching the available stores with its name.

get_chat_channel_by_id +

+

Attempts to find a chatorom using the ID of the channel.

get_next_picture_name +

+

Returns a name which a /datum/picture can be assigned to. +Use this function to get asset names and to avoid cache duplicates/overwriting.

purge_logs +

+

Removes all station logs and leaves it with an alert that it's been wiped.

+ + + diff --git a/datum/controller/subsystem/move_manager.html b/datum/controller/subsystem/move_manager.html new file mode 100644 index 00000000000..9c4e6490fe1 --- /dev/null +++ b/datum/controller/subsystem/move_manager.html @@ -0,0 +1,266 @@ + + + + + + + /datum/controller/subsystem/move_manager - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

move_manager + + + +

+ + + + + + + + + + + + + + + + + +

Procs

add_to_loopAdds a movable thing to a movement subsystem. Returns TRUE if it all worked, FALSE if it failed somehow
force_moveUsed for force-move loops, similar to move_towards_legacy() but not quite the same
force_move_dirLike move(), but we don't care about collision at all
freezeAssigns a target to a move loop that immediately freezes for a set duration of time.
home_ontoHelper proc for homing onto something with move_towards
jps_moveUsed for following jps defined paths. The proc signature here's a bit long, I'm sorry
moveReplacement for walk()
move_awayWrapper around walk_away()
move_disposalsSnowflake disposal movement. Moves a disposal holder along a chain of disposal pipes
move_randHelper proc for the move_rand datum
move_toWrapper around walk_to()
move_to_randWrapper around walk_rand(), doesn't actually result in a random walk, it's more like moving to random places in viewish
move_towardsHelper proc for the move_towards datum
move_towards_legacyWrapper for walk_towards, not reccomended, as it's movement ends up being a bit stilted
processing_onReturns the subsystem's loop if we're processing on it, null otherwise
stop_loopingRemoves the atom from some movement subsystem. Defaults to SSmovement

Proc Details

add_to_loop +

+

Adds a movable thing to a movement subsystem. Returns TRUE if it all worked, FALSE if it failed somehow

force_move +

+

Used for force-move loops, similar to move_towards_legacy() but not quite the same

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

force_move_dir +

+

Like move(), but we don't care about collision at all

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +direction - The direction we want to move in +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

freeze +

+

Assigns a target to a move loop that immediately freezes for a set duration of time.

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +halted_turf - The turf we want to freeze on. This should typically be the loc of moving. +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. This should be considered extremely non-optional as it will completely stun out the movement loop forever if unset. +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

home_onto +

+

Helper proc for homing onto something with move_towards

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +home - Should we move towards the object at all times? Or launch towards them, but allow walls and such to take us off track. Defaults to FALSE +timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

jps_move +

+

Used for following jps defined paths. The proc signature here's a bit long, I'm sorry

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +repath_delay - How often we're allowed to recalculate our path +max_path_length - The maximum number of steps we can take in a given path to search (default: 30, 0 = infinite) +miminum_distance - Minimum distance to the target before path returns, could be used to get near a target, but not right to it - for an AI mob with a gun, for example +access - A list representing what access we have and what doors we can open +simulated_only - Whether we consider turfs without atmos simulation (AKA do we want to ignore space) +avoid - If we want to avoid a specific turf, like if we're a mulebot who already got blocked by some turf +skip_first - Whether or not to delete the first item in the path. This would be done because the first item is the starting tile, which can break things +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move +

+

Replacement for walk()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +direction - The direction we want to move in +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_away +

+

Wrapper around walk_away()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +max_dist - the furthest away from the target we're allowed to get +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_disposals +

+

Snowflake disposal movement. Moves a disposal holder along a chain of disposal pipes

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_rand +

+

Helper proc for the move_rand datum

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +directions - A list of acceptable directions to try and move in. Defaults to GLOB.alldirs +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_to +

+

Wrapper around walk_to()

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +min_dist - the closest we're allower to get to the target +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_to_rand +

+

Wrapper around walk_rand(), doesn't actually result in a random walk, it's more like moving to random places in viewish

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_towards +

+

Helper proc for the move_towards datum

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +home - Should we move towards the object at all times? Or launch towards them, but allow walls and such to take us off track. Defaults to FALSE +timeout - Time in deci-seconds until the moveloop self expires. Defaults to INFINITY +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

move_towards_legacy +

+

Wrapper for walk_towards, not reccomended, as it's movement ends up being a bit stilted

+

Returns TRUE if the loop sucessfully started, or FALSE if it failed

+

Arguments: +moving - The atom we want to move +chasing - The atom we want to move towards +delay - How many deci-seconds to wait between fires. Defaults to the lowest value, 0.1 +timeout - Time in deci-seconds until the moveloop self expires. Defaults to infinity +subsystem - The movement subsystem to use. Defaults to SSmovement. Only one loop can exist for any one subsystem +priority - Defines how different move loops override each other. Lower numbers beat higher numbers, equal defaults to what currently exists. Defaults to MOVEMENT_DEFAULT_PRIORITY +flags - Set of bitflags that effect move loop behavior in some way. Check _DEFINES/movement.dm

processing_on +

+

Returns the subsystem's loop if we're processing on it, null otherwise

stop_looping +

+

Removes the atom from some movement subsystem. Defaults to SSmovement

+ + + diff --git a/datum/controller/subsystem/movement.html b/datum/controller/subsystem/movement.html new file mode 100644 index 00000000000..4f47044f0e4 --- /dev/null +++ b/datum/controller/subsystem/movement.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/movement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

movement + + + +

+ + + + + + + +

Vars

bucketsAssoc list of "target time" -> list(things to process). Used for quick lookup
canonical_timeThe time we started our last fire at
sorted_bucketsSorted list of list(target time, bucket to process)
visual_delayThe visual delay of the subsystem

Procs

pour_bucketProcesses a bucket of movement loops (This should only ever be called by fire(), it exists to prevent runtime fuckery)
smash_bucketRemoves a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work
+

Var Details

buckets + + + + +

+

Assoc list of "target time" -> list(things to process). Used for quick lookup

canonical_time + + + + +

+

The time we started our last fire at

sorted_buckets + + + + +

+

Sorted list of list(target time, bucket to process)

visual_delay + + + + +

+

The visual delay of the subsystem

Proc Details

pour_bucket +

+

Processes a bucket of movement loops (This should only ever be called by fire(), it exists to prevent runtime fuckery)

smash_bucket +

+

Removes a bucket from our system. You only need to pass in the time, but if you pass in the index of the list you save us some work

+ + + diff --git a/datum/controller/subsystem/movement/ai_movement.html b/datum/controller/subsystem/movement/ai_movement.html new file mode 100644 index 00000000000..6ed8aee6f5b --- /dev/null +++ b/datum/controller/subsystem/movement/ai_movement.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/movement/ai_movement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai_movement + + + +

+ + +

Vars

movement_typesan assoc list of all ai_movement types. Assoc type to instance
+

Var Details

movement_types + + + + +

+

an assoc list of all ai_movement types. Assoc type to instance

+ + + diff --git a/datum/controller/subsystem/movement/cliff_falling.html b/datum/controller/subsystem/movement/cliff_falling.html new file mode 100644 index 00000000000..b954265b498 --- /dev/null +++ b/datum/controller/subsystem/movement/cliff_falling.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/movement/cliff_falling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cliff_falling + + + +

+ + + + +

Vars

cliff_grindersWho are currently falling and with which movemanager?

Procs

check_moveCheck if we can move! We do this mostly to determine falling behaviour and make sure we're moving to valid tiles
on_movedWe just moved, so check if we're still moving right
+

Var Details

cliff_grinders + + + + +

+

Who are currently falling and with which movemanager?

Proc Details

check_move +

+

Check if we can move! We do this mostly to determine falling behaviour and make sure we're moving to valid tiles

on_moved +

+

We just moved, so check if we're still moving right

+ + + diff --git a/datum/controller/subsystem/pai.html b/datum/controller/subsystem/pai.html new file mode 100644 index 00000000000..6aae3edae78 --- /dev/null +++ b/datum/controller/subsystem/pai.html @@ -0,0 +1,69 @@ + + + + + + + /datum/controller/subsystem/pai - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pai + + + +

+ + + + + + +

Vars

candidatesList of pAI candidates, including those not submitted.
pai_card_listAll pAI cards on the map.
submit_spamPrevents a pAI from submitting itself repeatedly and sounding an alert.

Procs

recruit_windowThis is the primary window proc when the pAI candidate +hud menu is pressed by observers.
submit_alertSearches for a previous candidate upon opening the menu +Pings all pAI cards on the station that new candidates are available.
+

Var Details

candidates + + + + +

+

List of pAI candidates, including those not submitted.

pai_card_list + + + + +

+

All pAI cards on the map.

submit_spam + + + + +

+

Prevents a pAI from submitting itself repeatedly and sounding an alert.

Proc Details

recruit_window +

+

This is the primary window proc when the pAI candidate +hud menu is pressed by observers.

+

@params {mob} user The ghost doing the pressing.

submit_alert +

+

Searches for a previous candidate upon opening the menu +Pings all pAI cards on the station that new candidates are available.

+ + + diff --git a/datum/controller/subsystem/parallax.html b/datum/controller/subsystem/parallax.html new file mode 100644 index 00000000000..395474d57e0 --- /dev/null +++ b/datum/controller/subsystem/parallax.html @@ -0,0 +1,64 @@ + + + + + + + /datum/controller/subsystem/parallax - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

parallax + + + +

+ + + + + + +

Vars

random_layerA random parallax layer that we sent to every player
random_parallax_weightsWeighted list with the parallax layers we could spawn

Procs

post_station_setupCalled at the end of SSstation setup, in-case we want to run some code that would otherwise be too early to run (like GLOB. stuff)
set_random_parallax_layerGenerate a random layer for parallax
swap_out_random_parallax_layerChange the random parallax layer after it's already been set. update_player_huds = TRUE will also replace them in the players client images, if it was set
+

Var Details

random_layer + + + + +

+

A random parallax layer that we sent to every player

random_parallax_weights + + + + +

+

Weighted list with the parallax layers we could spawn

Proc Details

post_station_setup +

+

Called at the end of SSstation setup, in-case we want to run some code that would otherwise be too early to run (like GLOB. stuff)

set_random_parallax_layer +

+

Generate a random layer for parallax

swap_out_random_parallax_layer +

+

Change the random parallax layer after it's already been set. update_player_huds = TRUE will also replace them in the players client images, if it was set

+ + + diff --git a/datum/controller/subsystem/pathfinder.html b/datum/controller/subsystem/pathfinder.html new file mode 100644 index 00000000000..0683a549b47 --- /dev/null +++ b/datum/controller/subsystem/pathfinder.html @@ -0,0 +1,125 @@ + + + + + + + /datum/controller/subsystem/pathfinder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pathfinder + + + +

+ + + + + + + + + + + + + +

Vars

active_pathingList of pathfind datums we are currently trying to process
currentmapsList of uncheccked source_to_map entries
currentrunList of pathfind datums being ACTIVELY processed. exists to make subsystem stats readable
source_to_mapsAssoc list of target turf -> list(/datum/path_map) centered on the turf

Procs

build_mapInitiates a SSSP run. Returns true if we're good, FALSE if something's failed
can_pass_build_mapInitiates a SSSP run from a pass_info datum. Returns true if we're good, FALSE if something's failed
get_valid_mapTakes a set of pathfind info, returns the first valid pathmap that would work if one exists +Optionally takes a max age to accept (defaults to 0 seconds) and a minimum acceptable range +If include_building is true and we can only find a building path, ew'll use that instead. tho we will wait for it to finish first
get_valid_mapsBackup return value used if no finished pathmaps are found +Takes a set of pathfind info, returns all valid pathmaps that would work +Takes an optional minimum range arg
path_map_cacheCaches the passed in path_map, allowing for reuse in future
pathfindInitiates a pathfind. Returns true if we're good, FALSE if something's failed
run_pathfindBegins to handle a pathfinding run based off the input /datum/pathfind datum +You should not use this, it exists to allow for shenanigans. You do not know how to do shenanigans
swarmed_pathfindInitiates a swarmed pathfind. Returns TRUE if we're good, FALSE if something's failed +If a valid pathmap exists for the TARGET turf we'll use that, otherwise we have to build a new one
+

Var Details

active_pathing + + + + +

+

List of pathfind datums we are currently trying to process

currentmaps + + + + +

+

List of uncheccked source_to_map entries

currentrun + + + + +

+

List of pathfind datums being ACTIVELY processed. exists to make subsystem stats readable

source_to_maps + + + + +

+

Assoc list of target turf -> list(/datum/path_map) centered on the turf

Proc Details

build_map +

+

Initiates a SSSP run. Returns true if we're good, FALSE if something's failed

can_pass_build_map +

+

Initiates a SSSP run from a pass_info datum. Returns true if we're good, FALSE if something's failed

get_valid_map +

+

Takes a set of pathfind info, returns the first valid pathmap that would work if one exists +Optionally takes a max age to accept (defaults to 0 seconds) and a minimum acceptable range +If include_building is true and we can only find a building path, ew'll use that instead. tho we will wait for it to finish first

get_valid_maps +

+

Backup return value used if no finished pathmaps are found +Takes a set of pathfind info, returns all valid pathmaps that would work +Takes an optional minimum range arg

path_map_cache +

+

Caches the passed in path_map, allowing for reuse in future

pathfind +

+

Initiates a pathfind. Returns true if we're good, FALSE if something's failed

run_pathfind +

+

Begins to handle a pathfinding run based off the input /datum/pathfind datum +You should not use this, it exists to allow for shenanigans. You do not know how to do shenanigans

swarmed_pathfind +

+

Initiates a swarmed pathfind. Returns TRUE if we're good, FALSE if something's failed +If a valid pathmap exists for the TARGET turf we'll use that, otherwise we have to build a new one

+ + + diff --git a/datum/controller/subsystem/persistence.html b/datum/controller/subsystem/persistence.html new file mode 100644 index 00000000000..b6b00cb781e --- /dev/null +++ b/datum/controller/subsystem/persistence.html @@ -0,0 +1,239 @@ + + + + + + + /datum/controller/subsystem/persistence - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

persistence + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

prison_tattoos_to_savetattoo stories that we're saving.
prison_tattoos_to_usetattoo stories that have been selected for this round.
saved_engravingsall saved persistent engravings loaded from JSON
wall_engravingsinstantiated wall engraving components

Procs

collect_dataCollects all data to persist.
collect_mapsUpdates the list of the most recent maps.
collect_trophiesCollects trophies from all existing trophy cases.
get_photo_albumsLoads up the photo album source file.
get_photo_framesLoads up the photo frames source file.
load_custom_outfitsLoads the custom outfits of every admin.
load_photo_persistenceLoads photo albums, and populates them; also loads and applies frames to picture frames.
load_polyLoads up Poly's speech buffer.
load_prisoner_tattoosLoads all tattoos, and select a few based on the amount of prisoner spawn positions.
load_randomized_recipesLoads all randomized recipes.
load_recent_mapsLoads up the amount of times maps appeared to alter their appearance in voting and rotation.
load_trophiesLoads the trophies from the source file, and places a few in trophy display cases.
load_wall_engravingsLoads all engravings, and places a select amount in maintenance and the prison.
remove_duplicate_trophiesgets the list of json trophies, and deletes the ones with an identical path and message
remove_photo_framesRemoves the identifier of a persistent photo frame from the json.
save_custom_outfitsSaves each admin's custom outfit list
save_photo_persistenceSaves the contents of photo albums and the picture frames.
save_prisoner_tattoosSaves all tattoos, so they can appear on prisoners in future rounds
save_randomized_recipesSaves all randomized recipes.
save_scarsSaves all scars for everyone's original characters
save_trophyIf there is a trophy in the trophy case, saved it, if the trophy was not a holo trophy and has a message attached.
save_wall_engravingsSaves all new engravings in the world.
set_up_trophiesPuts trophies into trophy cases.
trophy_ui_dataReturns a list for the admin trophy panel.
update_prisoner_tattoosThis proc can update entries if the format has changed at some point.
update_wall_engravingsThis proc can update entries if the format has changed at some point.
+

Var Details

prison_tattoos_to_save + + + + +

+

tattoo stories that we're saving.

prison_tattoos_to_use + + + + +

+

tattoo stories that have been selected for this round.

saved_engravings + + + + +

+

all saved persistent engravings loaded from JSON

wall_engravings + + + + +

+

instantiated wall engraving components

Proc Details

collect_data +

+

Collects all data to persist.

collect_maps +

+

Updates the list of the most recent maps.

collect_trophies +

+

Collects trophies from all existing trophy cases.

get_photo_albums +

+

Loads up the photo album source file.

get_photo_frames +

+

Loads up the photo frames source file.

load_custom_outfits +

+

Loads the custom outfits of every admin.

load_photo_persistence +

+

Loads photo albums, and populates them; also loads and applies frames to picture frames.

load_poly +

+

Loads up Poly's speech buffer.

load_prisoner_tattoos +

+

Loads all tattoos, and select a few based on the amount of prisoner spawn positions.

load_randomized_recipes +

+

Loads all randomized recipes.

load_recent_maps +

+

Loads up the amount of times maps appeared to alter their appearance in voting and rotation.

load_trophies +

+

Loads the trophies from the source file, and places a few in trophy display cases.

load_wall_engravings +

+

Loads all engravings, and places a select amount in maintenance and the prison.

remove_duplicate_trophies +

+

gets the list of json trophies, and deletes the ones with an identical path and message

remove_photo_frames +

+

Removes the identifier of a persistent photo frame from the json.

save_custom_outfits +

+

Saves each admin's custom outfit list

save_photo_persistence +

+

Saves the contents of photo albums and the picture frames.

save_prisoner_tattoos +

+

Saves all tattoos, so they can appear on prisoners in future rounds

save_randomized_recipes +

+

Saves all randomized recipes.

save_scars +

+

Saves all scars for everyone's original characters

save_trophy +

+

If there is a trophy in the trophy case, saved it, if the trophy was not a holo trophy and has a message attached.

save_wall_engravings +

+

Saves all new engravings in the world.

set_up_trophies +

+

Puts trophies into trophy cases.

trophy_ui_data +

+

Returns a list for the admin trophy panel.

update_prisoner_tattoos +

+

This proc can update entries if the format has changed at some point.

update_wall_engravings +

+

This proc can update entries if the format has changed at some point.

+ + + diff --git a/datum/controller/subsystem/persistent_paintings.html b/datum/controller/subsystem/persistent_paintings.html new file mode 100644 index 00000000000..76be867da4d --- /dev/null +++ b/datum/controller/subsystem/persistent_paintings.html @@ -0,0 +1,122 @@ + + + + + + + /datum/controller/subsystem/persistent_paintings - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

persistent_paintings + + + +

+ + + + + + + + + + + + + +

Vars

admin_painting_dataA list of paintings' data for paintings that are currently stored in the library, with admin metadata
cached_painting_dataA list of paintings' data for paintings that are currently stored in the library.
deleted_paintings_md5sHashes of paintings deleted this round
frame_types_by_patronage_tierThe list of available frame reskins (they are purely cosmetic) and the associated patronage amount required for them.
painting_framesA list of painting frames that this controls
paintingsA list of /datum/paintings saved or ready to be saved this round.

Procs

get_available_framesreturns a list of cosmetic frames which patronage tier values are are within credit_value. +If only_current_tier is TRUE, the list will be populated only by the ones from the highest tier.
get_paintings_with_tagReturns paintings with given tag.
painting_ui_dataGenerates painting data ready to be consumed by ui. +Args:
save_paintingsSaves all persistent paintings
save_to_fileSaves all currently tracked painting data to file
update_formatUpdates paintings data format to latest if necessary
+

Var Details

admin_painting_data + + + + +

+

A list of paintings' data for paintings that are currently stored in the library, with admin metadata

cached_painting_data + + + + +

+

A list of paintings' data for paintings that are currently stored in the library.

deleted_paintings_md5s + + + + +

+

Hashes of paintings deleted this round

frame_types_by_patronage_tier + + + + +

+

The list of available frame reskins (they are purely cosmetic) and the associated patronage amount required for them.

painting_frames + + + + +

+

A list of painting frames that this controls

paintings + + + + +

+

A list of /datum/paintings saved or ready to be saved this round.

Proc Details

get_available_frames +

+

returns a list of cosmetic frames which patronage tier values are are within credit_value. +If only_current_tier is TRUE, the list will be populated only by the ones from the highest tier.

get_paintings_with_tag +

+

Returns paintings with given tag.

painting_ui_data +

+

Generates painting data ready to be consumed by ui. +Args:

+

save_paintings +

+

Saves all persistent paintings

save_to_file +

+

Saves all currently tracked painting data to file

update_format +

+

Updates paintings data format to latest if necessary

+ + + diff --git a/datum/controller/subsystem/points_of_interest.html b/datum/controller/subsystem/points_of_interest.html new file mode 100644 index 00000000000..0bbab1709b3 --- /dev/null +++ b/datum/controller/subsystem/points_of_interest.html @@ -0,0 +1,133 @@ + + + + + + + /datum/controller/subsystem/points_of_interest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

points_of_interest + + + +

+ + + + + + + + + + + + + + +

Vars

mob_points_of_interestList of mob POIs. This list is automatically sorted.
narsiesSpecial helper list to track any Nar'sies.
other_points_of_interestList of non-mob POIs. This list is automatically sorted.
points_of_interest_by_target_refList of all value:POI datums by their key:target refs.
real_nuclear_disksSpecial helper list of all real nuke disks.

Procs

get_mob_poisReturns a list of mob POIs with names as keys and mobs as values.
get_other_poisReturns a list of non-mob POIs with names as keys and atoms as values.
get_poi_atom_by_refIf there is a valid POI for a given reference, it returns that POI's associated atom. Otherwise, it returns null.
is_valid_poiReturns TRUE if potential_poi has an associated poi_datum that validates.
make_point_of_interestTurns new_poi into a new point of interest by adding the /datum/element/point_of_interest element to it.
on_poi_element_addedCalled by /datum/element/point_of_interest when it gets removed from old_poi.
on_poi_element_removedCalled by /datum/element/point_of_interest when it gets removed from old_poi.
remove_point_of_interestStops old_poi from being a point of interest by removing the /datum/element/point_of_interest element from it.
+

Var Details

mob_points_of_interest + + + + +

+

List of mob POIs. This list is automatically sorted.

narsies + + + + +

+

Special helper list to track any Nar'sies.

other_points_of_interest + + + + +

+

List of non-mob POIs. This list is automatically sorted.

points_of_interest_by_target_ref + + + + +

+

List of all value:POI datums by their key:target refs.

real_nuclear_disks + + + + +

+

Special helper list of all real nuke disks.

Proc Details

get_mob_pois +

+

Returns a list of mob POIs with names as keys and mobs as values.

+

If multiple POIs have the same name, then avoid_assoc_duplicate_keys is used alongside used_name_list to +tag them as Mob Name (1), Mob Name (2), Mob Name (3) etc.

+

Arguments:

+

get_other_pois +

+

Returns a list of non-mob POIs with names as keys and atoms as values.

+

If multiple POIs have the same name, then avoid_assoc_duplicate_keys is used alongside used_name_list to +tag them as Object Name (1), Object Name (2), Object Name (3) etc.

+

Arguments:

+

get_poi_atom_by_ref +

+

If there is a valid POI for a given reference, it returns that POI's associated atom. Otherwise, it returns null.

is_valid_poi +

+

Returns TRUE if potential_poi has an associated poi_datum that validates.

make_point_of_interest +

+

Turns new_poi into a new point of interest by adding the /datum/element/point_of_interest element to it.

on_poi_element_added +

+

Called by /datum/element/point_of_interest when it gets removed from old_poi.

on_poi_element_removed +

+

Called by /datum/element/point_of_interest when it gets removed from old_poi.

remove_point_of_interest +

+

Stops old_poi from being a point of interest by removing the /datum/element/point_of_interest element from it.

+ + + diff --git a/datum/controller/subsystem/processing/ai_behaviors.html b/datum/controller/subsystem/processing/ai_behaviors.html new file mode 100644 index 00000000000..685ef58826d --- /dev/null +++ b/datum/controller/subsystem/processing/ai_behaviors.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/processing/ai_behaviors - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai_behaviors + + + +

+ + + +

Vars

ai_behaviorsList of all ai_behavior singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors()
targeting_strategiesList of all targeting_strategy singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors()
+

Var Details

ai_behaviors + + + + +

+

List of all ai_behavior singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors()

targeting_strategies + + + + +

+

List of all targeting_strategy singletons, key is the typepath while assigned value is a newly created instance of the typepath. See SetupAIBehaviors()

+ + + diff --git a/datum/controller/subsystem/processing/dcs.html b/datum/controller/subsystem/processing/dcs.html new file mode 100644 index 00000000000..fcd0f12bf68 --- /dev/null +++ b/datum/controller/subsystem/processing/dcs.html @@ -0,0 +1,84 @@ + + + + + + + /datum/controller/subsystem/processing/dcs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dcs + + + +

+ + + + + + +

Vars

arguments_that_are_lists_by_elementA nested assoc list of bespoke element types (keys) and superlists containing all lists used as arguments (values). +Inside the superlists, lists that've been sorted alphabetically are keys, while the original unsorted lists are values.
sorted_arguments_that_are_listsAn assoc list of list instances and their sorted counterparts.

Procs

GetIdFromArgumentsGenerates an id for bespoke elements when given the argument list +Generating the id here is a bit complex because we need to support named arguments +Named arguments can appear in any order and we need them to appear after ordered arguments +We assume that no one will pass in a named argument with a value of null
add_to_arguments_that_are_listsOffloading the first half of the dcs_check_list_arguments here, which is populating the superlist +with sublists that will be later compared with each other by the dcs_check_list_arguments unit test.
rotate_decalsRemove old decals and apply new decals after rotation as necessary
+

Var Details

arguments_that_are_lists_by_element + + + + +

+

A nested assoc list of bespoke element types (keys) and superlists containing all lists used as arguments (values). +Inside the superlists, lists that've been sorted alphabetically are keys, while the original unsorted lists are values.

+

e.g. list( +/datum/element/first = list(list(A, B, C) = list(B, A, C), list(A, B) = list(A, B)), +/datum/element/second = list(list(B, C) = list(C, B), list(D) = list(D)), +)

+

Used by the dcs_check_list_arguments unit test.

sorted_arguments_that_are_lists + + + + +

+

An assoc list of list instances and their sorted counterparts.

+

e.g. list( +list(B, A, C) = list(A, B, C), +list(C, B) = list(B, C), +)

+

Used to make sure each list instance is sorted no more than once, or the unit test won't work.

Proc Details

GetIdFromArguments +

+

Generates an id for bespoke elements when given the argument list +Generating the id here is a bit complex because we need to support named arguments +Named arguments can appear in any order and we need them to appear after ordered arguments +We assume that no one will pass in a named argument with a value of null

add_to_arguments_that_are_lists +

+

Offloading the first half of the dcs_check_list_arguments here, which is populating the superlist +with sublists that will be later compared with each other by the dcs_check_list_arguments unit test.

rotate_decals +

+

Remove old decals and apply new decals after rotation as necessary

+ + + diff --git a/datum/controller/subsystem/processing/instruments.html b/datum/controller/subsystem/processing/instruments.html new file mode 100644 index 00000000000..2872e425cb9 --- /dev/null +++ b/datum/controller/subsystem/processing/instruments.html @@ -0,0 +1,85 @@ + + + + + + + /datum/controller/subsystem/processing/instruments - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

instruments + + + +

+ + + + + + + + + +

Vars

current_instrument_channelsCurrent number of channels allocated for instruments
instrument_dataList of all instrument data, associative id = datum
max_instrument_channelsMaximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.
musician_hearcheck_mindelayDeciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.
musician_maxlinecharsMax characters per line in songs
musician_maxlinesMax lines in songs
songsList of all song datums.
synthesizer_instrument_idsSingle cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.
+

Var Details

current_instrument_channels + + + + +

+

Current number of channels allocated for instruments

instrument_data + + + + +

+

List of all instrument data, associative id = datum

max_instrument_channels + + + + +

+

Maximum instrument channels total instruments are allowed to use. This is so you don't have instruments deadlocking all sound channels.

musician_hearcheck_mindelay + + + + +

+

Deciseconds between hearchecks. Too high and instruments seem to lag when people are moving around in terms of who can hear it. Too low and the server lags from this.

musician_maxlinechars + + + + +

+

Max characters per line in songs

musician_maxlines + + + + +

+

Max lines in songs

songs + + + + +

+

List of all song datums.

synthesizer_instrument_ids + + + + +

+

Single cached list for synthesizer instrument ids, so you don't have to have a new list with every synthesizer.

+ + + diff --git a/datum/controller/subsystem/processing/quirks.html b/datum/controller/subsystem/processing/quirks.html new file mode 100644 index 00000000000..2c071a96959 --- /dev/null +++ b/datum/controller/subsystem/processing/quirks.html @@ -0,0 +1,58 @@ + + + + + + + /datum/controller/subsystem/processing/quirks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

quirks + + + +

+ + + + +

Vars

hardcore_quirksAn assoc list of quirks that can be obtained as a hardcore character, and their hardcore value.

Procs

filter_invalid_quirksCached list of possible quirks +Takes a list of quirk names and returns a new list of quirks that would +be valid. +If no changes need to be made, will return the same list. +Expects all quirk names to be unique, but makes no other expectations.
get_quirksReturns the list of possible quirks
+

Var Details

hardcore_quirks + + + + +

+

An assoc list of quirks that can be obtained as a hardcore character, and their hardcore value.

Proc Details

filter_invalid_quirks +

+

Cached list of possible quirks +Takes a list of quirk names and returns a new list of quirks that would +be valid. +If no changes need to be made, will return the same list. +Expects all quirk names to be unique, but makes no other expectations.

get_quirks +

+

Returns the list of possible quirks

+ + + diff --git a/datum/controller/subsystem/processing/reagents.html b/datum/controller/subsystem/processing/reagents.html new file mode 100644 index 00000000000..ed8cc20b7a8 --- /dev/null +++ b/datum/controller/subsystem/processing/reagents.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/processing/reagents - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagents + + + +

+ + + +

Vars

previous_world_timeWhat time was it when we last ticked

Procs

fireBlacklists these reagents from being added to the master list. the exact type only. Children are not blacklisted.
+

Var Details

previous_world_time + + + + +

+

What time was it when we last ticked

Proc Details

fire +

+

Blacklists these reagents from being added to the master list. the exact type only. Children are not blacklisted.

+ + + diff --git a/datum/controller/subsystem/processing/station.html b/datum/controller/subsystem/processing/station.html new file mode 100644 index 00000000000..fe8005527d7 --- /dev/null +++ b/datum/controller/subsystem/processing/station.html @@ -0,0 +1,73 @@ + + + + + + + /datum/controller/subsystem/processing/station - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

station + + + +

+ + + + + + + +

Vars

announcerCurrently active announcer. Starts as a type but gets initialized after traits are selected
selectable_traits_by_typesAssoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.
station_traitsA list of currently active station traits

Procs

display_lobby_traitsUpdate station trait lobby buttons for clients who joined before we initialised this subsystem
pick_traitsPicks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them, adds them to the list of traits, +then removes them from possible traits as to not roll twice.
setup_traitCreates a given trait of a specific type, while also removing any blacklisted ones from the future pool.
+

Var Details

announcer + + + + +

+

Currently active announcer. Starts as a type but gets initialized after traits are selected

selectable_traits_by_types + + + + +

+

Assoc list of trait type || assoc list of traits with weighted value. Used for picking traits from a specific category.

station_traits + + + + +

+

A list of currently active station traits

Proc Details

display_lobby_traits +

+

Update station trait lobby buttons for clients who joined before we initialised this subsystem

pick_traits +

+

Picks traits of a specific category (e.g. bad or good) and a specified amount, then initializes them, adds them to the list of traits, +then removes them from possible traits as to not roll twice.

setup_trait +

+

Creates a given trait of a specific type, while also removing any blacklisted ones from the future pool.

+ + + diff --git a/datum/controller/subsystem/processing/supermatter_cascade.html b/datum/controller/subsystem/processing/supermatter_cascade.html new file mode 100644 index 00000000000..11fdfbf4d78 --- /dev/null +++ b/datum/controller/subsystem/processing/supermatter_cascade.html @@ -0,0 +1,36 @@ + + + + + + + /datum/controller/subsystem/processing/supermatter_cascade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supermatter_cascade + + + +

+ + +

Vars

cascade_initiatedIs a cascade happening right now?
+

Var Details

cascade_initiated + + + + +

+

Is a cascade happening right now?

+ + + diff --git a/datum/controller/subsystem/processing/transport.html b/datum/controller/subsystem/processing/transport.html new file mode 100644 index 00000000000..cdb90a2971c --- /dev/null +++ b/datum/controller/subsystem/processing/transport.html @@ -0,0 +1,139 @@ + + + + + + + /datum/controller/subsystem/processing/transport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

transport + + + +

+ + + + + + + + + + + + +

Vars

can_fireonly used on maps with trams, so only enabled by such.
max_cheap_moveshow many times the tram can move costing less than half max_time milliseconds before we speed it back up again. +is only used if the tram has been slowed down for exceeding max_time
max_exceeding_moveshow many times the tram can move costing over max_time milliseconds before it gets slowed down
max_timehow much time a tram can take per movement before we notify admins and slow down the tram. in milliseconds
transports_by_typeassociative list of the form: list(lift_id = list(all transport_controller datums attached to lifts of that type))

Procs

detailed_destination_listGive a list of destinations to the tram controls
dispatch_transportDispatches the transport on a validated trip
helloRegisters the subsystem to listen for incoming requests from paired devices
incoming_requestPerforms the request received from a registered transport device
pre_departurePre-departure checks for the tram
validate_and_dispatchOperational checks, then start moving
+

Var Details

can_fire + + + + +

+

only used on maps with trams, so only enabled by such.

max_cheap_moves + + + + +

+

how many times the tram can move costing less than half max_time milliseconds before we speed it back up again. +is only used if the tram has been slowed down for exceeding max_time

max_exceeding_moves + + + + +

+

how many times the tram can move costing over max_time milliseconds before it gets slowed down

max_time + + + + +

+

how much time a tram can take per movement before we notify admins and slow down the tram. in milliseconds

transports_by_type + + + + +

+

associative list of the form: list(lift_id = list(all transport_controller datums attached to lifts of that type))

Proc Details

detailed_destination_list +

+

Give a list of destinations to the tram controls

dispatch_transport +

+

Dispatches the transport on a validated trip

+

The subsystem at this point has confirmed a valid trip +Start the transport, wake up machinery running on +the subsystem (signals, etc.)

+

Make tram go, basically.

+

Arguments: transport_controller: the transport controller datum we're giving orders to +destination: destination we're sending it to +request_flags: additional flags for the request (ie: bypass doors, emagged request)

hello +

+

Registers the subsystem to listen for incoming requests from paired devices

+

When a new device (such as a button, tram, signal etc) comes online +it calls this proc with the subsystem enabling two-way communication using +signals.

+

Arguments: new_unit: the starting point to find a beacon +unit_name: the friendly name of this device +id_tag: a unique identifier for this device, set on init

incoming_request +

+

Performs the request received from a registered transport device

+

Currently the only supported request type is tram dispatch +so there's no var for what type of request it is

+

The subsystem will validate and process, then send a success +or fail response to the device that made the request, +with info relevant to the request such as destination +or error details (if the request is rejected/fails)

+

Arguments: source: the device sending the request +transport_id: the transport this request is for, such as tram line 1 or 2 +platform: the requested destination to dispatch the tram +options: additional flags for the request (ie: bypass doors, emagged request)

pre_departure +

+

Pre-departure checks for the tram

+

We do things slighly different based on the request_flags such as +door crushing, emag related things

+

Arguments: transport_controller: the transport controller datum we're giving orders to +request_flags: additional flags for the request (ie: bypass doors, emagged request)

validate_and_dispatch +

+

Operational checks, then start moving

+

Some check failures aren't worth halting the tram for, like no blocking the doors forever +Crush them instead!

+

Arguments: transport_controller: the transport controller datum we're giving orders to +attempt: how many attempts to start moving we've made

+ + + diff --git a/datum/controller/subsystem/queuelinks.html b/datum/controller/subsystem/queuelinks.html new file mode 100644 index 00000000000..0afbe897369 --- /dev/null +++ b/datum/controller/subsystem/queuelinks.html @@ -0,0 +1,45 @@ + + + + + + + /datum/controller/subsystem/queuelinks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

queuelinks + + + +

+ + + +

Vars

queuesassoc list of pending queues, id = /datum/queue_link

Procs

add_to_queueCreates or adds to a queue with the id supplied, if the queue is now or above the size of the queue, calls MatchedLinks and clears queue. +queues with a size of 0 wait never pop until something is added with an actual queue_max
+

Var Details

queues + + + + +

+

assoc list of pending queues, id = /datum/queue_link

Proc Details

add_to_queue +

+

Creates or adds to a queue with the id supplied, if the queue is now or above the size of the queue, calls MatchedLinks and clears queue. +queues with a size of 0 wait never pop until something is added with an actual queue_max

+ + + diff --git a/datum/controller/subsystem/radiation.html b/datum/controller/subsystem/radiation.html new file mode 100644 index 00000000000..35274db57c3 --- /dev/null +++ b/datum/controller/subsystem/radiation.html @@ -0,0 +1,71 @@ + + + + + + + /datum/controller/subsystem/radiation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radiation + + + +

+ + + + + +

Vars

processingA list of radiation sources (/datum/radiation_pulse_information) that have yet to process. +Do not interact with this directly, use radiation_pulse instead.

Procs

can_irradiate_basicReturns whether or not the target can be irradiated by any means. +Does not check for clothing.
irradiatePerceived chance of target getting irradiated. +Intensity variable which will describe the radiation pulse. +It is used by perceived intensity, which diminishes over range. The chance of the target getting irradiated is determined by perceived_intensity. +Intensity is calculated so that the chance of getting irradiated at half of the max range is the same as the chance parameter. +Diminishes over range. Used by perceived chance, which is the actual chance to get irradiated. +Will attempt to irradiate the given target, limited through IC means, such as radiation protected clothing.
wearing_rad_protected_clothingReturns whether or not the human is covered head to toe in rad-protected clothing.
+

Var Details

processing + + + + +

+

A list of radiation sources (/datum/radiation_pulse_information) that have yet to process. +Do not interact with this directly, use radiation_pulse instead.

Proc Details

can_irradiate_basic +

+

Returns whether or not the target can be irradiated by any means. +Does not check for clothing.

irradiate +

+

Perceived chance of target getting irradiated. +Intensity variable which will describe the radiation pulse. +It is used by perceived intensity, which diminishes over range. The chance of the target getting irradiated is determined by perceived_intensity. +Intensity is calculated so that the chance of getting irradiated at half of the max range is the same as the chance parameter. +Diminishes over range. Used by perceived chance, which is the actual chance to get irradiated. +Will attempt to irradiate the given target, limited through IC means, such as radiation protected clothing.

wearing_rad_protected_clothing +

+

Returns whether or not the human is covered head to toe in rad-protected clothing.

+ + + diff --git a/datum/controller/subsystem/radioactive_nebula.html b/datum/controller/subsystem/radioactive_nebula.html new file mode 100644 index 00000000000..49b3241b86d --- /dev/null +++ b/datum/controller/subsystem/radioactive_nebula.html @@ -0,0 +1,49 @@ + + + + + + + /datum/controller/subsystem/radioactive_nebula - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

radioactive_nebula + + + +

+ + + + +

Procs

fake_irradiateMakes something appear irradiated for the purposes of the Radioactive Nebula
fake_unirradiateRemove the fake radiation. The compontent we add to mobs handles its own removal
irradiate_everythingLoop through radioactive space (with lag checks) and make it all radioactive!

Proc Details

fake_irradiate +

+

Makes something appear irradiated for the purposes of the Radioactive Nebula

fake_unirradiate +

+

Remove the fake radiation. The compontent we add to mobs handles its own removal

irradiate_everything +

+

Loop through radioactive space (with lag checks) and make it all radioactive!

+ + + diff --git a/datum/controller/subsystem/research.html b/datum/controller/subsystem/research.html new file mode 100644 index 00000000000..a777b2192d6 --- /dev/null +++ b/datum/controller/subsystem/research.html @@ -0,0 +1,152 @@ + + + + + + + /datum/controller/subsystem/research - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

research + + + +

+ + + + + + + + + + + + + + + + + +

Vars

anomaly_hard_limit_by_typeThe hard limits of cores created for each anomaly type. For faster code lookup without switch statements.
created_anomaly_typesThe global list of raw anomaly types that have been refined, for hard limits.
invalid_design_idsassociative id = number of times
invalid_node_boostassociative id = error message
invalid_node_idsassociative id = number of times
ordnance_experimentsLookup list for ordnance briefers.
scientific_partnersLookup list for scipaper partners.
techweb_categoriescategory name = list(node.id = TRUE)
techweb_nodes_experimentalNode ids that are exclusive to the BEPIS.
techweb_nodes_hiddenNode ids that should be hidden by default.
techweb_nodes_startingassociative id = TRUE
techweb_point_itemspath = list(point type = value)
techweb_unlock_itemsList of all items that can unlock a node. (node.id = list(items))
techwebsList of all techwebs, generating points or not. +Autolathes, Mechfabs, and others all have shared techwebs, for example.

Procs

find_valid_serversGoes through an individual techweb's servers and finds one on a valid z-level +Returns a list of existing ones, or an empty list otherwise. +Args:
get_available_serversGoes through all techwebs and goes through their servers to find ones on a valid z-level +Returns the full list of all techweb servers.
+

Var Details

anomaly_hard_limit_by_type + + + + +

+

The hard limits of cores created for each anomaly type. For faster code lookup without switch statements.

created_anomaly_types + + + + +

+

The global list of raw anomaly types that have been refined, for hard limits.

invalid_design_ids + + + + +

+

associative id = number of times

invalid_node_boost + + + + +

+

associative id = error message

invalid_node_ids + + + + +

+

associative id = number of times

ordnance_experiments + + + + +

+

Lookup list for ordnance briefers.

scientific_partners + + + + +

+

Lookup list for scipaper partners.

techweb_categories + + + + +

+

category name = list(node.id = TRUE)

techweb_nodes_experimental + + + + +

+

Node ids that are exclusive to the BEPIS.

techweb_nodes_hidden + + + + +

+

Node ids that should be hidden by default.

techweb_nodes_starting + + + + +

+

associative id = TRUE

techweb_point_items + + + + +

+

path = list(point type = value)

techweb_unlock_items + + + + +

+

List of all items that can unlock a node. (node.id = list(items))

techwebs + + + + +

+

List of all techwebs, generating points or not. +Autolathes, Mechfabs, and others all have shared techwebs, for example.

Proc Details

find_valid_servers +

+

Goes through an individual techweb's servers and finds one on a valid z-level +Returns a list of existing ones, or an empty list otherwise. +Args:

+

get_available_servers +

+

Goes through all techwebs and goes through their servers to find ones on a valid z-level +Returns the full list of all techweb servers.

+ + + diff --git a/datum/controller/subsystem/restaurant.html b/datum/controller/subsystem/restaurant.html new file mode 100644 index 00000000000..5b9022634d2 --- /dev/null +++ b/datum/controller/subsystem/restaurant.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/restaurant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

restaurant + + + +

+ + + + +

Vars

all_customersAll customer data datums that exist, assoc list of type - reference
all_venuesAll venues that exist, assoc list of type - reference
food_appearance_cacheCaches appearances of food, assoc list where key is the type of food, and value is the appearance. Used so we don't have to keep creating new food. Gets filled whenever a new food that hasn't been ordered gets ordered for the first time.
+

Var Details

all_customers + + + + +

+

All customer data datums that exist, assoc list of type - reference

all_venues + + + + +

+

All venues that exist, assoc list of type - reference

food_appearance_cache + + + + +

+

Caches appearances of food, assoc list where key is the type of food, and value is the appearance. Used so we don't have to keep creating new food. Gets filled whenever a new food that hasn't been ordered gets ordered for the first time.

+ + + diff --git a/datum/controller/subsystem/security_level.html b/datum/controller/subsystem/security_level.html new file mode 100644 index 00000000000..8c1cbd1c2eb --- /dev/null +++ b/datum/controller/subsystem/security_level.html @@ -0,0 +1,91 @@ + + + + + + + /datum/controller/subsystem/security_level - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

security_level + + + +

+ + + + + + + + +

Vars

available_levelsA list of initialised security level datums.
current_security_levelCurrently set security level

Procs

get_current_level_as_numberReturns the current security level as a number
get_current_level_as_textReturns the current security level as text
number_level_to_textConverts a number security level to a text
set_levelSets a new security level as our current level
text_level_to_numberConverts a text security level to a number
+

Var Details

available_levels + + + + +

+

A list of initialised security level datums.

current_security_level + + + + +

+

Currently set security level

Proc Details

get_current_level_as_number +

+

Returns the current security level as a number

get_current_level_as_text +

+

Returns the current security level as text

number_level_to_text +

+

Converts a number security level to a text

+

Arguments:

+

set_level +

+

Sets a new security level as our current level

+

This is how everything should change the security level.

+

Arguments:

+

text_level_to_number +

+

Converts a text security level to a number

+

Arguments:

+
+ + + diff --git a/datum/controller/subsystem/server_maint.html b/datum/controller/subsystem/server_maint.html new file mode 100644 index 00000000000..0a480592a2e --- /dev/null +++ b/datum/controller/subsystem/server_maint.html @@ -0,0 +1,43 @@ + + + + + + + /datum/controller/subsystem/server_maint - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

server_maint + + + +

+ + + +

Vars

delayDelay between list clearings in ticks
lists_to_clearAssociated list of list names to lists to clear of nulls
+

Var Details

delay + + + + +

+

Delay between list clearings in ticks

lists_to_clear + + + + +

+

Associated list of list names to lists to clear of nulls

+ + + diff --git a/datum/controller/subsystem/shuttle.html b/datum/controller/subsystem/shuttle.html new file mode 100644 index 00000000000..90aa7fa0cdd --- /dev/null +++ b/datum/controller/subsystem/shuttle.html @@ -0,0 +1,442 @@ + + + + + + + /datum/controller/subsystem/shuttle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_emergency_no_recallDid admins force-prevent the recall of the shuttle?
arrivalsThe mobile docking port of the arrivals shuttle.
assoc_mobileNow it's only for ID generation in /obj/docking_port/mobile/register()
assoc_stationaryNow it's only for ID generation in /obj/docking_port/stationary/register()
backup_shuttleThe mobile docking port of the backup emergency shuttle.
beacon_listA list of all the beacons that can be docked to.
centcom_messageRemarks from CentCom on how well you checked the last order.
chef_groceriesQueued supplies to be purchased for the chef.
discovered_plantsTypepaths for unusual plants we've already sent CentCom, associated with their potencies.
emergencyEmergency shuttle stuff +The mobile docking port of the emergency shuttle.
emergencyCallAmountHow many times was the escape shuttle called?
emergency_call_timeTime taken for emergency shuttle to reach the station when called (in deciseconds).
emergency_dock_timeTime taken for emergency shuttle to leave again once it has docked (in deciseconds).
emergency_escape_timeTime taken for emergency shuttle to reach a safe distance after leaving station (in deciseconds).
emergency_last_call_locWhere was the emergency shuttle last called from?
emergency_no_escapeIs the departure of the shuttle currently prevented? FALSE for no, any other number for yes (thanks shuttle code).
emergency_no_recallDo we prevent the recall of the shuttle?
existing_shuttleThe existing shuttle associated with the selected shuttle map_template.
has_purchase_shuttle_accessA list of job accesses that are able to purchase any shuttles.
hidden_shuttle_turf_imagesOnly the images from the /datum/controller/subsystem/shuttle/hidden_shuttle_turfs list.
hidden_shuttle_turfsAll turfs hidden from navigation computers associated with a list containing the image hiding them and the type of the turf they are pretending to be
hostile_environmentsThings blocking escape shuttle from leaving.
last_call_timePrevious time left to the call, only useful for disabling and re-enabling the shuttle for admins so it doesn't have to start the whole timer again.
last_modePrevious mode of the shuttle before it was forcefully disabled by admins.
lockdownDisallow transit after nuke goes off
mobile_docking_portsA list of all the mobile docking ports.
order_numberOrder number given to next order.
pointsNumber of trade-points we have (basically money).
preview_reservationThe turf reservation for the current previewed shuttle.
preview_shuttleThe docking port associated to the preview_template that's currently being previewed.
preview_templateThe shuttle map_template of the shuttle we want to preview.
request_listWishlist items made by crew for cargo to purchase at their leisure.
selectedThe currently selected shuttle map_template in the shuttle manipulator's template viewer.
shopping_listQueued supply packs to be purchased.
shuttle_insuranceIf the event happens where the crew can purchase shuttle insurance, catastrophe can't run.
shuttle_loadingAre we currently in the process of loading a shuttle? Useful to ensure we don't load more than one at once, to avoid weird inconsistencies and possible runtimes.
shuttle_loanThe current shuttle loan event, if any.
shuttle_purchase_requirements_metFor keeping track of ingame events that would unlock new shuttles, such as defeating a boss or discovering a secret item.
stationary_docking_portsA list of all the stationary docking ports.
supermatter_cascadeDid the supermatter start a cascade event?
supplySupply shuttle stuff +The current cargo shuttle's mobile docking port.
supply_blockedIs the cargo shuttle currently blocked from leaving?
supply_packsAll of the possible supply packs that can be purchased by cargo.
trade_blockadeThings blocking the cargo shuttle from leaving.
transit_docking_portsA list of all the transit docking ports.
transit_request_failuresAn associative list of the mobile docking ports that have failed a transit request, with the amount of times they've actually failed that transit request, up to MAX_TRANSIT_REQUEST_RETRIES
transit_requestersA list of all the mobile docking ports currently requesting a spot in hyperspace.
transit_utilizedHow many turfs our shuttles are currently utilizing in reservation space

Procs

action_loadLoads a shuttle template and sends it to a given destination port, optionally replacing the existing shuttle
call_evac_shuttleCall the emergency shuttle. +If you are doing this on behalf of a player, use requestEvac instead. +signal_origin is fluff occasionally provided to players.
canEvacCheck if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.
load_templateLoads a shuttle template into the transit Z level, usually referred to elsewhere in the code as a shuttle preview. +Does not register the shuttle so it can't be used yet, that's handled in action_load()
moveShuttleMoves a shuttle to a new location
transit_space_clearingGotta manage our space brother
unload_previewRemoves the preview_shuttle from the transit Z-level
+

Var Details

admin_emergency_no_recall + + + + +

+

Did admins force-prevent the recall of the shuttle?

arrivals + + + + +

+

The mobile docking port of the arrivals shuttle.

assoc_mobile + + + + +

+

Now it's only for ID generation in /obj/docking_port/mobile/register()

assoc_stationary + + + + +

+

Now it's only for ID generation in /obj/docking_port/stationary/register()

backup_shuttle + + + + +

+

The mobile docking port of the backup emergency shuttle.

beacon_list + + + + +

+

A list of all the beacons that can be docked to.

centcom_message + + + + +

+

Remarks from CentCom on how well you checked the last order.

chef_groceries + + + + +

+

Queued supplies to be purchased for the chef.

discovered_plants + + + + +

+

Typepaths for unusual plants we've already sent CentCom, associated with their potencies.

emergency + + + + +

+

Emergency shuttle stuff +The mobile docking port of the emergency shuttle.

emergencyCallAmount + + + + +

+

How many times was the escape shuttle called?

emergency_call_time + + + + +

+

Time taken for emergency shuttle to reach the station when called (in deciseconds).

emergency_dock_time + + + + +

+

Time taken for emergency shuttle to leave again once it has docked (in deciseconds).

emergency_escape_time + + + + +

+

Time taken for emergency shuttle to reach a safe distance after leaving station (in deciseconds).

emergency_last_call_loc + + + + +

+

Where was the emergency shuttle last called from?

emergency_no_escape + + + + +

+

Is the departure of the shuttle currently prevented? FALSE for no, any other number for yes (thanks shuttle code).

emergency_no_recall + + + + +

+

Do we prevent the recall of the shuttle?

existing_shuttle + + + + +

+

The existing shuttle associated with the selected shuttle map_template.

has_purchase_shuttle_access + + + + +

+

A list of job accesses that are able to purchase any shuttles.

hidden_shuttle_turf_images + + + + +

+

Only the images from the /datum/controller/subsystem/shuttle/hidden_shuttle_turfs list.

hidden_shuttle_turfs + + + + +

+

All turfs hidden from navigation computers associated with a list containing the image hiding them and the type of the turf they are pretending to be

hostile_environments + + + + +

+

Things blocking escape shuttle from leaving.

last_call_time + + + + +

+

Previous time left to the call, only useful for disabling and re-enabling the shuttle for admins so it doesn't have to start the whole timer again.

last_mode + + + + +

+

Previous mode of the shuttle before it was forcefully disabled by admins.

lockdown + + + + +

+

Disallow transit after nuke goes off

mobile_docking_ports + + + + +

+

A list of all the mobile docking ports.

order_number + + + + +

+

Order number given to next order.

points + + + + +

+

Number of trade-points we have (basically money).

preview_reservation + + + + +

+

The turf reservation for the current previewed shuttle.

preview_shuttle + + + + +

+

The docking port associated to the preview_template that's currently being previewed.

preview_template + + + + +

+

The shuttle map_template of the shuttle we want to preview.

request_list + + + + +

+

Wishlist items made by crew for cargo to purchase at their leisure.

selected + + + + +

+

The currently selected shuttle map_template in the shuttle manipulator's template viewer.

shopping_list + + + + +

+

Queued supply packs to be purchased.

shuttle_insurance + + + + +

+

If the event happens where the crew can purchase shuttle insurance, catastrophe can't run.

shuttle_loading + + + + +

+

Are we currently in the process of loading a shuttle? Useful to ensure we don't load more than one at once, to avoid weird inconsistencies and possible runtimes.

shuttle_loan + + + + +

+

The current shuttle loan event, if any.

shuttle_purchase_requirements_met + + + + +

+

For keeping track of ingame events that would unlock new shuttles, such as defeating a boss or discovering a secret item.

stationary_docking_ports + + + + +

+

A list of all the stationary docking ports.

supermatter_cascade + + + + +

+

Did the supermatter start a cascade event?

supply + + + + +

+

Supply shuttle stuff +The current cargo shuttle's mobile docking port.

supply_blocked + + + + +

+

Is the cargo shuttle currently blocked from leaving?

supply_packs + + + + +

+

All of the possible supply packs that can be purchased by cargo.

trade_blockade + + + + +

+

Things blocking the cargo shuttle from leaving.

transit_docking_ports + + + + +

+

A list of all the transit docking ports.

transit_request_failures + + + + +

+

An associative list of the mobile docking ports that have failed a transit request, with the amount of times they've actually failed that transit request, up to MAX_TRANSIT_REQUEST_RETRIES

transit_requesters + + + + +

+

A list of all the mobile docking ports currently requesting a spot in hyperspace.

transit_utilized + + + + +

+

How many turfs our shuttles are currently utilizing in reservation space

Proc Details

action_load +

+

Loads a shuttle template and sends it to a given destination port, optionally replacing the existing shuttle

+

Arguments:

+

call_evac_shuttle +

+

Call the emergency shuttle. +If you are doing this on behalf of a player, use requestEvac instead. +signal_origin is fluff occasionally provided to players.

canEvac +

+

Check if we can call the evac shuttle. +Returns TRUE if we can. Otherwise, returns a string detailing the problem.

load_template +

+

Loads a shuttle template into the transit Z level, usually referred to elsewhere in the code as a shuttle preview. +Does not register the shuttle so it can't be used yet, that's handled in action_load()

+

Arguments:

+

moveShuttle +

+

Moves a shuttle to a new location

+

Arguments:

+

transit_space_clearing +

+

Gotta manage our space brother

unload_preview +

+

Removes the preview_shuttle from the transit Z-level

+ + + diff --git a/datum/controller/subsystem/skills.html b/datum/controller/subsystem/skills.html new file mode 100644 index 00000000000..1d3c81d84ab --- /dev/null +++ b/datum/controller/subsystem/skills.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/skills - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skills + + + +

+ + + + +

Vars

all_skillsDictionary of skill.type || skill ref
level_namesList of level names with index corresponding to skill level

Procs

InitializeSkillsRan on initialize, populates the skills dictionary
+

Var Details

all_skills + + + + +

+

Dictionary of skill.type || skill ref

level_names + + + + +

+

List of level names with index corresponding to skill level

Proc Details

InitializeSkills +

+

Ran on initialize, populates the skills dictionary

+ + + diff --git a/datum/controller/subsystem/sounds.html b/datum/controller/subsystem/sounds.html new file mode 100644 index 00000000000..eb968800278 --- /dev/null +++ b/datum/controller/subsystem/sounds.html @@ -0,0 +1,155 @@ + + + + + + + /datum/controller/subsystem/sounds - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sounds + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

all_soundsAll valid sound files in the sound directory
channel_listList of all channels as numbers
channel_random_lowlower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.
channel_reserve_highhigher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.
random_channels_minAmount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.
reserved_channelsAssociative list of all reserved channels associated to their position. "[channel_number]" = index as number
using_channelsAssoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel
using_channels_by_datumAssoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Procs

available_channels_leftHow many channels we have left.
free_channelFrees a channel and updates the datastructure. Private proc.
free_datum_channelsFrees all the channels a datum is using.
free_datumless_channelsFrees all datumless channels
free_sound_channelRemoves a channel from using list.
random_available_channelRandom available channel, returns number
random_available_channel_textRandom available channel, returns text.
reserve_channelReserves a channel and updates the datastructure. Private proc.
reserve_sound_channelReserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.
reserve_sound_channel_datumlessNO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.
+

Var Details

all_sounds + + + + +

+

All valid sound files in the sound directory

channel_list + + + + +

+

List of all channels as numbers

channel_random_low + + + + +

+

lower iteration position - Incremented and looped to get "random" sound channels for normal sounds. The channel at this index is returned when asking for a random channel.

channel_reserve_high + + + + +

+

higher reserve position - decremented and incremented to reserve sound channels, anything above this is reserved. The channel at this index is the highest unreserved channel.

random_channels_min + + + + +

+

Amount of channels to reserve for random usage rather than reservations being allowed to reserve all channels. Also a nice safeguard for when someone screws up.

reserved_channels + + + + +

+

Associative list of all reserved channels associated to their position. "[channel_number]" = index as number

using_channels + + + + +

+

Assoc list, "[channel]" = either the datum using it or TRUE for an unsafe-reserved (datumless reservation) channel

using_channels_by_datum + + + + +

+

Assoc list datum = list(channel1, channel2, ...) for what channels something reserved.

Proc Details

available_channels_left +

+

How many channels we have left.

free_channel +

+

Frees a channel and updates the datastructure. Private proc.

free_datum_channels +

+

Frees all the channels a datum is using.

free_datumless_channels +

+

Frees all datumless channels

free_sound_channel +

+

Removes a channel from using list.

random_available_channel +

+

Random available channel, returns number

random_available_channel_text +

+

Random available channel, returns text.

reserve_channel +

+

Reserves a channel and updates the datastructure. Private proc.

reserve_sound_channel +

+

Reserves a channel for a datum. Automatic cleanup only when the datum is deleted. Returns an integer for channel.

reserve_sound_channel_datumless +

+

NO AUTOMATIC CLEANUP - If you use this, you better manually free it later! Returns an integer for channel.

+ + + diff --git a/datum/controller/subsystem/spatial_grid.html b/datum/controller/subsystem/spatial_grid.html new file mode 100644 index 00000000000..45e2f348d88 --- /dev/null +++ b/datum/controller/subsystem/spatial_grid.html @@ -0,0 +1,285 @@ + + + + + + + /datum/controller/subsystem/spatial_grid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spatial_grid + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

dummy_listempty spatial grid cell content lists are just a reference to this instead of a standalone list to save memory without needed to check if its null when iterating
grids_by_z_levellist of the spatial_grid_cell datums per z level, arranged in the order of y index then x index
number_of_oranges_earshow many pregenerated /mob/oranges_ear instances currently exist. this should hopefully never exceed its starting value
pregenerated_oranges_earslist of all of /mob/oranges_ear instances we have pregenerated for view() iteration speedup
spatial_grid_categoriesassociative list of the form: movable.spatial_grid_key (string) -> inner list of spatial grid types for that key. +inner lists contain contents channel types such as SPATIAL_GRID_CONTENTS_TYPE_HEARING etc. +we use this to make adding to a cell static cost, and to save on memory
waiting_to_add_by_typeeverything that spawns before us is added to this list until we initialize

Procs

add_grid_awarenessAdds grid awareness to the passed in atom, of the passed in type +Basically, when this atom moves between grids, it wants to have enter/exit cell called on it
add_grid_membershipAlerts the atom's current cell that it wishes to be treated as a member +This functionally amounts to "hey, I was recently made aware by [add_grid_awareness], please insert me into my current cell"
add_single_typeacts like enter_cell() but only adds the target to a specified type of grid cell contents list
after_world_bounds_expandedadds cells to the grid for every z level when world.maxx or world.maxy is expanded after this subsystem is initialized. hopefully this is never needed. +because i never tested this.
assign_oranges_earsallocate one /mob/oranges_ear mob per turf containing atoms_that_need_ears and give them a reference to every listed atom in their turf. +if an oranges_ear is allocated to a turf that already has an oranges_ear then the second one fails to allocate (and gives the existing one the atom it was assigned to)
enter_cellfind the spatial map cell that target belongs to, then add the target to it, as its type prefers. +make sure to provide the turf new_target is "in"
enter_pre_init_queueadd a movable to the pre init queue for whichever type is specified so that when the subsystem initializes they get added to the grid
exit_cellfind the spatial map cell that target used to belong to, then remove the target (and sometimes it's important_recusive_contents) from it. +make sure to provide the turf old_target used to be "in"
find_hanging_cell_refs_for_movableif shit goes south, this will find hanging references for qdeleting movables inside the spatial grid
force_remove_from_cellremove this movable from the given spatial_grid_cell
force_remove_from_gridexample:
get_cell_ofget the grid cell encomapassing targets coordinates
get_cells_in_boundsget all grid cells intersecting the bounding box around center with sides of length (2 * range_x, 2 * range_y)
get_cells_in_rangeget all grid cells intersecting the bounding box around center with sides of length 2 * range
orthogonal_range_searchhttps://en.wikipedia.org/wiki/Range_searching#Orthogonal_range_searching
pregenerate_more_oranges_earscreates number_to_generate new oranges_ear's and adds them to the subsystems list of ears. +i really fucking hope this never gets called after init :clueless:
propogate_spatial_grid_to_new_zcreates the spatial grid for a new z level
queued_item_deletedif a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc
remove_from_pre_init_queueremoves an initialized and probably deleted movable from our pre init queue before we're initialized
remove_grid_awarenessRemoves grid awareness from the passed in atom, of the passed in type
remove_grid_membershipRemoves grid membership from the passed in atom, of the passed in type
remove_single_typeacts like exit_cell() but only removes the target from the specified type of grid cell contents list
untracked_movable_errorif for whatever reason this movable is "untracked" e.g. it breaks the assumption that a movable is only inside the contents of any grid cell associated with its loc, +this will error. this checks every grid cell in the world so dont call this on live unless you have to. +returns TRUE if this movable is untracked, FALSE otherwise
update_grid_awarenessUpdates the string that atoms hold that stores their grid awareness +We will use it to key into their spatial grid categories later
+

Var Details

dummy_list + + + + +

+

empty spatial grid cell content lists are just a reference to this instead of a standalone list to save memory without needed to check if its null when iterating

grids_by_z_level + + + + +

+

list of the spatial_grid_cell datums per z level, arranged in the order of y index then x index

number_of_oranges_ears + + + + +

+

how many pregenerated /mob/oranges_ear instances currently exist. this should hopefully never exceed its starting value

pregenerated_oranges_ears + + + + +

+

list of all of /mob/oranges_ear instances we have pregenerated for view() iteration speedup

spatial_grid_categories + + + + +

+

associative list of the form: movable.spatial_grid_key (string) -> inner list of spatial grid types for that key. +inner lists contain contents channel types such as SPATIAL_GRID_CONTENTS_TYPE_HEARING etc. +we use this to make adding to a cell static cost, and to save on memory

waiting_to_add_by_type + + + + +

+

everything that spawns before us is added to this list until we initialize

Proc Details

add_grid_awareness +

+

Adds grid awareness to the passed in atom, of the passed in type +Basically, when this atom moves between grids, it wants to have enter/exit cell called on it

add_grid_membership +

+

Alerts the atom's current cell that it wishes to be treated as a member +This functionally amounts to "hey, I was recently made aware by [add_grid_awareness], please insert me into my current cell"

add_single_type +

+

acts like enter_cell() but only adds the target to a specified type of grid cell contents list

after_world_bounds_expanded +

+

adds cells to the grid for every z level when world.maxx or world.maxy is expanded after this subsystem is initialized. hopefully this is never needed. +because i never tested this.

assign_oranges_ears +

+

allocate one /mob/oranges_ear mob per turf containing atoms_that_need_ears and give them a reference to every listed atom in their turf. +if an oranges_ear is allocated to a turf that already has an oranges_ear then the second one fails to allocate (and gives the existing one the atom it was assigned to)

enter_cell +

+

find the spatial map cell that target belongs to, then add the target to it, as its type prefers. +make sure to provide the turf new_target is "in"

enter_pre_init_queue +

+

add a movable to the pre init queue for whichever type is specified so that when the subsystem initializes they get added to the grid

exit_cell +

+

find the spatial map cell that target used to belong to, then remove the target (and sometimes it's important_recusive_contents) from it. +make sure to provide the turf old_target used to be "in"

+

find_hanging_cell_refs_for_movable +

+

if shit goes south, this will find hanging references for qdeleting movables inside the spatial grid

force_remove_from_cell +

+

remove this movable from the given spatial_grid_cell

force_remove_from_grid +

+

example:

+

/mob/living/trolls_the_maintainer instance, which is supposed to only be in the contents of a spatial grid cell at coords: (136, 136, 14), +was in the contents of 3 spatial grid cells when it was only supposed to be in one! within the contents of the following cells: +{(68, 153, 2), within channels: hearing}, +{coords: (221, 170, 3), within channels: hearing}, +{coords: (255, 153, 11), within channels: hearing}, +{coords: (136, 136, 14), within channels: hearing}.

+

remove this movable from the grid by finding the grid cell its in and removing it from that. +if it cant infer a grid cell its located in (e.g. if its in nullspace but it can happen if the grid isnt expanded to a z level), search every grid cell.

get_cell_of +

+

get the grid cell encomapassing targets coordinates

get_cells_in_bounds +

+

get all grid cells intersecting the bounding box around center with sides of length (2 * range_x, 2 * range_y)

get_cells_in_range +

+

get all grid cells intersecting the bounding box around center with sides of length 2 * range

+

https://en.wikipedia.org/wiki/Range_searching#Orthogonal_range_searching

+

searches through the grid cells intersecting a rectangular search space (with sides of length 2 * range) then returns all contents of type inside them. +much faster than iterating through view() to find all of what you want.

+

this does NOT return things only in range distance from center! the search space is a square not a circle, if you want only things in a certain distance +then you need to filter that yourself

+

pregenerate_more_oranges_ears +

+

creates number_to_generate new oranges_ear's and adds them to the subsystems list of ears. +i really fucking hope this never gets called after init :clueless:

propogate_spatial_grid_to_new_z +

+

creates the spatial grid for a new z level

queued_item_deleted +

+

if a movable is inside our pre init queue before we're initialized and it gets deleted we need to remove that reference with this proc

remove_from_pre_init_queue +

+

removes an initialized and probably deleted movable from our pre init queue before we're initialized

remove_grid_awareness +

+

Removes grid awareness from the passed in atom, of the passed in type

remove_grid_membership +

+

Removes grid membership from the passed in atom, of the passed in type

remove_single_type +

+

acts like exit_cell() but only removes the target from the specified type of grid cell contents list

untracked_movable_error +

+

if for whatever reason this movable is "untracked" e.g. it breaks the assumption that a movable is only inside the contents of any grid cell associated with its loc, +this will error. this checks every grid cell in the world so dont call this on live unless you have to. +returns TRUE if this movable is untracked, FALSE otherwise

update_grid_awareness +

+

Updates the string that atoms hold that stores their grid awareness +We will use it to key into their spatial grid categories later

+ + + diff --git a/datum/controller/subsystem/statpanels.html b/datum/controller/subsystem/statpanels.html new file mode 100644 index 00000000000..667075215b6 --- /dev/null +++ b/datum/controller/subsystem/statpanels.html @@ -0,0 +1,87 @@ + + + + + + + /datum/controller/subsystem/statpanels - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

statpanels + + + +

+ + + + + + + + + +

Vars

default_waithow many subsystem fires between most tab updates
mc_waithow many subsystem fires between updates of the MC tab
num_fireshow many full runs this subsystem has completed. used for variable rate refreshes.
status_waithow many subsystem fires between updates of the status tab

Procs

immediate_send_stat_dataimmediately update the active statpanel tab of the target client
refresh_client_obj_viewSet the atoms we're meant to display
return_object_imagesReturns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)
set_action_tabsSet up the various action tabs.
+

Var Details

default_wait + + + + +

+

how many subsystem fires between most tab updates

mc_wait + + + + +

+

how many subsystem fires between updates of the MC tab

num_fires + + + + +

+

how many full runs this subsystem has completed. used for variable rate refreshes.

status_wait + + + + +

+

how many subsystem fires between updates of the status tab

Proc Details

immediate_send_stat_data +

+

immediately update the active statpanel tab of the target client

refresh_client_obj_view +

+

Set the atoms we're meant to display

return_object_images +

+

Returns all our ready object tab images +Returns a list in the form list(list(object_name, object_ref, loaded_image), ...)

set_action_tabs +

+

Set up the various action tabs.

+ + + diff --git a/datum/controller/subsystem/stock_market.html b/datum/controller/subsystem/stock_market.html new file mode 100644 index 00000000000..7039247d82f --- /dev/null +++ b/datum/controller/subsystem/stock_market.html @@ -0,0 +1,84 @@ + + + + + + + /datum/controller/subsystem/stock_market - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stock_market + + + +

+ + + + + + + + +

Vars

materials_pricesAssociated list of materials and their prices at the given time.
materials_quantityAssociated list of materials alongside their available quantity. This is used to determine how much of a material is available to buy, and how much buying and selling affects the price.
materials_trend_lifeAssociated list of materials alongside the life of it's current trend. After it's life is up, it will change to a new trend.
materials_trendsAssociated list of materials alongside their market trends. 1 is up, 0 is stable, -1 is down.
news_stringHTML string that is used to display the market events to the player.

Procs

handle_market_eventWe want to scale our trend so that if we're closer to our minimum or maximum price, we're more likely to trend the other way. +Market events are a way to spice up the market and make it more interesting. +Randomly one will occur to a random material, and it will change the price of that material more drastically, or reset it to a stable price. +Events are also broadcast to the newscaster as a fun little fluff piece. Good way to tell some lore as well, or just make a joke.
handle_trends_and_priceHandles shifts in the cost of materials, and in what direction the material is most likely to move.
+

Var Details

materials_prices + + + + +

+

Associated list of materials and their prices at the given time.

materials_quantity + + + + +

+

Associated list of materials alongside their available quantity. This is used to determine how much of a material is available to buy, and how much buying and selling affects the price.

materials_trend_life + + + + +

+

Associated list of materials alongside the life of it's current trend. After it's life is up, it will change to a new trend.

+

Associated list of materials alongside their market trends. 1 is up, 0 is stable, -1 is down.

news_string + + + + +

+

HTML string that is used to display the market events to the player.

Proc Details

handle_market_event +

+

We want to scale our trend so that if we're closer to our minimum or maximum price, we're more likely to trend the other way. +Market events are a way to spice up the market and make it more interesting. +Randomly one will occur to a random material, and it will change the price of that material more drastically, or reset it to a stable price. +Events are also broadcast to the newscaster as a fun little fluff piece. Good way to tell some lore as well, or just make a joke.

+

Handles shifts in the cost of materials, and in what direction the material is most likely to move.

+ + + diff --git a/datum/controller/subsystem/sun.html b/datum/controller/subsystem/sun.html new file mode 100644 index 00000000000..69e234ccaeb --- /dev/null +++ b/datum/controller/subsystem/sun.html @@ -0,0 +1,50 @@ + + + + + + + /datum/controller/subsystem/sun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sun + + + +

+ + + + +

Vars

azimuth_modclockwise, top-down rotation from 0 (north) to 359
base_rotationmultiplier against base_rotation

Procs

Initializebase rotation in degrees per fire
+

Var Details

azimuth_mod + + + + +

+

clockwise, top-down rotation from 0 (north) to 359

base_rotation + + + + +

+

multiplier against base_rotation

Proc Details

Initialize +

+

base rotation in degrees per fire

+ + + diff --git a/datum/controller/subsystem/tgui.html b/datum/controller/subsystem/tgui.html new file mode 100644 index 00000000000..e846604470d --- /dev/null +++ b/datum/controller/subsystem/tgui.html @@ -0,0 +1,195 @@ + + + + + + + /datum/controller/subsystem/tgui - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

all_uisA list of all open UIs
basehtmlThe HTML base used for all UIs.
current_runA list of UIs scheduled to process

Procs

close_all_uispublic
close_uispublic
close_user_uispublic
force_close_all_windowspublic
force_close_windowpublic
get_open_uipublic
on_closeprivate
on_logoutprivate
on_openprivate
on_transferprivate
request_pooled_windowpublic
try_update_uipublic
update_uispublic
update_user_uispublic
+

Var Details

all_uis + + + + +

+

A list of all open UIs

basehtml + + + + +

+

The HTML base used for all UIs.

current_run + + + + +

+

A list of UIs scheduled to process

Proc Details

close_all_uis +

+

public

+

Close all UIs regardless of their attachment to src_object.

+

return int The number of UIs closed.

close_uis +

+

public

+

Close all UIs attached to src_object.

+

required src_object datum The object/datum which owns the UIs.

+

return int The number of UIs closed.

close_user_uis +

+

public

+

Close all UIs belonging to a user.

+

required user mob The mob who opened/is using the UI. +optional src_object datum If provided, only close UIs belonging this src_object.

+

return int The number of UIs closed.

force_close_all_windows +

+

public

+

Force closes all tgui windows.

+

required user mob

force_close_window +

+

public

+

Force closes the tgui window by window_id.

+

required user mob +required window_id string

get_open_ui +

+

public

+

Get a open UI given a user and src_object.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object/datum which owns the UI.

+

return datum/tgui The found UI.

on_close +

+

private

+

Remove a UI from the list of open UIs.

+

required ui datum/tgui The UI to be removed.

+

return bool If the UI was removed or not.

on_logout +

+

private

+

Handle client logout, by closing all their UIs.

+

required user mob The mob which logged out.

+

return int The number of UIs closed.

on_open +

+

private

+

Add a UI to the list of open UIs.

+

required ui datum/tgui The UI to be added.

on_transfer +

+

private

+

Handle clients switching mobs, by transferring their UIs.

+

required user source The client's original mob. +required user target The client's new mob.

+

return bool If the UIs were transferred.

request_pooled_window +

+

public

+

Requests a usable tgui window from the pool. +Returns null if pool was exhausted.

+

required user mob +return datum/tgui

try_update_ui +

+

public

+

Try to find an instance of a UI, and push an update to it.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object/datum which owns the UI. +optional ui datum/tgui The UI to be updated, if it exists. +optional force_open bool If the UI should be re-opened instead of updated.

+

return datum/tgui The found UI.

update_uis +

+

public

+

Update all UIs attached to src_object.

+

required src_object datum The object/datum which owns the UIs.

+

return int The number of UIs updated.

update_user_uis +

+

public

+

Update all UIs belonging to a user.

+

required user mob The mob who opened/is using the UI. +optional src_object datum If provided, only update UIs belonging this src_object.

+

return int The number of UIs updated.

+ + + diff --git a/datum/controller/subsystem/ticker.html b/datum/controller/subsystem/ticker.html new file mode 100644 index 00000000000..795abce4442 --- /dev/null +++ b/datum/controller/subsystem/ticker.html @@ -0,0 +1,197 @@ + + + + + + + /datum/controller/subsystem/ticker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ticker + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

current_statestate of current round (used by process()) Use the defines GAME_STATE_* !
emergency_reasonWhy an emergency shuttle was called
force_endingBoolean to track if round should be forcibly ended next ticker tick. +Set by admin intervention (ADMIN_FORCE_END_ROUND) +or a "round-ending" event, like summoning Nar'Sie, a blob victory, the nuke going off, etc. (FORCE_END_ROUND)
heartsPeople who have been commended and will receive a heart
news_reportWhat is going to be reported to other stations at end of round?
setup_doneBoolean to track and check if our subsystem setup is done.
start_immediatelyIf TRUE, there is no lobby phase, the game starts immediately.
totalPlayersNum of players, used for pregame stats on statpanel
totalPlayersReadyNum of ready players, used for pregame stats on statpanel (only viewable by admins)
total_admins_readyNum of ready admins, used for pregame stats on statpanel (only viewable by admins)

Procs

HandleRandomHardcoreScoreHandles random hardcore point rewarding if it applies.
antag_reportgotta escape nerd
award_servicetotal service income +This is the richest account on station at roundend. +This is the station's total wealth at the end of the round. +How many players joined the round. +Awards the service department an achievement and updates the chef and bartender's highscore for tourists served.
check_finishedChecks if the round should be ending, called every ticker tick
choose_round_end_songThe reference to the end of round sound that we have chosen.
declare_completionno score no glory
handle_heartsOnce the round is actually over, cycle through the ckeys in the hearts list and give them the hearted status
hardcore_random_reportGenerate a report for all players who made it out alive with a hardcore random character and prints their final score
log_roundend_reportLog the round-end report as an HTML file
market_reportGenerate a report for how much money is on station, as well as the richest crewmember on the station.
poll_heartsCalled when the shuttle starts launching back to centcom, polls a few random players who joined the round for commendations
+

Var Details

current_state + + + + +

+

state of current round (used by process()) Use the defines GAME_STATE_* !

emergency_reason + + + + +

+

Why an emergency shuttle was called

force_ending + + + + +

+

Boolean to track if round should be forcibly ended next ticker tick. +Set by admin intervention (ADMIN_FORCE_END_ROUND) +or a "round-ending" event, like summoning Nar'Sie, a blob victory, the nuke going off, etc. (FORCE_END_ROUND)

hearts + + + + +

+

People who have been commended and will receive a heart

news_report + + + + +

+

What is going to be reported to other stations at end of round?

setup_done + + + + +

+

Boolean to track and check if our subsystem setup is done.

start_immediately + + + + +

+

If TRUE, there is no lobby phase, the game starts immediately.

totalPlayers + + + + +

+

Num of players, used for pregame stats on statpanel

totalPlayersReady + + + + +

+

Num of ready players, used for pregame stats on statpanel (only viewable by admins)

total_admins_ready + + + + +

+

Num of ready admins, used for pregame stats on statpanel (only viewable by admins)

Proc Details

HandleRandomHardcoreScore +

+

Handles random hardcore point rewarding if it applies.

antag_report +

+

gotta escape nerd

award_service +

+

total service income +This is the richest account on station at roundend. +This is the station's total wealth at the end of the round. +How many players joined the round. +Awards the service department an achievement and updates the chef and bartender's highscore for tourists served.

+

Arguments:

+

check_finished +

+

Checks if the round should be ending, called every ticker tick

choose_round_end_song +

+

The reference to the end of round sound that we have chosen.

declare_completion +

+

no score no glory

handle_hearts +

+

Once the round is actually over, cycle through the ckeys in the hearts list and give them the hearted status

hardcore_random_report +

+

Generate a report for all players who made it out alive with a hardcore random character and prints their final score

log_roundend_report +

+

Log the round-end report as an HTML file

+

Composits the roundend report, and saves it in two locations. +The report is first saved along with the round's logs +Then, the report is copied to a fixed directory specifically for +housing the server's last roundend report. In this location, +the file will be overwritten at the end of each shift.

market_report +

+

Generate a report for how much money is on station, as well as the richest crewmember on the station.

poll_hearts +

+

Called when the shuttle starts launching back to centcom, polls a few random players who joined the round for commendations

+ + + diff --git a/datum/controller/subsystem/timer.html b/datum/controller/subsystem/timer.html new file mode 100644 index 00000000000..bf9f6008706 --- /dev/null +++ b/datum/controller/subsystem/timer.html @@ -0,0 +1,141 @@ + + + + + + + /datum/controller/subsystem/timer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

timer + + + +

+ + + + + + + + + + + + + + + + + +

Vars

bucket_auto_resetBoolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time
bucket_countHow many timers are in the buckets
bucket_listList of buckets, each bucket holds every timer that has to run that byond tick
bucket_reset_countHow many times bucket was reset
bucket_resolutionworld.tick_lag the bucket was designed for
clienttime_timersSpecial timers that run in real-time, not BYOND time; these are more expensive to run and maintain
hashesA hashlist dictionary used for storing unique timers
head_offsetworld.time of the first entry in the bucket list, effectively the 'start time' of the current buckets
last_invoke_tickContains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed
last_invoke_warningContains the last time that a warning was issued for not invoking callbacks
next_clienttime_timer_indexKeeps track of the next index to work on for client timers
practical_offsetIndex of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.
second_queueQueue used for storing timers that do not fit into the current buckets
timer_id_dictList of all active timers associated to their timer ID (for easy lookup)

Procs

get_timer_debug_stringGenerates a string with details about the timed event for debugging purposes
reset_bucketsDestroys the existing buckets and creates new buckets from the existing timed events
+

Var Details

bucket_auto_reset + + + + +

+

Boolean operator controlling if the timer SS will automatically reset buckets if it fails to invoke callbacks for an extended period of time

bucket_count + + + + +

+

How many timers are in the buckets

bucket_list + + + + +

+

List of buckets, each bucket holds every timer that has to run that byond tick

bucket_reset_count + + + + +

+

How many times bucket was reset

bucket_resolution + + + + +

+

world.tick_lag the bucket was designed for

clienttime_timers + + + + +

+

Special timers that run in real-time, not BYOND time; these are more expensive to run and maintain

hashes + + + + +

+

A hashlist dictionary used for storing unique timers

head_offset + + + + +

+

world.time of the first entry in the bucket list, effectively the 'start time' of the current buckets

last_invoke_tick + + + + +

+

Contains the last time that a timer's callback was invoked, or the last tick the SS fired if no timers are being processed

last_invoke_warning + + + + +

+

Contains the last time that a warning was issued for not invoking callbacks

next_clienttime_timer_index + + + + +

+

Keeps track of the next index to work on for client timers

practical_offset + + + + +

+

Index of the wrap around pivot for buckets. buckets before this are later running buckets wrapped around from the end of the bucket list.

second_queue + + + + +

+

Queue used for storing timers that do not fit into the current buckets

timer_id_dict + + + + +

+

List of all active timers associated to their timer ID (for easy lookup)

Proc Details

get_timer_debug_string +

+

Generates a string with details about the timed event for debugging purposes

reset_buckets +

+

Destroys the existing buckets and creates new buckets from the existing timed events

+ + + diff --git a/datum/controller/subsystem/trading_card_game.html b/datum/controller/subsystem/trading_card_game.html new file mode 100644 index 00000000000..b3338726d10 --- /dev/null +++ b/datum/controller/subsystem/trading_card_game.html @@ -0,0 +1,170 @@ + + + + + + + /datum/controller/subsystem/trading_card_game - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trading_card_game + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

cached_cardsList of all cards by series, with cards cached by rarity to make those lookups faster
card_directoryBase directory for all related string files
card_filesList of card files to load
card_packsWhat cardpack types to load
keyword_filesList of keyword files +These allow you to add on hovor logic to parts of a card's text, displaying extra info
keywordsList of loaded keywords matched with their hovor text

Procs

check_card_datumsChecks the global card list for cards that don't override all the default values of the card datum
check_card_distributionUsed to test open a large amount of cardpacks
check_cardpacksChecks the passed type list for missing raritys, or raritys out of bounds
clearCardsEmpty the rarity cache so we can safely add new cards
get_guarenteed_rarity_tableSee above
get_rarity_tableBecause old me wanted to keep memory costs down, each cardpack type shares a rarity list +We do the spooky stuff in here to ensure we don't have too many lists lying around
loadAllCardFilesLoads all the card files
loadCardFileGets the keyword this string wants to use +We offset the start by two indexes to account for +Loads the contents of a json file into our global card list
loadKeywordFileLoads the contents of a json file into our global card list
printAllCardsPrints all the cards names
reloadAllCardFilesReloads all card files
resolve_keywordsTakes a string as input. Searches it for keywords in the pattern {$keyword}, and replaces them with their expanded form, generated above
styleKeywordsStyles our keywords, converting them from just the raw text to the output we want
+

Var Details

cached_cards + + + + +

+

List of all cards by series, with cards cached by rarity to make those lookups faster

card_directory + + + + +

+

Base directory for all related string files

card_files + + + + +

+

List of card files to load

card_packs + + + + +

+

What cardpack types to load

keyword_files + + + + +

+

List of keyword files +These allow you to add on hovor logic to parts of a card's text, displaying extra info

keywords + + + + +

+

List of loaded keywords matched with their hovor text

Proc Details

check_card_datums +

+

Checks the global card list for cards that don't override all the default values of the card datum

check_card_distribution +

+

Used to test open a large amount of cardpacks

check_cardpacks +

+

Checks the passed type list for missing raritys, or raritys out of bounds

clearCards +

+

Empty the rarity cache so we can safely add new cards

get_guarenteed_rarity_table +

+

See above

get_rarity_table +

+

Because old me wanted to keep memory costs down, each cardpack type shares a rarity list +We do the spooky stuff in here to ensure we don't have too many lists lying around

loadAllCardFiles +

+

Loads all the card files

loadCardFile +

+

Gets the keyword this string wants to use +We offset the start by two indexes to account for +Loads the contents of a json file into our global card list

loadKeywordFile +

+

Loads the contents of a json file into our global card list

printAllCards +

+

Prints all the cards names

reloadAllCardFiles +

+

Reloads all card files

resolve_keywords +

+

Takes a string as input. Searches it for keywords in the pattern {$keyword}, and replaces them with their expanded form, generated above

styleKeywords +

+

Styles our keywords, converting them from just the raw text to the output we want

+ + + diff --git a/datum/controller/subsystem/traitor.html b/datum/controller/subsystem/traitor.html new file mode 100644 index 00000000000..e286f7d5bfd --- /dev/null +++ b/datum/controller/subsystem/traitor.html @@ -0,0 +1,137 @@ + + + + + + + /datum/controller/subsystem/traitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor + + + +

+ + + + + + + + + + + + + + + +

Vars

all_objectives_by_typeA list of all existing objectives by type
category_handlerUsed to handle the probability of getting an objective.
configuration_dataGlobal configuration data that gets applied to each objective when it is created. +Basic objective format +'/datum/traitor_objective/path/to/objective': { +"global_progression_influence_intensity": 0 +}
configuration_pathFile to load configurations from.
current_global_progressionThe current progression that all traitors should be at in the round
current_progression_scalingThe current scaling per minute of progression. Has a maximum value of 1 MINUTES.
generate_objectivesUsed by the debug menu, decides whether newly created objectives should generate progression and telecrystals. Do not modify for non-debug purposes.
newjoin_progression_coeffThe coefficient multiplied by the current_global_progression for new joining traitors to calculate their progression
progression_scaling_devianceThe amount of deviance from the current global progression before you start getting 2x the current scaling or no scaling at all +Also affects objectives, so -50% progress reduction or 50% progress boost.
taken_objectives_by_typeObjectives that have been completed by type. Used for limiting objectives.
traitor_debug_panelThe current debug handler for objectives. Used for debugging objectives
uplink_handlersThe current uplink handlers being managed
uplink_itemsA list of all uplink items
uplink_items_by_typeA list of all uplink items mapped by type
+

Var Details

all_objectives_by_type + + + + +

+

A list of all existing objectives by type

category_handler + + + + +

+

Used to handle the probability of getting an objective.

configuration_data + + + + +

+

Global configuration data that gets applied to each objective when it is created. +Basic objective format +'/datum/traitor_objective/path/to/objective': { +"global_progression_influence_intensity": 0 +}

configuration_path + + + + +

+

File to load configurations from.

current_global_progression + + + + +

+

The current progression that all traitors should be at in the round

current_progression_scaling + + + + +

+

The current scaling per minute of progression. Has a maximum value of 1 MINUTES.

generate_objectives + + + + +

+

Used by the debug menu, decides whether newly created objectives should generate progression and telecrystals. Do not modify for non-debug purposes.

newjoin_progression_coeff + + + + +

+

The coefficient multiplied by the current_global_progression for new joining traitors to calculate their progression

progression_scaling_deviance + + + + +

+

The amount of deviance from the current global progression before you start getting 2x the current scaling or no scaling at all +Also affects objectives, so -50% progress reduction or 50% progress boost.

taken_objectives_by_type + + + + +

+

Objectives that have been completed by type. Used for limiting objectives.

traitor_debug_panel + + + + +

+

The current debug handler for objectives. Used for debugging objectives

+

The current uplink handlers being managed

+

A list of all uplink items

+

A list of all uplink items mapped by type

+ + + diff --git a/datum/controller/subsystem/tts.html b/datum/controller/subsystem/tts.html new file mode 100644 index 00000000000..0d70c8f16c7 --- /dev/null +++ b/datum/controller/subsystem/tts.html @@ -0,0 +1,119 @@ + + + + + + + /datum/controller/subsystem/tts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tts + + + +

+ + + + + + + + + + + + + +

Vars

available_speakersA list of available speakers, which are string identifiers of the TTS voices that can be used to generate TTS messages.
average_tts_messages_timeUsed to calculate the average time it takes for a tts message to be received from the http server +For tts messages which time out, it won't keep tracking the tts message and will just assume that the message took +7 seconds (or whatever the value of message_timeout is) to receive back a response.
current_processing_http_messagesHTTP requests that are being processed to see if they've been finished
current_processing_tts_messagesTTS audio files that are being processed on when to be played.
in_process_http_messagesHTTP requests currently in progress but not being processed yet
max_concurrent_requestsThe max concurrent http requests that can be made at one time. Used to prevent 1 server from overloading the tts server
message_timeoutTTS messages won't play if requests took longer than this duration of time.
pitch_enabledWhether the TTS engine supports pitch adjustment or not.
queued_http_messagesQueued HTTP requests that have yet to be sent. TTS requests are handled as lists rather than datums.
queued_tts_messagesAn associative list of mobs mapped to a list of their own /datum/tts_request_target
tts_enabledWhether TTS is enabled or not

Procs

establish_connection_to_ttsEstablishes (or re-establishes) a connection to the TTS server and updates the list of available speakers. +This is blocking, so be careful when calling.
+

Var Details

available_speakers + + + + +

+

A list of available speakers, which are string identifiers of the TTS voices that can be used to generate TTS messages.

average_tts_messages_time + + + + +

+

Used to calculate the average time it takes for a tts message to be received from the http server +For tts messages which time out, it won't keep tracking the tts message and will just assume that the message took +7 seconds (or whatever the value of message_timeout is) to receive back a response.

current_processing_http_messages + + + + +

+

HTTP requests that are being processed to see if they've been finished

current_processing_tts_messages + + + + +

+

TTS audio files that are being processed on when to be played.

in_process_http_messages + + + + +

+

HTTP requests currently in progress but not being processed yet

max_concurrent_requests + + + + +

+

The max concurrent http requests that can be made at one time. Used to prevent 1 server from overloading the tts server

message_timeout + + + + +

+

TTS messages won't play if requests took longer than this duration of time.

pitch_enabled + + + + +

+

Whether the TTS engine supports pitch adjustment or not.

queued_http_messages + + + + +

+

Queued HTTP requests that have yet to be sent. TTS requests are handled as lists rather than datums.

queued_tts_messages + + + + +

+

An associative list of mobs mapped to a list of their own /datum/tts_request_target

tts_enabled + + + + +

+

Whether TTS is enabled or not

Proc Details

establish_connection_to_tts +

+

Establishes (or re-establishes) a connection to the TTS server and updates the list of available speakers. +This is blocking, so be careful when calling.

+ + + diff --git a/datum/controller/subsystem/tutorials.html b/datum/controller/subsystem/tutorials.html new file mode 100644 index 00000000000..3b6f3f0565b --- /dev/null +++ b/datum/controller/subsystem/tutorials.html @@ -0,0 +1,49 @@ + + + + + + + /datum/controller/subsystem/tutorials - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tutorials + + + +

+ + + +

Vars

tutorial_managersA mapping of /datum/tutorial type to their manager singleton. +You probably shouldn't be indexing this directly.

Procs

suggest_tutorialWill suggest the passed tutorial type to the user. +Will check that they should actually see it, e.g. hasn't completed it yet, etc. +Then, calls /datum/tutorial/subtype/perform with the extra arguments passed in.
+

Var Details

tutorial_managers + + + + +

+

A mapping of /datum/tutorial type to their manager singleton. +You probably shouldn't be indexing this directly.

Proc Details

suggest_tutorial +

+

Will suggest the passed tutorial type to the user. +Will check that they should actually see it, e.g. hasn't completed it yet, etc. +Then, calls /datum/tutorial/subtype/perform with the extra arguments passed in.

+ + + diff --git a/datum/controller/subsystem/verb_manager.html b/datum/controller/subsystem/verb_manager.html new file mode 100644 index 00000000000..9d65f11e243 --- /dev/null +++ b/datum/controller/subsystem/verb_manager.html @@ -0,0 +1,114 @@ + + + + + + + /datum/controller/subsystem/verb_manager - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

verb_manager + + + +

+ + + + + + + + + + + +

Vars

FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbsif this is true all verbs immediately execute and dont queue. in case the mc is fucked or something
always_queuealways queue if possible. overides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs
can_queue_admin_verbsif TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately
message_admins_on_queueif TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. +for obvious reasons dont make this be TRUE on the code level this is for admins to turn on
use_default_statsused for subtypes to determine if they use their own stats for the stat entry
verb_queuelist of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. +this list is ran through every tick, and the subsystem does not yield until this queue is finished.
verbs_executed_per_secondrunning average of how many verb callbacks are executed every second. used for the stat entry

Procs

can_queue_verbsubsystem-specific check for whether a callback can be queued. +intended so that subsystem subtypes can verify whether
queue_verbqueue a callback for the given proc, so that it is invoked in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB()
run_verb_queueruns through all of this subsystems queue of verb callbacks. +goes through the entire verb queue without yielding. +used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire().
+

Var Details

FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs + + + + +

+

if this is true all verbs immediately execute and dont queue. in case the mc is fucked or something

always_queue + + + + +

+

always queue if possible. overides can_queue_admin_verbs but not FOR_ADMINS_IF_VERBS_FUCKED_immediately_execute_all_verbs

can_queue_admin_verbs + + + + +

+

if TRUE we treat usr's with holders just like usr's without holders. otherwise they always execute immediately

message_admins_on_queue + + + + +

+

if TRUE this will... message admins every time a verb is queued to this subsystem for the next tick with stats. +for obvious reasons dont make this be TRUE on the code level this is for admins to turn on

use_default_stats + + + + +

+

used for subtypes to determine if they use their own stats for the stat entry

verb_queue + + + + +

+

list of callbacks to procs called from verbs or verblike procs that were executed when the server was overloaded and had to delay to the next tick. +this list is ran through every tick, and the subsystem does not yield until this queue is finished.

verbs_executed_per_second + + + + +

+

running average of how many verb callbacks are executed every second. used for the stat entry

Proc Details

can_queue_verb +

+

subsystem-specific check for whether a callback can be queued. +intended so that subsystem subtypes can verify whether

+

subtypes may include additional arguments here if they need them! you just need to include them properly +in TRY_QUEUE_VERB() and co.

queue_verb +

+

queue a callback for the given proc, so that it is invoked in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB()

+

returns TRUE if the queuing was successful, FALSE otherwise.

run_verb_queue +

+

runs through all of this subsystems queue of verb callbacks. +goes through the entire verb queue without yielding. +used so you can flush the queue outside of fire() without interfering with anything else subtype subsystems might do in fire().

+ + + diff --git a/datum/controller/subsystem/verb_manager/input.html b/datum/controller/subsystem/verb_manager/input.html new file mode 100644 index 00000000000..3b91bef679f --- /dev/null +++ b/datum/controller/subsystem/verb_manager/input.html @@ -0,0 +1,66 @@ + + + + + + + /datum/controller/subsystem/verb_manager/input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

input + + + +

+ + + + + + +

Vars

average_click_delayrunning average of the amount of real time clicks take to truly execute after the command is originally sent to the server. +if a click isnt delayed at all then it counts as 0 deciseconds.
clicks_per_secondrunning average of how many clicks inputted by a player the server processes every second. used for the subsystem stat entry
current_clickscount of how many clicks onto atoms have elapsed before being cleared by fire(). used to average with clicks_per_second.
delayed_clicks_per_secondacts like clicks_per_second but only counts the clicks actually processed by SSinput itself while clicks_per_second counts all clicks
movements_per_secondrunning average of how many movement iterations from player input the server processes every second. used for the subsystem stat entry
+

Var Details

average_click_delay + + + + +

+

running average of the amount of real time clicks take to truly execute after the command is originally sent to the server. +if a click isnt delayed at all then it counts as 0 deciseconds.

clicks_per_second + + + + +

+

running average of how many clicks inputted by a player the server processes every second. used for the subsystem stat entry

current_clicks + + + + +

+

count of how many clicks onto atoms have elapsed before being cleared by fire(). used to average with clicks_per_second.

delayed_clicks_per_second + + + + +

+

acts like clicks_per_second but only counts the clicks actually processed by SSinput itself while clicks_per_second counts all clicks

movements_per_second + + + + +

+

running average of how many movement iterations from player input the server processes every second. used for the subsystem stat entry

+ + + diff --git a/datum/controller/subsystem/vote.html b/datum/controller/subsystem/vote.html new file mode 100644 index 00000000000..2961134548c --- /dev/null +++ b/datum/controller/subsystem/vote.html @@ -0,0 +1,111 @@ + + + + + + + /datum/controller/subsystem/vote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vote + + + +

+ + + + + + + + + + + +

Vars

current_voteThe vote we're currently voting on.
generated_actionsA list of all generated action buttons
possible_votesAll votes that we can possible vote for.
votedA list of all ckeys who have voted for the current vote.
votingA list of all ckeys currently voting for the current vote.

Procs

initiate_voteInitiates a vote, allowing all players to vote on something.
process_vote_resultProcess the results of the vote. +Collects all the winners, breaks any ties that occur, +prints the results of the vote to the world, +and finally follows through with the effects of the vote.
resetResets all of our vars after votes conclude / are cancelled.
submit_multi_voteAny number of selections per person, and the selection with the most votes wins.
submit_single_voteOne selection per person, and the selection with the most votes wins.
+

Var Details

current_vote + + + + +

+

The vote we're currently voting on.

generated_actions + + + + +

+

A list of all generated action buttons

possible_votes + + + + +

+

All votes that we can possible vote for.

voted + + + + +

+

A list of all ckeys who have voted for the current vote.

voting + + + + +

+

A list of all ckeys currently voting for the current vote.

Proc Details

initiate_vote +

+

Initiates a vote, allowing all players to vote on something.

+

process_vote_result +

+

Process the results of the vote. +Collects all the winners, breaks any ties that occur, +prints the results of the vote to the world, +and finally follows through with the effects of the vote.

reset +

+

Resets all of our vars after votes conclude / are cancelled.

submit_multi_vote +

+

Any number of selections per person, and the selection with the most votes wins.

submit_single_vote +

+

One selection per person, and the selection with the most votes wins.

+ + + diff --git a/datum/controller/subsystem/wardrobe.html b/datum/controller/subsystem/wardrobe.html new file mode 100644 index 00000000000..60d58c06af2 --- /dev/null +++ b/datum/controller/subsystem/wardrobe.html @@ -0,0 +1,195 @@ + + + + + + + /datum/controller/subsystem/wardrobe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wardrobe + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

cache_intensityHow much to cache outfit items +Multiplier, 2 would mean cache enough items to stock 1 of each preloaded order twice, etc
canon_minimumCanonical list of types required to fill all preloaded stocks once. +Type -> list(count, last inspection timestamp, call on insert, call on removal)
current_taskWhat we're currently doing
initial_callbacksList of type -> list(insertion callback, removal callback) callbacks for insertion/removal to use. +Set in setup_callbacks, used in canonization.
inspect_delayHow often to inspect our stock, in deciseconds
last_inspect_timeThe last time we inspected our stock
one_go_masterHow many items would we make just by loading the master list once?
order_listList of types to load. Type -> count //(I'd do a list of lists but this needs to be refillable)
overflow_lienencyHow many more then the template of a type are we allowed to have before we delete applicants?
preloaded_stockList of lists. Contains our preloaded atoms. Type -> list(last inspect time, list(instances))
stock_hitHow many times we've successfully returned a cached item
stock_missHow many times we've had to generate a stock item on request

Procs

canonize_typeCanonizes the type, which means it's now managed by the subsystem, and will be created deleted and passed out to comsumers
get_callback_typeTakes a path to get the callback owner for +Returns the deepest path in our callback store that matches the input +The hope is this will prevent dumb conflicts, since the furthest down is always going to be the most relevant
hard_refresh_queueResets the load queue to the master template, accounting for the existing stock
run_inspectionOnce every medium while, go through the current stock and make sure we don't have too much of one thing +Or that we're not too low on some other stock +This exists as a failsafe, so the wardrobe doesn't just end up generating too many items or accidentially running out somehow
setup_callbacksSets up insertion and removal callbacks by typepath +We will always use the deepest path. So /obj/item/blade/knife superceeds the entries of /obj/item and /obj/item/blade +Mind this
stash_objectTake an existing object, and insert it into our storage +If we can't or won't take it, it's deleted. You do not own this object after passing it in
stock_wardrobeTurns the order list into actual loaded items, this is where most work is done
unload_stockUnloads an amount of some type we have in stock +Private function, for internal use only
+

Var Details

cache_intensity + + + + +

+

How much to cache outfit items +Multiplier, 2 would mean cache enough items to stock 1 of each preloaded order twice, etc

canon_minimum + + + + +

+

Canonical list of types required to fill all preloaded stocks once. +Type -> list(count, last inspection timestamp, call on insert, call on removal)

current_task + + + + +

+

What we're currently doing

initial_callbacks + + + + +

+

List of type -> list(insertion callback, removal callback) callbacks for insertion/removal to use. +Set in setup_callbacks, used in canonization.

inspect_delay + + + + +

+

How often to inspect our stock, in deciseconds

last_inspect_time + + + + +

+

The last time we inspected our stock

one_go_master + + + + +

+

How many items would we make just by loading the master list once?

order_list + + + + +

+

List of types to load. Type -> count //(I'd do a list of lists but this needs to be refillable)

overflow_lienency + + + + +

+

How many more then the template of a type are we allowed to have before we delete applicants?

preloaded_stock + + + + +

+

List of lists. Contains our preloaded atoms. Type -> list(last inspect time, list(instances))

stock_hit + + + + +

+

How many times we've successfully returned a cached item

stock_miss + + + + +

+

How many times we've had to generate a stock item on request

Proc Details

canonize_type +

+

Canonizes the type, which means it's now managed by the subsystem, and will be created deleted and passed out to comsumers

+

Arguments:

+

get_callback_type +

+

Takes a path to get the callback owner for +Returns the deepest path in our callback store that matches the input +The hope is this will prevent dumb conflicts, since the furthest down is always going to be the most relevant

hard_refresh_queue +

+

Resets the load queue to the master template, accounting for the existing stock

run_inspection +

+

Once every medium while, go through the current stock and make sure we don't have too much of one thing +Or that we're not too low on some other stock +This exists as a failsafe, so the wardrobe doesn't just end up generating too many items or accidentially running out somehow

setup_callbacks +

+

Sets up insertion and removal callbacks by typepath +We will always use the deepest path. So /obj/item/blade/knife superceeds the entries of /obj/item and /obj/item/blade +Mind this

stash_object +

+

Take an existing object, and insert it into our storage +If we can't or won't take it, it's deleted. You do not own this object after passing it in

stock_wardrobe +

+

Turns the order list into actual loaded items, this is where most work is done

unload_stock +

+

Unloads an amount of some type we have in stock +Private function, for internal use only

+ + + diff --git a/datum/controller/subsystem/weather.html b/datum/controller/subsystem/weather.html new file mode 100644 index 00000000000..eba41251d61 --- /dev/null +++ b/datum/controller/subsystem/weather.html @@ -0,0 +1,35 @@ + + + + + + + /datum/controller/subsystem/weather - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

weather + + + +

+ + +

Procs

get_weather_by_typeReturns an active storm by its type

Proc Details

get_weather_by_type +

+

Returns an active storm by its type

+ + + diff --git a/datum/controller/subsystem/wiremod_composite.html b/datum/controller/subsystem/wiremod_composite.html new file mode 100644 index 00000000000..0d6792eb211 --- /dev/null +++ b/datum/controller/subsystem/wiremod_composite.html @@ -0,0 +1,45 @@ + + + + + + + /datum/controller/subsystem/wiremod_composite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wiremod_composite + + + +

+ + + +

Vars

templatesThe templates created and stored

Procs

composite_datatypeUsed to produce a composite datatype using another datatype, or +to get an already existing composite datatype.
+

Var Details

templates + + + + +

+

The templates created and stored

Proc Details

composite_datatype +

+

Used to produce a composite datatype using another datatype, or +to get an already existing composite datatype.

+ + + diff --git a/datum/crafting_recipe.html b/datum/crafting_recipe.html new file mode 100644 index 00000000000..ece8daf89c9 --- /dev/null +++ b/datum/crafting_recipe.html @@ -0,0 +1,196 @@ + + + + + + + /datum/crafting_recipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crafting_recipe + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

always_availableSet to FALSE if it needs to be learned first.
blacklisttype paths of items explicitly not allowed as an ingredient
categorywhere it shows up in the crafting UI
chem_catalystslike tool_behaviors but for reagents
delete_contentsWhether we should delete the contents of the crafted storage item (Only works with storage items, used for ammo boxes, donut boxes, internals boxes, etc)
descdescription displayed in game +Optional, if not set uses result desc
machineryRequired machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.
namein-game display name +Optional, if not set uses result name
non_craftableWhether the result can be crafted with a crafting menu button
one_per_turfShould only one object exist on the same turf?
partstype paths of items that will be forceMoved() into the result, or added to the reagents of it
reactionChemical reaction described in the recipe
reqstype paths of items consumed associated with how many are needed
resulttype path of item resulting from this craft
result_amountResulting amount (for stacks only)
stepsSteps needed to achieve the result
structuresRequired structures for the craft, set the assigned value of the typepath to CRAFTING_STRUCTURE_CONSUME or CRAFTING_STRUCTURE_USE. Lazy associative list: type_path key -> flag value.
timetime in seconds. Remember to use the SECONDS define!
tool_behaviorsString defines of items needed but not consumed. Lazy list.
tool_pathsType paths of items needed but not consumed. Lazy list.

Procs

atmos_pipe_checkCheck if the pipe used for atmospheric device crafting is the proper one
check_requirementsRun custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client
crafting_ui_dataAdditional UI data to be passed to the crafting UI for this recipe
+

Var Details

always_available + + + + +

+

Set to FALSE if it needs to be learned first.

blacklist + + + + +

+

type paths of items explicitly not allowed as an ingredient

category + + + + +

+

where it shows up in the crafting UI

chem_catalysts + + + + +

+

like tool_behaviors but for reagents

delete_contents + + + + +

+

Whether we should delete the contents of the crafted storage item (Only works with storage items, used for ammo boxes, donut boxes, internals boxes, etc)

desc + + + + +

+

description displayed in game +Optional, if not set uses result desc

machinery + + + + +

+

Required machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.

name + + + + +

+

in-game display name +Optional, if not set uses result name

non_craftable + + + + +

+

Whether the result can be crafted with a crafting menu button

one_per_turf + + + + +

+

Should only one object exist on the same turf?

parts + + + + +

+

type paths of items that will be forceMoved() into the result, or added to the reagents of it

reaction + + + + +

+

Chemical reaction described in the recipe

reqs + + + + +

+

type paths of items consumed associated with how many are needed

result + + + + +

+

type path of item resulting from this craft

result_amount + + + + +

+

Resulting amount (for stacks only)

steps + + + + +

+

Steps needed to achieve the result

structures + + + + +

+

Required structures for the craft, set the assigned value of the typepath to CRAFTING_STRUCTURE_CONSUME or CRAFTING_STRUCTURE_USE. Lazy associative list: type_path key -> flag value.

time + + + + +

+

time in seconds. Remember to use the SECONDS define!

tool_behaviors + + + + +

+

String defines of items needed but not consumed. Lazy list.

tool_paths + + + + +

+

Type paths of items needed but not consumed. Lazy list.

Proc Details

atmos_pipe_check +

+

Check if the pipe used for atmospheric device crafting is the proper one

check_requirements +

+

Run custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client

+

user: The /mob that initiated the crafting +collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path.

crafting_ui_data +

+

Additional UI data to be passed to the crafting UI for this recipe

+ + + diff --git a/datum/crafting_recipe/food/reaction.html b/datum/crafting_recipe/food/reaction.html new file mode 100644 index 00000000000..be4045fd23b --- /dev/null +++ b/datum/crafting_recipe/food/reaction.html @@ -0,0 +1,35 @@ + + + + + + + /datum/crafting_recipe/food/reaction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

reaction + + + +

+ + +

Procs

setup_chemical_reaction_detailsSets up information for our recipe based on the chemical reaction we have set.

Proc Details

setup_chemical_reaction_details +

+

Sets up information for our recipe based on the chemical reaction we have set.

+ + + diff --git a/datum/crafting_recipe/food/reaction/soup.html b/datum/crafting_recipe/food/reaction/soup.html new file mode 100644 index 00000000000..2ff16da3de7 --- /dev/null +++ b/datum/crafting_recipe/food/reaction/soup.html @@ -0,0 +1,38 @@ + + + + + + + /datum/crafting_recipe/food/reaction/soup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

soup + + + +

+ + +

Vars

expected_containerWhat contained is this reaction expected to be served in? +Used to determine the icon to display in the crafting UI.
+

Var Details

expected_container + + + + +

+

What contained is this reaction expected to be served in? +Used to determine the icon to display in the crafting UI.

+ + + diff --git a/datum/crewmonitor.html b/datum/crewmonitor.html new file mode 100644 index 00000000000..50e6abdccfd --- /dev/null +++ b/datum/crewmonitor.html @@ -0,0 +1,57 @@ + + + + + + + /datum/crewmonitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crewmonitor + + + +

+ + + + + +

Vars

data_by_zCache of data generated by z-level, used for serving the data within SENSOR_UPDATE_PERIOD of the last update
jobsMap of job to ID for sorting purposes
last_updateCache of last update time for each z-level
ui_sourcesList of user -> UI source
+

Var Details

data_by_z + + + + +

+

Cache of data generated by z-level, used for serving the data within SENSOR_UPDATE_PERIOD of the last update

jobs + + + + +

+

Map of job to ID for sorting purposes

last_update + + + + +

+

Cache of last update time for each z-level

ui_sources + + + + +

+

List of user -> UI source

+ + + diff --git a/datum/crime.html b/datum/crime.html new file mode 100644 index 00000000000..26957cfc024 --- /dev/null +++ b/datum/crime.html @@ -0,0 +1,64 @@ + + + + + + + /datum/crime - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crime + + + +

+ +

Crime data. Used to store information about crimes.

+ + + + +

Vars

authorPlayer that wrote the crime
detailsDetails about the crime
nameName of the crime
timeTime of the crime
validWhether the crime is active or not
+

Var Details

author + + + + +

+

Player that wrote the crime

details + + + + +

+

Details about the crime

name + + + + +

+

Name of the crime

time + + + + +

+

Time of the crime

valid + + + + +

+

Whether the crime is active or not

+ + + diff --git a/datum/crime/citation.html b/datum/crime/citation.html new file mode 100644 index 00000000000..65d43dfa721 --- /dev/null +++ b/datum/crime/citation.html @@ -0,0 +1,57 @@ + + + + + + + /datum/crime/citation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

citation + + + +

+ + + + + +

Vars

fineFine for the crime
paidAmount of money paid for the crime

Procs

alert_ownerSends a citation alert message to the target's PDA.
pay_finePays off a fine and attempts to fix any weird values.
+

Var Details

fine + + + + +

+

Fine for the crime

paid + + + + +

+

Amount of money paid for the crime

Proc Details

alert_owner +

+

Sends a citation alert message to the target's PDA.

pay_fine +

+

Pays off a fine and attempts to fix any weird values.

+ + + diff --git a/datum/crystal_warp_theme.html b/datum/crystal_warp_theme.html new file mode 100644 index 00000000000..4d35ca99496 --- /dev/null +++ b/datum/crystal_warp_theme.html @@ -0,0 +1,99 @@ + + + + + + + /datum/crystal_warp_theme - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crystal_warp_theme + + + +

+ +

Transforms an area's turfs and objects into a different theme

+ + + + + + + + + +

Vars

chairTypepath of object to replace chairs with
floorTypepath of floor to replace open turfs with
flora_and_faunaTypepath of things to potentially spawn on transformed open turfs
flora_and_fauna_chanceChance per turf to create the things in the list above
nameFriendly name of theme
tableTypepath of object to replace tables with
wallTypepath of wall to replace closed turfs with

Procs

replace_objectReplaces an object with a different themed object
replace_turfReplaces a turf with a different themed turf
transform_areaChange appropriate objects in provided area to those matching our theme, and spawn some plants or animals
+

Var Details

chair + + + + +

+

Typepath of object to replace chairs with

floor + + + + +

+

Typepath of floor to replace open turfs with

flora_and_fauna + + + + +

+

Typepath of things to potentially spawn on transformed open turfs

flora_and_fauna_chance + + + + +

+

Chance per turf to create the things in the list above

name + + + + +

+

Friendly name of theme

table + + + + +

+

Typepath of object to replace tables with

wall + + + + +

+

Typepath of wall to replace closed turfs with

Proc Details

replace_object +

+

Replaces an object with a different themed object

replace_turf +

+

Replaces a turf with a different themed turf

transform_area +

+

Change appropriate objects in provided area to those matching our theme, and spawn some plants or animals

+ + + diff --git a/datum/ctf_controller.html b/datum/ctf_controller.html new file mode 100644 index 00000000000..77d69567328 --- /dev/null +++ b/datum/ctf_controller.html @@ -0,0 +1,218 @@ + + + + + + + /datum/ctf_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ctf_controller + + + +

+ +

The CTF controller acts as a manager for an individual CTF game, each CTF game should have its own, the controller should handle all game-wide functionality.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

auto_restartWhen this CTF match ends should it automatically restart.
barricadesList of all barricades that have been destroyed during this CTF game.
control_pointsList of all control points used by the game, if they exist.
ctf_enabledWhether or not this CTF game is running.
game_idThe ID associated with this CTF game.
instagib_modeWeather or not instagib mode has been enabled.
points_to_winHow many points a team needs to win.
respawn_cooldownHow long till players who die can respawn.
teamsList of all team_datums participating in this game.
victory_rejoin_textThe text shown once this CTF match ends.

Procs

add_playerAdds a player and a reference to their player component to the corresponding team.
add_teamAdd an additional team to the current CTF game.
capture_flagCalled when a flag is captured by the provided team. Messages players telling them who scored a point and if points are high enough declares victory.
clear_control_pointsMarks all control points as neutral, called when a CTF match ends.
control_point_scoringCalled when points are scored at a control point. Messages players telling them when a team is half way to winning and if points are high enough declares victory.
get_all_playersReturns a list of all players in all teams.
get_player_componentReturns a reference to a players component (if it exists) when provided with a player's ckey
get_playersReturns a list of all players in the provided team.
get_pointsReturns the current amount of points the provided team has.
message_all_teamsSends a message to all players in all CTF teams in this game.
remove_teamCalled when a spawner is deleted, removes the team from this datum.
respawn_barricadesRespawns all barricades destroyed during the current CTF game, called when the match ends.
setup_rulesSome CTF maps may require alternate rulesets, this proc is called by the medisim spawners and CTF maploading.
team_valid_to_joinIdentifies if the provided team is a valid team to join for the provided player.
toggle_instagib_modeEnables and disables instagib mode in this game. During instagib mode respawns are faster, players are faster and people die faster (instant).
unload_ctfUnloading CTF removes the map entirely and allows for a new map to be loaded in its place.
victoryEnds the current CTF game and informs all players which team won. Restarts CTF if auto_restart is enabled.
+

Var Details

auto_restart + + + + +

+

When this CTF match ends should it automatically restart.

barricades + + + + +

+

List of all barricades that have been destroyed during this CTF game.

control_points + + + + +

+

List of all control points used by the game, if they exist.

ctf_enabled + + + + +

+

Whether or not this CTF game is running.

game_id + + + + +

+

The ID associated with this CTF game.

instagib_mode + + + + +

+

Weather or not instagib mode has been enabled.

points_to_win + + + + +

+

How many points a team needs to win.

respawn_cooldown + + + + +

+

How long till players who die can respawn.

teams + + + + +

+

List of all team_datums participating in this game.

victory_rejoin_text + + + + +

+

The text shown once this CTF match ends.

Proc Details

add_player +

+

Adds a player and a reference to their player component to the corresponding team.

add_team +

+

Add an additional team to the current CTF game.

capture_flag +

+

Called when a flag is captured by the provided team. Messages players telling them who scored a point and if points are high enough declares victory.

clear_control_points +

+

Marks all control points as neutral, called when a CTF match ends.

control_point_scoring +

+

Called when points are scored at a control point. Messages players telling them when a team is half way to winning and if points are high enough declares victory.

get_all_players +

+

Returns a list of all players in all teams.

get_player_component +

+

Returns a reference to a players component (if it exists) when provided with a player's ckey

get_players +

+

Returns a list of all players in the provided team.

get_points +

+

Returns the current amount of points the provided team has.

message_all_teams +

+

Sends a message to all players in all CTF teams in this game.

remove_team +

+

Called when a spawner is deleted, removes the team from this datum.

respawn_barricades +

+

Respawns all barricades destroyed during the current CTF game, called when the match ends.

setup_rules +

+

Some CTF maps may require alternate rulesets, this proc is called by the medisim spawners and CTF maploading.

team_valid_to_join +

+

Identifies if the provided team is a valid team to join for the provided player.

toggle_instagib_mode +

+

Enables and disables instagib mode in this game. During instagib mode respawns are faster, players are faster and people die faster (instant).

unload_ctf +

+

Unloading CTF removes the map entirely and allows for a new map to be loaded in its place.

victory +

+

Ends the current CTF game and informs all players which team won. Restarts CTF if auto_restart is enabled.

+ + + diff --git a/datum/ctf_team.html b/datum/ctf_team.html new file mode 100644 index 00000000000..fa739bc2051 --- /dev/null +++ b/datum/ctf_team.html @@ -0,0 +1,92 @@ + + + + + + + /datum/ctf_team - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ctf_team + + + +

+ +

A datum that holds details about individual CTF teams, any team specific CTF functionality should be implimented here.

+ + + + + + + + +

Vars

pointsTotal score that this team currently has.
spawnerReference to the spawn point that this team uses.
team_colorWhat color this team is, also acts as a team name.
team_membersAssoc list containing a list of team members ckeys and the associated ctf_player components.
team_spanSpan used for messages sent to this team.

Procs

DestroyIf the team is destroyed all players in that team need their componenet removed.
message_teamSends a message to all players in this team.
reset_teamResets this teams score and clears its member list. All members will be dusted and have their player componenet removed.
score_pointsIncreases this teams number of points by the provided amount.
+

Var Details

points + + + + +

+

Total score that this team currently has.

spawner + + + + +

+

Reference to the spawn point that this team uses.

team_color + + + + +

+

What color this team is, also acts as a team name.

team_members + + + + +

+

Assoc list containing a list of team members ckeys and the associated ctf_player components.

team_span + + + + +

+

Span used for messages sent to this team.

Proc Details

Destroy +

+

If the team is destroyed all players in that team need their componenet removed.

message_team +

+

Sends a message to all players in this team.

reset_team +

+

Resets this teams score and clears its member list. All members will be dusted and have their player componenet removed.

score_points +

+

Increases this teams number of points by the provided amount.

+ + + diff --git a/datum/ctf_voting_controller.html b/datum/ctf_voting_controller.html new file mode 100644 index 00000000000..6022f71c559 --- /dev/null +++ b/datum/ctf_voting_controller.html @@ -0,0 +1,50 @@ + + + + + + + /datum/ctf_voting_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ctf_voting_controller + + + +

+ + + + +

Vars

volunteersThe list of ckeys that want to play CTF

Procs

unvoteRemoves an existing vote for user.
voteCasts a vote in favor of CTF for user.
+

Var Details

volunteers + + + + +

+

The list of ckeys that want to play CTF

Proc Details

unvote +

+

Removes an existing vote for user.

vote +

+

Casts a vote in favor of CTF for user.

+ + + diff --git a/datum/custom_order.html b/datum/custom_order.html new file mode 100644 index 00000000000..f5a8b3fe1e1 --- /dev/null +++ b/datum/custom_order.html @@ -0,0 +1,71 @@ + + + + + + + /datum/custom_order - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

custom_order + + + +

+ +

custom order datums +Used for less generic orders (ice cream for example) +without snowflaking venue and customer code too much.

+ + + + +

Procs

dispense_orderReturns the object that will be stored in the controller blackboard for the customer bot. +Normally but not necessarily, this would be the custom order itself. The moth clothing is a +good example of an exception to that.
get_order_appearanceReturns the appearance of the order that appears when hovering over the mob with the cursor
get_order_lineReturns the order line shout by the mob and also shown to the player when examining it.
handle_get_orderHandles what the bot does with the order when it gets it
is_correct_orderWhether or not the order is correct. Only relevant if dispense_order didn't return another object.

Proc Details

dispense_order +

+

Returns the object that will be stored in the controller blackboard for the customer bot. +Normally but not necessarily, this would be the custom order itself. The moth clothing is a +good example of an exception to that.

get_order_appearance +

+

Returns the appearance of the order that appears when hovering over the mob with the cursor

get_order_line +

+

Returns the order line shout by the mob and also shown to the player when examining it.

handle_get_order +

+

Handles what the bot does with the order when it gets it

+

Return TRANSACTION_SUCCESS to denote the order went through successfully (Not generally necessary to include here) +Return TRANSACTION_HANDLED to not do any further handling of the order by the

is_correct_order +

+

Whether or not the order is correct. Only relevant if dispense_order didn't return another object.

+ + + diff --git a/datum/custom_order/icecream.html b/datum/custom_order/icecream.html new file mode 100644 index 00000000000..703e1e04a54 --- /dev/null +++ b/datum/custom_order/icecream.html @@ -0,0 +1,50 @@ + + + + + + + /datum/custom_order/icecream - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

icecream + + + +

+ + + + +

Vars

cone_typeThe type of cone we want the ice cream served in
icecream_namestores tha name of our order generated on New()
wanted_flavorsThe list of flavors we want.
+

Var Details

cone_type + + + + +

+

The type of cone we want the ice cream served in

icecream_name + + + + +

+

stores tha name of our order generated on New()

wanted_flavors + + + + +

+

The list of flavors we want.

+ + + diff --git a/datum/custom_order/moth_clothing.html b/datum/custom_order/moth_clothing.html new file mode 100644 index 00000000000..a39cfcacb20 --- /dev/null +++ b/datum/custom_order/moth_clothing.html @@ -0,0 +1,36 @@ + + + + + + + /datum/custom_order/moth_clothing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

moth_clothing + + + +

+ + +

Vars

wanted_clothing_typeThe item type that we want to order, usually clothing
+

Var Details

wanted_clothing_type + + + + +

+

The item type that we want to order, usually clothing

+ + + diff --git a/datum/custom_order/reagent.html b/datum/custom_order/reagent.html new file mode 100644 index 00000000000..23e8313e1fe --- /dev/null +++ b/datum/custom_order/reagent.html @@ -0,0 +1,50 @@ + + + + + + + /datum/custom_order/reagent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

reagent + + + +

+ + + + +

Vars

container_neededWhat typepath container we want it to be in
reagent_typeThis is the typepath of reagent we desire
reagents_neededHow many reagents is needed
+

Var Details

container_needed + + + + +

+

What typepath container we want it to be in

reagent_type + + + + +

+

This is the typepath of reagent we desire

reagents_needed + + + + +

+

How many reagents is needed

+ + + diff --git a/datum/custom_order/reagent/soup.html b/datum/custom_order/reagent/soup.html new file mode 100644 index 00000000000..08b2abbb8b8 --- /dev/null +++ b/datum/custom_order/reagent/soup.html @@ -0,0 +1,36 @@ + + + + + + + /datum/custom_order/reagent/soup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

soup + + + +

+ + +

Vars

picked_servingWhat serving we picked for the order
+

Var Details

picked_serving + + + + +

+

What serving we picked for the order

+ + + diff --git a/datum/customer_data.html b/datum/customer_data.html new file mode 100644 index 00000000000..f09c1e579a3 --- /dev/null +++ b/datum/customer_data.html @@ -0,0 +1,183 @@ + + + + + + + /datum/customer_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

customer_data + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_controller_usedDatum AI used for the robot. Should almost never be overwritten unless theyre subtypes of ai_controller/robot_customer
base_iconBase icon for the customer
base_icon_stateBase icon state for the customer
cant_find_seat_linesLines the robot says when it can't find a seat
clothing_setsClothing sets to pick from when dressing the robot.
first_warning_lineLine when harrased by someone for the first time
found_seat_linesLines the robot says when it finds a seat
friendly_pull_lineLine when pulled by a friendly venue owner
is_uniqueIs this unique once per venue?
leave_happy_linesLines the robot says when leaving with food
leave_mad_linesLines the robot says when leaving without food
name_prefixesList of prefixes for our robots name
order_pricesThe amount a robot pays for each food he likes in an assoc list type | payment
orderable_objectsThe types of food this robot likes in a assoc list of venue type | weighted list. does NOT include subtypes.
prefix_filePrefix file to uise
second_warning_lineLine when harrased by someone for the second time
self_defense_lineLine when harrased by someone for the last time
speech_soundSound to use when this robot type speaks
total_patiencePatience of the AI, how long they will wait for their meal.
wait_for_food_linesLines the robot says when leaving waiting for food
wrong_item_lineLine sent when the customer is clicked on by someone with a 0 force item that's not the correct order

Procs

can_useCan this customer be chosen for this venue?
+

Var Details

ai_controller_used + + + + +

+

Datum AI used for the robot. Should almost never be overwritten unless theyre subtypes of ai_controller/robot_customer

base_icon + + + + +

+

Base icon for the customer

base_icon_state + + + + +

+

Base icon state for the customer

cant_find_seat_lines + + + + +

+

Lines the robot says when it can't find a seat

clothing_sets + + + + +

+

Clothing sets to pick from when dressing the robot.

first_warning_line + + + + +

+

Line when harrased by someone for the first time

found_seat_lines + + + + +

+

Lines the robot says when it finds a seat

friendly_pull_line + + + + +

+

Line when pulled by a friendly venue owner

is_unique + + + + +

+

Is this unique once per venue?

leave_happy_lines + + + + +

+

Lines the robot says when leaving with food

leave_mad_lines + + + + +

+

Lines the robot says when leaving without food

name_prefixes + + + + +

+

List of prefixes for our robots name

order_prices + + + + +

+

The amount a robot pays for each food he likes in an assoc list type | payment

orderable_objects + + + + +

+

The types of food this robot likes in a assoc list of venue type | weighted list. does NOT include subtypes.

prefix_file + + + + +

+

Prefix file to uise

second_warning_line + + + + +

+

Line when harrased by someone for the second time

self_defense_line + + + + +

+

Line when harrased by someone for the last time

speech_sound + + + + +

+

Sound to use when this robot type speaks

total_patience + + + + +

+

Patience of the AI, how long they will wait for their meal.

wait_for_food_lines + + + + +

+

Lines the robot says when leaving waiting for food

wrong_item_line + + + + +

+

Line sent when the customer is clicked on by someone with a 0 force item that's not the correct order

Proc Details

can_use +

+

Can this customer be chosen for this venue?

+ + + diff --git a/datum/customer_data/moth.html b/datum/customer_data/moth.html new file mode 100644 index 00000000000..d2ede5b32ab --- /dev/null +++ b/datum/customer_data/moth.html @@ -0,0 +1,36 @@ + + + + + + + /datum/customer_data/moth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

moth + + + +

+ + +

Vars

wings_chosenThe wings chosen for the moth customers.
+

Var Details

wings_chosen + + + + +

+

The wings chosen for the moth customers.

+ + + diff --git a/datum/data.html b/datum/data.html new file mode 100644 index 00000000000..adcd42f14e8 --- /dev/null +++ b/datum/data.html @@ -0,0 +1,36 @@ + + + + + + + /datum/data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

data + + + +

+ +

Currently used for experiments, vending products.

+

Vars

nameGiven name for the item.
+

Var Details

name + + + + +

+

Given name for the item.

+ + + diff --git a/datum/data/compressor_record.html b/datum/data/compressor_record.html new file mode 100644 index 00000000000..02fba2b9c49 --- /dev/null +++ b/datum/data/compressor_record.html @@ -0,0 +1,43 @@ + + + + + + + /datum/data/compressor_record - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

compressor_record + + + +

+ +

Stores the record of the gas data for a significant enough tank leak

+ +

Vars

experiment_sourceTank Name
gas_dataKey: Path, Value: Moles
+

Var Details

experiment_source + + + + +

+

Tank Name

gas_data + + + + +

+

Key: Path, Value: Moles

+ + + diff --git a/datum/data/tachyon_record.html b/datum/data/tachyon_record.html new file mode 100644 index 00000000000..2e7d657f442 --- /dev/null +++ b/datum/data/tachyon_record.html @@ -0,0 +1,36 @@ + + + + + + + /datum/data/tachyon_record - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tachyon_record + + + +

+ + +

Vars

reaction_resultsIndexed to length 3 if filled properly. Should be an empty list otherwise.
+

Var Details

reaction_results + + + + +

+

Indexed to length 3 if filled properly. Should be an empty list otherwise.

+ + + diff --git a/datum/data/vending_product.html b/datum/data/vending_product.html new file mode 100644 index 00000000000..e3bd756c4f7 --- /dev/null +++ b/datum/data/vending_product.html @@ -0,0 +1,94 @@ + + + + + + + /datum/data/vending_product - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vending record datum + + + +

+ +

A datum that represents a product that is vendable

+ + + + + + + + +

Vars

age_restrictedWhether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
amountHow many of this product we currently have
categoryThe category the product was in, if any. +Sourced directly from product_categories.
colorableWhether the product can be recolored by the GAGS system
custom_premium_priceDoes the item have a custom premium price override
custom_priceDoes the item have a custom price override
max_amountHow many we can store at maximum
product_pathTypepath of the product that is created when this record "sells"
returned_productsList of items that have been returned to the vending machine.
+

Var Details

age_restricted + + + + +

+

Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item

amount + + + + +

+

How many of this product we currently have

category + + + + +

+

The category the product was in, if any. +Sourced directly from product_categories.

colorable + + + + +

+

Whether the product can be recolored by the GAGS system

custom_premium_price + + + + +

+

Does the item have a custom premium price override

custom_price + + + + +

+

Does the item have a custom price override

max_amount + + + + +

+

How many we can store at maximum

product_path + + + + +

+

Typepath of the product that is created when this record "sells"

returned_products + + + + +

+

List of items that have been returned to the vending machine.

+ + + diff --git a/datum/data_rc_msg.html b/datum/data_rc_msg.html new file mode 100644 index 00000000000..d3c6728e242 --- /dev/null +++ b/datum/data_rc_msg.html @@ -0,0 +1,71 @@ + + + + + + + /datum/data_rc_msg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

data_rc_msg + + + +

+ + + + + + + +

Vars

id_authThe ID that authenticated this message, if any.
messageThe message of the request.
priorityThe priority of this request.
receiving_departmentThe department that was targeted by the request.
sender_departmentThe department that sent the request.
stampThe stamp that authenticated this message, if any.
+

Var Details

id_auth + + + + +

+

The ID that authenticated this message, if any.

message + + + + +

+

The message of the request.

priority + + + + +

+

The priority of this request.

receiving_department + + + + +

+

The department that was targeted by the request.

sender_department + + + + +

+

The department that sent the request.

stamp + + + + +

+

The stamp that authenticated this message, if any.

+ + + diff --git a/datum/data_tablet_msg.html b/datum/data_tablet_msg.html new file mode 100644 index 00000000000..284b3a5386a --- /dev/null +++ b/datum/data_tablet_msg.html @@ -0,0 +1,64 @@ + + + + + + + /datum/data_tablet_msg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

data_tablet_msg + + + +

+ +

Log datums stored by the message server.

+ + + + +

Vars

automatedWhether or not it's an automated message. Defaults to FALSE.
messageThe transfered message.
picture_asset_keyThe attached photo path, if any.
recipientWho was targeted by the message.
senderWho sent the message.
+

Var Details

automated + + + + +

+

Whether or not it's an automated message. Defaults to FALSE.

message + + + + +

+

The transfered message.

picture_asset_key + + + + +

+

The attached photo path, if any.

recipient + + + + +

+

Who was targeted by the message.

sender + + + + +

+

Who sent the message.

+ + + diff --git a/datum/db_query.html b/datum/db_query.html new file mode 100644 index 00000000000..7a8c75ac540 --- /dev/null +++ b/datum/db_query.html @@ -0,0 +1,50 @@ + + + + + + + /datum/db_query - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

db_query + + + +

+ + + + +

Vars

job_idJob ID of the query passed by rustg.
statusCurrent status of the query.

Procs

syncSleeps until execution of the query has finished.
+

Var Details

job_id + + + + +

+

Job ID of the query passed by rustg.

status + + + + +

+

Current status of the query.

Proc Details

sync +

+

Sleeps until execution of the query has finished.

+ + + diff --git a/datum/deck_card.html b/datum/deck_card.html new file mode 100644 index 00000000000..dc28892bf9a --- /dev/null +++ b/datum/deck_card.html @@ -0,0 +1,50 @@ + + + + + + + /datum/deck_card - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

deck_card + + + +

+ +

A basic interface for creating a card for a deck that isn't just a name.

+ + +

Vars

nameThe name of the card
pathThe typepath that will be instantiated

Procs

create_cardCreates a card for the given deck
+

Var Details

name + + + + +

+

The name of the card

path + + + + +

+

The typepath that will be instantiated

Proc Details

create_card +

+

Creates a card for the given deck

+ + + diff --git a/datum/decompose_matrix.html b/datum/decompose_matrix.html new file mode 100644 index 00000000000..16bc0adf237 --- /dev/null +++ b/datum/decompose_matrix.html @@ -0,0 +1,64 @@ + + + + + + + /datum/decompose_matrix - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

decompose_matrix + + + +

+ +

Datum which stores information about a matrix decomposed with decompose().

+ + + + +

Vars

rotation?
scale_x?
scale_y?
shift_x?
shift_y?
+

Var Details

rotation + + + + +

+

?

scale_x + + + + +

+

?

scale_y + + + + +

+

?

shift_x + + + + +

+

?

shift_y + + + + +

+

?

+ + + diff --git a/datum/demoralise_moods.html b/datum/demoralise_moods.html new file mode 100644 index 00000000000..dbdde1c4c45 --- /dev/null +++ b/datum/demoralise_moods.html @@ -0,0 +1,86 @@ + + + + + + + /datum/demoralise_moods - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

demoralise_moods + + + +

+ +

Mood application categories for this objective +Used to reduce duplicate code for applying moods to players based on their state

+ + + + + + + +

Vars

antag_moodMood datum to apply to an antagonist
antag_notificationText to display to an antagonist upon receiving this mood
authority_moodMood datum to apply to a head of staff or security
authority_notificationText to display to a head of staff upon receiving this mood
crew_moodMood datum to apply to a crew member
crew_notificationText to display to a crew member upon receiving this mood
mood_categoryMood category to apply to moods
reading_requirementsFor literacy checks
+

Var Details

antag_mood + + + + +

+

Mood datum to apply to an antagonist

antag_notification + + + + +

+

Text to display to an antagonist upon receiving this mood

authority_mood + + + + +

+

Mood datum to apply to a head of staff or security

authority_notification + + + + +

+

Text to display to a head of staff upon receiving this mood

crew_mood + + + + +

+

Mood datum to apply to a crew member

crew_notification + + + + +

+

Text to display to a crew member upon receiving this mood

mood_category + + + + +

+

Mood category to apply to moods

reading_requirements + + + + +

+

For literacy checks

+ + + diff --git a/datum/design.html b/datum/design.html new file mode 100644 index 00000000000..62f9709b250 --- /dev/null +++ b/datum/design.html @@ -0,0 +1,170 @@ + + + + + + + /datum/design - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

design + + + +

+ +

Design Datums +All the data for building stuff.

+ + + + + + + + + + + + + + + + + + + +

Vars

autolathe_exportableFor protolathe designs that don't require reagents: If they can be exported to autolathes with a design disk or not.
build_pathThe typepath of the object produced by this design
build_typeBitflags indicating what machines this design is compatable with. ([IMPRINTER]|AWAY_IMPRINTER|[PROTOLATHE]|AWAY_LATHE|[AUTOLATHE]|[MECHFAB]|[BIOGENERATOR]|[LIMBGROWER]|[SMELTER])
categoryWhat categories this design falls under. Used for sorting in production machines.
construction_timeThe amount of time required to create one unit of the product.
departmental_flagsBitflags indicating what departmental lathes should be allowed to process this design.
descDescription of the created object
icon_cacheAppears to be unused.
idThe ID of the design. Used for quick reference. Alphanumeric, lower-case, no symbols
lathe_time_factorHow many times faster than normal is this to build on the protolathe
make_reagentReagent produced by this design. Currently only supported by the biogenerator.
materialsList of materials required to create one unit of the product. Format is (typepath or caregory) -> amount
maxstackThe maximum number of units of whatever is produced by this can be produced in one go.
nameName of the created object
reagents_listList of reagents required to create one unit of the product. Currently only supported by the limb grower.
research_iconOverride for the automatic icon generation used for the research console.
research_icon_stateOverride for the automatic icon state generation used for the research console.
search_metadataOptional string that interfaces can use as part of search filters. See- item/borg/upgrade/ai and the Exosuit Fabs.
unlocked_byWhat techwebs nodes unlock this design. Constructed by SSresearch

Procs

get_descriptionReturns the description of the design
+

Var Details

autolathe_exportable + + + + +

+

For protolathe designs that don't require reagents: If they can be exported to autolathes with a design disk or not.

build_path + + + + +

+

The typepath of the object produced by this design

build_type + + + + +

+

Bitflags indicating what machines this design is compatable with. ([IMPRINTER]|AWAY_IMPRINTER|[PROTOLATHE]|AWAY_LATHE|[AUTOLATHE]|[MECHFAB]|[BIOGENERATOR]|[LIMBGROWER]|[SMELTER])

category + + + + +

+

What categories this design falls under. Used for sorting in production machines.

construction_time + + + + +

+

The amount of time required to create one unit of the product.

departmental_flags + + + + +

+

Bitflags indicating what departmental lathes should be allowed to process this design.

desc + + + + +

+

Description of the created object

icon_cache + + + + +

+

Appears to be unused.

id + + + + +

+

The ID of the design. Used for quick reference. Alphanumeric, lower-case, no symbols

lathe_time_factor + + + + +

+

How many times faster than normal is this to build on the protolathe

make_reagent + + + + +

+

Reagent produced by this design. Currently only supported by the biogenerator.

materials + + + + +

+

List of materials required to create one unit of the product. Format is (typepath or caregory) -> amount

maxstack + + + + +

+

The maximum number of units of whatever is produced by this can be produced in one go.

name + + + + +

+

Name of the created object

reagents_list + + + + +

+

List of reagents required to create one unit of the product. Currently only supported by the limb grower.

research_icon + + + + +

+

Override for the automatic icon generation used for the research console.

research_icon_state + + + + +

+

Override for the automatic icon state generation used for the research console.

search_metadata + + + + +

+

Optional string that interfaces can use as part of search filters. See- item/borg/upgrade/ai and the Exosuit Fabs.

unlocked_by + + + + +

+

What techwebs nodes unlock this design. Constructed by SSresearch

Proc Details

get_description +

+

Returns the description of the design

+ + + diff --git a/datum/dimension_theme.html b/datum/dimension_theme.html new file mode 100644 index 00000000000..b3e52b69045 --- /dev/null +++ b/datum/dimension_theme.html @@ -0,0 +1,195 @@ + + + + + + + /datum/dimension_theme - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dimension_theme + + + +

+ +

Datum which describes a theme and replaces turfs and objects in specified locations to match that theme

+ + + + + + + + + + + + + + + + + +

Vars

iconAn icon to display to represent the theme
icon_stateIcon state to use to represent the theme
materialTypepath of custom material to use for objects.
replace_floorsWeighted list of turfs to replace the floor with.
replace_objsList of weighted lists for object replacement. Key is an original typepath, value is a weighted list of typepaths to replace it with.
replace_wallsTypepath of turf to replace walls with.
replace_windowTypepath of full-size windows which will replace existing ones +These need to be separate from replace_objs because we don't want to replace dir windows with full ones and they share typepath
soundSound to play when transforming a tile
window_colourColour to recolour windows with, replaced by material colour if material was specified.

Procs

apply_materialsApplies a new custom material to the contents of a provided turf.
apply_themeApplies themed transformation to the provided turf.
can_convertReturns true if you actually can transform the provided turf.
get_replacement_object_typepathReturns the typepath of an object to replace the provided object.
permit_replace_materialReturns true if the provided object can have its material modified.
replace_objectReplaces the provided object with a different one.
replace_turfReplaces the provided turf with a different one.
transform_floorReplaces the provided floor turf with a different one.
transform_windowReplaces a window with a different window and recolours it. +This needs its own function because we only want to replace full tile windows.
+

Var Details

icon + + + + +

+

An icon to display to represent the theme

icon_state + + + + +

+

Icon state to use to represent the theme

material + + + + +

+

Typepath of custom material to use for objects.

replace_floors + + + + +

+

Weighted list of turfs to replace the floor with.

replace_objs + + + + +

+

List of weighted lists for object replacement. Key is an original typepath, value is a weighted list of typepaths to replace it with.

replace_walls + + + + +

+

Typepath of turf to replace walls with.

replace_window + + + + +

+

Typepath of full-size windows which will replace existing ones +These need to be separate from replace_objs because we don't want to replace dir windows with full ones and they share typepath

sound + + + + +

+

Sound to play when transforming a tile

window_colour + + + + +

+

Colour to recolour windows with, replaced by material colour if material was specified.

Proc Details

apply_materials +

+

Applies a new custom material to the contents of a provided turf.

+

Arguments

+

apply_theme +

+

Applies themed transformation to the provided turf.

+

Arguments

+

can_convert +

+

Returns true if you actually can transform the provided turf.

+

Arguments

+

get_replacement_object_typepath +

+

Returns the typepath of an object to replace the provided object.

+

Arguments

+

permit_replace_material +

+

Returns true if the provided object can have its material modified.

+

Arguments

+

replace_object +

+

Replaces the provided object with a different one.

+

Arguments

+

replace_turf +

+

Replaces the provided turf with a different one.

+

Arguments

+

transform_floor +

+

Replaces the provided floor turf with a different one.

+

Arguments

+

transform_window +

+

Replaces a window with a different window and recolours it. +This needs its own function because we only want to replace full tile windows.

+

Arguments

+
+ + + diff --git a/datum/discord_embed.html b/datum/discord_embed.html new file mode 100644 index 00000000000..fdaf1244d6b --- /dev/null +++ b/datum/discord_embed.html @@ -0,0 +1,122 @@ + + + + + + + /datum/discord_embed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

discord_embed + + + +

+ +

Documentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.

+ + + + + + + + + + + + +

Vars

authorName of the author of the embed
colorThe colour that appears on the top of the embed. This is an integer and is the color code of the embed.
contentAny content that should appear above the embed
descriptionThe description
fieldsA key-value string list of fields that should be displayed
footerThe footer that appears on the embed
imageString representing a link to an image
providerString representing the name of the provider
provider_urlString representing the link of the provider
thumbnailString representing a link to the thumbnail image
titleTitle of the embed
urlThe URL that the title
videoString representing a link to the video
+

Var Details

author + + + + +

+

Name of the author of the embed

color + + + + +

+

The colour that appears on the top of the embed. This is an integer and is the color code of the embed.

content + + + + +

+

Any content that should appear above the embed

description + + + + +

+

The description

fields + + + + +

+

A key-value string list of fields that should be displayed

footer + + + + +

+

The footer that appears on the embed

image + + + + +

+

String representing a link to an image

provider + + + + +

+

String representing the name of the provider

provider_url + + + + +

+

String representing the link of the provider

thumbnail + + + + +

+

String representing a link to the thumbnail image

title + + + + +

+

Title of the embed

url + + + + +

+

The URL that the title

video + + + + +

+

String representing a link to the video

+ + + diff --git a/datum/discord_link_record.html b/datum/discord_link_record.html new file mode 100644 index 00000000000..bc930ca67fc --- /dev/null +++ b/datum/discord_link_record.html @@ -0,0 +1,44 @@ + + + + + + + /datum/discord_link_record - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

discord_link_record + + + +

+ +

Represents a record from the discord link table in a nicer format

+

Procs

NewGenerate a discord link datum from the values

Proc Details

New +

+

Generate a discord link datum from the values

+

This is only used by SSdiscord wrapper functions for now, so you can reference the fields +slightly easier

+

Arguments:

+
+ + + diff --git a/datum/disease.html b/datum/disease.html new file mode 100644 index 00000000000..b0033ef34dd --- /dev/null +++ b/datum/disease.html @@ -0,0 +1,133 @@ + + + + + + + /datum/disease - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

disease + + + +

+ + + + + + + + + + + + + + + +

Vars

chemical_offsetsNumber of cycles we've benefited from chemical or other non-resting symptom protection
cure_chanceThe probability of this infection being cured every second the cure is present
cycles_to_beatHow many cycles do we need to have been active after hitting our max stage to start rolling back?
incubation_timeHow long this infection incubates (non-visible) before revealing itself
infectivityThe probability of spreading through the air every second
peaked_cyclesHow many cycles has the virus been at its peak?
required_organIf the disease requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present
stage_peakedHas the virus hit its limit?
stage_probThe probability of this infection advancing a stage every second the cure is not present.
symptom_offsetsNumber of cycles we've prevented symptoms from appearing

Procs

admin_detailsReturns a string for admin logging uses, should describe the disease in detail
has_required_infectious_organChecks if the mob has the required organ and it's not robotic or affected by inorganic biology
is_viable_mobtypeChecks the given typepath against the list of viable mobtypes.
stage_actProc to process the disease and decide on whether to advance, cure or make the symptoms appear. Returns a boolean on whether to continue acting on the symptoms or not.
+

Var Details

chemical_offsets + + + + +

+

Number of cycles we've benefited from chemical or other non-resting symptom protection

cure_chance + + + + +

+

The probability of this infection being cured every second the cure is present

cycles_to_beat + + + + +

+

How many cycles do we need to have been active after hitting our max stage to start rolling back?

incubation_time + + + + +

+

How long this infection incubates (non-visible) before revealing itself

infectivity + + + + +

+

The probability of spreading through the air every second

peaked_cycles + + + + +

+

How many cycles has the virus been at its peak?

required_organ + + + + +

+

If the disease requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present

stage_peaked + + + + +

+

Has the virus hit its limit?

stage_prob + + + + +

+

The probability of this infection advancing a stage every second the cure is not present.

symptom_offsets + + + + +

+

Number of cycles we've prevented symptoms from appearing

Proc Details

admin_details +

+

Returns a string for admin logging uses, should describe the disease in detail

has_required_infectious_organ +

+

Checks if the mob has the required organ and it's not robotic or affected by inorganic biology

is_viable_mobtype +

+

Checks the given typepath against the list of viable mobtypes.

+

Returns TRUE if the mob_type path is derived from of any entry in the viable_mobtypes list. +Returns FALSE otherwise.

+

Arguments:

+

stage_act +

+

Proc to process the disease and decide on whether to advance, cure or make the symptoms appear. Returns a boolean on whether to continue acting on the symptoms or not.

+ + + diff --git a/datum/disease/advance.html b/datum/disease/advance.html new file mode 100644 index 00000000000..31369a22d1d --- /dev/null +++ b/datum/disease/advance.html @@ -0,0 +1,57 @@ + + + + + + + /datum/disease/advance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

advance + + + +

+ + + + + +

Vars

advance_curesLists of cures and how hard we expect them to be to cure. Sentient diseases will pick two from 6+

Procs

admin_detailsDescribes this disease to an admin in detail (for logging)
after_addIf the disease has an incubation time (such as event diseases) start the timer, let properties determine if there's no timer set.
make_visibleMake virus visible to heath scanners
+

Var Details

advance_cures + + + + +

+

Lists of cures and how hard we expect them to be to cure. Sentient diseases will pick two from 6+

Proc Details

admin_details +

+

Describes this disease to an admin in detail (for logging)

after_add +

+

If the disease has an incubation time (such as event diseases) start the timer, let properties determine if there's no timer set.

make_visible +

+

Make virus visible to heath scanners

+ + + diff --git a/datum/disease/advance/carpellosis.html b/datum/disease/advance/carpellosis.html new file mode 100644 index 00000000000..f4fbf2d5d74 --- /dev/null +++ b/datum/disease/advance/carpellosis.html @@ -0,0 +1,57 @@ + + + + + + + /datum/disease/advance/carpellosis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

carpellosis + + + +

+ +

Caused by dirty food. Makes you growl at people and bite them spontaneously.

+ + + +

Vars

ability_grantedWhether the host has carp ability
ella_spawn_chanceThe chance of Carp Ella to spawn on cure
max_stage_reachedWhether the max stage was achieved in disease lifecycle
rift_abilityCarp ability gained on max stage
+

Var Details

ability_granted + + + + +

+

Whether the host has carp ability

ella_spawn_chance + + + + +

+

The chance of Carp Ella to spawn on cure

max_stage_reached + + + + +

+

Whether the max stage was achieved in disease lifecycle

rift_ability + + + + +

+

Carp ability gained on max stage

+ + + diff --git a/datum/disease/advance/gastritium.html b/datum/disease/advance/gastritium.html new file mode 100644 index 00000000000..56746f186d1 --- /dev/null +++ b/datum/disease/advance/gastritium.html @@ -0,0 +1,36 @@ + + + + + + + /datum/disease/advance/gastritium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gastritium + + + +

+ +

Caused by dirty food. Makes you burp out Tritium, sometimes burning hot!

+

Vars

tritium_burp_hot_chanceThe chance of burped out tritium to be hot during max stage
+

Var Details

tritium_burp_hot_chance + + + + +

+

The chance of burped out tritium to be hot during max stage

+ + + diff --git a/datum/disease/advance/random/event.html b/datum/disease/advance/random/event.html new file mode 100644 index 00000000000..0f9c9296328 --- /dev/null +++ b/datum/disease/advance/random/event.html @@ -0,0 +1,65 @@ + + + + + + + /datum/disease/advance/random/event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

event + + + +

+ + + + + +

Procs

NewGenerate advanced virus
assign_propertiesAssign virus properties
generate_cureDetermine the cure
set_spreadSet the transmission methods on the generated virus

Proc Details

New +

+

Generate advanced virus

+

Uses the parameters to create a list of symptoms, picking from various severities +Viral Evolution and Eternal Youth are special modifiers, so we roll separately.

assign_properties +

+

Assign virus properties

+

Now that we've picked our symptoms and severity, we determine the other stats +(Stage Speed, Resistance, Transmissibility) +The LOW/MID percentiles can be adjusted in the defines. +If the virus is severity DANGEROUS we do not hide it from health scanners at event start. +If the virus is airborne, also don't hide it.

generate_cure +

+

Determine the cure

+

Rolls one of five possible cure groups, then selects a cure from it and applies it to the virus.

set_spread +

+

Set the transmission methods on the generated virus

+

Apply the transmission methods we rolled in the assign_properties proc

+ + + diff --git a/datum/disease/parrot_possession.html b/datum/disease/parrot_possession.html new file mode 100644 index 00000000000..1fb6c5995e6 --- /dev/null +++ b/datum/disease/parrot_possession.html @@ -0,0 +1,43 @@ + + + + + + + /datum/disease/parrot_possession - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

parrot_possession + + + +

+ + + +

Vars

parrot_controllercontroller we speak from
speak_chancechance we speak
+

Var Details

parrot_controller + + + + +

+

controller we speak from

speak_chance + + + + +

+

chance we speak

+ + + diff --git a/datum/disease/wizarditis.html b/datum/disease/wizarditis.html new file mode 100644 index 00000000000..c00dc238c23 --- /dev/null +++ b/datum/disease/wizarditis.html @@ -0,0 +1,57 @@ + + + + + + + /datum/disease/wizarditis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizarditis + + + +

+ + + + + +

Vars

hat_typeThe hat type to give the infected
random_spellsList of random non-targeted spells to pick from to cast
random_targeted_spellsList of random targeted spells to pick from to cast
robe_typeThe robe type to give the infected
+

Var Details

hat_type + + + + +

+

The hat type to give the infected

random_spells + + + + +

+

List of random non-targeted spells to pick from to cast

random_targeted_spells + + + + +

+

List of random targeted spells to pick from to cast

robe_type + + + + +

+

The robe type to give the infected

+ + + diff --git a/datum/dna.html b/datum/dna.html new file mode 100644 index 00000000000..12766efe42a --- /dev/null +++ b/datum/dna.html @@ -0,0 +1,166 @@ + + + + + + + /datum/dna - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dna + + + +

+ +

DNA DATUM

+ + + + + + + + + + + + + + + + + +

Vars

default_mutation_genesList of the default genes from this mutation to allow DNA Scanner highlighting
featuresAssoc list of feature keys to their value +Note if you set these manually, and do not update [unique_features] afterwards, it will likely be reset.
mutation_indexList of which mutations this carbon has and its assigned block
mutationsAll mutations are from now on here
previousFor temporary name/ui/ue/blood_type modifications
real_nameStores the real name of the person who originally got this dna datum. Used primarely for changelings,
scrambledDid we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers.
speciesThe type of mutant race the player is if applicable (i.e. potato-man)
temporary_mutationsTemporary changes to the UE
unique_enzymesAn md5 hash of the dna holder's real name
unique_featuresStores the hashed values of the person's non-human features
unique_identityStores the hashed values of traits such as skin tones, hair style, and gender

Procs

initialize_dnaSets up DNA codes and initializes some features.
is_same_asChecks if two DNAs are practically the same by comparing their most defining features
mutation_in_sequenceDNA HELPER-PROCS
set_uni_feature_blockSetter macro used to modify unique features blocks.
set_uni_identity_blockSetter macro used to modify unique identity blocks.
update_dna_identityUpdates the UI, UE, and UF of the DNA according to the features, appearance, name, etc. of the DNA / holder.
+

Var Details

default_mutation_genes + + + + +

+

List of the default genes from this mutation to allow DNA Scanner highlighting

features + + + + +

+

Assoc list of feature keys to their value +Note if you set these manually, and do not update [unique_features] afterwards, it will likely be reset.

mutation_index + + + + +

+

List of which mutations this carbon has and its assigned block

mutations + + + + +

+

All mutations are from now on here

previous + + + + +

+

For temporary name/ui/ue/blood_type modifications

real_name + + + + +

+

Stores the real name of the person who originally got this dna datum. Used primarely for changelings,

scrambled + + + + +

+

Did we take something like mutagen? In that case we cant get our genes scanned to instantly cheese all the powers.

species + + + + +

+

The type of mutant race the player is if applicable (i.e. potato-man)

temporary_mutations + + + + +

+

Temporary changes to the UE

unique_enzymes + + + + +

+

An md5 hash of the dna holder's real name

unique_features + + + + +

+

Stores the hashed values of the person's non-human features

unique_identity + + + + +

+

Stores the hashed values of traits such as skin tones, hair style, and gender

Proc Details

initialize_dna +

+

Sets up DNA codes and initializes some features.

+

is_same_as +

+

Checks if two DNAs are practically the same by comparing their most defining features

+

Arguments:

+

mutation_in_sequence +

+

DNA HELPER-PROCS

set_uni_feature_block +

+

Setter macro used to modify unique features blocks.

set_uni_identity_block +

+

Setter macro used to modify unique identity blocks.

update_dna_identity +

+

Updates the UI, UE, and UF of the DNA according to the features, appearance, name, etc. of the DNA / holder.

+ + + diff --git a/datum/dog_fashion.html b/datum/dog_fashion.html new file mode 100644 index 00000000000..4fb2973f3f3 --- /dev/null +++ b/datum/dog_fashion.html @@ -0,0 +1,122 @@ + + + + + + + /datum/dog_fashion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dog_fashion + + + +

+ + + + + + + + + + + + + + +

Vars

descDescription modifier for the dog that we're dressing up
emote_hearHearable emotes modifier for the dog that we're dressing up
emote_seeVisible emotes modifier for the dog that we're dressing up
icon_fileIcon path for the fashion item
nameName modifier for the dog that we're dressing up
obj_alphaAlpha level (opacity) modifier of the fashion item
obj_colorColor modifier of the fasion item
obj_icon_stateIcon state for the fashion item
speakSpeech modifier for the dog that we're dressing up
speak_emoteSpeech verb modifier for the dog that we're dressing up

Procs

applyApplies the name, description and speak emote modifiers to the dog
apply_to_speechApplies random speech modifiers to the dog
get_overlayGenerates the icon overlay for the equipped item +dir: passed direction for the sprite, e.g. to apply to a dead dog, we use the EAST dir and just flip it 180.
+

Var Details

desc + + + + +

+

Description modifier for the dog that we're dressing up

emote_hear + + + + +

+

Hearable emotes modifier for the dog that we're dressing up

emote_see + + + + +

+

Visible emotes modifier for the dog that we're dressing up

icon_file + + + + +

+

Icon path for the fashion item

name + + + + +

+

Name modifier for the dog that we're dressing up

obj_alpha + + + + +

+

Alpha level (opacity) modifier of the fashion item

obj_color + + + + +

+

Color modifier of the fasion item

obj_icon_state + + + + +

+

Icon state for the fashion item

speak + + + + +

+

Speech modifier for the dog that we're dressing up

speak_emote + + + + +

+

Speech verb modifier for the dog that we're dressing up

Proc Details

apply +

+

Applies the name, description and speak emote modifiers to the dog

apply_to_speech +

+

Applies random speech modifiers to the dog

get_overlay +

+

Generates the icon overlay for the equipped item +dir: passed direction for the sprite, e.g. to apply to a dead dog, we use the EAST dir and just flip it 180.

+ + + diff --git a/datum/dream.html b/datum/dream.html new file mode 100644 index 00000000000..c98e179351d --- /dev/null +++ b/datum/dream.html @@ -0,0 +1,60 @@ + + + + + + + /datum/dream - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dream + + + +

+ +

Contains all the behavior needed to play a kind of dream. +All dream types get randomly selected from based on weight when an appropriate mobs dreams.

+ + + +

Vars

sleep_until_finishedCauses the mob to sleep long enough for the dream to finish if begun
weightThe relative chance this dream will be randomly selected

Procs

GenerateDreamCalled when beginning a new dream for the dreamer. +Gives back a list of dream events. Events can be text or callbacks that return text.
OnDreamEndCalled when the dream ends or is interrupted.
+

Var Details

sleep_until_finished + + + + +

+

Causes the mob to sleep long enough for the dream to finish if begun

weight + + + + +

+

The relative chance this dream will be randomly selected

Proc Details

GenerateDream +

+

Called when beginning a new dream for the dreamer. +Gives back a list of dream events. Events can be text or callbacks that return text.

OnDreamEnd +

+

Called when the dream ends or is interrupted.

+ + + diff --git a/datum/ductnet.html b/datum/ductnet.html new file mode 100644 index 00000000000..25fc484d253 --- /dev/null +++ b/datum/ductnet.html @@ -0,0 +1,99 @@ + + + + + + + /datum/ductnet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ductnet + + + +

+ +

We handle the unity part of plumbing. We track who is connected to who.

+ + + + + + + + + +

Vars

capacityMax reagents we can carry per tick
demandersStuff that can take chems
ductsAll the ducts that make this network
suppliersStuff that can supply chems

Procs

add_ductAdd a duct to our network
add_plumberadd a plumbing object to either demanders or suppliers
assimilatewe combine ductnets. this occurs when someone connects to separate sets of fluid ducts
destroy_networkdestroy the network and tell all our ducts and plumbers we are gone
remove_ductRemove a duct from our network and commit suicide, because this is probably easier than to check who that duct was connected to and what part of us was lost
remove_plumberremove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects
+

Var Details

capacity + + + + +

+

Max reagents we can carry per tick

demanders + + + + +

+

Stuff that can take chems

ducts + + + + +

+

All the ducts that make this network

suppliers + + + + +

+

Stuff that can supply chems

Proc Details

add_duct +

+

Add a duct to our network

add_plumber +

+

add a plumbing object to either demanders or suppliers

assimilate +

+

we combine ductnets. this occurs when someone connects to separate sets of fluid ducts

destroy_network +

+

destroy the network and tell all our ducts and plumbers we are gone

remove_duct +

+

Remove a duct from our network and commit suicide, because this is probably easier than to check who that duct was connected to and what part of us was lost

remove_plumber +

+

remove a plumber. we dont delete ourselves because ductnets dont persist through plumbing objects

+ + + diff --git a/datum/duel.html b/datum/duel.html new file mode 100644 index 00000000000..7438b23eee2 --- /dev/null +++ b/datum/duel.html @@ -0,0 +1,35 @@ + + + + + + + /datum/duel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

duel + + + +

+ + +

Procs

clear_duelFor each linked gun that still exists, clear its reference to us, then delete.

Proc Details

clear_duel +

+

For each linked gun that still exists, clear its reference to us, then delete.

+ + + diff --git a/datum/dynamic_ruleset.html b/datum/dynamic_ruleset.html new file mode 100644 index 00000000000..d66f08ac327 --- /dev/null +++ b/datum/dynamic_ruleset.html @@ -0,0 +1,423 @@ + + + + + + + /datum/dynamic_ruleset - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic_ruleset + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

antag_capJudges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).
antag_datumThe antagonist datum that is assigned to the mobs mind on ruleset execution.
antag_flagPreferences flag such as ROLE_WIZARD that need to be turned on for players to be antag.
antag_flag_overrideIf a role is to be considered another for the purpose of banning.
antag_preferenceIf set, will check this preference instead of antag_flag.
assignedList of players that were selected for this rule. This can be minds, or mobs.
base_probBase probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)
blocking_rulesIf a ruleset type which is in this list has been executed, then the ruleset will not be executed.
candidatesList of players that are being drafted for this rule
costThreat cost for this rule, this is decreased from the threat level when the rule is executed.
delayDelay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.
enemy_rolesIf set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
exclusive_rolesIf set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.
flagsA flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.
indice_popCalculated during acceptable(), used in scaling and team sizes.
maximum_playersThe maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.
minimum_playersThe minimum amount of players required for the rule to be considered.
minimum_required_ageThe required minimum account age for this ruleset.
nameFor admin logging and round end screen.
persistentIf set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.
pop_per_requirementPop range per requirement. If zero defaults to dynamic's pop_per_requirement.
protected_rolesIf set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.
repeatableIf set to TRUE, dynamic will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)
repeatable_weight_decreaseIf set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.
required_candidatesThe rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)
required_enemiesIf enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.
requirementsRequirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.
restricted_rolesIf set, rule will deny candidates from those roles always.
ruleset_lazy_templatesA list, or null, of templates that the ruleset depends on to function correctly
ruletypeFor admin logging and round end screen, do not change this unless making a new rule type.
scaled_timesHow many times a rule has scaled up upon getting picked.
scaling_costCost per level the rule scales up.
total_costUsed for the roundend report
weight0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Procs

acceptableBy default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead
check_candidatesChecks if there are enough candidates to run, and logs otherwise
clean_upRuns from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.
executeCalled on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.
forget_startupRulesets can be reused, so when we're done setting one up we want to wipe its memory of the people it was selecting over +This isn't Destroy we aren't deleting it here, rulesets free when nothing holds a ref. This is just to prevent hung refs.
get_antag_capReturns what the antag cap with the given population is.
get_weightGets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly
is_valid_populationReturns true if we have enough players to run
is_valid_threatSets the current threat indices and returns true if we're inside of them
load_templatesThis should always be called before ready is, to ensure that the ruleset can locate map/template based landmarks as needed
pre_executeCalled on pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE
readyHere you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!
round_resultSet mode_result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET
rule_processThis is called if persistent variable is true everytime SSTicker ticks.
scale_upWhen picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.
trim_candidatesHere you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.
+

Var Details

antag_cap + + + + +

+

Judges the amount of antagonists to apply, for both solo and teams. +Note that some antagonists (such as traitors, lings, heretics, etc) will add more based on how many times they've been scaled. +Written as a linear equation--ceil(x/denominator) + offset, or as a fixed constant. +If written as a linear equation, will be in the form of `list("denominator" = denominator, "offset" = offset).

antag_datum + + + + +

+

The antagonist datum that is assigned to the mobs mind on ruleset execution.

antag_flag + + + + +

+

Preferences flag such as ROLE_WIZARD that need to be turned on for players to be antag.

antag_flag_override + + + + +

+

If a role is to be considered another for the purpose of banning.

antag_preference + + + + +

+

If set, will check this preference instead of antag_flag.

assigned + + + + +

+

List of players that were selected for this rule. This can be minds, or mobs.

base_prob + + + + +

+

Base probability used in scaling. The higher it is, the more likely to scale. Kept as a var to allow for config editing._SendSignal(sigtype, list/arguments)

blocking_rules + + + + +

+

If a ruleset type which is in this list has been executed, then the ruleset will not be executed.

candidates + + + + +

+

List of players that are being drafted for this rule

cost + + + + +

+

Threat cost for this rule, this is decreased from the threat level when the rule is executed.

delay + + + + +

+

Delay for when execute will get called from the time of post_setup (roundstart) or process (midround/latejoin). +Make sure your ruleset works with execute being called during the game when using this, and that the clean_up proc reverts it properly in case of faliure.

enemy_roles + + + + +

+

If set, there needs to be a certain amount of players doing those roles (among the players who won't be drafted) for the rule to be drafted IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

exclusive_roles + + + + +

+

If set, rule will only accept candidates from those roles. If on a roundstart ruleset, requires the player to have the correct antag pref enabled and any of the possible roles enabled.

flags + + + + +

+

A flag that determines how the ruleset is handled. Check __DEFINES/dynamic.dm for an explanation of the accepted values.

indice_pop + + + + +

+

Calculated during acceptable(), used in scaling and team sizes.

maximum_players + + + + +

+

The maximum amount of players required for the rule to be considered. +Anything below zero or exactly zero is ignored.

minimum_players + + + + +

+

The minimum amount of players required for the rule to be considered.

minimum_required_age + + + + +

+

The required minimum account age for this ruleset.

name + + + + +

+

For admin logging and round end screen.

persistent + + + + +

+

If set to TRUE, the rule won't be discarded after being executed, and dynamic will call rule_process() every time it ticks.

pop_per_requirement + + + + +

+

Pop range per requirement. If zero defaults to dynamic's pop_per_requirement.

protected_roles + + + + +

+

If set, and config flag protect_roles_from_antagonist is false, then the rule will not pick players from these roles.

repeatable + + + + +

+

If set to TRUE, dynamic will be able to draft this ruleset again later on. (doesn't apply for roundstart rules)

repeatable_weight_decrease + + + + +

+

If set higher than 0 decreases weight by itself causing the ruleset to appear less often the more it is repeated.

required_candidates + + + + +

+

The rule needs this many candidates (post-trimming) to be executed (example: Cult needs 4 players at round start)

required_enemies + + + + +

+

If enemy_roles was set, this is the amount of enemy job workers needed per threat_level range (0-10,10-20,etc) IMPORTANT: DOES NOT WORK ON ROUNDSTART RULESETS.

requirements + + + + +

+

Requirements are the threat level requirements per pop range. +With the default values, The rule will never get drafted below 10 threat level (aka: "peaceful extended"), and it requires a higher threat level at lower pops.

restricted_roles + + + + +

+

If set, rule will deny candidates from those roles always.

ruleset_lazy_templates + + + + +

+

A list, or null, of templates that the ruleset depends on to function correctly

ruletype + + + + +

+

For admin logging and round end screen, do not change this unless making a new rule type.

scaled_times + + + + +

+

How many times a rule has scaled up upon getting picked.

scaling_cost + + + + +

+

Cost per level the rule scales up.

total_cost + + + + +

+

Used for the roundend report

weight + + + + +

+

0 -> 9, probability for this rule to be picked against other rules. If zero this will effectively disable the rule.

Proc Details

acceptable +

+

By default, a rule is acceptable if it satisfies the threat level/population requirements. +If your rule has extra checks, such as counting security officers, do that in ready() instead

check_candidates +

+

Checks if there are enough candidates to run, and logs otherwise

clean_up +

+

Runs from gamemode process() if ruleset fails to start, like delayed rulesets not getting valid candidates. +This one only handles refunding the threat, override in ruleset to clean up the rest.

execute +

+

Called on post_setup on roundstart and when the rule executes on midround and latejoin. +Give your candidates or assignees equipment and antag datum here.

forget_startup +

+

Rulesets can be reused, so when we're done setting one up we want to wipe its memory of the people it was selecting over +This isn't Destroy we aren't deleting it here, rulesets free when nothing holds a ref. This is just to prevent hung refs.

get_antag_cap +

+

Returns what the antag cap with the given population is.

get_weight +

+

Gets weight of the ruleset +Note that this decreases weight if repeatable is TRUE and repeatable_weight_decrease is higher than 0 +Note: If you don't want repeatable rulesets to decrease their weight use the weight variable directly

is_valid_population +

+

Returns true if we have enough players to run

is_valid_threat +

+

Sets the current threat indices and returns true if we're inside of them

load_templates +

+

This should always be called before ready is, to ensure that the ruleset can locate map/template based landmarks as needed

pre_execute +

+

Called on pre_setup for roundstart rulesets. +Do everything you need to do before job is assigned here. +IMPORTANT: ASSIGN special_role HERE

ready +

+

Here you can perform any additional checks you want. (such as checking the map etc) +Remember that on roundstart no one knows what their job is at this point. +IMPORTANT: If ready() returns TRUE, that means pre_execute() or execute() should never fail!

round_result +

+

Set mode_result and news report here. +Only called if ruleset is flagged as HIGH_IMPACT_RULESET

rule_process +

+

This is called if persistent variable is true everytime SSTicker ticks.

scale_up +

+

When picking rulesets, if dynamic picks the same one multiple times, it will "scale up". +However, doing this blindly would result in lowpop rounds (think under 10 people) where over 80% of the crew is antags! +This function is here to ensure the antag ratio is kept under control while scaling up. +Returns how much threat to actually spend in the end.

trim_candidates +

+

Here you can remove candidates that do not meet your requirements. +This means if their job is not correct or they have disconnected you can remove them from candidates here. +Usually this does not need to be changed unless you need some specific requirements from your candidates.

+ + + diff --git a/datum/dynamic_ruleset/latejoin/provocateur.html b/datum/dynamic_ruleset/latejoin/provocateur.html new file mode 100644 index 00000000000..d9d3112afb3 --- /dev/null +++ b/datum/dynamic_ruleset/latejoin/provocateur.html @@ -0,0 +1,35 @@ + + + + + + + /datum/dynamic_ruleset/latejoin/provocateur - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

provocateur + + + +

+ + +

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/dynamic_ruleset/midround.html b/datum/dynamic_ruleset/midround.html new file mode 100644 index 00000000000..ef0e7fec393 --- /dev/null +++ b/datum/dynamic_ruleset/midround.html @@ -0,0 +1,57 @@ + + + + + + + /datum/dynamic_ruleset/midround - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

midround + + + +

+ +

Midround Rulesets

+ + + +

Vars

abstract_typeAbstract root value
minimum_round_timeThe minimum round time before this ruleset will show up
required_typeWhat mob type the ruleset is restricted to.
restrict_ghost_rolesIf the ruleset should be restricted from ghost roles.
+

Var Details

abstract_type + + + + +

+

Abstract root value

minimum_round_time + + + + +

+

The minimum round time before this ruleset will show up

required_type + + + + +

+

What mob type the ruleset is restricted to.

restrict_ghost_roles + + + + +

+

If the ruleset should be restricted from ghost roles.

+ + + diff --git a/datum/dynamic_ruleset/midround/from_ghosts.html b/datum/dynamic_ruleset/midround/from_ghosts.html new file mode 100644 index 00000000000..e5bcbe17974 --- /dev/null +++ b/datum/dynamic_ruleset/midround/from_ghosts.html @@ -0,0 +1,75 @@ + + + + + + + /datum/dynamic_ruleset/midround/from_ghosts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

from_ghosts + + + +

+ + + + + + + +

Vars

makeBodyWhether the ruleset should call generate_ruleset_body or not.
required_applicantsThe rule needs this many applicants to be properly executed.

Procs

attempt_replacementFired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor.
finish_applicationsHere the accepted applications get generated bodies and their setup is finished. +Called by review_applications()
review_applicationsHere is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().
send_applicationsThis sends a poll to ghosts if they want to be a ghost spawn from a ruleset.
+

Var Details

makeBody + + + + +

+

Whether the ruleset should call generate_ruleset_body or not.

required_applicants + + + + +

+

The rule needs this many applicants to be properly executed.

Proc Details

attempt_replacement +

+

Fired when there are no valid candidates. Will spawn a sleeper agent or latejoin traitor.

finish_applications +

+

Here the accepted applications get generated bodies and their setup is finished. +Called by review_applications()

review_applications +

+

Here is where you can check if your ghost applicants are valid for the ruleset. +Called by send_applications().

send_applications +

+

This sends a poll to ghosts if they want to be a ghost spawn from a ruleset.

+ + + diff --git a/datum/dynamic_ruleset/midround/from_ghosts/paradox_clone.html b/datum/dynamic_ruleset/midround/from_ghosts/paradox_clone.html new file mode 100644 index 00000000000..a03a76d618e --- /dev/null +++ b/datum/dynamic_ruleset/midround/from_ghosts/paradox_clone.html @@ -0,0 +1,44 @@ + + + + + + + /datum/dynamic_ruleset/midround/from_ghosts/paradox_clone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

paradox_clone + + + +

+ +

Midround Paradox Clone Ruleset (From Ghosts)

+ +

Procs

find_originalTrims through GLOB.player_list and finds a target +Returns a single human victim, if none is possible then returns null.
forget_startupplaces the antag can spawn

Proc Details

find_original +

+

Trims through GLOB.player_list and finds a target +Returns a single human victim, if none is possible then returns null.

forget_startup +

+

places the antag can spawn

+ + + diff --git a/datum/dynamic_ruleset/roundstart.html b/datum/dynamic_ruleset/roundstart.html new file mode 100644 index 00000000000..6608ccbcaaa --- /dev/null +++ b/datum/dynamic_ruleset/roundstart.html @@ -0,0 +1,44 @@ + + + + + + + /datum/dynamic_ruleset/roundstart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

roundstart + + + +

+ + + +

Procs

readyDo your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE
trim_candidatesChecks if candidates are connected and if they are banned or don't want to be the antagonist.

Proc Details

ready +

+

Do your checks if the ruleset is ready to be executed here. +Should ignore certain checks if forced is TRUE

trim_candidates +

+

Checks if candidates are connected and if they are banned or don't want to be the antagonist.

+ + + diff --git a/datum/dynamic_ruleset/roundstart/revs.html b/datum/dynamic_ruleset/roundstart/revs.html new file mode 100644 index 00000000000..79ab42db410 --- /dev/null +++ b/datum/dynamic_ruleset/roundstart/revs.html @@ -0,0 +1,35 @@ + + + + + + + /datum/dynamic_ruleset/roundstart/revs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

revs + + + +

+ + +

Procs

check_eligibleChecks for revhead loss conditions and other antag datums.

Proc Details

check_eligible +

+

Checks for revhead loss conditions and other antag datums.

+ + + diff --git a/datum/dynamic_snapshot.html b/datum/dynamic_snapshot.html new file mode 100644 index 00000000000..64886779c5b --- /dev/null +++ b/datum/dynamic_snapshot.html @@ -0,0 +1,100 @@ + + + + + + + /datum/dynamic_snapshot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dynamic_snapshot + + + +

+ +

A "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.

+ + + + + + + + + +

Vars

alive_antagsThe number of alive antags
alive_playersThe number of alive players
dead_playersThe number of dead players
observersThe number of observers
remaining_threatThe remaining midround threat
ruleset_chosenThe rulesets chosen this snapshot
serializationThe cached serialization of this snapshot
timeThe world.time when the snapshot was taken
total_playersThe total number of players in the server

Procs

to_listConvert the snapshot to an associative list
+

Var Details

alive_antags + + + + +

+

The number of alive antags

alive_players + + + + +

+

The number of alive players

dead_players + + + + +

+

The number of dead players

observers + + + + +

+

The number of observers

remaining_threat + + + + +

+

The remaining midround threat

ruleset_chosen + + + + +

+

The rulesets chosen this snapshot

serialization + + + + +

+

The cached serialization of this snapshot

time + + + + +

+

The world.time when the snapshot was taken

total_players + + + + +

+

The total number of players in the server

Proc Details

to_list +

+

Convert the snapshot to an associative list

+ + + diff --git a/datum/dynamic_snapshot_ruleset.html b/datum/dynamic_snapshot_ruleset.html new file mode 100644 index 00000000000..ee230a9fd13 --- /dev/null +++ b/datum/dynamic_snapshot_ruleset.html @@ -0,0 +1,50 @@ + + + + + + + /datum/dynamic_snapshot_ruleset - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dynamic_snapshot_ruleset + + + +

+ +

A ruleset chosen during a snapshot

+ + +

Vars

assignedThe number of assigned antags
nameThe name of the ruleset chosen
scaledIf it is a round start ruleset, how much it was scaled by
+

Var Details

assigned + + + + +

+

The number of assigned antags

name + + + + +

+

The name of the ruleset chosen

scaled + + + + +

+

If it is a round start ruleset, how much it was scaled by

+ + + diff --git a/datum/effect_system/fluid_spread.html b/datum/effect_system/fluid_spread.html new file mode 100644 index 00000000000..03ef2e27496 --- /dev/null +++ b/datum/effect_system/fluid_spread.html @@ -0,0 +1,49 @@ + + + + + + + /datum/effect_system/fluid_spread - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fluid_spread + + + +

+ +

A factory which produces fluid groups.

+ +

Vars

amountThe amount of smoke to produce.

Procs

help_out_the_adminsHandles logging the beginning of a fluid flood.
+

Var Details

amount + + + + +

+

The amount of smoke to produce.

Proc Details

help_out_the_admins +

+

Handles logging the beginning of a fluid flood.

+

Arguments:

+
+ + + diff --git a/datum/effect_system/fluid_spread/foam.html b/datum/effect_system/fluid_spread/foam.html new file mode 100644 index 00000000000..2197d4fd35d --- /dev/null +++ b/datum/effect_system/fluid_spread/foam.html @@ -0,0 +1,50 @@ + + + + + + + /datum/effect_system/fluid_spread/foam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

foam + + + +

+ +

A factory for foam fluid floods.

+ + +

Vars

chemholderA container for all of the chemicals we distribute through the foam.
reagent_scaleThe amount that
result_typeWhat type of thing the foam should leave behind when it dissipates.
+

Var Details

chemholder + + + + +

+

A container for all of the chemicals we distribute through the foam.

reagent_scale + + + + +

+

The amount that

result_type + + + + +

+

What type of thing the foam should leave behind when it dissipates.

+ + + diff --git a/datum/effect_system/fluid_spread/smoke/chem.html b/datum/effect_system/fluid_spread/smoke/chem.html new file mode 100644 index 00000000000..af5dff41a56 --- /dev/null +++ b/datum/effect_system/fluid_spread/smoke/chem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/effect_system/fluid_spread/smoke/chem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chem + + + +

+ +

A factory which produces clouds of chemical bearing smoke.

+

Vars

chemholderEvil evil hack so we have something to "hold" our reagents
+

Var Details

chemholder + + + + +

+

Evil evil hack so we have something to "hold" our reagents

+ + + diff --git a/datum/effect_system/fluid_spread/smoke/freezing.html b/datum/effect_system/fluid_spread/smoke/freezing.html new file mode 100644 index 00000000000..0336ca845b0 --- /dev/null +++ b/datum/effect_system/fluid_spread/smoke/freezing.html @@ -0,0 +1,72 @@ + + + + + + + /datum/effect_system/fluid_spread/smoke/freezing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

freezing + + + +

+ +

A factory which produces light blue, transparent smoke and a blast that chills every turf in the area.

+ + + + +

Vars

blastThe radius in which to chill every open turf.
distcheckWhether to make sure each affected turf is actually within range before cooling it.
temperatureThe temperature to set the turfs air temperature to.
weldventsWhether to weld every vent and air scrubber in the affected area shut.

Procs

ChilledChills an open turf.
+

Var Details

blast + + + + +

+

The radius in which to chill every open turf.

distcheck + + + + +

+

Whether to make sure each affected turf is actually within range before cooling it.

temperature + + + + +

+

The temperature to set the turfs air temperature to.

weldvents + + + + +

+

Whether to weld every vent and air scrubber in the affected area shut.

Proc Details

Chilled +

+

Chills an open turf.

+

Forces the air temperature to a specific value. +Transmutes all of the plasma in the air into nitrogen. +Extinguishes all fires and burning objects/mobs in the turf. +May freeze all vents and vent scrubbers shut.

+

Arguments:

+
+ + + diff --git a/datum/effect_system/reagents_explosion.html b/datum/effect_system/reagents_explosion.html new file mode 100644 index 00000000000..0b974267ddd --- /dev/null +++ b/datum/effect_system/reagents_explosion.html @@ -0,0 +1,35 @@ + + + + + + + /datum/effect_system/reagents_explosion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

reagents_explosion + + + +

+ + +

Procs

startStarts the explosion. The explosion_source is as part of logging and identifying the source of the explosion for logs.

Proc Details

start +

+

Starts the explosion. The explosion_source is as part of logging and identifying the source of the explosion for logs.

+ + + diff --git a/datum/element.html b/datum/element.html new file mode 100644 index 00000000000..0449daa14a0 --- /dev/null +++ b/datum/element.html @@ -0,0 +1,63 @@ + + + + + + + /datum/element - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

element + + + +

+ +

A holder for simple behaviour that can be attached to many different types

+

Only one element of each type is instanced during game init. +Otherwise acts basically like a lightweight component.

+ + + +

Vars

argument_hash_start_idxThe index of the first attach argument to consider for duplicate elements
element_flagsOption flags for element behaviour

Procs

AttachActivates the functionality defined by the element on the given target datum
DetachDeactivates the functionality defines by the element on the given datum
+

Var Details

argument_hash_start_idx + + + + +

+

The index of the first attach argument to consider for duplicate elements

+

All arguments from this index onwards (1 based) are hashed into the key to determine +if this is a new unique element or one already exists

+

Is only used when flags contains ELEMENT_BESPOKE

+

This is infinity so you must explicitly set this

element_flags + + + + +

+

Option flags for element behaviour

Proc Details

Attach +

+

Activates the functionality defined by the element on the given target datum

Detach +

+

Deactivates the functionality defines by the element on the given datum

+ + + diff --git a/datum/element/ai_control_examine.html b/datum/element/ai_control_examine.html new file mode 100644 index 00000000000..a057c8e7c1e --- /dev/null +++ b/datum/element/ai_control_examine.html @@ -0,0 +1,46 @@ + + + + + + + /datum/element/ai_control_examine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_control_examine + + + +

+ +

ai control examine; which gives the pawn of the parent the noticable organs depending on AI status!

+

Used for monkeys to have PRIMAL eyes

+ +

Vars

noticable_organ_examinesThese organ slots on the parent's pawn, if filled, will get a special ai-specific examine +Apply the element to ORGAN_SLOT_BRAIN if you don't want it to be hideable behind clothing.

Procs

on_ai_controller_possessed_pawnSignal when the ai controller possesses a pawn
+

Var Details

noticable_organ_examines + + + + +

+

These organ slots on the parent's pawn, if filled, will get a special ai-specific examine +Apply the element to ORGAN_SLOT_BRAIN if you don't want it to be hideable behind clothing.

Proc Details

on_ai_controller_possessed_pawn +

+

Signal when the ai controller possesses a pawn

+ + + diff --git a/datum/element/ai_flee_while_injured.html b/datum/element/ai_flee_while_injured.html new file mode 100644 index 00000000000..1e13b6703aa --- /dev/null +++ b/datum/element/ai_flee_while_injured.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/ai_flee_while_injured - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_flee_while_injured + + + +

+ +

Attached to a mob with an AI controller, simply sets a flag on whether or not to run away based on current health values.

+ + +

Vars

start_fleeing_belowHealth value to start fleeing if at or below
stop_fleeing_atHealth value to end fleeing if at or above

Procs

on_health_changedWhen the mob's health changes, check what the blackboard state should be
+

Var Details

start_fleeing_below + + + + +

+

Health value to start fleeing if at or below

stop_fleeing_at + + + + +

+

Health value to end fleeing if at or above

Proc Details

on_health_changed +

+

When the mob's health changes, check what the blackboard state should be

+ + + diff --git a/datum/element/ai_held_item.html b/datum/element/ai_held_item.html new file mode 100644 index 00000000000..12d0084ac2a --- /dev/null +++ b/datum/element/ai_held_item.html @@ -0,0 +1,63 @@ + + + + + + + /datum/element/ai_held_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

AI Held Item Element + + + +

+ +

Manages holding an item for a mob which doesn't have hands but needs to for AI purposes.

+ + + + +

Procs

atom_exitedIf our held item is removed from our atom then take it off the blackboard
get_held_itemReturns the item held in a mob's blackboard, if it has one
on_clickSomeone's interacting with us by hand, if we have an item and like them we'll hand it over
on_deathIf we died, drop anything we were carrying
on_examinedReport that we're holding an item.

Proc Details

atom_exited +

+

If our held item is removed from our atom then take it off the blackboard

get_held_item +

+

Returns the item held in a mob's blackboard, if it has one

on_click +

+

Someone's interacting with us by hand, if we have an item and like them we'll hand it over

on_death +

+

If we died, drop anything we were carrying

on_examined +

+

Report that we're holding an item.

+ + + diff --git a/datum/element/ai_retaliate.html b/datum/element/ai_retaliate.html new file mode 100644 index 00000000000..beb1a71dfa1 --- /dev/null +++ b/datum/element/ai_retaliate.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/ai_retaliate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ai_retaliate + + + +

+ +

Attached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information.

+

Procs

on_attackedAdd an attacking atom to a blackboard list of things which attacked us

Proc Details

on_attacked +

+

Add an attacking atom to a blackboard list of things which attacked us

+ + + diff --git a/datum/element/ai_swap_combat_mode.html b/datum/element/ai_swap_combat_mode.html new file mode 100644 index 00000000000..8c9e6f2d724 --- /dev/null +++ b/datum/element/ai_swap_combat_mode.html @@ -0,0 +1,85 @@ + + + + + + + /datum/element/ai_swap_combat_mode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_swap_combat_mode + + + +

+ +

Attached to a mob with an AI controller, updates combat mode when the affected mob acquires or loses targets

+ + + + + + + +

Vars

battle_end_barksA one liner said when we exit combat mode
battle_start_barksThe message we yell when we enter combat mode
speech_chanceThe chance to yell the above lines
target_keyTarget key

Procs

on_target_clearedWhen the mob loses its target, and it was not already out of combat mode, exit it
on_target_gainedWhen the mob gains a target, and it was not already in combat mode, enter it
speak_barkSays a quip, if the RNG allows it
swap_modeIf the combat mode would be changed into a different state, updates it and returns TRUE, otherwise returns FALSE
+

Var Details

battle_end_barks + + + + +

+

A one liner said when we exit combat mode

battle_start_barks + + + + +

+

The message we yell when we enter combat mode

speech_chance + + + + +

+

The chance to yell the above lines

target_key + + + + +

+

Target key

Proc Details

on_target_cleared +

+

When the mob loses its target, and it was not already out of combat mode, exit it

on_target_gained +

+

When the mob gains a target, and it was not already in combat mode, enter it

speak_bark +

+

Says a quip, if the RNG allows it

swap_mode +

+

If the combat mode would be changed into a different state, updates it and returns TRUE, otherwise returns FALSE

+ + + diff --git a/datum/element/ai_target_damagesource.html b/datum/element/ai_target_damagesource.html new file mode 100644 index 00000000000..52978c26b9b --- /dev/null +++ b/datum/element/ai_target_damagesource.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/ai_target_damagesource - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ai_target_damagesource + + + +

+ +

Attached to a mob with an AI controller, sets the blackboard current target to the most recent thing to attack this mob. +The AI controller is responsible for doing anything with that information.

+

Procs

on_attackedAdd the most recent target that attacked us to our current target blackboard.

Proc Details

on_attacked +

+

Add the most recent target that attacked us to our current target blackboard.

+ + + diff --git a/datum/element/amputating_limbs.html b/datum/element/amputating_limbs.html new file mode 100644 index 00000000000..1c50feb02c5 --- /dev/null +++ b/datum/element/amputating_limbs.html @@ -0,0 +1,78 @@ + + + + + + + /datum/element/amputating_limbs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

amputating_limbs + + + +

+ +

This component will intercept bare-handed attacks by the owner on sufficiently injured carbons and amputate random limbs instead

+ + + + + + +

Vars

minimum_statHow awake must our target be?
snip_chanceHow likely are we to perform this action?
surgery_timeHow long does it take?
surgery_verbWhat is the means by which we describe the act of amputation?
target_zonesThe types of limb we can remove

Procs

amputateChop one off
try_amputateCalled when you click on literally anything with your hands, see if it is an injured carbon and then try to cut it up
+

Var Details

minimum_stat + + + + +

+

How awake must our target be?

snip_chance + + + + +

+

How likely are we to perform this action?

surgery_time + + + + +

+

How long does it take?

surgery_verb + + + + +

+

What is the means by which we describe the act of amputation?

target_zones + + + + +

+

The types of limb we can remove

Proc Details

amputate +

+

Chop one off

try_amputate +

+

Called when you click on literally anything with your hands, see if it is an injured carbon and then try to cut it up

+ + + diff --git a/datum/element/atmos_requirements.html b/datum/element/atmos_requirements.html new file mode 100644 index 00000000000..546c70ea669 --- /dev/null +++ b/datum/element/atmos_requirements.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/atmos_requirements - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmos_requirements + + + +

+ +atmos requirements element! +

bespoke element that deals damage to the attached mob when the atmos requirements aren't satisfied

+ + +

Vars

atmos_requirementsAn assoc list of "what atmos does this mob require to survive in".
unsuitable_atmos_damageHow much (brute) damage we take from being in unsuitable atmos.

Procs

on_non_stasis_lifesignal called by the living mob's life() while non stasis
+

Var Details

atmos_requirements + + + + +

+

An assoc list of "what atmos does this mob require to survive in".

unsuitable_atmos_damage + + + + +

+

How much (brute) damage we take from being in unsuitable atmos.

Proc Details

on_non_stasis_life +

+

signal called by the living mob's life() while non stasis

+ + + diff --git a/datum/element/attack_equip.html b/datum/element/attack_equip.html new file mode 100644 index 00000000000..6c54c94dbc0 --- /dev/null +++ b/datum/element/attack_equip.html @@ -0,0 +1,29 @@ + + + + + + + /datum/element/attack_equip - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

attack_equip + + + +

+ +

Attached to an item, when the item is used to attack a human, and the attacker isn't in combat mode, attempts to equip the item to the target after the normal delay.

+

Uses the compare_zone_to_item_slot() proc to see if the attacker is targeting a valid slot.

+ + + diff --git a/datum/element/backblast.html b/datum/element/backblast.html new file mode 100644 index 00000000000..143af32ca0c --- /dev/null +++ b/datum/element/backblast.html @@ -0,0 +1,73 @@ + + + + + + + /datum/element/backblast - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

backblast + + + +

+ +

When attached to a gun and the gun is successfully fired, this element creates a "backblast" of fire and pain, like you'd find in a rocket launcher or recoilless rifle

+

The backblast is simulated by a number of fire plumes, or invisible incendiary rounds that will torch anything they come across for a short distance, as well as knocking +back nearby items.

+ + + + + +

Vars

angle_spreadAssuming we don't just have 1 plume, this is the total angle we'll cover with the plumes, split down the middle directly behind the angle we fired at
plumesHow many "pellets" of backblast we're shooting backwards, spread between the angle defined in angle_spread
rangeHow far each plume of fire will fly, assuming it doesn't hit a mob

Procs

gun_firedFor firing multiple plumes behind us, we evenly spread out our projectiles based on the angle_spread and number of plumes
gun_fired_simpleIf we're only firing one plume directly behind us, we don't need to bother with the loop or angles or anything
pewFor firing an actual backblast pellet
+

Var Details

angle_spread + + + + +

+

Assuming we don't just have 1 plume, this is the total angle we'll cover with the plumes, split down the middle directly behind the angle we fired at

plumes + + + + +

+

How many "pellets" of backblast we're shooting backwards, spread between the angle defined in angle_spread

range + + + + +

+

How far each plume of fire will fly, assuming it doesn't hit a mob

Proc Details

gun_fired +

+

For firing multiple plumes behind us, we evenly spread out our projectiles based on the angle_spread and number of plumes

gun_fired_simple +

+

If we're only firing one plume directly behind us, we don't need to bother with the loop or angles or anything

pew +

+

For firing an actual backblast pellet

+ + + diff --git a/datum/element/bane.html b/datum/element/bane.html new file mode 100644 index 00000000000..0610d1cf592 --- /dev/null +++ b/datum/element/bane.html @@ -0,0 +1,76 @@ + + + + + + + /datum/element/bane - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bane + + + +

+ +

Deals extra damage to mobs of a certain type, species, or biotype. +This doesn't directly modify the normal damage of the weapon, instead it applies it's own damage seperatedly ON TOP of normal damage +ie. a sword that does 10 damage with a bane elment attacthed that has a 0.5 damage_multiplier will do: +10 damage from the swords normal attack + 5 damage (50%) from the bane element

+ + + + + +

Vars

added_damageAdded after the above.
damage_multipliermultiplier of the extra damage based on the force of the item.
mob_biotypesif we want it to only affect a certain mob biotype
requires_combat_modeIf it requires combat mode on to deal the extra damage or not.
target_typecan be a mob or a species.

Procs

check_biotype_pathChecks typepaths and the mob's biotype, returning TRUE if correct and FALSE if wrong. +Additionally checks if combat mode is required, and if so whether it's enabled or not.
+

Var Details

added_damage + + + + +

+

Added after the above.

damage_multiplier + + + + +

+

multiplier of the extra damage based on the force of the item.

mob_biotypes + + + + +

+

if we want it to only affect a certain mob biotype

requires_combat_mode + + + + +

+

If it requires combat mode on to deal the extra damage or not.

target_type + + + + +

+

can be a mob or a species.

Proc Details

check_biotype_path +

+

Checks typepaths and the mob's biotype, returning TRUE if correct and FALSE if wrong. +Additionally checks if combat mode is required, and if so whether it's enabled or not.

+ + + diff --git a/datum/element/basic_body_temp_sensitive.html b/datum/element/basic_body_temp_sensitive.html new file mode 100644 index 00000000000..49a22798d8d --- /dev/null +++ b/datum/element/basic_body_temp_sensitive.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/basic_body_temp_sensitive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_body_temp_sensitive + + + +

+ +

When attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures

+ + + +

Vars

cold_damageDamage when below min temp
heat_damageDamage when above max temp
max_body_tempMax body temp
min_body_tempMin body temp
+

Var Details

cold_damage + + + + +

+

Damage when below min temp

heat_damage + + + + +

+

Damage when above max temp

max_body_temp + + + + +

+

Max body temp

min_body_temp + + + + +

+

Min body temp

+ + + diff --git a/datum/element/basic_eating.html b/datum/element/basic_eating.html new file mode 100644 index 00000000000..6545f56272c --- /dev/null +++ b/datum/element/basic_eating.html @@ -0,0 +1,65 @@ + + + + + + + /datum/element/basic_eating - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basic_eating + + + +

+ +basic eating element! +

Small behavior for non-carbons to eat certain stuff they interact with

+ + + + +

Vars

damage_amountAmount to hurt
damage_typeType of hurt to apply
drinkingWhether to flavor it as drinking rather than eating.
food_typesTypes the animal can eat.
heal_amtAmount to heal
+

Var Details

damage_amount + + + + +

+

Amount to hurt

damage_type + + + + +

+

Type of hurt to apply

drinking + + + + +

+

Whether to flavor it as drinking rather than eating.

food_types + + + + +

+

Types the animal can eat.

heal_amt + + + + +

+

Amount to heal

+ + + diff --git a/datum/element/beauty.html b/datum/element/beauty.html new file mode 100644 index 00000000000..92ab53b69a5 --- /dev/null +++ b/datum/element/beauty.html @@ -0,0 +1,40 @@ + + + + + + + /datum/element/beauty - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

beauty + + + +

+ +

Beauty element. It makes the indoor area the parent is in prettier or uglier depending on the beauty var value. +Clean and well decorated areas lead to positive moodlets for passerbies; +Shabbier, dirtier ones lead to negative moodlets EXCLUSIVE to characters with the snob quirk.

+

Vars

beauty_counterAssoc list of atoms as keys and number of time the same element instance has been attached to them as assoc value. +So things don't get odd with same-valued yet dissimilar beauty modifiers being added to the same atom.
+

Var Details

beauty_counter + + + + +

+

Assoc list of atoms as keys and number of time the same element instance has been attached to them as assoc value. +So things don't get odd with same-valued yet dissimilar beauty modifiers being added to the same atom.

+ + + diff --git a/datum/element/bed_tuckable.html b/datum/element/bed_tuckable.html new file mode 100644 index 00000000000..c4d7169176c --- /dev/null +++ b/datum/element/bed_tuckable.html @@ -0,0 +1,75 @@ + + + + + + + /datum/element/bed_tuckable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bed_tuckable + + + +

+ +

Tucking element, for things that can be tucked into bed.

+ + + + + +

Vars

rotation_degreeour rotation degree - how many degrees we need to turn the item to get to the left/right side
starting_angleour starting angle for the item
x_offsetour pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)
y_offsetour pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Procs

tuck_into_bedTuck our object into bed.
untuckIf we rotate our object, then we need to un-rotate it when it's picked up
+

Var Details

rotation_degree + + + + +

+

our rotation degree - how many degrees we need to turn the item to get to the left/right side

starting_angle + + + + +

+

our starting angle for the item

x_offset + + + + +

+

our pixel_x offset - how much the item moves x when in bed (+x is closer to the pillow)

y_offset + + + + +

+

our pixel_y offset - how much the item move y when in bed (-y is closer to the middle)

Proc Details

tuck_into_bed +

+

Tuck our object into bed.

+

tucked - the object being tucked +target_bed - the bed we're tucking them into +tucker - the guy doing the tucking

untuck +

+

If we rotate our object, then we need to un-rotate it when it's picked up

+

tucked - the object that is tucked

+ + + diff --git a/datum/element/befriend_petting.html b/datum/element/befriend_petting.html new file mode 100644 index 00000000000..ec70d93db51 --- /dev/null +++ b/datum/element/befriend_petting.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/befriend_petting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Befriend Petting + + + +

+ +

Element which makes a mob befriend you if you pet it enough.

+ + +

Vars

befriend_chanceChance of success per interaction.
tamed_reactionMessage to print if we gain a friend. String %SOURCE% and %TARGET% are replaced by names if present.

Procs

on_clickIf it's a nice touch make friends
+

Var Details

befriend_chance + + + + +

+

Chance of success per interaction.

tamed_reaction + + + + +

+

Message to print if we gain a friend. String %SOURCE% and %TARGET% are replaced by names if present.

Proc Details

on_click +

+

If it's a nice touch make friends

+ + + diff --git a/datum/element/blocks_explosives.html b/datum/element/blocks_explosives.html new file mode 100644 index 00000000000..64512d1e023 --- /dev/null +++ b/datum/element/blocks_explosives.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/blocks_explosives - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blocks_explosives + + + +

+ +

Apply this element to a movable atom when you want it to block explosions +It will mirror the blocking down to that movable's turf, keeping explosion work cheap

+ + + +

Procs

block_locApplies a block amount to a turf. proc for convenince
blocker_movedEssentially just blocking_changed except we remove from the old loc, and add to the new one
blocking_changedCall this when our blocking well, changes. we'll update our turf(s) with the details
unblock_locRemoves a block amount from a turf. proc for convenince

Proc Details

block_loc +

+

Applies a block amount to a turf. proc for convenince

blocker_moved +

+

Essentially just blocking_changed except we remove from the old loc, and add to the new one

blocking_changed +

+

Call this when our blocking well, changes. we'll update our turf(s) with the details

unblock_loc +

+

Removes a block amount from a turf. proc for convenince

+ + + diff --git a/datum/element/bombable_turf.html b/datum/element/bombable_turf.html new file mode 100644 index 00000000000..4b6111d6b16 --- /dev/null +++ b/datum/element/bombable_turf.html @@ -0,0 +1,58 @@ + + + + + + + /datum/element/bombable_turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bombable_turf + + + +

+ +

Apply this to a turf (usually a wall) and it will be destroyed instantly by any explosion. +Most walls can already be destroyed by explosions so this is largely for usually indestructible ones. +For applying it in a map editor, use /obj/effect/mapping_helpers/bombable_wall

+ + + +

Procs

detonateIf we get blowed up, move to the next turf
on_examinedShow a little extra on examine
on_update_overlaysShow a little crack on here
turf_changedIf this turf becomes something else we either just went off or regardless don't want this any more

Proc Details

detonate +

+

If we get blowed up, move to the next turf

on_examined +

+

Show a little extra on examine

on_update_overlays +

+

Show a little crack on here

turf_changed +

+

If this turf becomes something else we either just went off or regardless don't want this any more

+ + + diff --git a/datum/element/bonus_damage.html b/datum/element/bonus_damage.html new file mode 100644 index 00000000000..82649579c0c --- /dev/null +++ b/datum/element/bonus_damage.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/bonus_damage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bonus_damage + + + +

+ +

Attached to a mob that will then deal bonus damage to a victim with low, or potentially in the future, high health.

+ + +

Vars

brute_damage_amountThe amount of brute damage we will deal
damage_percentageAt which percentage our target has to be for us to deal bonus damage

Procs

attack_targetAdd potential bonus damage to the person we attacked
+

Var Details

brute_damage_amount + + + + +

+

The amount of brute damage we will deal

damage_percentage + + + + +

+

At which percentage our target has to be for us to deal bonus damage

Proc Details

attack_target +

+

Add potential bonus damage to the person we attacked

+ + + diff --git a/datum/element/bump_click.html b/datum/element/bump_click.html new file mode 100644 index 00000000000..3d974129e04 --- /dev/null +++ b/datum/element/bump_click.html @@ -0,0 +1,65 @@ + + + + + + + /datum/element/bump_click - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bump_click + + + +

+ +

Bump click bespoke element

+

Simulates a click on the attached atom when it's bumped, if the bumper and their active object meet certain criteria.

+ + + + +

Vars

allow_anyClick with any item?
allow_combatClick with combat mode on?
allow_unarmedClick with an empty active hand?
tool_behavioursTool behaviours to check for on the bumper's active held item before clicking the attached atom with it.
tool_typesTypes (and their subtypes) of item to look for in the bumper's active hand before clicking the attached atom.
+

Var Details

allow_any + + + + +

+

Click with any item?

allow_combat + + + + +

+

Click with combat mode on?

allow_unarmed + + + + +

+

Click with an empty active hand?

tool_behaviours + + + + +

+

Tool behaviours to check for on the bumper's active held item before clicking the attached atom with it.

tool_types + + + + +

+

Types (and their subtypes) of item to look for in the bumper's active hand before clicking the attached atom.

+ + + diff --git a/datum/element/can_barricade.html b/datum/element/can_barricade.html new file mode 100644 index 00000000000..6cbd33967dc --- /dev/null +++ b/datum/element/can_barricade.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/can_barricade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

can_barricade + + + +

+ + +

Procs

barricadewhen our element gets attacked by wooden planks it creates a barricade

Proc Details

barricade +

+

when our element gets attacked by wooden planks it creates a barricade

+ + + diff --git a/datum/element/change_force_on_death.html b/datum/element/change_force_on_death.html new file mode 100644 index 00000000000..ff389ae81bc --- /dev/null +++ b/datum/element/change_force_on_death.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/change_force_on_death - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

change_force_on_death + + + +

+ +

Element to change a mob's move forces on death and reset them on living

+ + +

Vars

move_forceOur move force
move_resistour resist move force
pull_forcehow much we resist pulling
+

Var Details

move_force + + + + +

+

Our move force

move_resist + + + + +

+

our resist move force

pull_force + + + + +

+

how much we resist pulling

+ + + diff --git a/datum/element/chemical_transfer.html b/datum/element/chemical_transfer.html new file mode 100644 index 00000000000..3d4700ffad9 --- /dev/null +++ b/datum/element/chemical_transfer.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/chemical_transfer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chemical_transfer + + + +

+ +chemical transfer element! +

Bespoke element that, on a certain chance to proc, transfers all chemicals from the person attacking to the victim being attacked +with whatever item has this element.

+

attacker_message uses %VICTIM as whomever is getting attacked. +victim_message uses %ATTACKER for the same.

+ + + + +

Vars

attacker_messagemessage attacker gets when the chemical transfer procs
transfer_probchance for the chemical transfer to proc.
victim_messagemessage victim gets when the chemical transfer procs

Procs

on_attacksignal called on parent being used to attack a victim
on_examinesignal called on parent being examined
+

Var Details

attacker_message + + + + +

+

message attacker gets when the chemical transfer procs

transfer_prob + + + + +

+

chance for the chemical transfer to proc.

victim_message + + + + +

+

message victim gets when the chemical transfer procs

Proc Details

on_attack +

+

signal called on parent being used to attack a victim

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/element/chewable.html b/datum/element/chewable.html new file mode 100644 index 00000000000..c571f3a3457 --- /dev/null +++ b/datum/element/chewable.html @@ -0,0 +1,53 @@ + + + + + + + /datum/element/chewable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chewable + + + +

+ +

Anything with this element will provide the reagents inside the +item to the user when it is equipped.

+ + +

Vars

metabolization_amountThe amount to metabolize per second
processingThe objects with this element that are currently being processed
slots_to_checkA bitfield of valid slots. If this is not provided, then it will +use the slot_flags of the item.
+

Var Details

metabolization_amount + + + + +

+

The amount to metabolize per second

processing + + + + +

+

The objects with this element that are currently being processed

slots_to_check + + + + +

+

A bitfield of valid slots. If this is not provided, then it will +use the slot_flags of the item.

+ + + diff --git a/datum/element/cliff_walking.html b/datum/element/cliff_walking.html new file mode 100644 index 00000000000..b1aa533ca9c --- /dev/null +++ b/datum/element/cliff_walking.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/cliff_walking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cliff_walking + + + +

+ +

Lets a mob walk cliffs and keeps track of if they're alive or not to add/remove the trait

+

Procs

update_cliff_walkingDo some checks to see if we should walk the cliffs

Proc Details

update_cliff_walking +

+

Do some checks to see if we should walk the cliffs

+ + + diff --git a/datum/element/climbable.html b/datum/element/climbable.html new file mode 100644 index 00000000000..26bb81b7667 --- /dev/null +++ b/datum/element/climbable.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/climbable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

climbable + + + +

+ + + + + +

Vars

climb_stunStun duration for when you get onto the object
climb_timeTime it takes to climb onto the object
current_climbersAssoc list of object being climbed on - climbers. This allows us to check who needs to be shoved off a climbable object when its clicked on.

Procs

mousedrop_receiveHandles climbing onto the atom when you click-drag
+

Var Details

climb_stun + + + + +

+

Stun duration for when you get onto the object

climb_time + + + + +

+

Time it takes to climb onto the object

current_climbers + + + + +

+

Assoc list of object being climbed on - climbers. This allows us to check who needs to be shoved off a climbable object when its clicked on.

Proc Details

mousedrop_receive +

+

Handles climbing onto the atom when you click-drag

+ + + diff --git a/datum/element/connect_loc.html b/datum/element/connect_loc.html new file mode 100644 index 00000000000..cbcdd2fce82 --- /dev/null +++ b/datum/element/connect_loc.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/connect_loc - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

connect_loc + + + +

+ +

This element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.

+

Vars

connectionsAn assoc list of signal -> procpath to register to the loc this object is on.
+

Var Details

connections + + + + +

+

An assoc list of signal -> procpath to register to the loc this object is on.

+ + + diff --git a/datum/element/consumable_mob.html b/datum/element/consumable_mob.html new file mode 100644 index 00000000000..98ad7955373 --- /dev/null +++ b/datum/element/consumable_mob.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/consumable_mob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

consumable_mob + + + +

+ +

element for mobs that can be consumed!

+

Vars

reagents_listreagents to give our consumer
+

Var Details

reagents_list + + + + +

+

reagents to give our consumer

+ + + diff --git a/datum/element/content_barfer.html b/datum/element/content_barfer.html new file mode 100644 index 00000000000..0bbe59b3edb --- /dev/null +++ b/datum/element/content_barfer.html @@ -0,0 +1,29 @@ + + + + + + + /datum/element/content_barfer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

content_barfer + + + +

+ +

Content Barfer; which expels the contents of a mob when it dies, or is transformed

+

Used for morphs and bileworms!

+ + + diff --git a/datum/element/contextual_screentip_bare_hands.html b/datum/element/contextual_screentip_bare_hands.html new file mode 100644 index 00000000000..cab12205d5f --- /dev/null +++ b/datum/element/contextual_screentip_bare_hands.html @@ -0,0 +1,59 @@ + + + + + + + /datum/element/contextual_screentip_bare_hands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_bare_hands + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+ + + +

Vars

lmb_textIf set, the text to show for LMB
lmb_text_combat_modeIf set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.
rmb_textIf set, the text to show for RMB
rmb_text_combat_modeIf set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.
+

Var Details

lmb_text + + + + +

+

If set, the text to show for LMB

lmb_text_combat_mode + + + + +

+

If set, the text to show for LMB when in combat mode. Otherwise, defaults to lmb_text.

rmb_text + + + + +

+

If set, the text to show for RMB

rmb_text_combat_mode + + + + +

+

If set, the text to show for RMB when in combat mode. Otherwise, defaults to rmb_text.

+ + + diff --git a/datum/element/contextual_screentip_item_typechecks.html b/datum/element/contextual_screentip_item_typechecks.html new file mode 100644 index 00000000000..31bf68eb6f6 --- /dev/null +++ b/datum/element/contextual_screentip_item_typechecks.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_item_typechecks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_item_typechecks + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

item_paths_to_contextsMap of item paths to contexts to usages
+

Var Details

item_paths_to_contexts + + + + +

+

Map of item paths to contexts to usages

+ + + diff --git a/datum/element/contextual_screentip_mob_typechecks.html b/datum/element/contextual_screentip_mob_typechecks.html new file mode 100644 index 00000000000..a8f477b41ba --- /dev/null +++ b/datum/element/contextual_screentip_mob_typechecks.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_mob_typechecks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_mob_typechecks + + + +

+ +

Apply basic contextual screentips when a user of a specific typepath hovers over us. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

mob_paths_to_contextsMap of item paths to contexts to usages
+

Var Details

mob_paths_to_contexts + + + + +

+

Map of item paths to contexts to usages

+ + + diff --git a/datum/element/contextual_screentip_sharpness.html b/datum/element/contextual_screentip_sharpness.html new file mode 100644 index 00000000000..8dc50d449e1 --- /dev/null +++ b/datum/element/contextual_screentip_sharpness.html @@ -0,0 +1,45 @@ + + + + + + + /datum/element/contextual_screentip_sharpness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_sharpness + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+ +

Vars

lmb_textIf set, the text to show for LMB
rmb_textIf set, the text to show for RMB
+

Var Details

lmb_text + + + + +

+

If set, the text to show for LMB

rmb_text + + + + +

+

If set, the text to show for RMB

+ + + diff --git a/datum/element/contextual_screentip_tools.html b/datum/element/contextual_screentip_tools.html new file mode 100644 index 00000000000..936fa1bdc4a --- /dev/null +++ b/datum/element/contextual_screentip_tools.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/contextual_screentip_tools - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

contextual_screentip_tools + + + +

+ +

Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.

+

Vars

tool_behaviorsMap of tool behaviors to contexts to usages
+

Var Details

tool_behaviors + + + + +

+

Map of tool behaviors to contexts to usages

+ + + diff --git a/datum/element/crackable.html b/datum/element/crackable.html new file mode 100644 index 00000000000..3d3a39d1ad1 --- /dev/null +++ b/datum/element/crackable.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/crackable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crackable + + + +

+ +

Adds crack overlays to an object when integrity gets low

+

Vars

crack_integrityThe level at which the object starts showing cracks, 1 being at full health and 0.5 being at half health
+

Var Details

crack_integrity + + + + +

+

The level at which the object starts showing cracks, 1 being at full health and 0.5 being at half health

+ + + diff --git a/datum/element/crusher_loot.html b/datum/element/crusher_loot.html new file mode 100644 index 00000000000..9c1935d696a --- /dev/null +++ b/datum/element/crusher_loot.html @@ -0,0 +1,55 @@ + + + + + + + /datum/element/crusher_loot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crusher_loot + + + +

+ +

Crusher Loot; which makes the attached mob drop a crusher trophy of some type if the majority damage was from a crusher!

+

Used for all the mobs droppin' crusher trophies

+ + +

Vars

drop_immediatelyIf true, will immediately spawn the item instead of putting it in butcher loot.
drop_modchance to drop the trophy, lowered by the mob only taking partial crusher damage instead of full +for example, 25% would mean ~4 mobs need to die before you find one. +but it would be more if you didn't deal full crusher damage to them.
trophy_typePath of the trophy dropped
+

Var Details

drop_immediately + + + + +

+

If true, will immediately spawn the item instead of putting it in butcher loot.

drop_mod + + + + +

+

chance to drop the trophy, lowered by the mob only taking partial crusher damage instead of full +for example, 25% would mean ~4 mobs need to die before you find one. +but it would be more if you didn't deal full crusher damage to them.

trophy_type + + + + +

+

Path of the trophy dropped

+ + + diff --git a/datum/element/cuffsnapping.html b/datum/element/cuffsnapping.html new file mode 100644 index 00000000000..79624c921f2 --- /dev/null +++ b/datum/element/cuffsnapping.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/cuffsnapping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cuffsnapping + + + +

+ +

cuffsnapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.

+

Element is incompatible with non-items. Requires the parent item to have a force equal to or greater than WOUND_MINIMUM_DAMAGE. +Also requires that the parent can actually get past pre_secondary_attack without the attack chain cancelling.

+

cuffsnapping attacks have a wounding bonus between severe and critical+10 wound thresholds. Without some serious wound protecting +armour this all but guarantees a wound of some sort. The attack is directed specifically at a limb and the limb takes the damage.

+

Requires the cutter_user to be aiming for either leg zone, which will be targeted specifically. They will than have a 3-second long +do_after before executing the attack.

+

cuffsnapping requires the target to either be on the floor, immobilised or buckled to something. And also to have an appropriate leg.

+

Passing all the checks will cancel the entire attack chain.

+

Cuffsnapping element! When added to an item allows it to attempt to break cuffs. +Depending on certain parameters and variables it might only be able to cut through cable, or take time, etc.

+

Element is only compatible with items.

+ + + +

Vars

snap_time_strongIf not null, can snap handcuffs.
snap_time_weakIf not null, can snap cable restraints and similar.

Procs

AttachNote: As of time of writing (5/9/23) it takes 4 seconds to manually remove handcuffs. Anything above that value is a waste of time.
on_examinesignal called on parent being examined
+

Var Details

snap_time_strong + + + + +

+

If not null, can snap handcuffs.

snap_time_weak + + + + +

+

If not null, can snap cable restraints and similar.

Proc Details

Attach +

+

Note: As of time of writing (5/9/23) it takes 4 seconds to manually remove handcuffs. Anything above that value is a waste of time.

on_examine +

+

signal called on parent being examined

+ + + diff --git a/datum/element/cult_eyes.html b/datum/element/cult_eyes.html new file mode 100644 index 00000000000..2381df68da1 --- /dev/null +++ b/datum/element/cult_eyes.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/cult_eyes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

Cult eyes element + + + +

+ +

Applies and removes the glowing cult eyes

+ +

Procs

DetachDetach proc
set_eyesCult eye setter proc

Proc Details

Detach +

+

Detach proc

+

Removes the eye color, and trait from the mob

set_eyes +

+

Cult eye setter proc

+

Changes the eye color, and adds the glowing eye trait to the mob.

+ + + diff --git a/datum/element/cult_halo.html b/datum/element/cult_halo.html new file mode 100644 index 00000000000..eb345764856 --- /dev/null +++ b/datum/element/cult_halo.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/cult_halo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

Cult halo element + + + +

+ +

Applies and removes the cult halo

+ +

Procs

DetachDetach proc
set_haloHalo setter proc

Proc Details

Detach +

+

Detach proc

+

Removes the halo overlays, and trait from the mob

set_halo +

+

Halo setter proc

+

Adds the cult halo overlays, and adds the halo trait to the mob.

+ + + diff --git a/datum/element/curse_announcement.html b/datum/element/curse_announcement.html new file mode 100644 index 00000000000..8d8ef539901 --- /dev/null +++ b/datum/element/curse_announcement.html @@ -0,0 +1,59 @@ + + + + + + + /datum/element/curse_announcement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

curse announcement element! + + + +

+ +

Bespoke element that sends a harrowing message when you first pick up an item, applying a spooky color outline and renaming the item. +For most items, it will announce when picked up. If the item can be equipped, though, it will only announce when the item is worn. +Possible improvements for the future: add an option to allow the cursed affix to be a prefix. right now only coded for suffixes

+ + + +

Vars

announcement_messagemessage sent on announce
fantasy_componentoptional fantasy component, used in building the name if provided
filter_colorcolor of the outline filter on announce
new_namenew name given to the item on announce
+

Var Details

announcement_message + + + + +

+

message sent on announce

fantasy_component + + + + +

+

optional fantasy component, used in building the name if provided

filter_color + + + + +

+

color of the outline filter on announce

new_name + + + + +

+

new name given to the item on announce

+ + + diff --git a/datum/element/damage_threshold.html b/datum/element/damage_threshold.html new file mode 100644 index 00000000000..418cac830b0 --- /dev/null +++ b/datum/element/damage_threshold.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/damage_threshold - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

damage_threshold + + + +

+ +

Applied to living mobs. +Adds a force threshold for which attacks will be blocked entirely. +IE, if they are hit with an attack that deals less than X damage, the attack does nothing.

+

Vars

force_thresholdIncoming attacks beneath this threshold, inclusive, will be blocked entirely
+

Var Details

force_threshold + + + + +

+

Incoming attacks beneath this threshold, inclusive, will be blocked entirely

+ + + diff --git a/datum/element/dangerous_surgical_removal.html b/datum/element/dangerous_surgical_removal.html new file mode 100644 index 00000000000..8f5cd59f430 --- /dev/null +++ b/datum/element/dangerous_surgical_removal.html @@ -0,0 +1,30 @@ + + + + + + + /datum/element/dangerous_surgical_removal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

dangerous_surgical_removal + + + +

+ +DANGEROUS SURGICAL REMOVAL ELEMENT +

Makes the organ explode when removed surgically. +That's about it.

+ + + diff --git a/datum/element/death_drops.html b/datum/element/death_drops.html new file mode 100644 index 00000000000..a1429cf0b5f --- /dev/null +++ b/datum/element/death_drops.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/death_drops - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

death_drops + + + +

+ +death drops element! +

bespoke element that spawn can spawn one or multiple objects when a mob is killed

+ +

Vars

lootwhat items the target drops when killed

Procs

on_deathsignal called by the stat of the target changing
+

Var Details

loot + + + + +

+

what items the target drops when killed

Proc Details

on_death +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/death_explosion.html b/datum/element/death_explosion.html new file mode 100644 index 00000000000..480dc7041bb --- /dev/null +++ b/datum/element/death_explosion.html @@ -0,0 +1,58 @@ + + + + + + + /datum/element/death_explosion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

death_explosion + + + +

+ +death explosion element! +

Bespoke element that generates an explosion when a mob is killed.

+ + + +

Vars

devastationThe range at which devastating impact happens
heavy_impactThe range at which heavy impact happens
light_impactThe range at which light impact happens

Procs

on_deathTriggered when target dies, make an explosion.
+

Var Details

devastation + + + + +

+

The range at which devastating impact happens

heavy_impact + + + + +

+

The range at which heavy impact happens

light_impact + + + + +

+

The range at which light impact happens

Proc Details

on_death +

+

Triggered when target dies, make an explosion.

+ + + diff --git a/datum/element/death_gases.html b/datum/element/death_gases.html new file mode 100644 index 00000000000..6b834b6f27f --- /dev/null +++ b/datum/element/death_gases.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/death_gases - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

death_gases + + + +

+ +death gases element! +

Bespoke element that spawns one type of gas when a mob is killed

+ + +

Vars

amount_of_gasThe amount of gas spawned on death
gas_typeWhat gas the target spawns when killed

Procs

on_deathsignal called by the stat of the target changing
+

Var Details

amount_of_gas + + + + +

+

The amount of gas spawned on death

gas_type + + + + +

+

What gas the target spawns when killed

Proc Details

on_death +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/decal.html b/datum/element/decal.html new file mode 100644 index 00000000000..41752e6d7dc --- /dev/null +++ b/datum/element/decal.html @@ -0,0 +1,93 @@ + + + + + + + /datum/element/decal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

decal + + + +

+ + + + + + + + + +

Vars

base_icon_stateThe base icon state that this decal was initialized with.
cleanableWhether this decal can be cleaned.
descriptionA description this decal appends to the target's examine message.
directionalIf true this was initialized with no set direction - will follow the parent dir.
picThe overlay applied by this decal to the target.
smoothingWhat smoothing junction this was initialized with.

Procs

generate_appearance
smooth_reactReacts to the source atom smoothing.
+

Var Details

base_icon_state + + + + +

+

The base icon state that this decal was initialized with.

cleanable + + + + +

+

Whether this decal can be cleaned.

description + + + + +

+

A description this decal appends to the target's examine message.

directional + + + + +

+

If true this was initialized with no set direction - will follow the parent dir.

pic + + + + +

+

The overlay applied by this decal to the target.

smoothing + + + + +

+

What smoothing junction this was initialized with.

Proc Details

generate_appearance +

+ generate_appearance +

If the decal was not given an appearance, it will generate one based on the other given arguments. +element won't be compatible if it cannot do either +all args are fed into creating an image, they are byond vars for images you'll recognize in the byond docs +(except source, source is the object whose appearance we're copying.)

smooth_react +

+

Reacts to the source atom smoothing.

+

Arguments:

+
+ + + diff --git a/datum/element/deliver_first.html b/datum/element/deliver_first.html new file mode 100644 index 00000000000..1dc894b3909 --- /dev/null +++ b/datum/element/deliver_first.html @@ -0,0 +1,85 @@ + + + + + + + /datum/element/deliver_first - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

deliver_first + + + +

+ + + + + + + + + +

Vars

deny_cooldowncooldown for the deny sound
goal_area_typetypepath of the area we will be allowed to be opened in
paymenthow much is earned on delivery of the crate

Procs

area_checkregisters the signal that blocks target from opening when outside of the valid area, returns if it is now unlocked
on_examinesignal sent from examining target
on_post_opensignal called by successfully opening target
on_pre_opensignal called before opening target, blocks opening
remove_lockcalled to remove the element in a flavorful way, either from delivery or from emagging/breaking open the crate
+

Var Details

deny_cooldown + + + + +

+

cooldown for the deny sound

goal_area_type + + + + +

+

typepath of the area we will be allowed to be opened in

payment + + + + +

+

how much is earned on delivery of the crate

Proc Details

area_check +

+

registers the signal that blocks target from opening when outside of the valid area, returns if it is now unlocked

on_examine +

+

signal sent from examining target

on_post_open +

+

signal called by successfully opening target

on_pre_open +

+

signal called before opening target, blocks opening

remove_lock +

+

called to remove the element in a flavorful way, either from delivery or from emagging/breaking open the crate

+ + + diff --git a/datum/element/dextrous.html b/datum/element/dextrous.html new file mode 100644 index 00000000000..dcb13ceb2d4 --- /dev/null +++ b/datum/element/dextrous.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/dextrous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dextrous + + + +

+ +

Sets up the attachee to have hands and manages things like dropping items on death and displaying them on examine +Actual hand performance is managed by code on /living/ and not encapsulated here, we just enable it

+ + + +

Procs

on_deathDrop our shit when we die
on_examinedTell people what we are holding
on_hand_clickedTry picking up items
set_available_handsSet up how many hands we should have

Proc Details

on_death +

+

Drop our shit when we die

on_examined +

+

Tell people what we are holding

on_hand_clicked +

+

Try picking up items

set_available_hands +

+

Set up how many hands we should have

+ + + diff --git a/datum/element/diggable.html b/datum/element/diggable.html new file mode 100644 index 00000000000..32161dc3af8 --- /dev/null +++ b/datum/element/diggable.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/diggable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

diggable + + + +

+ +

Lets you make hitting a turf with a shovel pop something out, and scrape the turf

+ + + + + +

Vars

action_textWhat should we tell the user they did? (Eg: "You dig up the turf.")
action_text_third_personWhat should we tell other people what the user did? (Eg: "Guy digs up the turf.")
amountAmount to spawn on shovel
to_spawnTypepath of what we spawn on shovel
worm_chancePercentage chance of receiving a bonus worm

Procs

on_shovelSignal proc for COMSIG_ATOM_TOOL_ACT via [TOOL_SHOVEL].
+

Var Details

action_text + + + + +

+

What should we tell the user they did? (Eg: "You dig up the turf.")

action_text_third_person + + + + +

+

What should we tell other people what the user did? (Eg: "Guy digs up the turf.")

amount + + + + +

+

Amount to spawn on shovel

to_spawn + + + + +

+

Typepath of what we spawn on shovel

worm_chance + + + + +

+

Percentage chance of receiving a bonus worm

Proc Details

on_shovel +

+

Signal proc for COMSIG_ATOM_TOOL_ACT via [TOOL_SHOVEL].

+ + + diff --git a/datum/element/door_pryer.html b/datum/element/door_pryer.html new file mode 100644 index 00000000000..d2c1dd1341e --- /dev/null +++ b/datum/element/door_pryer.html @@ -0,0 +1,58 @@ + + + + + + + /datum/element/door_pryer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

door_pryer + + + +

+ +

Attached to a basic mob. +Causes attacks on doors to attempt to open them.

+ + + +

Vars

interaction_keyInteraction key for if we force a door open
pry_timeTime it takes to open a door with force

Procs

on_attackIf we're targeting an airlock, open it
open_doorTry opening the door, and if we can't then try forcing it
+

Var Details

interaction_key + + + + +

+

Interaction key for if we force a door open

pry_time + + + + +

+

Time it takes to open a door with force

Proc Details

on_attack +

+

If we're targeting an airlock, open it

open_door +

+

Try opening the door, and if we can't then try forcing it

+ + + diff --git a/datum/element/drag_pickup.html b/datum/element/drag_pickup.html new file mode 100644 index 00000000000..9d739402fa3 --- /dev/null +++ b/datum/element/drag_pickup.html @@ -0,0 +1,29 @@ + + + + + + + /datum/element/drag_pickup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

drag_pickup + + + +

+ +

drag_pickup element; for allowing things to be picked up by dragging.

+

Used for paper bins.

+ + + diff --git a/datum/element/dryable.html b/datum/element/dryable.html new file mode 100644 index 00000000000..54ea47109cb --- /dev/null +++ b/datum/element/dryable.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/dryable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dryable + + + +

+ + +

Vars

dry_resultThe type of atom that is spawned by this element on drying.
+

Var Details

dry_result + + + + +

+

The type of atom that is spawned by this element on drying.

+ + + diff --git a/datum/element/effect_trail.html b/datum/element/effect_trail.html new file mode 100644 index 00000000000..d028b09814a --- /dev/null +++ b/datum/element/effect_trail.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/effect_trail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

effect_trail + + + +

+ + + +

Vars

chosen_effectThe effect used for the trail generation.

Procs

generate_effectGenerates an effect
+

Var Details

chosen_effect + + + + +

+

The effect used for the trail generation.

Proc Details

generate_effect +

+

Generates an effect

+ + + diff --git a/datum/element/elevation.html b/datum/element/elevation.html new file mode 100644 index 00000000000..a34efdcc061 --- /dev/null +++ b/datum/element/elevation.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/elevation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

elevation + + + +

+ +

Manages the elevation of the turf the source is on (can be the turf itself) +The atom with the highest pixel_shift gets to set the elevation of the turf to that value.

+ +

Vars

pixel_shiftThe amount of pixel_z applied to the mob standing on the turf

Procs

pre_change_turfChanging or destroying the turf detaches the element, also we need to reapply the traits since they don't get passed down.
+

Var Details

pixel_shift + + + + +

+

The amount of pixel_z applied to the mob standing on the turf

Proc Details

pre_change_turf +

+

Changing or destroying the turf detaches the element, also we need to reapply the traits since they don't get passed down.

+ + + diff --git a/datum/element/elevation_core.html b/datum/element/elevation_core.html new file mode 100644 index 00000000000..f1b89ef1a34 --- /dev/null +++ b/datum/element/elevation_core.html @@ -0,0 +1,65 @@ + + + + + + + /datum/element/elevation_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

elevation_core + + + +

+ +

The core element attached to the turf itself. Do not use this directly!

+

Causes mobs walking over a turf with this element to be pixel shifted vertically by the pixel_shift amount. +Because of the way it's structured, it should only be added through the elevation element (without the core suffix).

+

To explain: in the case of multiple objects with (different instances of) the element being stacked on one turf somehow, +we only want that with the highest pixel shift value to apply it to the turf, so that the mobs standing on top of it all +doesn't look like it's floating off the pile.

+ + +

Vars

pixel_shiftThe amount of pixel_z applied to the mob standing on the turf.

Procs

on_enteredSince the element can be removed outside of Destroy(), +and even then, signals are passed down to the new turf, +it's necessary to clear them here.
on_set_buckledIf the mob is buckled or unbuckled to/from a vehicle, shift it up/down +. +Null the pixel shift if the mob is buckled to something different that's not a mob or vehicle
+

Var Details

pixel_shift + + + + +

+

The amount of pixel_z applied to the mob standing on the turf.

Proc Details

on_entered +

+

Since the element can be removed outside of Destroy(), +and even then, signals are passed down to the new turf, +it's necessary to clear them here.

on_set_buckled +

+

If the mob is buckled or unbuckled to/from a vehicle, shift it up/down +. +Null the pixel shift if the mob is buckled to something different that's not a mob or vehicle

+

The reason is that it's more important for a mob to look like they're actually buckled to a bed +or something anchored to the floor than atop of whatever else is on the same turf.

+ + + diff --git a/datum/element/embed.html b/datum/element/embed.html new file mode 100644 index 00000000000..a2f0ced4bbc --- /dev/null +++ b/datum/element/embed.html @@ -0,0 +1,105 @@ + + + + + + + /datum/element/embed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

embed + + + +

+ + + + + + + + + + +

Vars

embed_chancewhether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Procs

checkEmbedChecking to see if we're gonna embed into a human
checkEmbedProjectilecheckEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.
detachFromWeaponIf we don't want to be embeddable anymore (deactivating an e-dagger for instance)
embed_objectActually sticks the object to a victim
examinedSomeone inspected our embeddable item
roll_embed_chanceCalculates the actual chance to embed based on armour penetration and throwing speed, then returns true if we pass that probability check
severancePackageA different embed element has been attached, so we'll detach and let them handle things
tryForceEmbedtryForceEmbed() is called here when we fire COMSIG_EMBED_TRY_FORCE from /obj/item/proc/tryEmbed. Mostly, this means we're a piece of shrapnel from a projectile that just impacted something, and we're trying to embed in it.
+

Var Details

embed_chance + + + + +

+

whether we can skip assigning all the vars (since these are bespoke elements, we don't have to reset the vars every time we attach to something, we already know what we are!)

Proc Details

checkEmbed +

+

Checking to see if we're gonna embed into a human

checkEmbedProjectile +

+

checkEmbedProjectile() is what we get when a projectile with a defined shrapnel_type impacts a target.

+

If we hit a valid target, we create the shrapnel_type object and then forcefully try to embed it on its +behalf. DO NOT EVER add an embed element to the payload and let it do the rest. +That's awful, and it'll limit us to drop-deletable shrapnels in the worry of stuff like +arrows and harpoons being embeddable even when not let loose by their weapons.

detachFromWeapon +

+

If we don't want to be embeddable anymore (deactivating an e-dagger for instance)

embed_object +

+

Actually sticks the object to a victim

examined +

+

Someone inspected our embeddable item

roll_embed_chance +

+

Calculates the actual chance to embed based on armour penetration and throwing speed, then returns true if we pass that probability check

severancePackage +

+

A different embed element has been attached, so we'll detach and let them handle things

tryForceEmbed +

+

tryForceEmbed() is called here when we fire COMSIG_EMBED_TRY_FORCE from /obj/item/proc/tryEmbed. Mostly, this means we're a piece of shrapnel from a projectile that just impacted something, and we're trying to embed in it.

+

The reason for this extra mucking about is avoiding having to do an extra hitby(), and annoying the target by impacting them once with the projectile, then again with the shrapnel, and possibly +AGAIN if we actually embed. This way, we save on at least one message.

+

Arguments:

+
+ + + diff --git a/datum/element/envenomable_casing.html b/datum/element/envenomable_casing.html new file mode 100644 index 00000000000..a033f71437a --- /dev/null +++ b/datum/element/envenomable_casing.html @@ -0,0 +1,61 @@ + + + + + + + /datum/element/envenomable_casing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

envenomable_casing + + + +

+ +envenomable caseless element! +

Non bespoke element (1 in existence) that lets caseless bullets be dippable. +When you fire the bullet, it will gain venomous. The casing itself isn't venomous to prevent bullshit

+ + + +

Vars

amount_allowedhow much reagent can you dip the caseless in?

Procs

on_afterattacksignal called on the parent attacking an item
on_examine_after_dipditto, but after it's been coated
on_examine_before_dipstops further poison application +signal called on parent being examined while not coated
+

Var Details

amount_allowed + + + + +

+

how much reagent can you dip the caseless in?

Proc Details

on_afterattack +

+

signal called on the parent attacking an item

on_examine_after_dip +

+

ditto, but after it's been coated

on_examine_before_dip +

+

stops further poison application +signal called on parent being examined while not coated

+ + + diff --git a/datum/element/eyestab.html b/datum/element/eyestab.html new file mode 100644 index 00000000000..2a636708810 --- /dev/null +++ b/datum/element/eyestab.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/eyestab - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eyestab + + + +

+ +

An element that lets you stab people in the eyes when targeting them

+

Vars

damageThe amount of damage to do per eyestab
+

Var Details

damage + + + + +

+

The amount of damage to do per eyestab

+ + + diff --git a/datum/element/falling_hazard.html b/datum/element/falling_hazard.html new file mode 100644 index 00000000000..2b77855cda9 --- /dev/null +++ b/datum/element/falling_hazard.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/falling_hazard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

falling_hazard + + + +

+ +

An element that will make a target thing do damage to any mob that it falls on from a z-level above

+ + + + + +

Vars

crushes_peopleDoes the target crush and flatten whoever it falls on
fall_damageThe amount of damage to do when the target falls onto a mob
fall_wound_bonusThe wound bonus to give damage dealt against mobs we fall on
impact_soundWhat sound is played when the target falls onto a mob
obeys_hardhatsDoes we take into consideration if the target has head protection (hardhat, or a strong enough helmet)

Procs

fall_onto_stuffGathers every mob in the turf the target falls on, and does damage/crushes them/makes a message about the target falling on them
+

Var Details

crushes_people + + + + +

+

Does the target crush and flatten whoever it falls on

fall_damage + + + + +

+

The amount of damage to do when the target falls onto a mob

fall_wound_bonus + + + + +

+

The wound bonus to give damage dealt against mobs we fall on

impact_sound + + + + +

+

What sound is played when the target falls onto a mob

obeys_hardhats + + + + +

+

Does we take into consideration if the target has head protection (hardhat, or a strong enough helmet)

Proc Details

fall_onto_stuff +

+

Gathers every mob in the turf the target falls on, and does damage/crushes them/makes a message about the target falling on them

+ + + diff --git a/datum/element/firestacker.html b/datum/element/firestacker.html new file mode 100644 index 00000000000..f7c1051036b --- /dev/null +++ b/datum/element/firestacker.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/firestacker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

firestacker + + + +

+ +

Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit

+

Vars

amountHow many firestacks to apply per hit
+

Var Details

amount + + + + +

+

How many firestacks to apply per hit

+ + + diff --git a/datum/element/floor_loving.html b/datum/element/floor_loving.html new file mode 100644 index 00000000000..24ad7434054 --- /dev/null +++ b/datum/element/floor_loving.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/floor_loving - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

floor_loving + + + +

+ +

Prevents a movable atom from moving to somewhere which isn't an open turf with floor on it

+

Procs

attempting_moveBlock movement to any non-floor location

Proc Details

attempting_move +

+

Block movement to any non-floor location

+ + + diff --git a/datum/element/food_trash.html b/datum/element/food_trash.html new file mode 100644 index 00000000000..b7cd45b4023 --- /dev/null +++ b/datum/element/food_trash.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/food_trash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

food_trash + + + +

+ + + + + +

Vars

flagsFlags of the trash element that change its behavior
generate_trash_procpathGenerate trash proc path
trashThe type of trash that is spawned by this element

Procs

async_generate_trashcringy signal_handler shouldnt be needed if you dont want to return but oh well
+

Var Details

flags + + + + +

+

Flags of the trash element that change its behavior

generate_trash_procpath + + + + +

+

Generate trash proc path

trash + + + + +

+

The type of trash that is spawned by this element

Proc Details

async_generate_trash +

+

cringy signal_handler shouldnt be needed if you dont want to return but oh well

+ + + diff --git a/datum/element/footstep.html b/datum/element/footstep.html new file mode 100644 index 00000000000..66ff076bfa5 --- /dev/null +++ b/datum/element/footstep.html @@ -0,0 +1,87 @@ + + + + + + + /datum/element/footstep - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

footstep + + + +

+ +

Footstep element. Plays footsteps at parents location when it is appropriate.

+ + + + + + + +

Vars

e_rangee_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.
footstep_soundsThis can be a list OR a soundfile OR null. Determines whatever sound gets played.
footstep_typefootstep_type is a define which determines what kind of sounds should get chosen.
sound_varyWhether or not to add variation to the sounds played
steps_for_livingA list containing living mobs and the number of steps they have taken since the last time their footsteps were played.
volumevolume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Procs

play_simplestep_machinelist returned by playsound() filled by client mobs who heard the footstep. given to play_fov_effect() +Prepares a footstep for machine walking
prepare_stepPrepares a footstep for living mobs. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open
+

Var Details

e_range + + + + +

+

e_range stands for extra range - aka how far the sound can be heard. This is added to the base value and ignored if there isn't a base value.

footstep_sounds + + + + +

+

This can be a list OR a soundfile OR null. Determines whatever sound gets played.

footstep_type + + + + +

+

footstep_type is a define which determines what kind of sounds should get chosen.

sound_vary + + + + +

+

Whether or not to add variation to the sounds played

steps_for_living + + + + +

+

A list containing living mobs and the number of steps they have taken since the last time their footsteps were played.

volume + + + + +

+

volume determines the extra volume of the footstep. This is multiplied by the base volume, should there be one.

Proc Details

play_simplestep_machine +

+

list returned by playsound() filled by client mobs who heard the footstep. given to play_fov_effect() +Prepares a footstep for machine walking

prepare_step +

+

Prepares a footstep for living mobs. Determines if it should get played. Returns the turf it should get played on. Note that it is always a /turf/open

+ + + diff --git a/datum/element/footstep_override.html b/datum/element/footstep_override.html new file mode 100644 index 00000000000..22518a7fb8e --- /dev/null +++ b/datum/element/footstep_override.html @@ -0,0 +1,102 @@ + + + + + + + /datum/element/footstep_override - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

footstep_override + + + +

+ +

When attached, the footstep sound played by the footstep element will be replaced by this one's

+ + + + + + + + +

Vars

barefootstepThe sound played for movables with barefoot step sound type.
clawfootstepThe sound played for movables with claw step sound type.
footstepThe sound played for movables with shoed step sound type.
heavyfootstepThe sound played for movables with heavy step sound type.
occupied_turfsA list of turfs occupied by the movables this element is attached to. +Needed so it stops listening the turf's signals ONLY when it has no movable with the element.
priorityThe priority this element has in relation to other elements of the same type attached to other movables on the same turf.

Procs

occupy_turfAdds the movable to the list of movables with the element occupying the turf. +If the turf was not on the list of occupied turfs before, a signal will be registered +to it.
prepare_stepsChanges the sound types to be played if the element priority is higher than the one in the steps list.
vacate_turfRemoves the movable from the list of movables with the element occupying the turf. +If the turf is no longer occupied, it'll be removed from the list, and the signal +unregistered from it
+

Var Details

barefootstep + + + + +

+

The sound played for movables with barefoot step sound type.

clawfootstep + + + + +

+

The sound played for movables with claw step sound type.

footstep + + + + +

+

The sound played for movables with shoed step sound type.

heavyfootstep + + + + +

+

The sound played for movables with heavy step sound type.

occupied_turfs + + + + +

+

A list of turfs occupied by the movables this element is attached to. +Needed so it stops listening the turf's signals ONLY when it has no movable with the element.

priority + + + + +

+

The priority this element has in relation to other elements of the same type attached to other movables on the same turf.

Proc Details

occupy_turf +

+

Adds the movable to the list of movables with the element occupying the turf. +If the turf was not on the list of occupied turfs before, a signal will be registered +to it.

prepare_steps +

+

Changes the sound types to be played if the element priority is higher than the one in the steps list.

vacate_turf +

+

Removes the movable from the list of movables with the element occupying the turf. +If the turf is no longer occupied, it'll be removed from the list, and the signal +unregistered from it

+ + + diff --git a/datum/element/forced_gravity.html b/datum/element/forced_gravity.html new file mode 100644 index 00000000000..6110b65c139 --- /dev/null +++ b/datum/element/forced_gravity.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/forced_gravity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

forced_gravity + + + +

+ + + +

Vars

gravitythe level of gravity we force unto our target
ignore_turf_gravitywhether we will override the turf if it forces no gravity
+

Var Details

gravity + + + + +

+

the level of gravity we force unto our target

ignore_turf_gravity + + + + +

+

whether we will override the turf if it forces no gravity

+ + + diff --git a/datum/element/fried_item.html b/datum/element/fried_item.html new file mode 100644 index 00000000000..3ff81849614 --- /dev/null +++ b/datum/element/fried_item.html @@ -0,0 +1,38 @@ + + + + + + + /datum/element/fried_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fried_item + + + +

+ +

Items fried through the deep fryer.

+

Vars

fried_colorsList of colors to apply the element target. +Each index corresponds to a different level.
+

Var Details

fried_colors + + + + +

+

List of colors to apply the element target. +Each index corresponds to a different level.

+ + + diff --git a/datum/element/frozen.html b/datum/element/frozen.html new file mode 100644 index 00000000000..51762120a95 --- /dev/null +++ b/datum/element/frozen.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/frozen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

frozen + + + +

+ +

simple element to handle frozen obj's

+ + +

Procs

on_movedsignal handler for COMSIG_MOVABLE_MOVED that unfreezes our target if it moves onto an open turf thats hotter than +our melting temperature.
on_unfreezesignal handler for COMSIG_OBJ_UNFREEZE that forces us to detach from the target
shatter_on_throwsignal handler for COMSIG_MOVABLE_POST_THROW that shatters our target after impacting after a throw

Proc Details

on_moved +

+

signal handler for COMSIG_MOVABLE_MOVED that unfreezes our target if it moves onto an open turf thats hotter than +our melting temperature.

on_unfreeze +

+

signal handler for COMSIG_OBJ_UNFREEZE that forces us to detach from the target

shatter_on_throw +

+

signal handler for COMSIG_MOVABLE_POST_THROW that shatters our target after impacting after a throw

+ + + diff --git a/datum/element/give_turf_traits.html b/datum/element/give_turf_traits.html new file mode 100644 index 00000000000..257eaba840b --- /dev/null +++ b/datum/element/give_turf_traits.html @@ -0,0 +1,82 @@ + + + + + + + /datum/element/give_turf_traits - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

give_turf_traits + + + +

+ +

A bespoke element that adds a set of traits to the turf while occupied by at least one attached movabled.

+ + + + + + +

Vars

trait_sourcesList of sources we are using to reapply traits when turf changes
traitsA list of traits that are added to the turf while occupied.

Procs

add_to_occupied_turfsRegisters the turf signals if it was previously unoccupied and adds it to the list of occupied turfs. +Otherwise, it just adds the movable to the assoc value of lists occupying the turf.
on_movedRemoves the trait from the old turf and adds it to the new one.
pre_change_turfSignals and components are carried over when the turf is changed, so they've to be readded post-change.
remove_from_occupied_turfsUnregisters the turf signals if it's no longer unoccupied and removes it from the list of occupied turfs. +Otherwise, it just removes the movable from the assoc value of lists occupying the turf.
reoccupy_turfReapply turf traits to the provided turf
+

Var Details

trait_sources + + + + +

+

List of sources we are using to reapply traits when turf changes

traits + + + + +

+

A list of traits that are added to the turf while occupied.

Proc Details

add_to_occupied_turfs +

+

Registers the turf signals if it was previously unoccupied and adds it to the list of occupied turfs. +Otherwise, it just adds the movable to the assoc value of lists occupying the turf.

on_moved +

+

Removes the trait from the old turf and adds it to the new one.

pre_change_turf +

+

Signals and components are carried over when the turf is changed, so they've to be readded post-change.

remove_from_occupied_turfs +

+

Unregisters the turf signals if it's no longer unoccupied and removes it from the list of occupied turfs. +Otherwise, it just removes the movable from the assoc value of lists occupying the turf.

reoccupy_turf +

+

Reapply turf traits to the provided turf

+ + + diff --git a/datum/element/hat_wearer.html b/datum/element/hat_wearer.html new file mode 100644 index 00000000000..63bcbe88760 --- /dev/null +++ b/datum/element/hat_wearer.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/hat_wearer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mobs that can wear hats! + + + +

+ + + + +

Vars

offsetsoffsets of hats we will wear
remove_hat_signalssignals to remove the hat on
traits_prevent_checkstraits we check before adding the hat
+

Var Details

offsets + + + + +

+

offsets of hats we will wear

remove_hat_signals + + + + +

+

signals to remove the hat on

traits_prevent_checks + + + + +

+

traits we check before adding the hat

+ + + diff --git a/datum/element/heretic_focus.html b/datum/element/heretic_focus.html new file mode 100644 index 00000000000..c9c8c92c9f6 --- /dev/null +++ b/datum/element/heretic_focus.html @@ -0,0 +1,56 @@ + + + + + + + /datum/element/heretic_focus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

heretic_focus + + + +

+ +

Heretic focus element, simple element for making an item a heretic focus, +allowing heretics to cast advanced spells (examine message included).

+ + +

Procs

on_dropSignal proc for COMSIG_ITEM_DROPPED. +Remove our trait when we drop (unequip) our item
on_equipSignal proc for COMSIG_ITEM_EQUIPPED. +When equipped in a right slot, give user our trait
on_examineSignal proc for COMSIG_ATOM_EXAMINE. +Let's the examiner see that this item is a heretic focus

Proc Details

on_drop +

+

Signal proc for COMSIG_ITEM_DROPPED. +Remove our trait when we drop (unequip) our item

on_equip +

+

Signal proc for COMSIG_ITEM_EQUIPPED. +When equipped in a right slot, give user our trait

on_examine +

+

Signal proc for COMSIG_ATOM_EXAMINE. +Let's the examiner see that this item is a heretic focus

+ + + diff --git a/datum/element/high_fiver.html b/datum/element/high_fiver.html new file mode 100644 index 00000000000..7ea551734d3 --- /dev/null +++ b/datum/element/high_fiver.html @@ -0,0 +1,42 @@ + + + + + + + /datum/element/high_fiver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

High Fiver Element + + + +

+ +

Attach to an item to make it offer a "high five" when offered to people

+ +

Procs

on_offerSignal proc for COMSIG_ITEM_OFFERING to set up the high-five on offer
on_offer_takenSignal proc for COMSIG_ITEM_OFFER_TAKEN to continue through with the high-five on take

Proc Details

on_offer +

+

Signal proc for COMSIG_ITEM_OFFERING to set up the high-five on offer

on_offer_taken +

+

Signal proc for COMSIG_ITEM_OFFER_TAKEN to continue through with the high-five on take

+ + + diff --git a/datum/element/immerse.html b/datum/element/immerse.html new file mode 100644 index 00000000000..7ffdb4571af --- /dev/null +++ b/datum/element/immerse.html @@ -0,0 +1,250 @@ + + + + + + + /datum/element/immerse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

immerse + + + +

+ +

A visual element that makes movables entering the attached turfs look immersed into that turf.

+

Abandon all hope, ye who read forth, for this immerse works on mind-numbing workarounds,

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

attached_turfs_and_movablesAn association list of turfs that have this element attached and their affected contents.
generated_immerse_iconsA list of icons generated from a target and a mask, later used as appearances for the overlays.
generated_visual_overlaysA list of instances of /atom/movable/immerse_overlay then used as visual overlays for the immersed movables.
immersed_movablesAn association list of movables as key and overlays as assoc.
movables_to_ignoreA list of movables that shouldn't be affected by the element, either because it'd look bad +or barely perceptible.

Procs

DetachHello, you may be wondering why we're blending icons and not simply +overlaying one mutable appearance with the blend multiply on another. +Well, the latter option doesn't work as neatly when added +to an atom with the KEEP_TOGETHER appearance flag, with the mask icon also +showing on said atom, while we don't want it to.
add_immerse_overlayThe main proc, which adds a visual overlay to the movable that has entered the turf to make it look immersed. +It's kind of iffy but basically, we want the overlay to cover as much area as needed to +avoid the movable's icon from spilling horizontally or below. +Also, while these visual overlays are mainly cached movables, for certain movables, such as living mobs, +we want them to have their own unique vis overlay with additional signals registered. +This allows the vis overlay to look more or less unchanged while its owner is spinning or resting +without otherwise affecting other movables with identical overlays.
clear_overlay_refsWe need to make sure to remove hard refs from the element when deleted.
generate_vis_overlayLet's give an unique immerse visual only to those movables that would +benefit from this the most, for the sake of a smidge of lightweightness. +Initializes and caches a new visual overlay given parameters such as width, height and whether it should appear fully underwater.
on_atom_exitedCalled when a movable exits the turf. If its new location is not in the list of turfs with this element, +Remove the movable from the element.
on_init_or_enteredIf the movable is within the right layers and planes, not in the list of movable types to ignore, +or already affected by the element for that matter, Signals will be registered and, +unless the movable (or whatever it's buckled to) is flying, it'll appear as if immersed in that water.
on_move_flag_disabledReadds the overlay to the mob and bucklees if no longer flying.
on_move_flag_enabledRemoves the overlay from mob and bucklees is flying.
on_spin_animationHere, we temporarily switch from the offset of the mutable appearance to one for movable used as visual overlay. +Why? While visual overlays can be animated, their fixed point stays at the center of the icon of the atom +they're attached to and not theirs, which can make manipulating the transform var a pain, but because +we cannot do that with normal overlay or filters (reliably), we have to bend a knee and try to compensate it. +Oh, yeah, didn't I mention turning a visual overlay affects its pixel x/y/w/z too? Yeah, it sucks. +Spin the overlay in the opposite direction so it doesn't look like it's spinning at all.
on_throwWorks just like on_move_flag_enabled, except it only has to check that movable isn't flying
on_throw_landedWorks just like on_move_flag_disabled, except it only has to check that movable isn't flying
on_update_transformA band-aid to keep the (unique) visual overlay from scaling and rotating along with its owner. I'm sorry.
remove_from_elementRemove any signal, overlay, trait given to the movable and reference to it within the element.
remove_immerse_overlayvis contents spin around the center of the icon of their vis locs +but since we want the appearance to stay where it should be, +we have to counteract this one. +This proc removes the vis_overlay, the keep together trait and some signals from the movable.
start_immersionMakes the element start affecting the turf and its contents. Called on Attach() or when TRAIT_IMMERSE_STOPPED is removed.
stop_immersionStops the element from affecting on the turf and its contents. Called on Detach() or when TRAIT_IMMERSE_STOPPED is added.
try_immerseCalled by init_or_entered() and on_set_buckled(). +This applies the overlay if neither the movable or whatever is buckled to (exclusive to living mobs) are flying +as well as movetype signals when the movable isn't buckled.
try_unimmerseCalled by on_set_buckled() and remove_from_element(). +This removes the filter and signals from the movable unless it doesn't have them.
+

Var Details

attached_turfs_and_movables + + + + +

+

An association list of turfs that have this element attached and their affected contents.

generated_immerse_icons + + + + +

+

A list of icons generated from a target and a mask, later used as appearances for the overlays.

generated_visual_overlays + + + + +

+

A list of instances of /atom/movable/immerse_overlay then used as visual overlays for the immersed movables.

immersed_movables + + + + +

+

An association list of movables as key and overlays as assoc.

movables_to_ignore + + + + +

+

A list of movables that shouldn't be affected by the element, either because it'd look bad +or barely perceptible.

Proc Details

Detach +

+

Hello, you may be wondering why we're blending icons and not simply +overlaying one mutable appearance with the blend multiply on another. +Well, the latter option doesn't work as neatly when added +to an atom with the KEEP_TOGETHER appearance flag, with the mask icon also +showing on said atom, while we don't want it to.

+

Also using KEEP_APART isn't an option, because unless it's drawn as one with +its visual loation, the whole plane the atom belongs to will count as part of the +mask of the final visual overlay since that's how the BLEND_INSET_OVERLAY blend mode works here. +In layman terms, with KEEP_APART on, if a flying monkey gets nears an immersed +human, the visual overlay will appear on the flying monkey even if it shouldn't.

add_immerse_overlay +

+

The main proc, which adds a visual overlay to the movable that has entered the turf to make it look immersed. +It's kind of iffy but basically, we want the overlay to cover as much area as needed to +avoid the movable's icon from spilling horizontally or below. +Also, while these visual overlays are mainly cached movables, for certain movables, such as living mobs, +we want them to have their own unique vis overlay with additional signals registered. +This allows the vis overlay to look more or less unchanged while its owner is spinning or resting +without otherwise affecting other movables with identical overlays.

clear_overlay_refs +

+

We need to make sure to remove hard refs from the element when deleted.

generate_vis_overlay +

+

Let's give an unique immerse visual only to those movables that would +benefit from this the most, for the sake of a smidge of lightweightness. +Initializes and caches a new visual overlay given parameters such as width, height and whether it should appear fully underwater.

on_atom_exited +

+

Called when a movable exits the turf. If its new location is not in the list of turfs with this element, +Remove the movable from the element.

on_init_or_entered +

+

If the movable is within the right layers and planes, not in the list of movable types to ignore, +or already affected by the element for that matter, Signals will be registered and, +unless the movable (or whatever it's buckled to) is flying, it'll appear as if immersed in that water.

on_move_flag_disabled +

+

Readds the overlay to the mob and bucklees if no longer flying.

on_move_flag_enabled +

+

Removes the overlay from mob and bucklees is flying.

on_spin_animation +

+

Here, we temporarily switch from the offset of the mutable appearance to one for movable used as visual overlay. +Why? While visual overlays can be animated, their fixed point stays at the center of the icon of the atom +they're attached to and not theirs, which can make manipulating the transform var a pain, but because +we cannot do that with normal overlay or filters (reliably), we have to bend a knee and try to compensate it. +Oh, yeah, didn't I mention turning a visual overlay affects its pixel x/y/w/z too? Yeah, it sucks. +Spin the overlay in the opposite direction so it doesn't look like it's spinning at all.

on_throw +

+

Works just like on_move_flag_enabled, except it only has to check that movable isn't flying

on_throw_landed +

+

Works just like on_move_flag_disabled, except it only has to check that movable isn't flying

on_update_transform +

+

A band-aid to keep the (unique) visual overlay from scaling and rotating along with its owner. I'm sorry.

remove_from_element +

+

Remove any signal, overlay, trait given to the movable and reference to it within the element.

remove_immerse_overlay +

+

vis contents spin around the center of the icon of their vis locs +but since we want the appearance to stay where it should be, +we have to counteract this one. +This proc removes the vis_overlay, the keep together trait and some signals from the movable.

start_immersion +

+

Makes the element start affecting the turf and its contents. Called on Attach() or when TRAIT_IMMERSE_STOPPED is removed.

stop_immersion +

+

Stops the element from affecting on the turf and its contents. Called on Detach() or when TRAIT_IMMERSE_STOPPED is added.

try_immerse +

+

Called by init_or_entered() and on_set_buckled(). +This applies the overlay if neither the movable or whatever is buckled to (exclusive to living mobs) are flying +as well as movetype signals when the movable isn't buckled.

try_unimmerse +

+

Called by on_set_buckled() and remove_from_element(). +This removes the filter and signals from the movable unless it doesn't have them.

+ + + diff --git a/datum/element/item_fov.html b/datum/element/item_fov.html new file mode 100644 index 00000000000..a48b6fd1876 --- /dev/null +++ b/datum/element/item_fov.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/item_fov - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

item_fov + + + +

+ +

An element to unconditonally add a FOV trait to the wearer, removing it when an item is unequipped

+ + +

Vars

fov_angleAngle of the FoV we will apply when someone wears the clothing this element is attached to.

Procs

on_dropOn dropping the item, remove the FoV trait.
on_equipOn equipping the item, add the FoV trait.
+

Var Details

fov_angle + + + + +

+

Angle of the FoV we will apply when someone wears the clothing this element is attached to.

Proc Details

on_drop +

+

On dropping the item, remove the FoV trait.

on_equip +

+

On equipping the item, add the FoV trait.

+ + + diff --git a/datum/element/item_scaling.html b/datum/element/item_scaling.html new file mode 100644 index 00000000000..9feff8ee430 --- /dev/null +++ b/datum/element/item_scaling.html @@ -0,0 +1,118 @@ + + + + + + + /datum/element/item_scaling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

item_scaling + + + +

+ +

Element for scaling item appearances in the overworld or in inventory/storage.

+

This bespoke element allows for items to have varying sizes depending on their location. +The overworld simply refers to items being on a turf. Inventory includes HUD item slots, +and storage is anywhere a storage component is used. +Scaling should affect the item's icon and all attached overlays (such as blood decals).

+ + + + + + +

Vars

overworld_scalingScaling value when the attached item is in the overworld (on a turf).
storage_scalingScaling value when the attached item is in a storage component or inventory slot.

Procs

AttachAttach proc for the item_scaling element
DetachDetach proc for the item_scaling element.
scaleScales the attached item's matrix.
scale_overworldShrinks when inworld
scale_storageEnlarges when inhand or in storage.
+

Var Details

overworld_scaling + + + + +

+

Scaling value when the attached item is in the overworld (on a turf).

storage_scaling + + + + +

+

Scaling value when the attached item is in a storage component or inventory slot.

Proc Details

Attach +

+

Attach proc for the item_scaling element

+

The proc checks the target's type before attaching. It then initializes +the target to overworld scaling. The target should then rescale if it is placed +in inventory/storage on initialization. Relevant signals are registered to listen +for pickup/drop or storage events. Scaling values of 1 will result in items +returning to their original size. +Arguments:

+

Detach +

+

Detach proc for the item_scaling element.

+

All registered signals are unregistered, and the attached element is removed from the target datum. +Arguments:

+

scale +

+

Scales the attached item's matrix.

+

The proc first narrows the type of the source to (datums do not have a transform matrix). +It then creates an identity matrix, M, which is transformed by the scaling value. +The object's transform variable (matrix) is then set to the resulting value of M. +Arguments:

+

scale_overworld +

+

Shrinks when inworld

+

Longer detailed paragraph about the proc +including any relevant detail +Arguments:

+

scale_storage +

+

Enlarges when inhand or in storage.

+

Longer detailed paragraph about the proc +including any relevant detail +Arguments:

+
+ + + diff --git a/datum/element/kneecapping.html b/datum/element/kneecapping.html new file mode 100644 index 00000000000..727888376e1 --- /dev/null +++ b/datum/element/kneecapping.html @@ -0,0 +1,54 @@ + + + + + + + /datum/element/kneecapping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

kneecapping + + + +

+ +

Kneecapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.

+

Element is incompatible with non-items. Requires the parent item to have a force equal to or greater than WOUND_MINIMUM_DAMAGE. +Also requires that the parent can actually get past pre_secondary_attack without the attack chain cancelling.

+

Kneecapping attacks have a wounding bonus between severe and critical+10 wound thresholds. Without some serious wound protecting +armour this all but guarantees a wound of some sort. The attack is directed specifically at a limb and the limb takes the damage.

+

Requires the attacker to be aiming for either leg zone, which will be targeted specifically. They will than have a 3-second long +do_after before executing the attack.

+

Kneecapping requires the target to either be on the floor, immobilised or buckled to something. And also to have an appropriate leg.

+

Passing all the checks will cancel the entire attack chain.

+ +

Procs

do_kneecap_targetAfter a short do_after, attacker applies damage to the given leg with a significant wounding bonus, applying the weapon's force as damage.
try_kneecap_targetSignal handler for COMSIG_ITEM_ATTACK_SECONDARY. Does checks for pacifism, zones and target state before either returning nothing +if the special attack could not be attempted, performing the ordinary attack procs instead - Or cancelling the attack chain if +the attack can be started.

Proc Details

do_kneecap_target +

+

After a short do_after, attacker applies damage to the given leg with a significant wounding bonus, applying the weapon's force as damage.

try_kneecap_target +

+

Signal handler for COMSIG_ITEM_ATTACK_SECONDARY. Does checks for pacifism, zones and target state before either returning nothing +if the special attack could not be attempted, performing the ordinary attack procs instead - Or cancelling the attack chain if +the attack can be started.

+ + + diff --git a/datum/element/knockback.html b/datum/element/knockback.html new file mode 100644 index 00000000000..7c44dd01c96 --- /dev/null +++ b/datum/element/knockback.html @@ -0,0 +1,85 @@ + + + + + + + /datum/element/knockback - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

knockback + + + +

+ +

Mobs and items with this element will knock movable targets they hit away from them. +Guns and turrets will instead fire projectiles with similar effects.

+ + + + + + +

Vars

throw_anchoredwhether this can throw anchored targets (tables, etc)
throw_distancedistance the atom will be thrown
throw_gentlewhether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Procs

do_knockbackThrow a target in a direction
hostile_attackingtargettriggered after a hostile simplemob attacks something
item_afterattacktriggered after an item attacks something
projectile_hittriggered after a projectile hits something
+

Var Details

throw_anchored + + + + +

+

whether this can throw anchored targets (tables, etc)

throw_distance + + + + +

+

distance the atom will be thrown

throw_gentle + + + + +

+

whether this is a gentle throw (default false means people thrown into walls are stunned / take damage)

Proc Details

do_knockback +

+

Throw a target in a direction

+

Arguments:

+

hostile_attackingtarget +

+

triggered after a hostile simplemob attacks something

item_afterattack +

+

triggered after an item attacks something

projectile_hit +

+

triggered after a projectile hits something

+ + + diff --git a/datum/element/lifesteal.html b/datum/element/lifesteal.html new file mode 100644 index 00000000000..c329fad5401 --- /dev/null +++ b/datum/element/lifesteal.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/lifesteal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lifesteal + + + +

+ +

Heals the user (if attached to an item) or the mob itself (if attached to a hostile simple mob) +by a flat amount whenever a successful attack is performed against another living mob.

+ +

Vars

damage_heal_orderstatic list shared that tells which order of damage types to prioritize
flat_healheals a constant amount every time a hit occurs
+

Var Details

damage_heal_order + + + + +

+

static list shared that tells which order of damage types to prioritize

flat_heal + + + + +

+

heals a constant amount every time a hit occurs

+ + + diff --git a/datum/element/light_blocking.html b/datum/element/light_blocking.html new file mode 100644 index 00000000000..dc70cb9dd0b --- /dev/null +++ b/datum/element/light_blocking.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/light_blocking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

light_blocking + + + +

+ +

Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.

+

Procs

on_target_moveUpdates old and new turf loc opacities.

Proc Details

on_target_move +

+

Updates old and new turf loc opacities.

+ + + diff --git a/datum/element/light_eaten.html b/datum/element/light_eaten.html new file mode 100644 index 00000000000..d333b4f1f53 --- /dev/null +++ b/datum/element/light_eaten.html @@ -0,0 +1,63 @@ + + + + + + + /datum/element/light_eaten - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

light_eaten + + + +

+ +

Makes anything that it attaches to incapable of producing light

+ + + + +

Procs

DetachBecause the lighting system does not like movable lights getting set_light() called.
block_light_onPrevents the light from turning on while the light power is greater than 0.
block_light_powerPrevents the light power of the target atom from exceeding 0 or increasing.
block_light_rangePrevents the light range of the target atom from exceeding 0 while the light power is greater than 0.
on_examineSignal handler for light eater flavortext

Proc Details

Detach +

+

Because the lighting system does not like movable lights getting set_light() called.

block_light_on +

+

Prevents the light from turning on while the light power is greater than 0.

block_light_power +

+

Prevents the light power of the target atom from exceeding 0 or increasing.

block_light_range +

+

Prevents the light range of the target atom from exceeding 0 while the light power is greater than 0.

on_examine +

+

Signal handler for light eater flavortext

+ + + diff --git a/datum/element/light_eater.html b/datum/element/light_eater.html new file mode 100644 index 00000000000..0b41a9294cc --- /dev/null +++ b/datum/element/light_eater.html @@ -0,0 +1,150 @@ + + + + + + + /datum/element/light_eater - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

light_eater + + + +

+ +

Makes anything it attaches to capable of permanently removing something's ability to produce light.

+

The temporary equivalent is /datum/component/light_eater

+ + + + + + + + +

Procs

devourConsumes the light on the target, permanently rendering it incapable of producing light
eat_lightsMakes the light eater consume all of the lights attached to the target atom.
on_afterattackCalled when a target is attacked with a source item
on_expose_atomCalled when a source reagent exposes a target atom
on_hit_reactionCalled when a source object is used to block a thrown object, projectile, or attack
on_projectile_hitCalled when a produced projectile strikes a target atom
on_projectile_self_hitCalled when a source projectile strikes a target atom
on_throw_impactCalled when a movable source is thrown and strikes a target
table_buffetAggregates a list of the light sources attached to the target atom.

Proc Details

devour +

+

Consumes the light on the target, permanently rendering it incapable of producing light

+

Arguments:

+

eat_lights +

+

Makes the light eater consume all of the lights attached to the target atom.

+

Arguments:

+

on_afterattack +

+

Called when a target is attacked with a source item

+

Arguments:

+

on_expose_atom +

+

Called when a source reagent exposes a target atom

+

Arguments:

+

on_hit_reaction +

+

Called when a source object is used to block a thrown object, projectile, or attack

+

Arguments:

+

on_projectile_hit +

+

Called when a produced projectile strikes a target atom

+

Arguments:

+

on_projectile_self_hit +

+

Called when a source projectile strikes a target atom

+

Arguments:

+

on_throw_impact +

+

Called when a movable source is thrown and strikes a target

+

Arugments:

+

table_buffet +

+

Aggregates a list of the light sources attached to the target atom.

+

Arguments:

+
+ + + diff --git a/datum/element/loomable.html b/datum/element/loomable.html new file mode 100644 index 00000000000..7c1dc5fb307 --- /dev/null +++ b/datum/element/loomable.html @@ -0,0 +1,92 @@ + + + + + + + /datum/element/loomable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

loomable + + + +

+ +

Element that makes items turn into other items when you use them on a loom (or any other thing really if you change the var)

+ + + + + + + + +

Vars

loom_timeHow long it takes to loom the item
loom_typeWhat thing we look for triggering the loom process (usually a loom)
process_completion_verbWhat verb best fits the action of processing whatever the item is, for example "spun [thing]"
required_amountHow much of item do we need to loom, will be ignored if item isnt a stack
resulting_atomWhat will spawn when the item is loomed
target_needs_anchoringIf the target needs to be anchored

Procs

loom_meIf a do_after of the specified loom_time passes, will create a new one of resulting_atom and either delete the item, or .use the required amount if its a stack
on_examineAdds an examine blurb to the description of any item that can be loomed
try_and_loom_meChecks if the thing we clicked on can be used as a loom, and if we can actually loom the source at present (an example being does the stack have enough in it (if its a stack))
+

Var Details

loom_time + + + + +

+

How long it takes to loom the item

loom_type + + + + +

+

What thing we look for triggering the loom process (usually a loom)

process_completion_verb + + + + +

+

What verb best fits the action of processing whatever the item is, for example "spun [thing]"

required_amount + + + + +

+

How much of item do we need to loom, will be ignored if item isnt a stack

resulting_atom + + + + +

+

What will spawn when the item is loomed

target_needs_anchoring + + + + +

+

If the target needs to be anchored

Proc Details

loom_me +

+

If a do_after of the specified loom_time passes, will create a new one of resulting_atom and either delete the item, or .use the required amount if its a stack

on_examine +

+

Adds an examine blurb to the description of any item that can be loomed

try_and_loom_me +

+

Checks if the thing we clicked on can be used as a loom, and if we can actually loom the source at present (an example being does the stack have enough in it (if its a stack))

+ + + diff --git a/datum/element/microwavable.html b/datum/element/microwavable.html new file mode 100644 index 00000000000..53233f2acef --- /dev/null +++ b/datum/element/microwavable.html @@ -0,0 +1,68 @@ + + + + + + + /datum/element/microwavable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

microwavable + + + +

+ +

Atoms that can be microwaved from one type to another.

+ + + + +

Vars

added_reagentsReagents that should be added to the result
default_typepathThe typepath we default to if we were passed no microwave result
result_typepathResulting atom typepath on a completed microwave.

Procs

on_examineSignal proc for COMSIG_ATOM_EXAMINE. +Lets examiners know we can be microwaved if we're not the default mess type
on_microwavedSignal proc for COMSIG_ITEM_MICROWAVE_ACT. +Handles the actual microwaving part.
+

Var Details

added_reagents + + + + +

+

Reagents that should be added to the result

default_typepath + + + + +

+

The typepath we default to if we were passed no microwave result

result_typepath + + + + +

+

Resulting atom typepath on a completed microwave.

Proc Details

on_examine +

+

Signal proc for COMSIG_ATOM_EXAMINE. +Lets examiners know we can be microwaved if we're not the default mess type

on_microwaved +

+

Signal proc for COMSIG_ITEM_MICROWAVE_ACT. +Handles the actual microwaving part.

+ + + diff --git a/datum/element/mob_grabber.html b/datum/element/mob_grabber.html new file mode 100644 index 00000000000..95f14f3267c --- /dev/null +++ b/datum/element/mob_grabber.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/mob_grabber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob_grabber + + + +

+ +

Grab onto mobs we attack

+ + +

Vars

minimum_statWhat state must the mob be in to be grabbed?
steal_from_othersIf someone else is already grabbing this, will we take it?

Procs

grab_mobTry and grab something we attacked
+

Var Details

minimum_stat + + + + +

+

What state must the mob be in to be grabbed?

steal_from_others + + + + +

+

If someone else is already grabbing this, will we take it?

Proc Details

grab_mob +

+

Try and grab something we attacked

+ + + diff --git a/datum/element/mob_killed_tally.html b/datum/element/mob_killed_tally.html new file mode 100644 index 00000000000..979598d60f6 --- /dev/null +++ b/datum/element/mob_killed_tally.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/mob_killed_tally - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mob_killed_tally + + + +

+ +

Mob Killed Tally; which ticks up a blackbox when the mob dies

+

Used for all the mining mobs!

+

Vars

tally_stringWhich tally needs to be ticked up in the blackbox
+

Var Details

tally_string + + + + +

+

Which tally needs to be ticked up in the blackbox

+ + + diff --git a/datum/element/movement_turf_changer.html b/datum/element/movement_turf_changer.html new file mode 100644 index 00000000000..6fe98eed15d --- /dev/null +++ b/datum/element/movement_turf_changer.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/movement_turf_changer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

movement_turf_changer + + + +

+ +

movement_turf_changer element; which makes the movement of a movable atom change the turf it moved to

+

Used for moonicorns!

+

Vars

turf_typePath of the turf added on top
+

Var Details

turf_type + + + + +

+

Path of the turf added on top

+ + + diff --git a/datum/element/movetype_handler.html b/datum/element/movetype_handler.html new file mode 100644 index 00000000000..2d6110fb2ab --- /dev/null +++ b/datum/element/movetype_handler.html @@ -0,0 +1,66 @@ + + + + + + + /datum/element/movetype_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

movetype_handler + + + +

+ +

An element that enables and disables movetype bitflags whenever the relative traits are added or removed. +It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes. +This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element +before adding them to non-living movables.

+ + + + +

Procs

on_movement_type_trait_gainCalled when a movement type trait is added to the movable. Enables the relative bitflag.
on_movement_type_trait_lossCalled when a movement type trait is removed from the movable. Disables the relative bitflag if it wasn't there in the compile-time bitfield.
on_no_floating_anim_trait_gainCalled when the TRAIT_NO_FLOATING_ANIM trait is added to the movable. Stops it from bobbing up and down.
on_no_floating_anim_trait_lossCalled when the TRAIT_NO_FLOATING_ANIM trait is removed from the mob. Restarts the bobbing animation.
pause_floating_animPauses the floating animation for the duration of the timer... plus [tickrate - (world.time + timer) % tickrate] to be precise.

Proc Details

on_movement_type_trait_gain +

+

Called when a movement type trait is added to the movable. Enables the relative bitflag.

on_movement_type_trait_loss +

+

Called when a movement type trait is removed from the movable. Disables the relative bitflag if it wasn't there in the compile-time bitfield.

on_no_floating_anim_trait_gain +

+

Called when the TRAIT_NO_FLOATING_ANIM trait is added to the movable. Stops it from bobbing up and down.

on_no_floating_anim_trait_loss +

+

Called when the TRAIT_NO_FLOATING_ANIM trait is removed from the mob. Restarts the bobbing animation.

pause_floating_anim +

+

Pauses the floating animation for the duration of the timer... plus [tickrate - (world.time + timer) % tickrate] to be precise.

+ + + diff --git a/datum/element/nerfed_pulling.html b/datum/element/nerfed_pulling.html new file mode 100644 index 00000000000..4a84f4c4acc --- /dev/null +++ b/datum/element/nerfed_pulling.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/nerfed_pulling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nerfed_pulling + + + +

+ +

This living will be slower when pulling/moving anything in the given typecache

+

Vars

typecacheThe typecache of things that shouldn't be easily movable
+

Var Details

typecache + + + + +

+

The typecache of things that shouldn't be easily movable

+ + + diff --git a/datum/element/noticable_organ.html b/datum/element/noticable_organ.html new file mode 100644 index 00000000000..dd60e367a41 --- /dev/null +++ b/datum/element/noticable_organ.html @@ -0,0 +1,60 @@ + + + + + + + /datum/element/noticable_organ - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

noticable_organ + + + +

+ +

noticable organ element; which makes organs have a special description added to the person with the organ, if certain body zones aren't covered.

+

Used for infused mutant organs

+ + + +

Vars

add_spanwhether we wrap the examine text in a notice span.
body_zoneWhich body zone has to be exposed. If none is set, this is always noticable, and the description pronoun becomes singular instead of possesive.
infused_desc"[they]|[their] [desc here]", shows on examining someone with an infused organ. +Uses a possessive pronoun (His/Her/Their) if a body zone is given, or a singular pronoun (He/She/They) otherwise.

Procs

should_show_textProc that returns true or false if the organ should show its examine check.
+

Var Details

add_span + + + + +

+

whether we wrap the examine text in a notice span.

body_zone + + + + +

+

Which body zone has to be exposed. If none is set, this is always noticable, and the description pronoun becomes singular instead of possesive.

infused_desc + + + + +

+

"[they]|[their] [desc here]", shows on examining someone with an infused organ. +Uses a possessive pronoun (His/Her/Their) if a body zone is given, or a singular pronoun (He/She/They) otherwise.

Proc Details

should_show_text +

+

Proc that returns true or false if the organ should show its examine check.

+ + + diff --git a/datum/element/obj_regen.html b/datum/element/obj_regen.html new file mode 100644 index 00000000000..f3691ca7355 --- /dev/null +++ b/datum/element/obj_regen.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/obj_regen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

obj_regen + + + +

+ +

Object integrity regeneration element added by alien alloy.

+ + + + + +

Vars

currentrunThe current stack of objects we are processing.
processingThe objects that are regenerating due to this element.
rateThe rate of regeneration as a function of maximum integrity.
resumedWhether we stopped processing early the last tick.

Procs

on_take_damageHandles beginning processing objects.
processHandle regenerating attached objects.
+

Var Details

currentrun + + + + +

+

The current stack of objects we are processing.

processing + + + + +

+

The objects that are regenerating due to this element.

rate + + + + +

+

The rate of regeneration as a function of maximum integrity.

resumed + + + + +

+

Whether we stopped processing early the last tick.

Proc Details

on_take_damage +

+

Handles beginning processing objects.

process +

+

Handle regenerating attached objects.

+ + + diff --git a/datum/element/organ_set_bonus.html b/datum/element/organ_set_bonus.html new file mode 100644 index 00000000000..4b00e74ae4e --- /dev/null +++ b/datum/element/organ_set_bonus.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/organ_set_bonus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

organ_set_bonus + + + +

+ +

organ set bonus element; which makes organs in the same set, all in one person, provide a unique bonus!

+

Used for infused organs!

+

Vars

bonus_typeStatus Effect typepath to instantiate and apply to the mob.
+

Var Details

bonus_type + + + + +

+

Status Effect typepath to instantiate and apply to the mob.

+ + + diff --git a/datum/element/pet_bonus.html b/datum/element/pet_bonus.html new file mode 100644 index 00000000000..6a5f0c69d32 --- /dev/null +++ b/datum/element/pet_bonus.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/pet_bonus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Pet bonus element! + + + +

+ +

Bespoke element that plays a fun message, sends a heart out, and gives a stronger mood bonus when you pet this animal. +I may have been able to make this work for carbons, but it would have been interjecting on some help mode interactions anyways.

+ +

Vars

emote_messageoptional cute message to send when you pet your pet!
moodletactual moodlet given, defaults to the pet animal one
+

Var Details

emote_message + + + + +

+

optional cute message to send when you pet your pet!

moodlet + + + + +

+

actual moodlet given, defaults to the pet animal one

+ + + diff --git a/datum/element/plant_backfire.html b/datum/element/plant_backfire.html new file mode 100644 index 00000000000..221a0c952ac --- /dev/null +++ b/datum/element/plant_backfire.html @@ -0,0 +1,106 @@ + + + + + + + /datum/element/plant_backfire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plant_backfire + + + +

+ +

-- Plant backfire element -- +Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +If a user is protected with something like leather gloves, they can handle them normally. +If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.

+ + + + + + + +

Vars

cancel_actionWhether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN)
extra_genesAny plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths.
extra_traitsAny extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits.

Procs

attack_safety_checkChecks before we attack if we're okay to continue.
backfireThe actual backfire occurs here. +Checks if the user is able to safely handle the plant. +If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes).
pickup_safety_checkChecks before we pick up the plant if we're okay to continue.
plant_safety_checkActually checks if our user is safely handling our plant.
throw_safety_checkChecks before we throw the plant if we're okay to continue.
+

Var Details

cancel_action + + + + +

+

Whether we stop the current action if backfire is triggered (EX: returning CANCEL_ATTACK_CHAIN)

extra_genes + + + + +

+

Any plant genes we want to check that are required for our plant to be dangerous. Plants without a gene in this list will be considered safe. List of typepaths.

extra_traits + + + + +

+

Any extra traits we want to check in addition to TRAIT_PLANT_SAFE. Mobs with a trait in this list will be considered safe. List of traits.

Proc Details

attack_safety_check +

+

Checks before we attack if we're okay to continue.

+

source - our plant +user - the mob wielding our [source]

backfire +

+

The actual backfire occurs here. +Checks if the user is able to safely handle the plant. +If not, sends the backfire signal (meaning backfire will occur and be handled by one or multiple genes).

+

Returns FALSE if the user was safe and no backfire occured. +Returns TRUE if the user was not safe and a backfire actually happened.

pickup_safety_check +

+

Checks before we pick up the plant if we're okay to continue.

+

source - our plant +user - the mob picking our [source]

plant_safety_check +

+

Actually checks if our user is safely handling our plant.

+

Checks for TRAIT_PLANT_SAFE, and returns TRUE if we have it. +Then, any extra traits we need to check (Like TRAIT_PIERCEIMMUNE for nettles) and returns TRUE if we have one of them. +Then, any extra genes we need to check (Like liquid contents for bluespace tomatos) and returns TRUE if we don't have the gene.

+

source - our plant +user - the carbon handling our [source]

+

returns FALSE if none of the checks are successful.

throw_safety_check +

+

Checks before we throw the plant if we're okay to continue.

+

source - our plant +thrower - the mob throwing our [source]

+ + + diff --git a/datum/element/prevent_attacking_of_types.html b/datum/element/prevent_attacking_of_types.html new file mode 100644 index 00000000000..1a87760e217 --- /dev/null +++ b/datum/element/prevent_attacking_of_types.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/prevent_attacking_of_types - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prevent_attacking_of_types + + + +

+ +

This hostile will not be able to attack a given typecache, and will receive +a balloon alert when it tries to.

+ +

Vars

alert_messageThe message to send to the hostile mob when they try to attack something they can't
typecacheThe typecache of things this hostile can't attack
+

Var Details

alert_message + + + + +

+

The message to send to the hostile mob when they try to attack something they can't

typecache + + + + +

+

The typecache of things this hostile can't attack

+ + + diff --git a/datum/element/processable.html b/datum/element/processable.html new file mode 100644 index 00000000000..edce058edad --- /dev/null +++ b/datum/element/processable.html @@ -0,0 +1,93 @@ + + + + + + + /datum/element/processable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

processable + + + +

+ + + + + + + + + +

Vars

amount_createdAmount of the resulting actor this will create
result_atom_typeThe type of atom this creates when the processing recipe is used.
screentip_verbVerb used in processing food (such as slice, flatten), defaults to process
table_requiredWhether or not the atom being processed has to be on a table or tray to process it
time_to_processTime to process the atom
tool_behaviourThe tool behaviour for this processing recipe

Procs

OnExamineSo people know what the frick they're doing without reading from a wiki page (I mean they will inevitably but i'm trying to help, ok?)
on_requesting_context_from_itemAdds context sensitivy directly to the processable file for screentips +Arguments:
+

Var Details

amount_created + + + + +

+

Amount of the resulting actor this will create

result_atom_type + + + + +

+

The type of atom this creates when the processing recipe is used.

screentip_verb + + + + +

+

Verb used in processing food (such as slice, flatten), defaults to process

table_required + + + + +

+

Whether or not the atom being processed has to be on a table or tray to process it

time_to_process + + + + +

+

Time to process the atom

tool_behaviour + + + + +

+

The tool behaviour for this processing recipe

Proc Details

OnExamine +

+

So people know what the frick they're doing without reading from a wiki page (I mean they will inevitably but i'm trying to help, ok?)

on_requesting_context_from_item +

+

Adds context sensitivy directly to the processable file for screentips +Arguments:

+
+ + + diff --git a/datum/element/projectile_shield.html b/datum/element/projectile_shield.html new file mode 100644 index 00000000000..006b1083707 --- /dev/null +++ b/datum/element/projectile_shield.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/projectile_shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

projectile_shield + + + +

+ + +

Procs

AttachBullet shield element, spawns an anti-toolbox shield when hit by a bullet.

Proc Details

Attach +

+

Bullet shield element, spawns an anti-toolbox shield when hit by a bullet.

+ + + diff --git a/datum/element/radioactive.html b/datum/element/radioactive.html new file mode 100644 index 00000000000..4f6e5882967 --- /dev/null +++ b/datum/element/radioactive.html @@ -0,0 +1,57 @@ + + + + + + + /datum/element/radioactive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radioactive + + + +

+ +

This atom will regularly pulse radiation.

+ + + +

Vars

chanceChance the object is irradiated
minimum_exposure_timeMinimum time needed in order to be irradiated
rangeRange of our wave in tiles
thresholdThreshold for radioactive permeance
+

Var Details

chance + + + + +

+

Chance the object is irradiated

minimum_exposure_time + + + + +

+

Minimum time needed in order to be irradiated

range + + + + +

+

Range of our wave in tiles

threshold + + + + +

+

Threshold for radioactive permeance

+ + + diff --git a/datum/element/ranged_armour.html b/datum/element/ranged_armour.html new file mode 100644 index 00000000000..84efd88bcb1 --- /dev/null +++ b/datum/element/ranged_armour.html @@ -0,0 +1,78 @@ + + + + + + + /datum/element/ranged_armour - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ranged_armour + + + +

+ +

Reduces or nullifies damage from ranged weaponry with force below a certain value

+ + + + + + +

Vars

below_projectile_multiplierProjectile damage below the minimum is multiplied by this value
minimum_projectile_forceThe minimum force a projectile must have to ignore our armour
minimum_thrown_forceThe minimum force a thrown object must have to ignore our armour
throw_blocked_messageMessage to output if throwing damage is absorbed
vulnerable_projectile_typesProjectile damage types which work regardless of force

Procs

pre_bullet_impactModify or ignore bullet damage based on projectile properties
pre_thrown_impactIgnore thrown damage based on projectile properties. There's no elegant way to multiply the damage because throwforce is persistent.
+

Var Details

below_projectile_multiplier + + + + +

+

Projectile damage below the minimum is multiplied by this value

minimum_projectile_force + + + + +

+

The minimum force a projectile must have to ignore our armour

minimum_thrown_force + + + + +

+

The minimum force a thrown object must have to ignore our armour

throw_blocked_message + + + + +

+

Message to output if throwing damage is absorbed

vulnerable_projectile_types + + + + +

+

Projectile damage types which work regardless of force

Proc Details

pre_bullet_impact +

+

Modify or ignore bullet damage based on projectile properties

pre_thrown_impact +

+

Ignore thrown damage based on projectile properties. There's no elegant way to multiply the damage because throwforce is persistent.

+ + + diff --git a/datum/element/relay_attackers.html b/datum/element/relay_attackers.html new file mode 100644 index 00000000000..b2a9e52a67d --- /dev/null +++ b/datum/element/relay_attackers.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/relay_attackers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

relay_attackers + + + +

+ +

This element registers to a shitload of signals which can signify "someone attacked me". +If anyone does it sends a single "someone attacked me" signal containing details about who done it. +This prevents other components and elements from having to register to the same list of a million signals, should be more maintainable in one place.

+ + +

Procs

on_bullet_actEven if another component blocked this hit, someone still shot at us
on_hitbyEven if another component blocked this hit, someone still threw something
relay_attackerSend out a signal identifying whoever just attacked us (usually a mob but sometimes a mech or turret)

Proc Details

on_bullet_act +

+

Even if another component blocked this hit, someone still shot at us

on_hitby +

+

Even if another component blocked this hit, someone still threw something

relay_attacker +

+

Send out a signal identifying whoever just attacked us (usually a mob but sometimes a mech or turret)

+ + + diff --git a/datum/element/ridable.html b/datum/element/ridable.html new file mode 100644 index 00000000000..e183da77674 --- /dev/null +++ b/datum/element/ridable.html @@ -0,0 +1,75 @@ + + + + + + + /datum/element/ridable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ridable + + + +

+ +

This element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.

+

Besides the target, the ridable element has one argument: the component subtype. This is not really ideal since there's ~20-30 component subtypes rather than +having the behavior defined on the ridable atoms themselves or some such, but because the old riding behavior was so horrifyingly spread out and redundant, +just having the variables, behavior, and procs be standardized is still a big improvement.

+ + + + + +

Vars

potion_boostedIf we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components
riding_component_typeThe specific riding component subtype we're loading our instructions from, don't leave this as default please!

Procs

check_mountingSomeone is buckling to this movable, which is literally the only thing we care about (other than speed potions)
check_potionChecks to see if we've been hit with a red xenobio potion to make us faster. This is only registered if we're a vehicle
equip_buckle_inhandsTry putting the appropriate number of riding offhand items into the target's hands, return FALSE if we can't
unequip_buckle_inhandsRemove all of the relevant riding offhand items from the target
+

Var Details

potion_boosted + + + + +

+

If we have a xenobio red potion applied to us, we get split off so we can pass our special status onto new riding components

riding_component_type + + + + +

+

The specific riding component subtype we're loading our instructions from, don't leave this as default please!

Proc Details

check_mounting +

+

Someone is buckling to this movable, which is literally the only thing we care about (other than speed potions)

check_potion +

+

Checks to see if we've been hit with a red xenobio potion to make us faster. This is only registered if we're a vehicle

equip_buckle_inhands +

+

Try putting the appropriate number of riding offhand items into the target's hands, return FALSE if we can't

unequip_buckle_inhands +

+

Remove all of the relevant riding offhand items from the target

+ + + diff --git a/datum/element/rust.html b/datum/element/rust.html new file mode 100644 index 00000000000..cae50ad16ca --- /dev/null +++ b/datum/element/rust.html @@ -0,0 +1,51 @@ + + + + + + + /datum/element/rust - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rust + + + +

+ +

Adding this element to an atom will have it automatically render an overlay. +The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default

+ + +

Vars

rust_overlayThe rust image itself, since the icon and icon state are only used as an argument

Procs

handle_tool_useWe call this from secondary_tool_act because we sleep with do_after
secondary_tool_actBecause do_after sleeps we register the signal here and defer via an async call
+

Var Details

rust_overlay + + + + +

+

The rust image itself, since the icon and icon state are only used as an argument

Proc Details

handle_tool_use +

+

We call this from secondary_tool_act because we sleep with do_after

secondary_tool_act +

+

Because do_after sleeps we register the signal here and defer via an async call

+ + + diff --git a/datum/element/series.html b/datum/element/series.html new file mode 100644 index 00000000000..1d9e648ab17 --- /dev/null +++ b/datum/element/series.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/series - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

series + + + +

+ +series element! +

bespoke element that assigns a series number to toys on examine, and shows their series name! +used for mechas and rare collectable hats, should totally be used for way more ;)

+

Procs

on_examinesignal called examining

Proc Details

on_examine +

+

signal called examining

+ + + diff --git a/datum/element/shatters_when_thrown.html b/datum/element/shatters_when_thrown.html new file mode 100644 index 00000000000..1904f840cc3 --- /dev/null +++ b/datum/element/shatters_when_thrown.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/shatters_when_thrown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shatters_when_thrown + + + +

+ +

When attached to something, will make that thing shatter into shards on throw impact or z level falling

+ + + + + +

Vars

number_of_shardsHow many shards total are made when the thing we're attached to shatters
shard_typeWhat type of item is spawned as a 'shard' once the shattering happens
shattering_soundWhat sound plays when the thing we're attached to shatters

Procs

on_throw_impactTells the parent to shatter if we are thrown and impact something
on_z_impactTells the parent to shatter if we impact a lower zlevel
shatterHandles the actual shattering part, throwing shards of whatever is defined on the component everywhere
+

Var Details

number_of_shards + + + + +

+

How many shards total are made when the thing we're attached to shatters

shard_type + + + + +

+

What type of item is spawned as a 'shard' once the shattering happens

shattering_sound + + + + +

+

What sound plays when the thing we're attached to shatters

Proc Details

on_throw_impact +

+

Tells the parent to shatter if we are thrown and impact something

on_z_impact +

+

Tells the parent to shatter if we impact a lower zlevel

shatter +

+

Handles the actual shattering part, throwing shards of whatever is defined on the component everywhere

+ + + diff --git a/datum/element/sideway_movement.html b/datum/element/sideway_movement.html new file mode 100644 index 00000000000..9613e5a966c --- /dev/null +++ b/datum/element/sideway_movement.html @@ -0,0 +1,35 @@ + + + + + + + /datum/element/sideway_movement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sideway_movement + + + +

+ +

A simple element that forces the mob to face a perpendicular direction when moving, like crabs.

+

Procs

on_moveretain the old dir unless walking straight ahead or backward, in which case rotate the dir left or right by a 90°

Proc Details

on_move +

+

retain the old dir unless walking straight ahead or backward, in which case rotate the dir left or right by a 90°

+ + + diff --git a/datum/element/simple_flying.html b/datum/element/simple_flying.html new file mode 100644 index 00000000000..c3c4926db8f --- /dev/null +++ b/datum/element/simple_flying.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/simple_flying - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

simple flying element! + + + +

+ +

Non bespoke element (1 in existence) that makes animals fly while living and... not while dead! +Note: works for carbons and above, but please do something better. humans have wings got dangit!

+

Procs

on_stat_changesignal called by the stat of the target changing

Proc Details

on_stat_change +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/skill_reward.html b/datum/element/skill_reward.html new file mode 100644 index 00000000000..109cfc63bba --- /dev/null +++ b/datum/element/skill_reward.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/skill_reward - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skill_reward + + + +

+ +

An element that forbids mobs without a required skill level from equipping the item.

+ +

Vars

associated_skillThe required skill the user has to have to equip the item.

Procs

drop_if_unworthyWe check if the item can be equipped, otherwise we drop it.
+

Var Details

associated_skill + + + + +

+

The required skill the user has to have to equip the item.

Proc Details

drop_if_unworthy +

+

We check if the item can be equipped, otherwise we drop it.

+ + + diff --git a/datum/element/soft_landing.html b/datum/element/soft_landing.html new file mode 100644 index 00000000000..009d50ca073 --- /dev/null +++ b/datum/element/soft_landing.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/soft_landing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

soft_landing + + + +

+ +soft landing element! +

Non bespoke element (1 in existence) that makes objs provide a soft landing when you fall on them!

+

Procs

intercept_z_fallsignal called by the stat of the target changing

Proc Details

intercept_z_fall +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/squish.html b/datum/element/squish.html new file mode 100644 index 00000000000..b05a979dc9d --- /dev/null +++ b/datum/element/squish.html @@ -0,0 +1,30 @@ + + + + + + + /datum/element/squish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

squish + + + +

+ +

squish.dm

+

It's an element that squishes things. After the duration passes, it reverses the transformation it squished with, taking into account if they are a different orientation than they started (read: rotationally-fluid)

+

Normal squishes apply vertically, as if the target is being squished from above, but you can set reverse to TRUE if you want to squish them from the sides, like if they pancake into a wall from the East or West

+ + + diff --git a/datum/element/sticker.html b/datum/element/sticker.html new file mode 100644 index 00000000000..907b0e56eaf --- /dev/null +++ b/datum/element/sticker.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/sticker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sticker + + + +

+ + + + +

Vars

stick_typeThe typepath for our attached sticker component
washableIf TRUE, our attached_sticker can be washed off

Procs

do_stickAdd our stick_type to the target with px and py as pixel x and pixel y respectively
+

Var Details

stick_type + + + + +

+

The typepath for our attached sticker component

washable + + + + +

+

If TRUE, our attached_sticker can be washed off

Proc Details

do_stick +

+

Add our stick_type to the target with px and py as pixel x and pixel y respectively

+ + + diff --git a/datum/element/strippable.html b/datum/element/strippable.html new file mode 100644 index 00000000000..5a4bf083774 --- /dev/null +++ b/datum/element/strippable.html @@ -0,0 +1,54 @@ + + + + + + + /datum/element/strippable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

strippable + + + +

+ +

An element for atoms that, when dragged and dropped onto a mob, opens a strip panel.

+ + +

Vars

itemsAn assoc list of keys to /datum/strippable_item
should_strip_proc_pathA proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).
strip_menusAn existing strip menus
+

Var Details

items + + + + +

+

An assoc list of keys to /datum/strippable_item

should_strip_proc_path + + + + +

+

A proc path that returns TRUE/FALSE if we should show the strip panel for this entity. +If it does not exist, the strip menu will always show. +Will be called with (mob/user).

strip_menus + + + + +

+

An existing strip menus

+ + + diff --git a/datum/element/structure_repair.html b/datum/element/structure_repair.html new file mode 100644 index 00000000000..d3a03cc29a1 --- /dev/null +++ b/datum/element/structure_repair.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/structure_repair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

structure_repair + + + +

+ +

Intercepts attacks from mobs with this component to instead repair specified structures.

+ + +

Vars

heal_amountHow much to heal structures by
structure_types_typecacheTypecache of types of structures to repair

Procs

try_repairIf the target is of a valid type, interrupt the attack chain to repair it instead
+

Var Details

heal_amount + + + + +

+

How much to heal structures by

structure_types_typecache + + + + +

+

Typecache of types of structures to repair

Proc Details

try_repair +

+

If the target is of a valid type, interrupt the attack chain to repair it instead

+ + + diff --git a/datum/element/swabable.html b/datum/element/swabable.html new file mode 100644 index 00000000000..84dc9a9cd16 --- /dev/null +++ b/datum/element/swabable.html @@ -0,0 +1,85 @@ + + + + + + + /datum/element/swabable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

swabable + + + +

+ + + + + + + + + +

Vars

cell_line_amountAmount of cell lines on a single sample
cell_line_defineThe define of the cell_line list to use
virus_chanceThe chance the sample will be infected with a virus.
virus_defineThe define of the cell_virus list to use

Procs

AttachListens for the swab signal and then generate a sample based on pre-determined lists that are saved as GLOBs. this allows us to have very few swabbable element instances.
DetachStops listening to the swab signal; you can no longer be swabbed.
GenerateSampleGenerates a /datum/biological_sample
GetSwabbedRan when the parent is swabbed by an object that can swab that type of obj. The list is sent by ref, which means the thing which sent the signal will still have the updated list.
+

Var Details

cell_line_amount + + + + +

+

Amount of cell lines on a single sample

cell_line_define + + + + +

+

The define of the cell_line list to use

virus_chance + + + + +

+

The chance the sample will be infected with a virus.

virus_define + + + + +

+

The define of the cell_virus list to use

Proc Details

Attach +

+

Listens for the swab signal and then generate a sample based on pre-determined lists that are saved as GLOBs. this allows us to have very few swabbable element instances.

Detach +

+

Stops listening to the swab signal; you can no longer be swabbed.

GenerateSample +

+

Generates a /datum/biological_sample

GetSwabbed +

+

Ran when the parent is swabbed by an object that can swab that type of obj. The list is sent by ref, which means the thing which sent the signal will still have the updated list.

+ + + diff --git a/datum/element/tenacious.html b/datum/element/tenacious.html new file mode 100644 index 00000000000..96d28a80cfb --- /dev/null +++ b/datum/element/tenacious.html @@ -0,0 +1,36 @@ + + + + + + + /datum/element/tenacious - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tenacious + + + +

+ +

tenacious element; which makes the parent move faster while crawling

+

Used by sparring sect!

+

Procs

on_stat_changesignal called by the stat of the target changing

Proc Details

on_stat_change +

+

signal called by the stat of the target changing

+ + + diff --git a/datum/element/tiny_mob_hunter.html b/datum/element/tiny_mob_hunter.html new file mode 100644 index 00000000000..99b5de5d546 --- /dev/null +++ b/datum/element/tiny_mob_hunter.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/tiny_mob_hunter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tiny_mob_hunter + + + +

+ +

Deals bonus brute damage to smaller mobs

+ + +

Vars

bonus_damageAdditional damage to apply
target_sizeWill apply bonus to mobs this size or smaller

Procs

on_attacked_targetApplies a bonus following the attack
+

Var Details

bonus_damage + + + + +

+

Additional damage to apply

target_size + + + + +

+

Will apply bonus to mobs this size or smaller

Proc Details

on_attacked_target +

+

Applies a bonus following the attack

+ + + diff --git a/datum/element/tool_flash.html b/datum/element/tool_flash.html new file mode 100644 index 00000000000..c27a93f3498 --- /dev/null +++ b/datum/element/tool_flash.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/tool_flash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tool_flash + + + +

+ +

Tool flash bespoke element

+

Flashes the user when using this tool

+

Vars

flash_strengthStrength of the flash
+

Var Details

flash_strength + + + + +

+

Strength of the flash

+ + + diff --git a/datum/element/turf_z_transparency.html b/datum/element/turf_z_transparency.html new file mode 100644 index 00000000000..c236b18479d --- /dev/null +++ b/datum/element/turf_z_transparency.html @@ -0,0 +1,49 @@ + + + + + + + /datum/element/turf_z_transparency - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

turf_z_transparency + + + +

+ + + + +

Procs

AttachThis proc sets up the signals to handle updating viscontents when turfs above/below update. Handle plane and layer here too so that they don't cover other obs/turfs in Dream Maker
get_baseturf_underlayCalled when there is no real turf below this turf
update_multi_zUpdates the viscontents or underlays below this tile.

Proc Details

Attach +

+

This proc sets up the signals to handle updating viscontents when turfs above/below update. Handle plane and layer here too so that they don't cover other obs/turfs in Dream Maker

get_baseturf_underlay +

+

Called when there is no real turf below this turf

update_multi_z +

+

Updates the viscontents or underlays below this tile.

+ + + diff --git a/datum/element/undertile.html b/datum/element/undertile.html new file mode 100644 index 00000000000..ca3599a5729 --- /dev/null +++ b/datum/element/undertile.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/undertile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

undertile + + + +

+ +

Add to an object if you want to be able to be hidden under tiles

+ + + + + +

Vars

invisibility_levellevel of invisibility applied when under a tile. Could be INVISIBILITY_OBSERVER if you still want it to be visible to ghosts
invisibility_traitthe invisiblity trait applied, like TRAIT_T_RAY_VISIBLE
tile_overlayan overlay for the tile if we wish to apply that
use_alphawhether we use alpha or not. TRUE uses ALPHA_UNDERTILE because otherwise we have 200 different instances of this element for different alphas
use_anchorWe will switch between anchored and unanchored. for stuff like satchels that shouldn't be pullable under tiles but are otherwise unanchored

Procs

hidecalled when a tile has been covered or uncovered
+

Var Details

invisibility_level + + + + +

+

level of invisibility applied when under a tile. Could be INVISIBILITY_OBSERVER if you still want it to be visible to ghosts

invisibility_trait + + + + +

+

the invisiblity trait applied, like TRAIT_T_RAY_VISIBLE

tile_overlay + + + + +

+

an overlay for the tile if we wish to apply that

use_alpha + + + + +

+

whether we use alpha or not. TRUE uses ALPHA_UNDERTILE because otherwise we have 200 different instances of this element for different alphas

use_anchor + + + + +

+

We will switch between anchored and unanchored. for stuff like satchels that shouldn't be pullable under tiles but are otherwise unanchored

Proc Details

hide +

+

called when a tile has been covered or uncovered

+ + + diff --git a/datum/element/unfriend_attacker.html b/datum/element/unfriend_attacker.html new file mode 100644 index 00000000000..4ab47b9cac4 --- /dev/null +++ b/datum/element/unfriend_attacker.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/unfriend_attacker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Unfriend Attacker + + + +

+ +

Element which makes a mob remove you from its friends list you if you hurt it. +Doesn't make a callout post because we don't have twitter integration.

+ +

Vars

untamed_reactionMessage to print if we remove a friend. String %SOURCE% and %TARGET% are replaced by names if present.

Procs

on_hurtIf it's a bad touch make enemies
+

Var Details

untamed_reaction + + + + +

+

Message to print if we remove a friend. String %SOURCE% and %TARGET% are replaced by names if present.

Proc Details

on_hurt +

+

If it's a bad touch make enemies

+ + + diff --git a/datum/element/update_icon_updates_onmob.html b/datum/element/update_icon_updates_onmob.html new file mode 100644 index 00000000000..be83b5d55cb --- /dev/null +++ b/datum/element/update_icon_updates_onmob.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/update_icon_updates_onmob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

update_icon_updates_onmob + + + +

+ + + +

Vars

update_bodyShould the element call [/mob/proc/update_body()] in addition to clothing updates?
update_flagsThe ITEM_SLOT_X flags to update on the parent mob in additon to the item's slot_flags. (Ex: Passing ITEM_SLOT_HANDCUFFED for sneakers will update the handcuff overlays in addition to ITEM_SLOT_FEET's overlays when their icon changes.)
+

Var Details

update_body + + + + +

+

Should the element call [/mob/proc/update_body()] in addition to clothing updates?

update_flags + + + + +

+

The ITEM_SLOT_X flags to update on the parent mob in additon to the item's slot_flags. (Ex: Passing ITEM_SLOT_HANDCUFFED for sneakers will update the handcuff overlays in addition to ITEM_SLOT_FEET's overlays when their icon changes.)

+ + + diff --git a/datum/element/uplink_reimburse.html b/datum/element/uplink_reimburse.html new file mode 100644 index 00000000000..2e8ab75af28 --- /dev/null +++ b/datum/element/uplink_reimburse.html @@ -0,0 +1,52 @@ + + + + + + + /datum/element/uplink_reimburse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

uplink_reimburse + + + +

+ +

Uplink Reimburse element. +When element is applied onto items, it allows them to be reimbursed if an user pokes an item with a uplink component with them.

+

Element is only compatible with items.

+ + +

Vars

refundable_tcTC to refund!

Procs

on_examinesignal called on parent being examined
usedIf the item is used, it needs to no longer be refundable
+

Var Details

refundable_tc + + + + +

+

TC to refund!

Proc Details

on_examine +

+

signal called on parent being examined

used +

+

If the item is used, it needs to no longer be refundable

+ + + diff --git a/datum/element/venomous.html b/datum/element/venomous.html new file mode 100644 index 00000000000..041c345cd22 --- /dev/null +++ b/datum/element/venomous.html @@ -0,0 +1,44 @@ + + + + + + + /datum/element/venomous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

venomous + + + +

+ +

Venomous element; which makes the attacks of the simplemob attached poison the enemy.

+

Used for spiders, frogs, and bees!

+ +

Vars

amount_addedHow much of the reagent added. if it's a list, it'll pick a range with the range being list(lower_value, upper_value)
poison_typePath of the reagent added
+

Var Details

amount_added + + + + +

+

How much of the reagent added. if it's a list, it'll pick a range with the range being list(lower_value, upper_value)

poison_type + + + + +

+

Path of the reagent added

+ + + diff --git a/datum/element/volatile_gas_storage.html b/datum/element/volatile_gas_storage.html new file mode 100644 index 00000000000..aea102b85ab --- /dev/null +++ b/datum/element/volatile_gas_storage.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/volatile_gas_storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

volatile_gas_storage + + + +

+ +

An element to make an /obj explode based on gas pressure when broken

+ + +

Vars

max_explosive_forceThe max explsion range at the max pressure
max_explosive_pressureThe max pressure to stop scaling the explosion at, you can go higher but the explosion range will stay at max
minimum_explosive_pressureThe minimum pressure of the gas storage to consider an explosion when broken
+

Var Details

max_explosive_force + + + + +

+

The max explsion range at the max pressure

max_explosive_pressure + + + + +

+

The max pressure to stop scaling the explosion at, you can go higher but the explosion range will stay at max

minimum_explosive_pressure + + + + +

+

The minimum pressure of the gas storage to consider an explosion when broken

+ + + diff --git a/datum/element/wall_engraver.html b/datum/element/wall_engraver.html new file mode 100644 index 00000000000..92dced71673 --- /dev/null +++ b/datum/element/wall_engraver.html @@ -0,0 +1,42 @@ + + + + + + + /datum/element/wall_engraver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wall_engraver + + + +

+ +

An element that lets you engrave walls when right click is used

+ +

Procs

on_examinesignal called on parent being examined
on_item_pre_attack_secondarysignal called on parent being used to right click attack something

Proc Details

on_examine +

+

signal called on parent being examined

on_item_pre_attack_secondary +

+

signal called on parent being used to right click attack something

+ + + diff --git a/datum/element/wall_smasher.html b/datum/element/wall_smasher.html new file mode 100644 index 00000000000..607c6207276 --- /dev/null +++ b/datum/element/wall_smasher.html @@ -0,0 +1,37 @@ + + + + + + + /datum/element/wall_smasher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Wall Smasher + + + +

+ +

An element you put on mobs to let their attacks break walls +If put in the hands of a player this can cause a lot of problems, be careful

+

Vars

strength_flagEither ENVIRONMENT_SMASH_WALLS or ENVIRONMENT_SMASH_RWALLS, as in '_DEFINES/mobs.dm'
+

Var Details

strength_flag + + + + +

+

Either ENVIRONMENT_SMASH_WALLS or ENVIRONMENT_SMASH_RWALLS, as in '_DEFINES/mobs.dm'

+ + + diff --git a/datum/element/wall_tearer.html b/datum/element/wall_tearer.html new file mode 100644 index 00000000000..ab42e64f4a3 --- /dev/null +++ b/datum/element/wall_tearer.html @@ -0,0 +1,71 @@ + + + + + + + /datum/element/wall_tearer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wall_tearer + + + +

+ +

Allows attached mobs to destroy walls over time, a little less unreasonable than the instant wall deletion of wall_smasher

+ + + + + +

Vars

allow_reinforcedWhether we can break reinforced walls
do_after_keyWhat interaction key do we use for our interaction
reinforced_multiplierHow much longer it takes to break reinforced walls
tear_timeHow long it takes for us to destroy a wall completely (its a 3 step process so this will be divided by three)

Procs

on_attacked_wallTry to tear up a wall
validate_targetCheck if the target atom is a wall we can actually rip up
+

Var Details

allow_reinforced + + + + +

+

Whether we can break reinforced walls

do_after_key + + + + +

+

What interaction key do we use for our interaction

reinforced_multiplier + + + + +

+

How much longer it takes to break reinforced walls

tear_time + + + + +

+

How long it takes for us to destroy a wall completely (its a 3 step process so this will be divided by three)

Proc Details

on_attacked_wall +

+

Try to tear up a wall

validate_target +

+

Check if the target atom is a wall we can actually rip up

+ + + diff --git a/datum/element/wall_walker.html b/datum/element/wall_walker.html new file mode 100644 index 00000000000..a18d7fa6b7c --- /dev/null +++ b/datum/element/wall_walker.html @@ -0,0 +1,50 @@ + + + + + + + /datum/element/wall_walker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wall_walker + + + +

+ +

This element will allow the mob it's attached to to pass through a specified type of wall, and drag anything through it.

+ + +

Vars

wall_typeWhat kind of walls can we pass through?

Procs

exit_wallIf the wall is of the proper type, pull whatever you're pulling into it
try_pass_wallIf the wall is of the proper type, pass into it and keep hold on whatever you're pulling
+

Var Details

wall_type + + + + +

+

What kind of walls can we pass through?

Proc Details

exit_wall +

+

If the wall is of the proper type, pull whatever you're pulling into it

try_pass_wall +

+

If the wall is of the proper type, pass into it and keep hold on whatever you're pulling

+ + + diff --git a/datum/element/weapon_description.html b/datum/element/weapon_description.html new file mode 100644 index 00000000000..e9b7989f76f --- /dev/null +++ b/datum/element/weapon_description.html @@ -0,0 +1,86 @@ + + + + + + + /datum/element/weapon_description - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

weapon_description + + + +

+ +

The purpose of this element is to widely provide the ability to examine an object and determine its stats, with the ability to add +additional notes or information based on type or other factors

+ + + +

Procs

build_label_textCompiles a warning label detailing various statistics of the examined weapon
topic_handlerOnly show this tag for items that could feasibly be weapons, shields, or those that have special notes +Details the stats of the examined weapon
warning_labelThis proc is called when the user examines an object with the associated element. This produces a hyperlinked +text line provided that the given item meets the weapon-determining criteria (Sufficient force or notes)
weapon_tag_convertConverts percentile based stats to an adjective appropriate for the +examined warning label

Proc Details

build_label_text +

+

Compiles a warning label detailing various statistics of the examined weapon

+

This function is called by the "examine" function of Topic(), and compiles a number of relevant +weapon stats into a message that is then shown to the user +Arguments:

+

topic_handler +

+

Only show this tag for items that could feasibly be weapons, shields, or those that have special notes +Details the stats of the examined weapon

+

This function is called when the user clicks the hyperlink provided by +warning_label(). It calls build_label_text() and outputs its return value to the user

+

Arguments:

+

warning_label +

+

This proc is called when the user examines an object with the associated element. This produces a hyperlinked +text line provided that the given item meets the weapon-determining criteria (Sufficient force or notes)

+

Arguments: +* source - Object being examined, cast into an item variable

+

weapon_tag_convert +

+

Converts percentile based stats to an adjective appropriate for the +examined warning label

+

Arguments:

+
+ + + diff --git a/datum/element/web_walker.html b/datum/element/web_walker.html new file mode 100644 index 00000000000..8862049c655 --- /dev/null +++ b/datum/element/web_walker.html @@ -0,0 +1,43 @@ + + + + + + + /datum/element/web_walker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Web Walker element + + + +

+ +

A mob with this element will move more slowly when it's not stood on a webbed turf.

+ +

Vars

off_web_slowdownMove speed modifier to apply when not stood on webs

Procs

on_movedWhen we move, check if we're still on a web
+

Var Details

off_web_slowdown + + + + +

+

Move speed modifier to apply when not stood on webs

Proc Details

on_moved +

+

When we move, check if we're still on a web

+ + + diff --git a/datum/emote.html b/datum/emote.html new file mode 100644 index 00000000000..bdfe89e2021 --- /dev/null +++ b/datum/emote.html @@ -0,0 +1,315 @@ + + + + + + + /datum/emote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Emote + + + +

+ +

Most of the text that's not someone talking is based off of this.

+

Yes, the displayed message is stored on the datum, it would cause problems +for emotes with a message that can vary, but that's handled differently in +run_emote(), so be sure to use can_message_change if you plan to have +different displayed messages from player to player.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

audio_cooldownHow long is the cooldown on the audio of the emote, if it has one?
can_message_changeDoes this message have a message that can be modified by the user?
cooldownThe cooldown between the uses of the emote.
emote_typeWhether the emote is visible and/or audible bitflag
hands_use_checkChecks if the mob can use its hands before performing the emote.
keyWhat calls the emote.
key_third_personThis will also call the emote.
messageMessage displayed when emote is used.
message_AIMessage displayed if the user is an AI.
message_alienMessage displayed if the user is a grown alien.
message_animal_or_basicMessage to display if the user is a simple_animal or basic mob.
message_larvaMessage displayed if the user is an alien larva.
message_mimeMessage displayed if the user is a mime.
message_monkeyMessage displayed if the user is a monkey.
message_paramMessage with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.
message_robotMessage displayed if the user is a robot.
mob_type_allowed_typecacheTypes that are allowed to use that emote.
mob_type_blacklist_typecacheTypes that are NOT allowed to use that emote.
mob_type_ignore_stat_typecacheTypes that can use this emote regardless of their state.
muzzle_ignoreWill only work if the emote is EMOTE_AUDIBLE.
nameNeeded for more user-friendly emote names, so emotes with keys like "aflap" will show as "flap angry". Defaulted to key.
only_forced_audioCan only code call this event instead of the player.
soundSound to play when emote is called.
stat_allowedIn which state can you use this emote? (Check stat.dm for a full list of them)
varyUsed for the honk borg emote.

Procs

can_run_emoteCheck to see if the user is allowed to run the emote.
check_cooldownFor handling emote cooldown, return true to allow the emote to happen.
get_soundTo get the sound that the emote plays, for special sound interactions depending on the mob.
replace_pronounTo replace pronouns in the inputed string with the user's proper pronouns.
run_emoteHandles the modifications and execution of emotes.
select_message_typeSelects the message type to override the message with.
select_paramReplaces the %t in the message in message_param by params.
should_play_soundCheck to see if the user should play a sound when performing the emote.
+

Var Details

audio_cooldown + + + + +

+

How long is the cooldown on the audio of the emote, if it has one?

can_message_change + + + + +

+

Does this message have a message that can be modified by the user?

cooldown + + + + +

+

The cooldown between the uses of the emote.

emote_type + + + + +

+

Whether the emote is visible and/or audible bitflag

hands_use_check + + + + +

+

Checks if the mob can use its hands before performing the emote.

key + + + + +

+

What calls the emote.

key_third_person + + + + +

+

This will also call the emote.

message + + + + +

+

Message displayed when emote is used.

message_AI + + + + +

+

Message displayed if the user is an AI.

message_alien + + + + +

+

Message displayed if the user is a grown alien.

message_animal_or_basic + + + + +

+

Message to display if the user is a simple_animal or basic mob.

message_larva + + + + +

+

Message displayed if the user is an alien larva.

message_mime + + + + +

+

Message displayed if the user is a mime.

message_monkey + + + + +

+

Message displayed if the user is a monkey.

message_param + + + + +

+

Message with %t at the end to allow adding params to the message, like for mobs doing an emote relatively to something else.

message_robot + + + + +

+

Message displayed if the user is a robot.

mob_type_allowed_typecache + + + + +

+

Types that are allowed to use that emote.

mob_type_blacklist_typecache + + + + +

+

Types that are NOT allowed to use that emote.

mob_type_ignore_stat_typecache + + + + +

+

Types that can use this emote regardless of their state.

muzzle_ignore + + + + +

+

Will only work if the emote is EMOTE_AUDIBLE.

name + + + + +

+

Needed for more user-friendly emote names, so emotes with keys like "aflap" will show as "flap angry". Defaulted to key.

only_forced_audio + + + + +

+

Can only code call this event instead of the player.

sound + + + + +

+

Sound to play when emote is called.

stat_allowed + + + + +

+

In which state can you use this emote? (Check stat.dm for a full list of them)

vary + + + + +

+

Used for the honk borg emote.

Proc Details

can_run_emote +

+

Check to see if the user is allowed to run the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user can run the emote.

check_cooldown +

+

For handling emote cooldown, return true to allow the emote to happen.

+

Arguments:

+ +

Returns FALSE if the cooldown is not over, TRUE if the cooldown is over.

get_sound +

+

To get the sound that the emote plays, for special sound interactions depending on the mob.

+

Arguments:

+ +

Returns the sound that will be made while sending the emote.

replace_pronoun +

+

To replace pronouns in the inputed string with the user's proper pronouns.

+

Arguments:

+ +

Returns the modified msg string.

run_emote +

+

Handles the modifications and execution of emotes.

+

Arguments:

+ +

Returns TRUE if it was able to run the emote, FALSE otherwise.

select_message_type +

+

Selects the message type to override the message with.

+

Arguments:

+ +

Returns the new message, or msg directly, if no change was needed.

select_param +

+

Replaces the %t in the message in message_param by params.

+

Arguments:

+ +

Returns the modified string.

should_play_sound +

+

Check to see if the user should play a sound when performing the emote.

+

Arguments:

+ +

Returns a bool about whether or not the user should play a sound when performing the emote.

+ + + diff --git a/datum/emote/living/yawn.html b/datum/emote/living/yawn.html new file mode 100644 index 00000000000..8b9cbf3c944 --- /dev/null +++ b/datum/emote/living/yawn.html @@ -0,0 +1,35 @@ + + + + + + + /datum/emote/living/yawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

yawn + + + +

+ + +

Procs

propagate_yawnThis yawn has been triggered by someone else yawning specifically, likely after a delay. Check again if they don't have the yawned recently trait

Proc Details

propagate_yawn +

+

This yawn has been triggered by someone else yawning specifically, likely after a delay. Check again if they don't have the yawned recently trait

+ + + diff --git a/datum/emote/slime/mood.html b/datum/emote/slime/mood.html new file mode 100644 index 00000000000..61d62610b1b --- /dev/null +++ b/datum/emote/slime/mood.html @@ -0,0 +1,36 @@ + + + + + + + /datum/emote/slime/mood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mood + + + +

+ + +

Vars

mood_keyMood key, will set the slime's emote to this.
+

Var Details

mood_key + + + + +

+

Mood key, will set the slime's emote to this.

+ + + diff --git a/datum/equilibrium.html b/datum/equilibrium.html new file mode 100644 index 00000000000..ef39ba0d063 --- /dev/null +++ b/datum/equilibrium.html @@ -0,0 +1,161 @@ + + + + + + + /datum/equilibrium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

equilibrium + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

dataUsed to store specific data needed for a reaction, usually used to keep track of things between explosion calls. CANNOT be used as a part of chemical_recipe - those vars are static lookup tables.
delta_phHow pure our step is
delta_tResult vars, private - do not edit unless in reaction_step() +How much we're adding
h_ion_modpH mod
holderThe location/reagents datum the processing is taking place
multiplierHow much product we can make multiplied by the input recipe's products/required_reagents numerical values
product_ratioThe sum total of each of the product's numerical's values. This is so the addition/deletion is kept at the right values for multiple product reactions
reacted_volHow much of the reaction has been made so far. Mostly used for subprocs, but it keeps track across the whole reaction and is added to every step.
reactionThe chemical reaction that is presently being processed
reaction_qualityWhat our last delta_ph was
speed_modModifiers from catalysts, do not use negative numbers. +I should write a better handiler for modifying these +Speed mod
step_target_volThe target volume the reaction is headed towards. This is updated every tick, so isn't the total value for the reaction, it's just a way to ensure we can't make more than is possible.
target_volThe total possible that this reaction can make presently - used for gui outputs
thermic_modTemp mod
time_deficitAllow us to deal with lag by "charging" up our reactions to react faster over a period - this means that the reaction doesn't suddenly mass react - which can cause explosions
to_deleteIf we're done with this reaction so that holder can clear it.

Procs

check_reagent_propertiesCheck to make sure our input vars are sensible
+

Var Details

data + + + + +

+

Used to store specific data needed for a reaction, usually used to keep track of things between explosion calls. CANNOT be used as a part of chemical_recipe - those vars are static lookup tables.

delta_ph + + + + +

+

How pure our step is

delta_t + + + + +

+

Result vars, private - do not edit unless in reaction_step() +How much we're adding

h_ion_mod + + + + +

+

pH mod

holder + + + + +

+

The location/reagents datum the processing is taking place

multiplier + + + + +

+

How much product we can make multiplied by the input recipe's products/required_reagents numerical values

product_ratio + + + + +

+

The sum total of each of the product's numerical's values. This is so the addition/deletion is kept at the right values for multiple product reactions

reacted_vol + + + + +

+

How much of the reaction has been made so far. Mostly used for subprocs, but it keeps track across the whole reaction and is added to every step.

reaction + + + + +

+

The chemical reaction that is presently being processed

reaction_quality + + + + +

+

What our last delta_ph was

speed_mod + + + + +

+

Modifiers from catalysts, do not use negative numbers. +I should write a better handiler for modifying these +Speed mod

step_target_vol + + + + +

+

The target volume the reaction is headed towards. This is updated every tick, so isn't the total value for the reaction, it's just a way to ensure we can't make more than is possible.

target_vol + + + + +

+

The total possible that this reaction can make presently - used for gui outputs

thermic_mod + + + + +

+

Temp mod

time_deficit + + + + +

+

Allow us to deal with lag by "charging" up our reactions to react faster over a period - this means that the reaction doesn't suddenly mass react - which can cause explosions

to_delete + + + + +

+

If we're done with this reaction so that holder can clear it.

Proc Details

check_reagent_properties +

+

Check to make sure our input vars are sensible

+
    +
  1. Is our atom in which this reaction is occuring still intact?
  2. +
  3. Do we still have reagents to react with
  4. +
  5. Do we have the required catalysts? +If you're adding more checks for reactions, this is the proc to edit +otherwise, generally, don't call this directed except internally
  6. +
+ + + diff --git a/datum/ert.html b/datum/ert.html new file mode 100644 index 00000000000..624e8e382b7 --- /dev/null +++ b/datum/ert.html @@ -0,0 +1,64 @@ + + + + + + + /datum/ert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ert + + + +

+ + + + + + +

Vars

ert_templateA custom map template to spawn the ERT at. If this is null or use_custom_shuttle is FALSE, the ERT will spawn at Centcom.
leader_experienceIf TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot
random_namesIf TRUE, gives the team members "[role] [random last name]" style names
spawn_adminIf TRUE, the admin who created the response team will be spawned in the briefing room in their preferred briefing outfit (assuming they're a ghost)
use_custom_shuttleIf we should actually use the ert_template custom shuttle
+

Var Details

ert_template + + + + +

+

A custom map template to spawn the ERT at. If this is null or use_custom_shuttle is FALSE, the ERT will spawn at Centcom.

leader_experience + + + + +

+

If TRUE, we try and pick one of the most experienced players who volunteered to fill the leader slot

random_names + + + + +

+

If TRUE, gives the team members "[role] [random last name]" style names

spawn_admin + + + + +

+

If TRUE, the admin who created the response team will be spawned in the briefing room in their preferred briefing outfit (assuming they're a ghost)

use_custom_shuttle + + + + +

+

If we should actually use the ert_template custom shuttle

+ + + diff --git a/datum/escape_menu.html b/datum/escape_menu.html new file mode 100644 index 00000000000..d05dc3fcd16 --- /dev/null +++ b/datum/escape_menu.html @@ -0,0 +1,36 @@ + + + + + + + /datum/escape_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

escape_menu + + + +

+ + +

Vars

clientThe client that owns this escape menu
+

Var Details

client + + + + +

+

The client that owns this escape menu

+ + + diff --git a/datum/event_admin_setup.html b/datum/event_admin_setup.html new file mode 100644 index 00000000000..16fc1eb9691 --- /dev/null +++ b/datum/event_admin_setup.html @@ -0,0 +1,37 @@ + + + + + + + /datum/event_admin_setup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

event_admin_setup + + + +

+ +

Datum that holds a proc for additional options when running an event. +Prototypes are declared here, non-prototypes on the event files.

+

Vars

event_controlevent control that owns this.
+

Var Details

event_control + + + + +

+

event control that owns this.

+ + + diff --git a/datum/event_admin_setup/anomaly_ectoplasm.html b/datum/event_admin_setup/anomaly_ectoplasm.html new file mode 100644 index 00000000000..5f38fd2652d --- /dev/null +++ b/datum/event_admin_setup/anomaly_ectoplasm.html @@ -0,0 +1,43 @@ + + + + + + + /datum/event_admin_setup/anomaly_ectoplasm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

anomaly_ectoplasm + + + +

+ + + +

Vars

chosen_effectThe admin-selected intensity
ghost_overrideThe number of ghosts the admin has selected to simulate orbiting the anomaly.
+

Var Details

chosen_effect + + + + +

+

The admin-selected intensity

ghost_override + + + + +

+

The number of ghosts the admin has selected to simulate orbiting the anomaly.

+ + + diff --git a/datum/event_admin_setup/carp_migration.html b/datum/event_admin_setup/carp_migration.html new file mode 100644 index 00000000000..eb6a265a0b6 --- /dev/null +++ b/datum/event_admin_setup/carp_migration.html @@ -0,0 +1,43 @@ + + + + + + + /datum/event_admin_setup/carp_migration - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

carp_migration + + + +

+ + + +

Vars

targets_per_zAdmin set list of turfs for carp to travel to for each z level

Procs

record_admin_locationStores the admin's current location corresponding to the z level of that location
+

Var Details

targets_per_z + + + + +

+

Admin set list of turfs for carp to travel to for each z level

Proc Details

record_admin_location +

+

Stores the admin's current location corresponding to the z level of that location

+ + + diff --git a/datum/event_admin_setup/input_number.html b/datum/event_admin_setup/input_number.html new file mode 100644 index 00000000000..787d7f1140c --- /dev/null +++ b/datum/event_admin_setup/input_number.html @@ -0,0 +1,64 @@ + + + + + + + /datum/event_admin_setup/input_number - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

input_number + + + +

+ + + + + + +

Vars

chosen_valueValue selected by the admin
default_valueThe value the number will be set to by default
input_textText shown when admins are queried about what number to set.
max_valueThe highest value setable by the admin.
min_valueThe lowest value setable by the admin
+

Var Details

chosen_value + + + + +

+

Value selected by the admin

default_value + + + + +

+

The value the number will be set to by default

input_text + + + + +

+

Text shown when admins are queried about what number to set.

max_value + + + + +

+

The highest value setable by the admin.

min_value + + + + +

+

The lowest value setable by the admin

+ + + diff --git a/datum/event_admin_setup/listed_options.html b/datum/event_admin_setup/listed_options.html new file mode 100644 index 00000000000..2f3689163e3 --- /dev/null +++ b/datum/event_admin_setup/listed_options.html @@ -0,0 +1,60 @@ + + + + + + + /datum/event_admin_setup/listed_options - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

listed_options + + + +

+ +

A very common pattern is picking from a tgui list input, so this does that. +Supply a list in get_list and prompt admins will have the admin pick from it or cancel.

+ + + +

Vars

chosenPicked list option to be applied.
input_textText to ask the user, for example "What deal would you like to offer the crew?"
normal_run_optionIf set, picking this will be the same as running the event without admin setup.
special_run_optionif you want a special button, this will add it. Remember to actually handle that case for chosen in apply_to_event +Example is in scrubber_overflow.dm
+

Var Details

chosen + + + + +

+

Picked list option to be applied.

input_text + + + + +

+

Text to ask the user, for example "What deal would you like to offer the crew?"

normal_run_option + + + + +

+

If set, picking this will be the same as running the event without admin setup.

special_run_option + + + + +

+

if you want a special button, this will add it. Remember to actually handle that case for chosen in apply_to_event +Example is in scrubber_overflow.dm

+ + + diff --git a/datum/event_admin_setup/listed_options/disease_outbreak_advanced/severity.html b/datum/event_admin_setup/listed_options/disease_outbreak_advanced/severity.html new file mode 100644 index 00000000000..43ba3b4e3af --- /dev/null +++ b/datum/event_admin_setup/listed_options/disease_outbreak_advanced/severity.html @@ -0,0 +1,29 @@ + + + + + + + /datum/event_admin_setup/listed_options/disease_outbreak_advanced/severity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

severity + + + +

+ +

Admin virus customization

+

If the admin wishes, give them the opportunity to select the severity and number of symptoms.

+ + + diff --git a/datum/event_admin_setup/mass_hallucination.html b/datum/event_admin_setup/mass_hallucination.html new file mode 100644 index 00000000000..b0d7c8e89bb --- /dev/null +++ b/datum/event_admin_setup/mass_hallucination.html @@ -0,0 +1,43 @@ + + + + + + + /datum/event_admin_setup/mass_hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mass_hallucination + + + +

+ + + +

Vars

admin_forced_argsFor admins, what arguments are we passing to said hallucination
admin_forced_hallucinationFor admins, what hallucination did we pick
+

Var Details

admin_forced_args + + + + +

+

For admins, what arguments are we passing to said hallucination

admin_forced_hallucination + + + + +

+

For admins, what hallucination did we pick

+ + + diff --git a/datum/event_admin_setup/minimum_candidate_requirement.html b/datum/event_admin_setup/minimum_candidate_requirement.html new file mode 100644 index 00000000000..8ca832bf45e --- /dev/null +++ b/datum/event_admin_setup/minimum_candidate_requirement.html @@ -0,0 +1,50 @@ + + + + + + + /datum/event_admin_setup/minimum_candidate_requirement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

minimum_candidate_requirement + + + +

+ +

For events that mandate a set number of candidates to function

+ + +

Vars

min_candidatesMinimum number of candidates for the event to function
output_textText shown when there are not enough candidates

Procs

count_candidatesChecks for candidates. Should return the total number of candidates
+

Var Details

min_candidates + + + + +

+

Minimum number of candidates for the event to function

output_text + + + + +

+

Text shown when there are not enough candidates

Proc Details

count_candidates +

+

Checks for candidates. Should return the total number of candidates

+ + + diff --git a/datum/event_admin_setup/multiple_choice.html b/datum/event_admin_setup/multiple_choice.html new file mode 100644 index 00000000000..ccb5ab1d56a --- /dev/null +++ b/datum/event_admin_setup/multiple_choice.html @@ -0,0 +1,57 @@ + + + + + + + /datum/event_admin_setup/multiple_choice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

multiple_choice + + + +

+ + + + + +

Vars

choicesList of choices returned by this setup to the event.
input_textText shown to the admin when queried about which options they want to pick.
max_choicesThe maximum number of choices that the admin can make for this event.
min_choicesThe minimum number of choices an admin must make for this event.
+

Var Details

choices + + + + +

+

List of choices returned by this setup to the event.

input_text + + + + +

+

Text shown to the admin when queried about which options they want to pick.

max_choices + + + + +

+

The maximum number of choices that the admin can make for this event.

min_choices + + + + +

+

The minimum number of choices an admin must make for this event.

+ + + diff --git a/datum/event_admin_setup/question.html b/datum/event_admin_setup/question.html new file mode 100644 index 00000000000..b3e54603235 --- /dev/null +++ b/datum/event_admin_setup/question.html @@ -0,0 +1,43 @@ + + + + + + + /datum/event_admin_setup/question - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

question + + + +

+ +

For events that require a true/false question

+ +

Vars

chosenValue passed to the event.
input_textQuestion shown to the admin.
+

Var Details

chosen + + + + +

+

Value passed to the event.

input_text + + + + +

+

Question shown to the admin.

+ + + diff --git a/datum/event_admin_setup/set_location.html b/datum/event_admin_setup/set_location.html new file mode 100644 index 00000000000..899f152829b --- /dev/null +++ b/datum/event_admin_setup/set_location.html @@ -0,0 +1,43 @@ + + + + + + + /datum/event_admin_setup/set_location - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

set_location + + + +

+ + + +

Vars

chosen_turfTurf that will be passed onto the event.
input_textText shown when admins are queried about setting the target location.
+

Var Details

chosen_turf + + + + +

+

Turf that will be passed onto the event.

input_text + + + + +

+

Text shown when admins are queried about setting the target location.

+ + + diff --git a/datum/event_admin_setup/syndicate_cargo_pod.html b/datum/event_admin_setup/syndicate_cargo_pod.html new file mode 100644 index 00000000000..08cad3ce07b --- /dev/null +++ b/datum/event_admin_setup/syndicate_cargo_pod.html @@ -0,0 +1,43 @@ + + + + + + + /datum/event_admin_setup/syndicate_cargo_pod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate_cargo_pod + + + +

+ + + +

Vars

pack_type_overrideAdmin setable override to spawn a specific cargo pack type

Procs

override_contentsThis proc prompts admins to set a TC value and uplink type for the crate, those values are then passed to a new syndicate pack's setup_contents() to generate the contents before spawning it.
+

Var Details

pack_type_override + + + + +

+

Admin setable override to spawn a specific cargo pack type

Proc Details

override_contents +

+

This proc prompts admins to set a TC value and uplink type for the crate, those values are then passed to a new syndicate pack's setup_contents() to generate the contents before spawning it.

+ + + diff --git a/datum/event_admin_setup/text_input.html b/datum/event_admin_setup/text_input.html new file mode 100644 index 00000000000..14850119bc2 --- /dev/null +++ b/datum/event_admin_setup/text_input.html @@ -0,0 +1,52 @@ + + + + + + + /datum/event_admin_setup/text_input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

text_input + + + +

+ +

For admin setups that want a custom string. Suggests what the event would have picked normally.

+ + +

Vars

chosenPicked string to be applied.
input_textText to ask the user, for example "What horrifying truth will you reveal?"

Procs

get_text_suggestionReturns a string to suggest to the admin, which would be what the event would have chosen. +No suggestion if an empty string, which is default behavior.
+

Var Details

chosen + + + + +

+

Picked string to be applied.

input_text + + + + +

+

Text to ask the user, for example "What horrifying truth will you reveal?"

Proc Details

get_text_suggestion +

+

Returns a string to suggest to the admin, which would be what the event would have chosen. +No suggestion if an empty string, which is default behavior.

+ + + diff --git a/datum/event_admin_setup/warn_admin.html b/datum/event_admin_setup/warn_admin.html new file mode 100644 index 00000000000..2c6d1e8fa2d --- /dev/null +++ b/datum/event_admin_setup/warn_admin.html @@ -0,0 +1,51 @@ + + + + + + + /datum/event_admin_setup/warn_admin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

warn_admin + + + +

+ +

Some events are not always a good idea when a game state is in a certain situation. +This runs a check and warns the admin.

+ + +

Vars

snitch_textMessage sent to other admins. Example: "has forced a shuttle catastrophe while a shuttle was already docked."
warning_textWarning text shown to admin on the alert.

Procs

should_warnReturns whether the admin should get an alert.
+

Var Details

snitch_text + + + + +

+

Message sent to other admins. Example: "has forced a shuttle catastrophe while a shuttle was already docked."

warning_text + + + + +

+

Warning text shown to admin on the alert.

Proc Details

should_warn +

+

Returns whether the admin should get an alert.

+ + + diff --git a/datum/events.html b/datum/events.html new file mode 100644 index 00000000000..5a491ffa721 --- /dev/null +++ b/datum/events.html @@ -0,0 +1,55 @@ + + + + + + + /datum/events - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

events + + + +

+ + + + +

Procs

addEventArguments: event_type as text, proc_holder as datum, proc_name as text +Returns: New event, null on error.
clearEventArguments: event_type as text, E as /datum/event +Returns: TRUE if event cleared, FALSE on error
fireEventArguments: event_type as text, any number of additional arguments to pass to event handler +Returns: null

Proc Details

addEvent +

+

Arguments: event_type as text, proc_holder as datum, proc_name as text +Returns: New event, null on error.

clearEvent +

+

Arguments: event_type as text, E as /datum/event +Returns: TRUE if event cleared, FALSE on error

fireEvent +

+

Arguments: event_type as text, any number of additional arguments to pass to event handler +Returns: null

+ + + diff --git a/datum/excited_group.html b/datum/excited_group.html new file mode 100644 index 00000000000..84efc80096d --- /dev/null +++ b/datum/excited_group.html @@ -0,0 +1,85 @@ + + + + + + + /datum/excited_group - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

excited_group + + + +

+ +

EXCITED GROUPS

+ + + + + + + +

Vars

breakdown_cooldownIf this is over EXCITED_GROUP_BREAKDOWN_CYCLES we call self_breakdown()
dismantle_cooldownIf this is over EXCITED_GROUP_DISMANTLE_CYCLES we call dismantle()
display_idId of the index color of the displayed group
should_displayUsed for debug to show the excited groups active and their turfs
turf_listStores a reference to the turfs we are controlling
turf_reactionsAll turf reaction flags we have received.
wrapping_idWrapping loop of the index colors

Procs

dismantleDismantles the excited group, puts allll the turfs to sleep
+

Var Details

breakdown_cooldown + + + + +

+

If this is over EXCITED_GROUP_BREAKDOWN_CYCLES we call self_breakdown()

dismantle_cooldown + + + + +

+

If this is over EXCITED_GROUP_DISMANTLE_CYCLES we call dismantle()

display_id + + + + +

+

Id of the index color of the displayed group

should_display + + + + +

+

Used for debug to show the excited groups active and their turfs

turf_list + + + + +

+

Stores a reference to the turfs we are controlling

turf_reactions + + + + +

+

All turf reaction flags we have received.

wrapping_id + + + + +

+

Wrapping loop of the index colors

Proc Details

dismantle +

+

Dismantles the excited group, puts allll the turfs to sleep

+ + + diff --git a/datum/exoscan.html b/datum/exoscan.html new file mode 100644 index 00000000000..ed91122eb83 --- /dev/null +++ b/datum/exoscan.html @@ -0,0 +1,64 @@ + + + + + + + /datum/exoscan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

exoscan + + + +

+ +

Represents scan in progress, only one globally for now, todo later split per z or allow partial dish swarm usage

+ + + + +

Vars

scan_powerThe scan power this scan was started with, if scanner swarm power falls below this value it will be interrupted
scan_timerEnd of scan timer id
scan_typeScan type wide/point/deep
targetTarget site for point/band scans

Procs

ui_descriptionShort description for in progress scan
+

Var Details

scan_power + + + + +

+

The scan power this scan was started with, if scanner swarm power falls below this value it will be interrupted

scan_timer + + + + +

+

End of scan timer id

scan_type + + + + +

+

Scan type wide/point/deep

target + + + + +

+

Target site for point/band scans

Proc Details

ui_description +

+

Short description for in progress scan

+ + + diff --git a/datum/experiment.html b/datum/experiment.html new file mode 100644 index 00000000000..4392e577c04 --- /dev/null +++ b/datum/experiment.html @@ -0,0 +1,165 @@ + + + + + + + /datum/experiment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Experiment + + + +

+ +

This is the base datum for experiments, storing the base definition.

+

This class should be subclassed for producing actual experiments. The +proc stubs should be implemented in whole.

+ + + + + + + + + + + + + + + + +

Vars

allowed_experimentorsA list of types that are allowed to experiment with this dastum
completedWhether the experiment has been completed
descriptionA brief description of the experiment to be shown as details
exp_tagA descriptive tag used on UI elements to denote 'types' of experiments
nameName that distinguishes the experiment
performance_hintA textual hint shown on the UI in a tooltip to help a user determine how to perform +the experiment
points_rewardIf set, these techweb points will be rewarded for completing the experiment. +Useful for those loose ends not tied to any specific node discount or requirement.
traitsTraits related to the experiment

Procs

NewPerforms any necessary initialization of tags and other variables
actionableGets if the experiment is actionable provided some arguments
check_progressGets the current progress towards the goal of the experiment
finish_experimentCalled when you complete an experiment, makes sure the techwebs knows the experiment was finished, and tells everyone it happend, yay!
is_completeChecks if the experiment is complete
on_selectedCalled when the experiment is selected by an experiment handler, for specific signals and the such.
on_unselectedCalled when the opposite happens.
perform_experimentProc that tries to perform the experiment, and then checks if its completed.
perform_experiment_actionsAttempts to perform the experiment provided some arguments
+

Var Details

allowed_experimentors + + + + +

+

A list of types that are allowed to experiment with this dastum

completed + + + + +

+

Whether the experiment has been completed

description + + + + +

+

A brief description of the experiment to be shown as details

exp_tag + + + + +

+

A descriptive tag used on UI elements to denote 'types' of experiments

name + + + + +

+

Name that distinguishes the experiment

performance_hint + + + + +

+

A textual hint shown on the UI in a tooltip to help a user determine how to perform +the experiment

points_reward + + + + +

+

If set, these techweb points will be rewarded for completing the experiment. +Useful for those loose ends not tied to any specific node discount or requirement.

traits + + + + +

+

Traits related to the experiment

Proc Details

New +

+

Performs any necessary initialization of tags and other variables

actionable +

+

Gets if the experiment is actionable provided some arguments

+

This proc should be overridden such that the return value is a +boolean value representing if the experiment could be actioned with +the provided arguments.

check_progress +

+

Gets the current progress towards the goal of the experiment

+

This proc should be overridden such that the return value is a +list of lists, wherein each inner list represents a stage. Stages have +types, see _DEFINES/experisci.dm. Each stage should be constructed using +one of several available macros in that file.

finish_experiment +

+

Called when you complete an experiment, makes sure the techwebs knows the experiment was finished, and tells everyone it happend, yay!

is_complete +

+

Checks if the experiment is complete

+

This proc should be overridden such that it returns TRUE/FALSE to +state if the experiment is complete or not.

on_selected +

+

Called when the experiment is selected by an experiment handler, for specific signals and the such.

on_unselected +

+

Called when the opposite happens.

perform_experiment +

+

Proc that tries to perform the experiment, and then checks if its completed.

perform_experiment_actions +

+

Attempts to perform the experiment provided some arguments

+

This proc should be overridden such that the experiment will be actioned +with some defined arguments

+ + + diff --git a/datum/experiment/exploration_scan/random.html b/datum/experiment/exploration_scan/random.html new file mode 100644 index 00000000000..58b07b9ff5c --- /dev/null +++ b/datum/experiment/exploration_scan/random.html @@ -0,0 +1,43 @@ + + + + + + + /datum/experiment/exploration_scan/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

random + + + +

+ + + +

Vars

possible_random_conditionsIf not null the required_site_type will be picked from this list
possible_random_site_typesIf not null the required_condition will be picked from this list
+

Var Details

possible_random_conditions + + + + +

+

If not null the required_site_type will be picked from this list

possible_random_site_types + + + + +

+

If not null the required_condition will be picked from this list

+ + + diff --git a/datum/experiment/ordnance.html b/datum/experiment/ordnance.html new file mode 100644 index 00000000000..cf3dd6db0fa --- /dev/null +++ b/datum/experiment/ordnance.html @@ -0,0 +1,58 @@ + + + + + + + /datum/experiment/ordnance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ordnance + + + +

+ +

A ordnance experiment datum. What gives the science in the first place. +One is instantiated by the techweb, another one is also kept on SSresearch for the briefing. +A disk should contain several of these in a list. Only one should get picked for the final paper.

+ + +

Vars

experiment_properLookup experiments are initialized using subtypes, +this lets us ignore the ones made for subtyping.
gainProjected gain from an experiment. In list form, indexed = tier.
target_amountThe variable that influences the point equation; Determines when you get the most bang for your buck +More rigorously, this is the middle of the derivative bell curve. +In list form, indexed = tier.
+

Var Details

experiment_proper + + + + +

+

Lookup experiments are initialized using subtypes, +this lets us ignore the ones made for subtyping.

gain + + + + +

+

Projected gain from an experiment. In list form, indexed = tier.

target_amount + + + + +

+

The variable that influences the point equation; Determines when you get the most bang for your buck +More rigorously, this is the middle of the derivative bell curve. +In list form, indexed = tier.

+ + + diff --git a/datum/experiment/ordnance/explosive.html b/datum/experiment/ordnance/explosive.html new file mode 100644 index 00000000000..173974aabaf --- /dev/null +++ b/datum/experiment/ordnance/explosive.html @@ -0,0 +1,66 @@ + + + + + + + /datum/experiment/ordnance/explosive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

explosive + + + +

+ + + + + + +

Vars

allow_any_sourceWhether we allow bombs without properly filled reaction_results or not. +Setting this to true means the experiment will always pass the cause and effect check.
require_allWhether we want everything in required_reactions to be fulfilled, or only one is needed.
required_reactionsTypepath to gas reactions that we want. Empty if we do not require any at all or don't want any.
sanitized_miscWhether we want a clear misc or not.
sanitized_reactionsWhether we only accept explosions with reactions that we set in src.required_reactions or do we allow other reactions in.
+

Var Details

allow_any_source + + + + +

+

Whether we allow bombs without properly filled reaction_results or not. +Setting this to true means the experiment will always pass the cause and effect check.

require_all + + + + +

+

Whether we want everything in required_reactions to be fulfilled, or only one is needed.

required_reactions + + + + +

+

Typepath to gas reactions that we want. Empty if we do not require any at all or don't want any.

sanitized_misc + + + + +

+

Whether we want a clear misc or not.

sanitized_reactions + + + + +

+

Whether we only accept explosions with reactions that we set in src.required_reactions or do we allow other reactions in.

+ + + diff --git a/datum/experiment/ordnance/gaseous.html b/datum/experiment/ordnance/gaseous.html new file mode 100644 index 00000000000..71d459be0ee --- /dev/null +++ b/datum/experiment/ordnance/gaseous.html @@ -0,0 +1,36 @@ + + + + + + + /datum/experiment/ordnance/gaseous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gaseous + + + +

+ + +

Vars

required_gasTypepath to the gas we require for the experiment.
+

Var Details

required_gas + + + + +

+

Typepath to the gas we require for the experiment.

+ + + diff --git a/datum/experiment/physical.html b/datum/experiment/physical.html new file mode 100644 index 00000000000..9db25989692 --- /dev/null +++ b/datum/experiment/physical.html @@ -0,0 +1,57 @@ + + + + + + + /datum/experiment/physical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

physical + + + +

+ + + + + +

Vars

currently_scanned_atomThe atom that is currently being watched by this experiment
linked_experiment_handlerLinked experiment handler

Procs

register_eventsHandles registering to events relevant to the experiment
unregister_eventsHandles unregistering to events relevant to the experiment
+

Var Details

currently_scanned_atom + + + + +

+

The atom that is currently being watched by this experiment

linked_experiment_handler + + + + +

+

Linked experiment handler

Proc Details

register_events +

+

Handles registering to events relevant to the experiment

unregister_events +

+

Handles unregistering to events relevant to the experiment

+ + + diff --git a/datum/experiment/scanning.html b/datum/experiment/scanning.html new file mode 100644 index 00000000000..8ff46b541e4 --- /dev/null +++ b/datum/experiment/scanning.html @@ -0,0 +1,147 @@ + + + + + + + /datum/experiment/scanning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Scanning Experiment + + + +

+ +

This is the base implementation of scanning experiments.

+

This class should be subclassed for producing actual experiments. The +procs should be extended where necessary.

+ + + + + + + + + + +

Vars

required_atomsThe typepaths and number of atoms that must be scanned
scan_messageIf set, it'll be used in place of the generic "Scan samples of \a [initial(target.name)]" in serialize_progress_stage()
scannedThe list of atoms with sub-lists of atom references for scanned atoms contributing to the experiment (Or a count of atoms destoryed for destructive expiriments)

Procs

NewInitializes the scanned atoms lists
check_progresstypecache experiments work all the same whether it's destructive or not +Gets the number of atoms that have been scanned and the goal
do_after_experimentPerforms actions following a successful experiment action
final_contributing_index_checksPerforms any additional checks against the atom being considered for selection as a contributing index
get_contributing_indexAttempts to get the typepath for an atom that would contribute to the experiment
is_completeChecks if the scanning experiment is complete
perform_experiment_actionsAttempts to scan an atom towards the experiment's goal
serialize_progress_stageSerializes a progress stage into a list to be sent to the UI
+

Var Details

required_atoms + + + + +

+

The typepaths and number of atoms that must be scanned

scan_message + + + + +

+

If set, it'll be used in place of the generic "Scan samples of \a [initial(target.name)]" in serialize_progress_stage()

scanned + + + + +

+

The list of atoms with sub-lists of atom references for scanned atoms contributing to the experiment (Or a count of atoms destoryed for destructive expiriments)

Proc Details

New +

+

Initializes the scanned atoms lists

+

Initializes the internal scanned atoms list to keep track of which atoms have already been scanned

check_progress +

+

typecache experiments work all the same whether it's destructive or not +Gets the number of atoms that have been scanned and the goal

+

This proc returns a string describing the number of atoms that +have been scanned as well as the target number of atoms.

do_after_experiment +

+

Performs actions following a successful experiment action

+

This proc is intended to be used to add additional functionality to follow experiment +actions without having to change the perform_experiment_actions proc to get access to the +selected typepath index +Arguments:

+

final_contributing_index_checks +

+

Performs any additional checks against the atom being considered for selection as a contributing index

+

This proc is intended to be used to add additional functionality to contributing index checks +without having to duplicate the iteration structure of get_contributing_index() +Arguments:

+

get_contributing_index +

+

Attempts to get the typepath for an atom that would contribute to the experiment

+

This proc checks the required atoms for a typepath that this target atom can contribute to +and if found returns that typepath, otherwise returns null +Arguments:

+

is_complete +

+

Checks if the scanning experiment is complete

+

Returns TRUE/FALSE as to if the necessary number of atoms have been +scanned.

perform_experiment_actions +

+

Attempts to scan an atom towards the experiment's goal

+

This proc attempts to scan an atom towards the experiment's goal, +and returns TRUE/FALSE based on success. +Arguments:

+

serialize_progress_stage +

+

Serializes a progress stage into a list to be sent to the UI

+

Arguments:

+
+ + + diff --git a/datum/experiment/scanning/fish.html b/datum/experiment/scanning/fish.html new file mode 100644 index 00000000000..3718d508f14 --- /dev/null +++ b/datum/experiment/scanning/fish.html @@ -0,0 +1,79 @@ + + + + + + + /datum/experiment/scanning/fish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fish + + + +

+ +

A special scanning experiment that unlocks further settings for the fishing portal generator. +Mainly as an inventive solution to many a fish source being limited to maps that have it, +and to make the fishing portal generator a bit than just gubby and goldfish.

+ + + + + +

Vars

fish_source_rewardCompleting a experiment may also enable a fish source to be used for use for the portal generator.
next_experimentsFurther experiments added to the techweb when this one is completed.

Procs

NewWe make sure the scanned list is shared between all fish scanning experiments for this techweb, +since this is about scanning each species, and having to redo it for each species is a hassle.
final_contributing_index_checksOnly scannable fish will contribute towards the experiment.
finish_experimentAfter a fish scanning experiment is done, more may be unlocked. If so, add them to the techweb +and automatically link the handler to the next experiment in the list as a bit of qol.
on_selectedRegisters a couple signals to review the fish scanned so far. +It'd be an hassle not having any way (beside memory) to know which fish species have been scanned already otherwise.
+

Var Details

fish_source_reward + + + + +

+

Completing a experiment may also enable a fish source to be used for use for the portal generator.

next_experiments + + + + +

+

Further experiments added to the techweb when this one is completed.

Proc Details

New +

+

We make sure the scanned list is shared between all fish scanning experiments for this techweb, +since this is about scanning each species, and having to redo it for each species is a hassle.

final_contributing_index_checks +

+

Only scannable fish will contribute towards the experiment.

finish_experiment +

+

After a fish scanning experiment is done, more may be unlocked. If so, add them to the techweb +and automatically link the handler to the next experiment in the list as a bit of qol.

on_selected +

+

Registers a couple signals to review the fish scanned so far. +It'd be an hassle not having any way (beside memory) to know which fish species have been scanned already otherwise.

+ + + diff --git a/datum/experiment/scanning/fish/holographic.html b/datum/experiment/scanning/fish/holographic.html new file mode 100644 index 00000000000..926771680fc --- /dev/null +++ b/datum/experiment/scanning/fish/holographic.html @@ -0,0 +1,35 @@ + + + + + + + /datum/experiment/scanning/fish/holographic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

holographic + + + +

+ + +

Procs

final_contributing_index_checksholo fishes are normally unscannable, but this is an experiment for them, so we don't care for the experisci_scannable variable.

Proc Details

final_contributing_index_checks +

+

holo fishes are normally unscannable, but this is an experiment for them, so we don't care for the experisci_scannable variable.

+ + + diff --git a/datum/experiment/scanning/people.html b/datum/experiment/scanning/people.html new file mode 100644 index 00000000000..c32f86d4bb2 --- /dev/null +++ b/datum/experiment/scanning/people.html @@ -0,0 +1,57 @@ + + + + + + + /datum/experiment/scanning/people - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

people + + + +

+ +

An experiment where you scan your fellow humans

+ + + +

Vars

mind_requiredDoes the scanned target need to have a mind?
required_countNumber of people you need to scan
required_traits_descHow do we describe the people you need to scan?

Procs

is_valid_scan_targetChecks that the passed mob is valid human to scan
+

Var Details

mind_required + + + + +

+

Does the scanned target need to have a mind?

required_count + + + + +

+

Number of people you need to scan

required_traits_desc + + + + +

+

How do we describe the people you need to scan?

Proc Details

is_valid_scan_target +

+

Checks that the passed mob is valid human to scan

+ + + diff --git a/datum/experiment/scanning/people/novel_organs.html b/datum/experiment/scanning/people/novel_organs.html new file mode 100644 index 00000000000..83ded3e533a --- /dev/null +++ b/datum/experiment/scanning/people/novel_organs.html @@ -0,0 +1,36 @@ + + + + + + + /datum/experiment/scanning/people/novel_organs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

novel_organs + + + +

+ +

Scan for organs you didn't start the round with

+

Vars

organic_onlyDisallow prosthetic organs
+

Var Details

organic_only + + + + +

+

Disallow prosthetic organs

+ + + diff --git a/datum/experiment/scanning/points.html b/datum/experiment/scanning/points.html new file mode 100644 index 00000000000..86a76bf956a --- /dev/null +++ b/datum/experiment/scanning/points.html @@ -0,0 +1,43 @@ + + + + + + + /datum/experiment/scanning/points - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

points + + + +

+ + + +

Vars

pointsThe current points gained on this experiment
required_pointsThe total required points for this experiment
+

Var Details

points + + + + +

+

The current points gained on this experiment

required_points + + + + +

+

The total required points for this experiment

+ + + diff --git a/datum/experiment/scanning/points/machinery_pinpoint_scan.html b/datum/experiment/scanning/points/machinery_pinpoint_scan.html new file mode 100644 index 00000000000..46ddd71ba5d --- /dev/null +++ b/datum/experiment/scanning/points/machinery_pinpoint_scan.html @@ -0,0 +1,40 @@ + + + + + + + /datum/experiment/scanning/points/machinery_pinpoint_scan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

machinery_pinpoint_scan + + + +

+ + +

Vars

required_stock_partWhich stock part are we looking for in the machine. +We use obj instead of datum here, as some stock parts aren't datumised, and in datumised ones +we can just look for the physical_object_reference to match up the requirement.
+

Var Details

required_stock_part + + + + +

+

Which stock part are we looking for in the machine. +We use obj instead of datum here, as some stock parts aren't datumised, and in datumised ones +we can just look for the physical_object_reference to match up the requirement.

+ + + diff --git a/datum/experiment/scanning/points/machinery_tiered_scan.html b/datum/experiment/scanning/points/machinery_tiered_scan.html new file mode 100644 index 00000000000..2e2200894a2 --- /dev/null +++ b/datum/experiment/scanning/points/machinery_tiered_scan.html @@ -0,0 +1,38 @@ + + + + + + + /datum/experiment/scanning/points/machinery_tiered_scan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

machinery_tiered_scan + + + +

+ +

This experiment type will turn up TRUE if at least one of the stock parts in the scanned machine is of the required_tier. +Pretend to upgrade security's techfab but in reality apply only one better matter bin! +Note that a stock part in a machine can either be an object, or a datum.

+

Vars

required_tierWhat tier of parts is required for the experiment
+

Var Details

required_tier + + + + +

+

What tier of parts is required for the experiment

+ + + diff --git a/datum/experiment/scanning/random.html b/datum/experiment/scanning/random.html new file mode 100644 index 00000000000..a0845424d69 --- /dev/null +++ b/datum/experiment/scanning/random.html @@ -0,0 +1,50 @@ + + + + + + + /datum/experiment/scanning/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

random + + + +

+ + + + +

Vars

max_requirement_per_typeMax amount of a requirement per type
possible_typeslist of types which that can be included in the experiment. Randomly picked from on New
total_requirementThe total desired number of atoms to have scanned
+

Var Details

max_requirement_per_type + + + + +

+

Max amount of a requirement per type

possible_types + + + + +

+

list of types which that can be included in the experiment. Randomly picked from on New

total_requirement + + + + +

+

The total desired number of atoms to have scanned

+ + + diff --git a/datum/experiment/scanning/random/material.html b/datum/experiment/scanning/random/material.html new file mode 100644 index 00000000000..d26c140fc2e --- /dev/null +++ b/datum/experiment/scanning/random/material.html @@ -0,0 +1,43 @@ + + + + + + + /datum/experiment/scanning/random/material - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

material + + + +

+ + + +

Vars

possible_material_typesList of materials that can be required.
required_materialsList of materials actually required, indexed by the atom that is required.
+

Var Details

possible_material_types + + + + +

+

List of materials that can be required.

required_materials + + + + +

+

List of materials actually required, indexed by the atom that is required.

+ + + diff --git a/datum/experiment/scanning/random/mecha_damage_scan.html b/datum/experiment/scanning/random/mecha_damage_scan.html new file mode 100644 index 00000000000..c212cde3d9b --- /dev/null +++ b/datum/experiment/scanning/random/mecha_damage_scan.html @@ -0,0 +1,36 @@ + + + + + + + /datum/experiment/scanning/random/mecha_damage_scan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mecha_damage_scan + + + +

+ + +

Vars

damage_percentDamage percent that each mech needs to be at for a scan to work.
+

Var Details

damage_percent + + + + +

+

Damage percent that each mech needs to be at for a scan to work.

+ + + diff --git a/datum/experiment/scanning/random/plants.html b/datum/experiment/scanning/random/plants.html new file mode 100644 index 00000000000..1406ddb89dd --- /dev/null +++ b/datum/experiment/scanning/random/plants.html @@ -0,0 +1,43 @@ + + + + + + + /datum/experiment/scanning/random/plants - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plants + + + +

+ + + +

Vars

possible_plant_genesList of possible plant genes the experiment may ask for.
required_genesList of plant genes actually required, indexed by the atom that is required.
+

Var Details

possible_plant_genes + + + + +

+

List of possible plant genes the experiment may ask for.

required_genes + + + + +

+

List of plant genes actually required, indexed by the atom that is required.

+ + + diff --git a/datum/exploration_event.html b/datum/exploration_event.html new file mode 100644 index 00000000000..17d367368e0 --- /dev/null +++ b/datum/exploration_event.html @@ -0,0 +1,120 @@ + + + + + + + /datum/exploration_event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

exploration_event + + + +

+ +

Exploration event

+ + + + + + + + + + + + +

Vars

band_valuesModifies site scan results by these
blacklisted_site_traitsIf these site traits are present the event won't show up
deep_scan_descriptionOptional description that will be added to site description when point scan is completed.
discovery_logmessage logged when first encountering the event.
nameThis name will show up in exploration list if it's repeatable
point_scan_descriptionOptional description that will be added to site description when point scan is completed.
required_site_traitsExploration site required_traits for this event to show up
root_abstract_typeThese types will be ignored in event creation
site_description_modThis will be added to site description, mind this will most likely reveal presence of this event early if set.
visitedencountered at least once

Procs

encounterMain event functionality, called when exploring randomly/revisiting.
get_discovery_messageOverride this if you need to modify discovery message
is_targetableShould this event show up on site exploration list.
+

Var Details

band_values + + + + +

+

Modifies site scan results by these

blacklisted_site_traits + + + + +

+

If these site traits are present the event won't show up

deep_scan_description + + + + +

+

Optional description that will be added to site description when point scan is completed.

discovery_log + + + + +

+

message logged when first encountering the event.

name + + + + +

+

This name will show up in exploration list if it's repeatable

point_scan_description + + + + +

+

Optional description that will be added to site description when point scan is completed.

required_site_traits + + + + +

+

Exploration site required_traits for this event to show up

root_abstract_type + + + + +

+

These types will be ignored in event creation

site_description_mod + + + + +

+

This will be added to site description, mind this will most likely reveal presence of this event early if set.

visited + + + + +

+

encountered at least once

Proc Details

encounter +

+

Main event functionality, called when exploring randomly/revisiting.

get_discovery_message +

+

Override this if you need to modify discovery message

is_targetable +

+

Should this event show up on site exploration list.

+ + + diff --git a/datum/exploration_event/simple.html b/datum/exploration_event/simple.html new file mode 100644 index 00000000000..717ea99fea0 --- /dev/null +++ b/datum/exploration_event/simple.html @@ -0,0 +1,106 @@ + + + + + + + /datum/exploration_event/simple - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

simple + + + +

+ +

Simple events, not a full fledged adventure, consist only of single encounter screen

+ + + + + + + + + + +

Vars

action_textAction text, can be further parametrized in get_action_text()
descriptionDescription, can be further parametrized in get_description()
ignore_textIgnore button text
skippableShow ignore button.

Procs

action_enabledButton to act disabled or not
build_ui_eventCreates ui data for displaying the event
encounterOn exploration, only display our information with the act/ignore options
endEnds simple event and cleans up display data
fireAfter choosing not to ignore the event, THIS IS DONE AFTER UNKNOWN DELAY SO YOU NEED TO VALIDATE IF ACTION IS POSSIBLE AGAIN
get_action_textText on the act button
get_descriptionDescription shown below image
+

Var Details

action_text + + + + +

+

Action text, can be further parametrized in get_action_text()

description + + + + +

+

Description, can be further parametrized in get_description()

ignore_text + + + + +

+

Ignore button text

skippable + + + + +

+

Show ignore button.

Proc Details

action_enabled +

+

Button to act disabled or not

build_ui_event +

+

Creates ui data for displaying the event

encounter +

+

On exploration, only display our information with the act/ignore options

end +

+

Ends simple event and cleans up display data

fire +

+

After choosing not to ignore the event, THIS IS DONE AFTER UNKNOWN DELAY SO YOU NEED TO VALIDATE IF ACTION IS POSSIBLE AGAIN

get_action_text +

+

Text on the act button

get_description +

+

Description shown below image

+ + + diff --git a/datum/exploration_event/simple/resource.html b/datum/exploration_event/simple/resource.html new file mode 100644 index 00000000000..4af22605b57 --- /dev/null +++ b/datum/exploration_event/simple/resource.html @@ -0,0 +1,85 @@ + + + + + + + /datum/exploration_event/simple/resource - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

resource + + + +

+ +

Simple event type that checks if you have a tool and after a retrieval delay adds loot to drone.

+ + + + + + + +

Vars

amountHow many times can this be extracted
has_tool_descriptionDescription shown when you have the necessary tool
loot_typeWhat you get out of it, either /obj path or adventure_loot_generator id
no_tool_descriptionDescription shown when you don't have the tool
required_toolTool type required to recover this resource
success_logMessage logged on success

Procs

delay_finishedCan go back if something is left.
get_descriptionDescription shown below image
+

Var Details

amount + + + + +

+

How many times can this be extracted

has_tool_description + + + + +

+

Description shown when you have the necessary tool

loot_type + + + + +

+

What you get out of it, either /obj path or adventure_loot_generator id

no_tool_description + + + + +

+

Description shown when you don't have the tool

required_tool + + + + +

+

Tool type required to recover this resource

success_log + + + + +

+

Message logged on success

Proc Details

delay_finished +

+

Can go back if something is left.

get_description +

+

Description shown below image

+ + + diff --git a/datum/exploration_event/simple/trader.html b/datum/exploration_event/simple/trader.html new file mode 100644 index 00000000000..7d6ab79864c --- /dev/null +++ b/datum/exploration_event/simple/trader.html @@ -0,0 +1,43 @@ + + + + + + + /datum/exploration_event/simple/trader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trader + + + +

+ +

Trader events - If drone is loaded with X exchanges it for Y, might require translator tool.

+ +

Vars

required_pathObj path we'll take or list of paths ,one path will be picked from it at init
traded_pathObj path we'll give out or list of paths ,one path will be picked from it at init
+

Var Details

required_path + + + + +

+

Obj path we'll take or list of paths ,one path will be picked from it at init

traded_path + + + + +

+

Obj path we'll give out or list of paths ,one path will be picked from it at init

+ + + diff --git a/datum/exploration_site.html b/datum/exploration_site.html new file mode 100644 index 00000000000..61d1487c285 --- /dev/null +++ b/datum/exploration_site.html @@ -0,0 +1,147 @@ + + + + + + + /datum/exploration_site - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

exploration_site + + + +

+ +

Exploration site, drone travel destination representing interesting zone for exploration.

+ + + + + + + + + + + + + + + +

Vars

band_infoContains baseline site bands at define time. Events bands will be added to this list as part of event generation.
coordinatesCoordinates in Station coordinate system - don't ask if station rotates
deep_scan_completeWas deep scan of this site completed.
descriptionDescription shown after scanning/exploring
distanceHow far is it, affects travel time/cost.
eventsList of event instances represting thing to be found around this exploration site.
fluff_typeKey for strings file fluff events
nameName displayed after scanning/exploring
point_scan_completeWas point scan of this site completed.
revealedWas the point scan done or a drone arrived on the site. Affects displayed name/description
scan_conditionsList of scan conditions for this site - scan conditions are singletons
site_traitsThese are used to determine events/adventures possible for this site

Procs

build_exploration_event_requirements_cacheList of exploration event requirements indexed by type, ./datum/exploration_site/a = list("required"=list(trait),"blacklisted"=list(other_trait))
generate_scan_conditionsTry to find aventure first since they're the meat of the system. +Fill other events +Baseline weights for each event root type +Weight mods scaled by distance, resources are more easily found on farther sites
on_drone_arrivalAdd up event band values to ours
site_dataData for ui_data, exploration
+

Var Details

band_info + + + + +

+

Contains baseline site bands at define time. Events bands will be added to this list as part of event generation.

coordinates + + + + +

+

Coordinates in Station coordinate system - don't ask if station rotates

deep_scan_complete + + + + +

+

Was deep scan of this site completed.

description + + + + +

+

Description shown after scanning/exploring

distance + + + + +

+

How far is it, affects travel time/cost.

events + + + + +

+

List of event instances represting thing to be found around this exploration site.

fluff_type + + + + +

+

Key for strings file fluff events

name + + + + +

+

Name displayed after scanning/exploring

point_scan_complete + + + + +

+

Was point scan of this site completed.

revealed + + + + +

+

Was the point scan done or a drone arrived on the site. Affects displayed name/description

scan_conditions + + + + +

+

List of scan conditions for this site - scan conditions are singletons

site_traits + + + + +

+

These are used to determine events/adventures possible for this site

Proc Details

build_exploration_event_requirements_cache +

+

List of exploration event requirements indexed by type, ./datum/exploration_site/a = list("required"=list(trait),"blacklisted"=list(other_trait))

generate_scan_conditions +

+

Try to find aventure first since they're the meat of the system. +Fill other events +Baseline weights for each event root type +Weight mods scaled by distance, resources are more easily found on farther sites

on_drone_arrival +

+

Add up event band values to ours

site_data +

+

Data for ui_data, exploration

+ + + diff --git a/datum/export.html b/datum/export.html new file mode 100644 index 00000000000..297f2672784 --- /dev/null +++ b/datum/export.html @@ -0,0 +1,139 @@ + + + + + + + /datum/export - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

export + + + +

+ + + + + + + + + + + + + + + + +

Vars

allow_negative_costwhether this export can have a negative impact on the cargo budget or not
amount_report_multiplierThe multiplier of the amount sold shown on the report. Useful for exports, such as material, which costs are not strictly per single units sold.
costCost of item, in cargo credits. Must not allow for infinite price dupes, see above.
exclude_typesTypes excluded from export
export_typesType of the exported object. If none, the export datum is considered base type.
include_subtypesSet to FALSE to make the datum apply only to a strict type.
init_costcost includes elasticity, this does not.
k_elasticitycoefficient used in marginal price calculation that roughly corresponds to the inverse of price elasticity, or "quantity elasticity"
messageMessage appended to the sale report
scannableSet to false if the cost shouldn't be determinable by an export scanner
unit_nameUnit name. Only used in "Received [total_amount] [name]s [message]."

Procs

applies_toChecks if the item is fit for export datum.
get_costChecks the cost. 0 cost items are skipped in export.
sell_objectCalculates the exact export value of the object, while factoring in all the relivant variables.
total_printoutThis is the value of the object, as derived from export datums. +Quantity of the object in question.
+

Var Details

allow_negative_cost + + + + +

+

whether this export can have a negative impact on the cargo budget or not

amount_report_multiplier + + + + +

+

The multiplier of the amount sold shown on the report. Useful for exports, such as material, which costs are not strictly per single units sold.

cost + + + + +

+

Cost of item, in cargo credits. Must not allow for infinite price dupes, see above.

exclude_types + + + + +

+

Types excluded from export

export_types + + + + +

+

Type of the exported object. If none, the export datum is considered base type.

include_subtypes + + + + +

+

Set to FALSE to make the datum apply only to a strict type.

init_cost + + + + +

+

cost includes elasticity, this does not.

k_elasticity + + + + +

+

coefficient used in marginal price calculation that roughly corresponds to the inverse of price elasticity, or "quantity elasticity"

message + + + + +

+

Message appended to the sale report

scannable + + + + +

+

Set to false if the cost shouldn't be determinable by an export scanner

unit_name + + + + +

+

Unit name. Only used in "Received [total_amount] [name]s [message]."

Proc Details

applies_to +

+

Checks if the item is fit for export datum.

get_cost +

+

Checks the cost. 0 cost items are skipped in export.

sell_object +

+

Calculates the exact export value of the object, while factoring in all the relivant variables.

+

Called only once, when the object is actually sold by the datum. +Adds item's cost and amount to the current export cycle. +get_cost, get_amount and applies_to do not neccesary mean a successful sale.

total_printout +

+

This is the value of the object, as derived from export datums. +Quantity of the object in question.

+ + + diff --git a/datum/export/food.html b/datum/export/food.html new file mode 100644 index 00000000000..12b02115c81 --- /dev/null +++ b/datum/export/food.html @@ -0,0 +1,37 @@ + + + + + + + /datum/export/food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

food + + + +

+ +

Original Food export file got eaten somewhere along the line and I have no idea when or where it got completely deleted. +Foods given a venue value are exportable to cargo as a backup to selling from venues, however at the expense of elasticity.

+

Vars

cost_obtained_from_venue_valueHave we already set the cost of this export? Necessary to avoid the cost being constantly reset.
+

Var Details

cost_obtained_from_venue_value + + + + +

+

Have we already set the cost of this export? Necessary to avoid the cost being constantly reset.

+ + + diff --git a/datum/export/large/gas_canister.html b/datum/export/large/gas_canister.html new file mode 100644 index 00000000000..39ecceb53ef --- /dev/null +++ b/datum/export/large/gas_canister.html @@ -0,0 +1,38 @@ + + + + + + + /datum/export/large/gas_canister - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

gas_canister + + + +

+ +

Gas canister exports. +I'm going to put a quick aside here as this has been a pain to balance for several years now, and I'd like to at least break how to keep gas exports tame. +So: Gasses are sold in canisters below, which have a variable amount of maximum pressure before they start to break. The largest of which is 9.2e13 kPa. +This means we can determine a theoretical maximum value for gas sale prices using the ideal gas laws, as we know we have a minimum gas temperature of 2.7 kelvin.

+

Additional note on base value. Gasses are soft capped to limit how much they're worth at large quantities, and time and time again players will find new ways to break your gasses. +so please, PLEASE try not to go too much further past 10.

+
+ + + diff --git a/datum/export/photocopy.html b/datum/export/photocopy.html new file mode 100644 index 00000000000..0c5592080fa --- /dev/null +++ b/datum/export/photocopy.html @@ -0,0 +1,43 @@ + + + + + + + /datum/export/photocopy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

photocopy + + + +

+ + + +

Vars

backfire_chanceTracks the chance of losing money for trying to double-dip with photocopies. Resets every time it ruins an order.
backfiredUsed to track if a batch of photocopy exports has backfired
+

Var Details

backfire_chance + + + + +

+

Tracks the chance of losing money for trying to double-dip with photocopies. Resets every time it ruins an order.

backfired + + + + +

+

Used to track if a batch of photocopy exports has backfired

+ + + diff --git a/datum/export/pirate.html b/datum/export/pirate.html new file mode 100644 index 00000000000..057c103fc80 --- /dev/null +++ b/datum/export/pirate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/export/pirate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pirate + + + +

+ + +

Procs

find_lootAttempts to find the thing on station

Proc Details

find_loot +

+

Attempts to find the thing on station

+ + + diff --git a/datum/export_report.html b/datum/export_report.html new file mode 100644 index 00000000000..c2e39646950 --- /dev/null +++ b/datum/export_report.html @@ -0,0 +1,57 @@ + + + + + + + /datum/export_report - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

export_report + + + +

+ + + + + +

Vars

all_contents_scannableset to false if any objects in a dry run were unscannable
exported_atomsnames of atoms sold/deleted by export
total_amountexport instance => total count of sold objects of its type, only exists if any were sold
total_valueexport instance => total value of sold objects
+

Var Details

all_contents_scannable + + + + +

+

set to false if any objects in a dry run were unscannable

exported_atoms + + + + +

+

names of atoms sold/deleted by export

total_amount + + + + +

+

export instance => total count of sold objects of its type, only exists if any were sold

total_value + + + + +

+

export instance => total value of sold objects

+ + + diff --git a/datum/fantasy_affix.html b/datum/fantasy_affix.html new file mode 100644 index 00000000000..dfc94ca3934 --- /dev/null +++ b/datum/fantasy_affix.html @@ -0,0 +1,36 @@ + + + + + + + /datum/fantasy_affix - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fantasy_affix + + + +

+ + +

Vars

nameonly used for admins adding the affix, this is not what players will see.
+

Var Details

name + + + + +

+

only used for admins adding the affix, this is not what players will see.

+ + + diff --git a/datum/fax_panel_interface.html b/datum/fax_panel_interface.html new file mode 100644 index 00000000000..44ca82775d2 --- /dev/null +++ b/datum/fax_panel_interface.html @@ -0,0 +1,76 @@ + + + + + + + /datum/fax_panel_interface - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fax_panel_interface + + + +

+ +

Admin Fax Panel. Tool for sending fax messages faster.

+ + + + + +

Vars

available_faxesAll faxes in from machinery list()
default_paper_nameDefault name of paper. paper - bluh-bluh. Used when field with paper name not edited.
fax_paperPaper which admin edit and send.
sending_fax_nameDefault name of fax. Used when field with fax name not edited.
stamp_listList with available stamps

Procs

get_fax_by_nameReturn fax if name exists +Arguments:
+

Var Details

available_faxes + + + + +

+

All faxes in from machinery list()

default_paper_name + + + + +

+

Default name of paper. paper - bluh-bluh. Used when field with paper name not edited.

fax_paper + + + + +

+

Paper which admin edit and send.

sending_fax_name + + + + +

+

Default name of fax. Used when field with fax name not edited.

stamp_list + + + + +

+

List with available stamps

Proc Details

get_fax_by_name +

+

Return fax if name exists +Arguments:

+
+ + + diff --git a/datum/feed_channel.html b/datum/feed_channel.html new file mode 100644 index 00000000000..96d2b78a4db --- /dev/null +++ b/datum/feed_channel.html @@ -0,0 +1,119 @@ + + + + + + + /datum/feed_channel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

feed_channel + + + +

+ + + + + + + + + + + + + +

Vars

D_class_censor_timeAt what times has the author been D-Class censored.
authorWho is the author of this channel? Taken from the user's ID card.
author_censorHas the author of the channel been censored, as opposed to the message itself?
author_censor_timeAt what times has the author been censored?
censoredHas this channel been censored? Where Locked channels cannot be commented on, Censored channels cannot be viewed at all.
channel_IDChannel ID is a random number sequence similar to account ID number that allows for us to link messages to the proper channels through the UI backend.
channel_descThe description of the channel, players see this upon clicking on the channel before seeing messages.
channel_nameThe name of the channel, players see this on the channel selection list
is_admin_channelIs this an admin channel? Allows for actions to be taken by the admin only.
lockedIs the channel locked? Locked channels cannot be commented on.
messagesDatum list of all feed_messages.

Procs

random_channel_id_setupThis proc assigns each feed_channel a random integer, from 1-999 as a unique identifer. +Using this value, the TGUI window has a unique identifier to attach to messages that can be used to reattach them +to their parent channels back in dreammaker. +Based on implementation, we're limiting outselves to only 998 player made channels maximum. How we'd use all of them, I don't know.
+

Var Details

D_class_censor_time + + + + +

+

At what times has the author been D-Class censored.

author + + + + +

+

Who is the author of this channel? Taken from the user's ID card.

author_censor + + + + +

+

Has the author of the channel been censored, as opposed to the message itself?

author_censor_time + + + + +

+

At what times has the author been censored?

censored + + + + +

+

Has this channel been censored? Where Locked channels cannot be commented on, Censored channels cannot be viewed at all.

channel_ID + + + + +

+

Channel ID is a random number sequence similar to account ID number that allows for us to link messages to the proper channels through the UI backend.

channel_desc + + + + +

+

The description of the channel, players see this upon clicking on the channel before seeing messages.

channel_name + + + + +

+

The name of the channel, players see this on the channel selection list

is_admin_channel + + + + +

+

Is this an admin channel? Allows for actions to be taken by the admin only.

locked + + + + +

+

Is the channel locked? Locked channels cannot be commented on.

messages + + + + +

+

Datum list of all feed_messages.

Proc Details

random_channel_id_setup +

+

This proc assigns each feed_channel a random integer, from 1-999 as a unique identifer. +Using this value, the TGUI window has a unique identifier to attach to messages that can be used to reattach them +to their parent channels back in dreammaker. +Based on implementation, we're limiting outselves to only 998 player made channels maximum. How we'd use all of them, I don't know.

+ + + diff --git a/datum/feed_comment.html b/datum/feed_comment.html new file mode 100644 index 00000000000..22a011cc266 --- /dev/null +++ b/datum/feed_comment.html @@ -0,0 +1,50 @@ + + + + + + + /datum/feed_comment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

feed_comment + + + +

+ + + + +

Vars

authorThe author of the comment, as seen on a newscaster feed.
bodyBody of the aforementioned comment.
time_stampAt what time was the feed comment sent? Time is in station time.
+

Var Details

author + + + + +

+

The author of the comment, as seen on a newscaster feed.

body + + + + +

+

Body of the aforementioned comment.

time_stamp + + + + +

+

At what time was the feed comment sent? Time is in station time.

+ + + diff --git a/datum/feed_message.html b/datum/feed_message.html new file mode 100644 index 00000000000..3f58921e636 --- /dev/null +++ b/datum/feed_message.html @@ -0,0 +1,141 @@ + + + + + + + /datum/feed_message - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

feed_message + + + +

+ + + + + + + + + + + + + + + + + +

Vars

authorWho is the author of the full-size article to the feed channel?
author_censorHas the author been blocked from making new feed messages?
author_censor_timeIn station time, at what time was the author's messages censored and blocked from viewing.
bodyBody of the full-size article to the feed channel.
body_censorHas the body of the message been censored?
body_censor_timeIn station time, at what time was this message censored and blocked from viewing.
captionIf the message has an image, what is that image's caption?
commentsList consisting of the articles feed comments for this full-size article.
creation_timeAt what time was the feed message created?
imgIs there an image tied to the feed message?
is_admin_messageDid an admin send this message?
lockedCan comments be placed on that feed message?
message_IDWhat number message is this? IE: The first message sent in a round including automated messages is message 1.
parent_IDWhat is the channel ID of the parent channel?
photo_fileReferece to the photo used in picture messages.
time_stampAt what time was the full-size article sent? Time is in station time.
+

Var Details

author + + + + +

+

Who is the author of the full-size article to the feed channel?

author_censor + + + + +

+

Has the author been blocked from making new feed messages?

author_censor_time + + + + +

+

In station time, at what time was the author's messages censored and blocked from viewing.

body + + + + +

+

Body of the full-size article to the feed channel.

body_censor + + + + +

+

Has the body of the message been censored?

body_censor_time + + + + +

+

In station time, at what time was this message censored and blocked from viewing.

caption + + + + +

+

If the message has an image, what is that image's caption?

comments + + + + +

+

List consisting of the articles feed comments for this full-size article.

creation_time + + + + +

+

At what time was the feed message created?

img + + + + +

+

Is there an image tied to the feed message?

is_admin_message + + + + +

+

Did an admin send this message?

locked + + + + +

+

Can comments be placed on that feed message?

message_ID + + + + +

+

What number message is this? IE: The first message sent in a round including automated messages is message 1.

parent_ID + + + + +

+

What is the channel ID of the parent channel?

photo_file + + + + +

+

Referece to the photo used in picture messages.

time_stamp + + + + +

+

At what time was the full-size article sent? Time is in station time.

+ + + diff --git a/datum/feed_network.html b/datum/feed_network.html new file mode 100644 index 00000000000..39aa7da59c4 --- /dev/null +++ b/datum/feed_network.html @@ -0,0 +1,71 @@ + + + + + + + /datum/feed_network - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

feed_network + + + +

+ + + + + + + +

Vars

channel_IDsList of all the network_channels Channel Id numbers, kept in a global easy to find place.
last_actionWhat time was the last action taken on the feed_network?
message_countHow many messages currently exist on this feed_network? Increments as new messages are written.
network_channelsAll the feed channels that have been made on the feed network.
redacted_textWhat does this feed network say when a message/author is redacted?
wanted_issueWhat is the wanted issue being sent out to all newscasters.
+

Var Details

channel_IDs + + + + +

+

List of all the network_channels Channel Id numbers, kept in a global easy to find place.

last_action + + + + +

+

What time was the last action taken on the feed_network?

message_count + + + + +

+

How many messages currently exist on this feed_network? Increments as new messages are written.

network_channels + + + + +

+

All the feed channels that have been made on the feed network.

redacted_text + + + + +

+

What does this feed network say when a message/author is redacted?

wanted_issue + + + + +

+

What is the wanted issue being sent out to all newscasters.

+ + + diff --git a/datum/fish_evolution.html b/datum/fish_evolution.html new file mode 100644 index 00000000000..decbca5ec6c --- /dev/null +++ b/datum/fish_evolution.html @@ -0,0 +1,98 @@ + + + + + + + /datum/fish_evolution - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fish_evolution + + + +

+ +

Fish evolution datums

+

If present in a fish's evolution_types list, and other conditions are met in check_conditions() +then there's a chance the offspring may be of a new type rather than the same as its source or mate (if any).

+ + + + + + + + +

Vars

conditions_noteA text string shown in the catalog, containing information on conditions specific to this evolution.
new_fish_typeThe obj/item/fish path of the new fish
new_traitsA list of traits added to the new fish. These take priority over the parents' traits.
removed_traitsIf set, these traits will be removed from the new fish.
required_temperature_maxThe maximum required temperature for the evolved fish to spawn
required_temperature_minThe minimum required temperature for the evolved fish to spawn

Procs

check_conditionsThe main proc that checks whether this can happen or not. +Please do keep in mind a mate may not be present for fish with the +self-reproductive trait.
get_evolution_tooltipCalled by the fish analyzer right click function. Returns a text string used as tooltip.
register_fishProc called to let evolution register signals that are needed for various conditions.
+

Var Details

conditions_note + + + + +

+

A text string shown in the catalog, containing information on conditions specific to this evolution.

new_fish_type + + + + +

+

The obj/item/fish path of the new fish

new_traits + + + + +

+

A list of traits added to the new fish. These take priority over the parents' traits.

removed_traits + + + + +

+

If set, these traits will be removed from the new fish.

required_temperature_max + + + + +

+

The maximum required temperature for the evolved fish to spawn

required_temperature_min + + + + +

+

The minimum required temperature for the evolved fish to spawn

Proc Details

check_conditions +

+

The main proc that checks whether this can happen or not. +Please do keep in mind a mate may not be present for fish with the +self-reproductive trait.

get_evolution_tooltip +

+

Called by the fish analyzer right click function. Returns a text string used as tooltip.

register_fish +

+

Proc called to let evolution register signals that are needed for various conditions.

+ + + diff --git a/datum/fish_source.html b/datum/fish_source.html new file mode 100644 index 00000000000..01984832ef9 --- /dev/null +++ b/datum/fish_source.html @@ -0,0 +1,156 @@ + + + + + + + /datum/fish_source - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fish_source + + + +

+ +

Where the fish actually come from - every fishing spot has one assigned but multiple fishing holes +can share single source, ie single shared one for ocean/lavaland river

+ + + + + + + + + + + + + + + + +

Vars

backgroundBackground image name from /datum/asset/simple/fishing_minigame
catalog_descriptionHow the spot type is described in fish catalog section about fish sources, will be skipped if null
dudsText shown as baloon alert when you roll a dud in the table
fish_countsIf a key from fish_table is present here, that fish is availible in limited quantity and is reduced by one on successful fishing
fish_tableFish catch weight table - these are relative weights
fishing_difficultyBaseline difficulty for fishing in this spot

Procs

calculate_difficultyCalculates the difficulty of the minigame:
dispense_rewardGives out the reward if possible
get_modified_fish_tableBuilds a fish weights table modified by bait/rod/user properties
interrupt_challengeProc called when the challenge is interrupted within the fish source code.
is_matching_baitChecks if bait matches identifier from fav/disliked bait list
on_challenge_completedProc called when the COMSIG_FISHING_CHALLENGE_COMPLETED signal is sent. +Check if we've succeeded. If so, write into memory and dispense the reward.
on_fishing_spot_initCalled when src is set as the fish source of a fishing spot component
pre_challenge_startedUsed to register signals or add traits and the such right after conditions have been cleared +and before the minigame starts.
reason_we_cant_fishCan we fish in this spot at all. Returns DENIAL_REASON or null if we're good to go
roll_rewardIn case you want more complex rules for specific spots
spawn_rewardSpawns a reward from a atom path right where the fisherman is. Part of the dispense_reward() logic.
+

Var Details

background + + + + +

+

Background image name from /datum/asset/simple/fishing_minigame

catalog_description + + + + +

+

How the spot type is described in fish catalog section about fish sources, will be skipped if null

duds + + + + +

+

Text shown as baloon alert when you roll a dud in the table

fish_counts + + + + +

+

If a key from fish_table is present here, that fish is availible in limited quantity and is reduced by one on successful fishing

fish_table + + + + +

+

Fish catch weight table - these are relative weights

fishing_difficulty + + + + +

+

Baseline difficulty for fishing in this spot

Proc Details

calculate_difficulty +

+

Calculates the difficulty of the minigame:

+

This includes the source's fishing difficulty, that of the fish, the rod, +favorite and disliked baits, fish traits and the fisherman skill.

+

For non-fish, it's just the source's fishing difficulty minus the fisherman skill.

dispense_reward +

+

Gives out the reward if possible

get_modified_fish_table +

+

Builds a fish weights table modified by bait/rod/user properties

interrupt_challenge +

+

Proc called when the challenge is interrupted within the fish source code.

is_matching_bait +

+

Checks if bait matches identifier from fav/disliked bait list

on_challenge_completed +

+

Proc called when the COMSIG_FISHING_CHALLENGE_COMPLETED signal is sent. +Check if we've succeeded. If so, write into memory and dispense the reward.

on_fishing_spot_init +

+

Called when src is set as the fish source of a fishing spot component

pre_challenge_started +

+

Used to register signals or add traits and the such right after conditions have been cleared +and before the minigame starts.

reason_we_cant_fish +

+

Can we fish in this spot at all. Returns DENIAL_REASON or null if we're good to go

roll_reward +

+

In case you want more complex rules for specific spots

spawn_reward +

+

Spawns a reward from a atom path right where the fisherman is. Part of the dispense_reward() logic.

+ + + diff --git a/datum/fish_source/portal.html b/datum/fish_source/portal.html new file mode 100644 index 00000000000..feaa6e026e7 --- /dev/null +++ b/datum/fish_source/portal.html @@ -0,0 +1,50 @@ + + + + + + + /datum/fish_source/portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portal + + + +

+ + + + +

Vars

overlay_stateThe icon state of the overlay shown on the machine when active.
radial_nameThe name of this option shown in the radial menu on the fishing portal generator
radial_stateThe icon state shown for this option in the radial menu
+

Var Details

overlay_state + + + + +

+

The icon state of the overlay shown on the machine when active.

radial_name + + + + +

+

The name of this option shown in the radial menu on the fishing portal generator

radial_state + + + + +

+

The icon state shown for this option in the radial menu

+ + + diff --git a/datum/fish_source/portal/random.html b/datum/fish_source/portal/random.html new file mode 100644 index 00000000000..68c139f0c2b --- /dev/null +++ b/datum/fish_source/portal/random.html @@ -0,0 +1,61 @@ + + + + + + + /datum/fish_source/portal/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

random + + + +

+ +

A special portal fish source which fish table is populated on init with the contents of all +portal fish sources, except for FISHING_DUD, and a couple more caveats.

+ + + +

Procs

calculate_difficultyrewards not found in other fishing portals +We don't serve duds. +Difficulty has to be calculated before the rest, because of how it influences jump chances
on_fishing_spot_initGenerate the fish table if we don't have one already.
pre_challenge_startedIn the spirit of randomness, we skew a few values here and there
spawn_rewardCherry on top, fish caught from the randomizer portal also have (almost completely) random traits

Proc Details

calculate_difficulty +

+

rewards not found in other fishing portals +We don't serve duds. +Difficulty has to be calculated before the rest, because of how it influences jump chances

on_fishing_spot_init +

+

Generate the fish table if we don't have one already.

pre_challenge_started +

+

In the spirit of randomness, we skew a few values here and there

spawn_reward +

+

Cherry on top, fish caught from the randomizer portal also have (almost completely) random traits

+ + + diff --git a/datum/fish_trait.html b/datum/fish_trait.html new file mode 100644 index 00000000000..0b2d7320c63 --- /dev/null +++ b/datum/fish_trait.html @@ -0,0 +1,106 @@ + + + + + + + /datum/fish_trait - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fish_trait + + + +

+ + + + + + + + + + + + +

Vars

added_difficultyDepending on the value, fish with trait will be reported as more or less difficult in the catalog.
catalog_descriptionDescription of the trait in the fishing catalog and scanner
diff_traits_inheritabilitySame as above, but for when only one has it.
guaranteed_inheritance_typesfishes of types within this list are granted to have this trait, no matter the probability
incompatible_traitsA list of traits fish cannot have in conjunction with this trait.
inheritabilityThe probability this trait can be inherited by offsprings when both mates have it

Procs

apply_to_fishApplies some special qualities to the fish that has been spawned
catch_weight_modCatch weight table modifier from this mod, needs to return a list with two values
difficulty_modDifficulty modifier from this mod, needs to return a list with two values
eat_fishProc used by both the predator and necrophage traits.
minigame_modReturns special minigame rules and effects applied by this trait
+

Var Details

added_difficulty + + + + +

+

Depending on the value, fish with trait will be reported as more or less difficult in the catalog.

catalog_description + + + + +

+

Description of the trait in the fishing catalog and scanner

diff_traits_inheritability + + + + +

+

Same as above, but for when only one has it.

guaranteed_inheritance_types + + + + +

+

fishes of types within this list are granted to have this trait, no matter the probability

incompatible_traits + + + + +

+

A list of traits fish cannot have in conjunction with this trait.

inheritability + + + + +

+

The probability this trait can be inherited by offsprings when both mates have it

Proc Details

apply_to_fish +

+

Applies some special qualities to the fish that has been spawned

catch_weight_mod +

+

Catch weight table modifier from this mod, needs to return a list with two values

difficulty_mod +

+

Difficulty modifier from this mod, needs to return a list with two values

eat_fish +

+

Proc used by both the predator and necrophage traits.

minigame_mod +

+

Returns special minigame rules and effects applied by this trait

+ + + diff --git a/datum/fishing_challenge.html b/datum/fishing_challenge.html new file mode 100644 index 00000000000..2130d031180 --- /dev/null +++ b/datum/fishing_challenge.html @@ -0,0 +1,424 @@ + + + + + + + /datum/fishing_challenge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fishing_challenge + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_effect_cdThe cooldown between switching active effects
active_effectsA list of possible active minigame effects. If not empty, one will be picked from time to time.
backgroundBackground icon state from fishing_hud.dmi
bait_bounce_multBy how much the bait recoils back when hitting the bounds of the slider while idle
bait_heightHow much space the bait takes on the minigame slider
bait_pixel_heightThe height in pixels of the bait bar
bait_positionThe position of the bait on the minigame slider
bait_velocityThe current speed the bait is moving at
can_interrupt_moveIf true, the fish can jump while a target position is set, thus overriding it
completedIs it finished (either by win/lose or window closing)
completionThe completion score. If it reaches 100, it's a win. If it reaches 0, it's a loss.
completion_gainHow much completion is gained per second when the bait area is intersecting with the fish's
completion_lossHow much completion is lost per second when the bait area is not intersecting with the fish's
current_active_effectThe current active effect
current_velocity_limitThe current speed limit used
difficultyMinigame difficulty
fish_aiFish AI type to use
fish_heightHow much space the fish takes on the minigame slider
fish_iconFish icon state from fishing_hud.dmi
fish_idle_velocityThe base velocity of the fish, which may affect jump distances and falling speed.
fish_pixel_heightThe height in pixels of the fish
fish_positionThe position of the fish on the minigame slider
fish_velocityThe current speed the fish is moving at
fishing_hudThe background as shown in the minigame, and the holder of the other visual overlays
fishing_lineFishing line visual
gravity_velocityThe acceleration of the bait while not reeling
long_jump_chanceHow likely the fish is to perform a long jump, then multiplied by difficulty
long_jump_velocity_limitThe speed limit for the long jump
lureLure visual
reeling_stateWhether the bait is idle or reeling up or down (left and right click)
reeling_velocityThe acceleration of the bait while reeling
reward_pathResult path
short_jump_chanceHow likely the fish is to perform a standard jump, then multiplied by difficulty
short_jump_velocity_limitThe speed limit for the short jump
special_effectsRule modifiers (eg weighted bait)
start_timeWhen the ui minigame phase started
target_positionA position on the slider the fish wants to get to
used_rodRod that is used for the challenge
userFishing mob

Procs

DestroyFish minigame properties +Enable special parameters +If the chances are higher than 1% (100% at maximum difficulty), they'll scale +less than proportionally (exponent less than 1) instead. +This way we ensure fish with high jump chances won't get TOO jumpy until +they near the maximum difficulty, at which they hit 100%
handle_clickThe lure may be out of sight if the user has moed around a corner, so the message should be displayed over him instead.
interruptChallenge interrupted by something external
move_baitMove at least 0.75 to full of the availible bar in given direction, +and more likely to move in the direction where there's more space +The proc that moves the bait around, just like in the old TGUI, mostly.
move_fishbring forth an active effect +go back to normal +The proc that moves the fish around, just like in the old TGUI, mostly.
on_line_deletedCreate fishing line visuals
on_user_logoutThe player is no longer around to play the minigame, so we interrupt it.
prepare_minigame_hudInitialize the minigame hud and register some signals to make it work.
processUpdate the state of the fish, the bait and the hud
remove_minigame_hudStop processing and remove references to the minigame hud
select_active_effectThe proc that handles fancy effects like flipping the hud or skewing movement
start_reelingWhile the mouse button is held down, the bait will be reeling up (or down on r-click if the bidirectional rule is enabled)
stop_reelingReset the reeling state to idle once the mouse button is released
update_visualsPull the brake on the velocity if the current velocity and the acceleration +have different directions, making the bait less slippery, thus easier to control +bidirectional baits stay bouyant while idle +update the vertical pixel position of both fish and bait, and the icon state of the completion bar
+

Var Details

active_effect_cd + + + + +

+

The cooldown between switching active effects

active_effects + + + + +

+

A list of possible active minigame effects. If not empty, one will be picked from time to time.

background + + + + +

+

Background icon state from fishing_hud.dmi

bait_bounce_mult + + + + +

+

By how much the bait recoils back when hitting the bounds of the slider while idle

bait_height + + + + +

+

How much space the bait takes on the minigame slider

bait_pixel_height + + + + +

+

The height in pixels of the bait bar

bait_position + + + + +

+

The position of the bait on the minigame slider

bait_velocity + + + + +

+

The current speed the bait is moving at

can_interrupt_move + + + + +

+

If true, the fish can jump while a target position is set, thus overriding it

completed + + + + +

+

Is it finished (either by win/lose or window closing)

completion + + + + +

+

The completion score. If it reaches 100, it's a win. If it reaches 0, it's a loss.

completion_gain + + + + +

+

How much completion is gained per second when the bait area is intersecting with the fish's

completion_loss + + + + +

+

How much completion is lost per second when the bait area is not intersecting with the fish's

current_active_effect + + + + +

+

The current active effect

current_velocity_limit + + + + +

+

The current speed limit used

difficulty + + + + +

+

Minigame difficulty

fish_ai + + + + +

+

Fish AI type to use

fish_height + + + + +

+

How much space the fish takes on the minigame slider

fish_icon + + + + +

+

Fish icon state from fishing_hud.dmi

fish_idle_velocity + + + + +

+

The base velocity of the fish, which may affect jump distances and falling speed.

fish_pixel_height + + + + +

+

The height in pixels of the fish

fish_position + + + + +

+

The position of the fish on the minigame slider

fish_velocity + + + + +

+

The current speed the fish is moving at

fishing_hud + + + + +

+

The background as shown in the minigame, and the holder of the other visual overlays

fishing_line + + + + +

+

Fishing line visual

gravity_velocity + + + + +

+

The acceleration of the bait while not reeling

long_jump_chance + + + + +

+

How likely the fish is to perform a long jump, then multiplied by difficulty

long_jump_velocity_limit + + + + +

+

The speed limit for the long jump

lure + + + + +

+

Lure visual

reeling_state + + + + +

+

Whether the bait is idle or reeling up or down (left and right click)

reeling_velocity + + + + +

+

The acceleration of the bait while reeling

reward_path + + + + +

+

Result path

short_jump_chance + + + + +

+

How likely the fish is to perform a standard jump, then multiplied by difficulty

short_jump_velocity_limit + + + + +

+

The speed limit for the short jump

special_effects + + + + +

+

Rule modifiers (eg weighted bait)

start_time + + + + +

+

When the ui minigame phase started

target_position + + + + +

+

A position on the slider the fish wants to get to

used_rod + + + + +

+

Rod that is used for the challenge

user + + + + +

+

Fishing mob

Proc Details

Destroy +

+

Fish minigame properties +Enable special parameters +If the chances are higher than 1% (100% at maximum difficulty), they'll scale +less than proportionally (exponent less than 1) instead. +This way we ensure fish with high jump chances won't get TOO jumpy until +they near the maximum difficulty, at which they hit 100%

handle_click +

+

The lure may be out of sight if the user has moed around a corner, so the message should be displayed over him instead.

interrupt +

+

Challenge interrupted by something external

move_bait +

+

Move at least 0.75 to full of the availible bar in given direction, +and more likely to move in the direction where there's more space +The proc that moves the bait around, just like in the old TGUI, mostly.

move_fish +

+

bring forth an active effect +go back to normal +The proc that moves the fish around, just like in the old TGUI, mostly.

on_line_deleted +

+

Create fishing line visuals

on_user_logout +

+

The player is no longer around to play the minigame, so we interrupt it.

prepare_minigame_hud +

+

Initialize the minigame hud and register some signals to make it work.

process +

+

Update the state of the fish, the bait and the hud

remove_minigame_hud +

+

Stop processing and remove references to the minigame hud

select_active_effect +

+

The proc that handles fancy effects like flipping the hud or skewing movement

start_reeling +

+

While the mouse button is held down, the bait will be reeling up (or down on r-click if the bidirectional rule is enabled)

stop_reeling +

+

Reset the reeling state to idle once the mouse button is released

update_visuals +

+

Pull the brake on the velocity if the current velocity and the acceleration +have different directions, making the bait less slippery, thus easier to control +bidirectional baits stay bouyant while idle +update the vertical pixel position of both fish and bait, and the icon state of the completion bar

+ + + diff --git a/datum/fluid_group.html b/datum/fluid_group.html new file mode 100644 index 00000000000..ad4c6dfe2e3 --- /dev/null +++ b/datum/fluid_group.html @@ -0,0 +1,89 @@ + + + + + + + /datum/fluid_group - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fluid_group + + + +

+ +

SMOKE SYSTEMS +A group of fluid objects.

+ + + + +

Vars

nodesThe set of fluid objects currently in this group.
target_sizeThe number of fluid object that this group wants to have contained.
total_sizeThe total number of fluid objects that have ever been in this group.

Procs

add_nodeAdds a fluid node to this fluid group.
remove_nodeRemoves a fluid node from this fluid group.
+

Var Details

nodes + + + + +

+

The set of fluid objects currently in this group.

target_size + + + + +

+

The number of fluid object that this group wants to have contained.

total_size + + + + +

+

The total number of fluid objects that have ever been in this group.

Proc Details

add_node +

+

Adds a fluid node to this fluid group.

+

Is a noop if the node is already in the group. +Removes the node from any other fluid groups it is in. +Syncs the group of the node with the group it is being added to (this one). +Increments the total size of the fluid group.

+

Arguments:

+ +

Returns:

+

remove_node +

+

Removes a fluid node from this fluid group.

+

Is a noop if the node is not in this group. +Nulls the nodes fluid group ref to sync it with its new state. +DOES NOT decrement the total size of the fluid group.

+

Arguments:

+ +

Returns:

+
+ + + diff --git a/datum/font.html b/datum/font.html new file mode 100644 index 00000000000..834a807d1b8 --- /dev/null +++ b/datum/font.html @@ -0,0 +1,142 @@ + + + + + + + /datum/font - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

font + + + +

+ +

A font datum, it exists to define a custom font to use in a span style later.

+ + + + + + + + + + + + + + +

Vars

ascentdistance above baseline (including whitespace)
average_widthaverage character width
default_characterdefault character (for undefined chars)
descentdistance below baseline
endlast character in metrics
ex_leadingexternal leading vertical space, just plain blank
font_familyThe font file we link to.
heighttotal height of a line
in_leadinginternal leading vertical space, for accent marks
max_widthmaximum character width
metricsFont features and metrics +Generated by Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +list of font size/spacing metrics
nameFont name, just so people know what to put in their span style.
overhangextra width, such as from italics, for a line
startfirst character in metrics

Procs

get_metricsGet font metrics +From Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)
+

Var Details

ascent + + + + +

+

distance above baseline (including whitespace)

average_width + + + + +

+

average character width

default_character + + + + +

+

default character (for undefined chars)

descent + + + + +

+

distance below baseline

end + + + + +

+

last character in metrics

ex_leading + + + + +

+

external leading vertical space, just plain blank

font_family + + + + +

+

The font file we link to.

height + + + + +

+

total height of a line

in_leading + + + + +

+

internal leading vertical space, for accent marks

max_width + + + + +

+

maximum character width

metrics + + + + +

+

Font features and metrics +Generated by Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe +list of font size/spacing metrics

name + + + + +

+

Font name, just so people know what to put in their span style.

overhang + + + + +

+

extra width, such as from italics, for a line

start + + + + +

+

first character in metrics

Proc Details

get_metrics +

+

Get font metrics +From Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus)

+ + + diff --git a/datum/food_processor_process.html b/datum/food_processor_process.html new file mode 100644 index 00000000000..f4d7fea35e4 --- /dev/null +++ b/datum/food_processor_process.html @@ -0,0 +1,78 @@ + + + + + + + /datum/food_processor_process - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

food_processor_process + + + +

+ + + + + + + + +

Vars

blacklistSubtypes of what the recipe takes that it can't actually take.
food_multiplierMultiplied additional food made when processed
inputWhat this recipe takes
outputWhat this recipe creates
preserve_materialsWhether to copy the materials from the input to the output
required_machineThe machine required to do this recipe
timeThe amount of time this recipe takes.
+

Var Details

blacklist + + + + +

+

Subtypes of what the recipe takes that it can't actually take.

food_multiplier + + + + +

+

Multiplied additional food made when processed

input + + + + +

+

What this recipe takes

output + + + + +

+

What this recipe creates

preserve_materials + + + + +

+

Whether to copy the materials from the input to the output

required_machine + + + + +

+

The machine required to do this recipe

time + + + + +

+

The amount of time this recipe takes.

+ + + diff --git a/datum/foreign_calendar.html b/datum/foreign_calendar.html new file mode 100644 index 00000000000..955785d6fb8 --- /dev/null +++ b/datum/foreign_calendar.html @@ -0,0 +1,49 @@ + + + + + + + /datum/foreign_calendar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

foreign_calendar + + + +

+ + + + +

Procs

gregorian_to_jdConverts Gregorian date to Julian Day
leap_gregorianReturns whether a year is a leap year in the Gregorian calendar
realtime_to_jdConverts BYOND realtime to Julian Day

Proc Details

gregorian_to_jd +

+

Converts Gregorian date to Julian Day

leap_gregorian +

+

Returns whether a year is a leap year in the Gregorian calendar

realtime_to_jd +

+

Converts BYOND realtime to Julian Day

+ + + diff --git a/datum/forensics.html b/datum/forensics.html new file mode 100644 index 00000000000..d7509e27701 --- /dev/null +++ b/datum/forensics.html @@ -0,0 +1,178 @@ + + + + + + + /datum/forensics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

forensics + + + +

+ +

Forensics datum

+

Placed onto atoms, and contains:

+ + + + + + + + + + + + + + + + + + +

Vars

blood_DNAList of blood dna on this atom
fibersList of clothing fibers on this atom
fingerprintsList of fingerprints on this atom
hiddenprintsList of hiddenprints on this atom
parentWeakref to the parent owning this datum

Procs

add_blood_DNAAdds the given list into blood_DNA
add_fiber_listAdds the given list into fibers
add_fibersAdds a single fiber
add_fingerprintAdds a single fingerprint
add_fingerprint_listAdds the given list into fingerprints
add_hiddenprintAdds a single hiddenprint
add_hiddenprint_listAdds the given list into hiddenprints
check_bloodUpdates the blood displayed on parent
clean_actHandles cleaning up the various forensic types
inherit_newMerges the given lists into the preexisting values
wipe_blood_DNAEmpties the blood_DNA list
wipe_fibersEmpties the fibers list
wipe_fingerprintsEmpties the fingerprints list
+

Var Details

blood_DNA + + + + +

+

List of blood dna on this atom

+

Formatting:

+

fibers + + + + +

+

List of clothing fibers on this atom

+

Formatting:

+

fingerprints + + + + +

+

List of fingerprints on this atom

+

Formatting:

+

hiddenprints + + + + +

+

List of hiddenprints on this atom

+

Formatting:

+

parent + + + + +

+

Weakref to the parent owning this datum

Proc Details

add_blood_DNA +

+

Adds the given list into blood_DNA

add_fiber_list +

+

Adds the given list into fibers

add_fibers +

+

Adds a single fiber

add_fingerprint +

+

Adds a single fingerprint

add_fingerprint_list +

+

Adds the given list into fingerprints

add_hiddenprint +

+

Adds a single hiddenprint

add_hiddenprint_list +

+

Adds the given list into hiddenprints

check_blood +

+

Updates the blood displayed on parent

clean_act +

+

Handles cleaning up the various forensic types

inherit_new +

+

Merges the given lists into the preexisting values

wipe_blood_DNA +

+

Empties the blood_DNA list

wipe_fibers +

+

Empties the fibers list

wipe_fingerprints +

+

Empties the fingerprints list

+ + + diff --git a/datum/gas.html b/datum/gas.html new file mode 100644 index 00000000000..bff2726d587 --- /dev/null +++ b/datum/gas.html @@ -0,0 +1,78 @@ + + + + + + + /datum/gas - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gas + + + +

+ + + + + + + + +

Vars

base_valueHow does a single mole of this gas sell for? Formula to calculate maximum value is in code\modules\cargo\exports\large_objects.dm. Doesn't matter for roundstart gasses.
dangerouscurrently used by canisters
fusion_powerHow much the gas accelerates a fusion reaction
gas_overlayicon_state in icons/effects/atmospherics.dmi
primary_colorRGB code for use when a generic color representing the gas is needed. Colors taken from contants.ts
purchaseableCan gas of this type can purchased through cargo?
rarityrelative rarity compared to other gases, used when setting up the reactions list.
+

Var Details

base_value + + + + +

+

How does a single mole of this gas sell for? Formula to calculate maximum value is in code\modules\cargo\exports\large_objects.dm. Doesn't matter for roundstart gasses.

dangerous + + + + +

+

currently used by canisters

fusion_power + + + + +

+

How much the gas accelerates a fusion reaction

gas_overlay + + + + +

+

icon_state in icons/effects/atmospherics.dmi

primary_color + + + + +

+

RGB code for use when a generic color representing the gas is needed. Colors taken from contants.ts

purchaseable + + + + +

+

Can gas of this type can purchased through cargo?

rarity + + + + +

+

relative rarity compared to other gases, used when setting up the reactions list.

+ + + diff --git a/datum/gas_machine_connector.html b/datum/gas_machine_connector.html new file mode 100644 index 00000000000..87994ad4255 --- /dev/null +++ b/datum/gas_machine_connector.html @@ -0,0 +1,84 @@ + + + + + + + /datum/gas_machine_connector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

gas_machine_connector + + + +

+ +

To be used when there is the need of an atmos connection without repathing everything (eg: cryo.dm)

+ + + + + + + +

Procs

deconstruct_connected_machineCalled when the machine has been deconstructed
disconnect_connectorHandles the disconnection from the pipe network
moved_connected_machineCalled when the machine has been moved, reconnect to the pipe network
pre_move_connected_machineCalled before the machine moves, disconnect from the pipe network
reconnect_connectorHandles the reconnection to the pipe network
register_with_machineRegister various signals that are required for the proper work of the connector
unregister_from_machineUnregister the signals previously registered
wrenched_connected_machineCalled when the machine has been rotated, resets the connection to the pipe network with the new direction

Proc Details

deconstruct_connected_machine +

+

Called when the machine has been deconstructed

disconnect_connector +

+

Handles the disconnection from the pipe network

moved_connected_machine +

+

Called when the machine has been moved, reconnect to the pipe network

pre_move_connected_machine +

+

Called before the machine moves, disconnect from the pipe network

reconnect_connector +

+

Handles the reconnection to the pipe network

register_with_machine +

+

Register various signals that are required for the proper work of the connector

unregister_from_machine +

+

Unregister the signals previously registered

wrenched_connected_machine +

+

Called when the machine has been rotated, resets the connection to the pipe network with the new direction

+ + + diff --git a/datum/gas_mixture.html b/datum/gas_mixture.html new file mode 100644 index 00000000000..6c31605db75 --- /dev/null +++ b/datum/gas_mixture.html @@ -0,0 +1,404 @@ + + + + + + + /datum/gas_mixture - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gas_mixture + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

gc_shareWhether to call garbage_collect() on the sharer during shares, used for immutable mixtures
last_shareThe last tick this gas mixture shared on. A counter that turfs use to manage activity
pipeline_cycleWhen this gas mixture was last touched by pipeline processing +I am sorry
reaction_resultsTells us what reactions have happened in our gasmix. Assoc list of reaction - moles reacted pair.
temperatureThe temperature of the gas mix in kelvin. Should never be lower then TCMB
temperature_archivedUsed, like all archived variables, to ensure turf sharing is consistent inside a tick, no matter +The order of operations
volumeVolume in liters (duh)

Procs

add_gasadd_gas(gas_id) - similar to assert_gas(), but does not check for an existing gas list for this id. This can clobber existing gases. +Used instead of assert_gas() when you know the gas does not exist. Faster than assert_gas().
add_gasesadd_gases(args) - shorthand for calling add_gas() once for each gas_type.
archiveUpdate archived versions of variables. Returns: 1 in all cases
assert_gasassert_gas(gas_id) - used to guarantee that the gas list for this id exists in gas_mixture.gases. +Must be used before adding to a gas. May be used before reading from a gas.
assert_gasesassert_gases(args) - shorthand for calling ASSERT_GAS() once for each gas type.
compareCompares sample to self to see if within acceptable ranges that group processing may be enabled +Returns: a string indicating what check failed, or "" if check passes
copyCreates new, identical gas mixture +Returns: duplicate gas mixture
copy_fromCopies variables from sample +Returns: TRUE if we are mutable, FALSE otherwise
copy_from_ratioCopies variables from sample, moles multiplicated by partial +Returns: TRUE if we are mutable, FALSE otherwise
equalizeDistributes the contents of two mixes equally between themselves
garbage_collectgarbage_collect() - removes any gas list which is empty. +If called with a list as an argument, only removes gas lists with IDs from that list. +Must be used after subtracting from a gas. Must be used after assert_gas() +if assert_gas() was called only to read from the gas. +By removing empty gases, processing speed is increased.
gas_pressure_approximateApproximation of the quadratic equation using Newton-Raphson's Method. +We use the slope of an approximate value to get closer to the root of a given equation.
gas_pressure_calculate
gas_pressure_minimum_transferCounts how much pressure will there be if we impart MOLAR_ACCURACY amounts of our gas to the output gasmix. +We do all of this without actually transferring it so dont worry about it changing the gasmix. +Returns: Resulting pressure (number). +Args:
gas_pressure_quadraticThe PV/R part in the equation we will use later. Counted early because pv/(r*t) might not be equal to pv/r/t, messing our lower and upper limit. +This is the true lower limit, but numbers still can get lower than this due to floats. +x^2 in the quadratic +x^1 in the quadratic +x^0 in the quadratic +Actually tries to solve the quadratic equation. +Do mind that the numbers can get very big and might hit BYOND's single point float limit.
get_breath_partial_pressureReturns the partial pressure of the gas in the breath based on BREATH_VOLUME +eg: +Plas_PP = get_breath_partial_pressure(gas_mixture.gases/datum/gas/plasma) +O2_PP = get_breath_partial_pressure(gas_mixture.gases/datum/gas/oxygen) +get_breath_partial_pressure(gas_mole_count) --> PV = nRT, P = nRT/V
has_gasChecks to see if gas amount exists in mixture. +Do NOT use this in code where performance matters! +It's better to batch calls to garbage_collect(), especially in places where you're checking many gastypes
heat_capacityjoules per kelvin
mergeMerges all air from giver into self. Deletes giver. Returns: 1 if we are mutable, 0 otherwise
pump_gas_toPumps gas from src to output_air. Amount depends on target_pressure
reactPerforms various reactions such as combustion and fabrication +Returns: 1 if any reaction took place; 0 otherwise
release_gas_toReleases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure.
removeProportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed
remove_ratioProportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed
remove_specificRemoves an amount of a specific gas from the gas_mixture. +Returns: gas_mixture with the gas removed
return_pressureCalculate pressure in kilopascals
return_temperatureCalculate temperature in kelvins
return_visualsGets the gas visuals for everything in this mixture
return_volumeCalculate volume in liters
sharePerforms air sharing calculations between two gas_mixtures +share() is communitive, which means A.share(B) needs to be the same as B.share(A) +If we don't retain this, we will get negative moles. Don't do it +Returns: amount of gas exchanged (+ if sharer received)
temperature_sharePerforms temperature sharing calculations (via conduction) between two gas_mixtures assuming only 1 boundary length +Returns: new temperature of the sharer
thermal_energyCalculate thermal energy in joules
total_molesCalculate moles
+

Var Details

gc_share + + + + +

+

Whether to call garbage_collect() on the sharer during shares, used for immutable mixtures

last_share + + + + +

+

The last tick this gas mixture shared on. A counter that turfs use to manage activity

pipeline_cycle + + + + +

+

When this gas mixture was last touched by pipeline processing +I am sorry

reaction_results + + + + +

+

Tells us what reactions have happened in our gasmix. Assoc list of reaction - moles reacted pair.

temperature + + + + +

+

The temperature of the gas mix in kelvin. Should never be lower then TCMB

temperature_archived + + + + +

+

Used, like all archived variables, to ensure turf sharing is consistent inside a tick, no matter +The order of operations

volume + + + + +

+

Volume in liters (duh)

Proc Details

add_gas +

+

add_gas(gas_id) - similar to assert_gas(), but does not check for an existing gas list for this id. This can clobber existing gases. +Used instead of assert_gas() when you know the gas does not exist. Faster than assert_gas().

add_gases +

+

add_gases(args) - shorthand for calling add_gas() once for each gas_type.

archive +

+

Update archived versions of variables. Returns: 1 in all cases

assert_gas +

+

assert_gas(gas_id) - used to guarantee that the gas list for this id exists in gas_mixture.gases. +Must be used before adding to a gas. May be used before reading from a gas.

assert_gases +

+

assert_gases(args) - shorthand for calling ASSERT_GAS() once for each gas type.

compare +

+

Compares sample to self to see if within acceptable ranges that group processing may be enabled +Returns: a string indicating what check failed, or "" if check passes

copy +

+

Creates new, identical gas mixture +Returns: duplicate gas mixture

copy_from +

+

Copies variables from sample +Returns: TRUE if we are mutable, FALSE otherwise

copy_from_ratio +

+

Copies variables from sample, moles multiplicated by partial +Returns: TRUE if we are mutable, FALSE otherwise

equalize +

+

Distributes the contents of two mixes equally between themselves

garbage_collect +

+

garbage_collect() - removes any gas list which is empty. +If called with a list as an argument, only removes gas lists with IDs from that list. +Must be used after subtracting from a gas. Must be used after assert_gas() +if assert_gas() was called only to read from the gas. +By removing empty gases, processing speed is increased.

gas_pressure_approximate +

+

Approximation of the quadratic equation using Newton-Raphson's Method. +We use the slope of an approximate value to get closer to the root of a given equation.

gas_pressure_calculate +

+

gas_pressure_minimum_transfer +

+

Counts how much pressure will there be if we impart MOLAR_ACCURACY amounts of our gas to the output gasmix. +We do all of this without actually transferring it so dont worry about it changing the gasmix. +Returns: Resulting pressure (number). +Args:

+

gas_pressure_quadratic +

+

The PV/R part in the equation we will use later. Counted early because pv/(r*t) might not be equal to pv/r/t, messing our lower and upper limit. +This is the true lower limit, but numbers still can get lower than this due to floats. +x^2 in the quadratic +x^1 in the quadratic +x^0 in the quadratic +Actually tries to solve the quadratic equation. +Do mind that the numbers can get very big and might hit BYOND's single point float limit.

get_breath_partial_pressure +

+

Returns the partial pressure of the gas in the breath based on BREATH_VOLUME +eg: +Plas_PP = get_breath_partial_pressure(gas_mixture.gases/datum/gas/plasma) +O2_PP = get_breath_partial_pressure(gas_mixture.gases/datum/gas/oxygen) +get_breath_partial_pressure(gas_mole_count) --> PV = nRT, P = nRT/V

+

10/205 = 2.5 +10 = 2.5/520

has_gas +

+

Checks to see if gas amount exists in mixture. +Do NOT use this in code where performance matters! +It's better to batch calls to garbage_collect(), especially in places where you're checking many gastypes

heat_capacity +

+

joules per kelvin

merge +

+

Merges all air from giver into self. Deletes giver. Returns: 1 if we are mutable, 0 otherwise

pump_gas_to +

+

Pumps gas from src to output_air. Amount depends on target_pressure

react +

+

Performs various reactions such as combustion and fabrication +Returns: 1 if any reaction took place; 0 otherwise

release_gas_to +

+

Releases gas from src to output air. This means that it can not transfer air to gas mixture with higher pressure.

remove +

+

Proportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed

remove_ratio +

+

Proportionally removes amount of gas from the gas_mixture. +Returns: gas_mixture with the gases removed

remove_specific +

+

Removes an amount of a specific gas from the gas_mixture. +Returns: gas_mixture with the gas removed

return_pressure +

+

Calculate pressure in kilopascals

return_temperature +

+

Calculate temperature in kelvins

return_visuals +

+

Gets the gas visuals for everything in this mixture

return_volume +

+

Calculate volume in liters

share +

+

Performs air sharing calculations between two gas_mixtures +share() is communitive, which means A.share(B) needs to be the same as B.share(A) +If we don't retain this, we will get negative moles. Don't do it +Returns: amount of gas exchanged (+ if sharer received)

temperature_share +

+

Performs temperature sharing calculations (via conduction) between two gas_mixtures assuming only 1 boundary length +Returns: new temperature of the sharer

thermal_energy +

+

Calculate thermal energy in joules

total_moles +

+

Calculate moles

+ + + diff --git a/datum/gas_mixture/turf.html b/datum/gas_mixture/turf.html new file mode 100644 index 00000000000..6941f67a935 --- /dev/null +++ b/datum/gas_mixture/turf.html @@ -0,0 +1,35 @@ + + + + + + + /datum/gas_mixture/turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

turf + + + +

+ + +

Procs

heat_capacitySame as above except vacuums return HEAT_CAPACITY_VACUUM

Proc Details

heat_capacity +

+

Same as above except vacuums return HEAT_CAPACITY_VACUUM

+ + + diff --git a/datum/gas_reaction.html b/datum/gas_reaction.html new file mode 100644 index 00000000000..01d1f765257 --- /dev/null +++ b/datum/gas_reaction.html @@ -0,0 +1,94 @@ + + + + + + + /datum/gas_reaction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gas_reaction + + + +

+ + + + + + +

Vars

descA short string describing this reaction.
expands_hotspotWhether the presence of our reaction should make fires bigger or not.
factor
priority_groupThe priority group this reaction is a part of. You can think of these as processing in batches, put your reaction into the one that's most fitting
requirementsRegarding the requirements list: the minimum or maximum requirements must be non-zero. +When in doubt, use MINIMUM_MOLE_COUNT. +Another thing to note is that reactions will not fire if we have any requirements outside of gas id path or MIN_TEMP or MAX_TEMP. +More complex implementations will require modifications to gas_mixture.react()
+

Var Details

desc + + + + +

+

A short string describing this reaction.

expands_hotspot + + + + +

+

Whether the presence of our reaction should make fires bigger or not.

factor + + + + +

+

priority_group + + + + +

+

The priority group this reaction is a part of. You can think of these as processing in batches, put your reaction into the one that's most fitting

requirements + + + + +

+

Regarding the requirements list: the minimum or maximum requirements must be non-zero. +When in doubt, use MINIMUM_MOLE_COUNT. +Another thing to note is that reactions will not fire if we have any requirements outside of gas id path or MIN_TEMP or MAX_TEMP. +More complex implementations will require modifications to gas_mixture.react()

+ + + diff --git a/datum/gas_reaction/bzformation.html b/datum/gas_reaction/bzformation.html new file mode 100644 index 00000000000..c2d3bc5a73c --- /dev/null +++ b/datum/gas_reaction/bzformation.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/bzformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

bzformation + + + +

+ +

BZ Formation

+

Formation of BZ by combining plasma and nitrous oxide at low pressures. +Exothermic.

+ + + diff --git a/datum/gas_reaction/freonfire.html b/datum/gas_reaction/freonfire.html new file mode 100644 index 00000000000..2f0c7815aa2 --- /dev/null +++ b/datum/gas_reaction/freonfire.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/freonfire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

freonfire + + + +

+ +

Freon combustion:

+

Combustion of oxygen and freon. +Endothermic.

+ + + diff --git a/datum/gas_reaction/freonformation.html b/datum/gas_reaction/freonformation.html new file mode 100644 index 00000000000..777ac24ce0b --- /dev/null +++ b/datum/gas_reaction/freonformation.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/freonformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

freonformation + + + +

+ +

Freon formation:

+

The formation of freon. +Endothermic.

+ + + diff --git a/datum/gas_reaction/h2fire.html b/datum/gas_reaction/h2fire.html new file mode 100644 index 00000000000..879121e56c9 --- /dev/null +++ b/datum/gas_reaction/h2fire.html @@ -0,0 +1,31 @@ + + + + + + + /datum/gas_reaction/h2fire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

h2fire + + + +

+ +

Hydrogen combustion:

+

Combustion of oxygen and hydrogen. +Highly exothermic. +Creates hotspots.

+ + + diff --git a/datum/gas_reaction/halon_o2removal.html b/datum/gas_reaction/halon_o2removal.html new file mode 100644 index 00000000000..6c5f3b990c3 --- /dev/null +++ b/datum/gas_reaction/halon_o2removal.html @@ -0,0 +1,32 @@ + + + + + + + /datum/gas_reaction/halon_o2removal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

halon_o2removal + + + +

+ +

List of gases we will assert, and possibly garbage collect. +Halon Combustion:

+

Consumes a large amount of oxygen relative to the amount of halon consumed. +Produces carbon dioxide. +Endothermic.

+ + + diff --git a/datum/gas_reaction/healium_formation.html b/datum/gas_reaction/healium_formation.html new file mode 100644 index 00000000000..12630905251 --- /dev/null +++ b/datum/gas_reaction/healium_formation.html @@ -0,0 +1,29 @@ + + + + + + + /datum/gas_reaction/healium_formation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

healium_formation + + + +

+ +

Healium Formation:

+

Exothermic

+ + + diff --git a/datum/gas_reaction/miaster.html b/datum/gas_reaction/miaster.html new file mode 100644 index 00000000000..3d4b62c1d5d --- /dev/null +++ b/datum/gas_reaction/miaster.html @@ -0,0 +1,29 @@ + + + + + + + /datum/gas_reaction/miaster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

miaster + + + +

+ +

Dry Heat Sterilization:

+

Clears out pathogens in the air.

+ + + diff --git a/datum/gas_reaction/nitrium_decomposition.html b/datum/gas_reaction/nitrium_decomposition.html new file mode 100644 index 00000000000..c326a6154a0 --- /dev/null +++ b/datum/gas_reaction/nitrium_decomposition.html @@ -0,0 +1,31 @@ + + + + + + + /datum/gas_reaction/nitrium_decomposition - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nitrium_decomposition + + + +

+ +

Nitrium Decomposition:

+

The decomposition of nitrium. +Exothermic. +Requires oxygen as catalyst.

+ + + diff --git a/datum/gas_reaction/nitrium_formation.html b/datum/gas_reaction/nitrium_formation.html new file mode 100644 index 00000000000..f059ca38b28 --- /dev/null +++ b/datum/gas_reaction/nitrium_formation.html @@ -0,0 +1,31 @@ + + + + + + + /datum/gas_reaction/nitrium_formation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nitrium_formation + + + +

+ +

Nitrium Formation:

+

The formation of nitrium. +Endothermic. +Requires BZ.

+ + + diff --git a/datum/gas_reaction/nitrous_decomp.html b/datum/gas_reaction/nitrous_decomp.html new file mode 100644 index 00000000000..e82bfdb9069 --- /dev/null +++ b/datum/gas_reaction/nitrous_decomp.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/nitrous_decomp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nitrous_decomp + + + +

+ +

Nitrous Oxide Decomposition

+

Decomposition of N2O. +Exothermic.

+ + + diff --git a/datum/gas_reaction/nitrousformation.html b/datum/gas_reaction/nitrousformation.html new file mode 100644 index 00000000000..cc87ffe6c71 --- /dev/null +++ b/datum/gas_reaction/nitrousformation.html @@ -0,0 +1,31 @@ + + + + + + + /datum/gas_reaction/nitrousformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nitrousformation + + + +

+ +

Nitrous oxide Formation:

+

Formation of N2O. +Endothermic. +Requires BZ as a catalyst.

+ + + diff --git a/datum/gas_reaction/nobliumformation.html b/datum/gas_reaction/nobliumformation.html new file mode 100644 index 00000000000..9b304bfff60 --- /dev/null +++ b/datum/gas_reaction/nobliumformation.html @@ -0,0 +1,32 @@ + + + + + + + /datum/gas_reaction/nobliumformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nobliumformation + + + +

+ +

Hyper-Noblium Formation:

+

Extremely exothermic. +Requires very low temperatures. +Due to its high mass, hyper-noblium uses large amounts of nitrogen and tritium. +BZ can be used as a catalyst to make it less exothermic.

+ + + diff --git a/datum/gas_reaction/plasmafire.html b/datum/gas_reaction/plasmafire.html new file mode 100644 index 00000000000..fc9f16f0a8c --- /dev/null +++ b/datum/gas_reaction/plasmafire.html @@ -0,0 +1,31 @@ + + + + + + + /datum/gas_reaction/plasmafire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

plasmafire + + + +

+ +

Plasma combustion:

+

Combustion of oxygen and plasma (mostly treated as hydrocarbons). +The reaction rate is dependent on the temperature of the gasmix. +May produce either tritium or carbon dioxide and water vapor depending on the fuel/oxydizer ratio of the gasmix.

+ + + diff --git a/datum/gas_reaction/pluox_formation.html b/datum/gas_reaction/pluox_formation.html new file mode 100644 index 00000000000..b8afc9e30b8 --- /dev/null +++ b/datum/gas_reaction/pluox_formation.html @@ -0,0 +1,34 @@ + + + + + + + /datum/gas_reaction/pluox_formation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

pluox_formation + + + +

+ +

If n2o-plasma ratio is less than 1:3 start decomposing n2o. +Rate of decomposition vs BZ production increases as n2o concentration gets lower +Plasma acts as a catalyst on decomposition, so it doesn't get consumed in the process. +N2O decomposes with its normal decomposition energy

+

Pluoxium Formation:

+

Consumes a tiny amount of tritium to convert CO2 and oxygen to pluoxium. +Exothermic.

+ + + diff --git a/datum/gas_reaction/proto_nitrate_bz_response.html b/datum/gas_reaction/proto_nitrate_bz_response.html new file mode 100644 index 00000000000..480b5671ea6 --- /dev/null +++ b/datum/gas_reaction/proto_nitrate_bz_response.html @@ -0,0 +1,29 @@ + + + + + + + /datum/gas_reaction/proto_nitrate_bz_response - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

proto_nitrate_bz_response + + + +

+ +

Proto-Nitrate BZase Action

+

Breaks BZ down into nitrogen, helium, and plasma in the presence of proto-nitrate.

+ + + diff --git a/datum/gas_reaction/proto_nitrate_formation.html b/datum/gas_reaction/proto_nitrate_formation.html new file mode 100644 index 00000000000..2802ef820ac --- /dev/null +++ b/datum/gas_reaction/proto_nitrate_formation.html @@ -0,0 +1,29 @@ + + + + + + + /datum/gas_reaction/proto_nitrate_formation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

proto_nitrate_formation + + + +

+ +

Proto-Nitrate formation:

+

Exothermic.

+ + + diff --git a/datum/gas_reaction/proto_nitrate_hydrogen_response.html b/datum/gas_reaction/proto_nitrate_hydrogen_response.html new file mode 100644 index 00000000000..4416d09d3fc --- /dev/null +++ b/datum/gas_reaction/proto_nitrate_hydrogen_response.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/proto_nitrate_hydrogen_response - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

proto_nitrate_hydrogen_response + + + +

+ +

Proto-Nitrate Hydrogen Conversion

+

Converts hydrogen into proto-nitrate. +Endothermic.

+ + + diff --git a/datum/gas_reaction/proto_nitrate_tritium_response.html b/datum/gas_reaction/proto_nitrate_tritium_response.html new file mode 100644 index 00000000000..7a2c8967611 --- /dev/null +++ b/datum/gas_reaction/proto_nitrate_tritium_response.html @@ -0,0 +1,31 @@ + + + + + + + /datum/gas_reaction/proto_nitrate_tritium_response - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

proto_nitrate_tritium_response + + + +

+ +

Proto-Nitrate Tritium De-irradiation

+

Converts tritium to hydrogen. +Releases radiation. +Exothermic.

+ + + diff --git a/datum/gas_reaction/tritfire.html b/datum/gas_reaction/tritfire.html new file mode 100644 index 00000000000..bbaf9797186 --- /dev/null +++ b/datum/gas_reaction/tritfire.html @@ -0,0 +1,32 @@ + + + + + + + /datum/gas_reaction/tritfire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

tritfire + + + +

+ +

Tritium combustion:

+

Combustion of oxygen and tritium (treated as hydrogen). +Highly exothermic. +Creates hotspots. +Creates radiation.

+ + + diff --git a/datum/gas_reaction/water_vapor.html b/datum/gas_reaction/water_vapor.html new file mode 100644 index 00000000000..efc5f923557 --- /dev/null +++ b/datum/gas_reaction/water_vapor.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/water_vapor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

water_vapor + + + +

+ +

Steam Condensation/Deposition:

+

Makes turfs slippery. +Can frost things if the gas is cold enough.

+ + + diff --git a/datum/gas_reaction/zauker_decomp.html b/datum/gas_reaction/zauker_decomp.html new file mode 100644 index 00000000000..8520e183e85 --- /dev/null +++ b/datum/gas_reaction/zauker_decomp.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/zauker_decomp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

zauker_decomp + + + +

+ +

Zauker Decomposition:

+

Occurs in the presence of nitrogen to prevent zauker floods. +Exothermic.

+ + + diff --git a/datum/gas_reaction/zauker_formation.html b/datum/gas_reaction/zauker_formation.html new file mode 100644 index 00000000000..80cf9898e82 --- /dev/null +++ b/datum/gas_reaction/zauker_formation.html @@ -0,0 +1,30 @@ + + + + + + + /datum/gas_reaction/zauker_formation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

zauker_formation + + + +

+ +

Zauker Formation:

+

Exothermic. +Requires Hypernoblium.

+ + + diff --git a/datum/gas_recipe.html b/datum/gas_recipe.html new file mode 100644 index 00000000000..e7123d3b2bc --- /dev/null +++ b/datum/gas_recipe.html @@ -0,0 +1,87 @@ + + + + + + + /datum/gas_recipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gas_recipe + + + +

+ + + + + + + + + +

Vars

energy_releaseAmount of thermal energy released/consumed by the reaction. +Positive numbers make the reaction release energy (exothermic) while negative numbers make the reaction consume energy (endothermic).
idId of the recipe for easy identification in the code
machine_typeWhat machine the recipe is for
max_tempMaximum temperature for the recipe
min_tempMinimum temperature for the recipe
nameDisplayed name of the recipe
productsProducts made from the recipe
requirementsGas required for the recipe to work
+

Var Details

energy_release + + + + +

+

Amount of thermal energy released/consumed by the reaction. +Positive numbers make the reaction release energy (exothermic) while negative numbers make the reaction consume energy (endothermic).

id + + + + +

+

Id of the recipe for easy identification in the code

machine_type + + + + +

+

What machine the recipe is for

max_temp + + + + +

+

Maximum temperature for the recipe

min_temp + + + + +

+

Minimum temperature for the recipe

name + + + + +

+

Displayed name of the recipe

products + + + + +

+

Products made from the recipe

requirements + + + + +

+

Gas required for the recipe to work

+ + + diff --git a/datum/gateway_destination.html b/datum/gateway_destination.html new file mode 100644 index 00000000000..547c1ff9d2b --- /dev/null +++ b/datum/gateway_destination.html @@ -0,0 +1,51 @@ + + + + + + + /datum/gateway_destination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gateway_destination + + + +

+ +

Corresponds to single entry in gateway control.

+

Will NOT be added automatically to GLOB.gateway_destinations list.

+ + +

Vars

enabledHow long after roundstart this destination becomes active
hiddenIf disabled, the destination won't be available

Procs

is_availableWill not show on gateway controls at all.
+

Var Details

enabled + + + + +

+

How long after roundstart this destination becomes active

hidden + + + + +

+

If disabled, the destination won't be available

Proc Details

is_available +

+

Will not show on gateway controls at all.

+ + + diff --git a/datum/gateway_destination/gateway.html b/datum/gateway_destination/gateway.html new file mode 100644 index 00000000000..188e2fc0247 --- /dev/null +++ b/datum/gateway_destination/gateway.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gateway_destination/gateway - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gateway + + + +

+ + +

Vars

target_gatewayThe gateway this destination points at
+

Var Details

target_gateway + + + + +

+

The gateway this destination points at

+ + + diff --git a/datum/gateway_destination/point.html b/datum/gateway_destination/point.html new file mode 100644 index 00000000000..d5a8d42a3a0 --- /dev/null +++ b/datum/gateway_destination/point.html @@ -0,0 +1,36 @@ + + + + + + + /datum/gateway_destination/point - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

point + + + +

+ + +

Vars

idUsed by away landmarks
+

Var Details

id + + + + +

+

Used by away landmarks

+ + + diff --git a/datum/glass_style.html b/datum/glass_style.html new file mode 100644 index 00000000000..3ca603817d3 --- /dev/null +++ b/datum/glass_style.html @@ -0,0 +1,110 @@ + + + + + + + /datum/glass_style - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

glass_style + + + +

+ +Glass style singleton +

Used by /datum/component/takes_reagent_appearance, and a few other places, +to modify the looks of a reagent container (not /reagent_containers, any atom with reagents) +when certain types of reagents are put into and become the majority reagent of the container

+

For example, pouring Vodka into a glass will change its icon to look like the vodka glass sprite +while pouring it into a shot glass will change to the vodka shot glass sprite

+

A reagent type can have multiple glass styles so long as each style is linked to a different container type, +this allows one reagent to style multiple things across a variety of icon files

+ + + + + + + + + +

Vars

descOptional - What the glass description is changed to
iconSuggested - What icon file to use for this glass style
icon_stateSuggested - What icon state is used for this glass style
nameOptional - What the glass is renamed to
required_container_typeRequired - What EXACT type of atom is needed for this style to be used +If not supplied, will be assumed to be an abstract type and will not be instantiated
required_drink_typeRequired - What EXACT type of reagent is needed for this style to be used +If not supplied, will be assumed to be an abstract type and will not be instantiated

Procs

set_allHelper to apply the entire style to something.
set_appearanceSets the passed item to our icon and icon state.
set_descSets the passed item to our description.
set_nameSets the passed item to our name.
+

Var Details

desc + + + + +

+

Optional - What the glass description is changed to

icon + + + + +

+

Suggested - What icon file to use for this glass style

icon_state + + + + +

+

Suggested - What icon state is used for this glass style

name + + + + +

+

Optional - What the glass is renamed to

required_container_type + + + + +

+

Required - What EXACT type of atom is needed for this style to be used +If not supplied, will be assumed to be an abstract type and will not be instantiated

required_drink_type + + + + +

+

Required - What EXACT type of reagent is needed for this style to be used +If not supplied, will be assumed to be an abstract type and will not be instantiated

Proc Details

set_all +

+

Helper to apply the entire style to something.

set_appearance +

+

Sets the passed item to our icon and icon state.

set_desc +

+

Sets the passed item to our description.

set_name +

+

Sets the passed item to our name.

+ + + diff --git a/datum/glass_style/has_foodtype.html b/datum/glass_style/has_foodtype.html new file mode 100644 index 00000000000..a112e7b9d0d --- /dev/null +++ b/datum/glass_style/has_foodtype.html @@ -0,0 +1,36 @@ + + + + + + + /datum/glass_style/has_foodtype - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

has_foodtype + + + +

+ + +

Vars

drink_typeThis style changes the "drink type" of the container it's placed it as well, it's like food types
+

Var Details

drink_type + + + + +

+

This style changes the "drink type" of the container it's placed it as well, it's like food types

+ + + diff --git a/datum/global_funny_embedding.html b/datum/global_funny_embedding.html new file mode 100644 index 00000000000..4d4757b3de9 --- /dev/null +++ b/datum/global_funny_embedding.html @@ -0,0 +1,46 @@ + + + + + + + /datum/global_funny_embedding - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

global_funny_embedding + + + +

+ +global_funny_embedding! +

Stored in a global datum, and created when it is turned on via event or VV'ing the GLOB.embedpocalypse_controller to be a new /datum/global_funny_embedding. +Gives every item in the world a prefix to their name, and... +Makes every item in the world embed when thrown, but also hooks into global signals for new items created to also bless them with embed-ability(??).

+ +

Procs

handle_current_items
on_new_item_in_existencesignal sent by a new item being created.

Proc Details

handle_current_items +

+ handle_current_items +

Gives every viable item in the world the embed_type, and the prefix prefixed to the name.

on_new_item_in_existence +

+

signal sent by a new item being created.

+ + + diff --git a/datum/golem_food_buff.html b/datum/golem_food_buff.html new file mode 100644 index 00000000000..2233f1731e0 --- /dev/null +++ b/datum/golem_food_buff.html @@ -0,0 +1,78 @@ + + + + + + + /datum/golem_food_buff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem_food_buff + + + +

+ +

An effect you gain from eating minerals

+ + + + + + +

Vars

added_infoExtra information to display when a valid food is examined
exclusiveIf we can apply this while you already have a different status effect
nutritionNutrition to grant per stack consumed
status_effectTypepath of status effect to apply

Procs

apply_effectsApply our desired effects to the eater
can_consumeReturns true if the passed mob can currently gain this buff
on_consumptionCalled when someone actually eats this
+

Var Details

added_info + + + + +

+

Extra information to display when a valid food is examined

exclusive + + + + +

+

If we can apply this while you already have a different status effect

nutrition + + + + +

+

Nutrition to grant per stack consumed

status_effect + + + + +

+

Typepath of status effect to apply

Proc Details

apply_effects +

+

Apply our desired effects to the eater

can_consume +

+

Returns true if the passed mob can currently gain this buff

on_consumption +

+

Called when someone actually eats this

+ + + diff --git a/datum/golem_food_buff/iron.html b/datum/golem_food_buff/iron.html new file mode 100644 index 00000000000..31a3cb84dbd --- /dev/null +++ b/datum/golem_food_buff/iron.html @@ -0,0 +1,43 @@ + + + + + + + /datum/golem_food_buff/iron - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

iron + + + +

+ +

More filling, and heals you

+ +

Vars

damage_heal_orderOrder in which to heal damage types
healed_amountAmount by which you heal from eating some iron
+

Var Details

damage_heal_order + + + + +

+

Order in which to heal damage types

healed_amount + + + + +

+

Amount by which you heal from eating some iron

+ + + diff --git a/datum/grand_finale.html b/datum/grand_finale.html new file mode 100644 index 00000000000..c816917ec11 --- /dev/null +++ b/datum/grand_finale.html @@ -0,0 +1,120 @@ + + + + + + + /datum/grand_finale - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grand_finale + + + +

+ +

A big final event to run when you complete seven rituals

+ + + + + + + + + + + +

Vars

descTooltip description for selection menu
dire_warningProvide an extremely loud radio message when this one starts
glow_colourOverrides the default colour you glow while channeling the rune, optional
iconAn icon to display to represent the choice
icon_stateIcon state to use to represent the choice
minimum_timePrevent especially dangerous options from being chosen until we're fine with the round ending
nameFriendly name for selection menu
ritual_invoke_timeOverride the rune invocation time

Procs

create_vendettaThey are not going to take this lying down.
equip_to_slot_then_handsTries to equip something into an inventory slot, then hands, then the floor.
get_radial_choiceReturns an entry for a radial menu for this choice. +Returns null if entry is abstract or invalid for current circumstances.
triggerActually do the thing. +Arguments
+

Var Details

desc + + + + +

+

Tooltip description for selection menu

dire_warning + + + + +

+

Provide an extremely loud radio message when this one starts

glow_colour + + + + +

+

Overrides the default colour you glow while channeling the rune, optional

icon + + + + +

+

An icon to display to represent the choice

icon_state + + + + +

+

Icon state to use to represent the choice

minimum_time + + + + +

+

Prevent especially dangerous options from being chosen until we're fine with the round ending

name + + + + +

+

Friendly name for selection menu

ritual_invoke_time + + + + +

+

Override the rune invocation time

Proc Details

create_vendetta +

+

They are not going to take this lying down.

equip_to_slot_then_hands +

+

Tries to equip something into an inventory slot, then hands, then the floor.

get_radial_choice +

+

Returns an entry for a radial menu for this choice. +Returns null if entry is abstract or invalid for current circumstances.

trigger +

+

Actually do the thing. +Arguments

+
+ + + diff --git a/datum/grand_finale/armageddon.html b/datum/grand_finale/armageddon.html new file mode 100644 index 00000000000..e8845acc254 --- /dev/null +++ b/datum/grand_finale/armageddon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/grand_finale/armageddon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

armageddon + + + +

+ +

Kill yourself and probably a bunch of other people

+

Vars

possible_last_wordsThings to yell before you die
+

Var Details

possible_last_words + + + + +

+

Things to yell before you die

+ + + diff --git a/datum/grand_finale/clown.html b/datum/grand_finale/clown.html new file mode 100644 index 00000000000..3aae079957f --- /dev/null +++ b/datum/grand_finale/clown.html @@ -0,0 +1,35 @@ + + + + + + + /datum/grand_finale/clown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

clown + + + +

+ +

Dress the crew as magical clowns

+

Procs

dress_as_magic_clownDress the passed mob as a magical clown, self-explanatory

Proc Details

dress_as_magic_clown +

+

Dress the passed mob as a magical clown, self-explanatory

+ + + diff --git a/datum/grand_finale/immortality.html b/datum/grand_finale/immortality.html new file mode 100644 index 00000000000..46105a74b18 --- /dev/null +++ b/datum/grand_finale/immortality.html @@ -0,0 +1,43 @@ + + + + + + + /datum/grand_finale/immortality - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

immortality + + + +

+ +

Nobody will ever die ever again +Or if they do, they will be back

+ +

Procs

reverse_deathCreate a ghost ready for revival
something_diedCalled when something passes into the great beyond, make it not do that

Proc Details

reverse_death +

+

Create a ghost ready for revival

something_died +

+

Called when something passes into the great beyond, make it not do that

+ + + diff --git a/datum/grand_finale/usurp.html b/datum/grand_finale/usurp.html new file mode 100644 index 00000000000..4cd03404b49 --- /dev/null +++ b/datum/grand_finale/usurp.html @@ -0,0 +1,46 @@ + + + + + + + /datum/grand_finale/usurp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

usurp + + + +

+ +

Become the official Captain of the station

+ +

Procs

demote_to_assistantAnyone who thought they were Captain is in for a nasty surprise, and won't be very happy about it
dress_candidateDoes some item juggling to try to dress you as both a Wizard and Captain without deleting any items you have bought. +ID, headset, and uniform are forcibly replaced. Other slots are only filled if unoccupied. +We could forcibly replace shoes and gloves too but people might miss their insuls or... meown shoes?

Proc Details

demote_to_assistant +

+

Anyone who thought they were Captain is in for a nasty surprise, and won't be very happy about it

dress_candidate +

+

Does some item juggling to try to dress you as both a Wizard and Captain without deleting any items you have bought. +ID, headset, and uniform are forcibly replaced. Other slots are only filled if unoccupied. +We could forcibly replace shoes and gloves too but people might miss their insuls or... meown shoes?

+ + + diff --git a/datum/grand_side_effect.html b/datum/grand_side_effect.html new file mode 100644 index 00000000000..9c781c6f69a --- /dev/null +++ b/datum/grand_side_effect.html @@ -0,0 +1,60 @@ + + + + + + + /datum/grand_side_effect - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grand_side_effect + + + +

+ +

Describes something which can happen in a local area when the grand ritual is completed.

+ + +

Vars

abstractIf true then this effect is a holder for behaviour and should not be selected.

Procs

can_triggerReturns true if you can trigger this effect.
triggerTriggers some kind of effect in the area of the ritual. +Arguments
+

Var Details

abstract + + + + +

+

If true then this effect is a holder for behaviour and should not be selected.

Proc Details

can_trigger +

+

Returns true if you can trigger this effect.

+

trigger +

+

Triggers some kind of effect in the area of the ritual. +Arguments

+
+ + + diff --git a/datum/grand_side_effect/create_anomalies.html b/datum/grand_side_effect/create_anomalies.html new file mode 100644 index 00000000000..e9c75a03444 --- /dev/null +++ b/datum/grand_side_effect/create_anomalies.html @@ -0,0 +1,36 @@ + + + + + + + /datum/grand_side_effect/create_anomalies - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

create_anomalies + + + +

+ +

Spawn some anomalies in the area, ones which are not too dangerous

+

Vars

permitted_anomaliesList of anomaly types we are allowed to create, paired with a maximum to create of each
+

Var Details

permitted_anomalies + + + + +

+

List of anomaly types we are allowed to create, paired with a maximum to create of each

+ + + diff --git a/datum/grand_side_effect/spawn_delayed_mobs.html b/datum/grand_side_effect/spawn_delayed_mobs.html new file mode 100644 index 00000000000..5c64f3a718d --- /dev/null +++ b/datum/grand_side_effect/spawn_delayed_mobs.html @@ -0,0 +1,36 @@ + + + + + + + /datum/grand_side_effect/spawn_delayed_mobs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spawn_delayed_mobs + + + +

+ +

Spawn some mobs after a delay

+

Vars

permitted_mobsTypepaths of mobs to create
+

Var Details

permitted_mobs + + + + +

+

Typepaths of mobs to create

+ + + diff --git a/datum/grand_side_effect/spell.html b/datum/grand_side_effect/spell.html new file mode 100644 index 00000000000..66ae07b6e48 --- /dev/null +++ b/datum/grand_side_effect/spell.html @@ -0,0 +1,50 @@ + + + + + + + /datum/grand_side_effect/spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spell + + + +

+ +

A side effect which just casts a spell at its position

+ + +

Vars

durationTime to spend before ending spell
soundSound effect to play
spell_pathPath of spell to cast
+

Var Details

duration + + + + +

+

Time to spend before ending spell

sound + + + + +

+

Sound effect to play

spell_path + + + + +

+

Path of spell to cast

+ + + diff --git a/datum/grand_side_effect/summon_crewmate.html b/datum/grand_side_effect/summon_crewmate.html new file mode 100644 index 00000000000..4107fa26577 --- /dev/null +++ b/datum/grand_side_effect/summon_crewmate.html @@ -0,0 +1,43 @@ + + + + + + + /datum/grand_side_effect/summon_crewmate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

summon_crewmate + + + +

+ +

Grabs one person and pulls them to this location, after a delay

+ +

Vars

victimWeak reference to someone we're going to grab and pull to our location

Procs

can_triggerDon't run if there's nobody to summon
+

Var Details

victim + + + + +

+

Weak reference to someone we're going to grab and pull to our location

Proc Details

can_trigger +

+

Don't run if there's nobody to summon

+ + + diff --git a/datum/grand_side_effect/translocate.html b/datum/grand_side_effect/translocate.html new file mode 100644 index 00000000000..4898a2aa690 --- /dev/null +++ b/datum/grand_side_effect/translocate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/grand_side_effect/translocate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

translocate + + + +

+ +

Swap locations of nearby mobs arbitrarily and confuse them

+

Procs

can_triggerDon't run if there's nobody to swap

Proc Details

can_trigger +

+

Don't run if there's nobody to swap

+ + + diff --git a/datum/greyscale_config.html b/datum/greyscale_config.html new file mode 100644 index 00000000000..ed14103673d --- /dev/null +++ b/datum/greyscale_config.html @@ -0,0 +1,206 @@ + + + + + + + /datum/greyscale_config - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

greyscale_config + + + +

+ +

A datum tying together a greyscale configuration and dmi file. Required for using GAGS and handles the code interactions.

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

expected_colorsHow many colors are expected to be given when building the sprite
flat_all_layersA list of all layers irrespective of nesting
heightSpritesheet height of the icon_file
icon_cacheGenerated icons keyed by their color arguments
icon_fileReference to the dmi file for this config
icon_file_hashThe md5 file hash for the icon file. Used to check if the file has changed
icon_statesA list of icon states and their layers
json_configReference to the json config file
json_config_hashThe md5 file hash for the json configuration. Used to check if the file has changed
live_edit_typesA list of types to update in the world whenever a config changes
material_skinAn optional var to set that tells the material system what material this configuration is for. +Use a typepath here, not an instance.
nameUser friendly name used in the debug menu
string_icon_fileString path to the icon file, used for reloading
string_json_configString path to the json file, used for reloading
widthSpritesheet width of the icon_file

Procs

CrossVerifyCalled after every config has refreshed, this proc handles data verification that depends on multiple entwined configurations.
DebugNameGets the name used for debug purposes
GenerateActually create the icon and color it in, handles caching
GenerateBundleHandles the actual icon manipulation to create the spritesheet
GenerateLayerGroupInternal recursive proc to handle nested layer groups
ReadIconStateConfigurationTakes the json icon state configuration and puts it into a more processed format.
ReadLayersFromJsonTakes the json layers configuration and puts it into a more processed format
ReadMetadataReads layer configurations to take out some useful overall information
RefreshCall this proc to handle all the data extraction from the json configuration. Can be forced to load values from disk instead of memory.
SaveOutputFor saving a dmi to disk, useful for debug mainly
+

Var Details

expected_colors + + + + +

+

How many colors are expected to be given when building the sprite

flat_all_layers + + + + +

+

A list of all layers irrespective of nesting

height + + + + +

+

Spritesheet height of the icon_file

icon_cache + + + + +

+

Generated icons keyed by their color arguments

icon_file + + + + +

+

Reference to the dmi file for this config

icon_file_hash + + + + +

+

The md5 file hash for the icon file. Used to check if the file has changed

icon_states + + + + +

+

A list of icon states and their layers

json_config + + + + +

+

Reference to the json config file

json_config_hash + + + + +

+

The md5 file hash for the json configuration. Used to check if the file has changed

live_edit_types + + + + +

+

A list of types to update in the world whenever a config changes

material_skin + + + + +

+

An optional var to set that tells the material system what material this configuration is for. +Use a typepath here, not an instance.

name + + + + +

+

User friendly name used in the debug menu

string_icon_file + + + + +

+

String path to the icon file, used for reloading

string_json_config + + + + +

+

String path to the json file, used for reloading

width + + + + +

+

Spritesheet width of the icon_file

Proc Details

CrossVerify +

+

Called after every config has refreshed, this proc handles data verification that depends on multiple entwined configurations.

DebugName +

+

Gets the name used for debug purposes

Generate +

+

Actually create the icon and color it in, handles caching

GenerateBundle +

+

Handles the actual icon manipulation to create the spritesheet

GenerateLayerGroup +

+

Internal recursive proc to handle nested layer groups

ReadIconStateConfiguration +

+

Takes the json icon state configuration and puts it into a more processed format.

ReadLayersFromJson +

+

Takes the json layers configuration and puts it into a more processed format

ReadMetadata +

+

Reads layer configurations to take out some useful overall information

Refresh +

+

Call this proc to handle all the data extraction from the json configuration. Can be forced to load values from disk instead of memory.

SaveOutput +

+

For saving a dmi to disk, useful for debug mainly

+ + + diff --git a/datum/greyscale_layer.html b/datum/greyscale_layer.html new file mode 100644 index 00000000000..5d58e53628b --- /dev/null +++ b/datum/greyscale_layer.html @@ -0,0 +1,89 @@ + + + + + + + /datum/greyscale_layer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

greyscale_layer + + + +

+ + + + + + + + +

Procs

CrossVerifyUse this proc for extra verification needed by a particular layer, gets run after all greyscale configs have finished reading their json files.
DiskRefreshOverride this if you need to do something during a full config refresh from disk, return TRUE if something was changed
GenerateUsed to actualy create the layer using the given colors +Do not override, use InternalGenerate instead
GetExpectedValuesGathers information from the layer about what variables are expected in the json. +Override and add to the two argument lists if you want extra information in your layer. +The lists are formatted like keyname:keytype_define. +The key name is assigned to the var named the same on the layer type.
InitializeOverride this to do initial set up
InternalGenerateOverride this to implement layers. +The colors var will only contain colors that this layer is configured to use.
ReadJsonDataHandles the processing of the json data and conversion to correct value types. +Will error on incorrect, missing, or unexpected values.

Proc Details

CrossVerify +

+

Use this proc for extra verification needed by a particular layer, gets run after all greyscale configs have finished reading their json files.

DiskRefresh +

+

Override this if you need to do something during a full config refresh from disk, return TRUE if something was changed

Generate +

+

Used to actualy create the layer using the given colors +Do not override, use InternalGenerate instead

GetExpectedValues +

+

Gathers information from the layer about what variables are expected in the json. +Override and add to the two argument lists if you want extra information in your layer. +The lists are formatted like keyname:keytype_define. +The key name is assigned to the var named the same on the layer type.

Initialize +

+

Override this to do initial set up

InternalGenerate +

+

Override this to implement layers. +The colors var will only contain colors that this layer is configured to use.

ReadJsonData +

+

Handles the processing of the json data and conversion to correct value types. +Will error on incorrect, missing, or unexpected values.

+ + + diff --git a/datum/greyscale_modify_menu.html b/datum/greyscale_modify_menu.html new file mode 100644 index 00000000000..95c0cde625f --- /dev/null +++ b/datum/greyscale_modify_menu.html @@ -0,0 +1,132 @@ + + + + + + + /datum/greyscale_modify_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

greyscale_modify_menu + + + +

+ +

The controller for the ui in charge of all runtime greyscale configuration/debug. +If Unlock() is not called the menu is safe for players to use.

+ + + + + + + + + + + + + +

Vars

allowed_configsA keyed list of allowed configs in the form niceName:typepath
apply_callbackA callback to control what happens when the user presses apply. Used mainly for if you want the menu to be used outside of vv.
configThe current config being previewed
config_owner_typeThe type that the configuration file was assigned at
generate_full_previewWhether the full preview should be generated, with this FALSE only the final sprite is shown instead of all steps.
icon_stateThe sprite icon state currently being shown
refreshingWhether the menu is in the middle of refreshing the preview
split_colorsA list of colors currently selected
sprite_dataCollection of data for tgui to use in displaying everything
sprite_dirThe sprite dir currently being shown
targetThe "owner" object of this menu, is usually the greyscale object being edited but that can be changed for specific uses of this menu
unlockedWhether the menu is currently locked down to prevent abuse from players. +Currently is only unlocked when opened from vv. +It also enables the user to modify the alpha channel of the colors.
userThe client that opened this menu

Procs

SetupConfigOwnerGets the top level type that first uses the configuration in this type path
+

Var Details

allowed_configs + + + + +

+

A keyed list of allowed configs in the form niceName:typepath

apply_callback + + + + +

+

A callback to control what happens when the user presses apply. Used mainly for if you want the menu to be used outside of vv.

config + + + + +

+

The current config being previewed

config_owner_type + + + + +

+

The type that the configuration file was assigned at

generate_full_preview + + + + +

+

Whether the full preview should be generated, with this FALSE only the final sprite is shown instead of all steps.

icon_state + + + + +

+

The sprite icon state currently being shown

refreshing + + + + +

+

Whether the menu is in the middle of refreshing the preview

split_colors + + + + +

+

A list of colors currently selected

sprite_data + + + + +

+

Collection of data for tgui to use in displaying everything

sprite_dir + + + + +

+

The sprite dir currently being shown

target + + + + +

+

The "owner" object of this menu, is usually the greyscale object being edited but that can be changed for specific uses of this menu

unlocked + + + + +

+

Whether the menu is currently locked down to prevent abuse from players. +Currently is only unlocked when opened from vv. +It also enables the user to modify the alpha channel of the colors.

user + + + + +

+

The client that opened this menu

Proc Details

SetupConfigOwner +

+

Gets the top level type that first uses the configuration in this type path

+ + + diff --git a/datum/guardian_fluff.html b/datum/guardian_fluff.html new file mode 100644 index 00000000000..9782e28171c --- /dev/null +++ b/datum/guardian_fluff.html @@ -0,0 +1,128 @@ + + + + + + + /datum/guardian_fluff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guardian_fluff + + + +

+ +

Defines a theme used by guardian mobs for visuals and some text output +The default is used for ones created by wizards

+ + + + + + + + + + + + + +

Vars

attack_soundSound played when we attack
attack_verb_continuousVerb shown to viewers when attacking
attack_verb_simpleVerb shown to attacker when attacking
attack_vis_effectVisible effect when we attack
bubble_iconWhat speech bubble do we use?
descMob description to apply
fluff_typeAre we magical or technological? Mostly just used to pick a surname
guardian_fluffAn associative list of type of guardian to some kind of descriptive text to show on appearance.
icon_stateWhat is our base icon state?
nameWhat name do we apply before one has been selected?
overlay_stateWhat is the icon state for our coloured overlay?
speak_emoteEmote used for speaking

Procs

applyApplies relevant visual properties to our guardian
get_fluff_stringOutput an appropriate fluff string for our guardian when it is created
+

Var Details

attack_sound + + + + +

+

Sound played when we attack

attack_verb_continuous + + + + +

+

Verb shown to viewers when attacking

attack_verb_simple + + + + +

+

Verb shown to attacker when attacking

attack_vis_effect + + + + +

+

Visible effect when we attack

bubble_icon + + + + +

+

What speech bubble do we use?

desc + + + + +

+

Mob description to apply

fluff_type + + + + +

+

Are we magical or technological? Mostly just used to pick a surname

guardian_fluff + + + + +

+

An associative list of type of guardian to some kind of descriptive text to show on appearance.

icon_state + + + + +

+

What is our base icon state?

name + + + + +

+

What name do we apply before one has been selected?

overlay_state + + + + +

+

What is the icon state for our coloured overlay?

speak_emote + + + + +

+

Emote used for speaking

Proc Details

apply +

+

Applies relevant visual properties to our guardian

get_fluff_string +

+

Output an appropriate fluff string for our guardian when it is created

+ + + diff --git a/datum/gutlunch_inherited_stats.html b/datum/gutlunch_inherited_stats.html new file mode 100644 index 00000000000..bc9ade88602 --- /dev/null +++ b/datum/gutlunch_inherited_stats.html @@ -0,0 +1,50 @@ + + + + + + + /datum/gutlunch_inherited_stats - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gutlunch_inherited_stats + + + +

+ +

stats we inherit from the parent

+ + +

Vars

attackattack we inherited
healthhealth we inherited
speedspeed we inherited
+

Var Details

attack + + + + +

+

attack we inherited

health + + + + +

+

health we inherited

speed + + + + +

+

speed we inherited

+ + + diff --git a/datum/hallucination.html b/datum/hallucination.html new file mode 100644 index 00000000000..bce8f1f71ef --- /dev/null +++ b/datum/hallucination.html @@ -0,0 +1,89 @@ + + + + + + + /datum/hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Hallucination datum. + + + +

+ +

Handles effects of a hallucination on a living mob. +Created and triggered via the [cause hallucination proc][/mob/living/proc/cause_hallucination].

+

See also: the hallucination status effect.

+ + + + + + + +

Vars

abstract_hallucination_parentWho's our next highest abstract parent type?
feedback_detailsExtra info about the hallucination displayed in the log.
hallucinatorThe mob we're targeting with the hallucination.
random_hallucination_weightWhat is this hallucination's weight in the random hallucination pool?

Procs

random_far_turfReturns a random turf in a ring around the hallucinator mob. +Useful for sound hallucinations.
random_non_sec_crewmemberGets a random non-security member of the crew that is at least 8 tiles away.
startStarts the hallucination.
target_deletingSignal proc for COMSIG_QDELETING, if the mob hallucinating us is deletes, we should delete too.
+

Var Details

abstract_hallucination_parent + + + + +

+

Who's our next highest abstract parent type?

feedback_details + + + + +

+

Extra info about the hallucination displayed in the log.

hallucinator + + + + +

+

The mob we're targeting with the hallucination.

random_hallucination_weight + + + + +

+

What is this hallucination's weight in the random hallucination pool?

Proc Details

random_far_turf +

+

Returns a random turf in a ring around the hallucinator mob. +Useful for sound hallucinations.

random_non_sec_crewmember +

+

Gets a random non-security member of the crew that is at least 8 tiles away.

start +

+

Starts the hallucination.

target_deleting +

+

Signal proc for COMSIG_QDELETING, if the mob hallucinating us is deletes, we should delete too.

+ + + diff --git a/datum/hallucination/battle/bomb.html b/datum/hallucination/battle/bomb.html new file mode 100644 index 00000000000..241c2597c93 --- /dev/null +++ b/datum/hallucination/battle/bomb.html @@ -0,0 +1,35 @@ + + + + + + + /datum/hallucination/battle/bomb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bomb + + + +

+ +

A hallucination of a syndicate bomb ticking down.

+

Procs

fake_tickThe loop of the (fake) bomb ticking down.

Proc Details

fake_tick +

+

The loop of the (fake) bomb ticking down.

+ + + diff --git a/datum/hallucination/battle/e_sword.html b/datum/hallucination/battle/e_sword.html new file mode 100644 index 00000000000..28f51f485c5 --- /dev/null +++ b/datum/hallucination/battle/e_sword.html @@ -0,0 +1,35 @@ + + + + + + + /datum/hallucination/battle/e_sword - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

e_sword + + + +

+ +

A hallucination of someone unsheathing an energy sword, going to town, and sheathing it again.

+

Procs

stab_loopThe main sound loop of someone being esworded.

Proc Details

stab_loop +

+

The main sound loop of someone being esworded.

+ + + diff --git a/datum/hallucination/battle/gun.html b/datum/hallucination/battle/gun.html new file mode 100644 index 00000000000..52c02d482d2 --- /dev/null +++ b/datum/hallucination/battle/gun.html @@ -0,0 +1,85 @@ + + + + + + + /datum/hallucination/battle/gun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gun + + + +

+ +

Subtype of battle hallucination for gun based battles, where it sounds like someone is being shot.

+ + + + + + + +

Vars

chance_to_fallThe probability chance we have to make our "hit" person fall down after we pass the number_of_hits_to_end.
fire_soundThe sound effect we play when we "fire" a shot.
hit_person_soundThe sound we make when our shot actually "hits" "someone".
hit_wall_soundThe sound we make when our shot misses someone and "hits" a "wall".
number_of_hits_to_endThe number of successful hits required to "down" the "someone" we're firing at.
shots_to_fire_lower_rangeThe lower end to how many shots we'll fire.
shots_to_fire_upper_rangeThe upper end to how many shots we'll fire.

Procs

fire_loopThe main loop for gun based hallucinations.
+

Var Details

chance_to_fall + + + + +

+

The probability chance we have to make our "hit" person fall down after we pass the number_of_hits_to_end.

fire_sound + + + + +

+

The sound effect we play when we "fire" a shot.

hit_person_sound + + + + +

+

The sound we make when our shot actually "hits" "someone".

hit_wall_sound + + + + +

+

The sound we make when our shot misses someone and "hits" a "wall".

number_of_hits_to_end + + + + +

+

The number of successful hits required to "down" the "someone" we're firing at.

shots_to_fire_lower_range + + + + +

+

The lower end to how many shots we'll fire.

shots_to_fire_upper_range + + + + +

+

The upper end to how many shots we'll fire.

Proc Details

fire_loop +

+

The main loop for gun based hallucinations.

+ + + diff --git a/datum/hallucination/battle/harm_baton.html b/datum/hallucination/battle/harm_baton.html new file mode 100644 index 00000000000..2c19f7ca1f3 --- /dev/null +++ b/datum/hallucination/battle/harm_baton.html @@ -0,0 +1,35 @@ + + + + + + + /datum/hallucination/battle/harm_baton - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

harm_baton + + + +

+ +

A hallucination of someone being stun batonned, and subsequently harmbatonned.

+

Procs

harmbaton_loopThe main sound loop for harmbatonning.

Proc Details

harmbaton_loop +

+

The main sound loop for harmbatonning.

+ + + diff --git a/datum/hallucination/battle/stun_prod.html b/datum/hallucination/battle/stun_prod.html new file mode 100644 index 00000000000..88b654f8265 --- /dev/null +++ b/datum/hallucination/battle/stun_prod.html @@ -0,0 +1,35 @@ + + + + + + + /datum/hallucination/battle/stun_prod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stun_prod + + + +

+ +

A hallucination of someone being hit with a stun prod, followed by cable cuffing.

+

Procs

fake_cuffPlays a fake cable-cuff sound and deletes the hallucination.

Proc Details

fake_cuff +

+

Plays a fake cable-cuff sound and deletes the hallucination.

+ + + diff --git a/datum/hallucination/body.html b/datum/hallucination/body.html new file mode 100644 index 00000000000..b3278b03e60 --- /dev/null +++ b/datum/hallucination/body.html @@ -0,0 +1,78 @@ + + + + + + + /datum/hallucination/body - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

body + + + +

+ +

Makes a random body appear and disappear quickly in view of the hallucinator.

+ + + + + + +

Vars

body_floatsWhether we apply the floating anim to the body
body_image_fileThe file to make the body image from.
body_image_stateThe icon state to make the body image form.
body_layerThe layer this body will be drawn on, in case we want to bypass lighting
shown_bodyThe actual image we made and showed show.
spawn_under_hallucinatorif TRUE, spawns the body under the hallucinator instead of somewhere in view

Procs

make_body_imageMakes the image of the body to show at the location passed.
+

Var Details

body_floats + + + + +

+

Whether we apply the floating anim to the body

body_image_file + + + + +

+

The file to make the body image from.

body_image_state + + + + +

+

The icon state to make the body image form.

body_layer + + + + +

+

The layer this body will be drawn on, in case we want to bypass lighting

shown_body + + + + +

+

The actual image we made and showed show.

spawn_under_hallucinator + + + + +

+

if TRUE, spawns the body under the hallucinator instead of somewhere in view

Proc Details

make_body_image +

+

Makes the image of the body to show at the location passed.

+ + + diff --git a/datum/hallucination/body/staticguy.html b/datum/hallucination/body/staticguy.html new file mode 100644 index 00000000000..74ffda1ede5 --- /dev/null +++ b/datum/hallucination/body/staticguy.html @@ -0,0 +1,43 @@ + + + + + + + /datum/hallucination/body/staticguy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

staticguy + + + +

+ + + +

Vars

del_timeridOur QDEL_IN timer id, so we can cancel it

Procs

on_moveSignal proc for COMSIG_MOVABLE_MOVED - if we move out of view of the hallucination, it disappears, how spooky
+

Var Details

del_timerid + + + + +

+

Our QDEL_IN timer id, so we can cancel it

Proc Details

on_move +

+

Signal proc for COMSIG_MOVABLE_MOVED - if we move out of view of the hallucination, it disappears, how spooky

+ + + diff --git a/datum/hallucination/bolts.html b/datum/hallucination/bolts.html new file mode 100644 index 00000000000..283d9cf3c2f --- /dev/null +++ b/datum/hallucination/bolts.html @@ -0,0 +1,57 @@ + + + + + + + /datum/hallucination/bolts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bolts + + + +

+ + + + + +

Vars

airlocks_to_hitA list of weakrefs to airlocks we bolt down around us
lockingWhether we're currently locking, or unlocking
locksA list of weakrefs to fake lock hallucinations we've created
next_actionA number relating to the number of ssfastprocessing ticks (x 10) until the next action
+

Var Details

airlocks_to_hit + + + + +

+

A list of weakrefs to airlocks we bolt down around us

locking + + + + +

+

Whether we're currently locking, or unlocking

locks + + + + +

+

A list of weakrefs to fake lock hallucinations we've created

next_action + + + + +

+

A number relating to the number of ssfastprocessing ticks (x 10) until the next action

+ + + diff --git a/datum/hallucination/chat.html b/datum/hallucination/chat.html new file mode 100644 index 00000000000..ececfc858f8 --- /dev/null +++ b/datum/hallucination/chat.html @@ -0,0 +1,43 @@ + + + + + + + /datum/hallucination/chat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chat + + + +

+ +

Sends a fake chat message to the hallucinator.

+ +

Vars

force_radioIf TRUE, we force the message to be hallucinated from common radio. Only set in New()
specific_messageIf set, a message we force to be picked, rather than an auto-generated message. Only set in New()
+

Var Details

force_radio + + + + +

+

If TRUE, we force the message to be hallucinated from common radio. Only set in New()

specific_message + + + + +

+

If set, a message we force to be picked, rather than an auto-generated message. Only set in New()

+ + + diff --git a/datum/hallucination/death.html b/datum/hallucination/death.html new file mode 100644 index 00000000000..3a2c25fb964 --- /dev/null +++ b/datum/hallucination/death.html @@ -0,0 +1,36 @@ + + + + + + + /datum/hallucination/death - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

death + + + +

+ + +

Vars

floor_themDetermines whether we floor them or just immobilize them
+

Var Details

floor_them + + + + +

+

Determines whether we floor them or just immobilize them

+ + + diff --git a/datum/hallucination/death/dust.html b/datum/hallucination/death/dust.html new file mode 100644 index 00000000000..2721cdbb4dc --- /dev/null +++ b/datum/hallucination/death/dust.html @@ -0,0 +1,36 @@ + + + + + + + /datum/hallucination/death/dust - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dust + + + +

+ + +

Vars

created_imagesList of all images we created to convey the effect to the hallucinator (so we can remove them after)
+

Var Details

created_images + + + + +

+

List of all images we created to convey the effect to the hallucinator (so we can remove them after)

+ + + diff --git a/datum/hallucination/delusion.html b/datum/hallucination/delusion.html new file mode 100644 index 00000000000..393dec34de1 --- /dev/null +++ b/datum/hallucination/delusion.html @@ -0,0 +1,99 @@ + + + + + + + /datum/hallucination/delusion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

delusion + + + +

+ +

A hallucination that makes us and (possibly) other people look like something else.

+ + + + + + + + + +

Vars

affects_othersIf TRUE, this hallucination affects all humans in existence
affects_usIf TRUE, this delusion affects us
delusion_icon_fileThe file the delusion image is made from
delusion_icon_stateThe icon state of the delusion image
delusion_nameThe name of the delusion image
delusionsA list of all images we've made
durationThe duration of the delusions
dynamic_iconDo we use a generated icon? If yes no icon file or state needed.
play_wabbajackIf TRUE, we will play the wabbajack sound effect to the hallucinator
skip_nearbyIf TRUE, people in view of our hallcuinator won't be affected (requires affects_others)
+

Var Details

affects_others + + + + +

+

If TRUE, this hallucination affects all humans in existence

affects_us + + + + +

+

If TRUE, this delusion affects us

delusion_icon_file + + + + +

+

The file the delusion image is made from

delusion_icon_state + + + + +

+

The icon state of the delusion image

delusion_name + + + + +

+

The name of the delusion image

delusions + + + + +

+

A list of all images we've made

duration + + + + +

+

The duration of the delusions

dynamic_icon + + + + +

+

Do we use a generated icon? If yes no icon file or state needed.

play_wabbajack + + + + +

+

If TRUE, we will play the wabbajack sound effect to the hallucinator

skip_nearby + + + + +

+

If TRUE, people in view of our hallcuinator won't be affected (requires affects_others)

+ + + diff --git a/datum/hallucination/fake_alert.html b/datum/hallucination/fake_alert.html new file mode 100644 index 00000000000..4943366a195 --- /dev/null +++ b/datum/hallucination/fake_alert.html @@ -0,0 +1,57 @@ + + + + + + + /datum/hallucination/fake_alert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fake_alert + + + +

+ +

Fake alert hallucination. Causes a fake alert to be thrown to the hallucinator.

+ + + +

Vars

alert_categoryThe category of the fake alert
alert_typeThe type of the fake alert. Can be a list, if you want it to draw from multiple types (randomly).
durationThe duration of the alert being thrown.
optional_severityOptional, the severity of the alert.
+

Var Details

alert_category + + + + +

+

The category of the fake alert

alert_type + + + + +

+

The type of the fake alert. Can be a list, if you want it to draw from multiple types (randomly).

duration + + + + +

+

The duration of the alert being thrown.

optional_severity + + + + +

+

Optional, the severity of the alert.

+ + + diff --git a/datum/hallucination/fake_health_doll.html b/datum/hallucination/fake_health_doll.html new file mode 100644 index 00000000000..284c4a5c32c --- /dev/null +++ b/datum/hallucination/fake_health_doll.html @@ -0,0 +1,87 @@ + + + + + + + /datum/hallucination/fake_health_doll - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fake_health_doll + + + +

+ +

Causes the target to see incorrect health damages on the healthdoll

+ + + + + + + +

Vars

bodypartsAssoc list of [ref to bodyparts] to [severity]
del_timer_idTimer ID for when we're deleted
durationThe duration of the hallucination

Procs

add_fake_limbAdds a fake limb to the effect.
increment_fake_damageIncrements the severity of the damage seen on all the limbs we are already tracking.
on_bodypart_checkedSignal proc for COMSIG_BODYPART_CHECKED_FOR_INJURY. Our bodyparts look a lot more wounded than they actually are.
on_bodypart_hud_updateWhenever a bodypart we're tracking has their health hud updated, override it with our fake overlay
remove_bodypartRemove a bodypart from our list, unregistering all associated signals and handling the reference
+

Var Details

bodyparts + + + + +

+

Assoc list of [ref to bodyparts] to [severity]

del_timer_id + + + + +

+

Timer ID for when we're deleted

duration + + + + +

+

The duration of the hallucination

Proc Details

add_fake_limb +

+

Adds a fake limb to the effect.

+

specific_limb - optional, the specific limb to apply the effect to. If not passed, picks a random limb +seveirty - optional, the specific severity level to apply the effect. Clamped from 1 to 5. If not passed, picks a random number.

increment_fake_damage +

+

Increments the severity of the damage seen on all the limbs we are already tracking.

on_bodypart_checked +

+

Signal proc for COMSIG_BODYPART_CHECKED_FOR_INJURY. Our bodyparts look a lot more wounded than they actually are.

on_bodypart_hud_update +

+

Whenever a bodypart we're tracking has their health hud updated, override it with our fake overlay

remove_bodypart +

+

Remove a bodypart from our list, unregistering all associated signals and handling the reference

+ + + diff --git a/datum/hallucination/fake_item.html b/datum/hallucination/fake_item.html new file mode 100644 index 00000000000..7fbfa0c589c --- /dev/null +++ b/datum/hallucination/fake_item.html @@ -0,0 +1,43 @@ + + + + + + + /datum/hallucination/fake_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fake_item + + + +

+ +

Hallucinates a fake item in our hands, pockets, or belt or whatever.

+ +

Vars

template_item_typeWhat item should we use as a template, grabbing its icon and icon state and name?
valid_slotsA flag of slots this fake item can appear in.
+

Var Details

template_item_type + + + + +

+

What item should we use as a template, grabbing its icon and icon state and name?

valid_slots + + + + +

+

A flag of slots this fake item can appear in.

+ + + diff --git a/datum/hallucination/fake_sound.html b/datum/hallucination/fake_sound.html new file mode 100644 index 00000000000..7d66119b16a --- /dev/null +++ b/datum/hallucination/fake_sound.html @@ -0,0 +1,64 @@ + + + + + + + /datum/hallucination/fake_sound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fake_sound + + + +

+ +

Hallucination that plays a fake sound somewhere nearby.

+ + + + +

Vars

sound_typeA path to a sound, or a list of sounds, that plays when we trigger
sound_varyWhether the fake sound has vary or not
volumeVolume of the fake sound

Procs

play_fake_soundActually plays the fake sound.
queue_fake_soundUsed to queue additional, delayed fake sounds via a callback.
+

Var Details

sound_type + + + + +

+

A path to a sound, or a list of sounds, that plays when we trigger

sound_vary + + + + +

+

Whether the fake sound has vary or not

volume + + + + +

+

Volume of the fake sound

Proc Details

play_fake_sound +

+

Actually plays the fake sound.

queue_fake_sound +

+

Used to queue additional, delayed fake sounds via a callback.

+ + + diff --git a/datum/hallucination/fake_sound/normal/mech.html b/datum/hallucination/fake_sound/normal/mech.html new file mode 100644 index 00000000000..88a545bf511 --- /dev/null +++ b/datum/hallucination/fake_sound/normal/mech.html @@ -0,0 +1,50 @@ + + + + + + + /datum/hallucination/fake_sound/normal/mech - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mech + + + +

+ + + + +

Vars

mech_dirWhat dir is the mech walking?
mech_sourceThe turf the mech started walking from.
steps_leftHow many steps are left in the walk?
+

Var Details

mech_dir + + + + +

+

What dir is the mech walking?

mech_source + + + + +

+

The turf the mech started walking from.

steps_left + + + + +

+

How many steps are left in the walk?

+ + + diff --git a/datum/hallucination/fake_sound/weird.html b/datum/hallucination/fake_sound/weird.html new file mode 100644 index 00000000000..c8cbe85b830 --- /dev/null +++ b/datum/hallucination/fake_sound/weird.html @@ -0,0 +1,36 @@ + + + + + + + /datum/hallucination/fake_sound/weird - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

weird + + + +

+ + +

Vars

no_sourceif FALSE, we will pass "null" in as the turf source, meaning the sound will just play without direction / etc.
+

Var Details

no_source + + + + +

+

if FALSE, we will pass "null" in as the turf source, meaning the sound will just play without direction / etc.

+ + + diff --git a/datum/hallucination/fire.html b/datum/hallucination/fire.html new file mode 100644 index 00000000000..79d503a71fb --- /dev/null +++ b/datum/hallucination/fire.html @@ -0,0 +1,99 @@ + + + + + + + /datum/hallucination/fire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fire + + + +

+ + + + + + + + + + + +

Vars

activeAre we currently burning our mob?
fire_clearingAre we currently fake-clearing our hallucinated fire?
fire_iconWhat icon file to use for our hallucinator
fire_icon_stateWhat icon state to use for our hallucinator
fire_overlayOur fire overlay we generate
increasing_stagesAre the stages going up or down?
next_actionWhen should we do our next action of the hallucination?
stageWhat stare of fire are we in?
time_spentHow long have we spent on fire?
times_to_lower_staminaHow may times do we apply stamina damage to our mob?
+

Var Details

active + + + + +

+

Are we currently burning our mob?

fire_clearing + + + + +

+

Are we currently fake-clearing our hallucinated fire?

fire_icon + + + + +

+

What icon file to use for our hallucinator

fire_icon_state + + + + +

+

What icon state to use for our hallucinator

fire_overlay + + + + +

+

Our fire overlay we generate

increasing_stages + + + + +

+

Are the stages going up or down?

next_action + + + + +

+

When should we do our next action of the hallucination?

stage + + + + +

+

What stare of fire are we in?

time_spent + + + + +

+

How long have we spent on fire?

times_to_lower_stamina + + + + +

+

How may times do we apply stamina damage to our mob?

+ + + diff --git a/datum/hallucination/hazard.html b/datum/hallucination/hazard.html new file mode 100644 index 00000000000..0974bb7b3d1 --- /dev/null +++ b/datum/hallucination/hazard.html @@ -0,0 +1,36 @@ + + + + + + + /datum/hallucination/hazard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hazard + + + +

+ +

Hallucinations that create a hazard somewhere nearby that actually has a danger associated.

+

Vars

hazard_typeThe type of effect we create
+

Var Details

hazard_type + + + + +

+

The type of effect we create

+ + + diff --git a/datum/hallucination/ice.html b/datum/hallucination/ice.html new file mode 100644 index 00000000000..99e1a0e4d4b --- /dev/null +++ b/datum/hallucination/ice.html @@ -0,0 +1,64 @@ + + + + + + + /datum/hallucination/ice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ice + + + +

+ +

Causes the hallucinator to believe themselves frozen in ice. Man am I glad he's frozen in there etc etc

+ + + + +

Vars

ice_durationHow long will we be frozen today
ice_iconWhat icon file to use for our hallucinator
ice_icon_stateWhat icon state to use for our hallucinator
ice_overlayOur ice overlay we generate
play_ice_soundWill we play the ice freeze sound?
+

Var Details

ice_duration + + + + +

+

How long will we be frozen today

ice_icon + + + + +

+

What icon file to use for our hallucinator

ice_icon_state + + + + +

+

What icon state to use for our hallucinator

ice_overlay + + + + +

+

Our ice overlay we generate

play_ice_sound + + + + +

+

Will we play the ice freeze sound?

+ + + diff --git a/datum/hallucination/nearby_fake_item.html b/datum/hallucination/nearby_fake_item.html new file mode 100644 index 00000000000..df771b58f4c --- /dev/null +++ b/datum/hallucination/nearby_fake_item.html @@ -0,0 +1,71 @@ + + + + + + + /datum/hallucination/nearby_fake_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nearby_fake_item + + + +

+ +

A hallucination that delivers the illusion that someone nearby has pulled out a weapon or item.

+ + + + + +

Vars

generated_imageThe image we actually generate
image_icon_stateThe icon state of the files to make the image from
left_hand_fileThe icon file to draw from for left hand icons
right_hand_fileThe icon file to draw from for right hand icons

Procs

generate_fake_imageGenerates the image with the given file on the passed mob.
remove_imageRemove the image when all's said and done.
+

Var Details

generated_image + + + + +

+

The image we actually generate

image_icon_state + + + + +

+

The icon state of the files to make the image from

left_hand_file + + + + +

+

The icon file to draw from for left hand icons

right_hand_file + + + + +

+

The icon file to draw from for right hand icons

Proc Details

generate_fake_image +

+

Generates the image with the given file on the passed mob.

remove_image +

+

Remove the image when all's said and done.

+ + + diff --git a/datum/hallucination/oh_yeah.html b/datum/hallucination/oh_yeah.html new file mode 100644 index 00000000000..8fcc33610cc --- /dev/null +++ b/datum/hallucination/oh_yeah.html @@ -0,0 +1,64 @@ + + + + + + + /datum/hallucination/oh_yeah - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

oh_yeah + + + +

+ +

Sends a fake bubblegum charging through a nearby wall to our target.

+ + + + +

Vars

fake_broken_wallAn image overlayed to the wall bubblegum comes out of, to look destroyed.
fake_runeAn image put where bubblegum is expected to land, to mimic his charge "rune" icon.
hallucination_linesif haunt_them is TRUE, they will also be shown one of these lines when the hallucination occurs
haunt_themif TRUE, we will also send one of the hallucination lines when we start.

Procs

charge_loopRecursive function that operates as a "fake charge" of our effect towards the target turf.
+

Var Details

fake_broken_wall + + + + +

+

An image overlayed to the wall bubblegum comes out of, to look destroyed.

fake_rune + + + + +

+

An image put where bubblegum is expected to land, to mimic his charge "rune" icon.

hallucination_lines + + + + +

+

if haunt_them is TRUE, they will also be shown one of these lines when the hallucination occurs

haunt_them + + + + +

+

if TRUE, we will also send one of the hallucination lines when we start.

Proc Details

charge_loop +

+

Recursive function that operates as a "fake charge" of our effect towards the target turf.

+ + + diff --git a/datum/hallucination/screwy_hud.html b/datum/hallucination/screwy_hud.html new file mode 100644 index 00000000000..f450618d16c --- /dev/null +++ b/datum/hallucination/screwy_hud.html @@ -0,0 +1,36 @@ + + + + + + + /datum/hallucination/screwy_hud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

screwy_hud + + + +

+ +

Screwyhud, makes the user's health bar hud wonky

+

Vars

screwy_hud_typeThe type of hud we give to the hallucinator
+

Var Details

screwy_hud_type + + + + +

+

The type of hud we give to the hallucinator

+ + + diff --git a/datum/hallucination/station_message/heretic.html b/datum/hallucination/station_message/heretic.html new file mode 100644 index 00000000000..a70bc7765a2 --- /dev/null +++ b/datum/hallucination/station_message/heretic.html @@ -0,0 +1,38 @@ + + + + + + + /datum/hallucination/station_message/heretic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heretic + + + +

+ + +

Vars

ascension_bodiesThis is gross and will probably easily be outdated in some time but c'est la vie. +Maybe if someone datumizes heretic paths or something this can be improved
+

Var Details

ascension_bodies + + + + +

+

This is gross and will probably easily be outdated in some time but c'est la vie. +Maybe if someone datumizes heretic paths or something this can be improved

+ + + diff --git a/datum/hallucination/xeno_attack.html b/datum/hallucination/xeno_attack.html new file mode 100644 index 00000000000..ff212aee8fe --- /dev/null +++ b/datum/hallucination/xeno_attack.html @@ -0,0 +1,56 @@ + + + + + + + /datum/hallucination/xeno_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

xeno_attack + + + +

+ +

Xeno crawls from nearby vent, jumps at you, and goes back in.

+ + + +

Procs

begin_crawlingMimics ventcrawling into the vent.
disappearDisappears into the vent, ending the hallucination.
leap_at_targetLeaps from the vent to the hallucinator.
leap_back_to_pumpLeaps from the hallucinator back to the vent.

Proc Details

begin_crawling +

+

Mimics ventcrawling into the vent.

disappear +

+

Disappears into the vent, ending the hallucination.

leap_at_target +

+

Leaps from the vent to the hallucinator.

leap_back_to_pump +

+

Leaps from the hallucinator back to the vent.

+ + + diff --git a/datum/heretic_knowledge.html b/datum/heretic_knowledge.html new file mode 100644 index 00000000000..c94c641723e --- /dev/null +++ b/datum/heretic_knowledge.html @@ -0,0 +1,247 @@ + + + + + + + /datum/heretic_knowledge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Heretic Knowledge + + + +

+ +

The datums that allow heretics to progress and learn new spells and rituals.

+

Heretic Knowledge datums are not singletons - they are instantiated as they +are given to heretics, and deleted if the heretic antagonist is removed.

+ + + + + + + + + + + + + + + + + + + + +

Vars

abstract_parent_typeThe abstract parent type of the knowledge, used in determine mutual exclusivity in some cases
banned_atom_typesIf set, required_atoms checks for these exact types and doesn't allow them to be ingredients.
banned_knowledgeWhat knowledge is incompatible with this. Knowledge in this list cannot be researched with this current knowledge.
costCost of knowledge in knowledge points
descDescription of the knowledge, shown to the heretic. Describes what it unlocks / does.
gain_textWhat's shown to the heretic when the knowledge is aquired
mutually_exclusiveIf TRUE, populates the banned_knowledge list of every other subtype of this knowledge's abstract_parent_type
nameName of the knowledge, shown to the heretic.
next_knowledgeThe knowledge this unlocks next after learning.
priorityThe priority of the knowledge. Higher priority knowledge appear higher in the ritual list. +Number itself is completely arbitrary. Does not need to be set for non-ritual knowledge.
required_atomsAssoc list of [typepaths we need] to [amount needed]. +If set, this knowledge allows the heretic to do a ritual on a transmutation rune with the components set. +If one of the items in the list is a list, it's treated as 'any of these items will work'
result_atomsPaired with above. If set, the resulting spawned atoms upon ritual completion.
routeWhat path is this on. If set to "null", assumed to be unreachable (or abstract).

Procs

can_be_invokedDetermines if a heretic can actually attempt to invoke the knowledge as a ritual. +By default, we can only invoke knowledge with rituals associated.
cleanup_atomsCalled after on_finished_recipe returns TRUE +and a ritual was successfully completed.
on_finished_recipeCalled whenever the knowledge's associated ritual is completed successfully.
on_gainCalled when the knowledge is applied to a mob. +This can be called multiple times per heretic, +in the case of bodyswap shenanigans.
on_loseCalled when the knowledge is removed from a mob, +either due to a heretic being de-heretic'd or bodyswap memery.
on_researchCalled when the knowledge is first researched. +This is only ever called once per heretic.
parse_required_itemParses specific items into a more reaadble form. +Can be overriden by knoweldge subtypes.
recipe_snowflake_checkSpecial check for rituals. +Called before any of the required atoms are checked.
+

Var Details

abstract_parent_type + + + + +

+

The abstract parent type of the knowledge, used in determine mutual exclusivity in some cases

banned_atom_types + + + + +

+

If set, required_atoms checks for these exact types and doesn't allow them to be ingredients.

banned_knowledge + + + + +

+

What knowledge is incompatible with this. Knowledge in this list cannot be researched with this current knowledge.

cost + + + + +

+

Cost of knowledge in knowledge points

desc + + + + +

+

Description of the knowledge, shown to the heretic. Describes what it unlocks / does.

gain_text + + + + +

+

What's shown to the heretic when the knowledge is aquired

mutually_exclusive + + + + +

+

If TRUE, populates the banned_knowledge list of every other subtype of this knowledge's abstract_parent_type

name + + + + +

+

Name of the knowledge, shown to the heretic.

next_knowledge + + + + +

+

The knowledge this unlocks next after learning.

priority + + + + +

+

The priority of the knowledge. Higher priority knowledge appear higher in the ritual list. +Number itself is completely arbitrary. Does not need to be set for non-ritual knowledge.

required_atoms + + + + +

+

Assoc list of [typepaths we need] to [amount needed]. +If set, this knowledge allows the heretic to do a ritual on a transmutation rune with the components set. +If one of the items in the list is a list, it's treated as 'any of these items will work'

result_atoms + + + + +

+

Paired with above. If set, the resulting spawned atoms upon ritual completion.

route + + + + +

+

What path is this on. If set to "null", assumed to be unreachable (or abstract).

Proc Details

can_be_invoked +

+

Determines if a heretic can actually attempt to invoke the knowledge as a ritual. +By default, we can only invoke knowledge with rituals associated.

+

Return TRUE to have the ritual show up in the rituals list, FALSE otherwise.

cleanup_atoms +

+

Called after on_finished_recipe returns TRUE +and a ritual was successfully completed.

+

Goes through and cleans up (deletes) +all atoms in the selected_atoms list.

+

Remove atoms from the selected_atoms +(either in this proc or in on_finished_recipe) +to NOT have certain atoms deleted on cleanup.

+

Arguments

+

on_finished_recipe +

+

Called whenever the knowledge's associated ritual is completed successfully.

+

Creates atoms from types in result_atoms. +Override this if you want something else to happen. +This CAN sleep, such as for summoning rituals which poll for ghosts.

+

Arguments

+ +

Returns: TRUE, if the ritual should cleanup afterwards, or FALSE, to avoid calling cleanup after.

on_gain +

+

Called when the knowledge is applied to a mob. +This can be called multiple times per heretic, +in the case of bodyswap shenanigans.

+

Arguments

+

on_lose +

+

Called when the knowledge is removed from a mob, +either due to a heretic being de-heretic'd or bodyswap memery.

+

Arguments

+

on_research +

+

Called when the knowledge is first researched. +This is only ever called once per heretic.

+

Arguments

+

parse_required_item +

+

Parses specific items into a more reaadble form. +Can be overriden by knoweldge subtypes.

recipe_snowflake_check +

+

Special check for rituals. +Called before any of the required atoms are checked.

+

If you are adding a more complex summoning, +or something that requires a special check +that parses through all the atoms, +you should override this.

+

Arguments

+ +

Returns: TRUE, if the ritual will continue, or FALSE, if the ritual is skipped / cancelled

+ + + diff --git a/datum/heretic_knowledge/blade_dance.html b/datum/heretic_knowledge/blade_dance.html new file mode 100644 index 00000000000..515cfa23ee0 --- /dev/null +++ b/datum/heretic_knowledge/blade_dance.html @@ -0,0 +1,38 @@ + + + + + + + /datum/heretic_knowledge/blade_dance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blade_dance + + + +

+ + +

Vars

riposte_readyWhether the counter-attack is ready or not. +Used instead of cooldowns, so we can give feedback when it's ready again
+

Var Details

riposte_ready + + + + +

+

Whether the counter-attack is ready or not. +Used instead of cooldowns, so we can give feedback when it's ready again

+ + + diff --git a/datum/heretic_knowledge/blade_upgrade.html b/datum/heretic_knowledge/blade_upgrade.html new file mode 100644 index 00000000000..142d7865ca4 --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade.html @@ -0,0 +1,64 @@ + + + + + + + /datum/heretic_knowledge/blade_upgrade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blade_upgrade + + + +

+ +

A knowledge subtype for heretic knowledge that +upgrades their sickly blade, either on melee or range.

+

A heretic can only learn one /blade_upgrade type knowledge.

+ + + +

Procs

do_melee_effectsOverridable proc that invokes special effects +whenever the heretic attacks someone in melee with their heretic blade.
do_ranged_effectsOverridable proc that invokes special effects +whenever the heretic clicks on someone at range with their heretic blade.
on_eldritch_bladeSignal proc for COMSIG_HERETIC_BLADE_ATTACK.
on_ranged_eldritch_bladeSignal proc for COMSIG_HERETIC_RANGED_BLADE_ATTACK.

Proc Details

do_melee_effects +

+

Overridable proc that invokes special effects +whenever the heretic attacks someone in melee with their heretic blade.

do_ranged_effects +

+

Overridable proc that invokes special effects +whenever the heretic clicks on someone at range with their heretic blade.

on_eldritch_blade +

+

Signal proc for COMSIG_HERETIC_BLADE_ATTACK.

+

Apply any melee effects from hitting someone with our blade.

on_ranged_eldritch_blade +

+

Signal proc for COMSIG_HERETIC_RANGED_BLADE_ATTACK.

+

Apply any ranged effects from hitting someone with our blade.

+ + + diff --git a/datum/heretic_knowledge/blade_upgrade/blade.html b/datum/heretic_knowledge/blade_upgrade/blade.html new file mode 100644 index 00000000000..a4127a244ed --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade/blade.html @@ -0,0 +1,43 @@ + + + + + + + /datum/heretic_knowledge/blade_upgrade/blade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blade + + + +

+ + + +

Vars

last_weapon_forceHow much force was the last weapon we offhanded with? If it's different, we need to re-calculate the decrement
offand_force_decrementHow much force do we apply to the offhand?
+

Var Details

last_weapon_force + + + + +

+

How much force was the last weapon we offhanded with? If it's different, we need to re-calculate the decrement

offand_force_decrement + + + + +

+

How much force do we apply to the offhand?

+ + + diff --git a/datum/heretic_knowledge/blade_upgrade/cosmic.html b/datum/heretic_knowledge/blade_upgrade/cosmic.html new file mode 100644 index 00000000000..95d2295df5a --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade/cosmic.html @@ -0,0 +1,99 @@ + + + + + + + /datum/heretic_knowledge/blade_upgrade/cosmic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cosmic + + + +

+ + + + + + + + + + + +

Vars

combo_counterThe hits we have on a mob with a mind.
combo_durationThe active duration of the combo.
combo_duration_amountThe duration of a combo when it starts.
combo_timerWhen this timer completes we reset our combo.
increase_amountThe amount the combo duration increases.
max_combo_durationThe maximum duration of the combo.
second_targetStorage for the second target.
third_targetStorage for the third target.

Procs

increase_combo_durationIncreases the combo duration.
reset_comboResets the combo.
+

Var Details

combo_counter + + + + +

+

The hits we have on a mob with a mind.

combo_duration + + + + +

+

The active duration of the combo.

combo_duration_amount + + + + +

+

The duration of a combo when it starts.

combo_timer + + + + +

+

When this timer completes we reset our combo.

increase_amount + + + + +

+

The amount the combo duration increases.

max_combo_duration + + + + +

+

The maximum duration of the combo.

second_target + + + + +

+

Storage for the second target.

third_target + + + + +

+

Storage for the third target.

Proc Details

increase_combo_duration +

+

Increases the combo duration.

reset_combo +

+

Resets the combo.

+ + + diff --git a/datum/heretic_knowledge/blade_upgrade/flesh.html b/datum/heretic_knowledge/blade_upgrade/flesh.html new file mode 100644 index 00000000000..d9dcc975c89 --- /dev/null +++ b/datum/heretic_knowledge/blade_upgrade/flesh.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/blade_upgrade/flesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flesh + + + +

+ + +

Vars

wound_typeWhat type of wound do we apply on hit
+

Var Details

wound_type + + + + +

+

What type of wound do we apply on hit

+ + + diff --git a/datum/heretic_knowledge/cosmic_grasp.html b/datum/heretic_knowledge/cosmic_grasp.html new file mode 100644 index 00000000000..d8a8b76391f --- /dev/null +++ b/datum/heretic_knowledge/cosmic_grasp.html @@ -0,0 +1,35 @@ + + + + + + + /datum/heretic_knowledge/cosmic_grasp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cosmic_grasp + + + +

+ + +

Procs

on_mansus_graspAplies the effect of the mansus grasp when it hits a target.

Proc Details

on_mansus_grasp +

+

Aplies the effect of the mansus grasp when it hits a target.

+ + + diff --git a/datum/heretic_knowledge/curse.html b/datum/heretic_knowledge/curse.html new file mode 100644 index 00000000000..aae69e2106a --- /dev/null +++ b/datum/heretic_knowledge/curse.html @@ -0,0 +1,85 @@ + + + + + + + /datum/heretic_knowledge/curse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

curse + + + +

+ +

A knowledge subtype lets the heretic curse someone with a ritual.

+ + + + + + + +

Vars

blood_samplesA list of all the blood samples that were found on our atoms, in our last go at the ritual
curse_colorWhat color do we outline cursed folk with?
durationThe duration of the curse
duration_modifierThe duration of the curse on people which have a fingerprint or blood sample present
fingerprintsA list of all the fingerprints that were found on our atoms, in our last go at the ritual
max_rangeHow far can we curse people?

Procs

curseCalls a curse onto [chosen_mob].
uncurseRemoves a curse from [chosen_mob]. Used in timers / callbacks.
+

Var Details

blood_samples + + + + +

+

A list of all the blood samples that were found on our atoms, in our last go at the ritual

curse_color + + + + +

+

What color do we outline cursed folk with?

duration + + + + +

+

The duration of the curse

duration_modifier + + + + +

+

The duration of the curse on people which have a fingerprint or blood sample present

fingerprints + + + + +

+

A list of all the fingerprints that were found on our atoms, in our last go at the ritual

max_range + + + + +

+

How far can we curse people?

Proc Details

curse +

+

Calls a curse onto [chosen_mob].

uncurse +

+

Removes a curse from [chosen_mob]. Used in timers / callbacks.

+ + + diff --git a/datum/heretic_knowledge/duel_stance.html b/datum/heretic_knowledge/duel_stance.html new file mode 100644 index 00000000000..b2f0de12b41 --- /dev/null +++ b/datum/heretic_knowledge/duel_stance.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/duel_stance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

duel_stance + + + +

+ + +

Vars

in_duelist_stanceWhether we're currently in duelist stance, gaining certain buffs (low health)
+

Var Details

in_duelist_stance + + + + +

+

Whether we're currently in duelist stance, gaining certain buffs (low health)

+ + + diff --git a/datum/heretic_knowledge/hunt_and_sacrifice.html b/datum/heretic_knowledge/hunt_and_sacrifice.html new file mode 100644 index 00000000000..761b8e876e4 --- /dev/null +++ b/datum/heretic_knowledge/hunt_and_sacrifice.html @@ -0,0 +1,194 @@ + + + + + + + /datum/heretic_knowledge/hunt_and_sacrifice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hunt_and_sacrifice + + + +

+ +

Allows the heretic to sacrifice living heart targets.

+ + + + + + + + + + + + + + + + + +

Vars

heretic_level_generatedWhether we've generated a heretic sacrifice z-level yet, from any heretic.
heretic_mindA weakref to the mind of our heretic.
num_targets_to_generateHow many targets do we generate?
return_timersAn assoc list of [ref] to [timers] - a list of all the timers of people in the shadow realm currently
target_blacklistLazylist of minds that we won't pick as targets.

Procs

after_helgrasp_endsThis proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].)
after_return_dead_targetThis proc is called from [proc/return_target] if the target dies in the shadow realm.)
after_return_live_targetThis proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.)
after_target_sleepsThis proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep), shortly after the sacrifice occurs.
after_target_wakesThis proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.)
begin_sacrificeThis proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].)
disembowel_target"Fuck you" proc that gets called if the chain is interrupted at some points. +Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.
generate_heretic_z_levelGenerate the sacrifice z-level.
obtain_targetsObtain a list of targets for the user to hunt down and sacrifice. +Tries to get four targets (minds) with living human currents.
on_target_deathIf they die in the shadow realm, they lost. Send them back.
on_target_escapeIf they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.
return_targetThis proc is called from [proc/begin_sacrifice] if the target survived the shadow realm), or COMSIG_LIVING_DEATH if they don't.
sacrifice_processBegin the process of sacrificing the target.
+

Var Details

heretic_level_generated + + + + +

+

Whether we've generated a heretic sacrifice z-level yet, from any heretic.

heretic_mind + + + + +

+

A weakref to the mind of our heretic.

num_targets_to_generate + + + + +

+

How many targets do we generate?

return_timers + + + + +

+

An assoc list of [ref] to [timers] - a list of all the timers of people in the shadow realm currently

target_blacklist + + + + +

+

Lazylist of minds that we won't pick as targets.

Proc Details

after_helgrasp_ends +

+

This proc is called from [proc/after_target_wakes] after the helgrasp runs out in the [sac_target].)

+

It gives them a message letting them know it's getting easier and they're almost free.

after_return_dead_target +

+

This proc is called from [proc/return_target] if the target dies in the shadow realm.)

+

After teleporting the target back to the station (dead), +it spawns a special red broken illusion on their spot, for style.

after_return_live_target +

+

This proc is called from [proc/return_target] if the [sac_target] survives the shadow realm.)

+

Gives the sacrifice target some after effects upon ariving back to reality.

after_target_sleeps +

+

This proc is called from [proc/begin_sacrifice] after the [sac_target] falls asleep), shortly after the sacrifice occurs.

+

Teleports the [sac_target] to the heretic room, asleep. +If it fails to teleport, they will be disemboweled and stop the chain.

+

Arguments

+

after_target_wakes +

+

This proc is called from [proc/after_target_sleeps] when the [sac_target] should be waking up.)

+

Begins the survival minigame, featuring the sacrifice targets. +Gives them Helgrasp, throwing cursed hands towards them that they must dodge to survive. +Also gives them a status effect, Unholy Determination, to help them in this endeavor.

+

Then applies some miscellaneous effects.

begin_sacrifice +

+

This proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].)

+

Sets off a chain that sends the person sacrificed to the shadow realm to dodge hands to fight for survival.

+

Arguments

+

disembowel_target +

+

"Fuck you" proc that gets called if the chain is interrupted at some points. +Disembowels the [sac_target] and brutilizes their body. Throws some gibs around for good measure.

generate_heretic_z_level +

+

Generate the sacrifice z-level.

obtain_targets +

+

Obtain a list of targets for the user to hunt down and sacrifice. +Tries to get four targets (minds) with living human currents.

+

Returns FALSE if no targets are found, TRUE if the targets list was populated.

on_target_death +

+

If they die in the shadow realm, they lost. Send them back.

on_target_escape +

+

If they somehow cheese the shadow realm by teleporting out, they are disemboweled and killed.

return_target +

+

This proc is called from [proc/begin_sacrifice] if the target survived the shadow realm), or COMSIG_LIVING_DEATH if they don't.

+

Teleports [sac_target] back to a random safe turf on the station (or observer spawn if it fails to find a safe turf). +Also clears their status effects, unregisters any signals associated with the shadow realm, and sends a message +to the heretic who did the sacrificed about whether they survived, and where they ended up.

+

Arguments

+

sacrifice_process +

+

Begin the process of sacrificing the target.

+

Arguments

+
+ + + diff --git a/datum/heretic_knowledge/knowledge_ritual.html b/datum/heretic_knowledge/knowledge_ritual.html new file mode 100644 index 00000000000..bd845ee0217 --- /dev/null +++ b/datum/heretic_knowledge/knowledge_ritual.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/knowledge_ritual - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

knowledge_ritual + + + +

+ +

A subtype of knowledge that generates random ritual components.

+

Vars

was_completedWhether we've done the ritual. Only doable once.
+

Var Details

was_completed + + + + +

+

Whether we've done the ritual. Only doable once.

+ + + diff --git a/datum/heretic_knowledge/limited_amount.html b/datum/heretic_knowledge/limited_amount.html new file mode 100644 index 00000000000..bfd2e94a1f0 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount.html @@ -0,0 +1,45 @@ + + + + + + + /datum/heretic_knowledge/limited_amount - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

limited_amount + + + +

+ +

A knowledge subtype for knowledge that can only +have a limited amount of it's resulting atoms +created at once.

+ +

Vars

created_itemsA list of weakrefs to all items we've created.
limitThe limit to how many items we can create at once.
+

Var Details

created_items + + + + +

+

A list of weakrefs to all items we've created.

limit + + + + +

+

The limit to how many items we can create at once.

+ + + diff --git a/datum/heretic_knowledge/limited_amount/flesh_ghoul.html b/datum/heretic_knowledge/limited_amount/flesh_ghoul.html new file mode 100644 index 00000000000..e69d4e1e5f4 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/flesh_ghoul.html @@ -0,0 +1,49 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/flesh_ghoul - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

flesh_ghoul + + + +

+ + + + +

Procs

apply_to_ghoulCallback for the ghoul status effect - Tracks all of our ghouls and applies effects
make_ghoulMakes [victim] into a ghoul.
remove_from_ghoulCallback for the ghoul status effect - Tracks all of our ghouls and applies effects

Proc Details

apply_to_ghoul +

+

Callback for the ghoul status effect - Tracks all of our ghouls and applies effects

make_ghoul +

+

Makes [victim] into a ghoul.

remove_from_ghoul +

+

Callback for the ghoul status effect - Tracks all of our ghouls and applies effects

+ + + diff --git a/datum/heretic_knowledge/limited_amount/flesh_grasp.html b/datum/heretic_knowledge/limited_amount/flesh_grasp.html new file mode 100644 index 00000000000..3e86ea0fe68 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/flesh_grasp.html @@ -0,0 +1,49 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/flesh_grasp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

flesh_grasp + + + +

+ + + + +

Procs

apply_to_ghoulCallback for the ghoul status effect - Tracking all of our ghouls
make_ghoulMakes [victim] into a ghoul.
remove_from_ghoulCallback for the ghoul status effect - Tracking all of our ghouls

Proc Details

apply_to_ghoul +

+

Callback for the ghoul status effect - Tracking all of our ghouls

make_ghoul +

+

Makes [victim] into a ghoul.

remove_from_ghoul +

+

Callback for the ghoul status effect - Tracking all of our ghouls

+ + + diff --git a/datum/heretic_knowledge/limited_amount/risen_corpse.html b/datum/heretic_knowledge/limited_amount/risen_corpse.html new file mode 100644 index 00000000000..daa7c2b0bc5 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/risen_corpse.html @@ -0,0 +1,49 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/risen_corpse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

risen_corpse + + + +

+ + + + +

Procs

apply_to_risenCallback for the ghoul status effect - what effects are applied to the ghoul.
make_risenMake [victim] into a shattered risen ghoul.
remove_from_risenCallback for the ghoul status effect - cleaning up effects after the ghoul status is removed.

Proc Details

apply_to_risen +

+

Callback for the ghoul status effect - what effects are applied to the ghoul.

make_risen +

+

Make [victim] into a shattered risen ghoul.

remove_from_risen +

+

Callback for the ghoul status effect - cleaning up effects after the ghoul status is removed.

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting.html b/datum/heretic_knowledge/limited_amount/starting.html new file mode 100644 index 00000000000..b026ff015df --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting.html @@ -0,0 +1,31 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

starting + + + +

+ +

A knowledge subtype for limited_amount knowledge +used for base knowledge (the ones that make blades)

+

A heretic can only learn one /starting type knowledge, +and their ascension depends on whichever they chose.

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_ash.html b/datum/heretic_knowledge/limited_amount/starting/base_ash.html new file mode 100644 index 00000000000..b3e0e88cd8e --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_ash.html @@ -0,0 +1,53 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_ash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of Ash. + + + +

+ +

Goes as follows:

+

Nightwatcher's Secret +Grasp of Ash +Ashen Passage

+
+

Sidepaths: +Scorching Shark +Ashen Eyes

+
+

Mark of Ash +Ritual of Knowledge +Fire Blast +Mask of Madness

+
+

Sidepaths: +Space Phase +Curse of Paralysis

+
+

Fiery Blade +Nightwatcher's Rebirth

+
+

Sidepaths: +Ashen Ritual +Eldritch Coin

+
+

Ashlord's Rite

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_blade.html b/datum/heretic_knowledge/limited_amount/starting/base_blade.html new file mode 100644 index 00000000000..7c2d1f96194 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_blade.html @@ -0,0 +1,57 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_blade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of Blades. Stab stab. + + + +

+ +

Goes as follows:

+

The Cutting Edge +Grasp of the Blade +Dance of the Brand

+
+

Sidepaths: +Shattered Risen +Armorer's Ritual

+
+

Mark of the Blade +Ritual of Knowledge +Realignment

+
+

Sidepaths: +Lionhunter Rifle

+
+

Stance of the Scarred Duelist

+
+

Sidepaths: +Carving Knife +Mawed Crucible

+
+

Swift Blades +Furious Steel

+
+

Sidepaths: +Maid in the Mirror +Rust Charge

+
+

Maelstrom of Silver

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_cosmic.html b/datum/heretic_knowledge/limited_amount/starting/base_cosmic.html new file mode 100644 index 00000000000..b2da348f378 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_cosmic.html @@ -0,0 +1,53 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_cosmic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of Cosmos. + + + +

+ +

Goes as follows:

+

Eternal Gate +Grasp of Cosmos +Cosmic Runes

+
+

Sidepaths: +Priest's Ritual +Scorching Shark

+
+

Mark of Cosmos +Ritual of Knowledge +Star Touch +Star Blast

+
+

Sidepaths: +Curse of Corrosion +Space Phase

+
+

Cosmic Blade +Cosmic Expansion

+
+

Sidepaths: +Eldritch Coin +Rusted Ritual

+
+

Creators's Gift

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_flesh.html b/datum/heretic_knowledge/limited_amount/starting/base_flesh.html new file mode 100644 index 00000000000..ebd1f4a60f7 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_flesh.html @@ -0,0 +1,53 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_flesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of Flesh. + + + +

+ +

Goes as follows:

+

Principle of Hunger +Grasp of Flesh +Imperfect Ritual

+
+

Sidepaths: +Void Cloak +Ashen Eyes

+
+

Mark of Flesh +Ritual of Knowledge +Flesh Surgery +Raw Ritual

+
+

Sidepaths: +Blood Siphon +Curse of Paralysis

+
+

Bleeding Steel +Lonely Ritual

+
+

Sidepaths: +Ashen Ritual +Cleave

+
+

Priest's Final Hymn

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_knock.html b/datum/heretic_knowledge/limited_amount/starting/base_knock.html new file mode 100644 index 00000000000..267df73d268 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_knock.html @@ -0,0 +1,48 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_knock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of Lock. + + + +

+ +

Goes as follows:

+

A Steward's Secret +Grasp of Lock

+
+

Sidepaths: +Ashen Eyes +Codex Cicatrix +Key Keeper’s Burden

+
+

Concierge's Rite +Mark Of Lock +Ritual of Knowledge +Burglar's Finesse

+
+

Sidepaths: +Apetra Vulnera +Opening Blast

+
+

Opening Blade +Caretaker’s Last Refuge

+

Unlock the Labyrinth

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_rust.html b/datum/heretic_knowledge/limited_amount/starting/base_rust.html new file mode 100644 index 00000000000..e4fb7b91a31 --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_rust.html @@ -0,0 +1,57 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_rust - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of Rust. + + + +

+ +

Goes as follows:

+

Blacksmith's Tale +Grasp of Rust +Leeching Walk

+
+

Sidepaths: +Priest's Ritual +Armorer's Ritual

+
+

Mark of Rust +Ritual of Knowledge +Rust Construction

+
+

Sidepaths: +Lionhunter Rifle

+
+

Aggressive Spread

+
+

Sidepaths: +Curse of Corrosion +Mawed Crucible

+
+

Toxic Blade +Entropic Plume

+
+

Sidepaths: +Rusted Ritual +Rust Charge

+
+

Rustbringer's Oath

+ + + diff --git a/datum/heretic_knowledge/limited_amount/starting/base_void.html b/datum/heretic_knowledge/limited_amount/starting/base_void.html new file mode 100644 index 00000000000..f89bae5c82c --- /dev/null +++ b/datum/heretic_knowledge/limited_amount/starting/base_void.html @@ -0,0 +1,53 @@ + + + + + + + /datum/heretic_knowledge/limited_amount/starting/base_void - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

The path of VOID. + + + +

+ +

Goes as follows:

+

Glimmer of Winter +Grasp of Void +Aristocrat's Way

+
+

Sidepaths: +Void Cloak +Shattered Ritual

+
+

Mark of Void +Ritual of Knowledge +Cone of Cold +Void Phase

+
+

Sidepaths: +Carving Knife +Blood Siphon

+
+

Seeking blade +Void Pull

+
+

Sidepaths: +Cleave +Maid in the Mirror

+
+

Waltz at the End of Time

+ + + diff --git a/datum/heretic_knowledge/living_heart.html b/datum/heretic_knowledge/living_heart.html new file mode 100644 index 00000000000..d9417a101ee --- /dev/null +++ b/datum/heretic_knowledge/living_heart.html @@ -0,0 +1,45 @@ + + + + + + + /datum/heretic_knowledge/living_heart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

living_heart + + + +

+ +

The Living Heart heretic knowledge.

+

Gives the heretic a living heart. +Also includes a ritual to turn their heart into a living heart.

+ +

Vars

required_organ_typeThe typepath of the organ type required for our heart.

Procs

is_valid_heartChecks if the passed heart is a valid heart to become a living heart
+

Var Details

required_organ_type + + + + +

+

The typepath of the organ type required for our heart.

Proc Details

is_valid_heart +

+

Checks if the passed heart is a valid heart to become a living heart

+ + + diff --git a/datum/heretic_knowledge/mark.html b/datum/heretic_knowledge/mark.html new file mode 100644 index 00000000000..05dd3f99d31 --- /dev/null +++ b/datum/heretic_knowledge/mark.html @@ -0,0 +1,74 @@ + + + + + + + /datum/heretic_knowledge/mark - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mark + + + +

+ +

A knowledge subtype for heretic knowledge +that applies a mark on use.

+

A heretic can only learn one /mark type knowledge.

+ + + + +

Vars

mark_typeThe status effect typepath we apply on people on mansus grasp.

Procs

create_markCreates the mark status effect on our target. +This proc handles the instatiate and the application of the station effect, +and returns the /datum/status_effect instance that was made.
on_eldritch_bladeSignal proc for COMSIG_HERETIC_BLADE_ATTACK.
on_mansus_graspSignal proc for COMSIG_HERETIC_MANSUS_GRASP_ATTACK.
trigger_markHandles triggering the mark on the target.
+

Var Details

mark_type + + + + +

+

The status effect typepath we apply on people on mansus grasp.

Proc Details

create_mark +

+

Creates the mark status effect on our target. +This proc handles the instatiate and the application of the station effect, +and returns the /datum/status_effect instance that was made.

+

Can be overriden to set or pass in additional vars of the status effect.

on_eldritch_blade +

+

Signal proc for COMSIG_HERETIC_BLADE_ATTACK.

+

Whenever we attack someone with our blade, attempt to trigger any marks on them.

on_mansus_grasp +

+

Signal proc for COMSIG_HERETIC_MANSUS_GRASP_ATTACK.

+

Whenever we cast mansus grasp on someone, apply our mark.

trigger_mark +

+

Handles triggering the mark on the target.

+

If there is no mark, returns FALSE. Returns TRUE if a mark was triggered.

+ + + diff --git a/datum/heretic_knowledge/rifle_ammo.html b/datum/heretic_knowledge/rifle_ammo.html new file mode 100644 index 00000000000..043ca02fc17 --- /dev/null +++ b/datum/heretic_knowledge/rifle_ammo.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/rifle_ammo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rifle_ammo + + + +

+ + +

Vars

caliber_blacklistA list of calibers that the ritual will deny. Only ballistic calibers are allowed.
+

Var Details

caliber_blacklist + + + + +

+

A list of calibers that the ritual will deny. Only ballistic calibers are allowed.

+ + + diff --git a/datum/heretic_knowledge/rust_regen.html b/datum/heretic_knowledge/rust_regen.html new file mode 100644 index 00000000000..20c12de4bdd --- /dev/null +++ b/datum/heretic_knowledge/rust_regen.html @@ -0,0 +1,37 @@ + + + + + + + /datum/heretic_knowledge/rust_regen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rust_regen + + + +

+ + +

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE.

Proc Details

on_life +

+

Signal proc for COMSIG_LIVING_LIFE.

+

Gradually heals the heretic ([source]) on rust, +including baton knockdown and stamina damage.

+ + + diff --git a/datum/heretic_knowledge/spell.html b/datum/heretic_knowledge/spell.html new file mode 100644 index 00000000000..5a254b4c9b0 --- /dev/null +++ b/datum/heretic_knowledge/spell.html @@ -0,0 +1,43 @@ + + + + + + + /datum/heretic_knowledge/spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spell + + + +

+ +

A knowledge subtype that grants the heretic a certain spell.

+ +

Vars

created_spell_refThe spell we actually created.
spell_to_addSpell path we add to the heretic. Type-path.
+

Var Details

created_spell_ref + + + + +

+

The spell we actually created.

spell_to_add + + + + +

+

Spell path we add to the heretic. Type-path.

+ + + diff --git a/datum/heretic_knowledge/summon.html b/datum/heretic_knowledge/summon.html new file mode 100644 index 00000000000..dc7fb34fb2a --- /dev/null +++ b/datum/heretic_knowledge/summon.html @@ -0,0 +1,43 @@ + + + + + + + /datum/heretic_knowledge/summon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

summon + + + +

+ +

A knowledge subtype lets the heretic summon a monster with the ritual.

+ +

Vars

mob_to_summonTypepath of a mob to summon when we finish the recipe.
poll_ignore_defineDetermines what kind of monster ghosts will ignore from here on out. Defaults to POLL_IGNORE_HERETIC_MONSTER, but we define other types of monsters for more granularity.
+

Var Details

mob_to_summon + + + + +

+

Typepath of a mob to summon when we finish the recipe.

poll_ignore_define + + + + +

+

Determines what kind of monster ghosts will ignore from here on out. Defaults to POLL_IGNORE_HERETIC_MONSTER, but we define other types of monsters for more granularity.

+ + + diff --git a/datum/heretic_knowledge/ultimate.html b/datum/heretic_knowledge/ultimate.html new file mode 100644 index 00000000000..29f4ce362ae --- /dev/null +++ b/datum/heretic_knowledge/ultimate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/heretic_knowledge/ultimate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ultimate + + + +

+ +

The special final tier of knowledges that unlocks ASCENSION.

+

Procs

is_valid_sacrificeChecks if the passed human is a valid sacrifice for our ritual.

Proc Details

is_valid_sacrifice +

+

Checks if the passed human is a valid sacrifice for our ritual.

+ + + diff --git a/datum/heretic_knowledge/ultimate/ash_final.html b/datum/heretic_knowledge/ultimate/ash_final.html new file mode 100644 index 00000000000..5ecd8e8a383 --- /dev/null +++ b/datum/heretic_knowledge/ultimate/ash_final.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/ultimate/ash_final - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ash_final + + + +

+ + +

Vars

traits_to_applyA static list of all traits we apply on ascension.
+

Var Details

traits_to_apply + + + + +

+

A static list of all traits we apply on ascension.

+ + + diff --git a/datum/heretic_knowledge/ultimate/cosmic_final.html b/datum/heretic_knowledge/ultimate/cosmic_final.html new file mode 100644 index 00000000000..4e873d7f65a --- /dev/null +++ b/datum/heretic_knowledge/ultimate/cosmic_final.html @@ -0,0 +1,36 @@ + + + + + + + /datum/heretic_knowledge/ultimate/cosmic_final - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cosmic_final + + + +

+ + +

Vars

star_gazer_commandsA static list of command we can use with our mob.
+

Var Details

star_gazer_commands + + + + +

+

A static list of command we can use with our mob.

+ + + diff --git a/datum/heretic_knowledge/ultimate/rust_final.html b/datum/heretic_knowledge/ultimate/rust_final.html new file mode 100644 index 00000000000..c5268b3faaf --- /dev/null +++ b/datum/heretic_knowledge/ultimate/rust_final.html @@ -0,0 +1,66 @@ + + + + + + + /datum/heretic_knowledge/ultimate/rust_final - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rust_final + + + +

+ + + + + + +

Vars

conditional_immunitiesA static list of traits we give to the heretic when on rust.
immunities_activeIf TRUE, then immunities are currently active.
ritual_locationA typepath to an area that we must finish the ritual in.

Procs

on_lifeSignal proc for COMSIG_LIVING_LIFE.
on_moveSignal proc for COMSIG_MOVABLE_MOVED.
+

Var Details

conditional_immunities + + + + +

+

A static list of traits we give to the heretic when on rust.

immunities_active + + + + +

+

If TRUE, then immunities are currently active.

ritual_location + + + + +

+

A typepath to an area that we must finish the ritual in.

Proc Details

on_life +

+

Signal proc for COMSIG_LIVING_LIFE.

+

Gradually heals the heretic ([source]) on rust.

on_move +

+

Signal proc for COMSIG_MOVABLE_MOVED.

+

Gives our heretic ([source]) buffs if they stand on rust.

+ + + diff --git a/datum/heretic_knowledge/ultimate/void_final.html b/datum/heretic_knowledge/ultimate/void_final.html new file mode 100644 index 00000000000..12cdc16b627 --- /dev/null +++ b/datum/heretic_knowledge/ultimate/void_final.html @@ -0,0 +1,61 @@ + + + + + + + /datum/heretic_knowledge/ultimate/void_final - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

void_final + + + +

+ + + + + +

Vars

sound_loopsoundloop for the void theme
stormReference to the ongoing voidstrom that surrounds the heretic

Procs

on_deathSignal proc for COMSIG_LIVING_DEATH.
on_lifeSignal proc for COMSIG_LIVING_LIFE.
+

Var Details

sound_loop + + + + +

+

soundloop for the void theme

storm + + + + +

+

Reference to the ongoing voidstrom that surrounds the heretic

Proc Details

on_death +

+

Signal proc for COMSIG_LIVING_DEATH.

+

Stop the storm when the heretic passes away.

on_life +

+

Signal proc for COMSIG_LIVING_LIFE.

+

Any non-heretics nearby the heretic ([source]) +are constantly silenced and battered by the storm.

+

Also starts storms in any area that doesn't have one.

+ + + diff --git a/datum/hfr_fuel.html b/datum/hfr_fuel.html new file mode 100644 index 00000000000..76d4466378d --- /dev/null +++ b/datum/hfr_fuel.html @@ -0,0 +1,113 @@ + + + + + + + /datum/hfr_fuel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hfr_fuel + + + +

+ + + + + + + + + + + + + +

Vars

energy_concentration_multiplierMultiplier for the energy released (min 0.01)
fuel_consumption_multiplierMultiplier for the fuel consumption (min 0.01)
gas_production_multiplierMultiplier for the gas production (min 0.01)
idId for the mix
meltdown_flagsFlags to decide what behaviour the meltdown will have depending on the fuel mix used
nameThe gases that are going to be used as fuel ("GasX + GasY fuel")
negative_temperature_multiplierMultiplier for the minimum heat output of the HFR (min 0.01)
positive_temperature_multiplierMultiplier for the maximum heat output of the HFR (min 0.01)
primary_productsGases that gets produced directly in the internal gasmix
requirementsThese are the main fuels, only 2 gases that are the ones being consumed by the fusion reaction (eg. H2 and trit)
secondary_productsGases that gets produced in the moderator gasmix or directly ejected (must be 6 gases), the order indicate at what power level the gases are going to be made (from power level 1 to 6)
temperature_change_multiplierMax allowed temperature multiplier, scales the max temperature we can hit, see FUSION_MAXIMUM_TEMPERATURE (Maxed at 1, don't go getting any ideas)
+

Var Details

energy_concentration_multiplier + + + + +

+

Multiplier for the energy released (min 0.01)

fuel_consumption_multiplier + + + + +

+

Multiplier for the fuel consumption (min 0.01)

gas_production_multiplier + + + + +

+

Multiplier for the gas production (min 0.01)

id + + + + +

+

Id for the mix

meltdown_flags + + + + +

+

Flags to decide what behaviour the meltdown will have depending on the fuel mix used

name + + + + +

+

The gases that are going to be used as fuel ("GasX + GasY fuel")

negative_temperature_multiplier + + + + +

+

Multiplier for the minimum heat output of the HFR (min 0.01)

positive_temperature_multiplier + + + + +

+

Multiplier for the maximum heat output of the HFR (min 0.01)

primary_products + + + + +

+

Gases that gets produced directly in the internal gasmix

requirements + + + + +

+

These are the main fuels, only 2 gases that are the ones being consumed by the fusion reaction (eg. H2 and trit)

secondary_products + + + + +

+

Gases that gets produced in the moderator gasmix or directly ejected (must be 6 gases), the order indicate at what power level the gases are going to be made (from power level 1 to 6)

temperature_change_multiplier + + + + +

+

Max allowed temperature multiplier, scales the max temperature we can hit, see FUSION_MAXIMUM_TEMPERATURE (Maxed at 1, don't go getting any ideas)

+ + + diff --git a/datum/highlander_controller.html b/datum/highlander_controller.html new file mode 100644 index 00000000000..c6f8c8c2835 --- /dev/null +++ b/datum/highlander_controller.html @@ -0,0 +1,50 @@ + + + + + + + /datum/highlander_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

highlander_controller + + + +

+ +

The highlander controller handles the admin highlander mode, if enabled. +It is first created when "there can only be one" triggers it, and it can be referenced from GLOB.highlander_controller

+

Procs

new_highlanderTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

Proc Details

new_highlander +

+

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+
+ + + diff --git a/datum/holiday.html b/datum/holiday.html new file mode 100644 index 00000000000..562b6217835 --- /dev/null +++ b/datum/holiday.html @@ -0,0 +1,127 @@ + + + + + + + /datum/holiday - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

holiday + + + +

+ + + + + + + + + + + + + + + +

Vars

always_celebratefor christmas neverending, or testing. Forces a holiday to be celebrated.
begin_dayWhat day of begin_month does the holiday begin on?
begin_monthWhat month does the holiday begin on?
current_yearHeld variable to better calculate when certain holidays may fall on, like easter.
end_dayWhat day of end_month does the holiday end? Default of 0 means the holiday lasts a single.
end_monthWhat month does the holiday end on?
holiday_colorsColor scheme for this holiday
holiday_hatIf this is defined, drones/assistants without a default hat will spawn with this item in their head clothing slot.
holiday_patternThe default pattern of the holiday, if the requested pattern is null.
mail_holidayWhen this holiday is active, does this prevent mail from arriving to cargo? Try not to use this for longer holidays.
nameName of the holiday itself. Visible to players.
timezonesTimezones this holiday is celebrated in (defaults to three timezones spanning a 50 hour window covering all timezones)
year_offsetHow many years are you offsetting your calculations for begin_day and end_day on. Used for holidays like easter.

Procs

get_holiday_colorsProcs to return holiday themed colors for recoloring atoms
+

Var Details

always_celebrate + + + + +

+

for christmas neverending, or testing. Forces a holiday to be celebrated.

begin_day + + + + +

+

What day of begin_month does the holiday begin on?

begin_month + + + + +

+

What month does the holiday begin on?

current_year + + + + +

+

Held variable to better calculate when certain holidays may fall on, like easter.

end_day + + + + +

+

What day of end_month does the holiday end? Default of 0 means the holiday lasts a single.

end_month + + + + +

+

What month does the holiday end on?

holiday_colors + + + + +

+

Color scheme for this holiday

holiday_hat + + + + +

+

If this is defined, drones/assistants without a default hat will spawn with this item in their head clothing slot.

holiday_pattern + + + + +

+

The default pattern of the holiday, if the requested pattern is null.

mail_holiday + + + + +

+

When this holiday is active, does this prevent mail from arriving to cargo? Try not to use this for longer holidays.

name + + + + +

+

Name of the holiday itself. Visible to players.

timezones + + + + +

+

Timezones this holiday is celebrated in (defaults to three timezones spanning a 50 hour window covering all timezones)

year_offset + + + + +

+

How many years are you offsetting your calculations for begin_day and end_day on. Used for holidays like easter.

Proc Details

get_holiday_colors +

+

Procs to return holiday themed colors for recoloring atoms

+ + + diff --git a/datum/holiday/nth_week.html b/datum/holiday/nth_week.html new file mode 100644 index 00000000000..a95af6f435f --- /dev/null +++ b/datum/holiday/nth_week.html @@ -0,0 +1,57 @@ + + + + + + + /datum/holiday/nth_week - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nth_week + + + +

+ +

A holiday lasting one day only that falls on the nth weekday in a month i.e. 3rd Wednesday of February.

+ + + +

Vars

begin_weekNth weekday of type begin_weekday in begin_month to start on (1 to 5).
begin_weekdayWeekday of begin_week to start on.
end_weekNth weekday of type end_weekday in end_month to end on (1 to 5, defaults to begin_week).
end_weekdayWeekday of end_week to end on (defaults to begin_weekday).
+

Var Details

begin_week + + + + +

+

Nth weekday of type begin_weekday in begin_month to start on (1 to 5).

begin_weekday + + + + +

+

Weekday of begin_week to start on.

end_week + + + + +

+

Nth weekday of type end_weekday in end_month to end on (1 to 5, defaults to begin_week).

end_weekday + + + + +

+

Weekday of end_week to end on (defaults to begin_weekday).

+ + + diff --git a/datum/holocall.html b/datum/holocall.html new file mode 100644 index 00000000000..8292ae920b2 --- /dev/null +++ b/datum/holocall.html @@ -0,0 +1,92 @@ + + + + + + + /datum/holocall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

holocall + + + +

+ + + + + + + + + + +

Vars

calling_holopadthe holopad that sent the call to another holopad
connected_holopadthe one that answered the call (may be null)
dialed_holopadspopulated with all holopads that are either being dialed or have that have answered us, will be cleared out to just connected_holopad once answered
eyeuser's eye, once connected
hanguphangup action
head_callcalls from a head of staff autoconnect, if the receiving pad is not secure.
hologramuser's hologram, once connected
userthe one that called

Procs

AnswerAnswers a call made to answering_holopad which cannot be the calling holopad. Pads not in the call are ignored
+

Var Details

calling_holopad + + + + +

+

the holopad that sent the call to another holopad

connected_holopad + + + + +

+

the one that answered the call (may be null)

dialed_holopads + + + + +

+

populated with all holopads that are either being dialed or have that have answered us, will be cleared out to just connected_holopad once answered

eye + + + + +

+

user's eye, once connected

hangup + + + + +

+

hangup action

head_call + + + + +

+

calls from a head of staff autoconnect, if the receiving pad is not secure.

hologram + + + + +

+

user's hologram, once connected

user + + + + +

+

the one that called

Proc Details

Answer +

+

Answers a call made to answering_holopad which cannot be the calling holopad. Pads not in the call are ignored

+ + + diff --git a/datum/hook_and_move.html b/datum/hook_and_move.html new file mode 100644 index 00000000000..dde21116a1c --- /dev/null +++ b/datum/hook_and_move.html @@ -0,0 +1,118 @@ + + + + + + + /datum/hook_and_move - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hook_and_move + + + +

+ +

Lightweight datum that just handles moving a target for the hook. +For the love of God, do not use this outside this file.

+ + + + + + + + + + + +

Vars

destination_refWeakref of the destination that the victim is heading towards.
firer_refWeakref to the firer of the hook
firer_ref_stringString to the REF() of the dude that fired us so we can ensure we always cleanup our traits
knockdown_timeHow long we knockdown the victim for.
last_movementThe last time our movement fired.
prevent_movement_traitsList of traits that prevent the user from moving. More restrictive than attempting to fire the hook by design.
return_chainThe chain beam we currently own.
steps_per_tickHow many steps we force the victim to take per tick
victim_refWeakref to the victim we are dragging

Procs

attempt_movementAttempts to move the victim towards the destination. Returns TRUE if we do a successful movement, FALSE otherwise. +second_attempt is a boolean to prevent infinite recursion. +If this whole series of events wasn't reliant on SSfastprocess firing as fast as it does, it would have been more useful to make this a move loop datum. But, we need the speed.
begin_pullingUses fastprocessing to move our victim to the destination at a rather fast speed.
end_movementCancels processing and removes the trait from the victim.
+

Var Details

destination_ref + + + + +

+

Weakref of the destination that the victim is heading towards.

firer_ref + + + + +

+

Weakref to the firer of the hook

firer_ref_string + + + + +

+

String to the REF() of the dude that fired us so we can ensure we always cleanup our traits

knockdown_time + + + + +

+

How long we knockdown the victim for.

last_movement + + + + +

+

The last time our movement fired.

prevent_movement_traits + + + + +

+

List of traits that prevent the user from moving. More restrictive than attempting to fire the hook by design.

return_chain + + + + +

+

The chain beam we currently own.

steps_per_tick + + + + +

+

How many steps we force the victim to take per tick

victim_ref + + + + +

+

Weakref to the victim we are dragging

Proc Details

attempt_movement +

+

Attempts to move the victim towards the destination. Returns TRUE if we do a successful movement, FALSE otherwise. +second_attempt is a boolean to prevent infinite recursion. +If this whole series of events wasn't reliant on SSfastprocess firing as fast as it does, it would have been more useful to make this a move loop datum. But, we need the speed.

begin_pulling +

+

Uses fastprocessing to move our victim to the destination at a rather fast speed.

end_movement +

+

Cancels processing and removes the trait from the victim.

+ + + diff --git a/datum/http_request.html b/datum/http_request.html new file mode 100644 index 00000000000..05636b2686c --- /dev/null +++ b/datum/http_request.html @@ -0,0 +1,36 @@ + + + + + + + /datum/http_request - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

http_request + + + +

+ + +

Vars

output_fileIf present response body will be saved to this file.
+

Var Details

output_file + + + + +

+

If present response body will be saved to this file.

+ + + diff --git a/datum/hud.html b/datum/hud.html new file mode 100644 index 00000000000..1cd079f6151 --- /dev/null +++ b/datum/hud.html @@ -0,0 +1,206 @@ + + + + + + + /datum/hud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hud + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

always_visible_inventoryScreen objects that never exit view.
atmos_debug_overlaysIf this client is being shown atmos debug overlays or not
current_plane_offsetThink of multiz as a stack of z levels. Each index in that stack has its own group of plane masters +This variable is the plane offset our mob/client is currently "on" +We use it to track what we should show/not show +Goes from 0 to the max (z level stack size - 1)
master_groupsAssoc list of key => "plane master groups" +This is normally just the main window, but it'll occasionally contain things like spyglasses windows
plane_master_controllersAssoc list of controller groups, associated with key string group name with value of the plane master controller ref
screentip_colorThe color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).
screentip_imagesWhether to use text or images for click hints. +Same behavior as screentips_enabled--very hot, updated when the preference is updated.
screentip_textUI for screentips that appear when you mouse over things
screentips_enabledWhether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

Procs

build_action_groupsGenerates and fills new action groups with our mob's current actions
build_plane_groupsCreates the required plane masters to fill out new z layers (because each "level" of multiz gets its own plane master set)
generate_landingsGenerates visual landings for all groups that the button is not a memeber of
get_action_buttons_iconsThis is a silly proc used in hud code code to determine what icon and icon state we should be using +for hud elements (such as action buttons) that don't have their own icon and icon state set.
get_plane_groupReturns the corresponding plane group datum if one exists
get_plane_masterReturns the plane master that matches the input plane from the passed in group
get_planes_fromReturns all the planes belonging to the passed in group key
get_true_plane_mastersReturns a list of all plane masters that match the input true plane, drawn from the passed in group (ignores z layer offsets)
hide_actionRemoves the passed in action from its current position on the screen
hide_landingsClears all currently visible landings
show_hudShows this hud's hud to some mob
view_audit_buttonsEnsures all of our buttons are properly within the bounds of our client's view, moves them if they're not
+

Var Details

always_visible_inventory + + + + +

+

Screen objects that never exit view.

atmos_debug_overlays + + + + +

+

If this client is being shown atmos debug overlays or not

current_plane_offset + + + + +

+

Think of multiz as a stack of z levels. Each index in that stack has its own group of plane masters +This variable is the plane offset our mob/client is currently "on" +We use it to track what we should show/not show +Goes from 0 to the max (z level stack size - 1)

master_groups + + + + +

+

Assoc list of key => "plane master groups" +This is normally just the main window, but it'll occasionally contain things like spyglasses windows

plane_master_controllers + + + + +

+

Assoc list of controller groups, associated with key string group name with value of the plane master controller ref

screentip_color + + + + +

+

The color to use for the screentips. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

screentip_images + + + + +

+

Whether to use text or images for click hints. +Same behavior as screentips_enabled--very hot, updated when the preference is updated.

screentip_text + + + + +

+

UI for screentips that appear when you mouse over things

screentips_enabled + + + + +

+

Whether or not screentips are enabled. +This is updated by the preference for cheaper reads than would be +had with a proc call, especially on one of the hottest procs in the +game (MouseEntered).

Proc Details

build_action_groups +

+

Generates and fills new action groups with our mob's current actions

build_plane_groups +

+

Creates the required plane masters to fill out new z layers (because each "level" of multiz gets its own plane master set)

generate_landings +

+

Generates visual landings for all groups that the button is not a memeber of

get_action_buttons_icons +

+

This is a silly proc used in hud code code to determine what icon and icon state we should be using +for hud elements (such as action buttons) that don't have their own icon and icon state set.

+

It returns a list, which is pretty much just a struct of info

get_plane_group +

+

Returns the corresponding plane group datum if one exists

get_plane_master +

+

Returns the plane master that matches the input plane from the passed in group

get_planes_from +

+

Returns all the planes belonging to the passed in group key

get_true_plane_masters +

+

Returns a list of all plane masters that match the input true plane, drawn from the passed in group (ignores z layer offsets)

hide_action +

+

Removes the passed in action from its current position on the screen

hide_landings +

+

Clears all currently visible landings

show_hud +

+

Shows this hud's hud to some mob

+

Arguments

+

view_audit_buttons +

+

Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not

+ + + diff --git a/datum/hud/new_player.html b/datum/hud/new_player.html new file mode 100644 index 00000000000..50949378018 --- /dev/null +++ b/datum/hud/new_player.html @@ -0,0 +1,43 @@ + + + + + + + /datum/hud/new_player - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

new_player + + + +

+ + + +

Vars

menu_hud_statusWhether the menu is currently on the client's screen or not

Procs

add_station_trait_buttonsDisplay buttons for relevant station traits
+

Var Details

menu_hud_status + + + + +

+

Whether the menu is currently on the client's screen or not

Proc Details

add_station_trait_buttons +

+

Display buttons for relevant station traits

+ + + diff --git a/datum/hud/ooze.html b/datum/hud/ooze.html new file mode 100644 index 00000000000..ae0dffba8d8 --- /dev/null +++ b/datum/hud/ooze.html @@ -0,0 +1,35 @@ + + + + + + + /datum/hud/ooze - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ooze + + + +

+ + +

Procs

NewHud type with targeting dol and a nutrition bar

Proc Details

New +

+

Hud type with targeting dol and a nutrition bar

+ + + diff --git a/datum/human_appearance_profile.html b/datum/human_appearance_profile.html new file mode 100644 index 00000000000..082a6e3cd0c --- /dev/null +++ b/datum/human_appearance_profile.html @@ -0,0 +1,106 @@ + + + + + + + /datum/human_appearance_profile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

human_appearance_profile + + + +

+ +

Store of data we use to recreate someone who was gibbed, like a simplified version of changeling profiles

+ + + + + + + + + + +

Vars

ageThe age of the profile source.
dnaThe DNA datum associated with our profile from the profile source
hair_gradient_coloursThe hair and facial hair gradient colours of the profile source.
hair_gradient_styleThe hair and facial hair gradient styles of the profile source.
nameThe name of the profile / the name of whoever this profile source.
physiqueThe body type of the profile source.
quirksThe quirks of the profile source.
voiceThe TTS voice of the profile source
voice_filterThe TTS filter of the profile filter

Procs

apply_toMake the targeted human look like this
copy_fromCopy the appearance data of the target
+

Var Details

age + + + + +

+

The age of the profile source.

dna + + + + +

+

The DNA datum associated with our profile from the profile source

hair_gradient_colours + + + + +

+

The hair and facial hair gradient colours of the profile source.

hair_gradient_style + + + + +

+

The hair and facial hair gradient styles of the profile source.

name + + + + +

+

The name of the profile / the name of whoever this profile source.

physique + + + + +

+

The body type of the profile source.

quirks + + + + +

+

The quirks of the profile source.

voice + + + + +

+

The TTS voice of the profile source

voice_filter + + + + +

+

The TTS filter of the profile filter

Proc Details

apply_to +

+

Make the targeted human look like this

copy_from +

+

Copy the appearance data of the target

+ + + diff --git a/datum/ice_cream_flavour.html b/datum/ice_cream_flavour.html new file mode 100644 index 00000000000..85735685c42 --- /dev/null +++ b/datum/ice_cream_flavour.html @@ -0,0 +1,85 @@ + + + + + + + /datum/ice_cream_flavour - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ice_cream_flavour + + + +

+ + + + + + + + + +

Vars

colorThe colour of the ice cream for non-custom flavours.
hiddenIs this flavour shown in the ice cream vat menu or not?
ingredientsThe ingredients required to produce a unit with the ice cream vat, these are multiplied by 3.
ingredients_textThe same as above, but in a readable text generated on New() that can also contain fluff ingredients such as "lot of love" or "optional flavorings".
nameMake sure the same name is not found on other types; These are singletons keyed by their name after all.
reagent_amountthe amount of reagent added in 'add_flavour()'
reagent_typethe reagent added in 'add_flavour()'

Procs

add_flavourAdds a new flavour to the ice cream cone.
+

Var Details

color + + + + +

+

The colour of the ice cream for non-custom flavours.

hidden + + + + +

+

Is this flavour shown in the ice cream vat menu or not?

ingredients + + + + +

+

The ingredients required to produce a unit with the ice cream vat, these are multiplied by 3.

ingredients_text + + + + +

+

The same as above, but in a readable text generated on New() that can also contain fluff ingredients such as "lot of love" or "optional flavorings".

name + + + + +

+

Make sure the same name is not found on other types; These are singletons keyed by their name after all.

reagent_amount + + + + +

+

the amount of reagent added in 'add_flavour()'

reagent_type + + + + +

+

the reagent added in 'add_flavour()'

Proc Details

add_flavour +

+

Adds a new flavour to the ice cream cone.

+ + + diff --git a/datum/id_trim.html b/datum/id_trim.html new file mode 100644 index 00000000000..d04659759ef --- /dev/null +++ b/datum/id_trim.html @@ -0,0 +1,106 @@ + + + + + + + /datum/id_trim - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

id_trim + + + +

+ +

Simple datum that holds the basic information associated with an ID card trim.

+ + + + + + + + + + +

Vars

accessAccesses that this trim unlocks on a card it is imprinted on. These accesses never take wildcard slots and can be added and removed at will.
assignmentJob/assignment associated with this trim. Can be transferred to ID cards holding this trim.
department_colorDepartment color for this trim. Displayed in the box under the trim_state.
department_stateDepartment icon state, for differentiating between heads and normal crew and other use cases.
intern_alt_nameThe name of the job for interns. If unset it will default to "[assignment] (Intern)".
sechud_icon_stateThe icon_state associated with this trim, as it will show on the security HUD.
subdepartment_colorSubdepartment color for this trim. Displayed as a bar under the trim_state and department_color.
threat_modifierHow threatened does a security bot feel when scanning this ID? A negative value may cause them to forgive things which would otherwise cause aggro.
trim_iconIcon file for this trim.
trim_stateIcon state for this trim. Overlayed on advanced ID cards.
wildcard_accessAccesses that this trim unlocks on a card that require wildcard slots to apply. If a card cannot accept all a trim's wildcard accesses, the card is incompatible with the trim.
+

Var Details

access + + + + +

+

Accesses that this trim unlocks on a card it is imprinted on. These accesses never take wildcard slots and can be added and removed at will.

assignment + + + + +

+

Job/assignment associated with this trim. Can be transferred to ID cards holding this trim.

department_color + + + + +

+

Department color for this trim. Displayed in the box under the trim_state.

department_state + + + + +

+

Department icon state, for differentiating between heads and normal crew and other use cases.

intern_alt_name + + + + +

+

The name of the job for interns. If unset it will default to "[assignment] (Intern)".

sechud_icon_state + + + + +

+

The icon_state associated with this trim, as it will show on the security HUD.

subdepartment_color + + + + +

+

Subdepartment color for this trim. Displayed as a bar under the trim_state and department_color.

threat_modifier + + + + +

+

How threatened does a security bot feel when scanning this ID? A negative value may cause them to forgive things which would otherwise cause aggro.

trim_icon + + + + +

+

Icon file for this trim.

trim_state + + + + +

+

Icon state for this trim. Overlayed on advanced ID cards.

wildcard_access + + + + +

+

Accesses that this trim unlocks on a card that require wildcard slots to apply. If a card cannot accept all a trim's wildcard accesses, the card is incompatible with the trim.

+ + + diff --git a/datum/id_trim/job.html b/datum/id_trim/job.html new file mode 100644 index 00000000000..57fd69b8bda --- /dev/null +++ b/datum/id_trim/job.html @@ -0,0 +1,88 @@ + + + + + + + /datum/id_trim/job - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ +

This file contains all the trims associated with station jobs. +It also contains special prisoner trims and the miner's spare ID trim. +ID Trims for station jobs.

+ + + + + + + +

Vars

extra_accessThe extra access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.
extra_wildcard_accessThe extra wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.
jobThe typepath to the job datum from the id_trim. This is converted to one of the job singletons in New().
job_changesStatic list. Cache of any mapping config job changes.
minimal_accessThe base access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.
minimal_wildcard_accessThe base wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.
template_accessAn ID card with an access in this list can apply this trim to IDs or use it as a job template when adding access to a card. If the list is null, cannot be used as a template. Should be Head of Staff or ID Console accesses or it may do nothing.

Procs

refresh_trim_accessGoes through various non-map config settings and modifies the trim's access based on this.
+

Var Details

extra_access + + + + +

+

The extra access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.

extra_wildcard_access + + + + +

+

The extra wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is FALSE.

job + + + + +

+

The typepath to the job datum from the id_trim. This is converted to one of the job singletons in New().

job_changes + + + + +

+

Static list. Cache of any mapping config job changes.

minimal_access + + + + +

+

The base access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.

minimal_wildcard_access + + + + +

+

The base wildcard_access the card should have when CONFIG_GET(flag/jobs_have_minimal_access) is TRUE.

template_access + + + + +

+

An ID card with an access in this list can apply this trim to IDs or use it as a job template when adding access to a card. If the list is null, cannot be used as a template. Should be Head of Staff or ID Console accesses or it may do nothing.

Proc Details

refresh_trim_access +

+

Goes through various non-map config settings and modifies the trim's access based on this.

+

Returns TRUE if the config is loaded, FALSE otherwise.

+ + + diff --git a/datum/id_trim/job/captain.html b/datum/id_trim/job/captain.html new file mode 100644 index 00000000000..b82afb9a77c --- /dev/null +++ b/datum/id_trim/job/captain.html @@ -0,0 +1,35 @@ + + + + + + + /datum/id_trim/job/captain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

captain + + + +

+ + +

Procs

NewCaptain gets all station accesses hardcoded in because it's the Captain.

Proc Details

New +

+

Captain gets all station accesses hardcoded in because it's the Captain.

+ + + diff --git a/datum/id_trim/job/security_officer.html b/datum/id_trim/job/security_officer.html new file mode 100644 index 00000000000..ee0aa917242 --- /dev/null +++ b/datum/id_trim/job/security_officer.html @@ -0,0 +1,43 @@ + + + + + + + /datum/id_trim/job/security_officer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

security_officer + + + +

+ +

Sec officers have departmental variants. They each have their own trims with bonus departmental accesses.

+ +

Vars

department_accessList of bonus departmental accesses that departmental sec officers get by default.
elevated_accessList of bonus departmental accesses that departmental security officers can in relation to how many overall security officers there are if the scaling system is set up. These can otherwise be granted via config settings.
+

Var Details

department_access + + + + +

+

List of bonus departmental accesses that departmental sec officers get by default.

elevated_access + + + + +

+

List of bonus departmental accesses that departmental security officers can in relation to how many overall security officers there are if the scaling system is set up. These can otherwise be granted via config settings.

+ + + diff --git a/datum/idle_behavior/idle_dog.html b/datum/idle_behavior/idle_dog.html new file mode 100644 index 00000000000..ee884c6b5f2 --- /dev/null +++ b/datum/idle_behavior/idle_dog.html @@ -0,0 +1,35 @@ + + + + + + + /datum/idle_behavior/idle_dog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

idle_dog + + + +

+ + +

Procs

perform_idle_behaviorDog specific idle behavior.

Proc Details

perform_idle_behavior +

+

Dog specific idle behavior.

+ + + diff --git a/datum/idle_behavior/idle_ghost_item.html b/datum/idle_behavior/idle_ghost_item.html new file mode 100644 index 00000000000..cbe4141208a --- /dev/null +++ b/datum/idle_behavior/idle_ghost_item.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_ghost_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

idle_ghost_item + + + +

+ +

If not held, teleport somewhere else

+

Vars

teleport_chanceChance for item to teleport somewhere else
+

Var Details

teleport_chance + + + + +

+

Chance for item to teleport somewhere else

+ + + diff --git a/datum/idle_behavior/idle_monkey.html b/datum/idle_behavior/idle_monkey.html new file mode 100644 index 00000000000..4b2342f3c2b --- /dev/null +++ b/datum/idle_behavior/idle_monkey.html @@ -0,0 +1,43 @@ + + + + + + + /datum/idle_behavior/idle_monkey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

idle_monkey + + + +

+ + + +

Vars

common_emotesEmotes that will be played commonly during idle behavior.
rare_emotesEmotes that will be played rarely during idle behavior.
+

Var Details

common_emotes + + + + +

+

Emotes that will be played commonly during idle behavior.

rare_emotes + + + + +

+

Emotes that will be played rarely during idle behavior.

+ + + diff --git a/datum/idle_behavior/idle_random_walk.html b/datum/idle_behavior/idle_random_walk.html new file mode 100644 index 00000000000..6d2f621c5e1 --- /dev/null +++ b/datum/idle_behavior/idle_random_walk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_random_walk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

idle_random_walk + + + +

+ + +

Vars

walk_chanceChance that the mob random walks per second
+

Var Details

walk_chance + + + + +

+

Chance that the mob random walks per second

+ + + diff --git a/datum/idle_behavior/idle_random_walk/no_target.html b/datum/idle_behavior/idle_random_walk/no_target.html new file mode 100644 index 00000000000..91879c81f94 --- /dev/null +++ b/datum/idle_behavior/idle_random_walk/no_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_random_walk/no_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

no_target + + + +

+ +

Only walk if we don't have a target

+

Vars

target_keyWhere do we look for a target?
+

Var Details

target_key + + + + +

+

Where do we look for a target?

+ + + diff --git a/datum/idle_behavior/idle_random_walk/not_while_on_target.html b/datum/idle_behavior/idle_random_walk/not_while_on_target.html new file mode 100644 index 00000000000..93bfa9e2e8d --- /dev/null +++ b/datum/idle_behavior/idle_random_walk/not_while_on_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_random_walk/not_while_on_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

not_while_on_target + + + +

+ +

Only walk if we are not on the target's location

+

Vars

target_keyWhat is the spot we have to stand on?
+

Var Details

target_key + + + + +

+

What is the spot we have to stand on?

+ + + diff --git a/datum/idle_behavior/idle_random_walk/parrot.html b/datum/idle_behavior/idle_random_walk/parrot.html new file mode 100644 index 00000000000..cfb4fcd75ed --- /dev/null +++ b/datum/idle_behavior/idle_random_walk/parrot.html @@ -0,0 +1,36 @@ + + + + + + + /datum/idle_behavior/idle_random_walk/parrot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

parrot + + + +

+ + +

Vars

walk_chance_when_perchedchance of us moving while perched
+

Var Details

walk_chance_when_perched + + + + +

+

chance of us moving while perched

+ + + diff --git a/datum/idle_behavior/walk_near_target.html b/datum/idle_behavior/walk_near_target.html new file mode 100644 index 00000000000..99540754e6e --- /dev/null +++ b/datum/idle_behavior/walk_near_target.html @@ -0,0 +1,50 @@ + + + + + + + /datum/idle_behavior/walk_near_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

walk_near_target + + + +

+ +

walk randomly however stick near a target

+ + +

Vars

minimum_distancedistance we are to target
target_keykey that holds target
walk_chancechance to walk
+

Var Details

minimum_distance + + + + +

+

distance we are to target

target_key + + + + +

+

key that holds target

walk_chance + + + + +

+

chance to walk

+ + + diff --git a/datum/infuser_entry.html b/datum/infuser_entry.html new file mode 100644 index 00000000000..2708c95cf4b --- /dev/null +++ b/datum/infuser_entry.html @@ -0,0 +1,103 @@ + + + + + + + /datum/infuser_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

infuser_entry + + + +

+ + + + + + + + + + + +

Vars

descgeneral desc
infuse_mob_namewhat you have to infuse to become it
infusion_descmessage the target gets while being infused
input_obj_or_mobList of objects, mobs, and/or items, the machine will infuse to make output organs. +Rejected creatures, of course, are anything not covered by other recipes. This is a special case
namename of the mutant you become
output_organsList of organs that the machine could spit out in relation
qualitiesList of personal attributes added by the mutation.
status_effect_typestatus effect type of the corresponding bonus, if it has one. tier zero won't ever set this.
threshold_descdesc of what passing the threshold gets you. if this is empty, there is no threshold, so this is also really a tally of whether this is a "meme" mutant or not
tieressentially how difficult it is to get this infusion, and if it will be locked behind some progression. see defines for more info +...overwrite this, please
+

Var Details

desc + + + + +

+

general desc

infuse_mob_name + + + + +

+

what you have to infuse to become it

infusion_desc + + + + +

+

message the target gets while being infused

input_obj_or_mob + + + + +

+

List of objects, mobs, and/or items, the machine will infuse to make output organs. +Rejected creatures, of course, are anything not covered by other recipes. This is a special case

name + + + + +

+

name of the mutant you become

output_organs + + + + +

+

List of organs that the machine could spit out in relation

qualities + + + + +

+

List of personal attributes added by the mutation.

status_effect_type + + + + +

+

status effect type of the corresponding bonus, if it has one. tier zero won't ever set this.

threshold_desc + + + + +

+

desc of what passing the threshold gets you. if this is empty, there is no threshold, so this is also really a tally of whether this is a "meme" mutant or not

tier + + + + +

+

essentially how difficult it is to get this infusion, and if it will be locked behind some progression. see defines for more info +...overwrite this, please

+ + + diff --git a/datum/instrument.html b/datum/instrument.html new file mode 100644 index 00000000000..8af43ca1ac1 --- /dev/null +++ b/datum/instrument.html @@ -0,0 +1,152 @@ + + + + + + + /datum/instrument - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Instrument Datums + + + +

+ +

Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.

+

The datums themselves are kept in SSinstruments in a list by their unique ID. The reason it uses ID instead of typepath is to support the runtime creation of instruments. +Since songs cache them while playing, there isn't realistic issues regarding performance from accessing.

+ + + + + + + + + + + + + + + + +

Vars

HIGHEST_KEYDon't touch this
LOWEST_KEYDon't touch this x2
abstract_typeUsed for categorization subtypes
admin_onlyOh no - For truly troll instruments.
categoryCategory
idUniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.
instrument_flagsSee __DEFINES/flags/instruments.dm
legacy_instrument_extFor legacy instruments, our file extension
legacy_instrument_pathFor legacy instruments, the path to our notes
nameName of the instrument
real_samplesWrite here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127
samplesassoc list key = /datum/instrument_key. do not fill this yourself!
songs_usingWhat songs are using us
volume_multiplierVolume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

Procs

InitializeInitializes the instrument, calculating its samples if necessary.
calculate_samplesFor synthesized instruments, this is how the instrument generates the "keys" that a /datum/song uses to play notes. +Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list.
readyChecks if this instrument is ready to play.
+

Var Details

HIGHEST_KEY + + + + +

+

Don't touch this

LOWEST_KEY + + + + +

+

Don't touch this x2

abstract_type + + + + +

+

Used for categorization subtypes

admin_only + + + + +

+

Oh no - For truly troll instruments.

category + + + + +

+

Category

id + + + + +

+

Uniquely identifies this instrument so runtime changes are possible as opposed to paths. If this is unset, things will use path instead.

instrument_flags + + + + +

+

See __DEFINES/flags/instruments.dm

legacy_instrument_ext + + + + +

+

For legacy instruments, our file extension

legacy_instrument_path + + + + +

+

For legacy instruments, the path to our notes

name + + + + +

+

Name of the instrument

real_samples + + + + +

+

Write here however many samples, follow this syntax: "%note num%"='%sample file%' eg. "27"='synthesizer/e2.ogg'. Key must never be lower than 0 and higher than 127

samples + + + + +

+

assoc list key = /datum/instrument_key. do not fill this yourself!

songs_using + + + + +

+

What songs are using us

volume_multiplier + + + + +

+

Volume multiplier. Synthesized instruments are quite loud and I don't like to cut off potential detail via editing. (someone correct me if this isn't a thing)

Proc Details

Initialize +

+

Initializes the instrument, calculating its samples if necessary.

calculate_samples +

+

For synthesized instruments, this is how the instrument generates the "keys" that a /datum/song uses to play notes. +Calculating them on the fly would be unperformant, so we do it during init and keep it all cached in a list.

ready +

+

Checks if this instrument is ready to play.

+ + + diff --git a/datum/instrument_key.html b/datum/instrument_key.html new file mode 100644 index 00000000000..fbfb09d7b0d --- /dev/null +++ b/datum/instrument_key.html @@ -0,0 +1,65 @@ + + + + + + + /datum/instrument_key - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

instrument_key + + + +

+ +

Instrument key datums contain everything needed to know how to play a specific +note of an instrument.*

+ + + + +

Vars

deviationDeviation up/down from the pivot point that uses its sample. Used to calculate frequency.
frequencyThe frequency to play the sample to get our desired note.
keyThe numerical key of what this is, from 1 to 127 on a standard piano keyboard.
sampleThe actual sample file that will be loaded when playing.

Procs

calculateCalculates and stores our deviation.
+

Var Details

deviation + + + + +

+

Deviation up/down from the pivot point that uses its sample. Used to calculate frequency.

frequency + + + + +

+

The frequency to play the sample to get our desired note.

key + + + + +

+

The numerical key of what this is, from 1 to 127 on a standard piano keyboard.

sample + + + + +

+

The actual sample file that will be loaded when playing.

Proc Details

calculate +

+

Calculates and stores our deviation.

+ + + diff --git a/datum/interview.html b/datum/interview.html new file mode 100644 index 00000000000..2c51a7c4573 --- /dev/null +++ b/datum/interview.html @@ -0,0 +1,141 @@ + + + + + + + /datum/interview - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

interview + + + +

+ +

Represents a new-player interview form

+

Represents a new-player interview form, enabled by configuration to require +players with low playtime to request access to the server. To do so, they will +out a brief questionnaire, and are otherwise unable to do anything while they +wait for a response.

+ + + + + + + + + + + + + +

Vars

atomic_idAtomic ID for incrementing unique IDs
idUnique ID of the interview
ownerThe /client who owns this interview, the intiator
owner_ckeyThe Ckey of the owner, used for when a client could disconnect
pos_in_queueInteger that contains the current position in the interview queue, used for rendering
questionsThe questions to display on the questionnaire of the interview
read_onlyBoolean operator controlling if the questionnaire's contents can be edited
responsesThe stored responses, will be filled as the questionnaire is answered
statusContains the state of the form, used for rendering and sanity checking
welcome_messageThe welcome message shown at the top of the interview panel

Procs

approveApproves the interview, forces reconnect of owner if relevant.
denyDenies the interview and adds the owner to the cooldown for new interviews.
link_selfGenerates a clickable link to open this interview
reconnect_ownerForces client to reconnect, used in the callback from approval
+

Var Details

atomic_id + + + + +

+

Atomic ID for incrementing unique IDs

id + + + + +

+

Unique ID of the interview

owner + + + + +

+

The /client who owns this interview, the intiator

owner_ckey + + + + +

+

The Ckey of the owner, used for when a client could disconnect

pos_in_queue + + + + +

+

Integer that contains the current position in the interview queue, used for rendering

questions + + + + +

+

The questions to display on the questionnaire of the interview

read_only + + + + +

+

Boolean operator controlling if the questionnaire's contents can be edited

responses + + + + +

+

The stored responses, will be filled as the questionnaire is answered

status + + + + +

+

Contains the state of the form, used for rendering and sanity checking

welcome_message + + + + +

+

The welcome message shown at the top of the interview panel

Proc Details

approve +

+

Approves the interview, forces reconnect of owner if relevant.

+

Approves the interview, and if relevant will force the owner to reconnect so that they have the proper +verbs returned to them. +Arguments:

+

deny +

+

Denies the interview and adds the owner to the cooldown for new interviews.

+

Arguments:

+ +

Generates a clickable link to open this interview

reconnect_owner +

+

Forces client to reconnect, used in the callback from approval

+ + + diff --git a/datum/interview_manager.html b/datum/interview_manager.html new file mode 100644 index 00000000000..df86c5611cf --- /dev/null +++ b/datum/interview_manager.html @@ -0,0 +1,174 @@ + + + + + + + /datum/interview_manager - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Interview Manager + + + +

+ +

Handles all interviews in the duration of a round, includes the primary functionality for +handling the interview queue.

+ + + + + + + + + + + + + +

Vars

approved_ckeysCkeys which are allowed to bypass the time-based allowlist
closed_interviewsAll closed interviews
cooldown_ckeysCkeys which are currently in the cooldown system, they will be unable to create new interviews
interview_queueThe queue of interviews to be processed (submitted interviews)
open_interviewsThe interviews that are currently "open", those that are not submitted as well as those that are waiting review

Procs

client_loginUsed in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of an interview
client_logoutUsed in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of an interview
close_interviewCloses an interview, removing it from the queued interviews as well as adding it to the closed +interviews list.
dequeueDequeues the first interview from the interview queue, and updates the queue positions of any relevant +interviews that follow it.
dequeue_specificDequeues an interview from the interview queue if present, and updates the queue positions of +any relevant interviews that follow it.
enqueueEnqueues an interview in the interview queue, and notifies admins of the new interview to be +reviewed.
interview_by_idAttempts to return an interview for a provided ID, will return null if no matching interview is found
interview_for_clientAttempts to return an interview for a given client, using an existing interview if found, otherwise +a new interview is created; if the user is on cooldown then it will return null.
release_from_cooldownRemoves a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.
+

Var Details

approved_ckeys + + + + +

+

Ckeys which are allowed to bypass the time-based allowlist

closed_interviews + + + + +

+

All closed interviews

cooldown_ckeys + + + + +

+

Ckeys which are currently in the cooldown system, they will be unable to create new interviews

interview_queue + + + + +

+

The queue of interviews to be processed (submitted interviews)

open_interviews + + + + +

+

The interviews that are currently "open", those that are not submitted as well as those that are waiting review

Proc Details

client_login +

+

Used in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of an interview

+

Arguments:

+

client_logout +

+

Used in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of an interview

+

Arguments:

+

close_interview +

+

Closes an interview, removing it from the queued interviews as well as adding it to the closed +interviews list.

+

Arguments:

+

dequeue +

+

Dequeues the first interview from the interview queue, and updates the queue positions of any relevant +interviews that follow it.

dequeue_specific +

+

Dequeues an interview from the interview queue if present, and updates the queue positions of +any relevant interviews that follow it.

+

Arguments:

+

enqueue +

+

Enqueues an interview in the interview queue, and notifies admins of the new interview to be +reviewed.

+

Arguments:

+

interview_by_id +

+

Attempts to return an interview for a provided ID, will return null if no matching interview is found

+

Arguments:

+

interview_for_client +

+

Attempts to return an interview for a given client, using an existing interview if found, otherwise +a new interview is created; if the user is on cooldown then it will return null.

+

Arguments:

+

release_from_cooldown +

+

Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.

+

Arguments:

+
+ + + diff --git a/datum/job.html b/datum/job.html new file mode 100644 index 00000000000..e8d98ead225 --- /dev/null +++ b/datum/job.html @@ -0,0 +1,438 @@ + + + + + + + /datum/job - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allow_bureaucratic_errorShould this job be allowed to be picked for the bureaucratic error event?
auto_deadmin_role_flagsBitflags for the job
bounty_typesWhat types of bounty tasks can this job receive past the default?
config_tagString key to track any variables we want to tie to this job in config, so we can avoid using the job title. We CAPITALIZE it in order to ensure it's unique and resistant to trivial formatting changes. +You'll probably break someone's config if you change this, so it's best to not to.
current_positionsHow many players have this job
department_for_prefsIf specified, this department will be used for the preferences menu.
department_headDetermines who can demote this position
departments_bitflagsBitfield of departments this job belongs to. These get setup when adding the job into the department, on job datum creation.
departments_listLazy list with the departments this job belongs to. +Required to be set for playable jobs. +The first department will be used in the preferences menu, +unless department_for_prefs is set.
descriptionThe description of the job, used for preferences menu. +Keep it short and useful. Avoid in-jokes, these are for new players.
exclusive_mail_goodiesIf this job's mail goodies compete with generic goodies.
exp_granted_typeExperience type granted by playing in this job.
exp_required_typeExperience required to play this job, if the config is enabled, and exp_required_type_department is not enabled with the proper config.
exp_required_type_departmentDepartment experience required to play this job, if the config is enabled.
exp_requirementsMinutes of experience-time required to play in this job. The type is determined by [exp_required_type] and [exp_required_type_department] depending on configs.
factionPlayers will be allowed to spawn in as jobs that are set to "Station"
family_heirloomsList of family heirlooms this job can get with the family heirloom quirk. List of types.
head_announceTells the given channels that the given mob is the new department head. See communications.dm for valid channels.
ignore_human_authorityDoes this job ignore human authority?
job_flagsAll values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN | JOB_CANNOT_OPEN_SLOTS)
job_tonecustom ringtone for this job
liver_traitsLazylist of traits added to the liver of the mob assigned this job (used for the classic "cops heal from donuts" reaction, among others)
mail_goodiesGoodies that can be received via the mail system. +Keep the _job definition for this empty and use /obj/item/mail to define general gifts.
mind_traitsTraits added to the mind of the mob assigned this job
minimal_player_ageIf you have the use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.)
minimal_skillsInnate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a full crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm
paycheckHow much money does this crew member make in a single paycheck? Note that passive paychecks are capped to PAYCHECK_CREW in regular gameplay after roundstart.
paycheck_departmentWhich department does this paycheck pay from?
plasmaman_outfitThe job's outfit that will be assigned for plasmamen.
policy_indexString. If set to a non-empty one, it will be the key for the policy text value to show this role on spawn.
random_spawns_possibleIs this job affected by weird spawns like the ones from station traits
req_admin_notifyIf this is set to 1, a text is printed to the player when jobs are assigned, telling him that he should let admins know that he has to disconnect.
required_character_ageMinimal character age for this job
rpg_titleRPG job names, for the memes
skillsInnate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a skeleton crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm
spawn_positionsHow many players can spawn in as this job
spawn_typeWhat kind of mob type joining players with this job as their assigned role are spawned as.
supervisorsSupervisors, who this person answers to directly
titleThe name of the job , used for preferences, bans and more. Make sure you know what you're doing before changing this.
total_positionsHow many players can be this job
voice_of_god_powerMultiplier for general usage of the voice of god.
voice_of_god_silence_powerMultiplier for the silence command of the voice of god.

Procs

after_latejoin_spawnCalled after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()
after_roundstart_spawnCalled after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()
after_spawnExecutes after the mob has been spawned in the map. Client might not be yet in the mob, and is thus a separate variable.
announce_jobAnnounce that this job as joined the round to all crew members. +Note the joining mob has no client at this point.
get_default_roundstart_spawn_pointHandles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.
get_latejoin_spawn_pointFinds a valid latejoin spawn point, checking for events and special conditions.
get_mail_goodiesAn overridable getter for more dynamic goodies.
get_radio_informationReturns information pertaining to this job's radio.
get_roundstart_spawn_pointReturns an atom where the mob should spawn in.
get_spawn_messageGets the message that shows up when spawning as this job
get_spawn_message_informationReturns a list of strings that correspond to chat messages sent to this mob when they join the round.
get_spawn_mobSpawns the mob to be played as, taking into account preferences and the desired spawn point.
map_check
+

Var Details

allow_bureaucratic_error + + + + +

+

Should this job be allowed to be picked for the bureaucratic error event?

auto_deadmin_role_flags + + + + +

+

Bitflags for the job

bounty_types + + + + +

+

What types of bounty tasks can this job receive past the default?

config_tag + + + + +

+

String key to track any variables we want to tie to this job in config, so we can avoid using the job title. We CAPITALIZE it in order to ensure it's unique and resistant to trivial formatting changes. +You'll probably break someone's config if you change this, so it's best to not to.

current_positions + + + + +

+

How many players have this job

department_for_prefs + + + + +

+

If specified, this department will be used for the preferences menu.

department_head + + + + +

+

Determines who can demote this position

departments_bitflags + + + + +

+

Bitfield of departments this job belongs to. These get setup when adding the job into the department, on job datum creation.

departments_list + + + + +

+

Lazy list with the departments this job belongs to. +Required to be set for playable jobs. +The first department will be used in the preferences menu, +unless department_for_prefs is set.

description + + + + +

+

The description of the job, used for preferences menu. +Keep it short and useful. Avoid in-jokes, these are for new players.

exclusive_mail_goodies + + + + +

+

If this job's mail goodies compete with generic goodies.

exp_granted_type + + + + +

+

Experience type granted by playing in this job.

exp_required_type + + + + +

+

Experience required to play this job, if the config is enabled, and exp_required_type_department is not enabled with the proper config.

exp_required_type_department + + + + +

+

Department experience required to play this job, if the config is enabled.

exp_requirements + + + + +

+

Minutes of experience-time required to play in this job. The type is determined by [exp_required_type] and [exp_required_type_department] depending on configs.

faction + + + + +

+

Players will be allowed to spawn in as jobs that are set to "Station"

family_heirlooms + + + + +

+

List of family heirlooms this job can get with the family heirloom quirk. List of types.

head_announce + + + + +

+

Tells the given channels that the given mob is the new department head. See communications.dm for valid channels.

ignore_human_authority + + + + +

+

Does this job ignore human authority?

job_flags + + + + +

+

All values = (JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_ASSIGN_QUIRKS | JOB_CAN_BE_INTERN | JOB_CANNOT_OPEN_SLOTS)

job_tone + + + + +

+

custom ringtone for this job

liver_traits + + + + +

+

Lazylist of traits added to the liver of the mob assigned this job (used for the classic "cops heal from donuts" reaction, among others)

mail_goodies + + + + +

+

Goodies that can be received via the mail system. +Keep the _job definition for this empty and use /obj/item/mail to define general gifts.

mind_traits + + + + +

+

Traits added to the mind of the mob assigned this job

minimal_player_age + + + + +

+

If you have the use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.)

minimal_skills + + + + +

+

Innate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a full crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm

paycheck + + + + +

+

How much money does this crew member make in a single paycheck? Note that passive paychecks are capped to PAYCHECK_CREW in regular gameplay after roundstart.

paycheck_department + + + + +

+

Which department does this paycheck pay from?

plasmaman_outfit + + + + +

+

The job's outfit that will be assigned for plasmamen.

policy_index + + + + +

+

String. If set to a non-empty one, it will be the key for the policy text value to show this role on spawn.

random_spawns_possible + + + + +

+

Is this job affected by weird spawns like the ones from station traits

req_admin_notify + + + + +

+

If this is set to 1, a text is printed to the player when jobs are assigned, telling him that he should let admins know that he has to disconnect.

required_character_age + + + + +

+

Minimal character age for this job

rpg_title + + + + +

+

RPG job names, for the memes

skills + + + + +

+

Innate skill levels unlocked at roundstart. Based on config.jobs_have_minimal_access config setting, for example with a skeleton crew. Format is list(/datum/skill/foo = SKILL_EXP_NOVICE) with exp as an integer or as per code/_DEFINES/skills.dm

spawn_positions + + + + +

+

How many players can spawn in as this job

spawn_type + + + + +

+

What kind of mob type joining players with this job as their assigned role are spawned as.

supervisors + + + + +

+

Supervisors, who this person answers to directly

title + + + + +

+

The name of the job , used for preferences, bans and more. Make sure you know what you're doing before changing this.

total_positions + + + + +

+

How many players can be this job

voice_of_god_power + + + + +

+

Multiplier for general usage of the voice of god.

voice_of_god_silence_power + + + + +

+

Multiplier for the silence command of the voice of god.

Proc Details

after_latejoin_spawn +

+

Called after a successful latejoin spawn. +Client is in the mob. +This happens after after_spawn()

after_roundstart_spawn +

+

Called after a successful roundstart spawn. +Client is not yet in the mob. +This happens after after_spawn()

after_spawn +

+

Executes after the mob has been spawned in the map. Client might not be yet in the mob, and is thus a separate variable.

announce_job +

+

Announce that this job as joined the round to all crew members. +Note the joining mob has no client at this point.

get_default_roundstart_spawn_point +

+

Handles finding and picking a valid roundstart effect landmark spawn point, in case no uncommon different spawning events occur.

get_latejoin_spawn_point +

+

Finds a valid latejoin spawn point, checking for events and special conditions.

get_mail_goodies +

+

An overridable getter for more dynamic goodies.

get_radio_information +

+

Returns information pertaining to this job's radio.

get_roundstart_spawn_point +

+

Returns an atom where the mob should spawn in.

get_spawn_message +

+

Gets the message that shows up when spawning as this job

get_spawn_message_information +

+

Returns a list of strings that correspond to chat messages sent to this mob when they join the round.

get_spawn_mob +

+

Spawns the mob to be played as, taking into account preferences and the desired spawn point.

map_check +

+ map_check +

Checks the map config for job changes +If they have 0 spawn and total positions in the config, the job is entirely removed from occupations prefs for the round.

+ + + diff --git a/datum/job/security_officer.html b/datum/job/security_officer.html new file mode 100644 index 00000000000..21f1334a08a --- /dev/null +++ b/datum/job/security_officer.html @@ -0,0 +1,35 @@ + + + + + + + /datum/job/security_officer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

security_officer + + + +

+ + +

Procs

setup_departmentReturns the department this mob was assigned to, if any.

Proc Details

setup_department +

+

Returns the department this mob was assigned to, if any.

+ + + diff --git a/datum/job/servant_golem.html b/datum/job/servant_golem.html new file mode 100644 index 00000000000..4b77506a9c4 --- /dev/null +++ b/datum/job/servant_golem.html @@ -0,0 +1,39 @@ + + + + + + + /datum/job/servant_golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

servant_golem + + + +

+ +

For late joiners, we're forced to put them in an alone department at some point.

+

This is because reusing the round-start algorithm would force existing officers into +a different department in order to preserve having partners at all times.

+

This would mean retroactively updating their access as well, which is too much +of a headache for me to want to bother.

+

So, here's the method. If any department currently has 1 officer, they are forced into +that.

+

Otherwise, the department with the least officers in it is chosen. +Preference takes priority, meaning that if both medical and engineering have zero officers, +and the preference is medical, then medical is what will be chosen.

+

Just like get_officer_departments, this function is deterministic. +Randomness should instead be handled in the shuffling of the departments argument.

+ + + diff --git a/datum/job_config_type.html b/datum/job_config_type.html new file mode 100644 index 00000000000..0dd34ba1a62 --- /dev/null +++ b/datum/job_config_type.html @@ -0,0 +1,72 @@ + + + + + + + /datum/job_config_type - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

job_config_type + + + +

+ +

Lightweight datum simply used to store the applicable config type for each job such that the whole system is a tad bit more flexible.

+ + + + +

Vars

datum_var_nameThe name of the variable on the job datum that we will be accessing.
nameThe name that will be used in the config file. This is also the key for the accessing the singleton. +Use the JOB_CONFIG_* defines in __defines/jobs.dm to make sure you don't typo.

Procs

get_current_valueSimply gets the value of the config type for a given job. There can be overrides for special instances on subtypes.
set_current_valueThis is the proc that we actually invoke to set the config-based values for each job. Is also intended to handle all in-depth logic checks pertient to the job datum itself. +Return TRUE if the value was set successfully (or if expected behavior did indeed occur), FALSE if it was not.
validate_valueValidate the value of the config type for a given job. There can be overrides for special instances on subtypes. +Isn't meant for in-depth logic, just bare-bones sanity checks. Like: is this number a number? Is this string a string? Any sanity thing involving a specific job datum goes in set_current_value. +Will return TRUE if the value is valid, FALSE if it is not.
+

Var Details

datum_var_name + + + + +

+

The name of the variable on the job datum that we will be accessing.

name + + + + +

+

The name that will be used in the config file. This is also the key for the accessing the singleton. +Use the JOB_CONFIG_* defines in __defines/jobs.dm to make sure you don't typo.

Proc Details

get_current_value +

+

Simply gets the value of the config type for a given job. There can be overrides for special instances on subtypes.

set_current_value +

+

This is the proc that we actually invoke to set the config-based values for each job. Is also intended to handle all in-depth logic checks pertient to the job datum itself. +Return TRUE if the value was set successfully (or if expected behavior did indeed occur), FALSE if it was not.

validate_value +

+

Validate the value of the config type for a given job. There can be overrides for special instances on subtypes. +Isn't meant for in-depth logic, just bare-bones sanity checks. Like: is this number a number? Is this string a string? Any sanity thing involving a specific job datum goes in set_current_value. +Will return TRUE if the value is valid, FALSE if it is not.

+ + + diff --git a/datum/job_department.html b/datum/job_department.html new file mode 100644 index 00000000000..1cf82127d74 --- /dev/null +++ b/datum/job_department.html @@ -0,0 +1,106 @@ + + + + + + + /datum/job_department - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

job_department + + + +

+ +

Singleton representing a category of jobs forming a department.

+ + + + + + + + + + +

Vars

department_bitflagsBitflags associated to the specific department.
department_experience_typeExperience granted by playing in a job of this department.
department_headTypepath of the job datum leading this department.
department_jobsJob singleton datums associated to this department. Populated on job initialization.
department_nameDepartment as displayed on different menus.
display_orderThe order in which this department appears on menus, in relation to other departments.
label_classThe header color to be displayed in the ban panel, classes defined in banpanel.css
nation_prefixesFor separatists, what independent name prefix does their nation get named?
ui_colorThe color used in TGUI or similar menus.

Procs

add_jobHandles adding jobs to the department and setting up the job bitflags.
generate_nation_nameReturns a nation name for this department.
+

Var Details

department_bitflags + + + + +

+

Bitflags associated to the specific department.

department_experience_type + + + + +

+

Experience granted by playing in a job of this department.

department_head + + + + +

+

Typepath of the job datum leading this department.

department_jobs + + + + +

+

Job singleton datums associated to this department. Populated on job initialization.

department_name + + + + +

+

Department as displayed on different menus.

display_order + + + + +

+

The order in which this department appears on menus, in relation to other departments.

label_class + + + + +

+

The header color to be displayed in the ban panel, classes defined in banpanel.css

nation_prefixes + + + + +

+

For separatists, what independent name prefix does their nation get named?

ui_color + + + + +

+

The color used in TGUI or similar menus.

Proc Details

add_job +

+

Handles adding jobs to the department and setting up the job bitflags.

generate_nation_name +

+

Returns a nation name for this department.

+ + + diff --git a/datum/jps_node.html b/datum/jps_node.html new file mode 100644 index 00000000000..ac6b84b830f --- /dev/null +++ b/datum/jps_node.html @@ -0,0 +1,78 @@ + + + + + + + /datum/jps_node - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

jps_node + + + +

+ +

The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from

+ + + + + + +

Vars

f_valueThe A* node weight (f_value = number_of_tiles + heuristic)
heuristicThe A* node heuristic (a rough estimate of how far we are from the goal)
jumpsHow many steps it took to get here from the last node
node_goalNodes store the endgoal so they can process their heuristic without a reference to the pathfind datum
number_tilesHow many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn)
previous_nodeThe node we just came from
tileThe turf associated with this node
+

Var Details

f_value + + + + +

+

The A* node weight (f_value = number_of_tiles + heuristic)

heuristic + + + + +

+

The A* node heuristic (a rough estimate of how far we are from the goal)

jumps + + + + +

+

How many steps it took to get here from the last node

node_goal + + + + +

+

Nodes store the endgoal so they can process their heuristic without a reference to the pathfind datum

number_tiles + + + + +

+

How many steps it's taken to get here from the start (currently pulling double duty as steps taken & cost to get here, since all moves incl diagonals cost 1 rn)

previous_node + + + + +

+

The node we just came from

tile + + + + +

+

The turf associated with this node

+ + + diff --git a/datum/json_reader.html b/datum/json_reader.html new file mode 100644 index 00000000000..4c2a76b7d98 --- /dev/null +++ b/datum/json_reader.html @@ -0,0 +1,36 @@ + + + + + + + /datum/json_reader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

json_reader + + + +

+ +

Takes a json list and extracts a single value. +Subtypes represent different conversions of that value.

+

Procs

ReadJsonTakes a value read directly from json and verifies/converts as needed to a result

Proc Details

ReadJson +

+

Takes a value read directly from json and verifies/converts as needed to a result

+ + + diff --git a/datum/json_savefile.html b/datum/json_savefile.html new file mode 100644 index 00000000000..32d800d1738 --- /dev/null +++ b/datum/json_savefile.html @@ -0,0 +1,102 @@ + + + + + + + /datum/json_savefile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

json_savefile + + + +

+ +

A savefile implementation that handles all data using json. +Also saves it using JSON too, fancy. +If you pass in a null path, it simply acts as a memory tree instead, and cannot be saved.

+ + + + + + + + +

Vars

auto_saveIf this is set to true, calling set_entry or remove_entry will automatically call save(), this does not catch modifying a sub-tree, nor do I know how to do that
download_cooldownCooldown that tracks the time between attempts to download the savefile.

Procs

export_json_to_clientProc that handles generating a JSON file (prettified if 515 and over!) of a user's preferences and showing it to them. +Requester is passed in to the ftp() and tgui_alert() procs, and account_name is just used to generate the filename. +We don't need to pass in account_name since this is reliant on the json_savefile datum already knowing what we correspond to, but it's here to help people keep track of their stuff.
get_entryGets an entry from the json tree, with an optional default value. +If no key is specified it throws the entire tree at you instead
import_byond_savefileTraverses the entire dir tree of the given savefile and dynamically assembles the tree from it
json_export_checksProc that just handles all of the checks for exporting a preferences file, returns TRUE if all checks are passed, FALSE otherwise. +Just done like this to make the code in the export_json_to_client() proc a bit cleaner.
remove_entryRemoves the given key from the tree
set_entrySets an entry in the tree to the given value
wipeWipes the entire tree
+

Var Details

auto_save + + + + +

+

If this is set to true, calling set_entry or remove_entry will automatically call save(), this does not catch modifying a sub-tree, nor do I know how to do that

download_cooldown + + + + +

+

Cooldown that tracks the time between attempts to download the savefile.

Proc Details

export_json_to_client +

+

Proc that handles generating a JSON file (prettified if 515 and over!) of a user's preferences and showing it to them. +Requester is passed in to the ftp() and tgui_alert() procs, and account_name is just used to generate the filename. +We don't need to pass in account_name since this is reliant on the json_savefile datum already knowing what we correspond to, but it's here to help people keep track of their stuff.

get_entry +

+

Gets an entry from the json tree, with an optional default value. +If no key is specified it throws the entire tree at you instead

import_byond_savefile +

+

Traverses the entire dir tree of the given savefile and dynamically assembles the tree from it

json_export_checks +

+

Proc that just handles all of the checks for exporting a preferences file, returns TRUE if all checks are passed, FALSE otherwise. +Just done like this to make the code in the export_json_to_client() proc a bit cleaner.

remove_entry +

+

Removes the given key from the tree

set_entry +

+

Sets an entry in the tree to the given value

wipe +

+

Wipes the entire tree

+ + + diff --git a/datum/keybinding/human/quick_equip_belt.html b/datum/keybinding/human/quick_equip_belt.html new file mode 100644 index 00000000000..99a5ed42738 --- /dev/null +++ b/datum/keybinding/human/quick_equip_belt.html @@ -0,0 +1,43 @@ + + + + + + + /datum/keybinding/human/quick_equip_belt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

quick_equip_belt + + + +

+ + + +

Vars

slot_item_namewhat we should call slot_type in messages (including failure messages)
slot_typewhich slot are we trying to quickdraw from/quicksheathe into?
+

Var Details

slot_item_name + + + + +

+

what we should call slot_type in messages (including failure messages)

slot_type + + + + +

+

which slot are we trying to quickdraw from/quicksheathe into?

+ + + diff --git a/datum/known_alts.html b/datum/known_alts.html new file mode 100644 index 00000000000..f1b524d628b --- /dev/null +++ b/datum/known_alts.html @@ -0,0 +1,37 @@ + + + + + + + /datum/known_alts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

known_alts + + + +

+ + +

Procs

load_known_altsReturns the list of known alts, will return an empty list if the DB could not be connected to. +This proc can block.

Proc Details

load_known_alts +

+

Returns the list of known alts, will return an empty list if the DB could not be connected to. +This proc can block.

+ + + diff --git a/datum/language_holder.html b/datum/language_holder.html new file mode 100644 index 00000000000..5cc8c6537f1 --- /dev/null +++ b/datum/language_holder.html @@ -0,0 +1,196 @@ + + + + + + + /datum/language_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

language_holder + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

blocked_languagesLazyassoclist of blocked languages. +Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.
language_menuHandles displaying the language menu UI.
omnitongueIf true, overrides tongue aforementioned limitations.
ownerTracks the entity that owns the holder.
selected_languageCurrently spoken language
spoken_languagesLazyassoclist of languages that can be spoken. +Tongue organ may also set limits beyond this list.
understood_languagesLazyassoclist of all understood languages

Procs

NewInitializes, and copies in the languages from the current atom if available.
add_blocked_languageAdds a single language or list of languages to the blocked language list.
can_speak_languageChecks if you can speak the language. Tongue limitations should be supplied as an argument.
copy_languagesCopies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.
get_random_spoken_languageGets a random spoken language, useful for forced speech and such.
get_random_spoken_uncommon_languageGets a random spoken language, trying to get a non-common language.
get_random_understood_languageGets a random understood language, useful for hallucinations and such.
get_selected_languageReturns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.
grant_all_languagesGrants every language to understood and spoken, and gives omnitongue.
grant_languageGrants the supplied language.
has_languageChecks if you have the language passed.
open_language_menuOpens a language menu reading from the language holder.
remove_all_languagesRemoves every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.
remove_blocked_languageRemoves a single language or list of languages from the blocked language list.
remove_languageRemoves a single language or source, removing all sources returns the pre-removal state of the language.
transfer_mind_languagesTransfers all mind languages to the supplied language holder.
+

Var Details

blocked_languages + + + + +

+

Lazyassoclist of blocked languages. +Used to prevent understanding and speaking certain languages, ie for certain mobs, mutations etc.

language_menu + + + + +

+

Handles displaying the language menu UI.

omnitongue + + + + +

+

If true, overrides tongue aforementioned limitations.

owner + + + + +

+

Tracks the entity that owns the holder.

selected_language + + + + +

+

Currently spoken language

spoken_languages + + + + +

+

Lazyassoclist of languages that can be spoken. +Tongue organ may also set limits beyond this list.

understood_languages + + + + +

+

Lazyassoclist of all understood languages

Proc Details

New +

+

Initializes, and copies in the languages from the current atom if available.

add_blocked_language +

+

Adds a single language or list of languages to the blocked language list.

can_speak_language +

+

Checks if you can speak the language. Tongue limitations should be supplied as an argument.

copy_languages +

+

Copies all languages from the supplied atom/language holder. Source should be overridden when you +do not want the language overwritten by later atom updates or want to avoid blocked languages.

get_random_spoken_language +

+

Gets a random spoken language, useful for forced speech and such.

get_random_spoken_uncommon_language +

+

Gets a random spoken language, trying to get a non-common language.

get_random_understood_language +

+

Gets a random understood language, useful for hallucinations and such.

get_selected_language +

+

Returns selected language if it can be spoken, or decides, sets and returns a new selected language if possible.

grant_all_languages +

+

Grants every language to understood and spoken, and gives omnitongue.

grant_language +

+

Grants the supplied language.

has_language +

+

Checks if you have the language passed.

open_language_menu +

+

Opens a language menu reading from the language holder.

remove_all_languages +

+

Removes every language and optionally sets omnitongue false. If a non default source is supplied, only removes that source.

remove_blocked_language +

+

Removes a single language or list of languages from the blocked language list.

remove_language +

+

Removes a single language or source, removing all sources returns the pre-removal state of the language.

transfer_mind_languages +

+

Transfers all mind languages to the supplied language holder.

+ + + diff --git a/datum/latejoin_menu.html b/datum/latejoin_menu.html new file mode 100644 index 00000000000..898f1299157 --- /dev/null +++ b/datum/latejoin_menu.html @@ -0,0 +1,44 @@ + + + + + + + /datum/latejoin_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

latejoin_menu + + + +

+ + + +

Procs

fallback_uiMakes a list of jobs and pushes them to a DM list selector. Just in case someone did a special kind of fucky-wucky with TGUI.
get_random_jobGives the user a random job that they can join as, and prompts them if they'd actually like to keep it, rerolling if not. Cancellable by the user. +WARNING: BLOCKS THREAD!

Proc Details

fallback_ui +

+

Makes a list of jobs and pushes them to a DM list selector. Just in case someone did a special kind of fucky-wucky with TGUI.

get_random_job +

+

Gives the user a random job that they can join as, and prompts them if they'd actually like to keep it, rerolling if not. Cancellable by the user. +WARNING: BLOCKS THREAD!

+ + + diff --git a/datum/lazy_template.html b/datum/lazy_template.html new file mode 100644 index 00000000000..768af56e654 --- /dev/null +++ b/datum/lazy_template.html @@ -0,0 +1,65 @@ + + + + + + + /datum/lazy_template - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lazy_template + + + +

+ +

Datum used to designate certain areas that do not need to exist nor be loaded at world start +but do want to be loaded under certain circumstances. Use this for stuff like the nukie base or wizden, aka stuff that only matters when their antag is rolled.

+ + + + +

Vars

keyKey to identify this template - used in caching
map_dirDirectory of maps to prefix to the filename
map_nameThe filename (without extension) of the map to load
reservationsIf this is true each load will increment an index keyed to the type and it will load [map_name]_[index]

Procs

lazy_loadDoes the grunt work of loading the template.
+

Var Details

key + + + + +

+

Key to identify this template - used in caching

map_dir + + + + +

+

Directory of maps to prefix to the filename

map_name + + + + +

+

The filename (without extension) of the map to load

reservations + + + + +

+

If this is true each load will increment an index keyed to the type and it will load [map_name]_[index]

Proc Details

lazy_load +

+

Does the grunt work of loading the template.

+ + + diff --git a/datum/lazy_template/virtual_domain.html b/datum/lazy_template/virtual_domain.html new file mode 100644 index 00000000000..7c312c8997b --- /dev/null +++ b/datum/lazy_template/virtual_domain.html @@ -0,0 +1,148 @@ + + + + + + + /datum/lazy_template/virtual_domain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Virtual Domains + + + +

+ +

Create your own: Read the readme file in the '_maps/virtual_domains' folder.

+ + + + + + + + + + + + + + + + +

Vars

costCost of this map to load
descThe description of the map for the console UI
difficultyAffects the ui and ability to scan info.
extra_lootAn assoc list of typepath/amount to spawn on completion. Not weighted - the value is the amount
filenameThe map file to load
forbids_disk_itemsIf this domain blocks the use of items from disks, for whatever reason
forbids_disk_spellsIf this domain blocks the use of spells from disks, for whatever reason
forced_outfitAny outfit that you wish to force on avatars. Overrides preferences
help_textInformation given to connected clients via ability
is_modularWhether to display this as a modular map
mob_modulesByond will look for modular mob segment landmarks then choose from here at random. You can make them unique also.
modular_unique_mobsForces all mob modules to only load once
reward_pointsPoints to reward for completion. Used to purchase new domains and calculate ore rewards.
start_timeThe start time of the map. Used to calculate time taken
test_onlyThis map is specifically for unit tests. Shouldn't display in game

Procs

add_pointsSends a point to any loot signals on the map
setup_domainOverridable proc to be called after the map is loaded.
+

Var Details

cost + + + + +

+

Cost of this map to load

desc + + + + +

+

The description of the map for the console UI

difficulty + + + + +

+

Affects the ui and ability to scan info.

extra_loot + + + + +

+

An assoc list of typepath/amount to spawn on completion. Not weighted - the value is the amount

filename + + + + +

+

The map file to load

forbids_disk_items + + + + +

+

If this domain blocks the use of items from disks, for whatever reason

forbids_disk_spells + + + + +

+

If this domain blocks the use of spells from disks, for whatever reason

forced_outfit + + + + +

+

Any outfit that you wish to force on avatars. Overrides preferences

help_text + + + + +

+

Information given to connected clients via ability

is_modular + + + + +

+

Whether to display this as a modular map

mob_modules + + + + +

+

Byond will look for modular mob segment landmarks then choose from here at random. You can make them unique also.

modular_unique_mobs + + + + +

+

Forces all mob modules to only load once

reward_points + + + + +

+

Points to reward for completion. Used to purchase new domains and calculate ore rewards.

start_time + + + + +

+

The start time of the map. Used to calculate time taken

test_only + + + + +

+

This map is specifically for unit tests. Shouldn't display in game

Proc Details

add_points +

+

Sends a point to any loot signals on the map

setup_domain +

+

Overridable proc to be called after the map is loaded.

+ + + diff --git a/datum/lazy_template/virtual_domain/beach_bar.html b/datum/lazy_template/virtual_domain/beach_bar.html new file mode 100644 index 00000000000..5f0812de6ec --- /dev/null +++ b/datum/lazy_template/virtual_domain/beach_bar.html @@ -0,0 +1,35 @@ + + + + + + + /datum/lazy_template/virtual_domain/beach_bar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

beach_bar + + + +

+ + +

Procs

on_drink_drankEventually reveal the cache

Proc Details

on_drink_drank +

+

Eventually reveal the cache

+ + + diff --git a/datum/lazy_template/virtual_domain/breeze_bay.html b/datum/lazy_template/virtual_domain/breeze_bay.html new file mode 100644 index 00000000000..b3090738991 --- /dev/null +++ b/datum/lazy_template/virtual_domain/breeze_bay.html @@ -0,0 +1,35 @@ + + + + + + + /datum/lazy_template/virtual_domain/breeze_bay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

breeze_bay + + + +

+ + +

Procs

on_fish_caughtEventually reveal the cache

Proc Details

on_fish_caught +

+

Eventually reveal the cache

+ + + diff --git a/datum/light_source.html b/datum/light_source.html new file mode 100644 index 00000000000..c11437797ad --- /dev/null +++ b/datum/light_source.html @@ -0,0 +1,236 @@ + + + + + + + /datum/light_source - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

light_source + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

appliedWhether we have applied our light yet or not.
effect_strList used to store how much we're affecting corners.
light_angleHow many degrees of a circle should our light show. 360 is all of it, 180 is half, etc
light_colorThe colour of the light, string, decomposed by parse_light_color()
light_dirWhat direction our angled light is pointed
light_heightThe height of the light. The larger this is, the dimmer we'll start
light_powerIntensity of the emitter light.
light_rangeThe range of the emitted light.
needs_updatewhether we are to be added to SSlighting's sources_queue list for an update
offset_xHow much to x shift our light by when displaying it
offset_yHow much to y shift our light by when displaying it
source_atomThe atom that we belong to.
source_turfThe turf under the source atom.
top_atomThe atom we're emitting light from (for example a mob if we're from a flashlight that's being held).
visual_offsetHow much larger our light sheet should be, based off offset_x and y +We clamp to at least 1, so if offset_x is 0.1, then this'll be 1

Procs

add_to_light_sourcesadd this light source to new_atom_host's light_sources list. updating movement registrations as needed
falloff_at_coordTakes x y and z offsets from the source as input, alongside our source's range +Returns a value between 0 and 1, 0 being dark on that tile, 1 being fully lit
generate_sheetReturns a list of lists that encodes the light falloff of our source +Takes anything that impacts our generation as input +This function should be "pure", no side effects or reads from the source object
generate_sheet_multizReturns a THREE dimensional list of lists that encodes the lighting falloff of our source +Takes anything that impacts our generation as input +This function should be "pure", no side effects or reads from the passed object
get_sheetReturns a list of lists, indexed with ints, that can be read to get the lighting multiplier at any one point +If the requested sheet is multiz, this will be 3 lists deep, first handling z level then x and y +otherwise it's just two, x then y
impacted_cornersReturns a list of lighting corners this source impacts
print_sheetDumps the content of a lighting sheet to chat, for debugging
refresh_valuesRefreshes our lighting source to match its parent atom +Returns TRUE if an update is needed, FALSE otherwise
remove_from_light_sourcesremove this light source from old_atom_host's light_sources list, unsetting movement registrations
remove_lumThis is the define used to calculate falloff.
updateThis proc will cause the light source to update the top atom, and add itself to the update queue.
update_host_lightssignal handler for when our host atom moves and we need to update our effects
+

Var Details

applied + + + + +

+

Whether we have applied our light yet or not.

effect_str + + + + +

+

List used to store how much we're affecting corners.

light_angle + + + + +

+

How many degrees of a circle should our light show. 360 is all of it, 180 is half, etc

light_color + + + + +

+

The colour of the light, string, decomposed by parse_light_color()

light_dir + + + + +

+

What direction our angled light is pointed

light_height + + + + +

+

The height of the light. The larger this is, the dimmer we'll start

light_power + + + + +

+

Intensity of the emitter light.

light_range + + + + +

+

The range of the emitted light.

needs_update + + + + +

+

whether we are to be added to SSlighting's sources_queue list for an update

offset_x + + + + +

+

How much to x shift our light by when displaying it

offset_y + + + + +

+

How much to y shift our light by when displaying it

source_atom + + + + +

+

The atom that we belong to.

source_turf + + + + +

+

The turf under the source atom.

top_atom + + + + +

+

The atom we're emitting light from (for example a mob if we're from a flashlight that's being held).

visual_offset + + + + +

+

How much larger our light sheet should be, based off offset_x and y +We clamp to at least 1, so if offset_x is 0.1, then this'll be 1

Proc Details

add_to_light_sources +

+

add this light source to new_atom_host's light_sources list. updating movement registrations as needed

falloff_at_coord +

+

Takes x y and z offsets from the source as input, alongside our source's range +Returns a value between 0 and 1, 0 being dark on that tile, 1 being fully lit

generate_sheet +

+

Returns a list of lists that encodes the light falloff of our source +Takes anything that impacts our generation as input +This function should be "pure", no side effects or reads from the source object

generate_sheet_multiz +

+

Returns a THREE dimensional list of lists that encodes the lighting falloff of our source +Takes anything that impacts our generation as input +This function should be "pure", no side effects or reads from the passed object

get_sheet +

+

Returns a list of lists, indexed with ints, that can be read to get the lighting multiplier at any one point +If the requested sheet is multiz, this will be 3 lists deep, first handling z level then x and y +otherwise it's just two, x then y

impacted_corners +

+

Returns a list of lighting corners this source impacts

print_sheet +

+

Dumps the content of a lighting sheet to chat, for debugging

refresh_values +

+

Refreshes our lighting source to match its parent atom +Returns TRUE if an update is needed, FALSE otherwise

remove_from_light_sources +

+

remove this light source from old_atom_host's light_sources list, unsetting movement registrations

remove_lum +

+

This is the define used to calculate falloff.

update +

+

This proc will cause the light source to update the top atom, and add itself to the update queue.

update_host_lights +

+

signal handler for when our host atom moves and we need to update our effects

+ + + diff --git a/datum/light_template.html b/datum/light_template.html new file mode 100644 index 00000000000..685286934e8 --- /dev/null +++ b/datum/light_template.html @@ -0,0 +1,122 @@ + + + + + + + /datum/light_template - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

light_template + + + +

+ +

Light templates. They describe how a light looks, and links that to names/icons that can be used when templating/debugging

+ + + + + + + + + + + + +

Vars

angleThe light angle we use
categoryWhat category to put this template in
colorThe light color we use
descDescription to display to the client
iconIcon to use to display this clientside
icon_stateIcon state to display clientside
idUnique id for this template
ignore_typeDo not load this template if its type matches the ignore type +This lets us do subtypes more nicely
nameUser friendly name, to display clientside
powerThe light power we use
rangeThe light range we use
spawn_typeThe type to spawn off create()

Procs

createCreate an atom with our light details
+

Var Details

angle + + + + +

+

The light angle we use

category + + + + +

+

What category to put this template in

color + + + + +

+

The light color we use

desc + + + + +

+

Description to display to the client

icon + + + + +

+

Icon to use to display this clientside

icon_state + + + + +

+

Icon state to display clientside

id + + + + +

+

Unique id for this template

ignore_type + + + + +

+

Do not load this template if its type matches the ignore type +This lets us do subtypes more nicely

name + + + + +

+

User friendly name, to display clientside

power + + + + +

+

The light power we use

range + + + + +

+

The light range we use

spawn_type + + + + +

+

The type to spawn off create()

Proc Details

create +

+

Create an atom with our light details

+ + + diff --git a/datum/light_template/read_light.html b/datum/light_template/read_light.html new file mode 100644 index 00000000000..870988c0712 --- /dev/null +++ b/datum/light_template/read_light.html @@ -0,0 +1,36 @@ + + + + + + + /datum/light_template/read_light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

read_light + + + +

+ +

Template that reads info off a light subtype

+

Vars

path_to_readTypepath to pull our icon/state and lighting details from
+

Var Details

path_to_read + + + + +

+

Typepath to pull our icon/state and lighting details from

+ + + diff --git a/datum/lighting_corner.html b/datum/lighting_corner.html new file mode 100644 index 00000000000..af09f4e3013 --- /dev/null +++ b/datum/lighting_corner.html @@ -0,0 +1,50 @@ + + + + + + + /datum/lighting_corner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lighting_corner + + + +

+ + + + +

Vars

largest_color_luminositythe maximum of lum_r, lum_g, and lum_b. if this is > 1 then the three cached color values are divided by this
needs_updatewhether we are to be added to SSlighting's corners_queue list for an update

Procs

displayDebug proc to aid in understanding how corners work
+

Var Details

largest_color_luminosity + + + + +

+

the maximum of lum_r, lum_g, and lum_b. if this is > 1 then the three cached color values are divided by this

needs_update + + + + +

+

whether we are to be added to SSlighting's corners_queue list for an update

Proc Details

display +

+

Debug proc to aid in understanding how corners work

+ + + diff --git a/datum/lighting_object.html b/datum/lighting_object.html new file mode 100644 index 00000000000..96f88987368 --- /dev/null +++ b/datum/lighting_object.html @@ -0,0 +1,50 @@ + + + + + + + /datum/lighting_object - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lighting_object + + + +

+ + + + +

Vars

affected_turfthe turf that our light is applied to
current_underlaythe underlay we are currently applying to our turf to apply light
needs_updatewhether we are already in the SSlighting.objects_queue list
+

Var Details

affected_turf + + + + +

+

the turf that our light is applied to

current_underlay + + + + +

+

the underlay we are currently applying to our turf to apply light

needs_update + + + + +

+

whether we are already in the SSlighting.objects_queue list

+ + + diff --git a/datum/log_category.html b/datum/log_category.html new file mode 100644 index 00000000000..09214b0cf2f --- /dev/null +++ b/datum/log_category.html @@ -0,0 +1,128 @@ + + + + + + + /datum/log_category - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

log_category + + + +

+ +

The main datum that contains all log entries for a category

+ + + + + + + + + + + + +

Vars

categoryThe category name
category_headerThe list of header information for this category. Used for log file re-initialization
config_flagIf set this config flag is checked to enable this log category
entriesList of log entries for this category
entry_countTotal number of entries this round so far
entry_flagsFlags to apply to our /datum/log_entry's +See code/__DEFINES/logging/dm
internal_formattingWhether the readable version of the log message is formatted internally instead of by rustg +IF YOU CHANGE THIS VERIFY LOGS ARE STILL PARSED CORRECTLY
master_categoryThe master category that contains this category
schema_versionThe schema version of this log category. +Expected format of "Major.Minor.Patch"
secretWhether or not this log should not be publically visible

Procs

create_entryAdd an entry to this category. It is very important that any data you provide doesn't hold references to anything!
get_output_fileAllows for category specific file splitting. Needs to accept a null entry for the default file. +If master_category it will always return the output of master_category.get_output_file(entry)
write_entryWrites an entry to the output file(s) for the category
+

Var Details

category + + + + +

+

The category name

category_header + + + + +

+

The list of header information for this category. Used for log file re-initialization

config_flag + + + + +

+

If set this config flag is checked to enable this log category

entries + + + + +

+

List of log entries for this category

entry_count + + + + +

+

Total number of entries this round so far

entry_flags + + + + +

+

Flags to apply to our /datum/log_entry's +See code/__DEFINES/logging/dm

internal_formatting + + + + +

+

Whether the readable version of the log message is formatted internally instead of by rustg +IF YOU CHANGE THIS VERIFY LOGS ARE STILL PARSED CORRECTLY

master_category + + + + +

+

The master category that contains this category

schema_version + + + + +

+

The schema version of this log category. +Expected format of "Major.Minor.Patch"

secret + + + + +

+

Whether or not this log should not be publically visible

Proc Details

create_entry +

+

Add an entry to this category. It is very important that any data you provide doesn't hold references to anything!

get_output_file +

+

Allows for category specific file splitting. Needs to accept a null entry for the default file. +If master_category it will always return the output of master_category.get_output_file(entry)

write_entry +

+

Writes an entry to the output file(s) for the category

+ + + diff --git a/datum/log_entry.html b/datum/log_entry.html new file mode 100644 index 00000000000..b3b1a88cbc3 --- /dev/null +++ b/datum/log_entry.html @@ -0,0 +1,122 @@ + + + + + + + /datum/log_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

log_entry + + + +

+ +

A datum which contains log information.

+ + + + + + + + + + + + +

Vars

categoryCategory of the log entry.
dataData of the log entry; optional.
flagsBitfield that describes how exactly to log stuff exactly +See code/__DEFINES/logging/dm
idUnique id of the log entry.
messageMessage of the log entry.
next_idNext id to assign to a log entry.
schema_versionSchema version of the log entry.
semver_storeSemver store of the log entry, used to store the schema of data entries
timestampUnix timestamp of the log entry.

Procs

to_json_textConverts the log entry to a JSON string.
to_readable_textConverts the log entry to a human-readable string.
write_entry_to_fileWrites the log entry to a file.
write_readable_entry_to_fileWrites the log entry to a file as a human-readable string.
+

Var Details

category + + + + +

+

Category of the log entry.

data + + + + +

+

Data of the log entry; optional.

flags + + + + +

+

Bitfield that describes how exactly to log stuff exactly +See code/__DEFINES/logging/dm

id + + + + +

+

Unique id of the log entry.

message + + + + +

+

Message of the log entry.

next_id + + + + +

+

Next id to assign to a log entry.

schema_version + + + + +

+

Schema version of the log entry.

semver_store + + + + +

+

Semver store of the log entry, used to store the schema of data entries

timestamp + + + + +

+

Unix timestamp of the log entry.

Proc Details

to_json_text +

+

Converts the log entry to a JSON string.

to_readable_text +

+

Converts the log entry to a human-readable string.

write_entry_to_file +

+

Writes the log entry to a file.

write_readable_entry_to_file +

+

Writes the log entry to a file as a human-readable string.

+ + + diff --git a/datum/log_holder.html b/datum/log_holder.html new file mode 100644 index 00000000000..2a38272e71c --- /dev/null +++ b/datum/log_holder.html @@ -0,0 +1,152 @@ + + + + + + + /datum/log_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

log_holder + + + +

+ +

Main datum to manage logging actions

+ + + + + + + + + + + + + + + + +

Vars

category_group_treecategory nesting tree for ui purposes
data_cacheCached ui_data
disabled_categoriestypecache list for categories that exist but are disabled
human_readable_enabledWhether or not logging as human readable text is enabled
last_data_updateLast time the ui_data was updated
log_categoriesAssociative: category -> datum
logging_start_timestampWhen the log_holder first initialized
round_idRound ID, if set, that logging is initialized for
waiting_log_callslist of Log args waiting for processing pending log initialization

Procs

LogAdds an entry to the given category, if the category is disabled it will not be logged. +If the category does not exist, we will CRASH and log to the error category. +the data list is optional and will be recursively json serialized.
assemble_log_category_treeIterates over all log category types to assemble them into a tree of main category -> (sub category)[] while also checking for loops and sanity errors
get_recovery_file_forGets a recovery file for the given path. Caches the last known recovery path for each path.
init_category_fileSets up the given category's file and header.
init_log_categoryInitializes the given log category and populates the list of contained categories based on the sub category list
init_loggingAssembles basic information for logging, creating the log category datums and checking for config flags as required
recursive_jsonifyRecursively converts an associative list of datums into their jsonified(list) form
shutdown_loggingTells the log_holder to not allow any more logging to be done, and dumps all categories to their json file
+

Var Details

category_group_tree + + + + +

+

category nesting tree for ui purposes

data_cache + + + + +

+

Cached ui_data

disabled_categories + + + + +

+

typecache list for categories that exist but are disabled

human_readable_enabled + + + + +

+

Whether or not logging as human readable text is enabled

last_data_update + + + + +

+

Last time the ui_data was updated

log_categories + + + + +

+

Associative: category -> datum

logging_start_timestamp + + + + +

+

When the log_holder first initialized

round_id + + + + +

+

Round ID, if set, that logging is initialized for

waiting_log_calls + + + + +

+

list of Log args waiting for processing pending log initialization

Proc Details

Log +

+

Adds an entry to the given category, if the category is disabled it will not be logged. +If the category does not exist, we will CRASH and log to the error category. +the data list is optional and will be recursively json serialized.

assemble_log_category_tree +

+

Iterates over all log category types to assemble them into a tree of main category -> (sub category)[] while also checking for loops and sanity errors

get_recovery_file_for +

+

Gets a recovery file for the given path. Caches the last known recovery path for each path.

init_category_file +

+

Sets up the given category's file and header.

init_log_category +

+

Initializes the given log category and populates the list of contained categories based on the sub category list

init_logging +

+

Assembles basic information for logging, creating the log category datums and checking for config flags as required

recursive_jsonify +

+

Recursively converts an associative list of datums into their jsonified(list) form

shutdown_logging +

+

Tells the log_holder to not allow any more logging to be done, and dumps all categories to their json file

+ + + diff --git a/datum/looping_sound.html b/datum/looping_sound.html new file mode 100644 index 00000000000..3783718ffe6 --- /dev/null +++ b/datum/looping_sound.html @@ -0,0 +1,335 @@ + + + + + + + /datum/looping_sound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

looping_sound + + + +

+ +

A datum for sounds that need to loop, with a high amount of configurability.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

audio_indexThe index of the current song we're playing in the mid_sounds list, only used if in_order is used +This is immediately set to 1, so we start the index at 0
chanceChance per loop to play a mid_sound.
cut_listIf we're using cut_mid, this is the list we cut from
directIf true, plays directly to provided atoms instead of from them.
each_onceIf we should always play each sound once per loop of all sounds. Weights here only really effect order, and could be disgarded
end_sound(soundfile) The sound played after the main loop has concluded.
end_volumeOverride for volume of end sound.
extra_rangeThe extra range of the sound in tiles, defaults to 0.
falloff_distanceThe falloff distance of the sound,
falloff_exponentHow much the sound will be affected by falloff per tile.
ignore_wallsAre we ignoring walls? Defaults to TRUE.
in_orderWhether if the sounds should be played in order or not. Defaults to FALSE.
loop_startedHas the looping started yet?
max_loopsThe max amount of loops to run for.
mid_lengthThe length of time to wait between playing mid_sounds.
mid_length_varyAmount of time to add/take away from the mid length, randomly
mid_sounds(list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.
parentThe source of the sound, or the recipient of the sound.
pressure_affectedAre the sounds affected by pressure? Defaults to TRUE.
skip_starting_soundsDo we skip the starting sounds?
sound_channelSound channel to play on, random if not provided
start_lengthHow long to wait before starting the main loop after playing start_sound.
start_sound(soundfile) Played before starting the mid_sounds loop.
start_volumeOverride for volume of start sound.
timer_idThe ID of the timer that's used to loop the sounds.
use_reverbAre the sounds subject to reverb? Defaults to TRUE.
varyWhether or not the sounds will vary in pitch when played.
volumeSound output volume.

Procs

get_soundReturns the sound we should now be playing.
handle_parent_delA simple proc to handle the deletion of the parent, so that it does not force it to hard-delete.
is_activeA simple proc that lets us know whether the sounds are currently active or not.
on_startA proc that's there to handle delaying the main sounds if there's a start_sound, and simply starting the sound loop in general.
on_stopSimple proc that's executed when the looping sound is stopped, so that the end_sound can be played, if there's one.
playThe proc that handles actually playing the sound.
set_mid_lengthApplies a new mid length to the sound
set_parentA simple proc to change who our parent is set to, also handling registering and unregistering the QDELETING signals on the parent.
sound_loopA simple proc handling the looping of the sound itself.
startThe proc to actually kickstart the whole sound sequence. This is what you should call to start the looping_sound.
start_sound_loopThe proc that handles starting the actual core sound loop.
stopThe proc to call to stop the sound loop.
stop_currentStops sound playing on current channel, if specified
+

Var Details

audio_index + + + + +

+

The index of the current song we're playing in the mid_sounds list, only used if in_order is used +This is immediately set to 1, so we start the index at 0

chance + + + + +

+

Chance per loop to play a mid_sound.

cut_list + + + + +

+

If we're using cut_mid, this is the list we cut from

direct + + + + +

+

If true, plays directly to provided atoms instead of from them.

each_once + + + + +

+

If we should always play each sound once per loop of all sounds. Weights here only really effect order, and could be disgarded

end_sound + + + + +

+

(soundfile) The sound played after the main loop has concluded.

end_volume + + + + +

+

Override for volume of end sound.

extra_range + + + + +

+

The extra range of the sound in tiles, defaults to 0.

falloff_distance + + + + +

+

The falloff distance of the sound,

falloff_exponent + + + + +

+

How much the sound will be affected by falloff per tile.

ignore_walls + + + + +

+

Are we ignoring walls? Defaults to TRUE.

in_order + + + + +

+

Whether if the sounds should be played in order or not. Defaults to FALSE.

loop_started + + + + +

+

Has the looping started yet?

max_loops + + + + +

+

The max amount of loops to run for.

mid_length + + + + +

+

The length of time to wait between playing mid_sounds.

mid_length_vary + + + + +

+

Amount of time to add/take away from the mid length, randomly

mid_sounds + + + + +

+

(list or soundfile) Since this can be either a list or a single soundfile you can have random sounds. May contain further lists but must contain a soundfile at the end.

parent + + + + +

+

The source of the sound, or the recipient of the sound.

pressure_affected + + + + +

+

Are the sounds affected by pressure? Defaults to TRUE.

skip_starting_sounds + + + + +

+

Do we skip the starting sounds?

sound_channel + + + + +

+

Sound channel to play on, random if not provided

start_length + + + + +

+

How long to wait before starting the main loop after playing start_sound.

start_sound + + + + +

+

(soundfile) Played before starting the mid_sounds loop.

start_volume + + + + +

+

Override for volume of start sound.

timer_id + + + + +

+

The ID of the timer that's used to loop the sounds.

use_reverb + + + + +

+

Are the sounds subject to reverb? Defaults to TRUE.

vary + + + + +

+

Whether or not the sounds will vary in pitch when played.

volume + + + + +

+

Sound output volume.

Proc Details

get_sound +

+

Returns the sound we should now be playing.

handle_parent_del +

+

A simple proc to handle the deletion of the parent, so that it does not force it to hard-delete.

is_active +

+

A simple proc that lets us know whether the sounds are currently active or not.

on_start +

+

A proc that's there to handle delaying the main sounds if there's a start_sound, and simply starting the sound loop in general.

on_stop +

+

Simple proc that's executed when the looping sound is stopped, so that the end_sound can be played, if there's one.

play +

+

The proc that handles actually playing the sound.

+

Arguments:

+

set_mid_length +

+

Applies a new mid length to the sound

set_parent +

+

A simple proc to change who our parent is set to, also handling registering and unregistering the QDELETING signals on the parent.

sound_loop +

+

A simple proc handling the looping of the sound itself.

+

Arguments:

+

start +

+

The proc to actually kickstart the whole sound sequence. This is what you should call to start the looping_sound.

+

Arguments:

+

start_sound_loop +

+

The proc that handles starting the actual core sound loop.

stop +

+

The proc to call to stop the sound loop.

+

Arguments:

+

stop_current +

+

Stops sound playing on current channel, if specified

+ + + diff --git a/datum/lua_editor.html b/datum/lua_editor.html new file mode 100644 index 00000000000..827307efaea --- /dev/null +++ b/datum/lua_editor.html @@ -0,0 +1,64 @@ + + + + + + + /datum/lua_editor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lua_editor + + + +

+ + + + + + +

Vars

argumentsArguments for a function call or coroutine resume
force_modalIf set, we will force the editor's modal to be this
force_view_chunkIf set, we will force the editor to look at this chunk
pageThe log page we are currently on
show_global_tableIf not set, the global table will not be shown in the lua editor
+

Var Details

arguments + + + + +

+

Arguments for a function call or coroutine resume

force_modal + + + + +

+

If set, we will force the editor's modal to be this

force_view_chunk + + + + +

+

If set, we will force the editor to look at this chunk

page + + + + +

+

The log page we are currently on

show_global_table + + + + +

+

If not set, the global table will not be shown in the lua editor

+ + + diff --git a/datum/lua_state.html b/datum/lua_state.html new file mode 100644 index 00000000000..48cdcea0576 --- /dev/null +++ b/datum/lua_state.html @@ -0,0 +1,87 @@ + + + + + + + /datum/lua_state - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lua_state + + + +

+ + + + + + + + + +

Vars

ckey_last_runnerCkey of the last user who ran a script on this lua state.
globalsA list of all the variables in the state's environment
internal_idThe internal ID of the lua state stored in auxlua's global map
logA log of every return, yield, and error for each chunk execution and function call
referencesA list in which to store datums and lists instantiated in lua, ensuring that they don't get garbage collected

Procs

clear_on_deleteCalled by lua scripts when they add an atom to var/list/references so that it gets cleared up on delete.
let_soft_deleteCalled by lua scripts when an atom they've added should soft delete and this state should stop tracking it. +Needs to unregister all signals.
resumePrefer calling SSlua.queue_resume over directly calling this
+

Var Details

ckey_last_runner + + + + +

+

Ckey of the last user who ran a script on this lua state.

globals + + + + +

+

A list of all the variables in the state's environment

internal_id + + + + +

+

The internal ID of the lua state stored in auxlua's global map

log + + + + +

+

A log of every return, yield, and error for each chunk execution and function call

references + + + + +

+

A list in which to store datums and lists instantiated in lua, ensuring that they don't get garbage collected

Proc Details

clear_on_delete +

+

Called by lua scripts when they add an atom to var/list/references so that it gets cleared up on delete.

let_soft_delete +

+

Called by lua scripts when an atom they've added should soft delete and this state should stop tracking it. +Needs to unregister all signals.

resume +

+

Prefer calling SSlua.queue_resume over directly calling this

+ + + diff --git a/datum/mafia_ability.html b/datum/mafia_ability.html new file mode 100644 index 00000000000..142c6696ef1 --- /dev/null +++ b/datum/mafia_ability.html @@ -0,0 +1,129 @@ + + + + + + + /datum/mafia_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_ability + + + +

+ + + + + + + + + + + + +

Vars

action_priorityThe priority level this action must be sent at. Setting this to null will prevent it from being triggered automatically. +(COMSIG_MAFIA_NIGHT_PRE_ACTION_PHASE|COMSIG_MAFIA_NIGHT_ACTION_PHASE|COMSIG_MAFIA_NIGHT_KILL_PHASE)
host_roleThe mafia role that holds this ability.
target_roleThe mafia role this ability is targeting, if necessary.
use_flagsWhether this ability can be used on yourself. Selections: (CAN_USE_ON_OTHERS | CAN_USE_ON_SELF | CAN_USE_ON_DEAD)
using_abilityBoolean on whether the ability was selected to be used during the proper period.
valid_use_periodWhen the ability can be used: (MAFIA_PHASE_DAY | MAFIA_PHASE_VOTING | MAFIA_PHASE_NIGHT)

Procs

clean_action_refsCalled when refs need to be cleared, when the target is no longer set.
handle_speechHandles special messagese sent by ability-specific stuff (such as changeling chat).
perform_action_targetCalled when using the ability. +Will first check if you are using the ability, then whether you can use it. +Finally it will check if you are interrupted, then will pass that you've performed it. +Args: +game - The Mafia controller that holds reference to the game. +day_target - Set when using actions during the day, this is the person that is the target during this phase.
set_target##set_target
validate_action_targetUsed to check if this ability can be used on a potential target. +Args: +game - The Mafia controller that holds reference to the game. +potential_target - The player we are attempting to validate the action on. +silent - Whether to give feedback to the player about why the action cannot be used.
+

Var Details

action_priority + + + + +

+

The priority level this action must be sent at. Setting this to null will prevent it from being triggered automatically. +(COMSIG_MAFIA_NIGHT_PRE_ACTION_PHASE|COMSIG_MAFIA_NIGHT_ACTION_PHASE|COMSIG_MAFIA_NIGHT_KILL_PHASE)

host_role + + + + +

+

The mafia role that holds this ability.

target_role + + + + +

+

The mafia role this ability is targeting, if necessary.

use_flags + + + + +

+

Whether this ability can be used on yourself. Selections: (CAN_USE_ON_OTHERS | CAN_USE_ON_SELF | CAN_USE_ON_DEAD)

using_ability + + + + +

+

Boolean on whether the ability was selected to be used during the proper period.

valid_use_period + + + + +

+

When the ability can be used: (MAFIA_PHASE_DAY | MAFIA_PHASE_VOTING | MAFIA_PHASE_NIGHT)

Proc Details

clean_action_refs +

+

Called when refs need to be cleared, when the target is no longer set.

handle_speech +

+

Handles special messagese sent by ability-specific stuff (such as changeling chat).

perform_action_target +

+

Called when using the ability. +Will first check if you are using the ability, then whether you can use it. +Finally it will check if you are interrupted, then will pass that you've performed it. +Args: +game - The Mafia controller that holds reference to the game. +day_target - Set when using actions during the day, this is the person that is the target during this phase.

set_target +

+

##set_target

+

Used for Night abilities ONLY +Sets the ability's target, which will cause the action to be performed on them at the end of the night. +Subtypes can override this for things like self-abilities (such as shooting visitors).

validate_action_target +

+

Used to check if this ability can be used on a potential target. +Args: +game - The Mafia controller that holds reference to the game. +potential_target - The player we are attempting to validate the action on. +silent - Whether to give feedback to the player about why the action cannot be used.

+ + + diff --git a/datum/mafia_ability/attack_player.html b/datum/mafia_ability/attack_player.html new file mode 100644 index 00000000000..1ffb32e467f --- /dev/null +++ b/datum/mafia_ability/attack_player.html @@ -0,0 +1,44 @@ + + + + + + + /datum/mafia_ability/attack_player - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

attack_player + + + +

+ +

Attack

+

During the night, attacks a player in attempts to kill them.

+ +

Vars

attack_actionThe message told to the player when they are killed.
honorableWhether the player will suicide if they hit a Town member.
+

Var Details

attack_action + + + + +

+

The message told to the player when they are killed.

honorable + + + + +

+

Whether the player will suicide if they hit a Town member.

+ + + diff --git a/datum/mafia_ability/attack_visitors.html b/datum/mafia_ability/attack_visitors.html new file mode 100644 index 00000000000..51fe111edf5 --- /dev/null +++ b/datum/mafia_ability/attack_visitors.html @@ -0,0 +1,29 @@ + + + + + + + /datum/mafia_ability/attack_visitors - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

attack_visitors + + + +

+ +

Alert

+

During the night, goes on watch, killing all players who visit.

+ + + diff --git a/datum/mafia_ability/changeling_kill.html b/datum/mafia_ability/changeling_kill.html new file mode 100644 index 00000000000..f52faf434ba --- /dev/null +++ b/datum/mafia_ability/changeling_kill.html @@ -0,0 +1,46 @@ + + + + + + + /datum/mafia_ability/changeling_kill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

changeling_kill + + + +

+ +

Changeling kill

+

During the night, changelings vote for who to kill. +The attacker will always be the first person in the list, killing them will go to the next.

+ +

Vars

ling_sentBoolean on whether a Changeling has been sent to attack someone yet.

Procs

handle_speechhandle_message
+

Var Details

ling_sent + + + + +

+

Boolean on whether a Changeling has been sent to attack someone yet.

Proc Details

handle_speech +

+

handle_message

+

During the night, Changelings talking will instead redirect it to Changeling chat.

+ + + diff --git a/datum/mafia_ability/flicker_rampage.html b/datum/mafia_ability/flicker_rampage.html new file mode 100644 index 00000000000..776d1ce922a --- /dev/null +++ b/datum/mafia_ability/flicker_rampage.html @@ -0,0 +1,38 @@ + + + + + + + /datum/mafia_ability/flicker_rampage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flicker_rampage + + + +

+ +

Flicker/Rampage

+

During the night, turns the lights off in a player's house. +If they visit someone with the lights off again, they will kill all players they previously visited.

+

Vars

darkened_playersList of all players in the dark, which we can rampage.
+

Var Details

darkened_players + + + + +

+

List of all players in the dark, which we can rampage.

+ + + diff --git a/datum/mafia_ability/heal.html b/datum/mafia_ability/heal.html new file mode 100644 index 00000000000..f5a12da567a --- /dev/null +++ b/datum/mafia_ability/heal.html @@ -0,0 +1,38 @@ + + + + + + + /datum/mafia_ability/heal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heal + + + +

+ +

Heal

+

During the night, Healing will prevent a player from dying. +Can be used to protect yourself, but only once.

+

Vars

saving_messageThe message sent when you've successfully saved someone.
+

Var Details

saving_message + + + + +

+

The message sent when you've successfully saved someone.

+ + + diff --git a/datum/mafia_ability/investigate.html b/datum/mafia_ability/investigate.html new file mode 100644 index 00000000000..23d37a15a31 --- /dev/null +++ b/datum/mafia_ability/investigate.html @@ -0,0 +1,29 @@ + + + + + + + /datum/mafia_ability/investigate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

investigate + + + +

+ +

Investigate

+

During the night, Investigating will reveal the person's faction.

+ + + diff --git a/datum/mafia_ability/reaveal_role.html b/datum/mafia_ability/reaveal_role.html new file mode 100644 index 00000000000..e400113b396 --- /dev/null +++ b/datum/mafia_ability/reaveal_role.html @@ -0,0 +1,30 @@ + + + + + + + /datum/mafia_ability/reaveal_role - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

reaveal_role + + + +

+ +

Reveal

+

During the night, revealing someone will announce their role when day comes. +This is one time use, we'll delete ourselves once done.

+ + + diff --git a/datum/mafia_ability/roleblock.html b/datum/mafia_ability/roleblock.html new file mode 100644 index 00000000000..a06f514f943 --- /dev/null +++ b/datum/mafia_ability/roleblock.html @@ -0,0 +1,30 @@ + + + + + + + /datum/mafia_ability/roleblock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

roleblock + + + +

+ +

Roleblock

+

During the night, prevents a player from using their role abilities. +This is done before anything else.

+ + + diff --git a/datum/mafia_ability/seance.html b/datum/mafia_ability/seance.html new file mode 100644 index 00000000000..beae4d12e1f --- /dev/null +++ b/datum/mafia_ability/seance.html @@ -0,0 +1,30 @@ + + + + + + + /datum/mafia_ability/seance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

seance + + + +

+ +

Pray

+

During the night, revealing someone will announce their role when day comes. +This is one time use, we'll delete ourselves once done.

+ + + diff --git a/datum/mafia_ability/self_reveal.html b/datum/mafia_ability/self_reveal.html new file mode 100644 index 00000000000..c9829fbb1cb --- /dev/null +++ b/datum/mafia_ability/self_reveal.html @@ -0,0 +1,30 @@ + + + + + + + /datum/mafia_ability/self_reveal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

self_reveal + + + +

+ +

Self reveal

+

During the day, reveals your role to everyone and gives you a voting power boost, +however it will additionally make you unable to be protected.

+ + + diff --git a/datum/mafia_ability/thoughtfeeder.html b/datum/mafia_ability/thoughtfeeder.html new file mode 100644 index 00000000000..f738234c424 --- /dev/null +++ b/datum/mafia_ability/thoughtfeeder.html @@ -0,0 +1,29 @@ + + + + + + + /datum/mafia_ability/thoughtfeeder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

thoughtfeeder + + + +

+ +

Thoughtfeeding

+

During the night, thoughtfeeding will reveal the person's exact role.

+ + + diff --git a/datum/mafia_ability/vest.html b/datum/mafia_ability/vest.html new file mode 100644 index 00000000000..1ba74c3b719 --- /dev/null +++ b/datum/mafia_ability/vest.html @@ -0,0 +1,37 @@ + + + + + + + /datum/mafia_ability/vest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vest + + + +

+ +

Vest

+

During the night, Vesting will prevent the user from dying.

+

Vars

chargesAmount of vests that can be used until the power deletes itself.
+

Var Details

charges + + + + +

+

Amount of vests that can be used until the power deletes itself.

+ + + diff --git a/datum/mafia_ability/voting.html b/datum/mafia_ability/voting.html new file mode 100644 index 00000000000..b55440716b5 --- /dev/null +++ b/datum/mafia_ability/voting.html @@ -0,0 +1,29 @@ + + + + + + + /datum/mafia_ability/voting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

voting + + + +

+ +

Voting

+

During the vote period, voting for someone is showing your intent to get them lynched.

+ + + diff --git a/datum/mafia_controller.html b/datum/mafia_controller.html new file mode 100644 index 00000000000..c3320b45ba6 --- /dev/null +++ b/datum/mafia_controller.html @@ -0,0 +1,553 @@ + + + + + + + /datum/mafia_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_controller + + + +

+ +

The mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_rolesall roles in the game, dead or alive. check their game status if you only want living or dead.
current_maptemplate picked when the game starts. used for the name and desc reading
current_setup_textReadable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")
custom_setupfor debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over
default_role_listThe 12 roles used in a default game, selected randomly from each list, going in order of position. +This is balanced for player amount, regardless of players you'll still be about equal town and evils.
early_startwas our game forced to start early?
judgement_abstain_votesand these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!
landmarksspawn points for players, each one has a house
living_rolesall living roles in the game, removed on death.
map_deletermap generation tool that deletes the current map after the game finishes
next_phase_timercurrent timer for phase
on_trialcurrent role on trial for the judgement phase, will die if guilty is greater than innocent
phasewhat part of the game you're playing in. day phases, night phases, judgement phases, etc.
player_outfitstarting outfit for all mafia players. it's just a grey jumpsuit.
player_role_lookupexists to speed up role retrieval, it's a dict. +player_role_lookup[player ckey/PDA] will give you the role they play
time_speedupHow much faster the game should be, which triggers when half the players are dead.
town_center_landmarktown center for when people get put on trial
turnhow long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.
votesgroup voting on one person, like putting people to trial or choosing who to kill as mafia

Procs

add_setup_roleHelper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.
award_roleLets the game award roles with all their checks and sanity, prevents achievements given out for debug games
basic_setupCalled when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.
check_signupsFilters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.
check_start_votesChecks if we have enough early start votes to begin the game early.
check_trialPlayers have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.
check_victoryChecks to see if a faction (or solo antagonist) has won.
create_bodiesCalled when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key
display_votesAdds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:
end_gameCleans up the game, resetting variables back to the beginning and removing the map with the generator.
filter_playersHandles the filtering of disconected signups when picking who gets to be in the round.
forced_setupGenerates a forced role list and runs the game with the current number of signed-up players.
generate_standard_setupReturns a standard setup, with certain important/unique roles guaranteed.
get_random_voterReturns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:
get_role_playerFrom a 'user' (Either a mob or ModPC) or TGUI UI, will try to find the Mafia role from 'player_role_lookup'.
get_vote_countReturns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:
get_vote_winnerReturns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:
lockdownAfter the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.
lynchPlayers have voted innocent or guilty on the person on trial, and that person is now killed or returned home.
prepare_gameTriggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game
reset_votesClears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched
resolve_nightThe end of the night, and a series of signals for the order of events on a night.
send_homeTeenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:
send_messageSends a global message to all players, or just 'team' if set.
signup_mafiaSigns the player up for Mafia, or removes them from the list if they are already +signed up. +Args:
start_dayHow every day starts.
start_gameThe game by this point is now all set up, and so we can put people in their bodies and start the first phase.
start_nightThe actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.
start_the_endThe end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point. +We won't delete ourselves in a certain amount of time in unit tests, as the unit test will handle our deletion instead.
start_voting_phasePlayers have finished the discussion period, and now must put up someone to the chopping block.
toggle_night_curtainsShuts poddoors attached to mafia. +Arguments:
try_autostartCalled when someone signs up, and sees if there are enough people in the signup list to begin.
vote_forProc that goes off when players vote for something with their mafia panel.
+

Var Details

all_roles + + + + +

+

all roles in the game, dead or alive. check their game status if you only want living or dead.

current_map + + + + +

+

template picked when the game starts. used for the name and desc reading

current_setup_text + + + + +

+

Readable list of roles in current game, sent to the tgui panel for roles list > list("Psychologist x1", "Clown x2")

custom_setup + + + + +

+

for debugging and testing a full game, or adminbuse. If this is not empty, it will use this as a setup. clears when game is over

default_role_list + + + + +

+

The 12 roles used in a default game, selected randomly from each list, going in order of position. +This is balanced for player amount, regardless of players you'll still be about equal town and evils.

early_start + + + + +

+

was our game forced to start early?

judgement_abstain_votes + + + + +

+

and these (judgement_innocent_votes, judgement_abstain_votes and judgement_guilty_votes) are the judgement phase votes, aka people sorting themselves into guilty and innocent, and "eh, i don't really care" lists. whichever has more inno or guilty wins!

landmarks + + + + +

+

spawn points for players, each one has a house

living_roles + + + + +

+

all living roles in the game, removed on death.

map_deleter + + + + +

+

map generation tool that deletes the current map after the game finishes

next_phase_timer + + + + +

+

current timer for phase

on_trial + + + + +

+

current role on trial for the judgement phase, will die if guilty is greater than innocent

phase + + + + +

+

what part of the game you're playing in. day phases, night phases, judgement phases, etc.

player_outfit + + + + +

+

starting outfit for all mafia players. it's just a grey jumpsuit.

player_role_lookup + + + + +

+

exists to speed up role retrieval, it's a dict. +player_role_lookup[player ckey/PDA] will give you the role they play

time_speedup + + + + +

+

How much faster the game should be, which triggers when half the players are dead.

town_center_landmark + + + + +

+

town center for when people get put on trial

turn + + + + +

+

how long the game has gone on for, changes with every sunrise. day one, night one, day two, etc.

votes + + + + +

+

group voting on one person, like putting people to trial or choosing who to kill as mafia

Proc Details

add_setup_role +

+

Helper proc that adds a random role of a type to a setup. if it doesn't exist in the setup, it adds the path to the list and otherwise bumps the path in the list up one. unique roles can only get added once.

award_role +

+

Lets the game award roles with all their checks and sanity, prevents achievements given out for debug games

+

Arguments:

+

basic_setup +

+

Called when enough players have signed up to fill a setup. DOESN'T NECESSARILY MEAN THE GAME WILL START.

+

Checks for a custom setup, if so gets the required players from that and if not it sets the player requirement to MAFIA_MAX_PLAYER_COUNT and generates one IF basic setup starts a game. +Checks if everyone signed up is an observer, and is still connected. If people aren't, they're removed from the list. +If there aren't enough players post sanity, it aborts. otherwise, it selects enough people for the game and starts preparing the game for real.

check_signups +

+

Filters inactive player into a different list until they reconnect, and removes players who are no longer ghosts.

+

If a disconnected player gets a non-ghost mob and reconnects, they will be first put back into mafia_signup then filtered by that.

check_start_votes +

+

Checks if we have enough early start votes to begin the game early.

+

Checks if we have the bare minimum of three signups, then checks if the number of early voters is at least half of the total +number of active signups.

check_trial +

+

Players have voted someone up, and now the person must defend themselves while the town votes innocent or guilty.

+

What players do in this phase:

+

check_victory +

+

Checks to see if a faction (or solo antagonist) has won.

+

Calculates in this order:

+

create_bodies +

+

Called when the game is setting up, AFTER map is loaded but BEFORE the phase timers start. Creates and places each role's body and gives the correct player key

+

Notably:

+

display_votes +

+

Adds mutable appearances to people who get publicly voted on (so not night votes) showing how many people are picking them +Arguments:

+

end_game +

+

Cleans up the game, resetting variables back to the beginning and removing the map with the generator.

filter_players +

+

Handles the filtering of disconected signups when picking who gets to be in the round.

+

Filters out the player list, from a given max_players count. If more players are found +in the signup list than max_players, those players will be notified that they will not be put into the game.

+

This should only be run as we are in the process of starting a game.

+

max_players - The maximum number of keys to put in our return list before we start telling people they're not getting in. +filtered_keys_and_pdas - A list of player ckeys and PDAs, to be included in the game.

forced_setup +

+

Generates a forced role list and runs the game with the current number of signed-up players.

+

Generates a randomized setup, and begins the game with everyone currently signed up.

generate_standard_setup +

+

Returns a standard setup, with certain important/unique roles guaranteed.

+

please check the variables at the top of the proc to see how much of each role types it picks +Args: +req_players - The amount of players needed.

get_random_voter +

+

Returns a random person who voted for whatever vote (day vote, night kill vote) +Arguments:

+

get_role_player +

+

From a 'user' (Either a mob or ModPC) or TGUI UI, will try to find the Mafia role from 'player_role_lookup'.

get_vote_count +

+

Returns how many people voted for the role, in whatever vote (day vote, night kill vote) +Arguments:

+

get_vote_winner +

+

Returns whichever role got the most votes, in whatever vote (day vote, night kill vote) +returns null if no votes +Arguments:

+

lockdown +

+

After the voting and judgement phases, the game goes to night shutting the windows and beginning night with a proc.

lynch +

+

Players have voted innocent or guilty on the person on trial, and that person is now killed or returned home.

+

What players do in this phase:

+

prepare_game +

+

Triggers at beginning of the game when there is a confirmed list of valid, ready players. +Creates a 100% ready game that has NOT started (no players in bodies) +Followed by start game

+

Does the following:

+

reset_votes +

+

Clears out the votes of a certain type (day votes, mafia kill votes) while leaving others untouched

resolve_night +

+

The end of the night, and a series of signals for the order of events on a night.

+

Order of events, and what they mean:

+

send_home +

+

Teenie helper proc to move players back to their home. +Used in the above, but also used in the debug button "send all players home" +Arguments:

+

send_message +

+

Sends a global message to all players, or just 'team' if set.

signup_mafia +

+

Signs the player up for Mafia, or removes them from the list if they are already +signed up. +Args:

+

start_day +

+

How every day starts.

+

What players do in this phase:

+

start_game +

+

The game by this point is now all set up, and so we can put people in their bodies and start the first phase.

+

Does the following:

+

start_night +

+

The actual start of night for players. Mostly info is given at the start of the night as the end of the night is when votes and actions are submitted and tried.

+

What players do in this phase:

+

start_the_end +

+

The end of the game is in two procs, because we want a bit of time for players to see eachothers roles. +Because of how check_victory works, the game is halted in other places by this point. +We won't delete ourselves in a certain amount of time in unit tests, as the unit test will handle our deletion instead.

+

What players do in this phase:

+

start_voting_phase +

+

Players have finished the discussion period, and now must put up someone to the chopping block.

+

What players do in this phase:

+

toggle_night_curtains +

+

Shuts poddoors attached to mafia. +Arguments:

+

try_autostart +

+

Called when someone signs up, and sees if there are enough people in the signup list to begin.

+

Only checks if everyone is actually valid to start (still connected and an observer) if there are enough players (basic_setup)

vote_for +

+

Proc that goes off when players vote for something with their mafia panel.

+

If teams, it hides the tally overlay and only sends the vote messages to the team that is voting +Arguments:

+
+ + + diff --git a/datum/mafia_role.html b/datum/mafia_role.html new file mode 100644 index 00000000000..f068d9ace76 --- /dev/null +++ b/datum/mafia_role.html @@ -0,0 +1,188 @@ + + + + + + + /datum/mafia_role - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mafia_role + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

game_statusso mafia have to also kill them to have a majority
hud_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
mafia_alertThe mafia popup we edit text to give different alerts for (such as when to vote).
mafia_panelThe Mafia innate action panel that allows players to view the game's state.
note_chat_sending_cooldownThe cooldown between being able to send your will in chat.
player_keyThe ckey of the person playing as this Mafia role, CAN BE NULL IN FAVOR OF player_pda.
player_pdaThe PDA of the person playing as this Mafia role, CAN BE NULL IN FAVOR OF player_key.
revealed_iconicon state in the mafia dmi of the hud of the role, used in the mafia ui
revealed_outfitwhat they get equipped with when they are revealed
role_flagsrole flags (special status of roles like detection immune)
role_messagesList of all messages this role got throughout the game.
role_typehow the random setup chooses which roles get put in
role_unique_actionsList of all mafia abilities this role is able to perform.
special_ui_themeset this to something cool for antagonists and their window will look different
vote_powerhow many votes submitted when you vote. used in voting and deciding victory.
winner_awardwhat the role gets when it wins a game
written_notesThe player's written notes, that they can send to chat at any time.

Procs

handle_speechhandle_speech
killTests kill immunities, if nothing prevents the kill, kills this role.
put_player_in_bodyPuts the player in their body and keeps track of their previous one to put them back in later. +Adds the playing_mafia trait so people examining them will know why they're currently lacking a soul.
send_message_to_playersend_message_to_player
+

Var Details

game_status + + + + +

+

so mafia have to also kill them to have a majority

hud_icon + + + + +

+

icon state in the mafia dmi of the hud of the role, used in the mafia ui

mafia_alert + + + + +

+

The mafia popup we edit text to give different alerts for (such as when to vote).

mafia_panel + + + + +

+

The Mafia innate action panel that allows players to view the game's state.

note_chat_sending_cooldown + + + + +

+

The cooldown between being able to send your will in chat.

player_key + + + + +

+

The ckey of the person playing as this Mafia role, CAN BE NULL IN FAVOR OF player_pda.

player_pda + + + + +

+

The PDA of the person playing as this Mafia role, CAN BE NULL IN FAVOR OF player_key.

revealed_icon + + + + +

+

icon state in the mafia dmi of the hud of the role, used in the mafia ui

revealed_outfit + + + + +

+

what they get equipped with when they are revealed

role_flags + + + + +

+

role flags (special status of roles like detection immune)

role_messages + + + + +

+

List of all messages this role got throughout the game.

role_type + + + + +

+

how the random setup chooses which roles get put in

role_unique_actions + + + + +

+

List of all mafia abilities this role is able to perform.

special_ui_theme + + + + +

+

set this to something cool for antagonists and their window will look different

vote_power + + + + +

+

how many votes submitted when you vote. used in voting and deciding victory.

winner_award + + + + +

+

what the role gets when it wins a game

written_notes + + + + +

+

The player's written notes, that they can send to chat at any time.

Proc Details

handle_speech +

+

handle_speech

+

Handles Mafia roles talking in chat. +First it will go through their abilities for Ability-specific speech, +if none affects it, we will go to day chat.

kill +

+

Tests kill immunities, if nothing prevents the kill, kills this role.

+

Does not count as visiting, see visit proc.

put_player_in_body +

+

Puts the player in their body and keeps track of their previous one to put them back in later. +Adds the playing_mafia trait so people examining them will know why they're currently lacking a soul.

send_message_to_player +

+

send_message_to_player

+

Sends a message to a player, checking if they are playing through a PDA or not. +Args:

+
+ + + diff --git a/datum/mafia_role/obsessed.html b/datum/mafia_role/obsessed.html new file mode 100644 index 00000000000..177f697d3ae --- /dev/null +++ b/datum/mafia_role/obsessed.html @@ -0,0 +1,36 @@ + + + + + + + /datum/mafia_role/obsessed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

obsessed + + + +

+ + +

Vars

obsessionThe person the obsessed has to get lynched in order to win.
+

Var Details

obsession + + + + +

+

The person the obsessed has to get lynched in order to win.

+ + + diff --git a/datum/manifest.html b/datum/manifest.html new file mode 100644 index 00000000000..3be51ce6199 --- /dev/null +++ b/datum/manifest.html @@ -0,0 +1,85 @@ + + + + + + + /datum/manifest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

manifest + + + +

+ +

Stores crew records.

+ + + + + + + +

Vars

generalAll of the crew records.
lockedThis list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().
print_countTotal number of security rapsheet prints. Changes the header.

Procs

buildBuilds the list of crew records for all crew members.
get_htmlReturns the manifest as an html.
get_manifestGets the current manifest.
injectInjects a record into the manifest.
modifyEdits the rank and trim of the found record.
+

Var Details

general + + + + +

+

All of the crew records.

locked + + + + +

+

This list tracks characters spawned in the world and cannot be modified in-game. Currently referenced by respawn_character().

print_count + + + + +

+

Total number of security rapsheet prints. Changes the header.

Proc Details

build +

+

Builds the list of crew records for all crew members.

get_html +

+

Returns the manifest as an html.

get_manifest +

+

Gets the current manifest.

inject +

+

Injects a record into the manifest.

modify +

+

Edits the rank and trim of the found record.

+ + + diff --git a/datum/map_config.html b/datum/map_config.html new file mode 100644 index 00000000000..3cad48eda6f --- /dev/null +++ b/datum/map_config.html @@ -0,0 +1,78 @@ + + + + + + + /datum/map_config - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

map_config + + + +

+ + + + + + + + +

Vars

blacklist_fileIf no minetype is set, this will be the blacklist file used
job_changesDictionary of job sub-typepath to template changes dictionary
library_areasList of additional areas that count as a part of the library
load_all_away_missionsBoolean that tells SSmapping to load all away missions in the codebase.
minetypeThe type of mining Z-level that should be loaded.
planetaryBoolean that tells us if this is a planetary station. (like IceBoxStation)
skipped_testsList of unit tests that are skipped when running this map
+

Var Details

blacklist_file + + + + +

+

If no minetype is set, this will be the blacklist file used

job_changes + + + + +

+

Dictionary of job sub-typepath to template changes dictionary

library_areas + + + + +

+

List of additional areas that count as a part of the library

load_all_away_missions + + + + +

+

Boolean that tells SSmapping to load all away missions in the codebase.

minetype + + + + +

+

The type of mining Z-level that should be loaded.

planetary + + + + +

+

Boolean that tells us if this is a planetary station. (like IceBoxStation)

skipped_tests + + + + +

+

List of unit tests that are skipped when running this map

+ + + diff --git a/datum/map_generator.html b/datum/map_generator.html new file mode 100644 index 00000000000..a41236c1be8 --- /dev/null +++ b/datum/map_generator.html @@ -0,0 +1,58 @@ + + + + + + + /datum/map_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

map_generator + + + +

+ +

This type is responsible for any map generation behavior that is done in areas, override this to allow for +area-specific map generation. This generation is ran by areas in initialize.

+ + + +

Vars

mapMap information, such as the start and end turfs of the map generation.
modulesThe map generator modules that we will generate and sync to.

Procs

generate_terrainThis proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.
populate_terrainPopulate terrain with flora, fauna, features and basically everything that isn't a turf.
+

Var Details

map + + + + +

+

Map information, such as the start and end turfs of the map generation.

modules + + + + +

+

The map generator modules that we will generate and sync to.

Proc Details

generate_terrain +

+

This proc will be ran by areas on Initialize, and provides the areas turfs as argument to allow for generation.

populate_terrain +

+

Populate terrain with flora, fauna, features and basically everything that isn't a turf.

+ + + diff --git a/datum/map_generator/cave_generator.html b/datum/map_generator/cave_generator.html new file mode 100644 index 00000000000..48adfe28fc8 --- /dev/null +++ b/datum/map_generator/cave_generator.html @@ -0,0 +1,169 @@ + + + + + + + /datum/map_generator/cave_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cave_generator + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

birth_limitHow much neighbours does a dead cell need to become alive
closed_turf_typesExpanded list of the types that spawns if the turf is closed
death_limitHow little neighbours does a alive cell need to die
feature_spawn_chanceBase chance of spawning features
feature_spawn_listExpanded list of extra features that can spawn in the area. Reads from the weighted list
flora_spawn_chanceBase chance of spawning flora
flora_spawn_listExpanded list of flora that can spawn in the area. Reads from the weighted list
initial_closed_chanceChance of cells starting closed
megafauna_spawn_listExpanded list of Megafauna that can spawn in the area. Reads from the weighted list
mob_spawn_chanceBase chance of spawning a mob
mob_spawn_listExpanded list of mobs that can spawn in the area. Reads from the weighted list
mob_spawn_no_mega_listThe mob spawn list but with no megafauna markers. autogenerated
open_turf_typesExpanded list of the types that spawns if the turf is open
smoothing_iterationsAmount of smoothing iterations
string_genUnique ID for this spawner
weighted_closed_turf_typesWeighted list of the types that spawns if the turf is closed
weighted_feature_spawn_listWeighted list of extra features that can spawn in the area, such as geysers.
weighted_flora_spawn_listWeighted list of flora that can spawn in the area.
weighted_mob_spawn_listWeighted list of mobs that can spawn in the area.
weighted_open_turf_typesWeighted list of the types that spawns if the turf is open
+

Var Details

birth_limit + + + + +

+

How much neighbours does a dead cell need to become alive

closed_turf_types + + + + +

+

Expanded list of the types that spawns if the turf is closed

death_limit + + + + +

+

How little neighbours does a alive cell need to die

feature_spawn_chance + + + + +

+

Base chance of spawning features

feature_spawn_list + + + + +

+

Expanded list of extra features that can spawn in the area. Reads from the weighted list

flora_spawn_chance + + + + +

+

Base chance of spawning flora

flora_spawn_list + + + + +

+

Expanded list of flora that can spawn in the area. Reads from the weighted list

initial_closed_chance + + + + +

+

Chance of cells starting closed

megafauna_spawn_list + + + + +

+

Expanded list of Megafauna that can spawn in the area. Reads from the weighted list

mob_spawn_chance + + + + +

+

Base chance of spawning a mob

mob_spawn_list + + + + +

+

Expanded list of mobs that can spawn in the area. Reads from the weighted list

mob_spawn_no_mega_list + + + + +

+

The mob spawn list but with no megafauna markers. autogenerated

open_turf_types + + + + +

+

Expanded list of the types that spawns if the turf is open

smoothing_iterations + + + + +

+

Amount of smoothing iterations

string_gen + + + + +

+

Unique ID for this spawner

weighted_closed_turf_types + + + + +

+

Weighted list of the types that spawns if the turf is closed

weighted_feature_spawn_list + + + + +

+

Weighted list of extra features that can spawn in the area, such as geysers.

weighted_flora_spawn_list + + + + +

+

Weighted list of flora that can spawn in the area.

weighted_mob_spawn_list + + + + +

+

Weighted list of mobs that can spawn in the area.

weighted_open_turf_types + + + + +

+

Weighted list of the types that spawns if the turf is open

+ + + diff --git a/datum/map_generator/cave_generator/icemoon.html b/datum/map_generator/cave_generator/icemoon.html new file mode 100644 index 00000000000..c57402005d9 --- /dev/null +++ b/datum/map_generator/cave_generator/icemoon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/map_generator/cave_generator/icemoon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

icemoon + + + +

+ + +

Vars

weighted_feature_spawn_listNote that this spawn list is also in the lavaland generator
+

Var Details

weighted_feature_spawn_list + + + + +

+

Note that this spawn list is also in the lavaland generator

+ + + diff --git a/datum/map_generator/cave_generator/lavaland.html b/datum/map_generator/cave_generator/lavaland.html new file mode 100644 index 00000000000..9eff20c283c --- /dev/null +++ b/datum/map_generator/cave_generator/lavaland.html @@ -0,0 +1,36 @@ + + + + + + + /datum/map_generator/cave_generator/lavaland - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lavaland + + + +

+ + +

Vars

weighted_feature_spawn_listNote that this spawn list is also in the icemoon generator
+

Var Details

weighted_feature_spawn_list + + + + +

+

Note that this spawn list is also in the icemoon generator

+ + + diff --git a/datum/map_generator/jungle_generator.html b/datum/map_generator/jungle_generator.html new file mode 100644 index 00000000000..d9bd0e04988 --- /dev/null +++ b/datum/map_generator/jungle_generator.html @@ -0,0 +1,50 @@ + + + + + + + /datum/map_generator/jungle_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jungle_generator + + + +

+ +

Spawning isn't done in procs to save on overhead on the 60k turfs we're going through.

+ + +

Vars

perlin_zoomUsed to select "zoom" level into the perlin noise, higher numbers result in slower transitions
possible_biomes2D list of all biomes based on heat and humidity combos.

Procs

generate_terrainSeeds the rust-g perlin noise with a random number.
+

Var Details

perlin_zoom + + + + +

+

Used to select "zoom" level into the perlin noise, higher numbers result in slower transitions

possible_biomes + + + + +

+

2D list of all biomes based on heat and humidity combos.

Proc Details

generate_terrain +

+

Seeds the rust-g perlin noise with a random number.

+ + + diff --git a/datum/map_report.html b/datum/map_report.html new file mode 100644 index 00000000000..a618f62ad24 --- /dev/null +++ b/datum/map_report.html @@ -0,0 +1,43 @@ + + + + + + + /datum/map_report - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

map_report + + + +

+ +

An error report generated by /datum/parsed_map/proc/check_for_errors.

+ +

Vars

loadableWhether this map can be loaded safely despite the errors.

Procs

show_toShow a rendered version of this report to a client.
+

Var Details

loadable + + + + +

+

Whether this map can be loaded safely despite the errors.

Proc Details

show_to +

+

Show a rendered version of this report to a client.

+ + + diff --git a/datum/map_template.html b/datum/map_template.html new file mode 100644 index 00000000000..d791d289719 --- /dev/null +++ b/datum/map_template.html @@ -0,0 +1,85 @@ + + + + + + + /datum/map_template - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

map_template + + + +

+ + + + + + + + + +

Vars

ceiling_baseturfsWhat baseturfs to set when replacing openspace when has_ceiling is true
ceiling_turfWhat turf to replace openspace with when has_ceiling is true
created_atomsthe list of atoms created by this template being loaded, only populated if returns_created_atoms is TRUE
default_areaDefault area associated with the map template
has_ceilingIf true, any openspace turfs above the template will be replaced with ceiling_turf when loading. Should probably be FALSE for lower levels of multi-z ruins.
returns_created_atomsif true, creates a list of all atoms created by this template loading, defaults to FALSE
should_place_on_topif true, turfs loaded from this template are placed on top of the turfs already there, defaults to TRUE

Procs

discover_offsetTakes in a type path, locates an instance of that type in the cached map, and calculates its offset from the origin of the map, returns this offset in the form list(x, y).
+

Var Details

ceiling_baseturfs + + + + +

+

What baseturfs to set when replacing openspace when has_ceiling is true

ceiling_turf + + + + +

+

What turf to replace openspace with when has_ceiling is true

created_atoms + + + + +

+

the list of atoms created by this template being loaded, only populated if returns_created_atoms is TRUE

default_area + + + + +

+

Default area associated with the map template

has_ceiling + + + + +

+

If true, any openspace turfs above the template will be replaced with ceiling_turf when loading. Should probably be FALSE for lower levels of multi-z ruins.

returns_created_atoms + + + + +

+

if true, creates a list of all atoms created by this template loading, defaults to FALSE

should_place_on_top + + + + +

+

if true, turfs loaded from this template are placed on top of the turfs already there, defaults to TRUE

Proc Details

discover_offset +

+

Takes in a type path, locates an instance of that type in the cached map, and calculates its offset from the origin of the map, returns this offset in the form list(x, y).

+ + + diff --git a/datum/map_template/basketball.html b/datum/map_template/basketball.html new file mode 100644 index 00000000000..566ce3f7764 --- /dev/null +++ b/datum/map_template/basketball.html @@ -0,0 +1,43 @@ + + + + + + + /datum/map_template/basketball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basketball + + + +

+ + + +

Vars

home_team_uniformThe basketball teams home stadium uniform
team_nameThe name of the basketball team
+

Var Details

home_team_uniform + + + + +

+

The basketball teams home stadium uniform

team_name + + + + +

+

The name of the basketball team

+ + + diff --git a/datum/map_template/ctf.html b/datum/map_template/ctf.html new file mode 100644 index 00000000000..cb1f4565df1 --- /dev/null +++ b/datum/map_template/ctf.html @@ -0,0 +1,36 @@ + + + + + + + /datum/map_template/ctf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ + +

Vars

points_to_winScore required to win CTF on this map.
+

Var Details

points_to_win + + + + +

+

Score required to win CTF on this map.

+ + + diff --git a/datum/map_template/holodeck.html b/datum/map_template/holodeck.html new file mode 100644 index 00000000000..d4ddad6122d --- /dev/null +++ b/datum/map_template/holodeck.html @@ -0,0 +1,35 @@ + + + + + + + /datum/map_template/holodeck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

holodeck + + + +

+ + +

Procs

update_blacklistthis is what makes the holodeck not spawn anything on broken tiles (space and non engine plating / non holofloors)

Proc Details

update_blacklist +

+

this is what makes the holodeck not spawn anything on broken tiles (space and non engine plating / non holofloors)

+ + + diff --git a/datum/map_template/mafia.html b/datum/map_template/mafia.html new file mode 100644 index 00000000000..10479ada962 --- /dev/null +++ b/datum/map_template/mafia.html @@ -0,0 +1,50 @@ + + + + + + + /datum/map_template/mafia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mafia + + + +

+ + + + +

Vars

custom_outfitWhat costume will this map force players to start with?
descriptionA brief background tidbit
map_suffixThe map suffix to put onto the mappath.
+

Var Details

custom_outfit + + + + +

+

What costume will this map force players to start with?

description + + + + +

+

A brief background tidbit

map_suffix + + + + +

+

The map suffix to put onto the mappath.

+ + + diff --git a/datum/map_template/shuttle.html b/datum/map_template/shuttle.html new file mode 100644 index 00000000000..f1956446f16 --- /dev/null +++ b/datum/map_template/shuttle.html @@ -0,0 +1,103 @@ + + + + + + + /datum/map_template/shuttle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shuttle + + + +

+ + + + + + + + + + + +

Vars

admin_notesShuttle warnings and hazards to the admin who spawns the shuttle
credit_costHow much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.
descriptionInformation to display on communication console about the shuttle
emag_onlyWhether or not this shuttle is locked to emags only.
movement_forceIf set, overrides default movement_force on shuttle
occupancy_limitThe recommended occupancy limit for the shuttle (count chairs, beds, and benches then round to 5)
port_idPort ID is the place this template should be docking at, set on '/obj/docking_port/stationary' +Because getShuttle() compares port_id to shuttle_id to find an already existing shuttle, +you should set shuttle_id to be the same as port_id if you want them to be replacable.
prerequisitesDescription of the prerequisition that has to be achieved for the shuttle to be purchased
shuttle_idID of the shuttle, make sure it matches port_id if necessary.
who_can_purchaseWhat job accesses can buy this shuttle? If null, this shuttle cannot be bought.
+

Var Details

admin_notes + + + + +

+

Shuttle warnings and hazards to the admin who spawns the shuttle

credit_cost + + + + +

+

How much does this shuttle cost the cargo budget to purchase? Put in terms of CARGO_CRATE_VALUE to properly scale the cost with the current balance of cargo's income.

description + + + + +

+

Information to display on communication console about the shuttle

emag_only + + + + +

+

Whether or not this shuttle is locked to emags only.

movement_force + + + + +

+

If set, overrides default movement_force on shuttle

occupancy_limit + + + + +

+

The recommended occupancy limit for the shuttle (count chairs, beds, and benches then round to 5)

port_id + + + + +

+

Port ID is the place this template should be docking at, set on '/obj/docking_port/stationary' +Because getShuttle() compares port_id to shuttle_id to find an already existing shuttle, +you should set shuttle_id to be the same as port_id if you want them to be replacable.

prerequisites + + + + +

+

Description of the prerequisition that has to be achieved for the shuttle to be purchased

shuttle_id + + + + +

+

ID of the shuttle, make sure it matches port_id if necessary.

who_can_purchase + + + + +

+

What job accesses can buy this shuttle? If null, this shuttle cannot be bought.

+ + + diff --git a/datum/map_template/shuttle/emergency.html b/datum/map_template/shuttle/emergency.html new file mode 100644 index 00000000000..53c5f1df45e --- /dev/null +++ b/datum/map_template/shuttle/emergency.html @@ -0,0 +1,64 @@ + + + + + + + /datum/map_template/shuttle/emergency - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

emergency + + + +

+ + + + + + +

Vars

event_amounthow many do we pick
eventsassoc list of shuttle events to add to this shuttle on spawn (typepath = weight)
events_overridedo we empty the event list before adding our events
use_all_eventspick all events instead of random

Procs

post_loadon post_load use our variables to change shuttle events
+

Var Details

event_amount + + + + +

+

how many do we pick

events + + + + +

+

assoc list of shuttle events to add to this shuttle on spawn (typepath = weight)

events_override + + + + +

+

do we empty the event list before adding our events

use_all_events + + + + +

+

pick all events instead of random

Proc Details

post_load +

+

on post_load use our variables to change shuttle events

+ + + diff --git a/datum/map_template/shuttle/emergency/arena.html b/datum/map_template/shuttle/emergency/arena.html new file mode 100644 index 00000000000..7a175fa926f --- /dev/null +++ b/datum/map_template/shuttle/emergency/arena.html @@ -0,0 +1,36 @@ + + + + + + + /datum/map_template/shuttle/emergency/arena - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

arena + + + +

+ + +

Vars

arena_loadedWhether the arena z-level has been created
+

Var Details

arena_loaded + + + + +

+

Whether the arena z-level has been created

+ + + diff --git a/datum/map_template/shuttle/emergency/narnar.html b/datum/map_template/shuttle/emergency/narnar.html new file mode 100644 index 00000000000..d96aa60ac65 --- /dev/null +++ b/datum/map_template/shuttle/emergency/narnar.html @@ -0,0 +1,36 @@ + + + + + + + /datum/map_template/shuttle/emergency/narnar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

narnar + + + +

+ + +

Vars

occupancy_limitThe joke is the number so no defines
+

Var Details

occupancy_limit + + + + +

+

The joke is the number so no defines

+ + + diff --git a/datum/market.html b/datum/market.html new file mode 100644 index 00000000000..4349343a1d0 --- /dev/null +++ b/datum/market.html @@ -0,0 +1,71 @@ + + + + + + + /datum/market - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

market + + + +

+ + + + + + + +

Vars

available_itemsItems available from this market, populated by SSblackmarket on initialization. Automatically assigned, so don't manually adjust.
categoriesItem categories available from this market, only items which are in these categories can be gotten from this market. Automatically assigned, so don't manually adjust.
nameName for the market.
shippingAvailable shipping methods and prices, just leave the shipping method out that you don't want to have.

Procs

add_itemAdds item to the available items and add it's category if it is not in categories yet.
purchaseHandles buying the item, this is mainly for future use and moving the code away from the uplink.
+

Var Details

available_items + + + + +

+

Items available from this market, populated by SSblackmarket on initialization. Automatically assigned, so don't manually adjust.

categories + + + + +

+

Item categories available from this market, only items which are in these categories can be gotten from this market. Automatically assigned, so don't manually adjust.

name + + + + +

+

Name for the market.

shipping + + + + +

+

Available shipping methods and prices, just leave the shipping method out that you don't want to have.

Proc Details

add_item +

+

Adds item to the available items and add it's category if it is not in categories yet.

purchase +

+

Handles buying the item, this is mainly for future use and moving the code away from the uplink.

+ + + diff --git a/datum/market_item.html b/datum/market_item.html new file mode 100644 index 00000000000..db38824b2c5 --- /dev/null +++ b/datum/market_item.html @@ -0,0 +1,127 @@ + + + + + + + /datum/market_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

market_item + + + +

+ + + + + + + + + + + + + + + +

Vars

availability_probProbability for this item to be available. Used by SSblackmarket on init.
categoryThe category this item belongs to, should be already declared in the market that this item is accessible in.
descDescription for the item entry used in the uplink.
itemPath to or the item itself what this entry is for, this should be set even if you override spawn_item to spawn your item.
markets"/datum/market"s that this item should be in, used by SSblackmarket on init.
nameName for the item entry used in the uplink.
pricePrice for the item, if not set creates a price according to the *_min and *_max vars.
price_maxMaximum price for the item if generated randomly.
price_minMinimum price for the item if generated randomly.
stockHow many of this type of item is available, if not set creates a price according to the *_min and *_max vars.
stock_maxMaximum amount that there should be of this item in the market if generated randomly.
stock_minMinimum amount that there should be of this item in the market if generated randomly. This defaults to 1 as most items will have it as 1.

Procs

buyBuys the item and makes SSblackmarket handle it.
spawn_itemUsed for spawning the wanted item, override if you need to do something special with the item.
+

Var Details

availability_prob + + + + +

+

Probability for this item to be available. Used by SSblackmarket on init.

category + + + + +

+

The category this item belongs to, should be already declared in the market that this item is accessible in.

desc + + + + +

+

Description for the item entry used in the uplink.

item + + + + +

+

Path to or the item itself what this entry is for, this should be set even if you override spawn_item to spawn your item.

markets + + + + +

+

"/datum/market"s that this item should be in, used by SSblackmarket on init.

name + + + + +

+

Name for the item entry used in the uplink.

price + + + + +

+

Price for the item, if not set creates a price according to the *_min and *_max vars.

price_max + + + + +

+

Maximum price for the item if generated randomly.

price_min + + + + +

+

Minimum price for the item if generated randomly.

stock + + + + +

+

How many of this type of item is available, if not set creates a price according to the *_min and *_max vars.

stock_max + + + + +

+

Maximum amount that there should be of this item in the market if generated randomly.

stock_min + + + + +

+

Minimum amount that there should be of this item in the market if generated randomly. This defaults to 1 as most items will have it as 1.

Proc Details

buy +

+

Buys the item and makes SSblackmarket handle it.

spawn_item +

+

Used for spawning the wanted item, override if you need to do something special with the item.

+ + + diff --git a/datum/market_purchase.html b/datum/market_purchase.html new file mode 100644 index 00000000000..eda5ffcb0cb --- /dev/null +++ b/datum/market_purchase.html @@ -0,0 +1,57 @@ + + + + + + + /datum/market_purchase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

market_purchase + + + +

+ + + + + +

Vars

entryThe entry being purchased.
itemInstance of the item being sent.
methodShipping method used to buy this item.
uplinkThe uplink where this purchase was done from.
+

Var Details

entry + + + + +

+

The entry being purchased.

item + + + + +

+

Instance of the item being sent.

method + + + + +

+

Shipping method used to buy this item.

+

The uplink where this purchase was done from.

+ + + diff --git a/datum/martial_art.html b/datum/martial_art.html new file mode 100644 index 00000000000..29efdcf5eab --- /dev/null +++ b/datum/martial_art.html @@ -0,0 +1,36 @@ + + + + + + + /datum/martial_art - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

martial_art + + + +

+ + +

Vars

pacifist_styleIf set to true this style allows you to punch people despite being a pacifist (for instance Boxing, which does no damage)
+

Var Details

pacifist_style + + + + +

+

If set to true this style allows you to punch people despite being a pacifist (for instance Boxing, which does no damage)

+ + + diff --git a/datum/martial_art/cqc.html b/datum/martial_art/cqc.html new file mode 100644 index 00000000000..2d48e448f1e --- /dev/null +++ b/datum/martial_art/cqc.html @@ -0,0 +1,43 @@ + + + + + + + /datum/martial_art/cqc - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cqc + + + +

+ + + +

Vars

block_chanceProbability of successfully blocking attacks while on throw mode

Procs

on_attackbySignal from getting attacked with an item, for a special interaction with touch spells
+

Var Details

block_chance + + + + +

+

Probability of successfully blocking attacks while on throw mode

Proc Details

on_attackby +

+

Signal from getting attacked with an item, for a special interaction with touch spells

+ + + diff --git a/datum/martial_art/cqc/under_siege.html b/datum/martial_art/cqc/under_siege.html new file mode 100644 index 00000000000..dacb99f9de8 --- /dev/null +++ b/datum/martial_art/cqc/under_siege.html @@ -0,0 +1,50 @@ + + + + + + + /datum/martial_art/cqc/under_siege - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

under_siege + + + +

+ +

Subtype of CQC. Only used for the chef.

+ + +

Vars

kitchen_areasList of all areas that CQC will work in, defaults to Kitchen.

Procs

can_useLimits where the chef's CQC can be used to only whitelisted areas.
refresh_valid_areasRefreshes the valid areas from the cook's mapping config, adding areas in config to the list of possible areas.
+

Var Details

kitchen_areas + + + + +

+

List of all areas that CQC will work in, defaults to Kitchen.

Proc Details

can_use +

+

Limits where the chef's CQC can be used to only whitelisted areas.

refresh_valid_areas +

+

Refreshes the valid areas from the cook's mapping config, adding areas in config to the list of possible areas.

+ + + diff --git a/datum/martial_art/the_sleeping_carp.html b/datum/martial_art/the_sleeping_carp.html new file mode 100644 index 00000000000..a5012c8b8cb --- /dev/null +++ b/datum/martial_art/the_sleeping_carp.html @@ -0,0 +1,58 @@ + + + + + + + /datum/martial_art/the_sleeping_carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

the_sleeping_carp + + + +

+ + + + + +

Procs

dropKickKeelhaul: Disarm Disarm combo, knocks people down and deals substantial stamina damage, and also discombobulates them. Knocks objects out of their hands if they're already on the ground.
launchKickthis var is so that the strong punch is always aiming for the body part the user is targeting and not trying to apply to the chest before deviating +Crashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards
on_attackbySignal from getting attacked with an item, for a special interaction with touch spells
strongPunchGnashing Teeth: Harm Harm, consistent 20 force punch on every second harm punch

Proc Details

dropKick +

+

Keelhaul: Disarm Disarm combo, knocks people down and deals substantial stamina damage, and also discombobulates them. Knocks objects out of their hands if they're already on the ground.

launchKick +

+

this var is so that the strong punch is always aiming for the body part the user is targeting and not trying to apply to the chest before deviating +Crashing Wave Kick: Harm Disarm combo, throws people seven tiles backwards

on_attackby +

+

Signal from getting attacked with an item, for a special interaction with touch spells

strongPunch +

+

Gnashing Teeth: Harm Harm, consistent 20 force punch on every second harm punch

+ + + diff --git a/datum/material.html b/datum/material.html new file mode 100644 index 00000000000..2930c507e93 --- /dev/null +++ b/datum/material.html @@ -0,0 +1,288 @@ + + + + + + + /datum/material - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

material + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alphaBase alpha of the material, is used for greyscale icons.
armor_modifiersArmor modifiers, multiplies an items normal armor vars by these amounts.
beauty_modifierHow beautiful is this material per unit.
cached_texture_filter_icona cached icon for the texture filter
categoriesMaterials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for
colorBase color of the material, is used for greyscale. Item isn't changed in color if this is null. +Deprecated, use greyscale_color instead.
debris_typeWhat type of debris the tile will leave behind when shattered.
descA short description of the material. Not used anywhere, yet...
greyscale_colorsDetermines the color palette of the material. Formatted the same as atom/var/greyscale_colors
idWhat the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.
init_flagsBitflags that influence how SSmaterials handles this material.
integrity_modifierThis is a modifier for integrity, and resembles the strength of the material
item_sound_overrideCan be used to override the sound items make, lets add some SLOSHing.
minimum_value_overrideThis is the minimum value of the material, used in the stock market for any mat that isn't set to null
nameWhat the material is referred to as IC.
shard_typeWhat type of shard the material will shatter to
sheet_typeThe type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets
starlight_colorStarlight color of the material +This is the color of light it'll emit if its turf is transparent and over space. Defaults to COLOR_STARLIGHT if not set
strength_modifierThis is a modifier for force, and resembles the strength of the material
texture_layer_icon_statewhat texture icon state to overlay
tradableIs this material traded on the stock market?
tradable_base_quantityIf this material is tradable, what is the base quantity of the material on the stock market?
turf_sound_overrideCan be used to override the stepsound a turf makes. MORE SLOOOSH
value_per_unitThis is the amount of value per 1 unit of the material

Procs

Initialize
on_accidental_mat_consumptionThis proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments
on_appliedThis proc is called when the material is added to an object.
on_applied_objThis proc is called when the material is added to an object specifically.
on_removedThis proc is called when the material is removed from an object.
on_removed_objThis proc is called when the material is removed from an object specifically.
return_composition
+

Var Details

alpha + + + + +

+

Base alpha of the material, is used for greyscale icons.

armor_modifiers + + + + +

+

Armor modifiers, multiplies an items normal armor vars by these amounts.

beauty_modifier + + + + +

+

How beautiful is this material per unit.

cached_texture_filter_icon + + + + +

+

a cached icon for the texture filter

categories + + + + +

+

Materials "Traits". its a map of key = category | Value = Bool. Used to define what it can be used for

color + + + + +

+

Base color of the material, is used for greyscale. Item isn't changed in color if this is null. +Deprecated, use greyscale_color instead.

debris_type + + + + +

+

What type of debris the tile will leave behind when shattered.

desc + + + + +

+

A short description of the material. Not used anywhere, yet...

greyscale_colors + + + + +

+

Determines the color palette of the material. Formatted the same as atom/var/greyscale_colors

id + + + + +

+

What the material is indexed by in the SSmaterials.materials list. Defaults to the type of the material.

init_flags + + + + +

+

Bitflags that influence how SSmaterials handles this material.

integrity_modifier + + + + +

+

This is a modifier for integrity, and resembles the strength of the material

item_sound_override + + + + +

+

Can be used to override the sound items make, lets add some SLOSHing.

minimum_value_override + + + + +

+

This is the minimum value of the material, used in the stock market for any mat that isn't set to null

name + + + + +

+

What the material is referred to as IC.

shard_type + + + + +

+

What type of shard the material will shatter to

sheet_type + + + + +

+

The type of sheet this material creates. This should be replaced as soon as possible by greyscale sheets

starlight_color + + + + +

+

Starlight color of the material +This is the color of light it'll emit if its turf is transparent and over space. Defaults to COLOR_STARLIGHT if not set

strength_modifier + + + + +

+

This is a modifier for force, and resembles the strength of the material

texture_layer_icon_state + + + + +

+

what texture icon state to overlay

tradable + + + + +

+

Is this material traded on the stock market?

tradable_base_quantity + + + + +

+

If this material is tradable, what is the base quantity of the material on the stock market?

turf_sound_override + + + + +

+

Can be used to override the stepsound a turf makes. MORE SLOOOSH

value_per_unit + + + + +

+

This is the amount of value per 1 unit of the material

Proc Details

Initialize +

+

on_accidental_mat_consumption +

+

This proc is called when the mat is found in an item that's consumed by accident. see /obj/item/proc/on_accidental_consumption. +Arguments

+

on_applied +

+

This proc is called when the material is added to an object.

on_applied_obj +

+

This proc is called when the material is added to an object specifically.

on_removed +

+

This proc is called when the material is removed from an object.

on_removed_obj +

+

This proc is called when the material is removed from an object specifically.

return_composition +

+
+ + + diff --git a/datum/material/alloy.html b/datum/material/alloy.html new file mode 100644 index 00000000000..0b2b146c072 --- /dev/null +++ b/datum/material/alloy.html @@ -0,0 +1,43 @@ + + + + + + + /datum/material/alloy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

alloy + + + +

+ +

Materials made from other materials.

+ +

Vars

compositionThe materials this alloy is made from weighted by their ratios.
req_breakdown_flagsBreakdown flags required to reduce this alloy to its component materials.
+

Var Details

composition + + + + +

+

The materials this alloy is made from weighted by their ratios.

req_breakdown_flags + + + + +

+

Breakdown flags required to reduce this alloy to its component materials.

+ + + diff --git a/datum/material/alloy/alien.html b/datum/material/alloy/alien.html new file mode 100644 index 00000000000..541307fe7bb --- /dev/null +++ b/datum/material/alloy/alien.html @@ -0,0 +1,41 @@ + + + + + + + /datum/material/alloy/alien - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

alien + + + +

+ +
+ + + diff --git a/datum/material/alloy/plasmaglass.html b/datum/material/alloy/plasmaglass.html new file mode 100644 index 00000000000..2dbbd702c34 --- /dev/null +++ b/datum/material/alloy/plasmaglass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/plasmaglass - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

plasmaglass + + + +

+ +
+ + + diff --git a/datum/material/alloy/plasteel.html b/datum/material/alloy/plasteel.html new file mode 100644 index 00000000000..8f368a08d64 --- /dev/null +++ b/datum/material/alloy/plasteel.html @@ -0,0 +1,38 @@ + + + + + + + /datum/material/alloy/plasteel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

plasteel + + + +

+ +
+ + + diff --git a/datum/material/alloy/plastitanium.html b/datum/material/alloy/plastitanium.html new file mode 100644 index 00000000000..2bcda732bb5 --- /dev/null +++ b/datum/material/alloy/plastitanium.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/plastitanium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

plastitanium + + + +

+ +
+ + + diff --git a/datum/material/alloy/plastitaniumglass.html b/datum/material/alloy/plastitaniumglass.html new file mode 100644 index 00000000000..a3a5a32413c --- /dev/null +++ b/datum/material/alloy/plastitaniumglass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/plastitaniumglass - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

plastitaniumglass + + + +

+ +
+ + + diff --git a/datum/material/alloy/titaniumglass.html b/datum/material/alloy/titaniumglass.html new file mode 100644 index 00000000000..aca3ef532d6 --- /dev/null +++ b/datum/material/alloy/titaniumglass.html @@ -0,0 +1,35 @@ + + + + + + + /datum/material/alloy/titaniumglass - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

titaniumglass + + + +

+ +
+ + + diff --git a/datum/medical_note.html b/datum/medical_note.html new file mode 100644 index 00000000000..4592fe7811d --- /dev/null +++ b/datum/medical_note.html @@ -0,0 +1,50 @@ + + + + + + + /datum/medical_note - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medical_note + + + +

+ +

Player-written medical note.

+ + +

Vars

authorPlayer that wrote the note
contentDetails of the note
timeStation timestamp
+

Var Details

author + + + + +

+

Player that wrote the note

content + + + + +

+

Details of the note

time + + + + +

+

Station timestamp

+ + + diff --git a/datum/memory.html b/datum/memory.html new file mode 100644 index 00000000000..f181655b18b --- /dev/null +++ b/datum/memory.html @@ -0,0 +1,223 @@ + + + + + + + /datum/memory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

memory + + + +

+ +

Little tidbits of past events generated by the player doing things.

+

Can be used in engravings, dreams, and changeling succs.

+

All of those things are supposed to be taken vaguely - +Engravings crossround and should not include names, dreams and succs are memory goop. +As such, the generated text of the memory is vague.

+

Don't hold any references in this, it's not necessary.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

antagonist_nameThe main villain of the memory.
deuteragonist_nameThe side character of the memory.
memorizerJob of the person memorizing the event
memorizer_mindMind of who is memorizing the event
memory_flagsFlags of any special behavior for the memory
mood_verbIf this memory changes based on mood, this is the verb it uses.
nameThe name of the MEMORY that the user sees. +Something like "The time the Clown did a sweet flip".
protagonist_nameThe main character of the memory.
story_valueThe value of the mood in it's worth as a story. +Defines how beautiful art from it can be, and whether or not it stays in persistence.
whereWhere this memory took place.

Procs

build_story_characterWhen passed a "character", returns the name of the character formatted for stories
generate_memory_nameGenerates a name for the memory.
generate_storyGenerates a story based on this memory.
get_happy_moodsUsed to select a mood verb if the protagonist is happy for memories that do not have MEMORY_FLAG_NOMOOD set.
get_locationsReturns a list of locations for use in stories which do not have MEMORY_FLAG_NOLOCATION set.
get_moodsReturns a list of mood phrases for the memory.
get_namesReturns a list of names for [proc/select_mood_verb] to select from.
get_neutral_moodsUsed to select a mood verb if the protagonist is neither happy or sad for memories that do not have MEMORY_FLAG_NOMOOD set.
get_sad_moodsUsed to select a mood verb if the protagonist is sad for memories that do not have MEMORY_FLAG_NOMOOD set.
get_startsReturns a list of story starts for the memory.
quick_copy_memoryCreates a "quick copy" of the memory for another mind, +copying just basic memory information (name, major charactecrs) over.
select_mood_verbSelects a mood related verb for the memory.
+

Var Details

antagonist_name + + + + +

+

The main villain of the memory.

deuteragonist_name + + + + +

+

The side character of the memory.

memorizer + + + + +

+

Job of the person memorizing the event

memorizer_mind + + + + +

+

Mind of who is memorizing the event

memory_flags + + + + +

+

Flags of any special behavior for the memory

mood_verb + + + + +

+

If this memory changes based on mood, this is the verb it uses.

name + + + + +

+

The name of the MEMORY that the user sees. +Something like "The time the Clown did a sweet flip".

protagonist_name + + + + +

+

The main character of the memory.

story_value + + + + +

+

The value of the mood in it's worth as a story. +Defines how beautiful art from it can be, and whether or not it stays in persistence.

where + + + + +

+

Where this memory took place.

Proc Details

build_story_character +

+

When passed a "character", returns the name of the character formatted for stories

+

If character is a string, it will just return it back.

+

Otherwise, it will try to generate a title based on the mob's assigned role.

+

If the character has no mind or no assigned role, it'll just return their name.

generate_memory_name +

+

Generates a name for the memory.

generate_story +

+

Generates a story based on this memory.

+

Arguments

+

get_happy_moods +

+

Used to select a mood verb if the protagonist is happy for memories that do not have MEMORY_FLAG_NOMOOD set.

get_locations +

+

Returns a list of locations for use in stories which do not have MEMORY_FLAG_NOLOCATION set.

get_moods +

+

Returns a list of mood phrases for the memory.

+

Mood phrases are necessary if MEMORY_FLAG_NOMOOD is not set. They are used in making stories out of memories. +These are phrases that change in their verbage depending on the mood of the PROTAGONIST at the time of the memory.

+

For example: "The clown grins (this is the mood verb) at the audience.". +You can use any information tidbits in your names to fill them out. +Mood phrases should be punctated, as they are their own independent clause. +Mood phrases should always include the [mood_verb] var, as well.

get_names +

+

Returns a list of names for [proc/select_mood_verb] to select from.

+

This is necessary to implement. Names should be at-a-glance summaries of what the memory entails.

+

For example: "The time the Clown did a sweet flip.". +You can use any information tidbits in your names to fill them out. +Your names should be puncuated.

get_neutral_moods +

+

Used to select a mood verb if the protagonist is neither happy or sad for memories that do not have MEMORY_FLAG_NOMOOD set.

get_sad_moods +

+

Used to select a mood verb if the protagonist is sad for memories that do not have MEMORY_FLAG_NOMOOD set.

get_starts +

+

Returns a list of story starts for the memory.

+

Starts are necessary if [MEMORY_FLAG_NOSTORY] is not set. They are used in generating stories out of memories.

+

For example: "The Clown cracks his hands and honks his horn as he prepares to do a backflip". +You can use any information tidbits in your names to fill them out. +If the memory is not MEMORY_FLAG_NOMOOD, your starts should NOT be puncuated, as a mood phrase will follow. +They should also be in the present tense.

quick_copy_memory +

+

Creates a "quick copy" of the memory for another mind, +copying just basic memory information (name, major charactecrs) over.

+

The copied memory cannot be used for stories or anything. +They should generally only be used to give a new mind an idea of another mind's memories.

select_mood_verb +

+

Selects a mood related verb for the memory.

+

Arguments

+
+ + + diff --git a/datum/memory/bomb_defuse_success.html b/datum/memory/bomb_defuse_success.html new file mode 100644 index 00000000000..738d23a8eaa --- /dev/null +++ b/datum/memory/bomb_defuse_success.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/bomb_defuse_success - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bomb_defuse_success + + + +

+ +

Succeeded in defusing a bomb!

+

Vars

bomb_time_leftThis is the time left (in seconds) of the bomb at defusal
+

Var Details

bomb_time_left + + + + +

+

This is the time left (in seconds) of the bomb at defusal

+ + + diff --git a/datum/memory/dna_infusion.html b/datum/memory/dna_infusion.html new file mode 100644 index 00000000000..26c8e92d880 --- /dev/null +++ b/datum/memory/dna_infusion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/dna_infusion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dna_infusion + + + +

+ +

Becoming a mutant via infusion

+

Vars

mutantlikedescribing what they turn into, "skittish", "nomadic", etc
+

Var Details

mutantlike + + + + +

+

describing what they turn into, "skittish", "nomadic", etc

+ + + diff --git a/datum/memory/good_drink.html b/datum/memory/good_drink.html new file mode 100644 index 00000000000..81d04c807ba --- /dev/null +++ b/datum/memory/good_drink.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/good_drink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

good_drink + + + +

+ +

Had a good drink.

+

Vars

drinkThe name of the nice drink reagent
+

Var Details

drink + + + + +

+

The name of the nice drink reagent

+ + + diff --git a/datum/memory/good_food.html b/datum/memory/good_food.html new file mode 100644 index 00000000000..b514a697c64 --- /dev/null +++ b/datum/memory/good_food.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/good_food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

good_food + + + +

+ +

Had some good food.

+

Vars

foodThe name of the food item being consumed
+

Var Details

food + + + + +

+

The name of the food item being consumed

+ + + diff --git a/datum/memory/high_five.html b/datum/memory/high_five.html new file mode 100644 index 00000000000..73cb476cf58 --- /dev/null +++ b/datum/memory/high_five.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/high_five - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

high_five + + + +

+ +

Got a sweet high five.

+

Vars

high_five_typeWhat type of high five it was - A "high five" or a "high ten"
+

Var Details

high_five_type + + + + +

+

What type of high five it was - A "high five" or a "high ten"

+ + + diff --git a/datum/memory/key.html b/datum/memory/key.html new file mode 100644 index 00000000000..3c59601fffc --- /dev/null +++ b/datum/memory/key.html @@ -0,0 +1,30 @@ + + + + + + + /datum/memory/key - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

key + + + +

+ +

I am affectionally titling these "key memories"

+

These memories aren't particularly special or interesting, but occuply an important role +in conveying information to the user about something important they need to check semi-often

+ + + diff --git a/datum/memory/playing_cards.html b/datum/memory/playing_cards.html new file mode 100644 index 00000000000..93431b13e49 --- /dev/null +++ b/datum/memory/playing_cards.html @@ -0,0 +1,50 @@ + + + + + + + /datum/memory/playing_cards - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

playing_cards + + + +

+ +

Played cards with another person.

+ + +

Vars

formatted_players_listA string (english list) of all the mobs playing the game
gameWhat card game is being played
protagonist_held_cardThe card the protagonist is holding
+

Var Details

formatted_players_list + + + + +

+

A string (english list) of all the mobs playing the game

game + + + + +

+

What card game is being played

protagonist_held_card + + + + +

+

The card the protagonist is holding

+ + + diff --git a/datum/memory/received_medal.html b/datum/memory/received_medal.html new file mode 100644 index 00000000000..e2770931e4b --- /dev/null +++ b/datum/memory/received_medal.html @@ -0,0 +1,43 @@ + + + + + + + /datum/memory/received_medal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

received_medal + + + +

+ +

Watched someone receive a commendation medal

+ +

Vars

medal_textThe text on the medal / the commendation / the input
medal_typeThe name of the medal being rewarded
+

Var Details

medal_text + + + + +

+

The text on the medal / the commendation / the input

medal_type + + + + +

+

The name of the medal being rewarded

+ + + diff --git a/datum/memory/surgery.html b/datum/memory/surgery.html new file mode 100644 index 00000000000..3d5288eaf5f --- /dev/null +++ b/datum/memory/surgery.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/surgery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

surgery + + + +

+ +

A doctor successfuly completed a surgery on someone.

+

Vars

surgery_typeWhat type of surgery it was
+

Var Details

surgery_type + + + + +

+

What type of surgery it was

+ + + diff --git a/datum/memory/was_dismembered.html b/datum/memory/was_dismembered.html new file mode 100644 index 00000000000..a0793176549 --- /dev/null +++ b/datum/memory/was_dismembered.html @@ -0,0 +1,36 @@ + + + + + + + /datum/memory/was_dismembered - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

was_dismembered + + + +

+ +

Got a limb removed by force.

+

Vars

lost_limbThe limb (in plaintext) that got lost (ends up being "left arm" or "right leg")
+

Var Details

lost_limb + + + + +

+

The limb (in plaintext) that got lost (ends up being "left arm" or "right leg")

+ + + diff --git a/datum/memory/witnessed_russian_roulette.html b/datum/memory/witnessed_russian_roulette.html new file mode 100644 index 00000000000..3ac3de9161c --- /dev/null +++ b/datum/memory/witnessed_russian_roulette.html @@ -0,0 +1,50 @@ + + + + + + + /datum/memory/witnessed_russian_roulette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

witnessed_russian_roulette + + + +

+ +

Saw someone play Russian Roulette.

+ + +

Vars

aimed_atThe bodypart the protagonist was aiming at
resultThe result of the game ("won"(survived) or "lost"(shot themselves))
rounds_loadedHow many rounds were loaded in the revolver
+

Var Details

aimed_at + + + + +

+

The bodypart the protagonist was aiming at

result + + + + +

+

The result of the game ("won"(survived) or "lost"(shot themselves))

rounds_loaded + + + + +

+

How many rounds were loaded in the revolver

+ + + diff --git a/datum/merger.html b/datum/merger.html new file mode 100644 index 00000000000..25ec675d8e6 --- /dev/null +++ b/datum/merger.html @@ -0,0 +1,64 @@ + + + + + + + /datum/merger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

merger + + + +

+ +

A datum that tracks a type or types of objects in a cluster

+ + + + +

Vars

attempt_merge_procOptional proc to call on potential members, return true to allow merge
idThe unique ID for this merger datum, adjacent merg groups with the same id will combine
membersAssoc list of all members in the group -> dirs from them to their connected nighbors
merged_typecacheThe types allowed to be in this merge group
originThe arbitrary "owner" member of the merge group
+

Var Details

attempt_merge_proc + + + + +

+

Optional proc to call on potential members, return true to allow merge

id + + + + +

+

The unique ID for this merger datum, adjacent merg groups with the same id will combine

members + + + + +

+

Assoc list of all members in the group -> dirs from them to their connected nighbors

merged_typecache + + + + +

+

The types allowed to be in this merge group

origin + + + + +

+

The arbitrary "owner" member of the merge group

+ + + diff --git a/datum/micro_organism.html b/datum/micro_organism.html new file mode 100644 index 00000000000..3f7cf8f1683 --- /dev/null +++ b/datum/micro_organism.html @@ -0,0 +1,50 @@ + + + + + + + /datum/micro_organism - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

micro_organism + + + +

+ +

A single type of growth.

+ + +

Vars

descDesc, shown by science goggles
nameName, shown on microscope

Procs

get_detailsReturns a short description of the cell line
+

Var Details

desc + + + + +

+

Desc, shown by science goggles

name + + + + +

+

Name, shown on microscope

Proc Details

get_details +

+

Returns a short description of the cell line

+ + + diff --git a/datum/micro_organism/cell_line.html b/datum/micro_organism/cell_line.html new file mode 100644 index 00000000000..ec1fd22ea2c --- /dev/null +++ b/datum/micro_organism/cell_line.html @@ -0,0 +1,120 @@ + + + + + + + /datum/micro_organism/cell_line - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cell_line + + + +

+ +

A "mob" cell. Can grow into a mob in a growing vat.

+ + + + + + + + + + + + +

Vars

growthOur growth so far, needs to get up to 100
growth_rateThis var defines how much % the organism grows per process(), without modifiers, if you have all required reagents
required_reagentsAll the reagent types required for letting this organism grow into whatever it should become
resulting_atomsResulting atoms from growing this cell line. List is assoc atom type || amount
supplementary_reagentsReagent types that further speed up growth, but aren't needed. Assoc list of reagent datum type || bonus growth per tick
suppressive_reagentsReagent types that surpress growth. Assoc list of reagent datum type || lost growth per tick
virus_suspectibilityThis var modifies how much this micro_organism is affected by viruses. Higher is more slowdown

Procs

calculate_growthApply modifiers on growth_rate based on supplementary and supressive reagents. Reagents is the growing vats reagents
finish_growingCalled once a cell line reaches 100 growth. Then we check if any cell_line is too far so we can perform an epic fail roll
get_detailsOverriden to show more info like needs, supplementary and supressive reagents and also growth.
handle_growthHandles growth of the micro_organism. This only runs if the micro organism is in the growing vat. Reagents is the growing vats reagents
return_reagent_textReturn a nice list of all the reagents in a specific category with a specific prefix. This needs to be reworked because the formatting sucks ass.
try_eatTries to consume the required reagents. Can only do this if all of them are available. Reagents is the growing vats reagents
+

Var Details

growth + + + + +

+

Our growth so far, needs to get up to 100

growth_rate + + + + +

+

This var defines how much % the organism grows per process(), without modifiers, if you have all required reagents

required_reagents + + + + +

+

All the reagent types required for letting this organism grow into whatever it should become

resulting_atoms + + + + +

+

Resulting atoms from growing this cell line. List is assoc atom type || amount

supplementary_reagents + + + + +

+

Reagent types that further speed up growth, but aren't needed. Assoc list of reagent datum type || bonus growth per tick

suppressive_reagents + + + + +

+

Reagent types that surpress growth. Assoc list of reagent datum type || lost growth per tick

virus_suspectibility + + + + +

+

This var modifies how much this micro_organism is affected by viruses. Higher is more slowdown

Proc Details

calculate_growth +

+

Apply modifiers on growth_rate based on supplementary and supressive reagents. Reagents is the growing vats reagents

finish_growing +

+

Called once a cell line reaches 100 growth. Then we check if any cell_line is too far so we can perform an epic fail roll

get_details +

+

Overriden to show more info like needs, supplementary and supressive reagents and also growth.

handle_growth +

+

Handles growth of the micro_organism. This only runs if the micro organism is in the growing vat. Reagents is the growing vats reagents

return_reagent_text +

+

Return a nice list of all the reagents in a specific category with a specific prefix. This needs to be reworked because the formatting sucks ass.

try_eat +

+

Tries to consume the required reagents. Can only do this if all of them are available. Reagents is the growing vats reagents

+ + + diff --git a/datum/mind.html b/datum/mind.html new file mode 100644 index 00000000000..328073eca89 --- /dev/null +++ b/datum/mind.html @@ -0,0 +1,411 @@ + + + + + + + /datum/mind - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mind + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs this mind active?
active_addictionsAssoc list of key active addictions and value amount of cycles that it has been active.
addiction_pointsAssoc list of addiction values, key is the type of withdrawal (as singleton type), and the value is the amount of addiction points (as number)
antag_datumsList of antag datums on this mind
antag_hudthis mind's antag HUD
antag_hud_icon_statethis mind's ANTAG_HUD should have this icon_state
assigned_roleJob datum indicating the mind's role. This should always exist after initialization, as a reference to a singleton.
book_titles_readA list to keep track of which books a person has read (to prevent people from reading the same book again and again for positive mood events)
currentCurrent mob this mind datum is attached to
current_scar_slot_indexThe index for our current scar slot, so we don't have to constantly check the savefile (unlike the slots themselves, this index is independent of selected char slot, and increments whenever a valid char is joined with)
enslaved_toIf this mind's master is another mob (i.e. adamantine golems). Weakref of a /living.
experience_multiplierSkill multiplier, adjusts how much xp you get/loose from adjust_xp. Dont override it directly, add your reason to experience_multiplier_reasons and use that as a key to put your value in there.
experience_multiplier_reasonsSkill multiplier list, just slap your multiplier change onto this with the type it is coming from as key.
failed_special_equipmentList of objective-specific equipment that couldn't properly be given to the mind
force_escapedSet by Into The Sunset command of the shuttle manipulator. +If TRUE, the mob will always be considered "escaped" if they are alive and not exiled.
ghostnamereplaces name for observers name if set
has_ever_been_aihas this mind ever been an AI
keyKey of the mob
known_skillsAssoc list of skills. Use SKILL_LVL to access level, and SKILL_EXP to access skill's exp.
martial_artMartial art on this mind
memoriesa list of /datum/memories. assoc type of memory = memory datum. only one type of memory will be stored, new ones of the same type overriding the last.
memory_panelreference to the memory panel tgui
nameThe name linked to this mind
original_characterWeakref to thecharacter we joined in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not
original_character_slot_indexThe index for what character slot, if any, we were loaded from, so we can track persistent scars on a per-character basis. Each character slot gets PERSISTENT_SCAR_SLOTS scar slots
skills_rewardedList of skills the user has received a reward for. Should not be used to keep track of currently known skills. Lazy list because it shouldnt be filled often
special_statusesA lazy list of statuses to add next to this mind in the traitor panel

Procs

_add_memoryUnless you need to use this for an explicit reason, use the add_memory, add_mob_memory, or add_memory_in_range macro wrappers.
add_addiction_pointsAdds addiction points to the specified addiction
adjust_experienceAdjust experience of a specific skill
enslave_mind_to_creatorLink a new mobs mind to the creator of said mob. They will join any team they are currently on, and will only switch teams when their creator does.
exp_needed_to_level_upReturn the amount of EXP needed to go to the next level. Returns 0 if max level
forget_crafting_recipeproc that makes user forget a specific crafting recipe
get_hijack_speedSets our can_hijack to the fastest speed our antag datums allow.
get_skill_expGets the player's current exp from the relevant skill
get_skill_levelGets the player's current level number from the relevant skill
get_skill_modifierGets the skill's singleton and returns the result of its get_skill_modifier
give_uplink
has_antag_datum_in_listReturns true if mind has any antag datum from a list of types
quick_copy_all_memoriesHelper to create quick copies of all of our memories +Quick copies aren't full copies - just basic copies containing necessities. +They cannot be used in stories.
remove_addiction_pointsAdds addiction points to the specified addiction
remove_antags_for_borgingRemove the antagonists that should not persist when being borged
select_memorySimple / sane proc for giving a mob the option to select one of their memories +that do not have the flags MEMORY_FLAG_ALREADY_USED or MEMORY_NO_STORY.
set_assigned_roleSetter for the assigned_role job datum.
set_assigned_role_with_greetingSets us to the passed job datum, then greets them to their new job. +Use this one for when you're assigning this mind to a new job for the first time, +or for when someone's recieving a job they'd really want to be greeted to.
set_experienceSet experience of a specific skill to a number
set_levelSet level of a specific skill
teach_crafting_recipeproc that teaches user a non-standard crafting recipe
try_give_equipment_fallbackChecks to see if the mind has an accessible uplink (their own, if they are a traitor; any unlocked uplink otherwise), +and gives them a fallback spell if no uplink was found
update_skill_levelCheck what the current skill level is based on that skill's exp
wipe_memorySmall helper to clean out memories.
+

Var Details

active + + + + +

+

Is this mind active?

active_addictions + + + + +

+

Assoc list of key active addictions and value amount of cycles that it has been active.

addiction_points + + + + +

+

Assoc list of addiction values, key is the type of withdrawal (as singleton type), and the value is the amount of addiction points (as number)

antag_datums + + + + +

+

List of antag datums on this mind

antag_hud + + + + +

+

this mind's antag HUD

antag_hud_icon_state + + + + +

+

this mind's ANTAG_HUD should have this icon_state

assigned_role + + + + +

+

Job datum indicating the mind's role. This should always exist after initialization, as a reference to a singleton.

book_titles_read + + + + +

+

A list to keep track of which books a person has read (to prevent people from reading the same book again and again for positive mood events)

current + + + + +

+

Current mob this mind datum is attached to

current_scar_slot_index + + + + +

+

The index for our current scar slot, so we don't have to constantly check the savefile (unlike the slots themselves, this index is independent of selected char slot, and increments whenever a valid char is joined with)

enslaved_to + + + + +

+

If this mind's master is another mob (i.e. adamantine golems). Weakref of a /living.

experience_multiplier + + + + +

+

Skill multiplier, adjusts how much xp you get/loose from adjust_xp. Dont override it directly, add your reason to experience_multiplier_reasons and use that as a key to put your value in there.

experience_multiplier_reasons + + + + +

+

Skill multiplier list, just slap your multiplier change onto this with the type it is coming from as key.

failed_special_equipment + + + + +

+

List of objective-specific equipment that couldn't properly be given to the mind

force_escaped + + + + +

+

Set by Into The Sunset command of the shuttle manipulator. +If TRUE, the mob will always be considered "escaped" if they are alive and not exiled.

ghostname + + + + +

+

replaces name for observers name if set

has_ever_been_ai + + + + +

+

has this mind ever been an AI

key + + + + +

+

Key of the mob

known_skills + + + + +

+

Assoc list of skills. Use SKILL_LVL to access level, and SKILL_EXP to access skill's exp.

martial_art + + + + +

+

Martial art on this mind

memories + + + + +

+

a list of /datum/memories. assoc type of memory = memory datum. only one type of memory will be stored, new ones of the same type overriding the last.

memory_panel + + + + +

+

reference to the memory panel tgui

name + + + + +

+

The name linked to this mind

original_character + + + + +

+

Weakref to thecharacter we joined in as- either at roundstart or latejoin, so we know for persistent scars if we ended as the same person or not

original_character_slot_index + + + + +

+

The index for what character slot, if any, we were loaded from, so we can track persistent scars on a per-character basis. Each character slot gets PERSISTENT_SCAR_SLOTS scar slots

skills_rewarded + + + + +

+

List of skills the user has received a reward for. Should not be used to keep track of currently known skills. Lazy list because it shouldnt be filled often

special_statuses + + + + +

+

A lazy list of statuses to add next to this mind in the traitor panel

Proc Details

_add_memory +

+

Unless you need to use this for an explicit reason, use the add_memory, add_mob_memory, or add_memory_in_range macro wrappers.

add_addiction_points +

+

Adds addiction points to the specified addiction

adjust_experience +

+

Adjust experience of a specific skill

enslave_mind_to_creator +

+

Link a new mobs mind to the creator of said mob. They will join any team they are currently on, and will only switch teams when their creator does.

exp_needed_to_level_up +

+

Return the amount of EXP needed to go to the next level. Returns 0 if max level

forget_crafting_recipe +

+

proc that makes user forget a specific crafting recipe

get_hijack_speed +

+

Sets our can_hijack to the fastest speed our antag datums allow.

get_skill_exp +

+

Gets the player's current exp from the relevant skill

get_skill_level +

+

Gets the player's current level number from the relevant skill

get_skill_modifier +

+

Gets the skill's singleton and returns the result of its get_skill_modifier

+ give_uplink +

A mind proc for giving anyone an uplink. +arguments:

+

has_antag_datum_in_list +

+

Returns true if mind has any antag datum from a list of types

quick_copy_all_memories +

+

Helper to create quick copies of all of our memories +Quick copies aren't full copies - just basic copies containing necessities. +They cannot be used in stories.

remove_addiction_points +

+

Adds addiction points to the specified addiction

remove_antags_for_borging +

+

Remove the antagonists that should not persist when being borged

select_memory +

+

Simple / sane proc for giving a mob the option to select one of their memories +that do not have the flags MEMORY_FLAG_ALREADY_USED or MEMORY_NO_STORY.

+

Arguments

+ +

Returns the memory selected, or null otherwise.

set_assigned_role +

+

Setter for the assigned_role job datum.

set_assigned_role_with_greeting +

+

Sets us to the passed job datum, then greets them to their new job. +Use this one for when you're assigning this mind to a new job for the first time, +or for when someone's recieving a job they'd really want to be greeted to.

set_experience +

+

Set experience of a specific skill to a number

set_level +

+

Set level of a specific skill

teach_crafting_recipe +

+

proc that teaches user a non-standard crafting recipe

try_give_equipment_fallback +

+

Checks to see if the mind has an accessible uplink (their own, if they are a traitor; any unlocked uplink otherwise), +and gives them a fallback spell if no uplink was found

update_skill_level +

+

Check what the current skill level is based on that skill's exp

wipe_memory +

+

Small helper to clean out memories.

+ + + diff --git a/datum/mod_link.html b/datum/mod_link.html new file mode 100644 index 00000000000..94f80c423dc --- /dev/null +++ b/datum/mod_link.html @@ -0,0 +1,113 @@ + + + + + + + /datum/mod_link - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod_link + + + +

+ +

A MODlink datum, used to handle unique functions that will be used in the MODlink call.

+ + + + + + + + + + + +

Vars

can_call_callbackA callback that returns whether the MODlink can currently call.
delete_visual_callbackA callback that deletes the visuals of the MODlink.
frequencyThe frequency of the MODlink. You can only call other MODlinks on the same frequency.
get_user_callbackA callback that returns the user of the MODlink.
get_visual_callbackA callback that receives the visuals of the other MODlink.
holderThe atom that holds the MODlink.
idThe unique ID of the MODlink.
link_callA reference to the call between two MODlinks.
make_visual_callbackA callback that returns the visuals of the MODlink.
nameGeneric name for multitool buffers.
visualA reference to the visuals generated by the MODlink.
visual_overlaysA list of all overlays of the user, copied everytime they have an overlay change.
+

Var Details

can_call_callback + + + + +

+

A callback that returns whether the MODlink can currently call.

delete_visual_callback + + + + +

+

A callback that deletes the visuals of the MODlink.

frequency + + + + +

+

The frequency of the MODlink. You can only call other MODlinks on the same frequency.

get_user_callback + + + + +

+

A callback that returns the user of the MODlink.

get_visual_callback + + + + +

+

A callback that receives the visuals of the other MODlink.

holder + + + + +

+

The atom that holds the MODlink.

id + + + + +

+

The unique ID of the MODlink.

+

A reference to the call between two MODlinks.

make_visual_callback + + + + +

+

A callback that returns the visuals of the MODlink.

name + + + + +

+

Generic name for multitool buffers.

visual + + + + +

+

A reference to the visuals generated by the MODlink.

visual_overlays + + + + +

+

A list of all overlays of the user, copied everytime they have an overlay change.

+ + + diff --git a/datum/mod_link_call.html b/datum/mod_link_call.html new file mode 100644 index 00000000000..728c447f552 --- /dev/null +++ b/datum/mod_link_call.html @@ -0,0 +1,43 @@ + + + + + + + /datum/mod_link_call - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod_link_call + + + +

+ +

A MODlink call datum, used to handle the call between two MODlinks.

+ +

Vars

callerThe MODlink that is calling.
receiverThe MODlink that is being called.
+

Var Details

caller + + + + +

+

The MODlink that is calling.

receiver + + + + +

+

The MODlink that is being called.

+ + + diff --git a/datum/mod_theme.html b/datum/mod_theme.html new file mode 100644 index 00000000000..872a73ec371 --- /dev/null +++ b/datum/mod_theme.html @@ -0,0 +1,169 @@ + + + + + + + /datum/mod_theme - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod_theme + + + +

+ +

MODsuit theme, instanced once and then used by MODsuits to grab various statistics.

+ + + + + + + + + + + + + + + + + + + +

Vars

activation_step_timeHow long this MOD takes each part to seal.
allowed_suit_storageAllowed items in the chestplate's suit storage.
armor_typeArmor shared across the MOD parts.
atom_flagsAtom flags shared across the MOD parts.
charge_drainHow much battery power the MOD uses by just being on
complexity_maxHow much modules can the MOD carry without malfunctioning.
default_skinDefault skin of the MOD.
descDescription added to the MOD.
extended_descExtended description on examine_more
inbuilt_modulesList of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.
max_heat_protection_temperatureMax heat protection shared across the MOD parts.
min_cold_protection_temperatureMax cold protection shared across the MOD parts.
nameTheme name for the MOD.
resistance_flagsResistance flags shared across the MOD parts.
siemens_coefficientSiemens shared across the MOD parts.
skinsList of skins with their appropriate clothing flags.
slot_flagsThe slot this mod theme fits on
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
ui_themeTheme used by the MOD TGUI.
+

Var Details

activation_step_time + + + + +

+

How long this MOD takes each part to seal.

allowed_suit_storage + + + + +

+

Allowed items in the chestplate's suit storage.

armor_type + + + + +

+

Armor shared across the MOD parts.

atom_flags + + + + +

+

Atom flags shared across the MOD parts.

charge_drain + + + + +

+

How much battery power the MOD uses by just being on

complexity_max + + + + +

+

How much modules can the MOD carry without malfunctioning.

default_skin + + + + +

+

Default skin of the MOD.

desc + + + + +

+

Description added to the MOD.

extended_desc + + + + +

+

Extended description on examine_more

inbuilt_modules + + + + +

+

List of inbuilt modules. These are different from the pre-equipped suits, you should mainly use these for unremovable modules with 0 complexity.

max_heat_protection_temperature + + + + +

+

Max heat protection shared across the MOD parts.

min_cold_protection_temperature + + + + +

+

Max cold protection shared across the MOD parts.

name + + + + +

+

Theme name for the MOD.

resistance_flags + + + + +

+

Resistance flags shared across the MOD parts.

siemens_coefficient + + + + +

+

Siemens shared across the MOD parts.

skins + + + + +

+

List of skins with their appropriate clothing flags.

slot_flags + + + + +

+

The slot this mod theme fits on

slowdown_active + + + + +

+

Slowdown of the MOD when active.

slowdown_inactive + + + + +

+

Slowdown of the MOD when not active.

ui_theme + + + + +

+

Theme used by the MOD TGUI.

+ + + diff --git a/datum/modular_mob_segment.html b/datum/modular_mob_segment.html new file mode 100644 index 00000000000..73bef4f32cf --- /dev/null +++ b/datum/modular_mob_segment.html @@ -0,0 +1,71 @@ + + + + + + + /datum/modular_mob_segment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_mob_segment + + + +

+ + + + + + + +

Vars

exactSet this to false if you want explicitly what's in the list to spawn
maxSpawn no more than this amount
mobsThe list of mobs to spawn
probabilityChance this will spawn (1 - 100)
spawned_mob_refsThe mobs spawned from this segment

Procs

spawn_mobsSpawns mobs in a circle around the location
+

Var Details

exact + + + + +

+

Set this to false if you want explicitly what's in the list to spawn

max + + + + +

+

Spawn no more than this amount

mobs + + + + +

+

The list of mobs to spawn

probability + + + + +

+

Chance this will spawn (1 - 100)

spawned_mob_refs + + + + +

+

The mobs spawned from this segment

Proc Details

spawn_mobs +

+

Spawns mobs in a circle around the location

+ + + diff --git a/datum/mood.html b/datum/mood.html new file mode 100644 index 00000000000..76766181e25 --- /dev/null +++ b/datum/mood.html @@ -0,0 +1,246 @@ + + + + + + + /datum/mood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mood + + + +

+ +

Mood datum

+

Contains the logic for controlling a living mob's mood and sanity.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

insanity_effectIs the owner being punished for low mood? if so, how much?
last_statTracks the last mob stat, updates on change +Used to stop processing SSmood
mob_parentThe parent (living) mob
moodThe total combined value of all moodlets for the mob
mood_eventsList of mood events currently active on this datum
mood_levelUsed to track what stage of moodies they're on (1-9)
mood_modifierMoodlet value modifier
mood_screen_objectThe screen object for the current mood level
sanityCurrent sanity of the mob (ranges from 0 - 150)
sanity_levelTo track what stage of sanity they're on (1-6)
shown_moodthe total combined value of all visible moodlets for the mob

Procs

add_mood_eventAdds a mood event to the mob
check_area_moodUpdates the mob's moodies, if the area provides a mood bonus
clear_mood_eventRemoves a mood event from the mob
direct_sanity_drainHelper to forcefully drain sanity
handle_nutritionHandles mood given by nutrition
has_mood_of_categoryReturns true if you already have a mood from a provided category. +You may think to yourself, why am I trying to get a boolean from a component? Well, this system probably should not be a component.
hud_clickHandles clicking on the mood HUD object
modify_hudSets up the mood HUD object
on_reviveCalled when parent is ahealed.
print_moodPrints the users mood, sanity, and moodies to chat
remove_temp_moodsRemoves all temporary moods
set_insanity_effectSets the insanity effect on the mob
set_sanitySets sanity to the specified amount and applies effects.
unmodify_hudRemoves the mood HUD object
update_beautyUpdates the mob's given beauty moodie, based on the area
update_moodUpdates the mobs mood. +Called after mood events have been added/removed.
update_mood_iconUpdates the mob's mood icon
+

Var Details

insanity_effect + + + + +

+

Is the owner being punished for low mood? if so, how much?

last_stat + + + + +

+

Tracks the last mob stat, updates on change +Used to stop processing SSmood

mob_parent + + + + +

+

The parent (living) mob

mood + + + + +

+

The total combined value of all moodlets for the mob

mood_events + + + + +

+

List of mood events currently active on this datum

mood_level + + + + +

+

Used to track what stage of moodies they're on (1-9)

mood_modifier + + + + +

+

Moodlet value modifier

mood_screen_object + + + + +

+

The screen object for the current mood level

sanity + + + + +

+

Current sanity of the mob (ranges from 0 - 150)

sanity_level + + + + +

+

To track what stage of sanity they're on (1-6)

shown_mood + + + + +

+

the total combined value of all visible moodlets for the mob

Proc Details

add_mood_event +

+

Adds a mood event to the mob

+

Arguments:

+

check_area_mood +

+

Updates the mob's moodies, if the area provides a mood bonus

clear_mood_event +

+

Removes a mood event from the mob

+

Arguments:

+

direct_sanity_drain +

+

Helper to forcefully drain sanity

handle_nutrition +

+

Handles mood given by nutrition

has_mood_of_category +

+

Returns true if you already have a mood from a provided category. +You may think to yourself, why am I trying to get a boolean from a component? Well, this system probably should not be a component.

+

Arguments

+

hud_click +

+

Handles clicking on the mood HUD object

modify_hud +

+

Sets up the mood HUD object

on_revive +

+

Called when parent is ahealed.

print_mood +

+

Prints the users mood, sanity, and moodies to chat

remove_temp_moods +

+

Removes all temporary moods

set_insanity_effect +

+

Sets the insanity effect on the mob

set_sanity +

+

Sets sanity to the specified amount and applies effects.

unmodify_hud +

+

Removes the mood HUD object

update_beauty +

+

Updates the mob's given beauty moodie, based on the area

update_mood +

+

Updates the mobs mood. +Called after mood events have been added/removed.

update_mood_icon +

+

Updates the mob's mood icon

+ + + diff --git a/datum/mood_event.html b/datum/mood_event.html new file mode 100644 index 00000000000..055be0bd2cc --- /dev/null +++ b/datum/mood_event.html @@ -0,0 +1,96 @@ + + + + + + + /datum/mood_event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mood_event + + + +

+ + + + + + + + + + +

Vars

categoryA category to put multiple mood events. If one of the mood events in the category +is active while another mood event (from the same category) is triggered it will remove +the effects of the current mood event and replace it with the new one
descriptionDescription of the mood event
hiddenIs this mood event hidden on examine
mood_changeAn integer value that affects overall sanity over time
ownerOwner of this mood event
required_jobList of required jobs for this mood event
special_screen_objIcon state of the unique mood event icon, if applicable
special_screen_replaceif false, it will be an overlay instead
timeoutHow long this mood event should last
+

Var Details

category + + + + +

+

A category to put multiple mood events. If one of the mood events in the category +is active while another mood event (from the same category) is triggered it will remove +the effects of the current mood event and replace it with the new one

description + + + + +

+

Description of the mood event

hidden + + + + +

+

Is this mood event hidden on examine

mood_change + + + + +

+

An integer value that affects overall sanity over time

owner + + + + +

+

Owner of this mood event

required_job + + + + +

+

List of required jobs for this mood event

special_screen_obj + + + + +

+

Icon state of the unique mood event icon, if applicable

special_screen_replace + + + + +

+

if false, it will be an overlay instead

timeout + + + + +

+

How long this mood event should last

+ + + diff --git a/datum/mood_event/area.html b/datum/mood_event/area.html new file mode 100644 index 00000000000..c60c4170bb4 --- /dev/null +++ b/datum/mood_event/area.html @@ -0,0 +1,50 @@ + + + + + + + /datum/mood_event/area - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

area + + + +

+ +
+ + + diff --git a/datum/mood_event/drunk.html b/datum/mood_event/drunk.html new file mode 100644 index 00000000000..525657f6894 --- /dev/null +++ b/datum/mood_event/drunk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/mood_event/drunk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

drunk + + + +

+ + +

Vars

blush_overlayThe blush overlay to display when the owner is drunk
+

Var Details

blush_overlay + + + + +

+

The blush overlay to display when the owner is drunk

+ + + diff --git a/datum/move_loop.html b/datum/move_loop.html new file mode 100644 index 00000000000..0682d94daae --- /dev/null +++ b/datum/move_loop.html @@ -0,0 +1,176 @@ + + + + + + + /datum/move_loop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

move_loop + + + +

+ +

Template class of the movement datums, handles the timing portion of the loops

+ + + + + + + + + + + + + + + + + + +

Vars

controllerThe subsystem we're processing on
delayDelay between each move in deci-seconds
extra_infoAn extra reference we pass around +It is on occasion useful to have a reference to some datum without storing it on the moving object +Mostly comes up in high performance senarios where we care about things being singletons +This feels horrible, but constantly making components seems worse
flagsBitfield of different things that affect how a loop operates, and other mechanics around it as well.
lifetimeTime till we stop processing in deci-seconds, defaults to forever
movingThe thing we're moving about
ownerThe movement packet that owns us
priorityDefines how different move loops override each other. Higher numbers beat lower numbers
queued_timeThe time we are CURRENTLY queued for processing +Do not modify this directly
statusStatus bitfield for what state the move loop is currently in
timerThe next time we should process +Used primarially as a hint to be reasoned about by our [controller], and as the id of our bucket

Procs

compare_loopscheck if this exact moveloop datum already exists (in terms of vars) so we can avoid creating a new one to overwrite the old duplicate
loop_startedCalled when a loop is starting by a movement subsystem
loop_stoppedCalled when a loop is stopped, doesn't stop the loop itself
moveHandles the actual move, overriden by children +Returns FALSE if nothing happen, TRUE otherwise
pause_forPauses the move loop for some passed in period +This functionally means shifting its timer up, and clearing it from its current bucket
pause_loopPause our loop untill restarted with resume_loop()
resume_loopResume our loop after being paused by pause_loop()
set_delayExists as a helper so outside code can modify delay in a sane way
+

Var Details

controller + + + + +

+

The subsystem we're processing on

delay + + + + +

+

Delay between each move in deci-seconds

extra_info + + + + +

+

An extra reference we pass around +It is on occasion useful to have a reference to some datum without storing it on the moving object +Mostly comes up in high performance senarios where we care about things being singletons +This feels horrible, but constantly making components seems worse

flags + + + + +

+

Bitfield of different things that affect how a loop operates, and other mechanics around it as well.

lifetime + + + + +

+

Time till we stop processing in deci-seconds, defaults to forever

moving + + + + +

+

The thing we're moving about

owner + + + + +

+

The movement packet that owns us

priority + + + + +

+

Defines how different move loops override each other. Higher numbers beat lower numbers

queued_time + + + + +

+

The time we are CURRENTLY queued for processing +Do not modify this directly

status + + + + +

+

Status bitfield for what state the move loop is currently in

timer + + + + +

+

The next time we should process +Used primarially as a hint to be reasoned about by our [controller], and as the id of our bucket

Proc Details

compare_loops +

+

check if this exact moveloop datum already exists (in terms of vars) so we can avoid creating a new one to overwrite the old duplicate

loop_started +

+

Called when a loop is starting by a movement subsystem

loop_stopped +

+

Called when a loop is stopped, doesn't stop the loop itself

move +

+

Handles the actual move, overriden by children +Returns FALSE if nothing happen, TRUE otherwise

pause_for +

+

Pauses the move loop for some passed in period +This functionally means shifting its timer up, and clearing it from its current bucket

pause_loop +

+

Pause our loop untill restarted with resume_loop()

resume_loop +

+

Resume our loop after being paused by pause_loop()

set_delay +

+

Exists as a helper so outside code can modify delay in a sane way

+ + + diff --git a/datum/move_loop/has_target.html b/datum/move_loop/has_target.html new file mode 100644 index 00000000000..8960a2400cb --- /dev/null +++ b/datum/move_loop/has_target.html @@ -0,0 +1,36 @@ + + + + + + + /datum/move_loop/has_target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

has_target + + + +

+ + +

Vars

targetThe thing we're moving in relation to, either at or away from
+

Var Details

target + + + + +

+

The thing we're moving in relation to, either at or away from

+ + + diff --git a/datum/move_loop/has_target/dist_bound.html b/datum/move_loop/has_target/dist_bound.html new file mode 100644 index 00000000000..17184715b78 --- /dev/null +++ b/datum/move_loop/has_target/dist_bound.html @@ -0,0 +1,35 @@ + + + + + + + /datum/move_loop/has_target/dist_bound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dist_bound + + + +

+ +

Base class of move_to and move_away, deals with the distance and target aspect of things

+

Procs

check_distReturns FALSE if the movement should pause, TRUE otherwise

Proc Details

check_dist +

+

Returns FALSE if the movement should pause, TRUE otherwise

+ + + diff --git a/datum/move_loop/has_target/jps.html b/datum/move_loop/has_target/jps.html new file mode 100644 index 00000000000..0ae860a773c --- /dev/null +++ b/datum/move_loop/has_target/jps.html @@ -0,0 +1,120 @@ + + + + + + + /datum/move_loop/has_target/jps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jps + + + +

+ + + + + + + + + + + + + + +

Vars

accessA list representing what access we have and what doors we can open.
avoidA perticular turf to avoid
is_pathingBool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.
max_path_lengthMax amount of steps to search
minimum_distanceMinimum distance to the target before path returns
movement_pathA list for the path we're currently following
on_finish_callbacksCallbacks to invoke once we make a path
repath_cooldownCooldown for repathing, prevents spam
repath_delayHow often we're allowed to recalculate our path
simulated_onlyWhether we consider turfs without atmos simulation (AKA do we want to ignore space)
skip_firstShould we skip the first step? This is the tile we're currently on, which breaks some things

Procs

on_finish_pathingCalled when a path has finished being created
recalculate_pathTries to calculate a new path for this moveloop.
+

Var Details

access + + + + +

+

A list representing what access we have and what doors we can open.

avoid + + + + +

+

A perticular turf to avoid

is_pathing + + + + +

+

Bool used to determine if we're already making a path in JPS. this prevents us from re-pathing while we're already busy.

max_path_length + + + + +

+

Max amount of steps to search

minimum_distance + + + + +

+

Minimum distance to the target before path returns

movement_path + + + + +

+

A list for the path we're currently following

on_finish_callbacks + + + + +

+

Callbacks to invoke once we make a path

repath_cooldown + + + + +

+

Cooldown for repathing, prevents spam

repath_delay + + + + +

+

How often we're allowed to recalculate our path

simulated_only + + + + +

+

Whether we consider turfs without atmos simulation (AKA do we want to ignore space)

skip_first + + + + +

+

Should we skip the first step? This is the tile we're currently on, which breaks some things

Proc Details

on_finish_pathing +

+

Called when a path has finished being created

recalculate_path +

+

Tries to calculate a new path for this moveloop.

+ + + diff --git a/datum/move_loop/has_target/move_towards.html b/datum/move_loop/has_target/move_towards.html new file mode 100644 index 00000000000..93692c58009 --- /dev/null +++ b/datum/move_loop/has_target/move_towards.html @@ -0,0 +1,70 @@ + + + + + + + /datum/move_loop/has_target/move_towards - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

move_towards + + + +

+ +

Used as a alternative to walk_towards

+ + + + +

Vars

homeShould we try and stay on the path, or is deviation alright
moving_towardsThe turf we want to move into, used for course correction
x_rateThe rate at which we move, between 0 and 1
x_tickerWhen this gets larger then 1 we move a turf

Procs

update_slopeRecalculates the slope between our object and the target, sets our rates to it
+

Var Details

home + + + + +

+

Should we try and stay on the path, or is deviation alright

moving_towards + + + + +

+

The turf we want to move into, used for course correction

x_rate + + + + +

+

The rate at which we move, between 0 and 1

x_ticker + + + + +

+

When this gets larger then 1 we move a turf

Proc Details

update_slope +

+

Recalculates the slope between our object and the target, sets our rates to it

+

The math below is reminiscent of something like y = mx + b +Except we don't need to care about axis, since we do all our movement in steps of 1 +Because of that all that matters is we only move one tile at a time +So we take the smaller delta, divide it by the larger one, and get smaller step per large step +Then we set the large step to 1, and we're done. This way we're guaranteed to never move more then a tile at once +And we can have nice lines

+ + + diff --git a/datum/movement_detector.html b/datum/movement_detector.html new file mode 100644 index 00000000000..0bc27ad0841 --- /dev/null +++ b/datum/movement_detector.html @@ -0,0 +1,51 @@ + + + + + + + /datum/movement_detector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

movement_detector + + + +

+ +

A datum to handle the busywork of registering signals to handle in depth tracking of a movable

+ + +

Procs

move_reactReacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively
trackSets up tracking of the given movable atom
untrackStops tracking

Proc Details

move_react +

+

Reacts to any movement that would cause a change in coordinates of the tracked movable atom +This works by detecting movement of either the tracked object, or anything it is inside, recursively

track +

+

Sets up tracking of the given movable atom

untrack +

+

Stops tracking

+ + + diff --git a/datum/movement_packet.html b/datum/movement_packet.html new file mode 100644 index 00000000000..d25af4f5c8f --- /dev/null +++ b/datum/movement_packet.html @@ -0,0 +1,84 @@ + + + + + + + /datum/movement_packet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

movement_packet + + + +

+ +

A packet of information that describes the current state of a moving object

+ + + + + + +

Vars

existing_loopsAssoc list of subsystems -> loop datum. Only one datum is allowed per subsystem
parentOur parent atom
processing_move_loop_flagsFlags passed from the move loop before it calls move() and unset right after. +Allows for properties of a move loop to be easily checked by mechanics outside of it. +Having this a bitfield rather than a type var means we don't get screwed over +if the move loop gets deleted mid-move, FYI.
running_loopThe move loop that's currently running, excluding those that ignore priority.

Procs

add_loopAdds a loop to our parent. Returns the created loop if a success, null otherwise
contest_running_loopAttempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise
decide_on_running_loopTries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists
+

Var Details

existing_loops + + + + +

+

Assoc list of subsystems -> loop datum. Only one datum is allowed per subsystem

parent + + + + +

+

Our parent atom

processing_move_loop_flags + + + + +

+

Flags passed from the move loop before it calls move() and unset right after. +Allows for properties of a move loop to be easily checked by mechanics outside of it. +Having this a bitfield rather than a type var means we don't get screwed over +if the move loop gets deleted mid-move, FYI.

running_loop + + + + +

+

The move loop that's currently running, excluding those that ignore priority.

Proc Details

add_loop +

+

Adds a loop to our parent. Returns the created loop if a success, null otherwise

contest_running_loop +

+

Attempts to contest the current running move loop. Returns TRUE if the loop is active, FALSE otherwise

decide_on_running_loop +

+

Tries to figure out the current favorite loop to run. More complex then just deciding between two different loops, assumes no running loop currently exists

+ + + diff --git a/datum/movespeed_modifier.html b/datum/movespeed_modifier.html new file mode 100644 index 00000000000..3f7c5cd665f --- /dev/null +++ b/datum/movespeed_modifier.html @@ -0,0 +1,78 @@ + + + + + + + /datum/movespeed_modifier - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

movespeed_modifier + + + +

+ + + + + + + + +

Vars

blacklisted_movetypesMovetypes this never applies to
conflicts_withOther modification datums this conflicts with.
idUnique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.
movetypesMovetypes this applies to
multiplicative_slowdownMultiplicative slowdown
priorityHigher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.
variableWhether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)
+

Var Details

blacklisted_movetypes + + + + +

+

Movetypes this never applies to

conflicts_with + + + + +

+

Other modification datums this conflicts with.

id + + + + +

+

Unique ID. You can never have different modifications with the same ID. By default, this SHOULD NOT be set. Only set it for cases where you're dynamically making modifiers/need to have two types overwrite each other. If unset, uses path (converted to text) as ID.

movetypes + + + + +

+

Movetypes this applies to

multiplicative_slowdown + + + + +

+

Multiplicative slowdown

priority + + + + +

+

Higher ones override lower priorities. This is NOT used for ID, ID must be unique, if it isn't unique the newer one overwrites automatically if overriding.

variable + + + + +

+

Whether or not this is a variable modifier. Variable modifiers can NOT be ever auto-cached. ONLY CHECKED VIA INITIAL(), EFFECTIVELY READ ONLY (and for very good reason)

+ + + diff --git a/datum/mutation/human.html b/datum/mutation/human.html new file mode 100644 index 00000000000..9e3e64772e9 --- /dev/null +++ b/datum/mutation/human.html @@ -0,0 +1,260 @@ + + + + + + + /datum/mutation/human - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

human + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alias'Mutation #49', decided every round to get some form of distinction between undiscovered mutations
blocksAmount of those big blocks with gene sequences
can_chromosomecan we take chromosomes? +0: CHROMOSOME_NEVER never +1: CHROMOSOME_NONE yeah +2: CHROMOSOME_USED no, already have one
chromosome_nameName of the chromosome
classThe class of mutation (MUT_NORMAL, MUT_EXTRA, MUT_OTHER)
conflictsany mutations that might conflict. +put mutation typepath defines in here. +make sure to enter it both ways (so that A conflicts with B, and B with A)
descDescription of the mutation
difficultyAmount of missing sequences. Sometimes it removes an entire pair for 2 points
dnaThe owner of this mutation's DNA
energy_coeffLowers mutation cooldown
health_reqMinimum health required to acquire the mutation
instabilityInstability the holder gets when the mutation is not native
layer_usedWhich mutation layer to use
limb_reqRequired limbs to acquire this mutation
lockedIs this mutation currently locked?
modifiedHas the chromosome been modified
mutadone_proofIs this mutation mutadone proof
ownerOwner of this mutation
power_coeffBoosts mutation strength
power_pathThe path of action we grant to our user on mutation gain
qualityQuality of the mutation
scrambledWhether we can read it if it's active. To avoid cheesing with mutagen
species_allowedTo restrict mutation to only certain species
stabilizer_coeffgenetic stability coeff
synchronizer_coeffMakes the mutation hurt the user less
text_gain_indicationMessage given to the user upon gaining this mutation
text_lose_indicationMessage given to the user upon losing this mutation
timeoutTime between mutation creation and removal. If this exists, we have a timer
valid_chrom_listList of strings of valid chromosomes this mutation can accept.
visual_indicatorsVisual indicators upon the character of the owner of this mutation

Procs

modifyCalled when a chromosome is applied so we can properly update some stats +without having to remove and reapply the mutation from someone
+

Var Details

alias + + + + +

+

'Mutation #49', decided every round to get some form of distinction between undiscovered mutations

blocks + + + + +

+

Amount of those big blocks with gene sequences

can_chromosome + + + + +

+

can we take chromosomes? +0: CHROMOSOME_NEVER never +1: CHROMOSOME_NONE yeah +2: CHROMOSOME_USED no, already have one

chromosome_name + + + + +

+

Name of the chromosome

class + + + + +

+

The class of mutation (MUT_NORMAL, MUT_EXTRA, MUT_OTHER)

conflicts + + + + +

+

any mutations that might conflict. +put mutation typepath defines in here. +make sure to enter it both ways (so that A conflicts with B, and B with A)

desc + + + + +

+

Description of the mutation

difficulty + + + + +

+

Amount of missing sequences. Sometimes it removes an entire pair for 2 points

dna + + + + +

+

The owner of this mutation's DNA

energy_coeff + + + + +

+

Lowers mutation cooldown

health_req + + + + +

+

Minimum health required to acquire the mutation

instability + + + + +

+

Instability the holder gets when the mutation is not native

layer_used + + + + +

+

Which mutation layer to use

limb_req + + + + +

+

Required limbs to acquire this mutation

locked + + + + +

+

Is this mutation currently locked?

modified + + + + +

+

Has the chromosome been modified

mutadone_proof + + + + +

+

Is this mutation mutadone proof

owner + + + + +

+

Owner of this mutation

power_coeff + + + + +

+

Boosts mutation strength

power_path + + + + +

+

The path of action we grant to our user on mutation gain

quality + + + + +

+

Quality of the mutation

scrambled + + + + +

+

Whether we can read it if it's active. To avoid cheesing with mutagen

species_allowed + + + + +

+

To restrict mutation to only certain species

stabilizer_coeff + + + + +

+

genetic stability coeff

synchronizer_coeff + + + + +

+

Makes the mutation hurt the user less

text_gain_indication + + + + +

+

Message given to the user upon gaining this mutation

text_lose_indication + + + + +

+

Message given to the user upon losing this mutation

timeout + + + + +

+

Time between mutation creation and removal. If this exists, we have a timer

valid_chrom_list + + + + +

+

List of strings of valid chromosomes this mutation can accept.

visual_indicators + + + + +

+

Visual indicators upon the character of the owner of this mutation

Proc Details

modify +

+

Called when a chromosome is applied so we can properly update some stats +without having to remove and reapply the mutation from someone

+

Returns null if no modification was done, and +returns an instance of a power if modification was complete

+ + + diff --git a/datum/mutation/human/acidflesh.html b/datum/mutation/human/acidflesh.html new file mode 100644 index 00000000000..47bf7588205 --- /dev/null +++ b/datum/mutation/human/acidflesh.html @@ -0,0 +1,36 @@ + + + + + + + /datum/mutation/human/acidflesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

acidflesh + + + +

+ + +

Vars

msgcooldownThe cooldown for the warning message
+

Var Details

msgcooldown + + + + +

+

The cooldown for the warning message

+ + + diff --git a/datum/mutation/human/chameleon.html b/datum/mutation/human/chameleon.html new file mode 100644 index 00000000000..c4567d9bc23 --- /dev/null +++ b/datum/mutation/human/chameleon.html @@ -0,0 +1,57 @@ + + + + + + + /datum/mutation/human/chameleon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

chameleon + + + +

+ + + +

Procs

on_attack_handResets the alpha of the host if they click on something nearby.
on_moveResets the alpha of the host to the chameleon default if they move.

Proc Details

on_attack_hand +

+

Resets the alpha of the host if they click on something nearby.

+

Arguments:

+

on_move +

+

Resets the alpha of the host to the chameleon default if they move.

+

Arguments:

+
+ + + diff --git a/datum/mutation/human/extrastun.html b/datum/mutation/human/extrastun.html new file mode 100644 index 00000000000..679ca96a5f7 --- /dev/null +++ b/datum/mutation/human/extrastun.html @@ -0,0 +1,35 @@ + + + + + + + /datum/mutation/human/extrastun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

extrastun + + + +

+ + +

Procs

on_moveTriggers on moved(). Randomly makes the owner trip

Proc Details

on_move +

+

Triggers on moved(). Randomly makes the owner trip

+ + + diff --git a/datum/mutation/human/glow.html b/datum/mutation/human/glow.html new file mode 100644 index 00000000000..4d5c4e0d69c --- /dev/null +++ b/datum/mutation/human/glow.html @@ -0,0 +1,35 @@ + + + + + + + /datum/mutation/human/glow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

glow + + + +

+ + +

Procs

get_glow_colorReturns a color for the glow effect

Proc Details

get_glow_color +

+

Returns a color for the glow effect

+ + + diff --git a/datum/mutation/human/hulk.html b/datum/mutation/human/hulk.html new file mode 100644 index 00000000000..b88e29072b2 --- /dev/null +++ b/datum/mutation/human/hulk.html @@ -0,0 +1,81 @@ + + + + + + + /datum/mutation/human/hulk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hulk + + + +

+ + + + + + + +

Vars

mutation_traitsList of traits to add/remove when someone gets this mutation.

Procs

break_an_armChecks damage of a hulk's arm and applies bone wounds as necessary.
check_swingRun a barrage of checks to see if any given click is actually able to swing
finish_swingTime to toss the victim at high speed
setup_swingBasically, we only proceed if we're in throw mode with a tailed carbon in our grasp with at least a neck grab and we're not restrained in some way +Do a short 2 second do_after before starting the actual swing
swing_loopDoes the animations for the hulk swing loop
+

Var Details

mutation_traits + + + + +

+

List of traits to add/remove when someone gets this mutation.

Proc Details

break_an_arm +

+

Checks damage of a hulk's arm and applies bone wounds as necessary.

+

Called by specific atoms being attacked, such as walls. If an atom +does not call this proc, than punching that atom will not cause +arm breaking (even if the atom deals recoil damage to hulks). +Arguments: +arg1 is the arm to evaluate damage of and possibly break.

check_swing +

+

Run a barrage of checks to see if any given click is actually able to swing

finish_swing +

+

Time to toss the victim at high speed

setup_swing +

+

Basically, we only proceed if we're in throw mode with a tailed carbon in our grasp with at least a neck grab and we're not restrained in some way +Do a short 2 second do_after before starting the actual swing

swing_loop +

+

Does the animations for the hulk swing loop

+

This code is based in part on the wrestling swing code ported from goon, see [code/datums/martial/wrestling.dm] +credit to: cogwerks, pistoleer, spyguy, angriestibm, marquesas, and stuntwaffle. +For each step of the swinging, with the delay getting shorter along the way. Checks to see we still have them in our grasp at each step.

+ + + diff --git a/datum/mutation/human/hulk/wizardly.html b/datum/mutation/human/hulk/wizardly.html new file mode 100644 index 00000000000..f104b272649 --- /dev/null +++ b/datum/mutation/human/hulk/wizardly.html @@ -0,0 +1,36 @@ + + + + + + + /datum/mutation/human/hulk/wizardly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizardly + + + +

+ + +

Vars

mutation_traitsList of traits to add/remove when someone gets this mutation.
+

Var Details

mutation_traits + + + + +

+

List of traits to add/remove when someone gets this mutation.

+ + + diff --git a/datum/mutation/human/laser_eyes.html b/datum/mutation/human/laser_eyes.html new file mode 100644 index 00000000000..57854f2dfc5 --- /dev/null +++ b/datum/mutation/human/laser_eyes.html @@ -0,0 +1,35 @@ + + + + + + + /datum/mutation/human/laser_eyes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

laser_eyes + + + +

+ +

Laser Eyes lets you shoot lasers from your eyes!

+

Procs

on_ranged_attackTriggers on COMSIG_MOB_ATTACK_RANGED. Does the projectile shooting.

Proc Details

on_ranged_attack +

+

Triggers on COMSIG_MOB_ATTACK_RANGED. Does the projectile shooting.

+ + + diff --git a/datum/mutation/human/radioactive.html b/datum/mutation/human/radioactive.html new file mode 100644 index 00000000000..cfa16f9ba73 --- /dev/null +++ b/datum/mutation/human/radioactive.html @@ -0,0 +1,45 @@ + + + + + + + /datum/mutation/human/radioactive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radioactive + + + +

+ + + +

Vars

radioactivity_source_refWeakref to our radiation emitter component

Procs

make_radioactiveMakes the passed mob radioactive, or if they're already radioactive, +update their radioactivity to the newly set values
+

Var Details

radioactivity_source_ref + + + + +

+

Weakref to our radiation emitter component

Proc Details

make_radioactive +

+

Makes the passed mob radioactive, or if they're already radioactive, +update their radioactivity to the newly set values

+ + + diff --git a/datum/mutation/human/telekinesis.html b/datum/mutation/human/telekinesis.html new file mode 100644 index 00000000000..c8d2d8348c8 --- /dev/null +++ b/datum/mutation/human/telekinesis.html @@ -0,0 +1,43 @@ + + + + + + + /datum/mutation/human/telekinesis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

telekinesis + + + +

+ +

Telekinesis lets you interact with objects from range, and gives you a light blue halo around your head.

+ +

Vars

blacklisted_atomsTypecache of atoms that TK shouldn't interact with

Procs

on_ranged_attackTriggers on COMSIG_MOB_ATTACK_RANGED. Usually handles stuff like picking up items at range.
+

Var Details

blacklisted_atoms + + + + +

+

Typecache of atoms that TK shouldn't interact with

Proc Details

on_ranged_attack +

+

Triggers on COMSIG_MOB_ATTACK_RANGED. Usually handles stuff like picking up items at range.

+ + + diff --git a/datum/newspanel.html b/datum/newspanel.html new file mode 100644 index 00000000000..5567f551b0f --- /dev/null +++ b/datum/newspanel.html @@ -0,0 +1,176 @@ + + + + + + + /datum/newspanel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

newspanel + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

channel_descWhat is the current, in-creation channel's description going to be?
channel_nameWhat is the current, in-creation channel's name going to be?
comment_textWhat is the current, in-creation comment's body going to be?
creating_channelIs the current user creating a new channel at the moment?
creating_commentIs the current user creating a new comment at the moment?
crime_descriptionWhat is the user submitted, crime description for the new wanted issue?
criminal_nameWhat is the user submitted, criminal name for the new wanted issue?
current_channelWhat newscaster channel is currently being viewed by the player?
current_imageThe current image that will be submitted with the newscaster story.
current_messageWhat newscaster feed_message is currently having a comment written for it?
feed_channel_messageThe message that's currently being written for a feed story.
viewing_wantedIs the current user editing or viewing a new wanted issue at the moment?

Procs

attach_photoThis takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.
create_channelPerforms a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.
create_commentConstructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.
create_storyCreates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.
send_photo_dataSends photo data to build the newscaster article.
start_creating_channelThis proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.
toggle_photoSelects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.
+

Var Details

channel_desc + + + + +

+

What is the current, in-creation channel's description going to be?

channel_name + + + + +

+

What is the current, in-creation channel's name going to be?

comment_text + + + + +

+

What is the current, in-creation comment's body going to be?

creating_channel + + + + +

+

Is the current user creating a new channel at the moment?

creating_comment + + + + +

+

Is the current user creating a new comment at the moment?

crime_description + + + + +

+

What is the user submitted, crime description for the new wanted issue?

criminal_name + + + + +

+

What is the user submitted, criminal name for the new wanted issue?

current_channel + + + + +

+

What newscaster channel is currently being viewed by the player?

current_image + + + + +

+

The current image that will be submitted with the newscaster story.

current_message + + + + +

+

What newscaster feed_message is currently having a comment written for it?

feed_channel_message + + + + +

+

The message that's currently being written for a feed story.

viewing_wanted + + + + +

+

Is the current user editing or viewing a new wanted issue at the moment?

Proc Details

attach_photo +

+

This takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.

create_channel +

+

Performs a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.

create_comment +

+

Constructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.

create_story +

+

Creates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.

send_photo_data +

+

Sends photo data to build the newscaster article.

start_creating_channel +

+

This proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.

toggle_photo +

+

Selects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.

+ + + diff --git a/datum/nobody_wants_to_learn_matrix_math.html b/datum/nobody_wants_to_learn_matrix_math.html new file mode 100644 index 00000000000..d35bf7778cc --- /dev/null +++ b/datum/nobody_wants_to_learn_matrix_math.html @@ -0,0 +1,32 @@ + + + + + + + /datum/nobody_wants_to_learn_matrix_math - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nobody_wants_to_learn_matrix_math + + + +

+ +nobody wants to learn matrix math! +

More than just a completely true statement, this datum is created as a tgui interface +allowing you to modify each vector until you know what you're doing. +Much like filteriffic, 'nobody wants to learn matrix math' is meant for developers like you and I +to implement interesting matrix transformations without the hassle if needing to know... algebra? Damn, i'm stupid.

+ + + diff --git a/datum/ntnet_conversation.html b/datum/ntnet_conversation.html new file mode 100644 index 00000000000..394d60fc2e8 --- /dev/null +++ b/datum/ntnet_conversation.html @@ -0,0 +1,92 @@ + + + + + + + /datum/ntnet_conversation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ntnet_conversation + + + +

+ + + + + + + + + + +

Vars

active_clientsChat clients who are active or minimized.
channel_operatorThe "Administrator" of the channel, the creator starts as channel's operator by default.
idID using the UID.
messagesList of all messages sent in the conversation.
muted_clientsChat clients currently muted by the operator, rendering them unable to ping other people.
ntnrc_uidA static UID to ensure no conversations are the same.
offline_clientsChat clients who have exited out of the program.
passwordThe password to join a channel, set by an Administrator.
titleThe title of the conversation, seen in the UI.
+

Var Details

active_clients + + + + +

+

Chat clients who are active or minimized.

channel_operator + + + + +

+

The "Administrator" of the channel, the creator starts as channel's operator by default.

id + + + + +

+

ID using the UID.

messages + + + + +

+

List of all messages sent in the conversation.

muted_clients + + + + +

+

Chat clients currently muted by the operator, rendering them unable to ping other people.

ntnrc_uid + + + + +

+

A static UID to ensure no conversations are the same.

offline_clients + + + + +

+

Chat clients who have exited out of the program.

password + + + + +

+

The password to join a channel, set by an Administrator.

title + + + + +

+

The title of the conversation, seen in the UI.

+ + + diff --git a/datum/object_window_info.html b/datum/object_window_info.html new file mode 100644 index 00000000000..f6468f35fbd --- /dev/null +++ b/datum/object_window_info.html @@ -0,0 +1,86 @@ + + + + + + + /datum/object_window_info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

object_window_info + + + +

+ +

Datum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration

+ + + + + + +

Vars

actively_trackingAre we currently tracking a turf?
atoms_to_imageslist of atom -> image string for objects we have had in the right click tab +this is our caching
atoms_to_imagifylist of atoms to turn into images for the object tab
atoms_to_showlist of atoms to show to our client via the object tab, at least currently
parentOur owner client

Procs

processTakes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done
viewing_atom_deletedClears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way
+

Var Details

actively_tracking + + + + +

+

Are we currently tracking a turf?

atoms_to_images + + + + +

+

list of atom -> image string for objects we have had in the right click tab +this is our caching

atoms_to_imagify + + + + +

+

list of atoms to turn into images for the object tab

atoms_to_show + + + + +

+

list of atoms to show to our client via the object tab, at least currently

parent + + + + +

+

Our owner client

Proc Details

process +

+

Takes a client, attempts to generate object images for it +We will update the client with any improvements we make when we're done

viewing_atom_deleted +

+

Clears any cached object window stuff +We use hard refs cause we'd need a signal for this anyway. Cleaner this way

+ + + diff --git a/datum/objective.html b/datum/objective.html new file mode 100644 index 00000000000..0145d2e9f42 --- /dev/null +++ b/datum/objective.html @@ -0,0 +1,50 @@ + + + + + + + /datum/objective - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

objective + + + +

+ + + + +

Vars

admin_grantablecan this be granted by admins?
objective_namename used in printing this objective (Objective #1)

Procs

get_roundend_success_suffixProvides a string describing what a good job you did or did not do
+

Var Details

admin_grantable + + + + +

+

can this be granted by admins?

objective_name + + + + +

+

name used in printing this objective (Objective #1)

Proc Details

get_roundend_success_suffix +

+

Provides a string describing what a good job you did or did not do

+ + + diff --git a/datum/objective/door_jack.html b/datum/objective/door_jack.html new file mode 100644 index 00000000000..b9b0101edf5 --- /dev/null +++ b/datum/objective/door_jack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/door_jack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

door_jack + + + +

+ + +

Vars

doors_requiredHow many doors that need to be opened using the gloves to pass the objective
+

Var Details

doors_required + + + + +

+

How many doors that need to be opened using the gloves to pass the objective

+ + + diff --git a/datum/objective/heretic_research.html b/datum/objective/heretic_research.html new file mode 100644 index 00000000000..fc5b504e173 --- /dev/null +++ b/datum/objective/heretic_research.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/heretic_research - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heretic_research + + + +

+ +

Heretic's research objective. "Research" is heretic knowledge nodes (You start with some).

+

Vars

main_path_lengthThe length of a main path. Calculated once in New().
+

Var Details

main_path_length + + + + +

+

The length of a main path. Calculated once in New().

+ + + diff --git a/datum/objective/heretic_summon.html b/datum/objective/heretic_summon.html new file mode 100644 index 00000000000..87da2d9adbd --- /dev/null +++ b/datum/objective/heretic_summon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/heretic_summon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heretic_summon + + + +

+ + +

Vars

num_summonedThe total number of summons the objective owner has done
+

Var Details

num_summoned + + + + +

+

The total number of summons the objective owner has done

+ + + diff --git a/datum/objective/hijack.html b/datum/objective/hijack.html new file mode 100644 index 00000000000..72687632c3b --- /dev/null +++ b/datum/objective/hijack.html @@ -0,0 +1,36 @@ + + + + + + + /datum/objective/hijack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hijack + + + +

+ + +

Vars

admin_grantableOverrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.
+

Var Details

admin_grantable + + + + +

+

Overrides the hijack speed of any antagonist datum it is on ONLY, no other datums are impacted.

+ + + diff --git a/datum/objective/mutiny.html b/datum/objective/mutiny.html new file mode 100644 index 00000000000..bc6a2c9ed19 --- /dev/null +++ b/datum/objective/mutiny.html @@ -0,0 +1,43 @@ + + + + + + + /datum/objective/mutiny - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mutiny + + + +

+ + + +

Vars

disconnect_timerNot primarily used as a cooldown but a timer to give a little bit more of a chance for the player to reconnect.
warned_adminsWhether admins have been warned about the potentially AFK player
+

Var Details

disconnect_timer + + + + +

+

Not primarily used as a cooldown but a timer to give a little bit more of a chance for the player to reconnect.

warned_admins + + + + +

+

Whether admins have been warned about the potentially AFK player

+ + + diff --git a/datum/objective/sacrifice.html b/datum/objective/sacrifice.html new file mode 100644 index 00000000000..967bff5ca34 --- /dev/null +++ b/datum/objective/sacrifice.html @@ -0,0 +1,35 @@ + + + + + + + /datum/objective/sacrifice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sacrifice + + + +

+ + +

Procs

clear_sacrificeUnregister signals from the old target so it doesn't cause issues when sacrificed of when a new target is found.

Proc Details

clear_sacrifice +

+

Unregister signals from the old target so it doesn't cause issues when sacrificed of when a new target is found.

+ + + diff --git a/datum/objective_item.html b/datum/objective_item.html new file mode 100644 index 00000000000..fc41b0696d0 --- /dev/null +++ b/datum/objective_item.html @@ -0,0 +1,120 @@ + + + + + + + /datum/objective_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

objective_item + + + +

+ + + + + + + + + + + + + + +

Vars

altitemsList of additional items which also count, for things like blueprints
excludefromjobJobs which cannot generate this objective (no stealing your own stuff)
exists_on_mapWhether this item exists on the station map at the start of a round.
item_ownerWho CARES if this item goes missing (no stealing unguarded items), often similar but not identical to the next list
nameHow the item is described in the objective
objective_typeDefines in which contexts the item can be given as an objective
special_equipmentItems to provide to people in order to allow them to acquire the target
targetitemTypepath of item
valid_containersValid containers that the target item can be in.

Procs

check_special_completionFor objectives with special checks (does that intellicard have an ai in it? etcetc)
owner_existsReturns true if one of the item's owners exists somewhere
target_existsReturns true if the target item exists
valid_objective_forTakes a list of minds and returns true if this is a valid objective to give to a team of these minds
+

Var Details

altitems + + + + +

+

List of additional items which also count, for things like blueprints

excludefromjob + + + + +

+

Jobs which cannot generate this objective (no stealing your own stuff)

exists_on_map + + + + +

+

Whether this item exists on the station map at the start of a round.

item_owner + + + + +

+

Who CARES if this item goes missing (no stealing unguarded items), often similar but not identical to the next list

name + + + + +

+

How the item is described in the objective

objective_type + + + + +

+

Defines in which contexts the item can be given as an objective

special_equipment + + + + +

+

Items to provide to people in order to allow them to acquire the target

targetitem + + + + +

+

Typepath of item

valid_containers + + + + +

+

Valid containers that the target item can be in.

Proc Details

check_special_completion +

+

For objectives with special checks (does that intellicard have an ai in it? etcetc)

owner_exists +

+

Returns true if one of the item's owners exists somewhere

target_exists +

+

Returns true if the target item exists

valid_objective_for +

+

Takes a list of minds and returns true if this is a valid objective to give to a team of these minds

+ + + diff --git a/datum/objective_item_handler.html b/datum/objective_item_handler.html new file mode 100644 index 00000000000..3fe0f899e33 --- /dev/null +++ b/datum/objective_item_handler.html @@ -0,0 +1,37 @@ + + + + + + + /datum/objective_item_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

objective_item_handler + + + +

+ + +

Procs

save_itemsRegisters all items that are potentially stealable and removes ones that aren't. +We still need to do things this way because on mapload, items may not be on the station until everything has finished loading.

Proc Details

save_items +

+

Registers all items that are potentially stealable and removes ones that aren't. +We still need to do things this way because on mapload, items may not be on the station until everything has finished loading.

+ + + diff --git a/datum/objective_target_machine_handler.html b/datum/objective_target_machine_handler.html new file mode 100644 index 00000000000..101923c9d2a --- /dev/null +++ b/datum/objective_target_machine_handler.html @@ -0,0 +1,50 @@ + + + + + + + /datum/objective_target_machine_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

objective_target_machine_handler + + + +

+ +

Datum which manages references to things we are instructed to destroy

+ + +

Vars

machine_instances_by_pathExisting instances of machines organised by typepath

Procs

finalise_valid_targetsConfirm that everything added to the list is a valid target, then prevent new targets from being added
on_machine_createdAdds a newly created machine to our list of machines, if we need it
+

Var Details

machine_instances_by_path + + + + +

+

Existing instances of machines organised by typepath

Proc Details

finalise_valid_targets +

+

Confirm that everything added to the list is a valid target, then prevent new targets from being added

on_machine_created +

+

Adds a newly created machine to our list of machines, if we need it

+ + + diff --git a/datum/orbit_menu.html b/datum/orbit_menu.html new file mode 100644 index 00000000000..c4d96933356 --- /dev/null +++ b/datum/orbit_menu.html @@ -0,0 +1,57 @@ + + + + + + + /datum/orbit_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

orbit_menu + + + +

+ + + + +

Vars

mob_allowed_typecachemobs worth orbiting. Because spaghetti, all mobs have the point of interest, but only some are allowed to actually show up. +this obviously should be changed in the future, so we only add mobs as POI if they actually are interesting, and we don't use +a typecache.

Procs

showShows the UI to the specified user.
validate_mob_poiHelper POI validation function passed as a callback to various SSpoints_of_interest procs.
+

Var Details

mob_allowed_typecache + + + + +

+

mobs worth orbiting. Because spaghetti, all mobs have the point of interest, but only some are allowed to actually show up. +this obviously should be changed in the future, so we only add mobs as POI if they actually are interesting, and we don't use +a typecache.

Proc Details

show +

+

Shows the UI to the specified user.

validate_mob_poi +

+

Helper POI validation function passed as a callback to various SSpoints_of_interest procs.

+

Provides extended validation above and beyond standard, limiting mob POIs without minds or ckeys +unless they're mobs, camera mobs or megafauna. Also allows exceptions for mobs that are deadchat controlled.

+

If they satisfy that requirement, falls back to default validation for the POI.

+ + + diff --git a/datum/orderable_item.html b/datum/orderable_item.html new file mode 100644 index 00000000000..ed2e801898a --- /dev/null +++ b/datum/orderable_item.html @@ -0,0 +1,64 @@ + + + + + + + /datum/orderable_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

orderable_item + + + +

+ +

A datum for chef ordering options from the chef's computer.

+ + + + +

Vars

category_indexThe category this item will be displayed in.
cost_per_orderHow much this item costs to order.
descDescription shown in the shop, set automatically unless it's hard set by the subtype
item_pathPath of the item that is purchased when ordering us.
nameName of the item shown in the shop.
+

Var Details

category_index + + + + +

+

The category this item will be displayed in.

cost_per_order + + + + +

+

How much this item costs to order.

desc + + + + +

+

Description shown in the shop, set automatically unless it's hard set by the subtype

item_path + + + + +

+

Path of the item that is purchased when ordering us.

name + + + + +

+

Name of the item shown in the shop.

+ + + diff --git a/datum/orion_event.html b/datum/orion_event.html new file mode 100644 index 00000000000..c11a0d589de --- /dev/null +++ b/datum/orion_event.html @@ -0,0 +1,112 @@ + + + + + + + /datum/orion_event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

orion_event + + + +

+ + + + + + + + + + +

Vars

emag_messagedefault emag effect of events is to play an audible message and sound
event_responsesbuttons to pick in response to the event. Don't worry, orion js will handle the rest
gamer_skillgaming skill of the player
gamer_skill_levelgaming skill level of the player
gamer_skill_randssome other metric that makes it easier to do randoms with skill testing, god really 3 vars guys
weightpickweight to show up. will still be in the events pool if added to the events list but not RANDOM, only triggered.

Procs

emag_effectSome effect that happens to the carbon when this event triggers on an emagged arcade machine.
on_selectWhat happens when this event is selected to trigger, sets vars. also can set some event pre-encounter randomization
responseWhat happens when you respond to this event by choosing one of the buttons
+

Var Details

emag_message + + + + +

+

default emag effect of events is to play an audible message and sound

event_responses + + + + +

+

buttons to pick in response to the event. Don't worry, orion js will handle the rest

gamer_skill + + + + +

+

gaming skill of the player

gamer_skill_level + + + + +

+

gaming skill level of the player

gamer_skill_rands + + + + +

+

some other metric that makes it easier to do randoms with skill testing, god really 3 vars guys

weight + + + + +

+

pickweight to show up. will still be in the events pool if added to the events list but not RANDOM, only triggered.

Proc Details

emag_effect +

+

Some effect that happens to the carbon when this event triggers on an emagged arcade machine.

+

By default, it just sends an audible message and a sound, both vars on the orion datum +Arguments:

+

on_select +

+

What happens when this event is selected to trigger, sets vars. also can set some event pre-encounter randomization

+

Arguments:

+

response +

+

What happens when you respond to this event by choosing one of the buttons

+

Arguments:

+
+ + + diff --git a/datum/outfit.html b/datum/outfit.html new file mode 100644 index 00000000000..358c5990f9a --- /dev/null +++ b/datum/outfit.html @@ -0,0 +1,324 @@ + + + + + + + /datum/outfit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Outfit datums + + + +

+ +

This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.

+

You can also specify an outfit datum on a job to have it auto equipped to the mob on join

+

/mob/living/carbon/human/proc/equipOutfit(outfit) is the mob level proc to equip an outfit +and you pass it the relevant datum outfit

+

outfits can also be saved as json blobs downloadable by a client and then can be uploaded +by that user to recreate the outfit, this is used by admins to allow for custom event outfits +that can be restored at a later date

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accessoryAny clothing accessory item
backType path of item to go in back slot
backpack_contentslist of items that should go in the backpack of the user
beltType path of item to go in belt slot
boxInternals box. Will be inserted at the start of backpack_contents
chameleon_extrasextra types for chameleon outfit changes, mostly guns
earsType path of item to go in ears slot
glassesType path of item to go in the glasses slot
glovesType path of item to go in gloves slot
headType path of item to go in head slot
idType path of item to go in the idcard slot
id_trimType path of ID card trim associated with this outfit.
implantsAny implants the mob should start implanted with
internals_slotID of the slot containing a gas tank
l_handType path of item to go in the right hand
l_pocketType path of item for left pocket slot
maskType path of item to go in mask slot
nameName of the outfit (shows up in the equip admin verb)
neckType path of item to go in neck slot
preloadShould we preload some of this job's items?
r_pocketType path of item for right pocket slot
shoesType path of item to go in shoes slot
skillchipsAny skillchips the mob should have in their brain.
suitType path of item to go in suit slot
suit_storeType path of item to go in suit storage slot
undershirtAny undershirt. While on humans it is a string, here we use paths to stay consistent with the rest of the equips.
uniformType path of item to go in uniform slot

Procs

apply_fingerprintsApply a fingerprint from the passed in human to all items in the outfit
copy_fromCopy most vars from another outfit to this one
equipEquips all defined types and paths to the mob passed in
get_chameleon_disguise_infoReturn a list of all the types that are required to disguise as this outfit type
get_json_dataReturn a json list of this outfit
get_types_to_preloadReturn a list of types to pregenerate for later equipping +This should not be things that do unique stuff in Initialize() based off their location, since we'll be storing them for a while
load_fromCreate an outfit datum from a list of json data
post_equipCalled after the equip proc has finished
pre_equipCalled at the start of the equip proc
save_to_filePrompt the passed in mob client to download this outfit as a json blob
+

Var Details

accessory + + + + +

+

Any clothing accessory item

back + + + + +

+

Type path of item to go in back slot

backpack_contents + + + + +

+

list of items that should go in the backpack of the user

+

Format of this list should be: list(path=count,otherpath=count)

belt + + + + +

+

Type path of item to go in belt slot

box + + + + +

+

Internals box. Will be inserted at the start of backpack_contents

chameleon_extras + + + + +

+

extra types for chameleon outfit changes, mostly guns

+

Format of this list is (typepath, typepath, typepath)

+

These are all added and returns in the list for get_chamelon_diguise_info proc

ears + + + + +

+

Type path of item to go in ears slot

glasses + + + + +

+

Type path of item to go in the glasses slot

gloves + + + + +

+

Type path of item to go in gloves slot

head + + + + +

+

Type path of item to go in head slot

id + + + + +

+

Type path of item to go in the idcard slot

id_trim + + + + +

+

Type path of ID card trim associated with this outfit.

implants + + + + +

+

Any implants the mob should start implanted with

+

Format of this list is (typepath, typepath, typepath)

internals_slot + + + + +

+

ID of the slot containing a gas tank

l_hand + + + + +

+

Type path of item to go in the right hand

l_pocket + + + + +

+

Type path of item for left pocket slot

mask + + + + +

+

Type path of item to go in mask slot

name + + + + +

+

Name of the outfit (shows up in the equip admin verb)

neck + + + + +

+

Type path of item to go in neck slot

preload + + + + +

+

Should we preload some of this job's items?

r_pocket + + + + +

+

Type path of item for right pocket slot

shoes + + + + +

+

Type path of item to go in shoes slot

skillchips + + + + +

+

Any skillchips the mob should have in their brain.

+

Format of this list is (typepath, typepath, typepath)

suit + + + + +

+

Type path of item to go in suit slot

suit_store + + + + +

+

Type path of item to go in suit storage slot

+

(make sure it's valid for that suit)

undershirt + + + + +

+

Any undershirt. While on humans it is a string, here we use paths to stay consistent with the rest of the equips.

uniform + + + + +

+

Type path of item to go in uniform slot

Proc Details

apply_fingerprints +

+

Apply a fingerprint from the passed in human to all items in the outfit

+

Used for forensics setup when the mob is first equipped at roundstart +essentially calls add_fingerprint to every defined item on the human

copy_from +

+

Copy most vars from another outfit to this one

equip +

+

Equips all defined types and paths to the mob passed in

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

get_chameleon_disguise_info +

+

Return a list of all the types that are required to disguise as this outfit type

get_json_data +

+

Return a json list of this outfit

get_types_to_preload +

+

Return a list of types to pregenerate for later equipping +This should not be things that do unique stuff in Initialize() based off their location, since we'll be storing them for a while

load_from +

+

Create an outfit datum from a list of json data

post_equip +

+

Called after the equip proc has finished

+

All items are on the mob at this point, use this proc to toggle internals +fiddle with id bindings and accesses etc

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

pre_equip +

+

Called at the start of the equip proc

+

Override to change the value of the slots depending on client prefs, species and +other such sources of change

+

Extra Arguments

+ +

If visualsOnly is true, you can omit any work that doesn't visually appear on the character sprite

save_to_file +

+

Prompt the passed in mob client to download this outfit as a json blob

+ + + diff --git a/datum/outfit/basketball.html b/datum/outfit/basketball.html new file mode 100644 index 00000000000..20ddb5210af --- /dev/null +++ b/datum/outfit/basketball.html @@ -0,0 +1,43 @@ + + + + + + + /datum/outfit/basketball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

basketball + + + +

+ + + +

Vars

has_cardDo they get an ID?
nodrop_slotsWhich slots to apply TRAIT_NODROP to the items in
+

Var Details

has_card + + + + +

+

Do they get an ID?

nodrop_slots + + + + +

+

Which slots to apply TRAIT_NODROP to the items in

+ + + diff --git a/datum/outfit/consumed_clown.html b/datum/outfit/consumed_clown.html new file mode 100644 index 00000000000..fb2a093645b --- /dev/null +++ b/datum/outfit/consumed_clown.html @@ -0,0 +1,36 @@ + + + + + + + /datum/outfit/consumed_clown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

consumed_clown + + + +

+ + +

Vars

drop_a_pie_cannondrops a pie cannon on post_equip. i'm so done with this stupid outfit trying to put shit that doesn't fit in the backpack!
+

Var Details

drop_a_pie_cannon + + + + +

+

drops a pie cannon on post_equip. i'm so done with this stupid outfit trying to put shit that doesn't fit in the backpack!

+ + + diff --git a/datum/outfit/ctf.html b/datum/outfit/ctf.html new file mode 100644 index 00000000000..06aff7ed354 --- /dev/null +++ b/datum/outfit/ctf.html @@ -0,0 +1,78 @@ + + + + + + + /datum/outfit/ctf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ + + + + + + + +

Vars

class_descriptionDescription to be shown in the class selection menu
has_cardDo they get an ID?
has_radioDo they get a headset?
iconIcon file for the class radial menu icons
icon_stateIcon state for this class
nodrop_slotsWhich slots to apply TRAIT_NODROP to the items in
team_radio_freqRadio frequency to assign players with this outfit
+

Var Details

class_description + + + + +

+

Description to be shown in the class selection menu

has_card + + + + +

+

Do they get an ID?

has_radio + + + + +

+

Do they get a headset?

icon + + + + +

+

Icon file for the class radial menu icons

icon_state + + + + +

+

Icon state for this class

nodrop_slots + + + + +

+

Which slots to apply TRAIT_NODROP to the items in

team_radio_freq + + + + +

+

Radio frequency to assign players with this outfit

+ + + diff --git a/datum/outfit/syndicate.html b/datum/outfit/syndicate.html new file mode 100644 index 00000000000..a5efae73a7d --- /dev/null +++ b/datum/outfit/syndicate.html @@ -0,0 +1,50 @@ + + + + + + + /datum/outfit/syndicate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syndicate + + + +

+ + + + +

Vars

command_radioEnables big voice on this outfit's headset, used for nukie leaders.
tcAmount of TC to automatically store in this outfit's uplink.
uplink_typeThe type of uplink to be given on equip.
+

Var Details

command_radio + + + + +

+

Enables big voice on this outfit's headset, used for nukie leaders.

tc + + + + +

+

Amount of TC to automatically store in this outfit's uplink.

+

The type of uplink to be given on equip.

+ + + diff --git a/datum/overlay_info.html b/datum/overlay_info.html new file mode 100644 index 00000000000..ea8d335ecbe --- /dev/null +++ b/datum/overlay_info.html @@ -0,0 +1,73 @@ + + + + + + + /datum/overlay_info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

overlay_info + + + +

+ +

Stores the decal & overlays on the floor to preserve texture of the design +in short its just an wrapper for mutable appearance where we retrieve the nessassary information +to recreate an mutable appearance

+ + + + + +

Vars

alphaalpha var of the mutable appearance
colorcolor var of the mutable appearance
directiondirection var of the mutable appearance
iconicon var of the mutable appearance
icon_stateicon_state var of the mutable appearance

Procs

add_decalre create the appearance
+

Var Details

alpha + + + + +

+

alpha var of the mutable appearance

color + + + + +

+

color var of the mutable appearance

direction + + + + +

+

direction var of the mutable appearance

icon + + + + +

+

icon var of the mutable appearance

icon_state + + + + +

+

icon_state var of the mutable appearance

Proc Details

add_decal +

+

re create the appearance

+ + + diff --git a/datum/pai_candidate.html b/datum/pai_candidate.html new file mode 100644 index 00000000000..a85c177084f --- /dev/null +++ b/datum/pai_candidate.html @@ -0,0 +1,93 @@ + + + + + + + /datum/pai_candidate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pai_candidate + + + +

+ +

#pAI Candidate

+

Created when a user opens the pAI submit interface. +Stores the candidate in an associative list of ckey: candidate objects.

+ + + + + + +

Vars

ckeyUser's ckey
commentsUser inputted OOC comments
descriptionUser inputted behavior description
nameUser's pAI name. If blank, ninja name.
readyIf the user has hit "submit"

Procs

check_readyChecks if a candidate is ready so that they may be displayed or +downloaded. Removes any invalid entries.
savefile_pathname +key +description +role +comments +ready = TRUE
+

Var Details

ckey + + + + +

+

User's ckey

comments + + + + +

+

User inputted OOC comments

description + + + + +

+

User inputted behavior description

name + + + + +

+

User's pAI name. If blank, ninja name.

ready + + + + +

+

If the user has hit "submit"

Proc Details

check_ready +

+

Checks if a candidate is ready so that they may be displayed or +downloaded. Removes any invalid entries.

+

@returns {boolean} - TRUE if the candidate is ready, FALSE if not

savefile_path +

+

name +key +description +role +comments +ready = TRUE

+ + + diff --git a/datum/painting.html b/datum/painting.html new file mode 100644 index 00000000000..035e269f1dd --- /dev/null +++ b/datum/painting.html @@ -0,0 +1,134 @@ + + + + + + + /datum/painting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

painting + + + +

+ + + + + + + + + + + + + + + + +

Vars

creation_dateTimestamp when painting was made (finalized ?)
creation_round_idRound if when the painting was made
creator_ckeyAuthor's ckey
creator_nameAuthor's name
credit_valueAmount paid by last patron for this painting
frame_typeThe appearance of the frame overlay that appears when the painting if framed.
heightpainting height
loaded_from_jsonWas the painting loaded from json or created this round
md5md5 of the png file, also the filename.
mediumshort painting medium description
patron_ckeyPatron ckey
patron_namePatron name
tagsList of this painting string tags if any
titleTitle
widthpainting width
+

Var Details

creation_date + + + + +

+

Timestamp when painting was made (finalized ?)

creation_round_id + + + + +

+

Round if when the painting was made

creator_ckey + + + + +

+

Author's ckey

creator_name + + + + +

+

Author's name

credit_value + + + + +

+

Amount paid by last patron for this painting

frame_type + + + + +

+

The appearance of the frame overlay that appears when the painting if framed.

height + + + + +

+

painting height

loaded_from_json + + + + +

+

Was the painting loaded from json or created this round

md5 + + + + +

+

md5 of the png file, also the filename.

medium + + + + +

+

short painting medium description

patron_ckey + + + + +

+

Patron ckey

patron_name + + + + +

+

Patron name

tags + + + + +

+

List of this painting string tags if any

title + + + + +

+

Title

width + + + + +

+

painting width

+ + + diff --git a/datum/paper_field.html b/datum/paper_field.html new file mode 100644 index 00000000000..161581e0853 --- /dev/null +++ b/datum/paper_field.html @@ -0,0 +1,50 @@ + + + + + + + /datum/paper_field - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paper_field + + + +

+ +

A reference to some data that replaces a modifiable input field at some given index in paper raw input parsing.

+ + +

Vars

field_dataThe data that tgui should substitute in-place of the input field when parsing.
field_indexWhen tgui parses the raw input, if it encounters a field_index matching the nth user input field, it will disable it and replace it with the field_data.
is_signatureIf TRUE, requests tgui to render this field input in a more signature-y style.
+

Var Details

field_data + + + + +

+

The data that tgui should substitute in-place of the input field when parsing.

field_index + + + + +

+

When tgui parses the raw input, if it encounters a field_index matching the nth user input field, it will disable it and replace it with the field_data.

is_signature + + + + +

+

If TRUE, requests tgui to render this field input in a more signature-y style.

+ + + diff --git a/datum/paper_input.html b/datum/paper_input.html new file mode 100644 index 00000000000..acc55da5bce --- /dev/null +++ b/datum/paper_input.html @@ -0,0 +1,71 @@ + + + + + + + /datum/paper_input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

paper_input + + + +

+ +

A single instance of a saved raw input onto paper.

+ + + + + +

Vars

advanced_htmlWhether the creator of this input field has the R_FUN permission, thus allowing less sanitization
boldWhether to render the font bold or not.
colourColour to draw the input with.
fontFont to draw the input with.
raw_textRaw, unsanitised, unparsed text for an input.

Procs

to_raw_htmlReturns the raw contents of the input as html, with ZERO SANITIZATION
+

Var Details

advanced_html + + + + +

+

Whether the creator of this input field has the R_FUN permission, thus allowing less sanitization

bold + + + + +

+

Whether to render the font bold or not.

colour + + + + +

+

Colour to draw the input with.

font + + + + +

+

Font to draw the input with.

raw_text + + + + +

+

Raw, unsanitised, unparsed text for an input.

Proc Details

to_raw_html +

+

Returns the raw contents of the input as html, with ZERO SANITIZATION

+ + + diff --git a/datum/paper_stamp.html b/datum/paper_stamp.html new file mode 100644 index 00000000000..ca59f345c4b --- /dev/null +++ b/datum/paper_stamp.html @@ -0,0 +1,57 @@ + + + + + + + /datum/paper_stamp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paper_stamp + + + +

+ +

A single instance of a saved stamp on paper.

+ + + +

Vars

classAsset class of the for rendering in tgui
rotationRotation of stamp in degrees. 0 to 359.
stamp_xX position of stamp.
stamp_yY position of stamp.
+

Var Details

class + + + + +

+

Asset class of the for rendering in tgui

rotation + + + + +

+

Rotation of stamp in degrees. 0 to 359.

stamp_x + + + + +

+

X position of stamp.

stamp_y + + + + +

+

Y position of stamp.

+ + + diff --git a/datum/parsed_map.html b/datum/parsed_map.html new file mode 100644 index 00000000000..92fb3f889ce --- /dev/null +++ b/datum/parsed_map.html @@ -0,0 +1,166 @@ + + + + + + + /datum/parsed_map - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

parsed_map + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

boundsOffset bounds. Same as parsed_bounds until load().
expanded_xIf we've expanded world.maxy
expanded_yIf we've expanded world.maxx
key_lenThe length of a key in this file. This is promised by the standard to be static
line_lenThe length of a line in this file. Not promised by dmm but standard dmm uses it, so we can trust it
loaded_areasList of area types we've loaded AS A PART OF THIS MAP +We do this to allow non unique areas, so we'll only load one per map
loadingIf we are currently loading this map
matches_tgmMatches key formats in TMG (IE: newline after the ()
model_pathPulls out model paths for DMM
parsed_boundsUnoffset bounds. Null on parse failure.
turf_blacklistany turf in this list is skipped inside of build_coordinate. Lazy assoc list
var_edits_tgmPulls out key value pairs for TGM

Procs

NewParse a map, possibly cropping it.
_dmm_loadStanrdard loading, not used in production +Doesn't take advantage of any tgm optimizations, which makes it slower but also more general +Use this if for some reason your map format is messy
check_for_errorsCheck a parsed but not yet loaded map for errors.
dmm_build_cacheBuilds key caches for general formats +Slower then the proc above, tho it could still be optimized slightly. it's just not a priority +Since we don't run DMM maps, ever.
filter_grid_sets_based_on_z_boundsIterates over all grid sets and returns ones with z values within the given bounds. Inclusive
loadLoad the parsed map into the world. You probably want /proc/load_map. Keep the signature the same.
+

Var Details

bounds + + + + +

+

Offset bounds. Same as parsed_bounds until load().

expanded_x + + + + +

+

If we've expanded world.maxy

expanded_y + + + + +

+

If we've expanded world.maxx

key_len + + + + +

+

The length of a key in this file. This is promised by the standard to be static

line_len + + + + +

+

The length of a line in this file. Not promised by dmm but standard dmm uses it, so we can trust it

loaded_areas + + + + +

+

List of area types we've loaded AS A PART OF THIS MAP +We do this to allow non unique areas, so we'll only load one per map

loading + + + + +

+

If we are currently loading this map

matches_tgm + + + + +

+

Matches key formats in TMG (IE: newline after the ()

model_path + + + + +

+

Pulls out model paths for DMM

parsed_bounds + + + + +

+

Unoffset bounds. Null on parse failure.

turf_blacklist + + + + +

+

any turf in this list is skipped inside of build_coordinate. Lazy assoc list

var_edits_tgm + + + + +

+

Pulls out key value pairs for TGM

Proc Details

New +

+

Parse a map, possibly cropping it.

_dmm_load +

+

Stanrdard loading, not used in production +Doesn't take advantage of any tgm optimizations, which makes it slower but also more general +Use this if for some reason your map format is messy

check_for_errors +

+

Check a parsed but not yet loaded map for errors.

+

Returns a /datum/map_report if there are errors or FALSE otherwise.

dmm_build_cache +

+

Builds key caches for general formats +Slower then the proc above, tho it could still be optimized slightly. it's just not a priority +Since we don't run DMM maps, ever.

filter_grid_sets_based_on_z_bounds +

+

Iterates over all grid sets and returns ones with z values within the given bounds. Inclusive

load +

+

Load the parsed map into the world. You probably want /proc/load_map. Keep the signature the same.

+ + + diff --git a/datum/particle_editor.html b/datum/particle_editor.html new file mode 100644 index 00000000000..54055cfeda4 --- /dev/null +++ b/datum/particle_editor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/particle_editor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

particle_editor + + + +

+ + +

Vars

targetmovable whose particles we want to be editing
+

Var Details

target + + + + +

+

movable whose particles we want to be editing

+ + + diff --git a/datum/path_map.html b/datum/path_map.html new file mode 100644 index 00000000000..3860c327455 --- /dev/null +++ b/datum/path_map.html @@ -0,0 +1,178 @@ + + + + + + + /datum/path_map - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

path_map + + + +

+ +

Datum that describes the shortest path between a source turf and any turfs within a distance

+ + + + + + + + + + + + + + + + + +

Vars

avoidWere we avoiding a turf? If so, which one?
buildingAre we currently being built
creation_timeThe tick we were completed on, in case you want to hold onto this for a bit
distancesList of distances from the starting turf, each index lines up with the next_closest list
expandingAre we currently being expanded?
next_closestAssoc list of turf -> the turf one step closer on the path +Arranged in discovery order, so the last turf here will be the furthest from the start
pass_infoThe pass info datum used to create us
pass_spaceWere we allowed to path over space?
startOur starting turf, the location this map feeds into

Procs

compare_againstReturns true if the passed in pass_map's pass logic matches ours +False otherwise
compare_against_argsReturns true if the passed in pass_info and start/pass_space/avoid match ours +False otherwise
copy_fromCopies the passed in path_map into this datum +Saves some headache with updating refs if we want to modify a path_map
expandExpands this pathmap to cover a new range, assuming the arg is greater then the current range +Returns true if this succeeded or was not required, false otherwise
generate_pathTakes a turf to use as the other end, returns the path between the source node and it
get_path_fromTakes a turf to start from, returns a path to the source turf of this datum
get_path_toTakes a turf to path to, returns the shortest path to it at the time of this datum's creation
settings_to_pathReturns a new /datum/pathfind/sssp based off our settings +Will have an invalid source mob, no max distance, and no ending callback
turfs_in_rangeGets a list of turfs reachable by this path_map from the distance first to the distance second, both inclusive +first > second or first < second are both respected, and the return order will reflect the arg order +We return a list of turf -> distance, or null if we error
+

Var Details

avoid + + + + +

+

Were we avoiding a turf? If so, which one?

building + + + + +

+

Are we currently being built

creation_time + + + + +

+

The tick we were completed on, in case you want to hold onto this for a bit

distances + + + + +

+

List of distances from the starting turf, each index lines up with the next_closest list

expanding + + + + +

+

Are we currently being expanded?

next_closest + + + + +

+

Assoc list of turf -> the turf one step closer on the path +Arranged in discovery order, so the last turf here will be the furthest from the start

pass_info + + + + +

+

The pass info datum used to create us

pass_space + + + + +

+

Were we allowed to path over space?

start + + + + +

+

Our starting turf, the location this map feeds into

Proc Details

compare_against +

+

Returns true if the passed in pass_map's pass logic matches ours +False otherwise

compare_against_args +

+

Returns true if the passed in pass_info and start/pass_space/avoid match ours +False otherwise

copy_from +

+

Copies the passed in path_map into this datum +Saves some headache with updating refs if we want to modify a path_map

expand +

+

Expands this pathmap to cover a new range, assuming the arg is greater then the current range +Returns true if this succeeded or was not required, false otherwise

generate_path +

+

Takes a turf to use as the other end, returns the path between the source node and it

+

skip_first - If we should drop the first step in the path. Used to avoid stepping where we already are +min_target_dist - How many, if any, turfs off the end of the path should we drop? +reverse - If true, "reverses" the path generated. You'd want to use this for generating a path to the source node itself

get_path_from +

+

Takes a turf to start from, returns a path to the source turf of this datum

+

skip_first - If we should drop the first step in the path. Used to avoid stepping where we already are +min_target_dist - How many, if any, turfs off the end of the path should we drop?

get_path_to +

+

Takes a turf to path to, returns the shortest path to it at the time of this datum's creation

+

skip_first - If we should drop the first step in the path. Used to avoid stepping where we already are +min_target_dist - How many, if any, turfs off the end of the path should we drop?

settings_to_path +

+

Returns a new /datum/pathfind/sssp based off our settings +Will have an invalid source mob, no max distance, and no ending callback

turfs_in_range +

+

Gets a list of turfs reachable by this path_map from the distance first to the distance second, both inclusive +first > second or first < second are both respected, and the return order will reflect the arg order +We return a list of turf -> distance, or null if we error

+ + + diff --git a/datum/pathfind.html b/datum/pathfind.html new file mode 100644 index 00000000000..7097aa2cf2d --- /dev/null +++ b/datum/pathfind.html @@ -0,0 +1,114 @@ + + + + + + + /datum/pathfind - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pathfind + + + +

+ +

The datum used to handle the JPS pathfinding, completely self-contained

+ + + + + + + + + + +

Vars

avoidA specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through
max_distanceLimits how far we can search before giving up on a path
on_finishThe callbacks to invoke when we're done working, passing in the completed product +Invoked in order
pass_infoDatum that holds the canpass info of this pathing attempt. This is what CanAstarPass sees
simulated_onlySpace is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles
startThe turf we started at

Procs

early_exitearly_exit() is called when something goes wrong in processing, and we need to halt the pathfinding NOW
finishedCleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations
hand_backCall to return a value to whoever spawned this pathfinding work +Will fail if it's already been called
search_stepsearch_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort
start"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise
+

Var Details

avoid + + + + +

+

A specific turf we're avoiding, like if a mulebot is being blocked by someone t-posing in a doorway we're trying to get through

max_distance + + + + +

+

Limits how far we can search before giving up on a path

on_finish + + + + +

+

The callbacks to invoke when we're done working, passing in the completed product +Invoked in order

pass_info + + + + +

+

Datum that holds the canpass info of this pathing attempt. This is what CanAstarPass sees

simulated_only + + + + +

+

Space is big and empty, if this is TRUE then we ignore pathing through unsimulated tiles

start + + + + +

+

The turf we started at

Proc Details

early_exit +

+

early_exit() is called when something goes wrong in processing, and we need to halt the pathfinding NOW

finished +

+

Cleanup pass for the pathfinder. This tidies up the path, and fufills the pathfind's obligations

hand_back +

+

Call to return a value to whoever spawned this pathfinding work +Will fail if it's already been called

search_step +

+

search_step() is the workhorse of pathfinding. It'll do the searching logic, and will slowly build up a path +returns TRUE if everything is stable, FALSE if the pathfinding logic has failed, and we need to abort

start +

+

"starts" off the pathfinding, by storing the values this datum will need to work later on +returns FALSE if it fails to setup properly, TRUE otherwise

+ + + diff --git a/datum/pathfind/jps.html b/datum/pathfind/jps.html new file mode 100644 index 00000000000..0a9eaa1c898 --- /dev/null +++ b/datum/pathfind/jps.html @@ -0,0 +1,124 @@ + + + + + + + /datum/pathfind/jps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jps + + + +

+ + + + + + + + + + + + +

Vars

callerThe movable we are pathing
diagonal_handlingDefines how we handle diagonal moves. See __DEFINES/path.dm
endThe turf we're trying to path to (note that this won't track a moving target)
found_turfsAn assoc list that serves as the closed list. Key is the turf, points to true if we've seen it before
mintargetdistHow far away we have to get to the end target before we can call it quits
openThe open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)
pathThe list we compile at the end if successful to pass back
skip_firstIf we should delete the first step in the path or not. Used often because it is just the starting tile

Procs

diag_scan_specFor performing diagonal scans from a given starting turf.
lateral_scan_specFor performing lateral scans from a given starting turf.
unwind_pathCalled when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by [datum/pathfind/proc/search]
+

Var Details

caller + + + + +

+

The movable we are pathing

diagonal_handling + + + + +

+

Defines how we handle diagonal moves. See __DEFINES/path.dm

end + + + + +

+

The turf we're trying to path to (note that this won't track a moving target)

found_turfs + + + + +

+

An assoc list that serves as the closed list. Key is the turf, points to true if we've seen it before

mintargetdist + + + + +

+

How far away we have to get to the end target before we can call it quits

open + + + + +

+

The open list/stack we pop nodes out from (TODO: make this a normal list and macro-ize the heap operations to reduce proc overhead)

path + + + + +

+

The list we compile at the end if successful to pass back

skip_first + + + + +

+

If we should delete the first step in the path or not. Used often because it is just the starting tile

Proc Details

diag_scan_spec +

+

For performing diagonal scans from a given starting turf.

+

Unlike lateral scans, these only are called from the main search loop, so we don't need to worry about returning anything, +though we do need to handle the return values of our lateral subscans of course.

+

Arguments:

+

lateral_scan_spec +

+

For performing lateral scans from a given starting turf.

+

These scans are called from both the main search loop, as well as subscans for diagonal scans, and they treat finding interesting turfs slightly differently. +If we're doing a normal lateral scan, we already have a parent node supplied, so we just create the new node and immediately insert it into the heap, ezpz. +If we're part of a subscan, we still need for the diagonal scan to generate a parent node, so we return a node datum with just the turf and let the diag scan +proc handle transferring the values and inserting them into the heap.

+

Arguments:

+

unwind_path +

+

Called when we've hit the goal with the node that represents the last tile, then sets the path var to that path so it can be returned by [datum/pathfind/proc/search]

+ + + diff --git a/datum/pathfind/sssp.html b/datum/pathfind/sssp.html new file mode 100644 index 00000000000..aebb1f1b782 --- /dev/null +++ b/datum/pathfind/sssp.html @@ -0,0 +1,51 @@ + + + + + + + /datum/pathfind/sssp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sssp + + + +

+ +

Single source shortest path +Generates a flow map of a reachable turf -> the turf next closest to the map's center

+ + +

Vars

working_distancesList of distances, each entry mirrors an entry in the working_queue
working_indexOur current position in the working queue
working_queueEver expanding list of turfs to visit/visited, associated with the turf that's next closest to them
+

Var Details

working_distances + + + + +

+

List of distances, each entry mirrors an entry in the working_queue

working_index + + + + +

+

Our current position in the working queue

working_queue + + + + +

+

Ever expanding list of turfs to visit/visited, associated with the turf that's next closest to them

+ + + diff --git a/datum/pda_chat.html b/datum/pda_chat.html new file mode 100644 index 00000000000..2fbdda3c710 --- /dev/null +++ b/datum/pda_chat.html @@ -0,0 +1,118 @@ + + + + + + + /datum/pda_chat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pda_chat + + + +

+ +

Chat log data type, stores information about the recipient, +the messages themselves and other metadata.

+ + + + + + + + + + + +

Vars

cached_jobThe cached job of the recipient
cached_nameThe cached name of the recipient, so we can +identify this chat even after the recipient is deleted
can_replyUsed to determine if you can talk in a chat
message_draftSaved draft of a message so the sender can leave and come back later
messagesA list of messages in this chat
recipientWeakref to the recipient messenger
unread_messagesNumber of unread messages in this chat
visible_in_recentsUsed to determine if we should show this in recents

Procs

add_messageAdds a message to the chat log and optionally shows the chat in recents. +Call this instead of adding to messages directly.
get_recipient_jobReturns the messenger's job, caches the job in case the recipient becomes invalid later.
get_recipient_nameReturns the messenger's name, caches the name in case the recipient becomes invalid later.
get_ui_dataReturns this datum as an associative list, used for ui_data calls.
+

Var Details

cached_job + + + + +

+

The cached job of the recipient

cached_name + + + + +

+

The cached name of the recipient, so we can +identify this chat even after the recipient is deleted

can_reply + + + + +

+

Used to determine if you can talk in a chat

message_draft + + + + +

+

Saved draft of a message so the sender can leave and come back later

messages + + + + +

+

A list of messages in this chat

recipient + + + + +

+

Weakref to the recipient messenger

unread_messages + + + + +

+

Number of unread messages in this chat

visible_in_recents + + + + +

+

Used to determine if we should show this in recents

Proc Details

add_message +

+

Adds a message to the chat log and optionally shows the chat in recents. +Call this instead of adding to messages directly.

get_recipient_job +

+

Returns the messenger's job, caches the job in case the recipient becomes invalid later.

get_recipient_name +

+

Returns the messenger's name, caches the name in case the recipient becomes invalid later.

get_ui_data +

+

Returns this datum as an associative list, used for ui_data calls.

+ + + diff --git a/datum/pda_message.html b/datum/pda_message.html new file mode 100644 index 00000000000..cf1c54b01ea --- /dev/null +++ b/datum/pda_message.html @@ -0,0 +1,71 @@ + + + + + + + /datum/pda_message - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pda_message + + + +

+ +

Chat message data type, stores data about messages themselves.

+ + + + + +

Vars

everyoneWhether this message was sent to everyone.
messageThe message itself.
outgoingWhether the message is sent by the user or not.
photo_nameThe name of the photo asset in the SSassets cache, the URL of which is sent to the client.
timestampThe station time at which this message was made.

Procs

get_ui_dataReturns an associative list of the message's data, used for ui_data calls.
+

Var Details

everyone + + + + +

+

Whether this message was sent to everyone.

message + + + + +

+

The message itself.

outgoing + + + + +

+

Whether the message is sent by the user or not.

photo_name + + + + +

+

The name of the photo asset in the SSassets cache, the URL of which is sent to the client.

timestamp + + + + +

+

The station time at which this message was made.

Proc Details

get_ui_data +

+

Returns an associative list of the message's data, used for ui_data calls.

+ + + diff --git a/datum/pet_command.html b/datum/pet_command.html new file mode 100644 index 00000000000..7bf804f2f77 --- /dev/null +++ b/datum/pet_command.html @@ -0,0 +1,160 @@ + + + + + + + /datum/pet_command - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Pet Command + + + +

+ +

Set some AI blackboard commands in response to receiving instructions +This is abstract and should be extended for actual behaviour

+ + + + + + + + + + + + + + + + + +

Vars

command_descDescription to display in radial menu
command_feedbackShown above the mob's head when it hears you
command_nameUnique name used for radial selection, should not be shared with other commands on one mob
hiddenIf true, command will not appear in radial menu and can only be accessed through speech
radial_iconIcon to display in radial menu
radial_icon_stateIcon state to display in radial menu
sense_radiusHow close a mob needs to be to a target to respond to a command
speech_commandsSpeech strings to listen out for
weak_parentWeak reference to who follows this command

Procs

add_new_friendRegister a new guy we want to listen to
execute_actionExecute an AI action on the provided controller, what we should actually do when this command is active. +This should basically always be called from a planning subtree which passes its own controller. +Return SUBTREE_RETURN_FINISH_PLANNING to pass that instruction on to the controller, or don't if you don't want that.
find_command_in_textReturns true if we find any of our spoken commands in the text
provide_radial_dataProvide information about how to display this command in a radial menu
remove_friendStop listening to a guy
respond_to_commandRespond to something that one of our friends has asked us to do
set_command_activeActivate the command, extend to add visible messages and the like
set_command_targetStore the target for the AI blackboard
try_activate_commandApply a command state if conditions are right, return command if successful
+

Var Details

command_desc + + + + +

+

Description to display in radial menu

command_feedback + + + + +

+

Shown above the mob's head when it hears you

command_name + + + + +

+

Unique name used for radial selection, should not be shared with other commands on one mob

hidden + + + + +

+

If true, command will not appear in radial menu and can only be accessed through speech

radial_icon + + + + +

+

Icon to display in radial menu

radial_icon_state + + + + +

+

Icon state to display in radial menu

sense_radius + + + + +

+

How close a mob needs to be to a target to respond to a command

speech_commands + + + + +

+

Speech strings to listen out for

weak_parent + + + + +

+

Weak reference to who follows this command

Proc Details

add_new_friend +

+

Register a new guy we want to listen to

execute_action +

+

Execute an AI action on the provided controller, what we should actually do when this command is active. +This should basically always be called from a planning subtree which passes its own controller. +Return SUBTREE_RETURN_FINISH_PLANNING to pass that instruction on to the controller, or don't if you don't want that.

find_command_in_text +

+

Returns true if we find any of our spoken commands in the text

provide_radial_data +

+

Provide information about how to display this command in a radial menu

remove_friend +

+

Stop listening to a guy

respond_to_command +

+

Respond to something that one of our friends has asked us to do

set_command_active +

+

Activate the command, extend to add visible messages and the like

set_command_target +

+

Store the target for the AI blackboard

try_activate_command +

+

Apply a command state if conditions are right, return command if successful

+ + + diff --git a/datum/pet_command/follow.html b/datum/pet_command/follow.html new file mode 100644 index 00000000000..3a93bc2b06a --- /dev/null +++ b/datum/pet_command/follow.html @@ -0,0 +1,36 @@ + + + + + + + /datum/pet_command/follow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Pet Command: Follow + + + +

+ +

Tells a pet to follow you until you tell it to do something else

+

Vars

follow_behaviorthe behavior we use to follow
+

Var Details

follow_behavior + + + + +

+

the behavior we use to follow

+ + + diff --git a/datum/pet_command/follow/bee.html b/datum/pet_command/follow/bee.html new file mode 100644 index 00000000000..c463a340bdb --- /dev/null +++ b/datum/pet_command/follow/bee.html @@ -0,0 +1,36 @@ + + + + + + + /datum/pet_command/follow/bee - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bee + + + +

+ +

pet commands

+

Vars

follow_behaviorthe behavior we use to follow
+

Var Details

follow_behavior + + + + +

+

the behavior we use to follow

+ + + diff --git a/datum/pet_command/minebot_ability.html b/datum/pet_command/minebot_ability.html new file mode 100644 index 00000000000..78d6f45bba6 --- /dev/null +++ b/datum/pet_command/minebot_ability.html @@ -0,0 +1,36 @@ + + + + + + + /datum/pet_command/minebot_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

minebot_ability + + + +

+ + +

Vars

ability_keythe ability we will use
+

Var Details

ability_key + + + + +

+

the ability we will use

+ + + diff --git a/datum/pet_command/point_targeting.html b/datum/pet_command/point_targeting.html new file mode 100644 index 00000000000..1be2c11f895 --- /dev/null +++ b/datum/pet_command/point_targeting.html @@ -0,0 +1,50 @@ + + + + + + + /datum/pet_command/point_targeting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Point Targeting Pet Command + + + +

+ +

As above but also listens for you pointing at something and marks it as a target

+ + +

Vars

pointed_reactionText describing an action we perform upon receiving a new target
targeting_strategy_keyBlackboard key for targeting strategy, this is likely going to need it

Procs

look_for_targetTarget the pointed atom for actions
+

Var Details

pointed_reaction + + + + +

+

Text describing an action we perform upon receiving a new target

targeting_strategy_key + + + + +

+

Blackboard key for targeting strategy, this is likely going to need it

Proc Details

look_for_target +

+

Target the pointed atom for actions

+ + + diff --git a/datum/pet_command/point_targeting/attack.html b/datum/pet_command/point_targeting/attack.html new file mode 100644 index 00000000000..a838c9628f3 --- /dev/null +++ b/datum/pet_command/point_targeting/attack.html @@ -0,0 +1,50 @@ + + + + + + + /datum/pet_command/point_targeting/attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Pet Command: Attack + + + +

+ +

Tells a pet to chase and bite the next thing you point at

+ + +

Vars

attack_behaviourAttack behaviour to use
refuse_reactionBalloon alert to display if providing an invalid target

Procs

refuse_targetDisplay feedback about not targeting something
+

Var Details

attack_behaviour + + + + +

+

Attack behaviour to use

refuse_reaction + + + + +

+

Balloon alert to display if providing an invalid target

Proc Details

refuse_target +

+

Display feedback about not targeting something

+ + + diff --git a/datum/pet_command/point_targeting/attack/swirl.html b/datum/pet_command/point_targeting/attack/swirl.html new file mode 100644 index 00000000000..d57672733a7 --- /dev/null +++ b/datum/pet_command/point_targeting/attack/swirl.html @@ -0,0 +1,36 @@ + + + + + + + /datum/pet_command/point_targeting/attack/swirl - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

swirl + + + +

+ +

swirl around the owner in menacing fashion

+

Vars

key_to_swarmthe owner we will swarm around
+

Var Details

key_to_swarm + + + + +

+

the owner we will swarm around

+ + + diff --git a/datum/pet_command/point_targeting/fetch.html b/datum/pet_command/point_targeting/fetch.html new file mode 100644 index 00000000000..64a54e15eda --- /dev/null +++ b/datum/pet_command/point_targeting/fetch.html @@ -0,0 +1,58 @@ + + + + + + + /datum/pet_command/point_targeting/fetch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Pet Command: Fetch + + + +

+ +

Watch for someone throwing or pointing at something and then go get it and bring it back. +If it's food we might eat it instead.

+ + + +

Vars

trigger_on_throwIf true, this command will trigger if the pet sees a friend throw any item, if they're not doing anything else
will_eat_targetsIf true, this is a poorly trained pet who will eat food you throw instead of bringing it back

Procs

listen_throw_landA throw we were listening to has finished, see if it's in range for us to try grabbing it
listened_throwA friend has thrown something, if we're listening or at least not busy then go get it
+

Var Details

trigger_on_throw + + + + +

+

If true, this command will trigger if the pet sees a friend throw any item, if they're not doing anything else

will_eat_targets + + + + +

+

If true, this is a poorly trained pet who will eat food you throw instead of bringing it back

Proc Details

listen_throw_land +

+

A throw we were listening to has finished, see if it's in range for us to try grabbing it

listened_throw +

+

A friend has thrown something, if we're listening or at least not busy then go get it

+ + + diff --git a/datum/pet_command/point_targeting/use_ability.html b/datum/pet_command/point_targeting/use_ability.html new file mode 100644 index 00000000000..c14a115af76 --- /dev/null +++ b/datum/pet_command/point_targeting/use_ability.html @@ -0,0 +1,36 @@ + + + + + + + /datum/pet_command/point_targeting/use_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Pet Command: Targetted Ability + + + +

+ +

Tells a pet to use some kind of ability on the next thing you point at

+

Vars

pet_ability_keyBlackboard key where a reference to some kind of mob ability is stored
+

Var Details

pet_ability_key + + + + +

+

Blackboard key where a reference to some kind of mob ability is stored

+ + + diff --git a/datum/pet_command/protect_owner.html b/datum/pet_command/protect_owner.html new file mode 100644 index 00000000000..f41d67b8692 --- /dev/null +++ b/datum/pet_command/protect_owner.html @@ -0,0 +1,43 @@ + + + + + + + /datum/pet_command/protect_owner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

protect_owner + + + +

+ + + +

Vars

protect_behaviorthe behavior we will use when he is attacked
protect_rangethe range our owner needs to be in for us to protect him
+

Var Details

protect_behavior + + + + +

+

the behavior we will use when he is attacked

protect_range + + + + +

+

the range our owner needs to be in for us to protect him

+ + + diff --git a/datum/pet_command/untargeted_ability.html b/datum/pet_command/untargeted_ability.html new file mode 100644 index 00000000000..563f8edf36d --- /dev/null +++ b/datum/pet_command/untargeted_ability.html @@ -0,0 +1,36 @@ + + + + + + + /datum/pet_command/untargeted_ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Pet Command: Use ability + + + +

+ +

Use an an ability that does not require any targets

+

Vars

ability_keyuntargeted ability we will use
+

Var Details

ability_key + + + + +

+

untargeted ability we will use

+ + + diff --git a/datum/physiology.html b/datum/physiology.html new file mode 100644 index 00000000000..112c0aa01a9 --- /dev/null +++ b/datum/physiology.html @@ -0,0 +1,121 @@ + + + + + + + /datum/physiology - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

physiology + + + +

+ + + + + + + + + + + + + +

Vars

brain_modMultiplier to brain damage received
brute_modMultiplier to brute damage received. +IE: A brute mod of 0.9 = 10% less brute damage. +Only applies to damage dealt via apply_damage unless factored in manually.
burn_modMultiplier to burn damage received
cold_modMultiplier to damage taken from low temperature exposure, stacking with the toxin modifier
damage_resistanceFlat damage reduction from taking damage +Unlike the other modifiers, this is not a multiplier. +IE: DR of 10 = 10% less damage.
heat_modMultiplier to damage taken from high temperature exposure, stacking with the burn modifier
knockdown_modMultiplied aplpied to just knockdowns, stacks with above multiplicatively
oxy_modMultiplier to oxygen damage received
pressure_modMultiplier to damage taken from high / low pressure exposure, stacking with the brute modifier
stamina_modMultiplier to stamina damage received
stun_modMultiplier applied to all incapacitating stuns (knockdown, stun, paralyze, immobilize)
tox_modMultiplier to toxin damage received
+

Var Details

brain_mod + + + + +

+

Multiplier to brain damage received

brute_mod + + + + +

+

Multiplier to brute damage received. +IE: A brute mod of 0.9 = 10% less brute damage. +Only applies to damage dealt via apply_damage unless factored in manually.

burn_mod + + + + +

+

Multiplier to burn damage received

cold_mod + + + + +

+

Multiplier to damage taken from low temperature exposure, stacking with the toxin modifier

damage_resistance + + + + +

+

Flat damage reduction from taking damage +Unlike the other modifiers, this is not a multiplier. +IE: DR of 10 = 10% less damage.

heat_mod + + + + +

+

Multiplier to damage taken from high temperature exposure, stacking with the burn modifier

knockdown_mod + + + + +

+

Multiplied aplpied to just knockdowns, stacks with above multiplicatively

oxy_mod + + + + +

+

Multiplier to oxygen damage received

pressure_mod + + + + +

+

Multiplier to damage taken from high / low pressure exposure, stacking with the brute modifier

stamina_mod + + + + +

+

Multiplier to stamina damage received

stun_mod + + + + +

+

Multiplier applied to all incapacitating stuns (knockdown, stun, paralyze, immobilize)

tox_mod + + + + +

+

Multiplier to toxin damage received

+ + + diff --git a/datum/picture.html b/datum/picture.html new file mode 100644 index 00000000000..72f3b0851c6 --- /dev/null +++ b/datum/picture.html @@ -0,0 +1,57 @@ + + + + + + + /datum/picture - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

picture + + + +

+ + + + + +

Vars

dead_seenList of weakrefs pointing at dead mobs that appear in this photo
mobs_seenList of weakrefs pointing at mobs that appear in this photo
names_seenList of strings of face-visible humans in this photo
see_ghostsWas this image capable of seeing ghosts?
+

Var Details

dead_seen + + + + +

+

List of weakrefs pointing at dead mobs that appear in this photo

mobs_seen + + + + +

+

List of weakrefs pointing at mobs that appear in this photo

names_seen + + + + +

+

List of strings of face-visible humans in this photo

see_ghosts + + + + +

+

Was this image capable of seeing ghosts?

+ + + diff --git a/datum/pipe_icon_generator.html b/datum/pipe_icon_generator.html new file mode 100644 index 00000000000..72f620a3379 --- /dev/null +++ b/datum/pipe_icon_generator.html @@ -0,0 +1,35 @@ + + + + + + + /datum/pipe_icon_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pipe_icon_generator + + + +

+ + +

Procs

GenerateDamagedGenerates all variants of damaged pipe from a given icon and the dirs that can be broken

Proc Details

GenerateDamaged +

+

Generates all variants of damaged pipe from a given icon and the dirs that can be broken

+ + + diff --git a/datum/pipeline.html b/datum/pipeline.html new file mode 100644 index 00000000000..f8535019e62 --- /dev/null +++ b/datum/pipeline.html @@ -0,0 +1,138 @@ + + + + + + + /datum/pipeline - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pipeline + + + +

+ + + + + + + + + + + + + + + +

Vars

airThe gases contained within this pipeline
buildingIs this pipeline being reconstructed?
gas_visualsA named list of icon_file:overlay_object that gets automatically colored when the gasmix_color updates
gasmix_colorThe weighted color blend of the gas mixture in this pipeline
other_airsThe gas_mixtures of objects directly connected to this pipeline
require_custom_reconcilationList of other_atmos_machines that have custom_reconcilation set +We're essentially caching this to avoid needing to filter over it when processing our machines
updateShould we equalize air amoung all our members?

Procs

CalculateGasmixColorAfter updating, this proc handles looking at the new gas mixture and blends the colors together according to percentage of the gas mix.
GetGasVisualUsed to create and/or get the gas visual overlay created using the given icon file. +The color is automatically kept up to date and expected to be used as a vis_contents object.
UpdateGasVisualsCalled when the gasmix color has changed and the gas visuals need to be updated.
add_machinery_memberFor a machine to properly "connect" to a pipeline and share gases, +the pipeline needs to acknowledge a gas mixture as it's member. +This is currently handled by the other_airs list in the pipeline datum.
build_pipelinePreps a pipeline for rebuilding, insterts it into the rebuild queue
build_pipeline_blockingHas the same effect as build_pipeline(), but this doesn't queue its work, so overrun abounds. It's useful for the pregame
reconcile_airCalled when the pipenet needs to update and mix together all the air mixes
+

Var Details

air + + + + +

+

The gases contained within this pipeline

building + + + + +

+

Is this pipeline being reconstructed?

gas_visuals + + + + +

+

A named list of icon_file:overlay_object that gets automatically colored when the gasmix_color updates

gasmix_color + + + + +

+

The weighted color blend of the gas mixture in this pipeline

other_airs + + + + +

+

The gas_mixtures of objects directly connected to this pipeline

require_custom_reconcilation + + + + +

+

List of other_atmos_machines that have custom_reconcilation set +We're essentially caching this to avoid needing to filter over it when processing our machines

update + + + + +

+

Should we equalize air amoung all our members?

Proc Details

CalculateGasmixColor +

+

After updating, this proc handles looking at the new gas mixture and blends the colors together according to percentage of the gas mix.

GetGasVisual +

+

Used to create and/or get the gas visual overlay created using the given icon file. +The color is automatically kept up to date and expected to be used as a vis_contents object.

UpdateGasVisuals +

+

Called when the gasmix color has changed and the gas visuals need to be updated.

add_machinery_member +

+

For a machine to properly "connect" to a pipeline and share gases, +the pipeline needs to acknowledge a gas mixture as it's member. +This is currently handled by the other_airs list in the pipeline datum.

+
Other_airs itself is populated by gas mixtures through the parents list that each machineries have.
+This parents list is populated when a machinery calls update_parents and is then added into the queue by the controller.
+

build_pipeline +

+

Preps a pipeline for rebuilding, insterts it into the rebuild queue

build_pipeline_blocking +

+

Has the same effect as build_pipeline(), but this doesn't queue its work, so overrun abounds. It's useful for the pregame

reconcile_air +

+

Called when the pipenet needs to update and mix together all the air mixes

+ + + diff --git a/datum/pirate_gang.html b/datum/pirate_gang.html new file mode 100644 index 00000000000..a449c0d019d --- /dev/null +++ b/datum/pirate_gang.html @@ -0,0 +1,154 @@ + + + + + + + /datum/pirate_gang - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pirate_gang + + + +

+ +

datum for a pirate team that is spawning to attack the station.

+ + + + + + + + + + + + + + + + +

Vars

announcement_colorThe colour of their announcements when sent to players
arrival_announcementstation receives this message upon the ship's spawn
is_heavy_threatWhether or not this pirate crew is a heavy-level threat
namename of this gang, for spawning feedback
paid_offHave the pirates been paid off?
possible_answerswhat the station can say in response, first item pays the pirates, second item rejects it.
response_not_enoughstation pays the pirates... but doesn't have enough cash.
response_receivedstation responds to message and pays the pirates
response_rejectedstation responds to message and pays the pirates
response_too_latestation pays the pirates, but after the ship spawned
ship_namethe random ship name chosen from pirates.json
ship_name_poolthe key to the json list of pirate names
ship_template_idthe ship they load in on.
threat_contentthe contents of the message sent to the station. +%SHIPNAME in the content will be replaced with the pirate ship's name +%PAYOFF in the content will be replaced with the requested credits.
threat_titleinbound message title the station receives

Procs

can_rollwhether this pirate gang can roll today. this is called when the global list initializes, so +returning FALSE means it cannot show up at all for the entire round.
generate_messagereturns a new comm_message datum from this pirate gang
+

Var Details

announcement_color + + + + +

+

The colour of their announcements when sent to players

arrival_announcement + + + + +

+

station receives this message upon the ship's spawn

is_heavy_threat + + + + +

+

Whether or not this pirate crew is a heavy-level threat

name + + + + +

+

name of this gang, for spawning feedback

paid_off + + + + +

+

Have the pirates been paid off?

possible_answers + + + + +

+

what the station can say in response, first item pays the pirates, second item rejects it.

response_not_enough + + + + +

+

station pays the pirates... but doesn't have enough cash.

response_received + + + + +

+

station responds to message and pays the pirates

response_rejected + + + + +

+

station responds to message and pays the pirates

response_too_late + + + + +

+

station pays the pirates, but after the ship spawned

ship_name + + + + +

+

the random ship name chosen from pirates.json

ship_name_pool + + + + +

+

the key to the json list of pirate names

ship_template_id + + + + +

+

the ship they load in on.

threat_content + + + + +

+

the contents of the message sent to the station. +%SHIPNAME in the content will be replaced with the pirate ship's name +%PAYOFF in the content will be replaced with the requested credits.

threat_title + + + + +

+

inbound message title the station receives

Proc Details

can_roll +

+

whether this pirate gang can roll today. this is called when the global list initializes, so +returning FALSE means it cannot show up at all for the entire round.

generate_message +

+

returns a new comm_message datum from this pirate gang

+ + + diff --git a/datum/plane_master_debug.html b/datum/plane_master_debug.html new file mode 100644 index 00000000000..d07b79fae48 --- /dev/null +++ b/datum/plane_master_debug.html @@ -0,0 +1,93 @@ + + + + + + + /datum/plane_master_debug - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plane_master_debug + + + +

+ +

Used for testing/debugger plane masters and their associated rendering plates

+ + + + + + + +

Vars

current_groupThe current plane master group we're viewing
depth_stackAssoc list of plane master group key -> its depth stack
mirror_targetIf we are actively mirroring the target of our current ui
mob_refWeakref to the mob to edit

Procs

create_storeCreate or refresh our stored visual data, represeting the viewing mob
set_mirroringSetter for mirror_target, basically allows for enabling/disabiling viewing through mob's sight
treeifyTakes a list of js formatted planes, and turns it into a tree based off the back connections of relays +So start at the top master plane, and work down +Haha jerry what if I added commands to my list parser lmao lol
ui_actWe want master planes to ALWAYS bubble down to their own space. +Just ignore this if this is the head we're processing, yeah? +Walk treelike output, remove allll the empty lists we've accidentially generated
+

Var Details

current_group + + + + +

+

The current plane master group we're viewing

depth_stack + + + + +

+

Assoc list of plane master group key -> its depth stack

mirror_target + + + + +

+

If we are actively mirroring the target of our current ui

mob_ref + + + + +

+

Weakref to the mob to edit

Proc Details

create_store +

+

Create or refresh our stored visual data, represeting the viewing mob

set_mirroring +

+

Setter for mirror_target, basically allows for enabling/disabiling viewing through mob's sight

treeify +

+

Takes a list of js formatted planes, and turns it into a tree based off the back connections of relays +So start at the top master plane, and work down +Haha jerry what if I added commands to my list parser lmao lol

ui_act +

+

We want master planes to ALWAYS bubble down to their own space. +Just ignore this if this is the head we're processing, yeah? +Walk treelike output, remove allll the empty lists we've accidentially generated

+ + + diff --git a/datum/plane_master_group.html b/datum/plane_master_group.html new file mode 100644 index 00000000000..5a27182e83e --- /dev/null +++ b/datum/plane_master_group.html @@ -0,0 +1,131 @@ + + + + + + + /datum/plane_master_group - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plane_master_group + + + +

+ +

Datum that represents one "group" of plane masters +So all the main window planes would be in one, all the spyglass planes in another +Etc

+ + + + + + + + + + + + + +

Vars

active_offsetThe visual offset we are currently using
keyOur key in the group list on /datum/hud +Should be unique for any group of plane masters in the world
mapWhat, if any, submap we render onto
our_hudOur parent hud
plane_mastersList in the form "[plane]" = object, the plane masters we own

Procs

attach_toDisplay a plane master group to some viewer, so show all our planes to it
build_plane_mastersActually generate our plane masters, in some offset range (where offset is the z layers to render to, because each "layer" in a multiz stack gets its own plane master cube)
get_planeNice wrapper for the "[]"ing
get_plane_typesReturns a list of all the plane master types we want to create
orphan_hudHide the plane master from its current hud, fully clear it out
prep_plane_instanceSimilarly, exists so subtypes can do unique behavior to planes on creation
rebuild_hudFully regenerate our group, resetting our planes to their compile time values
refresh_hudWell, refresh our group, mostly useful for plane specific updates
show_planeThis is mostly a proc so it can be overriden by popups, since they have unique behavior they want to do
+

Var Details

active_offset + + + + +

+

The visual offset we are currently using

key + + + + +

+

Our key in the group list on /datum/hud +Should be unique for any group of plane masters in the world

map + + + + +

+

What, if any, submap we render onto

our_hud + + + + +

+

Our parent hud

plane_masters + + + + +

+

List in the form "[plane]" = object, the plane masters we own

Proc Details

attach_to +

+

Display a plane master group to some viewer, so show all our planes to it

build_plane_masters +

+

Actually generate our plane masters, in some offset range (where offset is the z layers to render to, because each "layer" in a multiz stack gets its own plane master cube)

get_plane +

+

Nice wrapper for the "[]"ing

get_plane_types +

+

Returns a list of all the plane master types we want to create

orphan_hud +

+

Hide the plane master from its current hud, fully clear it out

prep_plane_instance +

+

Similarly, exists so subtypes can do unique behavior to planes on creation

rebuild_hud +

+

Fully regenerate our group, resetting our planes to their compile time values

refresh_hud +

+

Well, refresh our group, mostly useful for plane specific updates

show_plane +

+

This is mostly a proc so it can be overriden by popups, since they have unique behavior they want to do

+ + + diff --git a/datum/plane_master_group/hudless.html b/datum/plane_master_group/hudless.html new file mode 100644 index 00000000000..3065c3534c9 --- /dev/null +++ b/datum/plane_master_group/hudless.html @@ -0,0 +1,35 @@ + + + + + + + /datum/plane_master_group/hudless - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

hudless + + + +

+ +

Hudless group. Exists for testing

+

Procs

show_planeThis is mostly a proc so it can be overriden by popups, since they have unique behavior they want to do

Proc Details

show_plane +

+

This is mostly a proc so it can be overriden by popups, since they have unique behavior they want to do

+ + + diff --git a/datum/plant_gene.html b/datum/plant_gene.html new file mode 100644 index 00000000000..7b2b05b3921 --- /dev/null +++ b/datum/plant_gene.html @@ -0,0 +1,57 @@ + + + + + + + /datum/plant_gene - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plant_gene + + + +

+ +

Plant gene datums - things that build and modify a plant or seed.

+ + + +

Vars

iconThe font awesome icon name representing the gene in the seed extractor UI
mutability_flagsFlags that determine if a gene can be modified.
nameThe name of the gene.

Procs

CopyCopies over vars and information about our current gene to a new gene and returns the new instance of gene.
+

Var Details

icon + + + + +

+

The font awesome icon name representing the gene in the seed extractor UI

mutability_flags + + + + +

+

Flags that determine if a gene can be modified.

name + + + + +

+

The name of the gene.

Proc Details

Copy +

+

Copies over vars and information about our current gene to a new gene and returns the new instance of gene.

+ + + diff --git a/datum/plant_gene/reagent.html b/datum/plant_gene/reagent.html new file mode 100644 index 00000000000..9e87bb4535a --- /dev/null +++ b/datum/plant_gene/reagent.html @@ -0,0 +1,51 @@ + + + + + + + /datum/plant_gene/reagent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagent + + + +

+ +

Reagent genes store a reagent ID and reagent ratio.

+ + +

Vars

rateThe amount of reagent generated by the plant. The equation is [1 + ((max_volume*(potency/100)) * rate)]
reagent_idThe typepath of the actual reagent that this gene is tied to.

Procs

try_upgrade_geneIntends to compare a reagent gene with a set of seeds, and if the seeds contain the same gene, with more production rate, upgrades the rate to the highest of the two.
+

Var Details

rate + + + + +

+

The amount of reagent generated by the plant. The equation is [1 + ((max_volume*(potency/100)) * rate)]

reagent_id + + + + +

+

The typepath of the actual reagent that this gene is tied to.

Proc Details

try_upgrade_gene +

+

Intends to compare a reagent gene with a set of seeds, and if the seeds contain the same gene, with more production rate, upgrades the rate to the highest of the two.

+

Called when plants are crossbreeding, this looks for two matching reagent_ids, where the rates are greater, in order to upgrade.

+ + + diff --git a/datum/plant_gene/trait.html b/datum/plant_gene/trait.html new file mode 100644 index 00000000000..c58b204c990 --- /dev/null +++ b/datum/plant_gene/trait.html @@ -0,0 +1,71 @@ + + + + + + + /datum/plant_gene/trait - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trait + + + +

+ +

Traits that affect the grown product.

+ + + + + +

Vars

descriptionBonus lines displayed on examine.
rateThe rate at which this trait affects something. This can be anything really - why? I dunno.
seed_blacklistA blacklist of seeds that a trait cannot be attached to.
trait_flagsFlag - Modifications made to the final product.
trait_idsFlag - Traits that share an ID cannot be placed on the same plant.

Procs

examineAdd on any unique examine text to the plant's examine text.
+

Var Details

description + + + + +

+

Bonus lines displayed on examine.

rate + + + + +

+

The rate at which this trait affects something. This can be anything really - why? I dunno.

seed_blacklist + + + + +

+

A blacklist of seeds that a trait cannot be attached to.

trait_flags + + + + +

+

Flag - Modifications made to the final product.

trait_ids + + + + +

+

Flag - Traits that share an ID cannot be placed on the same plant.

Proc Details

examine +

+

Add on any unique examine text to the plant's examine text.

+ + + diff --git a/datum/plant_gene/trait/anti_magic.html b/datum/plant_gene/trait/anti_magic.html new file mode 100644 index 00000000000..04c46bd8f52 --- /dev/null +++ b/datum/plant_gene/trait/anti_magic.html @@ -0,0 +1,50 @@ + + + + + + + /datum/plant_gene/trait/anti_magic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

anti_magic + + + +

+ +

Holymelon's anti-magic trait. Charges based on potency.

+ + +

Vars

shield_usesThe amount of anti-magic blocking uses we have.

Procs

drain_antimagicWhen the plant our gene is hosted in is drained of an anti-magic charge.
expireWhen the plant our gene is hosted in is drained of all of its anti-magic charges.
+

Var Details

shield_uses + + + + +

+

The amount of anti-magic blocking uses we have.

Proc Details

drain_antimagic +

+

When the plant our gene is hosted in is drained of an anti-magic charge.

expire +

+

When the plant our gene is hosted in is drained of all of its anti-magic charges.

+ + + diff --git a/datum/plant_gene/trait/attack.html b/datum/plant_gene/trait/attack.html new file mode 100644 index 00000000000..d12ec80ddad --- /dev/null +++ b/datum/plant_gene/trait/attack.html @@ -0,0 +1,64 @@ + + + + + + + /datum/plant_gene/trait/attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

attack + + + +

+ +

Traits that turn a plant into a weapon, giving them force and effects on attack.

+ + + + +

Vars

degradation_nounWhen we fully degrade, what degraded off of us?
degrades_after_hitIf TRUE, our plant will degrade in force every hit until diappearing.
force_multiplierThe multiplier we apply to the potency to calculate force. Set to 0 to not affect the force.

Procs

after_plant_attackSignal proc for COMSIG_ITEM_AFTERATTACK that allows for effects after an attack is done
on_plant_attackSignal proc for [COMSIG_ITEM_ATTACK] that allows for effects on attack
+

Var Details

degradation_noun + + + + +

+

When we fully degrade, what degraded off of us?

degrades_after_hit + + + + +

+

If TRUE, our plant will degrade in force every hit until diappearing.

force_multiplier + + + + +

+

The multiplier we apply to the potency to calculate force. Set to 0 to not affect the force.

Proc Details

after_plant_attack +

+

Signal proc for COMSIG_ITEM_AFTERATTACK that allows for effects after an attack is done

on_plant_attack +

+

Signal proc for [COMSIG_ITEM_ATTACK] that allows for effects on attack

+ + + diff --git a/datum/plant_gene/trait/backfire.html b/datum/plant_gene/trait/backfire.html new file mode 100644 index 00000000000..e2367d83576 --- /dev/null +++ b/datum/plant_gene/trait/backfire.html @@ -0,0 +1,66 @@ + + + + + + + /datum/plant_gene/trait/backfire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

backfire + + + +

+ +

Traits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely.

+ + + + +

Vars

cancel_action_on_backfireWhether our actions are cancelled when the backfire triggers.
genes_to_checkA list of extra genes to check to be considered safe.
traits_to_checkA list of extra traits to check to be considered safe.

Procs

backfire_effectThe actual backfire effect on the user. +Override with plant-specific effects.
on_backfireSignal proc for COMSIG_PLANT_ON_BACKFIRE that causes the backfire effect.
+

Var Details

cancel_action_on_backfire + + + + +

+

Whether our actions are cancelled when the backfire triggers.

genes_to_check + + + + +

+

A list of extra genes to check to be considered safe.

traits_to_check + + + + +

+

A list of extra traits to check to be considered safe.

Proc Details

backfire_effect +

+

The actual backfire effect on the user. +Override with plant-specific effects.

on_backfire +

+

Signal proc for COMSIG_PLANT_ON_BACKFIRE that causes the backfire effect.

+ + + diff --git a/datum/plant_gene/trait/backfire/chili_heat.html b/datum/plant_gene/trait/backfire/chili_heat.html new file mode 100644 index 00000000000..3b050ac7db4 --- /dev/null +++ b/datum/plant_gene/trait/backfire/chili_heat.html @@ -0,0 +1,43 @@ + + + + + + + /datum/plant_gene/trait/backfire/chili_heat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chili_heat + + + +

+ +

Ghost-Chili heating up on backfire

+ +

Vars

held_mobThe mob currently holding the chili.
our_chiliThe chili this gene is tied to, to track it for processing.
+

Var Details

held_mob + + + + +

+

The mob currently holding the chili.

our_chili + + + + +

+

The chili this gene is tied to, to track it for processing.

+ + + diff --git a/datum/plant_gene/trait/battery.html b/datum/plant_gene/trait/battery.html new file mode 100644 index 00000000000..1e166c550c7 --- /dev/null +++ b/datum/plant_gene/trait/battery.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/battery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battery + + + +

+ + +

Vars

cables_needed_per_batteryThe number of cables needed to make a battery.
+

Var Details

cables_needed_per_battery + + + + +

+

The number of cables needed to make a battery.

+ + + diff --git a/datum/plant_gene/trait/brewing.html b/datum/plant_gene/trait/brewing.html new file mode 100644 index 00000000000..dd2a0d580db --- /dev/null +++ b/datum/plant_gene/trait/brewing.html @@ -0,0 +1,31 @@ + + + + + + + /datum/plant_gene/trait/brewing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

brewing + + + +

+ +

A plant trait that causes the plant's food reagents to ferment instead.

+

In practice, it replaces the plant's nutriment and vitamins with half as much of it's fermented reagent. +This exception is executed in seeds.dm under 'prepare_result'.

+

Incompatible with auto-juicing composition.

+ + + diff --git a/datum/plant_gene/trait/eyes.html b/datum/plant_gene/trait/eyes.html new file mode 100644 index 00000000000..91f25b37a2e --- /dev/null +++ b/datum/plant_gene/trait/eyes.html @@ -0,0 +1,37 @@ + + + + + + + /datum/plant_gene/trait/eyes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eyes + + + +

+ +

A plant trait that causes the plant to gain aesthetic googly eyes.

+

Has no functional purpose outside of causing japes, adds eyes over the plant's sprite, which are adjusted for size by potency.

+

Vars

googlyOur googly eyes appearance.
+

Var Details

googly + + + + +

+

Our googly eyes appearance.

+ + + diff --git a/datum/plant_gene/trait/gas_production.html b/datum/plant_gene/trait/gas_production.html new file mode 100644 index 00000000000..bab840335b2 --- /dev/null +++ b/datum/plant_gene/trait/gas_production.html @@ -0,0 +1,44 @@ + + + + + + + /datum/plant_gene/trait/gas_production - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gas_production + + + +

+ +

Corpseflower's miasma production. +Can be generalized in the future to spawn any gas, but I don't think that's necessarily a good idea.

+ +

Vars

home_trayThe location of our tray, if we have one.
stinky_seedThe seed emitting gas.
+

Var Details

home_tray + + + + +

+

The location of our tray, if we have one.

stinky_seed + + + + +

+

The seed emitting gas.

+ + + diff --git a/datum/plant_gene/trait/glow.html b/datum/plant_gene/trait/glow.html new file mode 100644 index 00000000000..76faf74bad5 --- /dev/null +++ b/datum/plant_gene/trait/glow.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/glow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

glow + + + +

+ + +

Vars

glow_colorThe color of our bioluminescence.
+

Var Details

glow_color + + + + +

+

The color of our bioluminescence.

+ + + diff --git a/datum/plant_gene/trait/juicing.html b/datum/plant_gene/trait/juicing.html new file mode 100644 index 00000000000..1ccc25b5039 --- /dev/null +++ b/datum/plant_gene/trait/juicing.html @@ -0,0 +1,29 @@ + + + + + + + /datum/plant_gene/trait/juicing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

juicing + + + +

+ +

Similar to auto-distilling, but instead of brewing the plant's contents it juices it.

+

Incompatible with auto-distilling composition.

+ + + diff --git a/datum/plant_gene/trait/maxchem.html b/datum/plant_gene/trait/maxchem.html new file mode 100644 index 00000000000..de7e18c4f45 --- /dev/null +++ b/datum/plant_gene/trait/maxchem.html @@ -0,0 +1,30 @@ + + + + + + + /datum/plant_gene/trait/maxchem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

maxchem + + + +

+ +

A plant trait that causes the plant's capacity to double.

+

When harvested, the plant's individual capacity is set to double it's default. +However, the plant's maximum yield is also halved, only up to 5.

+ + + diff --git a/datum/plant_gene/trait/mob_transformation.html b/datum/plant_gene/trait/mob_transformation.html new file mode 100644 index 00000000000..7c9a870b3cd --- /dev/null +++ b/datum/plant_gene/trait/mob_transformation.html @@ -0,0 +1,71 @@ + + + + + + + /datum/plant_gene/trait/mob_transformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mob_transformation + + + +

+ +

Traits for plants that can be activated to turn into a mob.

+ + + + + +

Vars

awakeningWhether our attatched plant is currently waking up or not.
dangerousWhether mobs spawned by this trait are dangerous or not.
killer_plantThe typepath to what mob spawns from this plant.
mob_health_multiplierSpawned mob's health = this multiplier * seed endurance.
mob_melee_multiplierSpawned mob's melee damage = this multiplier * seed potency.
mob_speed_multiplierSpawned mob's move delay = this multiplier * seed potency.
+

Var Details

awakening + + + + +

+

Whether our attatched plant is currently waking up or not.

dangerous + + + + +

+

Whether mobs spawned by this trait are dangerous or not.

killer_plant + + + + +

+

The typepath to what mob spawns from this plant.

mob_health_multiplier + + + + +

+

Spawned mob's health = this multiplier * seed endurance.

mob_melee_multiplier + + + + +

+

Spawned mob's melee damage = this multiplier * seed potency.

mob_speed_multiplier + + + + +

+

Spawned mob's move delay = this multiplier * seed potency.

+ + + diff --git a/datum/plant_gene/trait/modified_volume.html b/datum/plant_gene/trait/modified_volume.html new file mode 100644 index 00000000000..b1dbb3f8875 --- /dev/null +++ b/datum/plant_gene/trait/modified_volume.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/modified_volume - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

modified_volume + + + +

+ +

Traits for plants with a different base max_volume.

+

Vars

new_capcityThe new number we set the plant's max_volume to.
+

Var Details

new_capcity + + + + +

+

The new number we set the plant's max_volume to.

+ + + diff --git a/datum/plant_gene/trait/plant_laughter.html b/datum/plant_gene/trait/plant_laughter.html new file mode 100644 index 00000000000..0ff31da675e --- /dev/null +++ b/datum/plant_gene/trait/plant_laughter.html @@ -0,0 +1,38 @@ + + + + + + + /datum/plant_gene/trait/plant_laughter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plant_laughter + + + +

+ +

Plays a laughter sound when someone slips on it. +Like the sitcom component but for plants. +Just like slippery skin, if we have a trash type this only functions on that. (Banana peels)

+

Vars

soundsSounds that play when this trait triggers
+

Var Details

sounds + + + + +

+

Sounds that play when this trait triggers

+ + + diff --git a/datum/plant_gene/trait/repeated_harvest.html b/datum/plant_gene/trait/repeated_harvest.html new file mode 100644 index 00000000000..1baf5b921c4 --- /dev/null +++ b/datum/plant_gene/trait/repeated_harvest.html @@ -0,0 +1,36 @@ + + + + + + + /datum/plant_gene/trait/repeated_harvest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

repeated_harvest + + + +

+ +

Allows a plant to be harvested multiple times.

+

Vars

seed_blacklistDon't allow replica pods to be multi harvested, please.
+

Var Details

seed_blacklist + + + + +

+

Don't allow replica pods to be multi harvested, please.

+ + + diff --git a/datum/plant_gene/trait/slip.html b/datum/plant_gene/trait/slip.html new file mode 100644 index 00000000000..2b73e7c8c5a --- /dev/null +++ b/datum/plant_gene/trait/slip.html @@ -0,0 +1,35 @@ + + + + + + + /datum/plant_gene/trait/slip - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

slip + + + +

+ + +

Procs

handle_slipOn slip, sends a signal that our plant was slipped on out.

Proc Details

handle_slip +

+

On slip, sends a signal that our plant was slipped on out.

+ + + diff --git a/datum/player_details.html b/datum/player_details.html new file mode 100644 index 00000000000..8963dde502f --- /dev/null +++ b/datum/player_details.html @@ -0,0 +1,103 @@ + + + + + + + /datum/player_details - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

player_details + + + +

+ +

Tracks information about a client between log in and log outs

+ + + + + + + + + +

Vars

achievementsTracks achievements they have earned
byond_versionVersion of byond this client is using
joined_as_slotsLazylist of preference slots this client has joined the round under +Numbers are stored as strings
loggingTracks client action logging
played_namesList of names this key played under this round +assoc list of name -> mob tag
player_actionsAction datums assigned to this player
post_login_callbacksCallbacks invoked when this client logs in again
post_logout_callbacksCallbacks invoked when this client logs out
time_of_deathWorld.time this player last died

Procs

get_played_namesWrites all of the played_names into an HTML-escaped string.
+

Var Details

achievements + + + + +

+

Tracks achievements they have earned

byond_version + + + + +

+

Version of byond this client is using

joined_as_slots + + + + +

+

Lazylist of preference slots this client has joined the round under +Numbers are stored as strings

logging + + + + +

+

Tracks client action logging

played_names + + + + +

+

List of names this key played under this round +assoc list of name -> mob tag

player_actions + + + + +

+

Action datums assigned to this player

post_login_callbacks + + + + +

+

Callbacks invoked when this client logs in again

post_logout_callbacks + + + + +

+

Callbacks invoked when this client logs out

time_of_death + + + + +

+

World.time this player last died

Proc Details

get_played_names +

+

Writes all of the played_names into an HTML-escaped string.

+ + + diff --git a/datum/point.html b/datum/point.html new file mode 100644 index 00000000000..1304c939b07 --- /dev/null +++ b/datum/point.html @@ -0,0 +1,35 @@ + + + + + + + /datum/point - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

point + + + +

+ +

A precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!

+

Procs

NewFirst argument can also be a /datum/position or /atom.

Proc Details

New +

+

First argument can also be a /datum/position or /atom.

+ + + diff --git a/datum/point/vector.html b/datum/point/vector.html new file mode 100644 index 00000000000..33b2a5cffcf --- /dev/null +++ b/datum/point/vector.html @@ -0,0 +1,64 @@ + + + + + + + /datum/point/vector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vector + + + +

+ + + + + + +

Vars

mpxCalculated x movement amounts to prevent having to do trig every step.
mpyCalculated y movement amounts to prevent having to do trig every step.
speedPixels per iteration

Procs

set_angleCalculations use "byond angle" where north is 0 instead of 90, and south is 180 instead of 270.
set_locationSame effect as initiliaze_location, but without setting the starting_x/y/z
+

Var Details

mpx + + + + +

+

Calculated x movement amounts to prevent having to do trig every step.

mpy + + + + +

+

Calculated y movement amounts to prevent having to do trig every step.

speed + + + + +

+

Pixels per iteration

Proc Details

set_angle +

+

Calculations use "byond angle" where north is 0 instead of 90, and south is 180 instead of 270.

set_location +

+

Same effect as initiliaze_location, but without setting the starting_x/y/z

+ + + diff --git a/datum/point_of_interest.html b/datum/point_of_interest.html new file mode 100644 index 00000000000..b7eb781c4dc --- /dev/null +++ b/datum/point_of_interest.html @@ -0,0 +1,57 @@ + + + + + + + /datum/point_of_interest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

point_of_interest + + + +

+ +

Simple helper datum for points of interest.

+ + + +

Vars

poi_typeThe type of POI this datum references.
targetThe specific point of interest this datum references. This won't hard del as the POI element will be removed from the target when it qdels, which will clear this reference.

Procs

compare_toComparison proc used to sort POIs. Override to implement logic used doing binary sort insertions.
validateValidates the POI. Returns TRUE if the POI has valid state, returns FALSE if the POI has invalid state.
+

Var Details

poi_type + + + + +

+

The type of POI this datum references.

target + + + + +

+

The specific point of interest this datum references. This won't hard del as the POI element will be removed from the target when it qdels, which will clear this reference.

Proc Details

compare_to +

+

Comparison proc used to sort POIs. Override to implement logic used doing binary sort insertions.

validate +

+

Validates the POI. Returns TRUE if the POI has valid state, returns FALSE if the POI has invalid state.

+ + + diff --git a/datum/point_of_interest/mob_poi.html b/datum/point_of_interest/mob_poi.html new file mode 100644 index 00000000000..6c535cfacae --- /dev/null +++ b/datum/point_of_interest/mob_poi.html @@ -0,0 +1,49 @@ + + + + + + + /datum/point_of_interest/mob_poi - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mob_poi + + + +

+ + + + +

Procs

compare_toMob POIs are sorted by a simple priority list depending on their type. When their type priority is identical, they're sub-sorted by name.
get_type_sort_priorityPriority list broadly stolen from /proc/sortmobs(). Lower numbers are higher priorities when sorted and appear closer to the top or start of lists.
validateValidation for mobs is expanded to invalidate stealthmins and /mob/dead/new_player as POIs.

Proc Details

compare_to +

+

Mob POIs are sorted by a simple priority list depending on their type. When their type priority is identical, they're sub-sorted by name.

get_type_sort_priority +

+

Priority list broadly stolen from /proc/sortmobs(). Lower numbers are higher priorities when sorted and appear closer to the top or start of lists.

validate +

+

Validation for mobs is expanded to invalidate stealthmins and /mob/dead/new_player as POIs.

+ + + diff --git a/datum/poll_option.html b/datum/poll_option.html new file mode 100644 index 00000000000..f2094ac43ba --- /dev/null +++ b/datum/poll_option.html @@ -0,0 +1,109 @@ + + + + + + + /datum/poll_option - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

poll_option + + + +

+ +

Datum which holds details of a poll option loaded from the database.

+

Used to minimize the need for querying this data every time it's needed.

+ + + + + + + + + + +

Vars

default_percentage_calcHint for statbus, not used by the game; If this option should be included by default when calculating the resulting percentages of all options for this poll
desc_maxOptional for rating polls, description shown next to the maximum value
desc_midOptional for rating polls, description shown next to the rounded whole middle value
desc_minOptional for rating polls, description shown next to the minimum value
max_valFor rating polls, the maximum selectable value allowed; Supported value range is -2147483648 to 2147483647
min_valFor rating polls, the minimum selectable value allowed; Supported value range is -2147483648 to 2147483647
option_idTable id of this option, will be null until poll has been created.
parent_pollReference to the poll this option belongs to
textDescription/name of this option

Procs

delete_optionSets a poll option and its votes as deleted in the database then deletes its datum.
save_optionInserts or updates a poll option to the database.
+

Var Details

default_percentage_calc + + + + +

+

Hint for statbus, not used by the game; If this option should be included by default when calculating the resulting percentages of all options for this poll

desc_max + + + + +

+

Optional for rating polls, description shown next to the maximum value

desc_mid + + + + +

+

Optional for rating polls, description shown next to the rounded whole middle value

desc_min + + + + +

+

Optional for rating polls, description shown next to the minimum value

max_val + + + + +

+

For rating polls, the maximum selectable value allowed; Supported value range is -2147483648 to 2147483647

min_val + + + + +

+

For rating polls, the minimum selectable value allowed; Supported value range is -2147483648 to 2147483647

option_id + + + + +

+

Table id of this option, will be null until poll has been created.

parent_poll + + + + +

+

Reference to the poll this option belongs to

text + + + + +

+

Description/name of this option

Proc Details

delete_option +

+

Sets a poll option and its votes as deleted in the database then deletes its datum.

save_option +

+

Inserts or updates a poll option to the database.

+

Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. +The list of columns and values is built dynamically to avoid excess data being sent when not a rating type poll.

+ + + diff --git a/datum/poll_question.html b/datum/poll_question.html new file mode 100644 index 00000000000..b04e78449d2 --- /dev/null +++ b/datum/poll_question.html @@ -0,0 +1,188 @@ + + + + + + + /datum/poll_question - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

poll_question + + + +

+ +

Datum which holds details of a running poll loaded from the database and supplementary info.

+

Used to minimize the need for querying this data every time it's needed.

+ + + + + + + + + + + + + + + + + + + + +

Vars

admin_onlyHides the poll from any client without a holder datum.
allow_revotingAllows a player to change their vote to a poll they've already voted on, off by default.
created_byCkey of the poll's original author
dont_showHint for statbus, not used by the game; Stops the results of a poll from being displayed until the end_datetime is reached.
durationHolds duration data when creating or editing a poll and refreshing the poll creation window.
edit_readyIndicates if a poll has been submitted or loaded from the DB so the management panel will open with edit functions.
end_datetimeDate and time the poll will run until, timestamp format is YYYY-MM-DD HH:MM:SS.
future_pollIndicates a poll is set to not start in the future, still visible for editing but not voting on.
intervalHolds interval data when creating or editing a poll and refreshing the poll creation window.
optionsReference list of the options for this poll, not used by text response polls.
options_allowedThe number of responses allowed in a multiple-choice poll, more can be selected but won't be recorded.
poll_idTable id of this poll, will be null until poll has been created.
poll_typeThe type of poll to be created, must be POLLTYPE_OPTION, POLLTYPE_TEXT, POLLTYPE_RATING, POLLTYPE_MULTI or POLLTYPE_IRV.
poll_votesCount of how many players have voted or responded to this poll.
questionThe title text of the poll, shows up on the list of polls.
start_datetimeDate and time the poll opens, timestamp format is YYYY-MM-DD HH:MM:SS.
subtitleSupplementary text displayed only when responding to a poll.

Procs

clear_poll_votesDeletes all votes or text replies for this poll, depending on its type.
delete_pollSets a poll and its associated data as deleted in the database.
save_all_optionsSaves all options of a poll to the database.
save_poll_dataInserts or updates a poll question to the database.
+

Var Details

admin_only + + + + +

+

Hides the poll from any client without a holder datum.

allow_revoting + + + + +

+

Allows a player to change their vote to a poll they've already voted on, off by default.

created_by + + + + +

+

Ckey of the poll's original author

dont_show + + + + +

+

Hint for statbus, not used by the game; Stops the results of a poll from being displayed until the end_datetime is reached.

duration + + + + +

+

Holds duration data when creating or editing a poll and refreshing the poll creation window.

edit_ready + + + + +

+

Indicates if a poll has been submitted or loaded from the DB so the management panel will open with edit functions.

end_datetime + + + + +

+

Date and time the poll will run until, timestamp format is YYYY-MM-DD HH:MM:SS.

future_poll + + + + +

+

Indicates a poll is set to not start in the future, still visible for editing but not voting on.

interval + + + + +

+

Holds interval data when creating or editing a poll and refreshing the poll creation window.

options + + + + +

+

Reference list of the options for this poll, not used by text response polls.

options_allowed + + + + +

+

The number of responses allowed in a multiple-choice poll, more can be selected but won't be recorded.

poll_id + + + + +

+

Table id of this poll, will be null until poll has been created.

poll_type + + + + +

+

The type of poll to be created, must be POLLTYPE_OPTION, POLLTYPE_TEXT, POLLTYPE_RATING, POLLTYPE_MULTI or POLLTYPE_IRV.

poll_votes + + + + +

+

Count of how many players have voted or responded to this poll.

question + + + + +

+

The title text of the poll, shows up on the list of polls.

start_datetime + + + + +

+

Date and time the poll opens, timestamp format is YYYY-MM-DD HH:MM:SS.

subtitle + + + + +

+

Supplementary text displayed only when responding to a poll.

Proc Details

clear_poll_votes +

+

Deletes all votes or text replies for this poll, depending on its type.

delete_poll +

+

Sets a poll and its associated data as deleted in the database.

+

Calls the procedure set_poll_deleted to set the deleted column to 1 for each row in the poll_ tables matching the poll id used. +Then deletes each option datum and finally the poll itself.

save_all_options +

+

Saves all options of a poll to the database.

+

Saves all the created options for a poll when it's submitted to the DB for the first time and associated an id with the options. +Insertion and id querying for each option is done separately to ensure data integrity; this is less performant, but not significantly. +Using MassInsert() would mean having to query a list of rows by poll_id or matching by fields afterwards, which doesn't guarantee accuracy.

save_poll_data +

+

Inserts or updates a poll question to the database.

+

Uses INSERT ON DUPLICATE KEY UPDATE to handle both inserting and updating at once. +The start and end datetimes and poll id for new polls is then retrieved for the poll datum. +Arguments:

+
+ + + diff --git a/datum/port.html b/datum/port.html new file mode 100644 index 00000000000..01002ef3a37 --- /dev/null +++ b/datum/port.html @@ -0,0 +1,128 @@ + + + + + + + /datum/port - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Component Port + + + +

+ +

A port used by a component. Connects to other ports.

+ + + + + + + + + + + + +

Vars

colorThe port color. If unset, appears as blue.
connected_componentThe component this port is attached to
datatypeThe port type. Ports can only connect to each other if the type matches
datatype_handlerThe default port type. Stores the original datatype of the port set on Initialize.
nameName of the port. Used when displaying the port.
orderThe weight of the port. Determines the
valueThe value that's currently in the port. It's of the above type.

Procs

datatype_ui_dataReturns the data from the datatype
disconnect_allDisconnects a port from all other ports.
null_valueSignal handler proc to null the input if an atom is deleted. An update is not sent because this was not set by anything.
on_value_qdeletingDo our part in setting all source references anywhere to null.
set_datatypeSets the datatype of the port.
set_valueSets the port's value to value. +Casts to the port's datatype (e.g. number -> string), and assumes this can be done.
+

Var Details

color + + + + +

+

The port color. If unset, appears as blue.

connected_component + + + + +

+

The component this port is attached to

datatype + + + + +

+

The port type. Ports can only connect to each other if the type matches

datatype_handler + + + + +

+

The default port type. Stores the original datatype of the port set on Initialize.

name + + + + +

+

Name of the port. Used when displaying the port.

order + + + + +

+

The weight of the port. Determines the

value + + + + +

+

The value that's currently in the port. It's of the above type.

Proc Details

datatype_ui_data +

+

Returns the data from the datatype

disconnect_all +

+

Disconnects a port from all other ports.

+

Called by /obj/item/circuit_component whenever it is disconnected from +an integrated circuit

null_value +

+

Signal handler proc to null the input if an atom is deleted. An update is not sent because this was not set by anything.

on_value_qdeleting +

+

Do our part in setting all source references anywhere to null.

set_datatype +

+

Sets the datatype of the port.

+

Arguments:

+

set_value +

+

Sets the port's value to value. +Casts to the port's datatype (e.g. number -> string), and assumes this can be done.

+ + + diff --git a/datum/port/input.html b/datum/port/input.html new file mode 100644 index 00000000000..bb9bc8f4921 --- /dev/null +++ b/datum/port/input.html @@ -0,0 +1,99 @@ + + + + + + + /datum/port/input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Input Port + + + +

+ +

An input port remembers connected output ports.

+

Registers the PORT_SET_VALUE signal on each connected port, +and keeps its value equal to the last such signal received.

+ + + + + + + +

Vars

connected_portsThe ports this port is wired to.
triggerThe proc that this trigger will call on the connected component.

Procs

can_receive_from_datatypeDetermines if a datatype is compatible with another port of a different type.
check_typeHandle type updates from connected output ports, breaking uncastable connections.
connectConnects an input port to an output port.
handle_manual_inputDetermines if a datatype is compatible with another port of a different type.
receive_valueMirror value updates from connected output ports after an input_receive_delay.
set_inputUpdates the value of the input and calls input_received on the connected component
+

Var Details

connected_ports + + + + +

+

The ports this port is wired to.

trigger + + + + +

+

The proc that this trigger will call on the connected component.

Proc Details

can_receive_from_datatype +

+

Determines if a datatype is compatible with another port of a different type.

+

Arguments:

+

check_type +

+

Handle type updates from connected output ports, breaking uncastable connections.

connect +

+

Connects an input port to an output port.

+

Arguments:

+

handle_manual_input +

+

Determines if a datatype is compatible with another port of a different type.

+

Arguments:

+

receive_value +

+

Mirror value updates from connected output ports after an input_receive_delay.

set_input +

+

Updates the value of the input and calls input_received on the connected component

+ + + diff --git a/datum/port/output.html b/datum/port/output.html new file mode 100644 index 00000000000..3e066e98936 --- /dev/null +++ b/datum/port/output.html @@ -0,0 +1,29 @@ + + + + + + + /datum/port/output - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Output Port + + + +

+ +

An output port that many input ports can connect to

+

Sends a signal whenever the output value is changed

+ + + diff --git a/datum/portrait_picker.html b/datum/portrait_picker.html new file mode 100644 index 00000000000..b70ca83b2bc --- /dev/null +++ b/datum/portrait_picker.html @@ -0,0 +1,59 @@ + + + + + + + /datum/portrait_picker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portrait_picker + + + +

+ +Portrait picker!! +

It's a tgui window that lets you look through all the portraits, and choose one as your AI. +very similar to centcom_podlauncher in terms of how this is coded, so i kept a lot of comments from it

+ + + +

Vars

holderClient of whoever is using this datum
matching_paintingsStores the result of the search.
search_modeWhether the search function will check the title of the painting or the author's name.
search_stringThe last input in the search tab.
+

Var Details

holder + + + + +

+

Client of whoever is using this datum

matching_paintings + + + + +

+

Stores the result of the search.

search_mode + + + + +

+

Whether the search function will check the title of the painting or the author's name.

search_string + + + + +

+

The last input in the search tab.

+ + + diff --git a/datum/powernet.html b/datum/powernet.html new file mode 100644 index 00000000000..2156790b248 --- /dev/null +++ b/datum/powernet.html @@ -0,0 +1,42 @@ + + + + + + + /datum/powernet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

powernet + + + +

+ + + +

Procs

add_cable... delete it
add_machine... delete it

Proc Details

add_cable +

+

... delete it

add_machine +

+

... delete it

+ + + diff --git a/datum/preference.html b/datum/preference.html new file mode 100644 index 00000000000..4c9f21596a6 --- /dev/null +++ b/datum/preference.html @@ -0,0 +1,314 @@ + + + + + + + /datum/preference - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

preference + + + +

+ +

Represents an individual preference.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_typeDo not instantiate if type matches this.
can_randomizeIf set, will be available to randomize, but only if the preference +is for PREFERENCE_CHARACTER.
categoryThe category of preference, for use by the PreferencesMenu. +This isn't used for anything other than as a key for UI data. +It is up to the PreferencesMenu UI itself to interpret it.
priorityThe priority of when to apply this preference. +Used for when you need to rely on another preference.
randomize_by_defaultIf randomizable (PREFERENCE_CHARACTER and can_randomize), whether +or not to enable randomization by default. +This doesn't mean it'll always be random, but rather if a player +DOES have random body on, will this already be randomized?
relevant_external_organIf the selected species has this in its /datum/species/var/external_organs, +will show the feature as selectable.
relevant_head_flagIf the selected species has this head_flag by default, +will show the feature as selectable.
relevant_inherent_traitIf the selected species has this in its /datum/species/inherent_traits, +will show the feature as selectable.
relevant_mutant_bodypartIf the selected species has this in its /datum/species/mutant_bodyparts, +will show the feature as selectable.
savefile_identifierWhat savefile should this preference be read from? +Valid values are PREFERENCE_CHARACTER and PREFERENCE_PLAYER. +See the documentation in code/__DEFINES/preferences.dm.
savefile_keyThe key inside the savefile to use. +This is also sent to the UI. +Once you pick this, don't change it.

Procs

apply_to_clientApply this preference onto the given client. +Called when the savefile_identifier == PREFERENCE_PLAYER.
apply_to_client_updatedFired when the preference is updated. +Calls apply_to_client by default, but can be overridden.
apply_to_humanApply this preference onto the given human. +Must be overriden by subtypes. +Called when the savefile_identifier == PREFERENCE_CHARACTER.
compile_constant_dataReturns data compiled into the preferences JSON asset
compile_ui_dataReturns data to be sent to users in the menu
create_default_valueProduce a default, potentially random value for when no value for this +preference is found in the savefile. +Either this or create_informed_default_value must be overriden by subtypes.
create_informed_default_valueProduce a default, potentially random value for when no value for this +preference is found in the savefile. +Unlike create_default_value(), will provide the preferences object if you +need to use it. +If not overriden, will call create_default_value() instead.
create_random_valueProduce a random value for the purposes of character randomization. +Will just create a default value by default.
deserializeCalled on the saved input when retrieving. +Also called by the value sent from the user through UI. Do not trust it. +Input is the value inside the savefile, output is to tell other code +what the value is. +This is useful either for more optimal data saving or for migrating +older data. +Must be overridden by subtypes. +Can return null if no value was found.
get_spritesheet_keyReturns the key that will be used in the spritesheet for a given value.
included_in_randomization_flagsGiven randomization flags, will return whether or not this preference should be randomized.
is_accessibleReturns whether or not this preference is accessible. +If FALSE, will not show in the UI and will not be editable (by update_preference).
is_randomizableReturns whether or not a preference can be randomized.
is_validChecks that a given value is valid. +Must be overriden by subtypes. +Any type can be passed through.
readGiven a savefile, return either the saved data or an acceptable default. +This will write to the savefile if a value was not found with the new value.
serializeCalled on the input while saving. +Input is the current value, output is what to save in the savefile.
should_show_on_pageReturns whether or not, given the PREFERENCE_TAB_*, this preference should +appear.
writeGiven a savefile, writes the inputted value. +Returns TRUE for a successful application. +Return FALSE if it is invalid.
+

Var Details

abstract_type + + + + +

+

Do not instantiate if type matches this.

can_randomize + + + + +

+

If set, will be available to randomize, but only if the preference +is for PREFERENCE_CHARACTER.

category + + + + +

+

The category of preference, for use by the PreferencesMenu. +This isn't used for anything other than as a key for UI data. +It is up to the PreferencesMenu UI itself to interpret it.

priority + + + + +

+

The priority of when to apply this preference. +Used for when you need to rely on another preference.

randomize_by_default + + + + +

+

If randomizable (PREFERENCE_CHARACTER and can_randomize), whether +or not to enable randomization by default. +This doesn't mean it'll always be random, but rather if a player +DOES have random body on, will this already be randomized?

relevant_external_organ + + + + +

+

If the selected species has this in its /datum/species/var/external_organs, +will show the feature as selectable.

relevant_head_flag + + + + +

+

If the selected species has this head_flag by default, +will show the feature as selectable.

relevant_inherent_trait + + + + +

+

If the selected species has this in its /datum/species/inherent_traits, +will show the feature as selectable.

relevant_mutant_bodypart + + + + +

+

If the selected species has this in its /datum/species/mutant_bodyparts, +will show the feature as selectable.

savefile_identifier + + + + +

+

What savefile should this preference be read from? +Valid values are PREFERENCE_CHARACTER and PREFERENCE_PLAYER. +See the documentation in code/__DEFINES/preferences.dm.

savefile_key + + + + +

+

The key inside the savefile to use. +This is also sent to the UI. +Once you pick this, don't change it.

Proc Details

apply_to_client +

+

Apply this preference onto the given client. +Called when the savefile_identifier == PREFERENCE_PLAYER.

apply_to_client_updated +

+

Fired when the preference is updated. +Calls apply_to_client by default, but can be overridden.

apply_to_human +

+

Apply this preference onto the given human. +Must be overriden by subtypes. +Called when the savefile_identifier == PREFERENCE_CHARACTER.

compile_constant_data +

+

Returns data compiled into the preferences JSON asset

compile_ui_data +

+

Returns data to be sent to users in the menu

create_default_value +

+

Produce a default, potentially random value for when no value for this +preference is found in the savefile. +Either this or create_informed_default_value must be overriden by subtypes.

create_informed_default_value +

+

Produce a default, potentially random value for when no value for this +preference is found in the savefile. +Unlike create_default_value(), will provide the preferences object if you +need to use it. +If not overriden, will call create_default_value() instead.

create_random_value +

+

Produce a random value for the purposes of character randomization. +Will just create a default value by default.

deserialize +

+

Called on the saved input when retrieving. +Also called by the value sent from the user through UI. Do not trust it. +Input is the value inside the savefile, output is to tell other code +what the value is. +This is useful either for more optimal data saving or for migrating +older data. +Must be overridden by subtypes. +Can return null if no value was found.

get_spritesheet_key +

+

Returns the key that will be used in the spritesheet for a given value.

included_in_randomization_flags +

+

Given randomization flags, will return whether or not this preference should be randomized.

is_accessible +

+

Returns whether or not this preference is accessible. +If FALSE, will not show in the UI and will not be editable (by update_preference).

is_randomizable +

+

Returns whether or not a preference can be randomized.

is_valid +

+

Checks that a given value is valid. +Must be overriden by subtypes. +Any type can be passed through.

read +

+

Given a savefile, return either the saved data or an acceptable default. +This will write to the savefile if a value was not found with the new value.

serialize +

+

Called on the input while saving. +Input is the current value, output is what to save in the savefile.

should_show_on_page +

+

Returns whether or not, given the PREFERENCE_TAB_*, this preference should +appear.

write +

+

Given a savefile, writes the inputted value. +Returns TRUE for a successful application. +Return FALSE if it is invalid.

+ + + diff --git a/datum/preference/choiced.html b/datum/preference/choiced.html new file mode 100644 index 00000000000..6693d5d1f38 --- /dev/null +++ b/datum/preference/choiced.html @@ -0,0 +1,92 @@ + + + + + + + /datum/preference/choiced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

choiced + + + +

+ +

A preference that is a choice of one option among a fixed set. +Used for preferences such as clothing.

+ + + + + +

Vars

main_feature_nameIf the preference is a main feature (PREFERENCE_CATEGORY_FEATURES or PREFERENCE_CATEGORY_CLOTHING) +this is the name of the feature that will be presented.
should_generate_iconsIf this is TRUE, an icon will be generated for every value. +If you implement this, you must implement icon_for(value) for every possible value.

Procs

get_choicesReturns a list of every possible value. +The first time this is called, will run init_values(). +Return value can be in the form of:
get_choices_serializedReturns a list of every possible value, serialized.
icon_forWhen should_generate_icons is TRUE, this proc is called for every value. +It can return either an icon or a typepath to an atom to create.
init_possible_valuesReturns a list of every possible value. +This must be overriden by /datum/preference/choiced subtypes. +If should_generate_icons is TRUE, then you will also need to implement icon_for(value) +for every possible value.
+

Var Details

main_feature_name + + + + +

+

If the preference is a main feature (PREFERENCE_CATEGORY_FEATURES or PREFERENCE_CATEGORY_CLOTHING) +this is the name of the feature that will be presented.

should_generate_icons + + + + +

+

If this is TRUE, an icon will be generated for every value. +If you implement this, you must implement icon_for(value) for every possible value.

Proc Details

get_choices +

+

Returns a list of every possible value. +The first time this is called, will run init_values(). +Return value can be in the form of:

+

get_choices_serialized +

+

Returns a list of every possible value, serialized.

icon_for +

+

When should_generate_icons is TRUE, this proc is called for every value. +It can return either an icon or a typepath to an atom to create.

init_possible_values +

+

Returns a list of every possible value. +This must be overriden by /datum/preference/choiced subtypes. +If should_generate_icons is TRUE, then you will also need to implement icon_for(value) +for every possible value.

+ + + diff --git a/datum/preference/name.html b/datum/preference/name.html new file mode 100644 index 00000000000..a2c528294a7 --- /dev/null +++ b/datum/preference/name.html @@ -0,0 +1,57 @@ + + + + + + + /datum/preference/name - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

name + + + +

+ +

A preference for a name. Used not just for normal names, but also for clown names, etc.

+ + + +

Vars

allow_numbersWhether or not to allow numbers in the person's name
explanationThe display name when showing on the "other names" panel
groupThese will be grouped together on the preferences menu
relevant_jobIf the highest priority job matches this, will prioritize this name in the UI
+

Var Details

allow_numbers + + + + +

+

Whether or not to allow numbers in the person's name

explanation + + + + +

+

The display name when showing on the "other names" panel

group + + + + +

+

These will be grouped together on the preferences menu

relevant_job + + + + +

+

If the highest priority job matches this, will prioritize this name in the UI

+ + + diff --git a/datum/preference/numeric.html b/datum/preference/numeric.html new file mode 100644 index 00000000000..d8876dc3751 --- /dev/null +++ b/datum/preference/numeric.html @@ -0,0 +1,50 @@ + + + + + + + /datum/preference/numeric - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

numeric + + + +

+ +

A numeric preference with a minimum and maximum value

+ + +

Vars

maximumThe maximum value
minimumThe minimum value
stepThe step of the number, such as 1 for integers or 0.5 for half-steps.
+

Var Details

maximum + + + + +

+

The maximum value

minimum + + + + +

+

The minimum value

step + + + + +

+

The step of the number, such as 1 for integers or 0.5 for half-steps.

+ + + diff --git a/datum/preference/text.html b/datum/preference/text.html new file mode 100644 index 00000000000..9810318cdac --- /dev/null +++ b/datum/preference/text.html @@ -0,0 +1,43 @@ + + + + + + + /datum/preference/text - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

text + + + +

+ +

A string-based preference accepting arbitrary string values entered by the user, with a maximum length.

+ +

Vars

maximum_value_lengthWhat is the maximum length of the value allowed in this field?
should_strip_htmlShould we strip HTML the input or simply restrict it to the maximum_value_length?
+

Var Details

maximum_value_length + + + + +

+

What is the maximum length of the value allowed in this field?

should_strip_html + + + + +

+

Should we strip HTML the input or simply restrict it to the maximum_value_length?

+ + + diff --git a/datum/preference/toggle.html b/datum/preference/toggle.html new file mode 100644 index 00000000000..3ae8e7bd436 --- /dev/null +++ b/datum/preference/toggle.html @@ -0,0 +1,36 @@ + + + + + + + /datum/preference/toggle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

toggle + + + +

+ +

A preference whose value is always TRUE or FALSE

+

Vars

default_valueThe default value of the toggle, if create_default_value is not specified
+

Var Details

default_value + + + + +

+

The default value of the toggle, if create_default_value is not specified

+ + + diff --git a/datum/preference_middleware.html b/datum/preference_middleware.html new file mode 100644 index 00000000000..dd063290bc2 --- /dev/null +++ b/datum/preference_middleware.html @@ -0,0 +1,105 @@ + + + + + + + /datum/preference_middleware - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

preference_middleware + + + +

+ +

Preference middleware is code that helps to decentralize complicated preference features.

+ + + + + + + + + +

Vars

action_delegationsMap of ui_act actions -> proc paths to call. +Signature is `(list/params, mob/user) -> TRUE/FALSE. +Return output is the same as ui_act--TRUE if it should update, FALSE if it should not
keyThe key that will be used for get_constant_data(). +If null, will use the typepath minus /datum/preference_middleware.
preferencesThe preferences datum

Procs

get_character_preferencesMerge this into the result of compile_character_preferences.
get_constant_dataAppend all of these into /datum/asset/json/preferences.
get_ui_assetsAppend all of these into ui_assets
get_ui_dataAppend all of these into ui_data
get_ui_static_dataAppend all of these into ui_static_data
on_new_characterCalled when a character is changed.
pre_set_preferenceCalled every set_preference, returns TRUE if this handled it.
+

Var Details

action_delegations + + + + +

+

Map of ui_act actions -> proc paths to call. +Signature is `(list/params, mob/user) -> TRUE/FALSE. +Return output is the same as ui_act--TRUE if it should update, FALSE if it should not

key + + + + +

+

The key that will be used for get_constant_data(). +If null, will use the typepath minus /datum/preference_middleware.

preferences + + + + +

+

The preferences datum

Proc Details

get_character_preferences +

+

Merge this into the result of compile_character_preferences.

get_constant_data +

+

Append all of these into /datum/asset/json/preferences.

get_ui_assets +

+

Append all of these into ui_assets

get_ui_data +

+

Append all of these into ui_data

get_ui_static_data +

+

Append all of these into ui_static_data

on_new_character +

+

Called when a character is changed.

pre_set_preference +

+

Called every set_preference, returns TRUE if this handled it.

+ + + diff --git a/datum/preference_middleware/tts.html b/datum/preference_middleware/tts.html new file mode 100644 index 00000000000..cf31b0d401c --- /dev/null +++ b/datum/preference_middleware/tts.html @@ -0,0 +1,36 @@ + + + + + + + /datum/preference_middleware/tts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tts + + + +

+ +

Middleware to handle quirks

+

Vars

tts_test_cooldownCooldown on requesting a TTS preview.
+

Var Details

tts_test_cooldown + + + + +

+

Cooldown on requesting a TTS preview.

+ + + diff --git a/datum/preferences.html b/datum/preferences.html new file mode 100644 index 00000000000..91e624574a4 --- /dev/null +++ b/datum/preferences.html @@ -0,0 +1,369 @@ + + + + + + + /datum/preferences - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

preferences + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

be_specialList of ROLE_X that the client wants to be eligible for
character_dataThe savefile relating to character preferences, PREFERENCE_CHARACTER
character_preview_viewA preview of the current character
current_windowThe current window, PREFERENCE_TAB_* in [code/__DEFINES/preferences.dm]
default_slotEnsures that we always load the last used save, QOL
favorite_outfitsWhat outfit typepaths we've favorited in the SelectEquipment menu
heartedSomeone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)
hearted_untilIf we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed
key_bindingsCustom keybindings. Map of keybind names to keyboard inputs. +For example, by default would have "swap_hands" -> list("X")
key_bindings_by_keyCached list of keybindings, mapping keys to actions. +For example, by default would have "X" -> list("swap_hands")
last_idLast CID that this client has connected from
last_ipLast IP that this client has connected from
lastchangelogCached changelog size, to detect new changelogs since last join
load_and_saveWhether or not we allow saving/loading. Used for guests, if they're enabled
max_save_slotsThe maximum number of slots we're allowed to contain
middlewareA list of instantiated middleware
mutedBitflags for communications that are muted
pathThe path to the general savefile for this datum
recently_updated_keysA list of keys that have been updated since the last save.
savefileThe json savefile for this datum
tainted_character_profilesIf set to TRUE, will update character_profiles on the next ui_data tick.
value_cacheA cache of preference entries to values. +Used to avoid expensive READ_FILE every time a preference is retrieved.

Procs

apply_all_client_preferencesApplies all PREFERENCE_PLAYER preferences
apply_character_randomization_prefsRandomizes the character according to preferences.
apply_prefs_toApplies the given preferences to a human mob.
check_keybindingschecks through keybindings for outdated unbound keys and updates them
get_default_randomizationReturns the default randomise variable ouptut
get_highest_priority_jobReturns what job is marked as highest
get_key_bindings_by_keyInverts the key_bindings list such that it can be used for key_bindings_by_key
get_save_data_for_savefile_identifierReturns which savefile to use for a given savefile identifier
hardcore_random_setupSetup the random hardcore quirks and give the character the new score prize.
migrate_body_typesPreviously, body types could only be used on non-binary characters. +PR #62733 changed this to allow all characters to use body type. +This migration moves binary-gendered characters over to the "use gender" body type +so that old characters are preserved.
migrate_character_to_tgui_prefs_menuHandle the migrations necessary from pre-tgui prefs to post-tgui prefs, for characters
migrate_legacy_sound_togglesPreviously, sound preferences were legacy toggles. +PR #71040 changed these to modern toggles. +This migration transfers the player's existing preferences into the new toggles
migrate_preferences_to_tgui_prefs_menuHandle the migrations necessary from pre-tgui prefs to post-tgui prefs
randomise_appearance_prefsFully randomizes everything in the character.
read_preferenceRead a /datum/preference type and return its value. +This will write to the savefile if a value was not found with the new value.
safe_transfer_prefs_toSanitizes the preferences, applies the randomization prefs, and then applies the preference to the human mob.
select_hardcore_quirksGoes through all quirks that can be used in hardcore mode and select some based on a random budget. +Returns the new value to be gained with this setup, plus the previously earned score.
should_be_random_hardcoreReturns whether the parent mob should have the random hardcore settings enabled. Assumes it has a mind.
should_randomizeReturns if a preference should be randomized.
update_preferenceWill perform an update on the preference, but not write to the savefile. +This will, for instance, update the character preference view. +Performs sanity checks.
update_tts_blip_prefsPreviously, tts enabled/blip were individual buttons +PR #76558 changed them to one dropdown choice. +This migration transfers the player's existing preferences into the new dropdown
write_preferenceSet a /datum/preference entry. +Returns TRUE for a successful preference application. +Returns FALSE if it is invalid.
+

Var Details

be_special + + + + +

+

List of ROLE_X that the client wants to be eligible for

character_data + + + + +

+

The savefile relating to character preferences, PREFERENCE_CHARACTER

character_preview_view + + + + +

+

A preview of the current character

current_window + + + + +

+

The current window, PREFERENCE_TAB_* in [code/__DEFINES/preferences.dm]

default_slot + + + + +

+

Ensures that we always load the last used save, QOL

favorite_outfits + + + + +

+

What outfit typepaths we've favorited in the SelectEquipment menu

hearted + + + + +

+

Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise)

hearted_until + + + + +

+

If we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed

key_bindings + + + + +

+

Custom keybindings. Map of keybind names to keyboard inputs. +For example, by default would have "swap_hands" -> list("X")

key_bindings_by_key + + + + +

+

Cached list of keybindings, mapping keys to actions. +For example, by default would have "X" -> list("swap_hands")

last_id + + + + +

+

Last CID that this client has connected from

last_ip + + + + +

+

Last IP that this client has connected from

lastchangelog + + + + +

+

Cached changelog size, to detect new changelogs since last join

load_and_save + + + + +

+

Whether or not we allow saving/loading. Used for guests, if they're enabled

max_save_slots + + + + +

+

The maximum number of slots we're allowed to contain

middleware + + + + +

+

A list of instantiated middleware

muted + + + + +

+

Bitflags for communications that are muted

path + + + + +

+

The path to the general savefile for this datum

recently_updated_keys + + + + +

+

A list of keys that have been updated since the last save.

savefile + + + + +

+

The json savefile for this datum

tainted_character_profiles + + + + +

+

If set to TRUE, will update character_profiles on the next ui_data tick.

value_cache + + + + +

+

A cache of preference entries to values. +Used to avoid expensive READ_FILE every time a preference is retrieved.

Proc Details

apply_all_client_preferences +

+

Applies all PREFERENCE_PLAYER preferences

apply_character_randomization_prefs +

+

Randomizes the character according to preferences.

apply_prefs_to +

+

Applies the given preferences to a human mob.

check_keybindings +

+

checks through keybindings for outdated unbound keys and updates them

get_default_randomization +

+

Returns the default randomise variable ouptut

get_highest_priority_job +

+

Returns what job is marked as highest

get_key_bindings_by_key +

+

Inverts the key_bindings list such that it can be used for key_bindings_by_key

get_save_data_for_savefile_identifier +

+

Returns which savefile to use for a given savefile identifier

hardcore_random_setup +

+

Setup the random hardcore quirks and give the character the new score prize.

migrate_body_types +

+

Previously, body types could only be used on non-binary characters. +PR #62733 changed this to allow all characters to use body type. +This migration moves binary-gendered characters over to the "use gender" body type +so that old characters are preserved.

migrate_character_to_tgui_prefs_menu +

+

Handle the migrations necessary from pre-tgui prefs to post-tgui prefs, for characters

migrate_legacy_sound_toggles +

+

Previously, sound preferences were legacy toggles. +PR #71040 changed these to modern toggles. +This migration transfers the player's existing preferences into the new toggles

migrate_preferences_to_tgui_prefs_menu +

+

Handle the migrations necessary from pre-tgui prefs to post-tgui prefs

randomise_appearance_prefs +

+

Fully randomizes everything in the character.

read_preference +

+

Read a /datum/preference type and return its value. +This will write to the savefile if a value was not found with the new value.

safe_transfer_prefs_to +

+

Sanitizes the preferences, applies the randomization prefs, and then applies the preference to the human mob.

select_hardcore_quirks +

+

Goes through all quirks that can be used in hardcore mode and select some based on a random budget. +Returns the new value to be gained with this setup, plus the previously earned score.

should_be_random_hardcore +

+

Returns whether the parent mob should have the random hardcore settings enabled. Assumes it has a mind.

should_randomize +

+

Returns if a preference should be randomized.

update_preference +

+

Will perform an update on the preference, but not write to the savefile. +This will, for instance, update the character preference view. +Performs sanity checks.

update_tts_blip_prefs +

+

Previously, tts enabled/blip were individual buttons +PR #76558 changed them to one dropdown choice. +This migration transfers the player's existing preferences into the new dropdown

write_preference +

+

Set a /datum/preference entry. +Returns TRUE for a successful preference application. +Returns FALSE if it is invalid.

+ + + diff --git a/datum/prisoner_crime.html b/datum/prisoner_crime.html new file mode 100644 index 00000000000..b249269592e --- /dev/null +++ b/datum/prisoner_crime.html @@ -0,0 +1,50 @@ + + + + + + + /datum/prisoner_crime - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prisoner_crime + + + +

+ + + + +

Vars

descwhat the record will say about the crime
namecrime name
tattooshow many tattoos come from the crime. People who committed murder have more than tax evaders!
+

Var Details

desc + + + + +

+

what the record will say about the crime

name + + + + +

+

crime name

tattoos + + + + +

+

how many tattoos come from the crime. People who committed murder have more than tax evaders!

+ + + diff --git a/datum/progressbar.html b/datum/progressbar.html new file mode 100644 index 00000000000..46d56b8e6cb --- /dev/null +++ b/datum/progressbar.html @@ -0,0 +1,143 @@ + + + + + + + /datum/progressbar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

progressbar + + + +

+ + + + + + + + + + + + + + + + + +

Vars

barThe progress bar visual element.
bar_locThe target where this progress bar is applied and where it is shown.
goalEffectively the number of steps the progress bar will need to do before reaching completion.
last_progressControl check to see if the progress was interrupted before reaching its goal.
listindexVariable to ensure smooth visual stacking on multiple progress bars.
location_typeThe type of our last value for bar_loc, for debugging
offset_yWhere to draw the progress bar above the icon
userThe mob whose client sees the progress bar.
user_clientThe client seeing the progress bar.

Procs

add_prog_bar_image_to_clientAdds a smoothly-appearing progress bar image to the player's screen.
clean_user_clientRemoves the progress bar image from the user_client and nulls the variable, if it exists.
dump_harddel_infoProgress bars are very generic, and what hangs a ref to them depends heavily on the context in which they're used +So let's make hunting harddels easier yeah?
end_progressCalled on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.
on_user_deleteCalled right before the user's Destroy()
on_user_loginCalled by user's Login(), it transfers the progress bar image to the new client.
updateUpdates the progress bar image visually.
+

Var Details

bar + + + + +

+

The progress bar visual element.

bar_loc + + + + +

+

The target where this progress bar is applied and where it is shown.

goal + + + + +

+

Effectively the number of steps the progress bar will need to do before reaching completion.

last_progress + + + + +

+

Control check to see if the progress was interrupted before reaching its goal.

listindex + + + + +

+

Variable to ensure smooth visual stacking on multiple progress bars.

location_type + + + + +

+

The type of our last value for bar_loc, for debugging

offset_y + + + + +

+

Where to draw the progress bar above the icon

user + + + + +

+

The mob whose client sees the progress bar.

user_client + + + + +

+

The client seeing the progress bar.

Proc Details

add_prog_bar_image_to_client +

+

Adds a smoothly-appearing progress bar image to the player's screen.

clean_user_client +

+

Removes the progress bar image from the user_client and nulls the variable, if it exists.

dump_harddel_info +

+

Progress bars are very generic, and what hangs a ref to them depends heavily on the context in which they're used +So let's make hunting harddels easier yeah?

end_progress +

+

Called on progress end, be it successful or a failure. Wraps up things to delete the datum and bar.

on_user_delete +

+

Called right before the user's Destroy()

on_user_login +

+

Called by user's Login(), it transfers the progress bar image to the new client.

update +

+

Updates the progress bar image visually.

+ + + diff --git a/datum/proximity_monitor.html b/datum/proximity_monitor.html new file mode 100644 index 00000000000..cf65402ec81 --- /dev/null +++ b/datum/proximity_monitor.html @@ -0,0 +1,64 @@ + + + + + + + /datum/proximity_monitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

proximity_monitor + + + +

+ + + + + + +

Vars

current_rangeThe range of the proximity monitor. Things moving wihin it will trigger HasProximity calls.
hasprox_receiverThe atom that will receive HasProximity calls.
hostThe atom we are tracking
ignore_if_not_on_turfIf we don't check turfs in range if the host's loc isn't a turf
loc_connectionsThe signals of the connect range component, needed to monitor the turfs in range.
+

Var Details

current_range + + + + +

+

The range of the proximity monitor. Things moving wihin it will trigger HasProximity calls.

hasprox_receiver + + + + +

+

The atom that will receive HasProximity calls.

host + + + + +

+

The atom we are tracking

ignore_if_not_on_turf + + + + +

+

If we don't check turfs in range if the host's loc isn't a turf

loc_connections + + + + +

+

The signals of the connect range component, needed to monitor the turfs in range.

+ + + diff --git a/datum/proximity_monitor/advanced.html b/datum/proximity_monitor/advanced.html new file mode 100644 index 00000000000..7c3fdeb26b0 --- /dev/null +++ b/datum/proximity_monitor/advanced.html @@ -0,0 +1,89 @@ + + + + + + + /datum/proximity_monitor/advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

advanced + + + +

+ +

Movable and easily code-modified fields! Allows for custom AOE effects that affect movement +and anything inside of them, and can do custom turf effects! +Supports automatic recalculation/reset on movement.

+

"What do I gain from using advanced over standard prox monitors?"

+ + + + + + + +

Vars

edge_is_a_fieldIf TRUE, edge turfs will be included as "in the field" for effects +Can be used in certain situations where you may have effects that trigger only at the edge, +while also wanting the field effect to trigger at edge turfs as well
edge_turfsAll turfs on the very last tile of the proximity monitor's radius
field_turfsAll turfs on the inside of the proximity monitor - range - 1 turfs

Procs

cleanup_edge_turfCalled when a turf in the edge of the monitor is unlinked
cleanup_field_turfCalled when a turf in the field of the monitor is unlinked
setup_edge_turfCalled when a turf in the edge of the monitor is linked
setup_field_turfCalled when a turf in the field of the monitor is linked
+

Var Details

edge_is_a_field + + + + +

+

If TRUE, edge turfs will be included as "in the field" for effects +Can be used in certain situations where you may have effects that trigger only at the edge, +while also wanting the field effect to trigger at edge turfs as well

edge_turfs + + + + +

+

All turfs on the very last tile of the proximity monitor's radius

field_turfs + + + + +

+

All turfs on the inside of the proximity monitor - range - 1 turfs

Proc Details

cleanup_edge_turf +

+

Called when a turf in the edge of the monitor is unlinked

cleanup_field_turf +

+

Called when a turf in the field of the monitor is unlinked

setup_edge_turf +

+

Called when a turf in the edge of the monitor is linked

setup_field_turf +

+

Called when a turf in the field of the monitor is linked

+ + + diff --git a/datum/proximity_monitor/advanced/demoraliser.html b/datum/proximity_monitor/advanced/demoraliser.html new file mode 100644 index 00000000000..868663821d2 --- /dev/null +++ b/datum/proximity_monitor/advanced/demoraliser.html @@ -0,0 +1,54 @@ + + + + + + + /datum/proximity_monitor/advanced/demoraliser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

demoraliser + + + +

+ + + +

Procs

on_seenCalled when someone is looking at a demoralising object. +Applies a mood if they are conscious and don't already have it. +Different moods are applied based on whether they are an antagonist, authority, or 'other' (presumed crew).
should_demoraliseReturns true if user is capable of experiencing moods and doesn't already have the one relevant to this datum, false otherwise.

Proc Details

on_seen +

+

Called when someone is looking at a demoralising object. +Applies a mood if they are conscious and don't already have it. +Different moods are applied based on whether they are an antagonist, authority, or 'other' (presumed crew).

+

Arguments

+

should_demoralise +

+

Returns true if user is capable of experiencing moods and doesn't already have the one relevant to this datum, false otherwise.

+

Arguments

+
+ + + diff --git a/datum/proximity_monitor/advanced/elevator_music_area.html b/datum/proximity_monitor/advanced/elevator_music_area.html new file mode 100644 index 00000000000..a413cbc5d83 --- /dev/null +++ b/datum/proximity_monitor/advanced/elevator_music_area.html @@ -0,0 +1,71 @@ + + + + + + + /datum/proximity_monitor/advanced/elevator_music_area - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

elevator_music_area + + + +

+ +

Load or unload a looping sound when mobs enter or exit the area

+ + + + + +

Vars

enabledAre we currently playing sounds?
soundloop_typeLooping sound datum type to play
tracked_mobsAssoc list of mobs to sound loops currently playing

Procs

mob_destroyedRemove references on mob deletion
turn_offStop active sound loops
turn_onStart sound loops playing
+

Var Details

enabled + + + + +

+

Are we currently playing sounds?

soundloop_type + + + + +

+

Looping sound datum type to play

tracked_mobs + + + + +

+

Assoc list of mobs to sound loops currently playing

Proc Details

mob_destroyed +

+

Remove references on mob deletion

turn_off +

+

Stop active sound loops

turn_on +

+

Start sound loops playing

+ + + diff --git a/datum/proximity_monitor/advanced/gravity/warns_on_entrance.html b/datum/proximity_monitor/advanced/gravity/warns_on_entrance.html new file mode 100644 index 00000000000..ac509444eab --- /dev/null +++ b/datum/proximity_monitor/advanced/gravity/warns_on_entrance.html @@ -0,0 +1,38 @@ + + + + + + + /datum/proximity_monitor/advanced/gravity/warns_on_entrance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

warns_on_entrance + + + +

+ + +

Vars

recently_warnedThis is a list of mob refs that have recently entered the field. +We track it so that we don't spam a player who is stutter stepping in and out with balloon alerts.
+

Var Details

recently_warned + + + + +

+

This is a list of mob refs that have recently entered the field. +We track it so that we don't spam a player who is stutter stepping in and out with balloon alerts.

+ + + diff --git a/datum/proximity_monitor/advanced/quirk_posters.html b/datum/proximity_monitor/advanced/quirk_posters.html new file mode 100644 index 00000000000..99143ce2fa8 --- /dev/null +++ b/datum/proximity_monitor/advanced/quirk_posters.html @@ -0,0 +1,36 @@ + + + + + + + /datum/proximity_monitor/advanced/quirk_posters - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

quirk_posters + + + +

+ + +

Vars

departmentDefines the specific department that the poster will apply its mood buff to, if the poster has a quirk_poster_department.
+

Var Details

department + + + + +

+

Defines the specific department that the poster will apply its mood buff to, if the poster has a quirk_poster_department.

+ + + diff --git a/datum/proximity_monitor/advanced/timestop.html b/datum/proximity_monitor/advanced/timestop.html new file mode 100644 index 00000000000..8076688c4f7 --- /dev/null +++ b/datum/proximity_monitor/advanced/timestop.html @@ -0,0 +1,36 @@ + + + + + + + /datum/proximity_monitor/advanced/timestop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

timestop + + + +

+ + +

Vars

channelledif true, this doesn't time out after a duration but rather when an immune atom inside moves.
+

Var Details

channelled + + + + +

+

if true, this doesn't time out after a duration but rather when an immune atom inside moves.

+ + + diff --git a/datum/puzzgrid.html b/datum/puzzgrid.html new file mode 100644 index 00000000000..90bb4b22d82 --- /dev/null +++ b/datum/puzzgrid.html @@ -0,0 +1,37 @@ + + + + + + + /datum/puzzgrid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

puzzgrid + + + +

+ +

Represents an individual puzzgrid

+

Procs

populateWill populate a puzzgrid with the information from the JSON. +Will return TRUE if the populate succeeded, or a string denoting the error otherwise.

Proc Details

populate +

+

Will populate a puzzgrid with the information from the JSON. +Will return TRUE if the populate succeeded, or a string denoting the error otherwise.

+ + + diff --git a/datum/queue_link.html b/datum/queue_link.html new file mode 100644 index 00000000000..551c923122d --- /dev/null +++ b/datum/queue_link.html @@ -0,0 +1,57 @@ + + + + + + + /datum/queue_link - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

queue_link + + + +

+ + + + + +

Vars

idid
partnersatoms in our queue
queue_maxhow much length until we pop, only incrementable, 0 means the queue will not pop until a maximum is set

Procs

addadds an atom to the queue, if we are popping this returns TRUE
+

Var Details

id + + + + +

+

id

partners + + + + +

+

atoms in our queue

queue_max + + + + +

+

how much length until we pop, only incrementable, 0 means the queue will not pop until a maximum is set

Proc Details

add +

+

adds an atom to the queue, if we are popping this returns TRUE

+ + + diff --git a/datum/quirk.html b/datum/quirk.html new file mode 100644 index 00000000000..94d55e6f3e9 --- /dev/null +++ b/datum/quirk.html @@ -0,0 +1,204 @@ + + + + + + + /datum/quirk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

quirk + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_parent_typeWhen making an abstract quirk (in OOP terms), don't forget to set this var to the type path for that abstract quirk.
descThe description of the quirk
gain_textText displayed when this quirk is assigned to a mob (and not transferred)
hardcore_valueAmount of points this trait is worth towards the hardcore character mode. +Minus points implies a positive quirk, positive means its hard. +This is used to pick the quirks assigned to a hardcore character. +/ 0 means its not available to hardcore draws.
iconThe icon to show in the preferences menu. +This references a tgui icon, so it can be FontAwesome or a tgfont (with a tg- prefix).
lose_textText displayed when this quirk is removed from a mob (and not transferred)
mail_goodiesA list of items people can receive from mail who have this quirk enabled +The base weight for the each quirk's mail goodies list to be selected is 5 +then the item selected is determined by pick(selected_quirk.mail_goodies)
medical_record_textThis text will appear on medical records for the trait.
mob_traitif applicable, apply and remove this mob trait
nameThe name of the quirk
quirk_flagsFlags related to this quirk.
quirk_holderReference to the mob currently tied to this quirk datum. Quirks are not singletons.
valueWhat the quirk is worth in preferences, zero = neutral / free

Procs

addAny effect that should be applied every single time the quirk is added to any mob, even when transferred.
add_to_holderAdds the quirk to a new quirk_holder.
add_uniqueAny effects from the proc that should not be done multiple times if the quirk is transferred between mobs. +Put stuff like spawning items in here.
on_holder_qdeletingCalled when quirk_holder is qdeleting. Simply qdels this datum and lets Destroy() handle the rest.
on_quirk_holder_first_loginOn client connection set quirk preferences.
post_addAny special effects or chat messages which should be applied. +This proc is guaranteed to run if the mob has a client when the quirk is added. +Otherwise, it runs once on the next COMSIG_MOB_LOGIN.
removeRemoval of any reversible effects added by the quirk.
remove_from_current_holderRemoves the quirk from the current quirk_holder.
+

Var Details

abstract_parent_type + + + + +

+

When making an abstract quirk (in OOP terms), don't forget to set this var to the type path for that abstract quirk.

desc + + + + +

+

The description of the quirk

gain_text + + + + +

+

Text displayed when this quirk is assigned to a mob (and not transferred)

hardcore_value + + + + +

+

Amount of points this trait is worth towards the hardcore character mode. +Minus points implies a positive quirk, positive means its hard. +This is used to pick the quirks assigned to a hardcore character. +/ 0 means its not available to hardcore draws.

icon + + + + +

+

The icon to show in the preferences menu. +This references a tgui icon, so it can be FontAwesome or a tgfont (with a tg- prefix).

lose_text + + + + +

+

Text displayed when this quirk is removed from a mob (and not transferred)

mail_goodies + + + + +

+

A list of items people can receive from mail who have this quirk enabled +The base weight for the each quirk's mail goodies list to be selected is 5 +then the item selected is determined by pick(selected_quirk.mail_goodies)

medical_record_text + + + + +

+

This text will appear on medical records for the trait.

mob_trait + + + + +

+

if applicable, apply and remove this mob trait

name + + + + +

+

The name of the quirk

quirk_flags + + + + +

+

Flags related to this quirk.

quirk_holder + + + + +

+

Reference to the mob currently tied to this quirk datum. Quirks are not singletons.

value + + + + +

+

What the quirk is worth in preferences, zero = neutral / free

Proc Details

add +

+

Any effect that should be applied every single time the quirk is added to any mob, even when transferred.

add_to_holder +

+

Adds the quirk to a new quirk_holder.

+

Performs logic to make sure new_holder is a valid holder of this quirk. +Returns FALSEy if there was some kind of error. Returns TRUE otherwise. +Arguments:

+

add_unique +

+

Any effects from the proc that should not be done multiple times if the quirk is transferred between mobs. +Put stuff like spawning items in here.

on_holder_qdeleting +

+

Called when quirk_holder is qdeleting. Simply qdels this datum and lets Destroy() handle the rest.

on_quirk_holder_first_login +

+

On client connection set quirk preferences.

+

Run post_add to set the client preferences for the quirk. +Clear the attached signal for login. +Used when the quirk has been gained and no client is attached to the mob.

post_add +

+

Any special effects or chat messages which should be applied. +This proc is guaranteed to run if the mob has a client when the quirk is added. +Otherwise, it runs once on the next COMSIG_MOB_LOGIN.

remove +

+

Removal of any reversible effects added by the quirk.

remove_from_current_holder +

+

Removes the quirk from the current quirk_holder.

+ + + diff --git a/datum/quirk/all_nighter.html b/datum/quirk/all_nighter.html new file mode 100644 index 00000000000..966e1c25a2c --- /dev/null +++ b/datum/quirk/all_nighter.html @@ -0,0 +1,93 @@ + + + + + + + /datum/quirk/all_nighter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

all_nighter + + + +

+ + + + + + + + + +

Vars

bodypart_overlaythe overlay we put over the eyes
five_more_minutesessentially our "sleep bank". sleeping charges it up and its drained while awake
stimulantsa list of all the reagents which alleviate the negative moodlet

Procs

addadds the corresponding moodlet and visual effects
add_bagsadds the bag overlay
processHere we actively handle our moodlet & eye bags, adding/removing them as necessary
removeremoves the corresponding moodlet and visual effects
remove_bagsremoves the bag overlay
+

Var Details

bodypart_overlay + + + + +

+

the overlay we put over the eyes

five_more_minutes + + + + +

+

essentially our "sleep bank". sleeping charges it up and its drained while awake

stimulants + + + + +

+

a list of all the reagents which alleviate the negative moodlet

Proc Details

add +

+

adds the corresponding moodlet and visual effects

add_bags +

+

adds the bag overlay

process +

+

Here we actively handle our moodlet & eye bags, adding/removing them as necessary

+

*Logic: +*Every second spent sleeping adds to the "sleep bank" with a multiplier of SLEEP_BANK_MULTIPLIER +*Every waking second drains the sleep bank until empty +*An empty sleep bank means you have bags beneath your eyes +*An empty sleep bank AND a lack of stimulants means you have the negative moodlet

+

*Variables: +*happy_camper - FALSE if we should have the negative moodlet +*beauty_sleep - FALSE if we should have bags

remove +

+

removes the corresponding moodlet and visual effects

remove_bags +

+

removes the bag overlay

+ + + diff --git a/datum/quirk/bad_touch.html b/datum/quirk/bad_touch.html new file mode 100644 index 00000000000..f91901979c6 --- /dev/null +++ b/datum/quirk/bad_touch.html @@ -0,0 +1,35 @@ + + + + + + + /datum/quirk/bad_touch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bad_touch + + + +

+ + +

Procs

uncomfortable_touchCauses a negative moodlet to our quirk holder on signal

Proc Details

uncomfortable_touch +

+

Causes a negative moodlet to our quirk holder on signal

+ + + diff --git a/datum/quirk/badback.html b/datum/quirk/badback.html new file mode 100644 index 00000000000..75f233fef2b --- /dev/null +++ b/datum/quirk/badback.html @@ -0,0 +1,42 @@ + + + + + + + /datum/quirk/badback - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

badback + + + +

+ + + +

Procs

on_equipped_itemSignal handler for when the quirk_holder equips an item. If it's a backpack, adds the back_pain mood event.
on_unequipped_backpackSignal handler for when the quirk_holder unequips an equipped backpack. Removes the back_pain mood event.

Proc Details

on_equipped_item +

+

Signal handler for when the quirk_holder equips an item. If it's a backpack, adds the back_pain mood event.

on_unequipped_backpack +

+

Signal handler for when the quirk_holder unequips an equipped backpack. Removes the back_pain mood event.

+ + + diff --git a/datum/quirk/blooddeficiency.html b/datum/quirk/blooddeficiency.html new file mode 100644 index 00000000000..c8a5a0f4967 --- /dev/null +++ b/datum/quirk/blooddeficiency.html @@ -0,0 +1,39 @@ + + + + + + + /datum/quirk/blooddeficiency - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blooddeficiency + + + +

+ + +

Procs

lose_bloodMakes the mob lose blood from having the blood deficiency quirk, if possible

Proc Details

lose_blood +

+

Makes the mob lose blood from having the blood deficiency quirk, if possible

+

Arguments:

+
+ + + diff --git a/datum/quirk/claustrophobia.html b/datum/quirk/claustrophobia.html new file mode 100644 index 00000000000..d99d9c88157 --- /dev/null +++ b/datum/quirk/claustrophobia.html @@ -0,0 +1,35 @@ + + + + + + + /datum/quirk/claustrophobia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

claustrophobia + + + +

+ + +

Procs

evaluate_jolly_levelsinvestigates whether possible_saint_nick possesses a high level of christmas cheer

Proc Details

evaluate_jolly_levels +

+

investigates whether possible_saint_nick possesses a high level of christmas cheer

+ + + diff --git a/datum/quirk/gamer.html b/datum/quirk/gamer.html new file mode 100644 index 00000000000..016c2169561 --- /dev/null +++ b/datum/quirk/gamer.html @@ -0,0 +1,65 @@ + + + + + + + /datum/quirk/gamer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gamer + + + +

+ + + + + +

Vars

gaming_withdrawal_timerTimer for gaming withdrawal to kick in

Procs

gamedGamer is playing a game
lost_gameGamer lost a game
won_gameGamer won a game
+

Var Details

gaming_withdrawal_timer + + + + +

+

Timer for gaming withdrawal to kick in

Proc Details

gamed +

+

Gamer is playing a game

+

Executed on the COMSIG_MOB_PLAYED_VIDEOGAME signal +This signal should be called whenever a player interacts with a video game.

lost_game +

+

Gamer lost a game

+

Executed on the COMSIG_MOB_LOST_VIDEOGAME signal +This signal should be called whenever a player has lost a video game. +(E.g. Orion Trail)

won_game +

+

Gamer won a game

+

Executed on the COMSIG_MOB_WON_VIDEOGAME signal +This signal should be called whenever a player has won a video game. +(E.g. Orion Trail)

+ + + diff --git a/datum/quirk/heterochromatic.html b/datum/quirk/heterochromatic.html new file mode 100644 index 00000000000..30aa7f0c98e --- /dev/null +++ b/datum/quirk/heterochromatic.html @@ -0,0 +1,35 @@ + + + + + + + /datum/quirk/heterochromatic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

heterochromatic + + + +

+ + +

Procs

apply_heterochromatic_eyesApplies the passed color to this mob's eyes

Proc Details

apply_heterochromatic_eyes +

+

Applies the passed color to this mob's eyes

+ + + diff --git a/datum/quirk/indebted.html b/datum/quirk/indebted.html new file mode 100644 index 00000000000..6f2a430afe7 --- /dev/null +++ b/datum/quirk/indebted.html @@ -0,0 +1,42 @@ + + + + + + + /datum/quirk/indebted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

indebted + + + +

+ + + +

Procs

award_on_loginThe debt was extinguished while the quirk holder was logged out, so let's kindly award it once they come back.
on_debt_paidOnce the debt is extinguished, award an achievement and a pin for actually taking care of it.

Proc Details

award_on_login +

+

The debt was extinguished while the quirk holder was logged out, so let's kindly award it once they come back.

on_debt_paid +

+

Once the debt is extinguished, award an achievement and a pin for actually taking care of it.

+ + + diff --git a/datum/quirk/insanity.html b/datum/quirk/insanity.html new file mode 100644 index 00000000000..afae271b169 --- /dev/null +++ b/datum/quirk/insanity.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quirk/insanity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

insanity + + + +

+ + +

Vars

added_trama_refWeakref to the trauma we give out
+

Var Details

added_trama_ref + + + + +

+

Weakref to the trauma we give out

+ + + diff --git a/datum/quirk/item_quirk.html b/datum/quirk/item_quirk.html new file mode 100644 index 00000000000..78586943f31 --- /dev/null +++ b/datum/quirk/item_quirk.html @@ -0,0 +1,59 @@ + + + + + + + /datum/quirk/item_quirk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

item_quirk + + + +

+ +

Subtype quirk that has some bonus logic to spawn items for the player.

+ + +

Vars

open_backpackIf true, the backpack automatically opens on post_add(). Usually set to TRUE when an item is equipped inside the player's backpack.
where_items_spawnedLazylist of strings describing where all the quirk items have been spawned.

Procs

give_item_to_holderHandles inserting an item in any of the valid slots provided, then allows for post_add notification.
+

Var Details

open_backpack + + + + +

+

If true, the backpack automatically opens on post_add(). Usually set to TRUE when an item is equipped inside the player's backpack.

where_items_spawned + + + + +

+

Lazylist of strings describing where all the quirk items have been spawned.

Proc Details

give_item_to_holder +

+

Handles inserting an item in any of the valid slots provided, then allows for post_add notification.

+

If no valid slot is available for an item, the item is left at the mob's feet. +Arguments:

+
+ + + diff --git a/datum/quirk/item_quirk/bald.html b/datum/quirk/item_quirk/bald.html new file mode 100644 index 00000000000..8ac54191e56 --- /dev/null +++ b/datum/quirk/item_quirk/bald.html @@ -0,0 +1,50 @@ + + + + + + + /datum/quirk/item_quirk/bald - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bald + + + +

+ + + + +

Vars

old_hairThe user's starting hairstyle

Procs

equip_hatChecks if the headgear equipped is a wig and sets the mood event accordingly
unequip_hatApplies a bad moodlet for having an uncovered head
+

Var Details

old_hair + + + + +

+

The user's starting hairstyle

Proc Details

equip_hat +

+

Checks if the headgear equipped is a wig and sets the mood event accordingly

unequip_hat +

+

Applies a bad moodlet for having an uncovered head

+ + + diff --git a/datum/quirk/item_quirk/family_heirloom.html b/datum/quirk/item_quirk/family_heirloom.html new file mode 100644 index 00000000000..acb607c4a51 --- /dev/null +++ b/datum/quirk/item_quirk/family_heirloom.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quirk/item_quirk/family_heirloom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

family_heirloom + + + +

+ + +

Vars

heirloomA weak reference to our heirloom.
+

Var Details

heirloom + + + + +

+

A weak reference to our heirloom.

+ + + diff --git a/datum/quirk/item_quirk/food_allergic.html b/datum/quirk/item_quirk/food_allergic.html new file mode 100644 index 00000000000..eac723049d7 --- /dev/null +++ b/datum/quirk/item_quirk/food_allergic.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quirk/item_quirk/food_allergic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

food_allergic + + + +

+ + +

Vars

target_foodtypesFootype flags that will trigger the allergy
+

Var Details

target_foodtypes + + + + +

+

Footype flags that will trigger the allergy

+ + + diff --git a/datum/quirk/item_quirk/junkie/alcoholic.html b/datum/quirk/item_quirk/junkie/alcoholic.html new file mode 100644 index 00000000000..8743df43c92 --- /dev/null +++ b/datum/quirk/item_quirk/junkie/alcoholic.html @@ -0,0 +1,36 @@ + + + + + + + /datum/quirk/item_quirk/junkie/alcoholic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

alcoholic + + + +

+ + +

Vars

favorite_alcoholCached typepath of the owner's favorite alcohol reagent
+

Var Details

favorite_alcohol + + + + +

+

Cached typepath of the owner's favorite alcohol reagent

+ + + diff --git a/datum/quirk/nyctophobia.html b/datum/quirk/nyctophobia.html new file mode 100644 index 00000000000..a1431e3024b --- /dev/null +++ b/datum/quirk/nyctophobia.html @@ -0,0 +1,35 @@ + + + + + + + /datum/quirk/nyctophobia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

nyctophobia + + + +

+ + +

Procs

on_holder_movedCalled when the quirk holder moves. Updates the quirk holder's mood.

Proc Details

on_holder_moved +

+

Called when the quirk holder moves. Updates the quirk holder's mood.

+ + + diff --git a/datum/quirk/prosthetic_limb.html b/datum/quirk/prosthetic_limb.html new file mode 100644 index 00000000000..879c99f5d0a --- /dev/null +++ b/datum/quirk/prosthetic_limb.html @@ -0,0 +1,43 @@ + + + + + + + /datum/quirk/prosthetic_limb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prosthetic_limb + + + +

+ + + +

Vars

old_limbthe original limb from before the prosthetic was applied
slot_stringThe slot to replace, in string form
+

Var Details

old_limb + + + + +

+

the original limb from before the prosthetic was applied

slot_string + + + + +

+

The slot to replace, in string form

+ + + diff --git a/datum/quirk/prosthetic_organ.html b/datum/quirk/prosthetic_organ.html new file mode 100644 index 00000000000..dbc912b8ad2 --- /dev/null +++ b/datum/quirk/prosthetic_organ.html @@ -0,0 +1,43 @@ + + + + + + + /datum/quirk/prosthetic_organ - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prosthetic_organ + + + +

+ + + +

Vars

old_organThe original organ from before the prosthetic was applied
slot_stringThe slot to replace, in string form
+

Var Details

old_organ + + + + +

+

The original organ from before the prosthetic was applied

slot_string + + + + +

+

The slot to replace, in string form

+ + + diff --git a/datum/quirk/spacer_born.html b/datum/quirk/spacer_born.html new file mode 100644 index 00000000000..271b1324a81 --- /dev/null +++ b/datum/quirk/spacer_born.html @@ -0,0 +1,133 @@ + + + + + + + /datum/quirk/spacer_born - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spacer_born + + + +

+ + + + + + + + + + + + + +

Vars

last_stateDetermines the last state we were in ([LAST_STATE_PLANET] or [LAST_STATE_SPACE])
modded_heightHow high spacers get bumped up to
planet_periodHow long on a planet before we get averse effects
planetside_timerTimerID for time spend on a planet
recover_periodHow long in space before we get beneficial effects
recovering_timerTimerID for time spend in space

Procs

check_zUsed to check if we should start or stop timers based on the quirk holder's location.
comfortably_in_spaceRan when living back in space for a long enough period.
in_spaceRan when returning to space / somewhere with low gravity.
on_planetRan when we arrive on a planet.
on_planet_for_too_longRan after remaining on a planet for too long.
spacer_movedCheck on Z change whether we should start or stop timers
+

Var Details

last_state + + + + +

+

Determines the last state we were in ([LAST_STATE_PLANET] or [LAST_STATE_SPACE])

modded_height + + + + +

+

How high spacers get bumped up to

planet_period + + + + +

+

How long on a planet before we get averse effects

planetside_timer + + + + +

+

TimerID for time spend on a planet

recover_period + + + + +

+

How long in space before we get beneficial effects

recovering_timer + + + + +

+

TimerID for time spend in space

Proc Details

check_z +

+

Used to check if we should start or stop timers based on the quirk holder's location.

+

comfortably_in_space +

+

Ran when living back in space for a long enough period.

+

in_space +

+

Ran when returning to space / somewhere with low gravity.

+

on_planet +

+

Ran when we arrive on a planet.

+

on_planet_for_too_long +

+

Ran after remaining on a planet for too long.

+

spacer_moved +

+

Check on Z change whether we should start or stop timers

+ + + diff --git a/datum/quirk_constant_data.html b/datum/quirk_constant_data.html new file mode 100644 index 00000000000..4176f3e159b --- /dev/null +++ b/datum/quirk_constant_data.html @@ -0,0 +1,66 @@ + + + + + + + /datum/quirk_constant_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

quirk_constant_data + + + +

+ +

A singleton datum representing constant data and procs used by quirks.

+ + + + +

Vars

abstract_typeAbstract in OOP terms. If this is our type, we will not be instantiated.
associated_typepathThe typepath of the quirk we will be associated with in the global list. This is what we represent.
customization_optionsA lazylist of preference datum typepaths. Any character pref put in here will be rendered in the quirks page under a dropdown.

Procs

get_customization_dataReturns a list of savefile_keys derived from the preference typepaths in [customization_options]. Used in quirks middleware to supply the preferences to render.
is_customizableIs this quirk customizable? If true, a button will appear within the quirk's description box in the quirks page, and upon clicking it, +will open a customization menu for the quirk.
+

Var Details

abstract_type + + + + +

+

Abstract in OOP terms. If this is our type, we will not be instantiated.

associated_typepath + + + + +

+

The typepath of the quirk we will be associated with in the global list. This is what we represent.

customization_options + + + + +

+

A lazylist of preference datum typepaths. Any character pref put in here will be rendered in the quirks page under a dropdown.

Proc Details

get_customization_data +

+

Returns a list of savefile_keys derived from the preference typepaths in [customization_options]. Used in quirks middleware to supply the preferences to render.

is_customizable +

+

Is this quirk customizable? If true, a button will appear within the quirk's description box in the quirks page, and upon clicking it, +will open a customization menu for the quirk.

+ + + diff --git a/datum/radial_menu.html b/datum/radial_menu.html new file mode 100644 index 00000000000..2c8ec6754d2 --- /dev/null +++ b/datum/radial_menu.html @@ -0,0 +1,64 @@ + + + + + + + /datum/radial_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radial_menu + + + +

+ + + + + + +

Vars

choice_datumschoice_id -> /datum/radial_menu_choice
choicesList of choice IDs
choices_iconschoice_id -> icon
choices_valueschoice_id -> choice
radial_slice_iconA replacement icon state for the generic radial slice bg icon. Doesn't affect the next page nor the center buttons
+

Var Details

choice_datums + + + + +

+

choice_id -> /datum/radial_menu_choice

choices + + + + +

+

List of choice IDs

choices_icons + + + + +

+

choice_id -> icon

choices_values + + + + +

+

choice_id -> choice

radial_slice_icon + + + + +

+

A replacement icon state for the generic radial slice bg icon. Doesn't affect the next page nor the center buttons

+ + + diff --git a/datum/radial_menu/persistent.html b/datum/radial_menu/persistent.html new file mode 100644 index 00000000000..8f7560c72a3 --- /dev/null +++ b/datum/radial_menu/persistent.html @@ -0,0 +1,35 @@ + + + + + + + /datum/radial_menu/persistent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

persistent + + + +

+ + +

Procs

waitVersion of wait used by persistent radial menus.

Proc Details

wait +

+

Version of wait used by persistent radial menus.

+ + + diff --git a/datum/radial_menu_choice.html b/datum/radial_menu_choice.html new file mode 100644 index 00000000000..e4555c9330f --- /dev/null +++ b/datum/radial_menu_choice.html @@ -0,0 +1,50 @@ + + + + + + + /datum/radial_menu_choice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radial_menu_choice + + + +

+ +

Can be provided to choices in radial menus if you want to provide more information

+ + +

Vars

imageRequired -- what to display for this button
infoIf provided, will display an info button that will put this text in your chat
nameIf provided, this will be the name the radial slice hud button. This has priority over everything else.
+

Var Details

image + + + + +

+

Required -- what to display for this button

info + + + + +

+

If provided, will display an info button that will put this text in your chat

name + + + + +

+

If provided, this will be the name the radial slice hud button. This has priority over everything else.

+ + + diff --git a/datum/radio_frequency.html b/datum/radio_frequency.html new file mode 100644 index 00000000000..81e9276b062 --- /dev/null +++ b/datum/radio_frequency.html @@ -0,0 +1,57 @@ + + + + + + + /datum/radio_frequency - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radio_frequency + + + +

+ + + + + +

Vars

devicesList of filters -> list of devices
frequencyThe frequency of this radio frequency. Of course.

Procs

add_listenerHandles adding a listener to the radio frequency.
remove_listenerHandles removing a listener from this radio frequency.
+

Var Details

devices + + + + +

+

List of filters -> list of devices

frequency + + + + +

+

The frequency of this radio frequency. Of course.

Proc Details

add_listener +

+

Handles adding a listener to the radio frequency.

remove_listener +

+

Handles removing a listener from this radio frequency.

+ + + diff --git a/datum/reagent.html b/datum/reagent.html new file mode 100644 index 00000000000..8ae883d87cf --- /dev/null +++ b/datum/reagent.html @@ -0,0 +1,498 @@ + + + + + + + /datum/reagent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagent + + + +

+ +

A single reagent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

addiction_typesAssoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life())
affected_biotypeThe affected biotype, if the reagent damages/heals toxin damage of an affected mob. +See "Mob bio-types flags" in /code/_DEFINES/mobs.dm
affected_bodytypeThe affected bodytype, if the reagent damages/heals bodyparts (Brute/Fire) of an affected mob. +See "Bodytype defines" in /code/_DEFINES/mobs.dm
affected_organ_flagsThe affected organ_flags, if the reagent damages/heals organ damage of an affected mob. +See "Organ defines for carbon mobs" in /code/_DEFINES/surgery.dm
affected_respiration_typeThe affected respiration type, if the reagent damages/heals oxygen damage of an affected mob. +See "Mob bio-types flags" in /code/_DEFINES/mobs.dm
burning_temperaturewhat chem is made at the end of a reaction IF the purity is below the recipies purity_min at the END of a reaction only +Thermodynamic vars +How hot this reagent burns when it's on fire - null means it can't burn
burning_volumeHow much is consumed when it is burnt per second
chemical_flagsSee fermi_readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_INVISIBLE, REAGENT_SNEAKYNAME, REAGENT_SPLITRETAINVOL, REAGENT_CANSYNTH, REAGENT_IMPURE
colorcolor it looks in containers etc
creation_puritythe purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)
current_cycleincrements everytime on_mob_life is called
dataSpecial data associated with the reagent that will be passed on upon transfer to a new holder.
default_containerThe default reagent container for the reagent, used for icon generation
descriptionnor do they have descriptions
fallback_iconIcon for fallback item displayed in a tourist's thought bubble for if this reagent had no associated glass_style datum.
fallback_icon_stateIcon state for fallback item displayed in a tourist's thought bubble for if this reagent had no associated glass_style datum.
glass_priceThe amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!)
holderreagent holder this belongs to
inverse_chemWhat chem is metabolised when purity is below inverse_chem_val
inverse_chem_valIf the impurity is below 0.5, replace ALL of the chem with inverse_chem upon metabolising
massThe molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary.
materialAre we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New()
metabolization_ratehow fast the reagent is metabolized by the mob
metabolizingis it currently metabolizing
namedatums don't have names by default
overdose_thresholdabove this overdoses happen
overdosedYou fucked up and this is now triggering its overdose effects, purge that shit quick.
penetrates_skinThe set of exposure methods this penetrates skin with.
phpH of the reagent
purityPurity of the reagent - for use with internal reaction mechanics only. Use below (creation_purity) if you're writing purity effects into a reagent's use mechanics.
reagent_removal_skip_listA list of causes why this chem should skip being removed, if the length is 0 it will be removed from holder naturally, if this is >0 it will not be removed from the holder.
reagent_stateLIQUID, SOLID, GAS
reagent_weightaffects how far it travels when sprayed
restaurant_orderWhen ordered in a restaurant, what custom order do we create?
self_consumingif false stops metab in liverless mobs
specific_heatJ/(K*mol)
taste_descriptionused by taste messages
taste_multhow this taste compares to others. Higher values means it is more noticable
volumepretend this is moles

Procs

DestroyThis should only be called by the holder, so it's already handled clearing its references
burnCalled whenever a reagent is on fire, or is in a holder that is on fire. (WIP)
expose_atomApplies this reagent to an /atom
expose_mobApplies this reagent to a /mob/living
expose_objApplies this reagent to an /obj
expose_turfApplies this reagent to a /turf
get_inverse_purityGets the inverse purity of this reagent. Mostly used when converting from a normal reagent to it's inverse one.
get_taste_descriptionShould return a associative list where keys are taste descriptions and values are strength ratios
metabolize_reagentMetabolizes a portion of the reagent after on_mob_life() is called
normalise_creation_purityUsed when you want the default reagents purity to be equal to the normal effects +(i.e. if default purity is 0.75, and your reacted purity is 1, then it will return 1.33)
on_burn_wound_processingCalled in burns.dm if the reagent has the REAGENT_AFFECTS_WOUNDS process flag
on_hydroponics_applyCalled when this chemical is processed in a hydroponics tray.
on_mergeCalled when two reagents of the same are mixing.
on_mob_addCalled when this reagent is first added to a mob
on_mob_deadCalled when a reagent is inside of a mob when they are dead if the reagent has the REAGENT_DEAD_PROCESS flag +Returning UPDATE_MOB_HEALTH will cause updatehealth() to be called on the holder mob by /datum/reagents/proc/metabolize.
on_mob_deleteCalled when this reagent is removed while inside a mob
on_mob_end_metabolizeCalled when this reagent stops being metabolized by a liver
on_mob_lifeTicks on mob Life() for as long as the reagent remains in the mob's reagents.
on_mob_metabolizeCalled when this reagent first starts being metabolized by a liver
on_newCalled after add_reagents creates a new reagent.
on_transferCalled after a reagent is transferred
overdose_processCalled if the reagent has passed the overdose threshold and is set to be triggering overdose effects. Returning UPDATE_MOB_HEALTH will cause updatehealth() to be called on the holder mob by /datum/reagents/proc/metabolize.
overdose_startCalled when an overdose starts. Returning UPDATE_MOB_HEALTH will cause updatehealth() to be called on the holder mob by /datum/reagents/proc/metabolize.
+

Var Details

addiction_types + + + + +

+

Assoc list with key type of addiction this reagent feeds, and value amount of addiction points added per unit of reagent metabolzied (which means * REAGENTS_METABOLISM every life())

affected_biotype + + + + +

+

The affected biotype, if the reagent damages/heals toxin damage of an affected mob. +See "Mob bio-types flags" in /code/_DEFINES/mobs.dm

affected_bodytype + + + + +

+

The affected bodytype, if the reagent damages/heals bodyparts (Brute/Fire) of an affected mob. +See "Bodytype defines" in /code/_DEFINES/mobs.dm

affected_organ_flags + + + + +

+

The affected organ_flags, if the reagent damages/heals organ damage of an affected mob. +See "Organ defines for carbon mobs" in /code/_DEFINES/surgery.dm

affected_respiration_type + + + + +

+

The affected respiration type, if the reagent damages/heals oxygen damage of an affected mob. +See "Mob bio-types flags" in /code/_DEFINES/mobs.dm

burning_temperature + + + + +

+

what chem is made at the end of a reaction IF the purity is below the recipies purity_min at the END of a reaction only +Thermodynamic vars +How hot this reagent burns when it's on fire - null means it can't burn

burning_volume + + + + +

+

How much is consumed when it is burnt per second

chemical_flags + + + + +

+

See fermi_readme.dm REAGENT_DEAD_PROCESS, REAGENT_DONOTSPLIT, REAGENT_INVISIBLE, REAGENT_SNEAKYNAME, REAGENT_SPLITRETAINVOL, REAGENT_CANSYNTH, REAGENT_IMPURE

color + + + + +

+

color it looks in containers etc

creation_purity + + + + +

+

the purity of the reagent on creation (i.e. when it's added to a mob and it's purity split it into 2 chems; the purity of the resultant chems are kept as 1, this tracks what the purity was before that)

current_cycle + + + + +

+

increments everytime on_mob_life is called

data + + + + +

+

Special data associated with the reagent that will be passed on upon transfer to a new holder.

default_container + + + + +

+

The default reagent container for the reagent, used for icon generation

description + + + + +

+

nor do they have descriptions

fallback_icon + + + + +

+

Icon for fallback item displayed in a tourist's thought bubble for if this reagent had no associated glass_style datum.

fallback_icon_state + + + + +

+

Icon state for fallback item displayed in a tourist's thought bubble for if this reagent had no associated glass_style datum.

glass_price + + + + +

+

The amount a robot will pay for a glass of this (20 units but can be higher if you pour more, be frugal!)

holder + + + + +

+

reagent holder this belongs to

inverse_chem + + + + +

+

What chem is metabolised when purity is below inverse_chem_val

inverse_chem_val + + + + +

+

If the impurity is below 0.5, replace ALL of the chem with inverse_chem upon metabolising

mass + + + + +

+

The molar mass of the reagent - if you're adding a reagent that doesn't have a recipe, just add a random number between 10 - 800. Higher numbers are "harder" but it's mostly arbitary.

material + + + + +

+

Are we from a material? We might wanna know that for special stuff. Like metalgen. Is replaced with a ref of the material on New()

metabolization_rate + + + + +

+

how fast the reagent is metabolized by the mob

metabolizing + + + + +

+

is it currently metabolizing

name + + + + +

+

datums don't have names by default

overdose_threshold + + + + +

+

above this overdoses happen

overdosed + + + + +

+

You fucked up and this is now triggering its overdose effects, purge that shit quick.

penetrates_skin + + + + +

+

The set of exposure methods this penetrates skin with.

ph + + + + +

+

pH of the reagent

purity + + + + +

+

Purity of the reagent - for use with internal reaction mechanics only. Use below (creation_purity) if you're writing purity effects into a reagent's use mechanics.

reagent_removal_skip_list + + + + +

+

A list of causes why this chem should skip being removed, if the length is 0 it will be removed from holder naturally, if this is >0 it will not be removed from the holder.

reagent_state + + + + +

+

LIQUID, SOLID, GAS

reagent_weight + + + + +

+

affects how far it travels when sprayed

restaurant_order + + + + +

+

When ordered in a restaurant, what custom order do we create?

self_consuming + + + + +

+

if false stops metab in liverless mobs

specific_heat + + + + +

+

J/(K*mol)

taste_description + + + + +

+

used by taste messages

taste_mult + + + + +

+

how this taste compares to others. Higher values means it is more noticable

volume + + + + +

+

pretend this is moles

Proc Details

Destroy +

+

This should only be called by the holder, so it's already handled clearing its references

burn +

+

Called whenever a reagent is on fire, or is in a holder that is on fire. (WIP)

expose_atom +

+

Applies this reagent to an /atom

expose_mob +

+

Applies this reagent to a /mob/living

expose_obj +

+

Applies this reagent to an /obj

expose_turf +

+

Applies this reagent to a /turf

get_inverse_purity +

+

Gets the inverse purity of this reagent. Mostly used when converting from a normal reagent to it's inverse one.

+

Arguments

+

get_taste_description +

+

Should return a associative list where keys are taste descriptions and values are strength ratios

metabolize_reagent +

+

Metabolizes a portion of the reagent after on_mob_life() is called

normalise_creation_purity +

+

Used when you want the default reagents purity to be equal to the normal effects +(i.e. if default purity is 0.75, and your reacted purity is 1, then it will return 1.33)

+

Arguments

+

on_burn_wound_processing +

+

Called in burns.dm if the reagent has the REAGENT_AFFECTS_WOUNDS process flag

on_hydroponics_apply +

+

Called when this chemical is processed in a hydroponics tray.

+

Can affect plant's health, stats, or cause the plant to react in certain ways.

on_merge +

+

Called when two reagents of the same are mixing.

on_mob_add +

+

Called when this reagent is first added to a mob

on_mob_dead +

+

Called when a reagent is inside of a mob when they are dead if the reagent has the REAGENT_DEAD_PROCESS flag +Returning UPDATE_MOB_HEALTH will cause updatehealth() to be called on the holder mob by /datum/reagents/proc/metabolize.

on_mob_delete +

+

Called when this reagent is removed while inside a mob

on_mob_end_metabolize +

+

Called when this reagent stops being metabolized by a liver

on_mob_life +

+

Ticks on mob Life() for as long as the reagent remains in the mob's reagents.

+

Usage: Parent should be called first using . = ..()

+

Exceptions: If the holder var needs to be accessed, call the parent afterward that as it can become null if the reagent is fully removed.

+

Returns: UPDATE_MOB_HEALTH only if you need to update the health of a mob (this is only needed when damage is dealt to the mob)

+

Arguments

+

on_mob_metabolize +

+

Called when this reagent first starts being metabolized by a liver

on_new +

+

Called after add_reagents creates a new reagent.

on_transfer +

+

Called after a reagent is transferred

overdose_process +

+

Called if the reagent has passed the overdose threshold and is set to be triggering overdose effects. Returning UPDATE_MOB_HEALTH will cause updatehealth() to be called on the holder mob by /datum/reagents/proc/metabolize.

overdose_start +

+

Called when an overdose starts. Returning UPDATE_MOB_HEALTH will cause updatehealth() to be called on the holder mob by /datum/reagents/proc/metabolize.

+ + + diff --git a/datum/reagent/ants.html b/datum/reagent/ants.html new file mode 100644 index 00000000000..02f2bbdea9b --- /dev/null +++ b/datum/reagent/ants.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagent/ants - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ants + + + +

+ + + + +

Vars

amount_leftTells the debuff how many ants we are being covered with.
ant_damageHow much damage the ants are going to be doing (rises with each tick the ants are in someone's body)
ant_screamsList of possible common statements to scream when eating ants
+

Var Details

amount_left + + + + +

+

Tells the debuff how many ants we are being covered with.

ant_damage + + + + +

+

How much damage the ants are going to be doing (rises with each tick the ants are in someone's body)

ant_screams + + + + +

+

List of possible common statements to scream when eating ants

+ + + diff --git a/datum/reagent/blob.html b/datum/reagent/blob.html new file mode 100644 index 00000000000..ef015e0a584 --- /dev/null +++ b/datum/reagent/blob.html @@ -0,0 +1,42 @@ + + + + + + + /datum/reagent/blob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blob + + + +

+ + + +

Procs

expose_mobExists to earmark the new overmind arg used by blob reagents.
return_mob_expose_reac_volumeUsed by blob reagents to calculate the reaction volume they should use when exposing mobs.

Proc Details

expose_mob +

+

Exists to earmark the new overmind arg used by blob reagents.

return_mob_expose_reac_volume +

+

Used by blob reagents to calculate the reaction volume they should use when exposing mobs.

+ + + diff --git a/datum/reagent/catalyst_agent.html b/datum/reagent/catalyst_agent.html new file mode 100644 index 00000000000..a1fb7eeb1d3 --- /dev/null +++ b/datum/reagent/catalyst_agent.html @@ -0,0 +1,51 @@ + + + + + + + /datum/reagent/catalyst_agent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

catalyst_agent + + + +

+ +

NICHE +These alter reaction conditions while they're in the beaker

+ + +

Vars

min_volumeThe minimumvolume required in the beaker for them to have an effect
modifierThe value in which the associated type is modified
target_reagent_typeThe typepath of the reagent they that they affect
+

Var Details

min_volume + + + + +

+

The minimumvolume required in the beaker for them to have an effect

modifier + + + + +

+

The value in which the associated type is modified

target_reagent_type + + + + +

+

The typepath of the reagent they that they affect

+ + + diff --git a/datum/reagent/colorful_reagent.html b/datum/reagent/colorful_reagent.html new file mode 100644 index 00000000000..4d4b08c3fcc --- /dev/null +++ b/datum/reagent/colorful_reagent.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/colorful_reagent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

colorful_reagent + + + +

+ + +

Procs

expose_atomColors anything it touches a random color.

Proc Details

expose_atom +

+

Colors anything it touches a random color.

+ + + diff --git a/datum/reagent/consumable.html b/datum/reagent/consumable.html new file mode 100644 index 00000000000..fd057bb2330 --- /dev/null +++ b/datum/reagent/consumable.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagent/consumable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

consumable + + + +

+ + + + +

Vars

nutriment_factorHow much nutrition this reagent supplies
qualityaffects mood, typically higher for mixed drinks with more complex recipes'

Procs

get_nutriment_factorGets just how much nutrition this reagent is worth for the passed mob
+

Var Details

nutriment_factor + + + + +

+

How much nutrition this reagent supplies

quality + + + + +

+

affects mood, typically higher for mixed drinks with more complex recipes'

Proc Details

get_nutriment_factor +

+

Gets just how much nutrition this reagent is worth for the passed mob

+ + + diff --git a/datum/reagent/consumable/ethanol.html b/datum/reagent/consumable/ethanol.html new file mode 100644 index 00000000000..7ac1b38d2bf --- /dev/null +++ b/datum/reagent/consumable/ethanol.html @@ -0,0 +1,55 @@ + + + + + + + /datum/reagent/consumable/ethanol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ethanol + + + +

+ + +

Vars

boozepwrBoozepwr Chart
+

Var Details

boozepwr + + + + +

+

Boozepwr Chart

+

Higher numbers equal higher hardness, higher hardness equals more intense alcohol poisoning

+

Note that all higher effects of alcohol poisoning will inherit effects for smaller amounts +(i.e. light poisoning inherts from slight poisoning) +In addition, severe effects won't always trigger unless the drink is poisonously strong +All effects don't start immediately, but rather get worse over time; the rate is affected by the imbiber's alcohol tolerance +(see /datum/status_effect/inebriated)

+
+ + + diff --git a/datum/reagent/consumable/ethanol/demonsblood.html b/datum/reagent/consumable/ethanol/demonsblood.html new file mode 100644 index 00000000000..055c5fffa12 --- /dev/null +++ b/datum/reagent/consumable/ethanol/demonsblood.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/consumable/ethanol/demonsblood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

demonsblood + + + +

+ + +

Procs

pre_bloodcrawl_consumedPrevents the imbiber from being dragged into a pool of blood by a slaughter demon.

Proc Details

pre_bloodcrawl_consumed +

+

Prevents the imbiber from being dragged into a pool of blood by a slaughter demon.

+ + + diff --git a/datum/reagent/consumable/ethanol/devilskiss.html b/datum/reagent/consumable/ethanol/devilskiss.html new file mode 100644 index 00000000000..47cc2dd9777 --- /dev/null +++ b/datum/reagent/consumable/ethanol/devilskiss.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/consumable/ethanol/devilskiss - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

devilskiss + + + +

+ + +

Procs

on_bloodcrawl_consumedIf eaten by a slaughter demon, the demon will regret it.

Proc Details

on_bloodcrawl_consumed +

+

If eaten by a slaughter demon, the demon will regret it.

+ + + diff --git a/datum/reagent/consumable/frostoil.html b/datum/reagent/consumable/frostoil.html new file mode 100644 index 00000000000..55d6429168d --- /dev/null +++ b/datum/reagent/consumable/frostoil.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/consumable/frostoil - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

frostoil + + + +

+ + +

Vars

specific_heat40 joules per unit.
+

Var Details

specific_heat + + + + +

+

40 joules per unit.

+ + + diff --git a/datum/reagent/consumable/nutriment/cloth_fibers.html b/datum/reagent/consumable/nutriment/cloth_fibers.html new file mode 100644 index 00000000000..08d0db160f4 --- /dev/null +++ b/datum/reagent/consumable/nutriment/cloth_fibers.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/consumable/nutriment/cloth_fibers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cloth_fibers + + + +

+ + +

Vars

delayed_satiety_drainAmount of satiety that will be drained when the cloth_fibers is fully metabolized
+

Var Details

delayed_satiety_drain + + + + +

+

Amount of satiety that will be drained when the cloth_fibers is fully metabolized

+ + + diff --git a/datum/reagent/consumable/rootbeer.html b/datum/reagent/consumable/rootbeer.html new file mode 100644 index 00000000000..7dbc8e347eb --- /dev/null +++ b/datum/reagent/consumable/rootbeer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/consumable/rootbeer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rootbeer + + + +

+ + +

Vars

effect_enabledIf we activated the effect
+

Var Details

effect_enabled + + + + +

+

If we activated the effect

+ + + diff --git a/datum/reagent/determination.html b/datum/reagent/determination.html new file mode 100644 index 00000000000..242e001db17 --- /dev/null +++ b/datum/reagent/determination.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/determination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

determination + + + +

+ + +

Vars

significantWhether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound
+

Var Details

significant + + + + +

+

Whether we've had at least WOUND_DETERMINATION_SEVERE (2.5u) of determination at any given time. No damage slowdown immunity or indication we're having a second wind if it's just a single moderate wound

+ + + diff --git a/datum/reagent/drug/blastoff.html b/datum/reagent/drug/blastoff.html new file mode 100644 index 00000000000..f7c1c7caed4 --- /dev/null +++ b/datum/reagent/drug/blastoff.html @@ -0,0 +1,64 @@ + + + + + + + /datum/reagent/drug/blastoff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blastoff + + + +

+ + + + + + +

Vars

flip_countHow many flips have we done so far?
spin_countHow many spin have we done so far?
super_flip_requirementHow many flips for a super flip?

Procs

on_flipThis proc listens to the flip signal and throws the mob every third flip
on_spinThis proc listens to the spin signal and throws the mob every third spin
+

Var Details

flip_count + + + + +

+

How many flips have we done so far?

spin_count + + + + +

+

How many spin have we done so far?

super_flip_requirement + + + + +

+

How many flips for a super flip?

Proc Details

on_flip +

+

This proc listens to the flip signal and throws the mob every third flip

on_spin +

+

This proc listens to the spin signal and throws the mob every third spin

+ + + diff --git a/datum/reagent/drug/saturnx.html b/datum/reagent/drug/saturnx.html new file mode 100644 index 00000000000..3f1ffceabf3 --- /dev/null +++ b/datum/reagent/drug/saturnx.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/drug/saturnx - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

saturnx + + + +

+ + +

Procs

turn_man_invisibleThis proc turns the living mob passed as the arg "invisible_man"s invisible by giving him the invisible man trait and updating his body, this changes the sprite of all his organic limbs to a 1 alpha version.

Proc Details

turn_man_invisible +

+

This proc turns the living mob passed as the arg "invisible_man"s invisible by giving him the invisible man trait and updating his body, this changes the sprite of all his organic limbs to a 1 alpha version.

+ + + diff --git a/datum/reagent/eigenstate.html b/datum/reagent/eigenstate.html new file mode 100644 index 00000000000..d5b70fbd447 --- /dev/null +++ b/datum/reagent/eigenstate.html @@ -0,0 +1,57 @@ + + + + + + + /datum/reagent/eigenstate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eigenstate + + + +

+ + + + + +

Vars

eigenstateThe return point indicator
location_createdThe creation point assigned during the reaction
location_returnThe point you're returning to after the reagent is removed

Procs

expose_turfLets you link lockers together
+

Var Details

eigenstate + + + + +

+

The return point indicator

location_created + + + + +

+

The creation point assigned during the reaction

location_return + + + + +

+

The point you're returning to after the reagent is removed

Proc Details

expose_turf +

+

Lets you link lockers together

+ + + diff --git a/datum/reagent/impurity/aiuri.html b/datum/reagent/impurity/aiuri.html new file mode 100644 index 00000000000..da3d446e68a --- /dev/null +++ b/datum/reagent/impurity/aiuri.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/impurity/aiuri - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

aiuri + + + +

+ + +

Vars

amount_of_blur_appliedblurriness at the start of taking the med
+

Var Details

amount_of_blur_applied + + + + +

+

blurriness at the start of taking the med

+ + + diff --git a/datum/reagent/impurity/inacusiate.html b/datum/reagent/impurity/inacusiate.html new file mode 100644 index 00000000000..55a51df6b87 --- /dev/null +++ b/datum/reagent/impurity/inacusiate.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/impurity/inacusiate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

inacusiate + + + +

+ + +

Vars

randomSpanThe random span we start hearing in
+

Var Details

randomSpan + + + + +

+

The random span we start hearing in

+ + + diff --git a/datum/reagent/impurity/mannitol.html b/datum/reagent/impurity/mannitol.html new file mode 100644 index 00000000000..1359efe7ff2 --- /dev/null +++ b/datum/reagent/impurity/mannitol.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/impurity/mannitol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mannitol + + + +

+ + +

Vars

speech_optionThe speech we're forcing on the affected mob
+

Var Details

speech_option + + + + +

+

The speech we're forcing on the affected mob

+ + + diff --git a/datum/reagent/inverse.html b/datum/reagent/inverse.html new file mode 100644 index 00000000000..9b181c3720c --- /dev/null +++ b/datum/reagent/inverse.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/inverse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

inverse + + + +

+ + +

Vars

tox_damagehow much this reagent does for tox damage too
+

Var Details

tox_damage + + + + +

+

how much this reagent does for tox damage too

+ + + diff --git a/datum/reagent/inverse/corazargh.html b/datum/reagent/inverse/corazargh.html new file mode 100644 index 00000000000..936d62a0320 --- /dev/null +++ b/datum/reagent/inverse/corazargh.html @@ -0,0 +1,42 @@ + + + + + + + /datum/reagent/inverse/corazargh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

corazargh + + + +

+ + + +

Procs

on_mob_end_metabolizeWe're done - remove the curse
on_mob_metabolizeGive the victim the manual heart beating component.

Proc Details

on_mob_end_metabolize +

+

We're done - remove the curse

on_mob_metabolize +

+

Give the victim the manual heart beating component.

+ + + diff --git a/datum/reagent/inverse/cryostylane.html b/datum/reagent/inverse/cryostylane.html new file mode 100644 index 00000000000..3cf419b91dd --- /dev/null +++ b/datum/reagent/inverse/cryostylane.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/inverse/cryostylane - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cryostylane + + + +

+ + +

Vars

cubeThe cube we're stasis'd in
+

Var Details

cube + + + + +

+

The cube we're stasis'd in

+ + + diff --git a/datum/reagent/inverse/healing/syriniver.html b/datum/reagent/inverse/healing/syriniver.html new file mode 100644 index 00000000000..1acf42bb374 --- /dev/null +++ b/datum/reagent/inverse/healing/syriniver.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/inverse/healing/syriniver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syriniver + + + +

+ + +

Vars

cached_reagent_listThe list of reagents we've affected
+

Var Details

cached_reagent_list + + + + +

+

The list of reagents we've affected

+ + + diff --git a/datum/reagent/inverse/ichiyuri.html b/datum/reagent/inverse/ichiyuri.html new file mode 100644 index 00000000000..a496b972e7f --- /dev/null +++ b/datum/reagent/inverse/ichiyuri.html @@ -0,0 +1,43 @@ + + + + + + + /datum/reagent/inverse/ichiyuri - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ichiyuri + + + +

+ + + +

Vars

resetting_probabilityProbability of scratch - increases as a function of time
spammerPrevents message spam
+

Var Details

resetting_probability + + + + +

+

Probability of scratch - increases as a function of time

spammer + + + + +

+

Prevents message spam

+ + + diff --git a/datum/reagent/inverse/oculine.html b/datum/reagent/inverse/oculine.html new file mode 100644 index 00000000000..090ed007c64 --- /dev/null +++ b/datum/reagent/inverse/oculine.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/inverse/oculine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

oculine + + + +

+ + +

Vars

headacheDid we get a headache?
+

Var Details

headache + + + + +

+

Did we get a headache?

+ + + diff --git a/datum/reagent/inverse/penthrite.html b/datum/reagent/inverse/penthrite.html new file mode 100644 index 00000000000..06714849523 --- /dev/null +++ b/datum/reagent/inverse/penthrite.html @@ -0,0 +1,47 @@ + + + + + + + /datum/reagent/inverse/penthrite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

penthrite + + + +

+ +

Can bring a corpse back to life temporarily (if heart is intact) +Makes wounds bleed more, if it brought someone back, they take additional brute and heart damage +They can't die during this, but if they're past crit then take increasing stamina damage +If they're past fullcrit, their movement is slowed by half +If they OD, their heart explodes (if they were brought back from the dead)

+ +

Vars

back_from_the_deadIf we brought someone back from the dead
trait_buffsList of trait buffs to give to the affected mob, and remove as needed.
+

Var Details

back_from_the_dead + + + + +

+

If we brought someone back from the dead

trait_buffs + + + + +

+

List of trait buffs to give to the affected mob, and remove as needed.

+ + + diff --git a/datum/reagent/lube.html b/datum/reagent/lube.html new file mode 100644 index 00000000000..53e66ba165f --- /dev/null +++ b/datum/reagent/lube.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/lube - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lube + + + +

+ +

Used for clownery

+

Vars

chemical_flagsWhat kind of slipperiness gets added to turfs
+

Var Details

chemical_flags + + + + +

+

What kind of slipperiness gets added to turfs

+ + + diff --git a/datum/reagent/medicine/adminordrazine.html b/datum/reagent/medicine/adminordrazine.html new file mode 100644 index 00000000000..3047857f36d --- /dev/null +++ b/datum/reagent/medicine/adminordrazine.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/adminordrazine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

adminordrazine + + + +

+ + +

Vars

full_heal_flagsFlags to fullheal every metabolism tick
+

Var Details

full_heal_flags + + + + +

+

Flags to fullheal every metabolism tick

+ + + diff --git a/datum/reagent/medicine/antihol.html b/datum/reagent/medicine/antihol.html new file mode 100644 index 00000000000..b99a91ba523 --- /dev/null +++ b/datum/reagent/medicine/antihol.html @@ -0,0 +1,38 @@ + + + + + + + /datum/reagent/medicine/antihol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

antihol + + + +

+ + +

Vars

status_effects_to_clearAll status effects we remove on metabolize. +Does not include drunk (despite what you may thing) as that's decresed gradually
+

Var Details

status_effects_to_clear + + + + +

+

All status effects we remove on metabolize. +Does not include drunk (despite what you may thing) as that's decresed gradually

+ + + diff --git a/datum/reagent/medicine/c2/penthrite.html b/datum/reagent/medicine/c2/penthrite.html new file mode 100644 index 00000000000..0a919448c47 --- /dev/null +++ b/datum/reagent/medicine/c2/penthrite.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/c2/penthrite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

penthrite + + + +

+ +

ORGAN HEALING

+

Vars

subject_traitsList of traits to add/remove from our subject when we are in their system
+

Var Details

subject_traits + + + + +

+

List of traits to add/remove from our subject when we are in their system

+ + + diff --git a/datum/reagent/medicine/c2/seiver.html b/datum/reagent/medicine/c2/seiver.html new file mode 100644 index 00000000000..196f474d471 --- /dev/null +++ b/datum/reagent/medicine/c2/seiver.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/c2/seiver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

seiver + + + +

+ +

TOXIN

+

Vars

rads_heal_thresholdTemperatures below this number give radiation healing.
+

Var Details

rads_heal_threshold + + + + +

+

Temperatures below this number give radiation healing.

+ + + diff --git a/datum/reagent/medicine/c2/tirimol.html b/datum/reagent/medicine/c2/tirimol.html new file mode 100644 index 00000000000..f73f21bf32c --- /dev/null +++ b/datum/reagent/medicine/c2/tirimol.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/c2/tirimol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tirimol + + + +

+ + +

Vars

drowsycdA cooldown for spacing bursts of stamina damage
+

Var Details

drowsycd + + + + +

+

A cooldown for spacing bursts of stamina damage

+ + + diff --git a/datum/reagent/medicine/coagulant.html b/datum/reagent/medicine/coagulant.html new file mode 100644 index 00000000000..2e26ad579e2 --- /dev/null +++ b/datum/reagent/medicine/coagulant.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagent/medicine/coagulant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

coagulant + + + +

+ + + + +

Vars

clot_rateThe bloodiest wound that the patient has will have its blood_flow reduced by about half this much each second
passive_bleed_modifierWhile this reagent is in our bloodstream, we reduce all bleeding by this factor
was_workingFor tracking when we tell the person we're no longer bleeding
+

Var Details

clot_rate + + + + +

+

The bloodiest wound that the patient has will have its blood_flow reduced by about half this much each second

passive_bleed_modifier + + + + +

+

While this reagent is in our bloodstream, we reduce all bleeding by this factor

was_working + + + + +

+

For tracking when we tell the person we're no longer bleeding

+ + + diff --git a/datum/reagent/medicine/earthsblood.html b/datum/reagent/medicine/earthsblood.html new file mode 100644 index 00000000000..94cbef6cb12 --- /dev/null +++ b/datum/reagent/medicine/earthsblood.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/medicine/earthsblood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

earthsblood + + + +

+ + +

Procs

return_hippie_lineReturns a hippie-esque string for the person affected by the reagent to say.

Proc Details

return_hippie_line +

+

Returns a hippie-esque string for the person affected by the reagent to say.

+ + + diff --git a/datum/reagent/medicine/neurine.html b/datum/reagent/medicine/neurine.html new file mode 100644 index 00000000000..226fd028d9d --- /dev/null +++ b/datum/reagent/medicine/neurine.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/neurine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

neurine + + + +

+ + +

Vars

initial_bdamagebrain damage level when we first started taking the chem
+

Var Details

initial_bdamage + + + + +

+

brain damage level when we first started taking the chem

+ + + diff --git a/datum/reagent/medicine/oculine.html b/datum/reagent/medicine/oculine.html new file mode 100644 index 00000000000..138c451e98d --- /dev/null +++ b/datum/reagent/medicine/oculine.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/medicine/oculine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

oculine + + + +

+ + +

Vars

delta_lightThe lighting alpha that the mob had on addition
+

Var Details

delta_light + + + + +

+

The lighting alpha that the mob had on addition

+ + + diff --git a/datum/reagent/medicine/strange_reagent.html b/datum/reagent/medicine/strange_reagent.html new file mode 100644 index 00000000000..571b6a428a0 --- /dev/null +++ b/datum/reagent/medicine/strange_reagent.html @@ -0,0 +1,71 @@ + + + + + + + /datum/reagent/medicine/strange_reagent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

strange_reagent + + + +

+ + + + + + + +

Vars

excess_healing_ratioThe ratio of the excess reagent used to contribute to excess healing
healing_per_reagent_unitThe amount of damage a single unit of this will heal
instantDo we instantly revive
max_revive_damage_ratioThe maximum amount of damage we can revive from, as a ratio of max health

Procs

calculate_amount_needed_to_full_healCalculates the amount of reagent that will be needed to both revive and full heal the target. Looks at healing_per_reagent_unit and excess_healing_ratio
calculate_amount_needed_to_reviveCalculates the amount of reagent to at a bare minimum make the target not dead
+

Var Details

excess_healing_ratio + + + + +

+

The ratio of the excess reagent used to contribute to excess healing

healing_per_reagent_unit + + + + +

+

The amount of damage a single unit of this will heal

instant + + + + +

+

Do we instantly revive

max_revive_damage_ratio + + + + +

+

The maximum amount of damage we can revive from, as a ratio of max health

Proc Details

calculate_amount_needed_to_full_heal +

+

Calculates the amount of reagent that will be needed to both revive and full heal the target. Looks at healing_per_reagent_unit and excess_healing_ratio

calculate_amount_needed_to_revive +

+

Calculates the amount of reagent to at a bare minimum make the target not dead

+ + + diff --git a/datum/reagent/metalgen.html b/datum/reagent/metalgen.html new file mode 100644 index 00000000000..e77d94b52d6 --- /dev/null +++ b/datum/reagent/metalgen.html @@ -0,0 +1,50 @@ + + + + + + + /datum/reagent/metalgen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

metalgen + + + +

+ + + + +

Vars

applied_material_flagsThe material flags used to apply the transmuted materials
default_material_amountThe amount of materials to apply to the transmuted objects if they don't contain materials

Procs

metal_morphturn an object into a special material
+

Var Details

applied_material_flags + + + + +

+

The material flags used to apply the transmuted materials

default_material_amount + + + + +

+

The amount of materials to apply to the transmuted objects if they don't contain materials

Proc Details

metal_morph +

+

turn an object into a special material

+ + + diff --git a/datum/reagent/toxin.html b/datum/reagent/toxin.html new file mode 100644 index 00000000000..5393353e03c --- /dev/null +++ b/datum/reagent/toxin.html @@ -0,0 +1,57 @@ + + + + + + + /datum/reagent/toxin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

toxin + + + +

+ +

Poison stuff (Toxins & Acids)

+ + + +

Vars

health_requiredThe afflicted must be above this health value in order for the toxin to deal damage
liver_damage_multiplierThe amount to multiply the liver damage this toxin does by (Handled solely in liver code)
silent_toxinwon't produce a pain message when processed by liver/life() if there isn't another non-silent toxin present if true
toxpwrThe amount of toxin damage this will cause when metabolized (also used to calculate liver damage)
+

Var Details

health_required + + + + +

+

The afflicted must be above this health value in order for the toxin to deal damage

liver_damage_multiplier + + + + +

+

The amount to multiply the liver damage this toxin does by (Handled solely in liver code)

silent_toxin + + + + +

+

won't produce a pain message when processed by liver/life() if there isn't another non-silent toxin present if true

toxpwr + + + + +

+

The amount of toxin damage this will cause when metabolized (also used to calculate liver damage)

+ + + diff --git a/datum/reagent/toxin/plasma.html b/datum/reagent/toxin/plasma.html new file mode 100644 index 00000000000..b722360791d --- /dev/null +++ b/datum/reagent/toxin/plasma.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/toxin/plasma - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

plasma + + + +

+ + +

Procs

on_temp_changeHandles plasma boiling.

Proc Details

on_temp_change +

+

Handles plasma boiling.

+ + + diff --git a/datum/reagent/toxin/venom.html b/datum/reagent/toxin/venom.html new file mode 100644 index 00000000000..f6519ef64ab --- /dev/null +++ b/datum/reagent/toxin/venom.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/toxin/venom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

venom + + + +

+ + +

Vars

current_sizeMob Size of the current mob sprite.
+

Var Details

current_size + + + + +

+

Mob Size of the current mob sprite.

+ + + diff --git a/datum/reagent/uranium.html b/datum/reagent/uranium.html new file mode 100644 index 00000000000..ef7e06caeda --- /dev/null +++ b/datum/reagent/uranium.html @@ -0,0 +1,36 @@ + + + + + + + /datum/reagent/uranium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uranium + + + +

+ + +

Vars

tox_damageHow much tox damage to deal per tick
+

Var Details

tox_damage + + + + +

+

How much tox damage to deal per tick

+ + + diff --git a/datum/reagent/water.html b/datum/reagent/water.html new file mode 100644 index 00000000000..1409047df2b --- /dev/null +++ b/datum/reagent/water.html @@ -0,0 +1,35 @@ + + + + + + + /datum/reagent/water - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

water + + + +

+ + +

Procs

expose_mobWater reaction to a mob

Proc Details

expose_mob +

+

Water reaction to a mob

+ + + diff --git a/datum/reagents.html b/datum/reagents.html new file mode 100644 index 00000000000..16883e5caed --- /dev/null +++ b/datum/reagents.html @@ -0,0 +1,624 @@ + + + + + + + /datum/reagents - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagents + + + +

+ +

////////////////////////////Main reagents code///////////////////////////////////////////// +Holder for a bunch of /datum/reagent

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

chem_tempCurrent temp of the holder volume
failed_but_capable_reactionsIf a reaction fails due to temperature or pH, this tracks the required temperature or pH for it to be enabled.
flagsvarious flags, see code__DEFINES\reagents.dm
is_reactingHard check to see if the reagents is presently reacting
maximum_volumeMax volume of this holder
my_atomThe atom this holder is attached to
phpH of the whole system
previous_reagent_listcached list of reagents typepaths (not object references), this is a lazylist for optimisation
reaction_listlist of reactions currently on going, this is a lazylist for optimisation
reagent_listThe reagents being held
total_volumeCurrent volume of all the reagents
ui_beaker_syncIf we're syncing with the beaker - so return reactions that are actively happening
ui_reaction_idUI lookup stuff +Keeps the id of the reaction displayed in the ui
ui_reaction_indexWhat index we're at if we have multiple reactions for a reagent product
ui_reagent_idKeeps the id of the reagent displayed in the ui
ui_tags_selectedThe bitflag of the currently selected tags in the ui

Procs

add_reagentAdds a reagent to this holder
add_reagent_listLike add_reagent but you can enter a list. +Arguments
adjust_thermal_energy
clear_reagentsRemoves all reagents
convert_reagentTurn one reagent into another, preserving volume, temp, purity, ph +Arguments
copy_dataShallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent +Arguments +current_reagent - the reagent(not typepath) to copy data from
copy_toCopies the reagents to the target object +Arguments
del_reagentRemoves an specific reagent from this holder +Arguments
determine_reaction_thermicsReturns a string descriptor of a reactions themic_constant
end_metabolizationSignals that metabolization has stopped, triggering the end of trait-based effects +Arguments
exposeApplies the relevant expose_ proc for every reagent in this holder
expose_temperatureApplies heat to this holder +Arguments
generate_taste_messageReturns what this holder's reagents taste like
generate_thermodynamic_profileGenerates a (rough) rate vs temperature graph profile
get_average_purityGet the average purity of all reagents (or all subtypes of provided typepath) +Arguments
get_external_reagent_log_stringOutputs a log-friendly list of reagents based on an external reagent list.
get_master_reagentGet a reference to the reagent there is the most of in this holder
get_reagent_amountGet the amount of this reagent or the sum of all its subtypes if specified +Arguments
get_reagent_log_stringOutputs a log-friendly list of reagents based on the internal reagent_list.
get_reagent_purityGet the purity of this reagent +Arguments
handle_reactionsHandle any reactions possible in this holder +Also UPDATES the reaction list +High potential for infinite loopsa if you're editing this.
handle_stasis_chemsProcesses any chems that have the REAGENT_IGNORE_STASIS bitflag ONLY +Arguments
has_changed_stateChecks to see if the reagents has a difference in reagents_list and previous_reagent_list (I.e. if there's a difference between the previous call and the last) +Also checks to see if the saved reactions in failed_but_capable_reactions can start as a result of temp/pH change
has_reagentReturns a reagent from this holder if it matches all the specified arguments +Arguments
heat_capacityReturns the total heat capacity for all of the reagents currently in this holder.
holder_fullIs this holder full or not
instant_reactOld reaction mechanics, edited to work on one only +This is changed from the old - purity of the reagents will affect yield
metabolizeTriggers metabolizing for all the reagents in this holder
multiply_reagentsMultiplies the reagents inside this holder by a specific amount +Arguments
process_mob_reagent_purityProcesses the reagents in the holder and converts them, only called in a mob/living/carbon on addition
remove_allRemoves all reagents by an amount equal to +[amount specified] / total volume present in this holder +Arguments
remove_anyRemoves a reagent at random and by a random quantity till the specified amount has been removed. +Used to create a shower/spray effect for e.g. when you spill a bottle or turn a shower on +and you want an chaotic effect of whatever coming out +Arguments
remove_reagentRemoves a specific reagent. can supress reactions if needed +Arguments
set_all_reagents_purityDirectly set the purity of all contained reagents to a new value +Arguments
set_temperature
trans_toTransfer some stuff from this holder to a target object
update_totalUpdates /datum/reagents/var/total_volume
+

Var Details

chem_temp + + + + +

+

Current temp of the holder volume

failed_but_capable_reactions + + + + +

+

If a reaction fails due to temperature or pH, this tracks the required temperature or pH for it to be enabled.

flags + + + + +

+

various flags, see code__DEFINES\reagents.dm

is_reacting + + + + +

+

Hard check to see if the reagents is presently reacting

maximum_volume + + + + +

+

Max volume of this holder

my_atom + + + + +

+

The atom this holder is attached to

ph + + + + +

+

pH of the whole system

previous_reagent_list + + + + +

+

cached list of reagents typepaths (not object references), this is a lazylist for optimisation

reaction_list + + + + +

+

list of reactions currently on going, this is a lazylist for optimisation

reagent_list + + + + +

+

The reagents being held

total_volume + + + + +

+

Current volume of all the reagents

ui_beaker_sync + + + + +

+

If we're syncing with the beaker - so return reactions that are actively happening

ui_reaction_id + + + + +

+

UI lookup stuff +Keeps the id of the reaction displayed in the ui

ui_reaction_index + + + + +

+

What index we're at if we have multiple reactions for a reagent product

ui_reagent_id + + + + +

+

Keeps the id of the reagent displayed in the ui

ui_tags_selected + + + + +

+

The bitflag of the currently selected tags in the ui

Proc Details

add_reagent +

+

Adds a reagent to this holder

+

Arguments:

+

add_reagent_list +

+

Like add_reagent but you can enter a list. +Arguments

+

adjust_thermal_energy +

+

clear_reagents +

+

Removes all reagents

convert_reagent +

+

Turn one reagent into another, preserving volume, temp, purity, ph +Arguments

+

copy_data +

+

Shallow copies (deep copy of viruses) data from the provided reagent into our copy of that reagent +Arguments +current_reagent - the reagent(not typepath) to copy data from

copy_to +

+

Copies the reagents to the target object +Arguments

+

del_reagent +

+

Removes an specific reagent from this holder +Arguments

+

determine_reaction_thermics +

+

Returns a string descriptor of a reactions themic_constant

end_metabolization +

+

Signals that metabolization has stopped, triggering the end of trait-based effects +Arguments

+

expose +

+

Applies the relevant expose_ proc for every reagent in this holder

+ +

Arguments

+

expose_temperature +

+

Applies heat to this holder +Arguments

+

generate_taste_message +

+

Returns what this holder's reagents taste like

+

Arguments:

+

generate_thermodynamic_profile +

+

Generates a (rough) rate vs temperature graph profile

get_average_purity +

+

Get the average purity of all reagents (or all subtypes of provided typepath) +Arguments

+

get_external_reagent_log_string +

+

Outputs a log-friendly list of reagents based on an external reagent list.

+

Arguments:

+

get_master_reagent +

+

Get a reference to the reagent there is the most of in this holder

get_reagent_amount +

+

Get the amount of this reagent or the sum of all its subtypes if specified +Arguments

+

get_reagent_log_string +

+

Outputs a log-friendly list of reagents based on the internal reagent_list.

get_reagent_purity +

+

Get the purity of this reagent +Arguments

+

handle_reactions +

+

Handle any reactions possible in this holder +Also UPDATES the reaction list +High potential for infinite loopsa if you're editing this.

handle_stasis_chems +

+

Processes any chems that have the REAGENT_IGNORE_STASIS bitflag ONLY +Arguments

+

has_changed_state +

+

Checks to see if the reagents has a difference in reagents_list and previous_reagent_list (I.e. if there's a difference between the previous call and the last) +Also checks to see if the saved reactions in failed_but_capable_reactions can start as a result of temp/pH change

has_reagent +

+

Returns a reagent from this holder if it matches all the specified arguments +Arguments

+

heat_capacity +

+

Returns the total heat capacity for all of the reagents currently in this holder.

holder_full +

+

Is this holder full or not

instant_react +

+

Old reaction mechanics, edited to work on one only +This is changed from the old - purity of the reagents will affect yield

+

Arguments

+

metabolize +

+

Triggers metabolizing for all the reagents in this holder

+

Arguments:

+

multiply_reagents +

+

Multiplies the reagents inside this holder by a specific amount +Arguments

+

process_mob_reagent_purity +

+

Processes the reagents in the holder and converts them, only called in a mob/living/carbon on addition

+

Arguments:

+

remove_all +

+

Removes all reagents by an amount equal to +[amount specified] / total volume present in this holder +Arguments

+

remove_any +

+

Removes a reagent at random and by a random quantity till the specified amount has been removed. +Used to create a shower/spray effect for e.g. when you spill a bottle or turn a shower on +and you want an chaotic effect of whatever coming out +Arguments

+

remove_reagent +

+

Removes a specific reagent. can supress reactions if needed +Arguments

+

set_all_reagents_purity +

+

Directly set the purity of all contained reagents to a new value +Arguments

+

set_temperature +

+

trans_to +

+

Transfer some stuff from this holder to a target object

+

Arguments:

+

update_total +

+

Updates /datum/reagents/var/total_volume

+ + + diff --git a/datum/reality_smash_tracker.html b/datum/reality_smash_tracker.html new file mode 100644 index 00000000000..1a9fa9fec1e --- /dev/null +++ b/datum/reality_smash_tracker.html @@ -0,0 +1,105 @@ + + + + + + + /datum/reality_smash_tracker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reality_smash_tracker + + + +

+ +

#Reality smash tracker

+

A global singleton data that tracks all the heretic +influences ("reality smashes") that we've created, +and all of the heretics (minds) that can see them.

+

Handles ensuring all minds can see influences, generating +new influences for new heretic minds, and allowing heretics +to see new influences that are created.

+ + + + + + + + +

Vars

num_drainedThe total number of influences that have been drained, for tracking.
smashesList of tracked influences (reality smashes)
tracked_hereticsList of minds with the ability to see influences

Procs

add_to_smashesAllow [to_add] to see all tracked reality smashes.
add_tracked_mindAdds a mind to the list of people that can see the reality smashes
generate_new_influencesGenerates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.
remove_from_smashesStop [to_remove] from seeing any tracked reality smashes.
remove_tracked_mindRemoves a mind from the list of people that can see the reality smashes
rework_networkAutomatically fixes the target and smash network
+

Var Details

num_drained + + + + +

+

The total number of influences that have been drained, for tracking.

smashes + + + + +

+

List of tracked influences (reality smashes)

tracked_heretics + + + + +

+

List of minds with the ability to see influences

Proc Details

add_to_smashes +

+

Allow [to_add] to see all tracked reality smashes.

add_tracked_mind +

+

Adds a mind to the list of people that can see the reality smashes

+

Use this whenever you want to add someone to the list

generate_new_influences +

+

Generates a set amount of reality smashes +based on the number of already existing smashes +and the number of minds we're tracking.

remove_from_smashes +

+

Stop [to_remove] from seeing any tracked reality smashes.

remove_tracked_mind +

+

Removes a mind from the list of people that can see the reality smashes

+

Use this whenever you want to remove someone from the list

rework_network +

+

Automatically fixes the target and smash network

+

Fixes any bugs that are caused by late Generate() or exchanging clients

+ + + diff --git a/datum/record.html b/datum/record.html new file mode 100644 index 00000000000..5fa473ae1c2 --- /dev/null +++ b/datum/record.html @@ -0,0 +1,113 @@ + + + + + + + /datum/record - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

record + + + +

+ +

Record datum. Used for crew records and admin locked records.

+ + + + + + + + + + + +

Vars

ageAge of the character
blood_typeTheir blood type
character_appearanceCharacter appearance
dna_stringDNA string
fingerprintFingerprint string (md5)
genderThe character's gender
initial_rankThe character's initial rank at roundstart
nameThe character's name
rankThe character's rank
speciesThe character's species
trimThe character's ID trim
voiceThe character's voice, if they have one.
+

Var Details

age + + + + +

+

Age of the character

blood_type + + + + +

+

Their blood type

character_appearance + + + + +

+

Character appearance

dna_string + + + + +

+

DNA string

fingerprint + + + + +

+

Fingerprint string (md5)

gender + + + + +

+

The character's gender

initial_rank + + + + +

+

The character's initial rank at roundstart

name + + + + +

+

The character's name

rank + + + + +

+

The character's rank

species + + + + +

+

The character's species

trim + + + + +

+

The character's ID trim

voice + + + + +

+

The character's voice, if they have one.

+ + + diff --git a/datum/record/crew.html b/datum/record/crew.html new file mode 100644 index 00000000000..03a768f37bc --- /dev/null +++ b/datum/record/crew.html @@ -0,0 +1,174 @@ + + + + + + + /datum/record/crew - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crew + + + +

+ +

Crew record datum

+ + + + + + + + + + + + + + + + + +

Vars

citationsList of citations
crimesList of crimes
lock_refUnique ID generated that is used to fetch lock record
major_disabilitiesNames of major disabilities
major_disabilities_descFancy description of major disabilities
medical_notesList of medical notes
mental_statusMental status of this person in medical records.
minor_disabilitiesNames of minor disabilities
minor_disabilities_descFancy description of minor disabilities
physical_statusPhysical status of this person in medical records.
quirk_notesPositive and neutral quirk strings
security_noteSecurity note
wanted_statusCurrent arrest status

Procs

NewCrew specific
get_front_photoA helper proc to get the front photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.
get_photoYou shouldn't be calling this directly, use get_front_photo() or get_side_photo() +instead.
get_rapsheetReturns a paper printout of the current record's crime data.
get_side_photoA helper proc to get the side photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.
+

Var Details

citations + + + + +

+

List of citations

crimes + + + + +

+

List of crimes

lock_ref + + + + +

+

Unique ID generated that is used to fetch lock record

major_disabilities + + + + +

+

Names of major disabilities

major_disabilities_desc + + + + +

+

Fancy description of major disabilities

medical_notes + + + + +

+

List of medical notes

mental_status + + + + +

+

Mental status of this person in medical records.

minor_disabilities + + + + +

+

Names of minor disabilities

minor_disabilities_desc + + + + +

+

Fancy description of minor disabilities

physical_status + + + + +

+

Physical status of this person in medical records.

quirk_notes + + + + +

+

Positive and neutral quirk strings

security_note + + + + +

+

Security note

wanted_status + + + + +

+

Current arrest status

Proc Details

New +

+

Crew specific

get_front_photo +

+

A helper proc to get the front photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.

get_photo +

+

You shouldn't be calling this directly, use get_front_photo() or get_side_photo() +instead.

+

This is the proc that handles either fetching (if it was already generated before) or +generating (if it wasn't) the specified photo from the specified record. This is only +intended to be used by records that used to try to access fields["photo_front"] or +fields["photo_side"], and will return an empty icon if there isn't any of the necessary +fields.

+

Arguments:

+ +

Returns an empty /icon if there was no character_appearance entry in the fields list, +returns the generated/cached photo otherwise.

get_rapsheet +

+

Returns a paper printout of the current record's crime data.

get_side_photo +

+

A helper proc to get the side photo of a character from the record. +Handles calling get_photo(), read its documentation for more information.

+ + + diff --git a/datum/record/locked.html b/datum/record/locked.html new file mode 100644 index 00000000000..ca852d4fa4c --- /dev/null +++ b/datum/record/locked.html @@ -0,0 +1,57 @@ + + + + + + + /datum/record/locked - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

locked + + + +

+ +

Admin locked record

+ + + +

Vars

locked_dnaMob's dna
mind_refMind datum
species_typeTypepath of species used by player, for usage in respawning via records

Procs

NewLocked specific
+

Var Details

locked_dna + + + + +

+

Mob's dna

mind_ref + + + + +

+

Mind datum

species_type + + + + +

+

Typepath of species used by player, for usage in respawning via records

Proc Details

New +

+

Locked specific

+ + + diff --git a/datum/religion_rites.html b/datum/religion_rites.html new file mode 100644 index 00000000000..d992c2b6c2f --- /dev/null +++ b/datum/religion_rites.html @@ -0,0 +1,85 @@ + + + + + + + /datum/religion_rites - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

religion_rites + + + +

+ + + + + + + + + +

Vars

auto_deletedoes the altar auto-delete the rite
descDescription of the religious rite
invoke_msgmessage when you invoke
namename of the religious rite
ritual_invocationslist of invocations said (strings) throughout the rite
ritual_lengthlength it takes to complete the ritual

Procs

invoke_effectDoes the thing if the rite was successfully performed. return value denotes that the effect successfully (IE a harm rite does harm)
perform_riteCalled to perform the invocation of the rite, with args being the performer and the altar where it's being performed. Maybe you want it to check for something else?
+

Var Details

auto_delete + + + + +

+

does the altar auto-delete the rite

desc + + + + +

+

Description of the religious rite

invoke_msg + + + + +

+

message when you invoke

name + + + + +

+

name of the religious rite

ritual_invocations + + + + +

+

list of invocations said (strings) throughout the rite

ritual_length + + + + +

+

length it takes to complete the ritual

Proc Details

invoke_effect +

+

Does the thing if the rite was successfully performed. return value denotes that the effect successfully (IE a harm rite does harm)

perform_rite +

+

Called to perform the invocation of the rite, with args being the performer and the altar where it's being performed. Maybe you want it to check for something else?

+ + + diff --git a/datum/religion_rites/adapted_food.html b/datum/religion_rites/adapted_food.html new file mode 100644 index 00000000000..f1413d35123 --- /dev/null +++ b/datum/religion_rites/adapted_food.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/adapted_food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

adapted_food + + + +

+ + +

Vars

mold_targetthe food that will be molded, only one per rite
+

Var Details

mold_target + + + + +

+

the food that will be molded, only one per rite

+ + + diff --git a/datum/religion_rites/blazing_star.html b/datum/religion_rites/blazing_star.html new file mode 100644 index 00000000000..12f090ce05a --- /dev/null +++ b/datum/religion_rites/blazing_star.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/blazing_star - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blazing_star + + + +

+ + +

Vars

enchant_targetarrow to enchant
+

Var Details

enchant_target + + + + +

+

arrow to enchant

+ + + diff --git a/datum/religion_rites/burning_sacrifice.html b/datum/religion_rites/burning_sacrifice.html new file mode 100644 index 00000000000..b3398f9267e --- /dev/null +++ b/datum/religion_rites/burning_sacrifice.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/burning_sacrifice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

burning_sacrifice + + + +

+ + +

Vars

chosen_sacrificethe burning corpse chosen for the sacrifice of the rite
+

Var Details

chosen_sacrifice + + + + +

+

the burning corpse chosen for the sacrifice of the rite

+ + + diff --git a/datum/religion_rites/ceremonial_weapon.html b/datum/religion_rites/ceremonial_weapon.html new file mode 100644 index 00000000000..0d350db9839 --- /dev/null +++ b/datum/religion_rites/ceremonial_weapon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/ceremonial_weapon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ceremonial_weapon + + + +

+ + +

Vars

convertedthe material that will be attempted to be forged into a weapon
+

Var Details

converted + + + + +

+

the material that will be attempted to be forged into a weapon

+ + + diff --git a/datum/religion_rites/deaconize.html b/datum/religion_rites/deaconize.html new file mode 100644 index 00000000000..13cefcef9ad --- /dev/null +++ b/datum/religion_rites/deaconize.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/deaconize - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

deaconize + + + +

+ +

Makes the person holy, but they now also have to follow the honorbound code (CBT). Actually earns favor, convincing others to uphold the code (tm) is not easy

+

Vars

new_crusaderthe invited crusader
+

Var Details

new_crusader + + + + +

+

the invited crusader

+ + + diff --git a/datum/religion_rites/fireproof.html b/datum/religion_rites/fireproof.html new file mode 100644 index 00000000000..ba3794bc474 --- /dev/null +++ b/datum/religion_rites/fireproof.html @@ -0,0 +1,43 @@ + + + + + + + /datum/religion_rites/fireproof - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fireproof + + + +

+ + + +

Vars

chosen_clothingthe piece of clothing that will be fireproofed, only one per rite

Procs

apply_fireproofapply a bunch of fire immunity effect to clothing
+

Var Details

chosen_clothing + + + + +

+

the piece of clothing that will be fireproofed, only one per rite

Proc Details

apply_fireproof +

+

apply a bunch of fire immunity effect to clothing

+ + + diff --git a/datum/religion_rites/nullrod_transformation.html b/datum/religion_rites/nullrod_transformation.html new file mode 100644 index 00000000000..de78c6ecda5 --- /dev/null +++ b/datum/religion_rites/nullrod_transformation.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/nullrod_transformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nullrod_transformation + + + +

+ + +

Vars

transformation_targetThe rod that will be transmogrified.
+

Var Details

transformation_target + + + + +

+

The rod that will be transmogrified.

+ + + diff --git a/datum/religion_rites/portable_song_tuning.html b/datum/religion_rites/portable_song_tuning.html new file mode 100644 index 00000000000..fb9bbafdd3a --- /dev/null +++ b/datum/religion_rites/portable_song_tuning.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/portable_song_tuning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portable_song_tuning + + + +

+ + +

Vars

instrument_targetinstrument to empower
+

Var Details

instrument_target + + + + +

+

instrument to empower

+ + + diff --git a/datum/religion_rites/ritual_totem.html b/datum/religion_rites/ritual_totem.html new file mode 100644 index 00000000000..6b158e75ac2 --- /dev/null +++ b/datum/religion_rites/ritual_totem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/ritual_totem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ritual_totem + + + +

+ + +

Vars

convertedthe food that will be molded, only one per rite
+

Var Details

converted + + + + +

+

the food that will be molded, only one per rite

+ + + diff --git a/datum/religion_rites/song_tuner.html b/datum/religion_rites/song_tuner.html new file mode 100644 index 00000000000..f2984d9a818 --- /dev/null +++ b/datum/religion_rites/song_tuner.html @@ -0,0 +1,101 @@ + + + + + + + /datum/religion_rites/song_tuner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

song_tuner + + + +

+ +

prototype for rites that tune a song.

+ + + + + + + +

Vars

glow_colorwhat the instrument will glow when playing
particles_pathparticle effect of playing this tune
repeats_okayif repeats count as continuations instead of a song's end, TRUE
song_invocation_messagepersonal message sent to the chaplain as feedback for their chosen song
song_start_messagevisible message sent to indicate a song will have special properties

Procs

finish_effectWhen the song is long enough, it will have a special effect when it ends.
performer_start_effectSong effect applied when the performer starts playing.
song_effectPerform the song effect.
+

Var Details

glow_color + + + + +

+

what the instrument will glow when playing

particles_path + + + + +

+

particle effect of playing this tune

repeats_okay + + + + +

+

if repeats count as continuations instead of a song's end, TRUE

song_invocation_message + + + + +

+

personal message sent to the chaplain as feedback for their chosen song

song_start_message + + + + +

+

visible message sent to indicate a song will have special properties

Proc Details

finish_effect +

+

When the song is long enough, it will have a special effect when it ends.

+

If you want something that ALWAYS goes off regardless of song length, affix it to the Destroy proc. The rite is destroyed when smooth tunes is done.

+

Arguments:

+

performer_start_effect +

+

Song effect applied when the performer starts playing.

+

Arguments:

+

song_effect +

+

Perform the song effect.

+

Arguments:

+
+ + + diff --git a/datum/religion_rites/song_tuner/light.html b/datum/religion_rites/song_tuner/light.html new file mode 100644 index 00000000000..7ba782ec8fe --- /dev/null +++ b/datum/religion_rites/song_tuner/light.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/song_tuner/light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light + + + +

+ + +

Vars

performer_light_objlighting object that makes chaplain glow
+

Var Details

performer_light_obj + + + + +

+

lighting object that makes chaplain glow

+ + + diff --git a/datum/religion_rites/song_tuner/lullaby.html b/datum/religion_rites/song_tuner/lullaby.html new file mode 100644 index 00000000000..a8094f5ca46 --- /dev/null +++ b/datum/religion_rites/song_tuner/lullaby.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/song_tuner/lullaby - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lullaby + + + +

+ + +

Vars

listener_counterassoc list of weakrefs to who heard the song, for the finishing effect to look at.
+

Var Details

listener_counter + + + + +

+

assoc list of weakrefs to who heard the song, for the finishing effect to look at.

+ + + diff --git a/datum/religion_rites/sparring_contract.html b/datum/religion_rites/sparring_contract.html new file mode 100644 index 00000000000..17df9e7d4a1 --- /dev/null +++ b/datum/religion_rites/sparring_contract.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/sparring_contract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sparring_contract + + + +

+ +

sparring god rites

+

Vars

contract_targetpaper to turn into a sparring contract
+

Var Details

contract_target + + + + +

+

paper to turn into a sparring contract

+ + + diff --git a/datum/religion_rites/summon_rules.html b/datum/religion_rites/summon_rules.html new file mode 100644 index 00000000000..d3e30f9b019 --- /dev/null +++ b/datum/religion_rites/summon_rules.html @@ -0,0 +1,36 @@ + + + + + + + /datum/religion_rites/summon_rules - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

summon_rules + + + +

+ + +

Vars

writ_targetpaper to turn into holy writ
+

Var Details

writ_target + + + + +

+

paper to turn into holy writ

+ + + diff --git a/datum/religion_sect.html b/datum/religion_sect.html new file mode 100644 index 00000000000..38fed6d9880 --- /dev/null +++ b/datum/religion_sect.html @@ -0,0 +1,227 @@ + + + + + + + /datum/religion_sect - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Religious Sects + + + +

+ +

Religious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho.

+

Sects are not meant to overwrite the fun of choosing a custom god/religion, but meant to enhance it. +The idea is that Space Jesus (or whoever you worship) can be an evil bloodgod who takes the lifeforce out of people, a nature lover, or all things righteous and good. You decide!

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_ritesCurrently Active (non-deleted) rites
alignmentholder for alignments.
altar_iconChanges the Altar of Gods icon
altar_icon_stateChanges the Altar of Gods icon_state
candle_overlayWhether the structure has CANDLE OVERLAYS!
default_item_favorThe default value for an item that can be sacrificed
descOpening message when someone gets converted
desired_itemsTurns into 'desired_items_typecache', and is optionally assoc'd to sacrifice instructions if needed.
desired_items_typecacheAutopopulated by desired_items
favorThe Sect's 'Mana'
max_favorThe max amount of favor the sect can have
nameName of the religious sect
quoteFlavorful quote given about the sect, used in tgui
rites_listLists of rites by type. Converts itself into a list of rites with "name - desc (favor_cost)" = type
smack_chanceChance that we fail a bible blessing.
starterDoes this require something before being available as an option?
tgui_iconTgui icon used by this sect - https://fontawesome.com/icons

Procs

adjust_favorAdjust Favor by a certain amount. Can provide optional features based on a user. Returns actual amount added/removed
can_sacrificeReturns TRUE if the item can be sacrificed. Can be modified to fit item being tested as well as person offering. Returning TRUE will stop the attackby sequence and proceed to on_sacrifice.
on_conversionActivates once selected and on newjoins, oriented around people who become holy.
on_deconversionActivates if religious sect is reset by admins, should clean up anything you added on conversion.
on_riteuseActivates when an individual uses a rite. Can provide different/additional benefits depending on the user.
on_sacrificeActivates when the sect sacrifices an item. This proc has NO bearing on the attackby sequence of other objects when used in conjunction with the religious_tool component.
on_selectActivates once selected
sect_blessReplaces the bible's bless mechanic. Return TRUE if you want to not do the brain hit.
sect_dead_blessWhat happens if we bless a corpse? By default just do the default smack behavior
set_favorSets favor to a specific amount. Can provide optional features based on a user.
tool_examineReturns a description for religious tools
+

Var Details

active_rites + + + + +

+

Currently Active (non-deleted) rites

alignment + + + + +

+

holder for alignments.

altar_icon + + + + +

+

Changes the Altar of Gods icon

altar_icon_state + + + + +

+

Changes the Altar of Gods icon_state

candle_overlay + + + + +

+

Whether the structure has CANDLE OVERLAYS!

default_item_favor + + + + +

+

The default value for an item that can be sacrificed

desc + + + + +

+

Opening message when someone gets converted

desired_items + + + + +

+

Turns into 'desired_items_typecache', and is optionally assoc'd to sacrifice instructions if needed.

desired_items_typecache + + + + +

+

Autopopulated by desired_items

favor + + + + +

+

The Sect's 'Mana'

max_favor + + + + +

+

The max amount of favor the sect can have

name + + + + +

+

Name of the religious sect

quote + + + + +

+

Flavorful quote given about the sect, used in tgui

rites_list + + + + +

+

Lists of rites by type. Converts itself into a list of rites with "name - desc (favor_cost)" = type

smack_chance + + + + +

+

Chance that we fail a bible blessing.

starter + + + + +

+

Does this require something before being available as an option?

tgui_icon + + + + +

+

Tgui icon used by this sect - https://fontawesome.com/icons

Proc Details

adjust_favor +

+

Adjust Favor by a certain amount. Can provide optional features based on a user. Returns actual amount added/removed

can_sacrifice +

+

Returns TRUE if the item can be sacrificed. Can be modified to fit item being tested as well as person offering. Returning TRUE will stop the attackby sequence and proceed to on_sacrifice.

on_conversion +

+

Activates once selected and on newjoins, oriented around people who become holy.

on_deconversion +

+

Activates if religious sect is reset by admins, should clean up anything you added on conversion.

on_riteuse +

+

Activates when an individual uses a rite. Can provide different/additional benefits depending on the user.

on_sacrifice +

+

Activates when the sect sacrifices an item. This proc has NO bearing on the attackby sequence of other objects when used in conjunction with the religious_tool component.

on_select +

+

Activates once selected

sect_bless +

+

Replaces the bible's bless mechanic. Return TRUE if you want to not do the brain hit.

sect_dead_bless +

+

What happens if we bless a corpse? By default just do the default smack behavior

set_favor +

+

Sets favor to a specific amount. Can provide optional features based on a user.

tool_examine +

+

Returns a description for religious tools

+ + + diff --git a/datum/religion_sect/honorbound.html b/datum/religion_sect/honorbound.html new file mode 100644 index 00000000000..a1d097fd464 --- /dev/null +++ b/datum/religion_sect/honorbound.html @@ -0,0 +1,52 @@ + + + + + + + /datum/religion_sect/honorbound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

honorbound + + + +

+ + + + +

Vars

currently_askingpeople who have been offered an invitation, they haven't finished the alert though.
possible_crusaderspeople who have agreed to join the crusade, and can be deaconized

Procs

invite_crusaderCalled by deaconize rite, this async'd proc waits for a response on joining the sect. +If yes, the deaconize rite can now recruit them instead of just offering invites
+

Var Details

currently_asking + + + + +

+

people who have been offered an invitation, they haven't finished the alert though.

possible_crusaders + + + + +

+

people who have agreed to join the crusade, and can be deaconized

Proc Details

invite_crusader +

+

Called by deaconize rite, this async'd proc waits for a response on joining the sect. +If yes, the deaconize rite can now recruit them instead of just offering invites

+ + + diff --git a/datum/religion_sect/spar.html b/datum/religion_sect/spar.html new file mode 100644 index 00000000000..c589b1932f1 --- /dev/null +++ b/datum/religion_sect/spar.html @@ -0,0 +1,57 @@ + + + + + + + /datum/religion_sect/spar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spar + + + +

+ + + + + +

Vars

arenasplaces you can spar in. rites can be used to expand this list with new arenas!
existing_contractthe one allowed contract. making a new contract dusts the old one
matches_losthow many matches you've lost with holy stakes. 3 = excommunication
past_opponentspast opponents who you've beaten in holy battles. You can't fight them again to prevent favor farming
+

Var Details

arenas + + + + +

+

places you can spar in. rites can be used to expand this list with new arenas!

existing_contract + + + + +

+

the one allowed contract. making a new contract dusts the old one

matches_lost + + + + +

+

how many matches you've lost with holy stakes. 3 = excommunication

past_opponents + + + + +

+

past opponents who you've beaten in holy battles. You can't fight them again to prevent favor farming

+ + + diff --git a/datum/request.html b/datum/request.html new file mode 100644 index 00000000000..8e9ba3debf7 --- /dev/null +++ b/datum/request.html @@ -0,0 +1,92 @@ + + + + + + + /datum/request - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Request + + + +

+ +

A representation of an in-game request, such as a prayer.

+ + + + + + + + +

Vars

additional_informationJust any information, which you can to send with request. For example paper datum.
atomic_idAtomic ID for increment unique request IDs
idUnique ID of the request
messageThe message associated with the request
ownerThe owner of the request, the player who created it
owner_ckeyThe ckey of the owner, used for re-binding variables on login
owner_nameThe name of the owner, in format /, assigned at time of request creation
req_typeThe type of request
timestampWhen the request was created
+

Var Details

additional_information + + + + +

+

Just any information, which you can to send with request. For example paper datum.

atomic_id + + + + +

+

Atomic ID for increment unique request IDs

id + + + + +

+

Unique ID of the request

message + + + + +

+

The message associated with the request

owner + + + + +

+

The owner of the request, the player who created it

owner_ckey + + + + +

+

The ckey of the owner, used for re-binding variables on login

owner_name + + + + +

+

The name of the owner, in format /, assigned at time of request creation

req_type + + + + +

+

The type of request

timestamp + + + + +

+

When the request was created

+ + + diff --git a/datum/request_manager.html b/datum/request_manager.html new file mode 100644 index 00000000000..32524df6a8a --- /dev/null +++ b/datum/request_manager.html @@ -0,0 +1,156 @@ + + + + + + + /datum/request_manager - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Request Manager + + + +

+ +

Handles all player requests (prayers, centcom requests, syndicate requests) +that occur in the duration of a round.

+ + + + + + + + + + +

Vars

requestsAssociative list of ckey -> list of requests
requests_by_idList where requests can be accessed by ID

Procs

client_loginUsed in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of any requests
client_logoutUsed in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of any requests
fax_requestCreates a request for fax answer
message_centcomCreates a request for a Centcom message
message_syndicateCreates a request for a Syndicate message
music_requestCreates a request for a song
nuke_requestCreates a request for the nuclear self destruct codes
prayCreates a request for a prayer, and notifies admins who have the sound notifications enabled when appropriate
request_for_clientCreates a request and registers the request with all necessary internal tracking lists
+

Var Details

requests + + + + +

+

Associative list of ckey -> list of requests

requests_by_id + + + + +

+

List where requests can be accessed by ID

Proc Details

client_login +

+

Used in the new client pipeline to catch when clients are reconnecting and need to have their +reference re-assigned to the 'owner' variable of any requests

+

Arguments:

+

client_logout +

+

Used in the destroy client pipeline to catch when clients are disconnecting and need to have their +reference nulled on the 'owner' variable of any requests

+

Arguments:

+

fax_request +

+

Creates a request for fax answer

+

Arguments:

+

message_centcom +

+

Creates a request for a Centcom message

+

Arguments:

+

message_syndicate +

+

Creates a request for a Syndicate message

+

Arguments:

+

music_request +

+

Creates a request for a song

+

Arguments:

+

nuke_request +

+

Creates a request for the nuclear self destruct codes

+

Arguments:

+

pray +

+

Creates a request for a prayer, and notifies admins who have the sound notifications enabled when appropriate

+

Arguments:

+

request_for_client +

+

Creates a request and registers the request with all necessary internal tracking lists

+

Arguments:

+
+ + + diff --git a/datum/request_message.html b/datum/request_message.html new file mode 100644 index 00000000000..8770c41fc7b --- /dev/null +++ b/datum/request_message.html @@ -0,0 +1,106 @@ + + + + + + + /datum/request_message - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

request_message + + + +

+ + + + + + + + + + + + +

Vars

appended_listA list to be appended after the message, for example, list of ores
contentThe message itself
message_stamped_byThe name of the stamp that verified the message
message_verified_byThe name on the ID that verified the message
priorityThe priority of the message
radio_freqThe radio frequency the message should be broadcasted on
received_timeThe time when the message arrived
request_typeThe type of the request
sender_departmentThe r5tname of the department request console that sent the message

Procs

get_alertRetrieves the alert spoken/blared by the requests console that receives this message
message_ui_dataConverts the message into a format for the tgui ui_data json
+

Var Details

appended_list + + + + +

+

A list to be appended after the message, for example, list of ores

content + + + + +

+

The message itself

message_stamped_by + + + + +

+

The name of the stamp that verified the message

message_verified_by + + + + +

+

The name on the ID that verified the message

priority + + + + +

+

The priority of the message

radio_freq + + + + +

+

The radio frequency the message should be broadcasted on

received_time + + + + +

+

The time when the message arrived

request_type + + + + +

+

The type of the request

sender_department + + + + +

+

The r5tname of the department request console that sent the message

Proc Details

get_alert +

+

Retrieves the alert spoken/blared by the requests console that receives this message

message_ui_data +

+

Converts the message into a format for the tgui ui_data json

+ + + diff --git a/datum/required_item.html b/datum/required_item.html new file mode 100644 index 00000000000..5391cde7ea6 --- /dev/null +++ b/datum/required_item.html @@ -0,0 +1,57 @@ + + + + + + + /datum/required_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

required_item + + + +

+ +

Datum for tracking required map items

+ + + +

Vars

maximum_amountMax. amount of this type that should exist roundstart (inclusive)
minimum_amountMin. amount of this type that should exist roundstart (inclusive)
total_amountHow many exist in the world
tracked_typeType (exact) being tracked
+

Var Details

maximum_amount + + + + +

+

Max. amount of this type that should exist roundstart (inclusive)

minimum_amount + + + + +

+

Min. amount of this type that should exist roundstart (inclusive)

total_amount + + + + +

+

How many exist in the world

tracked_type + + + + +

+

Type (exact) being tracked

+ + + diff --git a/datum/robot_energy_storage.html b/datum/robot_energy_storage.html new file mode 100644 index 00000000000..4832f7cd4b9 --- /dev/null +++ b/datum/robot_energy_storage.html @@ -0,0 +1,36 @@ + + + + + + + /datum/robot_energy_storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

robot_energy_storage + + + +

+ + +

Vars

renewableWhether this resource should refill from the aether inside a charging station.
+

Var Details

renewable + + + + +

+

Whether this resource should refill from the aether inside a charging station.

+ + + diff --git a/datum/robot_energy_storage/material.html b/datum/robot_energy_storage/material.html new file mode 100644 index 00000000000..157959e6958 --- /dev/null +++ b/datum/robot_energy_storage/material.html @@ -0,0 +1,36 @@ + + + + + + + /datum/robot_energy_storage/material - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

material + + + +

+ + +

Vars

mat_typeThe type of materials we should pull when restocking
+

Var Details

mat_type + + + + +

+

The type of materials we should pull when restocking

+ + + diff --git a/datum/round_event.html b/datum/round_event.html new file mode 100644 index 00000000000..ce5494d4169 --- /dev/null +++ b/datum/round_event.html @@ -0,0 +1,98 @@ + + + + + + + /datum/round_event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

round_event + + + +

+ + + + + + + + + + +

Vars

activeForHow long the event has existed. You don't need to change this.
announce_chanceProbability of announcing, used in prob(), 0 to 100, default 100. Called in process, and for a second time in the ion storm event.
announce_whenWhen in the lifetime to call announce(). If you don't want it to announce use announce_chance, below. +This is in seconds - so 1 = ~2 seconds in.
cancel_eventWhether a admin wants this event to be cancelled
current_playersAmount of of alive, non-AFK human players on server at the time of event start
end_whenWhen in the lifetime the event should end. +This is in seconds - so 1 = ~2 seconds in.
fakeableCan be faked by fake news event.
start_whenWhen in the lifetime to call start(). +This is in seconds - so 1 = ~2 seconds in.

Procs

announce_deadchatAnnouces the event name to deadchat, override this if what an event should show to deadchat is different to its event name.
+

Var Details

activeFor + + + + +

+

How long the event has existed. You don't need to change this.

announce_chance + + + + +

+

Probability of announcing, used in prob(), 0 to 100, default 100. Called in process, and for a second time in the ion storm event.

announce_when + + + + +

+

When in the lifetime to call announce(). If you don't want it to announce use announce_chance, below. +This is in seconds - so 1 = ~2 seconds in.

cancel_event + + + + +

+

Whether a admin wants this event to be cancelled

current_players + + + + +

+

Amount of of alive, non-AFK human players on server at the time of event start

end_when + + + + +

+

When in the lifetime the event should end. +This is in seconds - so 1 = ~2 seconds in.

fakeable + + + + +

+

Can be faked by fake news event.

start_when + + + + +

+

When in the lifetime to call start(). +This is in seconds - so 1 = ~2 seconds in.

Proc Details

announce_deadchat +

+

Annouces the event name to deadchat, override this if what an event should show to deadchat is different to its event name.

+ + + diff --git a/datum/round_event/anomaly.html b/datum/round_event/anomaly.html new file mode 100644 index 00000000000..4c22dc3b3c7 --- /dev/null +++ b/datum/round_event/anomaly.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event/anomaly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

anomaly + + + +

+ + + +

Vars

spawn_locationThe admin-chosen spawn location.

Procs

apply_anomaly_propertiesMake any further post-creation modifications to the anomaly
+

Var Details

spawn_location + + + + +

+

The admin-chosen spawn location.

Proc Details

apply_anomaly_properties +

+

Make any further post-creation modifications to the anomaly

+ + + diff --git a/datum/round_event/anomaly/anomaly_dimensional.html b/datum/round_event/anomaly/anomaly_dimensional.html new file mode 100644 index 00000000000..08888bd03d4 --- /dev/null +++ b/datum/round_event/anomaly/anomaly_dimensional.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/anomaly/anomaly_dimensional - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

anomaly_dimensional + + + +

+ + +

Vars

anomaly_themeWhat theme should the anomaly initially apply to the area?
+

Var Details

anomaly_theme + + + + +

+

What theme should the anomaly initially apply to the area?

+ + + diff --git a/datum/round_event/anomaly/anomaly_ectoplasm.html b/datum/round_event/anomaly/anomaly_ectoplasm.html new file mode 100644 index 00000000000..c5997a0e557 --- /dev/null +++ b/datum/round_event/anomaly/anomaly_ectoplasm.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event/anomaly/anomaly_ectoplasm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

anomaly_ectoplasm + + + +

+ + + +

Vars

effect_overrideThe admin-set impact effect intensity override
orbit_overrideThe admin-set number of ghosts, for use in calculating impact size.
+

Var Details

effect_override + + + + +

+

The admin-set impact effect intensity override

orbit_override + + + + +

+

The admin-set number of ghosts, for use in calculating impact size.

+ + + diff --git a/datum/round_event/brand_intelligence.html b/datum/round_event/brand_intelligence.html new file mode 100644 index 00000000000..43dfeb90d26 --- /dev/null +++ b/datum/round_event/brand_intelligence.html @@ -0,0 +1,64 @@ + + + + + + + /datum/round_event/brand_intelligence - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

brand_intelligence + + + +

+ + + + + + +

Vars

chosen_vendor_typeAdmin picked subtype for what kind of vendor goes haywire.
infected_machinesAll vending machines that have been infected.
origin_machineThe original machine infected. Killing it ends the event.
rampant_speechesMurderous sayings from the machines.
vending_machinesAll vending machines valid to get infected.
+

Var Details

chosen_vendor_type + + + + +

+

Admin picked subtype for what kind of vendor goes haywire.

infected_machines + + + + +

+

All vending machines that have been infected.

origin_machine + + + + +

+

The original machine infected. Killing it ends the event.

rampant_speeches + + + + +

+

Murderous sayings from the machines.

vending_machines + + + + +

+

All vending machines valid to get infected.

+ + + diff --git a/datum/round_event/carp_migration.html b/datum/round_event/carp_migration.html new file mode 100644 index 00000000000..32cfd74d013 --- /dev/null +++ b/datum/round_event/carp_migration.html @@ -0,0 +1,71 @@ + + + + + + + /datum/round_event/carp_migration - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

carp_migration + + + +

+ + + + + + + +

Vars

boss_typeRarer mob type to spawn, must also be a child of /mob/living/basic/carp. If one of these is created, it will take priority to show ghosts.
carp_typeMost common mob type to spawn, must be a child of /mob/living/basic/carp
fluff_signalWhat to describe detecting near the station
hasAnnouncedSet to true when we announce something to ghosts, to prevent duplicate announcements
z_migration_pathsAssociated lists of z level to a list of points to travel to, so that grouped fish move to the same places

Procs

pick_carp_migration_pointsGenerate two locations for carp to travel to, one in the station and one off in space
+

Var Details

boss_type + + + + +

+

Rarer mob type to spawn, must also be a child of /mob/living/basic/carp. If one of these is created, it will take priority to show ghosts.

carp_type + + + + +

+

Most common mob type to spawn, must be a child of /mob/living/basic/carp

fluff_signal + + + + +

+

What to describe detecting near the station

hasAnnounced + + + + +

+

Set to true when we announce something to ghosts, to prevent duplicate announcements

z_migration_paths + + + + +

+

Associated lists of z level to a list of points to travel to, so that grouped fish move to the same places

Proc Details

pick_carp_migration_points +

+

Generate two locations for carp to travel to, one in the station and one off in space

+ + + diff --git a/datum/round_event/disease_outbreak.html b/datum/round_event/disease_outbreak.html new file mode 100644 index 00000000000..708b5429523 --- /dev/null +++ b/datum/round_event/disease_outbreak.html @@ -0,0 +1,57 @@ + + + + + + + /datum/round_event/disease_outbreak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

disease_outbreak + + + +

+ + + + + +

Vars

afflictedDisease recipient candidates, passed from the round_event_control object
illness_typeThe preset (classic) or generated (advanced) illness name
virus_typeThe disease type we will be spawning

Procs

setupAnd here are some that will never roll for real, just to mess around.
+

Var Details

afflicted + + + + +

+

Disease recipient candidates, passed from the round_event_control object

illness_type + + + + +

+

The preset (classic) or generated (advanced) illness name

virus_type + + + + +

+

The disease type we will be spawning

Proc Details

setup +

+

And here are some that will never roll for real, just to mess around.

+ + + diff --git a/datum/round_event/disease_outbreak/advanced.html b/datum/round_event/disease_outbreak/advanced.html new file mode 100644 index 00000000000..daaa64ac3d3 --- /dev/null +++ b/datum/round_event/disease_outbreak/advanced.html @@ -0,0 +1,59 @@ + + + + + + + /datum/round_event/disease_outbreak/advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

advanced + + + +

+ + + + + +

Vars

max_symptomsMaximum symptoms for our virus
requested_severityNumber of symptoms for our virus
requested_transmissibilityTransmissibility of our virus

Procs

startGenerate virus base values
+

Var Details

max_symptoms + + + + +

+

Maximum symptoms for our virus

requested_severity + + + + +

+

Number of symptoms for our virus

requested_transmissibility + + + + +

+

Transmissibility of our virus

Proc Details

start +

+

Generate virus base values

+

Generates a virus with either the admin selected parameters for severity and symptoms +or if it was not selected, randomly pick between the MIX and MAX configured in the defines.

+ + + diff --git a/datum/round_event/earthquake.html b/datum/round_event/earthquake.html new file mode 100644 index 00000000000..d513bc77810 --- /dev/null +++ b/datum/round_event/earthquake.html @@ -0,0 +1,64 @@ + + + + + + + /datum/round_event/earthquake - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

earthquake + + + +

+ + + + + + +

Vars

edgesThe edges of our fault line, to receive light damage.
epicenterThe chosen location and center of our earthquake.
turfs_to_shredA list of turfs that will be damaged by this event.
underbellyA list of turfs directly under turfs_to_shred, for creating a proper chasm to the floor below.

Procs

endYou're about to find out
+

Var Details

edges + + + + +

+

The edges of our fault line, to receive light damage.

epicenter + + + + +

+

The chosen location and center of our earthquake.

turfs_to_shred + + + + +

+

A list of turfs that will be damaged by this event.

underbelly + + + + +

+

A list of turfs directly under turfs_to_shred, for creating a proper chasm to the floor below.

Proc Details

end +

+

You're about to find out

+ + + diff --git a/datum/round_event/falsealarm.html b/datum/round_event/falsealarm.html new file mode 100644 index 00000000000..75cd4380f87 --- /dev/null +++ b/datum/round_event/falsealarm.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/falsealarm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

falsealarm + + + +

+ + +

Vars

forced_typeAdmin's pick of fake event (wow! you picked blob!! you're so creative and smart!)
+

Var Details

forced_type + + + + +

+

Admin's pick of fake event (wow! you picked blob!! you're so creative and smart!)

+ + + diff --git a/datum/round_event/ghost_role.html b/datum/round_event/ghost_role.html new file mode 100644 index 00000000000..87115c575b8 --- /dev/null +++ b/datum/round_event/ghost_role.html @@ -0,0 +1,102 @@ + + + + + + + /datum/round_event/ghost_role - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ghost_role + + + +

+ + + + + + + + + + +

Vars

cached_announcement_chanceA stored value of the event's announcement chance. Cached and not immediately used to prevent announcements for a failed event roll.
minimum_requiredThe minimum number of signups required for the event to continue past the polling period
priority_candidatesMembers of this list will be placed at the front of the candicacy list, in front of the (shuffled) normal candidates.
role_nameThe name of the role, to be displayed in logs/polls/etc.
spawned_mobsA list of mobs generated by this event.
statusUsed to communicate the progress of the event firing, and whether or not the event was successfuly run.

Procs

get_candidatesGathers the candidates to select our ghost roles from.
spawn_rolePerforms the spawning of our role. Entirely specific to the event itself.
try_spawningAttempts to spawn the role, and cancels the event if it fails.
+

Var Details

cached_announcement_chance + + + + +

+

A stored value of the event's announcement chance. Cached and not immediately used to prevent announcements for a failed event roll.

minimum_required + + + + +

+

The minimum number of signups required for the event to continue past the polling period

priority_candidates + + + + +

+

Members of this list will be placed at the front of the candicacy list, in front of the (shuffled) normal candidates.

role_name + + + + +

+

The name of the role, to be displayed in logs/polls/etc.

spawned_mobs + + + + +

+

A list of mobs generated by this event.

status + + + + +

+

Used to communicate the progress of the event firing, and whether or not the event was successfuly run.

Proc Details

get_candidates +

+

Gathers the candidates to select our ghost roles from.

+

Returns a list of candidates in priority order, with candidates from +priority_candidates first, and ghost roles randomly shuffled and +appended after.

+

jobban - The jobban flag to exclude players from the polling pool with. +be_special - The "special role" flag for the ghost candidacy poll.

spawn_role +

+

Performs the spawning of our role. Entirely specific to the event itself.

+

Should return SUCCESSFUL_SPAWN if role was successfully spawned, +return NOT_ENOUGH_PLAYERS if less than mimimum_required was found, +and return MAP_ERROR if a spawn location could not be found.

try_spawning +

+

Attempts to spawn the role, and cancels the event if it fails.

+

Pauses the event right as it begins, and waits for setup/polling to end. +If successful, continues running the rest of the event and notifies ghosts.

+ + + diff --git a/datum/round_event/ghost_role/bitrunning_glitch.html b/datum/round_event/ghost_role/bitrunning_glitch.html new file mode 100644 index 00000000000..5b1472a0bda --- /dev/null +++ b/datum/round_event/ghost_role/bitrunning_glitch.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/ghost_role/bitrunning_glitch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bitrunning_glitch + + + +

+ + +

Vars

forced_roleAdmin customization: What to spawn
+

Var Details

forced_role + + + + +

+

Admin customization: What to spawn

+ + + diff --git a/datum/round_event/ghost_role/fugitives.html b/datum/round_event/ghost_role/fugitives.html new file mode 100644 index 00000000000..9d083ff7cfd --- /dev/null +++ b/datum/round_event/ghost_role/fugitives.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event/ghost_role/fugitives - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

fugitives + + + +

+ + +

Procs

gear_fugitive_leaderspecial spawn for one member. it can be used for a special mob or simply to give one normal member special items.

Proc Details

gear_fugitive_leader +

+

special spawn for one member. it can be used for a special mob or simply to give one normal member special items.

+ + + diff --git a/datum/round_event/ghost_role/sentience.html b/datum/round_event/ghost_role/sentience.html new file mode 100644 index 00000000000..c839fd9e37b --- /dev/null +++ b/datum/round_event/ghost_role/sentience.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event/ghost_role/sentience - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sentience + + + +

+ + +

Procs

set_mob_priorityAdds a mob to either the high or low priority event list

Proc Details

set_mob_priority +

+

Adds a mob to either the high or low priority event list

+ + + diff --git a/datum/round_event/grey_tide.html b/datum/round_event/grey_tide.html new file mode 100644 index 00000000000..30acde3dcac --- /dev/null +++ b/datum/round_event/grey_tide.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event/grey_tide - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grey_tide + + + +

+ + + +

Vars

grey_tide_areasThe area subtypes to be targeted by the event.
severityThe number of areas to be hit by the event.
+

Var Details

grey_tide_areas + + + + +

+

The area subtypes to be targeted by the event.

severity + + + + +

+

The number of areas to be hit by the event.

+ + + diff --git a/datum/round_event/heart_attack.html b/datum/round_event/heart_attack.html new file mode 100644 index 00000000000..09f49cf1223 --- /dev/null +++ b/datum/round_event/heart_attack.html @@ -0,0 +1,53 @@ + + + + + + + /datum/round_event/heart_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heart_attack + + + +

+ + + + +

Vars

quantityNumber of heart attacks to distribute
victimsA list of prime candidates for heart attacking

Procs

attack_heartPicks a victim from a list and attempts to give them a heart attack
+

Var Details

quantity + + + + +

+

Number of heart attacks to distribute

victims + + + + +

+

A list of prime candidates for heart attacking

Proc Details

attack_heart +

+

Picks a victim from a list and attempts to give them a heart attack

+

Performs a pick_weight on a list of potential victims. Once selected, the "winner" +will receive heart disease. Returns TRUE if a heart attack is successfully given, and +FALSE if something blocks it.

+ + + diff --git a/datum/round_event/immovable_rod.html b/datum/round_event/immovable_rod.html new file mode 100644 index 00000000000..3c10a65ce1a --- /dev/null +++ b/datum/round_event/immovable_rod.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event/immovable_rod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

immovable_rod + + + +

+ + + +

Vars

force_loopingAdmins can also force it to loop around forever, or at least until the RD gets their hands on it.
special_targetAdmins can pick a spot the rod will aim for.
+

Var Details

force_looping + + + + +

+

Admins can also force it to loop around forever, or at least until the RD gets their hands on it.

special_target + + + + +

+

Admins can pick a spot the rod will aim for.

+ + + diff --git a/datum/round_event/market_crash.html b/datum/round_event/market_crash.html new file mode 100644 index 00000000000..6e6429d4958 --- /dev/null +++ b/datum/round_event/market_crash.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/market_crash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

market_crash + + + +

+ + +

Vars

tick_counterThis counts the number of ticks that the market crash event has been processing, so that we don't call vendor price updates every tick, but we still iterate for other mechanics that use inflation.
+

Var Details

tick_counter + + + + +

+

This counts the number of ticks that the market crash event has been processing, so that we don't call vendor price updates every tick, but we still iterate for other mechanics that use inflation.

+ + + diff --git a/datum/round_event/mass_hallucination.html b/datum/round_event/mass_hallucination.html new file mode 100644 index 00000000000..76ac663b599 --- /dev/null +++ b/datum/round_event/mass_hallucination.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event/mass_hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mass_hallucination + + + +

+ + + +

Vars

admin_forced_argsFor admins, what arguments are we passing to said hallucination
admin_forced_hallucinationFor admins, what hallucination did we pick
+

Var Details

admin_forced_args + + + + +

+

For admins, what arguments are we passing to said hallucination

admin_forced_hallucination + + + + +

+

For admins, what hallucination did we pick

+ + + diff --git a/datum/round_event/pirates.html b/datum/round_event/pirates.html new file mode 100644 index 00000000000..81c70070609 --- /dev/null +++ b/datum/round_event/pirates.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/pirates - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pirates + + + +

+ + +

Vars

gang_listadmin chosen pirate team
+

Var Details

gang_list + + + + +

+

admin chosen pirate team

+ + + diff --git a/datum/round_event/portal_storm.html b/datum/round_event/portal_storm.html new file mode 100644 index 00000000000..6344e5a7e98 --- /dev/null +++ b/datum/round_event/portal_storm.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/portal_storm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portal_storm + + + +

+ + +

Vars

storm_appearancesList of mutable appearances in the form (plane offset + 1 -> appearance)
+

Var Details

storm_appearances + + + + +

+

List of mutable appearances in the form (plane offset + 1 -> appearance)

+ + + diff --git a/datum/round_event/radiation_leak.html b/datum/round_event/radiation_leak.html new file mode 100644 index 00000000000..d33f7fc78ab --- /dev/null +++ b/datum/round_event/radiation_leak.html @@ -0,0 +1,65 @@ + + + + + + + /datum/round_event/radiation_leak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radiation_leak + + + +

+ + + + + + +

Vars

picked_machine_refWeakref to the machine spitting out rads
signals_to_addList of signals added to the picked machine, so we can clear them later

Procs

on_machine_tooledSignal proc for COMSIG_ATOM_TOOL_ACT, from a variety of signals, registered on the machine spitting radiation
puff_some_smokeHelper to shoot some smoke into the air around the passed atom
try_remove_radiationAttempts a do_after, and if successful, stops the event
+

Var Details

picked_machine_ref + + + + +

+

Weakref to the machine spitting out rads

signals_to_add + + + + +

+

List of signals added to the picked machine, so we can clear them later

Proc Details

on_machine_tooled +

+

Signal proc for COMSIG_ATOM_TOOL_ACT, from a variety of signals, registered on the machine spitting radiation

+

We allow for someone to stop the event early by using the proper tools, hinted at in examine, on the machine

puff_some_smoke +

+

Helper to shoot some smoke into the air around the passed atom

try_remove_radiation +

+

Attempts a do_after, and if successful, stops the event

+ + + diff --git a/datum/round_event/sandstorm.html b/datum/round_event/sandstorm.html new file mode 100644 index 00000000000..07397ef926d --- /dev/null +++ b/datum/round_event/sandstorm.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/sandstorm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sandstorm + + + +

+ + +

Vars

start_sideWhich direction the storm will come from.
+

Var Details

start_side + + + + +

+

Which direction the storm will come from.

+ + + diff --git a/datum/round_event/scrubber_overflow.html b/datum/round_event/scrubber_overflow.html new file mode 100644 index 00000000000..6f147353d77 --- /dev/null +++ b/datum/round_event/scrubber_overflow.html @@ -0,0 +1,78 @@ + + + + + + + /datum/round_event/scrubber_overflow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scrubber_overflow + + + +

+ + + + + + + + +

Vars

danger_chanceThe probability that the ejected reagents will be dangerous
forced_reagent_typeSpecific reagent to force all scrubbers to use, null for random reagent choice
overflow_probabilityProbability of an individual scrubber overflowing
reagents_amountAmount of reagents ejected from each scrubber
safer_chemsThe list of chems that scrubbers can produce
scrubbersA list of scrubbers that will have reagents ejected from them

Procs

get_overflowing_reagentproc that will run the prob check of the event and return a safe or dangerous reagent based off of that.
+

Var Details

danger_chance + + + + +

+

The probability that the ejected reagents will be dangerous

forced_reagent_type + + + + +

+

Specific reagent to force all scrubbers to use, null for random reagent choice

overflow_probability + + + + +

+

Probability of an individual scrubber overflowing

reagents_amount + + + + +

+

Amount of reagents ejected from each scrubber

safer_chems + + + + +

+

The list of chems that scrubbers can produce

scrubbers + + + + +

+

A list of scrubbers that will have reagents ejected from them

Proc Details

get_overflowing_reagent +

+

proc that will run the prob check of the event and return a safe or dangerous reagent based off of that.

+ + + diff --git a/datum/round_event/shuttle_loan.html b/datum/round_event/shuttle_loan.html new file mode 100644 index 00000000000..c52478c5046 --- /dev/null +++ b/datum/round_event/shuttle_loan.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event/shuttle_loan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shuttle_loan + + + +

+ + + +

Vars

dispatchedWhether the station has let Centcom commandeer the shuttle yet.
situationwhat type of shuttle loan situation the station faces.
+

Var Details

dispatched + + + + +

+

Whether the station has let Centcom commandeer the shuttle yet.

situation + + + + +

+

what type of shuttle loan situation the station faces.

+ + + diff --git a/datum/round_event/spacevine.html b/datum/round_event/spacevine.html new file mode 100644 index 00000000000..5a5ead60772 --- /dev/null +++ b/datum/round_event/spacevine.html @@ -0,0 +1,64 @@ + + + + + + + /datum/round_event/spacevine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spacevine + + + +

+ + + + + + +

Vars

mutations_overriddenused to confirm if admin selected mutations should be used or not.
override_mutationsAdmin selected mutations that the kudzu will spawn with, can be set to none to act as mutationless kudzu.
override_turfOverride location the vines will spawn in.
potencyPotency of the spawned kudzu.
productionProduction value of the spawned kuduz.
+

Var Details

mutations_overridden + + + + +

+

used to confirm if admin selected mutations should be used or not.

override_mutations + + + + +

+

Admin selected mutations that the kudzu will spawn with, can be set to none to act as mutationless kudzu.

override_turf + + + + +

+

Override location the vines will spawn in.

potency + + + + +

+

Potency of the spawned kudzu.

production + + + + +

+

Production value of the spawned kuduz.

+ + + diff --git a/datum/round_event/stray_cargo.html b/datum/round_event/stray_cargo.html new file mode 100644 index 00000000000..85232194c5b --- /dev/null +++ b/datum/round_event/stray_cargo.html @@ -0,0 +1,89 @@ + + + + + + + /datum/round_event/stray_cargo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stray_cargo + + + +

+ +

Spawns a cargo pod containing a random cargo supply pack on a random area of the station

+ + + + + + + +

Vars

admin_override_contentsAdmin setable override to spawn a specific cargo pack type
admin_override_turfList of default spawnable supply packs, filtered from the cargo list +Admin setable override that is used instead of selecting a random location
announce_chanceRandomly picked area
stray_spawnable_supply_packsList of possible supply packs dropped in the pod, if empty picks from the cargo list

Procs

find_event_areaPicks an area that wouldn't risk critical damage if hit by a pod explosion
make_podHandles the creation of the pod, in case it needs to be modified beforehand
setupTries to find a valid area, throws an error if none are found +Also randomizes the start timer
startSpawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area
+

Var Details

admin_override_contents + + + + +

+

Admin setable override to spawn a specific cargo pack type

admin_override_turf + + + + +

+

List of default spawnable supply packs, filtered from the cargo list +Admin setable override that is used instead of selecting a random location

announce_chance + + + + +

+

Randomly picked area

stray_spawnable_supply_packs + + + + +

+

List of possible supply packs dropped in the pod, if empty picks from the cargo list

Proc Details

find_event_area +

+

Picks an area that wouldn't risk critical damage if hit by a pod explosion

make_pod +

+

Handles the creation of the pod, in case it needs to be modified beforehand

setup +

+

Tries to find a valid area, throws an error if none are found +Also randomizes the start timer

start +

+

Spawns a random supply pack, puts it in a pod, and spawns it on a random tile of the selected area

+ + + diff --git a/datum/round_event/stray_cargo/syndicate.html b/datum/round_event/stray_cargo/syndicate.html new file mode 100644 index 00000000000..a11875267e9 --- /dev/null +++ b/datum/round_event/stray_cargo/syndicate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event/stray_cargo/syndicate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

syndicate + + + +

+ + +

Procs

make_podApply the syndicate pod skin

Proc Details

make_pod +

+

Apply the syndicate pod skin

+ + + diff --git a/datum/round_event/stray_meteor.html b/datum/round_event/stray_meteor.html new file mode 100644 index 00000000000..542998d6c2c --- /dev/null +++ b/datum/round_event/stray_meteor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/stray_meteor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stray_meteor + + + +

+ + +

Vars

chosen_meteorThe selected meteor type if chosen through admin setup.
+

Var Details

chosen_meteor + + + + +

+

The selected meteor type if chosen through admin setup.

+ + + diff --git a/datum/round_event/supermatter_surge.html b/datum/round_event/supermatter_surge.html new file mode 100644 index 00000000000..f7167d3e62b --- /dev/null +++ b/datum/round_event/supermatter_surge.html @@ -0,0 +1,50 @@ + + + + + + + /datum/round_event/supermatter_surge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supermatter_surge + + + +

+ + + + +

Vars

engineTypecasted reference to the supermatter chosen at event start
sm_gasTypecasted reference to the nitrogen properies in the SM chamber
surge_classHow powerful is the supermatter surge going to be?
+

Var Details

engine + + + + +

+

Typecasted reference to the supermatter chosen at event start

sm_gas + + + + +

+

Typecasted reference to the nitrogen properies in the SM chamber

surge_class + + + + +

+

How powerful is the supermatter surge going to be?

+ + + diff --git a/datum/round_event/tram_malfunction.html b/datum/round_event/tram_malfunction.html new file mode 100644 index 00000000000..6c132c9cd03 --- /dev/null +++ b/datum/round_event/tram_malfunction.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/tram_malfunction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tram_malfunction + + + +

+ + +

Vars

specific_transport_idThe ID of the tram we're going to malfunction
+

Var Details

specific_transport_id + + + + +

+

The ID of the tram we're going to malfunction

+ + + diff --git a/datum/round_event/vent_clog.html b/datum/round_event/vent_clog.html new file mode 100644 index 00000000000..71cc053e5c9 --- /dev/null +++ b/datum/round_event/vent_clog.html @@ -0,0 +1,144 @@ + + + + + + + /datum/round_event/vent_clog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vent_clog + + + +

+ + + + + + + + + + + + + + + + +

Vars

filth_spawn_typesThe list of decals we will choose from to spawn when producing a mob
living_mobsUsed to track/limit produced mobs.
maximum_spawnsCap on the number of spawned mobs that can be alive at once.
spawn_delayInterval between mob spawns.
spawned_mobWhat mob will be spawned
ventVent selected for the event.

Procs

attempt_unclogHandles the actual unclogging action and ends the event on completion.
clear_signalsClears the signals related to the event, before we wrap things up.
clog_ventHandles the initial steps of clogging a vent, either at event start or when the vent moves.
get_mobSelects which mob will be spawned for a given vent clog event.
get_ventFinds a valid vent to spawn mobs from.
life_checkChecks which mobs in the mob spawn list are alive.
plunger_unclogSignal catcher for plunger_act()
produce_mobHandles the production of our mob and adds it to our living_mobs list
vent_moveFinds a new vent for the event if the original is destroyed.
+

Var Details

filth_spawn_types + + + + +

+

The list of decals we will choose from to spawn when producing a mob

living_mobs + + + + +

+

Used to track/limit produced mobs.

maximum_spawns + + + + +

+

Cap on the number of spawned mobs that can be alive at once.

spawn_delay + + + + +

+

Interval between mob spawns.

spawned_mob + + + + +

+

What mob will be spawned

vent + + + + +

+

Vent selected for the event.

Proc Details

attempt_unclog +

+

Handles the actual unclogging action and ends the event on completion.

clear_signals +

+

Clears the signals related to the event, before we wrap things up.

clog_vent +

+

Handles the initial steps of clogging a vent, either at event start or when the vent moves.

get_mob +

+

Selects which mob will be spawned for a given vent clog event.

+

Creates a static list of mobs, which is different based on the severity of the event being run, and returns a pick() of it.

get_vent +

+

Finds a valid vent to spawn mobs from.

+

Randomly selects a vent that is on-station, unwelded, and hosted by a passable turf. If no vents are found, the event +is immediately killed.

life_check +

+

Checks which mobs in the mob spawn list are alive.

+

Checks each mob in the living_mobs list, to see if they're dead or not. If dead, they're removed from the list. +This is used to keep new mobs spawning as the old ones die.

plunger_unclog +

+

Signal catcher for plunger_act()

produce_mob +

+

Handles the production of our mob and adds it to our living_mobs list

+

Used by the vent clog random event to handle the spawning of mobs. The proc receives the mob that will be spawned, +and the event's current list of living mobs produced by the event so far. After checking if the vent is welded, the +new mob is created on the vent's turf, then added to the living_mobs list.

vent_move +

+

Finds a new vent for the event if the original is destroyed.

+

This is used when the vent for the event is destroyed. It picks a new vent and announces that the event has moved elsewhere. +Handles the vent ref if there are no valid vents to replace it with.

+ + + diff --git a/datum/round_event/wisdomcow.html b/datum/round_event/wisdomcow.html new file mode 100644 index 00000000000..3e1833dc3eb --- /dev/null +++ b/datum/round_event/wisdomcow.html @@ -0,0 +1,50 @@ + + + + + + + /datum/round_event/wisdomcow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wisdomcow + + + +

+ + + + +

Vars

selected_experienceAn override that, if set modifies the amount of wisdow the cow will add/remove, if not set will default to 500.
selected_wisdomAn override that, if set rigs the cow to spawn with a specific wisdow rather than a random one.
spawn_locationLocation override that, if set causes the cow to spawn in a pre-determined locaction instead of randomly.
+

Var Details

selected_experience + + + + +

+

An override that, if set modifies the amount of wisdow the cow will add/remove, if not set will default to 500.

selected_wisdom + + + + +

+

An override that, if set rigs the cow to spawn with a specific wisdow rather than a random one.

spawn_location + + + + +

+

Location override that, if set causes the cow to spawn in a pre-determined locaction instead of randomly.

+ + + diff --git a/datum/round_event/wizard/deprevolt.html b/datum/round_event/wizard/deprevolt.html new file mode 100644 index 00000000000..fb27009aa3b --- /dev/null +++ b/datum/round_event/wizard/deprevolt.html @@ -0,0 +1,50 @@ + + + + + + + /datum/round_event/wizard/deprevolt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

deprevolt + + + +

+ + + + +

Vars

announceAnnounce the separatist nation to the round?
dangerous_nationIs it going to try fighting other nations?
picked_departmentwhich department is revolting?
+

Var Details

announce + + + + +

+

Announce the separatist nation to the round?

dangerous_nation + + + + +

+

Is it going to try fighting other nations?

picked_department + + + + +

+

which department is revolting?

+ + + diff --git a/datum/round_event/wizard/madness.html b/datum/round_event/wizard/madness.html new file mode 100644 index 00000000000..79d5de2edb4 --- /dev/null +++ b/datum/round_event/wizard/madness.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event/wizard/madness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

madness + + + +

+ + +

Vars

horrifying_truththe horrifying truth sent to the crew, can be picked by admins.
+

Var Details

horrifying_truth + + + + +

+

the horrifying truth sent to the crew, can be picked by admins.

+ + + diff --git a/datum/round_event/wizard/petsplosion.html b/datum/round_event/wizard/petsplosion.html new file mode 100644 index 00000000000..589f3332bb9 --- /dev/null +++ b/datum/round_event/wizard/petsplosion.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event/wizard/petsplosion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

petsplosion + + + +

+ + +

Procs

duplicate_mobMakes a duplicate of a valid mob and increments our "too many mobs" counter

Proc Details

duplicate_mob +

+

Makes a duplicate of a valid mob and increments our "too many mobs" counter

+ + + diff --git a/datum/round_event_control.html b/datum/round_event_control.html new file mode 100644 index 00000000000..aabceb816f1 --- /dev/null +++ b/datum/round_event_control.html @@ -0,0 +1,73 @@ + + + + + + + /datum/round_event_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

round_event_control + + + +

+ + + + + + + +

Vars

admin_setupDatum that will handle admin options for forcing the event. +If there are no options, just leave it as an empty list.
dynamic_should_hijackWhether or not dynamic should hijack this event
map_flagsFlags dictating whether this event should be run on certain kinds of map
max_wizard_trigger_potencyMaximum wizard rituals at which to trigger this event, inclusive
min_wizard_trigger_potencyMinimum wizard rituals at which to trigger this event, inclusive

Procs

valid_for_mapReturns true if event can run in current map
+

Var Details

admin_setup + + + + +

+

Datum that will handle admin options for forcing the event. +If there are no options, just leave it as an empty list.

dynamic_should_hijack + + + + +

+

Whether or not dynamic should hijack this event

map_flags + + + + +

+

Flags dictating whether this event should be run on certain kinds of map

max_wizard_trigger_potency + + + + +

+

Maximum wizard rituals at which to trigger this event, inclusive

min_wizard_trigger_potency + + + + +

+

Minimum wizard rituals at which to trigger this event, inclusive

Proc Details

valid_for_map +

+

Returns true if event can run in current map

+ + + diff --git a/datum/round_event_control/bitrunning_glitch.html b/datum/round_event_control/bitrunning_glitch.html new file mode 100644 index 00000000000..0e5b3cb44d7 --- /dev/null +++ b/datum/round_event_control/bitrunning_glitch.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event_control/bitrunning_glitch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bitrunning_glitch + + + +

+ + + +

Vars

active_serversList of servers on the station

Procs

validate_serversAll servers currently running, has players in it, and map has valid mobs
+

Var Details

active_servers + + + + +

+

List of servers on the station

Proc Details

validate_servers +

+

All servers currently running, has players in it, and map has valid mobs

+ + + diff --git a/datum/round_event_control/disease_outbreak.html b/datum/round_event_control/disease_outbreak.html new file mode 100644 index 00000000000..4c3fa211d39 --- /dev/null +++ b/datum/round_event_control/disease_outbreak.html @@ -0,0 +1,46 @@ + + + + + + + /datum/round_event_control/disease_outbreak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

disease_outbreak + + + +

+ + + +

Vars

disease_candidatesDisease recipient candidates

Procs

generate_candidatesCreates a list of people who are elligible to become disease carriers for the event
+

Var Details

disease_candidates + + + + +

+

Disease recipient candidates

Proc Details

generate_candidates +

+

Creates a list of people who are elligible to become disease carriers for the event

+

Searches through the player list, adding anyone who is elligible to be a disease carrier for the event. This checks for +whether or not the candidate is alive, a crewmember, is able to receive a disease, and whether or not a disease is already present in them. +This proc needs to be run at some point to ensure the event has candidates to infect.

+ + + diff --git a/datum/round_event_control/grid_check.html b/datum/round_event_control/grid_check.html new file mode 100644 index 00000000000..e3aa552ef3f --- /dev/null +++ b/datum/round_event_control/grid_check.html @@ -0,0 +1,38 @@ + + + + + + + /datum/round_event_control/grid_check - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grid_check + + + +

+ + +

Vars

announcement_spam_protectionCooldown for the announement associated with this event. +Necessary due to the fact that this event is player triggerable.
+

Var Details

announcement_spam_protection + + + + +

+

Cooldown for the announement associated with this event. +Necessary due to the fact that this event is player triggerable.

+ + + diff --git a/datum/round_event_control/heart_attack.html b/datum/round_event_control/heart_attack.html new file mode 100644 index 00000000000..c2a00c4b603 --- /dev/null +++ b/datum/round_event_control/heart_attack.html @@ -0,0 +1,46 @@ + + + + + + + /datum/round_event_control/heart_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heart_attack + + + +

+ + + +

Vars

heart_attack_candidatesCandidates for recieving a healthy dose of heart disease

Procs

generate_candidatesPerforms initial analysis of which living players are eligible to be selected for a heart attack.
+

Var Details

heart_attack_candidates + + + + +

+

Candidates for recieving a healthy dose of heart disease

Proc Details

generate_candidates +

+

Performs initial analysis of which living players are eligible to be selected for a heart attack.

+

Traverses player_list and checks entries against a series of reviews to see if they should even be considered for a heart attack, +and at what weight should they be eligible to receive it. The check for whether or not a heart attack should be "blocked" by something is done +later, at the round_event level, so this proc mostly just checks users for whether or not a heart attack should be possible.

+ + + diff --git a/datum/round_event_control/market_crash.html b/datum/round_event_control/market_crash.html new file mode 100644 index 00000000000..d278ef8e994 --- /dev/null +++ b/datum/round_event_control/market_crash.html @@ -0,0 +1,29 @@ + + + + + + + /datum/round_event_control/market_crash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

market_crash + + + +

+ +

An event which decreases the station target temporarily, causing the inflation var to increase heavily.

+

Done by decreasing the station_target by a high value per crew member, resulting in the station total being much higher than the target, and causing artificial inflation.

+ + + diff --git a/datum/round_event_control/sandstorm.html b/datum/round_event_control/sandstorm.html new file mode 100644 index 00000000000..f0b8112182e --- /dev/null +++ b/datum/round_event_control/sandstorm.html @@ -0,0 +1,32 @@ + + + + + + + /datum/round_event_control/sandstorm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

sandstorm + + + +

+ +

Sandstorm Event: Throws dust/sand at one side of the station. High-intensity and relatively short, +however the incoming direction is given along with time to prepare. Damages can be reduced or +mitigated with a few people actively working to fix things as the storm hits, but leaving the event to run on its own can lead to widespread breaches.

+

Meant to be encountered mid-round, with enough spare manpower among the crew to properly respond. +Anyone with a welder or metal can contribute.

+ + + diff --git a/datum/round_event_control/sandstorm_classic.html b/datum/round_event_control/sandstorm_classic.html new file mode 100644 index 00000000000..46e7c68df44 --- /dev/null +++ b/datum/round_event_control/sandstorm_classic.html @@ -0,0 +1,31 @@ + + + + + + + /datum/round_event_control/sandstorm_classic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

sandstorm_classic + + + +

+ +

The original sandstorm event. An admin-only disasterfest that sands down all sides of the station +Uses space dust, meaning walls/rwalls are quickly chewed up very quickly.

+

Super dangerous, super funny, preserved for future admin use in case the new event reminds +them that this exists. It is unchanged from its original form and is arguably perfect.

+ + + diff --git a/datum/round_event_control/shuttle_loan.html b/datum/round_event_control/shuttle_loan.html new file mode 100644 index 00000000000..e6ff68c3ad2 --- /dev/null +++ b/datum/round_event_control/shuttle_loan.html @@ -0,0 +1,36 @@ + + + + + + + /datum/round_event_control/shuttle_loan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shuttle_loan + + + +

+ + +

Vars

admin_setupThe types of loan events already run (and to be excluded if the event triggers).
+

Var Details

admin_setup + + + + +

+

The types of loan events already run (and to be excluded if the event triggers).

+ + + diff --git a/datum/round_event_control/supermatter_surge.html b/datum/round_event_control/supermatter_surge.html new file mode 100644 index 00000000000..354423a261d --- /dev/null +++ b/datum/round_event_control/supermatter_surge.html @@ -0,0 +1,32 @@ + + + + + + + /datum/round_event_control/supermatter_surge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

supermatter_surge + + + +

+ +

Supermatter Surge

+

An engineering challenge event where the properties of the SM changes to be in a 'surge' of power. +For the duration of the event a powerloss inhibition is added to nitrogen, causing the crystal to retain more of its internal energy. +Heat modifier is lowered to generate some heat but not a high temp burn. +Bullet energy from emitters is raised slightly to raise meV while turned on.

+ + + diff --git a/datum/round_event_control/wizard/embedpocalypse.html b/datum/round_event_control/wizard/embedpocalypse.html new file mode 100644 index 00000000000..d0af7ab02dd --- /dev/null +++ b/datum/round_event_control/wizard/embedpocalypse.html @@ -0,0 +1,35 @@ + + + + + + + /datum/round_event_control/wizard/embedpocalypse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

embedpocalypse + + + +

+ + +

Procs

can_spawn_eventbehold... the only reason sticky is a subtype...

Proc Details

can_spawn_event +

+

behold... the only reason sticky is a subtype...

+ + + diff --git a/datum/round_event_control/wizard/petsplosion.html b/datum/round_event_control/wizard/petsplosion.html new file mode 100644 index 00000000000..ad448f0115c --- /dev/null +++ b/datum/round_event_control/wizard/petsplosion.html @@ -0,0 +1,43 @@ + + + + + + + /datum/round_event_control/wizard/petsplosion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

petsplosion + + + +

+ + + +

Vars

mobs_to_dupeNumber of mobs we're going to duplicate

Procs

count_mobCounts whether we found some kind of valid living mob
+

Var Details

mobs_to_dupe + + + + +

+

Number of mobs we're going to duplicate

Proc Details

count_mob +

+

Counts whether we found some kind of valid living mob

+ + + diff --git a/datum/rpgloot_controller.html b/datum/rpgloot_controller.html new file mode 100644 index 00000000000..3e2cee8548a --- /dev/null +++ b/datum/rpgloot_controller.html @@ -0,0 +1,54 @@ + + + + + + + /datum/rpgloot_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rpgloot_controller + + + +

+ +rpgloot controller! +

Stored in a global datum, and created when rpgloot is turned on via event or VV'ing the GLOB.rpgloot_controller to be a new /datum/rpgloot_controller. +Makes every item in the world fantasy, but also hooks into global signals for new items created to also bless them with fantasy.

+

What do I mean by fantasy?

+ + +

Procs

handle_current_items
on_new_item_in_existencesignal sent by a new item being created.

Proc Details

handle_current_items +

+ handle_current_items +

Gives every viable item in the world the fantasy component. +If the item it is giving fantasy to is a storage item, there's a chance it'll drop in an item fortification scroll. neat!

on_new_item_in_existence +

+

signal sent by a new item being created.

+ + + diff --git a/datum/rpgtitle_controller.html b/datum/rpgtitle_controller.html new file mode 100644 index 00000000000..0c1f33d34dd --- /dev/null +++ b/datum/rpgtitle_controller.html @@ -0,0 +1,51 @@ + + + + + + + /datum/rpgtitle_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rpgtitle_controller + + + +

+ + + + +

Procs

handle_current_jobs
on_crewmember_joinsignal sent by a crewmember joining
on_mob_loginsignal sent by a player list expanding

Proc Details

handle_current_jobs +

+ handle_current_jobs +

Calls on_crewmember_join on every crewmember +If the item it is giving fantasy to is a storage item, there's a chance it'll drop in an item fortification scroll. neat!

on_crewmember_join +

+

signal sent by a crewmember joining

on_mob_login +

+

signal sent by a player list expanding

+ + + diff --git a/datum/rust_spread.html b/datum/rust_spread.html new file mode 100644 index 00000000000..5c04a85cb1d --- /dev/null +++ b/datum/rust_spread.html @@ -0,0 +1,75 @@ + + + + + + + /datum/rust_spread - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rust_spread + + + +

+ +

#Rust spread datum

+

Simple datum that automatically spreads rust around it.

+

Simple implementation of automatically growing entity.

+ + + + + +

Vars

blacklisted_turfsStatic blacklist of turfs we can't spread to.
centreThe very center of the spread.
edge_turfsList of turfs at the edge of our rust (but not yet rusted).
rusted_turfsList of all turfs we've afflicted.
spread_per_secThe rate of spread every tick.

Procs

compile_turfsCompile turfs
+

Var Details

blacklisted_turfs + + + + +

+

Static blacklist of turfs we can't spread to.

centre + + + + +

+

The very center of the spread.

edge_turfs + + + + +

+

List of turfs at the edge of our rust (but not yet rusted).

rusted_turfs + + + + +

+

List of all turfs we've afflicted.

spread_per_sec + + + + +

+

The rate of spread every tick.

Proc Details

compile_turfs +

+

Compile turfs

+

Recreates the edge_turfs list. +Updates the rusted_turfs list, in case any turfs within were un-rusted.

+ + + diff --git a/datum/scan_condition.html b/datum/scan_condition.html new file mode 100644 index 00000000000..585cfc6dd93 --- /dev/null +++ b/datum/scan_condition.html @@ -0,0 +1,35 @@ + + + + + + + /datum/scan_condition - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

scan_condition + + + +

+ +

Scan condition, these require some specific setup for the dish to count for the scan power for the given site

+

Procs

check_dishReturns power multiplier of the dish depending on condition.

Proc Details

check_dish +

+

Returns power multiplier of the dish depending on condition.

+ + + diff --git a/datum/scanner_controller.html b/datum/scanner_controller.html new file mode 100644 index 00000000000..e2eb663b54b --- /dev/null +++ b/datum/scanner_controller.html @@ -0,0 +1,57 @@ + + + + + + + /datum/scanner_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

scanner_controller + + + +

+ +

Helper datum to calculate and store scanning power and track in progress scans

+ + + +

Vars

current_scanScan currently in progress if any.
scan_power_cacheCurrent scan power keyed by site
tracked_dishesList of dishes in working condition.
wide_scan_bandBand for the next wide scan. Increased after successful completion of wide scan.
+

Var Details

current_scan + + + + +

+

Scan currently in progress if any.

scan_power_cache + + + + +

+

Current scan power keyed by site

tracked_dishes + + + + +

+

List of dishes in working condition.

wide_scan_band + + + + +

+

Band for the next wide scan. Increased after successful completion of wide scan.

+ + + diff --git a/datum/scar.html b/datum/scar.html new file mode 100644 index 00000000000..b4f1940a732 --- /dev/null +++ b/datum/scar.html @@ -0,0 +1,150 @@ + + + + + + + /datum/scar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scar + + + +

+ +

scars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"

+

Arguments:

+ + + + + + + + + + + + + + + +

Vars

check_any_biostatesIf false, we will only check to see if a limb has ALL our biostates, instead of just any.
coverableWhether this scar can actually be covered up by clothing
descriptionThe description of the scar for examining
fakeThese scars are assumed to come from changeling disguises, rather than from persistence or wounds. As such, they are deleted by dropping changeling disguises, and are ignored by persistence
persistent_character_slotIf we're a persistent scar or may become one, we go in this character slot
precise_locationA string detailing the specific part of the bodypart the scar is on, for fluff purposes. See /datum/scar/proc/generate
required_limb_biostateThe biostates we require from a limb to give them our scar.
severityThe severity of the scar, derived from the worst severity a wound was at before it was healed (see: slashes), determines how visible/bold the scar description is
visibilityHow many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check

Procs

formatUsed to format a scar to save for either persistent scars, or for changeling disguises
format_amputatedUsed to format a scar to save in preferences for persistent scars
generategenerate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.
get_examine_descriptionWhat will show up in examine_more() if this scar is visible
is_visibleWhether a scar can currently be seen by the viewer
lazy_attachUsed when we finalize a scar from a healing cut
loadUsed to "load" a persistent scar
+

Var Details

check_any_biostates + + + + +

+

If false, we will only check to see if a limb has ALL our biostates, instead of just any.

coverable + + + + +

+

Whether this scar can actually be covered up by clothing

description + + + + +

+

The description of the scar for examining

fake + + + + +

+

These scars are assumed to come from changeling disguises, rather than from persistence or wounds. As such, they are deleted by dropping changeling disguises, and are ignored by persistence

persistent_character_slot + + + + +

+

If we're a persistent scar or may become one, we go in this character slot

precise_location + + + + +

+

A string detailing the specific part of the bodypart the scar is on, for fluff purposes. See /datum/scar/proc/generate

required_limb_biostate + + + + +

+

The biostates we require from a limb to give them our scar.

severity + + + + +

+

The severity of the scar, derived from the worst severity a wound was at before it was healed (see: slashes), determines how visible/bold the scar description is

visibility + + + + +

+

How many tiles away someone can see this scar, goes up with severity. Clothes covering this limb will decrease visibility by 1 each, except for the head/face which is a binary "is mask obscuring face" check

Proc Details

format +

+

Used to format a scar to save for either persistent scars, or for changeling disguises

format_amputated +

+

Used to format a scar to save in preferences for persistent scars

generate +

+

generate() is used to actually fill out the info for a scar, according to the limb and wound it is provided.

+

After creating a scar, call this on it while targeting the scarred bodypart with a given wound to apply the scar.

+

Arguments:

+

get_examine_description +

+

What will show up in examine_more() if this scar is visible

is_visible +

+

Whether a scar can currently be seen by the viewer

lazy_attach +

+

Used when we finalize a scar from a healing cut

load +

+

Used to "load" a persistent scar

+ + + diff --git a/datum/scientific_paper.html b/datum/scientific_paper.html new file mode 100644 index 00000000000..feda2949f95 --- /dev/null +++ b/datum/scientific_paper.html @@ -0,0 +1,195 @@ + + + + + + + /datum/scientific_paper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scientific_paper + + + +

+ +

Scientific paper datum for retrieval and re-reading. A lot of the variables are there for fluff & flavor.

+ + + + + + + + + + + + + + + + + +

Vars

abstractAbstract.
authorThe principal author of our paper.
et_aliaWhether this paper is co-authored or not.
experiment_pathExperiment typepath.
gainsThe coop and funding gains from the paper.
partner_pathThe selected sponsor for our paper. Pathtype form.
tierDerived from tracked_variable. Used for indexing and to reduce duplicates. +Only one paper can be published in each tier for each experiment.
titleThe title of our paper.
tracked_variableThe main "score" of a particular experiment.

Procs

allowed_to_publish
calculate_gainsCalculate the gains of an experiment. +Gain calculation follows a sigmoid curve. +f(x) = L / (1+e^(-k(x-xo))) +L is the upper limit. This should be the gain variable * 2. +k is the steepness. +x0 is the midpoint. +x is our tracked variable. +Returns the expected value of that tier.
calculate_tierSteepness is calculated so that f(x=0) is always 1. +Determine which tier can we publish at. Lower limit for an allowed tier is 10% of gain. Empty list if none are allowed.
clone_intoClones into a new paper type. +Important (non-fluff) variables will be carried over and should be cleaned with set_experiment by whoever is calling this.
return_gistReturns the formatted, readable gist of our paper in a list.
set_amount
set_experimentExperiment -> Tier -> Gains +Experiment -> Partners -> Gains +Changing anything in the chain means those following it should be recounted.
set_partner
set_tierSets a tier for us. Nulls the tier when called without args. Re-counts the amount.
+

Var Details

abstract + + + + +

+

Abstract.

author + + + + +

+

The principal author of our paper.

et_alia + + + + +

+

Whether this paper is co-authored or not.

experiment_path + + + + +

+

Experiment typepath.

gains + + + + +

+

The coop and funding gains from the paper.

partner_path + + + + +

+

The selected sponsor for our paper. Pathtype form.

tier + + + + +

+

Derived from tracked_variable. Used for indexing and to reduce duplicates. +Only one paper can be published in each tier for each experiment.

title + + + + +

+

The title of our paper.

tracked_variable + + + + +

+

The main "score" of a particular experiment.

Proc Details

allowed_to_publish +

+

calculate_gains +

+

Calculate the gains of an experiment. +Gain calculation follows a sigmoid curve. +f(x) = L / (1+e^(-k(x-xo))) +L is the upper limit. This should be the gain variable * 2. +k is the steepness. +x0 is the midpoint. +x is our tracked variable. +Returns the expected value of that tier.

calculate_tier +

+

Steepness is calculated so that f(x=0) is always 1. +Determine which tier can we publish at. Lower limit for an allowed tier is 10% of gain. Empty list if none are allowed.

clone_into +

+

Clones into a new paper type. +Important (non-fluff) variables will be carried over and should be cleaned with set_experiment by whoever is calling this.

+

clone_into your own typepath will be like a normal clone.

+

If you want to subtype this, do it in a way that doesn't mess with the type change.

return_gist +

+

Returns the formatted, readable gist of our paper in a list.

set_amount +

+

set_experiment +

+

Experiment -> Tier -> Gains +Experiment -> Partners -> Gains +Changing anything in the chain means those following it should be recounted.

+

Used when assigning an experiment to a specific paper. +Failing to provide a proper path, a tracked variable, or a correct data should null every non-fluff data. +Implement this in the children procs.

set_partner +

+

set_tier +

+

Sets a tier for us. Nulls the tier when called without args. Re-counts the amount.

+ + + diff --git a/datum/scientific_paper/explosive.html b/datum/scientific_paper/explosive.html new file mode 100644 index 00000000000..d4597ffaded --- /dev/null +++ b/datum/scientific_paper/explosive.html @@ -0,0 +1,45 @@ + + + + + + + /datum/scientific_paper/explosive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

explosive + + + +

+ + + +

Vars

explosion_recordUsed to check explosive experiments that needs to be unique. +References a tachyon record where applicable.

Procs

allowed_to_publishCheck if our explosion has already been published and whether the experiment path is correct or not.
+

Var Details

explosion_record + + + + +

+

Used to check explosive experiments that needs to be unique. +References a tachyon record where applicable.

Proc Details

allowed_to_publish +

+

Check if our explosion has already been published and whether the experiment path is correct or not.

+ + + diff --git a/datum/scientific_paper/gaseous.html b/datum/scientific_paper/gaseous.html new file mode 100644 index 00000000000..606a01d0aeb --- /dev/null +++ b/datum/scientific_paper/gaseous.html @@ -0,0 +1,39 @@ + + + + + + + /datum/scientific_paper/gaseous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

gaseous + + + +

+ + +

Procs

allowed_to_publishCheck if our record datum is a duplicate or no. +No index number is necessary because compressor records cant be replicated. +Also checks the experiment path.

Proc Details

allowed_to_publish +

+

Check if our record datum is a duplicate or no. +No index number is necessary because compressor records cant be replicated. +Also checks the experiment path.

+ + + diff --git a/datum/scientific_partner.html b/datum/scientific_partner.html new file mode 100644 index 00000000000..3703a5b5dab --- /dev/null +++ b/datum/scientific_partner.html @@ -0,0 +1,64 @@ + + + + + + + /datum/scientific_partner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

scientific_partner + + + +

+ +

Various informations on companies/scientific programs/journals etc that the players can sign on to.

+ + + + +

Vars

accepted_experimentsList of ordnance experiments that our partner is willing to accept. If this list is not filled it means the partner will accept everything.
boostable_nodesAssociative list of which technology the partner might be able to boost and by how much.
flufftextBrief explanation of the associated program. Can be used for lore.
multipliersCash and renown multiplier for allying with this partner.
nameName of the partner, shown in the Science program's UI.
+

Var Details

accepted_experiments + + + + +

+

List of ordnance experiments that our partner is willing to accept. If this list is not filled it means the partner will accept everything.

boostable_nodes + + + + +

+

Associative list of which technology the partner might be able to boost and by how much.

flufftext + + + + +

+

Brief explanation of the associated program. Can be used for lore.

multipliers + + + + +

+

Cash and renown multiplier for allying with this partner.

name + + + + +

+

Name of the partner, shown in the Science program's UI.

+ + + diff --git a/datum/screen_object_holder.html b/datum/screen_object_holder.html new file mode 100644 index 00000000000..79a36b6a54e --- /dev/null +++ b/datum/screen_object_holder.html @@ -0,0 +1,43 @@ + + + + + + + /datum/screen_object_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

screen_object_holder + + + +

+ +

A helper instance that will handle adding objects from the client's screen +to easily remove from later.

+ +

Procs

give_protected_screen_objectGives the screen object to the client, but does not qdel it when it's cleared
give_screen_objectGives the screen object to the client, qdel'ing it when it's cleared

Proc Details

give_protected_screen_object +

+

Gives the screen object to the client, but does not qdel it when it's cleared

give_screen_object +

+

Gives the screen object to the client, qdel'ing it when it's cleared

+ + + diff --git a/datum/secrets_menu.html b/datum/secrets_menu.html new file mode 100644 index 00000000000..8a6bf811ba2 --- /dev/null +++ b/datum/secrets_menu.html @@ -0,0 +1,35 @@ + + + + + + + /datum/secrets_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

secrets_menu + + + +

+ + +

Procs

ui_actfun! buttons.

Proc Details

ui_act +

+

fun! buttons.

+ + + diff --git a/datum/security_level.html b/datum/security_level.html new file mode 100644 index 00000000000..0515041bf3f --- /dev/null +++ b/datum/security_level.html @@ -0,0 +1,108 @@ + + + + + + + /datum/security_level - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

security_level + + + +

+ +

Security levels

+

These are used by the security level subsystem. Each one of these represents a security level that a player can set.

+

Base type is abstract

+ + + + + + + + + + +

Vars

announcement_colorThe color of our announcement divider.
elevating_to_announcementOur announcement when elevating to this level
elevating_to_configuration_keyOur configuration key for elevating to text, if set, will override the default elevating to announcement.
looping_soundThe looping sound that will be played while the security level is set
looping_sound_intervalThe looping sound interval
lowering_to_announcementOur announcement when lowering to this level
lowering_to_configuration_keyOur configuration key for lowering to text, if set, will override the default lowering to announcement.
nameThe name of this security level.
number_levelThe numerical level of this security level, see defines for more information.
shuttle_call_time_modThe shuttle call time modification of this security level
soundThe sound that we will play when this security level is set
+

Var Details

announcement_color + + + + +

+

The color of our announcement divider.

elevating_to_announcement + + + + +

+

Our announcement when elevating to this level

elevating_to_configuration_key + + + + +

+

Our configuration key for elevating to text, if set, will override the default elevating to announcement.

looping_sound + + + + +

+

The looping sound that will be played while the security level is set

looping_sound_interval + + + + +

+

The looping sound interval

lowering_to_announcement + + + + +

+

Our announcement when lowering to this level

lowering_to_configuration_key + + + + +

+

Our configuration key for lowering to text, if set, will override the default lowering to announcement.

name + + + + +

+

The name of this security level.

number_level + + + + +

+

The numerical level of this security level, see defines for more information.

shuttle_call_time_mod + + + + +

+

The shuttle call time modification of this security level

sound + + + + +

+

The sound that we will play when this security level is set

+ + + diff --git a/datum/security_level/blue.html b/datum/security_level/blue.html new file mode 100644 index 00000000000..5c3c86b5ca0 --- /dev/null +++ b/datum/security_level/blue.html @@ -0,0 +1,29 @@ + + + + + + + /datum/security_level/blue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

blue + + + +

+ +

BLUE

+

Caution advised

+ + + diff --git a/datum/security_level/delta.html b/datum/security_level/delta.html new file mode 100644 index 00000000000..d52328e48a3 --- /dev/null +++ b/datum/security_level/delta.html @@ -0,0 +1,29 @@ + + + + + + + /datum/security_level/delta - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

delta + + + +

+ +

DELTA

+

Station destruction is imminent

+ + + diff --git a/datum/security_level/green.html b/datum/security_level/green.html new file mode 100644 index 00000000000..70a207c3960 --- /dev/null +++ b/datum/security_level/green.html @@ -0,0 +1,29 @@ + + + + + + + /datum/security_level/green - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

green + + + +

+ +

GREEN

+

No threats

+ + + diff --git a/datum/security_level/red.html b/datum/security_level/red.html new file mode 100644 index 00000000000..2f10df72577 --- /dev/null +++ b/datum/security_level/red.html @@ -0,0 +1,29 @@ + + + + + + + /datum/security_level/red - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

red + + + +

+ +

RED

+

Hostile threats

+ + + diff --git a/datum/select_equipment.html b/datum/select_equipment.html new file mode 100644 index 00000000000..98e6978fce4 --- /dev/null +++ b/datum/select_equipment.html @@ -0,0 +1,60 @@ + + + + + + + /datum/select_equipment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

select_equipment + + + +

+ + +

Procs

outfit_entryPacks up data about an outfit as an assoc list to send to the UI as an outfit entry.

Proc Details

outfit_entry +

+

Packs up data about an outfit as an assoc list to send to the UI as an outfit entry.

+

Args:

+ +

Returns (list) An outfit entry

+ + + diff --git a/datum/shuttle_event.html b/datum/shuttle_event.html new file mode 100644 index 00000000000..d3463f410a0 --- /dev/null +++ b/datum/shuttle_event.html @@ -0,0 +1,89 @@ + + + + + + + /datum/shuttle_event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_event + + + +

+ +

An event that can run during shuttle flight, and will run for the duration of it (configurable)

+ + + + + + + +

Vars

activate_atwhen do we activate?
activation_fractionfraction of the escape timer at which we activate, 0 means we start running immediately +(so if activation timer is 0.2 and shuttle takes 3 minutes to get going, it will activate in 36 seconds) +We only care about the timer from the moment of launch, any speed changed afterwards are not worth dealing with
activeTrack if we're allowed to run, gets turned to TRUE when the activation timer hits
event_probabilityprobability of this event to run from 0 to 100
nameHow we're announced to ghosts and stuff
portOur reference to the docking port and thus the shuttle

Procs

activateWe got activated
event_processProcess with the SShutle subsystem. Return SHUTTLE_EVENT_CLEAR to self-destruct
+

Var Details

activate_at + + + + +

+

when do we activate?

activation_fraction + + + + +

+

fraction of the escape timer at which we activate, 0 means we start running immediately +(so if activation timer is 0.2 and shuttle takes 3 minutes to get going, it will activate in 36 seconds) +We only care about the timer from the moment of launch, any speed changed afterwards are not worth dealing with

active + + + + +

+

Track if we're allowed to run, gets turned to TRUE when the activation timer hits

event_probability + + + + +

+

probability of this event to run from 0 to 100

name + + + + +

+

How we're announced to ghosts and stuff

port + + + + +

+

Our reference to the docking port and thus the shuttle

Proc Details

activate +

+

We got activated

event_process +

+

Process with the SShutle subsystem. Return SHUTTLE_EVENT_CLEAR to self-destruct

+ + + diff --git a/datum/shuttle_event/simple_spawner.html b/datum/shuttle_event/simple_spawner.html new file mode 100644 index 00000000000..9b0385c32e7 --- /dev/null +++ b/datum/shuttle_event/simple_spawner.html @@ -0,0 +1,127 @@ + + + + + + + /datum/shuttle_event/simple_spawner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

simple_spawner + + + +

+ +

Spawns objects, mobs, whatever with all the necessary code to make it hit and/or miss the shuttle

+ + + + + + + + + + + + + +

Vars

remove_from_list_when_spawnedIf set to TRUE, every time an object is spawned their weight is decreased untill they are removed
self_destruct_when_emptyIf set to true, we'll delete ourselves if we cant spawn anything anymore. Useful in conjunction with remove_from_list_when_spawned
spawn_probability_per_processChance, from 0 to 100, for something to spawn
spawning_flagsbehaviour of spawning objects, if we spawn
spawning_listweighted list with spawnable movables
spawning_turfs_hitList of valid spawning turfs, generated from generate_spawning_turfs(), that will HIT the shuttle
spawning_turfs_missList of valid spawning turfs, generated from generate_spawning_turfs(), that will MISS the shuttle
spawns_per_spawnIncrement if you want more stuff to spawn at once

Procs

event_processso we get either the horizontal width or vertical width, which would both equal the amount of spawn tiles
generate_spawning_turfsBounding coords are list(x0, y0, x1, y1) where x0 and y0 are top-left
get_spawn_turfPick a random turf from the valid turfs we got. Overwrite if you need some custom picking
get_type_to_spawnNot technically a getter if remove_from_list_when_spawned=TRUE. Otherwise, this returns the type we're going to spawn and throw at the shuttle
post_spawnDo any post-spawn edits you need to do
spawn_movableSpawn stuff! if you're not using this, don't use the simple_spawner subtype
+

Var Details

remove_from_list_when_spawned + + + + +

+

If set to TRUE, every time an object is spawned their weight is decreased untill they are removed

self_destruct_when_empty + + + + +

+

If set to true, we'll delete ourselves if we cant spawn anything anymore. Useful in conjunction with remove_from_list_when_spawned

spawn_probability_per_process + + + + +

+

Chance, from 0 to 100, for something to spawn

spawning_flags + + + + +

+

behaviour of spawning objects, if we spawn

spawning_list + + + + +

+

weighted list with spawnable movables

spawning_turfs_hit + + + + +

+

List of valid spawning turfs, generated from generate_spawning_turfs(), that will HIT the shuttle

spawning_turfs_miss + + + + +

+

List of valid spawning turfs, generated from generate_spawning_turfs(), that will MISS the shuttle

spawns_per_spawn + + + + +

+

Increment if you want more stuff to spawn at once

Proc Details

event_process +

+

so we get either the horizontal width or vertical width, which would both equal the amount of spawn tiles

generate_spawning_turfs +

+

Bounding coords are list(x0, y0, x1, y1) where x0 and y0 are top-left

get_spawn_turf +

+

Pick a random turf from the valid turfs we got. Overwrite if you need some custom picking

get_type_to_spawn +

+

Not technically a getter if remove_from_list_when_spawned=TRUE. Otherwise, this returns the type we're going to spawn and throw at the shuttle

post_spawn +

+

Do any post-spawn edits you need to do

spawn_movable +

+

Spawn stuff! if you're not using this, don't use the simple_spawner subtype

+ + + diff --git a/datum/shuttle_event/simple_spawner/carp/friendly.html b/datum/shuttle_event/simple_spawner/carp/friendly.html new file mode 100644 index 00000000000..935c199ebff --- /dev/null +++ b/datum/shuttle_event/simple_spawner/carp/friendly.html @@ -0,0 +1,36 @@ + + + + + + + /datum/shuttle_event/simple_spawner/carp/friendly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

friendly + + + +

+ +

Spawn a bunch of friendly carp to view from inside the shuttle! May occassionally pass through and nibble some windows, but are otherwise pretty harmless

+

Vars

hit_the_shuttle_chanceChance we hit the shuttle, instead of flying past it (most carp will go through anyway, and we dont want this to be too annoying to take away from the majesty)
+

Var Details

hit_the_shuttle_chance + + + + +

+

Chance we hit the shuttle, instead of flying past it (most carp will go through anyway, and we dont want this to be too annoying to take away from the majesty)

+ + + diff --git a/datum/shuttle_event/simple_spawner/meteor/dust.html b/datum/shuttle_event/simple_spawner/meteor/dust.html new file mode 100644 index 00000000000..fcc0aac9a53 --- /dev/null +++ b/datum/shuttle_event/simple_spawner/meteor/dust.html @@ -0,0 +1,36 @@ + + + + + + + /datum/shuttle_event/simple_spawner/meteor/dust - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dust + + + +

+ +

Very weak meteors, but may very rarely actually hit the shuttle!

+

Vars

hit_the_shuttle_chanceWe can, occassionally, hit the shuttle, but we dont do a lot of damage and should only do so pretty rarely
+

Var Details

hit_the_shuttle_chance + + + + +

+

We can, occassionally, hit the shuttle, but we dont do a lot of damage and should only do so pretty rarely

+ + + diff --git a/datum/shuttle_event/simple_spawner/player_controlled.html b/datum/shuttle_event/simple_spawner/player_controlled.html new file mode 100644 index 00000000000..956e8c934de --- /dev/null +++ b/datum/shuttle_event/simple_spawner/player_controlled.html @@ -0,0 +1,43 @@ + + + + + + + /datum/shuttle_event/simple_spawner/player_controlled - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

player_controlled + + + +

+ +

Mobs spawned with this one are automatically player controlled, if possible

+ +

Vars

spawn_anyway_if_no_playerIf we cant find a ghost, do we spawn them anyway? Otherwise they go in the garbage bin

Procs

try_grant_ghost_controlAttempt to grant control of a mob to ghosts before spawning it in. if spawn_anyway_if_no_player = TRUE, we spawn the mob even if there's no ghosts
+

Var Details

spawn_anyway_if_no_player + + + + +

+

If we cant find a ghost, do we spawn them anyway? Otherwise they go in the garbage bin

Proc Details

try_grant_ghost_control +

+

Attempt to grant control of a mob to ghosts before spawning it in. if spawn_anyway_if_no_player = TRUE, we spawn the mob even if there's no ghosts

+ + + diff --git a/datum/shuttle_event/simple_spawner/player_controlled/carp.html b/datum/shuttle_event/simple_spawner/player_controlled/carp.html new file mode 100644 index 00000000000..6d55061073b --- /dev/null +++ b/datum/shuttle_event/simple_spawner/player_controlled/carp.html @@ -0,0 +1,36 @@ + + + + + + + /datum/shuttle_event/simple_spawner/player_controlled/carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

carp + + + +

+ +

Spawns three player controlled carp!! Deadchats final chance to wreak havoc, probably really not that dangerous if even one person has a laser gun

+

Vars

max_carp_spawnshow many carp can we spawn max?
+

Var Details

max_carp_spawns + + + + +

+

how many carp can we spawn max?

+ + + diff --git a/datum/shuttle_loan_situation.html b/datum/shuttle_loan_situation.html new file mode 100644 index 00000000000..9440ef932ab --- /dev/null +++ b/datum/shuttle_loan_situation.html @@ -0,0 +1,78 @@ + + + + + + + /datum/shuttle_loan_situation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_loan_situation + + + +

+ +

One of the potential shuttle loans you might receive.

+ + + + + + +

Vars

announcement_textWhat they said about it.
bonus_pointsSupply points earned for taking the deal.
logging_descSmall description of the loan for easier log reading.
senderWho sent the shuttle
shuttle_transit_textWhat the shuttle says about it.
thanks_msgResponse for taking the deal.

Procs

spawn_itemsSpawns paths added to spawn_list, and passes empty shuttle turfs so you can spawn more complicated things like dead bodies.
+

Var Details

announcement_text + + + + +

+

What they said about it.

bonus_points + + + + +

+

Supply points earned for taking the deal.

logging_desc + + + + +

+

Small description of the loan for easier log reading.

sender + + + + +

+

Who sent the shuttle

shuttle_transit_text + + + + +

+

What the shuttle says about it.

thanks_msg + + + + +

+

Response for taking the deal.

Proc Details

spawn_items +

+

Spawns paths added to spawn_list, and passes empty shuttle turfs so you can spawn more complicated things like dead bodies.

+ + + diff --git a/datum/signal.html b/datum/signal.html new file mode 100644 index 00000000000..5949047210f --- /dev/null +++ b/datum/signal.html @@ -0,0 +1,70 @@ + + + + + + + /datum/signal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

signal + + + +

+ + + + + + +

Vars

dataThe data carried through this signal. Defaults to null, otherwise it's +an associative list of (string, any).
frequencyThe frequency on which this signal was emitted.
logging_dataLogging data, used for logging purposes. Makes sense, right?
sourceThe source of this signal.
transmission_methodThe method through which this signal was transmitted. +See all of the TRANSMISSION_X in code/__DEFINES/radio.dm for +all of the possible options.
+

Var Details

data + + + + +

+

The data carried through this signal. Defaults to null, otherwise it's +an associative list of (string, any).

frequency + + + + +

+

The frequency on which this signal was emitted.

logging_data + + + + +

+

Logging data, used for logging purposes. Makes sense, right?

source + + + + +

+

The source of this signal.

transmission_method + + + + +

+

The method through which this signal was transmitted. +See all of the TRANSMISSION_X in code/__DEFINES/radio.dm for +all of the possible options.

+ + + diff --git a/datum/signal/subspace.html b/datum/signal/subspace.html new file mode 100644 index 00000000000..025f8b4e216 --- /dev/null +++ b/datum/signal/subspace.html @@ -0,0 +1,94 @@ + + + + + + + /datum/signal/subspace - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

subspace + + + +

+ + + + + + + + +

Vars

levelsThe levels on which this signal can be received. Generally set by +a broadcaster, a relay or a message server. +If this list contains 0, then it will be receivable on every single +z-level.
originalThe signal that was the origin of this one, in case it was a copy.
server_typeThe type of server this signal is meant to be relayed to. +Not exclusive, the bus will usually try to send it through +more signals, but for that look for +/obj/machinery/telecomms/bus/receive_information()

Procs

broadcastHandles broadcasting this signal out, to be implemented by subtypes.
copyHandles creating a new subspace signal that's a hard copy of this one, linked +to this current signal via the original value, so that it can be traced back.
mark_doneHandles marking the current signal, as well as its original signal, +and their original signals (recursively) as done, in their data["done"].
send_to_receiversHandles sending this signal to every available receiver and mainframe.
+

Var Details

levels + + + + +

+

The levels on which this signal can be received. Generally set by +a broadcaster, a relay or a message server. +If this list contains 0, then it will be receivable on every single +z-level.

original + + + + +

+

The signal that was the origin of this one, in case it was a copy.

server_type + + + + +

+

The type of server this signal is meant to be relayed to. +Not exclusive, the bus will usually try to send it through +more signals, but for that look for +/obj/machinery/telecomms/bus/receive_information()

Proc Details

broadcast +

+

Handles broadcasting this signal out, to be implemented by subtypes.

copy +

+

Handles creating a new subspace signal that's a hard copy of this one, linked +to this current signal via the original value, so that it can be traced back.

mark_done +

+

Handles marking the current signal, as well as its original signal, +and their original signals (recursively) as done, in their data["done"].

send_to_receivers +

+

Handles sending this signal to every available receiver and mainframe.

+ + + diff --git a/datum/signal/subspace/messaging/tablet_message.html b/datum/signal/subspace/messaging/tablet_message.html new file mode 100644 index 00000000000..73f2072121a --- /dev/null +++ b/datum/signal/subspace/messaging/tablet_message.html @@ -0,0 +1,58 @@ + + + + + + + /datum/signal/subspace/messaging/tablet_message - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tablet_message + + + +

+ + + + + +

Procs

format_messageReturns the formatted message contained in this message. Use this to apply +any processing to it if it needs to be formatted in a specific way.
format_photo_pathReturns the formatted photo path contained in this message, if there's one.
format_senderReturns a string representing the sender of this message, formatted properly.
format_targetReturns a string representing the target of this message, formatted properly.

Proc Details

format_message +

+

Returns the formatted message contained in this message. Use this to apply +any processing to it if it needs to be formatted in a specific way.

format_photo_path +

+

Returns the formatted photo path contained in this message, if there's one.

format_sender +

+

Returns a string representing the sender of this message, formatted properly.

format_target +

+

Returns a string representing the target of this message, formatted properly.

+ + + diff --git a/datum/signal/subspace/vocal.html b/datum/signal/subspace/vocal.html new file mode 100644 index 00000000000..a00fb35082e --- /dev/null +++ b/datum/signal/subspace/vocal.html @@ -0,0 +1,50 @@ + + + + + + + /datum/signal/subspace/vocal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vocal + + + +

+ + + + +

Vars

languageThe language this vocal transmission was sent in.
virtThe virtualspeaker associated with this vocal transmission.

Procs

broadcastThis is the meat function for making radios hear vocal transmissions.
+

Var Details

language + + + + +

+

The language this vocal transmission was sent in.

virt + + + + +

+

The virtualspeaker associated with this vocal transmission.

Proc Details

broadcast +

+

This is the meat function for making radios hear vocal transmissions.

+ + + diff --git a/datum/skill.html b/datum/skill.html new file mode 100644 index 00000000000..a8ffdbc618b --- /dev/null +++ b/datum/skill.html @@ -0,0 +1,100 @@ + + + + + + + /datum/skill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skill + + + +

+ + + + + + + + + +

Vars

levelDownMessagesList associating different messages that appear on level up with different levels
levelUpMessagesList associating different messages that appear on level up with different levels
modifiersDictionary of modifier type - list of modifiers (indexed by level). 7 entries in each list for all 7 skill levels.
skill_item_pathList Path pointing to the skill item reward that will appear when a user finishes leveling up a skill

Procs

Newnew: sets up some lists.
level_gainedlevel_gained: Gives skill levelup messages to the user
level_lostlevel_lost: See level_gained, same idea but fires on skill level-down
try_skill_rewardtry_skill_reward: Checks to see if a user is eligable for a tangible reward for reaching a certain skill level
+

Var Details

levelDownMessages + + + + +

+

List associating different messages that appear on level up with different levels

levelUpMessages + + + + +

+

List associating different messages that appear on level up with different levels

modifiers + + + + +

+

Dictionary of modifier type - list of modifiers (indexed by level). 7 entries in each list for all 7 skill levels.

skill_item_path + + + + +

+

List Path pointing to the skill item reward that will appear when a user finishes leveling up a skill

Proc Details

New +

+

new: sets up some lists.

+

Can't happen in the datum's definition because these lists are not constant expressions

level_gained +

+

level_gained: Gives skill levelup messages to the user

+

Only fires if the xp gain isn't silent, so only really useful for messages. +Arguments:

+

level_lost +

+

level_lost: See level_gained, same idea but fires on skill level-down

try_skill_reward +

+

try_skill_reward: Checks to see if a user is eligable for a tangible reward for reaching a certain skill level

+

Currently gives the user a special cloak when they reach a legendary level at any given skill +Arguments:

+
+ + + diff --git a/datum/skill/fitness.html b/datum/skill/fitness.html new file mode 100644 index 00000000000..9baeacba075 --- /dev/null +++ b/datum/skill/fitness.html @@ -0,0 +1,43 @@ + + + + + + + /datum/skill/fitness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fitness + + + +

+ + + +

Vars

modifiersThe skill value modifier effects the max duration that is possible for /datum/status_effect/exercised
size_boostHow much bigger your mob becomes per level (these effects don't stack together)
+

Var Details

modifiers + + + + +

+

The skill value modifier effects the max duration that is possible for /datum/status_effect/exercised

size_boost + + + + +

+

How much bigger your mob becomes per level (these effects don't stack together)

+ + + diff --git a/datum/slime_type.html b/datum/slime_type.html new file mode 100644 index 00000000000..8304f1a6665 --- /dev/null +++ b/datum/slime_type.html @@ -0,0 +1,57 @@ + + + + + + + /datum/slime_type - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slime_type + + + +

+ + + + + +

Vars

colourOur slime's colour as text. Used by both description, and icon
core_typeThe type our slime spawns
mutationsThe possible mutations of our slime
rgb_codeThe hexcode used by the slime to colour their victims
+

Var Details

colour + + + + +

+

Our slime's colour as text. Used by both description, and icon

core_type + + + + +

+

The type our slime spawns

mutations + + + + +

+

The possible mutations of our slime

rgb_code + + + + +

+

The hexcode used by the slime to colour their victims

+ + + diff --git a/datum/sm_delam.html b/datum/sm_delam.html new file mode 100644 index 00000000000..f261030eb5d --- /dev/null +++ b/datum/sm_delam.html @@ -0,0 +1,193 @@ + + + + + + + /datum/sm_delam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sm_delam + + + +

+ +

Logic holder for supermatter delaminations, goes off the strategy design pattern. +Selected by /obj/machinery/power/supermatter_crystal/proc/set_delam

+ + + + + + + + + + + + + + + + + + + +

Procs

can_selectWhether we are eligible for this delamination or not. TRUE if valid, FALSE if not. +/obj/machinery/power/supermatter_crystal/proc/set_delam
count_down_messagesReturns a set of messages to be spouted during delams +First message is start of count down, second message is quitting of count down (if sm healed), third is 5 second intervals
delam_progressWhatever we're supposed to do when a delam is currently in progress. +Mostly just to tell people how useless engi is, and play some alarm sounds. +Returns TRUE if we just told people a delam is going on. FALSE if its healing or we didnt say anything. +[/obj/machinery/power/supermatter_crystal/proc/process_atmos]
delaminateCalled when the count down has been finished, do the nasty work. +/obj/machinery/power/supermatter_crystal/proc/count_down
effect_anomalySpawns anomalies all over the station. Half instantly, the other half over time.
effect_crystal_massScatters crystal mass over the event spawns as long as they are at least 30 tiles away from whatever we want to avoid.
effect_demoralizeHallucinates and makes mobs in Z level sad.
effect_evac_rift_endAnnounce the destruction of the rift and end the round.
effect_evac_rift_startSpawn an evacuation rift for people to go through.
effect_explosionExplodes
effect_irradiateIrradiates mobs around 20 tiles of the sm. +Just the mobs apparently.
effect_singuloSpawns a scrung and eat the SM.
effect_strand_shuttleMail the shuttle off to buy milk.
effect_teslaTeslas
examineAdded to an examine return value. +[/obj/machinery/power/supermatter_crystal/examine]
filtersApplies filters to the SM. +[/obj/machinery/power/supermatter_crystal/process_atmos]
lights[/obj/machinery/power/supermatter_crystal/process_atmos]
on_deselectCalled when a supermatter switches it's strategy from us to something else. +/obj/machinery/power/supermatter_crystal/proc/set_delam
on_selectCalled when a supermatter switches it's strategy from another one to us. +/obj/machinery/power/supermatter_crystal/proc/set_delam
overlaysAdd whatever overlay to the sm. +[/obj/machinery/power/supermatter_crystal/update_overlays]

Proc Details

can_select +

+

Whether we are eligible for this delamination or not. TRUE if valid, FALSE if not. +/obj/machinery/power/supermatter_crystal/proc/set_delam

count_down_messages +

+

Returns a set of messages to be spouted during delams +First message is start of count down, second message is quitting of count down (if sm healed), third is 5 second intervals

delam_progress +

+

Whatever we're supposed to do when a delam is currently in progress. +Mostly just to tell people how useless engi is, and play some alarm sounds. +Returns TRUE if we just told people a delam is going on. FALSE if its healing or we didnt say anything. +[/obj/machinery/power/supermatter_crystal/proc/process_atmos]

delaminate +

+

Called when the count down has been finished, do the nasty work. +/obj/machinery/power/supermatter_crystal/proc/count_down

effect_anomaly +

+

Spawns anomalies all over the station. Half instantly, the other half over time.

effect_crystal_mass +

+

Scatters crystal mass over the event spawns as long as they are at least 30 tiles away from whatever we want to avoid.

effect_demoralize +

+

Hallucinates and makes mobs in Z level sad.

effect_evac_rift_end +

+

Announce the destruction of the rift and end the round.

effect_evac_rift_start +

+

Spawn an evacuation rift for people to go through.

effect_explosion +

+

Explodes

effect_irradiate +

+

Irradiates mobs around 20 tiles of the sm. +Just the mobs apparently.

effect_singulo +

+

Spawns a scrung and eat the SM.

effect_strand_shuttle +

+

Mail the shuttle off to buy milk.

effect_tesla +

+

Teslas

examine +

+

Added to an examine return value. +[/obj/machinery/power/supermatter_crystal/examine]

filters +

+

Applies filters to the SM. +[/obj/machinery/power/supermatter_crystal/process_atmos]

lights +

+

[/obj/machinery/power/supermatter_crystal/process_atmos]

on_deselect +

+

Called when a supermatter switches it's strategy from us to something else. +/obj/machinery/power/supermatter_crystal/proc/set_delam

on_select +

+

Called when a supermatter switches it's strategy from another one to us. +/obj/machinery/power/supermatter_crystal/proc/set_delam

overlays +

+

Add whatever overlay to the sm. +[/obj/machinery/power/supermatter_crystal/update_overlays]

+ + + diff --git a/datum/sm_delam/cascade.html b/datum/sm_delam/cascade.html new file mode 100644 index 00000000000..c3d6d8799c7 --- /dev/null +++ b/datum/sm_delam/cascade.html @@ -0,0 +1,35 @@ + + + + + + + /datum/sm_delam/cascade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cascade + + + +

+ + +

Procs

end_round_holderSignal calls cant sleep, we gotta do this.

Proc Details

end_round_holder +

+

Signal calls cant sleep, we gotta do this.

+ + + diff --git a/datum/sm_gas.html b/datum/sm_gas.html new file mode 100644 index 00000000000..dddb25a61e6 --- /dev/null +++ b/datum/sm_gas.html @@ -0,0 +1,80 @@ + + + + + + + /datum/sm_gas - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sm_gas + + + +

+ +

Contains effects of gases when absorbed by the sm. +If the gas has no effects you do not need to add another sm_gas subtype, +We already guard for nulls in /obj/machinery/power/supermatter_crystal/proc/calculate_gases

+ + + + + + +

Vars

descGive a short description of the gas if needed. If the gas have extra effects describe it here.
gas_pathPath of the /datum/gas involved with this interaction.
heat_modifierHow much more waste heat and gas the SM generates.
heat_power_generationLets the sm generate extra power from heat. Yeah...
heat_resistanceHow extra hot the SM can run before taking damage
power_transmissionInfluences zap power without interfering with the crystal's own energy. Gets scaled by BASE_POWER_TRANSMISSION_RATE.
powerloss_inhibitionHow much powerloss do we get rid of.
+

Var Details

desc + + + + +

+

Give a short description of the gas if needed. If the gas have extra effects describe it here.

gas_path + + + + +

+

Path of the /datum/gas involved with this interaction.

heat_modifier + + + + +

+

How much more waste heat and gas the SM generates.

heat_power_generation + + + + +

+

Lets the sm generate extra power from heat. Yeah...

heat_resistance + + + + +

+

How extra hot the SM can run before taking damage

power_transmission + + + + +

+

Influences zap power without interfering with the crystal's own energy. Gets scaled by BASE_POWER_TRANSMISSION_RATE.

powerloss_inhibition + + + + +

+

How much powerloss do we get rid of.

+ + + diff --git a/datum/sm_gas/bz.html b/datum/sm_gas/bz.html new file mode 100644 index 00000000000..0dbf11508b4 --- /dev/null +++ b/datum/sm_gas/bz.html @@ -0,0 +1,35 @@ + + + + + + + /datum/sm_gas/bz - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bz + + + +

+ + +

Procs

extra_effectsStart to emit radballs at a maximum of 30% chance per tick

Proc Details

extra_effects +

+

Start to emit radballs at a maximum of 30% chance per tick

+ + + diff --git a/datum/sm_gas/carbon_dioxide.html b/datum/sm_gas/carbon_dioxide.html new file mode 100644 index 00000000000..2332337408e --- /dev/null +++ b/datum/sm_gas/carbon_dioxide.html @@ -0,0 +1,35 @@ + + + + + + + /datum/sm_gas/carbon_dioxide - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

carbon_dioxide + + + +

+ + +

Procs

extra_effectsCan be on Oxygen or CO2, but better lump it here since CO2 is rarer.

Proc Details

extra_effects +

+

Can be on Oxygen or CO2, but better lump it here since CO2 is rarer.

+ + + diff --git a/datum/sm_gas/miasma.html b/datum/sm_gas/miasma.html new file mode 100644 index 00000000000..ecb7906e773 --- /dev/null +++ b/datum/sm_gas/miasma.html @@ -0,0 +1,35 @@ + + + + + + + /datum/sm_gas/miasma - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

miasma + + + +

+ + +

Procs

extra_effectsMiasma is really just microscopic particulate. It gets consumed like anything else that touches the crystal.

Proc Details

extra_effects +

+

Miasma is really just microscopic particulate. It gets consumed like anything else that touches the crystal.

+ + + diff --git a/datum/smite.html b/datum/smite.html new file mode 100644 index 00000000000..16171f7d55e --- /dev/null +++ b/datum/smite.html @@ -0,0 +1,61 @@ + + + + + + + /datum/smite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

smite + + + +

+ +

A smite, used by admins to punish players, or for their own amusement

+ + + +

Vars

nameThe name of the smite, shown in the menu
should_logShould this smite write to logs?

Procs

configureCalled once after either choosing the option to smite a player, or when selected in smite build mode. +Use this to prompt the user configuration options. +Return FALSE if the smite should not be used.
effectThe effect of the smite, make sure to call this in your own smites
+

Var Details

name + + + + +

+

The name of the smite, shown in the menu

should_log + + + + +

+

Should this smite write to logs?

Proc Details

configure +

+

Called once after either choosing the option to smite a player, or when selected in smite build mode. +Use this to prompt the user configuration options. +Return FALSE if the smite should not be used.

effect +

+

The effect of the smite, make sure to call this in your own smites

+ + + diff --git a/datum/smite/bad_luck.html b/datum/smite/bad_luck.html new file mode 100644 index 00000000000..0c845dc570b --- /dev/null +++ b/datum/smite/bad_luck.html @@ -0,0 +1,43 @@ + + + + + + + /datum/smite/bad_luck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bad_luck + + + +

+ +

Gives the target bad luck, optionally permanently

+ +

Vars

incidentsIs this permanent?
silentShould the target know they've received bad luck?
+

Var Details

incidents + + + + +

+

Is this permanent?

silent + + + + +

+

Should the target know they've received bad luck?

+ + + diff --git a/datum/smite/berforate.html b/datum/smite/berforate.html new file mode 100644 index 00000000000..1ef3c076a6d --- /dev/null +++ b/datum/smite/berforate.html @@ -0,0 +1,36 @@ + + + + + + + /datum/smite/berforate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

berforate + + + +

+ +

Fires an absurd amount of bullets at the target

+

Vars

hatredDetermines how fucked the target is
+

Var Details

hatred + + + + +

+

Determines how fucked the target is

+ + + diff --git a/datum/smite/curse_of_babel.html b/datum/smite/curse_of_babel.html new file mode 100644 index 00000000000..a301e4c05d4 --- /dev/null +++ b/datum/smite/curse_of_babel.html @@ -0,0 +1,36 @@ + + + + + + + /datum/smite/curse_of_babel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

curse_of_babel + + + +

+ +

Strikes the target with a lightning bolt

+

Vars

durationHow long should the effect last
+

Var Details

duration + + + + +

+

How long should the effect last

+ + + diff --git a/datum/smite/custom_imaginary_friend.html b/datum/smite/custom_imaginary_friend.html new file mode 100644 index 00000000000..4f439db4763 --- /dev/null +++ b/datum/smite/custom_imaginary_friend.html @@ -0,0 +1,54 @@ + + + + + + + /datum/smite/custom_imaginary_friend - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

custom_imaginary_friend + + + +

+ +

Custom imaginary friend.

+

Allows the admin to select the ckey to put into the imaginary friend and whether the imaginary friend looks like the +ckey's character.

+

Is not tied to the brain trauma and can be used on all mobs, technically. Including cyborgs and simple/basic mobs.

+

Warranty void if used on AI eyes or other imaginary friends. Please smite responsibly.

+ + +

Vars

friend_candidatesWho are we going to add to your head today?
random_appearanceDo we randomise friend appearances or not?

Procs

poll_ghostsTry to offer the role to ghosts
+

Var Details

friend_candidates + + + + +

+

Who are we going to add to your head today?

random_appearance + + + + +

+

Do we randomise friend appearances or not?

Proc Details

poll_ghosts +

+

Try to offer the role to ghosts

+ + + diff --git a/datum/smite/objectify.html b/datum/smite/objectify.html new file mode 100644 index 00000000000..5318cc7a749 --- /dev/null +++ b/datum/smite/objectify.html @@ -0,0 +1,36 @@ + + + + + + + /datum/smite/objectify - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

objectify + + + +

+ +

Turns the target into an object (for instance bread)

+

Vars

transform_pathWhat are we going to turn them into?
+

Var Details

transform_path + + + + +

+

What are we going to turn them into?

+ + + diff --git a/datum/smite/supply_pod_quick.html b/datum/smite/supply_pod_quick.html new file mode 100644 index 00000000000..5491c5b2517 --- /dev/null +++ b/datum/smite/supply_pod_quick.html @@ -0,0 +1,36 @@ + + + + + + + /datum/smite/supply_pod_quick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supply_pod_quick + + + +

+ +

Quickly throws a supply pod at the target, optionally with an item

+

Vars

target_pathWhat is sent down with the pod
+

Var Details

target_path + + + + +

+

What is sent down with the pod

+ + + diff --git a/datum/song.html b/datum/song.html new file mode 100644 index 00000000000..42f98dc8b2b --- /dev/null +++ b/datum/song.html @@ -0,0 +1,550 @@ + + + + + + + /datum/song - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Song datum + + + +

+ +

These are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allowed_instrument_idsWhat instruments our built in picker can use. The picker won't show unless this is longer than one.
cached_exponential_dropoffDo not directly set, use update_sustain()
cached_legacy_dirCached legacy dir for legacy instruments
cached_legacy_extCached legacy ext for legacy instruments
cached_linear_dropoff/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()
cached_samplesCached list of samples, referenced directly from the instrument for synthesized instruments
channels_idleList of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.
channels_playingChannel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.
compiled_chordsPlaying variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)
current_chordCurrent chord we're on.
debug_modeIf this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)
delay_byAmount of delay to wait before playing the next chord
editingAre we currently editing?
elapsed_delayCurrent section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.
full_sustain_held_noteShould we not decay our last played note?
hearing_mobsThe list of mobs that can hear us
helpIs the help screen open?
instrument_rangeHow far we can be heard
last_channel_playedLast channel to play. text.
last_hearcheckLast world.time we checked for who can hear us
legacyAre we operating in legacy mode (so if the instrument is a legacy instrument)
linesOur song lines
max_repeatsMaximum times we can repeat
max_sound_channelsMax sound channels to occupy
max_volumeMax volume
min_volumeMin volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.
music_playerWho or what's playing us
nameName of the song
note_shift////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.
octave_minDO NOT TOUCH THESE
parentThe atom we're attached to/playing from
playingAre we currently playing?
repeatRepeats left
sustain_dropoff_volumeWhen a note is considered dead if it is below this in volume
sustain_exponential_dropoffExponential sustain dropoff rate per decisecond
sustain_linear_durationTotal duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF
sustain_modeThe kind of sustain we're using
tempodelay between notes in deciseconds
using_instrument///////// Cached instrument variables ///////////// +Instrument we are currently using
using_sound_channelsCurrent channels, so we can save a length() call.
volumeOur volume

Procs

ParseSongParses a song the user has input into lines and stores them.
compile_chordsCompiles chords.
compile_legacyCompiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.
compile_synthesizedCompiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.
do_hearcheckChecks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.
get_bpmGets our beats per minute based on our tempo.
instrument_status_uiReturns the HTML for the status UI for this song datum.
play_chordPlays a chord.
playkey_legacyProc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.
playkey_synthPlays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.
pop_channelPops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.
process_decayDecays our channels and updates their volumes to mobs who can hear us.
process_songProcesses our song.
sanitize_tempoSanitizes tempo to a value that makes sense and fits the current world.tick_lag.
set_bpmSets our tempo from a beats-per-minute, sanitizing it to a valid number first.
set_dropoff_volumeSetter for setting how low the volume has to get before a note is considered "dead" and dropped
set_exponential_drop_rateSetter for setting exponential falloff factor.
set_instrumentSets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.
set_linear_falloff_durationSetter for setting linear falloff duration.
set_repeatsSets and sanitizes the repeats variable.
set_volumeSetter for setting output volume.
should_stop_playingChecks if we should halt playback.
start_playingAttempts to start playing our song.
stop_playingStops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.
tempodiv_to_delayConverts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.
terminate_all_soundsStops all sounds we are "responsible" for. Only works in synthesized mode.
terminate_sound_mobStops all sounds we are responsible for in a given person. Only works in synthesized mode.
updateDialogUpdates the window for our users. Override down the line.
update_sustainUpdates our cached linear/exponential falloff stuff, saving calculations down the line.
+

Var Details

allowed_instrument_ids + + + + +

+

What instruments our built in picker can use. The picker won't show unless this is longer than one.

cached_exponential_dropoff + + + + +

+

Do not directly set, use update_sustain()

cached_legacy_dir + + + + +

+

Cached legacy dir for legacy instruments

cached_legacy_ext + + + + +

+

Cached legacy ext for legacy instruments

cached_linear_dropoff + + + + +

+

/////// DO NOT DIRECTLY SET THESE! +Do not directly set, use update_sustain()

cached_samples + + + + +

+

Cached list of samples, referenced directly from the instrument for synthesized instruments

channels_idle + + + + +

+

List of channels that aren't being used, as text. This is to prevent unnecessary freeing and reallocations from SSsounds/SSinstruments.

channels_playing + + + + +

+

Channel as text = current volume percentage but it's 0 to 100 instead of 0 to 1.

compiled_chords + + + + +

+

Playing variables +Build by compile_chords() +Must be rebuilt on instrument switch. +Compilation happens when we start playing and is cleared after we finish playing. +Format: list of chord lists, with chordlists having (key1, key2, key3, tempodiv)

current_chord + + + + +

+

Current chord we're on.

debug_mode + + + + +

+

If this is enabled, some things won't be strictly cleared when they usually are (liked compiled_chords on play stop)

delay_by + + + + +

+

Amount of delay to wait before playing the next chord

editing + + + + +

+

Are we currently editing?

elapsed_delay + + + + +

+

Current section of a long chord we're on, so we don't need to make a billion chords, one for every unit ticklag.

full_sustain_held_note + + + + +

+

Should we not decay our last played note?

hearing_mobs + + + + +

+

The list of mobs that can hear us

help + + + + +

+

Is the help screen open?

instrument_range + + + + +

+

How far we can be heard

last_channel_played + + + + +

+

Last channel to play. text.

last_hearcheck + + + + +

+

Last world.time we checked for who can hear us

legacy + + + + +

+

Are we operating in legacy mode (so if the instrument is a legacy instrument)

lines + + + + +

+

Our song lines

max_repeats + + + + +

+

Maximum times we can repeat

max_sound_channels + + + + +

+

Max sound channels to occupy

max_volume + + + + +

+

Max volume

min_volume + + + + +

+

Min volume - This is so someone doesn't decide it's funny to set it to 0 and play invisible songs.

music_player + + + + +

+

Who or what's playing us

name + + + + +

+

Name of the song

note_shift + + + + +

+

////////// !!FUN!! - Only works in synthesized mode! ///////////////// +Note numbers to shift.

octave_min + + + + +

+

DO NOT TOUCH THESE

parent + + + + +

+

The atom we're attached to/playing from

playing + + + + +

+

Are we currently playing?

repeat + + + + +

+

Repeats left

sustain_dropoff_volume + + + + +

+

When a note is considered dead if it is below this in volume

sustain_exponential_dropoff + + + + +

+

Exponential sustain dropoff rate per decisecond

sustain_linear_duration + + + + +

+

Total duration of linear sustain for 100 volume note to get to SUSTAIN_DROPOFF

sustain_mode + + + + +

+

The kind of sustain we're using

tempo + + + + +

+

delay between notes in deciseconds

using_instrument + + + + +

+

///////// Cached instrument variables ///////////// +Instrument we are currently using

using_sound_channels + + + + +

+

Current channels, so we can save a length() call.

volume + + + + +

+

Our volume

Proc Details

ParseSong +

+

Parses a song the user has input into lines and stores them.

compile_chords +

+

Compiles chords.

compile_legacy +

+

Compiles our lines into "chords" with filenames for legacy playback. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

compile_synthesized +

+

Compiles our lines into "chords" with numbers. This makes there have to be a bit of lag at the beginning of the song, but repeats will not have to parse it again, and overall playback won't be impacted by as much lag.

do_hearcheck +

+

Checks and stores which mobs can hear us. Terminates sounds for mobs that leave our range.

get_bpm +

+

Gets our beats per minute based on our tempo.

instrument_status_ui +

+

Returns the HTML for the status UI for this song datum.

play_chord +

+

Plays a chord.

playkey_legacy +

+

Proc to play a legacy note. Just plays the sound to hearing mobs (and does hearcheck if necessary), no fancy channel/sustain/management.

+

Arguments:

+

playkey_synth +

+

Plays a specific numerical key from our instrument to anyone who can hear us. +Does a hearing check if enough time has passed.

pop_channel +

+

Pops a channel we have reserved so we don't have to release and re-request them from SSsounds every time we play a note. This is faster.

process_decay +

+

Decays our channels and updates their volumes to mobs who can hear us.

+

Arguments:

+

process_song +

+

Processes our song.

sanitize_tempo +

+

Sanitizes tempo to a value that makes sense and fits the current world.tick_lag.

set_bpm +

+

Sets our tempo from a beats-per-minute, sanitizing it to a valid number first.

set_dropoff_volume +

+

Setter for setting how low the volume has to get before a note is considered "dead" and dropped

set_exponential_drop_rate +

+

Setter for setting exponential falloff factor.

set_instrument +

+

Sets our instrument, caching anything necessary for faster accessing. Accepts an ID, typepath, or instantiated instrument datum.

set_linear_falloff_duration +

+

Setter for setting linear falloff duration.

set_repeats +

+

Sets and sanitizes the repeats variable.

set_volume +

+

Setter for setting output volume.

should_stop_playing +

+

Checks if we should halt playback.

start_playing +

+

Attempts to start playing our song.

stop_playing +

+

Stops playing, terminating all sounds if in synthesized mode. Clears hearing_mobs.

+

Arguments:

+

tempodiv_to_delay +

+

Converts a tempodiv to ticks to elapse before playing the next chord, taking into account our tempo.

terminate_all_sounds +

+

Stops all sounds we are "responsible" for. Only works in synthesized mode.

terminate_sound_mob +

+

Stops all sounds we are responsible for in a given person. Only works in synthesized mode.

updateDialog +

+

Updates the window for our users. Override down the line.

update_sustain +

+

Updates our cached linear/exponential falloff stuff, saving calculations down the line.

+ + + diff --git a/datum/sort_instance.html b/datum/sort_instance.html new file mode 100644 index 00000000000..0f11396a1a1 --- /dev/null +++ b/datum/sort_instance.html @@ -0,0 +1,45 @@ + + + + + + + /datum/sort_instance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sort_instance + + + +

+ + +

Procs

gallopRightLike gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

Proc Details

gallopRight +

+

Like gallopLeft, except that if the range contains an element equal to +key, gallopRight returns the index after the rightmost equal element.

+

@param key the key whose insertion point to search for +@param a the array in which to search +@param base the index of the first element in the range +@param len the length of the range; must be > 0 +@param hint the index at which to begin the search, 0 <= hint < n. +The closer hint is to the result, the faster this method will run. +@param c the comparator used to order the range, and to search +@return the int k, 0 <= k <= n such that a[b + k - 1] <= key < a[b + k]

+ + + diff --git a/datum/spacevine_controller.html b/datum/spacevine_controller.html new file mode 100644 index 00000000000..df96c9dfdf8 --- /dev/null +++ b/datum/spacevine_controller.html @@ -0,0 +1,85 @@ + + + + + + + /datum/spacevine_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spacevine_controller + + + +

+ + + + + + + + + +

Vars

growth_queueQueue of vines to process
max_mutation_severityMaximum sum of mutation severities
minimum_spread_rateMinimum spread rate per second
mutativenessThe chance that we will develop a new mutation
spread_capMaximum spreading limit (ie. how many kudzu can there be) for this controller
spread_multiplierSpread multiplier, depends on productivity, affects how often kudzu spreads
vinesCanonical list of all the vines we "own"

Procs

processLife cycle of a space vine
+

Var Details

growth_queue + + + + +

+

Queue of vines to process

max_mutation_severity + + + + +

+

Maximum sum of mutation severities

minimum_spread_rate + + + + +

+

Minimum spread rate per second

mutativeness + + + + +

+

The chance that we will develop a new mutation

spread_cap + + + + +

+

Maximum spreading limit (ie. how many kudzu can there be) for this controller

spread_multiplier + + + + +

+

Spread multiplier, depends on productivity, affects how often kudzu spreads

vines + + + + +

+

Canonical list of all the vines we "own"

Proc Details

process +

+

Life cycle of a space vine

+ + + diff --git a/datum/spacevine_mutation.html b/datum/spacevine_mutation.html new file mode 100644 index 00000000000..f5514f57b59 --- /dev/null +++ b/datum/spacevine_mutation.html @@ -0,0 +1,57 @@ + + + + + + + /datum/spacevine_mutation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spacevine_mutation + + + +

+ + + + + +

Vars

hueThe mutation's contribution to a given vine's color
nameDisplayed name of mutation
qualityThe quality of our mutation (how good or bad is it?)
severitySeverity of mutation in terms of gameplay, affects appearance chance and how many mutations can be on the same vine
+

Var Details

hue + + + + +

+

The mutation's contribution to a given vine's color

name + + + + +

+

Displayed name of mutation

quality + + + + +

+

The quality of our mutation (how good or bad is it?)

severity + + + + +

+

Severity of mutation in terms of gameplay, affects appearance chance and how many mutations can be on the same vine

+ + + diff --git a/datum/spacevine_mutation/aggressive_spread.html b/datum/spacevine_mutation/aggressive_spread.html new file mode 100644 index 00000000000..a68c00bd4b4 --- /dev/null +++ b/datum/spacevine_mutation/aggressive_spread.html @@ -0,0 +1,49 @@ + + + + + + + /datum/spacevine_mutation/aggressive_spread - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

aggressive_spread + + + +

+ + + + +

Procs

aggrospread_actHurts mobs. To be used when a vine with aggressive spread mutation spreads into the mob's tile or buckles them.
on_buckleWhat happens if an aggr spreading vine buckles a mob.
on_spreadChecks mobs on spread-target's turf to see if they should be hit by a damaging proc or not.

Proc Details

aggrospread_act +

+

Hurts mobs. To be used when a vine with aggressive spread mutation spreads into the mob's tile or buckles them.

on_buckle +

+

What happens if an aggr spreading vine buckles a mob.

on_spread +

+

Checks mobs on spread-target's turf to see if they should be hit by a damaging proc or not.

+ + + diff --git a/datum/spacevine_mutation/vine_eating.html b/datum/spacevine_mutation/vine_eating.html new file mode 100644 index 00000000000..cab0a1376ab --- /dev/null +++ b/datum/spacevine_mutation/vine_eating.html @@ -0,0 +1,35 @@ + + + + + + + /datum/spacevine_mutation/vine_eating - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

vine_eating + + + +

+ + +

Procs

on_spreadDestroys any vine on spread-target's tile. The checks for if this should be done are in the spread() proc.

Proc Details

on_spread +

+

Destroys any vine on spread-target's tile. The checks for if this should be done are in the spread() proc.

+ + + diff --git a/datum/sparring_match.html b/datum/sparring_match.html new file mode 100644 index 00000000000..f745cbd940d --- /dev/null +++ b/datum/sparring_match.html @@ -0,0 +1,155 @@ + + + + + + + /datum/sparring_match - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sparring_match + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

arena_conditionarea instance the participants must stay in
chaplainthe chaplain. it isn't actually a chaplain all the time, but in the cases where the chaplain is needed this will always be them.
chaplain_violations_allowedcheats from the chaplain
flubsoutside interventions that ruin the match
opponentthe other fighter
opponent_violations_allowedcheats from the non-chaplain
stakes_conditionwhat stakes the fight will have
weapons_conditionwhat weapons will be allowed during the sparring match

Procs

arena_violationsomeone tried to leave
check_for_victorysomeone is changing health state, end the fight in crit
cleanup_sparring_matchhelper to remove all the effects after a match ends
death_flubsomeone randomly fucking died
deletion_flubsomeone randomly fucking deleted
flubbed_matchthis match was interfered on, nobody wins or loses anything, just end
grenade_violationsomeone used a grenade
gun_violationsomeone used a gun
melee_violationsomeone used melee weapons
winmost of the effects are handled on lose() instead.
+

Var Details

arena_condition + + + + +

+

area instance the participants must stay in

chaplain + + + + +

+

the chaplain. it isn't actually a chaplain all the time, but in the cases where the chaplain is needed this will always be them.

chaplain_violations_allowed + + + + +

+

cheats from the chaplain

flubs + + + + +

+

outside interventions that ruin the match

opponent + + + + +

+

the other fighter

opponent_violations_allowed + + + + +

+

cheats from the non-chaplain

stakes_condition + + + + +

+

what stakes the fight will have

weapons_condition + + + + +

+

what weapons will be allowed during the sparring match

Proc Details

arena_violation +

+

someone tried to leave

check_for_victory +

+

someone is changing health state, end the fight in crit

cleanup_sparring_match +

+

helper to remove all the effects after a match ends

death_flub +

+

someone randomly fucking died

deletion_flub +

+

someone randomly fucking deleted

flubbed_match +

+

this match was interfered on, nobody wins or loses anything, just end

grenade_violation +

+

someone used a grenade

gun_violation +

+

someone used a gun

melee_violation +

+

someone used melee weapons

win +

+

most of the effects are handled on lose() instead.

+ + + diff --git a/datum/spatial_grid_cell.html b/datum/spatial_grid_cell.html new file mode 100644 index 00000000000..55d8d9a23d4 --- /dev/null +++ b/datum/spatial_grid_cell.html @@ -0,0 +1,73 @@ + + + + + + + /datum/spatial_grid_cell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Spatial Grid Cell + + + +

+ +

used by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.

+ + + + + +

Vars

atmos_contentsevery atmos machine inside this cell
cell_xour x index in the list of cells. this is our index inside of our row list
cell_your y index in the list of cells. this is the index of our row list inside of our z level grid
cell_zwhich z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level
client_contentsevery client possessed mob inside this cell
hearing_contentsevery hearing sensitive movable inside this cell
+

Var Details

atmos_contents + + + + +

+

every atmos machine inside this cell

cell_x + + + + +

+

our x index in the list of cells. this is our index inside of our row list

cell_y + + + + +

+

our y index in the list of cells. this is the index of our row list inside of our z level grid

cell_z + + + + +

+

which z level we belong to, corresponding to the index of our gridmap in SSspatial_grid.grids_by_z_level

client_contents + + + + +

+

every client possessed mob inside this cell

hearing_contents + + + + +

+

every hearing sensitive movable inside this cell

+ + + diff --git a/datum/species.html b/datum/species.html new file mode 100644 index 00000000000..faf403172c7 --- /dev/null +++ b/datum/species.html @@ -0,0 +1,1045 @@ + + + + + + + /datum/species - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

species datum + + + +

+ +

Datum that handles different species in the game.

+

This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. +It is used in carbon humans to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_controlled_speciesThis supresses the "dosen't appear to be himself" examine text for if the mob is run by an AI controller. Should be used on any NPC human subtypes. Monkeys are the prime example.
ass_imageFor custom overrides for species ass images
blood_deficiency_drain_rateThe rate at which blood is passively drained by having the blood deficiency quirk. Some races such as slimepeople can regen their blood at different rates so this is to account for that
bodypart_overridesThe bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive.
bodytemp_autorecovery_minMinimum amount of kelvin moved toward normal body temperature per tick.
bodytemp_cold_damage_limitThe body temperature limit the body can take before it starts taking damage from cold.
bodytemp_heat_damage_limitThe body temperature limit the body can take before it starts taking damage from heat.
bodytemp_normalThe natural temperature for a body
breathidWhat gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]
changesource_flagsBitflag that controls what in game ways something can select this species as a spawnable source, such as magic mirrors. See mob defines for possible sources.
coldmodmultiplier for damage from cold temperature
damage_modifierFlat modifier on all damage taken via apply_damage (so being punched, shot, etc.) +IE: 10 = 10% less damage taken.
death_soundUsed to set the mob's death_sound upon species change
digitigrade_customizationNever, Optional, or Forced digi legs?
dust_animWhat anim to use for dusting
examine_limb_idThis is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine].
exotic_bloodIf your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.
exotic_bloodtypeIf your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.
external_organsList of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP
facial_hair_alphaThe alpha used by the facial hair. 255 is completely solid, 0 is invisible.
family_heirloomsList of family heirlooms this species can get with the family heirloom quirk. List of types.
fire_overlayThe icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi
fixed_hair_colorA fixed hair color that's independent of the mcolor feature in DNA.
fixed_mut_colorTo use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
gib_animWhat anim to use for gibbing
grab_soundSpecial sound for grabbing
hair_alphaThe alpha used by the hair. 255 is completely solid, 0 is invisible.
hair_colorThis allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor
heatmodmultiplier for damage from hot temperature
idIf the game needs to manually check your race to do something not included in a proc here, it will use this.
inert_mutationSpecial mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
inherent_biotypesList of biotypes the mob belongs to. Used by diseases.
inherent_factionsList of factions the mob gain upon gaining this species.
inherent_respiration_typeThe type of respiration the mob is capable of doing. Used by adjustOxyLoss.
inherent_traitsGeneric traits tied to having the species.
knife_butcher_resultsList of results you get from knife-butchering. null means you cant butcher it. Associated by resulting type - value of amount
max_bodypart_countThe maximum number of bodyparts this species can have.
meatWhat the species drops when gibbed by a gibber machine.
mutant_bodypartsVisible CURRENT bodyparts that are unique to a species. +DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK +SHIT UP! Changes to this list for non-species specific bodyparts (ie +cat ears and tails) should be assigned at organ level if possible. +Assoc values are defaults for given bodyparts, also modified by aforementioned organs. +They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. +Layer hiding is handled by /datum/species/proc/handle_mutant_bodyparts below.
mutant_organsInternal organs that are unique to this race, like a tail. list(typepath of organ 1, typepath of organ 2)
mutantappendixReplaces default appendix with a different organ.
mutantbrainReplaces default brain with a different organ
mutantearsReplaces default ears with a different organ
mutanteyesReplaces default eyes with a different organ
mutantheartReplaces default heart with a different organ
mutantliverReplaces default liver with a different organ
mutantlungsReplaces default lungs with a different organ
mutantstomachReplaces default stomach with a different organ
mutanttongueReplaces default tongue with a different organ
nameThis is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.
no_equip_flagsflags for inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.
outfit_important_for_lifeA path to an outfit that is important for species life e.g. plasmaman outfit
outfit_override_registryA list containing outfits that will be overridden in the species_equip_outfit proc. [Key = Typepath passed in] [Value = Typepath of outfit you want to equip for this specific species instead].
payday_modifiermultiplier for money paid at payday
plural_formThe formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. +Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate"
preloadShould we preload this species's organs?
prevent_perspective_changeDo we try to prevent reset_perspective() from working? Useful for Dullahans to stop perspective changes when they're looking through their head.
properly_gainedWas on_species_gain ever actually called? +Species code is really odd...
roundstart_changedWas the species changed from its original type at the start of the round?
sexesWhether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows
siemens_coeffBase electrocution coefficient. Basically a multiplier for damage from electrocutions.
skinned_typeWhat skin the species drops when gibbed by a gibber machine.
special_step_soundsSounds to override barefeet walking
species_cookieUnique cookie given by admins through prayers
species_language_holderWhat languages this species can understand and say. +Use a language holder datum typepath in this var. +Should never be null.
stunmodmultiplier for stun durations

Procs

apply_burn_woundsUsed to apply burn wounds on random limbs
body_temperature_alertsUsed to set alerts and debuffs based on body temperature +vars:
body_temperature_coreUsed to stabilize the core temperature back to normal on living mobs
body_temperature_damageUsed to apply wounds and damage based on core/body temp +vars:
body_temperature_skinUsed to normalize the skin temperature on living mobs
check_head_flagsChecks if the species has a head with these head flags, by default. +Admittedly, this is a very weird and seemingly redundant proc, but it +gets used by some preferences (such as hair style) to determine whether +or not they are accessible.
check_roundstart_eligibleChecks if a species is eligible to be picked at roundstart.
copy_properties_fromCopies some vars and properties over that should be kept when creating a copy of this species.
create_fresh_bodyCreates body parts for the target completely from scratch based on the species
create_pref_biotypes_perksAdds adds any perks related to the species' inherent_biotypes flags.
create_pref_blood_perksAdds adds any perks related to the species' blood (or lack thereof).
create_pref_damage_perksAdds adds any perks related to sustaining damage. +For example, brute damage vulnerability, or fire damage resistance.
create_pref_language_perkAdds in a language perk based on all the languages the species +can speak by default (according to their language holder).
create_pref_organs_perksAdds any perks relating to inherent differences to this species' organs. +This proc is only suitable for generic differences, like alcohol tolerance, or heat threshold for breathing.
create_pref_temperature_perksAdds adds any perks related to how the species deals with temperature.
create_pref_traits_perksAdds adds any perks related to the species' inherent_traits list.
create_pref_unique_perksUsed to add any species specific perks to the perk list.
get_featuresReturns a list of strings representing features this species has. +Used by the preferences UI to know what buttons to show.
get_mutant_organ_type_for_slotGets the default mutant organ for the species based on the provided slot.
get_physical_attributesGets a description of the species' physical attributes. What makes playing as one different. Used in magic mirrors.
get_scream_soundReturns the species's scream sound.
get_species_descriptionGets a short description for the specices. Should be relatively succinct. +Used in the preference menu.
get_species_dietTranslate the species liked foods from bitfields into strings +and returns it in the form of an associated list.
get_species_loreGets the lore behind the type of species. Can be long. +Used in the preference menu.
get_species_perksGenerates a list of "perks" related to this species +(Postives, neutrals, and negatives) +in the format of a list of lists. +Used in the preference menu.
give_important_for_lifeEquip the outfit required for life. Replaces items currently worn.
go_baldMakes the target human bald.
handle_bodyHandles the body of a human
handle_body_temperatureBody temperature handler for species
handle_chemicalHandling special reagent interactions.
handle_environmentEnvironment handler for species
handle_environment_pressureHandle the air pressure of the environment
handle_mutant_bodypartsHandles the mutant bodyparts of a human
handle_radiationSpecies based handling for irradiation
harmThis proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason...
normalize_bloodNormalizes blood in a human if it is excessive. If it is above BLOOD_VOLUME_NORMAL, this will clamp it to that value. It will not give the human more blodo than they have less than this value.
on_owner_loginOwner login
on_species_gainProc called when a carbon becomes this species.
on_species_lossProc called when a carbon is no longer this species.
pre_equip_species_outfitEquips the necessary species-relevant gear before putting on the rest of the uniform.
prepare_human_for_previewGiven a human, will adjust it before taking a picture for the preferences UI. +This should create a CONSISTENT result, so the icons don't randomly change.
random_nameGenerates a random name for a carbon.
randomize_active_underwearProc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob
randomize_active_underwear_onlyProc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob, +but will not update the body right away.
randomize_featuresReturns a list of features, randomized, to be used by DNA
randomize_main_appearance_elementProc that will randomise the hair, or primary appearance element (i.e. for moths wings) of a species' associated mob
regenerate_organsCorrects organs in a carbon, removing ones it doesn't need and adding ones it does.
replace_bodyHandles replacing all of the bodyparts with their species version during set_species()
update_mail_goodiesProc called when mail goodies need to be updated for this species.
update_quirk_mail_goodiesUpdates the mail goodies of a specific quirk.
+

Var Details

ai_controlled_species + + + + +

+

This supresses the "dosen't appear to be himself" examine text for if the mob is run by an AI controller. Should be used on any NPC human subtypes. Monkeys are the prime example.

ass_image + + + + +

+

For custom overrides for species ass images

blood_deficiency_drain_rate + + + + +

+

The rate at which blood is passively drained by having the blood deficiency quirk. Some races such as slimepeople can regen their blood at different rates so this is to account for that

bodypart_overrides + + + + +

+

The bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive.

bodytemp_autorecovery_min + + + + +

+

Minimum amount of kelvin moved toward normal body temperature per tick.

bodytemp_cold_damage_limit + + + + +

+

The body temperature limit the body can take before it starts taking damage from cold.

bodytemp_heat_damage_limit + + + + +

+

The body temperature limit the body can take before it starts taking damage from heat.

bodytemp_normal + + + + +

+

The natural temperature for a body

breathid + + + + +

+

What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]

changesource_flags + + + + +

+

Bitflag that controls what in game ways something can select this species as a spawnable source, such as magic mirrors. See mob defines for possible sources.

coldmod + + + + +

+

multiplier for damage from cold temperature

damage_modifier + + + + +

+

Flat modifier on all damage taken via apply_damage (so being punched, shot, etc.) +IE: 10 = 10% less damage taken.

death_sound + + + + +

+

Used to set the mob's death_sound upon species change

digitigrade_customization + + + + +

+

Never, Optional, or Forced digi legs?

dust_anim + + + + +

+

What anim to use for dusting

examine_limb_id + + + + +

+

This is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine].

exotic_blood + + + + +

+

If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.

exotic_bloodtype + + + + +

+

If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.

external_organs + + + + +

+

List of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP

facial_hair_alpha + + + + +

+

The alpha used by the facial hair. 255 is completely solid, 0 is invisible.

family_heirlooms + + + + +

+

List of family heirlooms this species can get with the family heirloom quirk. List of types.

fire_overlay + + + + +

+

The icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi

fixed_hair_color + + + + +

+

A fixed hair color that's independent of the mcolor feature in DNA.

fixed_mut_color + + + + +

+

To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.

gib_anim + + + + +

+

What anim to use for gibbing

grab_sound + + + + +

+

Special sound for grabbing

hair_alpha + + + + +

+

The alpha used by the hair. 255 is completely solid, 0 is invisible.

hair_color + + + + +

+

This allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor

heatmod + + + + +

+

multiplier for damage from hot temperature

id + + + + +

+

If the game needs to manually check your race to do something not included in a proc here, it will use this.

inert_mutation + + + + +

+

Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache

inherent_biotypes + + + + +

+

List of biotypes the mob belongs to. Used by diseases.

inherent_factions + + + + +

+

List of factions the mob gain upon gaining this species.

inherent_respiration_type + + + + +

+

The type of respiration the mob is capable of doing. Used by adjustOxyLoss.

inherent_traits + + + + +

+

Generic traits tied to having the species.

knife_butcher_results + + + + +

+

List of results you get from knife-butchering. null means you cant butcher it. Associated by resulting type - value of amount

max_bodypart_count + + + + +

+

The maximum number of bodyparts this species can have.

meat + + + + +

+

What the species drops when gibbed by a gibber machine.

mutant_bodyparts + + + + +

+

Visible CURRENT bodyparts that are unique to a species. +DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK +SHIT UP! Changes to this list for non-species specific bodyparts (ie +cat ears and tails) should be assigned at organ level if possible. +Assoc values are defaults for given bodyparts, also modified by aforementioned organs. +They also allow for faster '[]' list access versus 'in'. Other than that, they are useless right now. +Layer hiding is handled by /datum/species/proc/handle_mutant_bodyparts below.

mutant_organs + + + + +

+

Internal organs that are unique to this race, like a tail. list(typepath of organ 1, typepath of organ 2)

mutantappendix + + + + +

+

Replaces default appendix with a different organ.

mutantbrain + + + + +

+

Replaces default brain with a different organ

mutantears + + + + +

+

Replaces default ears with a different organ

mutanteyes + + + + +

+

Replaces default eyes with a different organ

mutantheart + + + + +

+

Replaces default heart with a different organ

mutantliver + + + + +

+

Replaces default liver with a different organ

mutantlungs + + + + +

+

Replaces default lungs with a different organ

mutantstomach + + + + +

+

Replaces default stomach with a different organ

mutanttongue + + + + +

+

Replaces default tongue with a different organ

name + + + + +

+

This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.

no_equip_flags + + + + +

+

flags for inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.

outfit_important_for_life + + + + +

+

A path to an outfit that is important for species life e.g. plasmaman outfit

outfit_override_registry + + + + +

+

A list containing outfits that will be overridden in the species_equip_outfit proc. [Key = Typepath passed in] [Value = Typepath of outfit you want to equip for this specific species instead].

payday_modifier + + + + +

+

multiplier for money paid at payday

plural_form + + + + +

+

The formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. +Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate"

preload + + + + +

+

Should we preload this species's organs?

prevent_perspective_change + + + + +

+

Do we try to prevent reset_perspective() from working? Useful for Dullahans to stop perspective changes when they're looking through their head.

properly_gained + + + + +

+

Was on_species_gain ever actually called? +Species code is really odd...

roundstart_changed + + + + +

+

Was the species changed from its original type at the start of the round?

sexes + + + + +

+

Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows

siemens_coeff + + + + +

+

Base electrocution coefficient. Basically a multiplier for damage from electrocutions.

skinned_type + + + + +

+

What skin the species drops when gibbed by a gibber machine.

special_step_sounds + + + + +

+

Sounds to override barefeet walking

+

Unique cookie given by admins through prayers

species_language_holder + + + + +

+

What languages this species can understand and say. +Use a language holder datum typepath in this var. +Should never be null.

stunmod + + + + +

+

multiplier for stun durations

Proc Details

apply_burn_wounds +

+

Used to apply burn wounds on random limbs

+

This is called from body_temperature_damage when exposure to extream heat adds up and causes a wound. +The wounds will increase in severity as the temperature increases. +vars:

+

body_temperature_alerts +

+

Used to set alerts and debuffs based on body temperature +vars:

+

body_temperature_core +

+

Used to stabilize the core temperature back to normal on living mobs

+

The metabolisim heats up the core of the mob trying to keep it at the normal body temp +vars:

+

body_temperature_damage +

+

Used to apply wounds and damage based on core/body temp +vars:

+

body_temperature_skin +

+

Used to normalize the skin temperature on living mobs

+

The core temp effects the skin, then the enviroment effects the skin, then we refect that back to the core. +This happens even when dead so bodies revert to room temp over time. +vars:

+ +

check_head_flags +

+

Checks if the species has a head with these head flags, by default. +Admittedly, this is a very weird and seemingly redundant proc, but it +gets used by some preferences (such as hair style) to determine whether +or not they are accessible.

check_roundstart_eligible +

+

Checks if a species is eligible to be picked at roundstart.

+

Checks the config to see if this species is allowed to be picked in the character setup menu. +Used by /proc/generate_selectable_species_and_languages.

copy_properties_from +

+

Copies some vars and properties over that should be kept when creating a copy of this species.

+

Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species +Arguments:

+

create_fresh_body +

+

Creates body parts for the target completely from scratch based on the species

create_pref_biotypes_perks +

+

Adds adds any perks related to the species' inherent_biotypes flags.

+

Returns a list containing perks, or an empty list.

create_pref_blood_perks +

+

Adds adds any perks related to the species' blood (or lack thereof).

+

Returns a list containing perks, or an empty list.

create_pref_damage_perks +

+

Adds adds any perks related to sustaining damage. +For example, brute damage vulnerability, or fire damage resistance.

+

Returns a list containing perks, or an empty list.

create_pref_language_perk +

+

Adds in a language perk based on all the languages the species +can speak by default (according to their language holder).

+

Returns a list containing perks, or an empty list.

create_pref_organs_perks +

+

Adds any perks relating to inherent differences to this species' organs. +This proc is only suitable for generic differences, like alcohol tolerance, or heat threshold for breathing.

+

Returns a list containing perks, or an empty list.

create_pref_temperature_perks +

+

Adds adds any perks related to how the species deals with temperature.

+

Returns a list containing perks, or an empty list.

create_pref_traits_perks +

+

Adds adds any perks related to the species' inherent_traits list.

+

Returns a list containing perks, or an empty list.

create_pref_unique_perks +

+

Used to add any species specific perks to the perk list.

+

Returns null by default. When overriding, return a list of perks.

get_features +

+

Returns a list of strings representing features this species has. +Used by the preferences UI to know what buttons to show.

get_mutant_organ_type_for_slot +

+

Gets the default mutant organ for the species based on the provided slot.

get_physical_attributes +

+

Gets a description of the species' physical attributes. What makes playing as one different. Used in magic mirrors.

+

Returns a string.

get_scream_sound +

+

Returns the species's scream sound.

get_species_description +

+

Gets a short description for the specices. Should be relatively succinct. +Used in the preference menu.

+

Returns a string.

get_species_diet +

+

Translate the species liked foods from bitfields into strings +and returns it in the form of an associated list.

+

Returns a list, or null if they have no diet.

get_species_lore +

+

Gets the lore behind the type of species. Can be long. +Used in the preference menu.

+

Returns a list of strings. +Between each entry in the list, a newline will be inserted, for formatting.

get_species_perks +

+

Generates a list of "perks" related to this species +(Postives, neutrals, and negatives) +in the format of a list of lists. +Used in the preference menu.

+

"Perk" format is as followed: +list( +SPECIES_PERK_TYPE = type of perk (postiive, negative, neutral - use the defines) +SPECIES_PERK_ICON = icon shown within the UI +SPECIES_PERK_NAME = name of the perk on hover +SPECIES_PERK_DESC = description of the perk on hover +)

+

Returns a list of lists. +The outer list is an assoc list of [perk type]s to a list of perks. +The innter list is a list of perks. Can be empty, but won't be null.

give_important_for_life +

+

Equip the outfit required for life. Replaces items currently worn.

go_bald +

+

Makes the target human bald.

+

Arguments:

+

handle_body +

+

Handles the body of a human

+

Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. +Calls handle_mutant_bodyparts +Arguments:

+

handle_body_temperature +

+

Body temperature handler for species

+

These procs manage body temp, bamage, and alerts +Some of these will still fire when not alive to balance body temp to the room temp. +vars:

+

handle_chemical +

+

Handling special reagent interactions.

+

Return null continue running the normal on_mob_life() for that reagent. +Return COMSIG_MOB_STOP_REAGENT_CHECK to not run the normal metabolism effects.

+

NOTE: If you return COMSIG_MOB_STOP_REAGENT_CHECK, that reagent will not be removed liike normal! You must handle it manually.

handle_environment +

+

Environment handler for species

+

vars:

+

handle_environment_pressure +

+

Handle the air pressure of the environment

handle_mutant_bodyparts +

+

Handles the mutant bodyparts of a human

+

Handles the adding and displaying of, layers, colors, and overlays of mutant bodyparts and accessories. +Handles digitigrade leg displaying and squishing. +Arguments:

+

handle_radiation +

+

Species based handling for irradiation

+

Arguments:

+

harm +

+

This proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason...

normalize_blood +

+

Normalizes blood in a human if it is excessive. If it is above BLOOD_VOLUME_NORMAL, this will clamp it to that value. It will not give the human more blodo than they have less than this value.

on_owner_login +

+

Owner login

+

A simple proc to be overwritten if something needs to be done when a mob logs in. Does nothing by default.

+

Arguments:

+

on_species_gain +

+

Proc called when a carbon becomes this species.

+

This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. +Produces a COMSIG_SPECIES_GAIN signal. +Arguments:

+

on_species_loss +

+

Proc called when a carbon is no longer this species.

+

This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. +Produces a COMSIG_SPECIES_LOSS signal. +Arguments:

+

pre_equip_species_outfit +

+

Equips the necessary species-relevant gear before putting on the rest of the uniform.

prepare_human_for_preview +

+

Given a human, will adjust it before taking a picture for the preferences UI. +This should create a CONSISTENT result, so the icons don't randomly change.

random_name +

+

Generates a random name for a carbon.

+

This generates a random unique name based on a human's species and gender. +Arguments:

+

randomize_active_underwear +

+

Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob

randomize_active_underwear_only +

+

Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob, +but will not update the body right away.

randomize_features +

+

Returns a list of features, randomized, to be used by DNA

randomize_main_appearance_element +

+

Proc that will randomise the hair, or primary appearance element (i.e. for moths wings) of a species' associated mob

regenerate_organs +

+

Corrects organs in a carbon, removing ones it doesn't need and adding ones it does.

+

Takes all organ slots, removes organs a species should not have, adds organs a species should have. +can use replace_current to refresh all organs, creating an entirely new set.

+

Arguments:

+

replace_body +

+

Handles replacing all of the bodyparts with their species version during set_species()

update_mail_goodies +

+

Proc called when mail goodies need to be updated for this species.

+

Updates the mail goodies if that is required. e.g. for the blood deficiency quirk, which sends bloodbags to quirk holders, update the sent bloodpack to match the species' exotic blood. +This is currently only used for the blood deficiency quirk but more can be added as needed. +Arguments:

+

update_quirk_mail_goodies +

+

Updates the mail goodies of a specific quirk.

+

Updates the mail goodies belonging to a specific quirk. +Add implementation as needed for each individual species. The base species proc should give the species the 'default' version of whatever mail goodies are required. +Arguments:

+
+ + + diff --git a/datum/species/dullahan.html b/datum/species/dullahan.html new file mode 100644 index 00000000000..efe62817a8c --- /dev/null +++ b/datum/species/dullahan.html @@ -0,0 +1,57 @@ + + + + + + + /datum/species/dullahan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dullahan + + + +

+ + + + + +

Vars

my_headThe dullahan relay that's associated with the owner, used to handle many things such as talking and hearing.
owner_first_client_connection_handledDid our owner's first client connection get handled yet? Useful for when some proc needs to be called once we're sure that a client has moved into our owner, like for Dullahans.

Procs

on_gained_partIf we gained a new body part, it had better not be a head
on_head_destroyedIf our head is destroyed, so are we
+

Var Details

my_head + + + + +

+

The dullahan relay that's associated with the owner, used to handle many things such as talking and hearing.

owner_first_client_connection_handled + + + + +

+

Did our owner's first client connection get handled yet? Useful for when some proc needs to be called once we're sure that a client has moved into our owner, like for Dullahans.

Proc Details

on_gained_part +

+

If we gained a new body part, it had better not be a head

on_head_destroyed +

+

If our head is destroyed, so are we

+ + + diff --git a/datum/species/ethereal.html b/datum/species/ethereal.html new file mode 100644 index 00000000000..391e4faf4ca --- /dev/null +++ b/datum/species/ethereal.html @@ -0,0 +1,35 @@ + + + + + + + /datum/species/ethereal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ethereal + + + +

+ + +

Procs

on_light_eaterSpecial handling for getting hit with a light eater

Proc Details

on_light_eater +

+

Special handling for getting hit with a light eater

+ + + diff --git a/datum/species/golem.html b/datum/species/golem.html new file mode 100644 index 00000000000..edaaf63e6af --- /dev/null +++ b/datum/species/golem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

golem + + + +

+ +

Animated beings of stone. They have increased defenses, and do not need to breathe. They must eat minerals to live, which give additional buffs.

+

Vars

human_surname_chanceChance that we will generate a human surname, for lore reasons
+

Var Details

human_surname_chance + + + + +

+

Chance that we will generate a human surname, for lore reasons

+ + + diff --git a/datum/species/human/felinid.html b/datum/species/human/felinid.html new file mode 100644 index 00000000000..66577b4b173 --- /dev/null +++ b/datum/species/human/felinid.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/human/felinid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

felinid + + + +

+ + +

Vars

original_felinidWhen false, this is a felinid created by mass-purrbation
+

Var Details

original_felinid + + + + +

+

When false, this is a felinid created by mass-purrbation

+ + + diff --git a/datum/species/jelly/luminescent.html b/datum/species/jelly/luminescent.html new file mode 100644 index 00000000000..b0e696f0407 --- /dev/null +++ b/datum/species/jelly/luminescent.html @@ -0,0 +1,71 @@ + + + + + + + /datum/species/jelly/luminescent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

luminescent + + + +

+ +

LUMINESCENTS

+ + + + + +

Vars

current_extractThe slime extract we currently have integrated
extract_cooldownThe cooldown of us using exteracts
glowInternal dummy used to glow (very cool)
glow_intensityHow strong is our glow
luminescent_actionsA list of all luminescent related actions we have

Procs

update_glowUpdates the glow of our internal glow object
+

Var Details

current_extract + + + + +

+

The slime extract we currently have integrated

extract_cooldown + + + + +

+

The cooldown of us using exteracts

glow + + + + +

+

Internal dummy used to glow (very cool)

glow_intensity + + + + +

+

How strong is our glow

luminescent_actions + + + + +

+

A list of all luminescent related actions we have

Proc Details

update_glow +

+

Updates the glow of our internal glow object

+ + + diff --git a/datum/species/jelly/stargazer.html b/datum/species/jelly/stargazer.html new file mode 100644 index 00000000000..b7adc0d50eb --- /dev/null +++ b/datum/species/jelly/stargazer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/jelly/stargazer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stargazer + + + +

+ +

STARGAZERS

+

Vars

project_actionSpecial "project thought" telepathy action for stargazers.
+

Var Details

project_action + + + + +

+

Special "project thought" telepathy action for stargazers.

+ + + diff --git a/datum/species/lizard.html b/datum/species/lizard.html new file mode 100644 index 00000000000..7b6a1263e04 --- /dev/null +++ b/datum/species/lizard.html @@ -0,0 +1,35 @@ + + + + + + + /datum/species/lizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

lizard + + + +

+ + +

Procs

body_temperature_coreLizards are cold blooded and do not stabilize body temperature naturally

Proc Details

body_temperature_core +

+

Lizards are cold blooded and do not stabilize body temperature naturally

+ + + diff --git a/datum/species/lizard/silverscale.html b/datum/species/lizard/silverscale.html new file mode 100644 index 00000000000..5f81d26610e --- /dev/null +++ b/datum/species/lizard/silverscale.html @@ -0,0 +1,50 @@ + + + + + + + /datum/species/lizard/silverscale - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

silverscale + + + +

+ + + + +

Vars

old_eye_color_leftstored eye color for when we turn back off of a silverscale.
old_eye_color_rightSee above
old_mutcolorstored mutcolor for when we turn back off of a silverscale.
+

Var Details

old_eye_color_left + + + + +

+

stored eye color for when we turn back off of a silverscale.

old_eye_color_right + + + + +

+

See above

old_mutcolor + + + + +

+

stored mutcolor for when we turn back off of a silverscale.

+ + + diff --git a/datum/species/plasmaman.html b/datum/species/plasmaman.html new file mode 100644 index 00000000000..cb0d8c78202 --- /dev/null +++ b/datum/species/plasmaman.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/plasmaman - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plasmaman + + + +

+ + +

Vars

internal_fireIf the bones themselves are burning clothes won't help you much
+

Var Details

internal_fire + + + + +

+

If the bones themselves are burning clothes won't help you much

+ + + diff --git a/datum/species/vampire.html b/datum/species/vampire.html new file mode 100644 index 00000000000..98915f2e5ab --- /dev/null +++ b/datum/species/vampire.html @@ -0,0 +1,36 @@ + + + + + + + /datum/species/vampire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vampire + + + +

+ + +

Vars

info_textsome starter text sent to the vampire initially, because vampires have shit to do to stay alive
+

Var Details

info_text + + + + +

+

some starter text sent to the vampire initially, because vampires have shit to do to stay alive

+ + + diff --git a/datum/species/zombie.html b/datum/species/zombie.html new file mode 100644 index 00000000000..bf0f14f8c90 --- /dev/null +++ b/datum/species/zombie.html @@ -0,0 +1,43 @@ + + + + + + + /datum/species/zombie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

zombie + + + +

+ + + +

Vars

spooksSpooky growls we sometimes play while alive

Procs

body_temperature_coreZombies do not stabilize body temperature they are the walking dead and are cold blooded
+

Var Details

spooks + + + + +

+

Spooky growls we sometimes play while alive

Proc Details

body_temperature_core +

+

Zombies do not stabilize body temperature they are the walking dead and are cold blooded

+ + + diff --git a/datum/spellbook_entry.html b/datum/spellbook_entry.html new file mode 100644 index 00000000000..2f30cff692a --- /dev/null +++ b/datum/spellbook_entry.html @@ -0,0 +1,189 @@ + + + + + + + /datum/spellbook_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spellbook_entry + + + +

+ +Spellbook entries +

Wizard spellbooks are automatically populated with +a list of every spellbook entry subtype when they're made.

+

Wizards can then buy entries from the book to learn magic, +invoke rituals, or summon items.

+ + + + + + + + + + + + + + + + + +

Vars

buy_wordFlavor. Verb used in saying how the spell is aquired. Ex "[Learn] Fireball" or "[Summon] Ghosts"
categoryWhat category the entry falls in
cooldownThe cooldown of the spell
costHow many book charges does the spell take
descThe description of the entry
limitThe limit on number of purchases from this entry in a given spellbook. If null, infinite are allowed.
nameThe name of the entry
no_coexistance_typecacheUsed so you can't have specific spells together
refundableIs this refundable?
requires_wizard_garbWhether the spell requires wizard garb or not
spell_typeThe type of spell that the entry grants (typepath)
timesHow many times has the spell been purchased. Compared against limit.

Procs

buy_spellActually buy the entry for the user
can_be_purchasedDetermines if this entry can be purchased from a spellbook +Used for configs / round related restrictions.
can_buyChecks if the user, with the supplied spellbook, can purchase the given entry.
can_refundChecks if the user, with the supplied spellbook, can refund the entry
refund_spellActually refund the entry for the user
set_spell_infoSet any of the spell info saved on our entry +after something has occured
+

Var Details

buy_word + + + + +

+

Flavor. Verb used in saying how the spell is aquired. Ex "[Learn] Fireball" or "[Summon] Ghosts"

category + + + + +

+

What category the entry falls in

cooldown + + + + +

+

The cooldown of the spell

cost + + + + +

+

How many book charges does the spell take

desc + + + + +

+

The description of the entry

limit + + + + +

+

The limit on number of purchases from this entry in a given spellbook. If null, infinite are allowed.

name + + + + +

+

The name of the entry

no_coexistance_typecache + + + + +

+

Used so you can't have specific spells together

refundable + + + + +

+

Is this refundable?

requires_wizard_garb + + + + +

+

Whether the spell requires wizard garb or not

spell_type + + + + +

+

The type of spell that the entry grants (typepath)

times + + + + +

+

How many times has the spell been purchased. Compared against limit.

Proc Details

buy_spell +

+

Actually buy the entry for the user

+

Arguments

+ +

Return truthy if the purchase was successful, FALSE otherwise

can_be_purchased +

+

Determines if this entry can be purchased from a spellbook +Used for configs / round related restrictions.

+

Return FALSE to prevent the entry from being added to wizard spellbooks, TRUE otherwise

can_buy +

+

Checks if the user, with the supplied spellbook, can purchase the given entry.

+

Arguments

+ +

Return TRUE if it can be bought, FALSE otherwise

can_refund +

+

Checks if the user, with the supplied spellbook, can refund the entry

+

Arguments

+ +

Return TRUE if it can refunded, FALSE otherwise

refund_spell +

+

Actually refund the entry for the user

+

Arguments

+ +

Return -1 on failure, or return the point value of the refund on success

set_spell_info +

+

Set any of the spell info saved on our entry +after something has occured

+

For example, updating the cooldown after upgrading it

+ + + diff --git a/datum/spellbook_entry/item.html b/datum/spellbook_entry/item.html new file mode 100644 index 00000000000..7f59fdb4747 --- /dev/null +++ b/datum/spellbook_entry/item.html @@ -0,0 +1,43 @@ + + + + + + + /datum/spellbook_entry/item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

Item summons, they give you an item.

+ +

Vars

item_pathTypepath of what item we create when purchased

Procs

try_equip_itemAttempts to give the item to the buyer on purchase.
+

Var Details

item_path + + + + +

+

Typepath of what item we create when purchased

Proc Details

try_equip_item +

+

Attempts to give the item to the buyer on purchase.

+ + + diff --git a/datum/sprite_accessory.html b/datum/sprite_accessory.html new file mode 100644 index 00000000000..16c7bfe2a06 --- /dev/null +++ b/datum/sprite_accessory.html @@ -0,0 +1,122 @@ + + + + + + + /datum/sprite_accessory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sprite_accessory + + + +

+ + + + + + + + + + + + + + +

Vars

centerShould we center the sprite?
color_srcCurrently only used by mutantparts so don't worry about hair and stuff. +This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none.
dimension_xThe width of the sprite in pixels. Used to center it if necessary.
dimension_yThe height of the sprite in pixels. Used to center it if necessary.
em_blockShould this sprite block emissives?
genderDetermines if the accessory will be skipped or included in random hair generations.
gender_specificSomething that can be worn by either gender, but looks different on each.
hasinnerDecides if this sprite has an "inner" part, such as the fleshy parts on ears.
iconThe icon file the accessory is located in.
icon_stateThe icon_state of the accessory.
lockedIs this part locked from roundstart selection? Used for parts that apply effects.
nameThe preview name of the accessory.
use_staticDetermines if the accessory will be skipped by color preferences.
+

Var Details

center + + + + +

+

Should we center the sprite?

color_src + + + + +

+

Currently only used by mutantparts so don't worry about hair and stuff. +This is the source that this accessory will get its color from. Default is MUTCOLOR, but can also be HAIR, FACEHAIR, EYECOLOR and 0 if none.

dimension_x + + + + +

+

The width of the sprite in pixels. Used to center it if necessary.

dimension_y + + + + +

+

The height of the sprite in pixels. Used to center it if necessary.

em_block + + + + +

+

Should this sprite block emissives?

gender + + + + +

+

Determines if the accessory will be skipped or included in random hair generations.

gender_specific + + + + +

+

Something that can be worn by either gender, but looks different on each.

hasinner + + + + +

+

Decides if this sprite has an "inner" part, such as the fleshy parts on ears.

icon + + + + +

+

The icon file the accessory is located in.

icon_state + + + + +

+

The icon_state of the accessory.

locked + + + + +

+

Is this part locked from roundstart selection? Used for parts that apply effects.

name + + + + +

+

The preview name of the accessory.

use_static + + + + +

+

Determines if the accessory will be skipped by color preferences.

+ + + diff --git a/datum/sprite_accessory/gradient.html b/datum/sprite_accessory/gradient.html new file mode 100644 index 00000000000..c52da4a693a --- /dev/null +++ b/datum/sprite_accessory/gradient.html @@ -0,0 +1,36 @@ + + + + + + + /datum/sprite_accessory/gradient - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gradient + + + +

+ + +

Vars

gradient_categorywhether this gradient applies to hair and/or beards. Some gradients do not work well on beards.
+

Var Details

gradient_category + + + + +

+

whether this gradient applies to hair and/or beards. Some gradients do not work well on beards.

+ + + diff --git a/datum/stack_canary.html b/datum/stack_canary.html new file mode 100644 index 00000000000..7a09bfe6571 --- /dev/null +++ b/datum/stack_canary.html @@ -0,0 +1,35 @@ + + + + + + + /datum/stack_canary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stack_canary + + + +

+ +

Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.

+

Procs

use_variableempty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

Proc Details

use_variable +

+

empty proc to avoid warnings about unused variables. Call this proc on your canary in the stack it's watching.

+ + + diff --git a/datum/stack_end_detector.html b/datum/stack_end_detector.html new file mode 100644 index 00000000000..b2392bf4adf --- /dev/null +++ b/datum/stack_end_detector.html @@ -0,0 +1,47 @@ + + + + + + + /datum/stack_end_detector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stack_end_detector + + + +

+ +

Stack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.

+ +

Procs

checkReturns true if the stack is still going. Calling before the canary has been primed also returns true
prime_canary

Proc Details

check +

+

Returns true if the stack is still going. Calling before the canary has been primed also returns true

prime_canary +

+
+ + + diff --git a/datum/stack_recipe.html b/datum/stack_recipe.html new file mode 100644 index 00000000000..eac68e21121 --- /dev/null +++ b/datum/stack_recipe.html @@ -0,0 +1,143 @@ + + + + + + + /datum/stack_recipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stack_recipe + + + +

+ + + + + + + + + + + + + + + + + +

Vars

applies_matsIf TRUE, the created atom will gain custom mat datums
categoryCategory for general crafting menu
check_densityIf the atom checks that there are objects with density in the same turf when being built. TRUE by default
check_directionIf this atom should run the direction check, for use when building things like directional windows where you can have more than one per turf
is_fulltileIf the atom is fulltile, as in a fulltile window. This is used for the direction check to prevent fulltile windows from being able to be built over directional stuff. +Setting this to true will effectively set check_direction to true.
max_res_amountMax amount of resulting atoms made
on_solid_groundIf the atom requires a floor below
one_per_turfIf only one of the resulting atom is allowed per turf
placement_checksBitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT|STACK_CHECK_TRAM_FORBIDDEN|STACK_CHECK_TRAM_EXCLUSIVE)
req_amountAmount of stack required to make
res_amountAmount of resulting atoms made
result_typeWhat atom the recipe makes, typepath
timeHow long it takes to make
titleThe title of the recipe
trait_boosterWhat trait, if any, boosts the construction speed of this item
trait_modifierHow much the trait above, if supplied, boosts the construct speed of this item
+

Var Details

applies_mats + + + + +

+

If TRUE, the created atom will gain custom mat datums

category + + + + +

+

Category for general crafting menu

check_density + + + + +

+

If the atom checks that there are objects with density in the same turf when being built. TRUE by default

check_direction + + + + +

+

If this atom should run the direction check, for use when building things like directional windows where you can have more than one per turf

is_fulltile + + + + +

+

If the atom is fulltile, as in a fulltile window. This is used for the direction check to prevent fulltile windows from being able to be built over directional stuff. +Setting this to true will effectively set check_direction to true.

max_res_amount + + + + +

+

Max amount of resulting atoms made

on_solid_ground + + + + +

+

If the atom requires a floor below

one_per_turf + + + + +

+

If only one of the resulting atom is allowed per turf

placement_checks + + + + +

+

Bitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT|STACK_CHECK_TRAM_FORBIDDEN|STACK_CHECK_TRAM_EXCLUSIVE)

req_amount + + + + +

+

Amount of stack required to make

res_amount + + + + +

+

Amount of resulting atoms made

result_type + + + + +

+

What atom the recipe makes, typepath

time + + + + +

+

How long it takes to make

title + + + + +

+

The title of the recipe

trait_booster + + + + +

+

What trait, if any, boosts the construction speed of this item

trait_modifier + + + + +

+

How much the trait above, if supplied, boosts the construct speed of this item

+ + + diff --git a/datum/stack_recipe/radial.html b/datum/stack_recipe/radial.html new file mode 100644 index 00000000000..103ab9226f7 --- /dev/null +++ b/datum/stack_recipe/radial.html @@ -0,0 +1,36 @@ + + + + + + + /datum/stack_recipe/radial - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radial + + + +

+ + +

Vars

descOptional info to be shown on the radial option for this item
+

Var Details

desc + + + + +

+

Optional info to be shown on the radial option for this item

+ + + diff --git a/datum/station_alert.html b/datum/station_alert.html new file mode 100644 index 00000000000..8ed548eaab7 --- /dev/null +++ b/datum/station_alert.html @@ -0,0 +1,64 @@ + + + + + + + /datum/station_alert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

station_alert + + + +

+ + + + + + +

Vars

alarm_typesList of all alarm types we are listening to
camera_viewIf UI will also show and allow jumping to cameras connected to each alert area
holderHolder of the datum
listenerListens for alarms, provides the alarms list for our UI
titleTitle of our UI
+

Var Details

alarm_types + + + + +

+

List of all alarm types we are listening to

camera_view + + + + +

+

If UI will also show and allow jumping to cameras connected to each alert area

holder + + + + +

+

Holder of the datum

listener + + + + +

+

Listens for alarms, provides the alarms list for our UI

title + + + + +

+

Title of our UI

+ + + diff --git a/datum/station_request.html b/datum/station_request.html new file mode 100644 index 00000000000..87d3de79707 --- /dev/null +++ b/datum/station_request.html @@ -0,0 +1,72 @@ + + + + + + + /datum/station_request - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

station_request + + + +

+ +

A combined all in one datum that stores everything about the request, the requester's account, as well as the requestee's account +All of this is passed to the Request Console UI in order to present in organized way.

+ + + + + +

Vars

applicantsthe account of the request fulfiller.
descriptionText description of the request to be shown within the UI.
ownerName of the Request Owner.
owner_accountThe account of the request owner.
req_numberInternal number of the request for organizing. Id card number.
valueValue of the request.
+

Var Details

applicants + + + + +

+

the account of the request fulfiller.

description + + + + +

+

Text description of the request to be shown within the UI.

owner + + + + +

+

Name of the Request Owner.

owner_account + + + + +

+

The account of the request owner.

req_number + + + + +

+

Internal number of the request for organizing. Id card number.

value + + + + +

+

Value of the request.

+ + + diff --git a/datum/station_state.html b/datum/station_state.html new file mode 100644 index 00000000000..9283efbd863 --- /dev/null +++ b/datum/station_state.html @@ -0,0 +1,34 @@ + + + + + + + /datum/station_state - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

station_state + + + +

+ +

For counting up how much of the station exists at the start of the shift, and how much is left behind by the end of it.

+

"For God's sake, please be careful with those fuel tanks, you're going to set them off and compromise the station's integrity." +"Relax boss, everyone knows this station has no integrity." +"Yeah, that's why we all like it so much!"

+
+ + + diff --git a/datum/station_trait.html b/datum/station_trait.html new file mode 100644 index 00000000000..9b2e562cd18 --- /dev/null +++ b/datum/station_trait.html @@ -0,0 +1,211 @@ + + + + + + + /datum/station_trait - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

station_trait + + + +

+ +

Base class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_typeTrait should not be instantiated in a round if its type matches this type
blacklistWhat traits are incompatible with this one?
can_revertWhether or not this trait can be reverted by an admin
dynamic_threat_idThe ID that we look for in dynamic.json. Not synced with 'name' because I can already see this go wrong
forceWhether this trait is always enabled; generally used for debugging
lobby_buttonsLobby buttons controlled by this trait
nameName of the trait
report_messageWhat message to show in the centcom report?
show_in_reportDoes this trait show in the centcom report?
sign_up_buttonIf set to true we'll show a button on the lobby to notify people about this trait
threat_reductionIf ran during dynamic, do we reduce the total threat? Will be overriden by config if set
trait_flagsExtra flags for station traits such as it being abstract, planetary or space only
trait_processesWhether or not this trait uses process()
trait_to_giveWhat code-trait does this station trait give? gives none if null
trait_typeThe type of this trait. Used to classify how this trait influences the station
weightChance relative to other traits of its type to be picked

Procs

can_display_lobby_buttonReturn TRUE if we want to show a lobby button, by default we assume we don't want it after the round begins
destroy_lobby_buttonsRemove all of our active lobby buttons
get_decal_colorReturn a color for the decals, if any
get_reportReturns the type of info the centcom report has on this trait, if any.
on_lobby_button_clickCalled when our lobby button is clicked on
on_lobby_button_destroyedDon't hold references to deleted buttons
on_lobby_button_update_iconCalled when our lobby button tries to update its appearance
on_round_startProc ran when round starts. Use this for roundstart effects. By default we clean up our buttons here.
revertWill attempt to revert the station trait, used by admins.
setup_lobby_buttonApply any additional handling we need to our lobby button
+

Var Details

abstract_type + + + + +

+

Trait should not be instantiated in a round if its type matches this type

blacklist + + + + +

+

What traits are incompatible with this one?

can_revert + + + + +

+

Whether or not this trait can be reverted by an admin

dynamic_threat_id + + + + +

+

The ID that we look for in dynamic.json. Not synced with 'name' because I can already see this go wrong

force + + + + +

+

Whether this trait is always enabled; generally used for debugging

lobby_buttons + + + + +

+

Lobby buttons controlled by this trait

name + + + + +

+

Name of the trait

report_message + + + + +

+

What message to show in the centcom report?

show_in_report + + + + +

+

Does this trait show in the centcom report?

sign_up_button + + + + +

+

If set to true we'll show a button on the lobby to notify people about this trait

threat_reduction + + + + +

+

If ran during dynamic, do we reduce the total threat? Will be overriden by config if set

trait_flags + + + + +

+

Extra flags for station traits such as it being abstract, planetary or space only

trait_processes + + + + +

+

Whether or not this trait uses process()

trait_to_give + + + + +

+

What code-trait does this station trait give? gives none if null

trait_type + + + + +

+

The type of this trait. Used to classify how this trait influences the station

weight + + + + +

+

Chance relative to other traits of its type to be picked

Proc Details

can_display_lobby_button +

+

Return TRUE if we want to show a lobby button, by default we assume we don't want it after the round begins

destroy_lobby_buttons +

+

Remove all of our active lobby buttons

get_decal_color +

+

Return a color for the decals, if any

get_report +

+

Returns the type of info the centcom report has on this trait, if any.

on_lobby_button_click +

+

Called when our lobby button is clicked on

on_lobby_button_destroyed +

+

Don't hold references to deleted buttons

on_lobby_button_update_icon +

+

Called when our lobby button tries to update its appearance

on_round_start +

+

Proc ran when round starts. Use this for roundstart effects. By default we clean up our buttons here.

revert +

+

Will attempt to revert the station trait, used by admins.

setup_lobby_button +

+

Apply any additional handling we need to our lobby button

+ + + diff --git a/datum/station_trait/birthday.html b/datum/station_trait/birthday.html new file mode 100644 index 00000000000..f4370dd90e5 --- /dev/null +++ b/datum/station_trait/birthday.html @@ -0,0 +1,50 @@ + + + + + + + /datum/station_trait/birthday - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

birthday + + + +

+ + + + +

Vars

birthday_override_ckeyVariable that admins can override with a player's ckey in order to set them as the birthday person when the round starts.
birthday_personVariable that stores a reference to the person selected to have their birthday celebrated.
birthday_person_nameVariable that holds the real name of the birthday person once selected, just incase the birthday person's real_name changes.
+

Var Details

birthday_override_ckey + + + + +

+

Variable that admins can override with a player's ckey in order to set them as the birthday person when the round starts.

birthday_person + + + + +

+

Variable that stores a reference to the person selected to have their birthday celebrated.

birthday_person_name + + + + +

+

Variable that holds the real name of the birthday person once selected, just incase the birthday person's real_name changes.

+ + + diff --git a/datum/station_trait/cybernetic_revolution.html b/datum/station_trait/cybernetic_revolution.html new file mode 100644 index 00000000000..51fcce02692 --- /dev/null +++ b/datum/station_trait/cybernetic_revolution.html @@ -0,0 +1,36 @@ + + + + + + + /datum/station_trait/cybernetic_revolution - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cybernetic_revolution + + + +

+ + +

Vars

job_to_cyberneticList of all job types with the cybernetics they should receive.
+

Var Details

job_to_cybernetic + + + + +

+

List of all job types with the cybernetics they should receive.

+ + + diff --git a/datum/station_trait/ian_adventure.html b/datum/station_trait/ian_adventure.html new file mode 100644 index 00000000000..9c2ef35d5c2 --- /dev/null +++ b/datum/station_trait/ian_adventure.html @@ -0,0 +1,35 @@ + + + + + + + /datum/station_trait/ian_adventure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ian_adventure + + + +

+ + +

Procs

do_corgi_respawnMoves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

Proc Details

do_corgi_respawn +

+

Moves the new dog somewhere safe, equips it with the old one's inventory and makes it deadchat_playable.

+ + + diff --git a/datum/station_trait/job.html b/datum/station_trait/job.html new file mode 100644 index 00000000000..7f7e97648b5 --- /dev/null +++ b/datum/station_trait/job.html @@ -0,0 +1,72 @@ + + + + + + + /datum/station_trait/job - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

job + + + +

+ +

A station trait which enables a temporary job +Generally speaking these should always all be mutually exclusive, don't have too many at once

+ + + + + +

Vars

button_descWhat tooltip to show on the button
job_to_addType of job to enable
lobby_candidatesWho signed up to this in the lobby

Procs

on_failed_assignmentCalled if we didn't assign a role before the round began, we add it to the latejoin menu instead
on_lobby_button_update_overlaysAdd an overlay based on whether you are actively signed up for this role
pre_jobs_assignedCalled before we start assigning roles, assign ours first
+

Var Details

button_desc + + + + +

+

What tooltip to show on the button

job_to_add + + + + +

+

Type of job to enable

lobby_candidates + + + + +

+

Who signed up to this in the lobby

Proc Details

on_failed_assignment +

+

Called if we didn't assign a role before the round began, we add it to the latejoin menu instead

on_lobby_button_update_overlays +

+

Add an overlay based on whether you are actively signed up for this role

pre_jobs_assigned +

+

Called before we start assigning roles, assign ours first

+ + + diff --git a/datum/station_trait/job/cargorilla.html b/datum/station_trait/job/cargorilla.html new file mode 100644 index 00000000000..74cf2d6569b --- /dev/null +++ b/datum/station_trait/job/cargorilla.html @@ -0,0 +1,35 @@ + + + + + + + /datum/station_trait/job/cargorilla - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cargorilla + + + +

+ +

Adds a gorilla to the cargo department, replacing the sloth and the mech

+

Procs

replace_cargoRemove the cargo equipment and personnel that are being replaced by a gorilla.

Proc Details

replace_cargo +

+

Remove the cargo equipment and personnel that are being replaced by a gorilla.

+ + + diff --git a/datum/station_trait/nebula.html b/datum/station_trait/nebula.html new file mode 100644 index 00000000000..e5726a749af --- /dev/null +++ b/datum/station_trait/nebula.html @@ -0,0 +1,43 @@ + + + + + + + /datum/station_trait/nebula - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nebula + + + +

+ +

Station traits that influence the space background and apply some unique effects!

+ +

Vars

carp_color_overrideIf set, gives the basic carp different colors
nebula_layerThe parallax layer of the nebula
+

Var Details

carp_color_override + + + + +

+

If set, gives the basic carp different colors

nebula_layer + + + + +

+

The parallax layer of the nebula

+ + + diff --git a/datum/station_trait/nebula/hostile.html b/datum/station_trait/nebula/hostile.html new file mode 100644 index 00000000000..3b10d23902c --- /dev/null +++ b/datum/station_trait/nebula/hostile.html @@ -0,0 +1,99 @@ + + + + + + + /datum/station_trait/nebula/hostile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hostile + + + +

+ +

Station nebula that incur some sort of effect if no shielding is created

+ + + + + + + + + +

Vars

intensity_increment_timeHow long it takes to go to the next nebula level/intensity
maximum_nebula_intensityThe max intensity of a nebula
nebula_intensityIntensity of the nebula
shieldingObjects that we use to calculate the current shielding level

Procs

add_shielderAdd a shielding unit to ask for shielding
apply_nebula_effectThe station did not set up shielding, start creating effects
calculate_nebula_strengthCalculate how strong we currently are
get_shielding_levelCheck how strong the stations shielding is
remove_shielderRemove a shielding unit from our tracking
send_instructionsAnnounce to the station what's going on and what they need to do
+

Var Details

intensity_increment_time + + + + +

+

How long it takes to go to the next nebula level/intensity

maximum_nebula_intensity + + + + +

+

The max intensity of a nebula

nebula_intensity + + + + +

+

Intensity of the nebula

shielding + + + + +

+

Objects that we use to calculate the current shielding level

Proc Details

add_shielder +

+

Add a shielding unit to ask for shielding

apply_nebula_effect +

+

The station did not set up shielding, start creating effects

calculate_nebula_strength +

+

Calculate how strong we currently are

get_shielding_level +

+

Check how strong the stations shielding is

remove_shielder +

+

Remove a shielding unit from our tracking

send_instructions +

+

Announce to the station what's going on and what they need to do

+ + + diff --git a/datum/station_trait/nebula/hostile/radiation.html b/datum/station_trait/nebula/hostile/radiation.html new file mode 100644 index 00000000000..d3f7d85718d --- /dev/null +++ b/datum/station_trait/nebula/hostile/radiation.html @@ -0,0 +1,78 @@ + + + + + + + /datum/station_trait/nebula/hostile/radiation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radiation + + + +

+ +

The station will be inside a radioactive nebula! Space is radioactive and the station needs to start setting up nebula shielding

+ + + + + + +

Vars

nebula_radglowThe glow of 'fake' radioactive objects in space
radioactive_areasArea's that are part of the radioactive nebula
send_care_package_atWhen are we going to send them a care package?
send_care_package_timeHow long does the storm have to last for us to send a care package?

Procs

on_enteredThey entered space? START BOMBING WITH RADS HAHAHAHA. old_area can be null for new objects
on_exitedCalled when an atom leaves space, so we can remove the radiation effect
send_care_packageSend a care package because it is not going well
+

Var Details

nebula_radglow + + + + +

+

The glow of 'fake' radioactive objects in space

radioactive_areas + + + + +

+

Area's that are part of the radioactive nebula

send_care_package_at + + + + +

+

When are we going to send them a care package?

send_care_package_time + + + + +

+

How long does the storm have to last for us to send a care package?

Proc Details

on_entered +

+

They entered space? START BOMBING WITH RADS HAHAHAHA. old_area can be null for new objects

on_exited +

+

Called when an atom leaves space, so we can remove the radiation effect

send_care_package +

+

Send a care package because it is not going well

+ + + diff --git a/datum/station_trait/random_event_weight_modifier.html b/datum/station_trait/random_event_weight_modifier.html new file mode 100644 index 00000000000..351d50957d2 --- /dev/null +++ b/datum/station_trait/random_event_weight_modifier.html @@ -0,0 +1,50 @@ + + + + + + + /datum/station_trait/random_event_weight_modifier - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

random_event_weight_modifier + + + +

+ + + + +

Vars

event_control_pathThe path to the round_event_control that we modify.
max_occurrences_modifierFlat modifier added to the amount of max occurances the random event can have.
weight_multiplierMultiplier applied to the weight of the event.
+

Var Details

event_control_path + + + + +

+

The path to the round_event_control that we modify.

max_occurrences_modifier + + + + +

+

Flat modifier added to the amount of max occurances the random event can have.

weight_multiplier + + + + +

+

Multiplier applied to the weight of the event.

+ + + diff --git a/datum/station_trait/revolutionary_trashing.html b/datum/station_trait/revolutionary_trashing.html new file mode 100644 index 00000000000..d5a4f7697f4 --- /dev/null +++ b/datum/station_trait/revolutionary_trashing.html @@ -0,0 +1,45 @@ + + + + + + + /datum/station_trait/revolutionary_trashing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

revolutionary_trashing + + + +

+ + + +

Vars

trash_talkThe IDs of the graffiti designs that we will generate.

Procs

trash_this_place"Trashes" the command areas of the station.
+

Var Details

trash_talk + + + + +

+

The IDs of the graffiti designs that we will generate.

Proc Details

trash_this_place +

+

"Trashes" the command areas of the station.

+

Creates random graffiti and damages certain machinery/structures in the +command areas of the station.

+ + + diff --git a/datum/status_effect.html b/datum/status_effect.html new file mode 100644 index 00000000000..8c4793293d7 --- /dev/null +++ b/datum/status_effect.html @@ -0,0 +1,249 @@ + + + + + + + /datum/status_effect - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

status_effect + + + +

+ +

Status effects are used to apply temporary or permanent effects to mobs. +This file contains their code, plus code for applying and removing them.

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alert_typeThe typepath to the alert thrown by the status effect when created. +Status effect "name"s and "description"s are shown to the owner here.
durationWhen set initially / in on_creation, this is how long the status effect lasts in deciseconds. +While processing, this becomes the world.time when the status effect will expire. +-1 = infinite duration.
heal_flag_necessaryIf remove_on_fullheal is TRUE, what flag do we need to be removed?
idThe ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things.
linked_alertThe alert itself, created in [proc/on_creation] (if alert_type is specified).
on_remove_on_mob_deleteIf TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced].
ownerThe mob affected by the status effect.
particle_effectA particle effect, for things like embers - Should be set on update_particles()
processing_speedUsed to define if the status effect should be using SSfastprocess or SSprocessing
remove_on_fullhealDo we self-terminate when a fullheal is called?
status_typeHow many of the effect can be on one mob, and/or what happens when you try to add a duplicate.
tick_intervalWhen set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. +Note that this cannot be faster than the processing subsystem you choose to fire the effect on. (See: [var/processing_speed]) +While processing, this becomes the world.time when the next tick will occur. +-1 = will prevent ticks, and if duration is also unlimited (-1), stop processing wholesale.

Procs

be_replacedCalled instead of on_remove when a status effect +of status_type STATUS_EFFECT_REPLACE is replaced by itself, +or when a status effect with on_remove_on_mob_delete +set to FALSE has its mob deleted
before_removeCalled before being fully removed (before on_remove) +Returning FALSE will cancel removal
get_examine_textGets and formats examine text associated with our status effect. +Return 'null' to have no examine text appear (default behavior).
nextmove_adjustAdds nextmove adjustment additiviely to the owner while applied
nextmove_modifierAdds nextmove modifier multiplicatively to the owner while applied
on_applyCalled whenever the effect is applied in on_created +Returning FALSE will cause it to delete itself during creation instead.
on_creationCalled from New() with any supplied status effect arguments. +Not guaranteed to exist by the end. +Returning FALSE from on_apply will stop on_creation and self-delete the effect.
on_removeCalled whenever the buff expires or is removed (qdeleted) +Note that at the point this is called, it is out of the +owner's status_effects list, but owner is not yet null
refreshCalled when a status effect of status_type STATUS_EFFECT_REFRESH +has its duration refreshed in apply_status_effect - is passed New() args
remove_durationRemove [seconds] of duration from the status effect, qdeling / ending if we eclipse the current world time.
remove_effect_on_healSignal proc for COMSIG_LIVING_POST_FULLY_HEAL to remove us on fullheal
tickCalled every tick from process(). +This is only called of tick_interval is not -1.
update_particlesUpdates the particles for the status effects +Should be handled by subtypes!
+

Var Details

alert_type + + + + +

+

The typepath to the alert thrown by the status effect when created. +Status effect "name"s and "description"s are shown to the owner here.

duration + + + + +

+

When set initially / in on_creation, this is how long the status effect lasts in deciseconds. +While processing, this becomes the world.time when the status effect will expire. +-1 = infinite duration.

heal_flag_necessary + + + + +

+

If remove_on_fullheal is TRUE, what flag do we need to be removed?

id + + + + +

+

The ID of the effect. ID is used in adding and removing effects to check for duplicates, among other things.

linked_alert + + + + +

+

The alert itself, created in [proc/on_creation] (if alert_type is specified).

on_remove_on_mob_delete + + + + +

+

If TRUE, we call [proc/on_remove] when owner is deleted. Otherwise, we call [proc/be_replaced].

owner + + + + +

+

The mob affected by the status effect.

particle_effect + + + + +

+

A particle effect, for things like embers - Should be set on update_particles()

processing_speed + + + + +

+

Used to define if the status effect should be using SSfastprocess or SSprocessing

remove_on_fullheal + + + + +

+

Do we self-terminate when a fullheal is called?

status_type + + + + +

+

How many of the effect can be on one mob, and/or what happens when you try to add a duplicate.

tick_interval + + + + +

+

When set initially / in on_creation, this is how long between [proc/tick] calls in deciseconds. +Note that this cannot be faster than the processing subsystem you choose to fire the effect on. (See: [var/processing_speed]) +While processing, this becomes the world.time when the next tick will occur. +-1 = will prevent ticks, and if duration is also unlimited (-1), stop processing wholesale.

Proc Details

be_replaced +

+

Called instead of on_remove when a status effect +of status_type STATUS_EFFECT_REPLACE is replaced by itself, +or when a status effect with on_remove_on_mob_delete +set to FALSE has its mob deleted

before_remove +

+

Called before being fully removed (before on_remove) +Returning FALSE will cancel removal

get_examine_text +

+

Gets and formats examine text associated with our status effect. +Return 'null' to have no examine text appear (default behavior).

nextmove_adjust +

+

Adds nextmove adjustment additiviely to the owner while applied

nextmove_modifier +

+

Adds nextmove modifier multiplicatively to the owner while applied

on_apply +

+

Called whenever the effect is applied in on_created +Returning FALSE will cause it to delete itself during creation instead.

on_creation +

+

Called from New() with any supplied status effect arguments. +Not guaranteed to exist by the end. +Returning FALSE from on_apply will stop on_creation and self-delete the effect.

on_remove +

+

Called whenever the buff expires or is removed (qdeleted) +Note that at the point this is called, it is out of the +owner's status_effects list, but owner is not yet null

refresh +

+

Called when a status effect of status_type STATUS_EFFECT_REFRESH +has its duration refreshed in apply_status_effect - is passed New() args

remove_duration +

+

Remove [seconds] of duration from the status effect, qdeling / ending if we eclipse the current world time.

remove_effect_on_heal +

+

Signal proc for COMSIG_LIVING_POST_FULLY_HEAL to remove us on fullheal

tick +

+

Called every tick from process(). +This is only called of tick_interval is not -1.

+

Note that every tick =/= every processing cycle.

+

update_particles +

+

Updates the particles for the status effects +Should be handled by subtypes!

+ + + diff --git a/datum/status_effect/agent_pinpointer.html b/datum/status_effect/agent_pinpointer.html new file mode 100644 index 00000000000..f09e9ea1310 --- /dev/null +++ b/datum/status_effect/agent_pinpointer.html @@ -0,0 +1,78 @@ + + + + + + + /datum/status_effect/agent_pinpointer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

agent_pinpointer + + + +

+ + + + + + + + +

Vars

minimum_rangeThe minimum range to start pointing towards your target.
range_farThe range until you're considered 'too far away'
range_fuzz_factorHow fuzzy will the pinpointer be, messing with it pointing to your target.
range_midThe range until you're considered 'close'
scan_targetThe target we are pointing towards, refreshes every tick.

Procs

point_to_targetShow the distance and direction of a scanned target
scan_for_targetAttempting to locate a nearby target to scan and point towards.
+

Var Details

minimum_range + + + + +

+

The minimum range to start pointing towards your target.

range_far + + + + +

+

The range until you're considered 'too far away'

range_fuzz_factor + + + + +

+

How fuzzy will the pinpointer be, messing with it pointing to your target.

range_mid + + + + +

+

The range until you're considered 'close'

scan_target + + + + +

+

The target we are pointing towards, refreshes every tick.

Proc Details

point_to_target +

+

Show the distance and direction of a scanned target

scan_for_target +

+

Attempting to locate a nearby target to scan and point towards.

+ + + diff --git a/datum/status_effect/ants.html b/datum/status_effect/ants.html new file mode 100644 index 00000000000..0f456182871 --- /dev/null +++ b/datum/status_effect/ants.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/ants - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ants + + + +

+ + + +

Vars

ant_debuff_speechCommon phrases people covered in ants scream
ants_remainingWill act as the main timer as well as changing how much damage the ants do.
+

Var Details

ant_debuff_speech + + + + +

+

Common phrases people covered in ants scream

ants_remaining + + + + +

+

Will act as the main timer as well as changing how much damage the ants do.

+ + + diff --git a/datum/status_effect/basilisk_overheat.html b/datum/status_effect/basilisk_overheat.html new file mode 100644 index 00000000000..2560987746d --- /dev/null +++ b/datum/status_effect/basilisk_overheat.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/basilisk_overheat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basilisk_overheat + + + +

+ +

Status effect gained by basilisks when they touch something hot

+ + + +

Vars

chilling_reagentsThings which will chill us out if we get hit by them

Procs

on_deathCool down if we die
on_shotCool down if shot with a cryo beam
on_splashedCool down if splashed with water
+

Var Details

chilling_reagents + + + + +

+

Things which will chill us out if we get hit by them

Proc Details

on_death +

+

Cool down if we die

on_shot +

+

Cool down if shot with a cryo beam

on_splashed +

+

Cool down if splashed with water

+ + + diff --git a/datum/status_effect/bugkiller_death.html b/datum/status_effect/bugkiller_death.html new file mode 100644 index 00000000000..0d60b789633 --- /dev/null +++ b/datum/status_effect/bugkiller_death.html @@ -0,0 +1,37 @@ + + + + + + + /datum/status_effect/bugkiller_death - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bugkiller_death + + + +

+ +

If bugkiller delivers a lethal dosage, applies this effect which does a funny animation THEN kills 'em +Also makes it so simplemobs / basicmobs no longer delete when they die (if they do)

+

Vars

spasm_loopsHow many times the spasm loops
+

Var Details

spasm_loops + + + + +

+

How many times the spasm loops

+ + + diff --git a/datum/status_effect/choke.html b/datum/status_effect/choke.html new file mode 100644 index 00000000000..b56e3433ca5 --- /dev/null +++ b/datum/status_effect/choke.html @@ -0,0 +1,71 @@ + + + + + + + /datum/status_effect/choke - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

choke + + + +

+ + + + + + + +

Vars

ashThe particle holder we're using to run our ash effects
choke_loopOur choking audio loop
choking_on_refWeakref to the thing we're choking on
delta_xThe delta client.pixel_x we've got
delta_yThe delta client.pixel_y we've got
flamingIf the thing we're choking on is on fire
+

Var Details

ash + + + + +

+

The particle holder we're using to run our ash effects

choke_loop + + + + +

+

Our choking audio loop

choking_on_ref + + + + +

+

Weakref to the thing we're choking on

delta_x + + + + +

+

The delta client.pixel_x we've got

delta_y + + + + +

+

The delta client.pixel_y we've got

flaming + + + + +

+

If the thing we're choking on is on fire

+ + + diff --git a/datum/status_effect/cloudstruck.html b/datum/status_effect/cloudstruck.html new file mode 100644 index 00000000000..a699c4d9d07 --- /dev/null +++ b/datum/status_effect/cloudstruck.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/cloudstruck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cloudstruck + + + +

+ + +

Vars

mob_overlayThis overlay is applied to the owner for the duration of the effect.
+

Var Details

mob_overlay + + + + +

+

This overlay is applied to the owner for the duration of the effect.

+ + + diff --git a/datum/status_effect/confusion.html b/datum/status_effect/confusion.html new file mode 100644 index 00000000000..5ff2768e8c1 --- /dev/null +++ b/datum/status_effect/confusion.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/confusion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

confusion + + + +

+ +

A status effect used for adding confusion to a mob.

+

Procs

on_moveSignal proc for COMSIG_MOB_CLIENT_PRE_MOVE. We have a chance to mix up our movement pre-move with confusion.

Proc Details

on_move +

+

Signal proc for COMSIG_MOB_CLIENT_PRE_MOVE. We have a chance to mix up our movement pre-move with confusion.

+ + + diff --git a/datum/status_effect/cosmic_beam.html b/datum/status_effect/cosmic_beam.html new file mode 100644 index 00000000000..5bb849058f1 --- /dev/null +++ b/datum/status_effect/cosmic_beam.html @@ -0,0 +1,124 @@ + + + + + + + /datum/status_effect/cosmic_beam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cosmic_beam + + + +

+ + + + + + + + + + + + + + +

Vars

activeWether the beam is active or not
check_delayThe delay of when the beam gets checked
current_beamThe storage for the beam
current_targetStores the current beam target
last_checkChecks the time of the last check
max_rangeThe maximum range of the beam

Procs

beam_diedProc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = lose_target, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first
los_checkChecks if the beam is going through an invalid turf
lose_targetProc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()
on_beam_hitWhat to add when the beam connects to a target
on_beam_releaseWhat to remove when the beam disconnects from a target
on_beam_tickWhat to process when the beam is connected to a target
start_beamUsed for starting the beam when a target has been acquired
+

Var Details

active + + + + +

+

Wether the beam is active or not

check_delay + + + + +

+

The delay of when the beam gets checked

current_beam + + + + +

+

The storage for the beam

current_target + + + + +

+

Stores the current beam target

last_check + + + + +

+

Checks the time of the last check

max_range + + + + +

+

The maximum range of the beam

Proc Details

beam_died +

+

Proc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = lose_target, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first

los_check +

+

Checks if the beam is going through an invalid turf

lose_target +

+

Proc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()

on_beam_hit +

+

What to add when the beam connects to a target

on_beam_release +

+

What to remove when the beam disconnects from a target

on_beam_tick +

+

What to process when the beam is connected to a target

start_beam +

+

Used for starting the beam when a target has been acquired

+ + + diff --git a/datum/status_effect/decloning.html b/datum/status_effect/decloning.html new file mode 100644 index 00000000000..c2fe8d123cd --- /dev/null +++ b/datum/status_effect/decloning.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/decloning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

decloning + + + +

+ + +

Vars

strikes_leftHow many strikes our status effect holder has left before they are dusted.
+

Var Details

strikes_left + + + + +

+

How many strikes our status effect holder has left before they are dusted.

+ + + diff --git a/datum/status_effect/dizziness.html b/datum/status_effect/dizziness.html new file mode 100644 index 00000000000..273aa51f7ed --- /dev/null +++ b/datum/status_effect/dizziness.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/dizziness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dizziness + + + +

+ + +

Procs

clear_dizzinessSignal proc that self deletes our dizziness effect

Proc Details

clear_dizziness +

+

Signal proc that self deletes our dizziness effect

+ + + diff --git a/datum/status_effect/drowsiness.html b/datum/status_effect/drowsiness.html new file mode 100644 index 00000000000..2d0ffcc213d --- /dev/null +++ b/datum/status_effect/drowsiness.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/drowsiness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

drowsiness + + + +

+ + +

Procs

on_face_cleanSignal proc for COMSIG_COMPONENT_CLEAN_FACE_ACT. When we wash our face, reduce drowsiness by a bit.

Proc Details

on_face_clean +

+

Signal proc for COMSIG_COMPONENT_CLEAN_FACE_ACT. When we wash our face, reduce drowsiness by a bit.

+ + + diff --git a/datum/status_effect/drugginess.html b/datum/status_effect/drugginess.html new file mode 100644 index 00000000000..ae483fb6e4f --- /dev/null +++ b/datum/status_effect/drugginess.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/drugginess - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

drugginess + + + +

+ +

Drugginess / "high" effect, makes your screen rainbow

+

Procs

remove_drugginessRemoves all of our drugginess (self delete) on signal

Proc Details

remove_drugginess +

+

Removes all of our drugginess (self delete) on signal

+ + + diff --git a/datum/status_effect/eigenstasium.html b/datum/status_effect/eigenstasium.html new file mode 100644 index 00000000000..94a98770794 --- /dev/null +++ b/datum/status_effect/eigenstasium.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/eigenstasium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eigenstasium + + + +

+ + + + + +

Vars

alt_cloneYour clone from another reality
current_cycleSo we know what cycle we're in during the status
phase_3_cycleThe addiction looper for addiction stage 3
stable_messageIf we display the stabilised message or not
+

Var Details

alt_clone + + + + +

+

Your clone from another reality

current_cycle + + + + +

+

So we know what cycle we're in during the status

phase_3_cycle + + + + +

+

The addiction looper for addiction stage 3

stable_message + + + + +

+

If we display the stabilised message or not

+ + + diff --git a/datum/status_effect/eldritch.html b/datum/status_effect/eldritch.html new file mode 100644 index 00000000000..e649ddb2c78 --- /dev/null +++ b/datum/status_effect/eldritch.html @@ -0,0 +1,65 @@ + + + + + + + /datum/status_effect/eldritch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch + + + +

+ + + + + + +

Vars

effect_iconicon file for the underlay
effect_icon_stateicon state for the underlay
marked_underlayunderlay used to indicate that someone is marked

Procs

on_effectCalled when the mark is activated by the heretic.
update_owner_underlaySignal proc for COMSIG_ATOM_UPDATE_OVERLAYS.
+

Var Details

effect_icon + + + + +

+

icon file for the underlay

effect_icon_state + + + + +

+

icon state for the underlay

marked_underlay + + + + +

+

underlay used to indicate that someone is marked

Proc Details

on_effect +

+

Called when the mark is activated by the heretic.

update_owner_underlay +

+

Signal proc for COMSIG_ATOM_UPDATE_OVERLAYS.

+

Adds the generated mark overlay to the afflicted.

+ + + diff --git a/datum/status_effect/eldritch/ash.html b/datum/status_effect/eldritch/ash.html new file mode 100644 index 00000000000..4629dd5ca9a --- /dev/null +++ b/datum/status_effect/eldritch/ash.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/eldritch/ash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ash + + + +

+ + +

Vars

repetitionsDictates how much stamina and burn damage the mark will cause on trigger.
+

Var Details

repetitions + + + + +

+

Dictates how much stamina and burn damage the mark will cause on trigger.

+ + + diff --git a/datum/status_effect/eldritch/blade.html b/datum/status_effect/eldritch/blade.html new file mode 100644 index 00000000000..852082b5a2f --- /dev/null +++ b/datum/status_effect/eldritch/blade.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect/eldritch/blade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blade + + + +

+ + + + + + +

Vars

locked_toIf set, the owner of the status effect will not be able to leave this area.

Procs

is_escaping_locked_areaChecks if the movement from moving_from to going_to leaves our [var/locked_to] area. Returns TRUE if so.
on_moveSignal proc for COMSIG_MOVABLE_MOVED that blocks any movement out of our locked area
on_pre_throwSignal proc for COMSIG_MOVABLE_PRE_THROW that prevents people from escaping our locked area via throw.
on_teleportSignal proc for COMSIG_MOVABLE_TELEPORTED that blocks any teleports from our locked area.
+

Var Details

locked_to + + + + +

+

If set, the owner of the status effect will not be able to leave this area.

Proc Details

is_escaping_locked_area +

+

Checks if the movement from moving_from to going_to leaves our [var/locked_to] area. Returns TRUE if so.

on_move +

+

Signal proc for COMSIG_MOVABLE_MOVED that blocks any movement out of our locked area

on_pre_throw +

+

Signal proc for COMSIG_MOVABLE_PRE_THROW that prevents people from escaping our locked area via throw.

on_teleport +

+

Signal proc for COMSIG_MOVABLE_TELEPORTED that blocks any teleports from our locked area.

+ + + diff --git a/datum/status_effect/eldritch/cosmic.html b/datum/status_effect/eldritch/cosmic.html new file mode 100644 index 00000000000..c5ba8951944 --- /dev/null +++ b/datum/status_effect/eldritch/cosmic.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/eldritch/cosmic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cosmic + + + +

+ + + +

Vars

cosmic_diamondFor storing the location when the mark got applied.
teleport_effectEffect when triggering mark.
+

Var Details

cosmic_diamond + + + + +

+

For storing the location when the mark got applied.

teleport_effect + + + + +

+

Effect when triggering mark.

+ + + diff --git a/datum/status_effect/exercised.html b/datum/status_effect/exercised.html new file mode 100644 index 00000000000..1558e4cc3c7 --- /dev/null +++ b/datum/status_effect/exercised.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/exercised - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

exercised + + + +

+ + +

Vars

supplementary_reagents_bonusHaving any of these reagents in your system extends the duration
+

Var Details

supplementary_reagents_bonus + + + + +

+

Having any of these reagents in your system extends the duration

+ + + diff --git a/datum/status_effect/eye_blur.html b/datum/status_effect/eye_blur.html new file mode 100644 index 00000000000..28f336af0e6 --- /dev/null +++ b/datum/status_effect/eye_blur.html @@ -0,0 +1,37 @@ + + + + + + + /datum/status_effect/eye_blur - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

eye_blur + + + +

+ +

Applies a blur to the user's screen, increasing in strength depending on duration remaining.

+

Procs

update_blurUpdates the blur of the owner of the status effect. +Also a signal proc for COMSIG_MOB_LOGIN, to trigger then when the mob gets a client.

Proc Details

update_blur +

+

Updates the blur of the owner of the status effect. +Also a signal proc for COMSIG_MOB_LOGIN, to trigger then when the mob gets a client.

+ + + diff --git a/datum/status_effect/fire_blasted.html b/datum/status_effect/fire_blasted.html new file mode 100644 index 00000000000..aa727a1e290 --- /dev/null +++ b/datum/status_effect/fire_blasted.html @@ -0,0 +1,44 @@ + + + + + + + /datum/status_effect/fire_blasted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fire_blasted + + + +

+ +

Status effect applied when someone's hit by the fire blast.

+

Applies an overlay, then causes a damage over time (or heal over time)

+ +

Vars

animate_durationHow long does the animation of the appearance last? If 0 or negative, we make no overlay
tick_damageHow much fire / stam to do per tick (stamina damage is doubled this)
+

Var Details

animate_duration + + + + +

+

How long does the animation of the appearance last? If 0 or negative, we make no overlay

tick_damage + + + + +

+

How much fire / stam to do per tick (stamina damage is doubled this)

+ + + diff --git a/datum/status_effect/fire_handler.html b/datum/status_effect/fire_handler.html new file mode 100644 index 00000000000..ddfeb9c6f53 --- /dev/null +++ b/datum/status_effect/fire_handler.html @@ -0,0 +1,96 @@ + + + + + + + /datum/status_effect/fire_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fire_handler + + + +

+ + + + + + + + + + +

Vars

enemy_typesWhat status effect types do we remove uppon being applied. These are just deleted without any deduction from our or their stacks when forced.
merge_typesWhat status effect types do we merge into if they exist. Ignored when forced.
override_typesWhat status effect types do we override if they exist. These are simply deleted when forced.
stack_limitMaximum of stacks that we could possibly get
stack_modifierFor how much firestacks does one our stack count
stacksCurrent amount of stacks we have

Procs

cache_stacksRefresher for mob's fire_stacks
set_stacksSetter and adjuster procs for firestacks
update_overlayUsed to update owner's effect overlay
+

Var Details

enemy_types + + + + +

+

What status effect types do we remove uppon being applied. These are just deleted without any deduction from our or their stacks when forced.

merge_types + + + + +

+

What status effect types do we merge into if they exist. Ignored when forced.

override_types + + + + +

+

What status effect types do we override if they exist. These are simply deleted when forced.

stack_limit + + + + +

+

Maximum of stacks that we could possibly get

stack_modifier + + + + +

+

For how much firestacks does one our stack count

stacks + + + + +

+

Current amount of stacks we have

Proc Details

cache_stacks +

+

Refresher for mob's fire_stacks

set_stacks +

+

Setter and adjuster procs for firestacks

+

Arguments:

+

update_overlay +

+

Used to update owner's effect overlay

+ + + diff --git a/datum/status_effect/fire_handler/fire_stacks.html b/datum/status_effect/fire_handler/fire_stacks.html new file mode 100644 index 00000000000..ff0f693c43c --- /dev/null +++ b/datum/status_effect/fire_handler/fire_stacks.html @@ -0,0 +1,98 @@ + + + + + + + /datum/status_effect/fire_handler/fire_stacks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fire_stacks + + + +

+ + + + + + + + + +

Vars

last_icon_stateStores current fire overlay icon state, for optimisation purposes
moblightReference to the mob light emitter itself
moblight_typeType of mob light emitter we use when on fire
on_fireIf we're on fire

Procs

deal_damageProc that handles damage dealing and all special effects
extinguishHandles mob extinguishing, should be the only way to set on_fire to FALSE
harm_humanUsed to deal damage to humans and count their protection.
igniteHandles mob ignition, should be the only way to set on_fire to TRUE
+

Var Details

last_icon_state + + + + +

+

Stores current fire overlay icon state, for optimisation purposes

moblight + + + + +

+

Reference to the mob light emitter itself

moblight_type + + + + +

+

Type of mob light emitter we use when on fire

on_fire + + + + +

+

If we're on fire

Proc Details

deal_damage +

+

Proc that handles damage dealing and all special effects

+

Arguments:

+

extinguish +

+

Handles mob extinguishing, should be the only way to set on_fire to FALSE

harm_human +

+

Used to deal damage to humans and count their protection.

+

Arguments:

+

ignite +

+

Handles mob ignition, should be the only way to set on_fire to TRUE

+

Arguments:

+
+ + + diff --git a/datum/status_effect/fire_ring.html b/datum/status_effect/fire_ring.html new file mode 100644 index 00000000000..e2685136b1f --- /dev/null +++ b/datum/status_effect/fire_ring.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/fire_ring - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fire_ring + + + +

+ +

Simple status effect for adding a ring of fire around a mob.

+

Vars

ring_radiusThe radius of the ring around us.
+

Var Details

ring_radius + + + + +

+

The radius of the ring around us.

+ + + diff --git a/datum/status_effect/food.html b/datum/status_effect/food.html new file mode 100644 index 00000000000..94ef5130f96 --- /dev/null +++ b/datum/status_effect/food.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

food + + + +

+ +

Buffs given by eating hand-crafted food. The duration scales with consumable reagents purity.

+

Vars

strengthBuff power
+

Var Details

strength + + + + +

+

Buff power

+ + + diff --git a/datum/status_effect/genetic_damage.html b/datum/status_effect/genetic_damage.html new file mode 100644 index 00000000000..6856b63857b --- /dev/null +++ b/datum/status_effect/genetic_damage.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/genetic_damage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

genetic_damage + + + +

+ + + + + +

Vars

minimum_before_tox_damageThe amount of genetic damage a mob can sustain before taking toxin damage
remove_per_secondThe amount of genetic damage to remove per second
total_damageThe total genetic damage accumulated on the mob
toxin_damage_per_secondThe amount of toxin damage to deal per second, if over the minimum before taking damage
+

Var Details

minimum_before_tox_damage + + + + +

+

The amount of genetic damage a mob can sustain before taking toxin damage

remove_per_second + + + + +

+

The amount of genetic damage to remove per second

total_damage + + + + +

+

The total genetic damage accumulated on the mob

toxin_damage_per_second + + + + +

+

The amount of toxin damage to deal per second, if over the minimum before taking damage

+ + + diff --git a/datum/status_effect/ghoul.html b/datum/status_effect/ghoul.html new file mode 100644 index 00000000000..6fc8fd8428e --- /dev/null +++ b/datum/status_effect/ghoul.html @@ -0,0 +1,71 @@ + + + + + + + /datum/status_effect/ghoul - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ghoul + + + +

+ + + + + + + +

Vars

master_mindReference to the master of the ghoul's mind
new_max_healthThe new max health value set for the ghoul, if supplied
on_lost_callbackAn optional callback invoked when a goul is unghouled (on_removed)
on_made_callbackAn optional callback invoked when a ghoul is made (on_apply)
stamina_mod_appliedWhat, if any, stamina modifier we applied to the ghoul mob

Procs

remove_ghoul_statusRemoves the ghoul effects from our owner and returns them to normal.
+

Var Details

master_mind + + + + +

+

Reference to the master of the ghoul's mind

new_max_health + + + + +

+

The new max health value set for the ghoul, if supplied

on_lost_callback + + + + +

+

An optional callback invoked when a goul is unghouled (on_removed)

on_made_callback + + + + +

+

An optional callback invoked when a ghoul is made (on_apply)

stamina_mod_applied + + + + +

+

What, if any, stamina modifier we applied to the ghoul mob

Proc Details

remove_ghoul_status +

+

Removes the ghoul effects from our owner and returns them to normal.

+ + + diff --git a/datum/status_effect/golem.html b/datum/status_effect/golem.html new file mode 100644 index 00000000000..d8948b4fb1d --- /dev/null +++ b/datum/status_effect/golem.html @@ -0,0 +1,78 @@ + + + + + + + /datum/status_effect/golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

golem + + + +

+ +

Abstract holder for golem status effects, you should never have more than one of these active

+ + + + + + +

Vars

active_overlaysOverlays we have applied to our mob
alert_descTooltip to display when hovering over the alert
alert_iconIcon used to represent the alert
alert_icon_stateIcon state to display to represent the alert
applied_fluffText to display on buff application
mineral_nameName of the mineral we ate to get this
overlay_state_prefixIcon state prefix for overlay to display on golem limbs
+

Var Details

active_overlays + + + + +

+

Overlays we have applied to our mob

alert_desc + + + + +

+

Tooltip to display when hovering over the alert

alert_icon + + + + +

+

Icon used to represent the alert

alert_icon_state + + + + +

+

Icon state to display to represent the alert

applied_fluff + + + + +

+

Text to display on buff application

mineral_name + + + + +

+

Name of the mineral we ate to get this

overlay_state_prefix + + + + +

+

Icon state prefix for overlay to display on golem limbs

+ + + diff --git a/datum/status_effect/golem/bananium.html b/datum/status_effect/golem/bananium.html new file mode 100644 index 00000000000..4b94109ebfb --- /dev/null +++ b/datum/status_effect/golem/bananium.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/golem/bananium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bananium + + + +

+ +

Makes you slippery

+ +

Vars

slipperinessThe slipperiness component which we have applied

Procs

try_slipOnly slip people when we're down on the ground
+

Var Details

slipperiness + + + + +

+

The slipperiness component which we have applied

Proc Details

try_slip +

+

Only slip people when we're down on the ground

+ + + diff --git a/datum/status_effect/golem/diamond.html b/datum/status_effect/golem/diamond.html new file mode 100644 index 00000000000..45ab6c02903 --- /dev/null +++ b/datum/status_effect/golem/diamond.html @@ -0,0 +1,78 @@ + + + + + + + /datum/status_effect/golem/diamond - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

diamond + + + +

+ +

Makes you hard to see

+ + + + + + +

Vars

alpha_per_tickAlpha to remove per second while stood still
modified_armsList of arms we have updated
moving_alphaAlpha to apply while moving

Procs

on_arm_destroyedRemove references to deleted arms
on_revealReset alpha to starting value
reset_arm_fluffMake our arm do whatever it originally did
set_arm_fluffMake our arm do slashing effects
+

Var Details

alpha_per_tick + + + + +

+

Alpha to remove per second while stood still

modified_arms + + + + +

+

List of arms we have updated

moving_alpha + + + + +

+

Alpha to apply while moving

Proc Details

on_arm_destroyed +

+

Remove references to deleted arms

on_reveal +

+

Reset alpha to starting value

reset_arm_fluff +

+

Make our arm do whatever it originally did

set_arm_fluff +

+

Make our arm do slashing effects

+ + + diff --git a/datum/status_effect/golem/plasma.html b/datum/status_effect/golem/plasma.html new file mode 100644 index 00000000000..0a734369a1d --- /dev/null +++ b/datum/status_effect/golem/plasma.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/golem/plasma - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plasma + + + +

+ +

Heat immunity, turns heat damage into local power

+ + + +

Vars

burn_multiplierMultiplier to apply to burn damage, not 0 so that we can reverse it more easily
power_multiplierWhat do we multiply our damage by to convert it into power?

Procs

on_burnedWhen we take fire damage (or... technically also cold damage, we don't differentiate), zap a nearby APC
zap_effectShoot a beam at the target atom
+

Var Details

burn_multiplier + + + + +

+

Multiplier to apply to burn damage, not 0 so that we can reverse it more easily

power_multiplier + + + + +

+

What do we multiply our damage by to convert it into power?

Proc Details

on_burned +

+

When we take fire damage (or... technically also cold damage, we don't differentiate), zap a nearby APC

zap_effect +

+

Shoot a beam at the target atom

+ + + diff --git a/datum/status_effect/golem/titanium.html b/datum/status_effect/golem/titanium.html new file mode 100644 index 00000000000..af272d47e2d --- /dev/null +++ b/datum/status_effect/golem/titanium.html @@ -0,0 +1,85 @@ + + + + + + + /datum/status_effect/golem/titanium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

titanium + + + +

+ +

Makes you tougher

+ + + + + + + +

Vars

brute_modifierAmount to reduce brute damage by
damage_increaseHow much extra damage do we do with our fists?
mining_bonusDeal this much extra damage to mining mobs, most of which take 0 unarmed damage usually
modified_armsList of arms we have updated

Procs

buff_armMake the targeted arm big and strong
debuff_armMake the targeted arm small and weak
on_arm_destroyedRemove references to deleted arms
on_punchedGive mining mobs an extra slap
+

Var Details

brute_modifier + + + + +

+

Amount to reduce brute damage by

damage_increase + + + + +

+

How much extra damage do we do with our fists?

mining_bonus + + + + +

+

Deal this much extra damage to mining mobs, most of which take 0 unarmed damage usually

modified_arms + + + + +

+

List of arms we have updated

Proc Details

buff_arm +

+

Make the targeted arm big and strong

debuff_arm +

+

Make the targeted arm small and weak

on_arm_destroyed +

+

Remove references to deleted arms

on_punched +

+

Give mining mobs an extra slap

+ + + diff --git a/datum/status_effect/grouped.html b/datum/status_effect/grouped.html new file mode 100644 index 00000000000..6a37d76d1c5 --- /dev/null +++ b/datum/status_effect/grouped.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/grouped - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grouped + + + +

+ +

Status effect from multiple sources, when all sources are removed, so is the effect

+

Vars

sourcesA list of all sources applying this status effect. Sources are a list of keys
+

Var Details

sources + + + + +

+

A list of all sources applying this status effect. Sources are a list of keys

+ + + diff --git a/datum/status_effect/grouped/cursed.html b/datum/status_effect/grouped/cursed.html new file mode 100644 index 00000000000..b61a960a3ae --- /dev/null +++ b/datum/status_effect/grouped/cursed.html @@ -0,0 +1,114 @@ + + + + + + + /datum/status_effect/grouped/cursed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cursed + + + +

+ +

Status effect that gives the target miscellanous debuffs while throwing a status alert and causing them to smoke from the damage they're incurring. +Purposebuilt for cursed slot machines.

+ + + + + + + + + + + +

Vars

branded_handThe hand we are branded to.
curse_countThe amount of times we have been "applied" to the target.
damage_chanceRaw probability we have to deal damage this tick.
max_curse_countThe max number of curses a target can incur with this status effect.
monologuingAre we currently in the process of sending a monologue?
smoke_pathThe cached path of the particles we're using to smoke

Procs

check_cursesChecks the number of curses we have and returns information back to the slot machine. max_curse_amount is set by the slot machine itself.
clear_cursesCleans ourselves up and removes our curses. Meant to be done in a "positive" way, when the curse is broken. Directly use qdel otherwise.
handle_after_effectsMakes a nice lorey message about the curse level we're at. I think it's nice
on_deathIf our owner dies without getting gibbed (as in of other causes), stop smoking because we've "expended all the life energy".
on_stat_changedIf our owner's stat changes, rapidly surge the damage chance.
update_curse_countHandles the debuffs of this status effect and incrementing the number of curses we have.
+

Var Details

branded_hand + + + + +

+

The hand we are branded to.

curse_count + + + + +

+

The amount of times we have been "applied" to the target.

damage_chance + + + + +

+

Raw probability we have to deal damage this tick.

max_curse_count + + + + +

+

The max number of curses a target can incur with this status effect.

monologuing + + + + +

+

Are we currently in the process of sending a monologue?

smoke_path + + + + +

+

The cached path of the particles we're using to smoke

Proc Details

check_curses +

+

Checks the number of curses we have and returns information back to the slot machine. max_curse_amount is set by the slot machine itself.

clear_curses +

+

Cleans ourselves up and removes our curses. Meant to be done in a "positive" way, when the curse is broken. Directly use qdel otherwise.

handle_after_effects +

+

Makes a nice lorey message about the curse level we're at. I think it's nice

on_death +

+

If our owner dies without getting gibbed (as in of other causes), stop smoking because we've "expended all the life energy".

on_stat_changed +

+

If our owner's stat changes, rapidly surge the damage chance.

update_curse_count +

+

Handles the debuffs of this status effect and incrementing the number of curses we have.

+ + + diff --git a/datum/status_effect/grouped/nearsighted.html b/datum/status_effect/grouped/nearsighted.html new file mode 100644 index 00000000000..967c0feabfe --- /dev/null +++ b/datum/status_effect/grouped/nearsighted.html @@ -0,0 +1,71 @@ + + + + + + + /datum/status_effect/grouped/nearsighted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nearsighted + + + +

+ +

Nearsighted

+ + + + + +

Vars

overlay_severityHow severe is our nearsightedness right now
update_signalsStatic list of signals that, when received, we force an update to our nearsighted overlay

Procs

set_nearsighted_severitySets the severity of our nearsighted overlay
should_be_nearsightedChecks if we should be nearsighted currently, or if we should clear the overlay
update_nearsighted_overlayUpdates our nearsightd overlay, either removing it if we have the trait or adding it if we don't
update_nearsightednessSignal proc for when we gain or lose TRAIT_NEARSIGHTED_CORRECTED - (temporarily) disable the overlay if we're correcting it
+

Var Details

overlay_severity + + + + +

+

How severe is our nearsightedness right now

update_signals + + + + +

+

Static list of signals that, when received, we force an update to our nearsighted overlay

Proc Details

set_nearsighted_severity +

+

Sets the severity of our nearsighted overlay

should_be_nearsighted +

+

Checks if we should be nearsighted currently, or if we should clear the overlay

update_nearsighted_overlay +

+

Updates our nearsightd overlay, either removing it if we have the trait or adding it if we don't

update_nearsightedness +

+

Signal proc for when we gain or lose TRAIT_NEARSIGHTED_CORRECTED - (temporarily) disable the overlay if we're correcting it

+ + + diff --git a/datum/status_effect/grouped/screwy_hud.html b/datum/status_effect/grouped/screwy_hud.html new file mode 100644 index 00000000000..2b0fe0c7840 --- /dev/null +++ b/datum/status_effect/grouped/screwy_hud.html @@ -0,0 +1,47 @@ + + + + + + + /datum/status_effect/grouped/screwy_hud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

screwy_hud + + + +

+ +

Screwy hud status.

+

Applied to carbons, it will make their health bar look like it's incorrect - +in crit (SCREWYHUD_CRIT), dead (SCREWYHUD_DEAD), or fully healthy (SCREWYHUD_HEALTHY)

+

Grouped status effect, so multiple sources can add a screwyhud without +accidentally removing another source's hud.

+ +

Vars

override_iconThe icon we override our owner's healths.icon_state with
priorityThe priority of this screwyhud over other screwyhuds.
+

Var Details

override_icon + + + + +

+

The icon we override our owner's healths.icon_state with

priority + + + + +

+

The priority of this screwyhud over other screwyhuds.

+ + + diff --git a/datum/status_effect/guardian_scout_mode.html b/datum/status_effect/guardian_scout_mode.html new file mode 100644 index 00000000000..cc7b9b0bddf --- /dev/null +++ b/datum/status_effect/guardian_scout_mode.html @@ -0,0 +1,56 @@ + + + + + + + /datum/status_effect/guardian_scout_mode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

guardian_scout_mode + + + +

+ +

Become an incorporeal scout

+ + + +

Procs

on_clickWhile this is active we can't click anything
on_manifestRestore incorporeal move when we become corporeal, yes I know that suonds silly
on_ranged_attackWe can't do any ranged attacks while in scout mode.
on_recallStop having incorporeal move when we recall so that we can't move

Proc Details

on_click +

+

While this is active we can't click anything

on_manifest +

+

Restore incorporeal move when we become corporeal, yes I know that suonds silly

on_ranged_attack +

+

We can't do any ranged attacks while in scout mode.

on_recall +

+

Stop having incorporeal move when we recall so that we can't move

+ + + diff --git a/datum/status_effect/guardian_stealth.html b/datum/status_effect/guardian_stealth.html new file mode 100644 index 00000000000..60c52f67333 --- /dev/null +++ b/datum/status_effect/guardian_stealth.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/guardian_stealth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guardian_stealth + + + +

+ +

Status effect which makes us sneakier and do bonus damage

+ + + +

Vars

damage_bonusDamage added in stealth mode.
stealth_wound_bonusOur wound bonus when in stealth mode. Allows you to actually cause wounds, unlike normal.

Procs

forced_exitForcibly exit the status effect
on_health_changedIf we take damage, exit the status effect
+

Var Details

damage_bonus + + + + +

+

Damage added in stealth mode.

stealth_wound_bonus + + + + +

+

Our wound bonus when in stealth mode. Allows you to actually cause wounds, unlike normal.

Proc Details

forced_exit +

+

Forcibly exit the status effect

on_health_changed +

+

If we take damage, exit the status effect

+ + + diff --git a/datum/status_effect/hallucination.html b/datum/status_effect/hallucination.html new file mode 100644 index 00000000000..74a9ac9f545 --- /dev/null +++ b/datum/status_effect/hallucination.html @@ -0,0 +1,83 @@ + + + + + + + /datum/status_effect/hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hallucination + + + +

+ +

Hallucination status effect. How most hallucinations end up happening. +Hallucinations are drawn from the global weighted list, random_hallucination_weighted_list

+ + + + + + +

Vars

barred_biotypesBiotypes which cannot hallucinate.
hallucination_cooldownThe cooldown for when the next hallucination can occur
lower_tick_intervalThe lower range of when the next hallucination will trigger after one occurs.
upper_tick_intervalThe upper range of when the next hallucination will trigger after one occurs.

Procs

on_bump_airlockSignal proc for COMSIG_CARBON_BUMPED_AIRLOCK_OPEN, bumping an airlock can cause a fake zap. +This only happens on airlock bump, future TODO - make this chance roll for attack_hand opening airlocks too
on_check_bodypartSignal proc for COMSIG_CARBON_CHECKING_BODYPART, +checking bodyparts while hallucinating can cause them to appear more damaged than they are
on_health_scanSignal proc for COMSIG_LIVING_HEALTHSCAN. Show we're hallucinating to (advanced) scanners.
+

Var Details

barred_biotypes + + + + +

+

Biotypes which cannot hallucinate.

hallucination_cooldown + + + + +

+

The cooldown for when the next hallucination can occur

lower_tick_interval + + + + +

+

The lower range of when the next hallucination will trigger after one occurs.

upper_tick_interval + + + + +

+

The upper range of when the next hallucination will trigger after one occurs.

Proc Details

on_bump_airlock +

+

Signal proc for COMSIG_CARBON_BUMPED_AIRLOCK_OPEN, bumping an airlock can cause a fake zap. +This only happens on airlock bump, future TODO - make this chance roll for attack_hand opening airlocks too

on_check_bodypart +

+

Signal proc for COMSIG_CARBON_CHECKING_BODYPART, +checking bodyparts while hallucinating can cause them to appear more damaged than they are

on_health_scan +

+

Signal proc for COMSIG_LIVING_HEALTHSCAN. Show we're hallucinating to (advanced) scanners.

+ + + diff --git a/datum/status_effect/hallucination/sanity.html b/datum/status_effect/hallucination/sanity.html new file mode 100644 index 00000000000..5c6b5cb5e2a --- /dev/null +++ b/datum/status_effect/hallucination/sanity.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/hallucination/sanity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sanity + + + +

+ + +

Procs

update_intervalsUpdates our upper and lower intervals based on our owner's current sanity level.

Proc Details

update_intervals +

+

Updates our upper and lower intervals based on our owner's current sanity level.

+ + + diff --git a/datum/status_effect/ice_block_talisman.html b/datum/status_effect/ice_block_talisman.html new file mode 100644 index 00000000000..b7373d44768 --- /dev/null +++ b/datum/status_effect/ice_block_talisman.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/ice_block_talisman - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ice_block_talisman + + + +

+ + + +

Vars

cubeStored icon overlay for the hit mob, removed when effect is removed

Procs

owner_movedBlocks movement from the status effect owner
+

Var Details

cube + + + + +

+

Stored icon overlay for the hit mob, removed when effect is removed

Proc Details

owner_moved +

+

Blocks movement from the status effect owner

+ + + diff --git a/datum/status_effect/incapacitating/sleeping.html b/datum/status_effect/incapacitating/sleeping.html new file mode 100644 index 00000000000..9ee4ed91a6b --- /dev/null +++ b/datum/status_effect/incapacitating/sleeping.html @@ -0,0 +1,42 @@ + + + + + + + /datum/status_effect/incapacitating/sleeping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sleeping + + + +

+ + + +

Procs

on_owner_insomniacIf the mob is sleeping and gain the TRAIT_SLEEPIMMUNE we remove the TRAIT_KNOCKEDOUT and stop the tick() from happening
on_owner_sleepyIf the mob has the TRAIT_SLEEPIMMUNE but somehow looses it we make him sleep and restart the tick()

Proc Details

on_owner_insomniac +

+

If the mob is sleeping and gain the TRAIT_SLEEPIMMUNE we remove the TRAIT_KNOCKEDOUT and stop the tick() from happening

on_owner_sleepy +

+

If the mob has the TRAIT_SLEEPIMMUNE but somehow looses it we make him sleep and restart the tick()

+ + + diff --git a/datum/status_effect/incapacitating/stun/goliath_tentacled.html b/datum/status_effect/incapacitating/stun/goliath_tentacled.html new file mode 100644 index 00000000000..a8961414975 --- /dev/null +++ b/datum/status_effect/incapacitating/stun/goliath_tentacled.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/incapacitating/stun/goliath_tentacled - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

goliath_tentacled + + + +

+ +

Goliath tentacle stun with special removal conditions

+ + + +

Vars

tentacleThe tentacle that is tenderly holding us close

Procs

on_helpedSome kind soul has rescued us
on_tentacle_leftSomething happened to our associated tentacle
releaseSomething happened to make the tentacle let go
+

Var Details

tentacle + + + + +

+

The tentacle that is tenderly holding us close

Proc Details

on_helped +

+

Some kind soul has rescued us

on_tentacle_left +

+

Something happened to our associated tentacle

release +

+

Something happened to make the tentacle let go

+ + + diff --git a/datum/status_effect/inebriated.html b/datum/status_effect/inebriated.html new file mode 100644 index 00000000000..61171fe61fd --- /dev/null +++ b/datum/status_effect/inebriated.html @@ -0,0 +1,51 @@ + + + + + + + /datum/status_effect/inebriated - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

inebriated + + + +

+ +

The drunk status effect. +Slowly decreases in drunk_value over time, causing effects based on that value.

+ + +

Vars

drunk_valueThe level of drunkness we are currently at.

Procs

on_tick_effectsSide effects done by this level of drunkness on tick.
set_drunk_valueSets the drunk value to set_to, deleting if the value drops to 0 or lower
+

Var Details

drunk_value + + + + +

+

The level of drunkness we are currently at.

Proc Details

on_tick_effects +

+

Side effects done by this level of drunkness on tick.

set_drunk_value +

+

Sets the drunk value to set_to, deleting if the value drops to 0 or lower

+ + + diff --git a/datum/status_effect/inebriated/drunk.html b/datum/status_effect/inebriated/drunk.html new file mode 100644 index 00000000000..ef477bd439c --- /dev/null +++ b/datum/status_effect/inebriated/drunk.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/inebriated/drunk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

drunk + + + +

+ +

Stage 2 of being drunk, applied at drunk values between 6 and onward. +Has all the main side effects of being drunk, scaling up as they get more drunk.

+

Procs

clear_effectsClears any side effects we set due to being drunk.

Proc Details

clear_effects +

+

Clears any side effects we set due to being drunk.

+ + + diff --git a/datum/status_effect/inflated.html b/datum/status_effect/inflated.html new file mode 100644 index 00000000000..5d5e47bb729 --- /dev/null +++ b/datum/status_effect/inflated.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/inflated - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

inflated + + + +

+ +

Status effect from the Expand action, makes you big and round and strong.

+

Procs

check_deathRemove status effect if we die

Proc Details

check_death +

+

Remove status effect if we die

+ + + diff --git a/datum/status_effect/jitter.html b/datum/status_effect/jitter.html new file mode 100644 index 00000000000..04efc543955 --- /dev/null +++ b/datum/status_effect/jitter.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/jitter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

jitter + + + +

+ + +

Procs

remove_jitterRemoves all of our jitteriness on a signal

Proc Details

remove_jitter +

+

Removes all of our jitteriness on a signal

+ + + diff --git a/datum/status_effect/limited_buff.html b/datum/status_effect/limited_buff.html new file mode 100644 index 00000000000..944753798ee --- /dev/null +++ b/datum/status_effect/limited_buff.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/limited_buff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

limited_buff + + + +

+ +

These effects reapply their on_apply() effect when refreshed while stacks < max_stacks.

+ + +

Vars

max_stacksHow many stacks we can have maximum
stacksHow many stacks we currently have

Procs

maxed_outCalled whenever the buff is refreshed when there are more stacks than max_stacks.
+

Var Details

max_stacks + + + + +

+

How many stacks we can have maximum

stacks + + + + +

+

How many stacks we currently have

Proc Details

maxed_out +

+

Called whenever the buff is refreshed when there are more stacks than max_stacks.

+ + + diff --git a/datum/status_effect/limited_buff/health_buff.html b/datum/status_effect/limited_buff/health_buff.html new file mode 100644 index 00000000000..80eb6be2976 --- /dev/null +++ b/datum/status_effect/limited_buff/health_buff.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/limited_buff/health_buff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

health_buff + + + +

+ +

this buff provides a max health buff and a heal.

+ + + +

Vars

fragile_mob_health_buffIf the mob has a low max health, we instead use this flat value to increase max health and calculate any heal.
healing_modifierThis modifier multiplies the healing by the effect.
health_buff_modifierThis var determines how large the health buff will be. health_buff_modifier * historic_max_health * stacks
historic_max_healthThis var stores the mobs max health when the buff was first applied, and determines the size of future buffs.database.database.
+

Var Details

fragile_mob_health_buff + + + + +

+

If the mob has a low max health, we instead use this flat value to increase max health and calculate any heal.

healing_modifier + + + + +

+

This modifier multiplies the healing by the effect.

health_buff_modifier + + + + +

+

This var determines how large the health buff will be. health_buff_modifier * historic_max_health * stacks

historic_max_health + + + + +

+

This var stores the mobs max health when the buff was first applied, and determines the size of future buffs.database.database.

+ + + diff --git a/datum/status_effect/limp.html b/datum/status_effect/limp.html new file mode 100644 index 00000000000..59c310577cd --- /dev/null +++ b/datum/status_effect/limp.html @@ -0,0 +1,78 @@ + + + + + + + /datum/status_effect/limp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

limp + + + +

+ + + + + + + + +

Vars

leftThe left leg of the limping person
limp_chance_leftThe chance we limp with the left leg each step it takes
limp_chance_rightThe chance we limp with the right leg each step it takes
next_legWhich leg we're limping with next
rightThe right leg of the limping person
slowdown_leftHow many deciseconds we limp for on the left leg
slowdown_rightHow many deciseconds we limp for on the right leg
+

Var Details

left + + + + +

+

The left leg of the limping person

limp_chance_left + + + + +

+

The chance we limp with the left leg each step it takes

limp_chance_right + + + + +

+

The chance we limp with the right leg each step it takes

next_leg + + + + +

+

Which leg we're limping with next

right + + + + +

+

The right leg of the limping person

slowdown_left + + + + +

+

How many deciseconds we limp for on the left leg

slowdown_right + + + + +

+

How many deciseconds we limp for on the right leg

+ + + diff --git a/datum/status_effect/lobster_rush.html b/datum/status_effect/lobster_rush.html new file mode 100644 index 00000000000..ee36fba3e77 --- /dev/null +++ b/datum/status_effect/lobster_rush.html @@ -0,0 +1,37 @@ + + + + + + + /datum/status_effect/lobster_rush - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

lobster_rush + + + +

+ +

Status effect: Makes you run really fast and ignore speed penalties for a short duration. +If you run into a wall indoors you will fall over and lose the buff. +If you run into someone you both fall over.

+

Procs

on_moveSpawn an afterimage every other step, because every step was too many

Proc Details

on_move +

+

Spawn an afterimage every other step, because every step was too many

+ + + diff --git a/datum/status_effect/mayhem.html b/datum/status_effect/mayhem.html new file mode 100644 index 00000000000..447917fd3a9 --- /dev/null +++ b/datum/status_effect/mayhem.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/mayhem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mayhem + + + +

+ + +

Vars

chainsawThe chainsaw spawned by the status effect
+

Var Details

chainsaw + + + + +

+

The chainsaw spawned by the status effect

+ + + diff --git a/datum/status_effect/midas_blight.html b/datum/status_effect/midas_blight.html new file mode 100644 index 00000000000..e2704a87abc --- /dev/null +++ b/datum/status_effect/midas_blight.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/midas_blight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

midas_blight + + + +

+ + + +

Vars

goldscaleHow fast the gold in a person's system scales.
midas_stateThe visual overlay state, helps tell both you and enemies how much gold is in your system
+

Var Details

goldscale + + + + +

+

How fast the gold in a person's system scales.

midas_state + + + + +

+

The visual overlay state, helps tell both you and enemies how much gold is in your system

+ + + diff --git a/datum/status_effect/offering.html b/datum/status_effect/offering.html new file mode 100644 index 00000000000..f2c3bdf11a3 --- /dev/null +++ b/datum/status_effect/offering.html @@ -0,0 +1,108 @@ + + + + + + + /datum/status_effect/offering - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

offering + + + +

+ + + + + + + + + + + +

Vars

give_alert_typeThe type of alert given to people when offered, in case you need to override some behavior (like for high-fives)
offered_itemThe actual item being offered
possible_takersThe people who were offered this item at the start

Procs

additional_taker_checkAdditional checks added to CanReach() and IS_DEAD_OR_INCAP() in is_taker_elligible(). +Should be what you override instead of is_taker_elligible(). By default, checks if the +taker can hold items.
check_owner_in_rangeThe offerer moved, see if anyone is out of range now
check_taker_in_rangeOne of our possible takers moved, see if they left us hanging
dropped_itemWe lost the item, give it up
is_taker_elligibleIs our taker valid as a target for the offering? Meant to be used when registering +takers in on_creation(). You should override additional_taker_check() instead of this.
register_candidateHook up the specified carbon mob to be offered the item in question, give them the alert and signals and all
remove_candidateRemove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker
+

Var Details

give_alert_type + + + + +

+

The type of alert given to people when offered, in case you need to override some behavior (like for high-fives)

offered_item + + + + +

+

The actual item being offered

possible_takers + + + + +

+

The people who were offered this item at the start

Proc Details

additional_taker_check +

+

Additional checks added to CanReach() and IS_DEAD_OR_INCAP() in is_taker_elligible(). +Should be what you override instead of is_taker_elligible(). By default, checks if the +taker can hold items.

+

Returns TRUE if the taker is valid as a target for the offering based on these +additional checks.

check_owner_in_range +

+

The offerer moved, see if anyone is out of range now

check_taker_in_range +

+

One of our possible takers moved, see if they left us hanging

dropped_item +

+

We lost the item, give it up

is_taker_elligible +

+

Is our taker valid as a target for the offering? Meant to be used when registering +takers in on_creation(). You should override additional_taker_check() instead of this.

+

Returns TRUE if the taker is valid as a target for the offering.

register_candidate +

+

Hook up the specified carbon mob to be offered the item in question, give them the alert and signals and all

remove_candidate +

+

Remove the alert and signals for the specified carbon mob. Automatically removes the status effect when we lost the last taker

+ + + diff --git a/datum/status_effect/offering/no_item_received/needs_resting.html b/datum/status_effect/offering/no_item_received/needs_resting.html new file mode 100644 index 00000000000..d48370cbec6 --- /dev/null +++ b/datum/status_effect/offering/no_item_received/needs_resting.html @@ -0,0 +1,45 @@ + + + + + + + /datum/status_effect/offering/no_item_received/needs_resting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

needs_resting + + + +

+ +

This status effect is meant only to be used for offerings that require the target to +be resting (like when you're trying to give them a hand to help them up). +Also doesn't require them to have their hands free (since you're not giving them +anything).

+ +

Procs

check_candidate_restingSimple signal handler that ensures that, should a candidate now be standing up, the offer won't be standing for them anymore!
check_owner_standingSimple signal handler that ensures that, if the owner stops standing, the offer no longer stands either!

Proc Details

check_candidate_resting +

+

Simple signal handler that ensures that, should a candidate now be standing up, the offer won't be standing for them anymore!

check_owner_standing +

+

Simple signal handler that ensures that, if the owner stops standing, the offer no longer stands either!

+ + + diff --git a/datum/status_effect/organ_set_bonus.html b/datum/status_effect/organ_set_bonus.html new file mode 100644 index 00000000000..d3bb4e8dc07 --- /dev/null +++ b/datum/status_effect/organ_set_bonus.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect/organ_set_bonus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

organ_set_bonus + + + +

+ + + + + + +

Vars

bonus_activeif the bonus is active
bonus_traitsA list of traits added to the mob upon bonus activation, can be of any length.
organshow many organs the carbon with this has in the set
organs_neededhow many organs in the set you need to enable the bonus
required_biotypeRequired mob bio-type. Also checks DNA validity it's set to MOB_ORGANIC.
+

Var Details

bonus_active + + + + +

+

if the bonus is active

bonus_traits + + + + +

+

A list of traits added to the mob upon bonus activation, can be of any length.

organs + + + + +

+

how many organs the carbon with this has in the set

organs_needed + + + + +

+

how many organs in the set you need to enable the bonus

required_biotype + + + + +

+

Required mob bio-type. Also checks DNA validity it's set to MOB_ORGANIC.

+ + + diff --git a/datum/status_effect/organ_set_bonus/roach.html b/datum/status_effect/organ_set_bonus/roach.html new file mode 100644 index 00000000000..e452a543506 --- /dev/null +++ b/datum/status_effect/organ_set_bonus/roach.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/organ_set_bonus/roach - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

roach + + + +

+ + + +

Vars

given_armorArmor type attached to the owner's physiology
old_biotypesStoring biotypes pre-organ bonus applied so we don't remove bug from mobs which should have it.
+

Var Details

given_armor + + + + +

+

Armor type attached to the owner's physiology

old_biotypes + + + + +

+

Storing biotypes pre-organ bonus applied so we don't remove bug from mobs which should have it.

+ + + diff --git a/datum/status_effect/overwatch.html b/datum/status_effect/overwatch.html new file mode 100644 index 00000000000..4de83d467dc --- /dev/null +++ b/datum/status_effect/overwatch.html @@ -0,0 +1,99 @@ + + + + + + + /datum/status_effect/overwatch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

overwatch + + + +

+ +

Status effect which tracks whether our overwatched mob moves or acts

+ + + + + + + + + +

Vars

forbidden_actionsSignals which trigger a hostile response
linkVisual effect to make the status obvious
overwatch_triggeredDid the overwatch ever trigger during our run?
projectile_soundNoise to make when we shoot beam
projectile_typeType of projectile to fire
watch_rangeDistance at which we break off the ability
watcherWhich watcher is watching?

Procs

on_participant_diedCan't overwatch you if I don't exist
opportunity_attackUh oh, you did something within my threat radius, now we're going to shoot you
unregister_watcherClean up our association with the caster of this ability.
+

Var Details

forbidden_actions + + + + +

+

Signals which trigger a hostile response

+

Visual effect to make the status obvious

overwatch_triggered + + + + +

+

Did the overwatch ever trigger during our run?

projectile_sound + + + + +

+

Noise to make when we shoot beam

projectile_type + + + + +

+

Type of projectile to fire

watch_range + + + + +

+

Distance at which we break off the ability

watcher + + + + +

+

Which watcher is watching?

Proc Details

on_participant_died +

+

Can't overwatch you if I don't exist

opportunity_attack +

+

Uh oh, you did something within my threat radius, now we're going to shoot you

unregister_watcher +

+

Clean up our association with the caster of this ability.

+ + + diff --git a/datum/status_effect/protective_blades.html b/datum/status_effect/protective_blades.html new file mode 100644 index 00000000000..dd6149c4170 --- /dev/null +++ b/datum/status_effect/protective_blades.html @@ -0,0 +1,88 @@ + + + + + + + /datum/status_effect/protective_blades - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

protective_blades + + + +

+ +

Summons multiple foating knives around the owner. +Each knife will block an attack straight up.

+ + + + + + + +

Vars

blade_orbit_radiusThe radius of the blade's orbit.
bladesA list of blade effects orbiting / protecting our owner
delete_on_blades_goneIf TRUE, we self-delete our status effect after all the blades are deleted.
max_num_bladesThe number of blades we summon up to.
time_between_initial_bladesThe time between spawning blades.

Procs

create_bladeCreates a floating blade, adds it to our blade list, and makes it orbit our owner.
on_shield_reactionSignal proc for COMSIG_LIVING_CHECK_BLOCK. +If we have a blade in our list, consume it and block the incoming attack (shield it)
remove_bladeRemove deleted blades from our blades list properly.
+

Var Details

blade_orbit_radius + + + + +

+

The radius of the blade's orbit.

blades + + + + +

+

A list of blade effects orbiting / protecting our owner

delete_on_blades_gone + + + + +

+

If TRUE, we self-delete our status effect after all the blades are deleted.

max_num_blades + + + + +

+

The number of blades we summon up to.

time_between_initial_blades + + + + +

+

The time between spawning blades.

Proc Details

create_blade +

+

Creates a floating blade, adds it to our blade list, and makes it orbit our owner.

on_shield_reaction +

+

Signal proc for COMSIG_LIVING_CHECK_BLOCK. +If we have a blade in our list, consume it and block the incoming attack (shield it)

remove_blade +

+

Remove deleted blades from our blades list properly.

+ + + diff --git a/datum/status_effect/protective_blades/recharging.html b/datum/status_effect/protective_blades/recharging.html new file mode 100644 index 00000000000..62621065137 --- /dev/null +++ b/datum/status_effect/protective_blades/recharging.html @@ -0,0 +1,37 @@ + + + + + + + /datum/status_effect/protective_blades/recharging - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

recharging + + + +

+ +

A subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed

+

Vars

blade_recharge_timeThe amount of time it takes for a blade to recharge
+

Var Details

blade_recharge_time + + + + +

+

The amount of time it takes for a blade to recharge

+ + + diff --git a/datum/status_effect/protector_shield.html b/datum/status_effect/protector_shield.html new file mode 100644 index 00000000000..5a61132f29c --- /dev/null +++ b/datum/status_effect/protector_shield.html @@ -0,0 +1,71 @@ + + + + + + + /datum/status_effect/protector_shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

protector_shield + + + +

+ +

Makes the guardian even more durable, but slower

+ + + + + +

Vars

damage_penaltyDamage removed in protecting mode.
overlay_colourColour for our various overlays.
shield_overlayOverlay for our protection shield.
shielded_damageDamage coefficients when shielded

Procs

on_health_changedFlash an animation when someone tries to hurt us
on_update_overlaysShow an extra overlay when we're in shield mode
+

Var Details

damage_penalty + + + + +

+

Damage removed in protecting mode.

overlay_colour + + + + +

+

Colour for our various overlays.

shield_overlay + + + + +

+

Overlay for our protection shield.

shielded_damage + + + + +

+

Damage coefficients when shielded

Proc Details

on_health_changed +

+

Flash an animation when someone tries to hurt us

on_update_overlays +

+

Show an extra overlay when we're in shield mode

+ + + diff --git a/datum/status_effect/psychic_projection.html b/datum/status_effect/psychic_projection.html new file mode 100644 index 00000000000..72dbfa43121 --- /dev/null +++ b/datum/status_effect/psychic_projection.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/psychic_projection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

psychic_projection + + + +

+ +

Status effect that adds a weird view to its owner and causes them to rapidly shoot a firearm in their general direction.

+ +

Vars

firing_delayNeeds to reach times_dry_fired for the next dry fire to happen.
times_dry_firedTimes the target has dry fired a weapon.
+

Var Details

firing_delay + + + + +

+

Needs to reach times_dry_fired for the next dry fire to happen.

times_dry_fired + + + + +

+

Times the target has dry fired a weapon.

+ + + diff --git a/datum/status_effect/shadow_cloak.html b/datum/status_effect/shadow_cloak.html new file mode 100644 index 00000000000..d74d7cc78a5 --- /dev/null +++ b/datum/status_effect/shadow_cloak.html @@ -0,0 +1,86 @@ + + + + + + + /datum/status_effect/shadow_cloak - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shadow_cloak + + + +

+ +

Shadow cloak effect. Conceals the owner in a cloud of purple smoke, making them unidentifiable. +Also comes with some other buffs and debuffs - faster movespeed, slower actionspeed, etc.

+ + + + + + + +

Vars

cloak_imageThe image we place over the owner
damage_before_revealHow much damage we can be hit with before it starts rolling reveal chances
damage_sustainedHow much damage we've been hit with

Procs

on_body_position_changeSignal proc for COMSIG_LIVING_SET_BODY_POSITION, handles rotating the effect when we're downed
on_damagedSignal proc for COMSIG_MOB_APPLY_DAMAGE, being damaged past a threshold will roll a chance to stop the effect
on_dir_changeSignal proc for COMSIG_ATOM_DIR_CHANGE, handles turning the effect as we turn
on_moveSignal proc for COMSIG_MOVABLE_MOVED, leaves a cool looking trail behind us as we walk
on_stat_changeSignal proc for COMSIG_MOB_STATCHANGE, going past soft crit will stop the effect
+

Var Details

cloak_image + + + + +

+

The image we place over the owner

damage_before_reveal + + + + +

+

How much damage we can be hit with before it starts rolling reveal chances

damage_sustained + + + + +

+

How much damage we've been hit with

Proc Details

on_body_position_change +

+

Signal proc for COMSIG_LIVING_SET_BODY_POSITION, handles rotating the effect when we're downed

on_damaged +

+

Signal proc for COMSIG_MOB_APPLY_DAMAGE, being damaged past a threshold will roll a chance to stop the effect

on_dir_change +

+

Signal proc for COMSIG_ATOM_DIR_CHANGE, handles turning the effect as we turn

on_move +

+

Signal proc for COMSIG_MOVABLE_MOVED, leaves a cool looking trail behind us as we walk

on_stat_change +

+

Signal proc for COMSIG_MOB_STATCHANGE, going past soft crit will stop the effect

+ + + diff --git a/datum/status_effect/shapechange_mob.html b/datum/status_effect/shapechange_mob.html new file mode 100644 index 00000000000..7a999099f84 --- /dev/null +++ b/datum/status_effect/shapechange_mob.html @@ -0,0 +1,109 @@ + + + + + + + /datum/status_effect/shapechange_mob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shapechange_mob + + + +

+ + + + + + + + + + + +

Vars

already_restoredWhether we're currently undoing the change
caster_mobThe caster's mob. Who has transformed into us +This reference is handled in [/proc/restore_caster], which is always called if we delete

Procs

after_unchangeEffects done after the casting mob has reverted to their human form.
on_caster_deathSignal proc for COMSIG_LIVING_DEATH from our caster. +If our internal caster is killed, kill our owner, too (which causes the above signal). +This should very rarely end up being called but you never know
on_caster_deletedSignal proc for COMSIG_QDELETING from our caster, delete us / our owner if we get deleted
on_mob_transformedCalled when the transformed mob tries to change into a different kind of mob, we wouldn't handle this well so we'll just turn back
on_pre_type_changeCalled when we're turned into a different mob via the change_mob_type proc
on_pre_wabbajackCalled when we're shot by the Wabbajack but before we change into a different mob
on_shape_deathSignal proc for COMSIG_LIVING_DEATH from our owner. +If our owner mob is killed, we should revert back to normal.
restore_casterRestores the caster back to their human form. +if kill_caster_after is TRUE, the caster will have death() called on them after restoring.
+

Var Details

already_restored + + + + +

+

Whether we're currently undoing the change

caster_mob + + + + +

+

The caster's mob. Who has transformed into us +This reference is handled in [/proc/restore_caster], which is always called if we delete

Proc Details

after_unchange +

+

Effects done after the casting mob has reverted to their human form.

on_caster_death +

+

Signal proc for COMSIG_LIVING_DEATH from our caster. +If our internal caster is killed, kill our owner, too (which causes the above signal). +This should very rarely end up being called but you never know

on_caster_deleted +

+

Signal proc for COMSIG_QDELETING from our caster, delete us / our owner if we get deleted

on_mob_transformed +

+

Called when the transformed mob tries to change into a different kind of mob, we wouldn't handle this well so we'll just turn back

on_pre_type_change +

+

Called when we're turned into a different mob via the change_mob_type proc

on_pre_wabbajack +

+

Called when we're shot by the Wabbajack but before we change into a different mob

on_shape_death +

+

Signal proc for COMSIG_LIVING_DEATH from our owner. +If our owner mob is killed, we should revert back to normal.

restore_caster +

+

Restores the caster back to their human form. +if kill_caster_after is TRUE, the caster will have death() called on them after restoring.

+ + + diff --git a/datum/status_effect/shapechange_mob/from_spell.html b/datum/status_effect/shapechange_mob/from_spell.html new file mode 100644 index 00000000000..d930732a2b3 --- /dev/null +++ b/datum/status_effect/shapechange_mob/from_spell.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/shapechange_mob/from_spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

from_spell + + + +

+ + +

Vars

source_weakrefThe shapechange spell that's caused our change
+

Var Details

source_weakref + + + + +

+

The shapechange spell that's caused our change

+ + + diff --git a/datum/status_effect/silenced.html b/datum/status_effect/silenced.html new file mode 100644 index 00000000000..f3ab68e7448 --- /dev/null +++ b/datum/status_effect/silenced.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/silenced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

silenced + + + +

+ + +

Procs

clear_silenceSignal proc that clears any silence we have (self-deletes).

Proc Details

clear_silence +

+

Signal proc that clears any silence we have (self-deletes).

+ + + diff --git a/datum/status_effect/slimed.html b/datum/status_effect/slimed.html new file mode 100644 index 00000000000..ae605963fac --- /dev/null +++ b/datum/status_effect/slimed.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/slimed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slimed + + + +

+ + + + +

Vars

rainbowChanges particle colors to rainbow, this overrides slime_color.
slime_colorSlime color, used for particles.
slime_stacksThe amount of slime stacks that were applied, reduced by showering yourself under water.
+

Var Details

rainbow + + + + +

+

Changes particle colors to rainbow, this overrides slime_color.

slime_color + + + + +

+

Slime color, used for particles.

slime_stacks + + + + +

+

The amount of slime stacks that were applied, reduced by showering yourself under water.

+ + + diff --git a/datum/status_effect/song/light.html b/datum/status_effect/song/light.html new file mode 100644 index 00000000000..96f1a5a3dec --- /dev/null +++ b/datum/status_effect/song/light.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/song/light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light + + + +

+ + +

Vars

mob_light_objlighting object that makes owner glow
+

Var Details

mob_light_obj + + + + +

+

lighting object that makes owner glow

+ + + diff --git a/datum/status_effect/spacer.html b/datum/status_effect/spacer.html new file mode 100644 index 00000000000..b5859f58347 --- /dev/null +++ b/datum/status_effect/spacer.html @@ -0,0 +1,38 @@ + + + + + + + /datum/status_effect/spacer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spacer + + + +

+ + +

Vars

nerfed_effects_because_planetaryEssentially, tracks whether this is a planetary map. +It'd be pretty miserable if you're playing a planetary map and getting the worse of all effects, so we handwave it a bit.
+

Var Details

nerfed_effects_because_planetary + + + + +

+

Essentially, tracks whether this is a planetary map. +It'd be pretty miserable if you're playing a planetary map and getting the worse of all effects, so we handwave it a bit.

+ + + diff --git a/datum/status_effect/spacer/gravity_sickness.html b/datum/status_effect/spacer/gravity_sickness.html new file mode 100644 index 00000000000..5c90ed4bbee --- /dev/null +++ b/datum/status_effect/spacer/gravity_sickness.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/spacer/gravity_sickness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gravity_sickness + + + +

+ + + + +

Vars

disgust_per_tickHow much disgust to gain per tick
max_disgustThe cap to which we can apply disgust
seconds_activeTracks how many seconds this has been active
+

Var Details

disgust_per_tick + + + + +

+

How much disgust to gain per tick

max_disgust + + + + +

+

The cap to which we can apply disgust

seconds_active + + + + +

+

Tracks how many seconds this has been active

+ + + diff --git a/datum/status_effect/spacer/gravity_wellness.html b/datum/status_effect/spacer/gravity_wellness.html new file mode 100644 index 00000000000..fc75cee9936 --- /dev/null +++ b/datum/status_effect/spacer/gravity_wellness.html @@ -0,0 +1,57 @@ + + + + + + + /datum/status_effect/spacer/gravity_wellness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gravity_wellness + + + +

+ + + + + +

Vars

disgust_healing_per_tickHow much disgust to heal per tick
seconds_in_nogravTracks how long we've been in no gravity
stamina_heal_per_tickHow much of stamina damage to heal per tick when we've been in nograv for a while
stun_heal_per_tickHow many seconds of stuns to reduce per tick when we've been in nograv for a while
+

Var Details

disgust_healing_per_tick + + + + +

+

How much disgust to heal per tick

seconds_in_nograv + + + + +

+

Tracks how long we've been in no gravity

stamina_heal_per_tick + + + + +

+

How much of stamina damage to heal per tick when we've been in nograv for a while

stun_heal_per_tick + + + + +

+

How many seconds of stuns to reduce per tick when we've been in nograv for a while

+ + + diff --git a/datum/status_effect/speech.html b/datum/status_effect/speech.html new file mode 100644 index 00000000000..18b38cceefa --- /dev/null +++ b/datum/status_effect/speech.html @@ -0,0 +1,47 @@ + + + + + + + /datum/status_effect/speech - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

speech + + + +

+ + + +

Procs

apply_speechApplies the speech effects on the past character, changing +the original_char into the modified_char.
handle_messageSignal proc for COMSIG_LIVING_TREAT_MESSAGE

Proc Details

apply_speech +

+

Applies the speech effects on the past character, changing +the original_char into the modified_char.

+

Return the modified_char to be reapplied to the message.

handle_message +

+

Signal proc for COMSIG_LIVING_TREAT_MESSAGE

+

Iterates over all of the characters in the passed message +and calls apply_speech() on each.

+ + + diff --git a/datum/status_effect/speech/slurring.html b/datum/status_effect/speech/slurring.html new file mode 100644 index 00000000000..49c1a3351f1 --- /dev/null +++ b/datum/status_effect/speech/slurring.html @@ -0,0 +1,92 @@ + + + + + + + /datum/status_effect/speech/slurring - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slurring + + + +

+ + + + + + + + + + +

Vars

common_probThe chance that any given character in a message will be replaced with a common character
common_replacementsCommon replacements for characters - populated in on_creation
doubletext_probThe chance that any given character will be doubled, or even tripled
replacement_probThe chance that any given character will be entirely replaced with a new string / will have a string appended onto it
string_additionsStrings that are appended to a character - populated in on_creation
string_replacementsStrings that fully replace a character - populated in on_creation
text_modification_fileThe file we pull text modifications from
uncommon_probThe chance that any given character in a message will be replaced with an uncommon character
uncommon_replacementsUncommon replacements for characters - populated in on_creation
+

Var Details

common_prob + + + + +

+

The chance that any given character in a message will be replaced with a common character

common_replacements + + + + +

+

Common replacements for characters - populated in on_creation

doubletext_prob + + + + +

+

The chance that any given character will be doubled, or even tripled

replacement_prob + + + + +

+

The chance that any given character will be entirely replaced with a new string / will have a string appended onto it

string_additions + + + + +

+

Strings that are appended to a character - populated in on_creation

string_replacements + + + + +

+

Strings that fully replace a character - populated in on_creation

text_modification_file + + + + +

+

The file we pull text modifications from

uncommon_prob + + + + +

+

The chance that any given character in a message will be replaced with an uncommon character

uncommon_replacements + + + + +

+

Uncommon replacements for characters - populated in on_creation

+ + + diff --git a/datum/status_effect/speech/stutter.html b/datum/status_effect/speech/stutter.html new file mode 100644 index 00000000000..30c36863688 --- /dev/null +++ b/datum/status_effect/speech/stutter.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/speech/stutter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stutter + + + +

+ + + +

Vars

no_stutterRegex of characters we won't apply a stutter to
stutter_probThe probability of adding a stutter to any character
+

Var Details

no_stutter + + + + +

+

Regex of characters we won't apply a stutter to

stutter_prob + + + + +

+

The probability of adding a stutter to any character

+ + + diff --git a/datum/status_effect/speech/stutter/derpspeech.html b/datum/status_effect/speech/stutter/derpspeech.html new file mode 100644 index 00000000000..74425b403db --- /dev/null +++ b/datum/status_effect/speech/stutter/derpspeech.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/speech/stutter/derpspeech - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

derpspeech + + + +

+ + + +

Vars

capitalize_probThe probability of making our message entirely uppercase + adding exclamations
message_stutter_probThe probability of adding a stutter to the entire message, if we're not already stuttering
+

Var Details

capitalize_prob + + + + +

+

The probability of making our message entirely uppercase + adding exclamations

message_stutter_prob + + + + +

+

The probability of adding a stutter to the entire message, if we're not already stuttering

+ + + diff --git a/datum/status_effect/stabilized.html b/datum/status_effect/stabilized.html new file mode 100644 index 00000000000..15fc8163b14 --- /dev/null +++ b/datum/status_effect/stabilized.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/stabilized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stabilized + + + +

+ +

STABILIZED EXTRACTS

+ +

Vars

colourColour of the extract providing the buff
linked_extractItem which provides this buff
+

Var Details

colour + + + + +

+

Colour of the extract providing the buff

linked_extract + + + + +

+

Item which provides this buff

+ + + diff --git a/datum/status_effect/stabilized/black.html b/datum/status_effect/stabilized/black.html new file mode 100644 index 00000000000..7c4743294e3 --- /dev/null +++ b/datum/status_effect/stabilized/black.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/stabilized/black - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

black + + + +

+ + + + +

Vars

draining_refWeakref to the mob we're currently draining every tick.
heal_amountHow much we heal per tick (also how much we damage per tick times DRAIN_DAMAGE_MULTIPLIER).

Procs

on_grabWhenever we grab someone by the neck, set "draining" to a weakref of them.
+

Var Details

draining_ref + + + + +

+

Weakref to the mob we're currently draining every tick.

heal_amount + + + + +

+

How much we heal per tick (also how much we damage per tick times DRAIN_DAMAGE_MULTIPLIER).

Proc Details

on_grab +

+

Whenever we grab someone by the neck, set "draining" to a weakref of them.

+ + + diff --git a/datum/status_effect/stabilized/pink.html b/datum/status_effect/stabilized/pink.html new file mode 100644 index 00000000000..9034106a08d --- /dev/null +++ b/datum/status_effect/stabilized/pink.html @@ -0,0 +1,50 @@ + + + + + + + /datum/status_effect/stabilized/pink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pink + + + +

+ + + + +

Vars

faction_nameName of our faction
mobsList of weakrefs to mobs we have pacified

Procs

update_nearby_mobsPacifies mobs you can see and unpacifies mobs you no longer can
+

Var Details

faction_name + + + + +

+

Name of our faction

mobs + + + + +

+

List of weakrefs to mobs we have pacified

Proc Details

update_nearby_mobs +

+

Pacifies mobs you can see and unpacifies mobs you no longer can

+ + + diff --git a/datum/status_effect/stabilized/purple.html b/datum/status_effect/stabilized/purple.html new file mode 100644 index 00000000000..a708cb83741 --- /dev/null +++ b/datum/status_effect/stabilized/purple.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/stabilized/purple - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

purple + + + +

+ + +

Vars

healed_last_tickWhether we healed from our last tick
+

Var Details

healed_last_tick + + + + +

+

Whether we healed from our last tick

+ + + diff --git a/datum/status_effect/stacking.html b/datum/status_effect/stacking.html new file mode 100644 index 00000000000..cc0d24a1aad --- /dev/null +++ b/datum/status_effect/stacking.html @@ -0,0 +1,195 @@ + + + + + + + /datum/status_effect/stacking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stacking + + + +

+ +

Status effects that can stack.

+ + + + + + + + + + + + + + + + + + + + + +

Vars

consumed_on_thresholdIf TRUE, the status effect is consumed / removed when stack_threshold is met
delay_before_decay(first stack will be removed at this time plus tick_interval)
max_stacksThe maximum number of stacks that can be applied
overlay_fileIcon file for overlays applied when the status effect is applied
overlay_stateIcon state for overlays applied when the status effect is applied +States in the file must be given a name, followed by a number which corresponds to a number of stacks. +Put the state name without the number in these state vars
stack_decayHow many stacks are lost per tick (decay trigger)
stack_thresholdThe threshold for having special effects occur when a certain stack number is reached
stacksHow many stacks are currently accumulated. +Also, the default stacks number given on application.
status_overlayA reference to our overlay appearance
status_underlayA referenceto our underlay appearance
threshold_crossedSet to true once the stack_threshold is crossed, and false once it falls back below
underlay_fileIcon file for underlays applied when the status effect is applied
underlay_stateIcon state for underlays applied when the status effect is applied +The number is concatonated onto the string based on the number of stacks to get the correct state name.

Procs

add_stacksAdd (or remove) [stacks_added] stacks to our current stack count.
can_gain_stacksWhether the owner can currently gain stacks or not +Return FALSE if the owner is not in a valid state, or TRUE otherwise
can_have_statusWhether the owner can have the status effect. +Return FALSE if the owner is not in a valid state (self-deletes the effect), or TRUE otherwise
fadeout_effectEffects that occur if the status is removed due to being under 1 remaining stack
on_threshold_crossCalled when the stack_threshold is crossed (stacks go over the threshold)
on_threshold_dropCalled when the stack_threshold is uncrossed / dropped (stacks go under the threshold after being over it)
stack_decay_effectRuns every time tick(), causes stacks to decay over time
stacks_consumed_effectEffects that occur if the status effect is removed due to the stack_threshold being crossed
threshold_cross_effectEffects that occur when the stack count crosses stack_threshold
+

Var Details

consumed_on_threshold + + + + +

+

If TRUE, the status effect is consumed / removed when stack_threshold is met

delay_before_decay + + + + +

+

(first stack will be removed at this time plus tick_interval)

max_stacks + + + + +

+

The maximum number of stacks that can be applied

overlay_file + + + + +

+

Icon file for overlays applied when the status effect is applied

overlay_state + + + + +

+

Icon state for overlays applied when the status effect is applied +States in the file must be given a name, followed by a number which corresponds to a number of stacks. +Put the state name without the number in these state vars

stack_decay + + + + +

+

How many stacks are lost per tick (decay trigger)

stack_threshold + + + + +

+

The threshold for having special effects occur when a certain stack number is reached

stacks + + + + +

+

How many stacks are currently accumulated. +Also, the default stacks number given on application.

status_overlay + + + + +

+

A reference to our overlay appearance

status_underlay + + + + +

+

A referenceto our underlay appearance

threshold_crossed + + + + +

+

Set to true once the stack_threshold is crossed, and false once it falls back below

underlay_file + + + + +

+

Icon file for underlays applied when the status effect is applied

underlay_state + + + + +

+

Icon state for underlays applied when the status effect is applied +The number is concatonated onto the string based on the number of stacks to get the correct state name.

Proc Details

add_stacks +

+

Add (or remove) [stacks_added] stacks to our current stack count.

can_gain_stacks +

+

Whether the owner can currently gain stacks or not +Return FALSE if the owner is not in a valid state, or TRUE otherwise

can_have_status +

+

Whether the owner can have the status effect. +Return FALSE if the owner is not in a valid state (self-deletes the effect), or TRUE otherwise

fadeout_effect +

+

Effects that occur if the status is removed due to being under 1 remaining stack

on_threshold_cross +

+

Called when the stack_threshold is crossed (stacks go over the threshold)

on_threshold_drop +

+

Called when the stack_threshold is uncrossed / dropped (stacks go under the threshold after being over it)

stack_decay_effect +

+

Runs every time tick(), causes stacks to decay over time

stacks_consumed_effect +

+

Effects that occur if the status effect is removed due to the stack_threshold being crossed

threshold_cross_effect +

+

Effects that occur when the stack count crosses stack_threshold

+ + + diff --git a/datum/status_effect/stacking/brimdust_coating.html b/datum/status_effect/stacking/brimdust_coating.html new file mode 100644 index 00000000000..af28de694e5 --- /dev/null +++ b/datum/status_effect/stacking/brimdust_coating.html @@ -0,0 +1,87 @@ + + + + + + + /datum/status_effect/stacking/brimdust_coating - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

brimdust_coating + + + +

+ +

If you take brute damage with this buff, hurt and push everyone next to you. +If you catch fire and or on the space station, detonate all remaining stacks in a way which hurts you. +Washes off if you get wet.

+ + + + + + + +

Vars

blast_damageDamage to deal on explosion
delay_between_explosionsTime to wait between consuming stacks
dust_overlayOverlay effect added to mob when buff is present
explosion_cooldownCooldown between explosions
pressure_modifierDamage reduction when not in a mining pressure area

Procs

explodeHurts everything in a circle around you. Hurts less if in a pressurised environment.
on_cleanedWhen you are cleaned, wash off the buff
on_take_damageWhen you take brute damage, schedule an explosion
+

Var Details

blast_damage + + + + +

+

Damage to deal on explosion

delay_between_explosions + + + + +

+

Time to wait between consuming stacks

dust_overlay + + + + +

+

Overlay effect added to mob when buff is present

explosion_cooldown + + + + +

+

Cooldown between explosions

pressure_modifier + + + + +

+

Damage reduction when not in a mining pressure area

Proc Details

explode +

+

Hurts everything in a circle around you. Hurts less if in a pressurised environment.

on_cleaned +

+

When you are cleaned, wash off the buff

on_take_damage +

+

When you take brute damage, schedule an explosion

+ + + diff --git a/datum/status_effect/staggered.html b/datum/status_effect/staggered.html new file mode 100644 index 00000000000..914f543c21e --- /dev/null +++ b/datum/status_effect/staggered.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/staggered - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

staggered + + + +

+ + +

Procs

clear_staggeredSignal proc that self deletes our staggered effect

Proc Details

clear_staggered +

+

Signal proc that self deletes our staggered effect

+ + + diff --git a/datum/status_effect/star_mark.html b/datum/status_effect/star_mark.html new file mode 100644 index 00000000000..9864ff4ad9c --- /dev/null +++ b/datum/status_effect/star_mark.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect/star_mark - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

star_mark + + + +

+ + + + + + +

Vars

cosmic_overlayoverlay used to indicate that someone is marked
effect_iconicon file for the overlay
effect_icon_stateicon state for the overlay
spell_casterStorage for the spell caster

Procs

update_owner_overlayUpdates the overlay of the owner
+

Var Details

cosmic_overlay + + + + +

+

overlay used to indicate that someone is marked

effect_icon + + + + +

+

icon file for the overlay

effect_icon_state + + + + +

+

icon state for the overlay

spell_caster + + + + +

+

Storage for the spell caster

Proc Details

update_owner_overlay +

+

Updates the overlay of the owner

+ + + diff --git a/datum/status_effect/static_vision.html b/datum/status_effect/static_vision.html new file mode 100644 index 00000000000..055762bd24c --- /dev/null +++ b/datum/status_effect/static_vision.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/static_vision - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

static_vision + + + +

+ + +

Procs

remove_static_visionHandles clearing on death

Proc Details

remove_static_vision +

+

Handles clearing on death

+ + + diff --git a/datum/status_effect/strandling.html b/datum/status_effect/strandling.html new file mode 100644 index 00000000000..876ac34d4c0 --- /dev/null +++ b/datum/status_effect/strandling.html @@ -0,0 +1,66 @@ + + + + + + + /datum/status_effect/strandling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

strandling + + + +

+ + + + + + +

Vars

time_to_removeHow long it takes to remove the status effect via [proc/try_remove_effect]

Procs

on_breatheSignal proc for COMSIG_CARBON_PRE_BREATHE, causes losebreath whenever we're trying to breathe
on_cutSignal proc for COMSIG_ATOM_TOOL_ACT with [TOOL_WIRECUTTER], allowing wirecutters to remove the effect (from others / themself)
on_self_checkSignal proc for COMSIG_CARBON_PRE_MISC_HELP, allowing someone to remove the effect by hand
try_remove_effectAttempts a do_after to remove the effect and stop the strangling.
+

Var Details

time_to_remove + + + + +

+

How long it takes to remove the status effect via [proc/try_remove_effect]

Proc Details

on_breathe +

+

Signal proc for COMSIG_CARBON_PRE_BREATHE, causes losebreath whenever we're trying to breathe

on_cut +

+

Signal proc for COMSIG_ATOM_TOOL_ACT with [TOOL_WIRECUTTER], allowing wirecutters to remove the effect (from others / themself)

on_self_check +

+

Signal proc for COMSIG_CARBON_PRE_MISC_HELP, allowing someone to remove the effect by hand

try_remove_effect +

+

Attempts a do_after to remove the effect and stop the strangling.

+

user - the mob attempting to remove the strangle. Can be the same as the owner. +tool - the tool the user's using to remove the strange. Can be null.

+ + + diff --git a/datum/status_effect/stun_absorption.html b/datum/status_effect/stun_absorption.html new file mode 100644 index 00000000000..aa1f0a15465 --- /dev/null +++ b/datum/status_effect/stun_absorption.html @@ -0,0 +1,154 @@ + + + + + + + /datum/status_effect/stun_absorption - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Stun absorption + + + +

+ +

A status effect effectively functions as TRAIT_STUNIMMUNE, but with additional effects tied to it, +such as showing a message on trigger / examine, or only blocking a limited amount of stuns.

+

Apply this via /mob/living/proc/add_stun_absorption. If you do not supply a duration, +remove this via /mob/living/proc/remove_stun_absorption.

+ + + + + + + + + + + + + + +

Vars

delete_after_passing_maxIf TRUE, after passing the max seconds of stuns blocked, we will delete ourself. +If FALSE, we will instead recharge after some time.
examine_messageMessage shown on anyone examining the owner.
incapacitation_effect_signalsStatic list of all generic "stun received " signals that we will react to and block. +These all have the same arguments sent, so we can handle them all via the same signal handler. +Note though that we can register other signals to block effects outside of these if we want.
max_seconds_of_stuns_blockedThe max number of seconds we can block before self-deleting.
priorityThe priority of the stun absorption. Used so that multiple sources will not trigger at once. +This number is arbitrary but try to keep in sane / in line with other sources that exist.
recharge_timeIf [delete_after_passing_max] is FALSE, this is how long we will wait before recharging.
seconds_of_stuns_absorbedHow many total seconds of stuns that have been blocked.
self_messageThe message shown to the owner when the effect triggers.
shown_messageThe message shown via visible message to all nearby mobs when the effect triggers.
sourceThe string key sourcer of the stun absorption, used for logging

Procs

absorb_stunAbsorb a number of seconds of stuns. +If we hit the max amount of absorption, we will qdel ourself in this proc.
can_absorb_stunSimply checks if the owner of the effect is in a valid state to absorb stuns.
recharge_absorptionUsed in callbacks to "recharge" the effect after passing the max seconds of stuns blocked.
try_absorb_generic_effectSignal proc for COMSIG_LIVING_GENERIC_STUN_CHECK. (Note, this includes being stamcrit)
try_absorb_incapacitating_effectSignal proc for generic stun signals being sent, such as COMSIG_LIVING_STATUS_STUN or COMSIG_LIVING_STATUS_KNOCKDOWN.
+

Var Details

delete_after_passing_max + + + + +

+

If TRUE, after passing the max seconds of stuns blocked, we will delete ourself. +If FALSE, we will instead recharge after some time.

examine_message + + + + +

+

Message shown on anyone examining the owner.

incapacitation_effect_signals + + + + +

+

Static list of all generic "stun received " signals that we will react to and block. +These all have the same arguments sent, so we can handle them all via the same signal handler. +Note though that we can register other signals to block effects outside of these if we want.

max_seconds_of_stuns_blocked + + + + +

+

The max number of seconds we can block before self-deleting.

priority + + + + +

+

The priority of the stun absorption. Used so that multiple sources will not trigger at once. +This number is arbitrary but try to keep in sane / in line with other sources that exist.

recharge_time + + + + +

+

If [delete_after_passing_max] is FALSE, this is how long we will wait before recharging.

seconds_of_stuns_absorbed + + + + +

+

How many total seconds of stuns that have been blocked.

self_message + + + + +

+

The message shown to the owner when the effect triggers.

shown_message + + + + +

+

The message shown via visible message to all nearby mobs when the effect triggers.

source + + + + +

+

The string key sourcer of the stun absorption, used for logging

Proc Details

absorb_stun +

+

Absorb a number of seconds of stuns. +If we hit the max amount of absorption, we will qdel ourself in this proc.

+ +

Returns TRUE on successful absorption, or FALSE otherwise.

can_absorb_stun +

+

Simply checks if the owner of the effect is in a valid state to absorb stuns.

recharge_absorption +

+

Used in callbacks to "recharge" the effect after passing the max seconds of stuns blocked.

try_absorb_generic_effect +

+

Signal proc for COMSIG_LIVING_GENERIC_STUN_CHECK. (Note, this includes being stamcrit)

+

Whenever a generic stun check is done against us, we'll just try to block it with "0 second" stun. +This prevents spam us from showing feedback messages, and is for the generic "can be stunned" check.

try_absorb_incapacitating_effect +

+

Signal proc for generic stun signals being sent, such as COMSIG_LIVING_STATUS_STUN or COMSIG_LIVING_STATUS_KNOCKDOWN.

+

When we get stunned, we will try to absorb a number of seconds from the stun, and return [COMPONENT_NO_STUN] if we succeed.

+ + + diff --git a/datum/status_effect/temporary_transformation.html b/datum/status_effect/temporary_transformation.html new file mode 100644 index 00000000000..dceb4de8e13 --- /dev/null +++ b/datum/status_effect/temporary_transformation.html @@ -0,0 +1,44 @@ + + + + + + + /datum/status_effect/temporary_transformation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

temporary_transformation + + + +

+ +

Transforms a carbon mob into a new DNA for a set amount of time, +then turns them back to how they were before transformation.

+ +

Vars

new_dnaA reference to a COPY of the DNA that the mob will be transformed into.
old_dnaA reference to a COPY of the DNA of the mob prior to transformation.
+

Var Details

new_dna + + + + +

+

A reference to a COPY of the DNA that the mob will be transformed into.

old_dna + + + + +

+

A reference to a COPY of the DNA of the mob prior to transformation.

+ + + diff --git a/datum/status_effect/temporary_transformation/trans_sting.html b/datum/status_effect/temporary_transformation/trans_sting.html new file mode 100644 index 00000000000..f0c88f2bb94 --- /dev/null +++ b/datum/status_effect/temporary_transformation/trans_sting.html @@ -0,0 +1,43 @@ + + + + + + + /datum/status_effect/temporary_transformation/trans_sting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trans_sting + + + +

+ + + +

Vars

time_before_pauseTracks the time left on the effect when the owner last died. Used to pause the effect.
update_on_signalsSignals which we react to to determine if we should pause the effect.
+

Var Details

time_before_pause + + + + +

+

Tracks the time left on the effect when the owner last died. Used to pause the effect.

update_on_signals + + + + +

+

Signals which we react to to determine if we should pause the effect.

+ + + diff --git a/datum/status_effect/terrified.html b/datum/status_effect/terrified.html new file mode 100644 index 00000000000..e3db85a16b5 --- /dev/null +++ b/datum/status_effect/terrified.html @@ -0,0 +1,64 @@ + + + + + + + /datum/status_effect/terrified - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

terrified + + + +

+ + + + + +

Vars

terror_buildupA value that represents how much "terror" the victim has built up. Higher amounts cause more averse effects.

Procs

check_surrounding_darknessChecks the surroundings of our victim and returns TRUE if the user is surrounded by enough darkness
comfort_ownerIf we get a hug from a friend, we calm down! If we get a hug from a nightmare, we FREAK OUT.
freak_outAdds to the victim's terror buildup, makes them scream, and knocks them over for a moment.
+

Var Details

terror_buildup + + + + +

+

A value that represents how much "terror" the victim has built up. Higher amounts cause more averse effects.

Proc Details

check_surrounding_darkness +

+

Checks the surroundings of our victim and returns TRUE if the user is surrounded by enough darkness

+

Checks the surrounded tiles for light amount. If the user has more light nearby, return true. +Otherwise, return false

comfort_owner +

+

If we get a hug from a friend, we calm down! If we get a hug from a nightmare, we FREAK OUT.

freak_out +

+

Adds to the victim's terror buildup, makes them scream, and knocks them over for a moment.

+

Makes the victm scream and adds the passed amount to their buildup. +Knocks over the victim for a brief moment.

+
+ + + diff --git a/datum/status_effect/unholy_determination.html b/datum/status_effect/unholy_determination.html new file mode 100644 index 00000000000..cdb81905675 --- /dev/null +++ b/datum/status_effect/unholy_determination.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/unholy_determination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

unholy_determination + + + +

+ +

The buff given to people within the shadow realm to assist them in surviving.

+

Vars

heal_per_secondHow much to heal every second
+

Var Details

heal_per_second + + + + +

+

How much to heal every second

+ + + diff --git a/datum/status_effect/void_chill.html b/datum/status_effect/void_chill.html new file mode 100644 index 00000000000..593223e2a37 --- /dev/null +++ b/datum/status_effect/void_chill.html @@ -0,0 +1,36 @@ + + + + + + + /datum/status_effect/void_chill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

void_chill + + + +

+ + +

Vars

cooling_per_tickThe amount the victim's body temperature changes each tick() in kelvin. Multiplied by TEMPERATURE_DAMAGE_COEFFICIENT.
+

Var Details

cooling_per_tick + + + + +

+

The amount the victim's body temperature changes each tick() in kelvin. Multiplied by TEMPERATURE_DAMAGE_COEFFICIENT.

+ + + diff --git a/datum/status_effect/wound.html b/datum/status_effect/wound.html new file mode 100644 index 00000000000..5120180e000 --- /dev/null +++ b/datum/status_effect/wound.html @@ -0,0 +1,35 @@ + + + + + + + /datum/status_effect/wound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wound + + + +

+ + +

Procs

check_removecheck if the wound getting removed is the wound we're tied to

Proc Details

check_remove +

+

check if the wound getting removed is the wound we're tied to

+ + + diff --git a/datum/stock_part.html b/datum/stock_part.html new file mode 100644 index 00000000000..cf359c09b91 --- /dev/null +++ b/datum/stock_part.html @@ -0,0 +1,86 @@ + + + + + + + /datum/stock_part - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stock_part + + + +

+ +

Represents the concept of a stock part. +One is created for every stock part type for every level. +Machines have these inside their component_parts. +For example, scanning modules use /datum/stock_part/scanning_module. +In machines, you can perform a loop through something like +for (var/datum/stock_part/scanning_module/part in component_parts)

+ + + + + +

Vars

physical_object_base_typeWhat's the base path that this stock part refers to? +For example, a tier 2 capacitor will have a physical_object_type +of /obj/item/capacitor/tier2, but a physical_object_base_type of +/obj/item/capacitor
physical_object_referenceA single instance of the physical object type. +Used for icons, should never be moved out.
physical_object_typeWhat object does this stock part refer to?
tierBetter parts have higher tiers

Procs

energy_ratingReturns the energy rating of the stock part given a level. +The higher this is, the more power machines with these parts will consume.
nameReturns the name of the physical object
+

Var Details

physical_object_base_type + + + + +

+

What's the base path that this stock part refers to? +For example, a tier 2 capacitor will have a physical_object_type +of /obj/item/capacitor/tier2, but a physical_object_base_type of +/obj/item/capacitor

physical_object_reference + + + + +

+

A single instance of the physical object type. +Used for icons, should never be moved out.

physical_object_type + + + + +

+

What object does this stock part refer to?

tier + + + + +

+

Better parts have higher tiers

Proc Details

energy_rating +

+

Returns the energy rating of the stock part given a level. +The higher this is, the more power machines with these parts will consume.

name +

+

Returns the name of the physical object

+ + + diff --git a/datum/storage.html b/datum/storage.html new file mode 100644 index 00000000000..522b27a25f3 --- /dev/null +++ b/datum/storage.html @@ -0,0 +1,583 @@ + + + + + + + /datum/storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

storage + + + +

+ +

Datumized Storage +Eliminates the need for custom signals specifically for the storage component, and attaches a storage variable (atom_storage) to every atom. +The parent and real_location variables are both weakrefs, so they must be resolved before they can be used. +If you're looking to create custom storage type behaviors, check ../subtypes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allow_big_nestingwhether or not we allow storage objects of the same size inside
allow_quick_emptyshow we allow emptying all contents by using the storage object in hand
allow_quick_gathershould we be allowed to pickup an object by clicking it
animatedwhether or not we should have those cute little animations
attack_hand_interactwhether or not we should open when clicked
boxesstorage display object
can_holdif this is set, only items, and their children, will fit
can_hold_descriptionshows what we can hold in examine text
can_hold_traitif set can only contain stuff with this single trait present.
cant_holdif this is set, items, and their children, won't fit
closerclose button object
collection_modethe mode for collection when allow_quick_gather is enabled
display_contentsIf true shows the contents of the storage in open_storage
emp_shieldedcontents shouldn't be emped
exception_holdif set, these items will be the exception to the max size of object that can fit.
exception_maxif exception_hold is set, how many exception items can we hold at any one time?
insert_prepositionyou put things in a bag, but on a plate
is_usinglist of all the mobs currently viewing the contents
max_specific_storagemax weight class for a single item being inserted
max_total_storagemax combined weight classes the storage can hold
numerical_stackinginstead of displaying multiple items of the same type, display them as numbered contents
parentthe actual item we're attached to
quickdrawalt click takes an item out instead of opening up storage
real_locationthe actual item we're storing in
rustle_soundplay a rustling sound when interacting with the bag
screen_max_columnsmaximum amount of columns a storage object can have
screen_pixel_xpixel location of the boxes and close button
screen_start_xwhere storage starts being rendered, screen_loc wise
silentdon't show any chat messages regarding inserting items
silent_for_usersame as above but only for the user, useful to cut on chat spam without removing feedback for other players
supports_smart_equipIf we support smartly removing/inserting things from ourselves

Procs

animate_parentGives a spiffy animation to our parent to represent opening and closing.
attempt_insertAttempts to insert an item into the storage
attempt_removeAttempts to remove an item from the storage +Ignores removal do_afters. Only use this if you're doing it as part of a dumping action
can_insertChecks if an item is capable of being inserted into the storage
can_see_contentsChecks who is currently capable of viewing our storage (and is.)
close_allClose the storage UI for everyone viewing us.
close_distanceSignal handler for whenever a mob walks away with us, close if they can't reach us.
collect_on_turfCollects every item of a type on a turf.
dump_content_atDumps all of our contents at a specific location.
exception_countReturns a count of how many items held due to exception_hold we have
generate_hold_descGenerates a description, primarily for clothing storage.
handle_enterAutomatically ran on all object insertions: flag marking and view refreshing.
handle_exitAutomatically ran on all object removals: flag marking and view refreshing.
handle_mass_pickupInserts every item in a given list, with a progress bar
hide_contentsHide our storage from a mob.
item_insertion_feedbackProvides visual feedback in chat for an item insertion
mass_emptySignal handler for remove_all()
on_attackSignal handler for whenever we're attacked by a mob.
on_attackbySignal handler for whenever we're attacked by an object.
on_emp_actSignal handler for the emp_act() of all contents
on_mousedrop_ontoSignal handler for whenever we drag the storage somewhere.
on_mousedropped_ontoSignal handler for whenever something gets mouse-dropped onto us.
on_preattackSignal handler for preattack from an object.
open_storageOpens the storage to the mob, showing them the contents to their UI.
open_storage_attackby_secondarySignal handler for when we get attacked with secondary click by an item.
open_storage_on_signalSignal handler to open up the storage when we receive a signal.
orient_item_boxesGenerates the actual UI objects, their location, and alignments whenever we open storage up.
orient_to_hudUpdates the storage UI to fit all objects inside storage.
process_numerical_displayGenerates the numbers on an item in storage to show stacking.
put_in_hands_asyncAsync version of putting something into a mobs hand.
refresh_viewsRefresh the views of everyone currently viewing the storage.
remove_allRemoves everything inside of our storage
remove_and_refreshResets an object, removes it from our screen, and refreshes the view.
remove_singleAllows a mob to attempt to remove a single item from the storage +Allows for hooks into things like removal delays
remove_typeRemoves only a specific type of item from our storage
reset_itemRefreshes and item to be put back into the real world, out of storage.
return_invRecursive proc to get absolutely EVERYTHING inside a storage item, including the contents of inner items.
set_real_locationSets where items are physically being stored in the case it shouldn't be on the parent.
show_contentsShow our storage to a mob.
toggle_collection_modeToggles the collectmode of our storage.
update_actionsUpdates the action button for toggling collectmode.
+

Var Details

allow_big_nesting + + + + +

+

whether or not we allow storage objects of the same size inside

allow_quick_empty + + + + +

+

show we allow emptying all contents by using the storage object in hand

allow_quick_gather + + + + +

+

should we be allowed to pickup an object by clicking it

animated + + + + +

+

whether or not we should have those cute little animations

attack_hand_interact + + + + +

+

whether or not we should open when clicked

boxes + + + + +

+

storage display object

can_hold + + + + +

+

if this is set, only items, and their children, will fit

can_hold_description + + + + +

+

shows what we can hold in examine text

can_hold_trait + + + + +

+

if set can only contain stuff with this single trait present.

cant_hold + + + + +

+

if this is set, items, and their children, won't fit

closer + + + + +

+

close button object

collection_mode + + + + +

+

the mode for collection when allow_quick_gather is enabled

display_contents + + + + +

+

If true shows the contents of the storage in open_storage

emp_shielded + + + + +

+

contents shouldn't be emped

exception_hold + + + + +

+

if set, these items will be the exception to the max size of object that can fit.

exception_max + + + + +

+

if exception_hold is set, how many exception items can we hold at any one time?

insert_preposition + + + + +

+

you put things in a bag, but on a plate

is_using + + + + +

+

list of all the mobs currently viewing the contents

max_specific_storage + + + + +

+

max weight class for a single item being inserted

max_total_storage + + + + +

+

max combined weight classes the storage can hold

numerical_stacking + + + + +

+

instead of displaying multiple items of the same type, display them as numbered contents

parent + + + + +

+

the actual item we're attached to

quickdraw + + + + +

+

alt click takes an item out instead of opening up storage

real_location + + + + +

+

the actual item we're storing in

rustle_sound + + + + +

+

play a rustling sound when interacting with the bag

screen_max_columns + + + + +

+

maximum amount of columns a storage object can have

screen_pixel_x + + + + +

+

pixel location of the boxes and close button

screen_start_x + + + + +

+

where storage starts being rendered, screen_loc wise

silent + + + + +

+

don't show any chat messages regarding inserting items

silent_for_user + + + + +

+

same as above but only for the user, useful to cut on chat spam without removing feedback for other players

supports_smart_equip + + + + +

+

If we support smartly removing/inserting things from ourselves

Proc Details

animate_parent +

+

Gives a spiffy animation to our parent to represent opening and closing.

attempt_insert +

+

Attempts to insert an item into the storage

+

@param datum/source used by the signal handler +@param obj/item/to_insert the item we're inserting +@param mob/user the user who is inserting the item +@param override see item_insertion_feedback() +@param force bypass locked storage up to a certain level. See [code/__DEFINES/storage.dm]

attempt_remove +

+

Attempts to remove an item from the storage +Ignores removal do_afters. Only use this if you're doing it as part of a dumping action

+

@param obj/item/thing the object we're removing +@param atom/newLoc where we're placing the item +@param silent if TRUE, we won't play any exit sounds

can_insert +

+

Checks if an item is capable of being inserted into the storage

+

@param obj/item/to_insert the item we're checking +@param messages if TRUE, will print out a message if the item is not valid +@param force bypass locked storage up to a certain level. See [code/__DEFINES/storage.dm]

can_see_contents +

+

Checks who is currently capable of viewing our storage (and is.)

close_all +

+

Close the storage UI for everyone viewing us.

close_distance +

+

Signal handler for whenever a mob walks away with us, close if they can't reach us.

collect_on_turf +

+

Collects every item of a type on a turf.

+

@param obj/item/thing the initial object to pick up +@param mob/user the user who is picking up the items

dump_content_at +

+

Dumps all of our contents at a specific location.

+

@param atom/dest_object where to dump to +@param mob/user the user who is dumping the contents

exception_count +

+

Returns a count of how many items held due to exception_hold we have

generate_hold_desc +

+

Generates a description, primarily for clothing storage.

handle_enter +

+

Automatically ran on all object insertions: flag marking and view refreshing.

handle_exit +

+

Automatically ran on all object removals: flag marking and view refreshing.

handle_mass_pickup +

+

Inserts every item in a given list, with a progress bar

+

@param mob/user the user who is inserting the items +@param list/things the list of items to insert +@param atom/thing_loc the location of the items (used to make sure an item hasn't moved during pickup) +@param list/rejections a list used to make sure we only complain once about an invalid insertion +@param datum/progressbar/progress the progressbar used to show the progress of the insertion

hide_contents +

+

Hide our storage from a mob.

+

@param mob/toshow the mob to hide the storage from

item_insertion_feedback +

+

Provides visual feedback in chat for an item insertion

+

@param mob/user the user who is inserting the item +@param obj/item/thing the item we're inserting +@param override skip feedback, only do animation check

mass_empty +

+

Signal handler for remove_all()

on_attack +

+

Signal handler for whenever we're attacked by a mob.

on_attackby +

+

Signal handler for whenever we're attacked by an object.

on_emp_act +

+

Signal handler for the emp_act() of all contents

on_mousedrop_onto +

+

Signal handler for whenever we drag the storage somewhere.

on_mousedropped_onto +

+

Signal handler for whenever something gets mouse-dropped onto us.

on_preattack +

+

Signal handler for preattack from an object.

open_storage +

+

Opens the storage to the mob, showing them the contents to their UI.

open_storage_attackby_secondary +

+

Signal handler for when we get attacked with secondary click by an item.

open_storage_on_signal +

+

Signal handler to open up the storage when we receive a signal.

orient_item_boxes +

+

Generates the actual UI objects, their location, and alignments whenever we open storage up.

orient_to_hud +

+

Updates the storage UI to fit all objects inside storage.

process_numerical_display +

+

Generates the numbers on an item in storage to show stacking.

put_in_hands_async +

+

Async version of putting something into a mobs hand.

refresh_views +

+

Refresh the views of everyone currently viewing the storage.

remove_all +

+

Removes everything inside of our storage

+

@param atom/target where we're placing the item

remove_and_refresh +

+

Resets an object, removes it from our screen, and refreshes the view.

+

@param atom/movable/gone the object leaving our storage

remove_single +

+

Allows a mob to attempt to remove a single item from the storage +Allows for hooks into things like removal delays

+

@param mob/removing the mob doing the removing +@param obj/item/thing the object we're removing +@param atom/newLoc where we're placing the item +@param silent if TRUE, we won't play any exit sounds

remove_type +

+

Removes only a specific type of item from our storage

+

@param type the type of item to remove +@param amount how many we should attempt to pick up at one time +@param check_adjacent if TRUE, we'll check adjacent locations for the item type +@param force if TRUE, we'll bypass the check_adjacent check all together +@param mob/user the user who is removing the items +@param list/inserted a list passed to attempt_remove for ultimate removal

reset_item +

+

Refreshes and item to be put back into the real world, out of storage.

return_inv +

+

Recursive proc to get absolutely EVERYTHING inside a storage item, including the contents of inner items.

+

@param list/interface the list we're adding objects to +@param recursive whether or not we're checking inside of inner items

set_real_location +

+

Sets where items are physically being stored in the case it shouldn't be on the parent.

+

@param atom/real the new real location of the datum +@param should_drop if TRUE, all the items in the old real location will be dropped

show_contents +

+

Show our storage to a mob.

+

@param mob/toshow the mob to show the storage to

+

@returns FALSE if the show failed, TRUE otherwise

toggle_collection_mode +

+

Toggles the collectmode of our storage.

+

@param mob/toshow the mob toggling us

update_actions +

+

Updates the action button for toggling collectmode.

+ + + diff --git a/datum/storage/fish_case.html b/datum/storage/fish_case.html new file mode 100644 index 00000000000..98ca4bb5c87 --- /dev/null +++ b/datum/storage/fish_case.html @@ -0,0 +1,37 @@ + + + + + + + /datum/storage/fish_case - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

fish_case + + + +

+ + +

Procs

handle_enterChange the size of the storage item to match the inserted item's +Because of that, we also check if conditions to keep it inside another storage or pockets are still met.

Proc Details

handle_enter +

+

Change the size of the storage item to match the inserted item's +Because of that, we also check if conditions to keep it inside another storage or pockets are still met.

+ + + diff --git a/datum/storage/rped.html b/datum/storage/rped.html new file mode 100644 index 00000000000..5a7275768a6 --- /dev/null +++ b/datum/storage/rped.html @@ -0,0 +1,64 @@ + + + + + + + /datum/storage/rped - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rped + + + +

+ + + + + +

Vars

allowed_bluespace_typeswe check if the user is trying to insert any of these bluespace crystal types into the RPED +at any point the total sum of all these types in the RPED must be <= MAX_STACK_PICKUP
allowed_material_typesas of now only these stack components are required to build machines like[thermomaachine,crystallizer,electrolyzer] +so we limit the rped to pick up only these stack types so players dont cheat and use this as a general storage medium

Procs

remove_lowest_tierSearches through everything currently in storage, calculates the lowest tier of parts inside of it, +and then dumps out every part that has the equal tier of parts. Likely a worse implementation of remove_all.
rped_mass_emptyoverridden mass_empty, so as to dump only the lowest tier of parts currently in the RPED
+

Var Details

allowed_bluespace_types + + + + +

+

we check if the user is trying to insert any of these bluespace crystal types into the RPED +at any point the total sum of all these types in the RPED must be <= MAX_STACK_PICKUP

allowed_material_types + + + + +

+

as of now only these stack components are required to build machines like[thermomaachine,crystallizer,electrolyzer] +so we limit the rped to pick up only these stack types so players dont cheat and use this as a general storage medium

Proc Details

remove_lowest_tier +

+

Searches through everything currently in storage, calculates the lowest tier of parts inside of it, +and then dumps out every part that has the equal tier of parts. Likely a worse implementation of remove_all.

+

@param atom/target where we're placing the item

rped_mass_empty +

+

overridden mass_empty, so as to dump only the lowest tier of parts currently in the RPED

+ + + diff --git a/datum/strip_menu.html b/datum/strip_menu.html new file mode 100644 index 00000000000..e9d156067cd --- /dev/null +++ b/datum/strip_menu.html @@ -0,0 +1,50 @@ + + + + + + + /datum/strip_menu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

strip_menu + + + +

+ +

A representation of the stripping UI

+ + +

Vars

interactionsA lazy list of user mobs to a list of strip menu keys that they're interacting with
ownerThe owner who has the element /datum/element/strippable
strippableThe strippable element itself
+

Var Details

interactions + + + + +

+

A lazy list of user mobs to a list of strip menu keys that they're interacting with

owner + + + + +

+

The owner who has the element /datum/element/strippable

strippable + + + + +

+

The strippable element itself

+ + + diff --git a/datum/strippable_item.html b/datum/strippable_item.html new file mode 100644 index 00000000000..57c5f90a33c --- /dev/null +++ b/datum/strippable_item.html @@ -0,0 +1,144 @@ + + + + + + + /datum/strippable_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

strippable_item + + + +

+ +

A representation of an item that can be stripped down

+ + + + + + + + + + + + +

Vars

keyThe STRIPPABLE_ITEM_* key
show_visible_messageShould we give feedback messages?

Procs

alternate_actionPerforms an alternative action on this strippable_item. +has_alternate_action needs to be TRUE. +Returns FALSE if blocked by signal, TRUE otherwise.
finish_equipThe proc that places the item on the source. This should not yield.
finish_unequipThe proc that unequips the item from the source. This should not yield.
get_alternate_actionReturns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.
get_itemGets the item from the given source.
get_obscuringReturns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.
should_showReturns whether or not this item should show.
start_equipStart the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
start_unequipStart the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.
try_equipTries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.
try_unequipTries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.
+

Var Details

key + + + + +

+

The STRIPPABLE_ITEM_* key

show_visible_message + + + + +

+

Should we give feedback messages?

Proc Details

alternate_action +

+

Performs an alternative action on this strippable_item. +has_alternate_action needs to be TRUE. +Returns FALSE if blocked by signal, TRUE otherwise.

finish_equip +

+

The proc that places the item on the source. This should not yield.

finish_unequip +

+

The proc that unequips the item from the source. This should not yield.

get_alternate_action +

+

Returns the ID of this item's strippable action. +Return null if there is no alternate action. +Any return value of this must be in StripMenu.

get_item +

+

Gets the item from the given source.

get_obscuring +

+

Returns a STRIPPABLE_OBSCURING_* define to report on whether or not this is obscured.

should_show +

+

Returns whether or not this item should show.

start_equip +

+

Start the equipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

start_unequip +

+

Start the unequipping process. This is the proc you should yield in. +Returns TRUE/FALSE depending on if it is allowed.

try_equip +

+

Tries to equip the item onto the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if an item CAN be equipped. +It should not perform the equipping itself.

try_unequip +

+

Tries to unequip the item from the given source. +Returns TRUE/FALSE depending on if it is allowed. +This should be used for checking if it CAN be unequipped. +It should not perform the unequipping itself.

+ + + diff --git a/datum/strippable_item/hand.html b/datum/strippable_item/hand.html new file mode 100644 index 00000000000..30044a74c64 --- /dev/null +++ b/datum/strippable_item/hand.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/hand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hand + + + +

+ +

A strippable item for a hand

+

Vars

hand_indexWhich hand?
+

Var Details

hand_index + + + + +

+

Which hand?

+ + + diff --git a/datum/strippable_item/mannequin_slot.html b/datum/strippable_item/mannequin_slot.html new file mode 100644 index 00000000000..44c2d7debfb --- /dev/null +++ b/datum/strippable_item/mannequin_slot.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/mannequin_slot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mannequin_slot + + + +

+ + +

Vars

item_slotThe ITEM_SLOT_* to equip to.
+

Var Details

item_slot + + + + +

+

The ITEM_SLOT_* to equip to.

+ + + diff --git a/datum/strippable_item/mob_item_slot.html b/datum/strippable_item/mob_item_slot.html new file mode 100644 index 00000000000..3c631e7353f --- /dev/null +++ b/datum/strippable_item/mob_item_slot.html @@ -0,0 +1,43 @@ + + + + + + + /datum/strippable_item/mob_item_slot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob_item_slot + + + +

+ +

A preset for equipping items onto mob slots

+ +

Vars

item_slotThe ITEM_SLOT_* to equip to.

Procs

get_equip_delayReturns the delay of equipping this item to a mob
+

Var Details

item_slot + + + + +

+

The ITEM_SLOT_* to equip to.

Proc Details

get_equip_delay +

+

Returns the delay of equipping this item to a mob

+ + + diff --git a/datum/strippable_item/mob_item_slot/pocket.html b/datum/strippable_item/mob_item_slot/pocket.html new file mode 100644 index 00000000000..0bb5f6fe6e0 --- /dev/null +++ b/datum/strippable_item/mob_item_slot/pocket.html @@ -0,0 +1,36 @@ + + + + + + + /datum/strippable_item/mob_item_slot/pocket - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pocket + + + +

+ + +

Vars

pocket_sideWhich pocket we're referencing. Used for visible text.
+

Var Details

pocket_side + + + + +

+

Which pocket we're referencing. Used for visible text.

+ + + diff --git a/datum/summon_things_controller.html b/datum/summon_things_controller.html new file mode 100644 index 00000000000..78d6ecef375 --- /dev/null +++ b/datum/summon_things_controller.html @@ -0,0 +1,74 @@ + + + + + + + /datum/summon_things_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

summon_things_controller + + + +

+ +

The "Give everyone in the crew and also latejoins a buncha stuff" controller. +Used for summon magic and summon guns.

+ + + + + +

Vars

survivor_probabilityProb. chance someone who is given things will be made a survivalist antagonist.

Procs

can_give_toDetermins if the mob is valid to be given whatever we're handing out.
equip_all_affectedCalled manually to give out our things to all minds returned by [proc/get_affected_minds()]
equip_latejoinerCalled via signal to equip latejoin crewmembers
get_affected_mindsReturns a list of minds of all mobs affected by what we're giving out.
on_latejoinSignal proc from COMSIG_GLOB_CREWMEMBER_JOINED. +Calls give_proc_path on latejoiners a number of times (based on num_to_give_to_latejoiners)
+

Var Details

survivor_probability + + + + +

+

Prob. chance someone who is given things will be made a survivalist antagonist.

Proc Details

can_give_to +

+

Determins if the mob is valid to be given whatever we're handing out.

equip_all_affected +

+

Called manually to give out our things to all minds returned by [proc/get_affected_minds()]

equip_latejoiner +

+

Called via signal to equip latejoin crewmembers

get_affected_minds +

+

Returns a list of minds of all mobs affected by what we're giving out.

on_latejoin +

+

Signal proc from COMSIG_GLOB_CREWMEMBER_JOINED. +Calls give_proc_path on latejoiners a number of times (based on num_to_give_to_latejoiners)

+ + + diff --git a/datum/summon_things_controller/item.html b/datum/summon_things_controller/item.html new file mode 100644 index 00000000000..730e133ce59 --- /dev/null +++ b/datum/summon_things_controller/item.html @@ -0,0 +1,43 @@ + + + + + + + /datum/summon_things_controller/item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

item + + + +

+ + + +

Vars

give_proc_pathThe proc path we call on someone to equip them with stuff. Cannot function without it.
num_to_give_to_latejoinersThe number of equipment we give to latejoiners, to make sure they catch up if it was casted multiple times.
+

Var Details

give_proc_path + + + + +

+

The proc path we call on someone to equip them with stuff. Cannot function without it.

num_to_give_to_latejoiners + + + + +

+

The number of equipment we give to latejoiners, to make sure they catch up if it was casted multiple times.

+ + + diff --git a/datum/summon_things_controller/spellbook_entry.html b/datum/summon_things_controller/spellbook_entry.html new file mode 100644 index 00000000000..8abe11399cd --- /dev/null +++ b/datum/summon_things_controller/spellbook_entry.html @@ -0,0 +1,36 @@ + + + + + + + /datum/summon_things_controller/spellbook_entry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spellbook_entry + + + +

+ + +

Vars

used_entrySpellbook entry instance to hand out
+

Var Details

used_entry + + + + +

+

Spellbook entry instance to hand out

+ + + diff --git a/datum/supply_order.html b/datum/supply_order.html new file mode 100644 index 00000000000..01e921c35eb --- /dev/null +++ b/datum/supply_order.html @@ -0,0 +1,57 @@ + + + + + + + /datum/supply_order - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supply_order + + + +

+ + + + + +

Vars

can_be_cancelledBoolean on whether the manifest can be cancelled through cargo consoles.
charge_on_purchaseIf set to FALSE, we won't charge when the cargo shuttle arrives with this.
department_destinationarea this order wants to reach, if not null then it will come with the deliver_first component set to this area
manifest_can_failBoolean on whether the manifest can fail or not.
+

Var Details

can_be_cancelled + + + + +

+

Boolean on whether the manifest can be cancelled through cargo consoles.

charge_on_purchase + + + + +

+

If set to FALSE, we won't charge when the cargo shuttle arrives with this.

department_destination + + + + +

+

area this order wants to reach, if not null then it will come with the deliver_first component set to this area

manifest_can_fail + + + + +

+

Boolean on whether the manifest can fail or not.

+ + + diff --git a/datum/supply_pack.html b/datum/supply_pack.html new file mode 100644 index 00000000000..3f7c5f3c5fd --- /dev/null +++ b/datum/supply_pack.html @@ -0,0 +1,176 @@ + + + + + + + /datum/supply_pack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

supply_pack + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

accessWhat access is required to open the crate when spawned?
access_anyIf someone with any of the following accesses in a list can open this cargo pack crate.
access_viewWho can view this supply_pack and with what access.
admin_spawnedWas this spawned through an admin proc?
containsA list of items that are spawned in the crate of the supply pack.
contrabandIs this supply pack purchasable outside of the standard purchasing band? Contraband is available by multitooling the cargo purchasing board.
costCost of the crate. DO NOT GO ANY LOWER THAN X1.4 the "CARGO_CRATE_VALUE" value if using regular crates, or infinite profit will be possible!
crate_nameWhat is the name of the crate that is spawned with the crate's contents??
crate_typeWhat typepath of crate do you spawn?
dangerousShould we message admins?
descThe description shown on the cargo purchasing UI. No desc by default.
drop_pod_onlyOnly usable by the Bluespace Drop Pod via the express cargo console
goodyGoodies can only be purchased by private accounts and can have coupons apply to them. They also come in a lockbox instead of a full crate, so the 700 min doesn't apply
groupThe group that the supply pack is sorted into within the cargo purchasing UI.
hiddenIs this cargo supply pack visible to the cargo purchasing UI.
idWhen spawning a gas canistor, what kind of gas type are we spawning?
nameThe name of the supply pack, as listed on th cargo purchasing UI.
specialEvent/Station Goals/Admin enabled packs
special_enabledWhen a cargo pack can be unlocked by special events (as seen in special), this toggles if it's been enabled in the round yet (For example, after the station alert, we can now enable buying the station goal pack).
special_podIf this pack comes shipped in a specific pod when launched from the express console

Procs

generate_supply_packsFor generating supply packs at runtime. Returns a list of supply packs to use instead of this one.
+

Var Details

access + + + + +

+

What access is required to open the crate when spawned?

access_any + + + + +

+

If someone with any of the following accesses in a list can open this cargo pack crate.

access_view + + + + +

+

Who can view this supply_pack and with what access.

admin_spawned + + + + +

+

Was this spawned through an admin proc?

contains + + + + +

+

A list of items that are spawned in the crate of the supply pack.

contraband + + + + +

+

Is this supply pack purchasable outside of the standard purchasing band? Contraband is available by multitooling the cargo purchasing board.

cost + + + + +

+

Cost of the crate. DO NOT GO ANY LOWER THAN X1.4 the "CARGO_CRATE_VALUE" value if using regular crates, or infinite profit will be possible!

crate_name + + + + +

+

What is the name of the crate that is spawned with the crate's contents??

crate_type + + + + +

+

What typepath of crate do you spawn?

dangerous + + + + +

+

Should we message admins?

desc + + + + +

+

The description shown on the cargo purchasing UI. No desc by default.

drop_pod_only + + + + +

+

Only usable by the Bluespace Drop Pod via the express cargo console

goody + + + + +

+

Goodies can only be purchased by private accounts and can have coupons apply to them. They also come in a lockbox instead of a full crate, so the 700 min doesn't apply

group + + + + +

+

The group that the supply pack is sorted into within the cargo purchasing UI.

hidden + + + + +

+

Is this cargo supply pack visible to the cargo purchasing UI.

id + + + + +

+

When spawning a gas canistor, what kind of gas type are we spawning?

name + + + + +

+

The name of the supply pack, as listed on th cargo purchasing UI.

special + + + + +

+

Event/Station Goals/Admin enabled packs

special_enabled + + + + +

+

When a cargo pack can be unlocked by special events (as seen in special), this toggles if it's been enabled in the round yet (For example, after the station alert, we can now enable buying the station goal pack).

special_pod + + + + +

+

If this pack comes shipped in a specific pod when launched from the express console

Proc Details

generate_supply_packs +

+

For generating supply packs at runtime. Returns a list of supply packs to use instead of this one.

+ + + diff --git a/datum/supply_pack/market_materials.html b/datum/supply_pack/market_materials.html new file mode 100644 index 00000000000..91bc3331c31 --- /dev/null +++ b/datum/supply_pack/market_materials.html @@ -0,0 +1,43 @@ + + + + + + + /datum/supply_pack/market_materials - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

market_materials + + + +

+ +

todo: make this a supply_pack/custom. Drop pog? ohoho yes. Would be VERY fun.

+ +

Vars

amountHow many sheets of the material we are trying to buy at once?
materialWhat material we are trying to buy sheets of?
+

Var Details

amount + + + + +

+

How many sheets of the material we are trying to buy at once?

material + + + + +

+

What material we are trying to buy sheets of?

+ + + diff --git a/datum/supply_pack/misc/syndicate.html b/datum/supply_pack/misc/syndicate.html new file mode 100644 index 00000000000..6c6583d5294 --- /dev/null +++ b/datum/supply_pack/misc/syndicate.html @@ -0,0 +1,50 @@ + + + + + + + /datum/supply_pack/misc/syndicate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate + + + +

+ +

Special supply crate that generates random syndicate gear up to a determined TC value

+ + +

Vars

contents_uplink_typeWhat uplink the contents are pulled from
crate_valueTotal TC worth of contained uplink items

Procs

fillGenerate assorted uplink items, taking into account the same surplus modifiers used for surplus crates
+

Var Details

+

What uplink the contents are pulled from

crate_value + + + + +

+

Total TC worth of contained uplink items

Proc Details

fill +

+

Generate assorted uplink items, taking into account the same surplus modifiers used for surplus crates

+ + + diff --git a/datum/supply_pack/organic/pizza.html b/datum/supply_pack/organic/pizza.html new file mode 100644 index 00000000000..de953f0b126 --- /dev/null +++ b/datum/supply_pack/organic/pizza.html @@ -0,0 +1,99 @@ + + + + + + + /datum/supply_pack/organic/pizza - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pizza + + + +

+ + + + + + + + + + + +

Vars

anomalous_box_providedWhether we've provided an infinite pizza box already this shift or not.
bomb_dud_chance1 in 3 pizza bombs spawned will be a dud
bomb_pizza_chancethree percent chance for a pizza box to be the pizza bomb box
boombox_providedWhether we've provided a bomb pizza box already this shift or not.
infinite_pizza_chanceone percent chance for a pizza box to be the ininfite pizza box
pizza_typeslist of pizza that can randomly go inside of a crate, weighted by how disruptive it would be

Procs

add_anomalousadds the chance for an infinite pizza box
add_boomboxadds a chance of a pizza bomb replacing a pizza
add_normal_pizzaadds a randomized pizza from the pizza list
anomalous_pizza_reporttells crew that an infinite pizza box exists, half of the time, based on a roll in the anamolous box proc
+

Var Details

anomalous_box_provided + + + + +

+

Whether we've provided an infinite pizza box already this shift or not.

bomb_dud_chance + + + + +

+

1 in 3 pizza bombs spawned will be a dud

bomb_pizza_chance + + + + +

+

three percent chance for a pizza box to be the pizza bomb box

boombox_provided + + + + +

+

Whether we've provided a bomb pizza box already this shift or not.

infinite_pizza_chance + + + + +

+

one percent chance for a pizza box to be the ininfite pizza box

pizza_types + + + + +

+

list of pizza that can randomly go inside of a crate, weighted by how disruptive it would be

Proc Details

add_anomalous +

+

adds the chance for an infinite pizza box

add_boombox +

+

adds a chance of a pizza bomb replacing a pizza

add_normal_pizza +

+

adds a randomized pizza from the pizza list

anomalous_pizza_report +

+

tells crew that an infinite pizza box exists, half of the time, based on a roll in the anamolous box proc

+ + + diff --git a/datum/surgery.html b/datum/surgery.html new file mode 100644 index 00000000000..230b17a53f3 --- /dev/null +++ b/datum/surgery.html @@ -0,0 +1,164 @@ + + + + + + + /datum/surgery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

surgery + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

descThe description of the surgery, what it does.
locationThe bodypart this specific surgery is being performed on.
nameThe name of the surgery operation
operated_bodypartThe specific bodypart being operated on.
operated_woundThe wound datum that is being operated on.
organ_to_manipulateOrgan being directly manipulated, used for checking if the organ is still in the body after surgery has begun
possible_locsThe possible bodyparts that the surgery can be started on.
replaced_bytypepath of a surgery that will, once researched, replace this surgery in the operating menu.
requires_bodypart_typeThe types of bodyparts that this surgery can have performed on it. Used for augmented surgeries.
requires_techWhether the surgery requires research to do. You need to add a design if using this!
speed_modifierThe speed modifier given to the surgery through external means.
statusThe surgery step we're currently on, increases each time we do a step.
step_in_progressBoolean on whether a surgery step is currently being done, to prevent multi-surgery.
stepsAll steps the surgery has to do to complete.
surgery_flagsFrom __DEFINES/surgery.dm +Selection: SURGERY_IGNORE_CLOTHES | SURGERY_SELF_OPERABLE | SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB | SURGERY_MORBID_CURIOSITY
targetThe person the surgery is being performed on. Funnily enough, it isn't always a carbon.
target_mobtypesMobs that are valid to have surgery performed on them.
targetable_woundTypes of wounds this surgery can target.

Procs

locate_operating_computerReturns a nearby operating computer linked to an operating table
+

Var Details

desc + + + + +

+

The description of the surgery, what it does.

location + + + + +

+

The bodypart this specific surgery is being performed on.

name + + + + +

+

The name of the surgery operation

operated_bodypart + + + + +

+

The specific bodypart being operated on.

operated_wound + + + + +

+

The wound datum that is being operated on.

organ_to_manipulate + + + + +

+

Organ being directly manipulated, used for checking if the organ is still in the body after surgery has begun

possible_locs + + + + +

+

The possible bodyparts that the surgery can be started on.

replaced_by + + + + +

+

typepath of a surgery that will, once researched, replace this surgery in the operating menu.

requires_bodypart_type + + + + +

+

The types of bodyparts that this surgery can have performed on it. Used for augmented surgeries.

requires_tech + + + + +

+

Whether the surgery requires research to do. You need to add a design if using this!

speed_modifier + + + + +

+

The speed modifier given to the surgery through external means.

status + + + + +

+

The surgery step we're currently on, increases each time we do a step.

step_in_progress + + + + +

+

Boolean on whether a surgery step is currently being done, to prevent multi-surgery.

steps + + + + +

+

All steps the surgery has to do to complete.

surgery_flags + + + + +

+

From __DEFINES/surgery.dm +Selection: SURGERY_IGNORE_CLOTHES | SURGERY_SELF_OPERABLE | SURGERY_REQUIRE_RESTING | SURGERY_REQUIRE_LIMB | SURGERY_REQUIRES_REAL_LIMB | SURGERY_MORBID_CURIOSITY

target + + + + +

+

The person the surgery is being performed on. Funnily enough, it isn't always a carbon.

target_mobtypes + + + + +

+

Mobs that are valid to have surgery performed on them.

targetable_wound + + + + +

+

Types of wounds this surgery can target.

Proc Details

locate_operating_computer +

+

Returns a nearby operating computer linked to an operating table

+ + + diff --git a/datum/surgery/revival.html b/datum/surgery/revival.html new file mode 100644 index 00000000000..1e998087758 --- /dev/null +++ b/datum/surgery/revival.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery/revival - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

revival + + + +

+ + +

Procs

is_valid_targetExtra checks which can be overridden

Proc Details

is_valid_target +

+

Extra checks which can be overridden

+ + + diff --git a/datum/surgery_step.html b/datum/surgery_step.html new file mode 100644 index 00000000000..2f7aa1d9eaa --- /dev/null +++ b/datum/surgery_step.html @@ -0,0 +1,41 @@ + + + + + + + /datum/surgery_step - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

surgery_step + + + +

+ + +

Procs

display_painSends a pain message to the target, including a chance of screaming.

Proc Details

display_pain +

+

Sends a pain message to the target, including a chance of screaming.

+

Arguments:

+
+ + + diff --git a/datum/surgery_step/debride.html b/datum/surgery_step/debride.html new file mode 100644 index 00000000000..c57b047f13d --- /dev/null +++ b/datum/surgery_step/debride.html @@ -0,0 +1,50 @@ + + + + + + + /datum/surgery_step/debride - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

debride + + + +

+ +

Debride

+ + +

Vars

infestation_removedHow much infestation is removed per step (positive number)
sanitization_addedHow much sanitization is added per step

Procs

get_progressTo give the surgeon a heads up how much work they have ahead of them
+

Var Details

infestation_removed + + + + +

+

How much infestation is removed per step (positive number)

sanitization_added + + + + +

+

How much sanitization is added per step

Proc Details

get_progress +

+

To give the surgeon a heads up how much work they have ahead of them

+ + + diff --git a/datum/surgery_step/dress.html b/datum/surgery_step/dress.html new file mode 100644 index 00000000000..6453f12739b --- /dev/null +++ b/datum/surgery_step/dress.html @@ -0,0 +1,43 @@ + + + + + + + /datum/surgery_step/dress - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dress + + + +

+ +

Dressing burns

+ +

Vars

flesh_healing_addedHow much flesh healing is added
sanitization_addedHow much sanitization is added
+

Var Details

flesh_healing_added + + + + +

+

How much flesh healing is added

sanitization_added + + + + +

+

How much sanitization is added

+ + + diff --git a/datum/surgery_step/experimental_dissection.html b/datum/surgery_step/experimental_dissection.html new file mode 100644 index 00000000000..ecaf5aea6a5 --- /dev/null +++ b/datum/surgery_step/experimental_dissection.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/experimental_dissection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

experimental_dissection + + + +

+ + +

Procs

check_valueCalculates how many research points dissecting 'target' is worth.

Proc Details

check_value +

+

Calculates how many research points dissecting 'target' is worth.

+ + + diff --git a/datum/surgery_step/filter_blood.html b/datum/surgery_step/filter_blood.html new file mode 100644 index 00000000000..c8ba4013bec --- /dev/null +++ b/datum/surgery_step/filter_blood.html @@ -0,0 +1,42 @@ + + + + + + + /datum/surgery_step/filter_blood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

filter_blood + + + +

+ + +

Procs

has_filterable_chemsChecks if the mob contains chems we can filter

Proc Details

has_filterable_chems +

+

Checks if the mob contains chems we can filter

+

If the blood filter's whitelist is empty this checks if the mob contains any chems +If the whitelist contains chems it checks if any chems in the mob match chems in the whitelist

+

Arguments:

+
+ + + diff --git a/datum/surgery_step/heal.html b/datum/surgery_step/heal.html new file mode 100644 index 00000000000..8bdd4644cec --- /dev/null +++ b/datum/surgery_step/heal.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/heal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

heal + + + +

+ + +

Procs

get_progressReturns a string letting the surgeon know roughly how much longer the surgery is estimated to take at the going rate

Proc Details

get_progress +

+

Returns a string letting the surgeon know roughly how much longer the surgery is estimated to take at the going rate

+ + + diff --git a/datum/surgery_step/heal/brute.html b/datum/surgery_step/heal/brute.html new file mode 100644 index 00000000000..0624849715f --- /dev/null +++ b/datum/surgery_step/heal/brute.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/heal/brute - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

brute + + + +

+ + +

Procs

get_progressBRUTE STEPS

Proc Details

get_progress +

+

BRUTE STEPS

+ + + diff --git a/datum/surgery_step/heal/burn.html b/datum/surgery_step/heal/burn.html new file mode 100644 index 00000000000..8975867f9ea --- /dev/null +++ b/datum/surgery_step/heal/burn.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/heal/burn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

burn + + + +

+ + +

Procs

get_progressBURN STEPS

Proc Details

get_progress +

+

BURN STEPS

+ + + diff --git a/datum/surgery_step/heal/combo.html b/datum/surgery_step/heal/combo.html new file mode 100644 index 00000000000..e86d2ce219d --- /dev/null +++ b/datum/surgery_step/heal/combo.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/heal/combo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

combo + + + +

+ + +

Procs

get_progressCOMBO STEPS

Proc Details

get_progress +

+

COMBO STEPS

+ + + diff --git a/datum/surgery_step/manipulate_organs.html b/datum/surgery_step/manipulate_organs.html new file mode 100644 index 00000000000..61bbd63f0e1 --- /dev/null +++ b/datum/surgery_step/manipulate_organs.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/manipulate_organs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

manipulate_organs + + + +

+ +

Organ manipulation base class. Do not use, it wont work. Use it's subtypes

+

Procs

can_use_organYou can never use this MUHAHAHAHAHAHAH (because its the byond version of abstract)

Proc Details

can_use_organ +

+

You can never use this MUHAHAHAHAHAHAH (because its the byond version of abstract)

+ + + diff --git a/datum/surgery_step/manipulate_organs/external.html b/datum/surgery_step/manipulate_organs/external.html new file mode 100644 index 00000000000..6d7c4b1b0fe --- /dev/null +++ b/datum/surgery_step/manipulate_organs/external.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/manipulate_organs/external - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

external + + + +

+ +

Surgery step for external organs/features, like tails, frills, wings etc

+

Procs

can_use_organOnly operate on external organs

Proc Details

can_use_organ +

+

Only operate on external organs

+ + + diff --git a/datum/surgery_step/manipulate_organs/internal.html b/datum/surgery_step/manipulate_organs/internal.html new file mode 100644 index 00000000000..bea3fe96a98 --- /dev/null +++ b/datum/surgery_step/manipulate_organs/internal.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/manipulate_organs/internal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

internal + + + +

+ +

Surgery step for internal organs, like hearts and brains

+

Procs

can_use_organonly operate on internal organs

Proc Details

can_use_organ +

+

only operate on internal organs

+ + + diff --git a/datum/surgery_step/revive.html b/datum/surgery_step/revive.html new file mode 100644 index 00000000000..97864c4cfe0 --- /dev/null +++ b/datum/surgery_step/revive.html @@ -0,0 +1,35 @@ + + + + + + + /datum/surgery_step/revive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

revive + + + +

+ + +

Procs

on_revivedCalled when you have been successfully raised from the dead

Proc Details

on_revived +

+

Called when you have been successfully raised from the dead

+ + + diff --git a/datum/symptom.html b/datum/symptom.html new file mode 100644 index 00000000000..7e30689d4f4 --- /dev/null +++ b/datum/symptom.html @@ -0,0 +1,191 @@ + + + + + + + /datum/symptom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

symptom + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

base_message_chanceBase chance of sending warning messages, so it can be modified
descBasic symptom description
idThe hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!
illnessPotential illness name caused by the symptom
levelThe type level of the symptom. Higher is harder to generate.
naturally_occuringIf this symptom can appear from /datum/disease/advance/GenerateSymptoms()
neuteredA neutered symptom has no effect, and only affects statistics.
next_activationTicks between each activation
powerCan be used to multiply virus effects
required_organIf the symptom requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present
resistanceHow the symptom affects the disease's resistance stat, positive values make it harder to cure
severityThe severity level of the symptom. Higher is more dangerous.
stage_speedHow the symptom affects the disease's stage speed stat, positive values cause faster stage progression
stealthHow the symptom affects the disease's stealth stat, positive values make it less noticeable
suppress_warningIf the early warnings are suppressed or not
threshold_descsDescriptions of threshold effects
transmittableHow the symptom affects the disease's transmissibility

Procs

EndCalled when the advance disease is going to be deleted or when the advance disease stops processing.
OnAddOverload when a symptom needs to be active before processing, like changing biotypes.
OnRemoveOverload for running after processing.
StartCalled when processing of the advance disease that holds this symptom infects a host and upon each Refresh() of that advance disease.
can_generate_randomlyCheck if we can generate randomly
get_symptom_dataReturns a list for all of the traits of this symptom.
+

Var Details

base_message_chance + + + + +

+

Base chance of sending warning messages, so it can be modified

desc + + + + +

+

Basic symptom description

id + + + + +

+

The hash tag for our diseases, we will add it up with our other symptoms to get a unique id! ID MUST BE UNIQUE!!!

illness + + + + +

+

Potential illness name caused by the symptom

level + + + + +

+

The type level of the symptom. Higher is harder to generate.

naturally_occuring + + + + +

+

If this symptom can appear from /datum/disease/advance/GenerateSymptoms()

neutered + + + + +

+

A neutered symptom has no effect, and only affects statistics.

next_activation + + + + +

+

Ticks between each activation

power + + + + +

+

Can be used to multiply virus effects

required_organ + + + + +

+

If the symptom requires an organ for the effects to function, robotic organs are immune to disease unless inorganic biology symptom is present

resistance + + + + +

+

How the symptom affects the disease's resistance stat, positive values make it harder to cure

severity + + + + +

+

The severity level of the symptom. Higher is more dangerous.

stage_speed + + + + +

+

How the symptom affects the disease's stage speed stat, positive values cause faster stage progression

stealth + + + + +

+

How the symptom affects the disease's stealth stat, positive values make it less noticeable

suppress_warning + + + + +

+

If the early warnings are suppressed or not

threshold_descs + + + + +

+

Descriptions of threshold effects

transmittable + + + + +

+

How the symptom affects the disease's transmissibility

Proc Details

End +

+

Called when the advance disease is going to be deleted or when the advance disease stops processing.

OnAdd +

+

Overload when a symptom needs to be active before processing, like changing biotypes.

OnRemove +

+

Overload for running after processing.

Start +

+

Called when processing of the advance disease that holds this symptom infects a host and upon each Refresh() of that advance disease.

can_generate_randomly +

+

Check if we can generate randomly

get_symptom_data +

+

Returns a list for all of the traits of this symptom.

+

@returns {list} symptom - The desired symptoms as a list.

+ + + diff --git a/datum/symptom/beard.html b/datum/symptom/beard.html new file mode 100644 index 00000000000..bc512b873de --- /dev/null +++ b/datum/symptom/beard.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/beard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

beard + + + +

+ +
+ + + diff --git a/datum/symptom/chills.html b/datum/symptom/chills.html new file mode 100644 index 00000000000..3c4a0463189 --- /dev/null +++ b/datum/symptom/chills.html @@ -0,0 +1,63 @@ + + + + + + + /datum/symptom/chills - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

chills + + + +

+ + + + +

Procs

Endremove the body temp change when removing symptom
on_stage_changeUpdate the body temp change based on the new stage
set_body_tempset_body_temp Sets the body temp change

Proc Details

End +

+

remove the body temp change when removing symptom

on_stage_change +

+

Update the body temp change based on the new stage

set_body_temp +

+

set_body_temp Sets the body temp change

+

Sets the body temp change to the mob based on the stage and resistance of the disease +arguments:

+
+ + + diff --git a/datum/symptom/choking.html b/datum/symptom/choking.html new file mode 100644 index 00000000000..453fe1ebc4f --- /dev/null +++ b/datum/symptom/choking.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/choking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

choking + + + +

+ +

*Choking

+
+ + + diff --git a/datum/symptom/confusion.html b/datum/symptom/confusion.html new file mode 100644 index 00000000000..43597130eb6 --- /dev/null +++ b/datum/symptom/confusion.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/confusion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

confusion + + + +

+ +

*Confusion

+
+ + + diff --git a/datum/symptom/cough.html b/datum/symptom/cough.html new file mode 100644 index 00000000000..f75aa86810d --- /dev/null +++ b/datum/symptom/cough.html @@ -0,0 +1,51 @@ + + + + + + + /datum/symptom/cough - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cough + + + +

+ +

*Coughing

+ + +

Vars

cough_cooldownemote cooldowns
off_cooldown_coughedif FALSE, there is a percentage chance that the mob will emote coughing while cough_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown cough occurs.
+

Var Details

cough_cooldown + + + + +

+

emote cooldowns

off_cooldown_coughed + + + + +

+

if FALSE, there is a percentage chance that the mob will emote coughing while cough_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown cough occurs.

+ + + diff --git a/datum/symptom/deafness.html b/datum/symptom/deafness.html new file mode 100644 index 00000000000..9db9fcfb69a --- /dev/null +++ b/datum/symptom/deafness.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/deafness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

deafness + + + +

+ +

*Deafness

+
+ + + diff --git a/datum/symptom/disfiguration.html b/datum/symptom/disfiguration.html new file mode 100644 index 00000000000..b30e014dc07 --- /dev/null +++ b/datum/symptom/disfiguration.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/disfiguration - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

disfiguration + + + +

+ +

*Disfiguration

+
+ + + diff --git a/datum/symptom/dizzy.html b/datum/symptom/dizzy.html new file mode 100644 index 00000000000..772f846c784 --- /dev/null +++ b/datum/symptom/dizzy.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/dizzy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

dizzy + + + +

+ +

*Dizziness

+
+ + + diff --git a/datum/symptom/fever.html b/datum/symptom/fever.html new file mode 100644 index 00000000000..264dc587721 --- /dev/null +++ b/datum/symptom/fever.html @@ -0,0 +1,63 @@ + + + + + + + /datum/symptom/fever - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

fever + + + +

+ +

*Fever

+ + + +

Procs

Endremove the body temp change when removing symptom
on_stage_changeUpdate the body temp change based on the new stage
set_body_tempset_body_temp Sets the body temp change

Proc Details

End +

+

remove the body temp change when removing symptom

on_stage_change +

+

Update the body temp change based on the new stage

set_body_temp +

+

set_body_temp Sets the body temp change

+

Sets the body temp change to the mob based on the stage and resistance of the disease +arguments:

+
+ + + diff --git a/datum/symptom/fire.html b/datum/symptom/fire.html new file mode 100644 index 00000000000..cb8275a411f --- /dev/null +++ b/datum/symptom/fire.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/fire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

fire + + + +

+ +

*Spontaneous Combustion

+
+ + + diff --git a/datum/symptom/heal/plasma.html b/datum/symptom/heal/plasma.html new file mode 100644 index 00000000000..201d98fbe6d --- /dev/null +++ b/datum/symptom/heal/plasma.html @@ -0,0 +1,39 @@ + + + + + + + /datum/symptom/heal/plasma - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

plasma + + + +

+ + +

Procs

Healthe amount of mols in a breath is significantly lower than in the environment so we are just going to use the tank's +distribution pressure as an abstraction rather than calculate it using the ideal gas equation. +balanced around a tank set to 4kpa = about 0.2 healing power. maxes out at 0.75 healing power, or 15kpa.

Proc Details

Heal +

+

the amount of mols in a breath is significantly lower than in the environment so we are just going to use the tank's +distribution pressure as an abstraction rather than calculate it using the ideal gas equation. +balanced around a tank set to 4kpa = about 0.2 healing power. maxes out at 0.75 healing power, or 15kpa.

+ + + diff --git a/datum/symptom/itching.html b/datum/symptom/itching.html new file mode 100644 index 00000000000..549ca16b822 --- /dev/null +++ b/datum/symptom/itching.html @@ -0,0 +1,43 @@ + + + + + + + /datum/symptom/itching - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

itching + + + +

+ + + +

Vars

itching_cooldownemote cooldowns
off_cooldown_scratchedif FALSE, there is a percentage chance that the mob will emote scratching while itching_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown scratch occurs.
+

Var Details

itching_cooldown + + + + +

+

emote cooldowns

off_cooldown_scratched + + + + +

+

if FALSE, there is a percentage chance that the mob will emote scratching while itching_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown scratch occurs.

+ + + diff --git a/datum/symptom/sneeze.html b/datum/symptom/sneeze.html new file mode 100644 index 00000000000..b0c15d5c994 --- /dev/null +++ b/datum/symptom/sneeze.html @@ -0,0 +1,43 @@ + + + + + + + /datum/symptom/sneeze - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sneeze + + + +

+ + + +

Vars

off_cooldown_sneezedif FALSE, there is a percentage chance that the mob will emote sneezing while sneeze_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown sneeze occurs.
sneeze_cooldownEmote cooldowns
+

Var Details

off_cooldown_sneezed + + + + +

+

if FALSE, there is a percentage chance that the mob will emote sneezing while sneeze_cooldown is on cooldown. If TRUE, won't emote again until after the off cooldown sneeze occurs.

sneeze_cooldown + + + + +

+

Emote cooldowns

+ + + diff --git a/datum/symptom/visionloss.html b/datum/symptom/visionloss.html new file mode 100644 index 00000000000..595bf7540b2 --- /dev/null +++ b/datum/symptom/visionloss.html @@ -0,0 +1,36 @@ + + + + + + + /datum/symptom/visionloss - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

visionloss + + + +

+ + +

Vars

remove_eyesAt max stage: If FALSE, cause blindness. If TRUE, cause their eyes to fall out.
+

Var Details

remove_eyes + + + + +

+

At max stage: If FALSE, cause blindness. If TRUE, cause their eyes to fall out.

+ + + diff --git a/datum/syndicate_contract.html b/datum/syndicate_contract.html new file mode 100644 index 00000000000..56b1898d37a --- /dev/null +++ b/datum/syndicate_contract.html @@ -0,0 +1,97 @@ + + + + + + + /datum/syndicate_contract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate_contract + + + +

+ + + + + + + + + + +

Vars

contractThe related Objective datum for the contract, holding the target and such.
idThe 'id' of this particular contract. Used to keep track of statuses from TGUI.
payout_typeThe level of payout, which affects the TC we get paid on completion.
ransomHow much we will pay out upon completion. This is not the TC completion, it's typically credits.
statusThe current status of the contract. Starts off by default.
target_rankThe job position of the target.
victim_belongingsList of everything found on the victim at the time of contracting, used to return their stuff afterwards.
wanted_messageFlavortext wanted message for the person we're after.

Procs

handle_victim_experiencehandle_victim_experience
+

Var Details

contract + + + + +

+

The related Objective datum for the contract, holding the target and such.

id + + + + +

+

The 'id' of this particular contract. Used to keep track of statuses from TGUI.

payout_type + + + + +

+

The level of payout, which affects the TC we get paid on completion.

ransom + + + + +

+

How much we will pay out upon completion. This is not the TC completion, it's typically credits.

status + + + + +

+

The current status of the contract. Starts off by default.

target_rank + + + + +

+

The job position of the target.

victim_belongings + + + + +

+

List of everything found on the victim at the time of contracting, used to return their stuff afterwards.

wanted_message + + + + +

+

Flavortext wanted message for the person we're after.

Proc Details

handle_victim_experience +

+

handle_victim_experience

+

Handles the effects given to victims upon being contracted. +We heal them up and cause them immersive effects, just for fun. +Args: +victim - The person we're harassing +level - The current stage of harassement they are facing. This increases by itself, looping until finished.

+ + + diff --git a/datum/targeting_strategy.html b/datum/targeting_strategy.html new file mode 100644 index 00000000000..5566c070ce1 --- /dev/null +++ b/datum/targeting_strategy.html @@ -0,0 +1,43 @@ + + + + + + + /datum/targeting_strategy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

targeting_strategy + + + +

+ +

Datum for basic mobs to define what they can attack.GET_TARGETING_STRATEGY((/[^,]*)), +Global, just like ai_behaviors

+ +

Procs

can_attackReturns true or false depending on if the target can be attacked by the mob
find_hidden_mobsReturns something the target might be hiding inside of

Proc Details

can_attack +

+

Returns true or false depending on if the target can be attacked by the mob

find_hidden_mobs +

+

Returns something the target might be hiding inside of

+ + + diff --git a/datum/targeting_strategy/basic.html b/datum/targeting_strategy/basic.html new file mode 100644 index 00000000000..9836be368b3 --- /dev/null +++ b/datum/targeting_strategy/basic.html @@ -0,0 +1,64 @@ + + + + + + + /datum/targeting_strategy/basic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basic + + + +

+ + + + + + +

Vars

check_factions_exactlyWhen we do our basic faction check, do we look for exact faction matches?
ignore_sightWhether we care for seeing the target or not
minimum_stat_keyBlackboard key containing the minimum stat of a living mob to target
target_wounded_keyIf this blackboard key is TRUE, makes us only target wounded mobs

Procs

faction_checkReturns true if the mob and target share factions
+

Var Details

check_factions_exactly + + + + +

+

When we do our basic faction check, do we look for exact faction matches?

ignore_sight + + + + +

+

Whether we care for seeing the target or not

minimum_stat_key + + + + +

+

Blackboard key containing the minimum stat of a living mob to target

target_wounded_key + + + + +

+

If this blackboard key is TRUE, makes us only target wounded mobs

Proc Details

faction_check +

+

Returns true if the mob and target share factions

+ + + diff --git a/datum/targeting_strategy/basic/holding_object.html b/datum/targeting_strategy/basic/holding_object.html new file mode 100644 index 00000000000..16caa0c7efe --- /dev/null +++ b/datum/targeting_strategy/basic/holding_object.html @@ -0,0 +1,45 @@ + + + + + + + /datum/targeting_strategy/basic/holding_object - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

holding_object + + + +

+ +

Find mobs who are holding the bb configurable object type

+

This is an extension of basic targeting behaviour, that allows you to +only target the mob if they have a specific item in their hand.

+ +

Vars

target_item_keyBB key that holds the target typepath to use

Procs

can_attackReturns true or false depending on if the target can be attacked by the mob
+

Var Details

target_item_key + + + + +

+

BB key that holds the target typepath to use

Proc Details

can_attack +

+

Returns true or false depending on if the target can be attacked by the mob

+ + + diff --git a/datum/targeting_strategy/basic/mook.html b/datum/targeting_strategy/basic/mook.html new file mode 100644 index 00000000000..732a8480d1f --- /dev/null +++ b/datum/targeting_strategy/basic/mook.html @@ -0,0 +1,35 @@ + + + + + + + /datum/targeting_strategy/basic/mook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mook + + + +

+ + +

Procs

faction_checkcheck for faction if not a ash walker, otherwise just attack

Proc Details

faction_check +

+

check for faction if not a ash walker, otherwise just attack

+ + + diff --git a/datum/targeting_strategy/basic/mushroom.html b/datum/targeting_strategy/basic/mushroom.html new file mode 100644 index 00000000000..47e520b72b9 --- /dev/null +++ b/datum/targeting_strategy/basic/mushroom.html @@ -0,0 +1,35 @@ + + + + + + + /datum/targeting_strategy/basic/mushroom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mushroom + + + +

+ + +

Procs

faction_checkwe only attacked another mushrooms

Proc Details

faction_check +

+

we only attacked another mushrooms

+ + + diff --git a/datum/targeting_strategy/basic/not_friends.html b/datum/targeting_strategy/basic/not_friends.html new file mode 100644 index 00000000000..caba5a18c9d --- /dev/null +++ b/datum/targeting_strategy/basic/not_friends.html @@ -0,0 +1,57 @@ + + + + + + + /datum/targeting_strategy/basic/not_friends - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

not_friends + + + +

+ +

Don't target an atom in our friends list (or turfs), anything else is fair game

+ + + +

Vars

attack_closed_turfIf we can try to closed turfs or not
attack_until_past_statStop regarding someone as a valid target once they pass this stat level, setting it to DEAD means you will happily attack corpses

Procs

can_attackReturns true or false depending on if the target can be attacked by the mob
faction_checkfriends dont care about factions
+

Var Details

attack_closed_turf + + + + +

+

If we can try to closed turfs or not

attack_until_past_stat + + + + +

+

Stop regarding someone as a valid target once they pass this stat level, setting it to DEAD means you will happily attack corpses

Proc Details

can_attack +

+

Returns true or false depending on if the target can be attacked by the mob

faction_check +

+

friends dont care about factions

+ + + diff --git a/datum/targeting_strategy/basic/of_size.html b/datum/targeting_strategy/basic/of_size.html new file mode 100644 index 00000000000..172861301f6 --- /dev/null +++ b/datum/targeting_strategy/basic/of_size.html @@ -0,0 +1,43 @@ + + + + + + + /datum/targeting_strategy/basic/of_size - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

of_size + + + +

+ +

Subtype which searches for mobs of a size relative to ours

+ +

Vars

find_smallerIf true, we will return mobs which are smaller than us. If false, larger.
inclusiveIf true, we will return mobs which are the same size as us.
+

Var Details

find_smaller + + + + +

+

If true, we will return mobs which are smaller than us. If false, larger.

inclusive + + + + +

+

If true, we will return mobs which are the same size as us.

+ + + diff --git a/datum/targeting_strategy/lightgeist.html b/datum/targeting_strategy/lightgeist.html new file mode 100644 index 00000000000..e2f7ba56df0 --- /dev/null +++ b/datum/targeting_strategy/lightgeist.html @@ -0,0 +1,43 @@ + + + + + + + /datum/targeting_strategy/lightgeist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lightgeist + + + +

+ +

Attack only mobs who have damage that we can heal, I think this is specific enough not to be a generic type

+ +

Vars

heal_biotypesTypes of mobs we can heal, not in a blackboard key because there is no point changing this at runtime because the component will already exist
required_bodytypeType of limb we can heal
+

Var Details

heal_biotypes + + + + +

+

Types of mobs we can heal, not in a blackboard key because there is no point changing this at runtime because the component will already exist

required_bodytype + + + + +

+

Type of limb we can heal

+ + + diff --git a/datum/team.html b/datum/team.html new file mode 100644 index 00000000000..42dc4140365 --- /dev/null +++ b/datum/team.html @@ -0,0 +1,99 @@ + + + + + + + /datum/team - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

team + + + +

+ + + + + + + + + + +

Vars

member_nameWhat members are considered in the roundend report (ex: 'cultists')
membersList of all members in the team
nameName of the entire Team
objectivesCommon objectives, these won't be added or removed automatically, subtypes handle this, this is here for bookkeeping purposes.
players_spawnedList of players in a team, mainly used to make sure someone cant spawn ghost roll more then once in a row
show_roundend_reportWhether the team shows up in the roundend report.

Procs

antag_listing_entryBuilds section for the team
antag_listing_nameCustom names for individuals in a team
get_team_antagsFinds all minds in a team antagonist, then checks their individual datums +Checks if that antag datum is in the team, then checks if it's the right datum +If it all passes, they're put in the list
+

Var Details

member_name + + + + +

+

What members are considered in the roundend report (ex: 'cultists')

members + + + + +

+

List of all members in the team

name + + + + +

+

Name of the entire Team

objectives + + + + +

+

Common objectives, these won't be added or removed automatically, subtypes handle this, this is here for bookkeeping purposes.

players_spawned + + + + +

+

List of players in a team, mainly used to make sure someone cant spawn ghost roll more then once in a row

show_roundend_report + + + + +

+

Whether the team shows up in the roundend report.

Proc Details

antag_listing_entry +

+

Builds section for the team

antag_listing_name +

+

Custom names for individuals in a team

get_team_antags +

+

Finds all minds in a team antagonist, then checks their individual datums +Checks if that antag datum is in the team, then checks if it's the right datum +If it all passes, they're put in the list

+

Args: +antag_datum - The antag datum path we are looking for +include_subtypes - Whether we allow suntypes of the antag_datum, otherwise it will stricly be type

+ + + diff --git a/datum/team/abductor_team.html b/datum/team/abductor_team.html new file mode 100644 index 00000000000..cdfb57a0ab0 --- /dev/null +++ b/datum/team/abductor_team.html @@ -0,0 +1,36 @@ + + + + + + + /datum/team/abductor_team - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abductor_team + + + +

+ + +

Vars

abducteesList of all brainwashed victims' minds
+

Var Details

abductees + + + + +

+

List of all brainwashed victims' minds

+ + + diff --git a/datum/team/ashwalkers.html b/datum/team/ashwalkers.html new file mode 100644 index 00000000000..058fa817bdf --- /dev/null +++ b/datum/team/ashwalkers.html @@ -0,0 +1,43 @@ + + + + + + + /datum/team/ashwalkers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ashwalkers + + + +

+ + + +

Vars

eggs_createdA list of how many eggs were created by the Necropolis
sacrifices_madeA list of "worthy" (meat-bearing) sacrifices made to the Necropolis
+

Var Details

eggs_created + + + + +

+

A list of how many eggs were created by the Necropolis

sacrifices_made + + + + +

+

A list of "worthy" (meat-bearing) sacrifices made to the Necropolis

+ + + diff --git a/datum/team/battlecruiser.html b/datum/team/battlecruiser.html new file mode 100644 index 00000000000..916621bc09d --- /dev/null +++ b/datum/team/battlecruiser.html @@ -0,0 +1,43 @@ + + + + + + + /datum/team/battlecruiser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battlecruiser + + + +

+ + + +

Vars

core_objectiveThe central objective of this battlecruiser
nukeThe assigned nuke of this team
+

Var Details

core_objective + + + + +

+

The central objective of this battlecruiser

nuke + + + + +

+

The assigned nuke of this team

+ + + diff --git a/datum/team/cult.html b/datum/team/cult.html new file mode 100644 index 00000000000..3e72e96094f --- /dev/null +++ b/datum/team/cult.html @@ -0,0 +1,127 @@ + + + + + + + /datum/team/cult - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cult + + + +

+ + + + + + + + + + + + + + + +

Vars

blood_targetThe blood mark target
blood_target_imageImage of the blood mark target
blood_target_reset_timerTimer for the blood mark expiration
cult_ascendentHas the cult asceneded, and gotten halos?
cult_leader_datumThe cult leader
cult_risenHas the cult risen, and gotten red eyes?
cult_vote_calledHas a vote been called for a leader?
narsie_summonedHas narsie been summoned yet?
reckoning_completeHas the mass teleport been used yet?
size_at_maximumHow large were we at max size.
true_cultistslist of cultists just before summoning Narsie

Procs

set_blood_targetSets a blood target for the cult.
unset_blood_targetUnsets out blood target, clearing the images from all the cultists.
unset_blood_target_and_timerUnsets our blood target when they get deleted.
+

Var Details

blood_target + + + + +

+

The blood mark target

blood_target_image + + + + +

+

Image of the blood mark target

blood_target_reset_timer + + + + +

+

Timer for the blood mark expiration

cult_ascendent + + + + +

+

Has the cult asceneded, and gotten halos?

cult_leader_datum + + + + +

+

The cult leader

cult_risen + + + + +

+

Has the cult risen, and gotten red eyes?

cult_vote_called + + + + +

+

Has a vote been called for a leader?

narsie_summoned + + + + +

+

Has narsie been summoned yet?

reckoning_complete + + + + +

+

Has the mass teleport been used yet?

size_at_maximum + + + + +

+

How large were we at max size.

true_cultists + + + + +

+

list of cultists just before summoning Narsie

Proc Details

set_blood_target +

+

Sets a blood target for the cult.

unset_blood_target +

+

Unsets out blood target, clearing the images from all the cultists.

unset_blood_target_and_timer +

+

Unsets our blood target when they get deleted.

+ + + diff --git a/datum/team/nation.html b/datum/team/nation.html new file mode 100644 index 00000000000..d97fa9fbb77 --- /dev/null +++ b/datum/team/nation.html @@ -0,0 +1,71 @@ + + + + + + + /datum/team/nation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nation + + + +

+ + + + + + +

Vars

dangerous_nationwhether to forge objectives attacking other nations
departmentdepartment said team is related to
potential_recruitsa list of ranks that can join this nation.

Procs

generate_nation_objectivesCalled by department revolt event to give the team some objectives.
new_possible_separatistSignal for adding new crewmembers (players joining the game) to the revolution.
+

Var Details

dangerous_nation + + + + +

+

whether to forge objectives attacking other nations

department + + + + +

+

department said team is related to

potential_recruits + + + + +

+

a list of ranks that can join this nation.

Proc Details

generate_nation_objectives +

+

Called by department revolt event to give the team some objectives.

+

Arguments: +dangerous_nation: whether this nation will get objectives that are very very bloodthirsty, like killing other departments. +target_nation: string of the nation they need to destroy/befriend

new_possible_separatist +

+

Signal for adding new crewmembers (players joining the game) to the revolution.

+

Arguments: +source: global signal, so this is SSdcs. +crewmember: new onboarding crewmember. +rank: new crewmember's rank.

+ + + diff --git a/datum/team/revolution.html b/datum/team/revolution.html new file mode 100644 index 00000000000..3911d43bcba --- /dev/null +++ b/datum/team/revolution.html @@ -0,0 +1,137 @@ + + + + + + + /datum/team/revolution - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

revolution + + + +

+ + + + + + + + + + + + + + + +

Vars

ex_headrevsList of all ex-headrevs. Useful because dynamic removes antag status when it ends, so this can be kept for the roundend report.
ex_revsList of all ex-revs. Useful because dynamic removes antag status when it ends, so this can be kept for the roundend report.
heads_objectiveThe objective of the heads of staff, aka to kill the headrevs.
max_headrevsMaximum number of headrevs

Procs

check_heads_victoryChecks if heads have won
check_rev_victoryChecks if revs have won
defeat_effectsHandles effects of revs losing, such as making ex-headrevs unrevivable and setting up head of staff memories.
get_head_revolutionariesReturns a list of all headrevs.
process_victoryUpdates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called.
round_resultMutates the ticker to report that the revs have won
save_membersSaves a list of all ex-headrevs and a list of all revs.
update_objectivesProc called on periodic timer. +Updates the rev team's objectives to make sure all heads are targets, useful when new heads latejoin. +Propagates all objectives to all revs.
update_rev_headsProc called on periodic timer. +Tries to make sure an appropriate number of headrevs are part of the revolution. +Will promote up revs to headrevs as necessary based on the hard max_headrevs cap and the soft cap based on the number of heads of staff and sec.
victory_effectsHandles any pre-round-ending effects on rev victory. An example use case is recording memories.
+

Var Details

ex_headrevs + + + + +

+

List of all ex-headrevs. Useful because dynamic removes antag status when it ends, so this can be kept for the roundend report.

ex_revs + + + + +

+

List of all ex-revs. Useful because dynamic removes antag status when it ends, so this can be kept for the roundend report.

heads_objective + + + + +

+

The objective of the heads of staff, aka to kill the headrevs.

max_headrevs + + + + +

+

Maximum number of headrevs

Proc Details

check_heads_victory +

+

Checks if heads have won

check_rev_victory +

+

Checks if revs have won

defeat_effects +

+

Handles effects of revs losing, such as making ex-headrevs unrevivable and setting up head of staff memories.

get_head_revolutionaries +

+

Returns a list of all headrevs.

process_victory +

+

Updates the state of the world depending on if revs won or loss. +Returns who won, at which case this method should no longer be called.

round_result +

+

Mutates the ticker to report that the revs have won

save_members +

+

Saves a list of all ex-headrevs and a list of all revs.

update_objectives +

+

Proc called on periodic timer. +Updates the rev team's objectives to make sure all heads are targets, useful when new heads latejoin. +Propagates all objectives to all revs.

update_rev_heads +

+

Proc called on periodic timer. +Tries to make sure an appropriate number of headrevs are part of the revolution. +Will promote up revs to headrevs as necessary based on the hard max_headrevs cap and the soft cap based on the number of heads of staff and sec.

victory_effects +

+

Handles any pre-round-ending effects on rev victory. An example use case is recording memories.

+ + + diff --git a/datum/team/xeno/captive.html b/datum/team/xeno/captive.html new file mode 100644 index 00000000000..71a5c4f49bb --- /dev/null +++ b/datum/team/xeno/captive.html @@ -0,0 +1,36 @@ + + + + + + + /datum/team/xeno/captive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

captive + + + +

+ +

Captive Xenomorphs team

+

Vars

progenitorThe first member of this team, presumably the queen.
+

Var Details

progenitor + + + + +

+

The first member of this team, presumably the queen.

+ + + diff --git a/datum/techweb.html b/datum/techweb.html new file mode 100644 index 00000000000..6fbfc8ad196 --- /dev/null +++ b/datum/techweb.html @@ -0,0 +1,336 @@ + + + + + + + /datum/techweb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Techweb + + + +

+ +

A datum representing a research techweb

+

Techweb datums are meant to store unlocked research, being able to be stored +on research consoles, servers, and disks. They are NOT global.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

available_experimentsThis is a list of all incomplete experiment datums that are accessible for scientists to complete
available_nodesNodes that can immediately be researched, all reqs met. assoc list, id = TRUE
boosted_nodesAlready boosted nodes that can't be boosted again. node id = path of boost object.
completed_experimentsA list of all experiment datums that have been complete
consoles_accessingAll RD consoles connected to this individual techweb.
custom_designsCustom inserted designs like from disks that should survive recalculation.
deconstructed_itemsList of items already deconstructed for research points, preventing infinite research point generation.
discovered_mutationsMutations discovered by genetics, this way they are shared and cant be destroyed by destroying a single console
hidden_nodesHidden nodes. id = TRUE. Used for unhiding nodes when requirements are met by removing the entry of the node.
idThe id/name of the whole Techweb viewable to players.
income_modifierA multiplier applied to all research gain, cut in half if the Master server was sabotaged.
last_bitcoinsCurrent per-second production, used for display only.
last_incomeThe amount of research points generated the techweb generated the latest time it generated.
organizationOrganization name, used for display
published_papersAssoc list of papers already published by the crew. +published_papers[experiment_typepath][tier] = paper +Filled with nulls on init, populated only on publication.
research_logsGame logs of research nodes, "node_name" "node_cost" "node_researcher" "node_research_location"
research_pointsAvailable research points, type = number
researched_designsDesigns that are available for use. Assoc list, id = TRUE
researched_nodesAlready unlocked and all designs are now available. Assoc list, id = TRUE
scientific_cooperationAssoc list of relationships with various partners +scientific_cooperation[partner_typepath] = relationship
should_generate_pointsBoolean on whether the techweb should generate research points overtime.
skipped_experiment_refund_ratioIf science researches something without completing its discount experiments, +they have the option to complete them later for a refund +This ratio determines how much of the original discount is refunded
skipped_experiment_typesAssoc list of all experiment datums that have been skipped, to tech point reward for completing them - +That is, upon researching a node without completing its associated discounts, their experiments go here. +Completing these experiments will have a refund.
techweb_serversAll research servers connected to this individual techweb.
tiersAssoc list, id = number, 1 is available, 2 is all reqs are 1, so on
visible_nodesVisible nodes, doesn't mean it can be researched. Assoc list, id = TRUE

Procs

add_design_by_idadd_design_by_id +The main way to add add designs to techweb +Uses the techweb node's ID +Args: +id - the ID of the techweb node to research +custom - Boolean on whether the node should also be added to custom_designs +add_to - A custom list to add the node to, overwriting research_designs.
add_experimentAdds an experiment to this techweb by its type, ensures that no duplicates are added.
add_experimentsAdds a list of experiments to this techweb by their types, ensures that no duplicates are added.
add_scientific_paperPublish the paper into our techweb. Cancel if we are not allowed to.
boost_techweb_nodeBoosts a techweb node.
can_unlock_nodeChecks if a node can be unlocked on this techweb, having the required points and experiments
complete_experimentNotifies the techweb that an experiment has been completed, updating internal state of the techweb to reflect this.
have_experiments_for_nodeChecks if all experiments have been completed for a given node on this techweb
initialize_published_papersFill published_papers with nulls.
unhide_nodeRemoves a node from the hidden_nodes list, making it viewable and researchable (if no experiments are required).
update_tiersMake it available if the prereq ids are already researched
+

Var Details

available_experiments + + + + +

+

This is a list of all incomplete experiment datums that are accessible for scientists to complete

available_nodes + + + + +

+

Nodes that can immediately be researched, all reqs met. assoc list, id = TRUE

boosted_nodes + + + + +

+

Already boosted nodes that can't be boosted again. node id = path of boost object.

completed_experiments + + + + +

+

A list of all experiment datums that have been complete

consoles_accessing + + + + +

+

All RD consoles connected to this individual techweb.

custom_designs + + + + +

+

Custom inserted designs like from disks that should survive recalculation.

deconstructed_items + + + + +

+

List of items already deconstructed for research points, preventing infinite research point generation.

discovered_mutations + + + + +

+

Mutations discovered by genetics, this way they are shared and cant be destroyed by destroying a single console

hidden_nodes + + + + +

+

Hidden nodes. id = TRUE. Used for unhiding nodes when requirements are met by removing the entry of the node.

id + + + + +

+

The id/name of the whole Techweb viewable to players.

income_modifier + + + + +

+

A multiplier applied to all research gain, cut in half if the Master server was sabotaged.

last_bitcoins + + + + +

+

Current per-second production, used for display only.

last_income + + + + +

+

The amount of research points generated the techweb generated the latest time it generated.

organization + + + + +

+

Organization name, used for display

published_papers + + + + +

+

Assoc list of papers already published by the crew. +published_papers[experiment_typepath][tier] = paper +Filled with nulls on init, populated only on publication.

research_logs + + + + +

+

Game logs of research nodes, "node_name" "node_cost" "node_researcher" "node_research_location"

research_points + + + + +

+

Available research points, type = number

researched_designs + + + + +

+

Designs that are available for use. Assoc list, id = TRUE

researched_nodes + + + + +

+

Already unlocked and all designs are now available. Assoc list, id = TRUE

scientific_cooperation + + + + +

+

Assoc list of relationships with various partners +scientific_cooperation[partner_typepath] = relationship

should_generate_points + + + + +

+

Boolean on whether the techweb should generate research points overtime.

skipped_experiment_refund_ratio + + + + +

+

If science researches something without completing its discount experiments, +they have the option to complete them later for a refund +This ratio determines how much of the original discount is refunded

skipped_experiment_types + + + + +

+

Assoc list of all experiment datums that have been skipped, to tech point reward for completing them - +That is, upon researching a node without completing its associated discounts, their experiments go here. +Completing these experiments will have a refund.

techweb_servers + + + + +

+

All research servers connected to this individual techweb.

tiers + + + + +

+

Assoc list, id = number, 1 is available, 2 is all reqs are 1, so on

visible_nodes + + + + +

+

Visible nodes, doesn't mean it can be researched. Assoc list, id = TRUE

Proc Details

add_design_by_id +

+

add_design_by_id +The main way to add add designs to techweb +Uses the techweb node's ID +Args: +id - the ID of the techweb node to research +custom - Boolean on whether the node should also be added to custom_designs +add_to - A custom list to add the node to, overwriting research_designs.

add_experiment +

+

Adds an experiment to this techweb by its type, ensures that no duplicates are added.

+

Arguments:

+

add_experiments +

+

Adds a list of experiments to this techweb by their types, ensures that no duplicates are added.

+

Arguments:

+

add_scientific_paper +

+

Publish the paper into our techweb. Cancel if we are not allowed to.

boost_techweb_node +

+

Boosts a techweb node.

can_unlock_node +

+

Checks if a node can be unlocked on this techweb, having the required points and experiments

+

Arguments:

+

complete_experiment +

+

Notifies the techweb that an experiment has been completed, updating internal state of the techweb to reflect this.

+

Arguments:

+

have_experiments_for_node +

+

Checks if all experiments have been completed for a given node on this techweb

+

Arguments:

+

initialize_published_papers +

+

Fill published_papers with nulls.

unhide_node +

+

Removes a node from the hidden_nodes list, making it viewable and researchable (if no experiments are required).

update_tiers +

+

Make it available if the prereq ids are already researched

+ + + diff --git a/datum/techweb/autounlocking.html b/datum/techweb/autounlocking.html new file mode 100644 index 00000000000..3df9e2d32eb --- /dev/null +++ b/datum/techweb/autounlocking.html @@ -0,0 +1,45 @@ + + + + + + + /datum/techweb/autounlocking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

autounlocking + + + +

+ +

Techweb node that automatically unlocks a given buildtype. +Saved in GLOB.autounlock_techwebs and used to prevent +creating new ones each time it's needed.

+ +

Vars

allowed_buildtypesThe buildtype we will automatically unlock.
hacked_designsDesigns that are only available when the printer is hacked.
+

Var Details

allowed_buildtypes + + + + +

+

The buildtype we will automatically unlock.

hacked_designs + + + + +

+

Designs that are only available when the printer is hacked.

+ + + diff --git a/datum/techweb_node.html b/datum/techweb_node.html new file mode 100644 index 00000000000..eca77ba7168 --- /dev/null +++ b/datum/techweb_node.html @@ -0,0 +1,144 @@ + + + + + + + /datum/techweb_node - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Techweb Node + + + +

+ +

A datum representing a researchable node in the techweb.

+

Techweb nodes are GLOBAL, there should only be one instance of them in the game. Persistant +changes should never be made to them in-game. USE SSRESEARCH PROCS TO OBTAIN REFERENCES. +DO NOT REFERENCE OUTSIDE OF SSRESEARCH OR YOU WILL FUCK UP GC.

+ + + + + + + + + + + + + + + +

Vars

autounlock_by_boostBoosting this will autounlock this node
categoryThe category of the node
descriptionA description of the node to show on UIs
discount_experimentsIf completed, these experiments give a specific point amount discount to the node.area
display_nameThe name of the node as it is shown on UIs
experimentalIf the tech can be randomly generated by BEPIS tech as a reward. Meant to be fully given in tech disks, not researched
experiments_to_unlockWhen this node is completed, allows these experiments to be performed.
hiddenWhether it starts off hidden
idInternal ID of the node
required_experimentsThe list of experiments required to research the node
required_items_to_unlockList of items you need to deconstruct to unlock this node.
research_costsThe points cost to research the node, type = amount
show_on_wikiWhether or not this node should show on the wiki
starting_nodeWhether it's available without any research
unlock_idsCALCULATED FROM OTHER NODE'S PREREQUISITIES. Associated list id = TRUE

Procs

on_station_researchProc called when the Station (Science techweb specific) researches a node.
+

Var Details

autounlock_by_boost + + + + +

+

Boosting this will autounlock this node

category + + + + +

+

The category of the node

description + + + + +

+

A description of the node to show on UIs

discount_experiments + + + + +

+

If completed, these experiments give a specific point amount discount to the node.area

display_name + + + + +

+

The name of the node as it is shown on UIs

experimental + + + + +

+

If the tech can be randomly generated by BEPIS tech as a reward. Meant to be fully given in tech disks, not researched

experiments_to_unlock + + + + +

+

When this node is completed, allows these experiments to be performed.

hidden + + + + +

+

Whether it starts off hidden

id + + + + +

+

Internal ID of the node

required_experiments + + + + +

+

The list of experiments required to research the node

required_items_to_unlock + + + + +

+

List of items you need to deconstruct to unlock this node.

research_costs + + + + +

+

The points cost to research the node, type = amount

show_on_wiki + + + + +

+

Whether or not this node should show on the wiki

starting_node + + + + +

+

Whether it's available without any research

unlock_ids + + + + +

+

CALCULATED FROM OTHER NODE'S PREREQUISITIES. Associated list id = TRUE

Proc Details

on_station_research +

+

Proc called when the Station (Science techweb specific) researches a node.

+ + + diff --git a/datum/techweb_node/syndicate_basic.html b/datum/techweb_node/syndicate_basic.html new file mode 100644 index 00000000000..98b6cf111f1 --- /dev/null +++ b/datum/techweb_node/syndicate_basic.html @@ -0,0 +1,37 @@ + + + + + + + /datum/techweb_node/syndicate_basic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

syndicate_basic + + + +

+ + +

Procs

register_uplink_itemsThis needs some clarification: The uplink_items_by_type list is populated on datum/asset/json/uplink/generate. +SStraitor doesn't actually initialize. I'm bamboozled.

Proc Details

+

This needs some clarification: The uplink_items_by_type list is populated on datum/asset/json/uplink/generate. +SStraitor doesn't actually initialize. I'm bamboozled.

+ + + diff --git a/datum/tgs_chat_channel.html b/datum/tgs_chat_channel.html new file mode 100644 index 00000000000..79ac4957a7e --- /dev/null +++ b/datum/tgs_chat_channel.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_chat_channel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tgs_chat_channel + + + +

+ +

Represents a connected chat channel.

+ + + + + + +

Vars

connection_nameName of the chat connection. This is the IRC server address or the Discord guild.
custom_tagTag string associated with the channel in TGS.
embeds_supported[TRUE]/[FALSE] if the channel supports embeds.
friendly_nameUser friendly name of the channel.
idTGS internal channel ID.
is_admin_channel[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.
is_private_channel[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.
+

Var Details

connection_name + + + + +

+

Name of the chat connection. This is the IRC server address or the Discord guild.

custom_tag + + + + +

+

Tag string associated with the channel in TGS.

embeds_supported + + + + +

+

[TRUE]/[FALSE] if the channel supports embeds.

friendly_name + + + + +

+

User friendly name of the channel.

id + + + + +

+

TGS internal channel ID.

is_admin_channel + + + + +

+

[TRUE]/[FALSE] based on if the server operator has marked this channel for game admins only.

is_private_channel + + + + +

+

[TRUE]/[FALSE] if the channel is a private message channel for a /datum/tgs_chat_user.

+ + + diff --git a/datum/tgs_chat_command.html b/datum/tgs_chat_command.html new file mode 100644 index 00000000000..2b4229ae858 --- /dev/null +++ b/datum/tgs_chat_command.html @@ -0,0 +1,66 @@ + + + + + + + /datum/tgs_chat_command - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgs_chat_command + + + +

+ +

User definable chat command.

+ + + + +

Vars

admin_onlyIf this command should be available to game administrators only.
help_textThe help text displayed for this command.
ignore_typeA subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.
nameThe string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Procs

RunProcess command activation. Should return a /datum/tgs_message_content to respond to the issuer with.
+

Var Details

admin_only + + + + +

+

If this command should be available to game administrators only.

help_text + + + + +

+

The help text displayed for this command.

ignore_type + + + + +

+

A subtype of /datum/tgs_chat_command that is ignored when enumerating available commands. Use this to create shared base /datums for commands.

name + + + + +

+

The string to trigger this command on a chat bot. e.g @bot name ... or !tgs name ....

Proc Details

Run +

+

Process command activation. Should return a /datum/tgs_message_content to respond to the issuer with.

+

sender - The /datum/tgs_chat_user who issued the command. +params - The trimmed string following the command `/datum/tgs_chat_command/var/name].

+ + + diff --git a/datum/tgs_chat_command/validated.html b/datum/tgs_chat_command/validated.html new file mode 100644 index 00000000000..4193fba402f --- /dev/null +++ b/datum/tgs_chat_command/validated.html @@ -0,0 +1,42 @@ + + + + + + + /datum/tgs_chat_command/validated - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

validated + + + +

+ +

subtype tgs chat command with validated admin ranks. Only supports discord.

+ +

Procs

Runcalled by tgs
Validated_RunCalled if the sender passes validation checks or if those checks are disabled.

Proc Details

Run +

+

called by tgs

Validated_Run +

+

Called if the sender passes validation checks or if those checks are disabled.

+ + + diff --git a/datum/tgs_chat_embed/footer.html b/datum/tgs_chat_embed/footer.html new file mode 100644 index 00000000000..eefdd222c6a --- /dev/null +++ b/datum/tgs_chat_embed/footer.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgs_chat_embed/footer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

footer + + + +

+ +

See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.

+

Vars

textMust be set in New().
+

Var Details

text + + + + +

+

Must be set in New().

+ + + diff --git a/datum/tgs_chat_embed/media.html b/datum/tgs_chat_embed/media.html new file mode 100644 index 00000000000..abde6316b31 --- /dev/null +++ b/datum/tgs_chat_embed/media.html @@ -0,0 +1,36 @@ + + + + + + + /datum/tgs_chat_embed/media - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

media + + + +

+ +

Common datum for similar discord embed medias.

+

Vars

urlMust be set in New().
+

Var Details

url + + + + +

+

Must be set in New().

+ + + diff --git a/datum/tgs_chat_embed/structure.html b/datum/tgs_chat_embed/structure.html new file mode 100644 index 00000000000..69918d0a7ca --- /dev/null +++ b/datum/tgs_chat_embed/structure.html @@ -0,0 +1,64 @@ + + + + + + + /datum/tgs_chat_embed/structure - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

structure + + + +

+ +

User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.

+ + + + +

Vars

colourColour must be #AARRGGBB or #RRGGBB hex string.
imageSee https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.
thumbnailSee https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details.
timestampTimestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.
videoSee https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.
+

Var Details

colour + + + + +

+

Colour must be #AARRGGBB or #RRGGBB hex string.

image + + + + +

+

See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

thumbnail + + + + +

+

See https://discord.com/developers/docs/resources/channel#embed-object-embed-thumbnail-structure for details.

timestamp + + + + +

+

Timestamp must be encoded as: time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss"). Use the active timezone.

video + + + + +

+

See https://discord.com/developers/docs/resources/channel#embed-object-embed-image-structure for details.

+ + + diff --git a/datum/tgs_chat_user.html b/datum/tgs_chat_user.html new file mode 100644 index 00000000000..33072e1b614 --- /dev/null +++ b/datum/tgs_chat_user.html @@ -0,0 +1,57 @@ + + + + + + + /datum/tgs_chat_user - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tgs_chat_user + + + +

+ + + + + +

Vars

channelThe /datum/tgs_chat_channel the user was from.
friendly_nameThe user's display name.
idTGS internal user ID.
mentionThe string to use to ping this user in a message.
+

Var Details

channel + + + + +

+

The /datum/tgs_chat_channel the user was from.

friendly_name + + + + +

+

The user's display name.

id + + + + +

+

TGS internal user ID.

mention + + + + +

+

The string to use to ping this user in a message.

+ + + diff --git a/datum/tgs_event_handler.html b/datum/tgs_event_handler.html new file mode 100644 index 00000000000..6ea7e952063 --- /dev/null +++ b/datum/tgs_event_handler.html @@ -0,0 +1,44 @@ + + + + + + + /datum/tgs_event_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgs_event_handler + + + +

+ +

User definable handler for TGS events.

+ +

Vars

receive_health_checksIf the handler receieves TGS_EVENT_HEALTH_CHECK events.

Procs

HandleEventUser definable callback for handling TGS events.
+

Var Details

receive_health_checks + + + + +

+

If the handler receieves TGS_EVENT_HEALTH_CHECK events.

Proc Details

HandleEvent +

+

User definable callback for handling TGS events.

+

event_code - One of the TGS_EVENT_ defines. Extra parameters will be documented in each.

+ + + diff --git a/datum/tgs_message_content.html b/datum/tgs_message_content.html new file mode 100644 index 00000000000..12530f9a0f0 --- /dev/null +++ b/datum/tgs_message_content.html @@ -0,0 +1,43 @@ + + + + + + + /datum/tgs_message_content - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tgs_message_content + + + +

+ +

User definable chat message.

+ +

Vars

embedThe /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.
textThe tring content of the message. Must be provided in New().
+

Var Details

embed + + + + +

+

The /datum/tgs_chat_embed to embed in the message. Not supported on all chat providers.

text + + + + +

+

The tring content of the message. Must be provided in New().

+ + + diff --git a/datum/tgs_revision_information.html b/datum/tgs_revision_information.html new file mode 100644 index 00000000000..737672bf94a --- /dev/null +++ b/datum/tgs_revision_information.html @@ -0,0 +1,50 @@ + + + + + + + /datum/tgs_revision_information - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tgs_revision_information + + + +

+ +

Represents git revision information.

+ + +

Vars

commitFull SHA of the commit.
origin_commitFull sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.
timestampISO 8601 timestamp of when the commit was created.
+

Var Details

commit + + + + +

+

Full SHA of the commit.

origin_commit + + + + +

+

Full sha of last known remote commit. This may be null if the TGS repository is not currently tracking a remote branch.

timestamp + + + + +

+

ISO 8601 timestamp of when the commit was created.

+ + + diff --git a/datum/tgs_revision_information/test_merge.html b/datum/tgs_revision_information/test_merge.html new file mode 100644 index 00000000000..bb399fa6fd1 --- /dev/null +++ b/datum/tgs_revision_information/test_merge.html @@ -0,0 +1,78 @@ + + + + + + + /datum/tgs_revision_information/test_merge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

test_merge + + + +

+ +

Represents a merge of a GitHub pull request.

+ + + + + + +

Vars

authorThe Username of the test merge source's author.
bodyThe test merge source's body when it was merged.
commentOptional comment left by the TGS user who initiated the merge.
head_commitThe SHA of the test merge when that was merged.
numberThe test merge number.
titleThe test merge source's title when it was merged.
urlAn http URL to the test merge source.
+

Var Details

author + + + + +

+

The Username of the test merge source's author.

body + + + + +

+

The test merge source's body when it was merged.

comment + + + + +

+

Optional comment left by the TGS user who initiated the merge.

head_commit + + + + +

+

The SHA of the test merge when that was merged.

number + + + + +

+

The test merge number.

title + + + + +

+

The test merge source's title when it was merged.

url + + + + +

+

An http URL to the test merge source.

+ + + diff --git a/datum/tgs_version.html b/datum/tgs_version.html new file mode 100644 index 00000000000..2e103a735ee --- /dev/null +++ b/datum/tgs_version.html @@ -0,0 +1,71 @@ + + + + + + + /datum/tgs_version - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tgs_version + + + +

+ +

Represents a version.

+ + + + + +

Vars

deprecated_patchLegacy version number. Generally null.
deprefixed_parameterString value minus prefix.
minorThe minor version number. null for wildcards.
patchThe patch version number. null for wildcards.
raw_parameterUnparsed string value.
suiteThe suite/major version number.
+

Var Details

deprecated_patch + + + + +

+

Legacy version number. Generally null.

deprefixed_parameter + + + + +

+

String value minus prefix.

minor + + + + +

+

The minor version number. null for wildcards.

patch + + + + +

+

The patch version number. null for wildcards.

raw_parameter + + + + +

+

Unparsed string value.

suite + + + + +

+

The suite/major version number.

+ + + diff --git a/datum/tgui.html b/datum/tgui.html new file mode 100644 index 00000000000..54a32768995 --- /dev/null +++ b/datum/tgui.html @@ -0,0 +1,272 @@ + + + + + + + /datum/tgui - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui + + + +

+ +

tgui datum (represents a UI).

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

autoupdateUpdate the UI every MC tick.
closingStops further updates when close() was called.
initializedIf the UI has been initialized yet.
interfaceThe interface (template) to be used for this UI.
mouse_hookedAre byond mouse events beyond the window passed in to the ui
opened_atTime of opening the window.
refresh_cooldownRate limit client refreshes to prevent DoS.
refreshingTimed refreshing state
src_objectThe object which owns the UI.
stateTopic state used to determine status/interactability.
statusThe status/visibility of the UI.
titleThe title of the UI.
userThe mob who opened/is using the UI.
windowThe window_id for browse() and onclose().
window_keyKey that is used for remembering the window geometry.
window_sizeDeprecated: Window size.

Procs

Newpublic
closepublic
get_payloadprivate
on_act_messageWrapper for behavior to potentially wait until the next tick if the server is overloaded
on_messageprivate
openpublic
processprivate
process_statusprivate
send_assetpublic
send_full_updatepublic
send_updatepublic
set_autoupdatepublic
set_mouse_hookpublic
set_statepublic
+

Var Details

autoupdate + + + + +

+

Update the UI every MC tick.

closing + + + + +

+

Stops further updates when close() was called.

initialized + + + + +

+

If the UI has been initialized yet.

interface + + + + +

+

The interface (template) to be used for this UI.

mouse_hooked + + + + +

+

Are byond mouse events beyond the window passed in to the ui

opened_at + + + + +

+

Time of opening the window.

refresh_cooldown + + + + +

+

Rate limit client refreshes to prevent DoS.

refreshing + + + + +

+

Timed refreshing state

src_object + + + + +

+

The object which owns the UI.

state + + + + +

+

Topic state used to determine status/interactability.

status + + + + +

+

The status/visibility of the UI.

title + + + + +

+

The title of the UI.

user + + + + +

+

The mob who opened/is using the UI.

window + + + + +

+

The window_id for browse() and onclose().

window_key + + + + +

+

Key that is used for remembering the window geometry.

window_size + + + + +

+

Deprecated: Window size.

Proc Details

New +

+

public

+

Create a new UI.

+

required user mob The mob who opened/is using the UI. +required src_object datum The object or datum which owns the UI. +required interface string The interface used to render the UI. +optional title string The title of the UI. +optional ui_x int Deprecated: Window width. +optional ui_y int Deprecated: Window height.

+

return datum/tgui The requested UI.

close +

+

public

+

Close the UI.

+

optional can_be_suspended bool

get_payload +

+

private

+

Package the data to send to the UI, as JSON.

+

return list

on_act_message +

+

Wrapper for behavior to potentially wait until the next tick if the server is overloaded

on_message +

+

private

+

Callback for handling incoming tgui messages.

open +

+

public

+

Open this UI (and initialize it with data).

+

return bool - TRUE if a new pooled window is opened, FALSE in all other situations including if a new pooled window didn't open because one already exists.

process +

+

private

+

Run an update cycle for this UI. Called internally by SStgui +every second or so.

process_status +

+

private

+

Updates the status, and returns TRUE if status has changed.

send_asset +

+

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - true if an asset was actually sent

send_full_update +

+

public

+

Send a full update to the client (includes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

send_update +

+

public

+

Send a partial update to the client (excludes static data).

+

optional custom_data list Custom data to send instead of ui_data. +optional force bool Send an update even if UI is not interactive.

set_autoupdate +

+

public

+

Enable/disable auto-updating of the UI.

+

required value bool Enable/disable auto-updating.

set_mouse_hook +

+

public

+

Enable/disable passing through byond mouse events to the window

+

required value bool Enable/disable hooking.

set_state +

+

public

+

Replace current ui.state with a new one.

+

required state datum/ui_state/state Next state

+ + + diff --git a/datum/tgui_alert.html b/datum/tgui_alert.html new file mode 100644 index 00000000000..d84bc577a5d --- /dev/null +++ b/datum/tgui_alert.html @@ -0,0 +1,102 @@ + + + + + + + /datum/tgui_alert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_alert + + + +

+ +

Datum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.

+ + + + + + + + + +

Vars

autofocusThe bool that controls if this modal should grab window focus
buttonsThe list of buttons (responses) provided on the TGUI window
choiceThe button that the user has pressed, null if no selection has been made
closedBoolean field describing if the tgui_alert was closed by the user.
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_alert was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the tgui_alert, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_alert's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

autofocus + + + + +

+

The bool that controls if this modal should grab window focus

buttons + + + + +

+

The list of buttons (responses) provided on the TGUI window

choice + + + + +

+

The button that the user has pressed, null if no selection has been made

closed + + + + +

+

Boolean field describing if the tgui_alert was closed by the user.

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_alert was created, for displaying timeout progress.

state + + + + +

+

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout + + + + +

+

The lifespan of the tgui_alert, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

wait +

+

Waits for a user's response to the tgui_alert's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_checkbox_input.html b/datum/tgui_checkbox_input.html new file mode 100644 index 00000000000..5a187b50403 --- /dev/null +++ b/datum/tgui_checkbox_input.html @@ -0,0 +1,99 @@ + + + + + + + /datum/tgui_checkbox_input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tgui_checkbox_input + + + +

+ +

Window for tgui_input_checkboxes

+ + + + + + + + + +

Vars

choicesList of selected items
closedWhether the input was closed
itemsList of items to display
max_checkedMaximum number of checkboxes that can be checked
messageMessage to display
min_checkedMinimum number of checkboxes that must be checked
start_timeTime when the input was created
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutTimeout for the input
titleTitle of the window
+

Var Details

choices + + + + +

+

List of selected items

closed + + + + +

+

Whether the input was closed

items + + + + +

+

List of items to display

max_checked + + + + +

+

Maximum number of checkboxes that can be checked

message + + + + +

+

Message to display

min_checked + + + + +

+

Minimum number of checkboxes that must be checked

start_time + + + + +

+

Time when the input was created

state + + + + +

+

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout + + + + +

+

Timeout for the input

title + + + + +

+

Title of the window

+ + + diff --git a/datum/tgui_input_number.html b/datum/tgui_input_number.html new file mode 100644 index 00000000000..3e485aa9427 --- /dev/null +++ b/datum/tgui_input_number.html @@ -0,0 +1,125 @@ + + + + + + + /datum/tgui_input_number - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_input_number + + + +

+ +

Datum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.

+ + + + + + + + + + + + +

Vars

closedBoolean field describing if the tgui_input_number was closed by the user.
defaultThe default (or current) value, shown as a default. Users can press reset with this.
entryThe entry that the user has return_typed in.
max_valueThe maximum value that can be entered.
messageThe prompt's body, if any, of the TGUI window.
min_valueThe minimum value that can be entered.
round_valueWhether the submitted number is rounded down into an integer.
start_timeThe time at which the number input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the number input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

DestroyChecks for empty numbers - bank accounts, etc. +Sanity check
waitWaits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

closed + + + + +

+

Boolean field describing if the tgui_input_number was closed by the user.

default + + + + +

+

The default (or current) value, shown as a default. Users can press reset with this.

entry + + + + +

+

The entry that the user has return_typed in.

max_value + + + + +

+

The maximum value that can be entered.

message + + + + +

+

The prompt's body, if any, of the TGUI window.

min_value + + + + +

+

The minimum value that can be entered.

round_value + + + + +

+

Whether the submitted number is rounded down into an integer.

start_time + + + + +

+

The time at which the number input was created, for displaying timeout progress.

state + + + + +

+

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout + + + + +

+

The lifespan of the number input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

Destroy +

+

Checks for empty numbers - bank accounts, etc. +Sanity check

wait +

+

Waits for a user's response to the tgui_input_number's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_input_text.html b/datum/tgui_input_text.html new file mode 100644 index 00000000000..a3c942c0269 --- /dev/null +++ b/datum/tgui_input_text.html @@ -0,0 +1,130 @@ + + + + + + + /datum/tgui_input_text - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_input_text + + + +

+ +

tgui_input_text

+

Datum used for instantiating and using a TGUI-controlled text input that prompts the user with +a message and has an input for text entry.

+ + + + + + + + + + + + +

Vars

closedBoolean field describing if the tgui_input_text was closed by the user.
defaultThe default (or current) value, shown as a default.
encodeWhether the input should be stripped using html_encode
entryThe entry that the user has return_typed in.
max_lengthThe maximum length for text entry
messageThe prompt's body, if any, of the TGUI window.
multilineMultiline input for larger input boxes.
start_timeThe time at which the text input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the text input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

set_entrySets the return value for the tgui text proc. +If html encoding is enabled, the text will be encoded. +This can sometimes result in a string that is longer than the max length. +If the string is longer than the max length, it will be clipped.
waitWaits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

closed + + + + +

+

Boolean field describing if the tgui_input_text was closed by the user.

default + + + + +

+

The default (or current) value, shown as a default.

encode + + + + +

+

Whether the input should be stripped using html_encode

entry + + + + +

+

The entry that the user has return_typed in.

max_length + + + + +

+

The maximum length for text entry

message + + + + +

+

The prompt's body, if any, of the TGUI window.

multiline + + + + +

+

Multiline input for larger input boxes.

start_time + + + + +

+

The time at which the text input was created, for displaying timeout progress.

state + + + + +

+

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout + + + + +

+

The lifespan of the text input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

set_entry +

+

Sets the return value for the tgui text proc. +If html encoding is enabled, the text will be encoded. +This can sometimes result in a string that is longer than the max length. +If the string is longer than the max length, it will be clipped.

wait +

+

Waits for a user's response to the tgui_input_text's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_list_input.html b/datum/tgui_list_input.html new file mode 100644 index 00000000000..697b4bcce65 --- /dev/null +++ b/datum/tgui_list_input.html @@ -0,0 +1,118 @@ + + + + + + + /datum/tgui_list_input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_list_input + + + +

+ +

Client does NOT have tgui_input on: Returns regular input

+tgui_list_input +

Datum used for instantiating and using a TGUI-controlled list input that prompts the user with +a message and shows a list of selectable options

+ + + + + + + + + + + +

Vars

choiceThe button that the user has pressed, null if no selection has been made
closedBoolean field describing if the tgui_list_input was closed by the user.
defaultThe default button to be selected
invalidWhether the tgui list input is invalid or not (i.e. due to all list entries being null)
itemsThe list of items (responses) provided on the TGUI window
items_mapButtons (strings specifically) mapped to the actual value (e.g. a mob or a verb)
messageThe textual body of the TGUI window
start_timeThe time at which the tgui_list_input was created, for displaying timeout progress.
stateThe TGUI UI state that will be returned in ui_state(). Default: always_state
timeoutThe lifespan of the tgui_list_input, after which the window will close and delete itself.
titleThe title of the TGUI window

Procs

waitWaits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.
+

Var Details

choice + + + + +

+

The button that the user has pressed, null if no selection has been made

closed + + + + +

+

Boolean field describing if the tgui_list_input was closed by the user.

default + + + + +

+

The default button to be selected

invalid + + + + +

+

Whether the tgui list input is invalid or not (i.e. due to all list entries being null)

items + + + + +

+

The list of items (responses) provided on the TGUI window

items_map + + + + +

+

Buttons (strings specifically) mapped to the actual value (e.g. a mob or a verb)

message + + + + +

+

The textual body of the TGUI window

start_time + + + + +

+

The time at which the tgui_list_input was created, for displaying timeout progress.

state + + + + +

+

The TGUI UI state that will be returned in ui_state(). Default: always_state

timeout + + + + +

+

The lifespan of the tgui_list_input, after which the window will close and delete itself.

title + + + + +

+

The title of the TGUI window

Proc Details

wait +

+

Waits for a user's response to the tgui_list_input's prompt before returning. Returns early if +the window was closed by the user.

+ + + diff --git a/datum/tgui_panel.html b/datum/tgui_panel.html new file mode 100644 index 00000000000..9b4fa01cca6 --- /dev/null +++ b/datum/tgui_panel.html @@ -0,0 +1,132 @@ + + + + + + + /datum/tgui_panel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_panel + + + +

+ +

tgui_panel datum +Hosts tgchat and other nice features.

+ + + + + + + + + + + +

Vars

telemetry_analyzed_atTime of telemetry analysis completion
telemetry_connectionsList of previous client connections
telemetry_requested_atTime of telemetry request

Procs

analyze_telemetryprivate
initializepublic
is_readypublic
on_initialize_timed_outprivate
on_messageprivate
play_musicpublic
request_telemetryprivate
send_roundrestartpublic
stop_musicpublic
+

Var Details

telemetry_analyzed_at + + + + +

+

Time of telemetry analysis completion

telemetry_connections + + + + +

+

List of previous client connections

telemetry_requested_at + + + + +

+

Time of telemetry request

Proc Details

analyze_telemetry +

+

private

+

Analyzes a telemetry packet.

+

Is currently only useful for detecting ban evasion attempts.

initialize +

+

public

+

Initializes tgui panel.

is_ready +

+

public

+

TRUE if panel is initialized and ready to receive messages.

on_initialize_timed_out +

+

private

+

Called when initialization has timed out.

on_message +

+

private

+

Callback for handling incoming tgui messages.

play_music +

+

public

+

Sends music data to the browser.

+

Optional settings:

+ +

required url string Must be an https URL. +optional extra_data list Optional settings.

request_telemetry +

+

private

+

Requests some telemetry from the client.

send_roundrestart +

+

public

+

Sends a round restart notification.

stop_music +

+

public

+

Stops playing music through the browser.

+ + + diff --git a/datum/tgui_say.html b/datum/tgui_say.html new file mode 100644 index 00000000000..105e3943cde --- /dev/null +++ b/datum/tgui_say.html @@ -0,0 +1,212 @@ + + + + + + + /datum/tgui_say - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_say + + + +

+ +

The tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.

+ + + + + + + + + + + + + + + + + + +

Vars

clientThe user who opened the window
hurt_phrasesInjury phrases to blurt out
max_lengthMax message length
windowThe modal window
window_openBoolean for whether the tgui_say was opened by the user.

Procs

NewCreates the new input window to exist in the background.
alter_entryAlters text when players are injured. +Adds text, trims left and right side
closeCloses the window serverside. Closes any open chat bubbles +regardless of preference. Logs the event.
delegate_speechNo OOC leaks +Random trimming for larger sentences +Otherwise limit trim to just last letter +Delegates the speech to the proper channel.
force_sayForce say handler. +Sends a message to the say modal to send its current value.
handle_entryHandles text entry and forced speech.
initializeAfter a brief period, injects the scripts into +the window to listen for open commands.
loadEnsures nothing funny is going on window load. +Minimizes the window, sets max length, closes all +typing and thinking indicators. This is triggered +as soon as the window sends the "ready" message.
on_messageThe equivalent of ui_act, this waits on messages from the window +and delegates actions.
openSets the window as "opened" server side, though it is already +visible to the user. We do this to set local vars & +start typing (if enabled and in an IC channel). Logs the event.
start_thinkingSets the mob as "thinking" - with indicator and the TRAIT_THINKING_IN_CHARACTER trait
start_typingHandles the user typing. After a brief period of inactivity, +signals the client mob to revert to the "thinking" icon.
stop_thinkingSpecial exemptions +Removes typing/thinking indicators and flags the mob as not thinking
stop_typingCallback to remove the typing indicator after a brief period of inactivity. +If the user was typing IC, the thinking indicator is shown.
+

Var Details

client + + + + +

+

The user who opened the window

hurt_phrases + + + + +

+

Injury phrases to blurt out

max_length + + + + +

+

Max message length

window + + + + +

+

The modal window

window_open + + + + +

+

Boolean for whether the tgui_say was opened by the user.

Proc Details

New +

+

Creates the new input window to exist in the background.

alter_entry +

+

Alters text when players are injured. +Adds text, trims left and right side

+

Arguments: +payload - a string list containing entry & channel +Returns: +string - the altered entry

close +

+

Closes the window serverside. Closes any open chat bubbles +regardless of preference. Logs the event.

delegate_speech +

+

No OOC leaks +Random trimming for larger sentences +Otherwise limit trim to just last letter +Delegates the speech to the proper channel.

+

Arguments: +entry - the text to broadcast +channel - the channel to broadcast in +Returns: +boolean - on success or failure

force_say +

+

Force say handler. +Sends a message to the say modal to send its current value.

handle_entry +

+

Handles text entry and forced speech.

+

Arguments: +type - a string "entry" or "force" based on how this function is called +payload - a string list containing entry & channel +Returns: +boolean - success or failure

initialize +

+

After a brief period, injects the scripts into +the window to listen for open commands.

load +

+

Ensures nothing funny is going on window load. +Minimizes the window, sets max length, closes all +typing and thinking indicators. This is triggered +as soon as the window sends the "ready" message.

on_message +

+

The equivalent of ui_act, this waits on messages from the window +and delegates actions.

open +

+

Sets the window as "opened" server side, though it is already +visible to the user. We do this to set local vars & +start typing (if enabled and in an IC channel). Logs the event.

+

Arguments: +payload - A list containing the channel the window was opened in.

start_thinking +

+

Sets the mob as "thinking" - with indicator and the TRAIT_THINKING_IN_CHARACTER trait

start_typing +

+

Handles the user typing. After a brief period of inactivity, +signals the client mob to revert to the "thinking" icon.

stop_thinking +

+

Special exemptions +Removes typing/thinking indicators and flags the mob as not thinking

stop_typing +

+

Callback to remove the typing indicator after a brief period of inactivity. +If the user was typing IC, the thinking indicator is shown.

+ + + diff --git a/datum/tgui_window.html b/datum/tgui_window.html new file mode 100644 index 00000000000..13f372dbcba --- /dev/null +++ b/datum/tgui_window.html @@ -0,0 +1,196 @@ + + + + + + + /datum/tgui_window - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tgui_window + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

byondToTguiEventMapStatic list used to map in macros that will then emit execute events to the tgui window +A small disclaimer though I'm no tech wiz: I don't think it's possible to map in right or middle +clicks in the current state, as they're keywords rather than modifiers.

Procs

Newpublic
acquire_lockpublic
can_be_suspendedpublic
closepublic
flush_message_queueprivate
initializepublic
is_readypublic
on_messageprivate
reinitializepublic
release_lockpublic
replace_htmlpublic
send_assetpublic
send_messagepublic
send_raw_messagepublic
subscribepublic
unsubscribepublic
+

Var Details

byondToTguiEventMap + + + + +

+

Static list used to map in macros that will then emit execute events to the tgui window +A small disclaimer though I'm no tech wiz: I don't think it's possible to map in right or middle +clicks in the current state, as they're keywords rather than modifiers.

Proc Details

New +

+

public

+

Create a new tgui window.

+

required client /client +required id string A unique window identifier.

acquire_lock +

+

public

+

Acquire the window lock. Pool will not be able to provide this window +to other UIs for the duration of the lock.

+

Can be given an optional tgui datum, which will be automatically +subscribed to incoming messages via the on_message proc.

+

optional ui /datum/tgui

can_be_suspended +

+

public

+

Checks if the window can be sanely suspended.

+

return bool

close +

+

public

+

Close the UI.

+

optional can_be_suspended bool

flush_message_queue +

+

private

+

Sends queued messages if the queue wasn't empty.

initialize +

+

public

+

Initializes the window with a fresh page. Puts window into the "loading" +state. You can begin sending messages right after initializing. Messages +will be put into the queue until the window finishes loading.

+

optional strict_mode bool - Enables strict error handling and BSOD. +optional fancy bool - If TRUE and if this is NOT a panel, will hide the window titlebar. +optional assets list - List of assets to load during initialization. +optional inline_html string - Custom HTML to inject. +optional inline_js string - Custom JS to inject. +optional inline_css string - Custom CSS to inject.

is_ready +

+

public

+

Checks if the window is ready to receive data.

+

return bool

on_message +

+

private

+

Callback for handling incoming tgui messages.

reinitialize +

+

public

+

Reinitializes the panel with previous data used for initialization.

release_lock +

+

public

+

Release the window lock.

replace_html +

+

public

+

Replaces the inline HTML content.

+

required inline_html string HTML to inject

send_asset +

+

public

+

Makes an asset available to use in tgui.

+

required asset datum/asset

+

return bool - TRUE if any assets had to be sent to the client

send_message +

+

public

+

Sends a message to tgui window.

+

required type string Message type +required payload list Message payload +optional force bool Send regardless of the ready status.

send_raw_message +

+

public

+

Sends a raw payload to tgui window.

+

required message string JSON+urlencoded blob to send. +optional force bool Send regardless of the ready status.

subscribe +

+

public

+

Subscribes the datum to consume window messages on a specified proc.

+

Note, that this supports only one subscriber, because code for that +is simpler and therefore faster. If necessary, this can be rewritten +to support multiple subscribers.

unsubscribe +

+

public

+

Unsubscribes the datum. Do not forget to call this when cleaning up.

+ + + diff --git a/datum/thrownthing.html b/datum/thrownthing.html new file mode 100644 index 00000000000..0b45afa35b1 --- /dev/null +++ b/datum/thrownthing.html @@ -0,0 +1,204 @@ + + + + + + + /datum/thrownthing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

thrownthing + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

callbackIf a thrown thing has a callback, it can be invoked here within thrownthing.
delayed_timeHow long an object has been paused for, to be added to the travel time.
diagonal_errorHow many tiles that need to be moved in order to travel to the target.
diagonals_firstA variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last.
dist_travelledTracks how far a thrownthing has traveled mid-throw for the purposes of maxrange
dist_xDistance to travel in the X axis/direction.
dist_yDistance to travel in the y axis/direction.
dxThe Horizontal direction we're traveling (EAST or WEST)
dyThe VERTICAL direction we're traveling (NORTH or SOUTH)
forceThe movement force provided to a given object in transit. More info on these in move_force.dm
gentleIf the throw is gentle, then the thrownthing is harmless on impact.
init_dirThe initial direction of the thrower of the thrownthing for building the trajectory of the throw.
initial_targetWeakref to the original intended target of the throw, to prevent hardDels
last_moveThe last world.time value stored when the thrownthing was moving.
maxrangeThe maximum number of turfs that the thrownthing will travel to reach it's target.
pausedMainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam.
pure_diagonalSet to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example)
speedTurfs to travel per tick
start_timeThe start_time obtained via world.time for the purposes of tiles moved/tick.
starting_turfThe turf that we were thrown from.
target_turfThe turf that the target was on, if it's not a turf itself.
target_zoneIf the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here.
throwerIf a mob is the one who has thrown the object, then it's moved here. This can be null and must be null checked before trying to use it.
thrownthingDefines the atom that has been thrown (Objects and Mobs, mostly.)

Procs

on_thrownthing_qdelDefines the datum behavior on the thrownthing's qdeletion event.
+

Var Details

callback + + + + +

+

If a thrown thing has a callback, it can be invoked here within thrownthing.

delayed_time + + + + +

+

How long an object has been paused for, to be added to the travel time.

diagonal_error + + + + +

+

How many tiles that need to be moved in order to travel to the target.

diagonals_first + + + + +

+

A variable that helps in describing objects thrown at an angle, if it should be moved diagonally first or last.

dist_travelled + + + + +

+

Tracks how far a thrownthing has traveled mid-throw for the purposes of maxrange

dist_x + + + + +

+

Distance to travel in the X axis/direction.

dist_y + + + + +

+

Distance to travel in the y axis/direction.

dx + + + + +

+

The Horizontal direction we're traveling (EAST or WEST)

dy + + + + +

+

The VERTICAL direction we're traveling (NORTH or SOUTH)

force + + + + +

+

The movement force provided to a given object in transit. More info on these in move_force.dm

gentle + + + + +

+

If the throw is gentle, then the thrownthing is harmless on impact.

init_dir + + + + +

+

The initial direction of the thrower of the thrownthing for building the trajectory of the throw.

initial_target + + + + +

+

Weakref to the original intended target of the throw, to prevent hardDels

last_move + + + + +

+

The last world.time value stored when the thrownthing was moving.

maxrange + + + + +

+

The maximum number of turfs that the thrownthing will travel to reach it's target.

paused + + + + +

+

Mainly exists for things that would freeze a thrown object in place, like a timestop'd tile. Or a Tractor Beam.

pure_diagonal + + + + +

+

Set to TRUE if the throw is exclusively diagonal (45 Degree angle throws for example)

speed + + + + +

+

Turfs to travel per tick

start_time + + + + +

+

The start_time obtained via world.time for the purposes of tiles moved/tick.

starting_turf + + + + +

+

The turf that we were thrown from.

target_turf + + + + +

+

The turf that the target was on, if it's not a turf itself.

target_zone + + + + +

+

If the target happens to be a carbon and that carbon has a body zone aimed at, this is carried on here.

thrower + + + + +

+

If a mob is the one who has thrown the object, then it's moved here. This can be null and must be null checked before trying to use it.

thrownthing + + + + +

+

Defines the atom that has been thrown (Objects and Mobs, mostly.)

Proc Details

on_thrownthing_qdel +

+

Defines the datum behavior on the thrownthing's qdeletion event.

+ + + diff --git a/datum/ticket_history.html b/datum/ticket_history.html new file mode 100644 index 00000000000..2acfedb7824 --- /dev/null +++ b/datum/ticket_history.html @@ -0,0 +1,36 @@ + + + + + + + /datum/ticket_history - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ticket_history + + + +

+ +

Holds information about a ticket

+

Vars

ticket_numberNumber of the ticket for that round
+

Var Details

ticket_number + + + + +

+

Number of the ticket for that round

+ + + diff --git a/datum/ticket_history_holder.html b/datum/ticket_history_holder.html new file mode 100644 index 00000000000..8c242a6ebe7 --- /dev/null +++ b/datum/ticket_history_holder.html @@ -0,0 +1,43 @@ + + + + + + + /datum/ticket_history_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ticket_history_holder + + + +

+ + + +

Vars

ticket_historiesAssosciative list of ticket histories. ckey -> list/datum/ticket_history
user_selectionsAssosciative list of user_ckey -> target_ckey
+

Var Details

ticket_histories + + + + +

+

Assosciative list of ticket histories. ckey -> list/datum/ticket_history

user_selections + + + + +

+

Assosciative list of user_ckey -> target_ckey

+ + + diff --git a/datum/tile_info.html b/datum/tile_info.html new file mode 100644 index 00000000000..763fb336206 --- /dev/null +++ b/datum/tile_info.html @@ -0,0 +1,119 @@ + + + + + + + /datum/tile_info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tile_info + + + +

+ +

stores the name, type, icon & cost for each tile type

+ + + + + + + + + + + +

Vars

costrcd units to consume for this tile creation
icon_stateicon for this tile to display for ui
namename of this tile design for ui
selected_directioncurrent direction this tile should be rotated in before being placed on the plating
tile_directionsdirections this tile can be placed on the turf
tile_typepath to create this tile type
ui_directional_datauser friendly names of the tile_directions to be sent to ui

Procs

fill_ui_datafill all information to be sent to the UI
get_icon_stateretrieve the icon for this tile design based on its direction +for complex directions like NORTHSOUTH etc we create an seperated blended icon in the asset file for example floor-northsouth +so we check which icons we want to retrieve based on its direction +for basic directions its rotated with CSS so there is no need for icon
new_tileconvinience proc to quickly convert the tile design into an physical tile to lay on the plating
set_directionchange the direction the tile is laid on the turf
set_infodecompress a single tile design list element from GLOB.floor_designs into its individual variables
+

Var Details

cost + + + + +

+

rcd units to consume for this tile creation

icon_state + + + + +

+

icon for this tile to display for ui

name + + + + +

+

name of this tile design for ui

selected_direction + + + + +

+

current direction this tile should be rotated in before being placed on the plating

tile_directions + + + + +

+

directions this tile can be placed on the turf

tile_type + + + + +

+

path to create this tile type

ui_directional_data + + + + +

+

user friendly names of the tile_directions to be sent to ui

Proc Details

fill_ui_data +

+

fill all information to be sent to the UI

get_icon_state +

+

retrieve the icon for this tile design based on its direction +for complex directions like NORTHSOUTH etc we create an seperated blended icon in the asset file for example floor-northsouth +so we check which icons we want to retrieve based on its direction +for basic directions its rotated with CSS so there is no need for icon

new_tile +

+

convinience proc to quickly convert the tile design into an physical tile to lay on the plating

set_direction +

+

change the direction the tile is laid on the turf

set_info +

+

decompress a single tile design list element from GLOB.floor_designs into its individual variables

+ + + diff --git a/datum/timedevent.html b/datum/timedevent.html new file mode 100644 index 00000000000..c0c683e4ba3 --- /dev/null +++ b/datum/timedevent.html @@ -0,0 +1,158 @@ + + + + + + + /datum/timedevent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Timed Event + + + +

+ +

This is the actual timer, it contains the callback and necessary data to maintain +the timer.

+

See the documentation for the timer subsystem for an explanation of the buckets referenced +below in next and prev

+ + + + + + + + + + + + + + + + +

Vars

bucket_joinedBoolean indicating if timer joined into bucket
bucket_posInitial bucket position
callBackThe callback to invoke after the timer completes
flagsFlags associated with the timer, see _DEFINES/subsystems.dm
hashUnique hash generated when TIMER_UNIQUE flag is present
idID used for timers when the TIMER_STOPPABLE flag is present
nextNext timed event in the bucket
prevPrevious timed event in the bucket
sourceThe source of the timedevent, whatever called addtimer
spentTime at which the timer was invoked or destroyed
timeToRunThe time at which the callback should be invoked at
timer_infoHolds info about this timer, stored from the moment it was created +Used to create a visible "name" whenever the timer is stringified
timer_subsystemThe timer subsystem this event is associated with
waitThe length of the timer

Procs

bucketEjectRemoves this timed event from any relevant buckets, or the secondary queue
bucketJoinAttempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.
getcallingtypeReturns a string of the type of the callback for this timer
+

Var Details

bucket_joined + + + + +

+

Boolean indicating if timer joined into bucket

bucket_pos + + + + +

+

Initial bucket position

callBack + + + + +

+

The callback to invoke after the timer completes

flags + + + + +

+

Flags associated with the timer, see _DEFINES/subsystems.dm

hash + + + + +

+

Unique hash generated when TIMER_UNIQUE flag is present

id + + + + +

+

ID used for timers when the TIMER_STOPPABLE flag is present

next + + + + +

+

Next timed event in the bucket

prev + + + + +

+

Previous timed event in the bucket

source + + + + +

+

The source of the timedevent, whatever called addtimer

spent + + + + +

+

Time at which the timer was invoked or destroyed

timeToRun + + + + +

+

The time at which the callback should be invoked at

timer_info + + + + +

+

Holds info about this timer, stored from the moment it was created +Used to create a visible "name" whenever the timer is stringified

timer_subsystem + + + + +

+

The timer subsystem this event is associated with

wait + + + + +

+

The length of the timer

Proc Details

bucketEject +

+

Removes this timed event from any relevant buckets, or the secondary queue

bucketJoin +

+

Attempts to add this timed event to a bucket, will enter the secondary queue +if there are no appropriate buckets at this time.

+

Secondary queueing of timed events will occur when the timespan covered by the existing +buckets is exceeded by the time at which this timed event is scheduled to be invoked. +If the timed event is tracking client time, it will be added to a special bucket.

getcallingtype +

+

Returns a string of the type of the callback for this timer

+ + + diff --git a/datum/tlv.html b/datum/tlv.html new file mode 100644 index 00000000000..36669afe6ac --- /dev/null +++ b/datum/tlv.html @@ -0,0 +1,82 @@ + + + + + + + /datum/tlv - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tlv + + + +

+ + + + +

Procs

New
reset_value
set_value

Proc Details

New +

+

reset_value +

+

set_value +

+
+ + + diff --git a/datum/trackable.html b/datum/trackable.html new file mode 100644 index 00000000000..b75059903cd --- /dev/null +++ b/datum/trackable.html @@ -0,0 +1,118 @@ + + + + + + + /datum/trackable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trackable + + + +

+ + + + + + + + + + + + + +

Vars

cameraticksHow many times we've failed to locate our target.
humansList of all humans trackable by cameras.
namecountsList of all namecounts for mobs with the exact same name, just in-case.
namesList of all names that can be tracked.
othersList of all non-humans trackable by cameras, split so humans take priority.
tracked_mobIf there is a mob currently being tracked, this will be the weakref to it.
trackingBoolean on whether or not we are currently trying to track something.
tracking_holderReference to the atom that owns us, used for tracking.

Procs

cancel_target_trackingCalled by Signals, used to cancel tracking of a target.
find_trackable_mobsGenerates a list of trackable people by name, returning a list of Humans + Non-Humans that can be tracked.
set_tracked_mobset_tracked_mob
set_trackingToggles whether or not we're tracking something. Arg is whether it's on or off.
+

Var Details

cameraticks + + + + +

+

How many times we've failed to locate our target.

humans + + + + +

+

List of all humans trackable by cameras.

namecounts + + + + +

+

List of all namecounts for mobs with the exact same name, just in-case.

names + + + + +

+

List of all names that can be tracked.

others + + + + +

+

List of all non-humans trackable by cameras, split so humans take priority.

tracked_mob + + + + +

+

If there is a mob currently being tracked, this will be the weakref to it.

tracking + + + + +

+

Boolean on whether or not we are currently trying to track something.

tracking_holder + + + + +

+

Reference to the atom that owns us, used for tracking.

Proc Details

cancel_target_tracking +

+

Called by Signals, used to cancel tracking of a target.

find_trackable_mobs +

+

Generates a list of trackable people by name, returning a list of Humans + Non-Humans that can be tracked.

set_tracked_mob +

+

set_tracked_mob

+

Sets a mob as being tracked, if a target is already provided then it will track that directly, +otherwise it will give a tgui input list to find targets to track. +Args: +tracker - The person trying to track, used for feedback messages. This is not the same as tracking_holder +tracked_mob_name - (Optional) The person being tracked, to skip the input list.

set_tracking +

+

Toggles whether or not we're tracking something. Arg is whether it's on or off.

+ + + diff --git a/datum/trader_data.html b/datum/trader_data.html new file mode 100644 index 00000000000..f34da66a79f --- /dev/null +++ b/datum/trader_data.html @@ -0,0 +1,90 @@ + + + + + + + /datum/trader_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trader_data + + + +

+ +

Used to contain the traders initial wares, and speech

+ + + + + + + +

Vars

currency_nameThe currency name
initial_productsThe initial products that the trader offers
initial_wantedsThe initial products that the trader buys
say_phrasesThe speech data of the trader
sell_soundSound used when item sold/bought
shop_spot_typeThe item that marks the shopkeeper will sit on
sign_typeThe sign that will greet the customers

Procs

return_trader_phraseDepending on the passed parameter/override, returns a randomly picked string out of a list
+

Var Details

currency_name + + + + +

+

The currency name

initial_products + + + + +

+

The initial products that the trader offers

initial_wanteds + + + + +

+

The initial products that the trader buys

say_phrases + + + + +

+

The speech data of the trader

sell_sound + + + + +

+

Sound used when item sold/bought

shop_spot_type + + + + +

+

The item that marks the shopkeeper will sit on

sign_type + + + + +

+

The sign that will greet the customers

Proc Details

return_trader_phrase +

+

Depending on the passed parameter/override, returns a randomly picked string out of a list

+

Do note when overriding this argument, you will need to ensure pick(the list) doesn't get supplied with a list of zero length +Arguments:

+
+ + + diff --git a/datum/traitor_objective.html b/datum/traitor_objective.html new file mode 100644 index 00000000000..5398a6bf7cb --- /dev/null +++ b/datum/traitor_objective.html @@ -0,0 +1,304 @@ + + + + + + + /datum/traitor_objective - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

traitor_objective + + + +

+ +

A traitor objective. Traitor objectives should not be deleted after they have been created and established, only failed. +If a traitor objective needs to be removed from the failed/completed objective list of their handler, then you are doing something wrong +and you should reconsider. When an objective is failed/completed, that is final and the only way you can change that is by refactoring the code.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_typeAbstract type that won't be included as a possible objective
descriptionThe description of the traitor objective
duplicate_typeThe duplicate type that will be used to check for duplicates. +If undefined, this will either take from the abstract type or the type of the objective itself
forcedWhether this objective was forced upon by an admin. Won't get autocleared by the traitor subsystem if progression surpasses an amount
global_progression_deviance_requiredDetermines how great the deviance has to be before progression starts to get reduced.
global_progression_influence_intensityDetermines how influential global progression will affect this objective. Set to 0 to disable.
global_progression_limit_coeffDetermines the minimum and maximum progression this objective can be worth as a result of being influenced by global progression +Should only be smaller than or equal to 1
handlerThe uplink handler holder to give the progression and telecrystals to.
nameThe name of the traitor objective
needs_rewardUsed only in unit testing. Can be used to explicitly skip the progression_reward and telecrystal_reward check for non-abstract objectives. +Useful for final objectives as they don't need a reward.
objective_stateThe current state of this objective
original_progressionThe percentage that this objective has been increased or decreased by as a result of progression. Used by the UI
progression_cost_coeffThis gets added onto the coeff when calculating the updated progression cost. Used for variability and a slight bit of randomness
progression_cost_coeff_devianceThe deviance coefficient used to determine the randomness of the progression rewards.
progression_maximumThe maximum progression before this objective cannot appear anymore
progression_minimumThe minimum required progression points for this objective
progression_rewardThe progression that is rewarded from completing this traitor objective. Can either be a list of list(min, max) or a direct value
skippedWhether this objective was skipped by going from an inactive state to a failed state.
telecrystal_penaltyTC penalty for failing an objective or cancelling it
telecrystal_rewardThe telecrystals that are rewarded from completing this traitor objective. Can either be a list of list(min,max) or a direct value
time_of_completionThe time at which this objective was completed
time_of_creationThe time at which this objective was first created

Procs

can_generate_objectiveCalled whenever the objective is about to be generated. Bypassed by forcefully adding objectives. +Returning false or true will do the same as the generate_objective proc.
completion_payoutCalled when rewards should be given to the user.
fail_objectiveUsed to fail objectives. Players can clear completed objectives in the UI
finish_objectiveCalled by player input, do not call directly. Validates whether the objective is finished and pays out the handler if it is.
generate_objectiveCalled when the objective should be generated. Should return if the objective has been successfully generated. +If false is returned, the objective will be removed as a potential objective for the traitor it is being generated for. +This is only temporary, it will run the proc again when objectives are generated for the traitor again.
generate_ui_buttonsUsed for generating the UI buttons for the UI. Use ui_perform_action to respond to clicks.
handle_cleanupUsed to handle cleaning up the objective.
replace_in_nameReplaces a word in the name of the proc. Also does it for the description
succeed_objectiveUsed to succeed objectives. Allows the player to cash it out in the UI.
supported_configuration_changesReturns a list of variables that can be changed by config, allows for balance through configuration. +It is not recommended to finetweak any values of objectives on your server.
to_debug_stringConverts the type into a useful debug string to be used for logging and debug display.
ui_perform_actionReturn TRUE to trigger a UI update
ungenerate_objectiveUsed to clean up signals and stop listening to states.
update_progression_rewardUpdates the progression reward, scaling it depending on their current progression compared against the global progression
uplink_ui_dataUsed for sending data to the uplink UI
+

Var Details

abstract_type + + + + +

+

Abstract type that won't be included as a possible objective

description + + + + +

+

The description of the traitor objective

duplicate_type + + + + +

+

The duplicate type that will be used to check for duplicates. +If undefined, this will either take from the abstract type or the type of the objective itself

forced + + + + +

+

Whether this objective was forced upon by an admin. Won't get autocleared by the traitor subsystem if progression surpasses an amount

global_progression_deviance_required + + + + +

+

Determines how great the deviance has to be before progression starts to get reduced.

global_progression_influence_intensity + + + + +

+

Determines how influential global progression will affect this objective. Set to 0 to disable.

global_progression_limit_coeff + + + + +

+

Determines the minimum and maximum progression this objective can be worth as a result of being influenced by global progression +Should only be smaller than or equal to 1

handler + + + + +

+

The uplink handler holder to give the progression and telecrystals to.

name + + + + +

+

The name of the traitor objective

needs_reward + + + + +

+

Used only in unit testing. Can be used to explicitly skip the progression_reward and telecrystal_reward check for non-abstract objectives. +Useful for final objectives as they don't need a reward.

objective_state + + + + +

+

The current state of this objective

original_progression + + + + +

+

The percentage that this objective has been increased or decreased by as a result of progression. Used by the UI

progression_cost_coeff + + + + +

+

This gets added onto the coeff when calculating the updated progression cost. Used for variability and a slight bit of randomness

progression_cost_coeff_deviance + + + + +

+

The deviance coefficient used to determine the randomness of the progression rewards.

progression_maximum + + + + +

+

The maximum progression before this objective cannot appear anymore

progression_minimum + + + + +

+

The minimum required progression points for this objective

progression_reward + + + + +

+

The progression that is rewarded from completing this traitor objective. Can either be a list of list(min, max) or a direct value

skipped + + + + +

+

Whether this objective was skipped by going from an inactive state to a failed state.

telecrystal_penalty + + + + +

+

TC penalty for failing an objective or cancelling it

telecrystal_reward + + + + +

+

The telecrystals that are rewarded from completing this traitor objective. Can either be a list of list(min,max) or a direct value

time_of_completion + + + + +

+

The time at which this objective was completed

time_of_creation + + + + +

+

The time at which this objective was first created

Proc Details

can_generate_objective +

+

Called whenever the objective is about to be generated. Bypassed by forcefully adding objectives. +Returning false or true will do the same as the generate_objective proc.

completion_payout +

+

Called when rewards should be given to the user.

fail_objective +

+

Used to fail objectives. Players can clear completed objectives in the UI

finish_objective +

+

Called by player input, do not call directly. Validates whether the objective is finished and pays out the handler if it is.

generate_objective +

+

Called when the objective should be generated. Should return if the objective has been successfully generated. +If false is returned, the objective will be removed as a potential objective for the traitor it is being generated for. +This is only temporary, it will run the proc again when objectives are generated for the traitor again.

generate_ui_buttons +

+

Used for generating the UI buttons for the UI. Use ui_perform_action to respond to clicks.

handle_cleanup +

+

Used to handle cleaning up the objective.

replace_in_name +

+

Replaces a word in the name of the proc. Also does it for the description

succeed_objective +

+

Used to succeed objectives. Allows the player to cash it out in the UI.

supported_configuration_changes +

+

Returns a list of variables that can be changed by config, allows for balance through configuration. +It is not recommended to finetweak any values of objectives on your server.

to_debug_string +

+

Converts the type into a useful debug string to be used for logging and debug display.

ui_perform_action +

+

Return TRUE to trigger a UI update

ungenerate_objective +

+

Used to clean up signals and stop listening to states.

update_progression_reward +

+

Updates the progression reward, scaling it depending on their current progression compared against the global progression

+

Used for sending data to the uplink UI

+ + + diff --git a/datum/traitor_objective/destroy_heirloom.html b/datum/traitor_objective/destroy_heirloom.html new file mode 100644 index 00000000000..9937e10d797 --- /dev/null +++ b/datum/traitor_objective/destroy_heirloom.html @@ -0,0 +1,64 @@ + + + + + + + /datum/traitor_objective/destroy_heirloom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

destroy_heirloom + + + +

+ + + + + + +

Vars

maximum_objectives_in_periodThe maximum number of objectives that can be taken in this period.
objective_periodThe objective period at which we consider if it is an 'objective'. Set to 0 to accept all objectives.
target_itemthe item we need to destroy
target_jobsThe jobs that this objective is targeting.
target_mindthe owner of the item we need to destroy
+

Var Details

maximum_objectives_in_period + + + + +

+

The maximum number of objectives that can be taken in this period.

objective_period + + + + +

+

The objective period at which we consider if it is an 'objective'. Set to 0 to accept all objectives.

target_item + + + + +

+

the item we need to destroy

target_jobs + + + + +

+

The jobs that this objective is targeting.

target_mind + + + + +

+

the owner of the item we need to destroy

+ + + diff --git a/datum/traitor_objective/destroy_heirloom/common.html b/datum/traitor_objective/destroy_heirloom/common.html new file mode 100644 index 00000000000..3ff2fd5a32e --- /dev/null +++ b/datum/traitor_objective/destroy_heirloom/common.html @@ -0,0 +1,36 @@ + + + + + + + /datum/traitor_objective/destroy_heirloom/common - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

common + + + +

+ + +

Vars

progression_minimum30 minutes in, syndicate won't care about common heirlooms anymore
+

Var Details

progression_minimum + + + + +

+

30 minutes in, syndicate won't care about common heirlooms anymore

+ + + diff --git a/datum/traitor_objective/destroy_heirloom/rare.html b/datum/traitor_objective/destroy_heirloom/rare.html new file mode 100644 index 00000000000..3c7d6eccd04 --- /dev/null +++ b/datum/traitor_objective/destroy_heirloom/rare.html @@ -0,0 +1,36 @@ + + + + + + + /datum/traitor_objective/destroy_heirloom/rare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rare + + + +

+ + +

Vars

progression_maximum60 minutes in, syndicate won't care about rare heirlooms anymore
+

Var Details

progression_maximum + + + + +

+

60 minutes in, syndicate won't care about rare heirlooms anymore

+ + + diff --git a/datum/traitor_objective/destroy_heirloom/uncommon.html b/datum/traitor_objective/destroy_heirloom/uncommon.html new file mode 100644 index 00000000000..3b8220340e5 --- /dev/null +++ b/datum/traitor_objective/destroy_heirloom/uncommon.html @@ -0,0 +1,36 @@ + + + + + + + /datum/traitor_objective/destroy_heirloom/uncommon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uncommon + + + +

+ + +

Vars

progression_minimum45 minutes in, syndicate won't care about uncommon heirlooms anymore
+

Var Details

progression_minimum + + + + +

+

45 minutes in, syndicate won't care about uncommon heirlooms anymore

+ + + diff --git a/datum/traitor_objective/destroy_item.html b/datum/traitor_objective/destroy_item.html new file mode 100644 index 00000000000..3d12d00bea1 --- /dev/null +++ b/datum/traitor_objective/destroy_item.html @@ -0,0 +1,50 @@ + + + + + + + /datum/traitor_objective/destroy_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

destroy_item + + + +

+ + + + +

Vars

special_equipmentAny special equipment that may be needed
target_itemThe current target item that we are stealing.
tracked_itemsItems that are currently tracked and will succeed this objective when destroyed.
+

Var Details

special_equipment + + + + +

+

Any special equipment that may be needed

target_item + + + + +

+

The current target item that we are stealing.

tracked_items + + + + +

+

Items that are currently tracked and will succeed this objective when destroyed.

+ + + diff --git a/datum/traitor_objective/kill_pet.html b/datum/traitor_objective/kill_pet.html new file mode 100644 index 00000000000..7d4dad41ba5 --- /dev/null +++ b/datum/traitor_objective/kill_pet.html @@ -0,0 +1,57 @@ + + + + + + + /datum/traitor_objective/kill_pet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

kill_pet + + + +

+ + + + + +

Vars

limited_to_department_headWhether or not we only take from the traitor's own department head or not.
possible_headsPossible heads mapped to their pet type. Can be a list of possible pets
targetThe head that we are targeting
target_petThe actual pet that needs to be killed
+

Var Details

limited_to_department_head + + + + +

+

Whether or not we only take from the traitor's own department head or not.

possible_heads + + + + +

+

Possible heads mapped to their pet type. Can be a list of possible pets

target + + + + +

+

The head that we are targeting

target_pet + + + + +

+

The actual pet that needs to be killed

+ + + diff --git a/datum/traitor_objective/locate_weakpoint.html b/datum/traitor_objective/locate_weakpoint.html new file mode 100644 index 00000000000..95cb68b32a4 --- /dev/null +++ b/datum/traitor_objective/locate_weakpoint.html @@ -0,0 +1,71 @@ + + + + + + + /datum/traitor_objective/locate_weakpoint - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

locate_weakpoint + + + +

+ + + + + + + +

Vars

bomb_sentHave we sent a bomb yet?
locator_sentHave we sent a weakpoint locator yet?
scan_areasAreas that need to be scanned
weakpoint_areaWeakpoint where the bomb should be planted
weakpoint_foundHave we located the weakpoint yet?

Procs

ungenerate_objectiveList of high-security areas that we pick required ones from
+

Var Details

bomb_sent + + + + +

+

Have we sent a bomb yet?

locator_sent + + + + +

+

Have we sent a weakpoint locator yet?

scan_areas + + + + +

+

Areas that need to be scanned

weakpoint_area + + + + +

+

Weakpoint where the bomb should be planted

weakpoint_found + + + + +

+

Have we located the weakpoint yet?

Proc Details

ungenerate_objective +

+

List of high-security areas that we pick required ones from

+ + + diff --git a/datum/traitor_objective/sabotage_machinery.html b/datum/traitor_objective/sabotage_machinery.html new file mode 100644 index 00000000000..f1dc2949363 --- /dev/null +++ b/datum/traitor_objective/sabotage_machinery.html @@ -0,0 +1,57 @@ + + + + + + + /datum/traitor_objective/sabotage_machinery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sabotage_machinery + + + +

+ + + + + +

Vars

applicable_jobsThe possible target machinery and the jobs tied to each one.
chosen_jobThe chosen job. Used to check for duplicates
maximum_allowedThe maximum amount of this type of objective a traitor can have, set to 0 for no limit.

Procs

prepare_machineMarks a given machine as our target
+

Var Details

applicable_jobs + + + + +

+

The possible target machinery and the jobs tied to each one.

chosen_job + + + + +

+

The chosen job. Used to check for duplicates

maximum_allowed + + + + +

+

The maximum amount of this type of objective a traitor can have, set to 0 for no limit.

Proc Details

prepare_machine +

+

Marks a given machine as our target

+ + + diff --git a/datum/traitor_objective/sabotage_machinery/trap.html b/datum/traitor_objective/sabotage_machinery/trap.html new file mode 100644 index 00000000000..dae0542d029 --- /dev/null +++ b/datum/traitor_objective/sabotage_machinery/trap.html @@ -0,0 +1,57 @@ + + + + + + + /datum/traitor_objective/sabotage_machinery/trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trap + + + +

+ + + + + +

Vars

bonus_progressionBonus progression to grant if you booby trap successfully
bonus_tcBonus reward to grant if you booby trap successfully
traitor_trapper_givenHave we given out a traitor trap item?

Procs

sabotage_successCalled when you successfully proc the booby trap, gives a bonus reward
+

Var Details

bonus_progression + + + + +

+

Bonus progression to grant if you booby trap successfully

bonus_tc + + + + +

+

Bonus reward to grant if you booby trap successfully

traitor_trapper_given + + + + +

+

Have we given out a traitor trap item?

Proc Details

sabotage_success +

+

Called when you successfully proc the booby trap, gives a bonus reward

+ + + diff --git a/datum/traitor_objective/steal_item.html b/datum/traitor_objective/steal_item.html new file mode 100644 index 00000000000..bc56c6b31d6 --- /dev/null +++ b/datum/traitor_objective/steal_item.html @@ -0,0 +1,92 @@ + + + + + + + /datum/traitor_objective/steal_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

steal_item + + + +

+ + + + + + + + + + +

Vars

bugThe bug that will be put onto the item
extra_progressionExtra progression given for holding the item for the required duration of time.
extra_tcExtra TC given for holding the item for the required duration of time.
hold_time_requiredA list of 2 elements, which contain the range that the time will be in. Represented in minutes.
max_distanceThe maximum distance between the bug and the objective taker for time to count as fulfilled
minutes_per_telecrystalTelecrystal reward increase per unit of time.
special_equipmentAny special equipment that may be needed
target_itemThe current target item that we are stealing.
time_fulfilledThe current time fulfilled around the item
+

Var Details

bug + + + + +

+

The bug that will be put onto the item

extra_progression + + + + +

+

Extra progression given for holding the item for the required duration of time.

extra_tc + + + + +

+

Extra TC given for holding the item for the required duration of time.

hold_time_required + + + + +

+

A list of 2 elements, which contain the range that the time will be in. Represented in minutes.

max_distance + + + + +

+

The maximum distance between the bug and the objective taker for time to count as fulfilled

minutes_per_telecrystal + + + + +

+

Telecrystal reward increase per unit of time.

special_equipment + + + + +

+

Any special equipment that may be needed

target_item + + + + +

+

The current target item that we are stealing.

time_fulfilled + + + + +

+

The current time fulfilled around the item

+ + + diff --git a/datum/traitor_objective/target_player.html b/datum/traitor_objective/target_player.html new file mode 100644 index 00000000000..16363623472 --- /dev/null +++ b/datum/traitor_objective/target_player.html @@ -0,0 +1,52 @@ + + + + + + + /datum/traitor_objective/target_player - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

target_player + + + +

+ +

The point of this datum is to act as a means to group target player objectives +Not all 'target player' objectives have to be under this subtype, it's only used if you don't want duplicates among the current +children types under this type.

+ + +

Vars

maximum_objectives_in_periodThe maximum number of objectives we can get within this period.
objective_periodThe objective period at which we consider if it is an 'objective'. Set to 0 to accept all objectives.
targetThe target that we need to target.
+

Var Details

maximum_objectives_in_period + + + + +

+

The maximum number of objectives we can get within this period.

objective_period + + + + +

+

The objective period at which we consider if it is an 'objective'. Set to 0 to accept all objectives.

target + + + + +

+

The target that we need to target.

+ + + diff --git a/datum/traitor_objective/target_player/assassinate.html b/datum/traitor_objective/target_player/assassinate.html new file mode 100644 index 00000000000..d77b3ed9957 --- /dev/null +++ b/datum/traitor_objective/target_player/assassinate.html @@ -0,0 +1,47 @@ + + + + + + + /datum/traitor_objective/target_player/assassinate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

assassinate + + + +

+ + + +

Vars

heads_of_staffMakes the objective only set heads as targets when true, and block them from being targets when false. +This also blocks the objective from generating UNTIL the un-heads_of_staff version (WHICH SHOULD BE A DIRECT PARENT) is completed. +example: calling card objective, you kill someone, you unlock the chance to roll a head of staff target version of calling card.

Procs

special_target_filterproc for checking for special states that invalidate a target
+

Var Details

heads_of_staff + + + + +

+

Makes the objective only set heads as targets when true, and block them from being targets when false. +This also blocks the objective from generating UNTIL the un-heads_of_staff version (WHICH SHOULD BE A DIRECT PARENT) is completed. +example: calling card objective, you kill someone, you unlock the chance to roll a head of staff target version of calling card.

Proc Details

special_target_filter +

+

proc for checking for special states that invalidate a target

+ + + diff --git a/datum/traitor_objective/target_player/assassinate/behead.html b/datum/traitor_objective/target_player/assassinate/behead.html new file mode 100644 index 00000000000..e30aae5ce14 --- /dev/null +++ b/datum/traitor_objective/target_player/assassinate/behead.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/target_player/assassinate/behead - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

behead + + + +

+ + + +

Vars

behead_goalthe head that needs to be picked up
needs_to_hold_headthe body who needs to hold the head
+

Var Details

behead_goal + + + + +

+

the head that needs to be picked up

needs_to_hold_head + + + + +

+

the body who needs to hold the head

+ + + diff --git a/datum/traitor_objective/target_player/assault.html b/datum/traitor_objective/target_player/assault.html new file mode 100644 index 00000000000..33abb09ca77 --- /dev/null +++ b/datum/traitor_objective/target_player/assault.html @@ -0,0 +1,57 @@ + + + + + + + /datum/traitor_objective/target_player/assault - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

assault + + + +

+ + + + + +

Vars

attacks_inflictedTotal number of successful attacks recorded.
attacks_requiredThe random number picked for the number of required attacks to pass this objective.
max_attacks_requiredMax attacks required to pass the objective. Picked at random between this and min.
min_attacks_requiredMin attacks required to pass the objective. Picked at random between this and max.
+

Var Details

attacks_inflicted + + + + +

+

Total number of successful attacks recorded.

attacks_required + + + + +

+

The random number picked for the number of required attacks to pass this objective.

max_attacks_required + + + + +

+

Max attacks required to pass the objective. Picked at random between this and min.

min_attacks_required + + + + +

+

Min attacks required to pass the objective. Picked at random between this and max.

+ + + diff --git a/datum/traitor_objective/target_player/eyesnatching.html b/datum/traitor_objective/target_player/eyesnatching.html new file mode 100644 index 00000000000..2fc613dfded --- /dev/null +++ b/datum/traitor_objective/target_player/eyesnatching.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/target_player/eyesnatching - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eyesnatching + + + +

+ + + +

Vars

heads_of_staffIf we're targeting heads of staff or not
spawned_eyesnatcherHave we already spawned an eyesnatcher
+

Var Details

heads_of_staff + + + + +

+

If we're targeting heads of staff or not

spawned_eyesnatcher + + + + +

+

Have we already spawned an eyesnatcher

+ + + diff --git a/datum/traitor_objective/target_player/infect.html b/datum/traitor_objective/target_player/infect.html new file mode 100644 index 00000000000..1e387621597 --- /dev/null +++ b/datum/traitor_objective/target_player/infect.html @@ -0,0 +1,52 @@ + + + + + + + /datum/traitor_objective/target_player/infect - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

infect + + + +

+ + + + +

Vars

heads_of_staffif TRUE, can only target heads of staff +if FALSE, CANNOT target heads of staff
injector_givenif TRUE, the injector item has been bestowed upon the player

Procs

special_target_filterproc for checking for special states that invalidate a target
+

Var Details

heads_of_staff + + + + +

+

if TRUE, can only target heads of staff +if FALSE, CANNOT target heads of staff

injector_given + + + + +

+

if TRUE, the injector item has been bestowed upon the player

Proc Details

special_target_filter +

+

proc for checking for special states that invalidate a target

+ + + diff --git a/datum/traitor_objective/target_player/kidnapping.html b/datum/traitor_objective/target_player/kidnapping.html new file mode 100644 index 00000000000..19e33217d08 --- /dev/null +++ b/datum/traitor_objective/target_player/kidnapping.html @@ -0,0 +1,64 @@ + + + + + + + /datum/traitor_objective/target_player/kidnapping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

kidnapping + + + +

+ + + + + + +

Vars

alive_bonusHow much TC do we get from sending the target alive
dropoff_areaArea that the target needs to be delivered to
pod_calledHave we called the pod yet?
target_belongingsAll stripped targets belongings (weakrefs)
target_jobsThe jobs that this objective is targeting.
+

Var Details

alive_bonus + + + + +

+

How much TC do we get from sending the target alive

dropoff_area + + + + +

+

Area that the target needs to be delivered to

pod_called + + + + +

+

Have we called the pod yet?

target_belongings + + + + +

+

All stripped targets belongings (weakrefs)

target_jobs + + + + +

+

The jobs that this objective is targeting.

+ + + diff --git a/datum/traitor_objective/ultimate.html b/datum/traitor_objective/ultimate.html new file mode 100644 index 00000000000..8029cf95297 --- /dev/null +++ b/datum/traitor_objective/ultimate.html @@ -0,0 +1,35 @@ + + + + + + + /datum/traitor_objective/ultimate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ultimate + + + +

+ + +

Procs

can_generate_objectiveDetermines if this final objective can be taken. Should be put into every final objective's generate function.

Proc Details

can_generate_objective +

+

Determines if this final objective can be taken. Should be put into every final objective's generate function.

+ + + diff --git a/datum/traitor_objective/ultimate/battlecruiser.html b/datum/traitor_objective/ultimate/battlecruiser.html new file mode 100644 index 00000000000..e6f4d7575b9 --- /dev/null +++ b/datum/traitor_objective/ultimate/battlecruiser.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/ultimate/battlecruiser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battlecruiser + + + +

+ + + +

Vars

sent_accesscardChecks whether we have sent the card to the traitor yet.
teamBattlecruiser team that we get assigned to
+

Var Details

sent_accesscard + + + + +

+

Checks whether we have sent the card to the traitor yet.

team + + + + +

+

Battlecruiser team that we get assigned to

+ + + diff --git a/datum/traitor_objective/ultimate/dark_matteor.html b/datum/traitor_objective/ultimate/dark_matteor.html new file mode 100644 index 00000000000..3486e1bad1e --- /dev/null +++ b/datum/traitor_objective/ultimate/dark_matteor.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/ultimate/dark_matteor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dark_matteor + + + +

+ + + +

Vars

satellites_spawnarea_typearea type the objective owner must be in to receive the satellites
sent_satelliteschecker on whether we have sent the satellites yet.
+

Var Details

satellites_spawnarea_type + + + + +

+

area type the objective owner must be in to receive the satellites

sent_satellites + + + + +

+

checker on whether we have sent the satellites yet.

+ + + diff --git a/datum/traitor_objective/ultimate/infect_ai.html b/datum/traitor_objective/ultimate/infect_ai.html new file mode 100644 index 00000000000..f7501c71185 --- /dev/null +++ b/datum/traitor_objective/ultimate/infect_ai.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/ultimate/infect_ai - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

infect_ai + + + +

+ + + +

Vars

board_area_pickuparea type the objective owner must be in to receive the law upload module
sent_boardchecker on whether we have sent the law upload module
+

Var Details

board_area_pickup + + + + +

+

area type the objective owner must be in to receive the law upload module

sent_board + + + + +

+

checker on whether we have sent the law upload module

+ + + diff --git a/datum/traitor_objective/ultimate/romerol.html b/datum/traitor_objective/ultimate/romerol.html new file mode 100644 index 00000000000..30b28a526a6 --- /dev/null +++ b/datum/traitor_objective/ultimate/romerol.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/ultimate/romerol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

romerol + + + +

+ + + +

Vars

romerol_spawnarea_typearea type the objective owner must be in to receive the romerol
sent_romerolchecker on whether we have sent the romerol yet.
+

Var Details

romerol_spawnarea_type + + + + +

+

area type the objective owner must be in to receive the romerol

sent_romerol + + + + +

+

checker on whether we have sent the romerol yet.

+ + + diff --git a/datum/traitor_objective/ultimate/space_dragon.html b/datum/traitor_objective/ultimate/space_dragon.html new file mode 100644 index 00000000000..36dee364379 --- /dev/null +++ b/datum/traitor_objective/ultimate/space_dragon.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/ultimate/space_dragon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

space_dragon + + + +

+ + + +

Vars

dna_scanner_spawnarea_typeArea type the objective owner must be in to receive the DNA extractor.
received_dna_scannerWhether the DNA extraction kit was sent already.
+

Var Details

dna_scanner_spawnarea_type + + + + +

+

Area type the objective owner must be in to receive the DNA extractor.

received_dna_scanner + + + + +

+

Whether the DNA extraction kit was sent already.

+ + + diff --git a/datum/traitor_objective/ultimate/supermatter_cascade.html b/datum/traitor_objective/ultimate/supermatter_cascade.html new file mode 100644 index 00000000000..946b74fba86 --- /dev/null +++ b/datum/traitor_objective/ultimate/supermatter_cascade.html @@ -0,0 +1,43 @@ + + + + + + + /datum/traitor_objective/ultimate/supermatter_cascade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supermatter_cascade + + + +

+ + + +

Vars

dest_crystal_area_pickuparea type the objective owner must be in to receive the destabilizing crystal
sent_crystalchecker on whether we have sent the crystal yet.
+

Var Details

dest_crystal_area_pickup + + + + +

+

area type the objective owner must be in to receive the destabilizing crystal

sent_crystal + + + + +

+

checker on whether we have sent the crystal yet.

+ + + diff --git a/datum/traitor_objective_category.html b/datum/traitor_objective_category.html new file mode 100644 index 00000000000..b81b0ba64f0 --- /dev/null +++ b/datum/traitor_objective_category.html @@ -0,0 +1,53 @@ + + + + + + + /datum/traitor_objective_category - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor_objective_category + + + +

+ +

The objective category. +Used to group up entire objectives into 1 weight objects to prevent having a +higher chance of getting an objective due to an increased number of different objective subtypes. +These are nothing but informational holders and will have no other purpose.

+ + +

Vars

nameName of the category, unused but may help in the future
objectivesAssoc list of objectives by type mapped to their weight. Can also contain lists of objectives mapped to weight
weightThe weight of the category. How likely this category is to be chosen.
+

Var Details

name + + + + +

+

Name of the category, unused but may help in the future

objectives + + + + +

+

Assoc list of objectives by type mapped to their weight. Can also contain lists of objectives mapped to weight

weight + + + + +

+

The weight of the category. How likely this category is to be chosen.

+ + + diff --git a/datum/tram_mfg_info.html b/datum/tram_mfg_info.html new file mode 100644 index 00000000000..3da75adda8b --- /dev/null +++ b/datum/tram_mfg_info.html @@ -0,0 +1,38 @@ + + + + + + + /datum/tram_mfg_info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tram_mfg_info + + + +

+ + +

Procs

NewAssign registration details to a new tram.

Proc Details

New +

+

Assign registration details to a new tram.

+

When a new tram is created, we give it a builder's plate with the date it was created. +We track a few stats about it, and keep a small historical record on the +information plate inside the tram.

+ + + diff --git a/datum/transport_controller/linear.html b/datum/transport_controller/linear.html new file mode 100644 index 00000000000..03b30613e47 --- /dev/null +++ b/datum/transport_controller/linear.html @@ -0,0 +1,288 @@ + + + + + + + /datum/transport_controller/linear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

linear + + + +

+ +

coordinate and control movement across linked transport_controllers. allows moving large single multitile platforms and many 1 tile platforms. +also is capable of linking platforms across linked z levels

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

controller_statusbitfield of various transport states
controls_lockedif true, the platform cannot be manually moved.
create_modular_settaken from our lift platforms. if true we go through each z level of platforms and attempt to make the lowest left corner platform +into one giant multitile object the size of all other platforms on that z level.
ignored_smashthroughsTypepath list of what to ignore smashing through, controls all lifts
modular_setwhether the lift handled by this transport_controller datum is multitile as opposed to nxm platforms per z level
specific_transport_idoverridable ID string to link control units to this specific transport_controller datum. created by placing a transport id landmark object +somewhere on the tram, if its anywhere on the tram we'll find it in init and set this to whatever it specifies
transport_idtransport_id taken from our base lift platform, used to put us into SStransport.transports_by_type
transport_modulesthe lift platforms we consider as part of this transport. ordered in order of lowest z level to highest z level after init. +(the sorting algorithm sucks btw)
z_sortedlift platforms have already been sorted in order of z level.

Procs

Check_lift_moveCheck destination turfs
check_for_landmarkscheck for any landmarks placed inside the locs of the given transport_module
controls_lockSets transport controls_locked state. Used to prevent moving mid movement, or cooldowns.
create_modular_set_for_z_levelgoes through all platforms in the given list and finds the one in the lower left corner
finish_simple_move_wrapperWrap everything up from simple_move_wrapper finishing its movement
get_platforms_on_levelreturns all transport modules associated with this transport on the given z level or given atoms z level
get_zs_we_are_onReturns a list of all the z-levels our transport is currently on.
link_transport_modulesCollect all bordered platforms via a simple floodfill algorithm. allows multiz trams because its funny
move_after_delayMoves the platform after a passed delay.
move_lift_verticallyMoves the platform UP or DOWN, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of it moves SANELY.
move_to_zlevelMoves the platform to the passed z-level.
move_transport_horizontallyMoves the platform, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming.
open_lift_doors_callbackHelper used in callbacks to open all the doors our platform is on
order_platforms_by_z_levelorders the lift platforms in order of lowest z level to highest z level.
reset_lift_contentsresets the contents of all platforms to their original state in case someone put a bunch of shit onto the platform. +intended to be called by admins. passes all arguments to reset_contents() for each of our platforms.
return_closest_platform_toreturns the closest transport to the specified atom, prioritizing transports on the same z level. used for comparing distance
return_closest_platform_to_zReturns a platform on the z-level which is vertically closest to the passed target_z
set_info_from_id_landmarkset vars and such given an overriding transport_id landmark
simple_move_wrapperSimple wrapper for checking if we can move 1 zlevel, and if we can, do said move. +Locks controls, closes all doors, then moves the platform and re-opens the doors afterwards.
update_lift_doorsUpdates all blast doors and shutters that share an ID with our lift.
+

Var Details

controller_status + + + + +

+

bitfield of various transport states

controls_locked + + + + +

+

if true, the platform cannot be manually moved.

create_modular_set + + + + +

+

taken from our lift platforms. if true we go through each z level of platforms and attempt to make the lowest left corner platform +into one giant multitile object the size of all other platforms on that z level.

ignored_smashthroughs + + + + +

+

Typepath list of what to ignore smashing through, controls all lifts

modular_set + + + + +

+

whether the lift handled by this transport_controller datum is multitile as opposed to nxm platforms per z level

specific_transport_id + + + + +

+

overridable ID string to link control units to this specific transport_controller datum. created by placing a transport id landmark object +somewhere on the tram, if its anywhere on the tram we'll find it in init and set this to whatever it specifies

transport_id + + + + +

+

transport_id taken from our base lift platform, used to put us into SStransport.transports_by_type

transport_modules + + + + +

+

the lift platforms we consider as part of this transport. ordered in order of lowest z level to highest z level after init. +(the sorting algorithm sucks btw)

z_sorted + + + + +

+

lift platforms have already been sorted in order of z level.

Proc Details

Check_lift_move +

+

Check destination turfs

check_for_landmarks +

+

check for any landmarks placed inside the locs of the given transport_module

controls_lock +

+

Sets transport controls_locked state. Used to prevent moving mid movement, or cooldowns.

create_modular_set_for_z_level +

+

goes through all platforms in the given list and finds the one in the lower left corner

finish_simple_move_wrapper +

+

Wrap everything up from simple_move_wrapper finishing its movement

get_platforms_on_level +

+

returns all transport modules associated with this transport on the given z level or given atoms z level

get_zs_we_are_on +

+

Returns a list of all the z-levels our transport is currently on.

+

Collect all bordered platforms via a simple floodfill algorithm. allows multiz trams because its funny

move_after_delay +

+

Moves the platform after a passed delay.

+

This is a more "user friendly" or "realistic" move. +It includes things like:

+ +

Arguments: +duration - required, how long do we wait to move the platform? +door_duration - optional, how long should we wait to open the doors after arriving? If null, we won't open or close doors +direction - which direction are we moving the lift? +user - optional, who is moving the lift?

move_lift_vertically +

+

Moves the platform UP or DOWN, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of it moves SANELY.

+

Arguments: +going - UP or DOWN directions, where the platform should go. Keep in mind by this point checks of whether it should go up or down have already been done. +user - Whomever made the movement.

move_to_zlevel +

+

Moves the platform to the passed z-level.

+

Checks for validity of the move: Are we moving to the same z-level, can we actually move to that z-level? +Does NOT check if the controls are currently locked.

+

Moves to the passed z-level by calling move_after_delay repeatedly until the passed z-level is reached. +This proc sleeps as it moves.

+

Arguments: +target_z - required, the Z we want to move to +loop_callback - optional, an additional callback invoked during the loop that allows the move to cancel. +user - optional, who started the move

move_transport_horizontally +

+

Moves the platform, this is what users invoke with their hand. +This is a SAFE proc, ensuring every part of the lift moves SANELY. +It also locks controls for the (miniscule) duration of the movement, so the elevator cannot be broken by spamming.

open_lift_doors_callback +

+

Helper used in callbacks to open all the doors our platform is on

order_platforms_by_z_level +

+

orders the lift platforms in order of lowest z level to highest z level.

reset_lift_contents +

+

resets the contents of all platforms to their original state in case someone put a bunch of shit onto the platform. +intended to be called by admins. passes all arguments to reset_contents() for each of our platforms.

+

Arguments:

+

return_closest_platform_to +

+

returns the closest transport to the specified atom, prioritizing transports on the same z level. used for comparing distance

return_closest_platform_to_z +

+

Returns a platform on the z-level which is vertically closest to the passed target_z

set_info_from_id_landmark +

+

set vars and such given an overriding transport_id landmark

simple_move_wrapper +

+

Simple wrapper for checking if we can move 1 zlevel, and if we can, do said move. +Locks controls, closes all doors, then moves the platform and re-opens the doors afterwards.

+

Arguments: +direction - which direction are we moving? +lift_move_duration - how long does the move take? can be 0 or null for instant move. +door_duration - how long does it take for the doors to open after a move? +user - optional, who moved it?

update_lift_doors +

+

Updates all blast doors and shutters that share an ID with our lift.

+

Arguments: +on_z_level - optional, only open doors on this z-level or list of z-levels +action - how do we update the doors? CYCLE_OPEN to make them open, CYCLE_CLOSED to make them shut

+ + + diff --git a/datum/transport_controller/linear/tram.html b/datum/transport_controller/linear/tram.html new file mode 100644 index 00000000000..01774d8ab61 --- /dev/null +++ b/datum/transport_controller/linear/tram.html @@ -0,0 +1,328 @@ + + + + + + + /datum/transport_controller/linear/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tram + + + +

+ +

Tram specific variant of the generic linear transport controller.

+

Hierarchy +The sstransport subsystem manages a list of controllers, +A controller manages a list of transport modules (individual tiles) which together make up a transport unit (in this case a tram)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

base_speed_limiterversion of speed_limiter that gets set in init and is considered our base speed if our lift gets slowed down
collision_lethalitymultiplier on how much damage/force the tram imparts on things it hits
controller_activewhether this controller is active (any state we don't accept new orders, not nessecarily moving)
controller_operationalwhether all required parts of the tram are considered operational
destination_platformreference to the destination landmarks we consider ourselves travelling towards. since we potentially span multiple z levels we dont actually +know where on us this platform is. as long as we know THAT its on us we can just move the distance and direction between this +and the destination landmark.
idle_platformreference to the destination landmarks we consider ourselves "at" or travelling towards. since we potentially span multiple z levels we dont actually +know where on us this platform is. as long as we know THAT its on us we can just move the distance and direction between this +and the destination landmark.
recovery_activate_counthow many times we moved while costing more than SStransport.max_time milliseconds per movement. +if this exceeds SStransport.max_exceeding_moves
recovery_clear_counthow many times we moved while costing less than 0.5 * SStransport.max_time milliseconds per movement
recovery_modewhether we have been slowed down automatically
scheduled_movethe world.time we should next move at. in case our speed is set to less than 1 movement per tick
speed_limiterdecisecond delay between horizontal movement. cannot make the tram move faster than 1 movement per world.tick_lag.
travel_directionif we're travelling, what direction are we going
travel_remainingif we're travelling, how far do we have to go
travel_trip_lengthhow far in total we'll be travelling

Procs

NewMake sure all modules have matching speed limiter vars, pull save data from persistence
add_transport_modulesRegister transport modules to the controller
calculate_routeCalculate the journey details to the requested platform
check_for_landmarksThe mapper should have placed the tram at one of the stations, the controller will search for a landmark within +its control area and set it as its idle position.
check_starting_landmarkVerify tram is in a valid starting location, start the subsystem.
closest_nav_in_travel_dirReturns the closest tram nav beacon to an atom
cycle_doorsCycle all the doors on the tram.
dispatch_transportHandles moving the tram
end_malf_eventRemove effects of tram malfunction event.
gracefully_breakThe tram explodes if it hits a few types of objects.
processTram processing loop
rod_collisionMoves the tram when hit by an immovable rod
set_activeSets the active status for the controller and sends a signal to listeners.
set_status_codeSets the controller status bitfield
start_malf_eventTram malfunction random event. Set comm error, increase tram lethality.
unlock_controlsHandles unlocking the tram controls for use after moving
update_statusPart of the pre-departure list, checks the status of the doors on the tram
vv_edit_varIf someone VVs the base speed limiter of the tram, copy it to the current active speed limiter.
+

Var Details

base_speed_limiter + + + + +

+

version of speed_limiter that gets set in init and is considered our base speed if our lift gets slowed down

collision_lethality + + + + +

+

multiplier on how much damage/force the tram imparts on things it hits

controller_active + + + + +

+

whether this controller is active (any state we don't accept new orders, not nessecarily moving)

controller_operational + + + + +

+

whether all required parts of the tram are considered operational

destination_platform + + + + +

+

reference to the destination landmarks we consider ourselves travelling towards. since we potentially span multiple z levels we dont actually +know where on us this platform is. as long as we know THAT its on us we can just move the distance and direction between this +and the destination landmark.

idle_platform + + + + +

+

reference to the destination landmarks we consider ourselves "at" or travelling towards. since we potentially span multiple z levels we dont actually +know where on us this platform is. as long as we know THAT its on us we can just move the distance and direction between this +and the destination landmark.

recovery_activate_count + + + + +

+

how many times we moved while costing more than SStransport.max_time milliseconds per movement. +if this exceeds SStransport.max_exceeding_moves

recovery_clear_count + + + + +

+

how many times we moved while costing less than 0.5 * SStransport.max_time milliseconds per movement

recovery_mode + + + + +

+

whether we have been slowed down automatically

scheduled_move + + + + +

+

the world.time we should next move at. in case our speed is set to less than 1 movement per tick

speed_limiter + + + + +

+

decisecond delay between horizontal movement. cannot make the tram move faster than 1 movement per world.tick_lag.

travel_direction + + + + +

+

if we're travelling, what direction are we going

travel_remaining + + + + +

+

if we're travelling, how far do we have to go

travel_trip_length + + + + +

+

how far in total we'll be travelling

Proc Details

New +

+

Make sure all modules have matching speed limiter vars, pull save data from persistence

+

We track a few stats about it, and keep a small historical record on the +information plate inside the tram.

add_transport_modules +

+

Register transport modules to the controller

+

Spreads out searching neighbouring tiles for additional transport modules, to combine into one full tram. +We register to every module's signal that it's collided with something, be it mob, structure, etc.

calculate_route +

+

Calculate the journey details to the requested platform

+

These will eventually be passed to the transport modules as args telling them where to move. +We do some sanity checking in case of discrepencany between where the subsystem thinks the +tram is and where the tram actually is. (For example, moving the landmarks after round start.)

check_for_landmarks +

+

The mapper should have placed the tram at one of the stations, the controller will search for a landmark within +its control area and set it as its idle position.

check_starting_landmark +

+

Verify tram is in a valid starting location, start the subsystem.

+

Throw an error if someone mapped a tram with no landmarks available for it to register. +The processing subsystem starts off because not all maps have elevators/transports. +Now that the tram is aware of its surroundings, we start the subsystem.

closest_nav_in_travel_dir +

+

Returns the closest tram nav beacon to an atom

+

Creates a list of nav beacons in the requested direction +and returns the closest to be passed to the industrial_lift

+

Arguments: source: the starting point to find a beacon +travel_dir: travel direction in tram form, INBOUND or OUTBOUND +beacon_type: what list of beacons we pull from

cycle_doors +

+

Cycle all the doors on the tram.

dispatch_transport +

+

Handles moving the tram

+

Called by the subsystem, the controller tells the individual tram parts where to actually go and has extra safety checks +incase multiple inputs get through, preventing conflicting directions and the tram literally ripping itself apart. +All of the actual movement is handled by SStransport.

+

If we're this far all the PRE_DEPARTURE checks should have passed, so we leave the PRE_DEPARTURE status and actually move. +We send a signal to anything registered that cares about the physical movement of the tram.

+

Arguments:

+

end_malf_event +

+

Remove effects of tram malfunction event.

+

If engineers didn't already repair the tram by the end of the event, +automagically reset it remotely.

gracefully_break +

+

The tram explodes if it hits a few types of objects.

+

Signal for when the tram runs into a field of which it cannot go through. +Stops the train's travel fully, sends a message, and destroys the train. +Arguments:

+

process +

+

Tram processing loop

+

Moves the tram to its set destination. +When it arrives at its destination perform callback to the post-arrival procs like controls and lights. +We update the odometer and kill the process until we need to move again.

+

If the status is EMERGENCY_STOP the tram should immediately come to a stop regardless of the travel_remaining. +Some extra things happen in an emergency stop (throwing the passengers) and when reset will run a +recovery procedure to head to the nearest platform and sync logical and physical location data +(idle_platform and nav_beacon) once the issue is resolved.

rod_collision +

+

Moves the tram when hit by an immovable rod

+

Tells the individual tram parts where to actually go and has an extra safety checks +incase multiple inputs get through, preventing conflicting directions and the tram +literally ripping itself apart. all of the actual movement is handled by SStramprocess

+

Arguments: collided_rod (the immovable rod that hit the tram) +Return: push_destination (the landmark /obj/effect/landmark/tram/nav that the tram is being pushed to due to the rod's trajectory)

set_active +

+

Sets the active status for the controller and sends a signal to listeners.

+

The main signal used by most components, it has the active status, the bitfield of the controller's status, its direction, and set destination.

+

Arguments: +new_status - The active status of the controller (whether it's busy doing something and not taking commands right now)

set_status_code +

+

Sets the controller status bitfield

+

This status var is used by various components like lights, crossing signals, signs +Sent via signal the listening components will perform required actions based on +the status codes.

+

Arguments:

+

start_malf_event +

+

Tram malfunction random event. Set comm error, increase tram lethality.

unlock_controls +

+

Handles unlocking the tram controls for use after moving

+

More safety checks to make sure the tram has actually docked properly +at a location before users are allowed to interact with the tram console again. +Tram finds its location at this point before fully unlocking controls to the user.

update_status +

+

Part of the pre-departure list, checks the status of the doors on the tram

+

Checks if all doors are closed, and updates the status code accordingly.

+

TODO: this is probably better renamed check_door_status()

vv_edit_var +

+

If someone VVs the base speed limiter of the tram, copy it to the current active speed limiter.

+ + + diff --git a/datum/trophy_data.html b/datum/trophy_data.html new file mode 100644 index 00000000000..7736cd91e6a --- /dev/null +++ b/datum/trophy_data.html @@ -0,0 +1,50 @@ + + + + + + + /datum/trophy_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trophy_data + + + +

+ +

trophy data datum, for admin manipulation

+ + +

Vars

messagethe message that appears under the item
pathpath of the item the trophy will try to mimic, null if path_string is invalid
placer_keythe key of the one who placed the item in the trophy case
+

Var Details

message + + + + +

+

the message that appears under the item

path + + + + +

+

path of the item the trophy will try to mimic, null if path_string is invalid

placer_key + + + + +

+

the key of the one who placed the item in the trophy case

+ + + diff --git a/datum/tts_request.html b/datum/tts_request.html new file mode 100644 index 00000000000..0080552259b --- /dev/null +++ b/datum/tts_request.html @@ -0,0 +1,157 @@ + + + + + + + /datum/tts_request - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tts_request + + + +

+ +

A struct containing information on an individual player or mob who has made a TTS request

+ + + + + + + + + + + + + + + + + +

Vars

audio_fileThe audio file of this tts request.
audio_file_blipsThe blips audio file of this tts request.
audio_lengthThe audio length of this tts request.
identifierThe message identifier
languageThe language to limit this TTS message to
listenersThe people who are going to hear this TTS message +Does nothing if local is set to TRUE
localWhether this TTS message should be sent to the target only or not.
messageThe message itself
message_rangeThe message range to play this TTS message
pitchWhat's the pitch adjustment?
requestThe HTTP request of this message
request_blipsThe HTTP request of this message for blips
start_timeThe time at which this request was started
targetThe mob to play this TTS message on
timed_outWhether this request was timed out or not
use_blipsDoes this use blips during local generation or not?
volume_offsetThe volume offset to play this TTS at.
when_to_playWhen the audio file should play at the minimum
+

Var Details

audio_file + + + + +

+

The audio file of this tts request.

audio_file_blips + + + + +

+

The blips audio file of this tts request.

audio_length + + + + +

+

The audio length of this tts request.

identifier + + + + +

+

The message identifier

language + + + + +

+

The language to limit this TTS message to

listeners + + + + +

+

The people who are going to hear this TTS message +Does nothing if local is set to TRUE

local + + + + +

+

Whether this TTS message should be sent to the target only or not.

message + + + + +

+

The message itself

message_range + + + + +

+

The message range to play this TTS message

pitch + + + + +

+

What's the pitch adjustment?

request + + + + +

+

The HTTP request of this message

request_blips + + + + +

+

The HTTP request of this message for blips

start_time + + + + +

+

The time at which this request was started

target + + + + +

+

The mob to play this TTS message on

timed_out + + + + +

+

Whether this request was timed out or not

use_blips + + + + +

+

Does this use blips during local generation or not?

volume_offset + + + + +

+

The volume offset to play this TTS at.

when_to_play + + + + +

+

When the audio file should play at the minimum

+ + + diff --git a/datum/turf_reservation.html b/datum/turf_reservation.html new file mode 100644 index 00000000000..cbd4a351312 --- /dev/null +++ b/datum/turf_reservation.html @@ -0,0 +1,155 @@ + + + + + + + /datum/turf_reservation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

turf_reservation + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

bottom_left_turfsList of the bottom left turfs. Indexed by what their z index for this reservation is
cordon_turfsTurfs around the reservation for cordoning
heightThe height of the reservation
pre_cordon_distanceDistance away from the cordon where we can put a "sort-cordon" and run some extra code (see make_repel). 0 makes nothing happen
pre_cordon_turfsArea of turfs next to the cordon to fill with pre_cordon_area's
reserved_turfsAll turfs that we've reserved
top_right_turfsList of the top right turfs. Indexed by what their z index for this reservation is
turf_typeThe turf type the reservation is initially made with
widthThe width of the reservation
z_sizeThe z stack size of the reservation. Note that reservations are ALWAYS reserved from the bottom up

Procs

_reserve_areaInternal proc which handles reserving the area for the reservation.
calculate_cordon_turfsAttempts to calaculate and store a list of turfs around the reservation for cordoning. Returns whether a valid cordon was calculated
calculate_turf_bounds_informationCalculates the effective bounds information for the given turf. Returns a list of the information, or null if not applicable.
generate_cordonActually generates the cordon around the reservation, and marking the cordon turfs as reserved
get_turf_aboveGets the turf above the given target. Returns null if there is no turf above the target
get_turf_belowGets the turf below the given target. Returns null if there is no turf below the target
make_repelRegister signals in the cordon "danger zone" to do something with whoever trespasses
stop_repelUnregister all the signals we added in RegisterRepelSignals
+

Var Details

bottom_left_turfs + + + + +

+

List of the bottom left turfs. Indexed by what their z index for this reservation is

cordon_turfs + + + + +

+

Turfs around the reservation for cordoning

height + + + + +

+

The height of the reservation

pre_cordon_distance + + + + +

+

Distance away from the cordon where we can put a "sort-cordon" and run some extra code (see make_repel). 0 makes nothing happen

pre_cordon_turfs + + + + +

+

Area of turfs next to the cordon to fill with pre_cordon_area's

reserved_turfs + + + + +

+

All turfs that we've reserved

top_right_turfs + + + + +

+

List of the top right turfs. Indexed by what their z index for this reservation is

turf_type + + + + +

+

The turf type the reservation is initially made with

width + + + + +

+

The width of the reservation

z_size + + + + +

+

The z stack size of the reservation. Note that reservations are ALWAYS reserved from the bottom up

Proc Details

_reserve_area +

+

Internal proc which handles reserving the area for the reservation.

calculate_cordon_turfs +

+

Attempts to calaculate and store a list of turfs around the reservation for cordoning. Returns whether a valid cordon was calculated

calculate_turf_bounds_information +

+

Calculates the effective bounds information for the given turf. Returns a list of the information, or null if not applicable.

generate_cordon +

+

Actually generates the cordon around the reservation, and marking the cordon turfs as reserved

get_turf_above +

+

Gets the turf above the given target. Returns null if there is no turf above the target

get_turf_below +

+

Gets the turf below the given target. Returns null if there is no turf below the target

make_repel +

+

Register signals in the cordon "danger zone" to do something with whoever trespasses

stop_repel +

+

Unregister all the signals we added in RegisterRepelSignals

+ + + diff --git a/datum/turf_reservation/transit.html b/datum/turf_reservation/transit.html new file mode 100644 index 00000000000..9abd9458430 --- /dev/null +++ b/datum/turf_reservation/transit.html @@ -0,0 +1,35 @@ + + + + + + + /datum/turf_reservation/transit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

transit + + + +

+ + +

Procs

space_dump_softOnly dump if we don't have the hyperspace cordon movement exemption trait

Proc Details

space_dump_soft +

+

Only dump if we don't have the hyperspace cordon movement exemption trait

+ + + diff --git a/datum/tutorial.html b/datum/tutorial.html new file mode 100644 index 00000000000..6fd60c9a808 --- /dev/null +++ b/datum/tutorial.html @@ -0,0 +1,129 @@ + + + + + + + /datum/tutorial - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tutorial + + + +

+ +

The base for a contextual tutorial. +In order to give a tutorial to someone, use SStutorials.suggest_tutorial(user, /datum/tutorial/subtype)

+ + + + + + + + + + +

Vars

grandfather_dateIf set, any account who started playing before this date will not be given this tutorial. +Date is in YYYY-MM-DD format.
userThe mob we are giving the tutorial to

Procs

animate_ui_elementCreates a UI element with the given icon_state, starts it at initial_screen_loc, and animates it to target_screen_loc. +Waits animate_start_time before moving.
completeCalled by the tutorial when the user has successfully completed it. +Will mark it as completed in the datbaase and kick off destruction of the tutorial.
dismissAs opposed to complete(), this merely hides the tutorial. +This should be used when the user doesn't need the tutorial anymore, but didn't +actually properly finish it.
keybinding_messageGiven a keybind and a message, will replace %KEY% in message with the first keybind they have. +As a fallback, will return the third parameter, message_without_keybinds, if none are set.
managerGets the [/datum/tutorial_manager] that owns this tutorial.
performThe actual steps of the tutorial. Is given any excess arguments of suggest_tutorial. +Must be overridden.
perform_completion_effects_with_delayCalled when the tutorial is being hidden, but before it is deleted. +You should unregister signals and fade out any of your creations in here. +Returns how long extra to delay the deletion.
should_performReturns TRUE/FALSE if this tutorial should be given. +If FALSE, does not mean it won't come back later.
show_instructionShows a large piece of text on the user's screen with the given message. +If a message already exists, will fade it out and replace it.
+

Var Details

grandfather_date + + + + +

+

If set, any account who started playing before this date will not be given this tutorial. +Date is in YYYY-MM-DD format.

user + + + + +

+

The mob we are giving the tutorial to

Proc Details

animate_ui_element +

+

Creates a UI element with the given icon_state, starts it at initial_screen_loc, and animates it to target_screen_loc. +Waits animate_start_time before moving.

complete +

+

Called by the tutorial when the user has successfully completed it. +Will mark it as completed in the datbaase and kick off destruction of the tutorial.

dismiss +

+

As opposed to complete(), this merely hides the tutorial. +This should be used when the user doesn't need the tutorial anymore, but didn't +actually properly finish it.

keybinding_message +

+

Given a keybind and a message, will replace %KEY% in message with the first keybind they have. +As a fallback, will return the third parameter, message_without_keybinds, if none are set.

manager +

+

Gets the [/datum/tutorial_manager] that owns this tutorial.

perform +

+

The actual steps of the tutorial. Is given any excess arguments of suggest_tutorial. +Must be overridden.

perform_completion_effects_with_delay +

+

Called when the tutorial is being hidden, but before it is deleted. +You should unregister signals and fade out any of your creations in here. +Returns how long extra to delay the deletion.

should_perform +

+

Returns TRUE/FALSE if this tutorial should be given. +If FALSE, does not mean it won't come back later.

show_instruction +

+

Shows a large piece of text on the user's screen with the given message. +If a message already exists, will fade it out and replace it.

+ + + diff --git a/datum/tutorial_manager.html b/datum/tutorial_manager.html new file mode 100644 index 00000000000..8ac2779a7d1 --- /dev/null +++ b/datum/tutorial_manager.html @@ -0,0 +1,99 @@ + + + + + + + /datum/tutorial_manager - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tutorial_manager + + + +

+ +

A singleton that manages when to create tutorials of a specific tutorial type.

+ + + + + + + +

Vars

finished_ckeysckeys that we know have finished the tutorial
performing_ckeysckeys that have performed the tutorial, but have not completed it. +Doesn't mean that they can still see the tutorial, might have meant the tutorial was dismissed +without being completed, such as during a log out.

Procs

completeMarks the tutorial as completed. +Call /datum/tutorial/proc/complete() instead.
dismissDismisses the tutorial, not marking it as completed in the database. +Call /datum/tutorial/proc/dismiss() instead.
get_keyGives the key that will be saved in the database. +Must be 64 characters or less.
mark_as_completedGiven a ckey, will mark them as being completed without affecting the database. +Call /datum/tutorial/proc/complete() instead.
should_runChecks if the user should be given this tutorial
try_performChecks if we should perform the tutorial for the given user, and performs if so. +Use SStutorials.suggest_tutorial instead of calling this directly.
+

Var Details

finished_ckeys + + + + +

+

ckeys that we know have finished the tutorial

performing_ckeys + + + + +

+

ckeys that have performed the tutorial, but have not completed it. +Doesn't mean that they can still see the tutorial, might have meant the tutorial was dismissed +without being completed, such as during a log out.

Proc Details

complete +

+

Marks the tutorial as completed. +Call /datum/tutorial/proc/complete() instead.

dismiss +

+

Dismisses the tutorial, not marking it as completed in the database. +Call /datum/tutorial/proc/dismiss() instead.

get_key +

+

Gives the key that will be saved in the database. +Must be 64 characters or less.

mark_as_completed +

+

Given a ckey, will mark them as being completed without affecting the database. +Call /datum/tutorial/proc/complete() instead.

should_run +

+

Checks if the user should be given this tutorial

try_perform +

+

Checks if we should perform the tutorial for the given user, and performs if so. +Use SStutorials.suggest_tutorial instead of calling this directly.

+ + + diff --git a/datum/ui_state.html b/datum/ui_state.html new file mode 100644 index 00000000000..12ed52e7e98 --- /dev/null +++ b/datum/ui_state.html @@ -0,0 +1,40 @@ + + + + + + + /datum/ui_state - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ui_state + + + +

+ + +

Procs

can_use_topicprivate

Proc Details

can_use_topic +

+

private

+

Checks if a user can use src_object's UI, and returns the state. +Can call a mob proc, which allows overrides for each mob.

+

required src_object datum The object/datum which owns the UI. +required user mob The mob who opened/is using the UI.

+

return UI_state The state of the UI.

+ + + diff --git a/datum/unit_test.html b/datum/unit_test.html new file mode 100644 index 00000000000..6ba6d2f238f --- /dev/null +++ b/datum/unit_test.html @@ -0,0 +1,96 @@ + + + + + + + /datum/unit_test - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

unit_test + + + +

+ + + + + + + + + + +

Vars

abstract_typeDo not instantiate if type matches this
priorityThe priority of the test, the larger it is the later it fires
run_loc_floor_bottom_leftThe bottom left floor turf of the testing zone
run_loc_floor_top_rightThe top right floor turf of the testing zone
uncreatablesList of atoms that we don't want to ever initialize in an agnostic context, like for Create and Destroy. Stored on the base datum for usability in other relevant tests that need this data.

Procs

allocateAllocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over
build_list_of_uncreatablesBuilds (and returns) a list of atoms that we shouldn't initialize in generic testing, like Create and Destroy. +It is appreciated to add the reason why the atom shouldn't be initialized if you add it to this list.
get_flat_icon_for_all_directionsHelper for screenshot tests to take an image of an atom from all directions and insert it into one icon
log_for_testLogs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions
+

Var Details

abstract_type + + + + +

+

Do not instantiate if type matches this

priority + + + + +

+

The priority of the test, the larger it is the later it fires

run_loc_floor_bottom_left + + + + +

+

The bottom left floor turf of the testing zone

run_loc_floor_top_right + + + + +

+

The top right floor turf of the testing zone

uncreatables + + + + +

+

List of atoms that we don't want to ever initialize in an agnostic context, like for Create and Destroy. Stored on the base datum for usability in other relevant tests that need this data.

Proc Details

allocate +

+

Allocates an instance of the provided type, and places it somewhere in an available loc +Instances allocated through this proc will be destroyed when the test is over

build_list_of_uncreatables +

+

Builds (and returns) a list of atoms that we shouldn't initialize in generic testing, like Create and Destroy. +It is appreciated to add the reason why the atom shouldn't be initialized if you add it to this list.

get_flat_icon_for_all_directions +

+

Helper for screenshot tests to take an image of an atom from all directions and insert it into one icon

log_for_test +

+

Logs a test message. Will use GitHub action syntax found at https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions

+ + + diff --git a/datum/unit_test/atmospheric_gas_transfer.html b/datum/unit_test/atmospheric_gas_transfer.html new file mode 100644 index 00000000000..0d8c5c26b21 --- /dev/null +++ b/datum/unit_test/atmospheric_gas_transfer.html @@ -0,0 +1,43 @@ + + + + + + + /datum/unit_test/atmospheric_gas_transfer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

atmospheric_gas_transfer + + + +

+ +

Test to make sure the pressure pumping proc used by things like portable pumps, pressure pumps, etc actually work.

+

Procs

nob_to_tritProc to transfer x moles of x temp nob to x moles of x temp trit.

Proc Details

nob_to_trit +

+

Proc to transfer x moles of x temp nob to x moles of x temp trit.

+

Arguments:

+
+ + + diff --git a/datum/unit_test/atmospherics_sanity.html b/datum/unit_test/atmospherics_sanity.html new file mode 100644 index 00000000000..e26bc7aab28 --- /dev/null +++ b/datum/unit_test/atmospherics_sanity.html @@ -0,0 +1,80 @@ + + + + + + + /datum/unit_test/atmospherics_sanity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmospherics_sanity + + + +

+ +

This test checks that all expected areas are connected to a starting area

+ + + + + + +

Vars

crawled_areasList of areas already crawled, to prevent needless crawling
crawlsWe run this test in parallel, so we need to keep track of how many crawls are running +This is to prevent stack overflow mostly
remaining_areasList of areas remaining to be checked
starting_areasList of areas to start crawling from

Procs

crawl_areaCrawls through an area, iterating over all vents/scrubbers and their connected pipelines
crawl_areasIterates over starting_areas and ensures that all goal areas are connected to atleast one start
crawl_pipelineCrawls through a pipeline, iterating over all connected machines and their connected areas
+

Var Details

crawled_areas + + + + +

+

List of areas already crawled, to prevent needless crawling

crawls + + + + +

+

We run this test in parallel, so we need to keep track of how many crawls are running +This is to prevent stack overflow mostly

remaining_areas + + + + +

+

List of areas remaining to be checked

starting_areas + + + + +

+

List of areas to start crawling from

Proc Details

crawl_area +

+

Crawls through an area, iterating over all vents/scrubbers and their connected pipelines

crawl_areas +

+

Iterates over starting_areas and ensures that all goal areas are connected to atleast one start

crawl_pipeline +

+

Crawls through a pipeline, iterating over all connected machines and their connected areas

+ + + diff --git a/datum/unit_test/binary_insert.html b/datum/unit_test/binary_insert.html new file mode 100644 index 00000000000..f8af4088206 --- /dev/null +++ b/datum/unit_test/binary_insert.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/binary_insert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

binary_insert + + + +

+ + +

Procs

RunA test to ensure the sanity of BINARY_INSERT

Proc Details

Run +

+

A test to ensure the sanity of BINARY_INSERT

+ + + diff --git a/datum/unit_test/blindness.html b/datum/unit_test/blindness.html new file mode 100644 index 00000000000..3aa3d6e789c --- /dev/null +++ b/datum/unit_test/blindness.html @@ -0,0 +1,29 @@ + + + + + + + /datum/unit_test/blindness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

blindness + + + +

+ +

Unit test to check that blindness adds the correct status effects, overlays, and client colors

+

Also checks that blindness is added and removed correctly when it should and shouldn't be

+ + + diff --git a/datum/unit_test/breath.html b/datum/unit_test/breath.html new file mode 100644 index 00000000000..b7c22e7a9fc --- /dev/null +++ b/datum/unit_test/breath.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/breath - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

breath + + + +

+ +

Tests to ensure humans, plasmamen, and ashwalkers can breath in normal situations. +Ensures algorithmic correctness of the "breathe()" and "toggle_internals()" procs. +Built to prevent regression on an issue surrounding QUANTIZE() and BREATH_VOLUME. +See the comment on BREATH_VOLUME for more details.

+

Procs

equip_labrat_internalsEquips the given Human with a new instance of the given tank type and a breathing mask. +Returns the new equipped tank.

Proc Details

equip_labrat_internals +

+

Equips the given Human with a new instance of the given tank type and a breathing mask. +Returns the new equipped tank.

+ + + diff --git a/datum/unit_test/container_resist.html b/datum/unit_test/container_resist.html new file mode 100644 index 00000000000..eed571d6efd --- /dev/null +++ b/datum/unit_test/container_resist.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/container_resist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

container_resist + + + +

+ + +

Procs

RunTest that you can resist out of a container

Proc Details

Run +

+

Test that you can resist out of a container

+ + + diff --git a/datum/unit_test/dcs_check_list_arguments.html b/datum/unit_test/dcs_check_list_arguments.html new file mode 100644 index 00000000000..095aecc5756 --- /dev/null +++ b/datum/unit_test/dcs_check_list_arguments.html @@ -0,0 +1,53 @@ + + + + + + + /datum/unit_test/dcs_check_list_arguments - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dcs_check_list_arguments + + + +

+ +

list arguments for bespoke elements are treated as a text ref in the ID, like any other datum. +Which means that, unless cached, using lists as arguments will lead to multiple instance of the same element +being created over and over.

+

Because of how it works, this unit test checks that these list datum args +do not share similar contents (when rearranged in descending alpha-numerical order), to ensure that +the least necessary amount of elements is created. So, using static lists may not be enough, +for example, in the case of two different critters using the death_drops element to drop ectoplasm on death, since, +despite being static lists, the two are different instances assigned to different mob types.

+

Most of the time, you won't encounter two different static lists with similar contents used as element args, +meaning using static lists is accepted. However, should that happen, it's advised to replace the instances +with various string_x procs: lists, assoc_lists, assoc_nested_lists or numbers_list, depending on the type.

+

In the case of an element where the position of the contents of each datum list argument is important, +ELEMENT_DONT_SORT_LIST_ARGS should be added to its flags, to prevent such issues where the contents are similar +when sorted, but the element instances are not.

+

In the off-chance the element is not compatible with this unit test (such as for connect_loc et simila), +you can also use ELEMENT_NO_LIST_UNIT_TEST so that they won't be processed by this unit test at all.

+

Vars

priorityThis unit test requires every (unless ignored) atom to have been created at least once +for a more accurate search, which is why it's run after create_and_destroy is done running.
+

Var Details

priority + + + + +

+

This unit test requires every (unless ignored) atom to have been created at least once +for a more accurate search, which is why it's run after create_and_destroy is done running.

+ + + diff --git a/datum/unit_test/defined_inhand_icon_states.html b/datum/unit_test/defined_inhand_icon_states.html new file mode 100644 index 00000000000..1112f6d8083 --- /dev/null +++ b/datum/unit_test/defined_inhand_icon_states.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/defined_inhand_icon_states - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

defined_inhand_icon_states + + + +

+ +

Makes sure items with defined inhand_icon_states... actually have icons that exist!

+

Vars

additional_inhands_locationadditional_inhands_location is for downstream modularity support. as an example, for skyrat's usage, set additional_inhands_location = "modular_skyrat/master_files/icons/mob/inhands/" +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/inhands/") below the if(additional_inhands_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.
+

Var Details

additional_inhands_location + + + + +

+

additional_inhands_location is for downstream modularity support. as an example, for skyrat's usage, set additional_inhands_location = "modular_skyrat/master_files/icons/mob/inhands/" +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/inhands/") below the if(additional_inhands_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.

+ + + diff --git a/datum/unit_test/dismemberment.html b/datum/unit_test/dismemberment.html new file mode 100644 index 00000000000..3ee45fa067d --- /dev/null +++ b/datum/unit_test/dismemberment.html @@ -0,0 +1,36 @@ + + + + + + + /datum/unit_test/dismemberment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dismemberment + + + +

+ + +

Procs

RunUnit test to check that held items are dropped correctly when we are dismembered.

Proc Details

Run +

+

Unit test to check that held items are dropped correctly when we are dismembered.

+

Also tests for edge cases such as undroppable items.

+ + + diff --git a/datum/unit_test/ensure_subtree_operational_datum.html b/datum/unit_test/ensure_subtree_operational_datum.html new file mode 100644 index 00000000000..ef2043b478d --- /dev/null +++ b/datum/unit_test/ensure_subtree_operational_datum.html @@ -0,0 +1,51 @@ + + + + + + + /datum/unit_test/ensure_subtree_operational_datum - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ensure_subtree_operational_datum + + + +

+ +

Unit Test that ensure that if we add a specific planning subtree to a basic mob's planning tree, that we also have the operational datum needed for it (component/element). +This can be extended to other "mandatory" operational datums for certain subtrees to work.

+ + +

Vars

testable_mobsAssociated list of mobs that we need to test this on. Key is the typepath of the mob, value is a list of the planning subtree and the operational datums that are required for it.

Procs

gather_testable_mobsFirst, look for all mobs that have a planning subtree that requires an element, then add it to the list for stuff to test afterwards. Done like this to not have one mumbo proc that's hard to read.
test_applicable_mobsThen, test the mobs that we've found
+

Var Details

testable_mobs + + + + +

+

Associated list of mobs that we need to test this on. Key is the typepath of the mob, value is a list of the planning subtree and the operational datums that are required for it.

Proc Details

gather_testable_mobs +

+

First, look for all mobs that have a planning subtree that requires an element, then add it to the list for stuff to test afterwards. Done like this to not have one mumbo proc that's hard to read.

test_applicable_mobs +

+

Then, test the mobs that we've found

+ + + diff --git a/datum/unit_test/explosion_action.html b/datum/unit_test/explosion_action.html new file mode 100644 index 00000000000..d1fe86ce37c --- /dev/null +++ b/datum/unit_test/explosion_action.html @@ -0,0 +1,91 @@ + + + + + + + /datum/unit_test/explosion_action - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

explosion_action + + + +

+ +

Tests the EX_ACT macro on several different types of atoms to ensure that it still works as expected.

+ + + + + + + +

Vars

alien_brute_lossrolling var for how much brute damage the alien has taken.
alien_burn_lossrolling var for how much burn damage the alien has taken.
alien_ear_damagealiens get a bit of damage done to their ears when exploded, so check that too.

Procs

execute_mob_testsTests the EX_ACT macro on several different types of mobs to ensure that it still works as expected. +Throughout this test, we use the "abstract" type of a /mob/living to ensure that the raw framework will still work and remain hardy against any ex_act() overrides +that may be done on the subtype-to-subtype basis. Any time we use an explicit subtype is to test that framework, so if you update that for some reason, you should also update this test. +Like, if you balance aliens to take more ear damage and this test fails, just update the test to reflect that. That's it.
execute_obj_testsTests the EX_ACT() macro on objs to ensure some level of the underlying framework still functions.
execute_turf_testsTests the EX_ACT() macro on turf subtypes to ensure some level of the underlying framework still functions.
read_alien_damagesProc to lessen the amount of copypasta we do for the alien tests, simply sets the rolling vars we have.
set_up_test_dogSets up a fully armored corgi for testing purposes. Split out into its own proc as to not clutter up the main test.
+

Var Details

alien_brute_loss + + + + +

+

rolling var for how much brute damage the alien has taken.

alien_burn_loss + + + + +

+

rolling var for how much burn damage the alien has taken.

alien_ear_damage + + + + +

+

aliens get a bit of damage done to their ears when exploded, so check that too.

Proc Details

execute_mob_tests +

+

Tests the EX_ACT macro on several different types of mobs to ensure that it still works as expected. +Throughout this test, we use the "abstract" type of a /mob/living to ensure that the raw framework will still work and remain hardy against any ex_act() overrides +that may be done on the subtype-to-subtype basis. Any time we use an explicit subtype is to test that framework, so if you update that for some reason, you should also update this test. +Like, if you balance aliens to take more ear damage and this test fails, just update the test to reflect that. That's it.

execute_obj_tests +

+

Tests the EX_ACT() macro on objs to ensure some level of the underlying framework still functions.

execute_turf_tests +

+

Tests the EX_ACT() macro on turf subtypes to ensure some level of the underlying framework still functions.

read_alien_damages +

+

Proc to lessen the amount of copypasta we do for the alien tests, simply sets the rolling vars we have.

set_up_test_dog +

+

Sets up a fully armored corgi for testing purposes. Split out into its own proc as to not clutter up the main test.

+ + + diff --git a/datum/unit_test/font_awesome_icons.html b/datum/unit_test/font_awesome_icons.html new file mode 100644 index 00000000000..2d3d8c244f9 --- /dev/null +++ b/datum/unit_test/font_awesome_icons.html @@ -0,0 +1,51 @@ + + + + + + + /datum/unit_test/font_awesome_icons - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

font_awesome_icons + + + +

+ +

This unit test verifies that all Font Awesome icons are present in code, and that all quirk icons are valid.

+ + +

Procs

load_parse_verifyLoads the Font Awesome CSS file, parses it into a list of icon names, and compares it to the list of icons in code. +If there are any differences, note them.
parse_fa_css_into_icon_listParses the given Font Awesome CSS file into a list of icon names.
verify_quirk_iconsVerifies that all quirk icons are valid.

Proc Details

load_parse_verify +

+

Loads the Font Awesome CSS file, parses it into a list of icon names, and compares it to the list of icons in code. +If there are any differences, note them.

parse_fa_css_into_icon_list +

+

Parses the given Font Awesome CSS file into a list of icon names.

verify_quirk_icons +

+

Verifies that all quirk icons are valid.

+ + + diff --git a/datum/unit_test/frame_stacking.html b/datum/unit_test/frame_stacking.html new file mode 100644 index 00000000000..c9eb374dbf2 --- /dev/null +++ b/datum/unit_test/frame_stacking.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/frame_stacking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

frame_stacking + + + +

+ + +

Procs

RunSimple unit test to ensure there's no regression in behaviour where machine frames should not be stacked.

Proc Details

Run +

+

Simple unit test to ensure there's no regression in behaviour where machine frames should not be stacked.

+

We attempt to use the RCD to build multiple stacked machine frames on a turf. If we end up with any number that +is not equal to 1, this means we've either built no machine frames (bad) or built more than one (regression).

+

If this is successful, we attempt to spawn in some no-density machines that result in machine frames and we run +the test again on our turf containing our single frame, deconstructing the machines! This should also not spawn +any stacked machine frames.

+ + + diff --git a/datum/unit_test/glass_style_icons.html b/datum/unit_test/glass_style_icons.html new file mode 100644 index 00000000000..f3040fbe269 --- /dev/null +++ b/datum/unit_test/glass_style_icons.html @@ -0,0 +1,43 @@ + + + + + + + /datum/unit_test/glass_style_icons - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

glass_style_icons + + + +

+ +

Unit tests all glass style datums with icons / icon states that those are valid and not missing.

+ +

Vars

generic_drink_locThe generic commonplace DMI for all normal drink sprites
generic_mixed_drink_locThe generic commonplace DMI for all mixed drink sprites
+

Var Details

generic_drink_loc + + + + +

+

The generic commonplace DMI for all normal drink sprites

generic_mixed_drink_loc + + + + +

+

The generic commonplace DMI for all mixed drink sprites

+ + + diff --git a/datum/unit_test/hydroponics_harvest.html b/datum/unit_test/hydroponics_harvest.html new file mode 100644 index 00000000000..d5983649cee --- /dev/null +++ b/datum/unit_test/hydroponics_harvest.html @@ -0,0 +1,49 @@ + + + + + + + /datum/unit_test/hydroponics_harvest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

hydroponics_harvest + + + +

+ + +

Procs

RunA test to make sure harvesting plants in hydroponics results in the correct number of plants with the correct chemicals inside of it.

Proc Details

Run +

+

A test to make sure harvesting plants in hydroponics results in the correct number of plants with the correct chemicals inside of it.

+

We plant a seed into a tray and harvest it with a human. +This seed is set to have the maximum potency and yield with no instability to prevent mutations. +Then we check how many products we got from the harvest. For most plants, this should be 10 products, as we have a yield of 10. +Alternatively, if the plant has a trait that halves the products on harvest, it should result in 5 products.

+

After we harvest our seed, we check for the plant's nutriments and vitamins. +Most plants have nutriments, so most plants should result in a number of nutriments. +Some plants have vitamins and some don't, so we then check the number of vitamins. +Additionally, the plant may have traits that double the amount of chemicals it can hold. We check the max volume in that case and adjust accordingly. +Plants may have additional chemicals genes that we don't check. +Plants may have traits that effect the final product's contents that we don't check. +Chemicals may react inside of the plant on harvest, which we don't check.

+

After we check the harvest and the chemicals in the harvest, we go ahead and clean up the harvested products and remove the seed if it has perennial growth.

+

This test checks both /obj/item/food/grown items and /obj/item/grown items since, despite both being used in hydroponics, +they aren't the same type so everything that works with one isn't guaranteed to work with the other.

+ + + diff --git a/datum/unit_test/knockoff_component.html b/datum/unit_test/knockoff_component.html new file mode 100644 index 00000000000..b256ba03af6 --- /dev/null +++ b/datum/unit_test/knockoff_component.html @@ -0,0 +1,36 @@ + + + + + + + /datum/unit_test/knockoff_component - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

knockoff_component + + + +

+ +

Test that the knockoff component will properly cause something +with it applied to be knocked off when it should be.

+

Procs

set_glasses_wearerHelper to reset the glasses dummy back to it's original position, clear knockdown, and return glasses (if gone)

Proc Details

set_glasses_wearer +

+

Helper to reset the glasses dummy back to it's original position, clear knockdown, and return glasses (if gone)

+ + + diff --git a/datum/unit_test/lungs.html b/datum/unit_test/lungs.html new file mode 100644 index 00000000000..d23d22b81af --- /dev/null +++ b/datum/unit_test/lungs.html @@ -0,0 +1,89 @@ + + + + + + + /datum/unit_test/lungs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

lungs + + + +

+ +

Tests the standard, plasmaman, and lavaland lungs organ to ensure breathing and suffocation behave as expected. +Performs a check on each main (can be life-sustaining) gas, and ensures gas alerts are only thrown when expected.

+ + + + + + + +

Procs

create_gas_mixSet up a 2500-Litre gas mixture with the given gases and percentages.
create_lavaland_mixSet up an Lavaland gas mix which is "ideal" for Ashwalker life.
create_nitrogen_mixSet up a pure Nitrogen gas mix.
create_plasma_mixSet up an O2/N2 gas mix which is "ideal" for plasmamen.
create_standard_mixSet up an O2/N2 gas mix which is "ideal" for organic life.
lungs_test_alert_maxTests maximum gas alerts by comparing gas pressure.
lungs_test_alert_minTests minimum gas alerts by comparing gas pressure.
lungs_test_check_breathComprehensive unit test for [/obj/item/organ/internal/lungs/proc/check_breath()] +If "expect_failure" is set to TRUE, the test ensures the given Human suffocated. +A "test_name" string is required to contextualize test logs. Describe the gas you're testing.

Proc Details

create_gas_mix +

+

Set up a 2500-Litre gas mixture with the given gases and percentages.

create_lavaland_mix +

+

Set up an Lavaland gas mix which is "ideal" for Ashwalker life.

create_nitrogen_mix +

+

Set up a pure Nitrogen gas mix.

create_plasma_mix +

+

Set up an O2/N2 gas mix which is "ideal" for plasmamen.

create_standard_mix +

+

Set up an O2/N2 gas mix which is "ideal" for organic life.

lungs_test_alert_max +

+

Tests maximum gas alerts by comparing gas pressure.

lungs_test_alert_min +

+

Tests minimum gas alerts by comparing gas pressure.

lungs_test_check_breath +

+

Comprehensive unit test for [/obj/item/organ/internal/lungs/proc/check_breath()] +If "expect_failure" is set to TRUE, the test ensures the given Human suffocated. +A "test_name" string is required to contextualize test logs. Describe the gas you're testing.

+ + + diff --git a/datum/unit_test/machine_disassembly.html b/datum/unit_test/machine_disassembly.html new file mode 100644 index 00000000000..42d973adc82 --- /dev/null +++ b/datum/unit_test/machine_disassembly.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/machine_disassembly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

machine_disassembly + + + +

+ + +

Procs

RunEnsures that when disassembling a machine, all the parts are given back

Proc Details

Run +

+

Ensures that when disassembling a machine, all the parts are given back

+ + + diff --git a/datum/unit_test/mafia.html b/datum/unit_test/mafia.html new file mode 100644 index 00000000000..056ab7699b2 --- /dev/null +++ b/datum/unit_test/mafia.html @@ -0,0 +1,39 @@ + + + + + + + /datum/unit_test/mafia - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mafia + + + +

+ +

Checks if a Mafia game with a Modular Computer and a Ghost will run with 'basic_setup', which is the default +way the game is ran, without admin-intervention. +The game should immediately end in a Town Victory due to lack of evils, but we can verify that both the PDA and the ghost +successfully managed to get into the round.

+

Vars

mafia_game_startedBoolean on whether the Mafia game started or not. Will Fail if it hasn't.
+

Var Details

mafia_game_started + + + + +

+

Boolean on whether the Mafia game started or not. Will Fail if it hasn't.

+ + + diff --git a/datum/unit_test/mapload_space_verification.html b/datum/unit_test/mapload_space_verification.html new file mode 100644 index 00000000000..4df8aef4c35 --- /dev/null +++ b/datum/unit_test/mapload_space_verification.html @@ -0,0 +1,38 @@ + + + + + + + /datum/unit_test/mapload_space_verification - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mapload_space_verification + + + +

+ +

Verifies that there are no space turfs inside a station area, or on any planetary z-level. Sometimes, these are introduced during the load of the map and are not present in the DMM itself. +Let's just make sure that we have a stop-gap measure in place to catch these if they pop up so we don't put it onto production servers should something errant come up.

+

Procs

validate_planetary_mapVerifies that there are ZERO space turfs on a valid planetary station. We NEVER want space turfs here, so we do not check for /area/space here since something completely undesirable is happening. +There are also a few considerations specific to planetary stations included within, so let's spin it out into a separate proc for clarity.

Proc Details

validate_planetary_map +

+

Verifies that there are ZERO space turfs on a valid planetary station. We NEVER want space turfs here, so we do not check for /area/space here since something completely undesirable is happening. +There are also a few considerations specific to planetary stations included within, so let's spin it out into a separate proc for clarity.

+ + + diff --git a/datum/unit_test/mecha_damage.html b/datum/unit_test/mecha_damage.html new file mode 100644 index 00000000000..566bdbd44fa --- /dev/null +++ b/datum/unit_test/mecha_damage.html @@ -0,0 +1,36 @@ + + + + + + + /datum/unit_test/mecha_damage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mecha_damage + + + +

+ +

Unit test to ensure that mechs take the correct amount of damage +based on armor, and that their equipment is properly damaged as well.

+

Procs

check_integritySimple helper to check if the integrity of an atom involved has taken damage, and if they took the amount of damage it should have.

Proc Details

check_integrity +

+

Simple helper to check if the integrity of an atom involved has taken damage, and if they took the amount of damage it should have.

+ + + diff --git a/datum/unit_test/merge_type.html b/datum/unit_test/merge_type.html new file mode 100644 index 00000000000..13b21bf5986 --- /dev/null +++ b/datum/unit_test/merge_type.html @@ -0,0 +1,39 @@ + + + + + + + /datum/unit_test/merge_type - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

merge_type + + + +

+ + +

Procs

Runthe limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh

Proc Details

Run +

+

the limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh

+ + + diff --git a/datum/unit_test/mind_swap_spell.html b/datum/unit_test/mind_swap_spell.html new file mode 100644 index 00000000000..c9479958d12 --- /dev/null +++ b/datum/unit_test/mind_swap_spell.html @@ -0,0 +1,31 @@ + + + + + + + /datum/unit_test/mind_swap_spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

mind_swap_spell + + + +

+ +

Validates that the mind swap spell +properly transfers minds between a caster and a target.

+

Also checks that the mindswap spell itself was transferred over +to the new body on cast.

+ + + diff --git a/datum/unit_test/missing_icons.html b/datum/unit_test/missing_icons.html new file mode 100644 index 00000000000..44cdf53200b --- /dev/null +++ b/datum/unit_test/missing_icons.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/missing_icons - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

missing_icons + + + +

+ +

Makes sure objects actually have icons that exist!

+

Vars

additional_icon_locationadditional_icon_location is for downstream modularity support. +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.
+

Var Details

additional_icon_location + + + + +

+

additional_icon_location is for downstream modularity support. +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.

+ + + diff --git a/datum/unit_test/mob_damage.html b/datum/unit_test/mob_damage.html new file mode 100644 index 00000000000..fd3c4080f22 --- /dev/null +++ b/datum/unit_test/mob_damage.html @@ -0,0 +1,167 @@ + + + + + + + /datum/unit_test/mob_damage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mob_damage + + + +

+ +

Tests to make sure mob damage procs are working correctly

+ + + + + + + + + + + +

Procs

apply_damageApply a specific amount of damage to the mob using adjustBruteLoss(), adjustToxLoss(), etc.
set_damageSet a specific amount of damage for the mob using setBruteLoss(), setToxLoss(), etc.
test_apply_damageTest whether the adjust damage procs return the correct values and that the mob's health is the expected value afterwards.
test_biotypesTesting biotypes
test_godmodeTests damage procs with godmode on
test_nobreathTesting oxyloss with the TRAIT_NOBREATH
test_ordered_healingTesting heal_ordered_damage()
test_sanity_complexSanity tests damage and healing using the more complex procs like take_overall_damage(), heal_overall_damage(), etc
test_sanity_simpleSanity tests damage and healing using adjustToxLoss, adjustBruteLoss, etc
test_set_damageTest whether the set damage procs return the correct values and that the mob's health is the expected value afterwards.
test_toxintraitsTesting toxloss with TRAIT_TOXINLOVER and TRAIT_TOXIMMUNE
verify_damageCheck that the mob has a specific amount of damage

Proc Details

apply_damage +

+

Apply a specific amount of damage to the mob using adjustBruteLoss(), adjustToxLoss(), etc.

+

By default this applies damage of every type to the mob, and checks that the damage procs return the value +Arguments:

+

set_damage +

+

Set a specific amount of damage for the mob using setBruteLoss(), setToxLoss(), etc.

+

By default this sets every type of damage to for the mob, and checks that the damage procs return the value +Arguments:

+

test_apply_damage +

+

Test whether the adjust damage procs return the correct values and that the mob's health is the expected value afterwards.

+

By default this calls apply_damage(amount) followed by verify_damage(amount_after) and returns TRUE if both succeeded. +amount_after defaults to the mob's current stamina loss but can be overridden as needed.

+

Arguments:

+

test_biotypes +

+

Testing biotypes

test_godmode +

+

Tests damage procs with godmode on

test_nobreath +

+

Testing oxyloss with the TRAIT_NOBREATH

test_ordered_healing +

+

Testing heal_ordered_damage()

test_sanity_complex +

+

Sanity tests damage and healing using the more complex procs like take_overall_damage(), heal_overall_damage(), etc

test_sanity_simple +

+

Sanity tests damage and healing using adjustToxLoss, adjustBruteLoss, etc

test_set_damage +

+

Test whether the set damage procs return the correct values and that the mob's health is the expected value afterwards.

+

By default this calls set_damage(amount) followed by verify_damage(amount_after) and returns TRUE if both succeeded. +amount_after defaults to the mob's current stamina loss but can be overridden as needed.

+

Arguments:

+

test_toxintraits +

+

Testing toxloss with TRAIT_TOXINLOVER and TRAIT_TOXIMMUNE

verify_damage +

+

Check that the mob has a specific amount of damage

+

By default this checks that the mob has of every type of damage. +Arguments:

+
+ + + diff --git a/datum/unit_test/mob_damage/basic.html b/datum/unit_test/mob_damage/basic.html new file mode 100644 index 00000000000..13242b26d17 --- /dev/null +++ b/datum/unit_test/mob_damage/basic.html @@ -0,0 +1,43 @@ + + + + + + + /datum/unit_test/mob_damage/basic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

basic + + + +

+ +

Tests that mob damage procs are working as intended for basic mobs

+

Procs

verify_damageCheck that the mob has a specific amount of damage. Note: basic mobs have all incoming damage types besides stam converted into brute damage.

Proc Details

verify_damage +

+

Check that the mob has a specific amount of damage. Note: basic mobs have all incoming damage types besides stam converted into brute damage.

+

By default this checks that the mob has of every type of damage. +Arguments:

+
+ + + diff --git a/datum/unit_test/modify_fantasy_variable.html b/datum/unit_test/modify_fantasy_variable.html new file mode 100644 index 00000000000..c0696bda315 --- /dev/null +++ b/datum/unit_test/modify_fantasy_variable.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/modify_fantasy_variable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

modify_fantasy_variable + + + +

+ + +

Procs

generate_failure_messageReturns a string that we use to describe the failure of the test.

Proc Details

generate_failure_message +

+

Returns a string that we use to describe the failure of the test.

+ + + diff --git a/datum/unit_test/monkey_business.html b/datum/unit_test/monkey_business.html new file mode 100644 index 00000000000..f41e13ccdda --- /dev/null +++ b/datum/unit_test/monkey_business.html @@ -0,0 +1,32 @@ + + + + + + + /datum/unit_test/monkey_business - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

monkey_business + + + +

+ +

Monkey Business

+

This unit test spawns a predefined number of monkies, each of which +are set to have a 100% chance of attempting to use something next to them each Life

+

This test basically just checks to see if attack procs are working correctly, +but its also hilarious and fun to watch locally.

+ + + diff --git a/datum/unit_test/mutant_hands.html b/datum/unit_test/mutant_hands.html new file mode 100644 index 00000000000..1d4c9fda3f4 --- /dev/null +++ b/datum/unit_test/mutant_hands.html @@ -0,0 +1,30 @@ + + + + + + + /datum/unit_test/mutant_hands - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

mutant_hands + + + +

+ +

Test: Mutant hands component

+

Adding mutant hand component gives two mutant hands in each hand slot +Losing a limb removes the associated hand, and re-gaining the limb re-gives the associated hand

+ + + diff --git a/datum/unit_test/mutant_hands_carry.html b/datum/unit_test/mutant_hands_carry.html new file mode 100644 index 00000000000..08c68f06461 --- /dev/null +++ b/datum/unit_test/mutant_hands_carry.html @@ -0,0 +1,30 @@ + + + + + + + /datum/unit_test/mutant_hands_carry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

mutant_hands_carry + + + +

+ +

Test: Mutant hands fireman carrying

+

Mutant hands currently do not support fireman carrying despite being theoretically allowed, +tests that this continues to be the case. Can be updated if this assertion is changed.

+ + + diff --git a/datum/unit_test/mutant_hands_with_nodrop.html b/datum/unit_test/mutant_hands_with_nodrop.html new file mode 100644 index 00000000000..eff178fe7c8 --- /dev/null +++ b/datum/unit_test/mutant_hands_with_nodrop.html @@ -0,0 +1,30 @@ + + + + + + + /datum/unit_test/mutant_hands_with_nodrop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

mutant_hands_with_nodrop + + + +

+ +

Test: Mutant hands component with a nodrop item in place

+

Adding mutant hand component does not force no-drop items out of hands +If the no-drop item disappears / is deleted, a new hand should re-appear immediately

+ + + diff --git a/datum/unit_test/nuke_cinematic.html b/datum/unit_test/nuke_cinematic.html new file mode 100644 index 00000000000..43cf83397ef --- /dev/null +++ b/datum/unit_test/nuke_cinematic.html @@ -0,0 +1,51 @@ + + + + + + + /datum/unit_test/nuke_cinematic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nuke_cinematic + + + +

+ +

Unit tests that a nuke going off plays a cinematic, +and that it actually kills people.

+ + +

Vars

cinematic_playingUsed to track via signal if the correct cinematic / animation is playing.
cinematic_playing_typeTracks what typepath of cinematic is being played.

Procs

check_cinematicUsed to track whenever a cinematic starts playing, so we can check if it's the right one.
+

Var Details

cinematic_playing + + + + +

+

Used to track via signal if the correct cinematic / animation is playing.

cinematic_playing_type + + + + +

+

Tracks what typepath of cinematic is being played.

Proc Details

check_cinematic +

+

Used to track whenever a cinematic starts playing, so we can check if it's the right one.

+ + + diff --git a/datum/unit_test/objectives_category.html b/datum/unit_test/objectives_category.html new file mode 100644 index 00000000000..2489d1b3808 --- /dev/null +++ b/datum/unit_test/objectives_category.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/objectives_category - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

objectives_category + + + +

+ + +

Procs

reward_is_zeroReturns whether the reward specified (in format (min, max)) is zero or not.

Proc Details

reward_is_zero +

+

Returns whether the reward specified (in format (min, max)) is zero or not.

+ + + diff --git a/datum/unit_test/required_map_items.html b/datum/unit_test/required_map_items.html new file mode 100644 index 00000000000..6e166610553 --- /dev/null +++ b/datum/unit_test/required_map_items.html @@ -0,0 +1,52 @@ + + + + + + + /datum/unit_test/required_map_items - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

required_map_items + + + +

+ +

Tests that all expected items are mapped in roundstart.

+

How to add an item to this test:

+ + +

Vars

expected_typesA list of all typepaths that we expect to be in the required items list

Procs

setup_expected_typesUsed to fill the expected types list with all the types we look for on the map. +This list will just be full of typepaths that we expect. +More detailed information about each item (mainly, how much of each should exist) is set on a per item basis
+

Var Details

expected_types + + + + +

+

A list of all typepaths that we expect to be in the required items list

Proc Details

setup_expected_types +

+

Used to fill the expected types list with all the types we look for on the map. +This list will just be full of typepaths that we expect. +More detailed information about each item (mainly, how much of each should exist) is set on a per item basis

+ + + diff --git a/datum/unit_test/screenshot_high_luminosity_eyes.html b/datum/unit_test/screenshot_high_luminosity_eyes.html new file mode 100644 index 00000000000..5b88058b12d --- /dev/null +++ b/datum/unit_test/screenshot_high_luminosity_eyes.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/screenshot_high_luminosity_eyes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

screenshot_high_luminosity_eyes + + + +

+ +

Tests to make sure no punks have broken high luminosity eyes

+

Procs

create_iconCreate the mob icon with light cone underlay

Proc Details

create_icon +

+

Create the mob icon with light cone underlay

+ + + diff --git a/datum/unit_test/security_levels.html b/datum/unit_test/security_levels.html new file mode 100644 index 00000000000..44a46e9bc2a --- /dev/null +++ b/datum/unit_test/security_levels.html @@ -0,0 +1,29 @@ + + + + + + + /datum/unit_test/security_levels - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

security_levels + + + +

+ +

Security Level Unit Test

+

This test is here to ensure there are no security levels with the same name or number level. Having the same name or number level will cause problems.

+ + + diff --git a/datum/unit_test/servingtray.html b/datum/unit_test/servingtray.html new file mode 100644 index 00000000000..5fd68cbf246 --- /dev/null +++ b/datum/unit_test/servingtray.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/servingtray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

servingtray + + + +

+ + +

Procs

RunCheck that standard food items fit on the serving tray

Proc Details

Run +

+

Check that standard food items fit on the serving tray

+ + + diff --git a/datum/unit_test/species_config_sanity.html b/datum/unit_test/species_config_sanity.html new file mode 100644 index 00000000000..5ef127b4f03 --- /dev/null +++ b/datum/unit_test/species_config_sanity.html @@ -0,0 +1,39 @@ + + + + + + + /datum/unit_test/species_config_sanity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

species_config_sanity + + + +

+ + +

Procs

RunSpecies IDs are used in keyed_list config entries and their config values can either be set implicitly or explicitly.

Proc Details

Run +

+

Species IDs are used in keyed_list config entries and their config values can either be set implicitly or explicitly.

+

In order to accomplish this, the keyed_list looks for a specific splitter that is meant to separate the key from the value.

+

While it supports multiple instances of the splitter (for example, space) being present, the intent is ambiguous.

+

To combat that, this unit test runs through every species ID and make sure it doesn't contain the splitter character, so +valid config entries are never ambiguous.

+ + + diff --git a/datum/unit_test/spell_names.html b/datum/unit_test/spell_names.html new file mode 100644 index 00000000000..abfdd6423b6 --- /dev/null +++ b/datum/unit_test/spell_names.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/spell_names - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

spell_names + + + +

+ +

Validates that all spells have a different name.

+

Spell names are used for debugging in some places +as well as an option for admins giving out spells, +so every spell should have a distinct name.

+

If you're making a subtype with only one or two big changes, +consider adding an adjective to the name.

+

"Lesser Fireball" for a subtype of Fireball with a shorter cooldown. +"Deadly Magic Missile" for a subtype of Magic Missile that does damage, etc.

+ + + diff --git a/datum/unit_test/stop_drop_and_roll.html b/datum/unit_test/stop_drop_and_roll.html new file mode 100644 index 00000000000..4921b1ef18d --- /dev/null +++ b/datum/unit_test/stop_drop_and_roll.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/stop_drop_and_roll - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stop_drop_and_roll + + + +

+ + +

Procs

RunTest that stop, drop, and roll lowers fire stacks

Proc Details

Run +

+

Test that stop, drop, and roll lowers fire stacks

+ + + diff --git a/datum/unit_test/test_human_base.html b/datum/unit_test/test_human_base.html new file mode 100644 index 00000000000..5db8d090b3e --- /dev/null +++ b/datum/unit_test/test_human_base.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/test_human_base - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

test_human_base + + + +

+ + +

Procs

RunThis test is used to make sure a flesh-and-bone base human can suffer all the types of wounds, and that suffering more severe wounds removes and replaces the lesser wound. Also tests that /mob/living/carbon/proc/fully_heal removes all wounds

Proc Details

Run +

+

This test is used to make sure a flesh-and-bone base human can suffer all the types of wounds, and that suffering more severe wounds removes and replaces the lesser wound. Also tests that /mob/living/carbon/proc/fully_heal removes all wounds

+ + + diff --git a/datum/unit_test/test_human_bone.html b/datum/unit_test/test_human_bone.html new file mode 100644 index 00000000000..4390973072a --- /dev/null +++ b/datum/unit_test/test_human_bone.html @@ -0,0 +1,41 @@ + + + + + + + /datum/unit_test/test_human_bone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

test_human_bone + + + +

+ + +

Procs

Runthe limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh +This test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)

Proc Details

Run +

+

the limbs have no wound resistance like the chest and head do, so let's go with the r_arm +In order of the wound types we're trying to inflict, what sharpness do we need to deal them? +Since burn wounds need burn damage, duh +This test is used for making sure species with bones but no flesh (skeletons, plasmamen) can only suffer BONE_WOUNDS, and nothing tagged with FLESH_WOUND (it's possible to require both)

+ + + diff --git a/datum/unit_test/transformation_sting.html b/datum/unit_test/transformation_sting.html new file mode 100644 index 00000000000..804228423e4 --- /dev/null +++ b/datum/unit_test/transformation_sting.html @@ -0,0 +1,35 @@ + + + + + + + /datum/unit_test/transformation_sting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

transformation_sting + + + +

+ +

Tests transformation sting goes back and forth correctly

+

Procs

add_to_screenshotAdds both mobs to the screenshot test, if both_species is TRUE, it also adds the victim in lizard form

Proc Details

add_to_screenshot +

+

Adds both mobs to the screenshot test, if both_species is TRUE, it also adds the victim in lizard form

+ + + diff --git a/datum/unit_test/worn_icons.html b/datum/unit_test/worn_icons.html new file mode 100644 index 00000000000..905086454fb --- /dev/null +++ b/datum/unit_test/worn_icons.html @@ -0,0 +1,40 @@ + + + + + + + /datum/unit_test/worn_icons - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

worn_icons + + + +

+ +

Makes sure suit slot items aren't using CS:S fallbacks.

+

Vars

additional_icon_locationadditional_icon_location is for downstream modularity support for finding missing sprites in additonal DMI file locations. +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.
+

Var Details

additional_icon_location + + + + +

+

additional_icon_location is for downstream modularity support for finding missing sprites in additonal DMI file locations. +Make sure this location is also present in tools/deploy.sh +If you need additional paths ontop of this second one, you can add another generate_possible_icon_states_list("your/folder/path/") below the if(additional_icon_location) block in Run(), and make sure to add that path to tools/deploy.sh as well.

+ + + diff --git a/datum/uplink_category.html b/datum/uplink_category.html new file mode 100644 index 00000000000..f3311f236e6 --- /dev/null +++ b/datum/uplink_category.html @@ -0,0 +1,43 @@ + + + + + + + /datum/uplink_category - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uplink_category + + + +

+ + + +

Vars

nameName of the category
weightWeight of the category. Used to determine the positioning in the uplink. High weight = appears first
+

Var Details

name + + + + +

+

Name of the category

weight + + + + +

+

Weight of the category. Used to determine the positioning in the uplink. High weight = appears first

+ + + diff --git a/datum/uplink_handler.html b/datum/uplink_handler.html new file mode 100644 index 00000000000..13b5bbb62d7 --- /dev/null +++ b/datum/uplink_handler.html @@ -0,0 +1,247 @@ + + + + + + + /datum/uplink_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

uplink_handler + + + +

+ +

Uplink Handler

+

The uplink handler, used to handle a traitor's TC and experience points and the uplink UI.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_objectivesCurrent objectives taken
assigned_roleThe role that this uplink handler is associated to.
assigned_speciesThe species this uplink handler is associated to.
can_replace_objectivesCallback which returns true if you can choose to replace your objectives with different ones
can_take_objectivesWhether this uplink handler can TAKE objectives.
completed_objectivesObjectives that have been completed.
contractor_hubReference to a contractor hub that the infiltrator can run, if they purchase it.
debug_modeWhether this is in debug mode or not. If in debug mode, allows all purchases. Bypasses the shop lock.
extra_purchasableExtra stuff that can be purchased by an uplink, regardless of flag.
final_objectiveText of the final objective, once assigned. Used for uplink data and traitor greentext. Empty string means not yet reached.
has_objectivesWhether this uplink handler has objectives.
has_progressionThis uplink has progression
item_stockAssociative array of stock keys = stock left. For items that don't share stock, the key is their typepath
maximum_active_objectivesThe maximum number of objectives that can be taken
maximum_potential_objectivesThe maximum number of potential objectives that can exist.
ownerThe owner of this uplink handler.
potential_duplicate_objectivesAll objectives assigned by type to handle any duplicates
potential_objectivesPotential objectives that can be taken
primary_objectivesObjectives that must be completed for traitor greentext. Set by the traitor datum.
progression_pointsThe amount of experience points this traitor has
purchase_logThe purchase log of this uplink handler
replace_objectivesCallback which performs that operation
shop_lockedWhether the shop is locked or not. If set to true, nothing can be purchased.
telecrystalsThe amount of telecrystals contained in this traitor has
uplink_flagThe current uplink flag of this uplink

Procs

check_if_restrictedChecks for uplink flags as well as items restricted to roles and species
complete_objectiveUsed to complete objectives, failed or successful.
generate_objectivesGenerates objectives for this uplink handler
not_enough_reputationChecks if traitor has enough reputation to purchase an item
on_updateCalled whenever an update occurs on this uplink handler. Used for UIs
update_objectivesUpdates the objectives on the uplink and deletes
+

Var Details

active_objectives + + + + +

+

Current objectives taken

assigned_role + + + + +

+

The role that this uplink handler is associated to.

assigned_species + + + + +

+

The species this uplink handler is associated to.

can_replace_objectives + + + + +

+

Callback which returns true if you can choose to replace your objectives with different ones

can_take_objectives + + + + +

+

Whether this uplink handler can TAKE objectives.

completed_objectives + + + + +

+

Objectives that have been completed.

contractor_hub + + + + +

+

Reference to a contractor hub that the infiltrator can run, if they purchase it.

debug_mode + + + + +

+

Whether this is in debug mode or not. If in debug mode, allows all purchases. Bypasses the shop lock.

extra_purchasable + + + + +

+

Extra stuff that can be purchased by an uplink, regardless of flag.

final_objective + + + + +

+

Text of the final objective, once assigned. Used for uplink data and traitor greentext. Empty string means not yet reached.

has_objectives + + + + +

+

Whether this uplink handler has objectives.

has_progression + + + + +

+

This uplink has progression

item_stock + + + + +

+

Associative array of stock keys = stock left. For items that don't share stock, the key is their typepath

maximum_active_objectives + + + + +

+

The maximum number of objectives that can be taken

maximum_potential_objectives + + + + +

+

The maximum number of potential objectives that can exist.

owner + + + + +

+

The owner of this uplink handler.

potential_duplicate_objectives + + + + +

+

All objectives assigned by type to handle any duplicates

potential_objectives + + + + +

+

Potential objectives that can be taken

primary_objectives + + + + +

+

Objectives that must be completed for traitor greentext. Set by the traitor datum.

progression_points + + + + +

+

The amount of experience points this traitor has

purchase_log + + + + +

+

The purchase log of this uplink handler

replace_objectives + + + + +

+

Callback which performs that operation

shop_locked + + + + +

+

Whether the shop is locked or not. If set to true, nothing can be purchased.

telecrystals + + + + +

+

The amount of telecrystals contained in this traitor has

+

The current uplink flag of this uplink

Proc Details

check_if_restricted +

+

Checks for uplink flags as well as items restricted to roles and species

complete_objective +

+

Used to complete objectives, failed or successful.

generate_objectives +

+

Generates objectives for this uplink handler

not_enough_reputation +

+

Checks if traitor has enough reputation to purchase an item

on_update +

+

Called whenever an update occurs on this uplink handler. Used for UIs

update_objectives +

+

Updates the objectives on the uplink and deletes

+ + + diff --git a/datum/uplink_item.html b/datum/uplink_item.html new file mode 100644 index 00000000000..eebc129a6cc --- /dev/null +++ b/datum/uplink_item.html @@ -0,0 +1,213 @@ + + + + + + + /datum/uplink_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

uplink_item + + + +

+ +

Uplink Items

+

Items that can be spawned from an uplink. Can be limited by gamemode.

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

cant_discountWhether this can be discounted or not
categoryCategory of the uplink
costCost of the item.
cost_override_stringString to be shown instead of the price, e.g for the Random item.
descDescription of the uplink
discountedIf discounted, is true. Used to send a signal to update reimbursement.
illegal_techCan this item be deconstructed to unlock certain techweb research nodes?
itemPath to the item to spawn.
limited_stockHow many items of this stock can be purchased.
lock_other_purchasesWhether this item locks all other items from being purchased. Used by syndicate balloon and a few other purchases. +Can't be purchased if you've already bought other things +Uses the purchase log, so items purchased that are not visible in the purchase log will not count towards this. +However, they won't be purchasable afterwards.
nameName of the uplink item
progression_minimumThe minimum amount of progression needed for this item to be added to uplinks.
purchasable_fromA bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].
purchase_log_visWhether this purchase is visible in the purchase log.
refund_amountAmount of TC to refund, in case there's a TC penalty for refunds.
refundableWhether this item is refundable or not.
restrictedWhether this purchase is restricted or not (VR/Events related)
restricted_rolesIf this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.
restricted_speciesThe species able to purchase this uplink item.
stock_keyIf this value is changed on two items they will share stock, defaults to not sharing stock with any other item

Procs

can_be_boughtFor special overrides if an item can be bought or not.
get_discountReturns by how much percentage do we reduce the price of the selected item
get_discount_valueReceives a traitor discount type value, returns the amount by which we will reduce the price
purchaseSpawns an item and logs its purchase
spawn_itemSpawns an item in the world
+

Var Details

cant_discount + + + + +

+

Whether this can be discounted or not

category + + + + +

+

Category of the uplink

cost + + + + +

+

Cost of the item.

cost_override_string + + + + +

+

String to be shown instead of the price, e.g for the Random item.

desc + + + + +

+

Description of the uplink

discounted + + + + +

+

If discounted, is true. Used to send a signal to update reimbursement.

illegal_tech + + + + +

+

Can this item be deconstructed to unlock certain techweb research nodes?

item + + + + +

+

Path to the item to spawn.

limited_stock + + + + +

+

How many items of this stock can be purchased.

lock_other_purchases + + + + +

+

Whether this item locks all other items from being purchased. Used by syndicate balloon and a few other purchases. +Can't be purchased if you've already bought other things +Uses the purchase log, so items purchased that are not visible in the purchase log will not count towards this. +However, they won't be purchasable afterwards.

name + + + + +

+

Name of the uplink item

progression_minimum + + + + +

+

The minimum amount of progression needed for this item to be added to uplinks.

purchasable_from + + + + +

+

A bitfield to represent what uplinks can purchase this item. +See [code/__DEFINES/uplink.dm].

purchase_log_vis + + + + +

+

Whether this purchase is visible in the purchase log.

refund_amount + + + + +

+

Amount of TC to refund, in case there's a TC penalty for refunds.

refundable + + + + +

+

Whether this item is refundable or not.

restricted + + + + +

+

Whether this purchase is restricted or not (VR/Events related)

restricted_roles + + + + +

+

If this uplink item is only available to certain roles. Roles are dependent on the frequency chip or stored ID.

restricted_species + + + + +

+

The species able to purchase this uplink item.

stock_key + + + + +

+

If this value is changed on two items they will share stock, defaults to not sharing stock with any other item

Proc Details

can_be_bought +

+

For special overrides if an item can be bought or not.

get_discount +

+

Returns by how much percentage do we reduce the price of the selected item

get_discount_value +

+

Receives a traitor discount type value, returns the amount by which we will reduce the price

purchase +

+

Spawns an item and logs its purchase

spawn_item +

+

Spawns an item in the world

+ + + diff --git a/datum/uplink_item/bundles_tc/surplus.html b/datum/uplink_item/bundles_tc/surplus.html new file mode 100644 index 00000000000..940ca94f11c --- /dev/null +++ b/datum/uplink_item/bundles_tc/surplus.html @@ -0,0 +1,71 @@ + + + + + + + /datum/uplink_item/bundles_tc/surplus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

surplus + + + +

+ + + + + + + +

Vars

crate_tc_valueValue of items inside the crate in TC
crate_typecrate that will be used for the surplus crate

Procs

fill_cratefills the crate that will be given to the traitor, edit this to change the crate and how the item is filled
generate_possible_itemsgenerates items that can go inside crates, edit this proc to change what items could go inside your specialized crate
pick_possible_itempicks items from the list given to proc and generates a valid uplink item that is less or equal to the amount of TC it can spend
spawn_itemoverwrites item spawning proc for surplus items to spawn an appropriate crate via a podspawn
+

Var Details

crate_tc_value + + + + +

+

Value of items inside the crate in TC

crate_type + + + + +

+

crate that will be used for the surplus crate

Proc Details

fill_crate +

+

fills the crate that will be given to the traitor, edit this to change the crate and how the item is filled

generate_possible_items +

+

generates items that can go inside crates, edit this proc to change what items could go inside your specialized crate

pick_possible_item +

+

picks items from the list given to proc and generates a valid uplink item that is less or equal to the amount of TC it can spend

spawn_item +

+

overwrites item spawning proc for surplus items to spawn an appropriate crate via a podspawn

+ + + diff --git a/datum/uplink_item/bundles_tc/surplus/united.html b/datum/uplink_item/bundles_tc/surplus/united.html new file mode 100644 index 00000000000..b949ba1e3c4 --- /dev/null +++ b/datum/uplink_item/bundles_tc/surplus/united.html @@ -0,0 +1,35 @@ + + + + + + + /datum/uplink_item/bundles_tc/surplus/united - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

united + + + +

+ + +

Procs

fill_crateedited version of fill crate for super surplus to ensure it can only be unlocked with the syndicrate key

Proc Details

fill_crate +

+

edited version of fill crate for super surplus to ensure it can only be unlocked with the syndicrate key

+ + + diff --git a/datum/venue.html b/datum/venue.html new file mode 100644 index 00000000000..ebc7e38fd25 --- /dev/null +++ b/datum/venue.html @@ -0,0 +1,176 @@ + + + + + + + /datum/venue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

venue + + + +

+ +

Represents the abstract concept of a food venue in the code.

+ + + + + + + + + + + + + + + + + + + + +

Vars

current_visitorsLists the current visitors of a venue
customer_typesWeighted list of customer types
customers_servedhow many robots got their wanted thing
linked_seatsSeats linked to this venue, assoc list of key holosign of seat position, and value of robot assigned to it, if any.
max_guestsMax amount of guests at any time
max_time_between_visitorMax time between new visits
min_time_between_visitorMin time between new visits
mob_blacklistBlacklist for idiots that attack bots. Key is the mob that did it, and the value is the amount of warnings they've received.
nameName of the venue, also used for the icon state of any radials it can be selected in
openIs the venue open at the moment?
req_accessRequired access to mess with the venue
restaurant_portalPortal linked to this venue at the moment
total_incomeTotal income of those venue
venue_typeWhat kind of Venue are we
visit_cooldownCooldown for next guest to arrive

Procs

create_new_customerSpawns a new customer at the portal
get_food_appearancegets the appearance of the ordered object that shows up when hovering your cursor over the customer mob.
is_correct_orderChecks if the object used is correct for the venue
on_get_orderEffects for when a customer receives their order at this venue
order_food_lineThe line the robot says when ordering
toggle_openToggles whether the venue is open or not
+

Var Details

current_visitors + + + + +

+

Lists the current visitors of a venue

customer_types + + + + +

+

Weighted list of customer types

customers_served + + + + +

+

how many robots got their wanted thing

linked_seats + + + + +

+

Seats linked to this venue, assoc list of key holosign of seat position, and value of robot assigned to it, if any.

max_guests + + + + +

+

Max amount of guests at any time

max_time_between_visitor + + + + +

+

Max time between new visits

min_time_between_visitor + + + + +

+

Min time between new visits

mob_blacklist + + + + +

+

Blacklist for idiots that attack bots. Key is the mob that did it, and the value is the amount of warnings they've received.

name + + + + +

+

Name of the venue, also used for the icon state of any radials it can be selected in

open + + + + +

+

Is the venue open at the moment?

req_access + + + + +

+

Required access to mess with the venue

restaurant_portal + + + + +

+

Portal linked to this venue at the moment

total_income + + + + +

+

Total income of those venue

venue_type + + + + +

+

What kind of Venue are we

visit_cooldown + + + + +

+

Cooldown for next guest to arrive

Proc Details

create_new_customer +

+

Spawns a new customer at the portal

get_food_appearance +

+

gets the appearance of the ordered object that shows up when hovering your cursor over the customer mob.

is_correct_order +

+

Checks if the object used is correct for the venue

on_get_order +

+

Effects for when a customer receives their order at this venue

order_food_line +

+

The line the robot says when ordering

toggle_open +

+

Toggles whether the venue is open or not

+ + + diff --git a/datum/view_data.html b/datum/view_data.html new file mode 100644 index 00000000000..71c70ab13be --- /dev/null +++ b/datum/view_data.html @@ -0,0 +1,83 @@ + + + + + + + /datum/view_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

view_data + + + +

+ +

Container for client viewsize

+ + + + + +

Vars

chiefThe client that owns this view packet
defaultThis client's current "default" view, in the format "WidthxHeight" +We add/remove from this when we want to change their window size
heightHeight offset to apply to the default view string, see above
is_suppressedIf the view is currently being supressed by some other "monitor" +For when you want to own the client's eye without fucking with their viewport +Doesn't make sense for a binocoler to effect your view in a camera console
widthWidth offset to apply to the default view string if we're not supressed for some reason
zoomThis client's current zoom level, if it's not being supressed +If it's 0, we autoscale to the size of the window. Otherwise it's treated as the ratio between +the pixels on the map and output pixels. Only looks proper nice in increments of whole numbers (iirc) +Stored here so other parts of the code have a non blocking way of getting a user's functional zoom
+

Var Details

chief + + + + +

+

The client that owns this view packet

default + + + + +

+

This client's current "default" view, in the format "WidthxHeight" +We add/remove from this when we want to change their window size

height + + + + +

+

Height offset to apply to the default view string, see above

is_suppressed + + + + +

+

If the view is currently being supressed by some other "monitor" +For when you want to own the client's eye without fucking with their viewport +Doesn't make sense for a binocoler to effect your view in a camera console

width + + + + +

+

Width offset to apply to the default view string if we're not supressed for some reason

zoom + + + + +

+

This client's current zoom level, if it's not being supressed +If it's 0, we autoscale to the size of the window. Otherwise it's treated as the ratio between +the pixels on the map and output pixels. Only looks proper nice in increments of whole numbers (iirc) +Stored here so other parts of the code have a non blocking way of getting a user's functional zoom

+ + + diff --git a/datum/visual_data.html b/datum/visual_data.html new file mode 100644 index 00000000000..f922b2928fd --- /dev/null +++ b/datum/visual_data.html @@ -0,0 +1,71 @@ + + + + + + + /datum/visual_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

visual_data + + + +

+ + + + + + + +

Vars

client_eyeWhat the client is seeing "out of", client.eye
mirroring_off_refWeakref to the mob we're mirroring off
see_darksee_in_dark values
see_invissee_invisible values
sightSight flags

Procs

on_updatePlane masters. I'm sorry
+

Var Details

client_eye + + + + +

+

What the client is seeing "out of", client.eye

mirroring_off_ref + + + + +

+

Weakref to the mob we're mirroring off

see_dark + + + + +

+

see_in_dark values

see_invis + + + + +

+

see_invisible values

sight + + + + +

+

Sight flags

Proc Details

on_update +

+

Plane masters. I'm sorry

+ + + diff --git a/datum/visual_data/mirroring.html b/datum/visual_data/mirroring.html new file mode 100644 index 00000000000..8bd691ffaf2 --- /dev/null +++ b/datum/visual_data/mirroring.html @@ -0,0 +1,36 @@ + + + + + + + /datum/visual_data/mirroring - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mirroring + + + +

+ +

Tracks and updates another mob with our mob's visual data

+

Vars

mirror_onto_refWeakref to what mob, if any, we should mirror our changes onto
+

Var Details

mirror_onto_ref + + + + +

+

Weakref to what mob, if any, we should mirror our changes onto

+ + + diff --git a/datum/visual_data/tracking.html b/datum/visual_data/tracking.html new file mode 100644 index 00000000000..e2d0ea92ad5 --- /dev/null +++ b/datum/visual_data/tracking.html @@ -0,0 +1,37 @@ + + + + + + + /datum/visual_data/tracking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tracking + + + +

+ +

Tracks but does not relay updates to someone's visual data +Accepts a second visual data datum to use as a source of truth for the mob's values

+

Vars

default_to_refWeakref to the visual data datum to reset our mob to
+

Var Details

default_to_ref + + + + +

+

Weakref to the visual data datum to reset our mob to

+ + + diff --git a/datum/voice_of_god_command.html b/datum/voice_of_god_command.html new file mode 100644 index 00000000000..ed933b584a0 --- /dev/null +++ b/datum/voice_of_god_command.html @@ -0,0 +1,50 @@ + + + + + + + /datum/voice_of_god_command - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

voice_of_god_command + + + +

+ +

Voice of god command datums that are used in [/proc/voice_of_god()]

+ + +

Vars

cooldowncooldown variable which is normally returned to [proc/voice_of_god] and used as its return value.
is_regexIs the trigger supposed to be a regex? If so, convert it to such on New()
triggera text string or regex that triggers the command.
+

Var Details

cooldown + + + + +

+

cooldown variable which is normally returned to [proc/voice_of_god] and used as its return value.

is_regex + + + + +

+

Is the trigger supposed to be a regex? If so, convert it to such on New()

trigger + + + + +

+

a text string or regex that triggers the command.

+ + + diff --git a/datum/voice_of_god_command/emote.html b/datum/voice_of_god_command/emote.html new file mode 100644 index 00000000000..b5cca81dffc --- /dev/null +++ b/datum/voice_of_god_command/emote.html @@ -0,0 +1,36 @@ + + + + + + + /datum/voice_of_god_command/emote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

emote + + + +

+ +

Supertype of all those commands that make people emote and nothing else. Fuck copypasta.

+

Vars

emote_nameThe emote to run.
+

Var Details

emote_name + + + + +

+

The emote to run.

+ + + diff --git a/datum/voice_of_god_command/who_are_you.html b/datum/voice_of_god_command/who_are_you.html new file mode 100644 index 00000000000..5f612a992e3 --- /dev/null +++ b/datum/voice_of_god_command/who_are_you.html @@ -0,0 +1,36 @@ + + + + + + + /datum/voice_of_god_command/who_are_you - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

who_are_you + + + +

+ +

This command forces the listeners to say their true name (so masks and hoods won't help). +Basic and simple mobs who are forced to state their name and don't have one already will... reveal their actual one!

+

Procs

state_namejust states the target's name, but also includes the renaming funny.

Proc Details

state_name +

+

just states the target's name, but also includes the renaming funny.

+ + + diff --git a/datum/vote.html b/datum/vote.html new file mode 100644 index 00000000000..a6c169ad3fb --- /dev/null +++ b/datum/vote.html @@ -0,0 +1,218 @@ + + + + + + + /datum/vote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Vote Singleton + + + +

+ +

A singleton datum that represents a type of vote for the voting subsystem.

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

choicesAn assoc list of [all choices] to [number of votes in the current running vote].
choices_by_ckeyA assoc list of [ckey] to [what they voted for in the current running vote].
contains_vote_in_nameDoes the name of this vote contain the word "vote"?
count_methodThe counting method we use for votes.
default_choicesA list of default choices we have for this vote.
messageWhat message do we want to pass to the player-side vote panel as a tooltip?
nameThe name of the vote.
override_questionIf supplied, an override question will be displayed instead of the name of the vote.
started_timeThe world time this vote was started.
time_remainingThe time remaining in this vote's run.
vote_soundThe sound effect played to everyone when this vote is initiated.

Procs

can_be_initiatedChecks if the passed mob can initiate this vote.
create_voteCalled prior to the vote being initiated.
finalize_voteCalled when a vote is actually all said and done. +Apply actual vote effects here.
get_result_textGets the resulting text displayed when the vote is completed.
get_vote_resultGets the result of the vote.
get_winner_textGets the text that displays the winning options within the result text.
initiate_voteCalled when this vote is actually initiated.
is_accessible_voteUsed to determine if this vote is a possible +vote type for the vote subsystem.
is_config_enabledIf this vote has a config associated, returns its value (True or False, usually). +If it has no config, returns -1.
resetResets our vote to its default state.
tiebreakerHow this vote handles a tiebreaker between multiple winners.
toggle_votableIf this vote has a config associated, toggles it between enabled and disabled. +Returns TRUE on a successful toggle, FALSE otherwise
+

Var Details

choices + + + + +

+

An assoc list of [all choices] to [number of votes in the current running vote].

choices_by_ckey + + + + +

+

A assoc list of [ckey] to [what they voted for in the current running vote].

contains_vote_in_name + + + + +

+

Does the name of this vote contain the word "vote"?

count_method + + + + +

+

The counting method we use for votes.

default_choices + + + + +

+

A list of default choices we have for this vote.

message + + + + +

+

What message do we want to pass to the player-side vote panel as a tooltip?

name + + + + +

+

The name of the vote.

override_question + + + + +

+

If supplied, an override question will be displayed instead of the name of the vote.

started_time + + + + +

+

The world time this vote was started.

time_remaining + + + + +

+

The time remaining in this vote's run.

vote_sound + + + + +

+

The sound effect played to everyone when this vote is initiated.

Proc Details

can_be_initiated +

+

Checks if the passed mob can initiate this vote.

+

Return TRUE if the mob can begin the vote, allowing anyone to actually vote on it. +Return FALSE if the mob cannot initiate the vote.

create_vote +

+

Called prior to the vote being initiated.

+

Return FALSE to prevent the vote from being initiated.

finalize_vote +

+

Called when a vote is actually all said and done. +Apply actual vote effects here.

get_result_text +

+

Gets the resulting text displayed when the vote is completed.

+

all_winners - list of all options that won. Can be multiple, in the event of ties. +real_winner - the option that actually won. +non_voters - a list of all ckeys who didn't vote in the vote.

+

Return a formatted string of text to be displayed to everyone.

get_vote_result +

+

Gets the result of the vote.

+

non_voters - a list of all ckeys who didn't vote in the vote.

+

Returns a list of all options that won. +If there were no votes at all, the list will be length = 0, non-null. +If only one option one, the list will be length = 1. +If there was a tie, the list will be length > 1.

get_winner_text +

+

Gets the text that displays the winning options within the result text.

+

all_winners - list of all options that won. Can be multiple, in the event of ties. +real_winner - the option that actually won. +non_voters - a list of all ckeys who didn't vote in the vote.

+

Return a formatted string of text to be displayed to everyone.

initiate_vote +

+

Called when this vote is actually initiated.

+

Return a string - the text displayed to the world when the vote is initiated.

is_accessible_vote +

+

Used to determine if this vote is a possible +vote type for the vote subsystem.

+

If FALSE is returned, this vote singleton +will not be created when the vote subsystem initializes, +meaning no one will be able to hold this vote.

is_config_enabled +

+

If this vote has a config associated, returns its value (True or False, usually). +If it has no config, returns -1.

reset +

+

Resets our vote to its default state.

tiebreaker +

+

How this vote handles a tiebreaker between multiple winners.

toggle_votable +

+

If this vote has a config associated, toggles it between enabled and disabled. +Returns TRUE on a successful toggle, FALSE otherwise

+ + + diff --git a/datum/vote/map_vote.html b/datum/vote/map_vote.html new file mode 100644 index 00000000000..87fa4f62223 --- /dev/null +++ b/datum/vote/map_vote.html @@ -0,0 +1,39 @@ + + + + + + + /datum/vote/map_vote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

map_vote + + + +

+ + +

Procs

check_populationBefore we create a vote, remove all maps from our choices that are outside of our population range. +Note that this can result in zero remaining choices for our vote, which is not ideal (but ultimately okay). +Argument should_key_choices is TRUE, pass as FALSE in a context where choices are already keyed in a list.

Proc Details

check_population +

+

Before we create a vote, remove all maps from our choices that are outside of our population range. +Note that this can result in zero remaining choices for our vote, which is not ideal (but ultimately okay). +Argument should_key_choices is TRUE, pass as FALSE in a context where choices are already keyed in a list.

+ + + diff --git a/datum/vote/restart_vote.html b/datum/vote/restart_vote.html new file mode 100644 index 00000000000..21ad2e81fd7 --- /dev/null +++ b/datum/vote/restart_vote.html @@ -0,0 +1,35 @@ + + + + + + + /datum/vote/restart_vote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

restart_vote + + + +

+ + +

Procs

admins_presentThis proc checks to see if any admins are online for the purposes of this vote to see if it can pass. Returns TRUE if there are valid admins online (Has +SERVER and is not AFK), FALSE otherwise.

Proc Details

admins_present +

+

This proc checks to see if any admins are online for the purposes of this vote to see if it can pass. Returns TRUE if there are valid admins online (Has +SERVER and is not AFK), FALSE otherwise.

+ + + diff --git a/datum/vote/rock_the_vote.html b/datum/vote/rock_the_vote.html new file mode 100644 index 00000000000..b2366c7a111 --- /dev/null +++ b/datum/vote/rock_the_vote.html @@ -0,0 +1,36 @@ + + + + + + + /datum/vote/rock_the_vote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rock_the_vote + + + +

+ +

If a map vote is called before the emergency shuttle leaves the station, the players can call another vote to re-run the vote on the shuttle leaving.

+

Vars

rocking_votesThe number of times we have rocked the vote thus far.
+

Var Details

rocking_votes + + + + +

+

The number of times we have rocked the vote thus far.

+ + + diff --git a/datum/voucher_set.html b/datum/voucher_set.html new file mode 100644 index 00000000000..548794d633e --- /dev/null +++ b/datum/voucher_set.html @@ -0,0 +1,64 @@ + + + + + + + /datum/voucher_set - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Voucher Set + + + +

+ +

A set consisting of a various equipment that can be then used as a reward for redeeming a mining voucher.

+ + + + +

Vars

descriptionDescription of the set
iconIcon of the set
icon_stateIcon state of the set
nameName of the set
set_itemsList of items contained in the set
+

Var Details

description + + + + +

+

Description of the set

icon + + + + +

+

Icon of the set

icon_state + + + + +

+

Icon state of the set

name + + + + +

+

Name of the set

set_items + + + + +

+

List of items contained in the set

+ + + diff --git a/datum/wanted_message.html b/datum/wanted_message.html new file mode 100644 index 00000000000..da0396860d7 --- /dev/null +++ b/datum/wanted_message.html @@ -0,0 +1,78 @@ + + + + + + + /datum/wanted_message - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wanted_message + + + +

+ + + + + + + + +

Vars

activeIs this criminal alert still active?
bodyMessage body used to describe what crime has been comitted.
criminalWhat is the criminal in question's name? Not a mob reference as this is a text field.
imgIcon image to be attached to the newscaster message.
is_admin_msgIs this an admin message? Prevents editing unless performed by an admin rank.
photo_fileReference to the photo file used by wanted message on creation.
scanned_userWho was it that created this wanted message?
+

Var Details

active + + + + +

+

Is this criminal alert still active?

body + + + + +

+

Message body used to describe what crime has been comitted.

criminal + + + + +

+

What is the criminal in question's name? Not a mob reference as this is a text field.

img + + + + +

+

Icon image to be attached to the newscaster message.

is_admin_msg + + + + +

+

Is this an admin message? Prevents editing unless performed by an admin rank.

photo_file + + + + +

+

Reference to the photo file used by wanted message on creation.

scanned_user + + + + +

+

Who was it that created this wanted message?

+ + + diff --git a/datum/weakref.html b/datum/weakref.html new file mode 100644 index 00000000000..d1c19cea9ff --- /dev/null +++ b/datum/weakref.html @@ -0,0 +1,81 @@ + + + + + + + /datum/weakref - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

weakref + + + +

+ +

A weakref holds a non-owning reference to a datum. +The datum can be referenced again using resolve().

+

To figure out why this is important, you must understand how deletion in +BYOND works.

+

Imagine a datum as a TV in a living room. When one person enters to watch +TV, they turn it on. Others can come into the room and watch the TV. +When the last person leaves the room, they turn off the TV because it's +no longer being used.

+

A datum being deleted tells everyone who's watching the TV to stop. +If everyone leaves properly (AKA cleaning up their references), then the +last person will turn off the TV, and everything is well. +However, if someone is resistant (holds a hard reference after deletion), +then someone has to walk in, drag them away, and turn off the TV forecefully. +This process is very slow, and it's known as hard deletion.

+

This is where weak references come in. Weak references don't count as someone +watching the TV. Thus, when what it's referencing is destroyed, it will +hopefully clean up properly, and limit hard deletions.

+

A common use case for weak references is holding onto what created itself. +For example, if a machine wanted to know what its last user was, it might +create a var/mob/living/last_user. However, this is a strong reference to +the mob, and thus will force a hard deletion when that mob is deleted. +It is often better in this case to instead create a weakref to the user, +meaning this type definition becomes var/datum/weakref/last_user.

+

A good rule of thumb is that you should hold strong references to things +that you own. For example, a dog holding a chew toy would be the owner +of that chew toy, and thus a var/obj/item/chew_toy reference is fine +(as long as it is cleaned up properly). +However, a chew toy does not own its dog, so a var/mob/living/dog/owner +might be inferior to a weakref. +This is also a good rule of thumb to avoid circular references, such as the +chew toy example. A circular reference that doesn't clean itself up properly +will always hard delete.

+ +

Procs

hard_resolveSERIOUSLY READ THE AUTODOC COMMENT FOR THIS PROC BEFORE EVEN THINKING ABOUT USING IT
resolveRetrieves the datum that this weakref is referencing.

Proc Details

hard_resolve +

+

SERIOUSLY READ THE AUTODOC COMMENT FOR THIS PROC BEFORE EVEN THINKING ABOUT USING IT

+

Like resolve, but doesn't care if the datum is being qdeleted but hasn't been deleted yet.

+

The return value of this proc leaves hanging references if the datum is being qdeleted but hasn't been deleted yet.

+

Do not do anything that would create a lasting reference to the return value, such as giving it a tag, putting it on the map, +adding it to an atom's contents or vis_contents, giving it a key (if it's a mob), attaching it to an atom (if it's an image), +or assigning it to a datum or list referenced somewhere other than a temporary value.

+

Unless you're resolving a weakref to a datum in a COMSIG_QDELETING signal handler registered on that very same datum, +just use resolve instead.

resolve +

+

Retrieves the datum that this weakref is referencing.

+

This will return null if the datum was deleted. This MUST be respected.

+ + + diff --git a/datum/weather.html b/datum/weather.html new file mode 100644 index 00000000000..448c96a6af1 --- /dev/null +++ b/datum/weather.html @@ -0,0 +1,336 @@ + + + + + + + /datum/weather - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

weather + + + +

+ +

Causes weather to occur on a z level in certain area types

+

The effects of weather occur across an entire z-level. For instance, lavaland has periodic ash storms that scorch most unprotected creatures. +Weather always occurs on different z levels at different times, regardless of weather type. +Can have custom durations, targets, and can automatically protect indoor areas.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aestheticIf the weather has no purpose other than looks
area_typeTypes of area to affect
barometer_predictableWhether a barometer can predict when the weather will happen
descdescription of weather
end_durationIn deciseconds, how long the "wind-down" graphic will appear before vanishing entirely
end_messageDisplayed once the weather is over
end_overlayArea overlay while weather is ending
end_soundSound that plays while weather is ending
immunity_typeUsed by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.
impacted_areasAreas to be affected by the weather, calculated when the weather begins
impacted_z_levelsThe list of z-levels that this weather is actively affecting
namename of weather
next_hit_timeFor barometers to know when the next storm will hit
overlay_cacheList of all overlays to apply to our turfs
overlay_layerSince it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
overlay_planePlane for the overlay
perpetualThis causes the weather to only end if forced to
probabilityWeight amongst other eligible weather. If zero, will never happen randomly.
protect_indoorsTRUE value protects areas with outdoors marked as false, regardless of area type
protected_areasAreas that are protected and excluded from the affected areas.
stageThe stage of the weather, from 1-4
target_traitThe z-level trait to affect when run randomly or when not overridden.
telegraph_durationIn deciseconds, how long from the beginning of the telegraph until the weather begins
telegraph_messageThe message displayed in chat to foreshadow the weather's beginning
telegraph_overlayThe overlay applied to all tiles on the z-level
telegraph_soundThe sound file played to everyone on an affected z-level
use_glowIf this bit of weather should also draw an overlay that's uneffected by lighting onto the area +Taken from weather_glow.dmi
weather_colorColor to apply to the area while weather is occuring
weather_durationIn deciseconds, how long the weather lasts once it begins
weather_duration_lowerSee above - this is the lowest possible duration
weather_duration_upperSee above - this is the highest possible duration
weather_messageDisplayed in chat once the weather begins in earnest
weather_overlayArea overlay while the weather is occuring
weather_soundLooping sound while weather is occuring

Procs

can_weather_actReturns TRUE if the living mob can be affected by the weather
endFully ends the weather
generate_overlay_cacheReturns a list of visual offset -> overlays to use
startStarts the actual weather and effects from it
telegraphTelegraphs the beginning of the weather on the impacted z levels
update_areasUpdates the overlays on impacted areas
weather_actAffects the mob with whatever the weather does
wind_downWeather enters the winding down phase, stops effects
+

Var Details

aesthetic + + + + +

+

If the weather has no purpose other than looks

area_type + + + + +

+

Types of area to affect

barometer_predictable + + + + +

+

Whether a barometer can predict when the weather will happen

desc + + + + +

+

description of weather

end_duration + + + + +

+

In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely

end_message + + + + +

+

Displayed once the weather is over

end_overlay + + + + +

+

Area overlay while weather is ending

end_sound + + + + +

+

Sound that plays while weather is ending

immunity_type + + + + +

+

Used by mobs (or movables containing mobs, such as enviro bags) to prevent them from being affected by the weather.

impacted_areas + + + + +

+

Areas to be affected by the weather, calculated when the weather begins

impacted_z_levels + + + + +

+

The list of z-levels that this weather is actively affecting

name + + + + +

+

name of weather

next_hit_time + + + + +

+

For barometers to know when the next storm will hit

overlay_cache + + + + +

+

List of all overlays to apply to our turfs

overlay_layer + + + + +

+

Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.

overlay_plane + + + + +

+

Plane for the overlay

perpetual + + + + +

+

This causes the weather to only end if forced to

probability + + + + +

+

Weight amongst other eligible weather. If zero, will never happen randomly.

protect_indoors + + + + +

+

TRUE value protects areas with outdoors marked as false, regardless of area type

protected_areas + + + + +

+

Areas that are protected and excluded from the affected areas.

stage + + + + +

+

The stage of the weather, from 1-4

target_trait + + + + +

+

The z-level trait to affect when run randomly or when not overridden.

telegraph_duration + + + + +

+

In deciseconds, how long from the beginning of the telegraph until the weather begins

telegraph_message + + + + +

+

The message displayed in chat to foreshadow the weather's beginning

telegraph_overlay + + + + +

+

The overlay applied to all tiles on the z-level

telegraph_sound + + + + +

+

The sound file played to everyone on an affected z-level

use_glow + + + + +

+

If this bit of weather should also draw an overlay that's uneffected by lighting onto the area +Taken from weather_glow.dmi

weather_color + + + + +

+

Color to apply to the area while weather is occuring

weather_duration + + + + +

+

In deciseconds, how long the weather lasts once it begins

weather_duration_lower + + + + +

+

See above - this is the lowest possible duration

weather_duration_upper + + + + +

+

See above - this is the highest possible duration

weather_message + + + + +

+

Displayed in chat once the weather begins in earnest

weather_overlay + + + + +

+

Area overlay while the weather is occuring

weather_sound + + + + +

+

Looping sound while weather is occuring

Proc Details

can_weather_act +

+

Returns TRUE if the living mob can be affected by the weather

end +

+

Fully ends the weather

+

Effects no longer occur and area overlays are removed +Removes weather from processing completely

generate_overlay_cache +

+

Returns a list of visual offset -> overlays to use

start +

+

Starts the actual weather and effects from it

+

Updates area overlays and sends sounds and messages to mobs to notify them +Begins dealing effects from weather to mobs in the area

telegraph +

+

Telegraphs the beginning of the weather on the impacted z levels

+

Sends sounds and details to mobs in the area +Calculates duration and hit areas, and makes a callback for the actual weather to start

update_areas +

+

Updates the overlays on impacted areas

weather_act +

+

Affects the mob with whatever the weather does

wind_down +

+

Weather enters the winding down phase, stops effects

+

Updates areas to be in the winding down phase +Sends sounds and messages to mobs to notify them

+ + + diff --git a/datum/weather/floor_is_lava.html b/datum/weather/floor_is_lava.html new file mode 100644 index 00000000000..b4f9f0b3783 --- /dev/null +++ b/datum/weather/floor_is_lava.html @@ -0,0 +1,40 @@ + + + + + + + /datum/weather/floor_is_lava - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

floor_is_lava + + + +

+ + +

Vars

use_glowWe don't draw on walls, so this ends up lookin weird +Can't really use like, the emissive system here because I am not about to make +all walls block emissive
+

Var Details

use_glow + + + + +

+

We don't draw on walls, so this ends up lookin weird +Can't really use like, the emissive system here because I am not about to make +all walls block emissive

+ + + diff --git a/datum/weather/rad_storm.html b/datum/weather/rad_storm.html new file mode 100644 index 00000000000..142d9caf3eb --- /dev/null +++ b/datum/weather/rad_storm.html @@ -0,0 +1,43 @@ + + + + + + + /datum/weather/rad_storm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rad_storm + + + +

+ + + +

Vars

mutate_chanceChance we mutate
negative_mutation_chanceChance we get a negative mutation, if we fail we get a positive one
+

Var Details

mutate_chance + + + + +

+

Chance we mutate

negative_mutation_chance + + + + +

+

Chance we get a negative mutation, if we fail we get a positive one

+ + + diff --git a/datum/weather/rad_storm/nebula.html b/datum/weather/rad_storm/nebula.html new file mode 100644 index 00000000000..e500044022d --- /dev/null +++ b/datum/weather/rad_storm/nebula.html @@ -0,0 +1,36 @@ + + + + + + + /datum/weather/rad_storm/nebula - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nebula + + + +

+ +

Used by the radioactive nebula when the station doesnt have enough shielding

+

Vars

radiation_chanceChance we pulse a living during the storm
+

Var Details

radiation_chance + + + + +

+

Chance we pulse a living during the storm

+ + + diff --git a/datum/weather/snow_storm.html b/datum/weather/snow_storm.html new file mode 100644 index 00000000000..f5eb1632282 --- /dev/null +++ b/datum/weather/snow_storm.html @@ -0,0 +1,43 @@ + + + + + + + /datum/weather/snow_storm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

snow_storm + + + +

+ + + +

Vars

cooling_lowerLowest we can cool someone randomly per weather act. Positive values only
cooling_upperHighest we can cool someone randomly per weather act. Positive values only
+

Var Details

cooling_lower + + + + +

+

Lowest we can cool someone randomly per weather act. Positive values only

cooling_upper + + + + +

+

Highest we can cool someone randomly per weather act. Positive values only

+ + + diff --git a/datum/weather/void_storm.html b/datum/weather/void_storm.html new file mode 100644 index 00000000000..ae7aa2e730a --- /dev/null +++ b/datum/weather/void_storm.html @@ -0,0 +1,36 @@ + + + + + + + /datum/weather/void_storm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

void_storm + + + +

+ + +

Vars

former_impacted_areasList of areas that were once impacted areas but are not anymore. Used for updating the weather overlay based whether the ascended heretic is in the area.
+

Var Details

former_impacted_areas + + + + +

+

List of areas that were once impacted areas but are not anymore. Used for updating the weather overlay based whether the ascended heretic is in the area.

+ + + diff --git a/datum/wires.html b/datum/wires.html new file mode 100644 index 00000000000..14c80b96754 --- /dev/null +++ b/datum/wires.html @@ -0,0 +1,132 @@ + + + + + + + /datum/wires - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wires + + + +

+ + + + + + + + + + + + + + +

Vars

assembliesList of attached assemblies.
colorsDictionary of colours to wire.
cut_wiresList of cut wires.
dictionary_keyKey that enables wire assignments to be common across different holders. If null, will use the holder_type as a key.
holderThe holder (atom that contains these wires).
holder_typeThe holder's typepath (used for sanity checks to make sure the holder is the appropriate type for these wire sets).
proper_nameThe display name for the wire set shown in station blueprints. Not shown in blueprints if randomize is TRUE or it's an item NT wouldn't know about (Explosives/Nuke). Also used in the hacking interface.
randomizeIf every instance of these wires should be random. Prevents wires from showing up in station blueprints.
wiresList of all wires.

Procs

always_reveal_wireWhether the given wire should always be revealed.
can_reveal_wiresChecks whether wire assignments should be revealed.
emp_pulseCalled from /atom/proc/emp_act
on_holder_qdelCalled when holder is qdeleted for us to clean ourselves as not to leave any unlawful references.
+

Var Details

assemblies + + + + +

+

List of attached assemblies.

colors + + + + +

+

Dictionary of colours to wire.

cut_wires + + + + +

+

List of cut wires.

dictionary_key + + + + +

+

Key that enables wire assignments to be common across different holders. If null, will use the holder_type as a key.

holder + + + + +

+

The holder (atom that contains these wires).

holder_type + + + + +

+

The holder's typepath (used for sanity checks to make sure the holder is the appropriate type for these wire sets).

proper_name + + + + +

+

The display name for the wire set shown in station blueprints. Not shown in blueprints if randomize is TRUE or it's an item NT wouldn't know about (Explosives/Nuke). Also used in the hacking interface.

randomize + + + + +

+

If every instance of these wires should be random. Prevents wires from showing up in station blueprints.

wires + + + + +

+

List of all wires.

Proc Details

always_reveal_wire +

+

Whether the given wire should always be revealed.

+

Intended to be overridden. Allows for forcing a wire's assignmenmt to always be revealed +in the hacking interface. +Arguments:

+

can_reveal_wires +

+

Checks whether wire assignments should be revealed.

+

Returns TRUE if the wires should be revealed, FALSE otherwise. +Currently checks for admin ghost AI, abductor multitool and blueprints. +Arguments:

+

emp_pulse +

+

Called from /atom/proc/emp_act

on_holder_qdel +

+

Called when holder is qdeleted for us to clean ourselves as not to leave any unlawful references.

+ + + diff --git a/datum/wires/conveyor.html b/datum/wires/conveyor.html new file mode 100644 index 00000000000..657769abb5c --- /dev/null +++ b/datum/wires/conveyor.html @@ -0,0 +1,36 @@ + + + + + + + /datum/wires/conveyor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

conveyor + + + +

+ + +

Vars

fingerman_refvar holder that logs who put the assembly inside and gets transferred to the switch on pulse
+

Var Details

fingerman_ref + + + + +

+

var holder that logs who put the assembly inside and gets transferred to the switch on pulse

+ + + diff --git a/datum/wires/explosive/chem_grenade.html b/datum/wires/explosive/chem_grenade.html new file mode 100644 index 00000000000..9e90583e4e5 --- /dev/null +++ b/datum/wires/explosive/chem_grenade.html @@ -0,0 +1,35 @@ + + + + + + + /datum/wires/explosive/chem_grenade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

chem_grenade + + + +

+ + +

Procs

detach_assemblyalready armed

Proc Details

detach_assembly +

+

already armed

+ + + diff --git a/datum/wires/vending.html b/datum/wires/vending.html new file mode 100644 index 00000000000..536b9f43c19 --- /dev/null +++ b/datum/wires/vending.html @@ -0,0 +1,36 @@ + + + + + + + /datum/wires/vending - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vending + + + +

+ + +

Vars

language_iteratorKeeps track of which language is selected
+

Var Details

language_iterator + + + + +

+

Keeps track of which language is selected

+ + + diff --git a/datum/worn_feature_offset.html b/datum/worn_feature_offset.html new file mode 100644 index 00000000000..e2890b3d8a9 --- /dev/null +++ b/datum/worn_feature_offset.html @@ -0,0 +1,100 @@ + + + + + + + /datum/worn_feature_offset - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

worn_feature_offset + + + +

+ +

A datum for controlling how to position items on an unusually offset body part +For instance if you have an asymmetrical head, hats might need to be offset to one side

+ + + + + + + + + +

Vars

attached_partWhat are we attached to
feature_keyKey used to identify what this offset applies to
offset_xOffsets to apply on the x axis for each direction
offset_yOffsets to apply on the y axis for each direction
ownerOwner of mob we are attached to, could be null on a severed limb

Procs

apply_offsetApplies the current offset to a provided overlay image
changed_ownerWhen the owner of the bodypart changes, update our signal registrations
get_offsetReturns the current offset which should be used for this feature
on_dir_changeWhen we change direction, re-apply the offset
on_owner_deletedIf the owner is deleted, stop updating
+

Var Details

attached_part + + + + +

+

What are we attached to

feature_key + + + + +

+

Key used to identify what this offset applies to

offset_x + + + + +

+

Offsets to apply on the x axis for each direction

offset_y + + + + +

+

Offsets to apply on the y axis for each direction

owner + + + + +

+

Owner of mob we are attached to, could be null on a severed limb

Proc Details

apply_offset +

+

Applies the current offset to a provided overlay image

changed_owner +

+

When the owner of the bodypart changes, update our signal registrations

get_offset +

+

Returns the current offset which should be used for this feature

on_dir_change +

+

When we change direction, re-apply the offset

on_owner_deleted +

+

If the owner is deleted, stop updating

+ + + diff --git a/datum/wound.html b/datum/wound.html new file mode 100644 index 00000000000..6d9205965ea --- /dev/null +++ b/datum/wound.html @@ -0,0 +1,679 @@ + + + + + + + /datum/wound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wound + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

a_or_fromneeded for "your arm has a compound fracture" vs "your arm has some third degree burns"
actionspeed_modThe actionspeed modifier we will use in case we are on the arms and have a interaction penalty. Qdelled on destroy.
already_scarredIf we've already tried scarring while removing (remove_wound can be called twice in a del chain, let's be nice to our code yeah?) TODO: make this cleaner
attached_surgeryIf we're operating on this wound and it gets healed, we'll nix the surgery too
base_treat_timeHow long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery
base_xadone_progress_to_qdelThe base amount of [cryo_progress] required to have ourselves fully healed by cryo. Multiplied against severity.
blood_flowHow much we're contributing to this limb's bleed_rate
can_scarIf this wound can generate a scar.
cryo_progressif you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * [base_xadone_progress_to_qdel] power
damage_multiplier_penaltyIncoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).
default_scar_fileThe default file we take our scar descriptions from, if we fail to get the ideal file.
descThe description shown on the scanners
disablingIf having this wound makes currently makes the parent bodypart unusable
examine_descWhat the limb looks like on a cursory examine
homemade_treat_textImprovised remedies indicated by the first aid analyzer only.
interaction_efficiency_penaltyUsing this limb in a do_after interaction will multiply the length by this duration (arms)
limbThe bodypart we're parented to. Not guaranteed to be non-null, especially after/during removal or if we haven't been applied
limp_chanceIf this wound has a limp_slowdown and is applied to a leg, it has this chance to limp each step
limp_slowdownIf set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg
nameWhat it's named
occur_textThe visible message when this happens
processesIf we need to process each life tick
scar_keywordWhat kind of scars this wound will create description wise once healed
series_threshold_penaltyHow much having this wound will add to all future check_wounding() rolls on this limb, but only for wounds of its own series
severityEither WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)
simple_descSimple description, shortened for clarity if defined. Otherwise just takes the normal desc in the analyzer proc.
simple_treat_textSimple analyzer's wound description, which focuses less on the clinical aspect of the wound and more on easily readable treatment instructions.
sound_effectThis sound will be played upon the wound being applied
sound_volumeThe volume of [sound_effect]
status_effect_typeWhat status effect we assign on application
threshold_penaltyHow much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage
treat_textThe basic treatment suggested by health analyzers
treatable_bySpecific items such as bandages or sutures that can try directly treating this wound
treatable_by_grabbedSpecific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher
treatable_toolsAny tools with any of the flags in this list will be usable to try directly treating this wound
unique_idThe unique ID of our wound for use with [actionspeed_mod]. Defaults to REF(src).
victimWho owns the body part that we're wounding
wound_flagsWhat flags apply to this wound
wound_sourceThe source of how we got the wound, typically a weapon.

Procs

adjust_blood_flowUse this to modify blood flow. You must use this to change the variable +Takes the amount to adjust by, and the lowest amount we're allowed to have post adjust
apply_woundapply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.
can_be_applied_toReturns TRUE if we can be applied to the limb.
check_grab_treatmentsReturn TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat
drag_bleed_amountUpdate our bleed rate +Used when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood
gauze_state_changedSignal proc for if gauze has been applied or removed from our limb.
generate_actionspeed_modifierIf we have no actionspeed_mod, generates a new one with our unique ID, sets actionspeed_mod to it, then returns it.
generate_unique_idGenerates the ID we use for [unique_id], which is also set as our actionspeed mod's ID
get_action_delay_incrementReturns the decisecond increment of any click interactions, assuming our limb is being used.
get_action_delay_multReturns the decisecond multiplier of any click interactions, assuming our limb is being used.
get_bleed_rate_of_changeget_bleed_rate_of_change() is used in /mob/living/carbon/proc/bleed_warn to gauge whether this wound (if bleeding) is becoming worse, better, or staying the same over time
get_desc_intensitySpans [desc] based on our severity.
get_dismember_chance_bonusGets the flat percentage chance increment of a dismember occuring, if a dismember is attempted (requires mangled flesh and bone). returning 15 = +15%.
get_effective_actionspeed_modifierReturns a "adjusted" interaction_efficiency_penalty that will be used for the actionspeed mod.
get_examine_descriptionget_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.
get_limb_examine_descriptionReturns what string is displayed when a limb that has sustained this wound is examined +(This is examining the LIMB ITSELF, when it's not attached to someone.)
get_pregen_dataReturns our pregen data, which is practically guaranteed to exist, so this proc can safely be used raw. +In fact, since it's RETURN_TYPEd to wound_pregen_data, you can even directly access the variables without having to store the value of this proc in a typed variable. +Ex. get_pregen_data().wound_series
get_required_biostateReturns the biostate we require to be applied.
get_scar_fileGetter proc for our scar_file, in case we might have some custom scar gen logic.
get_scar_keywordGetter proc for our scar_keyword, in case we might have some custom scar gen logic.
get_viable_zonesReturns the zones we can be applied to.
get_xadone_progress_to_qdelReturns the amount of [cryo_progress] we need to be qdeleted.
handle_processIf var/processing is TRUE, this is run on each life tick
handle_xadone_progressDoes various actions based on [cryo_progress]. By default, qdeletes the wound past a certain threshold.
item_can_treatReturns TRUE if the item can be used to treat our wounds. Hooks into treat() - only things that return TRUE here may be used there.
limb_essentialReturns TRUE if our limb is the head or chest, FALSE otherwise. +Essential in the sense of "we cannot live without it".
modify_desc_before_spanA hook proc used to modify desc before it is spanned via [get_desc_intensity]. Useful for inserting spans yourself.
on_stasisCalled when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them
on_synthfleshWhen synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future
on_xadoneCalled from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh
receive_damageWhen our parent bodypart is hurt.
remove_actionspeed_modifierIf we have an actionspeed_mod, qdels it and sets our ref of it to null.
remove_woundRemove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim
replace_woundreplace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)
second_windAdditional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand
set_blood_flowSets our blood flow
set_disablingProc called to change the variable disabling and react to the event.
set_interaction_efficiency_penaltySetter for [interaction_efficiency_penalty]. Updates the actionspeed of our actionspeed mod.
set_limbProc called to change the variable limb and react to the event.
set_victimSetter for [victim]. Should completely transfer signals, attributes, etc. To the new victim - if there is any, as it can be null.
should_have_actionspeed_modifierReturns TRUE if we have an interaction_efficiency_penalty, and if we are on the arms, FALSE otherwise.
still_existsFor use in do_after callback checks
treatSomeone is using something that might be used for treating the wound on this limb
try_handlingLike try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example. Ignores thick material checks since you can pop an arm into place through a thick suit unlike using sutures
try_treatingtry_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.
update_actionspeed_modifierIf we should have an actionspeed_mod, ensures we do and updates its slowdown. Otherwise, ensures we dont have one +by qdeleting any existing modifier.
update_inefficienciesUpdates our limping and interaction penalties in accordance with our gauze.
wound_injuryThe immediate negative effects faced as a result of the wound
+

Var Details

a_or_from + + + + +

+

needed for "your arm has a compound fracture" vs "your arm has some third degree burns"

actionspeed_mod + + + + +

+

The actionspeed modifier we will use in case we are on the arms and have a interaction penalty. Qdelled on destroy.

already_scarred + + + + +

+

If we've already tried scarring while removing (remove_wound can be called twice in a del chain, let's be nice to our code yeah?) TODO: make this cleaner

attached_surgery + + + + +

+

If we're operating on this wound and it gets healed, we'll nix the surgery too

base_treat_time + + + + +

+

How long it will take to treat this wound with a standard effective tool, assuming it doesn't need surgery

base_xadone_progress_to_qdel + + + + +

+

The base amount of [cryo_progress] required to have ourselves fully healed by cryo. Multiplied against severity.

blood_flow + + + + +

+

How much we're contributing to this limb's bleed_rate

can_scar + + + + +

+

If this wound can generate a scar.

cryo_progress + + + + +

+

if you're a lazy git and just throw them in cryo, the wound will go away after accumulating severity * [base_xadone_progress_to_qdel] power

damage_multiplier_penalty + + + + +

+

Incoming damage on this limb will be multiplied by this, to simulate tenderness and vulnerability (mostly burns).

default_scar_file + + + + +

+

The default file we take our scar descriptions from, if we fail to get the ideal file.

desc + + + + +

+

The description shown on the scanners

disabling + + + + +

+

If having this wound makes currently makes the parent bodypart unusable

examine_desc + + + + +

+

What the limb looks like on a cursory examine

homemade_treat_text + + + + +

+

Improvised remedies indicated by the first aid analyzer only.

interaction_efficiency_penalty + + + + +

+

Using this limb in a do_after interaction will multiply the length by this duration (arms)

limb + + + + +

+

The bodypart we're parented to. Not guaranteed to be non-null, especially after/during removal or if we haven't been applied

limp_chance + + + + +

+

If this wound has a limp_slowdown and is applied to a leg, it has this chance to limp each step

limp_slowdown + + + + +

+

If set and this wound is applied to a leg, we take this many deciseconds extra per step on this leg

name + + + + +

+

What it's named

occur_text + + + + +

+

The visible message when this happens

processes + + + + +

+

If we need to process each life tick

scar_keyword + + + + +

+

What kind of scars this wound will create description wise once healed

series_threshold_penalty + + + + +

+

How much having this wound will add to all future check_wounding() rolls on this limb, but only for wounds of its own series

severity + + + + +

+

Either WOUND_SEVERITY_TRIVIAL (meme wounds like stubbed toe), WOUND_SEVERITY_MODERATE, WOUND_SEVERITY_SEVERE, or WOUND_SEVERITY_CRITICAL (or maybe WOUND_SEVERITY_LOSS)

simple_desc + + + + +

+

Simple description, shortened for clarity if defined. Otherwise just takes the normal desc in the analyzer proc.

simple_treat_text + + + + +

+

Simple analyzer's wound description, which focuses less on the clinical aspect of the wound and more on easily readable treatment instructions.

sound_effect + + + + +

+

This sound will be played upon the wound being applied

sound_volume + + + + +

+

The volume of [sound_effect]

status_effect_type + + + + +

+

What status effect we assign on application

threshold_penalty + + + + +

+

How much having this wound will add to all future check_wounding() rolls on this limb, to allow progression to worse injuries with repeated damage

treat_text + + + + +

+

The basic treatment suggested by health analyzers

treatable_by + + + + +

+

Specific items such as bandages or sutures that can try directly treating this wound

treatable_by_grabbed + + + + +

+

Specific items such as bandages or sutures that can try directly treating this wound only if the user has the victim in an aggressive grab or higher

treatable_tools + + + + +

+

Any tools with any of the flags in this list will be usable to try directly treating this wound

unique_id + + + + +

+

The unique ID of our wound for use with [actionspeed_mod]. Defaults to REF(src).

victim + + + + +

+

Who owns the body part that we're wounding

wound_flags + + + + +

+

What flags apply to this wound

wound_source + + + + +

+

The source of how we got the wound, typically a weapon.

Proc Details

adjust_blood_flow +

+

Use this to modify blood flow. You must use this to change the variable +Takes the amount to adjust by, and the lowest amount we're allowed to have post adjust

apply_wound +

+

apply_wound() is used once a wound type is instantiated to assign it to a bodypart, and actually come into play.

+

Arguments:

+

can_be_applied_to +

+

Returns TRUE if we can be applied to the limb.

check_grab_treatments +

+

Return TRUE if we have an item that can only be used while aggro grabbed (unhanded aggro grab treatments go in /datum/wound/proc/try_handling). Treatment is still is handled in /datum/wound/proc/treat

drag_bleed_amount +

+

Update our bleed rate +Used when we're being dragged while bleeding, the value we return is how much bloodloss this wound causes from being dragged. Since it's a proc, you can let bandages soak some of the blood

gauze_state_changed +

+

Signal proc for if gauze has been applied or removed from our limb.

generate_actionspeed_modifier +

+

If we have no actionspeed_mod, generates a new one with our unique ID, sets actionspeed_mod to it, then returns it.

generate_unique_id +

+

Generates the ID we use for [unique_id], which is also set as our actionspeed mod's ID

get_action_delay_increment +

+

Returns the decisecond increment of any click interactions, assuming our limb is being used.

get_action_delay_mult +

+

Returns the decisecond multiplier of any click interactions, assuming our limb is being used.

get_bleed_rate_of_change +

+

get_bleed_rate_of_change() is used in /mob/living/carbon/proc/bleed_warn to gauge whether this wound (if bleeding) is becoming worse, better, or staying the same over time

+

Returns BLOOD_FLOW_STEADY if we're not bleeding or there's no change (like piercing), BLOOD_FLOW_DECREASING if we're clotting (non-critical slashes, gauzed, coagulant, etc), BLOOD_FLOW_INCREASING if we're opening up (crit slashes/heparin/nitrous oxide)

get_desc_intensity +

+

Spans [desc] based on our severity.

get_dismember_chance_bonus +

+

Gets the flat percentage chance increment of a dismember occuring, if a dismember is attempted (requires mangled flesh and bone). returning 15 = +15%.

get_effective_actionspeed_modifier +

+

Returns a "adjusted" interaction_efficiency_penalty that will be used for the actionspeed mod.

get_examine_description +

+

get_examine_description() is used in carbon/examine and human/examine to show the status of this wound. Useful if you need to show some status like the wound being splinted or bandaged.

+

Return the full string line you want to show, note that we're already dealing with the 'warning' span at this point, and that \n is already appended for you in the place this is called from

+

Arguments:

+

get_limb_examine_description +

+

Returns what string is displayed when a limb that has sustained this wound is examined +(This is examining the LIMB ITSELF, when it's not attached to someone.)

get_pregen_data +

+

Returns our pregen data, which is practically guaranteed to exist, so this proc can safely be used raw. +In fact, since it's RETURN_TYPEd to wound_pregen_data, you can even directly access the variables without having to store the value of this proc in a typed variable. +Ex. get_pregen_data().wound_series

get_required_biostate +

+

Returns the biostate we require to be applied.

get_scar_file +

+

Getter proc for our scar_file, in case we might have some custom scar gen logic.

get_scar_keyword +

+

Getter proc for our scar_keyword, in case we might have some custom scar gen logic.

get_viable_zones +

+

Returns the zones we can be applied to.

get_xadone_progress_to_qdel +

+

Returns the amount of [cryo_progress] we need to be qdeleted.

handle_process +

+

If var/processing is TRUE, this is run on each life tick

handle_xadone_progress +

+

Does various actions based on [cryo_progress]. By default, qdeletes the wound past a certain threshold.

item_can_treat +

+

Returns TRUE if the item can be used to treat our wounds. Hooks into treat() - only things that return TRUE here may be used there.

limb_essential +

+

Returns TRUE if our limb is the head or chest, FALSE otherwise. +Essential in the sense of "we cannot live without it".

modify_desc_before_span +

+

A hook proc used to modify desc before it is spanned via [get_desc_intensity]. Useful for inserting spans yourself.

on_stasis +

+

Called when the patient is undergoing stasis, so that having fully treated a wound doesn't make you sit there helplessly until you think to unbuckle them

on_synthflesh +

+

When synthflesh is applied to the victim, we call this. No sense in setting up an entire chem reaction system for wounds when we only care for a few chems. Probably will change in the future

on_xadone +

+

Called from cryoxadone and pyroxadone when they're proc'ing. Wounds will slowly be fixed separately from other methods when these are in effect. crappy name but eh

receive_damage +

+

When our parent bodypart is hurt.

remove_actionspeed_modifier +

+

If we have an actionspeed_mod, qdels it and sets our ref of it to null.

remove_wound +

+

Remove the wound from whatever it's afflicting, and cleans up whateverstatus effects it had or modifiers it had on interaction times. ignore_limb is used for detachments where we only want to forget the victim

replace_wound +

+

replace_wound() is used when you want to replace the current wound with a new wound, presumably of the same category, just of a different severity (either up or down counts)

+

Arguments:

+

second_wind +

+

Additional beneficial effects when the wound is gained, in case you want to give a temporary boost to allow the victim to try an escape or last stand

set_blood_flow +

+

Sets our blood flow

set_disabling +

+

Proc called to change the variable disabling and react to the event.

set_interaction_efficiency_penalty +

+

Setter for [interaction_efficiency_penalty]. Updates the actionspeed of our actionspeed mod.

set_limb +

+

Proc called to change the variable limb and react to the event.

set_victim +

+

Setter for [victim]. Should completely transfer signals, attributes, etc. To the new victim - if there is any, as it can be null.

should_have_actionspeed_modifier +

+

Returns TRUE if we have an interaction_efficiency_penalty, and if we are on the arms, FALSE otherwise.

still_exists +

+

For use in do_after callback checks

treat +

+

Someone is using something that might be used for treating the wound on this limb

try_handling +

+

Like try_treating() but for unhanded interactions from humans, used by joint dislocations for manual bodypart chiropractice for example. Ignores thick material checks since you can pop an arm into place through a thick suit unlike using sutures

try_treating +

+

try_treating() is an intercept run from [/mob/living/carbon/proc/attackby] right after surgeries but before anything else. Return TRUE here if the item is something that is relevant to treatment to take over the interaction.

+

This proc leads into /datum/wound/proc/treat and probably shouldn't be added onto in children types. You can specify what items or tools you want to be intercepted +with var/list/treatable_by and var/treatable_tool, then if an item fulfills one of those requirements and our wound claims it first, it goes over to treat() and treat_self().

+

Arguments:

+

update_actionspeed_modifier +

+

If we should have an actionspeed_mod, ensures we do and updates its slowdown. Otherwise, ensures we dont have one +by qdeleting any existing modifier.

update_inefficiencies +

+

Updates our limping and interaction penalties in accordance with our gauze.

wound_injury +

+

The immediate negative effects faced as a result of the wound

+ + + diff --git a/datum/wound/blunt/bone.html b/datum/wound/blunt/bone.html new file mode 100644 index 00000000000..58f415b8eb8 --- /dev/null +++ b/datum/wound/blunt/bone.html @@ -0,0 +1,120 @@ + + + + + + + /datum/wound/blunt/bone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bone + + + +

+ + + + + + + + + + + + + + +

Vars

active_traumaIf we suffer severe head booboos, we can get brain traumas tied to them
brain_trauma_groupWhat brain trauma group, if any, we can draw from for head wounds
gelledHave we been bone gel'd?
internal_bleeding_chanceIf this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest
next_trauma_cycleIf we deal brain traumas, when is the next one due?
regen_ticks_currentOur current counter for gel + surgical tape regeneration
regen_ticks_neededIf we did the gel + surgical tape healing method for fractures, how many ticks does it take to heal by default
tapedHave we been taped?
trauma_cycle_cooldownHow long do we wait +/- 20% for the next trauma?

Procs

attack_with_hurt_handIf we're a human who's punching something with a broken arm, we might hurt ourselves doing so
gelif someone is using bone gel on our wound
skelly_gelskellies are less averse to bone gel, since they're literally all bone
tapeif someone is using surgical tape on our wound
+

Var Details

active_trauma + + + + +

+

If we suffer severe head booboos, we can get brain traumas tied to them

brain_trauma_group + + + + +

+

What brain trauma group, if any, we can draw from for head wounds

gelled + + + + +

+

Have we been bone gel'd?

internal_bleeding_chance + + + + +

+

If this is a chest wound and this is set, we have this chance to cough up blood when hit in the chest

next_trauma_cycle + + + + +

+

If we deal brain traumas, when is the next one due?

regen_ticks_current + + + + +

+

Our current counter for gel + surgical tape regeneration

regen_ticks_needed + + + + +

+

If we did the gel + surgical tape healing method for fractures, how many ticks does it take to heal by default

taped + + + + +

+

Have we been taped?

trauma_cycle_cooldown + + + + +

+

How long do we wait +/- 20% for the next trauma?

Proc Details

attack_with_hurt_hand +

+

If we're a human who's punching something with a broken arm, we might hurt ourselves doing so

gel +

+

if someone is using bone gel on our wound

skelly_gel +

+

skellies are less averse to bone gel, since they're literally all bone

tape +

+

if someone is using surgical tape on our wound

+ + + diff --git a/datum/wound/blunt/bone/moderate.html b/datum/wound/blunt/bone/moderate.html new file mode 100644 index 00000000000..68ab36389e7 --- /dev/null +++ b/datum/wound/blunt/bone/moderate.html @@ -0,0 +1,49 @@ + + + + + + + /datum/wound/blunt/bone/moderate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

moderate + + + +

+ +

Joint Dislocation (Moderate Blunt)

+ + +

Procs

chiropracticeIf someone is snapping our dislocated joint back into place by hand with an aggro grab and help intent
door_crushGetting smushed in an airlock/firelock is a last-ditch attempt to try relocating your limb
malpracticeIf someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent

Proc Details

chiropractice +

+

If someone is snapping our dislocated joint back into place by hand with an aggro grab and help intent

door_crush +

+

Getting smushed in an airlock/firelock is a last-ditch attempt to try relocating your limb

malpractice +

+

If someone is snapping our dislocated joint into a fracture by hand with an aggro grab and harm or disarm intent

+ + + diff --git a/datum/wound/burn/flesh.html b/datum/wound/burn/flesh.html new file mode 100644 index 00000000000..6809e8ba8cd --- /dev/null +++ b/datum/wound/burn/flesh.html @@ -0,0 +1,85 @@ + + + + + + + /datum/wound/burn/flesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flesh + + + +

+ + + + + + + + + +

Vars

flesh_damageHow much damage to our flesh we currently have. Once both this and infestation reach 0, the wound is considered healed
flesh_healingOur current counter for how much flesh regeneration we have stacked from regenerative mesh/synthflesh/whatever, decrements each tick and lowers flesh_damage
infestationOur current level of infection
infestation_rateHow quickly infection breeds on this burn if we don't have disinfectant
sanitizationOur current level of sanitization/anti-infection, from disinfectants/alcohol/UV lights. While positive, totally pauses and slowly reverses infestation effects each tick
strikes_to_lose_limbOnce we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen)

Procs

ointmentmeshif someone is using ointment or mesh on our burns
uvParamedic UV penlights
+

Var Details

flesh_damage + + + + +

+

How much damage to our flesh we currently have. Once both this and infestation reach 0, the wound is considered healed

flesh_healing + + + + +

+

Our current counter for how much flesh regeneration we have stacked from regenerative mesh/synthflesh/whatever, decrements each tick and lowers flesh_damage

infestation + + + + +

+

Our current level of infection

infestation_rate + + + + +

+

How quickly infection breeds on this burn if we don't have disinfectant

sanitization + + + + +

+

Our current level of sanitization/anti-infection, from disinfectants/alcohol/UV lights. While positive, totally pauses and slowly reverses infestation effects each tick

strikes_to_lose_limb + + + + +

+

Once we reach infestation beyond WOUND_INFESTATION_SEPSIS, we get this many warnings before the limb is completely paralyzed (you'd have to ignore a really bad burn for a really long time for this to happen)

Proc Details

ointmentmesh +

+

if someone is using ointment or mesh on our burns

uv +

+

Paramedic UV penlights

+ + + diff --git a/datum/wound/loss.html b/datum/wound/loss.html new file mode 100644 index 00000000000..be80572eb03 --- /dev/null +++ b/datum/wound/loss.html @@ -0,0 +1,43 @@ + + + + + + + /datum/wound/loss - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

loss + + + +

+ + + +

Vars

loss_wounding_typeThe wounding_type of the attack that caused us. Used to generate the description of our scar. Currently unused, but primarily exists in case non-biological wounds are added.

Procs

apply_dismemberOur special proc for our special dismembering, the wounding type only matters for what text we have
+

Var Details

loss_wounding_type + + + + +

+

The wounding_type of the attack that caused us. Used to generate the description of our scar. Currently unused, but primarily exists in case non-biological wounds are added.

Proc Details

apply_dismember +

+

Our special proc for our special dismembering, the wounding type only matters for what text we have

+ + + diff --git a/datum/wound/pierce/bleed.html b/datum/wound/pierce/bleed.html new file mode 100644 index 00000000000..92c1588999b --- /dev/null +++ b/datum/wound/pierce/bleed.html @@ -0,0 +1,71 @@ + + + + + + + /datum/wound/pierce/bleed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bleed + + + +

+ + + + + + + +

Vars

gauzed_clot_rateIf gauzed, what percent of the internal bleeding actually clots of the total absorption rate
initial_flowHow much blood we start losing when this wound is first applied
internal_bleeding_chanceWhen hit on this bodypart, we have this chance of losing some blood + the incoming damage
internal_bleeding_coefficientIf we let off blood when hit, the max blood lost is this * the incoming damage

Procs

sutureIf someone is using a suture to close this puncture
tool_cauterizeIf someone is using either a cautery tool or something with heat to cauterize this pierce
+

Var Details

gauzed_clot_rate + + + + +

+

If gauzed, what percent of the internal bleeding actually clots of the total absorption rate

initial_flow + + + + +

+

How much blood we start losing when this wound is first applied

internal_bleeding_chance + + + + +

+

When hit on this bodypart, we have this chance of losing some blood + the incoming damage

internal_bleeding_coefficient + + + + +

+

If we let off blood when hit, the max blood lost is this * the incoming damage

Proc Details

suture +

+

If someone is using a suture to close this puncture

tool_cauterize +

+

If someone is using either a cautery tool or something with heat to cauterize this pierce

+ + + diff --git a/datum/wound/slash/flesh.html b/datum/wound/slash/flesh.html new file mode 100644 index 00000000000..47e0a9b68b0 --- /dev/null +++ b/datum/wound/slash/flesh.html @@ -0,0 +1,99 @@ + + + + + + + /datum/wound/slash/flesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flesh + + + +

+ + + + + + + + + + + +

Vars

clot_rateHow much our blood_flow will naturally decrease per second, not only do larger cuts bleed more blood faster, they clot slower (higher number = clot quicker, negative = opening up)
demotes_toOnce the blood flow drops below minimum_flow, we demote it to this type of wound. If there's none, we're all better
highest_flowThe maximum flow we've had so far
highest_scarA bad system I'm using to track the worst scar we earned (since we can demote, we want the biggest our wound has been, not what it was when it was cured (probably moderate))
initial_flowHow much blood we start losing when this wound is first applied
minimum_flowWhen we have less than this amount of flow, either from treatment or clotting, we demote to a lower cut or are healed of the wound

Procs

las_cauterizeIf someone's putting a laser gun up to our cut to cauterize it
lick_woundsif a felinid is licking this cut to reduce bleeding
sutureIf someone is using a suture to close this cut
tool_cauterizeIf someone is using either a cautery tool or something with heat to cauterize this cut
+

Var Details

clot_rate + + + + +

+

How much our blood_flow will naturally decrease per second, not only do larger cuts bleed more blood faster, they clot slower (higher number = clot quicker, negative = opening up)

demotes_to + + + + +

+

Once the blood flow drops below minimum_flow, we demote it to this type of wound. If there's none, we're all better

highest_flow + + + + +

+

The maximum flow we've had so far

highest_scar + + + + +

+

A bad system I'm using to track the worst scar we earned (since we can demote, we want the biggest our wound has been, not what it was when it was cured (probably moderate))

initial_flow + + + + +

+

How much blood we start losing when this wound is first applied

minimum_flow + + + + +

+

When we have less than this amount of flow, either from treatment or clotting, we demote to a lower cut or are healed of the wound

Proc Details

las_cauterize +

+

If someone's putting a laser gun up to our cut to cauterize it

lick_wounds +

+

if a felinid is licking this cut to reduce bleeding

suture +

+

If someone is using a suture to close this cut

tool_cauterize +

+

If someone is using either a cautery tool or something with heat to cauterize this cut

+ + + diff --git a/datum/wound_pregen_data.html b/datum/wound_pregen_data.html new file mode 100644 index 00000000000..1861cf0fa75 --- /dev/null +++ b/datum/wound_pregen_data.html @@ -0,0 +1,225 @@ + + + + + + + /datum/wound_pregen_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wound_pregen_data + + + +

+ +

A singleton datum that holds pre-gen and static data about a wound. Each wound datum should have a corresponding wound_pregen_data.

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstractWill this be instantiated?
can_be_randomly_generatedIf true, our wound can be selected in ordinary wound rolling. If this is set to false, our wound can only be directly instantiated by use of specific typepath.
compete_for_woundingIf true, we will attempt to, during a random wound roll, overpower and remove other wound typepaths from the possible wounds list using [competition_mode] and [overpower_wounds_of_even_severity].
competition_modeThe competition mode with which we will remove other wounds from a possible wound roll assuming [compete_for_wounding] is TRUE. See wounds.dm, the defines file, for more information on what these do.
duplicates_allowedIf false, we will iterate through wounds on a given limb, and if any match our type, we wont add our wound.
ignore_cannot_bleedIf we require BIO_BLOODED, we will not add our wound if this is true and the limb cannot bleed.
match_all_wounding_typesIf true, this wound can only be generated by all [required_wounding_types] at once, not just any.
overpower_wounds_of_even_severityIf this and [compete_for_wounding] is true, we will remove wounds of an even severity to us during a random wound roll.
require_any_biostateIf false, we will check if the limb has all of our required biostates instead of just any.
required_limb_biostateA list of biostates a limb must have to receive our wound, in wounds.dm.
required_wounding_typesThe types of attack that can generate this wound. E.g. WOUND_SLASH = A sharp attack can cause this, WOUND_BLUNT = an attack with no sharpness/an attack with sharpness against a limb with mangled exterior can cause this.
scar_prioritiesA list of BIO_ defines that will be iterated over in order to determine the scar file our wound will generate. +Use generate_scar_priorities to create a custom list.
threshold_minimumThe minimum injury roll a attack must get to generate us. Affected by our wound's threshold_penalty and series_threshold_penalty, as well as the attack's wound_bonus. See check_wounding_mods().
viable_zonesA list of bodyzones we are applicable to.
weightThe weight that will be used if, by the end of wound selection, there are multiple valid wounds. This will be inserted into pick_weight, so use integers.
wound_path_to_generateThe typepath of the wound we will be handling and storing data of. NECESSARY IF THIS IS A NON-ABSTRACT TYPE!
wound_seriesThe series of wounds this is in. See wounds.dm (the defines file) for a more detailed explanation - but tldr is that no 2 wounds of the same series can be on a limb.

Procs

biostate_validReturns true if we have the given biostates, or any biostate in it if check_for_any is true. False otherwise.
can_be_applied_toArgs:
generate_instanceReturns a new instance of our wound datum.
generate_scar_prioritiesShould return a list of BIO_ biostate priorities, in order. See [scar_priorities] for further documentation.
get_threshold_forA simple getter for [threshold_minimum], with arguments supplied to allow custom behavior.
get_weightA simple getter for [weight], with arguments supplied to allow custom behavior.
wounding_types_validReturns TRUE if we use WOUND_ALL, or we require all types and have all/if we require any and have any, FALSE otherwise.
+

Var Details

abstract + + + + +

+

Will this be instantiated?

can_be_randomly_generated + + + + +

+

If true, our wound can be selected in ordinary wound rolling. If this is set to false, our wound can only be directly instantiated by use of specific typepath.

compete_for_wounding + + + + +

+

If true, we will attempt to, during a random wound roll, overpower and remove other wound typepaths from the possible wounds list using [competition_mode] and [overpower_wounds_of_even_severity].

competition_mode + + + + +

+

The competition mode with which we will remove other wounds from a possible wound roll assuming [compete_for_wounding] is TRUE. See wounds.dm, the defines file, for more information on what these do.

duplicates_allowed + + + + +

+

If false, we will iterate through wounds on a given limb, and if any match our type, we wont add our wound.

ignore_cannot_bleed + + + + +

+

If we require BIO_BLOODED, we will not add our wound if this is true and the limb cannot bleed.

match_all_wounding_types + + + + +

+

If true, this wound can only be generated by all [required_wounding_types] at once, not just any.

overpower_wounds_of_even_severity + + + + +

+

If this and [compete_for_wounding] is true, we will remove wounds of an even severity to us during a random wound roll.

require_any_biostate + + + + +

+

If false, we will check if the limb has all of our required biostates instead of just any.

required_limb_biostate + + + + +

+

A list of biostates a limb must have to receive our wound, in wounds.dm.

required_wounding_types + + + + +

+

The types of attack that can generate this wound. E.g. WOUND_SLASH = A sharp attack can cause this, WOUND_BLUNT = an attack with no sharpness/an attack with sharpness against a limb with mangled exterior can cause this.

scar_priorities + + + + +

+

A list of BIO_ defines that will be iterated over in order to determine the scar file our wound will generate. +Use generate_scar_priorities to create a custom list.

threshold_minimum + + + + +

+

The minimum injury roll a attack must get to generate us. Affected by our wound's threshold_penalty and series_threshold_penalty, as well as the attack's wound_bonus. See check_wounding_mods().

viable_zones + + + + +

+

A list of bodyzones we are applicable to.

weight + + + + +

+

The weight that will be used if, by the end of wound selection, there are multiple valid wounds. This will be inserted into pick_weight, so use integers.

wound_path_to_generate + + + + +

+

The typepath of the wound we will be handling and storing data of. NECESSARY IF THIS IS A NON-ABSTRACT TYPE!

wound_series + + + + +

+

The series of wounds this is in. See wounds.dm (the defines file) for a more detailed explanation - but tldr is that no 2 wounds of the same series can be on a limb.

Proc Details

biostate_valid +

+

Returns true if we have the given biostates, or any biostate in it if check_for_any is true. False otherwise.

can_be_applied_to +

+

Args:

+ +

Returns: +FALSE if the limb cannot be wounded, if the wounding types dont match ours (via wounding_types_valid()), if we have a higher severity wound already in our series, +if we have a biotype mismatch, if the limb isnt in a viable zone, or if theres any duplicate wound types. +TRUE otherwise.

generate_instance +

+

Returns a new instance of our wound datum.

generate_scar_priorities +

+

Should return a list of BIO_ biostate priorities, in order. See [scar_priorities] for further documentation.

get_threshold_for +

+

A simple getter for [threshold_minimum], with arguments supplied to allow custom behavior.

+

Args:

+

get_weight +

+

A simple getter for [weight], with arguments supplied to allow custom behavior.

+

Args:

+ +

Returns: +Our weight.

wounding_types_valid +

+

Returns TRUE if we use WOUND_ALL, or we require all types and have all/if we require any and have any, FALSE otherwise.

+ + + diff --git a/datum/z_pillar.html b/datum/z_pillar.html new file mode 100644 index 00000000000..4aa479e257a --- /dev/null +++ b/datum/z_pillar.html @@ -0,0 +1,84 @@ + + + + + + + /datum/z_pillar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

z_pillar + + + +

+ +

Grouping datum that manages transparency for a block of space +Setup to ease debugging, and to make add/remove operations cheaper

+ + + + + +

Vars

drawing_objectAssoc list of turfs using z holders in the form displayed turf -> z holder
turf_sourcesAssoc list in the form displayed turf -> list of sources

Procs

display_turfDisplays a turf from the z level below us on our level
hide_turfBasically, if we used to be under a non transparent turf, but are no longer in that position +Then we add to the transparent turf we're now under, and nuke the old object +Hides an existing turf from our vis_contents, or the vis_contents of the source if applicable
parent_clearedCalled when a transparent turf is cleared. We wait a tick, then check to see what +Kind of turf replaced our former holder, and resetup our visuals as desired +We do not need to do this for non transparent holders, because they will have their abstract object cleared +When a transparent holder comes back.
refresh_orphanRuns the actual refresh of some formerly orphaned via vis_loc deletiong turf +We'll only reup if we either have no souece, or if the source is a transparent turf
+

Var Details

drawing_object + + + + +

+

Assoc list of turfs using z holders in the form displayed turf -> z holder

turf_sources + + + + +

+

Assoc list in the form displayed turf -> list of sources

Proc Details

display_turf +

+

Displays a turf from the z level below us on our level

hide_turf +

+

Basically, if we used to be under a non transparent turf, but are no longer in that position +Then we add to the transparent turf we're now under, and nuke the old object +Hides an existing turf from our vis_contents, or the vis_contents of the source if applicable

parent_cleared +

+

Called when a transparent turf is cleared. We wait a tick, then check to see what +Kind of turf replaced our former holder, and resetup our visuals as desired +We do not need to do this for non transparent holders, because they will have their abstract object cleared +When a transparent holder comes back.

refresh_orphan +

+

Runs the actual refresh of some formerly orphaned via vis_loc deletiong turf +We'll only reup if we either have no souece, or if the source is a transparent turf

+ + + diff --git a/dmdoc.css b/dmdoc.css new file mode 100644 index 00000000000..367f005d2a8 --- /dev/null +++ b/dmdoc.css @@ -0,0 +1,112 @@ +body { + margin: auto; + background: #f4f4f4; + color: #333333; + font-size: 16px; + line-height: 1.3; + max-width: 73%; + overflow-y: scroll; + font-family: Arial, Helvetica, sans-serif; +} +pre, code { + background: white; + tab-size: 4; + -moz-tab-size: 4; +} +pre { + padding: 8px; + white-space: pre-wrap; +} +code { + font-family: Consolas, "DejaVu Sans Mono", "Courier New", Courier, monospace; +} +a { + color: #333333; +} +article { + margin: 2.5% auto; +} +header, footer { + margin: 2.5% -6px; + border: 1px solid #444444; + border-radius: 5px; + padding: 5px; +} +h1 aside, h2 aside, h3 aside, h4 aside, h5 aside { + display: inline; + font-weight: normal; + font-size: smaller; +} +aside.declaration, aside.parent { + display: inline-block; + position: relative; + text-align: right; + width: 100px; + margin-right: -100px; + right: 105px; +} +aside.declaration { + font-style: italic; +} +table.summary tr:first-child > td > :first-child { + margin-top: 0; +} +table.summary tr:last-child > td > :last-child { + margin-bottom: 0; +} +table.summary th, table.summary td { + text-align: left; + vertical-align: top; + padding-left: 0; + padding-right: 1em; +} +table.summary th { + padding-left: 1em; + padding-bottom: 4px; + text-indent: -1em; +} +.no-substance { + color: #888888; +} +:target { + background-color: white; + border-radius: 5px; + padding-left: 3px; + padding-right: 3px; + margin-left: -3px; + margin-right: 3px; +} +img[src="git.png"] { + opacity: 0.8; +} +.expander { + cursor: pointer; + display: inline-block; + position: relative; + text-align: right; + width: 50px; + margin-right: -50px; + right: 53px; +} + +@media (prefers-color-scheme: dark) { + body { + background-color: #151520; + color: #e0e0e0; + } + a { + color: #e0e0e0; + } + header, footer { + border-color: #d0d0d0; + } + .no-substance { + color: #bbbbbb; + } + pre, code, :target { + background-color: #252530; + } + img[src="git.png"] { + filter: invert(1); + } +} diff --git a/dmdoc.js b/dmdoc.js new file mode 100644 index 00000000000..6bf31f7e944 --- /dev/null +++ b/dmdoc.js @@ -0,0 +1,58 @@ +// ---------------------------------------------------------------------------- +// Index page tree browsing + +document.addEventListener("DOMContentLoaded", function() { + var items = document.getElementsByClassName("index-tree"); + var nodes = []; + + for (var i = 0; i < items.length; ++i) { + var node = items[i]; + var parent = node.parentElement; + if (!parent || parent.tagName.toLowerCase() != "li") { + continue; + } + node.hidden = true; + parent.style.listStyle = "none"; + var expander = document.createElement("span"); + expander.className = "expander"; + expander.textContent = "\u2795"; + expander.addEventListener("click", function(node) { + return function(event) { + if (event.target.tagName.toLowerCase() == "a") { + return; + } + event.preventDefault(); + event.stopPropagation(true); + node.hidden = !node.hidden; + this.textContent = node.hidden ? "\u2795" : "\u2796"; + }; + }(node)); + + if (node.parentElement.parentElement.classList.contains("modules")) { + node.hidden = false; + expander.textContent = "\u2796"; + } + + parent.insertBefore(expander, parent.firstChild); + nodes.push({ node, expander }); + } + + if (nodes.length) { + var toggle = document.createElement("a"); + toggle.href = "#"; + toggle.appendChild(document.createTextNode("Toggle All")); + toggle.addEventListener("click", function(event) { + event.preventDefault(); + + var hidden = !nodes[1].node.hidden; + for (var i = 0; i < nodes.length; ++i) { + nodes[i].node.hidden = hidden; + nodes[i].expander.textContent = hidden ? "\u2795" : "\u2796"; + } + }); + + var header = document.getElementsByTagName("header")[0]; + header.appendChild(document.createTextNode(" \u2014 ")); + header.appendChild(toggle); + } +}); diff --git a/git.png b/git.png new file mode 100644 index 0000000000000000000000000000000000000000..c190e8538b5c10d941a5527d6cd86cf088502733 GIT binary patch literal 2383 zcmb_edsGuw8o!ev4?qHLT``Cz^-=7uB0>*HMP}Aw@h!E|Ajk>IT2LP0Er?`BrH9h0 zAoYRZA@+dPvsR@=2?e?{)w(<)gk8jH1rj#6krhZt*yc6K?2PB^>Hf3b)9%js=Kk*d zzTY?B_uYHuo~ex65$od>-~|Bi*}N%c7XT2(-U66m&eui8GY}THZTCh7f9}=DeY=N= z@hjN1<6U41@f)~IqA9peQXQAmZ2Pqk0zlBQIp%k}i=oLspV+q%0wgKdPa#=ZVfPP| z4?kD6%2tQpE79N2Mi!N&CiZvT8#!Gn{p0na_lukQdM_H&zg*Ce-dbQ#C;4h_TMQZX zi!0LVx372fx?09Qct7bvjZ1neD4OepJYL%Golw(H+HGek_{Byu-ADlN066e~{xt)( z2#iUZmJhZ|<^Lu7Pt^9%3C;d!h%o2wXqjZsNANrI$~N%IonO&I{pE6bXku<7I~^6UnH?lSDA3~xW&VC4@aay)c)7xXX< zUu`=E)QcrRBY)2@HnNOB@I#k@!Yu;NV&QpffkwmYUKfBHuEHyMJe}PRB1E{s0M83y zJp2ToIi$q`1uS5x&v_mncFT);T6i9U9_5!&PfvO?PG9f@2atWLMlP11s6suQ5fTkF zvhm^lD4s(V^{#_C<$6`H(aTQ~NZc^r6!|mna_xjUF?!X;(Lxp@a@|KkgErKl;p^;K zT$c+fR*cfAD4tHW=4uc-h$0G0F3b`5ozh0V^DYNQQB zAvA=B1~Zk*@c9xnMsd9kLKQ8kJc<3rAs(>zofqNbs?S7VJfb5F)Mzs=LYov@OIT0u z9MYr#Q8d$U{nS<*yg?rg=(RY%J1t;}q5A`w^)t%;5Q#E%67jjP&0az;M*)HuwXFc6 zs7_*|K*#j8)Wc-4xaV?Mzkubja-dL*A{$t#_*Gn~v{w0%8jUmd=gIkk>W{f5Y(K!o zCM@U2(aK$MNB)BDa4?$y+aN3rFS_YC^x`WR%KPF&cWciVSA?Fx)aZ7DH~Z&8K=DW` zMq?NH0bK>N%D1mT4E0zmPI(>X0IHcl&}?>s6H7tPx+FGL0-MUpUoiQ}>A8kkv%8Vg zbOuuouR2Lz124!|3g>^UM^=)N(+SV!cVh{7XVshUq_v=KJtwpACR)0TJ_h};#u~qO zRSok>$~#VLP>z3J8;j3I(~h%O(fIbsGPnBOY{SJScQn0hy@B&^)IgU!c$!m`fhp-# z>z^%0&wZ`IhVn-}jx=J5e%GbJg|2@DVx^zb!DhvgLE;08RqhDVhr85x)3IChefLb= z4t=tFQH05u;S$ZdjbZ&O-gksH{!S%Mukx z?}sAvfncOUzi<6?Cy;`LjH5PtdD(|?+x=C^3xi&CJY}t!X$d(6_v$uZb zpW={KdWX2Kf6J|P$N!bHjs8t8^cnVlk$EjjF+LgdHC4>1ZXdVZeT@`{l0h$|NrxMd z9K2v6LLJm6UW-Ns9^S^Yo#3TEajqU`4w@N)NWMZsb$Xe=6zdZgTC^*OIdV36A5QdT zunlkQJ*bGr>CT3w5Va3(dJF3inksw-&RERFEKm0P=zIfoXVW}&RU%z=+9I8==yLZR zm;v2+IagP;KvyjfBE=zOu;D!%Nx`c+VH?bQZqDZ0^xU@bWSD`3XCt2MGSfm+m$&3w zC3DP~+);=)1#*=rqRGEo`Angm7%P2lzKJv2;<%EpfsQhft%F1lrJd`$M3v_Xj`lPri4CU zEG)y3OpuZENVU$9{fTxisoE(cnu-4X;r3*R+DhMv_2&yw$ZtdCwqeJuqN&@{*pfJo zeCFYV%u6uvTM6#$g4<*`4yMJvIt9exv|&-WlPeJD+%sU>U-BOX!z*6OavE9jzm4}j z1plLHAGGFMrS*Nc_7mXK+Fxj6$SWzij%Jvyzp>M(+GEx}Dabu?b>t-U#Jv4jrs(YU uu*mfpirO`AcnbGKEqUPIF?8O0O4v1cuzhf6?OOJ?X!FJ$F*i4)9RDY%f@^R9 literal 0 HcmV?d00001 diff --git a/global.html b/global.html new file mode 100644 index 00000000000..29945ed6368 --- /dev/null +++ b/global.html @@ -0,0 +1,7024 @@ + + + + + + + (global) - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

(global) + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

FailsafeFailsafe
MasterStonedMC
SSacidThe subsystem used to tick /datum/component/acid instances.
SSai_behaviorsThe subsystem used to tick /datum/ai_behavior instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS
SSai_controllersThe subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.
SSai_movementThe subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances
SSambienceThe subsystem used to play ambience to users every now and then, makes them real excited.
SSarea_contentsResponsible for managing the sizes of area.contained_turfs and area.turfs_to_uncontain +These lists do not check for duplicates, which is fine, but it also means they can balloon in size over time +as a consequence of repeated changes in area in a space +They additionally may not always resolve often enough to avoid memory leaks +This is annoying, so lets keep an eye on them and cut them down to size if needed
SSasset_loadingAllows us to lazyload asset datums +Anything inserted here will fully load if directly gotten +So this just serves to remove the requirement to load assets fully during init
SSaura_healingThe subsystem used to tick /datum/component/aura_healing instances.
SSauto_equipAutomatically equips the VIP outfit for donators (as well as the trait), and those in tournament teams
SSban_cacheSubsystem that batches a ban cache list for clients on initialize +This way we don't need to do ban checks in series later in the code
SSburningThe subsystem used to tick /datum/component/burning instances.
SScliff_fallingSubsystem to handle falling of off cliffs
SSclock_componentThe subsystem used to tick /datum/component/acid instances.
SSdigital_clockThe subsystem used to tick digital clocks
SSdiscord
SSearly_assetsInitializes any assets that need to be loaded ASAP. +This houses preference menu assets, since they can be loaded at any time, +most dangerously before the atoms SS initializes. +Thus, we want it to fail consistently in CI as if it would've if a player +opened it up early.
SSeigenstatesSubsystem used to teleport people to a linked web of itterative entries. If one entry is deleted, the 2 around it will forge a link instead.
SSescape_menuSubsystem for controlling anything related to the escape menu
SSfishingSo far, only used by the fishing minigame. Feel free to rename it to something like veryfastprocess +if you need one that fires 10 times a second
SSfluidsThrowing only becomes acceptable after the explosions process, so we don't miss stuff that explosions GENERATE
SSfoamThe subsystem responsible for processing foam propagation and effects.
SShyperspace_driftThis subsystem handles the hyperspace shuttle pull movement loops
SSid_accessNon-processing subsystem that holds various procs and data structures to manage ID cards, trims and access.
SSinit_profilerSubsystem exists so we can separately log init time costs from the costs of general operation +Hopefully this makes sorting out what causes problems when easier
SSlag_switchThe subsystem for controlling drastic performance enhancements aimed at reducing server load for a smoother albeit slightly duller gaming experience
SSlibraryManages library data, loading bookselves, etc
SSmouse_enteredDefers MouseEntered inputs to only apply to the most recently hovered over atom in the tick
SSmove_managerActs as a namespace for movement packet/type related procs
SSpathfinderQueues and manages JPS pathfinding steps
SSpoints_of_interestSubsystem for managing all POIs.
SSradioactive_nebulaControls making objects irradiated when Radioactive Nebula is in effect.
SSsinguloprocessVery rare subsystem, provides any active singularities with the timings and seclusion they need to succeed
SSsmokeThe subsystem responsible for processing smoke propagation and effects.
SSspatial_grid
SSspeech_controllerverb_manager subsystem just for handling say's
SStguitgui subsystem
SStimer
SStutorialsNamespace for housing code relating to giving contextual tutorials to users.
SSverb_managerSSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.
SSwardrobeThis subsystem strives to make loading large amounts of select objects as smooth at execution as possible +It preloads a set of types to store, and caches them until requested +Doesn't catch everything mind, this is intentional. There's many types that expect to either +A: Not sit in a list for 2 hours, or B: have extra context passed into them, or for their parent to be their location +You should absolutely not spam this system, it will break things in new and wonderful ways +S close enough for government work though. +Fuck you goonstation
SSweatherUsed for all kinds of weather, ex. lavaland ash storms.
SSwiremod_compositeThis subsystem is to handle creating and storing +composite templates that are used to create composite datatypes +for integrated circuits

Procs

GUIDreturns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)
GetBestWeaponReturns either the best weapon from the given choices or null if held weapons are better
GetTgsStealthKeyGets TGS's stealth key, generates one if none is found
GibberishTurn text into complete gibberish!
HandleUserlessProcCallHandles a userless proccall, used by circuits.
HandleUserlessSDQLHandles a userless sdql, used by circuits and tgs.
IsEdiblereturns if something can be consumed, drink or food
REF\ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +If it ever becomes necesary to get a more performant REF(), this lies here in wait +#define REF(thing) (thing && isdatum(thing) && (thing:datum_flags & DF_USE_TAG) && thing:tag ? "[thing:tag]" : text_ref(thing))
RoundDiagBarDiagnostic HUDs!
WEAKREFCreates a weakref to the given input. +See /datum/weakref's documentation for more information.
WrapAdminProcCallWrapper for proccalls where the datum is flagged as vareditted
___TraitAddDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
___TraitRemoveDO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.
______qdel_list_wrapperthe underscores are to encourage people not to use this directly.
__check_serialization_semverChecks if the actual semver is equal or later than the wanted semver +Must be passed as TEXT; you're probably looking for CHECK_SERIALIZATION_SEMVER, look right above
__lua_awakenDequeues the task at the front of the sleep queue and resumes it
__lua_callCalls a lua function
__lua_get_globalsGet the variables within a state's environment. +Values not convertible to DM values are substituted +for their types as text
__lua_get_tasksGet a list of all tasks currently in progress within a state
__lua_kill_taskKills a task in progress
__lua_loadLoads a chunk of lua source code and executes it
__lua_new_stateCreates a new lua state.
__lua_resumeRemoves the task at the specified index from the yield table +and resumes it
__lua_set_datum_proc_call_wrapperSets a global proc to call in place of just outright calling a given proc on a datum
__lua_set_execution_limitSets the maximum amount of time a lua chunk or function can execute without sleeping or yielding. +Chunks/functions that exceed this duration will produce an error.
__lua_set_global_proc_call_wrapperSets a global proc to call in place of just outright calling a given global proc
__lua_set_print_wrapperSets a global proc as a wrapper for lua's print function
__lua_set_set_var_wrapperSets a global proc to call in place of just outright setting a datum's var to a given value
_add_memory_in_rangeUnless you need to use this for an explicit reason, use the add_memory_in_range macro wrapper.
_addtimerCreate a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.
_alert_dronesBroadcast a message to all drones in a faction
_animate_filterAuxtools REALLY doesn't know how to handle filters as values; +when passed as arguments to auxtools-called procs, they aren't simply treated as nulls - +they don't even count towards the length of args. +For example, calling some_proc([a filter], foo, bar) from auxtools +is equivalent to calling some_proc(foo, bar). Thus, we can't use _animate directly on filters. +Use this to perform animation steps on a filter. Consecutive steps on the same filter can be +achieved by calling _animate with no target.
_malf_ai_undo_lockdownFor Lockdown malf AI ability. Opens all doors on the station.
_pick_listAllow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead
_queue_verbqueue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.
_stack_tracegives us the stack trace from CRASH() without ending the current proc. +Do not call directly, use the stack_trace macro instead.
above_neckWould this zone be above the neck
actionspeed_data_null_checkChecks if a action speed modifier is valid and not missing any data
active_free_borgsSilicon Mob Procs
add_image_to_clientAdds an image to a client's .images. Useful as a callback.
add_image_to_clientsLike add_image_to_client, but will add the image from a list of clients
add_keybindingAdds an instanced keybinding to the global tracker
add_messengerRegisters an NTMessenger instance to the list of pda_messengers.
add_sabotage_machineMarks a machine as a possible traitor sabotage target
add_to_signaler_investigate_logUsed to add a text log to the signaler investigation log. +Do not add to the list directly; if the list is too large it can cause lag when an admin tries to view it.
add_verbhandles adding verbs and updating the stat panel browser
admin_ticket_logUse this proc when an admin takes action that may be related to an open ticket on what +what can be a client, ckey, or mob +player_message: If the message should be shown in the player ticket panel, fill this out +log_in_blackbox: Whether or not this message with the blackbox system. +If disabled, this message should be logged with a different proc call
adminscrubRuns STRIP_HTML_SIMPLE and byond's sanitization proc.
alert_to_permissions_elevation_attemptSends a message in the event that someone attempts to elevate their permissions through invoking a certain proc.
alone_in_areaChecks if the mob provided (must_be_alone) is alone in an area
amount2sheetTurns material amount into the number of sheets, returning FALSE if the number is less than SHEET_MATERIAL_AMOUNT
announce_arrivalSend a message in common radio when a player arrives
anyprobchances are 1:value. anyprob(1) will always return true
apply_dynamic_human_appearanceThis exists to apply the icons async, as that cannot be done in Initialize because of possible sleeps.
armor_to_protection_classRounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.
armor_to_protection_nameReturns the client readable name of an armor type
assert_sortedRuntimes if the passed in list is not sorted
assign_random_nameGenerate a name devices
assoc_to_keysTurns an associative list into a flat list of keys
assoc_to_keys_featuresTurns an associative list into a flat list of keys, but for sprite accessories, respecting the locked variable
assoc_value_sumGets the total amount of everything in the associative list.
at_leastTakes a value, and a threshold it has to at least match +returns the correctly signed value max'd to the threshold
atmos_handbooks_initAutomatically populates gas_handbook and reaction_handbook. They are formatted lists containing information regarding gases and reactions they participate in. +Structure can be found in TS form at AtmosHandbook.tsx
atmos_scanOutputs a message to the user describing the target's gasmixes.
avoid_assoc_duplicate_keystakes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input
baseturfs_string_listA wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues
begin_the_endBegins the process of ending the round via cult narsie win +Consists of later called procs (in order of called):
bit_countcounts the number of bits in Byond's 16-bit width field, in constant time and memory!
bitfield_to_listConverts a bitfield to a list of numbers (or words if a wordlist is provided)
blend_cutoff_colorsUsed to blend together two different color cutoffs +Uses the screen blendmode under the hood, essentially just /proc/blend_screen_color +But paired down and modified to work for our color range +Accepts the color cutoffs as two 3 length list(0-100,...) arguments
blend_screen_colorBlends together two colors (passed as 3 or 4 length lists) using the screen blend mode +Much like multiply, screen effects the brightness of the resulting color +Screen blend will always lighten the resulting color, since before multiplication we invert the colors +This makes our resulting output brighter instead of darker
body_zone2cover_flagsFor finding out what body parts a body zone covers, the inverse of the below basically
border_diamond_range_turfsReturns the list of turfs around the outside of a center based on RANGE_TURFS()
build_chemical_reactions_listsChemical Reactions - Initialises all /datum/chemical_reaction into a list +It is filtered into multiple lists within a list. +For example: +chemical_reactions_list_reactant_index/datum/reagent/toxin/plasma is a list of all reactions relating to plasma +For chemical reaction list product index - indexes reactions based off the product reagent type - see get_recipe_from_reagent_product() in helpers +For chemical reactions list lookup list - creates a bit list of info passed to the UI. This is saved to reduce lag from new windows opening, since it's a lot of data.
build_exploration_site_ui_dataHelper proc for exploration site listings in ui.
build_medicine_reagentsJust grab every craftable medicine you can think off
build_name2reagentlistBuilds map of reagent name to its datum path
build_planeed_apperance_queueTakes a list of mutable appearances +Returns a list in the form: +1 - a list of all mutable appearances that would need to be updated to change planes in the event of a z layer change, alnongside the commands required +to properly track parents to update +2 - a list of all parents that will require updating
calculate_light_offsetReturns a list of x and y offsets to apply to our visual lighting position
calculate_projectile_angle_and_pixel_offsetsCalculates the pixel offsets and angle that a projectile should be launched at.
callback_on_everyone_on_zInvokes a callback on every living mob on the provided z level.
callback_selectRuns a list of callbacks asyncronously, returning only when all have finished
camera_sortSorts the list of cameras by their c_tag to display to players.
can_seeStep-towards method of determining whether one atom can see another. Similar to viewers() +note: this is a line of sight algorithm, view() does not do any sort of raycasting and cannot be emulated by it accurately
center_imageCenter's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)
chatter_speakWe're going to take a list that dictates the pace of speech, and a sentence fragment to say +Then say() that fragment at that pace +You can pass in a starting delay to wait before speaking the next sound
check_asay_linksChecks a given message to see if any of the words are something we want to treat specially, as detailed below.
check_gasesA simple helped proc that checks if the contents of a list of gases are within acceptable terms.
check_holidaysChecks that the passed holiday is located in the global holidays list.
check_pda_message_against_filterChecks a PDA message against the IC/Soft IC filter. Returns TRUE if the message should be sent. +Notifies the user passed in arguments if the message matched either filter.
check_target_facingsReturns the direction that the initiator and the target are facing
check_teleport_validValidates that the teleport being attempted is valid or not
check_wall_itemCheck if there is already a wall item on the turf loc +floor_loc = floor tile in front of the wall +dir_toward_wall = direction from the floor tile in front of the wall towards the wall +check_external = truthy if we should be checking against items coming out of the wall, rather than visually on top of the wall.
check_zoneConvert a PRECISE ZONE into the BODY_ZONE
chem_splashThe basic chemical bomb proc. +Combines a set of reagent holders into one holder and reacts it. +If there are any reagents left over it spreads them across the surrounding environment. +The maximum volume of the holder is temporarily adjusted to allow for reactions which increase total volume to work at full effectiveness. +The maximum volume of the holder is then reset to its original value.
circle_rangeReturns all atoms present in a circle around the center
circle_range_turfsReturns a list of turfs around a center based on RANGE_TURFS()
circle_viewReturns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)
circle_view_turfsReturns a list of turfs around a center based on view()
cleanup_ghostsGives a farewell message and deletes the ghosts produced by a ghost portal structure.
cmp_assoc_list_namePassed a list of assoc lists, sorts them by the list's "name" keys.
cmp_bodypart_by_body_part_ascOrders bodyparts by their body_part value, ascending.
cmp_crafting_req_prioritySorts crafting recipe requirements before the crafting recipe is inserted into GLOB.crafting_recipes
cmp_heretic_knowledgeOrders heretic knowledge by priority
cmp_mob_healthOrders mobs by health
cmp_port_order_ascOrders by integrated circuit weight
cmp_uplink_category_descOrders by uplink category weight
collect_fish_propertiesAwful workaround around initial(x.list_variable) not being a thing while trying to keep some semblance of being structured
color_to_full_rgba_matrixConverts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond). +if return_identity_on_fail is true, stack_trace is called instead of CRASH, and an identity is returned.
compare_listcompare two lists, returns TRUE if they are the same
considered_afkChecks if a player is considered AFK
considered_aliveChecks if the passed mind has a mob that is "alive"
considered_escapedChecks if the passed mind is considered "escaped".
considered_exiledExiled check
construct_phobia_regexCreates a regular expression to match against the given phobia +Capture group 2 = the scary word +Capture group 3 = an optional suffix on the scary word
convert_integer_to_wordsTakes an integer up to 999,999,999 and returns it in words. Works with negative numbers and 0.
convert_ph_to_readable_colorConverts the pH into a tgui readable color - i.e. white and black text is readable over it. This is NOT the colourwheel for pHes however.
coords2turfConverts a list of coordinates, or an assosciative list if passed, into a turf by calling locate(x, y, z) based on the values in the list
count_by_typereturn the amount of items of the same type inside a list
create_atmos_zoneCreate an atmos zone (Think ZAS), similiar to [proc/detect_room] but it ignores walls and turfs which are non-[atmos_can_pass]
create_basketball_gameCreates the global datum for playing basketball games, destroys the last if that's required and returns the new.
create_ctf_gameCreates a CTF game with the provided teeam ID then returns a reference to the new controller. If a controller already exists provides a reference to it.
create_delusionHelper to give the passed mob the ability to create a delusion hallucination (even a custom one). +Returns a list of arguments - pass these to _cause_hallucination to cause the desired hallucination
create_glass_stylesConstructs a nested list of glass style singletons
create_mafia_gameCreates the global datum for playing mafia games, destroys the last if that's required and returns the new.
create_random_puzzgridReturns a random puzzgrid from config. +If config is empty, or no valid puzzgrids can be found in time, will return null.
create_separatist_nation
create_strippable_listCreates an assoc list of keys to /datum/strippable_item
create_uplink_salesSelects a set number of unique items from the uplink, and deducts a percentage discount from them
cult_ending_helperSelects cinematic to play as part of the cult end depending on the outcome then ends the round afterward +called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion
cure_curse_of_babelMainly so admin triggered tower of babel can be undone
cut_relative_directionTakes a screen_loc string and cut out any directions like NORTH or SOUTH
day_of_monthReturns the day (mon, tues, wen...) in number format, 1 (monday) - 7 (sunday) from the passed in date (year, month, day) +All inputs are expected indexed at 1
debug_hallucination_weighted_listDebug proc for getting the total weight of the random_hallucination_weighted_list
debug_variableGet displayed variable in VV variable list
deep_compare_listCompares 2 lists, returns TRUE if they are the same
deep_copy_listCopies a list, and all lists inside it recusively +Does not copy any other reference type
default_ui_stateThe sane defaults for a UI such as a computer or a machine.
delete_all_SS_and_recreate_masterDelete all existing SS to basically start over
delta_to_angleCalculate the angle produced by a pair of x and y deltas
deltimerDelete a timer
deprecise_zoneTakes a zone and returns it's "parent" zone, if it has one.
diff_appearancesTakes two appearances as args, prints out, logs, and returns a text representation of their differences +Including suboverlays
dir2offsetReturns a list(x, y), being the change in position required to step in the passed in direction
dir_to_all_junctionsTakes a direction, turns it into all the junctions that contain it
disambiguate_clientTakes an argument which could be either a ckey, /client, or IRC marker, and returns a client if possible +Returns [EXTERNAL_PM_USER] if an IRC marker is detected +Otherwise returns null
diseasescanChecks the individual for any diseases that are visible to the scanner, and displays the diseases in the attacked to the attacker.
dispatch_announcement_to_playersProc that just dispatches the announcement to our applicable audience. Only the announcement is a mandatory arg.
display_cornersMakes all lighting corners visible, debug to aid in understanding
display_energyFormat an energy value measured in Power Cell units.
display_joulesFormat an energy value in prefixed joules.
display_powerFormat a power value in prefixed watts.
doPortalSpawnSpawns a portal storm that spawns in sentient/non sentient mobs +portal_appearance is a list in the form (turf's plane offset + 1) -> appearance to use
do_afterTimed action involving one mob user. Target is optional.
do_chem_smokeHelper to quickly create a cloud of reagent smoke
do_smokeA helper proc used to spawn small puffs of smoke.
dump_in_spaceDump a movable in a random valid spacetile
duplicate_object
dviewVersion of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).
dyn_explosionUsing default dyn_ex scale:
emissive_appearanceProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.
emissive_blockerProduces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EM_BLOCK_COLOR.
emoji_parsePay the owner +Make alerts +Log the event
encode_text_and_nullsReturns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are +wrapped in quotes and existing quote marks are escaped, +and nulls are replaced with the string "null"
end_cooldownCallback called by a timer to end an associative-list-indexed cooldown.
end_message_delaySimply resets the message delay and the recent messages list, to ensure that +recent messages can be sent again. Is called on a one second timer after a +delay is set, from /obj/machinery/telecomms/broadcaster/receive_information()
ending_helperHelper to set the round to end asap. Current usage Cult round end code
endswithReturns TRUE if the input_text ends with the ending
english_listReturns a list in plain english as a string
expand_three_digit_colorGiven a 3 character color (no hash), converts it into #RRGGBB (with hash)
expand_weightsTakes a weighted list (see above) and expands it into raw entries +This eats more memory, but saves time when actually picking from it
explosionMakes a given atom explode.
failed_narsie_summonSummon failed, time to work backwards
fast_split_stackSplits a stack. we don't use /obj/item/stack/proc/fast_split_stack because Byond complains that should only be called asynchronously. +This proc is also more faster because it doesn't deal with mobs, copying evidences or refreshing atom storages +Has special internal uses for e.g. by the material container
fill_holidaysFills the holidays list if applicable, or leaves it an empty list.
fill_with_onesGiven a list, return a copy where values without defined weights are given weight 1. +For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) +Useful for weighted random choices (loot tables, syllables in languages, etc.)
findTrueKeyTakes a stealthed ckey as input, returns the true key it represents
find_exposed_wiresList of areas where satchels should not be placed.
find_functional_ntnet_relayChecks whether NTNet is available by ensuring at least one relay exists and is operational.
find_maintenance_spawnFinds us a generic maintenance spawn location.
find_obstruction_free_locationFind an obstruction free turf that's within the range of the center. Can also condition on if it is of a certain area type.
find_reagentReturns reagent datum from typepath
find_recordReturns the first record in the list that matches the name
find_space_spawnFinds us a generic spawn location in space.
findnameFind if the message has the real name of any user mob in the mob_list
finish_equip_mobA utility function for /datum/strippable_items to finish equipping an item to a mob.
finish_unequip_mobA utility function for /datum/strippable_items to finish unequipping an item from a mob.
firing_squadfiring_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense
flash_colorFlash a color on the client
flatten_listFlattens a keyed list into a list of it's contents
flick_overlay_globalAdd an image to a list of clients and calls a proc to remove it after a duration
format_frequencyFormat frequency by moving the decimal.
format_textProperly format a string of text by using replacetext()
full_capitalizeReturns a string with the first letter of each word capitialized
gas_mixture_parser
gather_z_level_informationReturns all necessary z-level information. Argument append_grid allows the user to see a table showing all of the z-level linkages, which is only visible and useful in-game.
generateStealthCkeyHands back a stealth ckey to use, guarenteed to be unique
generate_adjacent_directionsEncodes connectivity between border objects +Returns a list accessable by a border object's dir, the direction between it and a target, and a target +Said list will return the direction the two objects connect, if any exists (if the target isn't a border object and the direction is fine, return the inverse of the direction in use)
generate_and_hash_rsc_filegenerates a filename for a given asset. +like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +used so that certain asset files dont have to be hashed twice
generate_asset_nameGenerate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)
generate_autowiki_outputWhen the AUTOWIKI define is enabled, will generate an output file for tools/autowiki/autowiki.js to consume. +Autowiki code intentionally still exists even without the define, to ensure developers notice +when they break it immediately, rather than until CI or worse, call time. +Returns a string of the autowiki output file
generate_bitfieldsTurns /datum/bitfield subtypes into a list for use in debugging
generate_changeling_meteorReceives a mob candidate, transforms them into a changeling, and hurls them at the station inside of a changeling meteor
generate_chemwiki_lineGenerate the big list of reagent based reactions. +style='background-color:#FFEE88;'|{{anchor|Synthetic-derived growth factor}}Synthetic-derived growth factor▮
generate_cult_rune_typesReturns an associated list of rune types. [rune.cultist_name] = [typepath]
generate_generator_indexCreates generator__id => type map.
generate_hallucination_weighted_listGenerates the global weighted list of random hallucinations.
generate_icon_alpha_maskHelper proc to generate a cutout alpha mask out of an icon.
generate_items_insideCreates new items inside an atom based on a list
generate_lazy_template_mapIterates through all lazy template datums that exist and returns a list of them as an associative list of key -> instance.
generate_map_list_from_directoryReturns a list of all maps to be found in the directory that is passed in.
generate_quirk_constant_dataConstructs [GLOB.all_quirk_constant_data] by iterating through a typecache of pregen data, ignoring abstract types, and instantiating the rest.
generate_selectable_species_and_languagesGenerates species available to choose in character setup at roundstart
generate_space_underlayGenerates a space underlay for a turf +This provides proper lighting support alongside just looking nice +Accepts the appearance to make "spaceish", and the turf we're doing this for
generate_station_goalsCreates the initial station goals.
generate_unique_announcement_headerProc that just generates a custom header based on variables fed into priority_announce() +Will return a string.
generate_wound_series_collectionGenerates [wound_series_collections] by iterating through all pregen_data. Refer to the mentioned list for documentation
generate_wound_static_dataConstructs [GLOB.all_wound_pregen_data] by iterating through a typecache of pregen data, ignoring abstract types, and instantiating the rest.
getReturns the atom type in the specified loc
getFlatIconCreate a single /icon from a given /atom or /image.
get_active_player_countGet active players who are playing in the round
get_adjacent_areasReturns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.
get_adjacent_open_areasReturns a list with all the adjacent areas by getting the adjacent open turfs
get_adjacent_open_turfsReturns a list with all the adjacent open turfs. Clears the list of nulls in the end.
get_airlock_overlayOverlay cache. Why isn't this just in /obj/machinery/door/airlock? Because its used just a +tiny bit in door_assembly.dm Refactored so you don't have to make a null copy of airlock +to get to the damn thing +Someone, for the love of god, profile this. Is there a reason to cache mutable_appearance +if so, why are we JUST doing the airlocks when we can put this in mutable_appearance.dm for +everything
get_allowed_instrument_idsGet all non admin_only instruments as a list of text ids.
get_angleCalculate the angle between two movables and the west|east coordinate
get_angle_rawAngle between two arbitrary points and horizontal line same as /proc/get_angle
get_antag_mindsReturns MINDS of the assigned antags of given type/subtypes +Supplying no antag type grants all minds with antag datums
get_area_nameReturns the name of the area the atom is in
get_areas_in_rangeReturns a list with the names of the areas around a center at a certain distance +Returns the local area if no distance is indicated +Returns an empty list if the center is null
get_armor_by_typeGets an armor type datum using the given type by formatting it into the expected datum tag
get_atom_on_turfReturns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.
get_bbox_of_atomsGet a bounding box of a list of atoms.
get_cached_actionspeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_cached_movespeed_modifierGrabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!
get_camera_listget_camera_list
get_cardinal_dirGet the cardinal direction between two atoms
get_chat_togglesGet the given client's chat toggle prefs.
get_chem_idReturns reagent datum from reagent name string
get_closest_atomReturns the closest atom of a specific type in a list from a source
get_consistent_feature_entryTakes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process.
get_corresponding_wound_typeSearches through all wounds for any of proper type, series, and biostate, and then returns a single one via pickweight. +Is able to discern between, say, a flesh slash wound, and a metallic slash wound, and will return the respective one for the provided limb.
get_ctf_voting_controllerReturns the existing /datum/ctf_voting_controller for the given ID, or makes one
get_dist_euclidianReturns the distance between two atoms
get_distributionThis is a pretty complicated algorithm, but it's one I'm rather proud of.
get_dummy_savefileGets a dummy savefile for usage in icon generation. +Savefiles generated from this proc will be empty.
get_dynamic_human_appearanceCreates a human with the given parameters and returns an appearance of it
get_edge_target_turfReturns the turf located at the map edge in the specified direction relative to target_atom used for mass driver
get_element_by_varreturn first thing in L which has var/varname == value +this is typecaste as list/L, but you could actually feed it an atom instead. +completely safe to use
get_first_open_turf_in_areaIterates over all turfs in the target area and returns the first non-dense one
get_flat_existing_human_iconA simpler version of get_flat_human_icon() that uses an existing human as a base to create the icon. +Does not feature caching yet, since I could not think of a good way to cache them without having a possibility +of using the cached version when we don't want to, so only use this proc if you just need this flat icon +generated once and handle the caching yourself if you need to access that icon multiple times, or +refactor this proc to feature caching of icons.
get_flat_human_icon
get_general_adminwho_informationProc that gathers adminwho information for a general player, which will only give information if an admin isn't AFK, and handles potential fakekeying. +Will return a list of strings.
get_hearLike view but bypasses luminosity check
get_hearers_in_LOSReturns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive
get_hearers_in_rangeThe exact same as get_hearers_in_view, but not limited by visibility. Does no filtering for traits, line of sight, or any other such criteria. +Filtering is intended to be done by whatever calls this function.
get_hearers_in_viewreturns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS().
get_icon_dimensionsReturns a list containing the width and height of an icon file
get_icon_dmi_pathgiven an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +but stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""
get_lineGet a list of turfs in a line from starting_atom to ending_atom.
get_linked_admin_nameProc that will return the applicable display name, linkified or not, based on the input client reference.
get_list_of_adminsProc that returns a list of cliented admins. Remember that this list can contain nulls! +Also, will return null if we don't have any admins.
get_messenger_nameGet the display name of a messenger instance
get_messengers_sorted_by_jobGets all messengers, sorted by their job
get_messengers_sorted_by_nameGets all messengers, sorted by their name
get_mob_by_ckeyreturns a mob type controlled by a specified ckey
get_mob_by_keyReturn the mob type that is being controlled by a ckey
get_mob_or_brainmobReturns the occupant mob or brain from a specified input
get_most_experiencedFrom a list of players (minds, mobs or clients), finds the one with the highest playtime (either from a specific role or overall living) and returns it.
get_nested_locsReturns a list of all locations (except the area) the movable is within.
get_officer_departmentsReturns the distribution of splitting the given security officers into departments. +Return value is an assoc list of candidate => SEC_DEPT_*.
get_offset_target_turfreturns turf relative to target_atom offset in dx and dy tiles, bound to map limits
get_open_turf_in_dirReturns the open turf next to the center in a specific direction
get_path_by_slotReturns a generic path of the object based on the slot
get_path_toThis is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing". +If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing. +It will yield until a path is returned, using magic
get_perceived_radiation_dangerGets the perceived "danger" of radiation pulse, given the threshold to the target. +Returns a RADIATION_DANGER_* define, see code/__DEFINES/radiation.dm
get_perimeterGet a list of turfs in a perimeter given the center_atom and radius. +Automatically rounds down decimals and does not accept values less than positive 1 as they dont play well with it. +Is efficient on large circles but ugly on small ones +Uses Jesko`s method to the midpoint circle Algorithm.
get_pixel_anglefor getting the angle when animating something's pixel_x and pixel_y
get_pixel_distanceFinds the distance between two atoms, in pixels +centered = FALSE counts from turf edge to edge +centered = TRUE counts from turf center to turf center +of course mathematically this is just adding world.icon_size on again
get_player_clientReturns a client from a mob, mind or client
get_powernet_info_from_sourceExtracts the powernet and cell of the provided power source
get_preferences_in_priority_orderReturns a flat list of preferences in order of their priority
get_random_coinGets a random coin excluding the blocked type and including extra coins which aren't pathed like coins.
get_random_drinkGets a random drink excluding the blocked type
get_random_foodGet a random food item exluding the blocked ones
get_random_jumpskirtReturns a random, acceptable jumpskirt typepath
get_random_jumpsuitReturns a random, acceptable jumpsuit typepath
get_random_reagent_idReturns a random reagent object minus blacklisted reagents
get_random_station_turfReturns a random turf on the station
get_random_valid_hallucination_subtypeGets a random subtype of the passed hallucination type that has a random_hallucination_weight > 0. +If no subtype is passed, it will get any random hallucination subtype that is not abstract and has weight > 0. +This can be used instead of picking from the global weighted list to just get a random valid hallucination.
get_ranged_target_turf_directGet ranged target turf, but with direct targets as opposed to directions
get_reagent_type_from_product_stringReturns a list of chemical_reaction datums that have the input STRING as a product
get_recipe_from_reagent_productTakes a type in and returns a list of associated recipes
get_round_default_lawsetA getter that sets up the round default if it has not been yet.
get_safe_random_station_turfReturns a random turf on the station, excludes dense turfs (like walls) and areas that have valid_territory set to FALSE
get_selectable_speciesGets a list of all species available to choose in roundstart.
get_sensitive_adminwho_informationProc that gathers adminwho information for admins, which will contain information on if the admin is AFK, readied to join, etc. Only arg is a list of clients to use. +Will return a list of strings.
get_size_in_tilesReturns the size of the sprite in tiles. +Takes the icon size and divides it by the world icon size (default 32). +This gives the size of the sprite in tiles.
get_small_overlayFikou's fix for making toast alerts look nice - resets offsets, transforms to fit
get_sorted_areasReturns a sorted version of GLOB.areas, by name
get_storage_locsReturns a list of the parents of all storage components that contain the target item
get_swarm_path_toPOTENTIALLY cheaper version of get_path_to +This proc generates a path map for the end atom's turf, which allows us to cheaply do pathing operations "at" it +Generation is significantly SLOWER then get_path_to, but if many things are/might be pathing at something then it is much faster +Runs the risk of returning an suboptimal or INVALID PATH if the delay between map creation and use is too long
get_teleport_locReturns location. Returns null if no location was found.
get_temp_change_amountUsed to get the amount of change between two body temperatures
get_turf_pixelLets the turf this atom's ICON appears to inhabit +it takes into account: +Pixel_x/y +Matrix x/y +NOTE: if your atom has non-standard bounds then this proc +will handle it, but: +if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked +this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) +if the bounds are odd, the true middle turf of the atom is returned
get_valid_screen_locationReturns a valid location to place a screen object without overflowing the viewport
get_visual_offsetReturns how visually "off" the atom is from its source turf as a list of x, y (in pixel steps) +it takes into account: +Pixel_x/y +Matrix x/y +Icon width/height
give_admin_popupTries to give the target an admin popup. +If it fails, will send the error to the passed admin.
give_escape_menu_detailsProvides a singleton for the escape menu details screen.
give_escape_menu_titleProvides a singleton for the escape menu details screen.
goonchem_vortexMagical move-wooney that happens sometimes.
greatest_common_factorTakes a list of numbers as input, returns the highest value that is cleanly divides them all +Note: this implementation is expensive as heck for large numbers, I only use it because most of my usecase +Is < 10 ints
haunt_outburstTakes a given area and chance, applying the haunted_item component to objects in the area.
healthscanhealthscan +returns a list of everything a health scan should give to a player. +Examples of where this is used is Health Analyzer and the Physical Scanner tablet app. +Args: +user - The person with the scanner +target - The person being scanned +mode - Uses SCANNER_CONDENSED or SCANNER_VERBOSE to decide whether to give a list of all individual limb damage +advanced - Whether it will give more advanced details, such as husk source. +tochat - Whether to immediately post the result into the chat of the user, otherwise it will return the results.
honkerblastUnleashes a honkerblast similar to the honkmech weapon, but with more granular control.
htmlrendertextPerform a whitespace cleanup on the text, similar to what HTML renderers do
icon2base64Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)
icon2htmlthe dmi file path we attempt to return if the given object argument is associated with a stringifiable icon +if successful, this looks like "icons/path/to/dmi_file.dmi" +but they pass both isicon() and isfile() checks. theyre the easiest case since stringifying them gives us the path we want +generate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. +Arguments:
icon_existsChecks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.
inLineOfSightCalculate if two atoms are in sight, returns TRUE or FALSE
init_alcohol_containers////////////////////////////////////////////Alchohol bottles! -Agouri ////////////////////////// +Initializes GLOB.alcohol_containers, only containers that actually have reagents are added to the list.
init_chemical_reagent_listInitialises all /datum/reagent into a list indexed by reagent id
init_crafting_recipesInits crafting recipe lists
init_crafting_recipes_atomsInits atoms used in crafting recipes
init_gas_id_to_canisterReturns a map of canister id to its type path
init_hair_gradientsHair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name
init_hotspot_reactionsReturns reactions which will contribute to a hotspot's size.
init_keybindingsCreates and sorts all the keybinding datums
init_language_holder_prototypesInits the global list of language holder prototypes.
init_pirate_gangsinitializes the pirate gangs glob list, adding all subtypes that can roll today.
init_species_listInits GLOB.species_list. Not using GLOBAL_LIST_INIT b/c it depends on GLOB.string_lists
init_sprite_accessoriesInitial Building
init_subtypes_w_path_keysFunctions like init_subtypes, but uses the subtype's path as a key for easy access
init_surgeriesInits GLOB.surgeries
initialize_starting_knowledgeReturns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.
int_to_wordsTakes a 1, 2 or 3 digit number and returns it in words. Don't call this directly, use convert_integer_to_words() instead.
invert_HTML_colourInverts the colour of an HTML string
ion_numPicks a string of symbols to display as the law number for hacked or ion laws +is at the start to prevent us from changing say modes via get_message_mode()
isAdminGhostAIIs the passed in mob an admin ghost WITH AI INTERACT enabled
isAdminObserverIs the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to
is_adminReturns if the given client is an admin, REGARDLESS of if they're deadminned or not.
is_banned_fromChecks client ban cache or, if it doesn't exist, queries the DB ban table to see if the player's +ckey is banned from at least one of the provided roles.
is_color_darkGiven a color in the format of "#RRGGBB", will return if the color +is dark.
is_convertable_to_cultReturns whether the given mob is convertable to the blood cult
is_ctf_targetProc that identifies if something is a valid target for CTF related checks, checks if an object is a ctf barrier or has ctf component if they are a player.
is_guest_keyReturns whether or not a player is a guest using their ckey as an input
is_ic_filteredGiven a text, will return what word is on the IC filter, with the reason. +Returns null if the message is OK.
is_ic_filtered_for_pdasGiven a text, will return what word is on the IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
is_infiltrator_docked_at_syndiebaseReturns whether or not syndicate operatives escaped.
is_on_a_planetChecks if the passed non-area atom is on a "planet".
is_ooc_filteredGiven a text, will return what word is on the OOC filter, with the reason. +Returns null if the message is OK.
is_path_in_listChecks for specific paths in a list.
is_safe_turfChecks if a given turf is a "safe" location
is_soft_ic_filteredGiven a text, will return what word is on the soft IC filter, with the reason. +Returns null if the message is OK.
is_soft_ic_filtered_for_pdasGiven a text, will return what word is on the soft IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.
is_soft_ooc_filteredGiven a text, will return that word is on the soft OOC filter, with the reason. +Returns null if the message is OK.
is_source_facing_targetCompare source's dir, the clockwise dir of source and the anticlockwise dir of source +To the opposite dir of the dir returned by get_dir(target,source) +If one of them is a match, then source is facing target
is_special_characterReturns TRUE if the game has started and we're either an AI with a 0th law, or we're someone with a special role/antag datum +If allow_fake_antags is set to FALSE, Valentines, ERTs, and any such roles with FLAG_FAKE_ANTAG won't pass.
is_type_in_listChecks for specific types in a list.
is_type_on_turfChecks whether or not a particular typepath or subtype of it is present on a turf
is_valid_dmi_filegiven a text string, returns whether it is a valid dmi icons folder path
is_valid_srcCheck if a datum has not been deleted and is a valid source
is_valid_z_level
is_within_radio_jammer_rangeChecks if a given atom is in range of a radio jammer, returns TRUE if it is.
ishumanbasicReturns if the given target is a human. Like, a REAL human. +Not a moth, not a felinid (which are human subtypes), but a human.
iso_to_weekdayReturns an integer in ISO format 1 (Monday) - 7 (Sunday) as a string day
isolate_lightHides all the lights around a source temporarially, for the sake of figuring out how bad a light bleeds +(Except for turf lights, because they're a part of the "scene" and rarely modified)
isvineimmuneBonus spread for kudzu that has just started out (ie. with low vine count) +Base spread rate, depends solely on spread multiplier and vine count +Actual maximum spread rate for this process tick +Used to determine whether the mob is immune to actions by the vine. +Use cases: Stops vine from attacking itself, other plants.
item_heal_roboticHeals a robotic limb on a mob
join_admin_ranksTakes a list of rank names and joins them with +
json_deserialize_datumConvert a list of json to datum
json_serialize_datumConvert a datum into a json blob
kvpify_listConverts a list into a list of assoc lists of the form ("key" = key, "value" = value) +so that list keys that are themselves lists can be fully json-encoded
lavaland_equipment_pressure_checkCheck if the turf pressure allows specialized equipment to work
lawid_to_typereturns the law datum with the lawid in question, law boards and law datums should share this id.
level_announceSends an announcement about the level changing to players. Uses the passed in datum and the subsystem's previous security level to generate the message.
library_updatedIncrements every time WE update the library db table, causes all existing consoles to repull when they next check
lightningboltthis is the actual bolt effect and damage, made into its own proc because it is used elsewhere
list_clear_empty_weakrefsRemoves any empty weakrefs from the list +Returns TRUE if the list had empty refs, FALSE otherwise
list_clear_nullsRemoves any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise
living_player_countReturns the amount of currently living players
load_adventuresLoads all adventures from DB
load_default_map_configProc that simply loads the default map config, which should always be functional.
load_mapHelper and recommened way to load a map file
load_map_configProc handling the loading of map configs. Will return the default map config using /proc/load_default_map_config if the loading of said file fails for any reason whatsoever, so we always have a working map for the server to run. +Arguments:
load_poll_dataLoads all current and future server polls and their options to store both as datums.
log_accessLogging for logging in & out of the game, with error messages.
log_adminGeneral logging for admin actions
log_admin_circuitLogging for admin actions on or with circuits
log_admin_privateGeneral logging for admin actions
log_adminsayLogging for AdminSay (ASAY) messages
log_assetLogging for loading and caching assets
log_atmosLogs the contents of the gasmix to the game log, prefixed by text
log_attackGeneric attack logging
log_bomberLogging for bombs detonating
log_changeling_powerLogging for changeling powers purchased
log_chatLogging for chatting on modular computer channels
log_combatLog a combat message in the attack log
log_commentLogging for newscaster comments
log_configLogging for config errors +Rarely gets called; just here in case the config breaks.
log_directed_talkHelper for logging of messages with only one sender and receiver (i.e. mind links)
log_dsayLogging for DeachatSay (DSAY) messages
log_dynamicLogging for dynamic procs
log_emoteLogging for emotes
log_filterLogs to the filter log with the given message, match, and scope
log_gameLogging for generic/unsorted game messages
log_heretic_knowledgeLogging for heretic powers learned
log_internet_requestLogging for music requests
log_job_debugLogging for job slot changes
log_luaLogging for lua scripting
log_malf_upgradesLogging for upgrades purchased by a malfunctioning (or combat upgraded) AI
log_manifestLogging for player manifest (ckey, name, job, special role, roundstart/latejoin)
log_mappingLogging for mapping errors
log_mechaLogging for mech actions
log_oocLogging for messages sent in OOC
log_paperLogging for writing made on paper
log_pdaLogging for PDA messages sent
log_perfLogging for game performance
log_played_namesAdds the new names to the player's played_names list on their /datum/player_details for use of admins. +ckey should be their ckey, and data should be an associative list with the keys being the names they played under and the values being the unique mob ID tied to that name.
log_prayerLogging for prayed messages
log_qdelLogging for hard deletes
log_radio_emoteLogging for emotes sent over the radio
log_researchPuts the text into the research html file, not log. See [INVESTIGATE_RESEARCH] for [/atom/proc/investigate_log]
log_sayLogging for generic spoken messages
log_shuttleLogging for shuttle actions
log_speech_indicatorsLogging for speech indicators.
log_spellbookLogging for wizard powers learned
log_sqlLogging for DB errors
log_suspicious_loginWrites to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.
log_telecommsLogging for speech taking place over comms, as well as tcomms equipment
log_tguiAppends a tgui-related log entry. All arguments are optional.
log_toolLogging for tool usage
log_topicLogging for world/Topic
log_traitorLogging for traitor objectives
log_transportLogging for transport (tram/elevator) actions
log_uplinkLogging for items purchased from a traitor uplink
log_virusLogging for the creation and contraction of viruses
log_voteLogging for OOC votes
log_whisperLogging for whispered messages
log_worldLog to both DD and the logfile.
log_woundlog_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over
make_associativeMake a normal list an associative one
make_bodyUses stripped down and bastardized code from respawn character
make_datum_reference_listsLegacy procs that really should be replaced with proper _INIT macros
make_into_clownHelper proc that handles making someone into a clown after a bananium nuke goes off.
make_tupleReturns the name of the mathematical tuple of same length as the number arg (rounded down).
md5asfileSave file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.
md5filepathReturns the md5 of a file at a given path.
message_centcomUsed by communications consoles to message CentCom
message_syndicateUsed by communications consoles to message the Syndicate
message_to_htmlMessage-related procs
minor_announceSends a minor annoucement to players. +Minor announcements are large text, with the title in red and message in white. +Only mobs that can hear can see the announcements.
mobs_in_area_typeTakes: list of area types +Returns: all mobs that are in an area type
mouse_angle_from_clientReturns an angle in degrees relative to the position of the mouse and that of the client eye.
move_elementMove a single element from position from_index within a list, to position to_index +All elements in the range [1,to_index) before the move will be before the pivot afterwards +All elements in the range [to_index, L.len+1) before the move will be after the pivot afterwards +In other words, it's as if the range [from_index,to_index) have been rotated using a <<< operation common to other languages. +from_index and to_index must be in the range [1,L.len+1] +This will preserve associations ~Carnie
move_rangeMove elements [from_index,from_index+len) to [to_index-len, to_index) +Same as moveElement but for ranges of elements +This will preserve associations ~Carnie
movespeed_data_null_checkChecks if a move speed modifier is valid and not missing any data
mutable_appearance
narsie_apocalypseThird crew last second win check and flufftext for [/proc/begin_the_end()]
narsie_end_begin_checkFirst crew last second win check and flufftext for [/proc/begin_the_end()]
narsie_end_second_checkSecond crew last second win check and flufftext for [/proc/begin_the_end()]
narsie_last_second_winCalled only if the crew managed to destroy narsie at the very last second for [/proc/begin_the_end()]
narsie_start_destroy_stationsecurity level and shuttle lockdowns for [/proc/begin_the_end()]
next_list_itemReturns the next item in a list
notify_ghostsFancy notifications for ghosts
nuke_gibHelper proc that handles gibbing someone who has been nuked.
nuke_requestUsed by communications consoles to request the nuclear launch codes
objectify"Turns" people into objects. Really, we just add them to the contents of the item.
offer_controlOffer control of the passed in mob to dead player
offset_to_screen_locTakes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope
overlays2textConverts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get
parse_caught_click_modifiersReturns a turf based on text inputs, original turf and viewing client
parse_zoneReturn a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use /obj/item/bodypart/var/plaintext_zone
partially_block_emissivesTakes a non area atom and a threshold +Makes it block emissive with any pixels with more alpha then that threshold, with the rest allowing the light to pass +Returns a list of objects, automatically added to your vis_contents, that apply this effect +QDEL them when appropriate
passA do nothing proc
path_map_passalongWe generate a path for the passed in callbacks, and then pipe it over
pathfinding_finishedUses funny pass by reference bullshit to take the output created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution
pathwalkTakes a directory and returns every file within every sub directory. +If extensions_filter is provided then only files that end in that extension are given back. +If extensions_filter is a list, any file that matches at least one entry is given back.
peekReturns the top (last) element from the list, does not remove it from the list. Stack functionality.
pick_closest_pathReturns a chosen path that is the closest to a list of matches
pick_n_takePick a random element from the list and remove it from the list.
pick_weightPicks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.
pick_weight_recursiveLike pick_weight, but allowing for nested lists.
pick_weighted_lawsetreturns a law datum based off of config. will never roll asimov as the weighted datum if the station has a unique AI.
piglatin_sentenceruns piglatin_word() proc on each word in a sentence. preserves caps and punctuation
piglatin_wordtakes "word", and returns it piglatinized.
pirates_answeredIf there was nothing to pull from our requested list, stop here.
pixel_offset_turfTakes a turf, and a list of x and y pixel offsets and returns the turf that the offset position best lands in
play_cinematicPlays a cinematic, duh. Can be to a select few people, or everyone.
play_fov_effectPlays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness
playsoundplaysound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.
podspawnOne proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)
poll_candidatesCalls the show_candidate_poll_window() to all eligible ghosts
poll_candidates_for_mobReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
poll_candidates_for_mobsReturns a list of ghosts that are eligible to take over and wish to be considered for a mob.
poll_ghost_candidatesWrapper to send all ghosts the poll to ask them if they want to be considered for a mob.
poll_holidayTakes a holiday datum, a starting month, ending month, max amount of days to test in, and min/max year as input +Returns a list in the form list("yyyy/m/d", ...) representing all days the holiday runs on in the tested range
popReturns the top(last) element from the list and removes it from the list (typical stack function)
populate_editable_sign_typesThis proc populates GLOBAL_LIST_EMPTY(editable_sign_types)
power_failDisable power in the station APCs
power_failureCauses a power failure across the station.
power_restoreRestores power to all rooms on the station.
power_restore_quickA quicker version of /proc/power_restore that only handles recharging SMESs.
prepare_explosion_turfsReturns a list of turfs in X range from the epicenter +Returns in a unique order, spiraling outwards +This is done to ensure our progressive cache of blast resistance is always valid +This is quite fast
prepare_infuser_entriesGlobal proc that sets up each /datum/infuser_entry sub-type as singleton instances in a list, and returns it.
pretty_string_from_reagent_listInput a reagent_list, outputs pretty readable text! +Default output will be formatted as
previous_list_itemReturns the previous item in a list
print_command_reportIf the announcer overrides alert messages, use that message.
print_holidayDoes the same as /proc/poll_holiday, but prints the output to admins instead of returning it
print_language_listHelper proc to print a list of languages in a human readable format
priority_announceMake a big red text announcement to
process_teleport_locsGenerate a list of turfs you can teleport to from the areas list
propagate_networkremove the old powernet and replace it with a new one throughout the network.
qdelShould be treated as a replacement for the 'del' keyword.
radiation_pulseSends out a pulse of radiation, eminating from the source. +Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +then makes their way towards them. A number, starting at 1, is multiplied +by the insulation amounts of whatever is in the way (for example, walls lowering it down). +If this number hits equal or below the threshold, then the target can no longer be irradiated. +If the number is above the threshold, then the chance is the chance that the target will be irradiated. +As a consumer, this means that max_range going up usually means you want to lower the threshold too, +as well as the other way around. +If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +and such in the way, can be irradiated. +You can also pass in a minimum exposure time. If this is set, then this radiation pulse +will not irradiate the source unless they have been around any radioactive source for that +period of time. +The chance to get irradiated diminishes over range, and from objects that block radiation. +Assuming there is nothing in the way, the chance will determine what the chance is to get irradiated from half of max_range. +Example: If chance is equal to 30%, and max_range is equal to 8, +then the chance for a thing to get irradiated is 30% if they are 4 turfs away from the pulse source.
ran_zoneReturn the zone or randomly, another valid zone
random_bounty
random_capital_letterhandles thousands
random_colourReturns a random color picked from a list, has 2 modes (0 and 1), mode 1 doesn't pick white, black or gray
random_fish_typeReturns random fish, using random_case_rarity probabilities.
random_nukecodeReturns a string for a random nuke code
random_stepForces the atom to take a step in a random direction
randomize_humanRandomizes everything about a human, including DNA and name
ranks_from_rank_nameConverts a rank name (such as "Coder+Moth") into a list of /datum/admin_rank
rcd_result_with_memoryProduces a new RCD result from the given one if it can be calculated that +the RCD should speed up with the remembered form.
rcd_scanGlobal proc that generates RCD hologram in a range.
read_sheetDebug proc, for when lighting sheets fuck up +Accepts the sheet (2 or 3 (multiz) dimensional list of lighting values at some offset) +alongside x and y delta values and the sheet's "offset", which is the amount required to ensure everything indexes at 1 +Optionally, you can pass similar values for multiz stuff
realize_appearance_queueTakes a list of appearnces, makes them mutable so they can be properly vv'd and inspected
reciprocal_addTakes two values x and y, and returns 1/((1/x) + y) +Useful for providing an additive modifier to a value that is used as a divisor, such as /obj/projectile/var/speed
recover_all_SS_and_recreate_masterRecreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars
recursive_list_resolveReturns a list with all weakrefs resolved
recursive_list_resolve_elementHelper for recursive_list_resolve()
recursive_loc_checkRecursively checks if an item is inside a given type, even through layers of storage. Returns the atom if it finds it.
refify_listReturns a copy of the list where any element that is a datum or the world is converted into a ref
reject_bad_chattextThe procedure to check the text of the entered text on ntnrc_client.dm
reject_bad_nameFilters out undesirable characters from names.
reject_bad_textReturns the text if properly formatted, or null else.
relay_to_list_and_observersSends a message to everyone within the list, as well as all observers.
remove_clunky_diagonalsProcesses a path (list of turfs), removes any diagonal moves that would lead to a weird bump
remove_diagonalsProcesses a path (list of turfs), removes any diagonal moves
remove_image_from_clientRemoves an image from a client's .images. Useful as a callback.
remove_image_from_clientsLike remove_image_from_client, but will remove the image from a list of clients
remove_messengerUnregisters an NTMessenger instance from the pda_messengers table.
remove_verbhandles removing verb and sending it to browser to update, use this for removing verbs
reopen_roundstart_suicide_rolesWithout these, the amount won't come close to hitting 0% or 100% of the max threat.
request_station_colorsCalled by decals if they can be colored, to see if we got some cool colors for them. Only takes the first station trait
request_z_pillarReturns a z pillar to insert turfs into
require_area_resortA list of all machinery tied to an area along with the area itself. key=area name,value=list(area,list of machinery) +we use this to keep track of what areas are affected by the blueprints & what machinery of these areas needs to be reconfigured accordingly
reset_cooldownProc used by stoppable timers to end a cooldown before the time has ran out.
reset_religious_sectRemoves any existing religious sect from chaplains, allowing another to be selected
resolve_ai_icon_syncA form of resolve_ai_icon that is guaranteed to never sleep. +Not always accurate, but always synchronous.
retrieve_ban_cacheGets the ban cache of the passed in client +If the cache has not been generated, we start off a query +If we still have a query going for this request, we just sleep until it's received back
return_atmos_handbooksFinal product is a numbered list, this one is assoc just so we can generate the "reactions" entry easily. +Returns an assoc list of the gas handbook and the reaction handbook. +For UIs, simply do data += return_atmos_handbooks() to use.
return_generator_argsreturns the arguments given to a generator and manually extracts them from the internal byond object +returns:
return_unused_frequencyreturns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE
reverse_rangereplaces reverseList ~Carnie
rustg_get_versionGets the version of rust_g
rustg_unix_timestampReturns the timestamp as a string
safe_read_prefSafely read a given preference datum from a given client.
sanitizeRuns byond's html encoding sanitization proc, after replacing new-lines and tabs for the # character.
sanitize_colorMakes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY
sanitize_css_class_nameRemoves all non-alphanumerics from the text, keep in mind this can lead to id conflicts
sanitize_filepathSanitizes the name of each node in the path.
sanitize_frequencyEnsure the frequency is within bounds of what it should be sending/receiving at
sanitize_namereturns nothing with an alert instead of the message if it contains something in the ic filter, and sanitizes normally if the name is fine. It returns nothing so it backs out of the input the same way as if you had entered nothing.
scramble_message_replace_charsSlightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!
screen_loc_to_offsetTakes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc
screen_loc_to_turfAlmost identical to the params_to_turf(), but unused (remove?)
screen_textReturn an object with a new maptext (not currently in use)
seedifyFinds and extracts seeds from an object
select_hallucination_typeHelper to give the passed mob the ability to select a hallucination from the list of all hallucination subtypes.
semver_to_listConverts a semver string into a list of numbers
send2adminchatAsynchronously sends a message to TGS admin chat channels.
send2chatAsynchronously sends a message to TGS chat channels.
send2otherserverSends a message to a set of cross-communications-enabled servers using world topic calls
send_fax_to_areaSends a fax to a fax machine in an area! fax_area is a type, where all subtypes are also queried. If multiple machines, one is randomly picked +If force is TRUE, we send a droppod with a fax machine and fax the message to that fax machine
send_supply_pod_to_areaEasily send a supplypod to an area
send_tip_of_the_roundSends a round tip to a target. If selected_tip is null, a random tip will be sent instead (5% chance of it being silly). +Tips that starts with the @ character won't be html encoded. That's necessary for any tip containing markup tags, +just make sure they don't also have html characters like <, > and ' which will be garbled.
send_to_observersSends a message to all dead and observing players, if a source is provided a follow link will be attached.
send_to_playing_playerssends a whatever to all playing players; use instead of to_chat(world, where needed)
serialize_antag_nameSerializes an antag name to be used for preferences UI
set_dynamic_human_appearanceThis proc gets an argument of a target and runs
set_new_religious_sectSets a new religious sect used by all chaplains int he round
setupExportsCalled when the global exports_list is empty, and sets it up.
setup_mod_themesGlobal proc that sets up all MOD themes as singletons in a list and returns it.
setup_round_default_lawsfirst called when something wants round default laws for the first time in a round, considers config +returns a law datum that GLOB._round_default_lawset will be set to.
shake_cameraShake the camera of the person viewing the mob SO REAL! +Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles +Duration isn't taken as a strict limit, since we don't trust our coders to not make things feel shitty. So it's more like a soft cap.
sheet2amountTurns number of sheets into material amount, returning FALSE if the number is <= 0
show_candidate_poll_windowShow the poll window to the candidate mobs
shuffleRandomize: Return the list in a random order
shuffle_inplacesame as shuffle, but returns nothing and acts on list in place
siunitFormats a number to human readable form with the appropriate SI unit.
siunit_isolatedFormats a number into a list representing the si unit. +Access the coefficient with [SI_COEFFICIENT], and access the unit with [SI_UNIT].
siunit_pressure
slice_off_turfsReturns a slice of a list of turfs, defined by the ones that are inside the inner/outer angle's bounds
sm_gas_dataReturn a list info of the SM gases. +Can only run after init_sm_gas
sort_keyfor sorting clients or mobs by ckey
sort_listsort any value in a list
sort_mobsOrders mobs by type then by name. Accepts optional arg to sort a custom list, otherwise copies GLOB.mob_list.
sort_namesuses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead
sort_recordSpecifically for record datums in a list.
spawn_contractor_partnerSpawns a contractor partner to a spawning user, with a given key to assign to the new player.
special_list_filterReturns a list with items filtered from a list that can call callback
spiral_rangesimilar function to range(), but with no limitations on the distance; will search spiralling outwards from the center
spiral_range_turfssimilar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs)
split_colorGiven a color in the format of "#RRGGBB" or "#RRGGBBAA", gives back a 4 entry list with the number values of each
spread_reagentsExposes all accessible atoms within some distance of an epicenter to some reagents. +Does not clear the source reagent holder; that must be done manually if it is desired.
starsConvert random parts of a passed in message to stars
start_logship both attack logs and victim logs to the end of round attack.log just to ensure we don't lose information
start_unequip_mobA utility function for /datum/strippable_items to start unequipping an item from a mob.
started_narsie_summonWhen narsie begins to be summoned, slowly dim the saturation of parallax and starlight
stoplagreturns the number of ticks slept
string_listCaches lists with non-numeric stringify-able values (text or typepath).
strip_htmlRuns STRIP_HTML_SIMPLE and sanitize.
strip_html_fullRuns STRIP_HTML_FULL and sanitize.
stripped_inputUsed to get a properly sanitized input. Returns null if cancel is pressed.
stripped_multiline_inputUsed to get a properly sanitized input in a larger box. Works very similarly to stripped_input.
summon_eventsTriggers Summon Events from [user]. +If Summon Events has already been triggered, speeds up the event timer.
summon_ghostsTriggers Summon Ghosts from [user].
summon_gunsTriggers Summon Guns from [user]. +Can optionally be passed [survivor_probability], to set the chance of creating survivalists. +If Summon Guns has already been triggered, gives out guns to everyone again.
summon_magicTriggers Summon Magic from [user]. +Can optionally be passed [survivor_probability], to set the chance of creating survivalists. +If Summon Magic has already been triggered, gives out magic to everyone again.
swap_rangeMove elements from [from_index, from_index+len) to [to_index, to_index+len) +Move any elements being overwritten by the move to the now-empty elements, preserving order +Note: if the two ranges overlap, only the destination order will be preserved fully, since some elements will be within both ranges ~Carnie
techweb_item_unlock_checkReturns an associative list of techweb node datums with values of the nodes it unlocks.
test_whiteship_sizesHelper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes +This should be a unit test, but too much of our other code breaks during shuttle movement, so not yet, not yet.
tgalertDEPRECATED: USE tgui_alert(...) INSTEAD
tgui_TopicMiddleware for /client/Topic.
tgui_alertCreates a TGUI alert window and returns the user's response.
tgui_input_checkboxes
tgui_input_listCreates a TGUI input list window and returns the user's response.
tgui_input_numberCreates a TGUI window with a number input. Returns the user's response as num | null.
tgui_input_textCreates a TGUI window with a text input. Returns the user's response.
time_to_twelve_hourConverts a time expressed in deciseconds (like world.time) to the 12-hour time format. +the format arg is the format passed down to time2text() (e.g. "hh:mm" is hours and minutes but not seconds). +the timezone is the time value offset from the local time. It's to be applied outside time2text() to get the AM/PM right.
timeleftGet the remaining deciseconds on a timer
to_chatSends the message to the recipient (target).
to_chat_immediateCircumvents the message queue and sends the message +to the recipient (target) as soon as possible.
toggle_id_ctfProc that handles toggling and unloading CTF.
tool_behaviour_namereturns an ic name of the tool needed +Arguments:
truncateTruncate a string to the given length
try_move_adjacentTries to move an atom to an adjacent turf, return TRUE if successful
typecache_filter_listreturns a new list with only atoms that are in the typecache list
typecache_filter_list_reversereturn a new list with atoms that are not in the typecache list
typecache_filter_multi_list_exclusionsimilar to typecache_filter_list and typecache_filter_list_reverse but it supports an inclusion list and and exclusion list
typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list.
ui_status_only_livingReturns a UI status such that the dead will be able to watch, but not interact.
ui_status_silicon_has_accessReturns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.
ui_status_user_has_free_handsReturns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.
ui_status_user_is_abledReturns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.
ui_status_user_is_adjacentReturns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.
ui_status_user_is_advanced_tool_userReturns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.
ui_status_user_is_conscious_and_lying_downReturns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.
ui_status_user_strictly_adjacentReturn UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.
unformat_frequencyOpposite of format, returns as a number
unique_listReturn a list with no duplicate entries
unique_list_in_placesame as unique_list, but returns nothing and acts on list in place (also handles associated values properly)
update_all_security_hudsUpdates the visual security huds on all mobs in GLOB.human_list
update_matching_security_hudsUpdates the visual security huds on all mobs in GLOB.human_list that match the name passed to it.
updatetimedelayUpdate the delay on an existing LOOPING timer +Will come into effect on the next process
urangeultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance
url2htmlloaderReturn html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.
valid_build_directionChecks whether the target turf is in a valid state to accept a directional construction +such as windows or railings.
view_to_pixelsTakes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)
visible_hallucination_pulseEmits a hallucinating pulse around the passed atom. +Affects everyone in the passed radius who can view the center, +except for those with TRAIT_MADNESS_IMMUNE, or those who are blind.
weakrefify_listReturns a copy of the list where any element that is a datum is converted into a weakref
web_soundTakes an input from either proc/play_web_sound or the request manager and runs it through youtube-dl and prompts the user before playing it to the server.
weekday_to_isoReturns a string day as an integer in ISO format 1 (Monday) - 7 (Sunday)
weight_class_to_textReturns a string based on the weight class define used as argument
window_flashFlash the window of a player
woundscanDisplays wounds with extended information on their status vs medscanners
zebra_typecacheofLike typesof() or subtypesof(), but returns a typecache instead of a list. +This time it also uses the associated values given by the input list for the values of the subtypes.
+

Var Details

Failsafe + + + + +

+

Failsafe

+

Pretty much pokes the MC to make sure it's still alive.

Master + + + + +

+

StonedMC

+

Designed to properly split up a given tick among subsystems +Note: if you read parts of this code and think "why is it doing it that way" +Odds are, there is a reason

SSacid + + + + +

+

The subsystem used to tick /datum/component/acid instances.

SSai_behaviors + + + + +

+

The subsystem used to tick /datum/ai_behavior instances. Handling the individual actions an AI can take like punching someone in the fucking NUTS

SSai_controllers + + + + +

+

The subsystem used to tick /datum/ai_controllers instances. Handling the re-checking of plans.

SSai_movement + + + + +

+

The subsystem used to tick /datum/ai_movement instances. Handling the movement of individual AI instances

SSambience + + + + +

+

The subsystem used to play ambience to users every now and then, makes them real excited.

SSarea_contents + + + + +

+

Responsible for managing the sizes of area.contained_turfs and area.turfs_to_uncontain +These lists do not check for duplicates, which is fine, but it also means they can balloon in size over time +as a consequence of repeated changes in area in a space +They additionally may not always resolve often enough to avoid memory leaks +This is annoying, so lets keep an eye on them and cut them down to size if needed

SSasset_loading + + + + +

+

Allows us to lazyload asset datums +Anything inserted here will fully load if directly gotten +So this just serves to remove the requirement to load assets fully during init

SSaura_healing + + + + +

+

The subsystem used to tick /datum/component/aura_healing instances.

SSauto_equip + + + + +

+

Automatically equips the VIP outfit for donators (as well as the trait), and those in tournament teams

SSban_cache + + + + +

+

Subsystem that batches a ban cache list for clients on initialize +This way we don't need to do ban checks in series later in the code

SSburning + + + + +

+

The subsystem used to tick /datum/component/burning instances.

SScliff_falling + + + + +

+

Subsystem to handle falling of off cliffs

SSclock_component + + + + +

+

The subsystem used to tick /datum/component/acid instances.

SSdigital_clock + + + + +

+

The subsystem used to tick digital clocks

SSdiscord + + + + +

+ Discord Subsystem +

This subsystem handles some integrations with discord

+

NOTES:

+
    +
  • There is a DB table to track ckeys and associated discord IDs. (discord_link)
  • +
  • This system REQUIRES TGS for notifying users at end of the round
  • +
  • The SS uses fire() instead of just pure shutdown, so people can be notified if it comes back after a crash, where the SS wasn't properly shutdown
  • +
  • It only writes to the disk every 5 minutes, and it won't write to disk if the file is the same as it was the last time it was written. This is to save on disk writes
  • +
  • The system is kept per-server (EG: Terry will not notify people who pressed notify on Sybil), but the accounts are between servers so you dont have to relink on each server.
  • +
+HOW NOTIFYING WORKSROUNDSTART: +
    +
  1. The file is loaded and the discord IDs are extracted
  2. +
  3. A ping is sent to the discord with the IDs of people who wished to be notified
  4. +
  5. The file is emptied
  6. +
+MIDROUND: +
    +
  1. Someone usees the notify verb, it adds their discord ID to the list.
  2. +
  3. On fire, it will write that to the disk, as long as conditions above are correct
  4. +
+END ROUND: +
    +
  1. The file is force-saved, incase it hasn't fired at end round
  2. +
+

This is an absolute clusterfuck, but its my clusterfuck -aa07

SSearly_assets + + + + +

+

Initializes any assets that need to be loaded ASAP. +This houses preference menu assets, since they can be loaded at any time, +most dangerously before the atoms SS initializes. +Thus, we want it to fail consistently in CI as if it would've if a player +opened it up early.

SSeigenstates + + + + +

+

Subsystem used to teleport people to a linked web of itterative entries. If one entry is deleted, the 2 around it will forge a link instead.

SSescape_menu + + + + +

+

Subsystem for controlling anything related to the escape menu

SSfishing + + + + +

+

So far, only used by the fishing minigame. Feel free to rename it to something like veryfastprocess +if you need one that fires 10 times a second

SSfluids + + + + +

+

Throwing only becomes acceptable after the explosions process, so we don't miss stuff that explosions GENERATE

+Fluid Subsystem +

A subsystem that processes the propagation and effects of a particular fluid.

+

Both fluid spread and effect processing are handled through a carousel system. +Fluids being spread and fluids being processed are organized into buckets. +Each fresh (non-resumed) fire one bucket of each is selected to be processed. +These selected buckets are then fully processed. +The next fresh fire selects the next bucket in each set for processing. +If this would walk off the end of a carousel list we wrap back to the first element. +This effectively makes each set a circular list, hence a carousel.

SSfoam + + + + +

+

The subsystem responsible for processing foam propagation and effects.

SShyperspace_drift + + + + +

+

This subsystem handles the hyperspace shuttle pull movement loops

SSid_access + + + + +

+

Non-processing subsystem that holds various procs and data structures to manage ID cards, trims and access.

SSinit_profiler + + + + +

+

Subsystem exists so we can separately log init time costs from the costs of general operation +Hopefully this makes sorting out what causes problems when easier

SSlag_switch + + + + +

+

The subsystem for controlling drastic performance enhancements aimed at reducing server load for a smoother albeit slightly duller gaming experience

SSlibrary + + + + +

+

Manages library data, loading bookselves, etc

SSmouse_entered + + + + +

+

Defers MouseEntered inputs to only apply to the most recently hovered over atom in the tick

SSmove_manager + + + + +

+

Acts as a namespace for movement packet/type related procs

+

Exists to provide an in code implementation of movement looping +Replaces things like walk() or walk_to(), among others

+

Because we're doing things in engine, we have a lot more control over how different operations are performed +We also get more say in when things happen, so we can subject movements to the whims of the master controller +Rather then using a fuck ton of cpu just moving mobs or meteors

+

The goal is to keep the loops themselves reasonably barebone, and implement more advanced behavior and control via the signals

+

This may be bypassed in cases where snowflakes are nessesary, or where performance is important. S not a hard and fast thing

+

Every atom can have a movement packet, which contains information and behavior about currently active loops, and queuing info +Loops control how movement actually happens. So there's a "move in this direction" loop, a "move randomly" loop

+

You can find the logic for this control in this file

+

Specifics of how different loops operate can be found in the movement_types.dm file, alongside the add to loop helper procs that use them

SSpathfinder + + + + +

+

Queues and manages JPS pathfinding steps

SSpoints_of_interest + + + + +

+

Subsystem for managing all POIs.

SSradioactive_nebula + + + + +

+

Controls making objects irradiated when Radioactive Nebula is in effect.

SSsinguloprocess + + + + +

+

Very rare subsystem, provides any active singularities with the timings and seclusion they need to succeed

SSsmoke + + + + +

+

The subsystem responsible for processing smoke propagation and effects.

SSspatial_grid + + + + +

+ Spatial Grid +

a gamewide grid of spatial_grid_cell datums, each "covering" SPATIAL_GRID_CELLSIZE ^ 2 turfs. +each spatial_grid_cell datum stores information about what is inside its covered area, so that searches through that area dont have to literally search +through all turfs themselves to know what is within it since view() calls are expensive, and so is iterating through stuff you dont want. +this allows you to only go through lists of what you want very cheaply.

+

you can also register to objects entering and leaving a spatial cell, this allows you to do things like stay idle until a player enters, so you wont +have to use expensive view() calls or iteratite over the global list of players and call get_dist() on every one. which is fineish for a few things, but is +k * n operations for k objects iterating through n players.

+

currently this system is only designed for searching for relatively uncommon things, small subsets of /atom/movable. +dont add stupid shit to the cells please, keep the information that the cells store to things that need to be searched for often

+

The system currently implements two different "classes" of spatial type

+

The first exists to support important_recursive_contents. +So if a client is inside a locker and the locker crosses a boundary, you'll still get a signal from the spatial grid. +These types are SPATIAL_GRID_CONTENTS_TYPE_HEARING and SPATIAL_GRID_CONTENTS_TYPE_CLIENTS

+

The second pattern is more paired down, and supports more wide use. +Rather then the object and anything the object is in being sensitive, it's limited to just the object itself +Currently only SPATIAL_GRID_CONTENTS_TYPE_ATMOS uses this pattern. This is because it's far more common, and so worth optimizing

SSspeech_controller + + + + +

+

verb_manager subsystem just for handling say's

SStgui + + + + +

+

tgui subsystem

+

Contains all tgui state and subsystem code.

SStimer + + + + +

+ Timer Subsystem +

Handles creation, callbacks, and destruction of timed events.

+

It is important to understand the buckets used in the timer subsystem are just a series of doubly-linked +lists. The object at a given index in bucket_list is a /datum/timedevent, the head of a list, which has prev +and next references for the respective elements in that bucket's list.

SStutorials + + + + +

+

Namespace for housing code relating to giving contextual tutorials to users.

SSverb_manager + + + + +

+

SSverb_manager, a subsystem that runs every tick and runs through its entire queue without yielding like SSinput. +this exists because of how the byond tick works and where user inputted verbs are put within it.

+

see TICK_ORDER.md for more info on how the byond tick is structured.

+

The way the MC allots its time is via TICK_LIMIT_RUNNING, it simply subtracts the cost of SendMaps (MAPTICK_LAST_INTERNAL_TICK_USAGE) +plus TICK_BYOND_RESERVE from the tick and uses up to that amount of time (minus the percentage of the tick used by the time it executes subsystems) +on subsystems running cool things like atmospherics or Life or SSInput or whatever.

+

Without this subsystem, verbs are likely to cause overtime if the MC uses all of the time it has alloted for itself in the tick, and SendMaps +uses as much as its expected to, and an expensive verb ends up executing that tick. This is because the MC is completely blind to the cost of +verbs, it can't account for it at all. The only chance for verbs to not cause overtime in a tick where the MC used as much of the tick +as it alloted itself and where SendMaps costed as much as it was expected to is if the verb(s) take less than TICK_BYOND_RESERVE percent of +the tick, which isnt much. Not to mention if SendMaps takes more than 30% of the tick and the MC forces itself to take at least 70% of the +normal tick duration which causes ticks to naturally overrun even in the absence of verbs.

+

With this subsystem, the MC can account for the cost of verbs and thus stop major overruns of ticks. This means that the most important subsystems +like SSinput can start at the same time they were supposed to, leading to a smoother experience for the player since ticks arent riddled with +minor hangs over and over again.

SSwardrobe + + + + +

+

This subsystem strives to make loading large amounts of select objects as smooth at execution as possible +It preloads a set of types to store, and caches them until requested +Doesn't catch everything mind, this is intentional. There's many types that expect to either +A: Not sit in a list for 2 hours, or B: have extra context passed into them, or for their parent to be their location +You should absolutely not spam this system, it will break things in new and wonderful ways +S close enough for government work though. +Fuck you goonstation

SSweather + + + + +

+

Used for all kinds of weather, ex. lavaland ash storms.

SSwiremod_composite + + + + +

+

This subsystem is to handle creating and storing +composite templates that are used to create composite datatypes +for integrated circuits

+

See: https://en.wikipedia.org/wiki/Composite_data_type

Proc Details

GUID +

+

returns a GUID like identifier (using a mostly made up record format) +guids are not on their own suitable for access or security tokens, as most of their bits are predictable. +(But may make a nice salt to one)

GetBestWeapon +

+

Returns either the best weapon from the given choices or null if held weapons are better

GetTgsStealthKey +

+

Gets TGS's stealth key, generates one if none is found

Gibberish +

+

Turn text into complete gibberish!

+

text is the inputted message, replace_characters will cause original letters to be replaced and chance are the odds that a character gets modified.

HandleUserlessProcCall +

+

Handles a userless proccall, used by circuits.

+

Arguments:

+
    +
  • user - a string used to identify the user
  • +
  • target - the target to proccall on
  • +
  • proc - the proc to call
  • +
  • arguments - any arguments
  • +

HandleUserlessSDQL +

+

Handles a userless sdql, used by circuits and tgs.

+

Arguments:

+
    +
  • user - a string used to identify the user
  • +
  • query_text - the query text
  • +

IsEdible +

+

returns if something can be consumed, drink or food

REF +

+

\ref behaviour got changed in 512 so this is necesary to replicate old behaviour. +If it ever becomes necesary to get a more performant REF(), this lies here in wait +#define REF(thing) (thing && isdatum(thing) && (thing:datum_flags & DF_USE_TAG) && thing:tag ? "[thing:tag]" : text_ref(thing))

RoundDiagBar +

+

Diagnostic HUDs!

WEAKREF +

+

Creates a weakref to the given input. +See /datum/weakref's documentation for more information.

WrapAdminProcCall +

+

Wrapper for proccalls where the datum is flagged as vareditted

___TraitAdd +

+

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

___TraitRemove +

+

DO NOT USE ___TraitAdd OR ___TraitRemove as a replacement for ADD_TRAIT / REMOVE_TRAIT defines. To be used explicitly for callback.

______qdel_list_wrapper +

+

the underscores are to encourage people not to use this directly.

__check_serialization_semver +

+

Checks if the actual semver is equal or later than the wanted semver +Must be passed as TEXT; you're probably looking for CHECK_SERIALIZATION_SEMVER, look right above

__lua_awaken +

+

Dequeues the task at the front of the sleep queue and resumes it

+

required state text a pointer to the state in which +to resume a task

+

return list|text|null a list of lua return information, +an error message if the state is corrupted, +or null if the sleep queue is empty

+

Lua return information is formatted as followed:

+
    +
  • ["status"]: How the chunk or function stopped code execution +
      +
    • "sleeping": The chunk or function called dm.sleep, +placing it in the sleep queue. Items in the sleep +queue can be resumed using /proc/__lua_awaken
    • +
    • "yielded": The chunk or function called coroutine.yield, +placing it in the yield table. Items in the yield +table can can be resumed by passing their index +to /proc/__lua_resume
    • +
    • "finished": The chunk or function finished
    • +
    • "errored": The chunk or function produced an error
    • +
    • "bad return": The chunk or function yielded or finished, +but its return value could not be converted to DM values
    • +
    +
  • +
  • ["param"]: Depends on status. +
      +
    • "sleeping": null
    • +
    • "yielded" or "finished": The return/yield value(s)
    • +
    • "errored" or "bad return": The error message
    • +
    +
  • +
  • ["yield_index"]: The index in the yield table where the +chunk or function is located, for calls to __lua_resume
  • +
  • ["name"]: The name of the chunk or function, for logging
  • +

__lua_call +

+

Calls a lua function

+

required state text a pointer to the state +in which to call the function +required function text the name of the function to call +optional arguments list arguments to pass to the function

+

return list|text a list of lua return information +or an error message if the state was corrupted

+

Lua return information is formatted as followed:

+
    +
  • ["status"]: How the chunk or function stopped code execution +
      +
    • "sleeping": The chunk or function called dm.sleep, +placing it in the sleep queue. Items in the sleep +queue can be resumed using /proc/__lua_awaken
    • +
    • "yielded": The chunk or function called coroutine.yield, +placing it in the yield table. Items in the yield +table can can be resumed by passing their index +to /proc/__lua_resume
    • +
    • "finished": The chunk or function finished
    • +
    • "errored": The chunk or function produced an error
    • +
    • "bad return": The chunk or function yielded or finished, +but its return value could not be converted to DM values
    • +
    +
  • +
  • ["param"]: Depends on status. +
      +
    • "sleeping": null
    • +
    • "yielded" or "finished": The return/yield value(s)
    • +
    • "errored" or "bad return": The error message
    • +
    +
  • +
  • ["yield_index"]: The index in the yield table where the +chunk or function is located, for calls to __lua_resume
  • +
  • ["name"]: The name of the chunk or function, for logging
  • +

__lua_get_globals +

+

Get the variables within a state's environment. +Values not convertible to DM values are substituted +for their types as text

+

required state text a pointer to the state +to get the variables from

+

return list the variables of the state's environment

__lua_get_tasks +

+

Get a list of all tasks currently in progress within a state

+

required state text a pointer to the state +to get the tasks from

+

return list a list of the state's tasks, formatted as follows:

+
    +
  • name: The name of the task
  • +
  • status: Whether the task is sleeping or yielding
  • +
  • index: The index of the task in the sleep queue +or yield table, whichever is applicable
  • +

__lua_kill_task +

+

Kills a task in progress

+

required state text a pointer to the state +in which to kill a task +required info list the task info

__lua_load +

+

Loads a chunk of lua source code and executes it

+

required state text a pointer to the state +in which to execute the code +required script text the lua source code to execute +optional name text a name to give to the chunk

+

return list|text a list of lua return information +or an error message if the state was corrupted

+

Lua return information is formatted as followed:

+
    +
  • ["status"]: How the chunk or function stopped code execution +
      +
    • "sleeping": The chunk or function called dm.sleep, +placing it in the sleep queue. Items in the sleep +queue can be resumed using /proc/__lua_awaken
    • +
    • "yielded": The chunk or function called coroutine.yield, +placing it in the yield table. Items in the yield +table can can be resumed by passing their index +to /proc/__lua_resume
    • +
    • "finished": The chunk or function finished
    • +
    • "errored": The chunk or function produced an error
    • +
    • "bad return": The chunk or function yielded or finished, +but its return value could not be converted to DM values
    • +
    +
  • +
  • ["param"]: Depends on status. +
      +
    • "sleeping": null
    • +
    • "yielded" or "finished": The return/yield value(s)
    • +
    • "errored" or "bad return": The error message
    • +
    +
  • +
  • ["yield_index"]: The index in the yield table where the +chunk or function is located, for calls to __lua_resume
  • +
  • ["name"]: The name of the chunk or function, for logging
  • +

__lua_new_state +

+

Creates a new lua state.

+

return text a pointer to the created state.

__lua_resume +

+

Removes the task at the specified index from the yield table +and resumes it

+

required state text a pointer to the state in which to +resume a task +required index number the index in the yield table of the +task to resume +optional arguments list the arguments to resume the task with

+

return list|text|null a list of lua return information, +an error message if the state is corrupted, +or null if there is no task at the specified index

+

Lua return information is formatted as followed:

+
    +
  • ["status"]: How the chunk or function stopped code execution +
      +
    • "sleeping": The chunk or function called dm.sleep, +placing it in the sleep queue. Items in the sleep +queue can be resumed using /proc/__lua_awaken
    • +
    • "yielded": The chunk or function called coroutine.yield, +placing it in the yield table. Items in the yield +table can can be resumed by passing their index +to /proc/__lua_resume
    • +
    • "finished": The chunk or function finished
    • +
    • "errored": The chunk or function produced an error
    • +
    • "bad return": The chunk or function yielded or finished, +but its return value could not be converted to DM values
    • +
    +
  • +
  • ["param"]: Depends on status. +
      +
    • "sleeping": null
    • +
    • "yielded" or "finished": The return/yield value(s)
    • +
    • "errored" or "bad return": The error message
    • +
    +
  • +
  • ["yield_index"]: The index in the yield table where the +chunk or function is located, for calls to __lua_resume
  • +
  • ["name"]: The name of the chunk or function, for logging
  • +

__lua_set_datum_proc_call_wrapper +

+

Sets a global proc to call in place of just outright calling a given proc on a datum

+

The proc will be called with the arguments (datum/thing_to_call, proc_to_call, list/arguments)

+

required wrapper text the name of the proc to use as the wrapper

__lua_set_execution_limit +

+

Sets the maximum amount of time a lua chunk or function can execute without sleeping or yielding. +Chunks/functions that exceed this duration will produce an error.

+

required limit number the execution limit, in milliseconds

__lua_set_global_proc_call_wrapper +

+

Sets a global proc to call in place of just outright calling a given global proc

+

The proc will be called with the arguments (proc_to_call, list/arguments)

+

required wrapper text the name of the proc to use as the wrapper

__lua_set_print_wrapper +

+

Sets a global proc as a wrapper for lua's print function

+

The proc will be called with the arguments (state_id, list/arguments)

+

required wrapper text the name of the proc to use as the wrapper

__lua_set_set_var_wrapper +

+

Sets a global proc to call in place of just outright setting a datum's var to a given value

+

The proc will be called with the arguments (datum/datum_to_modify, var_name, value)

+

required wrapper text the name of the proc to use as the wrapper

_add_memory_in_range +

+

Unless you need to use this for an explicit reason, use the add_memory_in_range macro wrapper.

_addtimer +

+

Create a new timer and insert it in the queue. +You should not call this directly, and should instead use the addtimer macro, which includes source information.

+

Arguments:

+
    +
  • callback the callback to call on timer finish
  • +
  • wait deciseconds to run the timer for
  • +
  • flags flags for this timer, see: code__DEFINES\subsystems.dm
  • +
  • timer_subsystem the subsystem to insert this timer into
  • +

_alert_drones +

+

Broadcast a message to all drones in a faction

+

Arguments:

+
    +
  • msg - The message to send
  • +
  • dead_can_hear - Boolean that determines if ghosts can hear the message (FALSE by default)
  • +
  • source - /atom source that created the message
  • +
  • faction_checked_mob - /mob/living to determine faction matches from
  • +
  • exact_faction_match - Passed to [/mob/proc/faction_check_atom]
  • +

_animate_filter +

+

Auxtools REALLY doesn't know how to handle filters as values; +when passed as arguments to auxtools-called procs, they aren't simply treated as nulls - +they don't even count towards the length of args. +For example, calling some_proc([a filter], foo, bar) from auxtools +is equivalent to calling some_proc(foo, bar). Thus, we can't use _animate directly on filters. +Use this to perform animation steps on a filter. Consecutive steps on the same filter can be +achieved by calling _animate with no target.

_malf_ai_undo_lockdown +

+

For Lockdown malf AI ability. Opens all doors on the station.

_pick_list +

+

Allow me to explain +for some reason, if pick() is passed arglist(args) directly and args contains only one list +it considers it to be a list of lists +this means something like _pick(list) would fail +need to do this instead

+

I hate this timeline

_queue_verb +

+

queue a callback for the given verb/verblike proc and any given arguments to the specified verb subsystem, so that they process in the next tick. +intended to only work with verbs or verblike procs called directly from client input, use as part of TRY_QUEUE_VERB() and co.

+

returns TRUE if the queuing was successful, FALSE otherwise.

_stack_trace +

+

gives us the stack trace from CRASH() without ending the current proc. +Do not call directly, use the stack_trace macro instead.

above_neck +

+

Would this zone be above the neck

actionspeed_data_null_check +

+

Checks if a action speed modifier is valid and not missing any data

active_free_borgs +

+

Silicon Mob Procs

add_image_to_client +

+

Adds an image to a client's .images. Useful as a callback.

add_image_to_clients +

+

Like add_image_to_client, but will add the image from a list of clients

add_keybinding +

+

Adds an instanced keybinding to the global tracker

add_messenger +

+

Registers an NTMessenger instance to the list of pda_messengers.

add_sabotage_machine +

+

Marks a machine as a possible traitor sabotage target

add_to_signaler_investigate_log +

+

Used to add a text log to the signaler investigation log. +Do not add to the list directly; if the list is too large it can cause lag when an admin tries to view it.

add_verb +

+

handles adding verbs and updating the stat panel browser

+

pass the verb type path to this instead of adding it directly to verbs so the statpanel can update +Arguments:

+
    +
  • target - Who the verb is being added to, client or mob typepath
  • +
  • verb - typepath to a verb, or a list of verbs, supports lists of lists
  • +

admin_ticket_log +

+

Use this proc when an admin takes action that may be related to an open ticket on what +what can be a client, ckey, or mob +player_message: If the message should be shown in the player ticket panel, fill this out +log_in_blackbox: Whether or not this message with the blackbox system. +If disabled, this message should be logged with a different proc call

adminscrub +

+

Runs STRIP_HTML_SIMPLE and byond's sanitization proc.

alert_to_permissions_elevation_attempt +

+

Sends a message in the event that someone attempts to elevate their permissions through invoking a certain proc.

alone_in_area +

+

Checks if the mob provided (must_be_alone) is alone in an area

amount2sheet +

+

Turns material amount into the number of sheets, returning FALSE if the number is less than SHEET_MATERIAL_AMOUNT

+

Arguments:

+
    +
  • amt: amount to convert
  • +

announce_arrival +

+

Send a message in common radio when a player arrives

anyprob +

+

chances are 1:value. anyprob(1) will always return true

apply_dynamic_human_appearance +

+

This exists to apply the icons async, as that cannot be done in Initialize because of possible sleeps.

armor_to_protection_class +

+

Rounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.

+

Arguments:

+
    +
  • armor_value - Number we're converting
  • +

armor_to_protection_name +

+

Returns the client readable name of an armor type

+

Arguments:

+
    +
  • armor_type - The type to convert
  • +

assert_sorted +

+

Runtimes if the passed in list is not sorted

assign_random_name +

+

Generate a name devices

+

Creates a randomly generated tag or name for devices or anything really +it keeps track of a special list that makes sure no name is used more than +once

+

args:

+
    +
  • len (int)(Optional) Default=5 The length of the name
  • +
  • prefix (string)(Optional) static text in front of the random name
  • +
  • postfix (string)(Optional) static text in back of the random name +Returns (string) The generated name
  • +

assoc_to_keys +

+

Turns an associative list into a flat list of keys

assoc_to_keys_features +

+

Turns an associative list into a flat list of keys, but for sprite accessories, respecting the locked variable

assoc_value_sum +

+

Gets the total amount of everything in the associative list.

at_least +

+

Takes a value, and a threshold it has to at least match +returns the correctly signed value max'd to the threshold

atmos_handbooks_init +

+

Automatically populates gas_handbook and reaction_handbook. They are formatted lists containing information regarding gases and reactions they participate in. +Structure can be found in TS form at AtmosHandbook.tsx

atmos_scan +

+

Outputs a message to the user describing the target's gasmixes.

+

Gets called by analyzer_act, which in turn is called by tool_act. +Also used in other chat-based gas scans.

avoid_assoc_duplicate_keys +

+

takes an input_key, as text, and the list of keys already used, outputting a replacement key in the format of "[input_key] ([number_of_duplicates])" if it finds a duplicate +use this for lists of things that might have the same name, like mobs or objects, that you plan on giving to a player as input

baseturfs_string_list +

+

A wrapper for baseturf string lists, to offer support of non list values, and a stack_trace if we have major issues

begin_the_end +

+

Begins the process of ending the round via cult narsie win +Consists of later called procs (in order of called):

+
    +
  • [/proc/narsie_end_begin_check()]
  • +
  • [/proc/narsie_end_second_check()]
  • +
  • [/proc/narsie_start_destroy_station()]
  • +
  • [/proc/narsie_apocalypse()]
  • +
  • [/proc/narsie_last_second_win()]
  • +
  • [/proc/cult_ending_helper()]
  • +

bit_count +

+

counts the number of bits in Byond's 16-bit width field, in constant time and memory!

bitfield_to_list +

+

Converts a bitfield to a list of numbers (or words if a wordlist is provided)

blend_cutoff_colors +

+

Used to blend together two different color cutoffs +Uses the screen blendmode under the hood, essentially just /proc/blend_screen_color +But paired down and modified to work for our color range +Accepts the color cutoffs as two 3 length list(0-100,...) arguments

blend_screen_color +

+

Blends together two colors (passed as 3 or 4 length lists) using the screen blend mode +Much like multiply, screen effects the brightness of the resulting color +Screen blend will always lighten the resulting color, since before multiplication we invert the colors +This makes our resulting output brighter instead of darker

body_zone2cover_flags +

+

For finding out what body parts a body zone covers, the inverse of the below basically

border_diamond_range_turfs +

+

Returns the list of turfs around the outside of a center based on RANGE_TURFS()

build_chemical_reactions_lists +

+

Chemical Reactions - Initialises all /datum/chemical_reaction into a list +It is filtered into multiple lists within a list. +For example: +chemical_reactions_list_reactant_index/datum/reagent/toxin/plasma is a list of all reactions relating to plasma +For chemical reaction list product index - indexes reactions based off the product reagent type - see get_recipe_from_reagent_product() in helpers +For chemical reactions list lookup list - creates a bit list of info passed to the UI. This is saved to reduce lag from new windows opening, since it's a lot of data.

build_exploration_site_ui_data +

+

Helper proc for exploration site listings in ui.

build_medicine_reagents +

+

Just grab every craftable medicine you can think off

build_name2reagentlist +

+

Builds map of reagent name to its datum path

build_planeed_apperance_queue +

+

Takes a list of mutable appearances +Returns a list in the form: +1 - a list of all mutable appearances that would need to be updated to change planes in the event of a z layer change, alnongside the commands required +to properly track parents to update +2 - a list of all parents that will require updating

calculate_light_offset +

+

Returns a list of x and y offsets to apply to our visual lighting position

calculate_projectile_angle_and_pixel_offsets +

+

Calculates the pixel offsets and angle that a projectile should be launched at.

+

Arguments:

+
    +
  • source: The thing that the projectile is being shot from.
  • +
  • target: (Optional) The thing that the projectile is being shot at. +
      +
    • If this is not provided the source atom must be a mob with a client.
    • +
    +
  • +
  • modifiers: A list of click parameters used to modify the shot angle.
  • +

callback_on_everyone_on_z +

+

Invokes a callback on every living mob on the provided z level.

callback_select +

+

Runs a list of callbacks asyncronously, returning only when all have finished

+

Callbacks can be repeated, to call it multiple times

+

Arguments:

+
    +
  • list/callbacks the list of callbacks to be called
  • +
  • list/callback_args the list of lists of arguments to pass into each callback
  • +
  • savereturns Optionally save and return the list of returned values from each of the callbacks
  • +
  • resolution The number of byond ticks between each time you check if all callbacks are complete
  • +

camera_sort +

+

Sorts the list of cameras by their c_tag to display to players.

can_see +

+

Step-towards method of determining whether one atom can see another. Similar to viewers() +note: this is a line of sight algorithm, view() does not do any sort of raycasting and cannot be emulated by it accurately

center_image +

+

Center's an image. +Requires: +The Image +The x dimension of the icon file used in the image +The y dimension of the icon file used in the image +eg: center_image(image_to_center, 32,32) +eg2: center_image(image_to_center, 96,96)

chatter_speak +

+

We're going to take a list that dictates the pace of speech, and a sentence fragment to say +Then say() that fragment at that pace +You can pass in a starting delay to wait before speaking the next sound

+

Checks a given message to see if any of the words are something we want to treat specially, as detailed below.

+

There are 3 cases where a word is something we want to act on

+
    +
  1. Admin pings, like @adminckey. Pings the admin in question, text is not clickable
  2. +
  3. Datum refs, like @0x2001169 or @mob_23. Clicking on the link opens up the VV for that datum
  4. +
  5. Ticket refs, like #3. Displays the status and ahelper in the link, clicking on it brings up the ticket panel for it. +Returns a list being used as a tuple. Index ASAY_LINK_NEW_MESSAGE_INDEX contains the new message text (with clickable links and such) +while index ASAY_LINK_PINGED_ADMINS_INDEX contains a list of pinged admin clients, if there are any.
  6. +
+

Arguments:

+
    +
  • msg - the message being scanned
  • +

check_gases +

+

A simple helped proc that checks if the contents of a list of gases are within acceptable terms.

+

Arguments:

+
    +
  • gases: The list of gases which contents are being checked
  • +
  • gases to check: An associated list of gas types and acceptable boundaries in moles. e.g. /datum/gas/oxygen = list(16, 30)
  • +
  • +
      +
    • if the assoc list is null, then it'll be considered a safe gas and won't return FALSE.
    • +
    +
  • +
  • extraneous_gas_limit: If a gas not in gases is found, this is the limit above which the proc will return FALSE.
  • +

check_holidays +

+

Checks that the passed holiday is located in the global holidays list.

+

Returns a holiday datum, or null if it's not that holiday.

check_pda_message_against_filter +

+

Checks a PDA message against the IC/Soft IC filter. Returns TRUE if the message should be sent. +Notifies the user passed in arguments if the message matched either filter.

check_target_facings +

+

Returns the direction that the initiator and the target are facing

check_teleport_valid +

+

Validates that the teleport being attempted is valid or not

check_wall_item +

+

Check if there is already a wall item on the turf loc +floor_loc = floor tile in front of the wall +dir_toward_wall = direction from the floor tile in front of the wall towards the wall +check_external = truthy if we should be checking against items coming out of the wall, rather than visually on top of the wall.

check_zone +

+

Convert a PRECISE ZONE into the BODY_ZONE

chem_splash +

+

The basic chemical bomb proc. +Combines a set of reagent holders into one holder and reacts it. +If there are any reagents left over it spreads them across the surrounding environment. +The maximum volume of the holder is temporarily adjusted to allow for reactions which increase total volume to work at full effectiveness. +The maximum volume of the holder is then reset to its original value.

+

Arguments:

+
    +
  • epicenter: The epicenter of the splash if some of the reagents aren't consumed.
  • +
  • holder: The holder to combine all of the reagents into. A temporary one is created if this is null.
  • +
  • [reactants][/list/datum/reagents]: The set of reagent holders to combine.
  • +
  • extra_heat: Some amount to heat the combined reagents by before reacting them.
  • +
  • threatscale: A multiplier for the reagent quantities involved.
  • +
  • adminlog: Whether to alert the admins that this has occured.
  • +

circle_range +

+

Returns all atoms present in a circle around the center

circle_range_turfs +

+

Returns a list of turfs around a center based on RANGE_TURFS()

circle_view +

+

Returns all atoms present in a circle around the center but uses view() instead of range() (Currently not used)

circle_view_turfs +

+

Returns a list of turfs around a center based on view()

cleanup_ghosts +

+

Gives a farewell message and deletes the ghosts produced by a ghost portal structure.

+

Handles cleanup of all ghost mobs spawned a ghost portal. Iterates through the list +and calls qdel on its contents, gives a short message, and leaves behind some goop. +Stored as a global, as it is called immediately after the portal deletes itself.

+
    +
  • delete_list - The list of entities to be deleted by this proc.
  • +

cmp_assoc_list_name +

+

Passed a list of assoc lists, sorts them by the list's "name" keys.

cmp_bodypart_by_body_part_asc +

+

Orders bodyparts by their body_part value, ascending.

cmp_crafting_req_priority +

+

Sorts crafting recipe requirements before the crafting recipe is inserted into GLOB.crafting_recipes

+

Prioritises /datum/reagent to ensure reagent requirements are always processed first when crafting. +This prevents any reagent_containers from being consumed before the reagents they contain, which can +lead to runtimes and item duplication when it happens.

cmp_heretic_knowledge +

+

Orders heretic knowledge by priority

cmp_mob_health +

+

Orders mobs by health

cmp_port_order_asc +

+

Orders by integrated circuit weight

+

Orders by uplink category weight

collect_fish_properties +

+

Awful workaround around initial(x.list_variable) not being a thing while trying to keep some semblance of being structured

color_to_full_rgba_matrix +

+

Converts RGB shorthands into RGBA matrices complete of constants rows (ergo a 20 keys list in byond). +if return_identity_on_fail is true, stack_trace is called instead of CRASH, and an identity is returned.

compare_list +

+

compare two lists, returns TRUE if they are the same

considered_afk +

+

Checks if a player is considered AFK

considered_alive +

+

Checks if the passed mind has a mob that is "alive"

+
    +
  • player_mind - who to check for alive status
  • +
  • enforce_human - if TRUE, the checks fails if the mind's mob is a silicon, brain, or infectious zombie.
  • +
+

Returns TRUE if they're alive, FALSE otherwise

considered_escaped +

+

Checks if the passed mind is considered "escaped".

+

Escaped mobs are used to check certain antag objectives / results.

+

Escaped includes minds with alive, non-exiled mobs generally.

+

Returns TRUE if they're a free person, or FALSE if they failed

considered_exiled +

+

Exiled check

+

Checks if the current body of the mind has an exile implant and is currently in +an away mission. Returns FALSE if any of those conditions aren't met.

construct_phobia_regex +

+

Creates a regular expression to match against the given phobia +Capture group 2 = the scary word +Capture group 3 = an optional suffix on the scary word

convert_integer_to_words +

+

Takes an integer up to 999,999,999 and returns it in words. Works with negative numbers and 0.

+

Arguments:

+
    +
  • number - Integer up to 999,999,999 to convert.
  • +
  • capitalise - Whether the number it returns should be capitalised or not, e.g. "Eighty Million" vs. "eighty million".
  • +

convert_ph_to_readable_color +

+

Converts the pH into a tgui readable color - i.e. white and black text is readable over it. This is NOT the colourwheel for pHes however.

coords2turf +

+

Converts a list of coordinates, or an assosciative list if passed, into a turf by calling locate(x, y, z) based on the values in the list

count_by_type +

+

return the amount of items of the same type inside a list

create_atmos_zone +

+

Create an atmos zone (Think ZAS), similiar to [proc/detect_room] but it ignores walls and turfs which are non-[atmos_can_pass]

+

Arguments +source - the turf which to find all connected atmos turfs +range - the max range to check

+

Returns a list of turfs, which is an area of isolated atmos

create_basketball_game +

+

Creates the global datum for playing basketball games, destroys the last if that's required and returns the new.

create_ctf_game +

+

Creates a CTF game with the provided teeam ID then returns a reference to the new controller. If a controller already exists provides a reference to it.

create_delusion +

+

Helper to give the passed mob the ability to create a delusion hallucination (even a custom one). +Returns a list of arguments - pass these to _cause_hallucination to cause the desired hallucination

create_glass_styles +

+

Constructs a nested list of glass style singletons

+

List format:

+
    +
  • list(glasses = list(beer = style datum, vodka = style datum), shot glasses = list(vodka = different style datum))
  • +
+

Where

+
    +
  • "glasses" and "shotglasses" are item typepaths
  • +
  • "beer" and "vodka" are reagent typepaths
  • +
  • "style datum" is a glass style singleton datum
  • +
+

Returns the list.

create_mafia_game +

+

Creates the global datum for playing mafia games, destroys the last if that's required and returns the new.

create_random_puzzgrid +

+

Returns a random puzzgrid from config. +If config is empty, or no valid puzzgrids can be found in time, will return null.

create_separatist_nation +

+ create_separatist_nation() +

Helper called to create the separatist antagonist via making a department independent from the station.

+
    +
  • Arguments:
  • +
  • department: which department to revolt. if null, will pick a random non-independent department. starts as a type, then turns into the reference to the singleton.
  • +
  • announcement: whether to tell the station a department has gone independent.
  • +
  • dangerous: whether this nation will have objectives to attack other independent departments, requires more than one nation to exist obviously
  • +
  • message_admins: whether this will admin log how the nation creation went. Errors are still put in runtime log either way.
  • +
+

Returns nothing.

create_strippable_list +

+

Creates an assoc list of keys to /datum/strippable_item

+

Selects a set number of unique items from the uplink, and deducts a percentage discount from them

cult_ending_helper +

+

Selects cinematic to play as part of the cult end depending on the outcome then ends the round afterward +called either when narsie eats everyone, or when [/proc/begin_the_end()] reaches it's conclusion

cure_curse_of_babel +

+

Mainly so admin triggered tower of babel can be undone

cut_relative_direction +

+

Takes a screen_loc string and cut out any directions like NORTH or SOUTH

day_of_month +

+

Returns the day (mon, tues, wen...) in number format, 1 (monday) - 7 (sunday) from the passed in date (year, month, day) +All inputs are expected indexed at 1

debug_hallucination_weighted_list +

+

Debug proc for getting the total weight of the random_hallucination_weighted_list

debug_variable +

+

Get displayed variable in VV variable list

deep_compare_list +

+

Compares 2 lists, returns TRUE if they are the same

deep_copy_list +

+

Copies a list, and all lists inside it recusively +Does not copy any other reference type

default_ui_state +

+

The sane defaults for a UI such as a computer or a machine.

delete_all_SS_and_recreate_master +

+

Delete all existing SS to basically start over

delta_to_angle +

+

Calculate the angle produced by a pair of x and y deltas

deltimer +

+

Delete a timer

+

Arguments:

+
    +
  • id a timerid or a /datum/timedevent
  • +

deprecise_zone +

+

Takes a zone and returns it's "parent" zone, if it has one.

diff_appearances +

+

Takes two appearances as args, prints out, logs, and returns a text representation of their differences +Including suboverlays

dir2offset +

+

Returns a list(x, y), being the change in position required to step in the passed in direction

dir_to_all_junctions +

+

Takes a direction, turns it into all the junctions that contain it

disambiguate_client +

+

Takes an argument which could be either a ckey, /client, or IRC marker, and returns a client if possible +Returns [EXTERNAL_PM_USER] if an IRC marker is detected +Otherwise returns null

diseasescan +

+

Checks the individual for any diseases that are visible to the scanner, and displays the diseases in the attacked to the attacker.

dispatch_announcement_to_players +

+

Proc that just dispatches the announcement to our applicable audience. Only the announcement is a mandatory arg.

display_corners +

+

Makes all lighting corners visible, debug to aid in understanding

display_energy +

+

Format an energy value measured in Power Cell units.

display_joules +

+

Format an energy value in prefixed joules.

display_power +

+

Format a power value in prefixed watts.

doPortalSpawn +

+

Spawns a portal storm that spawns in sentient/non sentient mobs +portal_appearance is a list in the form (turf's plane offset + 1) -> appearance to use

do_after +

+

Timed action involving one mob user. Target is optional.

+

Checks that user does not move, change hands, get stunned, etc. for the +given delay. Returns TRUE on success or FALSE on failure. +Interaction_key is the assoc key under which the do_after is capped, with max_interact_count being the cap. Interaction key will default to target if not set.

do_chem_smoke +

+

Helper to quickly create a cloud of reagent smoke

do_smoke +

+

A helper proc used to spawn small puffs of smoke.

+

Arguments:

+
    +
  • range: The amount of smoke to produce as number of steps from origin covered.
  • +
  • amount: The amount of smoke to produce as the total desired coverage area. Autofilled from the range arg if not set.
  • +
  • location: Where to produce the smoke cloud.
  • +
  • smoke_type: The smoke typepath to spawn.
  • +

dump_in_space +

+

Dump a movable in a random valid spacetile

duplicate_object +

+ duplicate_object +

Makes a copy of an item and transfers most vars over, barring GLOB.duplicate_forbidden_vars +Args: +original - Atom being duplicated +spawning_location - Turf where the duplicated atom will be spawned at.

dview +

+

Version of view() which ignores darkness, because BYOND doesn't have it (I actually suggested it but it was tagged redundant, BUT HEARERS IS A T- /rant).

dyn_explosion +

+

Using default dyn_ex scale:

+

100 explosion power is a (5, 10, 20) explosion. +75 explosion power is a (4, 8, 17) explosion. +50 explosion power is a (3, 7, 14) explosion. +25 explosion power is a (2, 5, 10) explosion. +10 explosion power is a (1, 3, 6) explosion. +5 explosion power is a (0, 1, 3) explosion. +1 explosion power is a (0, 0, 1) explosion.

+

Arguments:

+
    +
  • epicenter: Turf the explosion is centered at.
  • +
  • power - Dyn explosion power. See reference above.
  • +
  • flame_range: Flame range. Equal to the equivalent of the light impact range multiplied by this value.
  • +
  • flash_range: The range at which the explosion flashes people. Equal to the equivalent of the light impact range multiplied by this value.
  • +
  • adminlog: Whether to log the explosion/report it to the administration.
  • +
  • ignorecap: Whether to ignore the relevant bombcap. Defaults to FALSE.
  • +
  • flame_range: The range at which the explosion should produce hotspots.
  • +
  • silent: Whether to generate/execute sound effects.
  • +
  • smoke: Whether to generate a smoke cloud provided the explosion is powerful enough to warrant it.
  • +
  • explosion_cause: [Optional] The atom that caused the explosion, when different to the origin. Used for logging.
  • +

emissive_appearance +

+

Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EMISSIVE_COLOR.

emissive_blocker +

+

Produces a mutable appearance glued to the [EMISSIVE_PLANE] dyed to be the EM_BLOCK_COLOR.

emoji_parse +

+

Pay the owner +Make alerts +Log the event

encode_text_and_nulls +

+

Returns a copy of a list where text values (except assoc-keys and string representations of lua-only values) are +wrapped in quotes and existing quote marks are escaped, +and nulls are replaced with the string "null"

end_cooldown +

+

Callback called by a timer to end an associative-list-indexed cooldown.

+

Arguments:

+
    +
  • source - datum storing the cooldown
  • +
  • index - string index storing the cooldown on the cooldowns associative list
  • +
+

This sends a signal reporting the cooldown end.

end_message_delay +

+

Simply resets the message delay and the recent messages list, to ensure that +recent messages can be sent again. Is called on a one second timer after a +delay is set, from /obj/machinery/telecomms/broadcaster/receive_information()

ending_helper +

+

Helper to set the round to end asap. Current usage Cult round end code

endswith +

+

Returns TRUE if the input_text ends with the ending

english_list +

+

Returns a list in plain english as a string

expand_three_digit_color +

+

Given a 3 character color (no hash), converts it into #RRGGBB (with hash)

expand_weights +

+

Takes a weighted list (see above) and expands it into raw entries +This eats more memory, but saves time when actually picking from it

explosion +

+

Makes a given atom explode.

+

Arguments:

+
    +
  • origin: The atom that's exploding.
  • +
  • devastation_range: The range at which the effects of the explosion are at their strongest.
  • +
  • heavy_impact_range: The range at which the effects of the explosion are relatively severe.
  • +
  • light_impact_range: The range at which the effects of the explosion are relatively weak.
  • +
  • flash_range: The range at which the explosion flashes people.
  • +
  • adminlog: Whether to log the explosion/report it to the administration.
  • +
  • ignorecap: Whether to ignore the relevant bombcap. Defaults to FALSE.
  • +
  • flame_range: The range at which the explosion should produce hotspots.
  • +
  • silent: Whether to generate/execute sound effects.
  • +
  • smoke: Whether to generate a smoke cloud provided the explosion is powerful enough to warrant it.
  • +
  • explosion_cause: [Optional] The atom that caused the explosion, when different to the origin. Used for logging.
  • +

failed_narsie_summon +

+

Summon failed, time to work backwards

fast_split_stack +

+

Splits a stack. we don't use /obj/item/stack/proc/fast_split_stack because Byond complains that should only be called asynchronously. +This proc is also more faster because it doesn't deal with mobs, copying evidences or refreshing atom storages +Has special internal uses for e.g. by the material container

+

Arguments:

+
    +
  • target: the stack to split
  • +
  • [amount]: amount to split by
  • +

fill_holidays +

+

Fills the holidays list if applicable, or leaves it an empty list.

fill_with_ones +

+

Given a list, return a copy where values without defined weights are given weight 1. +For example, fill_with_ones(list(A, B=2, C)) = list(A=1, B=2, C=1) +Useful for weighted random choices (loot tables, syllables in languages, etc.)

findTrueKey +

+

Takes a stealthed ckey as input, returns the true key it represents

find_exposed_wires +

+

List of areas where satchels should not be placed.

find_functional_ntnet_relay +

+

Checks whether NTNet is available by ensuring at least one relay exists and is operational.

find_maintenance_spawn +

+

Finds us a generic maintenance spawn location.

+

Goes through the list of the generic mainteance landmark locations, checking for atmos safety if required, and returns +a valid turf. Returns MAP_ERROR if no valid locations are present. +Returns nothing and alerts admins if no valid points are found. Keep this in mind +when using this helper.

find_obstruction_free_location +

+

Find an obstruction free turf that's within the range of the center. Can also condition on if it is of a certain area type.

find_reagent +

+

Returns reagent datum from typepath

find_record +

+

Returns the first record in the list that matches the name

+

If locked_only is TRUE, locked records will be checked

+

If locked_only is FALSE, crew records will be checked

+

If no record is found, returns null

find_space_spawn +

+

Finds us a generic spawn location in space.

+

Goes through the list of the space carp spawn locations, picks from the list, and +returns that turf. Returns MAP_ERROR if no landmarks are found.

findname +

+

Find if the message has the real name of any user mob in the mob_list

finish_equip_mob +

+

A utility function for /datum/strippable_items to finish equipping an item to a mob.

finish_unequip_mob +

+

A utility function for /datum/strippable_items to finish unequipping an item from a mob.

firing_squad +

+

firing_squad is a proc for the :B:erforate smite to shoot each individual bullet at them, so that we can add actual delays without sleep() nonsense

+

Hilariously, if you drag someone away mid smite, the bullets will still chase after them from the original spot, possibly hitting other people. Too funny to fix imo

+

Arguments:

+
    +
  • target- guy we're shooting obviously
  • +
  • source_turf- where the bullet begins, preferably on a turf next to the target
  • +
  • body_zone- which bodypart we're aiming for, if there is one there
  • +
  • wound_bonus- the wounding power we're assigning to the bullet, since we don't care about the base one
  • +
  • damage- the damage we're assigning to the bullet, since we don't care about the base one
  • +

flash_color +

+

Flash a color on the client

flatten_list +

+

Flattens a keyed list into a list of it's contents

flick_overlay_global +

+

Add an image to a list of clients and calls a proc to remove it after a duration

format_frequency +

+

Format frequency by moving the decimal.

format_text +

+

Properly format a string of text by using replacetext()

full_capitalize +

+

Returns a string with the first letter of each word capitialized

gas_mixture_parser +

+
    +
  • A simple rudimentary gasmix to information list converter. Can be used for UIs.
  • +
  • Args:
  • +
  • + +
  • +
  • +
      +
    • name: String used to name the list, optional.
    • +
    +
  • +
  • Returns: A list parsed_gasmixes with the following structure:
  • +
  • +
      +
    • parsed_gasmixes Value: Assoc List Desc: The thing we return
    • +
    +
  • +
  • -- Key: name Value: String Desc: Gasmix Name
  • +
  • -- Key: temperature Value: Number Desc: Temperature in kelvins
  • +
  • -- Key: volume Value: Number Desc: Volume in liters
  • +
  • -- Key: pressure Value: Number Desc: Pressure in kPa
  • +
  • -- Key: ref Value: String Desc: The reference for the instantiated gasmix.
  • +
  • -- Key: gases Value: Numbered list Desc: List of gasses in our gasmix
  • +
  • --- Key: 1 Value: String Desc: gas id var from the gas
  • +
  • --- Key: 2 Value: String Desc: Human readable gas name.
  • +
  • --- Key: 3 Value: Number Desc: Mol amount of the gas.
  • +
  • -- Key: gases Value: Numbered list Desc: Assoc list of reactions that occur inside.
  • +
  • --- Key: 1 Value: String Desc: reaction id var from the gas.
  • +
  • --- Key: 2 Value: String Desc: Human readable reaction name.
  • +
  • --- Key: 3 Value: Number Desc: The number associated with the reaction.
  • +
  • Returned list should always be filled with keys even if value are nulls.
  • +

gather_z_level_information +

+

Returns all necessary z-level information. Argument append_grid allows the user to see a table showing all of the z-level linkages, which is only visible and useful in-game.

generateStealthCkey +

+

Hands back a stealth ckey to use, guarenteed to be unique

generate_adjacent_directions +

+

Encodes connectivity between border objects +Returns a list accessable by a border object's dir, the direction between it and a target, and a target +Said list will return the direction the two objects connect, if any exists (if the target isn't a border object and the direction is fine, return the inverse of the direction in use)

generate_and_hash_rsc_file +

+

generates a filename for a given asset. +like generate_asset_name(), except returns the rsc reference and the rsc file hash as well as the asset name (sans extension) +used so that certain asset files dont have to be hashed twice

generate_asset_name +

+

Generate a filename for this asset +The same asset will always lead to the same asset name +(Generated names do not include file extention.)

generate_autowiki_output +

+

When the AUTOWIKI define is enabled, will generate an output file for tools/autowiki/autowiki.js to consume. +Autowiki code intentionally still exists even without the define, to ensure developers notice +when they break it immediately, rather than until CI or worse, call time. +Returns a string of the autowiki output file

generate_bitfields +

+

Turns /datum/bitfield subtypes into a list for use in debugging

generate_changeling_meteor +

+

Receives a mob candidate, transforms them into a changeling, and hurls them at the station inside of a changeling meteor

+

Takes a given candidate and turns them into a changeling, generates a changeling meteor, and throws it at the station. +Returns the changeling generated by the event, NOT the meteor. This is so that it plays nicely with the dynamic ruleset +while still being usable in the ghost_role event as well.

+

Arguments:

+
    +
  • candidate - The mob (player) to be transformed into a changeling and meteored.
  • +

generate_chemwiki_line +

+

Generate the big list of reagent based reactions. +style='background-color:#FFEE88;'|{{anchor|Synthetic-derived growth factor}}Synthetic-derived growth factor▮

generate_cult_rune_types +

+

Returns an associated list of rune types. [rune.cultist_name] = [typepath]

generate_generator_index +

+

Creates generator__id => type map.

generate_hallucination_weighted_list +

+

Generates the global weighted list of random hallucinations.

generate_icon_alpha_mask +

+

Helper proc to generate a cutout alpha mask out of an icon.

+

Why is it a helper if it's so simple?

+

Because BYOND's documentation is hot garbage and I don't trust anyone to actually +figure this out on their own without sinking countless hours into it. Yes, it's that +simple, now enjoy.

+

But why not use filters?

+

Filters do not allow for masks that are not the exact same on every dir. An example of a +need for that can be found in [/proc/generate_left_leg_mask()].

+

Arguments:

+
    +
  • icon_to_mask - The icon file you want to generate an alpha mask out of.
  • +
  • icon_state_to_mask - The specific icon_state you want to generate an alpha mask out of.
  • +
+

Returns an /icon that is the alpha mask of the provided icon and icon_state.

generate_items_inside +

+

Creates new items inside an atom based on a list

generate_lazy_template_map +

+

Iterates through all lazy template datums that exist and returns a list of them as an associative list of key -> instance.

+

Screams if more than one key exists, loudly.

generate_map_list_from_directory +

+

Returns a list of all maps to be found in the directory that is passed in.

generate_quirk_constant_data +

+

Constructs [GLOB.all_quirk_constant_data] by iterating through a typecache of pregen data, ignoring abstract types, and instantiating the rest.

generate_selectable_species_and_languages +

+

Generates species available to choose in character setup at roundstart

+

This proc generates which species are available to pick from in character setup. +If there are no available roundstart species, defaults to human.

generate_space_underlay +

+

Generates a space underlay for a turf +This provides proper lighting support alongside just looking nice +Accepts the appearance to make "spaceish", and the turf we're doing this for

generate_station_goals +

+

Creates the initial station goals.

generate_unique_announcement_header +

+

Proc that just generates a custom header based on variables fed into priority_announce() +Will return a string.

generate_wound_series_collection +

+

Generates [wound_series_collections] by iterating through all pregen_data. Refer to the mentioned list for documentation

generate_wound_static_data +

+

Constructs [GLOB.all_wound_pregen_data] by iterating through a typecache of pregen data, ignoring abstract types, and instantiating the rest.

get +

+

Returns the atom type in the specified loc

getFlatIcon +

+

Create a single /icon from a given /atom or /image.

+

Very low-performance. Should usually only be used for HTML, where BYOND's +appearance system (overlays/underlays, etc.) is not available.

+

Only the first argument is required.

get_active_player_count +

+

Get active players who are playing in the round

get_adjacent_areas +

+

Returns a list of all areas that are adjacent to the center atom's area, clear the list of nulls at the end.

get_adjacent_open_areas +

+

Returns a list with all the adjacent areas by getting the adjacent open turfs

get_adjacent_open_turfs +

+

Returns a list with all the adjacent open turfs. Clears the list of nulls in the end.

get_airlock_overlay +

+

Overlay cache. Why isn't this just in /obj/machinery/door/airlock? Because its used just a +tiny bit in door_assembly.dm Refactored so you don't have to make a null copy of airlock +to get to the damn thing +Someone, for the love of god, profile this. Is there a reason to cache mutable_appearance +if so, why are we JUST doing the airlocks when we can put this in mutable_appearance.dm for +everything

get_allowed_instrument_ids +

+

Get all non admin_only instruments as a list of text ids.

get_angle +

+

Calculate the angle between two movables and the west|east coordinate

get_angle_raw +

+

Angle between two arbitrary points and horizontal line same as /proc/get_angle

get_antag_minds +

+

Returns MINDS of the assigned antags of given type/subtypes +Supplying no antag type grants all minds with antag datums

get_area_name +

+

Returns the name of the area the atom is in

get_areas_in_range +

+

Returns a list with the names of the areas around a center at a certain distance +Returns the local area if no distance is indicated +Returns an empty list if the center is null

get_armor_by_type +

+

Gets an armor type datum using the given type by formatting it into the expected datum tag

get_atom_on_turf +

+

Returns the top-most atom sitting on the turf. +For example, using this on a disk, which is in a bag, on a mob, +will return the mob because it's on the turf.

+

Arguments

+
    +
  • something_in_turf - a movable within the turf, somewhere.
  • +
  • stop_type - optional - stops looking if stop_type is found in the turf, returning that type (if found).
  • +

get_bbox_of_atoms +

+

Get a bounding box of a list of atoms.

+

Arguments:

+
    +
  • atoms - List of atoms. Can accept output of view() and range() procs.
  • +
+

Returns: list(x1, y1, x2, y2)

get_cached_actionspeed_modifier +

+

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_cached_movespeed_modifier +

+

Grabs a STATIC MODIFIER datum from cache. YOU MUST NEVER EDIT THESE DATUMS, OR IT WILL AFFECT ANYTHING ELSE USING IT TOO!

get_camera_list +

+

get_camera_list

+

Builds a list of all available cameras that can be seen to networks_available +Args: +networks_available - List of networks that we use to see which cameras are visible to it.

get_cardinal_dir +

+

Get the cardinal direction between two atoms

get_chat_toggles +

+

Get the given client's chat toggle prefs.

+

Getter function for prefs.chat_toggles which guards against null client and null prefs. +The client object is fickle and can go null at times, so use this instead of directly accessing the var +if you want to ensure no runtimes.

+

returns client.prefs.chat_toggles or FALSE if something went wrong.

+

Arguments:

+
    +
  • client/prefs_holder - the client to get the chat_toggles pref from.
  • +

get_chem_id +

+

Returns reagent datum from reagent name string

get_closest_atom +

+

Returns the closest atom of a specific type in a list from a source

get_consistent_feature_entry +

+

Takes in an accessory list and returns the first entry from that list, ensuring that we dont return SPRITE_ACCESSORY_NONE in the process.

get_corresponding_wound_type +

+

Searches through all wounds for any of proper type, series, and biostate, and then returns a single one via pickweight. +Is able to discern between, say, a flesh slash wound, and a metallic slash wound, and will return the respective one for the provided limb.

+

The severity_max and severity_pick_mode args mostly exist in case you want a wound in a series that may not have your ideal severity wound, as it lets you +essentially set a "fallback", where if your ideal wound doesnt exist, it'll still return something, trying to get closest to your ideal severity.

+

Generally speaking, if you want a critical/severe/moderate wound, you should set severity_min to WOUND_SEVERITY_MODERATE, severity_max to your ideal wound, +and severity_pick_mode to WOUND_PICK_HIGHEST_SEVERITY - UNLESS you for some reason want the LOWEST severity, in which case you should set +severity_max to the highest wound you're willing to tolerate, and severity_pick_mode to WOUND_PICK_LOWEST_SEVERITY.

+

Args:

+
    +
  • list/wounding_types: A list of wounding_types. Only wounds that accept these wound types will be considered.
  • +
  • obj/item/bodypart/part: The limb we are considering. Extremely important for biostates.
  • +
  • severity_min: The minimum wound severity we will search for.
  • +
  • severity_max = severity_min: The maximum wound severity we will search for.
  • +
  • severity_pick_mode = WOUND_PICK_HIGHEST_SEVERITY: The "pick mode" we will use when considering multiple wounds of acceptable severity. See the above defines.
  • +
  • random_roll = TRUE: If this is considered a "random" consideration. If true, only wounds that can be randomly generated will be considered.
  • +
  • duplicates_allowed = FALSE: If exact duplicates of a given wound on part are tolerated. Useful for simply getting a path and not instantiating.
  • +
  • care_about_existing_wounds = TRUE: If we iterate over wounds to see if any are above or at a given wounds severity, and disregard it if any are. Useful for simply getting a path and not instantiating.
  • +
+

Returns: +A randomly picked wound typepath meeting all the above criteria and being applicable to the part's biotype - or null if there were none.

get_ctf_voting_controller +

+

Returns the existing /datum/ctf_voting_controller for the given ID, or makes one

get_dist_euclidian +

+

Returns the distance between two atoms

get_distribution +

+

This is a pretty complicated algorithm, but it's one I'm rather proud of.

+

This is the function that is responsible for taking the list of preferences, +and spitting out what to put them in.

+

However, it should, wherever possible, prevent solo departments. +That means that if there's one medical officer, and one engineering officer, +that they should be put onto the same department (either medical or engineering).

+

The first step is to get the "distribution". This describes how many officers +should be in each department, no matter what they are. +This is handled in get_distribution. Examples of inputs/outputs are: +get_distribution(1, 4) => [1] +get_distribution(2, 4) => [2] +get_distribution(3, 4) => [3] # If this returned [2, 1], then we'd get a loner. +get_distribution(4, 4) => [2, 2] # We have enough to put into a separate group

+

Once this distribution is received, the next step is to figure out where to put everyone.

+

If all members have no preference, just make one an unused department (from the departments argument). +Then, call ourselves again.

+

Order the groups from most populated to least.

+

If the top group has enough officers who actually want that department, then we give it to them. +If there are any leftovers (for example, if 3 officers want medical, but we only want 2), then we +update those to have no preference instead.

+

If the top group does NOT have enough officers, then we kill the least popular group by setting +them all to have no preference.

+

Anyone in the most popular group will be removed from the list, and the final tally will be updated. +In the case of not having enough officers, this is a no-op, as there won't be any in the most popular group yet.

+

If there are any candidates left, then we call the algorithm again, but for everyone who hasn't been selected yet. +We take the results from that run, and put them in the correct order.

+

As an example, let's assume we have the following preferences: +[engineer, medical, medical, medical, medical, cargo]

+

The distribution of this is [2, 2, 2], meaning there will be 3 departments chosen and they will have 2 each. +We order from most popular to least popular and get:

+
    +
  • medical: 4
  • +
  • engineer: 1
  • +
  • cargo: 1
  • +
+

We need 2 to fill the first group. There are enough medical staff to do it. Thus, we take the first 2 medical staff +and update the output, making it now: [engineer, medical, medical, ?, ?, cargo].

+

The remaining two want-to-be-medical officers are now updated to act as no preference. We run the algorithm again. +This time, are candidates are [engineer, none, none, cargo]. +The distribution of this is [2, 2]. The frequency is:

+
    +
  • engineer: 1
  • +
  • cargo: 1
  • +
  • no preference: 2
  • +
+

We need 2 to fill the engineering group, but only have one who wants to do it. +We have enough no preferences for it, making our result: [engineer, engineer, none, cargo]. +We run the algorithm again, but this time with: [none, cargo]. +Frequency is:

+
    +
  • cargo: 1
  • +
  • no preference: 1 +Enough to fill cargo, etc, and we get [cargo, cargo].
  • +
+

These are all then compounded into one list.

+

In the case that all are no preference, it will pop the last department, and use that. +For example, if departments is [engi, medical, cargo], and we have the preferences: +[none, none, none]... +Then we will just give them all cargo.

+

One of the most important parts of this algorithm is IT IS DETERMINISTIC. +That means that this proc is 100% testable. +Instead, to get random results, the preferences and departments are shuffled +before the proc is ever called.

get_dummy_savefile +

+

Gets a dummy savefile for usage in icon generation. +Savefiles generated from this proc will be empty.

get_dynamic_human_appearance +

+

Creates a human with the given parameters and returns an appearance of it

get_edge_target_turf +

+

Returns the turf located at the map edge in the specified direction relative to target_atom used for mass driver

get_element_by_var +

+

return first thing in L which has var/varname == value +this is typecaste as list/L, but you could actually feed it an atom instead. +completely safe to use

get_first_open_turf_in_area +

+

Iterates over all turfs in the target area and returns the first non-dense one

get_flat_existing_human_icon +

+

A simpler version of get_flat_human_icon() that uses an existing human as a base to create the icon. +Does not feature caching yet, since I could not think of a good way to cache them without having a possibility +of using the cached version when we don't want to, so only use this proc if you just need this flat icon +generated once and handle the caching yourself if you need to access that icon multiple times, or +refactor this proc to feature caching of icons.

+

Arguments:

+
    +
  • existing_human - The human we want to get a flat icon out of.
  • +
  • directions_to_output - The directions of the resulting flat icon, defaults to all cardinal directions.
  • +

get_flat_human_icon +

+ If you already have a human and need to get its flat icon, call get_flat_existing_human_icon() instead. +

For creating consistent icons for human looking simple animals.

get_general_adminwho_information +

+

Proc that gathers adminwho information for a general player, which will only give information if an admin isn't AFK, and handles potential fakekeying. +Will return a list of strings.

get_hear +

+

Like view but bypasses luminosity check

get_hearers_in_LOS +

+

Returns a list of movable atoms that are hearing sensitive in view_radius and line of sight to source +the majority of the work is passed off to the spatial grid if view_radius > 0 +because view() isnt a raycasting algorithm, this does not hold symmetry to it. something in view might not be hearable with this. +if you want that use get_hearers_in_view() - however thats significantly more expensive

+
    +
  • view_radius - what radius search circle we are using, worse performance as this increases but not as much as it used to
  • +
  • source - object at the center of our search area. everything in get_turf(source) is guaranteed to be part of the search area
  • +

get_hearers_in_range +

+

The exact same as get_hearers_in_view, but not limited by visibility. Does no filtering for traits, line of sight, or any other such criteria. +Filtering is intended to be done by whatever calls this function.

+

This function exists to allow for mobs to hear speech without line of sight, if such a thing is needed.

+
    +
  • radius - what radius search circle we are using, worse performance as this increases
  • +
  • source - object at the center of our search area. everything in get_turf(source) is guaranteed to be part of the search area
  • +

get_hearers_in_view +

+

returns every hearaing movable in view to the turf of source not taking into account lighting +useful when you need to maintain always being able to hear something if a sound is emitted from it and you can see it (and youre in range). +otherwise this is just a more expensive version of get_hearers_in_LOS().

+
    +
  • view_radius - what radius search circle we are using, worse performance as this increases
  • +
  • source - object at the center of our search area. everything in get_turf(source) is guaranteed to be part of the search area
  • +

get_icon_dimensions +

+

Returns a list containing the width and height of an icon file

get_icon_dmi_path +

+

given an icon object, dmi file path, or atom/image/mutable_appearance, attempts to find and return an associated dmi file path. +a weird quirk about dm is that /icon objects represent both compile-time or dynamic icons in the rsc, +but stringifying rsc references returns a dmi file path +ONLY if that icon represents a completely unchanged dmi file from when the game was compiled. +so if the given object is associated with an icon that was in the rsc when the game was compiled, this returns a path. otherwise it returns ""

get_line +

+

Get a list of turfs in a line from starting_atom to ending_atom.

+

Uses the ultra-fast Bresenham Line-Drawing Algorithm.

get_linked_admin_name +

+

Proc that will return the applicable display name, linkified or not, based on the input client reference.

get_list_of_admins +

+

Proc that returns a list of cliented admins. Remember that this list can contain nulls! +Also, will return null if we don't have any admins.

get_messenger_name +

+

Get the display name of a messenger instance

get_messengers_sorted_by_job +

+

Gets all messengers, sorted by their job

get_messengers_sorted_by_name +

+

Gets all messengers, sorted by their name

get_mob_by_ckey +

+

returns a mob type controlled by a specified ckey

get_mob_by_key +

+

Return the mob type that is being controlled by a ckey

get_mob_or_brainmob +

+

Returns the occupant mob or brain from a specified input

get_most_experienced +

+

From a list of players (minds, mobs or clients), finds the one with the highest playtime (either from a specific role or overall living) and returns it.

get_nested_locs +

+

Returns a list of all locations (except the area) the movable is within.

get_officer_departments +

+

Returns the distribution of splitting the given security officers into departments. +Return value is an assoc list of candidate => SEC_DEPT_*.

get_offset_target_turf +

+

returns turf relative to target_atom offset in dx and dy tiles, bound to map limits

get_open_turf_in_dir +

+

Returns the open turf next to the center in a specific direction

get_path_by_slot +

+

Returns a generic path of the object based on the slot

get_path_to +

+

This is the proc you use whenever you want to have pathfinding more complex than "try stepping towards the thing". +If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing. +It will yield until a path is returned, using magic

+

Arguments:

+
    +
  • caller: The movable atom that's trying to find the path
  • +
  • end: What we're trying to path to. It doesn't matter if this is a turf or some other atom, we're gonna just path to the turf it's on anyway
  • +
  • max_distance: The maximum number of steps we can take in a given path to search (default: 30, 0 = infinite)
  • +
  • mintargetdistance: Minimum distance to the target before path returns, could be used to get near a target, but not right to it - for an AI mob with a gun, for example.
  • +
  • access: A list representing what access we have and what doors we can open.
  • +
  • simulated_only: Whether we consider tur fs without atmos simulation (AKA do we want to ignore space)
  • +
  • exclude: If we want to avoid a specific turf, like if we're a mulebot who already got blocked by some turf
  • +
  • skip_first: Whether or not to delete the first item in the path. This would be done because the first item is the starting tile, which can break movement for some creatures.
  • +
  • diagonal_handling: defines how we handle diagonal moves. see __DEFINES/path.dm
  • +

get_perceived_radiation_danger +

+

Gets the perceived "danger" of radiation pulse, given the threshold to the target. +Returns a RADIATION_DANGER_* define, see code/__DEFINES/radiation.dm

get_perimeter +

+

Get a list of turfs in a perimeter given the center_atom and radius. +Automatically rounds down decimals and does not accept values less than positive 1 as they dont play well with it. +Is efficient on large circles but ugly on small ones +Uses Jesko`s method to the midpoint circle Algorithm.

get_pixel_angle +

+

for getting the angle when animating something's pixel_x and pixel_y

get_pixel_distance +

+

Finds the distance between two atoms, in pixels +centered = FALSE counts from turf edge to edge +centered = TRUE counts from turf center to turf center +of course mathematically this is just adding world.icon_size on again

get_player_client +

+

Returns a client from a mob, mind or client

get_powernet_info_from_source +

+

Extracts the powernet and cell of the provided power source

get_preferences_in_priority_order +

+

Returns a flat list of preferences in order of their priority

get_random_coin +

+

Gets a random coin excluding the blocked type and including extra coins which aren't pathed like coins.

get_random_drink +

+

Gets a random drink excluding the blocked type

get_random_food +

+

Get a random food item exluding the blocked ones

get_random_jumpskirt +

+

Returns a random, acceptable jumpskirt typepath

get_random_jumpsuit +

+

Returns a random, acceptable jumpsuit typepath

get_random_reagent_id +

+

Returns a random reagent object minus blacklisted reagents

get_random_station_turf +

+

Returns a random turf on the station

get_random_valid_hallucination_subtype +

+

Gets a random subtype of the passed hallucination type that has a random_hallucination_weight > 0. +If no subtype is passed, it will get any random hallucination subtype that is not abstract and has weight > 0. +This can be used instead of picking from the global weighted list to just get a random valid hallucination.

get_ranged_target_turf_direct +

+

Get ranged target turf, but with direct targets as opposed to directions

+

Starts at atom starting_atom and gets the exact angle between starting_atom and target +Moves from starting_atom with that angle, Range amount of times, until it stops, bound to map size +Arguments:

+
    +
  • starting_atom - Initial Firer / Position
  • +
  • target - Target to aim towards
  • +
  • range - Distance of returned target turf from starting_atom
  • +
  • offset - Angle offset, 180 input would make the returned target turf be in the opposite direction
  • +

get_reagent_type_from_product_string +

+

Returns a list of chemical_reaction datums that have the input STRING as a product

get_recipe_from_reagent_product +

+

Takes a type in and returns a list of associated recipes

get_round_default_lawset +

+

A getter that sets up the round default if it has not been yet.

+

round_default_lawset is what is considered the default for the round. Aka, new AI and other silicons would get this. +You might recognize the fact that 99% of the time it is asimov.

+

This requires config, so it is generated at the first request to use this var.

get_safe_random_station_turf +

+

Returns a random turf on the station, excludes dense turfs (like walls) and areas that have valid_territory set to FALSE

get_selectable_species +

+

Gets a list of all species available to choose in roundstart.

get_sensitive_adminwho_information +

+

Proc that gathers adminwho information for admins, which will contain information on if the admin is AFK, readied to join, etc. Only arg is a list of clients to use. +Will return a list of strings.

get_size_in_tiles +

+

Returns the size of the sprite in tiles. +Takes the icon size and divides it by the world icon size (default 32). +This gives the size of the sprite in tiles.

+

@return size of the sprite in tiles

get_small_overlay +

+

Fikou's fix for making toast alerts look nice - resets offsets, transforms to fit

get_sorted_areas +

+

Returns a sorted version of GLOB.areas, by name

get_storage_locs +

+

Returns a list of the parents of all storage components that contain the target item

get_swarm_path_to +

+

POTENTIALLY cheaper version of get_path_to +This proc generates a path map for the end atom's turf, which allows us to cheaply do pathing operations "at" it +Generation is significantly SLOWER then get_path_to, but if many things are/might be pathing at something then it is much faster +Runs the risk of returning an suboptimal or INVALID PATH if the delay between map creation and use is too long

+

If no path was found, returns an empty list, which is important for bots like medibots who expect an empty list rather than nothing. +It will yield until a path is returned, using magic

+

Arguments:

+
    +
  • caller: The movable atom that's trying to find the path
  • +
  • end: What we're trying to path to. It doesn't matter if this is a turf or some other atom, we're gonna just path to the turf it's on anyway
  • +
  • max_distance: The maximum number of steps we can take in a given path to search (default: 30, 0 = infinite)
  • +
  • mintargetdistance: Minimum distance to the target before path returns, could be used to get near a target, but not right to it - for an AI mob with a gun, for example.
  • +
  • age: How old a path map can be before we'll avoid reusing it. Use the defines found in code/__DEFINES/path.dm, values larger then MAP_REUSE_SLOWEST will be discarded
  • +
  • access: A list representing what access we have and what doors we can open.
  • +
  • simulated_only: Whether we consider tur fs without atmos simulation (AKA do we want to ignore space)
  • +
  • exclude: If we want to avoid a specific turf, like if we're a mulebot who already got blocked by some turf
  • +
  • skip_first: Whether or not to delete the first item in the path. This would be done because the first item is the starting tile, which can break movement for some creatures.
  • +

get_teleport_loc +

+

Returns location. Returns null if no location was found.

get_temp_change_amount +

+

Used to get the amount of change between two body temperatures

+

When passed the difference between two temperatures returns the amount of change to temperature to apply. +The change rate should be kept at a low value tween 0.16 and 0.02 for optimal results. +vars:

+
    +
  • temp_diff (required) The differance between two temperatures
  • +
  • change_rate (optional)(Default: 0.06) The rate of range multiplyer
  • +

get_turf_pixel +

+

Lets the turf this atom's ICON appears to inhabit +it takes into account: +Pixel_x/y +Matrix x/y +NOTE: if your atom has non-standard bounds then this proc +will handle it, but: +if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked +this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) +if the bounds are odd, the true middle turf of the atom is returned

get_valid_screen_location +

+

Returns a valid location to place a screen object without overflowing the viewport

+
    +
  • target: The target location as a purely number based screen_loc string "+-left-offset:+-pixel,+-bottom-offset:+-pixel"
  • +
  • target_offset: The amount we want to offset the target location by. We explictly don't care about direction here, we will try all 4
  • +
  • view: The view variable of the client we're doing this for. We use this to get the size of the screen
  • +
+

Returns a screen loc representing the valid location

get_visual_offset +

+

Returns how visually "off" the atom is from its source turf as a list of x, y (in pixel steps) +it takes into account: +Pixel_x/y +Matrix x/y +Icon width/height

give_admin_popup +

+

Tries to give the target an admin popup. +If it fails, will send the error to the passed admin.

give_escape_menu_details +

+

Provides a singleton for the escape menu details screen.

give_escape_menu_title +

+

Provides a singleton for the escape menu details screen.

goonchem_vortex +

+

Magical move-wooney that happens sometimes.

+

Simulates a vortex that moves nearby movable atoms towards or away from the turf T. +Range also determines the strength of the effect. High values cause nearby objects to be thrown. +Arguments:

+
    +
  • T - turf where it happens
  • +
  • setting_type - does it suck or does it blow?
  • +
  • range - range.
  • +

greatest_common_factor +

+

Takes a list of numbers as input, returns the highest value that is cleanly divides them all +Note: this implementation is expensive as heck for large numbers, I only use it because most of my usecase +Is < 10 ints

haunt_outburst +

+

Takes a given area and chance, applying the haunted_item component to objects in the area.

+

Takes an epicenter, and within the range around it, runs a haunt_chance percent chance of +applying the haunted_item component to nearby objects.

+
    +
  • epicenter - The center of the outburst area.
  • +
  • range - The range of the outburst, centered around the epicenter.
  • +
  • haunt_chance - The percent chance that an object caught in the epicenter will be haunted.
  • +
  • duration - How long the haunting will remain for.
  • +

healthscan +

+

healthscan +returns a list of everything a health scan should give to a player. +Examples of where this is used is Health Analyzer and the Physical Scanner tablet app. +Args: +user - The person with the scanner +target - The person being scanned +mode - Uses SCANNER_CONDENSED or SCANNER_VERBOSE to decide whether to give a list of all individual limb damage +advanced - Whether it will give more advanced details, such as husk source. +tochat - Whether to immediately post the result into the chat of the user, otherwise it will return the results.

honkerblast +

+

Unleashes a honkerblast similar to the honkmech weapon, but with more granular control.

htmlrendertext +

+

Perform a whitespace cleanup on the text, similar to what HTML renderers do

+

This is useful if you want to better predict how text is going to look like when displaying it to a user. +HTML renderers collapse multiple whitespaces into one, trims prepending and appending spaces, among other things. This proc attempts to do the same thing. +HTML5 defines whitespace pretty much exactly like regex defines the \s group, [ \t\r\n\f].

+

Arguments:

+
    +
  • t - The text to "render"
  • +

icon2base64 +

+

Converts an icon to base64. Operates by putting the icon in the iconCache savefile, +exporting it as text, and then parsing the base64 from that. +(This relies on byond automatically storing icons in savefiles as base64)

icon2html +

+

the dmi file path we attempt to return if the given object argument is associated with a stringifiable icon +if successful, this looks like "icons/path/to/dmi_file.dmi" +but they pass both isicon() and isfile() checks. theyre the easiest case since stringifying them gives us the path we want +generate an asset for the given icon or the icon of the given appearance for [thing], and send it to any clients in target. +Arguments:

+
    +
  • thing - either a /icon object, or an object that has an appearance (atom, image, mutable_appearance).
  • +
  • target - either a reference to or a list of references to /client's or mobs with clients
  • +
  • icon_state - string to force a particular icon_state for the icon to be used
  • +
  • dir - dir number to force a particular direction for the icon to be used
  • +
  • frame - what frame of the icon_state's animation for the icon being used
  • +
  • moving - whether or not to use a moving state for the given icon
  • +
  • sourceonly - if TRUE, only generate the asset and send back the asset url, instead of tags that display the icon to players
  • +
  • extra_clases - string of extra css classes to use when returning the icon string
  • +

icon_exists +

+

Checks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE.

inLineOfSight +

+

Calculate if two atoms are in sight, returns TRUE or FALSE

init_alcohol_containers +

+

////////////////////////////////////////////Alchohol bottles! -Agouri ////////////////////////// +Initializes GLOB.alcohol_containers, only containers that actually have reagents are added to the list.

init_chemical_reagent_list +

+

Initialises all /datum/reagent into a list indexed by reagent id

init_crafting_recipes +

+

Inits crafting recipe lists

init_crafting_recipes_atoms +

+

Inits atoms used in crafting recipes

init_gas_id_to_canister +

+

Returns a map of canister id to its type path

init_hair_gradients +

+

Hair Gradients - Initialise all /datum/sprite_accessory/hair_gradient into an list indexed by gradient-style name

init_hotspot_reactions +

+

Returns reactions which will contribute to a hotspot's size.

init_keybindings +

+

Creates and sorts all the keybinding datums

init_language_holder_prototypes +

+

Inits the global list of language holder prototypes.

init_pirate_gangs +

+

initializes the pirate gangs glob list, adding all subtypes that can roll today.

init_species_list +

+

Inits GLOB.species_list. Not using GLOBAL_LIST_INIT b/c it depends on GLOB.string_lists

init_sprite_accessories +

+

Initial Building

init_subtypes_w_path_keys +

+

Functions like init_subtypes, but uses the subtype's path as a key for easy access

init_surgeries +

+

Inits GLOB.surgeries

initialize_starting_knowledge +

+

Returns a list of all heretic knowledge TYPEPATHS +that have route set to PATH_START.

int_to_words +

+

Takes a 1, 2 or 3 digit number and returns it in words. Don't call this directly, use convert_integer_to_words() instead.

+

Arguments:

+
    +
  • number - 1, 2 or 3 digit number to convert.
  • +
  • carried_string - Text to append after number is converted to words, e.g. "million", as in "eighty million".
  • +
  • capitalise - Whether the number it returns should be capitalised or not, e.g. "Eighty-Eight" vs. "eighty-eight".
  • +

invert_HTML_colour +

+

Inverts the colour of an HTML string

ion_num +

+

Picks a string of symbols to display as the law number for hacked or ion laws +is at the start to prevent us from changing say modes via get_message_mode()

isAdminGhostAI +

+

Is the passed in mob an admin ghost WITH AI INTERACT enabled

isAdminObserver +

+

Is the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to

is_admin +

+

Returns if the given client is an admin, REGARDLESS of if they're deadminned or not.

is_banned_from +

+

Checks client ban cache or, if it doesn't exist, queries the DB ban table to see if the player's +ckey is banned from at least one of the provided roles.

+

Returns TRUE if the player matches with one or more role bans. +Returns FALSE if the player doesn't match with any role bans. Possible errors states also return FALSE.

+

Args:

+
    +
  • player_key - Either key or ckey of the player you want to check for role bans.
  • +
  • roles - Accepts either a single role string, or a list of role strings.
  • +

is_color_dark +

+

Given a color in the format of "#RRGGBB", will return if the color +is dark.

is_convertable_to_cult +

+

Returns whether the given mob is convertable to the blood cult

is_ctf_target +

+

Proc that identifies if something is a valid target for CTF related checks, checks if an object is a ctf barrier or has ctf component if they are a player.

is_guest_key +

+

Returns whether or not a player is a guest using their ckey as an input

is_ic_filtered +

+

Given a text, will return what word is on the IC filter, with the reason. +Returns null if the message is OK.

is_ic_filtered_for_pdas +

+

Given a text, will return what word is on the IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.

is_infiltrator_docked_at_syndiebase +

+

Returns whether or not syndicate operatives escaped.

is_on_a_planet +

+

Checks if the passed non-area atom is on a "planet".

+

A planet is defined as anything with planetary atmos that has gravity, with some hardcoded exceptions.

+
    +
  • Nullspace counts as "not a planet", so you may want to check that separately.
  • +
  • The mining z-level (Lavaland) is always considered a planet.
  • +
  • The station z-level is considered a planet if the map config says so.
  • +
  • Central Command is always not a planet.
  • +
  • Syndicate recon outpost is always on a planet.
  • +
+

Returns TRUE if we are on a planet. +Returns FALSE if we are not in a planet, or otherwise, "in space".

is_ooc_filtered +

+

Given a text, will return what word is on the OOC filter, with the reason. +Returns null if the message is OK.

is_path_in_list +

+

Checks for specific paths in a list.

+

If using zebra mode the list should be an assoc list with truthy/falsey values. +The check short circuits so earlier entries in the input list will take priority. +Ergo, subpaths should come before parent paths. +Notice that this is the opposite priority of /proc/typecacheof.

+

Arguments:

+
    +
  • path_to_check: A typepath to check.
  • +
  • list_to_check: A list of typepaths to check the path_to_check against.
  • +
  • zebra: Whether to use the value of the mathing path in the list instead of just returning true when a match is found.
  • +

is_safe_turf +

+

Checks if a given turf is a "safe" location

is_soft_ic_filtered +

+

Given a text, will return what word is on the soft IC filter, with the reason. +Returns null if the message is OK.

is_soft_ic_filtered_for_pdas +

+

Given a text, will return what word is on the soft IC filter, ignoring words allowed on the PDA, with the reason. +Returns null if the message is OK.

is_soft_ooc_filtered +

+

Given a text, will return that word is on the soft OOC filter, with the reason. +Returns null if the message is OK.

is_source_facing_target +

+

Compare source's dir, the clockwise dir of source and the anticlockwise dir of source +To the opposite dir of the dir returned by get_dir(target,source) +If one of them is a match, then source is facing target

is_special_character +

+

Returns TRUE if the game has started and we're either an AI with a 0th law, or we're someone with a special role/antag datum +If allow_fake_antags is set to FALSE, Valentines, ERTs, and any such roles with FLAG_FAKE_ANTAG won't pass.

is_type_in_list +

+

Checks for specific types in a list.

+

If using zebra mode the list should be an assoc list with truthy/falsey values. +The check short circuits so earlier entries in the input list will take priority. +Ergo, subtypes should come before parent types. +Notice that this is the opposite priority of /proc/typecacheof.

+

Arguments:

+
    +
  • type_to_check: An instance to check.
  • +
  • list_to_check: A list of typepaths to check the type_to_check against.
  • +
  • zebra: Whether to use the value of the matching type in the list instead of just returning true when a match is found.
  • +

is_type_on_turf +

+

Checks whether or not a particular typepath or subtype of it is present on a turf

+

Returns TRUE if an instance of the desired type or a subtype of it is found +Returns FALSE if the type is not found, or if no turf is supplied

+

Arguments:

+
    +
  • location - The turf to be checked for the desired type
  • +
  • type_to_find - The typepath whose presence you are checking for
  • +

is_valid_dmi_file +

+

given a text string, returns whether it is a valid dmi icons folder path

is_valid_src +

+

Check if a datum has not been deleted and is a valid source

is_valid_z_level +

+
    +
  • is_valid_z_level
  • +
+

Checks if source_loc and checking_loc is both on the station, or on the same z level. +This is because the station's several levels aren't considered the same z, so multi-z stations need this special case.

+

Args: +source_loc - turf of the source we're comparing. +checking_loc - turf we are comparing to source_loc.

+

returns TRUE if connection is valid, FALSE otherwise.

is_within_radio_jammer_range +

+

Checks if a given atom is in range of a radio jammer, returns TRUE if it is.

ishumanbasic +

+

Returns if the given target is a human. Like, a REAL human. +Not a moth, not a felinid (which are human subtypes), but a human.

iso_to_weekday +

+

Returns an integer in ISO format 1 (Monday) - 7 (Sunday) as a string day

isolate_light +

+

Hides all the lights around a source temporarially, for the sake of figuring out how bad a light bleeds +(Except for turf lights, because they're a part of the "scene" and rarely modified)

isvineimmune +

+

Bonus spread for kudzu that has just started out (ie. with low vine count) +Base spread rate, depends solely on spread multiplier and vine count +Actual maximum spread rate for this process tick +Used to determine whether the mob is immune to actions by the vine. +Use cases: Stops vine from attacking itself, other plants.

item_heal_robotic +

+

Heals a robotic limb on a mob

join_admin_ranks +

+

Takes a list of rank names and joins them with +

json_deserialize_datum +

+

Convert a list of json to datum

json_serialize_datum +

+

Convert a datum into a json blob

kvpify_list +

+

Converts a list into a list of assoc lists of the form ("key" = key, "value" = value) +so that list keys that are themselves lists can be fully json-encoded

lavaland_equipment_pressure_check +

+

Check if the turf pressure allows specialized equipment to work

lawid_to_type +

+

returns the law datum with the lawid in question, law boards and law datums should share this id.

level_announce +

+

Sends an announcement about the level changing to players. Uses the passed in datum and the subsystem's previous security level to generate the message.

library_updated +

+

Increments every time WE update the library db table, causes all existing consoles to repull when they next check

lightningbolt +

+

this is the actual bolt effect and damage, made into its own proc because it is used elsewhere

list_clear_empty_weakrefs +

+

Removes any empty weakrefs from the list +Returns TRUE if the list had empty refs, FALSE otherwise

list_clear_nulls +

+

Removes any null entries from the list +Returns TRUE if the list had nulls, FALSE otherwise

living_player_count +

+

Returns the amount of currently living players

load_adventures +

+

Loads all adventures from DB

load_default_map_config +

+

Proc that simply loads the default map config, which should always be functional.

load_map +

+

Helper and recommened way to load a map file

+
    +
  • dmm_file: The path to the map file
  • +
  • x_offset: The x offset to load the map at
  • +
  • y_offset: The y offset to load the map at
  • +
  • z_offset: The z offset to load the map at
  • +
  • crop_map: If true, the map will be cropped to the world bounds
  • +
  • measure_only: If true, the map will not be loaded, but the bounds will be calculated
  • +
  • no_changeturf: If true, the map will not call /turf/AfterChange
  • +
  • x_lower: The minimum x coordinate to load
  • +
  • x_upper: The maximum x coordinate to load
  • +
  • y_lower: The minimum y coordinate to load
  • +
  • y_upper: The maximum y coordinate to load
  • +
  • z_lower: The minimum z coordinate to load
  • +
  • z_upper: The maximum z coordinate to load
  • +
  • place_on_top: Whether to use /turf/proc/PlaceOnTop rather than /turf/proc/ChangeTurf
  • +
  • new_z: If true, a new z level will be created for the map
  • +

load_map_config +

+

Proc handling the loading of map configs. Will return the default map config using /proc/load_default_map_config if the loading of said file fails for any reason whatsoever, so we always have a working map for the server to run. +Arguments:

+
    +
  • filename - Name of the config file for the map we want to load. The .json file extension is added during the proc, so do not specify filenames with the extension.
  • +
  • directory - Name of the directory containing our .json - Must be in MAP_DIRECTORY_WHITELIST. We default this to MAP_DIRECTORY_MAPS as it will likely be the most common usecase. If no filename is set, we ignore this.
  • +
  • error_if_missing - Bool that says whether failing to load the config for the map will be logged in log_world or not as it's passed to LoadConfig().
  • +
+

Returns the config for the map to load.

load_poll_data +

+

Loads all current and future server polls and their options to store both as datums.

log_access +

+

Logging for logging in & out of the game, with error messages.

log_admin +

+

General logging for admin actions

log_admin_circuit +

+

Logging for admin actions on or with circuits

log_admin_private +

+

General logging for admin actions

log_adminsay +

+

Logging for AdminSay (ASAY) messages

log_asset +

+

Logging for loading and caching assets

log_atmos +

+

Logs the contents of the gasmix to the game log, prefixed by text

log_attack +

+

Generic attack logging

log_bomber +

+

Logging for bombs detonating

log_changeling_power +

+

Logging for changeling powers purchased

log_chat +

+

Logging for chatting on modular computer channels

log_combat +

+

Log a combat message in the attack log

+

Arguments:

+
    +
  • atom/user - argument is the actor performing the action
  • +
  • atom/target - argument is the target of the action
  • +
  • what_done - is a verb describing the action (e.g. punched, throwed, kicked, etc.)
  • +
  • atom/object - is a tool with which the action was made (usually an item)
  • +
  • addition - is any additional text, which will be appended to the rest of the log line
  • +

log_comment +

+

Logging for newscaster comments

log_config +

+

Logging for config errors +Rarely gets called; just here in case the config breaks.

log_directed_talk +

+

Helper for logging of messages with only one sender and receiver (i.e. mind links)

log_dsay +

+

Logging for DeachatSay (DSAY) messages

log_dynamic +

+

Logging for dynamic procs

log_emote +

+

Logging for emotes

log_filter +

+

Logs to the filter log with the given message, match, and scope

log_game +

+

Logging for generic/unsorted game messages

log_heretic_knowledge +

+

Logging for heretic powers learned

log_internet_request +

+

Logging for music requests

log_job_debug +

+

Logging for job slot changes

log_lua +

+

Logging for lua scripting

log_malf_upgrades +

+

Logging for upgrades purchased by a malfunctioning (or combat upgraded) AI

log_manifest +

+

Logging for player manifest (ckey, name, job, special role, roundstart/latejoin)

log_mapping +

+

Logging for mapping errors

log_mecha +

+

Logging for mech actions

log_ooc +

+

Logging for messages sent in OOC

log_paper +

+

Logging for writing made on paper

log_pda +

+

Logging for PDA messages sent

log_perf +

+

Logging for game performance

log_played_names +

+

Adds the new names to the player's played_names list on their /datum/player_details for use of admins. +ckey should be their ckey, and data should be an associative list with the keys being the names they played under and the values being the unique mob ID tied to that name.

log_prayer +

+

Logging for prayed messages

log_qdel +

+

Logging for hard deletes

log_radio_emote +

+

Logging for emotes sent over the radio

log_research +

+

Puts the text into the research html file, not log. See [INVESTIGATE_RESEARCH] for [/atom/proc/investigate_log]

log_say +

+

Logging for generic spoken messages

log_shuttle +

+

Logging for shuttle actions

log_speech_indicators +

+

Logging for speech indicators.

log_spellbook +

+

Logging for wizard powers learned

log_sql +

+

Logging for DB errors

log_suspicious_login +

+

Writes to a special log file if the log_suspicious_login config flag is set, +which is intended to contain all logins that failed under suspicious circumstances.

+

Mirrors this log entry to log_access when access_log_mirror is TRUE, so this proc +doesn't need to be used alongside log_access and can replace it where appropriate.

log_telecomms +

+

Logging for speech taking place over comms, as well as tcomms equipment

log_tgui +

+

Appends a tgui-related log entry. All arguments are optional.

log_tool +

+

Logging for tool usage

log_topic +

+

Logging for world/Topic

log_traitor +

+

Logging for traitor objectives

log_transport +

+

Logging for transport (tram/elevator) actions

+

Logging for items purchased from a traitor uplink

log_virus +

+

Logging for the creation and contraction of viruses

log_vote +

+

Logging for OOC votes

log_whisper +

+

Logging for whispered messages

log_world +

+

Log to both DD and the logfile.

log_wound +

+

log_wound() is for when someone is attacked and suffers a wound. Note that this only captures wounds from damage, so smites/forced wounds aren't logged, as well as demotions like cuts scabbing over

+

Note that this has no info on the attack that dealt the wound: information about where damage came from isn't passed to the bodypart's damaged proc. When in doubt, check the attack log for attacks at that same time +TODO later: Add logging for healed wounds, though that will require some rewriting of healing code to prevent admin heals from spamming the logs. Not high priority

+

Arguments:

+
    +
  • victim- The guy who got wounded
  • +
  • suffered_wound- The wound, already applied, that we're logging. It has to already be attached so we can get the limb from it
  • +
  • dealt_damage- How much damage is associated with the attack that dealt with this wound.
  • +
  • dealt_wound_bonus- The wound_bonus, if one was specified, of the wounding attack
  • +
  • dealt_bare_wound_bonus- The bare_wound_bonus, if one was specified and applied, of the wounding attack. Not shown if armor was present
  • +
  • base_roll- Base wounding ability of an attack is a random number from 1 to (dealt_damage ** WOUND_DAMAGE_EXPONENT). This is the number that was rolled in there, before mods
  • +

make_associative +

+

Make a normal list an associative one

make_body +

+

Uses stripped down and bastardized code from respawn character

make_datum_reference_lists +

+

Legacy procs that really should be replaced with proper _INIT macros

make_into_clown +

+

Helper proc that handles making someone into a clown after a bananium nuke goes off.

make_tuple +

+

Returns the name of the mathematical tuple of same length as the number arg (rounded down).

md5asfile +

+

Save file as an external file then md5 it. +Used because md5ing files stored in the rsc sometimes gives incorrect md5 results.

md5filepath +

+

Returns the md5 of a file at a given path.

message_centcom +

+

Used by communications consoles to message CentCom

message_syndicate +

+

Used by communications consoles to message the Syndicate

message_to_html +

+

Message-related procs

+

Message format (/list):

+
    +
  • type - Message type, must be one of defines in code/__DEFINES/chat.dm
  • +
  • text - Plain message text
  • +
  • html - HTML message text
  • +
  • Optional metadata, can be any key/value pair.
  • +
+

Copyright (c) 2020 Aleksej Komarov +SPDX-License-Identifier: MIT

minor_announce +

+

Sends a minor annoucement to players. +Minor announcements are large text, with the title in red and message in white. +Only mobs that can hear can see the announcements.

+

message - the message contents of the announcement. +title - the title of the announcement, which is often "who sent it". +alert - whether this announcement is an alert, or just a notice. Only changes the sound that is played by default. +html_encode - if TRUE, we will html encode our title and message before sending it, to prevent player input abuse. +players - optional, a list mobs to send the announcement to. If unset, sends to all palyers. +sound_override - optional, use the passed sound file instead of the default notice sounds. +should_play_sound - Whether the notice sound should be played or not. +color_override - optional, use the passed color instead of the default notice color.

mobs_in_area_type +

+

Takes: list of area types +Returns: all mobs that are in an area type

mouse_angle_from_client +

+

Returns an angle in degrees relative to the position of the mouse and that of the client eye.

move_element +

+

Move a single element from position from_index within a list, to position to_index +All elements in the range [1,to_index) before the move will be before the pivot afterwards +All elements in the range [to_index, L.len+1) before the move will be after the pivot afterwards +In other words, it's as if the range [from_index,to_index) have been rotated using a <<< operation common to other languages. +from_index and to_index must be in the range [1,L.len+1] +This will preserve associations ~Carnie

move_range +

+

Move elements [from_index,from_index+len) to [to_index-len, to_index) +Same as moveElement but for ranges of elements +This will preserve associations ~Carnie

movespeed_data_null_check +

+

Checks if a move speed modifier is valid and not missing any data

mutable_appearance +

+
    +
  • +

    Helper similar to image()

    +
  • +
  • +

    icon - Our appearance's icon

    +
  • +
  • +

    icon_state - Our appearance's icon state

    +
  • +
  • +

    layer - Our appearance's layer

    +
  • +
  • +

    atom/offset_spokesman - An atom to use as reference for the z position of this appearance.

    +
  • +
  • +

    Only required if a plane is passed in. If this is not passed in we accept offset_const as a substitute

    +
  • +
  • +

    plane - The plane to use for the appearance. If this is not FLOAT_PLANE we require context for the offset to use

    +
  • +
  • +

    alpha - Our appearance's alpha

    +
  • +
  • +

    appearance_flags - Our appearance's appearance_flags

    +
  • +
  • +

    offset_const - A constant to offset our plane by, so it renders on the right "z layer"

    +
  • +

narsie_apocalypse +

+

Third crew last second win check and flufftext for [/proc/begin_the_end()]

narsie_end_begin_check +

+

First crew last second win check and flufftext for [/proc/begin_the_end()]

narsie_end_second_check +

+

Second crew last second win check and flufftext for [/proc/begin_the_end()]

narsie_last_second_win +

+

Called only if the crew managed to destroy narsie at the very last second for [/proc/begin_the_end()]

narsie_start_destroy_station +

+

security level and shuttle lockdowns for [/proc/begin_the_end()]

next_list_item +

+

Returns the next item in a list

notify_ghosts +

+

Fancy notifications for ghosts

+

The kitchen sink of notification procs

+

Arguments:

+
    +
  • message: The message displayed in chat.
  • +
  • source: The source of the notification. This is required for an icon
  • +
  • header: The title text to display on the icon tooltip.
  • +
  • alert_overlay: Optional. Create a custom overlay if you want, otherwise it will use the source
  • +
  • click_interact: If true, adds a link + clicking the icon will attack_ghost the source
  • +
  • custom_link: Optional. If you want to add a custom link to the chat notification
  • +
  • ghost_sound: sound to play
  • +
  • ignore_key: Ignore keys if they're in the GLOB.poll_ignore list
  • +
  • notify_volume: How loud the sound should be to spook the user
  • +

nuke_gib +

+

Helper proc that handles gibbing someone who has been nuked.

nuke_request +

+

Used by communications consoles to request the nuclear launch codes

objectify +

+

"Turns" people into objects. Really, we just add them to the contents of the item.

offer_control +

+

Offer control of the passed in mob to dead player

+

Automatic logging and uses poll_candidates_for_mob, how convenient

offset_to_screen_loc +

+

Takes a list in the form (x_offset, y_offset) +And converts it to a screen loc string +Accepts an optional view string/size to force the screen_loc around, so it can't go out of scope

overlays2text +

+

Converts an overlay list into text for debug printing +Of note: overlays aren't actually mutable appearances, they're just appearances +Don't have access to that type tho, so this is the best you're gonna get

parse_caught_click_modifiers +

+

Returns a turf based on text inputs, original turf and viewing client

parse_zone +

+

Return a string for the specified body zone. Should be used for parsing non-instantiated bodyparts, otherwise use /obj/item/bodypart/var/plaintext_zone

partially_block_emissives +

+

Takes a non area atom and a threshold +Makes it block emissive with any pixels with more alpha then that threshold, with the rest allowing the light to pass +Returns a list of objects, automatically added to your vis_contents, that apply this effect +QDEL them when appropriate

pass +

+

A do nothing proc

path_map_passalong +

+

We generate a path for the passed in callbacks, and then pipe it over

pathfinding_finished +

+

Uses funny pass by reference bullshit to take the output created by pathfinding, and insert it into a return list +We'll be able to use this return list to tell a sleeping proc to continue execution

pathwalk +

+

Takes a directory and returns every file within every sub directory. +If extensions_filter is provided then only files that end in that extension are given back. +If extensions_filter is a list, any file that matches at least one entry is given back.

peek +

+

Returns the top (last) element from the list, does not remove it from the list. Stack functionality.

pick_closest_path +

+

Returns a chosen path that is the closest to a list of matches

pick_n_take +

+

Pick a random element from the list and remove it from the list.

pick_weight +

+

Picks a random element from a list based on a weighting system. +For example, given the following list: +A = 6, B = 3, C = 1, D = 0 +A would have a 60% chance of being picked, +B would have a 30% chance of being picked, +C would have a 10% chance of being picked, +and D would have a 0% chance of being picked. +You should only pass integers in.

pick_weight_recursive +

+

Like pick_weight, but allowing for nested lists.

+

For example, given the following list: +list(A = 1, list(B = 1, C = 1)) +A would have a 50% chance of being picked, +and list(B, C) would have a 50% chance of being picked. +If list(B, C) was picked, B and C would then each have a 50% chance of being picked. +So the final probabilities would be 50% for A, 25% for B, and 25% for C.

+

Weights should be integers. Entries without weights are assigned weight 1 (so unweighted lists can be used as well)

pick_weighted_lawset +

+

returns a law datum based off of config. will never roll asimov as the weighted datum if the station has a unique AI.

piglatin_sentence +

+

runs piglatin_word() proc on each word in a sentence. preserves caps and punctuation

piglatin_word +

+

takes "word", and returns it piglatinized.

pirates_answered +

+

If there was nothing to pull from our requested list, stop here.

pixel_offset_turf +

+

Takes a turf, and a list of x and y pixel offsets and returns the turf that the offset position best lands in

play_cinematic +

+

Plays a cinematic, duh. Can be to a select few people, or everyone.

+

cinematic_type - datum typepath to what cinematic you wish to play. +watchers - a list of all mobs you are playing the cinematic to. If world, the cinematical will play globally to all players. +special_callback - optional callback to be invoked mid-cinematic.

play_fov_effect +

+

Plays a visual effect representing a sound cue for people with vision obstructed by FOV or blindness

playsound +

+

playsound is a proc used to play a 3D sound in a specific range. This uses SOUND_RANGE + extra_range to determine that.

+

source - Origin of sound. +soundin - Either a file, or a string that can be used to get an SFX. +vol - The volume of the sound, excluding falloff and pressure affection. +vary - bool that determines if the sound changes pitch every time it plays. +extrarange - modifier for sound range. This gets added on top of SOUND_RANGE. +falloff_exponent - Rate of falloff for the audio. Higher means quicker drop to low volume. Should generally be over 1 to indicate a quick dive to 0 rather than a slow dive. +frequency - playback speed of audio. +channel - The channel the sound is played at. +pressure_affected - Whether or not difference in pressure affects the sound (E.g. if you can hear in space). +ignore_walls - Whether or not the sound can pass through walls. +falloff_distance - Distance at which falloff begins. Sound is at peak volume (in regards to falloff) aslong as it is in this range.

podspawn +

+

One proc for easy spawning of pods in the code to drop off items before whizzling (please don't proc call this in game, it will destroy you)

+

Arguments:

+
    +
  • specifications: special mods to the pod, see non var edit specifications for details on what you should fill this with +Non var edit specifications:
  • +
  • target = where you want the pod to drop
  • +
  • path = a special specific pod path if you want, this can save you a lot of var edits
  • +
  • style = style of the pod, defaults to the normal pod
  • +
  • spawn = spawned path or a list of the paths spawned, what you're sending basically +Returns the pod spawned, in case you want to spawn items yourself and modify them before putting them in.
  • +

poll_candidates +

+

Calls the show_candidate_poll_window() to all eligible ghosts

poll_candidates_for_mob +

+

Returns a list of ghosts that are eligible to take over and wish to be considered for a mob.

+

Arguments:

+
    +
  • question - question to show players as part of poll
  • +
  • jobban_type - Type of jobban to use to filter out potential candidates.
  • +
  • be_special_flag - The required role that the player has to have enabled to see the prompt.
  • +
  • poll_time - Length of time in deciseconds that the poll input box exists before closing.
  • +
  • target_mob - The mob that is being polled for.
  • +
  • ignore_category - The notification preference that hides the prompt.
  • +

poll_candidates_for_mobs +

+

Returns a list of ghosts that are eligible to take over and wish to be considered for a mob.

+

Arguments:

+
    +
  • question - question to show players as part of poll
  • +
  • jobban_type - Type of jobban to use to filter out potential candidates.
  • +
  • be_special_flag - The required role that the player has to have enabled to see the prompt.
  • +
  • poll_time - Length of time in deciseconds that the poll input box exists before closing.
  • +
  • mobs - The list of mobs being polled for. This list is mutated and invalid mobs are removed from it before the proc returns.
  • +
  • ignore_category - The notification preference that hides the prompt.
  • +

poll_ghost_candidates +

+

Wrapper to send all ghosts the poll to ask them if they want to be considered for a mob.

poll_holiday +

+

Takes a holiday datum, a starting month, ending month, max amount of days to test in, and min/max year as input +Returns a list in the form list("yyyy/m/d", ...) representing all days the holiday runs on in the tested range

pop +

+

Returns the top(last) element from the list and removes it from the list (typical stack function)

populate_editable_sign_types +

+

This proc populates GLOBAL_LIST_EMPTY(editable_sign_types)

+

The first time a pen is used on any sign, this populates GLOBAL_LIST_EMPTY(editable_sign_types), creating a global list of all the signs that you can set a sign backing to with a pen.

power_fail +

+

Disable power in the station APCs

power_failure +

+

Causes a power failure across the station.

+

All SMESs and APCs will be fully drained, and all areas will power down.

+

The drain is permanent (that is, it won't automatically come back after some time like the grid check event), +but the crew themselves can return power via the engine, solars, or other means of creating power.

power_restore +

+

Restores power to all rooms on the station.

+

Magically fills ALL APCs and SMESs to capacity, and restores power to depowered areas.

power_restore_quick +

+

A quicker version of /proc/power_restore that only handles recharging SMESs.

+

This will also repower an entire station - it is not instantaneous like power restore, +but it is faster performance-wise as it only handles SMES units.

+

Great as a less magical / more IC way to return power to a sapped station.

prepare_explosion_turfs +

+

Returns a list of turfs in X range from the epicenter +Returns in a unique order, spiraling outwards +This is done to ensure our progressive cache of blast resistance is always valid +This is quite fast

prepare_infuser_entries +

+

Global proc that sets up each /datum/infuser_entry sub-type as singleton instances in a list, and returns it.

pretty_string_from_reagent_list +

+

Input a reagent_list, outputs pretty readable text! +Default output will be formatted as

+
    +
  • +

    water, 5 | silicon, 6 | soup, 4 | space lube, 8

    +
  • +
  • +

    names_only will remove the amount displays, showing

    +
  • +
  • +

    water | silicon | soup | space lube

    +
  • +
  • +

    join_text will alter the text between reagents

    +
  • +
  • +

    setting to ", " will result in

    +
  • +
  • +

    water, 5, silicon, 6, soup, 4, space lube, 8

    +
  • +
  • +

    final_and should be combined with the above. will format as

    +
  • +
  • +

    water, 5, silicon, 6, soup, 4, and space lube, 8

    +
  • +
  • +

    capitalize_names will result in

    +
  • +
  • +

    Water, 5 | Silicon, 6 | Soup, 4 | Space lube, 8

    +
  • +
  • +
      +
    • use (reagents.reagent_list, names_only, join_text = ", ", final_and, capitalize_names) for the formatting
    • +
    +
  • +
  • +
      +
    • Water, Silicon, Soup, and Space Lube
    • +
    +
  • +

previous_list_item +

+

Returns the previous item in a list

print_command_report +

+

If the announcer overrides alert messages, use that message.

print_holiday +

+

Does the same as /proc/poll_holiday, but prints the output to admins instead of returning it

print_language_list +

+

Helper proc to print a list of languages in a human readable format

priority_announce +

+

Make a big red text announcement to

+

Formatted like:

+

" Message from sender "

+

" Title "

+

" Text "

+

Arguments

+
    +
  • text - required, the text to announce
  • +
  • title - optional, the title of the announcement.
  • +
  • sound - optional, the sound played accompanying the announcement
  • +
  • type - optional, the type of the announcement, for some "preset" announcement templates. See __DEFINES/announcements.dm
  • +
  • sender_override - optional, modifies the sender of the announcement
  • +
  • has_important_message - is this message critical to the game (and should not be overridden by station traits), or not
  • +
  • players - a list of all players to send the message to. defaults to all players (not including new players)
  • +
  • encode_title - if TRUE, the title will be HTML encoded
  • +
  • encode_text - if TRUE, the text will be HTML encoded
  • +

process_teleport_locs +

+

Generate a list of turfs you can teleport to from the areas list

+

Includes areas if they're not a shuttle or not not teleport or have no contents

+

The chosen turf is the first item in the areas contents that is a station level

+

The returned list of turfs is sorted by name

propagate_network +

+

remove the old powernet and replace it with a new one throughout the network.

qdel +

+

Should be treated as a replacement for the 'del' keyword.

+

Datums passed to this will be given a chance to clean up references to allow the GC to collect them.

radiation_pulse +

+

Sends out a pulse of radiation, eminating from the source. +Radiation is performed by collecting all radiatables within the max range (0 means source only, 1 means adjacent, etc), +then makes their way towards them. A number, starting at 1, is multiplied +by the insulation amounts of whatever is in the way (for example, walls lowering it down). +If this number hits equal or below the threshold, then the target can no longer be irradiated. +If the number is above the threshold, then the chance is the chance that the target will be irradiated. +As a consumer, this means that max_range going up usually means you want to lower the threshold too, +as well as the other way around. +If max_range is high, but threshold is too high, then it usually won't reach the source at the max range in time. +If max_range is low, but threshold is too low, then it basically guarantees everyone nearby, even if there's walls +and such in the way, can be irradiated. +You can also pass in a minimum exposure time. If this is set, then this radiation pulse +will not irradiate the source unless they have been around any radioactive source for that +period of time. +The chance to get irradiated diminishes over range, and from objects that block radiation. +Assuming there is nothing in the way, the chance will determine what the chance is to get irradiated from half of max_range. +Example: If chance is equal to 30%, and max_range is equal to 8, +then the chance for a thing to get irradiated is 30% if they are 4 turfs away from the pulse source.

ran_zone +

+

Return the zone or randomly, another valid zone

+

probability controls the chance it chooses the passed in zone, or another random zone +defaults to 80

random_bounty +

+
    +
  • +

    Returns a new bounty of random type, but does not add it to GLOB.bounties_list.

    +
  • +
  • +

    *Guided determines what specific catagory of bounty should be chosen.

    +
  • +

random_capital_letter +

+

handles thousands

random_colour +

+

Returns a random color picked from a list, has 2 modes (0 and 1), mode 1 doesn't pick white, black or gray

random_fish_type +

+

Returns random fish, using random_case_rarity probabilities.

random_nukecode +

+

Returns a string for a random nuke code

random_step +

+

Forces the atom to take a step in a random direction

randomize_human +

+

Randomizes everything about a human, including DNA and name

ranks_from_rank_name +

+

Converts a rank name (such as "Coder+Moth") into a list of /datum/admin_rank

rcd_result_with_memory +

+

Produces a new RCD result from the given one if it can be calculated that +the RCD should speed up with the remembered form.

rcd_scan +

+

Global proc that generates RCD hologram in a range.

+

Arguments:

+
    +
  • source - The atom the scans originate from
  • +
  • scan_range - The range of turfs we grab from the source
  • +
  • fade_time - The time for RCD holograms to fade
  • +

read_sheet +

+

Debug proc, for when lighting sheets fuck up +Accepts the sheet (2 or 3 (multiz) dimensional list of lighting values at some offset) +alongside x and y delta values and the sheet's "offset", which is the amount required to ensure everything indexes at 1 +Optionally, you can pass similar values for multiz stuff

realize_appearance_queue +

+

Takes a list of appearnces, makes them mutable so they can be properly vv'd and inspected

reciprocal_add +

+

Takes two values x and y, and returns 1/((1/x) + y) +Useful for providing an additive modifier to a value that is used as a divisor, such as /obj/projectile/var/speed

recover_all_SS_and_recreate_master +

+

Recreate all SSs which will still cause data survive due to Recover(), the new Master will then find and take them from global.vars

recursive_list_resolve +

+

Returns a list with all weakrefs resolved

recursive_list_resolve_element +

+

Helper for recursive_list_resolve()

recursive_loc_check +

+

Recursively checks if an item is inside a given type, even through layers of storage. Returns the atom if it finds it.

refify_list +

+

Returns a copy of the list where any element that is a datum or the world is converted into a ref

reject_bad_chattext +

+

The procedure to check the text of the entered text on ntnrc_client.dm

+

This procedure is designed to check the text you type into the chat client. +It checks for invalid characters and the size of the entered text.

reject_bad_name +

+

Filters out undesirable characters from names.

+
    +
  • strict - return null immidiately instead of filtering out
  • +
  • allow_numbers - allows numbers and common special characters - used for silicon/other weird things names
  • +
  • cap_after_symbols - words like Bob's will be capitalized to Bob'S by default. False is good for titles.
  • +

reject_bad_text +

+

Returns the text if properly formatted, or null else.

+

Things considered improper:

+
    +
  • Larger than max_length.
  • +
  • Presence of non-ASCII characters if asci_only is set to TRUE.
  • +
  • Only whitespaces, tabs and/or line breaks in the text.
  • +
  • Presence of the <, >, \ and / characters.
  • +
  • Presence of ASCII special control characters (horizontal tab and new line not included).
  • +

relay_to_list_and_observers +

+

Sends a message to everyone within the list, as well as all observers.

remove_clunky_diagonals +

+

Processes a path (list of turfs), removes any diagonal moves that would lead to a weird bump

+

path - The path to process down +pass_info - Holds all the info about what this path attempt can go through +simulated_only - If we are not allowed to pass space turfs +avoid - A turf to be avoided

remove_diagonals +

+

Processes a path (list of turfs), removes any diagonal moves

+

path - The path to process down +pass_info - Holds all the info about what this path attempt can go through +simulated_only - If we are not allowed to pass space turfs +avoid - A turf to be avoided

remove_image_from_client +

+

Removes an image from a client's .images. Useful as a callback.

remove_image_from_clients +

+

Like remove_image_from_client, but will remove the image from a list of clients

remove_messenger +

+

Unregisters an NTMessenger instance from the pda_messengers table.

remove_verb +

+

handles removing verb and sending it to browser to update, use this for removing verbs

+

pass the verb type path to this instead of removing it from verbs so the statpanel can update +Arguments:

+
    +
  • target - Who the verb is being removed from, client or mob typepath
  • +
  • verb - typepath to a verb, or a list of verbs, supports lists of lists
  • +

reopen_roundstart_suicide_roles +

+

Without these, the amount won't come close to hitting 0% or 100% of the max threat.

request_station_colors +

+

Called by decals if they can be colored, to see if we got some cool colors for them. Only takes the first station trait

request_z_pillar +

+

Returns a z pillar to insert turfs into

require_area_resort +

+

A list of all machinery tied to an area along with the area itself. key=area name,value=list(area,list of machinery) +we use this to keep track of what areas are affected by the blueprints & what machinery of these areas needs to be reconfigured accordingly

reset_cooldown +

+

Proc used by stoppable timers to end a cooldown before the time has ran out.

+

Arguments:

+
    +
  • source - datum storing the cooldown
  • +
  • index - string index storing the cooldown on the cooldowns associative list
  • +
+

This sends a signal reporting the cooldown end, passing the time left as an argument.

reset_religious_sect +

+

Removes any existing religious sect from chaplains, allowing another to be selected

resolve_ai_icon_sync +

+

A form of resolve_ai_icon that is guaranteed to never sleep. +Not always accurate, but always synchronous.

retrieve_ban_cache +

+

Gets the ban cache of the passed in client +If the cache has not been generated, we start off a query +If we still have a query going for this request, we just sleep until it's received back

return_atmos_handbooks +

+

Final product is a numbered list, this one is assoc just so we can generate the "reactions" entry easily. +Returns an assoc list of the gas handbook and the reaction handbook. +For UIs, simply do data += return_atmos_handbooks() to use.

return_generator_args +

+

returns the arguments given to a generator and manually extracts them from the internal byond object +returns:

+
    +
  • flat list of strings for args given to the generator.
  • +
  • Note: this means things like "list(1,2,3)" will need to be processed
  • +

return_unused_frequency +

+

returns a random unused frequency between MIN_FREE_FREQ & MAX_FREE_FREQ if free = TRUE, and MIN_FREQ & MAX_FREQ if FALSE

reverse_range +

+

replaces reverseList ~Carnie

rustg_get_version +

+

Gets the version of rust_g

rustg_unix_timestamp +

+

Returns the timestamp as a string

safe_read_pref +

+

Safely read a given preference datum from a given client.

+

Reads the given preference datum from the given client, and guards against null client and null prefs. +The client object is fickle and can go null at times, so use this instead of read_preference() if you +want to ensure no runtimes.

+

returns client.prefs.read_preference(prefs_to_read) or FALSE if something went wrong.

+

Arguments:

+
    +
  • client/prefs_holder - the client to read the pref from
  • +
  • datum/preference/pref_to_read - the type of preference datum to read.
  • +

sanitize +

+

Runs byond's html encoding sanitization proc, after replacing new-lines and tabs for the # character.

sanitize_color +

+

Makes sure the input color is text with a # at the start followed by 6 hexadecimal characters. Examples: "#ff1234", "#A38321", COLOR_GREEN_GRAY

sanitize_css_class_name +

+

Removes all non-alphanumerics from the text, keep in mind this can lead to id conflicts

sanitize_filepath +

+

Sanitizes the name of each node in the path.

+

Im case you are wondering when to use this proc and when to use SANITIZE_FILENAME,

+

You use SANITIZE_FILENAME to sanitize the name of a file [e.g. example.txt]

+

You use sanitize_filepath sanitize the path of a file [e.g. root/node/example.txt]

+

If you use SANITIZE_FILENAME to sanitize a file path things will break.

sanitize_frequency +

+

Ensure the frequency is within bounds of what it should be sending/receiving at

sanitize_name +

+

returns nothing with an alert instead of the message if it contains something in the ic filter, and sanitizes normally if the name is fine. It returns nothing so it backs out of the input the same way as if you had entered nothing.

scramble_message_replace_chars +

+

Slightly expensive proc to scramble a message using equal probabilities of character replacement from a list. DOES NOT SUPPORT HTML!

screen_loc_to_offset +

+

Takes a screen loc string in the format +"+-left-offset:+-pixel,+-bottom-offset:+-pixel" +Where the :pixel is optional, and returns +A list in the format (x_offset, y_offset) +We require context to get info out of screen locs that contain relative info, so NORTH, SOUTH, etc

screen_loc_to_turf +

+

Almost identical to the params_to_turf(), but unused (remove?)

screen_text +

+

Return an object with a new maptext (not currently in use)

seedify +

+

Finds and extracts seeds from an object

+

Checks if the object is such that creates a seed when extracted. Used by seed +extractors or posably anything that would create seeds in some way. The seeds +are dropped either at the extractor, if it exists, or where the original object +was and it qdel's the object

+

Arguments:

+
    +
  • O - Object containing the seed, can be the loc of the dumping of seeds
  • +
  • t_max - Amount of seed copies to dump, -1 is ranomized
  • +
  • extractor - Seed Extractor, used as the dumping loc for the seeds and seed multiplier
  • +
  • user - checks if we can remove the object from the inventory
  • +

select_hallucination_type +

+

Helper to give the passed mob the ability to select a hallucination from the list of all hallucination subtypes.

semver_to_list +

+

Converts a semver string into a list of numbers

send2adminchat +

+

Asynchronously sends a message to TGS admin chat channels.

+

category - The category of the mssage. +message - The message to send.

send2chat +

+

Asynchronously sends a message to TGS chat channels.

+

message - The /datum/tgs_message_content to send. +channel_tag - Required. If "", the message with be sent to all connected (Game-type for TGS3) channels. Otherwise, it will be sent to TGS4 channels with that tag (Delimited by ','s). +admin_only - Determines if this communication can only be sent to admin only channels.

send2otherserver +

+

Sends a message to a set of cross-communications-enabled servers using world topic calls

+

Arguments:

+
    +
  • source - Who sent this message
  • +
  • msg - The message body
  • +
  • type - The type of message, becomes the topic command under the hood
  • +
  • target_servers - A collection of servers to send the message to, defined in config
  • +
  • additional_data - An (optional) associated list of extra parameters and data to send with this world topic call
  • +

send_fax_to_area +

+

Sends a fax to a fax machine in an area! fax_area is a type, where all subtypes are also queried. If multiple machines, one is randomly picked +If force is TRUE, we send a droppod with a fax machine and fax the message to that fax machine

send_supply_pod_to_area +

+

Easily send a supplypod to an area

send_tip_of_the_round +

+

Sends a round tip to a target. If selected_tip is null, a random tip will be sent instead (5% chance of it being silly). +Tips that starts with the @ character won't be html encoded. That's necessary for any tip containing markup tags, +just make sure they don't also have html characters like <, > and ' which will be garbled.

send_to_observers +

+

Sends a message to all dead and observing players, if a source is provided a follow link will be attached.

send_to_playing_players +

+

sends a whatever to all playing players; use instead of to_chat(world, where needed)

serialize_antag_name +

+

Serializes an antag name to be used for preferences UI

set_dynamic_human_appearance +

+

This proc gets an argument of a target and runs

set_new_religious_sect +

+

Sets a new religious sect used by all chaplains int he round

setupExports +

+

Called when the global exports_list is empty, and sets it up.

setup_mod_themes +

+

Global proc that sets up all MOD themes as singletons in a list and returns it.

setup_round_default_laws +

+

first called when something wants round default laws for the first time in a round, considers config +returns a law datum that GLOB._round_default_lawset will be set to.

shake_camera +

+

Shake the camera of the person viewing the mob SO REAL! +Takes the mob to shake, the time span to shake for, and the amount of tiles we're allowed to shake by in tiles +Duration isn't taken as a strict limit, since we don't trust our coders to not make things feel shitty. So it's more like a soft cap.

sheet2amount +

+

Turns number of sheets into material amount, returning FALSE if the number is <= 0

+

Arguments:

+
    +
  • amt: amount to convert
  • +

show_candidate_poll_window +

+

Show the poll window to the candidate mobs

shuffle +

+

Randomize: Return the list in a random order

shuffle_inplace +

+

same as shuffle, but returns nothing and acts on list in place

siunit +

+

Formats a number to human readable form with the appropriate SI unit.

+

Supports SI exponents between 1e-15 to 1e15, but properly handles numbers outside that range as well. +Examples:

+
    +
  • +

    siunit(1234, "Pa", 1) -> "1.2 kPa"

    +
  • +
  • +

    siunit(0.5345, "A", 0) -> "535 mA"

    +
  • +
  • +

    siunit(1000, "Pa", 4) -> "1 kPa" +Arguments:

    +
  • +
  • +

    value - The number to convert to text. Can be positive or negative.

    +
  • +
  • +

    unit - The base unit of the number, such as "Pa" or "W".

    +
  • +
  • +

    maxdecimals - Maximum amount of decimals to display for the final number. Defaults to 1.

    +
  • +
  • +

    For pressure conversion, use proc/siunit_pressure() below

    +
  • +

siunit_isolated +

+

Formats a number into a list representing the si unit. +Access the coefficient with [SI_COEFFICIENT], and access the unit with [SI_UNIT].

+

Supports SI exponents between 1e-15 to 1e15, but properly handles numbers outside that range as well. +Arguments:

+
    +
  • value - The number to convert to text. Can be positive or negative.
  • +
  • unit - The base unit of the number, such as "Pa" or "W".
  • +
  • maxdecimals - Maximum amount of decimals to display for the final number. Defaults to 1. +Returns: [SI_COEFFICIENT = si unit coefficient, SI_UNIT = prefixed si unit.]
  • +

siunit_pressure +

+
    +
  • The game code never uses Pa, but kPa, since 1 Pa is too small to reasonably handle
  • +
  • Thus, to ensure correct conversion from any kPa in game code, this value needs to be multiplied by 10e3 to get Pa, which the siunit() proc expects
  • +
  • Args:
  • +
  • +
      +
    • value_in_kpa - Value that should be converted to readable text in kPa
    • +
    +
  • +
  • +
      +
    • maxdecimals - maximum number of decimals that are displayed, defaults to 1 in proc/siunit()
    • +
    +
  • +

slice_off_turfs +

+

Returns a slice of a list of turfs, defined by the ones that are inside the inner/outer angle's bounds

sm_gas_data +

+

Return a list info of the SM gases. +Can only run after init_sm_gas

sort_key +

+

for sorting clients or mobs by ckey

sort_list +

+

sort any value in a list

sort_mobs +

+

Orders mobs by type then by name. Accepts optional arg to sort a custom list, otherwise copies GLOB.mob_list.

sort_names +

+

uses sort_list() but uses the var's name specifically. This should probably be using mergeAtom() instead

sort_record +

+

Specifically for record datums in a list.

spawn_contractor_partner +

+

Spawns a contractor partner to a spawning user, with a given key to assign to the new player.

special_list_filter +

+

Returns a list with items filtered from a list that can call callback

spiral_range +

+

similar function to range(), but with no limitations on the distance; will search spiralling outwards from the center

spiral_range_turfs +

+

similar function to RANGE_TURFS(), but will search spiralling outwards from the center (like the above, but only turfs)

split_color +

+

Given a color in the format of "#RRGGBB" or "#RRGGBBAA", gives back a 4 entry list with the number values of each

spread_reagents +

+

Exposes all accessible atoms within some distance of an epicenter to some reagents. +Does not clear the source reagent holder; that must be done manually if it is desired.

+

Arguments:

+
    +
  • source: The reagents to spread around.
  • +
  • epicenter: The epicenter/source location of the reagent spread.
  • +
  • spread_range: The range in which to spread the reagents. Will not go over 20
  • +

stars +

+

Convert random parts of a passed in message to stars

+
    +
  • phrase - the string to convert
  • +
  • probability - probability any character gets changed
  • +
+

This proc is dangerously laggy, avoid it or die

start_log +

+

ship both attack logs and victim logs to the end of round attack.log just to ensure we don't lose information

start_unequip_mob +

+

A utility function for /datum/strippable_items to start unequipping an item from a mob.

started_narsie_summon +

+

When narsie begins to be summoned, slowly dim the saturation of parallax and starlight

stoplag +

+

returns the number of ticks slept

string_list +

+

Caches lists with non-numeric stringify-able values (text or typepath).

strip_html +

+

Runs STRIP_HTML_SIMPLE and sanitize.

strip_html_full +

+

Runs STRIP_HTML_FULL and sanitize.

stripped_input +

+

Used to get a properly sanitized input. Returns null if cancel is pressed.

+

Arguments

+
    +
  • user - Target of the input prompt.
  • +
  • message - The text inside of the prompt.
  • +
  • title - The window title of the prompt.
  • +
  • max_length - If you intend to impose a length limit - default is 1024.
  • +
  • no_trim - Prevents the input from being trimmed if you intend to parse newlines or whitespace.
  • +

stripped_multiline_input +

+

Used to get a properly sanitized input in a larger box. Works very similarly to stripped_input.

+

Arguments

+
    +
  • user - Target of the input prompt.
  • +
  • message - The text inside of the prompt.
  • +
  • title - The window title of the prompt.
  • +
  • max_length - If you intend to impose a length limit - default is 1024.
  • +
  • no_trim - Prevents the input from being trimmed if you intend to parse newlines or whitespace.
  • +

summon_events +

+

Triggers Summon Events from [user]. +If Summon Events has already been triggered, speeds up the event timer.

summon_ghosts +

+

Triggers Summon Ghosts from [user].

summon_guns +

+

Triggers Summon Guns from [user]. +Can optionally be passed [survivor_probability], to set the chance of creating survivalists. +If Summon Guns has already been triggered, gives out guns to everyone again.

summon_magic +

+

Triggers Summon Magic from [user]. +Can optionally be passed [survivor_probability], to set the chance of creating survivalists. +If Summon Magic has already been triggered, gives out magic to everyone again.

swap_range +

+

Move elements from [from_index, from_index+len) to [to_index, to_index+len) +Move any elements being overwritten by the move to the now-empty elements, preserving order +Note: if the two ranges overlap, only the destination order will be preserved fully, since some elements will be within both ranges ~Carnie

techweb_item_unlock_check +

+

Returns an associative list of techweb node datums with values of the nodes it unlocks.

test_whiteship_sizes +

+

Helper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes +This should be a unit test, but too much of our other code breaks during shuttle movement, so not yet, not yet.

tgalert +

+

DEPRECATED: USE tgui_alert(...) INSTEAD

+

Designed as a drop in replacement for alert(); functions the same. (outside of needing User specified) +Arguments:

+
    +
  • User - The user to show the alert to.
  • +
  • Message - The textual body of the alert.
  • +
  • Title - The title of the alert's window.
  • +
  • Button1 - The first button option.
  • +
  • Button2 - The second button option.
  • +
  • Button3 - The third button option.
  • +
  • StealFocus - Boolean operator controlling if the alert will steal the user's window focus.
  • +
  • Timeout - The timeout of the window, after which no responses will be valid.
  • +

tgui_Topic +

+

Middleware for /client/Topic.

+

return bool If TRUE, prevents propagation of the topic call.

tgui_alert +

+

Creates a TGUI alert window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+
    +
  • user - The user to show the alert to.
  • +
  • message - The content of the alert, shown in the body of the TGUI window.
  • +
  • title - The of the alert modal, shown on the top of the TGUI window.
  • +
  • buttons - The options that can be chosen by the user, each string is assigned a button on the UI.
  • +
  • timeout - The timeout of the alert, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +
  • autofocus - The bool that controls if this alert should grab window focus.
  • +

tgui_input_checkboxes +

+ tgui_input_checkbox +

Opens a window with a list of checkboxes and returns a list of selected choices.

+

user - The mob to display the window to +message - The message inside the window +title - The title of the window +list/items - The list of items to display +min_checked - The minimum number of checkboxes that must be checked (defaults to 1) +max_checked - The maximum number of checkboxes that can be checked (optional) +timeout - The timeout for the input (optional)

tgui_input_list +

+

Creates a TGUI input list window and returns the user's response.

+

This proc should be used to create alerts that the caller will wait for a response from. +Arguments:

+
    +
  • user - The user to show the input box to.
  • +
  • message - The content of the input box, shown in the body of the TGUI window.
  • +
  • title - The title of the input box, shown on the top of the TGUI window.
  • +
  • items - The options that can be chosen by the user, each string is assigned a button on the UI.
  • +
  • default - If an option is already preselected on the UI. Current values, etc.
  • +
  • timeout - The timeout of the input box, after which the menu will close and qdel itself. Set to zero for no timeout.
  • +

tgui_input_number +

+

Creates a TGUI window with a number input. Returns the user's response as num | null.

+

This proc should be used to create windows for number entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If a max or min value is specified, will +validate the input inside the UI and ui_act.

+

Arguments:

+
    +
  • user - The user to show the number input to.
  • +
  • message - The content of the number input, shown in the body of the TGUI window.
  • +
  • title - The title of the number input modal, shown on the top of the TGUI window.
  • +
  • default - The default (or current) value, shown as a placeholder. Users can press refresh with this.
  • +
  • max_value - Specifies a maximum value. If none is set, any number can be entered. Pressing "max" defaults to 1000.
  • +
  • min_value - Specifies a minimum value. Often 0.
  • +
  • timeout - The timeout of the number input, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +
  • round_value - whether the inputted number is rounded down into an integer.
  • +

tgui_input_text +

+

Creates a TGUI window with a text input. Returns the user's response.

+

This proc should be used to create windows for text entry that the caller will wait for a response from. +If tgui fancy chat is turned off: Will return a normal input. If max_length is specified, will return +stripped_multiline_input.

+

Arguments:

+
    +
  • user - The user to show the text input to.
  • +
  • message - The content of the text input, shown in the body of the TGUI window.
  • +
  • title - The title of the text input modal, shown on the top of the TGUI window.
  • +
  • default - The default (or current) value, shown as a placeholder.
  • +
  • max_length - Specifies a max length for input. MAX_MESSAGE_LEN is default (1024)
  • +
  • multiline - Bool that determines if the input box is much larger. Good for large messages, laws, etc.
  • +
  • encode - Toggling this determines if input is filtered via html_encode. Setting this to FALSE gives raw input.
  • +
  • timeout - The timeout of the textbox, after which the modal will close and qdel itself. Set to zero for no timeout.
  • +

time_to_twelve_hour +

+

Converts a time expressed in deciseconds (like world.time) to the 12-hour time format. +the format arg is the format passed down to time2text() (e.g. "hh:mm" is hours and minutes but not seconds). +the timezone is the time value offset from the local time. It's to be applied outside time2text() to get the AM/PM right.

timeleft +

+

Get the remaining deciseconds on a timer

+

Arguments:

+
    +
  • id a timerid or a /datum/timedevent
  • +

to_chat +

+

Sends the message to the recipient (target).

+

Recommended way to write to_chat calls:

+
to_chat(client,
+    type = MESSAGE_TYPE_INFO,
+    html = "You have found <strong>[object]</strong>")
+

to_chat_immediate +

+

Circumvents the message queue and sends the message +to the recipient (target) as soon as possible.

toggle_id_ctf +

+

Proc that handles toggling and unloading CTF.

tool_behaviour_name +

+

returns an ic name of the tool needed +Arguments:

+
    +
  • tool_behaviour: the tool described!
  • +

truncate +

+

Truncate a string to the given length

+

Will only truncate if the string is larger than the length and ignores unicode concerns

+

This exists soley because trim does other stuff too.

+

Arguments:

+
    +
  • text - String
  • +
  • max_length - integer length to truncate at
  • +

try_move_adjacent +

+

Tries to move an atom to an adjacent turf, return TRUE if successful

typecache_filter_list +

+

returns a new list with only atoms that are in the typecache list

typecache_filter_list_reverse +

+

return a new list with atoms that are not in the typecache list

typecache_filter_multi_list_exclusion +

+

similar to typecache_filter_list and typecache_filter_list_reverse but it supports an inclusion list and and exclusion list

typecacheof +

+

Like typesof() or subtypesof(), but returns a typecache instead of a list.

+

Arguments:

+
    +
  • path: A typepath or list of typepaths.
  • +
  • only_root_path: Whether the typecache should be specifically of the passed types.
  • +
  • ignore_root_path: Whether to ignore the root path when caching subtypes.
  • +

ui_status_only_living +

+

Returns a UI status such that the dead will be able to watch, but not interact.

ui_status_silicon_has_access +

+

Returns a UI status such that silicons will be able to interact with whatever +they would have access to if this was a machine. For example, AIs can +interact if there's cameras with wireless control is enabled.

ui_status_user_has_free_hands +

+

Returns a UI status such that those without blocked hands will be able to interact, +but everyone else can only watch.

ui_status_user_is_abled +

+

Returns a UI status such that users with debilitating conditions, such as +being dead or not having power for silicons, will not be able to interact. +Being dead will disable UI, being incapacitated will continue updating it, +and anything else will make it interactive.

ui_status_user_is_adjacent +

+

Returns a UI status such that users adjacent to source will be able to interact, +far away users will be able to see, and anyone farther won't see anything. +Dead users will receive updates no matter what, though you likely want to add +a [ui_status_only_living] check for finer observer interactions.

ui_status_user_is_advanced_tool_user +

+

Returns a UI status such that advanced tool users will be able to interact, +but everyone else can only watch.

ui_status_user_is_conscious_and_lying_down +

+

Returns UI_INTERACTIVE if the user is conscious and lying down. +Returns UI_UPDATE otherwise.

ui_status_user_strictly_adjacent +

+

Return UI_INTERACTIVE if the user is strictly adjacent to the target atom, whether they can see it or not. +Return UI_CLOSE otherwise.

unformat_frequency +

+

Opposite of format, returns as a number

unique_list +

+

Return a list with no duplicate entries

unique_list_in_place +

+

same as unique_list, but returns nothing and acts on list in place (also handles associated values properly)

update_all_security_huds +

+

Updates the visual security huds on all mobs in GLOB.human_list

update_matching_security_huds +

+

Updates the visual security huds on all mobs in GLOB.human_list that match the name passed to it.

updatetimedelay +

+

Update the delay on an existing LOOPING timer +Will come into effect on the next process

+

Arguments:

+
    +
  • id a timerid or a /datum/timedevent
  • +
  • new_wait the new wait to give this looping timer
  • +

urange +

+

ultra range (no limitations on distance, faster than range for distances > 8); including areas drastically decreases performance

url2htmlloader +

+

Return html to load a url. +for use inside of browse() calls to html assets that might be loaded on a cdn.

valid_build_direction +

+

Checks whether the target turf is in a valid state to accept a directional construction +such as windows or railings.

+

Returns FALSE if the target turf cannot accept a directional construction. +Returns TRUE otherwise.

+

Arguments:

+
    +
  • dest_turf - The destination turf to check for existing directional constructions
  • +
  • test_dir - The prospective dir of some atom you'd like to put on this turf.
  • +
  • is_fulltile - Whether the thing you're attempting to move to this turf takes up the entire tile or whether it supports multiple movable atoms on its tile.
  • +

view_to_pixels +

+

Takes a string or num view, and converts it to pixel width/height in a list(pixel_width, pixel_height)

visible_hallucination_pulse +

+

Emits a hallucinating pulse around the passed atom. +Affects everyone in the passed radius who can view the center, +except for those with TRAIT_MADNESS_IMMUNE, or those who are blind.

+

center - required, the center of the pulse +radius - the radius around that the pulse reaches +hallucination_duration - how much hallucination is added by the pulse. reduced based on distance to the center. +hallucination_max_duration - a cap on how much hallucination can be added +optional_messages - optional list of messages passed. Those affected by pulses will be given one of the messages in said list.

weakrefify_list +

+

Returns a copy of the list where any element that is a datum is converted into a weakref

web_sound +

+

Takes an input from either proc/play_web_sound or the request manager and runs it through youtube-dl and prompts the user before playing it to the server.

weekday_to_iso +

+

Returns a string day as an integer in ISO format 1 (Monday) - 7 (Sunday)

weight_class_to_text +

+

Returns a string based on the weight class define used as argument

window_flash +

+

Flash the window of a player

woundscan +

+

Displays wounds with extended information on their status vs medscanners

zebra_typecacheof +

+

Like typesof() or subtypesof(), but returns a typecache instead of a list. +This time it also uses the associated values given by the input list for the values of the subtypes.

+

Latter values from the input list override earlier values. +Thus subtypes should come after parent types in the input list. +Notice that this is the opposite priority of /proc/is_type_in_list and /proc/is_path_in_list.

+

Arguments:

+
    +
  • path: A typepath or list of typepaths with associated values.
  • +
  • single_value: The assoc value used if only a single path is passed as the first variable.
  • +
  • only_root_path: Whether the typecache should be specifically of the passed types.
  • +
  • ignore_root_path: Whether to ignore the root path when caching subtypes.
  • +
  • clear_nulls: Whether to remove keys with null assoc values from the typecache after generating it.
  • +
+ + + diff --git a/image.html b/image.html new file mode 100644 index 00000000000..b67c62fe893 --- /dev/null +++ b/image.html @@ -0,0 +1,54 @@ + + + + + + + /image - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

image + + + +

+ + + + +

Vars

realized_overlaysList of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list
realized_underlaysList of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list

Procs

realize_overlaysTakes the image's existing overlays, and makes them mutable so they can be properly vv'd in the realized_overlays list
+

Var Details

realized_overlays + + + + +

+

List of overlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the overlays list

realized_underlays + + + + +

+

List of underlay "keys" (info about the appearance) -> mutable versions of static appearances +Drawn from the underlays list

Proc Details

realize_overlays +

+

Takes the image's existing overlays, and makes them mutable so they can be properly vv'd in the realized_overlays list

+ + + diff --git a/index.html b/index.html new file mode 100644 index 00000000000..9443017b132 --- /dev/null +++ b/index.html @@ -0,0 +1,11927 @@ + + + + + + + Index - /tg/ Station 13 + + + + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

/tg/ Station 13

+ + + +

Modules +

+ + + + +

Types +

+
    +
  • (global)
  • +
  • area - A grouping of tiles into a logical space, mostly used by map editors
      +
    • golem - A blank area subtype solely used by the golem area editor for the purpose of +allowing golems to create new areas without suffering from the hazard_area debuffs.
    • +
    • icemoon - Ice Moon Areas
    • +
    • lavaland - Lavaland Areas
        +
      • surface/outdoors
          +
        • unexplored/danger/no_ruins - Same thing as parent, but uses a different map generator for the icemoon ruin that needs it.
        • +
        • virtual_domain - Custom subtypes
        • +
      • +
    • +
    • mine - Mine areas
    • +
    • misc
        +
      • cordon - Area used in conjuction with the cordon turf to create a fully functioning world border.
      • +
      • survivalpod - Survival Pod
      • +
    • +
    • ruin/space/has_grav
        +
      • atmosasteroid - The Atmos Asteroid Ruin, has a subtype for rapid identification since this has some unique atmospherics properties and we can easily detect it if something goes wonky.
      • +
      • syndicate_forgotten_ship - forgottenship areas
      • +
    • +
    • shuttle
        +
      • abandoned - White Ship
      • +
      • hunter - Bounty Hunter Shuttles
      • +
      • pirate - Pirate Shuttle
      • +
      • ruin/caravan - Special shuttles made for the Caravan Ambush ruin.
      • +
      • syndicate - Multi-area shuttles +Syndicate infiltrator
      • +
      • transit - Single-area shuttles
      • +
    • +
    • space
    • +
    • station
    • +
    • template_noop - Template noop (no operation) is used to skip a turf or area when the template is loaded this allows for template transparency +ex. if a ship has gaps in it's design, you would use template_noop to fill these in so that when the ship moves z-level, any +tiles these gaps land on will not be deleted and replaced with the ships (empty) tiles
    • +
    • virtual_domain - VDOM
        +
      • safehouse - Safehouse
      • +
    • +
  • +
  • atom - The base type for nearly all physical objects in SS13
      +
    • movable
        +
      • flick_visual - Helper atom that copies an appearance and exists for a period
      • +
      • immerse_overlay - The not-quite-perfect movable used by the immerse element for its nefarious deeds.
      • +
      • plane_master_controller - Atom that manages and controls multiple planes. It's an atom so we can hook into add_filter etc. Multiple controllers can control one plane. +Of note: plane master controllers are currently not very extensively used, because render plates fill a semi similar niche +This could well change someday, and I'd like to keep this stuff around, so we use it for a few cases just out of convenience
          +
        • colorblind - Exists for convienience when referencing all game render plates
        • +
        • game - Exists for convienience when referencing all game render plates
        • +
        • non_master - Exists for convienience when referencing all non-master render plates. +This is the whole game and the UI, but not the escape menu.
        • +
      • +
      • render_plane_relay - Render relay object assigned to a plane master to be able to relay it's render onto other planes that are not it's own
      • +
      • render_step - Internal atom that uses render relays to apply "appearance things" to a render source +Branch, subtypes have behavior
          +
        • color - Render step that modfies an atom's color +Useful for creating coherent emissive blockers out of things like glass floors by lowering alpha statically using matrixes +Other stuff too I'm sure
        • +
        • emissive - Render step that makes the passed in render source GLOW
        • +
        • emissive_blocker - Render step that makes the passed in render source block emissives
        • +
      • +
      • screen
          +
        • action_landing - Exists so you have a place to put your buttons when you move them around
        • +
        • admin_popup - The UI element for admin popups
        • +
        • alert
            +
          • give
          • +
          • modlink_call
          • +
          • notify_action
          • +
          • status_effect - Alert base type for status effect alerts
              +
            • drunk - Status effect for being fully drunk (not tipsy).
            • +
            • golem_status
            • +
            • high - The status effect for "drugginess"
            • +
            • terrified - The status effect popup for the terror status effect
            • +
            • unholy_determination - Screen alert for the below status effect.
            • +
            • wound - WOUNDS
            • +
          • +
          • succumb - Gives the player the option to succumb while in critical condition
          • +
        • +
        • background - A generic background object. +It is also implicitly used to allocate a rectangle on the map, which will +be used for auto-scaling the map.
        • +
        • button_palette
        • +
        • cinematic - The cinematic screen showed to everyone
        • +
        • combattoggle/flashy
        • +
        • escape_menu/home_button_text
        • +
        • fishing_hud - The screen object which bait, fish, and completion bar are visually attached to.
        • +
        • fullscreen/cursor_catcher - An effect which tracks the cursor's location on the screen
            +
          • lock_on - Tracks cursor movement and passes clicks through to the turf under the cursor
          • +
          • scope
          • +
        • +
        • inventory
        • +
        • lobby
            +
          • button
              +
            • bottom/poll
            • +
            • character_setup - Prefs menu
            • +
            • collapse
            • +
            • join - Shown when the game has started
            • +
            • ready - Button that appears before the game has started
            • +
            • sign_up - A generic "sign up" button used by station traits
            • +
          • +
          • shutter
          • +
        • +
        • mafia_popup - The popup used for sending important messages to players.
        • +
        • map_view
        • +
        • movable
        • +
        • palette_scroll
        • +
        • parallax_layer/random - Parallax layers that vary between rounds. Has some code to make sure we all have the same one
            +
          • asteroids - Big asteroid rocks appear in the background
          • +
          • space_gas - Gassy background with a few random colors
              +
            • radioactive - Space gas but green for the radioactive nebula station trait
            • +
          • +
        • +
        • plane_master
            +
          • default - Plane master that byond will by default draw to +Shouldn't be used, exists to prevent people using plane 0 +NOTE: If we used SEE_BLACKNESS on a map format that wasn't SIDE_MAP, this is where its darkness would land +This would allow us to control it and do fun things. But we can't because side map doesn't support it, so this is just a stub
          • +
          • emissive - Handles emissive overlays and emissive blockers.
          • +
          • floor - Contains just the floor
          • +
          • o_light_visual - This will not work through multiz, because of a byond bug with BLEND_MULTIPLY +Bug report is up, waiting on a fix
          • +
          • parallax - Contains space parallax
          • +
          • rendering_plate
              +
            • game_plate - renders general in charachter game objects
            • +
            • game_world - Contains most things in the game world
            • +
            • lighting - Contains all lighting objects
            • +
            • masked_game_plate - renders the parts of the plate masked by fov
            • +
            • master - this plate renders the final screen to show to the player
            • +
            • non_game - render plate for OOC stuff like ghosts, hud-screen effects, etc
            • +
            • unmasked_game_plate - renders the parts of the plate unmasked by fov
            • +
          • +
          • turf_lighting - Contains all turf lighting
          • +
        • +
      • +
      • visual/cryo_occupant - This is a visual helper that shows the occupant inside the cryo cell.
      • +
    • +
  • +
  • client - Client datum
  • +
  • datum - The absolute base class for everything
      +
    • abductor_gear
    • +
    • achievement_data - Datum that handles
    • +
    • achievement_report - A datum containing the info necessary for an achievement readout, reported and added to the global list in /datum/award/achievement/on_unlock(mob/user)
    • +
    • Action system - A simple base for an modular behavior attached to atom or datum.
        +
      • avatar_domain_info - Displays information about the current virtual domain.
      • +
      • chameleon_outfit
      • +
      • changeling
      • +
      • consume - This action lets you consume the mob you're currently pulling. I'M GONNA CONSUUUUUME (this is considered one of the funny memes in the 2019-2020 era)
      • +
      • cooldown - Preset for an action that has a cooldown.
          +
        • aheal - This datum defines an action that can be used by any mob/living to instantly admin heal themselves. +By default it has a 30 second cooldown.
        • +
        • alien
        • +
        • bot_announcement - Say something and play a corresponding sound effect
        • +
        • exquisite_bunch - spawns a plumb bunch of bananas imbued with mystical power.
        • +
        • fugu_expand - Action which inflates you, making you larger and stronger for the duration. Also invulnerable. +This is pretty much all just handled by a status effect. +Unfortunately the requirements here are specific enough that it kind of only works for the mob it is designed for.
        • +
        • gel_cocoon - This action lets you put a mob inside of a cacoon that will inject it with some chemicals.
        • +
        • globules - Ability that allows the owner to fire healing globules at mobs, targeting specific limbs.
        • +
        • golem_ore_sight - Send an ore detection pulse on a cooldown
        • +
        • grand_ritual - The Grand Ritual is the Wizard's alternate victory condition +and also a tool to make funny distractions and progress the round state.
        • +
        • internal_smelting - Lets golems smelt ore with their organs
        • +
        • manual_heart - Action to pump your heart. Cooldown will always be set to 1 second less than the pump delay.
        • +
        • metabolicboost - This ability lets the gelatinious ooze speed up for a little bit
        • +
        • mob_cooldown
            +
          • assume_form - Allows a mob to assume the form of another item or mob. +Warning, this will likely shit the bricks if you add this action to anything more sophisticated than a basic mob- this isn't built for anything carbon-wise.
          • +
          • blood_rain
          • +
          • blood_warp
          • +
          • bot/foam
          • +
          • brimbeam - Fires a bloody beam. Brimdemon Blast!
          • +
          • charge
              +
            • basic_charge
                +
              • guardian - Guardian charger's charging attack, it knocks items out of people's hands
              • +
              • lobster - Charge a long way, knock down for longer, and perform an instant melee attack
              • +
            • +
            • hallucination_charge
            • +
          • +
          • charge_apc
          • +
          • chasing_spikes - An ability which makes spikes come out of the ground towards your target
          • +
          • command_spiders - Sends a message to all currently living spiders.
              +
            • communication_spiders - Sends a small message to all currently living spiders.
            • +
            • warning_spiders - Sends a smaller message to all currently living spiders.
            • +
          • +
          • dash
          • +
          • defensive_mode - An ability that allows the viper spider to get in an defensive mode at the cost of speed.
          • +
          • domain - Increase the rat king's domain
          • +
          • expel_gas - Expel a range of gases
          • +
          • explosive_booby_trap - An ability which can turn an object into a bomb
          • +
          • fire_breath
              +
            • carp - A space dragon's fire breath, toasts lunch AND buffs your friends
            • +
            • cone - Shoot three lines of fire in a sort of fork pattern approximating a cone
            • +
            • ice - Breathe "fire" in a line (it's freezing cold)
                +
              • cross - Breathe really cold fire in a plus shape, like bomberman
              • +
            • +
            • mass_fire - Shoot fire in a whole bunch of directions
            • +
          • +
          • goliath_tentacles - Place some grappling tentacles underfoot
          • +
          • guardian_alarm_snare - Place an invisible trap which alerts the guardian when it is crossed
          • +
          • guardian_bluespace_beacon - Place a beacon and then listen for clicks to teleport people to it
          • +
          • guardian_comms - Speak with your guardian(s) at a distance.
          • +
          • hivelord_spawn - Spawns a little worm nearby
          • +
          • ice_demon_teleport
          • +
          • lava_swoop
          • +
          • lay_eggs
          • +
          • lay_web - Make a sticky web under yourself for area fortification
              +
            • genetic - Variant for genetics, created webs only allow the creator passage
            • +
            • sealer - Variant which allows webs to be stacked into walls
            • +
          • +
          • Lesser Carp Rift - Teleport a short distance and leave a short-lived portal for people to follow through
          • +
          • mook_ability
          • +
          • projectile_attack
              +
            • Magicarp Bolt - Holder ability simply for "firing a projectile with a cooldown". +Probably won't do anything if assigned via VV unless you also VV in a projectile for it.
                +
              • chaos - Chaos variant picks one from a list
              • +
            • +
            • rapid_fire
            • +
            • spiral_shots
            • +
          • +
          • protector_shield - Toggle a status effect which makes you slow but defensive
          • +
          • recall_guardian - Tell your slacking or distracted guardian to come home.
          • +
          • replace_guardian - Replace an annoying griefer you were paired up to with a different but probably no less annoying player.
          • +
          • riot - This action checks some nearby maintenance animals and makes them your minions. +If none are nearby, creates a new mouse.
          • +
          • set_spider_directive - Sets a directive to be given to all future spiders created by the user. +This will be overwritten if used again.
          • +
          • skull_launcher - Spawns a little worm nearby
          • +
          • slippery_ice_floors
          • +
          • sneak
          • +
          • solarbeam
          • +
          • spine_traps - Marks several areas with thrusting spines which damage and slow people
          • +
          • tentacle_burst - Place grappling tentacles around you to grab attackers
          • +
          • tentacle_grasp - Summon a line of tentacles towards the target
          • +
          • transform_weapon
          • +
          • watcher_gaze - Do something nasty to everyone nearby if they're looking at us.
              +
            • fire - Magmawing glare burns you
            • +
            • ice - Icewing glare freezes you
            • +
          • +
          • watcher_overwatch - Automatically shoot at a target if they do anything while this is active on them. +Currently not given to any mob, but retained so admins can use it.
          • +
          • web_effigy - Makes a solid statue which you can use as cover
          • +
          • wing_buffet - Rise into the air and slam down, knocking people away. No real cooldown but has escalating endlag if used in quick succession.
          • +
          • wrap
          • +
        • +
        • monster_core_action - Boilerplate to set the name and icon of the cooldown action. +Makes it call 'ui_action_click' when the action is activated.
            +
          • adrenal_boost - Action used by the rush gland
          • +
          • exhale_brimdust - Action used by the brimdust sac
          • +
          • regenerative_core - Action used by the regenerative core
          • +
        • +
        • open_mob_commands
        • +
        • regurgitate - This ability will let you fire one random item from your pouch,
        • +
        • rustle - drops peels around the mob when activated
        • +
        • The spell action - This is the base action for how many of the game's +spells (and spell adjacent) abilities function. +These spells function off of a cooldown-based system.
        • +
        • tentacle_slap - Ability that allows the owner to slap other mobs a short distance away. +For vatbeats, this ability is shared with the rider.
        • +
        • track_target - The action associated with the living heart. +Allows a heretic to track sacrifice targets.
        • +
        • turn_to_statue
        • +
        • vine_tangle
        • +
        • worm_contract - Shrink the chain of mobs into one tile.
        • +
      • +
      • innate
      • +
      • item_action
      • +
      • personality_commune
      • +
      • push_weights - The action button given by the weight machine's buckle. +This allows users to manually trigger working out.
      • +
      • select_guardian_battlecry - Action to change our battlecry
      • +
      • send_chems
      • +
      • setup_shop
      • +
      • toggle_buffer
      • +
      • vehicle - ACTION DATUMS
      • +
      • vote - Datum action given to mobs that allows players to vote on the current vote.
      • +
    • +
    • action_group
    • +
    • actionspeed_modifier
        +
      • status_effect/midas_blight - Get slower the more gold is in your system.
      • +
    • +
    • addiction - base class for addiction, handles when you become addicted and what the effects of that are. By default you become addicted when you hit a certain threshold, and stop being addicted once you go below another one.
        +
      • alcohol - Alcohol
      • +
      • medicine - Makes you a hypochondriac - I'd like to call it hypochondria, but "I could use some hypochondria" doesn't work
      • +
      • nicotine - Nicotine
      • +
      • opioids - Opioids
      • +
      • stimulants - Stimulants
      • +
    • +
    • admin_book_viewer - Weaps around a book's sql data, feeds it into a ui that allows us to at base view the contents of the book
    • +
    • Adminhelp Ticket
    • +
    • Adminhelp Ticket Manager
    • +
    • admin_pda_panel - Panel
    • +
    • admins
    • +
    • adventure - text adventure instance, holds data about nodes/choices/etc and of current play state.
    • +
    • adventure_browser - Admin adventure manager
    • +
    • adventure_db_entry
    • +
    • adventure_loot_generator - Adventure loot category identified by ID
        +
      • cargo - Unlocks special cargo crates
      • +
      • maintenance - Uses manintenance loot generators
      • +
      • pet - Pets and pet accesories in carriers
      • +
      • simple - Just picks and instatiates the path from the list
          +
        • cash - Valuables
        • +
        • drugs - Drugs
        • +
        • materials - Rare minerals/materials
        • +
        • syndicate_fish - Rare fish! Of the syndicate variety
        • +
        • unique - Unique exploration-only rewards - this is contextless
        • +
        • weapons - Assorted weaponry
        • +
      • +
    • +
    • adventure_node
    • +
    • ai_behavior - Abstract class for an action an AI can take, can range from movement to grabbing a nearby weapon.
        +
      • attack - This behavior involves attacking a target.
      • +
      • attack_obstructions - Something is in our way, get it outta here
      • +
      • basic_melee_attack
          +
        • dog - Pursue the target, growl if we're close, and bite if we're adjacent +Dogs are actually not very aggressive and won't attack unless you approach them +Adds a floor to the melee damage of the dog, as most pet dogs don't actually have any melee strength
        • +
        • goliath - Go for the tentacles if they're available
        • +
        • magicarp - Interrupt your attack chain if: you have a spell, it's not on cooldown, and it has a target
        • +
        • opportunistic - Attack something which is already adjacent to us without moving
        • +
      • +
      • basic_ranged_attack
      • +
      • battle_screech
      • +
      • befriend_target - behavior to befriend any targets
      • +
      • call_reinforcements - Call out to all mobs in the specified range for help
      • +
      • capricious_retaliate - Add or remove people to our retaliation shitlist just on an arbitrary whim
      • +
      • cover_minimum_distance - instead of taking a single step, we cover the entire distance
      • +
      • crawl_through_vents - We hop into the vents through a vent outlet, and then crawl around a bit. Jolly good times. +This also assumes that we are on the turf that the vent outlet is on. If it isn't, shit. +Warning: this was really snowflake code lifted from an obscure feature that likely has not been touched for over five years years. +Something that isn't implemented is the ability to actually crawl through vents ourselves because I think that's just a waste of time for the same effect (instead of psuedo-teleportation, do REAL forceMoving) +If you are seriously considering using this component, it would be a great idea to extend this proc to be more versatile/less overpowered - the mobs that currently implement this benefit the most +since they are weak as shit with only five health. Up to you though, don't take what's written here as gospel.
      • +
      • deliver_fetched_item - The second half of fetching, deliver the item to a target.
      • +
      • disposal_mob - mob refs are uids, so this is safe
      • +
      • drop_item - Drops items in hands, very important for future behaviors that require the pawn to grab stuff
      • +
      • eat_fetched_snack - The alternate second half of fetching, attack the item if we can eat it. +Or make pleading eyes at someone who has picked it up.
      • +
      • fetch_seek - Traverse to a target with the intention of picking it up. +If we can't do that, add it to a list of ignored items.
      • +
      • find_and_set - *find and set
          +
        • animatable - Variant of find and set which returns an object which can be animated with a staff of change
        • +
        • conscious_person - A variant that looks for a human who is not dead or incapacitated, and has a mind
        • +
        • edible - Variant of find and set that also requires the item to be edible. checks hands too
        • +
        • friendly_corpses - Variant of find and set which returns corpses who share your faction
        • +
        • in_hands - Variant of find and set that only checks in hands, search range should be excluded for this
        • +
        • in_list - Variant of find and set that takes a list of things to find.
            +
          • turf_location - Like find_and_set/in_list, but we return the turf location of the item instead of the item itself.
          • +
        • +
        • nearest_wall - Variant of find and set which returns the nearest wall which isn't invulnerable
        • +
        • pawn_must_hold_item - Variant of find and set that fails if the living pawn doesn't hold something
        • +
        • swim_alternate - find land if its time to get out of water, otherwise find water
        • +
      • +
      • find_furthest_turf_from_target - find furtherst turf target so we may teleport to it
      • +
      • find_hunt_target - Finds a specific atom type to hunt.
          +
        • corpses - Find nearby dead mobs
        • +
      • +
      • find_mom
      • +
      • Find next carp migration step - Records the next turf we want to travel to into the blackboard for other actions
      • +
      • find_partner - Find a compatible, living partner, if we're also alone.
      • +
      • find_potential_targets
          +
        • most_wounded - Picks targets based on which one has the lowest health
        • +
        • nearest - Picks targets based on which one is closest to you, choice between targets at equal distance is arbitrary
            +
          • magicarp - This subtype only exists because if you queue multiple of the same action with different arguments it deletes their stored arguments
          • +
        • +
      • +
      • find_unwebbed_turf - Find an unwebbed nearby turf and store it
      • +
      • follow - This behavior involves attacking a target.
      • +
      • forget_failed_fetches - Clear our failed fetch list every so often
      • +
      • goliath_dig - If we got nothing better to do, dig a little hole
      • +
      • goliath_find_diggable_turf
      • +
      • grab_fingers - If our target is an arm then move over and drag it
      • +
      • hoard_fingers - If we are dragging an arm then run away until we are out of range and feast
      • +
      • hunt_target - Hunts down a specific atom type.
      • +
      • item_escape_grasp - This behavior is for obj/items, it is used to free themselves out of the hands of whoever is holding them
      • +
      • item_move_close_and_attack - This behavior is for obj/items, it is used to move closer to a target and throw themselves towards them.
      • +
      • make_babies - Reproduce.
      • +
      • Make carp rift - Make a carp rift somewhere
          +
        • Make carp rift away - Make a rift bringing you further away from your target
        • +
        • Make carp rift forwards - Make a rift bringing you closer to your target
            +
          • Make carp rift forwards (aggressive) - Make a rift towards your target if you are blocked from moving or if it is far away
          • +
          • Make carp rift forwards (unvalidated) - Skip validation checks because we already did them in the controller
          • +
        • +
      • +
      • monkey_attack_mob
      • +
      • move_to_cardinal - Try to line up with a cardinal direction of your target
      • +
      • move_to_target - Moves to target then finishes
      • +
      • perch_on_target - Parrot behavior that allows them to perch on a target.
      • +
      • pet_follow_friend - Just keep following the target until the command is interrupted
      • +
      • pet_use_ability - Pet owners can't see their pet's ability cooldowns so we keep attempting to use an ability until we succeed
      • +
      • pick_up_item - Simple behaviour for picking up an item we are already in range of. +The blackboard storage key isn't very safe because it doesn't make sense to register signals in here. +Use the AI held item component to manage this.
      • +
      • play_dead - Pretend to be dead
      • +
      • play_with_mouse
      • +
      • pursue_to_range - Pursue a target until we are within a provided range
      • +
      • ranged_skirmish - How often will we try to perform our ranged attack?
      • +
      • relay_message - behavior that allow us to go communicate with other hivebots
      • +
      • run_away_from_target - Move to a position further away from your current target
      • +
      • run_emote - Emote from a blackboard key
      • +
      • setup_shop - The ai will create a shop the moment they see a potential costumer
      • +
      • sleep_after_targetless_time - Disables AI after a certain amount of time spent with no target, you will have to enable the AI again somewhere else
      • +
      • spin_web - Move to an unwebbed nearby turf and web it up
      • +
      • step_away - Take one step away
      • +
      • Step towards turf - Moves a short distance towards a location repeatedly until you arrive at the destination. +You'd use this over travel_towards if you're travelling a long distance over a long time, because the AI controller has a maximum range.
          +
        • Step towards turf in area - Moves a short distance towards a location in an area +Unlike step_towards_turf it will reacquire a new turf from the area if it loses its target
        • +
      • +
      • stop_and_stare - Makes a mob simply stop and stare at a movable... yea...
      • +
      • swirl_around_target
      • +
      • target_from_retaliate_list - Picks a target from a provided list of atoms who have been pissing you off +You will probably need /datum/element/ai_retaliate to take advantage of this unless you're populating the blackboard yourself
          +
        • nearest - As above but targets have been filtered from the 'retaliate' blackboard list
        • +
      • +
      • Targeted Mob Ability - Attempts to use a mob's cooldown ability on a target
          +
        • Try Mob Ability and clear target - Attempts to use a mob's cooldown ability on a target and releases the target when the action completes
        • +
        • Try Mob Ability and plan execute - Attempts to use a mob's cooldown ability on a target and then move the target into a special target blackboard datum +Doesn't need another subtype to clear BB_BASIC_MOB_EXECUTION_TARGET because it will be the target key for the normal action
        • +
        • brimbeam
        • +
        • ice_whelp
        • +
        • min_range - Attempts to move into the provided range and then use a mob's cooldown ability on a target
        • +
      • +
      • territorial_struggle
      • +
      • tipped_reaction - type of tipped reaction that is akin to puppy dog eyes
      • +
      • Travel Towards - Moves towards the atom in the passed blackboard key. +Planning continues during this action so it can be interrupted by higher priority actions.
      • +
      • Travel Towards Atom - Travel towards an atom you pass directly from the controller rather than a blackboard key. +You might need to do this to avoid repeating some checks in both a controller and an action.
      • +
      • use_in_hand - Use in hand the currently held item
      • +
      • use_mob_ability/shapeshift - Selects a random shapeshift ability before shifting
      • +
      • use_on_object - Use the currently held item, or unarmed, on a weakref to an object in the world
      • +
      • vendor_crush
      • +
      • vendor_rise_up
      • +
      • wait_for_food
      • +
      • wander - if we have ores to deposit or a storm is approaching, dont wander away
      • +
    • +
    • ai_controller
        +
      • basic_controller
          +
        • artificer - Artificers
        • +
        • blob_spore - As blob zombie but will prioritise attacking corpses to zombify them
        • +
        • blob_zombie - Move to a point designated by the overmind, otherwise just slap people nearby
        • +
        • blobbernaut - Extremely simple AI, this isn't a very smart boy +Only notable quirk is that it uses JPS movement, simple avoidance would fail to realise it can path through blobs
        • +
        • bot
        • +
        • brimdemon - Slap someone who is nearby, line up with target, blast with a beam
        • +
        • carp - AI controller for carp +Expected flow is:
            +
          • passive - Carp which bites back, but doesn't look for targets and doesnt do as much damage +Still migrate and stuff
          • +
          • pet - Carp which bites back, but doesn't look for targets. +'Not hunting targets' includes food (and can rings), because they have been well trained.
          • +
          • ranged - AI for carp with a spell. +Flow is basically the same as regular carp, except it will try and cast a spell at its target whenever possible and not fleeing.
          • +
        • +
        • cow/moonicorn - stop killing my FRIENDS
        • +
        • crab - The basic ai controller for crabs
        • +
        • dog/corgi - Same thing but with make tiny corgis and use access cards.
        • +
        • giant_spider - Attacks people it can see, spins webs if it can't see anything to attack.
            +
          • pest - Retaliates, hunts other maintenance creatures, runs away from larger attackers, and spins webs.
          • +
          • retaliate - Used by Araneus, who only attacks those who attack first. He is house-trained and will not web up the HoS office.
          • +
          • weak - Giant spider which won't attack structures
          • +
        • +
        • goat - Goats are normally content to sorta hang around and crunch any plant in sight, but they will go ape on someone who attacks them.
        • +
        • gorilla - Pretty basic, just click people to death. Also hunt and eat bananas.
        • +
        • headslug - This is a bit neutered since these aren't intended to exist outside of player control, but it's a bit weird to just have these guys be completely stationary. +No attacking or anything like that, though. Just something so they seem alive.
        • +
        • hivelord - Basically just keep away and shit out worms
        • +
        • juggernaut - Juggernauts
        • +
        • leaper - so they dont attack the leaper or the wizard master
        • +
        • legion - Keep away and launch skulls at every opportunity, prioritising injured allies
        • +
        • legion_brood - Chase and attack whatever we are targeting, if it's friendly we will heal them
        • +
        • meteor_heart - A spellcasting AI which does not move
        • +
        • mook
            +
          • bard - bard mook plays nice music for the village
          • +
          • support - healer mooks guard the village from intruders and heal the miner mooks when they come home
          • +
          • tribal_chief - the chief would rather command his mooks to attack people than attack them himself
          • +
        • +
        • morph - No fleshed out AI implementation, just something that make these fellers seem lively if they're just dropped into a station. +Only real human-powered intelligence is capable of playing prop hunt in SS13 (until further notice).
        • +
        • mouse - The mouse AI controller
            +
          • guaranteed_to_bite - Dummy mouse's ai controller that is guaranteed to find and bite a cable beneath it
          • +
          • rat - AI controller for rats, slightly more complex than mice becuase they attack people
          • +
        • +
        • parrot/ghost - Used for ghost poly.
        • +
        • proteon - Proteons
        • +
        • raw_prophet - Walk and attack people, blind them when we can
        • +
        • rust_walker - Converts unconverted terrain, sprays pocket sand around
        • +
        • simple_hostile - The most basic AI tree which just finds a guy and then runs at them to click them
        • +
        • simple_hostile_obstacles - Find a target, walk at target, attack intervening obstacles
        • +
        • skeleton - Skeletons mostly just beat people to death, but they'll also find and drink milk.
        • +
        • sloth - They're really passive in game, so they just wanna get away if you start smacking them. No trees in space from them to use for clawing your eyes out, but they will try if desperate.
        • +
        • snake - Snakes are primarily concerned with getting those tasty, tasty mice, but aren't afraid to strike back at those who attack them
        • +
        • space_bat - Controller for space bats, has nothing unique, just retaliation.
        • +
        • spiderling - Opportunistically hops in and out of vents, if it can find one. We aren't interested in attacking due to how weak we are, we gotta be quick and hidey.
        • +
        • stalker - Changes shape and lies in wait when it has no target, uses EMP and attacks once it does
        • +
        • wizard - Wizards run away from their targets while flinging spells at them and blinking constantly.
        • +
        • wraith - Wraiths
        • +
        • wumborian_fugu - Cowardly when small, aggressive when big. Tries to transform whenever possible.
        • +
        • young_spider - Used by all young spiders if they ever appear.
        • +
      • +
      • cursed item ai! - Haunted AI tries to not be interacted with, and will attack people who do. +Cursed AI instead tries to be interacted with, and will attempt to equip itself onto people. +Added by /datum/element/cursed, and as such will try to remove this element and go dormant when it finds a victim to curse
      • +
      • haunted
      • +
      • hostile_friend - This code needs to be removed at some point as it doesn't actually utilize the AI.
      • +
      • mod - An AI controller for the MODsuit pathfinder module. It's activated by implant and attaches itself to the user.
      • +
      • monkey - OOK OOK OOK
      • +
      • robot_customer
      • +
      • vending_machine - AI controller for vending machine gone rogue, Don't try using this on anything else, it wont work.
      • +
    • +
    • ai_laws
    • +
    • ai_module - The base module type, which holds info about each ability.
        +
      • destructive - Modules causing destruction
          +
        • blackout - Blackout: Overloads a random number of lights across the station. Three uses.
        • +
        • destroy_rcd - Destroy RCDs: Detonates all non-cyborg RCDs on the station.
        • +
        • lockdown - Hostile Station Lockdown: Locks, bolts, and electrifies every airlock on the station. After 90 seconds, the doors reset.
        • +
        • megahonk - HIGH IMPACT HONKING
        • +
        • nuke_station - Doomsday Device: Starts the self-destruct timer. It can only be stopped by killing the AI completely.
        • +
        • overload_machine - Overload Machine: Allows the AI to overload a machine, detonating it after a delay. Two uses per purchase.
        • +
        • override_machine - Override Machine: Allows the AI to override a machine, animating it into an angry, living version of itself.
        • +
      • +
      • upgrade - Modules that are improving AI abilities and assets
          +
        • eavesdrop - Enhanced Surveillance: Enables AI to hear conversations going on near its active vision.
        • +
        • mecha_domination - Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right?
        • +
        • upgrade_cameras - Upgrade Camera Network: EMP-proofs all cameras, in addition to giving them X-ray vision.
        • +
        • upgrade_turrets - AI Turret Upgrade: Increases the health and damage of all turrets.
        • +
      • +
      • utility - Modules with stealthy and utility uses
          +
        • break_air_alarms - Air Alarm Safety Override: Unlocks the ability to enable dangerous modes on all air alarms.
        • +
        • break_fire_alarms - Thermal Sensor Override: Unlocks the ability to disable all fire alarms from doing their job.
        • +
        • emergency_lights - Disable Emergency Lights
        • +
        • place_cyborg_transformer - Robotic Factory: Places a large machine that converts humans that go through it into cyborgs. Unlocking this ability removes shunting.
        • +
        • reactivate_cameras - Reactivate Camera Network: Reactivates up to 30 cameras across the station.
        • +
      • +
    • +
    • ai_movement - This datum is an abstract class that can be overriden for different types of movement
        +
      • basic_avoidance - Uses Byond's basic obstacle avoidance movement
          +
        • backstep - Move immediately and don't update our facing
        • +
      • +
      • complete_stop - Come to a complete stop for a set amount of time.
      • +
      • dumb - The most brain-dead type of movement, bee-line to the target with no concern of whats in front of us.
      • +
      • jps - This movement datum represents smart-pathing
      • +
    • +
    • ai_planning_subtree - A subtree is attached to a controller and is occasionally called by /ai_controller/SelectBehaviors(), this mainly exists to act as a way to subtype and modify SelectBehaviors() without needing to subtype the ai controller itself
        +
      • acknowledge_chief
      • +
      • attack_obstacle_in_path - If there's something between us and our target then we need to queue a behaviour to make it not be there
      • +
      • bane_hunting
      • +
      • basic_melee_attack_subtree
          +
        • magicarp - As basic attack tree but interrupt if your health gets low or if your spell is off cooldown
        • +
        • mega_arachnid - only engage in melee combat against cuffed targets, otherwise keep throwing restraints at them
        • +
        • opportunistic - Attack something which is already adjacent to us, without ending planning
        • +
      • +
      • basic_ranged_attack_subtree/minebot - operational datums is null because we dont use a ranged component, we use a gun in our contents
      • +
      • befriend_ashwalkers - find ashwalkers and add them to the list of masters
      • +
      • burn_trees - subtree to look for trees and burn them with our flamethrower
      • +
      • call_reinforcements - Calls all nearby mobs that share a faction to give backup in combat
      • +
      • capricious_retaliate - Add or remove people to our retaliation shitlist just on an arbitrary whim
      • +
      • Carp Migration - Will try to plan a path between a list of locations for carp to travel through
      • +
      • climb_trees
      • +
      • dig_away_from_danger - only dig away if storm is coming or if humans are around
      • +
      • dog_harassment - Find someone we don't like and annoy them
      • +
      • enter_exit_home
      • +
      • find_and_hunt_target - Tells the AI to find a certain target nearby to hunt. +If a target has been found, we will start to move towards it, and eventually attack it.
          +
        • baby_egg - find our child's egg and pull it!
        • +
        • corpses - Find and attack corpses
            +
          • human - Find and attack specifically human corpses
          • +
        • +
        • destroy_surveillance - destroy surveillance objects to boost our stealth
        • +
        • food_trough - consume food!
        • +
        • hunt_ores - consume food!
            +
          • minebot - store ores in our body
          • +
          • mook - hunt ores that we will haul off back to the village
          • +
          • tribal_chief - find an ore, only pick it up when a mook brings it close to us
          • +
        • +
        • injured_mooks - find injured miner mooks after they come home from a long day of work
        • +
        • look_for_cables/guaranteed - Cable hunting subtree that's guarantee to hunt its target.
        • +
        • material_stand - deposit ores into the stand!
        • +
      • +
      • find_fingers - Look for loose arms lying around
      • +
      • find_food - similar to finding a target but looks for food types in the // the what?
      • +
      • find_nearest_magicarp_spell_target - Find a target for the magicarp's spell +This gets weird because different spells want different targeting +but I didn't want a new ai controller for every different spell
      • +
      • find_nearest_thing_which_attacked_me_to_flee - Find the nearest thing on our list of 'things which have done damage to me' and set it as the flee target
      • +
      • find_unwebbed_turf - Search for a nearby location to put webs on
      • +
      • flee_target - Try to escape from your current target, without performing any other actions.
          +
        • from_flee_key - Try to escape from your current target, without performing any other actions. +Reads from some fleeing-specific targeting keys rather than the current mob target.
        • +
        • legion - Don't run away from friendlies
        • +
        • mega_arachnid - spray slippery acid as we flee!
        • +
        • mouse - Don't look for anything to run away from if you are distracted by being adjacent to cheese
        • +
      • +
      • generic_hunger
      • +
      • generic_play_instrument
      • +
      • generic_resist
      • +
      • go_for_swim - subtree to go and swim!
      • +
      • goliath_dig
      • +
      • goliath_find_diggable_turf - If we got nothing better to do, find a turf we can search for tasty roots and such
      • +
      • hive_communicate
      • +
      • hoard_fingers - If you see an arm, grab it and run
      • +
      • hoard_items - subtree to steal items
      • +
      • issue_commands
      • +
      • locate_dead_humans
      • +
      • look_for_adult
      • +
      • look_for_village - look for our village
      • +
      • maintain_distance - Step away if too close, or towards if too far
      • +
      • make_babies - Reproduce with a similar mob.
      • +
      • Make carp rift - Plan a carp rift action, so basically teleport somewhere if the action is available
          +
        • Make carp rift (aggressive) - Plan to teleport towards our target so we can fuck them up
        • +
        • Make carp rift (panic) - Plan to teleport away from our target so they can't fuck us up
        • +
      • +
      • manage_unreachable_list - subtree to manage our list of unreachables, we reset it every 15 seconds
      • +
      • minebot_mining
      • +
      • monkey_combat
      • +
      • move_to_cardinal - Try to line up with a cardinal direction of your target
      • +
      • opportunistic_ventcrawler - Opportunistically searches for and hides/scurries through vents.
      • +
      • parrot_as_in_repeat - When a parrot... parrots...
      • +
      • perch_on_target - subtree to perch on targets
      • +
      • Pet Planning - Perform behaviour based on what pet commands you have received. This is delegated to the pet command datum. +When a command is set, we blackboard a key to our currently active command. +The blackboard also has a weak reference to every command datum available to us. +We use the key to figure out which datum to run, then ask it to figure out how to execute its action.
      • +
      • play_music_for_visitor - find an audience to follow and play music for!
      • +
      • possess_humans - subtree to possess humans
      • +
      • prepare_travel_to_destination - Subtree that checks if we are on the target atom's tile, and sets it as a travel target if not +The target is taken from the blackboard. This one always requires a specific implementation.
      • +
      • random_speech
          +
        • cow/wisdom - unlike normal cows, wisdom cows speak of wisdom and won't shut the fuck up
        • +
        • legion - Make spooky sounds, if we have a corpse inside then impersonate them
        • +
        • rabbit/easter - For the easter subvariant of rabbits, these ones actually speak catchphrases.
            +
          • space - These ones have a space mask on, so their catchphrases are muffled.
          • +
        • +
      • +
      • ranged_skirmish - Fire a ranged attack without interrupting movement.
      • +
      • reside_in_home
      • +
      • run_emote - Intermittently run an emote
      • +
      • sculpt_statues - subtree to find icy rocks and create sculptures out of them
      • +
      • setup_shop - Subtree to find our very first customer and set up our shop after walking right into their face
          +
        • jumpscare - Version of setup show where the trader will run at you to assault you with incredible deals
        • +
      • +
      • shapechange_ambush - Shapeshift when we have no target, until someone has been nearby for long enough
      • +
      • Shortcut to target through carp rift - If there's a carp rift heading your way, plan to ride it to your target
      • +
      • simple_find_nearest_target_to_flee - Find the nearest thing which we assume is hostile and set it as the flee target
      • +
      • simple_find_wounded_target - Selects the most wounded potential target that we can see
      • +
      • sleep_with_no_target - Disables AI after a certain amount of time spent with no target, you will have to enable the AI again somewhere else
          +
        • meteor_heart - After enough time with no target, deaggro and change animation state
        • +
      • +
      • spin_web - Run the spin web behaviour if we have an ability to use for it
      • +
      • stare_at_thing - Locate a thing (practically any atom) to stop and stare at.
      • +
      • target_retaliate - Sets the BB target to a mob which you can see and who has recently attacked you
          +
        • to_flee - Places a mob which you can see and who has recently attacked you into some 'run away from this' AI keys +Can use a different targeting strategy than you use to select attack targets +Not required if fleeing is the only target behaviour or uses the same target datum
        • +
      • +
      • targeted_mob_ability - Attempts to use a mob ability on a target
          +
        • arachnid_restrain
        • +
        • lobster - Don't use charge ability on an adjacent target, and make sure you're visible before you start
        • +
        • magicarp - Then use it on that target
        • +
        • wizard_spell - Cast a wizard spell. There is a minimum cooldown between spellcasts to prevent overwhelming spam.
        • +
      • +
      • teleport_away_from_target - behavior to activate ability to escape from target
      • +
      • territorial_struggle
      • +
      • tip_reaction - used by cows
      • +
      • travel_to_point - Simply walk to a location
      • +
      • use_mob_ability - Simple behaviours which simply try to use an ability whenever it is available. +For something which wants a target try targeted_mob_ability.
          +
        • mook_jump
        • +
        • rust_walker - Use if we're not stood on rust right now
        • +
      • +
      • wander_away_from_village - explore the lands away from the village to look for ore
      • +
    • +
    • air_alarm_mode - Various modes that an /obj/machinery/airalarm can assume.
        +
      • cycle
      • +
      • filtering - The default.
      • +
    • +
    • alarm_handler - Represents a single source of alarms, one alarm handler will only ever count for one alarm per listener
    • +
    • alarm_listener
    • +
    • anomaly_placer
    • +
    • anonymous_theme
    • +
    • antagonist
        +
      • abductee
      • +
      • abductor
      • +
      • battlecruiser
      • +
      • bitrunning_glitch
      • +
      • blob
          +
        • infection - A subtype of blob meant to represent the infective version.
        • +
      • +
      • blob_minion
      • +
      • changeling
      • +
      • cult
      • +
      • enemy_of_the_state - When the station wins, any remaining living headrevs become Enemies of the State, a small solo antagonist. +They either have the choice to fuck off and do their own thing, or try and regain their honor with a hijack.
      • +
      • ert
      • +
      • fallen_changeling - a changeling that has lost their powers. does nothing, other than signify they suck
      • +
      • heretic - The heretic antagonist itself.
      • +
      • heretic_monster - Tracking reasons
      • +
      • highlander
      • +
      • hypnotized - Antag datum associated with the hypnosis brain trauma, used for displaying objectives and antag hud
      • +
      • imp
      • +
      • malf_ai
      • +
      • ninja
      • +
      • nukeop
      • +
      • paradox_clone
      • +
      • rev
      • +
      • separatist
      • +
      • shade_minion - This datum is for use by shades who have a master but are not cultists. +Cult shades don't get it because they get the cult datum instead. +They are bound to follow the orders of their creator, probably a chaplain or miner. +Technically they're not 'antagonists' but they have antagonist-like properties.
      • +
      • space_carp
      • +
      • space_dragon
      • +
      • spider
          +
        • flesh - Subtype for flesh spiders who don't have a queen
        • +
      • +
      • syndicate_monkey
      • +
      • traitor
          +
        • contractor_support - We give a reference to the mind that'll be the support unit +Support unit gets it's own very basic antag datum for admin logging.
        • +
      • +
      • wizard
      • +
      • wizard_minion
      • +
      • wizard_prank_vendetta - Antag datum to give to people who want to kill the wizard. +This doesn't preclude other people choosing to want to kill the wizard, just these people are rewarded for it.
      • +
      • xeno/captive
      • +
    • +
    • armor - The armor datum holds information about different types of armor that an atom can have. +It also contains logic and helpers for calculating damage and effective damage
        +
      • crate_syndicrate - if the crate takes damage it will explode 25% of the time
      • +
      • immune - A version of armor that cannot be modified and will always return itself when attempted to be modified
      • +
      • item_tank - Closes the tank if dropped while open.
      • +
      • none - A version of armor with no protections
      • +
      • suit_space - If this is FALSE the batery status UI will be disabled. This is used for suits that don't use bateries like the changeling's flesh suit mutation.
      • +
    • +
    • armour_dimensional_theme - Datum describing a 'theme' which transforms a 3x3 area's turfs when applied. +It also creates a number of themed barriers in that area.
        +
      • dangerous - Dangerous themes can potentially impede the user as much as people pursuing them
      • +
      • safe - Themes which will largely be probably useful for the user
      • +
    • +
    • asset
        +
      • json - A subtype to generate a JSON file from a list
          +
        • preferences - Sends information needed for shared details on individual preferences
        • +
        • uplink - Sends information needed for uplinks
        • +
      • +
      • simple - If you don't need anything complicated.
          +
        • body_zones - Spritesheet for body zones. Necessary if your tgui uses BodyZoneSelector
        • +
        • namespaced - Namespace'ed assets (for static css and html files) +When sent over a cdn transport, all assets in the same asset datum will exist in the same folder, as their plain names. +Used to ensure css files can reference files by url() without having to generate the css at runtime, both the css file and the files it depends on must exist in the same namespace asset datum. (Also works for html) +For example blah.css with asset blah.png will get loaded as namespaces/a3d..14f/f12..d3c.css and namespaces/a3d..14f/blah.png. allowing the css file to load blah.png by a relative url rather then compute the generated url with get_url_mappings(). +The namespace folder's name will change if any of the assets change. (excluding parent assets)
        • +
      • +
      • spritesheet
          +
        • antagonists - Sprites generated for the antagonists panel
        • +
        • chemmaster - Icons for containers printed in ChemMaster
        • +
        • crafting - Representative icons for the contents of each crafting recipe
        • +
        • decals
        • +
        • preferences - Backdrop for the game world plane. +Assets generated from /datum/preference icons
        • +
      • +
    • +
    • asset_cache_item - An internal datum containing info on items in the asset cache. Mainly used to cache md5 info for speed.
    • +
    • asset_transport - Base browse_rsc asset transport
        +
      • webroot - CDN Webroot asset transport.
      • +
    • +
    • atom_hud
        +
      • alternate_appearance/basic
          +
        • antagonist_hud - An alternate appearance that will show all the antagonists this mob has
        • +
        • has_antagonist - An alternate appearance that will only show if you have the antag datum
        • +
      • +
    • +
    • autowiki - A representation of an automated wiki page.
        +
      • stock_parts - Automtically generated string list of stock part templates and relevant data for the /tg/station wiki
      • +
    • +
    • auxtools_promise - Auxtools hooks act as "set waitfor = 0" procs. This means that whenever +a proc directly called from auxtools sleeps, the hook returns with whatever +the called proc had as its return value at the moment it slept. This may not +be desired behavior, so this datum exists to wrap these procs.
    • +
    • avatar_help_text
    • +
    • award
        +
      • achievement - Achievements are one-off awards for usually doing cool things.
          +
        • mafia
            +
          • assistant - ALL THE ACHIEVEMENTS FOR WINNING A ROUND AS A ROLE
          • +
          • universally_hated - ALL THE ACHIEVEMENTS FOR MISC MAFIA ODDITIES
          • +
        • +
      • +
      • score - Scores are for leaderboarded things, such as killcount of a specific boss
          +
        • achievements_score - Defining this here 'cause it's the first score a player should see in the Scores category.
        • +
        • hardcore_random - How many times did we survive being a cripple?
        • +
        • intento_score - How high of a score on the Intento did we get?
        • +
        • maintenance_pill - How many maintenance pills did you eat?
        • +
        • style_score - What's the highest amount of style points we've gotten?
        • +
      • +
    • +
    • bank_account
    • +
    • barsign
    • +
    • basketball_controller - The basketball controller handles the basketball minigame in progress. +It is first created when the first ghost signs up to play.
    • +
    • beam
    • +
    • biological_sample - This datum is a simple holder for the micro_organisms in a sample.
    • +
    • biome - This datum handles the transitioning from a turf to a specific biome, and handles spawning decorative structures and mobs.
    • +
    • bitfield - Specifies a bitfield for smarter debugging
        +
      • bot_access_flags - bitfield for our access flags
      • +
    • +
    • blobstrain
    • +
    • bodypart_overlay - Bodypart ovarlay datum. These can be added to any limb to give them a proper overlay, that'll even stay if the limb gets removed +This is the abstract parent, don't use it!!
        +
      • mutant - Variant of bodypart_overlay meant to work synchronously with external organs. Gets imprinted upon Insert in on_species_gain
          +
        • antennae - Moth antennae datum, with full burning functionality
        • +
        • pod_hair - Podperson bodypart overlay, with special coloring functionality to render the flowers in the inverse color
        • +
        • spines - Bodypart overlay for spines (wagging gets updated by tail)
        • +
        • tail - Tail parent type, with wagging functionality
            +
          • cat - Cat tail bodypart overlay
          • +
          • lizard - Lizard tail bodypart overlay datum
          • +
          • monkey - Monkey tail bodypart overlay
          • +
        • +
        • wings - Bodypart overlay of default wings. Does not have any wing functionality
            +
          • functional - Bodypart overlay of function wings, including open and close functionality!
          • +
          • moth - Moth wing bodypart overlay, including burn functionality!
          • +
        • +
      • +
      • simple - For simple overlays that really dont need to be complicated. Sometimes icon_state and icon is enough +Remember to set the layers or shit wont work
          +
        • bags - bags drawn beneath the eyes
        • +
        • creampie - A creampie drawn on the head
        • +
        • emote - Variant of bodypart_overlay for displaying emote overlays. See /datum/emote/living/blush/run_emote for an example on how to use one of these.
        • +
        • golem_overlay - Body part overlays applied by golem status effects
        • +
        • sixpack - A sixpack drawn on the chest
        • +
      • +
    • +
    • book_history_entry - This mostly exists to document the form of the library_action table, since it doesn't do that good a job on its own
    • +
    • book_info - A datum which contains all the metadata of a book
    • +
    • bounty
        +
      • item
          +
        • assistant/fish
            +
          • fluid - A subtype of the fish bounty that requires fish with a specific fluid type
          • +
          • specific - A subtype of the fish bounty that requires specific fish types. The higher their rarity, the better the pay.
          • +
        • +
        • atmospherics - Used to calculate the extra reward
        • +
        • science/genetics
        • +
        • security/paperwork - Bounties that require you to perform documentation and inspection of your department to send to centcom.
        • +
      • +
      • pill
      • +
    • +
    • brain_trauma
    • +
    • buildmode
    • +
    • buildmode_mode
    • +
    • Callback Datums - A datum that holds a proc to be called on another object, used to track proccalls to other objects
        +
      • verb_callback - like normal callbacks but they also record their creation time for measurement purposes +they also require the same usr/user that made the callback to both still exist and to still have a client in order to execute
      • +
    • +
    • callback_select - Helper datum for the select callbacks proc
    • +
    • camerachunk
    • +
    • cameranet
    • +
    • can_pass_info - These are generally cheaper than looping contents so they go first +Holds all information about what an atom can move through +Passed into CanAStarPass to provide context for a pathing attempt
    • +
    • card
    • +
    • cardboard_cutout
    • +
    • cell_tracker - Spatial gridmap, cell tracking
    • +
    • cellular_emporium
    • +
    • centcom_announcer - Data holder for the announcers that can be used in a game, this can be used to have alternative announcements outside of the default e.g.the intern
    • +
    • centcom_podlauncher
    • +
    • changeling_profile
    • +
    • chasm_detritus - A datum that retrieves something which fell into a chasm.
        +
      • restricted - Variant of the chasm detritus that allows for an easier time at fishing out +bodies, and sometimes less desireable monsters too.
      • +
    • +
    • chat_payload - Stores information about a chat payload
    • +
    • Chat Message Overlay - Datum for generating a message overlay on the map
    • +
    • chemical_reaction - #Chemical Reaction
        +
      • acetone - Other goon stuff
      • +
      • ammonia - Cleaning and hydroponics
      • +
      • drink - Drink recipe base
      • +
      • food - FOOD MIXTURES
          +
        • soup
            +
          • custom - So this one's kind of a "failed" result, but also a "custom" result +Getting to this temperature and having no other soup reaction made means you're either messing something up +or you simply aren't following a recipe. So it'll just combine
          • +
          • mysterysoup
          • +
        • +
      • +
      • gunpowder - turf where to play sound +special size for anti cult effect
      • +
      • hair_dye - List of screams to play.
      • +
      • ice - Ice and water
      • +
      • medical_speed_catalyst - MEDICINES
      • +
      • medicine
          +
        • convermol - OXY
        • +
        • helbital - BRUTE
        • +
        • inacusiate
        • +
        • lenturi - BURN
        • +
        • medsuture - medical stacks
        • +
        • seiver - TOX
        • +
      • +
      • prefactor_a - Example competitive reaction (REACTION_COMPETITIVE)
      • +
      • randomized
          +
        • metalgen - Random recipe for meme chem metalgen. Always requires wittel and resets every 3 days
        • +
      • +
      • slime - End example
      • +
      • surfactant - foam and foam precursor
      • +
      • virus_food - VIROLOGY
      • +
    • +
    • cinematic - Cinematic datum. Used to show an animation to everyone.
        +
      • cult_arm - A blood cult summoned Nar'sie, and most of the station was harvested or converted!
      • +
      • cult_fail - A blood cult summoned Nar'sie, but some badass (or admin) managed to destroy Nar'sie themselves.
      • +
      • malf - A malfunctioning AI has activated the doomsday device and wiped the station!
      • +
      • nuke - Simple, base cinematic for all animations based around a nuke detonating.
          +
        • clown - The clown operative nuclear bomb was activated and clowned the station!
        • +
        • cult - A blood cult summoned Nar'sie, but central command deployed a nuclear package to stop them.
        • +
        • fake - A fake version of the nuclear detonation, where it winds up, but doesn't explode.
        • +
        • far_explosion - The syndicate nuclear bomb was activated, but just missed the station by a whole z-level!
        • +
        • mutual_destruction - The syndicate nuclear bomb was activated, and the nuclear operatives failed to extract on their shuttle before it detonated on the station!
        • +
        • no_core - A fake version of the nuclear detonation, where it winds up, but doesn't explode as the nuke core within was missing.
        • +
        • ops_miss - The syndicate nuclear bomb was activated, but just barely missed the station!
        • +
        • ops_victory - The syndicate nuclear bomb was activated, and destroyed the station!
        • +
        • self_destruct - The self destruct, or another station-destroying entity like a blob, destroyed the station!
        • +
        • self_destruct_miss - The self destruct was activated, yet somehow avoided destroying the station!
        • +
      • +
    • +
    • circuit_composite_template - A template used to make composite datatypes for circuits. +Used so that we don't have to generate every single possible combination of types
    • +
    • circuit_datatype - A circuit datatype. Used to determine the datatype of a port and also handle any additional behaviour.
    • +
    • circuit_variable - A circuit variable that holds the name, the datatype and the colour of the variable (taken from the datatype).
    • +
    • client_colour - Client Colour Priority System By RemieRichards (then refactored by another contributor) +A System that gives finer control over which client.colour value to display on screen +so that the "highest priority" one is always displayed as opposed to the default of +"whichever was set last is displayed".
    • +
    • client_interface - This should match the interface of /client wherever necessary.
    • +
    • colorblind_tester - Used to test the game for issues with different types of color blindness +WARNING ASSHOLE: Because we can only apply matrixes, and can't preform gamma correction +https://web.archive.org/web/20220227030606/https://ixora.io/projects/colorblindness/color-blindness-simulation-research/ +The results of this tool aren't perfect. It's way better then nothing, but IT IS NOT A PROPER SIMULATION +Please do not make us look like assholes by assuming it is. Thanks.
    • +
    • colored_assistant - Defines a style of jumpsuit/jumpskirt for assistants. +Jumpsuit and jumpskirt lists should match in colors, as they are used interchangably.
        +
      • solid - Will pick one color, and stick with it
      • +
    • +
    • comm_log_entry - Simple log entry datum for the telecommunication server
    • +
    • command_report_menu - Datum for holding the TGUI window for command reports.
    • +
    • Component - The component datum
        +
      • acid - Component representing acid applied to an object. +Must be attached to an atom. +Processes, repeatedly damaging whatever it is attached to. +If the parent atom is a turf it applies acid to the contents of the turf. +If not being applied to a mob or turf, the atom must use the integrity system.
      • +
      • action_item_overlay - Apply to an action to allow it to take an item +and apply it as an overlay of the action button
      • +
      • admin_popup - Applied to clients when they receive an admin popup, alerting them to +their ticket.
      • +
      • aggro_emote - A component for ai-controlled atoms which plays a sound if they switch to a living target which they can attack
      • +
      • ai_listen_to_weather - given to a mob to set a key on or off when a storm is coming or ending
      • +
      • ai_retaliate_advanced - Attached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information. +Differs from the element as it passes new entries through a callback.
      • +
      • ai_target_timer - Increments a blackboard key while the attached mob is engaged with a particular target, does nothing else on its own
      • +
      • anti_magic - This provides different types of magic resistance on an object
      • +
      • appearance_on_aggro - Changes visuals of the attached mob while it has a target
      • +
      • aquarium_content - Allows movables to be inserted/displayed in aquariums.
      • +
      • area_based_godmode - Area-based godmode. +Gain and Lose message can only be set once, at initial component creation; adding a source will not update them.
      • +
      • area_sound_manager - Allows you to set a theme for a set of areas without tying them to looping sounds explicitly
      • +
      • areabound - Movables with this component will automatically return to their original turf if moved outside their initial area
      • +
      • atmos_reaction_recorder - Component for atmos-related atoms to be able to record and transmit their reaction_results data +Use this ONLY for atoms, gasmixtures will be accessed by calling return air on the object. +Add this component after gasmixes has been initialized.
      • +
      • attached_sticker
      • +
      • aura_healing - Applies healing to those in the area. +Will provide them with an alert while they're in range, as well as +give them a healing particle. +Can be applied to those only with a trait conditionally.
      • +
      • automatic_fire
      • +
      • avatar_connection - Essentially temporary body with a twist - the virtual domain variant uses damage connections, +listens for vdom relevant signals.
      • +
      • bakeable - This component indicates this object can be baked in an oven.
      • +
      • basic_inhands - Basic handling for showing held items in a mob's hands
      • +
      • basic_mob_ability_telegraph - Component given to creatures to telegraph their abilities!
      • +
      • basic_mob_attack_telegraph - Delays outgoing attacks which are directed at mobs to give players time to get out of the way
      • +
      • basic_ranged_ready_overlay - Fade in an overlay x seconds after a basic mob makes a ranged attack +Indicates that it will be ready to fire again
      • +
      • bitrunning_points - Attaches to a turf so it spawns a crate when a certain amount of points are added to it.
      • +
      • blob_minion - Common behaviour shared by things which are minions to a blob
      • +
      • blood_walk - Blood walk, a component that causes you to make blood wherever you walk.
      • +
      • bloodysoles - Component for clothing items that can pick up blood from decals and spread it around everywhere when walking, such as shoes or suits with integrated shoes.
          +
        • feet - Like its parent but can be applied to carbon mobs instead of clothing items
        • +
      • +
      • boomerang - If an ojvect is given the boomerang component, it should be thrown back to the thrower after either hitting it's target, or landing on the thrown tile. +Thrown objects should be thrown back to the original thrower with this component, a number of tiles defined by boomerang_throw_range.
      • +
      • boss_music - Attaches to a hostile simplemob and plays that music while they have a target.
      • +
      • breed
      • +
      • bullet_intercepting - Component which allows an equipped item to occasionally absorb a projectile.
      • +
      • bumpattack
      • +
      • burning - Component representing an atom being on fire. +Should not be used on mobs, they use the fire stacks status effects. +Can only be used on atoms that use the integrity system.
      • +
      • butchering
          +
        • mecha
        • +
        • recycler - Special snowflake component only used for the recycler.
        • +
        • wearable
        • +
      • +
      • caltrop - Caltrop element; for hurting people when they walk over this.
      • +
      • can_flash_from_behind - This mob can flash others from behind and still get at least a partial
      • +
      • chasm
      • +
      • chuunibyou
      • +
      • circuit_component_add_port - Helper component that handles users adding/removing ports from a circuit component.
      • +
      • cleaner - Component that can be used to clean things. +Takes care of duration, cleaning skill and special cleaning interactions. +A callback can be set by the datum holding the cleaner to add custom functionality. +Soap uses a callback to decrease the amount of uses it has left after cleaning for example.
      • +
      • clickbox - This component adds a near-invisible underlay to a movable target to expand the clickable surface of its icon without +resorting to MOUSE_OPACITY_OPAQUE. +The underlay ignores the parent's color and alpha and can be offset. +The name is a portmanteau of "click" and "hitbox", because technically this isn't an hitbox, +but it helps catch clicks, and I don't want to give it a loooong name like openspace_item_click_handler
      • +
      • clothing_fov_visor - An element to add a FOV trait to the wearer, removing it when an item is unequipped, but only as long as the visor is up.
      • +
      • codeword_hearing - Component that allows for highlighting of words or phrases in chat based on regular expressions.
      • +
      • combo_attacks
      • +
      • combustible_flooder - Component that floods gas when ignited by fire.
      • +
      • connect_containers - This component behaves similar to connect_loc_behalf, but it's nested and hooks a signal onto all MOVABLES containing this atom.
      • +
      • connect_loc_behalf - This component behaves similar to connect_loc, hooking into a signal on a tracked object's turf +It has the ability to react to that signal on behalf of a separate listener however +This has great use, primarily for components, but it carries with it some overhead +So we do it separately as it needs to hold state which is very likely to lead to bugs if it remains as an element.
      • +
      • connect_mob_behalf - This component behaves similar to connect_loc_behalf, but working off clients and mobs instead of loc +To be clear, we hook into a signal on a tracked client's mob +We retain the ability to react to that signal on a seperate listener, which makes this quite powerful
      • +
      • connect_range - This component behaves similar to connect_loc_behalf but for all turfs in range, hooking into a signal on each of them. +Just like connect_loc_behalf, It can react to that signal on behalf of a seperate listener. +Good for components, though it carries some overhead. Can't be an element as that may lead to bugs.
      • +
      • construction/mecha - Construction datums
      • +
      • container_item - Container item, an item which can be stored by specialized containers.
          +
        • tank_holder - Tank holder item - Added to an object which can be added to a tank holder.
        • +
      • +
      • convey - Manages the loop caused by being on a conveyor belt +Prevents movement while you're floating, etc +Takes the direction to move, delay between steps, and time before starting to move as arguments
      • +
      • cracked - Tracks damage to add or remove crack overlays, when none are needed this components is qdeleted
      • +
      • crank_recharge
      • +
      • crate_carrier - Component for simplemobs and basicmobs that allow them to carry crates.
      • +
      • creamed - Creamed component
      • +
      • ctf_player - A component added to the mind of anyone who is playing in an ongoing CTF match. Any player specific CTF functionality should be implimented here. (someone should impliment score tracking here)
      • +
      • cult_ritual_item
      • +
      • curse_of_hunger - curse of hunger component; for very hungry items.
      • +
      • curse_of_polymorph - check hp +poisoned food damages it +no food found, but you're dead: it bites you slightly, and doesn't regain health. +no food found: it bites you and regains some health. +curse of polymorph component;
      • +
      • Custom Atom Component - When added to an atom, item ingredients can be put into that. +The sprite is updated and reagents are transferred.
      • +
      • damage_aura - Applies a status effect and deals damage to people in the area. +Will deal more damage the more people are present.
      • +
      • damage_chain - Draws a line between you and another atom, hurt anyone stood in the line
      • +
      • dart_insert - Component for allowing items to be inserted into foam darts. +The parent can register signal handlers for COMSIG_DART_INSERT_ADDED, +COMSIG_DART_INSERT_REMOVED to define custom behavior for when the item +is added to/removed from a dart, and COMSIG_DART_INSERT_GET_VAR_MODIFIERS +to define the modifications the item makes to the vars of the fired projectile.
      • +
      • deadchat_control - Deadchat Plays Things - The Componenting
      • +
      • death_linked
      • +
      • decomposition - Makes things decompose when exposed to germs. Requires /datum/component/germ_sensitive to detect exposure.
      • +
      • dejavu - A component to reset the parent to its previous state after some time passes
          +
        • timeline - differently themed dejavu for modsuits.
        • +
      • +
      • deployable - Deployable - Bring your big guns with you, and smack em' down where you want.
      • +
      • direct_explosive_trap - Responds to certain signals and 'explodes' on the person using the item. +Differs from interaction_booby_trap in that this doesn't actually explode, it just directly calls ex_act on one person.
      • +
      • drift - Component that handles drifting +Manages a movement loop that actually does the legwork of moving someone +Alongside dealing with the post movement input blocking required to make things look nice
      • +
      • echolocation
      • +
      • edible
      • +
      • effect_remover
      • +
      • egg layer component! - Component that manages how many eggs to lay, what can be fed to the mob to make them lay more, and what is actually laid. +Since the only real interaction with the component is an attackby, the nice part is that we're able to make this an atom level proc. +egg_layer will loudly fail if you do not provide it the arguments, as to encourage explicicy(?)
      • +
      • electrified_buckle component: - attach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time. +the parent is supposed to define its behavior with arguments in AddComponent
      • +
      • embedded
      • +
      • energized
      • +
      • engraved component! - component for walls that applies an engraved overlay and lets you examine it to read a story (+ art element yay) +new creations will get a high art value, cross round scrawlings will get a low one. +MUST be a component, though it doesn't look like it. SSPersistence demandeth
      • +
      • evolutionary_leap
      • +
      • Experiment Handler - This is the component for interacting with experiments from a connected techweb. It is generic +and should be set-up to automatically work on any class it is attached to without outside code +(Excluding potential callbacks)
      • +
      • explodable - Component specifically for explosion sensetive things, currently only applies to heat based explosions but can later perhaps be used for things that are dangerous to handle carelessly like nitroglycerin.
      • +
      • explode_on_attack - Bombs the user after an attack
      • +
      • faction_granter
      • +
      • fantasy
      • +
      • fertile_egg
      • +
      • fishing_spot
      • +
      • focused_attacker - Roll what we caught based on modified table +Increases our attack damage every time we attack the same target +Not compatible with any other component or status effect which modifies attack damage
      • +
      • food_storage - --Food storage component-- +This component lets you slide one item into large foods, such as bread, cheese wheels, or cakes. +Consuming food storages with an item inside can cause unique interactions, such as eating glass shards.
      • +
      • force_move - Forced directional movement, but with a twist +Let's block pressure and client movements while doing it so we can't be interrupted +Supports spinning on each move, for lube related reasons
      • +
      • fov_handler - Component which handles Field of View masking for clients. FoV attributes are at /mob/living
      • +
      • gas_leaker - A component to leak gas over time from damaged objects with gas storage
      • +
      • geiger_sound - Atoms with this component will play sounds depending on nearby radiation
      • +
      • germ_sensitive - Makes items infective if left on floor, also sending corresponding signals to parent
      • +
      • ghost_direct_control - Component which lets ghosts click on a mob to take control of it
      • +
      • ghost_edible - Allows ghosts to eat this by orbiting it +They do this by consuming the reagents in the object, so if it doesn't have any then it won't work
      • +
      • glitch
      • +
      • golem_food - Component which allows something to be eaten by a golem
      • +
      • gps - GPS component. Atoms that have this show up on gps. Pretty simple stuff.
          +
        • item - GPS component subtype. Only gps/item's can be used to open the UI.
        • +
      • +
      • grillable
      • +
      • Ground sinking component (basicly only for garden gnomes ever at this point) - A basic mob with this component will sink into the ground, once sinked into the ground it will regenerate and +might gain damage resistence. Can be combined with caltrop.
      • +
      • growth_and_differentiation
      • +
      • gunpoint
      • +
      • haunted_item - Makes our item SUPER spooky! +Adds the haunted element and some other bonuses
      • +
      • hazard_area - This is a relatively simple component that attempts to deter the parent of the component away +from a specific area or areas. By default it simply applies a penalty where all movement is +four times slower than usual and any action that would affect your 'next move' has a penalty +multiplier of 4 attached.
      • +
      • Healing Touch component - A mob with this component will be able to heal certain targets by attacking them. +This intercepts the attack and starts a do_after if the target is in its allowed type list.
      • +
      • health_scaling_effects
      • +
      • heirloom - Heirloom component. For use with the family heirloom quirk, tracks that an item is someone's family heirloom.
      • +
      • holderloving
      • +
      • ice_cream_holder - Ice Cream Holder: Allows the edible parent object to be used as an ice cream cone (or cup... in a next future).
      • +
      • infective
      • +
      • interaction_booby_trap - Attached to an atom, creates an explosion when it is interacted with
      • +
      • irradiated - This atom is irradiated, and will glow green. +Humans will take toxin damage until all their toxin damage is cleared.
      • +
      • itembound - When a movable has this component AND they are in the contents of a container, they will no longer be able to use their hands and be immobilized until they are removed from the container. So far, this is only useful for smites.
      • +
      • itempicky - You can only hold whitelisted items
      • +
      • jetpack
      • +
      • joint_damage
      • +
      • jousting - damage or heal overlord +##jousting
      • +
      • keep_me_secure
      • +
      • knockoff - Items with this component will have a chance to get knocked off +(unequipped and sent to the ground) when the wearer is disarmed or knocked down.
      • +
      • label - The label component.
      • +
      • leash - Keeps the parent within the distance of its owner as naturally as possible, +but teleporting if necessary.
      • +
      • life_link - A mob with this component passes all damage (and healing) it takes to another mob, passed as a parameter +Essentially we use another mob's health bar as our health bar
      • +
      • light_eater - Makes anything it attaches to capable of removing something's ability to produce light until it is destroyed
      • +
      • ling_decoy_brain - Component applied to ling brains to make them into decoy brains, as ling brains are vestigial and don't do anything
      • +
      • listen_and_repeat - Simple element that will deterministically set a value based on stuff that the source has heard and will then compel the source to repeat it. +Requires a valid AI Blackboard.
      • +
      • Living Heart Component - Applied to a heart to turn it into a heretic's 'living heart'. +The living heart is what they use to track people they need to sacrifice.
      • +
      • lock_on_cursor
      • +
      • lockable_storage - ##lockable_storage +Adds a UI to the object that triggers when you use it in hand (if item) or attack (everything else). +The UI is a lock that, when unlocked, allows you to access the contents inside of it. +When using this, make sure you have icons for on_update_icon_state.
      • +
      • magnet - Attracts items of a certain typepath
      • +
      • manual_heart - Manual heart pumping component. Requires the holder to pump their heart manually every +so often or die.
      • +
      • material_container
      • +
      • Mind Linker - A component that handles linking multiple player's minds +into one network which allows them to talk directly to one another. +Like telepathy but for multiple people at once!
          +
        • active_linking - Subtype of mind linker (I know) which is more active rather than passive, +which involves the master linking people manually rather than people being added automatically.
        • +
      • +
      • mob_chain - Component allowing you to create a linked list of mobs. +These mobs will follow each other and attack as one, as well as sharing damage taken.
      • +
      • mob_harvest - Harvesting component. Useful if you want to be able to harvest items from living mobs.
      • +
      • multiple_lives - A simple component that spawns a mob of the same type and transfers itself to it when parent dies. +For more complex behaviors, use the COMSIG_ON_MULTIPLE_LIVES_RESPAWN comsig.
      • +
      • mutant_hands
      • +
      • netpod_healing
      • +
      • npc_friendly - Makes a mob friendly with most NPC factions
      • +
      • Nuclear Bomb Operator - Component applied to handless non-carbon mobs to allow them to perform the function of a nuclear operative. +Effectively this means they need to be able to:
      • +
      • Obeys Commands Component - Manages a list of pet command datums, allowing you to boss it around +Creates a radial menu of pet commands when this creature is alt-clicked, if it has any
      • +
      • object_possession - Component that allows a user to control any object as if it were a mob. Does give the user incorporeal movement.
      • +
      • omen - omen.dm: For when you want someone to have a really bad day
          +
        • bible - The bible omen. +While it lasts, parent gets a cursed aura filter.
        • +
        • quirk - The quirk omen. Permanent. +Has only a 50% chance of bad things happening, and takes only 25% of normal damage.
        • +
        • smite - The smite omen. Permanent.
        • +
      • +
      • on_hit_effect
      • +
      • onwear_mood - Add to clothing to give the wearer a mood buff and a unique examine text
      • +
      • orbit_poll - A replacement for the standard poll_ghost_candidate. +Use this to subtly ask players to join - it picks from orbiters. +Please use named arguments for this.
      • +
      • overlay_lighting - Movable atom overlay-based lighting component.
      • +
      • palette - A component that stores colors for use by painting-related items like spraycans or palettes +which can be accessed through a radial menu by right clicking the item while it's held by the user mob. +Right-clicking a color will open a color input prompt to edit it. Left clicking will instead select it +and call set_painting_tool_color() on the parent for more specific object behavior.
      • +
      • payment - Handles simple payment operations where the cost of the object in question doesn't change.
      • +
      • pellet_cloud
      • +
      • personal_crafting
      • +
      • phylactery
      • +
      • pinata - Objects or mobs with this componenet will drop items when taking damage.
      • +
      • pinnable_accessory - This accessory can be pinned onto someone else
      • +
      • plane_hide_highest_offset - Component that takes a plane master, and will hide it if it's the highest offset of its kind +This allows us to not show PMs to clients if they're not actively doing anything
      • +
      • plumbing
          +
        • acclimator
        • +
        • acidic_input - Special connect that we currently use for reaction chambers. Being used so we can keep certain inputs separate, like into a special internal acid container
        • +
        • alkaline_input - Special connect that we currently use for reaction chambers. Being used so we can keep certain inputs separate, like into a special internal base container
        • +
        • aquarium - Lazily demand from any direction. Overlays won't look good, and the aquarium sprite occupies about the entire 32x32 area anyway.
        • +
        • buffer - Baby component for the buffer plumbing machine
        • +
        • filter - The magical plumbing component used by the chemical filters. The different supply connects behave differently depending on the filters set on the chemical filter
        • +
        • hydroponics - Special demand connector that consumes as normal, but redirects water into the magical water space.
        • +
        • simple_demand - has one pipe input that only takes, example is manual output pipe
        • +
        • simple_supply - has one pipe output that only supplies. example is liquid pump and manual input pipe
        • +
        • tank - input and output, like a holding tank
        • +
      • +
      • plundering_attacks - Component that makes basic mobs' melee attacks steal money from the target's ID card. +Plundered money is stored and dropped on death or removal of the component.
      • +
      • pricetag
      • +
      • projectile_parry - Add to a living mob to allow them to "parry" projectiles by clicking on their tile, sending them back at the firer.
      • +
      • puzzgrid - Attaches a puzzgrid to the atom. +You are expected to pass in the puzzgrid, likely from create_random_puzzgrid(). +This is so you can handle when a puzzgrid can't be generated, either because the +config does not exist, or because the config is not set up properly.
      • +
      • radiation_countdown - Begins the countdown before a target can be irradiated. +Added by the radiation subsystem when a pulse information has a minimum exposure time. +Will clear itself out after a while.
      • +
      • Radioactive Emitter - Simple component that you can attach to something to make it emit radiation pulses over time.
      • +
      • radioactive_exposure - For directly applying to carbons to irradiate them, without pulses
      • +
      • ranged_attacks - Configurable ranged attack for basic mobs.
      • +
      • ranged_mob_full_auto - Allows a mob to autofire by holding down the cursor
      • +
      • reagent_refiller
      • +
      • recharging_attacks - Reduces the cooldown of a given action upon landing attacks, critting, or killing mobs.
      • +
      • redirect_attack_hand_from_turf - Will redirect touching the turf it is on with your hand to the attack_hand of the parent object.
      • +
      • reflection - A simple-ish component that reflects the icons of movables on the parent like a mirror. +Sadly, there's no easy way to make the SOUTH dir reflection flip the visual so that you can see +the back NORTH dir of a target while it's facing SOUTH beside adding the VIS_INHERIT_DIR flag +to the target movable, which I'm not doing to spare eventual issues with other vis overlays in the future.
      • +
      • regenerator - If the loc is null, only a black (or grey depending on alpha) silhouette of the target will be rendered +Just putting this information here in case you want something like that in the future. +The filter is added to the reflection holder; the matrix is not, otherwise that'd go affecting the filter.
      • +
      • religious_tool - Allows the parent to act similarly to the Altar of Gods with modularity. Invoke and Sect Selection is done via attacking with a bible. This means you cannot sacrifice Bibles (you shouldn't want to do this anyways although now that I mentioned it you probably will want to).
      • +
      • remote_materials
      • +
      • rename - The rename component.
      • +
      • revenge_ability - Automatically triggers a linked ability at a target who attacks us. +The ability might not necessarily be on our mob. +Make sure that /datum/element/relay_attackers is also present or you'll never receive the triggering signal.
      • +
      • riding - This is the riding component, which is applied to a movable atom by the ridable element when a mob is successfully buckled to said movable.
      • +
      • rot - Makes a thing rotting, carries with it a start delay and some things that can halt the rot, along with infection logic
      • +
      • scope
      • +
      • seclite_attachable - Component which allows you to attach a seclight to an item, +be it a piece of clothing or a tool.
      • +
      • sect_nullrod_bonus - sect nullrod bonus component; for sekret rite combos
      • +
      • security_vision - This component allows you to judge someone's level of criminal activity by examining them
      • +
      • seethrough - A component that lets you turn an object invisible when you're standing on certain relative turfs to it, like behind a tree
      • +
      • seethrough_mob - A component that lets you turn your character transparent in order to see and click through yourself.
      • +
      • shell - Makes an atom a shell that is able to take in an attached circuit.
      • +
      • shielded - The shielded component causes the parent item to nullify a certain number of attacks against the wearer, see: shielded vests.
      • +
      • shovel_hands - This component lets mobs dig up the floor with their bare hands
      • +
      • shuttle_cling - Gets added to all movables that enter hyperspace and are supposed to suffer from "hyperspace drift" +This lets people fly around shuttles during transit using jetpacks, or cling to the side if they got a spacesuit +Dumping into deepspace is handled by the hyperspace turf, not the component. +Not giving something this component while on hyperspace is safe, it just means free movement like carps
      • +
      • shy - You can't use items on anyone other than yourself if there are other living mobs around you
      • +
      • shy_in_room - You can't use items on anyone other than yourself if you stand in a blacklisted room
      • +
      • sign_language - Reactive Sign Language Component for Carbons. Allows Carbons to speak with sign language if they have the relevant traits. +Implements sign language by incrementally overriding several critical functions, variables, and argument lists.
      • +
      • simple_access - This component allows us to give a mob access without giving them an ID card.
      • +
      • simple_rotation
      • +
      • singularity - Things that maybe move around and does stuff to things around them +Used for the singularity (duh) and Nar'Sie
      • +
      • slapcrafting - Slapcrafting component!
      • +
      • Slip behaviour component - Add this component to an object to make it a slippery object, slippery objects make mobs that cross them fall over. +Items with this component that get picked up may give their parent mob the slip behaviour.
      • +
      • smooth_tunes - Smooth tunes component! Applied to musicians to give the songs they play special effects, according to a rite! +Comes with BARTICLES!!!
      • +
      • soul_stealer
      • +
      • sound_player - Sound Player component
      • +
      • spawner
      • +
      • spin2win
      • +
      • spinny - spinny.dm
      • +
      • spirit_holding - spirit holding component; for items to have spirits inside of them for "advice"
      • +
      • splattercasting component! - Component that makes casted spells cost blood from the user and dramatically lowers their cooldown.
      • +
      • squashable - This component allows something to be when crossed, for example for cockroaches.
      • +
      • squeak
      • +
      • stationloving - Teleports the movable atom back to a safe turf on the station if it leaves the z-level or becomes inaccessible.
      • +
      • stationstuck
      • +
      • storm_hating - The parent of this component will be destroyed if it's on the ground during a storm
      • +
      • Stove Component - Makes the attached object a stove
      • +
      • strong_pull
      • +
      • style
      • +
      • subtype_picker - subtype picker component allows for an item to transform into its subtypes (this is not enforced and you can turn in whatever types, but +i used this name as it was incredibly accurate for current usage of the behavior)
      • +
      • summoning
      • +
      • supermatter_crystal
      • +
      • surgery_initiator - Allows an item to be used to initiate surgeries.
      • +
      • swabbing
      • +
      • tackler - For when you want to throw a person at something and have fun stuff happen
      • +
      • takes_reagent_appearance
      • +
      • tameable - This component lets you make specific mobs tameable by feeding them
      • +
      • tattoo
      • +
      • technointrovert - You can't use machines unless they are in a whitelist
      • +
      • technoshy - You can't use machines when they've been touched within the last [unused_duration], unless it was by a mob in [whitelist]
      • +
      • temporary_body - ##temporary_body
      • +
      • temporary_description - Adds examine text to something which is removed when receiving specified signals, by default the revive signal. +The default settings are set up to be applied to a corpse to add some kind of immersive storytelling text which goes away upon revival.
      • +
      • thermite
      • +
      • tippable - Tippable component. For making mobs able to be tipped, like cows and medibots.
      • +
      • toggle_attached_clothing - Component which allows clothing to deploy a different kind of clothing onto you. +The simplest example is hooded suits deploying hoods onto your head.
      • +
      • toggle_icon
      • +
      • torn_wall - Component applied to a wall to progressively destroy it. +If component is applied to something which already has it, stage increases. +Wall is destroyed on third application. +Can be fixed using a welder
      • +
      • Trader NPC Component - Manages the barks and the stocks of the traders +Also manages the interactive radial menu
      • +
      • traitor_objective_limit_per_time - Helper component to track events on
      • +
      • traitor_objective_mind_tracker - Helper component to track events on
      • +
      • traitor_objective_register - Helper component that registers signals on an object +This is not necessary to use and gives little control over the conditions
      • +
      • transforming
      • +
      • trapdoor
      • +
      • tree_climber
      • +
      • two_handed - Two Handed Component
      • +
      • udder - Udder component; for farm animals to generate milk.
      • +
      • unobserved_actor
      • +
      • unusual_effect - Creates a cool looking effect on the movable. +In the future, this could be expanded to have more interesting particles and effects.
      • +
      • uplink - Uplinks
      • +
      • usb_port - Opens up a USB port that can be connected to by circuits, creating registerable circuit components
      • +
      • Vacuum Component - Adds a vacuum functionality to an atom, requires a trashbag to be linked +using signals
      • +
      • vision_hurting - A component that damages eyes that look at the owner
      • +
      • wall_mounted
      • +
      • wearertargeting - Pull from the curent object loc
      • +
      • weather_announcer - Component which makes you yell about what the weather is
      • +
      • wet_floor
      • +
    • +
    • computer_file
    • +
    • config_entry
        +
      • flag
          +
        • allow_admin_asaycolor - allows admins with relevant permissions to have a personalized asay color
        • +
        • allow_admin_ooccolor - allows admins with relevant permissions to have their own ooc colour
        • +
        • allow_respawn - Determines if a player can respawn after dying. +0 / RESPAWN_FLAG_DISABLED = Cannot respawn (default) +1 / RESPAWN_FLAG_FREE = Can respawn +2 / RESPAWN_FLAG_NEW_CHARACTER = Can respawn if choosing a different character
        • +
        • allow_rock_the_vote - allow players to vote to re-do the map vote
        • +
        • allow_vote_map - allow votes to change map
        • +
        • allow_vote_restart - allow votes to restart
        • +
        • autoadmin - if autoadmin is enabled
        • +
        • default_no_vote - If disabled, non-voters will automatically have their votes added to certain vote options +(For example: restart votes will default to "no restart", map votes will default to their preferred map / default map, rocking the vote will default to "no")
        • +
        • forbid_preferences_export - Allows players to export their own preferences as a JSON file. Left as a config toggle in case it needs to be turned off due to server-specific needs.
        • +
        • hub - if the game appears on the hub or not
        • +
        • log_access - log login/logout
        • +
        • log_admin - log admin actions
        • +
        • log_adminchat - log admin chat messages
        • +
        • log_as_human_readable - Log human readable versions of json log entries
        • +
        • log_asset - log assets
        • +
        • log_attack - log attack messages
        • +
        • log_econ - log economy actions
        • +
        • log_emote - log emotes
        • +
        • log_game - log game events
        • +
        • log_internet_request - Log Music Requests
        • +
        • log_job_debug - log roundstart divide occupations debug information to a file
        • +
        • log_manifest - log crew manifest to separate file
        • +
        • log_mecha - log mech data
        • +
        • log_ooc - log messages sent in OOC
        • +
        • log_pda - log pda messages
        • +
        • log_prayer - log prayers
        • +
        • log_say - log client say
        • +
        • log_shuttle - log shuttle related actions, ie shuttle computers, shuttle manipulator, emergency console
        • +
        • log_silicon - log silicons
        • +
        • log_speech_indicators - log speech indicators(started/stopped speaking)
        • +
        • log_suspicious_login - Config entry which special logging of failed logins under suspicious circumstances.
        • +
        • log_telecomms - log telecomms messages
        • +
        • log_timers_on_bucket_reset - logs all timers in buckets on automatic bucket reset (Useful for timer debugging)
        • +
        • log_tools - log usage of tools
        • +
        • log_traitor - log traitor objectives
        • +
        • log_twitter - log certain expliotable parrots and other such fun things in a JSON file of twitter valid phrases.
        • +
        • log_uplink - log uplink/spellbook/codex ciatrix purchases and refunds
        • +
        • log_virus - log virology data
        • +
        • log_vote - log voting
        • +
        • log_whisper - log client whisper
        • +
        • log_world_topic - log all world.Topic() calls
        • +
        • log_zone_switch - log manual zone switching
        • +
        • no_dead_vote - Prevents dead people from voting.
        • +
        • panic_bunker_interview - Flag for requiring players who would otherwise be denied access by the panic bunker to complete a written interview
        • +
        • popup_admin_pm - Gives the ability to send players a maptext popup.
        • +
        • secure_chat_commands - validate ownership of admin flags for chat commands
        • +
        • silicon_asimov_superiority_override - Controls if Asimov Superiority appears as a perk for humans even if standard Asimov isn't the default AI lawset
        • +
        • use_exp_restrictions_heads - Enables head jobs time restrictions.
        • +
        • use_exp_restrictions_other - Enables non-head jobs time restrictions.
        • +
      • +
      • keyed_list
      • +
      • number
          +
        • lobby_countdown - Countdown between lobby and the round starting.
        • +
        • max_hub_pop - Pop requirement for the server to be removed from the hub
        • +
        • max_rocking_votes - the number of times we allow players to rock the vote
        • +
        • maximum_potential_objectives - Determines how many potential objectives a traitor can have.
        • +
        • outdated_movedelay - Outdated move delay
        • +
        • respawn_delay - Determines how long (in deciseconds) before a player is allowed to respawn.
        • +
        • round_end_countdown - Post round murder death kill countdown.
        • +
        • seconds_cooldown_for_preferences_export - The number of seconds a player must wait between preference export attempts.
        • +
        • traitor_ideal_player_count - Determines the ideal player count for maximum progression per minute.
        • +
        • traitor_scaling_multiplier - Determines how fast traitors scale in general.
        • +
        • vote_delay - minimum time between voting sessions (deciseconds, 10 minute default)
        • +
        • vote_period - length of voting period (deciseconds, default 1 minute)
        • +
      • +
      • str_list - List config entry, used for configuring a list of strings
      • +
      • string
          +
        • admin_2fa_url - URL for admins to be redirected to for 2FA
        • +
        • autoadmin_rank - the rank given to autoadmins
        • +
        • db_daemon - The exe for mariadbd.exe. +Shouldn't really be set on production servers, primarily for EZDB.
        • +
        • servername - server name (the name of the game window)
        • +
        • serversqlname - short form server name used for the DB
        • +
        • stationname - station name (the name of the station in-game)
        • +
      • +
    • +
    • contractor_hub
    • +
    • controller
    • +
    • crafting_recipe
        +
      • clown_scanner_upgrade - Recipe used for upgrading fake N-spect scanners to bananium HONK-spect scanners
      • +
      • food
          +
        • bananacreampie - PIES
        • +
        • carrotcake - CAKE
        • +
        • donkpocket - DONKPOCCKETS
        • +
        • donut - DONUTS
            +
          • jelly/berry - JELLY DONUTS
          • +
          • slimejelly/berry - SLIME DONUTS
          • +
        • +
        • flavorless_sc - SNOW CONES
        • +
        • herbsalad - SALADS
        • +
        • humanburger - BURGERS
        • +
        • humankebab - KEBABS
        • +
        • khachapuri - OTHER
        • +
        • margheritapizza - PIZZA!!!
        • +
        • meatbread - BREAD
        • +
        • muffin - MUFFINS
        • +
        • orange_popsicle - POPSICLES
        • +
        • reaction
        • +
        • sandwich - SANDWICHES
        • +
        • sausageegg - EGG RECIPE's
        • +
        • slimetoast - TOAST
        • +
        • spidereggsham - MR SPIDER
        • +
        • tempehstarter - MISC RECIPE's
        • +
        • tomatopasta - SPAGHETTI
        • +
        • waffles - WAFFLES
        • +
      • +
      • holybottle - Non-alcoholic recipes
      • +
      • honkbot - if you add a new one don't forget to update /obj/item/storage/medkit/attackby()
      • +
      • lizardwine - Booze & Bottles
      • +
    • +
    • crewmonitor
    • +
    • crime - Crime data. Used to store information about crimes.
    • +
    • crystal_warp_theme - Transforms an area's turfs and objects into a different theme
    • +
    • ctf_controller - The CTF controller acts as a manager for an individual CTF game, each CTF game should have its own, the controller should handle all game-wide functionality.
    • +
    • ctf_team - A datum that holds details about individual CTF teams, any team specific CTF functionality should be implimented here.
    • +
    • ctf_voting_controller
    • +
    • custom_order - custom order datums +Used for less generic orders (ice cream for example) +without snowflaking venue and customer code too much.
    • +
    • customer_data
        +
      • malfunction - MALFUNCTIONING - only shows up once per venue, very rare
      • +
      • moth
      • +
    • +
    • data - Currently used for experiments, vending products.
    • +
    • data_rc_msg
    • +
    • data_tablet_msg - Log datums stored by the message server.
    • +
    • db_query
    • +
    • deck_card - A basic interface for creating a card for a deck that isn't just a name.
        +
      • of_type - A /datum/deck_card that just creates a card of the given type
      • +
    • +
    • decompose_matrix - Datum which stores information about a matrix decomposed with decompose().
    • +
    • demoralise_moods - Mood application categories for this objective +Used to reduce duplicate code for applying moods to players based on their state
    • +
    • design - Design Datums +All the data for building stuff.
        +
      • alienscalpel - Alien Surgical Tools
      • +
      • alienwrench - Alien Tools
      • +
      • basic_cell - Power
      • +
      • beacon - Bluespace
      • +
      • board - Computer Boards
          +
        • aicore - AI Module Disks
        • +
        • electrolyzer - MISC Boards
        • +
        • ripley_main - Mecha Module Disks
        • +
        • subspace_receiver - Subspace Telecomms
        • +
      • +
      • borg_upgrade_rename - Borg Upgrades
      • +
      • c38/sec - Weapons
      • +
      • cargo_express - Mining
      • +
      • cyberimp_breather - Cybernetic Implants
      • +
      • fire_extinguisher_advanced - Tools
      • +
      • healthanalyzer - Medical Tools
      • +
      • implanter - Regular Implants
      • +
      • intellicard - Non-Board Computer Stuff
      • +
      • leftarm - Limb Grower Designs
      • +
      • mech_scattershot - Mecha Equpment
      • +
      • milk - Biogenerator Designs
      • +
      • plasteel_alloy - SMELTABLE ALLOYS
      • +
      • portabledrive/basic - Computer Parts
      • +
      • rped - Stock Parts
      • +
      • surgery - Surgery Designs
      • +
      • tech_disk - Disk Construction Disks
      • +
    • +
    • dimension_theme - Datum which describes a theme and replaces turfs and objects in specified locations to match that theme
    • +
    • discord_embed - Documentation for the embed object and all of its variables can be found at +https://discord.com/developers/docs/resources/channel#embed-object +It is recommended to read the documentation on the discord website, as the information below could become outdated in the future.
    • +
    • discord_link_record - Represents a record from the discord link table in a nicer format
    • +
    • disease
        +
      • advance
          +
        • carpellosis - Caused by dirty food. Makes you growl at people and bite them spontaneously.
        • +
        • gastritium - Caused by dirty food. Makes you burp out Tritium, sometimes burning hot!
        • +
        • nebula_nausea - Caused by dirty food. Makes you vomit stars.
        • +
        • random/event
        • +
      • +
      • parrot_possession
      • +
      • wizarditis
      • +
    • +
    • disease_ability/symptom
        +
      • medium/shedding - MEDIUM
      • +
      • mild - BASE SYMPTOM TYPES
          +
        • cough - MILD
        • +
      • +
      • powerful
          +
        • fire - POWERFUL
        • +
        • heal/starlight - HEALING SUBTYPE
        • +
      • +
    • +
    • dna - DNA DATUM
    • +
    • dog_fashion
    • +
    • dream - Contains all the behavior needed to play a kind of dream. +All dream types get randomly selected from based on weight when an appropriate mobs dreams.
        +
      • hear_something - Dream plays a random sound at you, chosen from all sounds in the folder
      • +
      • random - The classic random dream of various words that might form a cohesive narrative, but usually wont
      • +
    • +
    • ductnet - We handle the unity part of plumbing. We track who is connected to who.
    • +
    • duel
    • +
    • dynamic_ruleset
        +
      • latejoin
          +
        • provocateur
        • +
        • stowaway_changeling - Ruleset for latejoin changelings
        • +
      • +
      • midround - Midround Rulesets
          +
        • dangerous_pirates - Dangerous Space Pirates ruleset
        • +
        • from_ghosts
            +
          • blob - Midround Blob Ruleset (From Ghosts)
          • +
          • changeling_midround - Midround Space Changeling Ruleset (From Ghosts)
          • +
          • nightmare - Midround Nightmare Ruleset (From Ghosts)
          • +
          • nuclear - Midround Nuclear Operatives Ruleset (From Ghosts)
          • +
          • paradox_clone - Midround Paradox Clone Ruleset (From Ghosts)
          • +
          • revenant - Midround Revenant Ruleset (From Ghosts)
          • +
          • sentient_disease - Midround Sentient Disease Ruleset (From Ghosts)
          • +
          • space_dragon - Midround Space Dragon Ruleset (From Ghosts)
          • +
          • space_ninja - Midround Space Ninja Ruleset (From Ghosts)
          • +
          • wizard - Midround Wizard Ruleset (From Ghosts)
          • +
          • xenomorph - Midround Xenomorph Ruleset (From Ghosts)
          • +
        • +
        • from_living - subtype to handle checking players
            +
          • autotraitor - Midround Traitor Ruleset (From Living)
          • +
          • blob_infection - Midround Blob Infection Ruleset (From Living)
          • +
          • obsessed - Midround Obsessed Ruleset (From Living)
          • +
        • +
        • malf - Midround Malf AI Ruleset (From Living)
        • +
        • pirates - Midround Space Pirates Ruleset (From Ghosts)
        • +
        • spiders - Midround Spiders Ruleset (From Ghosts)
        • +
      • +
      • roundstart
          +
        • nations - Ruleset for Nations
        • +
        • revs
        • +
      • +
    • +
    • dynamic_snapshot - A "snapshot" of dynamic at an important point in time. +Exported to JSON in the dynamic.json log file.
    • +
    • dynamic_snapshot_ruleset - A ruleset chosen during a snapshot
    • +
    • effect_system
        +
      • fluid_spread - A factory which produces fluid groups.
          +
        • foam - A factory for foam fluid floods.
            +
          • firefighting - A factory which produces firefighting foam
          • +
          • long - A factory which produces foam with an extended lifespan.
          • +
          • metal - A factory which produces aluminium metal foam.
              +
            • iron - A factory which produces iron metal foam.
            • +
            • smart - A factory which produces smart aluminium metal foam.
            • +
          • +
        • +
        • smoke - A factory which produces clouds of smoke.
            +
          • bad - A factory which produces smoke that makes you cough.
              +
            • black - A factory which produces black smoke that makes you cough.
            • +
            • green - A factory which produces green smoke that makes you cough.
            • +
          • +
          • chem - A factory which produces clouds of chemical bearing smoke.
              +
            • smoke_machine - A factory which produces clouds of smoke for the smoke machine.
            • +
          • +
          • colourful - Spawns randomly coloured smoke
          • +
          • freezing - A factory which produces light blue, transparent smoke and a blast that chills every turf in the area.
              +
            • decon - A variant of the base freezing smoke formerly used by the vent decontamination event.
            • +
          • +
          • quick - A factory which produces smoke that dissipates as quickly as possible.
          • +
          • sleeping - A factory which produces sleeping smoke.
          • +
          • transparent - Same as the base type, but the smoke produced is not opaque
          • +
        • +
      • +
      • reagents_explosion
      • +
      • trail_follow - ///// Attach a trail to any object, that spawns when it moves (like for the jetpack) +just pass in the object to attach it to in set_up +Then do start() to start it and stop() to stop it, obviously +and don't call start() in a loop that will be repeated otherwise it'll get spammed!
      • +
    • +
    • element - A holder for simple behaviour that can be attached to many different types
        +
      • ai_control_examine - ai control examine; which gives the pawn of the parent the noticable organs depending on AI status!
      • +
      • ai_flee_while_injured - Attached to a mob with an AI controller, simply sets a flag on whether or not to run away based on current health values.
      • +
      • AI Held Item Element - Manages holding an item for a mob which doesn't have hands but needs to for AI purposes.
      • +
      • ai_retaliate - Attached to a mob with an AI controller, passes things which have damaged it to a blackboard. +The AI controller is responsible for doing anything with that information.
      • +
      • ai_swap_combat_mode - Attached to a mob with an AI controller, updates combat mode when the affected mob acquires or loses targets
      • +
      • ai_target_damagesource - Attached to a mob with an AI controller, sets the blackboard current target to the most recent thing to attack this mob. +The AI controller is responsible for doing anything with that information.
      • +
      • amputating_limbs - This component will intercept bare-handed attacks by the owner on sufficiently injured carbons and amputate random limbs instead
      • +
      • Animal variety element! - Element that picks an suffix to append onto the icon state from a list given on creation, +among some pixel shifting stuff. Basically you will see VARIETY in a batch of animals.
      • +
      • atmos_requirements
      • +
      • attack_equip - Attached to an item, when the item is used to attack a human, and the attacker isn't in combat mode, attempts to equip the item to the target after the normal delay.
      • +
      • backblast - When attached to a gun and the gun is successfully fired, this element creates a "backblast" of fire and pain, like you'd find in a rocket launcher or recoilless rifle
      • +
      • bane - Deals extra damage to mobs of a certain type, species, or biotype. +This doesn't directly modify the normal damage of the weapon, instead it applies it's own damage seperatedly ON TOP of normal damage +ie. a sword that does 10 damage with a bane elment attacthed that has a 0.5 damage_multiplier will do: +10 damage from the swords normal attack + 5 damage (50%) from the bane element
      • +
      • basic_body_temp_sensitive - When attached to a basic mob, it gives it the ability to be hurt by cold/hot body temperatures
      • +
      • basic_eating
      • +
      • beauty - Beauty element. It makes the indoor area the parent is in prettier or uglier depending on the beauty var value. +Clean and well decorated areas lead to positive moodlets for passerbies; +Shabbier, dirtier ones lead to negative moodlets EXCLUSIVE to characters with the snob quirk.
      • +
      • bed_tuckable - Tucking element, for things that can be tucked into bed.
      • +
      • Befriend Petting - Element which makes a mob befriend you if you pet it enough.
      • +
      • blocks_explosives - Apply this element to a movable atom when you want it to block explosions +It will mirror the blocking down to that movable's turf, keeping explosion work cheap
      • +
      • bombable_turf - Apply this to a turf (usually a wall) and it will be destroyed instantly by any explosion. +Most walls can already be destroyed by explosions so this is largely for usually indestructible ones. +For applying it in a map editor, use /obj/effect/mapping_helpers/bombable_wall
      • +
      • bonus_damage - Attached to a mob that will then deal bonus damage to a victim with low, or potentially in the future, high health.
      • +
      • bugkiller_reagent - Simple element to be applied to reagents +When those reagents are exposed to mobs with the bug biotype, causes toxins damage +If this delivers the killing blow on a non-humanoid mob, it applies a special status effect that does a funny animation
      • +
      • bump_click - Bump click bespoke element
      • +
      • can_barricade
      • +
      • caseless - An element that deletes the casing when fired and, if reusable is true, adds the projectile_drop element to the bullet. +Just make sure to not add components or elements that also use COMSIG_FIRE_CASING after this one. +Not compatible with pellets (how the eff would that work in a senible way tho?).
      • +
      • change_force_on_death - Element to change a mob's move forces on death and reset them on living
      • +
      • chemical_transfer
      • +
      • chewable - Anything with this element will provide the reagents inside the +item to the user when it is equipped.
      • +
      • cliff_walking - Lets a mob walk cliffs and keeps track of if they're alive or not to add/remove the trait
      • +
      • climbable
      • +
      • connect_loc - This element hooks a signal onto the loc the current object is on. +When the object moves, it will unhook the signal and rehook it to the new object.
      • +
      • consumable_mob - element for mobs that can be consumed!
      • +
      • content_barfer - Content Barfer; which expels the contents of a mob when it dies, or is transformed
      • +
      • contextual_screentip_bare_hands - Apply basic contextual screentips when the user hovers over this item with an empty hand. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
      • +
      • contextual_screentip_item_typechecks - Apply basic contextual screentips when the user hovers over this item with a provided item. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
      • +
      • contextual_screentip_mob_typechecks - Apply basic contextual screentips when a user of a specific typepath hovers over us. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
      • +
      • contextual_screentip_sharpness - Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
      • +
      • contextual_screentip_tools - Apply basic contextual screentips when the user hovers over this item with an item of the given tool behavior. +A "Type B" interaction. +This stacks with other contextual screentip elements, though you may want to register the signal/flag manually at that point for performance.
      • +
      • crackable - Adds crack overlays to an object when integrity gets low
      • +
      • crusher_loot - Crusher Loot; which makes the attached mob drop a crusher trophy of some type if the majority damage was from a crusher!
      • +
      • cuffsnapping - cuffsnapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.
      • +
      • Cult eyes element - Applies and removes the glowing cult eyes
      • +
      • Cult halo element - Applies and removes the cult halo
      • +
      • curse announcement element! - Bespoke element that sends a harrowing message when you first pick up an item, applying a spooky color outline and renaming the item. +For most items, it will announce when picked up. If the item can be equipped, though, it will only announce when the item is worn. +Possible improvements for the future: add an option to allow the cursed affix to be a prefix. right now only coded for suffixes
      • +
      • cursed element! - Attaching this element to something will make it float, and get a special ai controller!
      • +
      • damage_threshold - Applied to living mobs. +Adds a force threshold for which attacks will be blocked entirely. +IE, if they are hit with an attack that deals less than X damage, the attack does nothing.
      • +
      • dangerous_surgical_removal
      • +
      • death_drops
      • +
      • death_explosion
      • +
      • death_gases
      • +
      • decal
      • +
      • delete_on_drop - Attaches to an item, if that item is dropped on the floor delete it
      • +
      • deliver_first
      • +
      • dextrous - Sets up the attachee to have hands and manages things like dropping items on death and displaying them on examine +Actual hand performance is managed by code on /living/ and not encapsulated here, we just enable it
      • +
      • diggable - Lets you make hitting a turf with a shovel pop something out, and scrape the turf
      • +
      • door_pryer - Attached to a basic mob. +Causes attacks on doors to attempt to open them.
      • +
      • drag_pickup - drag_pickup element; for allowing things to be picked up by dragging.
      • +
      • dryable
      • +
      • effect_trail
      • +
      • elevation - Manages the elevation of the turf the source is on (can be the turf itself) +The atom with the highest pixel_shift gets to set the elevation of the turf to that value.
      • +
      • elevation_core - The core element attached to the turf itself. Do not use this directly!
      • +
      • embed
      • +
      • envenomable_casing
      • +
      • eyestab - An element that lets you stab people in the eyes when targeting them
      • +
      • falling_hazard - An element that will make a target thing do damage to any mob that it falls on from a z-level above
      • +
      • firestacker - Can be applied to /atom/movable subtypes to make them apply fire stacks to things they hit
      • +
      • floor_loving - Prevents a movable atom from moving to somewhere which isn't an open turf with floor on it
      • +
      • food_trash
      • +
      • foodlike_drink - This element can be attached to a reagent container to make it loop after drinking like a food item
      • +
      • footstep - Footstep element. Plays footsteps at parents location when it is appropriate.
      • +
      • footstep_override - When attached, the footstep sound played by the footstep element will be replaced by this one's
      • +
      • forced_gravity
      • +
      • fried_item - Items fried through the deep fryer.
      • +
      • frozen - simple element to handle frozen obj's
      • +
      • gags_recolorable - An element that lets players recolor the item through the greyscale menu with the help of a spraycan.
      • +
      • give_turf_traits - A bespoke element that adds a set of traits to the turf while occupied by at least one attached movabled.
      • +
      • grilled_item - Items grilled through the grill.
      • +
      • mobs that can wear hats!
      • +
      • haunted - Attaching this element to something will make it float, get a special ai controller, and gives it a spooky outline.
      • +
      • heretic_focus - Heretic focus element, simple element for making an item a heretic focus, +allowing heretics to cast advanced spells (examine message included).
      • +
      • High Fiver Element - Attach to an item to make it offer a "high five" when offered to people
      • +
      • honkspam - Attachable to items. Plays a bikehorn sound whenever attack_self is called (with a cooldown).
      • +
      • human_biter - Allows carbons with heads to attempt to bite mobs if attacking with cuffed hands / missing arms
      • +
      • immerse - A visual element that makes movables entering the attached turfs look immersed into that turf.
      • +
      • item_fov - An element to unconditonally add a FOV trait to the wearer, removing it when an item is unequipped
      • +
      • item_scaling - Element for scaling item appearances in the overworld or in inventory/storage.
      • +
      • kneecapping - Kneecapping element replaces the item's secondary attack with an aimed attack at the kneecaps under certain circumstances.
      • +
      • kneejerk - An element which enables certain items to tap people on their knees to measure brain health
      • +
      • knockback - Mobs and items with this element will knock movable targets they hit away from them. +Guns and turrets will instead fire projectiles with similar effects.
      • +
      • lazy_fishing_spot - Lazy fishing spot element so fisheable turfs do not have a component each since +they're usually pretty common on their respective maps (lava/water/etc)
      • +
      • lifesteal - Heals the user (if attached to an item) or the mob itself (if attached to a hostile simple mob) +by a flat amount whenever a successful attack is performed against another living mob.
      • +
      • light_blocking - Attached to movable atoms with opacity. Listens to them move and updates their old and new turf loc's opacity accordingly.
      • +
      • light_eaten - Makes anything that it attaches to incapable of producing light
      • +
      • light_eater - Makes anything it attaches to capable of permanently removing something's ability to produce light.
      • +
      • loomable - Element that makes items turn into other items when you use them on a loom (or any other thing really if you change the var)
      • +
      • microwavable - Atoms that can be microwaved from one type to another.
      • +
      • mirage_border - Creates a mirage effect allowing you to see around the world border, by adding the opposite side to its vis_contents.
      • +
      • mob_grabber - Grab onto mobs we attack
      • +
      • mob_killed_tally - Mob Killed Tally; which ticks up a blackbox when the mob dies
      • +
      • movement_turf_changer - movement_turf_changer element; which makes the movement of a movable atom change the turf it moved to
      • +
      • movetype_handler - An element that enables and disables movetype bitflags whenever the relative traits are added or removed. +It also handles the +2/-2 pixel y anim loop typical of mobs possessing the FLYING or FLOATING movetypes. +This element is necessary for the TRAIT_MOVE_ traits to work correctly, so make sure to attach this element +before adding them to non-living movables.
      • +
      • nerfed_pulling - This living will be slower when pulling/moving anything in the given typecache
      • +
      • noticable_organ - noticable organ element; which makes organs have a special description added to the person with the organ, if certain body zones aren't covered.
          +
        • ai_control - Subtype of noticable organs for AI control, that will make a few more ai status checks before forking over the examine.
        • +
      • +
      • obj_regen - Object integrity regeneration element added by alien alloy.
      • +
      • openspace_item_click_handler - allow players to easily use items such as iron rods, rcds on open space without +having to pixelhunt for portions not occupied by object or mob visuals.
      • +
      • organ_set_bonus - organ set bonus element; which makes organs in the same set, all in one person, provide a unique bonus!
      • +
      • Pet bonus element! - Bespoke element that plays a fun message, sends a heart out, and gives a stronger mood bonus when you pet this animal. +I may have been able to make this work for carbons, but it would have been interjecting on some help mode interactions anyways.
      • +
      • plant_backfire - -- Plant backfire element -- +Certain high-danger plants, like death-nettles, will backfire and harm the holder if they're not properly protected. +If a user is protected with something like leather gloves, they can handle them normally. +If they're not protected properly, we invoke a callback on the user, harming or inconveniencing them.
      • +
      • point_of_interest - Designates the atom as a "point of interest", meaning it can be directly orbited
      • +
      • prevent_attacking_of_types - This hostile will not be able to attack a given typecache, and will receive +a balloon alert when it tries to.
      • +
      • processable
      • +
      • projectile_drop - A simple element that spawns an atom when the bullet hits an object or reaches the end of its range +If the projectile has embedding and it can embed into the target, then it won't spawn the drop, +since embedding the embed element already handles that.
      • +
      • projectile_shield
      • +
      • radiation_protected_clothing - Marks the item as being radiation protected. +Adds the TRAIT_RADIATION_PROTECTED_CLOTHING trait, as well as adding an +extra bit to the examine descrpition.
      • +
      • radioactive - This atom will regularly pulse radiation.
      • +
      • ranged_armour - Reduces or nullifies damage from ranged weaponry with force below a certain value
      • +
      • relay_attackers - This element registers to a shitload of signals which can signify "someone attacked me". +If anyone does it sends a single "someone attacked me" signal containing details about who done it. +This prevents other components and elements from having to register to the same list of a million signals, should be more maintainable in one place.
      • +
      • ridable - This element is used to indicate that a movable atom can be mounted by mobs in order to ride it. The movable is considered mounted when a mob is buckled to it, +at which point a riding component is created on the movable, and that component handles the actual riding behavior.
      • +
      • rust - Adding this element to an atom will have it automatically render an overlay. +The overlay can be specified in new as the first paramter; if not set it defaults to rust_overlay's rust_default
      • +
      • series
      • +
      • shatters_when_thrown - When attached to something, will make that thing shatter into shards on throw impact or z level falling
      • +
      • sideway_movement - A simple element that forces the mob to face a perpendicular direction when moving, like crabs.
      • +
      • simple flying element! - Non bespoke element (1 in existence) that makes animals fly while living and... not while dead! +Note: works for carbons and above, but please do something better. humans have wings got dangit!
      • +
      • skill_reward - An element that forbids mobs without a required skill level from equipping the item.
          +
        • veteran - Welp, the code is pretty much the same, except for one tiny detail, I suppose it's ok to make a subtype of this element. +That tiny detail is that we don't check for skills, but if the player has played for thousands of hours.
        • +
      • +
      • soft_landing
      • +
      • squish - squish.dm
      • +
      • sticker
      • +
      • strippable - An element for atoms that, when dragged and dropped onto a mob, opens a strip panel.
      • +
      • structure_repair - Intercepts attacks from mobs with this component to instead repair specified structures.
      • +
      • swabable
      • +
      • temporary_atom - Deletes the atom with a little fading out animation after a specified time
      • +
      • tenacious - tenacious element; which makes the parent move faster while crawling
      • +
      • tiny_mob_hunter - Deals bonus brute damage to smaller mobs
      • +
      • tool_flash - Tool flash bespoke element
      • +
      • turf_z_transparency
      • +
      • undertile - Add to an object if you want to be able to be hidden under tiles
      • +
      • Unfriend Attacker - Element which makes a mob remove you from its friends list you if you hurt it. +Doesn't make a callout post because we don't have twitter integration.
      • +
      • update_icon_blocker - Prevents calling anything in update_icon() like update_icon_state() or update_overlays()
      • +
      • update_icon_updates_onmob
      • +
      • uplink_reimburse - Uplink Reimburse element. +When element is applied onto items, it allows them to be reimbursed if an user pokes an item with a uplink component with them.
      • +
      • venomous - Venomous element; which makes the attacks of the simplemob attached poison the enemy.
      • +
      • venue_price - This component can be used to give something value for venues
      • +
      • volatile_gas_storage - An element to make an /obj explode based on gas pressure when broken
      • +
      • wall_engraver - An element that lets you engrave walls when right click is used
      • +
      • Wall Smasher - An element you put on mobs to let their attacks break walls +If put in the hands of a player this can cause a lot of problems, be careful
      • +
      • wall_tearer - Allows attached mobs to destroy walls over time, a little less unreasonable than the instant wall deletion of wall_smasher
      • +
      • wall_walker - This element will allow the mob it's attached to to pass through a specified type of wall, and drag anything through it.
      • +
      • weapon_description - The purpose of this element is to widely provide the ability to examine an object and determine its stats, with the ability to add +additional notes or information based on type or other factors
      • +
      • weather_listener - This element just handles creating and destroying an area sound manager that's hooked into weather stuff
      • +
      • Web Walker element - A mob with this element will move more slowly when it's not stood on a webbed turf.
      • +
      • wheel - Element which spins you as you move
      • +
    • +
    • Emote - Most of the text that's not someone talking is based off of this.
        +
      • living
          +
        • carbon/human/monkey - Snowflake emotes only for le epic chimp
        • +
        • yawn
        • +
      • +
      • slime/mood
      • +
    • +
    • equilibrium
    • +
    • ert
    • +
    • escape_menu
    • +
    • event_admin_setup - Datum that holds a proc for additional options when running an event. +Prototypes are declared here, non-prototypes on the event files.
        +
      • anomaly_ectoplasm
      • +
      • carp_migration
      • +
      • input_number
      • +
      • listed_options - A very common pattern is picking from a tgui list input, so this does that. +Supply a list in get_list and prompt admins will have the admin pick from it or cancel.
          +
        • departmental_revolt - which department is revolting?
        • +
        • disease_outbreak - Handles actually selecting whicch disease will spawn.
        • +
        • disease_outbreak_advanced/severity - Admin virus customization
        • +
      • +
      • mass_hallucination
      • +
      • minimum_candidate_requirement - For events that mandate a set number of candidates to function
          +
        • disease_outbreak - Handles checking and alerting admins about the number of valid candidates
        • +
      • +
      • multiple_choice
      • +
      • question - For events that require a true/false question
          +
        • departmental_revolt_annouce - Announce the separatist nation to the round?
        • +
        • departmental_revolt_dangerous - Is it going to try fighting other nations?
        • +
        • immovable_rod - Admins can also force it to loop around forever, or at least until the RD gets their hands on it.
        • +
      • +
      • set_location
          +
        • immovable_rod - Admins can pick a spot the rod will aim for
        • +
      • +
      • syndicate_cargo_pod
      • +
      • text_input - For admin setups that want a custom string. Suggests what the event would have picked normally.
      • +
      • warn_admin - Some events are not always a good idea when a game state is in a certain situation. +This runs a check and warns the admin.
      • +
    • +
    • events
    • +
    • everyone_is_a_traitor_controller - Makes sure latejoining crewmembers also become traitors.
    • +
    • excited_group - EXCITED GROUPS
    • +
    • exoscan - Represents scan in progress, only one globally for now, todo later split per z or allow partial dish swarm usage
    • +
    • Experiment - This is the base datum for experiments, storing the base definition.
        +
      • exploration_scan/random
      • +
      • ordnance - A ordnance experiment datum. What gives the science in the first place. +One is instantiated by the techweb, another one is also kept on SSresearch for the briefing. +A disk should contain several of these in a list. Only one should get picked for the final paper.
      • +
      • physical
      • +
      • Scanning Experiment - This is the base implementation of scanning experiments.
          +
        • fish - A special scanning experiment that unlocks further settings for the fishing portal generator. +Mainly as an inventive solution to many a fish source being limited to maps that have it, +and to make the fishing portal generator a bit than just gubby and goldfish.
        • +
        • people - An experiment where you scan your fellow humans
            +
          • novel_organs - Scan for organs you didn't start the round with
          • +
        • +
        • points
            +
          • machinery_pinpoint_scan
          • +
          • machinery_tiered_scan - This experiment type will turn up TRUE if at least one of the stock parts in the scanned machine is of the required_tier. +Pretend to upgrade security's techfab but in reality apply only one better matter bin! +Note that a stock part in a machine can either be an object, or a datum.
          • +
          • slime - The suicide victim's brain that will be placed inside the toilet's cistern +The toilet we're about to unleash unto this cursed plane of existence
          • +
        • +
        • random
        • +
      • +
    • +
    • exploration_event - Exploration event
        +
      • adventure - Adventure wrapper event
      • +
      • fluff - Just a message in the log nothing more
      • +
      • simple - Simple events, not a full fledged adventure, consist only of single encounter screen
          +
        • danger - Danger event - unskippable, if you have appriopriate tool you can mitigate damage.
            +
          • carp - Danger events
              +
            • surface_variety - They get everywhere
            • +
          • +
        • +
        • resource - Simple event type that checks if you have a tool and after a retrieval delay adds loot to drone.
            +
          • concealed_cache - Resource Events
          • +
        • +
        • trader - Trader events - If drone is loaded with X exchanges it for Y, might require translator tool.
            +
          • vendor_ai - Trade events
          • +
        • +
      • +
    • +
    • exploration_site - Exploration site, drone travel destination representing interesting zone for exploration.
        +
      • abandoned_refueling_station - Sites
      • +
      • alien_ruins - Planet Type, Atmosphere
      • +
    • +
    • export
        +
      • food - Original Food export file got eaten somewhere along the line and I have no idea when or where it got completely deleted. +Foods given a venue value are exportable to cargo as a backup to selling from venues, however at the expense of elasticity.
      • +
      • large/gas_canister - Gas canister exports. +I'm going to put a quick aside here as this has been a pain to balance for several years now, and I'd like to at least break how to keep gas exports tame. +So: Gasses are sold in canisters below, which have a variable amount of maximum pressure before they start to break. The largest of which is 9.2e13 kPa. +This means we can determine a theoretical maximum value for gas sale prices using the ideal gas laws, as we know we have a minimum gas temperature of 2.7 kelvin.
      • +
      • photocopy
      • +
      • pirate
      • +
    • +
    • export_report
    • +
    • fantasy_affix
        +
      • bane - Good suffixes
      • +
      • fool - Bad suffixes
      • +
    • +
    • fax_panel_interface - Admin Fax Panel. Tool for sending fax messages faster.
    • +
    • feed_channel
    • +
    • feed_comment
    • +
    • feed_message
    • +
    • feed_network
    • +
    • fish_evolution - Fish evolution datums
    • +
    • fish_source - Where the fish actually come from - every fishing spot has one assigned but multiple fishing holes +can share single source, ie single shared one for ocean/lavaland river
        +
      • portal
          +
        • random - A special portal fish source which fish table is populated on init with the contents of all +portal fish sources, except for FISHING_DUD, and a couple more caveats.
        • +
        • syndicate - Unlocked by emagging the fishing portal generator with an emag.
        • +
      • +
    • +
    • fish_trait
        +
      • no_mating - Useful for those species with the parthenogenesis trait if you don't want them to mate with each other, +or for similar shenanigeans, I don't know. +Otherwise you could just set the stable_population to 1.
      • +
    • +
    • fishing_challenge
    • +
    • fluid_group - SMOKE SYSTEMS +A group of fluid objects.
    • +
    • font - A font datum, it exists to define a custom font to use in a span style later.
        +
      • grand9k - For clean results on map, use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 6pt = 8px, 12pt = 16px etc. +Base font
          +
        • size_6pt - For icon overlays +Grand9K 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
        • +
      • +
      • pixellari - For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
          +
        • size_12pt - For icon overlays +Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
        • +
      • +
      • spessfont - For clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
          +
        • size_6pt - For icon overlays +Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
        • +
      • +
      • tiny_unicode - For clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
          +
        • size_12pt - For icon overlays +TinyUnicode 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
        • +
      • +
    • +
    • food_processor_process
    • +
    • force_event - Force Event Panel
    • +
    • foreign_calendar
    • +
    • forensics - Forensics datum
    • +
    • gas
    • +
    • gas_machine_connector - To be used when there is the need of an atmos connection without repathing everything (eg: cryo.dm)
    • +
    • gas_mixture
    • +
    • gas_reaction
    • +
    • gas_recipe
    • +
    • gateway_destination - Corresponds to single entry in gateway control.
    • +
    • glass_style
        +
      • has_foodtype
          +
        • soup/watery_soup - This style runs dual purpose - +Primarily it's just a bowl style for water, +but secondarily it lets chefs know if their soup had too much water in it
        • +
      • +
    • +
    • global_funny_embedding
        +
      • pointy - everything will be... POINTY!!!!
      • +
      • sticky - everything will be... sticky? sure, why not
      • +
    • +
    • golem_food_buff - An effect you gain from eating minerals
        +
      • glass - Can eat at any time, but isn't very nutritious
      • +
      • iron - More filling, and heals you
      • +
    • +
    • grand_finale - A big final event to run when you complete seven rituals
        +
      • all_access - Open all of the doors
      • +
      • armageddon - Kill yourself and probably a bunch of other people
      • +
      • cheese - Gives the wizard a defensive/mood buff and a Wabbajack, a juiced up chaos staff that will surely break something. +Everyone but the wizard goes crazy, suffers major brain damage, and is given a vendetta against the wizard. +Already insane people are instead cured of their madness, ignoring any other effects as the station around them loses its marbles.
      • +
      • clown - Dress the crew as magical clowns
      • +
      • immortality - Nobody will ever die ever again +Or if they do, they will be back
      • +
      • magic - Give everyone magic items, its so simple it feels pointless to give it its own file
      • +
      • midas - Completely transform the station
      • +
      • usurp - Become the official Captain of the station
      • +
    • +
    • grand_side_effect - Describes something which can happen in a local area when the grand ritual is completed.
        +
      • create_anomalies - Spawn some anomalies in the area, ones which are not too dangerous
      • +
      • create_food - Rain food in the area
      • +
      • emp - EMP nearby machines
      • +
      • gore - Make a bloody mess
      • +
      • orchestra - Provides musical accompaniment
      • +
      • scramble_turfs - Casts dimensional instability on the area
      • +
      • slippery - Spawn lube in the area
      • +
      • smoke - Create colourful smoke
      • +
      • spawn_delayed_mobs - Spawn some mobs after a delay
      • +
      • spell - A side effect which just casts a spell at its position
      • +
      • summon_crewmate - Grabs one person and pulls them to this location, after a delay
      • +
      • translocate - Swap locations of nearby mobs arbitrarily and confuse them
      • +
      • transmogrify_area - Transform the surrounding area into something else.
      • +
    • +
    • greyscale_config - A datum tying together a greyscale configuration and dmi file. Required for using GAGS and handles the code interactions.
    • +
    • greyscale_layer
        +
      • color_matrix - A layer to modify the previous layer's colors with a color matrix
      • +
      • icon_state - The most basic greyscale layer; a layer which is created from a single icon_state in the given icon file
      • +
      • reference - A layer created by using another greyscale icon's configuration
      • +
    • +
    • greyscale_modify_menu - The controller for the ui in charge of all runtime greyscale configuration/debug. +If Unlock() is not called the menu is safe for players to use.
        +
      • spray_paint - Used for spray painting items in the gags_recolorable component
      • +
    • +
    • guardian_fluff - Defines a theme used by guardian mobs for visuals and some text output +The default is used for ones created by wizards
        +
      • carp - Used by holocarp spawned by admins
      • +
      • miner - Used by powerminers found in necropolis chests
      • +
      • tech - Used by holoparasites in the Traitor uplink
      • +
    • +
    • gutlunch_inherited_stats - stats we inherit from the parent
    • +
    • Hallucination datum. - Handles effects of a hallucination on a living mob. +Created and triggered via the [cause hallucination proc][/mob/living/proc/cause_hallucination].
        +
      • battle - Battle hallucination, makes it sound like a melee or gun battle is going on in the background.
          +
        • bomb - A hallucination of a syndicate bomb ticking down.
        • +
        • e_sword - A hallucination of someone unsheathing an energy sword, going to town, and sheathing it again.
        • +
        • gun - Subtype of battle hallucination for gun based battles, where it sounds like someone is being shot.
            +
          • disabler - Gun battle hallucination that sounds like disabler fire.
          • +
          • laser - Gun battle hallucination that sounds like laser fire.
          • +
        • +
        • harm_baton - A hallucination of someone being stun batonned, and subsequently harmbatonned.
        • +
        • stun_prod - A hallucination of someone being hit with a stun prod, followed by cable cuffing.
        • +
      • +
      • body - Makes a random body appear and disappear quickly in view of the hallucinator.
      • +
      • bolts
      • +
      • chat - Sends a fake chat message to the hallucinator.
      • +
      • death
      • +
      • delusion - A hallucination that makes us and (possibly) other people look like something else.
          +
        • custom - Used for making custom delusions.
        • +
        • preset/mare - Hallucination used by the nightmare vision goggles to turn everyone except you into mares
        • +
      • +
      • fake_alert - Fake alert hallucination. Causes a fake alert to be thrown to the hallucinator.
      • +
      • fake_flood - Plasma starts flooding from the nearby vent
      • +
      • fake_health_doll - Causes the target to see incorrect health damages on the healthdoll
      • +
      • fake_item - Hallucinates a fake item in our hands, pockets, or belt or whatever.
      • +
      • fake_sound - Hallucination that plays a fake sound somewhere nearby.
      • +
      • fire
      • +
      • hazard - Hallucinations that create a hazard somewhere nearby that actually has a danger associated.
      • +
      • ice - Causes the hallucinator to believe themselves frozen in ice. Man am I glad he's frozen in there etc etc
      • +
      • nearby_fake_item - A hallucination that delivers the illusion that someone nearby has pulled out a weapon or item.
      • +
      • oh_yeah - Sends a fake bubblegum charging through a nearby wall to our target.
      • +
      • screwy_hud - Screwyhud, makes the user's health bar hud wonky
      • +
      • shock - Causes a fake "zap" to the hallucinator.
      • +
      • station_message/heretic
      • +
      • stray_bullet - Shoots a random, fake projectile to the hallucinator
      • +
      • xeno_attack - Xeno crawls from nearby vent, jumps at you, and goes back in.
      • +
      • your_mother - Your mother appears to scold you.
      • +
    • +
    • Heretic Knowledge - The datums that allow heretics to progress and learn new spells and rituals.
        +
      • amber_focus - Allows the heretic to craft a spell focus. +They require a focus to cast advanced spells.
      • +
      • blade_dance
      • +
      • blade_upgrade - A knowledge subtype for heretic knowledge that +upgrades their sickly blade, either on melee or range.
      • +
      • codex_cicatrix - Codex Cicatrixi is available at the start: +This allows heretics to choose if they want to rush all the influences and take them stealthily, or +Construct a codex and take what's left with more points. +Another downside to having the book is strip searches, which means that it's not just a free nab, at least until you get exposed - and when you do, you'll probably need the faster drawing speed. +Overall, it's a tradeoff between speed and stealth or power.
      • +
      • cosmic_grasp
      • +
      • curse - A knowledge subtype lets the heretic curse someone with a ritual.
      • +
      • duel_stance
      • +
      • hunt_and_sacrifice - Allows the heretic to sacrifice living heart targets.
      • +
      • knowledge_ritual - A subtype of knowledge that generates random ritual components.
      • +
      • limited_amount - A knowledge subtype for knowledge that can only +have a limited amount of it's resulting atoms +created at once.
      • +
      • living_heart - The Living Heart heretic knowledge.
      • +
      • mark - A knowledge subtype for heretic knowledge +that applies a mark on use.
      • +
      • rifle_ammo
      • +
      • rust_regen
      • +
      • spell - A knowledge subtype that grants the heretic a certain spell.
      • +
      • summon - A knowledge subtype lets the heretic summon a monster with the ritual.
      • +
      • ultimate - The special final tier of knowledges that unlocks ASCENSION.
      • +
    • +
    • hfr_fuel
    • +
    • highlander_controller - The highlander controller handles the admin highlander mode, if enabled. +It is first created when "there can only be one" triggers it, and it can be referenced from GLOB.highlander_controller
    • +
    • holiday
        +
      • garbageday - Garbage DAYYYYY +Huh?.... NOOOO +GUNSHOT +AHHHGHHHHHHH
      • +
      • nth_week - A holiday lasting one day only that falls on the nth weekday in a month i.e. 3rd Wednesday of February.
      • +
    • +
    • holocall
    • +
    • hook_and_move - Lightweight datum that just handles moving a target for the hook. +For the love of God, do not use this outside this file.
    • +
    • http_request
    • +
    • hud
    • +
    • human_appearance_profile - Store of data we use to recreate someone who was gibbed, like a simplified version of changeling profiles
    • +
    • ice_cream_flavour
        +
      • vanilla - OUR TYPES OF ICE CREAM, COME GET SOME.
      • +
    • +
    • id_trim - Simple datum that holds the basic information associated with an ID card trim.
        +
      • admin - Trim for admins and debug cards. Has every single access in the game.
      • +
      • away - Generic away/offstation trim.
          +
        • cat_surgeon - Trim for the cat surgeon ruin.
        • +
        • hilbert - Trim for Hilbert in Hilbert's Hotel.
        • +
        • hotel - Trim for the hotel ruin. Not Hilbert's Hotel.
            +
          • security - Trim for the hotel ruin. Not Hilbert's Hotel.
          • +
        • +
        • old
            +
          • eng - Trim for the oldstation ruin/Charlie station
          • +
          • equipment - Trim for the oldstation ruin/Charlie station to access APCs and other equipment
          • +
          • robo - Trim for the oldstation ruin/Charlie station to access robots, and downloading of paper publishing software for experiments
          • +
          • sci - Trim for the oldstation ruin/Charlie station
          • +
          • sec - Trim for the oldstation ruin/Charlie station
          • +
        • +
      • +
      • battlecruiser - Trim for Syndicate mobs, outfits and corpses.
          +
        • captain - Trim for Syndicate mobs, outfits and corpses.
        • +
      • +
      • bit_avatar - Trim for player controlled avatars in the Virtual Domain.
      • +
      • bounty_hunter - Trim for Bounty Hunters NOT hired by centcom. (?)
      • +
      • centcom - Trim for basic Centcom cards.
          +
        • admiral - Trim for Centcom (Soviet) Admirals. All Centcom and Station Access.
        • +
        • bartender - Trim for Centcom Bartenders.
        • +
        • bounty_hunter - Trim for Bounty Hunters hired by centcom.
        • +
        • commander - Trim for Centcom Commanders. All Centcom and Station Access.
        • +
        • corpse
            +
          • assault - Trim for various Centcom corpses.
          • +
          • bridge_officer - Trim for various Centcom corpses.
          • +
          • commander - Trim for various Centcom corpses.
          • +
          • private_security - Trim for various Centcom corpses.
              +
            • tradepost_officer - Trim for various Centcom corpses.
            • +
          • +
        • +
        • custodian - Trim for Centcom Custodians.
        • +
        • deathsquad - Trim for Deathsquad officers. All Centcom and Station Access.
        • +
        • ert - Trim for generic ERT interns. No universal ID card changing access.
            +
          • chaplain - Trim for generic ERT chaplains. No universal ID card changing access.
          • +
          • clown - Trim for generic ERT clowns. No universal ID card changing access.
          • +
          • commander - Trim for ERT Commanders. All station and centcom access.
          • +
          • engineer - Trim for generic ERT engineers. No universal ID card changing access.
          • +
          • janitor - Trim for generic ERT janitors. No universal ID card changing access.
          • +
          • medical - Trim for generic ERT medics. No universal ID card changing access.
          • +
          • security - Trim for generic ERT seccies. No universal ID card changing access.
          • +
        • +
        • intern - Trim for Centcom Interns.
            +
          • head - Trim for Centcom Head Interns. Different assignment, common station access added on.
          • +
        • +
        • medical_officer - Trim for Centcom Medical Officers.
        • +
        • official - Trim for Centcom Officials.
        • +
        • research_officer - Trim for Centcom Research Officers.
        • +
        • specops_officer - Trim for Centcom Specops Officers. All Centcom and Station Access.
        • +
        • thunderdome_overseer - Trim for Centcom Thunderdome Overseers.
        • +
        • vip - Trim for Centcom VIPs
        • +
      • +
      • chameleon - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
          +
        • operative - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
            +
          • clown - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
          • +
          • clown_leader - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
          • +
          • nuke_leader - Trim for Chameleon ID cards. Many outfits, nuke ops and some corpses hold Chameleon ID cards.
          • +
        • +
      • +
      • cyber_police - Trim for cyber police in the Virtual Domain.
      • +
      • engioutpost - Trim for various various ruins.
      • +
      • highlander - Trim for highlander cards, used during the highlander adminbus event.
      • +
      • job - This file contains all the trims associated with station jobs. +It also contains special prisoner trims and the miner's spare ID trim. +ID Trims for station jobs.
          +
        • captain
        • +
        • security_officer - Sec officers have departmental variants. They each have their own trims with bonus departmental accesses.
        • +
        • shaft_miner/spare - ID card obtained from the mining Disney dollar points vending machine.
        • +
        • station_engineer/gunner - Trim for various various ruins.
        • +
      • +
      • lifeguard - Trim for beach bum lifeguards.
      • +
      • mobster - Trim for the mobster outfit.
      • +
      • pirate - Trim for pirates.
          +
        • captain - Trim for the pirate captain.
        • +
      • +
      • reaper_assassin - This file contains all the trims associated with outfits. +Trim for the assassin outfit.
      • +
      • space_bartender - Trim for beach bum bartenders.
      • +
      • syndicom - Trim for Syndicate mobs, outfits and corpses.
          +
        • Interdyne
            +
          • pharmacist - Interdyne medical Staff
          • +
          • pharmacist_director - Interdyne head medical Staff
          • +
        • +
        • captain - Trim for Syndicate mobs, outfits and corpses.
        • +
        • crew - Trim for Syndicate mobs, outfits and corpses.
        • +
        • irs - Trim for the space IRS agents (why are they syndie access? I wouldn't worry about it.)
        • +
      • +
      • tunnel_clown - Trim for the Tunnel Clown! outfit. Has all access.
      • +
      • vr - Trim for VR outfits.
          +
        • operative - Trim for VR outfits.
        • +
      • +
    • +
    • idle_behavior
        +
      • idle_dog
      • +
      • idle_ghost_item - If not held, teleport somewhere else
      • +
      • idle_monkey
      • +
      • idle_random_walk
          +
        • no_target - Only walk if we don't have a target
        • +
        • not_while_on_target - Only walk if we are not on the target's location
        • +
        • parrot
        • +
        • rust - Moves a lot if healthy and on rust (to find more tiles to rust) or unhealthy and not on rust (to find healing rust) +Still moving in random directions though we're not really seeking it out
        • +
      • +
      • walk_near_target - walk randomly however stick near a target
      • +
    • +
    • infuser_entry
    • +
    • Instrument Datums - Instrument datums hold the data for any given instrument, as well as data on how to play it and what bounds there are to playing it.
    • +
    • instrument_key - Instrument key datums contain everything needed to know how to play a specific +note of an instrument.*
    • +
    • interview - Represents a new-player interview form
    • +
    • Interview Manager - Handles all interviews in the duration of a round, includes the primary functionality for +handling the interview queue.
    • +
    • job
        +
      • security_officer
      • +
      • servant_golem - For late joiners, we're forced to put them in an alone department at some point.
      • +
      • unassigned - This type is used to indicate a lack of a job. +The mind variable assigned_role will point here by default. +As any other job datum, this is a singleton.
      • +
    • +
    • job_config_type - Lightweight datum simply used to store the applicable config type for each job such that the whole system is a tad bit more flexible.
        +
      • default_positions - The number of positions a job can have at any given time.
      • +
      • playtime_requirements - The amount of playtime required to join a job (minutes).
      • +
      • required_account_age - The amount of time required to have an account to join a job (days).
      • +
      • required_character_age - The required age a character must be to join a job (which is in years).
      • +
      • starting_positions - The number of positions a job can have at the start of the round.
      • +
    • +
    • job_department - Singleton representing a category of jobs forming a department.
        +
      • assistant - A special assistant only department, primarily for use by the preferences menu
      • +
      • captain - A special captain only department, for use by the preferences menu
      • +
      • undefined - Catch-all department for undefined jobs.
      • +
    • +
    • jps_node - The JPS Node datum represents a turf that we find interesting enough to add to the open list and possibly search for new tiles from
    • +
    • json_reader - Takes a json list and extracts a single value. +Subtypes represent different conversions of that value.
    • +
    • json_savefile - A savefile implementation that handles all data using json. +Also saves it using JSON too, fancy. +If you pass in a null path, it simply acts as a memory tree instead, and cannot be saved.
    • +
    • keybinding/human/quick_equip_belt
    • +
    • known_alts
    • +
    • language_holder
    • +
    • latejoin_menu
    • +
    • lazy_template - Datum used to designate certain areas that do not need to exist nor be loaded at world start +but do want to be loaded under certain circumstances. Use this for stuff like the nukie base or wizden, aka stuff that only matters when their antag is rolled.
        +
      • Virtual Domains - Create your own: Read the readme file in the '_maps/virtual_domains' folder.
      • +
    • +
    • light_source
    • +
    • light_template - Light templates. They describe how a light looks, and links that to names/icons that can be used when templating/debugging
        +
      • read_light - Template that reads info off a light subtype
      • +
    • +
    • lighting_corner
    • +
    • lighting_object
    • +
    • log_category - The main datum that contains all log entries for a category
    • +
    • log_entry - A datum which contains log information.
    • +
    • log_holder - Main datum to manage logging actions
    • +
    • looping_sound - A datum for sounds that need to loop, with a high amount of configurability.
        +
      • acid - Soundloop for the acid component.
      • +
      • burning - Soundloop for the fire (bonfires, fireplaces, etc.)
      • +
    • +
    • lua_editor
    • +
    • lua_state
    • +
    • mafia_ability
    • +
    • mafia_controller - The mafia controller handles the mafia minigame in progress. +It is first created when the first ghost signs up to play.
    • +
    • mafia_role
    • +
    • manifest - Stores crew records.
    • +
    • map_config
    • +
    • map_generator - This type is responsible for any map generation behavior that is done in areas, override this to allow for +area-specific map generation. This generation is ran by areas in initialize.
        +
      • cave_generator
          +
        • icemoon
            +
          • surface/forested - Surface snow generator variant for forested station trait, WITH FORESTSSSS
          • +
        • +
        • lavaland
        • +
      • +
      • jungle_generator - Spawning isn't done in procs to save on overhead on the 60k turfs we're going through.
      • +
    • +
    • map_preloader - Preloader datum
    • +
    • map_report - An error report generated by /datum/parsed_map/proc/check_for_errors.
    • +
    • map_template
    • +
    • market
        +
      • blackmarket - There is no ID card on the user, or the ID card has no account
      • +
    • +
    • market_item
        +
      • tool/Fake N-spect scanner black market entry
      • +
    • +
    • market_purchase
    • +
    • martial_art
        +
      • cqc
          +
        • under_siege - Subtype of CQC. Only used for the chef.
        • +
      • +
      • hugs_of_the_gondola - Gondola love, makes hugs inject pax if the arms are exposed
      • +
      • the_sleeping_carp
      • +
    • +
    • material
        +
      • adamantine - Stronk force increase
      • +
      • alloy - Materials made from other materials.
      • +
      • bananium - Honks and slips
      • +
      • biomass - Force decrease and mushy sound effect. (Not yet implemented)
      • +
      • bluespace - Can cause bluespace effects on use. (Teleportation) (Not yet implemented)
      • +
      • diamond - Has no special properties
      • +
      • glass - Breaks extremely easily but is transparent.
      • +
      • gold - Slight force increase
      • +
      • iron - Has no special properties.
      • +
      • meat - It's gross, gets the name of it's owner, and is all kinds of fucked up
      • +
      • mythril - RPG Magic.
      • +
      • plasma - Adds firestacks on hit (Still needs support to turn into gas on destruction)
      • +
      • plastic - Force decrease
      • +
      • silver - Has no special properties. Could be good against vampires in the future perhaps.
      • +
      • titanium - Mediocre force increase
      • +
      • uranium - Is slightly radioactive
      • +
    • +
    • medical_note - Player-written medical note.
    • +
    • memory - Little tidbits of past events generated by the player doing things.
        +
      • bomb_defuse_failure - Failed to defuse a bomb, by triggering it early.
      • +
      • bomb_defuse_success - Succeeded in defusing a bomb!
      • +
      • bomb_planted - Planted a bomb.
          +
        • nuke - Planted a NUKE!
        • +
        • syndicate - Planted a SYNDICATE bomb.
        • +
      • +
      • caught_fish - Catching a fish
      • +
      • dna_infusion - Becoming a mutant via infusion
      • +
      • good_drink - Had a good drink.
      • +
      • good_food - Had some good food.
      • +
      • held_at_gunpoint - Got held at gunpoint by someone!
      • +
      • heretic_knowledge_ritual - When a heretic finishes their ritual of knowledge
      • +
      • high_five - Got a sweet high five.
      • +
      • key - I am affectionally titling these "key memories"
          +
        • account - Your bank account ID, can't get into it without it
        • +
        • captains_spare_code - The code to the captain's spare ID, ONLY give to the real captain.
        • +
        • nuke_code - The nuclear bomb code, for nuke ops
        • +
        • quirk_alcoholic - Tracks what beverage an alcoholic quirk user likes
        • +
        • quirk_allergy - Tracks what medicines someone with the "allergies" quirk is allergic to
        • +
        • quirk_smoker - Tracks what brand a smoker quirk user likes
        • +
        • traitor_uplink - Where our traitor uplink is, and what is its code
        • +
      • +
      • kissed - Got kissed! AHHHHH!
      • +
      • lost_spaghetti - Had spaghetti fall from their pockets.
      • +
      • megafauna_slayer - Killed a Megafauna
      • +
      • pet_died - Our pet died...
      • +
      • playing_card_pickup - Played 52 card pickup with another person.
      • +
      • playing_cards - Played cards with another person.
      • +
      • received_medal - Watched someone receive a commendation medal
      • +
      • recruited_by_blood_brother - Who converted into a blood brother
      • +
      • recruited_by_headrev - Who rev'd me, so if a mindreader reads a rev, they have a clue on who to hunt down
      • +
      • revolution_heads_defeated - Given to heads of staff if they lose a revolution and are alive still.
      • +
      • revolution_heads_victory - Given to heads of staff, and those around them, upon defeating the revolutionaries.
      • +
      • revolution_rev_defeat - Given to head revs for failing the revolution!
      • +
      • revolution_rev_victory - The revolution was triumphant! +Given to head revs and those nearby when the revs win a revolution.
      • +
      • surgery - A doctor successfuly completed a surgery on someone.
      • +
      • was_burning - Was set on fire and started to burn.
      • +
      • was_cyborged - Was cyborgized.
      • +
      • was_dismembered - Got a limb removed by force.
      • +
      • was_slipped - Got slipped by something.
      • +
      • witness_gib - Saw someone get gibbed.
      • +
      • witness_supermatter_dusting - Saw someone get dusted by the supermatter.
      • +
      • witness_vendor_crush - Saw someone get crushed by a vending machine.
      • +
      • witnessed_creampie - Witnessed someone get creampied nearby.
      • +
      • witnessed_death - Witnessed someone die nearby.
      • +
      • witnessed_gods_wrath - Saw someone play Russian Roulette.
      • +
      • witnessed_russian_roulette - Saw someone play Russian Roulette.
      • +
    • +
    • merger - A datum that tracks a type or types of objects in a cluster
    • +
    • micro_organism - A single type of growth.
        +
      • cell_line - A "mob" cell. Can grow into a mob in a growing vat.
          +
        • cockroach - MISC
        • +
        • mouse - VERTEBRATES
        • +
        • slime - SLIMES, OOZES & BLOBS
        • +
      • +
      • virus - A micro_organism that supports the ability to be converted to a real virus, allowing virology to get new symptoms
      • +
    • +
    • mind
    • +
    • mod_link - A MODlink datum, used to handle unique functions that will be used in the MODlink call.
    • +
    • mod_link_call - A MODlink call datum, used to handle the call between two MODlinks.
    • +
    • mod_theme - MODsuit theme, instanced once and then used by MODsuits to grab various statistics.
    • +
    • modular_mob_segment
    • +
    • module_picker - The datum and interface for the malf unlock menu, which lets them choose actions to unlock.
    • +
    • mood - Mood datum
    • +
    • mood_event
        +
      • area
      • +
      • clown_world - Clown enjoyers who are effected by this become ecstatic, they have achieved their life's dream. +This moodlet is equivalent to the one for simply being a traitor.
      • +
      • drunk
      • +
      • madness_despair - Wizard cheesy grand finale - what everyone but the wizard gets
      • +
      • madness_elation - Wizard cheesy grand finale - what the wizard gets
      • +
    • +
    • move_loop - Template class of the movement datums, handles the timing portion of the loops
        +
      • disposal_holder - Disposal holders need to move through a chain of pipes +Rather then through the world. This supports this +If this ever changes, get rid of this, add drift component like logic to the holder +And move them to move()
      • +
      • freeze - As close as you can get to a "do-nothing" move loop, the pure intention of this is to absolutely resist all and any automated movement until the move loop times out.
      • +
      • has_target
          +
        • dist_bound - Base class of move_to and move_away, deals with the distance and target aspect of things
            +
          • move_away - Wrapper around walk_away()
          • +
          • move_to - Wrapper around walk_to()
          • +
        • +
        • force_move - Used for force-move loops
        • +
        • jps
        • +
        • move_towards - Used as a alternative to walk_towards
        • +
        • move_towards_budget - The actual implementation of walk_towards()
        • +
      • +
      • move - Replacement for walk()
      • +
      • move_rand - This isn't actually the same as walk_rand +Because walk_rand is really more like walk_to_rand +It appears to pick a spot outside of range, and move towards it, then pick a new spot, etc. +I can't actually replicate this on our side, because of how bad our pathfinding is, and cause I'm not totally sure I know what it's doing. +I can just implement a random-walk though
      • +
      • move_to_rand - Wrapper around step_rand
      • +
    • +
    • movement_detector - A datum to handle the busywork of registering signals to handle in depth tracking of a movable
    • +
    • movement_packet - A packet of information that describes the current state of a moving object
    • +
    • movespeed_modifier
        +
      • gorilla_standing - Gorillas are slower when carrying something
      • +
      • landed_on_feet - Modifier for mobs landing on their feet after a fall
      • +
      • status_effect/midas_blight - Get slower the more gold is in your system.
      • +
    • +
    • mutation/human
        +
      • acidflesh
      • +
      • blind - Blind makes you blind. Who knew?
      • +
      • chameleon
      • +
      • extrastun
      • +
      • glow
      • +
      • hulk
      • +
      • laser_eyes - Laser Eyes lets you shoot lasers from your eyes!
      • +
      • radioactive
      • +
      • telekinesis - Telekinesis lets you interact with objects from range, and gives you a light blue halo around your head.
      • +
      • thermal - Thermal Vision lets you see mobs through walls
      • +
      • xray - X-ray Vision lets you see through walls.
      • +
    • +
    • newspanel
    • +
    • nobody_wants_to_learn_matrix_math
    • +
    • ntnet_conversation
    • +
    • object_window_info - Datum that holds and tracks info about a client's object window +Really only exists because I want to be able to do logic with signals +And need a safe place to do the registration
    • +
    • objective
        +
      • assassinate
          +
        • obsessed - CREEPY objectives (few chosen per obsession)
        • +
        • paradox_clone - Paradox clone assassinate objective +Similar to the original, but with a different flavortext.
        • +
      • +
      • door_jack
      • +
      • heretic_research - Heretic's research objective. "Research" is heretic knowledge nodes (You start with some).
      • +
      • heretic_summon
      • +
      • hijack
      • +
      • major_sacrifice - Heretic's major sacrifice objective. "Major sacrifices" are heads of staff.
      • +
      • minor_sacrifice - Heretic's minor sacrifice objective. "Minor sacrifices" includes anyone.
      • +
      • mutiny
      • +
      • sacrifice
      • +
    • +
    • objective_item
    • +
    • objective_item_handler
    • +
    • objective_target_machine_handler - Datum which manages references to things we are instructed to destroy
    • +
    • orbit_menu
    • +
    • orderable_item - A datum for chef ordering options from the chef's computer.
    • +
    • orion_event
        +
      • black_hole - Black Hole - final (emag can spawn singulo, see death event)
      • +
      • black_hole_death - You died to a black hole, have some fluff text
      • +
      • electronic_part - Malfunction - spend one engine part or wait 3 days (emag effect randomizes some stats)
      • +
      • engine_part - Engine Breakdown - spend one engine part or wait 3 days (harmless emag effect)
      • +
      • hull_part - Collision - spend one engine part or wait 3 days (has a nasty emag effect)
      • +
      • space_port - You found a space port!
          +
        • tau_ceti - You found the midway mark!
        • +
      • +
      • space_port_raid - You raided a space port!
      • +
    • +
    • Outfit datums - This is a clean system of applying outfits to mobs, if you need to equip someone in a uniform +this is the way to do it cleanly and properly.
        +
      • backpack_user - And just in case we'll check backpacks
      • +
      • basketball
      • +
      • consumed_clown
      • +
      • ctf
      • +
      • duffel_user - outfit_sanity needs to cover insertions into duffelbags
      • +
      • job
          +
        • scientist/consistent - A version of the scientist outfit that is guaranteed to be the same every time
        • +
        • wizard_captain - An outfit which replaces parts of a wizard's clothes with captain's clothes but keeps the robes
        • +
      • +
      • mafia/abductee - Map-specific custom outfits
      • +
      • stachel_user - Satchels too
      • +
      • stacks_in_hands - See #66313 and #60901. outfit_sanity used to runtime whenever you had two mergable sheets in either hand. Previously, this only had a 3% chance of occuring. Now 100%.
      • +
      • syndicate
      • +
    • +
    • overlay_info - Stores the decal & overlays on the floor to preserve texture of the design +in short its just an wrapper for mutable appearance where we retrieve the nessassary information +to recreate an mutable appearance
    • +
    • pai_candidate - #pAI Candidate
    • +
    • painting
    • +
    • paintings_manager - Painting Admin Management Panel
    • +
    • paper_field - A reference to some data that replaces a modifiable input field at some given index in paper raw input parsing.
    • +
    • paper_input - A single instance of a saved raw input onto paper.
    • +
    • paper_stamp - A single instance of a saved stamp on paper.
    • +
    • parsed_map
    • +
    • particle_editor
    • +
    • path_map - Datum that describes the shortest path between a source turf and any turfs within a distance
    • +
    • pathfind - The datum used to handle the JPS pathfinding, completely self-contained
        +
      • jps
      • +
      • sssp - Single source shortest path +Generates a flow map of a reachable turf -> the turf next closest to the map's center
      • +
    • +
    • pda_chat - Chat log data type, stores information about the recipient, +the messages themselves and other metadata.
    • +
    • pda_message - Chat message data type, stores data about messages themselves.
    • +
    • Pet Command - Set some AI blackboard commands in response to receiving instructions +This is abstract and should be extended for actual behaviour
        +
      • Pet Command: Follow - Tells a pet to follow you until you tell it to do something else
          +
        • bee - pet commands
        • +
      • +
      • Pet Command: Stop - Tells a pet to exit command mode and resume its normal behaviour, which includes regular target-seeking and what have you
          +
        • minebot - pet commands
        • +
      • +
      • Pet Command: Good Boy - React if complimented
      • +
      • Pet Command: Idle - Tells a pet to resume its idle behaviour, usually staying put where you leave it
      • +
      • minebot_ability
      • +
      • Pet Command: Play Dead - Pretend to be dead for a random period of time
      • +
      • Point Targeting Pet Command - As above but also listens for you pointing at something and marks it as a target
          +
        • Pet Command: Attack - Tells a pet to chase and bite the next thing you point at
            +
          • swirl - swirl around the owner in menacing fashion
          • +
        • +
        • Breed command. breed with a partner!
        • +
        • Pet Command: Fetch - Watch for someone throwing or pointing at something and then go get it and bring it back. +If it's food we might eat it instead.
        • +
        • Pet Command: Targetted Ability - Tells a pet to use some kind of ability on the next thing you point at
            +
          • solarbeam - pet commands
          • +
        • +
      • +
      • protect_owner
      • +
      • Pet Command: Use ability - Use an an ability that does not require any targets
      • +
    • +
    • physiology
    • +
    • picture
    • +
    • pipe_icon_generator
    • +
    • pipeline
    • +
    • pirate_gang - datum for a pirate team that is spawning to attack the station.
        +
      • grey - Previous Nanotrasen Assitant workers fired for many reasons now looking for revenge and your bank account.
      • +
      • interdyne - Expirienced formed employes of Interdyne Pharmaceutics now in a path of thievery and reckoning
      • +
      • irs - Agents from the space I.R.S. heavily armed to stea- I mean, collect the station's tax dues
      • +
      • rogues - classic FTL-esque space pirates.
      • +
      • silverscales - aristocrat lizards looking to hunt the serfs
      • +
      • skeletons - undead skeleton crew looking for booty
      • +
    • +
    • plane_master_debug - Used for testing/debugger plane masters and their associated rendering plates
    • +
    • plane_master_group - Datum that represents one "group" of plane masters +So all the main window planes would be in one, all the spyglass planes in another +Etc
        +
      • hudless - Hudless group. Exists for testing
      • +
      • main - Holds the main plane master
      • +
      • popup - Holds plane masters for popups, like camera windows +Note: We do not scale this plane, even though we could +This is because it's annoying to get turfs to position inside it correctly +If you wanna try someday feel free, but I can't manage it
      • +
    • +
    • plant_gene - Plant gene datums - things that build and modify a plant or seed.
        +
      • reagent - Reagent genes store a reagent ID and reagent ratio.
          +
        • preset - Preset plant reagent genes that are unremovable from a plant.
            +
          • carbon - Carbon Roses's fragile Carbon
          • +
          • liquidelectricity - Jupitercup's fragile Liquid Electricity
          • +
          • polypyr - Spaceman's Trumpet fragile Polypyrylium Oligomers
          • +
        • +
      • +
      • trait - Traits that affect the grown product.
          +
        • anti_magic - Holymelon's anti-magic trait. Charges based on potency.
        • +
        • attack - Traits that turn a plant into a weapon, giving them force and effects on attack.
            +
          • nettle_attack - Normal nettle's force + degradation on attack
              +
            • death - Deathnettle force + degradation on attack
            • +
          • +
          • novaflower_attack - Novaflower's attack effects (sets people on fire) + degradation on attack
          • +
          • sunflower_attack - Sunflower's attack effect (shows cute text)
          • +
        • +
        • backfire - Traits for plants with backfire effects. These are negative effects that occur when a plant is handled without gloves/unsafely.
            +
          • bluespace - Bluespace Tomato squashing on the user on backfire
          • +
          • chili_heat - Ghost-Chili heating up on backfire
          • +
          • nettle_burn - Normal Nettle hannd burn on backfire
              +
            • death - Deathnettle hand burn + stun on backfire
            • +
          • +
          • novaflower_heat - Novaflower's hand burn on backfire
          • +
          • rose_thorns - Rose's prick on backfire
          • +
        • +
        • battery
        • +
        • bomb_plant - Plants that explode when used (based on their reagent contents)
            +
          • potency_based - A subtype of bomb plants that have their boom sized based on potency instead of reagent contents.
          • +
        • +
        • brewing - A plant trait that causes the plant's food reagents to ferment instead.
        • +
        • carnivory/jupitercup - Jupitercup's essential carnivory
        • +
        • chem_cooling - This trait is the opposite of above - it cools down the plant's chemical contents on harvest. +This requires nutriment to fuel. 1u nutriment = -5 K.
        • +
        • chem_heating - This trait automatically heats up the plant's chemical contents when harvested. +This requires nutriment to fuel. 1u nutriment = 25 K.
        • +
        • eyes - A plant trait that causes the plant to gain aesthetic googly eyes.
        • +
        • fire_resistance - Makes the plant and its seeds fireproof. From lavaland plants.
        • +
        • gas_production - Corpseflower's miasma production. +Can be generalized in the future to spawn any gas, but I don't think that's necessarily a good idea.
        • +
        • glow
            +
          • blue - Blue (the best one)
          • +
          • green - Green (oh no, now i'm radioactive)
          • +
          • purple - Purple (did you know that notepad++ doesnt think bioluminescence is a word) (was the person who wrote this using notepad++ for dm?)
          • +
          • red - Red
          • +
          • white - Colored versions of bioluminescence. +White
          • +
          • yellow - Yellow (not the disgusting glowshroom yellow hopefully)
          • +
        • +
        • invasive - Invasive spreading lets the plant jump to other trays, and the spreading plant won't replace plants of the same type.
            +
          • galaxythistle - Starthistle's essential invasive spreading
          • +
        • +
        • juicing - Similar to auto-distilling, but instead of brewing the plant's contents it juices it.
        • +
        • maxchem - A plant trait that causes the plant's capacity to double.
        • +
        • mob_transformation - Traits for plants that can be activated to turn into a mob.
            +
          • shroom - Walking Mushroom's transformation gene
          • +
          • tomato - Killer Tomato's transformation gene.
          • +
        • +
        • modified_volume - Traits for plants with a different base max_volume.
            +
          • cherry_bomb - Cherry Bomb's increased max volume gene
          • +
          • omega_weed - Omegaweed's funny 420 max volume gene
          • +
        • +
        • never_mutate - Prevents species mutation, while still allowing wild mutation harvest and Floral Somatoray species mutation. Trait acts as a tag for hydroponics.dm to recognise.
        • +
        • one_bite - Traiit for plants eaten in 1 bite.
        • +
        • plant_laughter - Plays a laughter sound when someone slips on it. +Like the sitcom component but for plants. +Just like slippery skin, if we have a trash type this only functions on that. (Banana peels)
        • +
        • plant_type - Plant type traits. Incompatible with one another.
            +
          • alien_properties - Currently unused and does nothing. Appears in strange seeds.
          • +
          • fungal_metabolism - Mushrooms need less light and have a minimum yield.
          • +
          • weed_hardy - Weeds don't get annoyed by weeds in their tray.
          • +
        • +
        • preserved - Traits for flowers, makes plants not decompose.
        • +
        • repeated_harvest - Allows a plant to be harvested multiple times.
        • +
        • slip
        • +
        • smoke - Explodes into reagent-filled smoke when squashed.
        • +
        • squash - Allows the plant to be squashed when thrown or slipped on, leaving a colored mess and trash type item behind.
        • +
        • stable_stats - Prevents stat mutation caused by instability. Trait acts as a tag for hydroponics.dm to recognise.
        • +
        • sticky - Makes the plant embed on thrown impact.
        • +
      • +
    • +
    • player_details - Tracks information about a client between log in and log outs
    • +
    • point - A precise point on the map in absolute pixel locations based on world.icon_size. Pixels are FROM THE EDGE OF THE MAP!
    • +
    • point_of_interest - Simple helper datum for points of interest.
    • +
    • poll_option - Datum which holds details of a poll option loaded from the database.
    • +
    • poll_question - Datum which holds details of a running poll loaded from the database and supplementary info.
    • +
    • Component Port - A port used by a component. Connects to other ports.
        +
      • Input Port - An input port remembers connected output ports.
      • +
      • Output Port - An output port that many input ports can connect to
      • +
    • +
    • portrait_picker
    • +
    • position - For positions with map x/y/z and pixel x/y so you don't have to return lists. Could use addition/subtraction in the future I guess.
    • +
    • powernet
    • +
    • preference - Represents an individual preference.
        +
      • choiced - A preference that is a choice of one option among a fixed set. +Used for preferences such as clothing.
          +
        • ai_core_display - What to show on the AI screen
        • +
        • ai_emote_display - What to show on the AI monitor
        • +
        • ai_hologram_display - What to show on the AI hologram
        • +
        • backpack - Backpack preference
        • +
        • brief_outfit - What outfit to equip when spawning as a briefing officer for an ERT
        • +
        • gender - Gender preference
        • +
        • ghost_accessories - Determines what accessories your ghost will look like they have.
        • +
        • ghost_form - Determines the appearance of your ghost to others, when you are a BYOND member
        • +
        • ghost_lighting - How bright a ghost's lighting plane is
        • +
        • ghost_orbit - Determines what ghosts orbiting look like to you.
        • +
        • ghost_others - Determines how to show other ghosts
        • +
        • jumpsuit - Jumpsuit preference
        • +
        • mod_select - Switches between mouse buttons for MODsuit active modules
        • +
        • parallax - Determines parallax, "fancy space"
        • +
        • pda_theme - PDA theme
        • +
        • preferred_map - During map rotation, this will help determine the chosen map.
        • +
        • prisoner_crime - Which crime is the prisoner permabrigged for. For fluff!
        • +
        • scaling_method - The scaling method to show the world in, e.g. nearest neighbor
        • +
        • security_department - Which department to put security officers in, when the config is enabled
        • +
        • socks - Socks preference
        • +
        • species - Species preference
        • +
        • ui_style - UI style preference
        • +
        • undershirt - Undershirt preference
        • +
        • underwear - Underwear preference
        • +
        • voice - TTS voice preference
        • +
      • +
      • color - A preference that represents an RGB color of something. +Will give the value as 6 hex digits, without a hash.
          +
        • ooc_color - The color admins will speak in for OOC.
        • +
        • paint_color - Preference for the roundstart color of the spraycan given by the Tagger quirk.
        • +
      • +
      • name - A preference for a name. Used not just for normal names, but also for clown names, etc.
          +
        • backup_human - The name for a backup human, when nonhumans are made into head of staff
        • +
        • operative_alias - The first name given to nuclear operative antagonists. The last name will be chosen by the team leader.
        • +
        • real_name - A character's real name
        • +
      • +
      • numeric - A numeric preference with a minimum and maximum value
          +
        • multiz_performance - Boundary for how many z levels down to render properly before we start going cheapo mode
        • +
      • +
      • text - A string-based preference accepting arbitrary string values entered by the user, with a maximum length.
          +
        • pda_ringtone - This is the preference for the player's SpaceMessenger ringtone. +Currently only applies to humans spawned in with a job, as it's hooked +into /datum/job/proc/after_spawn().
        • +
      • +
      • toggle - A preference whose value is always TRUE or FALSE
          +
        • ambient_occlusion - Whether or not to toggle ambient occlusion, the shadows around people
        • +
        • broadcast_login_logout - Whether or not to announce when the player logs in or out.
        • +
        • darkened_flash - When toggled, being flashed will show a dark screen rather than a light one.
        • +
        • ghost_hud - Toggles the HUD for ghosts
        • +
        • ghost_roles - When enabled, prevents any and all ghost role pop-ups.
        • +
        • ghost_roles_as_admin - When enabled, prevents any and all ghost role pop-ups WHILE ADMINNED.
        • +
        • inquisitive_ghost - Whether or not ghosts can examine things by clicking on them.
        • +
        • multiz_parallax - Whether or not to toggle multiz parallax, the parallax effect for lower z-levels.
        • +
        • nuke_ops_species - When TRUE, will spawn you as a human when selected for an operative role +When FALSE, players will be placed into the game as their character's species
        • +
        • playtime_reward_cloak - This can be set to TRUE from the prefs menu only once the user has +gained over 5K playtime hours. +If true, it allows the user to get a cool looking roundstart cloak.
        • +
        • sound_ambience - Controls hearing ambience
        • +
        • sound_announcements - Controls hearing announcement sounds
        • +
        • sound_combatmode - Controls hearing the combat mode toggle sound
        • +
        • sound_elevator - Controls hearing elevator music
        • +
        • sound_endofround - Controls hearing round end sounds
        • +
        • sound_instruments - Controls hearing instruments
        • +
        • sound_jukebox - Controls hearing dance machines
        • +
        • sound_lobby - Controls hearing lobby music
        • +
        • sound_midi - Controls hearing admin music
        • +
        • sound_ship_ambience - Controls hearing ship ambience
        • +
        • tgui_input_large - Large button preference. Error text is in tooltip.
        • +
        • tgui_input_swapped - Swapped button state - sets buttons to SS13 traditional SUBMIT/CANCEL
        • +
        • tgui_say_light_mode - Light mode for tgui say
        • +
        • typing_indicator - Whether or not to show a typing indicator when speaking. Defaults to on.
        • +
        • window_flashing - Enables flashing the window in your task tray for important events
        • +
      • +
    • +
    • preference_middleware - Preference middleware is code that helps to decentralize complicated preference features.
        +
      • keybindings - Middleware to handle keybindings
      • +
      • legacy_toggles - In the before times, toggles were all stored in one bitfield. +In order to preserve this existing data (and code) without massive +migrations, this middleware attempts to handle this in a way +transparent to the preferences UI itself. +In the future, the existing toggles data should just be migrated to +individual /datum/preference/toggles.
      • +
      • names - Middleware that handles telling the UI which name to show, and waht names +they have.
      • +
      • quirks - Middleware to handle quirks
      • +
      • random - Middleware for handling randomization preferences
      • +
      • species - Handles the assets for species icons
      • +
      • tts - Middleware to handle quirks
      • +
    • +
    • preferences
    • +
    • prisoner_crime
    • +
    • progressbar
    • +
    • proximity_monitor
        +
      • advanced - Movable and easily code-modified fields! Allows for custom AOE effects that affect movement +and anything inside of them, and can do custom turf effects! +Supports automatic recalculation/reset on movement.
      • +
    • +
    • puzzgrid - Represents an individual puzzgrid
    • +
    • puzzgrid_group - Represents an individual group in a puzzgrid
    • +
    • qdel_item - Qdel Item: Holds statistics on each type that passes thru qdel +Holds the type as a string for this type +Total number of times it's passed thru qdel. +Total amount of milliseconds spent processing this type's Destroy() +Times it was queued for soft deletion but failed to soft delete. +Different from failures because it also includes QDEL_HINT_HARDDEL deletions +Total amount of milliseconds spent hard deleting this type. +Highest time spent hard_deleting this in ms. +Number of times hard deletes took longer than the configured threshold +Number of times it's not respected force=TRUE +Number of times it's not even bother to give a qdel hint +Number of times it's slept in its destroy +Flags related to this type's trip thru qdel.
    • +
    • queue_link
    • +
    • quirk
    • +
    • quirk_constant_data - A singleton datum representing constant data and procs used by quirks.
    • +
    • radial_menu
    • +
    • radial_menu_choice - Can be provided to choices in radial menus if you want to provide more information
    • +
    • radio_frequency
    • +
    • reagent - A single reagent
        +
      • ants
      • +
      • blob
      • +
      • catalyst_agent - NICHE +These alter reaction conditions while they're in the beaker
          +
        • speed/medicine - These affect medicines
        • +
      • +
      • colorful_reagent
          +
        • powder - Colorful Powder
        • +
      • +
      • consumable
          +
        • entpoly - Lavaland Flora Reagents
        • +
        • ethanol
        • +
        • frostoil
        • +
        • nutriment
            +
          • cloth_fibers
          • +
          • protein - The basic resource of vat growing.
          • +
          • soup - Abstract parent for soup reagents. +These are the majority result from soup recipes, +but bear in mind it will(should) have other reagents along side it.
          • +
        • +
        • rootbeer
        • +
      • +
      • determination
      • +
      • drug
          +
        • blastoff
        • +
        • kronkaine/gore - dirty kronkaine, aka gore. far worse overdose effects.
        • +
        • saturnx
        • +
      • +
      • eigenstate
      • +
      • impurity
      • +
      • inverse
          +
        • corazargh
        • +
        • cryostylane
        • +
        • healing/syriniver
        • +
        • ichiyuri
        • +
        • oculine
        • +
        • penthrite - Can bring a corpse back to life temporarily (if heart is intact) +Makes wounds bleed more, if it brought someone back, they take additional brute and heart damage +They can't die during this, but if they're past crit then take increasing stamina damage +If they're past fullcrit, their movement is slowed by half +If they OD, their heart explodes (if they were brought back from the dead)
        • +
      • +
      • lube - Used for clownery
          +
        • superlube - Stronger kind of lube. Applies TURF_WET_SUPERLUBE.
        • +
      • +
      • medicine
      • +
      • metalgen
      • +
      • plantnutriment - Hydroponics stuff
      • +
      • rat_spit - Spittle; harmless reagent that is added by rat king, and makes you disgusted.
      • +
      • toxin - Poison stuff (Toxins & Acids)
      • +
      • uranium
      • +
      • water
      • +
      • yuck - Improvised reagent that induces vomiting. Created by dipping a dead mouse in welder fluid.
      • +
    • +
    • reagents - ////////////////////////////Main reagents code///////////////////////////////////////////// +Holder for a bunch of /datum/reagent
    • +
    • reality_smash_tracker - #Reality smash tracker
    • +
    • record - Record datum. Used for crew records and admin locked records.
        +
      • crew - Crew record datum
      • +
      • locked - Admin locked record
      • +
    • +
    • religion_rites
    • +
    • Religious Sects - Religious Sects are a way to convert the fun of having an active 'god' (admin) to code-mechanics so you aren't having to press adminwho.
        +
      • honorbound
      • +
      • mechanical - Mechanical God
      • +
      • puritanism - Nanotrasen Approved God
      • +
      • pyre - Pyre God
      • +
      • spar
      • +
    • +
    • Request - A representation of an in-game request, such as a prayer.
    • +
    • Request Manager - Handles all player requests (prayers, centcom requests, syndicate requests) +that occur in the duration of a round.
    • +
    • request_message
    • +
    • required_item - Datum for tracking required map items
    • +
    • robot_energy_storage
    • +
    • round_event
    • +
    • round_event_control
        +
      • anomaly - You will appear adjacent to the beacon
      • +
      • bitrunning_glitch
      • +
      • disease_outbreak
      • +
      • earthquake - Earthquake random event. +Draws a curve of turfs between a high and low point. These turfs will shake and eventually "collapse", forming a cut in the station that drops to the z-level below. +Much of the actual structural damage is done through the explosions subsystem. Objects, machines, and especially people +that aren't moved out of the epicenter area (indicated by the wobbly tiles) will not just be thrown down a z-level, but also be destroyed/maimed in the process.
      • +
      • grid_check
      • +
      • heart_attack
      • +
      • immovable_rod - Immovable rod random event. +The rod will spawn at some location outside the station, and travel in a straight line to the opposite side of the station
      • +
      • market_crash - An event which decreases the station target temporarily, causing the inflation var to increase heavily.
      • +
      • sandstorm - Sandstorm Event: Throws dust/sand at one side of the station. High-intensity and relatively short, +however the incoming direction is given along with time to prepare. Damages can be reduced or +mitigated with a few people actively working to fix things as the storm hits, but leaving the event to run on its own can lead to widespread breaches.
      • +
      • sandstorm_classic - The original sandstorm event. An admin-only disasterfest that sands down all sides of the station +Uses space dust, meaning walls/rwalls are quickly chewed up very quickly.
      • +
      • shuttle_loan
      • +
      • stray_cargo - Spawns a cargo pod containing a random cargo supply pack on a random area of the station
          +
        • syndicate - Places that shouldn't explode +Subtypes from the above that actually should explode. +A rare variant that drops a crate containing syndicate uplink items
        • +
      • +
      • supermatter_surge - Supermatter Surge
      • +
      • wizard
      • +
    • +
    • rpgloot_controller
    • +
    • rpgtitle_controller
    • +
    • rust_spread - #Rust spread datum
    • +
    • scan_condition - Scan condition, these require some specific setup for the dish to count for the scan power for the given site
    • +
    • scanner_controller - Helper datum to calculate and store scanning power and track in progress scans
    • +
    • scar - scars are cosmetic datums that are assigned to bodyparts once they recover from wounds. Each wound type and severity have their own descriptions for what the scars +look like, and then each body part has a list of "specific locations" like your elbow or wrist or wherever the scar can appear, to make it more interesting than "right arm"
    • +
    • scientific_paper - Scientific paper datum for retrieval and re-reading. A lot of the variables are there for fluff & flavor.
    • +
    • scientific_partner - Various informations on companies/scientific programs/journals etc that the players can sign on to.
    • +
    • screen_object_holder - A helper instance that will handle adding objects from the client's screen +to easily remove from later.
    • +
    • secrets_menu
    • +
    • security_level - Security levels
    • +
    • select_equipment
    • +
    • shared_uplink_stock - Code that enables the ability to have limited stock that is shared by different items
    • +
    • shuttle_event - An event that can run during shuttle flight, and will run for the duration of it (configurable)
        +
      • simple_spawner - Spawns objects, mobs, whatever with all the necessary code to make it hit and/or miss the shuttle
          +
        • black_hole - Sensors indicate that a black hole's gravitational field is affecting the region of space we were headed through
            +
          • adminbus - Kobayashi Maru version
          • +
        • +
        • carp - CARPTIDE! CARPTIDE! CARPTIDE! A swarm of carp will pass by and through the shuttle, including consequences of carp going through the shuttle
            +
          • friendly - Spawn a bunch of friendly carp to view from inside the shuttle! May occassionally pass through and nibble some windows, but are otherwise pretty harmless
          • +
          • friendly_but_no_personal_space - Same as /friendly, but we only go through the shuttle, MUHAHAHAHAHAHA!! They dont actually harm anyone, but itll be a clusterfuck of confusion
          • +
          • magic - CARPTIDE! CARPTIDE! CARPTIDE! Magical carp will attack the shuttle!
          • +
        • +
        • fake_ttv - We do a little bit of tomfoolery
        • +
        • italian - thats amoreeeeee
        • +
        • maintenance - Just spawn random maint garbage
        • +
        • meteor
            +
          • dust - Very weak meteors, but may very rarely actually hit the shuttle!
          • +
          • safe - Okay this spawns a lot of really bad meteors, but they never hit the shuttle so it's perfectly safe (unless you go outside lol)
          • +
        • +
        • player_controlled - Mobs spawned with this one are automatically player controlled, if possible
            +
          • alien_queen - BACK FOR REVENGE!!!
          • +
          • carp - Spawns three player controlled carp!! Deadchats final chance to wreak havoc, probably really not that dangerous if even one person has a laser gun
          • +
        • +
      • +
    • +
    • shuttle_loan_situation - One of the potential shuttle loans you might receive.
    • +
    • signal
    • +
    • skill
        +
      • fishing - skill associated with the fishing feature. It modifies the fishing minigame difficulty +and is gained each time one is completed.
      • +
      • fitness
      • +
    • +
    • slime_type
    • +
    • sm_delam - Logic holder for supermatter delaminations, goes off the strategy design pattern. +Selected by /obj/machinery/power/supermatter_crystal/proc/set_delam
        +
      • cascade
      • +
      • explosive - Default delam.
      • +
      • singularity - When we have too much gas.
      • +
      • tesla - When we have too much power.
      • +
    • +
    • sm_gas - Contains effects of gases when absorbed by the sm. +If the gas has no effects you do not need to add another sm_gas subtype, +We already guard for nulls in /obj/machinery/power/supermatter_crystal/proc/calculate_gases
    • +
    • smite - A smite, used by admins to punish players, or for their own amusement
        +
      • bad_luck - Gives the target bad luck, optionally permanently
      • +
      • berforate - Fires an absurd amount of bullets at the target
      • +
      • bloodless - Slashes up the target
      • +
      • boneless - Gives the target critically bad wounds
      • +
      • brain_damage - Inflicts crippling brain damage on the target
      • +
      • bsa - Fires the BSA at the target
      • +
      • curse_of_babel - Strikes the target with a lightning bolt
      • +
      • custom_imaginary_friend - Custom imaginary friend.
      • +
      • dock_pay - Docks the target's pay
      • +
      • fake_bwoink - Sends the target a fake adminhelp sound
      • +
      • fat - Fattens the target
      • +
      • fireball - Throws a fireball down at the target
      • +
      • gib - Gibs the target
      • +
      • immerse - "Fully immerses" the player, making them manually breathe and blink
      • +
      • knot_shoes - Ties the target's shoes
      • +
      • lightning - Strikes the target with a lightning bolt
      • +
      • nugget - Rips off all the limbs of the target
      • +
      • objectify - Turns the target into an object (for instance bread)
      • +
      • ocky_icky - "Immerses" the player, making them unable to use some OOC terms IC
      • +
      • petrify - Turn pur target to stone, forever
      • +
      • puzzgrid - Turns the user into a puzzgrid
      • +
      • puzzle - Turns the user into a sliding puzzle
      • +
      • rod - Throw an immovable rod at the target
      • +
      • scarify - Gives the target fake scars
      • +
      • supply_pod - Throws a supply pod at the target, with no item inside
      • +
      • supply_pod_quick - Quickly throws a supply pod at the target, optionally with an item
      • +
    • +
    • Song datum - These are the actual backend behind instruments. +They attach to an atom and provide the editor + playback functionality.
    • +
    • sort_instance
    • +
    • spacevine_controller
    • +
    • spacevine_mutation
    • +
    • sparring_match
    • +
    • Spatial Grid Cell - used by /datum/controller/subsystem/spatial_grid to cover every z level so that the coordinates of every turf in the world corresponds to one of these in +the subsystems list of grid cells by z level. each one of these contains content lists holding all atoms meeting a certain criteria that is in our borders. +these datums shouldnt have significant behavior, they should just hold data. the lists are filled and emptied by the subsystem.
    • +
    • species datum - Datum that handles different species in the game.
        +
      • dullahan
      • +
      • ethereal
      • +
      • golem - Animated beings of stone. They have increased defenses, and do not need to breathe. They must eat minerals to live, which give additional buffs.
      • +
      • human
          +
        • felinid
        • +
        • tallboy - These won't appear normally in games, they are meant to for debuging the adjustment of limbs based on the height of a humans bodyparts.
        • +
      • +
      • jelly
      • +
      • lizard
      • +
      • monkey/holodeck - Virtual monkeys that crave virtual bananas. Everything about them is ephemeral (except that bite).
      • +
      • plasmaman
      • +
      • shadow/nightmare - A highly aggressive subset of shadowlings
      • +
      • vampire
      • +
      • zombie
      • +
    • +
    • spellbook_entry
        +
      • challenge - Non-purchasable flavor spells to populate the spell book with, for style.
      • +
      • item - Item summons, they give you an item.
      • +
      • summon - Ritual, these cause station wide effects and are (pretty much) a blank slate to implement stuff in
          +
        • specific_spell - A wizard ritual that allows the wizard to teach a specific spellbook enty to everyone on the station. +This includes item entries (which will be given to everyone) but disincludes other rituals like itself
        • +
      • +
    • +
    • sprite_accessory
    • +
    • stack_canary - Stack canary. Will go away if the stack it was primed by is ended by byond for return or stack overflow reasons.
    • +
    • stack_end_detector - Stack End Detector. +Can detect if a given code stack has exited, used by the mc for stack overflow detection.
    • +
    • stack_recipe
    • +
    • station_alert
    • +
    • station_request - A combined all in one datum that stores everything about the request, the requester's account, as well as the requestee's account +All of this is passed to the Request Console UI in order to present in organized way.
    • +
    • station_state - For counting up how much of the station exists at the start of the shift, and how much is left behind by the end of it.
    • +
    • station_trait - Base class of station traits. These are used to influence rounds in one way or the other by influencing the levers of the station.
        +
      • birthday
      • +
      • cybernetic_revolution
      • +
      • forested - Tells the area map generator to ADD MORE TREEEES
      • +
      • ian_adventure
      • +
      • job - A station trait which enables a temporary job +Generally speaking these should always all be mutually exclusive, don't have too many at once
          +
        • cargorilla - Adds a gorilla to the cargo department, replacing the sloth and the mech
        • +
      • +
      • nebula - Station traits that influence the space background and apply some unique effects!
          +
        • hostile - Station nebula that incur some sort of effect if no shielding is created
            +
          • radiation - The station will be inside a radioactive nebula! Space is radioactive and the station needs to start setting up nebula shielding
          • +
        • +
      • +
      • random_event_weight_modifier
      • +
      • revolutionary_trashing
      • +
      • storm - Starts a storm on roundstart
          +
        • foreverstorm - Calls down an eternal storm on planetary stations
        • +
      • +
      • vending_shortage - A negative trait that reduces the amount of products available from vending machines throughout the station.
      • +
    • +
    • status_effect - Status effects are used to apply temporary or permanent effects to mobs. +This file contains their code, plus code for applying and removing them.
        +
      • agent_pinpointer
      • +
      • ants
      • +
      • basilisk_overheat - Status effect gained by basilisks when they touch something hot
      • +
      • blessing_of_insanity - Granted to wizards upon satisfying the cheese sacrifice during grand rituals. +Halves incoming damage and makes the owner stun immune, damage slow immune, levitating(even in space and hyperspace!) and glowing.
      • +
      • borg_throw_slow - Reduce a cyborg's speed when you throw things at it
      • +
      • brimdust_concussion - Slowdown applied when you are detonated on the space station
      • +
      • bugkiller_death - If bugkiller delivers a lethal dosage, applies this effect which does a funny animation THEN kills 'em +Also makes it so simplemobs / basicmobs no longer delete when they die (if they do)
      • +
      • carp_invigoration - Makes you run faster for the duration
      • +
      • choke
      • +
      • cloudstruck
      • +
      • confusion - A status effect used for adding confusion to a mob.
      • +
      • cosmic_beam
      • +
      • decloning
      • +
      • dizziness
      • +
      • drowsiness
      • +
      • drugginess - Drugginess / "high" effect, makes your screen rainbow
      • +
      • eigenstasium
      • +
      • eldritch
      • +
      • exercised
      • +
      • eye_blur - Applies a blur to the user's screen, increasing in strength depending on duration remaining.
      • +
      • fire_blasted - Status effect applied when someone's hit by the fire blast.
      • +
      • fire_handler
      • +
      • fire_ring - Simple status effect for adding a ring of fire around a mob.
      • +
      • firecookie - CONSUMING EXTRACTS
      • +
      • food - Buffs given by eating hand-crafted food. The duration scales with consumable reagents purity.
          +
        • haste - Haste makes the eater move faster
        • +
        • trait - Makes you gain a trait
        • +
      • +
      • genetic_damage
      • +
      • ghoul
      • +
      • golem - Abstract holder for golem status effects, you should never have more than one of these active
          +
        • bananium - Makes you slippery
        • +
        • diamond - Makes you hard to see
        • +
        • gold - Makes you reflect energy projectiles
        • +
        • plasma - Heat immunity, turns heat damage into local power
        • +
        • plasteel - Makes you spaceproof
        • +
        • silver - Magic immunity
        • +
        • titanium - Makes you tougher
        • +
        • uranium - Freezes hunger for the duration
        • +
      • +
      • golem_lightbulb - Lights up the golem, NOT using the golem subtype because it is not exclusive with other status effects
      • +
      • golem_statued - Uh oh, you can't move, yell for help
      • +
      • grouped - Status effect from multiple sources, when all sources are removed, so is the effect
          +
        • blindness - Blindness
        • +
        • cursed - Status effect that gives the target miscellanous debuffs while throwing a status alert and causing them to smoke from the damage they're incurring. +Purposebuilt for cursed slot machines.
        • +
        • nearsighted - Nearsighted
        • +
        • screwy_hud - Screwy hud status.
        • +
      • +
      • guardian_scout_mode - Become an incorporeal scout
      • +
      • guardian_stealth - Status effect which makes us sneakier and do bonus damage
      • +
      • hallucination - Hallucination status effect. How most hallucinations end up happening. +Hallucinations are drawn from the global weighted list, random_hallucination_weighted_list
      • +
      • hazard_area - The dedicated status effect for the hazard_area component - use with caution and know what it does!
      • +
      • ice_block_talisman
      • +
      • incapacitating
          +
        • incapacitated - This status effect represents anything that leaves a character unable to perform basic tasks (interrupting do-afters, for example), but doesn't incapacitate them further than that (no stuns etc..)
        • +
        • sleeping
        • +
        • stun/goliath_tentacled - Goliath tentacle stun with special removal conditions
        • +
      • +
      • inebriated - The drunk status effect. +Slowly decreases in drunk_value over time, causing effects based on that value.
          +
        • drunk - Stage 2 of being drunk, applied at drunk values between 6 and onward. +Has all the main side effects of being drunk, scaling up as they get more drunk.
        • +
        • tipsy - Stage 1 of drunk, applied at drunk values between 0 and 6. +Basically is the "drunk but no side effects" stage.
        • +
      • +
      • inflated - Status effect from the Expand action, makes you big and round and strong.
      • +
      • jitter
      • +
      • jump_jet - Gives you a brief period of anti-gravity
      • +
      • limited_buff - These effects reapply their on_apply() effect when refreshed while stacks < max_stacks.
          +
        • health_buff - this buff provides a max health buff and a heal.
        • +
      • +
      • limp
      • +
      • lobster_rush - Status effect: Makes you run really fast and ignore speed penalties for a short duration. +If you run into a wall indoors you will fall over and lose the buff. +If you run into someone you both fall over.
          +
        • extended - You get a longer buff if you take the time to implant it in yourself
        • +
      • +
      • mayhem
      • +
      • midas_blight
      • +
      • offering
          +
        • no_item_received - This status effect is meant only for items that you don't actually receive +when offered, mostly useful for /obj/item/hand_item subtypes.
            +
          • high_five - Subtype for high fives, so we can fake out people
          • +
          • needs_resting - This status effect is meant only to be used for offerings that require the target to +be resting (like when you're trying to give them a hand to help them up). +Also doesn't require them to have their hands free (since you're not giving them +anything).
          • +
        • +
      • +
      • organ_set_bonus
          +
        • carp - bonus of the carp: you can swim through space!
        • +
        • fly - bonus of the fly: you... are a flyperson now. sorry.
        • +
        • goliath - bonus of the goliath: you can swim through space!
        • +
        • gondola - bonus of the observing gondola: you can ignore environmental hazards
        • +
        • rat - bonus of the rat: you can ventcrawl!
        • +
        • roach
        • +
      • +
      • overwatch - Status effect which tracks whether our overwatched mob moves or acts
      • +
      • overwatch_immune - Blocks further applications of the ability for a little while
      • +
      • protective_blades - Summons multiple foating knives around the owner. +Each knife will block an attack straight up.
          +
        • recharging - A subtype that doesn't self-delete / disappear when all blades are gone +It instead regenerates over time back to the max after blades are consumed
        • +
      • +
      • protector_shield - Makes the guardian even more durable, but slower
      • +
      • psychic_projection - Status effect that adds a weird view to its owner and causes them to rapidly shoot a firearm in their general direction.
      • +
      • revenant - Parent type for all unique revenant status effects
      • +
      • shadow_cloak - Shadow cloak effect. Conceals the owner in a cloud of purple smoke, making them unidentifiable. +Also comes with some other buffs and debuffs - faster movespeed, slower actionspeed, etc.
      • +
      • shapechange_mob
      • +
      • silenced
      • +
      • slimed
      • +
      • song - Type of status effect applied by music played by the festival sect. Stacks upon itself, and removes all other song subtypes other than itself.
      • +
      • spacer
      • +
      • speech
      • +
      • stabilized - STABILIZED EXTRACTS
      • +
      • stacking - Status effects that can stack.
          +
        • brimdust_coating - If you take brute damage with this buff, hurt and push everyone next to you. +If you catch fire and or on the space station, detonate all remaining stacks in a way which hurts you. +Washes off if you get wet.
        • +
      • +
      • staggered
      • +
      • star_mark
      • +
      • static_vision
      • +
      • strandling
      • +
      • Stun absorption - A status effect effectively functions as TRAIT_STUNIMMUNE, but with additional effects tied to it, +such as showing a message on trigger / examine, or only blocking a limited amount of stuns.
      • +
      • surrender_timed - For when you need to make someone be prompted for surrender, but not forever
      • +
      • teleport_madness - Maddly teleports the victim around all of space for 10 seconds
      • +
      • temporary_blindness - This status effect handles applying a temporary blind to the mob.
      • +
      • temporary_transformation - Transforms a carbon mob into a new DNA for a set amount of time, +then turns them back to how they were before transformation.
      • +
      • terrified
      • +
      • tinlux_light - Makes the mob luminescent for the duration of the effect.
      • +
      • unholy_determination - The buff given to people within the shadow realm to assist them in surviving.
      • +
      • void_chill
      • +
      • wound
      • +
    • +
    • stock_part - Represents the concept of a stock part. +One is created for every stock part type for every level. +Machines have these inside their component_parts. +For example, scanning modules use /datum/stock_part/scanning_module. +In machines, you can perform a loop through something like +for (var/datum/stock_part/scanning_module/part in component_parts)
        +
      • ansible - Subspace stock parts
      • +
    • +
    • storage - Datumized Storage +Eliminates the need for custom signals specifically for the storage component, and attaches a storage variable (atom_storage) to every atom. +The parent and real_location variables are both weakrefs, so they must be resolved before they can be used. +If you're looking to create custom storage type behaviors, check ../subtypes
        +
      • fish_case
      • +
      • rped
      • +
      • tcg - A storage component to be used on card piles, for use as hands/decks/discard piles. Don't use on something that's not a card pile!
      • +
    • +
    • strip_menu - A representation of the stripping UI
    • +
    • strippable_item - A representation of an item that can be stripped down
    • +
    • summon_things_controller - The "Give everyone in the crew and also latejoins a buncha stuff" controller. +Used for summon magic and summon guns.
    • +
    • supply_order
        +
      • disposable - Custom type of order who's supply pack can be safely deleted
          +
        • materials - Custom material order to append cargo crate value to the final order cost
        • +
      • +
    • +
    • supply_pack
        +
      • custom - Custom supply pack +The contents are given on New rather than being static +This is for adding custom orders to the Cargo console (like order consoles)
      • +
      • engine - Engine Construction
      • +
      • exploration - Exploration drone unlockables
      • +
      • imports - Imports category. +This is for crates not intended for goodies, but also not intended for departmental orders. +This allows us to have a few crates meant for deliberate purchase through cargo, and for cargo to have a few items +they explicitly control. It also holds all of the black market material and contraband material, including items +meant for purchase only through emagging the console.
      • +
      • market_materials - todo: make this a supply_pack/custom. Drop pog? ohoho yes. Would be VERY fun.
      • +
      • misc/syndicate - Special supply crate that generates random syndicate gear up to a determined TC value
          +
        • custom_value - Syndicate supply crate that can have its contents value changed by admins, uses a seperate datum to avoid having admins touch the original one.
        • +
      • +
      • organic/pizza
      • +
      • security/armory - Armory packs
      • +
      • service
          +
        • bar_sign - Spare bar sign wallmount
        • +
        • greyidbox - Box of 7 grey IDs.
        • +
        • silverid - Single silver ID.
        • +
      • +
      • vending/wardrobes/autodrobe - Clothing Vending Restocks
      • +
    • +
    • surgery
        +
      • debride - BURN FIXING SURGERIES////// +Debride burnt flesh
      • +
      • healing
          +
        • brute - BRUTE
        • +
        • burn - BURN
        • +
        • combo - COMBO
        • +
      • +
      • repair_bone_compound - Repair Compound Fracture (Critical)
      • +
      • repair_bone_hairline - BONE FIXING SURGERIES////// +Repair Hairline Fracture (Severe)
      • +
      • repair_puncture - Repair puncture wounds
      • +
      • revival
          +
        • carbon - Additional revival effects if the target has a brain
        • +
      • +
    • +
    • surgery_step
        +
      • debride - Debride
      • +
      • dress - Dressing burns
      • +
      • experimental_dissection
      • +
      • filter_blood
      • +
      • gastrectomy - Gastrectomy, because we truly needed a way to repair stomachs.
      • +
      • heal
      • +
      • hepatectomy - hepatectomy, removes damaged parts of the liver so that the liver may regenerate properly
      • +
      • manipulate_organs - Organ manipulation base class. Do not use, it wont work. Use it's subtypes
          +
        • external - Surgery step for external organs/features, like tails, frills, wings etc
            +
          • mechanic - prosthetic surgery gives full effectiveness to crowbars (and hemostats)
          • +
        • +
        • internal - Surgery step for internal organs, like hearts and brains
            +
          • mechanic - prosthetic surgery gives full effectiveness to crowbars (and hemostats)
          • +
        • +
      • +
      • repair_bone_compound - Repair Compound Fracture (Crticial)
      • +
      • repair_bone_hairline - Repair Hairline Fracture (Severe)
      • +
      • repair_innards - realign the blood vessels so we can reweld them
      • +
      • replace_limb - AUGMENTATION SURGERIES
      • +
      • reset_compound_fracture - Reset Compound Fracture (Crticial)
      • +
      • revive
      • +
      • seal_veins - Sealing the vessels back together
      • +
    • +
    • symptom
    • +
    • syndicate_contract
    • +
    • targeting_strategy - Datum for basic mobs to define what they can attack.GET_TARGETING_STRATEGY((/[^,]*)), +Global, just like ai_behaviors
        +
      • basic
          +
        • allow_items - Subtype more forgiving for items. +Careful, this can go wrong and keep a mob hyper-focused on an item it can't lose aggro on
            +
          • moonicorn - moonicorns will not attack people holding something that could tame them.
          • +
        • +
        • holding_object - Find mobs who are holding the bb configurable object type
        • +
        • legion - Target nearby friendlies if they are hurt (and are not themselves Legions)
        • +
        • mook
        • +
        • mushroom
        • +
        • not_friends - Don't target an atom in our friends list (or turfs), anything else is fair game
            +
          • allow_items - Subtype that allows us to target items while deftly avoiding attacking our allies. Be careful when it comes to targeting items as an AI could get trapped targeting something it can't destroy.
          • +
        • +
        • of_size - Subtype which searches for mobs of a size relative to ours
        • +
        • same_faction - Makes the mob only attack their own faction. Useful mostly if their attacks do something helpful (e.g. healing touch).
            +
          • construct - Targeting strategy that will only allow mobs that constructs can heal.
          • +
        • +
      • +
      • lightgeist - Attack only mobs who have damage that we can heal, I think this is specific enough not to be a generic type
      • +
    • +
    • team
    • +
    • Techweb - A datum representing a research techweb
        +
      • admin - Admin techweb that has everything unlocked by default
      • +
      • autounlocking - Techweb node that automatically unlocks a given buildtype. +Saved in GLOB.autounlock_techwebs and used to prevent +creating new ones each time it's needed.
      • +
      • disk - Techweb made through tech disks +Contains nothing, subtype mostly meant to make it easy for admins to see.
      • +
      • science - Global Science techweb for RND consoles
      • +
    • +
    • Techweb Node - A datum representing a researchable node in the techweb.
        +
      • adv_mecha - mech technology
      • +
      • adv_shells - integrated circuits tech
      • +
      • alientech - Alien technology
      • +
      • basic_mining - Tools
      • +
      • basic_plasma - plasma tech
      • +
      • biotech - Biotech
      • +
      • bluespace_basic - Bluespace tech
      • +
      • clown - Clown tech
      • +
      • comptech - Computer tech
      • +
      • datatheory - data theory tech
      • +
      • emp_basic - EMP tech
      • +
      • engineering - engineering tech
      • +
      • genetics - Medical
      • +
      • imp_wt_surgery - Advanced Surgery
      • +
      • light_apps - B.E.P.I.S. Locked Techs
      • +
      • robotics - robotics tech
      • +
      • syndicate_basic
      • +
      • weaponry - weaponry tech
      • +
    • +
    • tgs_chat_channel - Represents a connected chat channel.
    • +
    • tgs_chat_command - User definable chat command.
        +
      • reload_admins - Reload admins tgs chat command. Intentionally not validated.
      • +
      • validated - subtype tgs chat command with validated admin ranks. Only supports discord.
      • +
    • +
    • tgs_chat_embed
        +
      • field - See https://discord.com/developers/docs/resources/channel#embed-object-embed-field-structure for details. Must have name and value set in New().
      • +
      • footer - See https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure for details.
      • +
      • media - Common datum for similar discord embed medias.
      • +
      • provider - See https://discord.com/developers/docs/resources/channel#embed-object-embed-provider-structure for details.
          +
        • author - See https://discord.com/developers/docs/resources/channel#embed-object-embed-author-structure for details. Must have name set in New().
        • +
      • +
      • structure - User definable chat embed. Currently mirrors Discord chat embeds. See https://discord.com/developers/docs/resources/channel#embed-object-embed-structure for details.
      • +
    • +
    • tgs_chat_user
    • +
    • tgs_event_handler - User definable handler for TGS events.
    • +
    • tgs_message_content - User definable chat message.
    • +
    • tgs_revision_information - Represents git revision information.
        +
      • test_merge - Represents a merge of a GitHub pull request.
      • +
    • +
    • tgs_version - Represents a version.
    • +
    • tgui - tgui datum (represents a UI).
    • +
    • tgui_alert - Datum used for instantiating and using a TGUI-controlled modal that prompts the user with +a message and has buttons for responses.
    • +
    • tgui_checkbox_input - Window for tgui_input_checkboxes
    • +
    • tgui_input_number - Datum used for instantiating and using a TGUI-controlled number input that prompts the user with +a message and has an input for number entry.
    • +
    • tgui_input_text - tgui_input_text
    • +
    • tgui_list_input - Client does NOT have tgui_input on: Returns regular input
    • +
    • tgui_panel - tgui_panel datum +Hosts tgchat and other nice features.
    • +
    • tgui_say - The tgui say modal. This initializes an input window which hides until +the user presses one of the speech hotkeys. Once something is entered, it will +delegate the speech to the proper channel.
    • +
    • tgui_window
    • +
    • thrownthing
    • +
    • ticket_history - Holds information about a ticket
    • +
    • ticket_history_holder
    • +
    • tile_info - stores the name, type, icon & cost for each tile type
    • +
    • Timed Event - This is the actual timer, it contains the callback and necessary data to maintain +the timer.
    • +
    • tlv
    • +
    • tournament_team - References a team in string/teams
    • +
    • trackable
    • +
    • trader_data - Used to contain the traders initial wares, and speech
    • +
    • traitor_category_handler - The traitor category handler. This is where the probability of all objectives are managed.
    • +
    • traitor_objective - A traitor objective. Traitor objectives should not be deleted after they have been created and established, only failed. +If a traitor objective needs to be removed from the failed/completed objective list of their handler, then you are doing something wrong +and you should reconsider. When an objective is failed/completed, that is final and the only way you can change that is by refactoring the code.
    • +
    • traitor_objective_category - The objective category. +Used to group up entire objectives into 1 weight objects to prevent having a +higher chance of getting an objective due to an increased number of different objective subtypes. +These are nothing but informational holders and will have no other purpose.
        +
      • sabotage_machinery - Traitor objective to destroy a machine the crew cares about
      • +
    • +
    • tram_mfg_info
    • +
    • transport_controller/linear - coordinate and control movement across linked transport_controllers. allows moving large single multitile platforms and many 1 tile platforms. +also is capable of linking platforms across linked z levels
        +
      • tram - Tram specific variant of the generic linear transport controller.
      • +
    • +
    • trophy_data - trophy data datum, for admin manipulation
    • +
    • trophy_manager - Trophy Admin Management Panel
    • +
    • tts_request - A struct containing information on an individual player or mob who has made a TTS request
    • +
    • turf_reservation
    • +
    • tutorial - The base for a contextual tutorial. +In order to give a tutorial to someone, use SStutorials.suggest_tutorial(user, /datum/tutorial/subtype)
        +
      • drop - Tutorial for showing how to drop items. +Fired when clicking on an item with another item with a filled inactive hand.
      • +
      • switch_hands - Tutorial for showing how to switch hands. +Fired when clicking on an item with another item with an empty inactive hand.
      • +
    • +
    • tutorial_manager - A singleton that manages when to create tutorials of a specific tutorial type.
    • +
    • ui_state
    • +
    • unit_test
        +
      • abductor_baton_spell - Tests that abductors get their baton recall spell when being equipped
      • +
      • ablative_hood_hud - Check that player gains and loses sec hud when toggling the ablative hood
      • +
      • achievements - Checks that all achievements have an existing icon state in the achievements icon file.
      • +
      • actions_moved_on_mind_transfer - Tests that actions assigned to a mob's mind +are successfuly transferred when their mind is transferred to a new mob.
      • +
      • anonymous_themes - Ensure that anonymous themes works without changing your preferences
      • +
      • area_contents - Verifies that an area's perception of their "turfs" is correct, and no other area overlaps with them +Quite slow, but needed
      • +
      • armor_verification - Verifies that armor procs are working as expected
      • +
      • atmospheric_gas_transfer - Test to make sure the pressure pumping proc used by things like portable pumps, pressure pumps, etc actually work.
      • +
      • atmospherics_sanity - This test checks that all expected areas are connected to a starting area
      • +
      • autowiki - Tests that all autowikis generate something without runtiming
      • +
      • autowiki_include_template - Test that include_template produces reasonable results
      • +
      • barsigns_emp - Test that an emped barsign displays correctly
      • +
      • barsigns_icon - Test if icon states for each datum actually exist in the DMI.
      • +
      • barsigns_name - Check that bar signs have a name and desc, and that the name is unique.
      • +
      • baseturfs_placed_on_bottom - Validates that specially placed baseturfs BELOW tear down properly
      • +
      • baseturfs_placed_on_top - Validates that specially placed baseturfs tear down properly
      • +
      • baseturfs_unmodified_scrape - Validates that unmodified baseturfs tear down properly
      • +
      • binary_insert
      • +
      • bitrunner_vdom_settings - Ensures settings on vdoms are correct
      • +
      • blindness - Unit test to check that blindness adds the correct status effects, overlays, and client colors
      • +
      • bloody_footprints - Tests to make sure bloody footprits work as expected +So no stacking, they actually apply, and shoe staining thrown in for free
      • +
      • book_of_babel - Tests that the book of babel, and by extension grant_all_languages, works as intended
      • +
      • breath - Tests to ensure humans, plasmamen, and ashwalkers can breath in normal situations. +Ensures algorithmic correctness of the "breathe()" and "toggle_internals()" procs. +Built to prevent regression on an issue surrounding QUANTIZE() and BREATH_VOLUME. +See the comment on BREATH_VOLUME for more details.
          +
        • breath_sanity_ashwalker - Tests to make sure ashwalkers can breathe from the lavaland air.
        • +
        • breath_sanity_plasmamen - Tests to make sure plasmaman can breath from their internal tanks
        • +
      • +
      • burning - Tests that no runtimes are thrown when a mob is on fire
      • +
      • cable_powernets - Checking all powernets to see if they are properly connected and powered.
      • +
      • cardboard_cutouts - Validates that cardboard cutouts have the proper icons
      • +
      • chat_filter_sanity - Tests the sanity of the chat filter, ensuring it properly blocks words and gives the reason
      • +
      • circuit_component_category - Tests to make sure each circuit component that could potentially be available to a player has a category
      • +
      • client_colours - Checks that client colours have valid colour variables values at least when inited.
      • +
      • closets - Checks that the length of the initial contents of a closet doesn't exceed its storage capacity. +Also checks that nothing inside that isn't immediate is a steal objective.
      • +
      • clothing_under_armor_subtype_check - Test if all jumpsuits are using the proper armor subtype.
      • +
      • connect_loc_basic - Test that the connect_loc element handles basic movement cases
      • +
      • connect_loc_change_turf - Test that the connect_loc element handles turf changes
      • +
      • connect_loc_multiple_on_turf - Tests that multiple objects can have connect_loc on the same turf without runtimes.
      • +
      • container_resist
      • +
      • contents_barfer - Unit test for the contents barfer element
      • +
      • crayon_naming - Makes sure that crayons have their crayon_color in their initial name (to differentiate them in the crafting menu).
      • +
      • create_and_destroy - Delete one of every type, sleep a while, then check to see if anything has gone fucky
      • +
      • cult_conversion - Tests that cults can convert people with their rune
      • +
      • dcs_check_list_arguments - list arguments for bespoke elements are treated as a text ref in the ID, like any other datum. +Which means that, unless cached, using lists as arguments will lead to multiple instance of the same element +being created over and over.
      • +
      • dcs_get_id_from_arguments - Let's avoid sending the same instructions over and over, as it's just going to clutter the CI and confuse someone. +Tests that DCS' GetIdFromArguments works as expected with standard and odd cases
      • +
      • defined_inhand_icon_states - Makes sure items with defined inhand_icon_states... actually have icons that exist!
      • +
      • dismemberment
      • +
      • door_access_check - Tests to make sure door access works correctly.
      • +
      • drink_icons - Unit tests glass subtypes have a valid icon setup
      • +
      • dummy_spawn_outfit - Equips and devests our dummy of one of every job outfit
      • +
      • dummy_spawn_species - This set of tests is focused on ensuring the stability of preference dummies +And by extension the hacks built to make them fast +Organ consistency, object pooling via the wardrobe ss, etc
      • +
      • dynamic_roundstart_ruleset_sanity - Verifies that roundstart dynamic rulesets are setup properly without external configuration.
      • +
      • dynamic_unique_antag_flags - Verifies that dynamic rulesets have unique antag_flag.
      • +
      • egg_glands - Verifies that all glands for an egg are valid
      • +
      • ensure_subtree_operational_datum - Unit Test that ensure that if we add a specific planning subtree to a basic mob's planning tree, that we also have the operational datum needed for it (component/element). +This can be extended to other "mandatory" operational datums for certain subtrees to work.
      • +
      • explosion_action - Tests the EX_ACT macro on several different types of atoms to ensure that it still works as expected.
      • +
      • eye_damage - Unit test to ensure eyes are properly blinded and nearsighted by eye damage
      • +
      • fish_breeding - Checks that fish breeding works correctly.
      • +
      • fish_evolution - Check if the fishes can generate offsprings at all. +Check that crossbreeder, no-mating and self-reproductive fish traits work correctly. +Checks that fish evolutions work correctly.
      • +
      • fish_rescue_hook - Checks that we are able to fish people out of chasms with priority and that they end up in the right location
      • +
      • fish_size_weight - Checks that things associated with fish size and weight work correctly.
      • +
      • focus_only - These tests perform no behavior of their own, and have their tests offloaded onto other procs. +This is useful in cases like in build_appearance_list where we want to know if any fail, +but is not useful to right a test for. +This file exists so that you can change any of these to TEST_FOCUS and only check for that test. +For example, change /datum/unit_test/focus_only/invalid_overlays to TEST_FOCUS(/datum/unit_test/focus_only/invalid_overlays), +and you will only test the check for invalid overlays in appearance building.
          +
        • bad_cooking_crafting_icons - Checks for bad icon / icon state setups in cooking crafting menu
        • +
        • fish_sources_tables - Checks that the contents of the fish_counts list are also present in fish_table
        • +
        • invalid_emissives - Checks that every created emissive has a valid icon_state
        • +
        • invalid_overlays - Checks that every overlay passed into build_appearance_list exists in the icon
        • +
        • invalid_research_designs - Checks that every icon sent to the research_designs spritesheet is valid
        • +
        • invalid_vending_machine_icon_states - Checks that every icon sent to vending machines is valid
        • +
        • missing_job_datum_variables - Checks to ensure that variables expected to exist in a job datum (for config reasons) actually exist
        • +
        • multiple_space_initialization - Checks that space does not initialize multiple times
        • +
        • nightvision_color_cutoffs - Checks that nightvision eyes have a full set of color lists
        • +
        • openspace_clear - Ensures openspace never spawns on the bottom of a z stack
        • +
        • sorted_smoothing_groups - Checks that smoothing_groups and canSmoothWith are properly sorted in /atom/Initialize
        • +
        • stacked_lights - Checks that no light shares a tile/pixel offsets with another
        • +
        • valid_turf_states - Checks that floor tiles are properly mapped to broken/burnt
        • +
      • +
      • font_awesome_icons - This unit test verifies that all Font Awesome icons are present in code, and that all quirk icons are valid.
      • +
      • food_edibility_check - Makes sure that spawned food has reagents and the edible component (or else it can't be eaten).
      • +
      • frame_stacking
      • +
      • full_heal_damage_types - Tests the fully heal combination flag HEAL_DAMAGE.
      • +
      • full_heal_heals_organs - Tests the fully heal flag HEAL_ORGANS.
      • +
      • full_heal_regenerates_organs - Tests the fully heal flag HEAL_REFRESH_ORGANS.
      • +
      • get_message_mods - Test to verify message mods are parsed correctly
      • +
      • get_turf_pixel - ensures that get_turf_pixel() returns turfs within the bounds of the map, +even when called on a movable with its sprite out of bounds
      • +
      • geyser - Geysers listen to reagent signals to know when to start processing, which is very cool, smart, optimized and fragile +Tests: +Check for reagent datum +Check if our geyser starts with the right reagent +Check if our geyser refills (by clearing the reagents, setting refresh rate to max and manually firing the subsystem) +Check if our geyser refilled with the right reagent
      • +
      • glass_style_functionality - Unit tests glass style datums are applied to drinking glasses
      • +
      • glass_style_icons - Unit tests all glass style datums with icons / icon states that those are valid and not missing.
      • +
      • golem_food - Unit test to ensure that golems can eat rocks successfully
      • +
      • greyscale_color_count - Makes sure objects using greyscale configs have, if any, the correct number of colors
      • +
      • greyscale_item_icon_states - Makes sure items using GAGS have all the icon states needed to work
      • +
      • gun_go_bang - Shoots a victim with a gun to ensure the gun properly loads and the victim take the correct amount of damage.
      • +
      • hallucination_icons - Unit tests various image related hallucinations +that their icon_states and icons still exist, +as often hallucinations are copy and pasted +implementations of existing image setups +that may be changed and not updated.
      • +
      • handcuff_bite - Tests handcuffed (HANDS_BLOCKED) monkeys can still bite despite being cuffed
      • +
      • handcuff_punch - Tests handcuffed (HANDS_BLOCKED) mobs cannot punch
      • +
      • high_five_walk_away - Tests someone offering a high five correctly stops offering when all takers walks away
      • +
      • hulk_attack - Tests hulk attacking over normal attacking
      • +
      • hulk_north_star - Tests that hulks aren't given rapid attacks from rapid attack gloves
      • +
      • human_default_traits - Tests /mob/living/carbon/human/proc/setup_organless_effects, specifically that they aren't applied when init is done
      • +
      • human_through_recycler - Puts a consistent assistant into an emagged recycler, and verifies that all intended behavior of an emagged recycler occurs (chewing up all the clothing, applying a level of melee damage, etc.)
      • +
      • hunger_curse - Tests that the curse of hunger, from /datum/component/curse_of_hunger, +is properly added when equipped to the correct slot and removed when dropped / deleted
      • +
      • hydroponics_extractor_storage - Unit test to ensure seeds can properly be added to the plant seed extractor through multiple methods. +This only tests transferring seeds to the storage, it does NOT test creating seeds.
      • +
      • hydroponics_harvest
      • +
      • hydroponics_self_mutation - Unit test to ensure plants can't self-mutate into themselves.
      • +
      • hydroponics_validate_genes - Unit test to ensure plants don't have multiple of a plant type at once by default.
      • +
      • job_roundstart_spawnpoints - Tests that /datum/job/proc/get_default_roundstart_spawn_point returns a landmark from all joinable jobs.
      • +
      • json_savefiles - The job of this unit test is to ensure that save files are correctly imported from BYOND to JSON. +It's a rather convoluted process and so this test ensures that something didn't fuck up somewhere.
      • +
      • knockdown - Tests knockdown and the canknockdown flag
      • +
      • knockoff_component - Test that the knockoff component will properly cause something +with it applied to be knocked off when it should be.
      • +
      • language_mind_swap - Tests that mind bound languages are not lost when swapping with another person (wiz mindswap)
      • +
      • language_mind_transfer - Tests that mind bound languages are not lost swapping into a new mob, but other languages are
      • +
      • language_species_change_other_known - Test that other random languages known are not lost on species change
      • +
      • language_species_swap_complex - Tests species changes which are more complex are functional (e.g. from a species which speaks common to one which does not)
      • +
      • language_species_swap_simple - Simply tests that swapping to a new species gives you the languages of that species and removes the languages of the old species
      • +
      • leash
          +
        • limit_range - Validates that the leashed object cannot move outside of the max distance from owner
        • +
        • no_teleport - Validates the leash component will keep its parent within range without teleporting +when possible.
        • +
        • will_teleport - Validates that the leash component will forcibly teleport when necessary
        • +
      • +
      • lesserform - Unit test to ensure that changelings can consistently turn from monkeys to humans and back
      • +
      • limb_height_adjustment - removes the abstract items. +Tests the height adjustment system which dynamically changes how much the chest, head, and arms of a carbon are adjusted upwards or downwards based on the length of their legs and chest.
      • +
      • ling_decap - Test lings don't die when decapitated.
      • +
      • load_map_security - Tests to ensure we can load a map from a whitelisted directory (_maps), but not a non-whitelisted directory (i.e "fartyShitPants")
      • +
      • log_mapping - Conveys all log_mapping messages as unit test failures, as they all indicate mapping problems.
      • +
      • lungs - Tests the standard, plasmaman, and lavaland lungs organ to ensure breathing and suffocation behave as expected. +Performs a check on each main (can be life-sustaining) gas, and ensures gas alerts are only thrown when expected.
          +
        • lungs_sanity_ashwalker - Tests the lavaland/Ashwalker lungs organ. +Ensures they can breathe from the lavaland air mixture properly, and suffocate on inadequate mixture.
        • +
        • lungs_sanity_plasmaman - Tests the Plasmaman lungs organ to ensure Plasma breathing and suffocation behave as expected.
        • +
      • +
      • machine_disassembly
      • +
      • mafia - Checks if a Mafia game with a Modular Computer and a Ghost will run with 'basic_setup', which is the default +way the game is ran, without admin-intervention. +The game should immediately end in a Town Victory due to lack of evils, but we can verify that both the PDA and the ghost +successfully managed to get into the round.
      • +
      • mapload_space_verification - Verifies that there are no space turfs inside a station area, or on any planetary z-level. Sometimes, these are introduced during the load of the map and are not present in the DMM itself. +Let's just make sure that we have a stop-gap measure in place to catch these if they pop up so we don't put it onto production servers should something errant come up.
      • +
      • mecha_damage - Unit test to ensure that mechs take the correct amount of damage +based on armor, and that their equipment is properly damaged as well.
      • +
      • merge_type
      • +
      • mind_swap_spell - Validates that the mind swap spell +properly transfers minds between a caster and a target.
      • +
      • missing_icons - Makes sure objects actually have icons that exist!
      • +
      • mob_chains - Checks if mobs who are linked together with the mob chain component react as expected
      • +
      • mob_damage - Tests to make sure mob damage procs are working correctly
          +
        • basic - Tests that mob damage procs are working as intended for basic mobs
        • +
      • +
      • mob_faction - Checks if any mob's faction var initial value is not a list, which is not supported by the current code
      • +
      • mob_spawn - Right now taken from create_and_destroy +Verifies that all glands for an egg are valid
      • +
      • modify_fantasy_variable
      • +
      • modsuit_checks - Checks all pre-equipped MODsuit paths to see if they have something set wrong.
      • +
      • monkey_business - Monkey Business
      • +
      • moth_food - Unit test to ensure that moths can eat t-shirts successfully
      • +
      • mouse_bite_cable - Unit Test to ensure that a mouse bites a cable, gets shocked, and dies.
      • +
      • mutant_hands - Test: Mutant hands component
      • +
      • mutant_hands_carry - Test: Mutant hands fireman carrying
      • +
      • mutant_hands_with_nodrop - Test: Mutant hands component with a nodrop item in place
      • +
      • mutant_organs - Iterates over all species to ensure that organs are valid after being set to a mutant species.
      • +
      • nearsightedness - Unit test to check that nearsighted is added and disabled correctly
      • +
      • normal_decap - Tests people get decapitated properly.
      • +
      • novaflower_burn - Unit tests that the novaflower's unique genes function.
      • +
      • nuke_cinematic - Unit tests that a nuke going off plays a cinematic, +and that it actually kills people.
      • +
      • objectives_category
      • +
      • operating_table - Make a mob hop on an optable, rest, get up, rest again, and then move to another tile. +While the mob is still an active patient, move another mob in too. +This is so the replacement code can kick in when the original mob is no longer valid.
      • +
      • orderable_items - Makes sure that no orderable items have dynamic descriptions, if they +don't explicitly set a description. +Also makes sure 2 orderable items don't sell the same thing.
      • +
      • organ_bodypart_shuffle - Moves organs in and out of bodyparts, and moves the bodyparts around to see if someone didn't fuck up their movement
      • +
      • organ_damage - Tests organ damage cap. +Organ damage should never bypass the cap. +Every internal organ is tested.
      • +
      • organ_sanity - List of infuser_entry typepaths which contain species-changing organs. +Species change swaps out all the organs, making test_organ un-usable after insertion. +Check organ insertion and removal, for all organ subtypes usable in-game. +Ensures algorithmic correctness of the "Insert()" and "Remove()" procs. +This test is especially useful because developers frequently override those.
      • +
      • organ_set_bonus_id - Checks that all "organ_set_bonus" status effects have unique "id" vars. +Required to ensure that the status effects are treated as "unique".
      • +
      • organ_set_bonus_sanity - Checks that all implantable DNA Infuser organs are set up correctly and without error. +Tests the "organ set bonus" Elements and Status Effects, which are for the DNA Infuser. +This test ensures that the "organ_set_bonus" status effects activate and deactivate when expected.
      • +
      • oxyloss_suffocation - Test getting over a certain threshold of oxy damage results in KO
      • +
      • paintings - Checks that all kind of painting frames have a sprite for each canvas type in the game.
      • +
      • paralyze - Tests paralyze and stuns that have two flags checked (in this case, canstun and canknockdown)
      • +
      • plane_double_transform - Ensures plane masters that get shrunk by multiz NEVER render into each other
      • +
      • plane_dupe_detector - Checks if we don't have two planes on the same layer
      • +
      • preference_species - Checks that all enabled roundstart species +selectable within the preferences menu +have their info / page setup correctly.
      • +
      • preferences_implement_everything - Requires all preferences to implement required methods.
      • +
      • preferences_should_generate_icons_sanity - Validates that every choiced preference with should_generate_icons implements icon_for, +and that every one that doesn't, doesn't.
      • +
      • preferences_valid_main_feature_name - Requires all main features have a main_feature_name
      • +
      • preferences_valid_savefile_key - Requires all preferences to have a valid, unique savefile_identifier.
      • +
      • projectile_movetypes - Tests all projectiles that none of them are phasing.
      • +
      • quirk_icons - Ensure every quirk has a unique icon
      • +
      • range_return - This tests for an unspecified bit of behavior we rely on in energy_ball.dm code +Essentially, as of the current byond version, range and view will return turfs in what looks "roughly" like a circle +So we can be guarenteed that if we find a turf, it will be the closest turf of that sort, or at least one of them +This code tests for that. If this ever fails, remove the logic fron energy_ball.dm, and test if spiral_turfs would be faster
      • +
      • reagent_container_defaults - Checks if reagent container transfer amount defaults match with actual possible values
      • +
      • reagent_container_sanity - Test to ensure that all possible reagent containers have enough space to hold any reagents they spawn in with. +A drink can with only 30 units of space should not be able to hold 50 units of drink, as an example.
      • +
      • reagent_names - Test that all reagent names are different in order to prevent #65231 and tests that searching for that reagent by name gives the correct one
      • +
      • reagent_transfer - Tests transferring reagents between two reagents datums.
      • +
      • required_map_items - Tests that all expected items are mapped in roundstart.
      • +
      • revolution_conversion - Tests that headrevs can convert people by clicking on them with flashes
      • +
      • say_signal - Test to verify COMSIG_MOB_SAY is sent the exact same list as the message args, as they're operated on
      • +
      • screenshot_antag_icons - A screenshot test to make sure every antag icon in the preferences menu is consistent
      • +
      • screenshot_basic - This is an example for screenshot tests, and a meta-test to make sure they work in the success case. +It creates a picture that is red on the left side, green on the other.
      • +
      • screenshot_dynamic_human_icons - A screenshot test for specific dynamic human icons
      • +
      • screenshot_high_luminosity_eyes - Tests to make sure no punks have broken high luminosity eyes
      • +
      • screenshot_humanoids - A screenshot test for every humanoid species with a handful of jobs.
      • +
      • screenshot_husk - A screenshot test for husks
      • +
      • screenshot_saturnx - A screenshot test for making sure invisible limbs function, keeping them clothed so we know they're there.
      • +
      • security_levels - Security Level Unit Test
      • +
      • security_officer_latejoin_distribution - Test that latejoin security officers are put into the correct department
      • +
      • security_officer_roundstart_distribution - Test that security officers with specific distributions get their departments.
      • +
      • self_punch - Tests you can punch yourself
      • +
      • servingtray
      • +
      • shadow_jaunt - Tests Shadow Walk can be entered and exited
      • +
      • shapeshift_health - Validates that shapeshifting carries health or death between forms properly, if it is supposed to
      • +
      • shapeshift_holoparasites - Validates that shapeshifts function properly with holoparasites.
      • +
      • shapeshift_spell - Validates that shapeshift spells put the mob in another mob, as they should.
      • +
      • shapeshift_spell_validity - Validates that all shapeshift type spells have a valid possible_shapes setup.
      • +
      • simple_animal_freeze - Tests that no new simple_animal subtypes are added.
      • +
      • slime_mood - Unit test that tests all types of moods for slimes, to make sure they all have proper icons, excluding moods that intentionally don't have an icon.
      • +
      • slips - Unit test that forces various slips on a mob and checks return values and mob state to see if the slip has likely been successful.
      • +
      • space_dragon_expiration - Unit tests that the space dragon - when its rift expires and it gets qdel'd - doesn't delete all the mobs it has eaten
      • +
      • spawn_mobs - Unit test that spawns all mobs that can be spawned by golden slimes
      • +
      • species_change_clothing - Gives a Human lizard-incompatible shoes, then changes their species over to see if they drop the now incompatible shoes, testing if Digitigrade feet works. +Gives a Monkey a collar, then changes their species to Human to see if item's restrictions works on species change.
      • +
      • species_change_held_items - Gives a Human items in both hands, then swaps them to be another species. Held items should remain.
      • +
      • species_change_organs - Unit test to ensure that, when a mob changes species, +certain aspects are carried over between their old and new set of organs +(brain traumas, cybernetics, and organ damage)
      • +
      • species_config_sanity
      • +
      • species_unique_id - Every species should use a species ID unique to it and it alone. This test runs through every subtype of /datum/species, and checks for a species ID. +Every ID is written to a list, gathered_species_ids, and if a previously written ID is written again, this test will fail.
      • +
      • speech - This runs some simple speech tests on a speaker and listener and determines if a person can hear whispering or speaking as they are moved a distance away
      • +
      • spell_invocations - Validates that all spells have a correct +invocation type and invocation setup.
      • +
      • spell_names - Validates that all spells have a different name.
      • +
      • spritesheets - Checks if spritesheet assets contain icon states with invalid names
      • +
      • stack_singular_name - Goes through every subtype of /obj/item/stack to check for a singular name, var/singular_name. +Everything within the blacklist does not need to be tested because it exists to be overriden. +This test will fail if a subtype of /obj/item/stack is missing a singular name.
      • +
      • start_tend_wounds - Ensures that the tend wounds surgery can be started
      • +
      • station_traits - This test spawns various station traits and looks through them to see if there's any errors.
      • +
      • status_effect_ticks - Validates status effect tick interval setup
      • +
      • stop_drop_and_roll
      • +
      • strange_reagent - Checks to ensure strange reagent works as expected
      • +
      • stun - Tests stun and the canstun flag
      • +
      • stun_absorb - Tests for stun absorption
      • +
      • subsystem_init - Tests that all subsystems that need to properly initialize.
      • +
      • suit_storage_icons - Makes sure suit slot items aren't using CS:S fallbacks.
      • +
      • tail_wag - Tests to make sure tail wagging behaves as expected
      • +
      • test_human_base
      • +
      • test_human_bone
      • +
      • tgui_create_message - Test that TGUI_CREATE_MESSAGE is correctly implemented
      • +
      • trait_addition_and_removal - Simple Unit Test to ensure multiple methods of adding/removing a trait work as intended.
      • +
      • traitor_mail_content_check - Makes sure that fake mail doesn't get random goods.
      • +
      • transformation_sting - Tests transformation sting goes back and forth correctly
      • +
      • translate_language - This unit test translates a string from one language to another depending on if the person can understand the language
      • +
      • trauma_granting - Tests that brain traumas can be granted and removed properly.
      • +
      • turf_icons - Makes sure turf icons actually exist. :)
      • +
      • tutorial_sanity - Verifies that every tutorial has properly set variables
      • +
      • unconsciousness - Tests unconsciousness and the canunconscious flag
      • +
      • verify_config_tags - Unit Test to ensure that all config tags that we associate to all jobs in SSjob.joinable_occupations are valid.
      • +
      • verify_emoji_names - Apparently, spritesheets (or maybe how the CSS backend works) do not respond well to icon_state names that are just pure numbers (which was a behavior in emoji.dmi). +In case we add more emoji, let's just make sure that we don't have any pure numbers in the emoji.dmi file if we ever add more.
      • +
      • wizard_loadout - Test loadouts for crashes, runtimes, stack traces and infinite loops. No ASSERTs necessary.
      • +
      • worn_icons - Makes sure suit slot items aren't using CS:S fallbacks.
      • +
    • +
    • uplink_category
    • +
    • uplink_handler - Uplink Handler
    • +
    • uplink_item - Uplink Items
    • +
    • venue - Represents the abstract concept of a food venue in the code.
        +
      • bar - BAR
      • +
      • restaurant - RESTAURANT
      • +
    • +
    • view_data - Container for client viewsize
    • +
    • visual_data
        +
      • mirroring - Tracks and updates another mob with our mob's visual data
      • +
      • tracking - Tracks but does not relay updates to someone's visual data +Accepts a second visual data datum to use as a source of truth for the mob's values
      • +
    • +
    • voice_of_god_command - Voice of god command datums that are used in [/proc/voice_of_god()]
        +
      • attract - This command throws the listeners at the user.
      • +
      • bleed - This command makes carbon listeners bleed from a random body part.
      • +
      • brute - This command applies 15 points of brute damage to the listeners. There's subtle theological irony in this being more powerful than healing.
      • +
      • burn - This command sets the listeners ablaze.
      • +
      • cold - This command cools the listeners down like freezing water.
      • +
      • emote - Supertype of all those commands that make people emote and nothing else. Fuck copypasta.
      • +
      • getup - This command forces the listeners to get the fuck up, resetting all stuns.
      • +
      • hallucinate - This command makes the listeners see others as corgis, carps, skellies etcetera etcetera.
      • +
      • heal - This command heals the listeners for 10 points of total damage.
      • +
      • honk - This command plays a bikehorn sound after 2 seconds and a half have passed, and also slips listeners if the user is a clown.
      • +
      • hot - This command heats the listeners up like boiling water.
      • +
      • immobilize - This command stops the listeners from moving.
      • +
      • jump - This command forces the listener to do the jump emote 3/4 of the times or reply "HOW HIGH?!!".
      • +
      • knock_knock - This command forces the listeners to say "Who's there?".
      • +
      • knockdown - This command knocks the listeners down.
      • +
      • move - This command forces the listeners to take step in a direction chosen by the user, otherwise a random cardinal one.
      • +
      • multispin - This command spins the listeners 1800° degrees clockwise.
      • +
      • repulse - This command throws the listeners away from the user.
      • +
      • run - This command forces the listeners to switch to run intent.
      • +
      • say_my_name - This command forces the listeners to say the user's name
      • +
      • silence - This command silences the listeners. Thrice as effective is the user is a mime or curator.
      • +
      • sit - This command forces each listener to buckle to a chair found on the same tile.
      • +
      • speak - This command forces the listeners to say a brain damage line.
      • +
      • stand - This command forces each listener to unbuckle from whatever they are buckled to.
      • +
      • state_laws - This command forces silicon listeners to state all their laws.
      • +
      • throw_catch - This command turns the listeners' throw mode on.
      • +
      • vomit - This command makes carbon listeners throw up like Mr. Creosote.
      • +
      • wake_up - This command wakes up the listeners.
      • +
      • walk - This command forces the listeners to switch to walk intent.
      • +
      • who_are_you - This command forces the listeners to say their true name (so masks and hoods won't help). +Basic and simple mobs who are forced to state their name and don't have one already will... reveal their actual one!
      • +
    • +
    • Vote Singleton - A singleton datum that represents a type of vote for the voting subsystem.
        +
      • map_vote
      • +
      • restart_vote
      • +
      • rock_the_vote - If a map vote is called before the emergency shuttle leaves the station, the players can call another vote to re-run the vote on the shuttle leaving.
      • +
    • +
    • Voucher Set - A set consisting of a various equipment that can be then used as a reward for redeeming a mining voucher.
    • +
    • wanted_message
    • +
    • weakref - A weakref holds a non-owning reference to a datum. +The datum can be referenced again using resolve().
    • +
    • weather - Causes weather to occur on a z level in certain area types
    • +
    • wires
    • +
    • worn_feature_offset - A datum for controlling how to position items on an unusually offset body part +For instance if you have an asymmetrical head, hats might need to be offset to one side
    • +
    • wound
        +
      • blunt/bone
          +
        • critical - Compound Fracture (Critical Blunt)
        • +
        • moderate - Joint Dislocation (Moderate Blunt)
        • +
      • +
      • burn/flesh
          +
        • severe
            +
          • brand - special severe wound caused by sparring interference or other god related punishments.
          • +
          • cursed_brand - special severe wound caused by the cursed slot machine.
          • +
        • +
      • +
      • loss
      • +
      • pierce/bleed
      • +
      • slash/flesh
      • +
    • +
    • wound_pregen_data - A singleton datum that holds pre-gen and static data about a wound. Each wound datum should have a corresponding wound_pregen_data.
    • +
    • z_pillar - Grouping datum that manages transparency for a block of space +Setup to ease debugging, and to make add/remove operations cheaper
    • +
  • +
  • image
  • +
  • matrix
  • +
  • mob - The mob, usually meant to be a creature of some type
      +
    • camera
    • +
    • dead
    • +
    • living
        +
      • basic - Simple animals 2.0, This time, let's really try to keep it simple. This basetype should purely be used as a base-level for implementing simplified behaviours for things such as damage and attacks. Everything else should be in components or AI behaviours.
          +
        • bear
            +
          • fightpit - If the atom entering the gate is a vehicle, we store it here to add to the approved list to enter/leave the scanner gate. +We store the driver of vehicles separately so that we can add them to the approved list once payment is fully processed.
          • +
        • +
        • bee
        • +
        • blob_minion - Root of shared behaviour for mobs spawned by blobs, is abstract and should not be spawned
            +
          • blobbernaut - Player-piloted brute mob. Mostly just a "move and click" kind of guy. +Has a variant which takes damage when away from blob tiles
              +
            • minion - This variant is the one actually spawned by blob factories, takes damage when away from blob tiles
            • +
          • +
          • spore - A floating fungus which turns people into zombies and explodes into reagent clouds upon death.
              +
            • minion - Variant of the blob spore which is actually spawned by blob factories
                +
              • weak - Weakened spore spawned by distributed neurons, can't zombify people and makes a teeny explosion
              • +
            • +
          • +
          • zombie - A shambling mob made out of a crew member
              +
            • controlled - Blob-created zombies will ping for player control when they make a zombie
            • +
          • +
        • +
        • bot
        • +
        • butterfly/lavaland/temporary
        • +
        • carp
            +
          • ella - Carp-parasite from carpellosis disease
          • +
          • holographic - Holographic carp from the holodeck
          • +
          • Magicarp - Carp who can cast spells! +Mostly created via wizard event or transformation. +Come in 'does one thing' and 'does random things' varieties.
              +
            • Chaos Magicarp - Fires a random spell (and changes colour) every time, also beefier. +Sometimes actually more durable than the much larger megacarp. That's magic for you. +They trade off for this with a tendency to fireball themselves.
            • +
            • xenobiology - Has a more limited spell pool but can appear from gold slime cores
            • +
          • +
          • mega
          • +
          • passive - Wild carp that just vibe ya know
          • +
          • pet - Pet carp, abstract carp which just holds some shared properties.
              +
            • cayenne - Cayenne - Loyal member of the nuclear operatives. +Spawns in the nuke op shuttle, can be made sapient if they want to do that for some reason. +Is very talented and also capable of holding the nuclear disk.
            • +
            • lia - Lia - Sometimes the pet of the Head of Security. +Has a lot more health than a normal carp because she's meant to be a mildly more threatening pet to have to assassinate than an aging corgi.
            • +
          • +
        • +
        • cat_butcherer
        • +
        • chick
            +
          • permanent - Variant of chick that just spawns in the holodeck so you can pet it. Doesn't grow up.
          • +
        • +
        • chicken
        • +
        • clown
        • +
        • cockroach
        • +
        • construct
            +
          • artificer
              +
            • hostile - Hostile NPC version. Heals nearby constructs and cult structures, avoids targets that aren't extremely hurt.
            • +
          • +
          • harvester
          • +
          • juggernaut/hostile - Hostile NPC version. Pretty dumb, just attacks whoever is near.
          • +
          • proteon - Proteon - a very weak construct that only appears in NPC form in various ruins.
              +
            • hostile - Hostile NPC version
            • +
          • +
          • wraith/hostile - Hostile NPC version. Attempts to kill the lowest-health mob it can see.
          • +
        • +
        • cow
            +
          • moonicorn - moonicorn subtype, very hostile unless there's some food to be eatin'
          • +
          • wisdom - Wisdom cow, gives XP to a random skill and speaks wisdoms
          • +
        • +
        • crab
        • +
        • deer
            +
          • ice - Cold resistent and doesn't need to breathe
          • +
        • +
        • demon - Player controlled mobs that rip and tear, typically summoned by wizards.
            +
          • slaughter - The famous blood-crawling slaughter demons of wizardry fame.
              +
            • laughter - The laughter demon! It's everyone's best friend! It just wants to hug them so much, it wants to hug everyone at once!
            • +
          • +
        • +
        • drone - Maintenance Drone
            +
          • classic - "Classic" drones, which are not shy and get a duffelbag of tools instead of built-in tools.
          • +
          • derelict - Derelict drones, a ghost role tasked with repairing KS13. Get gibbed if they leave.
          • +
          • polymorphed - A free drone that people can be turned into via wabbajack.
          • +
          • snowflake - A drone that spawns with a chameleon hat for fashion purposes.
          • +
          • syndrone - A Syndicate drone, tasked to cause chaos on the station. +Has a lot more health and its own uplink with 10 TC.
              +
            • badass - A version of the syndrone that gets a nuclear uplink, a firearms implant, and 30 TC.
            • +
          • +
        • +
        • eyeball
        • +
        • faithless
        • +
        • festivus
        • +
        • flesh_spider - Spider-esque mob summoned by changelings. Exclusively player-controlled. +An independent hit-and-run antagonist which can make webs and heals itself if left undamaged for a few seconds. +Not a spider subtype because it keeps getting hit by unrelated balance changes intended for the Giant Spiders gamemode.
        • +
        • frog
        • +
        • garden_gnome
        • +
        • ghost
            +
          • swarm - Weaker variant of ghosts. Meant to be summoned in swarms via the ectoplasmic anomaly and associated ghost portal.
          • +
        • +
        • goat - The Greatest (animal) Of All Time. Cud chewing, shin-kicking, kitchen-dwelling nuisance.
        • +
        • gorilla - Like a bigger monkey +They make a lot of noise and punch limbs off unconscious folks
            +
          • cargorilla - Cargo's wonderful mascot, the tranquil box-carrying ape
          • +
          • lesser - A smaller gorilla summoned via magic
          • +
        • +
        • guardian - A mob which acts as a guardian angel to another mob, sharing health but protecting them using special powers. +Usually either obtained in magical form by a wizard, or technological form by a traitor. Sometimes found by miners.
            +
          • assassin - Can enter stealth mode to become invisible and deal bonus damage on their next attack, an ambush predator.
          • +
          • charger - Very fast, has a charging attack, and most importantly can be ridden like a horse.
          • +
          • dextrous - Dextrous guardians have some of the most powerful abilities of all: hands and pockets
          • +
          • explosive - A durable guardian which can convert objects into hidden explosives.
          • +
          • gaseous - Not particularly resistant, but versatile due to the selection of gases it can generate.
          • +
          • gravitokinetic - Somewhat durable guardian who can increase gravity in an area
          • +
          • lightning - A reasonably durable guardian linked to you by a chain of lightning, zapping people who get between you
          • +
          • protector - Very durable, and reverses the usual leash dynamic. Can slow down to become extremely durable.
          • +
          • ranged - A ranged guardian can fling shards of glass at people very very quickly. It can also enter a long-range scouting mode.
          • +
          • standard - Plain, but durable and strong. Can destroy walls.
          • +
          • support - Quick-moving mob which can teleport things to a beacon and heal its allies
          • +
        • +
        • headslug
            +
          • beakless - Neutered version to prevent people from turning themselves into changelings with sentience potions or transformation
          • +
        • +
        • heretic_summon
            +
          • armsy - The "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles
          • +
          • ash_spirit - Player-only mob which is fast, can jaunt a short distance, and is dangerous at close range
          • +
          • maid_in_the_mirror - Scout and assassin who can appear and disappear from glass surfaces. Damaged by being examined.
          • +
          • raw_prophet - A funny little rolling guy who is great at scouting. +It can see through walls, jaunt, and create a psychic network to report its findings. +It can blind people to make a getaway, but also get stronger if it attacks the same target consecutively.
              +
            • ascended - Variant raw prophet used by eldritch transformation with more base attack power
            • +
            • ruins - NPC variant with a less bullshit ability
            • +
          • +
          • rust_walker - Pretty simple mob which creates areas of rust and has a rust-creating projectile spell
          • +
          • stalker - Durable ambush mob with an EMP ability
          • +
        • +
        • hivebot
        • +
        • hivelord_brood - Attack worms spawned by the hivelord
        • +
        • leaper
        • +
        • legion_brood - A spooky skull which heals lavaland mobs, attacks miners, and infests their bodies
            +
          • snow - Like the Legion's summoned skull but funnier (it's snow now)
          • +
        • +
        • lightgeist
        • +
        • living_limb_flesh
        • +
        • lizard
            +
          • eats_the_roaches - Another pet lizard for the janitor.
          • +
          • space - Lizards that can survive in space.
          • +
          • wags_his_tail - Janitor's pet lizard.
          • +
        • +
        • meteor_heart
        • +
        • migo
        • +
        • mining - prototype for mining mobs
            +
          • basilisk - Watchers' ground-dwelling cousins, they shoot at you until they get into melee and absorb laser fire to power up.
          • +
          • bileworm
          • +
          • brimdemon - Lavaland mob which tries to line up with its target and fire a laser
          • +
          • demon_afterimage
              +
            • crusher - afterimage subtypes summoned by the crusher
            • +
          • +
          • goldgrub
          • +
          • goliath - Slow moving mob which attempts to immobilise its target
              +
            • ancient - Legacy Goliath mob with different sprites, largely the same behaviour
                +
              • immortal - Rare Goliath variant which occasionally replaces the normal mining mob, releases shitloads of tentacles
              • +
            • +
          • +
          • gutlunch
          • +
          • hivelord - Mob which retreats and spawns annoying sub-mobs to attack you
          • +
          • ice_whelp
          • +
          • legion - Avoids players while throwing skulls at them. +Legion skulls heal allies, bite enemies, and infest dying humans to make more legions.
              +
            • dwarf - Like a Legion but shorter and faster
            • +
            • large - Like a Legion but larger and spawns regular Legions, not currently used anywhere and very soulful
            • +
            • snow - Like a Legion but it's an adorable snowman
                +
              • spawner_made - As Snow Legion but spawns corpses which don't have any exciting loot
              • +
            • +
          • +
          • lobstrosity - Cowardly mob with a charging attack
              +
            • lava - Lavaland lobster variant, it basically just looks different
            • +
          • +
          • mook
          • +
          • watcher - A floating eyeball which keeps its distance and sometimes make you look away.
              +
            • icewing - Less durable, freezing projectiles
            • +
            • magmawing - More durable, burning projectiles
            • +
          • +
        • +
        • mining_drone
        • +
        • morph - The classic morph, Corpus Accipientis (or "The body of the recipient"). It's a blob that can disguise itself as other things simply put.
        • +
        • mouse
            +
          • cable_lover - Dummy mouse that is guaranteed to die when biting shocked cables.
          • +
        • +
        • mushroom
        • +
        • paper_wizard
        • +
        • parrot - Parrots! Klepto bastards that imitate your speech and hoard your shit.
            +
          • headsetted - Parrot that will just randomly spawn with a headset. Nothing too special beyond that.
          • +
          • poly - The classically famous compadre to the Chief Engineer, Poly.
          • +
        • +
        • pet
        • +
        • pig
        • +
        • pony
        • +
        • rabbit
            +
          • easter - The easter subtype of rabbits, will lay eggs and say Eastery catchphrases.
              +
            • space - Same deal as the standard easter subtype, but these ones are able to brave the cold of space with their handy gas mask.
            • +
          • +
        • +
        • regal_rat - The cheesiest, most crowned rat of them all. Regent superior of all rats in maintenance... at least until someone else tries to encroach on their claim.
            +
          • controlled - Regal rat subtype which can be possessed by ghosts
          • +
        • +
        • revenant - Revenants: "Ghosts" that are invisible and move like ghosts, cannot take damage while invisible +Can hear deadchat, but are NOT normal ghosts and do NOT have x-ray vision +Admin-spawn or random event
        • +
        • robot_customer - Robot customers
        • +
        • seedling - A mobile plant with a rapid ranged attack. +It can pick up watering cans and look after plants.
        • +
        • shade
        • +
        • sheep
        • +
        • skeleton
        • +
        • snake
        • +
        • space_dragon - Advanced stage of the space carp life cycle, spawned as a midround antagonist or via traitor transformation. +Can eat corpses to heal, blow people back with its wings, and obviously as a dragon it breathes fire. It can even tear through walls. +The midround even version also creates rifts which summon carp, and heals when near them.
            +
          • spawn_with_antag - Subtype used by the midround/event
          • +
        • +
        • spider - Base type of various spider life stages
            +
          • Giant Spider - A mob which can be created by dynamic event, botany, or xenobiology. +The basic type is the guard, which is slow but sturdy and outputs good damage. +All spiders can produce webbing.
          • +
          • growing - Spider which turns into another spider over time
              +
            • Spiderlings - Baby spiders that are generated through a variety of means (like botany for instance). +Able to vent-crawl and eventually grow into a full fledged giant spider.
                +
              • ambush - Will differentiate into the "ambush" young spider.
              • +
              • breacher - Will differentiate into the "breacher" young spider.
              • +
              • guard - This whole file is just a container for the spiderling subtypes that actually differentiate into different young spiders. None of them are particularly special as of now. +Will differentiate into the base young spider (known colloquially as the "guard" spider).
              • +
              • hunter - Will differentiate into the "hunter" young spider.
              • +
              • midwife - Will differentiate into the "midwife" young spider.
              • +
              • nurse - Will differentiate into the "nurse" young spider.
              • +
              • scout - Will differentiate into the "scout" young spider.
              • +
              • tangle - Will differentiate into the "tangle" young spider.
              • +
              • tank - Will differentiate into the "tank" young spider.
              • +
              • tarantula - Will differentiate into the "tarantula" young spider.
              • +
              • viper - Will differentiate into the "viper" young spider.
              • +
            • +
            • Young Spider - A mob which can be created by spiderlings/spider eggs. +The basic type is the guard, which is slow but sturdy and outputs good damage. +All spiders can produce webbing.
                +
              • ambush - Will differentiate into the "ambush" giant spider.
              • +
              • breacher - Will differentiate into the "breacher" giant spider.
              • +
              • guard - Will differentiate into the base giant spider (known colloquially as the "guard" spider).
              • +
              • hunter - Will differentiate into the "hunter" giant spider.
              • +
              • midwife - Will differentiate into the "midwife" giant spider.
              • +
              • nurse - Will differentiate into the "nurse" giant spider.
              • +
              • scout - Will differentiate into the "scout" giant spider.
              • +
              • tangle - Will differentiate into the "tangle" giant spider.
              • +
              • tank - Will differentiate into the "tank" giant spider.
              • +
              • tarantula - Will differentiate into the "tarantula" giant spider.
              • +
              • viper - Will differentiate into the "viper" giant spider.
              • +
            • +
          • +
          • maintenance
          • +
        • +
        • statue
        • +
        • supermatter_spider - A nasty little robotic bug that dusts people on attack. Jeepers. This should be a very, very, very rare spawn.
        • +
        • trader
        • +
        • tree
        • +
        • trooper
            +
          • abductor - Abductor troopers
          • +
          • nanotrasen - Nanotrasen Private Security forces
              +
            • peaceful - A more peaceful variant that will only attack when attacked, or when another Nanotrasen officer calls for help.
            • +
            • ranged
            • +
            • screaming - A variant that calls for reinforcements on spotting a target
            • +
          • +
          • pirate - Pirate trooper subtype
          • +
          • russian - Russian trooper subtype
          • +
          • syndicate - Syndicate troopers
          • +
        • +
        • venus_human_trap - Venus Human Trap
        • +
        • viscerator - Misc
        • +
        • wizard
            +
          • classic - Uses the colors and loadout of the original wizard simplemob
          • +
        • +
        • Wumborian Fugu - A strange alien creature capable of increasing its mass when threatened, when not inflated it is virtually defenceless. +Mostly only appears from xenobiology, or the occasional wizard. +On death, the "fugu gland" is dropped, which can be used on mobs to increase their size, health, strength, and lets them smash walls.
        • +
      • +
      • brain
      • +
      • carbon
          +
        • alien
        • +
        • human - Any humanoid (non-Xeno) mob, such as humans, plasmamen, lizards.
            +
          • consistent - Provides a dummy for unit_tests that functions like a normal human, but with a standardized appearance +Copies the stock dna setup from the dummy/consistent type
          • +
          • dummy
              +
            • consistent - Provides a dummy that is consistently bald, white, naked, etc.
            • +
          • +
          • species/monkey
          • +
        • +
      • +
      • Drone - A movable mob that can be fed inputs on which direction to travel.
      • +
      • silicon
          +
        • ai
        • +
        • pai
        • +
        • robot
            +
          • nocell - This is the subtype that gets created by robot suits. It's needed so that those kind of borgs don't have a useless cell in them
          • +
        • +
      • +
      • simple_animal - Simple, mostly AI-controlled critters, such as pets, bots, and drones.
          +
        • bot
        • +
        • hostile
            +
          • asteroid
              +
            • elite
                +
              • Goliath Broodmother - A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. +When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. +It's attacks are as follows:
              • +
              • Herald - A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. +As it's health gets lower, the amount of projectiles fired per-attack increases. +It's attacks are as follows:
              • +
              • Legionnaire - A towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:
              • +
              • Pandora - A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. +As it's health gets lower, the time between it's attacks decrease. +It's attacks are as follows:
              • +
            • +
            • polarbear
            • +
            • wolf
            • +
          • +
          • illusion
              +
            • escape - Actual Types
            • +
          • +
          • megafauna
          • +
          • mimic
          • +
          • ooze - Oozes are slime-esque creatures, they are highly gluttonous creatures primarily intended for player controll.
          • +
          • retaliate
          • +
          • vatbeast - Vatbeasts are creatures from vatgrowing and are literaly a beast in a vat, yup. They are designed to be a powerful mount roughly equal to a gorilla in power.
          • +
          • zombie
          • +
        • +
        • pet
        • +
        • slime
            +
          • pet - Friendly docile subtype
          • +
          • random
          • +
          • transformed_slime - Transformed slime - from Burning Black
          • +
        • +
        • soulscythe
        • +
      • +
    • +
    • oranges_ear
    • +
    • proccall_handler - Used to handle proccalls called indirectly by an admin (e.g. tgs, circuits). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.
    • +
  • +
  • obj
      +
    • cascade_portal
    • +
    • crystal_mass
    • +
    • docking_port
    • +
    • durand_shield - Shield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.
    • +
    • effect
        +
      • abstract - The abstract effect ignores even more effects and is often typechecked for atoms that should truly not be fucked with.
          +
        • chasm_storage - An abstract object which is basically just a bag that the chasm puts people inside
        • +
        • elevator_music_zone
        • +
        • info - An info button that, when clicked, puts some text in the user's chat
        • +
        • local_food_rain - Makes food land near it until it expires
        • +
        • particle_holder - objects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once. +also because some objects do not display particles due to how their visuals are built
        • +
        • surveillance_snare - An invisible marker placed by a ranged guardian, alerts the owner when crossed
        • +
        • z_holder - Exists to be placed on the turf of walls and such to hold the vis_contents of the tile below +Otherwise the lower turf might get shifted around, which is dumb. do this instead.
        • +
      • +
      • anomaly
          +
        • bioscrambler
        • +
        • bluespace
            +
          • big - Bigger, meaner, immortal bluespace anomaly
          • +
        • +
        • dimensional
        • +
        • ectoplasm
        • +
        • flux
            +
          • big - Bigger, meaner, immortal flux anomaly
          • +
          • minor - A flux anomaly which doesn't explode or produce a core
          • +
        • +
        • grav
            +
          • high/big - Bigger, meaner, immortal gravity anomaly. although this is just the super grav anomaly but bigger and shattering move force
          • +
        • +
        • hallucination
        • +
        • pyro
            +
          • big - Bigger, meaner, immortal pyro anomaly
          • +
        • +
      • +
      • baseturf_helper
      • +
      • beam/i_beam - IBeam
      • +
      • brimbeam - Segments of the actual beam, these hurt if you stand in them
      • +
      • bump_teleporter - Abstract effect, that when a mob touches it, it will forceMove them to the teleporter-exit point (that matches the ID set map-side).
          +
        • filtering - Subtype that uses do_teleport instead, to leverage any NO_TELEPORT traits that you might need to add in a given map
        • +
      • +
      • client_image_holder - Simple effect that holds an image +to be shown to one or multiple clients only.
          +
        • hallucination - A client-side image effect tied to the existence of a hallucination.
            +
          • bubblegum - Fake bubblegum hallucination effect for the oh yeah hallucination
          • +
          • danger - These hallucination effects cause side effects when the hallucinator walks into them.
          • +
          • fake_door_lock
          • +
          • xeno - The xeno hallucination that goes with the xeno attack hallucination.
          • +
        • +
      • +
      • collapse
      • +
      • collapsing_demonic_portal
      • +
      • cosmic_rune - A rune that allows you to teleport to the location of a linked rune.
      • +
      • cross_action/spacetime_dist
      • +
      • decal
      • +
      • dummy
          +
        • lighting_obj - Basically, a fake object that emits light.
        • +
        • phased_mob
            +
          • chrono - special subtype for phased mobs.
          • +
          • shadow
          • +
          • spell_jaunt - The dummy that holds people jaunting. Maybe one day we can replace it.
          • +
        • +
      • +
      • ebeam - var/Angle = round(get_angle(origin,target))
          +
        • chain - Beam definition for our lightning chain
        • +
      • +
      • fishing_lure - The visual that appears over the fishing spot
      • +
      • floating_blade
      • +
      • forcefield
          +
        • cosmic_field - The cosmic heretics forcefield
        • +
        • cult - Cult forcefields
            +
          • permanent - A form of the cult forcefield that lasts permanently. +Used on the Shuttle 667.
          • +
        • +
        • mime - Mime forcefields (invisible walls)
        • +
        • psychic - Psyker forcefield
        • +
        • wizard - The wizard's forcefield, summoned by forcewall
        • +
      • +
      • goliath_tentacle - A tentacle which grabs you if you don't get away from it
      • +
      • grand_rune - Magic rune used in the grand ritual. +A wizard sits themselves on this thing and waves their hands for a while shouting silly words. +Then something (usually bad) happens.
          +
        • finale - Variant rune used for the Final Ritual
            +
          • cheesy - Spawned when 50 or more cheese was sacrificed during previous grand rituals. +Will spawn instead of the usual grand ritual rune, and its effect is already set and can't be changed. +Sorry, no narwal fighting on the open ocean this time.
          • +
        • +
      • +
      • heretic_influence
      • +
      • heretic_rune - The heretic's rune, which they use to complete transmutation rituals.
          +
        • big - A 3x3 heretic rune. The kind heretics actually draw in game.
        • +
      • +
      • hotspot - Hotspot objects interfaces with the temperature of turf gasmixtures while also providing visual effects. +One important thing to note about hotspots are that they can roughly be divided into two categories based on the bypassing variable.
      • +
      • immovablerod - "What the fuck was that?!"
          +
        • wizard - Wizard Version of the Immovable Rod.
        • +
      • +
      • landmark
          +
        • arena - Arena related landmarks
        • +
        • atmospheric_sanity - Atmospheric Sanity Landmark - base
            +
          • goal_area - Marks an area as a goal for atmospheric connectivity; ignored if the map contains the mark all station areas landmark!
          • +
          • ignore_area - Marks an area as ignored for purposes of default station connectivity.
          • +
          • mark_all_station_areas_as_goal - Marks ALL station areas as a goal, ignoring any other goals.
          • +
          • start_area - Marks an area as a starting point for crawling atmospheric connectivity.
          • +
        • +
        • bitrunning
            +
          • cache_goal_turf - Where the crates need to be taken
          • +
          • cache_spawn - Where you want the crate to spawn
          • +
          • crate_replacer - Swaps the locations of an encrypted crate in the area with another randomly selected crate. +Randomizes names, so you have to inspect crates manually.
          • +
          • hololadder_spawn - Where the exit hololadder spawns
          • +
          • loot_signal - In case you want to gate the crate behind a special condition.
          • +
          • mob_segment - A location for mobs to spawn.
          • +
        • +
        • event_spawn - Generic event spawn points
        • +
        • heretic - Lardmarks meant to designate where heretic sacrifices are sent.
        • +
        • start
        • +
        • transport
            +
          • nav_beacon/tram - transport_controller landmarks. used to map specific destinations on the map.
          • +
          • transport_id - transport_controller landmarks. used to map in specific_transport_id to trams and elevators. when the transport_controller encounters one on a tile +it sets its specific_transport_id to that landmark. allows you to have multiple trams and multiple objects linking to their specific tram
          • +
        • +
        • unit_test_bottom_left - Marks the bottom left of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
        • +
        • unit_test_top_right - Marks the top right of the testing zone. +In landmarks.dm and not unit_test.dm so it is always active in the mapping tools.
        • +
      • +
      • light_emitter - Light
      • +
      • lock_portal
      • +
      • mapping_helpers
      • +
      • meteor
          +
        • cluster
        • +
        • dark_matteor - The dark matt-eor. Only attracted by emagging 10 satellites and maximizing meteor chances, and it drops a singulo. Otherwise, it's not that bad.
        • +
        • meaty/changeling
        • +
      • +
      • mine
          +
        • explosive
        • +
        • shrapnel - These mines spawn pellet_clouds around them when triggered
        • +
      • +
      • mob_spawn
          +
        • corpse - these mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?
            +
          • ai - dead ai, blue screen and everything.
          • +
          • facehugger - dead facehuggers, great for xeno ruins so you can have a cool ruin without spiraling the entire round into xenomorph hell. also, this is a terrible terrible artifact of time
          • +
          • goliath - dead goliath spawner
          • +
          • headcrab - Dead headcrab for changeling-themed ruins
          • +
          • human
              +
            • legioninfested - Mob spawner used by Legion to spawn costumed bodies
                +
              • dwarf - Corpse spawner used by dwarf legions to make small corpses
              • +
              • skeleton - Creates a dead legion-infested skeleton
                  +
                • charred - Creates a dead and burned legion-infested skeleton
                • +
              • +
              • snow - Corpse spawner used by snow legions with alternate costumes
              • +
            • +
            • skeleton/mrbones - Spawners for outfits
            • +
            • syndicatesoldier - all the corpses meant as mob drops yes, these definitely could be sorted properly. i invite (you) to do it!!
            • +
            • tigercultist/perforated - Tiger cultist corpse but with an exit wound
            • +
          • +
          • slime - dead slimes, with a var for whatever color you want.
          • +
        • +
        • ghost_role - these mob spawn subtypes do not trigger until attacked by a ghost.
            +
          • drone
          • +
          • human
              +
            • golem
            • +
            • lavaland_syndicate - Syndicate Listening Post
                +
              • comms/space - asteroid comms agent
              • +
            • +
            • pirate
            • +
            • syndicate/battlecruiser - battlecruiser stuff
            • +
          • +
          • spider
          • +
          • venus_human_trap - Handles logic for ghost spawning code, visible object in game is handled by /obj/structure/alien/resin/flower_bud
          • +
        • +
      • +
      • overlay
          +
        • closet_door - Door overlay for animating closets
        • +
        • status_display_text - Nice overlay to make text smoothly scroll with no client updates after setup.
        • +
        • vis
        • +
      • +
      • particle_effect
          +
        • fluid - A particle effect that belongs to a fluid group.
            +
          • foam
              +
            • firefighting - A variant of foam which absorbs plasma in the air if there is a fire.
            • +
            • long_life - A foam variant which lasts for an extended amount of time.
            • +
            • metal - A foam variant which
                +
              • iron - A speed modifier for how fast the wall is build +A metal foam variant which produces slightly sturdier walls.
              • +
              • resin - A foam variant which produces atmos resin walls.
              • +
              • smart - A variant of metal foam which only produces walls at area boundaries.
              • +
            • +
            • short_life - A foam variant which dissipates quickly.
            • +
          • +
          • smoke - A fluid which spreads through the air affecting every mob it engulfs.
              +
            • bad - Smoke that makes you cough and reduces the power of lasers.
                +
              • black - Black smoke that makes you cough. (Actually dark grey)
              • +
              • brimdust - Smoke which applies brimdust to you, and is also bad for your lungs
              • +
              • green - Green smoke that makes you cough.
              • +
            • +
            • chem - Smoke which contains reagents which it applies to everything it comes into contact with.
                +
              • quick - A version of chemical smoke with a very short lifespan.
              • +
              • smoke_machine - Smoke which is produced by the smoke machine. Slightly transparent and does not block line of sight.
              • +
            • +
            • colourful - Randomly coloured smoke
            • +
            • freezing - Light blue, transparent smoke which is usually paired with a blast that chills every turf in the area.
            • +
            • quick - Smoke that dissipates as quickly as possible.
            • +
            • sleeping - Smoke which knocks you out if you breathe it in.
            • +
            • transparent - Same as the base type, but is not opaque.
            • +
          • +
        • +
        • water/extinguisher - Extinguisher snowflake
        • +
      • +
      • portal
      • +
      • powerup
      • +
      • projectile/tracer/legion - Used for the legion turret beam.
          +
        • tracer - Used for the legion turret tracer.
        • +
      • +
      • puzzle_death_signal_holder
      • +
      • rune
      • +
      • skyfall_landingzone - a simple indicator of where the skyfall is going to land.
      • +
      • slippery_acid
      • +
      • spawner
          +
        • debug_leash - A debug spawner that will create a corgi leashed to a bike horn, plus a beam
        • +
        • newbomb - Spawns a TTV.
        • +
        • random - Base class for all random spawners.
            +
          • aimodule/harmless - AI uploads have the ai_module/reset , ai_module/supplied/freeform , ai_module/reset/purge , and ai_module/core/full/asimov directly mapped in
          • +
          • big_anomaly - Spawns a big, amped up fat anomaly
          • +
          • environmentally_safe_anomaly - Spawns a stable anomally that doesnt drop cores and doesn't destroy or alter the environment
          • +
          • food_or_drink/cake_ingredients - Used for the employee birthday station trait
          • +
          • lavaland_mob - For map generation, has a chance to instantiate as a special subtype
              +
            • goliath - Spawns random goliath variants during map generation
            • +
            • legion - Spawns random legion variants during map generation
            • +
            • watcher - Spawns random watcher variants during map generation
            • +
          • +
          • trash
          • +
          • vending
          • +
        • +
        • xmastree
        • +
      • +
      • spectre_of_resurrection - A ghostly image of a mob showing where and what is going to respawn
          +
        • human - A ressurection spectre with extra behaviour for humans
        • +
      • +
      • step_trigger/thrower
      • +
      • temp_visual - temporary visual effects
          +
        • brim_burst - Show a funny animation before doing an explosion
        • +
        • delayed_mob_portal - Spawns a mob when it expires
        • +
        • drawing_heretic_rune
        • +
        • effect_trail - An invisible effect which chases a target, spawning spikes every so often.
            +
          • burrowed_tentacle - An invisible effect which chases a target, spawning tentacles every so often.
          • +
          • spike_chaser - An invisible effect which chases a target, spawning spikes every so often.
          • +
        • +
        • emerging_ground_spike - A spike comes out of the ground, dealing damage after a short delay
        • +
        • hive_spawn_wither - Plays a dispersing animation on hivelord and legion minions so they don't just vanish
        • +
        • hivebrood_spawn - Fast animation to show a worm spawning
        • +
        • immortality_blast - Visual flair on the wizard when cast
        • +
        • immortality_pulse - Visual flair on living creatures who have become immortal
        • +
        • legion_brood_indicator - A skull is going to be here! Oh no!
        • +
        • legion_skull_depart - Animation for launching a skull
        • +
        • legion_skull_land - Animation for landing a skull
        • +
        • lesser_carp_rift - If you touch the entrance you are teleported to the exit, exit doesn't do anything
            +
          • entrance - If you touch this you are taken to the exit
          • +
          • exit - Doesn't actually do anything, just a visual marker
          • +
        • +
        • lesser_carp_rift_dissipating - Just an animation
        • +
        • meteor_heart_death - Dramatic death animation for the meteor heart mob
        • +
        • resonance
        • +
        • slippery_ice
        • +
        • sonar_ping
        • +
        • teleporting_tornado - Teleporting tornado, spawned by warp whistle, teleports the user if they manage to pick them up.
        • +
        • thrusting_spines
        • +
        • wizard_rune - Abstract holder for shared animation behaviour
            +
          • drawing - Animates drawing a cool rune
              +
            • cheese - Cheese drawing
            • +
          • +
          • failed - Displayed if you stop drawing it
              +
            • cheese - Cheese fail
            • +
          • +
        • +
      • +
      • timestop
          +
        • channelled - indefinite version, but only if no immune atoms move.
        • +
      • +
      • trading_card_panel - A display panel that renders a set of icons (in this case mana crystals), this is generated by /obj/machinery/trading_card_button and can be manipulated by the button which generates it.
          +
        • health - A variant of the display panel for life shards, this one is set up to display two columns.
        • +
      • +
      • turf_decal
          +
        • board_number/one - ALPHANUMERIC DECALS (SO FAR ONLY FOR CHESS ALGEBRAIC NOTATION)
        • +
        • raven_ship_sign - NTSS RAVEN EMERGENCY SHUTTLE LOGO
        • +
        • syndicateemblem/bottom/left - SYNDICATE EMBLEM
        • +
        • tile
            +
          • bar - Bar tiles
          • +
          • blue - Blue tiles
          • +
          • brown - Brown tiles
          • +
          • dark - Dark tiles
          • +
          • dark_blue - Dark blue tiles
          • +
          • dark_green - Dark green tiles
          • +
          • dark_red - Dark red tiles
          • +
          • green - Green tiles
          • +
          • holiday - Date-specific tiles
              +
            • rainbow - Pattern tiles
            • +
          • +
          • neutral - Neutral tiles
          • +
          • purple - Purple tiles
          • +
          • red - Red tiles
          • +
          • yellow - Yellow tiles
          • +
        • +
        • trimline - Trimlines
            +
          • blue - Blue trimlines
          • +
          • brown - Brown trimlines
          • +
          • dark - Dark trimlines
          • +
          • dark_blue - Dark blue trimlines
          • +
          • dark_green - Dark green Trimlines
          • +
          • dark_red - Dark red trimlines
          • +
          • green - Green trimlines
          • +
          • neutral - Neutral trimlines
          • +
          • purple - Purple trimlines
          • +
          • red - Red trimlines
          • +
          • tram - Tram trimlines
          • +
          • white - White trimlines
          • +
          • yellow - Yellow trimlines
          • +
        • +
      • +
      • watcher_orbiter - Orbiting visual which shoots at mining mobs
      • +
    • +
    • energy_ball - The Tesla engine
    • +
    • item - Anything you can pick up and hold.
        +
      • abductor/alien_omnitool
      • +
      • access_key
      • +
      • ai_module
          +
        • core
            +
          • full/cybersun - AI Laws
          • +
          • round_default_fallback - When the default lawset spawner cannot find a module object to spawn, it will spawn this, and this sets itself to the round default. +This is so /datum/lawsets can be picked even if they have no module for themselves.
          • +
        • +
        • malf - Makes the AI Malf, as well as give it syndicate laws.
        • +
      • +
      • aicard
          +
        • syndie - One use AI card which downloads a ghost as a syndicate AI to put in your MODsuit
        • +
      • +
      • air_sensor - A portable version of the /obj/machinery/air_sensor +Wrenching it & turning it on will convert it back to /obj/machinery/air_sensor +Unwelding /obj/machinery/air_sensor will turn it back to /obj/item/air_sensor +The logic is same as meters
      • +
      • airlock_painter
      • +
      • ammo_box
      • +
      • ammo_casing
          +
        • arrow - base arrow
            +
          • holy - holy arrows
              +
            • blazing - special pyre sect arrow +in the future, this needs a special sprite, but bows don't support non-hardcoded arrow sprites
            • +
          • +
        • +
        • laser - not exactly an energy ammo casing, but it's used by the laser gatling.
        • +
        • strilka310/lionhunter
        • +
      • +
      • analyzer
      • +
      • anomaly_neutralizer
      • +
      • anomaly_releaser - Use on an anomaly core to "awake" the anomaly and stabilize it
      • +
      • antag_spawner
          +
        • contract - WIZARD
        • +
        • loadout - A subtype meant for 'normal' antag spawner items so as to reduce the amount of required hardcoding.
        • +
        • nuke_ops - BORGS AND OPERATIVES +Device to request reinforcments from ghost pop
            +
          • borg_tele - SYNDICATE BORG
          • +
          • clown - CLOWN OP
          • +
        • +
        • slaughter_demon - SLAUGHTER DEMON
        • +
      • +
      • areaeditor
      • +
      • assembly
      • +
      • assembly_holder
      • +
      • autosurgeon
      • +
      • bait_can
      • +
      • banner
      • +
      • barcode
      • +
      • barcodescanner
      • +
      • bedsheet
      • +
      • bee_smoker
      • +
      • bikehorn
      • +
      • biopsy_tool - Tool capable of taking biological samples from mobs
      • +
      • bitrunning_disk - Bitrunning tech disks which let you load items or programs into the vdom on first avatar generation. +For the record: Balance shouldn't be a primary concern. +You can make the custom cheese spells you've always wanted. +Just make it fun and engaging, it's PvE content.
          +
        • ability
            +
          • tier1 - Tier 1 programs. Simple, funny, or helpful.
          • +
          • tier2 - Tier 2 programs. More complex, powerful, or useful.
          • +
          • tier3 - Tier 3 abilities. Very powerful, game breaking.
          • +
        • +
        • item
            +
          • tier1 - Tier 1 items. Simple, funny, or helpful.
          • +
          • tier2 - Tier 2 items. More complex, powerful, or useful.
          • +
          • tier3 - Tier 3 items. Very powerful, game breaking.
          • +
        • +
      • +
      • blood_filter
      • +
      • bloodcrawl - Bloodcrawl "hands", prevent the user from holding items in bloodcrawl
      • +
      • bluespace_finger - Point at a target and teleport somewhere vaguely close to it
      • +
      • bodybag
      • +
      • bodypart
          +
        • arm - Parent Type for arms, should not appear in game.
        • +
        • chest
        • +
        • head
            +
          • abductor - ABDUCTOR
          • +
          • dullahan - Dullahan head preserves organs inside it
          • +
          • fly - FLY
          • +
          • jelly - JELLY
          • +
          • luminescent - LUMINESCENT
          • +
          • mushroom - MUSHROOM
          • +
          • pod - PODPEOPLE
          • +
          • robot/android - This is ultra stupid, but essentially androids use robotic limb subtypes that are NOT +immune to being replaced on species change. +Yes, that is the entire reason these exist.
          • +
          • shadow - SHADOW
          • +
          • skeleton - SKELETON
          • +
          • slime - SLIME
          • +
          • snail - SNAIL
          • +
          • zombie - ZOMBIE
          • +
        • +
        • leg - Parent Type for legs, should not appear in game.
        • +
      • +
      • bombcore - Bomb Cores
          +
        • chemical
        • +
        • syndicate - Bomb Core Subtypes/// +Subtype for the bomb cores found inside syndicate bombs, which will not detonate due to explosion/burning.
        • +
      • +
      • book
          +
        • bible
        • +
        • granter - Books that teach things.
            +
          • action
              +
            • spell
                +
              • mime/mimery
              • +
              • mindswap
              • +
              • random - Simple granter that's replaced with a random spell granter on Initialize.
              • +
              • true_random - A more volatile granter that can potentially have any spell within. Use wisely.
              • +
            • +
          • +
          • chuunibyou - Turns the user into a chuunibyou.
          • +
          • crafting_recipe
          • +
          • martial
          • +
          • sign_language - Sign language book adds the sign language component to the reading Human. +Grants reader the ability to toggle sign language using a HUD button.
          • +
        • +
        • manual - MANUALS (BOOKS)
            +
          • ancient_parchment - Fluff book to hint at the cheesy grand ritual.
          • +
          • fish_catalog - Book detailing where to get the fish and their properties.
          • +
          • wiki
          • +
        • +
        • random
        • +
      • +
      • borg
          +
        • apparatus
            +
          • beaker
              +
            • drink - Used by the service borg drink apparatus upgrade, holds drink-related items
            • +
          • +
          • circuit - Apparatus allowing Engineer/Sabo borgs to manipulate Machine and Computer circuit boards
          • +
          • organ_storage - allows medical cyborgs to manipulate organs without hands
          • +
          • sheet_manipulator - Apparatus to allow Engineering/Sabo borgs to manipulate any material sheets.
          • +
        • +
        • charger
        • +
        • cyborghug
        • +
        • lollipop
        • +
        • projectile_dampen
        • +
        • stun
        • +
        • upgrade
            +
          • defib/backpack - A version of the above that also acts as a holder of an actual defibrillator item used in place of the upgrade chip.
          • +
          • selfrepair
          • +
        • +
      • +
      • borg_restart_board - This isn't an upgrade or part of the same path, but I'm gonna just stick it here because it's a tool used on cyborgs.
      • +
      • bot_assembly
      • +
      • bounty_cube - Upon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.
      • +
      • boxcutter
      • +
      • broken_bottle - The froth fountain that we are sticking onto the bottle
      • +
      • burner
      • +
      • camera
      • +
      • canvas
      • +
      • card
          +
        • cardboard - A fake ID card any silly-willy can craft with wirecutters, cardboard and a writing utensil +Beside the gimmick of changing the visible name when worn, they do nothing. They cannot have an account. +They don't fit in PDAs nor wallets, They have no access. They won't trick securitrons. They won't work with chameleon masks. +Etcetera etcetera. Furthermore, talking, or getting examined on will pretty much give it away.
        • +
        • emag/battlecruiser
        • +
        • id - "Retro" ID card that renders itself as the icon state with no overlays.
            +
          • advanced
              +
            • cargo_gorilla - Cargorilla's ID card
            • +
            • chameleon
                +
              • black - A special variant of the classic chameleon ID card which accepts all access.
              • +
            • +
            • heretic - An ID card capable of shapeshifting to other IDs given by the Key Keepers Burden knowledge
            • +
            • prisoner
            • +
          • +
        • +
        • mining_point_card
        • +
      • +
      • cardboard_cutout
      • +
      • cardpack
      • +
      • cautery
      • +
      • ceremonial_blade - ritual weapons. they're really bad, but they become normal weapons when sparring.
      • +
      • chainsaw
      • +
      • chameleon_scanner - Small handheld chameleon item that allows a user to mimic the outfit of another person quickly.
      • +
      • changeling/id
      • +
      • chisel - Other Stuff
      • +
      • choice_beacon
      • +
      • Integrated Circuit Component - A component that performs a function when given an input
      • +
      • circuitboard
          +
        • computer/white_ship/ruin - ruined whiteship
        • +
        • machine/netpod - quantum server design +are you absolutely sure??
        • +
        • mecha - Circuitboards
        • +
      • +
      • circular_saw
      • +
      • civ_bounty_beacon - Beacon to launch a new bounty setup when activated.
      • +
      • climbing_hook
      • +
      • clipboard - Clipboard
      • +
      • clothing
      • +
      • codex_cicatrix
      • +
      • coin - Coin
          +
        • eldritch
        • +
        • silver/doubloon - Coins used in the dutchmen money bag.
        • +
      • +
      • Compact Remote - A handheld device with one big button.
      • +
      • computer_disk
          +
        • command - Command
        • +
        • engineering - Engineering
        • +
        • maintenance
            +
          • camera - Camera app, forced to always have largest image size
          • +
          • modsuit_control - MODsuit UI, in your PDA!
          • +
          • scanner - Medical health analyzer app
          • +
        • +
        • medical - Medical
        • +
        • ordnance - Science
        • +
        • quartermaster - Supply
        • +
        • security - Security
        • +
        • syndie_ai_upgrade - Upgrade disk used to increase the range of a syndicate AI
        • +
        • virus - Virus disk +Can't hold apps, instead does unique actions.
            +
          • clown - Clown virus +Makes people's PDA honk +Can also be used on open panel airlocks to make them honk on opening.
          • +
          • detomatix - Detomatix virus +Sends a false message, and blows the PDA up if the target responds to it (or opens their messenger before a timer)
          • +
          • frame - Frame cartridge +Creates and opens a false uplink on someone's PDA +Can be loaded with TC to show up on the false uplink.
          • +
          • mime - Mime virus +Makes PDA's silent, removing their ringtone.
          • +
        • +
      • +
      • construction
          +
        • plumbing - The plumbing RCD. All the blueprints are located in _globalvars > lists > construction.dm
        • +
        • rcd
            +
          • internal - Base console's internal RCD. Has a large material capacity and a fast buildspeed.
          • +
        • +
        • rld
        • +
        • rtd - An tool used to create, destroy, and copy & clear decals of floor tiles +Great for janitor but can be made only in engineering +Supports silo link upgrade and refill with glass, plasteel & iron
        • +
      • +
      • Compact Remote - A handheld device with several buttons. +In game, this translates to having different signals for normal usage, alt-clicking, and ctrl-clicking when in your hand.
      • +
      • coupon
      • +
      • crowbar/power
      • +
      • crusher_trophy
      • +
      • ctf_flag - A flag used for the CTF minigame.
      • +
      • cult_bastard - Cult Bastard Sword, earned by cultists when they manage to sacrifice a heretic.
      • +
      • cult_shift
      • +
      • defibrillator
      • +
      • delivery
          +
        • Wrapped up crates and lockers - too big to carry.
        • +
        • Wrapped up items small enough to carry.
        • +
      • +
      • dest_tagger
      • +
      • detective_scanner
      • +
      • dice - this is a prototype for dice, for a real d6 use "/obj/item/dice/d6"
      • +
      • disk
          +
        • design_disk
            +
          • bepis
              +
            • remove_tech - Subtype of Bepis tech disk +Removes the tech disk that's held on it from the experimental node list, making them not show up in future disks.
            • +
          • +
          • cleric_mace - cleric's den items.
          • +
          • knight_gear - Wizard tower item
          • +
          • limbs - Design disks and designs - for adding limbs and organs to the limbgrower.
          • +
        • +
        • holodisk/ruin/waystation - Syndicate Holodisk
        • +
        • nuclear
        • +
        • surgery
            +
          • advanced_plastic_surgery - Disk containing info for doing advanced plastic surgery. Spawns in maint and available as a role-restricted item in traitor uplinks.
          • +
          • forgottenship - forgottenship items
          • +
          • irs - Surgery disk for the space IRS (I don't know where to dump them anywhere else)
          • +
        • +
      • +
      • dna_probe - DNA Probe
          +
        • carp_scanner - Used for scanning carps, and then turning yourself into one.
        • +
      • +
      • dnainjector/acidflesh - DNA INJECTORS
      • +
      • secret documents - Indestructible antag objective that can be photocopied.
          +
        • nanotrasen - Nanotrasen documents
        • +
        • secret documents (photocopy) - Outcome of photocopying documents. Can be copied, and can have a blue/red seal forged.
        • +
        • syndicate - Syndicate documents
            +
          • blue - Syndicate documents with a blue seal
          • +
          • mining - Syndicate mining documents
          • +
          • red - Syndicate documents with a red seal
          • +
        • +
      • +
      • dog_bone - A dog bone fully heals a dog, and befriends it if it's not your friend.
      • +
      • door_seal
      • +
      • dualsaber
      • +
      • dullahan_relay
      • +
      • dyespray
      • +
      • ectoplasm
          +
        • construct - Construct ectoplasm. Largely a placeholder, since the death drop element needs a unique list.
        • +
        • revenant
        • +
      • +
      • eldritch_potion
      • +
      • electronics/airlock
      • +
      • encryptionkey
      • +
      • Energy Katana - The space ninja's katana.
      • +
      • exodrone - Exploration drone
      • +
      • Experi-Scanner - Handheld scanning unit to perform scanning experiments
      • +
      • extinguisher
      • +
      • extraction_pack
      • +
      • eyesnatcher
      • +
      • fireaxe
      • +
      • firelance - Two handed fire lance. Melts wall after short windup.
      • +
      • firing_pin
      • +
      • fish
          +
        • starfish
        • +
        • testdummy - dummy fish item used for the tests, as well with related subtypes and datums.
        • +
      • +
      • fish_analyzer - An item that can be used to gather information on the fish, such as but not limited to: health, hunger and traits.
      • +
      • fish_feed - Fish feed can
      • +
      • fishing_hook
      • +
      • fishing_line
      • +
      • fishing_rod
      • +
      • flashlight
      • +
      • folder
      • +
      • food - Abstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components
          +
        • badrecipe
        • +
        • baguette
            +
          • combat - Deadly bread used by a mime
          • +
        • +
        • bait
            +
          • doughball/synthetic - Bound to the tech fishing rod, from which cannot be removed, +Bait-related preferences and traits, both negative and positive, +should be ignored by this bait. +Otherwise it'd be hard/impossible to cath some fish with it, +making that rod a shoddy choice in the long run.
          • +
        • +
        • bread - Abstract parent object for bread items. Should not be made obtainable in game.
        • +
        • bubblegum
        • +
        • cake
        • +
        • candy - SNACKS FROM VENDING MACHINES
        • +
        • canned/envirochow
        • +
        • Abstract cheese class - Everything that is a subclass of this counts as cheese for regal rats.
        • +
        • chocolateegg - EGGS
        • +
        • clothing
        • +
        • cookie - OTHER
        • +
        • cubancarp - FISH
        • +
        • deadmouse - Mice turn into food when they die
        • +
        • donkpocket - DONK POCKETS
        • +
        • donut
            +
          • jelly - JELLY DONUTS
              +
            • slimejelly - SLIME DONUTS
            • +
          • +
        • +
        • egg
            +
          • watcher - Egg which hatches into a helpful pet. Or you can eat it if you want.
          • +
        • +
        • fishmeat
            +
          • carp
          • +
          • donkfish - donkfish fillets. The yuck reagent is now added by the fish trait of the same name.
          • +
        • +
        • golem_food - Abstract food item used to feed golems
        • +
        • grown
            +
          • banana
          • +
          • barrelmelon - Barrel melon Fruit
          • +
          • mushroom
          • +
          • poppy/geranium/fraxinella - Fraxinella Flowers.
          • +
          • pumpkin
          • +
          • star_cactus - Star Cactus Plants.
          • +
        • +
        • icecream
        • +
        • kebab - KEBABS AND OTHER SKEWERS
        • +
        • meat
            +
          • cutlet
          • +
          • rawcutlet - MEAT CUTLETS
          • +
          • slab
              +
            • human - HUMAN MEATS
            • +
            • synthmeat - OTHER MEATS
            • +
          • +
          • steak - MEAT STEAKS
          • +
        • +
        • monkeycube
            +
          • syndicate - internal proc called by a monkeycube's suicide_act using a timer and callback. takes as argument the mob/living who activated the suicide
          • +
        • +
        • muffin - MUFFINS
        • +
        • nugget
        • +
        • pancakes
        • +
        • patty/plain - Exists purely for the crafting recipe (because itll take subtypes)
        • +
        • pie
        • +
        • pizza
        • +
        • rationpack
        • +
        • ready_donk
        • +
        • salad - SALAD
        • +
        • sandwich/death
        • +
        • spaghetti - spaghetti prototype used by all subtypes
        • +
        • tempeh - MEATS AND ALIKE
        • +
        • waffles - WAFFLES
        • +
        • watermelonslice - OTHER
        • +
      • +
      • forcefield_projector
      • +
      • frog_contract
      • +
      • frog_statue
      • +
      • fuel_pellet
      • +
      • fugu_gland - Item you use on a mob to make it bigger and stronger
      • +
      • gas_filter
      • +
      • gibtonite
      • +
      • gibtonite_hand - Lets you hold a gibtonite ore in one hand and shoot it like a gun
      • +
      • gift - Gifts to give to players, will contain a nice toy or other fun item for them to play with.
          +
        • anything - Gifts that typically only very OP stuff or admins or Santa Claus himself should be giving out, as they contain ANY valid subtype of /obj/item, including stuff like instagib rifles. Wow!
        • +
      • +
      • golem_shell
          +
        • servant - made with xenobiology, the golem obeys its creator
        • +
      • +
      • goliath_infuser_hammer
      • +
      • goliath_saddle - Use this to ride a goliath
      • +
      • gps
      • +
      • graft - A new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator.
      • +
      • greentext
      • +
      • grenade - Base class for all grenades.
          +
        • c4
            +
          • es8
          • +
          • Spider Charge - A unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.
          • +
        • +
        • chem_grenade
            +
          • metalfoam - PREMADE GRENADES
          • +
        • +
        • gas_crystal
        • +
        • mirage
        • +
        • primer
        • +
        • smokebomb - This is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality. +It menaces with spikes of iron. On it is a depiction of an assistant. +The assistant is bleeding. The assistant has a painful expression. The assistant is dead.
        • +
      • +
      • grown
      • +
      • guardian_creator - An item which grants you your very own soul buddy
          +
        • carp - Guardian creator only spawned by admins, which creates a holographic fish. You can have several of them.
        • +
        • miner - Guardian creator available to miners from chests, very limited selection and randomly assigned.
        • +
        • tech - Guardian creator available in the traitor uplink. All but dextrous are available, you can pick which you want, and changelings cannot use it.
        • +
        • wizard - Guardian creator available in the wizard spellbook. All but support are available.
        • +
      • +
      • gun
          +
        • ballistic - Subtype for any kind of ballistic gun +This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy
            +
          • automatic
              +
            • mini_uzi/chimpgun - Weak uzi for syndicate chimps. It comes in a 4 TC kit. +Roughly 9 damage per bullet every 0.2 seconds, equaling out to downing an opponent in a bit over a second, if they have no armor.
            • +
            • pistol/m1911/chimpgun - Weak 1911 for syndicate chimps. It comes in a 4 TC kit. +15 damage every.. second? 7 shots to kill. Not fast.
            • +
            • tommygun
                +
              • chimpgun - Weak tommygun for syndicate chimps. It comes in a 4 TC kit. +Roughly 9 damage per bullet every 0.2 seconds, equaling out to downing an opponent in a bit over a second, if they have no armor.
              • +
            • +
          • +
          • bow
              +
            • divine - chaplain's divine archer bow
            • +
            • longbow - basic bow, used for medieval sim
            • +
          • +
          • revolver/chaplain
          • +
          • rifle/enchanted - MAGICAL BOLT ACTIONS + ARCANE BARRAGE?
          • +
          • rocketlauncher
          • +
          • shotgun
          • +
        • +
        • blastcannon - A gun that consumes a TTV to shoot an projectile with equivalent power.
        • +
        • energy
            +
          • beam_rifle
          • +
          • dueling
          • +
          • laser
          • +
          • lasercannon - Laser Cannon
          • +
          • marksman_revolver
          • +
          • recharge
              +
            • fisher - A silly gun that does literally zero damage, but disrupts electrical sources of light, like flashlights.
            • +
          • +
          • Circuit Gun - A gun that lets you fire projectiles to enact circuitry.
          • +
          • xray - X-ray gun
          • +
        • +
        • magic
            +
          • hook - Meat Hook
              +
            • debug - Debug hook for fun (AKA admin abuse). doesn't do any more damage or anything just lets you wildfire it.
            • +
          • +
          • midas_hand
          • +
          • staff
              +
            • change
            • +
            • chaos
                +
              • true_wabbajack - Staff of chaos given to the wizard upon completing a cheesy grand ritual. Is completely evil and if something +breaks, it's completely intended. Fuck off. +Also can be used by everyone, because why not.
              • +
            • +
            • healing
            • +
          • +
        • +
        • medbeam
            +
          • mech - Mech Version
          • +
        • +
        • syringe
        • +
      • +
      • hallucinated
      • +
      • hand_item - For all of the items that are really just the user's hand used in different ways, mostly (all, really) from emotes
          +
        • circlegame
        • +
        • kisser
        • +
        • noogie
        • +
        • self_grasp - an abstract item representing you holding your own limb to staunch the bleeding, see [/mob/living/carbon/proc/grabbedby] will probably need to find somewhere else to put this.
        • +
        • slapper
        • +
      • +
      • hand_tele
      • +
      • hardened_spike
      • +
      • harmalarm
      • +
      • healthanalyzer
      • +
      • hemostat
      • +
      • heretic_labyrinth_handbook - A heretic item that spawns a barrier at the clicked turf, 3 uses
      • +
      • hfr_box
      • +
      • hierophant_club
      • +
      • highfrequencyblade
      • +
      • house_edge
      • +
      • implant - Parent class for all implants
          +
        • abductor
        • +
        • beacon - Essentially, just turns the implantee into a teleport beacon.
        • +
        • chem
        • +
        • exile/noteleport - Used to help the staff of the space hotel resist the urge to use the space hotel's incredibly alluring roundstart teleporter to ignore their flavor/greeting text and come to the station.
        • +
        • explosive
            +
          • deniability - Microbomb which prevents you from going into critical condition but also explodes after a timer when you reach critical condition in the first place.
          • +
          • macro - Macrobomb has the strength and delay of 10 microbombs
          • +
        • +
        • mod
        • +
        • nuclear_operative
        • +
        • sad_trombone - A passive implant that plays sound/misc/sadtrombone.ogg when you deathgasp for any reason
        • +
        • spell
        • +
        • teleport_blocker - Blocks the implantee from being teleported
        • +
        • tracking
        • +
        • uplink
        • +
      • +
      • implantcase - Item used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case.
          +
        • sad_trombone - Implant case that spawns with a sad trombone implant, as well as an appropriate name and description
        • +
        • tracking - An implant case that spawns with a tracking implant, as well as an appropriate name and description.
        • +
        • weapons_auth - An implant case that spawns with a firearms authentication implant, as well as an appropriate name and description.
        • +
      • +
      • implanter - Players can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen.
          +
        • sad_trombone - Implanter that spawns with a sad trombone implant, as well as an appropriate name
        • +
      • +
      • N-spect scanner - Creates reports for area inspection bounties.
      • +
      • instrument
      • +
      • Integrated Circuitboard - A circuitboard that holds components that work together
          +
        • loaded
            +
          • Hello World preset - Says "Hello World" when triggered. Needs to be wired up and connected first.
          • +
          • Speech Relay preset - Acts like poly. Says whatever it hears.
          • +
        • +
      • +
      • Janicart Upgrade - Functional upgrades that can be installed into a janicart.
      • +
      • kheiral_cuffs - Kheiral Cuffs +Acts as a GPS beacon & connects to station crew monitors from lavaland
      • +
      • kinetic_crusher - Mining Hammer
      • +
      • kirbyplants
      • +
      • kitchen/tongs - Tongs, let you pick up and feed people food from further away.
      • +
      • knife
      • +
      • language_manual
      • +
      • laser_pointer
      • +
      • lazarus_injector - Players can revive simplemobs with this.
      • +
      • light
      • +
      • light_eater - An armblade that instantly snuffs out lights
      • +
      • lighter
      • +
      • lightreplacer
      • +
      • lipstick
      • +
      • mail - Mail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.
      • +
      • malf_upgrade - AI Upgrades
      • +
      • market_uplink
      • +
      • match
      • +
      • mecha_ammo
          +
        • missiles_pep - PEP-6 Missile type - Used by Robotics
        • +
        • missiles_srm - Missile Ammo +SRM-8 Missile type - Used by Nuclear Operatives
        • +
      • +
      • mecha_parts - Mecha Parts
          +
        • chassis
            +
          • clarke - Clarke
          • +
          • durand - Durand
          • +
          • gygax - Gygax
          • +
          • honker - HONK
          • +
          • odysseus - Odysseus
          • +
          • phazon - Phazon
          • +
          • ripley - Ripley
          • +
        • +
        • mecha_equipment - Mecha Equipment +All mech equippables are currently childs of this
            +
          • air_tank - Mech air tank module
          • +
          • armor - ARMOR BOOSTER MODULES
          • +
          • concealed_weapon_bay - CONCEALED WEAPON BAY
          • +
          • ejector
          • +
          • extinguisher
          • +
          • generator - GENERATOR
          • +
          • gravcatapult
          • +
          • hydraulic_clamp
          • +
          • medical
          • +
          • orebox_manager - Special equipment for the Clarke mech, handles moving ore without giving the mech a hydraulic clamp and cargo compartment.
          • +
          • radio - Mech radio module
          • +
          • rcd
          • +
          • repair_droid - REPAIR DROID
          • +
          • teleporter - TELEPORTER
          • +
          • thrusters - THRUSTERS
          • +
          • weapon
              +
            • ballistic
                +
              • launcher
              • +
              • missile_rack - Missiles +SRM-8 Missile Rack - Used by Nuclear Operatives - Explodes when it hits anything
                  +
                • breaching - PEP-6 Missile Rack - Used by Robotics - Explodes only when it hits dense objects like walls, borgs and mechs
                • +
              • +
            • +
            • paddy_claw - long claw of the law
            • +
          • +
          • wormhole_generator - WORMHOLE GENERATOR
          • +
        • +
        • mecha_tracking
        • +
      • +
      • melee
      • +
      • mending_globule - This item is what is embedded into the mob, and actually handles healing of mending globules
      • +
      • minespawner
      • +
      • mining_scanner - Mining Scanners
      • +
      • mining_stabilizer - Stabilising serum prevents monster organs from decaying before you can use them.
      • +
      • mining_voucher - Mining Equipment Voucher
      • +
      • mmi
      • +
      • mod - MODsuits, trade-off between armor and utility
          +
        • control
        • +
        • core
        • +
        • module - MOD Module - A special device installed in a MODsuit allowing the suit to do new stuff.
            +
          • active_sonar - Active Sonar - Displays a hud circle on the turf of any living creatures in the given radius
          • +
          • adrenaline_boost - Adrenaline Boost - Stops all stuns the ninja is affected with, increases his speed.
          • +
          • anomaly_locked - Anomaly Locked - Causes the module to not function without an anomaly.
              +
            • antigrav - Anti-Gravity - Makes the user weightless.
            • +
            • kinesis - Kinesis - Gives you the ability to move and launch objects.
                +
              • admin - Admin suit version of kinesis. Can grab anything at any range, may enable phasing through walls.
              • +
            • +
            • teleporter - Teleporter - Lets the user teleport to a nearby location.
            • +
          • +
          • anti_magic - Magic Nullifier - Protects you from magic.
          • +
          • armor_booster - Armor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.
          • +
          • ash_accretion
          • +
          • atrocinator - Atrocinator - Flips your gravity.
          • +
          • balloon - Balloon Blower - Blows a balloon.
          • +
          • bikehorn - Bike Horn - Plays a bike horn sound.
          • +
          • chameleon - Chameleon - lets the suit disguise as any item that would fit on that slot.
          • +
          • circuit
          • +
          • clamp - Hydraulic Clamp - Lets you pick up and drop crates.
          • +
          • constructor - Constructor - Lets you build quicker and create RCD holograms.
          • +
          • criminalcapture - Criminal Capture - Generates hardlight bags you can put people in and sinch.
              +
            • patienttransport - Patrient Transport - Generates hardlight bags you can put people in.
            • +
          • +
          • defibrillator - Defibrillator - Gives the suit an extendable pair of shock paddles.
          • +
          • dispenser - Dispenser - Dispenses an item after a time passes.
              +
            • mirage - Mirage grenade dispenser - Dispenses grenades that copy the user's appearance.
            • +
          • +
          • dna_lock - DNA Lock - Prevents people without the set DNA from activating the suit.
          • +
          • drill - Drill - Lets you dig through rock and basalt.
          • +
          • emp_shield - EMP Shield - Protects the suit from EMPs.
          • +
          • energy_net - Energy Net - Ensnares enemies in a net that prevents movement.
          • +
          • energy_shield - Energy Shield - Gives you a rechargeable energy shield that nullifies attacks.
          • +
          • eradication_lock - Eradication lock - Prevents people who aren't the owner of the suit from existing on the timeline via eradicating the suit with the intruder inside
          • +
          • flamethrower - Flamethrower - Launches fire across the area.
          • +
          • flashlight - Flashlight - Gives the suit a customizable flashlight.
          • +
          • gps - Internal GPS - Extends a GPS you can use.
          • +
          • hacker - Hacker - This module hooks onto your right-clicks with empty hands and causes ninja actions.
          • +
          • hat_stabilizer - Hat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets.
          • +
          • health_analyzer - Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel.
          • +
          • holster - Holster - Instantly holsters any not huge gun.
          • +
          • hydraulic
          • +
          • injector - Injector - Gives the suit an extendable large-capacity piercing syringe.
          • +
          • insignia - Insignia - Gives you a skin specific stripe.
          • +
          • jetpack - Ion Jetpack - Lets the user fly freely through space using battery charge.
          • +
          • joint_torsion - A module that recharges the suit by an itsy tiny bit whenever the user takes a step. Originally called "magneto module" but the videogame reference sounds cooler.
          • +
          • jump_jet - Jump Jet - Briefly removes the effect of gravity and pushes you up one z-level if possible.
          • +
          • longfall - Longfall - Nullifies fall damage, removing charge instead.
          • +
          • magboot - Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.
          • +
          • magnetic_harness - Magnetic Harness - Automatically puts guns in your suit storage when you drop them.
          • +
          • medbeam - Medbeam - Medbeam but built into a modsuit
          • +
          • megaphone - Megaphone - Lets you speak loud.
          • +
          • microwave_beam - Microwave Beam - Microwaves items instantly.
          • +
          • mister - Mister - Sprays water over an area.
              +
            • atmos - Resin Mister - Sprays resin over an area.
            • +
          • +
          • mouthhole - Eating Apparatus - Lets the user eat/drink with the suit on.
          • +
          • noslip - Anti Slip - Prevents you from slipping on water.
          • +
          • orebag - Ore Bag - Lets you pick up ores and drop them from the suit.
          • +
          • organ_thrower - Organ Thrower - Lets you shoot organs, immediately replacing them if the target has the organ manipulation surgery.
          • +
          • paper_dispenser - Paper Dispenser - Dispenses (sometimes burning) paper sheets.
          • +
          • pathfinder - Pathfinder - Can fly the suit from a long distance to an implant installed in someone.
          • +
          • pepper_shoulders - Pepper Shoulders - When hit, reacts with a spray of pepper spray around the user.
          • +
          • plasma_stabilizer - Plasma Stabilizer - Prevents plasmamen from igniting in the suit
          • +
          • plate_compression - Plate Compression - Compresses the suit to normal size
          • +
          • power_kick - Power kick - Lets the user launch themselves at someone to kick them.
          • +
          • projectile_dampener - Projectile Dampener - Weakens projectiles in range.
          • +
          • quick_carry - Quick Carry - Lets the user carry bodies quicker.
          • +
          • rad_protection - Radiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.
          • +
          • reagent_scanner - Reagent Scanner - Lets the user scan reagents.
          • +
          • recycler - Module that shoves garbage inside its material container when the user crosses it, and eject the recycled material with MMB.
              +
            • donk - A black market variant of the above that dispenses riot foam dart boxes
            • +
          • +
          • rewinder - Rewinder - Activating saves a point in time, after 10 seconds you will jump back to that state.
          • +
          • shooting_assistant - A module that enhances the user's ability with firearms, with a couple drawbacks: +In 'Stormtrooper' mode, the user will be given faster firerate, but lower accuracy. +In 'Sharpshooter' mode, the user will have better accuracy and ricochet to his shots, but slower movement speed. +Both modes prevent the user from dual wielding guns.
          • +
          • signlang_radio - Sign Language Translator - allows people to sign over comms using the modsuit's gloves.
          • +
          • sphere_transform
          • +
          • springlock - Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.
          • +
          • stamp - Stamper - Extends a stamp that can switch between accept/deny modes.
          • +
          • status_readout - Status Readout - Puts a lot of information including health, nutrition, fingerprints, temperature to the suit TGUI.
              +
            • ninja - Ninja Status Readout - Like the normal status display (see the base type), but with a clock.
            • +
          • +
          • stealth - Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.
          • +
          • storage - Storage - Adds a storage component to the suit.
          • +
          • surgical_processor - Surgical Processor - Lets you do advanced surgeries portably.
          • +
          • t_ray - T-Ray Scan - Scans the terrain for undertile objects.
          • +
          • tanner - Tanner - Tans you with spraytan.
          • +
          • tem - TEM - Lets you eradicate people.
          • +
          • tether - Emergency Tether - Shoots a grappling hook projectile in 0g that throws the user towards it.
          • +
          • thermal_regulator - Thermal Regulator - Regulates the wearer's core temperature.
          • +
          • thread_ripper - Thread Ripper - Temporarily rips apart clothing to make it not cover the body.
          • +
          • timeline_jumper - Timeline Jumper - Infinite phasing. needs some special effects
          • +
          • timestopper - Timestopper - Need I really explain? It's the wizard's time stop, but the user channels it by not moving instead of a duration.
          • +
          • visor - Base Visor - Adds a specific HUD and traits to you.
              +
            • rave - Rave Visor - Gives you a rainbow visor and plays jukebox music to you.
            • +
          • +
          • weapon_recall - Weapon Recall - Teleports your katana to you, prevents gun use.
          • +
          • welding - Welding Protection - Makes the helmet protect from flashes and welding.
              +
            • camera_vision - Camera Vision - Prevents flashes, blocks tracking.
            • +
          • +
        • +
      • +
      • modular_computer
          +
        • debug - Debug ModPC +Used to spawn all programs for Create and Destroy unit test.
        • +
        • pda
            +
          • assistant - No Department
          • +
          • cargo - Supply
          • +
          • clown
          • +
          • engineering - Engineering
          • +
          • heads - Command
          • +
          • janitor - Service
          • +
          • medical - Medical
          • +
          • nukeops - Nuclear PDA
          • +
          • science - Science
          • +
          • security - Security
          • +
          • silicon - Silicon PDA
          • +
          • syndicate - Non-roles
          • +
        • +
        • processor
        • +
      • +
      • mop
      • +
      • multitool - Multitool -- A multitool is used for hacking electronic devices.
      • +
      • mutant_hand - Generic mutant hand type for use with the mutant hands component +(Technically speaking, the component doesn't require you use this type. But it's here for posterity)
          +
        • shattered_risen - The "hand" "weapon" used by shattered risen
        • +
      • +
      • necromantic_stone - Necromantic Stone
      • +
      • nuclear_challenge
          +
        • literally_just_does_the_message - Subtype that does nothing but plays the war op message. Intended for debugging
        • +
      • +
      • nullrod
      • +
      • offhand - The offhand dummy item for two handed items
      • +
      • ore_sensor - Ashwalker ore sensor crafted from brimdemon ash
      • +
      • organ
          +
        • external - System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not +Works in tandem with the /datum/sprite_accessory datum to generate sprites +Unlike normal organs, we're actually inside a persons limbs at all times
            +
          • antennae - A moth's antennae
          • +
          • frills - The frills of a lizard (like weird fin ears)
          • +
          • horns - The horns of a lizard!
          • +
          • pod_hair - The leafy hair of a podperson
          • +
          • snout - Guess what part of the lizard this is?
          • +
          • spines - A lizards spines (those things on their back), but also including tail spines (gasp)
          • +
          • tail - Tail parent, it doesn't do very much.
          • +
          • wings - Wing base type. doesn't really do anything
              +
            • functional - The true wings that you can use to fly and shit (you cant actually shit with them)
                +
              • angel - angel wings, which relate to humans. comes with holiness.
              • +
              • dragon - dragon wings, which relate to lizards.
              • +
              • fly - fly wings, which relate to flies.
              • +
              • moth
                  +
                • megamoth - megamoth wings, which relate to moths as an alternate choice. they're both pretty cool.
                • +
                • mothra - mothra wings, which relate to moths.
                • +
              • +
              • robotic - robotic wings, which relate to androids.
              • +
              • skeleton - skeletal wings, which relate to skeletal races.
              • +
              • slime - slime wings, which relate to slimes.
              • +
            • +
            • moth - Moth wings! They can flutter in low-grav and burn off in heat
            • +
          • +
        • +
        • internal
            +
          • alien
          • +
          • appendix
              +
            • golem
            • +
            • roach - Roach appendix: +No appendicitus! weee!
            • +
          • +
          • body_egg
          • +
          • brain
              +
            • carp - carp brain. you need to occasionally go to a new zlevel. think of it as... walking your dog!
            • +
            • goliath - goliath brain. you can't use gloves but one of your arms becomes a tendril hammer that can be used to mine!
            • +
            • primate
            • +
            • shadow - the key to some of their powers
            • +
          • +
          • cyberimp
          • +
          • eyes
              +
            • night_vision
                +
              • goliath - goliath eyes, simple night vision
              • +
              • rat - way better night vision, super sensitive. lotta things work like this, huh?
              • +
            • +
            • robotic - Robotic
            • +
          • +
          • heart
              +
            • carp - makes you cold resistant, but heat-weak.
            • +
            • demon - The loot from killing a slaughter demon - can be consumed to allow the user to blood crawl
            • +
            • ethereal
            • +
            • freedom
            • +
            • gland
            • +
            • goliath - we obtain the relative direction from the bat itself to the target +goliath heart gives you the ability to survive ash storms.
            • +
            • gondola - makes you a pacifist and turns most mobs neutral towards you
            • +
            • nightmare
            • +
            • rat - makes you smaller, walk over tables, and take 1.5x damage
            • +
            • roach - Roach heart: +Reduces damage taken from brute attacks from behind, +but increases duration of knockdowns
            • +
          • +
          • legion_tumour - Left behind when a legion infects you, for medical enrichment
          • +
          • liver
              +
            • bone - Bone liver +Gives the owner liverless metabolism, makes them vulnerable to bone hurting juice and +makes milk heal them through meme magic.
                +
              • plasmaman - Plasmaman liver +Makes plasma and hot ice heal wounds, also makes gunpowder a hallucinogen.
              • +
            • +
            • golem - Golem liver +Basically only exists to remove the nutriment factor from consumables, +so golems can only consume minerals even when injecting reagents.
            • +
            • gondola - Loving arms: your hands become unable to hold much of anything but your hugs now infuse the subject with pax.
            • +
            • roach - Roach liver: +Purges toxins at a higher threshold, but takes more damage from them if not purged
            • +
          • +
          • lungs
              +
            • carp - Carp lungs! You can breathe in space! Oh... you can't breathe on the station, you need low oxygen environments. +Inverts behavior of lungs. Bypasses suffocation due to space / lack of gas, but also allows Oxygen to suffocate.
            • +
            • ethereal
            • +
            • lavaland/goliath - goliath lungs! You can breathe lavaland air mix but can't breath pure O2 from a tank anymore.
            • +
          • +
          • monster_core - Useful organs which drop as loot from a mining creature. +Generalised behaviour is that they will decay and become useless unless provided with serum. +These should usually do something both when used in-hand, or when implanted into someone.
              +
            • brimdust_sac - Gives you three stacks of Brimdust Coating, when you get hit by anything it will make a short ranged explosion. +If this happens on the station it does much less damage, and slows down the bearer. +If implanted, you can shake off a cloud of brimdust to give this buff to people around you.area +It will also automatically grant you one stack every 30 seconds if you are on lavaland.
            • +
            • regenerative_core - On use in hand, heals you over time and removes injury movement debuffs. Also makes you a bit sad. +On use when implanted, fully heals. Automatically fully heals if you would enter crit.
                +
              • legion - Different graphics/desc for the lavaland legion
              • +
            • +
            • rush_gland - On use in hand, makes you run really fast for 5 seconds and ignore injury movement decrease. +On use when implanted, run for longer and ignore all negative movement. Automatically triggers if health is low (to escape).
            • +
          • +
          • stomach
              +
            • alien - The stomach that lets aliens eat people/things
            • +
            • ethereal
            • +
            • golem
            • +
            • rat - increases hunger, disgust recovers quicker, expands what is defined as "food"
            • +
            • roach - Roach stomach: +Makes disgust a non-issue, very slightly worse at passing off reagents +Also makes you more hungry
            • +
          • +
          • tongue
              +
            • carp - occasionally sheds carp teeth, stronger melee (bite) attacks, but you can't cover your mouth anymore.
            • +
            • gondola - Zen (tounge): You can no longer speak, but get a powerful positive moodlet
            • +
            • rat - you occasionally squeak, and have some rat related verbal tics
            • +
          • +
        • +
      • +
      • pai_card
      • +
      • paint
      • +
      • paint_palette - Simple painting utility.
      • +
      • paper - Paper +also scraps of paper
          +
        • crumpled
            +
          • bloody/ruins/lavaland/clown_planet/escape - lavaland clown planet papers
          • +
          • ruins
              +
            • bigderelict1/manifest - bigderelict1 items
            • +
            • derelict_sulaco/captain - derelictsulaco items
            • +
            • originalcontent - originalcontent items
            • +
            • snowdin/foreshadowing - papers
            • +
          • +
        • +
        • fake_report - Reports printed by fake N-spect scanner
        • +
        • fluff
            +
          • operative - instructions for nuclear operatives on how to use their medipen
          • +
          • radiation_nebula - Small explanation for engineering on how to set-up the radioactive nebula shielding
          • +
          • radiation_nebula_virologist - Warns the viro that they can't use radioactive resonance
          • +
          • ruins
              +
            • asteroid4/extraction - asteroid4 items
            • +
            • crashedclownship/true_nation - crashedclownship items
            • +
            • dangerous_research
                +
              • armstrong_memo_1 - Armstrong Memos
              • +
              • beaches_journal_1 - Dream-Of-Beaches Journal
              • +
              • manifest - Paper Fluff Lore
              • +
            • +
            • deepstorage/water_concern - deepstorage items
            • +
            • djstation - djstation items
            • +
            • forgottenship/password - forgottenship lore
            • +
            • interdyne/reception - Research notes
            • +
            • listeningstation/reports - Papers used in The Listening Station ruin.
            • +
            • oldstation - Oldstation items
                +
              • protosupermatter - Supermatter crystal fluff paper used in Charlie station ruin
              • +
            • +
            • spacehotel/notice - spacehotel items
            • +
            • the_outlet/amos_note - lore papers
            • +
            • thederelict/equipment - thederelict items
            • +
            • waystation
                +
              • memo - Vault Paper
              • +
              • menu - Dorms Room Papers
              • +
              • sop - Cargo Bay Paper
              • +
            • +
          • +
          • spaceruins/lizardsgas/memorandum - Space Ruins
          • +
          • stations
              +
            • centcom/disk_memo - CentCom
            • +
            • lavaland
                +
              • orm_notice - Lavaland
              • +
              • sloth/note - lavaland slot ruin items
              • +
              • surface/henderson_report - lavaland surface papers
              • +
            • +
          • +
        • +
        • guides/jobs
            +
          • engi/gravity_gen - Gravity generator instruction guide
          • +
          • hydroponics - Job guides n' fluff
          • +
        • +
        • monitorkey - Monitor decryption key paper
        • +
        • report
        • +
        • secretrecipe
        • +
      • +
      • paper_bin
      • +
      • papercutter
      • +
      • Paperwork - Paperwork documents that can be stamped by their associated stamp to provide a bonus to cargo.
      • +
      • pen/edagger
      • +
      • petri_dish - Holds a biological sample which can then be put into the growing vat
          +
        • random - Petri dish with random sample already in it.
        • +
      • +
      • ph_booklet
      • +
      • ph_meter
      • +
      • ph_paper
      • +
      • photo
      • +
      • pickaxe - Pickaxes & Drills & Shovels
      • +
      • pillow
      • +
      • pinata - An item that when used inhand spawns an immovable pinata
      • +
      • pinpointer
      • +
      • pipe
      • +
      • pipe_dispenser
      • +
      • pitchfork - Pitchfork item
      • +
      • pizzabox
      • +
      • plant_analyzer
      • +
      • plaque
      • +
      • plate
      • +
      • plate_shard
      • +
      • plunger - A wearable tool that lets you empty plumbing machinery and some other stuff
          +
        • reinforced - A faster reinforced plunger
        • +
      • +
      • polymorph_belt - Belt which can turn you into a beast, once an anomaly core is inserted
          +
        • functioning - Pre-activated polymorph belt
        • +
      • +
      • poster - The rolled up item form of a poster
      • +
      • powersink - Stop warning spam, only warn the admins/deadchat once that we are about to boom.
      • +
      • pressure_plate
      • +
      • pushbroom
      • +
      • quantum_keycard
      • +
      • queen_bee
      • +
      • radio
          +
        • borg - Borg Radios
        • +
        • headset
        • +
        • intercom
        • +
        • weather_monitor - Portable mining radio purchasable by miners
        • +
      • +
      • Raw Anomaly Cores - The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.
      • +
      • rcl
      • +
      • reagent_containers
          +
        • blood
        • +
        • borghypo - Borg Hypospray
            +
          • borgshaker - Borg Shaker for the serviceborgs
          • +
          • clown - Clownborg hypospray
          • +
          • medical - Default Medborg Hypospray
          • +
          • peace - Peacekeeper hypospray
          • +
          • syndicate - Syndicate medborg hypospray
          • +
        • +
        • chemtank
        • +
        • condiment - Condiments
        • +
        • cup
            +
          • bottle/syrup_bottle
          • +
          • bowl
              +
            • soup - This subtype is only for easy mapping / spawning in specific types of soup. +Do not use it anywhere else.
            • +
          • +
          • glass - Drinks.
              +
            • bottle
                +
              • champagne
              • +
              • juice - Cartons +Subtype of glass that don't break, and share a common carton hand state. +Meant to be a subtype for use in Molotovs
              • +
              • molotov - MOLOTOV
              • +
              • pruno
              • +
              • ritual_wine - A fun drink enjoyed by the tiger cooperative, might corrode your brain if you drink the whole bottle
              • +
            • +
            • coffee - Drinks
            • +
            • colocup
            • +
            • drinkingglass
            • +
            • shaker - drinkingglass and shaker
            • +
          • +
          • rag
          • +
          • soda_cans
          • +
          • soup_pot
          • +
          • tube - Test tubes created by chem master and pandemic and placed in racks
          • +
          • watering_can/advanced
          • +
        • +
        • hypospray
            +
          • medipen/gore - Psyker gear
          • +
        • +
        • pill
            +
          • happinesspsych - Psychologist inventory pills
          • +
          • maintenance - Black and white pills that spawn in maintenance and have random reagent contents
          • +
          • shadowtoxin - this pill is used only in a legion mob drop
          • +
          • zoom - drugs
          • +
        • +
        • spray
            +
          • waterflower/superlube - Subtype used for the lavaland clown ruin.
          • +
        • +
        • syringe
        • +
      • +
      • relic - SPECIAL ITEMS
      • +
      • research_notes
      • +
      • resonator - Resonator
      • +
      • Generic restraints - Parent class for handcuffs and handcuff accessories
          +
        • Handcuffs - Stuff that makes humans unable to use hands
            +
          • Alien handcuffs - Abductor reskin of the handcuffs.
          • +
          • Cable restraints - Ghetto handcuffs. Removing those is faster.
              +
            • blue - Blue cable restraints
            • +
            • cyan - Cyan cable restraints
            • +
            • green - Green cable restraints
            • +
            • orange - Orange (the color) cable restraints
            • +
            • pink - Pink cable restraints
            • +
            • red - Red cable restraints
            • +
            • Sinew restraints - Primal ghetto handcuffs
            • +
            • white - White cable restraints
            • +
            • yellow - Yellow cable restraints
            • +
            • Zipties - One-use handcuffs that take 45 seconds to resist out of instead of one minute. This turns into the used version when applied.
                +
              • Fake Zipties - One-use handcuffs that is very easy to break out of, meant as a one-use alternative to regular fake handcuffs.
              • +
              • Used zipties - What zipties turn into when applied. These can't be used to cuff people.
              • +
            • +
          • +
          • Fake handcuffs - Fake handcuffs that can be removed near-instantly.
          • +
        • +
        • Generic leg cuffs - Parent class for everything that can legcuff carbons. Can't legcuff anything itself.
            +
          • Bear trap - This opens, closes, and bites people's legs.
          • +
          • bola
              +
            • energy - A security variant of the bola.
            • +
            • gonbola - A pacifying variant of the bola.
            • +
            • tactical - A traitor variant of the bola.
            • +
          • +
        • +
      • +
      • resurrection_crystal
      • +
      • retractor
      • +
      • reverse_bear_trap
      • +
      • ritual_totem
      • +
      • robot_model - Definition of /obj/item/robot_model, which defines behavior for each model. +Deals with the creation and deletion of modules (tools). +Assigns modules and traits to a borg with a specific model selected.
      • +
      • robot_suit
      • +
      • rpd_upgrade
      • +
      • rsf
      • +
      • runic_vendor_scepter
      • +
      • rwd
          +
        • loaded - Lay cable only if
        • +
      • +
      • sales_tagger
      • +
      • scalpel
      • +
      • screwdriver
      • +
      • scrying - Scrying
      • +
      • secateurs
      • +
      • seeds
          +
        • bamboo - and bamboo!
        • +
        • poppy/geranium/fraxinella - Fraxinella seeds.
        • +
        • replicapod - The actual replica pods themselves!
        • +
        • star_cactus - Star Cactus seeds, mutation of lavaland cactus.
        • +
        • watermelon/barrel - Barrel melon Seeds
        • +
      • +
      • sequence_scanner
      • +
      • Whetstone - Items used for sharpening stuff
      • +
      • Shell Item - Printed out by protolathes. Screwdriver to complete the shell.
      • +
      • shield
      • +
      • shockpaddles
      • +
      • shovel/giant_wrench
      • +
      • shuttle_curse
      • +
      • sign
      • +
      • singularityhammer
      • +
      • skillchip
      • +
      • slime_extract - Slime Extracts
      • +
      • slimecross - SLIME CROSSBREEDS
      • +
      • slimepotion - Slime-derived potions +#Slime potions
      • +
      • soap
      • +
      • soulscythe
      • +
      • soulstone
      • +
      • space_crawl - Spacecrawl "hands", prevent the user from holding items in spacecrawl
      • +
      • sparkler
      • +
      • sparring_contract
      • +
      • spear
      • +
      • spellbook
      • +
      • spess_knife
      • +
      • stack
      • +
      • sticker - parent type for all other stickers. do not spawn directly
      • +
      • stock_block
      • +
      • stock_parts - even though stacks aren't stock parts, get_part_rating() is defined on the item level (see /obj/item/proc/get_part_rating()) and defaults to returning 0.
      • +
      • storage
          +
        • backpack
            +
          • duffelbag
              +
            • syndie/sabotage - Subtype for the sabotage bundle. Contains three C4, two X4 and 6 signalers
            • +
          • +
          • meat
          • +
        • +
        • bag
        • +
        • box - The common cardboard box.
        • +
        • briefcase/secure - Secure briefcase +Uses the lockable storage component to give it a lock.
            +
          • riches - A briefcase that contains various sought-after spoils
          • +
          • syndie - Syndie variant of Secure Briefcase. Contains space cash, slightly more robust.
          • +
        • +
        • dice - holding bag for dice
        • +
        • fancy
        • +
        • fish_case - Stasis fish case container for moving fish between aquariums safely. +Their w_class scales with that of the fish inside it. +Most subtypes of this also start with a fish already inside.
            +
          • blackmarket - Subtype bought from the blackmarket at a gratuitously cheap price. The catch? The fish inside it is dead.
          • +
        • +
        • lockbox
        • +
        • mail_counterfeit_device
            +
          • advanced - Unobtainable item mostly for (b)admin purposes.
          • +
          • bluespace - Unobtainable item mostly for (b)admin purposes.
          • +
        • +
        • medkit
        • +
        • organbox - A box which takes in coolant and uses it to preserve organs and body parts
            +
          • preloaded - A subtype of organ storage box which starts with a full coolant tank
          • +
        • +
        • part_replacer/bluespace
        • +
        • pill_bottle - if you add a new one don't forget to update /datum/crafting_recipe/medbot/on_craft_completion()
            +
          • happinesspsych - Psychologist inventory pillbottles
          • +
        • +
        • pod
        • +
        • portable_chem_mixer
        • +
        • toolbox/mechanical
        • +
        • wallet
            +
          • money - Used by the toilet fish source.
          • +
        • +
      • +
      • style_meter
      • +
      • surgery_tray - Surgery Trays +A storage object that displays tools in its contents based on tier, better tools are more visible. +Can be folded up and carried. Click it to draw a random tool.
          +
        • full/advanced - Surgery tray with advanced tools for debug
        • +
      • +
      • surgicaldrill
      • +
      • swab - Tool capable of taking biological samples from mobs
      • +
      • switchblade
      • +
      • syndicate_contacts - Syndicate item that upgrades the flash protection of your eyes.
      • +
      • syndicate_teleporter
      • +
      • syndicatedetonator - Syndicate Detonator (aka the big red button)
      • +
      • table_clock
      • +
      • Gas Tank - Handheld gas canisters +Can rupture explosively if overpressurized
      • +
      • tape
          +
        • captains_log - Captain's log +Credits to goonstation13 for orginal SS13 lore +https://wiki.ss13.co/Storyline +https://www.youtube.com/watch?v=7M-JPH5SOmI (old video) +https://www.youtube.com/watch?v=FHH1vfY6HTA (new video)
        • +
      • +
      • taperecorder
      • +
      • target
      • +
      • tattoo_kit
      • +
      • tcgcard
      • +
      • tcgcard_deck - A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! +The "top" card of the deck will always be the bottom card in the stack for our purposes.
      • +
      • teleportation_scroll
      • +
      • thermometer
      • +
      • throwing_star/stamina/Ninja Throwing Star - a throwing star which specifically makes sure you know it came from a real ninja.
      • +
      • tk_grab
      • +
      • toy
      • +
      • trade_chip - Supply pack unlocker chip
      • +
      • training_toolbox - Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't.
      • +
      • traitor_bug
      • +
      • traitor_machine_trapper - Item which you use on a machine to cause it to explode next time someone interacts with it
      • +
      • traitor_spraycan
      • +
      • transfer_valve
      • +
      • trapdoor_kit - trapdoor parts kit, allows trapdoors to be made by players
      • +
      • trapdoor_remote
          +
        • preloaded - subtype with internals already included. If you're giving a department a roundstart trapdoor, this is what you want
        • +
      • +
      • trash/bee
      • +
      • turbine_parts
      • +
      • turret_control
      • +
      • udder item - Abstract item that is held in nullspace and manages reagents. Created by udder component. +While perhaps reagents created by udder component COULD be managed in the mob, it would be somewhat finnicky and I actually like the abstract udders.
          +
        • gutlunch udder subtype
        • +
      • +
      • universal_scanner
      • +
      • uplink
      • +
      • usb_cable - A cable that can connect integrated circuits to anything with a USB port, such as computers and machines.
      • +
      • veilrender - Veil Render
      • +
      • virgin_mary
      • +
      • vorpalscythe
      • +
      • warp_whistle - Warp whistle, spawns a tornado that teleports you
      • +
      • watcher_hatchling - A cute pet who will occasionally attack lavaland mobs for you
      • +
      • weaponcrafting/gunkit - These gun kits are printed from the security protolathe to then be used in making new weapons
      • +
      • weldingtool
      • +
      • wheelchair
          +
        • gold - A reward item for obtaining 5K hardcore random points. Do not use for anything else
        • +
      • +
      • wirebrush - The wirebrush is a tool whose sole purpose is to remove rust from anything that is rusty. +Because of the inherent nature of hard countering rust heretics it does it very slowly.
      • +
      • wirecutters
      • +
      • Scanner - A handheld device that lets you flash it over people.
      • +
      • wormhole_jaunter - Jaunter
      • +
      • wrench/medical
      • +
    • +
    • lightning_thrower
    • +
    • machinery - Machines in the world, such as computers, pipes, and airlocks.
    • +
    • merge_conflict_marker
    • +
    • modular_map_root
        +
      • djstation - djstation module roots
      • +
      • generic - Generic maps with several available biomes.
      • +
      • safehouse - Bitrunning safehouses. Typically 7x6 rooms with a single entrance.
      • +
    • +
    • mystery_box_item - This represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable.
    • +
    • narsie - Nar'Sie, the God of the blood cultists
    • +
    • projectile
        +
      • baby_watcher_blast - Beam fired by a baby watcher, doesn't actually do less damage than its parent
      • +
      • basilisk_hot - Projectile basilisks use when hot
      • +
      • beam
          +
        • ctf
        • +
        • laser/laser_eyes - Projectile type used by laser eyes
        • +
        • legion - Used for the legion turret.
        • +
      • +
      • blastwave - The projectile used by the blastcannon
      • +
      • bullet
          +
        • arrow - base arrow projectile
            +
          • holy - holy arrow projectile
          • +
        • +
        • cannonball
        • +
        • champagne_cork - Type of cork to fire away +Our resulting cork projectile
        • +
        • coin - Marksman Coin
        • +
        • incendiary
            +
          • fire - Incendiary bullet that more closely resembles a real flamethrower sorta deal, no visible bullet, just flames.
          • +
        • +
        • marksman - Marksman Shot
        • +
        • p50
        • +
        • pellet/shotgun_rubbershot
        • +
        • rocket - PM9 standard HE rocket
            +
          • heap - PM9 HEAP rocket - the anti-anything missile you always craved.
          • +
          • pep - PEP-6 Missile - Used by the PEP-6 Exosuit missile rack. +Employed by Roboticists out of spite to put down enemy hereteks, mechanized nuclear operatives, the janitor's hot rod, +the clown's 'taxi service', uppity borgs, vengeful ais, doors they don't like, the escape shuttle's hull, and more!
          • +
          • srm - SRM-8 Missile - Used by the SRM-8 Exosuit missile rack. +Employed by Nuclear Operatives Maulers and Nanotrasen Marauders and Seraphs to kill everything and anyone.
          • +
          • weak - PM9 weak rocket - just kind of a failure
          • +
        • +
      • +
      • colossus/wendigo_shockwave
      • +
      • curse_hand
      • +
      • energy
      • +
      • energy_net
      • +
      • globule - This projectile embeds into mobs and heals them over time.
      • +
      • guardian - The glass shards we throw as a guardian. They have low damage because you can fire them very very quickly.
      • +
      • hallucination - Hallucinated projectiles.
      • +
      • hook
      • +
      • kiss
      • +
      • magic
      • +
      • organ
      • +
      • temp/watcher - Chilling projectile, hurts and slows you down
          +
        • ice_wing - Freezing projectile, freezes you
        • +
        • magma_wing - Lava projectile, ignites you
        • +
      • +
      • tentacle
      • +
      • tether
      • +
    • +
    • singularity - The gravitational singularity
        +
      • dark_matter - This type of singularity cannot grow as big, but it constantly hunts down living targets.
      • +
      • shuttle_event - Special singularity that spawns for shuttle events only
      • +
    • +
    • structure - Inert structures, such as girders, machine frames, and crates/lockers.
        +
      • ai_core
      • +
      • alien
          +
        • egg
        • +
        • resin
            +
          • flower_bud - Kudzu Flower Bud
          • +
          • membrane/creature - Used in the big derelict ruin exclusively.
          • +
          • wall/immovable - meant for one lavaland ruin or anywhere that has simplemobs who can push aside structures
          • +
        • +
        • weeds
        • +
      • +
      • altar_of_gods
      • +
      • aquarium
      • +
      • barricade
          +
        • security/ctf - A type of barricade that can be destroyed by CTF weapons and respawns at the end of CTF matches.
        • +
        • wooden - BARRICADE TYPES
        • +
      • +
      • bed - Beds
      • +
      • bedsheetbin
      • +
      • blob
      • +
      • bodycontainer
      • +
      • bonfire
      • +
      • bookcase
      • +
      • Bot - Immobile (but not dense) shells that can interact with world.
      • +
      • broken_flooring
      • +
      • cable
          +
        • multilayer - multilayer cable to connect different layers
        • +
      • +
      • cannon
      • +
      • Carp Rift - The portals Space Dragon summons to bring carp onto the station.
      • +
      • carving_block
      • +
      • cat_house
      • +
      • chair
          +
        • greyscale - Material chair
        • +
        • pew
        • +
      • +
      • checkoutmachine
      • +
      • chem_separator
      • +
      • chrono_field
      • +
      • closet
          +
        • body_bag
            +
          • environmental - Environmental bags. They protect against bad weather.
          • +
        • +
        • cardboard
        • +
        • crate
            +
          • bin
          • +
          • freezer
          • +
          • grave - has no items inside unless you use the filled subtype
          • +
          • mail - Crate for mail from CentCom.
              +
            • economy
            • +
            • full - Crate for mail that automatically generates a lot of mail. Usually only normal mail, but on lowpop it may end up just being junk.
            • +
            • preopen - Opened mail crate
            • +
          • +
          • miningcar - Mining car (Crate like thing, not the rail car)
          • +
          • necropolis/tendril
          • +
          • secure
              +
            • bitrunning
                +
              • decrypted - The bitrunner den - side of the bitrunning crate. Appears in the receive location.
              • +
              • encrypted - The virtual domain - side of the bitrunning crate. Deliver to the send location.
                  +
                • gondola - Very pushy gondolas, great for moving loot crates.
                • +
              • +
            • +
            • owned
            • +
            • syndicrate
            • +
          • +
        • +
        • decay
        • +
        • secure_closet/freezer
        • +
        • stasis
        • +
        • supplypod
        • +
        • wardrobe/miner - Miner Lockers
        • +
      • +
      • constructshell - Transferring to constructs
      • +
      • cursed_money - Prize given out by the cursed slot machine that will give the user one Die of Fate and then delete itself.
      • +
      • cursed_slot_machine - Greed's slot machine: Used in the Greed ruin. Deals damage on each use, with a successful use giving a d20 of fate.
      • +
      • curtain
      • +
      • desk_bell
      • +
      • destructible
      • +
      • Dispenser - Immobile (but not dense) shell that can receive and dispense items.
      • +
      • displaycase
      • +
      • displaycase_chassis
      • +
      • disposalholder
      • +
      • disposaloutlet
      • +
      • disposalpipe
          +
        • rotator
        • +
        • sorting
        • +
        • trunk/multiz/down - Set the multiz direction of your trunk. 1 = up, 2 = down
        • +
      • +
      • door_assembly
      • +
      • elite_tumor
      • +
      • emergency_shield
      • +
      • Energy Net - Energy net which ensnares prey until it is destroyed. Used by space ninjas.
      • +
      • ethereal_crystal
      • +
      • fake_stairs - Stairs but they are FAKE and dont have any of the Z-changing behavior. DO NOT MAP THESE NEXT TO REAL STAIRS
      • +
      • falsewall
      • +
      • fermenting_barrel
          +
        • gunpowder - Lil gunpowder barrel fer pirates since it's a nice reagent holder
        • +
      • +
      • filingcabinet
      • +
      • fireaxecabinet
      • +
      • fireplace
      • +
      • flora
          +
        • ash/chilly - Snow flora to exist on icebox.
        • +
        • bush - Bushes
        • +
        • coconuts - Palm Trees
        • +
        • grass - Grass
        • +
        • rock - Rocks
        • +
        • tree - Trees
            +
          • pine - Pine Trees
          • +
        • +
      • +
      • Fluff structure - Fluff structures serve no purpose and exist only for enriching the environment. By default, they can be deconstructed with a wrench.
          +
        • airlock_filler
        • +
        • drake_statue - Ash drake status spawn on either side of the necropolis gate in lavaland.
            +
          • falling - A variety of statue in disrepair; parts are broken off and a gemstone is missing
          • +
        • +
        • empty_cryostasis_sleeper - Empty cryostasis sleepers are created when a malfunctioning cryostasis sleeper in a lavaland shelter is activated.
        • +
        • empty_sleeper - Empty sleepers are created by a good few ghost roles in lavaland.
        • +
        • empty_terrarium - Empty terrariums are created when a preserved terrarium in a lavaland seed vault is activated.
        • +
        • iced_abductor
        • +
      • +
      • foamedmetal - FOAM STRUCTURE. Formed by metal foams. Dense and opaque, but easy to break
          +
        • iron - A variant of metal foam walls with higher durability.
        • +
        • resin - Atmos Backpack Resin, transparent, prevents atmos and filters the air
        • +
      • +
      • frame
      • +
      • gel_cocoon
      • +
      • geyser - A lavaland geyser that spawns chems and can be mining scanned for points. Made to work with the plumbing pump to extract that sweet rare nectar
      • +
      • ghost_portal
      • +
      • girder
          +
        • cult - cult girder
        • +
      • +
      • glowshroom
          +
        • single - Mapping object, a glowshroom that doesn't spread or die
        • +
      • +
      • grille
      • +
      • guardian_beacon - Structure which acts as the landing point for a support guardian's teleportation effects
      • +
      • guillotine
      • +
      • guncase
      • +
      • hedge - the structure placed by the shrubs
          +
        • opaque - useful for mazes and such
        • +
      • +
      • hololadder
      • +
      • holopay
      • +
      • hoop
      • +
      • ladder
      • +
      • legionturret - A basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.
      • +
      • light_construct
      • +
      • light_puzzle
      • +
      • lock_tear
      • +
      • loom - This is a loom. It's usually made out of wood and used to weave fabric like durathread or cotton into their respective cloth types.
      • +
      • mannequin - A mannequin! A structure that can display clothing on itself.
      • +
      • meateor_fluff - Abstract holder object for shared behaviour
          +
        • abandoned_headcrab_egg - Decorative fluff egg object
        • +
        • eyeball - Basically just an organic floor light
        • +
        • flesh_pod - A sort of loot box for organs, cut it open and find a prize
        • +
      • +
      • mecha_wreckage - Mecha wreckage
      • +
      • mineral_door
      • +
      • mining_bomb
      • +
      • mirror
          +
        • directional/north - I'm doing it this way too, because the signal is sent before the broken variable is set to TRUE.
        • +
      • +
      • moisture_trap
      • +
      • Money Bot - Immobile (but not dense) shell that can receive and dispense money.
      • +
      • mop_bucket
      • +
      • mystery_box
      • +
      • no_effect_signpost/void
      • +
      • noticeboard
      • +
      • ore_box - Ore box
      • +
      • ore_container - structure to contain ores
      • +
      • pinata - A pinata that has a chance to drop candy items when struck with a melee weapon that deals at least 10 damage
      • +
      • pipe_cleaner
      • +
      • plaque
          +
        • static_plaque/tram
        • +
      • +
      • plasticflaps
      • +
      • punching_bag
      • +
      • punji_sticks
      • +
      • puzzle_blockade - blockades destroy themselves if they receive COMSIG_GLOB_PUZZLE_COMPLETED with their ID
      • +
      • railing
      • +
      • reagent_dispensers
          +
        • wall - Wall mounted dispeners, like pepper spray or virus food. Not a normal tank, and shouldn't be able to be turned into a plumbed stationary one.
        • +
      • +
      • safe
      • +
      • secure_safe - Wall safes +Holds items and uses the lockable storage component +to allow people to lock items up.
          +
        • caps_spare - This safe is meant to be damn robust. To break in, you're supposed to get creative, or use acid or an explosion.
        • +
      • +
      • Server - Immobile (but not dense) shells that can interact with +world.
      • +
      • sign
          +
        • departments
            +
          • botany - SERVICE
          • +
          • cargo - SUPPLY
          • +
          • engineering - ENGINEERING
          • +
          • med - MEDBAY
          • +
          • restroom - MISC LOCATIONS
          • +
          • science - SCIENCE
          • +
          • security - SECURITY
          • +
        • +
        • painting
        • +
        • picture_frame
            +
          • portrait - This used to be a plaque portrait of a monkey. Now it's been revamped into something more.
          • +
        • +
        • poster - The structure form of a poster.
            +
          • traitor
              +
            • festive - syndicate can get festive too
            • +
          • +
        • +
        • warning - DANGEROUS THINGS
            +
          • pods - MISC LOCATIONS
          • +
        • +
      • +
      • sink
      • +
      • spacevine
      • +
      • spawner
      • +
      • spider
      • +
      • spirit_board
      • +
      • stairs
      • +
      • stairs_frame
      • +
      • statue
          +
        • bananium - bananium
        • +
        • bronze - bronze
        • +
        • custom
        • +
        • diamond - diamond
        • +
        • elder_atmosian - Elder Atmosian
        • +
        • gold - gold
        • +
        • goliath - Goliath
        • +
        • plasma - plasma
        • +
        • sandstone - sandstone
        • +
        • silver - silver
        • +
        • snow - snow
        • +
        • uranium - //////////////STATUES////////////////////////// +uranium
        • +
      • +
      • steam_vent - Spawns in maint shafts, and blocks lines of sight perodically when active.
      • +
      • syndicate_uplink_beacon - Device that traitors can craft in order to be sent a new, undisguised uplink
      • +
      • table
      • +
      • tank_holder - ?
      • +
      • trader_sign - Sale signs
      • +
      • trading_card_summon
      • +
      • training_machine - Machine that runs around wildly so people can practice clickin on things
      • +
      • tram
      • +
      • transport/linear - Base transport structure. A single tile that can form a modular set with neighbouring tiles +This type holds elevators and trams
      • +
      • trap
          +
        • ctf - A trap that when stepped on kills anyone who is not part of the associated CTF team.
        • +
        • eldritch
        • +
      • +
      • tray
      • +
      • urinal
      • +
      • weightmachine
          +
        • weightlifter - Weight lifter subtype
        • +
      • +
      • window
      • +
    • +
    • tear_in_reality - Tear in reality, spawned by the veil render
    • +
    • vehicle
    • +
  • +
  • particles
      +
    • musical_notes - musical notes! Try to use these sparingly, gents.
    • +
    • slime - Slime particles.
        +
      • rainbow - Rainbow slime particles.
      • +
    • +
  • +
  • procpath - Represents a proc or verb path.
  • +
  • regex/Subtype of regex that holds context to /obj/item/circuit_component/format
  • +
  • sound - Default override for echo
  • +
  • turf - Any floor or wall. What makes up the station and the rest of the map.
      +
    • closed
        +
      • indestructible/splashscreen
      • +
      • mineral - Mineral deposits
          +
        • random
            +
          • snow/do_not_chasm - Near exact same subtype as parent, just used in ruins to prevent other ruins/chasms from spawning on top of it.
          • +
          • volcanic/do_not_chasm - A turf that can't we can't build openspace chasms on or spawn ruins in.
          • +
        • +
        • snowmountain/icemoon/unscrapeable - This snowy mountain will never be scraped away for any reason what so ever.
        • +
      • +
      • wall
          +
        • mineral
            +
          • plastitanium - Plastitanium walls
          • +
          • titanium - Titanium walls
          • +
          • uranium
          • +
        • +
        • r_wall
        • +
      • +
    • +
    • cordon - Turf type that appears to be a world border, completely impassable and non-interactable to all physical (alive) entities.
        +
      • secret - This type of cordon will block ghosts from passing through it. Useful for stuff like Away Missions, where you feasibly want to block ghosts from entering to keep a certain map section a secret.
      • +
    • +
    • open
        +
      • chasm
      • +
      • cliff - A cliff tile from where people can fall. Should generally fall downwards, but you can change it if you want
          +
        • snowrock - Snowy cliff!
        • +
      • +
      • floor - Anything above a lattice should go here.
          +
        • carpet/neon
        • +
        • catwalk_floor
        • +
        • circuit
        • +
        • emissive_test - An emissive turf used to test emissive turfs.
        • +
        • glass
        • +
        • light
            +
          • colour_cycle - he's dead, jim
          • +
        • +
        • plating - PLATINGS
            +
          • rcd - not an actual turf its used just for rcd ui purposes
          • +
        • +
        • tram/plate/energized
        • +
      • +
      • genturf - This turf doesn't actually do anything beyond provide contrast for mappers and be very visible when stuff breaks in game. The actual areas are what drive cave generation.
      • +
      • lava
      • +
      • misc - Used as a parent type for types that want to allow construction, but do not want to be floors +I wish I could use components for turfs at scale +Please do not bloat this. Love you <3
          +
        • asteroid - Asteroid
            +
          • basalt/lava_land_surface - Surface. The surface is warm, but survivable without a suit. Internals are required. The floors break to chasms, which drop you into the underground.
              +
            • no_ruins - Used for the lavaland icemoon ruin.
            • +
          • +
          • snow/icemoon/do_not_chasm - Exact subtype as parent, just used in ruins to prevent other ruins/chasms from spawning on top of it.
          • +
        • +
      • +
      • openspace
      • +
      • space
      • +
      • water
          +
        • cursed_spring - Turns whoever enters into a mob or random person
        • +
      • +
    • +
    • template_noop - See above explanation
    • +
  • +
  • World - Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke
  • +
+ + +
+ + + diff --git a/interface/fonts/fonts_datum.html b/interface/fonts/fonts_datum.html new file mode 100644 index 00000000000..886f6ab5833 --- /dev/null +++ b/interface/fonts/fonts_datum.html @@ -0,0 +1,27 @@ + + + + + + + interface/fonts/fonts_datum.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

interface/fonts/fonts_datum.dm + +

+ + +
/datum/fontA font datum, it exists to define a custom font to use in a span style later.
+ + + diff --git a/interface/fonts/grand_9k.html b/interface/fonts/grand_9k.html new file mode 100644 index 00000000000..ed5bf4a8545 --- /dev/null +++ b/interface/fonts/grand_9k.html @@ -0,0 +1,32 @@ + + + + + + + interface/fonts/grand_9k.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

interface/fonts/grand_9k.dm + +

+ + + +
/datum/font/grand9kFor clean results on map, use only sizing pt, multiples of 6: 6pt 12pt 18pt 24pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 6pt = 8px, 12pt = 16px etc. +Base font
/datum/font/grand9k/size_6ptFor icon overlays +Grand9K 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
+ + + diff --git a/interface/fonts/license.html b/interface/fonts/license.html new file mode 100644 index 00000000000..8e02bf5b789 --- /dev/null +++ b/interface/fonts/license.html @@ -0,0 +1,40 @@ + + + + + + + interface/fonts/license.txt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

interface/fonts/license.txt + +

+ + +
Grand9K Pixel created by Jayvee Enaguas. Licensed under Creative Commons Attribution 4.0 International (CC BY 4.0)
+(https://creativecommons.org/licenses/by/4.0/) (https://www.dafont.com/grand9k-pixel.font)
+
+Pixellari created by Zacchary Dempsey-Plante. Website indicates free for commercial use.
+(https://www.dafont.com/pixellari.font?fpp=200)
+
+Spess Font created by MTandi (discord) for /tg/station.
+
+Tiny Unicode created by Jakob Riedle/DuffsDevice. Website indicates free for commercial use.
+(https://fontmeme.com/fonts/tiny-unicode-font/)
+
+VCR OSD Mono created by Riciery Leal/mrmanet. Website indicates 100% free, author confirms it's free for all to use.
+(https://www.dafont.com/font-comment.php?file=vcr_osd_mono)
+
+ + + diff --git a/interface/fonts/pixellari.html b/interface/fonts/pixellari.html new file mode 100644 index 00000000000..2cebb8b04fd --- /dev/null +++ b/interface/fonts/pixellari.html @@ -0,0 +1,32 @@ + + + + + + + interface/fonts/pixellari.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

interface/fonts/pixellari.dm + +

+ + + +
/datum/font/pixellariFor clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
/datum/font/pixellari/size_12ptFor icon overlays +Pixellari 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
+ + + diff --git a/interface/fonts/spess_font.html b/interface/fonts/spess_font.html new file mode 100644 index 00000000000..8a1d60c5069 --- /dev/null +++ b/interface/fonts/spess_font.html @@ -0,0 +1,32 @@ + + + + + + + interface/fonts/spess_font.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

interface/fonts/spess_font.dm + +

+ + + +
/datum/font/spessfontFor clean results on map, use only sizing pt, multiples of 6: 6t 12pt 18pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
/datum/font/spessfont/size_6ptFor icon overlays +Spess Font 6pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
+ + + diff --git a/interface/fonts/tiny_unicode.html b/interface/fonts/tiny_unicode.html new file mode 100644 index 00000000000..6d3f603c385 --- /dev/null +++ b/interface/fonts/tiny_unicode.html @@ -0,0 +1,32 @@ + + + + + + + interface/fonts/tiny_unicode.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

interface/fonts/tiny_unicode.dm + +

+ + + +
/datum/font/tiny_unicodeFor clean results on map, use only sizing pt, multiples of 12: 12pt 24pt 48pt etc. - Not for use with px sizing +Can be used in TGUI etc, px sizing is pt / 0.75. 12pt = 16px, 24pt = 32px etc. +Base font
/datum/font/tiny_unicode/size_12ptFor icon overlays +TinyUnicode 12pt metrics generated using Lummox's dmifontsplus (https://www.byond.com/developer/LummoxJR/DmiFontsPlus) +Note: these variable names have been changed, so you can't straight copy/paste from dmifontsplus.exe
+ + + diff --git a/matrix.html b/matrix.html new file mode 100644 index 00000000000..3c27b8c02dd --- /dev/null +++ b/matrix.html @@ -0,0 +1,63 @@ + + + + + + + /matrix - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

matrix + + + +

+ + + + + +

Procs

ShearShear the transform on either or both axes.
decomposeDecomposes a matrix into scale, shift and rotation.
get_x_shiftThe X pixel offset of this matrix
get_y_shiftThe Y pixel offset of this matrix

Proc Details

Shear +

+

Shear the transform on either or both axes.

+
    +
  • x - X axis shearing
  • +
  • y - Y axis shearing
  • +

decompose +

+

Decomposes a matrix into scale, shift and rotation.

+

If other operations were applied on the matrix, such as shearing, the result +will not be precise.

+

Negative scales are now supported. =)

get_x_shift +

+

The X pixel offset of this matrix

get_y_shift +

+

The Y pixel offset of this matrix

+ + + diff --git a/mob.html b/mob.html new file mode 100644 index 00000000000..ce7d7298bc2 --- /dev/null +++ b/mob.html @@ -0,0 +1,2236 @@ + + + + + + + /mob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob + + + +

+ +

The mob, usually meant to be a creature of some type

+

Has a client attached that is a living person (most of the time), although I have to admit +sometimes it's hard to tell they're sentient

+

Has a lot of the creature game world logic, such as health etc

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

LAssailantA weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition)
actionsList of action hud items the user has
actionspeed_mod_immunitiesList of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)
actionspeed_modificationList of action speed modifiers applying to this mob
active_hand_indexWhat hand is the active hand
active_storageStorage component (for mob inventory)
active_thinking_indicatorthe icon currently used for the thinking indicator's bubble
active_typing_indicatorthe icon currently used for the typing indicator's bubble
alertsContains /atom/movable/screen/alert only.
bodytemperatureDefault body temperature
buckledmovable atom we are buckled to
cached_multiplicative_actions_slowdownThe calculated mob action speed slowdown based on the modifiers list
cached_multiplicative_slowdownThe calculated mob speed slowdown based on the modifiers list
canon_clientThe current client inhabiting this mob. Managed by login/logout +This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed +We need to do this because the mob on logout never actually has a reference to client +We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout +HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
click_interceptAllows a datum to intercept all click calls this mob is the source of
do_aftersFor storing what do_after's someone has, key = string, value = amount of interactions of that type happening.
emotes_usedUsed for tracking last uses of emotes for cooldown purposes
examine_cursor_iconCursor icon used when holding shift over things
has_unlimited_silicon_privilegeCan they interact with station electronics
held_itemslist of items held in hands
hud_usedActive hud
jobWhat job does this mob have
lastKnownIPThe last known IP of the client who was in this mob
lighting_color_cutoffsA list of red, green and blue cutoffs +This is what actually gets applied to the mob, it's modified by things like glasses
lighting_cutoffPercentage of how much rgb to max the lighting plane at +This lets us brighten it without washing out color +Scale from 0-100, reset off update_sight()
listed_turfthe current turf being examined in the stat panel
machineThe machine the mob is interacting with (this is very bad old code btw)
mock_clientA mock client, provided by tests and friends
move_on_shuttleCan this mob enter shuttles
movespeed_mod_immunitiesList of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)
movespeed_modificationList of movement speed modifiers applying to this mob
next_moveTick time the mob can next move
nutritionHunger level of the mob
observersThe list of people observing this mob.
old_bodytemperatureOur body temperatue as of the last process, prevents pointless work when handling alerts
overeatdurationHow many ticks this mob has been over reating
progressbarsList of progress bars this mob is currently seeing for actions
real_nameWhat is the mobs real name (name is overridden for disguises etc)
registered_zTHe z level this mob is currently registered in
remote_controlCalls relay_move() to whatever this is set to when the mob tries to move
satietySatiation level of the mob
sound_environment_overrideOverride for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)
statWhether a mob is alive or dead. TODO: Move this to living - Nodrak (2019, still here)
status_flagsbitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc)
tgui_open_uisglobal
throw_modeIs the mob throw intent on
updating_glide_sizeWhether the mob is updating glide size when movespeed updates or not
zone_selectedThe zone this mob is currently targeting

Procs

AltClickOnAlt click +Unused except for AI
CellSome kind of debug verb that gives atmosphere environment details
ClickOnStandard mob ClickOn() +Handles exceptions: Buildmode, middle click, modified clicks, mech actions
CtrlClickOnCtrl click +For most objects, pull
CtrlShiftClickOnControl+Shift click +Unused except for AI
DblClickOnDefault behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click)
GenerateTagGenerate the tag for this mob
InitializeIntialize a mob
MiddleClickOnMiddle click +Mainly used for swapping hands
MouseDropControls if a mouse drop succeeds (return null if it doesnt)
MouseWheelOnMouseWheelOn
Process_SpacemoveHandles mob/living movement in space (or no gravity)
RangedAttackRanged unarmed attack:
ShiftClickOnShift click +For most mobs, examine. +This is overridden in ai.dm
TopicTopic call back for any mob
UnarmedAttackUnarmedAttack: The higest level of mob click chain discounting click itself.
_pointedpossibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. +either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro
abandon_mobAllows you to respawn, abandoning your current mob
add_actionspeed_modifierAdd a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_client_colourAdds an instance of colour_type to the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)
add_movespeed_modifierAdd a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_to_alive_mob_listAdds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.
add_to_current_dead_playersAdds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.
add_to_current_living_antagsAdds the cliented mob reference to the list of living antag player-mobs.
add_to_current_living_playersAdds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.
add_to_dead_mob_listAdds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
add_to_mob_listAdds the mob reference to the list and directory of all mobs. Called on Initialize().
add_to_mob_suicide_listAdds a mob reference to the list of all suicided mobs
add_to_player_listAdds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().
adjust_bodytemperatureAdjust the body temperature of a mob, with min/max settings
adjust_disgustAdjust the disgust level of a mob
adjust_nutritionAdjust the nutrition of a mob
animate_client_colourWorks similarly to 'update_client_colour', but animated.
apply_pref_nameGeneralised helper proc for letting mobs rename themselves. Used to be clname() and ainame()
attack_uiThis proc is called whenever someone clicks an inventory ui slot.
audible_messageShow a message to all mobs in earshot of this one
auto_deadmin_on_loginChecks if the attached client is an admin and may deadmin them
become_unclientedCleanup proc that's called when a mob loses a client, either through client destroy or logout +Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent
buckle_mobBuckle a living mob to this mob. Also turns you to face the other mob
canUseStorageCan this mob use storage
can_block_magicChecks to see if the mob can block magic
can_cast_magicChecks to see if the mob can cast normal magic spells.
can_hearCan the mob hear
can_hold_itemsCan this mob hold items
can_interact_withCan the mob interact() with an atom?
can_mutateReturns TRUE if the mob is allowed to mutate via its DNA, or FALSE if otherwise. +Only an organic Carbon with valid DNA may mutate; not robots, AIs, aliens, Ians, or other mobs.
can_perform_actionChecks whether a mob can perform an action to interact with an object
can_readCan this mob read
can_resistCan this mob resist (default FALSE)
can_see_reagentsCan the mob see reagents inside of containers?
can_writeProc that returns TRUE if the mob can write using the writing_instrument, FALSE otherwise.
cancel_cameraSometimes helps if the user is stuck in another perspective or camera
change_mob_type_uncheckedVersion of [change_mob_type] that does no usr prompting (may send an error message though). Satisfies procs with the SHOULD_NOT_SLEEP restriction
check_emoteCheck if this message is an emote
check_respawn_delayChecks if the mob can respawn yet according to the respawn delay
clear_from_recent_examinesthe item in our active hand +our active hand, to check if it's disabled/detatched +how long it takes for the blind person to find the thing they're examining +our current intent, so we can go back to it after touching
clear_important_client_contentsWe got our awareness updated by the important recursive contents stuff, now we add our membership +Clears the clients channel of this mob
click_random_mobClicks a random nearby mob with the source from this mob
common_trait_examineExamine text for traits shared by multiple types.
copy_recent_speechReturns an associative list of the logs of a certain amount of lines spoken recently by this mob +copy_amount - number of lines to return +line_chance - chance to return a line, if you don't want just the most recent x lines
create_chat_messageCreates a message overlay at a defined location for a given speaker
create_thinking_indicatorCreates a thinking indicator over the mob.
create_typing_indicatorCreates a typing indicator over the mob.
default_lighting_cutoffReturns this mob's default lighting alpha
do_after_countReturns the total amount of do_afters this mob is taking part in
downMoves a mob down a z level
dropItemToGroundUsed to drop an item (if it exists) to the ground.
drop_everythingSafely drop everything, without deconstructing the mob
enable_client_mobs_in_contentspropogates ourselves through our nested contents, similar to other important_recursive_contents procs +main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye
equip_to_appropriate_slotAuto equip the passed in item the appropriate slot based on equipment priority
equip_to_slotActually equips an item to a slot (UNSAFE)
equip_to_slot_if_possibleTry to equip an item to a slot on the mob
equip_to_slot_or_delEquip an item to the slot or delete
equipped_speed_modsGets the combined speed modification of all worn items +Except base mob type doesnt really wear items
examinateSignal sent after the eye has been successfully updated, with the client existing. +Examine a mob
execute_modeproc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called
execute_quick_equipproc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded
face_atomSimple helper to face what you clicked on, in case it should be needed in more than one place
first_nameFind the first name of a mob from the real name with regex
fully_replace_character_nameFully update the name of a mob
get_actions_for_statpanelConvert a list of spells into a displyable list for the statpanel
get_actionspeed_modifiersGet the action speed modifiers list of the mob
get_active_handGet the bodypart for whatever hand we have active, Only relevant for carbons
get_active_held_itemReturns the thing we're currently holding
get_config_multiplicative_speedGet the global config movespeed of a mob by type
get_ghostGet the ghost of this mob (from the mind)
get_item_by_slotGet the item on the mob in the storage slot identified by the id passed in
get_item_offsets_for_indexwe adjust the human body for high given by body parts, execpt shoes, because they are always on the bottom
get_message_modsExtracts and cleans message of any extenstions at the begining of the message +Inserts the info into the passed list, returns the cleaned message
get_mob_buckling_heightreturns the height in pixel the mob should have when buckled to another mob.
get_movespeed_modifiersGet the move speed modifiers list of the mob
get_num_held_itemsFind number of held items, multihand compatible
get_organ_by_typeGet the organ object from the mob matching the passed in typepath
get_organ_slotReturns a list of all organs in specified slot
get_organs_for_zoneGet organ objects by zone
get_photo_descriptionReturn the desc of this mob for a photo
get_policy_keywordsGet the list of keywords for policy config
get_random_valid_zoneMore or less ran_zone, but only returns bodyzones that the mob /actually/ has.
get_realname_stringReturns a mob's real name between brackets. Useful when you want to display a mob's name alongside their real name
get_slot_by_itemGets what slot the item on the mob is held in. +Returns null if the item isn't in any slots on our mob. +Does not check if the passed item is null, which may result in unexpected outcoms.
get_spacemove_backupFinds a target near a mob that is viable for pushing off when moving. +Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting
get_status_tab_itemsAdds this list to the output to the stat browser
grab_ghostForce get the ghost from the mind
grant_actions_by_listTakes in an associated list (key /datum/action typepaths, value is the AI blackboard key) and handles granting the action and adding it to the mob's AI controller blackboard. +This is only useful in instances where you don't want to store the reference to the action on a variable on the mob. +You can set the value to null if you don't want to add it to the blackboard (like in player controlled instances). Is also safe with null AI controllers. +Assumes that the action will be initialized and held in the mob itself, which is typically standard.
handle_eye_contacthandle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last 2 seconds within 5 tiles, we make eye contact!
has_actionspeed_modifierIs there a actionspeed modifier for this mob
has_light_nearbyChecks if there is enough light where the mob is located
has_movespeed_modifierIs there a movespeed modifier for this mob
has_nightvisionCan this mob see in the dark
has_status_effectChecks if this mob has a status effect that shares the passed effect's ID
has_status_effect_from_sourceChecks if this mob has a status effect that shares the passed effect's ID +and has the passed sources are in its list of sources (ONLY works for grouped efects!)
has_status_effect_listReturns a list of all status effects that share the passed effect type's ID
hide_other_mob_action_buttonsHide another mob's action buttons from this mob
hivecheckCheck if the mob has a hivemind channel
incapacitatedIs the mob incapacitated
initialize_actionspeedAdds a default action speed
is_holding_itemsReturns true if a mob is holding something
is_literateThis mob is abile to read books
is_muzzledIs the mob muzzled (default false)
is_nearsighted_currentlyIs the mob nearsighted CURRENTLY? +This check fails if the mob is nearsighted but is wearing glasses, +While is_nearsighted will always succeed even if they are wearing glasses.
last_nameFind the last name of a mob from the real name with regex
limb_attack_selfCalled by using Activate Held Object with an empty hand/limb
log_manual_zone_selected_updateGenerates a log message when a user manually changes their targeted zone. +Only need to one of new_target or old_target, and the other will be auto populated with the current selected zone.
log_messageLogs a message in a mob's individual log, and in the global logs as well if log_globally is true
log_mob_tagLogs a mesage to the mob_tags log, including the mobs tag +Arguments:
lost_gameThis proc sends the COMSIG_MOB_LOST_VIDEOGAME signal
lowest_buckled_mobFind the mob at the bottom of a buckle chain
make_paiCreates a new pAI.
me_verbThe me emote verb
memoryShows a tgui window with memories
mob_negates_gravityDoes this mob ignore gravity
modeVerb to activate the object in your held hand
notify_revivalNotify a ghost that its body is being revived
onShuttleMoveMob move procs
on_block_magic_effectsCalled whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic.
on_observing_action_grantedSignal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, +we need to update with any newly added buttons granted to the mob.
on_observing_action_removedSignal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, +we need to update with any removed buttons from the mob.
open_language_menu_verbShow the language menu for this mob
perform_hand_swapPerforms the actual ritual of swapping hands, such as setting the held index variables
played_gameThis proc sends the COMSIG_MOB_PLAYED_VIDEOGAME signal
post_buckle_mobCall back post buckle to a mob to offset your visual height
post_unbuckle_mobCall back post unbuckle from a mob, (reset your visual height here)
query_heartAsk someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up
ranged_secondary_attackRanged secondary attack
reagent_checkProc used for custom metabolization of reagents, if any
refresh_looping_ambienceTries to play looping ambience to the mobs.
regenerate_iconsRedraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.
remove_actionspeed_modifierRemove a action speed modifier from a mob, whether static or variable.
remove_all_indicatorsRemoves any indicators and marks the mob as not speaking IC.
remove_client_colourRemoves an instance of colour_type from the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)
remove_from_alive_mob_listRemoves the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.
remove_from_current_dead_playersRemoves the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.
remove_from_current_living_antagsRemoves the mob reference from the list of living antag player-mobs.
remove_from_current_living_playersRemoves the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.
remove_from_dead_mob_listRemvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
remove_from_mob_listRemoves the mob reference from the list and directory of all mobs. Called on Destroy().
remove_from_mob_suicide_listRemoves a mob references from the list of all suicided mobs
remove_from_player_listRemoves the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().
remove_movespeed_modifierRemove a move speed modifier from a mob, whether static or variable.
remove_thinking_indicatorRemoves the thinking indicator over the mob.
remove_typing_indicatorRemoves the typing indicator over the mob.
replace_identification_nameupdate the ID name of this mob
replace_records_nameUpdates GLOB.manifest records with new name , see mob/living/carbon/human
reset_perspectiveReset the attached clients perspective (viewpoint)
say_deadSpeak as a dead person (ghost etc)
say_verbwhat clients use to speak. when you type a message into the chat bar in say mode, this is the first thing that goes off serverside.
set_disgustSet the disgust level of a mob
set_invis_seesee invisibility is the mob's capability to see things that ought to be hidden from it +Can think of it as a primitive version of changing the alpha of planes +We mostly use it to hide ghosts, no real reason why
set_nutritionForce set the mob nutrition
set_sightSight here is the mob.sight var, which tells byond what to actually show to our client +See code__DEFINES\sight.dm for more details
set_speciesDNA MOB-PROCS
shared_ui_interactionpublic
show_messageShow a message to this mob (visual or audible)
show_other_mob_action_buttonsShow (most) of the another mob's action buttons to this mob
shuttleRotateMob rotate procs
slipCalled when this mob slips over, override as needed
spinSpin this mob around it's central axis
sync_lighting_plane_cutoffSet the lighting plane hud filters to the mobs lighting_cutoff var
throw_alertProc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already +category is a text string. Each mob may only have one alert per category; the previous one will be replaced +path is a type path of the actual alert type to throw +severity is an optional number that will be placed at the end of the icon_state for this alert +for example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2" +new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay. +flicks are forwarded to master +override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.
upMoves a mob upwards in z level
update_action_buttonsThis proc handles adding all of the mob's actions to their screen
update_actionspeedGo through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_bodyUpdates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.
update_client_colourResets the mob's client.color to null, and then reapplies a new color based +on the client_colour datums it currently has.
update_clothingUpdates every item slot passed into it.
update_config_movespeedSet or update the global movespeed config on a mob
update_held_itemsUpdates the held items overlay(s) & HUD element.
update_inv_earsUpdates the handcuff overlay & HUD element.
update_mob_action_buttonsUpdates all action buttons this mob has.
update_mouse_pointerUpdate the mouse pointer of the attached client in this mob
update_movespeedGo through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_pocketsUpdates the handcuff overlay & HUD element.
update_pull_hud_iconUpdate the pulling hud icon
update_rest_hud_iconUpdate the resting hud icon
update_sightUpdate the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)
update_stamina_hudChanges the stamina HUD based on new information
update_suit_storageUpdates the handcuff overlay & HUD element.
update_worn_backUpdates the back overlay & HUD element.
update_worn_beltUpdates the belt overlay & HUD element.
update_worn_glassesUpdates the glasses overlay & HUD element.
update_worn_glovesUpdates the glasses overlay & HUD element.
update_worn_handcuffsUpdates the handcuff overlay & HUD element.
update_worn_headUpdates the on-head overlay & HUD element.
update_worn_idUpdates the id overlay & HUD element.
update_worn_legcuffsUpdates the legcuff overlay & HUD element.
update_worn_maskUpdates the mask overlay & HUD element.
update_worn_neckUpdates the neck overlay & HUD element.
update_worn_oversuitUpdates the oversuit overlay & HUD element.
update_worn_shoesUpdates the shoes overlay & HUD element.
update_worn_undersuitUpdates the undersuit/uniform overlay & HUD element.
visible_messageAdds the functionality to self_message.
voteMob level verb that allows players to vote on the current vote.
vv_get_dropdownGet the mob VV dropdown extras
vv_get_varextra var handling for the logging var
whisperWhisper a message.
whisper_verbWhisper verb
won_gameThis proc sends the COMSIG_MOB_WON_VIDEOGAME signal
+

Var Details

LAssailant + + + + +

+

A weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition)

actions + + + + +

+

List of action hud items the user has

actionspeed_mod_immunities + + + + +

+

List of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)

actionspeed_modification + + + + +

+

List of action speed modifiers applying to this mob

active_hand_index + + + + +

+

What hand is the active hand

active_storage + + + + +

+

Storage component (for mob inventory)

active_thinking_indicator + + + + +

+

the icon currently used for the thinking indicator's bubble

active_typing_indicator + + + + +

+

the icon currently used for the typing indicator's bubble

alerts + + + + +

+

Contains /atom/movable/screen/alert only.

+

On /mob so clientless mobs will throw alerts properly.

bodytemperature + + + + +

+

Default body temperature

buckled + + + + +

+

movable atom we are buckled to

cached_multiplicative_actions_slowdown + + + + +

+

The calculated mob action speed slowdown based on the modifiers list

cached_multiplicative_slowdown + + + + +

+

The calculated mob speed slowdown based on the modifiers list

canon_client + + + + +

+

The current client inhabiting this mob. Managed by login/logout +This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed +We need to do this because the mob on logout never actually has a reference to client +We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout +HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

click_intercept + + + + +

+

Allows a datum to intercept all click calls this mob is the source of

do_afters + + + + +

+

For storing what do_after's someone has, key = string, value = amount of interactions of that type happening.

emotes_used + + + + +

+

Used for tracking last uses of emotes for cooldown purposes

examine_cursor_icon + + + + +

+

Cursor icon used when holding shift over things

has_unlimited_silicon_privilege + + + + +

+

Can they interact with station electronics

held_items + + + + +

+

list of items held in hands

+

len = number of hands, eg: 2 nulls is 2 empty hands, 1 item and 1 null is 1 full hand +and 1 empty hand.

+

NB: contains nulls!

+

held_items[active_hand_index] is the actively held item, but please use +get_active_held_item() instead, because OOP

hud_used + + + + +

+

Active hud

job + + + + +

+

What job does this mob have

lastKnownIP + + + + +

+

The last known IP of the client who was in this mob

lighting_color_cutoffs + + + + +

+

A list of red, green and blue cutoffs +This is what actually gets applied to the mob, it's modified by things like glasses

lighting_cutoff + + + + +

+

Percentage of how much rgb to max the lighting plane at +This lets us brighten it without washing out color +Scale from 0-100, reset off update_sight()

listed_turf + + + + +

+

the current turf being examined in the stat panel

machine + + + + +

+

The machine the mob is interacting with (this is very bad old code btw)

mock_client + + + + +

+

A mock client, provided by tests and friends

move_on_shuttle + + + + +

+

Can this mob enter shuttles

movespeed_mod_immunities + + + + +

+

List of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)

movespeed_modification + + + + +

+

List of movement speed modifiers applying to this mob

next_move + + + + +

+

Tick time the mob can next move

nutrition + + + + +

+

Hunger level of the mob

observers + + + + +

+

The list of people observing this mob.

old_bodytemperature + + + + +

+

Our body temperatue as of the last process, prevents pointless work when handling alerts

overeatduration + + + + +

+

How many ticks this mob has been over reating

progressbars + + + + +

+

List of progress bars this mob is currently seeing for actions

real_name + + + + +

+

What is the mobs real name (name is overridden for disguises etc)

registered_z + + + + +

+

THe z level this mob is currently registered in

remote_control + + + + +

+

Calls relay_move() to whatever this is set to when the mob tries to move

satiety + + + + +

+

Satiation level of the mob

sound_environment_override + + + + +

+

Override for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)

stat + + + + +

+

Whether a mob is alive or dead. TODO: Move this to living - Nodrak (2019, still here)

status_flags + + + + +

+

bitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc)

tgui_open_uis + + + + +

+

global

+

Tracks open UIs for a user.

throw_mode + + + + +

+

Is the mob throw intent on

updating_glide_size + + + + +

+

Whether the mob is updating glide size when movespeed updates or not

zone_selected + + + + +

+

The zone this mob is currently targeting

Proc Details

AltClickOn +

+

Alt click +Unused except for AI

Cell +

+

Some kind of debug verb that gives atmosphere environment details

ClickOn +

+

Standard mob ClickOn() +Handles exceptions: Buildmode, middle click, modified clicks, mech actions

+

After that, mostly just check your state, check whether you're holding an item, +check whether you're adjacent to the target, then pass off the click to whoever +is receiving it. +The most common are:

+

CtrlClickOn +

+

Ctrl click +For most objects, pull

CtrlShiftClickOn +

+

Control+Shift click +Unused except for AI

DblClickOn +

+

Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click)

GenerateTag +

+

Generate the tag for this mob

+

This is simply "mob_"+ a global incrementing counter that goes up for every mob

Initialize +

+

Intialize a mob

+

Sends global signal COMSIG_GLOB_MOB_CREATED

+

Adds to global lists

+
    +
  • GLOB.mob_list
  • +
  • GLOB.mob_directory (by tag)
  • +
  • GLOB.dead_mob_list - if mob is dead
  • +
  • GLOB.alive_mob_list - if the mob is alive
  • +
+

Other stuff:

+
    +
  • Sets the mob focus to itself
  • +
  • Generates huds
  • +
  • If there are any global alternate apperances apply them to this mob
  • +
  • set a random nutrition level
  • +
  • Intialize the movespeed of the mob
  • +

MiddleClickOn +

+

Middle click +Mainly used for swapping hands

MouseDrop +

+

Controls if a mouse drop succeeds (return null if it doesnt)

MouseWheelOn +

+

MouseWheelOn

Process_Spacemove +

+

Handles mob/living movement in space (or no gravity)

+

Called by /client/Move()

+

return TRUE for movement or FALSE for none

+

You can move in space if you have a spacewalk ability

RangedAttack +

+

Ranged unarmed attack:

+

This currently is just a default for all mobs, involving +laser eyes and telekinesis. You could easily add exceptions +for things like ranged glove touches, spitting alien acid/neurotoxin, +animals lunging, etc.

ShiftClickOn +

+

Shift click +For most mobs, examine. +This is overridden in ai.dm

Topic +

+

Topic call back for any mob

+
    +
  • Unset machines if "mach_close" sent
  • +
  • refresh the inventory of machines in range if "refresh" sent
  • +
  • handles the strip panel equip and unequip as well if "item" sent
  • +

UnarmedAttack +

+

UnarmedAttack: The higest level of mob click chain discounting click itself.

+

This handles, just "clicking on something" without an item. It translates +into atom/proc/attack_hand, atom/proc/attack_animal etc.

+

Note: proximity_flag here is used to distinguish between normal usage (flag=1), +and usage when clicking on things telekinetically (flag=0). This proc will +not be called at ranged except with telekinesis.

+

proximity_flag is not currently passed to attack_hand, and is instead used +in human click code to allow glove touches only at melee range.

+

modifiers is a lazy list of click modifiers this attack had, +used for figuring out different properties of the click, mostly right vs left and such.

_pointed +

+

possibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. +either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro

abandon_mob +

+

Allows you to respawn, abandoning your current mob

+

This sends you back to the lobby creating a new dead mob

+

Only works if flag/allow_respawn is allowed in config

add_actionspeed_modifier +

+

Add a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_client_colour +

+

Adds an instance of colour_type to the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)

add_movespeed_modifier +

+

Add a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_to_alive_mob_list +

+

Adds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.

add_to_current_dead_players +

+

Adds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.

add_to_current_living_antags +

+

Adds the cliented mob reference to the list of living antag player-mobs.

add_to_current_living_players +

+

Adds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.

add_to_dead_mob_list +

+

Adds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

add_to_mob_list +

+

Adds the mob reference to the list and directory of all mobs. Called on Initialize().

add_to_mob_suicide_list +

+

Adds a mob reference to the list of all suicided mobs

add_to_player_list +

+

Adds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().

adjust_bodytemperature +

+

Adjust the body temperature of a mob, with min/max settings

adjust_disgust +

+

Adjust the disgust level of a mob

adjust_nutrition +

+

Adjust the nutrition of a mob

animate_client_colour +

+

Works similarly to 'update_client_colour', but animated.

apply_pref_name +

+

Generalised helper proc for letting mobs rename themselves. Used to be clname() and ainame()

attack_ui +

+

This proc is called whenever someone clicks an inventory ui slot.

+

Mostly tries to put the item into the slot if possible, or call attack hand +on the item in the slot if the users active hand is empty

audible_message +

+

Show a message to all mobs in earshot of this one

+

This would be for audible actions by the src mob

+

vars:

+
    +
  • message is the message output to anyone who can hear.
  • +
  • self_message (optional) is what the src mob hears.
  • +
  • deaf_message (optional) is what deaf people will see.
  • +
  • hearing_distance (optional) is the range, how many tiles away the message can be heard.
  • +

auto_deadmin_on_login +

+

Checks if the attached client is an admin and may deadmin them

+

Configs:

+
    +
  • flag/auto_deadmin_players
  • +
  • client.prefs?.toggles & DEADMIN_ALWAYS
  • +
  • User is antag and flag/auto_deadmin_antagonists or client.prefs?.toggles & DEADMIN_ANTAGONIST
  • +
  • or if their job demands a deadminning SSjob.handle_auto_deadmin_roles()
  • +
+

Called from login

become_uncliented +

+

Cleanup proc that's called when a mob loses a client, either through client destroy or logout +Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent

buckle_mob +

+

Buckle a living mob to this mob. Also turns you to face the other mob

+

You can buckle on mobs if you're next to them since most are dense

canUseStorage +

+

Can this mob use storage

can_block_magic +

+

Checks to see if the mob can block magic

+

args:

+
    +
  • casted_magic_flags (optional) A bitfield with the types of magic resistance being checked (see flags at: /datum/component/anti_magic)
  • +
  • charge_cost (optional) The cost of charge to block a spell that will be subtracted from the protection used
  • +

can_cast_magic +

+

Checks to see if the mob can cast normal magic spells.

+

args:

+
    +
  • magic_flags (optional) A bitfield with the type of magic being cast (see flags at: /datum/component/anti_magic)
  • +

can_hear +

+

Can the mob hear

can_hold_items +

+

Can this mob hold items

can_interact_with +

+

Can the mob interact() with an atom?

can_mutate +

+

Returns TRUE if the mob is allowed to mutate via its DNA, or FALSE if otherwise. +Only an organic Carbon with valid DNA may mutate; not robots, AIs, aliens, Ians, or other mobs.

can_perform_action +

+

Checks whether a mob can perform an action to interact with an object

+

The default behavior checks if the mob is:

+
    +
  • Directly adjacent (1-tile radius)
  • +
  • Standing up (not resting)
  • +
  • Allows telekinesis to be used to skip adjacent checks (if they have DNA mutation)
  • +
+

action_bitflags: (see code/__DEFINES/mobs.dm)

+
    +
  • NEED_GRAVITY - If gravity must be present to perform action (can't use pens without gravity)
  • +
  • NEED_LITERACY - If reading is required to perform action (can't read a book if you are illiterate)
  • +
  • NEED_LIGHT - If lighting must be present to perform action (can't heal someone in the dark)
  • +
  • NEED_DEXTERITY - If other mobs (monkeys, aliens, etc) can perform action (can't use computers if you are a monkey)
  • +
  • NEED_HANDS - If hands are required to perform action (can't pickup items if you are a cyborg)
  • +
  • FORBID_TELEKINESIS_REACH - If telekinesis is forbidden to perform action from a distance (ex. canisters are blacklisted from telekinesis manipulation)
  • +
  • ALLOW_SILICON_REACH - If silicons are allowed to perform action from a distance (silicons can operate airlocks from far away)
  • +
  • ALLOW_RESTING - If resting on the floor is allowed to perform action ()
  • +

can_read +

+

Can this mob read

can_resist +

+

Can this mob resist (default FALSE)

can_see_reagents +

+

Can the mob see reagents inside of containers?

can_write +

+

Proc that returns TRUE if the mob can write using the writing_instrument, FALSE otherwise.

+

This proc a side effect, outputting a message to the mob's chat with a reason if it returns FALSE. +Unless silent_if_not_writing_tool is TRUE. In that case it'll be silent if it isn't a writing implement/tool/instrument w/e.

cancel_camera +

+

Sometimes helps if the user is stuck in another perspective or camera

change_mob_type_unchecked +

+

Version of [change_mob_type] that does no usr prompting (may send an error message though). Satisfies procs with the SHOULD_NOT_SLEEP restriction

check_emote +

+

Check if this message is an emote

check_respawn_delay +

+

Checks if the mob can respawn yet according to the respawn delay

clear_from_recent_examines +

+

the item in our active hand +our active hand, to check if it's disabled/detatched +how long it takes for the blind person to find the thing they're examining +our current intent, so we can go back to it after touching

clear_important_client_contents +

+

We got our awareness updated by the important recursive contents stuff, now we add our membership +Clears the clients channel of this mob

click_random_mob +

+

Clicks a random nearby mob with the source from this mob

common_trait_examine +

+

Examine text for traits shared by multiple types.

+

I wish examine was less copypasted. (oranges say, be the change you want to see buddy)

copy_recent_speech +

+

Returns an associative list of the logs of a certain amount of lines spoken recently by this mob +copy_amount - number of lines to return +line_chance - chance to return a line, if you don't want just the most recent x lines

create_chat_message +

+

Creates a message overlay at a defined location for a given speaker

+

Arguments:

+
    +
  • speaker - The atom who is saying this message
  • +
  • message_language - The language that the message is said in
  • +
  • raw_message - The text content of the message
  • +
  • spans - Additional classes to be added to the message
  • +

create_thinking_indicator +

+

Creates a thinking indicator over the mob.

create_typing_indicator +

+

Creates a typing indicator over the mob.

default_lighting_cutoff +

+

Returns this mob's default lighting alpha

do_after_count +

+

Returns the total amount of do_afters this mob is taking part in

down +

+

Moves a mob down a z level

dropItemToGround +

+

Used to drop an item (if it exists) to the ground.

+
    +
  • Will pass as TRUE is successfully dropped, or if there is no item to drop.
  • +
  • Will pass FALSE if the item can not be dropped due to TRAIT_NODROP via doUnEquip() +If the item can be dropped, it will be forceMove()'d to the ground and the turf's Entered() will be called.
  • +

drop_everything +

+

Safely drop everything, without deconstructing the mob

enable_client_mobs_in_contents +

+

propogates ourselves through our nested contents, similar to other important_recursive_contents procs +main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye

equip_to_appropriate_slot +

+

Auto equip the passed in item the appropriate slot based on equipment priority

+

puts the item "W" into an appropriate slot in a human's inventory

+

returns 0 if it cannot, 1 if successful

equip_to_slot +

+

Actually equips an item to a slot (UNSAFE)

+

This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on +whether you can or can't equip need to be done before! Use mob_can_equip() for that task.

+

In most cases you will want to use equip_to_slot_if_possible()

equip_to_slot_if_possible +

+

Try to equip an item to a slot on the mob

+

This is a SAFE proc. Use this instead of equip_to_slot()!

+

set qdel_on_fail to have it delete W if it fails to equip

+

set disable_warning to disable the 'you are unable to equip that' warning.

+

unset redraw_mob to prevent the mob icons from being redrawn at the end.

+

Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it

+

set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob

equip_to_slot_or_del +

+

Equip an item to the slot or delete

+

This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to +equip people when the round starts and when events happen and such.

+

Also bypasses equip delay checks, since the mob isn't actually putting it on. +Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it +set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob

equipped_speed_mods +

+

Gets the combined speed modification of all worn items +Except base mob type doesnt really wear items

examinate +

+

Signal sent after the eye has been successfully updated, with the client existing. +Examine a mob

+

mob verbs are faster than object verbs. See +this byond forum post +for why this isn't atom/verb/examine()

execute_mode +

+

proc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called

execute_quick_equip +

+

proc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded

face_atom +

+

Simple helper to face what you clicked on, in case it should be needed in more than one place

first_name +

+

Find the first name of a mob from the real name with regex

fully_replace_character_name +

+

Fully update the name of a mob

+

This will update a mob's name, real_name, mind.name, GLOB.manifest records, pda, id and traitor text

+

Calling this proc without an oldname will only update the mob and skip updating the pda, id and records ~Carn

get_actions_for_statpanel +

+

Convert a list of spells into a displyable list for the statpanel

+

Shows charge and other important info

get_actionspeed_modifiers +

+

Get the action speed modifiers list of the mob

get_active_hand +

+

Get the bodypart for whatever hand we have active, Only relevant for carbons

get_active_held_item +

+

Returns the thing we're currently holding

get_config_multiplicative_speed +

+

Get the global config movespeed of a mob by type

get_ghost +

+

Get the ghost of this mob (from the mind)

get_item_by_slot +

+

Get the item on the mob in the storage slot identified by the id passed in

get_item_offsets_for_index +

+

we adjust the human body for high given by body parts, execpt shoes, because they are always on the bottom

get_message_mods +

+

Extracts and cleans message of any extenstions at the begining of the message +Inserts the info into the passed list, returns the cleaned message

+

Result can be

+
    +
  • SAY_MODE (Things like aliens, channels that aren't channels)
  • +
  • MODE_WHISPER (Quiet speech)
  • +
  • MODE_SING (Singing)
  • +
  • MODE_HEADSET (Common radio channel)
  • +
  • RADIO_EXTENSION the extension we're using (lots of values here)
  • +
  • RADIO_KEY the radio key we're using, to make some things easier later (lots of values here)
  • +
  • LANGUAGE_EXTENSION the language we're trying to use (lots of values here)
  • +

get_mob_buckling_height +

+

returns the height in pixel the mob should have when buckled to another mob.

get_movespeed_modifiers +

+

Get the move speed modifiers list of the mob

get_num_held_items +

+

Find number of held items, multihand compatible

get_organ_by_type +

+

Get the organ object from the mob matching the passed in typepath

+

Arguments:

+
    +
  • typepath The typepath of the organ to get
  • +

get_organ_slot +

+

Returns a list of all organs in specified slot

+

Arguments:

+
    +
  • slot Slot to get the organs from
  • +

get_organs_for_zone +

+

Get organ objects by zone

+

This will return a list of all the organs that are relevant to the zone that is passedin

+

Arguments:

+

get_photo_description +

+

Return the desc of this mob for a photo

get_policy_keywords +

+

Get the list of keywords for policy config

+

This gets the type, mind assigned roles and antag datums as a list, these are later used +to send the user relevant headadmin policy config

get_random_valid_zone +

+

More or less ran_zone, but only returns bodyzones that the mob /actually/ has.

+
    +
  • +

    blacklisted_parts - allows you to specify zones that will not be chosen. eg: list(BODY_ZONE_CHEST, BODY_ZONE_R_LEG)

    +
  • +
  • +
      +
    • !!!! blacklisting BODY_ZONE_CHEST is really risky since it's the only bodypart guarunteed to ALWAYS exists !!!!
    • +
    +
  • +
  • +
      +
    • !!!! Only do that if you're REALLY CERTAIN they have limbs, otherwise we'll CRASH() !!!!
    • +
    +
  • +
  • +

    ran_zone has a base prob(80) to return the base_zone (or if null, BODY_ZONE_CHEST) vs something in our generated list of limbs.

    +
  • +
  • +

    this probability is overriden when either blacklisted_parts contains BODY_ZONE_CHEST and we aren't passed a base_zone (since the default fallback for ran_zone would be the chest in that scenario), or if even_weights is enabled.

    +
  • +
  • +

    you can also manually adjust this probability by altering base_probability

    +
  • +
  • +

    even_weights - ran_zone has a 40% chance (after the prob(80) mentioned above) of picking a limb, vs the torso & head which have an additional 10% chance.

    +
  • +
  • +

    Setting even_weight to TRUE will make it just a straight up pick() between all possible bodyparts.

    +
  • +

get_realname_string +

+

Returns a mob's real name between brackets. Useful when you want to display a mob's name alongside their real name

get_slot_by_item +

+

Gets what slot the item on the mob is held in. +Returns null if the item isn't in any slots on our mob. +Does not check if the passed item is null, which may result in unexpected outcoms.

get_spacemove_backup +

+

Finds a target near a mob that is viable for pushing off when moving. +Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting

get_status_tab_items +

+

Adds this list to the output to the stat browser

grab_ghost +

+

Force get the ghost from the mind

grant_actions_by_list +

+

Takes in an associated list (key /datum/action typepaths, value is the AI blackboard key) and handles granting the action and adding it to the mob's AI controller blackboard. +This is only useful in instances where you don't want to store the reference to the action on a variable on the mob. +You can set the value to null if you don't want to add it to the blackboard (like in player controlled instances). Is also safe with null AI controllers. +Assumes that the action will be initialized and held in the mob itself, which is typically standard.

handle_eye_contact +

+

handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last 2 seconds within 5 tiles, we make eye contact!

+

Note that if either party has their face obscured, the other won't get the notice about the eye contact +Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. +The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them

has_actionspeed_modifier +

+

Is there a actionspeed modifier for this mob

has_light_nearby +

+

Checks if there is enough light where the mob is located

+

Args: +light_amount (optional) - A decimal amount between 1.0 through 0.0 (default is 0.2)

has_movespeed_modifier +

+

Is there a movespeed modifier for this mob

has_nightvision +

+

Can this mob see in the dark

+

This checks all traits, glasses, and robotic eyeball implants to see if the mob can see in the dark +this does NOT check if the mob is missing it's eyeballs.

has_status_effect +

+

Checks if this mob has a status effect that shares the passed effect's ID

+

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

+

Returns an instance of a status effect, or NULL if none were found.

has_status_effect_from_source +

+

Checks if this mob has a status effect that shares the passed effect's ID +and has the passed sources are in its list of sources (ONLY works for grouped efects!)

+

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

+

Returns an instance of a status effect, or NULL if none were found.

has_status_effect_list +

+

Returns a list of all status effects that share the passed effect type's ID

+

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

+

Returns a list

hide_other_mob_action_buttons +

+

Hide another mob's action buttons from this mob

+

Used for observers viewing another mob's screen

hivecheck +

+

Check if the mob has a hivemind channel

incapacitated +

+

Is the mob incapacitated

initialize_actionspeed +

+

Adds a default action speed

is_holding_items +

+

Returns true if a mob is holding something

is_literate +

+

This mob is abile to read books

is_muzzled +

+

Is the mob muzzled (default false)

is_nearsighted_currently +

+

Is the mob nearsighted CURRENTLY? +This check fails if the mob is nearsighted but is wearing glasses, +While is_nearsighted will always succeed even if they are wearing glasses.

last_name +

+

Find the last name of a mob from the real name with regex

limb_attack_self +

+

Called by using Activate Held Object with an empty hand/limb

+

Does nothing by default. The intended use is to allow limbs to call their +own attack_self procs. It is up to the individual mob to override this +parent and actually use it.

log_manual_zone_selected_update +

+

Generates a log message when a user manually changes their targeted zone. +Only need to one of new_target or old_target, and the other will be auto populated with the current selected zone.

log_message +

+

Logs a message in a mob's individual log, and in the global logs as well if log_globally is true

log_mob_tag +

+

Logs a mesage to the mob_tags log, including the mobs tag +Arguments:

+
    +
  • text - text to log.
  • +

lost_game +

+

This proc sends the COMSIG_MOB_LOST_VIDEOGAME signal

+

This should be called by games when the gamer reaches a losing state

lowest_buckled_mob +

+

Find the mob at the bottom of a buckle chain

make_pai +

+

Creates a new pAI.

+

@param {boolean} delete_old - If TRUE, deletes the old pAI.

me_verb +

+

The me emote verb

memory +

+

Shows a tgui window with memories

mob_negates_gravity +

+

Does this mob ignore gravity

mode +

+

Verb to activate the object in your held hand

+

Calls attack self on the item and updates the inventory hud for hands

notify_revival +

+

Notify a ghost that its body is being revived

onShuttleMove +

+

Mob move procs

on_block_magic_effects +

+

Called whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic.

on_observing_action_granted +

+

Signal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, +we need to update with any newly added buttons granted to the mob.

on_observing_action_removed +

+

Signal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, +we need to update with any removed buttons from the mob.

open_language_menu_verb +

+

Show the language menu for this mob

perform_hand_swap +

+

Performs the actual ritual of swapping hands, such as setting the held index variables

played_game +

+

This proc sends the COMSIG_MOB_PLAYED_VIDEOGAME signal

+

This should be called by games whenever the gamer interacts with the device

post_buckle_mob +

+

Call back post buckle to a mob to offset your visual height

post_unbuckle_mob +

+

Call back post unbuckle from a mob, (reset your visual height here)

query_heart +

+

Ask someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up

ranged_secondary_attack +

+

Ranged secondary attack

+

If the same conditions are met to trigger RangedAttack but it is +instead initialized via a right click, this will trigger instead. +Useful for mobs that have their abilities mapped to right click.

reagent_check +

+

Proc used for custom metabolization of reagents, if any

refresh_looping_ambience +

+

Tries to play looping ambience to the mobs.

regenerate_icons +

+

Redraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.

remove_actionspeed_modifier +

+

Remove a action speed modifier from a mob, whether static or variable.

remove_all_indicators +

+

Removes any indicators and marks the mob as not speaking IC.

remove_client_colour +

+

Removes an instance of colour_type from the mob's client_colours list +colour_type - a typepath (subtyped from /datum/client_colour)

remove_from_alive_mob_list +

+

Removes the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.

remove_from_current_dead_players +

+

Removes the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.

remove_from_current_living_antags +

+

Removes the mob reference from the list of living antag player-mobs.

remove_from_current_living_players +

+

Removes the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.

remove_from_dead_mob_list +

+

Remvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

remove_from_mob_list +

+

Removes the mob reference from the list and directory of all mobs. Called on Destroy().

remove_from_mob_suicide_list +

+

Removes a mob references from the list of all suicided mobs

remove_from_player_list +

+

Removes the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().

remove_movespeed_modifier +

+

Remove a move speed modifier from a mob, whether static or variable.

remove_thinking_indicator +

+

Removes the thinking indicator over the mob.

remove_typing_indicator +

+

Removes the typing indicator over the mob.

replace_identification_name +

+

update the ID name of this mob

replace_records_name +

+

Updates GLOB.manifest records with new name , see mob/living/carbon/human

reset_perspective +

+

Reset the attached clients perspective (viewpoint)

+

reset_perspective(null) set eye to common default : mob on turf, loc otherwise +reset_perspective(thing) set the eye to the thing (if it's equal to current default reset to mob perspective)

say_dead +

+

Speak as a dead person (ghost etc)

say_verb +

+

what clients use to speak. when you type a message into the chat bar in say mode, this is the first thing that goes off serverside.

set_disgust +

+

Set the disgust level of a mob

set_invis_see +

+

see invisibility is the mob's capability to see things that ought to be hidden from it +Can think of it as a primitive version of changing the alpha of planes +We mostly use it to hide ghosts, no real reason why

set_nutrition +

+

Force set the mob nutrition

set_sight +

+

Sight here is the mob.sight var, which tells byond what to actually show to our client +See code__DEFINES\sight.dm for more details

set_species +

+

DNA MOB-PROCS

shared_ui_interaction +

+

public

+

Standard interaction/sanity checks. Different mob types may have overrides.

+

return UI_state The state of the UI.

show_message +

+

Show a message to this mob (visual or audible)

show_other_mob_action_buttons +

+

Show (most) of the another mob's action buttons to this mob

+

Used for observers viewing another mob's screen

shuttleRotate +

+

Mob rotate procs

slip +

+

Called when this mob slips over, override as needed

+

knockdown_amount - time (in deciseconds) the slip leaves them on the ground +slipped_on - optional, what'd we slip on? if not set, we assume they just fell over +lube - bitflag of "lube flags", see [mobs.dm] for more information +paralyze - time (in deciseconds) the slip leaves them paralyzed / unable to move +force_drop = the slip forces them to drop held items

spin +

+

Spin this mob around it's central axis

sync_lighting_plane_cutoff +

+

Set the lighting plane hud filters to the mobs lighting_cutoff var

throw_alert +

+

Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already +category is a text string. Each mob may only have one alert per category; the previous one will be replaced +path is a type path of the actual alert type to throw +severity is an optional number that will be placed at the end of the icon_state for this alert +for example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2" +new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay. +flicks are forwarded to master +override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.

up +

+

Moves a mob upwards in z level

update_action_buttons +

+

This proc handles adding all of the mob's actions to their screen

+

If you just need to update existing buttons, use /mob/proc/update_mob_action_buttons!

+

Arguments:

+
    +
  • update_flags - reload_screen - bool, if TRUE, this proc will add the button to the screen of the passed mob as well
  • +

update_actionspeed +

+

Go through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_body +

+

Updates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.

update_client_colour +

+

Resets the mob's client.color to null, and then reapplies a new color based +on the client_colour datums it currently has.

update_clothing +

+

Updates every item slot passed into it.

update_config_movespeed +

+

Set or update the global movespeed config on a mob

update_held_items +

+

Updates the held items overlay(s) & HUD element.

update_inv_ears +

+

Updates the handcuff overlay & HUD element.

update_mob_action_buttons +

+

Updates all action buttons this mob has.

+

Arguments:

+
    +
  • update_flags - Which flags of the action should we update
  • +
  • force - Force buttons update even if the given button icon state has not changed
  • +

update_mouse_pointer +

+

Update the mouse pointer of the attached client in this mob

update_movespeed +

+

Go through the list of movespeed modifiers and calculate a final movespeed. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_pockets +

+

Updates the handcuff overlay & HUD element.

update_pull_hud_icon +

+

Update the pulling hud icon

update_rest_hud_icon +

+

Update the resting hud icon

update_sight +

+

Update the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)

update_stamina_hud +

+

Changes the stamina HUD based on new information

update_suit_storage +

+

Updates the handcuff overlay & HUD element.

update_worn_back +

+

Updates the back overlay & HUD element.

update_worn_belt +

+

Updates the belt overlay & HUD element.

update_worn_glasses +

+

Updates the glasses overlay & HUD element.

update_worn_gloves +

+

Updates the glasses overlay & HUD element.

update_worn_handcuffs +

+

Updates the handcuff overlay & HUD element.

update_worn_head +

+

Updates the on-head overlay & HUD element.

update_worn_id +

+

Updates the id overlay & HUD element.

update_worn_legcuffs +

+

Updates the legcuff overlay & HUD element.

update_worn_mask +

+

Updates the mask overlay & HUD element.

update_worn_neck +

+

Updates the neck overlay & HUD element.

update_worn_oversuit +

+

Updates the oversuit overlay & HUD element.

update_worn_shoes +

+

Updates the shoes overlay & HUD element.

update_worn_undersuit +

+

Updates the undersuit/uniform overlay & HUD element.

visible_message +

+

Adds the functionality to self_message.

vote +

+

Mob level verb that allows players to vote on the current vote.

vv_get_dropdown +

+

Get the mob VV dropdown extras

vv_get_var +

+

extra var handling for the logging var

whisper +

+

Whisper a message.

+

Basic level implementation just speaks the message, nothing else.

whisper_verb +

+

Whisper verb

won_game +

+

This proc sends the COMSIG_MOB_WON_VIDEOGAME signal

+

This should be called by games when the gamer reaches a winning state

+ + + diff --git a/mob/camera.html b/mob/camera.html new file mode 100644 index 00000000000..44ca7136a1a --- /dev/null +++ b/mob/camera.html @@ -0,0 +1,36 @@ + + + + + + + /mob/camera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

camera + + + +

+ + +

Vars

has_emotesToggles if the camera can use emotes
+

Var Details

has_emotes + + + + +

+

Toggles if the camera can use emotes

+ + + diff --git a/mob/camera/ai_eye.html b/mob/camera/ai_eye.html new file mode 100644 index 00000000000..d38435d46ce --- /dev/null +++ b/mob/camera/ai_eye.html @@ -0,0 +1,35 @@ + + + + + + + /mob/camera/ai_eye - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ai_eye + + + +

+ + +

Procs

update_visibilityUsed in cases when the eye is located in a movable object (i.e. mecha)

Proc Details

update_visibility +

+

Used in cases when the eye is located in a movable object (i.e. mecha)

+ + + diff --git a/mob/camera/ai_eye/remote/base_construction.html b/mob/camera/ai_eye/remote/base_construction.html new file mode 100644 index 00000000000..8c39b952912 --- /dev/null +++ b/mob/camera/ai_eye/remote/base_construction.html @@ -0,0 +1,39 @@ + + + + + + + /mob/camera/ai_eye/remote/base_construction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

base_construction + + + +

+ +

A mob used by /obj/machinery/computer/camera_advanced/base_construction for building in specific areas.

+

Controlled by a user who is using a base construction console. +The user will be granted a set of building actions by the console, and the actions will be carried out by this mob. +The mob is constrained to a given area defined by the base construction console.

+

Vars

linked_consoleReference to the camera console controlling this drone
+

Var Details

linked_console + + + + +

+

Reference to the camera console controlling this drone

+ + + diff --git a/mob/camera/blob.html b/mob/camera/blob.html new file mode 100644 index 00000000000..1556261d25c --- /dev/null +++ b/mob/camera/blob.html @@ -0,0 +1,211 @@ + + + + + + + /mob/camera/blob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blob + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_blobsA list of all blob structures
strain_choicesThe list of strains the blob can reroll for.

Procs

assume_direct_controlGive our new minion the properties of a minion
can_buySimple price check
check_core_visibilityChecks proximity for mobs
check_objects_tileChecks for previous blobs or denose objects on the tile.
create_blobbernautPreliminary check before polling ghosts.
create_shieldCreates a shield to reflect projectiles
create_specialPlaces important blob structures
create_sporeCreate a blob spore and link it to us
directional_attackFinds cardinal and diagonal attack directions
expand_blobExpands to nearby tiles
jump_to_nodeJumps to a node
on_blobbernaut_attackedWhen one of our boys attacked something, we sometimes want to perform extra effects
on_minion_deathWhen a spore (or zombie) dies then we do this
on_poll_concludedCalled when the ghost poll concludes
open_reroll_menuControls changing strains
pick_blobbernaut_candidatePolls ghosts to get a blobbernaut candidate.
place_blob_corePlaces the core itself
rally_sporesRally spores to a location
register_new_minionAdd something to our list of mobs and wait for it to die
relocate_coreMoves the core
remove_blobSearches the tile for a blob and removes it.
strain_rerollOpens the reroll menu to change strains
toggle_node_reqToggles requiring nodes
transport_coreMoves the core elsewhere.
+

Var Details

all_blobs + + + + +

+

A list of all blob structures

strain_choices + + + + +

+

The list of strains the blob can reroll for.

Proc Details

assume_direct_control +

+

Give our new minion the properties of a minion

can_buy +

+

Simple price check

check_core_visibility +

+

Checks proximity for mobs

check_objects_tile +

+

Checks for previous blobs or denose objects on the tile.

create_blobbernaut +

+

Preliminary check before polling ghosts.

create_shield +

+

Creates a shield to reflect projectiles

create_special +

+

Places important blob structures

create_spore +

+

Create a blob spore and link it to us

directional_attack +

+

Finds cardinal and diagonal attack directions

expand_blob +

+

Expands to nearby tiles

jump_to_node +

+

Jumps to a node

on_blobbernaut_attacked +

+

When one of our boys attacked something, we sometimes want to perform extra effects

on_minion_death +

+

When a spore (or zombie) dies then we do this

on_poll_concluded +

+

Called when the ghost poll concludes

open_reroll_menu +

+

Controls changing strains

pick_blobbernaut_candidate +

+

Polls ghosts to get a blobbernaut candidate.

place_blob_core +

+

Places the core itself

rally_spores +

+

Rally spores to a location

register_new_minion +

+

Add something to our list of mobs and wait for it to die

relocate_core +

+

Moves the core

remove_blob +

+

Searches the tile for a blob and removes it.

strain_reroll +

+

Opens the reroll menu to change strains

toggle_node_req +

+

Toggles requiring nodes

transport_core +

+

Moves the core elsewhere.

+ + + diff --git a/mob/camera/imaginary_friend.html b/mob/camera/imaginary_friend.html new file mode 100644 index 00000000000..6ed0b23dfa1 --- /dev/null +++ b/mob/camera/imaginary_friend.html @@ -0,0 +1,78 @@ + + + + + + + /mob/camera/imaginary_friend - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

imaginary_friend + + + +

+ + + + + + + +

Procs

InitializeArguments:
attach_to_ownerLinks this imaginary friend to the provided mob
group_clientsReturns all member clients of the imaginary_group
setup_appearanceCopies appearance from passed player prefs, or randomises them if none are provided
setup_friendRandomise friend name and appearance
setup_friend_from_prefsSets up the imaginary friend's name and look using a set of datum preferences.

Proc Details

Initialize +

+

Arguments:

+
    +
  • imaginary_friend_owner - The living mob that owns the imaginary friend.
  • +
  • appearance_from_prefs - If this is a valid set of prefs, the appearance of the imaginary friend is based on these prefs.
  • +

attach_to_owner +

+

Links this imaginary friend to the provided mob

group_clients +

+

Returns all member clients of the imaginary_group

setup_appearance +

+

Copies appearance from passed player prefs, or randomises them if none are provided

setup_friend +

+

Randomise friend name and appearance

setup_friend_from_prefs +

+

Sets up the imaginary friend's name and look using a set of datum preferences.

+

Arguments:

+
    +
  • appearance_from_prefs - If this is a valid set of prefs, the appearance of the imaginary friend is based on the currently selected character in them. Otherwise, it's random.
  • +
+ + + diff --git a/mob/dead/new_player.html b/mob/dead/new_player.html new file mode 100644 index 00000000000..41aa659fcdc --- /dev/null +++ b/mob/dead/new_player.html @@ -0,0 +1,193 @@ + + + + + + + /mob/dead/new_player - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

new_player + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

ineligible_for_rolesUsed to make sure someone doesn't get spammed with messages if they're ineligible for roles.
jobs_menu_mountedUsed to track if the player's jobs menu sent a message saying it successfully mounted.
new_characterFor instant transfer once the round is set up
reset_hud_cooldownCooldown for the Reset Lobby Menu HUD verb
spawningReferenced when you want to delete the new_player later on in the code.

Procs

create_characterCreates, assigns and returns the new_character to spawn as. Assumes a valid mind.assigned_role exists.
handle_player_pollingShows a list of currently running polls a player can vote/has voted on
open_interviewVerb for opening the existing interview, or if relevant creating a new interview if possible.
poll_playerRedirects a player to the correct poll window based on poll type.
poll_player_irvShows voting window for an IRV type poll, listing its options and relevant details.
poll_player_multiShows voting window for a multiple choice type poll, listing its options and relevant details.
poll_player_optionShows voting window for an option type poll, listing its options and relevant details.
poll_player_ratingShows voting window for a rating type poll, listing its options and relevant details.
poll_player_textShows voting window for a text response type poll, listing its relevant details.
register_for_interviewPrepares a client for the interview system, and provides them with a new interview
reset_menu_hudResets the Lobby Menu HUD, recreating and reassigning it to the new player
vote_on_poll_handlerRuns some poll validation before a vote is processed.
vote_on_poll_irvProcesses vote form data and saves results to the database for an IRV type poll.
vote_on_poll_multiProcesses vote form data and saves results to the database for a multiple choice type poll.
vote_on_poll_optionProcesses vote form data and saves results to the database for an option type poll.
vote_on_poll_ratingProcesses vote form data and saves results to the database for a rating type poll.
vote_on_poll_textProcesses response form data and saves results to the database for a text response type poll.
+

Var Details

ineligible_for_roles + + + + +

+

Used to make sure someone doesn't get spammed with messages if they're ineligible for roles.

jobs_menu_mounted + + + + +

+

Used to track if the player's jobs menu sent a message saying it successfully mounted.

new_character + + + + +

+

For instant transfer once the round is set up

reset_hud_cooldown + + + + +

+

Cooldown for the Reset Lobby Menu HUD verb

spawning + + + + +

+

Referenced when you want to delete the new_player later on in the code.

Proc Details

create_character +

+

Creates, assigns and returns the new_character to spawn as. Assumes a valid mind.assigned_role exists.

handle_player_polling +

+

Shows a list of currently running polls a player can vote/has voted on

open_interview +

+

Verb for opening the existing interview, or if relevant creating a new interview if possible.

poll_player +

+

Redirects a player to the correct poll window based on poll type.

poll_player_irv +

+

Shows voting window for an IRV type poll, listing its options and relevant details.

+

If already voted on, the options are sorted how a player voted for them, otherwise they are randomly shuffled.

poll_player_multi +

+

Shows voting window for a multiple choice type poll, listing its options and relevant details.

+

If already voted on, the options a player voted for are pre-selected.

poll_player_option +

+

Shows voting window for an option type poll, listing its options and relevant details.

+

If already voted on, the option a player voted for is pre-selected.

poll_player_rating +

+

Shows voting window for a rating type poll, listing its options and relevant details.

+

If already voted on, the options a player voted for are pre-selected.

poll_player_text +

+

Shows voting window for a text response type poll, listing its relevant details.

+

If already responded to, the saved response of a player is shown.

register_for_interview +

+

Prepares a client for the interview system, and provides them with a new interview

+

This proc will both prepare the user by removing all verbs from them, as well as +giving them the interview form and forcing it to appear.

reset_menu_hud +

+

Resets the Lobby Menu HUD, recreating and reassigning it to the new player

vote_on_poll_handler +

+

Runs some poll validation before a vote is processed.

+

Checks a player is who they claim to be and that a poll is actually still running. +Also loads the vote_id to pass onto single-option and text polls. +Increments the vote count when successful.

vote_on_poll_irv +

+

Processes vote form data and saves results to the database for an IRV type poll.

vote_on_poll_multi +

+

Processes vote form data and saves results to the database for a multiple choice type poll.

vote_on_poll_option +

+

Processes vote form data and saves results to the database for an option type poll.

vote_on_poll_rating +

+

Processes vote form data and saves results to the database for a rating type poll.

vote_on_poll_text +

+

Processes response form data and saves results to the database for a text response type poll.

+ + + diff --git a/mob/dead/observer.html b/mob/dead/observer.html new file mode 100644 index 00000000000..596eb1a0798 --- /dev/null +++ b/mob/dead/observer.html @@ -0,0 +1,42 @@ + + + + + + + /mob/dead/observer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

observer + + + +

+ + + +

Procs

jump_to_interactWe orbit and interact with the target
observer_viewWe orbit the target or jump if its a turf

Proc Details

jump_to_interact +

+

We orbit and interact with the target

observer_view +

+

We orbit the target or jump if its a turf

+ + + diff --git a/mob/living.html b/mob/living.html new file mode 100644 index 00000000000..dd4dd81fb56 --- /dev/null +++ b/mob/living.html @@ -0,0 +1,2703 @@ + + + + + + + /mob/living - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

living + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aheal_actionThe holder for this mob living's admin heal action. It should never be set to null or modified except on qdel
blood_volumehow much blood the mob has
body_maptext_height_offsetThe height offset of a mob's maptext due to their current size.
body_positionVariable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).
body_position_pixel_x_offsetThe x amount a mob's sprite should be offset due to the current position they're in
body_position_pixel_y_offsetThe y amount a mob's sprite should be offset due to the current position they're in or size (e.g. lying down moves your sprite down)
body_temp_changesList of changes to body temperature, used by desease symtoms like fever
brutelossBrutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)
bubble_iconused to prevent spam with smoke reagent reaction on mob. +what icon the mob uses for speechbubbles
butcher_difficultyeffectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
butcher_resultsthese will be yielded from butchering with a probability chance equal to the butcher item's effectiveness
can_be_heldwhether this can be picked up and held.
can_buckle_toIs this mob allowed to be buckled/unbuckled to/from things?
combat_modeIf combat mode is on or not
crit_thresholdwhen the mob goes from "normal" to crit
current_sizeTracks the current size of the mob in relation to its original size. Use update_transform(resize) to change it.
current_turf_slowdownwhat multiplicative slowdown we get from turfs currently.
death_messageA message sent when the mob dies, with the *deathgasp emote
death_soundA sound sent when the mob dies, with the *deathgasp emote
default_num_handsHow many hands does this mob have by default. This shouldn't change at runtime.
default_num_legsHow many legs does this mob have by default. This shouldn't change at runtime.
diseaseslist of all diseases in a mob
fire_stack_decay_rateRate at which fire stacks should decay from this mob
firelossBurn damage caused by being way too hot, too cold or burnt.
fov_traitsLazy list of FOV traits that will apply a FOV view when handled.
fov_viewFOV view that is applied from either nativeness or traits
gravity_stateWhat our current gravity state is. Used to avoid duplicate animates and such
guaranteed_butcher_resultsthese will always be yielded from butchering
hardcrit_thresholdWhen the mob enters hard critical state and is fully incapacitated.
has_limbsdoes the mob have distinct limbs?(arms,legs, chest,head)
head_iconwhat it looks like when the mob is held on your head
healthThe mob's current health.
health_doll_iconif this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi
held_lhleft hand icon for holding mobs
held_rhright hand icon for holding mobs
held_stateicon_state for holding mobs.
held_w_classThe w_class of the holder when held.
imaginary_groupContains the owner and all imaginary friend mobs if they exist, otherwise null
incorporeal_moveAllows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
last_specialUsed by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.
last_vent_dirThe last direction we moved in a vent. Used to make holding two directions feel nice
last_wordsused for database logging
limb_destroyerSets AI behavior that allows mobs to target and dismember limbs with their basic attack.
living_flagsGeneric bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones.
lying_angleNumber of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.
lying_prevValue of lying lying_angle before last change. TODO: Remove the need for this.
maxHealthMaximum health that should be possible.
max_staminaThe max amount of stamina damage we can have at once (Does NOT effect stamcrit thresholds. See crit_threshold)
melee_damage_lowerLower bound of damage done by unarmed melee attacks. Mob code is a mess, only works where this is checked for.
melee_damage_upperUpper bound of damage done by unarmed melee attacks. Please ensure you check the xyz_defenses.dm for the mobs in question to see if it uses this or hardcoded values.
metabolism_efficiencymore or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
mob_biotypesList of biotypes the mob belongs to. Used by diseases and reagents mainly.
mob_moodLiving mob's mood datum
mob_respiration_typeThe type of respiration the mob is capable of doing. Used by adjustOxyLoss.
mob_surgery_speed_modMob specific surgery speed modifier
mobility_flagsFlags that determine the potential of a mob to perform certain actions. Do not change this directly.
move_intentThe movement intent of the mob (run/wal)
navigate_cooldownCooldown of the navigate() verb.
now_pushingUsed by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop.
num_handsHow many hands hands does this mob currently have. Should only be changed through set_num_hands()
num_legsHow many legs does this mob currently have. Should only be changed through set_num_legs()
numbathe id a mob gets when it's created
on_fireHelper vars for quick access to firestacks, these should be updated every time firestacks are adjusted
oxylossOxygen depravation damage (no air in lungs)
pipetrackerCell tracker datum we use to manage the pipes around us, for faster ventcrawling +Should only exist if you're in a pipe
rotate_on_lyingDoes the mob rotate when lying
slowed_by_dragWhether the mob is slowed down when dragging another prone mob
staminalossStamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this.
station_timestamp_timeofdeathThe mob's latest time-of-death, as a station timestamp instead of world.time
status_effectsa list of all status effects the mob has
surgeriesa list of surgery datums. generally empty, they're added when the player wants them.
timeofdeathThe mob's latest time-of-death
toxlossToxic damage caused by being poisoned or radiated
unique_nameif a mob's name should be appended with an id when created e.g. Mob (666)
usable_handsHow many usable hands does this mob currently have. Should only be changed through set_usable_hands()
usable_legsHow many usable legs this mob currently has. Should only be changed through set_usable_legs()
worn_slot_flagsif it can be held, can it be equipped to any slots? (think pAI's on head)

Procs

IsFrozenFROZEN
LifeHandles the biological and general over-time processes of the mob.
PermaSleepingAllows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over)
Write_MemoryProc used by different station pets such as Ian and Poly so that some of their data can persist between rounds. +This base definition only contains a trait and comsig to stop memory from being (over)written. +Specific behavior is defined on subtypes that use it.
ZImpactDamageCalled when this mob is receiving damage from falling
_cause_hallucinationUnless you need this for an explicit reason, use the cause_hallucination wrapper.
add_body_temperature_changeadd_body_temperature_change Adds modifications to the body temperature
add_fov_traitAdds a trait which limits a user's FOV
add_mood_eventAdds a mood event to the mob
add_movespeed_mod_immunitiesIgnores specific slowdowns. Accepts a list of slowdowns.
add_quirkAdds the passed quirk to the mob
add_stun_absorption[proc/apply_status_effect] wrapper specifically for /datum/status_effect/stun_absorption, +specifically so that it's easier to apply stun absorptions with named arguments.
adjust_drunk_effectAdjust the "drunk value" the mob is currently experiencing, +or applies a drunk effect if the mob isn't currently drunk (or tipsy)
adjust_fire_stacksAdjust the amount of fire stacks on a mob
adjust_incapacitated
adjust_status_effects_on_shake_upCLEAR STATUS
adjust_timed_status_effectAdjusts a timed status effect on the mob,taking into account any existing timed status effects. +This can be any status effect that takes into account "duration" with their initialize arguments.
admin_give_delusionAdmin only proc for giving the mob a delusion hallucination with specific arguments
admin_give_hallucinationAdmin only proc for making the mob hallucinate a certain thing
admin_give_speech_impedimentAdmin only proc for giving a certain speech impediment to this mob
amount_incapacitatedProc that returns the remaining duration of the status efect in deciseconds.
appears_aliveHelper to check if we seem to be alive or not
apply_damageApplies damage to this mob.
apply_damagesApplies multiple damages at once via apply_damage
apply_effectapplies various common status effects or common hardcoded mob effects
apply_effectsApplies multiple effects at once via /mob/living/proc/apply_effect
apply_martial_artApply a martial art move from src to target.
apply_prefs_jobApplies the preference options to the spawning mob, taking the job into account. Assumes the client has the proper mind.
apply_status_effectApplies a given status effect to this mob.
apply_suicide_damageThe actual proc that will apply the damage to the suiciding mob. damage_type is the actual type of damage we want to deal, if that matters. +Return TRUE if we actually apply any real damage, FALSE otherwise.
attack_effectsCalled when we take damage, used to cause effects such as a blood splatter.
became_unhuskableCalled when we become unhuskable while already husked
befriendProc for giving a mob a new 'friend', generally used for AI control and targeting. Returns false if already friends.
bleedDragAmountReturns how much blood we're losing from being dragged a tile, from [/mob/living/proc/makeTrail]
can_be_revivedChecks if we are actually able to ressuscitate this mob. +(We don't want to revive then to have them instantly die again)
can_enter_ventChecks if the mob is able to enter the vent, and provides feedback if they are unable to.
can_injectReturns whether or not the mob can be injected. Should not perform any side effects.
can_look_upChecks if the user is incapacitated or on cooldown.
can_suicideChecks if we are in a valid state to suicide (not already suiciding, capable of actually killing ourselves, area checks, etc.) Returns TRUE if we can suicide, FALSE if we can not.
can_trackChecks if this mob can be actively tracked by cameras / AI. +Can optionally be passed a user, which is the mob who is tracking src.
can_unarmed_attackChecks if this mob is in a valid state to punch someone.
check_hit_limb_zone_nameReturns the string form of the def_zone we have hit.
check_stun_immunityChecks if we have stun immunity. Godmode always passes this check.
clean_lipsA wrapper for mob/living/carbon/human/proc/update_lips that sets the lip style and color to null.
clear_mood_eventClears a mood event from the mob
compare_sentience_typeHelper proc for basic and simple animals to return true if the passed sentience type matches theirs +Living doesn't have a sentience type though so it always returns false if not a basic or simple mob
create_thinking_indicatorOverrides for overlay creation
dismembering_strikeReally weird proc that attempts to dismebmer the passed zone if it is at max damage +Unless the attacker is an NPC, in which case it disregards the zone and picks a random one
do_jitter_animationHelper proc that causes the mob to do a jittering animation by jitter_amount. +jitter_amount will only apply up to 300 (maximum jitter effect).
do_slap_animationDoes a slap animation on an atom
do_stagger_animationHelper proc that causes the mob to do a stagger animation. +Doesn't change significantly, just meant to represent swaying back and forth
do_strange_reagent_revivalCalled by strange_reagent, with the amount of healing the strange reagent is doing +It uses the healing amount on brute/fire damage, and then uses the excess healing for revive
dustThis is the proc for turning a mob into ash. +Dusting robots does not eject the MMI, so it's a bit more powerful than gib()
edit_immerse_overlayCalled in /datum/element/immerse/apply_filter
electrocute_actAs the name suggests, this should be called to apply electric shocks.
execute_resistproc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called
expose_reagents
extinguish_mobExtinguish all fire on the mob
fakedeathInduces fake death on a living mob.
final_checkoutInserts in logging and death + mind dissociation when we're fully done with ending the life of our mob, as well as adjust the health. We will disallow re-entering the body when this is called. +The suicide_tool variable is currently only used for humans in order to allow suicide log to properly put stuff in investigate log. +Set apply_damage to FALSE in order to not do damage (in case it's handled elsewhere in the verb or another proc that the suicide tree calls). Will dissociate client from mind and ghost the player regardless.
find_nearest_stair_or_ladderFinds nearest ladder or staircase either up or down.
fully_healA grand proc used whenever this mob is, quote, "fully healed". +Fully healed could mean a number of things, such as "healing all the main damage types", "healing all the organs", etc +So, you can pass flags to specify
gather_belongingsReturns a list of things that the provided mob has, including any storage-capable implants.
get_accessReturns the access list for this mob
get_all_linked_holoparasitesReturns a list of all holoparasites that has this mob as a summoner.
get_allergic_foodtypesGets food this mob is allergic to +Essentially toxic food+, not only disgusting but outright lethal
get_attack_typeReturns the attack damage type of a living mob such as BRUTE.
get_blind_suicide_messageReturns an appropriate string for what people who lack visibility hear when this mob kills itself. +If you don't want a message, prefer to override send_applicable_messages() on your subtype instead.
get_blood_dna_listreturns the mob's dna info as a list, to be inserted in an object's blood_DNA list
get_body_temp_cold_damage_limitReturns the body temperature at which this mob will start taking cold damage.
get_body_temp_heat_damage_limitReturns the body temperature at which this mob will start taking heat damage.
get_body_temp_normalget_body_temp_normal Returns the mobs normal body temperature with any modifications applied
get_body_temp_normal_changeget_body_temp_normal_change Returns the aggregate change to body temperature
get_current_damage_of_typereturn the damage amount for the type given +Simply a wrapper for calling mob getXLoss() procs to get a certain damage type, +when you don't know what damage type you're getting exactly.
get_damage_modReturns a multiplier to apply to a specific kind of damage
get_disliked_foodtypesGets food flags that this mob dislikes
get_drunk_amountHelper to get the amount of drunkness the mob's currently experiencing.
get_equipped_itemsUsed to return a list of equipped items on a mob; does not include held items (use get_all_gear)
get_exp_listReturns an assoc list of assignments and minutes for updating a client's exp time in the databse.
get_food_taste_reactionGets the food reaction a mob would normally have from the given food item, +assuming that no check_liked callback was used in the edible component.
get_fullnessGet the fullness of the mob
get_idcardGets ID card from a mob. +Argument:
get_incoming_damage_modifierUsed in tandem with /mob/living/proc/apply_damage to calculate modifier applied into incoming damage
get_liked_foodtypesGets food flags that this mob likes
get_organic_healthReturns the health of the mob while ignoring damage of non-organic (prosthetic) limbs +Used by cryo cells to not permanently imprison those with damage from prosthetics, +as they cannot be healed through chemicals.
get_pixel_y_offset_standingReturns what the body_position_pixel_y_offset should be if the current size were value
get_quirkGetter function for a mob's quirk
get_quirk_stringget_quirk_string() is used to get a printable string of all the quirk traits someone has for certain criteria
get_status_effect_examinationsShows any and all examine text related to any status effects the user has.
get_taste_sensitivityGets taste sensitivity of given mob
get_timed_status_effect_durationGets how many deciseconds are remaining in +the duration of the passed status effect on this mob.
get_total_damagereturn the total damage of all types which update your health
get_toxic_foodtypesGets food flags that this mob hates +Toxic food is the only category that ignores ageusia, KEEP IT LIKE THAT!
get_visible_suicide_messageReturns a subtype-specific flavorful string pertaining to this exact living mob's ending their own life to those who can see it (visible message). +If you don't want a message, prefer to override send_applicable_messages() on your subtype instead.
gibBlow up the mob into giblets
gravity_setupLiving Mob use event based gravity +We check here to ensure we haven't dropped any gravity changes
handle_ricochetSimplified ricochet angle calculation for mobs (also the base version doesn't work on mobs)
handle_suicideActually handles the bare basics of the suicide process. Message type is the message we want to dispatch in the world regarding the suicide, using the defines in this file. +Override this ENTIRELY if you want to add any special behavior to your suicide handling, if you fuck up the order of operations then shit will break.
handle_suicide_damage_spreadIf we want to apply multiple types of damage to a carbon mob based on the way they suicide, this is the proc that handles that. +Currently only compatible with Brute, Burn, Toxin, and Suffocation Damage. damage_type is the bitflag that carries the information.
handle_ventcrawlHandles the entrance and exit on ventcrawling
has_reagentCheck if the mob contains this reagent.
heal_and_reviveHeals up the mob up to [heal_to] of the main damage types. +EX: If heal_to is 50, and they have 150 brute damage, they will heal 100 brute (up to 50 brute damage)
heal_bodypart_damageheal ONE external organ, organ gets randomly selected from damaged ones.
heal_damage_typeSimply a wrapper for calling mob adjustXLoss() procs to heal a certain damage type, +when you don't know what damage type you're healing exactly.
heal_ordered_damageheal up to amount damage, in a given order
heal_overall_damageheal MANY bodyparts, in random order. note: stamina arg nonfunctional for carbon mobs
ignore_slowdownIgnores all slowdowns that lack the IGNORE_NOSLOW flag.
in_fovIs observed_atom in a mob's field of view? This takes blindness, nearsightness and FOV into consideration
incapacitate
incapacitatedChecks if a mob is incapacitated
is_ears_coveredChecks if the mob's ears (BOTH EARS, BOWMANS NEED NOT APPLY) are covered by something. +Returns the atom covering the mob's ears, or null if their ears are uncovered.
is_eyes_coveredChecks if our mob has their eyes covered.
is_face_visibleOnly defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces
is_mouth_coveredChecks if our mob has their mouth covered.
is_pepper_proofChecks if our mob is protected from pepper spray.
item_tendingHandles any use of using a surgical tool or item on a mob to tend to them. +The sole reason this is a separate proc is so carbons can tend wounds AFTER the check for surgery.
lazarus_reviveProc called when TARGETED by a lazarus injector
look_downlook_down Changes the perspective of the mob to any openspace turf below the mob
look_uplook_up Changes the perspective of the mob to any openspace turf above the mob
lying_angle_on_movementCalled by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.
move_into_ventMoves living mob directly into the vent as a ventcrawler
on_deathcoma_trait_gainCalled when TRAIT_DEATHCOMA is added to the mob.
on_deathcoma_trait_lossCalled when TRAIT_DEATHCOMA is removed from the mob.
on_fallCalled when mob changes from a standing position into a prone while lacking the ability to stand up at the moment.
on_fire_stackHandles effects happening when mob is on normal fire
on_floored_endProc to append behavior to the condition of being floored. Called when the condition ends.
on_floored_startProc to append behavior to the condition of being floored. Called when the condition starts.
on_floored_trait_gainCalled when TRAIT_FLOORED is added to the mob.
on_floored_trait_lossCalled when TRAIT_FLOORED is removed from the mob.
on_force_gravityCalled when TRAIT_FORCED_GRAVITY is gained or lost
on_forced_standing_trait_gainCalled when TRAIT_FORCED_STANDING is added to the mob.
on_forced_standing_trait_lossCalled when TRAIT_FORCED_STANDING is removed from the mob.
on_handsblocked_endProc to append behavior to the condition of being handsblocked. Called when the condition ends.
on_handsblocked_startProc to append behavior to the condition of being handsblocked. Called when the condition starts.
on_handsblocked_trait_gainCalled when TRAIT_HANDS_BLOCKED is added to the mob.
on_handsblocked_trait_lossCalled when TRAIT_HANDS_BLOCKED is removed from the mob.
on_ignore_gravityCalled when TRAIT_IGNORING_GRAVITY is gained or lost
on_immobilized_trait_gainCalled when TRAIT_IMMOBILIZED is added to the mob.
on_immobilized_trait_lossCalled when TRAIT_IMMOBILIZED is removed from the mob.
on_incapacitated_trait_gainCalled when [TRAIT_INCAPACITATED] is added to the mob.
on_incapacitated_trait_lossCalled when [TRAIT_INCAPACITATED] is removed from the mob.
on_knockedout_trait_gainCalled when TRAIT_KNOCKEDOUT is added to the mob.
on_knockedout_trait_lossCalled when TRAIT_KNOCKEDOUT is removed from the mob.
on_loc_force_gravityCalled when our loc's TRAIT_FORCED_GRAVITY is gained or lost
on_lying_downProc to append behavior related to lying down.
on_movement_type_flag_disabledFrom [element/movetype_handler/on_movement_type_trait_loss()]
on_movement_type_flag_enabledFrom [element/movetype_handler/on_movement_type_trait_gain()]
on_negate_gravityCalled when TRAIT_NEGATES_GRAVITY is gained or lost
on_pull_blocked_trait_gainCalled when TRAIT_PULL_BLOCKED is added to the mob.
on_pull_blocked_trait_lossCalled when TRAIT_PULL_BLOCKED is removed from the mob.
on_restrained_trait_gainCalled when TRAIT_RESTRAINED is added to the mob.
on_restrained_trait_lossCalled when TRAIT_RESTRAINED is removed from the mob.
on_skittish_trait_gainCalled when [TRAIT_SKITTISH] is added to the mob.
on_skittish_trait_lossCalled when [TRAIT_SKITTISH] is removed from the mob.
on_standing_upProc to append behavior related to lying down.
on_ui_blocked_trait_gainCalled when TRAIT_UI_BLOCKED is added to the mob.
on_ui_blocked_trait_lossCalled when TRAIT_UI_BLOCKED is removed from the mob.
radiocaps the length of individual letters to 3: ex: heeeeeeyy -> heeeyy +prevents TTS from choking on unrealistic text while keeping emphasis
refresh_gravityHandles gravity effects. Call if something about our gravity has potentially changed!
register_init_signalsCalled on /mob/living/Initialize(mapload), for the mob to register to relevant signals.
remove_body_temperature_changeremove_body_temperature_change Removes the modifications to the body temperature
remove_fov_traitRemoves a trait which limits a user's FOV
remove_movespeed_mod_immunitiesUnignores specific slowdowns. Accepts a list of slowdowns.
remove_status_effectRemoves all instances of a given status effect from this mob
remove_stun_absorptionRemoves all stub absorptions with the passed source.
resist_bucklesee defines/combat.dm, this should be baseline 60% +Resist chance divided by the value imparted by your grab state. It isn't until you reach neckgrab that you gain a penalty to escaping a grab.
resolve_right_click_attackCalled when an unarmed attack performed with right click hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro. +This will call a secondary attack proc that can vary from mob type to mob type on the target. +Sometimes, a target is interacted differently when right_clicked, in that case the secondary attack proc should return +a SECONDARY_ATTACK_* value that's not SECONDARY_ATTACK_CALL_NORMAL. +Otherwise, it should just return SECONDARY_ATTACK_CALL_NORMAL. Failure to do so will result in an exception (runtime error).
resolve_unarmed_attackCalled when the unarmed attack hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro or the right_click_attack_chain proc. +This will call an attack proc that can vary from mob type to mob type on the target.
reviveProc used to resuscitate a mob, bringing them back to life.
right_click_attack_chainChecks for RIGHT_CLICK in modifiers and runs resolve_right_click_attack if so. Returns TRUE if normal chain blocked.
send_applicable_messagesSend all suicide-related messages out to the world. message_type can be used to change out the dispatched suicide message depending on the suicide context.
setGrabStateUpdates the grab state of the mob and updates movespeed
set_body_positionChanges the value of the [living/body_position] variable. Call this before set_lying_angle()
set_buckledReports the event of the change in value of the buckled variable.
set_drunk_effectDirectly sets the "drunk value" the mob is currently experiencing to the passed value, +or applies a drunk effect with the passed value if the mob isn't currently drunk
set_facial_hair_gradient_colorSet the facial hair gradient color of a human. +Update calls update_body_parts().
set_facial_hair_gradient_styleSet the facial hair gradient style of a human. +Update calls update_body_parts().
set_facial_haircolorSet the facial hair color of a human. +Override instead sets the override value, it will not be changed away from the override value until override is set to null. +Update calls update_body_parts().
set_facial_hairstyleSet the facial hair style of a human. +Update calls update_body_parts().
set_fire_stacksSet the fire stacks on a mob
set_hair_gradient_colorSet the hair gradient color of a human. +Update calls update_body_parts().
set_hair_gradient_styleSet the hair gradient style of a human. +Update calls update_body_parts().
set_haircolorSet the hair color of a human. +Override instead sets the override value, it will not be changed away from the override value until override is set to null. +Update calls update_body_parts().
set_hairstyleSet the hair style of a human. +Update calls update_body_parts().
set_healthSets the current mob's health value. Do not call directly if you don't know what you are doing, use the damage procs, instead.
set_incapacitated
set_lying_angleChanges the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.
set_lying_downChange the [body_position] to LYING_DOWN and update associated behavior.
set_num_handsProc to modify the value of num_hands and hook behavior associated to this event.
set_num_legsProc to modify the value of num_legs and hook behavior associated to this event.
set_restingProc to hook behavior to the change of value in the resting variable.
set_safe_hunger_levelSets the mob's hunger levels to a safe overall level. Useful for TRAIT_NOHUNGER species changes.
set_suicideProc that handles adding the TRAIT_SUICIDED on the mob in question, as well as additional operations to ensure that everything goes smoothly when we're certain that this person is going to kill themself. +suicide_state is a boolean, and we handle adding/removing the trait in question. Have the trait function reference this mob as the source if we want to do in-depth tracking of where a suicided trait comes from. +For example, the /mob/dead/observer that will inevitably come from the suicidee will inherit the suicided trait upon creation, and keep this reference. Handy for doing checking should we need it.
set_timed_status_effectSets a timed status effect of some kind on a mob to a specific value. +If only_if_higher is TRUE, it will only set the value up to the passed duration, +so any pre-existing status effects of the same type won't be reduced down
set_usable_handsProc to modify the value of usable_hands and hook behavior associated to this event.
set_usable_legsProc to modify the value of usable_legs and hook behavior associated to this event.
shared_living_ui_distancepublic
singularity_actLogs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.
sleeping_carp_helpVerb added to humans who learn the art of the sleeping carp.
spawn_gibsSpawn bloody gib mess on the floor
spill_organsDrops a mob's organs on the floor
spread_bodypartsLaunches all bodyparts away from the mob
suicideVerb to simply kill yourself (in a very visual way to all players) in game! How family-friendly. Can be governed by a series of multiple checks (i.e. confirmation, is it allowed in this area, etc.) which are +handled and called by the proc this verb invokes. It's okay to block this, because we typically always give mobs in-game the ability to Ghost out of their current mob irregardless of context. This, in contrast, +can have as many different checks as you desire to prevent people from doing the deed to themselves.
suicide_alertSends a TGUI Alert to the person attempting to commit suicide. Returns TRUE if they confirm they want to die, FALSE otherwise. Check can_suicide here as well.
suicide_logInserts logging in both the mob's logs and the investigate log pertaining to their death. Suicide tool is the object we used to commit suicide, if one was held and used (presently only humans use this arg).
take_bodypart_damagedamage ONE external organ, organ gets randomly selected from damaged ones.
take_overall_damagedamage MANY bodyparts, in random order. note: stamina arg nonfunctional for carbon mobs
tasteNon destructively tastes a reagent container +and gives feedback to the user.
toggle_move_intentToggle the move intent of the mob
tram_slam_landA proc triggered by callback when someone gets slammed by the tram and lands somewhere.
transfer_blood_toBLOOD TRANSFERS
treat_messageTreats the passed message with things that may modify speech (stuttering, slurring etc).
try_injectLike can_inject, but it can perform side effects.
undense_changedCalled when TRAIT_UNDENSE is gained or lost
unfriendProc for removing a friend you added with the proc 'befriend'. Returns true if you removed a friend.
unignore_slowdownUnignores all slowdowns that lack the IGNORE_NOSLOW flag.
update_fire_overlaySets fire overlay of the mob.
update_fovGetting a direction vector +Calculate angle +Calculate vision angle and compare +Updates the applied FOV value and applies the handler to client if able
update_fov_clientUpdates the FOV for the client.
update_fullscreenProc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc.
update_lipsUsed to update the makeup on a human and apply/remove lipstick traits, then store/unstore them on the head object in case it gets severed
update_medhud_on_signalUpdates medhud when recieving relevant signals.
update_pipe_visionEverything related to pipe vision on ventcrawling is handled by update_pipe_vision(). +Called on exit, entrance, and pipenet differences (e.g. moving to a new pipenet). +One important thing to note however is that the movement of the client's eye is handled by the relaymove() proc in /obj/machinery/atmospherics. +We move first and then call update. Dont flip this around
update_restingProc to append and redefine behavior to the change of the [/mob/living/var/resting] variable.
update_succumb_actionCalled when traits that alter succumbing are added/removed.
update_transformCalled whenever the mob is to be resized or when lying/standing up for carbons. +IMPORTANT: Multiple animate() calls do not stack well, so try to do them all at once if you can.
update_wound_overlaysProc that only really gets called for humans, to handle bleeding overlays.
wabbajackPolymorphs our mob into another mob. +If successful, our current mob is qdeleted!
wear_mask_updateHandle stuff to update when a mob equips/unequips a mask.
whisperLiving level whisper.
will_escape_storageWhether or not this mob will escape from storages while being picked up/held.
zMoveWe want to relay the zmovement to the buckled atom when possible +and only run what we can't have on buckled.zMove() or buckled.can_z_move() here. +This way we can avoid esoteric bugs, copypasta and inconsistencies.
+

Var Details

aheal_action + + + + +

+

The holder for this mob living's admin heal action. It should never be set to null or modified except on qdel

blood_volume + + + + +

+

how much blood the mob has

body_maptext_height_offset + + + + +

+

The height offset of a mob's maptext due to their current size.

body_position + + + + +

+

Variable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).

body_position_pixel_x_offset + + + + +

+

The x amount a mob's sprite should be offset due to the current position they're in

body_position_pixel_y_offset + + + + +

+

The y amount a mob's sprite should be offset due to the current position they're in or size (e.g. lying down moves your sprite down)

body_temp_changes + + + + +

+

List of changes to body temperature, used by desease symtoms like fever

bruteloss + + + + +

+

Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)

bubble_icon + + + + +

+

used to prevent spam with smoke reagent reaction on mob. +what icon the mob uses for speechbubbles

butcher_difficulty + + + + +

+

effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier

butcher_results + + + + +

+

these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness

can_be_held + + + + +

+

whether this can be picked up and held.

can_buckle_to + + + + +

+

Is this mob allowed to be buckled/unbuckled to/from things?

combat_mode + + + + +

+

If combat mode is on or not

crit_threshold + + + + +

+

when the mob goes from "normal" to crit

current_size + + + + +

+

Tracks the current size of the mob in relation to its original size. Use update_transform(resize) to change it.

current_turf_slowdown + + + + +

+

what multiplicative slowdown we get from turfs currently.

death_message + + + + +

+

A message sent when the mob dies, with the *deathgasp emote

death_sound + + + + +

+

A sound sent when the mob dies, with the *deathgasp emote

default_num_hands + + + + +

+

How many hands does this mob have by default. This shouldn't change at runtime.

default_num_legs + + + + +

+

How many legs does this mob have by default. This shouldn't change at runtime.

diseases + + + + +

+

list of all diseases in a mob

fire_stack_decay_rate + + + + +

+

Rate at which fire stacks should decay from this mob

fireloss + + + + +

+

Burn damage caused by being way too hot, too cold or burnt.

fov_traits + + + + +

+

Lazy list of FOV traits that will apply a FOV view when handled.

fov_view + + + + +

+

FOV view that is applied from either nativeness or traits

gravity_state + + + + +

+

What our current gravity state is. Used to avoid duplicate animates and such

guaranteed_butcher_results + + + + +

+

these will always be yielded from butchering

hardcrit_threshold + + + + +

+

When the mob enters hard critical state and is fully incapacitated.

has_limbs + + + + +

+

does the mob have distinct limbs?(arms,legs, chest,head)

head_icon + + + + +

+

what it looks like when the mob is held on your head

health + + + + +

+

The mob's current health.

health_doll_icon + + + + +

+

if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi

held_lh + + + + +

+

left hand icon for holding mobs

held_rh + + + + +

+

right hand icon for holding mobs

held_state + + + + +

+

icon_state for holding mobs.

held_w_class + + + + +

+

The w_class of the holder when held.

imaginary_group + + + + +

+

Contains the owner and all imaginary friend mobs if they exist, otherwise null

incorporeal_move + + + + +

+

Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.

+

FALSE is off, INCORPOREAL_MOVE_BASIC is normal, INCORPOREAL_MOVE_SHADOW is for ninjas +and INCORPOREAL_MOVE_JAUNT is blocked by holy water/salt

last_special + + + + +

+

Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.

last_vent_dir + + + + +

+

The last direction we moved in a vent. Used to make holding two directions feel nice

last_words + + + + +

+

used for database logging

limb_destroyer + + + + +

+

Sets AI behavior that allows mobs to target and dismember limbs with their basic attack.

living_flags + + + + +

+

Generic bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones.

lying_angle + + + + +

+

Number of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.

lying_prev + + + + +

+

Value of lying lying_angle before last change. TODO: Remove the need for this.

maxHealth + + + + +

+

Maximum health that should be possible.

max_stamina + + + + +

+

The max amount of stamina damage we can have at once (Does NOT effect stamcrit thresholds. See crit_threshold)

melee_damage_lower + + + + +

+

Lower bound of damage done by unarmed melee attacks. Mob code is a mess, only works where this is checked for.

melee_damage_upper + + + + +

+

Upper bound of damage done by unarmed melee attacks. Please ensure you check the xyz_defenses.dm for the mobs in question to see if it uses this or hardcoded values.

metabolism_efficiency + + + + +

+

more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..

mob_biotypes + + + + +

+

List of biotypes the mob belongs to. Used by diseases and reagents mainly.

mob_mood + + + + +

+

Living mob's mood datum

mob_respiration_type + + + + +

+

The type of respiration the mob is capable of doing. Used by adjustOxyLoss.

mob_surgery_speed_mod + + + + +

+

Mob specific surgery speed modifier

mobility_flags + + + + +

+

Flags that determine the potential of a mob to perform certain actions. Do not change this directly.

move_intent + + + + +

+

The movement intent of the mob (run/wal)

navigate_cooldown + + + + +

+

Cooldown of the navigate() verb.

now_pushing + + + + +

+

Used by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop.

num_hands + + + + +

+

How many hands hands does this mob currently have. Should only be changed through set_num_hands()

num_legs + + + + +

+

How many legs does this mob currently have. Should only be changed through set_num_legs()

numba + + + + +

+

the id a mob gets when it's created

on_fire + + + + +

+

Helper vars for quick access to firestacks, these should be updated every time firestacks are adjusted

oxyloss + + + + +

+

Oxygen depravation damage (no air in lungs)

pipetracker + + + + +

+

Cell tracker datum we use to manage the pipes around us, for faster ventcrawling +Should only exist if you're in a pipe

rotate_on_lying + + + + +

+

Does the mob rotate when lying

slowed_by_drag + + + + +

+

Whether the mob is slowed down when dragging another prone mob

staminaloss + + + + +

+

Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this.

station_timestamp_timeofdeath + + + + +

+

The mob's latest time-of-death, as a station timestamp instead of world.time

status_effects + + + + +

+

a list of all status effects the mob has

surgeries + + + + +

+

a list of surgery datums. generally empty, they're added when the player wants them.

timeofdeath + + + + +

+

The mob's latest time-of-death

toxloss + + + + +

+

Toxic damage caused by being poisoned or radiated

unique_name + + + + +

+

if a mob's name should be appended with an id when created e.g. Mob (666)

usable_hands + + + + +

+

How many usable hands does this mob currently have. Should only be changed through set_usable_hands()

usable_legs + + + + +

+

How many usable legs this mob currently has. Should only be changed through set_usable_legs()

worn_slot_flags + + + + +

+

if it can be held, can it be equipped to any slots? (think pAI's on head)

Proc Details

IsFrozen +

+

FROZEN

Life +

+

Handles the biological and general over-time processes of the mob.

+

Arguments:

+
    +
  • seconds_per_tick: The amount of time that has elapsed since this last fired.
  • +
  • times_fired: The number of times SSmobs has fired
  • +

PermaSleeping +

+

Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over)

Write_Memory +

+

Proc used by different station pets such as Ian and Poly so that some of their data can persist between rounds. +This base definition only contains a trait and comsig to stop memory from being (over)written. +Specific behavior is defined on subtypes that use it.

ZImpactDamage +

+

Called when this mob is receiving damage from falling

+
    +
  • impacted_turf - the turf we are falling onto
  • +
  • levels - the number of levels we are falling
  • +

_cause_hallucination +

+

Unless you need this for an explicit reason, use the cause_hallucination wrapper.

add_body_temperature_change +

+

add_body_temperature_change Adds modifications to the body temperature

+

This collects all body temperature changes that the mob is experiencing to the list body_temp_changes +the aggrogate result is used to derive the new body temperature for the mob

+

arguments:

+
    +
  • key_name (str) The unique key for this change, if it already exist it will be overridden
  • +
  • amount (int) The amount of change from the base body temperature
  • +

add_fov_trait +

+

Adds a trait which limits a user's FOV

add_mood_event +

+

Adds a mood event to the mob

add_movespeed_mod_immunities +

+

Ignores specific slowdowns. Accepts a list of slowdowns.

add_quirk +

+

Adds the passed quirk to the mob

+

Arguments

+
    +
  • quirktype - Quirk typepath to add to the mob +If not passed, defaults to this mob's client.
  • +
+

Returns TRUE on success, FALSE on failure (already has the quirk, etc)

add_stun_absorption +

+

[proc/apply_status_effect] wrapper specifically for /datum/status_effect/stun_absorption, +specifically so that it's easier to apply stun absorptions with named arguments.

+

If the mob already has a stun absorption from the same source, will not re-apply the effect, +unless the new effect's priority is higher than the old effect's priority.

+

Arguments

+
    +
  • source - the source of the stun absorption.
  • +
  • duration - how long does the stun absorption last before it ends? -1 or null (or infinity) = infinite duration
  • +
  • priority - what is this effect's priority to other stun absorptions? higher = more priority
  • +
  • message - optional, "other message" arg of visible message, shown on trigger. Use %EFFECT_OWNER if you want the owner's name to be inserted.
  • +
  • self_message - optional, "self message" arg of visible message, shown on trigger
  • +
  • examine_message - optional, what is shown on examine of the mob.
  • +
  • max_seconds_of_stuns_blocked - optional, how many seconds of stuns can it block before deleting? the stun that breaks over this number is still blocked, even if it is much higher.
  • +
  • delete_after_passing_max - optional, if TRUE, after passing the max seconds of stuns blocked, we will delete ourself. +If FALSE, we will instead recharge after some time.
  • +
  • recharge_time - optional, if [delete_after_passing_max] is FALSE, this is how long we will wait before recharging. +does nothing if [delete_after_passing_max] is TRUE.
  • +
+

Returns an instance of a stun absorption effect, or NULL if failure

adjust_drunk_effect +

+

Adjust the "drunk value" the mob is currently experiencing, +or applies a drunk effect if the mob isn't currently drunk (or tipsy)

+

The drunk effect doesn't have a set duration, like dizziness or drugginess, +but instead relies on a value that decreases every status effect tick (2 seconds) by: +4% the current drunk_value + 0.01

+

A "drunk value" of 6 is the border between "tipsy" and "drunk".

+

amount - the amount of "drunkness" to apply to the mob. +down_to - the lower end of the clamp, when adding the value +up_to - the upper end of the clamp, when adding the value

adjust_fire_stacks +

+

Adjust the amount of fire stacks on a mob

+

This modifies the fire stacks on a mob.

+

Vars:

+
    +
  • stacks: int The amount to modify the fire stacks
  • +
  • fire_type: type Type of fire status effect that we apply, should be subtype of /datum/status_effect/fire_handler/fire_stacks
  • +

adjust_incapacitated +

+
    +
  • Proc that adds duration to an incapacitated status effect.
  • +
  • Checks if the mob has the status effect. If yes, it adds the amount passed in arguments to the remaining duration. If not, applies the status effect
  • +
  • and sets the duration to the amount passed in arguments.
  • +
  • +
      +
    • amount - Amount of time the status effect should be set to, in deciseconds.
    • +
    +
  • +
  • +
      +
    • ignore_canstun - If TRUE, the mob's resistance to stuns is ignored.
    • +
    +
  • +

adjust_status_effects_on_shake_up +

+

CLEAR STATUS

adjust_timed_status_effect +

+

Adjusts a timed status effect on the mob,taking into account any existing timed status effects. +This can be any status effect that takes into account "duration" with their initialize arguments.

+

Positive durations will add deciseconds to the duration of existing status effects +or apply a new status effect of that duration to the mob.

+

Negative durations will remove deciseconds from the duration of an existing version of the status effect, +removing the status effect entirely if the duration becomes less than zero (less than the current world time).

+

duration - the duration, in deciseconds, to add or remove from the effect +effect - the type of status effect being adjusted on the mob +max_duration - optional - if set, positive durations will only be added UP TO the passed max duration

admin_give_delusion +

+

Admin only proc for giving the mob a delusion hallucination with specific arguments

admin_give_hallucination +

+

Admin only proc for making the mob hallucinate a certain thing

admin_give_speech_impediment +

+

Admin only proc for giving a certain speech impediment to this mob

amount_incapacitated +

+

Proc that returns the remaining duration of the status efect in deciseconds.

appears_alive +

+

Helper to check if we seem to be alive or not

apply_damage +

+

Applies damage to this mob.

+

Sends COMSIG_MOB_APPLY_DAMAGE

+

Arguuments:

+
    +
  • damage - Amount of damage
  • +
  • damagetype - What type of damage to do. one of BRUTE, BURN, TOX, OXY, STAMINA, BRAIN.
  • +
  • def_zone - What body zone is being hit. Or a reference to what bodypart is being hit.
  • +
  • blocked - Percent modifier to damage. 100 = 100% less damage dealt, 50% = 50% less damage dealt.
  • +
  • forced - "Force" exactly the damage dealt. This means it skips damage modifier from blocked.
  • +
  • spread_damage - For carbons, spreads the damage across all bodyparts rather than just the targeted zone.
  • +
  • wound_bonus - Bonus modifier for wound chance.
  • +
  • bare_wound_bonus - Bonus modifier for wound chance on bare skin.
  • +
  • sharpness - Sharpness of the weapon.
  • +
  • attack_direction - Direction of the attack from the attacker to [src].
  • +
  • attacking_item - Item that is attacking [src].
  • +
+

Returns the amount of damage dealt.

apply_damages +

+

Applies multiple damages at once via apply_damage

apply_effect +

+

applies various common status effects or common hardcoded mob effects

apply_effects +

+

Applies multiple effects at once via /mob/living/proc/apply_effect

+

Pretty much only used for projectiles applying effects on hit, +don't use this for anything else please just cause the effects directly

apply_martial_art +

+

Apply a martial art move from src to target.

+

This is used to process martial art attacks against nonhumans. +It is also used to process martial art attacks by nonhumans, even against humans +Human vs human attacks are handled in species code right now.

apply_prefs_job +

+

Applies the preference options to the spawning mob, taking the job into account. Assumes the client has the proper mind.

apply_status_effect +

+

Applies a given status effect to this mob.

+

new_effect - TYPEPATH of a status effect to apply. +Additional status effect arguments can be passed.

+

Returns the instance of the created effected, if successful. +Returns 'null' if unsuccessful.

apply_suicide_damage +

+

The actual proc that will apply the damage to the suiciding mob. damage_type is the actual type of damage we want to deal, if that matters. +Return TRUE if we actually apply any real damage, FALSE otherwise.

attack_effects +

+

Called when we take damage, used to cause effects such as a blood splatter.

+

Return TRUE if an effect was done, FALSE otherwise.

became_unhuskable +

+

Called when we become unhuskable while already husked

befriend +

+

Proc for giving a mob a new 'friend', generally used for AI control and targeting. Returns false if already friends.

bleedDragAmount +

+

Returns how much blood we're losing from being dragged a tile, from [/mob/living/proc/makeTrail]

can_be_revived +

+

Checks if we are actually able to ressuscitate this mob. +(We don't want to revive then to have them instantly die again)

can_enter_vent +

+

Checks if the mob is able to enter the vent, and provides feedback if they are unable to.

can_inject +

+

Returns whether or not the mob can be injected. Should not perform any side effects.

+

Arguments:

+
    +
  • user - The user trying to inject the mob.
  • +
  • target_zone - The zone being targeted.
  • +
  • injection_flags - A bitflag for extra properties to check. +Check _DEFINES/injection.dm for more details, specifically the ones prefixed INJECT_CHECK*.
  • +

can_look_up +

+

Checks if the user is incapacitated or on cooldown.

can_suicide +

+

Checks if we are in a valid state to suicide (not already suiciding, capable of actually killing ourselves, area checks, etc.) Returns TRUE if we can suicide, FALSE if we can not.

can_track +

+

Checks if this mob can be actively tracked by cameras / AI. +Can optionally be passed a user, which is the mob who is tracking src.

can_unarmed_attack +

+

Checks if this mob is in a valid state to punch someone.

check_hit_limb_zone_name +

+

Returns the string form of the def_zone we have hit.

check_stun_immunity +

+

Checks if we have stun immunity. Godmode always passes this check.

+
    +
  • check_flags - bitflag of status flags that must be set in order for the stun to succeed. Passing NONE will always return false.
  • +
  • force_stun - whether we ignore stun immunity with the exception of godmode
  • +
+

returns TRUE if stun immune, FALSE otherwise

clean_lips +

+

A wrapper for mob/living/carbon/human/proc/update_lips that sets the lip style and color to null.

clear_mood_event +

+

Clears a mood event from the mob

compare_sentience_type +

+

Helper proc for basic and simple animals to return true if the passed sentience type matches theirs +Living doesn't have a sentience type though so it always returns false if not a basic or simple mob

create_thinking_indicator +

+

Overrides for overlay creation

dismembering_strike +

+

Really weird proc that attempts to dismebmer the passed zone if it is at max damage +Unless the attacker is an NPC, in which case it disregards the zone and picks a random one

+

Cannot dismember heads

+

Returns a falsy value (null) on success, and a truthy value (the hit zone) on failure

do_jitter_animation +

+

Helper proc that causes the mob to do a jittering animation by jitter_amount. +jitter_amount will only apply up to 300 (maximum jitter effect).

do_slap_animation +

+

Does a slap animation on an atom

+

Uses do_attack_animation to animate the attacker attacking +then draws a hand moving across the top half of the target(where a mobs head would usually be) to look like a slap +Arguments:

+
    +
  • atom/A - atom being slapped
  • +

do_stagger_animation +

+

Helper proc that causes the mob to do a stagger animation. +Doesn't change significantly, just meant to represent swaying back and forth

do_strange_reagent_revival +

+

Called by strange_reagent, with the amount of healing the strange reagent is doing +It uses the healing amount on brute/fire damage, and then uses the excess healing for revive

dust +

+

This is the proc for turning a mob into ash. +Dusting robots does not eject the MMI, so it's a bit more powerful than gib()

+

Arguments:

+
    +
  • just_ash - If TRUE, ash will spawn where the mob was, as opposed to remains
  • +
  • drop_items - Should the mob drop their items before dusting?
  • +
  • force - Should this mob be FORCABLY dusted?
  • +

edit_immerse_overlay +

+

Called in /datum/element/immerse/apply_filter

electrocute_act +

+

As the name suggests, this should be called to apply electric shocks.

execute_resist +

+

proc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called

expose_reagents +

+
    +
  • +

    Handles exposing a mob to reagents.

    +
  • +
  • +

    If the methods include INGEST the mob tastes the reagents.

    +
  • +
  • +

    If the methods include VAPOR it incorporates permiability protection.

    +
  • +

extinguish_mob +

+

Extinguish all fire on the mob

+

This removes all fire stacks, fire effects, alerts, and moods +Signals the extinguishing.

fakedeath +

+

Induces fake death on a living mob.

final_checkout +

+

Inserts in logging and death + mind dissociation when we're fully done with ending the life of our mob, as well as adjust the health. We will disallow re-entering the body when this is called. +The suicide_tool variable is currently only used for humans in order to allow suicide log to properly put stuff in investigate log. +Set apply_damage to FALSE in order to not do damage (in case it's handled elsewhere in the verb or another proc that the suicide tree calls). Will dissociate client from mind and ghost the player regardless.

find_nearest_stair_or_ladder +

+

Finds nearest ladder or staircase either up or down.

+

Arguments:

+
    +
  • direction - UP or DOWN.
  • +

fully_heal +

+

A grand proc used whenever this mob is, quote, "fully healed". +Fully healed could mean a number of things, such as "healing all the main damage types", "healing all the organs", etc +So, you can pass flags to specify

+

See [mobs.dm] for more information on the flags

+

If you ever think "hey I'm adding something and want it to be reverted on full heal", +consider handling it via signal instead of implementing it in this proc

gather_belongings +

+

Returns a list of things that the provided mob has, including any storage-capable implants.

get_access +

+

Returns the access list for this mob

get_all_linked_holoparasites +

+

Returns a list of all holoparasites that has this mob as a summoner.

get_allergic_foodtypes +

+

Gets food this mob is allergic to +Essentially toxic food+, not only disgusting but outright lethal

get_attack_type +

+

Returns the attack damage type of a living mob such as BRUTE.

get_blind_suicide_message +

+

Returns an appropriate string for what people who lack visibility hear when this mob kills itself. +If you don't want a message, prefer to override send_applicable_messages() on your subtype instead.

get_blood_dna_list +

+

returns the mob's dna info as a list, to be inserted in an object's blood_DNA list

get_body_temp_cold_damage_limit +

+

Returns the body temperature at which this mob will start taking cold damage.

get_body_temp_heat_damage_limit +

+

Returns the body temperature at which this mob will start taking heat damage.

get_body_temp_normal +

+

get_body_temp_normal Returns the mobs normal body temperature with any modifications applied

+

This applies the result from proc/get_body_temp_normal_change() against the BODYTEMP_NORMAL and returns the result

+

arguments:

+
    +
  • apply_change (optional) Default True This applies the changes to body temperature normal
  • +

get_body_temp_normal_change +

+

get_body_temp_normal_change Returns the aggregate change to body temperature

+

This aggregates all the changes in the body_temp_changes list and returns the result

get_current_damage_of_type +

+

return the damage amount for the type given +Simply a wrapper for calling mob getXLoss() procs to get a certain damage type, +when you don't know what damage type you're getting exactly.

get_damage_mod +

+

Returns a multiplier to apply to a specific kind of damage

get_disliked_foodtypes +

+

Gets food flags that this mob dislikes

get_drunk_amount +

+

Helper to get the amount of drunkness the mob's currently experiencing.

get_equipped_items +

+

Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)

+

Argument(s):

+
    +
  • Optional - include_pockets (TRUE/FALSE), whether or not to include the pockets and suit storage in the returned list
  • +
  • Optional - include_accessories (TRUE/FALSE), whether or not to include the accessories in the returned list
  • +

get_exp_list +

+

Returns an assoc list of assignments and minutes for updating a client's exp time in the databse.

+

Arguments:

+
    +
  • minutes - The number of minutes to allocate to each valid role.
  • +

get_food_taste_reaction +

+

Gets the food reaction a mob would normally have from the given food item, +assuming that no check_liked callback was used in the edible component.

+

Does not get called if the owner has ageusia.

get_fullness +

+

Get the fullness of the mob

+

This returns a value form 0 upwards to represent how full the mob is. +The value is a total amount of consumable reagents in the body combined +with the total amount of nutrition they have. +This does not have an upper limit.

get_idcard +

+

Gets ID card from a mob. +Argument:

+
    +
  • hand_firsts - boolean that checks the hands of the mob first if TRUE.
  • +

get_incoming_damage_modifier +

+

Used in tandem with /mob/living/proc/apply_damage to calculate modifier applied into incoming damage

get_liked_foodtypes +

+

Gets food flags that this mob likes

get_organic_health +

+

Returns the health of the mob while ignoring damage of non-organic (prosthetic) limbs +Used by cryo cells to not permanently imprison those with damage from prosthetics, +as they cannot be healed through chemicals.

get_pixel_y_offset_standing +

+

Returns what the body_position_pixel_y_offset should be if the current size were value

get_quirk +

+

Getter function for a mob's quirk

+

Arguments:

+
    +
  • quirktype - the type of the quirk to acquire e.g. /datum/quirk/some_quirk
  • +
+

Returns the mob's quirk datum if the mob this is called on has the quirk, null on failure

get_quirk_string +

+

get_quirk_string() is used to get a printable string of all the quirk traits someone has for certain criteria

+

Arguments:

+
    +
  • Medical- If we want the long, fancy descriptions that show up in medical records, or if not, just the name
  • +
  • Category- Which types of quirks we want to print out. Defaults to everything
  • +
  • from_scan- If the source of this call is like a health analyzer or HUD, in which case QUIRK_HIDE_FROM_MEDICAL hides the quirk.
  • +

get_status_effect_examinations +

+

Shows any and all examine text related to any status effects the user has.

get_taste_sensitivity +

+

Gets taste sensitivity of given mob

+

This is used in calculating what flavours the mob can pick up, +with a lower number being able to pick up more distinct flavours.

get_timed_status_effect_duration +

+

Gets how many deciseconds are remaining in +the duration of the passed status effect on this mob.

+

If the mob is unaffected by the passed effect, returns 0.

get_total_damage +

+

return the total damage of all types which update your health

get_toxic_foodtypes +

+

Gets food flags that this mob hates +Toxic food is the only category that ignores ageusia, KEEP IT LIKE THAT!

get_visible_suicide_message +

+

Returns a subtype-specific flavorful string pertaining to this exact living mob's ending their own life to those who can see it (visible message). +If you don't want a message, prefer to override send_applicable_messages() on your subtype instead.

gib +

+

Blow up the mob into giblets

+

drop_bitflags: (see code/__DEFINES/blood.dm)

+
    +
  • DROP_BRAIN - Gibbed mob will drop a brain
  • +
  • DROP_ORGANS - Gibbed mob will drop organs
  • +
  • DROP_BODYPARTS - Gibbed mob will drop bodyparts (arms, legs, etc.)
  • +
  • DROP_ITEMS - Gibbed mob will drop carried items (otherwise they get deleted)
  • +
  • DROP_ALL_REMAINS - Gibbed mob will drop everything
  • +

gravity_setup +

+

Living Mob use event based gravity +We check here to ensure we haven't dropped any gravity changes

handle_ricochet +

+

Simplified ricochet angle calculation for mobs (also the base version doesn't work on mobs)

handle_suicide +

+

Actually handles the bare basics of the suicide process. Message type is the message we want to dispatch in the world regarding the suicide, using the defines in this file. +Override this ENTIRELY if you want to add any special behavior to your suicide handling, if you fuck up the order of operations then shit will break.

handle_suicide_damage_spread +

+

If we want to apply multiple types of damage to a carbon mob based on the way they suicide, this is the proc that handles that. +Currently only compatible with Brute, Burn, Toxin, and Suffocation Damage. damage_type is the bitflag that carries the information.

handle_ventcrawl +

+

Handles the entrance and exit on ventcrawling

has_reagent +

+

Check if the mob contains this reagent.

+

This will validate the the reagent holder for the mob and any sub holders contain the requested reagent. +Vars:

+
    +
  • reagent (typepath) takes a PATH to a reagent.
  • +
  • amount (int) checks for having a specific amount of that chemical.
  • +
  • needs_metabolizing (bool) takes into consideration if the chemical is matabolizing when it's checked.
  • +

heal_and_revive +

+

Heals up the mob up to [heal_to] of the main damage types. +EX: If heal_to is 50, and they have 150 brute damage, they will heal 100 brute (up to 50 brute damage)

+

If the target is dead, also revives them and heals their organs / restores blood. +If we have a [revive_message], play a visible message if the revive was successful.

+

Arguments

+
    +
  • heal_to - the health threshold to heal the mob up to for each of the main damage types.
  • +
  • revive_message - if provided, a visible message to show on a successful revive.
  • +
+

Returns TRUE if the mob is alive afterwards, or FALSE if they're still dead (revive failed).

heal_bodypart_damage +

+

heal ONE external organ, organ gets randomly selected from damaged ones.

+

returns the net change in damage

heal_damage_type +

+

Simply a wrapper for calling mob adjustXLoss() procs to heal a certain damage type, +when you don't know what damage type you're healing exactly.

heal_ordered_damage +

+

heal up to amount damage, in a given order

heal_overall_damage +

+

heal MANY bodyparts, in random order. note: stamina arg nonfunctional for carbon mobs

ignore_slowdown +

+

Ignores all slowdowns that lack the IGNORE_NOSLOW flag.

in_fov +

+

Is observed_atom in a mob's field of view? This takes blindness, nearsightness and FOV into consideration

incapacitate +

+
    +
  • Proc that actually applies the status effect.
  • +
  • Applies the Incapacitated status effect to a mob/living.
  • +
  • +
      +
    • amount - Amount of time the status effect should be applied for, in deciseconds.
    • +
    +
  • +
  • +
      +
    • ignore_canstun - If TRUE, the mob's resistance to stuns is ignored.
    • +
    +
  • +

incapacitated +

+

Checks if a mob is incapacitated

+

Normally being restrained, agressively grabbed, or in stasis counts as incapacitated +unless there is a flag being used to check if it's ignored

+

args:

+
    +
  • flags (optional) bitflags that determine if special situations are exempt from being considered incapacitated
  • +
+

bitflags: (see code/__DEFINES/status_effects.dm)

+
    +
  • IGNORE_RESTRAINTS - mob in a restraint (handcuffs) is not considered incapacitated
  • +
  • IGNORE_STASIS - mob in stasis (stasis bed, etc.) is not considered incapacitated
  • +
  • IGNORE_GRAB - mob that is agressively grabbed is not considered incapacitated
  • +

is_ears_covered +

+

Checks if the mob's ears (BOTH EARS, BOWMANS NEED NOT APPLY) are covered by something. +Returns the atom covering the mob's ears, or null if their ears are uncovered.

is_eyes_covered +

+

Checks if our mob has their eyes covered.

+

Note that we only care about ITEM_SLOT_HEAD, ITEM_SLOT_MASK, and [ITEM_SLOT_GLASSES]. +That is also the priority order (so if you check all slots, it'll return head, then mask, then glasses)

+

Arguments

+
    +
  • check_flags: What item slots should we check?
  • +
+

Retuns a truthy value (a ref to what is covering eyes), or a falsy value (null)

is_face_visible +

+

Only defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces

is_mouth_covered +

+

Checks if our mob has their mouth covered.

+

Note that we only care about ITEM_SLOT_HEAD and ITEM_SLOT_MASK. +(so if you check all slots, it'll return head, then mask) +That is also the priority order +Arguments

+
    +
  • check_flags: What item slots should we check?
  • +
+

Retuns a truthy value (a ref to what is covering mouth), or a falsy value (null)

is_pepper_proof +

+

Checks if our mob is protected from pepper spray.

+

Note that we only care about ITEM_SLOT_HEAD and ITEM_SLOT_MASK. +That is also the priority order (so if you check all slots, it'll return head, then mask)

+

Arguments

+
    +
  • check_flags: What item slots should we check?
  • +
+

Retuns a truthy value (a ref to what is protecting us), or a falsy value (null)

item_tending +

+

Handles any use of using a surgical tool or item on a mob to tend to them. +The sole reason this is a separate proc is so carbons can tend wounds AFTER the check for surgery.

lazarus_revive +

+

Proc called when TARGETED by a lazarus injector

look_down +

+

look_down Changes the perspective of the mob to any openspace turf below the mob

+

This also checks if an openspace turf is below the mob before looking down or resets the perspective if already looking up

look_up +

+

look_up Changes the perspective of the mob to any openspace turf above the mob

+

This also checks if an openspace turf is above the mob before looking up or resets the perspective if already looking up

lying_angle_on_movement +

+

Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.

move_into_vent +

+

Moves living mob directly into the vent as a ventcrawler

+

Arguments:

+
    +
  • ventcrawl_target - The vent into which we are moving the mob
  • +

on_deathcoma_trait_gain +

+

Called when TRAIT_DEATHCOMA is added to the mob.

on_deathcoma_trait_loss +

+

Called when TRAIT_DEATHCOMA is removed from the mob.

on_fall +

+

Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment.

on_fire_stack +

+

Handles effects happening when mob is on normal fire

+

Vars:

+
    +
  • seconds_per_tick
  • +
  • times_fired
  • +
  • fire_handler: Current fire status effect that called the proc
  • +

on_floored_end +

+

Proc to append behavior to the condition of being floored. Called when the condition ends.

on_floored_start +

+

Proc to append behavior to the condition of being floored. Called when the condition starts.

on_floored_trait_gain +

+

Called when TRAIT_FLOORED is added to the mob.

on_floored_trait_loss +

+

Called when TRAIT_FLOORED is removed from the mob.

on_force_gravity +

+

Called when TRAIT_FORCED_GRAVITY is gained or lost

on_forced_standing_trait_gain +

+

Called when TRAIT_FORCED_STANDING is added to the mob.

on_forced_standing_trait_loss +

+

Called when TRAIT_FORCED_STANDING is removed from the mob.

on_handsblocked_end +

+

Proc to append behavior to the condition of being handsblocked. Called when the condition ends.

on_handsblocked_start +

+

Proc to append behavior to the condition of being handsblocked. Called when the condition starts.

on_handsblocked_trait_gain +

+

Called when TRAIT_HANDS_BLOCKED is added to the mob.

on_handsblocked_trait_loss +

+

Called when TRAIT_HANDS_BLOCKED is removed from the mob.

on_ignore_gravity +

+

Called when TRAIT_IGNORING_GRAVITY is gained or lost

on_immobilized_trait_gain +

+

Called when TRAIT_IMMOBILIZED is added to the mob.

on_immobilized_trait_loss +

+

Called when TRAIT_IMMOBILIZED is removed from the mob.

on_incapacitated_trait_gain +

+

Called when [TRAIT_INCAPACITATED] is added to the mob.

on_incapacitated_trait_loss +

+

Called when [TRAIT_INCAPACITATED] is removed from the mob.

on_knockedout_trait_gain +

+

Called when TRAIT_KNOCKEDOUT is added to the mob.

on_knockedout_trait_loss +

+

Called when TRAIT_KNOCKEDOUT is removed from the mob.

on_loc_force_gravity +

+

Called when our loc's TRAIT_FORCED_GRAVITY is gained or lost

on_lying_down +

+

Proc to append behavior related to lying down.

on_movement_type_flag_disabled +

+

From [element/movetype_handler/on_movement_type_trait_loss()]

on_movement_type_flag_enabled +

+

From [element/movetype_handler/on_movement_type_trait_gain()]

on_negate_gravity +

+

Called when TRAIT_NEGATES_GRAVITY is gained or lost

on_pull_blocked_trait_gain +

+

Called when TRAIT_PULL_BLOCKED is added to the mob.

on_pull_blocked_trait_loss +

+

Called when TRAIT_PULL_BLOCKED is removed from the mob.

on_restrained_trait_gain +

+

Called when TRAIT_RESTRAINED is added to the mob.

on_restrained_trait_loss +

+

Called when TRAIT_RESTRAINED is removed from the mob.

on_skittish_trait_gain +

+

Called when [TRAIT_SKITTISH] is added to the mob.

on_skittish_trait_loss +

+

Called when [TRAIT_SKITTISH] is removed from the mob.

on_standing_up +

+

Proc to append behavior related to lying down.

on_ui_blocked_trait_gain +

+

Called when TRAIT_UI_BLOCKED is added to the mob.

on_ui_blocked_trait_loss +

+

Called when TRAIT_UI_BLOCKED is removed from the mob.

radio +

+

caps the length of individual letters to 3: ex: heeeeeeyy -> heeeyy +prevents TTS from choking on unrealistic text while keeping emphasis

refresh_gravity +

+

Handles gravity effects. Call if something about our gravity has potentially changed!

register_init_signals +

+

Called on /mob/living/Initialize(mapload), for the mob to register to relevant signals.

remove_body_temperature_change +

+

remove_body_temperature_change Removes the modifications to the body temperature

+

This removes the recorded change to body temperature from the body_temp_changes list

+

arguments:

+
    +
  • key_name (str) The unique key for this change that will be removed
  • +

remove_fov_trait +

+

Removes a trait which limits a user's FOV

remove_movespeed_mod_immunities +

+

Unignores specific slowdowns. Accepts a list of slowdowns.

remove_status_effect +

+

Removes all instances of a given status effect from this mob

+

removed_effect - TYPEPATH of a status effect to remove. +Additional status effect arguments can be passed - these are passed into before_remove.

+

Returns TRUE if at least one was removed.

remove_stun_absorption +

+

Removes all stub absorptions with the passed source.

+

Returns TRUE if an effect was deleted, FALSE otherwise

resist_buckle +

+

see defines/combat.dm, this should be baseline 60% +Resist chance divided by the value imparted by your grab state. It isn't until you reach neckgrab that you gain a penalty to escaping a grab.

resolve_right_click_attack +

+

Called when an unarmed attack performed with right click hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro. +This will call a secondary attack proc that can vary from mob type to mob type on the target. +Sometimes, a target is interacted differently when right_clicked, in that case the secondary attack proc should return +a SECONDARY_ATTACK_* value that's not SECONDARY_ATTACK_CALL_NORMAL. +Otherwise, it should just return SECONDARY_ATTACK_CALL_NORMAL. Failure to do so will result in an exception (runtime error).

resolve_unarmed_attack +

+

Called when the unarmed attack hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro or the right_click_attack_chain proc. +This will call an attack proc that can vary from mob type to mob type on the target.

revive +

+

Proc used to resuscitate a mob, bringing them back to life.

+

Note that, even if a mob cannot be revived, the healing from this proc will still be applied.

+

Arguments

+
    +
  • full_heal_flags - Optional. If supplied, /mob/living/fully_heal will be called with these flags before revival.
  • +
  • excess_healing - Optional. If supplied, this number will be used to apply a bit of healing to the mob. Currently, 1 "excess healing" translates to -1 oxyloss, -1 toxloss, +2 blood, -5 to all organ damage.
  • +
  • force_grab_ghost - We grab the ghost of the mob on revive. If TRUE, we force grab the ghost (includes suiciders). If FALSE, we do not. See /mob/grab_ghost.
  • +

right_click_attack_chain +

+

Checks for RIGHT_CLICK in modifiers and runs resolve_right_click_attack if so. Returns TRUE if normal chain blocked.

send_applicable_messages +

+

Send all suicide-related messages out to the world. message_type can be used to change out the dispatched suicide message depending on the suicide context.

setGrabState +

+

Updates the grab state of the mob and updates movespeed

set_body_position +

+

Changes the value of the [living/body_position] variable. Call this before set_lying_angle()

set_buckled +

+

Reports the event of the change in value of the buckled variable.

set_drunk_effect +

+

Directly sets the "drunk value" the mob is currently experiencing to the passed value, +or applies a drunk effect with the passed value if the mob isn't currently drunk

+

set_to - the amount of "drunkness" to set on the mob.

set_facial_hair_gradient_color +

+

Set the facial hair gradient color of a human. +Update calls update_body_parts().

set_facial_hair_gradient_style +

+

Set the facial hair gradient style of a human. +Update calls update_body_parts().

set_facial_haircolor +

+

Set the facial hair color of a human. +Override instead sets the override value, it will not be changed away from the override value until override is set to null. +Update calls update_body_parts().

set_facial_hairstyle +

+

Set the facial hair style of a human. +Update calls update_body_parts().

set_fire_stacks +

+

Set the fire stacks on a mob

+

This sets the fire stacks on a mob, stacks are clamped between -20 and 20. +If the fire stacks are reduced to 0 then we will extinguish the mob.

+

Vars:

+
    +
  • stacks: int The amount to set fire_stacks to
  • +
  • fire_type: type Type of fire status effect that we apply, should be subtype of /datum/status_effect/fire_handler/fire_stacks
  • +
  • remove_wet_stacks: bool If we remove all wet stacks upon doing this
  • +

set_hair_gradient_color +

+

Set the hair gradient color of a human. +Update calls update_body_parts().

set_hair_gradient_style +

+

Set the hair gradient style of a human. +Update calls update_body_parts().

set_haircolor +

+

Set the hair color of a human. +Override instead sets the override value, it will not be changed away from the override value until override is set to null. +Update calls update_body_parts().

set_hairstyle +

+

Set the hair style of a human. +Update calls update_body_parts().

set_health +

+

Sets the current mob's health value. Do not call directly if you don't know what you are doing, use the damage procs, instead.

set_incapacitated +

+
    +
  • Proc that set the incapacitated status effect's remaining duration to a certain time.
  • +
  • Checks if the mob has the status effect. If yes, it sets the duration to the amount passed in arguments. If not, applies the status effect
  • +
  • and sets the duration to the amount passed in arguments.
  • +
  • +
      +
    • amount - Amount of time the status effect should be set to, in deciseconds.
    • +
    +
  • +
  • +
      +
    • ignore_canstun - If TRUE, the mob's resistance to stuns is ignored.
    • +
    +
  • +

set_lying_angle +

+

Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.

+

In BYOND-angles 0 is NORTH, 90 is EAST, 180 is SOUTH and 270 is WEST. +This usually means that 0 is standing up, 90 and 270 are horizontal positions to right and left respectively, and 180 is upside-down. +Mobs that do now follow these conventions due to unusual sprites should require a special handling or redefinition of this proc, due to the density and layer changes. +The return of this proc is the previous value of the modified lying_angle if a change was successful (might include zero), or null if no change was made.

set_lying_down +

+

Change the [body_position] to LYING_DOWN and update associated behavior.

set_num_hands +

+

Proc to modify the value of num_hands and hook behavior associated to this event.

set_num_legs +

+

Proc to modify the value of num_legs and hook behavior associated to this event.

set_resting +

+

Proc to hook behavior to the change of value in the resting variable.

set_safe_hunger_level +

+

Sets the mob's hunger levels to a safe overall level. Useful for TRAIT_NOHUNGER species changes.

set_suicide +

+

Proc that handles adding the TRAIT_SUICIDED on the mob in question, as well as additional operations to ensure that everything goes smoothly when we're certain that this person is going to kill themself. +suicide_state is a boolean, and we handle adding/removing the trait in question. Have the trait function reference this mob as the source if we want to do in-depth tracking of where a suicided trait comes from. +For example, the /mob/dead/observer that will inevitably come from the suicidee will inherit the suicided trait upon creation, and keep this reference. Handy for doing checking should we need it.

set_timed_status_effect +

+

Sets a timed status effect of some kind on a mob to a specific value. +If only_if_higher is TRUE, it will only set the value up to the passed duration, +so any pre-existing status effects of the same type won't be reduced down

+

duration - the duration, in deciseconds, of the effect. 0 or lower will either remove the current effect or do nothing if none are present +effect - the type of status effect given to the mob +only_if_higher - if TRUE, we will only set the effect to the new duration if the new duration is longer than any existing duration

set_usable_hands +

+

Proc to modify the value of usable_hands and hook behavior associated to this event.

set_usable_legs +

+

Proc to modify the value of usable_legs and hook behavior associated to this event.

shared_living_ui_distance +

+

public

+

Distance versus interaction check.

+

required src_object atom/movable The object which owns the UI.

+

return UI_state The state of the UI.

singularity_act +

+

Logs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.

sleeping_carp_help +

+

Verb added to humans who learn the art of the sleeping carp.

spawn_gibs +

+

Spawn bloody gib mess on the floor

+

drop_bitflags: (see code/__DEFINES/blood.dm)

+
    +
  • DROP_BODYPARTS - Gibs will spawn with bodypart limbs present
  • +

spill_organs +

+

Drops a mob's organs on the floor

+

drop_bitflags: (see code/__DEFINES/blood.dm)

+
    +
  • DROP_BRAIN - Mob will drop a brain
  • +
  • DROP_ORGANS - Mob will drop organs
  • +
  • DROP_BODYPARTS - Mob will drop bodyparts (arms, legs, etc.)
  • +
  • DROP_ALL_REMAINS - Mob will drop everything
  • +

spread_bodyparts +

+

Launches all bodyparts away from the mob

+

drop_bitflags: (see code/__DEFINES/blood.dm)

+
    +
  • DROP_BRAIN - Detaches the head from the mob and launches it away from the body
  • +

suicide +

+

Verb to simply kill yourself (in a very visual way to all players) in game! How family-friendly. Can be governed by a series of multiple checks (i.e. confirmation, is it allowed in this area, etc.) which are +handled and called by the proc this verb invokes. It's okay to block this, because we typically always give mobs in-game the ability to Ghost out of their current mob irregardless of context. This, in contrast, +can have as many different checks as you desire to prevent people from doing the deed to themselves.

suicide_alert +

+

Sends a TGUI Alert to the person attempting to commit suicide. Returns TRUE if they confirm they want to die, FALSE otherwise. Check can_suicide here as well.

suicide_log +

+

Inserts logging in both the mob's logs and the investigate log pertaining to their death. Suicide tool is the object we used to commit suicide, if one was held and used (presently only humans use this arg).

take_bodypart_damage +

+

damage ONE external organ, organ gets randomly selected from damaged ones.

take_overall_damage +

+

damage MANY bodyparts, in random order. note: stamina arg nonfunctional for carbon mobs

taste +

+

Non destructively tastes a reagent container +and gives feedback to the user.

toggle_move_intent +

+

Toggle the move intent of the mob

+

triggers an update the move intent hud as well

tram_slam_land +

+

A proc triggered by callback when someone gets slammed by the tram and lands somewhere.

+

This proc is used to force people to fall through things like lattice and unplated flooring at the expense of some +extra damage, so jokers can't use half a stack of iron rods to make getting hit by the tram immediately lethal.

transfer_blood_to +

+

BLOOD TRANSFERS

treat_message +

+

Treats the passed message with things that may modify speech (stuttering, slurring etc).

+

message - The message to treat. +capitalize_message - Whether we run capitalize() on the message after we're done.

+

Returns a list, which is a packet of information corresponding to the message that has been treated, which +contains the new message, as well as text-to-speech information.

try_inject +

+

Like can_inject, but it can perform side effects.

+

Arguments:

+
    +
  • user - The user trying to inject the mob.
  • +
  • target_zone - The zone being targeted.
  • +
  • injection_flags - A bitflag for extra properties to check. Check __DEFINES/injection.dm for more details. +Check _DEFINES/injection.dm for more details. Unlike can_inject, the INJECT_TRY* defines will behave differently.
  • +

undense_changed +

+

Called when TRAIT_UNDENSE is gained or lost

unfriend +

+

Proc for removing a friend you added with the proc 'befriend'. Returns true if you removed a friend.

unignore_slowdown +

+

Unignores all slowdowns that lack the IGNORE_NOSLOW flag.

update_fire_overlay +

+

Sets fire overlay of the mob.

+

Vars:

+
    +
  • stacks: Current amount of fire_stacks
  • +
  • on_fire: If we're lit on fire
  • +
  • last_icon_state: Holds last fire overlay icon state, used for optimization
  • +
  • suffix: Suffix for the fire icon state for special fire types
  • +
+

This should return last_icon_state for the fire status efect

update_fov +

+

Getting a direction vector +Calculate angle +Calculate vision angle and compare +Updates the applied FOV value and applies the handler to client if able

update_fov_client +

+

Updates the FOV for the client.

update_fullscreen +

+

Proc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc.

update_lips +

+

Used to update the makeup on a human and apply/remove lipstick traits, then store/unstore them on the head object in case it gets severed

update_medhud_on_signal +

+

Updates medhud when recieving relevant signals.

update_pipe_vision +

+

Everything related to pipe vision on ventcrawling is handled by update_pipe_vision(). +Called on exit, entrance, and pipenet differences (e.g. moving to a new pipenet). +One important thing to note however is that the movement of the client's eye is handled by the relaymove() proc in /obj/machinery/atmospherics. +We move first and then call update. Dont flip this around

update_resting +

+

Proc to append and redefine behavior to the change of the [/mob/living/var/resting] variable.

update_succumb_action +

+

Called when traits that alter succumbing are added/removed.

+

Will show or hide the succumb alert prompt.

update_transform +

+

Called whenever the mob is to be resized or when lying/standing up for carbons. +IMPORTANT: Multiple animate() calls do not stack well, so try to do them all at once if you can.

update_wound_overlays +

+

Proc that only really gets called for humans, to handle bleeding overlays.

wabbajack +

+

Polymorphs our mob into another mob. +If successful, our current mob is qdeleted!

+

what_to_randomize - what are we randomizing the mob into? See the defines for valid options. +change_flags - only used for humanoid randomization (currently), what pool of changeflags should we draw from?

+

Returns a mob (what our mob turned into) or null (if we failed).

wear_mask_update +

+

Handle stuff to update when a mob equips/unequips a mask.

whisper +

+

Living level whisper.

+

Living mobs which whisper have their message only appear to people very close.

+

message - the message to display +bubble_type - the type of speech bubble that shows up when they speak (currently does nothing) +spans - a list of spans to apply around the message +sanitize - whether we sanitize the message +language - typepath language to force them to speak / whisper in +ignore_spam - whether we ignore the spam filter +forced - string source of what forced this speech to happen, also bypasses spam filter / mutes if supplied +filterproof - whether we ignore the word filter

will_escape_storage +

+

Whether or not this mob will escape from storages while being picked up/held.

zMove +

+

We want to relay the zmovement to the buckled atom when possible +and only run what we can't have on buckled.zMove() or buckled.can_z_move() here. +This way we can avoid esoteric bugs, copypasta and inconsistencies.

+ + + diff --git a/mob/living/basic.html b/mob/living/basic.html new file mode 100644 index 00000000000..068fc5e652c --- /dev/null +++ b/mob/living/basic.html @@ -0,0 +1,338 @@ + + + + + + + /mob/living/basic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basic + + + +

+ +

Simple animals 2.0, This time, let's really try to keep it simple. This basetype should purely be used as a base-level for implementing simplified behaviours for things such as damage and attacks. Everything else should be in components or AI behaviours.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

armour_penetrationHow much armour they ignore, as a flat reduction from the targets armour value.
attack_soundSound played when the critter attacks.
attack_verb_continuousBasic mob's own attacks verbs, +Attacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attack_vis_effectOverride for the visual attack effect shown on 'do_attack_animation()'.
attacked_soundPlayed when someone punches the creature.
bare_wound_bonusHow much bare wounding power it has
damage_coeff1 for full damage, 0 for none, -1 for 1:1 heal from that source.
environment_smashVariable maintained for compatibility with attack_animal procs until simple animals can be refactored away. Use element instead of setting manually.
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
habitable_atmosLeaving something at 0 means it's off - has no maximum.
icon_deadIcon when the animal is dead. Don't use animated icons for this.
icon_gibWe only try to show a gibbing animation if this exists.
icon_living/////THIS SECTION COULD BE ITS OWN ELEMENT +Icon to use
maximum_survivable_temperatureMaximal body temperature without receiving damage
melee_attack_cooldownHow often can you melee attack?
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
minimum_survivable_temperatureMinimal body temperature without receiving damage
obj_damagehow much damage this basic mob does to objects, if any.
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. +Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions. SHOULD BE AN ELEMENT BUT I DONT CARE ABOUT IT FOR NOW
sharpnessIf the attacks from this are sharp
speak_emoteVerbs used for speaking e.g. "Says" or "Chitters". This can be elementized
speedDefines how fast the basic mob can move. This is not a multiplier
stamina_recoveryHow much stamina the mob recovers per second
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above. Set to 0 to avoid adding the atmos_requirements element.
unsuitable_cold_damageThis damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the basic_body_temp_sensitive element.
unsuitable_heat_damageThis damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the basic_body_temp_sensitive element.
wound_bonusHow much wounding power it has

Procs

adjust_healthAdjusts the health of a simple mob by a set amount
apply_atmos_requirementsEnsures this mob can take atmospheric damage if it's supposed to
apply_temperature_requirementsEnsures this mob can take temperature damage if it's supposed to
look_aliveApply the appearance and properties this mob has when it is alive
look_deadApply the appearance and properties this mob has when it dies +This is called by the mob pretending to be dead too so don't put loot drops in here or something
update_staminaUpdates movement speed based on stamina loss
+

Var Details

armour_penetration + + + + +

+

How much armour they ignore, as a flat reduction from the targets armour value.

attack_sound + + + + +

+

Sound played when the critter attacks.

attack_verb_continuous + + + + +

+

Basic mob's own attacks verbs, +Attacking verb in present continuous tense.

attack_verb_simple + + + + +

+

Attacking verb in present simple tense.

attack_vis_effect + + + + +

+

Override for the visual attack effect shown on 'do_attack_animation()'.

attacked_sound + + + + +

+

Played when someone punches the creature.

bare_wound_bonus + + + + +

+

How much bare wounding power it has

damage_coeff + + + + +

+

1 for full damage, 0 for none, -1 for 1:1 heal from that source.

environment_smash + + + + +

+

Variable maintained for compatibility with attack_animal procs until simple animals can be refactored away. Use element instead of setting manually.

friendly_verb_continuous + + + + +

+

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple + + + + +

+

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable + + + + +

+

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.

habitable_atmos + + + + +

+

Leaving something at 0 means it's off - has no maximum.

icon_dead + + + + +

+

Icon when the animal is dead. Don't use animated icons for this.

icon_gib + + + + +

+

We only try to show a gibbing animation if this exists.

icon_living + + + + +

+

/////THIS SECTION COULD BE ITS OWN ELEMENT +Icon to use

maximum_survivable_temperature + + + + +

+

Maximal body temperature without receiving damage

melee_attack_cooldown + + + + +

+

How often can you melee attack?

melee_damage_type + + + + +

+

Damage type of a simple mob's melee attack, should it do damage.

minimum_survivable_temperature + + + + +

+

Minimal body temperature without receiving damage

obj_damage + + + + +

+

how much damage this basic mob does to objects, if any.

response_disarm_continuous + + + + +

+

Disarm-intent verb in present continuous tense.

response_disarm_simple + + + + +

+

Disarm-intent verb in present simple tense.

response_harm_continuous + + + + +

+

Harm-intent verb in present continuous tense.

response_harm_simple + + + + +

+

Harm-intent verb in present simple tense.

response_help_continuous + + + + +

+

When someone interacts with the simple animal. +Help-intent verb in present continuous tense.

response_help_simple + + + + +

+

Help-intent verb in present simple tense.

sentience_type + + + + +

+

Sentience type, for slime potions. SHOULD BE AN ELEMENT BUT I DONT CARE ABOUT IT FOR NOW

sharpness + + + + +

+

If the attacks from this are sharp

speak_emote + + + + +

+

Verbs used for speaking e.g. "Says" or "Chitters". This can be elementized

speed + + + + +

+

Defines how fast the basic mob can move. This is not a multiplier

stamina_recovery + + + + +

+

How much stamina the mob recovers per second

unsuitable_atmos_damage + + + + +

+

This damage is taken when atmos doesn't fit all the requirements above. Set to 0 to avoid adding the atmos_requirements element.

unsuitable_cold_damage + + + + +

+

This damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the basic_body_temp_sensitive element.

unsuitable_heat_damage + + + + +

+

This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the basic_body_temp_sensitive element.

wound_bonus + + + + +

+

How much wounding power it has

Proc Details

adjust_health +

+

Adjusts the health of a simple mob by a set amount

+

Arguments:

+
    +
  • amount The amount that will be used to adjust the mob's health
  • +
  • updating_health If the mob's health should be immediately updated to the new value
  • +
  • forced If we should force update the adjustment of the mob's health no matter the restrictions, like GODMODE +returns the net change in bruteloss after applying the damage amount
  • +

apply_atmos_requirements +

+

Ensures this mob can take atmospheric damage if it's supposed to

apply_temperature_requirements +

+

Ensures this mob can take temperature damage if it's supposed to

look_alive +

+

Apply the appearance and properties this mob has when it is alive

look_dead +

+

Apply the appearance and properties this mob has when it dies +This is called by the mob pretending to be dead too so don't put loot drops in here or something

update_stamina +

+

Updates movement speed based on stamina loss

+ + + diff --git a/mob/living/basic/bear.html b/mob/living/basic/bear.html new file mode 100644 index 00000000000..9619676659b --- /dev/null +++ b/mob/living/basic/bear.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/bear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bear + + + +

+ + +

Vars

armoredis the bear wearing a armor?
+

Var Details

armored + + + + +

+

is the bear wearing a armor?

+ + + diff --git a/mob/living/basic/bee.html b/mob/living/basic/bee.html new file mode 100644 index 00000000000..3ab0fee34e9 --- /dev/null +++ b/mob/living/basic/bee.html @@ -0,0 +1,64 @@ + + + + + + + /mob/living/basic/bee - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bee + + + +

+ + + + + + +

Vars

beegentthe reagent the bee has
beehomethe house we live in
icon_baseour icon base
is_queenthe bee is a queen?
pet_commandscommands we follow
+

Var Details

beegent + + + + +

+

the reagent the bee has

beehome + + + + +

+

the house we live in

icon_base + + + + +

+

our icon base

is_queen + + + + +

+

the bee is a queen?

pet_commands + + + + +

+

commands we follow

+ + + diff --git a/mob/living/basic/blob_minion.html b/mob/living/basic/blob_minion.html new file mode 100644 index 00000000000..0c5fd8486ce --- /dev/null +++ b/mob/living/basic/blob_minion.html @@ -0,0 +1,49 @@ + + + + + + + /mob/living/basic/blob_minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blob_minion + + + +

+ +

Root of shared behaviour for mobs spawned by blobs, is abstract and should not be spawned

+ + +

Procs

link_to_factoryAssociates this mob with a specific blob factory node
on_factory_destroyedCalled when our factory is destroyed
on_strain_updatedCalled when our blob overmind changes their variant, update some of our mob properties

Proc Details

+

Associates this mob with a specific blob factory node

on_factory_destroyed +

+

Called when our factory is destroyed

on_strain_updated +

+

Called when our blob overmind changes their variant, update some of our mob properties

+ + + diff --git a/mob/living/basic/blob_minion/blobbernaut/minion.html b/mob/living/basic/blob_minion/blobbernaut/minion.html new file mode 100644 index 00000000000..f1a324cd707 --- /dev/null +++ b/mob/living/basic/blob_minion/blobbernaut/minion.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/blob_minion/blobbernaut/minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

minion + + + +

+ +

This variant is the one actually spawned by blob factories, takes damage when away from blob tiles

+ + + +

Vars

orphanedIs our factory dead?

Procs

assign_keyCalled by the blob creation power to give us a mind and a basic task orientation
on_factory_destroyedCalled by our factory to inform us that it's not going to support us financially any more
on_strain_updatedSet our attack damage based on blob's properties
+

Var Details

orphaned + + + + +

+

Is our factory dead?

Proc Details

assign_key +

+

Called by the blob creation power to give us a mind and a basic task orientation

on_factory_destroyed +

+

Called by our factory to inform us that it's not going to support us financially any more

on_strain_updated +

+

Set our attack damage based on blob's properties

+ + + diff --git a/mob/living/basic/blob_minion/spore.html b/mob/living/basic/blob_minion/spore.html new file mode 100644 index 00000000000..1a65fd71289 --- /dev/null +++ b/mob/living/basic/blob_minion/spore.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/blob_minion/spore - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spore + + + +

+ +

A floating fungus which turns people into zombies and explodes into reagent clouds upon death.

+ + + +

Vars

death_cloud_sizeSize of cloud produced from a dying spore
zombie_typeType of mob to create

Procs

death_burstCreate an explosion of spores on death
zombifyBecome a zombie
+

Var Details

death_cloud_size + + + + +

+

Size of cloud produced from a dying spore

zombie_type + + + + +

+

Type of mob to create

Proc Details

death_burst +

+

Create an explosion of spores on death

zombify +

+

Become a zombie

+ + + diff --git a/mob/living/basic/blob_minion/spore/minion.html b/mob/living/basic/blob_minion/spore/minion.html new file mode 100644 index 00000000000..58452fda073 --- /dev/null +++ b/mob/living/basic/blob_minion/spore/minion.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/blob_minion/spore/minion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

minion + + + +

+ +

Variant of the blob spore which is actually spawned by blob factories

+ + + +

Vars

z_turfWe die if we leave the same turf as this z level

Procs

link_to_factoryMark the turf we need to track from our factory
on_strain_updatedIf the blob changes to distributed neurons then you can control the spores
on_z_changedWhen we z-move check that we're on the same z level as our factory was
+

Var Details

z_turf + + + + +

+

We die if we leave the same turf as this z level

Proc Details

+

Mark the turf we need to track from our factory

on_strain_updated +

+

If the blob changes to distributed neurons then you can control the spores

on_z_changed +

+

When we z-move check that we're on the same z level as our factory was

+ + + diff --git a/mob/living/basic/blob_minion/zombie.html b/mob/living/basic/blob_minion/zombie.html new file mode 100644 index 00000000000..2e0a3826ec3 --- /dev/null +++ b/mob/living/basic/blob_minion/zombie.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/blob_minion/zombie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

zombie + + + +

+ +

A shambling mob made out of a crew member

+ + + +

Vars

corpseThe dead body we have inside

Procs

consume_corpseStore a body so that we can drop it on death
death_burstCreate an explosion of spores on death
on_corpse_revivedDynamic changeling reentry
+

Var Details

corpse + + + + +

+

The dead body we have inside

Proc Details

consume_corpse +

+

Store a body so that we can drop it on death

death_burst +

+

Create an explosion of spores on death

on_corpse_revived +

+

Dynamic changeling reentry

+ + + diff --git a/mob/living/basic/bot.html b/mob/living/basic/bot.html new file mode 100644 index 00000000000..4fa9dc0b8a0 --- /dev/null +++ b/mob/living/basic/bot.html @@ -0,0 +1,269 @@ + + + + + + + /mob/living/basic/bot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bot + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

access_cardour access card
additional_accessThe trim type that will grant additional acces
announcement_typeType of bot_announcement ability we want
bot_access_flagsBot-related cover flags on the Bot to deal with what has been done to their cover, including emagging. BOT_MAINTS_PANEL_OPEN | BOT_CONTROL_PANEL_OPEN | BOT_COVER_EMAGGED | BOT_COVER_HACKED
bot_mode_flagsBot-related mode flags on the Bot indicating how they will act. BOT_MODE_ON | BOT_MODE_AUTOPATROL | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_ROUNDSTART_POSSESSION
bot_typeThe type of bot it is, for radio control.
calling_ai_refLinks a bot to the AI calling it.
can_be_possessedIf true we will allow ghosts to control this mob
data_hud_typeThe type of data HUD the bot uses. Diagnostic by default.
hackablesSmall name of what the bot gets messed with when getting hacked/emagged.
initial_accessAll initial access this bot started with.
internal_radioThe bot's radio, for speaking to people.
maints_access_requiredAccess required to access this Bot's maintenance protocols
modeStandardizes the vars that indicate the bot is busy with its function.
offer_ghosts_cooldownIf true we will offer this
on_toggle_traitslist of traits we apply and remove when turning on/off
pa_systemAction we use to say voice lines out loud, also we just pass anything we try to say through here just in case it plays a voice line
paicardThe inserted (if any) pAI in this bot.
possessed_messageMessage to display upon possession
radio_channelThe bot's default radio channel
radio_keywhich channels can the bot listen to
robot_armThe Robot arm attached to this robot - has a 50% chance to drop on death.

Procs

check_possessionReturns true if this mob can be controlled
disable_possessionDisables this bot from being possessed by ghosts
eject_pai_remoteEjects the pAI remotely.
ejectpaiEjects a pAI from this bot
enable_possessionAllows this bot to be controlled by a ghost, who will become its mind
get_emagged_messageReturns a string of flavor text for emagged bots as defined by policy.
get_mode_uiReturns a status string about the bot's current status, if it's moving, manually controlled, or idle.
insertpaiPlaces a pAI in control of this mob
post_possessionFired after something takes control of this mob
renameAllows renaming the bot to something else
speakPass a message to have the bot say() it, passing through our announcement action to potentially also play a sound. +Optionally pass a frequency to say it on the radio.
topic_deniedAccess check proc for bot topics! Remember to place in a bot's individual Topic if desired.
+

Var Details

access_card + + + + +

+

our access card

additional_access + + + + +

+

The trim type that will grant additional acces

announcement_type + + + + +

+

Type of bot_announcement ability we want

bot_access_flags + + + + +

+

Bot-related cover flags on the Bot to deal with what has been done to their cover, including emagging. BOT_MAINTS_PANEL_OPEN | BOT_CONTROL_PANEL_OPEN | BOT_COVER_EMAGGED | BOT_COVER_HACKED

bot_mode_flags + + + + +

+

Bot-related mode flags on the Bot indicating how they will act. BOT_MODE_ON | BOT_MODE_AUTOPATROL | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_ROUNDSTART_POSSESSION

bot_type + + + + +

+

The type of bot it is, for radio control.

calling_ai_ref + + + + +

+

Links a bot to the AI calling it.

can_be_possessed + + + + +

+

If true we will allow ghosts to control this mob

data_hud_type + + + + +

+

The type of data HUD the bot uses. Diagnostic by default.

hackables + + + + +

+

Small name of what the bot gets messed with when getting hacked/emagged.

initial_access + + + + +

+

All initial access this bot started with.

internal_radio + + + + +

+

The bot's radio, for speaking to people.

maints_access_required + + + + +

+

Access required to access this Bot's maintenance protocols

mode + + + + +

+

Standardizes the vars that indicate the bot is busy with its function.

offer_ghosts_cooldown + + + + +

+

If true we will offer this

on_toggle_traits + + + + +

+

list of traits we apply and remove when turning on/off

pa_system + + + + +

+

Action we use to say voice lines out loud, also we just pass anything we try to say through here just in case it plays a voice line

paicard + + + + +

+

The inserted (if any) pAI in this bot.

possessed_message + + + + +

+

Message to display upon possession

radio_channel + + + + +

+

The bot's default radio channel

radio_key + + + + +

+

which channels can the bot listen to

robot_arm + + + + +

+

The Robot arm attached to this robot - has a 50% chance to drop on death.

Proc Details

check_possession +

+

Returns true if this mob can be controlled

disable_possession +

+

Disables this bot from being possessed by ghosts

eject_pai_remote +

+

Ejects the pAI remotely.

ejectpai +

+

Ejects a pAI from this bot

enable_possession +

+

Allows this bot to be controlled by a ghost, who will become its mind

get_emagged_message +

+

Returns a string of flavor text for emagged bots as defined by policy.

get_mode_ui +

+

Returns a status string about the bot's current status, if it's moving, manually controlled, or idle.

insertpai +

+

Places a pAI in control of this mob

post_possession +

+

Fired after something takes control of this mob

rename +

+

Allows renaming the bot to something else

speak +

+

Pass a message to have the bot say() it, passing through our announcement action to potentially also play a sound. +Optionally pass a frequency to say it on the radio.

topic_denied +

+

Access check proc for bot topics! Remember to place in a bot's individual Topic if desired.

+ + + diff --git a/mob/living/basic/bot/cleanbot.html b/mob/living/basic/bot/cleanbot.html new file mode 100644 index 00000000000..5363c1b749e --- /dev/null +++ b/mob/living/basic/bot/cleanbot.html @@ -0,0 +1,157 @@ + + + + + + + /mob/living/basic/bot/cleanbot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cleanbot + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

ascendedif we have all the top titles, grant achievements to living mobs that gaze upon our cleanbot god
base_iconthe base icon state, used in updating icons.
build_bucketthe bucket used to build us.
cleanable_bloodblood we can clean
cleanable_decalsdecals we can clean
cleanable_drawingsdrawings we hunt
comissionedshould other bots salute us?
emagged_phrasesemagged phrases
huntable_pestspests we hunt
huntable_trashtrash we will burn
janitor_mode_flagsFlags indicating what kind of cleanables we should scan for to set as our target to clean. +Options: CLEANBOT_CLEAN_BLOOD | CLEANBOT_CLEAN_TRASH | CLEANBOT_CLEAN_PESTS | CLEANBOT_CLEAN_DRAWINGS
job_titlesjob titles we can get
officers_titleslist of our officer titles
our_mopour mop item
pet_commandslist of pet commands we follow
stolen_valorList of all stolen names the cleanbot currently has.
suffix_job_titleswhich job titles should be placed after the name?
weaponCurrently attached weapon, usually a knife.
+

Var Details

ascended + + + + +

+

if we have all the top titles, grant achievements to living mobs that gaze upon our cleanbot god

base_icon + + + + +

+

the base icon state, used in updating icons.

build_bucket + + + + +

+

the bucket used to build us.

cleanable_blood + + + + +

+

blood we can clean

cleanable_decals + + + + +

+

decals we can clean

cleanable_drawings + + + + +

+

drawings we hunt

comissioned + + + + +

+

should other bots salute us?

emagged_phrases + + + + +

+

emagged phrases

huntable_pests + + + + +

+

pests we hunt

huntable_trash + + + + +

+

trash we will burn

janitor_mode_flags + + + + +

+

Flags indicating what kind of cleanables we should scan for to set as our target to clean. +Options: CLEANBOT_CLEAN_BLOOD | CLEANBOT_CLEAN_TRASH | CLEANBOT_CLEAN_PESTS | CLEANBOT_CLEAN_DRAWINGS

job_titles + + + + +

+

job titles we can get

officers_titles + + + + +

+

list of our officer titles

our_mop + + + + +

+

our mop item

pet_commands + + + + +

+

list of pet commands we follow

stolen_valor + + + + +

+

List of all stolen names the cleanbot currently has.

suffix_job_titles + + + + +

+

which job titles should be placed after the name?

weapon + + + + +

+

Currently attached weapon, usually a knife.

+ + + diff --git a/mob/living/basic/bot/medbot.html b/mob/living/basic/bot/medbot.html new file mode 100644 index 00000000000..a3b7113d313 --- /dev/null +++ b/mob/living/basic/bot/medbot.html @@ -0,0 +1,148 @@ + + + + + + + /mob/living/basic/bot/medbot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medbot + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

afterheal_announcementsannouncements after we heal someone
damage_type_healerWhat damage type does this bot support. Because the default is brute, if the medkit is brute-oriented there is a slight bonus to healing. set to "all" for it to heal any of the 4 base damage types
emagged_announcementsannouncements when we are emagged
heal_amountHow much healing do we do at a time?
heal_thresholdStart healing when they have this much damage in a category
health_analyzerdrop determining variable
idle_linesannouncements when we are idle
linked_techwebtechweb linked to the medbot
medical_mode_flagsFlags Medbots use to decide how they should be acting.
medkit_typedrop determining variable
near_death_announcementsannouncements when we are healing someone near death
skinbased off medkit_X skins in aibots.dmi for your selection; X goes here IE medskin_tox means skin var should be "tox"
tipped_announcementsannouncements when we are being tipped
tipperour tipper
untipped_announcementsannouncements when we are being untipped
wait_announcementsanouncements when we find a target to heal
worried_announcementsannouncements when we are worried
+

Var Details

afterheal_announcements + + + + +

+

announcements after we heal someone

damage_type_healer + + + + +

+

What damage type does this bot support. Because the default is brute, if the medkit is brute-oriented there is a slight bonus to healing. set to "all" for it to heal any of the 4 base damage types

emagged_announcements + + + + +

+

announcements when we are emagged

heal_amount + + + + +

+

How much healing do we do at a time?

heal_threshold + + + + +

+

Start healing when they have this much damage in a category

health_analyzer + + + + +

+

drop determining variable

idle_lines + + + + +

+

announcements when we are idle

linked_techweb + + + + +

+

techweb linked to the medbot

medical_mode_flags + + + + +

+

Flags Medbots use to decide how they should be acting.

medkit_type + + + + +

+

drop determining variable

near_death_announcements + + + + +

+

announcements when we are healing someone near death

skin + + + + +

+

based off medkit_X skins in aibots.dmi for your selection; X goes here IE medskin_tox means skin var should be "tox"

tipped_announcements + + + + +

+

announcements when we are being tipped

tipper + + + + +

+

our tipper

untipped_announcements + + + + +

+

announcements when we are being untipped

wait_announcements + + + + +

+

anouncements when we find a target to heal

worried_announcements + + + + +

+

announcements when we are worried

+ + + diff --git a/mob/living/basic/butterfly/lavaland/temporary.html b/mob/living/basic/butterfly/lavaland/temporary.html new file mode 100644 index 00000000000..2220076f0f3 --- /dev/null +++ b/mob/living/basic/butterfly/lavaland/temporary.html @@ -0,0 +1,73 @@ + + + + + + + /mob/living/basic/butterfly/lavaland/temporary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

temporary + + + +

+ + + + + + + +

Vars

despawn_timerDespawn timer of the butterfly
max_distanceMax distance in tiles before the butterfly despawns
sourceThe atom that's spawning the butterflies
will_be_destroyedWhether the butterfly will be destroyed at the end of its despawn timer

Procs

fadeoutFade the butterfly out before deleting it. +Looks much better than it just blipping out of existence
should_despawnChecks whether the butterfly should be despawned after the next check, based on distance from source
+

Var Details

despawn_timer + + + + +

+

Despawn timer of the butterfly

max_distance + + + + +

+

Max distance in tiles before the butterfly despawns

source + + + + +

+

The atom that's spawning the butterflies

will_be_destroyed + + + + +

+

Whether the butterfly will be destroyed at the end of its despawn timer

Proc Details

fadeout +

+

Fade the butterfly out before deleting it. +Looks much better than it just blipping out of existence

should_despawn +

+

Checks whether the butterfly should be despawned after the next check, based on distance from source

+ + + diff --git a/mob/living/basic/carp.html b/mob/living/basic/carp.html new file mode 100644 index 00000000000..a51822bac78 --- /dev/null +++ b/mob/living/basic/carp.html @@ -0,0 +1,126 @@ + + + + + + + /mob/living/basic/carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

carp + + + +

+ +Space Carp +

A migratory dwarf fortress reference who swim through space and sometimes bump into the space station. +Can be created in dehydrated form by traitors, and are also summoned through rifts by space dragons.

+

Begin regenerating their health after a short time without taking any damage, and will try to run away to do this if they get hurt. +Lethally attracted to loose plastic.

+

Tameable by feeding them meat, and can follow basic instructions. Rideable. +Owned as a pet both by the HoS (sometimes) and also the Nuclear Operatives.

+ + + + + + + + + + + + +

Vars

allowed_obstacle_targetsStructures that AI carp are willing to attack. This prevents them from deconstructing supermatter cooling equipment.
cell_lineCytology cells you can swab from this creature
desired_foodCarp want to eat raw meat
desired_trashCarp want to eat delicious six pack plastic rings
regenerate_colourWhat colour is our 'healing' outline?
ridable_dataInformation to apply when treating this carp as a vehicle
tamed_commandsCommands you can give this carp once it is tamed, not static because subtypes can modify it
teleportAbility which lets carp teleport around

Procs

apply_colourSet a random colour on the carp, override to do something else
migrate_toGives the carp a list of weakrefs of destinations to try and travel between when it has nothing better to do
on_tamedCalled when another mob has forged a bond of friendship with this one, passed the taming mob as 'tamer'
ranged_secondary_attackTeleport when you right click away from you
setup_eatingTell the elements and the blackboard what food we want to eat
+

Var Details

allowed_obstacle_targets + + + + +

+

Structures that AI carp are willing to attack. This prevents them from deconstructing supermatter cooling equipment.

cell_line + + + + +

+

Cytology cells you can swab from this creature

desired_food + + + + +

+

Carp want to eat raw meat

desired_trash + + + + +

+

Carp want to eat delicious six pack plastic rings

regenerate_colour + + + + +

+

What colour is our 'healing' outline?

ridable_data + + + + +

+

Information to apply when treating this carp as a vehicle

tamed_commands + + + + +

+

Commands you can give this carp once it is tamed, not static because subtypes can modify it

teleport + + + + +

+

Ability which lets carp teleport around

Proc Details

apply_colour +

+

Set a random colour on the carp, override to do something else

migrate_to +

+

Gives the carp a list of weakrefs of destinations to try and travel between when it has nothing better to do

on_tamed +

+

Called when another mob has forged a bond of friendship with this one, passed the taming mob as 'tamer'

ranged_secondary_attack +

+

Teleport when you right click away from you

setup_eating +

+

Tell the elements and the blackboard what food we want to eat

+ + + diff --git a/mob/living/basic/carp/holographic.html b/mob/living/basic/carp/holographic.html new file mode 100644 index 00000000000..5b197bdb424 --- /dev/null +++ b/mob/living/basic/carp/holographic.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/carp/holographic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

holographic + + + +

+ +

Holographic carp from the holodeck

+

Procs

setup_eatingHolocarp don't eat food

Proc Details

setup_eating +

+

Holocarp don't eat food

+ + + diff --git a/mob/living/basic/carp/magic.html b/mob/living/basic/carp/magic.html new file mode 100644 index 00000000000..53d9c278156 --- /dev/null +++ b/mob/living/basic/carp/magic.html @@ -0,0 +1,75 @@ + + + + + + + /mob/living/basic/carp/magic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Magicarp + + + +

+ +

Carp who can cast spells! +Mostly created via wizard event or transformation. +Come in 'does one thing' and 'does random things' varieties.

+ + + + + +

Vars

allowed_projectile_typesList of all projectiles we can fire. +Non-static, because subtypes can have their own lists.
spellOur magic attack

Procs

RangedAttackShoot when you click away from you
assign_spellUpdates name based on chosen spell
assign_spell_aiIf you have certain spells, use a different targeting strategy
spell_listReturns the list of spells we are allowed to cast
+

Var Details

allowed_projectile_types + + + + +

+

List of all projectiles we can fire. +Non-static, because subtypes can have their own lists.

spell + + + + +

+

Our magic attack

Proc Details

RangedAttack +

+

Shoot when you click away from you

assign_spell +

+

Updates name based on chosen spell

assign_spell_ai +

+

If you have certain spells, use a different targeting strategy

spell_list +

+

Returns the list of spells we are allowed to cast

+ + + diff --git a/mob/living/basic/carp/mega.html b/mob/living/basic/carp/mega.html new file mode 100644 index 00000000000..dc4708450c4 --- /dev/null +++ b/mob/living/basic/carp/mega.html @@ -0,0 +1,31 @@ + + + + + + + /mob/living/basic/carp/mega - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

mega + + + +

+ +Mega Space Carp +

A bigger space carp with more health and greater ability to smash objects. +Brings in some buddies when it starts fleeing as a distraction. +Has mildly randomised stats for some inexplicable reason, makes it somewhat more like a randomised Diablo mob.

+ + + diff --git a/mob/living/basic/carp/pet/cayenne.html b/mob/living/basic/carp/pet/cayenne.html new file mode 100644 index 00000000000..05170776bec --- /dev/null +++ b/mob/living/basic/carp/pet/cayenne.html @@ -0,0 +1,59 @@ + + + + + + + /mob/living/basic/carp/pet/cayenne - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cayenne + + + +

+ +

Cayenne - Loyal member of the nuclear operatives. +Spawns in the nuke op shuttle, can be made sapient if they want to do that for some reason. +Is very talented and also capable of holding the nuclear disk.

+ + + +

Vars

disk_overlayOverlay to apply to display the disk
mouth_overlayOverlay to apply over the disk so it looks like cayenne is holding it

Procs

display_diskAdds an overlay to show the disk on Cayenne
got_diskShe did it! Treats for Cayenne!
+

Var Details

disk_overlay + + + + +

+

Overlay to apply to display the disk

mouth_overlay + + + + +

+

Overlay to apply over the disk so it looks like cayenne is holding it

Proc Details

display_disk +

+

Adds an overlay to show the disk on Cayenne

got_disk +

+

She did it! Treats for Cayenne!

+ + + diff --git a/mob/living/basic/cat_butcherer.html b/mob/living/basic/cat_butcherer.html new file mode 100644 index 00000000000..af1c2b7be14 --- /dev/null +++ b/mob/living/basic/cat_butcherer.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/basic/cat_butcherer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cat_butcherer + + + +

+ +Cat Surgeon +

A mean motherfucker who wants to steal them cat tails... be warned should you see it, as it doesn't really speak much either.

+

Vars

drop_on_deathThe stuff we drop on death.
+

Var Details

drop_on_death + + + + +

+

The stuff we drop on death.

+ + + diff --git a/mob/living/basic/chick.html b/mob/living/basic/chick.html new file mode 100644 index 00000000000..2f4ccdd4430 --- /dev/null +++ b/mob/living/basic/chick.html @@ -0,0 +1,44 @@ + + + + + + + /mob/living/basic/chick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chick + + + +

+ +Chicks +

Baby birds that grow into big chickens.

+ +

Vars

grow_asWhat we grow into.

Procs

ready_to_growWe don't grow into a chicken if we're not conscious.
+

Var Details

grow_as + + + + +

+

What we grow into.

Proc Details

ready_to_grow +

+

We don't grow into a chicken if we're not conscious.

+ + + diff --git a/mob/living/basic/chicken.html b/mob/living/basic/chicken.html new file mode 100644 index 00000000000..4bcf638dd24 --- /dev/null +++ b/mob/living/basic/chicken.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/chicken - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chicken + + + +

+ + +

Vars

fertileboolean deciding whether eggs laid by this chicken can hatch into chicks
+

Var Details

fertile + + + + +

+

boolean deciding whether eggs laid by this chicken can hatch into chicks

+ + + diff --git a/mob/living/basic/clown.html b/mob/living/basic/clown.html new file mode 100644 index 00000000000..e6a541a36ac --- /dev/null +++ b/mob/living/basic/clown.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/clown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

clown + + + +

+ + + + +

Vars

emotesblackboard emote list
lootlist of stuff we drop on death
waddlesdo we waddle (honk)
+

Var Details

emotes + + + + +

+

blackboard emote list

loot + + + + +

+

list of stuff we drop on death

waddles + + + + +

+

do we waddle (honk)

+ + + diff --git a/mob/living/basic/clown/mutant/glutton.html b/mob/living/basic/clown/mutant/glutton.html new file mode 100644 index 00000000000..e3672f89e82 --- /dev/null +++ b/mob/living/basic/clown/mutant/glutton.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/clown/mutant/glutton - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

glutton + + + +

+ + + + +

Vars

prank_pouchThis is the list of items we are ready to regurgitate,

Procs

check_edibleReturns whether or not the supplied movable atom is edible.
eat_atomThis proc eats the atom, certain funny items are stored directly in the prank pouch while bananas grant a heal based on their potency and the peels are retained in the pouch.
+

Var Details

prank_pouch + + + + +

+

This is the list of items we are ready to regurgitate,

Proc Details

check_edible +

+

Returns whether or not the supplied movable atom is edible.

eat_atom +

+

This proc eats the atom, certain funny items are stored directly in the prank pouch while bananas grant a heal based on their potency and the peels are retained in the pouch.

+ + + diff --git a/mob/living/basic/cockroach/glockroach.html b/mob/living/basic/cockroach/glockroach.html new file mode 100644 index 00000000000..b9ae99af462 --- /dev/null +++ b/mob/living/basic/cockroach/glockroach.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/cockroach/glockroach - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

glockroach + + + +

+ + + +

Vars

burst_shotsnumber of burst shots
ranged_cooldowncooldown between attacks
+

Var Details

burst_shots + + + + +

+

number of burst shots

ranged_cooldown + + + + +

+

cooldown between attacks

+ + + diff --git a/mob/living/basic/cockroach/hauberoach.html b/mob/living/basic/cockroach/hauberoach.html new file mode 100644 index 00000000000..db345504c85 --- /dev/null +++ b/mob/living/basic/cockroach/hauberoach.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/cockroach/hauberoach - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

hauberoach + + + +

+ + +

Procs

on_squishProc used to override the squashing behavior of the normal cockroach.

Proc Details

on_squish +

+

Proc used to override the squashing behavior of the normal cockroach.

+ + + diff --git a/mob/living/basic/construct.html b/mob/living/basic/construct.html new file mode 100644 index 00000000000..8c95cff6b18 --- /dev/null +++ b/mob/living/basic/construct.html @@ -0,0 +1,92 @@ + + + + + + + /mob/living/basic/construct - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

construct + + + +

+ + + + + + + + + + +

Vars

can_repairWhether this construct can repair other constructs or cult buildings. Gets the healing_touch component if so.
can_repair_selfWhether this construct can repair itself. Works independently of can_repair.
construct_spellsList of spells that this construct can cast
masterThe construct's master
playstyle_stringFlavor text shown to players when they spawn as this construct
remains_by_themeThe different flavors of goop constructs can drop, depending on theme.
seekingWhether this construct is currently seeking nar nar
smashes_wallsCan this construct destroy walls?
themeTheme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue
+

Var Details

can_repair + + + + +

+

Whether this construct can repair other constructs or cult buildings. Gets the healing_touch component if so.

can_repair_self + + + + +

+

Whether this construct can repair itself. Works independently of can_repair.

construct_spells + + + + +

+

List of spells that this construct can cast

master + + + + +

+

The construct's master

playstyle_string + + + + +

+

Flavor text shown to players when they spawn as this construct

remains_by_theme + + + + +

+

The different flavors of goop constructs can drop, depending on theme.

seeking + + + + +

+

Whether this construct is currently seeking nar nar

smashes_walls + + + + +

+

Can this construct destroy walls?

theme + + + + +

+

Theme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue

+ + + diff --git a/mob/living/basic/construct/artificer.html b/mob/living/basic/construct/artificer.html new file mode 100644 index 00000000000..db75e4d6ade --- /dev/null +++ b/mob/living/basic/construct/artificer.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/construct/artificer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

artificer + + + +

+ + +

Vars

health_hudThe health HUD applied to this mob.
+

Var Details

health_hud + + + + +

+

The health HUD applied to this mob.

+ + + diff --git a/mob/living/basic/construct/harvester.html b/mob/living/basic/construct/harvester.html new file mode 100644 index 00000000000..4b21f8c6299 --- /dev/null +++ b/mob/living/basic/construct/harvester.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/construct/harvester - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

harvester + + + +

+ + +

Procs

resolve_unarmed_attackIf the attack is a limbless carbon, abort the attack, paralyze them, and get a special message from Nar'Sie.

Proc Details

resolve_unarmed_attack +

+

If the attack is a limbless carbon, abort the attack, paralyze them, and get a special message from Nar'Sie.

+ + + diff --git a/mob/living/basic/construct/proteon/hostile.html b/mob/living/basic/construct/proteon/hostile.html new file mode 100644 index 00000000000..a04526ed8eb --- /dev/null +++ b/mob/living/basic/construct/proteon/hostile.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/construct/proteon/hostile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

hostile + + + +

+ +

Hostile NPC version

+

Procs

ai_retaliate_behaviourSet a timer to clear our retaliate list

Proc Details

ai_retaliate_behaviour +

+

Set a timer to clear our retaliate list

+ + + diff --git a/mob/living/basic/cow.html b/mob/living/basic/cow.html new file mode 100644 index 00000000000..1378f9dbd87 --- /dev/null +++ b/mob/living/basic/cow.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/cow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cow + + + +

+ + + + + +

Vars

food_typeswhat this cow munches on, and what can be used to tame it.
self_tame_messagesingular version for player cows
tame_messagemessage sent when tamed

Procs

udder_componentwrapper for the udder component addition so you can have uniquely uddered cow subtypes
+

Var Details

food_types + + + + +

+

what this cow munches on, and what can be used to tame it.

self_tame_message + + + + +

+

singular version for player cows

tame_message + + + + +

+

message sent when tamed

Proc Details

udder_component +

+

wrapper for the udder component addition so you can have uniquely uddered cow subtypes

+ + + diff --git a/mob/living/basic/cow/wisdom.html b/mob/living/basic/cow/wisdom.html new file mode 100644 index 00000000000..de4c36e7eef --- /dev/null +++ b/mob/living/basic/cow/wisdom.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/cow/wisdom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wisdom + + + +

+ +

Wisdom cow, gives XP to a random skill and speaks wisdoms

+ + +

Vars

granted_experienceHow much experience this cow will grant.
granted_wisdomThe type of wisdom this cow will grant

Procs

attack_handGive intense wisdom to the attacker if they're being friendly about it
+

Var Details

granted_experience + + + + +

+

How much experience this cow will grant.

granted_wisdom + + + + +

+

The type of wisdom this cow will grant

Proc Details

attack_hand +

+

Give intense wisdom to the attacker if they're being friendly about it

+ + + diff --git a/mob/living/basic/crab.html b/mob/living/basic/crab.html new file mode 100644 index 00000000000..4c1721f781d --- /dev/null +++ b/mob/living/basic/crab.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/crab - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crab + + + +

+ + +

Vars

attack_verb_continuousIn the case 'melee_damage_upper' is somehow raised above 0
+

Var Details

attack_verb_continuous + + + + +

+

In the case 'melee_damage_upper' is somehow raised above 0

+ + + diff --git a/mob/living/basic/deer.html b/mob/living/basic/deer.html new file mode 100644 index 00000000000..38ee94d61fc --- /dev/null +++ b/mob/living/basic/deer.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/deer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

deer + + + +

+ + +

Vars

stationary_scary_thingsThings that will scare us into being stationary. Vehicles are scary to deers because they might have headlights.
+

Var Details

stationary_scary_things + + + + +

+

Things that will scare us into being stationary. Vehicles are scary to deers because they might have headlights.

+ + + diff --git a/mob/living/basic/demon.html b/mob/living/basic/demon.html new file mode 100644 index 00000000000..3c37568bdbd --- /dev/null +++ b/mob/living/basic/demon.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/demon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

demon + + + +

+ +

Player controlled mobs that rip and tear, typically summoned by wizards.

+ + +

Vars

antag_typeTypepath of the antag datum to add to the demon when applicable

Procs

generate_antagonist_statusProc that just sets up the demon's antagonism status.
grant_lootProc that adds the necessary loot for the demon. Return an empty list if you don't want to add anything.
+

Var Details

antag_type + + + + +

+

Typepath of the antag datum to add to the demon when applicable

Proc Details

generate_antagonist_status +

+

Proc that just sets up the demon's antagonism status.

grant_loot +

+

Proc that adds the necessary loot for the demon. Return an empty list if you don't want to add anything.

+ + + diff --git a/mob/living/basic/demon/slaughter.html b/mob/living/basic/demon/slaughter.html new file mode 100644 index 00000000000..0e6a8a70c5a --- /dev/null +++ b/mob/living/basic/demon/slaughter.html @@ -0,0 +1,92 @@ + + + + + + + /mob/living/basic/demon/slaughter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

slaughter + + + +

+ +

The famous blood-crawling slaughter demons of wizardry fame.

+ + + + + + + + +

Vars

crawl_typeDatum that stores the action for us to crawl around.
current_hitstreakHow many times we have hit humanoid targets since we last bloodcrawled, scaling wounding power
slam_cooldownCooldown tracker for the slam
slam_cooldown_timeHow long it takes for the alt-click slam attack to come off cooldown
wound_bonus_hitstreak_maxHow much our wound_bonus hitstreak bonus caps at (peak demonry)
wound_bonus_per_hitHow much both our wound_bonus and bare_wound_bonus go up per hitstreak hit

Procs

bodyslamPerforms the classic slaughter demon bodyslam on the attack_target. Yeets them a screen away.
on_attackProc that we execute on attacking someone to keep track of our hitstreaks and wound bonuses. Also handles triggering the bodyslam on attacks.
on_crawlWhenever we enter or exit blood crawl, reset our bonus and hitstreaks.
+

Var Details

crawl_type + + + + +

+

Datum that stores the action for us to crawl around.

current_hitstreak + + + + +

+

How many times we have hit humanoid targets since we last bloodcrawled, scaling wounding power

slam_cooldown + + + + +

+

Cooldown tracker for the slam

slam_cooldown_time + + + + +

+

How long it takes for the alt-click slam attack to come off cooldown

wound_bonus_hitstreak_max + + + + +

+

How much our wound_bonus hitstreak bonus caps at (peak demonry)

wound_bonus_per_hit + + + + +

+

How much both our wound_bonus and bare_wound_bonus go up per hitstreak hit

Proc Details

bodyslam +

+

Performs the classic slaughter demon bodyslam on the attack_target. Yeets them a screen away.

on_attack +

+

Proc that we execute on attacking someone to keep track of our hitstreaks and wound bonuses. Also handles triggering the bodyslam on attacks.

on_crawl +

+

Whenever we enter or exit blood crawl, reset our bonus and hitstreaks.

+ + + diff --git a/mob/living/basic/demon/slaughter/laughter.html b/mob/living/basic/demon/slaughter/laughter.html new file mode 100644 index 00000000000..da6f60f793b --- /dev/null +++ b/mob/living/basic/demon/slaughter/laughter.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/demon/slaughter/laughter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

laughter + + + +

+ +

The laughter demon! It's everyone's best friend! It just wants to hug them so much, it wants to hug everyone at once!

+

Procs

on_deathWe do our own special thing on death, which is to spawn a kitten.

Proc Details

on_death +

+

We do our own special thing on death, which is to spawn a kitten.

+ + + diff --git a/mob/living/basic/drone.html b/mob/living/basic/drone.html new file mode 100644 index 00000000000..9f7c8e647a8 --- /dev/null +++ b/mob/living/basic/drone.html @@ -0,0 +1,341 @@ + + + + + + + /mob/living/basic/drone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

drone + + + +

+ +

Maintenance Drone

+

Small player controlled fixer-upper

+

The maintenace drone is a ghost role with the objective to repair and +maintain the station.

+

Featuring two dexterous hands, and a built in toolbox stocked with +tools.

+

They have laws to prevent them from doing anything else.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_unhackWhether this drone can be un-hacked. Used for subtypes that cannot be meaningfully "fixed".
colourStored drone color, restored when unhacked
default_headwearDefault /mob/living/basic/drone/var/head item
default_storageDefault /mob/living/basic/drone/var/internal_storage item
drone_area_blacklist_flatblacklisted drone areas, direct
drone_area_blacklist_recursiveblacklisted drone areas, recursive/includes descendants
drone_item_whitelist_flatwhitelisted drone items, direct
drone_item_whitelist_recursivewhitelisted drone items, recursive/includes descendants
drone_machinery_blacklist_compiledblacklisted drone machine typecache, compiled from [var/drone_machinery_blacklist_flat], [var/list/drone_machinery_blacklist_recursive], negated by their whitelist counterparts
drone_machinery_blacklist_flatblacklisted drone machines, direct
drone_machinery_blacklist_recursiveblacklisted drone machines, recursive/includes descendants
drone_machinery_whitelist_flatcancels out blacklisted machines, direct
drone_machinery_whitelist_recursivecancels out blacklisted machines, recursive/includes descendants
flavortextFlavor text announced to drones on [/mob/proc/Login]
hackedHacked state, see /mob/living/basic/drone/proc/update_drone_hack
headHeadwear slot
heavy_emp_damageAmount of damage sustained if hit by a heavy EMP pulse
internal_storageInternal storage slot. Fits any item
lawsDrone laws announced on spawn
listenerAlarm listener datum, handes caring about alarm events and such
pickedTRUE if we have picked our visual appearance, FALSE otherwise (default)
shyIf we have laws to minimize bothering others. Enables or disables drone laws enforcement components (use [/mob/living/basic/drone/proc/set_shy] to set)
shy_machine_whitelistmachines whitelisted from being shy with
visualAppearanceicon_state of drone from icons/mobs/drone.dmi

Procs

alert_dronesWraps /proc/_alert_drones with defaults
check_lawsEchoes drone laws to the user
check_menucheck_menu: Checks if we are allowed to interact with a radial menu
drone_chatWraps /mob/living/basic/drone/proc/alert_drones as a Drone Chat
drone_pingCreates an alert to drones in the same network
get_armor_effectivenessReturns a multiplier for any head armor you wear as a drone.
liberateMakes the drone into a Free Drone, who have no real laws and can do whatever they like. +Only currently used for players wabbajacked into drones.
pickVisualAppearancePrompt for user to pick /mob/living/basic/drone/var/visualAppearance
screwdriver_actScrewdrivering repairs the drone to full hp, if it isn't dead.
try_reactivateCalled when a drone attempts to reactivate a dead drone
update_drone_hackHack or unhack a drone
update_drone_icon_hackedChanges the icon state to a hacked version
wrench_actWrenching un-hacks hacked drones.
+

Var Details

can_unhack + + + + +

+

Whether this drone can be un-hacked. Used for subtypes that cannot be meaningfully "fixed".

colour + + + + +

+

Stored drone color, restored when unhacked

default_headwear + + + + +

+

Default /mob/living/basic/drone/var/head item

default_storage + + + + +

+

Default /mob/living/basic/drone/var/internal_storage item

drone_area_blacklist_flat + + + + +

+

blacklisted drone areas, direct

drone_area_blacklist_recursive + + + + +

+

blacklisted drone areas, recursive/includes descendants

drone_item_whitelist_flat + + + + +

+

whitelisted drone items, direct

drone_item_whitelist_recursive + + + + +

+

whitelisted drone items, recursive/includes descendants

drone_machinery_blacklist_compiled + + + + +

+

blacklisted drone machine typecache, compiled from [var/drone_machinery_blacklist_flat], [var/list/drone_machinery_blacklist_recursive], negated by their whitelist counterparts

drone_machinery_blacklist_flat + + + + +

+

blacklisted drone machines, direct

drone_machinery_blacklist_recursive + + + + +

+

blacklisted drone machines, recursive/includes descendants

drone_machinery_whitelist_flat + + + + +

+

cancels out blacklisted machines, direct

drone_machinery_whitelist_recursive + + + + +

+

cancels out blacklisted machines, recursive/includes descendants

flavortext + + + + +

+

Flavor text announced to drones on [/mob/proc/Login]

hacked + + + + +

+

Hacked state, see /mob/living/basic/drone/proc/update_drone_hack

head + + + + +

+

Headwear slot

heavy_emp_damage + + + + +

+

Amount of damage sustained if hit by a heavy EMP pulse

internal_storage + + + + +

+

Internal storage slot. Fits any item

laws + + + + +

+

Drone laws announced on spawn

listener + + + + +

+

Alarm listener datum, handes caring about alarm events and such

picked + + + + +

+

TRUE if we have picked our visual appearance, FALSE otherwise (default)

shy + + + + +

+

If we have laws to minimize bothering others. Enables or disables drone laws enforcement components (use [/mob/living/basic/drone/proc/set_shy] to set)

shy_machine_whitelist + + + + +

+

machines whitelisted from being shy with

visualAppearance + + + + +

+

icon_state of drone from icons/mobs/drone.dmi

+

Possible states are:

+

Proc Details

alert_drones +

+

Wraps /proc/_alert_drones with defaults

+
    +
  • source - src
  • +
  • faction_check_atom - src
  • +
  • dead_can_hear - TRUE
  • +

check_laws +

+

Echoes drone laws to the user

+

See /mob/living/basic/drone/var/laws

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

drone_chat +

+

Wraps /mob/living/basic/drone/proc/alert_drones as a Drone Chat

+

Shares the same radio code with binary

drone_ping +

+

Creates an alert to drones in the same network

+

Prompts user for alert level of:

+
    +
  • Low
  • +
  • Medium
  • +
  • High
  • +
  • Critical
  • +
+

Attaches area name to message

get_armor_effectiveness +

+

Returns a multiplier for any head armor you wear as a drone.

liberate +

+

Makes the drone into a Free Drone, who have no real laws and can do whatever they like. +Only currently used for players wabbajacked into drones.

pickVisualAppearance +

+

Prompt for user to pick /mob/living/basic/drone/var/visualAppearance

+

Does nothing if there is no user

+

Called on [/mob/proc/Login]

screwdriver_act +

+

Screwdrivering repairs the drone to full hp, if it isn't dead.

try_reactivate +

+

Called when a drone attempts to reactivate a dead drone

+

If the owner is still ghosted, will notify them. +If the owner cannot be found, fails with an error message.

+

Arguments:

+
    +
  • user - The /mob/living attempting to reactivate the drone
  • +

update_drone_hack +

+

Hack or unhack a drone

+

This changes the drone's laws to destroy the station or resets them +to normal.

+

Some debuffs are applied like slowing the drone down and disabling +vent crawling

+

Arguments

+
    +
  • hack - Boolean if the drone is being hacked or unhacked
  • +

update_drone_icon_hacked +

+

Changes the icon state to a hacked version

+

See also

+

wrench_act +

+

Wrenching un-hacks hacked drones.

+ + + diff --git a/mob/living/basic/drone/syndrone.html b/mob/living/basic/drone/syndrone.html new file mode 100644 index 00000000000..42b5deb08bd --- /dev/null +++ b/mob/living/basic/drone/syndrone.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/basic/drone/syndrone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syndrone + + + +

+ +

A Syndicate drone, tasked to cause chaos on the station. +Has a lot more health and its own uplink with 10 TC.

+

Vars

telecrystal_countThe number of telecrystals to put in the drone's uplink
+

Var Details

telecrystal_count + + + + +

+

The number of telecrystals to put in the drone's uplink

+ + + diff --git a/mob/living/basic/eyeball.html b/mob/living/basic/eyeball.html new file mode 100644 index 00000000000..8f989ba827a --- /dev/null +++ b/mob/living/basic/eyeball.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/eyeball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eyeball + + + +

+ + + + + +

Vars

cryingis this eyeball crying?
eye_healingcooldown to heal eyes
healing_factorhow much we will heal eyes
on_hit_overlaythe crying overlay we add when is hit
+

Var Details

crying + + + + +

+

is this eyeball crying?

eye_healing + + + + +

+

cooldown to heal eyes

healing_factor + + + + +

+

how much we will heal eyes

on_hit_overlay + + + + +

+

the crying overlay we add when is hit

+ + + diff --git a/mob/living/basic/faithless.html b/mob/living/basic/faithless.html new file mode 100644 index 00000000000..21d1249527b --- /dev/null +++ b/mob/living/basic/faithless.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/faithless - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

faithless + + + +

+ + + +

Vars

paralyze_chanceWhat are the odds we paralyze a target on attack
paralyze_durationHow long do we paralyze a target for if we attack them
+

Var Details

paralyze_chance + + + + +

+

What are the odds we paralyze a target on attack

paralyze_duration + + + + +

+

How long do we paralyze a target for if we attack them

+ + + diff --git a/mob/living/basic/festivus.html b/mob/living/basic/festivus.html new file mode 100644 index 00000000000..c9150e408f1 --- /dev/null +++ b/mob/living/basic/festivus.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/festivus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

festivus + + + +

+ + +

Vars

recharge_valuehow much charge we give off to cells around us when rubbed
+

Var Details

recharge_value + + + + +

+

how much charge we give off to cells around us when rubbed

+ + + diff --git a/mob/living/basic/frog.html b/mob/living/basic/frog.html new file mode 100644 index 00000000000..412242a0faf --- /dev/null +++ b/mob/living/basic/frog.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/frog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

frog + + + +

+ + + +

Vars

poison_per_biteHow much of a reagent the mob injects on attack
poison_typeWhat reagent the mob injects targets with
+

Var Details

poison_per_bite + + + + +

+

How much of a reagent the mob injects on attack

poison_type + + + + +

+

What reagent the mob injects targets with

+ + + diff --git a/mob/living/basic/frog/frog_suicide.html b/mob/living/basic/frog/frog_suicide.html new file mode 100644 index 00000000000..cf70dda5645 --- /dev/null +++ b/mob/living/basic/frog/frog_suicide.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/frog/frog_suicide - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

frog_suicide + + + +

+ + +

Vars

existence_periodhow long do we exist for
+

Var Details

existence_period + + + + +

+

how long do we exist for

+ + + diff --git a/mob/living/basic/garden_gnome.html b/mob/living/basic/garden_gnome.html new file mode 100644 index 00000000000..5914e6d1291 --- /dev/null +++ b/mob/living/basic/garden_gnome.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/garden_gnome - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

garden_gnome + + + +

+ + + + + + + +

Vars

chosen_hat_colourThe chosen hat colour
gnome_beard_coloursRealistically weighted list of usual gnome beard colours
gnome_body_coloursRealistically weighted list of usual gnome body colours
gnome_hat_coloursRealistically weighted list of usual gnome hat colours
gnome_pants_coloursRealistically weighted list of usual gnome pants colours
resistance_when_sinkedThe damage resistence when sinked into the ground
+

Var Details

chosen_hat_colour + + + + +

+

The chosen hat colour

gnome_beard_colours + + + + +

+

Realistically weighted list of usual gnome beard colours

gnome_body_colours + + + + +

+

Realistically weighted list of usual gnome body colours

gnome_hat_colours + + + + +

+

Realistically weighted list of usual gnome hat colours

gnome_pants_colours + + + + +

+

Realistically weighted list of usual gnome pants colours

resistance_when_sinked + + + + +

+

The damage resistence when sinked into the ground

+ + + diff --git a/mob/living/basic/ghost.html b/mob/living/basic/ghost.html new file mode 100644 index 00000000000..86facd0e8b4 --- /dev/null +++ b/mob/living/basic/ghost.html @@ -0,0 +1,90 @@ + + + + + + + /mob/living/basic/ghost - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ghost + + + +

+ + + + + + + + + +

Vars

ghost_facial_hairThe resulting facial hair to be displayed on the ghost
ghost_facial_hair_colorWhat color will this ghost's facial hair be
ghost_facial_hairstyleWhat facial hairstyle will this ghost have
ghost_hairThe resulting hair to be displayed on the ghost
ghost_hair_colorWhat color will this ghost's hair be
ghost_hairstyleWhat hairstyle will this ghost have
random_identityWill this ghost spawn with a randomly generated name and hair?

Procs

give_identityGenerates hair, facial hair, and a random name for ghosts if one is needed.
+

Var Details

ghost_facial_hair + + + + +

+

The resulting facial hair to be displayed on the ghost

ghost_facial_hair_color + + + + +

+

What color will this ghost's facial hair be

ghost_facial_hairstyle + + + + +

+

What facial hairstyle will this ghost have

ghost_hair + + + + +

+

The resulting hair to be displayed on the ghost

ghost_hair_color + + + + +

+

What color will this ghost's hair be

ghost_hairstyle + + + + +

+

What hairstyle will this ghost have

random_identity + + + + +

+

Will this ghost spawn with a randomly generated name and hair?

Proc Details

give_identity +

+

Generates hair, facial hair, and a random name for ghosts if one is needed.

+

Handles generating the mutable_appearance objects for a ghost's hair/facial hair, +as well as assigning a random name if needed. If random_identity is false, it will only create and display +the hair as defined by ghost_hairstyle/ghost_facial_hairstyle variables, without changing the name. +If random_identity is true, hair/facial/name will all be randomly generated and displayed. +When creating a ghost with a custom identity (for away missions, ruins, etc.) be sure random_identity is false.

+ + + diff --git a/mob/living/basic/goat.html b/mob/living/basic/goat.html new file mode 100644 index 00000000000..39f9ccf7df1 --- /dev/null +++ b/mob/living/basic/goat.html @@ -0,0 +1,87 @@ + + + + + + + /mob/living/basic/goat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

goat + + + +

+ +

The Greatest (animal) Of All Time. Cud chewing, shin-kicking, kitchen-dwelling nuisance.

+ + + + + + + +

Vars

ediblesList of stuff (flora) that we want to eat
gleam_cooldownTime until we can next gleam evilly
gleam_delayHow often will we develop an evil gleam in our eye?

Procs

add_udderWhen invoked, adds an udder when applicable. Male goats do not have udders.
eat_plantProc that handles dealing with the various types of plants we might eat. Assumes that a valid list of type(s) will be passed in.
on_attackedIf we are being attacked by someone, give a nice fluff message. But only once in a while.
on_moveHandles automagically eating a plant when we move into a turf that has one.
on_pre_attackCalled when we attack something in order to piece together the intent of the AI/user and provide desired behavior. The element might be okay here but I'd rather the fluff. +Goats are really good at beating up plants by taking bites out of them, but we use the default attack for everything else
+

Var Details

edibles + + + + +

+

List of stuff (flora) that we want to eat

gleam_cooldown + + + + +

+

Time until we can next gleam evilly

gleam_delay + + + + +

+

How often will we develop an evil gleam in our eye?

Proc Details

add_udder +

+

When invoked, adds an udder when applicable. Male goats do not have udders.

eat_plant +

+

Proc that handles dealing with the various types of plants we might eat. Assumes that a valid list of type(s) will be passed in.

on_attacked +

+

If we are being attacked by someone, give a nice fluff message. But only once in a while.

on_move +

+

Handles automagically eating a plant when we move into a turf that has one.

on_pre_attack +

+

Called when we attack something in order to piece together the intent of the AI/user and provide desired behavior. The element might be okay here but I'd rather the fluff. +Goats are really good at beating up plants by taking bites out of them, but we use the default attack for everything else

+ + + diff --git a/mob/living/basic/gorilla.html b/mob/living/basic/gorilla.html new file mode 100644 index 00000000000..8318f6c6fb1 --- /dev/null +++ b/mob/living/basic/gorilla.html @@ -0,0 +1,58 @@ + + + + + + + /mob/living/basic/gorilla - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gorilla + + + +

+ +

Like a bigger monkey +They make a lot of noise and punch limbs off unconscious folks

+ + + +

Vars

gorilla_foodTypes of things we want to find and eat
oogasA counter for when we can scream again
paralyze_chanceHow likely our meaty fist is to stun someone

Procs

ooga_oogaAssert your dominance with audio cues
+

Var Details

gorilla_food + + + + +

+

Types of things we want to find and eat

oogas + + + + +

+

A counter for when we can scream again

paralyze_chance + + + + +

+

How likely our meaty fist is to stun someone

Proc Details

ooga_ooga +

+

Assert your dominance with audio cues

+ + + diff --git a/mob/living/basic/guardian.html b/mob/living/basic/guardian.html new file mode 100644 index 00000000000..94c0f4ebaa6 --- /dev/null +++ b/mob/living/basic/guardian.html @@ -0,0 +1,296 @@ + + + + + + + /mob/living/basic/guardian - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guardian + + + +

+ +

A mob which acts as a guardian angel to another mob, sharing health but protecting them using special powers. +Usually either obtained in magical form by a wizard, or technological form by a traitor. Sometimes found by miners.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

control_actionsList of actions we give to our summoner
creator_descDescription used by the guardian creator.
creator_iconIcon used by the guardian creator.
creator_nameName used by the guardian creator.
guardian_colourThe guardian's colour, used for their sprite, chat, and some effects.
guardian_typeWhat type of guardian are we?
lockedAre we forced to not be able to manifest/recall?
manifest_cooldownCooldown between manifests/recalls.
overlayColoured overlay we apply
playstyle_stringA string explaining to the guardian what they can do.
rangeHow far from the summoner the guardian can be.
resetting_cooldownCooldown between the summoner resetting the guardian's client.
summonerThe summoner of the guardian, we share health with them and can't move too far away (usually)
themeHow are we themed?
toggle_button_typeWhich toggle button the HUD uses.

Procs

check_typePrints what type of guardian we are and what we can do.
communicateSpeak with our boss at a distance
cut_summonerRemove all references to our summoner
generate_random_namePicks a random name as a suggestion
guardian_recolourPick a new colour for our guardian
is_deployedReturns true if you are out and about
leash_toConnects these two mobs by a leash
manifestPop out into the realm of the living.
manifest_effectsDo something when we appear.
on_harmCalled when our health changes, inform our owner of why they are getting hurt (if they are)
on_summoner_deathCalled when our owner dies. We fucked up, so now neither of us get to exist.
on_summoner_deletionWhen our owner is deleted, we go too.
on_summoner_shapeshiftedSignal proc for COMSIG_LIVING_SHAPESHIFTED, when our summoner is shapeshifted we should change to the new mob
on_summoner_unshapeshiftedSignal proc for COMSIG_LIVING_UNSHAPESHIFTED, when our summoner unshapeshifts go back to that mob
on_summoner_wabbajackedSignal proc for COMSIG_LIVING_ON_WABBAJACKED, when our summoner is wabbajacked we should be alerted.
recallGo and hide inside your boss.
recall_effectsDo something when we vanish.
set_guardian_colourApply a new colour to our guardian
set_summonerLink up with a summoner mob.
shares_summonerReturns true if this holoparasite has the same summoner as the passed holoparasite.
toggle_lightTurn an internal light on or off.
toggle_modesSwap to a different mode... if we have one
unleashRemoves the leash from this guardian
+

Var Details

control_actions + + + + +

+

List of actions we give to our summoner

creator_desc + + + + +

+

Description used by the guardian creator.

creator_icon + + + + +

+

Icon used by the guardian creator.

creator_name + + + + +

+

Name used by the guardian creator.

guardian_colour + + + + +

+

The guardian's colour, used for their sprite, chat, and some effects.

guardian_type + + + + +

+

What type of guardian are we?

locked + + + + +

+

Are we forced to not be able to manifest/recall?

manifest_cooldown + + + + +

+

Cooldown between manifests/recalls.

overlay + + + + +

+

Coloured overlay we apply

playstyle_string + + + + +

+

A string explaining to the guardian what they can do.

range + + + + +

+

How far from the summoner the guardian can be.

resetting_cooldown + + + + +

+

Cooldown between the summoner resetting the guardian's client.

summoner + + + + +

+

The summoner of the guardian, we share health with them and can't move too far away (usually)

theme + + + + +

+

How are we themed?

toggle_button_type + + + + +

+

Which toggle button the HUD uses.

Proc Details

check_type +

+

Prints what type of guardian we are and what we can do.

communicate +

+

Speak with our boss at a distance

cut_summoner +

+

Remove all references to our summoner

generate_random_name +

+

Picks a random name as a suggestion

guardian_recolour +

+

Pick a new colour for our guardian

is_deployed +

+

Returns true if you are out and about

leash_to +

+

Connects these two mobs by a leash

manifest +

+

Pop out into the realm of the living.

manifest_effects +

+

Do something when we appear.

on_harm +

+

Called when our health changes, inform our owner of why they are getting hurt (if they are)

on_summoner_death +

+

Called when our owner dies. We fucked up, so now neither of us get to exist.

on_summoner_deletion +

+

When our owner is deleted, we go too.

on_summoner_shapeshifted +

+

Signal proc for COMSIG_LIVING_SHAPESHIFTED, when our summoner is shapeshifted we should change to the new mob

on_summoner_unshapeshifted +

+

Signal proc for COMSIG_LIVING_UNSHAPESHIFTED, when our summoner unshapeshifts go back to that mob

on_summoner_wabbajacked +

+

Signal proc for COMSIG_LIVING_ON_WABBAJACKED, when our summoner is wabbajacked we should be alerted.

recall +

+

Go and hide inside your boss.

recall_effects +

+

Do something when we vanish.

set_guardian_colour +

+

Apply a new colour to our guardian

set_summoner +

+

Link up with a summoner mob.

shares_summoner +

+

Returns true if this holoparasite has the same summoner as the passed holoparasite.

toggle_light +

+

Turn an internal light on or off.

toggle_modes +

+

Swap to a different mode... if we have one

unleash +

+

Removes the leash from this guardian

+ + + diff --git a/mob/living/basic/guardian/assassin.html b/mob/living/basic/guardian/assassin.html new file mode 100644 index 00000000000..6127d4fe7c8 --- /dev/null +++ b/mob/living/basic/guardian/assassin.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/guardian/assassin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

assassin + + + +

+ +

Can enter stealth mode to become invisible and deal bonus damage on their next attack, an ambush predator.

+ + + +

Vars

stealth_cooldownCooldown for the stealth toggle.
stealth_cooldown_timeHow long to put stealth on cooldown if we are forced out?

Procs

on_forced_unstealthCalled when we are removed from stealth involuntarily
show_can_stealthDisplays an alert letting us know that we can enter stealth
+

Var Details

stealth_cooldown + + + + +

+

Cooldown for the stealth toggle.

stealth_cooldown_time + + + + +

+

How long to put stealth on cooldown if we are forced out?

Proc Details

on_forced_unstealth +

+

Called when we are removed from stealth involuntarily

show_can_stealth +

+

Displays an alert letting us know that we can enter stealth

+ + + diff --git a/mob/living/basic/guardian/dextrous.html b/mob/living/basic/guardian/dextrous.html new file mode 100644 index 00000000000..e7e67cc8343 --- /dev/null +++ b/mob/living/basic/guardian/dextrous.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/guardian/dextrous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dextrous + + + +

+ +

Dextrous guardians have some of the most powerful abilities of all: hands and pockets

+

Vars

internal_storageAn internal pocket we can put stuff in
+

Var Details

internal_storage + + + + +

+

An internal pocket we can put stuff in

+ + + diff --git a/mob/living/basic/guardian/explosive.html b/mob/living/basic/guardian/explosive.html new file mode 100644 index 00000000000..38c5db4039d --- /dev/null +++ b/mob/living/basic/guardian/explosive.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/guardian/explosive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

explosive + + + +

+ +

A durable guardian which can convert objects into hidden explosives.

+

Vars

bombAbility which plants bombs
+

Var Details

bomb + + + + +

+

Ability which plants bombs

+ + + diff --git a/mob/living/basic/guardian/gaseous.html b/mob/living/basic/guardian/gaseous.html new file mode 100644 index 00000000000..baa7cc4d3ef --- /dev/null +++ b/mob/living/basic/guardian/gaseous.html @@ -0,0 +1,64 @@ + + + + + + + /mob/living/basic/guardian/gaseous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gaseous + + + +

+ +

Not particularly resistant, but versatile due to the selection of gases it can generate.

+ + + + +

Vars

gasAbility we use to select gases
temp_stabilization_rateRate of temperature stabilization per second.

Procs

on_summoner_ignitedPrevent our summoner from being on fire
on_summoner_lifeMaintain our summoner at a stable body temperature
pre_pressure_movedWe stand firm in the face of gas
+

Var Details

gas + + + + +

+

Ability we use to select gases

temp_stabilization_rate + + + + +

+

Rate of temperature stabilization per second.

Proc Details

on_summoner_ignited +

+

Prevent our summoner from being on fire

on_summoner_life +

+

Maintain our summoner at a stable body temperature

pre_pressure_moved +

+

We stand firm in the face of gas

+ + + diff --git a/mob/living/basic/guardian/gravitokinetic.html b/mob/living/basic/guardian/gravitokinetic.html new file mode 100644 index 00000000000..2253fc72488 --- /dev/null +++ b/mob/living/basic/guardian/gravitokinetic.html @@ -0,0 +1,99 @@ + + + + + + + /mob/living/basic/guardian/gravitokinetic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gravitokinetic + + + +

+ +

Somewhat durable guardian who can increase gravity in an area

+ + + + + + + + + +

Vars

gravity_power_rangeDistance at which our ability works
gravity_targetsTargets we have applied our gravity effects on.
punch_gravityGravity added on punches.
turf_gravityGravity added to turfs.

Procs

add_gravityMake something heavier
clear_gravityRemove our forced gravity from all targets
on_movedWhen we or something we are inside move check if we are now too far away
on_target_movedWhen something we put gravity on moves check if it's too far away
remove_gravityStop making something heavier
slam_turfApply forced gravity to the floor
+

Var Details

gravity_power_range + + + + +

+

Distance at which our ability works

gravity_targets + + + + +

+

Targets we have applied our gravity effects on.

punch_gravity + + + + +

+

Gravity added on punches.

turf_gravity + + + + +

+

Gravity added to turfs.

Proc Details

add_gravity +

+

Make something heavier

clear_gravity +

+

Remove our forced gravity from all targets

on_moved +

+

When we or something we are inside move check if we are now too far away

on_target_moved +

+

When something we put gravity on moves check if it's too far away

remove_gravity +

+

Stop making something heavier

slam_turf +

+

Apply forced gravity to the floor

+ + + diff --git a/mob/living/basic/guardian/lightning.html b/mob/living/basic/guardian/lightning.html new file mode 100644 index 00000000000..1692a2c470a --- /dev/null +++ b/mob/living/basic/guardian/lightning.html @@ -0,0 +1,78 @@ + + + + + + + /mob/living/basic/guardian/lightning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lightning + + + +

+ +

A reasonably durable guardian linked to you by a chain of lightning, zapping people who get between you

+ + + + + + +

Vars

enemy_chainsAssociative list of chained enemies to their chains
summoner_chainLink between us and our summoner

Procs

chain_toCreate a damaging lightning chain between ourselves and a target
clear_chainsRemove all of our chains
on_chain_deletedHandle losing our reference when we delete a chain
on_chain_zapCalled every few zaps by a chain
validate_targetConfirm whether something is valid to zap with lightning
+

Var Details

enemy_chains + + + + +

+

Associative list of chained enemies to their chains

summoner_chain + + + + +

+

Link between us and our summoner

Proc Details

chain_to +

+

Create a damaging lightning chain between ourselves and a target

clear_chains +

+

Remove all of our chains

on_chain_deleted +

+

Handle losing our reference when we delete a chain

on_chain_zap +

+

Called every few zaps by a chain

validate_target +

+

Confirm whether something is valid to zap with lightning

+ + + diff --git a/mob/living/basic/guardian/protector.html b/mob/living/basic/guardian/protector.html new file mode 100644 index 00000000000..5d3e6c6c323 --- /dev/null +++ b/mob/living/basic/guardian/protector.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/guardian/protector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

protector + + + +

+ +

Very durable, and reverses the usual leash dynamic. Can slow down to become extremely durable.

+

Vars

shieldAction which toggles our shield
+

Var Details

shield + + + + +

+

Action which toggles our shield

+ + + diff --git a/mob/living/basic/guardian/standard.html b/mob/living/basic/guardian/standard.html new file mode 100644 index 00000000000..f5e2e39e840 --- /dev/null +++ b/mob/living/basic/guardian/standard.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/guardian/standard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

standard + + + +

+ +

Plain, but durable and strong. Can destroy walls.

+ +

Vars

battlecryThe text we shout when attacking.

Procs

do_attack_soundEcho our punching sounds
+

Var Details

battlecry + + + + +

+

The text we shout when attacking.

Proc Details

do_attack_sound +

+

Echo our punching sounds

+ + + diff --git a/mob/living/basic/guardian/support.html b/mob/living/basic/guardian/support.html new file mode 100644 index 00000000000..dd11d08148e --- /dev/null +++ b/mob/living/basic/guardian/support.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/guardian/support - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

support + + + +

+ +

Quick-moving mob which can teleport things to a beacon and heal its allies

+ +

Vars

healing_amountAmount of each damage type to heal per hit

Procs

after_healedCalled after we heal someone, show some visuals
+

Var Details

healing_amount + + + + +

+

Amount of each damage type to heal per hit

Proc Details

after_healed +

+

Called after we heal someone, show some visuals

+ + + diff --git a/mob/living/basic/headslug.html b/mob/living/basic/headslug.html new file mode 100644 index 00000000000..978e3a65a32 --- /dev/null +++ b/mob/living/basic/headslug.html @@ -0,0 +1,53 @@ + + + + + + + /mob/living/basic/headslug - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

headslug + + + +

+ +Headslugs +

Player-controlled slugs that arise from a changeling ability in order to live on in an extremely limited capacity until they can find a suitable corpse to inhabit.

+ + +

Vars

egg_lainSet to true once we've implanted our egg

Procs

check_and_implantSignal Handler proc that runs on every attack and checks to see if this is a valid target for implantation. If so, it implants the egg and starts the countdown to death.
infectSimply infects the target corpse with our changeling eggs. This shouldn't fail, because all checks should have been done in check_and_implant() +Just to be super-duper safe to the player, we do return TRUE if all goes well and read that value in check_and_implant() to be nice to the player.
+

Var Details

egg_lain + + + + +

+

Set to true once we've implanted our egg

Proc Details

check_and_implant +

+

Signal Handler proc that runs on every attack and checks to see if this is a valid target for implantation. If so, it implants the egg and starts the countdown to death.

infect +

+

Simply infects the target corpse with our changeling eggs. This shouldn't fail, because all checks should have been done in check_and_implant() +Just to be super-duper safe to the player, we do return TRUE if all goes well and read that value in check_and_implant() to be nice to the player.

+ + + diff --git a/mob/living/basic/heretic_summon/armsy.html b/mob/living/basic/heretic_summon/armsy.html new file mode 100644 index 00000000000..3099c5e2bf5 --- /dev/null +++ b/mob/living/basic/heretic_summon/armsy.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/heretic_summon/armsy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

armsy + + + +

+ +

The "Terror of the Night" / Armsy, a large worm made of multiple bodyparts that occupies multiple tiles

+ + + + + +

Vars

backPrevious segment in the chain, we hold onto this purely to keep track of how long we currently are and to attach new growth to the back
current_stacksCurrently eaten arms
stacks_to_growHow many arms do we have to eat to expand?

Procs

new_segmentGrows a new segment behind the passed mob
register_behindRecord that we got another guy on our ass
tail_deletedWhen our tail is gone stop holding a reference to it
+

Var Details

back + + + + +

+

Previous segment in the chain, we hold onto this purely to keep track of how long we currently are and to attach new growth to the back

current_stacks + + + + +

+

Currently eaten arms

stacks_to_grow + + + + +

+

How many arms do we have to eat to expand?

Proc Details

new_segment +

+

Grows a new segment behind the passed mob

register_behind +

+

Record that we got another guy on our ass

tail_deleted +

+

When our tail is gone stop holding a reference to it

+ + + diff --git a/mob/living/basic/heretic_summon/maid_in_the_mirror.html b/mob/living/basic/heretic_summon/maid_in_the_mirror.html new file mode 100644 index 00000000000..0a79ce8a97c --- /dev/null +++ b/mob/living/basic/heretic_summon/maid_in_the_mirror.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/heretic_summon/maid_in_the_mirror - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

maid_in_the_mirror + + + +

+ +

Scout and assassin who can appear and disappear from glass surfaces. Damaged by being examined.

+ + +

Vars

harmed_by_examineWhether we take damage when someone looks at us
recent_examine_damage_cooldownHow often being examined by a specific mob can hurt us
recent_examiner_refsA list of REFs to people who recently examined us
+

Var Details

harmed_by_examine + + + + +

+

Whether we take damage when someone looks at us

recent_examine_damage_cooldown + + + + +

+

How often being examined by a specific mob can hurt us

recent_examiner_refs + + + + +

+

A list of REFs to people who recently examined us

+ + + diff --git a/mob/living/basic/heretic_summon/raw_prophet.html b/mob/living/basic/heretic_summon/raw_prophet.html new file mode 100644 index 00000000000..f38d7596274 --- /dev/null +++ b/mob/living/basic/heretic_summon/raw_prophet.html @@ -0,0 +1,45 @@ + + + + + + + /mob/living/basic/heretic_summon/raw_prophet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

raw_prophet + + + +

+ +

A funny little rolling guy who is great at scouting. +It can see through walls, jaunt, and create a psychic network to report its findings. +It can blind people to make a getaway, but also get stronger if it attacks the same target consecutively.

+ +

Vars

innate_abilitiesList of innate abilities we have to add.

Procs

get_innate_abilitiesReturns a list of abilities that we should add.
+

Var Details

innate_abilities + + + + +

+

List of innate abilities we have to add.

Proc Details

get_innate_abilities +

+

Returns a list of abilities that we should add.

+ + + diff --git a/mob/living/basic/heretic_summon/stalker.html b/mob/living/basic/heretic_summon/stalker.html new file mode 100644 index 00000000000..718df2300b9 --- /dev/null +++ b/mob/living/basic/heretic_summon/stalker.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/heretic_summon/stalker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stalker + + + +

+ +

Durable ambush mob with an EMP ability

+

Vars

actions_to_addActions to grant on spawn
+

Var Details

actions_to_add + + + + +

+

Actions to grant on spawn

+ + + diff --git a/mob/living/basic/hivebot.html b/mob/living/basic/hivebot.html new file mode 100644 index 00000000000..18db01e847a --- /dev/null +++ b/mob/living/basic/hivebot.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/hivebot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hivebot + + + +

+ + + +

Vars

ranged_attack_cooldownHow often can we shoot?
ranged_attackerdoes this type do range attacks?
+

Var Details

ranged_attack_cooldown + + + + +

+

How often can we shoot?

ranged_attacker + + + + +

+

does this type do range attacks?

+ + + diff --git a/mob/living/basic/hivebot/mechanic.html b/mob/living/basic/hivebot/mechanic.html new file mode 100644 index 00000000000..79c3b6b5643 --- /dev/null +++ b/mob/living/basic/hivebot/mechanic.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/hivebot/mechanic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mechanic + + + +

+ + +

Vars

repair_cooldowncooldown to repair machines
+

Var Details

repair_cooldown + + + + +

+

cooldown to repair machines

+ + + diff --git a/mob/living/basic/leaper.html b/mob/living/basic/leaper.html new file mode 100644 index 00000000000..db146e0dcb6 --- /dev/null +++ b/mob/living/basic/leaper.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/leaper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

leaper + + + +

+ + + + +

Vars

dead_overlayappearance when we dead
living_overlayappearance when we are alive
pet_commandslist of pet commands we can issue
+

Var Details

dead_overlay + + + + +

+

appearance when we dead

living_overlay + + + + +

+

appearance when we are alive

pet_commands + + + + +

+

list of pet commands we can issue

+ + + diff --git a/mob/living/basic/legion_brood.html b/mob/living/basic/legion_brood.html new file mode 100644 index 00000000000..fa133c362fc --- /dev/null +++ b/mob/living/basic/legion_brood.html @@ -0,0 +1,64 @@ + + + + + + + /mob/living/basic/legion_brood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

legion_brood + + + +

+ +

A spooky skull which heals lavaland mobs, attacks miners, and infests their bodies

+ + + + +

Vars

created_byReference to a guy who made us

Procs

assign_creatorSets someone as our creator, mostly so you can't use skulls to heal yourself
creator_destroyedReference handling
get_legion_typeReturns the kind of legion we make out of the target
infestTurn the targeted mob into one of us
+

Var Details

created_by + + + + +

+

Reference to a guy who made us

Proc Details

assign_creator +

+

Sets someone as our creator, mostly so you can't use skulls to heal yourself

creator_destroyed +

+

Reference handling

get_legion_type +

+

Returns the kind of legion we make out of the target

infest +

+

Turn the targeted mob into one of us

+ + + diff --git a/mob/living/basic/lightgeist.html b/mob/living/basic/lightgeist.html new file mode 100644 index 00000000000..727b3828b61 --- /dev/null +++ b/mob/living/basic/lightgeist.html @@ -0,0 +1,29 @@ + + + + + + + /mob/living/basic/lightgeist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

lightgeist + + + +

+ +Lightgeists +

Small critters meant to heal other living mobs and unable to interact with almost everything else.

+ + + diff --git a/mob/living/basic/living_limb_flesh.html b/mob/living/basic/living_limb_flesh.html new file mode 100644 index 00000000000..7d3d7b22024 --- /dev/null +++ b/mob/living/basic/living_limb_flesh.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/living_limb_flesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

living_limb_flesh + + + +

+ + +

Vars

current_bodypartthe meat bodypart we are currently inside, used to like drain nutrition and dismember and shit
+

Var Details

current_bodypart + + + + +

+

the meat bodypart we are currently inside, used to like drain nutrition and dismember and shit

+ + + diff --git a/mob/living/basic/lizard.html b/mob/living/basic/lizard.html new file mode 100644 index 00000000000..6b4fd73ef1c --- /dev/null +++ b/mob/living/basic/lizard.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/lizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lizard + + + +

+ + +

Vars

ediblesTypecache of things that we seek out to eat. Yummy.
+

Var Details

edibles + + + + +

+

Typecache of things that we seek out to eat. Yummy.

+ + + diff --git a/mob/living/basic/meteor_heart.html b/mob/living/basic/meteor_heart.html new file mode 100644 index 00000000000..5ea6f498e0e --- /dev/null +++ b/mob/living/basic/meteor_heart.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/meteor_heart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

meteor_heart + + + +

+ + + + + +

Vars

soundloopLooping heartbeat sound

Procs

aggroCalled when we get mad at something, either for attacking us or attacking the nearby area
deaggroCalled when we stop being mad
used_abilityAnimate when using certain abilities
+

Var Details

soundloop + + + + +

+

Looping heartbeat sound

Proc Details

aggro +

+

Called when we get mad at something, either for attacking us or attacking the nearby area

deaggro +

+

Called when we stop being mad

used_ability +

+

Animate when using certain abilities

+ + + diff --git a/mob/living/basic/meteor_heart/opens_puzzle_door.html b/mob/living/basic/meteor_heart/opens_puzzle_door.html new file mode 100644 index 00000000000..295b288059a --- /dev/null +++ b/mob/living/basic/meteor_heart/opens_puzzle_door.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/meteor_heart/opens_puzzle_door - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

opens_puzzle_door + + + +

+ + + +

Vars

idthe puzzle id we send on death
queue_sizequeue size, must match
+

Var Details

id + + + + +

+

the puzzle id we send on death

queue_size + + + + +

+

queue size, must match

+ + + diff --git a/mob/living/basic/migo.html b/mob/living/basic/migo.html new file mode 100644 index 00000000000..feafb0b5bc9 --- /dev/null +++ b/mob/living/basic/migo.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/migo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

migo + + + +

+ + + +

Vars

dodge_probOdds migo will dodge

Procs

update_dodge_chanceMakes the migo more likely to dodge around the more damaged it is
+

Var Details

dodge_prob + + + + +

+

Odds migo will dodge

Proc Details

update_dodge_chance +

+

Makes the migo more likely to dodge around the more damaged it is

+ + + diff --git a/mob/living/basic/mining.html b/mob/living/basic/mining.html new file mode 100644 index 00000000000..34c7fa04648 --- /dev/null +++ b/mob/living/basic/mining.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/mining - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mining + + + +

+ +

prototype for mining mobs

+ + +

Vars

crusher_drop_chanceWhat is the chance the mob drops it if all their health was taken by crusher attacks
crusher_lootWhat crusher trophy this mob drops, if any
throw_blocked_messageMessage to output if throwing damage is absorbed
+

Var Details

crusher_drop_chance + + + + +

+

What is the chance the mob drops it if all their health was taken by crusher attacks

crusher_loot + + + + +

+

What crusher trophy this mob drops, if any

throw_blocked_message + + + + +

+

Message to output if throwing damage is absorbed

+ + + diff --git a/mob/living/basic/mining/basilisk.html b/mob/living/basic/mining/basilisk.html new file mode 100644 index 00000000000..448564c4db2 --- /dev/null +++ b/mob/living/basic/mining/basilisk.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/mining/basilisk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basilisk + + + +

+ +

Watchers' ground-dwelling cousins, they shoot at you until they get into melee and absorb laser fire to power up.

+ + + +

Vars

ranged_attacksThe component we use for making ranged attacks

Procs

check_lavaAre we standing in lava?
heat_upWe got hit by something hot, go into heat mode
set_projectile_typeChange what kind of beam we fire
+

Var Details

ranged_attacks + + + + +

+

The component we use for making ranged attacks

Proc Details

check_lava +

+

Are we standing in lava?

heat_up +

+

We got hit by something hot, go into heat mode

set_projectile_type +

+

Change what kind of beam we fire

+ + + diff --git a/mob/living/basic/mining/bileworm.html b/mob/living/basic/mining/bileworm.html new file mode 100644 index 00000000000..d4b20b68f58 --- /dev/null +++ b/mob/living/basic/mining/bileworm.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/mining/bileworm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bileworm + + + +

+ + + +

Vars

attack_action_pathwhich action this mob will be given, subtypes have different attacks
evolve_pathwhich, if at all, mob this evolves into at the 30 min mark
+

Var Details

attack_action_path + + + + +

+

which action this mob will be given, subtypes have different attacks

evolve_path + + + + +

+

which, if at all, mob this evolves into at the 30 min mark

+ + + diff --git a/mob/living/basic/mining/brimdemon.html b/mob/living/basic/mining/brimdemon.html new file mode 100644 index 00000000000..5e34c42a8e9 --- /dev/null +++ b/mob/living/basic/mining/brimdemon.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/mining/brimdemon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

brimdemon + + + +

+ +

Lavaland mob which tries to line up with its target and fire a laser

+

Vars

beamHow we get blasting
+

Var Details

beam + + + + +

+

How we get blasting

+ + + diff --git a/mob/living/basic/mining/demon_afterimage.html b/mob/living/basic/mining/demon_afterimage.html new file mode 100644 index 00000000000..984c735f3ab --- /dev/null +++ b/mob/living/basic/mining/demon_afterimage.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/mining/demon_afterimage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

demon_afterimage + + + +

+ + +

Vars

existence_periodhow long do we exist for
+

Var Details

existence_period + + + + +

+

how long do we exist for

+ + + diff --git a/mob/living/basic/mining/goldgrub.html b/mob/living/basic/mining/goldgrub.html new file mode 100644 index 00000000000..c96f419d9a2 --- /dev/null +++ b/mob/living/basic/mining/goldgrub.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/mining/goldgrub - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

goldgrub + + + +

+ + + + +

Vars

can_lay_eggscan this mob lay eggs
can_tamecan we tame this mob

Procs

barf_contentshigh penetration bullets should still go through. No goldgrub can save you from the colossus' death bolts.
+

Var Details

can_lay_eggs + + + + +

+

can this mob lay eggs

can_tame + + + + +

+

can we tame this mob

Proc Details

barf_contents +

+

high penetration bullets should still go through. No goldgrub can save you from the colossus' death bolts.

+ + + diff --git a/mob/living/basic/mining/goliath.html b/mob/living/basic/mining/goliath.html new file mode 100644 index 00000000000..4b788b30ede --- /dev/null +++ b/mob/living/basic/mining/goliath.html @@ -0,0 +1,113 @@ + + + + + + + /mob/living/basic/mining/goliath - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

goliath + + + +

+ +

Slow moving mob which attempts to immobilise its target

+ + + + + + + + + + + +

Vars

ability_animation_cooldownSlight cooldown to prevent double-dipping if we use both abilities at once
goliath_foodsThings we want to eat off the floor (or a plate, we're not picky)
melee_tentaclesOur melee tentacles ability
saddledCan someone ride us around like a horse?
tameableCan this kind of goliath be tamed?
tamedHas this particular goliath been tamed?
tentacle_lineOur long-ranged tentacles ability
tentacle_warning_stateIcon state to use when tentacles are available
tentaclesOur base tentacles ability

Procs

tamedGet ready for mounting
tentacles_readyCalled slightly before tentacles ability comes off cooldown, as a warning
used_abilityWhen we use an ability, activate some kind of visual tell
+

Var Details

ability_animation_cooldown + + + + +

+

Slight cooldown to prevent double-dipping if we use both abilities at once

goliath_foods + + + + +

+

Things we want to eat off the floor (or a plate, we're not picky)

melee_tentacles + + + + +

+

Our melee tentacles ability

saddled + + + + +

+

Can someone ride us around like a horse?

tameable + + + + +

+

Can this kind of goliath be tamed?

tamed + + + + +

+

Has this particular goliath been tamed?

tentacle_line + + + + +

+

Our long-ranged tentacles ability

tentacle_warning_state + + + + +

+

Icon state to use when tentacles are available

tentacles + + + + +

+

Our base tentacles ability

Proc Details

tamed +

+

Get ready for mounting

tentacles_ready +

+

Called slightly before tentacles ability comes off cooldown, as a warning

used_ability +

+

When we use an ability, activate some kind of visual tell

+ + + diff --git a/mob/living/basic/mining/goliath/ancient/immortal.html b/mob/living/basic/mining/goliath/ancient/immortal.html new file mode 100644 index 00000000000..3d925682993 --- /dev/null +++ b/mob/living/basic/mining/goliath/ancient/immortal.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/mining/goliath/ancient/immortal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

immortal + + + +

+ +

Rare Goliath variant which occasionally replaces the normal mining mob, releases shitloads of tentacles

+ + +

Vars

retarget_turfs_cooldownDon't re-check nearby turfs for this long
tentacle_target_turfsList of places we might spawn a tentacle, if we're alive

Procs

cache_nearby_turfsStore nearby turfs in our list so we can pop them out later
+

Var Details

retarget_turfs_cooldown + + + + +

+

Don't re-check nearby turfs for this long

tentacle_target_turfs + + + + +

+

List of places we might spawn a tentacle, if we're alive

Proc Details

cache_nearby_turfs +

+

Store nearby turfs in our list so we can pop them out later

+ + + diff --git a/mob/living/basic/mining/gutlunch.html b/mob/living/basic/mining/gutlunch.html new file mode 100644 index 00000000000..abd5fa41aec --- /dev/null +++ b/mob/living/basic/mining/gutlunch.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/mining/gutlunch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gutlunch + + + +

+ + + +

Vars

can_breedcan we breed?
possible_colorspossible colors we can have
+

Var Details

can_breed + + + + +

+

can we breed?

possible_colors + + + + +

+

possible colors we can have

+ + + diff --git a/mob/living/basic/mining/gutlunch/grub.html b/mob/living/basic/mining/gutlunch/grub.html new file mode 100644 index 00000000000..9dd6f261c67 --- /dev/null +++ b/mob/living/basic/mining/gutlunch/grub.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/mining/gutlunch/grub - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grub + + + +

+ + +

Vars

inherited_statslist of stats we inherited
+

Var Details

inherited_stats + + + + +

+

list of stats we inherited

+ + + diff --git a/mob/living/basic/mining/gutlunch/milk.html b/mob/living/basic/mining/gutlunch/milk.html new file mode 100644 index 00000000000..78c4c69fbb4 --- /dev/null +++ b/mob/living/basic/mining/gutlunch/milk.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/mining/gutlunch/milk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

milk + + + +

+ + +

Vars

full_udderoverlay we display when our udder is full!
+

Var Details

full_udder + + + + +

+

overlay we display when our udder is full!

+ + + diff --git a/mob/living/basic/mining/hivelord.html b/mob/living/basic/mining/hivelord.html new file mode 100644 index 00000000000..ab789a31e48 --- /dev/null +++ b/mob/living/basic/mining/hivelord.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/mining/hivelord - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hivelord + + + +

+ +

Mob which retreats and spawns annoying sub-mobs to attack you

+ + +

Vars

death_spawn_typeMobs to spawn when we die, varedit this to be recursive to give the players a fun surprise
spawn_broodAction which spawns worms

Procs

complete_spawnSpawns a worm on the specified turf
+

Var Details

death_spawn_type + + + + +

+

Mobs to spawn when we die, varedit this to be recursive to give the players a fun surprise

spawn_brood + + + + +

+

Action which spawns worms

Proc Details

complete_spawn +

+

Spawns a worm on the specified turf

+ + + diff --git a/mob/living/basic/mining/ice_whelp.html b/mob/living/basic/mining/ice_whelp.html new file mode 100644 index 00000000000..588ac46e484 --- /dev/null +++ b/mob/living/basic/mining/ice_whelp.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/mining/ice_whelp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ice_whelp + + + +

+ + + + +

Vars

heal_on_cannibalizehow much we will heal when cannibalizing a target

Procs

cannibalize_victimGib and consume our fellow ice drakes
create_sculptureCarve a stone into a beautiful self-portrait
+

Var Details

heal_on_cannibalize + + + + +

+

how much we will heal when cannibalizing a target

Proc Details

cannibalize_victim +

+

Gib and consume our fellow ice drakes

create_sculpture +

+

Carve a stone into a beautiful self-portrait

+ + + diff --git a/mob/living/basic/mining/legion.html b/mob/living/basic/mining/legion.html new file mode 100644 index 00000000000..42f623bc89e --- /dev/null +++ b/mob/living/basic/mining/legion.html @@ -0,0 +1,72 @@ + + + + + + + /mob/living/basic/mining/legion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

legion + + + +

+ +

Avoids players while throwing skulls at them. +Legion skulls heal allies, bite enemies, and infest dying humans to make more legions.

+ + + + + +

Vars

brood_typeWhat kind of mob do we spawn?
corpse_typeWhat kind of corpse spawner do we leave behind on death?
stored_mobWho is inside of us?

Procs

consumePut a corpse in this guy
get_loot_listCreate what we want to drop on death, in proc form so we can always return a static list
on_consumed_reviveA Legion which only drops skeletons instead of corpses which might have fun loot, so it cannot be farmed
+

Var Details

brood_type + + + + +

+

What kind of mob do we spawn?

corpse_type + + + + +

+

What kind of corpse spawner do we leave behind on death?

stored_mob + + + + +

+

Who is inside of us?

Proc Details

consume +

+

Put a corpse in this guy

get_loot_list +

+

Create what we want to drop on death, in proc form so we can always return a static list

on_consumed_revive +

+

A Legion which only drops skeletons instead of corpses which might have fun loot, so it cannot be farmed

+ + + diff --git a/mob/living/basic/mining/legion/large.html b/mob/living/basic/mining/legion/large.html new file mode 100644 index 00000000000..d9d5b512082 --- /dev/null +++ b/mob/living/basic/mining/legion/large.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/mining/legion/large - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

large + + + +

+ +

Like a Legion but larger and spawns regular Legions, not currently used anywhere and very soulful

+

Procs

get_loot_listCreate what we want to drop on death, in proc form so we can always return a static list

Proc Details

get_loot_list +

+

Create what we want to drop on death, in proc form so we can always return a static list

+ + + diff --git a/mob/living/basic/mining/lobstrosity.html b/mob/living/basic/mining/lobstrosity.html new file mode 100644 index 00000000000..5f63c9a0e04 --- /dev/null +++ b/mob/living/basic/mining/lobstrosity.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/mining/lobstrosity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lobstrosity + + + +

+ +

Cowardly mob with a charging attack

+ +

Vars

chargeCharging ability
target_foodsThings we will eat if we see them (arms, chiefly)
+

Var Details

charge + + + + +

+

Charging ability

target_foods + + + + +

+

Things we will eat if we see them (arms, chiefly)

+ + + diff --git a/mob/living/basic/mining/mook.html b/mob/living/basic/mining/mook.html new file mode 100644 index 00000000000..d16185c18f2 --- /dev/null +++ b/mob/living/basic/mining/mook.html @@ -0,0 +1,85 @@ + + + + + + + /mob/living/basic/mining/mook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mook + + + +

+ + + + + + + + + +

Vars

attack_stanceoverlay for attacking stance
attack_statethe state of combat we are in
held_orethe ore we are holding if any
is_healerare we a healer?
neutral_stanceoverlay for neutral stance
ore_overlayoverlay when we hold an ore
pet_commandscommands we obey

Procs

get_innate_abilitiesReturns a list of actions and blackboard keys to pass into grant_actions_by_list.
+

Var Details

attack_stance + + + + +

+

overlay for attacking stance

attack_state + + + + +

+

the state of combat we are in

held_ore + + + + +

+

the ore we are holding if any

is_healer + + + + +

+

are we a healer?

neutral_stance + + + + +

+

overlay for neutral stance

ore_overlay + + + + +

+

overlay when we hold an ore

pet_commands + + + + +

+

commands we obey

Proc Details

get_innate_abilities +

+

Returns a list of actions and blackboard keys to pass into grant_actions_by_list.

+ + + diff --git a/mob/living/basic/mining/mook/worker/bard.html b/mob/living/basic/mining/mook/worker/bard.html new file mode 100644 index 00000000000..6ce05158d15 --- /dev/null +++ b/mob/living/basic/mining/mook/worker/bard.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/mining/mook/worker/bard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bard + + + +

+ + +

Vars

held_guitarour guitar
+

Var Details

held_guitar + + + + +

+

our guitar

+ + + diff --git a/mob/living/basic/mining/mook/worker/tribal_chief.html b/mob/living/basic/mining/mook/worker/tribal_chief.html new file mode 100644 index 00000000000..d4dddcaed80 --- /dev/null +++ b/mob/living/basic/mining/mook/worker/tribal_chief.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/mining/mook/worker/tribal_chief - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tribal_chief + + + +

+ + + + + +

Vars

chief_activeoverlay in our active state
chief_neutraloverlay in our neutral state
chief_strikeoverlay in our striking state
chief_warmupoverlay in our warmup state
+

Var Details

chief_active + + + + +

+

overlay in our active state

chief_neutral + + + + +

+

overlay in our neutral state

chief_strike + + + + +

+

overlay in our striking state

chief_warmup + + + + +

+

overlay in our warmup state

+ + + diff --git a/mob/living/basic/mining/watcher.html b/mob/living/basic/mining/watcher.html new file mode 100644 index 00000000000..4a54f509256 --- /dev/null +++ b/mob/living/basic/mining/watcher.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/mining/watcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

watcher + + + +

+ +

A floating eyeball which keeps its distance and sometimes make you look away.

+ + + + + +

Vars

eye_glowIcon state for our eye overlay
gaze_attackTypepath of our gaze ability
projectile_typeWhat kind of beams we got?
ranged_cooldownHow often can we shoot?
shoot_soundSound to play when we shoot

Procs

consumeI love eating diamonds yum
+

Var Details

eye_glow + + + + +

+

Icon state for our eye overlay

gaze_attack + + + + +

+

Typepath of our gaze ability

projectile_type + + + + +

+

What kind of beams we got?

ranged_cooldown + + + + +

+

How often can we shoot?

shoot_sound + + + + +

+

Sound to play when we shoot

Proc Details

consume +

+

I love eating diamonds yum

+ + + diff --git a/mob/living/basic/mining_drone.html b/mob/living/basic/mining_drone.html new file mode 100644 index 00000000000..8be9ff4dc5a --- /dev/null +++ b/mob/living/basic/mining_drone.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/mining_drone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mining_drone + + + +

+ + + + +

Vars

access_cardthe access card we use to access mining
pet_commandsthe commands our owner can give us
stored_gunthe gun we use to kill
+

Var Details

access_card + + + + +

+

the access card we use to access mining

pet_commands + + + + +

+

the commands our owner can give us

stored_gun + + + + +

+

the gun we use to kill

+ + + diff --git a/mob/living/basic/morph.html b/mob/living/basic/morph.html new file mode 100644 index 00000000000..7914e025003 --- /dev/null +++ b/mob/living/basic/morph.html @@ -0,0 +1,105 @@ + + + + + + + /mob/living/basic/morph - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

morph + + + +

+ +

The classic morph, Corpus Accipientis (or "The body of the recipient"). It's a blob that can disguise itself as other things simply put.

+ + + + + + + + + +

Vars

disguise_abilityThe ability that allows us to disguise ourselves.
eat_while_disguisedCan we eat while disguised?
form_typepathA typepath pointing of the form we are currently assumed as. Remember, TYPEPATH!!!
form_weakrefA weakref pointing to the form we are currently assumed as.
melee_damage_disguisedHow much damage are we doing while disguised?

Procs

eatEat stuff. Delicious. Return TRUE if we ate something, FALSE otherwise. +Required: eatable is the thing (item or mob) that we are going to eat. +Optional: delay is the applicable time-based delay to pass into do_after() before the logic is ran. +Optional: update_health is an integer that will be added (or maybe subtracted if you're cruel) to our health after we eat something. Passed into adjust_health() so make sure what you pass in is accurate.
on_disguiseDo some more logic for the morph when we disguise through the action.
on_undisguiseDo some more logic for the morph when we undisguise through the action.
pre_attackHandles the logic for attacking anything.
trigger_abilityAlias for the disguise ability to be used as a keybind.
+

Var Details

disguise_ability + + + + +

+

The ability that allows us to disguise ourselves.

eat_while_disguised + + + + +

+

Can we eat while disguised?

form_typepath + + + + +

+

A typepath pointing of the form we are currently assumed as. Remember, TYPEPATH!!!

form_weakref + + + + +

+

A weakref pointing to the form we are currently assumed as.

melee_damage_disguised + + + + +

+

How much damage are we doing while disguised?

Proc Details

eat +

+

Eat stuff. Delicious. Return TRUE if we ate something, FALSE otherwise. +Required: eatable is the thing (item or mob) that we are going to eat. +Optional: delay is the applicable time-based delay to pass into do_after() before the logic is ran. +Optional: update_health is an integer that will be added (or maybe subtracted if you're cruel) to our health after we eat something. Passed into adjust_health() so make sure what you pass in is accurate.

on_disguise +

+

Do some more logic for the morph when we disguise through the action.

on_undisguise +

+

Do some more logic for the morph when we undisguise through the action.

pre_attack +

+

Handles the logic for attacking anything.

trigger_ability +

+

Alias for the disguise ability to be used as a keybind.

+ + + diff --git a/mob/living/basic/mouse.html b/mob/living/basic/mouse.html new file mode 100644 index 00000000000..2e9495ee7e5 --- /dev/null +++ b/mob/living/basic/mouse.html @@ -0,0 +1,106 @@ + + + + + + + /mob/living/basic/mouse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mouse + + + +

+ + + + + + + + + + + + +

Vars

body_colorWhat color our mouse is. Brown, gray and white - leave blank for random.
cable_zap_probProbability that, if we successfully bite a shocked cable, that we will die to it.
contributes_to_ratcapDoes this mouse contribute to the ratcap?
tameWhether this rat is friendly to players

Procs

create_a_new_ratCreates a new mouse based on this mouse's subtype.
evolve_into_regal_ratEvolves this rat into a regal rat
on_enteredSignal proc for COMSIG_ATOM_ENTERED. Sends a lil' squeak to chat when someone walks over us.
splatKills the rat and changes its icon state to be splatted (bloody).
tamedCalled when a mouse is hand-fed some cheese, it will stop being afraid of humans
try_bite_cableBiting into a cable will cause a mouse to get shocked and die if applicable. Or do nothing if they're lucky.
try_consume_cheeseAttempts to consume a piece of cheese, causing a few effects.
+

Var Details

body_color + + + + +

+

What color our mouse is. Brown, gray and white - leave blank for random.

cable_zap_prob + + + + +

+

Probability that, if we successfully bite a shocked cable, that we will die to it.

contributes_to_ratcap + + + + +

+

Does this mouse contribute to the ratcap?

tame + + + + +

+

Whether this rat is friendly to players

Proc Details

create_a_new_rat +

+

Creates a new mouse based on this mouse's subtype.

evolve_into_regal_rat +

+

Evolves this rat into a regal rat

on_entered +

+

Signal proc for COMSIG_ATOM_ENTERED. Sends a lil' squeak to chat when someone walks over us.

splat +

+

Kills the rat and changes its icon state to be splatted (bloody).

tamed +

+

Called when a mouse is hand-fed some cheese, it will stop being afraid of humans

try_bite_cable +

+

Biting into a cable will cause a mouse to get shocked and die if applicable. Or do nothing if they're lucky.

try_consume_cheese +

+

Attempts to consume a piece of cheese, causing a few effects.

+ + + diff --git a/mob/living/basic/mushroom.html b/mob/living/basic/mushroom.html new file mode 100644 index 00000000000..8685a0d4461 --- /dev/null +++ b/mob/living/basic/mushroom.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/mushroom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mushroom + + + +

+ + + + + + + +

Vars

bruisedIf someone tries to cheat the system by attacking a shroom to lower its health, punish them so that it won't award levels to shrooms that eat it
cap_deadWhere we store our cap icons so we dont generate them constantly to update our icon
cap_livingWhere we store our cap icons so we dont generate them constantly to update our icon
faint_tickerIf we hit three, another mushroom's gonna eat us
powerlevelTracks our general strength level gained from eating other shrooms
recovery_cooldownCooldown that tracks how long its been since revival
+

Var Details

bruised + + + + +

+

If someone tries to cheat the system by attacking a shroom to lower its health, punish them so that it won't award levels to shrooms that eat it

cap_dead + + + + +

+

Where we store our cap icons so we dont generate them constantly to update our icon

cap_living + + + + +

+

Where we store our cap icons so we dont generate them constantly to update our icon

faint_ticker + + + + +

+

If we hit three, another mushroom's gonna eat us

powerlevel + + + + +

+

Tracks our general strength level gained from eating other shrooms

recovery_cooldown + + + + +

+

Cooldown that tracks how long its been since revival

+ + + diff --git a/mob/living/basic/paper_wizard.html b/mob/living/basic/paper_wizard.html new file mode 100644 index 00000000000..41e16e04ec3 --- /dev/null +++ b/mob/living/basic/paper_wizard.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/paper_wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paper_wizard + + + +

+ + + + +

Vars

dropped_lootthe loot we will drop
mimicspell to summon clones
summonspell to summon minions
+

Var Details

dropped_loot + + + + +

+

the loot we will drop

mimic + + + + +

+

spell to summon clones

summon + + + + +

+

spell to summon minions

+ + + diff --git a/mob/living/basic/parrot.html b/mob/living/basic/parrot.html new file mode 100644 index 00000000000..91d3f93e513 --- /dev/null +++ b/mob/living/basic/parrot.html @@ -0,0 +1,230 @@ + + + + + + + /mob/living/basic/parrot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

parrot + + + +

+ +

Parrots! Klepto bastards that imitate your speech and hoard your shit.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

desired_perchesContains all of the perches that parrots will generally sit on until something catches their eye.
earsHeadset for Poly to yell at engineers :)
ediblesFood that Poly loves to eat (spoiler alert it's just crackers)
forced_speech_cooldownTracks the times when we send a phrase through either being pet or attack to ensure it's not abused to flood
held_itemParrots are kleptomaniacs. This variable ... stores the item a parrot is holding.
icon_sitIcon we use while sitting
ignore_itemsitems we wont pick up
speech_blackboard_keyThe blackboard key we use to store the string we're repeating
speech_probability_rateThe generic probability odds we have to do a speech-related action
speech_shuffle_rateThe generic probability odds we have to switch out our speech string

Procs

consume_crackerEats a cracker (or anything i guess). This would be nice to eventually fold into the basic_eating element but we do too much snowflake inventory code stuff for this to be reliable presently. +We don't qdel the item here, we assume the invoking proc will have handled that somehow. +Returns TRUE if we ate the thing.
drop_held_itemHandles dropping items we're holding. Gently is a special modifier we can use for special interactions.
get_available_channelsGets the available channels that this parrot has access to. Returns a list of the channels we can use.
get_phraseProc that handles sending the signal and returning a valid phrase to say. Will not do anything if we don't have a stat or if we're cliented. +Will return either a string or null.
get_static_list_of_phrasesGets a static list of phrases we wish to pass to the element.
on_attackedIf we're right-clicked on with a cracker, we eat the cracker.
on_clickProc that we just use to see if we're rightclicking something for perch behavior or dropping the item we currently ahve
on_injuredHandles special behavior whenever we are injured.
on_petProc that listens for when a parrot is pet so we can dispatch a voice line.
perch_on_humanProc that will perch us on a human. Returns TRUE if we perched, FALSE otherwise.
pick_up_itemHandles picking up the item we're holding, done in its own proc because of a snowflake edge case we need to account for. No additional logic beyond that. +Returns TRUE if we picked it up, FALSE otherwise.
pre_attackingMaster proc which will determine the intent of OUR attacks on an object and summon the relevant procs accordingly. +This is pretty much meant for players, AI will use the task-specific procs instead.
setup_headsetWill simply set up the headset for the parrot to use. Stub, implemented on subtypes.
start_perchingProc that ascertains the type of perch we're dealing with and starts the perching process. +Returns TRUE if we started perching, FALSE otherwise.
steal_from_groundPicks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.
steal_from_mobLooks for an item that we can snatch and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.
update_speech_blackboardsUpdates our speech blackboards mob-side to reflect the current speech on the controller to ensure everything is synchronized.
+

Var Details

desired_perches + + + + +

+

Contains all of the perches that parrots will generally sit on until something catches their eye.

ears + + + + +

+

Headset for Poly to yell at engineers :)

edibles + + + + +

+

Food that Poly loves to eat (spoiler alert it's just crackers)

forced_speech_cooldown + + + + +

+

Tracks the times when we send a phrase through either being pet or attack to ensure it's not abused to flood

held_item + + + + +

+

Parrots are kleptomaniacs. This variable ... stores the item a parrot is holding.

icon_sit + + + + +

+

Icon we use while sitting

ignore_items + + + + +

+

items we wont pick up

speech_blackboard_key + + + + +

+

The blackboard key we use to store the string we're repeating

speech_probability_rate + + + + +

+

The generic probability odds we have to do a speech-related action

speech_shuffle_rate + + + + +

+

The generic probability odds we have to switch out our speech string

Proc Details

consume_cracker +

+

Eats a cracker (or anything i guess). This would be nice to eventually fold into the basic_eating element but we do too much snowflake inventory code stuff for this to be reliable presently. +We don't qdel the item here, we assume the invoking proc will have handled that somehow. +Returns TRUE if we ate the thing.

drop_held_item +

+

Handles dropping items we're holding. Gently is a special modifier we can use for special interactions.

get_available_channels +

+

Gets the available channels that this parrot has access to. Returns a list of the channels we can use.

get_phrase +

+

Proc that handles sending the signal and returning a valid phrase to say. Will not do anything if we don't have a stat or if we're cliented. +Will return either a string or null.

get_static_list_of_phrases +

+

Gets a static list of phrases we wish to pass to the element.

on_attacked +

+

If we're right-clicked on with a cracker, we eat the cracker.

on_click +

+

Proc that we just use to see if we're rightclicking something for perch behavior or dropping the item we currently ahve

on_injured +

+

Handles special behavior whenever we are injured.

on_pet +

+

Proc that listens for when a parrot is pet so we can dispatch a voice line.

perch_on_human +

+

Proc that will perch us on a human. Returns TRUE if we perched, FALSE otherwise.

pick_up_item +

+

Handles picking up the item we're holding, done in its own proc because of a snowflake edge case we need to account for. No additional logic beyond that. +Returns TRUE if we picked it up, FALSE otherwise.

pre_attacking +

+

Master proc which will determine the intent of OUR attacks on an object and summon the relevant procs accordingly. +This is pretty much meant for players, AI will use the task-specific procs instead.

setup_headset +

+

Will simply set up the headset for the parrot to use. Stub, implemented on subtypes.

start_perching +

+

Proc that ascertains the type of perch we're dealing with and starts the perching process. +Returns TRUE if we started perching, FALSE otherwise.

steal_from_ground +

+

Picks up an item from the ground and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.

steal_from_mob +

+

Looks for an item that we can snatch and puts it in our claws. Returns TRUE if we picked it up, FALSE otherwise.

update_speech_blackboards +

+

Updates our speech blackboards mob-side to reflect the current speech on the controller to ensure everything is synchronized.

+ + + diff --git a/mob/living/basic/parrot/poly.html b/mob/living/basic/parrot/poly.html new file mode 100644 index 00000000000..5d3409e9215 --- /dev/null +++ b/mob/living/basic/parrot/poly.html @@ -0,0 +1,78 @@ + + + + + + + /mob/living/basic/parrot/poly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

poly + + + +

+ +

The classically famous compadre to the Chief Engineer, Poly.

+ + + + + + +

Vars

longest_deathstreakHow many rounds in a row have we been dead for?
longest_survivalHow long have we survived for at max?
memory_savedDid we write the memory to disk?
roundend_callbackCallback to save our memory at the end of the round.
rounds_survivedHow long has this bird been alive for?

Procs

determine_special_polyDetermines the type of Poly we might have here based on the statistics we got from the memory.
read_memoryReads the memory of the parrot, and updates the necessary variables. Returns a list of phrases to add to the parrot's speech buffer.
+

Var Details

longest_deathstreak + + + + +

+

How many rounds in a row have we been dead for?

longest_survival + + + + +

+

How long have we survived for at max?

memory_saved + + + + +

+

Did we write the memory to disk?

roundend_callback + + + + +

+

Callback to save our memory at the end of the round.

rounds_survived + + + + +

+

How long has this bird been alive for?

Proc Details

determine_special_poly +

+

Determines the type of Poly we might have here based on the statistics we got from the memory.

read_memory +

+

Reads the memory of the parrot, and updates the necessary variables. Returns a list of phrases to add to the parrot's speech buffer.

+ + + diff --git a/mob/living/basic/pet.html b/mob/living/basic/pet.html new file mode 100644 index 00000000000..0d6505936a7 --- /dev/null +++ b/mob/living/basic/pet.html @@ -0,0 +1,83 @@ + + + + + + + /mob/living/basic/pet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pet + + + +

+ + + + + + + + +

Vars

collarOur collar
collar_icon_stateIf the mob has collar sprites, this is the base of the icon states.
has_collar_resting_icon_stateWe have a seperate _rest collar icon state when the pet is resting.
unique_petif the mob is protected from being renamed by collars.

Procs

DestroyCan set the collar var beforehand to start the pet with a collar.
add_collarAdd a collar to the pet.
remove_collarRemove the collar from the pet.
+

Var Details

collar + + + + +

+

Our collar

collar_icon_state + + + + +

+

If the mob has collar sprites, this is the base of the icon states.

has_collar_resting_icon_state + + + + +

+

We have a seperate _rest collar icon state when the pet is resting.

unique_pet + + + + +

+

if the mob is protected from being renamed by collars.

Proc Details

Destroy +

+

Can set the collar var beforehand to start the pet with a collar.

add_collar +

+

Add a collar to the pet.

+

Arguments:

+
    +
  • new_collar - the collar.
  • +
  • user - the user that did it.
  • +

remove_collar +

+

Remove the collar from the pet.

+ + + diff --git a/mob/living/basic/pet/cat.html b/mob/living/basic/pet/cat.html new file mode 100644 index 00000000000..203fe155381 --- /dev/null +++ b/mob/living/basic/pet/cat.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/pet/cat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cat + + + +

+ + + + + + + +

Vars

can_breedcan this cat breed?
can_hold_itemcan hold items?
can_interact_with_stovecan this cat interact with stoves?
held_fooditem we are currently holding
held_item_overlaymutable appearance for held item
huntable_itemslist of items we can carry
+

Var Details

can_breed + + + + +

+

can this cat breed?

can_hold_item + + + + +

+

can hold items?

can_interact_with_stove + + + + +

+

can this cat interact with stoves?

held_food + + + + +

+

item we are currently holding

held_item_overlay + + + + +

+

mutable appearance for held item

huntable_items + + + + +

+

list of items we can carry

+ + + diff --git a/mob/living/basic/pet/cat/runtime.html b/mob/living/basic/pet/cat/runtime.html new file mode 100644 index 00000000000..3db2270d31c --- /dev/null +++ b/mob/living/basic/pet/cat/runtime.html @@ -0,0 +1,64 @@ + + + + + + + /mob/living/basic/pet/cat/runtime - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

runtime + + + +

+ + + + + + +

Vars

cats_deployedhave we deployed the cats?
childrensaved list of kids
familythe family we will bring in when a round starts
memory_savedhave we saved memory?
register_familycallback we use to register our family
+

Var Details

cats_deployed + + + + +

+

have we deployed the cats?

children + + + + +

+

saved list of kids

family + + + + +

+

the family we will bring in when a round starts

memory_saved + + + + +

+

have we saved memory?

register_family + + + + +

+

callback we use to register our family

+ + + diff --git a/mob/living/basic/pet/dog.html b/mob/living/basic/pet/dog.html new file mode 100644 index 00000000000..35e132be16b --- /dev/null +++ b/mob/living/basic/pet/dog.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/pet/dog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dog + + + +

+ + + + +

Vars

pet_commandsInstructions you can give to dogs

Procs

tamedProc to run on a successful taming attempt
update_dog_speechUpdates dog speech and emotes
+

Var Details

pet_commands + + + + +

+

Instructions you can give to dogs

Proc Details

tamed +

+

Proc to run on a successful taming attempt

update_dog_speech +

+

Updates dog speech and emotes

+ + + diff --git a/mob/living/basic/pet/dog/corgi.html b/mob/living/basic/pet/dog/corgi.html new file mode 100644 index 00000000000..b00920d9c3b --- /dev/null +++ b/mob/living/basic/pet/dog/corgi.html @@ -0,0 +1,154 @@ + + + + + + + /mob/living/basic/pet/dog/corgi - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

corgi + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

access_cardAccess card for the corgi.
can_be_shavedCan this corgi be shaved by an electric razor?
can_breedcan this mob breed?
inventory_backCurrently worn item on the back slot
inventory_headCurrently worn item on the head slot
is_slowIs this corgi physically slow due to age, etc?
shavedDid this corgi get mutilated and has had their fur shaved by an electric razor, oh the humanity?
strippable_inventory_slotsItem slots that are available for this corgi to equip stuff into

Procs

borkDeadchat plays bark.
drop_hatDeadchat plays command that drops the current hat off Ian.
find_new_hatDeadchat plays command that picks a new hat for Ian.
getarmorCorgis get full protection from their equipped fashion items if attacked in a way that passes def_zone, +which usually means any direct attack like melee or gunshot. Anything abstract like a bomb or acid or something +will instead give half the armor value.
on_appearance_changeHandles updating any existing overlays for the corgi (such as fashion items) when it changes how it appears, as in, dead or alive.
on_tried_accessHandler for COMSIG_MOB_TRIED_ACCESS
place_on_headPlaces an item on the corgi's head, handling updating the corgi's appearance and the item's dog fashion modifiers +to the name, description, speech etc. Doesn't need the user to complete, and is also used in station traits/events/persistence reading.
stop_deadchat_playsTurn AI back on.
undress_dogRemoves the hat and shirt (but not ID) of this corgi
+

Var Details

access_card + + + + +

+

Access card for the corgi.

can_be_shaved + + + + +

+

Can this corgi be shaved by an electric razor?

can_breed + + + + +

+

can this mob breed?

inventory_back + + + + +

+

Currently worn item on the back slot

inventory_head + + + + +

+

Currently worn item on the head slot

is_slow + + + + +

+

Is this corgi physically slow due to age, etc?

shaved + + + + +

+

Did this corgi get mutilated and has had their fur shaved by an electric razor, oh the humanity?

strippable_inventory_slots + + + + +

+

Item slots that are available for this corgi to equip stuff into

Proc Details

bork +

+

Deadchat plays bark.

drop_hat +

+

Deadchat plays command that drops the current hat off Ian.

find_new_hat +

+

Deadchat plays command that picks a new hat for Ian.

getarmor +

+

Corgis get full protection from their equipped fashion items if attacked in a way that passes def_zone, +which usually means any direct attack like melee or gunshot. Anything abstract like a bomb or acid or something +will instead give half the armor value.

on_appearance_change +

+

Handles updating any existing overlays for the corgi (such as fashion items) when it changes how it appears, as in, dead or alive.

on_tried_access +

+

Handler for COMSIG_MOB_TRIED_ACCESS

place_on_head +

+

Places an item on the corgi's head, handling updating the corgi's appearance and the item's dog fashion modifiers +to the name, description, speech etc. Doesn't need the user to complete, and is also used in station traits/events/persistence reading.

stop_deadchat_plays +

+

Turn AI back on.

undress_dog +

+

Removes the hat and shirt (but not ID) of this corgi

+ + + diff --git a/mob/living/basic/pet/dog/corgi/ian.html b/mob/living/basic/pet/dog/corgi/ian.html new file mode 100644 index 00000000000..c5c78718118 --- /dev/null +++ b/mob/living/basic/pet/dog/corgi/ian.html @@ -0,0 +1,78 @@ + + + + + + + /mob/living/basic/pet/dog/corgi/ian - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ian + + + +

+ + + + + + + + +

Vars

ageTracks how many rounds did Ian survive from start to finish
i_will_surviveCallback to execute upon roundend to check whether Ian has survived the round or not
memory_savedWhether we have already recorded this Ian's achievements(survival and equipped hat) to the database
record_ageHighest achieved consecutive rounds that Ian survived from start to finish
saved_headPath of the item Ian was wearing in a previous shift, if he survived through it

Procs

Read_MemoryReads the database's persistence json file and applies age, record_age and saved_head to Ian.
check_ian_survivalChecks whether Ian has survived the round or not
+

Var Details

age + + + + +

+

Tracks how many rounds did Ian survive from start to finish

i_will_survive + + + + +

+

Callback to execute upon roundend to check whether Ian has survived the round or not

memory_saved + + + + +

+

Whether we have already recorded this Ian's achievements(survival and equipped hat) to the database

record_age + + + + +

+

Highest achieved consecutive rounds that Ian survived from start to finish

saved_head + + + + +

+

Path of the item Ian was wearing in a previous shift, if he survived through it

Proc Details

Read_Memory +

+

Reads the database's persistence json file and applies age, record_age and saved_head to Ian.

check_ian_survival +

+

Checks whether Ian has survived the round or not

+ + + diff --git a/mob/living/basic/pet/dog/corgi/narsie.html b/mob/living/basic/pet/dog/corgi/narsie.html new file mode 100644 index 00000000000..d2ceeced276 --- /dev/null +++ b/mob/living/basic/pet/dog/corgi/narsie.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/pet/dog/corgi/narsie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

narsie + + + +

+ + + +

Vars

edible_typesMobs we will consume in the name of Nar'Sie

Procs

on_prey_approachedAttempt to eat a pet we get near
+

Var Details

edible_types + + + + +

+

Mobs we will consume in the name of Nar'Sie

Proc Details

on_prey_approached +

+

Attempt to eat a pet we get near

+ + + diff --git a/mob/living/basic/pet/penguin.html b/mob/living/basic/pet/penguin.html new file mode 100644 index 00000000000..e78dadb229d --- /dev/null +++ b/mob/living/basic/pet/penguin.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/pet/penguin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

penguin + + + +

+ + + +

Vars

can_lay_eggsit can lay an egg?
carried_eggthe egg it carries
+

Var Details

can_lay_eggs + + + + +

+

it can lay an egg?

carried_egg + + + + +

+

the egg it carries

+ + + diff --git a/mob/living/basic/pet/penguin/baby.html b/mob/living/basic/pet/penguin/baby.html new file mode 100644 index 00000000000..ca0c3bf6498 --- /dev/null +++ b/mob/living/basic/pet/penguin/baby.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/pet/penguin/baby - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

baby + + + +

+ + +

Vars

can_grow_upwill it grow up?
+

Var Details

can_grow_up + + + + +

+

will it grow up?

+ + + diff --git a/mob/living/basic/pig.html b/mob/living/basic/pig.html new file mode 100644 index 00000000000..50bfa1c6122 --- /dev/null +++ b/mob/living/basic/pig.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/pig - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pig + + + +

+ + +

Procs

make_tameablewrapper for the tameable component addition so you can have non tamable cow subtypes

Proc Details

make_tameable +

+

wrapper for the tameable component addition so you can have non tamable cow subtypes

+ + + diff --git a/mob/living/basic/pony.html b/mob/living/basic/pony.html new file mode 100644 index 00000000000..f5f58b5699d --- /dev/null +++ b/mob/living/basic/pony.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/pony - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pony + + + +

+ + + + + +

Vars

my_ownerThe person we've been tamed by
ponycolorsGreyscale color config; 1st color is body, 2nd is mane
unique_tamerDo we register a unique rider?

Procs

on_prebuckleOnly let us get ridden if the buckler is our owner, if we have a unique owner.
+

Var Details

my_owner + + + + +

+

The person we've been tamed by

ponycolors + + + + +

+

Greyscale color config; 1st color is body, 2nd is mane

unique_tamer + + + + +

+

Do we register a unique rider?

Proc Details

on_prebuckle +

+

Only let us get ridden if the buckler is our owner, if we have a unique owner.

+ + + diff --git a/mob/living/basic/rabbit.html b/mob/living/basic/rabbit.html new file mode 100644 index 00000000000..b746002ed79 --- /dev/null +++ b/mob/living/basic/rabbit.html @@ -0,0 +1,38 @@ + + + + + + + /mob/living/basic/rabbit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rabbit + + + +

+ +Rabbit +

A creature that hops around with small tails and long ears.

+

This contains the code for both your standard rabbit as well as the subtypes commonly found during Easter.

+

Vars

icon_prefixpassed to animal_varity as the prefix icon.
+

Var Details

icon_prefix + + + + +

+

passed to animal_varity as the prefix icon.

+ + + diff --git a/mob/living/basic/rabbit/easter.html b/mob/living/basic/rabbit/easter.html new file mode 100644 index 00000000000..c1fffbabcbc --- /dev/null +++ b/mob/living/basic/rabbit/easter.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/rabbit/easter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

easter + + + +

+ +

The easter subtype of rabbits, will lay eggs and say Eastery catchphrases.

+ +

Vars

initial_egg_amountpassed to the egg_layer component as how many eggs it starts out as able to lay.
max_eggs_heldpassed to the egg_layer component as how many eggs it's allowed to hold at most.
+

Var Details

initial_egg_amount + + + + +

+

passed to the egg_layer component as how many eggs it starts out as able to lay.

max_eggs_held + + + + +

+

passed to the egg_layer component as how many eggs it's allowed to hold at most.

+ + + diff --git a/mob/living/basic/regal_rat.html b/mob/living/basic/regal_rat.html new file mode 100644 index 00000000000..156b5366b95 --- /dev/null +++ b/mob/living/basic/regal_rat.html @@ -0,0 +1,96 @@ + + + + + + + /mob/living/basic/regal_rat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

regal_rat + + + +

+ +

The cheesiest, most crowned rat of them all. Regent superior of all rats in maintenance... at least until someone else tries to encroach on their claim.

+ + + + + + + + +

Vars

poll_ghostsShould we request a mind immediately upon spawning?
special_monikerString tied to our special moniker for examination. Contains a nice message tied to the potential funny regal name we have.

Procs

allowed_to_attackChecks if we are allowed to attack this mob. Will return TRUE if we are potentially allowed to attack, but if we end up in a case where we should NOT attack, return FALSE.
became_player_controlledTriggers an alert to all ghosts that the rat has become player controlled.
cheese_healConditionally "eat" cheese object and heal, if injured.
grant_titlesGrants the rat a special name.
on_loginSupplementary work we do when we login. Done this way so we synchronize with the ai controller shutting off and all that jazz as well as allowing more shit to be passed in if need be in future.
poison_targetAttempts to add rat spit to a target, effectively poisoning it to whoever eats it. Yuckers.
pre_attackChecks if we are able to attack this object, as well as send out the signal to see if we get any special regal rat interactions.
+

Var Details

poll_ghosts + + + + +

+

Should we request a mind immediately upon spawning?

special_moniker + + + + +

+

String tied to our special moniker for examination. Contains a nice message tied to the potential funny regal name we have.

Proc Details

allowed_to_attack +

+

Checks if we are allowed to attack this mob. Will return TRUE if we are potentially allowed to attack, but if we end up in a case where we should NOT attack, return FALSE.

became_player_controlled +

+

Triggers an alert to all ghosts that the rat has become player controlled.

cheese_heal +

+

Conditionally "eat" cheese object and heal, if injured.

+

A private proc for sending a message to the mob's chat about them +eating some sort of cheese, then healing them, then deleting the cheese. +The "eating" is only conditional on the mob being injured in the first +place.

grant_titles +

+

Grants the rat a special name.

on_login +

+

Supplementary work we do when we login. Done this way so we synchronize with the ai controller shutting off and all that jazz as well as allowing more shit to be passed in if need be in future.

poison_target +

+

Attempts to add rat spit to a target, effectively poisoning it to whoever eats it. Yuckers.

pre_attack +

+

Checks if we are able to attack this object, as well as send out the signal to see if we get any special regal rat interactions.

+ + + diff --git a/mob/living/basic/revenant.html b/mob/living/basic/revenant.html new file mode 100644 index 00000000000..48348c1a9be --- /dev/null +++ b/mob/living/basic/revenant.html @@ -0,0 +1,196 @@ + + + + + + + /mob/living/basic/revenant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

revenant + + + +

+ +

Revenants: "Ghosts" that are invisible and move like ghosts, cannot take damage while invisible +Can hear deadchat, but are NOT normal ghosts and do NOT have x-ray vision +Admin-spawn or random event

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

abilitiesList of action ability datums to grant on Initialize. Keep in mind that anything with the /aoe/revenant subtype starts locked by default.
dormantAre we currently dormant (ectoplasm'd)?
drained_mobsLazylist of drained mobs to ensure that we don't steal a soul from someone twice
drainingAre we currently draining someone?
essenceThe resource, and health, of revenants.
essence_accumulatedHow much essence the revenant has stolen
essence_excessHow much stolen essence is available for unlocks
essence_regen_amountHow much essence regenerates per second
essence_regeneratingIf the revenant regenerates essence or not
generated_objectives_and_spellsHave we already given this revenant abilities?
icon_drainThe icon we use while draining someone.
icon_idleThe icon we use while just floating around.
icon_revealThe icon we use while in a revealed state.
icon_stunThe icon we use when stunned (temporarily frozen)
max_essenceThe regeneration cap of essence (go figure); regenerates every Life() tick up to this amount.
perfectsoulsHow many perfect, regen-cap increasing souls the revenant has. //TODO, add objective for getting a perfect soul(s?)
unreveal_timeHow long the revenant is revealed for, is about 2 seconds times this var.

Procs

attempt_harvestContainer proc for harvest(), handles the pre-checks as well as potential early-exits for any reason. +Will return FALSE if we can't execute harvest(), or will otherwise the result of harvest(): a boolean value.
create_login_stringGenerates the information the player needs to know how to play their role, and returns it as a list.
harvest_soulHarvest; activated by clicking a target, will try to drain their essence. Handles all messages and handling of the target. +Returns FALSE if we exit out of the harvest, TRUE if it is fully done.
incorporeal_move_checkIncorporeal move check: blocked by holy-watered tiles and salt piles.
move_to_ectoplasmForces the mob, once dormant, to move inside ectoplasm until it can regenerate.
on_lifeSignal Handler Injection to handle Life() stuff for revenants
+

Var Details

abilities + + + + +

+

List of action ability datums to grant on Initialize. Keep in mind that anything with the /aoe/revenant subtype starts locked by default.

dormant + + + + +

+

Are we currently dormant (ectoplasm'd)?

drained_mobs + + + + +

+

Lazylist of drained mobs to ensure that we don't steal a soul from someone twice

draining + + + + +

+

Are we currently draining someone?

essence + + + + +

+

The resource, and health, of revenants.

essence_accumulated + + + + +

+

How much essence the revenant has stolen

essence_excess + + + + +

+

How much stolen essence is available for unlocks

essence_regen_amount + + + + +

+

How much essence regenerates per second

essence_regenerating + + + + +

+

If the revenant regenerates essence or not

generated_objectives_and_spells + + + + +

+

Have we already given this revenant abilities?

icon_drain + + + + +

+

The icon we use while draining someone.

icon_idle + + + + +

+

The icon we use while just floating around.

icon_reveal + + + + +

+

The icon we use while in a revealed state.

icon_stun + + + + +

+

The icon we use when stunned (temporarily frozen)

max_essence + + + + +

+

The regeneration cap of essence (go figure); regenerates every Life() tick up to this amount.

perfectsouls + + + + +

+

How many perfect, regen-cap increasing souls the revenant has. //TODO, add objective for getting a perfect soul(s?)

unreveal_time + + + + +

+

How long the revenant is revealed for, is about 2 seconds times this var.

Proc Details

attempt_harvest +

+

Container proc for harvest(), handles the pre-checks as well as potential early-exits for any reason. +Will return FALSE if we can't execute harvest(), or will otherwise the result of harvest(): a boolean value.

create_login_string +

+

Generates the information the player needs to know how to play their role, and returns it as a list.

harvest_soul +

+

Harvest; activated by clicking a target, will try to drain their essence. Handles all messages and handling of the target. +Returns FALSE if we exit out of the harvest, TRUE if it is fully done.

incorporeal_move_check +

+

Incorporeal move check: blocked by holy-watered tiles and salt piles.

move_to_ectoplasm +

+

Forces the mob, once dormant, to move inside ectoplasm until it can regenerate.

on_life +

+

Signal Handler Injection to handle Life() stuff for revenants

+ + + diff --git a/mob/living/basic/robot_customer.html b/mob/living/basic/robot_customer.html new file mode 100644 index 00000000000..7df1447aafe --- /dev/null +++ b/mob/living/basic/robot_customer.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/robot_customer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

robot_customer + + + +

+ +

Robot customers

+ + + +

Vars

clothes_setThe clothes that we draw on this tourist.
hud_to_show_on_hoverReference to the hud that we show when the player hovers over us.

Procs

DestroyClean up on the mobs seat etc when its deleted (Either by murder or because it left)
spawn_gibsRobots need robot gibs...!
+

Var Details

clothes_set + + + + +

+

The clothes that we draw on this tourist.

hud_to_show_on_hover + + + + +

+

Reference to the hud that we show when the player hovers over us.

Proc Details

Destroy +

+

Clean up on the mobs seat etc when its deleted (Either by murder or because it left)

spawn_gibs +

+

Robots need robot gibs...!

+ + + diff --git a/mob/living/basic/seedling.html b/mob/living/basic/seedling.html new file mode 100644 index 00000000000..d7568fbe27b --- /dev/null +++ b/mob/living/basic/seedling.html @@ -0,0 +1,93 @@ + + + + + + + /mob/living/basic/seedling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

seedling + + + +

+ +

A mobile plant with a rapid ranged attack. +It can pick up watering cans and look after plants.

+ + + + + + + + +

Vars

combatant_statethe state of combat we are in
held_canthe bucket we carry
petal_activeappearance when we are in the firing state
petal_deadappearance when we are dead
petal_neutralappearance when we are in our normal state
petal_warmupappearance when we are in our warmup state
possible_colorsthe colors our petals can have
seedling_commandscommands we follow

Procs

treat_hydro_trayseedlings can water trays, remove weeds, or remove dead plants
+

Var Details

combatant_state + + + + +

+

the state of combat we are in

held_can + + + + +

+

the bucket we carry

petal_active + + + + +

+

appearance when we are in the firing state

petal_dead + + + + +

+

appearance when we are dead

petal_neutral + + + + +

+

appearance when we are in our normal state

petal_warmup + + + + +

+

appearance when we are in our warmup state

possible_colors + + + + +

+

the colors our petals can have

seedling_commands + + + + +

+

commands we follow

Proc Details

treat_hydro_tray +

+

seedlings can water trays, remove weeds, or remove dead plants

+ + + diff --git a/mob/living/basic/shade.html b/mob/living/basic/shade.html new file mode 100644 index 00000000000..8c0076ad1d8 --- /dev/null +++ b/mob/living/basic/shade.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/shade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shade + + + +

+ + + +

Vars

remains_by_themeThe different flavors of goop shades can drop, depending on theme.
themeTheme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue
+

Var Details

remains_by_theme + + + + +

+

The different flavors of goop shades can drop, depending on theme.

theme + + + + +

+

Theme controls color. THEME_CULT is red THEME_WIZARD is purple and THEME_HOLY is blue

+ + + diff --git a/mob/living/basic/sheep.html b/mob/living/basic/sheep.html new file mode 100644 index 00000000000..7b72c202a9d --- /dev/null +++ b/mob/living/basic/sheep.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/basic/sheep - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sheep + + + +

+ + + +

Vars

cult_convertedWere we sacrificed by cultists?

Procs

on_sacrificedSignal proc for COMSIG_LIVING_CULT_SACRIFICED to have special interaction with sacrificing a lamb
+

Var Details

cult_converted + + + + +

+

Were we sacrificed by cultists?

Proc Details

on_sacrificed +

+

Signal proc for COMSIG_LIVING_CULT_SACRIFICED to have special interaction with sacrificing a lamb

+ + + diff --git a/mob/living/basic/skeleton.html b/mob/living/basic/skeleton.html new file mode 100644 index 00000000000..e2efd4e7c12 --- /dev/null +++ b/mob/living/basic/skeleton.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/skeleton - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

skeleton + + + +

+ + + + + + + +

Vars

bad_drinksBad milk that skeletons hate
good_drinksTypes of milk skeletons like to drink
held_itemPath of the held item we give to the mob's visuals.
lootLoot this mob drops on death.
outfitPath of the outfit we give to the mob's visuals.
speciesPath of the species we give to the mob's visuals.
+

Var Details

bad_drinks + + + + +

+

Bad milk that skeletons hate

good_drinks + + + + +

+

Types of milk skeletons like to drink

held_item + + + + +

+

Path of the held item we give to the mob's visuals.

loot + + + + +

+

Loot this mob drops on death.

outfit + + + + +

+

Path of the outfit we give to the mob's visuals.

species + + + + +

+

Path of the species we give to the mob's visuals.

+ + + diff --git a/mob/living/basic/snake.html b/mob/living/basic/snake.html new file mode 100644 index 00000000000..437074ca9aa --- /dev/null +++ b/mob/living/basic/snake.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/snake - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

snake + + + +

+ + +

Vars

ediblesList of stuff (mice) that we want to eat
+

Var Details

edibles + + + + +

+

List of stuff (mice) that we want to eat

+ + + diff --git a/mob/living/basic/space_dragon.html b/mob/living/basic/space_dragon.html new file mode 100644 index 00000000000..6092b579a5c --- /dev/null +++ b/mob/living/basic/space_dragon.html @@ -0,0 +1,122 @@ + + + + + + + /mob/living/basic/space_dragon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

space_dragon + + + +

+ +

Advanced stage of the space carp life cycle, spawned as a midround antagonist or via traitor transformation. +Can eat corpses to heal, blow people back with its wings, and obviously as a dragon it breathes fire. It can even tear through walls. +The midround even version also creates rifts which summon carp, and heals when near them.

+ + + + + + + + + + + + +

Vars

buffetOur wing flap action
chosen_colourThe colour of the space dragon
devastation_damage_max_percentageMaximum devastation damage dealt coefficient based on max health
devastation_damage_min_percentageMinimum devastation damage dealt coefficient based on max health
fire_breathOur fire breath action

Procs

eatSucceed in putting something inside us
eaten_stat_changedRelease consumed mobs if they transition from dead to alive
on_explodedWe take devastating bomb damage as a random percentage of our maximum health instead of being gibbed
on_stat_changedWhen our stat changes, make sure we are using the correct overlay
pre_attackBefore we attack something, check if we want to do something else instead
rename_dragonAllows the space dragon to pick a funny name
select_colourSelect scale colour with the colour picker
try_eatTry putting something inside us
+

Var Details

buffet + + + + +

+

Our wing flap action

chosen_colour + + + + +

+

The colour of the space dragon

devastation_damage_max_percentage + + + + +

+

Maximum devastation damage dealt coefficient based on max health

devastation_damage_min_percentage + + + + +

+

Minimum devastation damage dealt coefficient based on max health

fire_breath + + + + +

+

Our fire breath action

Proc Details

eat +

+

Succeed in putting something inside us

eaten_stat_changed +

+

Release consumed mobs if they transition from dead to alive

on_exploded +

+

We take devastating bomb damage as a random percentage of our maximum health instead of being gibbed

on_stat_changed +

+

When our stat changes, make sure we are using the correct overlay

pre_attack +

+

Before we attack something, check if we want to do something else instead

rename_dragon +

+

Allows the space dragon to pick a funny name

select_colour +

+

Select scale colour with the colour picker

try_eat +

+

Try putting something inside us

+ + + diff --git a/mob/living/basic/spider.html b/mob/living/basic/spider.html new file mode 100644 index 00000000000..3fc55b5e677 --- /dev/null +++ b/mob/living/basic/spider.html @@ -0,0 +1,85 @@ + + + + + + + /mob/living/basic/spider - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spider + + + +

+ +

Base type of various spider life stages

+ + + + + + + +

Vars

apply_spider_antagIf true then you shouldn't be told that you're a spider antagonist as soon as you are placed into this mob
directiveThe message that the mother spider left for this spider when the egg was layed.
menu_descriptionShort description of what this mob is capable of, for radial menu uses
player_speed_modifierSpeed modifier to apply if controlled by a human player
poison_per_biteHow much of a reagent the mob injects on attack
poison_typeWhat reagent the mob injects targets with
web_speedMultiplier to apply to web laying speed. Fractional numbers make it faster, because it's a multiplier.
web_typeType of webbing ability to learn.
+

Var Details

apply_spider_antag + + + + +

+

If true then you shouldn't be told that you're a spider antagonist as soon as you are placed into this mob

directive + + + + +

+

The message that the mother spider left for this spider when the egg was layed.

menu_description + + + + +

+

Short description of what this mob is capable of, for radial menu uses

player_speed_modifier + + + + +

+

Speed modifier to apply if controlled by a human player

poison_per_bite + + + + +

+

How much of a reagent the mob injects on attack

poison_type + + + + +

+

What reagent the mob injects targets with

web_speed + + + + +

+

Multiplier to apply to web laying speed. Fractional numbers make it faster, because it's a multiplier.

web_type + + + + +

+

Type of webbing ability to learn.

+ + + diff --git a/mob/living/basic/spider/giant.html b/mob/living/basic/spider/giant.html new file mode 100644 index 00000000000..954504ab8bb --- /dev/null +++ b/mob/living/basic/spider/giant.html @@ -0,0 +1,38 @@ + + + + + + + /mob/living/basic/spider/giant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Giant Spider + + + +

+ +

A mob which can be created by dynamic event, botany, or xenobiology. +The basic type is the guard, which is slow but sturdy and outputs good damage. +All spiders can produce webbing.

+

Vars

innate_actionsActions to grant on Initialize
+

Var Details

innate_actions + + + + +

+

Actions to grant on Initialize

+ + + diff --git a/mob/living/basic/spider/giant/ambush.html b/mob/living/basic/spider/giant/ambush.html new file mode 100644 index 00000000000..5bff1249f3c --- /dev/null +++ b/mob/living/basic/spider/giant/ambush.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/ambush - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

ambush + + + +

+ +Ambush Spider +

A subtype of the giant spider which is slower, stronger and able to sneak into its surroundings to pull pray aggressively. +This spider is only slightly slower than a human.

+ + + diff --git a/mob/living/basic/spider/giant/breacher.html b/mob/living/basic/spider/giant/breacher.html new file mode 100644 index 00000000000..23510d78f68 --- /dev/null +++ b/mob/living/basic/spider/giant/breacher.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/breacher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

breacher + + + +

+ +Spider Breacher +

A subtype of the giant spider, specialized in breaching and invasion. +This spider is only slightly slower than a human.

+ + + diff --git a/mob/living/basic/spider/giant/guard.html b/mob/living/basic/spider/giant/guard.html new file mode 100644 index 00000000000..9a8feb7f817 --- /dev/null +++ b/mob/living/basic/spider/giant/guard.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/guard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

guard + + + +

+ +Guard Spider +

A subtype of the giant spider which is similar on every single way, +This spider is only slightly slower than a human.

+ + + diff --git a/mob/living/basic/spider/giant/hunter.html b/mob/living/basic/spider/giant/hunter.html new file mode 100644 index 00000000000..7e342ce4f1e --- /dev/null +++ b/mob/living/basic/spider/giant/hunter.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/hunter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

hunter + + + +

+ +Hunter Spider +

A subtype of the giant spider which is faster, has toxin injection, but less health and damage. +This spider is only slightly slower than a human.

+ + + diff --git a/mob/living/basic/spider/giant/hunter/ice.html b/mob/living/basic/spider/giant/hunter/ice.html new file mode 100644 index 00000000000..272280d06e8 --- /dev/null +++ b/mob/living/basic/spider/giant/hunter/ice.html @@ -0,0 +1,29 @@ + + + + + + + /mob/living/basic/spider/giant/hunter/ice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

ice + + + +

+ +Ice Hunter Spider +

A temperature-proof hunter with chilling venom. Also unused.

+ + + diff --git a/mob/living/basic/spider/giant/hunter/scrawny.html b/mob/living/basic/spider/giant/hunter/scrawny.html new file mode 100644 index 00000000000..2d9bd93a1ca --- /dev/null +++ b/mob/living/basic/spider/giant/hunter/scrawny.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/hunter/scrawny - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

scrawny + + + +

+ +Scrawny Hunter Spider +

A hunter spider that trades damage for health, unable to smash enviroments. +Used as a minor threat in abandoned places, such as areas in maintenance or a ruin.

+ + + diff --git a/mob/living/basic/spider/giant/ice.html b/mob/living/basic/spider/giant/ice.html new file mode 100644 index 00000000000..a77c5840647 --- /dev/null +++ b/mob/living/basic/spider/giant/ice.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/ice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

ice + + + +

+ +Giant Ice Spider +

A subtype of the giant spider which is immune to temperature damage, unlike its normal counterpart. +Currently unused in the game unless spawned by admins.

+ + + diff --git a/mob/living/basic/spider/giant/midwife.html b/mob/living/basic/spider/giant/midwife.html new file mode 100644 index 00000000000..d4355a702dd --- /dev/null +++ b/mob/living/basic/spider/giant/midwife.html @@ -0,0 +1,32 @@ + + + + + + + /mob/living/basic/spider/giant/midwife - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

midwife + + + +

+ +Spider Broodmother +

A subtype of the giant spider which is the crux of a spider horde, and the way which it grows. +Has very little offensive capabilities but can lay eggs at any time to create more basic spiders. +After consuming human bodies can lay specialised eggs including more broodmothers. +They are also capable of sending messages to all living spiders and setting directives for their children.

+ + + diff --git a/mob/living/basic/spider/giant/nurse.html b/mob/living/basic/spider/giant/nurse.html new file mode 100644 index 00000000000..0b576f346fa --- /dev/null +++ b/mob/living/basic/spider/giant/nurse.html @@ -0,0 +1,39 @@ + + + + + + + /mob/living/basic/spider/giant/nurse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nurse + + + +

+ +Nurse Spider +

A subtype of the giant spider which specializes in support skills. +Nurses can place down webbing in a quarter of the time that other species can and can wrap other spiders' wounds, healing them. +Note that it cannot heal itself.

+

Vars

health_hudThe health HUD applied to the mob.
+

Var Details

health_hud + + + + +

+

The health HUD applied to the mob.

+ + + diff --git a/mob/living/basic/spider/giant/nurse/ice.html b/mob/living/basic/spider/giant/nurse/ice.html new file mode 100644 index 00000000000..ef7c47cefb2 --- /dev/null +++ b/mob/living/basic/spider/giant/nurse/ice.html @@ -0,0 +1,29 @@ + + + + + + + /mob/living/basic/spider/giant/nurse/ice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

ice + + + +

+ +Ice Nurse Spider +

A temperature-proof nurse spider. Also unused.

+ + + diff --git a/mob/living/basic/spider/giant/nurse/scrawny.html b/mob/living/basic/spider/giant/nurse/scrawny.html new file mode 100644 index 00000000000..3dc73d8647d --- /dev/null +++ b/mob/living/basic/spider/giant/nurse/scrawny.html @@ -0,0 +1,31 @@ + + + + + + + /mob/living/basic/spider/giant/nurse/scrawny - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

scrawny + + + +

+ +Scrawny Nurse Spider +

A weaker version of the nurse spider with reduced health, unable to smash enviroments. +Mainly used as a weak threat in abandoned places, such as areas in maintenance or a ruin. +In the future we should give this AI so that it actually heals its teammates.

+ + + diff --git a/mob/living/basic/spider/giant/scout.html b/mob/living/basic/spider/giant/scout.html new file mode 100644 index 00000000000..68f5302ed88 --- /dev/null +++ b/mob/living/basic/spider/giant/scout.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/scout - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

scout + + + +

+ +Scout Spider +

A subtype of the giant spider which is faster, has thermal vision, but less health and damage. +This spider is only slightly faster than a human.

+ + + diff --git a/mob/living/basic/spider/giant/sgt_araneus.html b/mob/living/basic/spider/giant/sgt_araneus.html new file mode 100644 index 00000000000..6e53f31dcfb --- /dev/null +++ b/mob/living/basic/spider/giant/sgt_araneus.html @@ -0,0 +1,29 @@ + + + + + + + /mob/living/basic/spider/giant/sgt_araneus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

sgt_araneus + + + +

+ +Sergeant Araneus +

This friendly arachnid hangs out in the HoS office on some space stations. Better trained than an average officer and does not attack except in self-defence.

+ + + diff --git a/mob/living/basic/spider/giant/tangle.html b/mob/living/basic/spider/giant/tangle.html new file mode 100644 index 00000000000..74e588ff246 --- /dev/null +++ b/mob/living/basic/spider/giant/tangle.html @@ -0,0 +1,38 @@ + + + + + + + /mob/living/basic/spider/giant/tangle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tangle + + + +

+ +Tangle Spider +

A subtype of the giant spider which specializes in support skills. +Tangle spiders can place down webbing in a quarter of the time that other species plus has an expanded arsenal of traps and web structures to place to benefit the nest. +Note that it can heal itself.

+

Procs

can_mendPrevent you from healing other tangle spiders, or healing when on fire

Proc Details

can_mend +

+

Prevent you from healing other tangle spiders, or healing when on fire

+ + + diff --git a/mob/living/basic/spider/giant/tank.html b/mob/living/basic/spider/giant/tank.html new file mode 100644 index 00000000000..13e55e00edf --- /dev/null +++ b/mob/living/basic/spider/giant/tank.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/basic/spider/giant/tank - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tank + + + +

+ +Spider Tank +

A subtype of the giant spider, specialized in taking damage. +This spider is only slightly slower than a human.

+

Procs

can_mendPrevent you from healing when on fire

Proc Details

can_mend +

+

Prevent you from healing when on fire

+ + + diff --git a/mob/living/basic/spider/giant/tarantula.html b/mob/living/basic/spider/giant/tarantula.html new file mode 100644 index 00000000000..f41fc9830a0 --- /dev/null +++ b/mob/living/basic/spider/giant/tarantula.html @@ -0,0 +1,45 @@ + + + + + + + /mob/living/basic/spider/giant/tarantula - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tarantula + + + +

+ +Tarantula +

A subtype of the giant spider which specializes in pure strength and staying power. +Is slowed down when not on webbing, but can lunge to throw off attackers and possibly to stun them.

+ +

Vars

chargeCharging ability, kept seperate from innate_actions due to implementation details

Procs

ranged_secondary_attackLunge if you click something at range
+

Var Details

charge + + + + +

+

Charging ability, kept seperate from innate_actions due to implementation details

Proc Details

ranged_secondary_attack +

+

Lunge if you click something at range

+ + + diff --git a/mob/living/basic/spider/giant/tarantula/scrawny.html b/mob/living/basic/spider/giant/tarantula/scrawny.html new file mode 100644 index 00000000000..29a2d4589a8 --- /dev/null +++ b/mob/living/basic/spider/giant/tarantula/scrawny.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/tarantula/scrawny - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

scrawny + + + +

+ +Scrawny Tarantula +

A weaker version of the Tarantula, unable to smash enviroments. +Used as a moderately strong but slow threat in abandoned places, such as areas in maintenance or a ruin.

+ + + diff --git a/mob/living/basic/spider/giant/viper.html b/mob/living/basic/spider/giant/viper.html new file mode 100644 index 00000000000..f4884e0df70 --- /dev/null +++ b/mob/living/basic/spider/giant/viper.html @@ -0,0 +1,30 @@ + + + + + + + /mob/living/basic/spider/giant/viper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

viper + + + +

+ +Spider Viper +

A subtype of the giant spider which specializes in speed and poison. +Injects a deadlier toxin than other spiders, moves extremely fast, but has a limited amount of health.

+ + + diff --git a/mob/living/basic/spider/giant/viper/wizard.html b/mob/living/basic/spider/giant/viper/wizard.html new file mode 100644 index 00000000000..83f1a03b8c2 --- /dev/null +++ b/mob/living/basic/spider/giant/viper/wizard.html @@ -0,0 +1,29 @@ + + + + + + + /mob/living/basic/spider/giant/viper/wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

wizard + + + +

+ +Viper Spider (Wizard) +

A spider form for wizards. Has the viper spider's extreme speed and strong venom, with additional health and vent crawling abilities.

+ + + diff --git a/mob/living/basic/spider/growing.html b/mob/living/basic/spider/growing.html new file mode 100644 index 00000000000..942890a79bd --- /dev/null +++ b/mob/living/basic/spider/growing.html @@ -0,0 +1,61 @@ + + + + + + + /mob/living/basic/spider/growing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

growing + + + +

+ +

Spider which turns into another spider over time

+ + + +

Vars

grow_asThe mob type we will grow into.
spider_growth_timeThe time it takes for the spider to grow into the next stage

Procs

grow_upActually grows the young spider into a giant spider. We have to do a bunch of unique behavior that really can't be genericized, so we have to override the component in this manner. +Actually move to our next stage of life.
ready_to_growChecks to see if we're ready to grow, primarily if we are on solid ground and not in a vent or something. +The component will automagically grow us when we return TRUE and that threshold has been met.
+

Var Details

grow_as + + + + +

+

The mob type we will grow into.

spider_growth_time + + + + +

+

The time it takes for the spider to grow into the next stage

Proc Details

grow_up +

+

Actually grows the young spider into a giant spider. We have to do a bunch of unique behavior that really can't be genericized, so we have to override the component in this manner. +Actually move to our next stage of life.

ready_to_grow +

+

Checks to see if we're ready to grow, primarily if we are on solid ground and not in a vent or something. +The component will automagically grow us when we return TRUE and that threshold has been met.

+ + + diff --git a/mob/living/basic/spider/growing/young/nurse.html b/mob/living/basic/spider/growing/young/nurse.html new file mode 100644 index 00000000000..923d46b4ec2 --- /dev/null +++ b/mob/living/basic/spider/growing/young/nurse.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/spider/growing/young/nurse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nurse + + + +

+ +

Will differentiate into the "nurse" giant spider.

+

Vars

health_hudThe health HUD applied to the mob.
+

Var Details

health_hud + + + + +

+

The health HUD applied to the mob.

+ + + diff --git a/mob/living/basic/spider/growing/young/tangle.html b/mob/living/basic/spider/growing/young/tangle.html new file mode 100644 index 00000000000..55b402874ab --- /dev/null +++ b/mob/living/basic/spider/growing/young/tangle.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/spider/growing/young/tangle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tangle + + + +

+ +

Will differentiate into the "tangle" giant spider.

+

Procs

can_mendPrevent you from healing other tangle spiders, or healing when on fire

Proc Details

can_mend +

+

Prevent you from healing other tangle spiders, or healing when on fire

+ + + diff --git a/mob/living/basic/spider/growing/young/tank.html b/mob/living/basic/spider/growing/young/tank.html new file mode 100644 index 00000000000..160b552553f --- /dev/null +++ b/mob/living/basic/spider/growing/young/tank.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/basic/spider/growing/young/tank - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tank + + + +

+ +

Will differentiate into the "tank" giant spider.

+

Procs

can_mendPrevent you from healing when on fire

Proc Details

can_mend +

+

Prevent you from healing when on fire

+ + + diff --git a/mob/living/basic/spider/maintenance.html b/mob/living/basic/spider/maintenance.html new file mode 100644 index 00000000000..9fc8a0de837 --- /dev/null +++ b/mob/living/basic/spider/maintenance.html @@ -0,0 +1,29 @@ + + + + + + + /mob/living/basic/spider/maintenance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

maintenance + + + +

+ +Duct Spider +

A less than giant spider which lives in the maintenance ducts and makes them annoying to traverse.

+ + + diff --git a/mob/living/basic/statue.html b/mob/living/basic/statue.html new file mode 100644 index 00000000000..ecf3e8458c5 --- /dev/null +++ b/mob/living/basic/statue.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/statue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

statue + + + +

+ + +

Vars

creatorStores the creator in here if it has one.
+

Var Details

creator + + + + +

+

Stores the creator in here if it has one.

+ + + diff --git a/mob/living/basic/supermatter_spider.html b/mob/living/basic/supermatter_spider.html new file mode 100644 index 00000000000..cfe8346c804 --- /dev/null +++ b/mob/living/basic/supermatter_spider.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/basic/supermatter_spider - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

supermatter_spider + + + +

+ +

A nasty little robotic bug that dusts people on attack. Jeepers. This should be a very, very, very rare spawn.

+ + +

Vars

single_useIf we successfully dust something, should we die?

Procs

dust_feedbackSimple proc that plays the supermatter dusting sound and sends a visible message.
on_attackProc that we call on attacking something to dust 'em.
+

Var Details

single_use + + + + +

+

If we successfully dust something, should we die?

Proc Details

dust_feedback +

+

Simple proc that plays the supermatter dusting sound and sends a visible message.

on_attack +

+

Proc that we call on attacking something to dust 'em.

+ + + diff --git a/mob/living/basic/trader.html b/mob/living/basic/trader.html new file mode 100644 index 00000000000..793d60fb502 --- /dev/null +++ b/mob/living/basic/trader.html @@ -0,0 +1,92 @@ + + + + + + + /mob/living/basic/trader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trader + + + +

+ + + + + + + + + + +

Vars

currency_nameThe currency name
held_weapon_visualWeapon path, for visuals
lootThe loot we drop when we die
ranged_attack_casingCasing used to shoot during retaliation
ranged_attack_soundSound to make while doing a retalitory attack
sell_soundSound used when item sold/bought
spawner_pathThe spawner we use to create our look
species_pathOur species to create our look
trader_data_pathType path for the trader datum to use for retrieving the traders wares, speech, etc
+

Var Details

currency_name + + + + +

+

The currency name

held_weapon_visual + + + + +

+

Weapon path, for visuals

loot + + + + +

+

The loot we drop when we die

ranged_attack_casing + + + + +

+

Casing used to shoot during retaliation

ranged_attack_sound + + + + +

+

Sound to make while doing a retalitory attack

sell_sound + + + + +

+

Sound used when item sold/bought

spawner_path + + + + +

+

The spawner we use to create our look

species_path + + + + +

+

Our species to create our look

trader_data_path + + + + +

+

Type path for the trader datum to use for retrieving the traders wares, speech, etc

+ + + diff --git a/mob/living/basic/tree.html b/mob/living/basic/tree.html new file mode 100644 index 00000000000..e146aed27c0 --- /dev/null +++ b/mob/living/basic/tree.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/tree - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tree + + + +

+ + + + + +

Vars

anger_boostAdditional paralyze chance
infuriating_objectsitems that make us angry
paralyze_probchance of target getting paralyzed
paralyze_valuefor how the target is paralyzed
+

Var Details

anger_boost + + + + +

+

Additional paralyze chance

infuriating_objects + + + + +

+

items that make us angry

paralyze_prob + + + + +

+

chance of target getting paralyzed

paralyze_value + + + + +

+

for how the target is paralyzed

+ + + diff --git a/mob/living/basic/trooper.html b/mob/living/basic/trooper.html new file mode 100644 index 00000000000..fcded8f55d3 --- /dev/null +++ b/mob/living/basic/trooper.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/trooper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trooper + + + +

+ + + + + +

Vars

l_handPath of the left hand held item we give to the mob's visuals.
lootLoot this mob drops on death.
mob_spawnerPath of the mob spawner we base the mob's visuals off of.
r_handPath of the right hand held item we give to the mob's visuals.
+

Var Details

l_hand + + + + +

+

Path of the left hand held item we give to the mob's visuals.

loot + + + + +

+

Loot this mob drops on death.

mob_spawner + + + + +

+

Path of the mob spawner we base the mob's visuals off of.

r_hand + + + + +

+

Path of the right hand held item we give to the mob's visuals.

+ + + diff --git a/mob/living/basic/trooper/abductor/ranged.html b/mob/living/basic/trooper/abductor/ranged.html new file mode 100644 index 00000000000..56e015eea4d --- /dev/null +++ b/mob/living/basic/trooper/abductor/ranged.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/trooper/abductor/ranged - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ranged + + + +

+ + + + + +

Vars

burst_shotsnumber of burst shots
casingtypeType of bullet we use
projectilesoundSound to play when firing weapon
ranged_cooldownTime between taking shots
+

Var Details

burst_shots + + + + +

+

number of burst shots

casingtype + + + + +

+

Type of bullet we use

projectilesound + + + + +

+

Sound to play when firing weapon

ranged_cooldown + + + + +

+

Time between taking shots

+ + + diff --git a/mob/living/basic/trooper/nanotrasen/ranged.html b/mob/living/basic/trooper/nanotrasen/ranged.html new file mode 100644 index 00000000000..d8c9cf08548 --- /dev/null +++ b/mob/living/basic/trooper/nanotrasen/ranged.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/trooper/nanotrasen/ranged - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ranged + + + +

+ + + + + +

Vars

burst_shotsnumber of burst shots
casingtypeType of bullet we use
projectilesoundSound to play when firing weapon
ranged_cooldownTime between taking shots
+

Var Details

burst_shots + + + + +

+

number of burst shots

casingtype + + + + +

+

Type of bullet we use

projectilesound + + + + +

+

Sound to play when firing weapon

ranged_cooldown + + + + +

+

Time between taking shots

+ + + diff --git a/mob/living/basic/trooper/pirate.html b/mob/living/basic/trooper/pirate.html new file mode 100644 index 00000000000..6f02e897c58 --- /dev/null +++ b/mob/living/basic/trooper/pirate.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/basic/trooper/pirate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pirate + + + +

+ +

Pirate trooper subtype

+

Vars

plunder_creditsThe amount of money to steal with a melee attack
+

Var Details

plunder_credits + + + + +

+

The amount of money to steal with a melee attack

+ + + diff --git a/mob/living/basic/trooper/pirate/ranged.html b/mob/living/basic/trooper/pirate/ranged.html new file mode 100644 index 00000000000..23442b7de87 --- /dev/null +++ b/mob/living/basic/trooper/pirate/ranged.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/trooper/pirate/ranged - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ranged + + + +

+ + + + + +

Vars

burst_shotsnumber of burst shots
casingtypeType of bullet we use
projectilesoundSound to play when firing weapon
ranged_cooldownTime between taking shots
+

Var Details

burst_shots + + + + +

+

number of burst shots

casingtype + + + + +

+

Type of bullet we use

projectilesound + + + + +

+

Sound to play when firing weapon

ranged_cooldown + + + + +

+

Time between taking shots

+ + + diff --git a/mob/living/basic/trooper/syndicate/ranged.html b/mob/living/basic/trooper/syndicate/ranged.html new file mode 100644 index 00000000000..d2e2c8df411 --- /dev/null +++ b/mob/living/basic/trooper/syndicate/ranged.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/basic/trooper/syndicate/ranged - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ranged + + + +

+ +

Guns

+ + + +

Vars

burst_shotsnumber of burst shots
casingtypeType of bullet we use
projectilesoundSound to play when firing weapon
ranged_cooldownTime between taking shots
+

Var Details

burst_shots + + + + +

+

number of burst shots

casingtype + + + + +

+

Type of bullet we use

projectilesound + + + + +

+

Sound to play when firing weapon

ranged_cooldown + + + + +

+

Time between taking shots

+ + + diff --git a/mob/living/basic/venus_human_trap.html b/mob/living/basic/venus_human_trap.html new file mode 100644 index 00000000000..d3ed36d2a8c --- /dev/null +++ b/mob/living/basic/venus_human_trap.html @@ -0,0 +1,63 @@ + + + + + + + /mob/living/basic/venus_human_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

venus_human_trap + + + +

+ +

Venus Human Trap

+

The result of a kudzu flower bud, these enemies use vines to drag prey close to them for attack.

+

A carnivorious plant which uses vines to catch and ensnare prey. Spawns from kudzu flower buds. +Each one can attach up to two temporary vines to objects or mobs and drag them around with it. +Attempting to attach a vine to something with a vine already attached to it will pull all movable targets closer on command. +Once the prey is in melee range, melee attacks from the venus human trap heals itself for 10% of its max health, assuming the target is alive. +Akin to certain spiders, venus human traps can also be possessed and controlled by ghosts.

+ + + +

Vars

alert_shownif the balloon alert was shown atleast once, reset after healing in weeds
no_weed_damagehow much damage we take out of weeds
sightcopied over from the code from eyeballs (the mob) to make it easier for venus human traps to see in kudzu that doesn't have the transparency mutation
weed_healhow much do we heal in weeds
+

Var Details

alert_shown + + + + +

+

if the balloon alert was shown atleast once, reset after healing in weeds

no_weed_damage + + + + +

+

how much damage we take out of weeds

sight + + + + +

+

copied over from the code from eyeballs (the mob) to make it easier for venus human traps to see in kudzu that doesn't have the transparency mutation

weed_heal + + + + +

+

how much do we heal in weeds

+ + + diff --git a/mob/living/basic/wizard.html b/mob/living/basic/wizard.html new file mode 100644 index 00000000000..1daa5ac94bb --- /dev/null +++ b/mob/living/basic/wizard.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/basic/wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizard + + + +

+ + + + + + + +

Vars

secondary_spell_listList of possible secondary spells to pick from
secondary_spell_pathTypepath for the wizard's secondary spell. If null, selects randomly.
selected_outfitA specified wizard corpse spawner to use. If null, picks from the list above instead.
targeted_spell_listList of possible targeted spells to pick from
targeted_spell_pathTypepath for the wizard's targeted spell. If null, selects randomly.
wizard_outfitsA list of possible wizard corpses, and therefore wizard outfits, to select from
+

Var Details

secondary_spell_list + + + + +

+

List of possible secondary spells to pick from

secondary_spell_path + + + + +

+

Typepath for the wizard's secondary spell. If null, selects randomly.

selected_outfit + + + + +

+

A specified wizard corpse spawner to use. If null, picks from the list above instead.

targeted_spell_list + + + + +

+

List of possible targeted spells to pick from

targeted_spell_path + + + + +

+

Typepath for the wizard's targeted spell. If null, selects randomly.

wizard_outfits + + + + +

+

A list of possible wizard corpses, and therefore wizard outfits, to select from

+ + + diff --git a/mob/living/basic/wumborian_fugu.html b/mob/living/basic/wumborian_fugu.html new file mode 100644 index 00000000000..894281a512d --- /dev/null +++ b/mob/living/basic/wumborian_fugu.html @@ -0,0 +1,38 @@ + + + + + + + /mob/living/basic/wumborian_fugu - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Wumborian Fugu + + + +

+ +

A strange alien creature capable of increasing its mass when threatened, when not inflated it is virtually defenceless. +Mostly only appears from xenobiology, or the occasional wizard. +On death, the "fugu gland" is dropped, which can be used on mobs to increase their size, health, strength, and lets them smash walls.

+

Vars

expandAbility used by the mob to become large, dangerous, and invulnerable
+

Var Details

expand + + + + +

+

Ability used by the mob to become large, dangerous, and invulnerable

+ + + diff --git a/mob/living/brain.html b/mob/living/brain.html new file mode 100644 index 00000000000..65a934d10b5 --- /dev/null +++ b/mob/living/brain.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/brain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

brain + + + +

+ + +

Procs

send_applicable_messagesOverride parent here because... the blind message doesn't really work given what's happen when a brain suicides. Can't hear a brain going grey. So, we omit the "blind" message.

Proc Details

send_applicable_messages +

+

Override parent here because... the blind message doesn't really work given what's happen when a brain suicides. Can't hear a brain going grey. So, we omit the "blind" message.

+ + + diff --git a/mob/living/carbon.html b/mob/living/carbon.html new file mode 100644 index 00000000000..6db417d3ca6 --- /dev/null +++ b/mob/living/carbon.html @@ -0,0 +1,1267 @@ + + + + + + + /mob/living/carbon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

carbon + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_scarsAll of the scars a carbon has afflicted throughout their limbs
all_woundsAll of the wounds a carbon has afflicted throughout their limbs
body_zone_dismembered_byAssoc list of BODY_ZONE -> wounding_type. Set when a limb is dismembered, unset when one is attached. Used for determining what scar to add when it comes time to generate them.
bodypartsGets filled up in /datum/species/proc/replace_body. +Will either contain a list of typepaths if nothing has been created yet, +or a list of the body part objects.
bodytypeA bitfield of "bodytypes", updated by /obj/item/bodypart/proc/synchronize_bodytypes()
can_be_shoved_intoCan other carbons be shoved into this one to make it fall?
co2overloadtimeUsed in [carbon/proc/check_breath] and [lungs/proc/check_breath]]
cold_protectionProtection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection
damageoverlaytempUsed to temporarily increase severity of / apply a new damage overlay (the red ring around the ui / screen). +This number will translate to equivalent brute or burn damage taken. Handled in [mob/living/proc/update_damage_hud]. +(For example, setting damageoverlaytemp = 20 will add 20 "damage" to the overlay the next time it updates.) +This number is also reset to 0 every tick of carbon Life(). Pain.
disgustMeasure of how disgusted we are. See DISGUST_LEVEL_GROSS and friends
dnaCarbon, you should really only be accessing this through has_dna() but it's your life
earsonly used by humans.
external"External" air tank. Never set this manually. Not required to stay directly equipped on the mob (i.e. could be a machine or MOD suit module).
failed_last_breathThis is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.
glassesonly used by humans.
glovesonly used by humans
hand_bodypartsA collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)
handcuffedWhether or not the mob is handcuffed
heat_protectionProtection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection
icon_render_keysA cache of bodypart = icon to prevent excessive icon creation.
internalEquipped air tank. Never set this manually.
last_mindlast mind to control this mob, for blood-based cloning
last_top_offsetStores the result of our last known top_offset generation for optimisation purposes when drawing limb icons.
legcuffedSame as handcuffs but for legs. Bear traps use this.
old_disgustHow disgusted we were LAST time we processed disgust. Helps prevent unneeded work
organsList of /obj/item/organs in the mob. They don't go in the contents for some reason I don't want to know.
organs_slotSame as above, but stores "slot ID" - "organ" pairs for easy access.
shoesonly used by humans.
skillchip_complexity_modifierSimple modifier for whether this mob can handle greater or lesser skillchip complexity. See /datum/mutation/human/biotechcompat/ for example.
stam_regen_start_timeused to halt stamina regen temporarily
transformation_timerTimer id of any transformation
visual_only_organsOnly load in visual organs

Procs

add_bodypartProc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/try_attach_limb()].
adjustOrganLossIf an organ exists in the slot requested, and we are capable of taking damage (we don't have GODMODE on), call the damage proc on that organ.
adjustPlasmaAdjusts the plasma level of the carbon's plasma vessel if they have one
adjust_bodytemperatureAdjust the body temperature of a mob +expanded for carbon mobs allowing the use of insulation and change steps
adjust_skillchip_complexity_modifierModifies max_skillchip_count and updates active skillchips
bioscrambleRandomise a body part and organ of this mob
bleed_warnbleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable)
can_breathe_helmetReturns TRUE if an air tank compatible helmet is equipped.
can_breathe_internalsReturns TRUE if an air tank compatible mask or breathing tube is equipped.
can_breathe_maskReturns TRUE if an air tank compatible mask is equipped.
can_breathe_tubeReturns TRUE if a breathing tube is equipped.
can_touch_acidThis proc is used to determine whether or not the mob can handle touching an acid affected object.
can_touch_burningThis proc is used to determine whether or not the mob can handle touching a burning object.
cause_wound_of_type_and_severityA simple proc to force a type of wound onto this mob. If you just want to force a specific mainline (fractures, bleeding, etc.) wound, you only need to care about the first 3 args.
check_breathThis proc tests if the lungs can breathe, if the mob can breathe a given gas mixture, and throws/clears gas alerts. +If there are moles of gas in the given gas mixture, side-effects may be applied/removed on the mob. +This proc expects a lungs organ in order to breathe successfully, but does not defer any work to it.
check_passoutCheck to see if we should be passed out from oxyloss
check_self_for_injuriesCheck ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel
check_virusMedical HUD! Basic mode needs suit sensors on.
clone_skillchip_listCreates a list of new skillchips cloned from old skillchips in the mob's brain.
close_all_airtanksQuickly/lazily close all airtanks without any returns or notifications.
close_externalsClose the the currently open external (that's EX-ternal) air tank. Returns TREUE if successful.
close_internalsActually closes the active internal or external air tank. +Returns TRUE if the tank was opened successfully.
create_bodypartsCreates body parts for this carbon completely from scratch. +Optionally takes a map of body zones to what type to instantiate instead of them.
cutoff_internalsPrepares emergency disconnect from open air tanks and notifies in chat. Usually called after mob suddenly unequips breathing apparatus.
del_and_replace_bodypartReplaces a single limb and deletes the old one if there was one
destroy_all_skillchipsDestroys all skillchips in the brain, handling appropriate cleanup and event calls.
disarmAttempt to disarm the target mob. +Will shove the target mob back, and drop them if they're in front of something dense +or another carbon.
dreamGenerates a dream sequence to be displayed to the sleeper.
dream_sequenceDisplays the passed list of dream fragments to a sleeping carbon.
electrocute_actAdds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.
equip_conspicuous_itemAttempts to equip the given item in a conspicious place. +This is used when, for instance, a character spawning with an item +in their hands would be a dead giveaway that they are an antagonist. +Returns the human readable name of where it placed the item, or null otherwise.
expel_ingestedExpel the reagents you just tried to ingest
generate_fake_scarsgenerate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake)
getPlasmaGets the plasma level of this carbon's plasma vessel, or -1 if they don't have one
get_all_covered_flagsReturns a bitfield of all zones covered by clothing
get_bleed_rateA helper to see how much blood we're losing per tick
get_blood_dna_listGet the mobs dna list
get_breath_from_internalAttempts to take a breath from the external or internal air tank.
get_cold_protectionThis returns the percentage of protection from cold as a value from 0 - 1 +temperature is the temperature you're being exposed to
get_covered_body_zonesReturns a list of all body_zones covered by clothing
get_damageable_bodypartsReturns a list of damageable bodyparts
get_damaged_bodypartsReturns a list of damaged bodyparts
get_heat_protectionThis returns the percentage of protection from heat as a value from 0 - 1 +temperature is the temperature you're being exposed to
get_held_overlaysGenerate held item overlays
get_insulation_protectionGet the insulation that is appropriate to the temperature you're being exposed to. +All clothing, natural insulation, and traits are combined returning a single value.
get_organ_lossIf an organ exists in the slot requested, return the amount of damage that organ has
get_top_offsetThis looks at the chest and legs of the mob and decides how much our chest, arms, and head should be adjusted. This is useful for limbs that are larger or smaller than the scope of normal human height while keeping the feet anchored to the bottom of the tile
get_total_bleed_rateget our total bleedrate
get_traumasTRAUMAS
get_wound_threshold_of_wound_typeLimb is nullable, but picks a random one. Defers to limb.get_wound_threshold_of_wound_type, see it for documentation.
get_wounded_bodypartsReturns a list of bodyparts with wounds (in case someone has a wound on an otherwise fully healed limb)
giveProc called when offering an item to another player
handle_breath_temperatureFourth and final link in a breath chain
handle_dead_metabolizationHandles calling metabolization for dead people. +Due to how reagent metabolization code works this couldn't be done anywhere else.
handle_dreamsBegins the dreaming process on a sleeping carbon.
handle_environmentBase carbon environment handler, adds natural stabilization
handle_liverCheck to see if we have the liver, if not automatically gives you last-stage effects of lacking a liver.
handle_suffocationFallback "empty breath" for convenience. +The list of gases in the breath. +Indicates if there are moles of gas in the breath. +Minimum O2 before suffocation. +Maximum CO2 before side-effects. +Maximum Plasma before side-effects. +Maximum Pluoxum before side-effects. +Applies suffocation side-effects to a given Human, scaling based on ratio of required pressure VS "true" pressure. +If pressure is greater than 0, the return value will represent the amount of gas successfully breathed.
has_equippedThis proc is called after an item has been successfully handled and equipped to a slot.
head_updateHandle stuff to update when a mob equips/unequips a headgear.
heal_bodypart_damageHeals ONE bodypart randomly selected from damaged ones.
humanizeHumanize
implant_skillchipAttempts to implant this skillchip into the target carbon's brain.
init_bioscrambler_listsFill in the lists of things we can bioscramble into people
invalid_internalsReturns truthy if air tank is open and mob lacks apparatus, or if the tank moved away from the mob.
is_bleedingif any of our bodyparts are bleeding
lying_angle_on_lying_downSpecial carbon interaction on lying down, to transform its sprite by a rotation.
make_virtual_mobRemoves all the "organic" traits from a mob, used for virtual antagonists
natural_bodytemperature_stabilizationUsed to stabilize the body temperature back to normal on living mobs
on_added_handCalled when a new hand is added
on_agender_trait_gainOn gain of TRAIT_AGENDER
on_agender_trait_lossOn removal of TRAIT_AGENDER
on_geneless_trait_gainOn gain of TRAIT_GENELLESS
on_liverless_metabolism_trait_gainOn gain of TRAIT_LIVERLESS_METABOLISM
on_lost_handCleans up references to a hand when it is dismembered or deleted
on_nobreath_trait_gainOn gain of TRAIT_NOBREATH
on_toximmune_trait_gainOn gain of TRAIT_TOXIMMUNE
on_virusimmune_trait_gainOn gain of TRAIT_VIRUSIMMUNE
open_internalsOpen the internal air tank without checking for any breathing apparatus. +Returns TRUE if the air tank was opened successfully. +Closes any existing tanks before opening another one.
regenerate_limbsTransfer existing hair properties to the new human.
regenerate_organsHeals all of the mob's organs, and re-adds any missing ones.
remove_all_embedded_objectsRemove all embedded objects from all limbs on the carbon mob
remove_bodypartProc to hook behavior on bodypart removals. Do not directly call. You're looking for [/obj/item/bodypart/proc/drop_limb()].
remove_embedded_objectRemove a specific embedded item from the carbon mob
remove_skillchipAttempts to remove this skillchip from the target carbon's brain.
return_and_replace_bodypartReplaces a single limb and returns the old one if there was one
secondary_shockCalled slightly after electrocute act to apply a secondary stun.
setOrganLossIf an organ exists in the slot requested, and we are capable of taking damage (we don't have GODMODE on), call the set damage proc on that organ, which can +set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss.
set_handcuffedModifies the handcuffed value if a different value is passed, returning FALSE otherwise. The variable should only be changed through this proc.
set_heartattackCauses the mob to either start or stop having a heart attack.
share_bodytemperatureHave two mobs share body heat between each other. +Account for the insulation and max temperature change range for the mob
should_electrocuteReturns whether or not the carbon should be able to be shocked
spray_bloodThis proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment.
synchronize_bodytypesMakes sure that the owner's bodytype flags match the flags of all of it's parts and organs
takeProc called when the player clicks the give alert
take_bodypart_damageDamages ONE bodypart randomly selected from damagable ones.
toggle_close_internalsPrepares to close the currently open internal air tank and notifies in chat. +Handles displaying messages to the user before doing the actual closing. +Returns TRUE if
toggle_externalsToggles the given external (that's EX-ternal) air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.
toggle_internalsToggles the given internal air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.
toggle_open_internalsPrepares to open the internal air tank and notifies the mob in chat. +Handles displaying messages to the user before doing the actual opening. +Returns TRUE if the tank was opened/closed successfully.
try_open_internalsOpens the given internal air tank if a breathing apparatus is found. Returns TRUE if successful, FALSE otherwise. +Returns TRUE if the tank was opened successfully.
update_body_partsChecks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner.
update_bodypart_bleed_overlaysHas each bodypart update its bleed/wound overlay icon states
update_bodypart_speed_modifierUpdates the bodypart speed modifier based on our bodyparts.
update_featuresUpdates features and clothing attached to a specific limb with limb-specific offsets
update_permanently_on_fireOn gain of TRAIT_PERMANENTLY_ONFIRE, update the visuals if not on fire
update_tintCalculates how visually impaired the mob is by their equipment and other factors
vomitProc that compels the mob to throw up. Returns TRUE if the mob actually threw up.
wearing_shock_proof_glovesReturns if the carbon is wearing shock proof gloves
+

Var Details

all_scars + + + + +

+

All of the scars a carbon has afflicted throughout their limbs

all_wounds + + + + +

+

All of the wounds a carbon has afflicted throughout their limbs

body_zone_dismembered_by + + + + +

+

Assoc list of BODY_ZONE -> wounding_type. Set when a limb is dismembered, unset when one is attached. Used for determining what scar to add when it comes time to generate them.

bodyparts + + + + +

+

Gets filled up in /datum/species/proc/replace_body. +Will either contain a list of typepaths if nothing has been created yet, +or a list of the body part objects.

bodytype + + + + +

+

A bitfield of "bodytypes", updated by /obj/item/bodypart/proc/synchronize_bodytypes()

can_be_shoved_into + + + + +

+

Can other carbons be shoved into this one to make it fall?

co2overloadtime + + + + +

+

Used in [carbon/proc/check_breath] and [lungs/proc/check_breath]]

cold_protection + + + + +

+

Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection

damageoverlaytemp + + + + +

+

Used to temporarily increase severity of / apply a new damage overlay (the red ring around the ui / screen). +This number will translate to equivalent brute or burn damage taken. Handled in [mob/living/proc/update_damage_hud]. +(For example, setting damageoverlaytemp = 20 will add 20 "damage" to the overlay the next time it updates.) +This number is also reset to 0 every tick of carbon Life(). Pain.

disgust + + + + +

+

Measure of how disgusted we are. See DISGUST_LEVEL_GROSS and friends

dna + + + + +

+

Carbon, you should really only be accessing this through has_dna() but it's your life

ears + + + + +

+

only used by humans.

external + + + + +

+

"External" air tank. Never set this manually. Not required to stay directly equipped on the mob (i.e. could be a machine or MOD suit module).

failed_last_breath + + + + +

+

This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.

glasses + + + + +

+

only used by humans.

gloves + + + + +

+

only used by humans

hand_bodyparts + + + + +

+

A collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)

handcuffed + + + + +

+

Whether or not the mob is handcuffed

heat_protection + + + + +

+

Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection

icon_render_keys + + + + +

+

A cache of bodypart = icon to prevent excessive icon creation.

internal + + + + +

+

Equipped air tank. Never set this manually.

last_mind + + + + +

+

last mind to control this mob, for blood-based cloning

last_top_offset + + + + +

+

Stores the result of our last known top_offset generation for optimisation purposes when drawing limb icons.

legcuffed + + + + +

+

Same as handcuffs but for legs. Bear traps use this.

old_disgust + + + + +

+

How disgusted we were LAST time we processed disgust. Helps prevent unneeded work

organs + + + + +

+

List of /obj/item/organs in the mob. They don't go in the contents for some reason I don't want to know.

organs_slot + + + + +

+

Same as above, but stores "slot ID" - "organ" pairs for easy access.

shoes + + + + +

+

only used by humans.

skillchip_complexity_modifier + + + + +

+

Simple modifier for whether this mob can handle greater or lesser skillchip complexity. See /datum/mutation/human/biotechcompat/ for example.

stam_regen_start_time + + + + +

+

used to halt stamina regen temporarily

transformation_timer + + + + +

+

Timer id of any transformation

visual_only_organs + + + + +

+

Only load in visual organs

Proc Details

add_bodypart +

+

Proc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/try_attach_limb()].

adjustOrganLoss +

+

If an organ exists in the slot requested, and we are capable of taking damage (we don't have GODMODE on), call the damage proc on that organ.

+

Arguments:

+
    +
  • slot - organ slot, like [ORGAN_SLOT_HEART]
  • +
  • amount - damage to be done
  • +
  • maximum - currently an arbitrarily large number, can be set so as to limit damage
  • +
  • required_organ_flag - targets only a specific organ type if set to ORGAN_ORGANIC or ORGAN_ROBOTIC
  • +
+

Returns: The net change in damage from apply_organ_damage()

adjustPlasma +

+

Adjusts the plasma level of the carbon's plasma vessel if they have one

adjust_bodytemperature +

+

Adjust the body temperature of a mob +expanded for carbon mobs allowing the use of insulation and change steps

+

vars:

+
    +
  • amount The amount of degrees to change body temperature by
  • +
  • min_temp (optional) The minimum body temperature after adjustment
  • +
  • max_temp (optional) The maximum body temperature after adjustment
  • +
  • use_insulation (optional) modifies the amount based on the amount of insulation the mob has
  • +
  • use_steps (optional) Use the body temp divisors and max change rates
  • +
  • capped (optional) default True used to cap step mode
  • +

adjust_skillchip_complexity_modifier +

+

Modifies max_skillchip_count and updates active skillchips

bioscramble +

+

Randomise a body part and organ of this mob

bleed_warn +

+

bleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable)

+

Arguments:

+

can_breathe_helmet +

+

Returns TRUE if an air tank compatible helmet is equipped.

can_breathe_internals +

+

Returns TRUE if an air tank compatible mask or breathing tube is equipped.

can_breathe_mask +

+

Returns TRUE if an air tank compatible mask is equipped.

can_breathe_tube +

+

Returns TRUE if a breathing tube is equipped.

can_touch_acid +

+

This proc is used to determine whether or not the mob can handle touching an acid affected object.

can_touch_burning +

+

This proc is used to determine whether or not the mob can handle touching a burning object.

cause_wound_of_type_and_severity +

+

A simple proc to force a type of wound onto this mob. If you just want to force a specific mainline (fractures, bleeding, etc.) wound, you only need to care about the first 3 args.

+

Args:

+
    +
  • wounding_type: The wounding_type, e.g. WOUND_BLUNT, WOUND_SLASH to force onto the mob. Can be a list.
  • +
  • obj/item/bodypart/limb: The limb we wil be applying the wound to. If null, a random bodypart will be picked.
  • +
  • min_severity: The minimum severity that will be considered.
  • +
  • max_severity: The maximum severity that will be considered.
  • +
  • severity_pick_mode: The "pick mode" to be used. See get_corresponding_wound_type's documentation
  • +
  • wound_source: The source of the wound to be applied. Nullable.
  • +
+

For the rest of the args, refer to get_corresponding_wound_type().

+

Returns: +A new wound instance if the application was successful, null otherwise.

check_breath +

+

This proc tests if the lungs can breathe, if the mob can breathe a given gas mixture, and throws/clears gas alerts. +If there are moles of gas in the given gas mixture, side-effects may be applied/removed on the mob. +This proc expects a lungs organ in order to breathe successfully, but does not defer any work to it.

+

Returns TRUE if the breath was successful, or FALSE if otherwise.

+

Arguments:

+
    +
  • breath: A gas mixture to test, or null.
  • +

check_passout +

+

Check to see if we should be passed out from oxyloss

check_self_for_injuries +

+

Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel

check_virus +

+

Medical HUD! Basic mode needs suit sensors on.

clone_skillchip_list +

+

Creates a list of new skillchips cloned from old skillchips in the mob's brain.

+

Returns a complete list of new skillchips cloned from the mob's brain's existing skillchip stock. +Rumour has it that Changelings just LOVE this proc. +Arguments:

+
    +
  • cloned_chip_holder - The new holder for the cloned chips. Please don't be null.
  • +
  • not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal.
  • +

close_all_airtanks +

+

Quickly/lazily close all airtanks without any returns or notifications.

close_externals +

+

Close the the currently open external (that's EX-ternal) air tank. Returns TREUE if successful.

close_internals +

+

Actually closes the active internal or external air tank. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+
    +
  • is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
  • +

create_bodyparts +

+

Creates body parts for this carbon completely from scratch. +Optionally takes a map of body zones to what type to instantiate instead of them.

cutoff_internals +

+

Prepares emergency disconnect from open air tanks and notifies in chat. Usually called after mob suddenly unequips breathing apparatus.

del_and_replace_bodypart +

+

Replaces a single limb and deletes the old one if there was one

destroy_all_skillchips +

+

Destroys all skillchips in the brain, handling appropriate cleanup and event calls.

disarm +

+

Attempt to disarm the target mob. +Will shove the target mob back, and drop them if they're in front of something dense +or another carbon.

dream +

+

Generates a dream sequence to be displayed to the sleeper.

+

Generates the "dream" to display to the sleeper. A dream consists of a subject, a verb, and (most of the time) an object, displayed in sequence to the sleeper. +Dreams are generated as a list of strings stored inside dream_fragments, which is passed to and displayed in dream_sequence(). +Bedsheets on the sleeper will provide a custom subject for the dream, pulled from the dream_messages on each bedsheet.

dream_sequence +

+

Displays the passed list of dream fragments to a sleeping carbon.

+

Displays the first string of the passed dream fragments, then either ends the dream sequence +or performs a callback on itself depending on if there are any remaining dream fragments to display.

+

Arguments:

+
    +
  • dream_fragments - A list of strings, in the order they will be displayed.
  • +
  • current_dream - The dream datum used for the current dream
  • +

electrocute_act +

+

Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.

equip_conspicuous_item +

+

Attempts to equip the given item in a conspicious place. +This is used when, for instance, a character spawning with an item +in their hands would be a dead giveaway that they are an antagonist. +Returns the human readable name of where it placed the item, or null otherwise.

expel_ingested +

+

Expel the reagents you just tried to ingest

+

When you try to ingest reagents but you do not have a stomach +you will spew the reagents on the floor.

+

Vars:

+
    +
  • bite: /atom the reagents to expel
  • +
  • amount: int The amount of reagent
  • +

generate_fake_scars +

+

generate_fake_scars()- for when you want to scar someone, but you don't want to hurt them first. These scars don't count for temporal scarring (hence, fake)

+

If you want a specific wound scar, pass that wound type as the second arg, otherwise you can pass a list like WOUND_LIST_SLASH to generate a random cut scar.

+

Arguments:

+
    +
  • num_scars- A number for how many scars you want to add
  • +
  • forced_type- Which wound or category of wounds you want to choose from, WOUND_LIST_BLUNT, WOUND_LIST_SLASH, or WOUND_LIST_BURN (or some combination). If passed a list, picks randomly from the listed wounds. Defaults to all 3 types
  • +

getPlasma +

+

Gets the plasma level of this carbon's plasma vessel, or -1 if they don't have one

get_all_covered_flags +

+

Returns a bitfield of all zones covered by clothing

get_bleed_rate +

+

A helper to see how much blood we're losing per tick

get_blood_dna_list +

+

Get the mobs dna list

get_breath_from_internal +

+

Attempts to take a breath from the external or internal air tank.

get_cold_protection +

+

This returns the percentage of protection from cold as a value from 0 - 1 +temperature is the temperature you're being exposed to

get_covered_body_zones +

+

Returns a list of all body_zones covered by clothing

get_damageable_bodyparts +

+

Returns a list of damageable bodyparts

get_damaged_bodyparts +

+

Returns a list of damaged bodyparts

get_heat_protection +

+

This returns the percentage of protection from heat as a value from 0 - 1 +temperature is the temperature you're being exposed to

get_held_overlays +

+

Generate held item overlays

get_insulation_protection +

+

Get the insulation that is appropriate to the temperature you're being exposed to. +All clothing, natural insulation, and traits are combined returning a single value.

+

required temperature The Temperature that you're being exposed to

+

return the percentage of protection as a value from 0 - 1

get_organ_loss +

+

If an organ exists in the slot requested, return the amount of damage that organ has

+

Arguments:

+
    +
  • slot - organ slot, like [ORGAN_SLOT_HEART]
  • +

get_top_offset +

+

This looks at the chest and legs of the mob and decides how much our chest, arms, and head should be adjusted. This is useful for limbs that are larger or smaller than the scope of normal human height while keeping the feet anchored to the bottom of the tile

get_total_bleed_rate +

+

get our total bleedrate

get_traumas +

+

TRAUMAS

get_wound_threshold_of_wound_type +

+

Limb is nullable, but picks a random one. Defers to limb.get_wound_threshold_of_wound_type, see it for documentation.

get_wounded_bodyparts +

+

Returns a list of bodyparts with wounds (in case someone has a wound on an otherwise fully healed limb)

give +

+

Proc called when offering an item to another player

+

This handles creating an alert and adding an overlay to it

handle_breath_temperature +

+

Fourth and final link in a breath chain

handle_dead_metabolization +

+

Handles calling metabolization for dead people. +Due to how reagent metabolization code works this couldn't be done anywhere else.

+

Arguments:

+
    +
  • seconds_per_tick: The amount of time that has elapsed since the last tick.
  • +
  • times_fired: The number of times SSmobs has ticked.
  • +

handle_dreams +

+

Begins the dreaming process on a sleeping carbon.

+

Checks a 10% chance and whether or not the carbon this is called on is already dreaming. If +the prob() passes and there are no dream images left to display, a new dream is constructed.

handle_environment +

+

Base carbon environment handler, adds natural stabilization

handle_liver +

+

Check to see if we have the liver, if not automatically gives you last-stage effects of lacking a liver.

handle_suffocation +

+

Fallback "empty breath" for convenience. +The list of gases in the breath. +Indicates if there are moles of gas in the breath. +Minimum O2 before suffocation. +Maximum CO2 before side-effects. +Maximum Plasma before side-effects. +Maximum Pluoxum before side-effects. +Applies suffocation side-effects to a given Human, scaling based on ratio of required pressure VS "true" pressure. +If pressure is greater than 0, the return value will represent the amount of gas successfully breathed.

has_equipped +

+

This proc is called after an item has been successfully handled and equipped to a slot.

head_update +

+

Handle stuff to update when a mob equips/unequips a headgear.

heal_bodypart_damage +

+

Heals ONE bodypart randomly selected from damaged ones.

+

It automatically updates damage overlays if necessary

+

It automatically updates health status

humanize +

+

Humanize

implant_skillchip +

+

Attempts to implant this skillchip into the target carbon's brain.

+

Returns whether the skillchip was inserted or not. Can optionally give chat message notification to the mob. +Arguments:

+
    +
  • skillchip - The skillchip you want to insert.
  • +
  • silent - Whether or not to display the implanting message.
  • +
  • force - Whether to force the implant to happen, including forcing activating if activate = TRUE. Ignores incompatibility checks. Used by changelings.
  • +

init_bioscrambler_lists +

+

Fill in the lists of things we can bioscramble into people

invalid_internals +

+

Returns truthy if air tank is open and mob lacks apparatus, or if the tank moved away from the mob.

is_bleeding +

+

if any of our bodyparts are bleeding

lying_angle_on_lying_down +

+

Special carbon interaction on lying down, to transform its sprite by a rotation.

make_virtual_mob +

+

Removes all the "organic" traits from a mob, used for virtual antagonists

natural_bodytemperature_stabilization +

+

Used to stabilize the body temperature back to normal on living mobs

+

Arguments:

+
    +
  • environemnt: The environment gas mix
  • +
  • seconds_per_tick: The amount of time that has elapsed since the last tick
  • +
  • times_fired: The number of times SSmobs has ticked
  • +

on_added_hand +

+

Called when a new hand is added

on_agender_trait_gain +

+

On gain of TRAIT_AGENDER

+

This will make the mob get it's gender set to PLURAL.

on_agender_trait_loss +

+

On removal of TRAIT_AGENDER

+

This will make the mob get it's gender set to whatever the DNA says it should be.

on_geneless_trait_gain +

+

On gain of TRAIT_GENELLESS

+

This will clear all DNA mutations on on the mob.

on_liverless_metabolism_trait_gain +

+

On gain of TRAIT_LIVERLESS_METABOLISM

+

This will clear all moods related to addictions and stop metabolization.

on_lost_hand +

+

Cleans up references to a hand when it is dismembered or deleted

on_nobreath_trait_gain +

+

On gain of TRAIT_NOBREATH

+

This will clear all alerts and moods related to breathing.

on_toximmune_trait_gain +

+

On gain of TRAIT_TOXIMMUNE

+

This will clear all toxin damage on the mob.

on_virusimmune_trait_gain +

+

On gain of TRAIT_VIRUSIMMUNE

+

This will clear all diseases on the mob.

open_internals +

+

Open the internal air tank without checking for any breathing apparatus. +Returns TRUE if the air tank was opened successfully. +Closes any existing tanks before opening another one.

+

Arguments:

+
    +
  • tank - The given tank to open and start breathing from.
  • +
  • is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
  • +

regenerate_limbs +

+

Transfer existing hair properties to the new human.

regenerate_organs +

+

Heals all of the mob's organs, and re-adds any missing ones.

+
    +
  • regenerate_existing - if TRUE, existing organs will be deleted and replaced with new ones
  • +

remove_all_embedded_objects +

+

Remove all embedded objects from all limbs on the carbon mob

remove_bodypart +

+

Proc to hook behavior on bodypart removals. Do not directly call. You're looking for [/obj/item/bodypart/proc/drop_limb()].

remove_embedded_object +

+

Remove a specific embedded item from the carbon mob

remove_skillchip +

+

Attempts to remove this skillchip from the target carbon's brain.

+

Returns FALSE when the skillchip couldn't be removed for some reason, +including the target or brain not existing or the skillchip not being in the brain. +Arguments:

+
    +
  • target - The living carbon whose brain you want to remove the chip from.
  • +
  • silent - Whether or not to display the removal message.
  • +

return_and_replace_bodypart +

+

Replaces a single limb and returns the old one if there was one

secondary_shock +

+

Called slightly after electrocute act to apply a secondary stun.

setOrganLoss +

+

If an organ exists in the slot requested, and we are capable of taking damage (we don't have GODMODE on), call the set damage proc on that organ, which can +set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss.

+

Arguments:

+
    +
  • slot - organ slot, like [ORGAN_SLOT_HEART]
  • +
  • amount - damage to be set to
  • +
  • required_organ_flag - targets only a specific organ type if set to ORGAN_ORGANIC or ORGAN_ROBOTIC
  • +
+

Returns: The net change in damage from set_organ_damage()

set_handcuffed +

+

Modifies the handcuffed value if a different value is passed, returning FALSE otherwise. The variable should only be changed through this proc.

set_heartattack +

+

Causes the mob to either start or stop having a heart attack.

+

status - Pass TRUE to start a heart attack, or FALSE to stop one.

+

Returns TRUE if heart status was changed (heart attack -> no heart attack, or visa versa)

share_bodytemperature +

+

Have two mobs share body heat between each other. +Account for the insulation and max temperature change range for the mob

+

vars:

+
    +
  • M The mob/living/carbon that is sharing body heat
  • +

should_electrocute +

+

Returns whether or not the carbon should be able to be shocked

spray_blood +

+

This proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment.

+

The strength of the splatter in the second argument determines how much it can dirty and how far it can go

+

Arguments:

+
    +
  • splatter_direction: Which direction the blood is flying
  • +
  • splatter_strength: How many tiles it can go, and how many items it can pass over and dirty
  • +

synchronize_bodytypes +

+

Makes sure that the owner's bodytype flags match the flags of all of it's parts and organs

take +

+

Proc called when the player clicks the give alert

+

Handles checking if the player taking the item has open slots and is in range of the offerer +Also deals with the actual transferring of the item to the players hands +Arguments:

+
    +
  • offerer - The person giving the original item
  • +
  • I - The item being given by the offerer
  • +

take_bodypart_damage +

+

Damages ONE bodypart randomly selected from damagable ones.

+

It automatically updates damage overlays if necessary

+

It automatically updates health status

toggle_close_internals +

+

Prepares to close the currently open internal air tank and notifies in chat. +Handles displaying messages to the user before doing the actual closing. +Returns TRUE if

+

Arguments:

+
    +
  • is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
  • +

toggle_externals +

+

Toggles the given external (that's EX-ternal) air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+
    +
  • tank - The given tank to toggle open and start breathing from externally.
  • +

toggle_internals +

+

Toggles the given internal air tank open, or close the currently open one, if a compatible breathing apparatus is found. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+
    +
  • tank - The given tank to toggle open and start breathing from internally.
  • +

toggle_open_internals +

+

Prepares to open the internal air tank and notifies the mob in chat. +Handles displaying messages to the user before doing the actual opening. +Returns TRUE if the tank was opened/closed successfully.

+

Arguments:

+
    +
  • tank - The given tank to toggle open and start breathing from.
  • +
  • is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
  • +

try_open_internals +

+

Opens the given internal air tank if a breathing apparatus is found. Returns TRUE if successful, FALSE otherwise. +Returns TRUE if the tank was opened successfully.

+

Arguments:

+
    +
  • tank - The given tank we will attempt to toggle open and start breathing from.
  • +
  • is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
  • +

update_body_parts +

+

Checks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner.

update_bodypart_bleed_overlays +

+

Has each bodypart update its bleed/wound overlay icon states

update_bodypart_speed_modifier +

+

Updates the bodypart speed modifier based on our bodyparts.

update_features +

+

Updates features and clothing attached to a specific limb with limb-specific offsets

update_permanently_on_fire +

+

On gain of TRAIT_PERMANENTLY_ONFIRE, update the visuals if not on fire

update_tint +

+

Calculates how visually impaired the mob is by their equipment and other factors

+

This is where clothing adds its various vision limiting effects, such as welding helmets

vomit +

+

Proc that compels the mob to throw up. Returns TRUE if the mob actually threw up.

wearing_shock_proof_gloves +

+

Returns if the carbon is wearing shock proof gloves

+ + + diff --git a/mob/living/carbon/alien.html b/mob/living/carbon/alien.html new file mode 100644 index 00000000000..eaa47a889e5 --- /dev/null +++ b/mob/living/carbon/alien.html @@ -0,0 +1,71 @@ + + + + + + + /mob/living/carbon/alien - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

alien + + + +

+ + + + + + + +

Vars

alien_speedThe speed this alien should move at.
leapingWhether or not the alien is leaping. Only used by hunters.

Procs

adjustStaminaLossaliens are immune to stamina damage.
adjustToxLossalien immune to tox damage
getToxLossalien immune to tox damage
setStaminaLossaliens are immune to stamina damage.
+

Var Details

alien_speed + + + + +

+

The speed this alien should move at.

leaping + + + + +

+

Whether or not the alien is leaping. Only used by hunters.

Proc Details

adjustStaminaLoss +

+

aliens are immune to stamina damage.

adjustToxLoss +

+

alien immune to tox damage

getToxLoss +

+

alien immune to tox damage

setStaminaLoss +

+

aliens are immune to stamina damage.

+ + + diff --git a/mob/living/carbon/alien/adult.html b/mob/living/carbon/alien/adult.html new file mode 100644 index 00000000000..427a23d4aa3 --- /dev/null +++ b/mob/living/carbon/alien/adult.html @@ -0,0 +1,46 @@ + + + + + + + /mob/living/carbon/alien/adult - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

adult + + + +

+ + + +

Procs

can_consumeReturns FALSE if we're not allowed to eat it, true otherwise
devour_ladAttempts to devour the passed in thing in devour_time seconds +The mob needs to be consumable, as decided by /mob/living/carbon/alien/adult/proc/can_consume +Returns FALSE if the attempt never even started, TRUE otherwise

Proc Details

can_consume +

+

Returns FALSE if we're not allowed to eat it, true otherwise

devour_lad +

+

Attempts to devour the passed in thing in devour_time seconds +The mob needs to be consumable, as decided by /mob/living/carbon/alien/adult/proc/can_consume +Returns FALSE if the attempt never even started, TRUE otherwise

+ + + diff --git a/mob/living/carbon/alien/adult/hunter.html b/mob/living/carbon/alien/adult/hunter.html new file mode 100644 index 00000000000..768173ac745 --- /dev/null +++ b/mob/living/carbon/alien/adult/hunter.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/carbon/alien/adult/hunter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hunter + + + +

+ + +

Vars

pounce_speedHow fast does our pounce move us?
+

Var Details

pounce_speed + + + + +

+

How fast does our pounce move us?

+ + + diff --git a/mob/living/carbon/alien/larva.html b/mob/living/carbon/alien/larva.html new file mode 100644 index 00000000000..7f7d0fd4a13 --- /dev/null +++ b/mob/living/carbon/alien/larva.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/carbon/alien/larva - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

larva + + + +

+ + +

Procs

bioscrambleDon't scramble a larva's body parts, it doesn't have any

Proc Details

bioscramble +

+

Don't scramble a larva's body parts, it doesn't have any

+ + + diff --git a/mob/living/carbon/human.html b/mob/living/carbon/human.html new file mode 100644 index 00000000000..f96d16c604e --- /dev/null +++ b/mob/living/carbon/human.html @@ -0,0 +1,495 @@ + + + + + + + /mob/living/carbon/human - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

human + + + +

+ +

Any humanoid (non-Xeno) mob, such as humans, plasmamen, lizards.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

afk_theftsWhen an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds
blood_in_handsHow many "units of blood" we have on our hands
can_ride_typecacheWhat types of mobs are allowed to ride/buckle to this mob
coretemperatureThe core temperature of the human compaired to the skin temp of the body
eye_color_heterochromaticVar used to keep track of a human mob having a heterochromatic right eye. To ensure prefs don't overwrite shit
grad_colorColours used for hair and facial hair gradients.
grad_styleStyles used for hair and facial hair gradients.
heat_exposure_stacksExposure to damaging heat levels increases stacks, stacks clean over time when temperatures are lower. Stack is consumed to add a wound.
mob_heightHeight of the mob
physiqueWhich body type to use

Procs

adjust_coretemperatureAdjust the core temperature of a mob
apply_height_filtersApplies a filter to an appearance according to mob height
apply_height_offsetsUsed in some circumstances where appearances can get cut off from the mob sprite from being too tall
breatheIf we're in a space with 0.5 content pressure protection, it averages the values, for example.
burn_clothingUsed by fire code to damage worn items.
can_equipFor if the message can be seen but not heard, shows our visible identity (like when using sign language) +Also used by hallucinations, so it doesn't give source's identity away.
check_reflectReflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance of the object
clean_faceCalled on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal
copy_clothing_prefscopies over clothing preferences like underwear to another human
do_cprPerforms CPR on the target after a delay.
electrocute_actCalculates the siemens coeff based on clothing and species, can also restart hearts.
equip_species_outfitA version of equipOutfit that overrides passed in outfits with their entry on the species' outfit override registry
fan_hud_set_fandomFAN HUDs! For identifying other fans on-sight.
force_sayMakes the player force say what's in their current input box.
format_scarsFor use formatting all of the scars this human has for saving for persistent scarring, returns a string with all current scars/missing limb amputation scars for saving or loading purposes
generate_death_examine_textReturns death message for mob examine text
get_body_temp_normalget_body_temperature Returns the body temperature with any modifications applied
get_clothing_on_partGet all the clothing on a specific body part
get_equipped_itemsUsed to return a list of equipped items on a human mob; does not include held items (use get_all_gear)
get_majority_bodypart_damage_descreturns a list of "damtype" => damage description based off of which bodypart description is most common +used in human examines
get_mob_heightGetter for mob height
get_name_partFrom compose_message(). Snowflake code converted into its own signal proc
get_visible_itemsReturns items which are currently visible on the mob
give_emote_overlayCreates a new emote bodypart overlay and applies it to the human. The overlay can be removed by simply deleting the returned overlay.
handle_bloodBLOOD SYSTEM
handle_environmentEnvironment handlers for species
hardset_dnaSets the DNA of the mob to the given DNA.
increment_scar_slotWhen we're joining the game in /mob/dead/new_player/proc/create_character, we increment our scar slot then store the slot in our mind datum.
load_persistent_scarsRead all the scars we have for the designated character/scar slots, verify they're good/dump them if they're old/wrong format, create them on the user, and write the scars that passed muster back to the file
load_scarTakes a single scar from the persistent scar loader and recreates it from the saved data
make_full_human_copyMakes a full copy of src and returns it. +Attempts to copy as much as possible to be a close to the original. +This includes job outfit (which handles skillchips), quirks, and mutations. +We do not set a mind here, so this is purely the body. +Args: +location - The turf the human will be spawned on.
on_dwarf_traitGaining or losing [TRAIT_DWARF] updates our height
on_enteredHUDs
on_unknown_traitGaining or losing TRAIT_UNKNOWN updates our name and our sechud
psykerizeProc with no side effects that turns someone into a psyker. returns FALSE if it could not psykerize.
randomize_human_appearanceFully randomizes everything according to the given flags.
save_persistent_scarsSave any scars we have to our designated slot, then write our current slot so that the next time we call /mob/living/carbon/human/proc/increment_scar_slot (the next round we join), we'll be there
sec_hud_set_IDSecurity HUDs! Basic mode shows only the job.
send_applicable_messagesAny "special" suicide messages are handled by the related item that the mob uses to kill itself. This is just messages for when it's done with the bare hands.
set_mob_heightSetter for mob height
set_service_styleGives the appearance of being an agent
setup_organless_effectsThis proc is for holding effects applied when a mob is missing certain organs +It is called very, very early in human init because all humans innately spawn with no organs and gain them during init +Gaining said organs removes these effects
singularity_actOverrides the point value that the mob is worth
slow_psykerizeflavorful variant of psykerizing that deals damage and sends messages before calling psykerize()
smart_equip_targetedtake the most recent item out of a slot or place held item in a slot
something_horribleDNA HELPER-PROCS
toggle_externalsReturns TRUE if the tank successfully toggles open/closed. Opens the tank only if a breathing apparatus is found.
washCalled when this human should be washed
wash_handsWash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured.
+

Var Details

afk_thefts + + + + +

+

When an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds

blood_in_hands + + + + +

+

How many "units of blood" we have on our hands

can_ride_typecache + + + + +

+

What types of mobs are allowed to ride/buckle to this mob

coretemperature + + + + +

+

The core temperature of the human compaired to the skin temp of the body

eye_color_heterochromatic + + + + +

+

Var used to keep track of a human mob having a heterochromatic right eye. To ensure prefs don't overwrite shit

grad_color + + + + +

+

Colours used for hair and facial hair gradients.

grad_style + + + + +

+

Styles used for hair and facial hair gradients.

heat_exposure_stacks + + + + +

+

Exposure to damaging heat levels increases stacks, stacks clean over time when temperatures are lower. Stack is consumed to add a wound.

mob_height + + + + +

+

Height of the mob

physique + + + + +

+

Which body type to use

Proc Details

adjust_coretemperature +

+

Adjust the core temperature of a mob

+

vars:

+
    +
  • amount The amount of degrees to change body temperature by
  • +
  • min_temp (optional) The minimum body temperature after adjustment
  • +
  • max_temp (optional) The maximum body temperature after adjustment
  • +

apply_height_filters +

+

Applies a filter to an appearance according to mob height

apply_height_offsets +

+

Used in some circumstances where appearances can get cut off from the mob sprite from being too tall

+

upper_torso is to specify whether the appearance is locate in the upper half of the mob rather than the lower half, +higher up things (hats for example) need to be offset more due to the location of the filter displacement

breathe +

+

If we're in a space with 0.5 content pressure protection, it averages the values, for example.

burn_clothing +

+

Used by fire code to damage worn items.

+

Arguments:

+
    +
  • seconds_per_tick
  • +
  • times_fired
  • +
  • stacks: Current amount of firestacks
  • +

can_equip +

+

For if the message can be seen but not heard, shows our visible identity (like when using sign language) +Also used by hallucinations, so it doesn't give source's identity away.

check_reflect +

+

Reflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance of the object

clean_face +

+

Called on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal

copy_clothing_prefs +

+

copies over clothing preferences like underwear to another human

do_cpr +

+

Performs CPR on the target after a delay.

electrocute_act +

+

Calculates the siemens coeff based on clothing and species, can also restart hearts.

equip_species_outfit +

+

A version of equipOutfit that overrides passed in outfits with their entry on the species' outfit override registry

fan_hud_set_fandom +

+

FAN HUDs! For identifying other fans on-sight.

force_say +

+

Makes the player force say what's in their current input box.

format_scars +

+

For use formatting all of the scars this human has for saving for persistent scarring, returns a string with all current scars/missing limb amputation scars for saving or loading purposes

generate_death_examine_text +

+

Returns death message for mob examine text

get_body_temp_normal +

+

get_body_temperature Returns the body temperature with any modifications applied

+

This applies the result from proc/get_body_temp_normal_change() against the bodytemp_normal +for the species and returns the result

+

arguments:

+
    +
  • apply_change (optional) Default True This applies the changes to body temperature normal
  • +

get_clothing_on_part +

+

Get all the clothing on a specific body part

get_equipped_items +

+

Used to return a list of equipped items on a human mob; does not include held items (use get_all_gear)

+

Argument(s):

+
    +
  • Optional - include_pockets (TRUE/FALSE), whether or not to include the pockets and suit storage in the returned list
  • +
  • Optional - include_accessories (TRUE/FALSE), whether or not to include the accessories in the returned list
  • +

get_majority_bodypart_damage_desc +

+

returns a list of "damtype" => damage description based off of which bodypart description is most common +used in human examines

get_mob_height +

+

Getter for mob height

+

Mainly so that dwarfism can adjust height without needing to override existing height

+

Returns a mob height num

get_name_part +

+

From compose_message(). Snowflake code converted into its own signal proc

get_visible_items +

+

Returns items which are currently visible on the mob

give_emote_overlay +

+

Creates a new emote bodypart overlay and applies it to the human. The overlay can be removed by simply deleting the returned overlay.

+
    +
  • Arguments:
  • +
  • overlay_typepath - Typepath to the overlay that should be applied. Should be a subtype of datum/bodypart_overlay/simple/emote.
  • +
+

Returns the given overlay, which can be deleted to stop displaying it. Will return null if no bodypart matching the overlay's attached_body_zone field can be found.

handle_blood +

+

BLOOD SYSTEM

handle_environment +

+

Environment handlers for species

hardset_dna +

+

Sets the DNA of the mob to the given DNA.

increment_scar_slot +

+

When we're joining the game in /mob/dead/new_player/proc/create_character, we increment our scar slot then store the slot in our mind datum.

load_persistent_scars +

+

Read all the scars we have for the designated character/scar slots, verify they're good/dump them if they're old/wrong format, create them on the user, and write the scars that passed muster back to the file

load_scar +

+

Takes a single scar from the persistent scar loader and recreates it from the saved data

make_full_human_copy +

+

Makes a full copy of src and returns it. +Attempts to copy as much as possible to be a close to the original. +This includes job outfit (which handles skillchips), quirks, and mutations. +We do not set a mind here, so this is purely the body. +Args: +location - The turf the human will be spawned on.

on_dwarf_trait +

+

Gaining or losing [TRAIT_DWARF] updates our height

on_entered +

+

HUDs

on_unknown_trait +

+

Gaining or losing TRAIT_UNKNOWN updates our name and our sechud

psykerize +

+

Proc with no side effects that turns someone into a psyker. returns FALSE if it could not psykerize.

randomize_human_appearance +

+

Fully randomizes everything according to the given flags.

save_persistent_scars +

+

Save any scars we have to our designated slot, then write our current slot so that the next time we call /mob/living/carbon/human/proc/increment_scar_slot (the next round we join), we'll be there

sec_hud_set_ID +

+

Security HUDs! Basic mode shows only the job.

send_applicable_messages +

+

Any "special" suicide messages are handled by the related item that the mob uses to kill itself. This is just messages for when it's done with the bare hands.

set_mob_height +

+

Setter for mob height

+

Exists so that the update is done immediately

+

Returns TRUE if changed, FALSE otherwise

set_service_style +

+

Gives the appearance of being an agent

setup_organless_effects +

+

This proc is for holding effects applied when a mob is missing certain organs +It is called very, very early in human init because all humans innately spawn with no organs and gain them during init +Gaining said organs removes these effects

singularity_act +

+

Overrides the point value that the mob is worth

slow_psykerize +

+

flavorful variant of psykerizing that deals damage and sends messages before calling psykerize()

smart_equip_targeted +

+

take the most recent item out of a slot or place held item in a slot

something_horrible +

+

DNA HELPER-PROCS

toggle_externals +

+

Returns TRUE if the tank successfully toggles open/closed. Opens the tank only if a breathing apparatus is found.

wash +

+

Called when this human should be washed

wash_hands +

+

Wash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured.

+

Returns false if we couldn't wash our hands due to them being obscured, otherwise true

+ + + diff --git a/mob/living/carbon/human/dummy.html b/mob/living/carbon/human/dummy.html new file mode 100644 index 00000000000..be3a4727be5 --- /dev/null +++ b/mob/living/carbon/human/dummy.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/carbon/human/dummy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dummy + + + +

+ + + +

Procs

harvest_organsLet's extract our dummies organs and limbs for storage, to reduce the cache missed that spamming a dummy cause
has_equippedTravel to the bottom of the contents chain, expanding it out

Proc Details

harvest_organs +

+

Let's extract our dummies organs and limbs for storage, to reduce the cache missed that spamming a dummy cause

has_equipped +

+

Travel to the bottom of the contents chain, expanding it out

+ + + diff --git a/mob/living/carbon/human/species/monkey/angry.html b/mob/living/carbon/human/species/monkey/angry.html new file mode 100644 index 00000000000..5b6d46a1c55 --- /dev/null +++ b/mob/living/carbon/human/species/monkey/angry.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/carbon/human/species/monkey/angry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

angry + + + +

+ + +

Procs

give_ape_escape_helmetGives our funny monkey an Ape Escape hat reference

Proc Details

give_ape_escape_helmet +

+

Gives our funny monkey an Ape Escape hat reference

+ + + diff --git a/mob/living/carbon/human/species/monkey/punpun.html b/mob/living/carbon/human/species/monkey/punpun.html new file mode 100644 index 00000000000..cf2cb90debf --- /dev/null +++ b/mob/living/carbon/human/species/monkey/punpun.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/carbon/human/species/monkey/punpun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

punpun + + + +

+ + + +

Vars

ancestor_chainThe number of times Pun Pun has died since he was last gibbed
ancestor_nameIf we had one of the rare names in a past life
+

Var Details

ancestor_chain + + + + +

+

The number of times Pun Pun has died since he was last gibbed

ancestor_name + + + + +

+

If we had one of the rare names in a past life

+ + + diff --git a/mob/living/silicon.html b/mob/living/silicon.html new file mode 100644 index 00000000000..659da8aa4df --- /dev/null +++ b/mob/living/silicon.html @@ -0,0 +1,123 @@ + + + + + + + /mob/living/silicon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

silicon + + + +

+ + + + + + + + + + + + + +

Vars

alarm_types_showIf this is a path, this gets created as an object in Initialize.
emaggedWhether we have been emagged
hackedcheckList keeping track of hacked laws to announce
ioncheckList keeping track of ion laws to announce
lawcheckList keeping track of which laws to announce
sensors_onAre our siliconHUDs on? TRUE for yes, FALSE for no.

Procs

assemble_lawsAssembles all the zeroth, inherent and supplied laws into a single list.
checklawsGives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew.
do_camera_updateThe actual update - also passes our unique update buffer. This makes our static update faster than stationary cameras, +helping us to avoid running out of the camera's FoV.
fully_replace_character_nameSame as the normal character name replacement, but updates the contents of the modular interface.
get_ui_accessReturns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.
logeventRecords an IC event log entry in the cyborg's internal tablet.
+

Var Details

alarm_types_show + + + + +

+

If this is a path, this gets created as an object in Initialize.

emagged + + + + +

+

Whether we have been emagged

hackedcheck + + + + +

+

List keeping track of hacked laws to announce

ioncheck + + + + +

+

List keeping track of ion laws to announce

lawcheck + + + + +

+

List keeping track of which laws to announce

sensors_on + + + + +

+

Are our siliconHUDs on? TRUE for yes, FALSE for no.

Proc Details

assemble_laws +

+

Assembles all the zeroth, inherent and supplied laws into a single list.

checklaws +

+

Gives you a link-driven interface for deciding what laws the statelaws() proc will share with the crew.

do_camera_update +

+

The actual update - also passes our unique update buffer. This makes our static update faster than stationary cameras, +helping us to avoid running out of the camera's FoV.

fully_replace_character_name +

+

Same as the normal character name replacement, but updates the contents of the modular interface.

get_ui_access +

+

Returns a UI status representing this silicon's capability to access +the given source. Called by ui_status_silicon_has_access.

logevent +

+

Records an IC event log entry in the cyborg's internal tablet.

+

Creates an entry in the borglog list of the cyborg's internal tablet (if it's a borg), listing the current +in-game time followed by the message given. These logs can be seen by the cyborg in their +BorgUI tablet app. By design, logging fails if the cyborg is dead.

+

(This used to be in robot.dm. It's in here now.)

+

Arguments: +arg1: a string containing the message to log.

+ + + diff --git a/mob/living/silicon/ai.html b/mob/living/silicon/ai.html new file mode 100644 index 00000000000..cf01bdbef6f --- /dev/null +++ b/mob/living/silicon/ai.html @@ -0,0 +1,134 @@ + + + + + + + /mob/living/silicon/ai - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai + + + +

+ + + + + + + + + + + + + + + + +

Vars

aiMultiUsed as a fake multitoool in tcomms machinery
ai_tracking_toolThe internal tool used to track players visible through cameras.
alert_controlStation alert datum for showing alerts UI
bot_refWeakref to the bot the ai's commanding right now
is_anchoredwhether AI is anchored or not, used for checks
lastlocremember AI's last location
openedwhether its cover is opened, so you can wirecut it for deconstruction
posibrain_insidewhether its mmi is a posibrain or regular mmi when going ai mob to ai core structure

Procs

apply_emote_displayApply an emote to all AI status displays on the station
apply_pref_emote_displayApply an AI's emote display preference
apply_pref_hologram_displayApply an AI's hologram preference
on_track_targetCalled when an AI finds their tracking target.
remove_malf_abilitiesRemoves all malfunction-related abilities from the AI
setAiRestorePowerRoutineProc to hook behavior to the changes of the value of [aiRestorePowerRoutine].
wrench_actemags access panel lock, so you can crowbar it without robotics access or consent
+

Var Details

aiMulti + + + + +

+

Used as a fake multitoool in tcomms machinery

ai_tracking_tool + + + + +

+

The internal tool used to track players visible through cameras.

alert_control + + + + +

+

Station alert datum for showing alerts UI

bot_ref + + + + +

+

Weakref to the bot the ai's commanding right now

is_anchored + + + + +

+

whether AI is anchored or not, used for checks

lastloc + + + + +

+

remember AI's last location

opened + + + + +

+

whether its cover is opened, so you can wirecut it for deconstruction

posibrain_inside + + + + +

+

whether its mmi is a posibrain or regular mmi when going ai mob to ai core structure

Proc Details

apply_emote_display +

+

Apply an emote to all AI status displays on the station

apply_pref_emote_display +

+

Apply an AI's emote display preference

apply_pref_hologram_display +

+

Apply an AI's hologram preference

on_track_target +

+

Called when an AI finds their tracking target.

remove_malf_abilities +

+

Removes all malfunction-related abilities from the AI

setAiRestorePowerRoutine +

+

Proc to hook behavior to the changes of the value of [aiRestorePowerRoutine].

wrench_act +

+

emags access panel lock, so you can crowbar it without robotics access or consent

+ + + diff --git a/mob/living/silicon/pai.html b/mob/living/silicon/pai.html new file mode 100644 index 00000000000..474bd1656ee --- /dev/null +++ b/mob/living/silicon/pai.html @@ -0,0 +1,543 @@ + + + + + + + /mob/living/silicon/pai - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pai + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

atmos_analyzerAtmospheric analyzer
available_softwareList of all available downloads
can_holoIf someone has enabled/disabled the pAIs ability to holo
can_receiveWhether this pAI can receive radio messages
can_transmitWhether this pAI can transmit radio messages
cardThe card we inhabit
chassisThe current chasis that will appear when in holoform
encrypt_modToggles whether the pAI can hold encryption keys or not
hacking_cableThe cable we produce when hacking a door
holochassis_healthThe current health of the holochassis
holochassis_readyHolochassis available to use
holoformWhether we are currently holoformed
host_scanHealth analyzer
installed_softwareInstalled software on the pAI
instrumentMusic Synthesizer
internal_gpsGPS
languages_grantedToggles whether universal translator has been activated. Cannot be reversed
leashThe current leash to the owner
master_dnaDNA string for owner verification
master_nameThe master's name string
master_refReference of the bound master
medHUDToggles whether the Medical HUD is active or not
newscasterNewscaster
possible_chassisList of all possible chasises. TRUE means the pAI can be picked up in this chasis.
possible_overlaysList of all available card overlays.
ramUsed as currency to purchase different abilities
secHUDToggles whether the Security HUD is active or not
signalerRemote signaler

Procs

buy_softwarePurchases the selected software from the list and deducts their +available ram.
change_imageChanges the image displayed on the pAI.
check_dnaSupporting proc for the pAI to prick it's master's hand +or... whatever. It must be held in order to work +Gives the owner a popup if they want to get the jab.
check_menuChecks if we are allowed to interact with a radial menu
choose_chassisSets a new holochassis skin based on a pAI's choice.
door_jackSwitch that handles door jack operations.
extend_cable#Extend cable supporting proc
find_masterResolves the weakref of the pai's master. +If the master has been deleted, calls reset_software().
fix_speechFixes weird speech issues with the pai.
fold_inReturns the pAI to card mode.
fold_outEngage holochassis form.
get_holderGets the current holder of the pAI if its +being carried in card or holoform.
grant_languagesGrant all languages to the current pAI.
hack_door#Door jacking supporting proc
handle_emagHandles the pai card or the pai itself being hit with an emag. +This replaces any current laws, masters, and DNA.
handle_moveA periodic check to see if the source pAI is nearby. +Deletes the extended cable if the source pAI is not nearby.
host_scanHost scan supporting proc
increment_rangeUpdates the distance we can be from our pai card
on_cult_sacrificedSignal proc for COMSIG_LIVING_CULT_SACRIFICED to give a funny message when a pai is attempted to be sac'd
on_shell_damagedCalled when we take burn or brute damage, pass it to the shell instead
on_shell_weakenedCalled when we take stamina damage, pass it to the shell instead
reset_softwareResets the pAI and any emagged status.
retract_cableHandles deleting the hacking cable and notifying the user.
set_dnaImprints your DNA onto the downloaded pAI
set_holochassisSets the holochassis skin and updates the icons
set_lawsOpens a tgui alert that allows someone to enter laws.
toggle_holoToggles the ability of the pai to enter holoform
toggle_hudProc that toggles any active huds based on the option.
toggle_integrated_lightToggles the onboard light
toggle_radioToggles the radio settings on and off.
track_paiTracks the associated pai
track_thingTracks the associated hacking_cable
untrack_paiUntracks the associated pai
untrack_thingUntracks the associated hacking
use_cameraAll inclusive camera proc. Zooms, snaps, prints.
wipe_paiWipes the current pAI on the card.
+

Var Details

atmos_analyzer + + + + +

+

Atmospheric analyzer

available_software + + + + +

+

List of all available downloads

can_holo + + + + +

+

If someone has enabled/disabled the pAIs ability to holo

can_receive + + + + +

+

Whether this pAI can receive radio messages

can_transmit + + + + +

+

Whether this pAI can transmit radio messages

card + + + + +

+

The card we inhabit

chassis + + + + +

+

The current chasis that will appear when in holoform

encrypt_mod + + + + +

+

Toggles whether the pAI can hold encryption keys or not

hacking_cable + + + + +

+

The cable we produce when hacking a door

holochassis_health + + + + +

+

The current health of the holochassis

holochassis_ready + + + + +

+

Holochassis available to use

holoform + + + + +

+

Whether we are currently holoformed

host_scan + + + + +

+

Health analyzer

installed_software + + + + +

+

Installed software on the pAI

instrument + + + + +

+

Music Synthesizer

internal_gps + + + + +

+

GPS

languages_granted + + + + +

+

Toggles whether universal translator has been activated. Cannot be reversed

leash + + + + +

+

The current leash to the owner

master_dna + + + + +

+

DNA string for owner verification

master_name + + + + +

+

The master's name string

master_ref + + + + +

+

Reference of the bound master

medHUD + + + + +

+

Toggles whether the Medical HUD is active or not

newscaster + + + + +

+

Newscaster

possible_chassis + + + + +

+

List of all possible chasises. TRUE means the pAI can be picked up in this chasis.

possible_overlays + + + + +

+

List of all available card overlays.

ram + + + + +

+

Used as currency to purchase different abilities

secHUD + + + + +

+

Toggles whether the Security HUD is active or not

signaler + + + + +

+

Remote signaler

Proc Details

buy_software +

+

Purchases the selected software from the list and deducts their +available ram.

+

@param {string} selection - The software to purchase.

+

@returns {boolean} - TRUE if the software was purchased, FALSE otherwise.

change_image +

+

Changes the image displayed on the pAI.

+

@param {mob} user - The user who is changing the image.

+

@returns {boolean} - TRUE if the image was changed, FALSE otherwise.

check_dna +

+

Supporting proc for the pAI to prick it's master's hand +or... whatever. It must be held in order to work +Gives the owner a popup if they want to get the jab.

+

@returns {boolean} - TRUE if a sample was taken, FALSE otherwise.

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

@param {atom} anchor - The atom that is anchoring the menu.

+

@returns {boolean} - TRUE if we are allowed to interact with the menu, +FALSE otherwise.

choose_chassis +

+

Sets a new holochassis skin based on a pAI's choice.

+

@returns {boolean} - True if the skin was successfully set. +FALSE otherwise.

door_jack +

+

Switch that handles door jack operations.

+

@param {string} mode - The requested operation of the door jack.

+

@returns {boolean} - TRUE if the door jack state was switched, FALSE otherwise.

extend_cable +

+

#Extend cable supporting proc

+

When doorjack is installed, allows the pAI to drop +a cable which is placed either on the floor or in +someone's hands based (on distance).

+

@returns {boolean} - TRUE if the cable was dropped, FALSE otherwise.

find_master +

+

Resolves the weakref of the pai's master. +If the master has been deleted, calls reset_software().

+

@returns {mob/living || FALSE} - The master mob, or +FALSE if the master is gone.

fix_speech +

+

Fixes weird speech issues with the pai.

+

@returns {boolean} - TRUE if successful.

fold_in +

+

Returns the pAI to card mode.

+

@param {boolean} force - If TRUE, the pAI will be forced to card mode.

+

@returns {boolean} - TRUE if the pAI was forced to card mode. +FALSE otherwise.

fold_out +

+

Engage holochassis form.

+

@param {boolean} force - Force the form to engage.

+

@returns {boolean} - TRUE if the form was successfully engaged. +FALSE otherwise.

get_holder +

+

Gets the current holder of the pAI if its +being carried in card or holoform.

+

@returns {living/carbon || FALSE} - The holder of the pAI, +or FALSE if the pAI is not being carried.

grant_languages +

+

Grant all languages to the current pAI.

+

@returns {boolean} - TRUE if the languages were granted, FALSE otherwise.

hack_door +

+

#Door jacking supporting proc

+

After a 15 second timer, the door will crack open, +provided they don't move out of the way.

+

@returns {boolean} - TRUE if the door was jacked, FALSE otherwise.

handle_emag +

+

Handles the pai card or the pai itself being hit with an emag. +This replaces any current laws, masters, and DNA.

+

@param {living/carbon} attacker - The user performing the action. +@returns {boolean} - TRUE if successful, FALSE if not.

handle_move +

+

A periodic check to see if the source pAI is nearby. +Deletes the extended cable if the source pAI is not nearby.

host_scan +

+

Host scan supporting proc

+

Allows the pAI to scan its host's health vitals +using an integrated health analyzer.

+

@returns {boolean} - TRUE if the scan was successful, FALSE otherwise.

increment_range +

+

Updates the distance we can be from our pai card

on_cult_sacrificed +

+

Signal proc for COMSIG_LIVING_CULT_SACRIFICED to give a funny message when a pai is attempted to be sac'd

on_shell_damaged +

+

Called when we take burn or brute damage, pass it to the shell instead

on_shell_weakened +

+

Called when we take stamina damage, pass it to the shell instead

reset_software +

+

Resets the pAI and any emagged status.

+

@returns {boolean} - TRUE if successful, FALSE if not.

retract_cable +

+

Handles deleting the hacking cable and notifying the user.

set_dna +

+

Imprints your DNA onto the downloaded pAI

+

@param {mob} user - The user performing the imprint. +@returns {boolean} - TRUE if successful, FALSE if not.

set_holochassis +

+

Sets the holochassis skin and updates the icons

+

@param {string} choice - The skin that will be used for the pAI holoform

+

@returns {boolean} - TRUE if the skin was successfully set. FALSE otherwise.

set_laws +

+

Opens a tgui alert that allows someone to enter laws.

+

@param {mob} user - The user performing the law change. +@returns {boolean} - TRUE if successful, FALSE if not.

toggle_holo +

+

Toggles the ability of the pai to enter holoform

+

@returns {boolean} - TRUE if successful, FALSE if not.

toggle_hud +

+

Proc that toggles any active huds based on the option.

+

@param {string} mode - The hud to toggle.

toggle_integrated_light +

+

Toggles the onboard light

+

@returns {boolean} - TRUE if the light was toggled.

toggle_radio +

+

Toggles the radio settings on and off.

+

@param {string} option - The option being toggled.

track_pai +

+

Tracks the associated pai

track_thing +

+

Tracks the associated hacking_cable

untrack_pai +

+

Untracks the associated pai

untrack_thing +

+

Untracks the associated hacking

use_camera +

+

All inclusive camera proc. Zooms, snaps, prints.

+

@param {mob} user - The pAI requesting the camera.

+

@param {string} mode - The camera option to toggle.

+

@returns {boolean} - TRUE if the camera worked.

wipe_pai +

+

Wipes the current pAI on the card.

+

@param {mob} user - The user performing the action.

+

@returns {boolean} - TRUE if successful, FALSE if not.

+ + + diff --git a/mob/living/silicon/robot.html b/mob/living/silicon/robot.html new file mode 100644 index 00000000000..f9833f5318a --- /dev/null +++ b/mob/living/silicon/robot.html @@ -0,0 +1,570 @@ + + + + + + + /mob/living/silicon/robot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

robot + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_lockdownBoolean of whether the borg was locked by its AI or nothing
alert_controlStation alert datum for showing alerts UI
can_ride_typecacheWhat types of mobs are allowed to ride/buckle to this mob
cellIf this is a path, this gets created as an object in Initialize.
disabled_modulesFor checking which modules are disabled or not.
identRandom serial number generated for each cyborg upon its initialization
interfaceButtonThe reference to the built-in tablet that borgs carry.
ion_trailIonpulse effect.
ionpulseJetpack-like effect.
ionpulse_onJetpack-like effect.
lampButtonLamp button reference
lamp_colorSet lamp color
lamp_doomSet to true if a doomsday event is locking our lamp to on and RED
lamp_enabledIf the lamp is turned on
lamp_functionalIf the lamp isn't broken.
lamp_intensityLamp brightness. Starts at 3, but can be 1 - 5.
lawupdateCyborgs will sync their laws with their AI by default
lockchargeBoolean of whether the borg is locked down or not
lockdown_timerTimer that allows the borg to self-unlock after a set amount of time
low_power_modeWhether the robot has no charge left.
modelRepresents the cyborg's model (engineering, medical, etc.)
previous_healththe last health before updating - to check net change in health
robot_suitUsed for deconstruction to remember what the borg was constructed out of.
scrambledcodesUsed to determine if a borg shows up on the robotics console. Setting to TRUE hides them.
shown_robot_modulesUsed to determine whether they have the module menu shown or not
spark_systemSo they can initialize sparks whenever/N

Procs

ExitedChecking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.
activate_moduleFinds the first available slot and attemps to put item item_module in it.
activatedChecks if the item is currently in a slot.
add_to_upgradesMoves the upgrade inside the robot and registers relevant signals.
after_rightedFor any special cases for robots after being righted.
apply_upgradeCalled when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied
borg_emag_endA async proc called from [emag_act] that gives the borg a lot of flavortext, and applies the syndicate lawset after a delay.
break_all_cyborg_slotsBreaks all of a cyborg's slots.
break_cyborg_slotBreaks the slot number, changing the icon.
cycle_modulesCycles through the list of enabled modules, deselecting the current one and selecting the next one.
deploy_initdeploy_init: Deploys AI unit into AI shell
deselect_moduleDeselects the module in the slot module_num. +Arguments
draw_powerDraw power from the robot
dump_into_mmiDumps the current occupant of the cyborg into an MMI at the passed location +Returns the borg's MMI on success
equip_module_to_slotWhat's the first free slot for the borg? +Is passed an item and a module slot. Equips the item to that borg slot.
get_active_held_itemReturns the thing in our active hand (whatever is in our active module-slot, in this case)
get_selected_moduleThe number of module slots we're checking +Returns the slot number of the selected module, or zero if no modules are selected.
is_invalid_module_numberChecks if the provided module number is a valid number.
lockdown_overrideAllows the borg to unlock themselves after a lenghty period of time.
make_shellmake_shell: Makes an AI shell out of a cyborg unit
observer_screen_updateUpdates the observers's screens with cyborg itemss. +Arguments
on_light_eaterSpecial handling for getting hit with a light eater
on_saboteurspecial handling for getting shot with a light disruptor/saboteur e.g. the fisher
on_upgrade_deletedCalled when an applied upgrade is deleted.
remove_from_upgradesCalled when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.
repair_all_cyborg_slotsRepairs all slots. Unbroken slots are unaffected.
repair_cyborg_slotRepairs the slot number, updating the icon.
revert_shellrevert_shell: Reverts AI shell back into a normal cyborg unit
select_moduleSelects the module in the slot module_num. +Arguments
set_lockchargeReports the event of the change in value of the lockcharge variable.
set_modularInterface_themeSets the tablet theme and icon
setup_default_nameUsed to setup the a basic and (somewhat) unique name for the robot.
smash_headlampHandles headlamp smashing
toggle_headlampHandles headlamp toggling, disabling, and color setting.
toggle_moduleToggles selection of the module in the slot module_num. +Arguments
uneq_activeUnequips the active held item, if there is one.
unequip_module_from_slotUnequips item item_module from slot module_num. Deletes it if delete_after = TRUE.
update_sightthe current percent health of the robot (-1 to 1)
updatenameUpdates the borg name taking the client preferences into account.
+

Var Details

ai_lockdown + + + + +

+

Boolean of whether the borg was locked by its AI or nothing

alert_control + + + + +

+

Station alert datum for showing alerts UI

can_ride_typecache + + + + +

+

What types of mobs are allowed to ride/buckle to this mob

cell + + + + +

+

If this is a path, this gets created as an object in Initialize.

disabled_modules + + + + +

+

For checking which modules are disabled or not.

ident + + + + +

+

Random serial number generated for each cyborg upon its initialization

interfaceButton + + + + +

+

The reference to the built-in tablet that borgs carry.

ion_trail + + + + +

+

Ionpulse effect.

ionpulse + + + + +

+

Jetpack-like effect.

ionpulse_on + + + + +

+

Jetpack-like effect.

lampButton + + + + +

+

Lamp button reference

lamp_color + + + + +

+

Set lamp color

lamp_doom + + + + +

+

Set to true if a doomsday event is locking our lamp to on and RED

lamp_enabled + + + + +

+

If the lamp is turned on

lamp_functional + + + + +

+

If the lamp isn't broken.

lamp_intensity + + + + +

+

Lamp brightness. Starts at 3, but can be 1 - 5.

lawupdate + + + + +

+

Cyborgs will sync their laws with their AI by default

lockcharge + + + + +

+

Boolean of whether the borg is locked down or not

lockdown_timer + + + + +

+

Timer that allows the borg to self-unlock after a set amount of time

low_power_mode + + + + +

+

Whether the robot has no charge left.

model + + + + +

+

Represents the cyborg's model (engineering, medical, etc.)

previous_health + + + + +

+

the last health before updating - to check net change in health

robot_suit + + + + +

+

Used for deconstruction to remember what the borg was constructed out of.

scrambledcodes + + + + +

+

Used to determine if a borg shows up on the robotics console. Setting to TRUE hides them.

shown_robot_modules + + + + +

+

Used to determine whether they have the module menu shown or not

spark_system + + + + +

+

So they can initialize sparks whenever/N

Proc Details

Exited +

+

Checking Exited() to detect if a hat gets up and walks off. +Drones and pAIs might do this, after all.

activate_module +

+

Finds the first available slot and attemps to put item item_module in it.

+

Arguments

+
    +
  • item_module - the item being equipped to a slot.
  • +

activated +

+

Checks if the item is currently in a slot.

+

If the item is found in a slot, this returns TRUE. Otherwise, it returns FALSE +Arguments

+
    +
  • item_module - the item being checked
  • +

add_to_upgrades +

+

Moves the upgrade inside the robot and registers relevant signals.

after_righted +

+

For any special cases for robots after being righted.

apply_upgrade +

+

Called when a mob uses an upgrade on an open borg. Checks to make sure the upgrade can be applied

borg_emag_end +

+

A async proc called from [emag_act] that gives the borg a lot of flavortext, and applies the syndicate lawset after a delay.

break_all_cyborg_slots +

+

Breaks all of a cyborg's slots.

break_cyborg_slot +

+

Breaks the slot number, changing the icon.

+

Arguments

+
    +
  • module_num - the slot number being repaired.
  • +

cycle_modules +

+

Cycles through the list of enabled modules, deselecting the current one and selecting the next one.

deploy_init +

+

deploy_init: Deploys AI unit into AI shell

+

Arguments:

+
    +
  • AI - AI unit that initiated the deployment into the AI shell
  • +

deselect_module +

+

Deselects the module in the slot module_num. +Arguments

+
    +
  • module_num - the slot number being de-selected
  • +

draw_power +

+

Draw power from the robot

dump_into_mmi +

+

Dumps the current occupant of the cyborg into an MMI at the passed location +Returns the borg's MMI on success

equip_module_to_slot +

+

What's the first free slot for the borg? +Is passed an item and a module slot. Equips the item to that borg slot.

+

Arguments

+
    +
  • item_module - the item being equipped to a slot
  • +
  • module_num - the slot number being equipped to.
  • +

get_active_held_item +

+

Returns the thing in our active hand (whatever is in our active module-slot, in this case)

get_selected_module +

+

The number of module slots we're checking +Returns the slot number of the selected module, or zero if no modules are selected.

is_invalid_module_number +

+

Checks if the provided module number is a valid number.

+

If the number is between 1 and 3 (if check_all_slots is true) or between 1 and the number of disabled +modules (if check_all_slots is false), then it returns FALSE. Otherwise, it returns TRUE. +Arguments

+
    +
  • module_num - the passed module num that is checked for validity.
  • +
  • check_all_slots - TRUE = the proc checks all slots | FALSE = the proc only checks un-disabled slots
  • +

lockdown_override +

+

Allows the borg to unlock themselves after a lenghty period of time.

make_shell +

+

make_shell: Makes an AI shell out of a cyborg unit

+

Arguments:

+
    +
  • board - B.O.R.I.S. module board used for transforming the cyborg into AI shell
  • +

observer_screen_update +

+

Updates the observers's screens with cyborg itemss. +Arguments

+
    +
  • item_module - the item being added or removed from the screen
  • +
  • add - whether or not the item is being added, or removed.
  • +

on_light_eater +

+

Special handling for getting hit with a light eater

on_saboteur +

+

special handling for getting shot with a light disruptor/saboteur e.g. the fisher

on_upgrade_deleted +

+

Called when an applied upgrade is deleted.

remove_from_upgrades +

+

Called when an upgrade is moved outside the robot. So don't call this directly, use forceMove etc.

repair_all_cyborg_slots +

+

Repairs all slots. Unbroken slots are unaffected.

repair_cyborg_slot +

+

Repairs the slot number, updating the icon.

+

Arguments

+
    +
  • module_num - the module number being repaired.
  • +

revert_shell +

+

revert_shell: Reverts AI shell back into a normal cyborg unit

select_module +

+

Selects the module in the slot module_num. +Arguments

+
    +
  • module_num - the slot number being selected
  • +

set_lockcharge +

+

Reports the event of the change in value of the lockcharge variable.

set_modularInterface_theme +

+

Sets the tablet theme and icon

+

These variables are based on if the borg is a syndicate type or is emagged. This gets used in model change code +and also borg emag code.

setup_default_name +

+

Used to setup the a basic and (somewhat) unique name for the robot.

smash_headlamp +

+

Handles headlamp smashing

+

When called (such as by the shadowperson lighteater's attack), this proc will break the borg's headlamp +and then call toggle_headlamp to disable the light. It also plays a sound effect of glass breaking, and +tells the borg what happened to its chat. Broken lights can be repaired by using a flashlight on the borg.

toggle_headlamp +

+

Handles headlamp toggling, disabling, and color setting.

+

The initial if statment is a bit long, but the gist of it is that should the lamp be on AND the update_color +arg be true, we should simply change the color of the lamp but not disable it. Otherwise, should the turn_off +arg be true, the lamp already be enabled, any of the normal reasons the lamp would turn off happen, or the +update_color arg be passed with the lamp not on, we should set the lamp off. The update_color arg is only +ever true when this proc is called from the borg tablet, when the color selection feature is used.

+

Arguments:

+
    +
  • arg1 - turn_off, if enabled will force the lamp into an off state (rather than toggling it if possible)
  • +
  • arg2 - update_color, if enabled, will adjust the behavior of the proc to change the color of the light if it is already on.
  • +

toggle_module +

+

Toggles selection of the module in the slot module_num. +Arguments

+
    +
  • module_num - the slot number being toggled
  • +

uneq_active +

+

Unequips the active held item, if there is one.

unequip_module_from_slot +

+

Unequips item item_module from slot module_num. Deletes it if delete_after = TRUE.

+

Arguments

+
    +
  • item_module - the item being unequipped
  • +
  • module_num - the slot number being unequipped.
  • +

update_sight +

+

the current percent health of the robot (-1 to 1)

updatename +

+

Updates the borg name taking the client preferences into account.

+ + + diff --git a/mob/living/simple_animal.html b/mob/living/simple_animal.html new file mode 100644 index 00000000000..f55db629b95 --- /dev/null +++ b/mob/living/simple_animal.html @@ -0,0 +1,491 @@ + + + + + + + /mob/living/simple_animal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

simple_animal + + + +

+ +

Simple, mostly AI-controlled critters, such as pets, bots, and drones.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

AIStatusThe Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).
access_cardSimple_animal access. +Innate access uses an internal ID card.
animal_speciesSorry, no spider+corgi buttbabies.
armour_penetrationHow much armour they ignore, as a flat reduction from the targets armour value.
atmos_requirementsAtmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage +Leaving something at 0 means it's off - has no maximum.
attack_soundSound played when the critter attacks.
attack_verb_continuousAttacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attack_vis_effectOverride for the visual attack effect shown on 'do_attack_animation()'.
attacked_soundPlayed when someone punches the creature.
bare_wound_bonusHow much bare wounding power it has
can_have_aionce we have become sentient, we can never go back.
childtypeHot simple_animal baby making vars.
damage_coeff1 for full damage , 0 for none , -1 for 1:1 heal from that source.
del_on_deathCauses mob to be deleted on death, useful for mobs that spawn lootable corpses.
emote_cooldownLimits how often mobs can hunt other mobs
emote_hearHearable emotes
emote_seeUnlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps
environment_smashSet to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.
flip_on_deathFlip the sprite upside down on death. Mostly here for things lacking custom dead sprites.
footstep_typeWhat kind of footstep this mob should have. Null if it shouldn't have any.
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.
icon_deadIcon when the animal is dead. Don't use animated icons for this.
icon_gibWe only try to show a gibbing animation if this exists.
inept_hunterIs this animal horrible at hunting?
lootList of things spawned at mob's loc when it dies.
max_staminalossMaximum amount of stamina damage the mob can be inflicted with total
maxbodytempMaximal body temperature without receiving damage
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
minbodytempMinimal body temperature without receiving damage
my_zI don't want to confuse this with client registered_z.
obj_damagehow much damage this simple animal does to objects, if any.
prevent_goto_movementMakes Goto() return FALSE and not start a move loop
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. +Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions.
sharpnessIf the attacks from this are sharp
shouldwakeupconvenience var for forcibly waking up an idling AI on next check.
simple_mob_flagsGeneric flags
speak_emoteEmotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.
speedLETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.
stamina_recoveryHow much stamina the mob recovers per second
stop_automated_movementUse this to temporarely stop random movement or to if you write special movement code for animals.
stop_automated_movement_when_pulledWhen set to 1 this stops the animal from moving when someone is pulling it.
temperature_normalization_speedHow fast the mob's temperature normalizes. The greater the value, the slower their temperature normalizes. Should always be greater than 0.
turns_per_moveticks up every time handle_automated_movement() is called, which is every 2 seconds at the time of documenting. 1 turns per move is 1 movement every 2 seconds.
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above.
unsuitable_cold_damageThis damage is taken when the body temp is too cold.
unsuitable_heat_damageThis damage is taken when the body temp is too hot.
wanderDoes the mob wander around when idle?
weather_immunitiesList of weather immunity traits that are then added on Initialize(), see traits.dm.
wound_bonusHow much wounding power it has

Procs

add_cell_sampleThis proc is used for adding the swabbale element to mobs so that they are able to be biopsied and making sure holograpic and butter-based creatures don't yield viable cells samples.
adjustHealthAdjusts the health of a simple mob by a set amount and wakes AI if its idle to react
ex_act_devastateCalled when a devastating explosive acts on this mob
ex_act_heavyCalled when a heavy explosive acts on this mob
ex_act_lightCalled when a light explosive acts on this mob
update_staminaUpdates the simple mob's stamina loss.
+

Var Details

AIStatus + + + + +

+

The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever), AI_Z_OFF (Temporarily off due to nonpresence of players).

access_card + + + + +

+

Simple_animal access. +Innate access uses an internal ID card.

animal_species + + + + +

+

Sorry, no spider+corgi buttbabies.

armour_penetration + + + + +

+

How much armour they ignore, as a flat reduction from the targets armour value.

atmos_requirements + + + + +

+

Atmos effect - Yes, you can make creatures that require plasma or co2 to survive. N2O is a trace gas and handled separately, hence why it isn't here. It'd be hard to add it. Hard and me don't mix (Yes, yes make all the dick jokes you want with that.) - Errorage +Leaving something at 0 means it's off - has no maximum.

attack_sound + + + + +

+

Sound played when the critter attacks.

attack_verb_continuous + + + + +

+

Attacking verb in present continuous tense.

attack_verb_simple + + + + +

+

Attacking verb in present simple tense.

attack_vis_effect + + + + +

+

Override for the visual attack effect shown on 'do_attack_animation()'.

attacked_sound + + + + +

+

Played when someone punches the creature.

bare_wound_bonus + + + + +

+

How much bare wounding power it has

can_have_ai + + + + +

+

once we have become sentient, we can never go back.

childtype + + + + +

+

Hot simple_animal baby making vars.

damage_coeff + + + + +

+

1 for full damage , 0 for none , -1 for 1:1 heal from that source.

del_on_death + + + + +

+

Causes mob to be deleted on death, useful for mobs that spawn lootable corpses.

emote_cooldown + + + + +

+

Limits how often mobs can hunt other mobs

emote_hear + + + + +

+

Hearable emotes

emote_see + + + + +

+

Unlike speak_emote, the list of things in this variable only show by themselves with no spoken text. IE: Ian barks, Ian yaps

environment_smash + + + + +

+

Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls.

flip_on_death + + + + +

+

Flip the sprite upside down on death. Mostly here for things lacking custom dead sprites.

footstep_type + + + + +

+

What kind of footstep this mob should have. Null if it shouldn't have any.

friendly_verb_continuous + + + + +

+

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple + + + + +

+

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable + + + + +

+

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood.

icon_dead + + + + +

+

Icon when the animal is dead. Don't use animated icons for this.

icon_gib + + + + +

+

We only try to show a gibbing animation if this exists.

inept_hunter + + + + +

+

Is this animal horrible at hunting?

loot + + + + +

+

List of things spawned at mob's loc when it dies.

max_staminaloss + + + + +

+

Maximum amount of stamina damage the mob can be inflicted with total

maxbodytemp + + + + +

+

Maximal body temperature without receiving damage

melee_damage_type + + + + +

+

Damage type of a simple mob's melee attack, should it do damage.

minbodytemp + + + + +

+

Minimal body temperature without receiving damage

my_z + + + + +

+

I don't want to confuse this with client registered_z.

obj_damage + + + + +

+

how much damage this simple animal does to objects, if any.

prevent_goto_movement + + + + +

+

Makes Goto() return FALSE and not start a move loop

response_disarm_continuous + + + + +

+

Disarm-intent verb in present continuous tense.

response_disarm_simple + + + + +

+

Disarm-intent verb in present simple tense.

response_harm_continuous + + + + +

+

Harm-intent verb in present continuous tense.

response_harm_simple + + + + +

+

Harm-intent verb in present simple tense.

response_help_continuous + + + + +

+

When someone interacts with the simple animal. +Help-intent verb in present continuous tense.

response_help_simple + + + + +

+

Help-intent verb in present simple tense.

sentience_type + + + + +

+

Sentience type, for slime potions.

sharpness + + + + +

+

If the attacks from this are sharp

shouldwakeup + + + + +

+

convenience var for forcibly waking up an idling AI on next check.

simple_mob_flags + + + + +

+

Generic flags

speak_emote + + + + +

+

Emotes while speaking IE: Ian [emote], [text] -- Ian barks, "WOOF!". Spoken text is generated from the speak variable.

speed + + + + +

+

LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster.

stamina_recovery + + + + +

+

How much stamina the mob recovers per second

stop_automated_movement + + + + +

+

Use this to temporarely stop random movement or to if you write special movement code for animals.

stop_automated_movement_when_pulled + + + + +

+

When set to 1 this stops the animal from moving when someone is pulling it.

temperature_normalization_speed + + + + +

+

How fast the mob's temperature normalizes. The greater the value, the slower their temperature normalizes. Should always be greater than 0.

turns_per_move + + + + +

+

ticks up every time handle_automated_movement() is called, which is every 2 seconds at the time of documenting. 1 turns per move is 1 movement every 2 seconds.

unsuitable_atmos_damage + + + + +

+

This damage is taken when atmos doesn't fit all the requirements above.

unsuitable_cold_damage + + + + +

+

This damage is taken when the body temp is too cold.

unsuitable_heat_damage + + + + +

+

This damage is taken when the body temp is too hot.

wander + + + + +

+

Does the mob wander around when idle?

weather_immunities + + + + +

+

List of weather immunity traits that are then added on Initialize(), see traits.dm.

wound_bonus + + + + +

+

How much wounding power it has

Proc Details

add_cell_sample +

+

This proc is used for adding the swabbale element to mobs so that they are able to be biopsied and making sure holograpic and butter-based creatures don't yield viable cells samples.

adjustHealth +

+

Adjusts the health of a simple mob by a set amount and wakes AI if its idle to react

+

Arguments:

+
    +
  • amount The amount that will be used to adjust the mob's health
  • +
  • updating_health If the mob's health should be immediately updated to the new value
  • +
  • forced If we should force update the adjustment of the mob's health no matter the restrictions, like GODMODE
  • +

ex_act_devastate +

+

Called when a devastating explosive acts on this mob

ex_act_heavy +

+

Called when a heavy explosive acts on this mob

ex_act_light +

+

Called when a light explosive acts on this mob

update_stamina +

+

Updates the simple mob's stamina loss.

+

Updates the speed and staminaloss of a given simplemob. +Reduces the stamina loss by stamina_recovery

+ + + diff --git a/mob/living/simple_animal/bot.html b/mob/living/simple_animal/bot.html new file mode 100644 index 00000000000..3214cf1b23b --- /dev/null +++ b/mob/living/simple_animal/bot.html @@ -0,0 +1,384 @@ + + + + + + + /mob/living/simple_animal/bot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bot + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ai_waypointThe end point of a bot's path, or the target location.
automated_announcementsList of strings to sound effects corresponding to automated messages the bot can play
base_speedThe speed at which the bot moves, or the number of times it moves per process() tick.
bot_cover_flagsBot-related cover flags on the Bot to deal with what has been done to their cover, including emagging. BOT_COVER_OPEN | BOT_COVER_LOCKED | BOT_COVER_EMAGGED | BOT_COVER_HACKED
bot_mode_flagsBot-related mode flags on the Bot indicating how they will act. BOT_MODE_ON | BOT_MODE_AUTOPATROL | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_ROUNDSTART_POSSESSION
bot_typeThe type of bot it is, for radio control.
calling_aiLinks a bot to the AI calling it.
can_be_possessedIf true we will allow ghosts to control this mob
commissionedWill other (noncommissioned) bots salute this bot?
data_hud_typeThe type of data HUD the bot uses. Diagnostic by default.
destinationDestination description tag
frustrationUsed by some bots for tracking failures to reach their target.
hackablesSmall name of what the bot gets messed with when getting hacked/emagged.
ignore_listList of unreachable targets for an ignore-list enabled bot to ignore.
internal_radioThe bot's radio, for speaking to people.
maints_access_requiredAccess required to access this Bot's maintenance protocols
modeStandardizes the vars that indicate the bot is busy with its function.
nearest_beaconthe nearest beacon's tag
nearest_beacon_locThe nearest beacon's location
new_destinationPending new destination (waiting for beacon response)
next_destinationThe next destination in the patrol route
next_salute_checkCooldown between salutations for commissioned bots
offer_ghosts_cooldownIf true we will offer this
pa_systemAction we use to say voice lines out loud, also we just pass anything we try to say through here just in case it plays a voice line
paicardThe inserted (if any) pAI in this bot.
pathList of turfs through which a bot 'steps' to reach the waypoint, associated with the path image, if there is one.
pathsetThe bot is on a custom set path.
patrol_targetTurf a bot is summoned to navitage towards.
player_accessAdditonal access given to player-controlled bots.
possessed_messageMessage to display upon possession
prev_accessAll initial access this bot started with.
radio_channelThe bot's default radio channel
radio_keywhich channels can the bot listen to
robot_armThe Robot arm attached to this robot - has a 50% chance to drop on death.
summon_targetTurf of a user summoning a bot towards their location.
triesNumber of times the bot tried and failed to move.

Procs

bot_stepPerforms a step_towards and increments the path if successful. Returns TRUE if the bot moved and FALSE otherwise.
check_possessionReturns true if this mob can be controlled
disable_possessionDisables this bot from being possessed by ghosts
ejectpaiEjects a pAI from this bot
ejectpairemoteEjects the pAI remotely.
enable_possessionAllows this bot to be controlled by a ghost, who will become its mind
get_emagged_messageReturns a string of flavor text for emagged bots as defined by policy.
get_mode_uiReturns a status string about the bot's current status, if it's moving, manually controlled, or idle.
insertpaiPlaces a pAI in control of this mob
post_possessionFired after something takes control of this mob
renameAllows renaming the bot to something else
scanAttempt to scan tiles near [src], first by checking adjacent, then if a target is still not found, nearby.
speakPass a message to have the bot say() it, passing through our announcement action to potentially also play a sound. +Optionally pass a frequency to say it on the radio.
topic_deniedAccess check proc for bot topics! Remember to place in a bot's individual Topic if desired.
+

Var Details

ai_waypoint + + + + +

+

The end point of a bot's path, or the target location.

automated_announcements + + + + +

+

List of strings to sound effects corresponding to automated messages the bot can play

base_speed + + + + +

+

The speed at which the bot moves, or the number of times it moves per process() tick.

bot_cover_flags + + + + +

+

Bot-related cover flags on the Bot to deal with what has been done to their cover, including emagging. BOT_COVER_OPEN | BOT_COVER_LOCKED | BOT_COVER_EMAGGED | BOT_COVER_HACKED

bot_mode_flags + + + + +

+

Bot-related mode flags on the Bot indicating how they will act. BOT_MODE_ON | BOT_MODE_AUTOPATROL | BOT_MODE_REMOTE_ENABLED | BOT_MODE_CAN_BE_SAPIENT | BOT_MODE_ROUNDSTART_POSSESSION

bot_type + + + + +

+

The type of bot it is, for radio control.

calling_ai + + + + +

+

Links a bot to the AI calling it.

can_be_possessed + + + + +

+

If true we will allow ghosts to control this mob

commissioned + + + + +

+

Will other (noncommissioned) bots salute this bot?

data_hud_type + + + + +

+

The type of data HUD the bot uses. Diagnostic by default.

destination + + + + +

+

Destination description tag

frustration + + + + +

+

Used by some bots for tracking failures to reach their target.

hackables + + + + +

+

Small name of what the bot gets messed with when getting hacked/emagged.

ignore_list + + + + +

+

List of unreachable targets for an ignore-list enabled bot to ignore.

internal_radio + + + + +

+

The bot's radio, for speaking to people.

maints_access_required + + + + +

+

Access required to access this Bot's maintenance protocols

mode + + + + +

+

Standardizes the vars that indicate the bot is busy with its function.

nearest_beacon + + + + +

+

the nearest beacon's tag

nearest_beacon_loc + + + + +

+

The nearest beacon's location

new_destination + + + + +

+

Pending new destination (waiting for beacon response)

next_destination + + + + +

+

The next destination in the patrol route

next_salute_check + + + + +

+

Cooldown between salutations for commissioned bots

offer_ghosts_cooldown + + + + +

+

If true we will offer this

pa_system + + + + +

+

Action we use to say voice lines out loud, also we just pass anything we try to say through here just in case it plays a voice line

paicard + + + + +

+

The inserted (if any) pAI in this bot.

path + + + + +

+

List of turfs through which a bot 'steps' to reach the waypoint, associated with the path image, if there is one.

pathset + + + + +

+

The bot is on a custom set path.

patrol_target + + + + +

+

Turf a bot is summoned to navitage towards.

player_access + + + + +

+

Additonal access given to player-controlled bots.

possessed_message + + + + +

+

Message to display upon possession

prev_access + + + + +

+

All initial access this bot started with.

radio_channel + + + + +

+

The bot's default radio channel

radio_key + + + + +

+

which channels can the bot listen to

robot_arm + + + + +

+

The Robot arm attached to this robot - has a 50% chance to drop on death.

summon_target + + + + +

+

Turf of a user summoning a bot towards their location.

tries + + + + +

+

Number of times the bot tried and failed to move.

Proc Details

bot_step +

+

Performs a step_towards and increments the path if successful. Returns TRUE if the bot moved and FALSE otherwise.

check_possession +

+

Returns true if this mob can be controlled

disable_possession +

+

Disables this bot from being possessed by ghosts

ejectpai +

+

Ejects a pAI from this bot

ejectpairemote +

+

Ejects the pAI remotely.

enable_possession +

+

Allows this bot to be controlled by a ghost, who will become its mind

get_emagged_message +

+

Returns a string of flavor text for emagged bots as defined by policy.

get_mode_ui +

+

Returns a status string about the bot's current status, if it's moving, manually controlled, or idle.

insertpai +

+

Places a pAI in control of this mob

post_possession +

+

Fired after something takes control of this mob

rename +

+

Allows renaming the bot to something else

scan +

+

Attempt to scan tiles near [src], first by checking adjacent, then if a target is still not found, nearby.

+

scan_types - list (of typepaths) that nearby tiles are being scanned for. +old_target - what has already been scanned, and will early return at checkscan. +scan_range - how far away from [src] will be scanned, if nothing is found directly adjacent.

speak +

+

Pass a message to have the bot say() it, passing through our announcement action to potentially also play a sound. +Optionally pass a frequency to say it on the radio.

topic_denied +

+

Access check proc for bot topics! Remember to place in a bot's individual Topic if desired.

+ + + diff --git a/mob/living/simple_animal/bot/floorbot.html b/mob/living/simple_animal/bot/floorbot.html new file mode 100644 index 00000000000..fbafdd5009d --- /dev/null +++ b/mob/living/simple_animal/bot/floorbot.html @@ -0,0 +1,42 @@ + + + + + + + /mob/living/simple_animal/bot/floorbot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

floorbot + + + +

+ + + +

Procs

check_bot_workingChecks a given turf to see if another floorbot is there, working as well.
toggle_magnetmobs should use move_resist instead of anchored.

Proc Details

check_bot_working +

+

Checks a given turf to see if another floorbot is there, working as well.

toggle_magnet +

+

mobs should use move_resist instead of anchored.

+ + + diff --git a/mob/living/simple_animal/bot/hygienebot.html b/mob/living/simple_animal/bot/hygienebot.html new file mode 100644 index 00000000000..9e1bfcf9c9c --- /dev/null +++ b/mob/living/simple_animal/bot/hygienebot.html @@ -0,0 +1,85 @@ + + + + + + + /mob/living/simple_animal/bot/hygienebot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hygienebot + + + +

+ + + + + + + + + +

Vars

currentspeedThe mob's current speed, which varies based on how long the bot chases it's target.
fire_overlayVisual overlay of the bot commiting warcrimes.
last_foundThe last time that the previous/current target was found.
madHave the target evaded the bot for long enough that it will swear at it like kirk did to kahn?
oldtarget_nameName of the previous target the bot was pursuing.
targetThe human target the bot is trying to wash.
washingIs the bot currently washing it's target/everything else that crosses it?
water_overlayVisual overlay of the bot spraying water.
+

Var Details

currentspeed + + + + +

+

The mob's current speed, which varies based on how long the bot chases it's target.

fire_overlay + + + + +

+

Visual overlay of the bot commiting warcrimes.

last_found + + + + +

+

The last time that the previous/current target was found.

mad + + + + +

+

Have the target evaded the bot for long enough that it will swear at it like kirk did to kahn?

oldtarget_name + + + + +

+

Name of the previous target the bot was pursuing.

target + + + + +

+

The human target the bot is trying to wash.

washing + + + + +

+

Is the bot currently washing it's target/everything else that crosses it?

water_overlay + + + + +

+

Visual overlay of the bot spraying water.

+ + + diff --git a/mob/living/simple_animal/bot/mulebot.html b/mob/living/simple_animal/bot/mulebot.html new file mode 100644 index 00000000000..6e6c4256b72 --- /dev/null +++ b/mob/living/simple_animal/bot/mulebot.html @@ -0,0 +1,157 @@ + + + + + + + /mob/living/simple_animal/bot/mulebot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mulebot + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

auto_pickuptrue if auto return to home beacon after unload
blockcounttrue if already reached the target +Number of times retried a blocked path
celltrue if bot will announce an arrival to a location.
cell_move_power_usageInternal Powercell
home_destinationthis the direction to unload onto/load from
idunique identifier in case there are multiple mulebots.
loadicon_state to use in update_icon_state
loaddirthis is turf to navigate to (location of beacon)
num_stepsHow much power we use when we move.
passengerwhat we're transporting
reached_targettag of home delivery beacon
report_deliverytrue if auto-pickup at beacon
targetwho's riding us

Procs

InitializeThe amount of steps we should take until we rest for a time.
check_pre_stepChecks whether the bot can complete a step_towards, checking whether the bot is on and has the charge to do the move. Returns COMPONENT_MOB_BOT_CANCELSTEP if the bot should not step.
get_load_nameresolves the name to display for the loaded mob. primarily needed for the paranormal subtype since we don't want to show the name of ghosts riding it.
has_powerreturns true if the bot is fully powered.
on_bot_stepUses power from the cell when the bot steps.
+

Var Details

auto_pickup + + + + +

+

true if auto return to home beacon after unload

blockcount + + + + +

+

true if already reached the target +Number of times retried a blocked path

cell + + + + +

+

true if bot will announce an arrival to a location.

cell_move_power_usage + + + + +

+

Internal Powercell

home_destination + + + + +

+

this the direction to unload onto/load from

id + + + + +

+

unique identifier in case there are multiple mulebots.

load + + + + +

+

icon_state to use in update_icon_state

loaddir + + + + +

+

this is turf to navigate to (location of beacon)

num_steps + + + + +

+

How much power we use when we move.

passenger + + + + +

+

what we're transporting

reached_target + + + + +

+

tag of home delivery beacon

report_delivery + + + + +

+

true if auto-pickup at beacon

target + + + + +

+

who's riding us

Proc Details

Initialize +

+

The amount of steps we should take until we rest for a time.

check_pre_step +

+

Checks whether the bot can complete a step_towards, checking whether the bot is on and has the charge to do the move. Returns COMPONENT_MOB_BOT_CANCELSTEP if the bot should not step.

get_load_name +

+

resolves the name to display for the loaded mob. primarily needed for the paranormal subtype since we don't want to show the name of ghosts riding it.

has_power +

+

returns true if the bot is fully powered.

on_bot_step +

+

Uses power from the cell when the bot steps.

+ + + diff --git a/mob/living/simple_animal/bot/secbot.html b/mob/living/simple_animal/bot/secbot.html new file mode 100644 index 00000000000..9d232f1626b --- /dev/null +++ b/mob/living/simple_animal/bot/secbot.html @@ -0,0 +1,141 @@ + + + + + + + /mob/living/simple_animal/bot/secbot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

secbot + + + +

+ + + + + + + + + + + + + + + + + +

Vars

baton_typeThe type of baton this Secbot will use
cuff_typeThe type of cuffs we use on criminals after making arrests
fair_market_price_arrestOn arrest, charges the violator this much. If they don't have that much in their account, they will get beaten instead
fair_market_price_detainCharged each time the violator is stunned on detain
last_foundTime since last seeing their perpetrator
oldtarget_nameName of their last target to prevent spamming
payment_departmentThe department the secbot will deposit collected money into
security_mode_flagsFlags SecBOTs use on what to check on targets when arresting, and whether they should announce it to security/handcuff their target
targetTheir current target
target_lastlocThe last location their target was seen at
threatlevelThe threat level of the BOT, will arrest anyone at threatlevel 4 or above
weaponThe weapon (from baton_type) that will be used to make arrests.
weapon_forceForce of the harmbaton used on them

Procs

check_nap_violationsReturns false if the current target is unable to pay the fair_market_price for being arrested/detained
nap_violationDoes nothing
threat_reactReact to detecting criminal scum by making some kind of noise
+

Var Details

baton_type + + + + +

+

The type of baton this Secbot will use

cuff_type + + + + +

+

The type of cuffs we use on criminals after making arrests

fair_market_price_arrest + + + + +

+

On arrest, charges the violator this much. If they don't have that much in their account, they will get beaten instead

fair_market_price_detain + + + + +

+

Charged each time the violator is stunned on detain

last_found + + + + +

+

Time since last seeing their perpetrator

oldtarget_name + + + + +

+

Name of their last target to prevent spamming

payment_department + + + + +

+

The department the secbot will deposit collected money into

security_mode_flags + + + + +

+

Flags SecBOTs use on what to check on targets when arresting, and whether they should announce it to security/handcuff their target

target + + + + +

+

Their current target

target_lastloc + + + + +

+

The last location their target was seen at

threatlevel + + + + +

+

The threat level of the BOT, will arrest anyone at threatlevel 4 or above

weapon + + + + +

+

The weapon (from baton_type) that will be used to make arrests.

weapon_force + + + + +

+

Force of the harmbaton used on them

Proc Details

check_nap_violations +

+

Returns false if the current target is unable to pay the fair_market_price for being arrested/detained

nap_violation +

+

Does nothing

threat_react +

+

React to detecting criminal scum by making some kind of noise

+ + + diff --git a/mob/living/simple_animal/bot/secbot/honkbot.html b/mob/living/simple_animal/bot/secbot/honkbot.html new file mode 100644 index 00000000000..e957af7b2c8 --- /dev/null +++ b/mob/living/simple_animal/bot/secbot/honkbot.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/simple_animal/bot/secbot/honkbot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

honkbot + + + +

+ + + + + +

Vars

cooldowntimeCooldown between honks
cooldowntimehornCooldown between ear-breaking horn sounds
honksoundSound played when HONKing someone
limiting_spamKeeping track of how much we honk to prevent spamming it
+

Var Details

cooldowntime + + + + +

+

Cooldown between honks

cooldowntimehorn + + + + +

+

Cooldown between ear-breaking horn sounds

honksound + + + + +

+

Sound played when HONKing someone

limiting_spam + + + + +

+

Keeping track of how much we honk to prevent spamming it

+ + + diff --git a/mob/living/simple_animal/bot/vibebot.html b/mob/living/simple_animal/bot/vibebot.html new file mode 100644 index 00000000000..4d9ce6eb906 --- /dev/null +++ b/mob/living/simple_animal/bot/vibebot.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/bot/vibebot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vibebot + + + +

+ + +

Vars

vibe_abilityThe vibe ability given to vibebots, so sentient ones can still change their color.
+

Var Details

vibe_ability + + + + +

+

The vibe ability given to vibebots, so sentient ones can still change their color.

+ + + diff --git a/mob/living/simple_animal/hostile.html b/mob/living/simple_animal/hostile.html new file mode 100644 index 00000000000..12e9805e370 --- /dev/null +++ b/mob/living/simple_animal/hostile.html @@ -0,0 +1,323 @@ + + + + + + + /mob/living/simple_animal/hostile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hostile + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aggro_vision_rangeIf a mob is aggro, we search in this radius. Defaults to 9 to keep in line with original simple mob aggro radius
approaching_targetWe should dodge now
attack_all_objectsif true, equivalent to having a wanted_objects list containing ALL objects.
attack_sameSet us to TRUE to allow us to attack our own faction
casingtypeset ONLY it and NULLIFY projectiletype, if we have projectile IN CASING
check_friendly_fireShould the ranged mob check for friendlies when shooting
dodge_probProbability that we dodge
dodgingAre we dodging?
emote_tauntList of emotes this mob can do when it taunts
friendsList of mobs this mob is friendly towards
in_meleeWe should sidestep now
lose_patience_timeout30 seconds by default, so there's no major changes to AI behaviour, beyond actually bailing if stuck forever
lose_patience_timer_idid for a timer to call LoseTarget(), used to stop mobs fixating on a target they can't reach
melee_queue_distanceIf target is close enough start preparing to hit them if we have rapid_melee enabled
minimum_distanceMinimum approach distance, so ranged mobs chase targets down, but still keep their distance set in tiles to the target, set higher to make mobs keep distance
move_to_delaydelay for the automated movement.
projectilesoundSound our projectile makes when fired
projectiletypeset ONLY it and NULLIFY casingtype var, if we have ONLY projectile
rangedDoes this mob use ranged attacks?
ranged_cooldownWhat the current cooldown on ranged attacks is, generally world.time + ranged_cooldown_time
ranged_cooldown_timeHow long, in deciseconds, the cooldown of ranged attacks is
ranged_ignores_visionif it'll fire ranged attacks even if it lacks vision on its target, only works with environment smash
ranged_messageFluff text for ranged mobs
rapidHow many shots per volley.
rapid_fire_delayTime between rapid fire shots
rapid_meleeNumber of melee attacks between each npc pool tick. Spread evenly.
retreat_distanceIf our mob runs from players when they're too close, set in tile distance. By default, mobs do not retreat.
robust_searchingBy default, mobs have a simple searching method, set this to TRUE for the more scrutinous searching (stat_attack, stat_exclusive, etc), should be disabled on most mobs
search_objectsIf we want to consider objects when searching around, set this to 1. If you want to search for objects while also ignoring mobs until hurt, set it to 2. To completely ignore mobs, even when attacked, set it to 3
search_objects_regain_timeThe delay between being attacked and gaining our old search_objects value back
search_objects_timer_idTimer for regaining our old search_objects value after being attacked
sidestep_per_cycleHow many sidesteps per npcpool cycle when in melee
stat_attackMobs ignore mob/living targets with a stat lower than that of stat_attack. If set to DEAD, then they'll include corpses in their targets, if to HARD_CRIT they'll keep attacking until they kill, and so on.
stat_exclusiveMobs with this set to TRUE will exclusively attack things defined by stat_attack, stat_attack DEAD means they will only attack corpses
targetThe current target of our attacks, use GiveTarget and LoseTarget to set this var
targets_fromall range/attack/etc. calculations should be done from the atom this weakrefs, useful for Vehicles and such.
taunt_chanceProbability that the mob will taunt
vision_rangeHow big of an area to search for targets in, a vision of 9 attempts to find targets as soon as they walk into screen view
wanted_objectsA typecache of objects types that will be checked against to attack, should we have search_objects enabled

Procs

AICanContinueAI Status
ListTargetsHOSTILE MOB TARGETING AND AGGRESSION
deathEND HOSTILE MOB TARGETING AND AGGRESSION
+

Var Details

aggro_vision_range + + + + +

+

If a mob is aggro, we search in this radius. Defaults to 9 to keep in line with original simple mob aggro radius

approaching_target + + + + +

+

We should dodge now

attack_all_objects + + + + +

+

if true, equivalent to having a wanted_objects list containing ALL objects.

attack_same + + + + +

+

Set us to TRUE to allow us to attack our own faction

casingtype + + + + +

+

set ONLY it and NULLIFY projectiletype, if we have projectile IN CASING

check_friendly_fire + + + + +

+

Should the ranged mob check for friendlies when shooting

dodge_prob + + + + +

+

Probability that we dodge

dodging + + + + +

+

Are we dodging?

emote_taunt + + + + +

+

List of emotes this mob can do when it taunts

friends + + + + +

+

List of mobs this mob is friendly towards

in_melee + + + + +

+

We should sidestep now

lose_patience_timeout + + + + +

+

30 seconds by default, so there's no major changes to AI behaviour, beyond actually bailing if stuck forever

lose_patience_timer_id + + + + +

+

id for a timer to call LoseTarget(), used to stop mobs fixating on a target they can't reach

melee_queue_distance + + + + +

+

If target is close enough start preparing to hit them if we have rapid_melee enabled

minimum_distance + + + + +

+

Minimum approach distance, so ranged mobs chase targets down, but still keep their distance set in tiles to the target, set higher to make mobs keep distance

move_to_delay + + + + +

+

delay for the automated movement.

projectilesound + + + + +

+

Sound our projectile makes when fired

projectiletype + + + + +

+

set ONLY it and NULLIFY casingtype var, if we have ONLY projectile

ranged + + + + +

+

Does this mob use ranged attacks?

ranged_cooldown + + + + +

+

What the current cooldown on ranged attacks is, generally world.time + ranged_cooldown_time

ranged_cooldown_time + + + + +

+

How long, in deciseconds, the cooldown of ranged attacks is

ranged_ignores_vision + + + + +

+

if it'll fire ranged attacks even if it lacks vision on its target, only works with environment smash

ranged_message + + + + +

+

Fluff text for ranged mobs

rapid + + + + +

+

How many shots per volley.

rapid_fire_delay + + + + +

+

Time between rapid fire shots

rapid_melee + + + + +

+

Number of melee attacks between each npc pool tick. Spread evenly.

retreat_distance + + + + +

+

If our mob runs from players when they're too close, set in tile distance. By default, mobs do not retreat.

robust_searching + + + + +

+

By default, mobs have a simple searching method, set this to TRUE for the more scrutinous searching (stat_attack, stat_exclusive, etc), should be disabled on most mobs

search_objects + + + + +

+

If we want to consider objects when searching around, set this to 1. If you want to search for objects while also ignoring mobs until hurt, set it to 2. To completely ignore mobs, even when attacked, set it to 3

search_objects_regain_time + + + + +

+

The delay between being attacked and gaining our old search_objects value back

search_objects_timer_id + + + + +

+

Timer for regaining our old search_objects value after being attacked

sidestep_per_cycle + + + + +

+

How many sidesteps per npcpool cycle when in melee

stat_attack + + + + +

+

Mobs ignore mob/living targets with a stat lower than that of stat_attack. If set to DEAD, then they'll include corpses in their targets, if to HARD_CRIT they'll keep attacking until they kill, and so on.

stat_exclusive + + + + +

+

Mobs with this set to TRUE will exclusively attack things defined by stat_attack, stat_attack DEAD means they will only attack corpses

target + + + + +

+

The current target of our attacks, use GiveTarget and LoseTarget to set this var

targets_from + + + + +

+

all range/attack/etc. calculations should be done from the atom this weakrefs, useful for Vehicles and such.

taunt_chance + + + + +

+

Probability that the mob will taunt

vision_range + + + + +

+

How big of an area to search for targets in, a vision of 9 attempts to find targets as soon as they walk into screen view

wanted_objects + + + + +

+

A typecache of objects types that will be checked against to attack, should we have search_objects enabled

Proc Details

AICanContinue +

+

AI Status

ListTargets +

+

HOSTILE MOB TARGETING AND AGGRESSION

death +

+

END HOSTILE MOB TARGETING AND AGGRESSION

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid.html b/mob/living/simple_animal/hostile/asteroid.html new file mode 100644 index 00000000000..d78368ca2a7 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid.html @@ -0,0 +1,50 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

asteroid + + + +

+ + + + +

Vars

crusher_drop_modwhat is the chance the mob drops it if all their health was taken by crusher attacks
crusher_lootwhat trophy this mob drops
from_spawnerIs this mob subtype from a spawner (e.g. necropolis tendril, demonic portal)? Can be used to affect what it drops (e.g. legions force-dropping ashen skeletons).
+

Var Details

crusher_drop_mod + + + + +

+

what is the chance the mob drops it if all their health was taken by crusher attacks

crusher_loot + + + + +

+

what trophy this mob drops

from_spawner + + + + +

+

Is this mob subtype from a spawner (e.g. necropolis tendril, demonic portal)? Can be used to affect what it drops (e.g. legions force-dropping ashen skeletons).

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html b/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html new file mode 100644 index 00000000000..de7ebb54912 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/broodmother.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/broodmother - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Goliath Broodmother + + + +

+ +

A stronger, faster variation of the goliath. Has the ability to spawn baby goliaths, which it can later detonate at will. +When it's health is below half, tendrils will spawn randomly around it. When it is below a quarter of health, this effect is doubled. +It's attacks are as follows:

+
    +
  • Spawns a 3x3/plus shape of tentacles on the target location
  • +
  • Spawns 2 baby goliaths on its tile, up to a max of 8. Children blow up when they die.
  • +
  • The broodmother lets out a noise, and is able to move faster for 6.5 seconds.
  • +
  • Summons your children around you. +The broodmother is a fight revolving around stage control, as the activator has to manage the baby goliaths and the broodmother herself, along with all the tendrils.
  • +
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/herald.html b/mob/living/simple_animal/hostile/asteroid/elite/herald.html new file mode 100644 index 00000000000..4b12b355cd9 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/herald.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/herald - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Herald + + + +

+ +

A slow-moving projectile user with a few tricks up it's sleeve. Less unga-bunga than Colossus, with more cleverness in it's fighting style. +As it's health gets lower, the amount of projectiles fired per-attack increases. +It's attacks are as follows:

+
    +
  • Fires three projectiles in a given direction.
  • +
  • Fires a spread in every cardinal and diagonal direction at once, then does it again after a bit.
  • +
  • Shoots a single, golden bolt. Wherever it lands, the herald will be teleported to the location.
  • +
  • Spawns a mirror which reflects projectiles directly at the target. +Herald is a more concentrated variation of the Colossus fight, having less projectiles overall, but more focused attacks.
  • +
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html b/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html new file mode 100644 index 00000000000..024c3bab72d --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/legionnaire.html @@ -0,0 +1,45 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/legionnaire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Legionnaire + + + +

+ +

A towering skeleton, embodying the power of Legion. +As it's health gets lower, the head does more damage. +It's attacks are as follows:

+
    +
  • Charges at the target after a telegraph, throwing them across the arena should it connect.
  • +
  • Legionnaire's head detaches, attacking as it's own entity. Has abilities of it's own later into the fight. Once dead, regenerates after a brief period. If the skill is used while the head is off, it will be killed.
  • +
  • Leaves a pile of bones at your location. Upon using this skill again, you'll swap locations with the bone pile.
  • +
  • Spews a cloud of smoke from it's maw, wherever said maw is. +A unique fight incorporating the head mechanic of legion into a whole new beast. Combatants will need to make sure the tag-team of head and body don't lure them into a deadly trap.
  • +
+

Vars

chargingWhether or not the legionnaire is currently charging, used to deny movement input if he is
+

Var Details

charging + + + + +

+

Whether or not the legionnaire is currently charging, used to deny movement input if he is

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/elite/pandora.html b/mob/living/simple_animal/hostile/asteroid/elite/pandora.html new file mode 100644 index 00000000000..de6683b1124 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/elite/pandora.html @@ -0,0 +1,37 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/elite/pandora - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Pandora + + + +

+ +

A box with a similar design to the Hierophant which trades large, single attacks for more frequent smaller ones. +As it's health gets lower, the time between it's attacks decrease. +It's attacks are as follows:

+
    +
  • Fires hierophant blasts in a straight line. Can only fire in a straight line in 8 directions, being the diagonals and cardinals.
  • +
  • Creates a box of hierophant blasts around the target. If they try to run away to avoid it, they'll very likely get hit.
  • +
  • Teleports the pandora from one location to another, almost identical to Hierophant.
  • +
  • Spawns a 7x7 AOE at the location of choice, spreading out from the center. +Pandora's fight mirrors Hierophant's closely, but has stark differences in attack effects. Instead of long-winded dodge times and long cooldowns, Pandora constantly attacks the opponent, but leaves itself open for attack.
  • +
+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/polarbear.html b/mob/living/simple_animal/hostile/asteroid/polarbear.html new file mode 100644 index 00000000000..32ba5477333 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/polarbear.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/polarbear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

polarbear + + + +

+ + +

Vars

aggressive_message_saidMessage for when the polar bear starts to attack faster
+

Var Details

aggressive_message_said + + + + +

+

Message for when the polar bear starts to attack faster

+ + + diff --git a/mob/living/simple_animal/hostile/asteroid/wolf.html b/mob/living/simple_animal/hostile/asteroid/wolf.html new file mode 100644 index 00000000000..aeb2a088e13 --- /dev/null +++ b/mob/living/simple_animal/hostile/asteroid/wolf.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/asteroid/wolf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wolf + + + +

+ + +

Vars

retreat_message_saidMessage for when the wolf decides to start running away
+

Var Details

retreat_message_said + + + + +

+

Message for when the wolf decides to start running away

+ + + diff --git a/mob/living/simple_animal/hostile/illusion.html b/mob/living/simple_animal/hostile/illusion.html new file mode 100644 index 00000000000..bf5afc5ffb1 --- /dev/null +++ b/mob/living/simple_animal/hostile/illusion.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/hostile/illusion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

illusion + + + +

+ + + +

Vars

multiply_chanceProb of getting a clone on attack
parent_mob_refWeakref to what we're copying
+

Var Details

multiply_chance + + + + +

+

Prob of getting a clone on attack

parent_mob_ref + + + + +

+

Weakref to what we're copying

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna.html b/mob/living/simple_animal/hostile/megafauna.html new file mode 100644 index 00000000000..277abb3371e --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna.html @@ -0,0 +1,143 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

megafauna + + + +

+ + + + + + + + + + + + + + + + + +

Vars

achievement_typeAchievement given to surrounding players when the megafauna is killed
anger_modifierModifies attacks when at lower health
attack_action_typesAttack actions, sets chosen_attack to the number in the action
chosen_attackThe chosen attack by the megafauna
crusher_achievement_typeCrusher achievement given to players when megafauna is killed
crusher_lootCrusher loot dropped when the megafauna is killed with a crusher
eliminationIf the megafauna was actually killed (not just dying, then transforming into another type)
gps_nameName for the GPS signal of the megafauna
recovery_timeNext time the megafauna can use a melee attack
score_achievement_typeScore given to players when megafauna is killed
true_spawnIf this is a megafauna that is real (has achievements, gps signal)

Procs

devourDevours a target and restores health to the megafauna
grant_achievementGrants medals and achievements to surrounding players
make_virtual_megafaunaRemoves all the loot and achievements from megafauna for bitrunning related
spawn_crusher_lootWhether we killed the megafauna with primarily crusher damage or not +Spawns crusher loot instead of normal loot
update_cooldownsSets/adds the next time the megafauna can use a melee or ranged attack, in deciseconds. It is a list to allow using named args. Use the ignore_staggered var if youre setting the cooldown to ranged_cooldown_time.
+

Var Details

achievement_type + + + + +

+

Achievement given to surrounding players when the megafauna is killed

anger_modifier + + + + +

+

Modifies attacks when at lower health

attack_action_types + + + + +

+

Attack actions, sets chosen_attack to the number in the action

chosen_attack + + + + +

+

The chosen attack by the megafauna

crusher_achievement_type + + + + +

+

Crusher achievement given to players when megafauna is killed

crusher_loot + + + + +

+

Crusher loot dropped when the megafauna is killed with a crusher

elimination + + + + +

+

If the megafauna was actually killed (not just dying, then transforming into another type)

gps_name + + + + +

+

Name for the GPS signal of the megafauna

recovery_time + + + + +

+

Next time the megafauna can use a melee attack

score_achievement_type + + + + +

+

Score given to players when megafauna is killed

true_spawn + + + + +

+

If this is a megafauna that is real (has achievements, gps signal)

Proc Details

devour +

+

Devours a target and restores health to the megafauna

grant_achievement +

+

Grants medals and achievements to surrounding players

make_virtual_megafauna +

+

Removes all the loot and achievements from megafauna for bitrunning related

spawn_crusher_loot +

+

Whether we killed the megafauna with primarily crusher damage or not +Spawns crusher loot instead of normal loot

update_cooldowns +

+

Sets/adds the next time the megafauna can use a melee or ranged attack, in deciseconds. It is a list to allow using named args. Use the ignore_staggered var if youre setting the cooldown to ranged_cooldown_time.

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html b/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html new file mode 100644 index 00000000000..38f93475bba --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.html @@ -0,0 +1,64 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/blood_drunk_miner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blood_drunk_miner + + + +

+ + + + + + +

Vars

dashDash ability
dash_attackDash Attack Ability
guidanceDoes this blood-drunk miner heal slightly while attacking and heal more when gibbing people?
kinetic_acceleratorKinetic accelerator ability
transform_weaponTransform weapon ability
+

Var Details

dash + + + + +

+

Dash ability

dash_attack + + + + +

+

Dash Attack Ability

guidance + + + + +

+

Does this blood-drunk miner heal slightly while attacking and heal more when gibbing people?

kinetic_accelerator + + + + +

+

Kinetic accelerator ability

transform_weapon + + + + +

+

Transform weapon ability

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/bubblegum.html b/mob/living/simple_animal/hostile/megafauna/bubblegum.html new file mode 100644 index 00000000000..74fb3aaa9c9 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/bubblegum.html @@ -0,0 +1,92 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/bubblegum - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bubblegum + + + +

+ + + + + + + + + +

Vars

blood_warpBlood warp ability
enrage_tillActual time where enrage ends
enrage_timeDuration of enrage ability
hallucination_chargeHallucination charge ability
hallucination_charge_surroundHallucination charge surround ability
spawn_bloodCheck to see if we should spawn blood
triple_chargeTriple charge ability

Procs

attackbyAttack by override for bubblegum
+

Var Details

blood_warp + + + + +

+

Blood warp ability

enrage_till + + + + +

+

Actual time where enrage ends

enrage_time + + + + +

+

Duration of enrage ability

hallucination_charge + + + + +

+

Hallucination charge ability

hallucination_charge_surround + + + + +

+

Hallucination charge surround ability

spawn_blood + + + + +

+

Check to see if we should spawn blood

triple_charge + + + + +

+

Triple charge ability

Proc Details

attackby +

+

Attack by override for bubblegum

+

This is used to award the frenching achievement for hitting bubblegum with a tongue

+

Arguments:

+
    +
  • obj/item/W the item hitting bubblegum
  • +
  • mob/user The user of the item
  • +
  • params, extra parameters
  • +
+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/colossus.html b/mob/living/simple_animal/hostile/megafauna/colossus.html new file mode 100644 index 00000000000..598a879d0dd --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/colossus.html @@ -0,0 +1,83 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/colossus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

colossus + + + +

+ +

COLOSSUS

+

The colossus spawns randomly wherever a lavaland creature is able to spawn. It is powerful, ancient, and extremely deadly. +The colossus has a degree of sentience, proving this in speech during its attacks.

+

It acts as a melee creature, chasing down and attacking its target while also using different attacks to augment its power that increase as it takes damage.

+

The colossus' true danger lies in its ranged capabilities. It fires immensely damaging death bolts that penetrate all armor in a variety of ways: +A. The colossus fires death bolts in alternating patterns: the cardinal directions and the diagonal directions. +B. The colossus fires death bolts in a shotgun-like pattern, instantly downing anything unfortunate enough to be hit by all of them. +C. The colossus fires a spiral of death bolts. +At 33% health, the colossus gains an additional attack: +D. The colossus fires two spirals of death bolts, spinning in opposite directions.

+

When a colossus dies, it leaves behind a chunk of glowing crystal known as a black box. Anything placed inside will carry over into future rounds. +For instance, you could place a bag of holding into the black box, and then kill another colossus next round and retrieve the bag of holding from inside.

+

Intended Difficulty: Very Hard

+ + + + + +

Vars

colossus_finalFinal attack ability
dir_shotsDirectional shots ability
final_availableHave we used DIE yet?
random_shotsRandom shots ablity
shotgun_blastShotgun blast ability
spiral_shotsSpiral shots ability
+

Var Details

colossus_final + + + + +

+

Final attack ability

dir_shots + + + + +

+

Directional shots ability

final_available + + + + +

+

Have we used DIE yet?

random_shots + + + + +

+

Random shots ablity

shotgun_blast + + + + +

+

Shotgun blast ability

spiral_shots + + + + +

+

Spiral shots ability

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html b/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html new file mode 100644 index 00000000000..474390c2641 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.html @@ -0,0 +1,99 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/demonic_frost_miner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

demonic_frost_miner + + + +

+ + + + + + + + + + + +

Vars

enragedIf the demonic frost miner is in its enraged state
enragingIf the demonic frost miner is currently transforming to its enraged state
frost_orbsFrost orbs ability
hard_frost_orbsHard version of frost orbs
hard_ice_shotgunHard Ice Shotgun Ability
hard_snowball_machine_gunHard Snowball Machine gun Ability
ice_shotgunIce Shotgun Ability
snowball_machine_gunSnowball Machine gun Ability

Procs

check_enragedChecks if the demonic frost miner is ready to be enraged
start_attackPre-ability usage stuff
+

Var Details

enraged + + + + +

+

If the demonic frost miner is in its enraged state

enraging + + + + +

+

If the demonic frost miner is currently transforming to its enraged state

frost_orbs + + + + +

+

Frost orbs ability

hard_frost_orbs + + + + +

+

Hard version of frost orbs

hard_ice_shotgun + + + + +

+

Hard Ice Shotgun Ability

hard_snowball_machine_gun + + + + +

+

Hard Snowball Machine gun Ability

ice_shotgun + + + + +

+

Ice Shotgun Ability

snowball_machine_gun + + + + +

+

Snowball Machine gun Ability

Proc Details

check_enraged +

+

Checks if the demonic frost miner is ready to be enraged

start_attack +

+

Pre-ability usage stuff

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/dragon.html b/mob/living/simple_animal/hostile/megafauna/dragon.html new file mode 100644 index 00000000000..b1693944302 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/dragon.html @@ -0,0 +1,57 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/dragon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dragon + + + +

+ + + + + +

Vars

fire_coneFire cone ability
lava_swoopLava swoop ability
mass_fireMass fire ability
meteorsMeteors ability
+

Var Details

fire_cone + + + + +

+

Fire cone ability

lava_swoop + + + + +

+

Lava swoop ability

mass_fire + + + + +

+

Mass fire ability

meteors + + + + +

+

Meteors ability

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/legion.html b/mob/living/simple_animal/hostile/megafauna/legion.html new file mode 100644 index 00000000000..3d05a619a41 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/legion.html @@ -0,0 +1,98 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/legion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

legion + + + +

+ + + + + + + + + + + +

Procs

AttackingTargetIn addition to parent functionality, this will also turn the target into a small legion if they are unconscious.
SplitSplits legion into smaller skulls.
adjustHealthThis makes sure that the legion door opens on taking damage, so you can't cheese this boss.
charge_targetAttack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.
create_legion_skullAttack proc. Spawns a singular legion skull.
create_legion_turretsAttack proc. Creates up to three legion turrets on suitable turfs nearby.
deathSpecial snowflake death() here. Can only die if size is 1 or lower and HP is 0 or below.
reset_chargeResets the charge buffs.
throw_impactDeals some extra damage on throw impact.
throw_thyselfThis is the proc that actually does the throwing. Charge only adds a timer for this.

Proc Details

AttackingTarget +

+

In addition to parent functionality, this will also turn the target into a small legion if they are unconscious.

Split +

+

Splits legion into smaller skulls.

adjustHealth +

+

This makes sure that the legion door opens on taking damage, so you can't cheese this boss.

charge_target +

+

Attack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.

create_legion_skull +

+

Attack proc. Spawns a singular legion skull.

create_legion_turrets +

+

Attack proc. Creates up to three legion turrets on suitable turfs nearby.

death +

+

Special snowflake death() here. Can only die if size is 1 or lower and HP is 0 or below.

reset_charge +

+

Resets the charge buffs.

throw_impact +

+

Deals some extra damage on throw impact.

throw_thyself +

+

This is the proc that actually does the throwing. Charge only adds a timer for this.

+ + + diff --git a/mob/living/simple_animal/hostile/megafauna/wendigo.html b/mob/living/simple_animal/hostile/megafauna/wendigo.html new file mode 100644 index 00000000000..adcc11d8e37 --- /dev/null +++ b/mob/living/simple_animal/hostile/megafauna/wendigo.html @@ -0,0 +1,106 @@ + + + + + + + /mob/living/simple_animal/hostile/megafauna/wendigo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wendigo + + + +

+ + + + + + + + + + + + +

Vars

can_moveIf the wendigo is allowed to move
scream_cooldownStores the last scream time so it doesn't spam it
scream_cooldown_timeTime before the wendigo can scream again
startingSaves the turf the megafauna was created at (spawns exit portal here)
stomp_rangeRange for wendigo stomping when it moves
stored_move_dirsStores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved

Procs

heavy_stompLarger but slower ground stomp
shockwave_screamApplies dizziness to all nearby enemies that can hear the scream and animates the wendigo shaking up and down as shockwave projectiles shoot outward
spiral_attackShoots shockwave projectiles in a random preset pattern
try_teleportTeleports to a location 4 turfs away from the enemy in view
wendigo_slamSlams the ground around the source throwing back enemies caught nearby, delay is for the radius increase
+

Var Details

can_move + + + + +

+

If the wendigo is allowed to move

scream_cooldown + + + + +

+

Stores the last scream time so it doesn't spam it

scream_cooldown_time + + + + +

+

Time before the wendigo can scream again

starting + + + + +

+

Saves the turf the megafauna was created at (spawns exit portal here)

stomp_range + + + + +

+

Range for wendigo stomping when it moves

stored_move_dirs + + + + +

+

Stores directions the mob is moving, then calls that a move has fully ended when these directions are removed in moved

Proc Details

heavy_stomp +

+

Larger but slower ground stomp

shockwave_scream +

+

Applies dizziness to all nearby enemies that can hear the scream and animates the wendigo shaking up and down as shockwave projectiles shoot outward

spiral_attack +

+

Shoots shockwave projectiles in a random preset pattern

try_teleport +

+

Teleports to a location 4 turfs away from the enemy in view

wendigo_slam +

+

Slams the ground around the source throwing back enemies caught nearby, delay is for the radius increase

+ + + diff --git a/mob/living/simple_animal/hostile/mimic.html b/mob/living/simple_animal/hostile/mimic.html new file mode 100644 index 00000000000..58a2b31c1dd --- /dev/null +++ b/mob/living/simple_animal/hostile/mimic.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/hostile/mimic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mimic + + + +

+ + + +

Vars

mob_storage_capacityA cap for mobs. Mobs count towards the item cap. Same purpose as above.
storage_capacityA cap for items in the mimic. Prevents the mimic from eating enough stuff to cause lag when opened.
+

Var Details

mob_storage_capacity + + + + +

+

A cap for mobs. Mobs count towards the item cap. Same purpose as above.

storage_capacity + + + + +

+

A cap for items in the mimic. Prevents the mimic from eating enough stuff to cause lag when opened.

+ + + diff --git a/mob/living/simple_animal/hostile/mimic/xenobio.html b/mob/living/simple_animal/hostile/mimic/xenobio.html new file mode 100644 index 00000000000..d548eb1daae --- /dev/null +++ b/mob/living/simple_animal/hostile/mimic/xenobio.html @@ -0,0 +1,60 @@ + + + + + + + /mob/living/simple_animal/hostile/mimic/xenobio - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

xenobio + + + +

+ + + + +

Vars

full_soundsound played when the mimic attempts to eat more items than it can

Procs

insertCalled by toggle_open to put items inside the mimic when it's being closed
toggle_openUsed to open and close the mimic
+

Var Details

full_sound + + + + +

+

sound played when the mimic attempts to eat more items than it can

Proc Details

insert +

+

Called by toggle_open to put items inside the mimic when it's being closed

+

Will return -1 if the insertion fails due to the storage capacity of the mimic having been reached +Will return FALSE if insertion fails +Will return TRUE if insertion succeeds +Arguments:

+
    +
  • AM - item to be inserted
  • +

toggle_open +

+

Used to open and close the mimic

+

Will insert tile contents into the mimic when closing +Will dump mimic contents into the time when opening +Does nothing if the mimic locked itself

+ + + diff --git a/mob/living/simple_animal/hostile/ooze.html b/mob/living/simple_animal/hostile/ooze.html new file mode 100644 index 00000000000..2fa491f52fd --- /dev/null +++ b/mob/living/simple_animal/hostile/ooze.html @@ -0,0 +1,78 @@ + + + + + + + /mob/living/simple_animal/hostile/ooze - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ooze + + + +

+ +

Oozes are slime-esque creatures, they are highly gluttonous creatures primarily intended for player controll.

+ + + + + + +

Vars

edible_food_typesBitfield of edible food types
ooze_nutritionOozes have their own nutrition. Changes based on them eating

Procs

LifeHandles nutrition gain/loss of mob and also makes it take damage if it's too low on nutrition, only happens for sentient mobs.
adjust_ooze_nutritionDoes ooze_nutrition + supplied amount and clamps it within 0 and 500
eat_atomTries to transfer the atoms reagents then delete it
get_innate_actionsReturns an applicable list of actions to grant to the mob. Will return a list or null.
updateNutritionDisplayUpdates the display that shows the mobs nutrition
+

Var Details

edible_food_types + + + + +

+

Bitfield of edible food types

ooze_nutrition + + + + +

+

Oozes have their own nutrition. Changes based on them eating

Proc Details

Life +

+

Handles nutrition gain/loss of mob and also makes it take damage if it's too low on nutrition, only happens for sentient mobs.

adjust_ooze_nutrition +

+

Does ooze_nutrition + supplied amount and clamps it within 0 and 500

eat_atom +

+

Tries to transfer the atoms reagents then delete it

get_innate_actions +

+

Returns an applicable list of actions to grant to the mob. Will return a list or null.

updateNutritionDisplay +

+

Updates the display that shows the mobs nutrition

+ + + diff --git a/mob/living/simple_animal/hostile/ooze/gelatinous.html b/mob/living/simple_animal/hostile/ooze/gelatinous.html new file mode 100644 index 00000000000..d022effb832 --- /dev/null +++ b/mob/living/simple_animal/hostile/ooze/gelatinous.html @@ -0,0 +1,53 @@ + + + + + + + /mob/living/simple_animal/hostile/ooze/gelatinous - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gelatinous + + + +

+ +
    +
  • Gelatinious Ooze code below *\\ +Its good stats and high mobility makes this a good assasin type creature. It's vulnerabilites against cold, shotguns and
  • +
+ + +

Vars

consumeThe ability to consume mobs

Procs

InitializeInitializes the mobs abilities and gives them to the mob
container_resist_actIf this mob gets resisted by something, its trying to escape consumption.
+

Var Details

consume + + + + +

+

The ability to consume mobs

Proc Details

Initialize +

+

Initializes the mobs abilities and gives them to the mob

container_resist_act +

+

If this mob gets resisted by something, its trying to escape consumption.

+ + + diff --git a/mob/living/simple_animal/hostile/ooze/grapes.html b/mob/living/simple_animal/hostile/ooze/grapes.html new file mode 100644 index 00000000000..71e48bd78bb --- /dev/null +++ b/mob/living/simple_animal/hostile/ooze/grapes.html @@ -0,0 +1,31 @@ + + + + + + + /mob/living/simple_animal/hostile/ooze/grapes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

grapes + + + +

+ +
    +
  • Gelatinious Grapes code below *\\ +Child of the ooze mob which is orientated at being a healer type creature.
  • +
+ + + diff --git a/mob/living/simple_animal/hostile/retaliate.html b/mob/living/simple_animal/hostile/retaliate.html new file mode 100644 index 00000000000..11b2c812f30 --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

retaliate + + + +

+ + +

Vars

enemiesA list of weakrefs pointing at things that we consider targets
+

Var Details

enemies + + + + +

+

A list of weakrefs pointing at things that we consider targets

+ + + diff --git a/mob/living/simple_animal/hostile/retaliate/goose/vomit.html b/mob/living/simple_animal/hostile/retaliate/goose/vomit.html new file mode 100644 index 00000000000..9fcaaba6c16 --- /dev/null +++ b/mob/living/simple_animal/hostile/retaliate/goose/vomit.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/hostile/retaliate/goose/vomit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

vomit + + + +

+ + +

Procs

deadchat_playsA proc to make it easier for admins to make the goose playable by deadchat.

Proc Details

deadchat_plays +

+

A proc to make it easier for admins to make the goose playable by deadchat.

+ + + diff --git a/mob/living/simple_animal/hostile/zombie.html b/mob/living/simple_animal/hostile/zombie.html new file mode 100644 index 00000000000..f25566d1120 --- /dev/null +++ b/mob/living/simple_animal/hostile/zombie.html @@ -0,0 +1,43 @@ + + + + + + + /mob/living/simple_animal/hostile/zombie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

zombie + + + +

+ + + +

Vars

infection_chanceThe probability that we give people real zombie infections on hit.
outfitOutfit the zombie spawns with for visuals.
+

Var Details

infection_chance + + + + +

+

The probability that we give people real zombie infections on hit.

outfit + + + + +

+

Outfit the zombie spawns with for visuals.

+ + + diff --git a/mob/living/simple_animal/pet.html b/mob/living/simple_animal/pet.html new file mode 100644 index 00000000000..0c712724a3c --- /dev/null +++ b/mob/living/simple_animal/pet.html @@ -0,0 +1,83 @@ + + + + + + + /mob/living/simple_animal/pet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pet + + + +

+ + + + + + + + +

Vars

collarOur collar
collar_icon_stateIf the mob has collar sprites, this is the base of the icon states.
has_collar_resting_icon_stateWe have a seperate _rest collar icon state when the pet is resting.
unique_petif the mob is protected from being renamed by collars.

Procs

DestroyCan set the collar var beforehand to start the pet with a collar.
add_collarAdd a collar to the pet.
remove_collarRemove the collar from the pet.
+

Var Details

collar + + + + +

+

Our collar

collar_icon_state + + + + +

+

If the mob has collar sprites, this is the base of the icon states.

has_collar_resting_icon_state + + + + +

+

We have a seperate _rest collar icon state when the pet is resting.

unique_pet + + + + +

+

if the mob is protected from being renamed by collars.

Proc Details

Destroy +

+

Can set the collar var beforehand to start the pet with a collar.

add_collar +

+

Add a collar to the pet.

+

Arguments:

+
    +
  • new_collar - the collar.
  • +
  • user - the user that did it.
  • +

remove_collar +

+

Remove the collar from the pet.

+ + + diff --git a/mob/living/simple_animal/slime.html b/mob/living/simple_animal/slime.html new file mode 100644 index 00000000000..637ff62df38 --- /dev/null +++ b/mob/living/simple_animal/slime.html @@ -0,0 +1,390 @@ + + + + + + + /mob/living/simple_animal/slime - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

slime + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

FriendsA list of friends; they are not considered targets for feeding; passed down after splitting
LeaderAI variable - tells the slime to follow this person
TargetAI variable - tells the slime to hunt this down
amount_grownControls how long the slime has been overfed, if 10, grows or reproduces
applied_crossbreed_amountHow many extracts of the modtype have been applied.
attacked_stacksDetermines if it's been attacked recently. Can be any number, is a cooloff-ish variable
coresThe number of /obj/item/slime_extract's the slime has left inside
crossbreed_modificationWhat cross core modification is being used.
current_moodThe current mood of the slime, set randomly or through emotes (if sentient).
discipline_stacksIf a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while
docileIs the slime docile?
force_stasisIs the slime forced into being immobile, despite the gases present?
holding_stillAI variable, cooloff-ish for how long it's going to stay in one place
is_adultIs the slime an adult slime?
is_attack_on_cooldownAttack cooldown
mutation_chanceChance of mutating, should be between 25 and 35
mutator_usedHas a mutator been used on the slime? Only one is allowed
powerlevel1-10 controls how much electricity they are generating
rabidIf set to 1, the slime will attack and eat anything it comes in contact with
slime_ai_processingDetermines if the AI loop is activated
slime_idUsed to understand when someone is talking to it
speech_bufferLast phrase said near it and person who said it
stunned_untilStored the world time when the slime's stun wears off
target_patienceAI variable, cooloff-ish for how long it's going to follow its target

Procs

add_friendshipAlters the friendship value of the target
add_nutritionAdds nutrition to the slime's nutrition level. Has a chance to increase its electric levels.
can_feed_onCan the slime leech life energy from the target?
clear_friendsRemoves everyone from the friend list
clear_memories_ofThe passed source will be no longer be the slime's target, leader, or one of its friends
discipline_slimeMakes a slime not attack people for a while
get_grow_nutritionAbove it we grow, below it we can eat
get_hunger_nutritionBelow it we will always eat
get_max_nutritionCan't go above it
get_starve_nutritionBelow it we will eat before everything else
handle_feedingThe divisor controls how fast body temperature changes, lower causes faster changes +Handles the slime draining the target it is attached to
handle_moodHandles slime mood
handle_nutritionHandles the slime's nutirion level
handle_speechHandles the slime understanding commends spoken to it
handle_targetsHandles selecting targets
process_slime_aithe master AI process
random_colourChecks if the slime has a generic name, in the format of baby/adult slime (123) +randomizes the colour of a slime
remove_friendRemoves someone from the friendlist
set_friendsAdds someone to the friend list
set_friendshipSets the friendship value of the target
set_leaderSets the person the slime is following around
set_targetSets the slime's current attack target
slime_moveMakes a slime move away, used for a timed callback
spawn_corecrossSpawns a crossed slimecore item
start_feedingThe slime will start feeding on the target
stop_feedingThe slime will stop feeding
will_huntCheck for being stopped from feeding and chasing
+

Var Details

Friends + + + + +

+

A list of friends; they are not considered targets for feeding; passed down after splitting

Leader + + + + +

+

AI variable - tells the slime to follow this person

Target + + + + +

+

AI variable - tells the slime to hunt this down

amount_grown + + + + +

+

Controls how long the slime has been overfed, if 10, grows or reproduces

applied_crossbreed_amount + + + + +

+

How many extracts of the modtype have been applied.

attacked_stacks + + + + +

+

Determines if it's been attacked recently. Can be any number, is a cooloff-ish variable

cores + + + + +

+

The number of /obj/item/slime_extract's the slime has left inside

crossbreed_modification + + + + +

+

What cross core modification is being used.

current_mood + + + + +

+

The current mood of the slime, set randomly or through emotes (if sentient).

discipline_stacks + + + + +

+

If a slime has been hit with a freeze gun, or wrestled/attacked off a human, they become disciplined and don't attack anymore for a while

docile + + + + +

+

Is the slime docile?

force_stasis + + + + +

+

Is the slime forced into being immobile, despite the gases present?

holding_still + + + + +

+

AI variable, cooloff-ish for how long it's going to stay in one place

is_adult + + + + +

+

Is the slime an adult slime?

is_attack_on_cooldown + + + + +

+

Attack cooldown

mutation_chance + + + + +

+

Chance of mutating, should be between 25 and 35

mutator_used + + + + +

+

Has a mutator been used on the slime? Only one is allowed

powerlevel + + + + +

+

1-10 controls how much electricity they are generating

rabid + + + + +

+

If set to 1, the slime will attack and eat anything it comes in contact with

slime_ai_processing + + + + +

+

Determines if the AI loop is activated

slime_id + + + + +

+

Used to understand when someone is talking to it

speech_buffer + + + + +

+

Last phrase said near it and person who said it

stunned_until + + + + +

+

Stored the world time when the slime's stun wears off

target_patience + + + + +

+

AI variable, cooloff-ish for how long it's going to follow its target

Proc Details

add_friendship +

+

Alters the friendship value of the target

add_nutrition +

+

Adds nutrition to the slime's nutrition level. Has a chance to increase its electric levels.

can_feed_on +

+

Can the slime leech life energy from the target?

clear_friends +

+

Removes everyone from the friend list

clear_memories_of +

+

The passed source will be no longer be the slime's target, leader, or one of its friends

discipline_slime +

+

Makes a slime not attack people for a while

get_grow_nutrition +

+

Above it we grow, below it we can eat

get_hunger_nutrition +

+

Below it we will always eat

get_max_nutrition +

+

Can't go above it

get_starve_nutrition +

+

Below it we will eat before everything else

handle_feeding +

+

The divisor controls how fast body temperature changes, lower causes faster changes +Handles the slime draining the target it is attached to

handle_mood +

+

Handles slime mood

handle_nutrition +

+

Handles the slime's nutirion level

handle_speech +

+

Handles the slime understanding commends spoken to it

handle_targets +

+

Handles selecting targets

process_slime_ai +

+

the master AI process

random_colour +

+

Checks if the slime has a generic name, in the format of baby/adult slime (123) +randomizes the colour of a slime

remove_friend +

+

Removes someone from the friendlist

set_friends +

+

Adds someone to the friend list

set_friendship +

+

Sets the friendship value of the target

set_leader +

+

Sets the person the slime is following around

set_target +

+

Sets the slime's current attack target

slime_move +

+

Makes a slime move away, used for a timed callback

spawn_corecross +

+

Spawns a crossed slimecore item

start_feeding +

+

The slime will start feeding on the target

stop_feeding +

+

The slime will stop feeding

will_hunt +

+

Check for being stopped from feeding and chasing

+ + + diff --git a/mob/living/simple_animal/slime/random.html b/mob/living/simple_animal/slime/random.html new file mode 100644 index 00000000000..9d40369e4ce --- /dev/null +++ b/mob/living/simple_animal/slime/random.html @@ -0,0 +1,35 @@ + + + + + + + /mob/living/simple_animal/slime/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

random + + + +

+ + +

Procs

InitializeRandom slime subtype

Proc Details

Initialize +

+

Random slime subtype

+ + + diff --git a/mob/living/simple_animal/soulscythe.html b/mob/living/simple_animal/soulscythe.html new file mode 100644 index 00000000000..87ca35be1bc --- /dev/null +++ b/mob/living/simple_animal/soulscythe.html @@ -0,0 +1,36 @@ + + + + + + + /mob/living/simple_animal/soulscythe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

soulscythe + + + +

+ + +

Vars

blood_levelBlood level, used for movement and abilities in a soulscythe
+

Var Details

blood_level + + + + +

+

Blood level, used for movement and abilities in a soulscythe

+ + + diff --git a/mob/oranges_ear.html b/mob/oranges_ear.html new file mode 100644 index 00000000000..902976dfcc4 --- /dev/null +++ b/mob/oranges_ear.html @@ -0,0 +1,77 @@ + + + + + + + /mob/oranges_ear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

oranges_ear + + + +

+ +
    +
  • Oranges Ear
  • +
  • +

    turns out view() spends a significant portion of its processing time generating lists of contents of viewable turfs which includes EVERYTHING on it visible

    +
  • +
  • +

    and the turf itself. there is an optimization to view() which makes it only iterate through either /obj or /mob contents, as well as normal list typechecking filters

    +
  • +
  • +

    a fuckton of these are generated as part of its SS's init and stored in a list, when requested for a list of movables returned by the spatial grid or by some

    +
  • +
  • +

    superset of the final output that must be narrowed down by view(), one of these gets put on every turf that contains the movables that need filtering

    +
  • +
  • +

    and each is given references to the movables they represent. that way you can do for(var/mob/oranges_ear/ear in view(...)) and check what they reference

    +
  • +
  • +

    as opposed to for(var/atom/movable/target in view(...)) and checking if they have the properties you want which leads to much larger lists generated by view()

    +
  • +
  • +

    and also leads to iterating through more movables to filter them.

    +
  • +
  • +

    TLDR: iterating through just mobs is much faster than all movables when iterating through view() on average, this system leverages that to boost speed

    +
  • +
  • +

    enough to offset the cost of allocating the mobs

    +
  • +
  • +

    named because the idea was first made by oranges and i didnt know what else to call it (note that this system was originally made for get_hearers_in_view())

    +
  • +
+ +

Vars

referencesreferences to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign(). +movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist

Procs

unassignclean this oranges_ear up for future use
+

Var Details

references + + + + +

+

references to everything "on" the turf we are assigned to, that we care about. populated in assign() and cleared in unassign(). +movables iside of other movables count as being "on" if they have get_turf(them) == our turf. intentionally not a lazylist

Proc Details

unassign +

+

clean this oranges_ear up for future use

+ + + diff --git a/mob/proccall_handler.html b/mob/proccall_handler.html new file mode 100644 index 00000000000..113a16df8ec --- /dev/null +++ b/mob/proccall_handler.html @@ -0,0 +1,44 @@ + + + + + + + /mob/proccall_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

proccall_handler + + + +

+ +

Used to handle proccalls called indirectly by an admin (e.g. tgs, circuits). +Has to be a mob because IsAdminAdvancedProcCall() checks usr, which is a mob variable. +So usr is set to this for any proccalls that don't have any usr mob/client to refer to.

+ +

Procs

add_callerAdds a caller.
remove_callerRemoves a caller.

Proc Details

add_caller +

+

Adds a caller.

remove_caller +

+

Removes a caller.

+ + + diff --git a/modular_event/base/event_aheal_recall_spells/code/action.html b/modular_event/base/event_aheal_recall_spells/code/action.html new file mode 100644 index 00000000000..983d06fb8e3 --- /dev/null +++ b/modular_event/base/event_aheal_recall_spells/code/action.html @@ -0,0 +1,28 @@ + + + + + + + modular_event/base/event_aheal_recall_spells/code/action.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

modular_event/base/event_aheal_recall_spells/code/action.dm + +

+ + +
/datum/action/cooldown/ahealThis datum defines an action that can be used by any mob/living to instantly admin heal themselves. +By default it has a 30 second cooldown.
+ + + diff --git a/modular_event/tournament/auto_equip.html b/modular_event/tournament/auto_equip.html new file mode 100644 index 00000000000..0d3fbbb2b02 --- /dev/null +++ b/modular_event/tournament/auto_equip.html @@ -0,0 +1,28 @@ + + + + + + + modular_event/tournament/auto_equip.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

modular_event/tournament/auto_equip.dm + +

+ + + +
/var/SSauto_equipAutomatically equips the VIP outfit for donators (as well as the trait), and those in tournament teams
+ + + diff --git a/modular_event/tournament/controller.html b/modular_event/tournament/controller.html new file mode 100644 index 00000000000..1a7acb5526c --- /dev/null +++ b/modular_event/tournament/controller.html @@ -0,0 +1,27 @@ + + + + + + + modular_event/tournament/controller.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

modular_event/tournament/controller.dm + +

+ + +
/obj/machinery/computer/tournament_controllerController for the tournament
+ + + diff --git a/modular_event/tournament/teams.html b/modular_event/tournament/teams.html new file mode 100644 index 00000000000..66a9f10501b --- /dev/null +++ b/modular_event/tournament/teams.html @@ -0,0 +1,27 @@ + + + + + + + modular_event/tournament/teams.dm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

modular_event/tournament/teams.dm + +

+ + +
/datum/tournament_teamReferences a team in string/teams
+ + + diff --git a/obj.html b/obj.html new file mode 100644 index 00000000000..0c5b9901b08 --- /dev/null +++ b/obj.html @@ -0,0 +1,311 @@ + + + + + + + /obj - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

obj + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

anchored_tabletop_offsetThe vertical pixel offset applied when the object is anchored on a tile with table +Ignored when set to 0 - to avoid shifting directional wall-mounted objects above tables
bare_wound_bonusIf this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh
burning_particlesParticles this obj uses when burning, if any
custom_fire_overlayCustom fire overlay icon, will just use the default overlay if this is null
demolition_modA multiplier to an objecet's force when used against a stucture, vechicle, machine, or robot.
desc_controlsExtra examine line to describe controls, such as right-clicking, left-clicking, etc.
icon_previewIcon to use as a 32x32 preview in crafting menus and such
id_tagMap tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. +Next pr after the network fix will have me refactor door interactions, so help me god.
req_accessList of accesses needed to use this object: The user must possess all accesses in this list in order to use the object. +Example: If req_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have both ACCESS_ENGINE and ACCESS_CE in order to use the object.
req_one_accessList of accesses needed to use this object: The user must possess at least one access in this list in order to use the object. +Example: If req_one_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have either ACCESS_ENGINE or ACCESS_CE in order to use the object.
wound_bonusHow good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.

Procs

GetExplosionBlockreturns how much the object blocks an explosion. Used by subtypes.
acid_act// ACID +the obj's reaction when touched by acid
acid_meltcalled when the obj is destroyed by acid.
allowedReturns TRUE if this mob has sufficient access to use this object
atom_destructionwhat happens when the obj's integrity reaches zero.
attack_tk_grabTelekinesis object grab act.
burnShould be called when the atom is destroyed by fire, comparable to acid_melt() proc
can_be_unfasten_wrenchIf we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't.
check_on_tableAdjusts the vertical pixel offset when the object is anchored on a tile with table
check_reskin_menuChecks if we are allowed to interact with a radial menu for reskins
deconstructthe obj is deconstructed into pieces, whether through careful disassembly or when destroyed.
default_unfasten_wrenchTry to unwrench an object in a WONDERFUL DYNAMIC WAY
expose_reagentsHandles exposing an object to reagents.
find_and_hang_on_wall
fire_act/ FIRE +Called when the obj is exposed to fire.
freezeAttempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise.
pipe_ejectGeneral proc used to expel a holder's contents through src (for bins holder is also the src).
receive_signalProc for reacting to a received /datum/signal. To be implemented as needed, +does nothing by default.
reskin_objReskins object based on a user's choice
set_boundsUpdates the bounds of a rotated object +This ensures that the bounds are always correct, +even if the object is rotated after init.
unfasten_wrench_checkFor the do_after, this checks if unfastening conditions are still valid
unfreezeUnfreezes this obj if its frozen
zap_actCalled when the obj is hit by a tesla bolt.
zap_buckle_checkOnly tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.
+

Var Details

anchored_tabletop_offset + + + + +

+

The vertical pixel offset applied when the object is anchored on a tile with table +Ignored when set to 0 - to avoid shifting directional wall-mounted objects above tables

bare_wound_bonus + + + + +

+

If this attacks a human with no wound armor on the affected body part, add this to the wound mod. Some attacks may be significantly worse at wounding if there's even a slight layer of armor to absorb some of it vs bare flesh

burning_particles + + + + +

+

Particles this obj uses when burning, if any

custom_fire_overlay + + + + +

+

Custom fire overlay icon, will just use the default overlay if this is null

demolition_mod + + + + +

+

A multiplier to an objecet's force when used against a stucture, vechicle, machine, or robot.

desc_controls + + + + +

+

Extra examine line to describe controls, such as right-clicking, left-clicking, etc.

icon_preview + + + + +

+

Icon to use as a 32x32 preview in crafting menus and such

id_tag + + + + +

+

Map tag for something. Tired of it being used on snowflake items. Moved here for some semblance of a standard. +Next pr after the network fix will have me refactor door interactions, so help me god.

req_access + + + + +

+

List of accesses needed to use this object: The user must possess all accesses in this list in order to use the object. +Example: If req_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have both ACCESS_ENGINE and ACCESS_CE in order to use the object.

req_one_access + + + + +

+

List of accesses needed to use this object: The user must possess at least one access in this list in order to use the object. +Example: If req_one_access = list(ACCESS_ENGINE, ACCESS_CE)- then the user must have either ACCESS_ENGINE or ACCESS_CE in order to use the object.

wound_bonus + + + + +

+

How good a given object is at causing wounds on carbons. Higher values equal better shots at creating serious wounds.

Proc Details

GetExplosionBlock +

+

returns how much the object blocks an explosion. Used by subtypes.

acid_act +

+

// ACID +the obj's reaction when touched by acid

acid_melt +

+

called when the obj is destroyed by acid.

allowed +

+

Returns TRUE if this mob has sufficient access to use this object

+
    +
  • accessor - mob trying to access this object, !!CAN BE NULL!! because of telekiesis because we're in hell
  • +

atom_destruction +

+

what happens when the obj's integrity reaches zero.

attack_tk_grab +

+

Telekinesis object grab act.

+
    +
  • Called by /obj/attack_tk().
  • +
  • Returns COMPONENT_CANCEL_ATTACK_CHAIN when it performs any action, to further acts on the attack chain.
  • +

burn +

+

Should be called when the atom is destroyed by fire, comparable to acid_melt() proc

can_be_unfasten_wrench +

+

If we can unwrench this object; returns SUCCESSFUL_UNFASTEN and FAILED_UNFASTEN, which are both TRUE, or CANT_UNFASTEN, which isn't.

check_on_table +

+

Adjusts the vertical pixel offset when the object is anchored on a tile with table

check_reskin_menu +

+

Checks if we are allowed to interact with a radial menu for reskins

+

Arguments:

+
    +
  • user The mob interacting with the menu
  • +

deconstruct +

+

the obj is deconstructed into pieces, whether through careful disassembly or when destroyed.

default_unfasten_wrench +

+

Try to unwrench an object in a WONDERFUL DYNAMIC WAY

expose_reagents +

+

Handles exposing an object to reagents.

find_and_hang_on_wall +

+
Checks object direction and then verifies if there's a wall in that direction. Finally, applies a wall_mounted component to the object.
+
+@param directional If TRUE, will use the direction of the object to determine the wall to attach to. If FALSE, will use the object's loc.
+@param custom_drop_callback If set, will use this callback instead of the default deconstruct callback.
+

fire_act +

+

/ FIRE +Called when the obj is exposed to fire.

freeze +

+

Attempt to freeze this obj if possible. returns TRUE if it succeeded, FALSE otherwise.

pipe_eject +

+

General proc used to expel a holder's contents through src (for bins holder is also the src).

receive_signal +

+

Proc for reacting to a received /datum/signal. To be implemented as needed, +does nothing by default.

reskin_obj +

+

Reskins object based on a user's choice

+

Arguments:

+
    +
  • M The mob choosing a reskin option
  • +

set_bounds +

+

Updates the bounds of a rotated object +This ensures that the bounds are always correct, +even if the object is rotated after init.

unfasten_wrench_check +

+

For the do_after, this checks if unfastening conditions are still valid

unfreeze +

+

Unfreezes this obj if its frozen

zap_act +

+

Called when the obj is hit by a tesla bolt.

zap_buckle_check +

+

Only tesla coils, vehicles, and grounding rods currently call this because mobs are already targeted over all other objects, but this might be useful for more things later.

+ + + diff --git a/obj/cascade_portal.html b/obj/cascade_portal.html new file mode 100644 index 00000000000..12af0023bd0 --- /dev/null +++ b/obj/cascade_portal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/cascade_portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cascade_portal + + + +

+ + +

Procs

consumeProc to consume the objects colliding with the portal

Proc Details

consume +

+

Proc to consume the objects colliding with the portal

+

Arguments: atom/movable/consumed_object is the object hitting the portal

+ + + diff --git a/obj/crystal_mass.html b/obj/crystal_mass.html new file mode 100644 index 00000000000..20ede7c07ca --- /dev/null +++ b/obj/crystal_mass.html @@ -0,0 +1,50 @@ + + + + + + + /obj/crystal_mass - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crystal_mass + + + +

+ + + + +

Vars

available_dirsAll dirs we can expand to
sm_compHandler that helps with properly killing mobs that the crystal grows over
sm_wall_cooldownCooldown on the expansion process
+

Var Details

available_dirs + + + + +

+

All dirs we can expand to

sm_comp + + + + +

+

Handler that helps with properly killing mobs that the crystal grows over

sm_wall_cooldown + + + + +

+

Cooldown on the expansion process

+ + + diff --git a/obj/docking_port.html b/obj/docking_port.html new file mode 100644 index 00000000000..4cf7ad6e9cd --- /dev/null +++ b/obj/docking_port.html @@ -0,0 +1,140 @@ + + + + + + + /obj/docking_port - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

docking_port + + + +

+ + + + + + + + + + + + + + + + +

Vars

delete_afterDelete this port after ship fly off.
dheightposition relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
dirCommon standard is for this to point -away- from the dockingport door, ie towards the ship
dwidthposition relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.
heightsize of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.
hiddenare we invisible to shuttle navigation computers?
port_destinationsPossible destinations
registeredare we registered in SSshuttles?
shuttle_idThe identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.
widthsize of covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

Procs

registerregister to SSshuttles
return_coordsreturns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle
return_ordered_turfsreturns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation
return_turfsreturns turfs within our projected rectangle in no particular order
unregisterunregister from SSshuttles
+

Var Details

delete_after + + + + +

+

Delete this port after ship fly off.

dheight + + + + +

+

position relative to covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

dir + + + + +

+

Common standard is for this to point -away- from the dockingport door, ie towards the ship

dwidth + + + + +

+

position relative to covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

height + + + + +

+

size of covered area, parallel to dir. You shouldn't modify this for mobile dockingports, set automatically.

hidden + + + + +

+

are we invisible to shuttle navigation computers?

port_destinations + + + + +

+

Possible destinations

registered + + + + +

+

are we registered in SSshuttles?

shuttle_id + + + + +

+

The identifier of the port or ship. +This will be used in numerous other places like the console, +stationary ports and whatnot to tell them your ship's mobile +port can be used in these places, or the docking port is compatible, etc.

width + + + + +

+

size of covered area, perpendicular to dir. You shouldn't modify this for mobile dockingports, set automatically.

Proc Details

register +

+

register to SSshuttles

return_coords +

+

returns a list(x0,y0, x1,y1) where points 0 and 1 are bounding corners of the projected rectangle

return_ordered_turfs +

+

returns turfs within our projected rectangle in a specific order.this ensures that turfs are copied over in the same order, regardless of any rotation

return_turfs +

+

returns turfs within our projected rectangle in no particular order

unregister +

+

unregister from SSshuttles

+ + + diff --git a/obj/docking_port/mobile.html b/obj/docking_port/mobile.html new file mode 100644 index 00000000000..153b8ebbe4a --- /dev/null +++ b/obj/docking_port/mobile.html @@ -0,0 +1,251 @@ + + + + + + + /obj/docking_port/mobile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mobile + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alert_coeffSpeed multiplier based on station alert level
callTimetime spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.
can_move_docking_portsif this shuttle can move docking ports other than the one it is docked at
current_engine_powerHow much engine power (thrust) the shuttle currently has.
engine_coeffHow fast the shuttle should be, taking engine thrust into account.
engine_listList of all currently used engines that propels us.
event_listList of shuttle events that can run or are running
ignitionTimetime spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.
initial_engine_powerHow much engine power (thrust) the shuttle starts with at mapload.
modecurrent shuttle mode
movement_forceWhether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.
port_directionrelative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.
prearrivalTimetime spent after transit 'landing' before actually arriving
preferred_directionThe direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in
rechargeTimetime spent after arrival before being able to begin ignition
shuttle_areasList of all areas our shuttle holds.
timerused as a timer (if you want time left to complete move, use timeLeft proc)

Procs

announce_shuttle_eventsLet people know shits about to go down
beforeShuttleMoveMisc move procs
calculate_docking_port_informationCalculated and populates the information used for docking and some internal vars. +This can also be used to calculate from shuttle_areas so that you can expand/shrink shuttles!
get_status_text_tguiGets shuttle location status in a form of string for tgui interfaces
initiate_dockingThis is the main proc. It instantly moves our mobile port to stationary port new_dock.
intoTheSunsetGhosts and marks as escaped (for greentext purposes) all mobs, then deletes the shuttle. +Used by the Shuttle Manipulator
postregisterActions to be taken after shuttle is loaded and has been moved to its final location
preflight_checkBoth lists are associative with a turf:bitflag structure. (new_turfs bitflag space unused currently) +The bitflag contains the data for what inhabitants of that coordinate should be moved to the new location +The bitflags can be found in __DEFINES/shuttles.dm
process_eventsProcess all the shuttle events for every shuttle tick we get
registerActions to be taken after shuttle is loaded but before it has been moved out of transit z-level to its final location
requestCalls the shuttle to the destination port, respecting its ignition and call timers
+

Var Details

alert_coeff + + + + +

+

Speed multiplier based on station alert level

callTime + + + + +

+

time spent in transit (deciseconds). Should not be lower then 10 seconds without editing the animation of the hyperspace ripples.

can_move_docking_ports + + + + +

+

if this shuttle can move docking ports other than the one it is docked at

current_engine_power + + + + +

+

How much engine power (thrust) the shuttle currently has.

engine_coeff + + + + +

+

How fast the shuttle should be, taking engine thrust into account.

engine_list + + + + +

+

List of all currently used engines that propels us.

event_list + + + + +

+

List of shuttle events that can run or are running

ignitionTime + + + + +

+

time spent "starting the engines". Also rate limits how often we try to reserve transit space if its ever full of transiting shuttles.

initial_engine_power + + + + +

+

How much engine power (thrust) the shuttle starts with at mapload.

mode + + + + +

+

current shuttle mode

movement_force + + + + +

+

Whether or not you want your ship to knock people down, and also whether it will throw them several tiles upon launching.

port_direction + + + + +

+

relative direction of the docking port from the front of the shuttle. NORTH is towards front, EAST would be starboard side, WEST port, etc.

prearrivalTime + + + + +

+

time spent after transit 'landing' before actually arriving

preferred_direction + + + + +

+

The direction the shuttle prefers to travel in, ie what direction the animation will cause it to appear to be traveling in

rechargeTime + + + + +

+

time spent after arrival before being able to begin ignition

shuttle_areas + + + + +

+

List of all areas our shuttle holds.

timer + + + + +

+

used as a timer (if you want time left to complete move, use timeLeft proc)

Proc Details

announce_shuttle_events +

+

Let people know shits about to go down

beforeShuttleMove +

+

Misc move procs

calculate_docking_port_information +

+

Calculated and populates the information used for docking and some internal vars. +This can also be used to calculate from shuttle_areas so that you can expand/shrink shuttles!

+

Arguments:

+
    +
  • loading_from - The template that the shuttle was loaded from, if not given we iterate shuttle_areas to calculate information instead
  • +

get_status_text_tgui +

+

Gets shuttle location status in a form of string for tgui interfaces

initiate_docking +

+

This is the main proc. It instantly moves our mobile port to stationary port new_dock.

intoTheSunset +

+

Ghosts and marks as escaped (for greentext purposes) all mobs, then deletes the shuttle. +Used by the Shuttle Manipulator

postregister +

+

Actions to be taken after shuttle is loaded and has been moved to its final location

+

Arguments:

+
    +
  • replace - TRUE if this shuttle is replacing an existing one. FALSE by default.
  • +

preflight_check +

+

Both lists are associative with a turf:bitflag structure. (new_turfs bitflag space unused currently) +The bitflag contains the data for what inhabitants of that coordinate should be moved to the new location +The bitflags can be found in __DEFINES/shuttles.dm

+

Hiding turfs if necessary

+

Unhiding turfs if necessary

process_events +

+

Process all the shuttle events for every shuttle tick we get

register +

+

Actions to be taken after shuttle is loaded but before it has been moved out of transit z-level to its final location

+

Arguments:

+
    +
  • replace - TRUE if this shuttle is replacing an existing one. FALSE by default.
  • +

request +

+

Calls the shuttle to the destination port, respecting its ignition and call timers

+

Arguments:

+
    +
  • destination_port - Stationary docking port to move the shuttle to
  • +
+ + + diff --git a/obj/docking_port/mobile/arrivals.html b/obj/docking_port/mobile/arrivals.html new file mode 100644 index 00000000000..7c87f92c0fc --- /dev/null +++ b/obj/docking_port/mobile/arrivals.html @@ -0,0 +1,40 @@ + + + + + + + /obj/docking_port/mobile/arrivals - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

arrivals + + + +

+ + +

Procs

QueueAnnounceQueues an announcement arrival.

Proc Details

QueueAnnounce +

+

Queues an announcement arrival.

+

Arguments:

+
    +
  • mob - The arriving mob.
  • +
  • rank - The job of the arriving mob.
  • +
+ + + diff --git a/obj/docking_port/mobile/emergency.html b/obj/docking_port/mobile/emergency.html new file mode 100644 index 00000000000..cb20c32cfde --- /dev/null +++ b/obj/docking_port/mobile/emergency.html @@ -0,0 +1,48 @@ + + + + + + + /obj/docking_port/mobile/emergency - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

emergency + + + +

+ + + +

Procs

elimination_hijackProc that handles checking if the emergency shuttle was successfully hijacked via being the only people present on the shuttle for the elimination hijack or highlander objective
setup_shuttle_eventsGenerate a list of events to run during the departure

Proc Details

elimination_hijack +

+

Proc that handles checking if the emergency shuttle was successfully hijacked via being the only people present on the shuttle for the elimination hijack or highlander objective

+

Checks for all mobs on the shuttle, checks their status, and checks if they're +borgs or simple animals. Depending on the args, certain mobs may be ignored, +and the presence of other antags may or may not invalidate a hijack. +Args: +filter_by_human, default TRUE, tells the proc that only humans should block a hijack. Borgs and animals are ignored and will not block if this is TRUE. +solo_hijack, default FALSE, tells the proc to fail with multiple hijackers, such as for Highlander mode.

setup_shuttle_events +

+

Generate a list of events to run during the departure

+ + + diff --git a/obj/docking_port/mobile/supply.html b/obj/docking_port/mobile/supply.html new file mode 100644 index 00000000000..4d53877076a --- /dev/null +++ b/obj/docking_port/mobile/supply.html @@ -0,0 +1,49 @@ + + + + + + + /obj/docking_port/mobile/supply - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

supply + + + +

+ + + + +

Procs

get_order_countTakes a supply pack, returns the amount we currently have on order (or OVER_ORDER_LIMIT if we are over the hardcap on orders of this type)
return_blacklisted_things_homeReturns anything on the cargo blacklist found within areas_to_check back to the turf of the home docking port via Centcom branded supply pod.
sellDeletes and sells the items on the shuttle

Proc Details

get_order_count +

+

Takes a supply pack, returns the amount we currently have on order (or OVER_ORDER_LIMIT if we are over the hardcap on orders of this type)

return_blacklisted_things_home +

+

Returns anything on the cargo blacklist found within areas_to_check back to the turf of the home docking port via Centcom branded supply pod.

sell +

+

Deletes and sells the items on the shuttle

+ + + diff --git a/obj/docking_port/stationary.html b/obj/docking_port/stationary.html new file mode 100644 index 00000000000..c4ce655f841 --- /dev/null +++ b/obj/docking_port/stationary.html @@ -0,0 +1,50 @@ + + + + + + + /obj/docking_port/stationary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stationary + + + +

+ + + + +

Vars

json_keyUsed to check if the shuttle template is enabled in the config file
override_can_dock_checksIf true, the shuttle can always dock at this docking port, despite its area checks, or if something is already docked
roundstart_templateMap template to load when the dock is loaded
+

Var Details

json_key + + + + +

+

Used to check if the shuttle template is enabled in the config file

override_can_dock_checks + + + + +

+

If true, the shuttle can always dock at this docking port, despite its area checks, or if something is already docked

roundstart_template + + + + +

+

Map template to load when the dock is loaded

+ + + diff --git a/obj/docking_port/stationary/escape_pod.html b/obj/docking_port/stationary/escape_pod.html new file mode 100644 index 00000000000..f6488aaff4c --- /dev/null +++ b/obj/docking_port/stationary/escape_pod.html @@ -0,0 +1,36 @@ + + + + + + + /obj/docking_port/stationary/escape_pod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

escape_pod + + + +

+ +

Subtype for escape pod ports so that we can give them trait behaviour

+

Vars

enforce_specific_podSet to true if you have a snowflake escape pod dock which needs to always have the normal pod or some other one
+

Var Details

enforce_specific_pod + + + + +

+

Set to true if you have a snowflake escape pod dock which needs to always have the normal pod or some other one

+ + + diff --git a/obj/docking_port/stationary/picked.html b/obj/docking_port/stationary/picked.html new file mode 100644 index 00000000000..dda0767e076 --- /dev/null +++ b/obj/docking_port/stationary/picked.html @@ -0,0 +1,36 @@ + + + + + + + /obj/docking_port/stationary/picked - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

picked + + + +

+ + +

Vars

shuttlekeysHolds a list of map name strings for the port to pick from
+

Var Details

shuttlekeys + + + + +

+

Holds a list of map name strings for the port to pick from

+ + + diff --git a/obj/docking_port/stationary/random.html b/obj/docking_port/stationary/random.html new file mode 100644 index 00000000000..adbed04671f --- /dev/null +++ b/obj/docking_port/stationary/random.html @@ -0,0 +1,43 @@ + + + + + + + /obj/docking_port/stationary/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

random + + + +

+ + + +

Vars

edge_distanceMinimal distance from the map edge, setting this too low can result in shuttle landing on the edge and getting "sliced"
target_areaThe area the pod tries to land at
+

Var Details

edge_distance + + + + +

+

Minimal distance from the map edge, setting this too low can result in shuttle landing on the edge and getting "sliced"

target_area + + + + +

+

The area the pod tries to land at

+ + + diff --git a/obj/docking_port/stationary/transit.html b/obj/docking_port/stationary/transit.html new file mode 100644 index 00000000000..b8b8a7ba206 --- /dev/null +++ b/obj/docking_port/stationary/transit.html @@ -0,0 +1,50 @@ + + + + + + + /obj/docking_port/stationary/transit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transit + + + +

+ + + + +

Vars

assigned_areaThe area created during the transit area reservation
ownerThe mobile port that owns this transit port
reserved_areaThe turf reservation returned by the transit area request
+

Var Details

assigned_area + + + + +

+

The area created during the transit area reservation

owner + + + + +

+

The mobile port that owns this transit port

reserved_area + + + + +

+

The turf reservation returned by the transit area request

+ + + diff --git a/obj/durand_shield.html b/obj/durand_shield.html new file mode 100644 index 00000000000..61d7a864469 --- /dev/null +++ b/obj/durand_shield.html @@ -0,0 +1,75 @@ + + + + + + + /obj/durand_shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

durand_shield + + + +

+ +

Shield processing +*An object to take the hit for us when using the Durand's defense mode. +It is spawned in during the durand's initilization, and always stays on the same tile. +Normally invisible, until defense mode is actvated. When the durand detects an attack that should be blocked, the +attack is passed to the shield. The shield takes the damage, uses it to calculate charge cost, and then sets its +own integrity back to max. Shield is automatically dropped if we run out of power or the user gets out.

+ + + +

Vars

chassisOur link back to the durand
switchingTo keep track of things during the animation

Procs

activateHandles activating and deactivating the shield.
make_invisibleSets invisibility to INVISIBILITY_MAXIMUM if defense mode is disabled
+

Var Details

chassis + + + + +

+

Our link back to the durand

switching + + + + +

+

To keep track of things during the animation

Proc Details

activate +

+

Handles activating and deactivating the shield.

+

This proc is called by a signal sent from the mech's action button and +relayed by the mech itself. The "forced" variable, signal_args[1], will +skip the to-pilot text and is meant for when the shield is disabled by +means other than the action button (like running out of power).

+

Arguments:

+
    +
  • source: the shield
  • +
  • owner: mob that activated the shield
  • +
  • signal_args: whether it's forced
  • +

make_invisible +

+

Sets invisibility to INVISIBILITY_MAXIMUM if defense mode is disabled

+

We need invisibility set to higher than 25 for the shield to not appear +in the right-click context menu, but if we do it too early, we miss the +deactivate animation. Hense, timer and this proc.

+ + + diff --git a/obj/effect/abstract/chasm_storage.html b/obj/effect/abstract/chasm_storage.html new file mode 100644 index 00000000000..69883d782d0 --- /dev/null +++ b/obj/effect/abstract/chasm_storage.html @@ -0,0 +1,41 @@ + + + + + + + /obj/effect/abstract/chasm_storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

chasm_storage + + + +

+ +

An abstract object which is basically just a bag that the chasm puts people inside

+

Procs

on_reviveCalled if something comes back to life inside the pit. Expected sources are badmins and changelings. +Ethereals should take enough damage to be smashed and not revive. +Arguments +escapee - Lucky guy who just came back to life at the bottom of a hole.

Proc Details

on_revive +

+

Called if something comes back to life inside the pit. Expected sources are badmins and changelings. +Ethereals should take enough damage to be smashed and not revive. +Arguments +escapee - Lucky guy who just came back to life at the bottom of a hole.

+ + + diff --git a/obj/effect/abstract/elevator_music_zone.html b/obj/effect/abstract/elevator_music_zone.html new file mode 100644 index 00000000000..7de2a59c4ea --- /dev/null +++ b/obj/effect/abstract/elevator_music_zone.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/abstract/elevator_music_zone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

elevator_music_zone + + + +

+ + + + + + + + +

Vars

linked_elevator_idWhat specific_transport_id do we link with?
rangeRadius around this map helper in which to play the sound
sound_playerProximity monitor which handles playing sounds to clients
soundloop_typeSound loop type to use

Procs

on_panel_depoweredStop sound loops if power is lost
on_panel_destroyedDie if panel is destroyed, although currently they are invincible
on_panel_poweredStart sound loops when power is restored
+

Var Details

linked_elevator_id + + + + +

+

What specific_transport_id do we link with?

range + + + + +

+

Radius around this map helper in which to play the sound

sound_player + + + + +

+

Proximity monitor which handles playing sounds to clients

soundloop_type + + + + +

+

Sound loop type to use

Proc Details

on_panel_depowered +

+

Stop sound loops if power is lost

on_panel_destroyed +

+

Die if panel is destroyed, although currently they are invincible

on_panel_powered +

+

Start sound loops when power is restored

+ + + diff --git a/obj/effect/abstract/info.html b/obj/effect/abstract/info.html new file mode 100644 index 00000000000..5e8ae29fe0b --- /dev/null +++ b/obj/effect/abstract/info.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/abstract/info - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

info + + + +

+ +

An info button that, when clicked, puts some text in the user's chat

+

Vars

info_textWhat should the info button display when clicked?
+

Var Details

info_text + + + + +

+

What should the info button display when clicked?

+ + + diff --git a/obj/effect/abstract/particle_holder.html b/obj/effect/abstract/particle_holder.html new file mode 100644 index 00000000000..dbe08d35b71 --- /dev/null +++ b/obj/effect/abstract/particle_holder.html @@ -0,0 +1,64 @@ + + + + + + + /obj/effect/abstract/particle_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

particle_holder + + + +

+ +

objects can only have one particle on them at a time, so we use these abstract effects to hold and display the effects. You know, so multiple particle effects can exist at once. +also because some objects do not display particles due to how their visuals are built

+ + + +

Vars

particle_flagsHolds info about how this particle emitter works +See \code__DEFINES\particles.dm

Procs

on_movesignal called when a parent that's been hooked into this moves +does a variety of checks to ensure overrides work out properly
parent_deletedNon movables don't delete contents on destroy, so we gotta do this
set_particle_positionSets the particles position to the passed coordinate list (X, Y, Z) +See [https://www.byond.com/docs/ref/#/{notes}/particles] for position documentation
+

Var Details

particle_flags + + + + +

+

Holds info about how this particle emitter works +See \code__DEFINES\particles.dm

Proc Details

on_move +

+

signal called when a parent that's been hooked into this moves +does a variety of checks to ensure overrides work out properly

parent_deleted +

+

Non movables don't delete contents on destroy, so we gotta do this

set_particle_position +

+

Sets the particles position to the passed coordinate list (X, Y, Z) +See [https://www.byond.com/docs/ref/#/{notes}/particles] for position documentation

+ + + diff --git a/obj/effect/abstract/surveillance_snare.html b/obj/effect/abstract/surveillance_snare.html new file mode 100644 index 00000000000..1616f2d7f21 --- /dev/null +++ b/obj/effect/abstract/surveillance_snare.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/abstract/surveillance_snare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

surveillance_snare + + + +

+ +

An invisible marker placed by a ranged guardian, alerts the owner when crossed

+ + + +

Vars

ownerWho do we notify when someone steps on us?

Procs

assign_ownerSet up crossed notification
on_enteredWhen crossed notify our owner
owner_destroyedIf the person who placed us doesn't exist we might as well die
+

Var Details

owner + + + + +

+

Who do we notify when someone steps on us?

Proc Details

assign_owner +

+

Set up crossed notification

on_entered +

+

When crossed notify our owner

owner_destroyed +

+

If the person who placed us doesn't exist we might as well die

+ + + diff --git a/obj/effect/anomaly.html b/obj/effect/anomaly.html new file mode 100644 index 00000000000..e6dfddfaee8 --- /dev/null +++ b/obj/effect/anomaly.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/anomaly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

anomaly + + + +

+ + + + + +

Vars

drops_coreDo we drop a core when we're neutralized?
immobileDo we stay in one place?
immortalDo we keep on living forever?

Procs

stabilizeStabilize an anomaly, letting it stay around forever or untill destabilizes by a player. An anomaly without a core can't be signalled, but can be destabilized
+

Var Details

drops_core + + + + +

+

Do we drop a core when we're neutralized?

immobile + + + + +

+

Do we stay in one place?

immortal + + + + +

+

Do we keep on living forever?

Proc Details

stabilize +

+

Stabilize an anomaly, letting it stay around forever or untill destabilizes by a player. An anomaly without a core can't be signalled, but can be destabilized

+ + + diff --git a/obj/effect/anomaly/bioscrambler.html b/obj/effect/anomaly/bioscrambler.html new file mode 100644 index 00000000000..7602ca7e4d2 --- /dev/null +++ b/obj/effect/anomaly/bioscrambler.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/anomaly/bioscrambler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bioscrambler + + + +

+ + + + +

Vars

pulse_cooldownCooldown for every anomaly pulse
pulse_delayHow many seconds between each anomaly pulses
rangeRange of the anomaly pulse
+

Var Details

pulse_cooldown + + + + +

+

Cooldown for every anomaly pulse

pulse_delay + + + + +

+

How many seconds between each anomaly pulses

range + + + + +

+

Range of the anomaly pulse

+ + + diff --git a/obj/effect/anomaly/bluespace.html b/obj/effect/anomaly/bluespace.html new file mode 100644 index 00000000000..dd52138c5f1 --- /dev/null +++ b/obj/effect/anomaly/bluespace.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/anomaly/bluespace - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bluespace + + + +

+ + + +

Vars

teleport_distanceDistance we can teleport someone passively
teleport_rangerange from which we can teleport someone
+

Var Details

teleport_distance + + + + +

+

Distance we can teleport someone passively

teleport_range + + + + +

+

range from which we can teleport someone

+ + + diff --git a/obj/effect/anomaly/dimensional.html b/obj/effect/anomaly/dimensional.html new file mode 100644 index 00000000000..bfa28bd3a57 --- /dev/null +++ b/obj/effect/anomaly/dimensional.html @@ -0,0 +1,87 @@ + + + + + + + /obj/effect/anomaly/dimensional - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dimensional + + + +

+ + + + + + + + + +

Vars

rangeRange of effect, if left alone anomaly will convert a 2(range)+1 squared area.
target_turfsList of turfs this anomaly will try to transform before relocating
themeCurrent anomaly 'theme', dictates what tiles to create.
theme_iconEffect displaying on the anomaly to represent the theme.

Procs

apply_theme_iconApplies an overlay icon based on the current theme.
prepare_areaPrepare a new area for transformation into a new theme. +Optionally pass in the typepath of an anomaly theme to use that one.
relocateMoves the anomaly somewhere else and announces it.
transmute_areaTransforms a turf in our prepared area.
+

Var Details

range + + + + +

+

Range of effect, if left alone anomaly will convert a 2(range)+1 squared area.

target_turfs + + + + +

+

List of turfs this anomaly will try to transform before relocating

theme + + + + +

+

Current anomaly 'theme', dictates what tiles to create.

theme_icon + + + + +

+

Effect displaying on the anomaly to represent the theme.

Proc Details

apply_theme_icon +

+

Applies an overlay icon based on the current theme.

prepare_area +

+

Prepare a new area for transformation into a new theme. +Optionally pass in the typepath of an anomaly theme to use that one.

relocate +

+

Moves the anomaly somewhere else and announces it.

transmute_area +

+

Transforms a turf in our prepared area.

+ + + diff --git a/obj/effect/anomaly/ectoplasm.html b/obj/effect/anomaly/ectoplasm.html new file mode 100644 index 00000000000..8513e8720df --- /dev/null +++ b/obj/effect/anomaly/ectoplasm.html @@ -0,0 +1,59 @@ + + + + + + + /obj/effect/anomaly/ectoplasm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ectoplasm + + + +

+ + + + + +

Vars

effect_powerThe numerical power of the anomaly. Calculated in anomalyEffect. Also used in determining the category of detonation effects.
ghosts_orbitingThe actual number of ghosts orbiting the anomaly.
override_ghostsBlocks the anomaly from updating ghost count. Used in case an admin wants to rig the anomaly to be a certain size or intensity.

Procs

intensity_updateManages updating the sprite for the anomaly based on how many orbiters it has.
+

Var Details

effect_power + + + + +

+

The numerical power of the anomaly. Calculated in anomalyEffect. Also used in determining the category of detonation effects.

ghosts_orbiting + + + + +

+

The actual number of ghosts orbiting the anomaly.

override_ghosts + + + + +

+

Blocks the anomaly from updating ghost count. Used in case an admin wants to rig the anomaly to be a certain size or intensity.

Proc Details

intensity_update +

+

Manages updating the sprite for the anomaly based on how many orbiters it has.

+

A check that is run to determine which sprite the anoamly should currently be displaying. +With 50% or more participation, the "heavy" sprite is used. Otherwise, it is reverted to the normal anomaly sprite.

+ + + diff --git a/obj/effect/anomaly/flux/big.html b/obj/effect/anomaly/flux/big.html new file mode 100644 index 00000000000..0fb97fc42d2 --- /dev/null +++ b/obj/effect/anomaly/flux/big.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/anomaly/flux/big - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

big + + + +

+ +

Bigger, meaner, immortal flux anomaly

+ + +

Vars

zap_flagsthe zappy flags
zap_powerstrength of the zappy
zap_rangerange in whuich we zap
+

Var Details

zap_flags + + + + +

+

the zappy flags

zap_power + + + + +

+

strength of the zappy

zap_range + + + + +

+

range in whuich we zap

+ + + diff --git a/obj/effect/anomaly/grav.html b/obj/effect/anomaly/grav.html new file mode 100644 index 00000000000..33a1661b381 --- /dev/null +++ b/obj/effect/anomaly/grav.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/anomaly/grav - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grav + + + +

+ + +

Vars

warpWarp effect holder for displacement filter to "pulse" the anomaly
+

Var Details

warp + + + + +

+

Warp effect holder for displacement filter to "pulse" the anomaly

+ + + diff --git a/obj/effect/anomaly/hallucination.html b/obj/effect/anomaly/hallucination.html new file mode 100644 index 00000000000..bcf60b5a679 --- /dev/null +++ b/obj/effect/anomaly/hallucination.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/anomaly/hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hallucination + + + +

+ + + + +

Vars

messagesMessages sent to people feeling the pulses
release_delayHow many seconds between each small hallucination pulses
ticksTime passed since the last effect, increased by seconds_per_tick of the SSobj
+

Var Details

messages + + + + +

+

Messages sent to people feeling the pulses

release_delay + + + + +

+

How many seconds between each small hallucination pulses

ticks + + + + +

+

Time passed since the last effect, increased by seconds_per_tick of the SSobj

+ + + diff --git a/obj/effect/anomaly/pyro.html b/obj/effect/anomaly/pyro.html new file mode 100644 index 00000000000..0e8e7195633 --- /dev/null +++ b/obj/effect/anomaly/pyro.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/anomaly/pyro - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pyro + + + +

+ + +

Vars

releasedelayHow many seconds between each gas release
+

Var Details

releasedelay + + + + +

+

How many seconds between each gas release

+ + + diff --git a/obj/effect/baseturf_helper.html b/obj/effect/baseturf_helper.html new file mode 100644 index 00000000000..7f71c442ea6 --- /dev/null +++ b/obj/effect/baseturf_helper.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/baseturf_helper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

baseturf_helper + + + +

+ + + + +

Vars

baseturfThe desired bottom turf
baseturf_to_replaceReplacing a specific turf

Procs

replace_baseturfReplaces all the requested baseturfs (usually space/baseturfbottom) with the desired baseturf. Skips if its already there
+

Var Details

baseturf + + + + +

+

The desired bottom turf

baseturf_to_replace + + + + +

+

Replacing a specific turf

Proc Details

replace_baseturf +

+

Replaces all the requested baseturfs (usually space/baseturfbottom) with the desired baseturf. Skips if its already there

+ + + diff --git a/obj/effect/brimbeam.html b/obj/effect/brimbeam.html new file mode 100644 index 00000000000..9503807907e --- /dev/null +++ b/obj/effect/brimbeam.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/brimbeam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

brimbeam + + + +

+ +

Segments of the actual beam, these hurt if you stand in them

+ + + +

Vars

creatorWho made us?

Procs

assign_creatorIgnore damage dealt to this mob
damageHurt the passed mob
disperseDisappear
+

Var Details

creator + + + + +

+

Who made us?

Proc Details

assign_creator +

+

Ignore damage dealt to this mob

damage +

+

Hurt the passed mob

disperse +

+

Disappear

+ + + diff --git a/obj/effect/bump_teleporter.html b/obj/effect/bump_teleporter.html new file mode 100644 index 00000000000..a894baf2adc --- /dev/null +++ b/obj/effect/bump_teleporter.html @@ -0,0 +1,64 @@ + + + + + + + /obj/effect/bump_teleporter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bump_teleporter + + + +

+ +

Abstract effect, that when a mob touches it, it will forceMove them to the teleporter-exit point (that matches the ID set map-side).

+ + + + +

Vars

AllTeleportersList of all teleporters in the world.
idid of this bump_teleporter.
id_targetid of bump_teleporter which this moves you to.

Procs

teleport_actionActually move our target atom from one position to another. Return TRUE if everything is fine. Override this proc on subtypes for specific teleportation methods.
validate_setupCheck to see if our teleporter was set up correctly mapside. Return TRUE if everything is fine, FALSE if not.
+

Var Details

AllTeleporters + + + + +

+

List of all teleporters in the world.

id + + + + +

+

id of this bump_teleporter.

id_target + + + + +

+

id of bump_teleporter which this moves you to.

Proc Details

teleport_action +

+

Actually move our target atom from one position to another. Return TRUE if everything is fine. Override this proc on subtypes for specific teleportation methods.

validate_setup +

+

Check to see if our teleporter was set up correctly mapside. Return TRUE if everything is fine, FALSE if not.

+ + + diff --git a/obj/effect/bump_teleporter/filtering.html b/obj/effect/bump_teleporter/filtering.html new file mode 100644 index 00000000000..3b59ed5f2fc --- /dev/null +++ b/obj/effect/bump_teleporter/filtering.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/bump_teleporter/filtering - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

filtering + + + +

+ +

Subtype that uses do_teleport instead, to leverage any NO_TELEPORT traits that you might need to add in a given map

+

Procs

teleport_actionAs promised in the name of this subtype, use do_teleport to leverage all of the filtering checks that it does.

Proc Details

teleport_action +

+

As promised in the name of this subtype, use do_teleport to leverage all of the filtering checks that it does.

+ + + diff --git a/obj/effect/client_image_holder.html b/obj/effect/client_image_holder.html new file mode 100644 index 00000000000..dce863dee95 --- /dev/null +++ b/obj/effect/client_image_holder.html @@ -0,0 +1,129 @@ + + + + + + + /obj/effect/client_image_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

client_image_holder + + + +

+ +

Simple effect that holds an image +to be shown to one or multiple clients only.

+

Pass a list of mobs in initialize() that corresponds to all mobs that can see it.

+ + + + + + + + + + + + + +

Vars

image_colorOptional, the color of the image
image_iconThe icon file the image uses. If null, we have no image
image_layerThe layer of the image
image_pixel_xThe x pixel offset of the image
image_pixel_yThe y pixel offset of the image
image_planeThe plane of the image
image_stateThe icon state the image uses
shown_imageThe created image, what we look like.
who_sees_usA list of mobs which can see us.

Procs

generate_imageGenerates the image which we take on.
hide_image_fromHides the image we generated from the passed mob
regenerate_imageSimple helper for refreshing / showing the image to everyone in our list.
remove_seerSignal proc to clean up references if people who see us are deleted.
show_image_toShows the image we generated to the passed mob
+

Var Details

image_color + + + + +

+

Optional, the color of the image

image_icon + + + + +

+

The icon file the image uses. If null, we have no image

image_layer + + + + +

+

The layer of the image

image_pixel_x + + + + +

+

The x pixel offset of the image

image_pixel_y + + + + +

+

The y pixel offset of the image

image_plane + + + + +

+

The plane of the image

image_state + + + + +

+

The icon state the image uses

shown_image + + + + +

+

The created image, what we look like.

who_sees_us + + + + +

+

A list of mobs which can see us.

Proc Details

generate_image +

+

Generates the image which we take on.

hide_image_from +

+

Hides the image we generated from the passed mob

regenerate_image +

+

Simple helper for refreshing / showing the image to everyone in our list.

remove_seer +

+

Signal proc to clean up references if people who see us are deleted.

show_image_to +

+

Shows the image we generated to the passed mob

+ + + diff --git a/obj/effect/client_image_holder/hallucination.html b/obj/effect/client_image_holder/hallucination.html new file mode 100644 index 00000000000..367f0cfd6ea --- /dev/null +++ b/obj/effect/client_image_holder/hallucination.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/client_image_holder/hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hallucination + + + +

+ +

A client-side image effect tied to the existence of a hallucination.

+ +

Vars

parentThe hallucination that created us.

Procs

parent_deletingSignal proc for COMSIG_QDELETING, if our associated hallucination deletes, we should too
+

Var Details

parent + + + + +

+

The hallucination that created us.

Proc Details

parent_deleting +

+

Signal proc for COMSIG_QDELETING, if our associated hallucination deletes, we should too

+ + + diff --git a/obj/effect/client_image_holder/hallucination/danger.html b/obj/effect/client_image_holder/hallucination/danger.html new file mode 100644 index 00000000000..28f9f6999f3 --- /dev/null +++ b/obj/effect/client_image_holder/hallucination/danger.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/client_image_holder/hallucination/danger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

danger + + + +

+ +

These hallucination effects cause side effects when the hallucinator walks into them.

+

Procs

on_hallucinator_enteredApplies effects whenever the hallucinator enters the turf with our hallucination present.

Proc Details

on_hallucinator_entered +

+

Applies effects whenever the hallucinator enters the turf with our hallucination present.

+ + + diff --git a/obj/effect/client_image_holder/hallucination/fake_door_lock.html b/obj/effect/client_image_holder/hallucination/fake_door_lock.html new file mode 100644 index 00000000000..71ba06ceffa --- /dev/null +++ b/obj/effect/client_image_holder/hallucination/fake_door_lock.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/client_image_holder/hallucination/fake_door_lock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fake_door_lock + + + +

+ + +

Vars

airlockThe real airlock we're fake bolting down.
+

Var Details

airlock + + + + +

+

The real airlock we're fake bolting down.

+ + + diff --git a/obj/effect/client_image_holder/hallucination/xeno.html b/obj/effect/client_image_holder/hallucination/xeno.html new file mode 100644 index 00000000000..7b8d86232d8 --- /dev/null +++ b/obj/effect/client_image_holder/hallucination/xeno.html @@ -0,0 +1,42 @@ + + + + + + + /obj/effect/client_image_holder/hallucination/xeno - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

xeno + + + +

+ +

The xeno hallucination that goes with the xeno attack hallucination.

+ +

Procs

set_leapingSets our icon to look like we're leaping.
set_unleapingResets our icon to our initial state.

Proc Details

set_leaping +

+

Sets our icon to look like we're leaping.

set_unleaping +

+

Resets our icon to our initial state.

+ + + diff --git a/obj/effect/collapse.html b/obj/effect/collapse.html new file mode 100644 index 00000000000..cf79309a890 --- /dev/null +++ b/obj/effect/collapse.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/collapse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

collapse + + + +

+ + + + +

Vars

collectedweakref list of which mobs have gotten their loot from this effect.
emitted_lighta bit of light as to make less unfair deaths from the chasm

Procs

has_collectedHelper proc that resolves weakrefs to determine if collector is in collected list, returning a boolean.
+

Var Details

collected + + + + +

+

weakref list of which mobs have gotten their loot from this effect.

emitted_light + + + + +

+

a bit of light as to make less unfair deaths from the chasm

Proc Details

has_collected +

+

Helper proc that resolves weakrefs to determine if collector is in collected list, returning a boolean.

+ + + diff --git a/obj/effect/collapsing_demonic_portal.html b/obj/effect/collapsing_demonic_portal.html new file mode 100644 index 00000000000..5fb452f0f2b --- /dev/null +++ b/obj/effect/collapsing_demonic_portal.html @@ -0,0 +1,42 @@ + + + + + + + /obj/effect/collapsing_demonic_portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

collapsing_demonic_portal + + + +

+ + + +

Procs

collapseHandles portal deletion
drop_lootDrops loot from the portal

Proc Details

collapse +

+

Handles portal deletion

drop_loot +

+

Drops loot from the portal

+ + + diff --git a/obj/effect/cosmic_rune.html b/obj/effect/cosmic_rune.html new file mode 100644 index 00000000000..3048479e61c --- /dev/null +++ b/obj/effect/cosmic_rune.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/cosmic_rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cosmic_rune + + + +

+ +

A rune that allows you to teleport to the location of a linked rune.

+ + + + + +

Vars

linked_runeThe other rune this rune is linked with
rune_effectEffect for when someone teleports

Procs

fail_invokeFor if someone failed to invoke the rune
invokeFor invoking the rune
link_runeFor linking a new rune
unlink_runeUsed for unlinking the other rune if this rune gets destroyed
+

Var Details

linked_rune + + + + +

+

The other rune this rune is linked with

rune_effect + + + + +

+

Effect for when someone teleports

Proc Details

fail_invoke +

+

For if someone failed to invoke the rune

invoke +

+

For invoking the rune

+

For linking a new rune

+

Used for unlinking the other rune if this rune gets destroyed

+ + + diff --git a/obj/effect/cross_action/spacetime_dist.html b/obj/effect/cross_action/spacetime_dist.html new file mode 100644 index 00000000000..082176c9757 --- /dev/null +++ b/obj/effect/cross_action/spacetime_dist.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/cross_action/spacetime_dist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spacetime_dist + + + +

+ + +

Vars

antimagic_flagsA flags which save people from being thrown about
+

Var Details

antimagic_flags + + + + +

+

A flags which save people from being thrown about

+ + + diff --git a/obj/effect/decal.html b/obj/effect/decal.html new file mode 100644 index 00000000000..9ed2d20fcdd --- /dev/null +++ b/obj/effect/decal.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/decal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

decal + + + +

+ + +

Procs

NeverShouldHaveComeHereChecks if we are allowed to be in here_turf, and returns that result. Subtypes should override this when necessary.

Proc Details

NeverShouldHaveComeHere +

+

Checks if we are allowed to be in here_turf, and returns that result. Subtypes should override this when necessary.

+ + + diff --git a/obj/effect/decal/chempuff.html b/obj/effect/decal/chempuff.html new file mode 100644 index 00000000000..a8ff88bd7e1 --- /dev/null +++ b/obj/effect/decal/chempuff.html @@ -0,0 +1,80 @@ + + + + + + + /obj/effect/decal/chempuff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chempuff + + + +

+ + + + + + + + +

Vars

lifetimeHow many interactions we have left before we disappear early
logging_stringString used in combat logs containing reagents present for when the puff hits something
sprayerThe sprayer who fired this puff
streamAre we a part of a stream?
userThe mob who sourced this puff, if one exists

Procs

spray_down_atomActually handles exposing the passed atom to the reagents and logging
spray_down_turfHandles going through every movable on the passed turf and calling [spray_down_atom] on them.
+

Var Details

lifetime + + + + +

+

How many interactions we have left before we disappear early

logging_string + + + + +

+

String used in combat logs containing reagents present for when the puff hits something

sprayer + + + + +

+

The sprayer who fired this puff

stream + + + + +

+

Are we a part of a stream?

user + + + + +

+

The mob who sourced this puff, if one exists

Proc Details

spray_down_atom +

+

Actually handles exposing the passed atom to the reagents and logging

spray_down_turf +

+

Handles going through every movable on the passed turf and calling [spray_down_atom] on them.

+

[travelled_max_distance] is used to determine if we're at the end of the life, as in some +contexts an atom may or may not end up being exposed depending on how far we've travelled.

+ + + diff --git a/obj/effect/decal/cleanable.html b/obj/effect/decal/cleanable.html new file mode 100644 index 00000000000..41a75ea33e0 --- /dev/null +++ b/obj/effect/decal/cleanable.html @@ -0,0 +1,85 @@ + + + + + + + /obj/effect/decal/cleanable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cleanable + + + +

+ + + + + + + + + +

Vars

blood_stateI'm sorry but cleanable/blood code is ass, and so is blood_DNA
bloodiness0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints
clean_typeThe type of cleaning required to clean the decal. See __DEFINES/cleaning.dm for the options
decal_reagentThe reagent this decal holds. Leave blank for none.
mergeable_decalWhen two of these are on a same tile or do we need to merge them into just one?
reagent_amountThe amount of reagent this decal holds, if decal_reagent is defined

Procs

can_bloodcrawl_inChecks if this decal is a valid decal that can be blood crawled in.
get_blood_colorGets the color associated with the any blood present on this decal. If there is no blood, returns null.
+

Var Details

blood_state + + + + +

+

I'm sorry but cleanable/blood code is ass, and so is blood_DNA

bloodiness + + + + +

+

0-100, amount of blood in this decal, used for making footprints and affecting the alpha of bloody footprints

clean_type + + + + +

+

The type of cleaning required to clean the decal. See __DEFINES/cleaning.dm for the options

decal_reagent + + + + +

+

The reagent this decal holds. Leave blank for none.

mergeable_decal + + + + +

+

When two of these are on a same tile or do we need to merge them into just one?

reagent_amount + + + + +

+

The amount of reagent this decal holds, if decal_reagent is defined

Proc Details

can_bloodcrawl_in +

+

Checks if this decal is a valid decal that can be blood crawled in.

get_blood_color +

+

Gets the color associated with the any blood present on this decal. If there is no blood, returns null.

+ + + diff --git a/obj/effect/decal/cleanable/ants.html b/obj/effect/decal/cleanable/ants.html new file mode 100644 index 00000000000..62a1f7193b4 --- /dev/null +++ b/obj/effect/decal/cleanable/ants.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/decal/cleanable/ants - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ants + + + +

+ + + +

Vars

bite_soundSound the ants make when biting

Procs

update_icon_stateSmall amounts of ants won't be able to bite through shoes.
+

Var Details

bite_sound + + + + +

+

Sound the ants make when biting

Proc Details

update_icon_state +

+

Small amounts of ants won't be able to bite through shoes.

+ + + diff --git a/obj/effect/decal/cleanable/blood.html b/obj/effect/decal/cleanable/blood.html new file mode 100644 index 00000000000..a7bc951b653 --- /dev/null +++ b/obj/effect/decal/cleanable/blood.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/decal/cleanable/blood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blood + + + +

+ + +

Procs

dryThis is what actually "dries" the blood. Returns true if it's all out of blood to dry, and false otherwise

Proc Details

dry +

+

This is what actually "dries" the blood. Returns true if it's all out of blood to dry, and false otherwise

+ + + diff --git a/obj/effect/decal/cleanable/blood/footprints.html b/obj/effect/decal/cleanable/blood/footprints.html new file mode 100644 index 00000000000..90360d042e3 --- /dev/null +++ b/obj/effect/decal/cleanable/blood/footprints.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/decal/cleanable/blood/footprints - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

footprints + + + +

+ + + +

Vars

shoe_typesList of shoe or other clothing that covers feet types that have made footprints here.
species_typesList of species that have made footprints here.
+

Var Details

shoe_types + + + + +

+

List of shoe or other clothing that covers feet types that have made footprints here.

species_types + + + + +

+

List of species that have made footprints here.

+ + + diff --git a/obj/effect/decal/cleanable/blood/gibs.html b/obj/effect/decal/cleanable/blood/gibs.html new file mode 100644 index 00000000000..fce8761f8b3 --- /dev/null +++ b/obj/effect/decal/cleanable/blood/gibs.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/decal/cleanable/blood/gibs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gibs + + + +

+ + +

Vars

streak_diseasesInformation about the diseases our streaking spawns
+

Var Details

streak_diseases + + + + +

+

Information about the diseases our streaking spawns

+ + + diff --git a/obj/effect/decal/cleanable/blood/hitsplatter.html b/obj/effect/decal/cleanable/blood/hitsplatter.html new file mode 100644 index 00000000000..91f1a952c95 --- /dev/null +++ b/obj/effect/decal/cleanable/blood/hitsplatter.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/decal/cleanable/blood/hitsplatter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hitsplatter + + + +

+ + + + + + + + +

Vars

blood_dna_infoThe cached info about the blood
hit_endpointInsurance so that we don't keep moving once we hit a stoppoint
prev_locThe turf we just came from, so we can back up when we hit a wall
skipSkip making the final blood splatter when we're done, like if we're not in a turf
splatter_strengthHow many tiles/items/people we can paint red

Procs

fly_towardsSet the splatter up to fly through the air until it rounds out of steam or hits something
land_on_windowA special case for hitsplatters hitting windows, since those can actually be moved around, store it in the window and slap it in the vis_contents
+

Var Details

blood_dna_info + + + + +

+

The cached info about the blood

hit_endpoint + + + + +

+

Insurance so that we don't keep moving once we hit a stoppoint

prev_loc + + + + +

+

The turf we just came from, so we can back up when we hit a wall

skip + + + + +

+

Skip making the final blood splatter when we're done, like if we're not in a turf

splatter_strength + + + + +

+

How many tiles/items/people we can paint red

Proc Details

fly_towards +

+

Set the splatter up to fly through the air until it rounds out of steam or hits something

land_on_window +

+

A special case for hitsplatters hitting windows, since those can actually be moved around, store it in the window and slap it in the vis_contents

+ + + diff --git a/obj/effect/decal/cleanable/fuel_pool.html b/obj/effect/decal/cleanable/fuel_pool.html new file mode 100644 index 00000000000..f355681ebb8 --- /dev/null +++ b/obj/effect/decal/cleanable/fuel_pool.html @@ -0,0 +1,75 @@ + + + + + + + /obj/effect/decal/cleanable/fuel_pool - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fuel_pool + + + +

+ + + + + + + +

Vars

burn_amountMaximum amount of hotspots this pool can create before deleting itself
burningIs this fuel pool currently burning?
hotspot_typeType of hotspot fuel pool spawns upon being ignited

Procs

burn_processSpends 1 burn_amount and spawns a hotspot. If burn_amount is equal to 0, deletes the fuel pool. +Else, queues another call of this proc upon hotspot getting deleted and ignites other fuel pools around itself after 0.5 seconds. +THIS SHOULD NOT BE CALLED DIRECTLY.
igniteIgnites the fuel pool. This should be the only way to ignite fuel pools.
ignite_othersIgnites other oil pools around itself.
+

Var Details

burn_amount + + + + +

+

Maximum amount of hotspots this pool can create before deleting itself

burning + + + + +

+

Is this fuel pool currently burning?

hotspot_type + + + + +

+

Type of hotspot fuel pool spawns upon being ignited

Proc Details

burn_process +

+

Spends 1 burn_amount and spawns a hotspot. If burn_amount is equal to 0, deletes the fuel pool. +Else, queues another call of this proc upon hotspot getting deleted and ignites other fuel pools around itself after 0.5 seconds. +THIS SHOULD NOT BE CALLED DIRECTLY.

ignite +

+

Ignites the fuel pool. This should be the only way to ignite fuel pools.

ignite_others +

+

Ignites other oil pools around itself.

+ + + diff --git a/obj/effect/decal/cleanable/traitor_rune.html b/obj/effect/decal/cleanable/traitor_rune.html new file mode 100644 index 00000000000..05867984118 --- /dev/null +++ b/obj/effect/decal/cleanable/traitor_rune.html @@ -0,0 +1,81 @@ + + + + + + + /obj/effect/decal/cleanable/traitor_rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

traitor_rune + + + +

+ + + + + + + +

Vars

clean_proofWhether we protect the rune from being cleaned up
demoraliserProximity sensor to make people sad if they're nearby
drawn_stageThe stage of drawing we have reached
protected_timerTimer until the rune can be cleaned up off the floor

Procs

set_stageSets the "drawing stage" of the rune. +This affects the appearance, behaviour, and description of the effect.
slipMakes someone fall over. If it's not the traitor, this counts as demoralising the crew.
+

Var Details

clean_proof + + + + +

+

Whether we protect the rune from being cleaned up

demoraliser + + + + +

+

Proximity sensor to make people sad if they're nearby

drawn_stage + + + + +

+

The stage of drawing we have reached

protected_timer + + + + +

+

Timer until the rune can be cleaned up off the floor

Proc Details

set_stage +

+

Sets the "drawing stage" of the rune. +This affects the appearance, behaviour, and description of the effect.

+

Arguments

+
    +
  • stage - new stage to apply
  • +

slip +

+

Makes someone fall over. If it's not the traitor, this counts as demoralising the crew.

+

Arguments

+
    +
  • victim - whoever just slipped, point and laugh at them
  • +
+ + + diff --git a/obj/effect/decal/remains/human/smokey.html b/obj/effect/decal/remains/human/smokey.html new file mode 100644 index 00000000000..391a2f7ab58 --- /dev/null +++ b/obj/effect/decal/remains/human/smokey.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/decal/remains/human/smokey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

smokey + + + +

+ + + +

Vars

proximity_monitorOur proximity monitor, for detecting nearby looters.
that_shit_that_killed_saddamThe reagent we will release when our remains are disturbed.
+

Var Details

proximity_monitor + + + + +

+

Our proximity monitor, for detecting nearby looters.

that_shit_that_killed_saddam + + + + +

+

The reagent we will release when our remains are disturbed.

+ + + diff --git a/obj/effect/dummy/lighting_obj.html b/obj/effect/dummy/lighting_obj.html new file mode 100644 index 00000000000..013984f7579 --- /dev/null +++ b/obj/effect/dummy/lighting_obj.html @@ -0,0 +1,30 @@ + + + + + + + /obj/effect/dummy/lighting_obj - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

lighting_obj + + + +

+ +

Basically, a fake object that emits light.

+

Why is this used sometimes instead of giving atoms light values directly? +Because using these, you can have multiple light sources in a single object.

+ + + diff --git a/obj/effect/dummy/phased_mob.html b/obj/effect/dummy/phased_mob.html new file mode 100644 index 00000000000..a3f18f439ca --- /dev/null +++ b/obj/effect/dummy/phased_mob.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/dummy/phased_mob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

phased_mob + + + +

+ + + + + + + +

Vars

jaunterThe movable which's jaunting in this dummy
movedelayThe delay between moves while jaunted
movespeedThe speed of movement while jaunted

Procs

eject_jaunterRemoves [jaunter] from our phased mob
phased_checkChecks if the conditions are valid to be able to phase. Returns a turf destination if positive.
set_jaunterSets [new_jaunter] as our jaunter, forcemoves them into our contents
+

Var Details

jaunter + + + + +

+

The movable which's jaunting in this dummy

movedelay + + + + +

+

The delay between moves while jaunted

movespeed + + + + +

+

The speed of movement while jaunted

Proc Details

eject_jaunter +

+

Removes [jaunter] from our phased mob

phased_check +

+

Checks if the conditions are valid to be able to phase. Returns a turf destination if positive.

set_jaunter +

+

Sets [new_jaunter] as our jaunter, forcemoves them into our contents

+ + + diff --git a/obj/effect/dummy/phased_mob/shadow.html b/obj/effect/dummy/phased_mob/shadow.html new file mode 100644 index 00000000000..5c04701e638 --- /dev/null +++ b/obj/effect/dummy/phased_mob/shadow.html @@ -0,0 +1,87 @@ + + + + + + + /obj/effect/dummy/phased_mob/shadow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shadow + + + +

+ + + + + + + + +

Vars

healing_rateThe amount that shadow heals us per SSobj tick (times seconds_per_tick)
light_alert_givenHas the jaunter recently received a warning about light?
light_maxMax amount of light permitted before being kicked out
light_step_cooldownWhen cooldown is active, you are prevented from moving into tiles that would eject you from your jaunt

Procs

check_light_levelChecks the light level. If above the minimum acceptable amount (0.2), returns TRUE.
light_step_warningChecks if the user should receive a warning that they're moving into light.
reactivate_light_alertSets light_alert_given to false.
+

Var Details

healing_rate + + + + +

+

The amount that shadow heals us per SSobj tick (times seconds_per_tick)

light_alert_given + + + + +

+

Has the jaunter recently received a warning about light?

light_max + + + + +

+

Max amount of light permitted before being kicked out

light_step_cooldown + + + + +

+

When cooldown is active, you are prevented from moving into tiles that would eject you from your jaunt

Proc Details

check_light_level +

+

Checks the light level. If above the minimum acceptable amount (0.2), returns TRUE.

+

Checks the light level of a given location to see if it is too bright to +continue a jaunt in. Returns FALSE if it's acceptably dark, and TRUE if it is too bright.

+
    +
  • location_to_check - The location to have its light level checked.
  • +

light_step_warning +

+

Checks if the user should receive a warning that they're moving into light.

+

Checks the cooldown for the warning message on moving into the light. +If the message has been displayed, and the cooldown (delay period) is complete, returns TRUE.

reactivate_light_alert +

+

Sets light_alert_given to false.

+

Sets light_alert_given to false, making the light alert pop up and intercept movement once again. +Added in its own proc to reset the alert without having to call light_step_warning().

+ + + diff --git a/obj/effect/dummy/phased_mob/spell_jaunt.html b/obj/effect/dummy/phased_mob/spell_jaunt.html new file mode 100644 index 00000000000..18fa2993b7d --- /dev/null +++ b/obj/effect/dummy/phased_mob/spell_jaunt.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/dummy/phased_mob/spell_jaunt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spell_jaunt + + + +

+ +

The dummy that holds people jaunting. Maybe one day we can replace it.

+

Vars

reappearingWhether we're currently reappearing - we can't move if so
+

Var Details

reappearing + + + + +

+

Whether we're currently reappearing - we can't move if so

+ + + diff --git a/obj/effect/floating_blade.html b/obj/effect/floating_blade.html new file mode 100644 index 00000000000..3de7b51b6c8 --- /dev/null +++ b/obj/effect/floating_blade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/floating_blade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

floating_blade + + + +

+ + +

Vars

glow_colorThe color the knife glows around it.
+

Var Details

glow_color + + + + +

+

The color the knife glows around it.

+ + + diff --git a/obj/effect/forcefield.html b/obj/effect/forcefield.html new file mode 100644 index 00000000000..83bb4d9e3f9 --- /dev/null +++ b/obj/effect/forcefield.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/forcefield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

forcefield + + + +

+ + +

Vars

initial_durationIf set, how long the force field lasts after it's created. Set to 0 to have infinite duration forcefields.
+

Var Details

initial_duration + + + + +

+

If set, how long the force field lasts after it's created. Set to 0 to have infinite duration forcefields.

+ + + diff --git a/obj/effect/forcefield/cosmic_field.html b/obj/effect/forcefield/cosmic_field.html new file mode 100644 index 00000000000..6ddeb66f916 --- /dev/null +++ b/obj/effect/forcefield/cosmic_field.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/forcefield/cosmic_field - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cosmic_field + + + +

+ +

The cosmic heretics forcefield

+

Vars

antimagic_flagsFlags for what antimagic can just ignore our forcefields
+

Var Details

antimagic_flags + + + + +

+

Flags for what antimagic can just ignore our forcefields

+ + + diff --git a/obj/effect/forcefield/wizard.html b/obj/effect/forcefield/wizard.html new file mode 100644 index 00000000000..f0b9ce2be8c --- /dev/null +++ b/obj/effect/forcefield/wizard.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/forcefield/wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizard + + + +

+ +

The wizard's forcefield, summoned by forcewall

+ +

Vars

antimagic_flagsFlags for what antimagic can just ignore our forcefields
caster_weakrefA weakref to whoever casted our forcefield.
+

Var Details

antimagic_flags + + + + +

+

Flags for what antimagic can just ignore our forcefields

caster_weakref + + + + +

+

A weakref to whoever casted our forcefield.

+ + + diff --git a/obj/effect/goliath_tentacle.html b/obj/effect/goliath_tentacle.html new file mode 100644 index 00000000000..0d571b7592e --- /dev/null +++ b/obj/effect/goliath_tentacle.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/goliath_tentacle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

goliath_tentacle + + + +

+ +

A tentacle which grabs you if you don't get away from it

+ + + + + + +

Vars

action_timerTimer for our current action stage
grapple_timeTime in which to grab people
max_damageUpper bound of damage to inflict
min_damageLower bound of damage to inflict

Procs

animate_grabChange to next icon state and set up grapple
grabGrab everyone we share space with. If it's nobody, go home.
retractPlay exit animation.
+

Var Details

action_timer + + + + +

+

Timer for our current action stage

grapple_time + + + + +

+

Time in which to grab people

max_damage + + + + +

+

Upper bound of damage to inflict

min_damage + + + + +

+

Lower bound of damage to inflict

Proc Details

animate_grab +

+

Change to next icon state and set up grapple

grab +

+

Grab everyone we share space with. If it's nobody, go home.

retract +

+

Play exit animation.

+ + + diff --git a/obj/effect/grand_rune.html b/obj/effect/grand_rune.html new file mode 100644 index 00000000000..c95694391c2 --- /dev/null +++ b/obj/effect/grand_rune.html @@ -0,0 +1,159 @@ + + + + + + + /obj/effect/grand_rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grand_rune + + + +

+ +

Magic rune used in the grand ritual. +A wizard sits themselves on this thing and waves their hands for a while shouting silly words. +Then something (usually bad) happens.

+ + + + + + + + + + + + + + + + + +

Vars

cheese_sacrificedHow much cheese was sacrificed to the other realm, if any
invoke_timeTime to take per invocation of rune.
is_in_usePrevent ritual spam click.
magic_wordsMagic words you say to invoke the ritual
possible_magic_wordsThings you might yell when invoking a rune
potencyHow many prior grand rituals have been completed?
remains_typepathWhat kind of remains this rune leaves behind after completing invokation
spell_colourWhat colour you glow while channeling
times_invokedNumber of times this rune has been cast

Procs

InitializePrepare magic words and hide from silicons
add_channel_effectAdd special effects for casting a spell, basically you glow and hover in the air.
announce_runeI cast Summon Security
invoke_runeActually does the whole invoking thing
on_invocation_completeCalled when you actually finish the damn thing
remove_channel_effectRemove special effects for casting a spell
summon_round_eventTriggers some form of event somewhere on the station
tear_realityInvoking the ritual spawns up to three reality tears based on potency. +Each of these has a 50% chance to spawn already expended.
trigger_side_effectsApplies some local side effects to the area
+

Var Details

cheese_sacrificed + + + + +

+

How much cheese was sacrificed to the other realm, if any

invoke_time + + + + +

+

Time to take per invocation of rune.

is_in_use + + + + +

+

Prevent ritual spam click.

magic_words + + + + +

+

Magic words you say to invoke the ritual

possible_magic_words + + + + +

+

Things you might yell when invoking a rune

potency + + + + +

+

How many prior grand rituals have been completed?

remains_typepath + + + + +

+

What kind of remains this rune leaves behind after completing invokation

spell_colour + + + + +

+

What colour you glow while channeling

times_invoked + + + + +

+

Number of times this rune has been cast

Proc Details

Initialize +

+

Prepare magic words and hide from silicons

add_channel_effect +

+

Add special effects for casting a spell, basically you glow and hover in the air.

announce_rune +

+

I cast Summon Security

invoke_rune +

+

Actually does the whole invoking thing

on_invocation_complete +

+

Called when you actually finish the damn thing

remove_channel_effect +

+

Remove special effects for casting a spell

summon_round_event +

+

Triggers some form of event somewhere on the station

tear_reality +

+

Invoking the ritual spawns up to three reality tears based on potency. +Each of these has a 50% chance to spawn already expended.

trigger_side_effects +

+

Applies some local side effects to the area

+ + + diff --git a/obj/effect/grand_rune/finale.html b/obj/effect/grand_rune/finale.html new file mode 100644 index 00000000000..9f67741d42a --- /dev/null +++ b/obj/effect/grand_rune/finale.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/grand_rune/finale - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

finale + + + +

+ +

Variant rune used for the Final Ritual

+ + + +

Vars

chosen_effectHas the player chosen an outcome?
dire_warnings_givenIf we need to warn the crew, have we done so?
finale_effectWhat does the player want to do?

Procs

select_finaleMake a selection from a radial menu.
+

Var Details

chosen_effect + + + + +

+

Has the player chosen an outcome?

dire_warnings_given + + + + +

+

If we need to warn the crew, have we done so?

finale_effect + + + + +

+

What does the player want to do?

Proc Details

select_finale +

+

Make a selection from a radial menu.

+ + + diff --git a/obj/effect/heretic_influence.html b/obj/effect/heretic_influence.html new file mode 100644 index 00000000000..3960ba85738 --- /dev/null +++ b/obj/effect/heretic_influence.html @@ -0,0 +1,74 @@ + + + + + + + /obj/effect/heretic_influence - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heretic_influence + + + +

+ + + + + + + +

Vars

being_drainedWhether we're currently being drained or not.
heretic_imageThe image shown to heretics
mindsA list of all minds that can see us.
on_turfWe hold the turf we're on so we can remove and add the 'no prints' flag.
real_icon_stateThe icon state applied to the image created for this influence.

Procs

drain_influenceBegin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.
+

Var Details

being_drained + + + + +

+

Whether we're currently being drained or not.

heretic_image + + + + +

+

The image shown to heretics

minds + + + + +

+

A list of all minds that can see us.

on_turf + + + + +

+

We hold the turf we're on so we can remove and add the 'no prints' flag.

real_icon_state + + + + +

+

The icon state applied to the image created for this influence.

Proc Details

drain_influence +

+

Begin to drain the influence, setting being_drained, +registering an examine signal, and beginning a do_after.

+

If successful, the influence is drained and deleted.

+ + + diff --git a/obj/effect/heretic_rune.html b/obj/effect/heretic_rune.html new file mode 100644 index 00000000000..698ddeddf9e --- /dev/null +++ b/obj/effect/heretic_rune.html @@ -0,0 +1,58 @@ + + + + + + + /obj/effect/heretic_rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heretic_rune + + + +

+ +

The heretic's rune, which they use to complete transmutation rituals.

+ + +

Vars

is_in_useUsed mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Procs

do_ritualAttempt to invoke a ritual from the past list of knowledges.
try_ritualsAttempt to begin a ritual, giving them an input list to chose from. +Also ensures is_in_use is enabled and disabled before and after.
+

Var Details

is_in_use + + + + +

+

Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters.

Proc Details

do_ritual +

+

Attempt to invoke a ritual from the past list of knowledges.

+

Arguments

+
    +
  • user - the heretic / the person who invoked the rune
  • +
  • knowledge_list - a non-assoc list of heretic_knowledge datums.
  • +
+

returns TRUE if any rituals passed succeeded, FALSE if they all failed.

try_rituals +

+

Attempt to begin a ritual, giving them an input list to chose from. +Also ensures is_in_use is enabled and disabled before and after.

+ + + diff --git a/obj/effect/hotspot.html b/obj/effect/hotspot.html new file mode 100644 index 00000000000..8a673b42fcc --- /dev/null +++ b/obj/effect/hotspot.html @@ -0,0 +1,105 @@ + + + + + + + /obj/effect/hotspot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hotspot + + + +

+ +

Hotspot objects interfaces with the temperature of turf gasmixtures while also providing visual effects. +One important thing to note about hotspots are that they can roughly be divided into two categories based on the bypassing variable.

+ + + + + + + +

Vars

bypassingWhether the hotspot becomes passive and follows the gasmix temp instead of changing it.
cold_fireAre we burning freon?
just_spawnedWhether the hotspot is new or not. Used for bypass logic.
temperatureTemperature handles the initial ignition and the colouring.
volumeVolume is the representation of how big and healthy a fire is. +Hotspot volume will be divided by turf volume to get the ratio for temperature setting on non bypassing mode. +Also some visual stuffs for fainter fires.

Procs

gauss_lerpMathematics to be used for color calculation.
perform_exposurePerform interactions between the hotspot and the gasmixture.
processRegular process proc for hotspots governed by the controller. +Handles the calling of perform_exposure() which handles the bulk of temperature processing. +Burning or fire_act() are also called by perform_exposure(). +Also handles the dying and qdeletion of the hotspot and hotspot creations on adjacent cardinal turfs. +And some visual stuffs too! Colors and fainter icons for specific conditions.
+

Var Details

bypassing + + + + +

+

Whether the hotspot becomes passive and follows the gasmix temp instead of changing it.

cold_fire + + + + +

+

Are we burning freon?

just_spawned + + + + +

+

Whether the hotspot is new or not. Used for bypass logic.

temperature + + + + +

+

Temperature handles the initial ignition and the colouring.

volume + + + + +

+

Volume is the representation of how big and healthy a fire is. +Hotspot volume will be divided by turf volume to get the ratio for temperature setting on non bypassing mode. +Also some visual stuffs for fainter fires.

Proc Details

gauss_lerp +

+

Mathematics to be used for color calculation.

perform_exposure +

+

Perform interactions between the hotspot and the gasmixture.

+

For the first tick, hotspots will take a sample of the air in the turf, +set the temperature equal to a certain amount, and then reacts it. +In some implementations the ratio comes out to around 1, so all of the air in the turf.

+

Afterwards if the reaction is big enough it mostly just tags along the fire, +copying the temperature and handling the colouring. +If the reaction is too small it will perform like the first tick.

+

Also calls fire_act() which handles burning.

process +

+

Regular process proc for hotspots governed by the controller. +Handles the calling of perform_exposure() which handles the bulk of temperature processing. +Burning or fire_act() are also called by perform_exposure(). +Also handles the dying and qdeletion of the hotspot and hotspot creations on adjacent cardinal turfs. +And some visual stuffs too! Colors and fainter icons for specific conditions.

+ + + diff --git a/obj/effect/immovablerod.html b/obj/effect/immovablerod.html new file mode 100644 index 00000000000..0a844085187 --- /dev/null +++ b/obj/effect/immovablerod.html @@ -0,0 +1,136 @@ + + + + + + + /obj/effect/immovablerod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

immovablerod + + + +

+ +

"What the fuck was that?!"

+ + + + + + + + + + + + +

Vars

destination_turfThe turf we're looking to coast to.
dnd_style_level_upThe rod levels up with each kill, increasing in size and auto-renaming itself.
loopy_rodWhether the rod can loop across other z-levels. The rod will still loop when the z-level is self-looping even if this is FALSE.
notifyWhether we notify ghosts.
num_mobs_hitHow many mobs we've penetrated one way or another
num_sentient_mobs_hitHow many mobs we've hit with clients
num_sentient_people_hitHow many people we've hit with clients
special_targetWe can designate a specific target to aim for, in which case we'll try to snipe them rather than just flying in a random direction

Procs

go_for_a_walkAllows your rod to release restraint level zero and go for a walk.
rod_vs_tram_battleRod will push the tram to a landmark if it hits the tram from the front/back +while flying parallel.
sit_stay_good_rodStops your rod's automated movement. Sit... Stay... Good rod!
suplex_rodCalled when someone manages to suplex the rod.
walk_in_directionRod will walk towards edge turf in the specified direction.
+

Var Details

destination_turf + + + + +

+

The turf we're looking to coast to.

dnd_style_level_up + + + + +

+

The rod levels up with each kill, increasing in size and auto-renaming itself.

loopy_rod + + + + +

+

Whether the rod can loop across other z-levels. The rod will still loop when the z-level is self-looping even if this is FALSE.

notify + + + + +

+

Whether we notify ghosts.

num_mobs_hit + + + + +

+

How many mobs we've penetrated one way or another

num_sentient_mobs_hit + + + + +

+

How many mobs we've hit with clients

num_sentient_people_hit + + + + +

+

How many people we've hit with clients

special_target + + + + +

+

We can designate a specific target to aim for, in which case we'll try to snipe them rather than just flying in a random direction

Proc Details

go_for_a_walk +

+

Allows your rod to release restraint level zero and go for a walk.

+

If walkies_location is set, rod will move towards the location, chasing it across z-levels if necessary. +If walkies_location is not set, rod will call complete_trajectory() and follow the logic from that proc.

+

Arguments:

+
    +
  • walkies_location - Any atom that the immovable rod will now chase down as a special target.
  • +

rod_vs_tram_battle +

+

Rod will push the tram to a landmark if it hits the tram from the front/back +while flying parallel.

sit_stay_good_rod +

+

Stops your rod's automated movement. Sit... Stay... Good rod!

suplex_rod +

+

Called when someone manages to suplex the rod.

+

Arguments

+
    +
  • strongman - the suplexer of the rod.
  • +

walk_in_direction +

+

Rod will walk towards edge turf in the specified direction.

+

Arguments:

+
    +
  • direction - The direction to walk the rod towards: NORTH, SOUTH, EAST, WEST.
  • +
+ + + diff --git a/obj/effect/immovablerod/wizard.html b/obj/effect/immovablerod/wizard.html new file mode 100644 index 00000000000..ac731bc8430 --- /dev/null +++ b/obj/effect/immovablerod/wizard.html @@ -0,0 +1,86 @@ + + + + + + + /obj/effect/immovablerod/wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wizard + + + +

+ +

Wizard Version of the Immovable Rod.

+ + + + + + +

Vars

damage_bonusThe damage bonus of the rod when it smacks people.
max_distanceThe distance the rod will go.
our_wizardThe wizard who's piloting our rod.
start_turfThe turf the rod started from, to calcuate distance.

Procs

eject_wizardEject our current wizard, removing them from the rod +and fixing all of the variables we changed.
set_wizardSet wizard as our_wizard, placing them in the rod +and preparing them for travel.
stop_travelCalled when the wizard rod reaches it's maximum distance +or is otherwise stopped by something. +Dumps out the wizard, and deletes.
+

Var Details

damage_bonus + + + + +

+

The damage bonus of the rod when it smacks people.

max_distance + + + + +

+

The distance the rod will go.

our_wizard + + + + +

+

The wizard who's piloting our rod.

start_turf + + + + +

+

The turf the rod started from, to calcuate distance.

Proc Details

eject_wizard +

+

Eject our current wizard, removing them from the rod +and fixing all of the variables we changed.

set_wizard +

+

Set wizard as our_wizard, placing them in the rod +and preparing them for travel.

stop_travel +

+

Called when the wizard rod reaches it's maximum distance +or is otherwise stopped by something. +Dumps out the wizard, and deletes.

+ + + diff --git a/obj/effect/landmark/atmospheric_sanity.html b/obj/effect/landmark/atmospheric_sanity.html new file mode 100644 index 00000000000..a7494d11a88 --- /dev/null +++ b/obj/effect/landmark/atmospheric_sanity.html @@ -0,0 +1,29 @@ + + + + + + + /obj/effect/landmark/atmospheric_sanity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

atmospheric_sanity + + + +

+ +

Atmospheric Sanity Landmark - base

+

This is the base type for all atmospheric sanity landmarks and are used to ensure atmos connectivity is maintained to how the map designer intended.

+ + + diff --git a/obj/effect/landmark/event_spawn.html b/obj/effect/landmark/event_spawn.html new file mode 100644 index 00000000000..d447ad47517 --- /dev/null +++ b/obj/effect/landmark/event_spawn.html @@ -0,0 +1,31 @@ + + + + + + + /obj/effect/landmark/event_spawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

event_spawn + + + +

+ +

Generic event spawn points

+

These are placed in locales where there are likely to be players, and places which are identifiable at a glance - +Such as public hallways, department rooms, head of staff offices, and non-generic maintenance locations

+

Used in events to cause effects in locations where it is likely to effect players

+ + + diff --git a/obj/effect/landmark/heretic.html b/obj/effect/landmark/heretic.html new file mode 100644 index 00000000000..084fceadeeb --- /dev/null +++ b/obj/effect/landmark/heretic.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/landmark/heretic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heretic + + + +

+ +

Lardmarks meant to designate where heretic sacrifices are sent.

+

Vars

for_heretic_pathWhat path this landmark is intended for.
+

Var Details

for_heretic_path + + + + +

+

What path this landmark is intended for.

+ + + diff --git a/obj/effect/landmark/start/depsec.html b/obj/effect/landmark/start/depsec.html new file mode 100644 index 00000000000..bc6a3c8ae39 --- /dev/null +++ b/obj/effect/landmark/start/depsec.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/landmark/start/depsec - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

depsec + + + +

+ + +

Vars

departmentWhat department this spawner is for
+

Var Details

department + + + + +

+

What department this spawner is for

+ + + diff --git a/obj/effect/landmark/start/hangover.html b/obj/effect/landmark/start/hangover.html new file mode 100644 index 00000000000..97d7b6b5540 --- /dev/null +++ b/obj/effect/landmark/start/hangover.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/landmark/start/hangover - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hangover + + + +

+ + + + +

Vars

hangover_debrisA list of everything this hangover spawn created as part of the hangover station trait
party_debrisA list of everything this hangover spawn created as part of the birthday station trait

Procs

make_hungoverSpawns the mob with some drugginess/drunkeness, and some disgust.
+

Var Details

hangover_debris + + + + +

+

A list of everything this hangover spawn created as part of the hangover station trait

party_debris + + + + +

+

A list of everything this hangover spawn created as part of the birthday station trait

Proc Details

make_hungover +

+

Spawns the mob with some drugginess/drunkeness, and some disgust.

+ + + diff --git a/obj/effect/landmark/transport/nav_beacon/tram.html b/obj/effect/landmark/transport/nav_beacon/tram.html new file mode 100644 index 00000000000..670776173e5 --- /dev/null +++ b/obj/effect/landmark/transport/nav_beacon/tram.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/landmark/transport/nav_beacon/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tram + + + +

+ +

transport_controller landmarks. used to map specific destinations on the map.

+ + +

Vars

platform_codeThe ID of that particular destination
specific_transport_idThe ID of the tram we're linked to
tgui_iconsIcons for the tgui console to list out for what is at this location
+

Var Details

platform_code + + + + +

+

The ID of that particular destination

specific_transport_id + + + + +

+

The ID of the tram we're linked to

tgui_icons + + + + +

+

Icons for the tgui console to list out for what is at this location

+ + + diff --git a/obj/effect/landmark/transport/transport_id.html b/obj/effect/landmark/transport/transport_id.html new file mode 100644 index 00000000000..00b9b87f7c8 --- /dev/null +++ b/obj/effect/landmark/transport/transport_id.html @@ -0,0 +1,37 @@ + + + + + + + /obj/effect/landmark/transport/transport_id - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transport_id + + + +

+ +

transport_controller landmarks. used to map in specific_transport_id to trams and elevators. when the transport_controller encounters one on a tile +it sets its specific_transport_id to that landmark. allows you to have multiple trams and multiple objects linking to their specific tram

+

Vars

specific_transport_idwhat specific id we give to the tram we're placed on, should explicitely set this if its a subtype, or weird things might happen
+

Var Details

specific_transport_id + + + + +

+

what specific id we give to the tram we're placed on, should explicitely set this if its a subtype, or weird things might happen

+ + + diff --git a/obj/effect/lock_portal.html b/obj/effect/lock_portal.html new file mode 100644 index 00000000000..d77aa6d7ae2 --- /dev/null +++ b/obj/effect/lock_portal.html @@ -0,0 +1,85 @@ + + + + + + + /obj/effect/lock_portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lock_portal + + + +

+ + + + + + + + + +

Vars

destinationThe knock portal we teleport to
invertedif true the heretic is teleported to a random airlock, nonheretics are sent to the target
our_airlockThe airlock we are linked to, we delete if it is destroyed

Procs

async_opendoorAsynchronous proc to unbolt, then open the passed door
delete_on_door_deleteDeletes us and our destination portal if our_airlock is destroyed
find_random_airlockReturns a random airlock on the same Z level as our portal, that isnt our airlock
on_enteredSignal handler for when our location is entered, calls teleport on the victim, if their old_loc didnt contain a portal already (to prevent loops)
teleportTeleports the teleportee, to a random airlock if the teleportee isnt a heretic, or the other portal if they are one
+

Var Details

destination + + + + +

+

The knock portal we teleport to

inverted + + + + +

+

if true the heretic is teleported to a random airlock, nonheretics are sent to the target

our_airlock + + + + +

+

The airlock we are linked to, we delete if it is destroyed

Proc Details

async_opendoor +

+

Asynchronous proc to unbolt, then open the passed door

delete_on_door_delete +

+

Deletes us and our destination portal if our_airlock is destroyed

find_random_airlock +

+

Returns a random airlock on the same Z level as our portal, that isnt our airlock

on_entered +

+

Signal handler for when our location is entered, calls teleport on the victim, if their old_loc didnt contain a portal already (to prevent loops)

teleport +

+

Teleports the teleportee, to a random airlock if the teleportee isnt a heretic, or the other portal if they are one

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector.html b/obj/effect/mapping_helpers/atom_injector.html new file mode 100644 index 00000000000..37d63f3620d --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atom_injector + + + +

+ +

Helpers used for injecting stuff into atoms on the map.

+ + + + + +

Vars

first_match_onlyWill inject into all fitting the criteria if false, otherwise first found.
target_nameWill inject into atoms with this name.
target_typeWill inject into atoms of this type.

Procs

check_validityChecks if whatever we are trying to inject with is valid
generate_stack_traceGenerates text for our stack trace
injectInjects our stuff into the atom
+

Var Details

first_match_only + + + + +

+

Will inject into all fitting the criteria if false, otherwise first found.

target_name + + + + +

+

Will inject into atoms with this name.

target_type + + + + +

+

Will inject into atoms of this type.

Proc Details

check_validity +

+

Checks if whatever we are trying to inject with is valid

generate_stack_trace +

+

Generates text for our stack trace

inject +

+

Injects our stuff into the atom

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/component_injector.html b/obj/effect/mapping_helpers/atom_injector/component_injector.html new file mode 100644 index 00000000000..7bd9925bb24 --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/component_injector.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/component_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

component_injector + + + +

+ +

This helper applies components to things on the map directly.

+ +

Vars

component_argsArguments for the component.
component_typeTypepath of the component.
+

Var Details

component_args + + + + +

+

Arguments for the component.

component_type + + + + +

+

Typepath of the component.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/custom_icon.html b/obj/effect/mapping_helpers/atom_injector/custom_icon.html new file mode 100644 index 00000000000..71fc02ead76 --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/custom_icon.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/custom_icon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

custom_icon + + + +

+ +

Fetches an external dmi and applies to the target object

+ + +

Vars

icon_fileThe icon file we fetched from the http get request.
icon_urlThis should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"
target_variableThis is the var that will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.
+

Var Details

icon_file + + + + +

+

The icon file we fetched from the http get request.

icon_url + + + + +

+

This should return raw dmi in response to http get request. For example: "https://github.com/tgstation/SS13-sprites/raw/master/mob/medu.dmi?raw=true"

target_variable + + + + +

+

This is the var that will be set with the fetched icon. In case you want to set some secondary icon sheets like inhands and such.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/custom_sound.html b/obj/effect/mapping_helpers/atom_injector/custom_sound.html new file mode 100644 index 00000000000..6ce8752a6ac --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/custom_sound.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/custom_sound - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

custom_sound + + + +

+ +

Fetches an external sound and applies to the target object

+ + +

Vars

sound_fileThe sound file we fetched from the http get request.
sound_urlThis should return raw sound in response to http get request. For example: "https://github.com/tgstation/tgstation/blob/master/sound/misc/bang.ogg?raw=true"
target_variableThis is the var that will be set with the fetched sound.
+

Var Details

sound_file + + + + +

+

The sound file we fetched from the http get request.

sound_url + + + + +

+

This should return raw sound in response to http get request. For example: "https://github.com/tgstation/tgstation/blob/master/sound/misc/bang.ogg?raw=true"

target_variable + + + + +

+

This is the var that will be set with the fetched sound.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/element_injector.html b/obj/effect/mapping_helpers/atom_injector/element_injector.html new file mode 100644 index 00000000000..c2caf3550f7 --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/element_injector.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/element_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

element_injector + + + +

+ +

This helper applies elements to things on the map directly.

+ +

Vars

element_argsArguments for the element.
element_typeTypepath of the element.
+

Var Details

element_args + + + + +

+

Arguments for the element.

element_type + + + + +

+

Typepath of the element.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/human_icon_injector.html b/obj/effect/mapping_helpers/atom_injector/human_icon_injector.html new file mode 100644 index 00000000000..edb4372623c --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/human_icon_injector.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/human_icon_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

human_icon_injector + + + +

+ +

This helper applies dynamic human icons to things on the map

+ + + + + + +

Vars

animatedDo we draw more than one frame for the mob?
bloody_slotsWhich slots on the mob should be bloody?
l_handPath of the left hand item we give the human.
mob_spawn_pathPath of the mob spawner we base the human off of.
outfit_pathPath of the outfit we give the human.
r_handPath of the right hand item we give the human.
species_pathPath of the species we give the human.
+

Var Details

animated + + + + +

+

Do we draw more than one frame for the mob?

bloody_slots + + + + +

+

Which slots on the mob should be bloody?

l_hand + + + + +

+

Path of the left hand item we give the human.

mob_spawn_path + + + + +

+

Path of the mob spawner we base the human off of.

outfit_path + + + + +

+

Path of the outfit we give the human.

r_hand + + + + +

+

Path of the right hand item we give the human.

species_path + + + + +

+

Path of the species we give the human.

+ + + diff --git a/obj/effect/mapping_helpers/atom_injector/trait_injector.html b/obj/effect/mapping_helpers/atom_injector/trait_injector.html new file mode 100644 index 00000000000..c78e74a7055 --- /dev/null +++ b/obj/effect/mapping_helpers/atom_injector/trait_injector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mapping_helpers/atom_injector/trait_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trait_injector + + + +

+ +

This helper applies traits to things on the map directly.

+

Vars

trait_nameName of the trait, in the lower-case text (NOT the upper-case define) form.
+

Var Details

trait_name + + + + +

+

Name of the trait, in the lower-case text (NOT the upper-case define) form.

+ + + diff --git a/obj/effect/mapping_helpers/circuit_spawner.html b/obj/effect/mapping_helpers/circuit_spawner.html new file mode 100644 index 00000000000..4e8875ddeea --- /dev/null +++ b/obj/effect/mapping_helpers/circuit_spawner.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/circuit_spawner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

circuit_spawner + + + +

+ + + + +

Vars

circuit_shellThe shell for the circuit.
json_urlThe url for the json. Example: "https://pastebin.com/raw/eH7VnP9d"
shell_capacityCapacity of the shell.
+

Var Details

circuit_shell + + + + +

+

The shell for the circuit.

json_url + + + + +

+

The url for the json. Example: "https://pastebin.com/raw/eH7VnP9d"

shell_capacity + + + + +

+

Capacity of the shell.

+ + + diff --git a/obj/effect/mapping_helpers/damaged_window.html b/obj/effect/mapping_helpers/damaged_window.html new file mode 100644 index 00000000000..bcb3f884572 --- /dev/null +++ b/obj/effect/mapping_helpers/damaged_window.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mapping_helpers/damaged_window - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

damaged_window + + + +

+ +

Deals random damage to the first window found on a tile to appear cracked

+ +

Vars

integrity_damage_maxMaximum roll of integrity damage in percents needed to show cracks
integrity_damage_minMinimum roll of integrity damage in percents needed to show cracks
+

Var Details

integrity_damage_max + + + + +

+

Maximum roll of integrity damage in percents needed to show cracks

integrity_damage_min + + + + +

+

Minimum roll of integrity damage in percents needed to show cracks

+ + + diff --git a/obj/effect/mapping_helpers/dead_body_placer.html b/obj/effect/mapping_helpers/dead_body_placer.html new file mode 100644 index 00000000000..ab6f5f37b28 --- /dev/null +++ b/obj/effect/mapping_helpers/dead_body_placer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mapping_helpers/dead_body_placer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dead_body_placer + + + +

+ + + + +

Vars

admin_spawnedif TRUE, was spawned out of mapload.
blacklisted_from_rng_placementThese species IDs will be barred from spawning if morgue_cadaver_disable_nonhumans is disabled (In the future, we can also dehardcode this)
bodycountnumber of bodies to spawn
+

Var Details

admin_spawned + + + + +

+

if TRUE, was spawned out of mapload.

blacklisted_from_rng_placement + + + + +

+

These species IDs will be barred from spawning if morgue_cadaver_disable_nonhumans is disabled (In the future, we can also dehardcode this)

bodycount + + + + +

+

number of bodies to spawn

+ + + diff --git a/obj/effect/mapping_helpers/requests_console.html b/obj/effect/mapping_helpers/requests_console.html new file mode 100644 index 00000000000..d9c4627df87 --- /dev/null +++ b/obj/effect/mapping_helpers/requests_console.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/mapping_helpers/requests_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

requests_console + + + +

+ + +

Procs

payloadFills out the request console's variables

Proc Details

payload +

+

Fills out the request console's variables

+ + + diff --git a/obj/effect/mapping_helpers/trapdoor_placer.html b/obj/effect/mapping_helpers/trapdoor_placer.html new file mode 100644 index 00000000000..a6a20da9068 --- /dev/null +++ b/obj/effect/mapping_helpers/trapdoor_placer.html @@ -0,0 +1,33 @@ + + + + + + + /obj/effect/mapping_helpers/trapdoor_placer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

trapdoor_placer + + + +

+ +trapdoor placer! +

This places an unlinked trapdoor in the tile its on (so someone with a remote needs to link it up first) +Pre-mapped trapdoors (unlike player-made ones) are not conspicuous by default so nothing stands out with them +Admins may spawn this in the round for additional trapdoors if they so desire +if YOU want to learn more about trapdoors, read about the component at trapdoor.dm +note: this is not a turf subtype because the trapdoor needs the type of the turf to turn back into

+ + + diff --git a/obj/effect/mapping_helpers/ztrait_injector.html b/obj/effect/mapping_helpers/ztrait_injector.html new file mode 100644 index 00000000000..09798e9824a --- /dev/null +++ b/obj/effect/mapping_helpers/ztrait_injector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mapping_helpers/ztrait_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ztrait_injector + + + +

+ + +

Vars

traits_to_addList of traits to add to this Z-level.
+

Var Details

traits_to_add + + + + +

+

List of traits to add to this Z-level.

+ + + diff --git a/obj/effect/meteor.html b/obj/effect/meteor.html new file mode 100644 index 00000000000..0e39b38d318 --- /dev/null +++ b/obj/effect/meteor.html @@ -0,0 +1,125 @@ + + + + + + + /obj/effect/meteor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

meteor + + + +

+ + + + + + + + + + + + + +

Vars

destThe thing we're moving towards, usually a turf
dropamtHow much stuff to spawn when you die
hitpwrLevel of ex_act to be called on hit.
hitsThe resilience of our meteor
lifetimeLifetime in seconds
meteorsoundSound to play when you hit something
signatureUsed by Stray Meteor event to indicate meteor type (the type of sensor that "detected" it) in announcement
threatUsed for determining which meteors are most interesting
z_originalOur starting z level, prevents infinite meteors

Procs

check_examine_awardUsed to check if someone who has examined a meteor will receive an award.
handle_stoppingDeals with what happens when we stop moving, IE we die
shield_defenseHandles the meteor's interaction with meteor shields.
+

Var Details

dest + + + + +

+

The thing we're moving towards, usually a turf

dropamt + + + + +

+

How much stuff to spawn when you die

hitpwr + + + + +

+

Level of ex_act to be called on hit.

hits + + + + +

+

The resilience of our meteor

lifetime + + + + +

+

Lifetime in seconds

meteorsound + + + + +

+

Sound to play when you hit something

signature + + + + +

+

Used by Stray Meteor event to indicate meteor type (the type of sensor that "detected" it) in announcement

threat + + + + +

+

Used for determining which meteors are most interesting

z_original + + + + +

+

Our starting z level, prevents infinite meteors

Proc Details

check_examine_award +

+

Used to check if someone who has examined a meteor will receive an award.

+

Checks the criteria to receive the "examine a meteor" award. +Admin spawned meteors will not grant the user an achievement.

+

Arguments:

+
    +
  • user - the person who will be recieving the examine award.
  • +

handle_stopping +

+

Deals with what happens when we stop moving, IE we die

shield_defense +

+

Handles the meteor's interaction with meteor shields.

+

Returns TRUE if the meteor should be destroyed. Overridable for custom shield interaction. +Return FALSE if a meteor's interaction with meteor shields should NOT destroy it.

+

Arguments:

+
    +
  • defender - The meteor shield that is vaporizing us.
  • +
+ + + diff --git a/obj/effect/meteor/cluster.html b/obj/effect/meteor/cluster.html new file mode 100644 index 00000000000..60d19fa184a --- /dev/null +++ b/obj/effect/meteor/cluster.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/meteor/cluster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cluster + + + +

+ + +

Vars

cluster_countNumber of fragmentation meteors to be spawned
+

Var Details

cluster_count + + + + +

+

Number of fragmentation meteors to be spawned

+ + + diff --git a/obj/effect/meteor/dark_matteor.html b/obj/effect/meteor/dark_matteor.html new file mode 100644 index 00000000000..861fe6474e2 --- /dev/null +++ b/obj/effect/meteor/dark_matteor.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/meteor/dark_matteor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dark_matteor + + + +

+ +

The dark matt-eor. Only attracted by emagging 10 satellites and maximizing meteor chances, and it drops a singulo. Otherwise, it's not that bad.

+ + +

Vars

previous_security_levelin case we miss, we can go back to the previous security level
spark_systemand another oh shit in the form of quantum sparks
warpdistortion to really give you that sense of oh shit
+

Var Details

previous_security_level + + + + +

+

in case we miss, we can go back to the previous security level

spark_system + + + + +

+

and another oh shit in the form of quantum sparks

warp + + + + +

+

distortion to really give you that sense of oh shit

+ + + diff --git a/obj/effect/meteor/meaty/changeling.html b/obj/effect/meteor/meaty/changeling.html new file mode 100644 index 00000000000..ef279877e03 --- /dev/null +++ b/obj/effect/meteor/meaty/changeling.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/meteor/meaty/changeling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

changeling + + + +

+ + +

Vars

landing_targetWhere we want our changeling to, by whatever means, end up at.
+

Var Details

landing_target + + + + +

+

Where we want our changeling to, by whatever means, end up at.

+ + + diff --git a/obj/effect/mine.html b/obj/effect/mine.html new file mode 100644 index 00000000000..ffd32766465 --- /dev/null +++ b/obj/effect/mine.html @@ -0,0 +1,89 @@ + + + + + + + /obj/effect/mine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mine + + + +

+ + + + + + + + + +

Vars

arm_delayIf set, we default armed to FALSE and set it to TRUE after this long from initializing
armedCan be set to FALSE if we want a short 'coming online' delay, then set to TRUE. Can still be set off by damage
foot_on_mineWho's got their foot on the mine's pressure plate +Stepping on the mine will set this to the first mob who stepped over it +The mine will not detonate via movement unless the first mob steps off of it
triggeredWe manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

Procs

can_triggerCan this mine trigger on the passed movable?
mineEffectThe effect of the mine
now_armedIf the landmine was previously inactive, this beeps and displays a message marking it active
triggermineWhen something sets off a mine
+

Var Details

arm_delay + + + + +

+

If set, we default armed to FALSE and set it to TRUE after this long from initializing

armed + + + + +

+

Can be set to FALSE if we want a short 'coming online' delay, then set to TRUE. Can still be set off by damage

foot_on_mine + + + + +

+

Who's got their foot on the mine's pressure plate +Stepping on the mine will set this to the first mob who stepped over it +The mine will not detonate via movement unless the first mob steps off of it

triggered + + + + +

+

We manually check to see if we've been triggered in case multiple atoms cross us in the time between the mine being triggered and it actually deleting, to avoid a race condition with multiple detonations

Proc Details

can_trigger +

+

Can this mine trigger on the passed movable?

mineEffect +

+

The effect of the mine

now_armed +

+

If the landmine was previously inactive, this beeps and displays a message marking it active

triggermine +

+

When something sets off a mine

+ + + diff --git a/obj/effect/mine/explosive.html b/obj/effect/mine/explosive.html new file mode 100644 index 00000000000..d4e28981d94 --- /dev/null +++ b/obj/effect/mine/explosive.html @@ -0,0 +1,64 @@ + + + + + + + /obj/effect/mine/explosive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

explosive + + + +

+ + + + + + +

Vars

range_devastationThe devastation range of the resulting explosion.
range_flameThe flame range of the resulting explosion.
range_flashThe flash range of the resulting explosion.
range_heavyThe heavy impact range of the resulting explosion.
range_lightThe light impact range of the resulting explosion.
+

Var Details

range_devastation + + + + +

+

The devastation range of the resulting explosion.

range_flame + + + + +

+

The flame range of the resulting explosion.

range_flash + + + + +

+

The flash range of the resulting explosion.

range_heavy + + + + +

+

The heavy impact range of the resulting explosion.

range_light + + + + +

+

The light impact range of the resulting explosion.

+ + + diff --git a/obj/effect/mine/shrapnel.html b/obj/effect/mine/shrapnel.html new file mode 100644 index 00000000000..e29825fc904 --- /dev/null +++ b/obj/effect/mine/shrapnel.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mine/shrapnel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shrapnel + + + +

+ +

These mines spawn pellet_clouds around them when triggered

+ + +

Vars

shrapnel_magnitudeBroadly, how many pellets we're spawning, the total is n! - (n-1)! pellets, so don't set it too high. For reference, 15 is probably pushing it at MAX
shrapnel_typeThe type of projectiles we're shooting out of this
shred_triggererIf TRUE, we spawn extra pellets to eviscerate the person who stepped on it, otherwise it just spawns a ring of pellets around the tile we're on (making setting it off an offensive move)
+

Var Details

shrapnel_magnitude + + + + +

+

Broadly, how many pellets we're spawning, the total is n! - (n-1)! pellets, so don't set it too high. For reference, 15 is probably pushing it at MAX

shrapnel_type + + + + +

+

The type of projectiles we're shooting out of this

shred_triggerer + + + + +

+

If TRUE, we spawn extra pellets to eviscerate the person who stepped on it, otherwise it just spawns a ring of pellets around the tile we're on (making setting it off an offensive move)

+ + + diff --git a/obj/effect/mob_spawn.html b/obj/effect/mob_spawn.html new file mode 100644 index 00000000000..8bab56a72a8 --- /dev/null +++ b/obj/effect/mob_spawn.html @@ -0,0 +1,122 @@ + + + + + + + /obj/effect/mob_spawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mob_spawn + + + +

+ + + + + + + + + + + + + + +

Vars

facial_haircolorsets a human's facial hair color
facial_hairstylesets a human's facial hair
haircolorsets a human's hair color (use special for gradients, sorry)
hairstylesets a human's hairstyle
infinite_useCan this spawner be used up?
mob_nameA forced name of the mob, though can be overridden if a special name is passed as an argument
mob_species/Human specific stuff. Don't set these if you aren't using a human, the unit tests will put a stop to your sinful hand. +sets the human as a species, use a typepath (example: /datum/species/skeleton)
mob_typethe type of the mob, you best inherit this
outfitequips the human with an outfit.
outfit_overridefor mappers to override parts of the outfit. really only in here for secret away missions, please try to refrain from using this out of laziness
skin_tonesets a human's skin tone
spawned_mob_refWeakref to the mob this spawner created - just if you needed to do something with it.

Procs

createCreates whatever mob the spawner makes. Return FALSE if we want to exit from here without doing that, returning NULL will be logged to admins.
+

Var Details

facial_haircolor + + + + +

+

sets a human's facial hair color

facial_hairstyle + + + + +

+

sets a human's facial hair

haircolor + + + + +

+

sets a human's hair color (use special for gradients, sorry)

hairstyle + + + + +

+

sets a human's hairstyle

infinite_use + + + + +

+

Can this spawner be used up?

mob_name + + + + +

+

A forced name of the mob, though can be overridden if a special name is passed as an argument

mob_species + + + + +

+

/Human specific stuff. Don't set these if you aren't using a human, the unit tests will put a stop to your sinful hand. +sets the human as a species, use a typepath (example: /datum/species/skeleton)

mob_type + + + + +

+

the type of the mob, you best inherit this

outfit + + + + +

+

equips the human with an outfit.

outfit_override + + + + +

+

for mappers to override parts of the outfit. really only in here for secret away missions, please try to refrain from using this out of laziness

skin_tone + + + + +

+

sets a human's skin tone

spawned_mob_ref + + + + +

+

Weakref to the mob this spawner created - just if you needed to do something with it.

Proc Details

create +

+

Creates whatever mob the spawner makes. Return FALSE if we want to exit from here without doing that, returning NULL will be logged to admins.

+ + + diff --git a/obj/effect/mob_spawn/corpse.html b/obj/effect/mob_spawn/corpse.html new file mode 100644 index 00000000000..f3145151933 --- /dev/null +++ b/obj/effect/mob_spawn/corpse.html @@ -0,0 +1,73 @@ + + + + + + + /obj/effect/mob_spawn/corpse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

corpse + + + +

+ +

these mob spawn subtypes trigger immediately (New or Initialize) and are not player controlled... since they're dead, you know?

+ + + + + +

Vars

brute_damage/damage values (very often, mappers want corpses to be mangled) +brute damage this corpse will spawn with
burn_damageburn damage this corpse will spawn with
corpse_descriptionwhat environmental storytelling script should this corpse have
naive_corpse_descriptionoptionally different text to display if the target is a clown
oxy_damageoxy damage this corpse will spawn with
spawn_whenwhen this mob spawn should auto trigger.
+

Var Details

brute_damage + + + + +

+

/damage values (very often, mappers want corpses to be mangled) +brute damage this corpse will spawn with

burn_damage + + + + +

+

burn damage this corpse will spawn with

corpse_description + + + + +

+

what environmental storytelling script should this corpse have

naive_corpse_description + + + + +

+

optionally different text to display if the target is a clown

oxy_damage + + + + +

+

oxy damage this corpse will spawn with

spawn_when + + + + +

+

when this mob spawn should auto trigger.

+ + + diff --git a/obj/effect/mob_spawn/corpse/human.html b/obj/effect/mob_spawn/corpse/human.html new file mode 100644 index 00000000000..acd6dc5b688 --- /dev/null +++ b/obj/effect/mob_spawn/corpse/human.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mob_spawn/corpse/human - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

human + + + +

+ + + +

Vars

conceal_presencedisables PDA and sensors. only makes sense on corpses because ghost roles could simply turn those on again.
huskhusks the corpse if true.
+

Var Details

conceal_presence + + + + +

+

disables PDA and sensors. only makes sense on corpses because ghost roles could simply turn those on again.

husk + + + + +

+

husks the corpse if true.

+ + + diff --git a/obj/effect/mob_spawn/corpse/human/legioninfested.html b/obj/effect/mob_spawn/corpse/human/legioninfested.html new file mode 100644 index 00000000000..6413c48ad1e --- /dev/null +++ b/obj/effect/mob_spawn/corpse/human/legioninfested.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/mob_spawn/corpse/human/legioninfested - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

legioninfested + + + +

+ +

Mob spawner used by Legion to spawn costumed bodies

+

Procs

select_outfitReturns the outfit worn by our corpse

Proc Details

select_outfit +

+

Returns the outfit worn by our corpse

+ + + diff --git a/obj/effect/mob_spawn/corpse/slime.html b/obj/effect/mob_spawn/corpse/slime.html new file mode 100644 index 00000000000..e5e0744d7bb --- /dev/null +++ b/obj/effect/mob_spawn/corpse/slime.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mob_spawn/corpse/slime - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slime + + + +

+ +

dead slimes, with a var for whatever color you want.

+

Vars

slime_speciesthe color of the slime you're spawning.
+

Var Details

slime_species + + + + +

+

the color of the slime you're spawning.

+ + + diff --git a/obj/effect/mob_spawn/ghost_role.html b/obj/effect/mob_spawn/ghost_role.html new file mode 100644 index 00000000000..749f69358db --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role.html @@ -0,0 +1,136 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ghost_role + + + +

+ +

these mob spawn subtypes do not trigger until attacked by a ghost.

+ + + + + + + + + + + + + +

Vars

ckeys_trying_to_spawnA list of the ckeys that currently are trying to access this spawner, so that they can't try to spawn more than once (in case there's sleeps). +Static because you only really want to be able to spawn in one spawner at a time, obviously.
deletes_on_zero_uses_leftDoes the spawner delete itself when it runs out of uses?
flavour_textThis should be the actual instructions/description/context to the ghost role. This should be the really long explainy bit, basically.
important_textThis is critical non-policy information about the ghost role. Shown in the spawner menu and after spawning last.
prompt_ghostif false, you won't prompt for this role. best used for replacing the prompt system with something else like a radial, or something.
prompt_namea short, lowercase name for the mob used in possession prompt that pops up on ghost attacks. must be set.
role_ban/bans and policy +which role to check for a job ban (ROLE_LAVALAND is the default ghost role ban)
show_flavorShow these on spawn? Usually used for hardcoded special flavor
spawner_job_pathTypepath indicating the kind of job datum this ghost role will have. PLEASE inherit this with a new job datum, it's not hard. jobs come with policy configs.
useshow many times this spawner can be used (it won't delete unless it's out of uses and the var to delete itself is set)
you_are_text/descriptions +This should be the declaration of what the ghost role is, and maybe a short blurb after if you want. Shown in the spawner menu and after spawning first.

Procs

allow_spawnoverride this to add special spawn conditions to a ghost role
check_usesChecks if the spawner has zero uses left, if so, delete yourself... NOW!
create_from_ghostUses a use and creates a mob from a passed ghost
+

Var Details

ckeys_trying_to_spawn + + + + +

+

A list of the ckeys that currently are trying to access this spawner, so that they can't try to spawn more than once (in case there's sleeps). +Static because you only really want to be able to spawn in one spawner at a time, obviously.

deletes_on_zero_uses_left + + + + +

+

Does the spawner delete itself when it runs out of uses?

flavour_text + + + + +

+

This should be the actual instructions/description/context to the ghost role. This should be the really long explainy bit, basically.

important_text + + + + +

+

This is critical non-policy information about the ghost role. Shown in the spawner menu and after spawning last.

prompt_ghost + + + + +

+

if false, you won't prompt for this role. best used for replacing the prompt system with something else like a radial, or something.

prompt_name + + + + +

+

a short, lowercase name for the mob used in possession prompt that pops up on ghost attacks. must be set.

role_ban + + + + +

+

/bans and policy +which role to check for a job ban (ROLE_LAVALAND is the default ghost role ban)

show_flavor + + + + +

+

Show these on spawn? Usually used for hardcoded special flavor

spawner_job_path + + + + +

+

Typepath indicating the kind of job datum this ghost role will have. PLEASE inherit this with a new job datum, it's not hard. jobs come with policy configs.

uses + + + + +

+

how many times this spawner can be used (it won't delete unless it's out of uses and the var to delete itself is set)

you_are_text + + + + +

+

/descriptions +This should be the declaration of what the ghost role is, and maybe a short blurb after if you want. Shown in the spawner menu and after spawning first.

Proc Details

allow_spawn +

+

override this to add special spawn conditions to a ghost role

check_uses +

+

Checks if the spawner has zero uses left, if so, delete yourself... NOW!

create_from_ghost +

+

Uses a use and creates a mob from a passed ghost

+

Does NOT validate that the spawn is possible or valid - assumes this has been done already!

+

If you are manually forcing a player into this mob spawn, +you should be using this and not directly calling [proc/create].

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/drone.html b/obj/effect/mob_spawn/ghost_role/drone.html new file mode 100644 index 00000000000..b7edfcc2ce1 --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/drone.html @@ -0,0 +1,46 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/drone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

drone + + + +

+ +
    +
  • +

    Drone Shell: Ghost role item for drones

    +
  • +
  • +

    A simple mob spawner item that transforms into a maintenance drone

    +
  • +
  • +

    Respects drone minimum age

    +
  • +
+

Vars

mob_typeType of drone that will be spawned
+

Var Details

mob_type + + + + +

+

Type of drone that will be spawned

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/human/golem.html b/obj/effect/mob_spawn/ghost_role/human/golem.html new file mode 100644 index 00000000000..c7e4e6eeb3f --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/human/golem.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/human/golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem + + + +

+ + + + +

Vars

initial_typeTypepath to a material to feed to the golem as soon as it is built

Procs

give_directiveGives lavaland golems some noble ideas, and enslaved ones a master
try_keep_homeMakes free golems slow and sad on the space station
+

Var Details

initial_type + + + + +

+

Typepath to a material to feed to the golem as soon as it is built

Proc Details

give_directive +

+

Gives lavaland golems some noble ideas, and enslaved ones a master

try_keep_home +

+

Makes free golems slow and sad on the space station

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/human/golem/servant.html b/obj/effect/mob_spawn/ghost_role/human/golem/servant.html new file mode 100644 index 00000000000..e7aeb05fd60 --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/human/golem/servant.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/human/golem/servant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

servant + + + +

+ + +

Vars

owner_refWeakref to the creator of this golem shell.
+

Var Details

owner_ref + + + + +

+

Weakref to the creator of this golem shell.

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/human/pirate.html b/obj/effect/mob_spawn/ghost_role/human/pirate.html new file mode 100644 index 00000000000..996c0987960 --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/human/pirate.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/human/pirate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pirate + + + +

+ + + + + +

Vars

fluff_spawnPath of the structure we spawn after creating a pirate.
name_beginningsjson key to pirate names, the first part ("Comet" in "Cometfish")
name_endingsjson key to pirate names, the last part ("fish" in "Cometfish")
rankRank of the pirate on the ship, it's used in generating pirate names!
+

Var Details

fluff_spawn + + + + +

+

Path of the structure we spawn after creating a pirate.

name_beginnings + + + + +

+

json key to pirate names, the first part ("Comet" in "Cometfish")

name_endings + + + + +

+

json key to pirate names, the last part ("fish" in "Cometfish")

rank + + + + +

+

Rank of the pirate on the ship, it's used in generating pirate names!

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser.html b/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser.html new file mode 100644 index 00000000000..d4a9776a40f --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/human/syndicate/battlecruiser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battlecruiser + + + +

+ +

battlecruiser stuff

+ +

Vars

antag_datum_to_giveThe antag datum to give to the player spawned
antag_teamThe antag team to apply the player to
+

Var Details

antag_datum_to_give + + + + +

+

The antag datum to give to the player spawned

antag_team + + + + +

+

The antag team to apply the player to

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/spider.html b/obj/effect/mob_spawn/ghost_role/spider.html new file mode 100644 index 00000000000..c16481c1281 --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/spider.html @@ -0,0 +1,105 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/spider - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spider + + + +

+ + + + + + + + + + + +

Vars

amount_grownThe amount the egg cluster has grown. Is able to produce a spider when it hits 100.
cluster_typeType of the cluster that the spawner spawns
directiveThe mother's directive at the time the egg was produced. Passed onto the child.
eggPhysical structure housing the spawner
flash_windowDo we flash the byond window when this particular egg type is available?
granted_datumWhich antag datum do we grant?
potentialspawnsThe types of spiders that the spawner can produce
readyPrevents spawning from this mob_spawn until TRUE, set by the egg growing

Procs

createMakes a ghost into a spider based on the type of egg cluster.
get_radial_choicePick a spider type from a radial menu
+

Var Details

amount_grown + + + + +

+

The amount the egg cluster has grown. Is able to produce a spider when it hits 100.

cluster_type + + + + +

+

Type of the cluster that the spawner spawns

directive + + + + +

+

The mother's directive at the time the egg was produced. Passed onto the child.

egg + + + + +

+

Physical structure housing the spawner

flash_window + + + + +

+

Do we flash the byond window when this particular egg type is available?

granted_datum + + + + +

+

Which antag datum do we grant?

potentialspawns + + + + +

+

The types of spiders that the spawner can produce

ready + + + + +

+

Prevents spawning from this mob_spawn until TRUE, set by the egg growing

Proc Details

create +

+

Makes a ghost into a spider based on the type of egg cluster.

+

Allows a ghost to get a prompt to use the egg cluster to become a spider.

+

Arguments:

+
    +
  • user - The ghost attempting to become a spider
  • +
  • newname - If set, renames the mob to this name
  • +

get_radial_choice +

+

Pick a spider type from a radial menu

+ + + diff --git a/obj/effect/mob_spawn/ghost_role/venus_human_trap.html b/obj/effect/mob_spawn/ghost_role/venus_human_trap.html new file mode 100644 index 00000000000..4ffc0f5e93f --- /dev/null +++ b/obj/effect/mob_spawn/ghost_role/venus_human_trap.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/mob_spawn/ghost_role/venus_human_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

venus_human_trap + + + +

+ +

Handles logic for ghost spawning code, visible object in game is handled by /obj/structure/alien/resin/flower_bud

+ + +

Vars

flower_budPhysical structure housing the spawner
readyUsed to determine when to notify ghosts

Procs

bear_fruitCalled when the attached flower bud has borne fruit (ie. is ready)
+

Var Details

flower_bud + + + + +

+

Physical structure housing the spawner

ready + + + + +

+

Used to determine when to notify ghosts

Proc Details

bear_fruit +

+

Called when the attached flower bud has borne fruit (ie. is ready)

+ + + diff --git a/obj/effect/overlay/status_display_text.html b/obj/effect/overlay/status_display_text.html new file mode 100644 index 00000000000..9e0197047e9 --- /dev/null +++ b/obj/effect/overlay/status_display_text.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/overlay/status_display_text - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

status_display_text + + + +

+ +

Nice overlay to make text smoothly scroll with no client updates after setup.

+ +

Vars

messageThe message this overlay is displaying.

Procs

generate_textGenerate the actual maptext. +Arguments:
+

Var Details

message + + + + +

+

The message this overlay is displaying.

Proc Details

generate_text +

+

Generate the actual maptext. +Arguments:

+
    +
  • text - the text to display
  • +
  • center - center the text if TRUE, otherwise right-align (the direction the text is coming from)
  • +
  • text_color - the text color
  • +
+ + + diff --git a/obj/effect/overlay/vis.html b/obj/effect/overlay/vis.html new file mode 100644 index 00000000000..5d3b7a19764 --- /dev/null +++ b/obj/effect/overlay/vis.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/overlay/vis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vis + + + +

+ + + +

Vars

cache_expirationoverlays which go unused for this amount of time get cleaned up
unusedWhen detected to be unused it gets set to world.time, after a while it gets removed
+

Var Details

cache_expiration + + + + +

+

overlays which go unused for this amount of time get cleaned up

unused + + + + +

+

When detected to be unused it gets set to world.time, after a while it gets removed

+ + + diff --git a/obj/effect/particle_effect/fluid.html b/obj/effect/particle_effect/fluid.html new file mode 100644 index 00000000000..bfd5ceb4879 --- /dev/null +++ b/obj/effect/particle_effect/fluid.html @@ -0,0 +1,58 @@ + + + + + + + /obj/effect/particle_effect/fluid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fluid + + + +

+ +

A particle effect that belongs to a fluid group.

+ + + +

Vars

effect_bucketWhat SSfluid bucket this particle effect is currently in.
groupThe fluid group that this particle effect belongs to.
spread_bucketThe index of the fluid spread bucket this is being spread in.

Procs

spreadAttempts to spread this fluid node to wherever it can spread.
+

Var Details

effect_bucket + + + + +

+

What SSfluid bucket this particle effect is currently in.

group + + + + +

+

The fluid group that this particle effect belongs to.

spread_bucket + + + + +

+

The index of the fluid spread bucket this is being spread in.

Proc Details

spread +

+

Attempts to spread this fluid node to wherever it can spread.

+

Exact results vary by subtype implementation.

+ + + diff --git a/obj/effect/particle_effect/fluid/foam.html b/obj/effect/particle_effect/fluid/foam.html new file mode 100644 index 00000000000..1970d046f00 --- /dev/null +++ b/obj/effect/particle_effect/fluid/foam.html @@ -0,0 +1,97 @@ + + + + + + + /obj/effect/particle_effect/fluid/foam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

foam + + + +

+ +Foam +

Similar to smoke, but slower and mobs absorb its reagent through their exposed skin.

+ + + + + + + +

Vars

allow_duplicate_resultsWhether or not this foam can produce a remnant movable if something of the same type is already on its turf.
blacklisted_turfsThe types of turfs that this foam cannot spread to.
lifetimeThe amount of time this foam stick around for before it dissipates.
result_typeThe typepath for what this foam leaves behind when it dissipates.
slippery_foamWhether or not this foam should be slippery.

Procs

foam_mobApplies the effect of this foam to a mob.
kill_foamMakes the foam dissipate and create whatever remnants it must.
make_resultMakes the foam leave behind something when it dissipates.
+

Var Details

allow_duplicate_results + + + + +

+

Whether or not this foam can produce a remnant movable if something of the same type is already on its turf.

blacklisted_turfs + + + + +

+

The types of turfs that this foam cannot spread to.

lifetime + + + + +

+

The amount of time this foam stick around for before it dissipates.

result_type + + + + +

+

The typepath for what this foam leaves behind when it dissipates.

slippery_foam + + + + +

+

Whether or not this foam should be slippery.

Proc Details

foam_mob +

+

Applies the effect of this foam to a mob.

+

Arguments:

+
    +
  • foaming: The mob that this foam is acting on.
  • +
  • seconds_per_tick: The amount of time that this foam is acting on them over.
  • +
+

Returns:

+
    +
  • [TRUE]: If the foam was successfully applied to the mob. Used to scale how quickly foam dissipates according to the number of mobs it is applied to.
  • +
  • +

kill_foam +

+

Makes the foam dissipate and create whatever remnants it must.

make_result +

+

Makes the foam leave behind something when it dissipates.

+

Returns the thing the foam leaves behind for further modification by subtypes.

+ + + diff --git a/obj/effect/particle_effect/fluid/foam/firefighting.html b/obj/effect/particle_effect/fluid/foam/firefighting.html new file mode 100644 index 00000000000..7e779a16d01 --- /dev/null +++ b/obj/effect/particle_effect/fluid/foam/firefighting.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/particle_effect/fluid/foam/firefighting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

firefighting + + + +

+ +

A variant of foam which absorbs plasma in the air if there is a fire.

+

Vars

absorbed_plasmaThe amount of plasma gas this foam has absorbed. To be deposited when the foam dissipates.
+

Var Details

absorbed_plasma + + + + +

+

The amount of plasma gas this foam has absorbed. To be deposited when the foam dissipates.

+ + + diff --git a/obj/effect/particle_effect/fluid/smoke.html b/obj/effect/particle_effect/fluid/smoke.html new file mode 100644 index 00000000000..904593410de --- /dev/null +++ b/obj/effect/particle_effect/fluid/smoke.html @@ -0,0 +1,89 @@ + + + + + + + /obj/effect/particle_effect/fluid/smoke - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

smoke + + + +

+ +

A fluid which spreads through the air affecting every mob it engulfs.

+ + + + + +

Vars

lifetimeHow long the smoke sticks around before it dissipates.
loc_connectionsMakes the smoke react to changes on/of its turf.

Procs

fade_outAnimates the smoke gradually fading out of visibility. +Also makes the smoke turf transparent as it passes 160 alpha.
kill_smokeMakes the smoke fade out and then deletes it.
react_to_atmos_adjacency_changesMakes the smoke react to nearby opening/closing airlocks and the like. +Makes it possible for smoke to spread through airlocks that open after the edge of the smoke cloud has already spread past them.
smoke_mobHandles the effects of this smoke on any mobs it comes into contact with.
+

Var Details

lifetime + + + + +

+

How long the smoke sticks around before it dissipates.

loc_connections + + + + +

+

Makes the smoke react to changes on/of its turf.

Proc Details

fade_out +

+

Animates the smoke gradually fading out of visibility. +Also makes the smoke turf transparent as it passes 160 alpha.

+

Arguments:

+
    +
  • frames = 0.8 [SECONDS]: The amount of time the smoke should fade out over.
  • +

kill_smoke +

+

Makes the smoke fade out and then deletes it.

react_to_atmos_adjacency_changes +

+

Makes the smoke react to nearby opening/closing airlocks and the like. +Makes it possible for smoke to spread through airlocks that open after the edge of the smoke cloud has already spread past them.

+

Arguments:

+
    +
  • source: The turf that has been touched by an atmos adjacency change.
  • +

smoke_mob +

+

Handles the effects of this smoke on any mobs it comes into contact with.

+

Arguments:

+
    +
  • smoker: The mob that is being exposed to this smoke.
  • +
  • seconds_per_tick: A scaling factor for the effects this has. Primarily based off of tick rate to normalize effects to units of rate/sec.
  • +
+

Returns whether the smoke effect was applied to the mob.

+ + + diff --git a/obj/effect/particle_effect/fluid/smoke/bad.html b/obj/effect/particle_effect/fluid/smoke/bad.html new file mode 100644 index 00000000000..e7dced48dee --- /dev/null +++ b/obj/effect/particle_effect/fluid/smoke/bad.html @@ -0,0 +1,42 @@ + + + + + + + /obj/effect/particle_effect/fluid/smoke/bad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bad + + + +

+ +

Smoke that makes you cough and reduces the power of lasers.

+

Procs

on_enteredReduces the power of any beam projectile that passes through the smoke.

Proc Details

on_entered +

+

Reduces the power of any beam projectile that passes through the smoke.

+

Arguments:

+
    +
  • source: The location that has just been entered. If /datum/element/connect_loc is working this is src.loc.
  • +
  • arrived: The atom that has just entered the source location.
  • +
  • old_loc: The location the entering atom just was in.
  • +
  • [old_locs][/list/atom]: The set of locations the entering atom was just in.
  • +
+ + + diff --git a/obj/effect/particle_effect/fluid/smoke/colourful.html b/obj/effect/particle_effect/fluid/smoke/colourful.html new file mode 100644 index 00000000000..72d0e4814bf --- /dev/null +++ b/obj/effect/particle_effect/fluid/smoke/colourful.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/particle_effect/fluid/smoke/colourful - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

colourful + + + +

+ +

Randomly coloured smoke

+

Vars

coloursColours that the smoke can be
+

Var Details

colours + + + + +

+

Colours that the smoke can be

+ + + diff --git a/obj/effect/particle_effect/water/extinguisher.html b/obj/effect/particle_effect/water/extinguisher.html new file mode 100644 index 00000000000..0298db37980 --- /dev/null +++ b/obj/effect/particle_effect/water/extinguisher.html @@ -0,0 +1,37 @@ + + + + + + + /obj/effect/particle_effect/water/extinguisher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

extinguisher + + + +

+ +

Extinguisher snowflake

+

Procs

move_atStarts the effect moving at a target with a delay in deciseconds, and a lifetime in moves +Returns the created loop

Proc Details

move_at +

+

Starts the effect moving at a target with a delay in deciseconds, and a lifetime in moves +Returns the created loop

+ + + diff --git a/obj/effect/portal.html b/obj/effect/portal.html new file mode 100644 index 00000000000..50ba96c5271 --- /dev/null +++ b/obj/effect/portal.html @@ -0,0 +1,106 @@ + + + + + + + /obj/effect/portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portal + + + +

+ + + + + + + + + + + + +

Vars

allow_anchoredDo we teleport anchored objects?
force_teleportDoes this portal bypass teleport restrictions? like TRAIT_NO_TELEPORT and NOTELEPORT flags.
hard_targetFor when a portal needs a hard target and isn't to be linked.
hardlinkedRequires a linked portal at all times. Destroy if there's no linked portal, if there is destroy it when this one is deleted.
innate_accuracy_penaltyWhat precision value do we pass to do_teleport (how far from the target destination we will pop out at).
last_effectUsed to track how often sparks should be output. Might want to turn this into a cooldown.
linkedA reference to another "linked" destination portal
mech_sizedAre mechs able to enter this portal?
sparklessDoes this portal create spark effect when teleporting?
teleport_channelWhat teleport channel does this portal use?
wibblesIf FALSE, the wibble filter will not be applied to this portal (only a visual effect).
+

Var Details

allow_anchored + + + + +

+

Do we teleport anchored objects?

force_teleport + + + + +

+

Does this portal bypass teleport restrictions? like TRAIT_NO_TELEPORT and NOTELEPORT flags.

hard_target + + + + +

+

For when a portal needs a hard target and isn't to be linked.

hardlinked + + + + +

+

Requires a linked portal at all times. Destroy if there's no linked portal, if there is destroy it when this one is deleted.

innate_accuracy_penalty + + + + +

+

What precision value do we pass to do_teleport (how far from the target destination we will pop out at).

last_effect + + + + +

+

Used to track how often sparks should be output. Might want to turn this into a cooldown.

linked + + + + +

+

A reference to another "linked" destination portal

mech_sized + + + + +

+

Are mechs able to enter this portal?

sparkless + + + + +

+

Does this portal create spark effect when teleporting?

teleport_channel + + + + +

+

What teleport channel does this portal use?

wibbles + + + + +

+

If FALSE, the wibble filter will not be applied to this portal (only a visual effect).

+ + + diff --git a/obj/effect/powerup.html b/obj/effect/powerup.html new file mode 100644 index 00000000000..56b3ca2e8bb --- /dev/null +++ b/obj/effect/powerup.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/powerup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

powerup + + + +

+ + + + + + + +

Vars

lifetimeHow long the powerup stays on the ground, if no value it will stay forever
pickup_messageMessage given when powerup is picked up
pickup_soundSound played when powerup is picked up
respawn_cooldownCooldown for the powerup to respawn after it's been used
respawn_timeHow long in deciseconds it will take for the powerup to respawn, if no value it won't respawn

Procs

triggerTriggers the effect of the powerup on the target, returns FALSE if the target is not /mob/living, is dead or the cooldown hasn't finished, returns TRUE otherwise
+

Var Details

lifetime + + + + +

+

How long the powerup stays on the ground, if no value it will stay forever

pickup_message + + + + +

+

Message given when powerup is picked up

pickup_sound + + + + +

+

Sound played when powerup is picked up

respawn_cooldown + + + + +

+

Cooldown for the powerup to respawn after it's been used

respawn_time + + + + +

+

How long in deciseconds it will take for the powerup to respawn, if no value it won't respawn

Proc Details

trigger +

+

Triggers the effect of the powerup on the target, returns FALSE if the target is not /mob/living, is dead or the cooldown hasn't finished, returns TRUE otherwise

+ + + diff --git a/obj/effect/powerup/health.html b/obj/effect/powerup/health.html new file mode 100644 index 00000000000..3acd5f59595 --- /dev/null +++ b/obj/effect/powerup/health.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/powerup/health - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

health + + + +

+ + + + +

Vars

full_healDoes this pickup fully heal when picked up
heal_amountHow much the pickup heals when picked up
heal_flagsIf full heal, what flags do we pass?
+

Var Details

full_heal + + + + +

+

Does this pickup fully heal when picked up

heal_amount + + + + +

+

How much the pickup heals when picked up

heal_flags + + + + +

+

If full heal, what flags do we pass?

+ + + diff --git a/obj/effect/puzzle_death_signal_holder.html b/obj/effect/puzzle_death_signal_holder.html new file mode 100644 index 00000000000..2ebfc2d5b4f --- /dev/null +++ b/obj/effect/puzzle_death_signal_holder.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/puzzle_death_signal_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzle_death_signal_holder + + + +

+ + +

Vars

delaydelay
+

Var Details

delay + + + + +

+

delay

+ + + diff --git a/obj/effect/rune.html b/obj/effect/rune.html new file mode 100644 index 00000000000..29f2d405dc5 --- /dev/null +++ b/obj/effect/rune.html @@ -0,0 +1,155 @@ + + + + + + + /obj/effect/rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rune + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

can_be_scribedWhether this rune can be scribed or if it's admin only / special spawned / whatever
construct_invokeIf constructs can invoke it
cultist_descThe description of the rune shown to cultists who examine it
cultist_nameThe name of the rune to cultists
erase_timeHow long the rune takes to erase
failed_to_createGlobal proc to call if the rune fails to be created
invocationThis is said by cultists when the rune is invoked.
invoke_damageHow much damage invokers take when invoking it
keywordThe actual keyword for the rune
log_when_erasedUsed when you want to keep track of who erased the rune
no_scribe_boostIf a rune cannot be speed boosted while scribing on certain turfs
req_cultistsThe amount of cultists required around the rune to invoke it.
req_cultists_textIf we have a description override for required cultists to invoke
req_keywordIf the rune requires a keyword when scribed
rune_in_useUsed for some runes, this is for when you want a rune to not be usable when in use.
scribe_damageHhow much damage you take doing it
scribe_delayHow long the rune takes to create
started_creatingGlobal proc to call while the rune is being created
+

Var Details

can_be_scribed + + + + +

+

Whether this rune can be scribed or if it's admin only / special spawned / whatever

construct_invoke + + + + +

+

If constructs can invoke it

cultist_desc + + + + +

+

The description of the rune shown to cultists who examine it

cultist_name + + + + +

+

The name of the rune to cultists

erase_time + + + + +

+

How long the rune takes to erase

failed_to_create + + + + +

+

Global proc to call if the rune fails to be created

invocation + + + + +

+

This is said by cultists when the rune is invoked.

invoke_damage + + + + +

+

How much damage invokers take when invoking it

keyword + + + + +

+

The actual keyword for the rune

log_when_erased + + + + +

+

Used when you want to keep track of who erased the rune

no_scribe_boost + + + + +

+

If a rune cannot be speed boosted while scribing on certain turfs

req_cultists + + + + +

+

The amount of cultists required around the rune to invoke it.

req_cultists_text + + + + +

+

If we have a description override for required cultists to invoke

req_keyword + + + + +

+

If the rune requires a keyword when scribed

rune_in_use + + + + +

+

Used for some runes, this is for when you want a rune to not be usable when in use.

scribe_damage + + + + +

+

Hhow much damage you take doing it

scribe_delay + + + + +

+

How long the rune takes to create

started_creating + + + + +

+

Global proc to call while the rune is being created

+ + + diff --git a/obj/effect/rune/narsie.html b/obj/effect/rune/narsie.html new file mode 100644 index 00000000000..f1b49f112d3 --- /dev/null +++ b/obj/effect/rune/narsie.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/rune/narsie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

narsie + + + +

+ + +

Vars

usedHas the rune been used already?
+

Var Details

used + + + + +

+

Has the rune been used already?

+ + + diff --git a/obj/effect/rune/wall.html b/obj/effect/rune/wall.html new file mode 100644 index 00000000000..cbecdc63189 --- /dev/null +++ b/obj/effect/rune/wall.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/rune/wall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wall + + + +

+ + +

Vars

barrierThe barrier summoned by the rune when invoked. Tracked as a variable to prevent refreshing the barrier's integrity.
+

Var Details

barrier + + + + +

+

The barrier summoned by the rune when invoked. Tracked as a variable to prevent refreshing the barrier's integrity.

+ + + diff --git a/obj/effect/skyfall_landingzone.html b/obj/effect/skyfall_landingzone.html new file mode 100644 index 00000000000..b488eaaa227 --- /dev/null +++ b/obj/effect/skyfall_landingzone.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/skyfall_landingzone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skyfall_landingzone + + + +

+ +

a simple indicator of where the skyfall is going to land.

+ +

Vars

mechareference to mecha following

Procs

followcalled when the mecha moves
+

Var Details

mecha + + + + +

+

reference to mecha following

Proc Details

follow +

+

called when the mecha moves

+ + + diff --git a/obj/effect/slippery_acid.html b/obj/effect/slippery_acid.html new file mode 100644 index 00000000000..669cb6c4447 --- /dev/null +++ b/obj/effect/slippery_acid.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/slippery_acid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slippery_acid + + + +

+ + +

Vars

duration_timehow long does the acid exist for
+

Var Details

duration_time + + + + +

+

how long does the acid exist for

+ + + diff --git a/obj/effect/spawner/newbomb.html b/obj/effect/spawner/newbomb.html new file mode 100644 index 00000000000..3b6aa476ede --- /dev/null +++ b/obj/effect/spawner/newbomb.html @@ -0,0 +1,39 @@ + + + + + + + /obj/effect/spawner/newbomb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

newbomb + + + +

+ +

Spawns a TTV.

+

Procs

InitializeThe part of code that actually spawns the bomb. Always call the parent's initialize first for subtypes of these.

Proc Details

Initialize +

+

The part of code that actually spawns the bomb. Always call the parent's initialize first for subtypes of these.

+

Arguments:

+
    +
  • assembly - An assembly typepath to add to the ttv.
  • +
+ + + diff --git a/obj/effect/spawner/random.html b/obj/effect/spawner/random.html new file mode 100644 index 00000000000..494cb281ac0 --- /dev/null +++ b/obj/effect/spawner/random.html @@ -0,0 +1,136 @@ + + + + + + + /obj/effect/spawner/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

random + + + +

+ +

Base class for all random spawners.

+ + + + + + + + + + + + + + +

Vars

anchoredStops persistent lootdrop spawns from being shoved into lockers
lootA list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
loot_subtype_pathThe subtypes (this excludes the provided path) to combine with the loot list
loot_type_pathThe subtypes AND type to combine with the loot list
spawn_all_lootWhether the spawner should spawn all the loot in the list
spawn_loot_chanceThe chance for the spawner to create loot (ignores spawn_loot_count)
spawn_loot_countHow many items will be spawned
spawn_loot_doubleIf the same item can be spawned twice
spawn_loot_splitWhether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself
spawn_loot_split_pixel_offsetsThe pixel x/y divider offsets for spawn_loot_split (spaced 1 pixel apart by default)
spawn_random_offsetWhether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y)
spawn_scatter_radiusDetermines how big of a range (in tiles) we should scatter things in.

Procs

get_spawn_locationsIf the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available
make_itemMakes the actual item related to our spawner.
spawn_lootIf the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.
+

Var Details

anchored + + + + +

+

Stops persistent lootdrop spawns from being shoved into lockers

loot + + + + +

+

A list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)

loot_subtype_path + + + + +

+

The subtypes (this excludes the provided path) to combine with the loot list

loot_type_path + + + + +

+

The subtypes AND type to combine with the loot list

spawn_all_loot + + + + +

+

Whether the spawner should spawn all the loot in the list

spawn_loot_chance + + + + +

+

The chance for the spawner to create loot (ignores spawn_loot_count)

spawn_loot_count + + + + +

+

How many items will be spawned

spawn_loot_double + + + + +

+

If the same item can be spawned twice

spawn_loot_split + + + + +

+

Whether the items should be distributed to offsets 0,1,-1,2,-2,3,-3.. This overrides pixel_x/y on the spawner itself

spawn_loot_split_pixel_offsets + + + + +

+

The pixel x/y divider offsets for spawn_loot_split (spaced 1 pixel apart by default)

spawn_random_offset + + + + +

+

Whether the items should have a random pixel_x/y offset (maxium offset distance is ±16 pixels for x/y)

spawn_scatter_radius + + + + +

+

Determines how big of a range (in tiles) we should scatter things in.

Proc Details

get_spawn_locations +

+

If the spawner has a spawn_scatter_radius set, this creates a list of nearby turfs available

make_item +

+

Makes the actual item related to our spawner.

+

spawn_loc - where are we spawning it? +type_path_to_make - what are we spawning?

spawn_loot +

+

If the spawner has any loot defined, randomly picks some and spawns it. Does not cleanup the spawner.

+ + + diff --git a/obj/effect/spawner/random/environmentally_safe_anomaly.html b/obj/effect/spawner/random/environmentally_safe_anomaly.html new file mode 100644 index 00000000000..39460d894d6 --- /dev/null +++ b/obj/effect/spawner/random/environmentally_safe_anomaly.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/spawner/random/environmentally_safe_anomaly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

environmentally_safe_anomaly + + + +

+ +

Spawns a stable anomally that doesnt drop cores and doesn't destroy or alter the environment

+

Vars

anchor_anomalyDo we anchor the anomaly? Set to true if you don't want anomalies drifting away (like if theyre in space or something)
+

Var Details

anchor_anomaly + + + + +

+

Do we anchor the anomaly? Set to true if you don't want anomalies drifting away (like if theyre in space or something)

+ + + diff --git a/obj/effect/spawner/random/trash/crushed_can.html b/obj/effect/spawner/random/trash/crushed_can.html new file mode 100644 index 00000000000..5d00c1994ae --- /dev/null +++ b/obj/effect/spawner/random/trash/crushed_can.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/spawner/random/trash/crushed_can - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crushed_can + + + +

+ + +

Vars

soda_iconsWhether the can will spawn with this spawner's icon_state instead of a random one (used for mapedits)
+

Var Details

soda_icons + + + + +

+

Whether the can will spawn with this spawner's icon_state instead of a random one (used for mapedits)

+ + + diff --git a/obj/effect/spawner/random/trash/graffiti.html b/obj/effect/spawner/random/trash/graffiti.html new file mode 100644 index 00000000000..c73b734fc3e --- /dev/null +++ b/obj/effect/spawner/random/trash/graffiti.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/spawner/random/trash/graffiti - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

graffiti + + + +

+ + + +

Vars

random_colorWhether the graffiti will spawn with a random color (used for mapedits)
random_iconWhether the graffiti will spawn with this spawner's icon_state instead of a random one (used for mapedits)
+

Var Details

random_color + + + + +

+

Whether the graffiti will spawn with a random color (used for mapedits)

random_icon + + + + +

+

Whether the graffiti will spawn with this spawner's icon_state instead of a random one (used for mapedits)

+ + + diff --git a/obj/effect/spawner/random/vending.html b/obj/effect/spawner/random/vending.html new file mode 100644 index 00000000000..a07507caa4f --- /dev/null +++ b/obj/effect/spawner/random/vending.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/spawner/random/vending - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vending + + + +

+ + +

Vars

hackedwhether it hacks the vendor on spawn (only used for mapedits)
+

Var Details

hacked + + + + +

+

whether it hacks the vendor on spawn (only used for mapedits)

+ + + diff --git a/obj/effect/spawner/xmastree.html b/obj/effect/spawner/xmastree.html new file mode 100644 index 00000000000..8215aadd2ef --- /dev/null +++ b/obj/effect/spawner/xmastree.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/spawner/xmastree - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

xmastree + + + +

+ + + +

Vars

christmas_treeChristmas tree, presents included.
festive_treeChristmas tree, no presents included.
+

Var Details

christmas_tree + + + + +

+

Christmas tree, presents included.

festive_tree + + + + +

+

Christmas tree, no presents included.

+ + + diff --git a/obj/effect/spectre_of_resurrection.html b/obj/effect/spectre_of_resurrection.html new file mode 100644 index 00000000000..d615edfedd7 --- /dev/null +++ b/obj/effect/spectre_of_resurrection.html @@ -0,0 +1,85 @@ + + + + + + + /obj/effect/spectre_of_resurrection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spectre_of_resurrection + + + +

+ +

A ghostly image of a mob showing where and what is going to respawn

+ + + + + + + +

Vars

corpseWho are we reviving?
dead_mindWho if anyone is playing as them?

Procs

on_corpse_deletedIf the body is destroyed then we can't come back, F
on_corpse_revivedRemove our stored corpse back to the living world
on_mind_lostIf the mind is deleted somehow we just don't transfer it on revival
reviveBring our body back to life
set_up_resurrectionPrepare to revive someone
setup_iconCopy appearance from ressurecting mob
+

Var Details

corpse + + + + +

+

Who are we reviving?

dead_mind + + + + +

+

Who if anyone is playing as them?

Proc Details

on_corpse_deleted +

+

If the body is destroyed then we can't come back, F

on_corpse_revived +

+

Remove our stored corpse back to the living world

on_mind_lost +

+

If the mind is deleted somehow we just don't transfer it on revival

revive +

+

Bring our body back to life

set_up_resurrection +

+

Prepare to revive someone

setup_icon +

+

Copy appearance from ressurecting mob

+ + + diff --git a/obj/effect/spectre_of_resurrection/human.html b/obj/effect/spectre_of_resurrection/human.html new file mode 100644 index 00000000000..f4d34440bda --- /dev/null +++ b/obj/effect/spectre_of_resurrection/human.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/spectre_of_resurrection/human - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

human + + + +

+ +

A ressurection spectre with extra behaviour for humans

+

Vars

human_appearanceStored data used to restore someone to a fascimile of what they were before
+

Var Details

human_appearance + + + + +

+

Stored data used to restore someone to a fascimile of what they were before

+ + + diff --git a/obj/effect/step_trigger/thrower.html b/obj/effect/step_trigger/thrower.html new file mode 100644 index 00000000000..53c002d840b --- /dev/null +++ b/obj/effect/step_trigger/thrower.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/step_trigger/thrower - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

thrower + + + +

+ + +

Vars

affectingList of moving atoms mapped to their inital direction
+

Var Details

affecting + + + + +

+

List of moving atoms mapped to their inital direction

+ + + diff --git a/obj/effect/temp_visual.html b/obj/effect/temp_visual.html new file mode 100644 index 00000000000..009015ee6ab --- /dev/null +++ b/obj/effect/temp_visual.html @@ -0,0 +1,50 @@ + + + + + + + /obj/effect/temp_visual - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

temp_visual + + + +

+ +

temporary visual effects

+ + +

Vars

durationtime, in deciseconds, that this object will exist
randomdirif true, will pick a random direction when created.
timeridid of the deletion timer
+

Var Details

duration + + + + +

+

time, in deciseconds, that this object will exist

randomdir + + + + +

+

if true, will pick a random direction when created.

timerid + + + + +

+

id of the deletion timer

+ + + diff --git a/obj/effect/temp_visual/brim_burst.html b/obj/effect/temp_visual/brim_burst.html new file mode 100644 index 00000000000..32a215cbade --- /dev/null +++ b/obj/effect/temp_visual/brim_burst.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/temp_visual/brim_burst - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

brim_burst + + + +

+ +

Show a funny animation before doing an explosion

+

Procs

bangMake an explosion

Proc Details

bang +

+

Make an explosion

+ + + diff --git a/obj/effect/temp_visual/drawing_heretic_rune.html b/obj/effect/temp_visual/drawing_heretic_rune.html new file mode 100644 index 00000000000..cb2909b24a6 --- /dev/null +++ b/obj/effect/temp_visual/drawing_heretic_rune.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/temp_visual/drawing_heretic_rune - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

drawing_heretic_rune + + + +

+ + +

Vars

animation_stateWe only set this state after setting the colour, otherwise the animation doesn't colour correctly
+

Var Details

animation_state + + + + +

+

We only set this state after setting the colour, otherwise the animation doesn't colour correctly

+ + + diff --git a/obj/effect/temp_visual/effect_trail.html b/obj/effect/temp_visual/effect_trail.html new file mode 100644 index 00000000000..589429fd277 --- /dev/null +++ b/obj/effect/temp_visual/effect_trail.html @@ -0,0 +1,85 @@ + + + + + + + /obj/effect/temp_visual/effect_trail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

effect_trail + + + +

+ +

An invisible effect which chases a target, spawning spikes every so often.

+ + + + + + + +

Vars

homingDo we home in after we started moving?
max_spawnedStop spawning if we have this many effects already
move_speedSpeed at which we chase target
movementHandles chasing the target
spawn_intervalHow often do we spawn our other effect?
spawned_effectTypepath of our spawned effect
targetWhat are we chasing?

Procs

on_target_invalidDestroy ourselves if the target is no longer valid
+

Var Details

homing + + + + +

+

Do we home in after we started moving?

max_spawned + + + + +

+

Stop spawning if we have this many effects already

move_speed + + + + +

+

Speed at which we chase target

movement + + + + +

+

Handles chasing the target

spawn_interval + + + + +

+

How often do we spawn our other effect?

spawned_effect + + + + +

+

Typepath of our spawned effect

target + + + + +

+

What are we chasing?

Proc Details

on_target_invalid +

+

Destroy ourselves if the target is no longer valid

+ + + diff --git a/obj/effect/temp_visual/emerging_ground_spike.html b/obj/effect/temp_visual/emerging_ground_spike.html new file mode 100644 index 00000000000..5b3bb63414e --- /dev/null +++ b/obj/effect/temp_visual/emerging_ground_spike.html @@ -0,0 +1,71 @@ + + + + + + + /obj/effect/temp_visual/emerging_ground_spike - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

emerging_ground_spike + + + +

+ +

A spike comes out of the ground, dealing damage after a short delay

+ + + + + +

Vars

damage_blacklist_typecacheTypecache of types of mobs not to damage
harm_delayTime until we hurt people stood on us
impale_damageDamage to deal on impale
position_varianceAmount by which to vary our position on spawn
standing_damage_zonesWeighted list of body zones to target while standing

Procs

impaleStab people who are stood on us after a delay in the shins
+

Var Details

damage_blacklist_typecache + + + + +

+

Typecache of types of mobs not to damage

harm_delay + + + + +

+

Time until we hurt people stood on us

impale_damage + + + + +

+

Damage to deal on impale

position_variance + + + + +

+

Amount by which to vary our position on spawn

standing_damage_zones + + + + +

+

Weighted list of body zones to target while standing

Proc Details

impale +

+

Stab people who are stood on us after a delay in the shins

+ + + diff --git a/obj/effect/temp_visual/hivebrood_spawn.html b/obj/effect/temp_visual/hivebrood_spawn.html new file mode 100644 index 00000000000..e70cfc6d2d4 --- /dev/null +++ b/obj/effect/temp_visual/hivebrood_spawn.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/temp_visual/hivebrood_spawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

hivebrood_spawn + + + +

+ +

Fast animation to show a worm spawning

+

Procs

create_fromSet up our visuals and start a timer for a callback

Proc Details

create_from +

+

Set up our visuals and start a timer for a callback

+ + + diff --git a/obj/effect/temp_visual/legion_skull_depart.html b/obj/effect/temp_visual/legion_skull_depart.html new file mode 100644 index 00000000000..c8ea45b4b0c --- /dev/null +++ b/obj/effect/temp_visual/legion_skull_depart.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/temp_visual/legion_skull_depart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

legion_skull_depart + + + +

+ +

Animation for launching a skull

+

Procs

set_appearanceCopy appearance from the passed atom type

Proc Details

set_appearance +

+

Copy appearance from the passed atom type

+ + + diff --git a/obj/effect/temp_visual/legion_skull_land.html b/obj/effect/temp_visual/legion_skull_land.html new file mode 100644 index 00000000000..a05a2f59fdf --- /dev/null +++ b/obj/effect/temp_visual/legion_skull_land.html @@ -0,0 +1,35 @@ + + + + + + + /obj/effect/temp_visual/legion_skull_land - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

legion_skull_land + + + +

+ +

Animation for landing a skull

+

Procs

set_appearanceCopy appearance from the passed atom type and store what to do on animation complete

Proc Details

set_appearance +

+

Copy appearance from the passed atom type and store what to do on animation complete

+ + + diff --git a/obj/effect/temp_visual/lesser_carp_rift.html b/obj/effect/temp_visual/lesser_carp_rift.html new file mode 100644 index 00000000000..79f5b37370a --- /dev/null +++ b/obj/effect/temp_visual/lesser_carp_rift.html @@ -0,0 +1,36 @@ + + + + + + + /obj/effect/temp_visual/lesser_carp_rift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lesser_carp_rift + + + +

+ +

If you touch the entrance you are teleported to the exit, exit doesn't do anything

+

Vars

destroy_timerHolds a reference to a timer until this gets deleted
+

Var Details

destroy_timer + + + + +

+

Holds a reference to a timer until this gets deleted

+ + + diff --git a/obj/effect/temp_visual/lesser_carp_rift/entrance.html b/obj/effect/temp_visual/lesser_carp_rift/entrance.html new file mode 100644 index 00000000000..d14fde52616 --- /dev/null +++ b/obj/effect/temp_visual/lesser_carp_rift/entrance.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/temp_visual/lesser_carp_rift/entrance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

entrance + + + +

+ +

If you touch this you are taken to the exit

+ +

Vars

disorient_timeClick CD to apply after teleporting
exit_locsWhere you get teleported to
+

Var Details

disorient_time + + + + +

+

Click CD to apply after teleporting

exit_locs + + + + +

+

Where you get teleported to

+ + + diff --git a/obj/effect/temp_visual/meteor_heart_death.html b/obj/effect/temp_visual/meteor_heart_death.html new file mode 100644 index 00000000000..f472edf6ef1 --- /dev/null +++ b/obj/effect/temp_visual/meteor_heart_death.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/temp_visual/meteor_heart_death - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

meteor_heart_death + + + +

+ +

Dramatic death animation for the meteor heart mob

+ +

Vars

soundloopLooping heartbeat sound

Procs

gibMake this place a mess
+

Var Details

soundloop + + + + +

+

Looping heartbeat sound

Proc Details

gib +

+

Make this place a mess

+ + + diff --git a/obj/effect/temp_visual/resonance.html b/obj/effect/temp_visual/resonance.html new file mode 100644 index 00000000000..ecafa4751e2 --- /dev/null +++ b/obj/effect/temp_visual/resonance.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/temp_visual/resonance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

resonance + + + +

+ + + + + + + + +

Vars

adding_failurethe number that is added to the failure_prob. Will default to 50
creatorthe parent creator (user) of this field
damage_multiplierthe modifier to resonance_damage; affected by the quick_burst_mod from the resonator
failure_probthe probability that the field will not be able to spread
parent_resonatorthe parent resonator of this field
resonance_damagethe amount of damage living beings will take whilst inside the field during its burst
rupturingwhether the field is rupturing currently or not (to prevent recursion)
+

Var Details

adding_failure + + + + +

+

the number that is added to the failure_prob. Will default to 50

creator + + + + +

+

the parent creator (user) of this field

damage_multiplier + + + + +

+

the modifier to resonance_damage; affected by the quick_burst_mod from the resonator

failure_prob + + + + +

+

the probability that the field will not be able to spread

parent_resonator + + + + +

+

the parent resonator of this field

resonance_damage + + + + +

+

the amount of damage living beings will take whilst inside the field during its burst

rupturing + + + + +

+

whether the field is rupturing currently or not (to prevent recursion)

+ + + diff --git a/obj/effect/temp_visual/slippery_ice.html b/obj/effect/temp_visual/slippery_ice.html new file mode 100644 index 00000000000..7413df33257 --- /dev/null +++ b/obj/effect/temp_visual/slippery_ice.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/temp_visual/slippery_ice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

slippery_ice + + + +

+ + + +

Vars

phase_in_periodhow long does it take for the effect to phase in

Procs

add_slippery_componentslowly fade out of existence
+

Var Details

phase_in_period + + + + +

+

how long does it take for the effect to phase in

Proc Details

add_slippery_component +

+

slowly fade out of existence

+ + + diff --git a/obj/effect/temp_visual/sonar_ping.html b/obj/effect/temp_visual/sonar_ping.html new file mode 100644 index 00000000000..3f52caaa215 --- /dev/null +++ b/obj/effect/temp_visual/sonar_ping.html @@ -0,0 +1,92 @@ + + + + + + + /obj/effect/temp_visual/sonar_ping - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sonar_ping + + + +

+ + + + + + + + + + +

Vars

creature_xCreature's X & Y coords, which can either be overridden or kept the same depending on follow_creature.
follow_creatureDoes the visual follow the creature?
mod_manThe person in the modsuit at the moment, really just used to remove this from their screen
modsuit_imageThe image shown to modsuit users
pinged_personThe creature we're placing this on
real_icon_stateThe icon state applied to the image created for this ping.

Procs

add_mindAdd the image to the modsuit wearer's screen
processUpdate the position of the ping while it's still up. Not sure if i need to use the full proc but just being safe
remove_mindRemove the image from the modsuit wearer's screen
+

Var Details

creature_x + + + + +

+

Creature's X & Y coords, which can either be overridden or kept the same depending on follow_creature.

follow_creature + + + + +

+

Does the visual follow the creature?

mod_man + + + + +

+

The person in the modsuit at the moment, really just used to remove this from their screen

modsuit_image + + + + +

+

The image shown to modsuit users

pinged_person + + + + +

+

The creature we're placing this on

real_icon_state + + + + +

+

The icon state applied to the image created for this ping.

Proc Details

add_mind +

+

Add the image to the modsuit wearer's screen

process +

+

Update the position of the ping while it's still up. Not sure if i need to use the full proc but just being safe

remove_mind +

+

Remove the image from the modsuit wearer's screen

+ + + diff --git a/obj/effect/temp_visual/teleporting_tornado.html b/obj/effect/temp_visual/teleporting_tornado.html new file mode 100644 index 00000000000..34084f2073a --- /dev/null +++ b/obj/effect/temp_visual/teleporting_tornado.html @@ -0,0 +1,57 @@ + + + + + + + /obj/effect/temp_visual/teleporting_tornado - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

teleporting_tornado + + + +

+ +

Teleporting tornado, spawned by warp whistle, teleports the user if they manage to pick them up.

+ + + +

Vars

pickedup_mobsList of all mobs currently held by the tornado.
whistleReference to the whistle

Procs

DestroyDestroy the tornado and teleport everyone on it away.
check_teleportCheck if anything the tornado crosses is the creator.
+

Var Details

pickedup_mobs + + + + +

+

List of all mobs currently held by the tornado.

whistle + + + + +

+

Reference to the whistle

Proc Details

Destroy +

+

Destroy the tornado and teleport everyone on it away.

check_teleport +

+

Check if anything the tornado crosses is the creator.

+ + + diff --git a/obj/effect/temp_visual/thrusting_spines.html b/obj/effect/temp_visual/thrusting_spines.html new file mode 100644 index 00000000000..f8d88c3a912 --- /dev/null +++ b/obj/effect/temp_visual/thrusting_spines.html @@ -0,0 +1,78 @@ + + + + + + + /obj/effect/temp_visual/thrusting_spines - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

thrusting_spines + + + +

+ + + + + + + + +

Vars

activeIf this will trigger a trap when entered
impale_damageDamage to deal on activation
standing_damage_zonesWeighted list of body zones to target while standing
thrust_delayTime between activations

Procs

on_enteredCalled when something enters our turf, if it is a non-flying mob then give it a stab
readyCalled when we're ready to start impaling people
retractCalled when it is time to stop impaling people
+

Var Details

active + + + + +

+

If this will trigger a trap when entered

impale_damage + + + + +

+

Damage to deal on activation

standing_damage_zones + + + + +

+

Weighted list of body zones to target while standing

thrust_delay + + + + +

+

Time between activations

Proc Details

on_entered +

+

Called when something enters our turf, if it is a non-flying mob then give it a stab

ready +

+

Called when we're ready to start impaling people

retract +

+

Called when it is time to stop impaling people

+ + + diff --git a/obj/effect/timestop.html b/obj/effect/timestop.html new file mode 100644 index 00000000000..d9066f944fa --- /dev/null +++ b/obj/effect/timestop.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/timestop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

timestop + + + +

+ + + +

Vars

channelledif true, immune atoms moving ends the timestop instead of duration.
hiddenhides time icon effect and mutes sound
+

Var Details

channelled + + + + +

+

if true, immune atoms moving ends the timestop instead of duration.

hidden + + + + +

+

hides time icon effect and mutes sound

+ + + diff --git a/obj/effect/trading_card_panel.html b/obj/effect/trading_card_panel.html new file mode 100644 index 00000000000..4e94e92ecd2 --- /dev/null +++ b/obj/effect/trading_card_panel.html @@ -0,0 +1,120 @@ + + + + + + + /obj/effect/trading_card_panel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trading_card_panel + + + +

+ +

A display panel that renders a set of icons (in this case mana crystals), this is generated by /obj/machinery/trading_card_button and can be manipulated by the button which generates it.

+ + + + + + + + + + + + +

Vars

empty_gem_iconThe icon of an "inactive" gem.
gem_bar_offset_wWhere the gem bar is placed in relation to the centre of the panel on the X axis, useful for multi-column displays.
gem_bar_offset_zWhere the gem bar is placed in relation to the centre of the panel on the Y axis.
gem_iconThe icon of an "active" gem.
gem_icon_fileFile that both icon states for gems are pulled from
gem_slotsHow many "inactive" gems will appear
gem_titleThe name of what this panel tracks, used in the description
gemsHow much "active" gems will appear
individual_gem_offset_xThe gap between each gem on the X axis
individual_gem_offset_yThe gap between each gem on the Y axis
max_gemsThe maximum number of inactive or active gems that can be set.
number_of_columnsThe maximum number of columns that can be displayed on the panel.
number_of_rowsThe maximum number of rows that can be displayed on the panel.
+

Var Details

empty_gem_icon + + + + +

+

The icon of an "inactive" gem.

gem_bar_offset_w + + + + +

+

Where the gem bar is placed in relation to the centre of the panel on the X axis, useful for multi-column displays.

gem_bar_offset_z + + + + +

+

Where the gem bar is placed in relation to the centre of the panel on the Y axis.

gem_icon + + + + +

+

The icon of an "active" gem.

gem_icon_file + + + + +

+

File that both icon states for gems are pulled from

gem_slots + + + + +

+

How many "inactive" gems will appear

gem_title + + + + +

+

The name of what this panel tracks, used in the description

gems + + + + +

+

How much "active" gems will appear

individual_gem_offset_x + + + + +

+

The gap between each gem on the X axis

individual_gem_offset_y + + + + +

+

The gap between each gem on the Y axis

max_gems + + + + +

+

The maximum number of inactive or active gems that can be set.

number_of_columns + + + + +

+

The maximum number of columns that can be displayed on the panel.

number_of_rows + + + + +

+

The maximum number of rows that can be displayed on the panel.

+ + + diff --git a/obj/effect/turf_decal.html b/obj/effect/turf_decal.html new file mode 100644 index 00000000000..5c9ce7889d3 --- /dev/null +++ b/obj/effect/turf_decal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/effect/turf_decal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

turf_decal + + + +

+ + + +

Vars

patternThe pattern used when recoloring the decal. If null, it'll use the def of the station or holiday.
use_holiday_colorsDoes this decal change colors on holidays
+

Var Details

pattern + + + + +

+

The pattern used when recoloring the decal. If null, it'll use the def of the station or holiday.

use_holiday_colors + + + + +

+

Does this decal change colors on holidays

+ + + diff --git a/obj/effect/watcher_orbiter.html b/obj/effect/watcher_orbiter.html new file mode 100644 index 00000000000..b88fb74ddbc --- /dev/null +++ b/obj/effect/watcher_orbiter.html @@ -0,0 +1,141 @@ + + + + + + + /obj/effect/watcher_orbiter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

watcher_orbiter + + + +

+ +

Orbiting visual which shoots at mining mobs

+ + + + + + + + + + + + + + + +

Vars

fire_delayTime between taking potshots at goliaths
on_death_multiplierHow much faster do we shoot when avenging our parent?
parentWho are we following?
projectile_soundSound to make when we shoot
projectile_typeType of projectile we fire
shot_cooldownTime taken between shots
target_factionTypes of mobs to attack
trackerDatum which keeps us hanging out with our parent

Procs

followSet ourselves up to track and orbit around a guy
on_glide_size_changedMake sure we glide at the same speed as our parent
on_parent_deletedCalled if the guy we're tracking is deleted somehow
on_parent_diedWe must guard this corpse
on_parent_movedFollow our parent
on_parent_revivedExit hyperactive mode
orbit_animationDo our orbiting animation
shoot_atTake a shot
+

Var Details

fire_delay + + + + +

+

Time between taking potshots at goliaths

on_death_multiplier + + + + +

+

How much faster do we shoot when avenging our parent?

parent + + + + +

+

Who are we following?

projectile_sound + + + + +

+

Sound to make when we shoot

projectile_type + + + + +

+

Type of projectile we fire

shot_cooldown + + + + +

+

Time taken between shots

target_faction + + + + +

+

Types of mobs to attack

tracker + + + + +

+

Datum which keeps us hanging out with our parent

Proc Details

follow +

+

Set ourselves up to track and orbit around a guy

on_glide_size_changed +

+

Make sure we glide at the same speed as our parent

on_parent_deleted +

+

Called if the guy we're tracking is deleted somehow

on_parent_died +

+

We must guard this corpse

on_parent_moved +

+

Follow our parent

on_parent_revived +

+

Exit hyperactive mode

orbit_animation +

+

Do our orbiting animation

shoot_at +

+

Take a shot

+ + + diff --git a/obj/item.html b/obj/item.html new file mode 100644 index 00000000000..fbd3e724b98 --- /dev/null +++ b/obj/item.html @@ -0,0 +1,1276 @@ + + + + + + + /obj/item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

item + + + +

+ +

Anything you can pick up and hold.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

actionslist of /datum/action's that this item has.
actions_typeslist of paths of action datums to give to the item on New().
age_restrictedWhether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item
alternate_worn_layerForced mob worn layer instead of the standard preferred size.
armour_penetrationpercentage of armour effectiveness to remove
attack_speedThe click cooldown given after attacking. Lower numbers means faster attacks
attack_verb_continuousUsed in atom/proc/attackby to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"
belt_icon_stateIcon state for the belt overlay, if null the normal icon_state will be used.
block_chanceChance of blocking incoming attack
block_effectEffect of blocking
block_soundSound which is produced when blocking an attack
body_parts_coveredWhat body parts are covered by the clothing when you wear it
breakouttimeHow long it takes to resist out of the item (cuffs and such)
cold_protectionflags which determine which body parts are protected from cold. [See here][HEAD]
custom_premium_pricePrice of an item in a vending machine, overriding the premium vending machine price. Define in terms of paycheck defines as opposed to raw numbers.
custom_pricePrice of an item in a vending machine, overriding the base vending machine price. Define in terms of paycheck defines as opposed to raw numbers.
dog_fashionReference to the datum that determines whether dogs can wear the item: Needs to be in /obj/item because corgis can wear a lot of non-clothing items
drop_soundSound uses when dropping the item, or when its thrown.
dye_colorUsed as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm
dying_keyWhat dye registry should be looked at when dying this item; see washing_machine.dm
embeddingDoes it embed and if yes, what kind of embed
equip_delay_otherIn deciseconds, how long an item takes to put on another person
equip_delay_selfIn deciseconds, how long an item takes to equip; counts only for normal clothing slots, not pockets etc.
equip_soundSound used when equipping the item into a valid slot
fantasy_modificationsA lazylist used for applying fantasy values, contains the actual modification applied to a variable.
flags_coverfor flags such as [GLASSESCOVERSEYES]
flags_invThis flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.
force_stringstring form of an item's force. Edit this var only to set a custom force string
greyscale_config_beltThe config type to use for greyscaled belt overlays. Both this and greyscale_colors must be assigned to work.
greyscale_config_inhand_leftThe config type to use for greyscaled left inhand sprites. Both this and greyscale_colors must be assigned to work.
greyscale_config_inhand_rightThe config type to use for greyscaled right inhand sprites. Both this and greyscale_colors must be assigned to work.
greyscale_config_wornThe config type to use for greyscaled worn sprites. Both this and greyscale_colors must be assigned to work.
grind_resultsGrinder var:A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only
heat_protectionflags which determine which body parts are protected from heat. [See here][HEAD]
hitsoundSound played when you hit something with the item
inhand_icon_stateicon state for inhand overlays.
inhand_x_dimensionSame as for worn_x_dimension but for inhands, uses the lefthand_ and righthand_ file vars
inhand_y_dimensionSame as for worn_y_dimension but for inhands, uses the lefthand_ and righthand_ file vars
interaction_flags_itemflags for what should be done when you click on the item, default is picking it up
item_flagsItem flags for the item
juice_typepathA reagent the nutriments are converted into when the item is juiced.
lefthand_fileIcon file for left hand inhand overlays
masterThis var exists as a weird proxy "owner" ref +It's used in a few places. Stop using it, and optimially replace all uses please
max_heat_protection_temperatureSet this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags
min_cold_protection_temperatureSet this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags
mob_throw_hit_soundUsed when yate into a mob
mouse_drag_pointerthe icon to indicate this object is being dragged
offensive_notesUsed in obj/item/examine to give additional notes on what the weapon does, separate from the predetermined output variables
override_notesUsed in obj/item/examine to determines whether or not to detail an item's statistics even if it does not meet the force requirements
pickup_soundSound uses when picking the item up (into your hands)
reachIn tiles, how far this weapon can reach; 1 for adjacent, which is default
righthand_fileIcon file for right inhand overlays
secondary_attack_speedThe click cooldown on secondary attacks. Lower numbers mean faster attacks. Will use attack_speed if undefined.
sharpnessAll items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.
siemens_coefficientfor electrical admittance/conductance (electrocution checks and shit)
slot_equipment_priorityThe list of slots by priority. equip_to_appropriate_slot() uses this list. Doesn't matter if a mob type doesn't have a slot. For default list, see /mob/proc/equip_to_appropriate_slot
slot_flagsThis is used to determine on which slots an item can fit.
slowdownHow much clothing is slowing you down. Negative values speeds you up
species_exceptionlist() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item
stealthy_audioWhether or not we use stealthy audio levels for this item's attack sounds
strip_delayIn deciseconds, how long an item takes to remove from another person
supports_variations_flagsThis is a bitfield that defines what variations exist for bodyparts like Digi legs. See: code_DEFINES\inventory.dm
throw_verbUsed if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example.
thrownbyA weakref to the mob who threw the item
tk_throw_rangeItems can by default thrown up to 10 tiles by TK users
tool_behaviourHow a tool acts when you use it on something, such as wirecutters cutting wires while multitools measure power
toolspeedHow fast does the tool work
transparent_protectionyou can see someone's mask through their transparent visor, but you can't reach it
trigger_guardDetermines who can shoot this
undyeableWhether the item is unaffected by standard dying.
usesoundPlayed when the item is used, for example tools
w_classHow large is the object, used for stuff like whether it can fit in backpacks or not
weak_against_armourWhether or not our object is easily hindered by the presence of armor
worn_iconIcon file for mob worn overlays.
worn_icon_stateIcon state for mob worn overlays, if null the normal icon_state will be used.
worn_x_dimensionDimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly
worn_y_dimensionDimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly
worn_y_offsetWorn overlay will be shifted by this along y axis

Procs

IsReflectThis proc determines if and at what an object will reflect energy projectiles if it's in l_hand,r_hand or wear_suit
add_item_actionAdds an item action to our list of item actions. +Item actions are actions linked to our item, that are granted to mobs who equip us. +This also ensures that the actions are properly tracked in the actions list and removed if they're deleted. +Can be be passed a typepath of an action or an instance of an action.
add_item_contextCreates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.
add_stealing_item_objectiveCalled if this item is supposed to be a steal objective item objective.
add_weapon_descriptionAdds the weapon_description element, which shows the 'warning label' for especially dangerous objects. Override this for item types with special notes.
afterattackLast proc in the /obj/item/proc/melee_attack_chain. +Returns a bitfield containing AFTERATTACK_PROCESSED_ITEM if the user is likely intending to use this item on another item. +Some consumers currently return TRUE to mean "processed". These are not consistent and should be taken with a grain of salt.
afterattack_secondaryCalled at the end of the attack chain if the user right-clicked.
attackCalled from [/mob/living/proc/attackby]
attack_atomThe equivalent of the standard version of /obj/item/proc/attack but for non mob targets.
attack_qdeletedCalled if the target gets deleted by our attack
attack_secondaryThe equivalent of /obj/item/proc/attack but for alternate attacks, AKA right clicking
attack_selfCalled when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.
attack_self_secondaryCalled when the item is in the active hand, and right-clicked. Intended for alternate or opposite functions, such as lowering reagent transfer amount. At the moment, there is no verb or hotkey.
attackby_storage_insertWhether or not this item can be put into a storage item through attackby
check_allowed_itemsChecks if an item is allowed to be used on an atom/target +Returns TRUE if allowed.
compare_zone_to_item_slotWhen called on an item, and given a body targeting zone, this will return TRUE if the item slot matches the target zone, and FALSE otherwise. +Currently supports the jumpsuit, outersuit, backpack, belt, gloves, hat, ears, neck, mask, eyes, and feet slots. All other slots will auto return FALSE.
cyborg_unequipParent proc - triggers when an item/module is unequipped from a cyborg.
disableEmbeddingFor when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.
droppedCalled when a mob drops an item.
equippedCalled by on_equipped. Don't call this directly, we want the ITEM_POST_EQUIPPED signal to be sent after everything else.
failedEmbedIn case we want to do something special (like self delete) upon failing to embed in something.
get_belt_overlayReturns the icon used for overlaying the object on a belt
get_part_ratingReturns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped
get_sechud_job_icon_stateReturns the SecHUD job icon state for whatever this object's ID card is, if it has one.
get_sharpnessReturns the sharpness of src. If you want to get the sharpness of an item use this.
get_surgery_tool_overlayExtend this to give the item an appearance when placed in a surgical tray. Uses an icon state in medicart.dmi.
get_temperatureReturns the temperature of src. If you want to know if an item is hot use this proc.
get_worn_offsetsReturns offsets used for equipped item overlays in list(px_offset,py_offset) form.
get_writing_implement_detailsReturns null if this object cannot be used to interact with physical writing mediums such as paper. +Returns a list of key attributes for this object interacting with paper otherwise.
give_item_actionGives one of our item actions to a mob, when equipped to a certain slot
grant_action_to_bearerGrant the action to anyone who has this item equipped to an appropriate slot
grindGrind item, adding grind_results to item's reagents and transfering to target_holder if specified
handle_openspace_clickCalled on [/datum/element/openspace_item_click_handler/proc/on_afterattack]. Check the relative file for information.
help_light_cigFinds a cigarette on another mob to help light.
ignition_effectIf an object can successfully be used as a fire starter it will return a message
interactResearch prospects, including boostable nodes and point values. Deliver to a console to know whether the boosts have already been used. +Separator between the items on the list +Nodes that can be boosted
interact_with_atomCalled when this item is being used to interact with an atom, +IE, a mob is clicking on an atom with this item.
interact_with_atom_secondaryCalled when this item is being used to interact with an atom WITH RIGHT CLICK, +IE, a mob is right clicking on an atom with this item.
isEmbedHarmlessDoes the current embedding var meet the criteria for being harmless? Namely, does it have a pain multiplier and jostle pain mult of 0? If so, return true.
item_action_slot_checkSometimes we only want to grant the item's action if it's equipped in a specific slot.
item_start_equipThis proc calls at the begining of anytime an item is being equiped to a target by another mob. +It handles initial messages, AFK stripping, and initial logging.
juiceJuice item, converting nutriments into juice_typepath and transfering to target_holder if specified
melee_attack_chainThis is the proc that handles the order of an item_attack.
mob_can_equipthe mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. +if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise. +If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. +Arguments:
modify_fantasy_variableModifies the fantasy variable
on_action_deletedCalled when an action associated with our item is deleted
on_equippedCalled after an item is placed in an equipment slot. Runs equipped(), then sends a signal. +This should be called last or near-to-last, after all other inventory code stuff is handled.
on_foundcalled when "found" in pockets and storage items. Returns 1 if the search should end.
on_grindCalled BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring
on_juiceCalled BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring
on_offer_takenAn interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.
on_offeredAn interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.
on_outfit_equipSpecial stuff you want to do when an outfit equips this item.
on_thrownCalled by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.
open_flameCreates an ignition hotspot if item is lit and located on turf, in mask, or in hand
pick_painting_tool_colorCommon proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.
pickupcalled just as an item is picked up (loc is not yet changed)
play_tool_soundPlays item's usesound, if any.
pre_attackCalled on the item before it hits something
pre_attack_secondaryCalled on the item before it hits something, when right clicking.
register_item_contextCreate a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.
remove_item_actionRemoves an instance of an action from our list of item actions.
remove_item_from_storageTakes the location to move the item to, and optionally the mob doing the removing +If no mob is provided, we'll pass in the location, assuming it is a mob +Please use this if you're going to snowflake an item out of a obj/item/storage
reset_fantasy_variableReturns the original fantasy variable value
suicide_act*Makes cool stuff happen when you suicide with an item
tool_check_callbackUsed in a callback that is passed by use_tool into do_after call. Do not override, do not call manually.
tool_start_checkCalled before obj/item/proc/use_tool if there is a delay, or by obj/item/proc/use_tool if there isn't. Only ever used by welding tools and stacks, so it's not added on any other obj/item/proc/use_tool checks.
tool_use_checkA check called by /obj/item/proc/tool_start_check once, and by use_tool on every tick of delay.
tryEmbedtryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targeting the target.
ui_action_clickThis proc is executed when someone clicks the on-screen UI button. +The default action is attack_self(). +Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.
updateEmbeddingFor when you want to add/update the embedding on an item. Uses the vars in /obj/item/var/embedding, and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.
update_greyscaleChecks if this atom uses the GAGS system and if so updates the worn and inhand icons
update_item_action_buttonsUpdates all action buttons associated with this item
useGeneric use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure.
use_toolCalled when a mob tries to use the item as a tool. Handles most checks.
visual_equippedTo be overwritten to only perform visual tasks; +this is directly called instead of equipped on visual-only features like human dummies equipping outfits.
+

Var Details

actions + + + + +

+

list of /datum/action's that this item has.

actions_types + + + + +

+

list of paths of action datums to give to the item on New().

age_restricted + + + + +

+

Whether spessmen with an ID with an age below AGE_MINOR (20 by default) can buy this item

alternate_worn_layer + + + + +

+

Forced mob worn layer instead of the standard preferred size.

armour_penetration + + + + +

+

percentage of armour effectiveness to remove

attack_speed + + + + +

+

The click cooldown given after attacking. Lower numbers means faster attacks

attack_verb_continuous + + + + +

+

Used in atom/proc/attackby to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]"

belt_icon_state + + + + +

+

Icon state for the belt overlay, if null the normal icon_state will be used.

block_chance + + + + +

+

Chance of blocking incoming attack

block_effect + + + + +

+

Effect of blocking

block_sound + + + + +

+

Sound which is produced when blocking an attack

body_parts_covered + + + + +

+

What body parts are covered by the clothing when you wear it

breakouttime + + + + +

+

How long it takes to resist out of the item (cuffs and such)

cold_protection + + + + +

+

flags which determine which body parts are protected from cold. [See here][HEAD]

custom_premium_price + + + + +

+

Price of an item in a vending machine, overriding the premium vending machine price. Define in terms of paycheck defines as opposed to raw numbers.

custom_price + + + + +

+

Price of an item in a vending machine, overriding the base vending machine price. Define in terms of paycheck defines as opposed to raw numbers.

dog_fashion + + + + +

+

Reference to the datum that determines whether dogs can wear the item: Needs to be in /obj/item because corgis can wear a lot of non-clothing items

drop_sound + + + + +

+

Sound uses when dropping the item, or when its thrown.

dye_color + + + + +

+

Used as the dye color source in the washing machine only (at the moment). Can be a hex color or a key corresponding to a registry entry, see washing_machine.dm

dying_key + + + + +

+

What dye registry should be looked at when dying this item; see washing_machine.dm

embedding + + + + +

+

Does it embed and if yes, what kind of embed

equip_delay_other + + + + +

+

In deciseconds, how long an item takes to put on another person

equip_delay_self + + + + +

+

In deciseconds, how long an item takes to equip; counts only for normal clothing slots, not pockets etc.

equip_sound + + + + +

+

Sound used when equipping the item into a valid slot

fantasy_modifications + + + + +

+

A lazylist used for applying fantasy values, contains the actual modification applied to a variable.

flags_cover + + + + +

+

for flags such as [GLASSESCOVERSEYES]

flags_inv + + + + +

+

This flag is used to determine when items in someone's inventory cover others. IE helmets making it so you can't see glasses, etc.

force_string + + + + +

+

string form of an item's force. Edit this var only to set a custom force string

greyscale_config_belt + + + + +

+

The config type to use for greyscaled belt overlays. Both this and greyscale_colors must be assigned to work.

greyscale_config_inhand_left + + + + +

+

The config type to use for greyscaled left inhand sprites. Both this and greyscale_colors must be assigned to work.

greyscale_config_inhand_right + + + + +

+

The config type to use for greyscaled right inhand sprites. Both this and greyscale_colors must be assigned to work.

greyscale_config_worn + + + + +

+

The config type to use for greyscaled worn sprites. Both this and greyscale_colors must be assigned to work.

grind_results + + + + +

+

Grinder var:A reagent list containing the reagents this item produces when ground up in a grinder - this can be an empty list to allow for reagent transferring only

heat_protection + + + + +

+

flags which determine which body parts are protected from heat. [See here][HEAD]

hitsound + + + + +

+

Sound played when you hit something with the item

inhand_icon_state + + + + +

+

icon state for inhand overlays.

inhand_x_dimension + + + + +

+

Same as for worn_x_dimension but for inhands, uses the lefthand_ and righthand_ file vars

inhand_y_dimension + + + + +

+

Same as for worn_y_dimension but for inhands, uses the lefthand_ and righthand_ file vars

interaction_flags_item + + + + +

+

flags for what should be done when you click on the item, default is picking it up

item_flags + + + + +

+

Item flags for the item

juice_typepath + + + + +

+

A reagent the nutriments are converted into when the item is juiced.

lefthand_file + + + + +

+

Icon file for left hand inhand overlays

master + + + + +

+

This var exists as a weird proxy "owner" ref +It's used in a few places. Stop using it, and optimially replace all uses please

max_heat_protection_temperature + + + + +

+

Set this variable to determine up to which temperature (IN KELVIN) the item protects against heat damage. Keep at null to disable protection. Only protects areas set by heat_protection flags

min_cold_protection_temperature + + + + +

+

Set this variable to determine down to which temperature (IN KELVIN) the item protects against cold damage. 0 is NOT an acceptable number due to if(varname) tests!! Keep at null to disable protection. Only protects areas set by cold_protection flags

mob_throw_hit_sound + + + + +

+

Used when yate into a mob

mouse_drag_pointer + + + + +

+

the icon to indicate this object is being dragged

offensive_notes + + + + +

+

Used in obj/item/examine to give additional notes on what the weapon does, separate from the predetermined output variables

override_notes + + + + +

+

Used in obj/item/examine to determines whether or not to detail an item's statistics even if it does not meet the force requirements

pickup_sound + + + + +

+

Sound uses when picking the item up (into your hands)

reach + + + + +

+

In tiles, how far this weapon can reach; 1 for adjacent, which is default

righthand_file + + + + +

+

Icon file for right inhand overlays

secondary_attack_speed + + + + +

+

The click cooldown on secondary attacks. Lower numbers mean faster attacks. Will use attack_speed if undefined.

sharpness + + + + +

+

All items with sharpness of SHARP_EDGED or higher will automatically get the butchering component.

siemens_coefficient + + + + +

+

for electrical admittance/conductance (electrocution checks and shit)

slot_equipment_priority + + + + +

+

The list of slots by priority. equip_to_appropriate_slot() uses this list. Doesn't matter if a mob type doesn't have a slot. For default list, see /mob/proc/equip_to_appropriate_slot

slot_flags + + + + +

+

This is used to determine on which slots an item can fit.

slowdown + + + + +

+

How much clothing is slowing you down. Negative values speeds you up

species_exception + + + + +

+

list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item

stealthy_audio + + + + +

+

Whether or not we use stealthy audio levels for this item's attack sounds

strip_delay + + + + +

+

In deciseconds, how long an item takes to remove from another person

supports_variations_flags + + + + +

+

This is a bitfield that defines what variations exist for bodyparts like Digi legs. See: code_DEFINES\inventory.dm

throw_verb + + + + +

+

Used if we want to have a custom verb text for throwing. "John Spaceman flicks the ciggerate" for example.

thrownby + + + + +

+

A weakref to the mob who threw the item

tk_throw_range + + + + +

+

Items can by default thrown up to 10 tiles by TK users

tool_behaviour + + + + +

+

How a tool acts when you use it on something, such as wirecutters cutting wires while multitools measure power

toolspeed + + + + +

+

How fast does the tool work

transparent_protection + + + + +

+

you can see someone's mask through their transparent visor, but you can't reach it

trigger_guard + + + + +

+

Determines who can shoot this

undyeable + + + + +

+

Whether the item is unaffected by standard dying.

usesound + + + + +

+

Played when the item is used, for example tools

w_class + + + + +

+

How large is the object, used for stuff like whether it can fit in backpacks or not

weak_against_armour + + + + +

+

Whether or not our object is easily hindered by the presence of armor

worn_icon + + + + +

+

Icon file for mob worn overlays.

worn_icon_state + + + + +

+

Icon state for mob worn overlays, if null the normal icon_state will be used.

worn_x_dimension + + + + +

+

Dimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly

worn_y_dimension + + + + +

+

Dimensions of the icon file used when this item is worn, eg: hats.dmi (32x32 sprite, 64x64 sprite, etc.). Allows inhands/worn sprites to be of any size, but still centered on a mob properly

worn_y_offset + + + + +

+

Worn overlay will be shifted by this along y axis

Proc Details

IsReflect +

+

This proc determines if and at what an object will reflect energy projectiles if it's in l_hand,r_hand or wear_suit

add_item_action +

+

Adds an item action to our list of item actions. +Item actions are actions linked to our item, that are granted to mobs who equip us. +This also ensures that the actions are properly tracked in the actions list and removed if they're deleted. +Can be be passed a typepath of an action or an instance of an action.

add_item_context +

+

Creates a "Type-A" contextual screentip interaction. +When a user hovers over something with this item in hand, this proc will be called in order +to provide context for contextual screentips. +You must call register_item_context() in order for this to be registered. +A screentip context list is a list that has context keys (SCREENTIP_CONTEXT_*, from __DEFINES/screentips.dm) +that map to the action as text. +If you mutate the list in this signal, you must return CONTEXTUAL_SCREENTIP_SET. +source can, in all cases, be replaced with src, and only exists because this proc directly connects to a signal.

add_stealing_item_objective +

+

Called if this item is supposed to be a steal objective item objective.

add_weapon_description +

+

Adds the weapon_description element, which shows the 'warning label' for especially dangerous objects. Override this for item types with special notes.

afterattack +

+

Last proc in the /obj/item/proc/melee_attack_chain. +Returns a bitfield containing AFTERATTACK_PROCESSED_ITEM if the user is likely intending to use this item on another item. +Some consumers currently return TRUE to mean "processed". These are not consistent and should be taken with a grain of salt.

+

Arguments:

+
    +
  • atom/target - The thing that was hit
  • +
  • mob/user - The mob doing the hitting
  • +
  • proximity_flag - is 1 if this afterattack was called on something adjacent, in your square, or on your person.
  • +
  • click_parameters - is the params string from byond /atom/proc/Click code, see that documentation.
  • +

afterattack_secondary +

+

Called at the end of the attack chain if the user right-clicked.

+

Arguments:

+
    +
  • atom/target - The thing that was hit
  • +
  • mob/user - The mob doing the hitting
  • +
  • proximity_flag - is 1 if this afterattack was called on something adjacent, in your square, or on your person.
  • +
  • click_parameters - is the params string from byond /atom/proc/Click code, see that documentation.
  • +

attack +

+

Called from [/mob/living/proc/attackby]

+

Arguments:

+
    +
  • mob/living/target_mob - The mob being hit by this item
  • +
  • mob/living/user - The mob hitting with this item
  • +
  • params - Click params of this attack
  • +

attack_atom +

+

The equivalent of the standard version of /obj/item/proc/attack but for non mob targets.

attack_qdeleted +

+

Called if the target gets deleted by our attack

attack_secondary +

+

The equivalent of /obj/item/proc/attack but for alternate attacks, AKA right clicking

attack_self +

+

Called when the item is in the active hand, and clicked; alternately, there is an 'activate held object' verb or you can hit pagedown.

attack_self_secondary +

+

Called when the item is in the active hand, and right-clicked. Intended for alternate or opposite functions, such as lowering reagent transfer amount. At the moment, there is no verb or hotkey.

attackby_storage_insert +

+

Whether or not this item can be put into a storage item through attackby

check_allowed_items +

+

Checks if an item is allowed to be used on an atom/target +Returns TRUE if allowed.

+

Args: +target_self - Whether we will check if we (src) are in target, preventing people from using items on themselves. +not_inside - Whether target (or target's loc) has to be a turf.

compare_zone_to_item_slot +

+

When called on an item, and given a body targeting zone, this will return TRUE if the item slot matches the target zone, and FALSE otherwise. +Currently supports the jumpsuit, outersuit, backpack, belt, gloves, hat, ears, neck, mask, eyes, and feet slots. All other slots will auto return FALSE.

cyborg_unequip +

+

Parent proc - triggers when an item/module is unequipped from a cyborg.

disableEmbedding +

+

For when you want to disable an item's embedding capabilities (like transforming weapons and such), this proc will detach any active embed elements from it.

dropped +

+

Called when a mob drops an item.

equipped +

+

Called by on_equipped. Don't call this directly, we want the ITEM_POST_EQUIPPED signal to be sent after everything else.

+

Note that hands count as slots.

+

Arguments:

+
    +
  • user is mob that equipped it
  • +
  • slot uses the slot_X defines found in setup.dm for items that can be placed in multiple slots
  • +
  • initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it
  • +

failedEmbed +

+

In case we want to do something special (like self delete) upon failing to embed in something.

get_belt_overlay +

+

Returns the icon used for overlaying the object on a belt

get_part_rating +

+

Returns a numeric value for sorting items used as parts in machines, so they can be replaced by the rped

get_sechud_job_icon_state +

+

Returns the SecHUD job icon state for whatever this object's ID card is, if it has one.

get_sharpness +

+

Returns the sharpness of src. If you want to get the sharpness of an item use this.

get_surgery_tool_overlay +

+

Extend this to give the item an appearance when placed in a surgical tray. Uses an icon state in medicart.dmi.

+
    +
  • tray_extended - If true, the surgical tray the item is placed on is in "table mode"
  • +

get_temperature +

+

Returns the temperature of src. If you want to know if an item is hot use this proc.

get_worn_offsets +

+

Returns offsets used for equipped item overlays in list(px_offset,py_offset) form.

get_writing_implement_details +

+

Returns null if this object cannot be used to interact with physical writing mediums such as paper. +Returns a list of key attributes for this object interacting with paper otherwise.

give_item_action +

+

Gives one of our item actions to a mob, when equipped to a certain slot

grant_action_to_bearer +

+

Grant the action to anyone who has this item equipped to an appropriate slot

grind +

+

Grind item, adding grind_results to item's reagents and transfering to target_holder if specified

handle_openspace_click +

+

Called on [/datum/element/openspace_item_click_handler/proc/on_afterattack]. Check the relative file for information.

help_light_cig +

+

Finds a cigarette on another mob to help light.

ignition_effect +

+

If an object can successfully be used as a fire starter it will return a message

interact +

+

Research prospects, including boostable nodes and point values. Deliver to a console to know whether the boosts have already been used. +Separator between the items on the list +Nodes that can be boosted

interact_with_atom +

+

Called when this item is being used to interact with an atom, +IE, a mob is clicking on an atom with this item.

+

Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code. +Return NONE to allow default interaction / tool handling.

interact_with_atom_secondary +

+

Called when this item is being used to interact with an atom WITH RIGHT CLICK, +IE, a mob is right clicking on an atom with this item.

+

Default behavior has it run the same code as left click.

+

Return an ITEM_INTERACT_ flag in the event the interaction was handled, to cancel further interaction code. +Return NONE to allow default interaction / tool handling.

isEmbedHarmless +

+

Does the current embedding var meet the criteria for being harmless? Namely, does it have a pain multiplier and jostle pain mult of 0? If so, return true.

item_action_slot_check +

+

Sometimes we only want to grant the item's action if it's equipped in a specific slot.

item_start_equip +

+

This proc calls at the begining of anytime an item is being equiped to a target by another mob. +It handles initial messages, AFK stripping, and initial logging.

juice +

+

Juice item, converting nutriments into juice_typepath and transfering to target_holder if specified

melee_attack_chain +

+

This is the proc that handles the order of an item_attack.

+

The order of procs called is:

+
    +
  • [/atom/proc/tool_act] on the target. If it returns ITEM_INTERACT_SUCCESS or ITEM_INTERACT_BLOCKING, the chain will be stopped.
  • +
  • /obj/item/proc/pre_attack on src. If this returns TRUE, the chain will be stopped.
  • +
  • /atom/proc/attackby on the target. If it returns TRUE, the chain will be stopped.
  • +
  • /obj/item/proc/afterattack. The return value does not matter.
  • +

mob_can_equip +

+

the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't. +if this is being done by a mob other than M, it will include the mob equipper, who is trying to equip the item to mob M. equipper will be null otherwise. +If you are making custom procs but would like to retain partial or complete functionality of this one, include a 'return ..()' to where you want this to happen. +Arguments:

+
    +
  • disable_warning to TRUE if you wish it to not give you text outputs.
  • +
  • slot is the slot we are trying to equip to
  • +
  • bypass_equip_delay_self for whether we want to bypass the equip delay
  • +
  • ignore_equipped ignores any already equipped items in that slot
  • +
  • indirect_action allows inserting into "soft locked" bags, things that can be easily opened by the owner
  • +

modify_fantasy_variable +

+

Modifies the fantasy variable

on_action_deleted +

+

Called when an action associated with our item is deleted

on_equipped +

+

Called after an item is placed in an equipment slot. Runs equipped(), then sends a signal. +This should be called last or near-to-last, after all other inventory code stuff is handled.

+

Arguments:

+
    +
  • user is mob that equipped it
  • +
  • slot uses the slot_X defines found in setup.dm for items that can be placed in multiple slots
  • +
  • initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it
  • +

on_found +

+

called when "found" in pockets and storage items. Returns 1 if the search should end.

on_grind +

+

Called BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring

on_juice +

+

Called BEFORE the object is ground up - use this to change grind results based on conditions. Return "-1" to prevent the grinding from occurring

on_offer_taken +

+

An interrupt for someone trying to accept an offered item, called mainly from /mob/living/carbon/proc/take, in case you want to run your own take behavior instead.

+

Return TRUE if you want to interrupt the taking.

+

Arguments: +offerer - the person offering the item +taker - the person trying to accept the offer

on_offered +

+

An interrupt for offering an item to other people, called mainly from /mob/living/carbon/proc/give, in case you want to run your own offer behavior instead.

+

Return TRUE if you want to interrupt the offer.

+

Arguments: +offerer - The person offering the item. +offered - The person being offered the item.

on_outfit_equip +

+

Special stuff you want to do when an outfit equips this item.

on_thrown +

+

Called by the carbon throw_item() proc. Returns null if the item negates the throw, or a reference to the thing to suffer the throw else.

open_flame +

+

Creates an ignition hotspot if item is lit and located on turf, in mask, or in hand

pick_painting_tool_color +

+

Common proc used by painting tools like spraycans and palettes that can access the entire 24 bits color space.

pickup +

+

called just as an item is picked up (loc is not yet changed)

play_tool_sound +

+

Plays item's usesound, if any.

pre_attack +

+

Called on the item before it hits something

+

Arguments:

+
    +
  • atom/A - The atom about to be hit
  • +
  • mob/living/user - The mob doing the htting
  • +
  • params - click params such as alt/shift etc
  • +
+

See: /obj/item/proc/melee_attack_chain

pre_attack_secondary +

+

Called on the item before it hits something, when right clicking.

+

Arguments:

+
    +
  • atom/target - The atom about to be hit
  • +
  • mob/living/user - The mob doing the htting
  • +
  • params - click params such as alt/shift etc
  • +
+

See: /obj/item/proc/melee_attack_chain

register_item_context +

+

Create a "Type-A" contextual screentip interaction, registering to add_item_context(). +This will run add_item_context() when the item hovers over another object for context. +add_item_context() will not be called unless this is run. +This is not necessary for Type-A interactions, as you can just apply the flag and register to the signal yourself.

remove_item_action +

+

Removes an instance of an action from our list of item actions.

remove_item_from_storage +

+

Takes the location to move the item to, and optionally the mob doing the removing +If no mob is provided, we'll pass in the location, assuming it is a mob +Please use this if you're going to snowflake an item out of a obj/item/storage

reset_fantasy_variable +

+

Returns the original fantasy variable value

suicide_act +

+

*Makes cool stuff happen when you suicide with an item

+

*Outputs a creative message and then return the damagetype done

+
    +
  • Arguments:
  • +
  • +
      +
    • user: The mob that is suiciding
    • +
    +
  • +

tool_check_callback +

+

Used in a callback that is passed by use_tool into do_after call. Do not override, do not call manually.

tool_start_check +

+

Called before obj/item/proc/use_tool if there is a delay, or by obj/item/proc/use_tool if there isn't. Only ever used by welding tools and stacks, so it's not added on any other obj/item/proc/use_tool checks.

tool_use_check +

+

A check called by /obj/item/proc/tool_start_check once, and by use_tool on every tick of delay.

tryEmbed +

+

tryEmbed() is for when you want to try embedding something without dealing with the damage + hit messages of calling hitby() on the item while targeting the target.

+

Really, this is used mostly with projectiles with shrapnel payloads, from /datum/element/embed/proc/checkEmbedProjectile, and called on said shrapnel. Mostly acts as an intermediate between different embed elements.

+

Returns TRUE if it embedded successfully, nothing otherwise

+

Arguments:

+
    +
  • target- Either a body part or a carbon. What are we hitting?
  • +
  • forced- Do we want this to go through 100%?
  • +

ui_action_click +

+

This proc is executed when someone clicks the on-screen UI button. +The default action is attack_self(). +Checks before we get to here are: mob is alive, mob is not restrained, stunned, asleep, resting, laying, item is on the mob.

updateEmbedding +

+

For when you want to add/update the embedding on an item. Uses the vars in /obj/item/var/embedding, and defaults to config values for values that aren't set. Will automatically detach previous embed elements on this item.

update_greyscale +

+

Checks if this atom uses the GAGS system and if so updates the worn and inhand icons

update_item_action_buttons +

+

Updates all action buttons associated with this item

+

Arguments:

+
    +
  • update_flags - Which flags of the action should we update
  • +
  • force - Force buttons update even if the given button icon state has not changed
  • +

use +

+

Generic use proc. Depending on the item, it uses up fuel, charges, sheets, etc. Returns TRUE on success, FALSE on failure.

use_tool +

+

Called when a mob tries to use the item as a tool. Handles most checks.

visual_equipped +

+

To be overwritten to only perform visual tasks; +this is directly called instead of equipped on visual-only features like human dummies equipping outfits.

+

This separation exists to prevent things like the monkey sentience helmet from +polling ghosts while it's just being equipped as a visual preview for a dummy.

+ + + diff --git a/obj/item/abductor/alien_omnitool.html b/obj/item/abductor/alien_omnitool.html new file mode 100644 index 00000000000..eee00d68476 --- /dev/null +++ b/obj/item/abductor/alien_omnitool.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/abductor/alien_omnitool - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

alien_omnitool + + + +

+ + + +

Vars

active_toolsetWhich toolset do we have active currently?
tool_listA list of all the tools we offer. Stored as "Tool" for the key, and the icon/icon_state as the value.
+

Var Details

active_toolset + + + + +

+

Which toolset do we have active currently?

tool_list + + + + +

+

A list of all the tools we offer. Stored as "Tool" for the key, and the icon/icon_state as the value.

+ + + diff --git a/obj/item/access_key.html b/obj/item/access_key.html new file mode 100644 index 00000000000..bbd827e7b6c --- /dev/null +++ b/obj/item/access_key.html @@ -0,0 +1,75 @@ + + + + + + + /obj/item/access_key - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

access_key + + + +

+ + + + + +

Vars

department_accessThe departmental access given to the key.

Procs

attempt_open_doorCalled when attempting to open an airlock. +Checks if the keys have access, returns try_to_activate_door if it does, returns FALSE otherwise. +Args: +user - The person attempting to open the door +airlock - The door we're attempting to open
clear_accessCalled when a keycard authenticator runs out of time +Clears the department access and alerts nearby people of such.
department_access_givenCalled when a keycard authenticator sends region access +Stores it on the key to use for access, then sets a timer to clear it. +Args: +source - the keycard authenticator giving us the access +region_access - the list of access we're being sent, we only take the first entry in the list as there should only have one department at a time.
+

Var Details

department_access + + + + +

+

The departmental access given to the key.

Proc Details

attempt_open_door +

+

Called when attempting to open an airlock. +Checks if the keys have access, returns try_to_activate_door if it does, returns FALSE otherwise. +Args: +user - The person attempting to open the door +airlock - The door we're attempting to open

clear_access +

+

Called when a keycard authenticator runs out of time +Clears the department access and alerts nearby people of such.

department_access_given +

+

Called when a keycard authenticator sends region access +Stores it on the key to use for access, then sets a timer to clear it. +Args: +source - the keycard authenticator giving us the access +region_access - the list of access we're being sent, we only take the first entry in the list as there should only have one department at a time.

+ + + diff --git a/obj/item/ai_module.html b/obj/item/ai_module.html new file mode 100644 index 00000000000..b9d4147a946 --- /dev/null +++ b/obj/item/ai_module.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/ai_module - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ai_module + + + +

+ + + + + +

Vars

bypass_law_amt_checkUsed to skip laws being checked (for reset & remove boards that have no laws)
lawsThis is where our laws get put at for the module

Procs

display_lawsReturns a text display of the laws for the module.
handle_unique_aiwhat this module should do if it is mapload spawning on a unique AI station trait round.
+

Var Details

bypass_law_amt_check + + + + +

+

Used to skip laws being checked (for reset & remove boards that have no laws)

laws + + + + +

+

This is where our laws get put at for the module

Proc Details

display_laws +

+

Returns a text display of the laws for the module.

handle_unique_ai +

+

what this module should do if it is mapload spawning on a unique AI station trait round.

+ + + diff --git a/obj/item/ai_module/malf.html b/obj/item/ai_module/malf.html new file mode 100644 index 00000000000..77ce2e348dc --- /dev/null +++ b/obj/item/ai_module/malf.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ai_module/malf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

malf + + + +

+ +

Makes the AI Malf, as well as give it syndicate laws.

+

Vars

functionalIs this upload board unused?
+

Var Details

functional + + + + +

+

Is this upload board unused?

+ + + diff --git a/obj/item/aicard.html b/obj/item/aicard.html new file mode 100644 index 00000000000..b29d88ef92e --- /dev/null +++ b/obj/item/aicard.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/aicard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

aicard + + + +

+ + + +

Procs

capture_aiTries to get an AI from the atom clicked
upload_aiTries to upload the AI we have captured to the atom clicked

Proc Details

capture_ai +

+

Tries to get an AI from the atom clicked

upload_ai +

+

Tries to upload the AI we have captured to the atom clicked

+ + + diff --git a/obj/item/aicard/syndie/loaded.html b/obj/item/aicard/syndie/loaded.html new file mode 100644 index 00000000000..77790811810 --- /dev/null +++ b/obj/item/aicard/syndie/loaded.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/aicard/syndie/loaded - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

loaded + + + +

+ + + + +

Vars

finding_candidateSet to true while we're waiting for ghosts to sign up

Procs

on_poll_concludedPoll has concluded with a ghost, create the AI
procure_aiSets up the ghost poll
+

Var Details

finding_candidate + + + + +

+

Set to true while we're waiting for ghosts to sign up

Proc Details

on_poll_concluded +

+

Poll has concluded with a ghost, create the AI

procure_ai +

+

Sets up the ghost poll

+ + + diff --git a/obj/item/air_sensor.html b/obj/item/air_sensor.html new file mode 100644 index 00000000000..d6412c2665d --- /dev/null +++ b/obj/item/air_sensor.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/air_sensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

air_sensor + + + +

+ +

A portable version of the /obj/machinery/air_sensor +Wrenching it & turning it on will convert it back to /obj/machinery/air_sensor +Unwelding /obj/machinery/air_sensor will turn it back to /obj/item/air_sensor +The logic is same as meters

+ +

Vars

input_idThe injector linked with this sensor
output_idThe vent pump linked with this sensor
+

Var Details

input_id + + + + +

+

The injector linked with this sensor

output_id + + + + +

+

The vent pump linked with this sensor

+ + + diff --git a/obj/item/airlock_painter.html b/obj/item/airlock_painter.html new file mode 100644 index 00000000000..450aa9eafb3 --- /dev/null +++ b/obj/item/airlock_painter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/airlock_painter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

airlock_painter + + + +

+ + + + +

Vars

available_paint_jobsAssociate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock
initial_ink_typeThe type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner
inkThe ink cartridge to pull charges from.
+

Var Details

available_paint_jobs + + + + +

+

Associate list of all paint jobs the airlock painter can apply. The key is the name of the airlock the user will see. The value is the type path of the airlock

initial_ink_type + + + + +

+

The type path to instantiate for the ink cartridge the device initially comes with, eg. /obj/item/toner

ink + + + + +

+

The ink cartridge to pull charges from.

+ + + diff --git a/obj/item/airlock_painter/decal.html b/obj/item/airlock_painter/decal.html new file mode 100644 index 00000000000..5f855f39cc1 --- /dev/null +++ b/obj/item/airlock_painter/decal.html @@ -0,0 +1,125 @@ + + + + + + + /obj/item/airlock_painter/decal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

decal + + + +

+ + + + + + + + + + + + + +

Vars

color_listList of color options as list(user-friendly label, color value to return)
decal_listList of decal options as list(user-friendly label, icon state base value to return)
dir_listList of direction options as list(user-friendly label, dir value to return)
spritesheet_typeThe type path of the spritesheet being used for the frontend.
stored_colorThe current color of the decal being printed.
stored_custom_colorCurrent custom color
stored_decalThe current base icon state of the decal being printed.
stored_decal_totalThe full icon state of the decal being printed.
stored_dirThe current direction of the decal being printed
supports_custom_colorDoes this printer implementation support custom colors?

Procs

get_decal_pathReturn the final icon_state for the given decal options
paint_floorActually add current decal to the floor.
+

Var Details

color_list + + + + +

+

List of color options as list(user-friendly label, color value to return)

decal_list + + + + +

+

List of decal options as list(user-friendly label, icon state base value to return)

dir_list + + + + +

+

List of direction options as list(user-friendly label, dir value to return)

spritesheet_type + + + + +

+

The type path of the spritesheet being used for the frontend.

stored_color + + + + +

+

The current color of the decal being printed.

stored_custom_color + + + + +

+

Current custom color

stored_decal + + + + +

+

The current base icon state of the decal being printed.

stored_decal_total + + + + +

+

The full icon state of the decal being printed.

stored_dir + + + + +

+

The current direction of the decal being printed

supports_custom_color + + + + +

+

Does this printer implementation support custom colors?

Proc Details

get_decal_path +

+

Return the final icon_state for the given decal options

+

Arguments:

+
    +
  • decal - the selected decal base icon state
  • +
  • color - the selected color
  • +
  • dir - the selected dir
  • +

paint_floor +

+

Actually add current decal to the floor.

+

Responsible for actually adding the element to the turf for maximum flexibility.area +Can be overriden for different decal behaviors. +Arguments:

+
    +
  • target - The turf being painted to
  • +
+ + + diff --git a/obj/item/airlock_painter/decal/tile.html b/obj/item/airlock_painter/decal/tile.html new file mode 100644 index 00000000000..1962d80d453 --- /dev/null +++ b/obj/item/airlock_painter/decal/tile.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/airlock_painter/decal/tile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tile + + + +

+ + + +

Vars

default_alphaDefault alpha for /obj/effect/turf_decal/tile
rgba_regexRegex to split alpha out.
+

Var Details

default_alpha + + + + +

+

Default alpha for /obj/effect/turf_decal/tile

rgba_regex + + + + +

+

Regex to split alpha out.

+ + + diff --git a/obj/item/ammo_box.html b/obj/item/ammo_box.html new file mode 100644 index 00000000000..464c1f54963 --- /dev/null +++ b/obj/item/ammo_box.html @@ -0,0 +1,146 @@ + + + + + + + /obj/item/ammo_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ammo_box + + + +

+ + + + + + + + + + + + + + + + + +

Vars

ammo_band_colorIf this and ammo_band_icon aren't null, run update_ammo_band(). Is the color of the band, such as blue on the detective's Iceblox.
ammo_band_iconIf this and ammo_band_color aren't null, run update_ammo_band() Is the greyscale icon used for the ammo band.
ammo_band_icon_emptyIs the greyscale icon used for the ammo band when it's empty of bullets, only if it's not null.
ammo_typetype that the magazine will be searching for, rejects if not a subtype of
caliberString, used for checking if ammo of different types but still fits can fit inside it; generally used for magazines
casing_phrasingwording used for individual units of ammo, e.g. cartridges (regular ammo), shells (shotgun shells)
max_ammomaximum amount of ammo in the magazine
multiloadAllows multiple bullets to be loaded in from one click of another box/magazine
multiple_sprite_use_baseFor sprite updating, do we use initial(icon_state) or base_icon_state?
multiple_spritesControls how sprites are updated for the ammo box; see defines in combat.dm: AMMO_BOX_ONE_SPRITE; AMMO_BOX_PER_BULLET; AMMO_BOX_FULL_EMPTY
start_emptyWhether the magazine should start with nothing in it
stored_ammolist containing the actual ammo within the magazine

Procs

can_loadWhether or not the box can be loaded, used in overrides
get_roundgets a round from the magazine, if keep is TRUE the round will be moved to the bottom of the list.
give_roundputs a round into the magazine
top_offtop_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once
+

Var Details

ammo_band_color + + + + +

+

If this and ammo_band_icon aren't null, run update_ammo_band(). Is the color of the band, such as blue on the detective's Iceblox.

ammo_band_icon + + + + +

+

If this and ammo_band_color aren't null, run update_ammo_band() Is the greyscale icon used for the ammo band.

ammo_band_icon_empty + + + + +

+

Is the greyscale icon used for the ammo band when it's empty of bullets, only if it's not null.

ammo_type + + + + +

+

type that the magazine will be searching for, rejects if not a subtype of

caliber + + + + +

+

String, used for checking if ammo of different types but still fits can fit inside it; generally used for magazines

casing_phrasing + + + + +

+

wording used for individual units of ammo, e.g. cartridges (regular ammo), shells (shotgun shells)

max_ammo + + + + +

+

maximum amount of ammo in the magazine

multiload + + + + +

+

Allows multiple bullets to be loaded in from one click of another box/magazine

multiple_sprite_use_base + + + + +

+

For sprite updating, do we use initial(icon_state) or base_icon_state?

multiple_sprites + + + + +

+

Controls how sprites are updated for the ammo box; see defines in combat.dm: AMMO_BOX_ONE_SPRITE; AMMO_BOX_PER_BULLET; AMMO_BOX_FULL_EMPTY

start_empty + + + + +

+

Whether the magazine should start with nothing in it

stored_ammo + + + + +

+

list containing the actual ammo within the magazine

Proc Details

can_load +

+

Whether or not the box can be loaded, used in overrides

get_round +

+

gets a round from the magazine, if keep is TRUE the round will be moved to the bottom of the list.

give_round +

+

puts a round into the magazine

top_off +

+

top_off is used to refill the magazine to max, in case you want to increase the size of a magazine with VV then refill it at once

+

Arguments:

+
    +
  • load_type - if you want to specify a specific ammo casing type to load, enter the path here, otherwise it'll use the basic /obj/item/ammo_box/var/ammo_type. Must be a compatible round
  • +
  • starting - Relevant for revolver cylinders, if FALSE then we mind the nulls that represent the empty cylinders (since those nulls don't exist yet if we haven't initialized when this is TRUE)
  • +
+ + + diff --git a/obj/item/ammo_box/magazine.html b/obj/item/ammo_box/magazine.html new file mode 100644 index 00000000000..2a530463065 --- /dev/null +++ b/obj/item/ammo_box/magazine.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/ammo_box/magazine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

magazine + + + +

+ + + + +

Procs

ammo_countCount of number of bullets in the magazine
ammo_listlist of every bullet in the magazine
empty_magazinedrops the entire contents of the magazine on the floor

Proc Details

ammo_count +

+

Count of number of bullets in the magazine

ammo_list +

+

list of every bullet in the magazine

empty_magazine +

+

drops the entire contents of the magazine on the floor

+ + + diff --git a/obj/item/ammo_box/magazine/internal/cylinder.html b/obj/item/ammo_box/magazine/internal/cylinder.html new file mode 100644 index 00000000000..13fe40b71df --- /dev/null +++ b/obj/item/ammo_box/magazine/internal/cylinder.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/ammo_box/magazine/internal/cylinder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cylinder + + + +

+ + +

Procs

remove_from_stored_ammoHere, we have to maintain the list size, to emulate a cylinder with several chambers, empty or otherwise.

Proc Details

remove_from_stored_ammo +

+

Here, we have to maintain the list size, to emulate a cylinder with several chambers, empty or otherwise.

+ + + diff --git a/obj/item/ammo_casing.html b/obj/item/ammo_casing.html new file mode 100644 index 00000000000..093a4e1f69e --- /dev/null +++ b/obj/item/ammo_casing.html @@ -0,0 +1,115 @@ + + + + + + + /obj/item/ammo_casing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ammo_casing + + + +

+ + + + + + + + + + + + + +

Vars

caliberWhich kind of guns it can be loaded into
click_cooldown_overrideOverride this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown.
delayDelay for energy weapons
fire_soundWhat sound should play when this ammo is fired
firing_effect_typethe visual effect appearing when the ammo is fired.
harmfulpacifism check for boolet, set to FALSE if bullet is non-lethal
loaded_projectilethe loaded projectile in this ammo casing
pelletsPellets for spreadshot
projectile_typeThe bullet type to create when New() is called
randomspreadRandomspread for automatics
varianceVariance for inaccuracy fundamental to the casing

Procs

add_notes_ammoOutputs type-specific weapon stats for ammunition based on the projectile loaded inside the casing. +Distinguishes between critting and stam-critting in separate lines
+

Var Details

caliber + + + + +

+

Which kind of guns it can be loaded into

click_cooldown_override + + + + +

+

Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown.

delay + + + + +

+

Delay for energy weapons

fire_sound + + + + +

+

What sound should play when this ammo is fired

firing_effect_type + + + + +

+

the visual effect appearing when the ammo is fired.

harmful + + + + +

+

pacifism check for boolet, set to FALSE if bullet is non-lethal

loaded_projectile + + + + +

+

the loaded projectile in this ammo casing

pellets + + + + +

+

Pellets for spreadshot

projectile_type + + + + +

+

The bullet type to create when New() is called

randomspread + + + + +

+

Randomspread for automatics

variance + + + + +

+

Variance for inaccuracy fundamental to the casing

Proc Details

add_notes_ammo +

+

Outputs type-specific weapon stats for ammunition based on the projectile loaded inside the casing. +Distinguishes between critting and stam-critting in separate lines

+ + + diff --git a/obj/item/ammo_casing/arrow.html b/obj/item/ammo_casing/arrow.html new file mode 100644 index 00000000000..028309c49bf --- /dev/null +++ b/obj/item/ammo_casing/arrow.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ammo_casing/arrow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

arrow + + + +

+ +

base arrow

+

Vars

reusableWhether the bullet type spawns another casing of the same type or not.
+

Var Details

reusable + + + + +

+

Whether the bullet type spawns another casing of the same type or not.

+ + + diff --git a/obj/item/ammo_casing/strilka310/lionhunter.html b/obj/item/ammo_casing/strilka310/lionhunter.html new file mode 100644 index 00000000000..37cf152e7b2 --- /dev/null +++ b/obj/item/ammo_casing/strilka310/lionhunter.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/ammo_casing/strilka310/lionhunter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lionhunter + + + +

+ + + + + + +

Vars

currently_aimingWhether we're currently aiming this casing at something
min_distanceThe minimum distance required to gain a damage bonus from aiming
seconds_per_distanceHow many seconds it takes to aim per tile of distance between the target

Procs

check_fireChecks if we can successfully fire our projectile.
check_fire_callbackCallback for the do_after within the check_fire proc to see if something will prevent us from firing while aiming
+

Var Details

currently_aiming + + + + +

+

Whether we're currently aiming this casing at something

min_distance + + + + +

+

The minimum distance required to gain a damage bonus from aiming

seconds_per_distance + + + + +

+

How many seconds it takes to aim per tile of distance between the target

Proc Details

check_fire +

+

Checks if we can successfully fire our projectile.

check_fire_callback +

+

Callback for the do_after within the check_fire proc to see if something will prevent us from firing while aiming

+ + + diff --git a/obj/item/analyzer.html b/obj/item/analyzer.html new file mode 100644 index 00000000000..95459f2b6d9 --- /dev/null +++ b/obj/item/analyzer.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/analyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

analyzer + + + +

+ + + +

Procs

butchertimeApplies the barometer inaccuracy to the gas reading.
on_analyzeCalled when our analyzer is used on something

Proc Details

butchertime +

+

Applies the barometer inaccuracy to the gas reading.

on_analyze +

+

Called when our analyzer is used on something

+ + + diff --git a/obj/item/anomaly_neutralizer.html b/obj/item/anomaly_neutralizer.html new file mode 100644 index 00000000000..ac105d27583 --- /dev/null +++ b/obj/item/anomaly_neutralizer.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/anomaly_neutralizer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

anomaly_neutralizer + + + +

+ + + +

Procs

on_anomaly_neutralizedCallback for the effect remover component to handle neutralizing anomalies.
on_useUse up the anomaly neutralizer. Cause some sparks and delete it.

Proc Details

on_anomaly_neutralized +

+

Callback for the effect remover component to handle neutralizing anomalies.

on_use +

+

Use up the anomaly neutralizer. Cause some sparks and delete it.

+ + + diff --git a/obj/item/anomaly_releaser.html b/obj/item/anomaly_releaser.html new file mode 100644 index 00000000000..fa8dd8a7609 --- /dev/null +++ b/obj/item/anomaly_releaser.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/anomaly_releaser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

anomaly_releaser + + + +

+ +

Use on an anomaly core to "awake" the anomaly and stabilize it

+ + +

Vars

infiniteCan we be used infinitely?
usedare we used? if used we can't be used again
used_icon_stateicon state after being used up
+

Var Details

infinite + + + + +

+

Can we be used infinitely?

used + + + + +

+

are we used? if used we can't be used again

used_icon_state + + + + +

+

icon state after being used up

+ + + diff --git a/obj/item/antag_spawner/loadout.html b/obj/item/antag_spawner/loadout.html new file mode 100644 index 00000000000..ab9be8db0f9 --- /dev/null +++ b/obj/item/antag_spawner/loadout.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/antag_spawner/loadout - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

loadout + + + +

+ +

A subtype meant for 'normal' antag spawner items so as to reduce the amount of required hardcoding.

+ + + + + + + + + + +

Vars

antag_datumThe antag datum applied
fail_texttext given when device fails to secure candidates
outfitThe applied outfit. Won't work with nonhuman spawn types.
pod_styleStyle used by the droppod
poll_ignore_categoryWhat category to ignore the poll
poll_role_checkThe antag role we check if the ghosts have enabled to get the poll.
role_to_playThe mind's special role.
spawn_typeThe mob type to spawn.
species_typeThe species type to set a human spawn to.
use_subtypesDo we use a random subtype of the outfit?

Procs

setup_podCreates the drop pod the spawned_mob will be dropped by
+

Var Details

antag_datum + + + + +

+

The antag datum applied

fail_text + + + + +

+

text given when device fails to secure candidates

outfit + + + + +

+

The applied outfit. Won't work with nonhuman spawn types.

pod_style + + + + +

+

Style used by the droppod

poll_ignore_category + + + + +

+

What category to ignore the poll

poll_role_check + + + + +

+

The antag role we check if the ghosts have enabled to get the poll.

role_to_play + + + + +

+

The mind's special role.

spawn_type + + + + +

+

The mob type to spawn.

species_type + + + + +

+

The species type to set a human spawn to.

use_subtypes + + + + +

+

Do we use a random subtype of the outfit?

Proc Details

setup_pod +

+

Creates the drop pod the spawned_mob will be dropped by

+ + + diff --git a/obj/item/antag_spawner/nuke_ops.html b/obj/item/antag_spawner/nuke_ops.html new file mode 100644 index 00000000000..342fcb70827 --- /dev/null +++ b/obj/item/antag_spawner/nuke_ops.html @@ -0,0 +1,79 @@ + + + + + + + /obj/item/antag_spawner/nuke_ops - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nuke_ops + + + +

+ +

BORGS AND OPERATIVES +Device to request reinforcments from ghost pop

+ + + + + + +

Vars

antag_datumThe antag datum applied
outfitThe applied outfit
plasma_outfitThe outfit given to plasmaman operatives
pod_styleStyle used by the droppod
special_role_nameThe name of the special role given to the recruit
use_subtypesDo we use a random subtype of the outfit?

Procs

setup_podCreates the drop pod the nukie will be dropped by
+

Var Details

antag_datum + + + + +

+

The antag datum applied

outfit + + + + +

+

The applied outfit

plasma_outfit + + + + +

+

The outfit given to plasmaman operatives

pod_style + + + + +

+

Style used by the droppod

special_role_name + + + + +

+

The name of the special role given to the recruit

use_subtypes + + + + +

+

Do we use a random subtype of the outfit?

Proc Details

setup_pod +

+

Creates the drop pod the nukie will be dropped by

+ + + diff --git a/obj/item/areaeditor.html b/obj/item/areaeditor.html new file mode 100644 index 00000000000..a93271b4d72 --- /dev/null +++ b/obj/item/areaeditor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/areaeditor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

areaeditor + + + +

+ + +

Vars

new_area_typeWhen using it to create a new area, this will be its type.
+

Var Details

new_area_type + + + + +

+

When using it to create a new area, this will be its type.

+ + + diff --git a/obj/item/assembly.html b/obj/item/assembly.html new file mode 100644 index 00000000000..cc883a662fc --- /dev/null +++ b/obj/item/assembly.html @@ -0,0 +1,91 @@ + + + + + + + /obj/item/assembly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

assembly + + + +

+ + + + + + + + + +

Vars

assembly_flagsFlags related to this assembly. See [assemblies.dm]
is_position_sensitiveSet to true if the device has different icons for each position. +This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance()

Procs

activateWhat the device does when turned on
holder_movementholder_movement: Called when the assembly's holder detects movement
on_attachon_attach: Called when attached to a holder, wiring datum, or other special assembly
on_detachon_detach: Called when removed from an assembly holder or wiring datum
pulsePulse: This device is emitting a pulse to act on another device
pulsedPulsed: This device was pulsed by another device
+

Var Details

assembly_flags + + + + +

+

Flags related to this assembly. See [assemblies.dm]

is_position_sensitive + + + + +

+

Set to true if the device has different icons for each position. +This will prevent things such as visible lasers from facing the incorrect direction when transformed by assembly_holder's update_appearance()

Proc Details

activate +

+

What the device does when turned on

holder_movement +

+

holder_movement: Called when the assembly's holder detects movement

on_attach +

+

on_attach: Called when attached to a holder, wiring datum, or other special assembly

+

Will also be called if the assembly holder is attached to a plasma (internals) tank or welding fuel (dispenser) tank.

on_detach +

+

on_detach: Called when removed from an assembly holder or wiring datum

pulse +

+

Pulse: This device is emitting a pulse to act on another device

pulsed +

+

Pulsed: This device was pulsed by another device

+
    +
  • pulser: Who triggered the pulse
  • +
+ + + diff --git a/obj/item/assembly/control.html b/obj/item/assembly/control.html new file mode 100644 index 00000000000..35d881852e8 --- /dev/null +++ b/obj/item/assembly/control.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/assembly/control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

control + + + +

+ + + +

Vars

cooldownCooldown of the door's controller. Updates when pressed (activate())
idThe ID of the blast door electronics to match to the ID of the blast door being used.
+

Var Details

cooldown + + + + +

+

Cooldown of the door's controller. Updates when pressed (activate())

id + + + + +

+

The ID of the blast door electronics to match to the ID of the blast door being used.

+ + + diff --git a/obj/item/assembly/control/elevator.html b/obj/item/assembly/control/elevator.html new file mode 100644 index 00000000000..da663b5077e --- /dev/null +++ b/obj/item/assembly/control/elevator.html @@ -0,0 +1,61 @@ + + + + + + + /obj/item/assembly/control/elevator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

elevator + + + +

+ + + + + +

Vars

lift_weakrefA weakref to the transport_controller datum we control

Procs

call_elevatorActually calls the elevator. +Returns FALSE if we failed to setup the move. +Returns TRUE if the move setup was a success, EVEN IF the move itself fails afterwards
check_buttonCallback for move_to_zlevel / general proc to check if we're still in a button
get_liftGets the elevator associated with our assembly / button
+

Var Details

lift_weakref + + + + +

+

A weakref to the transport_controller datum we control

Proc Details

call_elevator +

+

Actually calls the elevator. +Returns FALSE if we failed to setup the move. +Returns TRUE if the move setup was a success, EVEN IF the move itself fails afterwards

check_button +

+

Callback for move_to_zlevel / general proc to check if we're still in a button

get_lift +

+

Gets the elevator associated with our assembly / button

+ + + diff --git a/obj/item/assembly/control/showtime.html b/obj/item/assembly/control/showtime.html new file mode 100644 index 00000000000..293f3e121a1 --- /dev/null +++ b/obj/item/assembly/control/showtime.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/assembly/control/showtime - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

showtime + + + +

+ + + + + + +

Vars

is_show_activeStores if the show associated with this controller is active or not
tv_endersList of phrases the entertainment console may say when the show ends
tv_network_idThe camera network id this controller toggles
tv_show_nameThe display TV show name
tv_startersList of phrases the entertainment console may say when the show begins
+

Var Details

is_show_active + + + + +

+

Stores if the show associated with this controller is active or not

tv_enders + + + + +

+

List of phrases the entertainment console may say when the show ends

tv_network_id + + + + +

+

The camera network id this controller toggles

tv_show_name + + + + +

+

The display TV show name

tv_starters + + + + +

+

List of phrases the entertainment console may say when the show begins

+ + + diff --git a/obj/item/assembly/control/ticket_machine.html b/obj/item/assembly/control/ticket_machine.html new file mode 100644 index 00000000000..635c0ca3dfd --- /dev/null +++ b/obj/item/assembly/control/ticket_machine.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/assembly/control/ticket_machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ticket_machine + + + +

+ + + +

Vars

ticket_machine_refWeakref to our ticket machine

Procs

find_machineLocate the ticket machine to which we're linked by our ID
+

Var Details

ticket_machine_ref + + + + +

+

Weakref to our ticket machine

Proc Details

find_machine +

+

Locate the ticket machine to which we're linked by our ID

+ + + diff --git a/obj/item/assembly/control/transport.html b/obj/item/assembly/control/transport.html new file mode 100644 index 00000000000..5dc648ba7e9 --- /dev/null +++ b/obj/item/assembly/control/transport.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/assembly/control/transport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transport + + + +

+ + + +

Vars

optionsOptions to be passed with the requests to the transport subsystem
specific_transport_idThe ID of the tram we're linked to
+

Var Details

options + + + + +

+

Options to be passed with the requests to the transport subsystem

specific_transport_id + + + + +

+

The ID of the tram we're linked to

+ + + diff --git a/obj/item/assembly/control/transport/call_button.html b/obj/item/assembly/control/transport/call_button.html new file mode 100644 index 00000000000..64866107018 --- /dev/null +++ b/obj/item/assembly/control/transport/call_button.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/assembly/control/transport/call_button - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

call_button + + + +

+ + +

Vars

idID to link to allow us to link to one specific tram in the world
+

Var Details

id + + + + +

+

ID to link to allow us to link to one specific tram in the world

+ + + diff --git a/obj/item/assembly/control/transport/remote.html b/obj/item/assembly/control/transport/remote.html new file mode 100644 index 00000000000..14d8fb09fb9 --- /dev/null +++ b/obj/item/assembly/control/transport/remote.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/assembly/control/transport/remote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

remote + + + +

+ + + + +

Vars

destinationdesired tram destination

Procs

CtrlClickset safety bypass
activatesend our selected commands to the tram
+

Var Details

destination + + + + +

+

desired tram destination

Proc Details

CtrlClick +

+

set safety bypass

activate +

+

send our selected commands to the tram

+ + + diff --git a/obj/item/assembly/flash.html b/obj/item/assembly/flash.html new file mode 100644 index 00000000000..2b99c63fb3f --- /dev/null +++ b/obj/item/assembly/flash.html @@ -0,0 +1,72 @@ + + + + + + + /obj/item/assembly/flash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flash + + + +

+ + + + + +

Vars

flashingWhether we currently have the flashing overlay.
flashing_overlayThe overlay we use for flashing.

Procs

calculate_deviationHandles the directionality of the attack
flash_carbonHandles actual flashing part of the attack
+

Var Details

flashing + + + + +

+

Whether we currently have the flashing overlay.

flashing_overlay + + + + +

+

The overlay we use for flashing.

Proc Details

calculate_deviation +

+

Handles the directionality of the attack

+

Returns the amount of 'deviation', 0 being facing eachother, 1 being sideways, 2 being facing away from eachother. +Arguments:

+
    +
  • victim - Victim
  • +
  • attacker - Attacker
  • +

flash_carbon +

+

Handles actual flashing part of the attack

+

This proc is awful in every sense of the way, someone should definately refactor this whole code. +Arguments:

+
    +
  • M - Victim
  • +
  • user - Attacker
  • +
  • confusion_duration - handles the amount of confusion it gives you
  • +
  • targeted - determines if it was aoe or targeted
  • +
  • generic_message - checks if it should display default message.
  • +
+ + + diff --git a/obj/item/assembly/mousetrap.html b/obj/item/assembly/mousetrap.html new file mode 100644 index 00000000000..695feb6070b --- /dev/null +++ b/obj/item/assembly/mousetrap.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/assembly/mousetrap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mousetrap + + + +

+ + + +

Procs

clumsy_checkclumsy_check: Sets off the mousetrap if handled by a clown (with some probability)
update_hostupdate_host: automatically setup host and host_turf

Proc Details

clumsy_check +

+

clumsy_check: Sets off the mousetrap if handled by a clown (with some probability)

+

Arguments:

+
    +
  • user: The mob handling the trap
  • +

update_host +

+

update_host: automatically setup host and host_turf

+

Arguments:

+
    +
  • force: Re-register signals even if the host or loc is unchanged
  • +
+ + + diff --git a/obj/item/assembly/prox_sensor.html b/obj/item/assembly/prox_sensor.html new file mode 100644 index 00000000000..99b18acef0d --- /dev/null +++ b/obj/item/assembly/prox_sensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/assembly/prox_sensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prox_sensor + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for it to work.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for it to work.

+ + + diff --git a/obj/item/assembly/signaler.html b/obj/item/assembly/signaler.html new file mode 100644 index 00000000000..f8d9fa3a3e8 --- /dev/null +++ b/obj/item/assembly/signaler.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/assembly/signaler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

signaler + + + +

+ + + + + + + + + +

Vars

codeThe code sent by this signaler.
cooldown_lengthHow long of a cooldown exists on this signaller.
frequencyThe frequency this signaler is set to.
hearing_rangeHow many tiles away can you hear when this signaler is used or gets activated.
last_receive_signal_logString containing the last piece of logging data relating to when this signaller has received a signal.
radio_connectionThe radio frequency connection this signaler is using.
suicide_mobHolds a reference string to the mob, decides how much of a gamer you are.
suiciderHolds the mind that commited suicide.
+

Var Details

code + + + + +

+

The code sent by this signaler.

cooldown_length + + + + +

+

How long of a cooldown exists on this signaller.

frequency + + + + +

+

The frequency this signaler is set to.

hearing_range + + + + +

+

How many tiles away can you hear when this signaler is used or gets activated.

last_receive_signal_log + + + + +

+

String containing the last piece of logging data relating to when this signaller has received a signal.

radio_connection + + + + +

+

The radio frequency connection this signaler is using.

suicide_mob + + + + +

+

Holds a reference string to the mob, decides how much of a gamer you are.

suicider + + + + +

+

Holds the mind that commited suicide.

+ + + diff --git a/obj/item/assembly/trapdoor.html b/obj/item/assembly/trapdoor.html new file mode 100644 index 00000000000..cb28a757ff9 --- /dev/null +++ b/obj/item/assembly/trapdoor.html @@ -0,0 +1,61 @@ + + + + + + + /obj/item/assembly/trapdoor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trapdoor + + + +

+ + + + + +

Vars

linkedif true, a trapdoor in the world has a reference to this assembly and is listening for when it is pulsed.
search_cooldownif the trapdoor isn't linked it will try to link on pulse, this shouldn't be spammable
search_cooldown_timetrapdoor link cooldown time here!
stored_decalslist of lists that are arguments for readding decals when the linked trapdoor comes back. pain.
+

Var Details

linked + + + + +

+

if true, a trapdoor in the world has a reference to this assembly and is listening for when it is pulsed.

search_cooldown + + + + +

+

if the trapdoor isn't linked it will try to link on pulse, this shouldn't be spammable

search_cooldown_time + + + + +

+

trapdoor link cooldown time here!

stored_decals + + + + +

+

list of lists that are arguments for readding decals when the linked trapdoor comes back. pain.

+

we are storing this data FOR the trapdoor component we are linked to. kinda like a multitool. +format: list(list(element's description, element's cleanable, element's directional, element's pic)) +the list will be filled with all the data of the deleting elements (when ChangeTurf is called) only when the trapdoor begins to open. +so any other case the elements will be changed but not recorded.

+ + + diff --git a/obj/item/assembly/voice.html b/obj/item/assembly/voice.html new file mode 100644 index 00000000000..5e3c32d604c --- /dev/null +++ b/obj/item/assembly/voice.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/assembly/voice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

voice + + + +

+ + +

Vars

recordedThe activation message is tracked using this var.
+

Var Details

recorded + + + + +

+

The activation message is tracked using this var.

+ + + diff --git a/obj/item/assembly_holder.html b/obj/item/assembly_holder.html new file mode 100644 index 00000000000..62d2fcd7708 --- /dev/null +++ b/obj/item/assembly_holder.html @@ -0,0 +1,69 @@ + + + + + + + /obj/item/assembly_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

assembly_holder + + + +

+ + + + + +

Vars

assembliesused to store the list of assemblies making up our assembly holder

Procs

add_assemblyAdds an assembly to the assembly holder
on_attachon_attach: Pass on_attach message to child assemblies
process_activationthis proc is used to process the activation of the assembly holder
+

Var Details

assemblies + + + + +

+

used to store the list of assemblies making up our assembly holder

Proc Details

add_assembly +

+

Adds an assembly to the assembly holder

+

This proc is used to add an assembly to the assembly holder, update the appearance, and the name of it. +Arguments:

+
    +
  • attached_assembly - assembly we are adding to the assembly holder
  • +
  • user - user we pass into attach()
  • +

on_attach +

+

on_attach: Pass on_attach message to child assemblies

process_activation +

+

this proc is used to process the activation of the assembly holder

+

This proc is usually called by signalers, timers, or anything that can trigger and +send a pulse to the assembly holder, which then calls this proc that actually activates the assemblies +Arguments:

+
    +
  • /obj/device - the device we sent the pulse from which called this proc
  • +
+ + + diff --git a/obj/item/autosurgeon.html b/obj/item/autosurgeon.html new file mode 100644 index 00000000000..4fbdbd9ca9a --- /dev/null +++ b/obj/item/autosurgeon.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/autosurgeon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

autosurgeon + + + +

+ + + + + + + +

Vars

loaded_overlayThe overlay that shows when the autosurgeon has an organ inside of it.
organ_whitelistThe list of organs and their children we allow into the autosurgeon. An empty list means no whitelist.
starting_organWhat organ will the autosurgeon sub-type will start with. ie, CMO autosurgeon start with a medi-hud.
stored_organThe organ currently loaded in the autosurgeon, ready to be implanted.
surgery_speedThe percentage modifier for how fast you can use the autosurgeon to implant other people.
usesHow many times you can use the autosurgeon before it becomes useless
+

Var Details

loaded_overlay + + + + +

+

The overlay that shows when the autosurgeon has an organ inside of it.

organ_whitelist + + + + +

+

The list of organs and their children we allow into the autosurgeon. An empty list means no whitelist.

starting_organ + + + + +

+

What organ will the autosurgeon sub-type will start with. ie, CMO autosurgeon start with a medi-hud.

stored_organ + + + + +

+

The organ currently loaded in the autosurgeon, ready to be implanted.

surgery_speed + + + + +

+

The percentage modifier for how fast you can use the autosurgeon to implant other people.

uses + + + + +

+

How many times you can use the autosurgeon before it becomes useless

+ + + diff --git a/obj/item/bait_can.html b/obj/item/bait_can.html new file mode 100644 index 00000000000..07a787eb2fc --- /dev/null +++ b/obj/item/bait_can.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/bait_can - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bait_can + + + +

+ + + + +

Vars

bait_removal_cooldownTracking until we can take out another bait item
bait_typeWhat bait item it produces
cooldown_timeTime between bait retrievals
+

Var Details

bait_removal_cooldown + + + + +

+

Tracking until we can take out another bait item

bait_type + + + + +

+

What bait item it produces

cooldown_time + + + + +

+

Time between bait retrievals

+ + + diff --git a/obj/item/banner.html b/obj/item/banner.html new file mode 100644 index 00000000000..b3b0b4326b6 --- /dev/null +++ b/obj/item/banner.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/banner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

banner + + + +

+ + + +

Vars

job_loyaltiesMobs with assigned roles whose department bitflags match these will be inspired.
role_loyaltiesMobs with any of these special roles will be inspired
+

Var Details

job_loyalties + + + + +

+

Mobs with assigned roles whose department bitflags match these will be inspired.

role_loyalties + + + + +

+

Mobs with any of these special roles will be inspired

+ + + diff --git a/obj/item/barcode.html b/obj/item/barcode.html new file mode 100644 index 00000000000..a0a9e547098 --- /dev/null +++ b/obj/item/barcode.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/barcode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

barcode + + + +

+ + + +

Vars

cut_multiplierThe percentage of profit to give to the payments_acc, from 0 to 1.
payments_accThe bank account assigned to pay out to from the sales tagger.
+

Var Details

cut_multiplier + + + + +

+

The percentage of profit to give to the payments_acc, from 0 to 1.

payments_acc + + + + +

+

The bank account assigned to pay out to from the sales tagger.

+ + + diff --git a/obj/item/barcodescanner.html b/obj/item/barcodescanner.html new file mode 100644 index 00000000000..655c1bee1d7 --- /dev/null +++ b/obj/item/barcodescanner.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/barcodescanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

barcodescanner + + + +

+ + + +

Vars

computer_refWeakref to the library computer we are connected to.
scan_modeThe current scanning mode (BARCODE_SCANNER_CHECKIN|BARCODE_SCANNER_INVENTORY)
+

Var Details

computer_ref + + + + +

+

Weakref to the library computer we are connected to.

scan_mode + + + + +

+

The current scanning mode (BARCODE_SCANNER_CHECKIN|BARCODE_SCANNER_INVENTORY)

+ + + diff --git a/obj/item/bedsheet.html b/obj/item/bedsheet.html new file mode 100644 index 00000000000..2dacd01be96 --- /dev/null +++ b/obj/item/bedsheet.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/bedsheet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bedsheet + + + +

+ + + + +

Vars

bedsheet_typeDenotes if the bedsheet is a single, double, or other kind of bedsheet
dream_messagesCustom nouns to act as the subject of dreams
stack_amountThe number of cloth sheets to be dropped by this bedsheet when cut
+

Var Details

bedsheet_type + + + + +

+

Denotes if the bedsheet is a single, double, or other kind of bedsheet

dream_messages + + + + +

+

Custom nouns to act as the subject of dreams

stack_amount + + + + +

+

The number of cloth sheets to be dropped by this bedsheet when cut

+ + + diff --git a/obj/item/bee_smoker.html b/obj/item/bee_smoker.html new file mode 100644 index 00000000000..022f704588d --- /dev/null +++ b/obj/item/bee_smoker.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/bee_smoker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bee_smoker + + + +

+ + + + + + +

Vars

activatedare we currently activated?
beesmoke_loopsound to play when releasing smoke
current_herb_fuelcurrent level of fuel we have
max_herb_fuelmaximum amount of fuel we can hold
single_use_costhow much fuel it costs to use this item
+

Var Details

activated + + + + +

+

are we currently activated?

beesmoke_loop + + + + +

+

sound to play when releasing smoke

current_herb_fuel + + + + +

+

current level of fuel we have

max_herb_fuel + + + + +

+

maximum amount of fuel we can hold

single_use_cost + + + + +

+

how much fuel it costs to use this item

+ + + diff --git a/obj/item/bikehorn.html b/obj/item/bikehorn.html new file mode 100644 index 00000000000..ae292d18f76 --- /dev/null +++ b/obj/item/bikehorn.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/bikehorn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bikehorn + + + +

+ + +

Vars

sound_filesound file given to the squeaky component we make in Initialize() so sub-types can specify their own sound
+

Var Details

sound_file + + + + +

+

sound file given to the squeaky component we make in Initialize() so sub-types can specify their own sound

+ + + diff --git a/obj/item/biopsy_tool.html b/obj/item/biopsy_tool.html new file mode 100644 index 00000000000..d50f982b906 --- /dev/null +++ b/obj/item/biopsy_tool.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/biopsy_tool - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

biopsy_tool + + + +

+ +

Tool capable of taking biological samples from mobs

+

Procs

InitializeAdds the swabbing component to the biopsy tool

Proc Details

Initialize +

+

Adds the swabbing component to the biopsy tool

+ + + diff --git a/obj/item/bitrunning_disk.html b/obj/item/bitrunning_disk.html new file mode 100644 index 00000000000..797bc5b0bd1 --- /dev/null +++ b/obj/item/bitrunning_disk.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/bitrunning_disk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bitrunning_disk + + + +

+ +

Bitrunning tech disks which let you load items or programs into the vdom on first avatar generation. +For the record: Balance shouldn't be a primary concern. +You can make the custom cheese spells you've always wanted. +Just make it fun and engaging, it's PvE content.

+

Vars

choice_madeName of the choice made
+

Var Details

choice_made + + + + +

+

Name of the choice made

+ + + diff --git a/obj/item/bitrunning_disk/ability.html b/obj/item/bitrunning_disk/ability.html new file mode 100644 index 00000000000..43adfd33fdc --- /dev/null +++ b/obj/item/bitrunning_disk/ability.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/bitrunning_disk/ability - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ability + + + +

+ + + +

Vars

granted_actionThe selected ability that this grants
selectable_actionsThe list of actions that this can grant
+

Var Details

granted_action + + + + +

+

The selected ability that this grants

selectable_actions + + + + +

+

The list of actions that this can grant

+ + + diff --git a/obj/item/bitrunning_disk/item.html b/obj/item/bitrunning_disk/item.html new file mode 100644 index 00000000000..600ba9898aa --- /dev/null +++ b/obj/item/bitrunning_disk/item.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/bitrunning_disk/item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

item + + + +

+ + + +

Vars

granted_itemThe selected item that this grants
selectable_itemsThe list of actions that this can grant
+

Var Details

granted_item + + + + +

+

The selected item that this grants

selectable_items + + + + +

+

The list of actions that this can grant

+ + + diff --git a/obj/item/blood_filter.html b/obj/item/blood_filter.html new file mode 100644 index 00000000000..9387f28477f --- /dev/null +++ b/obj/item/blood_filter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/blood_filter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blood_filter + + + +

+ + +

Vars

whitelistAssoc list of chem ids to names, used for deciding which chems to filter when used for surgery
+

Var Details

whitelist + + + + +

+

Assoc list of chem ids to names, used for deciding which chems to filter when used for surgery

+ + + diff --git a/obj/item/bluespace_finger.html b/obj/item/bluespace_finger.html new file mode 100644 index 00000000000..4d252227633 --- /dev/null +++ b/obj/item/bluespace_finger.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/bluespace_finger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bluespace_finger + + + +

+ +

Point at a target and teleport somewhere vaguely close to it

+ + +

Vars

teleport_rangeHow far away can you point?
teleport_timeHow long does it take to teleport?
teleport_varyHow accurate are you?
+

Var Details

teleport_range + + + + +

+

How far away can you point?

teleport_time + + + + +

+

How long does it take to teleport?

teleport_vary + + + + +

+

How accurate are you?

+ + + diff --git a/obj/item/bodybag.html b/obj/item/bodybag.html new file mode 100644 index 00000000000..badea94b07d --- /dev/null +++ b/obj/item/bodybag.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/bodybag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bodybag + + + +

+ + + +

Vars

unfoldedbag_pathStored path we use for spawning a new body bag entity when unfolded.

Procs

deploy_bodybagCreates a new body bag item when unfolded, at the provided location, replacing the body bag item.
+

Var Details

unfoldedbag_path + + + + +

+

Stored path we use for spawning a new body bag entity when unfolded.

Proc Details

deploy_bodybag +

+

Creates a new body bag item when unfolded, at the provided location, replacing the body bag item.

+
    +
  • mob/user: User opening the body bag.
  • +
  • atom/location: the place/entity/mob where the body bag is being deployed from.
  • +
+ + + diff --git a/obj/item/bodypart.html b/obj/item/bodypart.html new file mode 100644 index 00000000000..4e64360bdaf --- /dev/null +++ b/obj/item/bodypart.html @@ -0,0 +1,989 @@ + + + + + + + /obj/item/bodypart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bodypart + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

any_existing_wound_can_mangle_our_exteriorIf false, no wound that can be applied to us can mangle our exterior. Used for determining if we should use [hp_percent_to_dismemberable] instead of normal dismemberment.
any_existing_wound_can_mangle_our_interiorIf false, no wound that can be applied to us can mangle our interior. Used for determining if we should use [hp_percent_to_dismemberable] instead of normal dismemberment.
attack_typeType of an attack from this limb does. Arms will do punches, Legs for kicks, and head for bites. (TO ADD: tactical chestbumps)
biological_stateA bitfield of biological states, exclusively used to determine which wounds this limb will get, +as well as how easily it will happen. +Set to BIO_STANDARD_UNJOINTED because most species have both flesh bone and blood in their limbs.
bleed_overlay_iconIf we're bleeding, which icon are we displaying on this part
body_damage_coeffA mutiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing.
body_partbitflag used to check which clothes cover this bodypart
body_zoneBODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone
bodypart_disabledControls if the limb is disabled. TRUE means it is disabled (similar to being removed, but still present for the sake of targeted interactions).
bodypart_flagsRandom flags that describe this bodypart
bodypart_overlaysA list of all bodypart overlays to draw
bodypart_trait_sourceThe name of the trait source that the organ gives. Should not be altered during the events of gameplay, and will cause problems if it is.
bodypart_traitsTraits that are given to the holder of the part. If you want an effect that changes this, don't add directly to this. Use the add_bodypart_trait() proc
bodytypeA bitfield of bodytypes for clothing, surgery, and misc information
brute_damThe current amount of brute damage the limb has
brute_modifierBrute damage gets multiplied by this on receive_damage()
burn_damThe current amount of burn damage the limb has
burn_modifierBurn damage gets multiplied by this on receive_damage()
cached_bleed_rateOur current bleed rate. Cached, update with refresh_bleed_rate()
can_be_disabledWhether it is possible for the limb to be disabled whatsoever. TRUE means that it is possible.
change_exempt_flagsDefines when a bodypart should not be changed. Example: BP_BLOCK_CHANGE_SPECIES prevents the limb from being overwritten on species gain
cremation_progressGradually increases while burning when at full damage, destroys the limb when at 100
current_gauzeIf we have a gauze wrapping currently applied (not including splints)
disabled_wound_penaltyWhen this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.
disabling_threshold_percentageHandles limb disabling by damage. If 0 (0%), a limb can't be disabled via damage. If 1 (100%), it is disabled at max limb damage. Anything between is the percentage of damage against maximum limb damage needed to disable the limb.
dmg_overlay_typethe type of damage overlay (if any) to use when this bodypart is bruised/burned.
draw_colorThe actual color a limb is drawn as, set by /proc/update_limb()
embedded_objectsList of obj/item's embedded inside us. Managed by embedded components, do not modify directly
feature_offsetsList of the above datums which have actually been instantiated, managed automatically
generic_bleedstacksHow much generic bleedstacks we have on this bodypart
grappled_attack_verbif we have a special attack verb for hitting someone who is grappled by us, it goes here.
grasped_byIf something is currently grasping this bodypart and trying to staunch bleeding (see /obj/item/hand_item/self_grasp)
held_indexare we a hand? if so, which one!
hp_percent_to_dismemberableIn the case we dont have dismemberable features, or literally cant get wounds, we will use this percent to determine when we can be dismembered. +Compared to our ABSOLUTE maximum. Stored in decimal; 0.8 = 80%.
husk_typeThe type of husk for building an iconstate
icon_greyscaleThe icon for Organic limbs using greyscale
icon_huskThe icon for husked limbs
icon_invisibleThe icon for invisible limbs
icon_staticThe icon for non-greyscale limbs
is_dimorphicIs there a sprite difference between male and female?
is_huskedWhether the bodypart (and the owner) is husked.
is_invisibleWhether the bodypart (and the owner) is invisible through invisibleman trait.
last_maxedSo we know if we need to scream if this limb hits max damage
limb_idThe ID of a species used to generate the icon. Needs to match the icon_state portion in the limbs file!
max_damageThe maximum brute OR burn damage a bodypart can take. Once we hit this cap, no more damage of either type!
ownerThe mob that "owns" this limb +DO NOT MODIFY DIRECTLY. Use update_owner()
plaintext_zoneThe body zone of this part in english ("chest", "left arm", etc) without the species attached to it
robotic_emp_paralyze_damage_percent_thresholdget_damage() / total_damage must surpass this to allow our limb to be disabled, even temporarily, by an EMP.
scarrableIf this limb can be scarred.
scarsThe scars currently afflicting this body part
scars_covered_by_clothesA hat won't cover your face, but a shirt covering your chest will cover your... you know, chest
should_draw_greyscaleLimbs need this information as a back-up incase they are generated outside of a carbon (limbgrower)
speed_modifierA speed modifier we apply to the owner when attached, if any. Positive numbers make it move slower, negative numbers make it move faster.
top_offsetHow many pixels this bodypart will offset the top half of the mob, used for abnormally sized torsos and legs
unarmed_attack_effectwhat visual effect is used when this limb is used to strike someone.
unarmed_attack_soundSounds when this bodypart is used in an umarmed attack
unarmed_attack_verbthe verb used for an unarmed attack when using this limb, such as arm.unarmed_attack_verb = punch
unarmed_damage_highHighest possible punch damage this bodypart can ive.
unarmed_damage_lowLowest possible punch damage this bodypart can give. If this is set to 0, unarmed attacks will always miss.
unarmed_effectivenessDetermines the accuracy bonus, armor penetration and knockdown probability.
use_alternate_dismemberment_calc_even_if_mangleableIf true, we will use [hp_percent_to_dismemberable] even if we are dismemberable via wounds. Useful for things with extreme wound resistance.
variable_colorAn "override" color that can be applied to ANY limb, greyscale or not.
wound_damage_multiplierOur current stored wound damage multiplier
wound_resistanceThis number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound
woundsThe wounds currently afflicting this body part

Procs

_embed_objectINTERNAL PROC, DO NOT USE +Properly sets us up to manage an inserted embeded object
_unembed_objectINTERNAL PROC, DO NOT USE +Cleans up any attachment we have to the embedded object, removes it from our list
add_bodypart_overlayAdd a bodypart overlay and call the appropriate update procs
adjustBleedStacksModifies our generic bleedstacks. You must use this to change the variable +Takes the amount to adjust by, and the lowest amount we're allowed to have post adjust
apply_gauzeapply_gauze() is used to- well, apply gauze to a bodypart
apply_ownershipApply ownership of a limb to someone, giving the appropriate traits, updates and signals
attempt_feature_restyleAsks the external organs inside the limb if they can restyle
can_attach_limbChecks if you can attach a limb, returns TRUE if you can.
can_be_graspedIf TRUE, the owner of this bodypart can try grabbing it to slow bleeding, as well as various other effects.
change_appearanceA multi-purpose setter for all things immediately important to the icon and iconstate of the limb.
check_for_frankensteinChecks if a limb qualifies as a BODYPART_IMPLANTED
check_for_injuriesCalled when a bodypart is checked for injuries.
check_series_wounding_modsShould return an assoc list of (wound_series -> penalty). Will be used in determining series-specific penalties for wounding.
check_woundingcheck_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria
check_woundings_modscheck_wounding_mods() is where we handle the various modifiers of a wound roll
clear_ownershipRun all necessary procs to remove a limbs ownership and remove the appropriate signals and traits
dismemberRemove target limb from it's owner, with side effects.
dismemberable_by_total_damageReturns TRUE if our total percent damage is more or equal to our dismemberable percentage, but FALSE if a wound can cause us to be dismembered.
dismemberable_by_woundReturns if our current mangling status allows us to be dismembered. Requires both no exterior/mangled exterior and no interior/mangled interior.
drop_limblimb removal. The "special" argument is used for swapping a limb with a new one without the effects of losing a limb kicking in.
forced_removalIn-case someone, somehow only teleports someones limb
generate_husk_keyGenerates a cache key specifically for husks
generate_icon_keyCalled from update_body_parts() these procs handle the limb icon cache. +the limb icon cache adds an icon_render_key to a human mob, it represents:
get_bio_state_statusReturns a bitflag using ANATOMY_EXTERIOR or ANATOMY_INTERIOR. Used to determine if we as a whole have a interior or exterior biostate, or both.
get_external_descriptionReturns the generic description of our BIO_EXTERNAL feature(s), prioritizing certain ones over others. Returns error on failure.
get_internal_descriptionReturns the generic description of our BIO_INTERNAL feature(s), prioritizing certain ones over others. Returns error on failure.
get_limb_iconGenerates an /image for the limb to be used as an overlay
get_mangled_stateget_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess)
get_modified_bleed_rateReturns our bleed rate, taking into account laying down and grabbing the limb
get_wound_threshold_of_wound_typeA simple proc that gets the best wound to fit the criteria laid out, then returns its wound threshold.
get_wound_typeGet whatever wound of the given type is currently attached to this limb, if any
on_addingCalled on addition of a bodypart
on_attempt_feature_restyleInvoke async so we dont break signals
on_attempt_feature_restyle_mobSomeone used a restyling thingymajigga on our limb owner
on_owner_nolimbdisable_trait_gainCalled when TRAIT_NOLIMBDISABLE is added to the owner.
on_owner_nolimbdisable_trait_lossCalled when TRAIT_NOLIMBDISABLE is removed from the owner.
on_paralysis_trait_gainCalled when TRAIT_PARALYSIS is added to the limb.
on_paralysis_trait_lossCalled when TRAIT_PARALYSIS is removed from the limb.
on_removalCalled on removal of a bodypart.
painless_wound_rollAllows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds
receive_damage#receive_damage
recolor_external_organsLoops through all of the bodypart's external organs and update's their color.
refresh_bleed_rateRefresh the cache of our rate of bleeding sans any modifiers +ANYTHING ADDED TO THIS PROC NEEDS TO CALL IT WHEN IT'S EFFECT CHANGES
remove_bodypart_overlayRemove a bodypart overlay and call the appropriate update procs
replace_limbTry to attach this bodypart to a mob, while replacing one if it exists, does nothing if it fails.
reset_appearanceResets the base appearance of a limb to it's default values.
seep_gauzeseep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity.
setBleedStacksEmbedded objects effect bleed rate, gotta refresh lads +Sets our generic bleedstacks
set_brute_damProc to hook behavior associated to the change of the brute_dam variable's value.
set_burn_damProc to hook behavior associated to the change of the burn_dam variable's value.
set_can_be_disabledProc to change the value of the can_be_disabled variable and react to the event of its change.
set_disabledProc to change the value of the disabled variable and react to the event of its change.
set_initial_damageSets the damage of a bodypart when it is created.
try_attach_limbAttach src to target mob if able, returns FALSE if it fails to.
try_dismembertry_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it
update_ownerProc to change the value of the owner variable and react to the event of its change.
update_wound_theoryUpdates our "can be theoretically dismembered by wounds" variables by iterating through all wound static data.
update_woundsupdate_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status
+

Var Details

any_existing_wound_can_mangle_our_exterior + + + + +

+

If false, no wound that can be applied to us can mangle our exterior. Used for determining if we should use [hp_percent_to_dismemberable] instead of normal dismemberment.

any_existing_wound_can_mangle_our_interior + + + + +

+

If false, no wound that can be applied to us can mangle our interior. Used for determining if we should use [hp_percent_to_dismemberable] instead of normal dismemberment.

attack_type + + + + +

+

Type of an attack from this limb does. Arms will do punches, Legs for kicks, and head for bites. (TO ADD: tactical chestbumps)

biological_state + + + + +

+

A bitfield of biological states, exclusively used to determine which wounds this limb will get, +as well as how easily it will happen. +Set to BIO_STANDARD_UNJOINTED because most species have both flesh bone and blood in their limbs.

bleed_overlay_icon + + + + +

+

If we're bleeding, which icon are we displaying on this part

body_damage_coeff + + + + +

+

A mutiplication of the burn and brute damage that the limb's stored damage contributes to its attached mob's overall wellbeing.

body_part + + + + +

+

bitflag used to check which clothes cover this bodypart

body_zone + + + + +

+

BODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone

bodypart_disabled + + + + +

+

Controls if the limb is disabled. TRUE means it is disabled (similar to being removed, but still present for the sake of targeted interactions).

bodypart_flags + + + + +

+

Random flags that describe this bodypart

bodypart_overlays + + + + +

+

A list of all bodypart overlays to draw

bodypart_trait_source + + + + +

+

The name of the trait source that the organ gives. Should not be altered during the events of gameplay, and will cause problems if it is.

bodypart_traits + + + + +

+

Traits that are given to the holder of the part. If you want an effect that changes this, don't add directly to this. Use the add_bodypart_trait() proc

bodytype + + + + +

+

A bitfield of bodytypes for clothing, surgery, and misc information

brute_dam + + + + +

+

The current amount of brute damage the limb has

brute_modifier + + + + +

+

Brute damage gets multiplied by this on receive_damage()

burn_dam + + + + +

+

The current amount of burn damage the limb has

burn_modifier + + + + +

+

Burn damage gets multiplied by this on receive_damage()

cached_bleed_rate + + + + +

+

Our current bleed rate. Cached, update with refresh_bleed_rate()

can_be_disabled + + + + +

+

Whether it is possible for the limb to be disabled whatsoever. TRUE means that it is possible.

change_exempt_flags + + + + +

+

Defines when a bodypart should not be changed. Example: BP_BLOCK_CHANGE_SPECIES prevents the limb from being overwritten on species gain

cremation_progress + + + + +

+

Gradually increases while burning when at full damage, destroys the limb when at 100

current_gauze + + + + +

+

If we have a gauze wrapping currently applied (not including splints)

disabled_wound_penalty + + + + +

+

When this bodypart hits max damage, this number is added to all wound rolls. Obviously only relevant for bodyparts that have damage caps.

disabling_threshold_percentage + + + + +

+

Handles limb disabling by damage. If 0 (0%), a limb can't be disabled via damage. If 1 (100%), it is disabled at max limb damage. Anything between is the percentage of damage against maximum limb damage needed to disable the limb.

dmg_overlay_type + + + + +

+

the type of damage overlay (if any) to use when this bodypart is bruised/burned.

draw_color + + + + +

+

The actual color a limb is drawn as, set by /proc/update_limb()

embedded_objects + + + + +

+

List of obj/item's embedded inside us. Managed by embedded components, do not modify directly

feature_offsets + + + + +

+

List of the above datums which have actually been instantiated, managed automatically

generic_bleedstacks + + + + +

+

How much generic bleedstacks we have on this bodypart

grappled_attack_verb + + + + +

+

if we have a special attack verb for hitting someone who is grappled by us, it goes here.

grasped_by + + + + +

+

If something is currently grasping this bodypart and trying to staunch bleeding (see /obj/item/hand_item/self_grasp)

held_index + + + + +

+

are we a hand? if so, which one!

hp_percent_to_dismemberable + + + + +

+

In the case we dont have dismemberable features, or literally cant get wounds, we will use this percent to determine when we can be dismembered. +Compared to our ABSOLUTE maximum. Stored in decimal; 0.8 = 80%.

husk_type + + + + +

+

The type of husk for building an iconstate

icon_greyscale + + + + +

+

The icon for Organic limbs using greyscale

icon_husk + + + + +

+

The icon for husked limbs

icon_invisible + + + + +

+

The icon for invisible limbs

icon_static + + + + +

+

The icon for non-greyscale limbs

is_dimorphic + + + + +

+

Is there a sprite difference between male and female?

is_husked + + + + +

+

Whether the bodypart (and the owner) is husked.

is_invisible + + + + +

+

Whether the bodypart (and the owner) is invisible through invisibleman trait.

last_maxed + + + + +

+

So we know if we need to scream if this limb hits max damage

limb_id + + + + +

+

The ID of a species used to generate the icon. Needs to match the icon_state portion in the limbs file!

max_damage + + + + +

+

The maximum brute OR burn damage a bodypart can take. Once we hit this cap, no more damage of either type!

owner + + + + +

+

The mob that "owns" this limb +DO NOT MODIFY DIRECTLY. Use update_owner()

plaintext_zone + + + + +

+

The body zone of this part in english ("chest", "left arm", etc) without the species attached to it

robotic_emp_paralyze_damage_percent_threshold + + + + +

+

get_damage() / total_damage must surpass this to allow our limb to be disabled, even temporarily, by an EMP.

scarrable + + + + +

+

If this limb can be scarred.

scars + + + + +

+

The scars currently afflicting this body part

scars_covered_by_clothes + + + + +

+

A hat won't cover your face, but a shirt covering your chest will cover your... you know, chest

should_draw_greyscale + + + + +

+

Limbs need this information as a back-up incase they are generated outside of a carbon (limbgrower)

speed_modifier + + + + +

+

A speed modifier we apply to the owner when attached, if any. Positive numbers make it move slower, negative numbers make it move faster.

top_offset + + + + +

+

How many pixels this bodypart will offset the top half of the mob, used for abnormally sized torsos and legs

unarmed_attack_effect + + + + +

+

what visual effect is used when this limb is used to strike someone.

unarmed_attack_sound + + + + +

+

Sounds when this bodypart is used in an umarmed attack

unarmed_attack_verb + + + + +

+

the verb used for an unarmed attack when using this limb, such as arm.unarmed_attack_verb = punch

unarmed_damage_high + + + + +

+

Highest possible punch damage this bodypart can ive.

unarmed_damage_low + + + + +

+

Lowest possible punch damage this bodypart can give. If this is set to 0, unarmed attacks will always miss.

unarmed_effectiveness + + + + +

+

Determines the accuracy bonus, armor penetration and knockdown probability.

use_alternate_dismemberment_calc_even_if_mangleable + + + + +

+

If true, we will use [hp_percent_to_dismemberable] even if we are dismemberable via wounds. Useful for things with extreme wound resistance.

variable_color + + + + +

+

An "override" color that can be applied to ANY limb, greyscale or not.

wound_damage_multiplier + + + + +

+

Our current stored wound damage multiplier

wound_resistance + + + + +

+

This number is subtracted from all wound rolls on this bodypart, higher numbers mean more defense, negative means easier to wound

wounds + + + + +

+

The wounds currently afflicting this body part

Proc Details

_embed_object +

+

INTERNAL PROC, DO NOT USE +Properly sets us up to manage an inserted embeded object

_unembed_object +

+

INTERNAL PROC, DO NOT USE +Cleans up any attachment we have to the embedded object, removes it from our list

add_bodypart_overlay +

+

Add a bodypart overlay and call the appropriate update procs

adjustBleedStacks +

+

Modifies our generic bleedstacks. You must use this to change the variable +Takes the amount to adjust by, and the lowest amount we're allowed to have post adjust

apply_gauze +

+

apply_gauze() is used to- well, apply gauze to a bodypart

+

As of the Wounds 2 PR, all bleeding is now bodypart based rather than the old bleedstacks system, and 90% of standard bleeding comes from flesh wounds (the exception is embedded weapons). +The same way bleeding is totaled up by bodyparts, gauze now applies to all wounds on the same part. Thus, having a slash wound, a pierce wound, and a broken bone wound would have the gauze +applying blood staunching to the first two wounds, while also acting as a sling for the third one. Once enough blood has been absorbed or all wounds with the ACCEPTS_GAUZE flag have been cleared, +the gauze falls off.

+

Arguments:

+
    +
  • gauze- Just the gauze stack we're taking a sheet from to apply here
  • +

apply_ownership +

+

Apply ownership of a limb to someone, giving the appropriate traits, updates and signals

attempt_feature_restyle +

+

Asks the external organs inside the limb if they can restyle

can_attach_limb +

+

Checks if you can attach a limb, returns TRUE if you can.

can_be_grasped +

+

If TRUE, the owner of this bodypart can try grabbing it to slow bleeding, as well as various other effects.

change_appearance +

+

A multi-purpose setter for all things immediately important to the icon and iconstate of the limb.

check_for_frankenstein +

+

Checks if a limb qualifies as a BODYPART_IMPLANTED

check_for_injuries +

+

Called when a bodypart is checked for injuries.

+

Modifies the check_list list with the resulting report of the limb's status.

check_series_wounding_mods +

+

Should return an assoc list of (wound_series -> penalty). Will be used in determining series-specific penalties for wounding.

check_wounding +

+

check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria

+

We generate a "score" for how woundable the attack was based on the damage and other factors discussed in /obj/item/bodypart/proc/check_woundings_mods, then go down the list from most severe to least severe wounds in that category. +We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades

+

Arguments:

+
    +
  • woundtype- Either WOUND_BLUNT, WOUND_SLASH, WOUND_PIERCE, or WOUND_BURN based on the attack type.
  • +
  • damage- How much damage is tied to this attack, since wounding potential scales with damage in an attack (see: WOUND_DAMAGE_EXPONENT)
  • +
  • wound_bonus- The wound_bonus of an attack
  • +
  • bare_wound_bonus- The bare_wound_bonus of an attack
  • +

check_woundings_mods +

+

check_wounding_mods() is where we handle the various modifiers of a wound roll

+

A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus +We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse +Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled

+

Arguments:

+

clear_ownership +

+

Run all necessary procs to remove a limbs ownership and remove the appropriate signals and traits

dismember +

+

Remove target limb from it's owner, with side effects.

dismemberable_by_total_damage +

+

Returns TRUE if our total percent damage is more or equal to our dismemberable percentage, but FALSE if a wound can cause us to be dismembered.

dismemberable_by_wound +

+

Returns if our current mangling status allows us to be dismembered. Requires both no exterior/mangled exterior and no interior/mangled interior.

drop_limb +

+

limb removal. The "special" argument is used for swapping a limb with a new one without the effects of losing a limb kicking in.

forced_removal +

+

In-case someone, somehow only teleports someones limb

generate_husk_key +

+

Generates a cache key specifically for husks

generate_icon_key +

+

Called from update_body_parts() these procs handle the limb icon cache. +the limb icon cache adds an icon_render_key to a human mob, it represents:

+
    +
  • Gender, if applicable
  • +
  • The ID of the limb
  • +
  • Draw color, if applicable +These procs only store limbs as to increase the number of matching icon_render_keys +This cache exists because drawing 6/7 icons for humans constantly is quite a waste +See RemieRichards on irc.rizon.net #coderbus (RIP remie :sob:)
  • +

get_bio_state_status +

+

Returns a bitflag using ANATOMY_EXTERIOR or ANATOMY_INTERIOR. Used to determine if we as a whole have a interior or exterior biostate, or both.

get_external_description +

+

Returns the generic description of our BIO_EXTERNAL feature(s), prioritizing certain ones over others. Returns error on failure.

get_internal_description +

+

Returns the generic description of our BIO_INTERNAL feature(s), prioritizing certain ones over others. Returns error on failure.

get_limb_icon +

+

Generates an /image for the limb to be used as an overlay

get_mangled_state +

+

get_mangled_state() is relevant for flesh and bone bodyparts, and returns whether this bodypart has mangled skin, mangled bone, or both (or neither i guess)

+

Dismemberment for flesh and bone requires the victim to have the skin on their bodypart destroyed (either a critical cut or piercing wound), and at least a hairline fracture +(severe bone), at which point we can start rolling for dismembering. The attack must also deal at least 10 damage, and must be a brute attack of some kind (sorry for now, cakehat, maybe later)

+

Returns: BODYPART_MANGLED_NONE if we're fine, BODYPART_MANGLED_EXTERIOR if our skin is broken, BODYPART_MANGLED_INTERIOR if our bone is broken, or BODYPART_MANGLED_BOTH if both are broken and we're up for dismembering

get_modified_bleed_rate +

+

Returns our bleed rate, taking into account laying down and grabbing the limb

get_wound_threshold_of_wound_type +

+

A simple proc that gets the best wound to fit the criteria laid out, then returns its wound threshold.

+

Args:

+
    +
  • wounding_type: The wounding_type, e.g. WOUND_BLUNT, WOUND_SLASH to force onto the mob. Can be a list of wounding_types.
  • +
  • severity: The severity that will be considered.
  • +
  • return_value_if_no_wound: If no wound is found, we will return this instead. (It is reccomended to use named args for this one, as its unclear what it is without)
  • +
  • wound_source: The theoretical source of the wound. Nullable.
  • +
+

Returns: +return_value_if_no_wound if no wound is found - if one IS found, the wound threshold for that wound.

get_wound_type +

+

Get whatever wound of the given type is currently attached to this limb, if any

on_adding +

+

Called on addition of a bodypart

on_attempt_feature_restyle +

+

Invoke async so we dont break signals

on_attempt_feature_restyle_mob +

+

Someone used a restyling thingymajigga on our limb owner

on_owner_nolimbdisable_trait_gain +

+

Called when TRAIT_NOLIMBDISABLE is added to the owner.

on_owner_nolimbdisable_trait_loss +

+

Called when TRAIT_NOLIMBDISABLE is removed from the owner.

on_paralysis_trait_gain +

+

Called when TRAIT_PARALYSIS is added to the limb.

on_paralysis_trait_loss +

+

Called when TRAIT_PARALYSIS is removed from the limb.

on_removal +

+

Called on removal of a bodypart.

painless_wound_roll +

+

Allows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds

receive_damage +

+

#receive_damage

+

called when a bodypart is taking damage +Damage will not exceed max_damage using this proc, and negative damage cannot be used to heal +Returns TRUE if damage icon states changes +Args: +brute - The amount of brute damage dealt. +burn - The amount of burn damage dealt. +blocked - The amount of damage blocked by armor. +update_health - Whether to update the owner's health from receiving the hit. +required_bodytype - A bodytype flag requirement to get this damage (ex: BODYTYPE_ORGANIC) +wound_bonus - Additional bonus chance to get a wound. +bare_wound_bonus - Additional bonus chance to get a wound if the bodypart is naked. +sharpness - Flag on whether the attack is edged or pointy +attack_direction - The direction the bodypart is attacked from, used to send blood flying in the opposite direction. +damage_source - The source of damage, typically a weapon.

recolor_external_organs +

+

Loops through all of the bodypart's external organs and update's their color.

refresh_bleed_rate +

+

Refresh the cache of our rate of bleeding sans any modifiers +ANYTHING ADDED TO THIS PROC NEEDS TO CALL IT WHEN IT'S EFFECT CHANGES

remove_bodypart_overlay +

+

Remove a bodypart overlay and call the appropriate update procs

replace_limb +

+

Try to attach this bodypart to a mob, while replacing one if it exists, does nothing if it fails.

reset_appearance +

+

Resets the base appearance of a limb to it's default values.

seep_gauze +

+

seep_gauze() is for when a gauze wrapping absorbs blood or pus from wounds, lowering its absorption capacity.

+

The passed amount of seepage is deducted from the bandage's absorption capacity, and if we reach a negative absorption capacity, the bandages falls off and we're left with nothing.

+

Arguments:

+
    +
  • seep_amt - How much absorption capacity we're removing from our current bandages (think, how much blood or pus are we soaking up this tick?)
  • +

setBleedStacks +

+

Embedded objects effect bleed rate, gotta refresh lads +Sets our generic bleedstacks

set_brute_dam +

+

Proc to hook behavior associated to the change of the brute_dam variable's value.

set_burn_dam +

+

Proc to hook behavior associated to the change of the burn_dam variable's value.

set_can_be_disabled +

+

Proc to change the value of the can_be_disabled variable and react to the event of its change.

set_disabled +

+

Proc to change the value of the disabled variable and react to the event of its change.

set_initial_damage +

+

Sets the damage of a bodypart when it is created.

try_attach_limb +

+

Attach src to target mob if able, returns FALSE if it fails to.

try_dismember +

+

try_dismember() is used, once we've confirmed that a flesh and bone bodypart has both the skin and bone mangled, to actually roll for it

+

Mangling is described in the above proc, /obj/item/bodypart/proc/get_mangled_state. This simply makes the roll for whether we actually dismember or not +using how damaged the limb already is, and how much damage this blow was for. If we have a critical bone wound instead of just a severe, we add +10% to the roll. +Lastly, we choose which kind of dismember we want based on the wounding type we hit with. Note we don't care about all the normal mods or armor for this

+

Arguments:

+
    +
  • wounding_type: Either WOUND_BLUNT, WOUND_SLASH, or WOUND_PIERCE, basically only matters for the dismember message
  • +
  • wounding_dmg: The damage of the strike that prompted this roll, higher damage = higher chance
  • +
  • wound_bonus: Not actually used right now, but maybe someday
  • +
  • bare_wound_bonus: ditto above
  • +

update_owner +

+

Proc to change the value of the owner variable and react to the event of its change.

update_wound_theory +

+

Updates our "can be theoretically dismembered by wounds" variables by iterating through all wound static data.

update_wounds +

+

update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status

+

Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging

+

Arguments:

+
    +
  • replaced- If true, this is being called from the remove_wound() of a wound that's being replaced, so the bandage that already existed is still relevant, but the new wound hasn't been added yet
  • +
+ + + diff --git a/obj/item/bodypart/arm.html b/obj/item/bodypart/arm.html new file mode 100644 index 00000000000..e5b80caae4c --- /dev/null +++ b/obj/item/bodypart/arm.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/bodypart/arm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

arm + + + +

+ +

Parent Type for arms, should not appear in game.

+ + + + + +

Vars

appendage_nounThe noun to use when referring to this arm's appendage, e.g. "hand" or "paw"
grappled_attack_verbThe classic punch, wonderfully classic and completely random
held_hand_offsetDatum describing how to offset things held in the hands of this arm, the x offset IS functional here
worn_glove_offsetDatum describing how to offset things worn on the hands of this arm, note that an x offset won't do anything here

Procs

apply_ownershipWe need to add hand hud items and appearance, so do that here
clear_ownershipWe need to clear out hand hud items and appearance, so do that here
+

Var Details

appendage_noun + + + + +

+

The noun to use when referring to this arm's appendage, e.g. "hand" or "paw"

grappled_attack_verb + + + + +

+

The classic punch, wonderfully classic and completely random

held_hand_offset + + + + +

+

Datum describing how to offset things held in the hands of this arm, the x offset IS functional here

worn_glove_offset + + + + +

+

Datum describing how to offset things worn on the hands of this arm, note that an x offset won't do anything here

Proc Details

apply_ownership +

+

We need to add hand hud items and appearance, so do that here

clear_ownership +

+

We need to clear out hand hud items and appearance, so do that here

+ + + diff --git a/obj/item/bodypart/arm/left.html b/obj/item/bodypart/arm/left.html new file mode 100644 index 00000000000..01dd19d2e12 --- /dev/null +++ b/obj/item/bodypart/arm/left.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/arm/left - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

left + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_L_ARM trait.

+ + + diff --git a/obj/item/bodypart/arm/left/monkey.html b/obj/item/bodypart/arm/left/monkey.html new file mode 100644 index 00000000000..e1700f66aac --- /dev/null +++ b/obj/item/bodypart/arm/left/monkey.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/bodypart/arm/left/monkey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

monkey + + + +

+ + +

Vars

unarmed_damage_highmonkey punches must be really weak, considering they bite people instead and their bites are weak as hell.
+

Var Details

unarmed_damage_high + + + + +

+

monkey punches must be really weak, considering they bite people instead and their bites are weak as hell.

+ + + diff --git a/obj/item/bodypart/arm/right.html b/obj/item/bodypart/arm/right.html new file mode 100644 index 00000000000..47195e7e3d3 --- /dev/null +++ b/obj/item/bodypart/arm/right.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/arm/right - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

right + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_R_ARM trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_R_ARM trait.

+ + + diff --git a/obj/item/bodypart/chest.html b/obj/item/bodypart/chest.html new file mode 100644 index 00000000000..deebfbf3eb1 --- /dev/null +++ b/obj/item/bodypart/chest.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/bodypart/chest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chest + + + +

+ + + + + + + + + + +

Vars

acceptable_bodytypeThe bodytype(s) allowed to attach to this chest.
wing_typesWhich functional (i.e. flightpotion) wing types (if any) does this bodypart support? If count is >1 a radial menu is used to choose between all icons in list
worn_back_offsetOffset to apply to overlays placed on the back
worn_belt_offsetOffset to apply to equipment worn on the hips
worn_id_offsetOffset to apply to equipment worn on the id slot
worn_neck_offsetOffset to apply to equipment worn on the neck
worn_suit_offsetOffset to apply to equipment worn as a suit
worn_suit_storage_offsetOffset to apply to equipment worn in the suit slot
worn_uniform_offsetOffset to apply to equipment worn as a uniform
+

Var Details

acceptable_bodytype + + + + +

+

The bodytype(s) allowed to attach to this chest.

wing_types + + + + +

+

Which functional (i.e. flightpotion) wing types (if any) does this bodypart support? If count is >1 a radial menu is used to choose between all icons in list

worn_back_offset + + + + +

+

Offset to apply to overlays placed on the back

worn_belt_offset + + + + +

+

Offset to apply to equipment worn on the hips

worn_id_offset + + + + +

+

Offset to apply to equipment worn on the id slot

worn_neck_offset + + + + +

+

Offset to apply to equipment worn on the neck

worn_suit_offset + + + + +

+

Offset to apply to equipment worn as a suit

worn_suit_storage_offset + + + + +

+

Offset to apply to equipment worn in the suit slot

worn_uniform_offset + + + + +

+

Offset to apply to equipment worn as a uniform

+ + + diff --git a/obj/item/bodypart/head.html b/obj/item/bodypart/head.html new file mode 100644 index 00000000000..667f1d3362e --- /dev/null +++ b/obj/item/bodypart/head.html @@ -0,0 +1,232 @@ + + + + + + + /obj/item/bodypart/head - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

head + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

facial_hair_alphaFacial hair alpha
facial_hair_colorFacial hair color
facial_hair_hiddenIs the facial hair currently hidden by something?
facial_hairstyleFacial hair style
fixed_hair_colorAn override that cannot be cleared under any circumstances, affects both hair and facial hair
gradient_colorsGradient colors, if any
gradient_stylesGradient styles, if any
hair_alphaHair alpha
hair_colorHair colour and style
hair_hiddenIs the hair currently hidden by something?
hairstyleHair style
head_flagsFlags related to appearance, such as hair, lips, etc
lip_colorLipstick color
lip_styleType of lipstick being used, basically
override_hair_colorAn override color that can be cleared later, affects both hair and facial hair
real_nameReplacement name
show_debrainedDraw this head as "debrained"
show_eyelessDraw this head as missing eyes
show_organs_on_examineDo we show the information about missing organs upon being examined? Defaults to TRUE, useful for Dullahan heads.
stored_lipstick_traitCurrent lipstick trait, if any (such as TRAIT_KISS_OF_DEATH)
worn_ears_offsetOffset to apply to equipment worn on the ears
worn_face_offsetOffset to apply to overlays placed on the face
worn_glasses_offsetOffset to apply to equipment worn on the eyes
worn_head_offsetOffset to apply to equipment worn on the head
worn_mask_offsetOffset to apply to equipment worn on the mouth

Procs

get_debrain_overlayReturns an appropriate debrained overlay
get_eyeless_overlayReturns an appropriate missing eyes overlay
get_gradient_overlayReturns an appropriate hair/facial hair gradient overlay
update_hair_and_lipsPart of update_limb(), basically does all the head specific icon stuff.
+

Var Details

facial_hair_alpha + + + + +

+

Facial hair alpha

facial_hair_color + + + + +

+

Facial hair color

facial_hair_hidden + + + + +

+

Is the facial hair currently hidden by something?

facial_hairstyle + + + + +

+

Facial hair style

fixed_hair_color + + + + +

+

An override that cannot be cleared under any circumstances, affects both hair and facial hair

gradient_colors + + + + +

+

Gradient colors, if any

gradient_styles + + + + +

+

Gradient styles, if any

hair_alpha + + + + +

+

Hair alpha

hair_color + + + + +

+

Hair colour and style

hair_hidden + + + + +

+

Is the hair currently hidden by something?

hairstyle + + + + +

+

Hair style

head_flags + + + + +

+

Flags related to appearance, such as hair, lips, etc

lip_color + + + + +

+

Lipstick color

lip_style + + + + +

+

Type of lipstick being used, basically

override_hair_color + + + + +

+

An override color that can be cleared later, affects both hair and facial hair

real_name + + + + +

+

Replacement name

show_debrained + + + + +

+

Draw this head as "debrained"

show_eyeless + + + + +

+

Draw this head as missing eyes

show_organs_on_examine + + + + +

+

Do we show the information about missing organs upon being examined? Defaults to TRUE, useful for Dullahan heads.

stored_lipstick_trait + + + + +

+

Current lipstick trait, if any (such as TRAIT_KISS_OF_DEATH)

worn_ears_offset + + + + +

+

Offset to apply to equipment worn on the ears

worn_face_offset + + + + +

+

Offset to apply to overlays placed on the face

worn_glasses_offset + + + + +

+

Offset to apply to equipment worn on the eyes

worn_head_offset + + + + +

+

Offset to apply to equipment worn on the head

worn_mask_offset + + + + +

+

Offset to apply to equipment worn on the mouth

Proc Details

get_debrain_overlay +

+

Returns an appropriate debrained overlay

get_eyeless_overlay +

+

Returns an appropriate missing eyes overlay

get_gradient_overlay +

+

Returns an appropriate hair/facial hair gradient overlay

update_hair_and_lips +

+

Part of update_limb(), basically does all the head specific icon stuff.

+ + + diff --git a/obj/item/bodypart/leg.html b/obj/item/bodypart/leg.html new file mode 100644 index 00000000000..c2641899e69 --- /dev/null +++ b/obj/item/bodypart/leg.html @@ -0,0 +1,53 @@ + + + + + + + /obj/item/bodypart/leg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

leg + + + +

+ +

Parent Type for legs, should not appear in game.

+ +

Vars

worn_foot_offsetDatum describing how to offset things worn on the foot of this leg, note that an x offset won't do anything here

Procs

generate_masked_legThis proc serves as a way to ensure that legs layer properly on a mob. +To do this, two separate images are created - A low layer one, and a normal layer one. +Each of the image will appropriately crop out dirs that are not used on that given layer.
+

Var Details

worn_foot_offset + + + + +

+

Datum describing how to offset things worn on the foot of this leg, note that an x offset won't do anything here

Proc Details

generate_masked_leg +

+

This proc serves as a way to ensure that legs layer properly on a mob. +To do this, two separate images are created - A low layer one, and a normal layer one. +Each of the image will appropriately crop out dirs that are not used on that given layer.

+

Arguments:

+
    +
  • limb_overlay - The limb image being masked, not necessarily the original limb image as it could be an overlay on top of it
  • +
  • image_dir - Direction of the masked images.
  • +
+

Returns the list of masked images, or null if the limb_overlay didn't exist

+ + + diff --git a/obj/item/bodypart/leg/left.html b/obj/item/bodypart/leg/left.html new file mode 100644 index 00000000000..6186beb1d6f --- /dev/null +++ b/obj/item/bodypart/leg/left.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/leg/left - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

left + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_L_LEG trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_L_ARM trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_L_LEG trait.

+ + + diff --git a/obj/item/bodypart/leg/right.html b/obj/item/bodypart/leg/right.html new file mode 100644 index 00000000000..335b89ee81a --- /dev/null +++ b/obj/item/bodypart/leg/right.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/bodypart/leg/right - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

right + + + +

+ + + +

Procs

on_owner_paralysis_gainProc to react to the owner gaining the TRAIT_PARALYSIS_R_LEG trait.
on_owner_paralysis_lossProc to react to the owner losing the TRAIT_PARALYSIS_R_LEG trait.

Proc Details

on_owner_paralysis_gain +

+

Proc to react to the owner gaining the TRAIT_PARALYSIS_R_LEG trait.

on_owner_paralysis_loss +

+

Proc to react to the owner losing the TRAIT_PARALYSIS_R_LEG trait.

+ + + diff --git a/obj/item/bombcore/chemical.html b/obj/item/bombcore/chemical.html new file mode 100644 index 00000000000..f8b9270af2b --- /dev/null +++ b/obj/item/bombcore/chemical.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/bombcore/chemical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chemical + + + +

+ + + + + + + +

Vars

beakersThe set of beakers that have been inserted into the bombcore.
core_holder_volumeThe initial volume of the reagent holder the bombcore has.
max_beakersThe maximum number of beakers that this bombcore can have.
spread_rangeThe range this spreads the reagents added to the bombcore.
temp_boostHow much this heats the reagents in it on detonation.
time_releaseThe amount of reagents released with each detonation.
+

Var Details

beakers + + + + +

+

The set of beakers that have been inserted into the bombcore.

core_holder_volume + + + + +

+

The initial volume of the reagent holder the bombcore has.

max_beakers + + + + +

+

The maximum number of beakers that this bombcore can have.

spread_range + + + + +

+

The range this spreads the reagents added to the bombcore.

temp_boost + + + + +

+

How much this heats the reagents in it on detonation.

time_release + + + + +

+

The amount of reagents released with each detonation.

+ + + diff --git a/obj/item/book.html b/obj/item/book.html new file mode 100644 index 00000000000..889f32f0ef3 --- /dev/null +++ b/obj/item/book.html @@ -0,0 +1,127 @@ + + + + + + + /obj/item/book - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

book + + + +

+ + + + + + + + + + + + + + + +

Vars

book_dataThe packet of information that describes this book
carvedwhether or not we have been carved out
due_dateGame time in 1/10th seconds
maximum_book_stateMaximum icon state number
starting_authorThe initial author, for use in var editing and such
starting_contentThe initial bit of content, for use in var editing and such
starting_titleThe initial title, for use in var editing and such
uniquefalse - Normal book, true - Should not be treated as normal book, unable to be copied, unable to be modified

Procs

can_read_bookProc that checks if the user is capable of reading the book, for UI interactions and otherwise. Returns TRUE if they can, FALSE if they can't.
carve_outCalled when the book gets carved successfully
credit_book_to_readerProc that adds the book to a list on the user's mind so we know what works of art they've been catching up on.
display_contentProc that handles sending the book information to the user, as well as some housekeeping stuff.
gen_random_icon_stateGenerates a random icon state for the book
try_carveCalled when user attempts to carve the book with an item
+

Var Details

book_data + + + + +

+

The packet of information that describes this book

carved + + + + +

+

whether or not we have been carved out

due_date + + + + +

+

Game time in 1/10th seconds

maximum_book_state + + + + +

+

Maximum icon state number

starting_author + + + + +

+

The initial author, for use in var editing and such

starting_content + + + + +

+

The initial bit of content, for use in var editing and such

starting_title + + + + +

+

The initial title, for use in var editing and such

unique + + + + +

+

false - Normal book, true - Should not be treated as normal book, unable to be copied, unable to be modified

Proc Details

can_read_book +

+

Proc that checks if the user is capable of reading the book, for UI interactions and otherwise. Returns TRUE if they can, FALSE if they can't.

carve_out +

+

Called when the book gets carved successfully

credit_book_to_reader +

+

Proc that adds the book to a list on the user's mind so we know what works of art they've been catching up on.

display_content +

+

Proc that handles sending the book information to the user, as well as some housekeeping stuff.

gen_random_icon_state +

+

Generates a random icon state for the book

try_carve +

+

Called when user attempts to carve the book with an item

+ + + diff --git a/obj/item/book/bible.html b/obj/item/book/bible.html new file mode 100644 index 00000000000..8112de9e38f --- /dev/null +++ b/obj/item/book/bible.html @@ -0,0 +1,61 @@ + + + + + + + /obj/item/book/bible - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bible + + + +

+ + + + + +

Vars

bullet_catcherComponent which catches bullets for us
deity_nameDeity this bible is related to

Procs

check_menuChecks if we are allowed to interact with a radial menu
on_intercepted_bulletDestroy the bible when it's shot by a bullet
+

Var Details

bullet_catcher + + + + +

+

Component which catches bullets for us

deity_name + + + + +

+

Deity this bible is related to

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with the menu
  • +

on_intercepted_bullet +

+

Destroy the bible when it's shot by a bullet

+ + + diff --git a/obj/item/book/granter.html b/obj/item/book/granter.html new file mode 100644 index 00000000000..0bfa2acecca --- /dev/null +++ b/obj/item/book/granter.html @@ -0,0 +1,114 @@ + + + + + + + /obj/item/book/granter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

granter + + + +

+ +

Books that teach things.

+

(Intrinsic actions like bar flinging, spells like fireball or smoke, or martial arts)

+ + + + + + + + + + + +

Vars

book_soundsThe sounds played as the user's reading the book.
pages_to_masteryControls how long a mob must keep the book in his hand to actually successfully learn
readingSanity, whether it's currently being read
reading_timeThe time it takes to read the book
remarksFlavor messages displayed to mobs reading the granter
usesThe amount of uses on the granter.

Procs

can_learnChecks if the user can learn whatever this granter... grants
on_reading_finishedCalled when the reading is completely finished. This is where the actual granting should happen.
on_reading_startCalled when the user starts to read the granter.
on_reading_stoppedCalled when the reading is interrupted without finishing.
recoilEffects that occur whenever the book is read when it has no uses left.
turn_pageThe actual "turning over of the page" flavor bit that happens while someone is reading the granter.
+

Var Details

book_sounds + + + + +

+

The sounds played as the user's reading the book.

pages_to_mastery + + + + +

+

Controls how long a mob must keep the book in his hand to actually successfully learn

reading + + + + +

+

Sanity, whether it's currently being read

reading_time + + + + +

+

The time it takes to read the book

remarks + + + + +

+

Flavor messages displayed to mobs reading the granter

uses + + + + +

+

The amount of uses on the granter.

Proc Details

can_learn +

+

Checks if the user can learn whatever this granter... grants

on_reading_finished +

+

Called when the reading is completely finished. This is where the actual granting should happen.

on_reading_start +

+

Called when the user starts to read the granter.

on_reading_stopped +

+

Called when the reading is interrupted without finishing.

recoil +

+

Effects that occur whenever the book is read when it has no uses left.

turn_page +

+

The actual "turning over of the page" flavor bit that happens while someone is reading the granter.

+ + + diff --git a/obj/item/book/granter/action.html b/obj/item/book/granter/action.html new file mode 100644 index 00000000000..bbd8d57402e --- /dev/null +++ b/obj/item/book/granter/action.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/book/granter/action - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

action + + + +

+ + + +

Vars

action_nameThe name of the action, formatted in a more text-friendly way.
granted_actionThe typepath of action that is given
+

Var Details

action_name + + + + +

+

The name of the action, formatted in a more text-friendly way.

granted_action + + + + +

+

The typepath of action that is given

+ + + diff --git a/obj/item/book/granter/action/spell.html b/obj/item/book/granter/action/spell.html new file mode 100644 index 00000000000..0a5b9db7419 --- /dev/null +++ b/obj/item/book/granter/action/spell.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/action/spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

spell + + + +

+ + +

Procs

on_magic_chargeSignal proc for COMSIG_ITEM_MAGICALLY_CHARGED

Proc Details

on_magic_charge +

+

Signal proc for COMSIG_ITEM_MAGICALLY_CHARGED

+

Refreshes uses on our spell granter, or make it quicker to read if it's already infinite use

+ + + diff --git a/obj/item/book/granter/action/spell/mime/mimery.html b/obj/item/book/granter/action/spell/mime/mimery.html new file mode 100644 index 00000000000..5bdaecf1941 --- /dev/null +++ b/obj/item/book/granter/action/spell/mime/mimery.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/book/granter/action/spell/mime/mimery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mimery + + + +

+ + +

Procs

check_menuChecks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The human mob interacting with the menu
  • +
+ + + diff --git a/obj/item/book/granter/action/spell/mindswap.html b/obj/item/book/granter/action/spell/mindswap.html new file mode 100644 index 00000000000..aa185d48183 --- /dev/null +++ b/obj/item/book/granter/action/spell/mindswap.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/action/spell/mindswap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mindswap + + + +

+ + +

Vars

stored_swap_refMob used in book recoils to store an identity for mindswaps
+

Var Details

stored_swap_ref + + + + +

+

Mob used in book recoils to store an identity for mindswaps

+ + + diff --git a/obj/item/book/granter/action/spell/true_random.html b/obj/item/book/granter/action/spell/true_random.html new file mode 100644 index 00000000000..f6a7c72bb35 --- /dev/null +++ b/obj/item/book/granter/action/spell/true_random.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/action/spell/true_random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

true_random + + + +

+ +

A more volatile granter that can potentially have any spell within. Use wisely.

+

Vars

blacklisted_schoolsA list of schools we probably shouldn't grab, for various reasons
+

Var Details

blacklisted_schools + + + + +

+

A list of schools we probably shouldn't grab, for various reasons

+ + + diff --git a/obj/item/book/granter/crafting_recipe.html b/obj/item/book/granter/crafting_recipe.html new file mode 100644 index 00000000000..3b5673c7383 --- /dev/null +++ b/obj/item/book/granter/crafting_recipe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/crafting_recipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

crafting_recipe + + + +

+ + +

Vars

crafting_recipe_typesA list of all recipe types we grant on learn
+

Var Details

crafting_recipe_types + + + + +

+

A list of all recipe types we grant on learn

+ + + diff --git a/obj/item/book/granter/martial.html b/obj/item/book/granter/martial.html new file mode 100644 index 00000000000..51eb1a7f885 --- /dev/null +++ b/obj/item/book/granter/martial.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/book/granter/martial - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

martial + + + +

+ + + + +

Vars

greetThe text given to the user when they learn the martial arts
martialThe martial arts type we give
martial_nameThe name of the martial arts, formatted in a more text-friendly way.
+

Var Details

greet + + + + +

+

The text given to the user when they learn the martial arts

martial + + + + +

+

The martial arts type we give

martial_name + + + + +

+

The name of the martial arts, formatted in a more text-friendly way.

+ + + diff --git a/obj/item/book/granter/sign_language.html b/obj/item/book/granter/sign_language.html new file mode 100644 index 00000000000..ddecacd03d3 --- /dev/null +++ b/obj/item/book/granter/sign_language.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/granter/sign_language - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sign_language + + + +

+ +

Sign language book adds the sign language component to the reading Human. +Grants reader the ability to toggle sign language using a HUD button.

+

Procs

on_reading_finishedCalled when the reading is completely finished. This is where the actual granting should happen.

Proc Details

on_reading_finished +

+

Called when the reading is completely finished. This is where the actual granting should happen.

+ + + diff --git a/obj/item/book/manual/fish_catalog.html b/obj/item/book/manual/fish_catalog.html new file mode 100644 index 00000000000..456b4bd05ab --- /dev/null +++ b/obj/item/book/manual/fish_catalog.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/book/manual/fish_catalog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

fish_catalog + + + +

+ +

Book detailing where to get the fish and their properties.

+

Procs

ui_assets/ Where can it be found - iterate fish sources, how should this handle key +Difficulty descriptor

Proc Details

ui_assets +

+

/ Where can it be found - iterate fish sources, how should this handle key +Difficulty descriptor

+ + + diff --git a/obj/item/book/manual/wiki.html b/obj/item/book/manual/wiki.html new file mode 100644 index 00000000000..786fcb17a84 --- /dev/null +++ b/obj/item/book/manual/wiki.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/book/manual/wiki - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wiki + + + +

+ + +

Vars

page_linkThe ending URL of the page that we link to.
+

Var Details

+

The ending URL of the page that we link to.

+ + + diff --git a/obj/item/book/random.html b/obj/item/book/random.html new file mode 100644 index 00000000000..df8a85fb07f --- /dev/null +++ b/obj/item/book/random.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/book/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

random + + + +

+ + + +

Vars

random_categoryThe category of books to pick from when creating this book.
random_loadedIf this book has already been 'generated' yet.
+

Var Details

random_category + + + + +

+

The category of books to pick from when creating this book.

random_loaded + + + + +

+

If this book has already been 'generated' yet.

+ + + diff --git a/obj/item/borg/apparatus.html b/obj/item/borg/apparatus.html new file mode 100644 index 00000000000..914d5dcd7a6 --- /dev/null +++ b/obj/item/borg/apparatus.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/borg/apparatus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

apparatus + + + +

+ + + + + + + +

Vars

storableWhitelist of types allowed in this apparatus
storedThe item stored inside of this apparatus

Procs

attack_selfAttack_self will pass for the stored item.
on_stored_updated_iconUpdates the appearance of the apparatus when the stored object's icon gets updated.
safedeconIf we're safely deconstructed, we put the item neatly onto the ground, rather than deleting it.
verb_dropHeldA right-click verb, for those not using hotkey mode.
+

Var Details

storable + + + + +

+

Whitelist of types allowed in this apparatus

stored + + + + +

+

The item stored inside of this apparatus

Proc Details

attack_self +

+

Attack_self will pass for the stored item.

on_stored_updated_icon +

+

Updates the appearance of the apparatus when the stored object's icon gets updated.

+

Returns NONE as we have not done anything to the stored object itself, +which is where this signal that this handler intercepts is sent from.

safedecon +

+

If we're safely deconstructed, we put the item neatly onto the ground, rather than deleting it.

verb_dropHeld +

+

A right-click verb, for those not using hotkey mode.

+ + + diff --git a/obj/item/borg/apparatus/beaker.html b/obj/item/borg/apparatus/beaker.html new file mode 100644 index 00000000000..e48d18cc43f --- /dev/null +++ b/obj/item/borg/apparatus/beaker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/borg/apparatus/beaker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

beaker + + + +

+ + +

Procs

pre_attack_secondarySecondary attack spills the content of the beaker.

Proc Details

pre_attack_secondary +

+

Secondary attack spills the content of the beaker.

+ + + diff --git a/obj/item/borg/charger.html b/obj/item/borg/charger.html new file mode 100644 index 00000000000..05e38697e65 --- /dev/null +++ b/obj/item/borg/charger.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/borg/charger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

charger + + + +

+ + + + +

Vars

charge_itemsWhitelist of chargable items
charge_machinesWhitelist of charging machines
modeCharging mode
+

Var Details

charge_items + + + + +

+

Whitelist of chargable items

charge_machines + + + + +

+

Whitelist of charging machines

mode + + + + +

+

Charging mode

+ + + diff --git a/obj/item/borg/cyborghug.html b/obj/item/borg/cyborghug.html new file mode 100644 index 00000000000..276c89a14bc --- /dev/null +++ b/obj/item/borg/cyborghug.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/borg/cyborghug - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cyborghug + + + +

+ + + + + +

Vars

crush_cooldownCrush cooldown
modeHug mode
shock_cooldownShock cooldown
shockallowedCan it be a stunarm when emagged. Only PK borgs get this by default.
+

Var Details

crush_cooldown + + + + +

+

Crush cooldown

mode + + + + +

+

Hug mode

shock_cooldown + + + + +

+

Shock cooldown

shockallowed + + + + +

+

Can it be a stunarm when emagged. Only PK borgs get this by default.

+ + + diff --git a/obj/item/borg/lollipop.html b/obj/item/borg/lollipop.html new file mode 100644 index 00000000000..3f2f187045d --- /dev/null +++ b/obj/item/borg/lollipop.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/borg/lollipop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lollipop + + + +

+ + + + + + + + + + + + +

Vars

candyThe current amount of available candy
candymaxThe maximum amount of candy possible to hold
charge_delayLength of time it takes to regenerate a new candy
chargingIs the fabricator charging right now?
firedelayDelay until next fire
modeDispensing mode

Procs

charge_lollipopsIncreases the amount of lollipops
check_amountQueues another lollipop to be fabricated if there is enough room for one
dispenseDispenses a lollipop
shootGShoot a gumball
shootLShoot a lollipop
+

Var Details

candy + + + + +

+

The current amount of available candy

candymax + + + + +

+

The maximum amount of candy possible to hold

charge_delay + + + + +

+

Length of time it takes to regenerate a new candy

charging + + + + +

+

Is the fabricator charging right now?

firedelay + + + + +

+

Delay until next fire

mode + + + + +

+

Dispensing mode

Proc Details

charge_lollipops +

+

Increases the amount of lollipops

check_amount +

+

Queues another lollipop to be fabricated if there is enough room for one

dispense +

+

Dispenses a lollipop

shootG +

+

Shoot a gumball

shootL +

+

Shoot a lollipop

+ + + diff --git a/obj/item/borg/projectile_dampen.html b/obj/item/borg/projectile_dampen.html new file mode 100644 index 00000000000..43effb1bf1d --- /dev/null +++ b/obj/item/borg/projectile_dampen.html @@ -0,0 +1,115 @@ + + + + + + + /obj/item/borg/projectile_dampen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

projectile_dampen + + + +

+ + + + + + + + + + + + + +

Vars

cyborg_cell_critical_percentageCritical power level percentage
cycle_cooldownactivation cooldown
dampening_fieldThe field
energyCurrent energy level
energy_rechargeRecharging rate in energy per second
energy_recharge_cyborg_drain_coefficientCharge draining right
hostThe owner of the dampener
maxenergyMax energy this dampener can hold
projectile_damage_tick_ecost_coefficientEnergy cost per tracked projectile damage amount per second
projectile_speed_coefficientSpeed coefficient +Higher the coefficient slower the projectile.
projectile_tick_speed_ecostEnergy cost per tracked projectile per second
trackedProjectile sent out by the dampener
+

Var Details

cyborg_cell_critical_percentage + + + + +

+

Critical power level percentage

cycle_cooldown + + + + +

+

activation cooldown

dampening_field + + + + +

+

The field

energy + + + + +

+

Current energy level

energy_recharge + + + + +

+

Recharging rate in energy per second

energy_recharge_cyborg_drain_coefficient + + + + +

+

Charge draining right

host + + + + +

+

The owner of the dampener

maxenergy + + + + +

+

Max energy this dampener can hold

projectile_damage_tick_ecost_coefficient + + + + +

+

Energy cost per tracked projectile damage amount per second

projectile_speed_coefficient + + + + +

+

Speed coefficient +Higher the coefficient slower the projectile.

projectile_tick_speed_ecost + + + + +

+

Energy cost per tracked projectile per second

tracked + + + + +

+

Projectile sent out by the dampener

+ + + diff --git a/obj/item/borg/stun.html b/obj/item/borg/stun.html new file mode 100644 index 00000000000..cf9bc1ff5a1 --- /dev/null +++ b/obj/item/borg/stun.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/borg/stun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stun + + + +

+ + + +

Vars

charge_costCost to use the stun arm
cooldowncooldown between attacks
+

Var Details

charge_cost + + + + +

+

Cost to use the stun arm

cooldown + + + + +

+

cooldown between attacks

+ + + diff --git a/obj/item/borg/upgrade.html b/obj/item/borg/upgrade.html new file mode 100644 index 00000000000..75e78b19a79 --- /dev/null +++ b/obj/item/borg/upgrade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/borg/upgrade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

upgrade + + + +

+ + +

Vars

model_flagsBitflags listing model compatibility. Used in the exosuit fabricator for creating sub-categories.
+

Var Details

model_flags + + + + +

+

Bitflags listing model compatibility. Used in the exosuit fabricator for creating sub-categories.

+ + + diff --git a/obj/item/borg/upgrade/selfrepair.html b/obj/item/borg/upgrade/selfrepair.html new file mode 100644 index 00000000000..23d2f85fe3f --- /dev/null +++ b/obj/item/borg/upgrade/selfrepair.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/borg/upgrade/selfrepair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

selfrepair + + + +

+ + + +

Vars

next_repairworld.time of next repair
repair_cooldownMinimum time between repairs in seconds
+

Var Details

next_repair + + + + +

+

world.time of next repair

repair_cooldown + + + + +

+

Minimum time between repairs in seconds

+ + + diff --git a/obj/item/bot_assembly.html b/obj/item/bot_assembly.html new file mode 100644 index 00000000000..e5b364710b2 --- /dev/null +++ b/obj/item/bot_assembly.html @@ -0,0 +1,41 @@ + + + + + + + /obj/item/bot_assembly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bot_assembly + + + +

+ + +

Procs

can_finish_buildChecks if the user can finish constructing a bot with a given item.

Proc Details

can_finish_build +

+

Checks if the user can finish constructing a bot with a given item.

+

Arguments:

+
    +
  • I - Item to be used
  • +
  • user - Mob doing the construction
  • +
  • drop_item - Whether or no the item should be dropped; defaults to 1. Should be set to 0 if the item is a tool, stack, or otherwise doesn't need to be dropped. If not set to 0, item must be deleted afterwards.
  • +
+ + + diff --git a/obj/item/bounty_cube.html b/obj/item/bounty_cube.html new file mode 100644 index 00000000000..f0c8539c0fb --- /dev/null +++ b/obj/item/bounty_cube.html @@ -0,0 +1,127 @@ + + + + + + + /obj/item/bounty_cube - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bounty_cube + + + +

+ +

Upon completion of a civilian bounty, one of these is created. It is sold to cargo to give the cargo budget bounty money, and the person who completed it cash.

+ + + + + + + + + + + + + +

Vars

bounty_handler_accountBank account of the person who receives the handling tip.
bounty_holderWho completed the bounty.
bounty_holder_accountBank account of the person who completed the bounty.
bounty_holder_jobWhat job the bounty holder had.
bounty_nameWhat the bounty was for.
bounty_valueValue of the bounty that this bounty cube sells for.
handler_tipMultiplier for the bounty payout received by the person who claims the handling tip.
holder_cutMultiplier for the bounty payout received by the person who completed the bounty.
nag_cooldownTime between nags.
nag_cooldown_multiplierHow much the time between nags extends each nag.
next_nag_timeNext world tick to nag Supply listeners.
radioOur internal radio.
radio_keyThe key our internal radio uses.
speed_bonusMultiplier for the bounty payout received by the Supply budget if the cube is sent without having to nag.
+

Var Details

bounty_handler_account + + + + +

+

Bank account of the person who receives the handling tip.

bounty_holder + + + + +

+

Who completed the bounty.

bounty_holder_account + + + + +

+

Bank account of the person who completed the bounty.

bounty_holder_job + + + + +

+

What job the bounty holder had.

bounty_name + + + + +

+

What the bounty was for.

bounty_value + + + + +

+

Value of the bounty that this bounty cube sells for.

handler_tip + + + + +

+

Multiplier for the bounty payout received by the person who claims the handling tip.

holder_cut + + + + +

+

Multiplier for the bounty payout received by the person who completed the bounty.

nag_cooldown + + + + +

+

Time between nags.

nag_cooldown_multiplier + + + + +

+

How much the time between nags extends each nag.

next_nag_time + + + + +

+

Next world tick to nag Supply listeners.

radio + + + + +

+

Our internal radio.

radio_key + + + + +

+

The key our internal radio uses.

speed_bonus + + + + +

+

Multiplier for the bounty payout received by the Supply budget if the cube is sent without having to nag.

+ + + diff --git a/obj/item/boxcutter.html b/obj/item/boxcutter.html new file mode 100644 index 00000000000..72bee55ae71 --- /dev/null +++ b/obj/item/boxcutter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/boxcutter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

boxcutter + + + +

+ + + + +

Vars

snap_time_strong_handcuffsUsed on Initialize, how much time to cut real handcuffs. Null means it can't.
snap_time_weak_handcuffsUsed on Initialize, how much time to cut cable restraints and zipties.
start_extendedStarts open if true
+

Var Details

snap_time_strong_handcuffs + + + + +

+

Used on Initialize, how much time to cut real handcuffs. Null means it can't.

snap_time_weak_handcuffs + + + + +

+

Used on Initialize, how much time to cut cable restraints and zipties.

start_extended + + + + +

+

Starts open if true

+ + + diff --git a/obj/item/broken_bottle.html b/obj/item/broken_bottle.html new file mode 100644 index 00000000000..4449491a64b --- /dev/null +++ b/obj/item/broken_bottle.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/broken_bottle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

broken_bottle + + + +

+ +

The froth fountain that we are sticking onto the bottle

+ + +

Vars

broken_outlineThe mask image for mimicking a broken-off bottom of the bottle
flipped_broken_outlineThe mask image for mimicking a broken-off neck of the bottle

Procs

mimic_brokenMimics the appearance and properties of the passed in bottle. +Takes the broken bottle to mimic, and the thing the bottle was broken agaisnt as args
+

Var Details

broken_outline + + + + +

+

The mask image for mimicking a broken-off bottom of the bottle

flipped_broken_outline + + + + +

+

The mask image for mimicking a broken-off neck of the bottle

Proc Details

mimic_broken +

+

Mimics the appearance and properties of the passed in bottle. +Takes the broken bottle to mimic, and the thing the bottle was broken agaisnt as args

+ + + diff --git a/obj/item/burner.html b/obj/item/burner.html new file mode 100644 index 00000000000..a36965f2629 --- /dev/null +++ b/obj/item/burner.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/burner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

burner + + + +

+ + + + +

Vars

litIf the flame is lit - i.e. if we're processing and burning
max_volumetotal reagent volume
reagent_typeWhat the creation reagent is
+

Var Details

lit + + + + +

+

If the flame is lit - i.e. if we're processing and burning

max_volume + + + + +

+

total reagent volume

reagent_type + + + + +

+

What the creation reagent is

+ + + diff --git a/obj/item/camera.html b/obj/item/camera.html new file mode 100644 index 00000000000..4a019d6b92a --- /dev/null +++ b/obj/item/camera.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/camera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

camera + + + +

+ + + +

Vars

print_picture_on_snapWhether the camera should print pictures immediately when a picture is taken.

Procs

flash_endlist of human names taken on picture
+

Var Details

print_picture_on_snap + + + + +

+

Whether the camera should print pictures immediately when a picture is taken.

Proc Details

flash_end +

+

list of human names taken on picture

+ + + diff --git a/obj/item/camera/siliconcam.html b/obj/item/camera/siliconcam.html new file mode 100644 index 00000000000..84a73cbcc48 --- /dev/null +++ b/obj/item/camera/siliconcam.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/camera/siliconcam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

siliconcam + + + +

+ + + + +

Vars

storedList of all pictures taken by this camera.

Procs

can_take_pictureChecks if we can take a picture at this moment. Returns TRUE if we can, FALSE if we can't.
toggle_camera_modeToggles the camera mode on or off. +If sound is TRUE, plays a sound effect and displays a message on successful toggle
+

Var Details

stored + + + + +

+

List of all pictures taken by this camera.

Proc Details

can_take_picture +

+

Checks if we can take a picture at this moment. Returns TRUE if we can, FALSE if we can't.

toggle_camera_mode +

+

Toggles the camera mode on or off. +If sound is TRUE, plays a sound effect and displays a message on successful toggle

+ + + diff --git a/obj/item/camera/siliconcam/pai_camera.html b/obj/item/camera/siliconcam/pai_camera.html new file mode 100644 index 00000000000..4f62945e21e --- /dev/null +++ b/obj/item/camera/siliconcam/pai_camera.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/camera/siliconcam/pai_camera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pai_camera + + + +

+ + +

Procs

pai_printHandles selecting and printing stored images.

Proc Details

pai_print +

+

Handles selecting and printing stored images.

+

@param {mob} user - The pAI.

+

@returns {boolean} - TRUE if the pAI prints an image, +FALSE otherwise.

+ + + diff --git a/obj/item/canvas.html b/obj/item/canvas.html new file mode 100644 index 00000000000..8c71607e009 --- /dev/null +++ b/obj/item/canvas.html @@ -0,0 +1,80 @@ + + + + + + + /obj/item/canvas - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

canvas + + + +

+ + + + + + + + +

Vars

canvas_colorempty canvas color
last_patronreference to the last patron's mind datum, used to allow them (and no others) to change the frame before the round ends.
no_saveboolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.
pixels_per_unitHow big the grid cells that compose the painting are in the UI. +This impacts the size of the UI, so smaller values are generally better for bigger canvases and viceversa
show_gridWhether a grid should be shown in the UI if the canvas is editable and the viewer is holding a painting tool.
usedIs it clean canvas or was there something painted on it at some point, used to decide when to show wip splotch overlay

Procs

get_paint_tool_mediumGenerates medium description
+

Var Details

canvas_color + + + + +

+

empty canvas color

last_patron + + + + +

+

reference to the last patron's mind datum, used to allow them (and no others) to change the frame before the round ends.

no_save + + + + +

+

boolean that blocks persistence from saving it. enabled from printing copies, because we do not want to save copies.

pixels_per_unit + + + + +

+

How big the grid cells that compose the painting are in the UI. +This impacts the size of the UI, so smaller values are generally better for bigger canvases and viceversa

show_grid + + + + +

+

Whether a grid should be shown in the UI if the canvas is editable and the viewer is holding a painting tool.

used + + + + +

+

Is it clean canvas or was there something painted on it at some point, used to decide when to show wip splotch overlay

Proc Details

get_paint_tool_medium +

+

Generates medium description

+ + + diff --git a/obj/item/card.html b/obj/item/card.html new file mode 100644 index 00000000000..4157280ae42 --- /dev/null +++ b/obj/item/card.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/card - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

card + + + +

+ + + +

Vars

cached_flat_iconCached icon that has been built for this card. Intended to be displayed in chat. Cardboards IDs and actual IDs use it.

Procs

get_cached_flat_iconIf no cached_flat_icon exists, this proc creates it and crops it. This proc then returns the cached_flat_icon. Intended for use displaying ID card icons in chat.
+

Var Details

cached_flat_icon + + + + +

+

Cached icon that has been built for this card. Intended to be displayed in chat. Cardboards IDs and actual IDs use it.

Proc Details

get_cached_flat_icon +

+

If no cached_flat_icon exists, this proc creates it and crops it. This proc then returns the cached_flat_icon. Intended for use displaying ID card icons in chat.

+ + + diff --git a/obj/item/card/cardboard.html b/obj/item/card/cardboard.html new file mode 100644 index 00000000000..4e99cbea6ef --- /dev/null +++ b/obj/item/card/cardboard.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/card/cardboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cardboard + + + +

+ +

A fake ID card any silly-willy can craft with wirecutters, cardboard and a writing utensil +Beside the gimmick of changing the visible name when worn, they do nothing. They cannot have an account. +They don't fit in PDAs nor wallets, They have no access. They won't trick securitrons. They won't work with chameleon masks. +Etcetera etcetera. Furthermore, talking, or getting examined on will pretty much give it away.

+ + + + + +

Vars

details_colorsThe colors for each of the above variables, for when overlays are updated.
scribbled_assignmentThe assignment written on this card.
scribbled_nameThe "name" of the "owner" of this "ID"
scribbled_trimAn icon state used as trim.

Procs

after_input_checkChecks that the conditions to be able to modify the cardboard card are still present after user input calls.
modify_cardLets the user write a name, assignment or trim on the card, or reset it. Only the name is important for the component.
+

Var Details

details_colors + + + + +

+

The colors for each of the above variables, for when overlays are updated.

scribbled_assignment + + + + +

+

The assignment written on this card.

scribbled_name + + + + +

+

The "name" of the "owner" of this "ID"

scribbled_trim + + + + +

+

An icon state used as trim.

Proc Details

after_input_check +

+

Checks that the conditions to be able to modify the cardboard card are still present after user input calls.

modify_card +

+

Lets the user write a name, assignment or trim on the card, or reset it. Only the name is important for the component.

+ + + diff --git a/obj/item/card/emag/battlecruiser.html b/obj/item/card/emag/battlecruiser.html new file mode 100644 index 00000000000..bb4d16f5168 --- /dev/null +++ b/obj/item/card/emag/battlecruiser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/card/emag/battlecruiser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

battlecruiser + + + +

+ + + +

Vars

teamThe battlecruiser team that the battlecruiser will get added to
usedwhether we have called the battlecruiser
+

Var Details

team + + + + +

+

The battlecruiser team that the battlecruiser will get added to

used + + + + +

+

whether we have called the battlecruiser

+ + + diff --git a/obj/item/card/id.html b/obj/item/card/id.html new file mode 100644 index 00000000000..a2d60e1b3c8 --- /dev/null +++ b/obj/item/card/id.html @@ -0,0 +1,365 @@ + + + + + + + /obj/item/card/id - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

id + + + +

+ +

"Retro" ID card that renders itself as the icon state with no overlays.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accessAccess levels held by this card.
assignmentThe job name registered on the card (for example: Assistant).
available_logosList of logos available for holopay customization - via font awesome 5
holopay_feeReplaces the "pay whatever" functionality with a set amount when non-zero.
holopay_logoThe holopay icon chosen by the user
holopay_max_feeMaximum forced fee. It's unlikely for a user to encounter this type of money, much less pay it willingly.
holopay_min_feeMinimum forced fee for holopay stations. Registers as "pay what you want."
holopay_nameThe holopay name chosen by the user
is_internBoolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated.
last_holopay_projectionCooldown between projecting holopays
my_storeLinked holopay.
registered_accountLinked bank account.
registered_ageRegistered owner's age.
registered_nameThe name registered on the card (for example: Dr Bryan See)
trimTrim datum associated with the card. Controls which job icon is displayed on the card and which accesses do not require wildcards.
wildcard_slotsList of wildcard slot names as keys with lists of wildcard data as values.

Procs

add_accessAttempts to add the given accesses to the ID card as non-wildcards.
add_wildcardsAttempts to add the given wildcards to the ID card.
alt_click_can_use_idHelper proc. Can the user alt-click the ID?
build_access_listsHelper proc. Creates access lists for the access procs.
can_add_wildcardsHelper proc, checks whether the ID card can hold any given set of wildcards.
can_proj_holopayDetermines where the holopay will be placed based on tile contents +Success: Valid tile for holopay placement +Determines whether a new holopay can be placed on the given turf. +Checks if there are dense contents, too many contents, or another +holopay already exists on the turf.
clear_accessClears all accesses from the ID card - both wildcard and normal.
clear_accountClears the economy account from the ID card.
get_trim_assignmentReturns the trim assignment name.
get_trim_sechud_icon_stateReturns the trim sechud icon state.
insert_moneyInsert credits or coins into the ID card and add their value to the associated bank account.
mass_insert_moneyInsert multiple money or money-equivalent items at once.
remove_accessRemoves the given accesses from the ID Card.
remove_wildcardsRemoves wildcards from the ID card.
set_accessAttempts to set the card's accesses to the given accesses, clearing all accesses not in the given list.
set_holopay_feeSetter for changing the force fee on a holopay.
set_holopay_logoSetter for the shop logo on linked holopays
set_holopay_nameSetter for changing the holopay name.
set_new_accountAttempts to set a new bank account on the ID card.
update_in_walletCalled on COMSIG_ATOM_UPDATED_ICON. Updates the visuals of the wallet this card is in.
update_labelUpdates the name based on the card's vars and state.
+

Var Details

access + + + + +

+

Access levels held by this card.

assignment + + + + +

+

The job name registered on the card (for example: Assistant).

available_logos + + + + +

+

List of logos available for holopay customization - via font awesome 5

holopay_fee + + + + +

+

Replaces the "pay whatever" functionality with a set amount when non-zero.

+

The holopay icon chosen by the user

holopay_max_fee + + + + +

+

Maximum forced fee. It's unlikely for a user to encounter this type of money, much less pay it willingly.

holopay_min_fee + + + + +

+

Minimum forced fee for holopay stations. Registers as "pay what you want."

holopay_name + + + + +

+

The holopay name chosen by the user

is_intern + + + + +

+

Boolean value. If TRUE, the [Intern] tag gets prepended to this ID card when the label is updated.

last_holopay_projection + + + + +

+

Cooldown between projecting holopays

my_store + + + + +

+

Linked holopay.

registered_account + + + + +

+

Linked bank account.

registered_age + + + + +

+

Registered owner's age.

registered_name + + + + +

+

The name registered on the card (for example: Dr Bryan See)

trim + + + + +

+

Trim datum associated with the card. Controls which job icon is displayed on the card and which accesses do not require wildcards.

wildcard_slots + + + + +

+

List of wildcard slot names as keys with lists of wildcard data as values.

Proc Details

add_access +

+

Attempts to add the given accesses to the ID card as non-wildcards.

+

Depending on the mode, may add accesses as wildcards or error if it can't add them as non-wildcards. +Arguments:

+
    +
  • add_accesses - List of accesses to check.
  • +
  • try_wildcard - If not null, will attempt to add all accesses that require wildcard slots to this wildcard slot only.
  • +
  • mode - The method to use when adding accesses. See define for ERROR_ON_FAIL
  • +

add_wildcards +

+

Attempts to add the given wildcards to the ID card.

+

Arguments:

+
    +
  • wildcard_list - List of accesses to add.
  • +
  • try_wildcard - If not null, will attempt to add all wildcards to this wildcard slot only.
  • +
  • mode - The method to use when adding wildcards. See define for ERROR_ON_FAIL
  • +

alt_click_can_use_id +

+

Helper proc. Can the user alt-click the ID?

build_access_lists +

+

Helper proc. Creates access lists for the access procs.

+

Takes the accesses list and compares it with the trim. Any basic accesses that match the trim are +added to basic_access_list and the rest are added to wildcard_access_list.

+

This proc directly modifies the lists passed in as args. It expects these lists to be instantiated. +There is no return value. +Arguments:

+
    +
  • accesses - List of accesses you want to stort into basic_access_list and wildcard_access_list. Should not be null.
  • +
  • basic_access_list - Mandatory argument. The proc modifies the list passed in this argument and adds accesses the trim supports to it.
  • +
  • wildcard_access_list - Mandatory argument. The proc modifies the list passed in this argument and adds accesses the trim does not support to it.
  • +

can_add_wildcards +

+

Helper proc, checks whether the ID card can hold any given set of wildcards.

+

Returns TRUE if the card can hold the wildcards, FALSE otherwise. +Arguments:

+
    +
  • wildcard_list - List of accesses to check.
  • +
  • try_wildcard - If not null, will attempt to add wildcards for this wildcard specifically and will return FALSE if the card cannot hold all wildcards in this slot.
  • +

can_proj_holopay +

+

Determines where the holopay will be placed based on tile contents +Success: Valid tile for holopay placement +Determines whether a new holopay can be placed on the given turf. +Checks if there are dense contents, too many contents, or another +holopay already exists on the turf.

+

Arguments:

+
    +
  • turf/target - The target turf to be checked for dense contents +Returns:
  • +
  • TRUE if the target is a valid holopay location, FALSE otherwise.
  • +

clear_access +

+

Clears all accesses from the ID card - both wildcard and normal.

clear_account +

+

Clears the economy account from the ID card.

get_trim_assignment +

+

Returns the trim assignment name.

get_trim_sechud_icon_state +

+

Returns the trim sechud icon state.

insert_money +

+

Insert credits or coins into the ID card and add their value to the associated bank account.

+

Arguments: +money - The item to attempt to convert to credits and insert into the card. +user - The user inserting the item. +physical_currency - Boolean, whether this is a physical currency such as a coin and not a holochip.

mass_insert_money +

+

Insert multiple money or money-equivalent items at once.

+

Arguments: +money - List of items to attempt to convert to credits and insert into the card. +user - The user inserting the items.

remove_access +

+

Removes the given accesses from the ID Card.

+

Will remove the wildcards if the accesses given are on the card as wildcard accesses. +Arguments:

+
    +
  • rem_accesses - List of accesses to remove.
  • +

remove_wildcards +

+

Removes wildcards from the ID card.

+

Arguments:

+
    +
  • wildcard_list - List of accesses to remove.
  • +

set_access +

+

Attempts to set the card's accesses to the given accesses, clearing all accesses not in the given list.

+

Depending on the mode, may add accesses as wildcards or error if it can't add them as non-wildcards. +Arguments:

+
    +
  • new_access_list - List of all accesses that this card should hold exclusively.
  • +
  • mode - The method to use when setting accesses. See define for ERROR_ON_FAIL
  • +

set_holopay_fee +

+

Setter for changing the force fee on a holopay.

+

Arguments:

+
    +
  • new_fee - The new fee to be set.
  • +
+

Setter for the shop logo on linked holopays

+

Arguments:

+
    +
  • new_logo - The new logo to be set.
  • +

set_holopay_name +

+

Setter for changing the holopay name.

+

Arguments:

+
    +
  • new_name - The new name to be set.
  • +

set_new_account +

+

Attempts to set a new bank account on the ID card.

update_in_wallet +

+

Called on COMSIG_ATOM_UPDATED_ICON. Updates the visuals of the wallet this card is in.

update_label +

+

Updates the name based on the card's vars and state.

+ + + diff --git a/obj/item/card/id/advanced.html b/obj/item/card/id/advanced.html new file mode 100644 index 00000000000..5840834d5be --- /dev/null +++ b/obj/item/card/id/advanced.html @@ -0,0 +1,101 @@ + + + + + + + /obj/item/card/id/advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

advanced + + + +

+ + + + + + + + + + + +

Vars

assigned_icon_stateAn overlay icon state for when the card is assigned to a name. Usually manifests itself as a little scribble to the right of the job icon.
department_color_overrideIf this is set, will manually override the department color for this trim. Intended for admins to VV edit and chameleon ID cards.
department_state_overrideIf this is set, will manually override the department icon state for the trim. Intended for admins to VV edit and chameleon ID cards.
sechud_icon_state_overrideIf this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.
subdepartment_color_overrideIf this is set, will manually override the subdepartment color for this trim. Intended for admins to VV edit and chameleon ID cards.
trim_assignment_overrideIf this is set, will manually override the trim's assignmment as it appears in the crew monitor and elsewhere. Intended for admins to VV edit and chameleon ID cards.
trim_icon_overrideIf this is set, will manually override the icon file for the trim. Intended for admins to VV edit and chameleon ID cards.
trim_state_overrideIf this is set, will manually override the icon state for the trim. Intended for admins to VV edit and chameleon ID cards.

Procs

get_trim_assignmentWe handle department and subdepartment overlays first, so the job icon is always on top. +Then we handle the job's icon here.
get_trim_sechud_icon_stateReturns the trim sechud icon state.
+

Var Details

assigned_icon_state + + + + +

+

An overlay icon state for when the card is assigned to a name. Usually manifests itself as a little scribble to the right of the job icon.

department_color_override + + + + +

+

If this is set, will manually override the department color for this trim. Intended for admins to VV edit and chameleon ID cards.

department_state_override + + + + +

+

If this is set, will manually override the department icon state for the trim. Intended for admins to VV edit and chameleon ID cards.

sechud_icon_state_override + + + + +

+

If this is set, will manually override the trim shown for SecHUDs. Intended for admins to VV edit and chameleon ID cards.

subdepartment_color_override + + + + +

+

If this is set, will manually override the subdepartment color for this trim. Intended for admins to VV edit and chameleon ID cards.

trim_assignment_override + + + + +

+

If this is set, will manually override the trim's assignmment as it appears in the crew monitor and elsewhere. Intended for admins to VV edit and chameleon ID cards.

trim_icon_override + + + + +

+

If this is set, will manually override the icon file for the trim. Intended for admins to VV edit and chameleon ID cards.

trim_state_override + + + + +

+

If this is set, will manually override the icon state for the trim. Intended for admins to VV edit and chameleon ID cards.

Proc Details

get_trim_assignment +

+

We handle department and subdepartment overlays first, so the job icon is always on top. +Then we handle the job's icon here.

get_trim_sechud_icon_state +

+

Returns the trim sechud icon state.

+ + + diff --git a/obj/item/card/id/advanced/chameleon.html b/obj/item/card/id/advanced/chameleon.html new file mode 100644 index 00000000000..e788d8b83bb --- /dev/null +++ b/obj/item/card/id/advanced/chameleon.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/card/id/advanced/chameleon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chameleon + + + +

+ + + + + +

Vars

anyoneAnti-metagaming protections. If TRUE, anyone can change the ID card's details. If FALSE, only syndicate agents can.
forgedHave we set a custom name and job assignment, or will we use what we're given when we chameleon change?
theft_targetWeak ref to the ID card we're currently attempting to steal access from.

Procs

after_input_check"Forge/Reset", kept outside the switch() statement to reduce indentation. +forge the ID if not forged.
+

Var Details

anyone + + + + +

+

Anti-metagaming protections. If TRUE, anyone can change the ID card's details. If FALSE, only syndicate agents can.

forged + + + + +

+

Have we set a custom name and job assignment, or will we use what we're given when we chameleon change?

theft_target + + + + +

+

Weak ref to the ID card we're currently attempting to steal access from.

Proc Details

after_input_check +

+

"Forge/Reset", kept outside the switch() statement to reduce indentation. +forge the ID if not forged.

+ + + diff --git a/obj/item/card/id/advanced/heretic.html b/obj/item/card/id/advanced/heretic.html new file mode 100644 index 00000000000..c2122a9a334 --- /dev/null +++ b/obj/item/card/id/advanced/heretic.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/card/id/advanced/heretic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heretic + + + +

+ +

An ID card capable of shapeshifting to other IDs given by the Key Keepers Burden knowledge

+ + + + + + + + +

Vars

fused_idsList of IDs this card consumed
invertedare our created portals inverted? (heretics get sent to a random airlock, crew get sent to the target)
linkThe first door we are linking in the pair, so we can create a portal pair
portal_oneThe first portal in the portal pair, so we can clear it later
portal_twoThe second portal in the portal pair, so we can clear it later

Procs

clear_portal_refsClears portal references
clear_portalsDeletes and nulls our portal pair
make_portalCreates a portal pair at door1 and door2, displays a balloon alert to user
shapeshiftChanges our appearance to the passed ID card
+

Var Details

fused_ids + + + + +

+

List of IDs this card consumed

inverted + + + + +

+

are our created portals inverted? (heretics get sent to a random airlock, crew get sent to the target)

+

The first door we are linking in the pair, so we can create a portal pair

portal_one + + + + +

+

The first portal in the portal pair, so we can clear it later

portal_two + + + + +

+

The second portal in the portal pair, so we can clear it later

Proc Details

clear_portal_refs +

+

Clears portal references

clear_portals +

+

Deletes and nulls our portal pair

make_portal +

+

Creates a portal pair at door1 and door2, displays a balloon alert to user

shapeshift +

+

Changes our appearance to the passed ID card

+ + + diff --git a/obj/item/card/id/advanced/prisoner.html b/obj/item/card/id/advanced/prisoner.html new file mode 100644 index 00000000000..7780e0505a0 --- /dev/null +++ b/obj/item/card/id/advanced/prisoner.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/card/id/advanced/prisoner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prisoner + + + +

+ + + + + + +

Vars

goalNumber of gulag points required to earn freedom.
pointsNumber of gulag points earned.
time_leftTime left on a card till they can leave.
time_to_assignTime to assign to the card when they pass through the security gate.
timedIf the card has a timer set on it for temporary stay.
+

Var Details

goal + + + + +

+

Number of gulag points required to earn freedom.

points + + + + +

+

Number of gulag points earned.

time_left + + + + +

+

Time left on a card till they can leave.

time_to_assign + + + + +

+

Time to assign to the card when they pass through the security gate.

timed + + + + +

+

If the card has a timer set on it for temporary stay.

+ + + diff --git a/obj/item/card/mining_point_card.html b/obj/item/card/mining_point_card.html new file mode 100644 index 00000000000..8286d061c98 --- /dev/null +++ b/obj/item/card/mining_point_card.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/card/mining_point_card - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mining_point_card + + + +

+ + +

Vars

pointsAmount of points this card contains.
+

Var Details

points + + + + +

+

Amount of points this card contains.

+ + + diff --git a/obj/item/cardboard_cutout.html b/obj/item/cardboard_cutout.html new file mode 100644 index 00000000000..0abf31dc94e --- /dev/null +++ b/obj/item/cardboard_cutout.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/cardboard_cutout - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cardboard_cutout + + + +

+ + + + + + +

Vars

deceptiveIf the cutout actually appears as what it portray and not a discolored version
pushed_overIf the cutout is pushed over and has to be righted
starting_cutoutWhat cutout datum we spawn at the start? Uses the name, not the path.

Procs

change_appearancechange_appearance: Changes a skin of the cardboard cutout based on a user's choice
check_menucheck_menu: Checks if we are allowed to interact with a radial menu
+

Var Details

deceptive + + + + +

+

If the cutout actually appears as what it portray and not a discolored version

pushed_over + + + + +

+

If the cutout is pushed over and has to be righted

starting_cutout + + + + +

+

What cutout datum we spawn at the start? Uses the name, not the path.

Proc Details

change_appearance +

+

change_appearance: Changes a skin of the cardboard cutout based on a user's choice

+

Arguments:

+
    +
  • crayon The crayon used to change and recolor the cardboard cutout
  • +
  • user The mob choosing a skin of the cardboard cutout
  • +

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with a menu
  • +
  • crayon The crayon used to interact with a menu
  • +
+ + + diff --git a/obj/item/cardpack.html b/obj/item/cardpack.html new file mode 100644 index 00000000000..ea4499c0ade --- /dev/null +++ b/obj/item/cardpack.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/cardpack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cardpack + + + +

+ + + + + + + + + +

Vars

card_countThe amount of cards to draw from the rarity table
contains_coinChance of the pack having a coin in it out of 10
guar_rarityThe guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like
guaranteed_countThe amount of cards to draw from the guarenteed rarity table
rarity_tableThe rarity table, the set must contain at least one of each
seriesThe card series to look in

Procs

buildCardListWithRarityReturns a list of cards ids of card_cnt weighted by rarity from the pack's tables that have matching series, with gnt_cnt of the guarenteed table.
returnCardsByRarityReturns a list of card datums of the length cardCount that match a random rarity weighted by rarity_table[]
+

Var Details

card_count + + + + +

+

The amount of cards to draw from the rarity table

contains_coin + + + + +

+

Chance of the pack having a coin in it out of 10

guar_rarity + + + + +

+

The guaranteed rarity table, acts about the same as the rarity table. it can have as many or as few raritys as you'd like

guaranteed_count + + + + +

+

The amount of cards to draw from the guarenteed rarity table

rarity_table + + + + +

+

The rarity table, the set must contain at least one of each

series + + + + +

+

The card series to look in

Proc Details

buildCardListWithRarity +

+

Returns a list of cards ids of card_cnt weighted by rarity from the pack's tables that have matching series, with gnt_cnt of the guarenteed table.

returnCardsByRarity +

+

Returns a list of card datums of the length cardCount that match a random rarity weighted by rarity_table[]

+ + + diff --git a/obj/item/cautery.html b/obj/item/cautery.html new file mode 100644 index 00000000000..5650c94e462 --- /dev/null +++ b/obj/item/cautery.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/cautery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cautery + + + +

+ + +

Vars

surgical_tray_overlayHow this looks when placed in a surgical tray
+

Var Details

surgical_tray_overlay + + + + +

+

How this looks when placed in a surgical tray

+ + + diff --git a/obj/item/chainsaw.html b/obj/item/chainsaw.html new file mode 100644 index 00000000000..102a51dc32c --- /dev/null +++ b/obj/item/chainsaw.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/chainsaw - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chainsaw + + + +

+ + + +

Vars

chainsaw_loopThe looping sound for our chainsaw when running

Procs

apply_componentsHandles adding components to the chainsaw. Added in Initialize()
+

Var Details

chainsaw_loop + + + + +

+

The looping sound for our chainsaw when running

Proc Details

apply_components +

+

Handles adding components to the chainsaw. Added in Initialize()

+

Applies components to the chainsaw. Added as a seperate proc to allow for +variance between subtypes

+ + + diff --git a/obj/item/chameleon_scanner.html b/obj/item/chameleon_scanner.html new file mode 100644 index 00000000000..151a9899df1 --- /dev/null +++ b/obj/item/chameleon_scanner.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/chameleon_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chameleon_scanner + + + +

+ +

Small handheld chameleon item that allows a user to mimic the outfit of another person quickly.

+ + +

Vars

scan_cooldownCooldown between scans. +Not entirely intended to be a balance knob, but rather intended to prevent accidentally scanning the same person in quick succession.
scan_rangeRange that we can scan people

Procs

scan_targetAttempts to scan a human's outfit
+

Var Details

scan_cooldown + + + + +

+

Cooldown between scans. +Not entirely intended to be a balance knob, but rather intended to prevent accidentally scanning the same person in quick succession.

scan_range + + + + +

+

Range that we can scan people

Proc Details

scan_target +

+

Attempts to scan a human's outfit

+
    +
  • scanned - the atom being scanned.
  • +
  • scanner - the mob doing the scanning
  • +
+

Returns null or a list of paths scanned. Will not return an empty list.

+ + + diff --git a/obj/item/changeling/id.html b/obj/item/changeling/id.html new file mode 100644 index 00000000000..2b9117a880b --- /dev/null +++ b/obj/item/changeling/id.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/changeling/id - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

id + + + +

+ + + + +

Vars

cached_flat_iconCached flat icon of the ID
hud_iconHUD job icon of the ID

Procs

get_cached_flat_iconReturns cached flat icon of the ID, creates one if there is not one already cached
+

Var Details

cached_flat_icon + + + + +

+

Cached flat icon of the ID

hud_icon + + + + +

+

HUD job icon of the ID

Proc Details

get_cached_flat_icon +

+

Returns cached flat icon of the ID, creates one if there is not one already cached

+ + + diff --git a/obj/item/chisel.html b/obj/item/chisel.html new file mode 100644 index 00000000000..d0033d11315 --- /dev/null +++ b/obj/item/chisel.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/chisel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chisel + + + +

+ +

Other Stuff

+ + + + + +

Vars

prepared_blockBlock we're currently carving in
sculptingCurrently sculpting
tracked_userIf tracked user moves we stop sculpting

Procs

set_blockTo setup the sculpting target for the carving block
start_sculptingStarts or continues the sculpting action on the carving block material
stop_sculptingCancel the sculpting action
+

Var Details

prepared_block + + + + +

+

Block we're currently carving in

sculpting + + + + +

+

Currently sculpting

tracked_user + + + + +

+

If tracked user moves we stop sculpting

Proc Details

set_block +

+

To setup the sculpting target for the carving block

start_sculpting +

+

Starts or continues the sculpting action on the carving block material

stop_sculpting +

+

Cancel the sculpting action

+ + + diff --git a/obj/item/choice_beacon.html b/obj/item/choice_beacon.html new file mode 100644 index 00000000000..45cd2d1b8e5 --- /dev/null +++ b/obj/item/choice_beacon.html @@ -0,0 +1,87 @@ + + + + + + + /obj/item/choice_beacon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

choice_beacon + + + +

+ + + + + + + + + +

Vars

company_messageUsed inthe deployment message - What is the company saying with their message, flavor
company_sourceUsed in the deployment message - What company is sending the equipment, flavor
usesHow many uses this item has before being deleted

Procs

can_use_beaconChecks if this mob can use the beacon, returns TRUE if so or FALSE otherwise.
consume_useConsumes a use of the beacon, sending the user a message and creating their item in the process
generate_display_namesReturn the list that will be used in the choice selection. +Entries should be in (type.name = type) fashion.
open_options_menuOpens a menu and allows the mob to pick an option from the list
spawn_optionActually spawns the item selected by the user
+

Var Details

company_message + + + + +

+

Used inthe deployment message - What is the company saying with their message, flavor

company_source + + + + +

+

Used in the deployment message - What company is sending the equipment, flavor

uses + + + + +

+

How many uses this item has before being deleted

Proc Details

can_use_beacon +

+

Checks if this mob can use the beacon, returns TRUE if so or FALSE otherwise.

consume_use +

+

Consumes a use of the beacon, sending the user a message and creating their item in the process

generate_display_names +

+

Return the list that will be used in the choice selection. +Entries should be in (type.name = type) fashion.

open_options_menu +

+

Opens a menu and allows the mob to pick an option from the list

spawn_option +

+

Actually spawns the item selected by the user

+ + + diff --git a/obj/item/circuit_component.html b/obj/item/circuit_component.html new file mode 100644 index 00000000000..bab824738cf --- /dev/null +++ b/obj/item/circuit_component.html @@ -0,0 +1,391 @@ + + + + + + + /obj/item/circuit_component - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Integrated Circuit Component + + + +

+ +

A component that performs a function when given an input

+

Can be attached to an integrated circuitboard, where it can then +be connected between other components to provide an output or to receive +an input. This is the base type of all components

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

categoryThe category of the component in the UI
circuit_flagsThe flags of the circuit to control basic generalised behaviour.
circuit_sizeDetermines the amount of space this circuit occupies in an integrated circuit.
display_nameThe name of the component shown on the UI
input_portsA list that contains the components the input ports on this component +Used to connect between the ports
output_portsA list that contains the outpurt ports on this component +Used to connect between the ports
parentThe integrated_circuit that this component is attached to.
power_usage_per_inputThe power usage whenever this component receives an input
rel_xUsed to determine the x position of the component within the UI
rel_yUsed to determine the y position of the component within the UI
removableWhether the component is removable or not. Only affects user UI
required_shellsDefines which shells support this component. Only used as an informational guide, does not restrict placing these components in circuits.
trigger_inputGeneric trigger input for triggering this component
ui_buttonsThe UI buttons of this circuit component. An assoc list that has this format: "button_icon" = "action_name"
ui_colorThe colour this circuit component appears in the UI

Procs

add_input_portAdds an input port and returns it
add_option_portExtension of add_input_port. Simplifies the code to make an option port to reduce boilerplate
add_output_portAdds an output port and returns it
add_toCalled when this component is about to be added to an integrated_circuit.
create_table_noticesCreates a table UI notice entry to be used in get_ui_notices()
create_ui_noticeCreates a UI notice entry to be used in get_ui_notices()
disconnectDisconnects a component from other components
get_locationCalled when trying to get the physical location of this object
get_ui_noticesGets the UI notices to be displayed on the CircuitInfo panel.
input_receivedCalled from trigger_component. General component behaviour should go in this proc. This is the default proc that is called if no trigger proc is specified.
load_data_from_listLoads data from a list
populate_optionsCalled when the option ports should be set up
populate_portsCalled when the rest of the ports should be set up
pre_input_receivedCalled before input_received and should_receive_input. Used to perform behaviour that shouldn't care whether the input should be received or not.
register_shellCalled when a shell is registered from the component/the component is added to a circuit.
register_usb_parentCalled when a circuit component is added to an object with a USB port.
remove_input_portRemoves an input port and deletes it. This will not cleanup any references made by derivatives of the circuit component
remove_output_portRemoves an output port and deletes it. This will not cleanup any references made by derivatives of the circuit component
removed_fromCalled when this component is removed from an integrated_circuit.
save_data_to_listSaves data to a list. Shouldn't be used unless you are quite literally saving the data of a component to a list. Input value is the list to save the data to
should_receive_inputCalled whether this circuit component should receive an input. +If this returns false, the proc that is supposed to be triggered will not be called and an output signal will not be sent. +This is to only return false if flow of execution should be stopped because something bad has happened (e.g. no power) +Returning no value in input_received() is not an issue because it means flow of execution will continue even if the component failed to execute properly.
trigger_componentCalled whenever an input is received from one of the ports.
ui_perform_actionCalled when a special button is pressed on this component in the UI.
unregister_shellCalled when a shell is unregistered from the component/the component is removed from a circuit.
unregister_usb_parentCalled when a circuit component is removed from an object with a USB port.
+

Var Details

category + + + + +

+

The category of the component in the UI

circuit_flags + + + + +

+

The flags of the circuit to control basic generalised behaviour.

circuit_size + + + + +

+

Determines the amount of space this circuit occupies in an integrated circuit.

display_name + + + + +

+

The name of the component shown on the UI

input_ports + + + + +

+

A list that contains the components the input ports on this component +Used to connect between the ports

output_ports + + + + +

+

A list that contains the outpurt ports on this component +Used to connect between the ports

parent + + + + +

+

The integrated_circuit that this component is attached to.

power_usage_per_input + + + + +

+

The power usage whenever this component receives an input

rel_x + + + + +

+

Used to determine the x position of the component within the UI

rel_y + + + + +

+

Used to determine the y position of the component within the UI

removable + + + + +

+

Whether the component is removable or not. Only affects user UI

required_shells + + + + +

+

Defines which shells support this component. Only used as an informational guide, does not restrict placing these components in circuits.

trigger_input + + + + +

+

Generic trigger input for triggering this component

ui_buttons + + + + +

+

The UI buttons of this circuit component. An assoc list that has this format: "button_icon" = "action_name"

ui_color + + + + +

+

The colour this circuit component appears in the UI

Proc Details

add_input_port +

+

Adds an input port and returns it

+

Arguments:

+
    +
  • name - The name of the input port
  • +
  • type - The datatype it handles
  • +
  • trigger - Whether this input port triggers an update on the component when updated.
  • +

add_option_port +

+

Extension of add_input_port. Simplifies the code to make an option port to reduce boilerplate

add_output_port +

+

Adds an output port and returns it

+

Arguments:

+
    +
  • name - The name of the output port
  • +
  • type - The datatype it handles.
  • +

add_to +

+

Called when this component is about to be added to an integrated_circuit.

create_table_notices +

+

Creates a table UI notice entry to be used in get_ui_notices()

+

Returns a list that can then be added to the return list in get_ui_notices() +Used by components to list their available columns. Recommended to use at the end of get_ui_notices()

create_ui_notice +

+

Creates a UI notice entry to be used in get_ui_notices()

+

Returns a list that can then be added to the return list in get_ui_notices()

disconnect +

+

Disconnects a component from other components

+

Disconnects both the input and output ports of the component

get_location +

+

Called when trying to get the physical location of this object

get_ui_notices +

+

Gets the UI notices to be displayed on the CircuitInfo panel.

+

Returns a list of buttons in the following format +list( +"icon" = ICON(string) +"content" = CONTENT(string) +"color" = COLOR(string, not a hex) +)

input_received +

+

Called from trigger_component. General component behaviour should go in this proc. This is the default proc that is called if no trigger proc is specified.

+

Return value indicates that the circuit should not send an output signal. +Arguments:

+
    +
  • port - Can be null. The port that sent the input
  • +
  • return_values - Only defined if the component is receiving an input due to instant execution. Contains the values to be returned once execution has stopped.
  • +

load_data_from_list +

+

Loads data from a list

populate_options +

+

Called when the option ports should be set up

populate_ports +

+

Called when the rest of the ports should be set up

pre_input_received +

+

Called before input_received and should_receive_input. Used to perform behaviour that shouldn't care whether the input should be received or not.

register_shell +

+

Called when a shell is registered from the component/the component is added to a circuit.

+

Register all signals here on the shell. +Arguments:

+
    +
  • shell - Shell being registered
  • +

register_usb_parent +

+

Called when a circuit component is added to an object with a USB port.

+

Arguments:

+
    +
  • shell - The object that USB cables can connect to
  • +

remove_input_port +

+

Removes an input port and deletes it. This will not cleanup any references made by derivatives of the circuit component

+

Arguments:

+
    +
  • input_port - The input port to remove.
  • +

remove_output_port +

+

Removes an output port and deletes it. This will not cleanup any references made by derivatives of the circuit component

+

Arguments:

+
    +
  • output_port - The output port to remove.
  • +

removed_from +

+

Called when this component is removed from an integrated_circuit.

save_data_to_list +

+

Saves data to a list. Shouldn't be used unless you are quite literally saving the data of a component to a list. Input value is the list to save the data to

should_receive_input +

+

Called whether this circuit component should receive an input. +If this returns false, the proc that is supposed to be triggered will not be called and an output signal will not be sent. +This is to only return false if flow of execution should be stopped because something bad has happened (e.g. no power) +Returning no value in input_received() is not an issue because it means flow of execution will continue even if the component failed to execute properly.

+

Return value indicates whether or not +Arguments:

+
    +
  • port - Can be null. The port that sent the input
  • +

trigger_component +

+

Called whenever an input is received from one of the ports.

+

Return value indicates whether the trigger was successful or not. +Arguments:

+
    +
  • port - Can be null. The port that sent the input
  • +
  • return_values - Only defined if the component is receiving an input due to instant execution. Contains the values to be returned once execution has stopped.
  • +

ui_perform_action +

+

Called when a special button is pressed on this component in the UI.

+

Arguments:

+
    +
  • user - Interacting mob
  • +
  • action - A string for which action is being performed. No parameters passed because it's only a button press.
  • +

unregister_shell +

+

Called when a shell is unregistered from the component/the component is removed from a circuit.

+

Unregister all signals here on the shell. +Arguments:

+
    +
  • shell - Shell being unregistered
  • +

unregister_usb_parent +

+

Called when a circuit component is removed from an object with a USB port.

+

Arguments:

+
    +
  • shell - The object that USB cables can connect to
  • +
+ + + diff --git a/obj/item/circuit_component/air_alarm_general.html b/obj/item/circuit_component/air_alarm_general.html new file mode 100644 index 00000000000..3d67df86345 --- /dev/null +++ b/obj/item/circuit_component/air_alarm_general.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/air_alarm_general - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

air_alarm_general + + + +

+ + + + + + + +

Vars

current_modeThe current set mode
disable_fire_alarmDisables the fire alarm
enable_fire_alarmEnables the fire alarm
fire_alarm_enabledWhether the fire alarm is enabled or not
modeThe mode to set the air alarm to
set_modeThe trigger to set the mode
+

Var Details

current_mode + + + + +

+

The current set mode

disable_fire_alarm + + + + +

+

Disables the fire alarm

enable_fire_alarm + + + + +

+

Enables the fire alarm

fire_alarm_enabled + + + + +

+

Whether the fire alarm is enabled or not

mode + + + + +

+

The mode to set the air alarm to

set_mode + + + + +

+

The trigger to set the mode

+ + + diff --git a/obj/item/circuit_component/air_alarm_scrubbers.html b/obj/item/circuit_component/air_alarm_scrubbers.html new file mode 100644 index 00000000000..8b0db718ad3 --- /dev/null +++ b/obj/item/circuit_component/air_alarm_scrubbers.html @@ -0,0 +1,120 @@ + + + + + + + /obj/item/circuit_component/air_alarm_scrubbers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

air_alarm_scrubbers + + + +

+ + + + + + + + + + + + + + +

Vars

disableDisables the scrubber
disable_extended_rangeDisables extended range
disable_siphonDisables siphoning
enableEnables the scrubber
enable_extended_rangeEnables extended range
enable_siphonEnables siphoning
enabledWhether the scrubber is enabled or not
filteringInformation based on what the scrubber is filtering. Outputs null if the scrubber is siphoning
gas_filterGas to filter using the scrubber
is_siphoningWhether the scrubber is siphoning or not
request_updateRequests an update of the data
set_gas_filterSets the filter
update_receivedSent when an update is received
+

Var Details

disable + + + + +

+

Disables the scrubber

disable_extended_range + + + + +

+

Disables extended range

disable_siphon + + + + +

+

Disables siphoning

enable + + + + +

+

Enables the scrubber

enable_extended_range + + + + +

+

Enables extended range

enable_siphon + + + + +

+

Enables siphoning

enabled + + + + +

+

Whether the scrubber is enabled or not

filtering + + + + +

+

Information based on what the scrubber is filtering. Outputs null if the scrubber is siphoning

gas_filter + + + + +

+

Gas to filter using the scrubber

is_siphoning + + + + +

+

Whether the scrubber is siphoning or not

request_update + + + + +

+

Requests an update of the data

set_gas_filter + + + + +

+

Sets the filter

update_received + + + + +

+

Sent when an update is received

+ + + diff --git a/obj/item/circuit_component/air_alarm_vents.html b/obj/item/circuit_component/air_alarm_vents.html new file mode 100644 index 00000000000..853a9525f46 --- /dev/null +++ b/obj/item/circuit_component/air_alarm_vents.html @@ -0,0 +1,155 @@ + + + + + + + /obj/item/circuit_component/air_alarm_vents - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

air_alarm_vents + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

current_external_pressureReported external pressure
current_internal_pressureReported internal pressure
disableDisables the vent
disable_externalDisables external
disable_internalDisables internal
disable_siphonDisables siphoning
enableEnables the vent
enable_externalEnables external
enable_internalEnables internal
enable_siphonEnables siphoning
enabledWhether the scrubber is enabled or not
external_onWhether external pressure is on or not
external_pressureExternal target pressure
internal_onWhether internal pressure is on or not
internal_pressureInternal target pressure
is_siphoningWhether the scrubber is siphoning or not
request_updateRequests an update of the data
update_receivedSent when an update is received
+

Var Details

current_external_pressure + + + + +

+

Reported external pressure

current_internal_pressure + + + + +

+

Reported internal pressure

disable + + + + +

+

Disables the vent

disable_external + + + + +

+

Disables external

disable_internal + + + + +

+

Disables internal

disable_siphon + + + + +

+

Disables siphoning

enable + + + + +

+

Enables the vent

enable_external + + + + +

+

Enables external

enable_internal + + + + +

+

Enables internal

enable_siphon + + + + +

+

Enables siphoning

enabled + + + + +

+

Whether the scrubber is enabled or not

external_on + + + + +

+

Whether external pressure is on or not

external_pressure + + + + +

+

External target pressure

internal_on + + + + +

+

Whether internal pressure is on or not

internal_pressure + + + + +

+

Internal target pressure

is_siphoning + + + + +

+

Whether the scrubber is siphoning or not

request_update + + + + +

+

Requests an update of the data

update_received + + + + +

+

Sent when an update is received

+ + + diff --git a/obj/item/circuit_component/airlock.html b/obj/item/circuit_component/airlock.html new file mode 100644 index 00000000000..999fae564aa --- /dev/null +++ b/obj/item/circuit_component/airlock.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/circuit_component/airlock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

airlock + + + +

+ + + + + + + + + + + + +

Vars

attached_airlockThe shell, if it is an airlock.
boltBolts the airlock (if possible)
boltedCalled when the airlock is bolted
closeCloses the airlock (if possible)
closedCalled when the airlock is closed
is_boltedContains whether the airlock is bolted or not
is_openContains whether the airlock is open or not
openOpens the airlock (if possible)
openedCalled when the airlock is opened.
unboltUnbolts the airlock (if possible)
unboltedCalled when the airlock is unbolted
+

Var Details

attached_airlock + + + + +

+

The shell, if it is an airlock.

bolt + + + + +

+

Bolts the airlock (if possible)

bolted + + + + +

+

Called when the airlock is bolted

close + + + + +

+

Closes the airlock (if possible)

closed + + + + +

+

Called when the airlock is closed

is_bolted + + + + +

+

Contains whether the airlock is bolted or not

is_open + + + + +

+

Contains whether the airlock is open or not

open + + + + +

+

Opens the airlock (if possible)

opened + + + + +

+

Called when the airlock is opened.

unbolt + + + + +

+

Unbolts the airlock (if possible)

unbolted + + + + +

+

Called when the airlock is unbolted

+ + + diff --git a/obj/item/circuit_component/airlock_access_event.html b/obj/item/circuit_component/airlock_access_event.html new file mode 100644 index 00000000000..38d43064f7b --- /dev/null +++ b/obj/item/circuit_component/airlock_access_event.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/airlock_access_event - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

airlock_access_event + + + +

+ + + + + +

Vars

accessing_entityThe person trying to open the airlock.
attached_airlockThe shell, if it is an airlock.
event_triggeredThe signal sent when this event is triggered
open_airlockTells the event to open the airlock.
+

Var Details

accessing_entity + + + + +

+

The person trying to open the airlock.

attached_airlock + + + + +

+

The shell, if it is an airlock.

event_triggered + + + + +

+

The signal sent when this event is triggered

open_airlock + + + + +

+

Tells the event to open the airlock.

+ + + diff --git a/obj/item/circuit_component/arctan2.html b/obj/item/circuit_component/arctan2.html new file mode 100644 index 00000000000..8d1718e3221 --- /dev/null +++ b/obj/item/circuit_component/arctan2.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/arctan2 - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Arctangent 2 function + + + +

+ +

A variant of arctan. When given a deltaX and deltaY, returns the angle. I will blow you out of the sky

+ + +

Vars

input_port_xThe input port for the x-offset
input_port_yThe input port for the y-offset
outputThe result from the output
+

Var Details

input_port_x + + + + +

+

The input port for the x-offset

input_port_y + + + + +

+

The input port for the y-offset

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/arithmetic.html b/obj/item/circuit_component/arithmetic.html new file mode 100644 index 00000000000..8ddeea6dc07 --- /dev/null +++ b/obj/item/circuit_component/arithmetic.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/circuit_component/arithmetic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Arithmetic Component + + + +

+ +

General arithmetic unit with add/sub/mult/divide capabilities +This one only works with numbers.

+

Vars

outputThe result from the output
+

Var Details

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/arrest_console_arrest.html b/obj/item/circuit_component/arrest_console_arrest.html new file mode 100644 index 00000000000..3a9b269332e --- /dev/null +++ b/obj/item/circuit_component/arrest_console_arrest.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/arrest_console_arrest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

arrest_console_arrest + + + +

+ + + + + +

Vars

new_statusSets the new status of the targets.
new_status_setReturns the new status set once the setting is complete. Good for locating errors.
on_failSends a signal on failure
targetsThe targets to set the status of.
+

Var Details

new_status + + + + +

+

Sets the new status of the targets.

new_status_set + + + + +

+

Returns the new status set once the setting is complete. Good for locating errors.

on_fail + + + + +

+

Sends a signal on failure

targets + + + + +

+

The targets to set the status of.

+ + + diff --git a/obj/item/circuit_component/arrest_console_data.html b/obj/item/circuit_component/arrest_console_data.html new file mode 100644 index 00000000000..9bbf5837f2e --- /dev/null +++ b/obj/item/circuit_component/arrest_console_data.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/arrest_console_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

arrest_console_data + + + +

+ +

Security circuit component

+ +

Vars

on_failSends a signal on failure
recordsThe records retrieved
+

Var Details

on_fail + + + + +

+

Sends a signal on failure

records + + + + +

+

The records retrieved

+ + + diff --git a/obj/item/circuit_component/assoc_literal.html b/obj/item/circuit_component/assoc_literal.html new file mode 100644 index 00000000000..17e063aa72e --- /dev/null +++ b/obj/item/circuit_component/assoc_literal.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/assoc_literal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Assoc List Literal Component + + + +

+ +

Return an associative list literal.

+ + + +

Vars

entry_portsThe inputs used to create the list
key_portsThe inputs used to create the list
list_optionsThe list type
list_outputThe result from the output
+

Var Details

entry_ports + + + + +

+

The inputs used to create the list

key_ports + + + + +

+

The inputs used to create the list

list_options + + + + +

+

The list type

list_output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/atmos_meter.html b/obj/item/circuit_component/atmos_meter.html new file mode 100644 index 00000000000..5b99e048c0f --- /dev/null +++ b/obj/item/circuit_component/atmos_meter.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/atmos_meter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

atmos_meter + + + +

+ + + + + +

Vars

connected_meterThe component parent object
pressurePressure of the pipenet
request_dataSignals the circuit to retrieve the pipenet's current pressure and temperature
temperatureTemperature of the pipenet
+

Var Details

connected_meter + + + + +

+

The component parent object

pressure + + + + +

+

Pressure of the pipenet

request_data + + + + +

+

Signals the circuit to retrieve the pipenet's current pressure and temperature

temperature + + + + +

+

Temperature of the pipenet

+ + + diff --git a/obj/item/circuit_component/atmos_pump.html b/obj/item/circuit_component/atmos_pump.html new file mode 100644 index 00000000000..b1f9f1aa055 --- /dev/null +++ b/obj/item/circuit_component/atmos_pump.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/circuit_component/atmos_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

atmos_pump + + + +

+ + + + + + + + + + + + + +

Vars

connected_pumpThe component parent object
input_pressurePressure of the input port
input_temperatureTemperature of the input port
is_activeWhether the pump is currently active
offDeactivate the pump
onActivate the pump
output_pressurePressure of the output port
output_temperatureTemperature of the output port
pressure_valueSet the target pressure of the pump
request_dataSignals the circuit to retrieve the pump's current pressure and temperature
turned_offSend a signal when the pump is turned off
turned_onSend a signal when the pump is turned on
+

Var Details

connected_pump + + + + +

+

The component parent object

input_pressure + + + + +

+

Pressure of the input port

input_temperature + + + + +

+

Temperature of the input port

is_active + + + + +

+

Whether the pump is currently active

off + + + + +

+

Deactivate the pump

on + + + + +

+

Activate the pump

output_pressure + + + + +

+

Pressure of the output port

output_temperature + + + + +

+

Temperature of the output port

pressure_value + + + + +

+

Set the target pressure of the pump

request_data + + + + +

+

Signals the circuit to retrieve the pump's current pressure and temperature

turned_off + + + + +

+

Send a signal when the pump is turned off

turned_on + + + + +

+

Send a signal when the pump is turned on

+ + + diff --git a/obj/item/circuit_component/atmos_volume_pump.html b/obj/item/circuit_component/atmos_volume_pump.html new file mode 100644 index 00000000000..f0add834904 --- /dev/null +++ b/obj/item/circuit_component/atmos_volume_pump.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/circuit_component/atmos_volume_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

atmos_volume_pump + + + +

+ + + + + + + + + + + + + +

Vars

connected_pumpThe component parent object
input_pressurePressure of the input port
input_temperatureTemperature of the input port
is_activeWhether the pump is currently active
offDeactivate the pump
onActivate the pump
output_pressurePressure of the output port
output_temperatureTemperature of the output port
request_dataSignals the circuit to retrieve the pump's current pressure and temperature
transfer_rateSet the transfer rate of the pump
turned_offSend a signal when the pump is turned off
turned_onSend a signal when the pump is turned on
+

Var Details

connected_pump + + + + +

+

The component parent object

input_pressure + + + + +

+

Pressure of the input port

input_temperature + + + + +

+

Temperature of the input port

is_active + + + + +

+

Whether the pump is currently active

off + + + + +

+

Deactivate the pump

on + + + + +

+

Activate the pump

output_pressure + + + + +

+

Pressure of the output port

output_temperature + + + + +

+

Temperature of the output port

request_data + + + + +

+

Signals the circuit to retrieve the pump's current pressure and temperature

transfer_rate + + + + +

+

Set the transfer rate of the pump

turned_off + + + + +

+

Send a signal when the pump is turned off

turned_on + + + + +

+

Send a signal when the pump is turned on

+ + + diff --git a/obj/item/circuit_component/bci_core.html b/obj/item/circuit_component/bci_core.html new file mode 100644 index 00000000000..baa437a57f5 --- /dev/null +++ b/obj/item/circuit_component/bci_core.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/bci_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bci_core + + + +

+ + +

Vars

charge_actionA reference to the action button to look at charge/get info
+

Var Details

charge_action + + + + +

+

A reference to the action button to look at charge/get info

+ + + diff --git a/obj/item/circuit_component/begin_animation.html b/obj/item/circuit_component/begin_animation.html new file mode 100644 index 00000000000..462eea8d45d --- /dev/null +++ b/obj/item/circuit_component/begin_animation.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/circuit_component/begin_animation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

begin_animation + + + +

+ + + + + + + + +

Vars

animate_eventCalled when performing the animation.
animation_loopsThe amount of times this animation will loop
atom_or_filterWhether we are animating an atom or a filter on the atom
filter_targetThe filter to animate
parallelUsed to determine if the animation runs in parallel or not.
stop_all_animationsCalled to stop all animations on this object
targetThe target to animate
+

Var Details

animate_event + + + + +

+

Called when performing the animation.

animation_loops + + + + +

+

The amount of times this animation will loop

atom_or_filter + + + + +

+

Whether we are animating an atom or a filter on the atom

filter_target + + + + +

+

The filter to animate

parallel + + + + +

+

Used to determine if the animation runs in parallel or not.

stop_all_animations + + + + +

+

Called to stop all animations on this object

target + + + + +

+

The target to animate

+ + + diff --git a/obj/item/circuit_component/binary_conversion.html b/obj/item/circuit_component/binary_conversion.html new file mode 100644 index 00000000000..34f18425b96 --- /dev/null +++ b/obj/item/circuit_component/binary_conversion.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/binary_conversion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Binary Conversion Component + + + +

+ +

Return an array of binary digits from a number input.

+ +

Vars

bit_arrayMany binary digits
numberOne number
+

Var Details

bit_array + + + + +

+

Many binary digits

number + + + + +

+

One number

+ + + diff --git a/obj/item/circuit_component/bot.html b/obj/item/circuit_component/bot.html new file mode 100644 index 00000000000..10f124e3387 --- /dev/null +++ b/obj/item/circuit_component/bot.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/bot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bot + + + +

+ + + +

Vars

entityThe user who used the bot
signalCalled when attack_hand is called on the shell.
+

Var Details

entity + + + + +

+

The user who used the bot

signal + + + + +

+

Called when attack_hand is called on the shell.

+ + + diff --git a/obj/item/circuit_component/bot_circuit.html b/obj/item/circuit_component/bot_circuit.html new file mode 100644 index 00000000000..5ffc66c5aee --- /dev/null +++ b/obj/item/circuit_component/bot_circuit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/bot_circuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bot_circuit + + + +

+ + + +

Vars

move_delayDelay between each movement
northThe inputs to allow for the drone to move
+

Var Details

move_delay + + + + +

+

Delay between each movement

north + + + + +

+

The inputs to allow for the drone to move

+ + + diff --git a/obj/item/circuit_component/camera.html b/obj/item/circuit_component/camera.html new file mode 100644 index 00000000000..67408a209d5 --- /dev/null +++ b/obj/item/circuit_component/camera.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/circuit_component/camera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

camera + + + +

+ + + + + + + + +

Vars

adjust_size_xAdjusts the picture_size_x variable of the camera.
adjust_size_yIdem but for picture_size_y.
cameraThe camera this circut is attached to.
photographed_atomThe atom that was photographed from either user click or trigger input.
picture_coord_xIf the above is unset, these coordinates will be used.
picture_takenThe item that was added/removed.
picture_targetIf set, the trigger input will target this atom.
+

Var Details

adjust_size_x + + + + +

+

Adjusts the picture_size_x variable of the camera.

adjust_size_y + + + + +

+

Idem but for picture_size_y.

camera + + + + +

+

The camera this circut is attached to.

photographed_atom + + + + +

+

The atom that was photographed from either user click or trigger input.

picture_coord_x + + + + +

+

If the above is unset, these coordinates will be used.

picture_taken + + + + +

+

The item that was added/removed.

picture_target + + + + +

+

If set, the trigger input will target this atom.

+ + + diff --git a/obj/item/circuit_component/clock.html b/obj/item/circuit_component/clock.html new file mode 100644 index 00000000000..99297df2bff --- /dev/null +++ b/obj/item/circuit_component/clock.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/circuit_component/clock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Clock Component + + + +

+ +

Fires every tick of the circuit timer SS

+ + + +

Vars

onWhether the clock is on or not
signalThe signal from this clock component

Procs

start_processAdds the component to the SSclock_component process list
stop_processRemoves the component to the SSclock_component process list
+

Var Details

on + + + + +

+

Whether the clock is on or not

signal + + + + +

+

The signal from this clock component

Proc Details

start_process +

+

Adds the component to the SSclock_component process list

+

Starts ticking to send signals between periods of time

stop_process +

+

Removes the component to the SSclock_component process list

+

Signals stop getting sent.

+ + + diff --git a/obj/item/circuit_component/compact_remote.html b/obj/item/circuit_component/compact_remote.html new file mode 100644 index 00000000000..0d971e1f5c4 --- /dev/null +++ b/obj/item/circuit_component/compact_remote.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/compact_remote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

compact_remote + + + +

+ + + + +

Vars

entityThe user who used the bot
signalCalled when attack_self is called on the shell.

Procs

send_triggerCalled when the shell item is used in hand.
+

Var Details

entity + + + + +

+

The user who used the bot

signal + + + + +

+

Called when attack_self is called on the shell.

Proc Details

send_trigger +

+

Called when the shell item is used in hand.

+ + + diff --git a/obj/item/circuit_component/compare.html b/obj/item/circuit_component/compare.html new file mode 100644 index 00000000000..a4d2ceeb4a6 --- /dev/null +++ b/obj/item/circuit_component/compare.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/compare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Compare Component + + + +

+ +

Abstract component to build conditional components

+ + + + +

Vars

compareThe trigger for the true/false signals
resultThe result from the output
trueSignals sent on compare

Procs

do_comparisonsDo the comparisons and return a result
populate_custom_portsUsed by derivatives to load their own ports in for custom use.
+

Var Details

compare + + + + +

+

The trigger for the true/false signals

result + + + + +

+

The result from the output

true + + + + +

+

Signals sent on compare

Proc Details

do_comparisons +

+

Do the comparisons and return a result

populate_custom_ports +

+

Used by derivatives to load their own ports in for custom use.

+ + + diff --git a/obj/item/circuit_component/compare/access.html b/obj/item/circuit_component/compare/access.html new file mode 100644 index 00000000000..026fdd285bd --- /dev/null +++ b/obj/item/circuit_component/compare/access.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/compare/access - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

access + + + +

+ + + + +

Vars

check_anyWhether to check for all or any of the required accesses
required_accessesA list of the accesses required to return true
subject_accessesA list of the accesses to check
+

Var Details

check_any + + + + +

+

Whether to check for all or any of the required accesses

required_accesses + + + + +

+

A list of the accesses required to return true

subject_accesses + + + + +

+

A list of the accesses to check

+ + + diff --git a/obj/item/circuit_component/compare/comparison.html b/obj/item/circuit_component/compare/comparison.html new file mode 100644 index 00000000000..1caa719bac2 --- /dev/null +++ b/obj/item/circuit_component/compare/comparison.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/compare/comparison - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Comparison Component + + + +

+ +

Compares two objects

+ +

Vars

first_portFirst value to compare with the second value
second_portSecond value to compare with the first value
+

Var Details

first_port + + + + +

+

First value to compare with the second value

second_port + + + + +

+

Second value to compare with the first value

+ + + diff --git a/obj/item/circuit_component/compare/logic.html b/obj/item/circuit_component/compare/logic.html new file mode 100644 index 00000000000..8478fd646cd --- /dev/null +++ b/obj/item/circuit_component/compare/logic.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/compare/logic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Logic Component + + + +

+ +

General logic unit with AND OR capabilities

+

Vars

comparison_portsPorts to do comparisons with
+

Var Details

comparison_ports + + + + +

+

Ports to do comparisons with

+ + + diff --git a/obj/item/circuit_component/compare/typecheck.html b/obj/item/circuit_component/compare/typecheck.html new file mode 100644 index 00000000000..1058083fd52 --- /dev/null +++ b/obj/item/circuit_component/compare/typecheck.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/compare/typecheck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Typecheck Component + + + +

+ +

Checks the type of a value

+

Vars

thing_to_checkObject to typecheck
+

Var Details

thing_to_check + + + + +

+

Object to typecheck

+ + + diff --git a/obj/item/circuit_component/concat.html b/obj/item/circuit_component/concat.html new file mode 100644 index 00000000000..e9e0caa7e28 --- /dev/null +++ b/obj/item/circuit_component/concat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/concat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Concatenate Component + + + +

+ +

General string concatenation component. Puts strings together.

+

Vars

outputThe result from the output
+

Var Details

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/concat_list.html b/obj/item/circuit_component/concat_list.html new file mode 100644 index 00000000000..73e9389a31e --- /dev/null +++ b/obj/item/circuit_component/concat_list.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/concat_list - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Concat List Component + + + +

+ +

Concatenates a list with a separator

+ + +

Vars

list_portThe input port
outputThe result from the output
separatorThe seperator
+

Var Details

list_port + + + + +

+

The input port

output + + + + +

+

The result from the output

separator + + + + +

+

The seperator

+ + + diff --git a/obj/item/circuit_component/controller.html b/obj/item/circuit_component/controller.html new file mode 100644 index 00000000000..08e098cbd7f --- /dev/null +++ b/obj/item/circuit_component/controller.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

controller + + + +

+ + + + + + +

Vars

entityThe entity output
signalThe three separate buttons that are called in attack_hand on the shell.

Procs

send_alternate_signalCalled when the shell item is alt-clicked
send_right_signalCalled when the shell item is right-clicked in active hand
send_triggerCalled when the shell item is used in hand
+

Var Details

entity + + + + +

+

The entity output

signal + + + + +

+

The three separate buttons that are called in attack_hand on the shell.

Proc Details

send_alternate_signal +

+

Called when the shell item is alt-clicked

send_right_signal +

+

Called when the shell item is right-clicked in active hand

send_trigger +

+

Called when the shell item is used in hand

+ + + diff --git a/obj/item/circuit_component/conveyor_switch.html b/obj/item/circuit_component/conveyor_switch.html new file mode 100644 index 00000000000..58157669d63 --- /dev/null +++ b/obj/item/circuit_component/conveyor_switch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/conveyor_switch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

conveyor_switch + + + +

+ + + +

Vars

attached_switchThe switch this conveyor switch component is attached to.
directionThe current direction of the conveyor attached to the component.
+

Var Details

attached_switch + + + + +

+

The switch this conveyor switch component is attached to.

direction + + + + +

+

The current direction of the conveyor attached to the component.

+ + + diff --git a/obj/item/circuit_component/decimal_conversion.html b/obj/item/circuit_component/decimal_conversion.html new file mode 100644 index 00000000000..1c40549292d --- /dev/null +++ b/obj/item/circuit_component/decimal_conversion.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/decimal_conversion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Decimal Conversion Component + + + +

+ +

Return a number from an array of binary inputs.

+ +

Vars

bit_arrayMany binary digits
numberOne number
+

Var Details

bit_array + + + + +

+

Many binary digits

number + + + + +

+

One number

+ + + diff --git a/obj/item/circuit_component/delay.html b/obj/item/circuit_component/delay.html new file mode 100644 index 00000000000..494bcc73171 --- /dev/null +++ b/obj/item/circuit_component/delay.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/delay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Delay Component + + + +

+ +

Delays a signal by a specified duration.

+ + + +

Vars

delay_amountAmount to delay by
interruptInterrupts the delay before it fires
outputThe output of the signal
triggerInput signal to fire the delay
+

Var Details

delay_amount + + + + +

+

Amount to delay by

interrupt + + + + +

+

Interrupts the delay before it fires

output + + + + +

+

The output of the signal

trigger + + + + +

+

Input signal to fire the delay

+ + + diff --git a/obj/item/circuit_component/digital_valve.html b/obj/item/circuit_component/digital_valve.html new file mode 100644 index 00000000000..dd44a633cec --- /dev/null +++ b/obj/item/circuit_component/digital_valve.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/digital_valve - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

digital_valve + + + +

+ + + + + + +

Vars

closeCloses the digital valve
closedSent when the valve is closed
is_openWhether the valve is currently open
openOpens the digital valve
openedSent when the valve is opened
+

Var Details

close + + + + +

+

Closes the digital valve

closed + + + + +

+

Sent when the valve is closed

is_open + + + + +

+

Whether the valve is currently open

open + + + + +

+

Opens the digital valve

opened + + + + +

+

Sent when the valve is opened

+ + + diff --git a/obj/item/circuit_component/direction.html b/obj/item/circuit_component/direction.html new file mode 100644 index 00000000000..39e9ae879d6 --- /dev/null +++ b/obj/item/circuit_component/direction.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/direction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Direction Component + + + +

+ +

Return the direction of a mob relative to the component

+ + +

Vars

input_portThe input port
max_rangeMaximum range for a valid direction to be returned
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

max_range + + + + +

+

Maximum range for a valid direction to be returned

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/dispenser_bot.html b/obj/item/circuit_component/dispenser_bot.html new file mode 100644 index 00000000000..4b772068639 --- /dev/null +++ b/obj/item/circuit_component/dispenser_bot.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/dispenser_bot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dispenser_bot + + + +

+ + + + + + +

Vars

itemThe item that was added/removed.
item_listThe list of items
on_item_addedCalled when an item is added.
on_item_removedCalled when an item is removed.
vendor_componentsVendor components attached to this dispenser bot
+

Var Details

item + + + + +

+

The item that was added/removed.

item_list + + + + +

+

The list of items

on_item_added + + + + +

+

Called when an item is added.

on_item_removed + + + + +

+

Called when an item is removed.

vendor_components + + + + +

+

Vendor components attached to this dispenser bot

+ + + diff --git a/obj/item/circuit_component/equipment_action.html b/obj/item/circuit_component/equipment_action.html new file mode 100644 index 00000000000..807b0562e16 --- /dev/null +++ b/obj/item/circuit_component/equipment_action.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/equipment_action - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

equipment_action + + + +

+ + + + +

Vars

button_nameThe name to use for the button
icon_optionsThe icon of the button
signalCalled when the user presses the button
+

Var Details

button_name + + + + +

+

The name to use for the button

icon_options + + + + +

+

The icon of the button

signal + + + + +

+

Called when the user presses the button

+ + + diff --git a/obj/item/circuit_component/equipment_action/bci.html b/obj/item/circuit_component/equipment_action/bci.html new file mode 100644 index 00000000000..b1f63410845 --- /dev/null +++ b/obj/item/circuit_component/equipment_action/bci.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/equipment_action/bci - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bci + + + +

+ + +

Vars

bci_actionA reference to the action button itself
+

Var Details

bci_action + + + + +

+

A reference to the action button itself

+ + + diff --git a/obj/item/circuit_component/filter_list.html b/obj/item/circuit_component/filter_list.html new file mode 100644 index 00000000000..862fdc51900 --- /dev/null +++ b/obj/item/circuit_component/filter_list.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/circuit_component/filter_list - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

For Each Component + + + +

+ +

Filters

+ + + + + + + + + +

Vars

accept_entryAdds the list to the result
current_indexThe current index from the list
elementThe current element from the list
finished_listThe finished list
limitThe limit of iterations before it breaks. Used to prevent from someone iterating a massive list constantly
list_optionsThe list type
list_to_filterThe list to filter over
on_failedA signal that is sent when the filtering has failed
on_finishedA signal that is sent when the filtering has finished
on_next_indexA signal that is sent when the list has moved onto the next index.
+

Var Details

accept_entry + + + + +

+

Adds the list to the result

current_index + + + + +

+

The current index from the list

element + + + + +

+

The current element from the list

finished_list + + + + +

+

The finished list

limit + + + + +

+

The limit of iterations before it breaks. Used to prevent from someone iterating a massive list constantly

list_options + + + + +

+

The list type

list_to_filter + + + + +

+

The list to filter over

on_failed + + + + +

+

A signal that is sent when the filtering has failed

on_finished + + + + +

+

A signal that is sent when the filtering has finished

on_next_index + + + + +

+

A signal that is sent when the list has moved onto the next index.

+ + + diff --git a/obj/item/circuit_component/firealarm.html b/obj/item/circuit_component/firealarm.html new file mode 100644 index 00000000000..e11adeb0541 --- /dev/null +++ b/obj/item/circuit_component/firealarm.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/firealarm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

firealarm + + + +

+ + + + +

Vars

is_onReturns a boolean value of 0 or 1 if the fire alarm is on or not.
resetReturns when the alarm is turned off
triggeredReturns when the alarm is turned on
+

Var Details

is_on + + + + +

+

Returns a boolean value of 0 or 1 if the fire alarm is on or not.

reset + + + + +

+

Returns when the alarm is turned off

triggered + + + + +

+

Returns when the alarm is turned on

+ + + diff --git a/obj/item/circuit_component/foreach.html b/obj/item/circuit_component/foreach.html new file mode 100644 index 00000000000..28dd3e7c918 --- /dev/null +++ b/obj/item/circuit_component/foreach.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/circuit_component/foreach - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

For Each Component + + + +

+ +

Sends a signal for each item in a list

+ + + + + + + +

Vars

current_indexThe current index from the list
elementThe current element from the list
list_optionsThe list type
list_to_iterateThe list to iterate over
next_indexMove to the next index
on_finishedA signal that is sent when the list has finished iterating
on_next_indexA signal that is sent when the list has moved onto the next index.
reset_indexResets the index to 0
+

Var Details

current_index + + + + +

+

The current index from the list

element + + + + +

+

The current element from the list

list_options + + + + +

+

The list type

list_to_iterate + + + + +

+

The list to iterate over

next_index + + + + +

+

Move to the next index

on_finished + + + + +

+

A signal that is sent when the list has finished iterating

on_next_index + + + + +

+

A signal that is sent when the list has moved onto the next index.

reset_index + + + + +

+

Resets the index to 0

+ + + diff --git a/obj/item/circuit_component/format.html b/obj/item/circuit_component/format.html new file mode 100644 index 00000000000..6be8653d4f9 --- /dev/null +++ b/obj/item/circuit_component/format.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/circuit_component/format - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Format List Component + + + +

+ +

Formats lists by replacing %n in format string with nth parameter. +Alternative to the Concatenate component.

+ + +

Vars

outputThe result from the output
param_regexThe regex used to find a parameter.

Procs

get_list_itemGet an item from the list. +Return null to indicate invalid index. +Arguments:
+

Var Details

output + + + + +

+

The result from the output

param_regex + + + + +

+

The regex used to find a parameter.

Proc Details

get_list_item +

+

Get an item from the list. +Return null to indicate invalid index. +Arguments:

+
    +
  • param_list - The resolved list.
  • +
  • index_string - The raw list index, as a string.
  • +
+ + + diff --git a/obj/item/circuit_component/get_column.html b/obj/item/circuit_component/get_column.html new file mode 100644 index 00000000000..94bb030c905 --- /dev/null +++ b/obj/item/circuit_component/get_column.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/get_column - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Get Column Component + + + +

+ +

Gets the column of a table and returns it as a regular list.

+ + +

Vars

column_nameThe name of the column to check
output_listThe filtered list
received_tableThe list to perform the filter on
+

Var Details

column_name + + + + +

+

The name of the column to check

output_list + + + + +

+

The filtered list

received_table + + + + +

+

The list to perform the filter on

+ + + diff --git a/obj/item/circuit_component/get_variable.html b/obj/item/circuit_component/get_variable.html new file mode 100644 index 00000000000..88ea57947b5 --- /dev/null +++ b/obj/item/circuit_component/get_variable.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/get_variable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Get Variable Component + + + +

+ +

A component that gets a variable on an object

+ + + + +

Vars

entityEntity to get variable of
expected_output_typeExpected type of output
getvar_optionsWhether to grab a global variable or a variable from this entity.
output_valueVariable value
variable_nameVariable name
+

Var Details

entity + + + + +

+

Entity to get variable of

expected_output_type + + + + +

+

Expected type of output

getvar_options + + + + +

+

Whether to grab a global variable or a variable from this entity.

output_value + + + + +

+

Variable value

variable_name + + + + +

+

Variable name

+ + + diff --git a/obj/item/circuit_component/gps.html b/obj/item/circuit_component/gps.html new file mode 100644 index 00000000000..696dbf4d344 --- /dev/null +++ b/obj/item/circuit_component/gps.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/gps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

GPS Component + + + +

+ +

Return the location of this

+

Vars

x_posThe result from the output
+

Var Details

x_pos + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/health.html b/obj/item/circuit_component/health.html new file mode 100644 index 00000000000..56dc0e741eb --- /dev/null +++ b/obj/item/circuit_component/health.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/health - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Get Health Component + + + +

+ +

Return the health of a mob

+ + + + + +

Vars

bruteBrute damage
burnBurn damage
healthHealth
input_portThe input port
oxyOxyloss damage
toxinToxin damage
+

Var Details

brute + + + + +

+

Brute damage

burn + + + + +

+

Burn damage

health + + + + +

+

Health

input_port + + + + +

+

The input port

oxy + + + + +

+

Oxyloss damage

toxin + + + + +

+

Toxin damage

+ + + diff --git a/obj/item/circuit_component/hear.html b/obj/item/circuit_component/hear.html new file mode 100644 index 00000000000..7360194ac18 --- /dev/null +++ b/obj/item/circuit_component/hear.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/hear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Hear Component + + + +

+ +

Listens for messages. Requires a shell.

+ + + + +

Vars

language_portThe language heard
message_portThe message heard
speaker_nameThe speaker name port, usually the name of the person who spoke.
speaker_portThe speaker entity that is currently speaking. Not necessarily the person who is speaking.
trigger_portThe trigger sent when this event occurs
+

Var Details

language_port + + + + +

+

The language heard

message_port + + + + +

+

The message heard

speaker_name + + + + +

+

The speaker name port, usually the name of the person who spoke.

speaker_port + + + + +

+

The speaker entity that is currently speaking. Not necessarily the person who is speaking.

trigger_port + + + + +

+

The trigger sent when this event occurs

+ + + diff --git a/obj/item/circuit_component/hydroponics.html b/obj/item/circuit_component/hydroponics.html new file mode 100644 index 00000000000..00c545386e7 --- /dev/null +++ b/obj/item/circuit_component/hydroponics.html @@ -0,0 +1,120 @@ + + + + + + + /obj/item/circuit_component/hydroponics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hydroponics + + + +

+ +

The usb port circuit

+ + + + + + + + + + + + +

Vars

is_self_sustainingWhether the self sustaining mode is on
last_harvestThe product amount of the last harvest
pests_levelThe amount of pests in the tray.
plant_diedTriggered when the plant dies
plant_harvestedTriggered when the plant is harvested
plant_healthThe health of the plant in the tray.
plant_statusWhether the plant in the tray is harvestable, alive, missing or dead.
reagents_levelThe amount of reagents in the tray
seeds_plantedTriggered when a seed is either planted by someone or takes over the tray.
selfsustaining_settingIf self-sustaining (also called auto-grow) should be turned on or off when the trigger is triggered.
toxic_levelThe amount of toxins in the tray.
water_levelThe amount of water in the tray.
weeds_levelThe amount of weeds in the tray.
+

Var Details

is_self_sustaining + + + + +

+

Whether the self sustaining mode is on

last_harvest + + + + +

+

The product amount of the last harvest

pests_level + + + + +

+

The amount of pests in the tray.

plant_died + + + + +

+

Triggered when the plant dies

plant_harvested + + + + +

+

Triggered when the plant is harvested

plant_health + + + + +

+

The health of the plant in the tray.

plant_status + + + + +

+

Whether the plant in the tray is harvestable, alive, missing or dead.

reagents_level + + + + +

+

The amount of reagents in the tray

seeds_planted + + + + +

+

Triggered when a seed is either planted by someone or takes over the tray.

selfsustaining_setting + + + + +

+

If self-sustaining (also called auto-grow) should be turned on or off when the trigger is triggered.

toxic_level + + + + +

+

The amount of toxins in the tray.

water_level + + + + +

+

The amount of water in the tray.

weeds_level + + + + +

+

The amount of weeds in the tray.

+ + + diff --git a/obj/item/circuit_component/id_access_reader.html b/obj/item/circuit_component/id_access_reader.html new file mode 100644 index 00000000000..c6c2264e90d --- /dev/null +++ b/obj/item/circuit_component/id_access_reader.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/id_access_reader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

id_access_reader + + + +

+ + + +

Vars

access_portA list of the accesses on the ID
targetThe input port
+

Var Details

access_port + + + + +

+

A list of the accesses on the ID

target + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/id_getter.html b/obj/item/circuit_component/id_getter.html new file mode 100644 index 00000000000..2d2200b3aaa --- /dev/null +++ b/obj/item/circuit_component/id_getter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/id_getter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

id_getter + + + +

+ + + + +

Vars

id_portThe reference to the ID
prioritize_handsWhether to prioritize the target's hands when checking for an ID
targetThe input port
+

Var Details

id_port + + + + +

+

The reference to the ID

prioritize_hands + + + + +

+

Whether to prioritize the target's hands when checking for an ID

target + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/id_info_reader.html b/obj/item/circuit_component/id_info_reader.html new file mode 100644 index 00000000000..2bb9e96d786 --- /dev/null +++ b/obj/item/circuit_component/id_info_reader.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/id_info_reader - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

id_info_reader + + + +

+ + + + + +

Vars

age_portThe age registered on the ID
name_portThe name registered on the ID
rank_portThe rank registered on the ID
targetThe input port
+

Var Details

age_port + + + + +

+

The age registered on the ID

name_port + + + + +

+

The name registered on the ID

rank_port + + + + +

+

The rank registered on the ID

target + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/index.html b/obj/item/circuit_component/index.html new file mode 100644 index 00000000000..3089c3acee9 --- /dev/null +++ b/obj/item/circuit_component/index.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/index - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Index Component + + + +

+ +

Return the index of a list

+ + +

Vars

list_optionsThe list type
list_portThe input port
outputThe result from the output
+

Var Details

list_options + + + + +

+

The list type

list_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/index_table.html b/obj/item/circuit_component/index_table.html new file mode 100644 index 00000000000..565e131d920 --- /dev/null +++ b/obj/item/circuit_component/index_table.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/index_table - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Index Table Component + + + +

+ +

Gets the row of a table as an associative list using the index inputted. Will return no value if the index is invalid or a proper table is not returned.

+ + +

Vars

output_listThe filtered list
received_tableThe list to perform the filter on
target_indexThe target index
+

Var Details

output_list + + + + +

+

The filtered list

received_table + + + + +

+

The list to perform the filter on

target_index + + + + +

+

The target index

+ + + diff --git a/obj/item/circuit_component/input_request.html b/obj/item/circuit_component/input_request.html new file mode 100644 index 00000000000..6587bc8e7f8 --- /dev/null +++ b/obj/item/circuit_component/input_request.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/circuit_component/input_request - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Input Request Component + + + +

+ +

Requests an input from someone.

+ + + + + +

Vars

entityThe input path to convert into a typepath
input_failedTriggered when the player fails to give an input.
input_optionsOptions for input requests
input_responseThe response from the player
input_triggeredTriggered when the input is received
parameterThe custom parameter of the option
+

Var Details

entity + + + + +

+

The input path to convert into a typepath

input_failed + + + + +

+

Triggered when the player fails to give an input.

input_options + + + + +

+

Options for input requests

input_response + + + + +

+

The response from the player

input_triggered + + + + +

+

Triggered when the input is received

parameter + + + + +

+

The custom parameter of the option

+ + + diff --git a/obj/item/circuit_component/keyboard_shell.html b/obj/item/circuit_component/keyboard_shell.html new file mode 100644 index 00000000000..abf897f192d --- /dev/null +++ b/obj/item/circuit_component/keyboard_shell.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/keyboard_shell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

keyboard_shell + + + +

+ + + + +

Vars

entityEntity who used the shell
outputThe string, entity typed and submitted
signalCalled when the input window is closed
+

Var Details

entity + + + + +

+

Entity who used the shell

output + + + + +

+

The string, entity typed and submitted

signal + + + + +

+

Called when the input window is closed

+ + + diff --git a/obj/item/circuit_component/laserpointer.html b/obj/item/circuit_component/laserpointer.html new file mode 100644 index 00000000000..20f7a24c097 --- /dev/null +++ b/obj/item/circuit_component/laserpointer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/laserpointer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

laser pointer Component + + + +

+ +

Points a laser at a tile or mob

+

Vars

target_inputThe input port
+

Var Details

target_input + + + + +

+

The input port

+ + + diff --git a/obj/item/circuit_component/length.html b/obj/item/circuit_component/length.html new file mode 100644 index 00000000000..f8e9929a6ca --- /dev/null +++ b/obj/item/circuit_component/length.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/length - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Length Component + + + +

+ +

Return the length of an input

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/light.html b/obj/item/circuit_component/light.html new file mode 100644 index 00000000000..2748c0582a5 --- /dev/null +++ b/obj/item/circuit_component/light.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/circuit_component/light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light + + + +

+ +

no stunning, just a blind

+Light Component +

Emits a light of a specific brightness and colour. Requires a shell.

+ + +

Vars

brightnessThe brightness
onWhether the light is on or not
redThe colours of the light
+

Var Details

brightness + + + + +

+

The brightness

on + + + + +

+

Whether the light is on or not

red + + + + +

+

The colours of the light

+ + + diff --git a/obj/item/circuit_component/light_switch.html b/obj/item/circuit_component/light_switch.html new file mode 100644 index 00000000000..1c812ffa63a --- /dev/null +++ b/obj/item/circuit_component/light_switch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/light_switch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light_switch + + + +

+ + + +

Vars

is_onWhether the lights are turned on
on_settingIf the lights should be turned on or off when the trigger is triggered.
+

Var Details

is_on + + + + +

+

Whether the lights are turned on

on_setting + + + + +

+

If the lights should be turned on or off when the trigger is triggered.

+ + + diff --git a/obj/item/circuit_component/list_literal.html b/obj/item/circuit_component/list_literal.html new file mode 100644 index 00000000000..603a8d6d352 --- /dev/null +++ b/obj/item/circuit_component/list_literal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/list_literal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

List Literal Component + + + +

+ +

Return a list literal.

+ + +

Vars

entry_portsThe inputs used to create the list
list_optionsThe list type
list_outputThe result from the output
+

Var Details

entry_ports + + + + +

+

The inputs used to create the list

list_options + + + + +

+

The list type

list_output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/list_pick.html b/obj/item/circuit_component/list_pick.html new file mode 100644 index 00000000000..7c4f3d80102 --- /dev/null +++ b/obj/item/circuit_component/list_pick.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/circuit_component/list_pick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

List pick component + + + +

+ +

Allows user to select 1 entry from a list

+ + + + + + + +

Vars

failureEither it was canceld or out of range
input_listThe list that will be shown to the user
input_nameName passed onto the TGUI(gives the UI a name)
list_optionsThe data type of the input_list
outputWhat was picked from input_list
successA value was picked
userThe user to show the list too

Procs

show_listShow a list of options to the user using standed TGUI input list
+

Var Details

failure + + + + +

+

Either it was canceld or out of range

input_list + + + + +

+

The list that will be shown to the user

input_name + + + + +

+

Name passed onto the TGUI(gives the UI a name)

list_options + + + + +

+

The data type of the input_list

output + + + + +

+

What was picked from input_list

success + + + + +

+

A value was picked

user + + + + +

+

The user to show the list too

Proc Details

show_list +

+

Show a list of options to the user using standed TGUI input list

+ + + diff --git a/obj/item/circuit_component/listin.html b/obj/item/circuit_component/listin.html new file mode 100644 index 00000000000..25bdc1fe162 --- /dev/null +++ b/obj/item/circuit_component/listin.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/circuit_component/listin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

List Find Component + + + +

+ +

Finds an element in a list and returns the index.

+ + + + + + +

Vars

foundSignal to say we have found the element.
indexIndex of the element if found.
list_to_checkList to check
list_typeThe list type we're checking
not_foundSignal to say we haven't found the element.
resultResult of the search
to_checkElement to check
+

Var Details

found + + + + +

+

Signal to say we have found the element.

index + + + + +

+

Index of the element if found.

list_to_check + + + + +

+

List to check

list_type + + + + +

+

The list type we're checking

not_found + + + + +

+

Signal to say we haven't found the element.

result + + + + +

+

Result of the search

to_check + + + + +

+

Element to check

+ + + diff --git a/obj/item/circuit_component/matscanner.html b/obj/item/circuit_component/matscanner.html new file mode 100644 index 00000000000..f0dce60f4cd --- /dev/null +++ b/obj/item/circuit_component/matscanner.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/matscanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Material Scanner + + + +

+ +

Returns the materials of an atom

+ +

Vars

break_down_alloysWhether we consider the materials alloys are made when scanning.
resultThe result from the output
+

Var Details

break_down_alloys + + + + +

+

Whether we consider the materials alloys are made when scanning.

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/medical_console_data.html b/obj/item/circuit_component/medical_console_data.html new file mode 100644 index 00000000000..5af58ea3408 --- /dev/null +++ b/obj/item/circuit_component/medical_console_data.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/medical_console_data - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medical_console_data + + + +

+ + +

Vars

recordsThe records retrieved
+

Var Details

records + + + + +

+

The records retrieved

+ + + diff --git a/obj/item/circuit_component/mmi.html b/obj/item/circuit_component/mmi.html new file mode 100644 index 00000000000..85dc955ecce --- /dev/null +++ b/obj/item/circuit_component/mmi.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/circuit_component/mmi - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Man-Machine Interface Component + + + +

+ +

Allows an MMI to be inserted into a shell, allowing it to be linked up. Requires a shell.

+ + + + + + + + + + + +

Vars

attackCalled when the MMI clicks.
brainThe current MMI card
clicked_atomReturns what the MMI last clicked on.
eastCalled when the MMI tries moving east
ejectEjects the current MMI
max_lengthMaximum length of the message that can be sent to the MMI
messageThe message to send to the MMI in the shell.
northCalled when the MMI tries moving north
secondary_attackCalled when the MMI right clicks.
sendSends the current MMI a message
southCalled when the MMI tries moving south
westCalled when the MMI tries moving west
+

Var Details

attack + + + + +

+

Called when the MMI clicks.

brain + + + + +

+

The current MMI card

clicked_atom + + + + +

+

Returns what the MMI last clicked on.

east + + + + +

+

Called when the MMI tries moving east

eject + + + + +

+

Ejects the current MMI

max_length + + + + +

+

Maximum length of the message that can be sent to the MMI

message + + + + +

+

The message to send to the MMI in the shell.

north + + + + +

+

Called when the MMI tries moving north

secondary_attack + + + + +

+

Called when the MMI right clicks.

send + + + + +

+

Sends the current MMI a message

south + + + + +

+

Called when the MMI tries moving south

west + + + + +

+

Called when the MMI tries moving west

+ + + diff --git a/obj/item/circuit_component/mod_adapter_core.html b/obj/item/circuit_component/mod_adapter_core.html new file mode 100644 index 00000000000..2519490d320 --- /dev/null +++ b/obj/item/circuit_component/mod_adapter_core.html @@ -0,0 +1,120 @@ + + + + + + + /obj/item/circuit_component/mod_adapter_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod_adapter_core + + + +

+ + + + + + + + + + + + + + +

Vars

activatedWhether or not the suit is activated
attached_moduleThe MODsuit module this circuit is associated with
deployedWhether or not the suit is deployed
deployed_partsA list of the names of all currently deployed parts
module_to_selectThe name of the module to select
on_deployThe signal that is triggered when the suit is deployed by a signal
on_module_selectedThe signal that is triggered when a module is selected
on_toggle_finishThe signal that is triggered when the suit has finished toggling itself after being activated by a signal
select_moduleThe signal to select a module
selected_moduleThe name of the last selected module
toggle_deployThe signal to toggle deployment of the modsuit
toggle_suitThe signal to toggle the suit
wearerA reference to the wearer of the MODsuit
+

Var Details

activated + + + + +

+

Whether or not the suit is activated

attached_module + + + + +

+

The MODsuit module this circuit is associated with

deployed + + + + +

+

Whether or not the suit is deployed

deployed_parts + + + + +

+

A list of the names of all currently deployed parts

module_to_select + + + + +

+

The name of the module to select

on_deploy + + + + +

+

The signal that is triggered when the suit is deployed by a signal

on_module_selected + + + + +

+

The signal that is triggered when a module is selected

on_toggle_finish + + + + +

+

The signal that is triggered when the suit has finished toggling itself after being activated by a signal

select_module + + + + +

+

The signal to select a module

selected_module + + + + +

+

The name of the last selected module

toggle_deploy + + + + +

+

The signal to toggle deployment of the modsuit

toggle_suit + + + + +

+

The signal to toggle the suit

wearer + + + + +

+

A reference to the wearer of the MODsuit

+ + + diff --git a/obj/item/circuit_component/module.html b/obj/item/circuit_component/module.html new file mode 100644 index 00000000000..aa14745fc30 --- /dev/null +++ b/obj/item/circuit_component/module.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/module - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Module Component + + + +

+ +

A component that has an input, output

+

Vars

linked_portsLinked ports that follow a first_port = second_port keyed structure.
+

Var Details

linked_ports + + + + +

+

Linked ports that follow a first_port = second_port keyed structure.

+ + + diff --git a/obj/item/circuit_component/module_input.html b/obj/item/circuit_component/module_input.html new file mode 100644 index 00000000000..d3dd307ccd4 --- /dev/null +++ b/obj/item/circuit_component/module_input.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/module_input - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

module_input + + + +

+ + +

Vars

attached_moduleThe currently attached module
+

Var Details

attached_module + + + + +

+

The currently attached module

+ + + diff --git a/obj/item/circuit_component/module_output.html b/obj/item/circuit_component/module_output.html new file mode 100644 index 00000000000..7d44b84b97a --- /dev/null +++ b/obj/item/circuit_component/module_output.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/module_output - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

module_output + + + +

+ + +

Vars

attached_moduleThe currently attached module
+

Var Details

attached_module + + + + +

+

The currently attached module

+ + + diff --git a/obj/item/circuit_component/money_bot.html b/obj/item/circuit_component/money_bot.html new file mode 100644 index 00000000000..7612cebd4b5 --- /dev/null +++ b/obj/item/circuit_component/money_bot.html @@ -0,0 +1,68 @@ + + + + + + + /obj/item/circuit_component/money_bot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

money_bot + + + +

+ + + + + + +

Vars

entityThe person who input the money
money_inputAmount of the last money inputted into the shell
money_triggerTrigger for when money is inputted into the shell
total_moneyTotal money in the shell

Procs

on_set_lockedLocks the attached bot when the circuit is locked.
+

Var Details

entity + + + + +

+

The person who input the money

money_input + + + + +

+

Amount of the last money inputted into the shell

money_trigger + + + + +

+

Trigger for when money is inputted into the shell

total_money + + + + +

+

Total money in the shell

Proc Details

on_set_locked +

+

Locks the attached bot when the circuit is locked.

+

Arguments:

+
    +
  • new_value - A boolean that determines if the circuit is locked or not.
  • +
+ + + diff --git a/obj/item/circuit_component/money_dispenser.html b/obj/item/circuit_component/money_dispenser.html new file mode 100644 index 00000000000..b367172b8e7 --- /dev/null +++ b/obj/item/circuit_component/money_dispenser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/money_dispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

money_dispenser + + + +

+ + + +

Vars

dispense_amountThe amount of money to dispense
on_failOutputs a signal when it fails to output any money.
+

Var Details

dispense_amount + + + + +

+

The amount of money to dispense

on_fail + + + + +

+

Outputs a signal when it fails to output any money.

+ + + diff --git a/obj/item/circuit_component/not.html b/obj/item/circuit_component/not.html new file mode 100644 index 00000000000..aa36001430e --- /dev/null +++ b/obj/item/circuit_component/not.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/not - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Logic Component + + + +

+ +

General logic unit with AND OR capabilities

+ +

Vars

input_portThe input port
resultThe result from the output
+

Var Details

input_port + + + + +

+

The input port

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/ntnet_receive.html b/obj/item/circuit_component/ntnet_receive.html new file mode 100644 index 00000000000..7a1c11feee8 --- /dev/null +++ b/obj/item/circuit_component/ntnet_receive.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/ntnet_receive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

NTNet Receiver Component + + + +

+ +

Receives data through NTNet.

+ + +

Vars

data_packageData being received
enc_keyEncryption key
list_optionsThe list type
+

Var Details

data_package + + + + +

+

Data being received

enc_key + + + + +

+

Encryption key

list_options + + + + +

+

The list type

+ + + diff --git a/obj/item/circuit_component/ntnet_send.html b/obj/item/circuit_component/ntnet_send.html new file mode 100644 index 00000000000..9595d9b4785 --- /dev/null +++ b/obj/item/circuit_component/ntnet_send.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/ntnet_send - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

NTNet Transmitter Component + + + +

+ +

Sends a data package through NTNet

+ + +

Vars

data_packageData being sent
enc_keyEncryption key
list_optionsThe list type
+

Var Details

data_package + + + + +

+

Data being sent

enc_key + + + + +

+

Encryption key

list_options + + + + +

+

The list type

+ + + diff --git a/obj/item/circuit_component/object_overlay.html b/obj/item/circuit_component/object_overlay.html new file mode 100644 index 00000000000..196ca957786 --- /dev/null +++ b/obj/item/circuit_component/object_overlay.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/object_overlay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

object_overlay + + + +

+ + + +

Vars

signal_onOn/Off signals
targetTarget atom
+

Var Details

signal_on + + + + +

+

On/Off signals

target + + + + +

+

Target atom

+ + + diff --git a/obj/item/circuit_component/pressuresensor.html b/obj/item/circuit_component/pressuresensor.html new file mode 100644 index 00000000000..62f4a6c70d0 --- /dev/null +++ b/obj/item/circuit_component/pressuresensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/pressuresensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Pressure Sensor + + + +

+ +

Returns the pressure of the tile

+

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/proccall.html b/obj/item/circuit_component/proccall.html new file mode 100644 index 00000000000..f895dc6e798 --- /dev/null +++ b/obj/item/circuit_component/proccall.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/proccall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Proc Call Component + + + +

+ +

A component that calls a proc on an object and outputs the return value

+ + + + +

Vars

argumentsA list of arguments
entityEntity to proccall on
output_valueReturns the output from the proccall
proc_nameProc to call
resolve_weakrefWhether we resolve all the weakrefs passed as arguments
+

Var Details

arguments + + + + +

+

A list of arguments

entity + + + + +

+

Entity to proccall on

output_value + + + + +

+

Returns the output from the proccall

proc_name + + + + +

+

Proc to call

resolve_weakref + + + + +

+

Whether we resolve all the weakrefs passed as arguments

+ + + diff --git a/obj/item/circuit_component/pull.html b/obj/item/circuit_component/pull.html new file mode 100644 index 00000000000..1bf185cff7e --- /dev/null +++ b/obj/item/circuit_component/pull.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/pull - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Pull Component + + + +

+ +

Tells the shell to start pulling on a designated atom. Only works on movable shells.

+

Vars

targetFrequency input
+

Var Details

target + + + + +

+

Frequency input

+ + + diff --git a/obj/item/circuit_component/radio.html b/obj/item/circuit_component/radio.html new file mode 100644 index 00000000000..f6b1419acfb --- /dev/null +++ b/obj/item/circuit_component/radio.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/circuit_component/radio - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Radio Component + + + +

+ +

Listens out for signals on the designated frequencies and sends signals on designated frequencies

+ + + + + + + +

Vars

codeSignal input
current_freqCurrent frequency value
freqFrequency input
owner_ckeyThe ckey of the user who used the shell we were placed in, important for signalling logs.
parent_shellHolds a reference to the shell.
public_optionsThe publicity options. Controls whether it's public or private.
radio_connectionThe radio connection we are using to receive signals.
signal_cooldown_timeHow long of a cooldown we have before we can send another signal.
+

Var Details

code + + + + +

+

Signal input

current_freq + + + + +

+

Current frequency value

freq + + + + +

+

Frequency input

owner_ckey + + + + +

+

The ckey of the user who used the shell we were placed in, important for signalling logs.

parent_shell + + + + +

+

Holds a reference to the shell.

public_options + + + + +

+

The publicity options. Controls whether it's public or private.

radio_connection + + + + +

+

The radio connection we are using to receive signals.

signal_cooldown_time + + + + +

+

How long of a cooldown we have before we can send another signal.

+ + + diff --git a/obj/item/circuit_component/random.html b/obj/item/circuit_component/random.html new file mode 100644 index 00000000000..289ae6ed027 --- /dev/null +++ b/obj/item/circuit_component/random.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Random Component + + + +

+ +

Generates a random number between specific values

+ + +

Vars

maximumThe maximum value that the random number can be
minimumThe minimum value that the random number can be
outputThe result from the output
+

Var Details

maximum + + + + +

+

The maximum value that the random number can be

minimum + + + + +

+

The minimum value that the random number can be

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/reagentscanner.html b/obj/item/circuit_component/reagentscanner.html new file mode 100644 index 00000000000..dc8c07442e3 --- /dev/null +++ b/obj/item/circuit_component/reagentscanner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/reagentscanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Reagents Scanner + + + +

+ +

Returns the reagentss of an atom

+

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/reflector.html b/obj/item/circuit_component/reflector.html new file mode 100644 index 00000000000..03340b37b7a --- /dev/null +++ b/obj/item/circuit_component/reflector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/reflector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

reflector + + + +

+ + +

Vars

angleangle the reflector will be set to at trigger unless locked
+

Var Details

angle + + + + +

+

angle the reflector will be set to at trigger unless locked

+ + + diff --git a/obj/item/circuit_component/router.html b/obj/item/circuit_component/router.html new file mode 100644 index 00000000000..9a214d51c22 --- /dev/null +++ b/obj/item/circuit_component/router.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/router - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Router Component + + + +

+ +

Writes one of multiple inputs to one of multiple outputs.

+ + + +

Vars

current_typeCurrent type of the ports
input_port_amountHow many ports to have.
input_selectorWhich ports to connect.
insThe ports to route.
+

Var Details

current_type + + + + +

+

Current type of the ports

input_port_amount + + + + +

+

How many ports to have.

input_selector + + + + +

+

Which ports to connect.

ins + + + + +

+

The ports to route.

+ + + diff --git a/obj/item/circuit_component/save_shell.html b/obj/item/circuit_component/save_shell.html new file mode 100644 index 00000000000..5e90e8d610b --- /dev/null +++ b/obj/item/circuit_component/save_shell.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/save_shell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Save Shell Component + + + +

+ +

A component that saves and loads a shell for the integrated circuit.

+

Vars

on_loadedReturns the output from the proccall
+

Var Details

on_loaded + + + + +

+

Returns the output from the proccall

+ + + diff --git a/obj/item/circuit_component/scanner_gate.html b/obj/item/circuit_component/scanner_gate.html new file mode 100644 index 00000000000..8f80cb26c0a --- /dev/null +++ b/obj/item/circuit_component/scanner_gate.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/circuit_component/scanner_gate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

scanner_gate + + + +

+ + +

Procs

on_set_lockedLocks the attached bot when the circuit is locked.

Proc Details

on_set_locked +

+

Locks the attached bot when the circuit is locked.

+

Arguments:

+
    +
  • new_value - A boolean that determines if the circuit is locked or not.
  • +
+ + + diff --git a/obj/item/circuit_component/sdql_operation.html b/obj/item/circuit_component/sdql_operation.html new file mode 100644 index 00000000000..3e810aefb86 --- /dev/null +++ b/obj/item/circuit_component/sdql_operation.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/sdql_operation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

SDQL Component + + + +

+ +

A component that performs an sdql operation

+

Vars

sdql_operationSDQL Operation to invoke
+

Var Details

sdql_operation + + + + +

+

SDQL Operation to invoke

+ + + diff --git a/obj/item/circuit_component/select.html b/obj/item/circuit_component/select.html new file mode 100644 index 00000000000..d83553d4a68 --- /dev/null +++ b/obj/item/circuit_component/select.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/select - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Select Component + + + +

+ +

Selects a list from a list of lists by a specific column. Used only by USBs for communications to and from computers with lists of varying sizes.

+ + + +

Vars

column_nameThe name of the column to check
comparison_inputThe input to compare with
filtered_tableThe filtered list
received_tableThe list to perform the filter on
+

Var Details

column_name + + + + +

+

The name of the column to check

comparison_input + + + + +

+

The input to compare with

filtered_table + + + + +

+

The filtered list

received_table + + + + +

+

The list to perform the filter on

+ + + diff --git a/obj/item/circuit_component/self.html b/obj/item/circuit_component/self.html new file mode 100644 index 00000000000..03ad614ef66 --- /dev/null +++ b/obj/item/circuit_component/self.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/self - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Self Component + + + +

+ +

Return the current shell.

+ +

Vars

outputThe shell this component is attached to.
shell_receivedThe signal sent when the status is updated.
+

Var Details

output + + + + +

+

The shell this component is attached to.

shell_received + + + + +

+

The signal sent when the status is updated.

+ + + diff --git a/obj/item/circuit_component/set_variable.html b/obj/item/circuit_component/set_variable.html new file mode 100644 index 00000000000..bf69e96e824 --- /dev/null +++ b/obj/item/circuit_component/set_variable.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/set_variable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Set Variable Component + + + +

+ +

A component that sets a variable on an object

+ + + +

Vars

entityEntity to set variable of
new_valueNew value to set the variable name to.
resolve_weakrefsWhether to resolve weakrefs or not
variable_nameVariable name
+

Var Details

entity + + + + +

+

Entity to set variable of

new_value + + + + +

+

New value to set the variable name to.

resolve_weakrefs + + + + +

+

Whether to resolve weakrefs or not

variable_name + + + + +

+

Variable name

+ + + diff --git a/obj/item/circuit_component/signal_handler.html b/obj/item/circuit_component/signal_handler.html new file mode 100644 index 00000000000..f0b1f47306b --- /dev/null +++ b/obj/item/circuit_component/signal_handler.html @@ -0,0 +1,134 @@ + + + + + + + /obj/item/circuit_component/signal_handler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Signal Handler Component + + + +

+ +

A component that registers signals on events and listens for them.

+ + + + + + + + + + + + + + +

Vars

custom_signalWhether it is a custom signal id or not.
entityThe entity received from the event.
event_triggeredThe event has been triggered
input_signal_portsThe custom input from the current signal type.
instantWhether this executes instantly or not. If set to 0, this will not execute instantly.
output_signal_portsThe custom output from the current signal type.
registerRegisters the signal
registered_entitiesThe current entities that have the signal registered on it
registered_signalThe current registered signal
signal_handler_optionsWhether it is a global or object signal
signal_idThe list of signal IDs that can be selected as an option.
signal_portsThe custom signal ports from the current signal type. Used for saving and loading.
targetEntity to register the signal on
unregisterUnregisters the signal on the target.
unregister_allUnregisters the signal from everyone.
+

Var Details

custom_signal + + + + +

+

Whether it is a custom signal id or not.

entity + + + + +

+

The entity received from the event.

event_triggered + + + + +

+

The event has been triggered

input_signal_ports + + + + +

+

The custom input from the current signal type.

instant + + + + +

+

Whether this executes instantly or not. If set to 0, this will not execute instantly.

output_signal_ports + + + + +

+

The custom output from the current signal type.

register + + + + +

+

Registers the signal

registered_entities + + + + +

+

The current entities that have the signal registered on it

registered_signal + + + + +

+

The current registered signal

signal_handler_options + + + + +

+

Whether it is a global or object signal

signal_id + + + + +

+

The list of signal IDs that can be selected as an option.

signal_ports + + + + +

+

The custom signal ports from the current signal type. Used for saving and loading.

target + + + + +

+

Entity to register the signal on

unregister + + + + +

+

Unregisters the signal on the target.

unregister_all + + + + +

+

Unregisters the signal from everyone.

+ + + diff --git a/obj/item/circuit_component/soundemitter.html b/obj/item/circuit_component/soundemitter.html new file mode 100644 index 00000000000..3bbeb8e058e --- /dev/null +++ b/obj/item/circuit_component/soundemitter.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/circuit_component/soundemitter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Sound Emitter Component + + + +

+ +

A component that emits a sound when it receives an input.

+ + + + + + + +

Vars

backwardsWhether to play the sound backwards
frequencyFrequency of the sound when played
max_pitchThe maximum pitch this component can play sounds at.
max_volumeThe maximum volume this component can play sounds at.
min_pitchThe minimum pitch this component can play sounds at.
sound_cooldownThe cooldown for this component of how often it can play sounds.
sound_fileSound to play
volumeVolume of the sound when played
+

Var Details

backwards + + + + +

+

Whether to play the sound backwards

frequency + + + + +

+

Frequency of the sound when played

max_pitch + + + + +

+

The maximum pitch this component can play sounds at.

max_volume + + + + +

+

The maximum volume this component can play sounds at.

min_pitch + + + + +

+

The minimum pitch this component can play sounds at.

sound_cooldown + + + + +

+

The cooldown for this component of how often it can play sounds.

sound_file + + + + +

+

Sound to play

volume + + + + +

+

Volume of the sound when played

+ + + diff --git a/obj/item/circuit_component/spawn_atom.html b/obj/item/circuit_component/spawn_atom.html new file mode 100644 index 00000000000..cd7094626d0 --- /dev/null +++ b/obj/item/circuit_component/spawn_atom.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/spawn_atom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Spawn Atom Component + + + +

+ +

Spawns an atom.

+ + + +

Vars

input_pathThe input path to convert into a typepath
parametersParameters to pass to the atom being spawned
spawn_atThe turf to spawn them at
spawned_atomThe result from the output
+

Var Details

input_path + + + + +

+

The input path to convert into a typepath

parameters + + + + +

+

Parameters to pass to the atom being spawned

spawn_at + + + + +

+

The turf to spawn them at

spawned_atom + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/species.html b/obj/item/circuit_component/species.html new file mode 100644 index 00000000000..8faad2f87a6 --- /dev/null +++ b/obj/item/circuit_component/species.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/species - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Get Species Component + + + +

+ +

Return the species of a mob

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/speech.html b/obj/item/circuit_component/speech.html new file mode 100644 index 00000000000..f74fa908938 --- /dev/null +++ b/obj/item/circuit_component/speech.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/speech - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Speech Component + + + +

+ +

Sends a message. Requires a shell.

+ +

Vars

messageThe message to send
speech_cooldownThe cooldown for this component of how often it can send speech messages.
+

Var Details

message + + + + +

+

The message to send

speech_cooldown + + + + +

+

The cooldown for this component of how often it can send speech messages.

+ + + diff --git a/obj/item/circuit_component/split.html b/obj/item/circuit_component/split.html new file mode 100644 index 00000000000..c09eca64a60 --- /dev/null +++ b/obj/item/circuit_component/split.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/split - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Split component + + + +

+ +

Splits a string

+ + +

Vars

input_portThe input port
outputThe result from the output
separatorThe seperator
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

separator + + + + +

+

The seperator

+ + + diff --git a/obj/item/circuit_component/synth.html b/obj/item/circuit_component/synth.html new file mode 100644 index 00000000000..68ba93aa766 --- /dev/null +++ b/obj/item/circuit_component/synth.html @@ -0,0 +1,141 @@ + + + + + + + /obj/item/circuit_component/synth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

synth + + + +

+ + + + + + + + + + + + + + + + + +

Vars

beats_per_minThe beats per minute of the song
is_playingWhether a song is currently playing
note_decayIf set the last held note will decay
note_shiftNote shift
playStarts playing the song.
repetitionsHow many times the song will be played.
selected_instrumentThe list of instruments which sound can be synthesized.
songThe song, represented in latin alphabet A to G, that'll be played when play is triggered.
started_playingSent when a new song has started playing
stopStop playing the song.
stopped_playingSent when a song has finished playing
sustain_modeSustain Mode
sustain_valueThe value of the above
synthThe synthesizer this circut is attached to.
volumeThe volume of the song
volume_dropoffNotes with volume below this threshold will be dead
+

Var Details

beats_per_min + + + + +

+

The beats per minute of the song

is_playing + + + + +

+

Whether a song is currently playing

note_decay + + + + +

+

If set the last held note will decay

note_shift + + + + +

+

Note shift

play + + + + +

+

Starts playing the song.

repetitions + + + + +

+

How many times the song will be played.

selected_instrument + + + + +

+

The list of instruments which sound can be synthesized.

song + + + + +

+

The song, represented in latin alphabet A to G, that'll be played when play is triggered.

started_playing + + + + +

+

Sent when a new song has started playing

stop + + + + +

+

Stop playing the song.

stopped_playing + + + + +

+

Sent when a song has finished playing

sustain_mode + + + + +

+

Sustain Mode

sustain_value + + + + +

+

The value of the above

synth + + + + +

+

The synthesizer this circut is attached to.

volume + + + + +

+

The volume of the song

volume_dropoff + + + + +

+

Notes with volume below this threshold will be dead

+ + + diff --git a/obj/item/circuit_component/tempsensor.html b/obj/item/circuit_component/tempsensor.html new file mode 100644 index 00000000000..8f218e82a17 --- /dev/null +++ b/obj/item/circuit_component/tempsensor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/tempsensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Temperature Sensor + + + +

+ +

Returns the temperature of the tile

+

Vars

resultThe result from the output
+

Var Details

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/textcase.html b/obj/item/circuit_component/textcase.html new file mode 100644 index 00000000000..a5f5740aaf4 --- /dev/null +++ b/obj/item/circuit_component/textcase.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/textcase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Text Component + + + +

+ +

Either makes the text upper case or lower case.

+ +

Vars

input_portThe input port
outputThe result of the text operation
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result of the text operation

+ + + diff --git a/obj/item/circuit_component/timepiece.html b/obj/item/circuit_component/timepiece.html new file mode 100644 index 00000000000..b94418dda9a --- /dev/null +++ b/obj/item/circuit_component/timepiece.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/timepiece - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Timepiece Component + + + +

+ +

returns the current station time.

+ + + +

Vars

formatThe time format of the text output
num_outputseconds, minutes, hours.
text_outputThe output for 24/12 hour formats
time_unitThe unit of time for the numerical output
+

Var Details

format + + + + +

+

The time format of the text output

num_output + + + + +

+

seconds, minutes, hours.

text_output + + + + +

+

The output for 24/12 hour formats

time_unit + + + + +

+

The unit of time for the numerical output

+ + + diff --git a/obj/item/circuit_component/to_type.html b/obj/item/circuit_component/to_type.html new file mode 100644 index 00000000000..28ea83b54fa --- /dev/null +++ b/obj/item/circuit_component/to_type.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/to_type - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

To Type Component + + + +

+ +

Converts a string into a typepath. Useful for adding components.

+ +

Vars

input_pathThe input path to convert into a typepath
type_outputThe type output
+

Var Details

input_path + + + + +

+

The input path to convert into a typepath

type_output + + + + +

+

The type output

+ + + diff --git a/obj/item/circuit_component/tonumber.html b/obj/item/circuit_component/tonumber.html new file mode 100644 index 00000000000..697048b3536 --- /dev/null +++ b/obj/item/circuit_component/tonumber.html @@ -0,0 +1,44 @@ + + + + + + + /obj/item/circuit_component/tonumber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tonumber + + + +

+ +

#To Number Component

+

Converts a string into a Number

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/tostring.html b/obj/item/circuit_component/tostring.html new file mode 100644 index 00000000000..b9112b6be56 --- /dev/null +++ b/obj/item/circuit_component/tostring.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/tostring - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

To String Component + + + +

+ +

Converts any value into a string

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/trigonometry.html b/obj/item/circuit_component/trigonometry.html new file mode 100644 index 00000000000..b8da471cd63 --- /dev/null +++ b/obj/item/circuit_component/trigonometry.html @@ -0,0 +1,44 @@ + + + + + + + /obj/item/circuit_component/trigonometry - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Trigonometric Component + + + +

+ +

General trigonometric unit with sine, cosine, tangent and their inverse functions. +This one only works with numbers.

+ +

Vars

input_portThe input port
outputThe result from the output
+

Var Details

input_port + + + + +

+

The input port

output + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/variable.html b/obj/item/circuit_component/variable.html new file mode 100644 index 00000000000..4bff1d5ab0b --- /dev/null +++ b/obj/item/circuit_component/variable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Variable Component + + + +

+ +

Abstract component for handling variables

+

Vars

variable_nameVariable name
+

Var Details

variable_name + + + + +

+

Variable name

+ + + diff --git a/obj/item/circuit_component/variable/assoc_list/list_remove.html b/obj/item/circuit_component/variable/assoc_list/list_remove.html new file mode 100644 index 00000000000..cfb9fc44bf6 --- /dev/null +++ b/obj/item/circuit_component/variable/assoc_list/list_remove.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/assoc_list/list_remove - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Associative List Remove Component + + + +

+ +

Removes an element from an assoc list.

+

Vars

to_removeKey to remove to the list
+

Var Details

to_remove + + + + +

+

Key to remove to the list

+ + + diff --git a/obj/item/circuit_component/variable/assoc_list/list_set.html b/obj/item/circuit_component/variable/assoc_list/list_set.html new file mode 100644 index 00000000000..45b99726305 --- /dev/null +++ b/obj/item/circuit_component/variable/assoc_list/list_set.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/variable/assoc_list/list_set - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Assoc List Set Component + + + +

+ +

Sets a string value on an assoc list.

+ + +

Vars

failedFor when the list is too long, a signal is sent here.
keyKey to set
valueValue to set the key to.
+

Var Details

failed + + + + +

+

For when the list is too long, a signal is sent here.

key + + + + +

+

Key to set

value + + + + +

+

Value to set the key to.

+ + + diff --git a/obj/item/circuit_component/variable/getter.html b/obj/item/circuit_component/variable/getter.html new file mode 100644 index 00000000000..5fa53c032f6 --- /dev/null +++ b/obj/item/circuit_component/variable/getter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/getter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Getter Component + + + +

+ +

Gets the current value from a variable.

+

Vars

valueThe value of the variable
+

Var Details

value + + + + +

+

The value of the variable

+ + + diff --git a/obj/item/circuit_component/variable/list/listadd.html b/obj/item/circuit_component/variable/list/listadd.html new file mode 100644 index 00000000000..e74c2285e55 --- /dev/null +++ b/obj/item/circuit_component/variable/list/listadd.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/variable/list/listadd - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

List Add Component + + + +

+ +

Adds an element to a list.

+ + +

Vars

allow_duplicateWhether to add duplicates or not
failedFor when the list is too long, a signal is sent here.
to_addElement to add to the list
+

Var Details

allow_duplicate + + + + +

+

Whether to add duplicates or not

failed + + + + +

+

For when the list is too long, a signal is sent here.

to_add + + + + +

+

Element to add to the list

+ + + diff --git a/obj/item/circuit_component/variable/list/listremove.html b/obj/item/circuit_component/variable/list/listremove.html new file mode 100644 index 00000000000..ed7037e6e80 --- /dev/null +++ b/obj/item/circuit_component/variable/list/listremove.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/list/listremove - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

List Remove Component + + + +

+ +

Removes an element to a list.

+

Vars

to_removeElement to remove to the list
+

Var Details

to_remove + + + + +

+

Element to remove to the list

+ + + diff --git a/obj/item/circuit_component/variable/setter.html b/obj/item/circuit_component/variable/setter.html new file mode 100644 index 00000000000..042643d64ba --- /dev/null +++ b/obj/item/circuit_component/variable/setter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circuit_component/variable/setter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Setter Component + + + +

+ +

Stores the current input when triggered into a variable.

+

Vars

input_portThe input to store
+

Var Details

input_port + + + + +

+

The input to store

+ + + diff --git a/obj/item/circuit_component/vendor_component.html b/obj/item/circuit_component/vendor_component.html new file mode 100644 index 00000000000..705af0d75e1 --- /dev/null +++ b/obj/item/circuit_component/vendor_component.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/vendor_component - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vendor_component + + + +

+ + + +

Vars

item_to_vendThe item this vendor component should vend
vend_itemUsed to vend the item
+

Var Details

item_to_vend + + + + +

+

The item this vendor component should vend

vend_item + + + + +

+

Used to vend the item

+ + + diff --git a/obj/item/circuit_component/view_sensor.html b/obj/item/circuit_component/view_sensor.html new file mode 100644 index 00000000000..91f377944a2 --- /dev/null +++ b/obj/item/circuit_component/view_sensor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/circuit_component/view_sensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

View Sensor + + + +

+ +

Returns all movable objects in view.

+ +

Vars

rangeAllows setting the range of the view sensor
resultThe result from the output
+

Var Details

range + + + + +

+

Allows setting the range of the view sensor

result + + + + +

+

The result from the output

+ + + diff --git a/obj/item/circuit_component/vim.html b/obj/item/circuit_component/vim.html new file mode 100644 index 00000000000..721af036887 --- /dev/null +++ b/obj/item/circuit_component/vim.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/circuit_component/vim - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vim + + + +

+ + + + +

Vars

are_headlights_onWhether the mech headlights are currently on.
buzzSent when the mech buzzes.
chimeSent when the mech chimes.
+

Var Details

are_headlights_on + + + + +

+

Whether the mech headlights are currently on.

buzz + + + + +

+

Sent when the mech buzzes.

chime + + + + +

+

Sent when the mech chimes.

+ + + diff --git a/obj/item/circuit_component/wiremod_gun.html b/obj/item/circuit_component/wiremod_gun.html new file mode 100644 index 00000000000..a182fb3ce38 --- /dev/null +++ b/obj/item/circuit_component/wiremod_gun.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/circuit_component/wiremod_gun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wiremod_gun + + + +

+ + + + + + +

Vars

shooterThe shooter
shotThe entity being shot
signalCalled when a projectile hits

Procs

handle_chamberCalled when the shell item processes a new chamber
handle_shotCalled when the shell item shoots something
+

Var Details

shooter + + + + +

+

The shooter

shot + + + + +

+

The entity being shot

signal + + + + +

+

Called when a projectile hits

Proc Details

handle_chamber +

+

Called when the shell item processes a new chamber

handle_shot +

+

Called when the shell item shoots something

+ + + diff --git a/obj/item/circuit_component/wiremod_scanner.html b/obj/item/circuit_component/wiremod_scanner.html new file mode 100644 index 00000000000..58ebfce7bd4 --- /dev/null +++ b/obj/item/circuit_component/wiremod_scanner.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/circuit_component/wiremod_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wiremod_scanner + + + +

+ + + + + +

Vars

attackerThe attacker
attackingThe entity being attacked
signalCalled when afterattack is called on the shell.

Procs

handle_afterattackCalled when the shell item attacks something
+

Var Details

attacker + + + + +

+

The attacker

attacking + + + + +

+

The entity being attacked

signal + + + + +

+

Called when afterattack is called on the shell.

Proc Details

handle_afterattack +

+

Called when the shell item attacks something

+ + + diff --git a/obj/item/circuitboard.html b/obj/item/circuitboard.html new file mode 100644 index 00000000000..4cbafac4e6d --- /dev/null +++ b/obj/item/circuitboard.html @@ -0,0 +1,61 @@ + + + + + + + /obj/item/circuitboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuitboard + + + +

+ + + + + +

Vars

name_extensionextension that is applied after the initial name AKA (Computer/Machine Board)
onstationdetermines if the circuit board originated from a vendor off station or not.
specific_partsdetermines if the board requires specific levels of parts. (ie specifically a femto menipulator vs generic manipulator)

Procs

configure_machineUsed to allow the circuitboard to configure a machine in some way, shape or form.
+

Var Details

name_extension + + + + +

+

extension that is applied after the initial name AKA (Computer/Machine Board)

onstation + + + + +

+

determines if the circuit board originated from a vendor off station or not.

specific_parts + + + + +

+

determines if the board requires specific levels of parts. (ie specifically a femto menipulator vs generic manipulator)

Proc Details

configure_machine +

+

Used to allow the circuitboard to configure a machine in some way, shape or form.

+

Arguments:

+
    +
  • machine - The machine to attempt to configure.
  • +
+ + + diff --git a/obj/item/circular_saw.html b/obj/item/circular_saw.html new file mode 100644 index 00000000000..6a7e4ef68e6 --- /dev/null +++ b/obj/item/circular_saw.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/circular_saw - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

circular_saw + + + +

+ + +

Vars

surgical_tray_overlayHow this looks when placed in a surgical tray
+

Var Details

surgical_tray_overlay + + + + +

+

How this looks when placed in a surgical tray

+ + + diff --git a/obj/item/climbing_hook.html b/obj/item/climbing_hook.html new file mode 100644 index 00000000000..bdb3ac4e886 --- /dev/null +++ b/obj/item/climbing_hook.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/climbing_hook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

climbing_hook + + + +

+ + + + +

Vars

climb_timeclimb time
useshow many times can we climb with this rope

Procs

target_blockedchecks if our target is blocked, also checks for border objects facing the above turf and climbable stuff
+

Var Details

climb_time + + + + +

+

climb time

uses + + + + +

+

how many times can we climb with this rope

Proc Details

target_blocked +

+

checks if our target is blocked, also checks for border objects facing the above turf and climbable stuff

+ + + diff --git a/obj/item/clipboard.html b/obj/item/clipboard.html new file mode 100644 index 00000000000..7844f4f7238 --- /dev/null +++ b/obj/item/clipboard.html @@ -0,0 +1,67 @@ + + + + + + + /obj/item/clipboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

clipboard + + + +

+ +

Clipboard

+ + + + +

Vars

integrated_penIs the pen integrated?
penThe stored pen
toppaper_refWeakref of the topmost piece of paper

Procs

on_top_paper_changeThis is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.
remove_paperTake out the topmost paper
+

Var Details

integrated_pen + + + + +

+

Is the pen integrated?

pen + + + + +

+

The stored pen

toppaper_ref + + + + +

+

Weakref of the topmost piece of paper

+

This is used for the paper displayed on the clipboard's icon +and it is the one attacked, when attacking the clipboard. +(As you can't organise contents directly in BYOND)

Proc Details

on_top_paper_change +

+

This is a simple proc to handle calling update_icon() upon receiving the top paper's COMSIG_ATOM_UPDATE_APPEARANCE.

remove_paper +

+

Take out the topmost paper

+ + + diff --git a/obj/item/clothing.html b/obj/item/clothing.html new file mode 100644 index 00000000000..5285c6cd6c7 --- /dev/null +++ b/obj/item/clothing.html @@ -0,0 +1,181 @@ + + + + + + + /obj/item/clothing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

clothing + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

allowedList of items that can be equipped in the suit storage slot while we're worn.
clothing_traitsTrait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot
damage_by_partsHow much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb
flash_protectWhat level of bright light protection item has.
limb_integrityHow much integrity is in a specific limb before that limb is disabled (for use in /obj/item/clothing/proc/take_damage_zone, and only if we cover multiple zones.) Set to 0 to disable shredding.
moth_snackA lazily initiated "food" version of the clothing for moths.
repairable_byWhat items can be consumed to repair this clothing (must by an /obj/item/stack)
stubborn_stainsPrevents the article of clothing from gaining the mood boost from washing. Used for the tacticool turtleneck.
visor_vars_to_toggleWhat to toggle when toggled with weldingvisortoggle()
zones_disabledHow many zones (body parts, not precise) we have disabled so far, for naming purposes

Procs

armor_to_protection_classRounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.
attach_clothing_traitsInserts a trait (or multiple traits) into the clothing traits list
bristleIf we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged
create_moth_snackCreates a food object in null space which we can eat and imagine we're eating this pair of shoes
detach_clothing_traitsRemoves a trait (or multiple traits) from the clothing traits list
disable_zonedisable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from /obj/item/clothing/proc/take_damage_zone
repairSet the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up
take_damage_zonetake_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from /obj/item/bodypart/proc/check_woundings_mods
+

Var Details

allowed + + + + +

+

List of items that can be equipped in the suit storage slot while we're worn.

clothing_traits + + + + +

+

Trait modification, lazylist of traits to add/take away, on equipment/drop in the correct slot

damage_by_parts + + + + +

+

How much clothing damage has been dealt to each of the limbs of the clothing, assuming it covers more than one limb

flash_protect + + + + +

+

What level of bright light protection item has.

limb_integrity + + + + +

+

How much integrity is in a specific limb before that limb is disabled (for use in /obj/item/clothing/proc/take_damage_zone, and only if we cover multiple zones.) Set to 0 to disable shredding.

moth_snack + + + + +

+

A lazily initiated "food" version of the clothing for moths.

repairable_by + + + + +

+

What items can be consumed to repair this clothing (must by an /obj/item/stack)

stubborn_stains + + + + +

+

Prevents the article of clothing from gaining the mood boost from washing. Used for the tacticool turtleneck.

visor_vars_to_toggle + + + + +

+

What to toggle when toggled with weldingvisortoggle()

zones_disabled + + + + +

+

How many zones (body parts, not precise) we have disabled so far, for naming purposes

Proc Details

armor_to_protection_class +

+

Rounds armor_value down to the nearest 10, divides it by 10 and then converts it to Roman numerals.

+

Arguments:

+
    +
  • armor_value - Number we're converting
  • +

attach_clothing_traits +

+

Inserts a trait (or multiple traits) into the clothing traits list

+

If worn, then we will also give the wearer the trait as if equipped

+

This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects

bristle +

+

If we're a clothing with at least 1 shredded/disabled zone, give the wearer a periodic heads up letting them know their clothes are damaged

create_moth_snack +

+

Creates a food object in null space which we can eat and imagine we're eating this pair of shoes

detach_clothing_traits +

+

Removes a trait (or multiple traits) from the clothing traits list

+

If worn, then we will also remove the trait from the wearer as if unequipped

+

This is so you can add clothing traits without worrying about needing to equip or unequip them to gain effects

disable_zone +

+

disable_zone() is used to disable a given bodypart's protection on our clothing item, mainly from /obj/item/clothing/proc/take_damage_zone

+

This proc disables all protection on the specified bodypart for this piece of clothing: it'll be as if it doesn't cover it at all anymore (because it won't!) +If every possible bodypart has been disabled on the clothing, we put it out of commission entirely and mark it as shredded, whereby it will have to be repaired in +order to equip it again. Also note we only consider it damaged if there's more than one bodypart disabled.

+

Arguments:

+
    +
  • def_zone: The bodypart zone we're disabling
  • +
  • damage_type: Only really relevant for the verb for describing the breaking, and maybe atom_destruction()
  • +

repair +

+

Set the clothing's integrity back to 100%, remove all damage to bodyparts, and generally fix it up

take_damage_zone +

+

take_damage_zone() is used for dealing damage to specific bodyparts on a worn piece of clothing, meant to be called from /obj/item/bodypart/proc/check_woundings_mods

+

This proc only matters when a bodypart that this clothing is covering is harmed by a direct attack (being on fire or in space need not apply), and only if this clothing covers +more than one bodypart to begin with. No point in tracking damage by zone for a hat, and I'm not cruel enough to let you fully break them in a few shots. +Also if limb_integrity is 0, then this clothing doesn't have bodypart damage enabled so skip it.

+

Arguments:

+
    +
  • def_zone: The bodypart zone in question
  • +
  • damage_amount: Incoming damage
  • +
  • damage_type: BRUTE or BURN
  • +
  • armour_penetration: If the attack had armour_penetration
  • +
+ + + diff --git a/obj/item/clothing/accessory.html b/obj/item/clothing/accessory.html new file mode 100644 index 00000000000..2d3d4a56b4e --- /dev/null +++ b/obj/item/clothing/accessory.html @@ -0,0 +1,130 @@ + + + + + + + /obj/item/clothing/accessory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

accessory + + + +

+ +

Clothing accessories.

+

These items can be slotted onto an undershirt to provide a bit of flair.

+

These should be very light on their effects. Armor should be avoided entirely.

+

Multiple accessories can be equipped on a mob, and only the firstmost one is shown on their sprite. +The rest are still shown on examine, but this may create unfair circumstances when you can't examine someone.

+ + + + + + + + + + + + +

Vars

above_suitWhether or not the accessory displays through suits and the like.
attachment_slotWhat equipment slot the accessory attaches to. +If NONE, can always attach, while if supplied, can only attach if the clothing covers this slot.
minimize_when_attachedTRUE if shown as a small icon in corner, FALSE if overlayed

Procs

accessory_droppedCalled when the uniform this accessory is pinned to is dropped
accessory_equippedCalled when the uniform this accessory is pinned to is equipped in a valid slot
attachActually attach this accessory to the passed clothing article.
can_attach_accessoryCan we be attached to the passed clothing article?
detachDetach this accessory from the passed clothing article
on_uniform_adjustedSignal proc for COMSIG_CLOTHING_UNDER_ADJUSTED on the uniform we're pinned to +Checks if we can no longer be attached to the uniform, and if so, drops us
on_uniform_droppedSignal proc for COMSIG_ITEM_DROPPED on the uniform we're pinned to
on_uniform_equippedSignal proc for COMSIG_ITEM_EQUIPPED on the uniform we're pinned to
on_uniform_updateSignal proc for COMSIG_ATOM_UPDATE_OVERLAYS on the uniform we're pinned to to add our overlays to the inventory icon
successful_attachCalled after attach is completely successful and the accessory is in the clothing's loc
+

Var Details

above_suit + + + + +

+

Whether or not the accessory displays through suits and the like.

attachment_slot + + + + +

+

What equipment slot the accessory attaches to. +If NONE, can always attach, while if supplied, can only attach if the clothing covers this slot.

minimize_when_attached + + + + +

+

TRUE if shown as a small icon in corner, FALSE if overlayed

Proc Details

accessory_dropped +

+

Called when the uniform this accessory is pinned to is dropped

accessory_equipped +

+

Called when the uniform this accessory is pinned to is equipped in a valid slot

attach +

+

Actually attach this accessory to the passed clothing article.

+

The accessory is not yet within the clothing's loc at this point, this hapens after success.

can_attach_accessory +

+

Can we be attached to the passed clothing article?

detach +

+

Detach this accessory from the passed clothing article

+

We may have exited the clothing's loc at this point

on_uniform_adjusted +

+

Signal proc for COMSIG_CLOTHING_UNDER_ADJUSTED on the uniform we're pinned to +Checks if we can no longer be attached to the uniform, and if so, drops us

on_uniform_dropped +

+

Signal proc for COMSIG_ITEM_DROPPED on the uniform we're pinned to

on_uniform_equipped +

+

Signal proc for COMSIG_ITEM_EQUIPPED on the uniform we're pinned to

on_uniform_update +

+

Signal proc for COMSIG_ATOM_UPDATE_OVERLAYS on the uniform we're pinned to to add our overlays to the inventory icon

successful_attach +

+

Called after attach is completely successful and the accessory is in the clothing's loc

+ + + diff --git a/obj/item/clothing/accessory/dogtag.html b/obj/item/clothing/accessory/dogtag.html new file mode 100644 index 00000000000..86fcef91ac4 --- /dev/null +++ b/obj/item/clothing/accessory/dogtag.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/accessory/dogtag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dogtag + + + +

+ + + +

Vars

displayWhat message is displayed when our dogtags / its clothes / its wearer is examined

Procs

on_examineAdds the examine message to the clothes and mob.
+

Var Details

display + + + + +

+

What message is displayed when our dogtags / its clothes / its wearer is examined

Proc Details

on_examine +

+

Adds the examine message to the clothes and mob.

+ + + diff --git a/obj/item/clothing/accessory/medal.html b/obj/item/clothing/accessory/medal.html new file mode 100644 index 00000000000..b1a585db7b5 --- /dev/null +++ b/obj/item/clothing/accessory/medal.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/accessory/medal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

medal + + + +

+ + + + + + +

Vars

awarded_toWho was first given this medal
awarderWho gave out this medal
commendation_messageHas this been use for a commendation?
medaltypeSprite used for medalbox

Procs

provide_reasonInput a reason for the medal for the round end screen
+

Var Details

awarded_to + + + + +

+

Who was first given this medal

awarder + + + + +

+

Who gave out this medal

commendation_message + + + + +

+

Has this been use for a commendation?

medaltype + + + + +

+

Sprite used for medalbox

Proc Details

provide_reason +

+

Input a reason for the medal for the round end screen

+ + + diff --git a/obj/item/clothing/accessory/medal/silver/emergency_services.html b/obj/item/clothing/accessory/medal/silver/emergency_services.html new file mode 100644 index 00000000000..b2acbffefe3 --- /dev/null +++ b/obj/item/clothing/accessory/medal/silver/emergency_services.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/accessory/medal/silver/emergency_services - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

emergency_services + + + +

+ + +

Vars

insignia_descFlavor text that is appended to the description.
+

Var Details

insignia_desc + + + + +

+

Flavor text that is appended to the description.

+ + + diff --git a/obj/item/clothing/accessory/spy_bug.html b/obj/item/clothing/accessory/spy_bug.html new file mode 100644 index 00000000000..2b2ee625f4d --- /dev/null +++ b/obj/item/clothing/accessory/spy_bug.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/accessory/spy_bug - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spy_bug + + + +

+ + + + + +

Vars

cam_rangeHow far can we actually see? Ranges higher than one can be used to see through walls.
cam_screenOur camera display popup
linked_glassesThe glasses that you can use to see what this can see
trackerDetects when we move to update the camera view
+

Var Details

cam_range + + + + +

+

How far can we actually see? Ranges higher than one can be used to see through walls.

cam_screen + + + + +

+

Our camera display popup

linked_glasses + + + + +

+

The glasses that you can use to see what this can see

tracker + + + + +

+

Detects when we move to update the camera view

+ + + diff --git a/obj/item/clothing/glasses.html b/obj/item/clothing/glasses.html new file mode 100644 index 00000000000..74d9846a632 --- /dev/null +++ b/obj/item/clothing/glasses.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/clothing/glasses - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

glasses + + + +

+ + + + + + + +

Vars

color_cutoffsSimilar to lighting_cutoff, except it has individual r g and b components in the same 0-100 scale
currentThe current hud icons
forced_glass_colorWhether or not vision coloring is forcing
glass_colour_typeColors your vision when worn
invis_overrideOverride to allow glasses to set higher than normal see_invis
lighting_cutoffA percentage of how much rgb to "max" on the lighting plane +This lets us brighten darkness without washing out bright color
+

Var Details

color_cutoffs + + + + +

+

Similar to lighting_cutoff, except it has individual r g and b components in the same 0-100 scale

current + + + + +

+

The current hud icons

forced_glass_color + + + + +

+

Whether or not vision coloring is forcing

glass_colour_type + + + + +

+

Colors your vision when worn

invis_override + + + + +

+

Override to allow glasses to set higher than normal see_invis

lighting_cutoff + + + + +

+

A percentage of how much rgb to "max" on the lighting plane +This lets us brighten darkness without washing out bright color

+ + + diff --git a/obj/item/clothing/glasses/nightmare_vision.html b/obj/item/clothing/glasses/nightmare_vision.html new file mode 100644 index 00000000000..9bff6fa1e41 --- /dev/null +++ b/obj/item/clothing/glasses/nightmare_vision.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/glasses/nightmare_vision - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nightmare_vision + + + +

+ + +

Vars

stored_hallucinationHallucination datum currently being used for seeing mares
+

Var Details

stored_hallucination + + + + +

+

Hallucination datum currently being used for seeing mares

+ + + diff --git a/obj/item/clothing/glasses/salesman.html b/obj/item/clothing/glasses/salesman.html new file mode 100644 index 00000000000..890ac6b4f55 --- /dev/null +++ b/obj/item/clothing/glasses/salesman.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/glasses/salesman - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

salesman + + + +

+ + +

Vars

bigshotTells us who the current wearer([BIGSHOT]) is.
+

Var Details

bigshot + + + + +

+

Tells us who the current wearer([BIGSHOT]) is.

+ + + diff --git a/obj/item/clothing/gloves.html b/obj/item/clothing/gloves.html new file mode 100644 index 00000000000..5f3c6d3f1d7 --- /dev/null +++ b/obj/item/clothing/gloves.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/gloves - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gloves + + + +

+ + +

Vars

transfer_bloodUsed for handling bloody gloves leaving behind bloodstains on objects. Will be decremented whenever a bloodstain is left behind, and be incremented when the gloves become bloody.
+

Var Details

transfer_blood + + + + +

+

Used for handling bloody gloves leaving behind bloodstains on objects. Will be decremented whenever a bloodstain is left behind, and be incremented when the gloves become bloody.

+ + + diff --git a/obj/item/clothing/gloves/cargo_gauntlet.html b/obj/item/clothing/gloves/cargo_gauntlet.html new file mode 100644 index 00000000000..45d560857a4 --- /dev/null +++ b/obj/item/clothing/gloves/cargo_gauntlet.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/gloves/cargo_gauntlet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cargo_gauntlet + + + +

+ + +

Procs

on_glove_equipCalled when the glove is equipped. Adds a component to the equipper and stores a weak reference to it.

Proc Details

on_glove_equip +

+

Called when the glove is equipped. Adds a component to the equipper and stores a weak reference to it.

+ + + diff --git a/obj/item/clothing/gloves/tackler.html b/obj/item/clothing/gloves/tackler.html new file mode 100644 index 00000000000..4516ee04e13 --- /dev/null +++ b/obj/item/clothing/gloves/tackler.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/clothing/gloves/tackler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tackler + + + +

+ + + + + + + + +

Vars

base_knockdownSee: /datum/component/tackler/var/base_knockdown
min_distanceSee: /datum/component/tackler/var/min_distance
skill_modSee: /datum/component/tackler/var/skill_mod
tackle_rangeSee: /datum/component/tackler/var/range
tackle_speedSee: /datum/component/tackler/var/speed
tackle_stam_costSee: /datum/component/tackler/var/stamina_cost
tacklerFor storing our tackler datum so we can remove it after
+

Var Details

base_knockdown + + + + +

+

See: /datum/component/tackler/var/base_knockdown

min_distance + + + + +

+

See: /datum/component/tackler/var/min_distance

skill_mod + + + + +

+

See: /datum/component/tackler/var/skill_mod

tackle_range + + + + +

+

See: /datum/component/tackler/var/range

tackle_speed + + + + +

+

See: /datum/component/tackler/var/speed

tackle_stam_cost + + + + +

+

See: /datum/component/tackler/var/stamina_cost

tackler + + + + +

+

For storing our tackler datum so we can remove it after

+ + + diff --git a/obj/item/clothing/head.html b/obj/item/clothing/head.html new file mode 100644 index 00000000000..ca7b66df603 --- /dev/null +++ b/obj/item/clothing/head.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/clothing/head - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

head + + + +

+ + + +

Procs

throw_impactSpecial throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them.
worn_overlaysif the thrown object's target zone isn't the head +ignore any hats with the tinfoil counter-measure enabled +if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it +check if the item has NODROP +check if the item is an actual clothing head item, since some non-clothing items can be worn +SNUG_FIT hats are immune to being knocked off +if the hat manages to knock something off

Proc Details

throw_impact +

+

Special throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them.

worn_overlays +

+

if the thrown object's target zone isn't the head +ignore any hats with the tinfoil counter-measure enabled +if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it +check if the item has NODROP +check if the item is an actual clothing head item, since some non-clothing items can be worn +SNUG_FIT hats are immune to being knocked off +if the hat manages to knock something off

+ + + diff --git a/obj/item/clothing/head/beanie/black/dboy.html b/obj/item/clothing/head/beanie/black/dboy.html new file mode 100644 index 00000000000..2d7b028e695 --- /dev/null +++ b/obj/item/clothing/head/beanie/black/dboy.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/beanie/black/dboy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dboy + + + +

+ + +

Vars

beanie_ownerUsed for the extra flavor text the d-boy himself sees
+

Var Details

beanie_owner + + + + +

+

Used for the extra flavor text the d-boy himself sees

+ + + diff --git a/obj/item/clothing/head/costume/foilhat.html b/obj/item/clothing/head/costume/foilhat.html new file mode 100644 index 00000000000..ffce9463589 --- /dev/null +++ b/obj/item/clothing/head/costume/foilhat.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/head/costume/foilhat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

foilhat + + + +

+ + +

Procs

drain_antimagicWhen the foilhat is drained an anti-magic charge.

Proc Details

drain_antimagic +

+

When the foilhat is drained an anti-magic charge.

+ + + diff --git a/obj/item/clothing/head/costume/ushanka.html b/obj/item/clothing/head/costume/ushanka.html new file mode 100644 index 00000000000..afc91b7a746 --- /dev/null +++ b/obj/item/clothing/head/costume/ushanka.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/costume/ushanka - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ushanka + + + +

+ + + +

Vars

downspriteSprite visible when the ushanka flaps are folded down.
upspriteSprite visible when the ushanka flaps are folded up.
+

Var Details

downsprite + + + + +

+

Sprite visible when the ushanka flaps are folded down.

upsprite + + + + +

+

Sprite visible when the ushanka flaps are folded up.

+ + + diff --git a/obj/item/clothing/head/cowboy.html b/obj/item/clothing/head/cowboy.html new file mode 100644 index 00000000000..ab2451e4bd8 --- /dev/null +++ b/obj/item/clothing/head/cowboy.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/cowboy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cowboy + + + +

+ + + +

Vars

deflect_chanceChance that the hat will catch a bullet for you

Procs

on_intercepted_bulletWhen we catch a bullet, fling away
+

Var Details

deflect_chance + + + + +

+

Chance that the hat will catch a bullet for you

Proc Details

on_intercepted_bullet +

+

When we catch a bullet, fling away

+ + + diff --git a/obj/item/clothing/head/fedora/det_hat.html b/obj/item/clothing/head/fedora/det_hat.html new file mode 100644 index 00000000000..e377cf172de --- /dev/null +++ b/obj/item/clothing/head/fedora/det_hat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/fedora/det_hat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

det_hat + + + +

+ + +

Vars

flask_pathPath for the flask that spawns inside their hat roundstart
+

Var Details

flask_path + + + + +

+

Path for the flask that spawns inside their hat roundstart

+ + + diff --git a/obj/item/clothing/head/fedora/inspector_hat.html b/obj/item/clothing/head/fedora/inspector_hat.html new file mode 100644 index 00000000000..035891db518 --- /dev/null +++ b/obj/item/clothing/head/fedora/inspector_hat.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/head/fedora/inspector_hat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

inspector_hat + + + +

+ +

Detectives Fedora, but like Inspector Gadget. Not a subtype to not inherit candy corn stuff

+ + + +

Vars

items_by_phrasean assoc list of phrase = item (like gun = revolver)
max_itemshow many gadgets can we hold
max_weightitems above this weight cannot be put in the hat
prefixprefix our phrases must begin with
+

Var Details

items_by_phrase + + + + +

+

an assoc list of phrase = item (like gun = revolver)

max_items + + + + +

+

how many gadgets can we hold

max_weight + + + + +

+

items above this weight cannot be put in the hat

prefix + + + + +

+

prefix our phrases must begin with

+ + + diff --git a/obj/item/clothing/head/hats/tophat.html b/obj/item/clothing/head/hats/tophat.html new file mode 100644 index 00000000000..1493a480ade --- /dev/null +++ b/obj/item/clothing/head/hats/tophat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/hats/tophat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tophat + + + +

+ + +

Vars

rabbit_cooldownCooldown for how often we can pull rabbits out of here
+

Var Details

rabbit_cooldown + + + + +

+

Cooldown for how often we can pull rabbits out of here

+ + + diff --git a/obj/item/clothing/head/helmet/monkey_sentience.html b/obj/item/clothing/head/helmet/monkey_sentience.html new file mode 100644 index 00000000000..93076ec6d1c --- /dev/null +++ b/obj/item/clothing/head/helmet/monkey_sentience.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/head/helmet/monkey_sentience - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

monkey_sentience + + + +

+ + + + +

Vars

light_colorsif the helmet is currently polling for targets (special code for removal)
pollingif the helmet is on a valid target (just works like a normal helmet if not (cargo please stop))

Procs

Initializewhich icon state color this is (red, blue, yellow)
+

Var Details

light_colors + + + + +

+

if the helmet is currently polling for targets (special code for removal)

polling + + + + +

+

if the helmet is on a valid target (just works like a normal helmet if not (cargo please stop))

Proc Details

Initialize +

+

which icon state color this is (red, blue, yellow)

+ + + diff --git a/obj/item/clothing/head/helmet/toggleable.html b/obj/item/clothing/head/helmet/toggleable.html new file mode 100644 index 00000000000..79954321068 --- /dev/null +++ b/obj/item/clothing/head/helmet/toggleable.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/head/helmet/toggleable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

toggleable + + + +

+ + + + +

Vars

alt_toggle_messagechat message when the visor is toggled up.
toggle_messagechat message when the visor is toggled down.

Procs

try_toggleAttempt to toggle the visor. Returns true if it does the thing.
+

Var Details

alt_toggle_message + + + + +

+

chat message when the visor is toggled up.

toggle_message + + + + +

+

chat message when the visor is toggled down.

Proc Details

try_toggle +

+

Attempt to toggle the visor. Returns true if it does the thing.

+ + + diff --git a/obj/item/clothing/head/helmet/toggleable/justice.html b/obj/item/clothing/head/helmet/toggleable/justice.html new file mode 100644 index 00000000000..5292d873855 --- /dev/null +++ b/obj/item/clothing/head/helmet/toggleable/justice.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/helmet/toggleable/justice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

justice + + + +

+ + + +

Vars

visor_toggle_cooldownCooldown for toggling the visor.
weewooloopLooping sound datum for the siren helmet
+

Var Details

visor_toggle_cooldown + + + + +

+

Cooldown for toggling the visor.

weewooloop + + + + +

+

Looping sound datum for the siren helmet

+ + + diff --git a/obj/item/clothing/head/hooded/berserker.html b/obj/item/clothing/head/hooded/berserker.html new file mode 100644 index 00000000000..c4e5124a3ec --- /dev/null +++ b/obj/item/clothing/head/hooded/berserker.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/head/hooded/berserker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

berserker + + + +

+ + + + + +

Vars

berserk_activeStatus of berserk
berserk_chargeCurrent charge of berserk, goes from 0 to 100

Procs

berserk_modeStarts berserk, giving the wearer 50 melee armor, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier
end_berserkEnds berserk, reverting the changes from the proc [berserk_mode]
+

Var Details

berserk_active + + + + +

+

Status of berserk

berserk_charge + + + + +

+

Current charge of berserk, goes from 0 to 100

Proc Details

berserk_mode +

+

Starts berserk, giving the wearer 50 melee armor, doubled attacking speed, NOGUNS trait, adding a color and giving them the berserk movespeed modifier

end_berserk +

+

Ends berserk, reverting the changes from the proc [berserk_mode]

+ + + diff --git a/obj/item/clothing/head/utility/chefhat.html b/obj/item/clothing/head/utility/chefhat.html new file mode 100644 index 00000000000..6eb29515ce7 --- /dev/null +++ b/obj/item/clothing/head/utility/chefhat.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/head/utility/chefhat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chefhat + + + +

+ + + + + + +

Vars

mouse_control_probabilityThe chance that the movements of a mouse inside of this hat get relayed to the human wearing the hat
move_cooldownAllowed time between movements

Procs

get_mouseReturns a mob stored inside a mob container, if there is one
on_mouse_emoteRelays emotes emoted by your boss to the hat wearer for full immersion
on_mouse_movingRelays movement made by the mouse in your hat to the wearer of the hat
+

Var Details

mouse_control_probability + + + + +

+

The chance that the movements of a mouse inside of this hat get relayed to the human wearing the hat

move_cooldown + + + + +

+

Allowed time between movements

Proc Details

get_mouse +

+

Returns a mob stored inside a mob container, if there is one

on_mouse_emote +

+

Relays emotes emoted by your boss to the hat wearer for full immersion

on_mouse_moving +

+

Relays movement made by the mouse in your hat to the wearer of the hat

+ + + diff --git a/obj/item/clothing/head/utility/hardhat.html b/obj/item/clothing/head/utility/hardhat.html new file mode 100644 index 00000000000..d3385f16dcf --- /dev/null +++ b/obj/item/clothing/head/utility/hardhat.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/head/utility/hardhat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hardhat + + + +

+ + + +

Vars

hat_typeDetermines used sprites: hardhat[on]_[hat_type] and hardhat[on]_[hat_type]2 (lying down sprite)
onWhether the headlamp is on or off.
+

Var Details

hat_type + + + + +

+

Determines used sprites: hardhat[on]_[hat_type] and hardhat[on]_[hat_type]2 (lying down sprite)

on + + + + +

+

Whether the headlamp is on or off.

+ + + diff --git a/obj/item/clothing/head/utility/hardhat/welding.html b/obj/item/clothing/head/utility/hardhat/welding.html new file mode 100644 index 00000000000..a8d3da27ee4 --- /dev/null +++ b/obj/item/clothing/head/utility/hardhat/welding.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/head/utility/hardhat/welding - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

welding + + + +

+ + +

Vars

visor_stateIcon state of the welding visor.
+

Var Details

visor_state + + + + +

+

Icon state of the welding visor.

+ + + diff --git a/obj/item/clothing/mask.html b/obj/item/clothing/mask.html new file mode 100644 index 00000000000..4fa128a6b65 --- /dev/null +++ b/obj/item/clothing/mask.html @@ -0,0 +1,69 @@ + + + + + + + /obj/item/clothing/mask - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mask + + + +

+ + + + + + +

Vars

has_filterDid we install a filtering cloth?
unique_deathThe unique sound effect of dying while wearing this
use_radio_beeps_ttsIf set to true, activates the radio effect on TTS. Used for sec hailers, but other masks can utilize it for their own vocal effect.
voice_overrideIf defined, what voice should we override with if TTS is active?

Procs

consume_filterProc called in lungs.dm to act if wearing a mask with filters, used to reduce the filters durability, return a changed gas mixture depending on the filter status +Arguments:
+

Var Details

has_filter + + + + +

+

Did we install a filtering cloth?

unique_death + + + + +

+

The unique sound effect of dying while wearing this

use_radio_beeps_tts + + + + +

+

If set to true, activates the radio effect on TTS. Used for sec hailers, but other masks can utilize it for their own vocal effect.

voice_override + + + + +

+

If defined, what voice should we override with if TTS is active?

Proc Details

consume_filter +

+

Proc called in lungs.dm to act if wearing a mask with filters, used to reduce the filters durability, return a changed gas mixture depending on the filter status +Arguments:

+
    +
  • breath - the gas mixture of the breather
  • +
+ + + diff --git a/obj/item/clothing/mask/animal.html b/obj/item/clothing/mask/animal.html new file mode 100644 index 00000000000..5df0267cd4e --- /dev/null +++ b/obj/item/clothing/mask/animal.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/clothing/mask/animal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

animal + + + +

+ + + + + + + +

Vars

animal_soundswhat kind of animal the masks represents. used for automatic name and description generation.
animal_sounds_altphrases to be said when the player attempts to talk when speech modification / voicebox is enabled.
animal_sounds_alt_probabilitylower probability phrases to be said when talking.
curse_spawn_soundif it's a cursed mask variant.
cursedprobability for alternative sounds to play.

Procs

Initializesound to play when the cursed mask variant is spawned.
+

Var Details

animal_sounds + + + + +

+

what kind of animal the masks represents. used for automatic name and description generation.

animal_sounds_alt + + + + +

+

phrases to be said when the player attempts to talk when speech modification / voicebox is enabled.

animal_sounds_alt_probability + + + + +

+

lower probability phrases to be said when talking.

curse_spawn_sound + + + + +

+

if it's a cursed mask variant.

cursed + + + + +

+

probability for alternative sounds to play.

Proc Details

Initialize +

+

sound to play when the cursed mask variant is spawned.

+ + + diff --git a/obj/item/clothing/mask/chameleon.html b/obj/item/clothing/mask/chameleon.html new file mode 100644 index 00000000000..e61be15d4de --- /dev/null +++ b/obj/item/clothing/mask/chameleon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/chameleon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chameleon + + + +

+ + +

Vars

voice_changeIs our voice changer enabled or disabled?
+

Var Details

voice_change + + + + +

+

Is our voice changer enabled or disabled?

+ + + diff --git a/obj/item/clothing/mask/cigarette.html b/obj/item/clothing/mask/cigarette.html new file mode 100644 index 00000000000..25f72ba2eab --- /dev/null +++ b/obj/item/clothing/mask/cigarette.html @@ -0,0 +1,162 @@ + + + + + + + /obj/item/clothing/mask/cigarette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cigarette + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

chem_volumeThe capacity for chems this cigarette has.
choke_foreverIf, when glorf'd, we will choke on this cig forever
choke_time_maxWhen choking, what is the maximum amount of time we COULD choke for
drag_cooldownThe cooldown that prevents just huffing the entire cigarette at once.
dragtimeHow much time between drags of the cigarette.
icon_offThe icon state used when this is extinguished.
icon_onThe icon state used when this is lit.
inhand_icon_offThe inhand icon state used when this is extinguished.
inhand_icon_onThe inhand icon state used when this is lit.
list_reagentsThe reagents that this cigarette starts with.
litWhether this cigarette has been lit.
lung_harmHow much damage this deals to the lungs per drag.
smoke_allShould we smoke all of the chems in the cig before it runs out. Splits each puff to take a portion of the overall chems so by the end you'll always have consumed all of the chems inside.
smoketimeHow long the cigarette lasts in seconds
starts_litWhether this cigarette should start lit.
type_buttThe type of cigarette butt spawned when this burns out.

Procs

check_oxygenChecks that we have enough air to smoke
handle_reagentsHandles processing the reagents in the cigarette.
lightLights the cigarette with given flavor text.
+

Var Details

chem_volume + + + + +

+

The capacity for chems this cigarette has.

choke_forever + + + + +

+

If, when glorf'd, we will choke on this cig forever

choke_time_max + + + + +

+

When choking, what is the maximum amount of time we COULD choke for

drag_cooldown + + + + +

+

The cooldown that prevents just huffing the entire cigarette at once.

dragtime + + + + +

+

How much time between drags of the cigarette.

icon_off + + + + +

+

The icon state used when this is extinguished.

icon_on + + + + +

+

The icon state used when this is lit.

inhand_icon_off + + + + +

+

The inhand icon state used when this is extinguished.

inhand_icon_on + + + + +

+

The inhand icon state used when this is lit.

list_reagents + + + + +

+

The reagents that this cigarette starts with.

lit + + + + +

+

Whether this cigarette has been lit.

lung_harm + + + + +

+

How much damage this deals to the lungs per drag.

smoke_all + + + + +

+

Should we smoke all of the chems in the cig before it runs out. Splits each puff to take a portion of the overall chems so by the end you'll always have consumed all of the chems inside.

smoketime + + + + +

+

How long the cigarette lasts in seconds

starts_lit + + + + +

+

Whether this cigarette should start lit.

type_butt + + + + +

+

The type of cigarette butt spawned when this burns out.

Proc Details

check_oxygen +

+

Checks that we have enough air to smoke

handle_reagents +

+

Handles processing the reagents in the cigarette.

light +

+

Lights the cigarette with given flavor text.

+ + + diff --git a/obj/item/clothing/mask/cigarette/pipe.html b/obj/item/clothing/mask/cigarette/pipe.html new file mode 100644 index 00000000000..d385f638f81 --- /dev/null +++ b/obj/item/clothing/mask/cigarette/pipe.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/cigarette/pipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pipe + + + +

+ + +

Vars

packeditemname of the stuff packed inside this pipe
+

Var Details

packeditem + + + + +

+

name of the stuff packed inside this pipe

+ + + diff --git a/obj/item/clothing/mask/gas.html b/obj/item/clothing/mask/gas.html new file mode 100644 index 00000000000..b28dbf43d8a --- /dev/null +++ b/obj/item/clothing/mask/gas.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/clothing/mask/gas - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gas + + + +

+ + + + + + + + + +

Vars

cigCigarette in the mask
gas_filtersList to keep track of each filter
has_fovDoes the mask have an FOV?
max_filtersMax numbers of installable filters
starting_filter_typeType of filter that spawns on roundstart

Procs

consume_filterCheck _masks.dm for this one
get_filter_durabilityGetter for overall filter durability, takes into consideration all filters filter_status
init_fovInitializes the FoV component for the gas mask
+

Var Details

cig + + + + +

+

Cigarette in the mask

gas_filters + + + + +

+

List to keep track of each filter

has_fov + + + + +

+

Does the mask have an FOV?

max_filters + + + + +

+

Max numbers of installable filters

starting_filter_type + + + + +

+

Type of filter that spawns on roundstart

Proc Details

consume_filter +

+

Check _masks.dm for this one

get_filter_durability +

+

Getter for overall filter durability, takes into consideration all filters filter_status

init_fov +

+

Initializes the FoV component for the gas mask

+ + + diff --git a/obj/item/clothing/mask/gas/ninja.html b/obj/item/clothing/mask/gas/ninja.html new file mode 100644 index 00000000000..12d195d4277 --- /dev/null +++ b/obj/item/clothing/mask/gas/ninja.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/clothing/mask/gas/ninja - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Ninja Mask + + + +

+ +

Space ninja's mask. Other than looking cool, doesn't do anything.

+

A mask which only spawns as a part of space ninja's starting kit. Functions as a gas mask.

+ + + diff --git a/obj/item/clothing/mask/gas/sechailer.html b/obj/item/clothing/mask/gas/sechailer.html new file mode 100644 index 00000000000..537f0f88ee5 --- /dev/null +++ b/obj/item/clothing/mask/gas/sechailer.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/mask/gas/sechailer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sechailer + + + +

+ + + + + + +

Vars

aggressivenessDecides the phrases available for use; defines used are the last index of a category of available phrases
broken_hailerWhether the hailer has been broken due to overuse or not
overuse_cooldownWhether the hailer is currently in cooldown for resetting recent_uses
recent_usesHow many times was the hailer used in the last OVERUSE_COOLDOWN seconds
safetyWhether the hailer is emagged or not
+

Var Details

aggressiveness + + + + +

+

Decides the phrases available for use; defines used are the last index of a category of available phrases

broken_hailer + + + + +

+

Whether the hailer has been broken due to overuse or not

overuse_cooldown + + + + +

+

Whether the hailer is currently in cooldown for resetting recent_uses

recent_uses + + + + +

+

How many times was the hailer used in the last OVERUSE_COOLDOWN seconds

safety + + + + +

+

Whether the hailer is emagged or not

+ + + diff --git a/obj/item/clothing/mask/madness_mask.html b/obj/item/clothing/mask/madness_mask.html new file mode 100644 index 00000000000..653fd60646d --- /dev/null +++ b/obj/item/clothing/mask/madness_mask.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/mask/madness_mask - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

madness_mask + + + +

+ + +

Vars

local_userWho is wearing this
+

Var Details

local_user + + + + +

+

Who is wearing this

+ + + diff --git a/obj/item/clothing/mask/muzzle/tape.html b/obj/item/clothing/mask/muzzle/tape.html new file mode 100644 index 00000000000..f7e4bfa3dec --- /dev/null +++ b/obj/item/clothing/mask/muzzle/tape.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/mask/muzzle/tape - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tape + + + +

+ + + +

Vars

harmful_stripDertermines whether the tape piece does damage when ripped off of someone.
stripping_damageThe ammount of damage dealt when the tape piece is ripped off of someone.
+

Var Details

harmful_strip + + + + +

+

Dertermines whether the tape piece does damage when ripped off of someone.

stripping_damage + + + + +

+

The ammount of damage dealt when the tape piece is ripped off of someone.

+ + + diff --git a/obj/item/clothing/mask/vape.html b/obj/item/clothing/mask/vape.html new file mode 100644 index 00000000000..2d4fd876d90 --- /dev/null +++ b/obj/item/clothing/mask/vape.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/mask/vape - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vape + + + +

+ + + + + + +

Vars

chem_volumeThe capacity of the vape.
drag_cooldownA cooldown to prevent huffing the vape all at once.
dragtimeThe amount of time between drags.
screwWhether the resevoir is open and we can add reagents.
superWhether the vape has been overloaded to spread smoke.
+

Var Details

chem_volume + + + + +

+

The capacity of the vape.

drag_cooldown + + + + +

+

A cooldown to prevent huffing the vape all at once.

dragtime + + + + +

+

The amount of time between drags.

screw + + + + +

+

Whether the resevoir is open and we can add reagents.

super + + + + +

+

Whether the vape has been overloaded to spread smoke.

+ + + diff --git a/obj/item/clothing/neck/eldritch_amulet.html b/obj/item/clothing/neck/eldritch_amulet.html new file mode 100644 index 00000000000..9e018aa2f20 --- /dev/null +++ b/obj/item/clothing/neck/eldritch_amulet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/neck/eldritch_amulet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eldritch_amulet + + + +

+ + +

Vars

heretic_only_traitA secondary clothing trait only applied to heretics.
+

Var Details

heretic_only_trait + + + + +

+

A secondary clothing trait only applied to heretics.

+ + + diff --git a/obj/item/clothing/neck/link_scryer.html b/obj/item/clothing/neck/link_scryer.html new file mode 100644 index 00000000000..2a29be45449 --- /dev/null +++ b/obj/item/clothing/neck/link_scryer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/neck/link_scryer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

link_scryer + + + +

+ + + + + +

Vars

cellThe installed power cell.
labelAn additional name tag for the scryer, seen as "MODlink scryer - [label]"
mod_linkThe MODlink datum we operate.
starting_frequencyInitial frequency of the MODlink.
+

Var Details

cell + + + + +

+

The installed power cell.

label + + + + +

+

An additional name tag for the scryer, seen as "MODlink scryer - [label]"

+

The MODlink datum we operate.

starting_frequency + + + + +

+

Initial frequency of the MODlink.

+ + + diff --git a/obj/item/clothing/neck/necklace/dope/merchant.html b/obj/item/clothing/neck/necklace/dope/merchant.html new file mode 100644 index 00000000000..6926a0557c8 --- /dev/null +++ b/obj/item/clothing/neck/necklace/dope/merchant.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/neck/necklace/dope/merchant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

merchant + + + +

+ + + +

Vars

profit_scalingscales the amount received in case an admin wants to emulate taxes/fees.
sellingtoggles between sell (TRUE) and get price post-fees (FALSE)
+

Var Details

profit_scaling + + + + +

+

scales the amount received in case an admin wants to emulate taxes/fees.

selling + + + + +

+

toggles between sell (TRUE) and get price post-fees (FALSE)

+ + + diff --git a/obj/item/clothing/neck/tie.html b/obj/item/clothing/neck/tie.html new file mode 100644 index 00000000000..c8edbb4a126 --- /dev/null +++ b/obj/item/clothing/neck/tie.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/neck/tie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tie + + + +

+ + + + +

Vars

clip_onIs this tie a clip-on, meaning it does not have an untied state?
is_tiedAll ties start untied unless otherwise specified
tie_timerHow long it takes to tie the tie
+

Var Details

clip_on + + + + +

+

Is this tie a clip-on, meaning it does not have an untied state?

is_tied + + + + +

+

All ties start untied unless otherwise specified

tie_timer + + + + +

+

How long it takes to tie the tie

+ + + diff --git a/obj/item/clothing/shoes.html b/obj/item/clothing/shoes.html new file mode 100644 index 00000000000..be5f4494b79 --- /dev/null +++ b/obj/item/clothing/shoes.html @@ -0,0 +1,98 @@ + + + + + + + /obj/item/clothing/shoes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shoes + + + +

+ + + + + + + + + +

Vars

can_be_tiedWhether these shoes have laces that can be tied/untied
lace_timeHow long it takes to lace/unlace these shoes
our_alert_refAn active alert
tiedAre we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Procs

adjust_lacesadjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted
check_tripcheck_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble
handle_tyinghandle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces
still_shoedour_guy here is the wearer, if one exists (and he must exist, or we don't care) +checking to make sure we're still on the person we're supposed to be, for lacing do_after's
+

Var Details

can_be_tied + + + + +

+

Whether these shoes have laces that can be tied/untied

lace_time + + + + +

+

How long it takes to lace/unlace these shoes

our_alert_ref + + + + +

+

An active alert

tied + + + + +

+

Are we currently tied? Can either be SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED

Proc Details

adjust_laces +

+

adjust_laces adjusts whether our shoes (assuming they can_be_tied) and tied, untied, or knotted

+

In addition to setting the state, it will deal with getting rid of alerts if they exist, as well as registering and unregistering the stepping signals

+

Arguments:

+
    +
  • state: SHOES_UNTIED, SHOES_TIED, or SHOES_KNOTTED, depending on what you want them to become
  • +
  • user: used to check to see if we're the ones unknotting our own laces
  • +

check_trip +

+

check_trip runs on each step to see if we fall over as a result of our lace status. Knotted laces are a guaranteed trip, while untied shoes are just a chance to stumble

handle_tying +

+

handle_tying deals with all the actual tying/untying/knotting, inferring your intent from who you are in relation to the state of the laces

+

If you're the wearer, you want them to move towards tied-ness (knotted -> untied -> tied). If you're not, you're pranking them, so you're moving towards knotted-ness (tied -> untied -> knotted)

+

Arguments:

+
    +
  • user: who is the person interacting with the shoes?
  • +

still_shoed +

+

our_guy here is the wearer, if one exists (and he must exist, or we don't care) +checking to make sure we're still on the person we're supposed to be, for lacing do_after's

+ + + diff --git a/obj/item/clothing/shoes/clown_shoes.html b/obj/item/clothing/shoes/clown_shoes.html new file mode 100644 index 00000000000..b2b8b0f9250 --- /dev/null +++ b/obj/item/clothing/shoes/clown_shoes.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/shoes/clown_shoes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

clown_shoes + + + +

+ + +

Vars

squeak_soundList of possible sounds for the squeak component to use, allows for different clown shoe subtypes to have different sounds.
+

Var Details

squeak_sound + + + + +

+

List of possible sounds for the squeak component to use, allows for different clown shoe subtypes to have different sounds.

+ + + diff --git a/obj/item/clothing/shoes/clown_shoes/banana_shoes.html b/obj/item/clothing/shoes/clown_shoes/banana_shoes.html new file mode 100644 index 00000000000..91caf15a6f7 --- /dev/null +++ b/obj/item/clothing/shoes/clown_shoes/banana_shoes.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/shoes/clown_shoes/banana_shoes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

banana_shoes + + + +

+ + + + + + +

Vars

always_noslipIf TRUE, we will always have the noslip trait no matter whether they're on or off
banana_typeTypepath of created banana
bananiumMaterial container for bananium
material_per_bananaHow many materials we consume per banana created
onWhether the clown shoes are active (spawning bananas)
+

Var Details

always_noslip + + + + +

+

If TRUE, we will always have the noslip trait no matter whether they're on or off

banana_type + + + + +

+

Typepath of created banana

bananium + + + + +

+

Material container for bananium

material_per_banana + + + + +

+

How many materials we consume per banana created

on + + + + +

+

Whether the clown shoes are active (spawning bananas)

+ + + diff --git a/obj/item/clothing/shoes/cowboy.html b/obj/item/clothing/shoes/cowboy.html new file mode 100644 index 00000000000..23507a4d19c --- /dev/null +++ b/obj/item/clothing/shoes/cowboy.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/shoes/cowboy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cowboy + + + +

+ + + +

Vars

has_spursDo these boots have spur sounds?
spur_soundThe jingle jangle jingle of our spurs
+

Var Details

has_spurs + + + + +

+

Do these boots have spur sounds?

spur_sound + + + + +

+

The jingle jangle jingle of our spurs

+ + + diff --git a/obj/item/clothing/shoes/gunboots.html b/obj/item/clothing/shoes/gunboots.html new file mode 100644 index 00000000000..cb6a6815387 --- /dev/null +++ b/obj/item/clothing/shoes/gunboots.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/clothing/shoes/gunboots - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gunboots + + + +

+ + + + + + +

Vars

projectile_typeWhat projectile do we shoot?
shot_probEach step, this is the chance we fire a shot

Procs

check_kickStomping on someone while wearing gunboots shoots them point blank
check_stepAfter each step, check if we randomly fire a shot
fire_shotActually fire a shot. If no target is provided, just fire off in a random direction
+

Var Details

projectile_type + + + + +

+

What projectile do we shoot?

shot_prob + + + + +

+

Each step, this is the chance we fire a shot

Proc Details

check_kick +

+

Stomping on someone while wearing gunboots shoots them point blank

check_step +

+

After each step, check if we randomly fire a shot

fire_shot +

+

Actually fire a shot. If no target is provided, just fire off in a random direction

+ + + diff --git a/obj/item/clothing/shoes/magboots.html b/obj/item/clothing/shoes/magboots.html new file mode 100644 index 00000000000..67088281719 --- /dev/null +++ b/obj/item/clothing/shoes/magboots.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/shoes/magboots - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

magboots + + + +

+ + + + + +

Vars

active_traitsA list of traits we apply when we get activated
magpulseWhether the magpulse system is active
slowdown_activeSlowdown applied wwhen magpulse is active. This is added onto existing slowdown

Procs

on_speed_potionedSignal handler for COMSIG_SPEED_POTION_APPLIED. Speed potion removes the active slowdown
+

Var Details

active_traits + + + + +

+

A list of traits we apply when we get activated

magpulse + + + + +

+

Whether the magpulse system is active

slowdown_active + + + + +

+

Slowdown applied wwhen magpulse is active. This is added onto existing slowdown

Proc Details

on_speed_potioned +

+

Signal handler for COMSIG_SPEED_POTION_APPLIED. Speed potion removes the active slowdown

+ + + diff --git a/obj/item/clothing/shoes/wheelys.html b/obj/item/clothing/shoes/wheelys.html new file mode 100644 index 00000000000..4319ffc7c51 --- /dev/null +++ b/obj/item/clothing/shoes/wheelys.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/shoes/wheelys - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wheelys + + + +

+ + + +

Vars

wheelToggleFalse means wheels are not popped out
wheelsThe vehicle associated with the shoes
+

Var Details

wheelToggle + + + + +

+

False means wheels are not popped out

wheels + + + + +

+

The vehicle associated with the shoes

+ + + diff --git a/obj/item/clothing/suit/armor/abductor/vest.html b/obj/item/clothing/suit/armor/abductor/vest.html new file mode 100644 index 00000000000..37a9330c0d6 --- /dev/null +++ b/obj/item/clothing/suit/armor/abductor/vest.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/suit/armor/abductor/vest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vest + + + +

+ + + + + +

Vars

combat_cooldownCooldown in seconds for the combat mode activation stimulant.
disguiseThe visual of our suit's disguise.
modeWhat operation mode is our vest in?
stealth_activeDo we have a disguise active?
+

Var Details

combat_cooldown + + + + +

+

Cooldown in seconds for the combat mode activation stimulant.

disguise + + + + +

+

The visual of our suit's disguise.

mode + + + + +

+

What operation mode is our vest in?

stealth_active + + + + +

+

Do we have a disguise active?

+ + + diff --git a/obj/item/clothing/suit/armor/reactive.html b/obj/item/clothing/suit/armor/reactive.html new file mode 100644 index 00000000000..342926a7ecc --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive.html @@ -0,0 +1,104 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reactive + + + +

+ + + + + + + + + + +

Vars

activeWhether the armor will try to react to hits (is it on)
bad_effectThis will be true for 30 seconds after an EMP, it makes the reaction effect dangerous to the user.
cooldown_messageMessage sent when the armor is still on cooldown, but activates.
emp_messageMessage sent when the armor is emp'd. It is not the message for when the emp effect goes off.
reactivearmor_cooldownThe cooldown itself of the reactive armor for when it can activate again.
reactivearmor_cooldown_durationDuration of the cooldown specific to reactive armor for when it can activate again.

Procs

cooldown_activationA proc for doing cooldown effects (like the sparks on the tesla armor, or the semi-stealth on stealth armor) +Called from the suit activating whilst on cooldown. +You should be calling ..()
emp_activationA proc for doing owner unfriendly reactive armor effects. +Called from the suit activating while off cooldown, while the armor is still suffering from the effect of an EMP. +Returning TRUE will block the attack that triggered this
reactive_activationA proc for doing reactive armor effects. +Called from the suit activating while off cooldown, with no emp. +Returning TRUE will block the attack that triggered this
+

Var Details

active + + + + +

+

Whether the armor will try to react to hits (is it on)

bad_effect + + + + +

+

This will be true for 30 seconds after an EMP, it makes the reaction effect dangerous to the user.

cooldown_message + + + + +

+

Message sent when the armor is still on cooldown, but activates.

emp_message + + + + +

+

Message sent when the armor is emp'd. It is not the message for when the emp effect goes off.

reactivearmor_cooldown + + + + +

+

The cooldown itself of the reactive armor for when it can activate again.

reactivearmor_cooldown_duration + + + + +

+

Duration of the cooldown specific to reactive armor for when it can activate again.

Proc Details

cooldown_activation +

+

A proc for doing cooldown effects (like the sparks on the tesla armor, or the semi-stealth on stealth armor) +Called from the suit activating whilst on cooldown. +You should be calling ..()

emp_activation +

+

A proc for doing owner unfriendly reactive armor effects. +Called from the suit activating while off cooldown, while the armor is still suffering from the effect of an EMP. +Returning TRUE will block the attack that triggered this

reactive_activation +

+

A proc for doing reactive armor effects. +Called from the suit activating while off cooldown, with no emp. +Returning TRUE will block the attack that triggered this

+ + + diff --git a/obj/item/clothing/suit/armor/reactive/barricade.html b/obj/item/clothing/suit/armor/reactive/barricade.html new file mode 100644 index 00000000000..34b92949abd --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive/barricade.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive/barricade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

barricade + + + +

+ + + +

Procs

repulsePushes something one tile away from the source.
repulse_targetsReturns a list of all atoms around the source which can be moved away from it.

Proc Details

repulse +

+

Pushes something one tile away from the source.

+

Arguments

+
    +
  • victim - Thing being moved.
  • +
  • source - Thing to move it away from.
  • +

repulse_targets +

+

Returns a list of all atoms around the source which can be moved away from it.

+

Arguments

+
    +
  • source - Thing to try to move things away from.
  • +
+ + + diff --git a/obj/item/clothing/suit/armor/reactive/bioscrambling.html b/obj/item/clothing/suit/armor/reactive/bioscrambling.html new file mode 100644 index 00000000000..3d0da25a2ef --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive/bioscrambling.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive/bioscrambling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bioscrambling + + + +

+ + + +

Vars

rangeRange of the effect.
zonesLists for zones and bodyparts to swap and randomize
+

Var Details

range + + + + +

+

Range of the effect.

zones + + + + +

+

Lists for zones and bodyparts to swap and randomize

+ + + diff --git a/obj/item/clothing/suit/armor/reactive/stealth.html b/obj/item/clothing/suit/armor/reactive/stealth.html new file mode 100644 index 00000000000..f640b4cc2e2 --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive/stealth.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive/stealth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stealth + + + +

+ + + + + +

Vars

animation_timehow long it will animate back the alpha to the original
cooldown_alpha_removalwhen triggering while on cooldown will only flicker the alpha slightly. this is how much it removes.
cooldown_animation_timecooldown alpha flicker- how long it takes to return to the original alpha
stealth_timehow long they will be fully stealthed
+

Var Details

animation_time + + + + +

+

how long it will animate back the alpha to the original

cooldown_alpha_removal + + + + +

+

when triggering while on cooldown will only flicker the alpha slightly. this is how much it removes.

cooldown_animation_time + + + + +

+

cooldown alpha flicker- how long it takes to return to the original alpha

stealth_time + + + + +

+

how long they will be fully stealthed

+ + + diff --git a/obj/item/clothing/suit/armor/reactive/tesla.html b/obj/item/clothing/suit/armor/reactive/tesla.html new file mode 100644 index 00000000000..07f5b9966ec --- /dev/null +++ b/obj/item/clothing/suit/armor/reactive/tesla.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/suit/armor/reactive/tesla - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tesla + + + +

+ + + + +

Vars

zap_flagsWhat flags do we pass to the zaps we give off?
zap_powerHow strong are the zaps we give off?
zap_rangeHow far to the zaps we give off go?
+

Var Details

zap_flags + + + + +

+

What flags do we pass to the zaps we give off?

zap_power + + + + +

+

How strong are the zaps we give off?

zap_range + + + + +

+

How far to the zaps we give off go?

+ + + diff --git a/obj/item/clothing/suit/armor/vest/ctf.html b/obj/item/clothing/suit/armor/vest/ctf.html new file mode 100644 index 00000000000..ea9576d7bc6 --- /dev/null +++ b/obj/item/clothing/suit/armor/vest/ctf.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/armor/vest/ctf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ + +

Vars

team_shield_iconIcon state to be fed into the shielded component
+

Var Details

team_shield_icon + + + + +

+

Icon state to be fed into the shielded component

+ + + diff --git a/obj/item/clothing/suit/costume/wellworn_shirt.html b/obj/item/clothing/suit/costume/wellworn_shirt.html new file mode 100644 index 00000000000..eb7c0c2e9de --- /dev/null +++ b/obj/item/clothing/suit/costume/wellworn_shirt.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/costume/wellworn_shirt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wellworn_shirt + + + +

+ + +

Vars

wash_countHow many times has this shirt been washed? (In an ideal world this is just the determinant of the transform matrix.)
+

Var Details

wash_count + + + + +

+

How many times has this shirt been washed? (In an ideal world this is just the determinant of the transform matrix.)

+ + + diff --git a/obj/item/clothing/suit/hooded.html b/obj/item/clothing/suit/hooded.html new file mode 100644 index 00000000000..b4194b16386 --- /dev/null +++ b/obj/item/clothing/suit/hooded.html @@ -0,0 +1,93 @@ + + + + + + + /obj/item/clothing/suit/hooded - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hooded + + + +

+ +

Subtype with support for hoods +You no longer actually need to extend this and can just add the component yourself without a lot of this boilerplate code

+ + + + + + + + +

Vars

alternative_modeAlternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.
hoodReference to hood object, if it exists
hood_down_overlay_suffixIcon state added as a worn overlay while the hood is down, leave as "" for no overlay
hood_up_affixWhat should be added to the end of the icon state when the hood is up? Set to "" for the suit sprite to not change at all

Procs

can_create_hoodOverride to only create the hood conditionally
on_hood_createdCalled when the hood is instantiated
on_hood_deletedCalled when hood is deleted
on_hood_downCalled when the hood is hidden
on_hood_upCalled when the hood is worn
+

Var Details

alternative_mode + + + + +

+

Alternative mode for hiding the hood, instead of storing the hood in the suit it qdels it, useful for when you deal with hooded suit with storage.

hood + + + + +

+

Reference to hood object, if it exists

hood_down_overlay_suffix + + + + +

+

Icon state added as a worn overlay while the hood is down, leave as "" for no overlay

hood_up_affix + + + + +

+

What should be added to the end of the icon state when the hood is up? Set to "" for the suit sprite to not change at all

Proc Details

can_create_hood +

+

Override to only create the hood conditionally

on_hood_created +

+

Called when the hood is instantiated

on_hood_deleted +

+

Called when hood is deleted

on_hood_down +

+

Called when the hood is hidden

on_hood_up +

+

Called when the hood is worn

+ + + diff --git a/obj/item/clothing/suit/hooded/cloak/godslayer.html b/obj/item/clothing/suit/hooded/cloak/godslayer.html new file mode 100644 index 00000000000..7c423b1f05a --- /dev/null +++ b/obj/item/clothing/suit/hooded/cloak/godslayer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/suit/hooded/cloak/godslayer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

godslayer + + + +

+ + + + +

Vars

effect_cooldownCurrent cooldown for the effect
effect_cooldown_timeTime until the effect can take place again
heal_amountAmount to heal when the effect is triggered
+

Var Details

effect_cooldown + + + + +

+

Current cooldown for the effect

effect_cooldown_time + + + + +

+

Time until the effect can take place again

heal_amount + + + + +

+

Amount to heal when the effect is triggered

+ + + diff --git a/obj/item/clothing/suit/hooded/cultrobes.html b/obj/item/clothing/suit/hooded/cultrobes.html new file mode 100644 index 00000000000..b6db4015de0 --- /dev/null +++ b/obj/item/clothing/suit/hooded/cultrobes.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/clothing/suit/hooded/cultrobes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cultrobes + + + +

+ + + + +

Vars

hood_upWhether the hood is flipped up

Procs

on_hood_downCalled when the hood is hidden
on_hood_upCalled when the hood is worn
+

Var Details

hood_up + + + + +

+

Whether the hood is flipped up

Proc Details

on_hood_down +

+

Called when the hood is hidden

on_hood_up +

+

Called when the hood is worn

+ + + diff --git a/obj/item/clothing/suit/hooded/cultrobes/cult_shield.html b/obj/item/clothing/suit/hooded/cultrobes/cult_shield.html new file mode 100644 index 00000000000..18921259cbb --- /dev/null +++ b/obj/item/clothing/suit/hooded/cultrobes/cult_shield.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/clothing/suit/hooded/cultrobes/cult_shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cult_shield + + + +

+ + +

Procs

shield_damagedA proc for callback when the shield breaks, since cult robes are stupid and have different effects

Proc Details

shield_damaged +

+

A proc for callback when the shield breaks, since cult robes are stupid and have different effects

+ + + diff --git a/obj/item/clothing/suit/hooded/cultrobes/void.html b/obj/item/clothing/suit/hooded/cultrobes/void.html new file mode 100644 index 00000000000..d9867992452 --- /dev/null +++ b/obj/item/clothing/suit/hooded/cultrobes/void.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/clothing/suit/hooded/cultrobes/void - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

void + + + +

+ + + +

Procs

make_invisibleMakes our cloak "invisible". Not the wearer, the cloak itself.
make_visibleMakes our cloak "visible" again.

Proc Details

make_invisible +

+

Makes our cloak "invisible". Not the wearer, the cloak itself.

make_visible +

+

Makes our cloak "visible" again.

+ + + diff --git a/obj/item/clothing/suit/hooded/wintercoat.html b/obj/item/clothing/suit/hooded/wintercoat.html new file mode 100644 index 00000000000..46fc0a3e990 --- /dev/null +++ b/obj/item/clothing/suit/hooded/wintercoat.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/clothing/suit/hooded/wintercoat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wintercoat + + + +

+ + + +

Vars

zippedHow snug are we?

Procs

on_hood_downCalled when the hood is hidden
+

Var Details

zipped + + + + +

+

How snug are we?

Proc Details

on_hood_down +

+

Called when the hood is hidden

+ + + diff --git a/obj/item/clothing/suit/space.html b/obj/item/clothing/suit/space.html new file mode 100644 index 00000000000..ce408a1891f --- /dev/null +++ b/obj/item/clothing/suit/space.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/clothing/suit/space - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

space + + + +

+ + + + + + + + + + + +

Vars

cellThe default temperature setting
cell_cover_openIf this is a path, this gets created as an object in Initialize.
show_hudStatus of the thermal regulator
thermal_onStatus of the cell cover on the suit

Procs

AltClickOpen the cell cover when ALT+Click on the suit
CtrlClickRemove the cell whent he cover is open on CTRL+Click
equippedStart Processing on the space suit when it is worn to heat the wearer
remove_cellRemove the cell from the suit if the cell cover is open
toggle_spacesuitToggle the space suit's thermal regulator status
toggle_spacesuit_cellToggle the space suit's cell cover
+

Var Details

cell + + + + +

+

The default temperature setting

cell_cover_open + + + + +

+

If this is a path, this gets created as an object in Initialize.

show_hud + + + + +

+

Status of the thermal regulator

thermal_on + + + + +

+

Status of the cell cover on the suit

Proc Details

AltClick +

+

Open the cell cover when ALT+Click on the suit

CtrlClick +

+

Remove the cell whent he cover is open on CTRL+Click

equipped +

+

Start Processing on the space suit when it is worn to heat the wearer

remove_cell +

+

Remove the cell from the suit if the cell cover is open

toggle_spacesuit +

+

Toggle the space suit's thermal regulator status

+

Toggle the space suit's thermal regulator status... +Can't do it if it has no charge. +Arguments:

+
    +
  • toggler - User mob who receives the to_chat messages.
  • +
  • manual_toggle - If false get a differently-flavored message about it being disabled by itself
  • +

toggle_spacesuit_cell +

+

Toggle the space suit's cell cover

+ + + diff --git a/obj/item/clothing/suit/toggle.html b/obj/item/clothing/suit/toggle.html new file mode 100644 index 00000000000..5eb22b80d60 --- /dev/null +++ b/obj/item/clothing/suit/toggle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/clothing/suit/toggle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

toggle + + + +

+ + +

Vars

toggle_nounThe noun that is displayed to the user on toggle. EX: "Toggles the suit's [buttons]".
+

Var Details

toggle_noun + + + + +

+

The noun that is displayed to the user on toggle. EX: "Toggles the suit's [buttons]".

+ + + diff --git a/obj/item/clothing/under.html b/obj/item/clothing/under.html new file mode 100644 index 00000000000..a46492134c7 --- /dev/null +++ b/obj/item/clothing/under.html @@ -0,0 +1,189 @@ + + + + + + + /obj/item/clothing/under - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

under + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

accessory_overlayThe overlay of the accessory we're demonstrating. Only index 1 will show up. +This is the overlay on the MOB, not the item itself.
adjustedIf adjusted what style are we currently using?
alt_covers_chestFor adjusted/rolled-down jumpsuits. FALSE = exposes chest and arms, TRUE = exposes arms only
attached_accessoriesA list of all accessories attached to us.
can_adjustCan this suit be adjustd up or down to an alt style
female_sprite_flagsThe variable containing the flags for how the woman uniform cropping is supposed to interact with the sprite.
freshly_launderedHas this undersuit been freshly laundered and, as such, imparts a mood bonus for wearing
has_sensorDoes this undersuit have suit sensors in general
max_number_of_accessoriesThe max number of accessories we can have on this suit.
random_sensorDoes this undersuit spawn with a random sensor value
sensor_modeWhat is the active sensor mode of this udnersuit

Procs

adjust_to_altHelper to adjust to alt jumpsuit state
adjust_to_normalHelper to reset to normal jumpsuit state
attach_accessoryAttach the passed accessory to the clothing item
can_toggle_sensorsChecks if the toggler is allowed to toggle suit sensors currently
create_accessory_overlayHandles creating the worn overlay mutable appearance +Only the first accessory attached is displayed (currently)
dump_attachmentsHelper to remove all attachments to the passed location
list_accessories_with_iconHelper to list out all accessories with an icon besides it, for use in examine
pop_accessoryRemoves (pops) the topmost accessory from the accessories list and puts it in the user's hands if supplied
remove_accessoryRemoves the passed accesory from our accessories list
toggle_jumpsuit_adjustHelper to toggle the jumpsuit style, if possible +Returns the new state
update_accessory_overlayUpdates the accessory's worn overlay mutable appearance
+

Var Details

accessory_overlay + + + + +

+

The overlay of the accessory we're demonstrating. Only index 1 will show up. +This is the overlay on the MOB, not the item itself.

adjusted + + + + +

+

If adjusted what style are we currently using?

alt_covers_chest + + + + +

+

For adjusted/rolled-down jumpsuits. FALSE = exposes chest and arms, TRUE = exposes arms only

attached_accessories + + + + +

+

A list of all accessories attached to us.

can_adjust + + + + +

+

Can this suit be adjustd up or down to an alt style

female_sprite_flags + + + + +

+

The variable containing the flags for how the woman uniform cropping is supposed to interact with the sprite.

freshly_laundered + + + + +

+

Has this undersuit been freshly laundered and, as such, imparts a mood bonus for wearing

has_sensor + + + + +

+

Does this undersuit have suit sensors in general

max_number_of_accessories + + + + +

+

The max number of accessories we can have on this suit.

random_sensor + + + + +

+

Does this undersuit spawn with a random sensor value

sensor_mode + + + + +

+

What is the active sensor mode of this udnersuit

Proc Details

adjust_to_alt +

+

Helper to adjust to alt jumpsuit state

adjust_to_normal +

+

Helper to reset to normal jumpsuit state

attach_accessory +

+

Attach the passed accessory to the clothing item

can_toggle_sensors +

+

Checks if the toggler is allowed to toggle suit sensors currently

create_accessory_overlay +

+

Handles creating the worn overlay mutable appearance +Only the first accessory attached is displayed (currently)

dump_attachments +

+

Helper to remove all attachments to the passed location

list_accessories_with_icon +

+

Helper to list out all accessories with an icon besides it, for use in examine

pop_accessory +

+

Removes (pops) the topmost accessory from the accessories list and puts it in the user's hands if supplied

remove_accessory +

+

Removes the passed accesory from our accessories list

toggle_jumpsuit_adjust +

+

Helper to toggle the jumpsuit style, if possible +Returns the new state

update_accessory_overlay +

+

Updates the accessory's worn overlay mutable appearance

+ + + diff --git a/obj/item/codex_cicatrix.html b/obj/item/codex_cicatrix.html new file mode 100644 index 00000000000..913169a976d --- /dev/null +++ b/obj/item/codex_cicatrix.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/codex_cicatrix - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

codex_cicatrix + + + +

+ + + + + +

Vars

book_openHelps determine the icon state of this item when it's used on self.

Procs

after_clear_runeCallback for effect_remover component after a rune is deleted
close_animationPlays a closing animation and resets the icon state.
open_animationPlays a little animation that shows the book opening and closing.
+

Var Details

book_open + + + + +

+

Helps determine the icon state of this item when it's used on self.

Proc Details

after_clear_rune +

+

Callback for effect_remover component after a rune is deleted

close_animation +

+

Plays a closing animation and resets the icon state.

open_animation +

+

Plays a little animation that shows the book opening and closing.

+ + + diff --git a/obj/item/coin.html b/obj/item/coin.html new file mode 100644 index 00000000000..9acf7bb3506 --- /dev/null +++ b/obj/item/coin.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/coin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

coin + + + +

+ +

Coin

+ + +

Vars

has_actionIf the coin has an action or not
heads_nameThe name of the heads side of the coin
override_material_worthIf you do not want this coin to be valued based on its materials and instead set a custom value set this to TRUE and set value to the desired value.
+

Var Details

has_action + + + + +

+

If the coin has an action or not

heads_name + + + + +

+

The name of the heads side of the coin

override_material_worth + + + + +

+

If you do not want this coin to be valued based on its materials and instead set a custom value set this to TRUE and set value to the desired value.

+ + + diff --git a/obj/item/coin/eldritch.html b/obj/item/coin/eldritch.html new file mode 100644 index 00000000000..9be3cc75ed4 --- /dev/null +++ b/obj/item/coin/eldritch.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/coin/eldritch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eldritch + + + +

+ + +

Vars

airlock_rangeThe range at which airlocks are effected.
+

Var Details

airlock_range + + + + +

+

The range at which airlocks are effected.

+ + + diff --git a/obj/item/computer_disk.html b/obj/item/computer_disk.html new file mode 100644 index 00000000000..24cd90c12a2 --- /dev/null +++ b/obj/item/computer_disk.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/computer_disk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

computer_disk + + + +

+ + + + + + + +

Vars

max_capacityThe amount of storage space is on the disk
starting_programsList of all programs that the disk should start with.
stored_filesList of stored files on this drive. DO NOT MODIFY DIRECTLY!
used_capacityThe amount of storage space we've got filled

Procs

add_fileadd_file
remove_fileremove_file
+

Var Details

max_capacity + + + + +

+

The amount of storage space is on the disk

starting_programs + + + + +

+

List of all programs that the disk should start with.

stored_files + + + + +

+

List of stored files on this drive. DO NOT MODIFY DIRECTLY!

used_capacity + + + + +

+

The amount of storage space we've got filled

Proc Details

add_file +

+

add_file

+

Attempts to add an already existing file to the computer disk, then adds that capacity to the used capicity.

remove_file +

+

remove_file

+

Removes an app from the stored_files list, then removes their size from the capacity.

+ + + diff --git a/obj/item/computer_disk/command.html b/obj/item/computer_disk/command.html new file mode 100644 index 00000000000..9fc37ac84c6 --- /dev/null +++ b/obj/item/computer_disk/command.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/computer_disk/command - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

command + + + +

+ +

Command

+

Vars

command_programsStatic list of programss ALL command tablets have.
+

Var Details

command_programs + + + + +

+

Static list of programss ALL command tablets have.

+ + + diff --git a/obj/item/computer_disk/virus.html b/obj/item/computer_disk/virus.html new file mode 100644 index 00000000000..f8bc3c78667 --- /dev/null +++ b/obj/item/computer_disk/virus.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/computer_disk/virus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

virus + + + +

+ +

Virus disk +Can't hold apps, instead does unique actions.

+

Vars

chargesHow many charges the virus has left
+

Var Details

charges + + + + +

+

How many charges the virus has left

+ + + diff --git a/obj/item/computer_disk/virus/frame.html b/obj/item/computer_disk/virus/frame.html new file mode 100644 index 00000000000..161002d16c1 --- /dev/null +++ b/obj/item/computer_disk/virus/frame.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/computer_disk/virus/frame - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

frame + + + +

+ +

Frame cartridge +Creates and opens a false uplink on someone's PDA +Can be loaded with TC to show up on the false uplink.

+ +

Vars

current_progressionHow much progression should be shown in the uplink, set on purchase of the item.
telecrystalsHow many telecrystals the uplink should have
+

Var Details

current_progression + + + + +

+

How much progression should be shown in the uplink, set on purchase of the item.

telecrystals + + + + +

+

How many telecrystals the uplink should have

+ + + diff --git a/obj/item/construction.html b/obj/item/construction.html new file mode 100644 index 00000000000..9b8dbd24257 --- /dev/null +++ b/obj/item/construction.html @@ -0,0 +1,153 @@ + + + + + + + /obj/item/construction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

construction + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

ammo_sectionsamount of divisions in the ammo indicator overlay/number of ammo indicator states
banned_upgradesbitflags for banned upgrades
has_ammobarcontrols whether or not does update_icon apply ammo indicator overlays
mattercurrent local matter inside the device, not used when silo link is on
max_mattermaximum local matter this device can hold, not used when silo link is on
silo_linkswitch to use internal or remote storage
silo_matsremote connection to the silo
spark_systemthe spark system which sparks whever the ui options are dited
upgradebitflags for upgrades

Procs

check_menuChecks if we are allowed to interact with a radial menu
get_matterreturns local matter units available. overriden by rcd borg to return power units available
get_silo_ironused for examining the RCD and for its UI
handle_ui_actoverwrite to insert custom ui handling for subtypes
insert_matterInserts matter into the RCD allowing it to build
install_upgradeInstalls an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade
ui_actshared action for toggling silo link rcd,rld & plumbing
ui_datashared data for rcd,rld & plumbing
+

Var Details

ammo_sections + + + + +

+

amount of divisions in the ammo indicator overlay/number of ammo indicator states

banned_upgrades + + + + +

+

bitflags for banned upgrades

has_ammobar + + + + +

+

controls whether or not does update_icon apply ammo indicator overlays

matter + + + + +

+

current local matter inside the device, not used when silo link is on

max_matter + + + + +

+

maximum local matter this device can hold, not used when silo link is on

+

switch to use internal or remote storage

silo_mats + + + + +

+

remote connection to the silo

spark_system + + + + +

+

the spark system which sparks whever the ui options are dited

upgrade + + + + +

+

bitflags for upgrades

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The living mob interacting with the menu
  • +
  • remote_anchor The remote anchor for the menu
  • +

get_matter +

+

returns local matter units available. overriden by rcd borg to return power units available

get_silo_iron +

+

used for examining the RCD and for its UI

handle_ui_act +

+

overwrite to insert custom ui handling for subtypes

insert_matter +

+

Inserts matter into the RCD allowing it to build

install_upgrade +

+

Installs an upgrade into the RCD checking if it is already installed, or if it is a banned upgrade

ui_act +

+

shared action for toggling silo link rcd,rld & plumbing

ui_data +

+

shared data for rcd,rld & plumbing

+ + + diff --git a/obj/item/construction/plumbing.html b/obj/item/construction/plumbing.html new file mode 100644 index 00000000000..3fcb5b18960 --- /dev/null +++ b/obj/item/construction/plumbing.html @@ -0,0 +1,94 @@ + + + + + + + /obj/item/construction/plumbing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plumbing + + + +

+ +

The plumbing RCD. All the blueprints are located in _globalvars > lists > construction.dm

+ + + + + + + + +

Vars

blueprinttype of the plumbing machine
current_colorCurrent selected color, for ducts
current_layerCurrent selected layer
general_design_typesDesign types for general plumbing constructor
name_to_numbermaps layer name to layer number value. didnt make this global cause only this class needs it
plumbing_design_typesThis list that holds all the plumbing design types the plumberer can construct. Its purpose is to make it easy to make new plumberer subtypes with a different selection of machines.
selected_categorycategory of design selected

Procs

create_machinepretty much rcd_create, but named differently to make myself feel less bad for copypasting from a sibling-type
equippedplumbing_design_types["Synthesizers"] = +[1] =
+

Var Details

blueprint + + + + +

+

type of the plumbing machine

current_color + + + + +

+

Current selected color, for ducts

current_layer + + + + +

+

Current selected layer

general_design_types + + + + +

+

Design types for general plumbing constructor

name_to_number + + + + +

+

maps layer name to layer number value. didnt make this global cause only this class needs it

plumbing_design_types + + + + +

+

This list that holds all the plumbing design types the plumberer can construct. Its purpose is to make it easy to make new plumberer subtypes with a different selection of machines.

selected_category + + + + +

+

category of design selected

Proc Details

create_machine +

+

pretty much rcd_create, but named differently to make myself feel less bad for copypasting from a sibling-type

equipped +

+

plumbing_design_types["Synthesizers"] = +[1] =

+ + + diff --git a/obj/item/construction/plumbing/research.html b/obj/item/construction/plumbing/research.html new file mode 100644 index 00000000000..e00397fe262 --- /dev/null +++ b/obj/item/construction/plumbing/research.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/construction/plumbing/research - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

research + + + +

+ + +

Vars

research_design_typesDesign types for research plumbing constructor
+

Var Details

research_design_types + + + + +

+

Design types for research plumbing constructor

+ + + diff --git a/obj/item/construction/plumbing/service.html b/obj/item/construction/plumbing/service.html new file mode 100644 index 00000000000..dafd9fc89fe --- /dev/null +++ b/obj/item/construction/plumbing/service.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/construction/plumbing/service - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

service + + + +

+ + +

Vars

service_design_typesDesign types for plumbing service constructor
+

Var Details

service_design_types + + + + +

+

Design types for plumbing service constructor

+ + + diff --git a/obj/item/construction/rcd.html b/obj/item/construction/rcd.html new file mode 100644 index 00000000000..6c73d65de51 --- /dev/null +++ b/obj/item/construction/rcd.html @@ -0,0 +1,169 @@ + + + + + + + /obj/item/construction/rcd - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rcd + + + +

+ + + + + + + + + + + + + + + + + +

Vars

airlock_electronicsintegrated airlock electronics for setting access to a newly built airlocks
canRturfvariable for R walls to deconstruct them
construction_modetemporary holder of mode, used to restore mode original value after rcd deconstruction act
current_active_effectsnumber of active rcd effects in use e.g. when building multiple walls at once this value increases
delay_moddelay multiplier for all construction types
design_categorycategory of currently selected design
design_titlename of currently selected design
modetype of structure being built, used to decide what variables are used to build what structure
ownerowner of this rcd. It can either be an construction console or an player
rangedused by arcd, can this rcd work from a range
rcd_design_pathThe path of the structure the rcd is currently creating
root_categorymain category of currently selected design[Structures, Airlocks, Airlock Access]

Procs

_rcd_create_effectInternal proc which creates the rcd effects & creates the structure
attack_selfThe advantage of organizing designs into categories is that +You can ignore an complete category if the design disk upgrade for that category isn't installed.
can_placechecks if we can build the structure +Arguments
rcd_createFor anything that does not go an a wall we have to make sure that turf is clear for us to put the structure on it +If we are just trying to destory something then this check is not nessassary +RCD_WALLFRAME is also returned as the rcd_mode when upgrading apc, airalarm, firealarm using simple circuits upgrade
+

Var Details

airlock_electronics + + + + +

+

integrated airlock electronics for setting access to a newly built airlocks

canRturf + + + + +

+

variable for R walls to deconstruct them

construction_mode + + + + +

+

temporary holder of mode, used to restore mode original value after rcd deconstruction act

current_active_effects + + + + +

+

number of active rcd effects in use e.g. when building multiple walls at once this value increases

delay_mod + + + + +

+

delay multiplier for all construction types

design_category + + + + +

+

category of currently selected design

design_title + + + + +

+

name of currently selected design

mode + + + + +

+

type of structure being built, used to decide what variables are used to build what structure

owner + + + + +

+

owner of this rcd. It can either be an construction console or an player

ranged + + + + +

+

used by arcd, can this rcd work from a range

rcd_design_path + + + + +

+

The path of the structure the rcd is currently creating

root_category + + + + +

+

main category of currently selected design[Structures, Airlocks, Airlock Access]

Proc Details

_rcd_create_effect +

+

Internal proc which creates the rcd effects & creates the structure

+

Arguments

+
    +
  • [atom][target]- the target we are trying to build on/deconstruct e.g. turf, wall etc
  • +
  • [mob][user]- the user trying to build the structure
  • +
  • delay- the delay with the disk upgrades applied
  • +
  • rcd_results- list of params which contains the cost & build mode to create the structure
  • +

attack_self +

+

The advantage of organizing designs into categories is that +You can ignore an complete category if the design disk upgrade for that category isn't installed.

can_place +

+

checks if we can build the structure +Arguments

+
    +
  • [atom][target]- the target we are trying to build on/deconstruct e.g. turf, wall etc
  • +
  • rcd_results- list of params specifically the build type of our structure
  • +
  • [mob][user]- the user
  • +

rcd_create +

+

For anything that does not go an a wall we have to make sure that turf is clear for us to put the structure on it +If we are just trying to destory something then this check is not nessassary +RCD_WALLFRAME is also returned as the rcd_mode when upgrading apc, airalarm, firealarm using simple circuits upgrade

+

if we are trying to create plating on turf which is not a proper floor then dont check for objects on top of the turf just allow that turf to be converted into plating. e.g. create plating beneath a player or underneath a machine frame/any dense object +if we are trying to finish a wall girder then let it finish then make sure no one/nothing is stuck in the girder

+

actual proc to create the structure

+

Arguments

+
    +
  • [atom][target]- the target we are trying to build on/deconstruct e.g. turf, wall etc
  • +
  • [mob][user]- the user building this structure
  • +
+ + + diff --git a/obj/item/construction/rld.html b/obj/item/construction/rld.html new file mode 100644 index 00000000000..72ba175ee9a --- /dev/null +++ b/obj/item/construction/rld.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/construction/rld - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rld + + + +

+ + + + +

Vars

display_optionswill contain the original icons modified with the color choice
modemode of operation see above defines
original_optionsreference to thr original icons
+

Var Details

display_options + + + + +

+

will contain the original icons modified with the color choice

mode + + + + +

+

mode of operation see above defines

original_options + + + + +

+

reference to thr original icons

+ + + diff --git a/obj/item/construction/rtd.html b/obj/item/construction/rtd.html new file mode 100644 index 00000000000..09ba2d3c8c8 --- /dev/null +++ b/obj/item/construction/rtd.html @@ -0,0 +1,66 @@ + + + + + + + /obj/item/construction/rtd - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rtd + + + +

+ +

An tool used to create, destroy, and copy & clear decals of floor tiles +Great for janitor but can be made only in engineering +Supports silo link upgrade and refill with glass, plasteel & iron

+ + + + +

Vars

design_categorysub category for tile design
design_overlaysoverlays on a tile
root_categorymain category for tile design
selected_designdesign selected by player
tile_designtemp var to store an single design from GLOB.floor_design while iterating through this list
+

Var Details

design_category + + + + +

+

sub category for tile design

design_overlays + + + + +

+

overlays on a tile

root_category + + + + +

+

main category for tile design

selected_design + + + + +

+

design selected by player

tile_design + + + + +

+

temp var to store an single design from GLOB.floor_design while iterating through this list

+ + + diff --git a/obj/item/coupon.html b/obj/item/coupon.html new file mode 100644 index 00000000000..c223ae8cbd4 --- /dev/null +++ b/obj/item/coupon.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/coupon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

coupon + + + +

+ + + +

Procs

curse_heartPlay stupid games, win stupid prizes
generateChoose what our prize is :D

Proc Details

curse_heart +

+

Play stupid games, win stupid prizes

generate +

+

Choose what our prize is :D

+ + + diff --git a/obj/item/crowbar/power.html b/obj/item/crowbar/power.html new file mode 100644 index 00000000000..d47f0ca2854 --- /dev/null +++ b/obj/item/crowbar/power.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/crowbar/power - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

power + + + +

+ + + +

Vars

snap_time_strong_handcuffsUsed on Initialize, how much time to cut real handcuffs. Null means it can't.
snap_time_weak_handcuffsUsed on Initialize, how much time to cut cable restraints and zipties.
+

Var Details

snap_time_strong_handcuffs + + + + +

+

Used on Initialize, how much time to cut real handcuffs. Null means it can't.

snap_time_weak_handcuffs + + + + +

+

Used on Initialize, how much time to cut cable restraints and zipties.

+ + + diff --git a/obj/item/crusher_trophy/bileworm_spewlet.html b/obj/item/crusher_trophy/bileworm_spewlet.html new file mode 100644 index 00000000000..45f2eb36d07 --- /dev/null +++ b/obj/item/crusher_trophy/bileworm_spewlet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/crusher_trophy/bileworm_spewlet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bileworm_spewlet + + + +

+ + +

Vars

abilityitem ability that handles the effect
+

Var Details

ability + + + + +

+

item ability that handles the effect

+ + + diff --git a/obj/item/crusher_trophy/brimdemon_fang.html b/obj/item/crusher_trophy/brimdemon_fang.html new file mode 100644 index 00000000000..01709b48082 --- /dev/null +++ b/obj/item/crusher_trophy/brimdemon_fang.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/crusher_trophy/brimdemon_fang - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

brimdemon_fang + + + +

+ +

Brimdemon crusher trophy, it... makes a funny sound?

+

Vars

comic_phrasesCartoon punching vfx
+

Var Details

comic_phrases + + + + +

+

Cartoon punching vfx

+ + + diff --git a/obj/item/crusher_trophy/broodmother_tongue.html b/obj/item/crusher_trophy/broodmother_tongue.html new file mode 100644 index 00000000000..554b42eb571 --- /dev/null +++ b/obj/item/crusher_trophy/broodmother_tongue.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/crusher_trophy/broodmother_tongue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

broodmother_tongue + + + +

+ + +

Vars

use_timeTime at which the item becomes usable again
+

Var Details

use_time + + + + +

+

Time at which the item becomes usable again

+ + + diff --git a/obj/item/crusher_trophy/goliath_tentacle.html b/obj/item/crusher_trophy/goliath_tentacle.html new file mode 100644 index 00000000000..6e7590a4fc1 --- /dev/null +++ b/obj/item/crusher_trophy/goliath_tentacle.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/crusher_trophy/goliath_tentacle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

goliath_tentacle + + + +

+ +

Mining crusher trophy from a goliath. Increases damage as your health decreases.

+ +

Vars

missing_health_descAmount of health you must lose to gain damage, according to the examine text. Cached so we don't recalculate it every examine.
missing_health_ratioYour missing health is multiplied by this value to find the bonus damage
+

Var Details

missing_health_desc + + + + +

+

Amount of health you must lose to gain damage, according to the examine text. Cached so we don't recalculate it every examine.

missing_health_ratio + + + + +

+

Your missing health is multiplied by this value to find the bonus damage

+ + + diff --git a/obj/item/crusher_trophy/ice_demon_cube.html b/obj/item/crusher_trophy/ice_demon_cube.html new file mode 100644 index 00000000000..dd446c46f93 --- /dev/null +++ b/obj/item/crusher_trophy/ice_demon_cube.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/crusher_trophy/ice_demon_cube - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ice_demon_cube + + + +

+ + + + +

Vars

summon_amounthow many will we summon?
summon_cooldowncooldown to summon demons upon the target

Procs

find_dropoff_turftry to make them spawn all around the target to surround him
+

Var Details

summon_amount + + + + +

+

how many will we summon?

summon_cooldown + + + + +

+

cooldown to summon demons upon the target

Proc Details

find_dropoff_turf +

+

try to make them spawn all around the target to surround him

+ + + diff --git a/obj/item/crusher_trophy/legionnaire_spine.html b/obj/item/crusher_trophy/legionnaire_spine.html new file mode 100644 index 00000000000..1eb54afcf1f --- /dev/null +++ b/obj/item/crusher_trophy/legionnaire_spine.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/crusher_trophy/legionnaire_spine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

legionnaire_spine + + + +

+ + +

Vars

next_use_timeTime at which the item becomes usable again
+

Var Details

next_use_time + + + + +

+

Time at which the item becomes usable again

+ + + diff --git a/obj/item/ctf_flag.html b/obj/item/ctf_flag.html new file mode 100644 index 00000000000..62088e41705 --- /dev/null +++ b/obj/item/ctf_flag.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/ctf_flag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ctf_flag + + + +

+ +

A flag used for the CTF minigame.

+ + + + + + +

Vars

anyonecanpickupCan anyone pick up the flag or only players of the opposing team.
ctf_gameReference to the CTF controller associated with the above game ID.
flag_valueHow many points this flag is worth when captured.
game_idGame_id that this flag is associated with.
resetReference to an object that's location is used when this flag needs to respawn.
reset_cooldownVar used for tracking when this flag should be returned to base.
teamTeam that this flag is associated with, a team cannot capture its own flag.
+

Var Details

anyonecanpickup + + + + +

+

Can anyone pick up the flag or only players of the opposing team.

ctf_game + + + + +

+

Reference to the CTF controller associated with the above game ID.

flag_value + + + + +

+

How many points this flag is worth when captured.

game_id + + + + +

+

Game_id that this flag is associated with.

reset + + + + +

+

Reference to an object that's location is used when this flag needs to respawn.

reset_cooldown + + + + +

+

Var used for tracking when this flag should be returned to base.

team + + + + +

+

Team that this flag is associated with, a team cannot capture its own flag.

+ + + diff --git a/obj/item/cult_bastard.html b/obj/item/cult_bastard.html new file mode 100644 index 00000000000..40a1f08aba5 --- /dev/null +++ b/obj/item/cult_bastard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/cult_bastard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cult_bastard + + + +

+ +

Cult Bastard Sword, earned by cultists when they manage to sacrifice a heretic.

+

Vars

spinningif we are using our attack_self ability
+

Var Details

spinning + + + + +

+

if we are using our attack_self ability

+ + + diff --git a/obj/item/cult_shift.html b/obj/item/cult_shift.html new file mode 100644 index 00000000000..26c6db75b3b --- /dev/null +++ b/obj/item/cult_shift.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/cult_shift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cult_shift + + + +

+ + + +

Vars

usesHow many uses does the item have before becoming inert

Procs

handle_teleport_grabHandles teleporting the atom we're pulling along with us when using the shifter
+

Var Details

uses + + + + +

+

How many uses does the item have before becoming inert

Proc Details

handle_teleport_grab +

+

Handles teleporting the atom we're pulling along with us when using the shifter

+ + + diff --git a/obj/item/defibrillator.html b/obj/item/defibrillator.html new file mode 100644 index 00000000000..3362f178a87 --- /dev/null +++ b/obj/item/defibrillator.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/defibrillator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

defibrillator + + + +

+ + + + + + + + + + + + +

Vars

cell_removableIf the cell can be removed via screwdriver
charge_stateThe icon state for the charge bar overlay, not applied if null
combatIf true, revive through space suits, allow for combat shocking
cooldown_durationHow long does it take to recharge
emagged_stateThe icon state for the emagged overlay, not applied if null
nocell_stateThe icon state for the missing cell overlay, not applied if null
onIf the paddles are equipped (1) or on the defib (0)
paddle_stateThe icon state for the paddle overlay, not applied if null
poweredIf there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise
powered_stateThe icon state for the powered on overlay, not applied if null
safetyIf you can zap people with the defibs on harm mode
+

Var Details

cell_removable + + + + +

+

If the cell can be removed via screwdriver

charge_state + + + + +

+

The icon state for the charge bar overlay, not applied if null

combat + + + + +

+

If true, revive through space suits, allow for combat shocking

cooldown_duration + + + + +

+

How long does it take to recharge

emagged_state + + + + +

+

The icon state for the emagged overlay, not applied if null

nocell_state + + + + +

+

The icon state for the missing cell overlay, not applied if null

on + + + + +

+

If the paddles are equipped (1) or on the defib (0)

paddle_state + + + + +

+

The icon state for the paddle overlay, not applied if null

powered + + + + +

+

If there's a cell in the defib with enough power for a revive, blocks paddles from reviving otherwise

powered_state + + + + +

+

The icon state for the powered on overlay, not applied if null

safety + + + + +

+

If you can zap people with the defibs on harm mode

+ + + diff --git a/obj/item/delivery.html b/obj/item/delivery.html new file mode 100644 index 00000000000..09b14bac351 --- /dev/null +++ b/obj/item/delivery.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/delivery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

delivery + + + +

+ + + + +

Procs

attempt_pre_unwrap_contentsInitial check if manually unwrapping
post_unwrap_contentsEffects after completing unwrapping
unwrap_contentsSignals for unwrapping.

Proc Details

attempt_pre_unwrap_contents +

+

Initial check if manually unwrapping

post_unwrap_contents +

+

Effects after completing unwrapping

unwrap_contents +

+

Signals for unwrapping.

+ + + diff --git a/obj/item/dest_tagger.html b/obj/item/dest_tagger.html new file mode 100644 index 00000000000..d72f3e4be21 --- /dev/null +++ b/obj/item/dest_tagger.html @@ -0,0 +1,63 @@ + + + + + + + /obj/item/dest_tagger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dest_tagger + + + +

+ + + + + + +

Procs

attack_selfUser activates in hand
ui_actUser clicks a button on the tagger
ui_dataData sent to TGUI window
ui_interactStandard TGUI actions
ui_stateIf the user dropped the tagger

Proc Details

attack_self +

+

User activates in hand

ui_act +

+

User clicks a button on the tagger

ui_data +

+

Data sent to TGUI window

ui_interact +

+

Standard TGUI actions

ui_state +

+

If the user dropped the tagger

+ + + diff --git a/obj/item/detective_scanner.html b/obj/item/detective_scanner.html new file mode 100644 index 00000000000..25c5cae5523 --- /dev/null +++ b/obj/item/detective_scanner.html @@ -0,0 +1,60 @@ + + + + + + + /obj/item/detective_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

detective_scanner + + + +

+ + + + + +

Vars

scanner_busyif the scanner is currently busy processing

Procs

safe_print_reportsafe_print_report - a wrapper proc for print_report
safe_scansafe_scan - a wrapper proc for scan()
scanscan - scans an atom for forensic data and outputs it to the mob holding the scanner
+

Var Details

scanner_busy + + + + +

+

if the scanner is currently busy processing

Proc Details

safe_print_report +

+

safe_print_report - a wrapper proc for print_report

+

Calls print_report(), and should a runtime occur within we can still reset the 'busy' state

safe_scan +

+

safe_scan - a wrapper proc for scan()

+

calls scan(), and should a runtime occur within we can still reset the 'busy' state

scan +

+

scan - scans an atom for forensic data and outputs it to the mob holding the scanner

+

This should always return TRUE barring a runtime

+ + + diff --git a/obj/item/dice.html b/obj/item/dice.html new file mode 100644 index 00000000000..c0900714a9c --- /dev/null +++ b/obj/item/dice.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/dice - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dice + + + +

+ +

this is a prototype for dice, for a real d6 use "/obj/item/dice/d6"

+

Procs

manipulate_resultA proc to modify the displayed result. (Does not affect what the icon_state is passed.)

Proc Details

manipulate_result +

+

A proc to modify the displayed result. (Does not affect what the icon_state is passed.)

+ + + diff --git a/obj/item/dice/d20/fate.html b/obj/item/dice/d20/fate.html new file mode 100644 index 00000000000..1679d9ef8ab --- /dev/null +++ b/obj/item/dice/d20/fate.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/dice/d20/fate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fate + + + +

+ + +

Vars

roll_cdSo you can't roll the die 20 times in a second and stack a bunch of effects that might conflict
+

Var Details

roll_cd + + + + +

+

So you can't roll the die 20 times in a second and stack a bunch of effects that might conflict

+ + + diff --git a/obj/item/disk/design_disk.html b/obj/item/disk/design_disk.html new file mode 100644 index 00000000000..6fa7a36e53d --- /dev/null +++ b/obj/item/disk/design_disk.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/disk/design_disk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

design_disk + + + +

+ + + +

Vars

blueprintsList of all /datum/design stored on the disk.

Procs

on_uploadUsed for special interactions with a techweb when uploading the designs. +Args:
+

Var Details

blueprints + + + + +

+

List of all /datum/design stored on the disk.

Proc Details

on_upload +

+

Used for special interactions with a techweb when uploading the designs. +Args:

+
    +
  • stored_research - The techweb that's storing us.
  • +
+ + + diff --git a/obj/item/disk/design_disk/bepis.html b/obj/item/disk/design_disk/bepis.html new file mode 100644 index 00000000000..806c88de1a1 --- /dev/null +++ b/obj/item/disk/design_disk/bepis.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/disk/design_disk/bepis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bepis + + + +

+ + + +

Vars

bepis_nodeThe bepis node we have the design id's of

Procs

on_uploadUnhide and research our node so we show up in the R&D console.
+

Var Details

bepis_node + + + + +

+

The bepis node we have the design id's of

Proc Details

on_upload +

+

Unhide and research our node so we show up in the R&D console.

+ + + diff --git a/obj/item/disk/design_disk/limbs.html b/obj/item/disk/design_disk/limbs.html new file mode 100644 index 00000000000..604da1f07bc --- /dev/null +++ b/obj/item/disk/design_disk/limbs.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/disk/design_disk/limbs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

limbs + + + +

+ +

Design disks and designs - for adding limbs and organs to the limbgrower.

+

Vars

limb_designsList of all limb designs this disk contains.
+

Var Details

limb_designs + + + + +

+

List of all limb designs this disk contains.

+ + + diff --git a/obj/item/disk/nuclear.html b/obj/item/disk/nuclear.html new file mode 100644 index 00000000000..291be6ca519 --- /dev/null +++ b/obj/item/disk/nuclear.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/disk/nuclear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nuclear + + + +

+ + + +

Vars

fakeWhether we're a real nuke disk or not.

Procs

examineHow comfy is our disk?
+

Var Details

fake + + + + +

+

Whether we're a real nuke disk or not.

Proc Details

examine +

+

How comfy is our disk?

+ + + diff --git a/obj/item/dna_probe.html b/obj/item/dna_probe.html new file mode 100644 index 00000000000..df096368570 --- /dev/null +++ b/obj/item/dna_probe.html @@ -0,0 +1,72 @@ + + + + + + + /obj/item/dna_probe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dna_probe + + + +

+ +

DNA Probe

+

Used for scanning DNA, and can be uploaded to a DNA vault.

+ + + + + +

Vars

allowed_scansWhat sources of DNA this sampler can extract from.
carp_dna_loadedWhether we have Carp DNA
dna_vault_refweak ref to the dna vault
stored_dna_animalList of all Animal DNA scanned with this sampler.
stored_dna_humanList of all Human DNA scanned with this sampler.
stored_dna_plantsList of all Plant DNA scanned with this sampler.
+

Var Details

allowed_scans + + + + +

+

What sources of DNA this sampler can extract from.

carp_dna_loaded + + + + +

+

Whether we have Carp DNA

dna_vault_ref + + + + +

+

weak ref to the dna vault

stored_dna_animal + + + + +

+

List of all Animal DNA scanned with this sampler.

stored_dna_human + + + + +

+

List of all Human DNA scanned with this sampler.

stored_dna_plants + + + + +

+

List of all Plant DNA scanned with this sampler.

+ + + diff --git a/obj/item/documents.html b/obj/item/documents.html new file mode 100644 index 00000000000..8680e99f9f6 --- /dev/null +++ b/obj/item/documents.html @@ -0,0 +1,31 @@ + + + + + + + /obj/item/documents - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

secret documents + + + +

+ +

Indestructible antag objective that can be photocopied.

+

Photocopying this is handled in photocopier.dm. +Cannot be destroyed, but can be spaced. +Save for the inhand, this does not actually have anything in common with /obj/item/paper.

+ + + diff --git a/obj/item/documents/photocopy.html b/obj/item/documents/photocopy.html new file mode 100644 index 00000000000..92a718e6c1c --- /dev/null +++ b/obj/item/documents/photocopy.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/documents/photocopy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

secret documents (photocopy) + + + +

+ +

Outcome of photocopying documents. Can be copied, and can have a blue/red seal forged.

+ +

Vars

copy_typeWhat was copied
forgedsealWhat seal was forged on the documents (color name string)
+

Var Details

copy_type + + + + +

+

What was copied

forgedseal + + + + +

+

What seal was forged on the documents (color name string)

+ + + diff --git a/obj/item/door_seal.html b/obj/item/door_seal.html new file mode 100644 index 00000000000..47e73209bad --- /dev/null +++ b/obj/item/door_seal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/door_seal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

door_seal + + + +

+ + + +

Vars

seal_timehow long the seal takes to place on the door
unseal_timehow long it takes to remove the seal from a door
+

Var Details

seal_time + + + + +

+

how long the seal takes to place on the door

unseal_time + + + + +

+

how long it takes to remove the seal from a door

+ + + diff --git a/obj/item/dualsaber.html b/obj/item/dualsaber.html new file mode 100644 index 00000000000..e9b58e8107d --- /dev/null +++ b/obj/item/dualsaber.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/dualsaber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dualsaber + + + +

+ + + +

Procs

on_unwieldTriggered on unwield of two handed item +switch hitsounds
on_wieldTriggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

Proc Details

on_unwield +

+

Triggered on unwield of two handed item +switch hitsounds

on_wield +

+

Triggered on wield of two handed item +Specific hulk checks due to reflection chance for balance issues and switches hitsounds.

+ + + diff --git a/obj/item/dullahan_relay.html b/obj/item/dullahan_relay.html new file mode 100644 index 00000000000..64b7badae0f --- /dev/null +++ b/obj/item/dullahan_relay.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/dullahan_relay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dullahan_relay + + + +

+ + + + + + +

Vars

ownerThe mob (a dullahan) that owns this relay.

Procs

include_ownerAdds the owner to the list of hearers in hearers_in_view(), for visible/hearable on top of say messages
retrieve_headRetrieving the owner's head for better ahealing.
unlist_headStops dullahans from gibbing when regenerating limbs
update_prefs_nameUpdates our names after applying name prefs
+

Var Details

owner + + + + +

+

The mob (a dullahan) that owns this relay.

Proc Details

include_owner +

+

Adds the owner to the list of hearers in hearers_in_view(), for visible/hearable on top of say messages

retrieve_head +

+

Retrieving the owner's head for better ahealing.

unlist_head +

+

Stops dullahans from gibbing when regenerating limbs

update_prefs_name +

+

Updates our names after applying name prefs

+ + + diff --git a/obj/item/dyespray.html b/obj/item/dyespray.html new file mode 100644 index 00000000000..7371fca05c5 --- /dev/null +++ b/obj/item/dyespray.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/dyespray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dyespray + + + +

+ + +

Procs

dyeApplies a gradient and a gradient color to a mob.

Proc Details

dye +

+

Applies a gradient and a gradient color to a mob.

+

Arguments:

+
    +
  • target - The mob who we will apply the gradient and gradient color to.
  • +
+ + + diff --git a/obj/item/ectoplasm/revenant.html b/obj/item/ectoplasm/revenant.html new file mode 100644 index 00000000000..f1c16f788eb --- /dev/null +++ b/obj/item/ectoplasm/revenant.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/ectoplasm/revenant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

revenant + + + +

+ + + + + + + +

Vars

inertAre we inert (aka distorted such that we can't reform)?
old_ckeyThe key of the revenant that we started the reform as
reformingAre we currently reforming?
revenantThe revenant we're currently storing

Procs

get_new_userHandles giving the revenant a new client to control it
reformActually moves the revenant out of ourself
+

Var Details

inert + + + + +

+

Are we inert (aka distorted such that we can't reform)?

old_ckey + + + + +

+

The key of the revenant that we started the reform as

reforming + + + + +

+

Are we currently reforming?

revenant + + + + +

+

The revenant we're currently storing

Proc Details

get_new_user +

+

Handles giving the revenant a new client to control it

reform +

+

Actually moves the revenant out of ourself

+ + + diff --git a/obj/item/eldritch_potion.html b/obj/item/eldritch_potion.html new file mode 100644 index 00000000000..ae069a9f238 --- /dev/null +++ b/obj/item/eldritch_potion.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/eldritch_potion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch_potion + + + +

+ + + + +

Vars

crucible_tipWhen a heretic examines a mawed crucible, shows a list of possible potions by name + includes this tip to explain what it does.
status_effectTypepath to the status effect this applies

Procs

potion_effectThe effect of the potion, if it has any special one. +In general try not to override this +and utilize the status_effect var to make custom effects.
+

Var Details

crucible_tip + + + + +

+

When a heretic examines a mawed crucible, shows a list of possible potions by name + includes this tip to explain what it does.

status_effect + + + + +

+

Typepath to the status effect this applies

Proc Details

potion_effect +

+

The effect of the potion, if it has any special one. +In general try not to override this +and utilize the status_effect var to make custom effects.

+ + + diff --git a/obj/item/electronics/airlock.html b/obj/item/electronics/airlock.html new file mode 100644 index 00000000000..cfe295c22a5 --- /dev/null +++ b/obj/item/electronics/airlock.html @@ -0,0 +1,104 @@ + + + + + + + /obj/item/electronics/airlock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

airlock + + + +

+ + + + + + + + + + + +

Vars

accessesA list of all granted accesses
holderA holder of the electronics, in case of them working as an integrated part
one_accessIf the airlock should require ALL or only ONE of the listed accesses
passed_cycle_idwhat string are we passing to the finished airlock as the cycle ID
passed_namewhat name are we passing to the finished airlock
shellWhether this airlock can have an integrated circuit inside of it or not
unres_sensorChecks to see if this airlock has an unrestricted helper (will set to TRUE if present).
unres_sidesUnrestricted sides, or sides of the airlock that will open regardless of access

Procs

create_copyCreate a copy of the electronics +Arguments
do_actionshared by rcd & airlock electronics
+

Var Details

accesses + + + + +

+

A list of all granted accesses

holder + + + + +

+

A holder of the electronics, in case of them working as an integrated part

one_access + + + + +

+

If the airlock should require ALL or only ONE of the listed accesses

passed_cycle_id + + + + +

+

what string are we passing to the finished airlock as the cycle ID

passed_name + + + + +

+

what name are we passing to the finished airlock

shell + + + + +

+

Whether this airlock can have an integrated circuit inside of it or not

unres_sensor + + + + +

+

Checks to see if this airlock has an unrestricted helper (will set to TRUE if present).

unres_sides + + + + +

+

Unrestricted sides, or sides of the airlock that will open regardless of access

Proc Details

create_copy +

+

Create a copy of the electronics +Arguments

+
    +
  • location- the location to create the new copy in
  • +

do_action +

+

shared by rcd & airlock electronics

+ + + diff --git a/obj/item/encryptionkey.html b/obj/item/encryptionkey.html new file mode 100644 index 00000000000..0f6c6145cd6 --- /dev/null +++ b/obj/item/encryptionkey.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/encryptionkey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

encryptionkey + + + +

+ + + + + +

Vars

channelsWhat channels does this encryption key grant to the parent headset.
independentIf true, the radio can say/hear on the special CentCom channel.
syndieDecrypts Syndicate radio transmissions.
translate_binaryCan this radio key access the binary radio channel?
+

Var Details

channels + + + + +

+

What channels does this encryption key grant to the parent headset.

independent + + + + +

+

If true, the radio can say/hear on the special CentCom channel.

syndie + + + + +

+

Decrypts Syndicate radio transmissions.

translate_binary + + + + +

+

Can this radio key access the binary radio channel?

+ + + diff --git a/obj/item/energy_katana.html b/obj/item/energy_katana.html new file mode 100644 index 00000000000..8414675b42a --- /dev/null +++ b/obj/item/energy_katana.html @@ -0,0 +1,32 @@ + + + + + + + /obj/item/energy_katana - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Energy Katana + + + +

+ +

The space ninja's katana.

+

The katana that only space ninja spawns with. Comes with 30 force and throwforce, along with a signature special jaunting system. +Upon clicking on a tile when right clicking, the user will teleport to that tile, assuming their target was not dense. +The katana has 3 dashes stored at maximum, and upon using the dash, it will return 20 seconds after it was used. +It also has a special feature where if it is tossed at a space ninja who owns it (determined by the ninja suit), the ninja will catch the katana instead of being hit by it.

+ + + diff --git a/obj/item/exodrone.html b/obj/item/exodrone.html new file mode 100644 index 00000000000..c024573b5eb --- /dev/null +++ b/obj/item/exodrone.html @@ -0,0 +1,283 @@ + + + + + + + /obj/item/exodrone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

exodrone + + + +

+ +

Exploration drone

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

_regex_contextUsed to provide source to the regex replacement function. DO NOT MODIFY DIRECTLY
busy_durationHow long will busy state last
busy_messageMessage that will show up on busy screen
busy_start_timeWhen we entered busy state
controlledAre we currently controlled by remote terminal, blocks other terminals from interacting with this drone.
drone_logLog of recent events
drone_statusCurrent drone status, see code__DEFINES\adventure.dm
last_padPad we've launched from, we'll try to land on this one first when coming back if it still exists.
locationSite we're currently at, null means station.
name_counterRepeated drone name counter
toolsList of tools, EXODRONE_TOOL_WELDER etc
travel_targetSite we're currently travelling to, null means going back to station - check drone status if you want to check if traveling or idle
travel_timeTotal travel time to our current target
travel_timer_idId of travel timer

Procs

DestroyCargo storage
add_toolAdds drone tool and resizes storage.
add_tool_qualitiesApplies adventure qualities based on our tools
award_adventure_lootAdds loot from current adventure to the drone
damageWe're home and on ready pad or exploring and out of any events/adventures +Deals damage in adventures/events.
drop_somewhere_on_stationCrashes the drone somewhere random if there's no launchpad to be found.
explore_siteencounters random or specificed event for the current site.
find_landing_padTries to find landing pad, starting with the one we launched from.
finish_travelTravel cleanup
get_cargo_dataBuilds ui data for drone storage.
launch_forStarts travel for site, does not validate if it's possible
remove_toolRemoves drone tool and resizes storage.
replace_keywordThis is called with src = regex datum, so don't try to access any instance variables directly here.
resolve_adventureHandles finishing adventure
set_busyEnters busy mode for a given duration.
space_leftCargo space left
travel_errorReturns failure message or FALSE if we're ready to travel
try_transferTries to add loot to drone cargo while respecting space left
ui_descriptionDescription for drone listing, describes location and current status
unset_busyResets busy status
updateKeywordsReplaces $$SITE_NAME with site name and $$QualityName with quality values
update_storage_sizeResizes storage component depending on slots used by tools.
+

Var Details

_regex_context + + + + +

+

Used to provide source to the regex replacement function. DO NOT MODIFY DIRECTLY

busy_duration + + + + +

+

How long will busy state last

busy_message + + + + +

+

Message that will show up on busy screen

busy_start_time + + + + +

+

When we entered busy state

controlled + + + + +

+

Are we currently controlled by remote terminal, blocks other terminals from interacting with this drone.

drone_log + + + + +

+

Log of recent events

drone_status + + + + +

+

Current drone status, see code__DEFINES\adventure.dm

last_pad + + + + +

+

Pad we've launched from, we'll try to land on this one first when coming back if it still exists.

location + + + + +

+

Site we're currently at, null means station.

name_counter + + + + +

+

Repeated drone name counter

tools + + + + +

+

List of tools, EXODRONE_TOOL_WELDER etc

travel_target + + + + +

+

Site we're currently travelling to, null means going back to station - check drone status if you want to check if traveling or idle

travel_time + + + + +

+

Total travel time to our current target

travel_timer_id + + + + +

+

Id of travel timer

Proc Details

Destroy +

+

Cargo storage

add_tool +

+

Adds drone tool and resizes storage.

add_tool_qualities +

+

Applies adventure qualities based on our tools

award_adventure_loot +

+

Adds loot from current adventure to the drone

damage +

+

We're home and on ready pad or exploring and out of any events/adventures +Deals damage in adventures/events.

drop_somewhere_on_station +

+

Crashes the drone somewhere random if there's no launchpad to be found.

explore_site +

+

encounters random or specificed event for the current site.

find_landing_pad +

+

Tries to find landing pad, starting with the one we launched from.

finish_travel +

+

Travel cleanup

get_cargo_data +

+

Builds ui data for drone storage.

launch_for +

+

Starts travel for site, does not validate if it's possible

remove_tool +

+

Removes drone tool and resizes storage.

replace_keyword +

+

This is called with src = regex datum, so don't try to access any instance variables directly here.

resolve_adventure +

+

Handles finishing adventure

set_busy +

+

Enters busy mode for a given duration.

space_left +

+

Cargo space left

travel_error +

+

Returns failure message or FALSE if we're ready to travel

try_transfer +

+

Tries to add loot to drone cargo while respecting space left

ui_description +

+

Description for drone listing, describes location and current status

unset_busy +

+

Resets busy status

updateKeywords +

+

Replaces $$SITE_NAME with site name and $$QualityName with quality values

update_storage_size +

+

Resizes storage component depending on slots used by tools.

+ + + diff --git a/obj/item/extinguisher.html b/obj/item/extinguisher.html new file mode 100644 index 00000000000..b277fd40c45 --- /dev/null +++ b/obj/item/extinguisher.html @@ -0,0 +1,113 @@ + + + + + + + /obj/item/extinguisher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

extinguisher + + + +

+ + + + + + + + + + + + + +

Vars

chemChem we use for our extinguishing.
cooling_powerSets the cooling_temperature of the water reagent datum inside of the extinguisher when it is refilled.
last_useCooldown between uses.
max_waterThe max amount of water this extinguisher can hold.
powerMaximum distance launched water will travel.
precisionBy default, turfs picked from a spray are random, set to TRUE to make it always have at least one water effect per row.
refillingCan we refill this at a water tank?
safetyCan we actually fire currently?
sprite_namesomething that should be replaced with base_icon_state
starting_waterDoes the welder extinguisher start with water.
tank_holder_icon_stateIcon state when inside a tank holder.
tanktypeWhat tank we need to refill this.
+

Var Details

chem + + + + +

+

Chem we use for our extinguishing.

cooling_power + + + + +

+

Sets the cooling_temperature of the water reagent datum inside of the extinguisher when it is refilled.

last_use + + + + +

+

Cooldown between uses.

max_water + + + + +

+

The max amount of water this extinguisher can hold.

power + + + + +

+

Maximum distance launched water will travel.

precision + + + + +

+

By default, turfs picked from a spray are random, set to TRUE to make it always have at least one water effect per row.

refilling + + + + +

+

Can we refill this at a water tank?

safety + + + + +

+

Can we actually fire currently?

sprite_name + + + + +

+

something that should be replaced with base_icon_state

starting_water + + + + +

+

Does the welder extinguisher start with water.

tank_holder_icon_state + + + + +

+

Icon state when inside a tank holder.

tanktype + + + + +

+

What tank we need to refill this.

+ + + diff --git a/obj/item/extraction_pack.html b/obj/item/extraction_pack.html new file mode 100644 index 00000000000..730aa2eaa2a --- /dev/null +++ b/obj/item/extraction_pack.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/extraction_pack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

extraction_pack + + + +

+ + + + + + + +

Vars

beacon_networksList of networks
beacon_refBeacon weakref
can_use_indoorsCan be used indoors
max_force_fultonMaximum force that can be used to extract
safe_for_living_creaturesCan be used on living creatures
uses_leftNumber of uses left
+

Var Details

beacon_networks + + + + +

+

List of networks

beacon_ref + + + + +

+

Beacon weakref

can_use_indoors + + + + +

+

Can be used indoors

max_force_fulton + + + + +

+

Maximum force that can be used to extract

safe_for_living_creatures + + + + +

+

Can be used on living creatures

uses_left + + + + +

+

Number of uses left

+ + + diff --git a/obj/item/eyesnatcher.html b/obj/item/eyesnatcher.html new file mode 100644 index 00000000000..22017edb030 --- /dev/null +++ b/obj/item/eyesnatcher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/eyesnatcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eyesnatcher + + + +

+ + +

Vars

usedWhether it's been used to steal a pair of eyes already.
+

Var Details

used + + + + +

+

Whether it's been used to steal a pair of eyes already.

+ + + diff --git a/obj/item/fireaxe.html b/obj/item/fireaxe.html new file mode 100644 index 00000000000..a6b0f12f313 --- /dev/null +++ b/obj/item/fireaxe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/fireaxe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fireaxe + + + +

+ + + +

Vars

force_unwieldedHow much damage to do unwielded
force_wieldedHow much damage to do wielded
+

Var Details

force_unwielded + + + + +

+

How much damage to do unwielded

force_wielded + + + + +

+

How much damage to do wielded

+ + + diff --git a/obj/item/firelance.html b/obj/item/firelance.html new file mode 100644 index 00000000000..f8aff422103 --- /dev/null +++ b/obj/item/firelance.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/firelance - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

firelance + + + +

+ +

Two handed fire lance. Melts wall after short windup.

+

Procs

windup_checksAdditional windup checks

Proc Details

windup_checks +

+

Additional windup checks

+ + + diff --git a/obj/item/firing_pin.html b/obj/item/firing_pin.html new file mode 100644 index 00000000000..ef40152fa08 --- /dev/null +++ b/obj/item/firing_pin.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/firing_pin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

firing_pin + + + +

+ + + + + +

Vars

force_replaceCan forcefully replace other pins.
pin_hot_swappableCan be replaced by any pin.
pin_removableCan be removed from the gun using tools or replaced by a pin with force_replace
selfdestructExplode when user check is failed.
+

Var Details

force_replace + + + + +

+

Can forcefully replace other pins.

pin_hot_swappable + + + + +

+

Can be replaced by any pin.

pin_removable + + + + +

+

Can be removed from the gun using tools or replaced by a pin with force_replace

selfdestruct + + + + +

+

Explode when user check is failed.

+ + + diff --git a/obj/item/firing_pin/paywall.html b/obj/item/firing_pin/paywall.html new file mode 100644 index 00000000000..e427f2cf1b9 --- /dev/null +++ b/obj/item/firing_pin/paywall.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/firing_pin/paywall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paywall + + + +

+ + + + + +

Vars

active_prompt_userpurchase prompt to prevent spamming it, set to the user who opens to prompt to prevent locking the gun up for other users.
gun_ownerslist of account IDs which have accepted the license prompt. If this is the multi-payment pin, then this means they accepted the waiver that each shot will cost them money
multi_paymentif true, user has to pay everytime they fire the gun
payment_amounthow much gets paid out to license yourself to the gun
+

Var Details

active_prompt_user + + + + +

+

purchase prompt to prevent spamming it, set to the user who opens to prompt to prevent locking the gun up for other users.

gun_owners + + + + +

+

list of account IDs which have accepted the license prompt. If this is the multi-payment pin, then this means they accepted the waiver that each shot will cost them money

multi_payment + + + + +

+

if true, user has to pay everytime they fire the gun

payment_amount + + + + +

+

how much gets paid out to license yourself to the gun

+ + + diff --git a/obj/item/fish.html b/obj/item/fish.html new file mode 100644 index 00000000000..ac0bdf5786e --- /dev/null +++ b/obj/item/fish.html @@ -0,0 +1,419 @@ + + + + + + + /obj/item/fish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fish + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aquarium_vc_colorIf present aquarium visual will be this color
average_sizeAverage size for this fish type in centimeters. Will be used as gaussian distribution with 20% deviation for fishing, bought fish are always standard size
average_weightAverage weight for this fish type in grams
breeding_timeoutHow long it takes to produce new fish
breeding_waitThe time limit before new fish can be created
compatible_typesIf set, the fish can also breed with these fishes types
death_textThe message shown when the fish dies.
dedicated_in_aquarium_iconIf present and it also has a dedicated icon state, this icon file will +be used for in-aquarium visual for the fish instead of its icon
dedicated_in_aquarium_icon_stateIf present this icon will be used for in-aquarium visual for the fish instead of icon_state
disliked_baitBait identifiers that make catching this fish harder and less likely +Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])
do_flop_animationIf this fish should do the flopping animation
evolution_typesA list of possible evolutions. If set, offsprings may be of a different, new fish type if conditions are met.
experisci_scannableIf this fish type counts towards the Fish Species Scanning experiments
favorite_baitBait identifiers that make catching this fish easier and more likely +Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])
feeding_frequencyHow often the fish needs to be fed
fillet_typeFish autogenerated from this behaviour will be processable into this
fish_ai_typeFishing behaviour
fish_traitsList of fish trait types, these may modify probabilty/difficulty depending on rod/user properties +or dictate how the fish behaves or some of its qualities.
fishing_difficulty_modifierBase additive modifier to fishing difficulty
foodWhat type of reagent this fish needs to be fed.
grind_resultsThe grind results of the fish. They scale with the weight of the fish.
healthCurrent fish health. Dies at 0.
icon_state_deadicon used when the fish is dead, ifset.
last_feedingTime of last feedeing
min_pressureOutside of an aquarium, the pressure needs to be within these two variables for the environment to be safe.
num_filletsnumber of fillets given by the fish. It scales with its size.
progenitorsThe species' name(s) of the parents of the fish. Shown by the fish analyzer.
random_case_rarityHow rare this fish is in the random cases
required_fluid_typeRequired fluid type for this fish to live.
required_temperature_maxMaximum possible temperature for the fish to live.
required_temperature_minRequired minimum temperature for the fish to live.
safe_air_limitsWhen outside of an aquarium, these gases that are checked (as well as pressure and temp) to assert if the environment is safe or not.
show_in_catalogShould this fish type show in fish catalog
sizeSize in centimeters. Null until update_size_and_weight is called. Number of fillets and w_class scale with it.
source_heightOriginal height of aquarium visual icon - used to calculate scaledown factor
source_widthOriginal width of aquarium visual icon - used to calculate scaledown factor
sprite_heightResulting height of aquarium visual icon - default size of "fish_greyscale" state
sprite_widthResulting width of aquarium visual icon - default size of "fish_greyscale" state
stable_populationWon't breed more than this amount in single aquarium.
statusFish status
weightWeight in grams. Null until update_size_and_weight is called. Grind results scale with it. Don't think too hard how a trout could fit in a blender.

Procs

apply_traitsTraits that the fish is guaranteed to inherit will be inherited, +with the assertion that they're compatible anyway. +Build a list of incompatible traits. Don't let any such trait pass onto the fish. +shuffle the traits, so, in the case of incompatible traits, we don't have to choose which to discard. +Instead we let the random numbers do it for us in a first come, first served basis.
create_offspringFishes with this trait cannot mate, but could still reproduce asexually, so don't early return. +Also mating takes priority over that.
feedFeed the fishes with the contents of the fish feed
flop_animationThis flopping animation played while the fish is alive.
inherit_traitsThis proc has fish_traits list populated with fish_traits paths from three different lists: +traits from x_traits and y_traits are compared, and inserted if conditions are met; +traits from fixed_traits are inserted unconditionally. +traits from removed_traits will be removed from the for loop.
on_temp_animationRefreshes flopping animation after temporary animation finishes
proper_environmentChecks if our current environment lets us live.
randomize_size_and_weightRandomizes weight and size.
start_floppingStarts flopping animation
stop_floppingStops flopping animation
update_size_and_weightUpdates weight and size, along with weight class, number of fillets you can get and grind results.
+

Var Details

aquarium_vc_color + + + + +

+

If present aquarium visual will be this color

average_size + + + + +

+

Average size for this fish type in centimeters. Will be used as gaussian distribution with 20% deviation for fishing, bought fish are always standard size

average_weight + + + + +

+

Average weight for this fish type in grams

breeding_timeout + + + + +

+

How long it takes to produce new fish

breeding_wait + + + + +

+

The time limit before new fish can be created

compatible_types + + + + +

+

If set, the fish can also breed with these fishes types

death_text + + + + +

+

The message shown when the fish dies.

dedicated_in_aquarium_icon + + + + +

+

If present and it also has a dedicated icon state, this icon file will +be used for in-aquarium visual for the fish instead of its icon

dedicated_in_aquarium_icon_state + + + + +

+

If present this icon will be used for in-aquarium visual for the fish instead of icon_state

disliked_bait + + + + +

+

Bait identifiers that make catching this fish harder and less likely +Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])

do_flop_animation + + + + +

+

If this fish should do the flopping animation

evolution_types + + + + +

+

A list of possible evolutions. If set, offsprings may be of a different, new fish type if conditions are met.

experisci_scannable + + + + +

+

If this fish type counts towards the Fish Species Scanning experiments

favorite_bait + + + + +

+

Bait identifiers that make catching this fish easier and more likely +Bait identifiers: Path | Trait | list("Type"="Foodtype","Value"= Food Type Flag like [MEAT])

feeding_frequency + + + + +

+

How often the fish needs to be fed

fillet_type + + + + +

+

Fish autogenerated from this behaviour will be processable into this

fish_ai_type + + + + +

+

Fishing behaviour

fish_traits + + + + +

+

List of fish trait types, these may modify probabilty/difficulty depending on rod/user properties +or dictate how the fish behaves or some of its qualities.

fishing_difficulty_modifier + + + + +

+

Base additive modifier to fishing difficulty

food + + + + +

+

What type of reagent this fish needs to be fed.

grind_results + + + + +

+

The grind results of the fish. They scale with the weight of the fish.

health + + + + +

+

Current fish health. Dies at 0.

icon_state_dead + + + + +

+

icon used when the fish is dead, ifset.

last_feeding + + + + +

+

Time of last feedeing

min_pressure + + + + +

+

Outside of an aquarium, the pressure needs to be within these two variables for the environment to be safe.

num_fillets + + + + +

+

number of fillets given by the fish. It scales with its size.

progenitors + + + + +

+

The species' name(s) of the parents of the fish. Shown by the fish analyzer.

random_case_rarity + + + + +

+

How rare this fish is in the random cases

required_fluid_type + + + + +

+

Required fluid type for this fish to live.

required_temperature_max + + + + +

+

Maximum possible temperature for the fish to live.

required_temperature_min + + + + +

+

Required minimum temperature for the fish to live.

safe_air_limits + + + + +

+

When outside of an aquarium, these gases that are checked (as well as pressure and temp) to assert if the environment is safe or not.

show_in_catalog + + + + +

+

Should this fish type show in fish catalog

size + + + + +

+

Size in centimeters. Null until update_size_and_weight is called. Number of fillets and w_class scale with it.

source_height + + + + +

+

Original height of aquarium visual icon - used to calculate scaledown factor

source_width + + + + +

+

Original width of aquarium visual icon - used to calculate scaledown factor

sprite_height + + + + +

+

Resulting height of aquarium visual icon - default size of "fish_greyscale" state

sprite_width + + + + +

+

Resulting width of aquarium visual icon - default size of "fish_greyscale" state

stable_population + + + + +

+

Won't breed more than this amount in single aquarium.

status + + + + +

+

Fish status

weight + + + + +

+

Weight in grams. Null until update_size_and_weight is called. Grind results scale with it. Don't think too hard how a trout could fit in a blender.

Proc Details

apply_traits +

+

Traits that the fish is guaranteed to inherit will be inherited, +with the assertion that they're compatible anyway. +Build a list of incompatible traits. Don't let any such trait pass onto the fish. +shuffle the traits, so, in the case of incompatible traits, we don't have to choose which to discard. +Instead we let the random numbers do it for us in a first come, first served basis.

create_offspring +

+

Fishes with this trait cannot mate, but could still reproduce asexually, so don't early return. +Also mating takes priority over that.

feed +

+

Feed the fishes with the contents of the fish feed

flop_animation +

+

This flopping animation played while the fish is alive.

inherit_traits +

+

This proc has fish_traits list populated with fish_traits paths from three different lists: +traits from x_traits and y_traits are compared, and inserted if conditions are met; +traits from fixed_traits are inserted unconditionally. +traits from removed_traits will be removed from the for loop.

+

This proc should only be called if the fish was spawned with the apply_qualities arg set to FALSE +and hasn't had inherited traits already.

on_temp_animation +

+

Refreshes flopping animation after temporary animation finishes

proper_environment +

+

Checks if our current environment lets us live.

randomize_size_and_weight +

+

Randomizes weight and size.

start_flopping +

+

Starts flopping animation

stop_flopping +

+

Stops flopping animation

update_size_and_weight +

+

Updates weight and size, along with weight class, number of fillets you can get and grind results.

+ + + diff --git a/obj/item/fish/starfish.html b/obj/item/fish/starfish.html new file mode 100644 index 00000000000..a510e313dce --- /dev/null +++ b/obj/item/fish/starfish.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/fish/starfish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

starfish + + + +

+ + +

Procs

flop_animationIt spins, and dimly glows in the dark.

Proc Details

flop_animation +

+

It spins, and dimly glows in the dark.

+ + + diff --git a/obj/item/fish_analyzer.html b/obj/item/fish_analyzer.html new file mode 100644 index 00000000000..58650bcbee9 --- /dev/null +++ b/obj/item/fish_analyzer.html @@ -0,0 +1,121 @@ + + + + + + + /obj/item/fish_analyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fish_analyzer + + + +

+ +

An item that can be used to gather information on the fish, such as but not limited to: health, hunger and traits.

+ + + + + + + + + + + +

Vars

case_colorThe color of the case. Used by grayscale configs and update_overlays()
fish_menuThe radial menu shown when analyzing aquariums. Having a persistent one allows us +to update it whenever fish come and go, and is also required since we have a select callback +used to check right clicks for scanning traits instead of status.
radial_choicesA cached list of the current choices for the aforedefined radial menu.

Procs

analyze_statusCalled when a fish or a menu choice is left-clicked. +This returns the fish's status, size, weight, feed type, hunger, breeding timeout.
analyze_traitsCalled when a fish or a menu choice is left-clicked. +This returns the fish's progenitors, traits and their inheritability.
can_select_fishWhether the item should continue to show its radial menu or delete it.
choice_selectedCalled when the user has selected a choice. If it's a right click, analyze the traits, else the status
delete_radialUnregisters signals, delete the radial menu, unsets the choices.
on_aquarium_enteredCalled when something enters the aquarium. If it's a fish, update the choices.
on_aquarium_exitedCalled when something exits the aquarium. If it's a fish, update the choices.
radial_choicesInstantiates a radial menu choice datum for the current fish and adds it to the list of choices.
scan_aquariumInstantiates the radial menu, populates the list of choices, shows it and register signals on the aquarium.
+

Var Details

case_color + + + + +

+

The color of the case. Used by grayscale configs and update_overlays()

fish_menu + + + + +

+

The radial menu shown when analyzing aquariums. Having a persistent one allows us +to update it whenever fish come and go, and is also required since we have a select callback +used to check right clicks for scanning traits instead of status.

radial_choices + + + + +

+

A cached list of the current choices for the aforedefined radial menu.

Proc Details

analyze_status +

+

Called when a fish or a menu choice is left-clicked. +This returns the fish's status, size, weight, feed type, hunger, breeding timeout.

analyze_traits +

+

Called when a fish or a menu choice is left-clicked. +This returns the fish's progenitors, traits and their inheritability.

can_select_fish +

+

Whether the item should continue to show its radial menu or delete it.

choice_selected +

+

Called when the user has selected a choice. If it's a right click, analyze the traits, else the status

delete_radial +

+

Unregisters signals, delete the radial menu, unsets the choices.

on_aquarium_entered +

+

Called when something enters the aquarium. If it's a fish, update the choices.

on_aquarium_exited +

+

Called when something exits the aquarium. If it's a fish, update the choices.

radial_choices +

+

Instantiates a radial menu choice datum for the current fish and adds it to the list of choices.

scan_aquarium +

+

Instantiates the radial menu, populates the list of choices, shows it and register signals on the aquarium.

+ + + diff --git a/obj/item/fishing_hook.html b/obj/item/fishing_hook.html new file mode 100644 index 00000000000..a21df85b3ef --- /dev/null +++ b/obj/item/fishing_hook.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/fishing_hook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fishing_hook + + + +

+ + + + + + + +

Vars

chasm_detritus_typeWhat subtype of /obj/item/chasm_detritus do we fish out of chasms? Defaults to /obj/item/chasm_detritus.
fishing_hook_traitsA list of traits that this fishing hook has, checked by fish traits and the minigame
rod_overlay_icon_stateicon state added to main rod icon when this hook is equipped

Procs

get_hook_bonus_additiveSimple getter proc for hooks to implement special hook bonuses for +certain fish_type (or FISHING_DUD), additive. Is applied after +get_hook_bonus_multiplicative().
get_hook_bonus_multiplicativeSimple getter proc for hooks to implement special hook bonuses for +certain fish_type (or FISHING_DUD), multiplicative. Is applied before +get_hook_bonus_additive().
reason_we_cant_fishIs there a reason why this hook couldn't fish in target_fish_source? +If so, return the denial reason as a string, otherwise return null.
+

Var Details

chasm_detritus_type + + + + +

+

What subtype of /obj/item/chasm_detritus do we fish out of chasms? Defaults to /obj/item/chasm_detritus.

fishing_hook_traits + + + + +

+

A list of traits that this fishing hook has, checked by fish traits and the minigame

rod_overlay_icon_state + + + + +

+

icon state added to main rod icon when this hook is equipped

Proc Details

get_hook_bonus_additive +

+

Simple getter proc for hooks to implement special hook bonuses for +certain fish_type (or FISHING_DUD), additive. Is applied after +get_hook_bonus_multiplicative().

get_hook_bonus_multiplicative +

+

Simple getter proc for hooks to implement special hook bonuses for +certain fish_type (or FISHING_DUD), multiplicative. Is applied before +get_hook_bonus_additive().

reason_we_cant_fish +

+

Is there a reason why this hook couldn't fish in target_fish_source? +If so, return the denial reason as a string, otherwise return null.

+

Arguments:

+
    +
  • target_fish_source - The /datum/fish_source we're trying to fish in.
  • +
+ + + diff --git a/obj/item/fishing_line.html b/obj/item/fishing_line.html new file mode 100644 index 00000000000..62f0096f93f --- /dev/null +++ b/obj/item/fishing_line.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/fishing_line - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fishing_line + + + +

+ + + +

Vars

fishing_line_traitsA list of traits that this fishing line has, checked by fish traits and the minigame.
line_colorColor of the fishing line
+

Var Details

fishing_line_traits + + + + +

+

A list of traits that this fishing line has, checked by fish traits and the minigame.

line_color + + + + +

+

Color of the fishing line

+ + + diff --git a/obj/item/fishing_rod.html b/obj/item/fishing_rod.html new file mode 100644 index 00000000000..cb19a578a9e --- /dev/null +++ b/obj/item/fishing_rod.html @@ -0,0 +1,199 @@ + + + + + + + /obj/item/fishing_rod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fishing_rod + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

cast_rangeHow far can you cast this
castingAre we currently casting
currently_hooked_itemCurrently hooked item for item reeling
default_line_colorThe default color for the reel overlay if no line is equipped.
difficulty_modifierFishing minigame difficulty modifier (additive)
fishing_lineFishing line visual for the hooked item
reel_overlayThe name of the icon state of the reel overlay
ui_descriptionExplaination of rod functionality shown in the ui

Procs

ExitedTrying to swap item
additive_fish_bonusCatch weight modifier for the given fish_type (or FISHING_DUD) +and source, additive. Called after multiplicative_fish_bonus().
attackbyif we don't have anything hooked show the dangling hook & line
can_be_hookedChecks what can be hooked
cast_lineReel in if able +Called by afterattack(). If the line to whatever that is is clear and we're not already busy, try fishing in it
create_fishing_lineReel in if able +Generates the fishing line visual from the current user to the target and updates inhands
hook_hitAnnoyingly pre attack is only called in melee +Called by hook projectile when hitting things
hook_itemHooks the item
multiplicative_fish_bonusCatch weight modifier for the given fish_type (or FISHING_DUD) +and source, multiplicative. Called before additive_fish_bonus().
reason_we_cant_fishIs there a reason why this fishing rod couldn't fish in target_fish_source? +If so, return the denial reason as a string, otherwise return null.
slot_checkChecks if the item fits the slot
ui_interactIf you can't fish in it, try hooking it
use_slotIdeally this will be replaced with generic slotted storage datum + display
worn_overlaysLine part by the rod, always visible
+

Var Details

cast_range + + + + +

+

How far can you cast this

casting + + + + +

+

Are we currently casting

currently_hooked_item + + + + +

+

Currently hooked item for item reeling

default_line_color + + + + +

+

The default color for the reel overlay if no line is equipped.

difficulty_modifier + + + + +

+

Fishing minigame difficulty modifier (additive)

fishing_line + + + + +

+

Fishing line visual for the hooked item

reel_overlay + + + + +

+

The name of the icon state of the reel overlay

ui_description + + + + +

+

Explaination of rod functionality shown in the ui

Proc Details

Exited +

+

Trying to swap item

additive_fish_bonus +

+

Catch weight modifier for the given fish_type (or FISHING_DUD) +and source, additive. Called after multiplicative_fish_bonus().

attackby +

+

if we don't have anything hooked show the dangling hook & line

can_be_hooked +

+

Checks what can be hooked

cast_line +

+

Reel in if able +Called by afterattack(). If the line to whatever that is is clear and we're not already busy, try fishing in it

create_fishing_line +

+

Reel in if able +Generates the fishing line visual from the current user to the target and updates inhands

hook_hit +

+

Annoyingly pre attack is only called in melee +Called by hook projectile when hitting things

hook_item +

+

Hooks the item

multiplicative_fish_bonus +

+

Catch weight modifier for the given fish_type (or FISHING_DUD) +and source, multiplicative. Called before additive_fish_bonus().

reason_we_cant_fish +

+

Is there a reason why this fishing rod couldn't fish in target_fish_source? +If so, return the denial reason as a string, otherwise return null.

+

Arguments:

+
    +
  • target_fish_source - The /datum/fish_source we're trying to fish in.
  • +

slot_check +

+

Checks if the item fits the slot

ui_interact +

+

If you can't fish in it, try hooking it

use_slot +

+

Ideally this will be replaced with generic slotted storage datum + display

worn_overlays +

+

Line part by the rod, always visible

+ + + diff --git a/obj/item/fishing_rod/telescopic.html b/obj/item/fishing_rod/telescopic.html new file mode 100644 index 00000000000..02704587ed5 --- /dev/null +++ b/obj/item/fishing_rod/telescopic.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/fishing_rod/telescopic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

telescopic + + + +

+ + + + + +

Vars

activeWhether the rod is exteded or not. Tied to the transforming element.
active_forceThe force of the item when extended.

Procs

on_transformGives feedback to the user, makes it show up inhand, toggles whether it can be used for fishing.
pre_transformStops the fishing rod from being collapsed while fishing.
+

Var Details

active + + + + +

+

Whether the rod is exteded or not. Tied to the transforming element.

active_force + + + + +

+

The force of the item when extended.

Proc Details

on_transform +

+

Gives feedback to the user, makes it show up inhand, toggles whether it can be used for fishing.

pre_transform +

+

Stops the fishing rod from being collapsed while fishing.

+ + + diff --git a/obj/item/flashlight.html b/obj/item/flashlight.html new file mode 100644 index 00000000000..50f210d002a --- /dev/null +++ b/obj/item/flashlight.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/flashlight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flashlight + + + +

+ + + + + + + + + +

Vars

disabled_timeIf we've been forcibly disabled for a temporary amount of time.
sound_offThe sound the light makes when it's turned off
sound_onThe sound the light makes when it's turned on
start_onShould the flashlight start turned on?
toggle_contextCan we toggle this light on and off (used for contexual screentips only)

Procs

droppedfor directional sprites - so when we drop the flashlight, it drops facing the same way the user is facing
equippedfor directional sprites - so we get the same sprite in the inventory each time we pick one up
on_saboteurwhen hit by a light disruptor - turns the light off, forces the light to be disabled for a few seconds
+

Var Details

disabled_time + + + + +

+

If we've been forcibly disabled for a temporary amount of time.

sound_off + + + + +

+

The sound the light makes when it's turned off

sound_on + + + + +

+

The sound the light makes when it's turned on

start_on + + + + +

+

Should the flashlight start turned on?

toggle_context + + + + +

+

Can we toggle this light on and off (used for contexual screentips only)

Proc Details

dropped +

+

for directional sprites - so when we drop the flashlight, it drops facing the same way the user is facing

equipped +

+

for directional sprites - so we get the same sprite in the inventory each time we pick one up

on_saboteur +

+

when hit by a light disruptor - turns the light off, forces the light to be disabled for a few seconds

+ + + diff --git a/obj/item/flashlight/emp.html b/obj/item/flashlight/emp.html new file mode 100644 index 00000000000..d2664cabc87 --- /dev/null +++ b/obj/item/flashlight/emp.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/flashlight/emp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

emp + + + +

+ + +

Vars

charge_delayHow many seconds between each recharge
+

Var Details

charge_delay + + + + +

+

How many seconds between each recharge

+ + + diff --git a/obj/item/flashlight/flare.html b/obj/item/flashlight/flare.html new file mode 100644 index 00000000000..6c0e3eeff25 --- /dev/null +++ b/obj/item/flashlight/flare.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/flashlight/flare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flare + + + +

+ + + + + + +

Vars

can_be_extinguishedIf the light source can be extinguished
fuelHow many seconds of fuel we have left
on_damageHow much damage it does when turned on
randomize_fuelDo we randomize the fuel when initialized
trash_typeType of atom thats spawns after fuel is used up
+

Var Details

can_be_extinguished + + + + +

+

If the light source can be extinguished

fuel + + + + +

+

How many seconds of fuel we have left

on_damage + + + + +

+

How much damage it does when turned on

randomize_fuel + + + + +

+

Do we randomize the fuel when initialized

trash_type + + + + +

+

Type of atom thats spawns after fuel is used up

+ + + diff --git a/obj/item/flashlight/flare/candle.html b/obj/item/flashlight/flare/candle.html new file mode 100644 index 00000000000..dd215c74325 --- /dev/null +++ b/obj/item/flashlight/flare/candle.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/flashlight/flare/candle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

candle + + + +

+ + + + + + +

Vars

current_wax_levelThe current wax level, used for drawing the correct icon
last_wax_levelThe previous wax level, remembered so we only have to make 3 update_appearance calls total as opposed to every tick

Procs

attackbyallows lighting an unlit candle from some fire source by left clicking the candle with the source
check_wax_levelJust checks the wax level of the candle for displaying the correct sprite.
try_light_candleTry to ignite the candle.
+

Var Details

current_wax_level + + + + +

+

The current wax level, used for drawing the correct icon

last_wax_level + + + + +

+

The previous wax level, remembered so we only have to make 3 update_appearance calls total as opposed to every tick

Proc Details

attackby +

+

allows lighting an unlit candle from some fire source by left clicking the candle with the source

check_wax_level +

+

Just checks the wax level of the candle for displaying the correct sprite.

+

This gets called in process() every tick. If the wax level has changed, then we call our update.

try_light_candle +

+

Try to ignite the candle.

+

Candles are ignited a bit differently from flares, in that they must be manually lit from other fire sources. +This will perform all the necessary checks to ensure that can happen, and display a message if it worked.

+

Arguments:

+
    +
  • obj/item/fire_starter - the item being used to ignite the candle.
  • +
  • mob/user - the user to display a message to.
  • +
  • quiet - suppresses the to_chat message.
  • +
  • silent - suppresses the balloon alerts as well as the to_chat message.
  • +
+ + + diff --git a/obj/item/flashlight/flashdark.html b/obj/item/flashlight/flashdark.html new file mode 100644 index 00000000000..cc022774308 --- /dev/null +++ b/obj/item/flashlight/flashdark.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/flashlight/flashdark - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flashdark + + + +

+ + + +

Vars

dark_light_powerVariable to preserve old lighting behavior in flashlights, to handle darkness.
dark_light_rangeVariable to preserve old lighting behavior in flashlights, to handle darkness.
+

Var Details

dark_light_power + + + + +

+

Variable to preserve old lighting behavior in flashlights, to handle darkness.

dark_light_range + + + + +

+

Variable to preserve old lighting behavior in flashlights, to handle darkness.

+ + + diff --git a/obj/item/flashlight/glowstick.html b/obj/item/flashlight/glowstick.html new file mode 100644 index 00000000000..847c26aed00 --- /dev/null +++ b/obj/item/flashlight/glowstick.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/flashlight/glowstick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

glowstick + + + +

+ + +

Vars

fuelHow many seconds of fuel we have left
+

Var Details

fuel + + + + +

+

How many seconds of fuel we have left

+ + + diff --git a/obj/item/flashlight/pen/paramedic.html b/obj/item/flashlight/pen/paramedic.html new file mode 100644 index 00000000000..3e4f132ad5d --- /dev/null +++ b/obj/item/flashlight/pen/paramedic.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/flashlight/pen/paramedic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paramedic + + + +

+ + + + +

Vars

uv_cooldownOur current UV cooldown
uv_cooldown_lengthHow long between UV fryings
uv_powerHow much sanitization to apply to the burn wound
+

Var Details

uv_cooldown + + + + +

+

Our current UV cooldown

uv_cooldown_length + + + + +

+

How long between UV fryings

uv_power + + + + +

+

How much sanitization to apply to the burn wound

+ + + diff --git a/obj/item/flashlight/spotlight.html b/obj/item/flashlight/spotlight.html new file mode 100644 index 00000000000..c730887d30d --- /dev/null +++ b/obj/item/flashlight/spotlight.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/flashlight/spotlight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spotlight + + + +

+ + + +

Vars

base_light_rangeBase light_range that can be set on Initialize to use in smooth light range expansions and contractions.
even_cycleBoolean that switches when a full color flip ends, so the light can appear in all colors.
+

Var Details

base_light_range + + + + +

+

Base light_range that can be set on Initialize to use in smooth light range expansions and contractions.

even_cycle + + + + +

+

Boolean that switches when a full color flip ends, so the light can appear in all colors.

+ + + diff --git a/obj/item/folder.html b/obj/item/folder.html new file mode 100644 index 00000000000..fad02f48268 --- /dev/null +++ b/obj/item/folder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/folder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

folder + + + +

+ + + + +

Vars

bg_colorThe background color for tgui in hex (with a #)
contents_hiddenDo we hide the contents on examine?
folder_insertablesA typecache of the objects that can be inserted into a folder
+

Var Details

bg_color + + + + +

+

The background color for tgui in hex (with a #)

contents_hidden + + + + +

+

Do we hide the contents on examine?

folder_insertables + + + + +

+

A typecache of the objects that can be inserted into a folder

+ + + diff --git a/obj/item/folder/biscuit.html b/obj/item/folder/biscuit.html new file mode 100644 index 00000000000..a94b5b64aae --- /dev/null +++ b/obj/item/folder/biscuit.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/folder/biscuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

biscuit + + + +

+ + + + +

Vars

contained_slipThe paper slip inside, if there is one
crackedIs biscuit cracked open or not?

Procs

crack_checkChecks if the biscuit has been already cracked.
+

Var Details

contained_slip + + + + +

+

The paper slip inside, if there is one

cracked + + + + +

+

Is biscuit cracked open or not?

Proc Details

crack_check +

+

Checks if the biscuit has been already cracked.

+ + + diff --git a/obj/item/folder/biscuit/unsealed.html b/obj/item/folder/biscuit/unsealed.html new file mode 100644 index 00000000000..294199cab25 --- /dev/null +++ b/obj/item/folder/biscuit/unsealed.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/folder/biscuit/unsealed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

unsealed + + + +

+ + + +

Vars

has_been_sealedWas the biscuit already sealed by players? Prevents re-sealing after use
sealed_iconWhat is the sprite for when it's sealed? It starts unsealed, so needs a sprite for when it's sealed.
+

Var Details

has_been_sealed + + + + +

+

Was the biscuit already sealed by players? Prevents re-sealing after use

sealed_icon + + + + +

+

What is the sprite for when it's sealed? It starts unsealed, so needs a sprite for when it's sealed.

+ + + diff --git a/obj/item/food.html b/obj/item/food.html new file mode 100644 index 00000000000..291d11d397d --- /dev/null +++ b/obj/item/food.html @@ -0,0 +1,226 @@ + + + + + + + /obj/item/food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

food + + + +

+ +

Abstract class to allow us to easily create all the generic "normal" food without too much copy pasta of adding more components

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ant_attractingDoes our food normally attract ants?
bite_consumptionHow much reagents per bite
crafted_food_buffBuff given when a hand-crafted version of this item is consumed. Randomized according to crafting_complexity if not assigned.
crafting_complexityHow exquisite the meal is. Applicable to crafted food, increasing its quality. Spans from 0 to 5.
decomp_req_handleFood that needs to be picked up in order to decompose.
decomp_typeWhat our food decomposes into.
decomposition_particlesUsed to set decomposition stink particles for food, will have no particles if null
decomposition_timeUsed to set custom decomposition times for food. Set to 0 to have it automatically set via the food's flags.
eat_timeHow long it will take to eat this food without any other modifiers
eatverbsVerbs used when eating this food in the to_chat messages
food_flagsExtra flags for things such as if the food is in a container or not
food_reagentsList of reagents this food gets on creation during reaction or map spawn
foodtypesBitflag of the types of food this food is
junkinessHow much junkiness this food has? God I should remove junkiness soon
max_volumeAmount of volume the food can contain
preserved_foodFood that's immune to decomposition.
starting_reagent_purityUsed to set custom starting reagent purity for synthetic and natural food. Ignored when set to null.
tastesTastes to describe this food
trash_typeType of atom thats spawned after eating this item
venue_valuePrice of this food if sold in a venue

Procs

make_bakeableThis proc handles bakeable components, overwrite if you want different bake results etc.
make_edibleThis proc adds the edible component, overwrite this if you for some reason want to change some specific args like callbacks.
make_germ_sensitiveThis proc makes things infective and decomposing when they stay on the floor for too long. +Set preserved_food to TRUE to make it never decompose. +Set decomp_req_handle to TRUE to only make it decompose when someone picks it up. +Requires /datum/component/germ_sensitive to detect exposure
make_grillableThis proc handles grillable components, overwrite if you want different grill results etc.
make_leave_trashThis proc handles trash components, overwrite this if you want the object to spawn trash
make_microwaveableThis proc handles the microwave component. Overwrite if you want special microwave results. +By default, all food is microwavable. However, they will be microwaved into a bad recipe (burnt mess).
make_processableThis proc handles processable elements, overwrite this if you want to add behavior such as slicing, forking, spooning, whatever, to turn the item into something else
+

Var Details

ant_attracting + + + + +

+

Does our food normally attract ants?

bite_consumption + + + + +

+

How much reagents per bite

crafted_food_buff + + + + +

+

Buff given when a hand-crafted version of this item is consumed. Randomized according to crafting_complexity if not assigned.

crafting_complexity + + + + +

+

How exquisite the meal is. Applicable to crafted food, increasing its quality. Spans from 0 to 5.

decomp_req_handle + + + + +

+

Food that needs to be picked up in order to decompose.

decomp_type + + + + +

+

What our food decomposes into.

decomposition_particles + + + + +

+

Used to set decomposition stink particles for food, will have no particles if null

decomposition_time + + + + +

+

Used to set custom decomposition times for food. Set to 0 to have it automatically set via the food's flags.

eat_time + + + + +

+

How long it will take to eat this food without any other modifiers

eatverbs + + + + +

+

Verbs used when eating this food in the to_chat messages

food_flags + + + + +

+

Extra flags for things such as if the food is in a container or not

food_reagents + + + + +

+

List of reagents this food gets on creation during reaction or map spawn

foodtypes + + + + +

+

Bitflag of the types of food this food is

junkiness + + + + +

+

How much junkiness this food has? God I should remove junkiness soon

max_volume + + + + +

+

Amount of volume the food can contain

preserved_food + + + + +

+

Food that's immune to decomposition.

starting_reagent_purity + + + + +

+

Used to set custom starting reagent purity for synthetic and natural food. Ignored when set to null.

tastes + + + + +

+

Tastes to describe this food

trash_type + + + + +

+

Type of atom thats spawned after eating this item

venue_value + + + + +

+

Price of this food if sold in a venue

Proc Details

make_bakeable +

+

This proc handles bakeable components, overwrite if you want different bake results etc.

make_edible +

+

This proc adds the edible component, overwrite this if you for some reason want to change some specific args like callbacks.

make_germ_sensitive +

+

This proc makes things infective and decomposing when they stay on the floor for too long. +Set preserved_food to TRUE to make it never decompose. +Set decomp_req_handle to TRUE to only make it decompose when someone picks it up. +Requires /datum/component/germ_sensitive to detect exposure

make_grillable +

+

This proc handles grillable components, overwrite if you want different grill results etc.

make_leave_trash +

+

This proc handles trash components, overwrite this if you want the object to spawn trash

make_microwaveable +

+

This proc handles the microwave component. Overwrite if you want special microwave results. +By default, all food is microwavable. However, they will be microwaved into a bad recipe (burnt mess).

make_processable +

+

This proc handles processable elements, overwrite this if you want to add behavior such as slicing, forking, spooning, whatever, to turn the item into something else

+ + + diff --git a/obj/item/food/badrecipe.html b/obj/item/food/badrecipe.html new file mode 100644 index 00000000000..698072ff246 --- /dev/null +++ b/obj/item/food/badrecipe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/badrecipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

badrecipe + + + +

+ + + +

Vars

stink_particlesVariable that holds the reference to the stink lines we get when we're moldy, yucky yuck

Procs

OnGrillPrevents grilling burnt shit from well, burning.
+

Var Details

stink_particles + + + + +

+

Variable that holds the reference to the stink lines we get when we're moldy, yucky yuck

Proc Details

OnGrill +

+

Prevents grilling burnt shit from well, burning.

+ + + diff --git a/obj/item/food/baguette.html b/obj/item/food/baguette.html new file mode 100644 index 00000000000..ae9997cfe21 --- /dev/null +++ b/obj/item/food/baguette.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/baguette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

baguette + + + +

+ + +

Vars

fake_swordplaywhether this is in fake swordplay mode or not
+

Var Details

fake_swordplay + + + + +

+

whether this is in fake swordplay mode or not

+ + + diff --git a/obj/item/food/baguette/combat.html b/obj/item/food/baguette/combat.html new file mode 100644 index 00000000000..a23d539b942 --- /dev/null +++ b/obj/item/food/baguette/combat.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/baguette/combat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

combat + + + +

+ +

Deadly bread used by a mime

+ +

Vars

active_blockBlock chance when wielded as a sword by a mime
active_forceForce when wielded as a sword by a mime
+

Var Details

active_block + + + + +

+

Block chance when wielded as a sword by a mime

active_force + + + + +

+

Force when wielded as a sword by a mime

+ + + diff --git a/obj/item/food/bait.html b/obj/item/food/bait.html new file mode 100644 index 00000000000..e26aaaa0628 --- /dev/null +++ b/obj/item/food/bait.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/bait - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bait + + + +

+ + + +

Vars

bait_qualityQuality trait of this bait
rod_overlay_icon_stateIcon state added to main fishing rod icon when this bait is equipped
+

Var Details

bait_quality + + + + +

+

Quality trait of this bait

rod_overlay_icon_state + + + + +

+

Icon state added to main fishing rod icon when this bait is equipped

+ + + diff --git a/obj/item/food/bread.html b/obj/item/food/bread.html new file mode 100644 index 00000000000..1043a4b1976 --- /dev/null +++ b/obj/item/food/bread.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/bread - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bread + + + +

+ +

Abstract parent object for bread items. Should not be made obtainable in game.

+ +

Vars

slice_typetype is spawned 5 at a time and replaces this bread loaf when processed by cutting tool
yieldso that the yield can change if it isnt 5
+

Var Details

slice_type + + + + +

+

type is spawned 5 at a time and replaces this bread loaf when processed by cutting tool

yield + + + + +

+

so that the yield can change if it isnt 5

+ + + diff --git a/obj/item/food/bubblegum.html b/obj/item/food/bubblegum.html new file mode 100644 index 00000000000..59a33fc2c33 --- /dev/null +++ b/obj/item/food/bubblegum.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/bubblegum - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bubblegum + + + +

+ + +

Vars

metabolization_amountThe amount to metabolize per second
+

Var Details

metabolization_amount + + + + +

+

The amount to metabolize per second

+ + + diff --git a/obj/item/food/bubblegum/bubblegum.html b/obj/item/food/bubblegum/bubblegum.html new file mode 100644 index 00000000000..14a71453428 --- /dev/null +++ b/obj/item/food/bubblegum/bubblegum.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/bubblegum/bubblegum - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bubblegum + + + +

+ + +

Procs

hallucinateThis proc has a 5% chance to have a bubblegum line appear, with an 85% chance for just text and 15% for a bubblegum hallucination and scarier text.

Proc Details

hallucinate +

+

This proc has a 5% chance to have a bubblegum line appear, with an 85% chance for just text and 15% for a bubblegum hallucination and scarier text.

+ + + diff --git a/obj/item/food/cake.html b/obj/item/food/cake.html new file mode 100644 index 00000000000..3d7f005f8dc --- /dev/null +++ b/obj/item/food/cake.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/cake - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cake + + + +

+ + + +

Vars

slice_typetype is spawned 5 at a time and replaces this cake when processed by cutting tool
yieldchanges yield of sliced cake, default for cake is 5
+

Var Details

slice_type + + + + +

+

type is spawned 5 at a time and replaces this cake when processed by cutting tool

yield + + + + +

+

changes yield of sliced cake, default for cake is 5

+ + + diff --git a/obj/item/food/canned/envirochow.html b/obj/item/food/canned/envirochow.html new file mode 100644 index 00000000000..1063c2abece --- /dev/null +++ b/obj/item/food/canned/envirochow.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/food/canned/envirochow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

envirochow + + + +

+ + + +

Procs

apply_buffThis makes the animal eat the food, and applies the buff status effect to them.
check_buffabilityThis proc checks if the mob is able to receive the buff.

Proc Details

apply_buff +

+

This makes the animal eat the food, and applies the buff status effect to them.

check_buffability +

+

This proc checks if the mob is able to receive the buff.

+ + + diff --git a/obj/item/food/cheese.html b/obj/item/food/cheese.html new file mode 100644 index 00000000000..70eb2f1ac2e --- /dev/null +++ b/obj/item/food/cheese.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/cheese - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Abstract cheese class + + + +

+ +

Everything that is a subclass of this counts as cheese for regal rats.

+

Vars

rat_healused to determine how much health rats/regal rats recover when they eat it.
+

Var Details

rat_heal + + + + +

+

used to determine how much health rats/regal rats recover when they eat it.

+ + + diff --git a/obj/item/food/cheese/wheel.html b/obj/item/food/cheese/wheel.html new file mode 100644 index 00000000000..5b3f4d3cf25 --- /dev/null +++ b/obj/item/food/cheese/wheel.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/food/cheese/wheel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wheel + + + +

+ + +

Procs

consume_cheeseWhiffs away cheese that was touched by the chaos entity byond the realm. In layman's terms, deletes the cheese and throws sparks. +Used in wizard grand rituals' optional cheesy alternative.

Proc Details

consume_cheese +

+

Whiffs away cheese that was touched by the chaos entity byond the realm. In layman's terms, deletes the cheese and throws sparks. +Used in wizard grand rituals' optional cheesy alternative.

+ + + diff --git a/obj/item/food/clothing.html b/obj/item/food/clothing.html new file mode 100644 index 00000000000..569e781f1c7 --- /dev/null +++ b/obj/item/food/clothing.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/clothing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

clothing + + + +

+ + +

Vars

clothingA weak reference to the clothing that created us
+

Var Details

clothing + + + + +

+

A weak reference to the clothing that created us

+ + + diff --git a/obj/item/food/deadmouse.html b/obj/item/food/deadmouse.html new file mode 100644 index 00000000000..be37f91aa0d --- /dev/null +++ b/obj/item/food/deadmouse.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/food/deadmouse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

deadmouse + + + +

+ +

Mice turn into food when they die

+ +

Procs

copy_corpseCopy properties from an imminently dead mouse
use_lazarusSpawn a new mouse from this dead mouse item when hit by a lazarus injector and conditions are met.

Proc Details

copy_corpse +

+

Copy properties from an imminently dead mouse

use_lazarus +

+

Spawn a new mouse from this dead mouse item when hit by a lazarus injector and conditions are met.

+ + + diff --git a/obj/item/food/donkpocket.html b/obj/item/food/donkpocket.html new file mode 100644 index 00000000000..b44bfaa9cde --- /dev/null +++ b/obj/item/food/donkpocket.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/food/donkpocket - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

donkpocket + + + +

+ +

DONK POCKETS

+ + + + +

Vars

added_reagentsThe reagents added when microwaved. Needed since microwaving ignores food_reagents
baking_time_longThe upper end for how long it takes to bake
baking_time_shortThe lower end for how long it takes to bake
child_added_reagentsThe reagents that most child types add when microwaved. Needed because you can't override static lists.
warm_typeWhat type of donk pocket we're warmed into via baking or microwaving.
+

Var Details

added_reagents + + + + +

+

The reagents added when microwaved. Needed since microwaving ignores food_reagents

baking_time_long + + + + +

+

The upper end for how long it takes to bake

baking_time_short + + + + +

+

The lower end for how long it takes to bake

child_added_reagents + + + + +

+

The reagents that most child types add when microwaved. Needed because you can't override static lists.

warm_type + + + + +

+

What type of donk pocket we're warmed into via baking or microwaving.

+ + + diff --git a/obj/item/food/donut.html b/obj/item/food/donut.html new file mode 100644 index 00000000000..88288f8adb2 --- /dev/null +++ b/obj/item/food/donut.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/food/donut - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

donut + + + +

+ + + + +

Procs

check_likedOverride for checkliked in edible component, because all cops LOVE donuts
in_box_spriteReturns the sprite of the donut while in a donut box
make_edibleOverride for checkliked callback

Proc Details

check_liked +

+

Override for checkliked in edible component, because all cops LOVE donuts

in_box_sprite +

+

Returns the sprite of the donut while in a donut box

make_edible +

+

Override for checkliked callback

+ + + diff --git a/obj/item/food/egg.html b/obj/item/food/egg.html new file mode 100644 index 00000000000..c7eb215da10 --- /dev/null +++ b/obj/item/food/egg.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/egg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

egg + + + +

+ + + +

Vars

chick_throw_probHow likely is it that a chicken will come out of here if we throw it?

Procs

spawn_impact_chickSpawn a baby chicken from throwing an egg
+

Var Details

chick_throw_prob + + + + +

+

How likely is it that a chicken will come out of here if we throw it?

Proc Details

spawn_impact_chick +

+

Spawn a baby chicken from throwing an egg

+ + + diff --git a/obj/item/food/egg/watcher.html b/obj/item/food/egg/watcher.html new file mode 100644 index 00000000000..b2550a9402e --- /dev/null +++ b/obj/item/food/egg/watcher.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/food/egg/watcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

watcher + + + +

+ +

Egg which hatches into a helpful pet. Or you can eat it if you want.

+ + + + +

Vars

pedometerDatum used to measure our steps
steps_to_hatchHow far should we travel to hatch?
steps_travelledHow far have we moved?

Procs

jiggleAnimate the egg
on_steppedCalled when we are moved, whether inside an inventory or by ourself somehow
+

Var Details

pedometer + + + + +

+

Datum used to measure our steps

steps_to_hatch + + + + +

+

How far should we travel to hatch?

steps_travelled + + + + +

+

How far have we moved?

Proc Details

jiggle +

+

Animate the egg

on_stepped +

+

Called when we are moved, whether inside an inventory or by ourself somehow

+ + + diff --git a/obj/item/food/fishmeat/carp.html b/obj/item/food/fishmeat/carp.html new file mode 100644 index 00000000000..8189f51c413 --- /dev/null +++ b/obj/item/food/fishmeat/carp.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/fishmeat/carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

carp + + + +

+ + +

Vars

cell_lineCytology category you can swab the meat for.
+

Var Details

cell_line + + + + +

+

Cytology category you can swab the meat for.

+ + + diff --git a/obj/item/food/golem_food.html b/obj/item/food/golem_food.html new file mode 100644 index 00000000000..f2e02898ebf --- /dev/null +++ b/obj/item/food/golem_food.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/food/golem_food - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem_food + + + +

+ +

Abstract food item used to feed golems

+ + + + + +

Vars

consume_foodIf we use up a stack of food on use or not
food_buffGolem food buff to apply on consumption
ownerA reference to whatever it is we represent

Procs

on_parent_destroyedClean ourselves up if our parent dies
setupSet up some properties based on a passed-in item that the golem will pretend to eat
took_biteCalled when someone bites this food, subtract one charge from our material stack
+

Var Details

consume_food + + + + +

+

If we use up a stack of food on use or not

food_buff + + + + +

+

Golem food buff to apply on consumption

owner + + + + +

+

A reference to whatever it is we represent

Proc Details

on_parent_destroyed +

+

Clean ourselves up if our parent dies

setup +

+

Set up some properties based on a passed-in item that the golem will pretend to eat

took_bite +

+

Called when someone bites this food, subtract one charge from our material stack

+ + + diff --git a/obj/item/food/grown.html b/obj/item/food/grown.html new file mode 100644 index 00000000000..da2076b5bbd --- /dev/null +++ b/obj/item/food/grown.html @@ -0,0 +1,129 @@ + + + + + + + /obj/item/food/grown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grown + + + +

+ + + + + + + + + + + + + + + +

Vars

alt_iconIf the grown food has an alternative icon state to use in places.
bite_consumption_modThe modifier applied to the plant's bite size. If a plant has a large amount of reagents naturally, this should be increased to match.
can_distillIf FALSE, this object cannot be distilled into an alcohol.
distill_reagentThe reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.
dry_grindIf TRUE, this object needs to be dry to be ground up
filling_colorColor of the grown object, for use in coloring greyscale splats.
offset_at_initShould we pixel offset ourselves at init? for mapping
plantnameName of the plant
seedtype path, gets converted to item on New(). It's safe to assume it's always a seed item.
splat_typeThe typepath made when the plant is splatted with liquid contents.
wine_flavorFlavor of the plant's wine if NULL distll_reagent. If NULL, this is automatically set to the fruit's flavor.
wine_powerBoozepwr of the wine if NULL distill_reagent

Procs

fermentTurns the nutriments and vitamins into the distill reagent or fruit wine
generate_trashGenerates a piece of trash based on our plant item. Used by /datum/element/food_trash. +location - Optional. If passed, generates the item at the passed location instead of at src's drop location.
+

Var Details

alt_icon + + + + +

+

If the grown food has an alternative icon state to use in places.

bite_consumption_mod + + + + +

+

The modifier applied to the plant's bite size. If a plant has a large amount of reagents naturally, this should be increased to match.

can_distill + + + + +

+

If FALSE, this object cannot be distilled into an alcohol.

distill_reagent + + + + +

+

The reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.

dry_grind + + + + +

+

If TRUE, this object needs to be dry to be ground up

filling_color + + + + +

+

Color of the grown object, for use in coloring greyscale splats.

offset_at_init + + + + +

+

Should we pixel offset ourselves at init? for mapping

plantname + + + + +

+

Name of the plant

seed + + + + +

+

type path, gets converted to item on New(). It's safe to assume it's always a seed item.

splat_type + + + + +

+

The typepath made when the plant is splatted with liquid contents.

wine_flavor + + + + +

+

Flavor of the plant's wine if NULL distll_reagent. If NULL, this is automatically set to the fruit's flavor.

wine_power + + + + +

+

Boozepwr of the wine if NULL distill_reagent

Proc Details

ferment +

+

Turns the nutriments and vitamins into the distill reagent or fruit wine

generate_trash +

+

Generates a piece of trash based on our plant item. Used by /datum/element/food_trash. +location - Optional. If passed, generates the item at the passed location instead of at src's drop location.

+ + + diff --git a/obj/item/food/grown/banana.html b/obj/item/food/grown/banana.html new file mode 100644 index 00000000000..f69c061ebc8 --- /dev/null +++ b/obj/item/food/grown/banana.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/grown/banana - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

banana + + + +

+ + +

Procs

check_likedClowns will always like bananas.

Proc Details

check_liked +

+

Clowns will always like bananas.

+ + + diff --git a/obj/item/food/grown/mushroom.html b/obj/item/food/grown/mushroom.html new file mode 100644 index 00000000000..e478bd42731 --- /dev/null +++ b/obj/item/food/grown/mushroom.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/grown/mushroom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mushroom + + + +

+ + +

Vars

icon_stateDefault mushroom icon for recipes that need any mushroom
+

Var Details

icon_state + + + + +

+

Default mushroom icon for recipes that need any mushroom

+ + + diff --git a/obj/item/food/grown/pumpkin.html b/obj/item/food/grown/pumpkin.html new file mode 100644 index 00000000000..40cecd9c379 --- /dev/null +++ b/obj/item/food/grown/pumpkin.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/grown/pumpkin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pumpkin + + + +

+ + +

Vars

carved_typeWhich type of lantern this gourd produces when carved.
+

Var Details

carved_type + + + + +

+

Which type of lantern this gourd produces when carved.

+ + + diff --git a/obj/item/food/icecream.html b/obj/item/food/icecream.html new file mode 100644 index 00000000000..60a70f80725 --- /dev/null +++ b/obj/item/food/icecream.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/icecream - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

icecream + + + +

+ + +

Vars

ingredientsThese two variables are used by the ice cream vat. Latter is the one that shows on the UI.
+

Var Details

ingredients + + + + +

+

These two variables are used by the ice cream vat. Latter is the one that shows on the UI.

+ + + diff --git a/obj/item/food/meat/cutlet.html b/obj/item/food/meat/cutlet.html new file mode 100644 index 00000000000..03cd30b298c --- /dev/null +++ b/obj/item/food/meat/cutlet.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/meat/cutlet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cutlet + + + +

+ + +

Procs

on_microwave_cookedThis proc handles setting up the correct meat name for the cutlet, this should definitely be changed with the food rework.

Proc Details

on_microwave_cooked +

+

This proc handles setting up the correct meat name for the cutlet, this should definitely be changed with the food rework.

+ + + diff --git a/obj/item/food/meat/slab.html b/obj/item/food/meat/slab.html new file mode 100644 index 00000000000..f3ee7da5162 --- /dev/null +++ b/obj/item/food/meat/slab.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/meat/slab - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

slab + + + +

+ + +

Vars

slab_colorLegacy code, handles the coloring of the overlay of the cutlets made from this.
+

Var Details

slab_color + + + + +

+

Legacy code, handles the coloring of the overlay of the cutlets made from this.

+ + + diff --git a/obj/item/food/meat/steak/plain/human.html b/obj/item/food/meat/steak/plain/human.html new file mode 100644 index 00000000000..6a4a63091ce --- /dev/null +++ b/obj/item/food/meat/steak/plain/human.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/meat/steak/plain/human - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

human + + + +

+ + +

Procs

on_microwave_cookedMake sure the steak has the correct name

Proc Details

on_microwave_cooked +

+

Make sure the steak has the correct name

+ + + diff --git a/obj/item/food/monkeycube.html b/obj/item/food/monkeycube.html new file mode 100644 index 00000000000..cf9b4328a11 --- /dev/null +++ b/obj/item/food/monkeycube.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/monkeycube - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

monkeycube + + + +

+ + + +

Vars

expandingWhether we've been wetted and are expanding
spawned_mobMob typepath to spawn when expanding
+

Var Details

expanding + + + + +

+

Whether we've been wetted and are expanding

spawned_mob + + + + +

+

Mob typepath to spawn when expanding

+ + + diff --git a/obj/item/food/nugget.html b/obj/item/food/nugget.html new file mode 100644 index 00000000000..72ccab63aa5 --- /dev/null +++ b/obj/item/food/nugget.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/nugget - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nugget + + + +

+ + +

Vars

icon_stateDefault nugget icon for recipes that need any nugget
+

Var Details

icon_state + + + + +

+

Default nugget icon for recipes that need any nugget

+ + + diff --git a/obj/item/food/pancakes.html b/obj/item/food/pancakes.html new file mode 100644 index 00000000000..36208e0ae7f --- /dev/null +++ b/obj/item/food/pancakes.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/food/pancakes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pancakes + + + +

+ + +

Vars

stack_nameUsed as a base name while generating the icon states when stacked
+

Var Details

stack_name + + + + +

+

Used as a base name while generating the icon states when stacked

+ + + diff --git a/obj/item/food/pie.html b/obj/item/food/pie.html new file mode 100644 index 00000000000..ff9616d7d2d --- /dev/null +++ b/obj/item/food/pie.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/pie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pie + + + +

+ + + +

Vars

slice_typetype is spawned 5 at a time and replaces this pie when processed by cutting tool
yieldso that the yield can change if it isnt 5
+

Var Details

slice_type + + + + +

+

type is spawned 5 at a time and replaces this pie when processed by cutting tool

yield + + + + +

+

so that the yield can change if it isnt 5

+ + + diff --git a/obj/item/food/pizza.html b/obj/item/food/pizza.html new file mode 100644 index 00000000000..d11b80e0b42 --- /dev/null +++ b/obj/item/food/pizza.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/pizza - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pizza + + + +

+ + + +

Vars

boxtagWhat label pizza boxes use if this pizza spawns in them.
slice_typetype is spawned 6 at a time and replaces this pizza when processed by cutting tool
+

Var Details

boxtag + + + + +

+

What label pizza boxes use if this pizza spawns in them.

slice_type + + + + +

+

type is spawned 6 at a time and replaces this pizza when processed by cutting tool

+ + + diff --git a/obj/item/food/rationpack.html b/obj/item/food/rationpack.html new file mode 100644 index 00000000000..c9e8a50ac7c --- /dev/null +++ b/obj/item/food/rationpack.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/food/rationpack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rationpack + + + +

+ + +

Procs

make_edibleOverride for checkliked callback

Proc Details

make_edible +

+

Override for checkliked callback

+ + + diff --git a/obj/item/food/ready_donk.html b/obj/item/food/ready_donk.html new file mode 100644 index 00000000000..f3a360b4693 --- /dev/null +++ b/obj/item/food/ready_donk.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/food/ready_donk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ready_donk + + + +

+ + + +

Vars

added_reagentsWhat reagents should be added when this item is warmed?
warm_typeWhat type of ready-donk are we warmed into?
+

Var Details

added_reagents + + + + +

+

What reagents should be added when this item is warmed?

warm_type + + + + +

+

What type of ready-donk are we warmed into?

+ + + diff --git a/obj/item/food/sandwich/death.html b/obj/item/food/sandwich/death.html new file mode 100644 index 00000000000..421c2574c8c --- /dev/null +++ b/obj/item/food/sandwich/death.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/food/sandwich/death - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

death + + + +

+ + + +

Procs

after_eatCallback to be used with the edible component. +If you take a bite of the sandwich with the right clothes and hairstyle, you like it. +If you don't, you contract a deadly disease.
check_likedCallback to be used with the edible component. +If you have the right clothes and hairstyle, you like it. +If you don't, you don't like it.

Proc Details

after_eat +

+

Callback to be used with the edible component. +If you take a bite of the sandwich with the right clothes and hairstyle, you like it. +If you don't, you contract a deadly disease.

check_liked +

+

Callback to be used with the edible component. +If you have the right clothes and hairstyle, you like it. +If you don't, you don't like it.

+ + + diff --git a/obj/item/forcefield_projector.html b/obj/item/forcefield_projector.html new file mode 100644 index 00000000000..9a510119e8a --- /dev/null +++ b/obj/item/forcefield_projector.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/forcefield_projector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

forcefield_projector + + + +

+ + + +

Vars

creation_timeTime it takes to materialize a forcefield.
force_proj_busyChecks to make sure the projector isn't busy with making another forcefield.
+

Var Details

creation_time + + + + +

+

Time it takes to materialize a forcefield.

force_proj_busy + + + + +

+

Checks to make sure the projector isn't busy with making another forcefield.

+ + + diff --git a/obj/item/frog_contract.html b/obj/item/frog_contract.html new file mode 100644 index 00000000000..53c448b6d4e --- /dev/null +++ b/obj/item/frog_contract.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/frog_contract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

frog_contract + + + +

+ + +

Procs

create_frogcustomize our own frog and trap it into the statue

Proc Details

create_frog +

+

customize our own frog and trap it into the statue

+ + + diff --git a/obj/item/frog_statue.html b/obj/item/frog_statue.html new file mode 100644 index 00000000000..7c4578e7e21 --- /dev/null +++ b/obj/item/frog_statue.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/frog_statue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

frog_statue + + + +

+ + + + + + + +

Vars

contained_frogour pet frog
summon_cooldownthe summon cooldown

Procs

recall_frogresummon the frog into its home
release_frogrelease the frog to wreak havoc
render_obsoletewe have lost our frog, let out a scream!
set_new_frogset this frog as our inhabitor
+

Var Details

contained_frog + + + + +

+

our pet frog

summon_cooldown + + + + +

+

the summon cooldown

Proc Details

recall_frog +

+

resummon the frog into its home

release_frog +

+

release the frog to wreak havoc

render_obsolete +

+

we have lost our frog, let out a scream!

set_new_frog +

+

set this frog as our inhabitor

+ + + diff --git a/obj/item/fuel_pellet.html b/obj/item/fuel_pellet.html new file mode 100644 index 00000000000..6421927c4cc --- /dev/null +++ b/obj/item/fuel_pellet.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/fuel_pellet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fuel_pellet + + + +

+ + + +

Vars

fuel_typeThe type of fuel this pellet has within.
usesThe amount of uses left in this fuel pellet.
+

Var Details

fuel_type + + + + +

+

The type of fuel this pellet has within.

uses + + + + +

+

The amount of uses left in this fuel pellet.

+ + + diff --git a/obj/item/fugu_gland.html b/obj/item/fugu_gland.html new file mode 100644 index 00000000000..f4057734691 --- /dev/null +++ b/obj/item/fugu_gland.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/fugu_gland - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fugu_gland + + + +

+ +

Item you use on a mob to make it bigger and stronger

+

Vars

fugu_blacklistList of mob types which you can't apply the gland to
+

Var Details

fugu_blacklist + + + + +

+

List of mob types which you can't apply the gland to

+ + + diff --git a/obj/item/gas_filter.html b/obj/item/gas_filter.html new file mode 100644 index 00000000000..b2be475c6c0 --- /dev/null +++ b/obj/item/gas_filter.html @@ -0,0 +1,98 @@ + + + + + + + /obj/item/gas_filter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gas_filter + + + +

+ + + + + + + + + + +

Vars

filter_efficiencyGeneral efficiency of the filter (between 0 and 1)
filter_statusAmount of filtering points available
filter_strength_highstrength of the filter against high filtering gases
filter_strength_lowstrength of the filter against low filtering gases
filter_strength_midstrength of the filter against mid filtering gases
high_filtering_gasesList of gases with high filter priority
low_filtering_gasesList of gases with low filter priority
mid_filtering_gasesList of gases with medium filter priority

Procs

reduce_filter_statuscalled by the gas mask where the filter is installed, lower the filter_status depending on the breath gas composition and by the strength of the filter +returns the modified breath gas mixture
+

Var Details

filter_efficiency + + + + +

+

General efficiency of the filter (between 0 and 1)

filter_status + + + + +

+

Amount of filtering points available

filter_strength_high + + + + +

+

strength of the filter against high filtering gases

filter_strength_low + + + + +

+

strength of the filter against low filtering gases

filter_strength_mid + + + + +

+

strength of the filter against mid filtering gases

high_filtering_gases + + + + +

+

List of gases with high filter priority

low_filtering_gases + + + + +

+

List of gases with low filter priority

mid_filtering_gases + + + + +

+

List of gases with medium filter priority

Proc Details

reduce_filter_status +

+

called by the gas mask where the filter is installed, lower the filter_status depending on the breath gas composition and by the strength of the filter +returns the modified breath gas mixture

+

Arguments:

+
    +
  • breath - the current gas mixture of the breathed air
  • +
+ + + diff --git a/obj/item/gibtonite.html b/obj/item/gibtonite.html new file mode 100644 index 00000000000..d5eff2d4e81 --- /dev/null +++ b/obj/item/gibtonite.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/gibtonite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gibtonite + + + +

+ + + + + + + + + +

Vars

attacherwho attached the rig to us
det_timehow long does it take for this to detonate
det_timerthe timer
primedif the gibtonite is currently primed for explosion
qualityHow pure this gibtonite is, determines the explosion produced by it and is derived from the det_time of the rock wall it was taken from, higher value = better
rigthe assembly rig
rig_overlaythe rig overlay

Procs

defuseStop the reaction and reduce ore explosive power
+

Var Details

attacher + + + + +

+

who attached the rig to us

det_time + + + + +

+

how long does it take for this to detonate

det_timer + + + + +

+

the timer

primed + + + + +

+

if the gibtonite is currently primed for explosion

quality + + + + +

+

How pure this gibtonite is, determines the explosion produced by it and is derived from the det_time of the rock wall it was taken from, higher value = better

rig + + + + +

+

the assembly rig

rig_overlay + + + + +

+

the rig overlay

Proc Details

defuse +

+

Stop the reaction and reduce ore explosive power

+ + + diff --git a/obj/item/gibtonite_hand.html b/obj/item/gibtonite_hand.html new file mode 100644 index 00000000000..2bcb6ca101f --- /dev/null +++ b/obj/item/gibtonite_hand.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gibtonite_hand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gibtonite_hand + + + +

+ +

Lets you hold a gibtonite ore in one hand and shoot it like a gun

+ +

Vars

held_gibtoniteThe bomb we're going to throw

Procs

release_gibtoniteCalled when you can't hold it in any longer and just drop it on the ground
+

Var Details

held_gibtonite + + + + +

+

The bomb we're going to throw

Proc Details

release_gibtonite +

+

Called when you can't hold it in any longer and just drop it on the ground

+ + + diff --git a/obj/item/gift.html b/obj/item/gift.html new file mode 100644 index 00000000000..0181e07c846 --- /dev/null +++ b/obj/item/gift.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gift + + + +

+ +

Gifts to give to players, will contain a nice toy or other fun item for them to play with.

+

Vars

contains_typeWhat type of thing are we guaranteed to spawn in with?
+

Var Details

contains_type + + + + +

+

What type of thing are we guaranteed to spawn in with?

+ + + diff --git a/obj/item/golem_shell.html b/obj/item/golem_shell.html new file mode 100644 index 00000000000..79ee8812db3 --- /dev/null +++ b/obj/item/golem_shell.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/golem_shell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

golem_shell + + + +

+ + + +

Vars

required_stacksAmount of minerals you need to feed the shell to wake it up
shell_typeType of shell to create
+

Var Details

required_stacks + + + + +

+

Amount of minerals you need to feed the shell to wake it up

shell_type + + + + +

+

Type of shell to create

+ + + diff --git a/obj/item/goliath_infuser_hammer.html b/obj/item/goliath_infuser_hammer.html new file mode 100644 index 00000000000..1b798dbde7b --- /dev/null +++ b/obj/item/goliath_infuser_hammer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/goliath_infuser_hammer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

goliath_infuser_hammer + + + +

+ + + +

Vars

mining_bonus_forceAmount of damage we deal to the mining and boss factions.
tendril_hammer_cdOur cooldown declare for our special knockback hit
+

Var Details

mining_bonus_force + + + + +

+

Amount of damage we deal to the mining and boss factions.

tendril_hammer_cd + + + + +

+

Our cooldown declare for our special knockback hit

+ + + diff --git a/obj/item/gps.html b/obj/item/gps.html new file mode 100644 index 00000000000..1c51b20f22c --- /dev/null +++ b/obj/item/gps.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/gps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

gps + + + +

+ + +

Procs

add_gps_componentAdds the GPS component to this item.

Proc Details

add_gps_component +

+

Adds the GPS component to this item.

+ + + diff --git a/obj/item/graft.html b/obj/item/graft.html new file mode 100644 index 00000000000..5119cad1766 --- /dev/null +++ b/obj/item/graft.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/graft - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

graft + + + +

+ +

A new subsystem for hydroponics, as a way to share specific traits into plants, as a way to phase out the DNA manipulator.

+ + + + + + + + +

Vars

enduranceThe endurance stat of the parent seed when the graft was taken.
graft_appearanceDetermines the appearance of the graft. Rudimentary right now so it just picks randomly.
lifespanThe lifespan stat of the parent seed when the graft was taken.
parent_nameThe name of the plant this was taken from.
productionThe production stat of the parent seed when the graft was taken.
stored_traitThe stored trait taken from the parent plant. Defaults to perenial growth.
weed_chanceThe weed_chance stat of the parent seed when the graft was taken.
weed_rateThe weed_rate stat of the parent seed when the graft was taken.
yieldThe yield stat of the parent seed when the graft was taken.
+

Var Details

endurance + + + + +

+

The endurance stat of the parent seed when the graft was taken.

graft_appearance + + + + +

+

Determines the appearance of the graft. Rudimentary right now so it just picks randomly.

lifespan + + + + +

+

The lifespan stat of the parent seed when the graft was taken.

parent_name + + + + +

+

The name of the plant this was taken from.

production + + + + +

+

The production stat of the parent seed when the graft was taken.

stored_trait + + + + +

+

The stored trait taken from the parent plant. Defaults to perenial growth.

weed_chance + + + + +

+

The weed_chance stat of the parent seed when the graft was taken.

weed_rate + + + + +

+

The weed_rate stat of the parent seed when the graft was taken.

yield + + + + +

+

The yield stat of the parent seed when the graft was taken.

+ + + diff --git a/obj/item/greentext.html b/obj/item/greentext.html new file mode 100644 index 00000000000..b4bf5a1329b --- /dev/null +++ b/obj/item/greentext.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/greentext - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

greentext + + + +

+ + + + + +

Vars

color_altered_mobsEvery person who has touched the greentext, having their colors changed by it.
holderThe current holder of the greentext.
quietBoolean on whether to announce the greentext's destruction to all mobs.
roundend_callbackThe callback at the end of a round to check if the greentext has been completed.
+

Var Details

color_altered_mobs + + + + +

+

Every person who has touched the greentext, having their colors changed by it.

holder + + + + +

+

The current holder of the greentext.

quiet + + + + +

+

Boolean on whether to announce the greentext's destruction to all mobs.

roundend_callback + + + + +

+

The callback at the end of a round to check if the greentext has been completed.

+ + + diff --git a/obj/item/grenade.html b/obj/item/grenade.html new file mode 100644 index 00000000000..6a56c944252 --- /dev/null +++ b/obj/item/grenade.html @@ -0,0 +1,165 @@ + + + + + + + /obj/item/grenade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

grenade + + + +

+ +

Base class for all grenades.

+ + + + + + + + + + + + + + + + + +

Vars

activeIs this grenade currently armed?
clumsy_checkUsed in botch_check to determine how a user's clumsiness affects that user's ability to prime a grenade correctly.
det_timeHow long it takes for a grenade to explode after being armed
display_timerWill this state what it's det_time is when examined?
dud_flagsBitfields which prevent the grenade from detonating if set. Includes (GRENADE_DUD|GRENADE_USED)
ex_devhow big of a devastation explosion radius on prime
ex_flamehow big of a flame explosion radius on prime
ex_heavyhow big of a heavy explosion radius on prime
ex_lighthow big of a light explosion radius on prime
shrapnel_initializedDid we add the component responsible for spawning sharpnel to this?
shrapnel_radiusthe higher this number, the more projectiles are created as shrapnel
shrapnel_typeif set, will spew out projectiles of this type
stickyWas sticky tape used to make this sticky?

Procs

arm_grenadearm_grenade (formerly preprime) refers to when a grenade with a standard time fuze is activated, making it go beepbeepbeep and then detonate a few seconds later. +Grenades with other triggers like remote igniters probably skip this step and go straight to /obj/item/grenade/proc/detonate
botch_checkChecks for various ways to botch priming a grenade.
detonatedetonate (formerly prime) refers to when the grenade actually delivers its payload (whether or not a boom/bang/detonation is involved)
ingredient_detonationSignal sent by someone eating food this is an ingredient in "used_in". Makes the grenade go kerblooey, destroying the food.
on_used_as_ingredientSignal sent by someone putting the grenade in as an ingredient. Registers signals onto what it was put into so it can explode.
+

Var Details

active + + + + +

+

Is this grenade currently armed?

clumsy_check + + + + +

+

Used in botch_check to determine how a user's clumsiness affects that user's ability to prime a grenade correctly.

det_time + + + + +

+

How long it takes for a grenade to explode after being armed

display_timer + + + + +

+

Will this state what it's det_time is when examined?

dud_flags + + + + +

+

Bitfields which prevent the grenade from detonating if set. Includes (GRENADE_DUD|GRENADE_USED)

ex_dev + + + + +

+

how big of a devastation explosion radius on prime

ex_flame + + + + +

+

how big of a flame explosion radius on prime

ex_heavy + + + + +

+

how big of a heavy explosion radius on prime

ex_light + + + + +

+

how big of a light explosion radius on prime

shrapnel_initialized + + + + +

+

Did we add the component responsible for spawning sharpnel to this?

shrapnel_radius + + + + +

+

the higher this number, the more projectiles are created as shrapnel

shrapnel_type + + + + +

+

if set, will spew out projectiles of this type

sticky + + + + +

+

Was sticky tape used to make this sticky?

Proc Details

arm_grenade +

+

arm_grenade (formerly preprime) refers to when a grenade with a standard time fuze is activated, making it go beepbeepbeep and then detonate a few seconds later. +Grenades with other triggers like remote igniters probably skip this step and go straight to /obj/item/grenade/proc/detonate

botch_check +

+

Checks for various ways to botch priming a grenade.

+

Arguments:

+
    +
  • mob/living/carbon/human/user - who is priming our grenade?
  • +

detonate +

+

detonate (formerly prime) refers to when the grenade actually delivers its payload (whether or not a boom/bang/detonation is involved)

+

Arguments:

+
    +
  • lanced_by- If this grenade was detonated by an elance, we need to pass that along with the COMSIG_GRENADE_DETONATE signal for pellet clouds
  • +

ingredient_detonation +

+

Signal sent by someone eating food this is an ingredient in "used_in". Makes the grenade go kerblooey, destroying the food.

on_used_as_ingredient +

+

Signal sent by someone putting the grenade in as an ingredient. Registers signals onto what it was put into so it can explode.

+ + + diff --git a/obj/item/grenade/c4.html b/obj/item/grenade/c4.html new file mode 100644 index 00000000000..93125900ba9 --- /dev/null +++ b/obj/item/grenade/c4.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/c4 - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

c4 + + + +

+ + + +

Vars

maximum_timerMaximum timer for c4 charges
minimum_timerMinimum timer for c4 charges
+

Var Details

maximum_timer + + + + +

+

Maximum timer for c4 charges

minimum_timer + + + + +

+

Minimum timer for c4 charges

+ + + diff --git a/obj/item/grenade/c4/es8.html b/obj/item/grenade/c4/es8.html new file mode 100644 index 00000000000..83c663227b9 --- /dev/null +++ b/obj/item/grenade/c4/es8.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/grenade/c4/es8 - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

es8 + + + +

+ + +

Vars

objective_weakrefWeakref to user's objective
+

Var Details

objective_weakref + + + + +

+

Weakref to user's objective

+ + + diff --git a/obj/item/grenade/c4/ninja.html b/obj/item/grenade/c4/ninja.html new file mode 100644 index 00000000000..66ca0c62f3e --- /dev/null +++ b/obj/item/grenade/c4/ninja.html @@ -0,0 +1,69 @@ + + + + + + + /obj/item/grenade/c4/ninja - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Spider Charge + + + +

+ +

A unique version of c4 possessed only by the space ninja. Has a stronger blast radius. +Can only be detonated by space ninjas with the bombing objective. Can only be set up where the objective says it can. +When it primes, the space ninja responsible will have their objective set to complete.

+ + + +

Vars

detonation_areaThe only area that the charge is allowed to be planted, and detonated in
detonatorWeakref to the mob that has planted the charge

Procs

check_loccheck_loc
set_detonation_areaset_detonation_area
+

Var Details

detonation_area + + + + +

+

The only area that the charge is allowed to be planted, and detonated in

detonator + + + + +

+

Weakref to the mob that has planted the charge

Proc Details

check_loc +

+

check_loc

+

Checks to see if the c4 is in the correct place when being planted.

+

Arguments

+
    +
  • mob/user - The planter of the c4
  • +

set_detonation_area +

+

set_detonation_area

+

Proc used to set the allowed location for charge detonation

+

Arguments

+
    +
  • datum/antagonist/ninja/ninja_antag - The antag datum for the owner of the c4
  • +
+ + + diff --git a/obj/item/grenade/chem_grenade.html b/obj/item/grenade/chem_grenade.html new file mode 100644 index 00000000000..bb3efb6a349 --- /dev/null +++ b/obj/item/grenade/chem_grenade.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/grenade/chem_grenade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chem_grenade + + + +

+ + + + + + + + + + + +

Vars

affected_areaThe range that this grenade can splash reagents at if they aren't consumed on detonation.
allowed_containersThe types of reagent containers that can be added to this grenade casing.
banned_containersThe types of reagent containers that can't be added to this grenade casing.
beakersThe set of reagent containers that have been added to this grenade casing.
casedescThe description when examining empty casings.
casing_holder_volumeThe maximum volume of the reagents in the grenade casing.
ignition_tempThe amount of temperature that is added to the reagents on detonation.
landminemodeWhether or not the grenade is currently acting as a landmine. Currently broken and not my current project.
stageWhich stage of construction this grenade is currently at.
threatscaleHow much to scale the reagents by when the grenade detonates. Used by advanced grenades to make them slightly more worthy.
+

Var Details

affected_area + + + + +

+

The range that this grenade can splash reagents at if they aren't consumed on detonation.

allowed_containers + + + + +

+

The types of reagent containers that can be added to this grenade casing.

banned_containers + + + + +

+

The types of reagent containers that can't be added to this grenade casing.

beakers + + + + +

+

The set of reagent containers that have been added to this grenade casing.

casedesc + + + + +

+

The description when examining empty casings.

casing_holder_volume + + + + +

+

The maximum volume of the reagents in the grenade casing.

ignition_temp + + + + +

+

The amount of temperature that is added to the reagents on detonation.

landminemode + + + + +

+

Whether or not the grenade is currently acting as a landmine. Currently broken and not my current project.

stage + + + + +

+

Which stage of construction this grenade is currently at.

threatscale + + + + +

+

How much to scale the reagents by when the grenade detonates. Used by advanced grenades to make them slightly more worthy.

+ + + diff --git a/obj/item/grenade/gas_crystal/healium_crystal.html b/obj/item/grenade/gas_crystal/healium_crystal.html new file mode 100644 index 00000000000..6ee84064634 --- /dev/null +++ b/obj/item/grenade/gas_crystal/healium_crystal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/grenade/gas_crystal/healium_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

healium_crystal + + + +

+ + +

Vars

fix_rangeRange of the grenade that will cool down and affect mobs
+

Var Details

fix_range + + + + +

+

Range of the grenade that will cool down and affect mobs

+ + + diff --git a/obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html b/obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html new file mode 100644 index 00000000000..78e28608ba0 --- /dev/null +++ b/obj/item/grenade/gas_crystal/nitrous_oxide_crystal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/gas_crystal/nitrous_oxide_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nitrous_oxide_crystal + + + +

+ + + +

Vars

fill_rangeRange of the grenade air refilling
n2o_gas_amountAmount of n2o gas released (close to the grenade)
+

Var Details

fill_range + + + + +

+

Range of the grenade air refilling

n2o_gas_amount + + + + +

+

Amount of n2o gas released (close to the grenade)

+ + + diff --git a/obj/item/grenade/gas_crystal/proto_nitrate_crystal.html b/obj/item/grenade/gas_crystal/proto_nitrate_crystal.html new file mode 100644 index 00000000000..beaa8bd7e1c --- /dev/null +++ b/obj/item/grenade/gas_crystal/proto_nitrate_crystal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/grenade/gas_crystal/proto_nitrate_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

proto_nitrate_crystal + + + +

+ + + + +

Vars

n2_gas_amountAmount of Nitrogen gas released (close to the grenade)
o2_gas_amountAmount of Oxygen gas released (close to the grenade)
refill_rangeRange of the grenade air refilling
+

Var Details

n2_gas_amount + + + + +

+

Amount of Nitrogen gas released (close to the grenade)

o2_gas_amount + + + + +

+

Amount of Oxygen gas released (close to the grenade)

refill_range + + + + +

+

Range of the grenade air refilling

+ + + diff --git a/obj/item/grenade/mirage.html b/obj/item/grenade/mirage.html new file mode 100644 index 00000000000..46e6c05eed0 --- /dev/null +++ b/obj/item/grenade/mirage.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/grenade/mirage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mirage + + + +

+ + +

Vars

throwerMob that threw the grenade.
+

Var Details

thrower + + + + +

+

Mob that threw the grenade.

+ + + diff --git a/obj/item/grenade/primer.html b/obj/item/grenade/primer.html new file mode 100644 index 00000000000..d9e632b0731 --- /dev/null +++ b/obj/item/grenade/primer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grenade/primer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

primer + + + +

+ + + +

Vars

shrapnel_typehow many times we need to "rotate" the charge in hand per extra tile of magnitude

Procs

attack_selfhow many times we've "rotated" the charge
+

Var Details

shrapnel_type + + + + +

+

how many times we need to "rotate" the charge in hand per extra tile of magnitude

Proc Details

attack_self +

+

how many times we've "rotated" the charge

+ + + diff --git a/obj/item/grenade/smokebomb.html b/obj/item/grenade/smokebomb.html new file mode 100644 index 00000000000..f093685608c --- /dev/null +++ b/obj/item/grenade/smokebomb.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/grenade/smokebomb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

smokebomb + + + +

+ +

This is smoke bomb, mezum koman. It is a grenade subtype. All craftmanship is of the highest quality. +It menaces with spikes of iron. On it is a depiction of an assistant. +The assistant is bleeding. The assistant has a painful expression. The assistant is dead.

+ + +

Vars

bruh_momentIt's extremely important to keep this list up to date. It helps to generate the insightful description of the smokebomb

Procs

InitializeHere we generate the extremely insightful description.
detonateHere we generate some smoke and also damage blobs??? for some reason. Honestly not sure why we do that.
+

Var Details

bruh_moment + + + + +

+

It's extremely important to keep this list up to date. It helps to generate the insightful description of the smokebomb

Proc Details

Initialize +

+

Here we generate the extremely insightful description.

detonate +

+

Here we generate some smoke and also damage blobs??? for some reason. Honestly not sure why we do that.

+ + + diff --git a/obj/item/grown.html b/obj/item/grown.html new file mode 100644 index 00000000000..f1fd0a068d7 --- /dev/null +++ b/obj/item/grown.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/grown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grown + + + +

+ + + +

Vars

distill_reagentThe reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.
offset_at_initShould we pixel offset ourselves at init? for mapping
+

Var Details

distill_reagent + + + + +

+

The reagent this plant distill to. If NULL, it uses a generic fruit_wine reagent and adjusts its variables.

offset_at_init + + + + +

+

Should we pixel offset ourselves at init? for mapping

+ + + diff --git a/obj/item/guardian_creator.html b/obj/item/guardian_creator.html new file mode 100644 index 00000000000..15e3eaf32ec --- /dev/null +++ b/obj/item/guardian_creator.html @@ -0,0 +1,134 @@ + + + + + + + /obj/item/guardian_creator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guardian_creator + + + +

+ +

An item which grants you your very own soul buddy

+ + + + + + + + + + + + + + +

Vars

allow_changelingIf true, lings can get guardians from this.
allow_guardianIf true, a dextrous guardian can get their own guardian, infinite chain!
allow_multipleIf true, you can have multiple guardians at the same time.
failure_messageFailure message if no ghost picks the holopara.
ling_failureFailure message if we don't allow lings.
mob_nameThe name of the guardian, for UI/message stuff.
possible_guardiansList of all the guardians this type can spawn.
randomIf true, you are given a random guardian rather than picking from a selection.
success_messageMessage sent if we successfully get a guardian.
themeThe visuals we give to the guardian we spawn.
use_messageMessage sent when you use it.
usedAre we used or in the process of being used? If yes, then we can't be used.
used_messageMessage sent when it's already used.

Procs

check_menuChecks to ensure we're still capable of using the radial selector
spawn_guardianActually create our guy
+

Var Details

allow_changeling + + + + +

+

If true, lings can get guardians from this.

allow_guardian + + + + +

+

If true, a dextrous guardian can get their own guardian, infinite chain!

allow_multiple + + + + +

+

If true, you can have multiple guardians at the same time.

failure_message + + + + +

+

Failure message if no ghost picks the holopara.

ling_failure + + + + +

+

Failure message if we don't allow lings.

mob_name + + + + +

+

The name of the guardian, for UI/message stuff.

possible_guardians + + + + +

+

List of all the guardians this type can spawn.

random + + + + +

+

If true, you are given a random guardian rather than picking from a selection.

success_message + + + + +

+

Message sent if we successfully get a guardian.

theme + + + + +

+

The visuals we give to the guardian we spawn.

use_message + + + + +

+

Message sent when you use it.

used + + + + +

+

Are we used or in the process of being used? If yes, then we can't be used.

used_message + + + + +

+

Message sent when it's already used.

Proc Details

check_menu +

+

Checks to ensure we're still capable of using the radial selector

spawn_guardian +

+

Actually create our guy

+ + + diff --git a/obj/item/gun.html b/obj/item/gun.html new file mode 100644 index 00000000000..efba523b2d2 --- /dev/null +++ b/obj/item/gun.html @@ -0,0 +1,89 @@ + + + + + + + /obj/item/gun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gun + + + +

+ + + + + + + + + +

Vars

can_hold_upCan we hold up our target with this? Default to yes
flip_cooldownCooldown for the visible message sent from gun flipping.
pinlessTrue if a gun dosen't need a pin, mostly used for abstract guns like tentacles and meathooks
projectile_damage_multiplierJust 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.
projectile_wound_bonusEven snowflakier way to modify projectile wounding bonus/potential for projectiles fired from this gun.

Procs

add_seclight_pointHandles adding the seclite mount component to the gun. +If the gun shouldn't have a seclight mount, override this with a return. +Or, if a child of a gun with a seclite mount has slightly different behavior or icons, extend this.
clear_suppressorClears var and updates icon. In the case of ballistic weapons, also updates the gun's weight.
process_firereturns true if the gun successfully fires
+

Var Details

can_hold_up + + + + +

+

Can we hold up our target with this? Default to yes

flip_cooldown + + + + +

+

Cooldown for the visible message sent from gun flipping.

pinless + + + + +

+

True if a gun dosen't need a pin, mostly used for abstract guns like tentacles and meathooks

projectile_damage_multiplier + + + + +

+

Just 'slightly' snowflakey way to modify projectile damage for projectiles fired from this gun.

projectile_wound_bonus + + + + +

+

Even snowflakier way to modify projectile wounding bonus/potential for projectiles fired from this gun.

Proc Details

add_seclight_point +

+

Handles adding the seclite mount component to the gun. +If the gun shouldn't have a seclight mount, override this with a return. +Or, if a child of a gun with a seclite mount has slightly different behavior or icons, extend this.

clear_suppressor +

+

Clears var and updates icon. In the case of ballistic weapons, also updates the gun's weight.

process_fire +

+

returns true if the gun successfully fires

+ + + diff --git a/obj/item/gun/ballistic.html b/obj/item/gun/ballistic.html new file mode 100644 index 00000000000..a08c2719cf5 --- /dev/null +++ b/obj/item/gun/ballistic.html @@ -0,0 +1,517 @@ + + + + + + + /obj/item/gun/ballistic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ballistic + + + +

+ +

Subtype for any kind of ballistic gun +This has a shitload of vars on it, and I'm sorry for that, but it does make making new subtypes really easy

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accepted_magazine_typeWhat type (includes subtypes) of magazine will this gun accept being put into it
alternative_ammo_misfiresIf only our alternative ammuntion misfires and not our main ammunition, we set this to TRUE
alternative_caliberour alternative ammo type.
alternative_fire_soundour alternative fire sound, in case we want our gun to be louder or quieter or whatever
bolt_drop_soundsound of dropping the bolt or releasing a slide
bolt_drop_sound_volumevolume of bolt drop/slide release
bolt_lockedUsed for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both.
bolt_typeThe bolt type controls how the gun functions, and what iconstates you'll need to represent those functions. +BOLT_TYPE_STANDARD - The Slide doesn't lock back. Clicking on it will only cycle the bolt. Only 1 sprite. +BOLT_TYPE_OPEN - Same as standard, but it fires directly from the magazine - No need to rack. Doesn't hold the bullet when you drop the mag. +BOLT_TYPE_LOCKING - This is most handguns and bolt action rifles. The bolt will lock back when it's empty. You need yourgun_bolt and yourgun_bolt_locked icon states. +BOLT_TYPE_NO_BOLT - This is shotguns and revolvers. clicking will dump out all the bullets in the gun, spent or not. +see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT
bolt_wordingPhrasing of the bolt in examine and notification messages; ex: bolt, slide, etc.
can_be_sawn_offWhether the gun can be sawn off by sawing tools
can_misfireMisfire Variables /// +Whether our ammo misfires now or when it's set by the wrench_act. TRUE means it misfires.
can_modify_ammoCan we modify our ammo type in this gun's internal magazine?
cartridge_wordingPhrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc.
casing_ejectorwhether the gun ejects the chambered casing
click_on_low_ammoWhether our gun clicks when it approaches an empty magazine/chamber
eject_empty_soundsound of ejecting an empty magazine
eject_soundSound of ejecting a magazine
eject_sound_varywhether eject sound should vary
eject_sound_volumevolume of ejecting a magazine
empty_alarmWhether the gun alarms when empty or not.
empty_alarm_soundempty alarm sound (if enabled)
empty_alarm_varywhether empty alarm sound varies
empty_alarm_volumeempty alarm volume sound
empty_indicatorWhether the sprite has a visible indicator for being empty or not.
hidden_chamberedpixel offset for the suppressor overlay on the y axis. +Check if you are able to see if a weapon has a bullet loaded in or not.
initial_caliberour initial ammo type. Should match initial caliber, but a bit of redundency doesn't hurt.
initial_fire_soundour initial fire sound. same reasons for initial caliber
internal_magazineWhether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT.
load_empty_soundsound when inserting an empty magazine
load_soundsound when inserting magazine
load_sound_varywhether loading sound should vary
load_sound_volumevolume of loading sound
lock_back_soundsound of when the bolt is locked back manually
lock_back_sound_varywhether lock back varies
lock_back_sound_volumevolume of lock back
mag_displayWhether the sprite has a visible magazine or not
mag_display_ammoWhether the sprite has a visible ammo display or not
magazineActual magazine currently contained within the gun
magazine_wordingPhrasing of the magazine in examine and notification messages; ex: magazine, box, etx
misfire_percentage_incrementHow much does shooting the gun increment the misfire probability?
misfire_probabilityHow likely is our gun to misfire?
misfire_probability_capWhat is the cap on our misfire probability? Do not set this to 100.
must_hold_to_loadWhether we need to hold the gun in our off-hand to load it. FALSE means we can load it literally anywhere. Important for weapons like bows.
rack_delaylength between individual racks
rack_soundsound of racking
rack_sound_varywhether racking sound should vary
rack_sound_volumevolume of racking
recent_racktime of the most recent rack, used for cooldown purposes
semi_autoHides the bolt icon. +Whether the gun has to be racked each shot or not.
spawn_magazine_typeChange this if the gun should spawn with a different magazine type to what accepted_magazine_type defines. Will create errors if not a type or subtype of accepted magazine.
spawnwithmagazineWhether the gun will spawn loaded with a magazine
special_magsWhether the gun supports multiple special mag types
suppressor_y_offsetpixel offset for the suppressor overlay on the x axis.
tac_reloadsWhether the gun can be tacloaded by slapping a fresh magazine directly on it

Procs

add_notes_ballisticOutputs type-specific weapon stats for ballistic weaponry based on its magazine and its caliber. +It contains extra breaks for the sake of presentation
blow_upused for sawing guns, causes the gun to fire without the input of the user
chamber_roundUsed to chamber a new round and eject the old one
drop_boltDrops the bolt from a locked position
eject_magazineHandles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject
get_ammoGets the number of bullets in the gun
get_ammo_listgets a list of every bullet in the gun
insert_magazineHandles all the logic needed for magazine insertion
install_suppressorInstalls a new suppressor, assumes that the suppressor is already in the contents of src
postfire_empty_checkspostfire empty checks for bolt locking and sound alarms
prefire_empty_checksPrefire empty checks for the bolt drop
rackupdates a bunch of racking related stuff and also handles the sound effects and the like
sawoffHandles all the logic of sawing off guns,
+

Var Details

accepted_magazine_type + + + + +

+

What type (includes subtypes) of magazine will this gun accept being put into it

alternative_ammo_misfires + + + + +

+

If only our alternative ammuntion misfires and not our main ammunition, we set this to TRUE

alternative_caliber + + + + +

+

our alternative ammo type.

alternative_fire_sound + + + + +

+

our alternative fire sound, in case we want our gun to be louder or quieter or whatever

bolt_drop_sound + + + + +

+

sound of dropping the bolt or releasing a slide

bolt_drop_sound_volume + + + + +

+

volume of bolt drop/slide release

bolt_locked + + + + +

+

Used for locking bolt and open bolt guns. Set a bit differently for the two but prevents firing when true for both.

bolt_type + + + + +

+

The bolt type controls how the gun functions, and what iconstates you'll need to represent those functions. +BOLT_TYPE_STANDARD - The Slide doesn't lock back. Clicking on it will only cycle the bolt. Only 1 sprite. +BOLT_TYPE_OPEN - Same as standard, but it fires directly from the magazine - No need to rack. Doesn't hold the bullet when you drop the mag. +BOLT_TYPE_LOCKING - This is most handguns and bolt action rifles. The bolt will lock back when it's empty. You need yourgun_bolt and yourgun_bolt_locked icon states. +BOLT_TYPE_NO_BOLT - This is shotguns and revolvers. clicking will dump out all the bullets in the gun, spent or not. +see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT

bolt_wording + + + + +

+

Phrasing of the bolt in examine and notification messages; ex: bolt, slide, etc.

can_be_sawn_off + + + + +

+

Whether the gun can be sawn off by sawing tools

can_misfire + + + + +

+

Misfire Variables /// +Whether our ammo misfires now or when it's set by the wrench_act. TRUE means it misfires.

can_modify_ammo + + + + +

+

Can we modify our ammo type in this gun's internal magazine?

cartridge_wording + + + + +

+

Phrasing of the cartridge in examine and notification messages; ex: bullet, shell, dart, etc.

casing_ejector + + + + +

+

whether the gun ejects the chambered casing

click_on_low_ammo + + + + +

+

Whether our gun clicks when it approaches an empty magazine/chamber

eject_empty_sound + + + + +

+

sound of ejecting an empty magazine

eject_sound + + + + +

+

Sound of ejecting a magazine

eject_sound_vary + + + + +

+

whether eject sound should vary

eject_sound_volume + + + + +

+

volume of ejecting a magazine

empty_alarm + + + + +

+

Whether the gun alarms when empty or not.

empty_alarm_sound + + + + +

+

empty alarm sound (if enabled)

empty_alarm_vary + + + + +

+

whether empty alarm sound varies

empty_alarm_volume + + + + +

+

empty alarm volume sound

empty_indicator + + + + +

+

Whether the sprite has a visible indicator for being empty or not.

hidden_chambered + + + + +

+

pixel offset for the suppressor overlay on the y axis. +Check if you are able to see if a weapon has a bullet loaded in or not.

initial_caliber + + + + +

+

our initial ammo type. Should match initial caliber, but a bit of redundency doesn't hurt.

initial_fire_sound + + + + +

+

our initial fire sound. same reasons for initial caliber

internal_magazine + + + + +

+

Whether the gun has an internal magazine or a detatchable one. Overridden by BOLT_TYPE_NO_BOLT.

load_empty_sound + + + + +

+

sound when inserting an empty magazine

load_sound + + + + +

+

sound when inserting magazine

load_sound_vary + + + + +

+

whether loading sound should vary

load_sound_volume + + + + +

+

volume of loading sound

lock_back_sound + + + + +

+

sound of when the bolt is locked back manually

lock_back_sound_vary + + + + +

+

whether lock back varies

lock_back_sound_volume + + + + +

+

volume of lock back

mag_display + + + + +

+

Whether the sprite has a visible magazine or not

mag_display_ammo + + + + +

+

Whether the sprite has a visible ammo display or not

magazine + + + + +

+

Actual magazine currently contained within the gun

magazine_wording + + + + +

+

Phrasing of the magazine in examine and notification messages; ex: magazine, box, etx

misfire_percentage_increment + + + + +

+

How much does shooting the gun increment the misfire probability?

misfire_probability + + + + +

+

How likely is our gun to misfire?

misfire_probability_cap + + + + +

+

What is the cap on our misfire probability? Do not set this to 100.

must_hold_to_load + + + + +

+

Whether we need to hold the gun in our off-hand to load it. FALSE means we can load it literally anywhere. Important for weapons like bows.

rack_delay + + + + +

+

length between individual racks

rack_sound + + + + +

+

sound of racking

rack_sound_vary + + + + +

+

whether racking sound should vary

rack_sound_volume + + + + +

+

volume of racking

recent_rack + + + + +

+

time of the most recent rack, used for cooldown purposes

semi_auto + + + + +

+

Hides the bolt icon. +Whether the gun has to be racked each shot or not.

spawn_magazine_type + + + + +

+

Change this if the gun should spawn with a different magazine type to what accepted_magazine_type defines. Will create errors if not a type or subtype of accepted magazine.

spawnwithmagazine + + + + +

+

Whether the gun will spawn loaded with a magazine

special_mags + + + + +

+

Whether the gun supports multiple special mag types

suppressor_y_offset + + + + +

+

pixel offset for the suppressor overlay on the x axis.

tac_reloads + + + + +

+

Whether the gun can be tacloaded by slapping a fresh magazine directly on it

Proc Details

add_notes_ballistic +

+

Outputs type-specific weapon stats for ballistic weaponry based on its magazine and its caliber. +It contains extra breaks for the sake of presentation

blow_up +

+

used for sawing guns, causes the gun to fire without the input of the user

chamber_round +

+

Used to chamber a new round and eject the old one

drop_bolt +

+

Drops the bolt from a locked position

eject_magazine +

+

Handles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject

get_ammo +

+

Gets the number of bullets in the gun

get_ammo_list +

+

gets a list of every bullet in the gun

insert_magazine +

+

Handles all the logic needed for magazine insertion

install_suppressor +

+

Installs a new suppressor, assumes that the suppressor is already in the contents of src

postfire_empty_checks +

+

postfire empty checks for bolt locking and sound alarms

prefire_empty_checks +

+

Prefire empty checks for the bolt drop

rack +

+

updates a bunch of racking related stuff and also handles the sound effects and the like

sawoff +

+

Handles all the logic of sawing off guns,

+ + + diff --git a/obj/item/gun/ballistic/automatic.html b/obj/item/gun/ballistic/automatic.html new file mode 100644 index 00000000000..54c9b1de63b --- /dev/null +++ b/obj/item/gun/ballistic/automatic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/ballistic/automatic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

automatic + + + +

+ + + +

Vars

selector_switch_iconfire selector position. 1 = semi, 2 = burst. anything past that can vary between guns.

Procs

update_overlaysif it has an icon for a selector switch indicating current firemode.
+

Var Details

selector_switch_icon + + + + +

+

fire selector position. 1 = semi, 2 = burst. anything past that can vary between guns.

Proc Details

update_overlays +

+

if it has an icon for a selector switch indicating current firemode.

+ + + diff --git a/obj/item/gun/ballistic/automatic/tommygun.html b/obj/item/gun/ballistic/automatic/tommygun.html new file mode 100644 index 00000000000..1535797dbb6 --- /dev/null +++ b/obj/item/gun/ballistic/automatic/tommygun.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/ballistic/automatic/tommygun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tommygun + + + +

+ + +

Vars

rofRate of fire, set on initialize only
+

Var Details

rof + + + + +

+

Rate of fire, set on initialize only

+ + + diff --git a/obj/item/gun/ballistic/bow.html b/obj/item/gun/ballistic/bow.html new file mode 100644 index 00000000000..ab6006b4f25 --- /dev/null +++ b/obj/item/gun/ballistic/bow.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/ballistic/bow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bow + + + +

+ + +

Vars

drawnwhether the bow is drawn back
+

Var Details

drawn + + + + +

+

whether the bow is drawn back

+ + + diff --git a/obj/item/gun/ballistic/revolver/chaplain.html b/obj/item/gun/ballistic/revolver/chaplain.html new file mode 100644 index 00000000000..432f38011f1 --- /dev/null +++ b/obj/item/gun/ballistic/revolver/chaplain.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/ballistic/revolver/chaplain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chaplain + + + +

+ + + +

Vars

needs_burdenNeeds burden level nine to refill.
possible_namesList of all possible names and descriptions.
+

Var Details

needs_burden + + + + +

+

Needs burden level nine to refill.

possible_names + + + + +

+

List of all possible names and descriptions.

+ + + diff --git a/obj/item/gun/ballistic/rocketlauncher.html b/obj/item/gun/ballistic/rocketlauncher.html new file mode 100644 index 00000000000..b561e8081f2 --- /dev/null +++ b/obj/item/gun/ballistic/rocketlauncher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/ballistic/rocketlauncher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rocketlauncher + + + +

+ + +

Vars

backblastDo we shit flames behind us when we fire?
+

Var Details

backblast + + + + +

+

Do we shit flames behind us when we fire?

+ + + diff --git a/obj/item/gun/ballistic/shotgun/automatic/dual_tube.html b/obj/item/gun/ballistic/shotgun/automatic/dual_tube.html new file mode 100644 index 00000000000..1fceec68dae --- /dev/null +++ b/obj/item/gun/ballistic/shotgun/automatic/dual_tube.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/gun/ballistic/shotgun/automatic/dual_tube - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dual_tube + + + +

+ + + + +

Vars

alt_mag_typeIf defined, the secondary tube is this type, if you want different shell loads
alternate_magazineThe B tube
toggledIf TRUE, we're drawing from the alternate_magazine
+

Var Details

alt_mag_type + + + + +

+

If defined, the secondary tube is this type, if you want different shell loads

alternate_magazine + + + + +

+

The B tube

toggled + + + + +

+

If TRUE, we're drawing from the alternate_magazine

+ + + diff --git a/obj/item/gun/ballistic/shotgun/bulldog.html b/obj/item/gun/ballistic/shotgun/bulldog.html new file mode 100644 index 00000000000..4cc2eb22975 --- /dev/null +++ b/obj/item/gun/ballistic/shotgun/bulldog.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/ballistic/shotgun/bulldog - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bulldog + + + +

+ + + +

Vars

secondary_magazinethe secondary magazine
secondary_magazine_typethe type of secondary magazine for the bulldog
+

Var Details

secondary_magazine + + + + +

+

the secondary magazine

secondary_magazine_type + + + + +

+

the type of secondary magazine for the bulldog

+ + + diff --git a/obj/item/gun/blastcannon.html b/obj/item/gun/blastcannon.html new file mode 100644 index 00000000000..2b2f2809648 --- /dev/null +++ b/obj/item/gun/blastcannon.html @@ -0,0 +1,155 @@ + + + + + + + /obj/item/gun/blastcannon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

blastcannon + + + +

+ +

A gun that consumes a TTV to shoot an projectile with equivalent power.

+

It's basically an immovable rod launcher.

+ + + + + + + + + + + +

Vars

bombThe TTV this contains that will be used to create the projectile
bombcheckWhether you can fire this without a bomb.
cached_firerThe person who opened the valve on the TTV loaded into this.
cached_modifiersThe modifiers from the last click.
cached_targetThe target from the last click.
debug_powerThe range this defaults to without a bomb for debugging and badminry

Procs

channel_blastwaveChannels an internal explosion into a blastwave projectile.
fire_accidentallyHandles firing the blastcannon if it was handed to someone else between opening the valve and the bomb exploding.
fire_blastwavePrepares and fires a blastwave.
fire_debugHandles firing the blastcannon with debug power.
fire_droppedHandles firing the blastcannon if it was dropped on the ground or shoved into a backpack.
fire_intentionallyHandles firing the blastcannon intentionally at a specific target.
+

Var Details

bomb + + + + +

+

The TTV this contains that will be used to create the projectile

bombcheck + + + + +

+

Whether you can fire this without a bomb.

cached_firer + + + + +

+

The person who opened the valve on the TTV loaded into this.

cached_modifiers + + + + +

+

The modifiers from the last click.

cached_target + + + + +

+

The target from the last click.

debug_power + + + + +

+

The range this defaults to without a bomb for debugging and badminry

Proc Details

channel_blastwave +

+

Channels an internal explosion into a blastwave projectile.

+

Arguments:

+
    +
  • blastwave_data: A list containing all of the data for the blastwave.
  • +

fire_accidentally +

+

Handles firing the blastcannon if it was handed to someone else between opening the valve and the bomb exploding.

+

Arguments:

+
    +
  • holder: The person who happened to be holding the cannon when it went off.
  • +
  • heavy: The devastation range of the blastwave.
  • +
  • medium: The heavy impact range of the blastwave.
  • +
  • light: The light impact range of the blastwave.
  • +

fire_blastwave +

+

Prepares and fires a blastwave.

+

Arguments:

+
    +
  • target: The thing that the blastwave is being fired at.
  • +
  • heavy: The devastation range of the blastwave.
  • +
  • medium: The heavy impact range of the blastwave.
  • +
  • light: The light impact range of the blastwave.
  • +
  • modifiers: Modifiers as a string used while firing this.
  • +
  • spread: How inaccurate the blastwave is.
  • +

fire_debug +

+

Handles firing the blastcannon with debug power.

+

Arguments:

+
    +
  • target: The thing the blastcannon is being fired at.
  • +
  • user: The person firing the blastcannon.
  • +
  • modifiers: A string containing click data.
  • +

fire_dropped +

+

Handles firing the blastcannon if it was dropped on the ground or shoved into a backpack.

+

Arguments:

+
    +
  • heavy: The devastation range of the blastwave.
  • +
  • medium: The heavy impact range of the blastwave.
  • +
  • light: The light impact range of the blastwave.
  • +

fire_intentionally +

+

Handles firing the blastcannon intentionally at a specific target.

+

Arguments:

+
    +
  • firer: The mob who is firing this weapon.
  • +
  • target: The target we are firing the
  • +
  • heavy: The devastation range of the blastwave.
  • +
  • medium: The heavy impact range of the blastwave.
  • +
  • light: The light impact range of the blastwave.
  • +
  • modifiers: The modifier string to use when preparing the blastwave.
  • +
+ + + diff --git a/obj/item/gun/energy.html b/obj/item/gun/energy.html new file mode 100644 index 00000000000..a458b836650 --- /dev/null +++ b/obj/item/gun/energy.html @@ -0,0 +1,124 @@ + + + + + + + /obj/item/gun/energy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

energy + + + +

+ + + + + + + + + + + + + + +

Vars

automatic_charge_overlaysDo we handle overlays with base update_icon()?
can_chargeCan it be charged in a recharger?
can_selectIf the user can select the firemode through attack_self.
cellWhat type of power cell this uses
dead_cellset to true so the gun is given an empty cell
display_emptyShould we give an overlay to empty guns?
modifystateif the weapon has custom icons for individual ammo types it can switch between. ie disabler beams, taser, laser/lethals, ect.
selectThe state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next.
shaded_chargeif this gun uses a stateful charge bar for more detail
single_shot_type_overlayIf this gun has a "this is loaded with X" overlay alongside chargebars and such
use_cyborg_cellwhether the gun's cell drains the cyborg user's cell to recharge

Procs

add_notes_energyOutputs type-specific weapon stats for energy-based firearms based on its firing modes +and the stats of those firing modes. Esoteric firing modes like ion are currently not supported +but can be added easily
get_charge_ratioUsed by update_icon_state() and update_overlays()
+

Var Details

automatic_charge_overlays + + + + +

+

Do we handle overlays with base update_icon()?

can_charge + + + + +

+

Can it be charged in a recharger?

can_select + + + + +

+

If the user can select the firemode through attack_self.

cell + + + + +

+

What type of power cell this uses

dead_cell + + + + +

+

set to true so the gun is given an empty cell

display_empty + + + + +

+

Should we give an overlay to empty guns?

modifystate + + + + +

+

if the weapon has custom icons for individual ammo types it can switch between. ie disabler beams, taser, laser/lethals, ect.

select + + + + +

+

The state of the select fire switch. Determines from the ammo_type list what kind of shot is fired next.

shaded_charge + + + + +

+

if this gun uses a stateful charge bar for more detail

single_shot_type_overlay + + + + +

+

If this gun has a "this is loaded with X" overlay alongside chargebars and such

use_cyborg_cell + + + + +

+

whether the gun's cell drains the cyborg user's cell to recharge

Proc Details

add_notes_energy +

+

Outputs type-specific weapon stats for energy-based firearms based on its firing modes +and the stats of those firing modes. Esoteric firing modes like ion are currently not supported +but can be added easily

get_charge_ratio +

+

Used by update_icon_state() and update_overlays()

+ + + diff --git a/obj/item/gun/energy/beam_rifle.html b/obj/item/gun/energy/beam_rifle.html new file mode 100644 index 00000000000..494123426b8 --- /dev/null +++ b/obj/item/gun/energy/beam_rifle.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/gun/energy/beam_rifle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

beam_rifle + + + +

+ + + + + +

Vars

zoom_target_view_increaseThe radius you want to zoom by

Procs

on_mouse_downStart aiming and charging the beam
on_mouse_dragchange the aiming beam angle to that of the mouse cursor.
on_mouse_upStop aiming and fire the beam if charged enough
+

Var Details

zoom_target_view_increase + + + + +

+

The radius you want to zoom by

Proc Details

on_mouse_down +

+

Start aiming and charging the beam

on_mouse_drag +

+

change the aiming beam angle to that of the mouse cursor.

on_mouse_up +

+

Stop aiming and fire the beam if charged enough

+ + + diff --git a/obj/item/gun/energy/dueling.html b/obj/item/gun/energy/dueling.html new file mode 100644 index 00000000000..fe42fc3f210 --- /dev/null +++ b/obj/item/gun/energy/dueling.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/gun/energy/dueling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dueling + + + +

+ + +

Procs

check_valid_duelReturn a boolean of whether or not the pistol has a valid duel datum, if false optionally warn the user

Proc Details

check_valid_duel +

+

Return a boolean of whether or not the pistol has a valid duel datum, if false optionally warn the user

+ + + diff --git a/obj/item/gun/energy/laser/chameleon.html b/obj/item/gun/energy/laser/chameleon.html new file mode 100644 index 00000000000..2a626afd2c9 --- /dev/null +++ b/obj/item/gun/energy/laser/chameleon.html @@ -0,0 +1,88 @@ + + + + + + + /obj/item/gun/energy/laser/chameleon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chameleon + + + +

+ + + + + + + + +

Vars

chameleon_projectile_varsThe vars copied over to our projectile on fire.
real_hitsThe badmin mode. Makes your projectiles act like the real deal.

Procs

reset_chameleon_varsDescription: Resets the currently loaded chameleon variables, essentially resetting it to brand new. +Arguments: []
set_chameleon_ammoDescription: Sets the ammo type our gun should have. +Arguments: obj/item/ammo_casing/cartridge (the ammo_casing we're trying to copy)
set_chameleon_disguiseDescription: Resets our chameleon variables, then resets the entire gun to mimic the given guntype. +Arguments: [guntype (the gun we're copying, pathtyped to obj/item/gun)]
set_chameleon_gunDescription: Sets what gun we should be mimicking. +Arguments: obj/item/gun/gun_to_set (the gun we're trying to mimic)
set_chameleon_projectileDescription: Sets the current projectile variables for our chameleon gun. +Arguments: obj/projectile/template_projectile (the projectile we're trying to copy)
+

Var Details

chameleon_projectile_vars + + + + +

+

The vars copied over to our projectile on fire.

real_hits + + + + +

+

The badmin mode. Makes your projectiles act like the real deal.

Proc Details

reset_chameleon_vars +

+

Description: Resets the currently loaded chameleon variables, essentially resetting it to brand new. +Arguments: []

set_chameleon_ammo +

+

Description: Sets the ammo type our gun should have. +Arguments: obj/item/ammo_casing/cartridge (the ammo_casing we're trying to copy)

set_chameleon_disguise +

+

Description: Resets our chameleon variables, then resets the entire gun to mimic the given guntype. +Arguments: [guntype (the gun we're copying, pathtyped to obj/item/gun)]

set_chameleon_gun +

+

Description: Sets what gun we should be mimicking. +Arguments: obj/item/gun/gun_to_set (the gun we're trying to mimic)

set_chameleon_projectile +

+

Description: Sets the current projectile variables for our chameleon gun. +Arguments: obj/projectile/template_projectile (the projectile we're trying to copy)

+ + + diff --git a/obj/item/gun/energy/marksman_revolver.html b/obj/item/gun/energy/marksman_revolver.html new file mode 100644 index 00000000000..9e0aa875b42 --- /dev/null +++ b/obj/item/gun/energy/marksman_revolver.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/gun/energy/marksman_revolver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

marksman_revolver + + + +

+ + + + + +

Vars

coin_countHow many coins we currently have available
coin_regen_cdThe cooldown for regenning coins
coin_regen_rateHow long it takes to regen a coin
max_coinsHow many coins we can have at a time. Set to 0 for infinite
+

Var Details

coin_count + + + + +

+

How many coins we currently have available

coin_regen_cd + + + + +

+

The cooldown for regenning coins

coin_regen_rate + + + + +

+

How long it takes to regen a coin

max_coins + + + + +

+

How many coins we can have at a time. Set to 0 for infinite

+ + + diff --git a/obj/item/gun/energy/recharge.html b/obj/item/gun/energy/recharge.html new file mode 100644 index 00000000000..64ef52a496c --- /dev/null +++ b/obj/item/gun/energy/recharge.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/gun/energy/recharge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

recharge + + + +

+ + + + + + + +

Vars

holds_chargeDoes it hold charge when not put away?
no_charge_stateIf set to something, instead of an overlay, sets the icon_state directly.
recharge_soundSound we use when recharged
recharge_timeHow much time we need to recharge
recharge_timeridAn ID for our recharging timer.
unique_frequencyDo we recharge slower with more of our type?
+

Var Details

holds_charge + + + + +

+

Does it hold charge when not put away?

no_charge_state + + + + +

+

If set to something, instead of an overlay, sets the icon_state directly.

recharge_sound + + + + +

+

Sound we use when recharged

recharge_time + + + + +

+

How much time we need to recharge

recharge_timerid + + + + +

+

An ID for our recharging timer.

unique_frequency + + + + +

+

Do we recharge slower with more of our type?

+ + + diff --git a/obj/item/gun/magic.html b/obj/item/gun/magic.html new file mode 100644 index 00000000000..aded0e45b25 --- /dev/null +++ b/obj/item/gun/magic.html @@ -0,0 +1,53 @@ + + + + + + + /obj/item/gun/magic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

magic + + + +

+ + + + +

Vars

can_chargeWhether this wand/staff recharges on its own over time. +(This is not related to the spell "Charge" whatsoever!)
schoolwhat kind of magic is this

Procs

on_magic_chargeSignal proc for COMSIG_ITEM_MAGICALLY_CHARGED
+

Var Details

can_charge + + + + +

+

Whether this wand/staff recharges on its own over time. +(This is not related to the spell "Charge" whatsoever!)

school + + + + +

+

what kind of magic is this

Proc Details

on_magic_charge +

+

Signal proc for COMSIG_ITEM_MAGICALLY_CHARGED

+

Adds uses to wands or staffs.

+ + + diff --git a/obj/item/gun/magic/midas_hand.html b/obj/item/gun/magic/midas_hand.html new file mode 100644 index 00000000000..e1e3a802330 --- /dev/null +++ b/obj/item/gun/magic/midas_hand.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/gun/magic/midas_hand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

midas_hand + + + +

+ + + + + + +

Vars

gold_suck_rangeThe range that we can suck gold out of people's bodies
gold_timerThe length of the Midas Blight debuff, dependant on the amount of gold reagent we've sucked up.

Procs

check_gold_rangeChecks our range to the person we're sucking gold out of. Double the initial range, so you need to get in close to start.
gold_time_convertConverts our gold_timer to time in seconds, for various ballons/examines
handle_gold_chargesHandles recharging & inserting gold amount
+

Var Details

gold_suck_range + + + + +

+

The range that we can suck gold out of people's bodies

gold_timer + + + + +

+

The length of the Midas Blight debuff, dependant on the amount of gold reagent we've sucked up.

Proc Details

check_gold_range +

+

Checks our range to the person we're sucking gold out of. Double the initial range, so you need to get in close to start.

gold_time_convert +

+

Converts our gold_timer to time in seconds, for various ballons/examines

handle_gold_charges +

+

Handles recharging & inserting gold amount

+ + + diff --git a/obj/item/gun/magic/staff.html b/obj/item/gun/magic/staff.html new file mode 100644 index 00000000000..d86b1b01a77 --- /dev/null +++ b/obj/item/gun/magic/staff.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/gun/magic/staff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

staff + + + +

+ + + +

Vars

allow_intruder_useCan non-magic folk use our staff? +If FALSE, only wizards or survivalists can use the staff to its full potential - If TRUE, anyone can

Procs

on_intruder_useCalled when someone who isn't a wizard or magician uses this staff. +Return TRUE to allow usage.
+

Var Details

allow_intruder_use + + + + +

+

Can non-magic folk use our staff? +If FALSE, only wizards or survivalists can use the staff to its full potential - If TRUE, anyone can

Proc Details

on_intruder_use +

+

Called when someone who isn't a wizard or magician uses this staff. +Return TRUE to allow usage.

+ + + diff --git a/obj/item/gun/magic/staff/change.html b/obj/item/gun/magic/staff/change.html new file mode 100644 index 00000000000..5df4e8a7f53 --- /dev/null +++ b/obj/item/gun/magic/staff/change.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/magic/staff/change - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

change + + + +

+ + + +

Vars

preset_wabbajack_changeflagIf set, all wabbajacks this staff produces will be of this changeflag, instead of only WABBAJACK
preset_wabbajack_typeIf set, all wabbajacks this staff produces will be of this type, instead of random
+

Var Details

preset_wabbajack_changeflag + + + + +

+

If set, all wabbajacks this staff produces will be of this changeflag, instead of only WABBAJACK

preset_wabbajack_type + + + + +

+

If set, all wabbajacks this staff produces will be of this type, instead of random

+ + + diff --git a/obj/item/gun/magic/staff/chaos.html b/obj/item/gun/magic/staff/chaos.html new file mode 100644 index 00000000000..54603b01cb7 --- /dev/null +++ b/obj/item/gun/magic/staff/chaos.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/gun/magic/staff/chaos - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chaos + + + +

+ + +

Vars

allowed_projectile_typesList of all projectiles we can fire from our staff. +Doesn't contain all subtypes of magic projectiles, unlike what it looks like
+

Var Details

allowed_projectile_types + + + + +

+

List of all projectiles we can fire from our staff. +Doesn't contain all subtypes of magic projectiles, unlike what it looks like

+ + + diff --git a/obj/item/gun/magic/staff/healing.html b/obj/item/gun/magic/staff/healing.html new file mode 100644 index 00000000000..4dab04d7320 --- /dev/null +++ b/obj/item/gun/magic/staff/healing.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/gun/magic/staff/healing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

healing + + + +

+ + +

Vars

healing_beamOur internal healbeam, used if an intruder (non-magic person) tries to use our staff
+

Var Details

healing_beam + + + + +

+

Our internal healbeam, used if an intruder (non-magic person) tries to use our staff

+ + + diff --git a/obj/item/gun/medbeam.html b/obj/item/gun/medbeam.html new file mode 100644 index 00000000000..7c2f67e3168 --- /dev/null +++ b/obj/item/gun/medbeam.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/gun/medbeam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

medbeam + + + +

+ + + +

Procs

LoseTargetProc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()
beam_diedProc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = LoseTarget, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first

Proc Details

LoseTarget +

+

Proc that always is called when we want to end the beam and makes sure things are cleaned up, see beam_died()

beam_died +

+

Proc that is only called when the beam fails due to something, so not when manually ended. +manual disconnection = LoseTarget, so it can silently end +automatic disconnection = beam_died, so we can give a warning message first

+ + + diff --git a/obj/item/gun/syringe.html b/obj/item/gun/syringe.html new file mode 100644 index 00000000000..00c29a6a2d0 --- /dev/null +++ b/obj/item/gun/syringe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/gun/syringe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syringe + + + +

+ + + +

Vars

gun_flagsIf it has an overlay for inserted syringes. If true, the overlay is determined by the number of syringes inserted into it.
has_syringe_overlayThe number of syringes it can store.
+

Var Details

gun_flags + + + + +

+

If it has an overlay for inserted syringes. If true, the overlay is determined by the number of syringes inserted into it.

has_syringe_overlay + + + + +

+

The number of syringes it can store.

+ + + diff --git a/obj/item/hallucinated.html b/obj/item/hallucinated.html new file mode 100644 index 00000000000..64bcd978dab --- /dev/null +++ b/obj/item/hallucinated.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hallucinated - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hallucinated + + + +

+ + + +

Vars

parentThe hallucination that created us.

Procs

parent_deletingSignal proc for COMSIG_QDELETING, if our associated hallucination deletes, we should too
+

Var Details

parent + + + + +

+

The hallucination that created us.

Proc Details

parent_deleting +

+

Signal proc for COMSIG_QDELETING, if our associated hallucination deletes, we should too

+ + + diff --git a/obj/item/hand_item/circlegame.html b/obj/item/hand_item/circlegame.html new file mode 100644 index 00000000000..ab14ef9cd7a --- /dev/null +++ b/obj/item/hand_item/circlegame.html @@ -0,0 +1,56 @@ + + + + + + + /obj/item/hand_item/circlegame - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

circlegame + + + +

+ + + + + +

Procs

GOTTEMStage 3B: We face our reckoning (unless we moved away or they're incapacitated)
ownerExaminedStage 1: The mistake is made
selfGottemStage 3A: We face our own failures
waitASecondStage 2: Fear sets in

Proc Details

GOTTEM +

+

Stage 3B: We face our reckoning (unless we moved away or they're incapacitated)

ownerExamined +

+

Stage 1: The mistake is made

selfGottem +

+

Stage 3A: We face our own failures

waitASecond +

+

Stage 2: Fear sets in

+ + + diff --git a/obj/item/hand_item/kisser.html b/obj/item/hand_item/kisser.html new file mode 100644 index 00000000000..1e082a50950 --- /dev/null +++ b/obj/item/hand_item/kisser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hand_item/kisser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

kisser + + + +

+ + + +

Vars

cheek_kissTRUE if the user was aiming anywhere but the mouth when they offer the kiss, if it's offered
kiss_typeThe kind of projectile this version of the kiss blower fires
+

Var Details

cheek_kiss + + + + +

+

TRUE if the user was aiming anywhere but the mouth when they offer the kiss, if it's offered

kiss_type + + + + +

+

The kind of projectile this version of the kiss blower fires

+ + + diff --git a/obj/item/hand_item/noogie.html b/obj/item/hand_item/noogie.html new file mode 100644 index 00000000000..915cd194dab --- /dev/null +++ b/obj/item/hand_item/noogie.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/hand_item/noogie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

noogie + + + +

+ + +

Procs

noogie_loopThe actual meat and bones of the noogie'ing

Proc Details

noogie_loop +

+

The actual meat and bones of the noogie'ing

+ + + diff --git a/obj/item/hand_item/self_grasp.html b/obj/item/hand_item/self_grasp.html new file mode 100644 index 00000000000..ef20465e112 --- /dev/null +++ b/obj/item/hand_item/self_grasp.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/hand_item/self_grasp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

self_grasp + + + +

+ +

an abstract item representing you holding your own limb to staunch the bleeding, see [/mob/living/carbon/proc/grabbedby] will probably need to find somewhere else to put this.

+ + + +

Vars

grasped_partThe bodypart we're staunching bleeding on, which also has a reference to us in /obj/item/bodypart/var/grasped_by
userThe carbon who owns all of this mess

Procs

grasp_limbWe've already cleared that the bodypart in question is bleeding in [the place we create this][/mob/living/carbon/proc/grabbedby], so set up the connections
qdel_voidThe limb or the whole damn person we were grasping got deleted or dismembered, so we don't care anymore
+

Var Details

grasped_part + + + + +

+

The bodypart we're staunching bleeding on, which also has a reference to us in /obj/item/bodypart/var/grasped_by

user + + + + +

+

The carbon who owns all of this mess

Proc Details

grasp_limb +

+

We've already cleared that the bodypart in question is bleeding in [the place we create this][/mob/living/carbon/proc/grabbedby], so set up the connections

qdel_void +

+

The limb or the whole damn person we were grasping got deleted or dismembered, so we don't care anymore

+ + + diff --git a/obj/item/hand_item/slapper.html b/obj/item/hand_item/slapper.html new file mode 100644 index 00000000000..92dd0755a22 --- /dev/null +++ b/obj/item/hand_item/slapper.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/hand_item/slapper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

slapper + + + +

+ + + + +

Vars

table_smacks_leftHow many smaller table smacks we can do before we're out

Procs

slam_tableSlam the table, demand some attention
slap_tableSlap the table, get some attention
+

Var Details

table_smacks_left + + + + +

+

How many smaller table smacks we can do before we're out

Proc Details

slam_table +

+

Slam the table, demand some attention

slap_table +

+

Slap the table, get some attention

+ + + diff --git a/obj/item/hand_tele.html b/obj/item/hand_tele.html new file mode 100644 index 00000000000..71fafdab2ba --- /dev/null +++ b/obj/item/hand_tele.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/hand_tele - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hand_tele + + + +

+ + + +

Vars

last_portal_locationRepresents the last place we teleported to, for making quick portals. +Can be in the following states:

Procs

try_create_portal_toTakes either PORTAL_LOCATION_DANGEROUS or an /obj/machinery/computer/teleport/computer.
+

Var Details

last_portal_location + + + + +

+

Represents the last place we teleported to, for making quick portals. +Can be in the following states:

+
    +
  • null, meaning either this hand tele hasn't been used yet, or the last place it was portalled to was removed.
  • +
  • PORTAL_LOCATION_DANGEROUS, meaning the last place it teleported to was the "None (Dangerous)" location.
  • +
  • A weakref to a /obj/machinery/computer/teleporter, meaning the last place it teleported to was a pre-setup location.
  • +

Proc Details

try_create_portal_to +

+

Takes either PORTAL_LOCATION_DANGEROUS or an /obj/machinery/computer/teleport/computer.

+ + + diff --git a/obj/item/hardened_spike.html b/obj/item/hardened_spike.html new file mode 100644 index 00000000000..f72a0a486b0 --- /dev/null +++ b/obj/item/hardened_spike.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hardened_spike - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hardened_spike + + + +

+ + + +

Vars

fired_by_refWhat mob "fired" our tongue
missedif we missed our target
+

Var Details

fired_by_ref + + + + +

+

What mob "fired" our tongue

missed + + + + +

+

if we missed our target

+ + + diff --git a/obj/item/hardened_spike/chem.html b/obj/item/hardened_spike/chem.html new file mode 100644 index 00000000000..5fca88a0b73 --- /dev/null +++ b/obj/item/hardened_spike/chem.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/hardened_spike/chem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chem + + + +

+ + +

Vars

embedded_once_alreadWhether the tongue's already embedded in a target once before
+

Var Details

embedded_once_alread + + + + +

+

Whether the tongue's already embedded in a target once before

+ + + diff --git a/obj/item/harmalarm.html b/obj/item/harmalarm.html new file mode 100644 index 00000000000..84c32526aab --- /dev/null +++ b/obj/item/harmalarm.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/harmalarm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

harmalarm + + + +

+ + +

Vars

alarm_cooldownHarm alarm cooldown
+

Var Details

alarm_cooldown + + + + +

+

Harm alarm cooldown

+ + + diff --git a/obj/item/healthanalyzer.html b/obj/item/healthanalyzer.html new file mode 100644 index 00000000000..039f2ba131e --- /dev/null +++ b/obj/item/healthanalyzer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/healthanalyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

healthanalyzer + + + +

+ + +

Vars

give_wound_treatment_bonusIf this analyzer will give a bonus to wound treatments apon woundscan.
+

Var Details

give_wound_treatment_bonus + + + + +

+

If this analyzer will give a bonus to wound treatments apon woundscan.

+ + + diff --git a/obj/item/healthanalyzer/simple.html b/obj/item/healthanalyzer/simple.html new file mode 100644 index 00000000000..3b073b0f032 --- /dev/null +++ b/obj/item/healthanalyzer/simple.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/healthanalyzer/simple - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

simple + + + +

+ + + + + + + +

Vars

emotionThe analyzer's current emotion. Affects the sprite overlays and if it's going to prick you for being greedy or not.
encouragementsEncouragements to play when attack_selfing
next_encouragementCooldown for when the analyzer will allow you to ask it for encouragement. Don't get greedy!
patienceHow often one can ask for encouragement
scan_for_whatWhat do we scan for, only used in descriptions

Procs

show_emotionSets a new emotion display on the scanner, and resets back to neutral in a moment
+

Var Details

emotion + + + + +

+

The analyzer's current emotion. Affects the sprite overlays and if it's going to prick you for being greedy or not.

encouragements + + + + +

+

Encouragements to play when attack_selfing

next_encouragement + + + + +

+

Cooldown for when the analyzer will allow you to ask it for encouragement. Don't get greedy!

patience + + + + +

+

How often one can ask for encouragement

scan_for_what + + + + +

+

What do we scan for, only used in descriptions

Proc Details

show_emotion +

+

Sets a new emotion display on the scanner, and resets back to neutral in a moment

+ + + diff --git a/obj/item/hemostat.html b/obj/item/hemostat.html new file mode 100644 index 00000000000..3fbdeb0794d --- /dev/null +++ b/obj/item/hemostat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/hemostat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hemostat + + + +

+ + +

Vars

surgical_tray_overlayHow this looks when placed in a surgical tray
+

Var Details

surgical_tray_overlay + + + + +

+

How this looks when placed in a surgical tray

+ + + diff --git a/obj/item/heretic_labyrinth_handbook.html b/obj/item/heretic_labyrinth_handbook.html new file mode 100644 index 00000000000..80b922ba9e6 --- /dev/null +++ b/obj/item/heretic_labyrinth_handbook.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/heretic_labyrinth_handbook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

heretic_labyrinth_handbook + + + +

+ +

A heretic item that spawns a barrier at the clicked turf, 3 uses

+ +

Vars

barrier_typewhat type of barrier do we spawn when used
useshow many uses do we have left
+

Var Details

barrier_type + + + + +

+

what type of barrier do we spawn when used

uses + + + + +

+

how many uses do we have left

+ + + diff --git a/obj/item/hfr_box.html b/obj/item/hfr_box.html new file mode 100644 index 00000000000..25c63543d82 --- /dev/null +++ b/obj/item/hfr_box.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/hfr_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hfr_box + + + +

+ + + +

Vars

box_typeWhat kind of box are we handling?
part_pathWhat's the path of the machine we making
+

Var Details

box_type + + + + +

+

What kind of box are we handling?

part_path + + + + +

+

What's the path of the machine we making

+ + + diff --git a/obj/item/hierophant_club.html b/obj/item/hierophant_club.html new file mode 100644 index 00000000000..8fdfcdf97cd --- /dev/null +++ b/obj/item/hierophant_club.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/hierophant_club - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hierophant_club + + + +

+ + + + + +

Vars

beaconLinked teleport beacon for the group teleport functionality.
blinkAction enabling the blink-dash functionality.
blink_activatedWhether the blink ability is activated. IF TRUE, left clicking a location will blink to it. If FALSE, this is disabled.
teleportingTRUE if currently doing a teleport to the beacon, FALSE otherwise.
+

Var Details

beacon + + + + +

+

Linked teleport beacon for the group teleport functionality.

+

Action enabling the blink-dash functionality.

+

Whether the blink ability is activated. IF TRUE, left clicking a location will blink to it. If FALSE, this is disabled.

teleporting + + + + +

+

TRUE if currently doing a teleport to the beacon, FALSE otherwise.

+ + + diff --git a/obj/item/highfrequencyblade.html b/obj/item/highfrequencyblade.html new file mode 100644 index 00000000000..53f38519a0f --- /dev/null +++ b/obj/item/highfrequencyblade.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/highfrequencyblade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

highfrequencyblade + + + +

+ + + + + + + +

Vars

previous_targetThe previous target we attacked
previous_xPrevious x position of where we clicked on the target's icon
previous_yPrevious y position of where we clicked on the target's icon
slash_colorThe color of the slash we create

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item
+

Var Details

previous_target + + + + +

+

The previous target we attacked

previous_x + + + + +

+

Previous x position of where we clicked on the target's icon

previous_y + + + + +

+

Previous y position of where we clicked on the target's icon

slash_color + + + + +

+

The color of the slash we create

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/house_edge.html b/obj/item/house_edge.html new file mode 100644 index 00000000000..8a1c65da66f --- /dev/null +++ b/obj/item/house_edge.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/house_edge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

house_edge + + + +

+ + + + +

Vars

active_hitsoundSound played when wielded.
chargeDatum that tracks weapon dashing for the fire_charge system
fire_chargesThe number of charges the house edge has accrued through 2-handed hits, to charge a more powerful charge attack.
+

Var Details

active_hitsound + + + + +

+

Sound played when wielded.

charge + + + + +

+

Datum that tracks weapon dashing for the fire_charge system

fire_charges + + + + +

+

The number of charges the house edge has accrued through 2-handed hits, to charge a more powerful charge attack.

+ + + diff --git a/obj/item/implant.html b/obj/item/implant.html new file mode 100644 index 00000000000..6df851f7a01 --- /dev/null +++ b/obj/item/implant.html @@ -0,0 +1,155 @@ + + + + + + + /obj/item/implant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

implant + + + +

+ +

Parent class for all implants

+ + + + + + + + + + + + +

Vars

allow_multipleif false, upon implantation of a duplicate implant, an attempt to combine the new implant's uses with the old one's uses will be made, deleting the new implant if successful or stopping the implantation if not
hud_icon_statewhat icon state will we represent ourselves with on the hud?
imp_inthe mob that's implanted with this
implant_colorimplant color, used for selecting either the "b" version or the "r" version of the implant case sprite when the implant is in a case.
implant_flagsour implant flags
useshow many times this can do something, only relevant for implants with limited uses

Procs

get_dataGets implant specifications for the implant pad
get_management_console_buttonsReturns a list of "structs" that translate into buttons displayed on the implant management console
get_management_console_dataReturns a list of information to show on the implant management console for this implant
handle_management_console_actionHandles a button click on the implant management console
implantWhat does the implant do upon injection?
is_shown_on_consoleDetermines if the implant is visible on the implant management console. +Note that this would only ever be called on implants currently inserted into a mob.
removedRemove implant from mob.
+

Var Details

allow_multiple + + + + +

+

if false, upon implantation of a duplicate implant, an attempt to combine the new implant's uses with the old one's uses will be made, deleting the new implant if successful or stopping the implantation if not

hud_icon_state + + + + +

+

what icon state will we represent ourselves with on the hud?

imp_in + + + + +

+

the mob that's implanted with this

implant_color + + + + +

+

implant color, used for selecting either the "b" version or the "r" version of the implant case sprite when the implant is in a case.

implant_flags + + + + +

+

our implant flags

uses + + + + +

+

how many times this can do something, only relevant for implants with limited uses

Proc Details

get_data +

+

Gets implant specifications for the implant pad

get_management_console_buttons +

+

Returns a list of "structs" that translate into buttons displayed on the implant management console

+

The struct should have the following keys:

+
    +
  • name - the name of the button, optional if button_icon is set
  • +
  • icon - the icon of the button, optional if button_name is set
  • +
  • color - the color of the button, optional
  • +
  • tooltip - the tooltip of the button, optional
  • +
  • action_key - the key that will be passed to handle_management_console_action when the button is clicked
  • +
  • action_params - optional, additional params passed when the button is clicked
  • +

get_management_console_data +

+

Returns a list of information to show on the implant management console for this implant

+

Unlike normal UI data, the keys of the list are shown on the UI itself, so they should be human readable.

handle_management_console_action +

+

Handles a button click on the implant management console

+
    +
  • user - the mob clicking the button
  • +
  • params - the params passed to the button, as if this were a ui_act handler. +See params["implant_action"] for the action key passed to the button +(which should correspond to a button returned by get_management_console_buttons)
  • +
  • console - the console the button was clicked on
  • +

implant +

+

What does the implant do upon injection?

+

return true if the implant injects +return false if there is no room for implant / it fails +Arguments:

+
    +
  • mob/living/target - mob being implanted
  • +
  • mob/user - mob doing the implanting
  • +
  • silent - unused here
  • +
  • force - if true, implantation will not fail if can_be_implanted_in returns false
  • +

is_shown_on_console +

+

Determines if the implant is visible on the implant management console. +Note that this would only ever be called on implants currently inserted into a mob.

removed +

+

Remove implant from mob.

+

This removes the effects of the implant and moves it out of the mob and into nullspace. +Arguments:

+
    +
  • mob/living/source - What the implant is being removed from
  • +
  • silent - unused here
  • +
  • special - unused here
  • +
+ + + diff --git a/obj/item/implant/abductor.html b/obj/item/implant/abductor.html new file mode 100644 index 00000000000..253bc13979f --- /dev/null +++ b/obj/item/implant/abductor.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/implant/abductor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

abductor + + + +

+ + +

Procs

link_padManages the process of linking a recall implant to an abductor pad

Proc Details

+

Manages the process of linking a recall implant to an abductor pad

+

Attempts to link the abductor implant to an abductor console. First, it tries to do so through the abductor's antag datum +If not, a random teleport pad will be defaulted to. Returns TRUE if a home is found, and FALSE is one somehow is not.

+ + + diff --git a/obj/item/implant/beacon.html b/obj/item/implant/beacon.html new file mode 100644 index 00000000000..a021ba2ac8f --- /dev/null +++ b/obj/item/implant/beacon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/implant/beacon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

beacon + + + +

+ +

Essentially, just turns the implantee into a teleport beacon.

+

Vars

lifespan_postmortemHow long will the implant be teleportable to after death?
+

Var Details

lifespan_postmortem + + + + +

+

How long will the implant be teleportable to after death?

+ + + diff --git a/obj/item/implant/chem.html b/obj/item/implant/chem.html new file mode 100644 index 00000000000..e16c90e5981 --- /dev/null +++ b/obj/item/implant/chem.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/implant/chem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chem + + + +

+ + +

Vars

implant_sizesAll possible injection sizes for the implant shown in the prisoner management console.
+

Var Details

implant_sizes + + + + +

+

All possible injection sizes for the implant shown in the prisoner management console.

+ + + diff --git a/obj/item/implant/explosive.html b/obj/item/implant/explosive.html new file mode 100644 index 00000000000..502e047328a --- /dev/null +++ b/obj/item/implant/explosive.html @@ -0,0 +1,119 @@ + + + + + + + /obj/item/implant/explosive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

explosive + + + +

+ + + + + + + + + + + + + +

Vars

activeWhether the implant's explosion sequence has been activated or not
delayThe final countdown (delay before we explode)
explosion_devastateRadius of heavy devastation explosive impact
explosion_heavyRadius of medium devastation explosive impact
explosion_lightRadius of weak devastation explosive impact
master_implantDo we override other explosive implants?
no_paralyzeDo we disable paralysis upon activation
panic_beep_soundDo we rapidly increase the beeping speed as it gets closer to detonating?
popupWhether the confirmation UI popup is active or not

Procs

explodeWhen called, just explodes
merge_implantsMerges two explosive implants together, adding the stats of the latter to the former before qdeling the latter implant. +kept_implant = the implant that is kept +stat_implant = the implant which has it's stats added to kept_implant, before being deleted.
timed_explosionExplosive activation sequence for implants with a delay longer than 0.7 seconds. +Make the implantee beep a few times, keel over and explode. Usually to a devastating effect.
+

Var Details

active + + + + +

+

Whether the implant's explosion sequence has been activated or not

delay + + + + +

+

The final countdown (delay before we explode)

explosion_devastate + + + + +

+

Radius of heavy devastation explosive impact

explosion_heavy + + + + +

+

Radius of medium devastation explosive impact

explosion_light + + + + +

+

Radius of weak devastation explosive impact

master_implant + + + + +

+

Do we override other explosive implants?

no_paralyze + + + + +

+

Do we disable paralysis upon activation

panic_beep_sound + + + + +

+

Do we rapidly increase the beeping speed as it gets closer to detonating?

popup + + + + +

+

Whether the confirmation UI popup is active or not

Proc Details

explode +

+

When called, just explodes

merge_implants +

+

Merges two explosive implants together, adding the stats of the latter to the former before qdeling the latter implant. +kept_implant = the implant that is kept +stat_implant = the implant which has it's stats added to kept_implant, before being deleted.

timed_explosion +

+

Explosive activation sequence for implants with a delay longer than 0.7 seconds. +Make the implantee beep a few times, keel over and explode. Usually to a devastating effect.

+ + + diff --git a/obj/item/implant/mod.html b/obj/item/implant/mod.html new file mode 100644 index 00000000000..afc368c9b94 --- /dev/null +++ b/obj/item/implant/mod.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implant/mod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mod + + + +

+ + + +

Vars

jet_iconThe jet icon we apply to the MOD.
moduleThe pathfinder module we are linked to.
+

Var Details

jet_icon + + + + +

+

The jet icon we apply to the MOD.

module + + + + +

+

The pathfinder module we are linked to.

+ + + diff --git a/obj/item/implant/nuclear_operative.html b/obj/item/implant/nuclear_operative.html new file mode 100644 index 00000000000..e69947a10f0 --- /dev/null +++ b/obj/item/implant/nuclear_operative.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/implant/nuclear_operative - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

nuclear_operative + + + +

+ + +

Procs

removedIf all the antag datums are 'fake' or none exist, disallow induction! No self-antagging.

Proc Details

removed +

+

If all the antag datums are 'fake' or none exist, disallow induction! No self-antagging.

+ + + diff --git a/obj/item/implant/spell.html b/obj/item/implant/spell.html new file mode 100644 index 00000000000..f69b202443f --- /dev/null +++ b/obj/item/implant/spell.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/implant/spell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spell + + + +

+ + + + +

Vars

make_robelessWhether to make the spell robeless
spell_to_giveThe actual spell we give to the person on implant
spell_typeThe typepath of the spell we give to people. Instantiated in Initialize
+

Var Details

make_robeless + + + + +

+

Whether to make the spell robeless

spell_to_give + + + + +

+

The actual spell we give to the person on implant

spell_type + + + + +

+

The typepath of the spell we give to people. Instantiated in Initialize

+ + + diff --git a/obj/item/implant/teleport_blocker.html b/obj/item/implant/teleport_blocker.html new file mode 100644 index 00000000000..93f55f406a1 --- /dev/null +++ b/obj/item/implant/teleport_blocker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/implant/teleport_blocker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

teleport_blocker + + + +

+ +

Blocks the implantee from being teleported

+

Procs

on_teleportSignal for COMSIG_MOVABLE_TELEPORTED that blocks teleports and stuns the would-be-teleportee.

Proc Details

on_teleport +

+

Signal for COMSIG_MOVABLE_TELEPORTED that blocks teleports and stuns the would-be-teleportee.

+ + + diff --git a/obj/item/implant/tracking.html b/obj/item/implant/tracking.html new file mode 100644 index 00000000000..446dea7daaf --- /dev/null +++ b/obj/item/implant/tracking.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/implant/tracking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tracking + + + +

+ + +

Vars

lifespan_postmortemHow long will the implant continue to function after death?
+

Var Details

lifespan_postmortem + + + + +

+

How long will the implant continue to function after death?

+ + + diff --git a/obj/item/implant/tracking/c38.html b/obj/item/implant/tracking/c38.html new file mode 100644 index 00000000000..c19bca628c0 --- /dev/null +++ b/obj/item/implant/tracking/c38.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implant/tracking/c38 - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

c38 + + + +

+ + + +

Vars

lifespanHow long before this implant self-deletes?
timeridThe id of the timer that's qdeleting us
+

Var Details

lifespan + + + + +

+

How long before this implant self-deletes?

timerid + + + + +

+

The id of the timer that's qdeleting us

+ + + diff --git a/obj/item/implant/uplink.html b/obj/item/implant/uplink.html new file mode 100644 index 00000000000..5e637129bb8 --- /dev/null +++ b/obj/item/implant/uplink.html @@ -0,0 +1,53 @@ + + + + + + + /obj/item/implant/uplink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

uplink + + + +

+ + + + +

Vars

uplink_flagThe uplink flags of the implant uplink inside, only checked during initialisation so modifying it after initialisation will do nothing
uplink_handlerReference to the uplink handler, deciding which type of uplink this implant has.

Procs

_component_removalProc called when component is removed; ie. uplink component
+

Var Details

+

The uplink flags of the implant uplink inside, only checked during initialisation so modifying it after initialisation will do nothing

+

Reference to the uplink handler, deciding which type of uplink this implant has.

Proc Details

_component_removal +

+

Proc called when component is removed; ie. uplink component

+

Callback catching if the underlying uplink component has been removed, +generally by admin verbs or var editing. Implant does nothing without +the component, so delete itself.

+ + + diff --git a/obj/item/implantcase.html b/obj/item/implantcase.html new file mode 100644 index 00000000000..446dff44368 --- /dev/null +++ b/obj/item/implantcase.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implantcase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

implantcase + + + +

+ +

Item used to store implants. Can be renamed with a pen. Implants are moved between those and implanters when a mob uses an implanter on a case.

+ +

Vars

impthe implant within the case
imp_typeType of implant this will spawn as imp upon being spawned
+

Var Details

imp + + + + +

+

the implant within the case

imp_type + + + + +

+

Type of implant this will spawn as imp upon being spawned

+ + + diff --git a/obj/item/implanter.html b/obj/item/implanter.html new file mode 100644 index 00000000000..a5ba375c6bd --- /dev/null +++ b/obj/item/implanter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/implanter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

implanter + + + +

+ +

Players can use this item to put obj/item/implant's in living mobs. Can be renamed with a pen.

+ +

Vars

impThe implant in our implanter
imp_typeType of implant this will spawn as imp upon being spawned
+

Var Details

imp + + + + +

+

The implant in our implanter

imp_type + + + + +

+

Type of implant this will spawn as imp upon being spawned

+ + + diff --git a/obj/item/inspector.html b/obj/item/inspector.html new file mode 100644 index 00000000000..b7c892ad501 --- /dev/null +++ b/obj/item/inspector.html @@ -0,0 +1,94 @@ + + + + + + + /obj/item/inspector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

N-spect scanner + + + +

+ +

Creates reports for area inspection bounties.

+ + + + + + + + +

Vars

cellPower cell used to power the scanner. Paths g
cell_cover_openCell cover status
power_per_printPower used per print in cell units
power_to_speakPower used to say an error message
print_sound_modedetermines the sound that plays when printing a report
time_listHow long it takes to print on time each mode, ordered NORMAL, FAST, HONK
time_modeWhich print time mode we're on.

Procs

create_slipCreate our report
print_reportPrints out a report for bounty purposes, and plays a short audio blip.
+

Var Details

cell + + + + +

+

Power cell used to power the scanner. Paths g

cell_cover_open + + + + +

+

Cell cover status

power_per_print + + + + +

+

Power used per print in cell units

power_to_speak + + + + +

+

Power used to say an error message

print_sound_mode + + + + +

+

determines the sound that plays when printing a report

time_list + + + + +

+

How long it takes to print on time each mode, ordered NORMAL, FAST, HONK

time_mode + + + + +

+

Which print time mode we're on.

Proc Details

create_slip +

+

Create our report

+

Arguments:

print_report +

+

Prints out a report for bounty purposes, and plays a short audio blip.

+

Arguments:

+ + + diff --git a/obj/item/inspector/clown.html b/obj/item/inspector/clown.html new file mode 100644 index 00000000000..7178ef9bb99 --- /dev/null +++ b/obj/item/inspector/clown.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/inspector/clown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Fake N-spect scanner + + + +

+ +

A clown variant of the N-spect scanner

+

This prints fake reports with garbage in them, +can be set to print them instantly with a screwdriver. +By default it plays the old "woody" scanning sound, scanning sounds can be cycled by clicking with a multitool. +Can be crafted into a bananium HONK-spect scanner

+ +

Vars

max_modewill only cycle through modes with numbers lower than this
mode_namesnames of modes, ordered first to last
+

Var Details

max_mode + + + + +

+

will only cycle through modes with numbers lower than this

mode_names + + + + +

+

names of modes, ordered first to last

+ + + diff --git a/obj/item/inspector/clown/bananium.html b/obj/item/inspector/clown/bananium.html new file mode 100644 index 00000000000..4514dcd4d9e --- /dev/null +++ b/obj/item/inspector/clown/bananium.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/inspector/clown/bananium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Bananium HONK-spect scanner + + + +

+ +

An upgraded version of the fake N-spect scanner

+

Can print things way faster, at full power the reports printed by this will destroy +themselves and leave water behind when folding is attempted by someone who isn't an +origami master. Printing at full power costs INSPECTOR_POWER_USAGE_HONK cell units +instead of INSPECTOR_POWER_USAGE_NORMAL cell units.

+ + +

Vars

charges_per_paperHow much charges are restored per paper consumed
max_paper_chargesMax value of paper_charges
paper_chargesHow many more times can we print?
+

Var Details

charges_per_paper + + + + +

+

How much charges are restored per paper consumed

max_paper_charges + + + + +

+

Max value of paper_charges

paper_charges + + + + +

+

How many more times can we print?

+ + + diff --git a/obj/item/instrument.html b/obj/item/instrument.html new file mode 100644 index 00000000000..92a3562c8e6 --- /dev/null +++ b/obj/item/instrument.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/instrument - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

instrument + + + +

+ + + + +

Vars

allowed_instrument_idsOur allowed list of instrument ids. This is nulled on initialize.
instrument_rangeHow far away our song datum can be heard.
songOur song datum.
+

Var Details

allowed_instrument_ids + + + + +

+

Our allowed list of instrument ids. This is nulled on initialize.

instrument_range + + + + +

+

How far away our song datum can be heard.

song + + + + +

+

Our song datum.

+ + + diff --git a/obj/item/instrument/violin/festival.html b/obj/item/instrument/violin/festival.html new file mode 100644 index 00000000000..3658291f326 --- /dev/null +++ b/obj/item/instrument/violin/festival.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/instrument/violin/festival - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

festival + + + +

+ + + +

Procs

analyze_songReports some relevant information when the song begins playing.
on_instrument_startsignal fired when the festival instrument starts to play.

Proc Details

analyze_song +

+

Reports some relevant information when the song begins playing.

on_instrument_start +

+

signal fired when the festival instrument starts to play.

+ + + diff --git a/obj/item/integrated_circuit.html b/obj/item/integrated_circuit.html new file mode 100644 index 00000000000..ee52a60b23b --- /dev/null +++ b/obj/item/integrated_circuit.html @@ -0,0 +1,322 @@ + + + + + + + /obj/item/integrated_circuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Integrated Circuitboard + + + +

+ +

A circuitboard that holds components that work together

+

Has a limited amount of power.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

admin_onlyWhether the integrated circuit is admin only. Disables power usage and allows admin circuits to be attached, at the cost of making it inaccessible to regular users.
assoc_list_variablesAssoc list variables stored on this integrated circuit, with a variable_name = value structure
attached_componentsThe attached components
cellThe power of the integrated circuit
circuit_variablesVariables stored on this integrated circuit, with a variable_name = value structure
current_sizeThe current size of the circuit.
display_nameThe name that appears on the shell.
examined_componentThe current examined component. Used in IntegratedCircuit UI
examined_rel_xX position of the examined_component
examined_rel_yY position of the examined component
inserter_mindSet by the shell. Holds the reference to the owner who inserted the component into the shell.
label_max_lengthThe max length of the name.
linked_component_printerThe current linked component printer. Lets you remotely print off circuit components and places them in the integrated circuit.
list_variablesList variables stored on this integrated circuit, with a variable_name = value structure
lockedWhether the integrated circuit is locked or not. Handled by the shell.
max_setters_and_gettersThe maximum amount of setters and getters a circuit can have
modifiable_circuit_variablesVariables stored on this integrated circuit that can be set by a setter, with a variable_name = value structure
onWhether the integrated circuit is on or not. Handled by the shell.
owner_idThe ID that is authorized to unlock/lock the shell so that the circuit can/cannot be removed.
screen_xThe X position of the screen. Used for adding components
screen_yThe Y position of the screen. Used for adding components.
setter_and_getter_countThe current setter and getter count the circuit has.
shellThe shell that this circuitboard is attached to. Used by components.

Procs

add_componentAdds a component to the circuitboard
add_component_manuallyAdds a component to the circuitboard through a manual action.
attempt_save_toAttempts to save a circuit to a given client
convert_to_jsonConverts a circuit into json.
get_creatorReturns the creator of the integrated circuit. Used in admin logs and other related things.
get_creator_adminReturns the creator of the integrated circuit. Used in admin messages and other related things.
is_duplicateUsed for checking if another component of to_check's type exists in the circuit. +Introspects through modules.
load_circuit_dataLoads a circuit based on json data at a location. Can also load usb connections, such as arrest consoles.
remove_componentRemoves a component to the circuitboard
remove_current_shellUnregisters the current shell attached to this circuit.
set_cellSets the cell of the integrated circuit.
set_display_nameSets the display name that appears on the shell.
set_lockedSets the locked status of the integrated circuit.
set_onSets the on status of the integrated circuit.
set_shellRegisters an movable atom as a shell
+

Var Details

admin_only + + + + +

+

Whether the integrated circuit is admin only. Disables power usage and allows admin circuits to be attached, at the cost of making it inaccessible to regular users.

assoc_list_variables + + + + +

+

Assoc list variables stored on this integrated circuit, with a variable_name = value structure

attached_components + + + + +

+

The attached components

cell + + + + +

+

The power of the integrated circuit

circuit_variables + + + + +

+

Variables stored on this integrated circuit, with a variable_name = value structure

current_size + + + + +

+

The current size of the circuit.

display_name + + + + +

+

The name that appears on the shell.

examined_component + + + + +

+

The current examined component. Used in IntegratedCircuit UI

examined_rel_x + + + + +

+

X position of the examined_component

examined_rel_y + + + + +

+

Y position of the examined component

inserter_mind + + + + +

+

Set by the shell. Holds the reference to the owner who inserted the component into the shell.

label_max_length + + + + +

+

The max length of the name.

linked_component_printer + + + + +

+

The current linked component printer. Lets you remotely print off circuit components and places them in the integrated circuit.

list_variables + + + + +

+

List variables stored on this integrated circuit, with a variable_name = value structure

locked + + + + +

+

Whether the integrated circuit is locked or not. Handled by the shell.

max_setters_and_getters + + + + +

+

The maximum amount of setters and getters a circuit can have

modifiable_circuit_variables + + + + +

+

Variables stored on this integrated circuit that can be set by a setter, with a variable_name = value structure

on + + + + +

+

Whether the integrated circuit is on or not. Handled by the shell.

owner_id + + + + +

+

The ID that is authorized to unlock/lock the shell so that the circuit can/cannot be removed.

screen_x + + + + +

+

The X position of the screen. Used for adding components

screen_y + + + + +

+

The Y position of the screen. Used for adding components.

setter_and_getter_count + + + + +

+

The current setter and getter count the circuit has.

shell + + + + +

+

The shell that this circuitboard is attached to. Used by components.

Proc Details

add_component +

+

Adds a component to the circuitboard

+

Once the component is added, the ports can be attached to other components

add_component_manually +

+

Adds a component to the circuitboard through a manual action.

attempt_save_to +

+

Attempts to save a circuit to a given client

convert_to_json +

+

Converts a circuit into json.

get_creator +

+

Returns the creator of the integrated circuit. Used in admin logs and other related things.

get_creator_admin +

+

Returns the creator of the integrated circuit. Used in admin messages and other related things.

is_duplicate +

+

Used for checking if another component of to_check's type exists in the circuit. +Introspects through modules.

+

Arguments:

+
    +
  • to_check - The component to check.
  • +

load_circuit_data +

+

Loads a circuit based on json data at a location. Can also load usb connections, such as arrest consoles.

remove_component +

+

Removes a component to the circuitboard

+

This removes all connects between the ports

remove_current_shell +

+

Unregisters the current shell attached to this circuit.

set_cell +

+

Sets the cell of the integrated circuit.

+

Arguments:

+
    +
  • cell_to_set - The new cell of the circuit. Can be null.
  • +

set_display_name +

+

Sets the display name that appears on the shell.

set_locked +

+

Sets the locked status of the integrated circuit.

+

Arguments:

+
    +
  • new_value - A boolean that determines if the circuit is locked or not.
  • +

set_on +

+

Sets the on status of the integrated circuit.

+

Arguments:

+
    +
  • new_value - A boolean that determines if the circuit is on or not.
  • +

set_shell +

+

Registers an movable atom as a shell

+

No functionality is done here. This is so that input components +can properly register any signals on the shell. +Arguments:

+
    +
  • new_shell - The new shell to register.
  • +
+ + + diff --git a/obj/item/janicart_upgrade.html b/obj/item/janicart_upgrade.html new file mode 100644 index 00000000000..afc785b7cce --- /dev/null +++ b/obj/item/janicart_upgrade.html @@ -0,0 +1,58 @@ + + + + + + + /obj/item/janicart_upgrade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Janicart Upgrade + + + +

+ +

Functional upgrades that can be installed into a janicart.

+ + +

Vars

overlay_greyscale_configThe greyscale config for the on-cart installed upgrade overlay

Procs

installCalled when upgrade is installed into a janicart
uninstallCalled when upgrade is uninstalled from a janicart
+

Var Details

overlay_greyscale_config + + + + +

+

The greyscale config for the on-cart installed upgrade overlay

Proc Details

install +

+

Called when upgrade is installed into a janicart

+

Arguments:

+
    +
  • installee - The cart the upgrade is being installed into
  • +

uninstall +

+

Called when upgrade is uninstalled from a janicart

+

Arguments:

+
    +
  • installee - The cart the upgrade is being removed from
  • +
+ + + diff --git a/obj/item/kheiral_cuffs.html b/obj/item/kheiral_cuffs.html new file mode 100644 index 00000000000..98250849c02 --- /dev/null +++ b/obj/item/kheiral_cuffs.html @@ -0,0 +1,72 @@ + + + + + + + /obj/item/kheiral_cuffs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

kheiral_cuffs + + + +

+ +

Kheiral Cuffs +Acts as a GPS beacon & connects to station crew monitors from lavaland

+ + + + + +

Vars

far_from_homeIf we're off the station's Z-level
gps_enabledIf the GPS is already on
on_wristIf we're in the glove slot

Procs

check_zIf we're off the Z-level, set far_from_home = TRUE. If being worn, trigger kheiral_network proc
connect_kheiral_networkEnables the GPS and adds the multiz trait
remove_kheiral_networkDisables the GPS and removes the multiz trait
+

Var Details

far_from_home + + + + +

+

If we're off the station's Z-level

gps_enabled + + + + +

+

If the GPS is already on

on_wrist + + + + +

+

If we're in the glove slot

Proc Details

check_z +

+

If we're off the Z-level, set far_from_home = TRUE. If being worn, trigger kheiral_network proc

connect_kheiral_network +

+

Enables the GPS and adds the multiz trait

remove_kheiral_network +

+

Disables the GPS and removes the multiz trait

+ + + diff --git a/obj/item/kirbyplants.html b/obj/item/kirbyplants.html new file mode 100644 index 00000000000..79454938457 --- /dev/null +++ b/obj/item/kirbyplants.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/kirbyplants - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

kirbyplants + + + +

+ + + + + +

Vars

custom_plant_nameIf it's a special named plant, set this to true to prevent dead-name overriding.
deadWhether this plant is dead and requires a seed to revive
trimmableCan this plant be trimmed by someone with TRAIT_BONSAI

Procs

change_visualCycle basic plant visuals
+

Var Details

custom_plant_name + + + + +

+

If it's a special named plant, set this to true to prevent dead-name overriding.

dead + + + + +

+

Whether this plant is dead and requires a seed to revive

trimmable + + + + +

+

Can this plant be trimmed by someone with TRAIT_BONSAI

Proc Details

change_visual +

+

Cycle basic plant visuals

+ + + diff --git a/obj/item/kitchen/tongs.html b/obj/item/kitchen/tongs.html new file mode 100644 index 00000000000..76713e18116 --- /dev/null +++ b/obj/item/kitchen/tongs.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/kitchen/tongs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tongs + + + +

+ +

Tongs, let you pick up and feed people food from further away.

+ + + + + + +

Vars

clack_cooldownHave we clacked recently?
clack_delayTime to wait between clacking sounds
clack_soundSound to play when we click our tongs together
tongedWhat are we holding in our tongs?

Procs

clackPlays a clacking sound and appear open
click_clackPlay a clacking sound and appear closed, then open again
drop_tongedRelease the food we are holding
+

Var Details

clack_cooldown + + + + +

+

Have we clacked recently?

clack_delay + + + + +

+

Time to wait between clacking sounds

clack_sound + + + + +

+

Sound to play when we click our tongs together

tonged + + + + +

+

What are we holding in our tongs?

Proc Details

clack +

+

Plays a clacking sound and appear open

click_clack +

+

Play a clacking sound and appear closed, then open again

drop_tonged +

+

Release the food we are holding

+ + + diff --git a/obj/item/knife.html b/obj/item/knife.html new file mode 100644 index 00000000000..7ee0c67196b --- /dev/null +++ b/obj/item/knife.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/knife - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

knife + + + +

+ + +

Procs

set_butcheringAdds the butchering component, used to override stats for special cases

Proc Details

set_butchering +

+

Adds the butchering component, used to override stats for special cases

+ + + diff --git a/obj/item/knife/bloodletter.html b/obj/item/knife/bloodletter.html new file mode 100644 index 00000000000..a49147d81e4 --- /dev/null +++ b/obj/item/knife/bloodletter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/knife/bloodletter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bloodletter + + + +

+ + +

Vars

bleed_stacks_per_hitBleed stacks applied when an organic mob target is hit
+

Var Details

bleed_stacks_per_hit + + + + +

+

Bleed stacks applied when an organic mob target is hit

+ + + diff --git a/obj/item/language_manual.html b/obj/item/language_manual.html new file mode 100644 index 00000000000..c2a0e55f017 --- /dev/null +++ b/obj/item/language_manual.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/language_manual - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

language_manual + + + +

+ + + + +

Vars

chargesNumber of charges the book has, limits the number of times it can be used.
flavour_textFlavour text to display when the language is successfully learned.
languagePath to a language datum that the book teaches.
+

Var Details

charges + + + + +

+

Number of charges the book has, limits the number of times it can be used.

flavour_text + + + + +

+

Flavour text to display when the language is successfully learned.

language + + + + +

+

Path to a language datum that the book teaches.

+ + + diff --git a/obj/item/laser_pointer.html b/obj/item/laser_pointer.html new file mode 100644 index 00000000000..e0872851627 --- /dev/null +++ b/obj/item/laser_pointer.html @@ -0,0 +1,99 @@ + + + + + + + /obj/item/laser_pointer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

laser_pointer + + + +

+ + + + + + + + + + + +

Vars

crystal_lensCurrently stored blulespace crystal, if any. Required to use the pointer through walls
diodeCurrently stored micro-laser diode
effectchanceChance that the pointer dot will trigger a reaction from a mob/object
energyCurrently available battery charge of the laser pointer
max_energyMaximum possible battery charge of the laser. Draining the battery puts the pointer in a recharge state, preventing use, which ends upon full recharge
max_rangeMaximum use range
pointer_icon_stateIcon for the laser, affects both the laser dot and the laser pointer itself, as it shines a laser on the item itself
recharge_lockedWhether the pointer is currently in a full recharge state. Triggered upon fully draining the battery
rechargingWhether the pointer is currently recharging or not

Procs

laser_actHandles shining the clicked atom,
+

Var Details

crystal_lens + + + + +

+

Currently stored blulespace crystal, if any. Required to use the pointer through walls

diode + + + + +

+

Currently stored micro-laser diode

effectchance + + + + +

+

Chance that the pointer dot will trigger a reaction from a mob/object

energy + + + + +

+

Currently available battery charge of the laser pointer

max_energy + + + + +

+

Maximum possible battery charge of the laser. Draining the battery puts the pointer in a recharge state, preventing use, which ends upon full recharge

max_range + + + + +

+

Maximum use range

pointer_icon_state + + + + +

+

Icon for the laser, affects both the laser dot and the laser pointer itself, as it shines a laser on the item itself

recharge_locked + + + + +

+

Whether the pointer is currently in a full recharge state. Triggered upon fully draining the battery

recharging + + + + +

+

Whether the pointer is currently recharging or not

Proc Details

laser_act +

+

Handles shining the clicked atom,

+ + + diff --git a/obj/item/lazarus_injector.html b/obj/item/lazarus_injector.html new file mode 100644 index 00000000000..0b17c249ac5 --- /dev/null +++ b/obj/item/lazarus_injector.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/lazarus_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lazarus_injector + + + +

+ +

Players can revive simplemobs with this.

+

In-game item that can be used to revive a simplemob once. This makes the mob friendly. +Becomes useless after use. +Becomes malfunctioning when EMP'd. +If a hostile mob is revived with a malfunctioning injector, it will be hostile to everyone except whoever revived it and gets robust searching enabled.

+ + +

Vars

loadedCan this still be used?
malfunctioningInjector malf?
revive_typeSo you can't revive boss monsters or robots with it
+

Var Details

loaded + + + + +

+

Can this still be used?

malfunctioning + + + + +

+

Injector malf?

revive_type + + + + +

+

So you can't revive boss monsters or robots with it

+ + + diff --git a/obj/item/light.html b/obj/item/light.html new file mode 100644 index 00000000000..dc4bd761e2f --- /dev/null +++ b/obj/item/light.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

light + + + +

+ + + + + + +

Vars

base_stateBase icon state for each bulb types
brightnessHow much light it gives off
statusLIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN
switchcountNumber of times switched on and off

Procs

is_intactReturns true if bulb is intact
+

Var Details

base_state + + + + +

+

Base icon state for each bulb types

brightness + + + + +

+

How much light it gives off

status + + + + +

+

LIGHT_OK, LIGHT_BURNED or LIGHT_BROKEN

switchcount + + + + +

+

Number of times switched on and off

Proc Details

is_intact +

+

Returns true if bulb is intact

+ + + diff --git a/obj/item/lighter.html b/obj/item/lighter.html new file mode 100644 index 00000000000..585e49e6a6d --- /dev/null +++ b/obj/item/lighter.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/lighter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lighter + + + +

+ + + + + + + +

Vars

fancyWhether the lighter is fancy. Fancy lighters have fancier flavortext and won't burn thumbs.
litWhether the lighter is lit.
overlay_listA list of possible engraving overlays.
overlay_stateThe engraving overlay used by this lighter.

Procs

create_lighter_overlayGenerates an overlay used by this lighter.
on_intercepted_bulletDestroy the lighter when it's shot by a bullet
+

Var Details

fancy + + + + +

+

Whether the lighter is fancy. Fancy lighters have fancier flavortext and won't burn thumbs.

lit + + + + +

+

Whether the lighter is lit.

overlay_list + + + + +

+

A list of possible engraving overlays.

overlay_state + + + + +

+

The engraving overlay used by this lighter.

Proc Details

create_lighter_overlay +

+

Generates an overlay used by this lighter.

on_intercepted_bullet +

+

Destroy the lighter when it's shot by a bullet

+ + + diff --git a/obj/item/lighter/greyscale.html b/obj/item/lighter/greyscale.html new file mode 100644 index 00000000000..4b6909a2d49 --- /dev/null +++ b/obj/item/lighter/greyscale.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/lighter/greyscale - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

greyscale + + + +

+ + + +

Vars

color_listThe set of colors this lighter can be autoset as on init.
lighter_colorThe color of the lighter.
+

Var Details

color_list + + + + +

+

The set of colors this lighter can be autoset as on init.

lighter_color + + + + +

+

The color of the lighter.

+ + + diff --git a/obj/item/lightreplacer.html b/obj/item/lightreplacer.html new file mode 100644 index 00000000000..828f737f58c --- /dev/null +++ b/obj/item/lightreplacer.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/lightreplacer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lightreplacer + + + +

+ + + + + + + +

Vars

bluespace_togglewhether it is "bluespace powered" (can be used at a range)
bulb_shardsEating used bulbs gives us bulb shards. Requires BULB_SHARDS_MAXIMUM to produce a new light.
chargeThe light replacer's charge increment (used for adding to cyborg light replacers)
max_usesThe maximum number of lights this replacer can hold
usesHow many uses does our light replacer have?

Procs

do_actionattempts to fix lights, flood lights & lights on a turf +Arguments
+

Var Details

bluespace_toggle + + + + +

+

whether it is "bluespace powered" (can be used at a range)

bulb_shards + + + + +

+

Eating used bulbs gives us bulb shards. Requires BULB_SHARDS_MAXIMUM to produce a new light.

charge + + + + +

+

The light replacer's charge increment (used for adding to cyborg light replacers)

max_uses + + + + +

+

The maximum number of lights this replacer can hold

uses + + + + +

+

How many uses does our light replacer have?

Proc Details

do_action +

+

attempts to fix lights, flood lights & lights on a turf +Arguments

+
    +
  • target - the target we are trying to fix
  • +
  • user - the mob performing this action +returns TRUE if the target was valid[light, floodlight or turf] regardless if any light's were fixed or not
  • +
+ + + diff --git a/obj/item/lipstick.html b/obj/item/lipstick.html new file mode 100644 index 00000000000..85e27d07064 --- /dev/null +++ b/obj/item/lipstick.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/lipstick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lipstick + + + +

+ + + + +

Vars

lipstick_colorActual color of the lipstick, also gets applied to the human
lipstick_traitA trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed
styleThe style of lipstick. Upper, middle, or lower lip. Default is middle.
+

Var Details

lipstick_color + + + + +

+

Actual color of the lipstick, also gets applied to the human

lipstick_trait + + + + +

+

A trait that's applied while someone has this lipstick applied, and is removed when the lipstick is removed

style + + + + +

+

The style of lipstick. Upper, middle, or lower lip. Default is middle.

+ + + diff --git a/obj/item/mail.html b/obj/item/mail.html new file mode 100644 index 00000000000..ac2622189be --- /dev/null +++ b/obj/item/mail.html @@ -0,0 +1,127 @@ + + + + + + + /obj/item/mail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mail + + + +

+ +

Mail is tamper-evident and unresealable, postmarked by CentCom for an individual recepient.

+ + + + + + + + + + + + + +

Vars

department_colorsmail will have the color of the department the recipient is in.
generic_goodiesGoodies which can be given to anyone. The base weight is 50. For there to be a 50/50 chance of getting a department item, they need 50 weight as well.
goodie_countHow many goodies this mail contains.
postmarkedDoes the letter have the postmark overlay?
recipient_refWeak reference to who this mail is for and who can open it.
sort_tagDestination tagging for the mail sorter.
stamp_maxMaximum number of stamps on the letter.
stamp_offset_xPhysical offset of stamps on the object. X direction.
stamp_offset_yPhysical offset of stamps on the object. Y direction.
stampedDoes the letter have a stamp overlay?
stampsList of all stamp overlays on the letter.

Procs

initialize_for_recipientAccepts a mind to initialize goodies for a piece of mail.
junk_mailAlternate setup, just complete garbage inside and anyone can open
unwrapproc for unwrapping a mail. Goes just for an unwrapping procces, returns FALSE if it fails.
+

Var Details

department_colors + + + + +

+

mail will have the color of the department the recipient is in.

generic_goodies + + + + +

+

Goodies which can be given to anyone. The base weight is 50. For there to be a 50/50 chance of getting a department item, they need 50 weight as well.

goodie_count + + + + +

+

How many goodies this mail contains.

postmarked + + + + +

+

Does the letter have the postmark overlay?

recipient_ref + + + + +

+

Weak reference to who this mail is for and who can open it.

sort_tag + + + + +

+

Destination tagging for the mail sorter.

stamp_max + + + + +

+

Maximum number of stamps on the letter.

stamp_offset_x + + + + +

+

Physical offset of stamps on the object. X direction.

stamp_offset_y + + + + +

+

Physical offset of stamps on the object. Y direction.

stamped + + + + +

+

Does the letter have a stamp overlay?

stamps + + + + +

+

List of all stamp overlays on the letter.

Proc Details

initialize_for_recipient +

+

Accepts a mind to initialize goodies for a piece of mail.

junk_mail +

+

Alternate setup, just complete garbage inside and anyone can open

unwrap +

+

proc for unwrapping a mail. Goes just for an unwrapping procces, returns FALSE if it fails.

+ + + diff --git a/obj/item/mail/junkmail.html b/obj/item/mail/junkmail.html new file mode 100644 index 00000000000..6e0f8d3315c --- /dev/null +++ b/obj/item/mail/junkmail.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/mail/junkmail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

junkmail + + + +

+ + +

Procs

InitializeSubtype that's always junkmail

Proc Details

Initialize +

+

Subtype that's always junkmail

+ + + diff --git a/obj/item/mail/traitor.html b/obj/item/mail/traitor.html new file mode 100644 index 00000000000..40bc518f6da --- /dev/null +++ b/obj/item/mail/traitor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mail/traitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor + + + +

+ + + +

Vars

made_by_cached_ckeyCached information about who made it for logging purposes
made_by_cached_nameCached information about who made it for logging purposes
+

Var Details

made_by_cached_ckey + + + + +

+

Cached information about who made it for logging purposes

made_by_cached_name + + + + +

+

Cached information about who made it for logging purposes

+ + + diff --git a/obj/item/market_uplink.html b/obj/item/market_uplink.html new file mode 100644 index 00000000000..f005876b07a --- /dev/null +++ b/obj/item/market_uplink.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/market_uplink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

market_uplink + + + +

+ + + + + + + + +

Vars

accessible_marketsList of typepaths for "/datum/market"s that this uplink can access.
buyingIs the uplink in the process of buying the selected item?
current_userReference to the currently logged in user's bank account.
selected_itemWhat item is the current uplink attempting to buy?
viewing_categoryWhat category is the current uplink viewing?
viewing_marketWhat market is currently being bought from by the uplink?

Procs

update_viewing_categorySimple internal proc for updating the viewing_category variable.
+

Var Details

accessible_markets + + + + +

+

List of typepaths for "/datum/market"s that this uplink can access.

buying + + + + +

+

Is the uplink in the process of buying the selected item?

current_user + + + + +

+

Reference to the currently logged in user's bank account.

selected_item + + + + +

+

What item is the current uplink attempting to buy?

viewing_category + + + + +

+

What category is the current uplink viewing?

viewing_market + + + + +

+

What market is currently being bought from by the uplink?

Proc Details

update_viewing_category +

+

Simple internal proc for updating the viewing_category variable.

+ + + diff --git a/obj/item/match.html b/obj/item/match.html new file mode 100644 index 00000000000..4d0ccbff7cc --- /dev/null +++ b/obj/item/match.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/match - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

match + + + +

+ + + + +

Vars

burntWhether this match has burnt out.
litWhether this match has been lit.
smoketimeHow long the match lasts in seconds
+

Var Details

burnt + + + + +

+

Whether this match has burnt out.

lit + + + + +

+

Whether this match has been lit.

smoketime + + + + +

+

How long the match lasts in seconds

+ + + diff --git a/obj/item/mecha_ammo.html b/obj/item/mecha_ammo.html new file mode 100644 index 00000000000..28b07ca4734 --- /dev/null +++ b/obj/item/mecha_ammo.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_ammo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mecha_ammo + + + +

+ + +

Vars

qdel_on_emptywhether to qdel this mecha_ammo when it becomes empty
+

Var Details

qdel_on_empty + + + + +

+

whether to qdel this mecha_ammo when it becomes empty

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment.html b/obj/item/mecha_parts/mecha_equipment.html new file mode 100644 index 00000000000..dc0047c1f9d --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment.html @@ -0,0 +1,230 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_equipment + + + +

+ +

Mecha Equipment +All mech equippables are currently childs of this

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

activeWhether the module is currently active
active_labelLabel used in the ui next to the Activate/Enable/Disable buttons
can_be_toggledWhether you can turn this module on/off with a button
can_be_triggeredWhether you can trigger this module with a button (activation only)
chassisReference to mecha that this equipment is currently attached to
destroy_soundSound file: Sound to play when this equipment is destroyed while still attached to the mech
detachableboolean: FALSE if this equipment can not be removed/salvaged
energy_drainChassis power cell quantity used on activation
equip_cooldownCooldown in ticks required between activations of the equipment
equipment_slotDetermines what "slot" this attachment will try to attach to on a mech
harmfulBoolean: whether a pacifist can use this equipment
mech_flagsBitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.
rangeBitflag. Determines the range of the equipment.

Procs

action_checksChecks whether this mecha equipment can be active +Returns a bool +Arguments:
detachcalled to detach this equipment +Args:
do_after_checksdo after checks for the mecha equipment do afters
do_after_cooldownCooldown proc variant for using do_afters between activations instead of timers +Example of usage is mech drills, rcds +arguments:
do_after_mechaDo after wrapper for mecha equipment
get_snowflake_data
handle_ui_actcalled after ui_act, for custom ui act handling
needs_rearmAI mech pilot: returns TRUE if the Ai should try to reload the mecha
rearmProc for reloading weapons from HTML UI or by AI +note that this is old and likely broken code
special_attaching_interactionSpecial Attaching Interaction, used to bypass normal attachment procs.
+

Var Details

active + + + + +

+

Whether the module is currently active

active_label + + + + +

+

Label used in the ui next to the Activate/Enable/Disable buttons

can_be_toggled + + + + +

+

Whether you can turn this module on/off with a button

can_be_triggered + + + + +

+

Whether you can trigger this module with a button (activation only)

chassis + + + + +

+

Reference to mecha that this equipment is currently attached to

destroy_sound + + + + +

+

Sound file: Sound to play when this equipment is destroyed while still attached to the mech

detachable + + + + +

+

boolean: FALSE if this equipment can not be removed/salvaged

energy_drain + + + + +

+

Chassis power cell quantity used on activation

equip_cooldown + + + + +

+

Cooldown in ticks required between activations of the equipment

equipment_slot + + + + +

+

Determines what "slot" this attachment will try to attach to on a mech

harmful + + + + +

+

Boolean: whether a pacifist can use this equipment

mech_flags + + + + +

+

Bitflag. Used by exosuit fabricator to assign sub-categories based on which exosuits can equip this.

range + + + + +

+

Bitflag. Determines the range of the equipment.

Proc Details

action_checks +

+

Checks whether this mecha equipment can be active +Returns a bool +Arguments:

+
    +
  • target: atom we are activating/clicked on
  • +

detach +

+

called to detach this equipment +Args:

+
    +
  • moveto: optional target to move this equipment to
  • +

do_after_checks +

+

do after checks for the mecha equipment do afters

do_after_cooldown +

+

Cooldown proc variant for using do_afters between activations instead of timers +Example of usage is mech drills, rcds +arguments:

+
    +
  • target: targeted atom for action activation
  • +
  • user: occupant to display do after for
  • +
  • interaction_key: interaction key to pass to /proc/do_after
  • +

do_after_mecha +

+

Do after wrapper for mecha equipment

get_snowflake_data +

+ get_snowflake_data +

handles the returning of snowflake data required by the UI of the mecha +not the prettiest of procs honeslty +returns:

+
    +
  • an assoc list
  • +
  • must include an list("snowflake_id" = snowflake_id)
  • +

handle_ui_act +

+

called after ui_act, for custom ui act handling

needs_rearm +

+

AI mech pilot: returns TRUE if the Ai should try to reload the mecha

rearm +

+

Proc for reloading weapons from HTML UI or by AI +note that this is old and likely broken code

special_attaching_interaction +

+

Special Attaching Interaction, used to bypass normal attachment procs.

+

If an equipment needs to bypass the regular chain of events, this proc can be used to allow for that. If used, it +must handle actually calling attach(), as well as any feedback to the user. +Args:

+
    +
  • attach_right: True if attaching the the right-hand equipment slot, false otherwise.
  • +
  • mech: ref to the mecha that we're attaching onto.
  • +
  • user: ref to the mob doing the attaching
  • +
  • checkonly: check if we are able to handle the attach procedure ourselves, but don't actually do it yet.
  • +
+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/air_tank.html b/obj/item/mecha_parts/mecha_equipment/air_tank.html new file mode 100644 index 00000000000..4eb40f3992e --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/air_tank.html @@ -0,0 +1,94 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/air_tank - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

air_tank + + + +

+ +

Mech air tank module

+ + + + + + + + +

Vars

auto_pressurize_on_sealWhether the pressurization should start automatically when the cabin is sealed airtight
connected_portPumping +The connected air port, if we have one
internal_tankThe internal air tank obj of the mech
maximum_pressureMaximum pressure of this air tank
start_fullWhether the tank starts pressurized
tank_pump_activeWhether the pump is moving the air from/to the connected port
tank_pump_directionDirection of the pump - into the tank from the port or the air (PUMP_IN) or from the tank (PUMP_OUT)
tank_pump_pressureTarget pressure of the pump
volumeVolume of this air tank
+

Var Details

auto_pressurize_on_seal + + + + +

+

Whether the pressurization should start automatically when the cabin is sealed airtight

connected_port + + + + +

+

Pumping +The connected air port, if we have one

internal_tank + + + + +

+

The internal air tank obj of the mech

maximum_pressure + + + + +

+

Maximum pressure of this air tank

start_full + + + + +

+

Whether the tank starts pressurized

tank_pump_active + + + + +

+

Whether the pump is moving the air from/to the connected port

tank_pump_direction + + + + +

+

Direction of the pump - into the tank from the port or the air (PUMP_IN) or from the tank (PUMP_OUT)

tank_pump_pressure + + + + +

+

Target pressure of the pump

volume + + + + +

+

Volume of this air tank

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/armor.html b/obj/item/mecha_parts/mecha_equipment/armor.html new file mode 100644 index 00000000000..0aff1d60aec --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/armor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/armor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

armor + + + +

+ +

ARMOR BOOSTER MODULES

+ +

Vars

iconstate_nameicon in armor.dmi that shows in the UI
protect_nameshort protection name to display in the UI
+

Var Details

iconstate_name + + + + +

+

icon in armor.dmi that shows in the UI

protect_name + + + + +

+

short protection name to display in the UI

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/ejector.html b/obj/item/mecha_parts/mecha_equipment/ejector.html new file mode 100644 index 00000000000..b56537a7e60 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/ejector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/ejector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ejector + + + +

+ + +

Vars

cargo_capacityNumber of atoms we can store
+

Var Details

cargo_capacity + + + + +

+

Number of atoms we can store

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/extinguisher.html b/obj/item/mecha_parts/mecha_equipment/extinguisher.html new file mode 100644 index 00000000000..1e42f382cf6 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/extinguisher.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/extinguisher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

extinguisher + + + +

+ + + +

Vars

required_amountMinimum amount of reagent needed to activate.

Procs

attempt_refillHandles attemted refills of the extinguisher.
+

Var Details

required_amount + + + + +

+

Minimum amount of reagent needed to activate.

Proc Details

attempt_refill +

+

Handles attemted refills of the extinguisher.

+

The mech can only refill an extinguisher that is in front of it. +Only water tank objects can be used.

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/generator.html b/obj/item/mecha_parts/mecha_equipment/generator.html new file mode 100644 index 00000000000..c50b0072cb7 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/generator.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

generator + + + +

+ +

GENERATOR

+ + + + + + +

Vars

fuelType of fuel the generator is using. Is set in generator_init() to add the starting amount of fuel
fuelrate_activeFuel used per second while actively generating, in units
fuelrate_idleFuel used per second while idle, not generating, in units
max_fuelMaximum fuel capacity of the generator, in units
rechargerateEnergy recharged per second

Procs

generator_initIntroduces the actual fuel type to be used, as well as the starting amount of said fuel
load_fuelTry to insert more fuel into the generator
+

Var Details

fuel + + + + +

+

Type of fuel the generator is using. Is set in generator_init() to add the starting amount of fuel

fuelrate_active + + + + +

+

Fuel used per second while actively generating, in units

fuelrate_idle + + + + +

+

Fuel used per second while idle, not generating, in units

max_fuel + + + + +

+

Maximum fuel capacity of the generator, in units

rechargerate + + + + +

+

Energy recharged per second

Proc Details

generator_init +

+

Introduces the actual fuel type to be used, as well as the starting amount of said fuel

load_fuel +

+

Try to insert more fuel into the generator

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/gravcatapult.html b/obj/item/mecha_parts/mecha_equipment/gravcatapult.html new file mode 100644 index 00000000000..85272bcc5b2 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/gravcatapult.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/gravcatapult - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gravcatapult + + + +

+ + + +

Vars

modeWhether we will throw movable atomstothrow by locking onto them or just throw them back from where we click
movable_targetWhich atom we are movable_target onto for
+

Var Details

mode + + + + +

+

Whether we will throw movable atomstothrow by locking onto them or just throw them back from where we click

movable_target + + + + +

+

Which atom we are movable_target onto for

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html b/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html new file mode 100644 index 00000000000..e455f86ab69 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hydraulic_clamp + + + +

+ + + + + +

Vars

clamp_damageHow much base damage this clamp does
clampsoundAudio for using the hydraulic clamp
killer_clampBool for whether we beat the hell out of things we punch (and tear off their arms)
workmechChassis but typed for the cargo_hold var
+

Var Details

clamp_damage + + + + +

+

How much base damage this clamp does

clampsound + + + + +

+

Audio for using the hydraulic clamp

killer_clamp + + + + +

+

Bool for whether we beat the hell out of things we punch (and tear off their arms)

workmech + + + + +

+

Chassis but typed for the cargo_hold var

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html b/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html new file mode 100644 index 00000000000..eebce829c8e --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/medical/mechmedbeam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mechmedbeam + + + +

+ +

Medical Beam

+

Vars

medigunThe medical gun doing the actual healing. yes its wierd but its better than copypasting the entire thing
+

Var Details

medigun + + + + +

+

The medical gun doing the actual healing. yes its wierd but its better than copypasting the entire thing

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/medical/sleeper.html b/obj/item/mecha_parts/mecha_equipment/medical/sleeper.html new file mode 100644 index 00000000000..75f7777bc3f --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/medical/sleeper.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/medical/sleeper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sleeper + + + +

+ + + +

Vars

inject_amountamount of chems to inject into patient from other hands syringe gun
patientref to the patient loaded in the sleeper
+

Var Details

inject_amount + + + + +

+

amount of chems to inject into patient from other hands syringe gun

patient + + + + +

+

ref to the patient loaded in the sleeper

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html b/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html new file mode 100644 index 00000000000..20d1bac81c9 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/medical/syringe_gun - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syringe_gun + + + +

+ + + + + + + + + + +

Vars

known_reagentsList of all scanned reagents, starts with epinephrine and multiver
max_syringesMaximu amount of syringes we can hold
max_volumeMaximum volume of reagents we can hold
modeChooses what kind of action we should perform when clicking
processed_reagentsList of reagents we want to be creating this processing tick
synth_speedReagent amount in units we produce per two seconds
syringesLazylist of syringes that we've picked up

Procs

on_reagent_changeUpdates the equipment info list when the reagents change. Eats signal args.
on_reagents_delHandles detaching signal hooks incase someone is crazy enough to make this edible.
+

Var Details

known_reagents + + + + +

+

List of all scanned reagents, starts with epinephrine and multiver

max_syringes + + + + +

+

Maximu amount of syringes we can hold

max_volume + + + + +

+

Maximum volume of reagents we can hold

mode + + + + +

+

Chooses what kind of action we should perform when clicking

processed_reagents + + + + +

+

List of reagents we want to be creating this processing tick

synth_speed + + + + +

+

Reagent amount in units we produce per two seconds

syringes + + + + +

+

Lazylist of syringes that we've picked up

Proc Details

on_reagent_change +

+

Updates the equipment info list when the reagents change. Eats signal args.

on_reagents_del +

+

Handles detaching signal hooks incase someone is crazy enough to make this edible.

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/radio.html b/obj/item/mecha_parts/mecha_equipment/radio.html new file mode 100644 index 00000000000..691349fef16 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/radio.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/radio - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radio + + + +

+ +

Mech radio module

+ +

Vars

radioInternal radio item

Procs

radio_deletedInternal radio got deleted, somehow
+

Var Details

radio + + + + +

+

Internal radio item

Proc Details

radio_deleted +

+

Internal radio got deleted, somehow

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/rcd.html b/obj/item/mecha_parts/mecha_equipment/rcd.html new file mode 100644 index 00000000000..0fa4dd85ba2 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/rcd.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/rcd - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rcd + + + +

+ + + +

Vars

modedetermines what we'll so when clicking on a turf

Procs

get_mode_namefetches the mode name to display in the UI
+

Var Details

mode + + + + +

+

determines what we'll so when clicking on a turf

Proc Details

get_mode_name +

+

fetches the mode name to display in the UI

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/repair_droid.html b/obj/item/mecha_parts/mecha_equipment/repair_droid.html new file mode 100644 index 00000000000..ff162406aa6 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/repair_droid.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/repair_droid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

repair_droid + + + +

+ +

REPAIR DROID

+

Vars

health_boostRepaired health per second
+

Var Details

health_boost + + + + +

+

Repaired health per second

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html new file mode 100644 index 00000000000..04057262289 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

punching_glove + + + +

+ + +

Vars

punch_damageDamage done by the glove on contact. Also used to determine throw distance (damage / 5)
+

Var Details

punch_damage + + + + +

+

Damage done by the glove on contact. Also used to determine throw distance (damage / 5)

+ + + diff --git a/obj/item/mecha_parts/mecha_equipment/weapon/paddy_claw.html b/obj/item/mecha_parts/mecha_equipment/weapon/paddy_claw.html new file mode 100644 index 00000000000..683fff62633 --- /dev/null +++ b/obj/item/mecha_parts/mecha_equipment/weapon/paddy_claw.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mecha_parts/mecha_equipment/weapon/paddy_claw - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paddy_claw + + + +

+ +

long claw of the law

+ + + +

Vars

autocuffVar for autocuff, can be toggled in the mech interface.
clampsoundAudio for using the hydraulic clamp
cuff_typeVar for the cuff type. Basically stole how cuffing works from secbots
secmechChassis but typed for the cargo_hold var
+

Var Details

autocuff + + + + +

+

Var for autocuff, can be toggled in the mech interface.

clampsound + + + + +

+

Audio for using the hydraulic clamp

cuff_type + + + + +

+

Var for the cuff type. Basically stole how cuffing works from secbots

secmech + + + + +

+

Chassis but typed for the cargo_hold var

+ + + diff --git a/obj/item/mecha_parts/mecha_tracking.html b/obj/item/mecha_parts/mecha_tracking.html new file mode 100644 index 00000000000..dac13f62f73 --- /dev/null +++ b/obj/item/mecha_parts/mecha_tracking.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/mecha_parts/mecha_tracking - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_tracking + + + +

+ + + + + + + +

Vars

ai_beaconIf this beacon allows for AI control. Exists to avoid using istype() on checking
chassisThe Mecha that this tracking beacon is attached to
rechargingCooldown variable for EMP pulsing

Procs

get_mecha_infoReturns a html formatted string describing attached mech status
rechargeResets recharge variable, allowing tracker to be EMP pulsed again
shockAttempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown
+

Var Details

ai_beacon + + + + +

+

If this beacon allows for AI control. Exists to avoid using istype() on checking

chassis + + + + +

+

The Mecha that this tracking beacon is attached to

recharging + + + + +

+

Cooldown variable for EMP pulsing

Proc Details

get_mecha_info +

+

Returns a html formatted string describing attached mech status

recharge +

+

Resets recharge variable, allowing tracker to be EMP pulsed again

shock +

+

Attempts to EMP mech that the tracker is attached to, if there is one and tracker is not on cooldown

+ + + diff --git a/obj/item/melee/baseball_bat.html b/obj/item/melee/baseball_bat.html new file mode 100644 index 00000000000..5a83a92838f --- /dev/null +++ b/obj/item/melee/baseball_bat.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/melee/baseball_bat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

baseball_bat + + + +

+ + + + + +

Vars

homerun_ableAre we able to do a homerun?
homerun_readyAre we ready to do a homerun?
mob_throwerCan we launch mobs thrown at us away?
thrown_datumsList of all thrown datums we sent.
+

Var Details

homerun_able + + + + +

+

Are we able to do a homerun?

homerun_ready + + + + +

+

Are we ready to do a homerun?

mob_thrower + + + + +

+

Can we launch mobs thrown at us away?

thrown_datums + + + + +

+

List of all thrown datums we sent.

+ + + diff --git a/obj/item/melee/baton.html b/obj/item/melee/baton.html new file mode 100644 index 00000000000..a38617b46ff --- /dev/null +++ b/obj/item/melee/baton.html @@ -0,0 +1,236 @@ + + + + + + + /obj/item/melee/baton - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

baton + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeWhether this baton is active or not
affect_cyborgCan we stun cyborgs?
chunky_finger_usableBoolean on whether people with chunky fingers can use this baton.
clumsy_knockdown_timeThe length of the knockdown applied to the user on clumsy_check()
context_living_rmb_activeThe RMB context to show when the baton is active and targeting a living thing
context_living_rmb_inactiveThe RMB context to show when the baton is inactive and targeting a living thing
context_living_target_activeThe context to show when the baton is active and targeting a living thing
context_living_target_active_combat_modeThe context to show when the baton is active and targeting a living thing in combat mode
context_living_target_inactiveThe context to show when the baton is inactive and targeting a living thing
context_living_target_inactive_combat_modeThe context to show when the baton is inactive and targeting a living thing in combat mode
cooldownDefault wait time until can stun again.
cooldown_checkUsed interally, you don't want to modify
force_say_chanceChance of causing force_say() when stunning a human mob
knockdown_timeThe length of the knockdown applied to a struck living, non-cyborg mob.
log_stun_attackWhether the stun attack is logged. Only relevant for abductor batons, which have different modes.
on_stun_soundThe path of the default sound to play when we stun something.
on_stun_volumeThe volume of the above.
stamina_damageHow much stamina damage we deal on a successful hit against a living, non-cyborg mob.
stun_animationDo we animate the "hit" when stunning something?
stun_time_cyborgIf affect_cyborg is TRUE, this is how long we stun cyborgs for on a hit.

Procs

additional_effects_cyborgContains any special effects that we apply to cyborgs we stun. Does not include flashing the cyborg's screen, hardstunning them, etc.
additional_effects_non_cyborgContains any special effects that we apply to living, non-cyborg mobs we stun. Does not include applying a knockdown, dealing stamina damage, etc.
attackOk, think of baton attacks like a melee attack chain:
get_cyborg_stun_descriptionDefault message for stunning a cyborg.
get_stun_descriptionDefault message for stunning a living, non-cyborg mob.
get_unga_dunga_cyborg_stun_descriptionDefault message for trying to stun a cyborg with a baton that can't stun cyborgs.
get_wait_descriptionDescription for trying to stun when still on cooldown.
+

Var Details

active + + + + +

+

Whether this baton is active or not

affect_cyborg + + + + +

+

Can we stun cyborgs?

chunky_finger_usable + + + + +

+

Boolean on whether people with chunky fingers can use this baton.

clumsy_knockdown_time + + + + +

+

The length of the knockdown applied to the user on clumsy_check()

context_living_rmb_active + + + + +

+

The RMB context to show when the baton is active and targeting a living thing

context_living_rmb_inactive + + + + +

+

The RMB context to show when the baton is inactive and targeting a living thing

context_living_target_active + + + + +

+

The context to show when the baton is active and targeting a living thing

context_living_target_active_combat_mode + + + + +

+

The context to show when the baton is active and targeting a living thing in combat mode

context_living_target_inactive + + + + +

+

The context to show when the baton is inactive and targeting a living thing

context_living_target_inactive_combat_mode + + + + +

+

The context to show when the baton is inactive and targeting a living thing in combat mode

cooldown + + + + +

+

Default wait time until can stun again.

cooldown_check + + + + +

+

Used interally, you don't want to modify

force_say_chance + + + + +

+

Chance of causing force_say() when stunning a human mob

knockdown_time + + + + +

+

The length of the knockdown applied to a struck living, non-cyborg mob.

log_stun_attack + + + + +

+

Whether the stun attack is logged. Only relevant for abductor batons, which have different modes.

on_stun_sound + + + + +

+

The path of the default sound to play when we stun something.

on_stun_volume + + + + +

+

The volume of the above.

stamina_damage + + + + +

+

How much stamina damage we deal on a successful hit against a living, non-cyborg mob.

stun_animation + + + + +

+

Do we animate the "hit" when stunning something?

stun_time_cyborg + + + + +

+

If affect_cyborg is TRUE, this is how long we stun cyborgs for on a hit.

Proc Details

additional_effects_cyborg +

+

Contains any special effects that we apply to cyborgs we stun. Does not include flashing the cyborg's screen, hardstunning them, etc.

additional_effects_non_cyborg +

+

Contains any special effects that we apply to living, non-cyborg mobs we stun. Does not include applying a knockdown, dealing stamina damage, etc.

attack +

+

Ok, think of baton attacks like a melee attack chain:

+

[/baton_attack()] comes first. It checks if the user is clumsy, if the target parried the attack and handles some messages and sounds.

+
    +
  • Depending on its return value, it'll either do a normal attack, continue to the next step or stop the attack.
  • +
+

[/finalize_baton_attack()] is then called. It handles logging stuff, sound effects and calls baton_effect().

+
    +
  • The proc is also called in other situations such as stunbatons right clicking or throw impact. Basically when baton_attack()
  • +
  • checks are either redundant or unnecessary.
  • +
+

[/baton_effect()] is third in the line. It knockdowns targets, along other effects called in additional_effects_cyborg() and

+
    +
  • additional_effects_non_cyborg().
  • +
+

Last but not least [/set_batoned()], which gives the target the IWASBATONED trait with REF(user) as source and then removes it

+
    +
  • after a cooldown has passed. Basically, it stops users from cheesing the cooldowns by dual wielding batons.
  • +
+

TL;DR: [/baton_attack()] -> [/finalize_baton_attack()] -> [/baton_effect()] -> [/set_batoned()]

get_cyborg_stun_description +

+

Default message for stunning a cyborg.

get_stun_description +

+

Default message for stunning a living, non-cyborg mob.

get_unga_dunga_cyborg_stun_description +

+

Default message for trying to stun a cyborg with a baton that can't stun cyborgs.

get_wait_description +

+

Description for trying to stun when still on cooldown.

+ + + diff --git a/obj/item/melee/baton/security.html b/obj/item/melee/baton/security.html new file mode 100644 index 00000000000..498a32e6eff --- /dev/null +++ b/obj/item/melee/baton/security.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/melee/baton/security - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

security + + + +

+ + + +

Procs

apply_stun_effect_endAfter the initial stun period, we check to see if the target needs to have the stun applied.
baton_attackHandles prodding targets with turned off stunbatons and right clicking stun'n'bash

Proc Details

apply_stun_effect_end +

+

After the initial stun period, we check to see if the target needs to have the stun applied.

baton_attack +

+

Handles prodding targets with turned off stunbatons and right clicking stun'n'bash

+ + + diff --git a/obj/item/melee/baton/security/cattleprod.html b/obj/item/melee/baton/security/cattleprod.html new file mode 100644 index 00000000000..41fa345783f --- /dev/null +++ b/obj/item/melee/baton/security/cattleprod.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/baton/security/cattleprod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cattleprod + + + +

+ + +

Vars

can_upgradeDetermines whether or not we can improve the cattleprod into a new type. Prevents turning the cattleprod subtypes into different subtypes, or wasting materials on making it....another version of itself.
+

Var Details

can_upgrade + + + + +

+

Determines whether or not we can improve the cattleprod into a new type. Prevents turning the cattleprod subtypes into different subtypes, or wasting materials on making it....another version of itself.

+ + + diff --git a/obj/item/melee/baton/telescopic.html b/obj/item/melee/baton/telescopic.html new file mode 100644 index 00000000000..7926e08c5b9 --- /dev/null +++ b/obj/item/melee/baton/telescopic.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/melee/baton/telescopic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

telescopic + + + +

+ + + + +

Vars

active_forceThe force on extension.
on_inhand_icon_stateThe inhand iconstate used when our baton is extended.
on_soundThe sound effecte played when our baton is extended.
+

Var Details

active_force + + + + +

+

The force on extension.

on_inhand_icon_state + + + + +

+

The inhand iconstate used when our baton is extended.

on_sound + + + + +

+

The sound effecte played when our baton is extended.

+ + + diff --git a/obj/item/melee/cleaving_saw.html b/obj/item/melee/cleaving_saw.html new file mode 100644 index 00000000000..2db5fc6e3e6 --- /dev/null +++ b/obj/item/melee/cleaving_saw.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/melee/cleaving_saw - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cleaving_saw + + + +

+ + + + + + + +

Vars

bleed_stacks_per_hitAmount of bleed stacks gained per hit
faction_bonus_forceAmount of damage we deal to the above factions
nemesis_factionsList of factions we deal bonus damage to
open_forceForce when the saw is opened.
open_throwforceThrowforce when the saw is opened.
swipingWhether the cleaver is actively AoE swiping something.
+

Var Details

bleed_stacks_per_hit + + + + +

+

Amount of bleed stacks gained per hit

faction_bonus_force + + + + +

+

Amount of damage we deal to the above factions

nemesis_factions + + + + +

+

List of factions we deal bonus damage to

open_force + + + + +

+

Force when the saw is opened.

open_throwforce + + + + +

+

Throwforce when the saw is opened.

swiping + + + + +

+

Whether the cleaver is actively AoE swiping something.

+ + + diff --git a/obj/item/melee/energy.html b/obj/item/melee/energy.html new file mode 100644 index 00000000000..73133cd7156 --- /dev/null +++ b/obj/item/melee/energy.html @@ -0,0 +1,87 @@ + + + + + + + /obj/item/melee/energy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

energy + + + +

+ + + + + + + + + +

Vars

active_forceForce while active.
active_heatThe heat given off when active.
active_hitsoundHitsound played attacking while active.
active_sharpnessSharpness while active.
active_throwforceThrowforce while active.
active_w_classWeight class while active.
sword_color_iconThe color of this energy based sword, for use in editing the icon_state.

Procs

on_transformSignal proc for COMSIG_TRANSFORMING_ON_TRANSFORM.
+

Var Details

active_force + + + + +

+

Force while active.

active_heat + + + + +

+

The heat given off when active.

active_hitsound + + + + +

+

Hitsound played attacking while active.

active_sharpness + + + + +

+

Sharpness while active.

active_throwforce + + + + +

+

Throwforce while active.

active_w_class + + + + +

+

Weight class while active.

sword_color_icon + + + + +

+

The color of this energy based sword, for use in editing the icon_state.

Proc Details

on_transform +

+

Signal proc for COMSIG_TRANSFORMING_ON_TRANSFORM.

+

Updates some of the stuff the transforming comp doesn't, such as heat and embedding.

+

Also gives feedback to the user and activates or deactives the glow.

+ + + diff --git a/obj/item/melee/energy/blade.html b/obj/item/melee/energy/blade.html new file mode 100644 index 00000000000..6a0a3891231 --- /dev/null +++ b/obj/item/melee/energy/blade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/energy/blade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blade + + + +

+ +

Energy blades, which are effectively perma-extended energy swords

+

Vars

spark_systemOur linked spark system that emits from our sword.
+

Var Details

spark_system + + + + +

+

Our linked spark system that emits from our sword.

+ + + diff --git a/obj/item/melee/energy/sword/bananium.html b/obj/item/melee/energy/sword/bananium.html new file mode 100644 index 00000000000..c86e3a0f3d3 --- /dev/null +++ b/obj/item/melee/energy/sword/bananium.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/energy/sword/bananium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bananium + + + +

+ + +

Vars

next_trombone_allowedCooldown for making a trombone noise for failing to make a bananium desword
+

Var Details

next_trombone_allowed + + + + +

+

Cooldown for making a trombone noise for failing to make a bananium desword

+ + + diff --git a/obj/item/melee/energy/sword/cyborg.html b/obj/item/melee/energy/sword/cyborg.html new file mode 100644 index 00000000000..a56bf3037a8 --- /dev/null +++ b/obj/item/melee/energy/sword/cyborg.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/energy/sword/cyborg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cyborg + + + +

+ + +

Vars

hitcostThe cell cost of hitting something.
+

Var Details

hitcost + + + + +

+

The cell cost of hitting something.

+ + + diff --git a/obj/item/melee/energy/sword/saber.html b/obj/item/melee/energy/sword/saber.html new file mode 100644 index 00000000000..0e0b0bf9799 --- /dev/null +++ b/obj/item/melee/energy/sword/saber.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/melee/energy/sword/saber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

saber + + + +

+ + + +

Vars

hackedWhether this saber has been multitooled.
possible_sword_colorsAssoc list of all possible saber colors to color define. If you add a new color, make sure to update /obj/item/toy/sword too!
+

Var Details

hacked + + + + +

+

Whether this saber has been multitooled.

possible_sword_colors + + + + +

+

Assoc list of all possible saber colors to color define. If you add a new color, make sure to update /obj/item/toy/sword too!

+ + + diff --git a/obj/item/melee/flyswatter.html b/obj/item/melee/flyswatter.html new file mode 100644 index 00000000000..5883656323b --- /dev/null +++ b/obj/item/melee/flyswatter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/melee/flyswatter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flyswatter + + + +

+ + + + +

Vars

extra_strength_damageHow much extra damage the fly swatter does against mobs it is strong against
splattableThings in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc.
strong_againstThings in this list which take a lot more damage from the fly swatter, but not be necessarily killed by it.
+

Var Details

extra_strength_damage + + + + +

+

How much extra damage the fly swatter does against mobs it is strong against

splattable + + + + +

+

Things in this list will be instantly splatted. Flyman weakness is handled in the flyman species weakness proc.

strong_against + + + + +

+

Things in this list which take a lot more damage from the fly swatter, but not be necessarily killed by it.

+ + + diff --git a/obj/item/melee/powerfist.html b/obj/item/melee/powerfist.html new file mode 100644 index 00000000000..5d245e0bd8a --- /dev/null +++ b/obj/item/melee/powerfist.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/melee/powerfist - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

powerfist + + + +

+ + + + + +

Vars

click_delayDelay between attacks
fist_pressure_settingPressure level on the fist
gas_per_fistAmount of moles per punch
tankTank used for the gauntlet's piston-ram.
+

Var Details

click_delay + + + + +

+

Delay between attacks

fist_pressure_setting + + + + +

+

Pressure level on the fist

gas_per_fist + + + + +

+

Amount of moles per punch

tank + + + + +

+

Tank used for the gauntlet's piston-ram.

+ + + diff --git a/obj/item/melee/roastingstick.html b/obj/item/melee/roastingstick.html new file mode 100644 index 00000000000..0769393f7b1 --- /dev/null +++ b/obj/item/melee/roastingstick.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/melee/roastingstick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

roastingstick + + + +

+ + + + +

Vars

beamThe beam that links to the oven we use
held_sausageThe sausage attatched to our stick.
ovensStatic list of things our roasting stick can interact with.
+

Var Details

beam + + + + +

+

The beam that links to the oven we use

held_sausage + + + + +

+

The sausage attatched to our stick.

ovens + + + + +

+

Static list of things our roasting stick can interact with.

+ + + diff --git a/obj/item/melee/rune_carver.html b/obj/item/melee/rune_carver.html new file mode 100644 index 00000000000..bc242d06cd5 --- /dev/null +++ b/obj/item/melee/rune_carver.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/melee/rune_carver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rune_carver + + + +

+ + + + + +

Vars

blacklisted_turfsTurfs that you cannot draw carvings on
current_runesA list of weakrefs to all of ourc urrent runes
drawingWhether we're currently drawing a rune
max_rune_amtMax amount of runes that can be drawn
+

Var Details

blacklisted_turfs + + + + +

+

Turfs that you cannot draw carvings on

current_runes + + + + +

+

A list of weakrefs to all of ourc urrent runes

drawing + + + + +

+

Whether we're currently drawing a rune

max_rune_amt + + + + +

+

Max amount of runes that can be drawn

+ + + diff --git a/obj/item/melee/sabre.html b/obj/item/melee/sabre.html new file mode 100644 index 00000000000..f97b8a0e68d --- /dev/null +++ b/obj/item/melee/sabre.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/melee/sabre - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sabre + + + +

+ + + +

Procs

attempt_baneIf the target reeks of maintenance, the blade can tear through their body with a total of 20 damage.
bane_effectsAssistants should fear this weapon.

Proc Details

attempt_bane +

+

If the target reeks of maintenance, the blade can tear through their body with a total of 20 damage.

bane_effects +

+

Assistants should fear this weapon.

+ + + diff --git a/obj/item/melee/skateboard.html b/obj/item/melee/skateboard.html new file mode 100644 index 00000000000..d89f32bd1e3 --- /dev/null +++ b/obj/item/melee/skateboard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/melee/skateboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

skateboard + + + +

+ + +

Vars

board_item_typeThe vehicle counterpart for the board
+

Var Details

board_item_type + + + + +

+

The vehicle counterpart for the board

+ + + diff --git a/obj/item/melee/touch_attack.html b/obj/item/melee/touch_attack.html new file mode 100644 index 00000000000..f34bac4152b --- /dev/null +++ b/obj/item/melee/touch_attack.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/melee/touch_attack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

touch_attack + + + +

+ +Touch attack item +

Used for touch spells to have something physical to slap people with.

+

Try to avoid adding behavior onto these for your touch spells! +The spells themselves should handle most, if not all, of the casted effects.

+

These should generally just be dummy objects - holds name and icon stuff.

+ +

Vars

spell_which_made_usA weakref to what spell made us.

Procs

remove_hand_with_no_refundWhen the hand component of a touch spell is qdel'd, (the hand is dropped or otherwise lost), +the cooldown on the spell that made it is automatically refunded.
+

Var Details

spell_which_made_us + + + + +

+

A weakref to what spell made us.

Proc Details

remove_hand_with_no_refund +

+

When the hand component of a touch spell is qdel'd, (the hand is dropped or otherwise lost), +the cooldown on the spell that made it is automatically refunded.

+

However, if you want to consume the hand and not give a cooldown, +such as adding a unique behavior to the hand specifically, this function will do that.

+ + + diff --git a/obj/item/mending_globule.html b/obj/item/mending_globule.html new file mode 100644 index 00000000000..9cf98860060 --- /dev/null +++ b/obj/item/mending_globule.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/mending_globule - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mending_globule + + + +

+ +

This item is what is embedded into the mob, and actually handles healing of mending globules

+

Procs

processHandles the healing of the mending globule

Proc Details

process +

+

Handles the healing of the mending globule

+ + + diff --git a/obj/item/minespawner.html b/obj/item/minespawner.html new file mode 100644 index 00000000000..f70bb1013a3 --- /dev/null +++ b/obj/item/minespawner.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/minespawner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

minespawner + + + +

+ + +

Procs

deploy_mineDeploys the mine and deletes itself

Proc Details

deploy_mine +

+

Deploys the mine and deletes itself

+ + + diff --git a/obj/item/mmi.html b/obj/item/mmi.html new file mode 100644 index 00000000000..040c6926851 --- /dev/null +++ b/obj/item/mmi.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/mmi - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mmi + + + +

+ + + + +

Procs

force_brain_intoForces target brain into the MMI. Mainly intended for admin purposes, as this allows transfer without a mob or user.
set_brainmobProc to hook behavior associated to the change in value of the [/obj/item/mmi/var/brainmob] variable.
set_mechaProc to hook behavior associated to the change in value of the [obj/vehicle/sealed/var/mecha] variable.

Proc Details

force_brain_into +

+

Forces target brain into the MMI. Mainly intended for admin purposes, as this allows transfer without a mob or user.

+

Returns FALSE on failure, TRUE on success.

+

Arguments:

+
    +
  • new_brain - Brain to be force-inserted into the MMI. Any calling code should handle proper removal of the brain from the mob, as this proc only forceMoves.
  • +

set_brainmob +

+

Proc to hook behavior associated to the change in value of the [/obj/item/mmi/var/brainmob] variable.

set_mecha +

+

Proc to hook behavior associated to the change in value of the [obj/vehicle/sealed/var/mecha] variable.

+ + + diff --git a/obj/item/mmi/posibrain.html b/obj/item/mmi/posibrain.html new file mode 100644 index 00000000000..0b69b6ddb8d --- /dev/null +++ b/obj/item/mmi/posibrain.html @@ -0,0 +1,155 @@ + + + + + + + /obj/item/mmi/posibrain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

posibrain + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

ask_delayDelay after polling ghosts
ask_roleCan be set to tell ghosts what the brain will be used for
begin_activation_messageMessage sent to the user when polling ghosts
ckeys_enteredList of all ckeys who has already entered this posibrain once before.
dead_messageExamine message when the posibrain has no mob
fail_messageMessage sent as a visible message on failure
new_mob_messageVisible message sent when a player possesses the brain
next_askWorld time tick when ghost polling will be available again
picked_namePicked posibrain name
posibrain_job_pathRole assigned to the newly created mind
possible_namesOne of these names is randomly picked as the posibrain's name on possession. If left blank, it will use the global posibrain names
recharge_messageExamine message when the posibrain cannot poll ghosts due to cooldown
searchingWhether this positronic brain is currently looking for a ghost to enter it.
success_messageMessage sent as a visible message on success

Procs

activateTwo ways to activate a positronic brain. A clickable link in the ghost notif, or simply clicking the object itself.
attack_ghostATTACK GHOST IGNORING PARENT RETURN VALUE
ping_ghostsNotify ghosts that the posibrain is up for grabs
transfer_personalityMoves the candidate from the ghost to the posibrain
+

Var Details

ask_delay + + + + +

+

Delay after polling ghosts

ask_role + + + + +

+

Can be set to tell ghosts what the brain will be used for

begin_activation_message + + + + +

+

Message sent to the user when polling ghosts

ckeys_entered + + + + +

+

List of all ckeys who has already entered this posibrain once before.

dead_message + + + + +

+

Examine message when the posibrain has no mob

fail_message + + + + +

+

Message sent as a visible message on failure

new_mob_message + + + + +

+

Visible message sent when a player possesses the brain

next_ask + + + + +

+

World time tick when ghost polling will be available again

picked_name + + + + +

+

Picked posibrain name

posibrain_job_path + + + + +

+

Role assigned to the newly created mind

possible_names + + + + +

+

One of these names is randomly picked as the posibrain's name on possession. If left blank, it will use the global posibrain names

recharge_message + + + + +

+

Examine message when the posibrain cannot poll ghosts due to cooldown

searching + + + + +

+

Whether this positronic brain is currently looking for a ghost to enter it.

success_message + + + + +

+

Message sent as a visible message on success

Proc Details

activate +

+

Two ways to activate a positronic brain. A clickable link in the ghost notif, or simply clicking the object itself.

attack_ghost +

+

ATTACK GHOST IGNORING PARENT RETURN VALUE

ping_ghosts +

+

Notify ghosts that the posibrain is up for grabs

transfer_personality +

+

Moves the candidate from the ghost to the posibrain

+ + + diff --git a/obj/item/mod/control.html b/obj/item/mod/control.html new file mode 100644 index 00000000000..8b46298e65d --- /dev/null +++ b/obj/item/mod/control.html @@ -0,0 +1,365 @@ + + + + + + + /obj/item/mod/control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

control + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activatingIf the suit is currently activating/deactivating.
activation_step_timeHow long this MOD takes each part to seal.
activeIf the suit is deployed and turned on.
ai_assistantAI or pAI mob inhabiting the MOD.
bootsMOD boots.
charge_drainPower usage of the MOD.
chestplateMOD chestplate.
complexityHow much module complexity this MOD is carrying.
complexity_maxHow much module complexity can this MOD carry.
cooldown_mod_moveCooldown for AI moves.
coreMOD core.
extended_descExtended description of the theme.
gauntletsMOD gauntlets.
helmetMOD helmet.
interface_breakIf the suit interface is broken.
lockedIf the suit is ID locked.
malfunctioningIf the suit is malfunctioning.
mod_linkThe MODlink datum, letting us call people from the suit.
mod_partsAssociated list of parts (helmet, chestplate, gauntlets, boots) to their unsealed worn layer.
modulesModules the MOD currently possesses.
movedelayDelay between moves as AI.
openIf the suit wire/module hatch is open.
overslotting_partsAssociated list of parts that can overslot to their overslot (overslot means the part can cover another layer of clothing).
seconds_electrifiedHow long the MOD is electrified for.
selected_moduleCurrently used module.
skinLooks of the MOD.
slowdown_activeSlowdown of the MOD when active.
slowdown_inactiveSlowdown of the MOD when not active.
starting_frequencyThe starting MODlink frequency, overridden on subtypes that want it to be something.
themeThe MOD's theme, decides on some stuff like armor and statistics.
ui_themeTheme of the MOD TGUI
wearerPerson wearing the MODsuit.

Procs

ai_enter_modPlace an AI in control of your suit functions
ai_exit_modRemove an AI's control of your suit functions
choose_deployCreates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.
deployDeploys a part of the suit onto the user.
disable_modlinkDisables the mod link frequency attached to this unit.
finish_activationFinishes the suit's activation
get_wearerIntended for callbacks, don't use normally, just get wearer by itself.
insert_paiPlace a pAI in control of your suit functions
on_gained_assistantCalled when a new ai assistant is inserted
on_removed_assistantCalled when an existing ai assistant is removed
quick_activationQuickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.
quick_deployQuickly deploys all parts (or retracts if all are on the wearer)
remove_paiRemoves pAI control from a modsuit
retractRetract a part of the suit from the user.
seal_partSeals or unseals the given part
toggle_activateStarts the activation sequence, where parts of the suit activate one by one until the whole suit is on
+

Var Details

activating + + + + +

+

If the suit is currently activating/deactivating.

activation_step_time + + + + +

+

How long this MOD takes each part to seal.

active + + + + +

+

If the suit is deployed and turned on.

ai_assistant + + + + +

+

AI or pAI mob inhabiting the MOD.

boots + + + + +

+

MOD boots.

charge_drain + + + + +

+

Power usage of the MOD.

chestplate + + + + +

+

MOD chestplate.

complexity + + + + +

+

How much module complexity this MOD is carrying.

complexity_max + + + + +

+

How much module complexity can this MOD carry.

cooldown_mod_move + + + + +

+

Cooldown for AI moves.

core + + + + +

+

MOD core.

extended_desc + + + + +

+

Extended description of the theme.

gauntlets + + + + +

+

MOD gauntlets.

helmet + + + + +

+

MOD helmet.

interface_break + + + + +

+

If the suit interface is broken.

locked + + + + +

+

If the suit is ID locked.

malfunctioning + + + + +

+

If the suit is malfunctioning.

+

The MODlink datum, letting us call people from the suit.

mod_parts + + + + +

+

Associated list of parts (helmet, chestplate, gauntlets, boots) to their unsealed worn layer.

modules + + + + +

+

Modules the MOD currently possesses.

movedelay + + + + +

+

Delay between moves as AI.

open + + + + +

+

If the suit wire/module hatch is open.

overslotting_parts + + + + +

+

Associated list of parts that can overslot to their overslot (overslot means the part can cover another layer of clothing).

seconds_electrified + + + + +

+

How long the MOD is electrified for.

selected_module + + + + +

+

Currently used module.

skin + + + + +

+

Looks of the MOD.

slowdown_active + + + + +

+

Slowdown of the MOD when active.

slowdown_inactive + + + + +

+

Slowdown of the MOD when not active.

starting_frequency + + + + +

+

The starting MODlink frequency, overridden on subtypes that want it to be something.

theme + + + + +

+

The MOD's theme, decides on some stuff like armor and statistics.

ui_theme + + + + +

+

Theme of the MOD TGUI

wearer + + + + +

+

Person wearing the MODsuit.

Proc Details

ai_enter_mod +

+

Place an AI in control of your suit functions

ai_exit_mod +

+

Remove an AI's control of your suit functions

choose_deploy +

+

Creates a radial menu from which the user chooses parts of the suit to deploy/retract. Repeats until all parts are extended or retracted.

deploy +

+

Deploys a part of the suit onto the user.

+

Disables the mod link frequency attached to this unit.

finish_activation +

+

Finishes the suit's activation

get_wearer +

+

Intended for callbacks, don't use normally, just get wearer by itself.

insert_pai +

+

Place a pAI in control of your suit functions

on_gained_assistant +

+

Called when a new ai assistant is inserted

on_removed_assistant +

+

Called when an existing ai assistant is removed

quick_activation +

+

Quickly deploys all the suit parts and if successful, seals them and turns on the suit. Intended mostly for outfits.

quick_deploy +

+

Quickly deploys all parts (or retracts if all are on the wearer)

remove_pai +

+

Removes pAI control from a modsuit

retract +

+

Retract a part of the suit from the user.

seal_part +

+

Seals or unseals the given part

toggle_activate +

+

Starts the activation sequence, where parts of the suit activate one by one until the whole suit is on

+ + + diff --git a/obj/item/mod/control/pre_equipped.html b/obj/item/mod/control/pre_equipped.html new file mode 100644 index 00000000000..0ab07bc870c --- /dev/null +++ b/obj/item/mod/control/pre_equipped.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/mod/control/pre_equipped - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pre_equipped + + + +

+ + + + + + +

Vars

applied_cellThe cell we apply to the core. Only applies to standard core suits.
applied_coreThe MOD core we apply to the suit.
applied_modulesList of modules we spawn with.
applied_skinThe skin we apply to the suit, defaults to the default_skin of the theme.
default_pinsModules that we pin when the suit is installed for the first time, for convenience, can be applied or theme inbuilt modules.
+

Var Details

applied_cell + + + + +

+

The cell we apply to the core. Only applies to standard core suits.

applied_core + + + + +

+

The MOD core we apply to the suit.

applied_modules + + + + +

+

List of modules we spawn with.

applied_skin + + + + +

+

The skin we apply to the suit, defaults to the default_skin of the theme.

default_pins + + + + +

+

Modules that we pin when the suit is installed for the first time, for convenience, can be applied or theme inbuilt modules.

+ + + diff --git a/obj/item/mod/control/pre_equipped/responsory.html b/obj/item/mod/control/pre_equipped/responsory.html new file mode 100644 index 00000000000..f3334c8925b --- /dev/null +++ b/obj/item/mod/control/pre_equipped/responsory.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/control/pre_equipped/responsory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

responsory + + + +

+ + + +

Vars

additional_moduleAdditional module we add, as a treat.
insignia_typeThe insignia type, insignias show what sort of member of the ERT you're dealing with.
+

Var Details

additional_module + + + + +

+

Additional module we add, as a treat.

insignia_type + + + + +

+

The insignia type, insignias show what sort of member of the ERT you're dealing with.

+ + + diff --git a/obj/item/mod/core.html b/obj/item/mod/core.html new file mode 100644 index 00000000000..991d0d98eea --- /dev/null +++ b/obj/item/mod/core.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

core + + + +

+ + +

Vars

modMOD unit we are powering.
+

Var Details

mod + + + + +

+

MOD unit we are powering.

+ + + diff --git a/obj/item/mod/core/ethereal.html b/obj/item/mod/core/ethereal.html new file mode 100644 index 00000000000..09f945f9296 --- /dev/null +++ b/obj/item/mod/core/ethereal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/core/ethereal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ethereal + + + +

+ + +

Vars

charge_modifierA modifier to all charge we use, ethereals don't need to spend as much energy as normal suits.
+

Var Details

charge_modifier + + + + +

+

A modifier to all charge we use, ethereals don't need to spend as much energy as normal suits.

+ + + diff --git a/obj/item/mod/core/plasma.html b/obj/item/mod/core/plasma.html new file mode 100644 index 00000000000..420a2b1712d --- /dev/null +++ b/obj/item/mod/core/plasma.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/core/plasma - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plasma + + + +

+ + + + +

Vars

chargeHow much charge we are currently storing.
charger_listAssociated list of charge sources and how much they charge, only stacks allowed.
maxchargeHow much charge we can store.
+

Var Details

charge + + + + +

+

How much charge we are currently storing.

charger_list + + + + +

+

Associated list of charge sources and how much they charge, only stacks allowed.

maxcharge + + + + +

+

How much charge we can store.

+ + + diff --git a/obj/item/mod/core/plasma/lavaland.html b/obj/item/mod/core/plasma/lavaland.html new file mode 100644 index 00000000000..84e109dd606 --- /dev/null +++ b/obj/item/mod/core/plasma/lavaland.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/core/plasma/lavaland - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lavaland + + + +

+ + + + + +

Vars

max_spawnsMax number of mobs it can spawn
mob_spawnerMob spawner for the core
particle_effectParticle holder for pollen particles
spawned_mob_typeThe mob to be spawned by the core
+

Var Details

max_spawns + + + + +

+

Max number of mobs it can spawn

mob_spawner + + + + +

+

Mob spawner for the core

particle_effect + + + + +

+

Particle holder for pollen particles

spawned_mob_type + + + + +

+

The mob to be spawned by the core

+ + + diff --git a/obj/item/mod/core/standard.html b/obj/item/mod/core/standard.html new file mode 100644 index 00000000000..554bf070a0a --- /dev/null +++ b/obj/item/mod/core/standard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/core/standard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

standard + + + +

+ + +

Vars

cellInstalled cell.
+

Var Details

cell + + + + +

+

Installed cell.

+ + + diff --git a/obj/item/mod/module.html b/obj/item/mod/module.html new file mode 100644 index 00000000000..3d62e875edb --- /dev/null +++ b/obj/item/mod/module.html @@ -0,0 +1,372 @@ + + + + + + + /obj/item/mod/module - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

module + + + +

+ +

MOD Module - A special device installed in a MODsuit allowing the suit to do new stuff.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs the module active
active_power_costPower use when active
allow_flagsflags that let the module ability be used in odd circumstances
complexityHow much space it takes up in the MOD
cooldown_timeCooldown after use
cooldown_timerTimer for the cooldown
deviceIf we're an active module, what item are we?
idle_power_costPower use when idle
incompatible_modulesWhat modules are we incompatible with?
modLinked MODsuit
module_typeIf it's passive, togglable, usable or active
overlay_icon_fileIcon file for the overlay.
overlay_state_activeOverlay given to the user when the module is active
overlay_state_inactiveOverlay given to the user when the module is inactive
overlay_state_useOverlay given to the user when the module is used, lasts until cooldown finishes
pinned_toList of REF()s mobs we are pinned to, linked with their action buttons
removableIf it can be removed
tgui_idID used by their TGUI
use_mod_colorsDoes the overlay use the control unit's colors?
use_power_costPower use when used, we call it manually
used_signalThe mouse button needed to use this module

Procs

add_module_overlayAdds the worn overlays to the suit.
add_ui_configurationGenerates an element of the get_configuration list with a display name, type and value
add_ui_dataAdds additional things to the MODsuit ui_data()
check_powerChecks if there is enough power in the suit
configure_editReceives configure edits from the TGUI and edits the vars
drain_powerDrains power from the suit charge
dropkeyOn drop key, concels a device item.
generate_worn_overlayGenerates an icon to be used for the suit's worn overlays
get_configurationCreates a list of configuring options for this module
on_activationCalled when the module is activated
on_active_processCalled on the MODsuit's process if it is an active module
on_deactivationCalled when the module is deactivated
on_device_deletionCalled when the device gets deleted on active modules
on_equipCalled when the MODsuit is equipped
on_exitCalled when the device moves to a different place on active modules
on_installCalled from MODsuit's install() proc, so when the module is installed.
on_processCalled on the MODsuit's process
on_selectCalled when the module is selected from the TGUI, radial or the action button
on_select_useCalled when an activated module without a device is used
on_special_clickCalled when an activated module without a device is active and the user alt/middle-clicks
on_suit_activationCalled when the MODsuit is activated
on_suit_deactivationCalled when the MODsuit is deactivated
on_unequipCalled when the MODsuit is unequipped
on_uninstallCalled from MODsuit's uninstall() proc, so when the module is uninstalled.
on_useCalled when the module is used
pinPins the module to the user's action buttons
start_cooldownApply a cooldown until this item can be used again
update_signalUpdates the signal used by active modules to be activated
+

Var Details

active + + + + +

+

Is the module active

active_power_cost + + + + +

+

Power use when active

allow_flags + + + + +

+

flags that let the module ability be used in odd circumstances

complexity + + + + +

+

How much space it takes up in the MOD

cooldown_time + + + + +

+

Cooldown after use

cooldown_timer + + + + +

+

Timer for the cooldown

device + + + + +

+

If we're an active module, what item are we?

idle_power_cost + + + + +

+

Power use when idle

incompatible_modules + + + + +

+

What modules are we incompatible with?

mod + + + + +

+

Linked MODsuit

module_type + + + + +

+

If it's passive, togglable, usable or active

overlay_icon_file + + + + +

+

Icon file for the overlay.

overlay_state_active + + + + +

+

Overlay given to the user when the module is active

overlay_state_inactive + + + + +

+

Overlay given to the user when the module is inactive

overlay_state_use + + + + +

+

Overlay given to the user when the module is used, lasts until cooldown finishes

pinned_to + + + + +

+

List of REF()s mobs we are pinned to, linked with their action buttons

removable + + + + +

+

If it can be removed

tgui_id + + + + +

+

ID used by their TGUI

use_mod_colors + + + + +

+

Does the overlay use the control unit's colors?

use_power_cost + + + + +

+

Power use when used, we call it manually

used_signal + + + + +

+

The mouse button needed to use this module

Proc Details

add_module_overlay +

+

Adds the worn overlays to the suit.

add_ui_configuration +

+

Generates an element of the get_configuration list with a display name, type and value

add_ui_data +

+

Adds additional things to the MODsuit ui_data()

check_power +

+

Checks if there is enough power in the suit

configure_edit +

+

Receives configure edits from the TGUI and edits the vars

drain_power +

+

Drains power from the suit charge

dropkey +

+

On drop key, concels a device item.

generate_worn_overlay +

+

Generates an icon to be used for the suit's worn overlays

get_configuration +

+

Creates a list of configuring options for this module

on_activation +

+

Called when the module is activated

on_active_process +

+

Called on the MODsuit's process if it is an active module

on_deactivation +

+

Called when the module is deactivated

on_device_deletion +

+

Called when the device gets deleted on active modules

on_equip +

+

Called when the MODsuit is equipped

on_exit +

+

Called when the device moves to a different place on active modules

on_install +

+

Called from MODsuit's install() proc, so when the module is installed.

on_process +

+

Called on the MODsuit's process

on_select +

+

Called when the module is selected from the TGUI, radial or the action button

on_select_use +

+

Called when an activated module without a device is used

on_special_click +

+

Called when an activated module without a device is active and the user alt/middle-clicks

on_suit_activation +

+

Called when the MODsuit is activated

on_suit_deactivation +

+

Called when the MODsuit is deactivated

on_unequip +

+

Called when the MODsuit is unequipped

on_uninstall +

+

Called from MODsuit's uninstall() proc, so when the module is uninstalled.

on_use +

+

Called when the module is used

pin +

+

Pins the module to the user's action buttons

start_cooldown +

+

Apply a cooldown until this item can be used again

update_signal +

+

Updates the signal used by active modules to be activated

+ + + diff --git a/obj/item/mod/module/active_sonar.html b/obj/item/mod/module/active_sonar.html new file mode 100644 index 00000000000..508c07544f1 --- /dev/null +++ b/obj/item/mod/module/active_sonar.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mod/module/active_sonar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

active_sonar + + + +

+ +

Active Sonar - Displays a hud circle on the turf of any living creatures in the given radius

+ + + + + + + + +

Vars

keyed_creaturesA keyed list of all creatures
radar_slicesHow many slices we make 360
scan_cooldownTime between us displaying radial scans
scan_cooldown_timeTime between us displaying radial scans
scanned_sliceThe current slice we're going to scan
sorted_creaturesA list of all creatures in range sorted by angle.

Procs

detect_living_creaturesDetects all living creatures within world.view, and returns the amount.
sort_all_creaturesSwaps all creatures when mod.wearer moves
sort_creature_angleSwaps around where a creature is, when they move or when they're first detected
+

Var Details

keyed_creatures + + + + +

+

A keyed list of all creatures

radar_slices + + + + +

+

How many slices we make 360

scan_cooldown + + + + +

+

Time between us displaying radial scans

scan_cooldown_time + + + + +

+

Time between us displaying radial scans

scanned_slice + + + + +

+

The current slice we're going to scan

sorted_creatures + + + + +

+

A list of all creatures in range sorted by angle.

Proc Details

detect_living_creatures +

+

Detects all living creatures within world.view, and returns the amount.

sort_all_creatures +

+

Swaps all creatures when mod.wearer moves

sort_creature_angle +

+

Swaps around where a creature is, when they move or when they're first detected

+ + + diff --git a/obj/item/mod/module/adrenaline_boost.html b/obj/item/mod/module/adrenaline_boost.html new file mode 100644 index 00000000000..b928bf45e36 --- /dev/null +++ b/obj/item/mod/module/adrenaline_boost.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/adrenaline_boost - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

adrenaline_boost + + + +

+ +

Adrenaline Boost - Stops all stuns the ninja is affected with, increases his speed.

+ +

Vars

reagent_requiredWhat reagent we need to refill?
reagent_required_amountHow much of a reagent we need to refill the boost.
+

Var Details

reagent_required + + + + +

+

What reagent we need to refill?

reagent_required_amount + + + + +

+

How much of a reagent we need to refill the boost.

+ + + diff --git a/obj/item/mod/module/anomaly_locked.html b/obj/item/mod/module/anomaly_locked.html new file mode 100644 index 00000000000..d69e2ccb23d --- /dev/null +++ b/obj/item/mod/module/anomaly_locked.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/anomaly_locked - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

anomaly_locked + + + +

+ +

Anomaly Locked - Causes the module to not function without an anomaly.

+ + + +

Vars

accepted_anomaliesAccepted types of anomaly cores.
coreThe core item the module runs off.
core_removableIf the core is removable once socketed.
prebuiltIf this one starts with a core in.
+

Var Details

accepted_anomalies + + + + +

+

Accepted types of anomaly cores.

core + + + + +

+

The core item the module runs off.

core_removable + + + + +

+

If the core is removable once socketed.

prebuilt + + + + +

+

If this one starts with a core in.

+ + + diff --git a/obj/item/mod/module/anomaly_locked/kinesis.html b/obj/item/mod/module/anomaly_locked/kinesis.html new file mode 100644 index 00000000000..ca6918846fc --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/kinesis.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/kinesis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

kinesis + + + +

+ +

Kinesis - Gives you the ability to move and launch objects.

+ + + + + + + + +

Vars

grab_rangeRange of the knesis grab.
grabbed_atomAtom we grabbed with kinesis.
hit_cooldownThe cooldown between us hitting objects with kinesis.
hit_cooldown_timeTime between us hitting objects with kinesis.
kinesis_beamRef of the beam following the grabbed atom.
kinesis_catcherOur mouse movement catcher.
kinesis_iconOverlay we add to each grabbed atom.
soundloopThe sounds playing while we grabbed an object.
stat_requiredStat required for us to grab a mob.
+

Var Details

grab_range + + + + +

+

Range of the knesis grab.

grabbed_atom + + + + +

+

Atom we grabbed with kinesis.

hit_cooldown + + + + +

+

The cooldown between us hitting objects with kinesis.

hit_cooldown_time + + + + +

+

Time between us hitting objects with kinesis.

kinesis_beam + + + + +

+

Ref of the beam following the grabbed atom.

kinesis_catcher + + + + +

+

Our mouse movement catcher.

kinesis_icon + + + + +

+

Overlay we add to each grabbed atom.

soundloop + + + + +

+

The sounds playing while we grabbed an object.

stat_required + + + + +

+

Stat required for us to grab a mob.

+ + + diff --git a/obj/item/mod/module/anomaly_locked/kinesis/admin.html b/obj/item/mod/module/anomaly_locked/kinesis/admin.html new file mode 100644 index 00000000000..34a90aa3426 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/kinesis/admin.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/kinesis/admin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

admin + + + +

+ +

Admin suit version of kinesis. Can grab anything at any range, may enable phasing through walls.

+

Vars

phasingDoes our object phase through stuff?
+

Var Details

phasing + + + + +

+

Does our object phase through stuff?

+ + + diff --git a/obj/item/mod/module/anomaly_locked/teleporter.html b/obj/item/mod/module/anomaly_locked/teleporter.html new file mode 100644 index 00000000000..9f337794a09 --- /dev/null +++ b/obj/item/mod/module/anomaly_locked/teleporter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/anomaly_locked/teleporter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

teleporter + + + +

+ +

Teleporter - Lets the user teleport to a nearby location.

+

Vars

teleport_timeTime it takes to teleport
+

Var Details

teleport_time + + + + +

+

Time it takes to teleport

+ + + diff --git a/obj/item/mod/module/armor_booster.html b/obj/item/mod/module/armor_booster.html new file mode 100644 index 00000000000..6012e2c3d68 --- /dev/null +++ b/obj/item/mod/module/armor_booster.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/mod/module/armor_booster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

armor_booster + + + +

+ +

Armor Booster - Grants your suit more armor and speed in exchange for EVA protection. Also acts as a welding screen.

+ + + + +

Vars

actual_speed_addedSpeed that we actually added.
armor_modArmor values added to the suit parts.
remove_pressure_protectionWhether or not this module removes pressure protection.
spaceproofedList of parts of the suit that are spaceproofed, for giving them back the pressure protection.
speed_addedSpeed added to the control unit.
+

Var Details

actual_speed_added + + + + +

+

Speed that we actually added.

armor_mod + + + + +

+

Armor values added to the suit parts.

remove_pressure_protection + + + + +

+

Whether or not this module removes pressure protection.

spaceproofed + + + + +

+

List of parts of the suit that are spaceproofed, for giving them back the pressure protection.

speed_added + + + + +

+

Speed added to the control unit.

+ + + diff --git a/obj/item/mod/module/ash_accretion.html b/obj/item/mod/module/ash_accretion.html new file mode 100644 index 00000000000..bdfc0f4a4ad --- /dev/null +++ b/obj/item/mod/module/ash_accretion.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/mod/module/ash_accretion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ash_accretion + + + +

+ + + + + + + + +

Vars

accretion_turfsTurfs that let us accrete ash.
actual_speed_addedSpeed that we actually added.
armor_modArmor values per tile.
keep_turfsTurfs that let us keep ash.
max_traveled_tilesHow many tiles we can travel to max out the armor.
speed_addedSpeed added when you're fully covered in ash.
traveled_tilesHow many tiles we traveled through.
+

Var Details

accretion_turfs + + + + +

+

Turfs that let us accrete ash.

actual_speed_added + + + + +

+

Speed that we actually added.

armor_mod + + + + +

+

Armor values per tile.

keep_turfs + + + + +

+

Turfs that let us keep ash.

max_traveled_tiles + + + + +

+

How many tiles we can travel to max out the armor.

speed_added + + + + +

+

Speed added when you're fully covered in ash.

traveled_tiles + + + + +

+

How many tiles we traveled through.

+ + + diff --git a/obj/item/mod/module/atrocinator.html b/obj/item/mod/module/atrocinator.html new file mode 100644 index 00000000000..d2268d92e4c --- /dev/null +++ b/obj/item/mod/module/atrocinator.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/atrocinator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

atrocinator + + + +

+ +

Atrocinator - Flips your gravity.

+ +

Vars

step_countHow many steps the user has taken since turning the suit on, used for footsteps.
you_fucked_upIf you use the module on a planetary turf, you fly up. To the sky.
+

Var Details

step_count + + + + +

+

How many steps the user has taken since turning the suit on, used for footsteps.

you_fucked_up + + + + +

+

If you use the module on a planetary turf, you fly up. To the sky.

+ + + diff --git a/obj/item/mod/module/chameleon.html b/obj/item/mod/module/chameleon.html new file mode 100644 index 00000000000..d61231d689c --- /dev/null +++ b/obj/item/mod/module/chameleon.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/chameleon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chameleon + + + +

+ +

Chameleon - lets the suit disguise as any item that would fit on that slot.

+ +

Vars

current_disguiseThe path of the item we're disguised as.
possible_disguisesA list of all the items the suit can disguise as.
+

Var Details

current_disguise + + + + +

+

The path of the item we're disguised as.

possible_disguises + + + + +

+

A list of all the items the suit can disguise as.

+ + + diff --git a/obj/item/mod/module/circuit.html b/obj/item/mod/module/circuit.html new file mode 100644 index 00000000000..81d73f4ca56 --- /dev/null +++ b/obj/item/mod/module/circuit.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/circuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

circuit + + + +

+ + +

Vars

shellA reference to the shell component, used to access the shell and its attached circuit
+

Var Details

shell + + + + +

+

A reference to the shell component, used to access the shell and its attached circuit

+ + + diff --git a/obj/item/mod/module/clamp.html b/obj/item/mod/module/clamp.html new file mode 100644 index 00000000000..000c9987cd2 --- /dev/null +++ b/obj/item/mod/module/clamp.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/clamp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

clamp + + + +

+ +

Hydraulic Clamp - Lets you pick up and drop crates.

+ + +

Vars

load_timeTime it takes to load a crate.
max_cratesThe max amount of crates you can carry.
stored_cratesThe crates stored in the module.
+

Var Details

load_time + + + + +

+

Time it takes to load a crate.

max_crates + + + + +

+

The max amount of crates you can carry.

stored_crates + + + + +

+

The crates stored in the module.

+ + + diff --git a/obj/item/mod/module/criminalcapture.html b/obj/item/mod/module/criminalcapture.html new file mode 100644 index 00000000000..9c2ed63419c --- /dev/null +++ b/obj/item/mod/module/criminalcapture.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/criminalcapture - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

criminalcapture + + + +

+ +

Criminal Capture - Generates hardlight bags you can put people in and sinch.

+ + + +

Vars

bodybag_typeTypepath of our bodybag
capture_timeTime to capture a prisoner.
linked_bodybagOur linked bodybag.
packup_timeTime to dematerialize a bodybag.
+

Var Details

bodybag_type + + + + +

+

Typepath of our bodybag

capture_time + + + + +

+

Time to capture a prisoner.

linked_bodybag + + + + +

+

Our linked bodybag.

packup_time + + + + +

+

Time to dematerialize a bodybag.

+ + + diff --git a/obj/item/mod/module/dispenser.html b/obj/item/mod/module/dispenser.html new file mode 100644 index 00000000000..593e0273221 --- /dev/null +++ b/obj/item/mod/module/dispenser.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/dispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dispenser + + + +

+ +

Dispenser - Dispenses an item after a time passes.

+ +

Vars

dispense_timeTime it takes for us to dispense.
dispense_typePath we dispense.
+

Var Details

dispense_time + + + + +

+

Time it takes for us to dispense.

dispense_type + + + + +

+

Path we dispense.

+ + + diff --git a/obj/item/mod/module/dna_lock.html b/obj/item/mod/module/dna_lock.html new file mode 100644 index 00000000000..00fef83bc46 --- /dev/null +++ b/obj/item/mod/module/dna_lock.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/dna_lock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dna_lock + + + +

+ +

DNA Lock - Prevents people without the set DNA from activating the suit.

+

Vars

dnaThe DNA we lock with.
+

Var Details

dna + + + + +

+

The DNA we lock with.

+ + + diff --git a/obj/item/mod/module/energy_net.html b/obj/item/mod/module/energy_net.html new file mode 100644 index 00000000000..a9b939c5de0 --- /dev/null +++ b/obj/item/mod/module/energy_net.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/energy_net - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energy_net + + + +

+ +

Energy Net - Ensnares enemies in a net that prevents movement.

+

Vars

energy_netsList of all energy nets this module made.
+

Var Details

energy_nets + + + + +

+

List of all energy nets this module made.

+ + + diff --git a/obj/item/mod/module/energy_shield.html b/obj/item/mod/module/energy_shield.html new file mode 100644 index 00000000000..41a23fa1c77 --- /dev/null +++ b/obj/item/mod/module/energy_shield.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/mod/module/energy_shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energy_shield + + + +

+ +

Energy Shield - Gives you a rechargeable energy shield that nullifies attacks.

+ + + + + + + + +

Vars

charge_increment_delayHow much time it takes for charges to recover after they started recharging.
charge_recoveryHow much charge is recovered per recovery.
chargesCharges the shield should start with.
lose_multiple_chargesWhether or not this shield can lose multiple charges.
max_chargesMax charges of the shield.
recharge_pathThe item path to recharge this shielkd.
recharge_start_delayThe time it takes for the first charge to recover.
shield_iconThe icon_state of the shield.
shield_icon_fileThe icon file of the shield.
+

Var Details

charge_increment_delay + + + + +

+

How much time it takes for charges to recover after they started recharging.

charge_recovery + + + + +

+

How much charge is recovered per recovery.

charges + + + + +

+

Charges the shield should start with.

lose_multiple_charges + + + + +

+

Whether or not this shield can lose multiple charges.

max_charges + + + + +

+

Max charges of the shield.

recharge_path + + + + +

+

The item path to recharge this shielkd.

recharge_start_delay + + + + +

+

The time it takes for the first charge to recover.

shield_icon + + + + +

+

The icon_state of the shield.

shield_icon_file + + + + +

+

The icon file of the shield.

+ + + diff --git a/obj/item/mod/module/eradication_lock.html b/obj/item/mod/module/eradication_lock.html new file mode 100644 index 00000000000..55cce260b6c --- /dev/null +++ b/obj/item/mod/module/eradication_lock.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/eradication_lock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eradication_lock + + + +

+ +

Eradication lock - Prevents people who aren't the owner of the suit from existing on the timeline via eradicating the suit with the intruder inside

+ + +

Vars

true_owner_ckeyThe ckey we lock with, to allow all alternate versions of the user.

Procs

on_mod_activationSignal fired when the modsuit tries activating
on_mod_removalSignal fired when the modsuit tries removing a module.
+

Var Details

true_owner_ckey + + + + +

+

The ckey we lock with, to allow all alternate versions of the user.

Proc Details

on_mod_activation +

+

Signal fired when the modsuit tries activating

on_mod_removal +

+

Signal fired when the modsuit tries removing a module.

+ + + diff --git a/obj/item/mod/module/flashlight.html b/obj/item/mod/module/flashlight.html new file mode 100644 index 00000000000..65b29050263 --- /dev/null +++ b/obj/item/mod/module/flashlight.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/flashlight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flashlight + + + +

+ +

Flashlight - Gives the suit a customizable flashlight.

+ + +

Vars

base_powerCharge drain per range amount.
max_rangeMaximum range we can set.
min_rangeMinimum range we can set.
+

Var Details

base_power + + + + +

+

Charge drain per range amount.

max_range + + + + +

+

Maximum range we can set.

min_range + + + + +

+

Minimum range we can set.

+ + + diff --git a/obj/item/mod/module/hacker.html b/obj/item/mod/module/hacker.html new file mode 100644 index 00000000000..439d79bc0ca --- /dev/null +++ b/obj/item/mod/module/hacker.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/hacker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hacker + + + +

+ +

Hacker - This module hooks onto your right-clicks with empty hands and causes ninja actions.

+ + + +

Vars

communication_console_hack_successWhether or not the communication console hack was used to summon another antagonist.
door_hack_counterHow many times the module has been used to force open doors.
maxdrainMaximum amount of power we can drain in a single drain action
mindrainMinimum amount of power we can drain in a single drain action
+

Var Details

communication_console_hack_success + + + + +

+

Whether or not the communication console hack was used to summon another antagonist.

door_hack_counter + + + + +

+

How many times the module has been used to force open doors.

maxdrain + + + + +

+

Maximum amount of power we can drain in a single drain action

mindrain + + + + +

+

Minimum amount of power we can drain in a single drain action

+ + + diff --git a/obj/item/mod/module/hat_stabilizer.html b/obj/item/mod/module/hat_stabilizer.html new file mode 100644 index 00000000000..e629ccd0027 --- /dev/null +++ b/obj/item/mod/module/hat_stabilizer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/hat_stabilizer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hat_stabilizer + + + +

+ +

Hat Stabilizer - Allows displaying a hat over the MOD-helmet, à la plasmamen helmets.

+ +

Vars

attached_hatCurrently "stored" hat. No armor or function will be inherited, only the icon and cover flags.
former_flagsOriginal cover flags for the MOD helmet, before a hat is placed
+

Var Details

attached_hat + + + + +

+

Currently "stored" hat. No armor or function will be inherited, only the icon and cover flags.

former_flags + + + + +

+

Original cover flags for the MOD helmet, before a hat is placed

+ + + diff --git a/obj/item/mod/module/health_analyzer.html b/obj/item/mod/module/health_analyzer.html new file mode 100644 index 00000000000..23911626a88 --- /dev/null +++ b/obj/item/mod/module/health_analyzer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/health_analyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

health_analyzer + + + +

+ +

Health Analyzer - Gives the user a ranged health analyzer and their health status in the panel.

+ +

Vars

modeScanning mode, changes how we scan something.
modesList of all scanning modes.
+

Var Details

mode + + + + +

+

Scanning mode, changes how we scan something.

modes + + + + +

+

List of all scanning modes.

+ + + diff --git a/obj/item/mod/module/holster.html b/obj/item/mod/module/holster.html new file mode 100644 index 00000000000..f847eba259c --- /dev/null +++ b/obj/item/mod/module/holster.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/holster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

holster + + + +

+ +

Holster - Instantly holsters any not huge gun.

+

Vars

holsteredGun we have holstered.
+

Var Details

holstered + + + + +

+

Gun we have holstered.

+ + + diff --git a/obj/item/mod/module/hydraulic.html b/obj/item/mod/module/hydraulic.html new file mode 100644 index 00000000000..e2f588b8999 --- /dev/null +++ b/obj/item/mod/module/hydraulic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/hydraulic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hydraulic + + + +

+ + + +

Vars

launch_timeTime it takes to launch
lightningUser overlay
+

Var Details

launch_time + + + + +

+

Time it takes to launch

lightning + + + + +

+

User overlay

+ + + diff --git a/obj/item/mod/module/jetpack.html b/obj/item/mod/module/jetpack.html new file mode 100644 index 00000000000..4a07fd8107d --- /dev/null +++ b/obj/item/mod/module/jetpack.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/mod/module/jetpack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jetpack + + + +

+ +

Ion Jetpack - Lets the user fly freely through space using battery charge.

+ + + +

Vars

full_speedDo we give the wearer a speed buff.
stabilizeDo we have stabilizers? If yes the user won't move from inertia.
thrust_callbackCallback to see if we can thrust the user.

Procs

configure_jetpackconfigures/re-configures the jetpack component
+

Var Details

full_speed + + + + +

+

Do we give the wearer a speed buff.

stabilize + + + + +

+

Do we have stabilizers? If yes the user won't move from inertia.

thrust_callback + + + + +

+

Callback to see if we can thrust the user.

Proc Details

configure_jetpack +

+

configures/re-configures the jetpack component

+

Arguments +stabilize - Should this jetpack be stabalized

+ + + diff --git a/obj/item/mod/module/joint_torsion.html b/obj/item/mod/module/joint_torsion.html new file mode 100644 index 00000000000..fb0cc077df8 --- /dev/null +++ b/obj/item/mod/module/joint_torsion.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/mod/module/joint_torsion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

joint_torsion + + + +

+ +

A module that recharges the suit by an itsy tiny bit whenever the user takes a step. Originally called "magneto module" but the videogame reference sounds cooler.

+

Procs

on_suit_deactivationThis way we don't even bother to call on_moved() while flying/floating

Proc Details

on_suit_deactivation +

+

This way we don't even bother to call on_moved() while flying/floating

+ + + diff --git a/obj/item/mod/module/magboot.html b/obj/item/mod/module/magboot.html new file mode 100644 index 00000000000..6e16a18357b --- /dev/null +++ b/obj/item/mod/module/magboot.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/magboot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

magboot + + + +

+ +

Magnetic Stability - Gives the user a slowdown but makes them negate gravity and be immune to slips.

+ +

Vars

active_traitsA list of traits to add to the wearer when we're active (see: Magboots)
slowdown_activeSlowdown added onto the suit.
+

Var Details

active_traits + + + + +

+

A list of traits to add to the wearer when we're active (see: Magboots)

slowdown_active + + + + +

+

Slowdown added onto the suit.

+ + + diff --git a/obj/item/mod/module/magnetic_harness.html b/obj/item/mod/module/magnetic_harness.html new file mode 100644 index 00000000000..38b403c25a1 --- /dev/null +++ b/obj/item/mod/module/magnetic_harness.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/magnetic_harness - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

magnetic_harness + + + +

+ +

Magnetic Harness - Automatically puts guns in your suit storage when you drop them.

+ + +

Vars

already_allowed_gunsThe guns already allowed by the modsuit chestplate.
guns_typecacheThe typecache of all guns we allow.
magnet_delayTime before we activate the magnet.
+

Var Details

already_allowed_guns + + + + +

+

The guns already allowed by the modsuit chestplate.

guns_typecache + + + + +

+

The typecache of all guns we allow.

magnet_delay + + + + +

+

Time before we activate the magnet.

+ + + diff --git a/obj/item/mod/module/megaphone.html b/obj/item/mod/module/megaphone.html new file mode 100644 index 00000000000..ea2fe4baca1 --- /dev/null +++ b/obj/item/mod/module/megaphone.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/megaphone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

megaphone + + + +

+ +

Megaphone - Lets you speak loud.

+

Vars

voicespanList of spans we add to the speaker.
+

Var Details

voicespan + + + + +

+

List of spans we add to the speaker.

+ + + diff --git a/obj/item/mod/module/mister.html b/obj/item/mod/module/mister.html new file mode 100644 index 00000000000..e6b05464894 --- /dev/null +++ b/obj/item/mod/module/mister.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/mister - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mister + + + +

+ +

Mister - Sprays water over an area.

+

Vars

volumeVolume of our reagent holder.
+

Var Details

volume + + + + +

+

Volume of our reagent holder.

+ + + diff --git a/obj/item/mod/module/mouthhole.html b/obj/item/mod/module/mouthhole.html new file mode 100644 index 00000000000..5f937a8dee1 --- /dev/null +++ b/obj/item/mod/module/mouthhole.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/mouthhole - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mouthhole + + + +

+ +

Eating Apparatus - Lets the user eat/drink with the suit on.

+ +

Vars

former_flagsFormer flags of the helmet.
former_visor_flagsFormer visor flags of the helmet.
+

Var Details

former_flags + + + + +

+

Former flags of the helmet.

former_visor_flags + + + + +

+

Former visor flags of the helmet.

+ + + diff --git a/obj/item/mod/module/orebag.html b/obj/item/mod/module/orebag.html new file mode 100644 index 00000000000..56410207e50 --- /dev/null +++ b/obj/item/mod/module/orebag.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/orebag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

orebag + + + +

+ +

Ore Bag - Lets you pick up ores and drop them from the suit.

+

Vars

oresThe ores stored in the bag.
+

Var Details

ores + + + + +

+

The ores stored in the bag.

+ + + diff --git a/obj/item/mod/module/organ_thrower.html b/obj/item/mod/module/organ_thrower.html new file mode 100644 index 00000000000..cd323c03432 --- /dev/null +++ b/obj/item/mod/module/organ_thrower.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/organ_thrower - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

organ_thrower + + + +

+ +

Organ Thrower - Lets you shoot organs, immediately replacing them if the target has the organ manipulation surgery.

+ +

Vars

max_organsHow many organs the module can hold.
organ_listA list of all our organs.
+

Var Details

max_organs + + + + +

+

How many organs the module can hold.

organ_list + + + + +

+

A list of all our organs.

+ + + diff --git a/obj/item/mod/module/paper_dispenser.html b/obj/item/mod/module/paper_dispenser.html new file mode 100644 index 00000000000..61f004bef96 --- /dev/null +++ b/obj/item/mod/module/paper_dispenser.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/paper_dispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paper_dispenser + + + +

+ +

Paper Dispenser - Dispenses (sometimes burning) paper sheets.

+

Vars

num_sheets_dispensedThe total number of sheets created by this MOD. The more sheets, them more likely they set on fire.
+

Var Details

num_sheets_dispensed + + + + +

+

The total number of sheets created by this MOD. The more sheets, them more likely they set on fire.

+ + + diff --git a/obj/item/mod/module/pathfinder.html b/obj/item/mod/module/pathfinder.html new file mode 100644 index 00000000000..93697aae81e --- /dev/null +++ b/obj/item/mod/module/pathfinder.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/pathfinder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pathfinder + + + +

+ +

Pathfinder - Can fly the suit from a long distance to an implant installed in someone.

+

Vars

implantThe pathfinding implant.
+

Var Details

implant + + + + +

+

The pathfinding implant.

+ + + diff --git a/obj/item/mod/module/plate_compression.html b/obj/item/mod/module/plate_compression.html new file mode 100644 index 00000000000..d73403d186a --- /dev/null +++ b/obj/item/mod/module/plate_compression.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/plate_compression - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plate_compression + + + +

+ +

Plate Compression - Compresses the suit to normal size

+ +

Vars

new_sizeThe size we set the suit to.
old_sizeThe suit's size before the module is installed.
+

Var Details

new_size + + + + +

+

The size we set the suit to.

old_size + + + + +

+

The suit's size before the module is installed.

+ + + diff --git a/obj/item/mod/module/power_kick.html b/obj/item/mod/module/power_kick.html new file mode 100644 index 00000000000..1c8d6e7081f --- /dev/null +++ b/obj/item/mod/module/power_kick.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/power_kick - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

power_kick + + + +

+ +

Power kick - Lets the user launch themselves at someone to kick them.

+ + +

Vars

damageDamage on kick.
knockdown_timeHow long we knockdown for on the kick.
wounding_powerThe wound bonus of the kick.
+

Var Details

damage + + + + +

+

Damage on kick.

knockdown_time + + + + +

+

How long we knockdown for on the kick.

wounding_power + + + + +

+

The wound bonus of the kick.

+ + + diff --git a/obj/item/mod/module/projectile_dampener.html b/obj/item/mod/module/projectile_dampener.html new file mode 100644 index 00000000000..a2090616a18 --- /dev/null +++ b/obj/item/mod/module/projectile_dampener.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/mod/module/projectile_dampener - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

projectile_dampener + + + +

+ +

Projectile Dampener - Weakens projectiles in range.

+ + + + + +

Vars

damage_multiplierDamage multiplier on projectiles.
dampening_fieldThe dampening field
field_radiusRadius of the dampening field.
projectile_effectEffect image on projectiles.
speed_multiplierSpeed multiplier on projectiles, higher means slower.
tracked_projectilesList of all tracked projectiles.
+

Var Details

damage_multiplier + + + + +

+

Damage multiplier on projectiles.

dampening_field + + + + +

+

The dampening field

field_radius + + + + +

+

Radius of the dampening field.

projectile_effect + + + + +

+

Effect image on projectiles.

speed_multiplier + + + + +

+

Speed multiplier on projectiles, higher means slower.

tracked_projectiles + + + + +

+

List of all tracked projectiles.

+ + + diff --git a/obj/item/mod/module/rad_protection.html b/obj/item/mod/module/rad_protection.html new file mode 100644 index 00000000000..f17de505dc8 --- /dev/null +++ b/obj/item/mod/module/rad_protection.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/rad_protection - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rad_protection + + + +

+ +

Radiation Protection - Protects the user from radiation, gives them a geiger counter and rad info in the panel.

+

Vars

perceived_threat_levelRadiation threat level being perceived.
+

Var Details

perceived_threat_level + + + + +

+

Radiation threat level being perceived.

+ + + diff --git a/obj/item/mod/module/recycler.html b/obj/item/mod/module/recycler.html new file mode 100644 index 00000000000..ab6cb504145 --- /dev/null +++ b/obj/item/mod/module/recycler.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/recycler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

recycler + + + +

+ +

Module that shoves garbage inside its material container when the user crosses it, and eject the recycled material with MMB.

+ + +

Vars

accepted_matsMaterials that will be extracted.
allowed_item_typesItems that will be collected
efficiencyA multiplier of the amount of material extracted from the item
+

Var Details

accepted_mats + + + + +

+

Materials that will be extracted.

allowed_item_types + + + + +

+

Items that will be collected

efficiency + + + + +

+

A multiplier of the amount of material extracted from the item

+ + + diff --git a/obj/item/mod/module/recycler/donk.html b/obj/item/mod/module/recycler/donk.html new file mode 100644 index 00000000000..c979e29f644 --- /dev/null +++ b/obj/item/mod/module/recycler/donk.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/recycler/donk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

donk + + + +

+ +

A black market variant of the above that dispenses riot foam dart boxes

+ +

Vars

ammobox_typeThe type of ammo box that it dispenses
required_amountThe cost of each dispensed ammo box
+

Var Details

ammobox_type + + + + +

+

The type of ammo box that it dispenses

required_amount + + + + +

+

The cost of each dispensed ammo box

+ + + diff --git a/obj/item/mod/module/rewinder.html b/obj/item/mod/module/rewinder.html new file mode 100644 index 00000000000..6c43c05a663 --- /dev/null +++ b/obj/item/mod/module/rewinder.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/mod/module/rewinder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rewinder + + + +

+ +

Rewinder - Activating saves a point in time, after 10 seconds you will jump back to that state.

+ + +

Procs

on_activate_blockSignal fired when wearer attempts to activate/deactivate suits
on_module_triggeredSignal fired when wearer attempts to trigger modules, if attempting while time is stopped
unblock_suit_activationUnregisters the modsuit deactivation blocking signal, after dejavu functionality finishes.

Proc Details

on_activate_block +

+

Signal fired when wearer attempts to activate/deactivate suits

on_module_triggered +

+

Signal fired when wearer attempts to trigger modules, if attempting while time is stopped

unblock_suit_activation +

+

Unregisters the modsuit deactivation blocking signal, after dejavu functionality finishes.

+ + + diff --git a/obj/item/mod/module/shooting_assistant.html b/obj/item/mod/module/shooting_assistant.html new file mode 100644 index 00000000000..a30662c4c3a --- /dev/null +++ b/obj/item/mod/module/shooting_assistant.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/mod/module/shooting_assistant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shooting_assistant + + + +

+ +

A module that enhances the user's ability with firearms, with a couple drawbacks: +In 'Stormtrooper' mode, the user will be given faster firerate, but lower accuracy. +In 'Sharpshooter' mode, the user will have better accuracy and ricochet to his shots, but slower movement speed. +Both modes prevent the user from dual wielding guns.

+

Vars

available_modesAssociation list, the assoc values are the balloon alerts shown to the user when the mode is set.
+

Var Details

available_modes + + + + +

+

Association list, the assoc values are the balloon alerts shown to the user when the mode is set.

+ + + diff --git a/obj/item/mod/module/sphere_transform.html b/obj/item/mod/module/sphere_transform.html new file mode 100644 index 00000000000..f7e92cf49ea --- /dev/null +++ b/obj/item/mod/module/sphere_transform.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/sphere_transform - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sphere_transform + + + +

+ + + +

Vars

animate_timeTime it takes us to complete the animation.
user_traitsList of traits to add/remove from our subject as needed.
+

Var Details

animate_time + + + + +

+

Time it takes us to complete the animation.

user_traits + + + + +

+

List of traits to add/remove from our subject as needed.

+ + + diff --git a/obj/item/mod/module/springlock.html b/obj/item/mod/module/springlock.html new file mode 100644 index 00000000000..aaf4d6b18a6 --- /dev/null +++ b/obj/item/mod/module/springlock.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/mod/module/springlock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

springlock + + + +

+ +

Springlock Mechanism - allows your modsuit to activate faster, but reagents are very dangerous.

+ + +

Procs

on_activate_spring_blockSignal fired when wearer attempts to activate/deactivate suits
on_wearer_exposedSignal fired when wearer is exposed to reagents
snap_shutDelayed death proc of the suit after the wearer is exposed to reagents

Proc Details

on_activate_spring_block +

+

Signal fired when wearer attempts to activate/deactivate suits

on_wearer_exposed +

+

Signal fired when wearer is exposed to reagents

snap_shut +

+

Delayed death proc of the suit after the wearer is exposed to reagents

+ + + diff --git a/obj/item/mod/module/status_readout.html b/obj/item/mod/module/status_readout.html new file mode 100644 index 00000000000..0939098d78f --- /dev/null +++ b/obj/item/mod/module/status_readout.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/mod/module/status_readout - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

status_readout + + + +

+ +

Status Readout - Puts a lot of information including health, nutrition, fingerprints, temperature to the suit TGUI.

+ + + + +

Vars

death_soundDeath sound. May or may not be funny. Vareditable at your own risk.
death_sound_volumeDeath sound volume. Please be responsible with this.
display_detailed_vitalsDoes this show damage types, body temp, satiety
display_dnaDoes this show DNA data
display_timeDoes this show the round ID and shift time?
+

Var Details

death_sound + + + + +

+

Death sound. May or may not be funny. Vareditable at your own risk.

death_sound_volume + + + + +

+

Death sound volume. Please be responsible with this.

display_detailed_vitals + + + + +

+

Does this show damage types, body temp, satiety

display_dna + + + + +

+

Does this show DNA data

display_time + + + + +

+

Does this show the round ID and shift time?

+ + + diff --git a/obj/item/mod/module/stealth.html b/obj/item/mod/module/stealth.html new file mode 100644 index 00000000000..6ed309e3276 --- /dev/null +++ b/obj/item/mod/module/stealth.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/stealth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stealth + + + +

+ +

Cloaking - Lowers the user's visibility, can be interrupted by being touched or attacked.

+ +

Vars

bumpoffWhether or not the cloak turns off on bumping.
stealth_alphaThe alpha applied when the cloak is on.
+

Var Details

bumpoff + + + + +

+

Whether or not the cloak turns off on bumping.

stealth_alpha + + + + +

+

The alpha applied when the cloak is on.

+ + + diff --git a/obj/item/mod/module/storage.html b/obj/item/mod/module/storage.html new file mode 100644 index 00000000000..16688c2ed26 --- /dev/null +++ b/obj/item/mod/module/storage.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

storage + + + +

+ +

Storage - Adds a storage component to the suit.

+ + + +

Vars

big_nestingIs nesting same-size storage items allowed?
max_combined_w_classMax combined weight of all items in the storage.
max_itemsMax amount of items in the storage.
max_w_classMax weight class of items in the storage.
+

Var Details

big_nesting + + + + +

+

Is nesting same-size storage items allowed?

max_combined_w_class + + + + +

+

Max combined weight of all items in the storage.

max_items + + + + +

+

Max amount of items in the storage.

max_w_class + + + + +

+

Max weight class of items in the storage.

+ + + diff --git a/obj/item/mod/module/t_ray.html b/obj/item/mod/module/t_ray.html new file mode 100644 index 00000000000..74e80a60140 --- /dev/null +++ b/obj/item/mod/module/t_ray.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/t_ray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

t_ray + + + +

+ +

T-Ray Scan - Scans the terrain for undertile objects.

+

Vars

rangeT-ray scan range.
+

Var Details

range + + + + +

+

T-ray scan range.

+ + + diff --git a/obj/item/mod/module/tem.html b/obj/item/mod/module/tem.html new file mode 100644 index 00000000000..98f4e6950ba --- /dev/null +++ b/obj/item/mod/module/tem.html @@ -0,0 +1,80 @@ + + + + + + + /obj/item/mod/module/tem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tem + + + +

+ +

TEM - Lets you eradicate people.

+ + + + +

Vars

fieldReference to the chrono field being controlled by this module
startposWhere the chronofield maker was when the field went up

Procs

field_check
field_connect
field_disconnect
+

Var Details

field + + + + +

+

Reference to the chrono field being controlled by this module

startpos + + + + +

+

Where the chronofield maker was when the field went up

Proc Details

field_check +

+ field_check +

Checks to see if our field can still be linked to the tem. If it isn't, it will unlink the field.

+

Arguments:

+
    +
  • field: chronofield we're checking the connection's validity on.
  • +

field_connect +

+ field_connect +

Links a chrono field to this module. The chrono field will keep track of the eradication process. +Unlinks a chrono field if it is connected to a tem already.

+

Arguments:

+
    +
  • field: chronofield we are attempting to link to this module.
  • +

field_disconnect +

+ field_disconnect +

Unlinks a chrono field from this module.

+

Arguments:

+
    +
  • field: chronofield we are attempting to unlink from this module.
  • +
+ + + diff --git a/obj/item/mod/module/thermal_regulator.html b/obj/item/mod/module/thermal_regulator.html new file mode 100644 index 00000000000..a6301a0910f --- /dev/null +++ b/obj/item/mod/module/thermal_regulator.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/mod/module/thermal_regulator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

thermal_regulator + + + +

+ +

Thermal Regulator - Regulates the wearer's core temperature.

+ + +

Vars

max_tempMaximum temperature we can set.
min_tempMinimum temperature we can set.
temperature_settingThe temperature we are regulating to.
+

Var Details

max_temp + + + + +

+

Maximum temperature we can set.

min_temp + + + + +

+

Minimum temperature we can set.

temperature_setting + + + + +

+

The temperature we are regulating to.

+ + + diff --git a/obj/item/mod/module/thread_ripper.html b/obj/item/mod/module/thread_ripper.html new file mode 100644 index 00000000000..4d2810766b6 --- /dev/null +++ b/obj/item/mod/module/thread_ripper.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mod/module/thread_ripper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

thread_ripper + + + +

+ +

Thread Ripper - Temporarily rips apart clothing to make it not cover the body.

+

Vars

ripped_clothingAn associated list of ripped clothing and the body part covering slots they covered before
+

Var Details

ripped_clothing + + + + +

+

An associated list of ripped clothing and the body part covering slots they covered before

+ + + diff --git a/obj/item/mod/module/timeline_jumper.html b/obj/item/mod/module/timeline_jumper.html new file mode 100644 index 00000000000..df34c9ef1b6 --- /dev/null +++ b/obj/item/mod/module/timeline_jumper.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/timeline_jumper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

timeline_jumper + + + +

+ +

Timeline Jumper - Infinite phasing. needs some special effects

+ +

Vars

phased_mobThe dummy for phasing from this module, the wearer is phased out while this exists.

Procs

on_activate_blockSignal fired when wearer attempts to activate/deactivate suits while phased out
+

Var Details

phased_mob + + + + +

+

The dummy for phasing from this module, the wearer is phased out while this exists.

Proc Details

on_activate_block +

+

Signal fired when wearer attempts to activate/deactivate suits while phased out

+ + + diff --git a/obj/item/mod/module/timestopper.html b/obj/item/mod/module/timestopper.html new file mode 100644 index 00000000000..2d36a91ae3a --- /dev/null +++ b/obj/item/mod/module/timestopper.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/mod/module/timestopper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

timestopper + + + +

+ +

Timestopper - Need I really explain? It's the wizard's time stop, but the user channels it by not moving instead of a duration.

+ + + +

Vars

timestopThe current timestop in progress.

Procs

on_activate_blockSignal fired when wearer attempts to activate/deactivate suits, if attempting while time is stopped
on_module_triggeredSignal fired when wearer attempts to trigger modules, if attempting while time is stopped
unblock_suit_activationUnregisters the modsuit deactivation blocking signal, after timestop functionality finishes.
+

Var Details

timestop + + + + +

+

The current timestop in progress.

Proc Details

on_activate_block +

+

Signal fired when wearer attempts to activate/deactivate suits, if attempting while time is stopped

on_module_triggered +

+

Signal fired when wearer attempts to trigger modules, if attempting while time is stopped

unblock_suit_activation +

+

Unregisters the modsuit deactivation blocking signal, after timestop functionality finishes.

+ + + diff --git a/obj/item/mod/module/visor.html b/obj/item/mod/module/visor.html new file mode 100644 index 00000000000..ea8949d26b2 --- /dev/null +++ b/obj/item/mod/module/visor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/visor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

visor + + + +

+ +

Base Visor - Adds a specific HUD and traits to you.

+ +

Vars

hud_typeThe HUD type given by the visor.
visor_traitsThe traits given by the visor.
+

Var Details

hud_type + + + + +

+

The HUD type given by the visor.

visor_traits + + + + +

+

The traits given by the visor.

+ + + diff --git a/obj/item/mod/module/visor/rave.html b/obj/item/mod/module/visor/rave.html new file mode 100644 index 00000000000..17f63916b7d --- /dev/null +++ b/obj/item/mod/module/visor/rave.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/mod/module/visor/rave - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rave + + + +

+ +

Rave Visor - Gives you a rainbow visor and plays jukebox music to you.

+ + + + +

Vars

rainbow_orderA list of the colors the module can take.
rave_numberThe current element in the rainbow_order list we are on.
rave_screenThe client colors applied to the wearer.
selectionThe track we selected to play.
songsA list of all the songs we can play.
+

Var Details

rainbow_order + + + + +

+

A list of the colors the module can take.

rave_number + + + + +

+

The current element in the rainbow_order list we are on.

rave_screen + + + + +

+

The client colors applied to the wearer.

selection + + + + +

+

The track we selected to play.

songs + + + + +

+

A list of all the songs we can play.

+ + + diff --git a/obj/item/mod/module/weapon_recall.html b/obj/item/mod/module/weapon_recall.html new file mode 100644 index 00000000000..c9cc5ab10c3 --- /dev/null +++ b/obj/item/mod/module/weapon_recall.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/mod/module/weapon_recall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

weapon_recall + + + +

+ +

Weapon Recall - Teleports your katana to you, prevents gun use.

+ +

Vars

accepted_typeThe accepted typepath we can link to.
linked_weaponThe item linked to the module that will get recalled.
+

Var Details

accepted_type + + + + +

+

The accepted typepath we can link to.

linked_weapon + + + + +

+

The item linked to the module that will get recalled.

+ + + diff --git a/obj/item/modular_computer.html b/obj/item/modular_computer.html new file mode 100644 index 00000000000..2474b91424b --- /dev/null +++ b/obj/item/modular_computer.html @@ -0,0 +1,485 @@ + + + + + + + /obj/item/modular_computer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computer + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_programThe program currently active on the tablet.
allow_chunkyAllow people with chunky fingers to use?
base_active_power_usagePower usage when the computer is open (screen is active) and can be interacted with.
base_idle_power_usagePower usage when the computer is idle and screen is off.
comp_light_colorThe built-in light's color, editable by players.
comp_light_luminosityHow far the computer's light can reach, is not editable by players.
computer_id_slotThe ID currently stored in the computer.
crew_manifest_updateDoes the console update the crew manifest when the ID is removed?
default_programsStatic list of default programs that come with ALL computers, here so computers don't have to repeat this.
device_themeThe theme, used for the main menu and file browser apps.
disabled_timeIf the computer's flashlight/LED light has forcibly disabled for a temporary amount of time.
enabledBool on whether the computer is currently active or not.
hardware_flagFlag of the type of device the modular computer is, deciding what types of apps it can run.
has_lightIf the computer has a flashlight/LED light built-in.
honkvirus_amountIf hit by a Clown virus, remaining honks left until it stops.
icon_state_menuIcon state overlay when the computer is turned on, but no program is loaded (programs override this).
icon_state_poweredIf set, what the icon_state will be if the computer is powered.
icon_state_unpoweredIf set, what the icon_state will be if the computer is unpowered.
idle_threadsIdle programs on background. They still receive process calls but can't be interacted with.
inserted_diskThe disk in this PDA. If set, this will be inserted on Initialize.
inserted_paiA pAI currently loaded into the modular computer.
internal_cellThe power cell the computer uses to run on.
long_rangedWhether the PDA can still use NTNet while out of NTNet's reach.
looping_soundWhether or not this modular computer uses the looping sound
max_capacityThe amount of storage space the computer starts with.
max_idle_programsAmount of programs that can be ran at once
max_paperThe max amount of paper that can be held at once.
physicalThe 'computer' itself, as an obj. Primarily used for Adjacent() and UI visibility checks, especially for computers.
saved_identificationThe full name of the stored ID card's identity. These vars should probably be on the PDA.
saved_jobThe job title of the stored ID card
screen_onIf the screen is open, only used by laptops.
soundloopLooping sound for when the computer is on.
starting_programsNon-static list of programs the computer should receive on Initialize.
steel_sheet_costAmount of steel sheets refunded when disassembling an empty frame of this computer.
stored_filesList of stored files on this drive. Use store_file and remove_file instead of modifying directly!
stored_paperThe amount of paper currently stored in the PDA
used_capacityThe amount of storage space we've got filled

Procs

InsertIDInsertID +Attempt to insert the ID in either card slot. +Args: +inserting_id - the ID being inserted +user - The person inserting the ID
RemoveIDRemoves the ID card from the computer, and puts it in loc's hand if it's a mob +Args: +user - The mob trying to remove the ID, if there is one
alert_callDisplays notification text alongside a soundbeep when requested to by a program.
can_store_filecan_store_file
check_power_overrideReturns TRUE if the PC should not be using any power, FALSE otherwise. +Checks to see if the current app allows to be ran without power, if so we'll run with it.
find_file_by_namefind_file_by_name
find_file_by_uidfind_file_by_uid
get_messenger_endingReturns a string of what to send at the end of messenger's messages.
handle_powerTakes the charge necessary from the Computer, shutting it off if it's unable to provide it. +Charge depends on whether the PC is on, and what programs are running/idle on it.
imprint_idImprints name and job into the modular computer, and calls back to necessary functions. +Acts as a replacement to directly setting the imprints fields. All fields are optional, the proc will try to fill in missing gaps.
on_saboteurDisables the computer's flashlight/LED light, if it has one, for a given disrupt_duration.
play_pingPlays a ping sound.
power_failureShuts down the computer from powerloss.
remove_fileremove_file
reset_imprintResets the imprinted name and job back to null.
set_flashlight_colorSets the computer's light color, if it has a light.
store_filestore_file
toggle_flashlightToggles the computer's flashlight, if it has one.
update_tablet_open_uisupdate_tablet_open_uis
use_powerDraws power from its rightful source (area if its a computer, the cell otherwise) +Takes into account special cases, like silicon PDAs through override, and nopower apps.
+

Var Details

active_program + + + + +

+

The program currently active on the tablet.

allow_chunky + + + + +

+

Allow people with chunky fingers to use?

base_active_power_usage + + + + +

+

Power usage when the computer is open (screen is active) and can be interacted with.

base_idle_power_usage + + + + +

+

Power usage when the computer is idle and screen is off.

comp_light_color + + + + +

+

The built-in light's color, editable by players.

comp_light_luminosity + + + + +

+

How far the computer's light can reach, is not editable by players.

computer_id_slot + + + + +

+

The ID currently stored in the computer.

crew_manifest_update + + + + +

+

Does the console update the crew manifest when the ID is removed?

default_programs + + + + +

+

Static list of default programs that come with ALL computers, here so computers don't have to repeat this.

device_theme + + + + +

+

The theme, used for the main menu and file browser apps.

disabled_time + + + + +

+

If the computer's flashlight/LED light has forcibly disabled for a temporary amount of time.

enabled + + + + +

+

Bool on whether the computer is currently active or not.

hardware_flag + + + + +

+

Flag of the type of device the modular computer is, deciding what types of apps it can run.

has_light + + + + +

+

If the computer has a flashlight/LED light built-in.

honkvirus_amount + + + + +

+

If hit by a Clown virus, remaining honks left until it stops.

icon_state_menu + + + + +

+

Icon state overlay when the computer is turned on, but no program is loaded (programs override this).

icon_state_powered + + + + +

+

If set, what the icon_state will be if the computer is powered.

icon_state_unpowered + + + + +

+

If set, what the icon_state will be if the computer is unpowered.

idle_threads + + + + +

+

Idle programs on background. They still receive process calls but can't be interacted with.

inserted_disk + + + + +

+

The disk in this PDA. If set, this will be inserted on Initialize.

inserted_pai + + + + +

+

A pAI currently loaded into the modular computer.

internal_cell + + + + +

+

The power cell the computer uses to run on.

long_ranged + + + + +

+

Whether the PDA can still use NTNet while out of NTNet's reach.

looping_sound + + + + +

+

Whether or not this modular computer uses the looping sound

max_capacity + + + + +

+

The amount of storage space the computer starts with.

max_idle_programs + + + + +

+

Amount of programs that can be ran at once

max_paper + + + + +

+

The max amount of paper that can be held at once.

physical + + + + +

+

The 'computer' itself, as an obj. Primarily used for Adjacent() and UI visibility checks, especially for computers.

saved_identification + + + + +

+

The full name of the stored ID card's identity. These vars should probably be on the PDA.

saved_job + + + + +

+

The job title of the stored ID card

screen_on + + + + +

+

If the screen is open, only used by laptops.

soundloop + + + + +

+

Looping sound for when the computer is on.

starting_programs + + + + +

+

Non-static list of programs the computer should receive on Initialize.

steel_sheet_cost + + + + +

+

Amount of steel sheets refunded when disassembling an empty frame of this computer.

stored_files + + + + +

+

List of stored files on this drive. Use store_file and remove_file instead of modifying directly!

stored_paper + + + + +

+

The amount of paper currently stored in the PDA

used_capacity + + + + +

+

The amount of storage space we've got filled

Proc Details

InsertID +

+

InsertID +Attempt to insert the ID in either card slot. +Args: +inserting_id - the ID being inserted +user - The person inserting the ID

RemoveID +

+

Removes the ID card from the computer, and puts it in loc's hand if it's a mob +Args: +user - The mob trying to remove the ID, if there is one

alert_call +

+

Displays notification text alongside a soundbeep when requested to by a program.

+

After checking that the requesting program is allowed to send an alert, creates +a visible message of the requested text alongside a soundbeep. This proc adds +text to indicate that the message is coming from this device and the program +on it, so the supplied text should be the exact message and ending punctuation.

+

Arguments: +The program calling this proc. +The message that the program wishes to display.

can_store_file +

+

can_store_file

+

Checks if a computer can store a file, as computers can only store unique files. +returns TRUE if possible, FALSE otherwise.

check_power_override +

+

Returns TRUE if the PC should not be using any power, FALSE otherwise. +Checks to see if the current app allows to be ran without power, if so we'll run with it.

find_file_by_name +

+

find_file_by_name

+

Will check all applications in a tablet for files and, if they have
+the same filename (disregarding extension), will return it. +If a computer disk is passed instead, it will check the disk over the computer.

find_file_by_uid +

+

find_file_by_uid

+

Will check all files in this computer and returns the file with the matching uid. +A file's uid is always unique to them, so this proc is sometimes preferable over find_file_by_name. +If a computer disk is passed instead, it will check the disk over the computer.

get_messenger_ending +

+

Returns a string of what to send at the end of messenger's messages.

handle_power +

+

Takes the charge necessary from the Computer, shutting it off if it's unable to provide it. +Charge depends on whether the PC is on, and what programs are running/idle on it.

imprint_id +

+

Imprints name and job into the modular computer, and calls back to necessary functions. +Acts as a replacement to directly setting the imprints fields. All fields are optional, the proc will try to fill in missing gaps.

on_saboteur +

+

Disables the computer's flashlight/LED light, if it has one, for a given disrupt_duration.

+

Called when sent COMSIG_HIT_BY_SABOTEUR.

play_ping +

+

Plays a ping sound.

+

Timers runtime if you try to make them call playsound. Yep.

power_failure +

+

Shuts down the computer from powerloss.

remove_file +

+

remove_file

+

Removes a given file from the computer, if possible. +Properly checking if the file even exists and is in the computer. +Returns TRUE if successfully completed, FALSE otherwise

reset_imprint +

+

Resets the imprinted name and job back to null.

set_flashlight_color +

+

Sets the computer's light color, if it has a light.

+

Called from ui_act(), this proc takes a color string and applies it. +It is separated from ui_act() to be overwritten as needed. +Arguments:

+
    +
  • color is the string that holds the color value that we should use. Proc auto-fails if this is null.
  • +

store_file +

+

store_file

+

Adds an already initialized file to the computer, checking if one already exists. +Returns TRUE if successfully stored, FALSE otherwise.

toggle_flashlight +

+

Toggles the computer's flashlight, if it has one.

+

Called from ui_act(), does as the name implies. +It is separated from ui_act() to be overwritten as needed.

update_tablet_open_uis +

+

update_tablet_open_uis

+

Will search the user to see if they have the tablet open. +If they don't, we'll open a new UI depending on the tab the tablet is meant to be on. +If they do, we'll update the interface and title, then update all static data and re-send assets.

+

This is best called when you're actually changing the app, as we don't check +if we're swapping to the current UI repeatedly. +Args: +user - The person whose UI we're updating. Only necessary if we're opening the UI for the first time.

use_power +

+

Draws power from its rightful source (area if its a computer, the cell otherwise) +Takes into account special cases, like silicon PDAs through override, and nopower apps.

+ + + diff --git a/obj/item/modular_computer/pda.html b/obj/item/modular_computer/pda.html new file mode 100644 index 00000000000..4d0afd87017 --- /dev/null +++ b/obj/item/modular_computer/pda.html @@ -0,0 +1,84 @@ + + + + + + + /obj/item/modular_computer/pda - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pda + + + +

+ + + + + + + + +

Vars

contained_itemList of items that can be stored in a PDA
has_pda_programsWhether the PDA should have 'pda_programs' apps installed on Initialize.
inserted_itemThe item currently inserted into the PDA, starts with a pen.
pda_programsStatic list of default PDA apps to install on Initialize.

Procs

get_detomatix_difficultyFinds how hard it is to send a virus to this tablet, checking all programs downloaded.
update_pda_prefsA simple helper proc that applies the client's ringtone prefs to the tablet's messenger app, +if it has one.
update_ringtoneA simple proc to set the ringtone from a pda.
+

Var Details

contained_item + + + + +

+

List of items that can be stored in a PDA

has_pda_programs + + + + +

+

Whether the PDA should have 'pda_programs' apps installed on Initialize.

inserted_item + + + + +

+

The item currently inserted into the PDA, starts with a pen.

pda_programs + + + + +

+

Static list of default PDA apps to install on Initialize.

Proc Details

get_detomatix_difficulty +

+

Finds how hard it is to send a virus to this tablet, checking all programs downloaded.

update_pda_prefs +

+

A simple helper proc that applies the client's ringtone prefs to the tablet's messenger app, +if it has one.

+

Arguments:

+
    +
  • owner_client - The client whose prefs we'll use to set the ringtone of this PDA.
  • +

update_ringtone +

+

A simple proc to set the ringtone from a pda.

+ + + diff --git a/obj/item/modular_computer/pda/clown.html b/obj/item/modular_computer/pda/clown.html new file mode 100644 index 00000000000..3b4e5a2f136 --- /dev/null +++ b/obj/item/modular_computer/pda/clown.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/modular_computer/pda/clown - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

clown + + + +

+ + +

Procs

try_slipReturn true if our wearer is in a position to slip someone

Proc Details

try_slip +

+

Return true if our wearer is in a position to slip someone

+ + + diff --git a/obj/item/modular_computer/pda/nukeops.html b/obj/item/modular_computer/pda/nukeops.html new file mode 100644 index 00000000000..8ef7d45e13a --- /dev/null +++ b/obj/item/modular_computer/pda/nukeops.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/modular_computer/pda/nukeops - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

nukeops + + + +

+ +

Nuclear PDA

+

PDA that doesn't come with the default apps but has Fission360 +Resistant to emags, these are given to nukies for disk pinpointer stuff.

+ + + diff --git a/obj/item/modular_computer/pda/silicon.html b/obj/item/modular_computer/pda/silicon.html new file mode 100644 index 00000000000..f082b0beff6 --- /dev/null +++ b/obj/item/modular_computer/pda/silicon.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/modular_computer/pda/silicon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

silicon + + + +

+ +

Silicon PDA

+

PDAs that are built-in to Silicons and should not exist at any point without being inside of one.

+ + + +

Vars

borglogIC log that borgs can view in their personal management app
robotactRef to the RoboTact app. Important enough to borgs to deserve a ref.
silicon_ownerRef to the silicon we're installed in. Set by the silicon itself during its creation.

Procs

get_robotactReturns a ref to the RoboTact app, creating the app if need be.
+

Var Details

borglog + + + + +

+

IC log that borgs can view in their personal management app

robotact + + + + +

+

Ref to the RoboTact app. Important enough to borgs to deserve a ref.

silicon_owner + + + + +

+

Ref to the silicon we're installed in. Set by the silicon itself during its creation.

Proc Details

get_robotact +

+

Returns a ref to the RoboTact app, creating the app if need be.

+

The RoboTact app is important for borgs, and so should always be available. +This proc will look for it in the tablet's robotact var, then check the +hard drive if the robotact var is unset, and finally attempt to create a new +copy if the hard drive does not contain the app. If the hard drive rejects +the new copy (such as due to lack of space), the proc will crash with an error. +RoboTact is supposed to be undeletable, so these will create runtime messages.

+ + + diff --git a/obj/item/modular_computer/processor.html b/obj/item/modular_computer/processor.html new file mode 100644 index 00000000000..63c5f31006f --- /dev/null +++ b/obj/item/modular_computer/processor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/modular_computer/processor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

processor + + + +

+ + +

Vars

machinery_computerThe modular computer MACHINE that hosts us.
+

Var Details

machinery_computer + + + + +

+

The modular computer MACHINE that hosts us.

+ + + diff --git a/obj/item/mop.html b/obj/item/mop.html new file mode 100644 index 00000000000..4c37d10cf44 --- /dev/null +++ b/obj/item/mop.html @@ -0,0 +1,56 @@ + + + + + + + /obj/item/mop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mop + + + +

+ + + + +

Vars

max_reagent_volumeMaximum volume of reagents it can hold.

Procs

apply_reagentsApplies reagents to the cleaned floor and removes them from the mop.
should_cleanChecks whether or not we should clean.
+

Var Details

max_reagent_volume + + + + +

+

Maximum volume of reagents it can hold.

Proc Details

apply_reagents +

+

Applies reagents to the cleaned floor and removes them from the mop.

+

Arguments

+
    +
  • cleaning_source the source of the cleaning
  • +
  • cleaned_turf the turf that is being cleaned
  • +
  • cleaner the mob that is doing the cleaning
  • +

should_clean +

+

Checks whether or not we should clean.

+ + + diff --git a/obj/item/mop/advanced.html b/obj/item/mop/advanced.html new file mode 100644 index 00000000000..aa844a22572 --- /dev/null +++ b/obj/item/mop/advanced.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/mop/advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

advanced + + + +

+ + +

Vars

refill_rateAmount of reagent to refill per second
+

Var Details

refill_rate + + + + +

+

Amount of reagent to refill per second

+ + + diff --git a/obj/item/multitool.html b/obj/item/multitool.html new file mode 100644 index 00000000000..89e69549a69 --- /dev/null +++ b/obj/item/multitool.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/multitool - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

multitool + + + +

+ +

Multitool -- A multitool is used for hacking electronic devices.

+ +

Procs

on_buffer_delCalled when the buffer's stored object is deleted
set_bufferSets the multitool internal object buffer

Proc Details

on_buffer_del +

+

Called when the buffer's stored object is deleted

+

This proc does not clear the buffer of the multitool, it is here to +handle the deletion of the object the buffer references

set_buffer +

+

Sets the multitool internal object buffer

+

Arguments:

+
    +
  • buffer - the new object to assign to the multitool's buffer
  • +
+ + + diff --git a/obj/item/multitool/circuit.html b/obj/item/multitool/circuit.html new file mode 100644 index 00000000000..9e458ce27b9 --- /dev/null +++ b/obj/item/multitool/circuit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/multitool/circuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuit + + + +

+ + + +

Vars

marked_atomThe marked atom of this multitool

Procs

clear_marked_atomClears the current marked atom
+

Var Details

marked_atom + + + + +

+

The marked atom of this multitool

Proc Details

clear_marked_atom +

+

Clears the current marked atom

+ + + diff --git a/obj/item/mutant_hand.html b/obj/item/mutant_hand.html new file mode 100644 index 00000000000..c1809a56441 --- /dev/null +++ b/obj/item/mutant_hand.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/mutant_hand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

mutant_hand + + + +

+ +

Generic mutant hand type for use with the mutant hands component +(Technically speaking, the component doesn't require you use this type. But it's here for posterity)

+

Implements nothing except changing its icon state between left and right depending on hand slot equipped in

+ + + diff --git a/obj/item/necromantic_stone.html b/obj/item/necromantic_stone.html new file mode 100644 index 00000000000..5132abef766 --- /dev/null +++ b/obj/item/necromantic_stone.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/necromantic_stone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

necromantic_stone + + + +

+ +

Necromantic Stone

+ + + +

Vars

applied_outfitThe outfit the resurected humanoid will wear.
applied_speciesWhich species the resurected humanoid will be.
max_thrallsMaximum number of thralls that can be created.
unlimitedAllow for unlimited thralls to be produced.
+

Var Details

applied_outfit + + + + +

+

The outfit the resurected humanoid will wear.

applied_species + + + + +

+

Which species the resurected humanoid will be.

max_thralls + + + + +

+

Maximum number of thralls that can be created.

unlimited + + + + +

+

Allow for unlimited thralls to be produced.

+ + + diff --git a/obj/item/nuclear_challenge.html b/obj/item/nuclear_challenge.html new file mode 100644 index 00000000000..baf54426811 --- /dev/null +++ b/obj/item/nuclear_challenge.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/nuclear_challenge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

nuclear_challenge + + + +

+ + +

Procs

force_warAdmin only proc to bypass checks and force a war declaration. Button on antag panel.

Proc Details

force_war +

+

Admin only proc to bypass checks and force a war declaration. Button on antag panel.

+ + + diff --git a/obj/item/nullrod.html b/obj/item/nullrod.html new file mode 100644 index 00000000000..e562a77c344 --- /dev/null +++ b/obj/item/nullrod.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/nullrod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nullrod + + + +

+ + + +

Vars

chaplain_spawnableboolean on whether it's allowed to be picked from the nullrod's transformation ability
menu_descriptionShort description of what this item is capable of, for radial menu uses.
+

Var Details

chaplain_spawnable + + + + +

+

boolean on whether it's allowed to be picked from the nullrod's transformation ability

menu_description + + + + +

+

Short description of what this item is capable of, for radial menu uses.

+ + + diff --git a/obj/item/nullrod/staff.html b/obj/item/nullrod/staff.html new file mode 100644 index 00000000000..b7b03469054 --- /dev/null +++ b/obj/item/nullrod/staff.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/nullrod/staff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

staff + + + +

+ + +

Vars

shield_iconThe icon which appears over the mob holding the item
+

Var Details

shield_icon + + + + +

+

The icon which appears over the mob holding the item

+ + + diff --git a/obj/item/organ.html b/obj/item/organ.html new file mode 100644 index 00000000000..414299e09b5 --- /dev/null +++ b/obj/item/organ.html @@ -0,0 +1,362 @@ + + + + + + + /obj/item/organ - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

organ + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

blood_dna_infoThe cached info about the blood this organ belongs to
bodypart_ownerReference to the limb we're inside of
damageTotal damage this organ has sustained. +Should only ever be modified by apply_organ_damage!
failing_descString displayed when the organ has decayed.
failure_timeTime this organ has failed for
food_reagentsFood reagents if the organ is edible
healing_factorHealing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick
maxHealthMaximum damage the organ can take, ever.
organ_effectsStatus Effects that are given to the holder of the organ.
organ_flagsRandom flags that describe this organ
organ_traitsTraits that are given to the holder of the organ. +If you want an effect that changes this, don't add directly to this. Use the add_organ_trait() proc.
ownerThe mob that owns this organ.
reagent_volThe size of the reagent container if the organ is edible
slotThe organ slot this organ is supposed to inhabit. This should be unique by type. (Lungs, Appendix, Stomach, etc) +Do NOT add slots with matching names to different zones - it will break the organs_slot list!
useableWhen set to false, this can't be used in surgeries and such - Honestly a terrible variable.
visualDo we affect the appearance of our mob. Used to save time in preference code
zoneThe body zone this organ is supposed to inhabit.

Procs

add_organ_statusAdd a Status Effect to an organ that it will give its owner.
add_organ_traitAdd a Trait to an organ that it will give its owner.
apply_organ_damageAdjusts an organ's damage by the amount "damage_amount", up to a maximum amount, which is by default max damage. Returns the net change in organ damage.
before_organ_replacementCalled before organs are replaced in regenerate_organs with new ones
bodypart_insertInsert an organ into a limb, assume the limb as always detached and include no owner operations here (except the get_bodypart helper here I guess) +Give EITHER a limb OR a limb owner
bodypart_removeCalled to remove an organ from a limb. Do not put any mob operations here (except the bodypart_getter at the start) +Give EITHER a limb OR a limb_owner
check_damage_thresholds
exit_wardrobeUsed as callbacks by object pooling
forced_removalIn space station videogame, nothing is sacred. If somehow an organ is removed unexpectedly, handle it properly
get_availability
get_status_textCalled by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine.
on_bodypart_insertAdd any limb specific effects you might want here
on_bodypart_removeCalled on limb removal to remove limb specific limb effects or statusses
on_mob_insertCalled after the organ is inserted into a mob. +Adds Traits, Actions, and Status Effects on the mob in which the organ is impanted. +Override this proc to create unique side-effects for inserting your organ. Must be called by overrides.
on_mob_removeCalled after the organ is removed from a mob. +Removes Traits, Actions, and Status Effects on the mob in which the organ was impanted. +Override this proc to create unique side-effects for removing your organ. Must be called by overrides.
on_surgical_removalProc that gets called when the organ is surgically removed by someone, can be used for special effects +Currently only used so surplus organs can explode when surgically removed.
organ_failure
remove_organ_statusRemoves a Status Effect from an organ, and by extension, its owner.
remove_organ_traitRemoves a Trait from an organ, and by extension, its owner.
replace_intoTries to replace the existing organ on the passed mob with this one, with special handling for replacing a brain without ghosting target
set_organ_damageSETS an organ's damage to the amount "damage_amount", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken
+

Var Details

blood_dna_info + + + + +

+

The cached info about the blood this organ belongs to

bodypart_owner + + + + +

+

Reference to the limb we're inside of

damage + + + + +

+

Total damage this organ has sustained. +Should only ever be modified by apply_organ_damage!

failing_desc + + + + +

+

String displayed when the organ has decayed.

failure_time + + + + +

+

Time this organ has failed for

food_reagents + + + + +

+

Food reagents if the organ is edible

healing_factor + + + + +

+

Healing factor and decay factor function on % of maxhealth, and do not work by applying a static number per tick

maxHealth + + + + +

+

Maximum damage the organ can take, ever.

organ_effects + + + + +

+

Status Effects that are given to the holder of the organ.

organ_flags + + + + +

+

Random flags that describe this organ

organ_traits + + + + +

+

Traits that are given to the holder of the organ. +If you want an effect that changes this, don't add directly to this. Use the add_organ_trait() proc.

owner + + + + +

+

The mob that owns this organ.

reagent_vol + + + + +

+

The size of the reagent container if the organ is edible

slot + + + + +

+

The organ slot this organ is supposed to inhabit. This should be unique by type. (Lungs, Appendix, Stomach, etc) +Do NOT add slots with matching names to different zones - it will break the organs_slot list!

useable + + + + +

+

When set to false, this can't be used in surgeries and such - Honestly a terrible variable.

visual + + + + +

+

Do we affect the appearance of our mob. Used to save time in preference code

zone + + + + +

+

The body zone this organ is supposed to inhabit.

Proc Details

add_organ_status +

+

Add a Status Effect to an organ that it will give its owner.

add_organ_trait +

+

Add a Trait to an organ that it will give its owner.

apply_organ_damage +

+

Adjusts an organ's damage by the amount "damage_amount", up to a maximum amount, which is by default max damage. Returns the net change in organ damage.

before_organ_replacement +

+

Called before organs are replaced in regenerate_organs with new ones

bodypart_insert +

+

Insert an organ into a limb, assume the limb as always detached and include no owner operations here (except the get_bodypart helper here I guess) +Give EITHER a limb OR a limb owner

bodypart_remove +

+

Called to remove an organ from a limb. Do not put any mob operations here (except the bodypart_getter at the start) +Give EITHER a limb OR a limb_owner

check_damage_thresholds +

+
    +
  • check_damage_thresholds
  • +
  • input: mob/organ_owner (a mob, the owner of the organ we call the proc on)
  • +
  • output: returns a message should get displayed.
  • +
  • description: By checking our current damage against our previous damage, we can decide whether we've passed an organ threshold.
  • +
  • If we have, send the corresponding threshold message to the owner, if such a message exists.
  • +

exit_wardrobe +

+

Used as callbacks by object pooling

forced_removal +

+

In space station videogame, nothing is sacred. If somehow an organ is removed unexpectedly, handle it properly

get_availability +

+
    +
  • +

    get_availability

    +
  • +
  • +

    returns whether the species should innately have this organ.

    +
  • +
  • +

    regenerate organs works with generic organs, so we need to get whether it can accept certain organs just by what this returns.

    +
  • +
  • +

    This is set to return true or false, depending on if a species has a trait that would nulify the purpose of the organ.

    +
  • +
  • +

    For example, lungs won't be given if you have NO_BREATH, stomachs check for NO_HUNGER, and livers check for NO_METABOLISM.

    +
  • +
  • +

    If you want a carbon to have a trait that normally blocks an organ but still want the organ. Attach the trait to the organ using the organ_traits var

    +
  • +
  • +

    Arguments:

    +
  • +
  • +

    owner_species - species, needed to return the mutant slot as true or false. stomach set to null means it shouldn't have one.

    +
  • +
  • +

    owner_mob - for more specific checks, like nightmares.

    +
  • +

get_status_text +

+

Called by medical scanners to get a simple summary of how healthy the organ is. Returns an empty string if things are fine.

on_bodypart_insert +

+

Add any limb specific effects you might want here

on_bodypart_remove +

+

Called on limb removal to remove limb specific limb effects or statusses

on_mob_insert +

+

Called after the organ is inserted into a mob. +Adds Traits, Actions, and Status Effects on the mob in which the organ is impanted. +Override this proc to create unique side-effects for inserting your organ. Must be called by overrides.

on_mob_remove +

+

Called after the organ is removed from a mob. +Removes Traits, Actions, and Status Effects on the mob in which the organ was impanted. +Override this proc to create unique side-effects for removing your organ. Must be called by overrides.

on_surgical_removal +

+

Proc that gets called when the organ is surgically removed by someone, can be used for special effects +Currently only used so surplus organs can explode when surgically removed.

organ_failure +

+
    +
  • +

    organ_failure

    +
  • +
  • +

    generic proc for handling dying organs

    +
  • +
  • +

    Arguments:

    +
  • +
  • +

    seconds_per_tick - seconds since last tick

    +
  • +

remove_organ_status +

+

Removes a Status Effect from an organ, and by extension, its owner.

remove_organ_trait +

+

Removes a Trait from an organ, and by extension, its owner.

replace_into +

+

Tries to replace the existing organ on the passed mob with this one, with special handling for replacing a brain without ghosting target

set_organ_damage +

+

SETS an organ's damage to the amount "damage_amount", and in doing so clears or sets the failing flag, good for when you have an effect that should fix an organ if broken

+ + + diff --git a/obj/item/organ/external.html b/obj/item/organ/external.html new file mode 100644 index 00000000000..758b3b30d16 --- /dev/null +++ b/obj/item/organ/external.html @@ -0,0 +1,128 @@ + + + + + + + /obj/item/organ/external - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

external + + + +

+ +

System for drawing organs with overlays. These overlays are drawn directly on the bodypart, attached to a person or not +Works in tandem with the /datum/sprite_accessory datum to generate sprites +Unlike normal organs, we're actually inside a persons limbs at all times

+ + + + + + + + + + + + +

Vars

bodypart_overlayThe overlay datum that actually draws stuff on the limb
dna_blockWith what DNA block do we mutate in mutate_feature() ? For genetics
external_bodytypesDoes this organ have any bodytypes to pass to it's bodypart_owner?
preferenceThe savefile_key of the preference this relates to. Used for the preferences UI.
restyle_flagsWhich flags does a 'modification tool' need to have to restyle us, if it all possible (located in code/_DEFINES/mobs)
sprite_accessory_overrideIf not null, overrides the appearance with this sprite accessory datum
use_mob_sprite_as_obj_spriteSet to EXTERNAL_BEHIND, EXTERNAL_FRONT or EXTERNAL_ADJACENT if you want to draw one of those layers as the object sprite. FALSE to use your own +This will not work if it doesn't have a limb to generate it's icon with

Procs

Initializemob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA +For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite +I'm sorry
attempt_feature_restyleRestyles the external organ from a list of valid options
get_valid_restylesHelper proc to fetch a list of styles a player might want to restyle their features into during the round : returns list("Cabbage" = /datum/sprite_accessory/cabbage)
mutate_featureUpdate our features after something changed our appearance
on_attempt_feature_restyleInvoke async so we dont break signals
simple_change_spriteIf you need to change an external_organ for simple one-offs, use this. Pass the accessory type : /datum/accessory/something
+

Var Details

bodypart_overlay + + + + +

+

The overlay datum that actually draws stuff on the limb

dna_block + + + + +

+

With what DNA block do we mutate in mutate_feature() ? For genetics

external_bodytypes + + + + +

+

Does this organ have any bodytypes to pass to it's bodypart_owner?

preference + + + + +

+

The savefile_key of the preference this relates to. Used for the preferences UI.

restyle_flags + + + + +

+

Which flags does a 'modification tool' need to have to restyle us, if it all possible (located in code/_DEFINES/mobs)

sprite_accessory_override + + + + +

+

If not null, overrides the appearance with this sprite accessory datum

use_mob_sprite_as_obj_sprite + + + + +

+

Set to EXTERNAL_BEHIND, EXTERNAL_FRONT or EXTERNAL_ADJACENT if you want to draw one of those layers as the object sprite. FALSE to use your own +This will not work if it doesn't have a limb to generate it's icon with

Proc Details

Initialize +

+

mob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA +For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite +I'm sorry

attempt_feature_restyle +

+

Restyles the external organ from a list of valid options

get_valid_restyles +

+

Helper proc to fetch a list of styles a player might want to restyle their features into during the round : returns list("Cabbage" = /datum/sprite_accessory/cabbage)

mutate_feature +

+

Update our features after something changed our appearance

on_attempt_feature_restyle +

+

Invoke async so we dont break signals

simple_change_sprite +

+

If you need to change an external_organ for simple one-offs, use this. Pass the accessory type : /datum/accessory/something

+ + + diff --git a/obj/item/organ/external/antennae.html b/obj/item/organ/external/antennae.html new file mode 100644 index 00000000000..f727c97cb06 --- /dev/null +++ b/obj/item/organ/external/antennae.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/external/antennae - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

antennae + + + +

+ +

A moth's antennae

+ + + + +

Vars

burntAre we burned?
original_sprite_datumStore our old datum here for if our antennae are healed

Procs

burn_antennaeBurn our antennae off ;_;
heal_antennaeheal our antennae back up!!
try_burn_antennaecheck if our antennae can burn off ;_;
+

Var Details

burnt + + + + +

+

Are we burned?

original_sprite_datum + + + + +

+

Store our old datum here for if our antennae are healed

Proc Details

burn_antennae +

+

Burn our antennae off ;_;

heal_antennae +

+

heal our antennae back up!!

try_burn_antennae +

+

check if our antennae can burn off ;_;

+ + + diff --git a/obj/item/organ/external/spines.html b/obj/item/organ/external/spines.html new file mode 100644 index 00000000000..4e1121b766f --- /dev/null +++ b/obj/item/organ/external/spines.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/external/spines - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spines + + + +

+ +

A lizards spines (those things on their back), but also including tail spines (gasp)

+

Vars

paired_tailA two-way reference between the tail and the spines because of wagging sprites. Bruh.
+

Var Details

paired_tail + + + + +

+

A two-way reference between the tail and the spines because of wagging sprites. Bruh.

+ + + diff --git a/obj/item/organ/external/tail.html b/obj/item/organ/external/tail.html new file mode 100644 index 00000000000..0c417f22462 --- /dev/null +++ b/obj/item/organ/external/tail.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/organ/external/tail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tail + + + +

+ +

Tail parent, it doesn't do very much.

+ + + +

Vars

original_ownerThe original owner of this tail
wag_flagsDoes this tail have a wagging sprite, and is it currently wagging?

Procs

start_wagWe need some special behaviour for accessories, wrapped here so we can easily add more interactions later
stop_wagWe need some special behaviour for accessories, wrapped here so we can easily add more interactions later
+

Var Details

original_owner + + + + +

+

The original owner of this tail

wag_flags + + + + +

+

Does this tail have a wagging sprite, and is it currently wagging?

Proc Details

start_wag +

+

We need some special behaviour for accessories, wrapped here so we can easily add more interactions later

stop_wag +

+

We need some special behaviour for accessories, wrapped here so we can easily add more interactions later

+ + + diff --git a/obj/item/organ/external/tail/lizard.html b/obj/item/organ/external/tail/lizard.html new file mode 100644 index 00000000000..24cdc66a0e3 --- /dev/null +++ b/obj/item/organ/external/tail/lizard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/external/tail/lizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lizard + + + +

+ + +

Vars

paired_spinesA reference to the paired_spines, since for some fucking reason tail spines are tied to the spines themselves.
+

Var Details

paired_spines + + + + +

+

A reference to the paired_spines, since for some fucking reason tail spines are tied to the spines themselves.

+ + + diff --git a/obj/item/organ/external/wings.html b/obj/item/organ/external/wings.html new file mode 100644 index 00000000000..8bf510f1b38 --- /dev/null +++ b/obj/item/organ/external/wings.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/organ/external/wings - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wings + + + +

+ +

Wing base type. doesn't really do anything

+

Procs

can_soften_fallChecks if the wings can soften short falls

Proc Details

can_soften_fall +

+

Checks if the wings can soften short falls

+ + + diff --git a/obj/item/organ/external/wings/functional.html b/obj/item/organ/external/wings/functional.html new file mode 100644 index 00000000000..383e1fd6ff7 --- /dev/null +++ b/obj/item/organ/external/wings/functional.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/organ/external/wings/functional - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

functional + + + +

+ +

The true wings that you can use to fly and shit (you cant actually shit with them)

+ + + + + + + +

Vars

flyThe flight action object
wings_openAre our wings open or closed?

Procs

can_flyCheck if we're still eligible for flight (wings covered, atmosphere too thin, etc)
close_wingsclose our wings
fly_slipSlipping but in the air?
handle_flightCalled on_life(). Handle flight code and check if we're still flying
open_wingsSPREAD OUR WINGS AND FLLLLLYYYYYY
toggle_flightUNSAFE PROC, should only be called through the Activate or other sources that check for CanFly
+

Var Details

fly + + + + +

+

The flight action object

wings_open + + + + +

+

Are our wings open or closed?

Proc Details

can_fly +

+

Check if we're still eligible for flight (wings covered, atmosphere too thin, etc)

close_wings +

+

close our wings

fly_slip +

+

Slipping but in the air?

handle_flight +

+

Called on_life(). Handle flight code and check if we're still flying

open_wings +

+

SPREAD OUR WINGS AND FLLLLLYYYYYY

toggle_flight +

+

UNSAFE PROC, should only be called through the Activate or other sources that check for CanFly

+ + + diff --git a/obj/item/organ/external/wings/moth.html b/obj/item/organ/external/wings/moth.html new file mode 100644 index 00000000000..3291a8b906b --- /dev/null +++ b/obj/item/organ/external/wings/moth.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/organ/external/wings/moth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

moth + + + +

+ +

Moth wings! They can flutter in low-grav and burn off in heat

+ + + + + +

Vars

burntAre we burned?
original_sprite_datumStore our old datum here for if our burned wings are healed

Procs

burn_wingsburn the wings off
heal_wingsheal our wings back up!!
try_burn_wingscheck if our wings can burn off ;_;
update_float_moveCheck if we can flutter around
+

Var Details

burnt + + + + +

+

Are we burned?

original_sprite_datum + + + + +

+

Store our old datum here for if our burned wings are healed

Proc Details

burn_wings +

+

burn the wings off

heal_wings +

+

heal our wings back up!!

try_burn_wings +

+

check if our wings can burn off ;_;

update_float_move +

+

Check if we can flutter around

+ + + diff --git a/obj/item/organ/internal.html b/obj/item/organ/internal.html new file mode 100644 index 00000000000..251575b84bc --- /dev/null +++ b/obj/item/organ/internal.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/organ/internal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

internal + + + +

+ + + + +

Procs

exit_wardrobeDamage decrements by a percent of its maxhealth +Damage decrements again by a percent of its maxhealth, up to a total of 4 extra times depending on the owner's health +Used as callbacks by object pooling
handle_failing_organsOrgans don't die instantly, and neither should you when you get fucked up
on_lifeCalled once every life tick on every organ in a carbon's body +NOTE: THIS IS VERY HOT. Be careful what you put in here +To give you some scale, if there's 100 carbons in the game, they each have maybe 9 organs +So that's 900 calls to this proc every life process. Please don't be dumb

Proc Details

exit_wardrobe +

+

Damage decrements by a percent of its maxhealth +Damage decrements again by a percent of its maxhealth, up to a total of 4 extra times depending on the owner's health +Used as callbacks by object pooling

handle_failing_organs +

+

Organs don't die instantly, and neither should you when you get fucked up

on_life +

+

Called once every life tick on every organ in a carbon's body +NOTE: THIS IS VERY HOT. Be careful what you put in here +To give you some scale, if there's 100 carbons in the game, they each have maybe 9 organs +So that's 900 calls to this proc every life process. Please don't be dumb

+ + + diff --git a/obj/item/organ/internal/alien/hivenode.html b/obj/item/organ/internal/alien/hivenode.html new file mode 100644 index 00000000000..e2d4a358f7d --- /dev/null +++ b/obj/item/organ/internal/alien/hivenode.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/internal/alien/hivenode - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hivenode + + + +

+ + +

Vars

recent_queen_deathIndicates if the queen died recently, aliens are heavily weakened while this is active.
+

Var Details

recent_queen_death + + + + +

+

Indicates if the queen died recently, aliens are heavily weakened while this is active.

+ + + diff --git a/obj/item/organ/internal/alien/plasmavessel.html b/obj/item/organ/internal/alien/plasmavessel.html new file mode 100644 index 00000000000..7a50437a01c --- /dev/null +++ b/obj/item/organ/internal/alien/plasmavessel.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/organ/internal/alien/plasmavessel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plasmavessel + + + +

+ + + + + +

Vars

heal_rateThe rate this organ regenerates its owners health at per damage type per second.
max_plasmaThe maximum plasma this organ can store.
plasma_rateThe rate this organ regenerates plasma at per second.
stored_plasmaThe current amount of stored plasma.
+

Var Details

heal_rate + + + + +

+

The rate this organ regenerates its owners health at per damage type per second.

max_plasma + + + + +

+

The maximum plasma this organ can store.

plasma_rate + + + + +

+

The rate this organ regenerates plasma at per second.

stored_plasma + + + + +

+

The current amount of stored plasma.

+ + + diff --git a/obj/item/organ/internal/appendix/golem.html b/obj/item/organ/internal/appendix/golem.html new file mode 100644 index 00000000000..3d5eec41f64 --- /dev/null +++ b/obj/item/organ/internal/appendix/golem.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/internal/appendix/golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem + + + +

+ + + +

Vars

smelterAction which performs smelting

Procs

check_for_lavaGive the action while in lava
+

Var Details

smelter + + + + +

+

Action which performs smelting

Proc Details

check_for_lava +

+

Give the action while in lava

+ + + diff --git a/obj/item/organ/internal/body_egg/alien_embryo.html b/obj/item/organ/internal/body_egg/alien_embryo.html new file mode 100644 index 00000000000..af08e557144 --- /dev/null +++ b/obj/item/organ/internal/body_egg/alien_embryo.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/organ/internal/body_egg/alien_embryo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

alien_embryo + + + +

+ + + + + + + +

Vars

burstingAre we bursting out of the poor sucker who's the xeno mom?
growth_timeHow long does it take to advance one stage? Growth time * 5 = how long till we make a Larva!
stageWhat stage of growth the embryo is at. Developed embryos give the host symptoms suggesting that an embryo is inside them.

Procs

advance_embryo_stageControls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is.
attempt_growAttempt to burst an alien outside of the host, getting a ghost to play as the xeno.
on_poll_concludedPoll has concluded with a suitor
+

Var Details

bursting + + + + +

+

Are we bursting out of the poor sucker who's the xeno mom?

growth_time + + + + +

+

How long does it take to advance one stage? Growth time * 5 = how long till we make a Larva!

stage + + + + +

+

What stage of growth the embryo is at. Developed embryos give the host symptoms suggesting that an embryo is inside them.

Proc Details

advance_embryo_stage +

+

Controls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is.

attempt_grow +

+

Attempt to burst an alien outside of the host, getting a ghost to play as the xeno.

on_poll_concluded +

+

Poll has concluded with a suitor

+ + + diff --git a/obj/item/organ/internal/body_egg/changeling_egg.html b/obj/item/organ/internal/body_egg/changeling_egg.html new file mode 100644 index 00000000000..b393fe85ba6 --- /dev/null +++ b/obj/item/organ/internal/body_egg/changeling_egg.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/organ/internal/body_egg/changeling_egg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

changeling_egg + + + +

+ +

The actual organ that the changeling headslug implants into a dead host.

+ + +

Vars

originThe mind of the original changeling that gave forth to the headslug mob.
timeTracks how long the egg has been growing.

Procs

popOnce the egg is fully grown, we gib the host and spawn a monkey (with the changeling's player controlling it). Very descriptive proc name.
+

Var Details

origin + + + + +

+

The mind of the original changeling that gave forth to the headslug mob.

time + + + + +

+

Tracks how long the egg has been growing.

Proc Details

pop +

+

Once the egg is fully grown, we gib the host and spawn a monkey (with the changeling's player controlling it). Very descriptive proc name.

+ + + diff --git a/obj/item/organ/internal/brain.html b/obj/item/organ/internal/brain.html new file mode 100644 index 00000000000..63fb049bc81 --- /dev/null +++ b/obj/item/organ/internal/brain.html @@ -0,0 +1,220 @@ + + + + + + + /obj/item/organ/internal/brain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

brain + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

brain_sizeSize modifier for the sprite
damage_deltaTwo variables necessary for calculating whether we get a brain trauma or not
decay_factorThe brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth
decoy_overrideIf it's a fake brain with no brainmob assigned. Feedback messages will be faked as if it does have a brainmob. See changelings & dullahans.
max_skillchip_complexityMaximum skillchip complexity we can support before they stop working. Do not reference this var directly and instead call get_max_skillchip_complexity()
max_skillchip_slotsMaximum skillchip slots available. Do not reference this var directly and instead call get_max_skillchip_slots()
skillchipsList of skillchip items, their location should be this brain.

Procs

activate_skillchip_failsafeDeactivates all chips currently in the brain.
add_trauma_to_traumasAdds the passed trauma instance to our list of traumas and links it to our brain. +DOES NOT handle setting up the trauma, that's done by [proc/brain_gain_trauma]!
brain_damage_examineNeeded so subtypes can override examine text while still calling parent
clone_skillchip_listCreates a list of assoc lists containing skillchip types and key metadata.
destroy_all_skillchipsDestroys all skillchips in the brain, calling on_removal if the brain has an owner. +Arguments:
get_attacking_limbThis proc lets the mob's brain decide what bodypart to attack with in an unarmed strike.
get_max_skillchip_complexityReturns the total maximum skillchip complexity supported by this brain.
get_max_skillchip_slotsReturns the total maximum skillchip slot capacity supported by this brain.
get_used_skillchip_complexityReturns the total current skillchip complexity used in this brain.
get_used_skillchip_slotsReturns the total current skillchip slot capacity used in this brain.
has_trauma_typeTRAUMAS
implant_skillchipAttempts to implant target skillchip into the brain.
remove_skillchipAttempts to remove target skillchip from the brain.
remove_trauma_from_traumasRemoves the passed trauma instance to our list of traumas and links it to our brain +DOES NOT handle removing the trauma's effects, that's done by /datum/brain_trauma/Destroy()!
replace_intoBrains REALLY like ghosting people. we need special tricks to avoid that, namely removing the old brain with no_id_transfer
update_skillchipsDisables or re-enables any extra skillchips after skillchip limit changes.
+

Var Details

brain_size + + + + +

+

Size modifier for the sprite

damage_delta + + + + +

+

Two variables necessary for calculating whether we get a brain trauma or not

decay_factor + + + + +

+

The brain's organ variables are significantly more different than the other organs, with half the decay rate for balance reasons, and twice the maxHealth

decoy_override + + + + +

+

If it's a fake brain with no brainmob assigned. Feedback messages will be faked as if it does have a brainmob. See changelings & dullahans.

max_skillchip_complexity + + + + +

+

Maximum skillchip complexity we can support before they stop working. Do not reference this var directly and instead call get_max_skillchip_complexity()

max_skillchip_slots + + + + +

+

Maximum skillchip slots available. Do not reference this var directly and instead call get_max_skillchip_slots()

skillchips + + + + +

+

List of skillchip items, their location should be this brain.

Proc Details

activate_skillchip_failsafe +

+

Deactivates all chips currently in the brain.

add_trauma_to_traumas +

+

Adds the passed trauma instance to our list of traumas and links it to our brain. +DOES NOT handle setting up the trauma, that's done by [proc/brain_gain_trauma]!

brain_damage_examine +

+

Needed so subtypes can override examine text while still calling parent

clone_skillchip_list +

+

Creates a list of assoc lists containing skillchip types and key metadata.

+

Returns a complete list of new skillchip types with their metadata cloned from the brain's existing skillchip stock. +Rumour has it that Changelings just LOVE this proc. +Arguments:

+
    +
  • not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal.
  • +

destroy_all_skillchips +

+

Destroys all skillchips in the brain, calling on_removal if the brain has an owner. +Arguments:

+
    +
  • silent - Whether to give the user a chat notification with the removal flavour text.
  • +

get_attacking_limb +

+

This proc lets the mob's brain decide what bodypart to attack with in an unarmed strike.

get_max_skillchip_complexity +

+

Returns the total maximum skillchip complexity supported by this brain.

get_max_skillchip_slots +

+

Returns the total maximum skillchip slot capacity supported by this brain.

get_used_skillchip_complexity +

+

Returns the total current skillchip complexity used in this brain.

get_used_skillchip_slots +

+

Returns the total current skillchip slot capacity used in this brain.

has_trauma_type +

+

TRAUMAS

implant_skillchip +

+

Attempts to implant target skillchip into the brain.

+

Returns whether the skillchip was implanted or not. +If you're implanting the skillchip into a mob, use the implant_skillchip proc in mob/living/carbon instead. +DANGEROUS - This proc assumes you've done the appropriate checks to make sure the skillchip should be implanted. +Where possible, call the mob/living/carbon version of this proc which does relevant checks. +Arguments:

+
    +
  • skillchip - The skillchip you'd like to implant.
  • +
  • force - Whether or not to force the skillchip to be implanted, ignoring any checks.
  • +

remove_skillchip +

+

Attempts to remove target skillchip from the brain.

+

Returns whether the skillchip was removed or not. +If you're removing the skillchip from a mob, use the remove_skillchip proc in mob/living/carbon instead. +Arguments:

+
    +
  • skillchip - The skillchip you'd like to remove.
  • +

remove_trauma_from_traumas +

+

Removes the passed trauma instance to our list of traumas and links it to our brain +DOES NOT handle removing the trauma's effects, that's done by /datum/brain_trauma/Destroy()!

replace_into +

+

Brains REALLY like ghosting people. we need special tricks to avoid that, namely removing the old brain with no_id_transfer

update_skillchips +

+

Disables or re-enables any extra skillchips after skillchip limit changes.

+ + + diff --git a/obj/item/organ/internal/brain/carp.html b/obj/item/organ/internal/brain/carp.html new file mode 100644 index 00000000000..6c7c966e649 --- /dev/null +++ b/obj/item/organ/internal/brain/carp.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/internal/brain/carp - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

carp + + + +

+ +

carp brain. you need to occasionally go to a new zlevel. think of it as... walking your dog!

+ +

Vars

cooldown_timehow much time the timer is given
cooldown_timerTimer counting down. When finished, the owner gets a bad moodlet.
+

Var Details

cooldown_time + + + + +

+

how much time the timer is given

cooldown_timer + + + + +

+

Timer counting down. When finished, the owner gets a bad moodlet.

+ + + diff --git a/obj/item/organ/internal/brain/primate.html b/obj/item/organ/internal/brain/primate.html new file mode 100644 index 00000000000..c375265b30a --- /dev/null +++ b/obj/item/organ/internal/brain/primate.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/internal/brain/primate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

primate + + + +

+ + +

Vars

trippingWill this monkey stumble if they are crossed by a simple mob or a carbon in combat mode? Toggable by monkeys with clients, and is messed automatically set to true by monkey AI.
+

Var Details

tripping + + + + +

+

Will this monkey stumble if they are crossed by a simple mob or a carbon in combat mode? Toggable by monkeys with clients, and is messed automatically set to true by monkey AI.

+ + + diff --git a/obj/item/organ/internal/brain/shadow/nightmare.html b/obj/item/organ/internal/brain/shadow/nightmare.html new file mode 100644 index 00000000000..e2e0fb20b79 --- /dev/null +++ b/obj/item/organ/internal/brain/shadow/nightmare.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/internal/brain/shadow/nightmare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nightmare + + + +

+ + + +

Vars

our_jauntOur associated shadow jaunt spell, for all nightmares
terrorize_spellOur associated terrorize spell, for antagonist nightmares
+

Var Details

our_jaunt + + + + +

+

Our associated shadow jaunt spell, for all nightmares

terrorize_spell + + + + +

+

Our associated terrorize spell, for antagonist nightmares

+ + + diff --git a/obj/item/organ/internal/cyberimp/arm.html b/obj/item/organ/internal/cyberimp/arm.html new file mode 100644 index 00000000000..f883f7125ae --- /dev/null +++ b/obj/item/organ/internal/cyberimp/arm.html @@ -0,0 +1,74 @@ + + + + + + + /obj/item/organ/internal/cyberimp/arm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

arm + + + +

+ + + + + + + +

Vars

active_itemYou can use this var for item path, it would be converted into an item on New().
extend_soundSound played when extending
handA ref for the arm we're taking up. Mostly for the unregister signal upon removal
items_listUsed to store a list of all items inside, for multi-item implants.
retract_soundSound played when retracting

Procs

dropkeyCalled when the mob uses the "drop item" hotkey
+

Var Details

active_item + + + + +

+

You can use this var for item path, it would be converted into an item on New().

extend_sound + + + + +

+

Sound played when extending

hand + + + + +

+

A ref for the arm we're taking up. Mostly for the unregister signal upon removal

items_list + + + + +

+

Used to store a list of all items inside, for multi-item implants.

retract_sound + + + + +

+

Sound played when retracting

Proc Details

dropkey +

+

Called when the mob uses the "drop item" hotkey

+

Items inside toolset implants have TRAIT_NODROP, but we can still use the drop item hotkey as a +quick way to store implant items. In this case, we check to make sure the user has the correct arm +selected, and that the item is actually owned by us, and then we'll hand off the rest to Retract()

+ + + diff --git a/obj/item/organ/internal/cyberimp/arm/muscle.html b/obj/item/organ/internal/cyberimp/arm/muscle.html new file mode 100644 index 00000000000..2767e5c7280 --- /dev/null +++ b/obj/item/organ/internal/cyberimp/arm/muscle.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/organ/internal/cyberimp/arm/muscle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

muscle + + + +

+ + + + + + + +

Vars

attack_throw_rangeHow far away your attack will throw your oponent
emp_base_durationHow long will the implant malfunction if it is EMP'd
non_harmful_throwIF true, the throw attack will not smash people into walls
punch_damageThe amount of damage the implant adds to our unarmed attacks.
throw_power_maxMaximum throw power of the attack
throw_power_minMinimum throw power of the attack
+

Var Details

attack_throw_range + + + + +

+

How far away your attack will throw your oponent

emp_base_duration + + + + +

+

How long will the implant malfunction if it is EMP'd

non_harmful_throw + + + + +

+

IF true, the throw attack will not smash people into walls

punch_damage + + + + +

+

The amount of damage the implant adds to our unarmed attacks.

throw_power_max + + + + +

+

Maximum throw power of the attack

throw_power_min + + + + +

+

Minimum throw power of the attack

+ + + diff --git a/obj/item/organ/internal/cyberimp/chest/reviver.html b/obj/item/organ/internal/cyberimp/chest/reviver.html new file mode 100644 index 00000000000..b6a8319f8a6 --- /dev/null +++ b/obj/item/organ/internal/cyberimp/chest/reviver.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/internal/cyberimp/chest/reviver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reviver + + + +

+ + + +

Vars

can_defib_ownerrevival/defibrillation possibility flag that gathered from owner's .can_defib() proc

Procs

revive_deadboolean that stands for if PHYSICAL damage being patched
+

Var Details

can_defib_owner + + + + +

+

revival/defibrillation possibility flag that gathered from owner's .can_defib() proc

Proc Details

revive_dead +

+

boolean that stands for if PHYSICAL damage being patched

+ + + diff --git a/obj/item/organ/internal/cyberimp/eyes/hud.html b/obj/item/organ/internal/cyberimp/eyes/hud.html new file mode 100644 index 00000000000..6a754658a80 --- /dev/null +++ b/obj/item/organ/internal/cyberimp/eyes/hud.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/internal/cyberimp/eyes/hud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hud + + + +

+ + +

Vars

toggled_onWhether the HUD implant is on or off
+

Var Details

toggled_on + + + + +

+

Whether the HUD implant is on or off

+ + + diff --git a/obj/item/organ/internal/eyes.html b/obj/item/organ/internal/eyes.html new file mode 100644 index 00000000000..c3e1e8e57f6 --- /dev/null +++ b/obj/item/organ/internal/eyes.html @@ -0,0 +1,143 @@ + + + + + + + /obj/item/organ/internal/eyes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eyes + + + +

+ + + + + + + + + + + + + + + + + +

Vars

color_cutoffsList of color cutoffs from eyes, or null if not applicable
damagedindication that the eyes are undergoing some negative effect
flash_protectHow much innare flash protection these eyes have, usually paired with tint
lighting_cutoffHow much darkness to cut out of your view (basically, night vision)
native_fovNative FOV that will be applied if a config is enabled
no_glassesGlasses cannot be worn over these eyes. Currently unused
old_eye_color_leftThe color of the previous left eye before this one was inserted
old_eye_color_rightThe color of the previous right eye before this one was inserted
overlay_ignore_lightingchanges how the eyes overlay is applied, makes it apply over the lighting layer
pepperspray_protectAre these eyes immune to pepperspray?
see_invisibleWhat level of invisibility these eyes can see
sight_flagsSight flags this eye pair imparts on its user.
tintHow much innate tint these eyes have

Procs

apply_damaged_eye_effectsApplies effects to our owner based on how damaged our eyes are
generate_body_overlayThis proc generates a list of overlays that the eye should be displayed using for the given parent
refreshRefreshes the visuals of the eyes +If call_update is TRUE, we also will call update_body
+

Var Details

color_cutoffs + + + + +

+

List of color cutoffs from eyes, or null if not applicable

damaged + + + + +

+

indication that the eyes are undergoing some negative effect

flash_protect + + + + +

+

How much innare flash protection these eyes have, usually paired with tint

lighting_cutoff + + + + +

+

How much darkness to cut out of your view (basically, night vision)

native_fov + + + + +

+

Native FOV that will be applied if a config is enabled

no_glasses + + + + +

+

Glasses cannot be worn over these eyes. Currently unused

old_eye_color_left + + + + +

+

The color of the previous left eye before this one was inserted

old_eye_color_right + + + + +

+

The color of the previous right eye before this one was inserted

overlay_ignore_lighting + + + + +

+

changes how the eyes overlay is applied, makes it apply over the lighting layer

pepperspray_protect + + + + +

+

Are these eyes immune to pepperspray?

see_invisible + + + + +

+

What level of invisibility these eyes can see

sight_flags + + + + +

+

Sight flags this eye pair imparts on its user.

tint + + + + +

+

How much innate tint these eyes have

Proc Details

apply_damaged_eye_effects +

+

Applies effects to our owner based on how damaged our eyes are

generate_body_overlay +

+

This proc generates a list of overlays that the eye should be displayed using for the given parent

refresh +

+

Refreshes the visuals of the eyes +If call_update is TRUE, we also will call update_body

+ + + diff --git a/obj/item/organ/internal/eyes/robotic/glow.html b/obj/item/organ/internal/eyes/robotic/glow.html new file mode 100644 index 00000000000..2d56e316836 --- /dev/null +++ b/obj/item/organ/internal/eyes/robotic/glow.html @@ -0,0 +1,158 @@ + + + + + + + /obj/item/organ/internal/eyes/robotic/glow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

glow + + + +

+ + + + + + + + + + + + + + + +

Vars

base_eye_statebase icon state for eye overlays
eye_color_modeWhether or not to match the eye color to the light or use a custom selection
left_eye_color_stringThe custom selected eye color for the left eye. Defaults to the mob's natural eye color
light_color_stringThe selected color for the light beam itself
right_eye_color_stringThe custom selected eye color for the right eye. Defaults to the mob's natural eye color

Procs

InsertSet the initial color of the eyes on insert to be the mob's previous eye color.
activateActivates the light
deactivateDeactivates the light
randomize_colorRandomizes the light color
set_beam_colorSetter function for the light's color
set_beam_rangeSetter function for the light's range
toggle_activeToggle the attached flashlight object on or off
toggle_eye_color_modeToggles for the eye color mode
update_mob_eye_colorUpdates the mob eye color
+

Var Details

base_eye_state + + + + +

+

base icon state for eye overlays

eye_color_mode + + + + +

+

Whether or not to match the eye color to the light or use a custom selection

left_eye_color_string + + + + +

+

The custom selected eye color for the left eye. Defaults to the mob's natural eye color

light_color_string + + + + +

+

The selected color for the light beam itself

right_eye_color_string + + + + +

+

The custom selected eye color for the right eye. Defaults to the mob's natural eye color

Proc Details

Insert +

+

Set the initial color of the eyes on insert to be the mob's previous eye color.

activate +

+

Activates the light

+

Turns on the attached flashlight object, updates the mob overlay to be added.

deactivate +

+

Deactivates the light

+

Turns off the attached flashlight object, closes UIs, updates the mob overlay to be removed. +Arguments:

+
    +
  • mob/living/carbon/eye_owner - the mob who the eyes belong to
  • +
  • close_ui - whether or not to close the ui
  • +

randomize_color +

+

Randomizes the light color

+

Picks a random color and sets the beam color to that +Arguments:

+
    +
  • to_update - whether we are setting the color for the light beam itself, or the individual eyes
  • +

set_beam_color +

+

Setter function for the light's color

+

Sets the light color of the attached flashlight object. Sets the eye color vars of this eye organ as well and then updates the mob's eye color. +Arguments:

+
    +
  • newcolor - the new color hex string to set
  • +
  • to_update - whether we are setting the color for the light beam itself, or the individual eyes
  • +
  • sanitize - whether the hex string should be sanitized
  • +

set_beam_range +

+

Setter function for the light's range

+

Sets the light range of the attached flashlight object +Includes some 'unique' logic to accomodate for some quirks of the lighting system +Arguments:

+
    +
  • new_range - the new range to set
  • +

toggle_active +

+

Toggle the attached flashlight object on or off

toggle_eye_color_mode +

+

Toggles for the eye color mode

+

Toggles the eye color mode on or off and then calls an update on the mob's eye color

update_mob_eye_color +

+

Updates the mob eye color

+

Updates the eye color to reflect on the mob's body if it's possible to do so +Arguments:

+
    +
  • mob/living/carbon/eye_owner - the mob to update the eye color appearance of
  • +
+ + + diff --git a/obj/item/organ/internal/heart.html b/obj/item/organ/internal/heart.html new file mode 100644 index 00000000000..8c437b73992 --- /dev/null +++ b/obj/item/organ/internal/heart.html @@ -0,0 +1,61 @@ + + + + + + + /obj/item/organ/internal/heart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

heart + + + +

+ + + + + +

Vars

beatis this mob having a heatbeat sound played? if so, which?
beatingWhether the heart is currently beating. +Do not set this directly. Use Restart() and Stop() instead.
operatedwhether the heart's been operated on to fix some of its damages

Procs

is_beatingChecks if the heart is beating. +Can be overridden to add more conditions for more complex hearts.
+

Var Details

beat + + + + +

+

is this mob having a heatbeat sound played? if so, which?

beating + + + + +

+

Whether the heart is currently beating. +Do not set this directly. Use Restart() and Stop() instead.

operated + + + + +

+

whether the heart's been operated on to fix some of its damages

Proc Details

is_beating +

+

Checks if the heart is beating. +Can be overridden to add more conditions for more complex hearts.

+ + + diff --git a/obj/item/organ/internal/heart/ethereal.html b/obj/item/organ/internal/heart/ethereal.html new file mode 100644 index 00000000000..aebda2f429b --- /dev/null +++ b/obj/item/organ/internal/heart/ethereal.html @@ -0,0 +1,106 @@ + + + + + + + /obj/item/organ/internal/heart/ethereal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ethereal + + + +

+ + + + + + + + + + + + +

Vars

crystalization_process_damageDamage taken during crystalization, resets after it ends
crystalize_cooldownCooldown for the next time we can crystalize
crystalize_timer_idTimer ID for when we will be crystalized, If not preparing this will be null.
current_crystalThe current crystal the ethereal is in, if any
ethereal_colorColor of the heart, is set by the species on gain

Procs

crystalizeActually spawns the crystal which puts the ethereal in it.
on_examineRan when examined while crystalizing, gives info about the amount of time left
on_stat_changeOn stat changes, if the victim is no longer dead but they're crystalizing, cancel it, if they become dead, start the crystalizing process if possible
on_take_damageLets you stop the process with enough brute damage
reset_crystalizingRan when disarmed, prevents the ethereal from reviving
stop_crystalization_processStop the crystalization process, unregistering any signals and resetting any variables.
+

Var Details

crystalization_process_damage + + + + +

+

Damage taken during crystalization, resets after it ends

crystalize_cooldown + + + + +

+

Cooldown for the next time we can crystalize

crystalize_timer_id + + + + +

+

Timer ID for when we will be crystalized, If not preparing this will be null.

current_crystal + + + + +

+

The current crystal the ethereal is in, if any

ethereal_color + + + + +

+

Color of the heart, is set by the species on gain

Proc Details

crystalize +

+

Actually spawns the crystal which puts the ethereal in it.

on_examine +

+

Ran when examined while crystalizing, gives info about the amount of time left

on_stat_change +

+

On stat changes, if the victim is no longer dead but they're crystalizing, cancel it, if they become dead, start the crystalizing process if possible

on_take_damage +

+

Lets you stop the process with enough brute damage

reset_crystalizing +

+

Ran when disarmed, prevents the ethereal from reviving

stop_crystalization_process +

+

Stop the crystalization process, unregistering any signals and resetting any variables.

+ + + diff --git a/obj/item/organ/internal/heart/freedom.html b/obj/item/organ/internal/heart/freedom.html new file mode 100644 index 00000000000..536985dd3b1 --- /dev/null +++ b/obj/item/organ/internal/heart/freedom.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/internal/heart/freedom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

freedom + + + +

+ + +

Vars

adrenaline_cooldownThe cooldown until the next time this heart can give the host an adrenaline boost.
+

Var Details

adrenaline_cooldown + + + + +

+

The cooldown until the next time this heart can give the host an adrenaline boost.

+ + + diff --git a/obj/item/organ/internal/heart/gland.html b/obj/item/organ/internal/heart/gland.html new file mode 100644 index 00000000000..b84b89bbdfc --- /dev/null +++ b/obj/item/organ/internal/heart/gland.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/internal/heart/gland - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gland + + + +

+ + + + + + +

Vars

abductor_hintShows name of the gland as well as a description of what it does upon examination by abductor scientists and observers.
activation_cooldownThe cooldown for activations
cooldown_highThe maximum time between activations
cooldown_lowThe minimum time between activations
usesThe number of remaining uses this gland has.
+

Var Details

abductor_hint + + + + +

+

Shows name of the gland as well as a description of what it does upon examination by abductor scientists and observers.

activation_cooldown + + + + +

+

The cooldown for activations

cooldown_high + + + + +

+

The maximum time between activations

cooldown_low + + + + +

+

The minimum time between activations

uses + + + + +

+

The number of remaining uses this gland has.

+ + + diff --git a/obj/item/organ/internal/heart/gondola.html b/obj/item/organ/internal/heart/gondola.html new file mode 100644 index 00000000000..cdba501f6e1 --- /dev/null +++ b/obj/item/organ/internal/heart/gondola.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/internal/heart/gondola - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gondola + + + +

+ +

makes you a pacifist and turns most mobs neutral towards you

+

Vars

factions_to_removekeeps track of whether the receiver actually gained factions
+

Var Details

factions_to_remove + + + + +

+

keeps track of whether the receiver actually gained factions

+ + + diff --git a/obj/item/organ/internal/heart/nightmare.html b/obj/item/organ/internal/heart/nightmare.html new file mode 100644 index 00000000000..90136989158 --- /dev/null +++ b/obj/item/organ/internal/heart/nightmare.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/internal/heart/nightmare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

nightmare + + + +

+ + + +

Vars

bladeThe armblade granted to the host of this heart.
respawn_progressHow many life ticks in the dark the owner has been dead for. Used for nightmare respawns.
+

Var Details

blade + + + + +

+

The armblade granted to the host of this heart.

respawn_progress + + + + +

+

How many life ticks in the dark the owner has been dead for. Used for nightmare respawns.

+ + + diff --git a/obj/item/organ/internal/heart/roach.html b/obj/item/organ/internal/heart/roach.html new file mode 100644 index 00000000000..fb8b6b6bdd2 --- /dev/null +++ b/obj/item/organ/internal/heart/roach.html @@ -0,0 +1,61 @@ + + + + + + + /obj/item/organ/internal/heart/roach - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

roach + + + +

+ +

Roach heart: +Reduces damage taken from brute attacks from behind, +but increases duration of knockdowns

+ + + +

Vars

roach_shellBodypart overlay applied to the chest the heart is in

Procs

do_block_effectSignal proc for COMSIG_MOB_AFTER_APPLY_DAMAGE
is_blockingChecks if the passed mob is in a valid state to be blocking damage with the roach shell
modify_damageSignal proc for COMSIG_MOB_APPLY_DAMAGE_MODIFIERS
+

Var Details

roach_shell + + + + +

+

Bodypart overlay applied to the chest the heart is in

Proc Details

do_block_effect +

+

Signal proc for COMSIG_MOB_AFTER_APPLY_DAMAGE

+

Does a special effect if we blocked damage with our back

is_blocking +

+

Checks if the passed mob is in a valid state to be blocking damage with the roach shell

modify_damage +

+

Signal proc for COMSIG_MOB_APPLY_DAMAGE_MODIFIERS

+

Adds a 0.5 modifier to attacks from the back

+ + + diff --git a/obj/item/organ/internal/legion_tumour.html b/obj/item/organ/internal/legion_tumour.html new file mode 100644 index 00000000000..af009a50401 --- /dev/null +++ b/obj/item/organ/internal/legion_tumour.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/organ/internal/legion_tumour - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

legion_tumour + + + +

+ +

Left behind when a legion infects you, for medical enrichment

+ + + + + + + + +

Vars

applied_statusWe apply this status effect periodically or when used on someone
elapsed_timeHow long have we been in this stage?
growth_timeHow long does it take to advance one stage?
spawn_typeWhat kind of mob will we transform into?
spooky_soundsSpooky sounds to play as you start to turn
stageWhat stage of growth the corruption has reached.

Procs

animate_pulseDo a heartbeat animation depending on if we're failing or not
infestConsume our host
try_applySmear it on someone like a regen core, why not. Make sure they're alive though.
+

Var Details

applied_status + + + + +

+

We apply this status effect periodically or when used on someone

elapsed_time + + + + +

+

How long have we been in this stage?

growth_time + + + + +

+

How long does it take to advance one stage?

spawn_type + + + + +

+

What kind of mob will we transform into?

spooky_sounds + + + + +

+

Spooky sounds to play as you start to turn

stage + + + + +

+

What stage of growth the corruption has reached.

Proc Details

animate_pulse +

+

Do a heartbeat animation depending on if we're failing or not

infest +

+

Consume our host

try_apply +

+

Smear it on someone like a regen core, why not. Make sure they're alive though.

+ + + diff --git a/obj/item/organ/internal/liver.html b/obj/item/organ/internal/liver.html new file mode 100644 index 00000000000..a6d8aaf4a35 --- /dev/null +++ b/obj/item/organ/internal/liver.html @@ -0,0 +1,76 @@ + + + + + + + /obj/item/organ/internal/liver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

liver + + + +

+ + + + + + + +

Vars

alcohol_toleranceAffects how much damage the liver takes from alcohol
liver_resistanceModifies how much damage toxin deals to the liver
toxToleranceThe maximum volume of toxins the liver will ignore

Procs

handle_chemicalThis proc can be overriden by liver subtypes so they can handle certain chemicals in special ways. +Return null to continue running the normal on_mob_life() for that reagent. +Return COMSIG_MOB_STOP_REAGENT_CHECK to not run the normal metabolism effects.
on_mob_insertRegisters COMSIG_SPECIES_HANDLE_CHEMICAL from owner
on_mob_removeUnregisters COMSIG_SPECIES_HANDLE_CHEMICAL from owner
+

Var Details

alcohol_tolerance + + + + +

+

Affects how much damage the liver takes from alcohol

liver_resistance + + + + +

+

Modifies how much damage toxin deals to the liver

toxTolerance + + + + +

+

The maximum volume of toxins the liver will ignore

Proc Details

handle_chemical +

+

This proc can be overriden by liver subtypes so they can handle certain chemicals in special ways. +Return null to continue running the normal on_mob_life() for that reagent. +Return COMSIG_MOB_STOP_REAGENT_CHECK to not run the normal metabolism effects.

+

NOTE: If you return COMSIG_MOB_STOP_REAGENT_CHECK, that reagent will not be removed like normal! You must handle it manually.

on_mob_insert +

+

Registers COMSIG_SPECIES_HANDLE_CHEMICAL from owner

on_mob_remove +

+

Unregisters COMSIG_SPECIES_HANDLE_CHEMICAL from owner

+ + + diff --git a/obj/item/organ/internal/liver/bone.html b/obj/item/organ/internal/liver/bone.html new file mode 100644 index 00000000000..a74c339ebfa --- /dev/null +++ b/obj/item/organ/internal/liver/bone.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/organ/internal/liver/bone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bone + + + +

+ +

Bone liver +Gives the owner liverless metabolism, makes them vulnerable to bone hurting juice and +makes milk heal them through meme magic.

+ +

Vars

milk_brute_healingVar for brute healing via milk
milk_burn_healingVar for burn healing via milk
+

Var Details

milk_brute_healing + + + + +

+

Var for brute healing via milk

milk_burn_healing + + + + +

+

Var for burn healing via milk

+ + + diff --git a/obj/item/organ/internal/liver/golem.html b/obj/item/organ/internal/liver/golem.html new file mode 100644 index 00000000000..cd1f1cf0564 --- /dev/null +++ b/obj/item/organ/internal/liver/golem.html @@ -0,0 +1,31 @@ + + + + + + + /obj/item/organ/internal/liver/golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

golem + + + +

+ +

Golem liver +Basically only exists to remove the nutriment factor from consumables, +so golems can only consume minerals even when injecting reagents.

+

Actually consuming golem food is handled by /obj/item/organ/internal/stomach/golem!

+ + + diff --git a/obj/item/organ/internal/liver/gondola.html b/obj/item/organ/internal/liver/gondola.html new file mode 100644 index 00000000000..8a90b4bb29c --- /dev/null +++ b/obj/item/organ/internal/liver/gondola.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/organ/internal/liver/gondola - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

gondola + + + +

+ +

Loving arms: your hands become unable to hold much of anything but your hugs now infuse the subject with pax.

+ + +

Vars

pax_hugsinstance of the martial art granted on insertion

Procs

on_owner_equipping_itemsignal sent when prompting if an item can be equipped
on_owner_try_pullsignal sent when owner tries to pull an item
+

Var Details

pax_hugs + + + + +

+

instance of the martial art granted on insertion

Proc Details

on_owner_equipping_item +

+

signal sent when prompting if an item can be equipped

on_owner_try_pull +

+

signal sent when owner tries to pull an item

+ + + diff --git a/obj/item/organ/internal/lungs.html b/obj/item/organ/internal/lungs.html new file mode 100644 index 00000000000..4b6af25d2fc --- /dev/null +++ b/obj/item/organ/internal/lungs.html @@ -0,0 +1,361 @@ + + + + + + + /obj/item/organ/internal/lungs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lungs + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

breath_lostAssoc list of procs to run when a gas is immediately removed from the breath, in the form gas id -> proc_path
breath_outGas mixture to breath out when we're done processing a breath +Will get emptied out when it's all done
breath_presentAssoc list of procs to run while a gas is present, in the form gas id -> proc_path
breathe_alwaysAssoc list of procs to always run, in the form gas_id -> proc_path
healium_para_minMinimum amount of healium to make you unconscious for 4 seconds
healium_sleep_minMinimum amount of healium to knock you down for good
helium_speech_minMinimum amount of helium to affect speech
last_partial_pressuresOur previous breath's partial pressures, in the form gas id -> partial pressure
safe_plasma_maxHow much breath partial pressure is a safe amount of plasma. 0 means that we are immune to plasma.
suffers_miasmaWhether these lungs react negatively to miasma
treat_asList of gas to treat as other gas, in the form list(inital_gas, treat_as, multiplier)

Procs

InsertSimply exists so that you don't keep any alerts from your previous lack of lungs.
add_gas_reactionTells the lungs to pay attention to the passed in gas type +We'll check for it when breathing, in a few possible ways +Accepts 3 optional arguments:
add_gas_relationshipTells the lungs to treat the passed in gas type as another passed in gas type +Takes the gas to check for as an argument, alongside the gas to convert and the multiplier to use +These act in the order of insertion, use that how you will
breathe_gas_volumeRemove gas from breath. If output_gas is given, transfers the removed gas to the lung's gas_mixture. +Removes 100% of the given gas type unless given a volume argument. +Returns the amount of gas theoretically removed.
breathe_nitroIf the lungs need Nitrogen to breathe properly, N2 is exchanged with CO2.
breathe_oxygenHandles oxygen breathing. Always called by things that need o2, no matter what
breathe_plasmaIf the lungs need Plasma to breathe properly, Plasma is exchanged with CO2.
check_breathThis proc tests if the lungs can breathe, if they can breathe a given gas mixture, and throws/clears gas alerts. +It does this by calling subprocs "registered" to pay attention to different gas types +There's also support for gases that should always be checked for, and procs that should run when a gas is finished
consume_healiumSleeping gas with healing properties.
consume_heliumActivates helium speech when partial pressure gets high enough
consume_hypernobliumGain hypernob effects if we have enough of the stuff
consume_pluoxiumBehaves like Oxygen with 8X efficacy, but metabolizes into a reagent.
handle_helium_speechReact to speach while hopped up on the high pitched voice juice
handle_suffocationApplies suffocation side-effects to a given Human, scaling based on ratio of required pressure VS "true" pressure. +If pressure is greater than 0, the return value will represent the amount of gas successfully breathed.
lose_healiumLose healium side effects
lose_heliumLose helium high pitched voice
remove_gas_relationshipClears away a gas relationship. Takes the same args as the initial addition
safe_co2Handles NOT having too much co2. only relevant if safe_co2_max has a value
safe_miasmaWe're free from the stick, clear out its impacts
safe_n2oN2O side-effects. "Too much N2O!"
safe_oxygenHandles NOT having too much o2. only relevant if safe_oxygen_max has a value
safe_plasmaResets plasma side effects
too_much_bzToo much funny gas, time to get brain damage
too_much_co2Maximum CO2 effects. "Too much CO2!"
too_much_freonBreathing in refridgerator coolent, shit's caustic
too_much_halonBreathing in halon, convert it to a reagent
too_much_miasmaBreathing in the stink gas
too_much_n2oCauses random euphoria and giggling. Large amounts knock you down
too_much_oxygenMaximum Oxygen effects. "Too much O2!"
too_much_plasmaMaximum Plasma effects. "Too much Plasma!"
too_much_tritiumRadioactive, green gas. Toxin damage, and a radiation chance
too_much_zaukerReally toxic stuff, very much trying to kill you
+

Var Details

breath_lost + + + + +

+

Assoc list of procs to run when a gas is immediately removed from the breath, in the form gas id -> proc_path

breath_out + + + + +

+

Gas mixture to breath out when we're done processing a breath +Will get emptied out when it's all done

breath_present + + + + +

+

Assoc list of procs to run while a gas is present, in the form gas id -> proc_path

breathe_always + + + + +

+

Assoc list of procs to always run, in the form gas_id -> proc_path

healium_para_min + + + + +

+

Minimum amount of healium to make you unconscious for 4 seconds

healium_sleep_min + + + + +

+

Minimum amount of healium to knock you down for good

helium_speech_min + + + + +

+

Minimum amount of helium to affect speech

last_partial_pressures + + + + +

+

Our previous breath's partial pressures, in the form gas id -> partial pressure

safe_plasma_max + + + + +

+

How much breath partial pressure is a safe amount of plasma. 0 means that we are immune to plasma.

suffers_miasma + + + + +

+

Whether these lungs react negatively to miasma

treat_as + + + + +

+

List of gas to treat as other gas, in the form list(inital_gas, treat_as, multiplier)

Proc Details

Insert +

+

Simply exists so that you don't keep any alerts from your previous lack of lungs.

add_gas_reaction +

+

Tells the lungs to pay attention to the passed in gas type +We'll check for it when breathing, in a few possible ways +Accepts 3 optional arguments:

+

proc/while_present * Called while the gas is present in our breath. Return BREATH_LOST to call on_loss afterwards +proc/on_loss * Called after we have lost a gas from our breath. +proc/always * Always called. Best suited for breathing procs, like oxygen

+

while_present and always get the same arguments (mob/living/carbon/breather, datum/gas_mixture/breath, pp, old_pp) +on_loss is almost exactly the same, except it doesn't pass in a current partial pressure, since one isn't avalible

add_gas_relationship +

+

Tells the lungs to treat the passed in gas type as another passed in gas type +Takes the gas to check for as an argument, alongside the gas to convert and the multiplier to use +These act in the order of insertion, use that how you will

breathe_gas_volume +

+

Remove gas from breath. If output_gas is given, transfers the removed gas to the lung's gas_mixture. +Removes 100% of the given gas type unless given a volume argument. +Returns the amount of gas theoretically removed.

breathe_nitro +

+

If the lungs need Nitrogen to breathe properly, N2 is exchanged with CO2.

breathe_oxygen +

+

Handles oxygen breathing. Always called by things that need o2, no matter what

breathe_plasma +

+

If the lungs need Plasma to breathe properly, Plasma is exchanged with CO2.

check_breath +

+

This proc tests if the lungs can breathe, if they can breathe a given gas mixture, and throws/clears gas alerts. +It does this by calling subprocs "registered" to pay attention to different gas types +There's also support for gases that should always be checked for, and procs that should run when a gas is finished

+

Returns TRUE if the breath was successful, or FALSE if otherwise.

+

Arguments:

+
    +
  • breath: A gas mixture to test, or null.
  • +
  • breather: A carbon mob that is using the lungs to breathe.
  • +

consume_healium +

+

Sleeping gas with healing properties.

consume_helium +

+

Activates helium speech when partial pressure gets high enough

consume_hypernoblium +

+

Gain hypernob effects if we have enough of the stuff

consume_pluoxium +

+

Behaves like Oxygen with 8X efficacy, but metabolizes into a reagent.

handle_helium_speech +

+

React to speach while hopped up on the high pitched voice juice

handle_suffocation +

+

Applies suffocation side-effects to a given Human, scaling based on ratio of required pressure VS "true" pressure. +If pressure is greater than 0, the return value will represent the amount of gas successfully breathed.

lose_healium +

+

Lose healium side effects

lose_helium +

+

Lose helium high pitched voice

remove_gas_relationship +

+

Clears away a gas relationship. Takes the same args as the initial addition

safe_co2 +

+

Handles NOT having too much co2. only relevant if safe_co2_max has a value

safe_miasma +

+

We're free from the stick, clear out its impacts

safe_n2o +

+

N2O side-effects. "Too much N2O!"

safe_oxygen +

+

Handles NOT having too much o2. only relevant if safe_oxygen_max has a value

safe_plasma +

+

Resets plasma side effects

too_much_bz +

+

Too much funny gas, time to get brain damage

too_much_co2 +

+

Maximum CO2 effects. "Too much CO2!"

too_much_freon +

+

Breathing in refridgerator coolent, shit's caustic

too_much_halon +

+

Breathing in halon, convert it to a reagent

too_much_miasma +

+

Breathing in the stink gas

too_much_n2o +

+

Causes random euphoria and giggling. Large amounts knock you down

too_much_oxygen +

+

Maximum Oxygen effects. "Too much O2!"

too_much_plasma +

+

Maximum Plasma effects. "Too much Plasma!"

too_much_tritium +

+

Radioactive, green gas. Toxin damage, and a radiation chance

too_much_zauker +

+

Really toxic stuff, very much trying to kill you

+ + + diff --git a/obj/item/organ/internal/lungs/ethereal.html b/obj/item/organ/internal/lungs/ethereal.html new file mode 100644 index 00000000000..ec9d5c64bc6 --- /dev/null +++ b/obj/item/organ/internal/lungs/ethereal.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/organ/internal/lungs/ethereal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ethereal + + + +

+ + +

Procs

consume_waterH2O electrolysis

Proc Details

consume_water +

+

H2O electrolysis

+ + + diff --git a/obj/item/organ/internal/monster_core.html b/obj/item/organ/internal/monster_core.html new file mode 100644 index 00000000000..50ad4f76d18 --- /dev/null +++ b/obj/item/organ/internal/monster_core.html @@ -0,0 +1,152 @@ + + + + + + + /obj/item/organ/internal/monster_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

monster_core + + + +

+ +

Useful organs which drop as loot from a mining creature. +Generalised behaviour is that they will decay and become useless unless provided with serum. +These should usually do something both when used in-hand, or when implanted into someone.

+ + + + + + + + + + + + + +

Vars

decay_timerID of the timer which will decay this organ
desc_inertDescription to use once organ is inert
desc_preservedDescription to use once organ has been preserved
icon_state_inertIcon state to apply when inert
icon_state_preservedIcon state to apply when preserved
inertSet to true if this organ has decayed into uselessness.
time_to_decayTime after which organ should become useless
user_statusStatus effect applied by this organ

Procs

apply_toApplies the effect of this organ to the target. +Arguments
go_inertDecays the organ, it is now useless.
on_triggered_internalCalled when activated while implanted inside someone. +This could be via clicking the associated action button or through the above method.
preservePreserves the organ so that it will not decay. +Returns true if successful.
trigger_organ_actionUtility proc to find the associated monster organ action and trigger it. +Call this instead of on_triggered_internal() if the action needs to trigger automatically, or the cooldown won't happen.
try_applyTries to apply organ effect to target. +Usually you should not need to override this, only apply_to. +Arguments
+

Var Details

decay_timer + + + + +

+

ID of the timer which will decay this organ

desc_inert + + + + +

+

Description to use once organ is inert

desc_preserved + + + + +

+

Description to use once organ has been preserved

icon_state_inert + + + + +

+

Icon state to apply when inert

icon_state_preserved + + + + +

+

Icon state to apply when preserved

inert + + + + +

+

Set to true if this organ has decayed into uselessness.

time_to_decay + + + + +

+

Time after which organ should become useless

user_status + + + + +

+

Status effect applied by this organ

Proc Details

apply_to +

+

Applies the effect of this organ to the target. +Arguments

+
    +
  • target - Person you are applying this to.
  • +
  • user - Person who is doing the applying.
  • +

go_inert +

+

Decays the organ, it is now useless.

on_triggered_internal +

+

Called when activated while implanted inside someone. +This could be via clicking the associated action button or through the above method.

preserve +

+

Preserves the organ so that it will not decay. +Returns true if successful.

+
    +
  • Implanted - If true, organ has just been inserted into someone.
  • +

trigger_organ_action +

+

Utility proc to find the associated monster organ action and trigger it. +Call this instead of on_triggered_internal() if the action needs to trigger automatically, or the cooldown won't happen.

try_apply +

+

Tries to apply organ effect to target. +Usually you should not need to override this, only apply_to. +Arguments

+
    +
  • target - Person you are applying this to.
  • +
  • user - Person who is doing the applying.
  • +
+ + + diff --git a/obj/item/organ/internal/monster_core/brimdust_sac.html b/obj/item/organ/internal/monster_core/brimdust_sac.html new file mode 100644 index 00000000000..dcf53001a69 --- /dev/null +++ b/obj/item/organ/internal/monster_core/brimdust_sac.html @@ -0,0 +1,46 @@ + + + + + + + /obj/item/organ/internal/monster_core/brimdust_sac - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

brimdust_sac + + + +

+ +

Gives you three stacks of Brimdust Coating, when you get hit by anything it will make a short ranged explosion. +If this happens on the station it does much less damage, and slows down the bearer. +If implanted, you can shake off a cloud of brimdust to give this buff to people around you.area +It will also automatically grant you one stack every 30 seconds if you are on lavaland.

+ +

Vars

brimdust_auto_apply_cooldownYou will gain a stack of the buff every x seconds

Procs

on_triggered_internalMake a cloud which applies brimdust to everyone nearby
+

Var Details

brimdust_auto_apply_cooldown + + + + +

+

You will gain a stack of the buff every x seconds

Proc Details

on_triggered_internal +

+

Make a cloud which applies brimdust to everyone nearby

+ + + diff --git a/obj/item/organ/internal/monster_core/regenerative_core.html b/obj/item/organ/internal/monster_core/regenerative_core.html new file mode 100644 index 00000000000..c37b1aedc89 --- /dev/null +++ b/obj/item/organ/internal/monster_core/regenerative_core.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/organ/internal/monster_core/regenerative_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

regenerative_core + + + +

+ +

On use in hand, heals you over time and removes injury movement debuffs. Also makes you a bit sad. +On use when implanted, fully heals. Automatically fully heals if you would enter crit.

+

Procs

apply_toLog applications and apply moodlet.

Proc Details

apply_to +

+

Log applications and apply moodlet.

+ + + diff --git a/obj/item/organ/internal/stomach.html b/obj/item/organ/internal/stomach.html new file mode 100644 index 00000000000..a5befce5ba8 --- /dev/null +++ b/obj/item/organ/internal/stomach.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/internal/stomach - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stomach + + + +

+ + + + + + +

Vars

disgust_metabolismThe rate that disgust decays
hunger_modifierMultiplier for hunger rate
metabolism_efficiencyThe rate that the stomach will transfer reagents to the body

Procs

after_eatThis gets called after the owner takes a bite of food
handle_hunger_slowdownfor when mood is disabled and hunger should handle slowdowns
+

Var Details

disgust_metabolism + + + + +

+

The rate that disgust decays

hunger_modifier + + + + +

+

Multiplier for hunger rate

metabolism_efficiency + + + + +

+

The rate that the stomach will transfer reagents to the body

Proc Details

after_eat +

+

This gets called after the owner takes a bite of food

handle_hunger_slowdown +

+

for when mood is disabled and hunger should handle slowdowns

+ + + diff --git a/obj/item/organ/internal/stomach/ethereal.html b/obj/item/organ/internal/stomach/ethereal.html new file mode 100644 index 00000000000..4d371b3c716 --- /dev/null +++ b/obj/item/organ/internal/stomach/ethereal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/organ/internal/stomach/ethereal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ethereal + + + +

+ + + +

Vars

crystal_chargebasically satiety but electrical
drain_timeused to keep ethereals from spam draining power sources
+

Var Details

crystal_charge + + + + +

+

basically satiety but electrical

drain_time + + + + +

+

used to keep ethereals from spam draining power sources

+ + + diff --git a/obj/item/organ/internal/stomach/golem.html b/obj/item/organ/internal/stomach/golem.html new file mode 100644 index 00000000000..25a45d6c556 --- /dev/null +++ b/obj/item/organ/internal/stomach/golem.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/organ/internal/stomach/golem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

golem + + + +

+ + + + + + +

Vars

max_hunger_slowdownHow slow are you if you have absolutely nothing in the tank?
min_hunger_slowdownHow slow are you when the "hungry" icon appears?

Procs

handle_hungerSlow down based on how full you are
on_lifeGolem stomach cannot process nutriment except from minerals
try_eatingReject food, rocks only
+

Var Details

max_hunger_slowdown + + + + +

+

How slow are you if you have absolutely nothing in the tank?

min_hunger_slowdown + + + + +

+

How slow are you when the "hungry" icon appears?

Proc Details

handle_hunger +

+

Slow down based on how full you are

on_life +

+

Golem stomach cannot process nutriment except from minerals

try_eating +

+

Reject food, rocks only

+ + + diff --git a/obj/item/organ/internal/tongue.html b/obj/item/organ/internal/tongue.html new file mode 100644 index 00000000000..64858609923 --- /dev/null +++ b/obj/item/organ/internal/tongue.html @@ -0,0 +1,137 @@ + + + + + + + /obj/item/organ/internal/tongue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tongue + + + +

+ + + + + + + + + + + + + + +

Vars

disliked_foodtypesFoodtypes this tongue dislikes
languages_nativeA list of languages which are native to this tongue
languages_possibleA cached list of paths of all the languages this tongue is capable of speaking
liked_foodtypesFoodtypes this tongue likes
modifies_speechWhether this tongue modifies speech via signal
say_modchanges the verbage of how you speak. (Permille -> says <-, "I just used a verb!") +i hate to say it, but because of sign language, this may have to be a component. and we may have to do some insane shit like putting a component on a component
sense_of_tasteWhether the owner of this tongue can taste anything. Being set to FALSE will mean no taste feedback will be provided.
taste_sensitivityDetermines how "sensitive" this tongue is to tasting things, lower is more sensitive. +See /mob/living/proc/get_taste_sensitivity.
temp_say_modfor temporary overrides of the above variable.
toxic_foodtypesFoodtypes this tongue HATES

Procs

apply_tongue_effectsApplies effects to our owner based on how damaged our tongue is
get_food_taste_reactionGets the food reaction a tongue would have from the food item, +assuming that no check_liked callback was used in the edible component.
get_possible_languagesUsed in setting up the "languages possible" list.
+

Var Details

disliked_foodtypes + + + + +

+

Foodtypes this tongue dislikes

languages_native + + + + +

+

A list of languages which are native to this tongue

+

When these languages are spoken with this tongue, and modifies speech is true, no modifications will be made +(such as no accent, hissing, or whatever)

languages_possible + + + + +

+

A cached list of paths of all the languages this tongue is capable of speaking

+

Relates to a mob's ability to speak a language - a mob must be able to speak the language +and have a tongue able to speak the language (or omnitongue) in order to actually speak said language

+

To modify this list for subtypes, see /obj/item/organ/internal/tongue/proc/get_possible_languages. Do not modify directly.

liked_foodtypes + + + + +

+

Foodtypes this tongue likes

modifies_speech + + + + +

+

Whether this tongue modifies speech via signal

say_mod + + + + +

+

changes the verbage of how you speak. (Permille -> says <-, "I just used a verb!") +i hate to say it, but because of sign language, this may have to be a component. and we may have to do some insane shit like putting a component on a component

sense_of_taste + + + + +

+

Whether the owner of this tongue can taste anything. Being set to FALSE will mean no taste feedback will be provided.

taste_sensitivity + + + + +

+

Determines how "sensitive" this tongue is to tasting things, lower is more sensitive. +See /mob/living/proc/get_taste_sensitivity.

temp_say_mod + + + + +

+

for temporary overrides of the above variable.

toxic_foodtypes + + + + +

+

Foodtypes this tongue HATES

Proc Details

apply_tongue_effects +

+

Applies effects to our owner based on how damaged our tongue is

get_food_taste_reaction +

+

Gets the food reaction a tongue would have from the food item, +assuming that no check_liked callback was used in the edible component.

+

Can be overriden by subtypes for more complex behavior. +Does not get called if the owner has ageusia.

get_possible_languages +

+

Used in setting up the "languages possible" list.

+

Override to have your tongue be only capable of speaking certain languages +Extend to hvae a tongue capable of speaking additional languages to the base tongue

+

While a user may be theoretically capable of speaking a language, they cannot physically speak it +UNLESS they have a tongue with that language possible, UNLESS UNLESS they have omnitongue enabled.

+ + + diff --git a/obj/item/pai_card.html b/obj/item/pai_card.html new file mode 100644 index 00000000000..549dfcdd742 --- /dev/null +++ b/obj/item/pai_card.html @@ -0,0 +1,116 @@ + + + + + + + /obj/item/pai_card - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pai_card + + + +

+ + + + + + + + + + + + +

Vars

alert_cooldownSpam alert prevention
emotion_iconThe emotion icon displayed.
paiAny pAI personalities inserted
request_spamPrevents a crew member from hitting "request pAI" repeatedly

Procs

add_alertFlashes the pai card screen
alert_updateAlerts pAI cards that someone has submitted candidacy
download_candidateDownloads a candidate from the list and removes them from SSpai.candidates
find_paiPings ghosts to announce that someone is requesting a pAI
pool_candidatesGathers a list of candidates to display in the download candidate +window. If the candidate isn't marked ready, ie they have not +pressed submit, they will be skipped over.
remove_alertRemoves any overlays
set_personalitySets the personality on the current pai_card
+

Var Details

alert_cooldown + + + + +

+

Spam alert prevention

emotion_icon + + + + +

+

The emotion icon displayed.

pai + + + + +

+

Any pAI personalities inserted

request_spam + + + + +

+

Prevents a crew member from hitting "request pAI" repeatedly

Proc Details

add_alert +

+

Flashes the pai card screen

alert_update +

+

Alerts pAI cards that someone has submitted candidacy

download_candidate +

+

Downloads a candidate from the list and removes them from SSpai.candidates

+

@param {string} ckey The ckey of the candidate to download

+

@returns {boolean} - TRUE if the candidate was downloaded, FALSE if not

find_pai +

+

Pings ghosts to announce that someone is requesting a pAI

+

@param {mob} user - The user who is requesting a pAI

+

@returns {boolean} - TRUE if the pAI was requested, FALSE if not

pool_candidates +

+

Gathers a list of candidates to display in the download candidate +window. If the candidate isn't marked ready, ie they have not +pressed submit, they will be skipped over.

+

@returns - An array of candidate objects.

remove_alert +

+

Removes any overlays

set_personality +

+

Sets the personality on the current pai_card

+

@param {silicon/pai} downloaded - The new pAI to load into the card.

+ + + diff --git a/obj/item/paint.html b/obj/item/paint.html new file mode 100644 index 00000000000..64dfe79149c --- /dev/null +++ b/obj/item/paint.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/paint - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paint + + + +

+ + + +

Vars

paint_colorWith what color will we paint with
paintleftHow many uses are left
+

Var Details

paint_color + + + + +

+

With what color will we paint with

paintleft + + + + +

+

How many uses are left

+ + + diff --git a/obj/item/paint/anycolor.html b/obj/item/paint/anycolor.html new file mode 100644 index 00000000000..ba10dfce819 --- /dev/null +++ b/obj/item/paint/anycolor.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/paint/anycolor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

anycolor + + + +

+ + +

Procs

check_menuChecks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with the menu
  • +
+ + + diff --git a/obj/item/paint_palette.html b/obj/item/paint_palette.html new file mode 100644 index 00000000000..035a0e41c5e --- /dev/null +++ b/obj/item/paint_palette.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paint_palette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paint_palette + + + +

+ +

Simple painting utility.

+

Vars

current_colorChosen paint color
+

Var Details

current_color + + + + +

+

Chosen paint color

+ + + diff --git a/obj/item/paper.html b/obj/item/paper.html new file mode 100644 index 00000000000..d5bae846f25 --- /dev/null +++ b/obj/item/paper.html @@ -0,0 +1,252 @@ + + + + + + + /obj/item/paper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

paper + + + +

+ +

Paper +also scraps of paper

+

lipstick wiping is in code/game/objects/items/weapons/cosmetics.dm!

+

Paper is now using markdown (like in github pull notes) for ALL rendering +so we do loose a bit of functionality but we gain in easy of use of +paper and getting rid of that crashing bug

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

camera_holderPaper can be shown via cameras. When that is done, a deep copy of the paper is made and stored as a var on the camera. +The paper is located in nullspace, and holds a weak ref to the camera that once contained it so the paper can do some +state checking on if it should be shown to a viewer.
contact_poisonReagent to transfer to the user when they pick the paper up without proper protection.
contact_poison_volumeVolume of contact_poison to transfer to the user when they pick the paper up without proper protection.
default_raw_textDefault raw text to fill this paper with on init.
input_field_countThe number of input fields
raw_field_input_dataLazylist of all fields that have had some input added to them.
raw_stamp_dataLazylist of all raw stamp data to be sent to tgui.
raw_text_inputsLazylist of raw, unsanitised, unparsed text inputs that have been made to the paper.
request_stateIf TRUE, staff can read paper everywhere, but usually from requests panel.
show_written_wordsWhether the icon should show little scribbly written words when the paper has some text on it.
stamp_cacheHelper cache that contains a list of all icon_states that are currently stamped on the paper.

Procs

add_field_inputThis simple helper adds the supplied input field data to the paper.
add_raw_textThis simple helper adds the supplied raw text to the paper, appending to the end of any existing contents.
add_stampThis simple helper adds the supplied stamp to the paper, appending to the end of any existing stamps.
clear_paperRemoves all input and all stamps from the paper, clearing it completely.
copyThis proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.
copy_field_textReturns a deep copy list of raw_field_input_data, or null if the list is empty or doesn't exist.
copy_raw_stampsReturns a deep copy list of raw_stamp_data, or null if the list is empty or doesn't exist. Does not copy overlays or stamp_cache, only the tgui rendered stamps.
copy_raw_textReturns a deep copy list of raw_text_inputs, or null if the list is empty or doesn't exist.
get_raw_textGet a single string representing the text on a page
is_emptyDetermines whether this paper has been written or stamped to.
make_planePaper plane folding
show_through_cameraAttempts to ui_interact the paper to the given user, with some sanity checking +to make sure the camera still exists via the weakref and that this paper is still +attached to it.
+

Var Details

camera_holder + + + + +

+

Paper can be shown via cameras. When that is done, a deep copy of the paper is made and stored as a var on the camera. +The paper is located in nullspace, and holds a weak ref to the camera that once contained it so the paper can do some +state checking on if it should be shown to a viewer.

contact_poison + + + + +

+

Reagent to transfer to the user when they pick the paper up without proper protection.

contact_poison_volume + + + + +

+

Volume of contact_poison to transfer to the user when they pick the paper up without proper protection.

default_raw_text + + + + +

+

Default raw text to fill this paper with on init.

input_field_count + + + + +

+

The number of input fields

raw_field_input_data + + + + +

+

Lazylist of all fields that have had some input added to them.

raw_stamp_data + + + + +

+

Lazylist of all raw stamp data to be sent to tgui.

raw_text_inputs + + + + +

+

Lazylist of raw, unsanitised, unparsed text inputs that have been made to the paper.

request_state + + + + +

+

If TRUE, staff can read paper everywhere, but usually from requests panel.

show_written_words + + + + +

+

Whether the icon should show little scribbly written words when the paper has some text on it.

stamp_cache + + + + +

+

Helper cache that contains a list of all icon_states that are currently stamped on the paper.

Proc Details

add_field_input +

+

This simple helper adds the supplied input field data to the paper.

+

It will not overwrite any existing input field data by default and will early return FALSE if this scenario happens unless overwrite is +set properly.

+

Other than that, this is a God proc that does not care about max length or out-of-range IDs and expects sanity checking beforehand if +you want to respect it.

+
    +
  • Arguments:
  • +
  • field_id - The ID number of the field to which this data applies.
  • +
  • text - The text to append to the paper.
  • +
  • font - The font to use.
  • +
  • color - The font color to use.
  • +
  • bold - Whether this text should be rendered completely bold.
  • +
  • overwrite - If TRUE, will overwrite existing field ID's data if it exists.
  • +

add_raw_text +

+

This simple helper adds the supplied raw text to the paper, appending to the end of any existing contents.

+

This a God proc that does not care about paper max length and expects sanity checking beforehand if you want to respect it.

+

The caller is expected to handle updating icons and appearance after adding text, to allow for more efficient batch adding loops.

+
    +
  • Arguments:
  • +
  • text - The text to append to the paper.
  • +
  • font - The font to use.
  • +
  • color - The font color to use.
  • +
  • bold - Whether this text should be rendered completely bold.
  • +
  • advanced_html - Boolean that is true when the writer has R_FUN permission, which sanitizes less HTML (such as images) from the new paper_input
  • +

add_stamp +

+

This simple helper adds the supplied stamp to the paper, appending to the end of any existing stamps.

+

This a God proc that does not care about stamp max count and expects sanity checking beforehand if you want to respect it.

+

It does however respect the overlay limit and will not apply any overlays past the cap.

+

The caller is expected to handle updating icons and appearance after adding text, to allow for more efficient batch adding loops.

+
    +
  • Arguments:
  • +
  • stamp_class - Div class for the stamp.
  • +
  • stamp_x - X coordinate to render the stamp in tgui.
  • +
  • stamp_y - Y coordinate to render the stamp in tgui.
  • +
  • rotation - Degrees of rotation for the stamp to be rendered with in tgui.
  • +
  • stamp_icon_state - Icon state for the stamp as part of overlay rendering.
  • +

clear_paper +

+

Removes all input and all stamps from the paper, clearing it completely.

copy +

+

This proc copies this sheet of paper to a new +sheet. Used by carbon papers and the photocopier machine.

+

Arguments

+
    +
  • paper_type - Type path of the new paper to create. Can copy anything to anything.
  • +
  • location - Where to spawn in the new copied paper.
  • +
  • colored - If true, the copied paper will be coloured and will inherit all colours.
  • +
  • greyscale_override - If set to a colour string and coloured is false, it will override the default of COLOR_WEBSAFE_DARK_GRAY when copying.
  • +

copy_field_text +

+

Returns a deep copy list of raw_field_input_data, or null if the list is empty or doesn't exist.

copy_raw_stamps +

+

Returns a deep copy list of raw_stamp_data, or null if the list is empty or doesn't exist. Does not copy overlays or stamp_cache, only the tgui rendered stamps.

copy_raw_text +

+

Returns a deep copy list of raw_text_inputs, or null if the list is empty or doesn't exist.

get_raw_text +

+

Get a single string representing the text on a page

is_empty +

+

Determines whether this paper has been written or stamped to.

make_plane +

+

Paper plane folding

+

Arguments:

+
    +
  • mob/living/user - who's folding
  • +
  • obj/item/I - what's being folded
  • +
  • obj/item/paperplane/plane_type - what it will be folded into (path)
  • +

show_through_camera +

+

Attempts to ui_interact the paper to the given user, with some sanity checking +to make sure the camera still exists via the weakref and that this paper is still +attached to it.

+ + + diff --git a/obj/item/paper/fake_report.html b/obj/item/paper/fake_report.html new file mode 100644 index 00000000000..49aab9bd615 --- /dev/null +++ b/obj/item/paper/fake_report.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/paper/fake_report - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fake_report + + + +

+ +

Reports printed by fake N-spect scanner

+

Not valid for the bounty.

+

Vars

scanned_areaWhat area the inspector scanned when the report was made. Used to generate the examine text of the report
+

Var Details

scanned_area + + + + +

+

What area the inspector scanned when the report was made. Used to generate the examine text of the report

+ + + diff --git a/obj/item/paper/fake_report/water.html b/obj/item/paper/fake_report/water.html new file mode 100644 index 00000000000..96ff587984a --- /dev/null +++ b/obj/item/paper/fake_report/water.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/paper/fake_report/water - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Fake report made of water + + + +

+ +

Fake report but it turns into water under certain circumstances.

+

If someone who isn't an origami master tries to fold it into a paper plane, it will make the floor it's on wet and disappear. +If it is ground, it will turn into 5u water.

+ + + diff --git a/obj/item/paper/monitorkey.html b/obj/item/paper/monitorkey.html new file mode 100644 index 00000000000..63baf09e1dc --- /dev/null +++ b/obj/item/paper/monitorkey.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/paper/monitorkey - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

monitorkey + + + +

+ +

Monitor decryption key paper

+

Procs

printHandles printing the monitor key for a given server onto this piece of paper.

Proc Details

print +

+

Handles printing the monitor key for a given server onto this piece of paper.

+ + + diff --git a/obj/item/paper/report.html b/obj/item/paper/report.html new file mode 100644 index 00000000000..687331f6f95 --- /dev/null +++ b/obj/item/paper/report.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paper/report - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

report + + + +

+ + +

Vars

scanned_areaWhat area the inspector scanned when the report was made. Used to verify the security bounty.
+

Var Details

scanned_area + + + + +

+

What area the inspector scanned when the report was made. Used to verify the security bounty.

+ + + diff --git a/obj/item/paper/secretrecipe.html b/obj/item/paper/secretrecipe.html new file mode 100644 index 00000000000..b014dd75bc0 --- /dev/null +++ b/obj/item/paper/secretrecipe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/paper/secretrecipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

secretrecipe + + + +

+ + + +

Vars

possible_recipesList of possible recipes we could display
recipe_idThe one we actually end up displaying
+

Var Details

possible_recipes + + + + +

+

List of possible recipes we could display

recipe_id + + + + +

+

The one we actually end up displaying

+ + + diff --git a/obj/item/paper_bin.html b/obj/item/paper_bin.html new file mode 100644 index 00000000000..f67c1739117 --- /dev/null +++ b/obj/item/paper_bin.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/paper_bin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

paper_bin + + + +

+ + + + + +

Vars

bin_overlayOverlay that goes over the paper overlays.
bin_overlay_stringName of icon that goes over the paper overlays.
pen_overlayOverlay of the pen on top of the bin.

Procs

generate_paperReturns a fresh piece of paper
+

Var Details

bin_overlay + + + + +

+

Overlay that goes over the paper overlays.

bin_overlay_string + + + + +

+

Name of icon that goes over the paper overlays.

pen_overlay + + + + +

+

Overlay of the pen on top of the bin.

Proc Details

generate_paper +

+

Returns a fresh piece of paper

+ + + diff --git a/obj/item/paper_bin/bundlenatural.html b/obj/item/paper_bin/bundlenatural.html new file mode 100644 index 00000000000..52d667d16eb --- /dev/null +++ b/obj/item/paper_bin/bundlenatural.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paper_bin/bundlenatural - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bundlenatural + + + +

+ + +

Vars

binding_cableCable this bundle is held together with.
+

Var Details

binding_cable + + + + +

+

Cable this bundle is held together with.

+ + + diff --git a/obj/item/papercutter.html b/obj/item/papercutter.html new file mode 100644 index 00000000000..52beb56cf5d --- /dev/null +++ b/obj/item/papercutter.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/papercutter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

papercutter + + + +

+ + + + + +

Vars

blade_securedWhether the cutter blade is secured or not.
cut_self_chanceThe chance for a clumsy person to cut themselves on the blade +Should probably be low-ish to prevent people spamming it quite so easily
stored_bladeThe blade currently loaded inside the cutter
stored_paperThe paper currently loaded inside the cutter
+

Var Details

blade_secured + + + + +

+

Whether the cutter blade is secured or not.

cut_self_chance + + + + +

+

The chance for a clumsy person to cut themselves on the blade +Should probably be low-ish to prevent people spamming it quite so easily

stored_blade + + + + +

+

The blade currently loaded inside the cutter

stored_paper + + + + +

+

The paper currently loaded inside the cutter

+ + + diff --git a/obj/item/paperwork.html b/obj/item/paperwork.html new file mode 100644 index 00000000000..61b312d7140 --- /dev/null +++ b/obj/item/paperwork.html @@ -0,0 +1,93 @@ + + + + + + + /obj/item/paperwork - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Paperwork + + + +

+ +

Paperwork documents that can be stamped by their associated stamp to provide a bonus to cargo.

+

Paperwork documents are a cargo item meant to provide the opportunity to make money. +Each piece of paperwork has its own associated stamp it needs to be stamped with. Selling a +properly stamped piece of paperwork will provide a cash bonus to the cargo budget. If a document is +not properly stamped it will instead drain a small stipend from the cargo budget.

+ + + + + + + +

Vars

detailed_descUsed to store the bonus text that displays when the paperwork's associated role reads it
stamp_iconThe specific stamp icon to be overlaid on the paperwork
stamp_jobThe path to the job of the associated paperwork form
stamp_overlayThe stamp overlay, used to show that the paperwork is complete without making a bunch of sprites
stamp_requestedThe stamp needed to "complete" this form.
stampedHas the paperwork been properly stamped

Procs

add_stampAdds the stamp overlay and sets "stamped" to true
copy_stamp_infoCopies the requested stamp, associated job, and associated icon of a given paperwork type
+

Var Details

detailed_desc + + + + +

+

Used to store the bonus text that displays when the paperwork's associated role reads it

stamp_icon + + + + +

+

The specific stamp icon to be overlaid on the paperwork

stamp_job + + + + +

+

The path to the job of the associated paperwork form

stamp_overlay + + + + +

+

The stamp overlay, used to show that the paperwork is complete without making a bunch of sprites

stamp_requested + + + + +

+

The stamp needed to "complete" this form.

stamped + + + + +

+

Has the paperwork been properly stamped

Proc Details

add_stamp +

+

Adds the stamp overlay and sets "stamped" to true

+

Adds the stamp overlay to a piece of paperwork, and sets "stamped" to true. +Handled as a proc so that an object may be maked as "stamped" even when a stamp isn't present (like the photocopier)

copy_stamp_info +

+

Copies the requested stamp, associated job, and associated icon of a given paperwork type

+

Copies the stamp/job related info of a given paperwork type to the object +Used to mutate photocopied/ancient paperwork into behaving like their subtype counterparts without the extra details

+ + + diff --git a/obj/item/paperwork/photocopy.html b/obj/item/paperwork/photocopy.html new file mode 100644 index 00000000000..40bae72b4b5 --- /dev/null +++ b/obj/item/paperwork/photocopy.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/paperwork/photocopy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

photocopy + + + +

+ + +

Vars

voidedHas the photocopy been marked with a "void" stamp. Used to prevent documents from draining money if they somehow make their way to cargo.
+

Var Details

voided + + + + +

+

Has the photocopy been marked with a "void" stamp. Used to prevent documents from draining money if they somehow make their way to cargo.

+ + + diff --git a/obj/item/pen/edagger.html b/obj/item/pen/edagger.html new file mode 100644 index 00000000000..246b336ccc1 --- /dev/null +++ b/obj/item/pen/edagger.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/pen/edagger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

edagger + + + +

+ + + + +

Vars

hidden_descThe real desc of our item when extended.
hidden_iconThe real icons used when extended.
hidden_nameThe real name of our item when extended.
+

Var Details

hidden_desc + + + + +

+

The real desc of our item when extended.

hidden_icon + + + + +

+

The real icons used when extended.

hidden_name + + + + +

+

The real name of our item when extended.

+ + + diff --git a/obj/item/petri_dish.html b/obj/item/petri_dish.html new file mode 100644 index 00000000000..f699e1cf881 --- /dev/null +++ b/obj/item/petri_dish.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/petri_dish - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

petri_dish + + + +

+ +

Holds a biological sample which can then be put into the growing vat

+

Vars

sampleThe sample stored on the dish
+

Var Details

sample + + + + +

+

The sample stored on the dish

+ + + diff --git a/obj/item/ph_booklet.html b/obj/item/ph_booklet.html new file mode 100644 index 00000000000..e6ffa3f00fd --- /dev/null +++ b/obj/item/ph_booklet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ph_booklet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ph_booklet + + + +

+ + +

Vars

number_of_pagesHow many pages the booklet holds
+

Var Details

number_of_pages + + + + +

+

How many pages the booklet holds

+ + + diff --git a/obj/item/ph_meter.html b/obj/item/ph_meter.html new file mode 100644 index 00000000000..3692d71074b --- /dev/null +++ b/obj/item/ph_meter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ph_meter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ph_meter + + + +

+ + +

Vars

scanmodelevel of detail for output for the meter
+

Var Details

scanmode + + + + +

+

level of detail for output for the meter

+ + + diff --git a/obj/item/ph_paper.html b/obj/item/ph_paper.html new file mode 100644 index 00000000000..70a68f1bc50 --- /dev/null +++ b/obj/item/ph_paper.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/ph_paper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ph_paper + + + +

+ + +

Vars

usedIf the paper was used, and therefore cannot change color again
+

Var Details

used + + + + +

+

If the paper was used, and therefore cannot change color again

+ + + diff --git a/obj/item/photo.html b/obj/item/photo.html new file mode 100644 index 00000000000..af88040ccf1 --- /dev/null +++ b/obj/item/photo.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/photo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

photo + + + +

+ + +

Procs

update_icon_stateDont bother with this last bit if we can't see ghosts

Proc Details

update_icon_state +

+

Dont bother with this last bit if we can't see ghosts

+ + + diff --git a/obj/item/pillow.html b/obj/item/pillow.html new file mode 100644 index 00000000000..04efc2787bd --- /dev/null +++ b/obj/item/pillow.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/pillow - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pillow + + + +

+ + + + + + + + + +

Vars

brickedif we have a brick inside us
hit_soundfor alternating between hard hitting sound vs soft hitting sound
last_fighterwhoever last use this pillow
pillow_trophypillow tag is attached to it
tag_descchange the description based on the pillow tag
variationfor selecting the various sprite variation, defaults to the blank white pillow

Procs

become_brickedPuts a brick inside the pillow, increasing it's damage
smotheringSmothers the victim while the do_after succeeds and the victim is laying down or being strangled
+

Var Details

bricked + + + + +

+

if we have a brick inside us

hit_sound + + + + +

+

for alternating between hard hitting sound vs soft hitting sound

last_fighter + + + + +

+

whoever last use this pillow

pillow_trophy + + + + +

+

pillow tag is attached to it

tag_desc + + + + +

+

change the description based on the pillow tag

variation + + + + +

+

for selecting the various sprite variation, defaults to the blank white pillow

Proc Details

become_bricked +

+

Puts a brick inside the pillow, increasing it's damage

smothering +

+

Smothers the victim while the do_after succeeds and the victim is laying down or being strangled

+ + + diff --git a/obj/item/pinata.html b/obj/item/pinata.html new file mode 100644 index 00000000000..cb0b86eb2c9 --- /dev/null +++ b/obj/item/pinata.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/pinata - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pinata + + + +

+ +

An item that when used inhand spawns an immovable pinata

+

Vars

pinata_typeThe pinata that is created when this is placed.
+

Var Details

pinata_type + + + + +

+

The pinata that is created when this is placed.

+ + + diff --git a/obj/item/pinpointer.html b/obj/item/pinpointer.html new file mode 100644 index 00000000000..50998fce9b6 --- /dev/null +++ b/obj/item/pinpointer.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pinpointer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pinpointer + + + +

+ + +

Procs

get_direction_iconCalled by update_icon after sanity. There is a target

Proc Details

get_direction_icon +

+

Called by update_icon after sanity. There is a target

+ + + diff --git a/obj/item/pinpointer/crew.html b/obj/item/pinpointer/crew.html new file mode 100644 index 00000000000..c8b44b98e07 --- /dev/null +++ b/obj/item/pinpointer/crew.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pinpointer/crew - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

crew + + + +

+ + +

Procs

trackableDo we find people even if their suit sensors are turned off

Proc Details

trackable +

+

Do we find people even if their suit sensors are turned off

+ + + diff --git a/obj/item/pipe.html b/obj/item/pipe.html new file mode 100644 index 00000000000..5e26e1de38c --- /dev/null +++ b/obj/item/pipe.html @@ -0,0 +1,84 @@ + + + + + + + /obj/item/pipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pipe + + + +

+ + + + + + + + +

Vars

RPD_typeType of pipe-object made, selected from the RPD
p_init_dirInitial direction of the created pipe (either made from the RPD or after unwrenching the pipe)
paintableWhether it can be painted
pipe_colorColor of the pipe is going to be made from this pipe-object
piping_layerPiping layer that we are going to be on

Procs

check_ninety_degree_dirCheck if the pipe on the turf and our to be placed binary pipe are perpendicular to each other
try_smart_reconfigurationAttempt to automatically resolve a pipe conflict by reconfiguring any smart pipes involved.
+

Var Details

RPD_type + + + + +

+

Type of pipe-object made, selected from the RPD

p_init_dir + + + + +

+

Initial direction of the created pipe (either made from the RPD or after unwrenching the pipe)

paintable + + + + +

+

Whether it can be painted

pipe_color + + + + +

+

Color of the pipe is going to be made from this pipe-object

piping_layer + + + + +

+

Piping layer that we are going to be on

Proc Details

check_ninety_degree_dir +

+

Check if the pipe on the turf and our to be placed binary pipe are perpendicular to each other

try_smart_reconfiguration +

+

Attempt to automatically resolve a pipe conflict by reconfiguring any smart pipes involved.

+

Constraints:

+
    +
  • A smart pipe cannot have current connections reconfigured.
  • +
  • A smart pipe cannot have fewer than two directions in which it will connect.
  • +
  • A smart pipe, existing or new, will not automatically reconfigure itself to permit directions it was not previously permitting.
  • +
+ + + diff --git a/obj/item/pipe_dispenser.html b/obj/item/pipe_dispenser.html new file mode 100644 index 00000000000..a5e0e6ecf09 --- /dev/null +++ b/obj/item/pipe_dispenser.html @@ -0,0 +1,162 @@ + + + + + + + /obj/item/pipe_dispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pipe_dispenser + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

atmos_build_speedSpeed of building atmos devices
categoryCategory currently active (Atmos, disposal, transit)
disposal_build_speedSpeed of building disposal devices
ducting_layerLayer for disposal ducts
first_atmosStores the first atmos device
first_disposalStores the first disposal device
first_transitStores the first transit device
modeThe modes that are allowed for the RPD
p_dirDirection of the device we are going to spawn, set up in the UI
p_flippedIs the device of the flipped type?
p_init_dirInitial direction of the smart pipe we are going to spawn, set up in the UI
paint_colorColor of the device we are going to spawn
piping_layerPiping layer we are going to spawn the atmos device in
recipeStores the current device to spawn
spark_systemSparks system used when changing device in the UI
transit_build_speedSpeed of building transit devices
upgrade_flagsBitflags for upgrades

Procs

install_upgradeInstalls an upgrade into the RPD after checking if it is already installed
mouse_wheeledChanges the piping layer when the mousewheel is scrolled up or down.
+

Var Details

atmos_build_speed + + + + +

+

Speed of building atmos devices

category + + + + +

+

Category currently active (Atmos, disposal, transit)

disposal_build_speed + + + + +

+

Speed of building disposal devices

ducting_layer + + + + +

+

Layer for disposal ducts

first_atmos + + + + +

+

Stores the first atmos device

first_disposal + + + + +

+

Stores the first disposal device

first_transit + + + + +

+

Stores the first transit device

mode + + + + +

+

The modes that are allowed for the RPD

p_dir + + + + +

+

Direction of the device we are going to spawn, set up in the UI

p_flipped + + + + +

+

Is the device of the flipped type?

p_init_dir + + + + +

+

Initial direction of the smart pipe we are going to spawn, set up in the UI

paint_color + + + + +

+

Color of the device we are going to spawn

piping_layer + + + + +

+

Piping layer we are going to spawn the atmos device in

recipe + + + + +

+

Stores the current device to spawn

spark_system + + + + +

+

Sparks system used when changing device in the UI

transit_build_speed + + + + +

+

Speed of building transit devices

upgrade_flags + + + + +

+

Bitflags for upgrades

Proc Details

install_upgrade +

+

Installs an upgrade into the RPD after checking if it is already installed

mouse_wheeled +

+

Changes the piping layer when the mousewheel is scrolled up or down.

+ + + diff --git a/obj/item/pitchfork.html b/obj/item/pitchfork.html new file mode 100644 index 00000000000..015f8a7f575 --- /dev/null +++ b/obj/item/pitchfork.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/pitchfork - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

pitchfork + + + +

+ +

Pitchfork item

+

Essentially spears with different stats and sprites. +Also fireproof for some reason.

+ + + diff --git a/obj/item/pizzabox.html b/obj/item/pizzabox.html new file mode 100644 index 00000000000..b4107718ea2 --- /dev/null +++ b/obj/item/pizzabox.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/pizzabox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pizzabox + + + +

+ + + + + + +

Vars

bomb_timer_maxMax bomb timer allower in seconds
bomb_timer_minMin bomb timer allowed in seconds
boxtag_setUsed to make sure artisinal box tags aren't overwritten.
foldableUsed so that you can not destroy the infinite pizza box

Procs

add_contextscreentips for pizzaboxes
+

Var Details

bomb_timer_max + + + + +

+

Max bomb timer allower in seconds

bomb_timer_min + + + + +

+

Min bomb timer allowed in seconds

boxtag_set + + + + +

+

Used to make sure artisinal box tags aren't overwritten.

foldable + + + + +

+

Used so that you can not destroy the infinite pizza box

Proc Details

add_context +

+

screentips for pizzaboxes

+ + + diff --git a/obj/item/pizzabox/infinite.html b/obj/item/pizzabox/infinite.html new file mode 100644 index 00000000000..ea8ba4ed4a1 --- /dev/null +++ b/obj/item/pizzabox/infinite.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/pizzabox/infinite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

infinite + + + +

+ + + +

Vars

pizza_preferencesList of ckeys and their favourite pizzas. e.g. pizza_preferences[ckey] = /obj/item/food/pizza/meat
pizza_typesList of pizzas this box can spawn. Weighted by chance to be someone's favorite.
+

Var Details

pizza_preferences + + + + +

+

List of ckeys and their favourite pizzas. e.g. pizza_preferences[ckey] = /obj/item/food/pizza/meat

pizza_types + + + + +

+

List of pizzas this box can spawn. Weighted by chance to be someone's favorite.

+ + + diff --git a/obj/item/plant_analyzer.html b/obj/item/plant_analyzer.html new file mode 100644 index 00000000000..1ea0de98796 --- /dev/null +++ b/obj/item/plant_analyzer.html @@ -0,0 +1,138 @@ + + + + + + + /obj/item/plant_analyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

plant_analyzer + + + +

+ + + + + + + + + + + +

Procs

get_analyzer_text_chem_contentsThis proc is formats the chemical CONTENTS of a plant into a message.
get_analyzer_text_chem_genesThis proc is formats the chemical GENES of a seed into a message.
get_analyzer_text_traitsThis proc is formats the traits and stats of a seed into a message.
get_graft_textThis proc is formats the scan of a graft of a seed into a message.
pre_attackWhen we attack something, first - try to scan something we hit with left click. Left-clicking uses scans for stats
pre_attack_secondarySame as above, but with right click. Right-clicking scans for chemicals.
scan_plant_chemsThis proc is called when a seed or any grown plant is scanned on right click (chemical mode). +It formats the plant name as well as its chemical contents.
scan_plant_statsThis proc is called when a seed or any grown plant is scanned on left click (stats mode). +It formats the plant name as well as either its traits and stats.
scan_tray_chemsThis proc is called when we scan a hydroponics tray or soil on right click (chemicals mode) +It formats the plant name and age, as well as the plant's chemical genes and the tray's contents.
scan_tray_statsThis proc is called when we scan a hydroponics tray or soil on left click (stats mode) +It formats the plant name, it's age, the plant's stats, and the tray's stats.

Proc Details

get_analyzer_text_chem_contents +

+

This proc is formats the chemical CONTENTS of a plant into a message.

+
    +
  • scanned_plant - the source plant we are reading out its reagents contents.
  • +
+

Returns the formatted output as text.

get_analyzer_text_chem_genes +

+

This proc is formats the chemical GENES of a seed into a message.

+
    +
  • scanned - the source seed for what we are scanning for chemical genes.
  • +
+

Returns the formatted output as text.

get_analyzer_text_traits +

+

This proc is formats the traits and stats of a seed into a message.

+
    +
  • scanned - the source seed for what we are scanning for traits.
  • +
+

Returns the formatted output as text.

get_graft_text +

+

This proc is formats the scan of a graft of a seed into a message.

+
    +
  • scanned_graft - the graft for what we are scanning.
  • +
+

Returns the formatted output as text.

pre_attack +

+

When we attack something, first - try to scan something we hit with left click. Left-clicking uses scans for stats

pre_attack_secondary +

+

Same as above, but with right click. Right-clicking scans for chemicals.

scan_plant_chems +

+

This proc is called when a seed or any grown plant is scanned on right click (chemical mode). +It formats the plant name as well as its chemical contents.

+
    +
  • scanned_object - the source objecte for what we are scanning. This can be a grown food, a grown inedible, or a seed.
  • +
+

Returns the formatted output as text.

scan_plant_stats +

+

This proc is called when a seed or any grown plant is scanned on left click (stats mode). +It formats the plant name as well as either its traits and stats.

+
    +
  • scanned_object - the source objecte for what we are scanning. This can be a grown food, a grown inedible, or a seed.
  • +
+

Returns the formatted output as text.

scan_tray_chems +

+

This proc is called when we scan a hydroponics tray or soil on right click (chemicals mode) +It formats the plant name and age, as well as the plant's chemical genes and the tray's contents.

+
    +
  • scanned_tray - the tray or soil we are scanning.
  • +
+

Returns the formatted message as text.

scan_tray_stats +

+

This proc is called when we scan a hydroponics tray or soil on left click (stats mode) +It formats the plant name, it's age, the plant's stats, and the tray's stats.

+
    +
  • scanned_tray - the tray or soil we are scanning.
  • +
+

Returns the formatted message as text.

+ + + diff --git a/obj/item/plaque.html b/obj/item/plaque.html new file mode 100644 index 00000000000..e9bb3187c6c --- /dev/null +++ b/obj/item/plaque.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/plaque - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plaque + + + +

+ + + +

Vars

engravedCustom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again.
plaque_pathThis points the item to make the proper structure when placed on a wall.
+

Var Details

engraved + + + + +

+

Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again.

plaque_path + + + + +

+

This points the item to make the proper structure when placed on a wall.

+ + + diff --git a/obj/item/plate.html b/obj/item/plate.html new file mode 100644 index 00000000000..e59306fc135 --- /dev/null +++ b/obj/item/plate.html @@ -0,0 +1,94 @@ + + + + + + + /obj/item/plate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

plate + + + +

+ + + + + + + + + + +

Vars

biggest_w_classThe largest weight class we can carry, inclusive. +IE, if we this is normal, we can carry normal items or smaller.
fragileIf the plate will shatter when thrown
max_height_offsetThe max height offset the food can reach on the plate
max_itemsHow many things fit on this plate?
max_x_offsetThe offset from side to side the food items can have on the plate
placement_offsetOffset of where the click is calculated from, due to how food is positioned in their DMIs.

Procs

AddToPlateThis proc adds the food to viscontents and makes sure it can deregister if this changes.
ItemMovedThis proc is called by signals that remove the food from the plate.
ItemRemovedFromPlateThis proc cleans up any signals on the item when it is removed from a plate, and ensures it has the correct state again.
+

Var Details

biggest_w_class + + + + +

+

The largest weight class we can carry, inclusive. +IE, if we this is normal, we can carry normal items or smaller.

fragile + + + + +

+

If the plate will shatter when thrown

max_height_offset + + + + +

+

The max height offset the food can reach on the plate

max_items + + + + +

+

How many things fit on this plate?

max_x_offset + + + + +

+

The offset from side to side the food items can have on the plate

placement_offset + + + + +

+

Offset of where the click is calculated from, due to how food is positioned in their DMIs.

Proc Details

AddToPlate +

+

This proc adds the food to viscontents and makes sure it can deregister if this changes.

ItemMoved +

+

This proc is called by signals that remove the food from the plate.

ItemRemovedFromPlate +

+

This proc cleans up any signals on the item when it is removed from a plate, and ensures it has the correct state again.

+ + + diff --git a/obj/item/plate_shard.html b/obj/item/plate_shard.html new file mode 100644 index 00000000000..7cd7e74b05e --- /dev/null +++ b/obj/item/plate_shard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/plate_shard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plate_shard + + + +

+ + +

Vars

variantsHow many variants of shard there are
+

Var Details

variants + + + + +

+

How many variants of shard there are

+ + + diff --git a/obj/item/plunger.html b/obj/item/plunger.html new file mode 100644 index 00000000000..6a5fcec6790 --- /dev/null +++ b/obj/item/plunger.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/plunger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plunger + + + +

+ +

A wearable tool that lets you empty plumbing machinery and some other stuff

+ + + + +

Vars

layer_modeWheter we're in layer mode
layer_mode_spritealt sprite for the toggleable layer change mode
plunge_modtime*plunge_mod = total time we take to plunge an object
reinforcedwhether we do heavy duty stuff like geysers
target_layerWhat layer we set it to
+

Var Details

layer_mode + + + + +

+

Wheter we're in layer mode

layer_mode_sprite + + + + +

+

alt sprite for the toggleable layer change mode

plunge_mod + + + + +

+

time*plunge_mod = total time we take to plunge an object

reinforced + + + + +

+

whether we do heavy duty stuff like geysers

target_layer + + + + +

+

What layer we set it to

+ + + diff --git a/obj/item/polymorph_belt.html b/obj/item/polymorph_belt.html new file mode 100644 index 00000000000..b2fe24ff3d9 --- /dev/null +++ b/obj/item/polymorph_belt.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/polymorph_belt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

polymorph_belt + + + +

+ +

Belt which can turn you into a beast, once an anomaly core is inserted

+ + + +

Vars

activeHave we activated the belt?
stored_mob_typeTypepath of a mob we have scanned, we only store one at a time
transform_actionOur current transformation action

Procs

update_transform_actionMake sure we can transform into the scanned target
+

Var Details

active + + + + +

+

Have we activated the belt?

stored_mob_type + + + + +

+

Typepath of a mob we have scanned, we only store one at a time

transform_action + + + + +

+

Our current transformation action

Proc Details

update_transform_action +

+

Make sure we can transform into the scanned target

+ + + diff --git a/obj/item/poster.html b/obj/item/poster.html new file mode 100644 index 00000000000..8561e661979 --- /dev/null +++ b/obj/item/poster.html @@ -0,0 +1,32 @@ + + + + + + + /obj/item/poster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

poster + + + +

+ +

The rolled up item form of a poster

+

In order to create one of these for a specific poster, you must pass the structure form of the poster as an argument to /new(). +This structure then gets moved into the contents of the item where it will stay until the poster is placed by a player. +The structure form is obj/structure/sign/poster and that's where all the specific posters are defined. +If you just want a random poster, see /obj/item/poster/random_official or /obj/item/poster/random_contraband

+ + + diff --git a/obj/item/poster/quirk.html b/obj/item/poster/quirk.html new file mode 100644 index 00000000000..77e4a5fbc5f --- /dev/null +++ b/obj/item/poster/quirk.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/poster/quirk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

quirk + + + +

+ + + + +

Vars

quirk_poster_departmentPeople from the selected department will gain a mood buff. If no department is specified applies to the entire crew.

Procs

add_contextScreentip for the above
attackbyYou can use any spraypaint can on a quirk poster to turn it into a contraband poster from the traitor objective
+

Var Details

quirk_poster_department + + + + +

+

People from the selected department will gain a mood buff. If no department is specified applies to the entire crew.

Proc Details

add_context +

+

Screentip for the above

attackby +

+

You can use any spraypaint can on a quirk poster to turn it into a contraband poster from the traitor objective

+ + + diff --git a/obj/item/powersink.html b/obj/item/powersink.html new file mode 100644 index 00000000000..f742ad28511 --- /dev/null +++ b/obj/item/powersink.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/powersink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

powersink + + + +

+ +

Stop warning spam, only warn the admins/deadchat once that we are about to boom.

+ +

Procs

drain_powerDrains power from the connected powernet, if any.
release_heatRemoves internal heat and shares it with the atmosphere.

Proc Details

drain_power +

+

Drains power from the connected powernet, if any.

release_heat +

+

Removes internal heat and shares it with the atmosphere.

+ + + diff --git a/obj/item/pressure_plate.html b/obj/item/pressure_plate.html new file mode 100644 index 00000000000..414962dc1c3 --- /dev/null +++ b/obj/item/pressure_plate.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/pressure_plate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pressure_plate + + + +

+ + +

Procs

ToggleActiveCalled from COMSIG_OBJ_HIDE to toggle the active part, because yeah im not making a special exception on the element to support it

Proc Details

ToggleActive +

+

Called from COMSIG_OBJ_HIDE to toggle the active part, because yeah im not making a special exception on the element to support it

+ + + diff --git a/obj/item/pressure_plate/puzzle.html b/obj/item/pressure_plate/puzzle.html new file mode 100644 index 00000000000..90c09d89a51 --- /dev/null +++ b/obj/item/pressure_plate/puzzle.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/pressure_plate/puzzle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzle + + + +

+ + + +

Vars

puzzle_idpuzzle id we send if stepped on
queue_sizequeue size must match
+

Var Details

puzzle_id + + + + +

+

puzzle id we send if stepped on

queue_size + + + + +

+

queue size must match

+ + + diff --git a/obj/item/pushbroom.html b/obj/item/pushbroom.html new file mode 100644 index 00000000000..ddfb3af3a63 --- /dev/null +++ b/obj/item/pushbroom.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/pushbroom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pushbroom + + + +

+ + + + +

Procs

on_unwieldHandles unregistering the sweep proc when the broom is unwielded
on_wieldHandles registering the sweep proc when the broom is wielded
sweepAttempts to push up to BROOM_PUSH_LIMIT atoms from a given location the user's faced direction

Proc Details

on_unwield +

+

Handles unregistering the sweep proc when the broom is unwielded

+

Arguments:

+
    +
  • source - The source of the on_unwield proc call
  • +
  • user - The user which is unwielding the broom
  • +

on_wield +

+

Handles registering the sweep proc when the broom is wielded

+

Arguments:

+
    +
  • source - The source of the on_wield proc call
  • +
  • user - The user which is wielding the broom
  • +

sweep +

+

Attempts to push up to BROOM_PUSH_LIMIT atoms from a given location the user's faced direction

+

Arguments:

+
    +
  • user - The user of the pushbroom
  • +
  • A - The atom which is located at the location to push atoms from
  • +
+ + + diff --git a/obj/item/quantum_keycard.html b/obj/item/quantum_keycard.html new file mode 100644 index 00000000000..32e90696121 --- /dev/null +++ b/obj/item/quantum_keycard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/quantum_keycard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

quantum_keycard + + + +

+ + +

Vars

gags_coloringwhere the pad is located and what color the card will become
+

Var Details

gags_coloring + + + + +

+

where the pad is located and what color the card will become

+ + + diff --git a/obj/item/queen_bee.html b/obj/item/queen_bee.html new file mode 100644 index 00000000000..5ae83201bae --- /dev/null +++ b/obj/item/queen_bee.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/queen_bee - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

queen_bee + + + +

+ + +

Vars

queenThe actual mob that our bee item corresponds to
+

Var Details

queen + + + + +

+

The actual mob that our bee item corresponds to

+ + + diff --git a/obj/item/radio.html b/obj/item/radio.html new file mode 100644 index 00000000000..082d05ee567 --- /dev/null +++ b/obj/item/radio.html @@ -0,0 +1,300 @@ + + + + + + + /obj/item/radio - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

radio + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

anonymizemakes anyone who is talking through this anonymous.
broadcastingWhether the radio will transmit dialogue it hears nearby into its radio channel.
canhear_rangeBoth the range around the radio in which mobs can hear what it receives and the range the radio can hear
channelsassociative list of the encrypted radio channels this radio is currently set to listen/broadcast to, of the form: list(channel name = TRUE or FALSE)
commandIf true, use_command can be toggled at will.
empedTracks the number of EMPs currently stacked.
freerangeIf true, the radio has access to the full spectrum.
freqlockFrequency lock to stop the user from untuning specialist radios.
frequencythe "default" radio frequency this radio is set to, listens and transmits to this frequency by default. wont work if the channel is encrypted
independentIf true, can say/hear on the special CentCom channel.
keyslotEncryption key handling
listeningWhether the radio is currently receiving radio messages from its radio frequencies.
onif FALSE, broadcasting and listening dont matter and this radio shouldnt do anything
overlay_mic_activeoverlay when speaking a message (is displayed simultaniously with speaker_active)
overlay_mic_idleoverlay when mic is on
overlay_speaker_activeoverlay when recieving a message
overlay_speaker_idleoverlay when speaker is on
perform_update_iconWhen set to FALSE, will avoid calling update_icon() in set_broadcasting and co. +Used to save time on updating icon several times over initialization.
secure_radio_connectionsassociative list of the encrypted radio channels this radio can listen/broadcast to, of the form: list(channel name = channel frequency)
should_be_broadcastingused for tracking what broadcasting should be in the absence of things forcing it off, eg its set to broadcast but gets emp'd temporarily
should_be_listeningused for tracking what listening should be in the absence of things forcing it off, eg its set to listen but gets emp'd temporarily
should_update_iconIf TRUE, will set the icon in initializations.
subspace_switchableIf true, subspace_transmission can be toggled at will.
subspace_transmissionIf true, the radio transmits and receives on subspace exclusively.
syndieIf true, hears all well-known channels automatically, and can say/hear on the Syndicate channel. Also protects from radio jammers.
translate_binaryIf true, can hear the special binary channel.
unscrewedWhether wires are accessible. Toggleable by screwdrivering.
use_commandIf true, broadcasts will be large and BOLD.

Procs

can_receiveChecks if this radio can receive on the given frequency.
get_broadcastingsimple getter for the broadcasting variable. necessary due to VAR_PROTECTED
get_frequencysimple getter for the frequency variable. necessary due to VAR_PROTECTED
get_listeningsimple getter for the listening variable. necessary due to VAR_PROTECTED
is_onsimple getter for the on variable. necessary due to VAR_PROTECTED
readd_listening_radio_channelsgoes through all radio channels we should be listening for and readds them to the global list
set_broadcastingsetter for broadcasting that makes us not hearing sensitive if not broadcasting and hearing sensitive if broadcasting +hearing sensitive in this case only matters for the purposes of listening for words said in nearby tiles, talking into us directly bypasses hearing
set_listeningsetter for the listener var, adds or removes this radio from the global radio list if we are also on
set_onsetter for the on var that sets both broadcasting and listening to off or whatever they were supposed to be
+

Var Details

anonymize + + + + +

+

makes anyone who is talking through this anonymous.

broadcasting + + + + +

+

Whether the radio will transmit dialogue it hears nearby into its radio channel.

canhear_range + + + + +

+

Both the range around the radio in which mobs can hear what it receives and the range the radio can hear

channels + + + + +

+

associative list of the encrypted radio channels this radio is currently set to listen/broadcast to, of the form: list(channel name = TRUE or FALSE)

command + + + + +

+

If true, use_command can be toggled at will.

emped + + + + +

+

Tracks the number of EMPs currently stacked.

freerange + + + + +

+

If true, the radio has access to the full spectrum.

freqlock + + + + +

+

Frequency lock to stop the user from untuning specialist radios.

frequency + + + + +

+

the "default" radio frequency this radio is set to, listens and transmits to this frequency by default. wont work if the channel is encrypted

independent + + + + +

+

If true, can say/hear on the special CentCom channel.

keyslot + + + + +

+

Encryption key handling

listening + + + + +

+

Whether the radio is currently receiving radio messages from its radio frequencies.

on + + + + +

+

if FALSE, broadcasting and listening dont matter and this radio shouldnt do anything

overlay_mic_active + + + + +

+

overlay when speaking a message (is displayed simultaniously with speaker_active)

overlay_mic_idle + + + + +

+

overlay when mic is on

overlay_speaker_active + + + + +

+

overlay when recieving a message

overlay_speaker_idle + + + + +

+

overlay when speaker is on

perform_update_icon + + + + +

+

When set to FALSE, will avoid calling update_icon() in set_broadcasting and co. +Used to save time on updating icon several times over initialization.

secure_radio_connections + + + + +

+

associative list of the encrypted radio channels this radio can listen/broadcast to, of the form: list(channel name = channel frequency)

should_be_broadcasting + + + + +

+

used for tracking what broadcasting should be in the absence of things forcing it off, eg its set to broadcast but gets emp'd temporarily

should_be_listening + + + + +

+

used for tracking what listening should be in the absence of things forcing it off, eg its set to listen but gets emp'd temporarily

should_update_icon + + + + +

+

If TRUE, will set the icon in initializations.

subspace_switchable + + + + +

+

If true, subspace_transmission can be toggled at will.

subspace_transmission + + + + +

+

If true, the radio transmits and receives on subspace exclusively.

syndie + + + + +

+

If true, hears all well-known channels automatically, and can say/hear on the Syndicate channel. Also protects from radio jammers.

translate_binary + + + + +

+

If true, can hear the special binary channel.

unscrewed + + + + +

+

Whether wires are accessible. Toggleable by screwdrivering.

use_command + + + + +

+

If true, broadcasts will be large and BOLD.

Proc Details

can_receive +

+

Checks if this radio can receive on the given frequency.

get_broadcasting +

+

simple getter for the broadcasting variable. necessary due to VAR_PROTECTED

get_frequency +

+

simple getter for the frequency variable. necessary due to VAR_PROTECTED

get_listening +

+

simple getter for the listening variable. necessary due to VAR_PROTECTED

is_on +

+

simple getter for the on variable. necessary due to VAR_PROTECTED

readd_listening_radio_channels +

+

goes through all radio channels we should be listening for and readds them to the global list

set_broadcasting +

+

setter for broadcasting that makes us not hearing sensitive if not broadcasting and hearing sensitive if broadcasting +hearing sensitive in this case only matters for the purposes of listening for words said in nearby tiles, talking into us directly bypasses hearing

+
    +
  • new_broadcasting- the new value we want to set broadcasting to
  • +
  • actual_setting - whether or not the radio is supposed to be broadcasting, sets should_be_broadcasting to the new value if true, otherwise just changes broadcasting
  • +

set_listening +

+

setter for the listener var, adds or removes this radio from the global radio list if we are also on

+
    +
  • new_listening - the new value we want to set listening to
  • +
  • actual_setting - whether or not the radio is supposed to be listening, sets should_be_listening to the new listening value if true, otherwise just changes listening
  • +

set_on +

+

setter for the on var that sets both broadcasting and listening to off or whatever they were supposed to be

+ + + diff --git a/obj/item/radio/headset.html b/obj/item/radio/headset.html new file mode 100644 index 00000000000..6b78ff657bb --- /dev/null +++ b/obj/item/radio/headset.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/radio/headset - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

headset + + + +

+ + + +

Vars

language_listA list of all languages that this headset allows the user to understand. Populated by language encryption keys.

Procs

grant_headset_languagesGrants all the languages this headset allows the mob to understand via installed chips.
+

Var Details

language_list + + + + +

+

A list of all languages that this headset allows the user to understand. Populated by language encryption keys.

Proc Details

grant_headset_languages +

+

Grants all the languages this headset allows the mob to understand via installed chips.

+ + + diff --git a/obj/item/radio/intercom.html b/obj/item/radio/intercom.html new file mode 100644 index 00000000000..2daf462d749 --- /dev/null +++ b/obj/item/radio/intercom.html @@ -0,0 +1,66 @@ + + + + + + + /obj/item/radio/intercom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

intercom + + + +

+ + + + + +

Vars

icon_offThe icon of intercom while its turned off

Procs

AreaPowerCheckProc called whenever the intercom's area loses or gains power. Responsible for setting the on variable and calling update_icon().
attack_tk_grabOverride attack_tk_grab instead of attack_tk because we actually want attack_tk's +functionality. What we DON'T want is attack_tk_grab attempting to pick up the +intercom as if it was an ordinary item.
knock_downCalled by the wall mount component and reused during the tool deconstruction proc.
+

Var Details

icon_off + + + + +

+

The icon of intercom while its turned off

Proc Details

AreaPowerCheck +

+

Proc called whenever the intercom's area loses or gains power. Responsible for setting the on variable and calling update_icon().

+

Normally called after the intercom's area receives the COMSIG_AREA_POWER_CHANGE signal, but it can also be called directly. +Arguments:

+
    +
  • source - the area that just had a power change.
  • +

attack_tk_grab +

+

Override attack_tk_grab instead of attack_tk because we actually want attack_tk's +functionality. What we DON'T want is attack_tk_grab attempting to pick up the +intercom as if it was an ordinary item.

knock_down +

+

Called by the wall mount component and reused during the tool deconstruction proc.

+ + + diff --git a/obj/item/raw_anomaly_core.html b/obj/item/raw_anomaly_core.html new file mode 100644 index 00000000000..1ba048c9abf --- /dev/null +++ b/obj/item/raw_anomaly_core.html @@ -0,0 +1,51 @@ + + + + + + + /obj/item/raw_anomaly_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Raw Anomaly Cores + + + +

+ +

The current precursor to anomaly cores, these are manufactured into 'finished' anomaly cores for use in research, items, and more.

+

The current amounts created is stored in SSresearch.created_anomaly_types[ANOMALY_CORE_TYPE_DEFINE] = amount. +The hard limits are in code/__DEFINES/anomalies.dm.

+ +

Vars

anomaly_typeAnomaly type

Procs

create_coreCreated the resulting core after being "made" into it.
+

Var Details

anomaly_type + + + + +

+

Anomaly type

Proc Details

create_core +

+

Created the resulting core after being "made" into it.

+

Arguments:

+
    +
  • newloc - Where the new core will be created
  • +
  • del_self - should we qdel(src)
  • +
  • count_towards_limit - should we increment the amount of created cores on SSresearch
  • +
+ + + diff --git a/obj/item/rcl.html b/obj/item/rcl.html new file mode 100644 index 00000000000..6ec07a67e66 --- /dev/null +++ b/obj/item/rcl.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/rcl - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rcl + + + +

+ + + +

Procs

on_unwieldtriggered on unwield of two handed item
on_wieldtriggered on wield of two handed item

Proc Details

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

triggered on wield of two handed item

+ + + diff --git a/obj/item/reagent_containers.html b/obj/item/reagent_containers.html new file mode 100644 index 00000000000..272a41d5457 --- /dev/null +++ b/obj/item/reagent_containers.html @@ -0,0 +1,133 @@ + + + + + + + /obj/item/reagent_containers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagent_containers + + + +

+ + + + + + + + + + + + + + + +

Vars

amount_per_transfer_from_thisThe maximum amount of reagents per transfer that will be moved out of this reagent container.
disease_amountHow much of a disease specified in spawned_disease should this container spawn with
fill_iconThe icon file to take fill icon appearances from
fill_icon_stateThe optional custom name for the reagent fill icon_state prefix +If not set, uses the current icon state.
fill_icon_thresholdsThe different thresholds at which the reagent fill overlay will change. See medical/reagent_fillings.dmi.
has_variable_transfer_amountDoes this container allow changing transfer amounts at all, the container can still have only one possible transfer value in possible_transfer_amounts at some point even if this is true
list_reagentsA list of what initial reagents this container should spawn with
possible_transfer_amountsThe different possible amounts of reagent to transfer out of the container
reagent_flagsReagent flags, a few examples being if the container is open or not, if its transparent, if you can inject stuff in and out of the container, and so on
spawned_diseaseIf this container should spawn with a disease type inside of it
spillableIf the reagents inside of this container will splash out when the container tries to splash onto someone or something
volumeThe maximum amount of reagents this container can hold

Procs

on_reagent_changeUpdates the icon of the container when the reagents change. Eats signal args
try_splashTries to splash the target. Used on both right-click and normal click when in combat mode.
+

Var Details

amount_per_transfer_from_this + + + + +

+

The maximum amount of reagents per transfer that will be moved out of this reagent container.

disease_amount + + + + +

+

How much of a disease specified in spawned_disease should this container spawn with

fill_icon + + + + +

+

The icon file to take fill icon appearances from

fill_icon_state + + + + +

+

The optional custom name for the reagent fill icon_state prefix +If not set, uses the current icon state.

fill_icon_thresholds + + + + +

+

The different thresholds at which the reagent fill overlay will change. See medical/reagent_fillings.dmi.

+

Should be a list of integers which correspond to a reagent unit threshold. +If null, no automatic fill overlays are generated.

+

For example, list(0) will mean it will gain a the overlay with any reagents present. This overlay is "overlayname0". +list(0, 10) whill have two overlay options, for 0-10 units ("overlayname0") and 10+ units ("overlayname10").

has_variable_transfer_amount + + + + +

+

Does this container allow changing transfer amounts at all, the container can still have only one possible transfer value in possible_transfer_amounts at some point even if this is true

list_reagents + + + + +

+

A list of what initial reagents this container should spawn with

possible_transfer_amounts + + + + +

+

The different possible amounts of reagent to transfer out of the container

reagent_flags + + + + +

+

Reagent flags, a few examples being if the container is open or not, if its transparent, if you can inject stuff in and out of the container, and so on

spawned_disease + + + + +

+

If this container should spawn with a disease type inside of it

spillable + + + + +

+

If the reagents inside of this container will splash out when the container tries to splash onto someone or something

volume + + + + +

+

The maximum amount of reagents this container can hold

Proc Details

on_reagent_change +

+

Updates the icon of the container when the reagents change. Eats signal args

try_splash +

+

Tries to splash the target. Used on both right-click and normal click when in combat mode.

+ + + diff --git a/obj/item/reagent_containers/blood.html b/obj/item/reagent_containers/blood.html new file mode 100644 index 00000000000..3d5358dbfef --- /dev/null +++ b/obj/item/reagent_containers/blood.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/blood - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

blood + + + +

+ + +

Procs

on_reagent_changeHandles updating the container when the reagents change.

Proc Details

on_reagent_change +

+

Handles updating the container when the reagents change.

+ + + diff --git a/obj/item/reagent_containers/borghypo.html b/obj/item/reagent_containers/borghypo.html new file mode 100644 index 00000000000..cd148a6b7f0 --- /dev/null +++ b/obj/item/reagent_containers/borghypo.html @@ -0,0 +1,141 @@ + + + + + + + /obj/item/reagent_containers/borghypo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

borghypo + + + +

+ +

Borg Hypospray

+ + + + + + + + + + + + + + +

Vars

bypass_protectionIf the hypospray can go through armor or thick material
charge_costCell cost for charging a reagent
charge_timerCounts up to the next time we charge
default_reagent_typesThe basic reagents that come with this hypo
dispensed_temperatureOptional variable to override the temperature add_reagent() will use
expanded_reagent_typesThe expanded suite of reagents that comes from upgrading this hypo
max_volume_per_reagent
recharge_timeTime it takes for shots to recharge (in seconds)
selected_reagentThe reagent we've selected to dispense
stored_reagentsThe reagents we're actually storing
tgui_themeThe theme for our UI (hacked hypos get syndicate UI)
upgradedIf this hypospray has been upgraded

Procs

add_new_reagentUse this to add more chemicals for the borghypo to produce.
processEvery [recharge_time] seconds, recharge some reagents for the cyborg
regenerate_reagentsRegenerate our supply of all reagents (if they're not full already)
+

Var Details

bypass_protection + + + + +

+

If the hypospray can go through armor or thick material

charge_cost + + + + +

+

Cell cost for charging a reagent

charge_timer + + + + +

+

Counts up to the next time we charge

default_reagent_types + + + + +

+

The basic reagents that come with this hypo

dispensed_temperature + + + + +

+

Optional variable to override the temperature add_reagent() will use

expanded_reagent_types + + + + +

+

The expanded suite of reagents that comes from upgrading this hypo

max_volume_per_reagent + + + + +

+
    +
  • The maximum volume for each reagent stored in this hypospray +
      +
    • In most places we add + 1 because we're secretly keeping [max_volume_per_reagent + 1]
    • +
    • units, so that when this reagent runs out it's not wholesale removed from the reagents
    • +
    +
  • +

recharge_time + + + + +

+

Time it takes for shots to recharge (in seconds)

selected_reagent + + + + +

+

The reagent we've selected to dispense

stored_reagents + + + + +

+

The reagents we're actually storing

tgui_theme + + + + +

+

The theme for our UI (hacked hypos get syndicate UI)

upgraded + + + + +

+

If this hypospray has been upgraded

Proc Details

add_new_reagent +

+

Use this to add more chemicals for the borghypo to produce.

process +

+

Every [recharge_time] seconds, recharge some reagents for the cyborg

regenerate_reagents +

+

Regenerate our supply of all reagents (if they're not full already)

+ + + diff --git a/obj/item/reagent_containers/borghypo/medical.html b/obj/item/reagent_containers/borghypo/medical.html new file mode 100644 index 00000000000..e90948bebc4 --- /dev/null +++ b/obj/item/reagent_containers/borghypo/medical.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/reagent_containers/borghypo/medical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

medical + + + +

+ +

Default Medborg Hypospray

+ +

Procs

remove_hypo_upgradeRemove the reagents we got from the expansion, back to our base reagents
upgrade_hypoUpgrade our hypospray to hold even more new reagents!

Proc Details

remove_hypo_upgrade +

+

Remove the reagents we got from the expansion, back to our base reagents

upgrade_hypo +

+

Upgrade our hypospray to hold even more new reagents!

+ + + diff --git a/obj/item/reagent_containers/chemtank.html b/obj/item/reagent_containers/chemtank.html new file mode 100644 index 00000000000..1d0b868e782 --- /dev/null +++ b/obj/item/reagent_containers/chemtank.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/chemtank - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chemtank + + + +

+ + +

Vars

injection_amountHow much to inject per second
+

Var Details

injection_amount + + + + +

+

How much to inject per second

+ + + diff --git a/obj/item/reagent_containers/condiment.html b/obj/item/reagent_containers/condiment.html new file mode 100644 index 00000000000..1bcc042991c --- /dev/null +++ b/obj/item/reagent_containers/condiment.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/reagent_containers/condiment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

condiment + + + +

+ +

Condiments

+ +

Vars

icon_emptyIcon (icon_state) to be used when container becomes empty (no change if falsy)
icon_preemptyHolder for original icon_state value if it was overwritten by icon_emty to change back to
+

Var Details

icon_empty + + + + +

+

Icon (icon_state) to be used when container becomes empty (no change if falsy)

icon_preempty + + + + +

+

Holder for original icon_state value if it was overwritten by icon_emty to change back to

+ + + diff --git a/obj/item/reagent_containers/condiment/pack.html b/obj/item/reagent_containers/condiment/pack.html new file mode 100644 index 00000000000..3aa04efe002 --- /dev/null +++ b/obj/item/reagent_containers/condiment/pack.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/reagent_containers/condiment/pack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pack + + + +

+ + + + + +

Vars

originalnameCan't use initial(name) for this. This stores the name set by condimasters.
possible_statesList of possible styles (list(<icon_state>, , )) for condiment packs. +Since all of them differs only in color should probably be replaced with usual reagentfillings instead

Procs

on_reagent_addHandles reagents getting added to the condiment pack.
on_reagent_delHandles reagents getting removed from the condiment pack.
+

Var Details

originalname + + + + +

+

Can't use initial(name) for this. This stores the name set by condimasters.

possible_states + + + + +

+

List of possible styles (list(<icon_state>, , )) for condiment packs. +Since all of them differs only in color should probably be replaced with usual reagentfillings instead

Proc Details

on_reagent_add +

+

Handles reagents getting added to the condiment pack.

on_reagent_del +

+

Handles reagents getting removed from the condiment pack.

+ + + diff --git a/obj/item/reagent_containers/cup.html b/obj/item/reagent_containers/cup.html new file mode 100644 index 00000000000..1d013403717 --- /dev/null +++ b/obj/item/reagent_containers/cup.html @@ -0,0 +1,79 @@ + + + + + + + /obj/item/reagent_containers/cup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cup + + + +

+ + + + + + + + +

Vars

drink_typeLike Edible's food type, what kind of drink is this?
gulp_sizeHow much we drink at once, shot glasses drink more.
isGlassWhether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it.
last_check_timeThe last time we have checked for taste.

Procs

checkLikedChecks if the mob actually liked drinking this cup.
on_cup_changeCallback for datum/component/takes_reagent_appearance to inherent style footypes
on_cup_resetCallback for datum/component/takes_reagent_appearance to reset to no foodtypes
+

Var Details

drink_type + + + + +

+

Like Edible's food type, what kind of drink is this?

gulp_size + + + + +

+

How much we drink at once, shot glasses drink more.

isGlass + + + + +

+

Whether the 'bottle' is made of glass or not so that milk cartons dont shatter when someone gets hit by it.

last_check_time + + + + +

+

The last time we have checked for taste.

Proc Details

checkLiked +

+

Checks if the mob actually liked drinking this cup.

+

This is a bunch of copypaste from the edible component, consider reworking this to use it!

on_cup_change +

+

Callback for datum/component/takes_reagent_appearance to inherent style footypes

on_cup_reset +

+

Callback for datum/component/takes_reagent_appearance to reset to no foodtypes

+ + + diff --git a/obj/item/reagent_containers/cup/bottle/syrup_bottle.html b/obj/item/reagent_containers/cup/bottle/syrup_bottle.html new file mode 100644 index 00000000000..e97405e70d0 --- /dev/null +++ b/obj/item/reagent_containers/cup/bottle/syrup_bottle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/cup/bottle/syrup_bottle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syrup_bottle + + + +

+ + +

Vars

cap_onvariable to tell if the bottle can be refilled
+

Var Details

cap_on + + + + +

+

variable to tell if the bottle can be refilled

+ + + diff --git a/obj/item/reagent_containers/cup/bowl.html b/obj/item/reagent_containers/cup/bowl.html new file mode 100644 index 00000000000..7a7a634ff6b --- /dev/null +++ b/obj/item/reagent_containers/cup/bowl.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/reagent_containers/cup/bowl - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bowl + + + +

+ + +

Procs

reagent_special_examineOverride standard reagent examine +so that anyone examining a bowl of soup sees the soup but nothing else (unless they have sci goggles)

Proc Details

reagent_special_examine +

+

Override standard reagent examine +so that anyone examining a bowl of soup sees the soup but nothing else (unless they have sci goggles)

+ + + diff --git a/obj/item/reagent_containers/cup/glass/bottle.html b/obj/item/reagent_containers/cup/glass/bottle.html new file mode 100644 index 00000000000..c7cffd8e5a7 --- /dev/null +++ b/obj/item/reagent_containers/cup/glass/bottle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/cup/glass/bottle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bottle + + + +

+ + +

Vars

bottle_knockdown_durationDirectly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets)
+

Var Details

bottle_knockdown_duration + + + + +

+

Directly relates to the 'knockdown' duration. Lowered by armor (i.e. helmets)

+ + + diff --git a/obj/item/reagent_containers/cup/glass/bottle/champagne.html b/obj/item/reagent_containers/cup/glass/bottle/champagne.html new file mode 100644 index 00000000000..6ad967dd7bd --- /dev/null +++ b/obj/item/reagent_containers/cup/glass/bottle/champagne.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/reagent_containers/cup/glass/bottle/champagne - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

champagne + + + +

+ + + + +

Vars

sabrage_success_percentileUsed for sabrage; increases the chance of success per 1 force of the attacking sharp item
sabragedWhether this bottle was a victim of a successful sabrage attempt

Procs

update_icon_stateThe bonus to success chance that the user gets for being a command role +The bonus to success chance that the user gets for having a sabrage skillchip installed/otherwise having the trait through other means +Severity of the resulting froth to pass to make_froth()
+

Var Details

sabrage_success_percentile + + + + +

+

Used for sabrage; increases the chance of success per 1 force of the attacking sharp item

sabraged + + + + +

+

Whether this bottle was a victim of a successful sabrage attempt

Proc Details

update_icon_state +

+

The bonus to success chance that the user gets for being a command role +The bonus to success chance that the user gets for having a sabrage skillchip installed/otherwise having the trait through other means +Severity of the resulting froth to pass to make_froth()

+ + + diff --git a/obj/item/reagent_containers/cup/glass/bottle/pruno.html b/obj/item/reagent_containers/cup/glass/bottle/pruno.html new file mode 100644 index 00000000000..75806e3e17b --- /dev/null +++ b/obj/item/reagent_containers/cup/glass/bottle/pruno.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/reagent_containers/cup/glass/bottle/pruno - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pruno + + + +

+ + + + +

Vars

fermentation_time_remainingtime it takes to ferment
fermentation_timerfor partial fermentation

Procs

Initializestore the timer id of fermentation
+

Var Details

fermentation_time_remaining + + + + +

+

time it takes to ferment

fermentation_timer + + + + +

+

for partial fermentation

Proc Details

Initialize +

+

store the timer id of fermentation

+ + + diff --git a/obj/item/reagent_containers/cup/glass/colocup.html b/obj/item/reagent_containers/cup/glass/colocup.html new file mode 100644 index 00000000000..7295ddae63c --- /dev/null +++ b/obj/item/reagent_containers/cup/glass/colocup.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/reagent_containers/cup/glass/colocup - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

colocup + + + +

+ + +

Vars

random_spriteAllows the lean sprite to display upon crafting
+

Var Details

random_sprite + + + + +

+

Allows the lean sprite to display upon crafting

+ + + diff --git a/obj/item/reagent_containers/cup/glass/drinkingglass.html b/obj/item/reagent_containers/cup/glass/drinkingglass.html new file mode 100644 index 00000000000..db5a8da6d65 --- /dev/null +++ b/obj/item/reagent_containers/cup/glass/drinkingglass.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/reagent_containers/cup/glass/drinkingglass - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

drinkingglass + + + +

+ + +

Vars

base_container_typeThe type to compare to glass_style.required_container type, or null to use class type. +This allows subtypes to utilize parent styles.
+

Var Details

base_container_type + + + + +

+

The type to compare to glass_style.required_container type, or null to use class type. +This allows subtypes to utilize parent styles.

+ + + diff --git a/obj/item/reagent_containers/cup/rag.html b/obj/item/reagent_containers/cup/rag.html new file mode 100644 index 00000000000..1960555bf96 --- /dev/null +++ b/obj/item/reagent_containers/cup/rag.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/cup/rag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

rag + + + +

+ + +

Procs

should_cleanChecks whether or not we should clean.

Proc Details

should_clean +

+

Checks whether or not we should clean.

+ + + diff --git a/obj/item/reagent_containers/cup/soda_cans.html b/obj/item/reagent_containers/cup/soda_cans.html new file mode 100644 index 00000000000..e2426c179a4 --- /dev/null +++ b/obj/item/reagent_containers/cup/soda_cans.html @@ -0,0 +1,48 @@ + + + + + + + /obj/item/reagent_containers/cup/soda_cans - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

soda_cans + + + +

+ + + +

Vars

fizzinessIf the can hasn't been opened yet, this is the measure of how fizzed up it is from being shaken or thrown around. When opened, this is rolled as a percentage chance to burst

Procs

burst_sodaBurst the soda open on someone. Fun! Opens and empties the soda can, but does not crush it.
+

Var Details

fizziness + + + + +

+

If the can hasn't been opened yet, this is the measure of how fizzed up it is from being shaken or thrown around. When opened, this is rolled as a percentage chance to burst

Proc Details

burst_soda +

+

Burst the soda open on someone. Fun! Opens and empties the soda can, but does not crush it.

+

Arguments:

+
    +
  • target - Who's getting covered in soda
  • +
  • hide_message - Stops the generic fizzing message, so you can do your own
  • +
+ + + diff --git a/obj/item/reagent_containers/cup/soup_pot.html b/obj/item/reagent_containers/cup/soup_pot.html new file mode 100644 index 00000000000..b95f17a1858 --- /dev/null +++ b/obj/item/reagent_containers/cup/soup_pot.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/reagent_containers/cup/soup_pot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

soup_pot + + + +

+ + + + + +

Vars

added_ingredientsA lazylist of all the ingredients we have added
max_ingredientsMax number of ingredients we can add

Procs

dump_ingredientsDumps all inside ingredients to a spot
reagent_special_examineOverride standard reagent examine with something a bit more sensible for the soup pot, +including the ingredients we have within as well
+

Var Details

added_ingredients + + + + +

+

A lazylist of all the ingredients we have added

max_ingredients + + + + +

+

Max number of ingredients we can add

Proc Details

dump_ingredients +

+

Dumps all inside ingredients to a spot

+
    +
  • drop_loc - Where to drop the ingredients, defaults to drop loc
  • +
  • x_offset - How much pixel X offset to give every ingredient, if not set will be random
  • +
  • y_offset - How much pixel Y offset to give every ingredient, if not set will be random
  • +

reagent_special_examine +

+

Override standard reagent examine with something a bit more sensible for the soup pot, +including the ingredients we have within as well

+ + + diff --git a/obj/item/reagent_containers/cup/watering_can/advanced.html b/obj/item/reagent_containers/cup/watering_can/advanced.html new file mode 100644 index 00000000000..d03b1fb456c --- /dev/null +++ b/obj/item/reagent_containers/cup/watering_can/advanced.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/reagent_containers/cup/watering_can/advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

advanced + + + +

+ + + + +

Vars

refill_rateRefill rate for the watering can
refill_reagentDetermins what reagent to use for refilling

Procs

DestroyHow much to refill
+

Var Details

refill_rate + + + + +

+

Refill rate for the watering can

refill_reagent + + + + +

+

Determins what reagent to use for refilling

Proc Details

Destroy +

+

How much to refill

+ + + diff --git a/obj/item/reagent_containers/hypospray.html b/obj/item/reagent_containers/hypospray.html new file mode 100644 index 00000000000..01a330f22db --- /dev/null +++ b/obj/item/reagent_containers/hypospray.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/reagent_containers/hypospray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hypospray + + + +

+ + + +

Vars

stealthyIf TRUE, won't play a noise when injecting.

Procs

injectHandles all injection checks, injection and logging.
+

Var Details

stealthy + + + + +

+

If TRUE, won't play a noise when injecting.

Proc Details

inject +

+

Handles all injection checks, injection and logging.

+ + + diff --git a/obj/item/reagent_containers/pill.html b/obj/item/reagent_containers/pill.html new file mode 100644 index 00000000000..59a1dc81c08 --- /dev/null +++ b/obj/item/reagent_containers/pill.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/reagent_containers/pill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pill + + + +

+ + +

Procs

on_consumptionRuns the consumption code, can be overriden for special effects

Proc Details

on_consumption +

+

Runs the consumption code, can be overriden for special effects

+ + + diff --git a/obj/item/reagent_containers/spray.html b/obj/item/reagent_containers/spray.html new file mode 100644 index 00000000000..5a1b5212deb --- /dev/null +++ b/obj/item/reagent_containers/spray.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/reagent_containers/spray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spray + + + +

+ + + + + +

Vars

can_toggle_rangeAre we able to toggle between stream and spray modes, which change the distance and amount sprayed?

Procs

do_sprayHandles exposing atoms to the reagents contained in a spray's chempuff. Deletes the chempuff when it's completed.
on_reagent_changeHandles updating the spray distance when the reagents change.
sprayHandles creating a chem puff that travels towards the target atom, exposing reagents to everything it hits on the way.
+

Var Details

can_toggle_range + + + + +

+

Are we able to toggle between stream and spray modes, which change the distance and amount sprayed?

Proc Details

do_spray +

+

Handles exposing atoms to the reagents contained in a spray's chempuff. Deletes the chempuff when it's completed.

on_reagent_change +

+

Handles updating the spray distance when the reagents change.

spray +

+

Handles creating a chem puff that travels towards the target atom, exposing reagents to everything it hits on the way.

+ + + diff --git a/obj/item/reagent_containers/syringe.html b/obj/item/reagent_containers/syringe.html new file mode 100644 index 00000000000..b8923626658 --- /dev/null +++ b/obj/item/reagent_containers/syringe.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/reagent_containers/syringe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syringe + + + +

+ + + + +

Vars

inject_flagsFlags used by the injection

Procs

get_rounded_volUsed by update_appearance() and update_overlays()
update_reagent_overlayReturns a list of overlays to add that relate to the reagents inside the syringe
+

Var Details

inject_flags + + + + +

+

Flags used by the injection

Proc Details

get_rounded_vol +

+

Used by update_appearance() and update_overlays()

update_reagent_overlay +

+

Returns a list of overlays to add that relate to the reagents inside the syringe

+ + + diff --git a/obj/item/relic.html b/obj/item/relic.html new file mode 100644 index 00000000000..fb53ca34a84 --- /dev/null +++ b/obj/item/relic.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/relic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

relic + + + +

+ +

SPECIAL ITEMS

+

Procs

throwSmokeRELIC PROCS

Proc Details

throwSmoke +

+

RELIC PROCS

+ + + diff --git a/obj/item/research_notes.html b/obj/item/research_notes.html new file mode 100644 index 00000000000..23d3ea47651 --- /dev/null +++ b/obj/item/research_notes.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/research_notes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

research_notes + + + +

+ + + + + + +

Vars

mixedif it ws merged with different origins to apply a bonus
origin_typeorigin of the research
valueresearch points it holds

Procs

change_volproc that changes name and icon depending on value
mergeproc when you slap research notes into another one, it applies a bonus if they are of different origin (only applied once)
+

Var Details

mixed + + + + +

+

if it ws merged with different origins to apply a bonus

origin_type + + + + +

+

origin of the research

value + + + + +

+

research points it holds

Proc Details

change_vol +

+

proc that changes name and icon depending on value

merge +

+

proc when you slap research notes into another one, it applies a bonus if they are of different origin (only applied once)

+ + + diff --git a/obj/item/resonator.html b/obj/item/resonator.html new file mode 100644 index 00000000000..72297a370f6 --- /dev/null +++ b/obj/item/resonator.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/resonator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

resonator + + + +

+ +

Resonator

+ + + + +

Vars

adding_failurethe number that is added to the failure_prob, which is the probability of whether it will spread or not
fieldlimitthe number of fields the resonator is allowed to have at once
fieldsthe list of currently active fields from this resonator
modethe mode of the resonator; has three modes: auto (1), manual (2), and matrix (3)
quick_burst_modHow efficient it is in manual mode. Yes, we lower the damage cuz it's gonna be used for mobhunt
+

Var Details

adding_failure + + + + +

+

the number that is added to the failure_prob, which is the probability of whether it will spread or not

fieldlimit + + + + +

+

the number of fields the resonator is allowed to have at once

fields + + + + +

+

the list of currently active fields from this resonator

mode + + + + +

+

the mode of the resonator; has three modes: auto (1), manual (2), and matrix (3)

quick_burst_mod + + + + +

+

How efficient it is in manual mode. Yes, we lower the damage cuz it's gonna be used for mobhunt

+ + + diff --git a/obj/item/restraints.html b/obj/item/restraints.html new file mode 100644 index 00000000000..801319d9647 --- /dev/null +++ b/obj/item/restraints.html @@ -0,0 +1,33 @@ + + + + + + + /obj/item/restraints - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Generic restraints + + + +

+ +

Parent class for handcuffs and handcuff accessories

+

Functionality:

+
    +
  1. A special suicide
  2. +
  3. If a restraint is handcuffing/legcuffing a carbon while being deleted, it will remove the handcuff/legcuff status.
  4. +
+ + + diff --git a/obj/item/restraints/handcuffs.html b/obj/item/restraints/handcuffs.html new file mode 100644 index 00000000000..8230ca7ef81 --- /dev/null +++ b/obj/item/restraints/handcuffs.html @@ -0,0 +1,65 @@ + + + + + + + /obj/item/restraints/handcuffs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Handcuffs + + + +

+ +

Stuff that makes humans unable to use hands

+

Clicking people with those will cause an attempt at handcuffing them to occur

+ + + +

Vars

cuffsoundSound that plays when starting to put handcuffs on someone
restraint_strengthHow strong the cuffs are. Weak cuffs can be broken with wirecutters or boxcutters.
trashtypeIf set, handcuffs will be destroyed on application and leave behind whatever this is set to.

Procs

apply_cuffsThis handles handcuffing people
+

Var Details

cuffsound + + + + +

+

Sound that plays when starting to put handcuffs on someone

restraint_strength + + + + +

+

How strong the cuffs are. Weak cuffs can be broken with wirecutters or boxcutters.

trashtype + + + + +

+

If set, handcuffs will be destroyed on application and leave behind whatever this is set to.

Proc Details

apply_cuffs +

+

This handles handcuffing people

+

When called, this instantly puts handcuffs on someone (if possible) +Arguments:

+
    +
  • mob/living/carbon/target - Who is being handcuffed
  • +
  • mob/user - Who or what is doing the handcuffing
  • +
  • dispense - True if the cuffing should create a new item instead of using putting src on the mob, false otherwise. False by default.
  • +
+ + + diff --git a/obj/item/restraints/handcuffs/cable.html b/obj/item/restraints/handcuffs/cable.html new file mode 100644 index 00000000000..120d3b97210 --- /dev/null +++ b/obj/item/restraints/handcuffs/cable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/restraints/handcuffs/cable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Cable restraints + + + +

+ +

Ghetto handcuffs. Removing those is faster.

+

Vars

cable_colorfor generating the correct icons based off the original cable's color.
+

Var Details

cable_color + + + + +

+

for generating the correct icons based off the original cable's color.

+ + + diff --git a/obj/item/restraints/handcuffs/cable/sinew.html b/obj/item/restraints/handcuffs/cable/sinew.html new file mode 100644 index 00000000000..21608081172 --- /dev/null +++ b/obj/item/restraints/handcuffs/cable/sinew.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/handcuffs/cable/sinew - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Sinew restraints + + + +

+ +

Primal ghetto handcuffs

+

Just cable restraints that look differently and can't be recycled.

+ + + diff --git a/obj/item/restraints/legcuffs/beartrap.html b/obj/item/restraints/legcuffs/beartrap.html new file mode 100644 index 00000000000..04f34102077 --- /dev/null +++ b/obj/item/restraints/legcuffs/beartrap.html @@ -0,0 +1,62 @@ + + + + + + + /obj/item/restraints/legcuffs/beartrap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Bear trap + + + +

+ +

This opens, closes, and bites people's legs.

+ + + +

Vars

armedIf true, the trap is "open" and can trigger.
trap_damageHow much damage the trap deals when triggered.

Procs

close_trapCloses a bear trap
spring_trapTries to spring the trap on the target movable.
+

Var Details

armed + + + + +

+

If true, the trap is "open" and can trigger.

trap_damage + + + + +

+

How much damage the trap deals when triggered.

Proc Details

close_trap +

+

Closes a bear trap

+

Closes a bear trap. +Arguments:

spring_trap +

+

Tries to spring the trap on the target movable.

+

This proc is safe to call without knowing if the target is valid or if the trap is armed.

+

Does not trigger on tiny mobs. +If ignore_movetypes is FALSE, does not trigger on floating / flying / etc. mobs.

+ + + diff --git a/obj/item/restraints/legcuffs/beartrap/energy.html b/obj/item/restraints/legcuffs/beartrap/energy.html new file mode 100644 index 00000000000..6d12979654e --- /dev/null +++ b/obj/item/restraints/legcuffs/beartrap/energy.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/restraints/legcuffs/beartrap/energy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

Energy snare + + + +

+ +

This closes on people's legs.

+

A weaker version of the bear trap that can be resisted out of faster and disappears

+

Procs

dissipateHandles energy snares disappearing

Proc Details

dissipate +

+

Handles energy snares disappearing

+

If the snare isn't closed on anyone, it will disappear in a shower of sparks. +Arguments:

+ + + diff --git a/obj/item/restraints/legcuffs/bola.html b/obj/item/restraints/legcuffs/bola.html new file mode 100644 index 00000000000..fde2faf3a75 --- /dev/null +++ b/obj/item/restraints/legcuffs/bola.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/restraints/legcuffs/bola - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bola + + + +

+ + + +

Vars

knockdownAmount of time to knock the target down for once it's hit in deciseconds.

Procs

ensnareAttempts to legcuff someone with the bola
+

Var Details

knockdown + + + + +

+

Amount of time to knock the target down for once it's hit in deciseconds.

Proc Details

ensnare +

+

Attempts to legcuff someone with the bola

+

Arguments:

+
    +
  • C - the carbon that we will try to ensnare
  • +
+ + + diff --git a/obj/item/restraints/legcuffs/bola/energy.html b/obj/item/restraints/legcuffs/bola/energy.html new file mode 100644 index 00000000000..7cc42d830b9 --- /dev/null +++ b/obj/item/restraints/legcuffs/bola/energy.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/legcuffs/bola/energy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

energy + + + +

+ +

A security variant of the bola.

+

It's harder to remove, smaller and has a defined price.

+ + + diff --git a/obj/item/restraints/legcuffs/bola/gonbola.html b/obj/item/restraints/legcuffs/bola/gonbola.html new file mode 100644 index 00000000000..fed876bdf5e --- /dev/null +++ b/obj/item/restraints/legcuffs/bola/gonbola.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/legcuffs/bola/gonbola - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

gonbola + + + +

+ +

A pacifying variant of the bola.

+

It's much harder to remove, doesn't cause a slowdown and gives people /datum/status_effect/gonbola_pacify.

+ + + diff --git a/obj/item/restraints/legcuffs/bola/tactical.html b/obj/item/restraints/legcuffs/bola/tactical.html new file mode 100644 index 00000000000..5f7fb3611bb --- /dev/null +++ b/obj/item/restraints/legcuffs/bola/tactical.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/restraints/legcuffs/bola/tactical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

tactical + + + +

+ +

A traitor variant of the bola.

+

It knocks people down and is harder to remove.

+ + + diff --git a/obj/item/resurrection_crystal.html b/obj/item/resurrection_crystal.html new file mode 100644 index 00000000000..da52ce38396 --- /dev/null +++ b/obj/item/resurrection_crystal.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/resurrection_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

resurrection_crystal + + + +

+ + +

Procs

resurrectResurrects the target when they die by moving them and dusting a clone in their place, one life for another

Proc Details

resurrect +

+

Resurrects the target when they die by moving them and dusting a clone in their place, one life for another

+ + + diff --git a/obj/item/retractor.html b/obj/item/retractor.html new file mode 100644 index 00000000000..28622363ab9 --- /dev/null +++ b/obj/item/retractor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/retractor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

retractor + + + +

+ + +

Vars

surgical_tray_overlayHow this looks when placed in a surgical tray
+

Var Details

surgical_tray_overlay + + + + +

+

How this looks when placed in a surgical tray

+ + + diff --git a/obj/item/reverse_bear_trap.html b/obj/item/reverse_bear_trap.html new file mode 100644 index 00000000000..6b0f3547ae5 --- /dev/null +++ b/obj/item/reverse_bear_trap.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/reverse_bear_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reverse_bear_trap + + + +

+ + + + + + +

Vars

escape_chancechance per "fiddle" to get the trap off your head
kill_countdownCooldown for the KILL
strugglingIs the target struggling?
tickingIs the reverse bear trap active?

Procs

armnote: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.
+

Var Details

escape_chance + + + + +

+

chance per "fiddle" to get the trap off your head

kill_countdown + + + + +

+

Cooldown for the KILL

struggling + + + + +

+

Is the target struggling?

ticking + + + + +

+

Is the reverse bear trap active?

Proc Details

arm +

+

note: this timer overlay increments one frame every second (to simulate a clock ticking). If you want to instead have it do a full cycle in a minute, set the 'delay' of each frame of the icon overlay to 75 rather than 10, and the worn overlay to twice that.

+ + + diff --git a/obj/item/ritual_totem.html b/obj/item/ritual_totem.html new file mode 100644 index 00000000000..86f3c0e0b48 --- /dev/null +++ b/obj/item/ritual_totem.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/ritual_totem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ritual_totem + + + +

+ + +

Procs

expireWhen the ritual totem is depleted of antimagic

Proc Details

expire +

+

When the ritual totem is depleted of antimagic

+ + + diff --git a/obj/item/robot_model.html b/obj/item/robot_model.html new file mode 100644 index 00000000000..80d1b5ad919 --- /dev/null +++ b/obj/item/robot_model.html @@ -0,0 +1,184 @@ + + + + + + + /obj/item/robot_model - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

robot_model + + + +

+ +

Definition of /obj/item/robot_model, which defines behavior for each model. +Deals with the creation and deletion of modules (tools). +Assigns modules and traits to a borg with a specific model selected.

+ + + + + + + + + + + + + + + + + + + + +

Vars

added_modulesModules not inherent to the robot configuration
allow_ridingCan we be ridden
basic_modulesPaths of modules to be created when the model is created
borg_skinsList of skins the borg can be reskinned to, optional
breakable_modulesWhether the borg loses tool slots with damage.
canDisposeWhether the borg can stuff itself into disposals
cyborg_base_iconProduces the icon for the borg and, if no special_light_key is set, the lights
emag_modulesPaths of modules to be created on emagging
hat_offsetThe y offset of the hat put on
locked_transformWhether swapping to this configuration should lockcharge the borg
model_select_iconIcon of the module selection screen
model_traitsList of traits that will be applied to the mob if this model is used.
modulesHolds all the usable modules (tools)
radio_channelsList of radio channels added to the cyborg
ride_offset_xThe x offsets of a person riding the borg
ride_offset_yThe y offsets of a person riding the borg
robotHost of this model
special_light_keyIf we want specific lights, use this instead of copying lights in the dmi
storagesStorage types of the model

Procs

check_menuChecks if we are allowed to interact with a radial menu
restock_consumableRefills consumables that require materials, rather than being given for free.
+

Var Details

added_modules + + + + +

+

Modules not inherent to the robot configuration

allow_riding + + + + +

+

Can we be ridden

basic_modules + + + + +

+

Paths of modules to be created when the model is created

borg_skins + + + + +

+

List of skins the borg can be reskinned to, optional

breakable_modules + + + + +

+

Whether the borg loses tool slots with damage.

canDispose + + + + +

+

Whether the borg can stuff itself into disposals

cyborg_base_icon + + + + +

+

Produces the icon for the borg and, if no special_light_key is set, the lights

emag_modules + + + + +

+

Paths of modules to be created on emagging

hat_offset + + + + +

+

The y offset of the hat put on

locked_transform + + + + +

+

Whether swapping to this configuration should lockcharge the borg

model_select_icon + + + + +

+

Icon of the module selection screen

model_traits + + + + +

+

List of traits that will be applied to the mob if this model is used.

modules + + + + +

+

Holds all the usable modules (tools)

radio_channels + + + + +

+

List of radio channels added to the cyborg

ride_offset_x + + + + +

+

The x offsets of a person riding the borg

ride_offset_y + + + + +

+

The y offsets of a person riding the borg

robot + + + + +

+

Host of this model

special_light_key + + + + +

+

If we want specific lights, use this instead of copying lights in the dmi

storages + + + + +

+

Storage types of the model

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The cyborg mob interacting with the menu
  • +
  • old_model The old cyborg's model
  • +

restock_consumable +

+

Refills consumables that require materials, rather than being given for free.

+

Pulls from the charger's silo connection, or fails otherwise.

+ + + diff --git a/obj/item/robot_model/janitor.html b/obj/item/robot_model/janitor.html new file mode 100644 index 00000000000..5709214507b --- /dev/null +++ b/obj/item/robot_model/janitor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/robot_model/janitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

janitor + + + +

+ + +

Vars

wash_toggle_refWeakref to the wash toggle action we own
+

Var Details

wash_toggle_ref + + + + +

+

Weakref to the wash toggle action we own

+ + + diff --git a/obj/item/robot_suit.html b/obj/item/robot_suit.html new file mode 100644 index 00000000000..cf5f99cf9c6 --- /dev/null +++ b/obj/item/robot_suit.html @@ -0,0 +1,152 @@ + + + + + + + /obj/item/robot_suit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

robot_suit + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

aisyncIf the cyborg starts with a master AI
chestChest part of this endoskeleton
created_nameForced name of the cyborg
forced_aiForced master AI of the cyborg
forced_ai_nameThe name of the AI being forced, tracked separately to above +so we can reference handle without worrying about making "AI got gibbed" detectors
headHead part of this endoskeleton
l_armLeft arm part of the endoskeleton
l_legLeft leg part of this endoskeleton
lawsyncIf the cyborg synchronizes it's laws with it's master AI
locomotionIf the cyborg starts movement free and not under lockdown
panel_lockedIf the cyborg's cover panel starts locked
r_armRight arm part of the endoskeleton
r_legRight leg part of this endoskeleton

Procs

ai_dieClears the forced_ai ref
clear_forced_aiClears [forced_ai] and [forced_ai_name]
drop_all_partsDrops all included parts to the passed location +This will also dissassemble the parts being dropped into components as well
set_forced_aiSets [forced_ai] and [forced_ai_name] to the passed AI
+

Var Details

aisync + + + + +

+

If the cyborg starts with a master AI

chest + + + + +

+

Chest part of this endoskeleton

created_name + + + + +

+

Forced name of the cyborg

forced_ai + + + + +

+

Forced master AI of the cyborg

forced_ai_name + + + + +

+

The name of the AI being forced, tracked separately to above +so we can reference handle without worrying about making "AI got gibbed" detectors

head + + + + +

+

Head part of this endoskeleton

l_arm + + + + +

+

Left arm part of the endoskeleton

l_leg + + + + +

+

Left leg part of this endoskeleton

lawsync + + + + +

+

If the cyborg synchronizes it's laws with it's master AI

locomotion + + + + +

+

If the cyborg starts movement free and not under lockdown

panel_locked + + + + +

+

If the cyborg's cover panel starts locked

r_arm + + + + +

+

Right arm part of the endoskeleton

r_leg + + + + +

+

Right leg part of this endoskeleton

Proc Details

ai_die +

+

Clears the forced_ai ref

clear_forced_ai +

+

Clears [forced_ai] and [forced_ai_name]

drop_all_parts +

+

Drops all included parts to the passed location +This will also dissassemble the parts being dropped into components as well

set_forced_ai +

+

Sets [forced_ai] and [forced_ai_name] to the passed AI

+ + + diff --git a/obj/item/rpd_upgrade.html b/obj/item/rpd_upgrade.html new file mode 100644 index 00000000000..c52219c1e3d --- /dev/null +++ b/obj/item/rpd_upgrade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/rpd_upgrade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rpd_upgrade + + + +

+ + +

Vars

upgrade_flagsBitflags for upgrades
+

Var Details

upgrade_flags + + + + +

+

Bitflags for upgrades

+ + + diff --git a/obj/item/rsf.html b/obj/item/rsf.html new file mode 100644 index 00000000000..e02d45e2661 --- /dev/null +++ b/obj/item/rsf.html @@ -0,0 +1,136 @@ + + + + + + + /obj/item/rsf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rsf + + + +

+ + + + + + + + + + + + + + + + +

Vars

action_typeThe verb that describes what we're doing, for use in text
allowed_surfacesA list of surfaces that we are allowed to place things on.
cooldownHolds a copy of world.time from the last time the synth was used.
cooldowndelayHow long should the minimum period between this RSF's item dispensings be?
cost_by_itemAn associated list of atoms and charge costs. This can contain a separate list, as long as it's associated item is an object +The RSF item list below shows in the player facing ui in this order, this is why it isn't in alphabetical order, but instead sorted by category
discriptorThe unit of mesure of the matter, for use in text
dispense_costThe cost of the object we are going to dispense
matterThe current matter count
matter_by_itemAn associated list of fuel and it's value
max_matterThe max amount of matter in the device
spent_icon_stateThe icon state to revert to when the tool is empty
to_dispenseThe type of the object we are going to dispense

Procs

formRadialForms a radial menu based off an object in a list, or a list's associated object
is_allowedHelper proc that iterates through all the things we are allowed to spawn on, and sees if the passed atom is one of them
use_matterA helper proc. checks to see if we can afford the amount of charge that is passed, and if we can docs the charge from our base, and returns TRUE. If we can't we return FALSE
+

Var Details

action_type + + + + +

+

The verb that describes what we're doing, for use in text

allowed_surfaces + + + + +

+

A list of surfaces that we are allowed to place things on.

cooldown + + + + +

+

Holds a copy of world.time from the last time the synth was used.

cooldowndelay + + + + +

+

How long should the minimum period between this RSF's item dispensings be?

cost_by_item + + + + +

+

An associated list of atoms and charge costs. This can contain a separate list, as long as it's associated item is an object +The RSF item list below shows in the player facing ui in this order, this is why it isn't in alphabetical order, but instead sorted by category

discriptor + + + + +

+

The unit of mesure of the matter, for use in text

dispense_cost + + + + +

+

The cost of the object we are going to dispense

matter + + + + +

+

The current matter count

matter_by_item + + + + +

+

An associated list of fuel and it's value

max_matter + + + + +

+

The max amount of matter in the device

spent_icon_state + + + + +

+

The icon state to revert to when the tool is empty

to_dispense + + + + +

+

The type of the object we are going to dispense

Proc Details

formRadial +

+

Forms a radial menu based off an object in a list, or a list's associated object

is_allowed +

+

Helper proc that iterates through all the things we are allowed to spawn on, and sees if the passed atom is one of them

use_matter +

+

A helper proc. checks to see if we can afford the amount of charge that is passed, and if we can docs the charge from our base, and returns TRUE. If we can't we return FALSE

+ + + diff --git a/obj/item/rsf/cookiesynth.html b/obj/item/rsf/cookiesynth.html new file mode 100644 index 00000000000..d7b28907d20 --- /dev/null +++ b/obj/item/rsf/cookiesynth.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/rsf/cookiesynth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cookiesynth + + + +

+ + +

Vars

toxinTracks whether or not the cookiesynth is about to print a poisoned cookie
+

Var Details

toxin + + + + +

+

Tracks whether or not the cookiesynth is about to print a poisoned cookie

+ + + diff --git a/obj/item/runic_vendor_scepter.html b/obj/item/runic_vendor_scepter.html new file mode 100644 index 00000000000..864bbe7d304 --- /dev/null +++ b/obj/item/runic_vendor_scepter.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/runic_vendor_scepter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

runic_vendor_scepter + + + +

+ + + + + + +

Vars

max_summon_rangeRange cap on where you can summon vendors.
scepter_is_busy_rechargingChecks if the scepter is busy channeling recharges
scepter_is_busy_summoningChecks if the scepter is channeling a vendor already.
summon_vendor_chargesNumber of summoning charges left.
summoning_timeChanneling time to summon a vendor.
+

Var Details

max_summon_range + + + + +

+

Range cap on where you can summon vendors.

scepter_is_busy_recharging + + + + +

+

Checks if the scepter is busy channeling recharges

scepter_is_busy_summoning + + + + +

+

Checks if the scepter is channeling a vendor already.

summon_vendor_charges + + + + +

+

Number of summoning charges left.

summoning_time + + + + +

+

Channeling time to summon a vendor.

+ + + diff --git a/obj/item/rwd.html b/obj/item/rwd.html new file mode 100644 index 00000000000..6ae1b1432e1 --- /dev/null +++ b/obj/item/rwd.html @@ -0,0 +1,147 @@ + + + + + + + /obj/item/rwd - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rwd + + + +

+ + + + + + + + + + + + + + + + + +

Vars

activeare we dual wielding this machine
cablecached reference of the cable used in the device
cable_layerwhat layer of cable are we working with
current_amountcurrent amount of cable in the machine
listeningTothe player currently holding this device.
max_amountmaximum amount of cable this device can hold
radial_menuradial menu to select cable layer

Procs

add_cableinsert cable into the rwd
attackbyfor inserting cable into the rwd
cable_allowed_herecheck if the turf has the same cable layer as this design. If it does don't put cable here
delta_cableextra safe modify just to be sure
get_cableget cached reference of cable which gets used over time
modify_cablemodify cable properties according to its layer
on_movestuff to do when moving
on_unwieldtriggered on unwield of two handed item
on_wieldif the user say requested 22 pieces but the cached cable reference has only 5 pieces then it wont be an exact multiple +So the while loop runs twice i.e 1st iteration it uses 5 pieces and it has 22-5= 17 pieces left to consume from this device +Finally 2nd iteration it creates a new cached cable & consumes the remaining 17 pieces and now the device will use the cached cable containing 30-17 = 30 pieces. +triggered on wield of two handed item
+

Var Details

active + + + + +

+

are we dual wielding this machine

cable + + + + +

+

cached reference of the cable used in the device

cable_layer + + + + +

+

what layer of cable are we working with

current_amount + + + + +

+

current amount of cable in the machine

listeningTo + + + + +

+

the player currently holding this device.

max_amount + + + + +

+

maximum amount of cable this device can hold

radial_menu + + + + +

+

radial menu to select cable layer

Proc Details

add_cable +

+

insert cable into the rwd

attackby +

+

for inserting cable into the rwd

cable_allowed_here +

+

check if the turf has the same cable layer as this design. If it does don't put cable here

delta_cable +

+

extra safe modify just to be sure

get_cable +

+

get cached reference of cable which gets used over time

modify_cable +

+

modify cable properties according to its layer

on_move +

+

stuff to do when moving

on_unwield +

+

triggered on unwield of two handed item

on_wield +

+

if the user say requested 22 pieces but the cached cable reference has only 5 pieces then it wont be an exact multiple +So the while loop runs twice i.e 1st iteration it uses 5 pieces and it has 22-5= 17 pieces left to consume from this device +Finally 2nd iteration it creates a new cached cable & consumes the remaining 17 pieces and now the device will use the cached cable containing 30-17 = 30 pieces. +triggered on wield of two handed item

+ + + diff --git a/obj/item/rwd/loaded.html b/obj/item/rwd/loaded.html new file mode 100644 index 00000000000..7432cd08eff --- /dev/null +++ b/obj/item/rwd/loaded.html @@ -0,0 +1,33 @@ + + + + + + + /obj/item/rwd/loaded - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

loaded + + + +

+ +

Lay cable only if

+
    +
  • device is active
  • +
  • the turf can hold cable
  • +
  • there is no cable on the turf or there is cable on the turf but its not the same layer we are gonna put on the turf
  • +
+ + + diff --git a/obj/item/sales_tagger.html b/obj/item/sales_tagger.html new file mode 100644 index 00000000000..5ddea5edabb --- /dev/null +++ b/obj/item/sales_tagger.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/sales_tagger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sales_tagger + + + +

+ + + + + +

Vars

cut_maxMaximum value for cut_multiplier.
cut_minMinimum value for cut_multiplier.
cut_multiplierThe person who tagged this will receive the sale value multiplied by this number.
payments_accThe account which is receiving the split profits.
+

Var Details

cut_max + + + + +

+

Maximum value for cut_multiplier.

cut_min + + + + +

+

Minimum value for cut_multiplier.

cut_multiplier + + + + +

+

The person who tagged this will receive the sale value multiplied by this number.

payments_acc + + + + +

+

The account which is receiving the split profits.

+ + + diff --git a/obj/item/scalpel.html b/obj/item/scalpel.html new file mode 100644 index 00000000000..1489f81d46a --- /dev/null +++ b/obj/item/scalpel.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/scalpel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

scalpel + + + +

+ + +

Vars

surgical_tray_overlayHow this looks when placed in a surgical tray
+

Var Details

surgical_tray_overlay + + + + +

+

How this looks when placed in a surgical tray

+ + + diff --git a/obj/item/screwdriver.html b/obj/item/screwdriver.html new file mode 100644 index 00000000000..619079ff171 --- /dev/null +++ b/obj/item/screwdriver.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/screwdriver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

screwdriver + + + +

+ + + +

Vars

random_colorIf the item should be assigned a random color
screwdriver_colorsList of possible random colors
+

Var Details

random_color + + + + +

+

If the item should be assigned a random color

screwdriver_colors + + + + +

+

List of possible random colors

+ + + diff --git a/obj/item/secateurs.html b/obj/item/secateurs.html new file mode 100644 index 00000000000..084755904b5 --- /dev/null +++ b/obj/item/secateurs.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/secateurs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

secateurs + + + +

+ + + +

Procs

pre_attack_secondaryCatch right clicks so we can stylize!
restyleSend a signal to whatever we clicked and ask them if they wanna be PLANT RESTYLED YEAAAAAAAH

Proc Details

pre_attack_secondary +

+

Catch right clicks so we can stylize!

restyle +

+

Send a signal to whatever we clicked and ask them if they wanna be PLANT RESTYLED YEAAAAAAAH

+ + + diff --git a/obj/item/seeds.html b/obj/item/seeds.html new file mode 100644 index 00000000000..04379ffea64 --- /dev/null +++ b/obj/item/seeds.html @@ -0,0 +1,399 @@ + + + + + + + /obj/item/seeds - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

seeds + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

enduranceAmount of health the plant has.
genesStarts as a list of paths, is converted to a list of types on init. Plant gene datums are stored here, see plant_genes.dm for more info.
graft_geneType-path of trait to be applied when grafting a plant.
graftedDetermines if the plant has had a graft removed or not.
growing_iconthe file that stores the sprites of the growing plant from this seed.
growthstagesAmount of growth sprites the plant has.
icon_deadUsed to override dead icon (default is "[species]-dead"). You can use one dead icon for multiple closely related plants with it.
icon_growUsed to override grow icon (default is "[species]-grow"). You can use one grow icon for multiple closely related plants with it.
icon_harvestUsed to override harvest icon (default is "[species]-harvest"). If null, plant will use [icon_grow][growthstages].
lifespanHow long before the plant begins to take damage from age.
maturationUsed to determine which sprite to switch to when growing.
mutatelistThe type of plants that this plant can mutate into.
plant_icon_offsetUsed to offset the plant sprite so that it appears at proper height in the tray
plantnameName of plant when planted.
potencyThe 'power' of a plant. Generally effects the amount of reagent in a plant, also used in other ways.
productA type path. The thing that is created when the plant is harvested.
productdescDescribes the product on the product path.
productionChanges the amount of time needed for a plant to become harvestable.
rarityHow rare the plant is. Used for giving points to cargo when shipping off to CentCom.
reagents_addA list of reagents to add to product.
seed_flagsDetermines if the plant should be allowed to mutate early at 30+ instability.
speciesUsed to update icons. Should match the name in the sprites unless all icon_* are overridden.
weed_chancePercentage chance per tray update to grow weeds
weed_rateIf the chance below passes, then this many weeds sprout during growth
yieldAmount of growns created per harvest. If is -1, the plant/shroom/weed is never meant to be harvested.

Procs

CopyCopy all the variables from one seed to a new instance of the same seed and return it.
adjust_enduranceAdjusts seed endurance up or down according to adjustamt. (Max 100)
adjust_instabilityAdjusts seed instability up or down according to adjustamt. (Max 100)
adjust_lifespanAdjusts seed lifespan up or down according to adjustamt. (Max 100)
adjust_potencyAdjusts seed potency up or down according to adjustamt. (Max 100)
adjust_productionAdjusts seed production seed up or down according to adjustamt. (Max 10)
adjust_weed_chanceAdjusts seed weed chance up or down according to adjustamt. (Max 67%)
adjust_weed_rateAdjusts seed weed grwoth speed up or down according to adjustamt. (Max 10)
adjust_yieldSetters procs +Adjusts seed yield up or down according to adjustamt. (Max 10)
apply_graftApplies a graft to this plant.
create_graftCreates a graft from this plant.
get_reagent_purityThe number of nutriments we have inside of our plant, for use in our heating / cooling genes +Returns reagent purity based on seed stats
get_unique_analyzer_textOverride for seeds with unique text for their analyzer. (No newlines at the start or end of unique text!) +Returns null if no unique text, or a string of text if there is.
on_chem_reactionOverride for seeds with special chem reactions.
prepare_resultReference to the tray/soil the seeds are planted in. +Count used for creating the correct amount of results to the harvest. +List of plants all harvested from the same batch. +Tile of the harvester to deposit the growables. +Name of the grown products. +The Number of products produced by the plant, typically the yield. Modified by certain traits. +This is where plant chemical products are handled.
set_enduranceSets the plant's endurance stat to the value of adjustamt. (Max 100)
set_instabilitySets the plant's instability stat to the value of adjustamt. (Max 100)
set_lifespanSets the plant's lifespan stat to the value of adjustamt. (Max 100)
set_potencySets the plant's potency stat to the value of adjustamt. (Max 100)
set_productionSets the plant's production stat to the value of adjustamt. (Max 10)
set_weed_chanceSets the plant's weed growth percentage to the value of adjustamt. (Max 67%)
set_weed_rateSets the plant's weed production rate to the value of adjustamt. (Max 10)
set_yieldSets the plant's yield stat to the value of adjustamt. (Max 10, or 5 with some traits)
+

Var Details

endurance + + + + +

+

Amount of health the plant has.

genes + + + + +

+

Starts as a list of paths, is converted to a list of types on init. Plant gene datums are stored here, see plant_genes.dm for more info.

graft_gene + + + + +

+

Type-path of trait to be applied when grafting a plant.

grafted + + + + +

+

Determines if the plant has had a graft removed or not.

growing_icon + + + + +

+

the file that stores the sprites of the growing plant from this seed.

growthstages + + + + +

+

Amount of growth sprites the plant has.

icon_dead + + + + +

+

Used to override dead icon (default is "[species]-dead"). You can use one dead icon for multiple closely related plants with it.

icon_grow + + + + +

+

Used to override grow icon (default is "[species]-grow"). You can use one grow icon for multiple closely related plants with it.

icon_harvest + + + + +

+

Used to override harvest icon (default is "[species]-harvest"). If null, plant will use [icon_grow][growthstages].

lifespan + + + + +

+

How long before the plant begins to take damage from age.

maturation + + + + +

+

Used to determine which sprite to switch to when growing.

mutatelist + + + + +

+

The type of plants that this plant can mutate into.

plant_icon_offset + + + + +

+

Used to offset the plant sprite so that it appears at proper height in the tray

plantname + + + + +

+

Name of plant when planted.

potency + + + + +

+

The 'power' of a plant. Generally effects the amount of reagent in a plant, also used in other ways.

product + + + + +

+

A type path. The thing that is created when the plant is harvested.

productdesc + + + + +

+

Describes the product on the product path.

production + + + + +

+

Changes the amount of time needed for a plant to become harvestable.

rarity + + + + +

+

How rare the plant is. Used for giving points to cargo when shipping off to CentCom.

reagents_add + + + + +

+

A list of reagents to add to product.

seed_flags + + + + +

+

Determines if the plant should be allowed to mutate early at 30+ instability.

species + + + + +

+

Used to update icons. Should match the name in the sprites unless all icon_* are overridden.

weed_chance + + + + +

+

Percentage chance per tray update to grow weeds

weed_rate + + + + +

+

If the chance below passes, then this many weeds sprout during growth

yield + + + + +

+

Amount of growns created per harvest. If is -1, the plant/shroom/weed is never meant to be harvested.

Proc Details

Copy +

+

Copy all the variables from one seed to a new instance of the same seed and return it.

adjust_endurance +

+

Adjusts seed endurance up or down according to adjustamt. (Max 100)

adjust_instability +

+

Adjusts seed instability up or down according to adjustamt. (Max 100)

adjust_lifespan +

+

Adjusts seed lifespan up or down according to adjustamt. (Max 100)

adjust_potency +

+

Adjusts seed potency up or down according to adjustamt. (Max 100)

adjust_production +

+

Adjusts seed production seed up or down according to adjustamt. (Max 10)

adjust_weed_chance +

+

Adjusts seed weed chance up or down according to adjustamt. (Max 67%)

adjust_weed_rate +

+

Adjusts seed weed grwoth speed up or down according to adjustamt. (Max 10)

adjust_yield +

+

Setters procs +Adjusts seed yield up or down according to adjustamt. (Max 10)

apply_graft +

+

Applies a graft to this plant.

+

Adds the graft trait to this plant if possible. +Increases plant stats by 2/3 of the grafts stats to a maximum of 100 (10 for yield). +Returns TRUE if the graft could apply its trait successfully, FALSE if it fails to apply the trait. +NOTE even if the graft fails to apply the trait it still adjusts the plant's stats and reagents.

+

Arguments:

+
    +
  • snip: The graft being used applied to this plant.
  • +

create_graft +

+

Creates a graft from this plant.

+

Creates a new graft from this plant. +Sets the grafts trait to this plants graftable trait. +Gives the graft a reference to this plant. +Copies all the relevant stats from this plant to the graft. +Returns the created graft.

get_reagent_purity +

+

The number of nutriments we have inside of our plant, for use in our heating / cooling genes +Returns reagent purity based on seed stats

get_unique_analyzer_text +

+

Override for seeds with unique text for their analyzer. (No newlines at the start or end of unique text!) +Returns null if no unique text, or a string of text if there is.

on_chem_reaction +

+

Override for seeds with special chem reactions.

prepare_result +

+

Reference to the tray/soil the seeds are planted in. +Count used for creating the correct amount of results to the harvest. +List of plants all harvested from the same batch. +Tile of the harvester to deposit the growables. +Name of the grown products. +The Number of products produced by the plant, typically the yield. Modified by certain traits. +This is where plant chemical products are handled.

+

Individually, the formula for individual amounts of chemicals is Potency * the chemical production %, rounded to the fullest 1. +Specific chem handling is also handled here, like bloodtype, food taste within nutriment, and the auto-distilling/autojuicing traits. +This is where chemical reactions can occur, and the heating / cooling traits effect the reagent container.

set_endurance +

+

Sets the plant's endurance stat to the value of adjustamt. (Max 100)

set_instability +

+

Sets the plant's instability stat to the value of adjustamt. (Max 100)

set_lifespan +

+

Sets the plant's lifespan stat to the value of adjustamt. (Max 100)

set_potency +

+

Sets the plant's potency stat to the value of adjustamt. (Max 100)

set_production +

+

Sets the plant's production stat to the value of adjustamt. (Max 10)

set_weed_chance +

+

Sets the plant's weed growth percentage to the value of adjustamt. (Max 67%)

set_weed_rate +

+

Sets the plant's weed production rate to the value of adjustamt. (Max 10)

set_yield +

+

Sets the plant's yield stat to the value of adjustamt. (Max 10, or 5 with some traits)

+ + + diff --git a/obj/item/seeds/replicapod.html b/obj/item/seeds/replicapod.html new file mode 100644 index 00000000000..e618a0e0bd6 --- /dev/null +++ b/obj/item/seeds/replicapod.html @@ -0,0 +1,49 @@ + + + + + + + /obj/item/seeds/replicapod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

replicapod + + + +

+ +

The actual replica pods themselves!

+ + +

Procs

on_reagent_addHandles reagents getting added to this seed.
on_reagent_delHandles reagents being deleted from these seeds.
on_reagents_delHandles the seeds' reagents datum getting deleted.

Proc Details

on_reagent_add +

+

Handles reagents getting added to this seed.

on_reagent_del +

+

Handles reagents being deleted from these seeds.

on_reagents_del +

+

Handles the seeds' reagents datum getting deleted.

+ + + diff --git a/obj/item/sequence_scanner.html b/obj/item/sequence_scanner.html new file mode 100644 index 00000000000..98110749735 --- /dev/null +++ b/obj/item/sequence_scanner.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/sequence_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sequence_scanner + + + +

+ + + + +

Vars

genetic_makeup_buffergenetic makeup data that's scanned

Procs

gene_scanproc for scanning someone's mutations
makeup_scanproc for scanning someone's genetic makeup
+

Var Details

genetic_makeup_buffer + + + + +

+

genetic makeup data that's scanned

Proc Details

gene_scan +

+

proc for scanning someone's mutations

makeup_scan +

+

proc for scanning someone's genetic makeup

+ + + diff --git a/obj/item/sharpener.html b/obj/item/sharpener.html new file mode 100644 index 00000000000..2518b76d30d --- /dev/null +++ b/obj/item/sharpener.html @@ -0,0 +1,65 @@ + + + + + + + /obj/item/sharpener - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Whetstone + + + +

+ +

Items used for sharpening stuff

+

Whetstones can be used to increase an item's force, throw_force and wound_bonus and it's change it's sharpness to SHARP_EDGED. Whetstones do not work with energy weapons. Two-handed weapons will only get the throw_force bonus. A whetstone can only be used once.

+ + + + +

Vars

incrementHow much force the whetstone can add to an item.
maxMaximum force sharpening items with the whetstone can result in
prefixThe prefix a whetstone applies when an item is sharpened with it
requires_sharpnessIf TRUE, the whetstone will only sharpen already sharp items
usesAmount of uses the whetstone has. Set to -1 for functionally infinite uses.
+

Var Details

increment + + + + +

+

How much force the whetstone can add to an item.

max + + + + +

+

Maximum force sharpening items with the whetstone can result in

prefix + + + + +

+

The prefix a whetstone applies when an item is sharpened with it

requires_sharpness + + + + +

+

If TRUE, the whetstone will only sharpen already sharp items

uses + + + + +

+

Amount of uses the whetstone has. Set to -1 for functionally infinite uses.

+ + + diff --git a/obj/item/sharpener/super.html b/obj/item/sharpener/super.html new file mode 100644 index 00000000000..77529dfacea --- /dev/null +++ b/obj/item/sharpener/super.html @@ -0,0 +1,29 @@ + + + + + + + /obj/item/sharpener/super - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Super whetstone + + + +

+ +

Extremely powerful admin-only whetstone

+

Whetstone that adds 200 damage to an item, with the maximum force and throw_force reachable with it being 200. As with normal whetstones, energy weapons cannot be sharpened with it and two-handed weapons will only get the throw_force bonus.

+ + + diff --git a/obj/item/shield.html b/obj/item/shield.html new file mode 100644 index 00000000000..1d5f8c6cd9f --- /dev/null +++ b/obj/item/shield.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shield + + + +

+ + + + + + +

Vars

baton_bashbaton bash cooldown
breakable_by_damageif the shield will break by sustaining damage
shield_break_leftoverwhat the shield leaves behind when it breaks
shield_break_soundsound the shield makes when it breaks
transparentmakes beam projectiles pass through the shield
+

Var Details

baton_bash + + + + +

+

baton bash cooldown

breakable_by_damage + + + + +

+

if the shield will break by sustaining damage

shield_break_leftover + + + + +

+

what the shield leaves behind when it breaks

shield_break_sound + + + + +

+

sound the shield makes when it breaks

transparent + + + + +

+

makes beam projectiles pass through the shield

+ + + diff --git a/obj/item/shield/energy.html b/obj/item/shield/energy.html new file mode 100644 index 00000000000..1b62e809b30 --- /dev/null +++ b/obj/item/shield/energy.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/shield/energy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energy + + + +

+ + + + + + +

Vars

active_forceForce of the shield when active.
active_throw_speedThrowspeed of ethe shield when active.
active_throwforceThrowforce of the shield when active.
can_clumsy_useWhether clumsy people can transform this without side effects.
reflection_probabilityThe chance for projectiles to be reflected by the shield
+

Var Details

active_force + + + + +

+

Force of the shield when active.

active_throw_speed + + + + +

+

Throwspeed of ethe shield when active.

active_throwforce + + + + +

+

Throwforce of the shield when active.

can_clumsy_use + + + + +

+

Whether clumsy people can transform this without side effects.

reflection_probability + + + + +

+

The chance for projectiles to be reflected by the shield

+ + + diff --git a/obj/item/shield/riot/flash.html b/obj/item/shield/riot/flash.html new file mode 100644 index 00000000000..6f8cee9e3f4 --- /dev/null +++ b/obj/item/shield/riot/flash.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/shield/riot/flash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

flash + + + +

+ + +

Procs

flash_awayHandles calls for the actual flash object + plays the flashing animations.

Proc Details

flash_away +

+

Handles calls for the actual flash object + plays the flashing animations.

+ + + diff --git a/obj/item/shield/riot/tele.html b/obj/item/shield/riot/tele.html new file mode 100644 index 00000000000..d3b049706ce --- /dev/null +++ b/obj/item/shield/riot/tele.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/shield/riot/tele - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tele + + + +

+ + +

Procs

on_transformSignal proc for COMSIG_TRANSFORMING_ON_TRANSFORM.

Proc Details

on_transform +

+

Signal proc for COMSIG_TRANSFORMING_ON_TRANSFORM.

+

Allows it to be placed on back slot when active.

+ + + diff --git a/obj/item/shockpaddles.html b/obj/item/shockpaddles.html new file mode 100644 index 00000000000..f537b267116 --- /dev/null +++ b/obj/item/shockpaddles.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/shockpaddles - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

shockpaddles + + + +

+ + + +

Procs

do_cancelCalled whenever the paddles fail to shock something after a do_x proc
do_successCalled whenever the paddles successfuly shock something

Proc Details

do_cancel +

+

Called whenever the paddles fail to shock something after a do_x proc

do_success +

+

Called whenever the paddles successfuly shock something

+ + + diff --git a/obj/item/shovel/giant_wrench.html b/obj/item/shovel/giant_wrench.html new file mode 100644 index 00000000000..60d65b50bd1 --- /dev/null +++ b/obj/item/shovel/giant_wrench.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/shovel/giant_wrench - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

giant_wrench + + + +

+ + + + +

Vars

do_launchWether we knock down and launch away out enemies when we attack.
recoil_factorThe factor at which the recoil becomes less.

Procs

on_transformUsed when the tool is transformed through the transforming component.
+

Var Details

do_launch + + + + +

+

Wether we knock down and launch away out enemies when we attack.

recoil_factor + + + + +

+

The factor at which the recoil becomes less.

Proc Details

on_transform +

+

Used when the tool is transformed through the transforming component.

+ + + diff --git a/obj/item/shuttle_curse.html b/obj/item/shuttle_curse.html new file mode 100644 index 00000000000..bbf7642beeb --- /dev/null +++ b/obj/item/shuttle_curse.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/shuttle_curse - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shuttle_curse + + + +

+ + + + +

Vars

first_curse_timewhen was the first shuttle curse?
remaining_cursescurse messages that have already been used
totalcurseshow many times has the shuttle been cursed so far?
+

Var Details

first_curse_time + + + + +

+

when was the first shuttle curse?

remaining_curses + + + + +

+

curse messages that have already been used

totalcurses + + + + +

+

how many times has the shuttle been cursed so far?

+ + + diff --git a/obj/item/sign.html b/obj/item/sign.html new file mode 100644 index 00000000000..a5f509379e0 --- /dev/null +++ b/obj/item/sign.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/sign - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sign + + + +

+ + + +

Vars

is_editableThis determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.
sign_pathThe type of sign structure that will be created when placed on a turf, the default looks just like a sign backing item.
+

Var Details

is_editable + + + + +

+

This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.

sign_path + + + + +

+

The type of sign structure that will be created when placed on a turf, the default looks just like a sign backing item.

+ + + diff --git a/obj/item/singularityhammer.html b/obj/item/singularityhammer.html new file mode 100644 index 00000000000..58c347ffe7f --- /dev/null +++ b/obj/item/singularityhammer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/singularityhammer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

singularityhammer + + + +

+ + +

Vars

chargedIs it able to pull shit right now?
+

Var Details

charged + + + + +

+

Is it able to pull shit right now?

+ + + diff --git a/obj/item/skillchip.html b/obj/item/skillchip.html new file mode 100644 index 00000000000..ab647509f8a --- /dev/null +++ b/obj/item/skillchip.html @@ -0,0 +1,333 @@ + + + + + + + /obj/item/skillchip - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skillchip + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

abstract_parent_typeUsed to determine if this is an abstract type or not. +If this is meant to be an abstract type, set it to the type's path. +Will be overridden by subsequent abstract parents.
activate_messageMessage shown when activating the chip
activeSet to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.
auto_traitsTraits automatically granted by this chip, optional. Lazylist.
chip_categoryCategory string. Used alongside SKILLCHIP_RESTRICTED_CATEGORIES flag to make a chip incompatible with chips from another category.
chip_cooldownCooldown for chip actions.
complexityHow complex the skillchip is. Brains can only handle so much complexity at once and skillchips will start to deactivate when the brain's complexity limit is exceeded.
cooldownCooldown before the skillchip can be extracted after it has been implanted.
deactivate_messageMessage shown when deactivating the chip
holding_brainBrain that holds this skillchip.
incompatibility_listList of any incompatible categories.
skill_descriptionSkill description shown on UI
skill_iconFontawesome icon show on UI, list of possible icons https://fontawesome.com/icons?d=gallery&m=free
skill_nameSkill name shown on UI
skillchip_flagsVariable for flags. DANGEROUS - Child types overwrite flags instead of adding to them. If you change this, make sure all child types have the appropriate flags set too.
slot_useHow many slots taken up in the brain by this chip. Max brain slots are hard set and should not be changed at all.

Procs

get_chip_dataReturns a list of basic chip info. Used by the skill station.
get_complexityReturns the chip's complexity.
get_metadataGets key metadata from this skillchip in an assoc list.
has_activate_incompatibilityChecks whether a given skillchip has an incompatibility with a brain that should render it impossible +to activate.
has_brain_incompatibilityPerforms a full sweep of checks that dictate if this chip can be implanted in a given brain.
has_mob_incompatibilityPerforms a full sweep of checks that dictate if this chip can be implanted in a given target.
has_skillchip_incompatibilityChecks for skillchip incompatibility with another chip.
is_activeReturns whether the chip is active.
is_on_cooldownReturns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated.
on_activateCalled when a skillchip is activated.
on_deactivateCalled when a skillchip is deactivated.
on_implantCalled when a skillchip is inserted in a user's brain.
on_removalCalled when a skillchip is removed from the user's brain.
set_metadataSets key metadata for this skillchip from an assoc list.
try_activate_skillchipActivates the skillchip, if possible.
try_deactivate_skillchipDeactivates the skillchip, if possible.
+

Var Details

abstract_parent_type + + + + +

+

Used to determine if this is an abstract type or not. +If this is meant to be an abstract type, set it to the type's path. +Will be overridden by subsequent abstract parents.

activate_message + + + + +

+

Message shown when activating the chip

active + + + + +

+

Set to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.

auto_traits + + + + +

+

Traits automatically granted by this chip, optional. Lazylist.

chip_category + + + + +

+

Category string. Used alongside SKILLCHIP_RESTRICTED_CATEGORIES flag to make a chip incompatible with chips from another category.

chip_cooldown + + + + +

+

Cooldown for chip actions.

complexity + + + + +

+

How complex the skillchip is. Brains can only handle so much complexity at once and skillchips will start to deactivate when the brain's complexity limit is exceeded.

cooldown + + + + +

+

Cooldown before the skillchip can be extracted after it has been implanted.

deactivate_message + + + + +

+

Message shown when deactivating the chip

holding_brain + + + + +

+

Brain that holds this skillchip.

incompatibility_list + + + + +

+

List of any incompatible categories.

skill_description + + + + +

+

Skill description shown on UI

skill_icon + + + + +

+

Fontawesome icon show on UI, list of possible icons https://fontawesome.com/icons?d=gallery&m=free

skill_name + + + + +

+

Skill name shown on UI

skillchip_flags + + + + +

+

Variable for flags. DANGEROUS - Child types overwrite flags instead of adding to them. If you change this, make sure all child types have the appropriate flags set too.

slot_use + + + + +

+

How many slots taken up in the brain by this chip. Max brain slots are hard set and should not be changed at all.

Proc Details

get_chip_data +

+

Returns a list of basic chip info. Used by the skill station.

get_complexity +

+

Returns the chip's complexity.

+

Intended to be overriden.

get_metadata +

+

Gets key metadata from this skillchip in an assoc list.

+

If you override this proc, don't forget to also override set_metadata, which takes the output of +this proc and uses it to set the metadata. +Does not copy over any owner or brain status. Handle that externally.

has_activate_incompatibility +

+

Checks whether a given skillchip has an incompatibility with a brain that should render it impossible +to activate.

+

Returns a string with an explanation if the chip is not activatable. FALSE otherwise. +Arguments:

+
    +
  • skillchip - The skillchip you're intending to activate. Does not activate the chip.
  • +

has_brain_incompatibility +

+

Performs a full sweep of checks that dictate if this chip can be implanted in a given brain.

+

Override this with any snowflake chip checks. +Returns TRUE if the chip is fully compatible, FALSE otherwise. +Arguments:

+
    +
  • brain - The brain to check for implantability with.
  • +

has_mob_incompatibility +

+

Performs a full sweep of checks that dictate if this chip can be implanted in a given target.

+

Override this with any snowflake chip checks. An example of which would be checking if a target is +mindshielded if you've got a special security skillchip. +Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE +if it is compatible. +Arguments:

+
    +
  • target - The mob to check for implantability with.
  • +

has_skillchip_incompatibility +

+

Checks for skillchip incompatibility with another chip.

+

Does this skillchip have incompatibility with the skillchip in the args? +Override this with any snowflake chip-vs-chip incompatibility checks. +Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE +if it is compatible. +Arguments:

+
    +
  • skillchip - The skillchip to test for incompatability.
  • +

is_active +

+

Returns whether the chip is active.

+

Intended to be overriden. +Returns TRUE if the chip is active.

is_on_cooldown +

+

Returns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated.

+

This does not mean the chip should be impossible to do anything with. +It's up to each individual piece of code to decide what it does with the result of this proc.

+

Returns TRUE if the chip's extraction cooldown hasn't yet passed.

on_activate +

+

Called when a skillchip is activated.

+

Arguments:

+
    +
  • user - The user to apply skillchip effects to.
  • +
  • silent - Boolean. Whether or not an activation message should be shown to the user.
  • +

on_deactivate +

+

Called when a skillchip is deactivated.

+

Arguments:

+
    +
  • user - The user to remove skillchip effects from.
  • +
  • silent - Boolean. Whether or not a deactivation message should be shown to the user.
  • +

on_implant +

+

Called when a skillchip is inserted in a user's brain.

+

Arguments:

+
    +
  • owner_brain - The brain that this skillchip was implanted in to.
  • +

on_removal +

+

Called when a skillchip is removed from the user's brain.

+

Always deactivates the skillchip. +Arguments:

+
    +
  • user - The user to remove skillchip effects from.
  • +
  • silent - Boolean. Whether or not a deactivation message should be shown to the user.
  • +

set_metadata +

+

Sets key metadata for this skillchip from an assoc list.

+

Best used with the output from get_metadata() of another chip. +If you override this proc, don't forget to also override get_metadata, which is where you should +usually get the assoc list that feeds into this proc. +Does not set any owner or brain status. Handle that externally. +Arguments: +metadata - Ideally the output of another chip's get_metadata proc. Assoc list of metadata.

try_activate_skillchip +

+

Activates the skillchip, if possible.

+

Returns a message containing the reason if activation is not possible. +Arguments:

+
    +
  • silent - Boolean. Whether or not an activation message should be shown to the user.
  • +
  • force - Boolean. Whether or not to just force de-activation if it would be prevented for any reason.
  • +

try_deactivate_skillchip +

+

Deactivates the skillchip, if possible.

+

Returns a message containing the reason if deactivation is not possible. +Arguments:

+
    +
  • silent - Boolean. Whether or not an activation message should be shown to the user.
  • +
  • force - Boolean. Whether or not to just force de-activation if it would be prevented for any reason.
  • +
+ + + diff --git a/obj/item/skillchip/job/chef.html b/obj/item/skillchip/job/chef.html new file mode 100644 index 00000000000..bcc859674dc --- /dev/null +++ b/obj/item/skillchip/job/chef.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/skillchip/job/chef - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chef + + + +

+ + +

Vars

styleThe Chef CQC given by the skillchip.
+

Var Details

style + + + + +

+

The Chef CQC given by the skillchip.

+ + + diff --git a/obj/item/slime_extract.html b/obj/item/slime_extract.html new file mode 100644 index 00000000000..a9bba56d35f --- /dev/null +++ b/obj/item/slime_extract.html @@ -0,0 +1,78 @@ + + + + + + + /obj/item/slime_extract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

slime_extract + + + +

+ +

Slime Extracts

+ + + + + +

Vars

activate_reagentsReagents required for activation
crossbreed_modificationWhich type of crossbred
extract_usesuses before it goes inert
qdel_timerdeletion timer, for delayed reactions

Procs

activateEffect when activated by a Luminescent.
attackCore-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract.
+

Var Details

activate_reagents + + + + +

+

Reagents required for activation

crossbreed_modification + + + + +

+

Which type of crossbred

extract_uses + + + + +

+

uses before it goes inert

qdel_timer + + + + +

+

deletion timer, for delayed reactions

Proc Details

activate +

+

Effect when activated by a Luminescent.

+

This proc is called whenever a Luminescent consumes a slime extract. Each one is separated into major and minor effects depending on the extract. Cooldown is measured in deciseconds.

+
    +
  • arg1 - The mob absorbing the slime extract.
  • +
  • arg2 - The valid species for the absorbtion. Should always be a Luminescent unless something very major has changed.
  • +
  • arg3 - Whether or not the activation is major or minor. Major activations have large, complex effects, minor are simple.
  • +

attack +

+

Core-crossing: Feeding adult slimes extracts to obtain a much more powerful, single extract.

+

By using a valid core on a living adult slime, then feeding it nine more of the same type, you can mutate it into more useful items. Not every slime type has an implemented core cross.

+ + + diff --git a/obj/item/slimecross/burning/oil.html b/obj/item/slimecross/burning/oil.html new file mode 100644 index 00000000000..0a87bb441a9 --- /dev/null +++ b/obj/item/slimecross/burning/oil.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/slimecross/burning/oil - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

oil + + + +

+ + +

Procs

boomInflicts a blastwave upon every mob within a small radius.

Proc Details

boom +

+

Inflicts a blastwave upon every mob within a small radius.

+ + + diff --git a/obj/item/slimecross/stabilized.html b/obj/item/slimecross/stabilized.html new file mode 100644 index 00000000000..eec93fd1915 --- /dev/null +++ b/obj/item/slimecross/stabilized.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/slimecross/stabilized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stabilized + + + +

+ + +

Procs

get_held_mobReturns the mob that is currently holding us if we are either in their inventory or a backpack analogue. +Returns null if it's in an invalid location, so that we can check explicitly for null later.

Proc Details

get_held_mob +

+

Returns the mob that is currently holding us if we are either in their inventory or a backpack analogue. +Returns null if it's in an invalid location, so that we can check explicitly for null later.

+ + + diff --git a/obj/item/slimepotion.html b/obj/item/slimepotion.html new file mode 100644 index 00000000000..dbafa3fcc65 --- /dev/null +++ b/obj/item/slimepotion.html @@ -0,0 +1,33 @@ + + + + + + + /obj/item/slimepotion - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

slimepotion + + + +

+ +

Slime-derived potions +#Slime potions

+

Feed slimes potions either by hand or using the slime console.

+

Slime potions either augment the slime's behavior, its extract output, or its intelligence. These all come either from extract effects or cross cores. +A few of the more powerful ones can modify someone's equipment or gender. +New ones should probably be accessible only through cross cores as all the normal core types already have uses. Rule of thumb is 'stronger effects go in cross cores'.

+ + + diff --git a/obj/item/slimepotion/slime/sentience.html b/obj/item/slimepotion/slime/sentience.html new file mode 100644 index 00000000000..f037b8b71f8 --- /dev/null +++ b/obj/item/slimepotion/slime/sentience.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/slimepotion/slime/sentience - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sentience + + + +

+ + +

Procs

on_poll_concludedAssign the chosen ghost to the mob

Proc Details

on_poll_concluded +

+

Assign the chosen ghost to the mob

+ + + diff --git a/obj/item/slimepotion/slime/sentience/mining.html b/obj/item/slimepotion/slime/sentience/mining.html new file mode 100644 index 00000000000..1fd7072757a --- /dev/null +++ b/obj/item/slimepotion/slime/sentience/mining.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/slimepotion/slime/sentience/mining - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mining + + + +

+ + + + + +

Vars

base_cooldown_addcooldown boost to add
base_damage_adddamage boost to add
base_health_addhealth boost to add
base_speed_addspeed boost to add
+

Var Details

base_cooldown_add + + + + +

+

cooldown boost to add

base_damage_add + + + + +

+

damage boost to add

base_health_add + + + + +

+

health boost to add

base_speed_add + + + + +

+

speed boost to add

+ + + diff --git a/obj/item/soap.html b/obj/item/soap.html new file mode 100644 index 00000000000..f291754a32e --- /dev/null +++ b/obj/item/soap.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/soap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

soap + + + +

+ + +

Procs

decreaseUsesDecrease the number of uses the bar of soap has.

Proc Details

decreaseUses +

+

Decrease the number of uses the bar of soap has.

+

The higher the cleaning skill, the less likely the soap will lose a use. +Arguments

+
    +
  • source - the source of the cleaning
  • +
  • target - The atom that is being cleaned
  • +
  • user - The mob that is using the soap to clean.
  • +
+ + + diff --git a/obj/item/soulscythe.html b/obj/item/soulscythe.html new file mode 100644 index 00000000000..979ca5e4118 --- /dev/null +++ b/obj/item/soulscythe.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/soulscythe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

soulscythe + + + +

+ + + + + + + +

Vars

attack_cooldownCooldown between attacks
chargingCurrently charging?
move_cooldownCooldown between moves
soulSoulscythe mob in the scythe
usingAre we grabbing a spirit?

Procs

on_poll_concludedGhost poll has concluded and a candidate has been chosen.
+

Var Details

attack_cooldown + + + + +

+

Cooldown between attacks

charging + + + + +

+

Currently charging?

move_cooldown + + + + +

+

Cooldown between moves

soul + + + + +

+

Soulscythe mob in the scythe

using + + + + +

+

Are we grabbing a spirit?

Proc Details

on_poll_concluded +

+

Ghost poll has concluded and a candidate has been chosen.

+ + + diff --git a/obj/item/soulstone.html b/obj/item/soulstone.html new file mode 100644 index 00000000000..77632296641 --- /dev/null +++ b/obj/item/soulstone.html @@ -0,0 +1,182 @@ + + + + + + + /obj/item/soulstone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

soulstone + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

base_nameThe base name of the soulstone, set to the initial name by default. Used in name updating
grab_sleepingif TRUE, our soulstone will work on mobs which are in crit. if FALSE, the mob must be dead.
one_useif TRUE, we can only be used once.
required_roleRole check, if any needed
spentOnly used if one_use is TRUE. Whether it's used.
themeThis controls the color of the soulstone as well as restrictions for who can use it. +THEME_CULT is red and is the default of cultist +THEME_WIZARD is purple and is the default of wizard +THEME_HOLY is for purified soul stone

Procs

assign_masterAssigns the bearer as the new master of a shade.
attackCapturing
attack_selfOptions for using captured souls
attempt_exorcismattempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state
capture_shadecaptures a shade that was previously released from a soulstone.
capture_soulProcs for moving soul in and out off stone +Transfer the mind of a carbon mob (which is then dusted) into a shade mob inside src. +If forced, sacrifical and stat checks are skipped.
corruptcorrupt: turns the soulstone into a cult one and turns the occupant shade, if any, into a cultist
init_shadeCreates a new shade mob to inhabit the stone.
on_bible_smackedsignal called whenever a soulstone is smacked by a bible
on_poll_concludedCalled when a ghost is chosen to become a shade.
on_release_spiritsCalled whenever the soulstone releases a shade from it.
role_checkChecks if the passed mob has the required antag datum set on the soulstone.
transfer_to_constructtransfer the mind of the shade to a construct mob selected by the user, then deletes both the shade and src.
+

Var Details

base_name + + + + +

+

The base name of the soulstone, set to the initial name by default. Used in name updating

grab_sleeping + + + + +

+

if TRUE, our soulstone will work on mobs which are in crit. if FALSE, the mob must be dead.

one_use + + + + +

+

if TRUE, we can only be used once.

required_role + + + + +

+

Role check, if any needed

spent + + + + +

+

Only used if one_use is TRUE. Whether it's used.

theme + + + + +

+

This controls the color of the soulstone as well as restrictions for who can use it. +THEME_CULT is red and is the default of cultist +THEME_WIZARD is purple and is the default of wizard +THEME_HOLY is for purified soul stone

Proc Details

assign_master +

+

Assigns the bearer as the new master of a shade.

attack +

+

Capturing

attack_self +

+

Options for using captured souls

attempt_exorcism +

+

attempt_exorcism: called from on_bible_smacked, takes time and if successful +resets the item to a pre-possessed state

+

Arguments:

+
    +
  • exorcist: user who is attempting to remove the spirit
  • +

capture_shade +

+

captures a shade that was previously released from a soulstone.

capture_soul +

+

Procs for moving soul in and out off stone +Transfer the mind of a carbon mob (which is then dusted) into a shade mob inside src. +If forced, sacrifical and stat checks are skipped.

corrupt +

+

corrupt: turns the soulstone into a cult one and turns the occupant shade, if any, into a cultist

init_shade +

+

Creates a new shade mob to inhabit the stone.

+

victim - the body that's being shaded +user - the person doing the shading. Optional. +message_user - if TRUE, we send the user (if present) a message that a shade has been created / captured. +shade_controller - the mob (usually, a ghost) that will take over control of the victim / new shade. Optional, if not passed the victim itself will take control.

on_bible_smacked +

+

signal called whenever a soulstone is smacked by a bible

on_poll_concluded +

+

Called when a ghost is chosen to become a shade.

on_release_spirits +

+

Called whenever the soulstone releases a shade from it.

role_check +

+

Checks if the passed mob has the required antag datum set on the soulstone.

transfer_to_construct +

+

transfer the mind of the shade to a construct mob selected by the user, then deletes both the shade and src.

+ + + diff --git a/obj/item/sparkler.html b/obj/item/sparkler.html new file mode 100644 index 00000000000..2ffa0866011 --- /dev/null +++ b/obj/item/sparkler.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/sparkler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sparkler + + + +

+ + +

Vars

burntimeBurn time in seconds
+

Var Details

burntime + + + + +

+

Burn time in seconds

+ + + diff --git a/obj/item/sparring_contract.html b/obj/item/sparring_contract.html new file mode 100644 index 00000000000..83b4c2227ba --- /dev/null +++ b/obj/item/sparring_contract.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/sparring_contract - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sparring_contract + + + +

+ + + + + +

Vars

arena_conditionwhat arena the fight will take place in
signed_bywho has signed this contract. fills itself with WEAKREFS, to prevent hanging references
stakes_conditionwhat stakes the fight will have
weapons_conditionwhat weapons will be allowed during the sparring match
+

Var Details

arena_condition + + + + +

+

what arena the fight will take place in

signed_by + + + + +

+

who has signed this contract. fills itself with WEAKREFS, to prevent hanging references

stakes_condition + + + + +

+

what stakes the fight will have

weapons_condition + + + + +

+

what weapons will be allowed during the sparring match

+ + + diff --git a/obj/item/spear.html b/obj/item/spear.html new file mode 100644 index 00000000000..d3b43deeadd --- /dev/null +++ b/obj/item/spear.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/spear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spear + + + +

+ + + + + +

Vars

force_unwieldedHow much damage to do unwielded
force_wieldedHow much damage to do wielded
icon_prefixThe icon prefix for this flavor of spear
war_cryFor explosive spears, what we cry out when we use this to bap someone
+

Var Details

force_unwielded + + + + +

+

How much damage to do unwielded

force_wielded + + + + +

+

How much damage to do wielded

icon_prefix + + + + +

+

The icon prefix for this flavor of spear

war_cry + + + + +

+

For explosive spears, what we cry out when we use this to bap someone

+ + + diff --git a/obj/item/spellbook.html b/obj/item/spellbook.html new file mode 100644 index 00000000000..0e6e792a479 --- /dev/null +++ b/obj/item/spellbook.html @@ -0,0 +1,118 @@ + + + + + + + /obj/item/spellbook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spellbook + + + +

+ + + + + + + + + + + + + +

Vars

entriesA list to all spellbook entries within
full_random_bonusThe bonus that you get from going full random.
ownerThe mind that first used the book. Automatically assigned when a wizard spawns.
refunds_allowedDetermines if this spellbook can refund anything.
semi_random_bonusThe bonus that you get from going semi-random.
usesThe number of book charges we have to buy spells

Procs

on_magic_chargeSignal proc for COMSIG_ITEM_MAGICALLY_CHARGED
prepare_spellsInstantiates our list of spellbook entries.
purchase_entryAttempts to purchased the passed entry [to_buy] for [user].
randomizePurchases a fully random wizard loadout for [wizard], with a point bonus [bonus_to_give]. +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.
semirandomizePurchases a semi-random wizard loadout for [wizard] +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.
wizard_loadoutPurchases a wizard loadout [loadout] for [wizard].
+

Var Details

entries + + + + +

+

A list to all spellbook entries within

full_random_bonus + + + + +

+

The bonus that you get from going full random.

owner + + + + +

+

The mind that first used the book. Automatically assigned when a wizard spawns.

refunds_allowed + + + + +

+

Determines if this spellbook can refund anything.

semi_random_bonus + + + + +

+

The bonus that you get from going semi-random.

uses + + + + +

+

The number of book charges we have to buy spells

Proc Details

on_magic_charge +

+

Signal proc for COMSIG_ITEM_MAGICALLY_CHARGED

+

Has no effect on charge, but gives a funny message to people who think they're clever.

prepare_spells +

+

Instantiates our list of spellbook entries.

purchase_entry +

+

Attempts to purchased the passed entry [to_buy] for [user].

randomize +

+

Purchases a fully random wizard loadout for [wizard], with a point bonus [bonus_to_give]. +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.

semirandomize +

+

Purchases a semi-random wizard loadout for [wizard] +If passed a number [bonus_to_give], the wizard is given additional uses on their spellbook, used in randomization.

wizard_loadout +

+

Purchases a wizard loadout [loadout] for [wizard].

+ + + diff --git a/obj/item/spess_knife.html b/obj/item/spess_knife.html new file mode 100644 index 00000000000..3f412b5d538 --- /dev/null +++ b/obj/item/spess_knife.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/spess_knife - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spess_knife + + + +

+ + + + + +

Vars

optionsRadial menu tool options
wrong_tool_probChance to select wrong tool

Procs

pick_toolUsed to pick random tool behavior for the knife
update_tool_parametersUsed to update sounds and tool parameters during switching
+

Var Details

options + + + + +

+

Radial menu tool options

wrong_tool_prob + + + + +

+

Chance to select wrong tool

Proc Details

pick_tool +

+

Used to pick random tool behavior for the knife

update_tool_parameters +

+

Used to update sounds and tool parameters during switching

+ + + diff --git a/obj/item/stack.html b/obj/item/stack.html new file mode 100644 index 00000000000..add9e28d32e --- /dev/null +++ b/obj/item/stack.html @@ -0,0 +1,409 @@ + + + + + + + /obj/item/stack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stack + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

absorption_capacityHow much blood flow this stack can absorb if used as a bandage on a cut wound. +note that absorption is how much we lower the flow rate, not the raw amount of blood we suck up
absorption_rateHow quickly we lower the blood flow on a cut wound we're bandaging. +Expected lifetime of this bandage in seconds is thus absorption_capacity/absorption_rate, +or until the cut heals, whichever comes first
amountHow much is in this stack?
burn_cleanliness_bonusLike splint_factor but for burns instead of bone wounds. This is a multiplier used to speed up burn recoveries
costRelated to above. How much energy it costs from storage to use stack items
full_w_classThe weight class the stack has at amount > 2/3rds max_amount
has_unique_girderDoes this stack require a unique girder in order to make a wall?
is_cyborgIf TRUE, this stack is a module used by a cyborg (doesn't run out like normal / etc)
material_typeDatum material type that this stack is made of
mats_per_unitList that tells you how much is in a single unit.
matter_amountAmount of matter given back to RCDs
max_amountHow much is allowed in this stack?
merge_typeThis path and its children should merge with this stack, defaults to src.type
novariantsDetermines whether the item should update it's sprites based on amount.
radial_radiusIf use_radial is TRUE, this is the radius of the radial
recipesA list to all recipies this stack item can create.
singular_nameWhat's the name of just 1 of this stack. You have a stack of leather, but one piece of leather
sourceRelated to above. If present, the energy we draw from when using stack items, for cyborgs
splint_factorIf set and this used as a splint for a broken bone wound, +This is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)
stairs_typeWhat typepath stairs do we create from this stack
tableVariantWhat typepath table we create from this stack
use_radialIf TRUE, we'll use a radial instead when displaying recipes

Procs

add
build_recipeReturns a list of properties of a given recipe
building_checksChecks if we can build here, validly.
can_merge
get_main_recipesuse available_amount of sheets/pieces, return TRUE only if all sheets/pieces of this stack were used +we don't delete this stack when it reaches 0 because we expect the all in one grinder, etc to delete +this stack if grinding was successfull
is_valid_recipeChecks if the recipe is valid to be used
is_zero_amountReturns TRUE if the item stack is the equivalent of a 0 amount item.
make_itemMakes the item with the given recipe.
mergeMerges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.
merge_without_delMerges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.
on_item_craftedRun special logic on created items after they've been successfully crafted.
on_movable_entered_occupied_turfSignal handler for connect_loc element. Called when a movable enters the turf we're currently occupying. Merges if possible.
radial_checkUsed as a callback for radial building.
recursively_build_recipesBuilds all recipes in a given recipe list and returns an association list containing them
set_custom_materialsOverride to make things like metalgen accurately set custom materials
set_mats_per_unit
show_construction_radialShows a radial consisting of every radial recipe we have in our list.
split_stack
update_custom_materialsUpdates the custom materials list of this stack.
+

Var Details

absorption_capacity + + + + +

+

How much blood flow this stack can absorb if used as a bandage on a cut wound. +note that absorption is how much we lower the flow rate, not the raw amount of blood we suck up

absorption_rate + + + + +

+

How quickly we lower the blood flow on a cut wound we're bandaging. +Expected lifetime of this bandage in seconds is thus absorption_capacity/absorption_rate, +or until the cut heals, whichever comes first

amount + + + + +

+

How much is in this stack?

burn_cleanliness_bonus + + + + +

+

Like splint_factor but for burns instead of bone wounds. This is a multiplier used to speed up burn recoveries

cost + + + + +

+

Related to above. How much energy it costs from storage to use stack items

full_w_class + + + + +

+

The weight class the stack has at amount > 2/3rds max_amount

has_unique_girder + + + + +

+

Does this stack require a unique girder in order to make a wall?

is_cyborg + + + + +

+

If TRUE, this stack is a module used by a cyborg (doesn't run out like normal / etc)

material_type + + + + +

+

Datum material type that this stack is made of

mats_per_unit + + + + +

+

List that tells you how much is in a single unit.

matter_amount + + + + +

+

Amount of matter given back to RCDs

max_amount + + + + +

+

How much is allowed in this stack?

merge_type + + + + +

+

This path and its children should merge with this stack, defaults to src.type

novariants + + + + +

+

Determines whether the item should update it's sprites based on amount.

radial_radius + + + + +

+

If use_radial is TRUE, this is the radius of the radial

recipes + + + + +

+

A list to all recipies this stack item can create.

singular_name + + + + +

+

What's the name of just 1 of this stack. You have a stack of leather, but one piece of leather

source + + + + +

+

Related to above. If present, the energy we draw from when using stack items, for cyborgs

splint_factor + + + + +

+

If set and this used as a splint for a broken bone wound, +This is used as a multiplier for applicable slowdowns (lower = better) (also for speeding up burn recoveries)

stairs_type + + + + +

+

What typepath stairs do we create from this stack

tableVariant + + + + +

+

What typepath table we create from this stack

use_radial + + + + +

+

If TRUE, we'll use a radial instead when displaying recipes

Proc Details

add +

+
    +
  • +

    Adds some number of units to this stack.

    +
  • +
  • +

    Arguments:

    +
  • +
  • +
      +
    • _amount: The number of units to add to this stack.
    • +
    +
  • +

build_recipe +

+

Returns a list of properties of a given recipe

+

Arguments:

+
    +
  • R - The stack recipe we are using to get a list of properties
  • +

building_checks +

+

Checks if we can build here, validly.

can_merge +

+
    +
  • +

    Checks whether this stack can merge itself into another stack.

    +
  • +
  • +

    Arguments:

    +
  • +
  • +
      +
    • check: The stack to check for mergeability.
    • +
    +
  • +
  • +
      +
    • [inhand][boolean]: Whether or not the stack to check should act like it's in a mob's hand.
    • +
    +
  • +

get_main_recipes +

+

use available_amount of sheets/pieces, return TRUE only if all sheets/pieces of this stack were used +we don't delete this stack when it reaches 0 because we expect the all in one grinder, etc to delete +this stack if grinding was successfull

is_valid_recipe +

+

Checks if the recipe is valid to be used

+

Arguments:

+
    +
  • R - The stack recipe we are checking if it is valid
  • +
  • recipe_list - The list of recipes we are using to check the given recipe
  • +

is_zero_amount +

+

Returns TRUE if the item stack is the equivalent of a 0 amount item.

+

Also deletes the item if delete_if_zero is TRUE and the stack does not have +is_cyborg set to true.

make_item +

+

Makes the item with the given recipe.

merge +

+

Merges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.

+

This proc deletes src if the remaining amount after the transfer is 0.

merge_without_del +

+

Merges as much of src into target_stack as possible. If present, the limit arg overrides target_stack.max_amount for transfer.

+

This calls use() without check = FALSE, preventing the item from qdeling itself if it reaches 0 stack size.

+

As a result, this proc can leave behind a 0 amount stack.

on_item_crafted +

+

Run special logic on created items after they've been successfully crafted.

on_movable_entered_occupied_turf +

+

Signal handler for connect_loc element. Called when a movable enters the turf we're currently occupying. Merges if possible.

radial_check +

+

Used as a callback for radial building.

recursively_build_recipes +

+

Builds all recipes in a given recipe list and returns an association list containing them

+

Arguments:

+
    +
  • recipe_to_iterate - The list of recipes we are using to build recipes
  • +

set_custom_materials +

+

Override to make things like metalgen accurately set custom materials

set_mats_per_unit +

+
    +
  • +

    Sets the amount of materials per unit for this stack.

    +
  • +
  • +

    Arguments:

    +
  • +
  • +
      +
    • mats: The value to set the mats per unit to.
    • +
    +
  • +
  • +
      +
    • multiplier: The amount to multiply the mats per unit by. Defaults to 1.
    • +
    +
  • +

show_construction_radial +

+

Shows a radial consisting of every radial recipe we have in our list.

split_stack +

+
    +
  • +

    Splits the stack into two stacks.

    +
  • +
  • +

    Arguments:

    +
  • +
  • +
      +
    • user: The mob splitting the stack.
    • +
    +
  • +
  • +
      +
    • amount: The number of units to split from this stack.
    • +
    +
  • +

update_custom_materials +

+

Updates the custom materials list of this stack.

+ + + diff --git a/obj/item/stack/cannonball.html b/obj/item/stack/cannonball.html new file mode 100644 index 00000000000..be618e821c8 --- /dev/null +++ b/obj/item/stack/cannonball.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/cannonball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cannonball + + + +

+ + +

Vars

projectile_typethe type of projectile this type of cannonball item turns into.
+

Var Details

projectile_type + + + + +

+

the type of projectile this type of cannonball item turns into.

+ + + diff --git a/obj/item/stack/conveyor.html b/obj/item/stack/conveyor.html new file mode 100644 index 00000000000..b9c718433a3 --- /dev/null +++ b/obj/item/stack/conveyor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/conveyor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

conveyor + + + +

+ + +

Vars

idID for linking a belt to one or more switches, all conveyors with the same ID will be controlled the same switch(es).
+

Var Details

id + + + + +

+

ID for linking a belt to one or more switches, all conveyors with the same ID will be controlled the same switch(es).

+ + + diff --git a/obj/item/stack/ducts.html b/obj/item/stack/ducts.html new file mode 100644 index 00000000000..7c64d9946a8 --- /dev/null +++ b/obj/item/stack/ducts.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/ducts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ducts + + + +

+ + + +

Vars

duct_colorColor of our duct
duct_layerDefault layer of our duct
+

Var Details

duct_color + + + + +

+

Color of our duct

duct_layer + + + + +

+

Default layer of our duct

+ + + diff --git a/obj/item/stack/license_plates/filled.html b/obj/item/stack/license_plates/filled.html new file mode 100644 index 00000000000..8a4473d2597 --- /dev/null +++ b/obj/item/stack/license_plates/filled.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/stack/license_plates/filled - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

filled + + + +

+ + +

Procs

update_icon_stateOverride to allow for variations

Proc Details

update_icon_state +

+

Override to allow for variations

+ + + diff --git a/obj/item/stack/medical.html b/obj/item/stack/medical.html new file mode 100644 index 00000000000..a4cfd3dfcd1 --- /dev/null +++ b/obj/item/stack/medical.html @@ -0,0 +1,129 @@ + + + + + + + /obj/item/stack/medical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

medical + + + +

+ + + + + + + + + + + + + + + +

Vars

flesh_regenerationHow much we add to flesh_healing for burn wounds on application
heal_bruteHow much brute we heal per application. This is the only number that matters for simplemobs
heal_burnHow much burn we heal per application
other_delayHow long it takes to apply it to someone else
repeatingIf we've still got more and the patient is still hurt, should we keep going automatically?
sanitizationHow much sanitization to apply to burn wounds on application
self_delayHow long it takes to apply it to yourself
stop_bleedingHow much we reduce bleeding per application on cut wounds

Procs

begin_heal_loopUsed to begin the recursive healing loop. +Returns TRUE if we entered the loop, FALSE if we didn't
can_healChecks if the passed patient can be healed by the passed user
healApply the actual effects of the healing if it's a simple animal, goes to /obj/item/stack/medical/proc/heal_carbon if it's a carbon, returns TRUE if it works, FALSE if it doesn't
heal_carbonThe healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail
post_heal_effectsOverride this proc for special post heal effects.
try_healIn which we print the message that we're starting to heal someone, then we try healing them. Does the do_after whether or not it can actually succeed on a targeted mob
+

Var Details

flesh_regeneration + + + + +

+

How much we add to flesh_healing for burn wounds on application

heal_brute + + + + +

+

How much brute we heal per application. This is the only number that matters for simplemobs

heal_burn + + + + +

+

How much burn we heal per application

other_delay + + + + +

+

How long it takes to apply it to someone else

repeating + + + + +

+

If we've still got more and the patient is still hurt, should we keep going automatically?

sanitization + + + + +

+

How much sanitization to apply to burn wounds on application

self_delay + + + + +

+

How long it takes to apply it to yourself

stop_bleeding + + + + +

+

How much we reduce bleeding per application on cut wounds

Proc Details

begin_heal_loop +

+

Used to begin the recursive healing loop. +Returns TRUE if we entered the loop, FALSE if we didn't

can_heal +

+

Checks if the passed patient can be healed by the passed user

heal +

+

Apply the actual effects of the healing if it's a simple animal, goes to /obj/item/stack/medical/proc/heal_carbon if it's a carbon, returns TRUE if it works, FALSE if it doesn't

heal_carbon +

+

The healing effects on a carbon patient. Since we have extra details for dealing with bodyparts, we get our own fancy proc. Still returns TRUE on success and FALSE on fail

post_heal_effects +

+

Override this proc for special post heal effects.

try_heal +

+

In which we print the message that we're starting to heal someone, then we try healing them. Does the do_after whether or not it can actually succeed on a targeted mob

+ + + diff --git a/obj/item/stack/medical/mesh.html b/obj/item/stack/medical/mesh.html new file mode 100644 index 00000000000..f6cfc76e61b --- /dev/null +++ b/obj/item/stack/medical/mesh.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/medical/mesh - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mesh + + + +

+ + +

Vars

grind_resultsThis var determines if the sterile packaging of the mesh has been opened.
+

Var Details

grind_results + + + + +

+

This var determines if the sterile packaging of the mesh has been opened.

+ + + diff --git a/obj/item/stack/ore/bluespace_crystal.html b/obj/item/stack/ore/bluespace_crystal.html new file mode 100644 index 00000000000..3f3a107c3c6 --- /dev/null +++ b/obj/item/stack/ore/bluespace_crystal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/ore/bluespace_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bluespace_crystal + + + +

+ + +

Vars

blink_rangeThe teleport range when crushed/thrown at someone.
+

Var Details

+

The teleport range when crushed/thrown at someone.

+ + + diff --git a/obj/item/stack/pipe_cleaner_coil.html b/obj/item/stack/pipe_cleaner_coil.html new file mode 100644 index 00000000000..820fd6f7b89 --- /dev/null +++ b/obj/item/stack/pipe_cleaner_coil.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/pipe_cleaner_coil - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pipe_cleaner_coil + + + +

+ + +

Vars

pipecleaner_colorFor updating inhand icons.
+

Var Details

pipecleaner_color + + + + +

+

For updating inhand icons.

+ + + diff --git a/obj/item/stack/pipe_cleaner_coil/cyborg.html b/obj/item/stack/pipe_cleaner_coil/cyborg.html new file mode 100644 index 00000000000..60966d4847b --- /dev/null +++ b/obj/item/stack/pipe_cleaner_coil/cyborg.html @@ -0,0 +1,39 @@ + + + + + + + /obj/item/stack/pipe_cleaner_coil/cyborg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cyborg + + + +

+ + +

Procs

check_menuChecks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with the menu
  • +
+ + + diff --git a/obj/item/stack/sheet.html b/obj/item/stack/sheet.html new file mode 100644 index 00000000000..bb1d9b92b06 --- /dev/null +++ b/obj/item/stack/sheet.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/stack/sheet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sheet + + + +

+ + + + +

Vars

sniffablewhether this sheet can be sniffed by the material sniffer
walltypeWhat type of wall does this sheet spawn

Procs

on_attack_floorremoving from sniffable handled by the sniffer itself when it checks for targets +Facilitates sheets being smacked on the floor
+

Var Details

sniffable + + + + +

+

whether this sheet can be sniffed by the material sniffer

walltype + + + + +

+

What type of wall does this sheet spawn

Proc Details

on_attack_floor +

+

removing from sniffable handled by the sniffer itself when it checks for targets +Facilitates sheets being smacked on the floor

+

This is used for crafting by hitting the floor with items. +The inital use case is glass sheets breaking in to shards when the floor is hit. +Args:

+
    +
  • user: The user that did the action
  • +
  • params: paramas passed in from attackby
  • +
+ + + diff --git a/obj/item/stack/sheet/wethide.html b/obj/item/stack/sheet/wethide.html new file mode 100644 index 00000000000..12ff2ac4cfb --- /dev/null +++ b/obj/item/stack/sheet/wethide.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stack/sheet/wethide - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wethide + + + +

+ + + +

Vars

drying_threshold_temperatureKelvin to start drying
wetnessReduced when exposed to high temperatures
+

Var Details

drying_threshold_temperature + + + + +

+

Kelvin to start drying

wetness + + + + +

+

Reduced when exposed to high temperatures

+ + + diff --git a/obj/item/stack/sticky_tape.html b/obj/item/stack/sticky_tape.html new file mode 100644 index 00000000000..f3b3e4026b4 --- /dev/null +++ b/obj/item/stack/sticky_tape.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/sticky_tape - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sticky_tape + + + +

+ + +

Vars

tape_gagThe tape type you get when ripping off a piece of tape.
+

Var Details

tape_gag + + + + +

+

The tape type you get when ripping off a piece of tape.

+ + + diff --git a/obj/item/stack/tile.html b/obj/item/stack/tile.html new file mode 100644 index 00000000000..371a8263e48 --- /dev/null +++ b/obj/item/stack/tile.html @@ -0,0 +1,84 @@ + + + + + + + /obj/item/stack/tile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tile + + + +

+ +

TILE STACKS

+

Allows us to place a turf on a plating.

+ + + + + + +

Vars

replace_platingAllows us to replace the plating we are attacking if our baseturfs are the same.
tile_reskin_typesCached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image
tile_rotate_dirsCached associative lazy list to hold the radial options for tile dirs. See tile_reskinning.dm for more information.
turf_dirWhat dir will the turf have?
turf_typeWhat type of turf does this tile produce.

Procs

place_tilePlace our tile on a plating, or replace it.
tile_reskin_listCaches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).
+

Var Details

replace_plating + + + + +

+

Allows us to replace the plating we are attacking if our baseturfs are the same.

tile_reskin_types + + + + +

+

Cached associative lazy list to hold the radial options for tile reskinning. See tile_reskinning.dm for more information. Pattern: list[type] -> image

tile_rotate_dirs + + + + +

+

Cached associative lazy list to hold the radial options for tile dirs. See tile_reskinning.dm for more information.

turf_dir + + + + +

+

What dir will the turf have?

turf_type + + + + +

+

What type of turf does this tile produce.

Proc Details

place_tile +

+

Place our tile on a plating, or replace it.

+

Arguments:

+
    +
  • target_plating - Instance of the plating we want to place on. Replaced during sucessful executions.
  • +
  • user - The mob doing the placing.
  • +

tile_reskin_list +

+

Caches associative lists with type path index keys and images of said type's initial icon state (typepath -> image).

+ + + diff --git a/obj/item/stack/tile/carpet/neon.html b/obj/item/stack/tile/carpet/neon.html new file mode 100644 index 00000000000..ff8a0cb1c67 --- /dev/null +++ b/obj/item/stack/tile/carpet/neon.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/stack/tile/carpet/neon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

neon + + + +

+ + + + + + +

Vars

emissive_alphaThe alpha used for the emissive overlay.
neon_colorThe color used for the neon overlay.
neon_iconThe icon used for the neon overlay and emissive overlay.
neon_icon_stateThe icon state used for the neon overlay and emissive overlay.
neon_inhand_icon_stateThe icon state used for the neon overlay inhands.
+

Var Details

emissive_alpha + + + + +

+

The alpha used for the emissive overlay.

neon_color + + + + +

+

The color used for the neon overlay.

neon_icon + + + + +

+

The icon used for the neon overlay and emissive overlay.

neon_icon_state + + + + +

+

The icon state used for the neon overlay and emissive overlay.

neon_inhand_icon_state + + + + +

+

The icon state used for the neon overlay inhands.

+ + + diff --git a/obj/item/stack/tile/mineral.html b/obj/item/stack/tile/mineral.html new file mode 100644 index 00000000000..5e32865ad2d --- /dev/null +++ b/obj/item/stack/tile/mineral.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/stack/tile/mineral - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mineral + + + +

+ + +

Vars

mineralTypeDetermines what stack is gotten out of us when welded.
+

Var Details

mineralType + + + + +

+

Determines what stack is gotten out of us when welded.

+ + + diff --git a/obj/item/sticker.html b/obj/item/sticker.html new file mode 100644 index 00000000000..1ddd8ecab19 --- /dev/null +++ b/obj/item/sticker.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/sticker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sticker + + + +

+ +

parent type for all other stickers. do not spawn directly

+ +

Vars

contrabandIf the sticker should be disincluded from normal sticker boxes.
icon_statesIf not null, pick an icon_state from this list
+

Var Details

contraband + + + + +

+

If the sticker should be disincluded from normal sticker boxes.

icon_states + + + + +

+

If not null, pick an icon_state from this list

+ + + diff --git a/obj/item/stock_block.html b/obj/item/stock_block.html new file mode 100644 index 00000000000..c28a6a1ff42 --- /dev/null +++ b/obj/item/stock_block.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/stock_block - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stock_block + + + +

+ + + + + +

Vars

export_matWhat is the name of the material this was made from?
export_valueHow many credits was this worth when created?
fluidIs this stock block currently updating it's value with the market (aka fluid)?
quantityQuantity of export material
+

Var Details

export_mat + + + + +

+

What is the name of the material this was made from?

export_value + + + + +

+

How many credits was this worth when created?

fluid + + + + +

+

Is this stock block currently updating it's value with the market (aka fluid)?

quantity + + + + +

+

Quantity of export material

+ + + diff --git a/obj/item/stock_parts.html b/obj/item/stock_parts.html new file mode 100644 index 00000000000..b3d0ccec166 --- /dev/null +++ b/obj/item/stock_parts.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/stock_parts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stock_parts + + + +

+ +

even though stacks aren't stock parts, get_part_rating() is defined on the item level (see /obj/item/proc/get_part_rating()) and defaults to returning 0.

+ +

Vars

abstract_typeThe generic category type that the stock part belongs to. Generic objects that should not be instantiated should have the same type and abstract_type
base_nameUsed when a base part has a different name to higher tiers of part. For example, machine frames want any servo and not just a micro-servo.
+

Var Details

abstract_type + + + + +

+

The generic category type that the stock part belongs to. Generic objects that should not be instantiated should have the same type and abstract_type

base_name + + + + +

+

Used when a base part has a different name to higher tiers of part. For example, machine frames want any servo and not just a micro-servo.

+ + + diff --git a/obj/item/stock_parts/cell.html b/obj/item/stock_parts/cell.html new file mode 100644 index 00000000000..b100cdecd44 --- /dev/null +++ b/obj/item/stock_parts/cell.html @@ -0,0 +1,114 @@ + + + + + + + /obj/item/stock_parts/cell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Power cell + + + +

+ +

Batteries.

+ + + + + + + + + + + +

Vars

chargeCurrent charge in cell units
charge_light_typeWhat charge lige sprite to use, null if no light
chargeratehow much power is given every tick in a recharger
connector_typeWhat connector sprite to use when in a cell charger, null if no connectors
corruptedIf the power cell was damaged by an explosion, chance for it to become corrupted and function the same as rigged.
emptyDoes the cell start without any charge?
grown_batteryIf it's a grown that acts as a battery, add a wire overlay to it.
maxchargeMaximum charge in cell units
ratingdescIf true, the cell will state it's maximum charge in it's description
riggedIf the cell has been booby-trapped by injecting it with plasma. Chance on use() to explode.

Procs

on_magic_chargeSignal proc for COMSIG_ITEM_MAGICALLY_CHARGED
on_reagents_delHandles properly detaching signal hooks.
+

Var Details

charge + + + + +

+

Current charge in cell units

charge_light_type + + + + +

+

What charge lige sprite to use, null if no light

chargerate + + + + +

+

how much power is given every tick in a recharger

connector_type + + + + +

+

What connector sprite to use when in a cell charger, null if no connectors

corrupted + + + + +

+

If the power cell was damaged by an explosion, chance for it to become corrupted and function the same as rigged.

empty + + + + +

+

Does the cell start without any charge?

grown_battery + + + + +

+

If it's a grown that acts as a battery, add a wire overlay to it.

maxcharge + + + + +

+

Maximum charge in cell units

ratingdesc + + + + +

+

If true, the cell will state it's maximum charge in it's description

rigged + + + + +

+

If the cell has been booby-trapped by injecting it with plasma. Chance on use() to explode.

Proc Details

on_magic_charge +

+

Signal proc for COMSIG_ITEM_MAGICALLY_CHARGED

+

If we, or the item we're located in, is subject to the charge spell, gain some charge back

on_reagents_del +

+

Handles properly detaching signal hooks.

+ + + diff --git a/obj/item/storage.html b/obj/item/storage.html new file mode 100644 index 00000000000..fcaa71782f8 --- /dev/null +++ b/obj/item/storage.html @@ -0,0 +1,58 @@ + + + + + + + /obj/item/storage - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

storage + + + +

+ + + + +

Vars

preloadShould we preload the contents of this type? +BE CAREFUL, THERE'S SOME REALLY NASTY SHIT IN THIS TYPEPATH +SANTA IS EVIL
storage_typeWhat storage type to use for this item

Procs

get_types_to_preloadReturns a list of object types to be preloaded by our code +I'll say it again, be very careful with this. We only need it for a few things +Don't do anything stupid, please
+

Var Details

preload + + + + +

+

Should we preload the contents of this type? +BE CAREFUL, THERE'S SOME REALLY NASTY SHIT IN THIS TYPEPATH +SANTA IS EVIL

storage_type + + + + +

+

What storage type to use for this item

Proc Details

get_types_to_preload +

+

Returns a list of object types to be preloaded by our code +I'll say it again, be very careful with this. We only need it for a few things +Don't do anything stupid, please

+ + + diff --git a/obj/item/storage/backpack/duffelbag.html b/obj/item/storage/backpack/duffelbag.html new file mode 100644 index 00000000000..3093e6cf2f3 --- /dev/null +++ b/obj/item/storage/backpack/duffelbag.html @@ -0,0 +1,47 @@ + + + + + + + /obj/item/storage/backpack/duffelbag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

duffelbag + + + +

+ + + +

Vars

zipped_upIf this bag is zipped (contents hidden) up or not +Starts enabled so you're forced to interact with it to "get" it

Procs

zipper_matchesChecks to see if the zipper matches the passed in state +Returns true if so, false otherwise
+

Var Details

zipped_up + + + + +

+

If this bag is zipped (contents hidden) up or not +Starts enabled so you're forced to interact with it to "get" it

Proc Details

zipper_matches +

+

Checks to see if the zipper matches the passed in state +Returns true if so, false otherwise

+ + + diff --git a/obj/item/storage/backpack/meat.html b/obj/item/storage/backpack/meat.html new file mode 100644 index 00000000000..bbebd654b5b --- /dev/null +++ b/obj/item/storage/backpack/meat.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/storage/backpack/meat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

meat + + + +

+ + + + + + +

Vars

eatverbsEating verbs when consuming the MEAT
foodtypesThe food types of the edible component
meat_reagentsReagents added to the edible component, ingested when you EAT the MEAT
meat_soundsSounds used in the squeak component
tastesHow our MEAT tastes. It tastes like MEAT
+

Var Details

eatverbs + + + + +

+

Eating verbs when consuming the MEAT

foodtypes + + + + +

+

The food types of the edible component

meat_reagents + + + + +

+

Reagents added to the edible component, ingested when you EAT the MEAT

meat_sounds + + + + +

+

Sounds used in the squeak component

tastes + + + + +

+

How our MEAT tastes. It tastes like MEAT

+ + + diff --git a/obj/item/storage/bag/money/dutchmen.html b/obj/item/storage/bag/money/dutchmen.html new file mode 100644 index 00000000000..e85bf248538 --- /dev/null +++ b/obj/item/storage/bag/money/dutchmen.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/bag/money/dutchmen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dutchmen + + + +

+ + +

Procs

PopulateContentsUsed in the dutchmen pirate shuttle.

Proc Details

PopulateContents +

+

Used in the dutchmen pirate shuttle.

+ + + diff --git a/obj/item/storage/bag/ore.html b/obj/item/storage/bag/ore.html new file mode 100644 index 00000000000..ca15029dff5 --- /dev/null +++ b/obj/item/storage/bag/ore.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/bag/ore - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ore + + + +

+ + + +

Vars

ore_bag_balloon_cooldownCooldown on balloon alerts when picking ore
spam_protectionIf this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it
+

Var Details

ore_bag_balloon_cooldown + + + + +

+

Cooldown on balloon alerts when picking ore

spam_protection + + + + +

+

If this is TRUE, the holder won't receive any messages when they fail to pick up ore through crossing it

+ + + diff --git a/obj/item/storage/bag/quiver.html b/obj/item/storage/bag/quiver.html new file mode 100644 index 00000000000..52ac3bfaab2 --- /dev/null +++ b/obj/item/storage/bag/quiver.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/bag/quiver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

quiver + + + +

+ + +

Vars

arrow_pathtype of arrow the quivel should hold
+

Var Details

arrow_path + + + + +

+

type of arrow the quivel should hold

+ + + diff --git a/obj/item/storage/bag/trash.html b/obj/item/storage/bag/trash.html new file mode 100644 index 00000000000..afb5e9a01e6 --- /dev/null +++ b/obj/item/storage/bag/trash.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/bag/trash - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trash + + + +

+ + + +

Vars

insertableIf true, can be inserted into the janitor cart

Procs

post_insertionIf you dump a trash bag into something, anything that doesn't get inserted will spill out onto your feet
+

Var Details

insertable + + + + +

+

If true, can be inserted into the janitor cart

Proc Details

post_insertion +

+

If you dump a trash bag into something, anything that doesn't get inserted will spill out onto your feet

+ + + diff --git a/obj/item/storage/box.html b/obj/item/storage/box.html new file mode 100644 index 00000000000..c236653df96 --- /dev/null +++ b/obj/item/storage/box.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

box + + + +

+ +

The common cardboard box.

+ +

Vars

foldable_resultWhat material do we get when we fold this box?
illustrationWhat drawing will we get on the face of the box?
+

Var Details

foldable_result + + + + +

+

What material do we get when we fold this box?

illustration + + + + +

+

What drawing will we get on the face of the box?

+ + + diff --git a/obj/item/storage/box/donkpockets.html b/obj/item/storage/box/donkpockets.html new file mode 100644 index 00000000000..b18164276cc --- /dev/null +++ b/obj/item/storage/box/donkpockets.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/box/donkpockets - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

donkpockets + + + +

+ + +

Vars

donktypeWhat type of donk pocket are we gonna cram into this box?
+

Var Details

donktype + + + + +

+

What type of donk pocket are we gonna cram into this box?

+ + + diff --git a/obj/item/storage/box/holy.html b/obj/item/storage/box/holy.html new file mode 100644 index 00000000000..ead30e0adb3 --- /dev/null +++ b/obj/item/storage/box/holy.html @@ -0,0 +1,38 @@ + + + + + + + /obj/item/storage/box/holy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

holy + + + +

+ + +

Vars

typepath_for_previewThis item is used to generate a preview image for this set. +It could be any item, doesn't even necessarily need to be something in the kit
+

Var Details

typepath_for_preview + + + + +

+

This item is used to generate a preview image for this set. +It could be any item, doesn't even necessarily need to be something in the kit

+ + + diff --git a/obj/item/storage/box/monkeycubes.html b/obj/item/storage/box/monkeycubes.html new file mode 100644 index 00000000000..96f08073f7c --- /dev/null +++ b/obj/item/storage/box/monkeycubes.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/box/monkeycubes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

monkeycubes + + + +

+ + +

Vars

cube_typeWhich type of cube are we spawning in this box?
+

Var Details

cube_type + + + + +

+

Which type of cube are we spawning in this box?

+ + + diff --git a/obj/item/storage/box/papersack.html b/obj/item/storage/box/papersack.html new file mode 100644 index 00000000000..81e861d2682 --- /dev/null +++ b/obj/item/storage/box/papersack.html @@ -0,0 +1,55 @@ + + + + + + + /obj/item/storage/box/papersack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

papersack + + + +

+ + + + +

Vars

design_choiceWhat design from papersack_designs we are currently using.
papersack_designsA list of all available papersack reskins

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
+

Var Details

design_choice + + + + +

+

What design from papersack_designs we are currently using.

papersack_designs + + + + +

+

A list of all available papersack reskins

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with a menu
  • +
  • P The pen used to interact with a menu
  • +
+ + + diff --git a/obj/item/storage/box/posterbox.html b/obj/item/storage/box/posterbox.html new file mode 100644 index 00000000000..926941a938c --- /dev/null +++ b/obj/item/storage/box/posterbox.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/box/posterbox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

posterbox + + + +

+ + +

Procs

add_quirk_postersfills box of posters based on job, one neutral poster and 2 department posters

Proc Details

add_quirk_posters +

+

fills box of posters based on job, one neutral poster and 2 department posters

+ + + diff --git a/obj/item/storage/box/survival.html b/obj/item/storage/box/survival.html new file mode 100644 index 00000000000..7f008abee1d --- /dev/null +++ b/obj/item/storage/box/survival.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/storage/box/survival - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

survival + + + +

+ + + + + +

Vars

craftedAre we crafted?
internal_typeWhich internals tank are we going to use for this box?
mask_typeWhat type of mask are we going to use for this box?
medipen_typeWhat medipen should be present in this box?
+

Var Details

crafted + + + + +

+

Are we crafted?

internal_type + + + + +

+

Which internals tank are we going to use for this box?

mask_type + + + + +

+

What type of mask are we going to use for this box?

medipen_type + + + + +

+

What medipen should be present in this box?

+ + + diff --git a/obj/item/storage/box/syndie_kit/poster_box.html b/obj/item/storage/box/syndie_kit/poster_box.html new file mode 100644 index 00000000000..554cd31ccf5 --- /dev/null +++ b/obj/item/storage/box/syndie_kit/poster_box.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/box/syndie_kit/poster_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

poster_box + + + +

+ + +

Vars

poster_countNumber of posters this box contains when spawning.
+

Var Details

poster_count + + + + +

+

Number of posters this box contains when spawning.

+ + + diff --git a/obj/item/storage/fancy.html b/obj/item/storage/fancy.html new file mode 100644 index 00000000000..66589ea23d9 --- /dev/null +++ b/obj/item/storage/fancy.html @@ -0,0 +1,71 @@ + + + + + + + /obj/item/storage/fancy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fancy + + + +

+ + + + + + + +

Vars

contents_tagUsed by examine to report what this thing is holding.
foldable_resultWhat material do we get when we fold this box?
has_open_closed_statesWhether it supports open and closed state icons.
open_statusWhether the container is open, always open, or closed
spawn_countHow many of the things to fill this storage with.
spawn_typeWhat type of thing to fill this storage with.
+

Var Details

contents_tag + + + + +

+

Used by examine to report what this thing is holding.

foldable_result + + + + +

+

What material do we get when we fold this box?

has_open_closed_states + + + + +

+

Whether it supports open and closed state icons.

open_status + + + + +

+

Whether the container is open, always open, or closed

spawn_count + + + + +

+

How many of the things to fill this storage with.

spawn_type + + + + +

+

What type of thing to fill this storage with.

+ + + diff --git a/obj/item/storage/fancy/cigarettes.html b/obj/item/storage/fancy/cigarettes.html new file mode 100644 index 00000000000..6a9ab1085b6 --- /dev/null +++ b/obj/item/storage/fancy/cigarettes.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/storage/fancy/cigarettes - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cigarettes + + + +

+ + + + + + +

Vars

candyfor cigarette overlay
display_cigsDo we not have our own handling for cig overlays?
rigged_omenFor VV'ing, set this to true if you want to force the coupon to give an omen
spawn_couponDoes this cigarette packet come with a coupon attached?

Procs

quick_remove_itemRemoves an item from the packet if there is one
+

Var Details

candy + + + + +

+

for cigarette overlay

display_cigs + + + + +

+

Do we not have our own handling for cig overlays?

rigged_omen + + + + +

+

For VV'ing, set this to true if you want to force the coupon to give an omen

spawn_coupon + + + + +

+

Does this cigarette packet come with a coupon attached?

Proc Details

quick_remove_item +

+

Removes an item from the packet if there is one

+ + + diff --git a/obj/item/storage/lockbox.html b/obj/item/storage/lockbox.html new file mode 100644 index 00000000000..b12920d05e5 --- /dev/null +++ b/obj/item/storage/lockbox.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/lockbox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

lockbox + + + +

+ + +

Procs

add_contextscreentips for lockboxes

Proc Details

add_context +

+

screentips for lockboxes

+ + + diff --git a/obj/item/storage/medkit.html b/obj/item/storage/medkit.html new file mode 100644 index 00000000000..5eea3340f42 --- /dev/null +++ b/obj/item/storage/medkit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/storage/medkit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medkit + + + +

+ + + +

Vars

damagetype_healedDefines damage type of the medkit. General ones stay null. Used for medibot healing bonuses
list_of_everything_medkits_can_holdyou just type this in holdables list of medkits instead of copypasting bunch of text.
+

Var Details

damagetype_healed + + + + +

+

Defines damage type of the medkit. General ones stay null. Used for medibot healing bonuses

list_of_everything_medkits_can_hold + + + + +

+

you just type this in holdables list of medkits instead of copypasting bunch of text.

+ + + diff --git a/obj/item/storage/organbox.html b/obj/item/storage/organbox.html new file mode 100644 index 00000000000..b1917583af8 --- /dev/null +++ b/obj/item/storage/organbox.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/storage/organbox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

organbox + + + +

+ +

A box which takes in coolant and uses it to preserve organs and body parts

+ +

Vars

coolingvar to prevent it freezing the same things over and over

Procs

coolant_to_spendif there is enough coolant var +Returns which coolant we are about to use, or null if there isn't any
+

Var Details

cooling + + + + +

+

var to prevent it freezing the same things over and over

Proc Details

coolant_to_spend +

+

if there is enough coolant var +Returns which coolant we are about to use, or null if there isn't any

+ + + diff --git a/obj/item/storage/part_replacer/bluespace.html b/obj/item/storage/part_replacer/bluespace.html new file mode 100644 index 00000000000..98b423dfedc --- /dev/null +++ b/obj/item/storage/part_replacer/bluespace.html @@ -0,0 +1,58 @@ + + + + + + + /obj/item/storage/part_replacer/bluespace - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bluespace + + + +

+ + + + +

Procs

on_insered_component_reagent_pre_addSignal handler for when the reagents datum of an inserted part has reagents added to it.
on_part_enteredSignal handler for when a part has been inserted into the BRPED.
on_part_exitedSignal handler for a part is removed from the BRPED.

Proc Details

on_insered_component_reagent_pre_add +

+

Signal handler for when the reagents datum of an inserted part has reagents added to it.

+

Registers the PRE_ADD variant which allows the signal handler to stop reagents being +added.

+

Simply returns COMPONENT_CANCEL_REAGENT_ADD. We never want to allow people to add +reagents to beakers in BRPEDs as they can then be used for spammable remote bombing.

on_part_entered +

+

Signal handler for when a part has been inserted into the BRPED.

+

If the inserted item is a rigged or corrupted cell, does some logging.

+

If it has a reagent holder, clears the reagents and registers signals to prevent new +reagents being added and registers clean up signals on inserted item's removal from +the BRPED.

on_part_exited +

+

Signal handler for a part is removed from the BRPED.

+

Does signal registration cleanup on its reagents, if it has any.

+ + + diff --git a/obj/item/storage/pod.html b/obj/item/storage/pod.html new file mode 100644 index 00000000000..f01e0694636 --- /dev/null +++ b/obj/item/storage/pod.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/storage/pod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pod + + + +

+ + +

Procs

afterShuttleMoveItem move procs

Proc Details

afterShuttleMove +

+

Item move procs

+ + + diff --git a/obj/item/storage/portable_chem_mixer.html b/obj/item/storage/portable_chem_mixer.html new file mode 100644 index 00000000000..7ced2383d9e --- /dev/null +++ b/obj/item/storage/portable_chem_mixer.html @@ -0,0 +1,70 @@ + + + + + + + /obj/item/storage/portable_chem_mixer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

portable_chem_mixer + + + +

+ + + + + + +

Vars

amountThe amount of reagent that is to be dispensed currently
beakerCreating an empty slot for a beaker that can be added to dispense into
dispensable_reagentsList in which all currently dispensable reagents go

Procs

replace_beakerReplaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently
update_contentsReload dispensable reagents from new contents
+

Var Details

amount + + + + +

+

The amount of reagent that is to be dispensed currently

beaker + + + + +

+

Creating an empty slot for a beaker that can be added to dispense into

dispensable_reagents + + + + +

+

List in which all currently dispensable reagents go

Proc Details

replace_beaker +

+

Replaces the beaker of the portable chemical mixer with another beaker, or simply adds the new beaker if none is in currently

+

Checks if a valid user and a valid new beaker exist and attempts to replace the current beaker in the portable chemical mixer with the one in hand. Simply places the new beaker in if no beaker is currently loaded +Arguments:

+
    +
  • mob/living/user - The user who is trying to exchange beakers
  • +
  • obj/item/reagent_containers/new_beaker - The new beaker that the user wants to put into the device
  • +

update_contents +

+

Reload dispensable reagents from new contents

+ + + diff --git a/obj/item/storage/toolbox/mechanical.html b/obj/item/storage/toolbox/mechanical.html new file mode 100644 index 00000000000..8214908f9e8 --- /dev/null +++ b/obj/item/storage/toolbox/mechanical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/toolbox/mechanical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mechanical + + + +

+ + +

Vars

has_soulIf FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.
+

Var Details

has_soul + + + + +

+

If FALSE, someone with a ensouled soulstone can sacrifice a spirit to change the sprite of this toolbox.

+ + + diff --git a/obj/item/storage/wallet.html b/obj/item/storage/wallet.html new file mode 100644 index 00000000000..48cd290389e --- /dev/null +++ b/obj/item/storage/wallet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/storage/wallet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

wallet + + + +

+ + +

Procs

refreshIDCalculates the new front ID.

Proc Details

refreshID +

+

Calculates the new front ID.

+

Picks the ID card that has the most combined command or higher tier accesses.

+ + + diff --git a/obj/item/style_meter.html b/obj/item/style_meter.html new file mode 100644 index 00000000000..a305f1b22f2 --- /dev/null +++ b/obj/item/style_meter.html @@ -0,0 +1,92 @@ + + + + + + + /obj/item/style_meter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

style_meter + + + +

+ + + + + + + + + + +

Vars

meter_appearanceMutable appearance added to the attached glasses
multitooledIf this is multitooled, which is passed onto the component on-creation, if one doesn't currently exist
style_meterThe style meter component we give.

Procs

check_wearingCheck if the glasses that this meter is linked with are being worn
clean_upUnregister signals and just generally clean up ourselves after being removed from glasses
on_altclickSignal proc to remove from glasses
on_dropSignal proc for when the meter-holding glasses are dropped/unequipped
on_examineSignal proc for on-examine
on_multitoolSignal proc for when the glasses or the meter is multitooled
+

Var Details

meter_appearance + + + + +

+

Mutable appearance added to the attached glasses

multitooled + + + + +

+

If this is multitooled, which is passed onto the component on-creation, if one doesn't currently exist

style_meter + + + + +

+

The style meter component we give.

Proc Details

check_wearing +

+

Check if the glasses that this meter is linked with are being worn

clean_up +

+

Unregister signals and just generally clean up ourselves after being removed from glasses

on_altclick +

+

Signal proc to remove from glasses

on_drop +

+

Signal proc for when the meter-holding glasses are dropped/unequipped

on_examine +

+

Signal proc for on-examine

on_multitool +

+

Signal proc for when the glasses or the meter is multitooled

+ + + diff --git a/obj/item/surgery_tray.html b/obj/item/surgery_tray.html new file mode 100644 index 00000000000..d4e9597d0ff --- /dev/null +++ b/obj/item/surgery_tray.html @@ -0,0 +1,52 @@ + + + + + + + /obj/item/surgery_tray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

surgery_tray + + + +

+ +

Surgery Trays +A storage object that displays tools in its contents based on tier, better tools are more visible. +Can be folded up and carried. Click it to draw a random tool.

+ + +

Vars

is_portableIf true we're currently portable

Procs

populate_contentsFills the tray with items it should contain on creation
set_tray_modeSets the surgery tray's deployment state. Silent if user is null.
+

Var Details

is_portable + + + + +

+

If true we're currently portable

Proc Details

populate_contents +

+

Fills the tray with items it should contain on creation

set_tray_mode +

+

Sets the surgery tray's deployment state. Silent if user is null.

+ + + diff --git a/obj/item/surgicaldrill.html b/obj/item/surgicaldrill.html new file mode 100644 index 00000000000..bad48b3d329 --- /dev/null +++ b/obj/item/surgicaldrill.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/surgicaldrill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

surgicaldrill + + + +

+ + +

Vars

surgical_tray_overlayHow this looks when placed in a surgical tray
+

Var Details

surgical_tray_overlay + + + + +

+

How this looks when placed in a surgical tray

+ + + diff --git a/obj/item/swab.html b/obj/item/swab.html new file mode 100644 index 00000000000..1b888bf88a0 --- /dev/null +++ b/obj/item/swab.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/swab - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

swab + + + +

+ +

Tool capable of taking biological samples from mobs

+

Procs

InitializeAdds the swabbing component to the biopsy tool

Proc Details

Initialize +

+

Adds the swabbing component to the biopsy tool

+ + + diff --git a/obj/item/switchblade.html b/obj/item/switchblade.html new file mode 100644 index 00000000000..6922c72953d --- /dev/null +++ b/obj/item/switchblade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/switchblade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

switchblade + + + +

+ + +

Vars

start_extendedWhether the switchblade starts extended or not.
+

Var Details

start_extended + + + + +

+

Whether the switchblade starts extended or not.

+ + + diff --git a/obj/item/syndicate_teleporter.html b/obj/item/syndicate_teleporter.html new file mode 100644 index 00000000000..cace1e8a77e --- /dev/null +++ b/obj/item/syndicate_teleporter.html @@ -0,0 +1,86 @@ + + + + + + + /obj/item/syndicate_teleporter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate_teleporter + + + +

+ + + + + + + + +

Vars

maximum_teleport_distanceMaximum distance to teleport user forward
minimum_teleport_distanceMinimum distance to teleport user forward

Procs

attempt_teleportTries to teleport the user forward based on random number between min/max teleport distance vars. +If destination is closed turf, try to save user from gibbing via a panic teleport. +Wearing bag of holding or triggering teleport via EMP removes panic teleport, higher chance of being gibbed. +Mobs on same tile as destination get telefragged.
get_fraggedForce move victim to destination, explode destination, drop all victim's items, gib them
make_bloodsBleed and make blood splatters at tele start and end points
panic_teleportChecks parallel_teleport_distance amount of tiles parallel to user's teleport destination. +If no valid closed turfs found, gib user.
telefragDamage and stun all mobs in fragging_location turf, called after a teleport
+

Var Details

maximum_teleport_distance + + + + +

+

Maximum distance to teleport user forward

minimum_teleport_distance + + + + +

+

Minimum distance to teleport user forward

Proc Details

attempt_teleport +

+

Tries to teleport the user forward based on random number between min/max teleport distance vars. +If destination is closed turf, try to save user from gibbing via a panic teleport. +Wearing bag of holding or triggering teleport via EMP removes panic teleport, higher chance of being gibbed. +Mobs on same tile as destination get telefragged.

get_fragged +

+

Force move victim to destination, explode destination, drop all victim's items, gib them

make_bloods +

+

Bleed and make blood splatters at tele start and end points

panic_teleport +

+

Checks parallel_teleport_distance amount of tiles parallel to user's teleport destination. +If no valid closed turfs found, gib user.

telefrag +

+

Damage and stun all mobs in fragging_location turf, called after a teleport

+ + + diff --git a/obj/item/table_clock.html b/obj/item/table_clock.html new file mode 100644 index 00000000000..5611e342f65 --- /dev/null +++ b/obj/item/table_clock.html @@ -0,0 +1,59 @@ + + + + + + + /obj/item/table_clock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

table_clock + + + +

+ + + + + +

Vars

brokenBoolean on whether the clock has been destroyed.
soundloopSoundloop we use of a clock ticking.
times_brokenAmount of times the clock has been destroyed. It becomes unrepairable the third time.

Procs

break_clockBreaks the clock, turning off the soundloop. +Returns TRUE if it successfully breaks, FALSE otherwise.
+

Var Details

broken + + + + +

+

Boolean on whether the clock has been destroyed.

soundloop + + + + +

+

Soundloop we use of a clock ticking.

times_broken + + + + +

+

Amount of times the clock has been destroyed. It becomes unrepairable the third time.

Proc Details

break_clock +

+

Breaks the clock, turning off the soundloop. +Returns TRUE if it successfully breaks, FALSE otherwise.

+ + + diff --git a/obj/item/tank.html b/obj/item/tank.html new file mode 100644 index 00000000000..f83cc408b74 --- /dev/null +++ b/obj/item/tank.html @@ -0,0 +1,172 @@ + + + + + + + /obj/item/tank - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Gas Tank + + + +

+ +

Handheld gas canisters +Can rupture explosively if overpressurized

+ + + + + + + + + + + + + + + + + + +

Vars

air_contentsThe gases this tank contains. Don't modify this directly, use return_air() to get it instead
breathing_mobMob that is currently breathing from the tank.
distribute_pressureThe pressure of the gases this tank supplies to internals.
excitedUsed by process() to track if there's a reason to process each tick
explosion_infoHow our particular tank explodes.
ignitingIf we are in the process of exploding, stops multi explosions
leakingWhether the tank is currently leaking.
reaction_infoList containing reactions happening inside our tank.
tank_holder_icon_stateIcon state when in a tank holder. Null makes it incompatible with tank holder.
volumeThe volume of this tank. Among other things gas tank explosions (including TTVs) scale off of this. Be sure to account for that if you change this or you will break ~~toxins~~ordinance.

Procs

after_internals_closedCalled by carbons after they disconnect the tank from their breathing apparatus.
after_internals_openedCalled by carbons after they connect the tank to their breathing apparatus.
atom_breakHandles the tank springing a leak.
atom_destructionHandles rupturing and fragmenting
equippedCloses the tank if given to another mob while open.
handle_tolerancesHandles the minimum and maximum pressure tolerances of the tank.
merging_informationHandle fragmentation
remove_air_volumeRemoves some volume of the tanks gases as the tanks distribution pressure.
toggle_internalsAttempts to toggle the mob's internals on or off using this tank. Returns TRUE if successful.
+

Var Details

air_contents + + + + +

+

The gases this tank contains. Don't modify this directly, use return_air() to get it instead

breathing_mob + + + + +

+

Mob that is currently breathing from the tank.

distribute_pressure + + + + +

+

The pressure of the gases this tank supplies to internals.

excited + + + + +

+

Used by process() to track if there's a reason to process each tick

explosion_info + + + + +

+

How our particular tank explodes.

igniting + + + + +

+

If we are in the process of exploding, stops multi explosions

leaking + + + + +

+

Whether the tank is currently leaking.

reaction_info + + + + +

+

List containing reactions happening inside our tank.

tank_holder_icon_state + + + + +

+

Icon state when in a tank holder. Null makes it incompatible with tank holder.

volume + + + + +

+

The volume of this tank. Among other things gas tank explosions (including TTVs) scale off of this. Be sure to account for that if you change this or you will break ~~toxins~~ordinance.

Proc Details

after_internals_closed +

+

Called by carbons after they disconnect the tank from their breathing apparatus.

after_internals_opened +

+

Called by carbons after they connect the tank to their breathing apparatus.

atom_break +

+

Handles the tank springing a leak.

atom_destruction +

+

Handles rupturing and fragmenting

equipped +

+

Closes the tank if given to another mob while open.

handle_tolerances +

+

Handles the minimum and maximum pressure tolerances of the tank.

+

Returns true if it did anything of significance, false otherwise +Arguments:

+
    +
  • seconds_per_tick: How long has passed between ticks.
  • +

merging_information +

+

Handle fragmentation

remove_air_volume +

+

Removes some volume of the tanks gases as the tanks distribution pressure.

+

Arguments:

+
    +
  • volume_to_return: The amount of volume to remove from the tank.
  • +

toggle_internals +

+

Attempts to toggle the mob's internals on or off using this tank. Returns TRUE if successful.

+ + + diff --git a/obj/item/tank/internals.html b/obj/item/tank/internals.html new file mode 100644 index 00000000000..7876cbef10f --- /dev/null +++ b/obj/item/tank/internals.html @@ -0,0 +1,35 @@ + + + + + + + /obj/item/tank/internals - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

internals + + + +

+ + +

Procs

AltClickAllows carbon to toggle internals via AltClick of the equipped tank.

Proc Details

AltClick +

+

Allows carbon to toggle internals via AltClick of the equipped tank.

+ + + diff --git a/obj/item/tank/jetpack.html b/obj/item/tank/jetpack.html new file mode 100644 index 00000000000..279588a1d64 --- /dev/null +++ b/obj/item/tank/jetpack.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/tank/jetpack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

jetpack + + + +

+ + +

Procs

configure_jetpackconfigures/re-configures the jetpack component

Proc Details

configure_jetpack +

+

configures/re-configures the jetpack component

+

Arguments +stabilize - Should this jetpack be stabalized

+ + + diff --git a/obj/item/tape.html b/obj/item/tape.html new file mode 100644 index 00000000000..ca1e534ddcc --- /dev/null +++ b/obj/item/tape.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/tape - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tape + + + +

+ + + + +

Vars

initial_icon_stateBecause we can't expect God to do all the work.
storedinfoNumbered list of chat messages the recorder has heard with spans and prepended timestamps. Used for playback and transcription.
timestampNumbered list of seconds the messages in the previous list appear at on the tape. Used by playback to get the timing right.
+

Var Details

initial_icon_state + + + + +

+

Because we can't expect God to do all the work.

storedinfo + + + + +

+

Numbered list of chat messages the recorder has heard with spans and prepended timestamps. Used for playback and transcription.

timestamp + + + + +

+

Numbered list of seconds the messages in the previous list appear at on the tape. Used by playback to get the timing right.

+ + + diff --git a/obj/item/taperecorder.html b/obj/item/taperecorder.html new file mode 100644 index 00000000000..b30f7ced0b5 --- /dev/null +++ b/obj/item/taperecorder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/taperecorder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

taperecorder + + + +

+ + + + +

Vars

soundloopSound loop that plays when recording or playing back.
time_left_warningSeconds under which to warn that the tape is almost up.
time_warnedWhether we've warned during this recording session that the tape is almost up.
+

Var Details

soundloop + + + + +

+

Sound loop that plays when recording or playing back.

time_left_warning + + + + +

+

Seconds under which to warn that the tape is almost up.

time_warned + + + + +

+

Whether we've warned during this recording session that the tape is almost up.

+ + + diff --git a/obj/item/target.html b/obj/item/target.html new file mode 100644 index 00000000000..5a3daadfcad --- /dev/null +++ b/obj/item/target.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/target - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

target + + + +

+ + +

Vars

bullethole_overlaysLazylist to keep track of bullet-hole overlays.
+

Var Details

bullethole_overlays + + + + +

+

Lazylist to keep track of bullet-hole overlays.

+ + + diff --git a/obj/item/tattoo_kit.html b/obj/item/tattoo_kit.html new file mode 100644 index 00000000000..bd40d33c89b --- /dev/null +++ b/obj/item/tattoo_kit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/tattoo_kit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tattoo_kit + + + +

+ + + +

Vars

max_useshow many uses can be stored
useseach use = 1 tattoo
+

Var Details

max_uses + + + + +

+

how many uses can be stored

uses + + + + +

+

each use = 1 tattoo

+ + + diff --git a/obj/item/tcgcard.html b/obj/item/tcgcard.html new file mode 100644 index 00000000000..45382595373 --- /dev/null +++ b/obj/item/tcgcard.html @@ -0,0 +1,73 @@ + + + + + + + /obj/item/tcgcard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tcgcard + + + +

+ + + + + + + +

Vars

cached_flat_iconCached icon used for inspecting the card
flippedIs the card flipped?
idUnique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored
seriesUsed along with the id for lookup
tappedHas this card been "tapped"? AKA, is it horizontal?

Procs

extract_datumAlright so some brief details here, we store all "immutable" (Think like power) card variables in a global list, indexed by id +This proc gets the card's associated card datum to play with
+

Var Details

cached_flat_icon + + + + +

+

Cached icon used for inspecting the card

flipped + + + + +

+

Is the card flipped?

id + + + + +

+

Unique ID, for use in lookups and storage, used to index the global datum list where the rest of the card's info is stored

series + + + + +

+

Used along with the id for lookup

tapped + + + + +

+

Has this card been "tapped"? AKA, is it horizontal?

Proc Details

extract_datum +

+

Alright so some brief details here, we store all "immutable" (Think like power) card variables in a global list, indexed by id +This proc gets the card's associated card datum to play with

+ + + diff --git a/obj/item/tcgcard_deck.html b/obj/item/tcgcard_deck.html new file mode 100644 index 00000000000..edc014bff4a --- /dev/null +++ b/obj/item/tcgcard_deck.html @@ -0,0 +1,54 @@ + + + + + + + /obj/item/tcgcard_deck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tcgcard_deck + + + +

+ +

A stack item that's not actually a stack because ORDER MATTERS with a deck of cards! +The "top" card of the deck will always be the bottom card in the stack for our purposes.

+ + +

Procs

draw_cardThe user draws a single card. The deck is then handled based on how many cards are left.
flip_deckThe user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom.
shuffle_deckThe user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. +*User: The person doing the shuffling, used in visable message and closing UI. +*Visible: Will anyone need to hear the visable message about the shuffling?

Proc Details

draw_card +

+

The user draws a single card. The deck is then handled based on how many cards are left.

flip_deck +

+

The user flips the deck, turning it into a face up/down pile, and reverses the order of the cards from top to bottom.

shuffle_deck +

+

The user shuffles the order of the deck, then closes any visability into the deck's storage to prevent cheesing. +*User: The person doing the shuffling, used in visable message and closing UI. +*Visible: Will anyone need to hear the visable message about the shuffling?

+ + + diff --git a/obj/item/teleportation_scroll.html b/obj/item/teleportation_scroll.html new file mode 100644 index 00000000000..86d4a88fa30 --- /dev/null +++ b/obj/item/teleportation_scroll.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/teleportation_scroll - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

teleportation_scroll + + + +

+ + + +

Vars

usesNumber of uses the scroll gets.

Procs

on_spell_castDeplete charges if spell is cast successfully
+

Var Details

uses + + + + +

+

Number of uses the scroll gets.

Proc Details

on_spell_cast +

+

Deplete charges if spell is cast successfully

+ + + diff --git a/obj/item/thermometer.html b/obj/item/thermometer.html new file mode 100644 index 00000000000..4a82bef628a --- /dev/null +++ b/obj/item/thermometer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/thermometer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

thermometer + + + +

+ + +

Vars

attached_to_reagentsThe reagents datum that this object is attached to, so we know where we are when it's added to something.
+

Var Details

attached_to_reagents + + + + +

+

The reagents datum that this object is attached to, so we know where we are when it's added to something.

+ + + diff --git a/obj/item/throwing_star/stamina/ninja.html b/obj/item/throwing_star/stamina/ninja.html new file mode 100644 index 00000000000..675f89c8a8b --- /dev/null +++ b/obj/item/throwing_star/stamina/ninja.html @@ -0,0 +1,37 @@ + + + + + + + /obj/item/throwing_star/stamina/ninja - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Ninja Throwing Star + + + +

+ +

a throwing star which specifically makes sure you know it came from a real ninja.

+

The most important item in the entire codebase, as without it we would all cease to exist. +Inherits everything that makes it interesting the stamina throwing star, but the most +important change made is that its name specifically has the prefix, 'ninja' in it. +This provides the detective role with information to play off of by ensuring that his +assumption that a space ninja is aboard the ship to be true when he find 20 of these in +the captain's back. Along with this, its throwforce is 10 instead of the 5 of the stamina +throwing star, meaning it'll do a little more damage than the stamina throwing star does as well. +Changes to this item need to be approved by all maintainers, so if you do change it, make sure +you go through the proper channels, lest you get permabanned. Do I make myself clear?

+ + + diff --git a/obj/item/tk_grab.html b/obj/item/tk_grab.html new file mode 100644 index 00000000000..ebc3f46036e --- /dev/null +++ b/obj/item/tk_grab.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/tk_grab - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tk_grab + + + +

+ + +

Vars

focusObject focused / selected by the TK user
+

Var Details

focus + + + + +

+

Object focused / selected by the TK user

+ + + diff --git a/obj/item/toy/basketball.html b/obj/item/toy/basketball.html new file mode 100644 index 00000000000..6cce99b899b --- /dev/null +++ b/obj/item/toy/basketball.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/toy/basketball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

basketball + + + +

+ + + + + + + + +

Vars

last_useSo they can't spam dribbling (at least not too much)
pickup_cooldownPickup restriction cooldown
pickup_restriction_ckeysList of player ckeys who aren't allowed to pickup the ball (after scoring) +This resets after someone else picks up the ball or a certain amount of time has passed
stepsSo the basketball doesn't make sound every step
wielderThe person dribbling the basketball

Procs

after_throw_resetAfter a ball is thrown we need to reset the pass_flags since shooting lets you shoot through mobs
on_equipped_mob_disarmUsed to calculate our disarm chance based on stamina, direction, and spinning +Note - monkeys use attack_paw() and never trigger this signal (so they always have 100% disarm)
+

Var Details

last_use + + + + +

+

So they can't spam dribbling (at least not too much)

pickup_cooldown + + + + +

+

Pickup restriction cooldown

pickup_restriction_ckeys + + + + +

+

List of player ckeys who aren't allowed to pickup the ball (after scoring) +This resets after someone else picks up the ball or a certain amount of time has passed

steps + + + + +

+

So the basketball doesn't make sound every step

wielder + + + + +

+

The person dribbling the basketball

Proc Details

after_throw_reset +

+

After a ball is thrown we need to reset the pass_flags since shooting lets you shoot through mobs

+
    +
  • source: Datum src from original signal call
  • +

on_equipped_mob_disarm +

+

Used to calculate our disarm chance based on stamina, direction, and spinning +Note - monkeys use attack_paw() and never trigger this signal (so they always have 100% disarm)

+ + + diff --git a/obj/item/toy/captainsaid.html b/obj/item/toy/captainsaid.html new file mode 100644 index 00000000000..8c41895b869 --- /dev/null +++ b/obj/item/toy/captainsaid.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/toy/captainsaid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

captainsaid + + + +

+ + + +

Vars

current_modeCurrent mode of the item, changed when cycling through modes
modesList of modes it can cycle through
+

Var Details

current_mode + + + + +

+

Current mode of the item, changed when cycling through modes

modes + + + + +

+

List of modes it can cycle through

+ + + diff --git a/obj/item/toy/cards.html b/obj/item/toy/cards.html new file mode 100644 index 00000000000..6a00ee2978d --- /dev/null +++ b/obj/item/toy/cards.html @@ -0,0 +1,109 @@ + + + + + + + /obj/item/toy/cards - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cards + + + +

+ + + + + + + + + +

Vars

can_play_52_card_pickupDo all the cards drop to the floor when thrown at a person
card_atomsList of card atoms for a hand or deck
initial_cardsThe initial cards in the deck. Each entry is either:

Procs

count_cardsReturns the number of cards in the deck. +Avoids creating any cards if it is unnecessary.
drawDraws a card from the deck or hand of cards.
fetch_card_atomsReturns the cards in this deck. +Lazily generates the cards if they haven't already been made.
insertThis is used to insert a list of cards into a deck or cardhand
throw_impactThis is how we play 52 card pickup
+

Var Details

can_play_52_card_pickup + + + + +

+

Do all the cards drop to the floor when thrown at a person

card_atoms + + + + +

+

List of card atoms for a hand or deck

initial_cards + + + + +

+

The initial cards in the deck. Each entry is either:

+
    +
  • A string, representing the card name
  • +
  • A /datum/deck_card, which will turn into the card
  • +
  • A path that is a subtype of /datum/deck_card, which will be instantiated, then turned into the card
  • +

Proc Details

count_cards +

+

Returns the number of cards in the deck. +Avoids creating any cards if it is unnecessary.

draw +

+

Draws a card from the deck or hand of cards.

+

Draws the top card unless a card arg is supplied then it picks that specific card +and returns it (the card arg is used by the radial menu for cardhands to select +specific cards out of the cardhand) +Arguments:

+
    +
  • mob/living/user - The user drawing the card.
  • +
  • obj/item/toy/singlecard/card (optional) - The card drawn from the hand
  • +

fetch_card_atoms +

+

Returns the cards in this deck. +Lazily generates the cards if they haven't already been made.

insert +

+

This is used to insert a list of cards into a deck or cardhand

+

All cards that are inserted have their angle and pixel offsets reset to zero however their +flip state does not change unless it's being inserted into a deck which is always facedown +(see the deck/insert proc)

+

Arguments:

+
    +
  • card_item - Either a singlecard or cardhand that gets inserted into the src
  • +

throw_impact +

+

This is how we play 52 card pickup

+ + + diff --git a/obj/item/toy/cards/deck.html b/obj/item/toy/cards/deck.html new file mode 100644 index 00000000000..6ced5c35a64 --- /dev/null +++ b/obj/item/toy/cards/deck.html @@ -0,0 +1,110 @@ + + + + + + + /obj/item/toy/cards/deck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

deck + + + +

+ + + + + + + + + + + + +

Vars

cardgame_descThe description of the cardgame that is played with this deck (used for memories)
decksizeThe amount of cards to spawn in the deck (optional)
deckstyleThe art style of deck used (determines both deck and card icons used)
has_unique_card_iconsIf the cards in the deck have different card faces icons (blank and CAS decks do not)
holodeckThe holodeck computer used to spawn a holographic deck (see /obj/item/toy/cards/deck/syndicate/holographic)
is_standard_deckIf the deck is the standard 52 playing card deck (used for poker and blackjack)
shuffle_cooldownDeck shuffling cooldown.
shuffle_timeThe amount of time it takes to shuffle

Procs

CardgameEventThis checks if nearby mobs are playing a cardgame and triggers a mood and memory
shuffle_cardsShuffles the cards in the deck
throw_impactThis is how we play 52 card pickup
+

Var Details

cardgame_desc + + + + +

+

The description of the cardgame that is played with this deck (used for memories)

decksize + + + + +

+

The amount of cards to spawn in the deck (optional)

deckstyle + + + + +

+

The art style of deck used (determines both deck and card icons used)

has_unique_card_icons + + + + +

+

If the cards in the deck have different card faces icons (blank and CAS decks do not)

holodeck + + + + +

+

The holodeck computer used to spawn a holographic deck (see /obj/item/toy/cards/deck/syndicate/holographic)

is_standard_deck + + + + +

+

If the deck is the standard 52 playing card deck (used for poker and blackjack)

shuffle_cooldown + + + + +

+

Deck shuffling cooldown.

shuffle_time + + + + +

+

The amount of time it takes to shuffle

Proc Details

CardgameEvent +

+

This checks if nearby mobs are playing a cardgame and triggers a mood and memory

shuffle_cards +

+

Shuffles the cards in the deck

+

Arguments:

+
    +
  • user - The person shuffling the cards.
  • +

throw_impact +

+

This is how we play 52 card pickup

+ + + diff --git a/obj/item/toy/cards/deck/tarot/haunted.html b/obj/item/toy/cards/deck/tarot/haunted.html new file mode 100644 index 00000000000..13958ec8cfb --- /dev/null +++ b/obj/item/toy/cards/deck/tarot/haunted.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/cards/deck/tarot/haunted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

haunted + + + +

+ + +

Vars

ghost_alert_cooldownghost notification cooldown
+

Var Details

ghost_alert_cooldown + + + + +

+

ghost notification cooldown

+ + + diff --git a/obj/item/toy/crayon.html b/obj/item/toy/crayon.html new file mode 100644 index 00000000000..45bb4829773 --- /dev/null +++ b/obj/item/toy/crayon.html @@ -0,0 +1,305 @@ + + + + + + + /obj/item/toy/crayon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crayon + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

actually_paintsIf set to false, this just applies a chemical and cannot paint symbols
all_drawablesCombined lists
can_change_colourIf the user can toggle the colour, a la vanilla spraycan
chargesNumber of times this item can be used, INFINITE_CHARGES for unlimited
charges_leftNumber of remaining charges
crayon_colorCrayon overlay to use if placed into a crayon box
drawingsList of selectable drawing options
drawtypeContains chosen symbol to draw
edibleWhether or not you can eat this. Doesn't mean it is a good idea to eat it.
expose_turfsIf true, sprayed turfs should also have the internal chemical applied to them
graffitiList of selectable graffiti options +If an associated value is present, the graffiti has its own cost +otherwise it'll be the default value. +Ditto with the other other lists below.
graffiti_large_hList of selectable large options
has_capWhether this item has a cap that can be toggled on and off
icon_cappedIcon state to use when capped
icon_uncappedIcon state to use when uncapped
instantIf false a do_after is required to draw something, otherwise it applies immediately
is_cappedWhether the cap is currently on or off
orientedList of selectable orientable options
overlay_paint_colourIf true, a coloured overlay is applied to display the currently selected colour
paint_colorCurrent paint colour
paint_modeDictates how large of an area we cover with our paint
post_noiseWhether to play a sound after using
pre_noiseWhether to play a sound before using
randomsList of selectable random options
reagent_contentsReagents which are applied to things you use this on, or yourself if you eat it
runesList of selectable rune options
self_containedIf true, this deletes itself when empty
symbolsList of selectable symbol options
text_bufferStores buffer of text to draw, one character at a time
volume_multiplierMultiplies effect of reagent when applied to mobs or surfaces

Procs

after_eatUsed for edible component to reduce charges_left on bite.
check_emptyWhen eating a crayon, check_empty() can be called twice producing two messages unless we check for being deleted first.
refillRefills charges_left in infinite crayons on use. +Sets charges_left in infinite crayons to 100 for spawning reagents. +Spawns reagents in crayons based on the amount of charges_left if not spawned yet.
set_painting_tool_colorSets painting color and updates appearance.
use_chargesReturns number of charges actually used.
use_onAttempts to color the target. Returns how many charges were used.
+

Var Details

actually_paints + + + + +

+

If set to false, this just applies a chemical and cannot paint symbols

all_drawables + + + + +

+

Combined lists

can_change_colour + + + + +

+

If the user can toggle the colour, a la vanilla spraycan

charges + + + + +

+

Number of times this item can be used, INFINITE_CHARGES for unlimited

charges_left + + + + +

+

Number of remaining charges

crayon_color + + + + +

+

Crayon overlay to use if placed into a crayon box

drawings + + + + +

+

List of selectable drawing options

drawtype + + + + +

+

Contains chosen symbol to draw

edible + + + + +

+

Whether or not you can eat this. Doesn't mean it is a good idea to eat it.

expose_turfs + + + + +

+

If true, sprayed turfs should also have the internal chemical applied to them

graffiti + + + + +

+

List of selectable graffiti options +If an associated value is present, the graffiti has its own cost +otherwise it'll be the default value. +Ditto with the other other lists below.

graffiti_large_h + + + + +

+

List of selectable large options

has_cap + + + + +

+

Whether this item has a cap that can be toggled on and off

icon_capped + + + + +

+

Icon state to use when capped

icon_uncapped + + + + +

+

Icon state to use when uncapped

instant + + + + +

+

If false a do_after is required to draw something, otherwise it applies immediately

is_capped + + + + +

+

Whether the cap is currently on or off

oriented + + + + +

+

List of selectable orientable options

overlay_paint_colour + + + + +

+

If true, a coloured overlay is applied to display the currently selected colour

paint_color + + + + +

+

Current paint colour

paint_mode + + + + +

+

Dictates how large of an area we cover with our paint

post_noise + + + + +

+

Whether to play a sound after using

pre_noise + + + + +

+

Whether to play a sound before using

randoms + + + + +

+

List of selectable random options

reagent_contents + + + + +

+

Reagents which are applied to things you use this on, or yourself if you eat it

runes + + + + +

+

List of selectable rune options

self_contained + + + + +

+

If true, this deletes itself when empty

symbols + + + + +

+

List of selectable symbol options

text_buffer + + + + +

+

Stores buffer of text to draw, one character at a time

volume_multiplier + + + + +

+

Multiplies effect of reagent when applied to mobs or surfaces

Proc Details

after_eat +

+

Used for edible component to reduce charges_left on bite.

check_empty +

+

When eating a crayon, check_empty() can be called twice producing two messages unless we check for being deleted first.

+

Arguments:

+
    +
  • user - the user.
  • +
  • amount - used for use_on() and when requires_full is TRUE
  • +
  • requires_full - if TRUE and charges_left < amount it will balloon_alert you. Used just for borgs spraycan it seems.
  • +
  • override_infinity - if TRUE it will override checks for infinite crayons.
  • +

refill +

+

Refills charges_left in infinite crayons on use. +Sets charges_left in infinite crayons to 100 for spawning reagents. +Spawns reagents in crayons based on the amount of charges_left if not spawned yet.

set_painting_tool_color +

+

Sets painting color and updates appearance.

use_charges +

+

Returns number of charges actually used.

+

Arguments:

+
    +
  • user - the user.
  • +
  • amount - how much charges do we reduce.
  • +
  • requires_full - Seems to transfer its data to the same argument on check_empty(). I'm not sure tho.
  • +
  • override_infinity - if TRUE stops infinite crayons from refilling.
  • +

use_on +

+

Attempts to color the target. Returns how many charges were used.

+ + + diff --git a/obj/item/toy/eldritch_book.html b/obj/item/toy/eldritch_book.html new file mode 100644 index 00000000000..6cdaaa4b8b0 --- /dev/null +++ b/obj/item/toy/eldritch_book.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/toy/eldritch_book - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

eldritch_book + + + +

+ + + + + +

Vars

book_openHelps determine the icon state of this item when it's used on self.
timer_idid for timer

Procs

close_animationPlays a closing animation and resets the icon state.
open_animationPlays a little animation that shows the book opening and closing.
+

Var Details

book_open + + + + +

+

Helps determine the icon state of this item when it's used on self.

timer_id + + + + +

+

id for timer

Proc Details

close_animation +

+

Plays a closing animation and resets the icon state.

open_animation +

+

Plays a little animation that shows the book opening and closing.

+ + + diff --git a/obj/item/toy/intento.html b/obj/item/toy/intento.html new file mode 100644 index 00000000000..99e00845d27 --- /dev/null +++ b/obj/item/toy/intento.html @@ -0,0 +1,85 @@ + + + + + + + /obj/item/toy/intento - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

intento + + + +

+ + + + + + + + + +

Vars

current_sequenceCurrent sequence of intents
indexIndex used for iteration of steps for both demo and retaliation states
next_icon_resetTime until we reset the icon of the Intento
next_processTime to delay until we start processing whatever state we're in
player_sequenceSequence player inputs
scoreScore of the player
sound_by_intentAssociated list of intents to their sounds
stateWhat state the toy is in.
+

Var Details

current_sequence + + + + +

+

Current sequence of intents

index + + + + +

+

Index used for iteration of steps for both demo and retaliation states

next_icon_reset + + + + +

+

Time until we reset the icon of the Intento

next_process + + + + +

+

Time to delay until we start processing whatever state we're in

player_sequence + + + + +

+

Sequence player inputs

score + + + + +

+

Score of the player

sound_by_intent + + + + +

+

Associated list of intents to their sounds

state + + + + +

+

What state the toy is in.

+ + + diff --git a/obj/item/toy/mecha.html b/obj/item/toy/mecha.html new file mode 100644 index 00000000000..efa5955f191 --- /dev/null +++ b/obj/item/toy/mecha.html @@ -0,0 +1,264 @@ + + + + + + + /obj/item/toy/mecha - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

combat_healthThe mech's health in battle
cooldownCooldown between play sessions
cooldown_multiplierCooldown multiplier after a battle (by default: battle cooldowns are 30 seconds)
in_combatTRUE = in combat currently || FALSE = Not in combat
losses...And their loss count in combat
max_combat_healthThe mech's max combat health
quietIf it makes noise when played with
special_attack_chargedTRUE = the special attack is charged || FALSE = not charged
special_attack_cooldownCurrent cooldown of their special attack
special_attack_cryThe battlecry when using the special attack
special_attack_typeWhat type of special attack they use - SPECIAL_ATTACK_DAMAGE, SPECIAL_ATTACK_HEAL, SPECIAL_ATTACK_UTILITY, SPECIAL_ATTACK_OTHER
special_attack_type_messageWhat message their special move gets on examining
timerTimer when it'll be off cooldown
wants_to_battleTRUE = Offering battle to someone || FALSE = Not offering battle
winsThis mech's win count in combat

Procs

attackAttack is called from the user's toy, aimed at target(another human), checking for target's toy.
attack_tkOverrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship
attackbyIf you attack a mech with a mech, initiate combat between them
check_battle_startWho's in control of the defender (src)? +How long has the battle been going? +Lines chosen for the winning mech +This proc checks if a battle can be initiated between src and attacker.
combat_sleepthis proc combines "sleep" while also checking for if the battle should continue
mecha_brawlThe 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly.
sayOverride the say proc if they're mute
special_attack_moveProcesses any special attack moves that happen in the battle (called in the mechaBattle proc).
suicide_actStarts a battle, toy mech vs player. Player... doesn't win.
super_special_attackBase proc for 'other' special attack moves.
withdraw_offerResets the request for battle.
+

Var Details

combat_health + + + + +

+

The mech's health in battle

cooldown + + + + +

+

Cooldown between play sessions

cooldown_multiplier + + + + +

+

Cooldown multiplier after a battle (by default: battle cooldowns are 30 seconds)

in_combat + + + + +

+

TRUE = in combat currently || FALSE = Not in combat

losses + + + + +

+

...And their loss count in combat

max_combat_health + + + + +

+

The mech's max combat health

quiet + + + + +

+

If it makes noise when played with

special_attack_charged + + + + +

+

TRUE = the special attack is charged || FALSE = not charged

special_attack_cooldown + + + + +

+

Current cooldown of their special attack

special_attack_cry + + + + +

+

The battlecry when using the special attack

special_attack_type + + + + +

+

What type of special attack they use - SPECIAL_ATTACK_DAMAGE, SPECIAL_ATTACK_HEAL, SPECIAL_ATTACK_UTILITY, SPECIAL_ATTACK_OTHER

special_attack_type_message + + + + +

+

What message their special move gets on examining

timer + + + + +

+

Timer when it'll be off cooldown

wants_to_battle + + + + +

+

TRUE = Offering battle to someone || FALSE = Not offering battle

wins + + + + +

+

This mech's win count in combat

Proc Details

attack +

+

Attack is called from the user's toy, aimed at target(another human), checking for target's toy.

attack_tk +

+

Overrides attack_tk - Sorry, you have to be face to face to initiate a battle, it's good sportsmanship

attackby +

+

If you attack a mech with a mech, initiate combat between them

check_battle_start +

+

Who's in control of the defender (src)? +How long has the battle been going? +Lines chosen for the winning mech +This proc checks if a battle can be initiated between src and attacker.

+

Both SRC and attacker (if attacker is included) timers are checked if they're on cooldown, and +both SRC and attacker (if attacker is included) are checked if they are in combat already. +If any of the above are true, the proc returns FALSE and sends a message to user (and target, if included) otherwise, it returns TRUE +Arguments:

+
    +
  • user: the user who is initiating the battle
  • +
  • attacker: optional arg for checking two mechs at once
  • +
  • target: optional arg used in Mech PvP battles (if used, attacker is target's toy)
  • +

combat_sleep +

+

this proc combines "sleep" while also checking for if the battle should continue

+

this goes through some of the checks - the toys need to be next to each other to fight! +if it's player vs themself: They need to be able to "control" both mechs (either must be adjacent or using TK) +if it's player vs player: Both players need to be able to "control" their mechs (either must be adjacent or using TK) +if it's player vs mech (suicide): the mech needs to be in range of the player +if all the checks are TRUE, it does the sleeps, and returns TRUE. Otherwise, it returns FALSE. +Arguments:

+
    +
  • delay - the amount of time the sleep at the end of the check will sleep for
  • +
  • attacker - the attacking toy in the battle.
  • +
  • attacker_controller - the controller of the attacking toy. there should ALWAYS be an attacker_controller
  • +
  • opponent - (optional) the defender controller in the battle, for PvP
  • +

mecha_brawl +

+

The 'master' proc of the mech battle. Processes the entire battle's events and makes sure it start and finishes correctly.

+

src is the defending toy, and the battle proc is called on it to begin the battle. +After going through a few checks at the beginning to ensure the battle can start properly, the battle begins a loop that lasts +until either toy has no more health. During this loop, it also ensures the mechs stay in combat range of each other. +It will then randomly decide attacks for each toy, occasionally making one or the other use their special attack. +When either mech has no more health, the loop ends, and it displays the victor and the loser while updating their stats and resetting them. +Arguments:

+
    +
  • attacker - the attacking toy, the toy in the attacker_controller's hands
  • +
  • attacker_controller - the user, the one who is holding the toys / controlling the fight
  • +
  • opponent - optional arg used in Mech PvP battles: the other person who is taking part in the fight (controls src)
  • +

say +

+

Override the say proc if they're mute

special_attack_move +

+

Processes any special attack moves that happen in the battle (called in the mechaBattle proc).

+

Makes the toy shout their special attack cry and updates its cooldown. Then, does the special attack. +Arguments:

+
    +
  • victim - the toy being hit by the special move
  • +

suicide_act +

+

Starts a battle, toy mech vs player. Player... doesn't win.

super_special_attack +

+

Base proc for 'other' special attack moves.

+

This one is only for inheritance, each mech with an 'other' type move has their procs below. +Arguments:

+
    +
  • victim - the toy being hit by the super special move (doesn't necessarily need to be used)
  • +

withdraw_offer +

+

Resets the request for battle.

+

For use in a timer, this proc resets the wants_to_battle variable after a short period. +Arguments:

+
    +
  • user - the user wanting to do battle
  • +
+ + + diff --git a/obj/item/toy/plush.html b/obj/item/toy/plush.html new file mode 100644 index 00000000000..70d29df5a95 --- /dev/null +++ b/obj/item/toy/plush.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/plush - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plush + + + +

+ + +

Vars

divinePrevents players from cutting stuffing out of a plushie if true
+

Var Details

divine + + + + +

+

Prevents players from cutting stuffing out of a plushie if true

+ + + diff --git a/obj/item/toy/plush/goatplushie.html b/obj/item/toy/plush/goatplushie.html new file mode 100644 index 00000000000..e89b88914bf --- /dev/null +++ b/obj/item/toy/plush/goatplushie.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/toy/plush/goatplushie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

goatplushie + + + +

+ + + +

Vars

going_hardWhether or not this goat is currently taking in a monsterous doink
splatWhether or not this goat has been flattened like a funny pancake
+

Var Details

going_hard + + + + +

+

Whether or not this goat is currently taking in a monsterous doink

splat + + + + +

+

Whether or not this goat has been flattened like a funny pancake

+ + + diff --git a/obj/item/toy/plush/moth.html b/obj/item/toy/plush/moth.html new file mode 100644 index 00000000000..2e754f5f8c1 --- /dev/null +++ b/obj/item/toy/plush/moth.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/plush/moth - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

moth + + + +

+ + +

Vars

suicide_countUsed to track how many people killed themselves with item/toy/plush/moth
+

Var Details

suicide_count + + + + +

+

Used to track how many people killed themselves with item/toy/plush/moth

+ + + diff --git a/obj/item/toy/plush/whiny_plushie.html b/obj/item/toy/plush/whiny_plushie.html new file mode 100644 index 00000000000..a155eb0e80a --- /dev/null +++ b/obj/item/toy/plush/whiny_plushie.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/toy/plush/whiny_plushie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

whiny_plushie + + + +

+ + + + +

Vars

cry_alone_messagesstatic list of cry messages it picks from to speak when it is insecure from no holder
cry_cooldowncooldown for it sending messages, it will every 10 seconds
cry_still_messagesstatic list of cry messages it picks from to speak when it is insecure from no movement
+

Var Details

cry_alone_messages + + + + +

+

static list of cry messages it picks from to speak when it is insecure from no holder

cry_cooldown + + + + +

+

cooldown for it sending messages, it will every 10 seconds

cry_still_messages + + + + +

+

static list of cry messages it picks from to speak when it is insecure from no movement

+ + + diff --git a/obj/item/toy/singlecard.html b/obj/item/toy/singlecard.html new file mode 100644 index 00000000000..eab5ceae973 --- /dev/null +++ b/obj/item/toy/singlecard.html @@ -0,0 +1,93 @@ + + + + + + + /obj/item/toy/singlecard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

singlecard + + + +

+ + + + + + + + + +

Vars

blankThe card is blank and can be written on with a pen.
cardnameThe name of the card
deckstyleArtistic style of the deck
flippedIs the card flipped facedown (FALSE) or flipped faceup (TRUE)
has_unique_card_iconsIf the cards in the deck have different icon states (blank and CAS decks do not)
marked_colorThe color used to mark a card for cheating (by pens or crayons)

Procs

FlipFlips the card over
getMarkedColorReturns a color if a card is marked and the user can see it
+

Var Details

blank + + + + +

+

The card is blank and can be written on with a pen.

cardname + + + + +

+

The name of the card

deckstyle + + + + +

+

Artistic style of the deck

flipped + + + + +

+

Is the card flipped facedown (FALSE) or flipped faceup (TRUE)

has_unique_card_icons + + + + +

+

If the cards in the deck have different icon states (blank and CAS decks do not)

marked_color + + + + +

+

The color used to mark a card for cheating (by pens or crayons)

Proc Details

Flip +

+

Flips the card over

+
    +
  • Arguments:
  • +
  • is_face_up (optional) - Sets flipped state to CARD_FACEDOWN or CARD_FACEUP if given (otherwise just invert the flipped state)
  • +

getMarkedColor +

+

Returns a color if a card is marked and the user can see it

+
    +
  • Arguments:
  • +
  • user - We need to check if the user see the marked card
  • +
+ + + diff --git a/obj/item/toy/spinningtoy.html b/obj/item/toy/spinningtoy.html new file mode 100644 index 00000000000..1f4365888a1 --- /dev/null +++ b/obj/item/toy/spinningtoy.html @@ -0,0 +1,42 @@ + + + + + + + /obj/item/toy/spinningtoy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

spinningtoy + + + +

+ + +

Procs

manual_suicideInternal function used in the toy singularity suicide

Proc Details

manual_suicide +

+

Internal function used in the toy singularity suicide

+

Cavity implants the toy singularity into the body of the user (arg1), and kills the user. +Makes the user vomit and receive 120 suffocation damage if there already is a cavity implant in the user. +Throwing the singularity away will cause the user to start choking themself to death. +Arguments:

+
    +
  • user - Whoever is doing the suiciding
  • +
+ + + diff --git a/obj/item/toy/sword.html b/obj/item/toy/sword.html new file mode 100644 index 00000000000..62ca023243d --- /dev/null +++ b/obj/item/toy/sword.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/toy/sword - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sword + + + +

+ + + +

Vars

hackedWhether our sword has been multitooled to rainbow
saber_colorThe color of our fake energy sword
+

Var Details

hacked + + + + +

+

Whether our sword has been multitooled to rainbow

saber_color + + + + +

+

The color of our fake energy sword

+ + + diff --git a/obj/item/toy/xmas_cracker.html b/obj/item/toy/xmas_cracker.html new file mode 100644 index 00000000000..3b4faa8ad19 --- /dev/null +++ b/obj/item/toy/xmas_cracker.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/toy/xmas_cracker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

xmas_cracker + + + +

+ + +

Vars

crackedThe crack state of the toy. If set to TRUE, you can no longer crack it by attacking.
+

Var Details

cracked + + + + +

+

The crack state of the toy. If set to TRUE, you can no longer crack it by attacking.

+ + + diff --git a/obj/item/trade_chip.html b/obj/item/trade_chip.html new file mode 100644 index 00000000000..ab9e1cec525 --- /dev/null +++ b/obj/item/trade_chip.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/trade_chip - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trade_chip + + + +

+ +

Supply pack unlocker chip

+

Vars

unlocked_pack_typeSupply pack type enabled by this chip
+

Var Details

unlocked_pack_type + + + + +

+

Supply pack type enabled by this chip

+ + + diff --git a/obj/item/training_toolbox.html b/obj/item/training_toolbox.html new file mode 100644 index 00000000000..2d6ff322c04 --- /dev/null +++ b/obj/item/training_toolbox.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/training_toolbox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

training_toolbox + + + +

+ +

Device that simply counts the number of times you've hit a mob or target with. Looks like a toolbox but isn't.

+

Also has a 'Lap' function for keeping track of hits made at a certain point. Also, looks kinda like his grace for laughs and pranks.

+ + +

Vars

lap_hitsNumber of hits made since the Lap button (alt-click) was last pushed
total_hitsTotal number of hits made against a valid target

Procs

check_hitCheck if we should increment the hit counter
+

Var Details

lap_hits + + + + +

+

Number of hits made since the Lap button (alt-click) was last pushed

total_hits + + + + +

+

Total number of hits made against a valid target

Proc Details

check_hit +

+

Check if we should increment the hit counter

+

Increments the 'hit' counter if the target we're attacking is a mob, target, or training machine with an attached item. +Will beep every 9 hits, as 9 hits usually signifies a KO with a normal toolbox +Arguments

+
    +
  • target - the atom we're hitting
  • +
+ + + diff --git a/obj/item/traitor_bug.html b/obj/item/traitor_bug.html new file mode 100644 index 00000000000..eedea0d78a6 --- /dev/null +++ b/obj/item/traitor_bug.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/traitor_bug - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor_bug + + + +

+ + + + +

Vars

deploy_timeThe time it takes to place this bug.
planted_onThe object this bug is currently planted on.
target_object_typeThe object on which this bug can be planted on. Has to be a type.
+

Var Details

deploy_time + + + + +

+

The time it takes to place this bug.

planted_on + + + + +

+

The object this bug is currently planted on.

target_object_type + + + + +

+

The object on which this bug can be planted on. Has to be a type.

+ + + diff --git a/obj/item/traitor_machine_trapper.html b/obj/item/traitor_machine_trapper.html new file mode 100644 index 00000000000..2d5ef467999 --- /dev/null +++ b/obj/item/traitor_machine_trapper.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/traitor_machine_trapper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

traitor_machine_trapper + + + +

+ +

Item which you use on a machine to cause it to explode next time someone interacts with it

+ + + + +

Vars

deploy_timeThe time it takes to deploy the bomb.
explosion_rangeLight explosion range, to hurt the person using the machine
target_machine_pathThe type of object on which this can be planted on.

Procs

on_defusedCalled when applied trap has been defused, retrieve this item from nullspace
on_triggeredCalled when applied trap is triggered, mark success
+

Var Details

deploy_time + + + + +

+

The time it takes to deploy the bomb.

explosion_range + + + + +

+

Light explosion range, to hurt the person using the machine

target_machine_path + + + + +

+

The type of object on which this can be planted on.

Proc Details

on_defused +

+

Called when applied trap has been defused, retrieve this item from nullspace

on_triggered +

+

Called when applied trap is triggered, mark success

+ + + diff --git a/obj/item/traitor_spraycan.html b/obj/item/traitor_spraycan.html new file mode 100644 index 00000000000..c392ef6925e --- /dev/null +++ b/obj/item/traitor_spraycan.html @@ -0,0 +1,101 @@ + + + + + + + /obj/item/traitor_spraycan - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

traitor_spraycan + + + +

+ + + + + + + + +

Vars

drawing_runeAre we currently drawing? Used to prevent spam clicks for do_while
expendedSet to true if we finished drawing something, this spraycan is now useless

Procs

draw_runeDraw your stage one rune on the ground and store it.
suicide_actCopying the functionality from normal spraycans, but doesn't need all the optional checks
try_complete_runeTry to upgrade a floor rune to its next stage.
try_draw_new_runeAttempt to draw a rune on [target_turf]. +Shamelessly adapted from the heretic rune drawing process.
try_draw_stepHolder for repeated code to do something after a message and a set amount of time.
+

Var Details

drawing_rune + + + + +

+

Are we currently drawing? Used to prevent spam clicks for do_while

expended + + + + +

+

Set to true if we finished drawing something, this spraycan is now useless

Proc Details

draw_rune +

+

Draw your stage one rune on the ground and store it.

+

Arguments

+
    +
  • user - the mob drawing the rune
  • +
  • target_turf - the place the rune's being drawn
  • +

suicide_act +

+

Copying the functionality from normal spraycans, but doesn't need all the optional checks

try_complete_rune +

+

Try to upgrade a floor rune to its next stage.

+

Arguments

+
    +
  • user - the mob drawing the rune
  • +
  • target_turf - the place the rune's being drawn
  • +

try_draw_new_rune +

+

Attempt to draw a rune on [target_turf]. +Shamelessly adapted from the heretic rune drawing process.

+

Arguments

+
    +
  • user - the mob drawing the rune
  • +
  • target_turf - the place the rune's being drawn
  • +

try_draw_step +

+

Holder for repeated code to do something after a message and a set amount of time.

+

Arguments

+
    +
  • output - a string to show when you start the process
  • +
  • user - the mob drawing the rune
  • +
  • target - what they're trying to draw, or the place they are trying to draw on
  • +
+ + + diff --git a/obj/item/transfer_valve.html b/obj/item/transfer_valve.html new file mode 100644 index 00000000000..14bc5cd97af --- /dev/null +++ b/obj/item/transfer_valve.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/transfer_valve - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

transfer_valve + + + +

+ + + + + + +

Vars

cable_overlayour overlay when wired = true
wireddo we have cables attached to be able to be put on the back?

Procs

merge_gasesMerge both gases into a single tank. Combine the volume by default. If target tank isn't specified default to tank_two
on_friedSignal when deep fried, so it can have an explosive reaction!
readyReturns if this is ready to be detonated. Checks if both tanks are in place.
+

Var Details

cable_overlay + + + + +

+

our overlay when wired = true

wired + + + + +

+

do we have cables attached to be able to be put on the back?

Proc Details

merge_gases +

+

Merge both gases into a single tank. Combine the volume by default. If target tank isn't specified default to tank_two

on_fried +

+

Signal when deep fried, so it can have an explosive reaction!

ready +

+

Returns if this is ready to be detonated. Checks if both tanks are in place.

+ + + diff --git a/obj/item/trapdoor_remote.html b/obj/item/trapdoor_remote.html new file mode 100644 index 00000000000..f5c4140fd4d --- /dev/null +++ b/obj/item/trapdoor_remote.html @@ -0,0 +1,30 @@ + + + + + + + /obj/item/trapdoor_remote - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

trapdoor_remote + + + +

+ +trapdoor remotes! +

Item that accepts the assembly for the internals and helps link/activate it. +This base type is an empty shell that needs the assembly added to it first to work.

+ + + diff --git a/obj/item/trash/bee.html b/obj/item/trash/bee.html new file mode 100644 index 00000000000..daedbb5dadd --- /dev/null +++ b/obj/item/trash/bee.html @@ -0,0 +1,50 @@ + + + + + + + /obj/item/trash/bee - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bee + + + +

+ + + + +

Vars

bee_typethe bee of this corpse
beegentthe reagent the bee carry

Procs

use_lazarusSpawn a new bee from this trash item when hit by a lazarus injector and conditions are met.
+

Var Details

bee_type + + + + +

+

the bee of this corpse

beegent + + + + +

+

the reagent the bee carry

Proc Details

use_lazarus +

+

Spawn a new bee from this trash item when hit by a lazarus injector and conditions are met.

+ + + diff --git a/obj/item/turbine_parts.html b/obj/item/turbine_parts.html new file mode 100644 index 00000000000..1e358a7fc72 --- /dev/null +++ b/obj/item/turbine_parts.html @@ -0,0 +1,127 @@ + + + + + + + /obj/item/turbine_parts - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

turbine_parts + + + +

+ + + + + + + + + + + + + + + +

Vars

current_tierCurrent part tier
fourth_tier_materialStores the path of the material for the fourth tier upgrade
fourth_tier_material_amountAmount of fourth tier material for the upgrade
max_rpmMax rpm reachable by the part
max_rpm_tier_multiplierMultiplier to increase the max rpm per tier, max should be around 500000 rpm
max_temperatureMax temperature achievable by the part before the turbine starts to take damage
max_temperature_tier_exponentialMax temperature exponential value per tier
max_tierMax part tier
part_efficiencyEfficiency of the part to the turbine machine
part_efficiency_increase_amountEfficiency increase amount for each tier
second_tier_materialStores the path of the material for the second tier upgrade
second_tier_material_amountAmount of second tier material for the upgrade
third_tier_materialStores the path of the material for the third tier upgrade
third_tier_material_amountAmount of third tier material for the upgrade
+

Var Details

current_tier + + + + +

+

Current part tier

fourth_tier_material + + + + +

+

Stores the path of the material for the fourth tier upgrade

fourth_tier_material_amount + + + + +

+

Amount of fourth tier material for the upgrade

max_rpm + + + + +

+

Max rpm reachable by the part

max_rpm_tier_multiplier + + + + +

+

Multiplier to increase the max rpm per tier, max should be around 500000 rpm

max_temperature + + + + +

+

Max temperature achievable by the part before the turbine starts to take damage

max_temperature_tier_exponential + + + + +

+

Max temperature exponential value per tier

max_tier + + + + +

+

Max part tier

part_efficiency + + + + +

+

Efficiency of the part to the turbine machine

part_efficiency_increase_amount + + + + +

+

Efficiency increase amount for each tier

second_tier_material + + + + +

+

Stores the path of the material for the second tier upgrade

second_tier_material_amount + + + + +

+

Amount of second tier material for the upgrade

third_tier_material + + + + +

+

Stores the path of the material for the third tier upgrade

third_tier_material_amount + + + + +

+

Amount of third tier material for the upgrade

+ + + diff --git a/obj/item/turret_control.html b/obj/item/turret_control.html new file mode 100644 index 00000000000..5bd3e81a050 --- /dev/null +++ b/obj/item/turret_control.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/turret_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

turret_control + + + +

+ + +

Vars

delayTicks before being able to shoot
+

Var Details

delay + + + + +

+

Ticks before being able to shoot

+ + + diff --git a/obj/item/udder.html b/obj/item/udder.html new file mode 100644 index 00000000000..bb0469ed4d2 --- /dev/null +++ b/obj/item/udder.html @@ -0,0 +1,114 @@ + + + + + + + /obj/item/udder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

udder item + + + +

+ +

Abstract item that is held in nullspace and manages reagents. Created by udder component. +While perhaps reagents created by udder component COULD be managed in the mob, it would be somewhat finnicky and I actually like the abstract udders.

+ + + + + + + + + + +

Vars

hunger_keyhunger key we set to look for food
on_generate_callbackoptional proc to callback to when the udder generates milk
production_probabilitythe probability that the udder will produce the reagent (0 - 100)
reagent_produced_typepathtypepath of reagent produced by the udder
require_consume_timerhow long does each food consumption allow us to make milk
require_consume_typedo we require some food to generate milk?
sizehow much the udder holds
udder_mobmob that has the udder component

Procs

generateProc called every 2 seconds from SSMobs to add whatever reagent the udder is generating.
initial_conditionsProc called on creation separate from the reagent datum creation to allow for signalled milk generation instead of processing milk generation +also useful for changing initial amounts in reagent holder (cows start with milk, gutlunches start empty)
milkProc called from attacking the component parent with the correct item, moves reagents into the glass basically.
+

Var Details

hunger_key + + + + +

+

hunger key we set to look for food

on_generate_callback + + + + +

+

optional proc to callback to when the udder generates milk

production_probability + + + + +

+

the probability that the udder will produce the reagent (0 - 100)

reagent_produced_typepath + + + + +

+

typepath of reagent produced by the udder

require_consume_timer + + + + +

+

how long does each food consumption allow us to make milk

require_consume_type + + + + +

+

do we require some food to generate milk?

size + + + + +

+

how much the udder holds

udder_mob + + + + +

+

mob that has the udder component

Proc Details

generate +

+

Proc called every 2 seconds from SSMobs to add whatever reagent the udder is generating.

initial_conditions +

+

Proc called on creation separate from the reagent datum creation to allow for signalled milk generation instead of processing milk generation +also useful for changing initial amounts in reagent holder (cows start with milk, gutlunches start empty)

milk +

+

Proc called from attacking the component parent with the correct item, moves reagents into the glass basically.

+

Arguments:

+
    +
  • obj/item/reagent_containers/cup/milk_holder - what we are trying to transfer the reagents to
  • +
  • mob/user - who is trying to do this
  • +
+ + + diff --git a/obj/item/universal_scanner.html b/obj/item/universal_scanner.html new file mode 100644 index 00000000000..80c8d2d3e78 --- /dev/null +++ b/obj/item/universal_scanner.html @@ -0,0 +1,117 @@ + + + + + + + /obj/item/universal_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

universal_scanner + + + +

+ + + + + + + + + + + + + +

Vars

cut_maxMaximum value for cut_multiplier in sales tagger mode.
cut_minMinimum value for cut_multiplier in sales tagger mode.
cut_multiplierThe person who tagged this will receive the sale value multiplied by this number in sales tagger mode.
max_paper_countThe maximum paper to be stored by the export scanner.
new_custom_priceThe price of the item used by price tagger mode.
paper_countThe paper currently stored by the export scanner.
payments_accThe account which is receiving the split profits in sales tagger mode.
scale_modeA list of all available export scanner modes.
scanning_modeWhich mode is the scanner currently on?

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
export_scanScans an object, target, and provides it's export value based on selling to the cargo shuttle, to mob/user.
price_tagScans an object, target, and sets it's custom_price variable to new_custom_price, presenting it to the user.
+

Var Details

cut_max + + + + +

+

Maximum value for cut_multiplier in sales tagger mode.

cut_min + + + + +

+

Minimum value for cut_multiplier in sales tagger mode.

cut_multiplier + + + + +

+

The person who tagged this will receive the sale value multiplied by this number in sales tagger mode.

max_paper_count + + + + +

+

The maximum paper to be stored by the export scanner.

new_custom_price + + + + +

+

The price of the item used by price tagger mode.

paper_count + + + + +

+

The paper currently stored by the export scanner.

payments_acc + + + + +

+

The account which is receiving the split profits in sales tagger mode.

scale_mode + + + + +

+

A list of all available export scanner modes.

scanning_mode + + + + +

+

Which mode is the scanner currently on?

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with a menu
  • +

export_scan +

+

Scans an object, target, and provides it's export value based on selling to the cargo shuttle, to mob/user.

price_tag +

+

Scans an object, target, and sets it's custom_price variable to new_custom_price, presenting it to the user.

+ + + diff --git a/obj/item/uplink.html b/obj/item/uplink.html new file mode 100644 index 00000000000..690c7a42758 --- /dev/null +++ b/obj/item/uplink.html @@ -0,0 +1,45 @@ + + + + + + + /obj/item/uplink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uplink + + + +

+ + + +

Vars

lockable_uplinkIf the uplink is lockable, which defaults to false which most subtypes of this item are for debug reasons
uplink_flagThe uplink flag for this type. +See [code/__DEFINES/uplink.dm]
+

Var Details

+

If the uplink is lockable, which defaults to false which most subtypes of this item are for debug reasons

+

The uplink flag for this type. +See [code/__DEFINES/uplink.dm]

+ + + diff --git a/obj/item/usb_cable.html b/obj/item/usb_cable.html new file mode 100644 index 00000000000..699b0c3e9ab --- /dev/null +++ b/obj/item/usb_cable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/usb_cable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

usb_cable + + + +

+ +

A cable that can connect integrated circuits to anything with a USB port, such as computers and machines.

+

Vars

attached_circuitThe currently connected circuit
+

Var Details

attached_circuit + + + + +

+

The currently connected circuit

+ + + diff --git a/obj/item/virgin_mary.html b/obj/item/virgin_mary.html new file mode 100644 index 00000000000..155ef31d44b --- /dev/null +++ b/obj/item/virgin_mary.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/virgin_mary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

virgin_mary + + + +

+ + + +

Vars

mob_mobsList of mobs that have already been mobbed.
used_upHas this item been used already.
+

Var Details

mob_mobs + + + + +

+

List of mobs that have already been mobbed.

used_up + + + + +

+

Has this item been used already.

+ + + diff --git a/obj/item/vorpalscythe.html b/obj/item/vorpalscythe.html new file mode 100644 index 00000000000..c3c8491a956 --- /dev/null +++ b/obj/item/vorpalscythe.html @@ -0,0 +1,43 @@ + + + + + + + /obj/item/vorpalscythe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vorpalscythe + + + +

+ + + +

Vars

bonus_force_multiplierOur bonus to force after we have death knelled. Lasts approximately 2 minutes.
original_forceOur initial force before empowerment. For tracking on the item, and in case the item somehow gains more force for some reason before we death knelled.
+

Var Details

bonus_force_multiplier + + + + +

+

Our bonus to force after we have death knelled. Lasts approximately 2 minutes.

original_force + + + + +

+

Our initial force before empowerment. For tracking on the item, and in case the item somehow gains more force for some reason before we death knelled.

+ + + diff --git a/obj/item/warp_whistle.html b/obj/item/warp_whistle.html new file mode 100644 index 00000000000..640055e071b --- /dev/null +++ b/obj/item/warp_whistle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/warp_whistle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

warp_whistle + + + +

+ +

Warp whistle, spawns a tornado that teleports you

+

Vars

whistlerPerson using the warp whistle
+

Var Details

whistler + + + + +

+

Person using the warp whistle

+ + + diff --git a/obj/item/watcher_hatchling.html b/obj/item/watcher_hatchling.html new file mode 100644 index 00000000000..021facd0e67 --- /dev/null +++ b/obj/item/watcher_hatchling.html @@ -0,0 +1,64 @@ + + + + + + + /obj/item/watcher_hatchling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

watcher_hatchling + + + +

+ +

A cute pet who will occasionally attack lavaland mobs for you

+ + + + +

Vars

orbiterThe effect we create when out and about
ownerWho are we orbiting?

Procs

remove_orbiterIn the more likely event that our orbiter is deleted, stop holding a reference to it
remove_ownerIf the guy we are orbiting is deleted but somehow we aren't
watcher_returnGet back in your ball pikachu
+

Var Details

orbiter + + + + +

+

The effect we create when out and about

owner + + + + +

+

Who are we orbiting?

Proc Details

remove_orbiter +

+

In the more likely event that our orbiter is deleted, stop holding a reference to it

remove_owner +

+

If the guy we are orbiting is deleted but somehow we aren't

watcher_return +

+

Get back in your ball pikachu

+ + + diff --git a/obj/item/weldingtool.html b/obj/item/weldingtool.html new file mode 100644 index 00000000000..8b1ea6ba3f0 --- /dev/null +++ b/obj/item/weldingtool.html @@ -0,0 +1,141 @@ + + + + + + + /obj/item/weldingtool - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

weldingtool + + + +

+ + + + + + + + + + + + + + + + + +

Vars

burned_fuel_forWhen fuel was last removed.
can_off_processUsed in process(), dictates whether or not we're calling STOP_PROCESSING whilst we're not welding.
change_iconsWhether or not we're changing the icon based on fuel left.
max_fuelThe max amount of fuel the welder can hold
starting_fuelDoes the welder start with fuel.
statusWhether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)
weldingWhether the welding tool is on or off.

Procs

check_fuelTurns off the welder if there is no more fuel (does this really need to be its own proc?)
flamethrower_rodsFirst step of building a flamethrower (when a welder is attacked by rods)
flamethrower_screwdriverRan when the welder is attacked by a screwdriver.
get_fuelReturns the amount of fuel in the welder
isOnReturns whether or not the welding tool is currently on.
set_weldingToggles the welding value.
switched_offSwitches the welder off
tool_use_checkIf welding tool ran out of fuel during a construction task, construction fails.
useUses fuel from the welding tool.
+

Var Details

burned_fuel_for + + + + +

+

When fuel was last removed.

can_off_process + + + + +

+

Used in process(), dictates whether or not we're calling STOP_PROCESSING whilst we're not welding.

change_icons + + + + +

+

Whether or not we're changing the icon based on fuel left.

max_fuel + + + + +

+

The max amount of fuel the welder can hold

starting_fuel + + + + +

+

Does the welder start with fuel.

status + + + + +

+

Whether the welder is secured or unsecured (able to attach rods to it to make a flamethrower)

welding + + + + +

+

Whether the welding tool is on or off.

Proc Details

check_fuel +

+

Turns off the welder if there is no more fuel (does this really need to be its own proc?)

flamethrower_rods +

+

First step of building a flamethrower (when a welder is attacked by rods)

flamethrower_screwdriver +

+

Ran when the welder is attacked by a screwdriver.

get_fuel +

+

Returns the amount of fuel in the welder

isOn +

+

Returns whether or not the welding tool is currently on.

set_welding +

+

Toggles the welding value.

switched_off +

+

Switches the welder off

tool_use_check +

+

If welding tool ran out of fuel during a construction task, construction fails.

use +

+

Uses fuel from the welding tool.

+ + + diff --git a/obj/item/wheelchair.html b/obj/item/wheelchair.html new file mode 100644 index 00000000000..fec08647a9d --- /dev/null +++ b/obj/item/wheelchair.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/wheelchair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wheelchair + + + +

+ + +

Vars

unfolded_typeThe wheelchair vehicle type we create when we unfold this chair
+

Var Details

unfolded_type + + + + +

+

The wheelchair vehicle type we create when we unfold this chair

+ + + diff --git a/obj/item/wirecutters.html b/obj/item/wirecutters.html new file mode 100644 index 00000000000..e4c98431708 --- /dev/null +++ b/obj/item/wirecutters.html @@ -0,0 +1,57 @@ + + + + + + + /obj/item/wirecutters - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wirecutters + + + +

+ + + + + +

Vars

random_colorIf the item should be assigned a random color
snap_time_strong_handcuffsUsed on Initialize, how much time to cut real handcuffs. Null means it can't.
snap_time_weak_handcuffsUsed on Initialize, how much time to cut cable restraints and zipties.
wirecutter_colorsList of possible random colors
+

Var Details

random_color + + + + +

+

If the item should be assigned a random color

snap_time_strong_handcuffs + + + + +

+

Used on Initialize, how much time to cut real handcuffs. Null means it can't.

snap_time_weak_handcuffs + + + + +

+

Used on Initialize, how much time to cut cable restraints and zipties.

wirecutter_colors + + + + +

+

List of possible random colors

+ + + diff --git a/obj/item/wrench/medical.html b/obj/item/wrench/medical.html new file mode 100644 index 00000000000..158b6eeef97 --- /dev/null +++ b/obj/item/wrench/medical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/item/wrench/medical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medical + + + +

+ + +

Vars

suicidervar to hold the name of the person who suicided
+

Var Details

suicider + + + + +

+

var to hold the name of the person who suicided

+ + + diff --git a/obj/lightning_thrower.html b/obj/lightning_thrower.html new file mode 100644 index 00000000000..54c514f86c6 --- /dev/null +++ b/obj/lightning_thrower.html @@ -0,0 +1,64 @@ + + + + + + + /obj/lightning_thrower - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lightning_thrower + + + +

+ + + + + + +

Vars

shock_damagedamage of the shock
shock_durationhow long do we shock
shock_flagsflags we apply to the shock
signal_turfslist of turfs that are currently shocked so we can unregister the signal
throw_diagonalsdo we currently want to shock diagonal tiles? if not, we shock cardinals
+

Var Details

shock_damage + + + + +

+

damage of the shock

shock_duration + + + + +

+

how long do we shock

shock_flags + + + + +

+

flags we apply to the shock

signal_turfs + + + + +

+

list of turfs that are currently shocked so we can unregister the signal

throw_diagonals + + + + +

+

do we currently want to shock diagonal tiles? if not, we shock cardinals

+ + + diff --git a/obj/machinery.html b/obj/machinery.html new file mode 100644 index 00000000000..7540df91698 --- /dev/null +++ b/obj/machinery.html @@ -0,0 +1,467 @@ + + + + + + + /obj/machinery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

machinery + + + +

+ +

Machines in the world, such as computers, pipes, and airlocks.

+

Overview: +Used to create objects that need a per step proc call. Default definition of 'Initialize()' +stores a reference to src machine in global 'machines list'. Default definition +of 'Destroy' removes reference to src machine in global 'machines list'.

+

Class Variables: +use_power (num) +current state of auto power use. +Possible Values: +NO_POWER_USE -- no auto power use +IDLE_POWER_USE -- machine is using power at its idle power level +ACTIVE_POWER_USE -- machine is using power at its active power level

+

active_power_usage (num) +Value for the amount of power to use when in active power mode

+

idle_power_usage (num) +Value for the amount of power to use when in idle power mode

+

power_channel (num) +What channel to draw from when drawing power for power mode +Possible Values: +AREA_USAGE_EQUIP:1 -- Equipment Channel +AREA_USAGE_LIGHT:2 -- Lighting Channel +AREA_USAGE_ENVIRON:3 -- Environment Channel

+

component_parts (list) +A list of component parts of machine used by frame based machines.

+

stat (bitflag) +Machine status bit flags. +Possible bit flags: +BROKEN -- Machine is broken +NOPOWER -- No power is being supplied to machine. +MAINT -- machine is currently under going maintenance. +EMPED -- temporary broken by EMP pulse

+

Class Procs: +Initialize()

+

Destroy()

+
update_mode_power_usage()
+	updates the static_power_usage var of this machine and makes its static power usage from its area accurate.
+	called after the idle or active power usage has been changed.
+
+update_power_channel()
+	updates the static_power_usage var of this machine and makes its static power usage from its area accurate.
+	called after the power_channel var has been changed or called to change the var itself.
+
+unset_static_power()
+	completely removes the current static power usage of this machine from its area.
+	used in the other power updating procs to then readd the correct power usage.
+
+
+ Default definition uses 'use_power', 'power_channel', 'active_power_usage',
+ 'idle_power_usage', 'powered()', and 'use_power()' implement behavior.
+
+

powered(chan = -1) 'modules/power/power.dm' +Checks to see if area that contains the object has power available for power +channel given in 'chan'. -1 defaults to power_channel

+

use_power(amount, chan=-1) 'modules/power/power.dm' +Deducts 'amount' from the power channel 'chan' of the area that contains the object.

+

power_change() 'modules/power/power.dm' +Called by the area that contains the object when ever that area under goes a +power state change (area runs out of power, or area channel is turned off).

+

RefreshParts() 'game/machinery/machine.dm' +Called to refresh the variables in the machine that are contributed to by parts +contained in the component_parts list. (example: glass and material amounts for +the autolathe)

+
 Default definition does nothing.
+
+

process() 'game/machinery/machine.dm' +Called by the 'machinery subsystem' once per machinery tick for each machine that is listed in its 'machines' list.

+

process_atmos() +Called by the 'air subsystem' once per atmos tick for each machine that is listed in its 'atmos_machines' list. +Compiled by Aygar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_power_usagethe amount of static power load this machine adds to its area's power_usage list when use_power = ACTIVE_POWER_USE
always_area_sensitiveDo we want to hook into on_enter_area and on_exit_area? +Disables some optimizations
appearance_power_stateWhat was our power state the last time we updated its appearance? +TRUE for on, FALSE for off, -1 for never checked
atmos_processingIs this machine currently in the atmos machinery queue?
idle_power_usagethe amount of static power load this machine adds to its area's power_usage list when use_power = IDLE_POWER_USE
is_operationalA combination of factors such as having power, not being broken and so on. Boolean.
last_used_timeworld.time of last use by /mob/living
last_user_mobtypeMobtype of last user. Typecast to /mob/living for initial() usage
machine_power_rectifierMultiplier for power consumption.
processing_flagsViable flags to go here are START_PROCESSING_ON_INIT, or START_PROCESSING_MANUALLY. See code__DEFINES\machines.dm for more information on these flags.
static_power_usagethe current amount of static power usage this machine is taking from its area
subsystem_typeWhat subsystem this machine will use, which is generally SSmachines or SSfastprocess. By default all machinery use SSmachines. This fires a machine's process() roughly every 2 seconds.
tgui_idFor storing and overriding ui id

Procs

AI_notify_hackAlerts the AI that a hack is in progress.
add_as_sabotage_targetCalled if this machine is supposed to be a sabotage machine objective.
begin_processingHelper proc for telling a machine to start processing with the subsystem type that is located in its subsystem_type var.
clear_componentsThis should be called before mass qdeling components to make space for replacements. +If not done, things will go awry as Exited() destroys the machine when it detects +even a single component exiting the atom.
directly_use_powerAn alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically.
display_partssorting is very important especially because we are breaking out when required part is found in the inner for loop +if the rped first picked up a tier 3 part AND THEN a tier 4 part +tier 3 would be installed and the loop would break and check for the next required component thus +completly ignoring the tier 4 component inside +we also ignore stack components inside the RPED cause we dont exchange that
dump_contentsDrop every movable atom in the machine's contents list, including any components and circuit.
dump_inventory_contentsDrop every movable atom in the machine's contents list that is not a component_part.
end_processingHelper proc for telling a machine to stop processing with the subsystem type that is located in its subsystem_type var.
get_room_areaGet a valid powered area to reference for power use, mainly for wall-mounted machinery that isn't always mapped directly in a powered location.
on_set_is_operationalCalled when the value of is_operational changes, so we can react to it.
on_set_machine_statCalled when the value of machine_stat changes, so we can react to it.
on_set_panel_openCalled when the value of panel_open changes, so we can react to it.
open_machineOpens the machine.
power_changeCalled whenever the power settings of the containing area change
remove_area_power_relationshipproc to call when the machine stops requiring power after a duration of requiring power +saves memory by removing the power relationship with its area if it exists and loses area sensitivity +does not affect power usage itself
set_is_operationalCalled when we want to change the value of the is_operational variable. Boolean.
set_machine_statCalled when we want to change the value of the machine_stat variable. Holds bitflags.
set_panel_openCalled when we want to change the value of the panel_open variable. Boolean.
setup_area_power_relationshipproc to call when the machine starts to require power after a duration of not requiring power +sets up power related connections to its area if it exists and becomes area sensitive +does not affect power usage itself
spawn_frameSpawns a frame where this machine is. If the machine was not disassmbled, the +frame is spawned damaged. If the frame couldn't exist on this turf, it's smashed +down to metal sheets.
toggle_panel_openToggles the panel_open var. Defined for convienience
try_put_in_handPuts passed object in to user's hand
unset_static_powerinternal proc that removes all static power usage from the current area
update_current_power_usagemakes this machine draw power from its area according to which use_power mode it is set to
update_mode_power_usagesets the power_usage linked to the specified use_power_mode to new_usage +e.g. update_mode_power_usage(ACTIVE_POWER_USE, 10) sets active_power_use = 10 and updates its power draw from the machines area if use_power == ACTIVE_POWER_USE
update_power_channelupdates the power channel this machine uses. removes the static power usage from the old channel and readds it to the new channel
update_use_powerupdates the use_power var for this machine and updates its static power usage from its area to reflect the new value
use_power_from_netAttempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger
+

Var Details

active_power_usage + + + + +

+

the amount of static power load this machine adds to its area's power_usage list when use_power = ACTIVE_POWER_USE

always_area_sensitive + + + + +

+

Do we want to hook into on_enter_area and on_exit_area? +Disables some optimizations

appearance_power_state + + + + +

+

What was our power state the last time we updated its appearance? +TRUE for on, FALSE for off, -1 for never checked

atmos_processing + + + + +

+

Is this machine currently in the atmos machinery queue?

idle_power_usage + + + + +

+

the amount of static power load this machine adds to its area's power_usage list when use_power = IDLE_POWER_USE

is_operational + + + + +

+

A combination of factors such as having power, not being broken and so on. Boolean.

last_used_time + + + + +

+

world.time of last use by /mob/living

last_user_mobtype + + + + +

+

Mobtype of last user. Typecast to /mob/living for initial() usage

machine_power_rectifier + + + + +

+

Multiplier for power consumption.

processing_flags + + + + +

+

Viable flags to go here are START_PROCESSING_ON_INIT, or START_PROCESSING_MANUALLY. See code__DEFINES\machines.dm for more information on these flags.

static_power_usage + + + + +

+

the current amount of static power usage this machine is taking from its area

subsystem_type + + + + +

+

What subsystem this machine will use, which is generally SSmachines or SSfastprocess. By default all machinery use SSmachines. This fires a machine's process() roughly every 2 seconds.

tgui_id + + + + +

+

For storing and overriding ui id

Proc Details

AI_notify_hack +

+

Alerts the AI that a hack is in progress.

+

Sends all AIs a message that a hack is occurring. Specifically used for space ninja tampering as this proc was originally in the ninja files. +However, the proc may also be used elsewhere.

add_as_sabotage_target +

+

Called if this machine is supposed to be a sabotage machine objective.

begin_processing +

+

Helper proc for telling a machine to start processing with the subsystem type that is located in its subsystem_type var.

clear_components +

+

This should be called before mass qdeling components to make space for replacements. +If not done, things will go awry as Exited() destroys the machine when it detects +even a single component exiting the atom.

directly_use_power +

+

An alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically.

+
    +
  • Amount: How much power the APC's cell is to be costed.
  • +

display_parts +

+

sorting is very important especially because we are breaking out when required part is found in the inner for loop +if the rped first picked up a tier 3 part AND THEN a tier 4 part +tier 3 would be installed and the loop would break and check for the next required component thus +completly ignoring the tier 4 component inside +we also ignore stack components inside the RPED cause we dont exchange that

dump_contents +

+

Drop every movable atom in the machine's contents list, including any components and circuit.

dump_inventory_contents +

+

Drop every movable atom in the machine's contents list that is not a component_part.

+

Proc does not drop components and will skip over anything in the component_parts list. +Call dump_contents() to drop all contents including components. +Arguments:

+
    +
  • subset - If this is not null, only atoms that are also contained within the subset list will be dropped.
  • +

end_processing +

+

Helper proc for telling a machine to stop processing with the subsystem type that is located in its subsystem_type var.

get_room_area +

+

Get a valid powered area to reference for power use, mainly for wall-mounted machinery that isn't always mapped directly in a powered location.

on_set_is_operational +

+

Called when the value of is_operational changes, so we can react to it.

on_set_machine_stat +

+

Called when the value of machine_stat changes, so we can react to it.

on_set_panel_open +

+

Called when the value of panel_open changes, so we can react to it.

open_machine +

+

Opens the machine.

+

Will update the machine icon and any user interfaces currently open. +Arguments:

+
    +
  • drop - Boolean. Whether to drop any stored items in the machine. Does not include components.
  • +
  • density - Boolean. Whether to make the object dense when it's open.
  • +

power_change +

+

Called whenever the power settings of the containing area change

+

by default, check equipment channel & set flag, can override if needed

+

Returns TRUE if the NOPOWER flag was toggled

remove_area_power_relationship +

+

proc to call when the machine stops requiring power after a duration of requiring power +saves memory by removing the power relationship with its area if it exists and loses area sensitivity +does not affect power usage itself

set_is_operational +

+

Called when we want to change the value of the is_operational variable. Boolean.

set_machine_stat +

+

Called when we want to change the value of the machine_stat variable. Holds bitflags.

set_panel_open +

+

Called when we want to change the value of the panel_open variable. Boolean.

setup_area_power_relationship +

+

proc to call when the machine starts to require power after a duration of not requiring power +sets up power related connections to its area if it exists and becomes area sensitive +does not affect power usage itself

+

Returns TRUE if it triggered a full registration, FALSE otherwise +We do this so machinery that want to sidestep the area sensitiveity optimization can

spawn_frame +

+

Spawns a frame where this machine is. If the machine was not disassmbled, the +frame is spawned damaged. If the frame couldn't exist on this turf, it's smashed +down to metal sheets.

+

Arguments:

+
    +
  • disassembled - If FALSE, the machine was destroyed instead of disassembled and the frame spawns at reduced integrity.
  • +

toggle_panel_open +

+

Toggles the panel_open var. Defined for convienience

try_put_in_hand +

+

Puts passed object in to user's hand

+

Puts the passed object in to the users hand if they are adjacent. +If the user is not adjacent then place the object on top of the machine.

+

Vars:

+
    +
  • object (obj) The object to be moved in to the users hand.
  • +
  • user (mob/living) The user to recive the object
  • +

unset_static_power +

+

internal proc that removes all static power usage from the current area

update_current_power_usage +

+

makes this machine draw power from its area according to which use_power mode it is set to

update_mode_power_usage +

+

sets the power_usage linked to the specified use_power_mode to new_usage +e.g. update_mode_power_usage(ACTIVE_POWER_USE, 10) sets active_power_use = 10 and updates its power draw from the machines area if use_power == ACTIVE_POWER_USE

+

Arguments:

+
    +
  • use_power_mode - the use_power power mode to change. if IDLE_POWER_USE changes idle_power_usage, ACTIVE_POWER_USE changes active_power_usage
  • +
  • new_usage - the new value to set the specified power mode var to
  • +

update_power_channel +

+

updates the power channel this machine uses. removes the static power usage from the old channel and readds it to the new channel

update_use_power +

+

updates the use_power var for this machine and updates its static power usage from its area to reflect the new value

use_power_from_net +

+

Attempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger

+

Checks the surplus power on the APC's powernet, and compares to the requested amount. If the requested amount is available, this proc +will add the amount to the APC's usage and return that amount. Otherwise, this proc will return FALSE. +If the take_any var arg is set to true, this proc will use and return any surplus that is under the requested amount, assuming that +the surplus is above zero. +Args:

+
    +
  • amount, the amount of power requested from the Powernet. In standard loosely-defined SS13 power units.
  • +
  • take_any, a bool of whether any amount of power is acceptable, instead of all or nothing. Defaults to FALSE
  • +
+ + + diff --git a/obj/machinery/abductor/console.html b/obj/machinery/abductor/console.html new file mode 100644 index 00000000000..1eb87127f40 --- /dev/null +++ b/obj/machinery/abductor/console.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/abductor/console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

console + + + +

+ + + + + +

Vars

compact_modeDictates if the compact mode of the interface is on or off
possible_gearPossible gear to be dispensed
selected_catCurrently selected gear category

Procs

get_abductor_gearget_abductor_gear: Returns a list of a filtered abductor gear sorted by categories
+

Var Details

compact_mode + + + + +

+

Dictates if the compact mode of the interface is on or off

possible_gear + + + + +

+

Possible gear to be dispensed

selected_cat + + + + +

+

Currently selected gear category

Proc Details

get_abductor_gear +

+

get_abductor_gear: Returns a list of a filtered abductor gear sorted by categories

+ + + diff --git a/obj/machinery/abductor/experiment.html b/obj/machinery/abductor/experiment.html new file mode 100644 index 00000000000..b14c99e037d --- /dev/null +++ b/obj/machinery/abductor/experiment.html @@ -0,0 +1,60 @@ + + + + + + + /obj/machinery/abductor/experiment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

experiment + + + +

+ + + + +

Vars

flashMachine feedback message

Procs

experimentexperiment: Performs selected experiment on occupant mob, resulting in a point reward on success
send_backsend_back: Sends a mob back to a selected teleport location if safe
+

Var Details

flash + + + + +

+

Machine feedback message

Proc Details

experiment +

+

experiment: Performs selected experiment on occupant mob, resulting in a point reward on success

+

Arguments:

+
    +
  • occupant The mob inside the machine
  • +
  • type The type of experiment to be performed
  • +
  • user The mob starting the experiment
  • +

send_back +

+

send_back: Sends a mob back to a selected teleport location if safe

+

Arguments:

+
    +
  • H The human mob to be sent back
  • +
+ + + diff --git a/obj/machinery/ai_voicechanger.html b/obj/machinery/ai_voicechanger.html new file mode 100644 index 00000000000..c05f7854370 --- /dev/null +++ b/obj/machinery/ai_voicechanger.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/ai_voicechanger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ai_voicechanger + + + +

+ + + + + + + + + +

Vars

changing_voiceTRUE if the AI is changing its voice
loudvoiceWhether this AI is speaking loudly (bigger text)
ownerThe AI this voicechanger belongs to
prev_loudSaved loudvoice state, used to restore after a voice change
prev_spanSaved span state, used to restore after a voice change
prev_verbsSaved verb state, used to restore after a voice change
say_nameName used when voicechanger is on
say_spanSpan used when voicechanger is on
+

Var Details

changing_voice + + + + +

+

TRUE if the AI is changing its voice

loudvoice + + + + +

+

Whether this AI is speaking loudly (bigger text)

owner + + + + +

+

The AI this voicechanger belongs to

prev_loud + + + + +

+

Saved loudvoice state, used to restore after a voice change

prev_span + + + + +

+

Saved span state, used to restore after a voice change

prev_verbs + + + + +

+

Saved verb state, used to restore after a voice change

say_name + + + + +

+

Name used when voicechanger is on

say_span + + + + +

+

Span used when voicechanger is on

+ + + diff --git a/obj/machinery/air_sensor.html b/obj/machinery/air_sensor.html new file mode 100644 index 00000000000..c238451c8fa --- /dev/null +++ b/obj/machinery/air_sensor.html @@ -0,0 +1,58 @@ + + + + + + + /obj/machinery/air_sensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

air_sensor + + + +

+ +

Gas tank air sensor. +These always hook to monitors, be mindful of them

+ + + +

Vars

chamber_idThe unique string that represents which atmos chamber to associate with.
inlet_idThe inlet[injector] controlled by this sensor
outlet_idThe outlet[vent pump] controlled by this sensor

Procs

multitool_act_secondaryright click with multi tool to disconnect everything
+

Var Details

chamber_id + + + + +

+

The unique string that represents which atmos chamber to associate with.

inlet_id + + + + +

+

The inlet[injector] controlled by this sensor

outlet_id + + + + +

+

The outlet[vent pump] controlled by this sensor

Proc Details

multitool_act_secondary +

+

right click with multi tool to disconnect everything

+ + + diff --git a/obj/machinery/airalarm.html b/obj/machinery/airalarm.html new file mode 100644 index 00000000000..44d63b657ec --- /dev/null +++ b/obj/machinery/airalarm.html @@ -0,0 +1,271 @@ + + + + + + + /obj/machinery/airalarm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

airalarm + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aidisabledBoolean to prevent AI from tampering with this alarm.
air_sensor_chamber_idUsed to link air alarm to air sensor via map helpers
alarm_managerRepresents a signel source of atmos alarms, complains to all the listeners if one of our thresholds is violated
all_accessUsed for air alarm helper called all_access to remove air alarm's required access.
allow_link_changeWhether it is possible to link/unlink this air alarm from a sensor
away_general_accessUsed for air alarm helper called away_general_access to make air alarm's required access away_general_access.
buildstageCurrent build stage. [AIRALARM_BUILD_COMPLETE], [AIRALARM_BUILD_NO_WIRES], [AIRALARM_BUILD_NO_CIRCUIT]
connected_sensorUsed for connecting air alarm to a remote tile/zone via air sensor instead of the tile/zone of the air alarm
danger_levelCurrent alert level of our air alarm. +AIR_ALARM_ALERT_NONE, [AIR_ALARM_ALERT_MINOR], [AIR_ALARM_ALERT_SEVERE]
engine_accessUsed for air alarm helper called engine_access to make air alarm's required access one of ACCESS_ATMOSPHERICS & ACCESS_ENGINEERING.
lockedBoolean for whether the current air alarm can be tweaked by players or not.
mixingchamber_accessUsed for air alarm helper called mixingchamber_access to make air alarm's required access one of ACCESS_ATMOSPHERICS & ACCESS_ORDNANCE.
my_areaA reference to the area we are in
selected_modeCurrently selected mode of the alarm. An instance of /datum/air_alarm_mode.
shortedBoolean of whether alarm is currently shorted. Mess up some functionalities.
syndicate_accessUsed for air alarm helper called syndicate_access to make air alarm's required access syndicate_access.
tlv_cold_roomUsed for air alarm helper called tlv_cold_room to adjust alarm thresholds for cold room.
tlv_collectionAn assoc list of datum/tlvs, indexed by "pressure", "temperature", and datum/gas typepaths.
tlv_no_checksUsed for air alarm helper called tlv_no_ckecks to remove alarm thresholds.
unlockedUsed for air alarm helper called unlocked to make air alarm unlocked.
warning_cooldownCooldown on sending warning messages
warning_messageWarning message spoken by air alarms

Procs

check_dangerCheck the current air and update our danger level. +/obj/machinery/airalarm/var/danger_level
connect_sensorUsed to connect air alarm with a sensor
disconnect_sensorUsed to reset the air alarm to default configuration after disconnecting from air sensor
give_all_accessUsed for all_access air alarm helper, which set air alarm's required access to null.
give_away_general_accessUsed for away_general_access air alarm helper, which set air alarm's required access to away_general_access.
give_engine_accessUsed for engine_access air alarm helper, which set air alarm's required access to away_general_access.
give_mixingchamber_accessUsed for mixingchamber_access air alarm helper, which set air alarm's required access to away_general_access.
give_syndicate_accessUsed for syndicate_access air alarm helper, which sets air alarm's required access to syndicate_access.
set_tlv_cold_roomUsed for air alarm cold room tlv helper, which sets cold room temperature and pressure alarm thresholds
set_tlv_no_checksUsed for air alarm no tlv helper, which removes alarm thresholds
setup_chamber_linkUsed for air alarm link helper, which connects air alarm to a sensor with corresponding chamber_id
unlockUsed for unlocked air alarm helper, which unlocks the air alarm.
+

Var Details

aidisabled + + + + +

+

Boolean to prevent AI from tampering with this alarm.

air_sensor_chamber_id + + + + +

+

Used to link air alarm to air sensor via map helpers

alarm_manager + + + + +

+

Represents a signel source of atmos alarms, complains to all the listeners if one of our thresholds is violated

all_access + + + + +

+

Used for air alarm helper called all_access to remove air alarm's required access.

+

Whether it is possible to link/unlink this air alarm from a sensor

away_general_access + + + + +

+

Used for air alarm helper called away_general_access to make air alarm's required access away_general_access.

buildstage + + + + +

+

Current build stage. [AIRALARM_BUILD_COMPLETE], [AIRALARM_BUILD_NO_WIRES], [AIRALARM_BUILD_NO_CIRCUIT]

connected_sensor + + + + +

+

Used for connecting air alarm to a remote tile/zone via air sensor instead of the tile/zone of the air alarm

danger_level + + + + +

+

Current alert level of our air alarm. +AIR_ALARM_ALERT_NONE, [AIR_ALARM_ALERT_MINOR], [AIR_ALARM_ALERT_SEVERE]

engine_access + + + + +

+

Used for air alarm helper called engine_access to make air alarm's required access one of ACCESS_ATMOSPHERICS & ACCESS_ENGINEERING.

locked + + + + +

+

Boolean for whether the current air alarm can be tweaked by players or not.

mixingchamber_access + + + + +

+

Used for air alarm helper called mixingchamber_access to make air alarm's required access one of ACCESS_ATMOSPHERICS & ACCESS_ORDNANCE.

my_area + + + + +

+

A reference to the area we are in

selected_mode + + + + +

+

Currently selected mode of the alarm. An instance of /datum/air_alarm_mode.

shorted + + + + +

+

Boolean of whether alarm is currently shorted. Mess up some functionalities.

syndicate_access + + + + +

+

Used for air alarm helper called syndicate_access to make air alarm's required access syndicate_access.

tlv_cold_room + + + + +

+

Used for air alarm helper called tlv_cold_room to adjust alarm thresholds for cold room.

tlv_collection + + + + +

+

An assoc list of datum/tlvs, indexed by "pressure", "temperature", and datum/gas typepaths.

tlv_no_checks + + + + +

+

Used for air alarm helper called tlv_no_ckecks to remove alarm thresholds.

unlocked + + + + +

+

Used for air alarm helper called unlocked to make air alarm unlocked.

warning_cooldown + + + + +

+

Cooldown on sending warning messages

warning_message + + + + +

+

Warning message spoken by air alarms

Proc Details

check_danger +

+

Check the current air and update our danger level. +/obj/machinery/airalarm/var/danger_level

connect_sensor +

+

Used to connect air alarm with a sensor

disconnect_sensor +

+

Used to reset the air alarm to default configuration after disconnecting from air sensor

give_all_access +

+

Used for all_access air alarm helper, which set air alarm's required access to null.

give_away_general_access +

+

Used for away_general_access air alarm helper, which set air alarm's required access to away_general_access.

give_engine_access +

+

Used for engine_access air alarm helper, which set air alarm's required access to away_general_access.

give_mixingchamber_access +

+

Used for mixingchamber_access air alarm helper, which set air alarm's required access to away_general_access.

give_syndicate_access +

+

Used for syndicate_access air alarm helper, which sets air alarm's required access to syndicate_access.

set_tlv_cold_room +

+

Used for air alarm cold room tlv helper, which sets cold room temperature and pressure alarm thresholds

set_tlv_no_checks +

+

Used for air alarm no tlv helper, which removes alarm thresholds

+

Used for air alarm link helper, which connects air alarm to a sensor with corresponding chamber_id

unlock +

+

Used for unlocked air alarm helper, which unlocks the air alarm.

+ + + diff --git a/obj/machinery/airlock_controller.html b/obj/machinery/airlock_controller.html new file mode 100644 index 00000000000..c1af404c04e --- /dev/null +++ b/obj/machinery/airlock_controller.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/airlock_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

airlock_controller + + + +

+ + + +

Procs

cycleStarts an airlock cycle
sensor_pressureReturns the pressure over the pump, or null if it is deleted

Proc Details

cycle +

+

Starts an airlock cycle

sensor_pressure +

+

Returns the pressure over the pump, or null if it is deleted

+ + + diff --git a/obj/machinery/announcement_system.html b/obj/machinery/announcement_system.html new file mode 100644 index 00000000000..24f3e0ce368 --- /dev/null +++ b/obj/machinery/announcement_system.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/announcement_system - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

announcement_system + + + +

+ + + +

Procs

announce_officerAnnounces a new security officer joining over the radio
broadcastSends a message to the appropriate channels.

Proc Details

announce_officer +

+

Announces a new security officer joining over the radio

broadcast +

+

Sends a message to the appropriate channels.

+ + + diff --git a/obj/machinery/anomalous_crystal.html b/obj/machinery/anomalous_crystal.html new file mode 100644 index 00000000000..5cf35d1270b --- /dev/null +++ b/obj/machinery/anomalous_crystal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/anomalous_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

anomalous_crystal + + + +

+ + + + +

Vars

activeIf we are being used
cooldown_addCooldown on this crystal
use_timeTime needed to use this crystal
+

Var Details

active + + + + +

+

If we are being used

cooldown_add + + + + +

+

Cooldown on this crystal

use_time + + + + +

+

Time needed to use this crystal

+ + + diff --git a/obj/machinery/anomalous_crystal/possessor.html b/obj/machinery/anomalous_crystal/possessor.html new file mode 100644 index 00000000000..92759ebff69 --- /dev/null +++ b/obj/machinery/anomalous_crystal/possessor.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/anomalous_crystal/possessor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

possessor + + + +

+ + +

Procs

is_valid_animalReturns true if this is a mob you're allowed to possess

Proc Details

is_valid_animal +

+

Returns true if this is a mob you're allowed to possess

+ + + diff --git a/obj/machinery/arena_spawn.html b/obj/machinery/arena_spawn.html new file mode 100644 index 00000000000..19d7915ecc8 --- /dev/null +++ b/obj/machinery/arena_spawn.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/arena_spawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

arena_spawn + + + +

+ +

Arena spawnpoint

+ + +

Vars

_controlleronly exist to cut down on glob.machines lookups, do not modify
arena_idIn case we have multiple arena controllers at once.
teamTeam ID
+

Var Details

_controller + + + + +

+

only exist to cut down on glob.machines lookups, do not modify

arena_id + + + + +

+

In case we have multiple arena controllers at once.

team + + + + +

+

Team ID

+ + + diff --git a/obj/machinery/atmospherics.html b/obj/machinery/atmospherics.html new file mode 100644 index 00000000000..1336fc587e0 --- /dev/null +++ b/obj/machinery/atmospherics.html @@ -0,0 +1,441 @@ + + + + + + + /obj/machinery/atmospherics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmospherics + + + +

+ +

How many nuclear particles will fire in this reaction.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_unwrenchCheck if the object can be unwrenched
construction_typeThe path of the pipe/device that will spawn after unwrenching it (such as pipe fittings)
device_typeThe type of the device (UNARY, BINARY, TRINARY, QUATERNARY)
hideThis only works on pipes, because they have 1000 subtypes wich need to be visible and invisible under tiles, so we track this here
init_processingIf we should init and immediately start processing
initialize_directionsBitflag of the initialized directions (NORTH | SOUTH | EAST | WEST)
nodesThe lists of nodes that a pipe/device has, depends on the device_type var (from 1 to 4)
onCheck if the device should be on or off (mostly used in processing for machines)
override_namingkeeps the name of the object from being overridden if it's vareditted.
paintableWhether it can be painted
pipe_colorThe color of the pipe
pipe_flagsThe flags of the pipe/component (PIPING_ALL_LAYER | PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY | PIPING_CARDINAL_AUTONORMALIZE)
pipe_stateicon_state as a pipe item
pipe_vision_imgThe image of the pipe/device used for ventcrawling
piping_layerWhat layer the pipe is in (from 1 to 5, default 3)
rebuildingIs the thing being rebuilt by SSair or not. Prevents list bloat
vent_movementThe bitflag that's being checked on ventcrawling. Default is to allow ventcrawling and seeing pipes.

Procs

atmos_initInitialize for atmos devices
can_be_nodeCheck if a node can actually exists by connecting to another machine +called on atmos_init() +Arguments:
can_see_pipesUsed for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.
can_unwrenchGetter for can_unwrench
connection_checkCheck the connection between two nodes
deconstructPipe deconstruction
destroy_networkCalled by the machinery disconnect(), custom for each type
disconnectDisconnects the nodes
find_connectingFind a connecting /obj/machinery/atmospherics in specified direction, called by relaymove() +used by ventcrawling mobs to check if they can move inside a pipe in a specific direction +Arguments:
get_init_directionsGetter of initial directions
get_node_connectsGetter for node_connects
get_pipe_imageGetter for piping layer shifted, pipe colored overlays
get_rebuild_targetsReturns a list of new pipelines that need to be built up
is_connectablecheck if the piping layer and color are the same on both sides (grey can connect to all colors) +returns TRUE or FALSE if the connection is possible or not +Arguments:
normalize_cardinal_directionsSetter for device direction
nullify_nodeCalled on destroy(mostly deconstruction) and when moving nodes around, disconnect the nodes from the network +Arguments:
paintCalled by the RPD.dm pre_attack() +Arguments:
pipeline_expansionCalled on construction and when expanding the datum_pipeline, returns the nodes of the device
rebuild_pipesThis should only be called by SSair as part of the rebuild queue. +Handles rebuilding pipelines after init or they've been changed.
replace_pipenetReplaces the connection to the old_pipenet with the new_pipenet
return_pipenetCalled by add_member() in datum_pipeline.dm, returns the parent network the device is connected to
return_pipenet_airsCalled by add_machinery_member() in datum_pipeline.dm, returns a list of gas_mixtures and assigns them into other_airs (by addMachineryMember) to allow pressure redistribution for the machineries.
return_pipenetsGetter of a list of pipenets
set_init_directionsSet the initial directions of the device (NORTH || SOUTH || EAST || WEST), called on New()
set_pipe_colorSetter for pipe color, so we can ensure it's all uniform and save cpu time
set_pipenetCalled by build_pipeline() and add_member() in datum_pipeline.dm, set the network the device is connected to, to the datum pipeline it has reference
set_piping_layersetter for pipe layers
shuttleRotateMachine rotate procs
unsafe_pressure_releasePipe pressure release calculations
update_layerUpdate the layer in which the pipe/device is in, that way pipes have consistent layer depending on piping_layer
+

Var Details

can_unwrench + + + + +

+

Check if the object can be unwrenched

construction_type + + + + +

+

The path of the pipe/device that will spawn after unwrenching it (such as pipe fittings)

device_type + + + + +

+

The type of the device (UNARY, BINARY, TRINARY, QUATERNARY)

hide + + + + +

+

This only works on pipes, because they have 1000 subtypes wich need to be visible and invisible under tiles, so we track this here

init_processing + + + + +

+

If we should init and immediately start processing

initialize_directions + + + + +

+

Bitflag of the initialized directions (NORTH | SOUTH | EAST | WEST)

nodes + + + + +

+

The lists of nodes that a pipe/device has, depends on the device_type var (from 1 to 4)

on + + + + +

+

Check if the device should be on or off (mostly used in processing for machines)

override_naming + + + + +

+

keeps the name of the object from being overridden if it's vareditted.

paintable + + + + +

+

Whether it can be painted

pipe_color + + + + +

+

The color of the pipe

pipe_flags + + + + +

+

The flags of the pipe/component (PIPING_ALL_LAYER | PIPING_ONE_PER_TURF | PIPING_DEFAULT_LAYER_ONLY | PIPING_CARDINAL_AUTONORMALIZE)

pipe_state + + + + +

+

icon_state as a pipe item

pipe_vision_img + + + + +

+

The image of the pipe/device used for ventcrawling

piping_layer + + + + +

+

What layer the pipe is in (from 1 to 5, default 3)

rebuilding + + + + +

+

Is the thing being rebuilt by SSair or not. Prevents list bloat

vent_movement + + + + +

+

The bitflag that's being checked on ventcrawling. Default is to allow ventcrawling and seeing pipes.

Proc Details

atmos_init +

+

Initialize for atmos devices

+

initialize the nodes for each pipe/device, this is called just after the air controller sets up turfs +Arguments:

+
    +
  • list/node_connects - a list of the nodes on the device that can make a connection to other machines
  • +

can_be_node +

+

Check if a node can actually exists by connecting to another machine +called on atmos_init() +Arguments:

+
    +
  • obj/machinery/atmospherics/target - the machine we are connecting to
  • +

can_see_pipes +

+

Used for certain children of obj/machinery/atmospherics to not show pipe vision when mob is inside it.

can_unwrench +

+

Getter for can_unwrench

+

Called by wrench_act() to check if the device can be unwrenched, each device override this with custom code (like if on/operating can't unwrench) +Arguments:

+
    +
  • mob/user - the mob doing the act
  • +

connection_check +

+

Check the connection between two nodes

+

Check if our machine and the target machine are connectable by both calling isConnectable and by checking that the directions and piping_layer are compatible +called by can_be_node() (for building a network) and find_connecting() (for ventcrawling) +Arguments:

+
    +
  • obj/machinery/atmospherics/target - the machinery we want to connect to
  • +
  • given_layer - the piping_layer we are checking
  • +

deconstruct +

+

Pipe deconstruction

+

Called by wrench_act(), create a pipe fitting and remove the pipe

destroy_network +

+

Called by the machinery disconnect(), custom for each type

disconnect +

+

Disconnects the nodes

+

Called by nullify_node(), it disconnects two nodes by removing the reference id from the node itself that called this proc +Arguments:

+
    +
  • obj/machinery/atmospherics/reference - the machinery we are removing from the node connection
  • +

find_connecting +

+

Find a connecting /obj/machinery/atmospherics in specified direction, called by relaymove() +used by ventcrawling mobs to check if they can move inside a pipe in a specific direction +Arguments:

+
    +
  • direction - the direction we are checking against
  • +
  • prompted_layer - the piping_layer we are inside
  • +

get_init_directions +

+

Getter of initial directions

get_node_connects +

+

Getter for node_connects

+

Return a list of the nodes that can connect to other machines, get called by atmos_init()

get_pipe_image +

+

Getter for piping layer shifted, pipe colored overlays

+

Creates the image for the pipe underlay that all components use, called by get_pipe_underlay() in components_base.dm +Arguments:

+
    +
  • iconfile - path of the iconstate we are using (ex: 'icons/obj/machines/atmospherics/thermomachine.dmi')
  • +
  • iconstate - the image we are using inside the file
  • +
  • direction - the direction of our device
  • +
  • color - the color (in hex value, like #559900) that the pipe should have
  • +
  • piping_layer - the piping_layer the device is in, used inside PIPING_LAYER_SHIFT
  • +
  • trinary - if TRUE we also use PIPING_FORWARD_SHIFT on layer 1 and 5 for trinary devices (filters and mixers)
  • +

get_rebuild_targets +

+

Returns a list of new pipelines that need to be built up

is_connectable +

+

check if the piping layer and color are the same on both sides (grey can connect to all colors) +returns TRUE or FALSE if the connection is possible or not +Arguments:

+
    +
  • obj/machinery/atmospherics/target - the machinery we want to connect to
  • +
  • given_layer - the piping_layer we are connecting to
  • +

normalize_cardinal_directions +

+

Setter for device direction

+

Set the direction to either SOUTH or WEST if the pipe_flag is set to PIPING_CARDINAL_AUTONORMALIZE, called in New(), used mostly by layer manifolds

nullify_node +

+

Called on destroy(mostly deconstruction) and when moving nodes around, disconnect the nodes from the network +Arguments:

+
    +
  • i - is the current iteration of the node, based on the device_type (from 1 to 4)
  • +

paint +

+

Called by the RPD.dm pre_attack() +Arguments:

+
    +
  • paint_color - color that the pipe will be painted in (colors in hex like #4f4f4f)
  • +

pipeline_expansion +

+

Called on construction and when expanding the datum_pipeline, returns the nodes of the device

rebuild_pipes +

+

This should only be called by SSair as part of the rebuild queue. +Handles rebuilding pipelines after init or they've been changed.

replace_pipenet +

+

Replaces the connection to the old_pipenet with the new_pipenet

return_pipenet +

+

Called by add_member() in datum_pipeline.dm, returns the parent network the device is connected to

return_pipenet_airs +

+

Called by add_machinery_member() in datum_pipeline.dm, returns a list of gas_mixtures and assigns them into other_airs (by addMachineryMember) to allow pressure redistribution for the machineries.

return_pipenets +

+

Getter of a list of pipenets

+

called in relaymove() to create the image for vent crawling

set_init_directions +

+

Set the initial directions of the device (NORTH || SOUTH || EAST || WEST), called on New()

set_pipe_color +

+

Setter for pipe color, so we can ensure it's all uniform and save cpu time

set_pipenet +

+

Called by build_pipeline() and add_member() in datum_pipeline.dm, set the network the device is connected to, to the datum pipeline it has reference

set_piping_layer +

+

setter for pipe layers

+

Set the layer of the pipe that the device has to a new_layer +Arguments:

+
    +
  • new_layer - the layer at which we want the piping_layer to be (1 to 5)
  • +

shuttleRotate +

+

Machine rotate procs

unsafe_pressure_release +

+

Pipe pressure release calculations

+

Throws the user when they unwrench a pipe with a major difference between the internal and environmental pressure. +Called by wrench_act() before deconstruct() +Arguments:

+
    +
  • mob_user - the mob doing the act
  • +
  • pressures - it can be passed on from wrench_act(), it's the pressure difference between the enviroment pressure and the pipe internal pressure
  • +

update_layer +

+

Update the layer in which the pipe/device is in, that way pipes have consistent layer depending on piping_layer

+ + + diff --git a/obj/machinery/atmospherics/components.html b/obj/machinery/atmospherics/components.html new file mode 100644 index 00000000000..2bb9bafec59 --- /dev/null +++ b/obj/machinery/atmospherics/components.html @@ -0,0 +1,175 @@ + + + + + + + /obj/machinery/atmospherics/components - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

components + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

airsStores the gasmix for each node, used in components
custom_reconcilationHandles whether the custom reconcilation handling should be used
parentsStores the parent pipeline, used in components
shift_underlay_onlyWhen the component is on a non default layer should we shift everything? Or just the underlay pipe
showpipeShould the component should show the pipe underneath it?
update_parents_after_rebuildIf this is queued for a rebuild this var signifies whether parents should be updated after it's done
weldedIs the component welded?

Procs

change_nodes_connectionEasy way to toggle nodes connection and disconnection.
connect_nodesConnects all nodes to ourselves, add us to the node's nodes. +Calls atmos_init() on the node and on us.
disconnect_nodesDisconnects all nodes from ourselves, remove us from the node's nodes. +Nullify our parent pipenet
hide_pipeCalled in Initialize(), set the showpipe var to true or false depending on the situation, calls update_icon()
nullify_pipenetCalled by nullify_node(), used to remove the pipeline the component is attached to +Arguments:
return_airs_for_reconcilationWhen this machine is in a pipenet that is reconciling airs, this proc can add airs to the calculation. +Can be either a list of airs or a single air mix.
return_pipenet_airsWe explicitly qdel pipeline when this particular pipeline +is projected to have no member and cause GC problems. +We have to do this because components don't qdel pipelines +while pipes must and will happily wreck and rebuild everything +again every time they are qdeleted.
return_pipenets_for_reconcilationWhen this machine is in a pipenet that is reconciling airs, this proc can add pipelines to the calculation. +Can be either a list of pipenets or a single pipenet.
update_icon_nopipesCalled by update_icon(), used individually by each component to determine the icon state without the pipe in consideration
update_parentsCalled in most atmos processes and gas handling situations, update the parents pipelines of the devices connected to the source component +This way gases won't get stuck
+

Var Details

airs + + + + +

+

Stores the gasmix for each node, used in components

custom_reconcilation + + + + +

+

Handles whether the custom reconcilation handling should be used

parents + + + + +

+

Stores the parent pipeline, used in components

shift_underlay_only + + + + +

+

When the component is on a non default layer should we shift everything? Or just the underlay pipe

showpipe + + + + +

+

Should the component should show the pipe underneath it?

update_parents_after_rebuild + + + + +

+

If this is queued for a rebuild this var signifies whether parents should be updated after it's done

welded + + + + +

+

Is the component welded?

Proc Details

change_nodes_connection +

+

Easy way to toggle nodes connection and disconnection.

+

Arguments:

+
    +
  • disconnect - if TRUE, disconnects all nodes. If FALSE, connects all nodes.
  • +

connect_nodes +

+

Connects all nodes to ourselves, add us to the node's nodes. +Calls atmos_init() on the node and on us.

disconnect_nodes +

+

Disconnects all nodes from ourselves, remove us from the node's nodes. +Nullify our parent pipenet

hide_pipe +

+

Called in Initialize(), set the showpipe var to true or false depending on the situation, calls update_icon()

nullify_pipenet +

+

Called by nullify_node(), used to remove the pipeline the component is attached to +Arguments:

+
    +
  • -reference: the pipeline the component is attached to
  • +

return_airs_for_reconcilation +

+

When this machine is in a pipenet that is reconciling airs, this proc can add airs to the calculation. +Can be either a list of airs or a single air mix.

return_pipenet_airs +

+

We explicitly qdel pipeline when this particular pipeline +is projected to have no member and cause GC problems. +We have to do this because components don't qdel pipelines +while pipes must and will happily wreck and rebuild everything +again every time they are qdeleted.

return_pipenets_for_reconcilation +

+

When this machine is in a pipenet that is reconciling airs, this proc can add pipelines to the calculation. +Can be either a list of pipenets or a single pipenet.

update_icon_nopipes +

+

Called by update_icon(), used individually by each component to determine the icon state without the pipe in consideration

update_parents +

+

Called in most atmos processes and gas handling situations, update the parents pipelines of the devices connected to the source component +This way gases won't get stuck

+ + + diff --git a/obj/machinery/atmospherics/components/binary.html b/obj/machinery/atmospherics/components/binary.html new file mode 100644 index 00000000000..04765ed4969 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary.html @@ -0,0 +1,40 @@ + + + + + + + /obj/machinery/atmospherics/components/binary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

binary + + + +

+ + +

Procs

set_overlay_offsetUsed by binary devices to set what the offset will be for each layer, called in update_icon_nopipes() +Arguments:

Proc Details

set_overlay_offset +

+

Used by binary devices to set what the offset will be for each layer, called in update_icon_nopipes() +Arguments:

+
    +
  • -pipe_layer: is the pipe layer the component should be set to
  • +
+ + + diff --git a/obj/machinery/atmospherics/components/binary/crystallizer.html b/obj/machinery/atmospherics/components/binary/crystallizer.html new file mode 100644 index 00000000000..26babd63b60 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/crystallizer.html @@ -0,0 +1,120 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/crystallizer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crystallizer + + + +

+ + + + + + + + + + + + + + +

Vars

gas_inputVar that controls how much gas gets injected in moles per tick
internalInternal Gas mix used for processing the gases that have been put in
progress_barSaves the progress during the processing of the items
quality_lossStores the amount of lost quality
selected_recipeStores the recipe selected by the user in the GUI
total_recipe_molesStores the total amount of moles needed for the current recipe

Procs

check_temp_requirementsChecks if the reaction temperature is inside the range of temperature + a little deviation
dump_gasesRemoves the gases from the internal gasmix when the recipe is changed
heat_calculationsCalculation for the heat of the various gas mixes and controls the quality of the item
heat_conductionConduction between the internal gasmix and the moderating (cooling/heating) gasmix.
inject_gasesInjects the gases from the input inside the internal gasmix, the amount is dependant on the gas_input var
internal_checkChecks if the gases required are all inside
moles_calculationsCalculate the total moles needed for the recipe
+

Var Details

gas_input + + + + +

+

Var that controls how much gas gets injected in moles per tick

internal + + + + +

+

Internal Gas mix used for processing the gases that have been put in

progress_bar + + + + +

+

Saves the progress during the processing of the items

quality_loss + + + + +

+

Stores the amount of lost quality

selected_recipe + + + + +

+

Stores the recipe selected by the user in the GUI

total_recipe_moles + + + + +

+

Stores the total amount of moles needed for the current recipe

Proc Details

check_temp_requirements +

+

Checks if the reaction temperature is inside the range of temperature + a little deviation

dump_gases +

+

Removes the gases from the internal gasmix when the recipe is changed

heat_calculations +

+

Calculation for the heat of the various gas mixes and controls the quality of the item

heat_conduction +

+

Conduction between the internal gasmix and the moderating (cooling/heating) gasmix.

inject_gases +

+

Injects the gases from the input inside the internal gasmix, the amount is dependant on the gas_input var

internal_check +

+

Checks if the gases required are all inside

moles_calculations +

+

Calculate the total moles needed for the recipe

+ + + diff --git a/obj/machinery/atmospherics/components/binary/dp_vent_pump.html b/obj/machinery/atmospherics/components/binary/dp_vent_pump.html new file mode 100644 index 00000000000..bec1df9ea3b --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/dp_vent_pump.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/dp_vent_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dp_vent_pump + + + +

+ + + + + + +

Vars

external_pressure_boundSet the maximum allowed external pressure
input_pressure_minSet the maximum pressure at the input port
output_pressure_maxSet the maximum pressure at the output port
pressure_checksSet the flag for the pressure bound
pump_directionIndicates that the direction of the pump, if ATMOS_DIRECTION_SIPHONING is siphoning, if ATMOS_DIRECTION_RELEASING is releasing
+

Var Details

external_pressure_bound + + + + +

+

Set the maximum allowed external pressure

input_pressure_min + + + + +

+

Set the maximum pressure at the input port

output_pressure_max + + + + +

+

Set the maximum pressure at the output port

pressure_checks + + + + +

+

Set the flag for the pressure bound

pump_direction + + + + +

+

Indicates that the direction of the pump, if ATMOS_DIRECTION_SIPHONING is siphoning, if ATMOS_DIRECTION_RELEASING is releasing

+ + + diff --git a/obj/machinery/atmospherics/components/binary/passive_gate.html b/obj/machinery/atmospherics/components/binary/passive_gate.html new file mode 100644 index 00000000000..991e62e80e9 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/passive_gate.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/passive_gate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

passive_gate + + + +

+ + +

Vars

target_pressureSet the target pressure the component should arrive to
+

Var Details

target_pressure + + + + +

+

Set the target pressure the component should arrive to

+ + + diff --git a/obj/machinery/atmospherics/components/binary/pressure_valve.html b/obj/machinery/atmospherics/components/binary/pressure_valve.html new file mode 100644 index 00000000000..172167568a1 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/pressure_valve.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/pressure_valve - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pressure_valve + + + +

+ + + +

Vars

is_gas_flowingCheck if the gas is moving from one pipenet to the other
target_pressureAmount of pressure needed before the valve for it to open
+

Var Details

is_gas_flowing + + + + +

+

Check if the gas is moving from one pipenet to the other

target_pressure + + + + +

+

Amount of pressure needed before the valve for it to open

+ + + diff --git a/obj/machinery/atmospherics/components/binary/pump.html b/obj/machinery/atmospherics/components/binary/pump.html new file mode 100644 index 00000000000..15847442193 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/pump.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pump + + + +

+ + +

Vars

target_pressurePressure that the pump will reach when on
+

Var Details

target_pressure + + + + +

+

Pressure that the pump will reach when on

+ + + diff --git a/obj/machinery/atmospherics/components/binary/tank_compressor.html b/obj/machinery/atmospherics/components/binary/tank_compressor.html new file mode 100644 index 00000000000..2a1d733e45d --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/tank_compressor.html @@ -0,0 +1,94 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/tank_compressor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tank_compressor + + + +

+ + + + + + + + + + +

Vars

inserted_diskReference to a disk we are going to print to.

Procs

ExitedWe rely on exited to clear references.
assume_airPrevent pumping if tank is taking damage but still below pressure limit. Here to prevent exploiting the buffer system.
eject_tankEjecting a tank. Also called on insertion to clear previous tanks.
explosion_handleUse this to absorb explosions.
flush_bufferEverytime a tank is destroyed or a new tank is inserted, our buffer is flushed. +Mole requirements in experiments are tracked by buffer data.
process_atmosGlorified volume pump.
record_dataThis proc should be called whenever we want to store our buffer data.
tank_destructionRecording of last pressure of the tank. Ran when a tank is about to explode or disintegrate. We dont care about last pressure if the tank is ejected.
+

Var Details

inserted_disk + + + + +

+

Reference to a disk we are going to print to.

Proc Details

Exited +

+

We rely on exited to clear references.

assume_air +

+

Prevent pumping if tank is taking damage but still below pressure limit. Here to prevent exploiting the buffer system.

eject_tank +

+

Ejecting a tank. Also called on insertion to clear previous tanks.

explosion_handle +

+

Use this to absorb explosions.

flush_buffer +

+

Everytime a tank is destroyed or a new tank is inserted, our buffer is flushed. +Mole requirements in experiments are tracked by buffer data.

process_atmos +

+

Glorified volume pump.

record_data +

+

This proc should be called whenever we want to store our buffer data.

tank_destruction +

+

Recording of last pressure of the tank. Ran when a tank is about to explode or disintegrate. We dont care about last pressure if the tank is ejected.

+ + + diff --git a/obj/machinery/atmospherics/components/binary/temperature_gate.html b/obj/machinery/atmospherics/components/binary/temperature_gate.html new file mode 100644 index 00000000000..9d697eb0fbb --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/temperature_gate.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/temperature_gate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

temperature_gate + + + +

+ + + + + + +

Vars

invertedCheck if the sensor should let gas pass if temperature in the mix is less/higher than the target one
is_gas_flowingCheck if the gas is moving from one pipenet to the other
max_temperatureMaximum allowed temperature to be set
minimum_temperatureMinimum allowed temperature
target_temperatureIf the temperature of the mix before the gate is lower than this, the gas will flow (if inverted, if the temperature of the mix before the gate is higher than this)
+

Var Details

inverted + + + + +

+

Check if the sensor should let gas pass if temperature in the mix is less/higher than the target one

is_gas_flowing + + + + +

+

Check if the gas is moving from one pipenet to the other

max_temperature + + + + +

+

Maximum allowed temperature to be set

minimum_temperature + + + + +

+

Minimum allowed temperature

target_temperature + + + + +

+

If the temperature of the mix before the gate is lower than this, the gas will flow (if inverted, if the temperature of the mix before the gate is higher than this)

+ + + diff --git a/obj/machinery/atmospherics/components/binary/temperature_pump.html b/obj/machinery/atmospherics/components/binary/temperature_pump.html new file mode 100644 index 00000000000..70a3f1343c0 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/temperature_pump.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/temperature_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

temperature_pump + + + +

+ + + +

Vars

heat_transfer_ratePercent of the heat delta to transfer
max_heat_transfer_rateMaximum allowed transfer percentage
+

Var Details

heat_transfer_rate + + + + +

+

Percent of the heat delta to transfer

max_heat_transfer_rate + + + + +

+

Maximum allowed transfer percentage

+ + + diff --git a/obj/machinery/atmospherics/components/binary/valve.html b/obj/machinery/atmospherics/components/binary/valve.html new file mode 100644 index 00000000000..d7979843048 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/valve.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/valve - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

valve + + + +

+ + + + + +

Vars

switchingBool to stop interactions while the opening/closing animation is going
valve_typeType of valve (manual or digital), used to set the icon of the component in update_icon_nopipes()

Procs

finish_interactCalled by iteract() after a 1 second timer, calls toggle(), allows another interaction with the component.
set_openCalled by finish_interact(), switch between open and closed, reconcile the air between two pipelines
+

Var Details

switching + + + + +

+

Bool to stop interactions while the opening/closing animation is going

valve_type + + + + +

+

Type of valve (manual or digital), used to set the icon of the component in update_icon_nopipes()

Proc Details

finish_interact +

+

Called by iteract() after a 1 second timer, calls toggle(), allows another interaction with the component.

set_open +

+

Called by finish_interact(), switch between open and closed, reconcile the air between two pipelines

+ + + diff --git a/obj/machinery/atmospherics/components/binary/volume_pump.html b/obj/machinery/atmospherics/components/binary/volume_pump.html new file mode 100644 index 00000000000..6310332b1e7 --- /dev/null +++ b/obj/machinery/atmospherics/components/binary/volume_pump.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/atmospherics/components/binary/volume_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

volume_pump + + + +

+ + + + +

Vars

overclock_overlayflashing light overlay which appears on multitooled vol pumps
overclockedCheck if the component has been overclocked
transfer_rateTransfer rate of the component in L/s
+

Var Details

overclock_overlay + + + + +

+

flashing light overlay which appears on multitooled vol pumps

overclocked + + + + +

+

Check if the component has been overclocked

transfer_rate + + + + +

+

Transfer rate of the component in L/s

+ + + diff --git a/obj/machinery/atmospherics/components/tank.html b/obj/machinery/atmospherics/components/tank.html new file mode 100644 index 00000000000..a0c0aafeb65 --- /dev/null +++ b/obj/machinery/atmospherics/components/tank.html @@ -0,0 +1,129 @@ + + + + + + + /obj/machinery/atmospherics/components/tank - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tank + + + +

+ + + + + + + + + + + + + + + +

Vars

air_contentsReference to the gas mix inside the tank
breaking_soundsThe sounds that play when the tank is breaking from overpressure
crack_statesThe icon states for the cracks in the tank dmi
crack_states_countNumber of crack states to fill the list with. This exists because I'm lazy and didn't want to keeping adding more things manually to the below list.
gas_typeThe typepath of the gas this tank should be filled with.
knob_overlaysShared images for the knob overlay representing a side of the tank that is open to connections
max_pressureThe max pressure of the gas mixture before damaging the tank
merger_idThe merger id used to create/get the merger group in charge of handling tanks that share an internal gas storage
merger_typecacheThe typecache of types which are allowed to merge internal storage
volumeThe volume of the gas mixture
windowThe image showing the gases inside of the tank

Procs

fill_to_pressureFills the tank to the maximum safe pressure. +Safety margin is a multiplier for the cap for the purpose of this proc so it doesn't have to be filled completely.
merger_refresh_completeHandles the combined gas tank for the entire merger group, only the origin tank actualy runs this.
refresh_pressure_limitRecalculates pressure based on the current max integrity compared to original
+

Var Details

air_contents + + + + +

+

Reference to the gas mix inside the tank

breaking_sounds + + + + +

+

The sounds that play when the tank is breaking from overpressure

crack_states + + + + +

+

The icon states for the cracks in the tank dmi

crack_states_count + + + + +

+

Number of crack states to fill the list with. This exists because I'm lazy and didn't want to keeping adding more things manually to the below list.

gas_type + + + + +

+

The typepath of the gas this tank should be filled with.

knob_overlays + + + + +

+

Shared images for the knob overlay representing a side of the tank that is open to connections

max_pressure + + + + +

+

The max pressure of the gas mixture before damaging the tank

merger_id + + + + +

+

The merger id used to create/get the merger group in charge of handling tanks that share an internal gas storage

merger_typecache + + + + +

+

The typecache of types which are allowed to merge internal storage

volume + + + + +

+

The volume of the gas mixture

window + + + + +

+

The image showing the gases inside of the tank

Proc Details

fill_to_pressure +

+

Fills the tank to the maximum safe pressure. +Safety margin is a multiplier for the cap for the purpose of this proc so it doesn't have to be filled completely.

merger_refresh_complete +

+

Handles the combined gas tank for the entire merger group, only the origin tank actualy runs this.

refresh_pressure_limit +

+

Recalculates pressure based on the current max integrity compared to original

+ + + diff --git a/obj/machinery/atmospherics/components/trinary.html b/obj/machinery/atmospherics/components/trinary.html new file mode 100644 index 00000000000..6a03b601864 --- /dev/null +++ b/obj/machinery/atmospherics/components/trinary.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/trinary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trinary + + + +

+ + +

Vars

flippedFlips the node connections so that the first and third ports are swapped
+

Var Details

flipped + + + + +

+

Flips the node connections so that the first and third ports are swapped

+ + + diff --git a/obj/machinery/atmospherics/components/trinary/filter.html b/obj/machinery/atmospherics/components/trinary/filter.html new file mode 100644 index 00000000000..05f75e64012 --- /dev/null +++ b/obj/machinery/atmospherics/components/trinary/filter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/components/trinary/filter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

filter + + + +

+ + + +

Vars

filter_typeWhat gases are we filtering, by typepath
transfer_rateRate of transfer of the gases to the outputs
+

Var Details

filter_type + + + + +

+

What gases are we filtering, by typepath

transfer_rate + + + + +

+

Rate of transfer of the gases to the outputs

+ + + diff --git a/obj/machinery/atmospherics/components/trinary/mixer.html b/obj/machinery/atmospherics/components/trinary/mixer.html new file mode 100644 index 00000000000..f94647191f5 --- /dev/null +++ b/obj/machinery/atmospherics/components/trinary/mixer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/atmospherics/components/trinary/mixer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mixer + + + +

+ + + + +

Vars

node1_concentrationRatio between the node 1 and 2, determines the amount of gas transferred, sums up to 1
node2_concentrationRatio between the node 1 and 2, determines the amount of gas transferred, sums up to 1
target_pressureOutput pressure target
+

Var Details

node1_concentration + + + + +

+

Ratio between the node 1 and 2, determines the amount of gas transferred, sums up to 1

node2_concentration + + + + +

+

Ratio between the node 1 and 2, determines the amount of gas transferred, sums up to 1

target_pressure + + + + +

+

Output pressure target

+ + + diff --git a/obj/machinery/atmospherics/components/unary.html b/obj/machinery/atmospherics/components/unary.html new file mode 100644 index 00000000000..cb57c03613b --- /dev/null +++ b/obj/machinery/atmospherics/components/unary.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/components/unary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

unary + + + +

+ + + +

Vars

gl_uidIncreases to prevent duplicated Ids
uidUnique id of the device
+

Var Details

gl_uid + + + + +

+

Increases to prevent duplicated Ids

uid + + + + +

+

Unique id of the device

+ + + diff --git a/obj/machinery/atmospherics/components/unary/bluespace_sender.html b/obj/machinery/atmospherics/components/unary/bluespace_sender.html new file mode 100644 index 00000000000..0ae8bddaf5e --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/bluespace_sender.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/bluespace_sender - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bluespace_sender + + + +

+ + + + + + +

Vars

base_pricesA base price for each and every gases, in case you don't want to change them
bluespace_networkGas mixture containing the inserted gases and that is connected to the vendors
credits_gainedAmount of credits gained from each vendor
gas_transfer_rateRate of gas transfer inside the network (from 0 to 1)
vendorsList storing all the vendors connected to the machine
+

Var Details

base_prices + + + + +

+

A base price for each and every gases, in case you don't want to change them

bluespace_network + + + + +

+

Gas mixture containing the inserted gases and that is connected to the vendors

credits_gained + + + + +

+

Amount of credits gained from each vendor

gas_transfer_rate + + + + +

+

Rate of gas transfer inside the network (from 0 to 1)

vendors + + + + +

+

List storing all the vendors connected to the machine

+ + + diff --git a/obj/machinery/atmospherics/components/unary/hypertorus.html b/obj/machinery/atmospherics/components/unary/hypertorus.html new file mode 100644 index 00000000000..d887ddd3ab7 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/hypertorus.html @@ -0,0 +1,58 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/hypertorus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hypertorus + + + +

+ +

This file contain the eight parts surrounding the main core, those are: fuel input, moderator input, waste output, interface and the corners +The file also contain the guicode of the machine

+ + + +

Vars

activeCheck if the machine has been activated
crackedCheck if the machine is cracked open
fusion_startedCheck if fusion has started
icon_state_openVars for the state of the icon of the object (open, off, active)
+

Var Details

active + + + + +

+

Check if the machine has been activated

cracked + + + + +

+

Check if the machine is cracked open

fusion_started + + + + +

+

Check if fusion has started

icon_state_open + + + + +

+

Vars for the state of the icon of the object (open, off, active)

+ + + diff --git a/obj/machinery/atmospherics/components/unary/hypertorus/core.html b/obj/machinery/atmospherics/components/unary/hypertorus/core.html new file mode 100644 index 00000000000..f3d8a8e2327 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/hypertorus/core.html @@ -0,0 +1,659 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/hypertorus/core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

core + + + +

+ +

This section contain the hfr core with all the variables and the Initialize() and Destroy() procs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

common_channelThe common channel
conductionEnergy from the reaction lost from the molecule colliding between themselves.
core_temperatureTemperature of the center of the fusion reaction
cornersStores the information of the corners of the machine
critical_threshold_proximityIntegrity of the machine, if reaches 900 the machine will explode
critical_threshold_proximity_archivedStore the integrity for calculations
current_damperUser controlled variable to control the flow of the fusion by changing the instability of the reaction
delta_temperatureDifference between the gases temperature and the internal temperature of the reaction
efficiencyEfficiency of the reaction, it increases with the amount of plasma
emergency_alertThe alert we send when we've reached emergency_point
emergency_pointThe point at which we start sending messages to the common channel
energyFusion vars +E=mc^2 with some addition to allow it gameplaywise
engineering_channelThe engineering channel
final_countdownVar used in the meltdown phase
fuel_injection_rateUser controlled variable to control the flow of the fusion by changing the amount of fuel injected
fusion_temperature_archivedThese vars store the temperatures to be used in the GUI
has_reached_emergencyBoolean used for logging if we've passed the emergency point
heat_limiter_modifierHotter air is easier to heat up and cool down
heat_outputThe amount of heat that is finally emitted, based on the power output. Min and max are variables that depends of the modifier
heat_output_maxHow much the reaction can cool itself
heat_output_minHow much the reaction can heat itself
heating_conductorUser controlled variable to control the flow of the fusion by changing the contact of the material
icon_state_openVars for the state of the icon of the object (open, off, active)
instabilityInstability effects how chaotic the behavior of the reaction is
internal_fusionStores the information of the fusion gasmix
internal_power*Power emitted from the center of the fusion reaction: Internal power = densityH2 * densityTrit(Pi * (2 * rH2 * rTrit)**2) * Energy +* density is calculated with moles/volume, rH2 and rTrit are values calculated with moles/(radius of the gas) +both of the density can be varied by the power_modifier
iron_contentStores the iron content produced by the fusion
last_accent_soundcooldown tracker for accent sounds
lastwarningTime in 1/10th of seconds since the last sent warning
linked_inputStores the information of the fuel input
linked_interfaceHypertorus internal objects and gasmixes +Stores the informations of the interface machine
linked_moderatorStores the information of the moderator input
linked_outputStores the information of the waste output
machine_partsStores the three inputs/outputs of the HFR, needed for cracking the parts
magnetic_constrictorUser controlled variable to control the flow of the fusion by changing the volume of the gasmix by controlling the power of the magnetic fields
melting_pointThe point at which we melt
moderator_filtering_rateSet the amount of moles per tick should be removed from the moderator by filtering
moderator_injection_rateUser controlled variable to control the flow of the fusion by changing the amount of moderators injected
moderator_internalStores the information of the moderators gasmix
moderator_scrubbingSet the filtering list of the waste remove
power_levelStores the current fusion mix power level
power_output*The effective power transmission of the fusion reaction, power_output = efficiency * (internal_power - conduction - radiation) +* Conduction is the heat value that is transmitted by the molecular interactions and it gets removed from the internal_power lowering the effective output +* Radiation is the irradiation released by the fusion reaction, it comprehends all wavelenghts in the spectrum, it lowers the effective output of the reaction
radiationThe remaining wavelength that actually can do damage to mobs.
radioOur internal radio
radio_keyThe key our internal radio uses
safe_alertOur "Shit is no longer fucked" message. We send it when critical_threshold_proximity is less then critical_threshold_proximity_archived
selected_fuelStores the current fuel mix that the user has selected
soundloopOur soundloop
start_coolingChecks for the cooling to start
start_fuelChecks for the fuel to be injected
start_moderatorChecks for the moderators to be injected
start_powerProcessing checks +Checks if the user has started the machine
temperature_periodTime between current and _archived temperatures
warning_alertThe alert we send when we've reached warning_point
warning_damage_flagsFlags used in the alert proc to select what messages to show when the HFR is delaminating (HYPERTORUS_FLAG_HIGH_POWER_DAMAGE | HYPERTORUS_FLAG_HIGH_FUEL_MIX_MOLE | HYPERTORUS_FLAG_IRON_CONTENT_DAMAGE | HYPERTORUS_FLAG_IRON_CONTENT_INCREASE | HYPERTORUS_FLAG_EMPED)
warning_pointThe point at which we should start sending messeges about the critical_threshold_proximity to the engi channels.
waste_removeCheck if the user want to remove the waste gases

Procs

activateCalled by multitool_act() in hfr_parts.dm +It sets the pieces to active, allowing the player to start the main reaction +Arguments:
alarmCalled by check_alert() in this file +Play a sound from the machine, the type depends on the status of the hfr
check_alertCalled by process_atmos() in hfr_main_processes.dm +Called after checking the damage of the machine, calls alarm() and countdown() +Broadcast messages into engi and common radio
check_fuelCalled by the main fusion processes in hfr_main_processes.dm +Getter for fusion fuel moles
check_gas_requirementsChecks if the gases in the input are the ones needed by the recipe
check_part_connectivityThis section contain all procs that helps building, destroy and control the hfr
check_power_useCalled by the main fusion processes in hfr_main_processes.dm +Check the power use of the machine, return TRUE if there is enough power in the powernet
countdownCalled by check_alert() in this file +Called when the damage has reached critical levels, start the countdown before the destruction, calls meltdown()
deactivateCalled by unregister_signals() in this file, called when the main fusion processes check_part_connectivity() returns false +Deactivate the various machines by setting the active var to false, updates the machines icon and set the linked machine vars to null
dump_gasesRemoves the gases from the internal gasmix when the recipe is changed
fusion_processCalled by process() +Contains the main fusion calculations and checks, for more informations check the comments along the code.
get_area_cell_percentGet how charged the area's APC is
get_integrity_percentGetter for the machine integrity
get_statusCalled by alarm() in this file +Check the integrity level and returns the status of the machine
meltdownCalled by countdown() in this file +Create the explosion + the gas emission before deleting the machine core.
moderator_common_processPerform common fusion actions:
moderator_fuel_processStore the fuel gases and the byproduct gas quantities +Scaled down moles of gases, no less than 0 +Store the moderators gases quantities +Scaled down moles of gases, no less than 0 +Those are the scaled gases that gets consumed and adjust energy +Between 0.25 and 100, this value is used to modify the behaviour of the internal energy and the core temperature based on the gases present in the mix +Minimum 0.25, this value is used to modify the behaviour of the energy emission based on the gases present in the mix +Between 0.005 and 1000, this value modify the radiation emission of the reaction, higher values increase the emission +Perform recipe specific actions. Fuel consumption and recipe based gas production happens here.
play_ambienceInfrequently plays accent sounds, and adjusts main loop parameters
processMain Fusion processes +process() Organizes all other calls, and is the best starting point for top-level logic. +fusion_process() handles all the main fusion reaction logic and consequences (lightning, radiation, particles) from an active fusion reaction.
send_radio_explanationCalled by check_alert() in this file +Called to explain in radio what the issues are with the HFR
unregister_signalsCalled when a part gets deleted around the hfr, called on Destroy() of the hfr core in hfr_core.dm +Unregister the signals attached to the core from the various machines, if only_signals is false it will also call deactivate() +Arguments:
update_pipenetsUpdates all related pipenets from all connected components
+

Var Details

common_channel + + + + +

+

The common channel

conduction + + + + +

+

Energy from the reaction lost from the molecule colliding between themselves.

core_temperature + + + + +

+

Temperature of the center of the fusion reaction

corners + + + + +

+

Stores the information of the corners of the machine

critical_threshold_proximity + + + + +

+

Integrity of the machine, if reaches 900 the machine will explode

critical_threshold_proximity_archived + + + + +

+

Store the integrity for calculations

current_damper + + + + +

+

User controlled variable to control the flow of the fusion by changing the instability of the reaction

delta_temperature + + + + +

+

Difference between the gases temperature and the internal temperature of the reaction

efficiency + + + + +

+

Efficiency of the reaction, it increases with the amount of plasma

emergency_alert + + + + +

+

The alert we send when we've reached emergency_point

emergency_point + + + + +

+

The point at which we start sending messages to the common channel

energy + + + + +

+

Fusion vars +E=mc^2 with some addition to allow it gameplaywise

engineering_channel + + + + +

+

The engineering channel

final_countdown + + + + +

+

Var used in the meltdown phase

fuel_injection_rate + + + + +

+

User controlled variable to control the flow of the fusion by changing the amount of fuel injected

fusion_temperature_archived + + + + +

+

These vars store the temperatures to be used in the GUI

has_reached_emergency + + + + +

+

Boolean used for logging if we've passed the emergency point

heat_limiter_modifier + + + + +

+

Hotter air is easier to heat up and cool down

heat_output + + + + +

+

The amount of heat that is finally emitted, based on the power output. Min and max are variables that depends of the modifier

heat_output_max + + + + +

+

How much the reaction can cool itself

heat_output_min + + + + +

+

How much the reaction can heat itself

heating_conductor + + + + +

+

User controlled variable to control the flow of the fusion by changing the contact of the material

icon_state_open + + + + +

+

Vars for the state of the icon of the object (open, off, active)

instability + + + + +

+

Instability effects how chaotic the behavior of the reaction is

internal_fusion + + + + +

+

Stores the information of the fusion gasmix

internal_power + + + + +

+

*Power emitted from the center of the fusion reaction: Internal power = densityH2 * densityTrit(Pi * (2 * rH2 * rTrit)**2) * Energy +* density is calculated with moles/volume, rH2 and rTrit are values calculated with moles/(radius of the gas) +both of the density can be varied by the power_modifier

iron_content + + + + +

+

Stores the iron content produced by the fusion

last_accent_sound + + + + +

+

cooldown tracker for accent sounds

lastwarning + + + + +

+

Time in 1/10th of seconds since the last sent warning

linked_input + + + + +

+

Stores the information of the fuel input

linked_interface + + + + +

+

Hypertorus internal objects and gasmixes +Stores the informations of the interface machine

linked_moderator + + + + +

+

Stores the information of the moderator input

linked_output + + + + +

+

Stores the information of the waste output

machine_parts + + + + +

+

Stores the three inputs/outputs of the HFR, needed for cracking the parts

magnetic_constrictor + + + + +

+

User controlled variable to control the flow of the fusion by changing the volume of the gasmix by controlling the power of the magnetic fields

melting_point + + + + +

+

The point at which we melt

moderator_filtering_rate + + + + +

+

Set the amount of moles per tick should be removed from the moderator by filtering

moderator_injection_rate + + + + +

+

User controlled variable to control the flow of the fusion by changing the amount of moderators injected

moderator_internal + + + + +

+

Stores the information of the moderators gasmix

moderator_scrubbing + + + + +

+

Set the filtering list of the waste remove

power_level + + + + +

+

Stores the current fusion mix power level

power_output + + + + +

+

*The effective power transmission of the fusion reaction, power_output = efficiency * (internal_power - conduction - radiation) +* Conduction is the heat value that is transmitted by the molecular interactions and it gets removed from the internal_power lowering the effective output +* Radiation is the irradiation released by the fusion reaction, it comprehends all wavelenghts in the spectrum, it lowers the effective output of the reaction

radiation + + + + +

+

The remaining wavelength that actually can do damage to mobs.

radio + + + + +

+

Our internal radio

radio_key + + + + +

+

The key our internal radio uses

safe_alert + + + + +

+

Our "Shit is no longer fucked" message. We send it when critical_threshold_proximity is less then critical_threshold_proximity_archived

selected_fuel + + + + +

+

Stores the current fuel mix that the user has selected

soundloop + + + + +

+

Our soundloop

start_cooling + + + + +

+

Checks for the cooling to start

start_fuel + + + + +

+

Checks for the fuel to be injected

start_moderator + + + + +

+

Checks for the moderators to be injected

start_power + + + + +

+

Processing checks +Checks if the user has started the machine

temperature_period + + + + +

+

Time between current and _archived temperatures

warning_alert + + + + +

+

The alert we send when we've reached warning_point

warning_damage_flags + + + + +

+

Flags used in the alert proc to select what messages to show when the HFR is delaminating (HYPERTORUS_FLAG_HIGH_POWER_DAMAGE | HYPERTORUS_FLAG_HIGH_FUEL_MIX_MOLE | HYPERTORUS_FLAG_IRON_CONTENT_DAMAGE | HYPERTORUS_FLAG_IRON_CONTENT_INCREASE | HYPERTORUS_FLAG_EMPED)

warning_point + + + + +

+

The point at which we should start sending messeges about the critical_threshold_proximity to the engi channels.

waste_remove + + + + +

+

Check if the user want to remove the waste gases

Proc Details

activate +

+

Called by multitool_act() in hfr_parts.dm +It sets the pieces to active, allowing the player to start the main reaction +Arguments:

+
    +
  • -user: the player doing the action
  • +

alarm +

+

Called by check_alert() in this file +Play a sound from the machine, the type depends on the status of the hfr

check_alert +

+

Called by process_atmos() in hfr_main_processes.dm +Called after checking the damage of the machine, calls alarm() and countdown() +Broadcast messages into engi and common radio

check_fuel +

+

Called by the main fusion processes in hfr_main_processes.dm +Getter for fusion fuel moles

check_gas_requirements +

+

Checks if the gases in the input are the ones needed by the recipe

check_part_connectivity +

+

This section contain all procs that helps building, destroy and control the hfr

+

Called by multitool_act() in hfr_parts.dm, by atmos_process() in hfr_main_processes.dm and by fusion_process() in the same file +This proc checks the surrounding of the core to ensure that the machine has been build correctly, returns false if there is a missing piece/wrong placed one

check_power_use +

+

Called by the main fusion processes in hfr_main_processes.dm +Check the power use of the machine, return TRUE if there is enough power in the powernet

countdown +

+

Called by check_alert() in this file +Called when the damage has reached critical levels, start the countdown before the destruction, calls meltdown()

deactivate +

+

Called by unregister_signals() in this file, called when the main fusion processes check_part_connectivity() returns false +Deactivate the various machines by setting the active var to false, updates the machines icon and set the linked machine vars to null

dump_gases +

+

Removes the gases from the internal gasmix when the recipe is changed

fusion_process +

+

Called by process() +Contains the main fusion calculations and checks, for more informations check the comments along the code.

get_area_cell_percent +

+

Get how charged the area's APC is

get_integrity_percent +

+

Getter for the machine integrity

get_status +

+

Called by alarm() in this file +Check the integrity level and returns the status of the machine

meltdown +

+

Called by countdown() in this file +Create the explosion + the gas emission before deleting the machine core.

moderator_common_process +

+

Perform common fusion actions:

+
    +
  • Gases that get produced irrespective of recipe
  • +
  • Temperature modifiers, radiation modifiers, and the application of each
  • +
  • Committing staged output, performing filtering, and making !FUN! emissions
  • +

moderator_fuel_process +

+

Store the fuel gases and the byproduct gas quantities +Scaled down moles of gases, no less than 0 +Store the moderators gases quantities +Scaled down moles of gases, no less than 0 +Those are the scaled gases that gets consumed and adjust energy +Between 0.25 and 100, this value is used to modify the behaviour of the internal energy and the core temperature based on the gases present in the mix +Minimum 0.25, this value is used to modify the behaviour of the energy emission based on the gases present in the mix +Between 0.005 and 1000, this value modify the radiation emission of the reaction, higher values increase the emission +Perform recipe specific actions. Fuel consumption and recipe based gas production happens here.

play_ambience +

+

Infrequently plays accent sounds, and adjusts main loop parameters

process +

+

Main Fusion processes +process() Organizes all other calls, and is the best starting point for top-level logic. +fusion_process() handles all the main fusion reaction logic and consequences (lightning, radiation, particles) from an active fusion reaction.

send_radio_explanation +

+

Called by check_alert() in this file +Called to explain in radio what the issues are with the HFR

unregister_signals +

+

Called when a part gets deleted around the hfr, called on Destroy() of the hfr core in hfr_core.dm +Unregister the signals attached to the core from the various machines, if only_signals is false it will also call deactivate() +Arguments:

+
    +
  • only_signals: default FALSE, if true the proc will not call the deactivate() proc
  • +

update_pipenets +

+

Updates all related pipenets from all connected components

+ + + diff --git a/obj/machinery/atmospherics/components/unary/outlet_injector.html b/obj/machinery/atmospherics/components/unary/outlet_injector.html new file mode 100644 index 00000000000..0fc650b7f79 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/outlet_injector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/outlet_injector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

outlet_injector + + + +

+ + +

Vars

volume_rateRate of operation of the device
+

Var Details

volume_rate + + + + +

+

Rate of operation of the device

+ + + diff --git a/obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html b/obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html new file mode 100644 index 00000000000..0873af524b8 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/outlet_injector/monitored.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/outlet_injector/monitored - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

monitored + + + +

+ + +

Vars

chamber_idThe air sensor type this injector is linked to
+

Var Details

chamber_id + + + + +

+

The air sensor type this injector is linked to

+ + + diff --git a/obj/machinery/atmospherics/components/unary/portables_connector.html b/obj/machinery/atmospherics/components/unary/portables_connector.html new file mode 100644 index 00000000000..28f0adfd45f --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/portables_connector.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/portables_connector - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portables_connector + + + +

+ + +

Vars

connected_deviceReference to the connected device
+

Var Details

connected_device + + + + +

+

Reference to the connected device

+ + + diff --git a/obj/machinery/atmospherics/components/unary/thermomachine.html b/obj/machinery/atmospherics/components/unary/thermomachine.html new file mode 100644 index 00000000000..7f03fcb0e34 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/thermomachine.html @@ -0,0 +1,37 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/thermomachine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

thermomachine + + + +

+ + +

Procs

process_atmosPerforms heat calculation for the freezer. +We just equalize the gasmix with an object at temp = var/target_temperature and heat cap = var/heat_capacity

Proc Details

process_atmos +

+

Performs heat calculation for the freezer. +We just equalize the gasmix with an object at temp = var/target_temperature and heat cap = var/heat_capacity

+ + + diff --git a/obj/machinery/atmospherics/components/unary/vent_pump.html b/obj/machinery/atmospherics/components/unary/vent_pump.html new file mode 100644 index 00000000000..2eef404241f --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/vent_pump.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/vent_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vent_pump + + + +

+ + + + + + + + + + + +

Vars

assigned_areaarea this vent is assigned to
chamber_idid of air sensor its connected to
examine_conditionThe cached string we show for examine that lets you know how fucked up the fan is.
external_pressure_boundThe external pressure threshold (default 101 kPa)
fan_damage_rateRate of damage per atmos process to the fan when overclocked. Set to 0 to disable damage.
fan_overclockedIs this vent currently overclocked, removing pressure limits but damaging the fan?
internal_pressure_boundThe internal pressure threshold (default 0 kPa)
pressure_checksShould we check internal pressure, external pressure, both or none? (ATMOS_EXTERNAL_BOUND, ATMOS_INTERNAL_BOUND, NO_BOUND)
pump_directionDirection of pumping the gas (ATMOS_DIRECTION_RELEASING or ATMOS_DIRECTION_SIPHONING)
sound_loopDatum for managing the overclock sound loop
+

Var Details

assigned_area + + + + +

+

area this vent is assigned to

chamber_id + + + + +

+

id of air sensor its connected to

examine_condition + + + + +

+

The cached string we show for examine that lets you know how fucked up the fan is.

external_pressure_bound + + + + +

+

The external pressure threshold (default 101 kPa)

fan_damage_rate + + + + +

+

Rate of damage per atmos process to the fan when overclocked. Set to 0 to disable damage.

fan_overclocked + + + + +

+

Is this vent currently overclocked, removing pressure limits but damaging the fan?

internal_pressure_bound + + + + +

+

The internal pressure threshold (default 0 kPa)

pressure_checks + + + + +

+

Should we check internal pressure, external pressure, both or none? (ATMOS_EXTERNAL_BOUND, ATMOS_INTERNAL_BOUND, NO_BOUND)

pump_direction + + + + +

+

Direction of pumping the gas (ATMOS_DIRECTION_RELEASING or ATMOS_DIRECTION_SIPHONING)

sound_loop + + + + +

+

Datum for managing the overclock sound loop

+ + + diff --git a/obj/machinery/atmospherics/components/unary/vent_scrubber.html b/obj/machinery/atmospherics/components/unary/vent_scrubber.html new file mode 100644 index 00000000000..2b1e9bd89a8 --- /dev/null +++ b/obj/machinery/atmospherics/components/unary/vent_scrubber.html @@ -0,0 +1,98 @@ + + + + + + + /obj/machinery/atmospherics/components/unary/vent_scrubber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vent_scrubber + + + +

+ + + + + + + + + + +

Vars

adjacent_turfsList of the turfs near the scrubber, used for widenet
assigned_areaThe area this scrubber is assigned to
filter_typesThe list of gases we are filtering
scrubbingThe mode of the scrubber (ATMOS_DIRECTION_SCRUBBING or ATMOS_DIRECTION_SIPHONING)
volume_rateRate of the scrubber to remove gases from the air
widenetis this scrubber acting on the 3x3 area around it.

Procs

add_filtersadds a gas or list of gases to our filter_types. used so that the scrubber can check if its supposed to be processing after each change
check_turfscontains all of the gas we're sucking out of the tile, gets put into our parent pipenet +maximum percentage of the turfs gas we can filter +we populate a list of turfs with nonatmos-blocked cardinal turfs AND +diagonal turfs that can share atmos with both of the cardinal turfs
remove_filtersremove a gas or list of gases from our filter_types.used so that the scrubber can check if its supposed to be processing after each change
+

Var Details

adjacent_turfs + + + + +

+

List of the turfs near the scrubber, used for widenet

assigned_area + + + + +

+

The area this scrubber is assigned to

filter_types + + + + +

+

The list of gases we are filtering

scrubbing + + + + +

+

The mode of the scrubber (ATMOS_DIRECTION_SCRUBBING or ATMOS_DIRECTION_SIPHONING)

volume_rate + + + + +

+

Rate of the scrubber to remove gases from the air

widenet + + + + +

+

is this scrubber acting on the 3x3 area around it.

Proc Details

add_filters +

+

adds a gas or list of gases to our filter_types. used so that the scrubber can check if its supposed to be processing after each change

check_turfs +

+

contains all of the gas we're sucking out of the tile, gets put into our parent pipenet +maximum percentage of the turfs gas we can filter +we populate a list of turfs with nonatmos-blocked cardinal turfs AND +diagonal turfs that can share atmos with both of the cardinal turfs

remove_filters +

+

remove a gas or list of gases from our filter_types.used so that the scrubber can check if its supposed to be processing after each change

+ + + diff --git a/obj/machinery/atmospherics/miner.html b/obj/machinery/atmospherics/miner.html new file mode 100644 index 00000000000..3f80e231a9a --- /dev/null +++ b/obj/machinery/atmospherics/miner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/miner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

miner + + + +

+ + +

Vars

spawn_molMoles of gas to spawn per second
+

Var Details

spawn_mol + + + + +

+

Moles of gas to spawn per second

+ + + diff --git a/obj/machinery/atmospherics/pipe.html b/obj/machinery/atmospherics/pipe.html new file mode 100644 index 00000000000..8eb8e205cda --- /dev/null +++ b/obj/machinery/atmospherics/pipe.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/atmospherics/pipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pipe + + + +

+ + + + + + +

Vars

air_temporaryTemporary holder for gases in the absence of a pipeline
has_gas_visualsDetermines if this pipe will be given gas visuals
parentThe pipeline this pipe is a member of
volumeThe gas capacity this pipe contributes to a pipeline

Procs

InitializeI have no idea why there's a new and at this point I'm too afraid to ask
+

Var Details

air_temporary + + + + +

+

Temporary holder for gases in the absence of a pipeline

has_gas_visuals + + + + +

+

Determines if this pipe will be given gas visuals

parent + + + + +

+

The pipeline this pipe is a member of

volume + + + + +

+

The gas capacity this pipe contributes to a pipeline

Proc Details

Initialize +

+

I have no idea why there's a new and at this point I'm too afraid to ask

+ + + diff --git a/obj/machinery/atmospherics/pipe/color_adapter.html b/obj/machinery/atmospherics/pipe/color_adapter.html new file mode 100644 index 00000000000..5c1c33876cc --- /dev/null +++ b/obj/machinery/atmospherics/pipe/color_adapter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/pipe/color_adapter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

color_adapter + + + +

+ + +

Vars

center_cachecache for the icons
+

Var Details

center_cache + + + + +

+

cache for the icons

+ + + diff --git a/obj/machinery/atmospherics/pipe/layer_manifold.html b/obj/machinery/atmospherics/pipe/layer_manifold.html new file mode 100644 index 00000000000..c563fc32109 --- /dev/null +++ b/obj/machinery/atmospherics/pipe/layer_manifold.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/atmospherics/pipe/layer_manifold - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

layer_manifold + + + +

+ + + +

Vars

back_nodesReference to all the nodes in the back
front_nodesReference to all the nodes in the front
+

Var Details

back_nodes + + + + +

+

Reference to all the nodes in the back

front_nodes + + + + +

+

Reference to all the nodes in the front

+ + + diff --git a/obj/machinery/atmospherics/pipe/multiz.html b/obj/machinery/atmospherics/pipe/multiz.html new file mode 100644 index 00000000000..ce50ec83558 --- /dev/null +++ b/obj/machinery/atmospherics/pipe/multiz.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/atmospherics/pipe/multiz - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

multiz + + + +

+ +

This is an atmospherics pipe which can relay air up/down a deck.

+ + + +

Vars

centerOur central icon
front_nodeReference to the node
pipeThe pipe icon

Procs

pipeline_expansionAttempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet
+

Var Details

center + + + + +

+

Our central icon

front_node + + + + +

+

Reference to the node

pipe + + + + +

+

The pipe icon

Proc Details

pipeline_expansion +

+

Attempts to locate a multiz pipe that's above us, if it finds one it merges us into its pipenet

+ + + diff --git a/obj/machinery/atmospherics/pipe/smart.html b/obj/machinery/atmospherics/pipe/smart.html new file mode 100644 index 00000000000..73f903dff1b --- /dev/null +++ b/obj/machinery/atmospherics/pipe/smart.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/atmospherics/pipe/smart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

smart + + + +

+ + +

Vars

connectionsCurrent active connections
+

Var Details

connections + + + + +

+

Current active connections

+ + + diff --git a/obj/machinery/autolathe.html b/obj/machinery/autolathe.html new file mode 100644 index 00000000000..4d921d349d4 --- /dev/null +++ b/obj/machinery/autolathe.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/autolathe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

autolathe + + + +

+ + + + + +

Vars

creation_efficiencyCoefficient applied to consumed materials. Lower values result in lower material consumption.
drop_directiondirection we output onto (if 0, on top of us)
imported_designsDesigns imported from technology disks that we can print.
materialsThe container to hold materials
+

Var Details

creation_efficiency + + + + +

+

Coefficient applied to consumed materials. Lower values result in lower material consumption.

drop_direction + + + + +

+

direction we output onto (if 0, on top of us)

imported_designs + + + + +

+

Designs imported from technology disks that we can print.

materials + + + + +

+

The container to hold materials

+ + + diff --git a/obj/machinery/barsign.html b/obj/machinery/barsign.html new file mode 100644 index 00000000000..381358a3cf0 --- /dev/null +++ b/obj/machinery/barsign.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/barsign - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

barsign + + + +

+ + + + + + +

Vars

change_area_nameDo we attempt to rename the area we occupy when the chosen sign is changed?
chosen_signSelected barsign being used
disassemble_resultWhat kind of sign do we drop upon being disassembled?

Procs

finish_emag_actTimer proc, called after ~10 seconds after [emag_act], since [emag_act] returns a value and cannot sleep
fix_empCallback to un-emp the sign some time.
+

Var Details

change_area_name + + + + +

+

Do we attempt to rename the area we occupy when the chosen sign is changed?

chosen_sign + + + + +

+

Selected barsign being used

disassemble_result + + + + +

+

What kind of sign do we drop upon being disassembled?

Proc Details

finish_emag_act +

+

Timer proc, called after ~10 seconds after [emag_act], since [emag_act] returns a value and cannot sleep

fix_emp +

+

Callback to un-emp the sign some time.

+ + + diff --git a/obj/machinery/biogenerator.html b/obj/machinery/biogenerator.html new file mode 100644 index 00000000000..e3808ff4a69 --- /dev/null +++ b/obj/machinery/biogenerator.html @@ -0,0 +1,167 @@ + + + + + + + /obj/machinery/biogenerator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

biogenerator + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

beakerThe reagent container that is currently inside of the biomass generator. Can be null.
biomassThe amount of biomass that's currently stored in the biogenerator.
current_item_countThe current amount of items that can be converted into biomass that the biogenerator is holding.
efficiencyThe amount by which the biomass consumption will be divided.
max_itemsThe maximum amount of items the biogenerator can hold for biomass conversion purposes.
max_outputThe maximum amount of reagents that the biogenerator can output to a container at once.
max_visual_biomassThe maximum amount of biomass that will affect the visuals of the biogenerator.
processed_items_per_cycleThe amount of items that will be converted into biomass per processing cycle.
processingWhether the biogenerator is currently processing biomass or not.
productivityThe conversion factor for nutrient to biomass, and the amount of additional items that will be processed at once per cycle.
selected_catThe category that's currently selected in the UI.
show_categoriesThe different visual categories for the biogenerator, for the tabs.
soundloopThe sound loop that can be heard when the generator is processing.
stored_researchThe research that is stored within this biogenerator.
welded_downWhether the biogen is welded down to the floor disabling unwrenching

Procs

convert_to_biomassSimple helper proc that converts the given food item into biomass for the generator, +while also handling removing it and modifying the current_item_count.
start_processActivates biomass processing and converts all inserted food products into biomass
stop_processSimple helper to handle stopping the process of the biogenerator.
+

Var Details

beaker + + + + +

+

The reagent container that is currently inside of the biomass generator. Can be null.

biomass + + + + +

+

The amount of biomass that's currently stored in the biogenerator.

current_item_count + + + + +

+

The current amount of items that can be converted into biomass that the biogenerator is holding.

efficiency + + + + +

+

The amount by which the biomass consumption will be divided.

max_items + + + + +

+

The maximum amount of items the biogenerator can hold for biomass conversion purposes.

max_output + + + + +

+

The maximum amount of reagents that the biogenerator can output to a container at once.

max_visual_biomass + + + + +

+

The maximum amount of biomass that will affect the visuals of the biogenerator.

processed_items_per_cycle + + + + +

+

The amount of items that will be converted into biomass per processing cycle.

processing + + + + +

+

Whether the biogenerator is currently processing biomass or not.

productivity + + + + +

+

The conversion factor for nutrient to biomass, and the amount of additional items that will be processed at once per cycle.

selected_cat + + + + +

+

The category that's currently selected in the UI.

show_categories + + + + +

+

The different visual categories for the biogenerator, for the tabs.

soundloop + + + + +

+

The sound loop that can be heard when the generator is processing.

stored_research + + + + +

+

The research that is stored within this biogenerator.

welded_down + + + + +

+

Whether the biogen is welded down to the floor disabling unwrenching

Proc Details

convert_to_biomass +

+

Simple helper proc that converts the given food item into biomass for the generator, +while also handling removing it and modifying the current_item_count.

+

Arguments:

+
    +
  • food_to_convert - The food item that will be converted into biomass and +subsequently be deleted.
  • +

start_process +

+

Activates biomass processing and converts all inserted food products into biomass

stop_process +

+

Simple helper to handle stopping the process of the biogenerator.

+

Arguments:

+
    +
  • update_appearance - Whether or not we call update_appearance() here. +Defaults to TRUE.
  • +
+ + + diff --git a/obj/machinery/blackbox_recorder.html b/obj/machinery/blackbox_recorder.html new file mode 100644 index 00000000000..bf6eebba896 --- /dev/null +++ b/obj/machinery/blackbox_recorder.html @@ -0,0 +1,38 @@ + + + + + + + /obj/machinery/blackbox_recorder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blackbox_recorder + + + +

+ + +

Vars

storedThe object that's stored in the machine, which is to say, the blackbox itself. +When it hasn't already been stolen, of course.
+

Var Details

stored + + + + +

+

The object that's stored in the machine, which is to say, the blackbox itself. +When it hasn't already been stolen, of course.

+ + + diff --git a/obj/machinery/bluespace_vendor.html b/obj/machinery/bluespace_vendor.html new file mode 100644 index 00000000000..a065112dd15 --- /dev/null +++ b/obj/machinery/bluespace_vendor.html @@ -0,0 +1,134 @@ + + + + + + + /obj/machinery/bluespace_vendor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bluespace_vendor + + + +

+ + + + + + + + + + + + + + + + +

Vars

connected_machineThe bluespace sender that this vendor is connected to
empty_tanksAmount of usable tanks inside the machine
gas_priceStores the current price of the gases inside the tank
inserted_tankHas the user prepared a tank to be filled with gases?
internal_tankReference to the current in use tank to be filled
map_spawnedHelper for mappers, will automatically connect to the sender (ensure to only place one sender per map)
modeCurrent operating mode of the vendor
pumpingIs the vendor trying to move gases from the network to the tanks?
selected_gasPath of the gas selected from the UI to be pumped inside the tanks
tank_costBase price of the tank
tank_filling_amountAmount of the tank already filled with gas (from 0 to 100)

Procs

check_modeCheck what is the current operating mode
check_priceCheck the price of the current tank, if the user doesn't have the money the gas will be merged back into the network
register_machineRegister the sender as the connected_machine
unregister_machineUnregister the connected_machine (either when qdel this or the sender)
+

Var Details

connected_machine + + + + +

+

The bluespace sender that this vendor is connected to

empty_tanks + + + + +

+

Amount of usable tanks inside the machine

gas_price + + + + +

+

Stores the current price of the gases inside the tank

inserted_tank + + + + +

+

Has the user prepared a tank to be filled with gases?

internal_tank + + + + +

+

Reference to the current in use tank to be filled

map_spawned + + + + +

+

Helper for mappers, will automatically connect to the sender (ensure to only place one sender per map)

mode + + + + +

+

Current operating mode of the vendor

pumping + + + + +

+

Is the vendor trying to move gases from the network to the tanks?

selected_gas + + + + +

+

Path of the gas selected from the UI to be pumped inside the tanks

tank_cost + + + + +

+

Base price of the tank

tank_filling_amount + + + + +

+

Amount of the tank already filled with gas (from 0 to 100)

Proc Details

check_mode +

+

Check what is the current operating mode

check_price +

+

Check the price of the current tank, if the user doesn't have the money the gas will be merged back into the network

register_machine +

+

Register the sender as the connected_machine

unregister_machine +

+

Unregister the connected_machine (either when qdel this or the sender)

+ + + diff --git a/obj/machinery/bookbinder.html b/obj/machinery/bookbinder.html new file mode 100644 index 00000000000..a9cd54064d1 --- /dev/null +++ b/obj/machinery/bookbinder.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/bookbinder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bookbinder + + + +

+ + + +

Vars

busyAre we currently binding a book?
scanned_nameName of the author for the book, set by scanning your ID.
+

Var Details

busy + + + + +

+

Are we currently binding a book?

scanned_name + + + + +

+

Name of the author for the book, set by scanning your ID.

+ + + diff --git a/obj/machinery/button.html b/obj/machinery/button.html new file mode 100644 index 00000000000..4b2782133e8 --- /dev/null +++ b/obj/machinery/button.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/button - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

button + + + +

+ + + + +

Vars

can_alter_skinWhether it is possible to change the panel skin
skinIcon suffix for the skin of the front pannel that is added to base_icon_state

Procs

knock_downCalled when the mounted button's wall is knocked down.
+

Var Details

can_alter_skin + + + + +

+

Whether it is possible to change the panel skin

skin + + + + +

+

Icon suffix for the skin of the front pannel that is added to base_icon_state

Proc Details

knock_down +

+

Called when the mounted button's wall is knocked down.

+ + + diff --git a/obj/machinery/button/transport/tram.html b/obj/machinery/button/transport/tram.html new file mode 100644 index 00000000000..3282c790ee7 --- /dev/null +++ b/obj/machinery/button/transport/tram.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/button/transport/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tram + + + +

+ + +

Vars

specific_transport_idThe ID of the tram we're linked to
+

Var Details

specific_transport_id + + + + +

+

The ID of the tram we're linked to

+ + + diff --git a/obj/machinery/byteforge.html b/obj/machinery/byteforge.html new file mode 100644 index 00000000000..3dff98790fe --- /dev/null +++ b/obj/machinery/byteforge.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/byteforge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

byteforge + + + +

+ + + + + + + +

Vars

byteforge_particlesIdle particles

Procs

flashDoes some sparks after it's done
flickerForge begins to process
setup_particlesAdds the particle overlays to the byteforge
spawn_cacheForge is done processing
start_to_spawnTimed flash
+

Var Details

byteforge_particles + + + + +

+

Idle particles

Proc Details

flash +

+

Does some sparks after it's done

flicker +

+

Forge begins to process

setup_particles +

+

Adds the particle overlays to the byteforge

spawn_cache +

+

Forge is done processing

start_to_spawn +

+

Timed flash

+ + + diff --git a/obj/machinery/camera.html b/obj/machinery/camera.html new file mode 100644 index 00000000000..1df0d3e6ded --- /dev/null +++ b/obj/machinery/camera.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/camera - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

camera + + + +

+ + + + +

Vars

alarm_managerRepresents a signel source of camera alarms about movement or camera tampering
last_shown_paperA copy of the last paper object that was shown to this camera.
proximity_monitorProximity monitor associated with this atom, for motion sensitive cameras.
+

Var Details

alarm_manager + + + + +

+

Represents a signel source of camera alarms about movement or camera tampering

last_shown_paper + + + + +

+

A copy of the last paper object that was shown to this camera.

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, for motion sensitive cameras.

+ + + diff --git a/obj/machinery/camera/exosuit.html b/obj/machinery/camera/exosuit.html new file mode 100644 index 00000000000..05dc50f91f4 --- /dev/null +++ b/obj/machinery/camera/exosuit.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/camera/exosuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

exosuit + + + +

+ +

The internal camera object for exosuits, applied by the camera upgrade

+ + + + +

Vars

current_nameCurrently used name of the mech
is_emp_scrambledWhether the camera was recently affected by an EMP and is thus unfocused, shortening view_range
numberNumber of the camera and thus the name of the mech

Procs

emp_refocusRestore the camera's view default view range after an EMP
update_c_tagUpdates the c_tag of the mech camera while preventing duplicate c_tag usage due to having mechs with the same name
+

Var Details

current_name + + + + +

+

Currently used name of the mech

is_emp_scrambled + + + + +

+

Whether the camera was recently affected by an EMP and is thus unfocused, shortening view_range

number + + + + +

+

Number of the camera and thus the name of the mech

Proc Details

emp_refocus +

+

Restore the camera's view default view range after an EMP

update_c_tag +

+

Updates the c_tag of the mech camera while preventing duplicate c_tag usage due to having mechs with the same name

+ + + diff --git a/obj/machinery/chem_dispenser.html b/obj/machinery/chem_dispenser.html new file mode 100644 index 00000000000..daed53f44b0 --- /dev/null +++ b/obj/machinery/chem_dispenser.html @@ -0,0 +1,183 @@ + + + + + + + /obj/machinery/chem_dispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem_dispenser + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

amountThe current amount this machine is dispensing
base_reagent_purityStarting purity of the created reagents
beakerThe actual beaker inserted into this machine
beaker_overlayThe overlay used to display the beaker on the machine
cellThe cell used to dispense reagents
default_dispensable_reagentsThe default list of dispensable_reagents
default_emagged_reagentsThe default list of reagents emagged_reagents
default_upgrade_reagentsThe default list of reagents upgrade_reagents
dispensable_reagentsDispensable_reagents is copypasted in plumbing synthesizers. Please update accordingly. (I didn't make it global because that would limit custom chem dispensers)
dispensed_temperatureThe temperature reagents are dispensed into the beaker
emagged_reagentsThese become available once the machine has been emaged
has_panel_overlayShould we display the open panel overlay when the panel is opened with a screwdriver
nopower_stateIcon to display when the machine is not powered
powerefficiencyEfficiency used when converting cell power to reagents
recharge_amountThe rate at which this machine recharges the power cell
recharge_counterKeep track of the intervals made during recharges
recording_recipeRecords the reagents dispensed by the user if this list is not null
saved_recipesSaves all the recipes recorded by the machine
show_phIf the UI has the pH meter shown
upgrade_reagentsThese become available once the manipulator has been upgraded to tier 4 (femto)
working_stateIcon to display when the machine is powered

Procs

handle_ui_actSame as ui_act() but to be used by subtypes exclusively
+

Var Details

amount + + + + +

+

The current amount this machine is dispensing

base_reagent_purity + + + + +

+

Starting purity of the created reagents

beaker + + + + +

+

The actual beaker inserted into this machine

beaker_overlay + + + + +

+

The overlay used to display the beaker on the machine

cell + + + + +

+

The cell used to dispense reagents

default_dispensable_reagents + + + + +

+

The default list of dispensable_reagents

default_emagged_reagents + + + + +

+

The default list of reagents emagged_reagents

default_upgrade_reagents + + + + +

+

The default list of reagents upgrade_reagents

dispensable_reagents + + + + +

+

Dispensable_reagents is copypasted in plumbing synthesizers. Please update accordingly. (I didn't make it global because that would limit custom chem dispensers)

dispensed_temperature + + + + +

+

The temperature reagents are dispensed into the beaker

emagged_reagents + + + + +

+

These become available once the machine has been emaged

has_panel_overlay + + + + +

+

Should we display the open panel overlay when the panel is opened with a screwdriver

nopower_state + + + + +

+

Icon to display when the machine is not powered

powerefficiency + + + + +

+

Efficiency used when converting cell power to reagents

recharge_amount + + + + +

+

The rate at which this machine recharges the power cell

recharge_counter + + + + +

+

Keep track of the intervals made during recharges

recording_recipe + + + + +

+

Records the reagents dispensed by the user if this list is not null

saved_recipes + + + + +

+

Saves all the recipes recorded by the machine

show_ph + + + + +

+

If the UI has the pH meter shown

upgrade_reagents + + + + +

+

These become available once the manipulator has been upgraded to tier 4 (femto)

working_state + + + + +

+

Icon to display when the machine is powered

Proc Details

handle_ui_act +

+

Same as ui_act() but to be used by subtypes exclusively

+ + + diff --git a/obj/machinery/chem_dispenser/abductor.html b/obj/machinery/chem_dispenser/abductor.html new file mode 100644 index 00000000000..c11aebdf881 --- /dev/null +++ b/obj/machinery/chem_dispenser/abductor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/chem_dispenser/abductor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

abductor_dispensable_reagentsThe default list of dispensable reagents available in the abductor chem dispenser
+

Var Details

abductor_dispensable_reagents + + + + +

+

The default list of dispensable reagents available in the abductor chem dispenser

+ + + diff --git a/obj/machinery/chem_dispenser/chem_synthesizer.html b/obj/machinery/chem_dispenser/chem_synthesizer.html new file mode 100644 index 00000000000..b4987937be6 --- /dev/null +++ b/obj/machinery/chem_dispenser/chem_synthesizer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/chem_dispenser/chem_synthesizer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chem_synthesizer + + + +

+ + +

Vars

purityThe purity of the created reagent in % (purity uses 0-1 values)
+

Var Details

purity + + + + +

+

The purity of the created reagent in % (purity uses 0-1 values)

+ + + diff --git a/obj/machinery/chem_dispenser/drinks.html b/obj/machinery/chem_dispenser/drinks.html new file mode 100644 index 00000000000..985d3940e47 --- /dev/null +++ b/obj/machinery/chem_dispenser/drinks.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/chem_dispenser/drinks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

drinks + + + +

+ + + +

Vars

drink_emagged_reagentsThe default list of emagged reagents dispensable by the soda dispenser
drinks_dispensable_reagentsThe default list of reagents dispensable by the soda dispenser
+

Var Details

drink_emagged_reagents + + + + +

+

The default list of emagged reagents dispensable by the soda dispenser

drinks_dispensable_reagents + + + + +

+

The default list of reagents dispensable by the soda dispenser

+ + + diff --git a/obj/machinery/chem_dispenser/drinks/beer.html b/obj/machinery/chem_dispenser/drinks/beer.html new file mode 100644 index 00000000000..d59836ab443 --- /dev/null +++ b/obj/machinery/chem_dispenser/drinks/beer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/chem_dispenser/drinks/beer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

beer + + + +

+ + + +

Vars

beer_dispensable_reagentsThe default list of reagents dispensable by the beer dispenser
beer_emagged_reagentsThe default list of emagged reagents dispensable by the beer dispenser
+

Var Details

beer_dispensable_reagents + + + + +

+

The default list of reagents dispensable by the beer dispenser

beer_emagged_reagents + + + + +

+

The default list of emagged reagents dispensable by the beer dispenser

+ + + diff --git a/obj/machinery/chem_dispenser/mutagen.html b/obj/machinery/chem_dispenser/mutagen.html new file mode 100644 index 00000000000..f283766576a --- /dev/null +++ b/obj/machinery/chem_dispenser/mutagen.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/chem_dispenser/mutagen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mutagen + + + +

+ + + +

Vars

mutagen_dispensable_reagentsThe default list of reagents dispensable by mutagen chem dispenser
mutagen_emagged_reagentsThe default list of emagged reagents dispensable by mutagen chem dispenser
+

Var Details

mutagen_dispensable_reagents + + + + +

+

The default list of reagents dispensable by mutagen chem dispenser

mutagen_emagged_reagents + + + + +

+

The default list of emagged reagents dispensable by mutagen chem dispenser

+ + + diff --git a/obj/machinery/chem_dispenser/mutagensaltpeter.html b/obj/machinery/chem_dispenser/mutagensaltpeter.html new file mode 100644 index 00000000000..2c2bc25d1ce --- /dev/null +++ b/obj/machinery/chem_dispenser/mutagensaltpeter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/chem_dispenser/mutagensaltpeter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mutagensaltpeter + + + +

+ + +

Vars

mutagensaltpeter_dispensable_reagentsThe default list of dispensable reagents available in the mutagensaltpeter chem dispenser
+

Var Details

mutagensaltpeter_dispensable_reagents + + + + +

+

The default list of dispensable reagents available in the mutagensaltpeter chem dispenser

+ + + diff --git a/obj/machinery/chem_heater.html b/obj/machinery/chem_heater.html new file mode 100644 index 00000000000..d5bb10f4f31 --- /dev/null +++ b/obj/machinery/chem_heater.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/chem_heater - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem_heater + + + +

+ + + + + + + +

Vars

tutorial_activeIf the user has the tutorial enabled
tutorial_stateWhat state we're at in the tutorial

Procs

move_bufferMoves a type of buffer from the heater to the beaker, or vice versa
on_reaction_stepForces a UI update every time a reaction step happens inside of the beaker it contains. This is so the UI is in sync with the reaction since it's important that the output matches the current conditions for pH adjustment and temperature.
on_ui_deletionThis catches a signal and uses it to delete the ui instance from the list
remove_ui_client_listThis removes an open ui instance from the ui list and deregsiters the signal
+

Var Details

tutorial_active + + + + +

+

If the user has the tutorial enabled

tutorial_state + + + + +

+

What state we're at in the tutorial

Proc Details

move_buffer +

+

Moves a type of buffer from the heater to the beaker, or vice versa

on_reaction_step +

+

Forces a UI update every time a reaction step happens inside of the beaker it contains. This is so the UI is in sync with the reaction since it's important that the output matches the current conditions for pH adjustment and temperature.

on_ui_deletion +

+

This catches a signal and uses it to delete the ui instance from the list

remove_ui_client_list +

+

This removes an open ui instance from the ui list and deregsiters the signal

+ + + diff --git a/obj/machinery/chem_mass_spec.html b/obj/machinery/chem_mass_spec.html new file mode 100644 index 00000000000..732818dd54d --- /dev/null +++ b/obj/machinery/chem_mass_spec.html @@ -0,0 +1,129 @@ + + + + + + + /obj/machinery/chem_mass_spec - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem_mass_spec + + + +

+ + + + + + + + + + + + + + + +

Vars

beaker1Input reagents container
beaker2Output reagents container
cms_coefficientmultiplies the final time needed to process the chems depending on the laser stock part
delay_timeTime we started processing + the delay
logThe log output to clarify how the thing works
lower_mass_rangeLower mass range - for mass selection of what will be processed
processing_reagentsIf we're processing reagents or not
progress_timeHow much time we've done so far
upper_mass_rangeUpper_mass_range - for mass selection of what will be processed

Procs

calculate_largest_massReturns the largest mass to the nearest 50 (rounded up)
calculate_smallest_massReturns the smallest mass to the nearest 50 (rounded down)
processIncrements time if it's progressing - if it's past time then it purifies and stops processing
replace_beakerGee how come you get two beakers?
ui_actWe want to be sure that the impure chem appears after the parent chem in the list so that it always overshadows pure reagents +Normal stuff
+

Var Details

beaker1 + + + + +

+

Input reagents container

beaker2 + + + + +

+

Output reagents container

cms_coefficient + + + + +

+

multiplies the final time needed to process the chems depending on the laser stock part

delay_time + + + + +

+

Time we started processing + the delay

log + + + + +

+

The log output to clarify how the thing works

lower_mass_range + + + + +

+

Lower mass range - for mass selection of what will be processed

processing_reagents + + + + +

+

If we're processing reagents or not

progress_time + + + + +

+

How much time we've done so far

upper_mass_range + + + + +

+

Upper_mass_range - for mass selection of what will be processed

Proc Details

calculate_largest_mass +

+

Returns the largest mass to the nearest 50 (rounded up)

calculate_smallest_mass +

+

Returns the smallest mass to the nearest 50 (rounded down)

process +

+

Increments time if it's progressing - if it's past time then it purifies and stops processing

replace_beaker +

+

Gee how come you get two beakers?

ui_act +

+

We want to be sure that the impure chem appears after the parent chem in the list so that it always overshadows pure reagents +Normal stuff

+ + + diff --git a/obj/machinery/chem_master.html b/obj/machinery/chem_master.html new file mode 100644 index 00000000000..4d05e0568f3 --- /dev/null +++ b/obj/machinery/chem_master.html @@ -0,0 +1,172 @@ + + + + + + + /obj/machinery/chem_master - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem_master + + + +

+ +

Roughly 10 - 30s? +Roughly 10 - 30s?

+ + + + + + + + + + + + + + + + + + + +

Vars

analyzed_reagentReagent being analyzed
beakerInserted reagent container
default_containerContainer used by default to reset to (REF)
do_suggest_containerWhether to suggest container or not
fill_iconIcons for different percentages of buffer reagents
has_container_suggestionWhether the machine has an option to suggest container
is_printingWhether the machine is busy with printing containers
printable_containersList of printable container types
printing_amountThe amount of containers printed in one cycle
printing_progressNumber of printed containers in the current printing cycle for UI progress bar
printing_speedDefault duration of printing cycle
reagent_analysis_modeWhether reagent analysis screen is active
selected_containerSelected printable container type (REF)
suggested_containerThe container suggested by main reagent in the buffer
transfer_modeWhether separated reagents should be moved back to container or destroyed.

Procs

check_reactionsChecks to see if the target reagent is being created (reacting) and if so prevents transfer +Only prevents reactant from being moved so that people can still manlipulate input reagents
create_containersCreate N selected containers with reagents from buffer split between them
get_suggested_containerRetrieve REF to the best container for provided reagent
replace_beakerInsert new beaker and/or eject the inserted one
transfer_reagentTransfer reagents to specified target from the opposite source
+

Var Details

analyzed_reagent + + + + +

+

Reagent being analyzed

beaker + + + + +

+

Inserted reagent container

default_container + + + + +

+

Container used by default to reset to (REF)

do_suggest_container + + + + +

+

Whether to suggest container or not

fill_icon + + + + +

+

Icons for different percentages of buffer reagents

has_container_suggestion + + + + +

+

Whether the machine has an option to suggest container

is_printing + + + + +

+

Whether the machine is busy with printing containers

printable_containers + + + + +

+

List of printable container types

printing_amount + + + + +

+

The amount of containers printed in one cycle

printing_progress + + + + +

+

Number of printed containers in the current printing cycle for UI progress bar

printing_speed + + + + +

+

Default duration of printing cycle

reagent_analysis_mode + + + + +

+

Whether reagent analysis screen is active

selected_container + + + + +

+

Selected printable container type (REF)

suggested_container + + + + +

+

The container suggested by main reagent in the buffer

transfer_mode + + + + +

+

Whether separated reagents should be moved back to container or destroyed.

Proc Details

check_reactions +

+

Checks to see if the target reagent is being created (reacting) and if so prevents transfer +Only prevents reactant from being moved so that people can still manlipulate input reagents

create_containers +

+

Create N selected containers with reagents from buffer split between them

get_suggested_container +

+

Retrieve REF to the best container for provided reagent

replace_beaker +

+

Insert new beaker and/or eject the inserted one

transfer_reagent +

+

Transfer reagents to specified target from the opposite source

+ + + diff --git a/obj/machinery/chem_recipe_debug.html b/obj/machinery/chem_recipe_debug.html new file mode 100644 index 00000000000..c1fbe127567 --- /dev/null +++ b/obj/machinery/chem_recipe_debug.html @@ -0,0 +1,197 @@ + + + + + + + /obj/machinery/chem_recipe_debug - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem_recipe_debug + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

beaker_spawnIf we spawn a beaker at the end of a reaction or not
cached_reactionsList of every reaction in the game kept locally for easy access
edit_recipeThe recipe we're editing
failedIf we failed to react this current chem so use a lower temp - all reactions only
force_tempForced values
impure_stringFinal output that highlights all of the reactions with inoptimal purity/voolume at base
indexWhat index in the cached_reactions we're in
majorImpurityThe count of reactions that resolve below 0.9 purity
min_tempIf we force min temp on reaction setup
minorImpurityThe count of reactions that resolve between 1 - 0.9 purity
problem_stringFinal output that highlights all of the reactions with inoptimal purity/voolume at base
process_allIF we're doing EVERY reaction
processingIf the machine is currently processing through the list
reactIf we're reacting
react_timeNumber of delta times taken to react
reaction_namesThe name
reaction_statedIf it's started
should_force_tempIf we're forcing optimal conditions
vol_multiplierMultiplier of product

Procs

AltClickEnable the machine
InitializeCreate reagents datum
attackbyEnable the machine
setup_reactionsResets the index, and creates the cached_reaction list from all possible reactions
ui_statusMoves a type of buffer from the heater to the beaker,
+

Var Details

beaker_spawn + + + + +

+

If we spawn a beaker at the end of a reaction or not

cached_reactions + + + + +

+

List of every reaction in the game kept locally for easy access

edit_recipe + + + + +

+

The recipe we're editing

failed + + + + +

+

If we failed to react this current chem so use a lower temp - all reactions only

force_temp + + + + +

+

Forced values

impure_string + + + + +

+

Final output that highlights all of the reactions with inoptimal purity/voolume at base

index + + + + +

+

What index in the cached_reactions we're in

majorImpurity + + + + +

+

The count of reactions that resolve below 0.9 purity

min_temp + + + + +

+

If we force min temp on reaction setup

minorImpurity + + + + +

+

The count of reactions that resolve between 1 - 0.9 purity

problem_string + + + + +

+

Final output that highlights all of the reactions with inoptimal purity/voolume at base

process_all + + + + +

+

IF we're doing EVERY reaction

processing + + + + +

+

If the machine is currently processing through the list

react + + + + +

+

If we're reacting

react_time + + + + +

+

Number of delta times taken to react

reaction_names + + + + +

+

The name

reaction_stated + + + + +

+

If it's started

should_force_temp + + + + +

+

If we're forcing optimal conditions

vol_multiplier + + + + +

+

Multiplier of product

Proc Details

AltClick +

+

Enable the machine

Initialize +

+

Create reagents datum

attackby +

+

Enable the machine

setup_reactions +

+

Resets the index, and creates the cached_reaction list from all possible reactions

ui_status +

+

Moves a type of buffer from the heater to the beaker,

+ + + diff --git a/obj/machinery/coffeemaker.html b/obj/machinery/coffeemaker.html new file mode 100644 index 00000000000..9cb2bb04b4f --- /dev/null +++ b/obj/machinery/coffeemaker.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/coffeemaker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

coffeemaker + + + +

+ + + + + + + + +

Vars

cartridgeThe coffee cartridge to make coffee from. In the future, coffee grounds are like printer ink.
coffee_cupsThe number of cups left
creamer_packsThe amount of creamer packets left
initial_cartridgeThe type path to instantiate for the coffee cartridge the device initially comes with, eg. /obj/item/coffee_cartridge
sugar_packsThe amount of sugar packets left
sweetener_packsThe amount of sweetener packets left

Procs

toggle_steamUpdates the smoke state to something else, setting particles if relevant
+

Var Details

cartridge + + + + +

+

The coffee cartridge to make coffee from. In the future, coffee grounds are like printer ink.

coffee_cups + + + + +

+

The number of cups left

creamer_packs + + + + +

+

The amount of creamer packets left

initial_cartridge + + + + +

+

The type path to instantiate for the coffee cartridge the device initially comes with, eg. /obj/item/coffee_cartridge

sugar_packs + + + + +

+

The amount of sugar packets left

sweetener_packs + + + + +

+

The amount of sweetener packets left

Proc Details

toggle_steam +

+

Updates the smoke state to something else, setting particles if relevant

+ + + diff --git a/obj/machinery/coffeemaker/impressa.html b/obj/machinery/coffeemaker/impressa.html new file mode 100644 index 00000000000..16bbccc47de --- /dev/null +++ b/obj/machinery/coffeemaker/impressa.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/coffeemaker/impressa - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

impressa + + + +

+ + + +

Vars

coffeeList of coffee bean objects are stored
coffee_amountCurrent amount of coffee beans stored
+

Var Details

coffee + + + + +

+

List of coffee bean objects are stored

coffee_amount + + + + +

+

Current amount of coffee beans stored

+ + + diff --git a/obj/machinery/component_printer.html b/obj/machinery/component_printer.html new file mode 100644 index 00000000000..57edeaa9b86 --- /dev/null +++ b/obj/machinery/component_printer.html @@ -0,0 +1,68 @@ + + + + + + + /obj/machinery/component_printer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

component_printer + + + +

+ +

Component printer, creates components for integrated circuits.

+ + + + +

Vars

current_unlocked_designsThe current unlocked circuit component designs. Used by integrated circuits to print off circuit components remotely.
efficiency_coeffThe efficiency of this machine
materialsThe internal material bus
techwebThe techweb the printer will get researched designs from

Procs

print_componentwe do -1 because normal manipulators rating of 1 gives us 1-1=0 i.e no decrement in cost +linear interpolation between full cost i.e 1 & 1/8th the cost i.e 0.125 +we do it in 6 steps because maximum rating of 2 manipulators is 8 but -1 gives us 6
+

Var Details

current_unlocked_designs + + + + +

+

The current unlocked circuit component designs. Used by integrated circuits to print off circuit components remotely.

efficiency_coeff + + + + +

+

The efficiency of this machine

materials + + + + +

+

The internal material bus

techweb + + + + +

+

The techweb the printer will get researched designs from

Proc Details

print_component +

+

we do -1 because normal manipulators rating of 1 gives us 1-1=0 i.e no decrement in cost +linear interpolation between full cost i.e 1 & 1/8th the cost i.e 0.125 +we do it in 6 steps because maximum rating of 2 manipulators is 8 but -1 gives us 6

+ + + diff --git a/obj/machinery/computer.html b/obj/machinery/computer.html new file mode 100644 index 00000000000..bf4a1efd41d --- /dev/null +++ b/obj/machinery/computer.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/computer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

computer + + + +

+ + + + + + + +

Vars

authenticatedAre we authenticated to use this? Used by things like comms console, security and medical data, and apc controller.
brightness_onHow bright we are when turned on.
icon_keyboardIcon_state of the keyboard overlay.
icon_screenIcon_state of the emissive screen overlay.
keyboard_change_iconShould we render an unique icon for the keyboard when off?
time_to_unscrewTime it takes to deconstruct with a screwdriver.
+

Var Details

authenticated + + + + +

+

Are we authenticated to use this? Used by things like comms console, security and medical data, and apc controller.

brightness_on + + + + +

+

How bright we are when turned on.

icon_keyboard + + + + +

+

Icon_state of the keyboard overlay.

icon_screen + + + + +

+

Icon_state of the emissive screen overlay.

keyboard_change_icon + + + + +

+

Should we render an unique icon for the keyboard when off?

time_to_unscrew + + + + +

+

Time it takes to deconstruct with a screwdriver.

+ + + diff --git a/obj/machinery/computer/aifixer.html b/obj/machinery/computer/aifixer.html new file mode 100644 index 00000000000..0ed5e51baf1 --- /dev/null +++ b/obj/machinery/computer/aifixer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/aifixer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

aifixer + + + +

+ + + +

Vars

occupierVariable containing transferred AI
restoringVariable dictating if we are in the process of restoring the occupier AI
+

Var Details

occupier + + + + +

+

Variable containing transferred AI

restoring + + + + +

+

Variable dictating if we are in the process of restoring the occupier AI

+ + + diff --git a/obj/machinery/computer/arcade/amputation.html b/obj/machinery/computer/arcade/amputation.html new file mode 100644 index 00000000000..b6e47a5e766 --- /dev/null +++ b/obj/machinery/computer/arcade/amputation.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/computer/arcade/amputation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

amputation + + + +

+ + +

Procs

do_they_still_have_that_handMakes sure the user still has their starting hand.

Proc Details

do_they_still_have_that_hand +

+

Makes sure the user still has their starting hand.

+ + + diff --git a/obj/machinery/computer/arcade/battle.html b/obj/machinery/computer/arcade/battle.html new file mode 100644 index 00000000000..5b72a172a78 --- /dev/null +++ b/obj/machinery/computer/arcade/battle.html @@ -0,0 +1,169 @@ + + + + + + + /obj/machinery/computer/arcade/battle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

battle + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

blockedthe player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.
bomb_cooldownunique to the emag mode, acts as a time limit where the player dies when it reaches 0.
chosen_weaponweapon wielded by the enemy, the shotgun doesn't count.
enemy_hpEnemy health/attack points
enemy_passivethe list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc
finishing_moveif all the enemy's weakpoints have been triggered becomes TRUE
gameoverif the enemy or player died. restart the game when TRUE
last_three_moveused to remember the last three move of the player before this turn.
max_passivethe number of passives the enemy will start with
pissed_offlinked to passives, when it's equal or above the max_passive finishing move will become TRUE
player_hpPlayer health
player_mpplayer magic points
tempTemporary message, for attack messages, etc
timer_idused to clear the enemy_action proc timer when the game is restarted
weaponsweapon used by the enemy, pure fluff.for certain actions

Procs

arcade_actionhappens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.
enemy_actionthe enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness
enemy_setupcreates the enemy base stats for a new round along with the enemy passives
screen_setupsets up the main screen for the user
weakpoint_checkused to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet
+

Var Details

blocked + + + + +

+

the player cannot make any move while this is set to TRUE. should only TRUE during enemy turns.

bomb_cooldown + + + + +

+

unique to the emag mode, acts as a time limit where the player dies when it reaches 0.

chosen_weapon + + + + +

+

weapon wielded by the enemy, the shotgun doesn't count.

enemy_hp + + + + +

+

Enemy health/attack points

enemy_passive + + + + +

+

the list of passive skill the enemy currently has. the actual passives are added in the enemy_setup() proc

finishing_move + + + + +

+

if all the enemy's weakpoints have been triggered becomes TRUE

gameover + + + + +

+

if the enemy or player died. restart the game when TRUE

last_three_move + + + + +

+

used to remember the last three move of the player before this turn.

max_passive + + + + +

+

the number of passives the enemy will start with

pissed_off + + + + +

+

linked to passives, when it's equal or above the max_passive finishing move will become TRUE

player_hp + + + + +

+

Player health

player_mp + + + + +

+

player magic points

temp + + + + +

+

Temporary message, for attack messages, etc

timer_id + + + + +

+

used to clear the enemy_action proc timer when the game is restarted

weapons + + + + +

+

weapon used by the enemy, pure fluff.for certain actions

Proc Details

arcade_action +

+

happens after a player action and before the enemy turn. the enemy turn will be cancelled if there's a gameover.

enemy_action +

+

the enemy turn, the enemy's action entirely depend on their current passive and a teensy tiny bit of randomness

enemy_setup +

+

creates the enemy base stats for a new round along with the enemy passives

screen_setup +

+

sets up the main screen for the user

weakpoint_check +

+

used to check if the last three move of the player are the one we want in the right order and if the passive's weakpoint has been triggered yet

+ + + diff --git a/obj/machinery/computer/arcade/orion_trail.html b/obj/machinery/computer/arcade/orion_trail.html new file mode 100644 index 00000000000..fb85d1b95b9 --- /dev/null +++ b/obj/machinery/computer/arcade/orion_trail.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/computer/arcade/orion_trail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

orion_trail + + + +

+ + + + +

Procs

encounter_eventpickweights a new event, sets event var as it. it then preps the event if it needs it
execute_crewmemberCrewmember executed code, targeted when there are no lings and untargeted when there are some +If there was no suspected lings (aka random shots) this is just murder and counts towards killed crew
new_settler_moodCreates a new mood icon for each settler

Proc Details

encounter_event +

+

pickweights a new event, sets event var as it. it then preps the event if it needs it

+

giving a path argument will instead find that instanced datum instead of pickweighting. Used in events that follow from events. +Arguments:

+
    +
  • path: if we want a specific event, this is the path of the wanted one
  • +
  • gamer: person using the arcade, used in emag effects
  • +
  • gamer_skill: gaming skill of the player
  • +
  • gamer_skill_level: gaming skill level of the player
  • +
  • gamer_skill_rands: See above but for random chances, you can just look at gaming skill to see how it chalks that up
  • +

execute_crewmember +

+

Crewmember executed code, targeted when there are no lings and untargeted when there are some +If there was no suspected lings (aka random shots) this is just murder and counts towards killed crew

+

Arguments:

+
    +
  • gamer: carbon that may need emag effects applied
  • +

new_settler_mood +

+

Creates a new mood icon for each settler

+

Things that effect mood:

+
    +
  • Pioneer count
  • +
  • Low food
  • +
  • Low parts
  • +
  • Sometimes they're just a bit happier or sadder +Arguments:
  • +
  • None!
  • +
+ + + diff --git a/obj/machinery/computer/arena.html b/obj/machinery/computer/arena.html new file mode 100644 index 00000000000..38412df9fde --- /dev/null +++ b/obj/machinery/computer/arena.html @@ -0,0 +1,115 @@ + + + + + + + /obj/machinery/computer/arena - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

arena + + + +

+ +

Controller for admin event arenas

+ + + + + + + + + + + +

Vars

arena_idArena ID
arena_templatesAssoc list of map templates indexed by user friendly names
current_arena_templateName of currently loaded template
default_arenas_loadedWere the config directory arenas loaded
default_outfitDefault team outfit if outfits[team] is empty
loadingIs the arena template loading in
outfitsList of outfit datums/types indexed by team id, can be empty
ready_to_spawnEnables/disables spawning
team_colorsList of hud colors indexed by team id
team_hudsList of hud instances indedxed by team id
team_keysList of ckeys indexed by team id

Procs

LoadDefaultArenasLoads the arenas from config directory. +THESE ARE FULLY CACHED FOR QUICK SWITCHING SO KEEP TRACK OF THE AMOUNT
+

Var Details

arena_id + + + + +

+

Arena ID

arena_templates + + + + +

+

Assoc list of map templates indexed by user friendly names

current_arena_template + + + + +

+

Name of currently loaded template

default_arenas_loaded + + + + +

+

Were the config directory arenas loaded

default_outfit + + + + +

+

Default team outfit if outfits[team] is empty

loading + + + + +

+

Is the arena template loading in

outfits + + + + +

+

List of outfit datums/types indexed by team id, can be empty

ready_to_spawn + + + + +

+

Enables/disables spawning

team_colors + + + + +

+

List of hud colors indexed by team id

team_huds + + + + +

+

List of hud instances indedxed by team id

team_keys + + + + +

+

List of ckeys indexed by team id

Proc Details

LoadDefaultArenas +

+

Loads the arenas from config directory. +THESE ARE FULLY CACHED FOR QUICK SWITCHING SO KEEP TRACK OF THE AMOUNT

+ + + diff --git a/obj/machinery/computer/atmos_control.html b/obj/machinery/computer/atmos_control.html new file mode 100644 index 00000000000..4b158136640 --- /dev/null +++ b/obj/machinery/computer/atmos_control.html @@ -0,0 +1,80 @@ + + + + + + + /obj/machinery/computer/atmos_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

atmos_control + + + +

+ +

GENERAL AIR CONTROL (a.k.a atmos computer)

+ + + + + + +

Vars

always_displayed_chambersUsed when control = FALSE to store the original atmos chambers so they dont get lost when reconnecting
atmos_chambersWhich sensors do we want to listen to. +Assoc of list[chamber_id] = readable_chamber_name
connected_sensorslist of all sensors[key is chamber id, value is id of air sensor linked to this chamber] monitered by this computer
controlWhether we can actually adjust the chambers or not.
reconnectingWhether we are allowed to reconnect.
was_multi_tooledWas this computer multitooled before. If so copy the list connected_sensors as it now mantain's it's own sensors independent of the map loaded one's

Procs

reconnectReconnect only works for station based chambers.
+

Var Details

always_displayed_chambers + + + + +

+

Used when control = FALSE to store the original atmos chambers so they dont get lost when reconnecting

atmos_chambers + + + + +

+

Which sensors do we want to listen to. +Assoc of list[chamber_id] = readable_chamber_name

connected_sensors + + + + +

+

list of all sensors[key is chamber id, value is id of air sensor linked to this chamber] monitered by this computer

control + + + + +

+

Whether we can actually adjust the chambers or not.

reconnecting + + + + +

+

Whether we are allowed to reconnect.

was_multi_tooled + + + + +

+

Was this computer multitooled before. If so copy the list connected_sensors as it now mantain's it's own sensors independent of the map loaded one's

Proc Details

reconnect +

+

Reconnect only works for station based chambers.

+ + + diff --git a/obj/machinery/computer/auxiliary_base.html b/obj/machinery/computer/auxiliary_base.html new file mode 100644 index 00000000000..acaba4d75d7 --- /dev/null +++ b/obj/machinery/computer/auxiliary_base.html @@ -0,0 +1,82 @@ + + + + + + + /obj/machinery/computer/auxiliary_base - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

auxiliary_base + + + +

+ + + + + + + + +

Vars

blind_drop_readyIf blind drop option is available
destinationID of the currently selected destination of the attached base
launch_warningIf we give warnings before base is launched
possible_destinationsList of all possible destinations
shuttleIdShuttle ID of the base
turretsList of connected turrets

Procs

launch_checkChecks if we are allowed to launch the base
+

Var Details

blind_drop_ready + + + + +

+

If blind drop option is available

destination + + + + +

+

ID of the currently selected destination of the attached base

launch_warning + + + + +

+

If we give warnings before base is launched

possible_destinations + + + + +

+

List of all possible destinations

shuttleId + + + + +

+

Shuttle ID of the base

turrets + + + + +

+

List of connected turrets

Proc Details

launch_check +

+

Checks if we are allowed to launch the base

+

Arguments:

+
    +
  • user - The mob trying to initiate the launch
  • +
+ + + diff --git a/obj/machinery/computer/bank_machine.html b/obj/machinery/computer/bank_machine.html new file mode 100644 index 00000000000..0ea8086afd5 --- /dev/null +++ b/obj/machinery/computer/bank_machine.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/computer/bank_machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bank_machine + + + +

+ + + + + + + + + + +

Vars

account_departmentWhat department to check to link our bank account to.
minimum_time_between_warningsThe amount of time we have between warnings
next_warningAmount of time before the next warning over the radio is announced.
radioThe machine's internal radio, used to broadcast alerts.
radio_channelThe channel we announce a siphon over.
siphoningWhether the machine is currently being siphoned
synced_bank_accountBank account we're connected to.
syphoning_creditsWhile siphoning, how much money do we have? Will drop this once siphon is complete.
unauthorizedWhether siphoning is authorized or not (has access)
+

Var Details

account_department + + + + +

+

What department to check to link our bank account to.

minimum_time_between_warnings + + + + +

+

The amount of time we have between warnings

next_warning + + + + +

+

Amount of time before the next warning over the radio is announced.

radio + + + + +

+

The machine's internal radio, used to broadcast alerts.

radio_channel + + + + +

+

The channel we announce a siphon over.

siphoning + + + + +

+

Whether the machine is currently being siphoned

synced_bank_account + + + + +

+

Bank account we're connected to.

syphoning_credits + + + + +

+

While siphoning, how much money do we have? Will drop this once siphon is complete.

unauthorized + + + + +

+

Whether siphoning is authorized or not (has access)

+ + + diff --git a/obj/machinery/computer/camera_advanced.html b/obj/machinery/computer/camera_advanced.html new file mode 100644 index 00000000000..31097aa9490 --- /dev/null +++ b/obj/machinery/computer/camera_advanced.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/computer/camera_advanced - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

camera_advanced + + + +

+ + + + + + + +

Vars

actionsList of all actions to give to a user when they're well, granted actions
jump_actionTypepath for jumping
move_down_actionTypepath of the move down action
move_up_actionTypepath of the move up action
off_actionTypepath of the action button we use as "off" +It's a typepath so subtypes can give it fun new names
should_supress_view_changesShould we supress any view changes?
+

Var Details

actions + + + + +

+

List of all actions to give to a user when they're well, granted actions

jump_action + + + + +

+

Typepath for jumping

move_down_action + + + + +

+

Typepath of the move down action

move_up_action + + + + +

+

Typepath of the move up action

off_action + + + + +

+

Typepath of the action button we use as "off" +It's a typepath so subtypes can give it fun new names

should_supress_view_changes + + + + +

+

Should we supress any view changes?

+ + + diff --git a/obj/machinery/computer/camera_advanced/abductor.html b/obj/machinery/computer/camera_advanced/abductor.html new file mode 100644 index 00000000000..76f6c94c451 --- /dev/null +++ b/obj/machinery/computer/camera_advanced/abductor.html @@ -0,0 +1,38 @@ + + + + + + + /obj/machinery/computer/camera_advanced/abductor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

abduct_createdWe can't create our actions until after LateInitialize +So we instead do it on the first call to GrantActions
+

Var Details

abduct_created + + + + +

+

We can't create our actions until after LateInitialize +So we instead do it on the first call to GrantActions

+ + + diff --git a/obj/machinery/computer/camera_advanced/base_construction.html b/obj/machinery/computer/camera_advanced/base_construction.html new file mode 100644 index 00000000000..7113ebb44bb --- /dev/null +++ b/obj/machinery/computer/camera_advanced/base_construction.html @@ -0,0 +1,87 @@ + + + + + + + /obj/machinery/computer/camera_advanced/base_construction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

base_construction + + + +

+ +

Camera console used to control a base building drone

+

Using this console will put the user in control of a base building drone. +The drone will appear somewhere within the allowed_area var, or if no area is specified, at the location of the console.area +Upon interacting, the user will be granted a set of base building actions that will generally be carried out at the drone's location. +To create a new base builder system, this class should be the only thing that needs to be subtyped.

+ + + + + + +

Vars

allowed_areaArea that the eyeobj will be constrained to. If null, eyeobj will be able to build and move anywhere.
internal_rcdInternal RCD. Some construction actions rely on having this.
structuresAssoc. list ("structure_name" : count) that keeps track of the number of special structures that can't be built with an RCD, for example, tiny fans or turrets.

Procs

GrantActionsGo through every action object in the construction_action list (which should be fully initialized by now) and grant it to the user.
find_spawn_spotFind a spawn location for the eyeobj. If no allowed_area is defined, spawn ontop of the console.
populate_actions_listFill the construction_actios list with actions
restock_materialsReload materials used by the console
+

Var Details

allowed_area + + + + +

+

Area that the eyeobj will be constrained to. If null, eyeobj will be able to build and move anywhere.

internal_rcd + + + + +

+

Internal RCD. Some construction actions rely on having this.

structures + + + + +

+

Assoc. list ("structure_name" : count) that keeps track of the number of special structures that can't be built with an RCD, for example, tiny fans or turrets.

Proc Details

GrantActions +

+

Go through every action object in the construction_action list (which should be fully initialized by now) and grant it to the user.

find_spawn_spot +

+

Find a spawn location for the eyeobj. If no allowed_area is defined, spawn ontop of the console.

populate_actions_list +

+

Fill the construction_actios list with actions

+

Instantiate each action object that we'll be giving to users of +this console, and put it in the actions list

restock_materials +

+

Reload materials used by the console

+

Restocks any materials used by the base construction console. +This might mean refilling the internal RCD (should it be initialized), or +giving the structures list default values.

+ + + diff --git a/obj/machinery/computer/camera_advanced/shuttle_docker.html b/obj/machinery/computer/camera_advanced/shuttle_docker.html new file mode 100644 index 00000000000..6a607460373 --- /dev/null +++ b/obj/machinery/computer/camera_advanced/shuttle_docker.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/computer/camera_advanced/shuttle_docker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_docker + + + +

+ + + + + + +

Vars

jump_to_portsHashset of ports to jump to and ignore for collision purposes
my_portThe custom docking port placed by this console
shuttle_portThe mobile docking port of the connected shuttle

Procs

canDesignateTargetMake one use port that deleted after fly off, to don't lose info that need on to properly fly off.
set_init_ports"Initializes" any default port ids we have, done so add_jumpable_port can be a proper setter
+

Var Details

jump_to_ports + + + + +

+

Hashset of ports to jump to and ignore for collision purposes

my_port + + + + +

+

The custom docking port placed by this console

shuttle_port + + + + +

+

The mobile docking port of the connected shuttle

Proc Details

canDesignateTarget +

+

Make one use port that deleted after fly off, to don't lose info that need on to properly fly off.

set_init_ports +

+

"Initializes" any default port ids we have, done so add_jumpable_port can be a proper setter

+ + + diff --git a/obj/machinery/computer/camera_advanced/xenobio.html b/obj/machinery/computer/camera_advanced/xenobio.html new file mode 100644 index 00000000000..8fa31610751 --- /dev/null +++ b/obj/machinery/computer/camera_advanced/xenobio.html @@ -0,0 +1,136 @@ + + + + + + + /obj/machinery/computer/camera_advanced/xenobio - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

xenobio + + + +

+ + + + + + + + + + + + + + + + +

Vars

connected_recyclerThe recycler connected to the camera console
current_potionThe single slime potion stored inside the console
max_slimesThe maximum amount of slimes that fit in the machine
monkeysThe amount of monkey cubes inside the machine
stored_slimesThe slimes stored inside the console

Procs

XenoMonkeyClickCtrlPicks up a dead monkey for recycling
XenoSlimeClickAltFeeds a stored potion to a slime
XenoSlimeClickCtrlScans the target slime
XenoSlimeClickShiftPicks up a slime, and places them in the internal storage
XenoTurfClickCtrlPlaces a monkey from the internal storage
XenoTurfClickShiftPlaces all slimes from the internal storage
feed_slimePlaces one monkey, if possible
monkey_recycleRecycles the target monkey
slime_pickupPlaces every slime not controlled by a player into the internal storage, respecting its limits +Returns TRUE to signal it hitting the limit, in case its being called from a loop and we want it to stop
slime_placePlaces every slime in storage on target turf
+

Var Details

connected_recycler + + + + +

+

The recycler connected to the camera console

current_potion + + + + +

+

The single slime potion stored inside the console

max_slimes + + + + +

+

The maximum amount of slimes that fit in the machine

monkeys + + + + +

+

The amount of monkey cubes inside the machine

stored_slimes + + + + +

+

The slimes stored inside the console

Proc Details

XenoMonkeyClickCtrl +

+

Picks up a dead monkey for recycling

XenoSlimeClickAlt +

+

Feeds a stored potion to a slime

XenoSlimeClickCtrl +

+

Scans the target slime

XenoSlimeClickShift +

+

Picks up a slime, and places them in the internal storage

XenoTurfClickCtrl +

+

Places a monkey from the internal storage

XenoTurfClickShift +

+

Places all slimes from the internal storage

feed_slime +

+

Places one monkey, if possible

monkey_recycle +

+

Recycles the target monkey

slime_pickup +

+

Places every slime not controlled by a player into the internal storage, respecting its limits +Returns TRUE to signal it hitting the limit, in case its being called from a loop and we want it to stop

slime_place +

+

Places every slime in storage on target turf

+ + + diff --git a/obj/machinery/computer/cargo.html b/obj/machinery/computer/cargo.html new file mode 100644 index 00000000000..e6fe28cead6 --- /dev/null +++ b/obj/machinery/computer/cargo.html @@ -0,0 +1,145 @@ + + + + + + + /obj/machinery/computer/cargo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cargo + + + +

+ + + + + + + + + + + + + + + + +

Vars

can_approve_requestsCan you approve requests placed for cargo? Works differently between the app and the computer.
can_sendCan the supply console send the shuttle back and forth? Used in the UI backend.
cargo_accountThe account this console processes and displays. Independent from the account the shuttle processes.
cargo_shuttleThe name of the shuttle template being used as the cargo shuttle. 'cargo' is default and contains critical code. Don't change this unless you know what you're doing.
docking_awayThe docking port called when leaving the station.
docking_homeThe docking port called when returning to the station.
interface_typeInterface name for the ui_interact call for different subtypes.
is_expressvar that makes express console use rockets
message_cooldownvar that tracks message cooldown
radioradio used by the console to send messages on supply channel
requestonlyCan this console only send requests?
stationcargoIf this console can loan the cargo shuttle. Set to false to disable.

Procs

add_itemadds an supply pack to the checkout cart
name_to_idmaps the ordename displayed on the ui to its supply pack id
remove_itemremoves an item from the checkout cart
+

Var Details

can_approve_requests + + + + +

+

Can you approve requests placed for cargo? Works differently between the app and the computer.

can_send + + + + +

+

Can the supply console send the shuttle back and forth? Used in the UI backend.

cargo_account + + + + +

+

The account this console processes and displays. Independent from the account the shuttle processes.

cargo_shuttle + + + + +

+

The name of the shuttle template being used as the cargo shuttle. 'cargo' is default and contains critical code. Don't change this unless you know what you're doing.

docking_away + + + + +

+

The docking port called when leaving the station.

docking_home + + + + +

+

The docking port called when returning to the station.

interface_type + + + + +

+

Interface name for the ui_interact call for different subtypes.

is_express + + + + +

+

var that makes express console use rockets

message_cooldown + + + + +

+

var that tracks message cooldown

radio + + + + +

+

radio used by the console to send messages on supply channel

requestonly + + + + +

+

Can this console only send requests?

stationcargo + + + + +

+

If this console can loan the cargo shuttle. Set to false to disable.

Proc Details

add_item +

+

adds an supply pack to the checkout cart

+
    +
  • user - the mobe doing this order
  • +
  • id - the type of pack to order
  • +
  • amount - the amount to order. You may not order more then 10 things at once
  • +

name_to_id +

+

maps the ordename displayed on the ui to its supply pack id

+
    +
  • order_name - the name of the order
  • +

remove_item +

+

removes an item from the checkout cart

+
    +
  • id - the id of the cart item to remove
  • +
+ + + diff --git a/obj/machinery/computer/communications.html b/obj/machinery/computer/communications.html new file mode 100644 index 00000000000..63be2bea816 --- /dev/null +++ b/obj/machinery/computer/communications.html @@ -0,0 +1,209 @@ + + + + + + + /obj/machinery/computer/communications - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

communications + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

alert_level_tickHow many times the alert level has been changed +Used to clear the modal to change alert level
authorize_accessThe access that the card had on login
authorize_nameThe name of the user who logged in
battlecruiser_calledIf the battlecruiser has been called
cyborg_stateThe current state of the UI for AIs
important_action_cooldownCooldown for important actions, such as messaging CentCom or other sectors
last_status_displayThe last lines used for changing the status display
last_toggledwhen was emergency access last toggled
messagesThe messages this console has been sent
send_cross_comms_message_timerThe timer ID for sending the next cross-comms message
stateThe current state of the UI
syndicateWhether syndicate mode is enabled or not.
toggle_max_useshow many uses can you toggle emergency access with before cooldowns start occuring BOTH ENABLE/DISABLE
toggle_useshow many uses the console has done of toggling the emergency access

Procs

authenticatedAre we a silicon, OR logged in?
authenticated_as_non_silicon_captainAre we NOT a silicon, AND we're logged in as the captain?
authenticated_as_silicon_or_captainAre we a silicon, OR we're logged in as the captain?
can_buy_shuttlesReturns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.
can_hackChecks if this console is hackable. Used as a callback during try_hack_console's doafter as well.
can_purchase_this_shuttleReturns whether we are authorized to buy this specific shuttle. +Does not handle prerequisite checks, as those should still show.
hack_consoleThe communications console hack, +called by certain antagonist actions.
has_communicationReturns whether or not the communications console can communicate with the station
override_cooldownOverride the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away
try_hack_consoleBegin the process of hacking into the comms console to call in a threat.
+

Var Details

alert_level_tick + + + + +

+

How many times the alert level has been changed +Used to clear the modal to change alert level

authorize_access + + + + +

+

The access that the card had on login

authorize_name + + + + +

+

The name of the user who logged in

battlecruiser_called + + + + +

+

If the battlecruiser has been called

cyborg_state + + + + +

+

The current state of the UI for AIs

important_action_cooldown + + + + +

+

Cooldown for important actions, such as messaging CentCom or other sectors

last_status_display + + + + +

+

The last lines used for changing the status display

last_toggled + + + + +

+

when was emergency access last toggled

messages + + + + +

+

The messages this console has been sent

send_cross_comms_message_timer + + + + +

+

The timer ID for sending the next cross-comms message

state + + + + +

+

The current state of the UI

syndicate + + + + +

+

Whether syndicate mode is enabled or not.

toggle_max_uses + + + + +

+

how many uses can you toggle emergency access with before cooldowns start occuring BOTH ENABLE/DISABLE

toggle_uses + + + + +

+

how many uses the console has done of toggling the emergency access

Proc Details

authenticated +

+

Are we a silicon, OR logged in?

authenticated_as_non_silicon_captain +

+

Are we NOT a silicon, AND we're logged in as the captain?

authenticated_as_silicon_or_captain +

+

Are we a silicon, OR we're logged in as the captain?

can_buy_shuttles +

+

Returns TRUE if the user can buy shuttles. +If they cannot, returns FALSE or a string detailing why.

can_hack +

+

Checks if this console is hackable. Used as a callback during try_hack_console's doafter as well.

can_purchase_this_shuttle +

+

Returns whether we are authorized to buy this specific shuttle. +Does not handle prerequisite checks, as those should still show.

hack_console +

+

The communications console hack, +called by certain antagonist actions.

+

Brings in additional threats to the round.

+

hacker - the mob that caused the hack

has_communication +

+

Returns whether or not the communications console can communicate with the station

override_cooldown +

+

Override the cooldown for special actions +Used in places such as CentCom messaging back so that the crew can answer right away

try_hack_console +

+

Begin the process of hacking into the comms console to call in a threat.

+ + + diff --git a/obj/machinery/computer/department_orders.html b/obj/machinery/computer/department_orders.html new file mode 100644 index 00000000000..1602b84fbb9 --- /dev/null +++ b/obj/machinery/computer/department_orders.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/computer/department_orders - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

department_orders + + + +

+ + + + + + + + + + +

Vars

dep_groupswhich groups this computer can order from
department_delivery_areaswhere this computer expects deliveries to need to go, passed onto orders. it will see if the FIRST one exists, then try a fallback. if no fallbacks it throws an error
department_orderreference to the order we've made UNTIL it gets sent on the supply shuttle. this is so heads can cancel it
on_cooldownIf this departmental order console currently is on cooldown.
override_accessaccess required to override an order - this should be a head of staff for the department
radioOur radio object we use to talk to our department.
radio_channelThe radio channel we will speak into by default.
radio_key_typepathThe radio key typepath that will be instantiated and inserted into our radio.

Procs

finalize_department_ordersignal when the supply shuttle begins to spawn orders. we forget the current order preventing it from being overridden (since it's already past the point of no return on undoing the order)
+

Var Details

dep_groups + + + + +

+

which groups this computer can order from

department_delivery_areas + + + + +

+

where this computer expects deliveries to need to go, passed onto orders. it will see if the FIRST one exists, then try a fallback. if no fallbacks it throws an error

department_order + + + + +

+

reference to the order we've made UNTIL it gets sent on the supply shuttle. this is so heads can cancel it

on_cooldown + + + + +

+

If this departmental order console currently is on cooldown.

override_access + + + + +

+

access required to override an order - this should be a head of staff for the department

radio + + + + +

+

Our radio object we use to talk to our department.

radio_channel + + + + +

+

The radio channel we will speak into by default.

radio_key_typepath + + + + +

+

The radio key typepath that will be instantiated and inserted into our radio.

Proc Details

finalize_department_order +

+

signal when the supply shuttle begins to spawn orders. we forget the current order preventing it from being overridden (since it's already past the point of no return on undoing the order)

+ + + diff --git a/obj/machinery/computer/exodrone_control_console.html b/obj/machinery/computer/exodrone_control_console.html new file mode 100644 index 00000000000..f296b48887f --- /dev/null +++ b/obj/machinery/computer/exodrone_control_console.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/computer/exodrone_control_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

exodrone_control_console + + + +

+ + + + +

Vars

signal_lostHave we lost contact with the drone without disconnecting. Unset on user confirmation.

Procs

on_exodrone_status_changedEnd control if we had previous drone
ui_actShow alert screen if the drone is in a mode that requires decisionmaking
+

Var Details

signal_lost + + + + +

+

Have we lost contact with the drone without disconnecting. Unset on user confirmation.

Proc Details

on_exodrone_status_changed +

+

End control if we had previous drone

ui_act +

+

Show alert screen if the drone is in a mode that requires decisionmaking

+ + + diff --git a/obj/machinery/computer/exoscanner_control.html b/obj/machinery/computer/exoscanner_control.html new file mode 100644 index 00000000000..4f64a86f087 --- /dev/null +++ b/obj/machinery/computer/exoscanner_control.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/exoscanner_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

exoscanner_control + + + +

+ + + +

Vars

failed_popupIf scan was interrupted show a popup until dismissed.
selected_siteSite we're configuring targeted scans for.
+

Var Details

failed_popup + + + + +

+

If scan was interrupted show a popup until dismissed.

selected_site + + + + +

+

Site we're configuring targeted scans for.

+ + + diff --git a/obj/machinery/computer/holodeck.html b/obj/machinery/computer/holodeck.html new file mode 100644 index 00000000000..a89162eb626 --- /dev/null +++ b/obj/machinery/computer/holodeck.html @@ -0,0 +1,192 @@ + + + + + + + /obj/machinery/computer/holodeck - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

holodeck + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeTRUE if the holodeck is using extra power because of a program, FALSE otherwise
bottom_leftbottom left corner of the loading room, used for placing
damagedincreases the holodeck cooldown if TRUE, causing the holodeck to take longer to allow loading new programs
emag_programsstores all of the restricted holodeck map templates that this computer has access to
linkedthe area that this holodeck loads templates into, used for power and deleting holo objects that leave it
mapped_start_areawhat area type this holodeck loads into. linked turns into the nearest instance of this area
offline_programthe default program loaded by this holodeck when spawned and when deactivated
programwhat program is loaded right now or is about to be loaded
program_cachestores all of the unrestricted holodeck map templates that this computer has access to
program_typesubtypes of this (but not this itself) are loadable programs
spawnedevery holo object created by the holodeck goes in here to track it
spawning_simulationif TRUE the holodeck is busy spawning another simulation and should immediately stop loading the newest one
special_locsspecial locs that can mess with derez'ing holo spawned objects
templatethe currently used map template

Procs

add_to_spawnedA separate proc for objects that weren't loaded by the template nor spawned by holo effects +yet need to be added to the list of spawned objects. (e.g. holographic fishes)
derezthis qdels holoitems that should no longer exist for whatever reason
emergency_shutdownshuts down the holodeck and force loads the offline_program
finish_spawnfinalizes objects in the spawned list
floorcheckreturns TRUE if all floors of the holodeck are present, returns FALSE if any are broken or removed
generate_program_listadds all programs that this holodeck has access to, and separates the restricted and unrestricted ones
load_programloads the template whose id string it was given ("offline_program" loads datum/map_template/holodeck/offline)
nerfchanges all weapons in the holodeck to do stamina damage if set
reset_to_defaultTo be used on destroy, mainly to prevent sleeping inside well, destroy. Missing a lot of the things contained in load_program
+

Var Details

active + + + + +

+

TRUE if the holodeck is using extra power because of a program, FALSE otherwise

bottom_left + + + + +

+

bottom left corner of the loading room, used for placing

damaged + + + + +

+

increases the holodeck cooldown if TRUE, causing the holodeck to take longer to allow loading new programs

emag_programs + + + + +

+

stores all of the restricted holodeck map templates that this computer has access to

linked + + + + +

+

the area that this holodeck loads templates into, used for power and deleting holo objects that leave it

mapped_start_area + + + + +

+

what area type this holodeck loads into. linked turns into the nearest instance of this area

offline_program + + + + +

+

the default program loaded by this holodeck when spawned and when deactivated

program + + + + +

+

what program is loaded right now or is about to be loaded

program_cache + + + + +

+

stores all of the unrestricted holodeck map templates that this computer has access to

program_type + + + + +

+

subtypes of this (but not this itself) are loadable programs

spawned + + + + +

+

every holo object created by the holodeck goes in here to track it

spawning_simulation + + + + +

+

if TRUE the holodeck is busy spawning another simulation and should immediately stop loading the newest one

special_locs + + + + +

+

special locs that can mess with derez'ing holo spawned objects

template + + + + +

+

the currently used map template

Proc Details

add_to_spawned +

+

A separate proc for objects that weren't loaded by the template nor spawned by holo effects +yet need to be added to the list of spawned objects. (e.g. holographic fishes)

derez +

+

this qdels holoitems that should no longer exist for whatever reason

emergency_shutdown +

+

shuts down the holodeck and force loads the offline_program

finish_spawn +

+

finalizes objects in the spawned list

floorcheck +

+

returns TRUE if all floors of the holodeck are present, returns FALSE if any are broken or removed

generate_program_list +

+

adds all programs that this holodeck has access to, and separates the restricted and unrestricted ones

load_program +

+

loads the template whose id string it was given ("offline_program" loads datum/map_template/holodeck/offline)

nerf +

+

changes all weapons in the holodeck to do stamina damage if set

reset_to_default +

+

To be used on destroy, mainly to prevent sleeping inside well, destroy. Missing a lot of the things contained in load_program

+ + + diff --git a/obj/machinery/computer/libraryconsole.html b/obj/machinery/computer/libraryconsole.html new file mode 100644 index 00000000000..980c6645f6f --- /dev/null +++ b/obj/machinery/computer/libraryconsole.html @@ -0,0 +1,141 @@ + + + + + + + /obj/machinery/computer/libraryconsole - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

libraryconsole + + + +

+ + + + + + + + + + + + + + + + + +

Vars

authorThe author we're searching for
book_idThe current book id we're searching for
can_connectCan we connect to the db?
categoryThe category we're searching for
db_request_cooldownPrevents spamming requests, acts as a second layer of protection against spam
interface_typeInterface name for the ui_interact call for different subtypes.
last_search_hashA hash of the last search we did, prevents spam in a different way then the cooldown
page_contentThe results of our last query
page_countThe the total pages last we checked
params_changedHave the search params changed at all since the last search?
search_pageThe page of our current query
sending_requestAre we currently sending a db request for books?
titleThe current title we're searching for

Procs

convert_ambiguous_inputTakes input that could either be a number, or a string that represents a number and returns a number
prevent_db_spamChecks if the machine is alloweed to make another db request yet. TRUE if so, FALSE otherwise
sanitize_page_inputReturns a santized page input, so converted from num/text to num, and properly maxed
+

Var Details

author + + + + +

+

The author we're searching for

book_id + + + + +

+

The current book id we're searching for

can_connect + + + + +

+

Can we connect to the db?

category + + + + +

+

The category we're searching for

db_request_cooldown + + + + +

+

Prevents spamming requests, acts as a second layer of protection against spam

interface_type + + + + +

+

Interface name for the ui_interact call for different subtypes.

last_search_hash + + + + +

+

A hash of the last search we did, prevents spam in a different way then the cooldown

page_content + + + + +

+

The results of our last query

page_count + + + + +

+

The the total pages last we checked

params_changed + + + + +

+

Have the search params changed at all since the last search?

search_page + + + + +

+

The page of our current query

sending_request + + + + +

+

Are we currently sending a db request for books?

title + + + + +

+

The current title we're searching for

Proc Details

convert_ambiguous_input +

+

Takes input that could either be a number, or a string that represents a number and returns a number

prevent_db_spam +

+

Checks if the machine is alloweed to make another db request yet. TRUE if so, FALSE otherwise

sanitize_page_input +

+

Returns a santized page input, so converted from num/text to num, and properly maxed

+ + + diff --git a/obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker.html b/obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker.html new file mode 100644 index 00000000000..4aa5da97a2b --- /dev/null +++ b/obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/computer/libraryconsole/admin_only_do_not_map_in_you_fucker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

admin_only_do_not_map_in_you_fucker + + + +

+ + + + + +

Vars

book_historyList mapping requested book ids to a list of their edit logs
ckeyThe current ckey we're looking for
show_deletedIf we should show deleted entries or not
view_rawWhen a user clicks view, do we display the raw text, or process it with markdown
+

Var Details

book_history + + + + +

+

List mapping requested book ids to a list of their edit logs

ckey + + + + +

+

The current ckey we're looking for

show_deleted + + + + +

+

If we should show deleted entries or not

view_raw + + + + +

+

When a user clicks view, do we display the raw text, or process it with markdown

+ + + diff --git a/obj/machinery/computer/libraryconsole/bookmanagement.html b/obj/machinery/computer/libraryconsole/bookmanagement.html new file mode 100644 index 00000000000..ceed75c275f --- /dev/null +++ b/obj/machinery/computer/libraryconsole/bookmanagement.html @@ -0,0 +1,129 @@ + + + + + + + /obj/machinery/computer/libraryconsole/bookmanagement - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bookmanagement + + + +

+ + + + + + + + + + + + + + + +

Vars

can_spawn_loreCan spawn secret lore item
checkout_pageThe current page we're on in the checkout listing
checkout_page_countThe current max amount of checkout pages allowed
checkoutsList of checked out books, /datum/borrowbook
dynamic_inv_loadShould we load our inventory from the bookselves in our area?
inventoryList of book info datums to display to the user as our "inventory"
inventory_pageThe current page we're on in the inventory
inventory_page_countThe current max amount of inventory pages allowed
newscaster_cooldownOur cooldown on publishing books to the newscaster's "book club" channel
printer_cooldownOur cooldown on using the printer
scannerBook scanner that will be used when uploading books to the Archive
screen_stateThe screen we're currently on, sent to the ui
show_dropdownShould we show the buttons required for changing screens?

Procs

attempt_printCall this proc to attempt a print. It will return false if the print failed, true otherwise, longside some ux +Accepts a callback to call when the print "finishes"
+

Var Details

can_spawn_lore + + + + +

+

Can spawn secret lore item

checkout_page + + + + +

+

The current page we're on in the checkout listing

checkout_page_count + + + + +

+

The current max amount of checkout pages allowed

checkouts + + + + +

+

List of checked out books, /datum/borrowbook

dynamic_inv_load + + + + +

+

Should we load our inventory from the bookselves in our area?

inventory + + + + +

+

List of book info datums to display to the user as our "inventory"

inventory_page + + + + +

+

The current page we're on in the inventory

inventory_page_count + + + + +

+

The current max amount of inventory pages allowed

newscaster_cooldown + + + + +

+

Our cooldown on publishing books to the newscaster's "book club" channel

printer_cooldown + + + + +

+

Our cooldown on using the printer

scanner + + + + +

+

Book scanner that will be used when uploading books to the Archive

screen_state + + + + +

+

The screen we're currently on, sent to the ui

show_dropdown + + + + +

+

Should we show the buttons required for changing screens?

Proc Details

attempt_print +

+

Call this proc to attempt a print. It will return false if the print failed, true otherwise, longside some ux +Accepts a callback to call when the print "finishes"

+ + + diff --git a/obj/machinery/computer/mech_bay_power_console.html b/obj/machinery/computer/mech_bay_power_console.html new file mode 100644 index 00000000000..f48c8e1969e --- /dev/null +++ b/obj/machinery/computer/mech_bay_power_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/mech_bay_power_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mech_bay_power_console + + + +

+ + + +

Vars

recharge_portRef to charge port fwe are viewing data for, cyclical reference

Procs

reconnectChecks for nearby recharge ports to link to
+

Var Details

recharge_port + + + + +

+

Ref to charge port fwe are viewing data for, cyclical reference

Proc Details

reconnect +

+

Checks for nearby recharge ports to link to

+ + + diff --git a/obj/machinery/computer/mechpad.html b/obj/machinery/computer/mechpad.html new file mode 100644 index 00000000000..02323b6a4e7 --- /dev/null +++ b/obj/machinery/computer/mechpad.html @@ -0,0 +1,98 @@ + + + + + + + /obj/machinery/computer/mechpad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mechpad + + + +

+ + + + + + + + + + +

Vars

connected_mechpadMechpads that it can send mechs through to other mechpads
idID of the mechpad, used for linking up
maximum_padsMaximum amount of pads connected at once
mechpadsList of mechpads connected
selected_idSelected mechpad in the console

Procs

find_padTries to locate a pad in the cardinal directions, if it finds one it returns it
get_padReturns the pad of the value specified
random_beepsA proc that makes random beeping sounds for a set amount of time, the sounds are separated by a random amount of time.
try_launchTries to call the launch proc on the connected mechpad, returns if unavailable +Arguments:
+

Var Details

connected_mechpad + + + + +

+

Mechpads that it can send mechs through to other mechpads

id + + + + +

+

ID of the mechpad, used for linking up

maximum_pads + + + + +

+

Maximum amount of pads connected at once

mechpads + + + + +

+

List of mechpads connected

selected_id + + + + +

+

Selected mechpad in the console

Proc Details

find_pad +

+

Tries to locate a pad in the cardinal directions, if it finds one it returns it

get_pad +

+

Returns the pad of the value specified

random_beeps +

+

A proc that makes random beeping sounds for a set amount of time, the sounds are separated by a random amount of time.

try_launch +

+

Tries to call the launch proc on the connected mechpad, returns if unavailable +Arguments:

+
    +
  • user - The user of the proc
  • +
  • where - The mechpad that the connected mechpad will try to send a supply pod to
  • +
+ + + diff --git a/obj/machinery/computer/message_monitor.html b/obj/machinery/computer/message_monitor.html new file mode 100644 index 00000000000..82f2d52ce06 --- /dev/null +++ b/obj/machinery/computer/message_monitor.html @@ -0,0 +1,94 @@ + + + + + + + /obj/machinery/computer/message_monitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

message_monitor + + + +

+ + + + + + + + + + +

Vars

error_messageError message to display in the interface.
linkedServerServer linked to.
messageThe message that shows on the main menu.
notice_messageNotice message to display in the interface.
passwordDecrypt password
screenComputer properties. +0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message
spark_systemSparks effect - For emag
success_messageSuccess message to display in the interface.

Procs

unemag_consoleRemove the emag effect from the console
+

Var Details

error_message + + + + +

+

Error message to display in the interface.

linkedServer + + + + +

+

Server linked to.

message + + + + +

+

The message that shows on the main menu.

notice_message + + + + +

+

Notice message to display in the interface.

password + + + + +

+

Decrypt password

screen + + + + +

+

Computer properties. +0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message

spark_system + + + + +

+

Sparks effect - For emag

success_message + + + + +

+

Success message to display in the interface.

Proc Details

unemag_console +

+

Remove the emag effect from the console

+ + + diff --git a/obj/machinery/computer/order_console.html b/obj/machinery/computer/order_console.html new file mode 100644 index 00000000000..d0a21674ccc --- /dev/null +++ b/obj/machinery/computer/order_console.html @@ -0,0 +1,178 @@ + + + + + + + /obj/machinery/computer/order_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

order_console + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

blackbox_keyFor blackbox logging, what kind of order is this? set nothing to not tally, like golem orders
cargo_cost_multiplierMultiplied cost to use for cargo mode
cooldown_timeCooldown time between uses, express console will have extra time depending on express_cost_multiplier.
credit_typeThe kind of cash does the console use.
express_cost_multiplierMultiplied cost to use for express mode
express_tooltipTooltip for the express button in TGUI
forced_expressWhether the console can only use express mode ONLY
grocery_listThe current list of things we're trying to order, waiting for checkout.
order_categoriesThe categories of orderable items this console can view and purchase.
order_cooldownCooldown between order uses.
purchase_tooltipTooltip for the purchase button in TGUI
radioThe radio the console can speak into
radio_channelThe channel we will attempt to speak into through our radio.

Procs

order_groceriesstart of the shipment of your order +Args: +purchaser - The mob who is making this purchase +card - The card used to place this order +groceries - the list of orders to be placed
purchase_itemsChecks if an ID card is able to afford the total cost of the current console's grocieries +and deducts the cost if they can. +Args: +card - The ID card we check for balance +express - Boolean on whether we need to add the express cost mulitplier +returns TRUE if we can afford, FALSE otherwise.
retrieve_pointspoints is any type of currency this machine accepts(money, mining points etc) which is displayed on the ui +Args: +card - The ID card we retrieve these points from
subtract_pointswhatever type of points was retrieved in retrieve_points() subtract those type of points from the card upon confirming order +Args: +final_cost - amount of points to subtract from this card +card - The ID card to subtract these points from +returns TRUE if successfull
+

Var Details

blackbox_key + + + + +

+

For blackbox logging, what kind of order is this? set nothing to not tally, like golem orders

cargo_cost_multiplier + + + + +

+

Multiplied cost to use for cargo mode

cooldown_time + + + + +

+

Cooldown time between uses, express console will have extra time depending on express_cost_multiplier.

credit_type + + + + +

+

The kind of cash does the console use.

express_cost_multiplier + + + + +

+

Multiplied cost to use for express mode

express_tooltip + + + + +

+

Tooltip for the express button in TGUI

forced_express + + + + +

+

Whether the console can only use express mode ONLY

grocery_list + + + + +

+

The current list of things we're trying to order, waiting for checkout.

order_categories + + + + +

+

The categories of orderable items this console can view and purchase.

order_cooldown + + + + +

+

Cooldown between order uses.

purchase_tooltip + + + + +

+

Tooltip for the purchase button in TGUI

radio + + + + +

+

The radio the console can speak into

radio_channel + + + + +

+

The channel we will attempt to speak into through our radio.

Proc Details

order_groceries +

+

start of the shipment of your order +Args: +purchaser - The mob who is making this purchase +card - The card used to place this order +groceries - the list of orders to be placed

purchase_items +

+

Checks if an ID card is able to afford the total cost of the current console's grocieries +and deducts the cost if they can. +Args: +card - The ID card we check for balance +express - Boolean on whether we need to add the express cost mulitplier +returns TRUE if we can afford, FALSE otherwise.

retrieve_points +

+

points is any type of currency this machine accepts(money, mining points etc) which is displayed on the ui +Args: +card - The ID card we retrieve these points from

subtract_points +

+

whatever type of points was retrieved in retrieve_points() subtract those type of points from the card upon confirming order +Args: +final_cost - amount of points to subtract from this card +card - The ID card to subtract these points from +returns TRUE if successfull

+ + + diff --git a/obj/machinery/computer/order_console/mining.html b/obj/machinery/computer/order_console/mining.html new file mode 100644 index 00000000000..bfb4898a02b --- /dev/null +++ b/obj/machinery/computer/order_console/mining.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/computer/order_console/mining - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mining + + + +

+ + + +

Procs

check_menuChecks if we are allowed to interact with a radial menu
redeem_voucherAllows user to redeem a mining voucher for one set of a mining equipment

Proc Details

check_menu +

+

Checks if we are allowed to interact with a radial menu

+
    +
  • Arguments:
  • +
  • voucher The mining voucher that is being used to redeem a mining equipment
  • +
  • redeemer The living mob interacting with the menu
  • +

redeem_voucher +

+

Allows user to redeem a mining voucher for one set of a mining equipment

+
    +
  • Arguments:
  • +
  • voucher The mining voucher that is being used to redeem the mining equipment
  • +
  • redeemer The mob that is redeeming the mining equipment
  • +
+ + + diff --git a/obj/machinery/computer/pandemic.html b/obj/machinery/computer/pandemic.html new file mode 100644 index 00000000000..8be6e5b9707 --- /dev/null +++ b/obj/machinery/computer/pandemic.html @@ -0,0 +1,135 @@ + + + + + + + /obj/machinery/computer/pandemic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pandemic + + + +

+ + + + + + + + + + + + + +

Vars

beakerThe inserted beaker
selected_symptomThe currently selected symptom
waitWhether the pandemic is ready to make another culture/vaccine

Procs

create_culture_bottleCreates a culture bottle (ie: replicates) of the the specified disease.
create_vaccine_bottleCreates a vaccine bottle for the specified disease.
eject_beakerSupporting proc to eject a beaker from the machine.
get_by_indexDisplays a thing if it exists within the contents of a beaker.
get_resistance_dataGets resistances of a given blood sample as a list
get_virus_id_by_indexGets the ID of the virus by its index in the list of viruses.
get_viruses_dataA very hefty proc that I am not proud to see.
rename_diseaseRenames an advanced disease after running it through sanitize_name().
reset_replicator_cooldownAllows a user to create another vaccine/culture bottle again.
+

Var Details

beaker + + + + +

+

The inserted beaker

selected_symptom + + + + +

+

The currently selected symptom

wait + + + + +

+

Whether the pandemic is ready to make another culture/vaccine

Proc Details

create_culture_bottle +

+

Creates a culture bottle (ie: replicates) of the the specified disease.

+

@param {number} index - The index of the disease to replicate.

+

@returns {boolean} - Success or failure.

create_vaccine_bottle +

+

Creates a vaccine bottle for the specified disease.

+

@param {number} index - The index of the disease to replicate.

+

@returns {boolean} - Success or failure.

eject_beaker +

+

Supporting proc to eject a beaker from the machine.

+

Places it in hand if possible.

+

@returns {boolean} - Success or failure.

get_by_index +

+

Displays a thing if it exists within the contents of a beaker.

+

@param {any} thing - The key to look for.

+

@param {any} index - Nested objects within the thing.

+

@returns {any | boolean} The thing found or FALSE if unsuccessful.

get_resistance_data +

+

Gets resistances of a given blood sample as a list

+

@param {reagent/blood} blood - The sample.

+

@returns {list} - The resistances.

get_virus_id_by_index +

+

Gets the ID of the virus by its index in the list of viruses.

+

@param {number} index - The index of the virus in the list of viruses.

+

@returns {string | boolean} - The ID of the virus or FALSE if unable +to find the virus.

get_viruses_data +

+

A very hefty proc that I am not proud to see.

+

Given a blood sample, this proc will return a list of viruses that are present in the sample.

+

Contains traits, symptoms, thresholds etc.

+

@param {reagent/blood} blood - The sample to analyze.

+

@returns {list} - A list of virus info present in the sample.

rename_disease +

+

Renames an advanced disease after running it through sanitize_name().

+

@param {string} id - The ID of the disease to rename.

+

@param {string} name - The new name of the disease.

+

@returns {boolean} - Success or failure.

reset_replicator_cooldown +

+

Allows a user to create another vaccine/culture bottle again.

+

@returns {boolean} - Success or failure.

+ + + diff --git a/obj/machinery/computer/piratepad_control.html b/obj/machinery/computer/piratepad_control.html new file mode 100644 index 00000000000..1ee3ab69e6a --- /dev/null +++ b/obj/machinery/computer/piratepad_control.html @@ -0,0 +1,127 @@ + + + + + + + /obj/machinery/computer/piratepad_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

piratepad_control + + + +

+ + + + + + + + + + + + + + + +

Vars

cargo_hold_idThis is the cargo hold ID used by the piratepad machine. Match these two to link them together.
interface_typeInterface name for the ui_interact call for different subtypes.
nosell_typecacheTypecache of things that shouldn't be sold and shouldn't have their contents sold.
pad_refReference to the specific pad that the control computer is linked up to.
pointsFor the purposes of space pirates, how many points does the control pad have collected.
sendingIs the teleport pad/computer sending something right now? TRUE/FALSE
sending_timerCallback holding the sending timer for sending the goods after a delay.
status_reportMessage to display on the TGUI window.
total_reportReference to the export report totaling all sent objects and mobs.
warmup_timeHow long does it take to warmup the pad to teleport?

Procs

recalcCalculates the predicted value of the items on the pirate pad
sendDeletes and sells the item
start_sendingPrepares to sell the items on the pad
stop_sendingFinishes the sending state of the pad
+

Var Details

cargo_hold_id + + + + +

+

This is the cargo hold ID used by the piratepad machine. Match these two to link them together.

interface_type + + + + +

+

Interface name for the ui_interact call for different subtypes.

nosell_typecache + + + + +

+

Typecache of things that shouldn't be sold and shouldn't have their contents sold.

pad_ref + + + + +

+

Reference to the specific pad that the control computer is linked up to.

points + + + + +

+

For the purposes of space pirates, how many points does the control pad have collected.

sending + + + + +

+

Is the teleport pad/computer sending something right now? TRUE/FALSE

sending_timer + + + + +

+

Callback holding the sending timer for sending the goods after a delay.

status_report + + + + +

+

Message to display on the TGUI window.

total_report + + + + +

+

Reference to the export report totaling all sent objects and mobs.

warmup_time + + + + +

+

How long does it take to warmup the pad to teleport?

Proc Details

recalc +

+

Calculates the predicted value of the items on the pirate pad

send +

+

Deletes and sells the item

start_sending +

+

Prepares to sell the items on the pad

stop_sending +

+

Finishes the sending state of the pad

+ + + diff --git a/obj/machinery/computer/piratepad_control/civilian.html b/obj/machinery/computer/piratepad_control/civilian.html new file mode 100644 index 00000000000..0baee176cd8 --- /dev/null +++ b/obj/machinery/computer/piratepad_control/civilian.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/computer/piratepad_control/civilian - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

civilian + + + +

+ +

Computer for assigning new civilian bounties, and sending bounties for collection.

+ + + + +

Vars

inserted_scan_idTypecast of an inserted, scanned ID card inside the console, as bounties are held within the ID card.

Procs

add_bountiesHere is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty.
id_ejectRemoves A stored ID card.
id_insertSelf explanitory, holds the ID card in the console for bounty payout and manipulation.
sendThis fully rewrites base behavior in order to only check for bounty objects, and nothing else.
+

Var Details

inserted_scan_id + + + + +

+

Typecast of an inserted, scanned ID card inside the console, as bounties are held within the ID card.

Proc Details

add_bounties +

+

Here is where cargo bounties are added to the player's bank accounts, then adjusted and scaled into a civilian bounty.

id_eject +

+

Removes A stored ID card.

id_insert +

+

Self explanitory, holds the ID card in the console for bounty payout and manipulation.

send +

+

This fully rewrites base behavior in order to only check for bounty objects, and nothing else.

+ + + diff --git a/obj/machinery/computer/pod.html b/obj/machinery/computer/pod.html new file mode 100644 index 00000000000..96c55af2bae --- /dev/null +++ b/obj/machinery/computer/pod.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/computer/pod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pod + + + +

+ + + + + + + + +

Vars

connectedConnected mass driver
idID of the launch control
massdriver_countdownCountdown timer for the mass driver's delayed launch functionality.
rangeRange in which we search for a mass drivers and poddoors nearby
timeTime before auto launch
timingIf the launch timer counts down

Procs

alarmInitiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors
+

Var Details

connected + + + + +

+

Connected mass driver

id + + + + +

+

ID of the launch control

massdriver_countdown + + + + +

+

Countdown timer for the mass driver's delayed launch functionality.

range + + + + +

+

Range in which we search for a mass drivers and poddoors nearby

time + + + + +

+

Time before auto launch

timing + + + + +

+

If the launch timer counts down

Proc Details

alarm +

+

Initiates launching sequence by checking if all components are functional, opening poddoors, firing mass drivers and then closing poddoors

+ + + diff --git a/obj/machinery/computer/prisoner.html b/obj/machinery/computer/prisoner.html new file mode 100644 index 00000000000..664fc7a0bd0 --- /dev/null +++ b/obj/machinery/computer/prisoner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/prisoner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prisoner + + + +

+ + +

Vars

contained_idID card currently inserted into the computer.
+

Var Details

contained_id + + + + +

+

ID card currently inserted into the computer.

+ + + diff --git a/obj/machinery/computer/quantum_console.html b/obj/machinery/computer/quantum_console.html new file mode 100644 index 00000000000..c2bf3fc1ccb --- /dev/null +++ b/obj/machinery/computer/quantum_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/quantum_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

quantum_console + + + +

+ + + +

Vars

server_refThe server this console is connected to.

Procs

find_serverAttempts to find a quantum server.
+

Var Details

server_ref + + + + +

+

The server this console is connected to.

Proc Details

find_server +

+

Attempts to find a quantum server.

+ + + diff --git a/obj/machinery/computer/rdconsole.html b/obj/machinery/computer/rdconsole.html new file mode 100644 index 00000000000..42ee59db41e --- /dev/null +++ b/obj/machinery/computer/rdconsole.html @@ -0,0 +1,84 @@ + + + + + + + /obj/machinery/computer/rdconsole - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rdconsole + + + +

+ + + + + + + + +

Vars

d_diskThe stored design disk, if present
id_cacheUsed for compressing data sent to the UI via static_data as payload size is of concern
id_cache_seqSequence var for the id cache
lockedDetermines if the console is locked, and consequently if actions can be performed with it
stored_researchReference to global science techweb
t_diskThe stored technology disk, if present

Procs

compress_idCompresses an ID to an integer representation using the id_cache, used for deduplication +in sent JSON payloads
+

Var Details

d_disk + + + + +

+

The stored design disk, if present

id_cache + + + + +

+

Used for compressing data sent to the UI via static_data as payload size is of concern

id_cache_seq + + + + +

+

Sequence var for the id cache

locked + + + + +

+

Determines if the console is locked, and consequently if actions can be performed with it

stored_research + + + + +

+

Reference to global science techweb

t_disk + + + + +

+

The stored technology disk, if present

Proc Details

compress_id +

+

Compresses an ID to an integer representation using the id_cache, used for deduplication +in sent JSON payloads

+

Arguments:

+
    +
  • id - the ID to compress
  • +
+ + + diff --git a/obj/machinery/computer/rdservercontrol.html b/obj/machinery/computer/rdservercontrol.html new file mode 100644 index 00000000000..89902821f4f --- /dev/null +++ b/obj/machinery/computer/rdservercontrol.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/rdservercontrol - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rdservercontrol + + + +

+ + +

Vars

stored_researchConnected techweb node the server is connected to.
+

Var Details

stored_research + + + + +

+

Connected techweb node the server is connected to.

+ + + diff --git a/obj/machinery/computer/records.html b/obj/machinery/computer/records.html new file mode 100644 index 00000000000..40fa058b6e8 --- /dev/null +++ b/obj/machinery/computer/records.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/computer/records - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

records + + + +

+ +

Records subtype for the shared functionality between medical/security/warrant consoles.

+ + + + + + +

Vars

character_preview_viewThe character preview view for the UI.

Procs

create_character_preview_viewCreates a character preview view for the UI.
expunge_record_infoExpunges info from a record.
has_authDetects whether a user can use buttons on the machine
insert_new_recordInserts a new record into GLOB.manifest.general. Requires a photo to be taken.
secure_loginSecure login
update_previewTakes a record and updates the character preview view to match it.
+

Var Details

character_preview_view + + + + +

+

The character preview view for the UI.

Proc Details

create_character_preview_view +

+

Creates a character preview view for the UI.

expunge_record_info +

+

Expunges info from a record.

has_auth +

+

Detects whether a user can use buttons on the machine

insert_new_record +

+

Inserts a new record into GLOB.manifest.general. Requires a photo to be taken.

secure_login +

+

Secure login

update_preview +

+

Takes a record and updates the character preview view to match it.

+ + + diff --git a/obj/machinery/computer/records/medical.html b/obj/machinery/computer/records/medical.html new file mode 100644 index 00000000000..04405b51698 --- /dev/null +++ b/obj/machinery/computer/records/medical.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/computer/records/medical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

medical + + + +

+ + +

Procs

expunge_record_infoDeletes medical information from a record.

Proc Details

expunge_record_info +

+

Deletes medical information from a record.

+ + + diff --git a/obj/machinery/computer/records/security.html b/obj/machinery/computer/records/security.html new file mode 100644 index 00000000000..c0eca387b19 --- /dev/null +++ b/obj/machinery/computer/records/security.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/computer/records/security - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

security + + + +

+ + + + + + + + + +

Vars

printingThe current state of the printer

Procs

add_crimeHandles adding a crime to a particular record.
edit_crimeHandles editing a crime on a particular record.
expunge_record_infoDeletes security information from a record.
has_armory_accessOnly qualified personnel can edit records.
invalidate_crimeVoids crimes, or sets someone to discharged if they have none left.
print_finishFinishes printing, resets the printer.
print_recordHandles printing records via UI. Takes the params from UI_act.
+

Var Details

printing + + + + +

+

The current state of the printer

Proc Details

add_crime +

+

Handles adding a crime to a particular record.

edit_crime +

+

Handles editing a crime on a particular record.

expunge_record_info +

+

Deletes security information from a record.

has_armory_access +

+

Only qualified personnel can edit records.

invalidate_crime +

+

Voids crimes, or sets someone to discharged if they have none left.

print_finish +

+

Finishes printing, resets the printer.

print_record +

+

Handles printing records via UI. Takes the params from UI_act.

+ + + diff --git a/obj/machinery/computer/scan_consolenew.html b/obj/machinery/computer/scan_consolenew.html new file mode 100644 index 00000000000..f021d50a341 --- /dev/null +++ b/obj/machinery/computer/scan_consolenew.html @@ -0,0 +1,632 @@ + + + + + + + /obj/machinery/computer/scan_consolenew - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scan_consolenew + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

can_use_scannerUsed for setting tgui data - Whether the connected DNA Scanner is usable
connected_scannerCurrently connected DNA Scanner
crispr_chargesCounter for CRISPR charges
delayed_actionCurrent delayed action, used for delayed enzyme transfer on scanner door close
disketteCurrently stored genetic data diskette
enzyme_copy_timerCooldown for the genetic makeup transfer actions.
genetic_damage_pulse_indexIndex of the enzyme being modified during delayed enzyme pulse operations
genetic_damage_pulse_timerWorld time when the enzyme pulse should complete
genetic_damage_pulse_typeWhich dna string to edit with the pulse
genetic_makeup_bufferMaximum number of enzymes we can store
injector_readyWorld time when injectors are ready to be printed
injector_selectionAssoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.
is_crispr_readyUsed for setting tgui data - Is CRISPR ready?
is_injector_readyUsed for setting tgui data - Whether injectors are ready to be printed
is_joker_readyUsed for setting tgui data - Whether JOKER algorithm is ready
is_pulsingUsed for setting tgui data - Wheher an enzyme pulse operation is ongoing
is_scramble_readyUsed for setting tgui data - Whether Scramble DNA is ready
is_viable_occupantUsed for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification
joker_readyWorld time when JOKER algorithm can be used in DNA Consoles
max_injector_instabilityMaximum total instability of all combined mutations allowed on an advanced injector
max_injector_mutationsMaximum number of mutation that an advanced injector can store
max_injector_selectionsMaximum number of advanced injectors that DNA Consoles store
pulse_durationDuration for enzyme genetic damage pulses
pulse_strengthStrength for enzyme genetic damage pulses
scanner_occupantCurrent DNA Scanner occupant
scramble_readyWorld time when Scramble can be used in DNA Consoles
stored_chromosomesList of all chromosomes stored in the DNA Console
stored_mutationsList of all mutations stored on the DNA Console
stored_researchLink to the techweb's stored research. Used to retrieve stored mutations
tgui_advinjector_mutationsUsed for setting tgui data - List of occupant mutations
tgui_console_chromosomesUsed for setting tgui data - List of DNA Console chromosomes
tgui_console_mutationsUsed for setting tgui data - List of DNA Console stored mutations
tgui_diskette_mutationsUsed for setting tgui data - List of diskette stored mutations
tgui_genetic_makeupUsed for setting tgui data - List of occupant mutations
tgui_occupant_mutationsUsed for setting tgui data - List of occupant mutations
tgui_view_stateState of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.
time_to_injectorUsed for setting tgui data - Time until injectors are ready
time_to_jokerUsed for setting tgui data - Time until joker is ready
time_to_pulseUsed for setting tgui data - Time until the enzyme pulse is complete
time_to_scrambleUsed for setting tgui data - Time until scramble is ready

Procs

apply_genetic_makeup
build_chrom_list
build_genetic_makeup_listBuilds the genetic makeup list which will be sent to tgui interface.
build_mutation_list
can_modify_occupant
check_discovery
connect_to_scanner
eject_disk
genetic_damage_pulse
get_mut_by_ref
on_scanner_close
on_scanner_open
randomize_GENETIC_DAMAGE_accuracy
scanner_operationalChecks if there is a connected DNA Scanner that is operational
scramble
set_default_stateSets the default state for the tgui interface.
+

Var Details

can_use_scanner + + + + +

+

Used for setting tgui data - Whether the connected DNA Scanner is usable

connected_scanner + + + + +

+

Currently connected DNA Scanner

crispr_charges + + + + +

+

Counter for CRISPR charges

delayed_action + + + + +

+

Current delayed action, used for delayed enzyme transfer on scanner door close

diskette + + + + +

+

Currently stored genetic data diskette

enzyme_copy_timer + + + + +

+

Cooldown for the genetic makeup transfer actions.

genetic_damage_pulse_index + + + + +

+

Index of the enzyme being modified during delayed enzyme pulse operations

genetic_damage_pulse_timer + + + + +

+

World time when the enzyme pulse should complete

genetic_damage_pulse_type + + + + +

+

Which dna string to edit with the pulse

genetic_makeup_buffer + + + + +

+

Maximum number of enzymes we can store

injector_ready + + + + +

+

World time when injectors are ready to be printed

injector_selection + + + + +

+

Assoc list of all advanced injectors. Keys are injector names. Values are lists of mutations.

is_crispr_ready + + + + +

+

Used for setting tgui data - Is CRISPR ready?

is_injector_ready + + + + +

+

Used for setting tgui data - Whether injectors are ready to be printed

is_joker_ready + + + + +

+

Used for setting tgui data - Whether JOKER algorithm is ready

is_pulsing + + + + +

+

Used for setting tgui data - Wheher an enzyme pulse operation is ongoing

is_scramble_ready + + + + +

+

Used for setting tgui data - Whether Scramble DNA is ready

is_viable_occupant + + + + +

+

Used for setting tgui data - Whether the current DNA Scanner occupant is viable for genetic modification

joker_ready + + + + +

+

World time when JOKER algorithm can be used in DNA Consoles

max_injector_instability + + + + +

+

Maximum total instability of all combined mutations allowed on an advanced injector

max_injector_mutations + + + + +

+

Maximum number of mutation that an advanced injector can store

max_injector_selections + + + + +

+

Maximum number of advanced injectors that DNA Consoles store

pulse_duration + + + + +

+

Duration for enzyme genetic damage pulses

pulse_strength + + + + +

+

Strength for enzyme genetic damage pulses

scanner_occupant + + + + +

+

Current DNA Scanner occupant

scramble_ready + + + + +

+

World time when Scramble can be used in DNA Consoles

stored_chromosomes + + + + +

+

List of all chromosomes stored in the DNA Console

stored_mutations + + + + +

+

List of all mutations stored on the DNA Console

stored_research + + + + +

+

Link to the techweb's stored research. Used to retrieve stored mutations

tgui_advinjector_mutations + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_console_chromosomes + + + + +

+

Used for setting tgui data - List of DNA Console chromosomes

tgui_console_mutations + + + + +

+

Used for setting tgui data - List of DNA Console stored mutations

tgui_diskette_mutations + + + + +

+

Used for setting tgui data - List of diskette stored mutations

tgui_genetic_makeup + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_occupant_mutations + + + + +

+

Used for setting tgui data - List of occupant mutations

tgui_view_state + + + + +

+

State of tgui view, i.e. which tab is currently active, or which genome we're currently looking at.

time_to_injector + + + + +

+

Used for setting tgui data - Time until injectors are ready

time_to_joker + + + + +

+

Used for setting tgui data - Time until joker is ready

time_to_pulse + + + + +

+

Used for setting tgui data - Time until the enzyme pulse is complete

time_to_scramble + + + + +

+

Used for setting tgui data - Time until scramble is ready

Proc Details

apply_genetic_makeup +

+
    +
  • +

    Applies the enzyme buffer to the current scanner occupant

    +
  • +
  • +

    Applies the type of a specific genetic makeup buffer to the current scanner

    +
      +
    • occupant
    • +
    +
  • +
  • +

    Arguments:

    +
  • +
  • +
      +
    • type - "ui"/"ue"/"mixed" - Which part of the enzyme buffer to apply
    • +
    +
  • +
  • +
      +
    • buffer_slot - Index of the enzyme buffer to apply
    • +
    +
  • +

build_chrom_list +

+
    +
  • +

    Takes any given chromosome and calculates chromosome compatibility

    +
      +
    • +

      Will iterate over the stored chromosomes in the DNA Console and will check

      +
    • +
    • +

      whether it can be applied to the supplied mutation. Then returns a list of

      +
    • +
    • +

      names of chromosomes that were compatible.

      +
    • +
    • +

      Arguments:

      +
    • +
    +
  • +
  • +
      +
    • mutation - The mutation to check chromosome compatibility with
    • +
    +
  • +

build_genetic_makeup_list +

+

Builds the genetic makeup list which will be sent to tgui interface.

build_mutation_list +

+
    +
  • +

    Builds the genetic makeup list which will be sent to tgui interface.

    +
      +
    • Will iterate over the connected scanner occupant, DNA Console, inserted
    • +
    • diskette and chromosomes and any advanced injectors, building the main data
    • +
    • structures which get passed to the tgui interface.
    • +
    +
  • +

can_modify_occupant +

+
    +
  • +

    Checks if there is a valid DNA Scanner occupant for genetic modification

    +
      +
    • Checks if there is a valid subject in the DNA Scanner that can be genetically
    • +
    • modified. Will set the scanner occupant var as part of this check.
    • +
    • Requires that the scanner can be operated and will return early if it can't
    • +
    +
  • +

check_discovery +

+
    +
  • +

    Checks whether a mutation alias has been discovered

    +
      +
    • +

      Checks whether a given mutation's genetic sequence has been completed and

      +
    • +
    • +

      discovers it if appropriate

      +
    • +
    • +

      Arguments:

      +
    • +
    +
  • +
  • +
      +
    • alias - Alias of the mutation to check (ie "Mutation 51" or "Mutation 12")
    • +
    +
  • +

connect_to_scanner +

+
    +
  • +

    Checks for adjacent DNA scanners and connects when it finds a viable one

    +
      +
    • Seearches cardinal directions in order. Stops when it finds a viable DNA Scanner.
    • +
    • Will connect to a broken scanner if no functional scanner is available.
    • +
    • Links itself to the DNA Scanner to receive door open and close events.
    • +
    +
  • +

eject_disk +

+
    +
  • +

    Ejects the DNA Disk from the console.

    +
      +
    • +

      Will insert into the user's hand if possible, otherwise will drop it at the

      +
    • +
    • +

      console's location.

      +
    • +
    • +

      Arguments:

      +
    • +
    +
  • +
  • +
      +
    • user - The mob that is attempting to eject the diskette.
    • +
    +
  • +

genetic_damage_pulse +

+
    +
  • +

    Performs the enzyme genetic damage pulse.

    +
      +
    • Donor code from previous DNA Console iteration. Called from process() when
    • +
    • there is a genetic damage pulse in progress. Ends processing.
    • +
    +
  • +

get_mut_by_ref +

+
    +
  • +

    Find a mutation from various storage locations via ATOM ref

    +
      +
    • +

      Takes an ATOM Ref and searches the appropriate mutation buffers and storage

      +
    • +
    • +

      vars to try and find the associated mutation.

      +
    • +
    • +

      Arguments:

      +
    • +
    +
  • +
  • +
      +
    • ref - ATOM ref of the mutation to locate
    • +
    • +
        +
      • target_flags - Flags for storage mediums to search, see #defines
      • +
      +
    • +
    +
  • +

on_scanner_close +

+
    +
  • +

    Called by connected DNA Scanners when their doors close.

    +
      +
    • Sets the new scanner occupant and completes delayed enzyme transfer if one
    • +
    • is queued.
    • +
    +
  • +

on_scanner_open +

+
    +
  • +

    Called by connected DNA Scanners when their doors open.

    +
      +
    • Clears enzyme pulse operations, stops processing and nulls the current
    • +
    • scanner occupant var.
    • +
    +
  • +

randomize_GENETIC_DAMAGE_accuracy +

+
    +
  • +

    Creates a randomised accuracy value for the enzyme pulse functionality.

    +
      +
    • +

      Donor code from previous DNA Console iteration.

      +
    • +
    • +

      Arguments:

      +
    • +
    +
  • +
  • +
      +
    • position - Index of the intended enzyme element to pulse
    • +
    • +
        +
      • pulse_duration - Duration of intended genetic damage pulse
      • +
      +
    • +
    • +
        +
      • number_of_blocks - Number of individual data blocks in the pulsed enzyme
      • +
      +
    • +
    +
  • +

scanner_operational +

+

Checks if there is a connected DNA Scanner that is operational

scramble +

+
    +
  • +

    Scrambles an enzyme element value for the enzyme pulse functionality.

    +
      +
    • +

      Donor code from previous DNA Console iteration.

      +
    • +
    • +

      Arguments:

      +
    • +
    +
  • +
  • +
      +
    • input - Enzyme identity element to scramble, expected hex value
    • +
    • +
        +
      • rs - Strength of genetic damage pulse, increases the range of possible outcomes
      • +
      +
    • +
    +
  • +

set_default_state +

+

Sets the default state for the tgui interface.

+ + + diff --git a/obj/machinery/computer/security.html b/obj/machinery/computer/security.html new file mode 100644 index 00000000000..0d2bde48660 --- /dev/null +++ b/obj/machinery/computer/security.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/security - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

security + + + +

+ + + +

Vars

cam_backgroundAll the plane masters that need to be applied.
last_camera_turfThe turf where the camera was last updated.
+

Var Details

cam_background + + + + +

+

All the plane masters that need to be applied.

last_camera_turf + + + + +

+

The turf where the camera was last updated.

+ + + diff --git a/obj/machinery/computer/security/telescreen.html b/obj/machinery/computer/security/telescreen.html new file mode 100644 index 00000000000..1df35ae2f81 --- /dev/null +++ b/obj/machinery/computer/security/telescreen.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/computer/security/telescreen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

telescreen + + + +

+ + +

Vars

frame_typeThe kind of wallframe that this telescreen drops
+

Var Details

frame_type + + + + +

+

The kind of wallframe that this telescreen drops

+ + + diff --git a/obj/machinery/computer/security/telescreen/entertainment.html b/obj/machinery/computer/security/telescreen/entertainment.html new file mode 100644 index 00000000000..87552d99819 --- /dev/null +++ b/obj/machinery/computer/security/telescreen/entertainment.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/computer/security/telescreen/entertainment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

entertainment + + + +

+ + + +

Procs

notifySets the monitor's icon to the selected state, and says an announcement
update_showsAdds a camera network ID to the entertainment monitor, and turns off the monitor if network list is empty

Proc Details

notify +

+

Sets the monitor's icon to the selected state, and says an announcement

update_shows +

+

Adds a camera network ID to the entertainment monitor, and turns off the monitor if network list is empty

+ + + diff --git a/obj/machinery/computer/shuttle.html b/obj/machinery/computer/shuttle.html new file mode 100644 index 00000000000..4fbaf2709d4 --- /dev/null +++ b/obj/machinery/computer/shuttle.html @@ -0,0 +1,117 @@ + + + + + + + /obj/machinery/computer/shuttle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle + + + +

+ + + + + + + + + + + + +

Vars

admin_controlledVariable dictating if the attached shuttle requires authorization from the admin staff to move
destinationID of the currently selected destination of the attached shuttle
dumb_rev_headsList of head revs who have already clicked through the warning about not using the console
lockedIf the console controls are locked
no_destination_swapVariable dictating if the attached shuttle is forbidden to change destinations mid-flight
possible_destinationsPossible destinations of the attached shuttle
request_cooldownAuthorization request cooldown to prevent request spam to admin staff
shuttleIdID of the attached shuttle

Procs

get_valid_destinationsReturns a list of currently valid destinations for this shuttle console, +taking into account its list of allowed destinations, their current state, and the shuttle's current location
launch_checkChecks if we are allowed to launch the shuttle
send_shuttleAttempts to send the linked shuttle to dest_id, checking various sanity checks to see if it can move or not
+

Var Details

admin_controlled + + + + +

+

Variable dictating if the attached shuttle requires authorization from the admin staff to move

destination + + + + +

+

ID of the currently selected destination of the attached shuttle

dumb_rev_heads + + + + +

+

List of head revs who have already clicked through the warning about not using the console

locked + + + + +

+

If the console controls are locked

no_destination_swap + + + + +

+

Variable dictating if the attached shuttle is forbidden to change destinations mid-flight

possible_destinations + + + + +

+

Possible destinations of the attached shuttle

request_cooldown + + + + +

+

Authorization request cooldown to prevent request spam to admin staff

shuttleId + + + + +

+

ID of the attached shuttle

Proc Details

get_valid_destinations +

+

Returns a list of currently valid destinations for this shuttle console, +taking into account its list of allowed destinations, their current state, and the shuttle's current location

launch_check +

+

Checks if we are allowed to launch the shuttle

+

Arguments:

+
    +
  • user - The mob trying to initiate the launch
  • +

send_shuttle +

+

Attempts to send the linked shuttle to dest_id, checking various sanity checks to see if it can move or not

+

Arguments:

+
    +
  • dest_id - The ID of the stationary docking port to send the shuttle to
  • +
  • user - The mob that used the console
  • +
+ + + diff --git a/obj/machinery/computer/shuttle/pod.html b/obj/machinery/computer/shuttle/pod.html new file mode 100644 index 00000000000..54206877206 --- /dev/null +++ b/obj/machinery/computer/shuttle/pod.html @@ -0,0 +1,40 @@ + + + + + + + /obj/machinery/computer/shuttle/pod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pod + + + +

+ + +

Procs

check_lockSignal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

Proc Details

check_lock +

+

Signal handler for checking if we should lock or unlock escape pods accordingly to a newly set security level

+

Arguments:

+
    +
  • source The datum source of the signal
  • +
  • new_level The new security level that is in effect
  • +
+ + + diff --git a/obj/machinery/computer/station_alert.html b/obj/machinery/computer/station_alert.html new file mode 100644 index 00000000000..cda8089dcf4 --- /dev/null +++ b/obj/machinery/computer/station_alert.html @@ -0,0 +1,47 @@ + + + + + + + /obj/machinery/computer/station_alert - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

station_alert + + + +

+ + + +

Vars

alert_controlStation alert datum for showing alerts UI

Procs

update_alarm_displaySignal handler for calling an icon update in case an alarm is added or cleared
+

Var Details

alert_control + + + + +

+

Station alert datum for showing alerts UI

Proc Details

update_alarm_display +

+

Signal handler for calling an icon update in case an alarm is added or cleared

+

Arguments:

+
    +
  • source The datum source of the signal
  • +
+ + + diff --git a/obj/machinery/computer/telecomms/monitor.html b/obj/machinery/computer/telecomms/monitor.html new file mode 100644 index 00000000000..2980d76949f --- /dev/null +++ b/obj/machinery/computer/telecomms/monitor.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/computer/telecomms/monitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

monitor + + + +

+ + + + + + +

Vars

error_messageError message to show
machine_listWeakrefs of the machines located by the computer
networkThe network to probe
screenCurrent screen the user is viewing
selected_machine_refWeakref of the currently selected tcomms machine
+

Var Details

error_message + + + + +

+

Error message to show

machine_list + + + + +

+

Weakrefs of the machines located by the computer

network + + + + +

+

The network to probe

screen + + + + +

+

Current screen the user is viewing

selected_machine_ref + + + + +

+

Weakref of the currently selected tcomms machine

+ + + diff --git a/obj/machinery/computer/telecomms/server.html b/obj/machinery/computer/telecomms/server.html new file mode 100644 index 00000000000..00836115dd9 --- /dev/null +++ b/obj/machinery/computer/telecomms/server.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/computer/telecomms/server - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

server + + + +

+ + + + + + + + +

Vars

SelectedServerthe currently selected server
error_messageError message to show
networkNetwork name to probe
req_accessAccess required to delete messages
screenCurrent screen the user is viewing
serversthe servers located by the computer to be in-network
universal_translateCan the monitor translate languages?
+

Var Details

SelectedServer + + + + +

+

the currently selected server

error_message + + + + +

+

Error message to show

network + + + + +

+

Network name to probe

req_access + + + + +

+

Access required to delete messages

screen + + + + +

+

Current screen the user is viewing

servers + + + + +

+

the servers located by the computer to be in-network

universal_translate + + + + +

+

Can the monitor translate languages?

+ + + diff --git a/obj/machinery/computer/teleporter.html b/obj/machinery/computer/teleporter.html new file mode 100644 index 00000000000..082100a2ec5 --- /dev/null +++ b/obj/machinery/computer/teleporter.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/computer/teleporter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

teleporter + + + +

+ + + + +

Vars

target_refWeakref to the target atom we're pointed at currently

Procs

get_targetsGets a list of targets to teleport to. +List is an assoc list of descriptors to locations.
lock_in_stationGiven a target station, will power and link it.
+

Var Details

target_ref + + + + +

+

Weakref to the target atom we're pointed at currently

Proc Details

get_targets +

+

Gets a list of targets to teleport to. +List is an assoc list of descriptors to locations.

lock_in_station +

+

Given a target station, will power and link it.

+ + + diff --git a/obj/machinery/computer/terminal.html b/obj/machinery/computer/terminal.html new file mode 100644 index 00000000000..d1913832ce0 --- /dev/null +++ b/obj/machinery/computer/terminal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/computer/terminal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

terminal + + + +

+ + + + +

Vars

contentText this terminal contains, not dissimilar to paper. Unlike paper, players cannot add or edit existing info.
tguithemeThe TGUI theme this console uses. Defaults to hackerman, a retro greeny pallete which should fit most terminals.
upperinfoText that displays on top of the actual 'lore' funnies.
+

Var Details

content + + + + +

+

Text this terminal contains, not dissimilar to paper. Unlike paper, players cannot add or edit existing info.

tguitheme + + + + +

+

The TGUI theme this console uses. Defaults to hackerman, a retro greeny pallete which should fit most terminals.

upperinfo + + + + +

+

Text that displays on top of the actual 'lore' funnies.

+ + + diff --git a/obj/machinery/computer/tournament_controller.html b/obj/machinery/computer/tournament_controller.html new file mode 100644 index 00000000000..1c7dc7415dd --- /dev/null +++ b/obj/machinery/computer/tournament_controller.html @@ -0,0 +1,94 @@ + + + + + + + /obj/machinery/computer/tournament_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tournament_controller + + + +

+ +

Controller for the tournament

+ + + + + + + + +

Vars

arena_idThe arena ID to be looking for
arena_oneways"Shutters" that separate teams from the arena
old_mobsThe places to disband team members +Old mobs by client
old_mobs_locOld mobs loc by client
prep_room_turfsTurfs that make up the entire prep room, for sweeping items
radioInternal radio for death announcements
team_hud_idsHUD indexes indexed by team ID
toolbox_spawnsThe places to spawn toolboxes
valid_team_spawnsTurfs near the spawn beacons for team member mobs
+

Var Details

arena_id + + + + +

+

The arena ID to be looking for

arena_oneways + + + + +

+

"Shutters" that separate teams from the arena

old_mobs + + + + +

+

The places to disband team members +Old mobs by client

old_mobs_loc + + + + +

+

Old mobs loc by client

prep_room_turfs + + + + +

+

Turfs that make up the entire prep room, for sweeping items

radio + + + + +

+

Internal radio for death announcements

team_hud_ids + + + + +

+

HUD indexes indexed by team ID

toolbox_spawns + + + + +

+

The places to spawn toolboxes

valid_team_spawns + + + + +

+

Turfs near the spawn beacons for team member mobs

+ + + diff --git a/obj/machinery/computer/tram_controls.html b/obj/machinery/computer/tram_controls.html new file mode 100644 index 00000000000..61f2ed84c76 --- /dev/null +++ b/obj/machinery/computer/tram_controls.html @@ -0,0 +1,82 @@ + + + + + + + /obj/machinery/computer/tram_controls - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tram_controls + + + +

+ + + + + + + + +

Vars

available_facesWhat sign face prefixes we have icons for
sign_faceThe sign face we're displaying
specific_transport_idThe ID of the tram we're controlling
split_modeIf the sign is adjusted for split type tram windows
transport_refWeakref to the tram piece we control

Procs

find_tramFinds the tram from the console
get_destinationsFinds the destinations for the tram console gui
+

Var Details

available_faces + + + + +

+

What sign face prefixes we have icons for

sign_face + + + + +

+

The sign face we're displaying

specific_transport_id + + + + +

+

The ID of the tram we're controlling

split_mode + + + + +

+

If the sign is adjusted for split type tram windows

transport_ref + + + + +

+

Weakref to the tram piece we control

Proc Details

find_tram +

+

Finds the tram from the console

+

Locates tram parts in the lift global list after everything is done.

get_destinations +

+

Finds the destinations for the tram console gui

+

Pulls tram landmarks from the landmark gobal list +and uses those to show the proper icons and destination +names for the tram console gui.

+ + + diff --git a/obj/machinery/computer/turbine_computer.html b/obj/machinery/computer/turbine_computer.html new file mode 100644 index 00000000000..3560bea3e5b --- /dev/null +++ b/obj/machinery/computer/turbine_computer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/computer/turbine_computer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

turbine_computer + + + +

+ + + +

Vars

mapping_idEasy way to connect a computer and a turbine roundstart by setting an id on both this and the core_rotor
turbine_coreWeakref of the connected machine to this computer
+

Var Details

mapping_id + + + + +

+

Easy way to connect a computer and a turbine roundstart by setting an id on both this and the core_rotor

turbine_core + + + + +

+

Weakref of the connected machine to this computer

+ + + diff --git a/obj/machinery/computer/vaultcontroller.html b/obj/machinery/computer/vaultcontroller.html new file mode 100644 index 00000000000..e8efea7ac1e --- /dev/null +++ b/obj/machinery/computer/vaultcontroller.html @@ -0,0 +1,84 @@ + + + + + + + /obj/machinery/computer/vaultcontroller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

vaultcontroller + + + +

+ +

Vault controller for use on the derelict/KS13.

+ + + + + + + +

Procs

activate_lockAttempts to lock/unlock vault doors, if machine is charged.
attempt_siphonTries to charge from powernet excess, no upper limit except max charge.
cycle_closeHandles the doors closing
cycle_openHandles the doors opening
find_airlocksInitializes airlock links.
lock_vaultAttempts to lock the vault doors
unlock_vaultAttempts to unlock the vault doors
update_cableLooks for a cable connection beneath the machine.

Proc Details

activate_lock +

+

Attempts to lock/unlock vault doors, if machine is charged.

attempt_siphon +

+

Tries to charge from powernet excess, no upper limit except max charge.

cycle_close +

+

Handles the doors closing

cycle_open +

+

Handles the doors opening

find_airlocks +

+

Initializes airlock links.

lock_vault +

+

Attempts to lock the vault doors

unlock_vault +

+

Attempts to unlock the vault doors

update_cable +

+

Looks for a cable connection beneath the machine.

+ + + diff --git a/obj/machinery/computer/warrant.html b/obj/machinery/computer/warrant.html new file mode 100644 index 00000000000..7c6aa670a03 --- /dev/null +++ b/obj/machinery/computer/warrant.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/computer/warrant - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

warrant + + + +

+ + + + + +

Vars

printingThe state of the printer

Procs

pay_finePays towards a listed fine.
print_bountyPrints a bounty for a listed fine.
print_finishFinishes printing, resets the printer.
+

Var Details

printing + + + + +

+

The state of the printer

Proc Details

pay_fine +

+

Pays towards a listed fine.

print_bounty +

+

Prints a bounty for a listed fine.

print_finish +

+

Finishes printing, resets the printer.

+ + + diff --git a/obj/machinery/conveyor.html b/obj/machinery/conveyor.html new file mode 100644 index 00000000000..252f055c426 --- /dev/null +++ b/obj/machinery/conveyor.html @@ -0,0 +1,108 @@ + + + + + + + /obj/machinery/conveyor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

conveyor + + + +

+ + + + + + + + + + + + +

Vars

backwardsThe opposite of forwards. It's set in a special var for corner belts, which aren't using the opposite direction when in reverse.
conveyingAre we currently conveying items?
flippedIs the conveyor's belt flipped? Useful mostly for conveyor belt corners. It makes the belt point in the other direction, rather than just going in reverse.
forwardsThis is the default (forward) direction, set by the map dir.
idThe control ID - must match at least one conveyor switch's ID to be useful.
invertedInverts the direction the conveyor belt moves when true.
movedirThe actual direction to move stuff in.
operatingThe current state of the switch.
speedThe time between movements of the conveyor belts, base 0.2 seconds

Procs

LateInitializeLeaving onto conveyor detection won't work at this point, but that's alright since it's an optimization anyway +Should be fine without it
update_move_directionProc to handle updating the directions in which the conveyor belt is moving items.
+

Var Details

backwards + + + + +

+

The opposite of forwards. It's set in a special var for corner belts, which aren't using the opposite direction when in reverse.

conveying + + + + +

+

Are we currently conveying items?

flipped + + + + +

+

Is the conveyor's belt flipped? Useful mostly for conveyor belt corners. It makes the belt point in the other direction, rather than just going in reverse.

forwards + + + + +

+

This is the default (forward) direction, set by the map dir.

id + + + + +

+

The control ID - must match at least one conveyor switch's ID to be useful.

inverted + + + + +

+

Inverts the direction the conveyor belt moves when true.

movedir + + + + +

+

The actual direction to move stuff in.

operating + + + + +

+

The current state of the switch.

speed + + + + +

+

The time between movements of the conveyor belts, base 0.2 seconds

Proc Details

LateInitialize +

+

Leaving onto conveyor detection won't work at this point, but that's alright since it's an optimization anyway +Should be fine without it

update_move_direction +

+

Proc to handle updating the directions in which the conveyor belt is moving items.

+ + + diff --git a/obj/machinery/conveyor_switch.html b/obj/machinery/conveyor_switch.html new file mode 100644 index 00000000000..631cb541c18 --- /dev/null +++ b/obj/machinery/conveyor_switch.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/conveyor_switch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

conveyor_switch + + + +

+ + + + + + + + + + + +

Vars

conveyor_speedThe set time between movements of the conveyor belts
idThe ID of the switch, must match conveyor IDs to control them.
invert_iconIf the level points the opposite direction when it's turned on.
last_posLast direction setting.
onewayIf the switch only operates the conveyor belts in a single direction.
positionThe current state of the switch.

Procs

interactCalled when a user clicks on this switch with an open hand.
update_linked_conveyorsUpdates all conveyor belts that are linked to this switch, and tells them to start processing.
update_linked_switchesFinds any switches with same id as this one, and set their position and icon to match us.
update_positionUpdates the switch's position and last_pos variable. Useful so that the switch can properly cycle between the forwards, backwards and neutral positions.
+

Var Details

conveyor_speed + + + + +

+

The set time between movements of the conveyor belts

id + + + + +

+

The ID of the switch, must match conveyor IDs to control them.

invert_icon + + + + +

+

If the level points the opposite direction when it's turned on.

last_pos + + + + +

+

Last direction setting.

oneway + + + + +

+

If the switch only operates the conveyor belts in a single direction.

position + + + + +

+

The current state of the switch.

Proc Details

interact +

+

Called when a user clicks on this switch with an open hand.

update_linked_conveyors +

+

Updates all conveyor belts that are linked to this switch, and tells them to start processing.

update_linked_switches +

+

Finds any switches with same id as this one, and set their position and icon to match us.

update_position +

+

Updates the switch's position and last_pos variable. Useful so that the switch can properly cycle between the forwards, backwards and neutral positions.

+ + + diff --git a/obj/machinery/cryo_cell.html b/obj/machinery/cryo_cell.html new file mode 100644 index 00000000000..a09e4ddcf1c --- /dev/null +++ b/obj/machinery/cryo_cell.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/cryo_cell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cryo_cell + + + +

+ +

Cryo cell

+ + + + + +

Vars

heat_capacityOur approximation of a mob's heat capacity.
internal_connectorReference to the datum connector we're using to interface with the pipe network
occupant_visVisual content - Occupant
onCheck if the machine has been turned on
patient_deadCryo should notify doctors if the patient is dead, and eject them if autoeject is enabled
treating_woundsCryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead
+

Var Details

heat_capacity + + + + +

+

Our approximation of a mob's heat capacity.

internal_connector + + + + +

+

Reference to the datum connector we're using to interface with the pipe network

occupant_vis + + + + +

+

Visual content - Occupant

on + + + + +

+

Check if the machine has been turned on

patient_dead + + + + +

+

Cryo should notify doctors if the patient is dead, and eject them if autoeject is enabled

treating_wounds + + + + +

+

Cryo will continue to treat people with 0 damage but existing wounds, but will sound off when damage healing is done in case doctors want to directly treat the wounds instead

+ + + diff --git a/obj/machinery/ctf.html b/obj/machinery/ctf.html new file mode 100644 index 00000000000..0bc48fb0c2d --- /dev/null +++ b/obj/machinery/ctf.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/ctf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ctf + + + +

+ +

Base CTF machines, if spawned in creates a CTF game with the provided game_id unless one already exists. If one exists associates itself with it.

+ +

Vars

ctf_gameReference to the CTF controller that this machine operates under.
game_idThe game ID that this CTF machine is associated with.
+

Var Details

ctf_game + + + + +

+

Reference to the CTF controller that this machine operates under.

game_id + + + + +

+

The game ID that this CTF machine is associated with.

+ + + diff --git a/obj/machinery/ctf/control_point.html b/obj/machinery/ctf/control_point.html new file mode 100644 index 00000000000..99821cb3679 --- /dev/null +++ b/obj/machinery/ctf/control_point.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/ctf/control_point - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

control_point + + + +

+ +

Control point used for CTF for king of the hill or control point game modes. Teams need to maintain control of the point for a set time to win.

+ + +

Vars

controlling_teamTeam that is currently controlling this point.
point_rateAmount of points generated per second by this control point while captured.

Procs

captureProc called when a player interacts with the control point to handle capturing it. Performs a do after and then verifies what team ther capturer belongs to.
+

Var Details

controlling_team + + + + +

+

Team that is currently controlling this point.

point_rate + + + + +

+

Amount of points generated per second by this control point while captured.

Proc Details

capture +

+

Proc called when a player interacts with the control point to handle capturing it. Performs a do after and then verifies what team ther capturer belongs to.

+ + + diff --git a/obj/machinery/ctf/spawner.html b/obj/machinery/ctf/spawner.html new file mode 100644 index 00000000000..57aee6eb434 --- /dev/null +++ b/obj/machinery/ctf/spawner.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/ctf/spawner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spawner + + + +

+ +

A spawn point for CTF, ghosts can interact with this to vote for CTF or spawn in if a game is running.

+ + + + +

Vars

ammo_typeThe powerup dropped when a player spawned by this controller dies.
ctf_gearassoc list for classes. If there's only one, it'll just equip. Otherwise, it lets you pick which outfit!
default_gearVar that holds a copy of ctf_gear so that if instagib mode is enabled (overwritting ctf_gear) it can be reverted with this var.
teamThe team that this spawner is associated with.
team_spanThe span applied to messages associated with this team.
+

Var Details

ammo_type + + + + +

+

The powerup dropped when a player spawned by this controller dies.

ctf_gear + + + + +

+

assoc list for classes. If there's only one, it'll just equip. Otherwise, it lets you pick which outfit!

default_gear + + + + +

+

Var that holds a copy of ctf_gear so that if instagib mode is enabled (overwritting ctf_gear) it can be reverted with this var.

team + + + + +

+

The team that this spawner is associated with.

team_span + + + + +

+

The span applied to messages associated with this team.

+ + + diff --git a/obj/machinery/debug_component_printer.html b/obj/machinery/debug_component_printer.html new file mode 100644 index 00000000000..83e6d336f71 --- /dev/null +++ b/obj/machinery/debug_component_printer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/debug_component_printer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

debug_component_printer + + + +

+ + +

Vars

all_circuit_designsAll of the possible circuit designs stored by this debug printer
+

Var Details

all_circuit_designs + + + + +

+

All of the possible circuit designs stored by this debug printer

+ + + diff --git a/obj/machinery/deepfryer.html b/obj/machinery/deepfryer.html new file mode 100644 index 00000000000..50e5e1f8505 --- /dev/null +++ b/obj/machinery/deepfryer.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/deepfryer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

deepfryer + + + +

+ + + + + + + + + +

Vars

cook_timeHow long the current object has been cooking for
deepfry_blacklisted_itemsStatic typecache of things we can't fry.
fry_loopOur sound loop for the frying sounde effect.
fry_speedHow quickly we fry food - modifier applied per process tick
fryingWhat's being fried RIGHT NOW?
frying_burntHas our currently frying object been burnt?
frying_friedHas our currently frying object been fried?
oil_useHow much cooking oil is used per process
+

Var Details

cook_time + + + + +

+

How long the current object has been cooking for

deepfry_blacklisted_items + + + + +

+

Static typecache of things we can't fry.

fry_loop + + + + +

+

Our sound loop for the frying sounde effect.

fry_speed + + + + +

+

How quickly we fry food - modifier applied per process tick

frying + + + + +

+

What's being fried RIGHT NOW?

frying_burnt + + + + +

+

Has our currently frying object been burnt?

frying_fried + + + + +

+

Has our currently frying object been fried?

oil_use + + + + +

+

How much cooking oil is used per process

+ + + diff --git a/obj/machinery/defibrillator_mount.html b/obj/machinery/defibrillator_mount.html new file mode 100644 index 00000000000..2b21929cb6a --- /dev/null +++ b/obj/machinery/defibrillator_mount.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/defibrillator_mount - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

defibrillator_mount + + + +

+ + + + +

Vars

clamps_lockedif true, and a defib is loaded, it can't be removed without unlocking the clamps
defibThe mount's defib
wallframe_typethe type of wallframe it 'disassembles' into
+

Var Details

clamps_locked + + + + +

+

if true, and a defib is loaded, it can't be removed without unlocking the clamps

defib + + + + +

+

The mount's defib

wallframe_type + + + + +

+

the type of wallframe it 'disassembles' into

+ + + diff --git a/obj/machinery/deployable_turret.html b/obj/machinery/deployable_turret.html new file mode 100644 index 00000000000..590b98ed73e --- /dev/null +++ b/obj/machinery/deployable_turret.html @@ -0,0 +1,106 @@ + + + + + + + /obj/machinery/deployable_turret - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

deployable_turret + + + +

+ +

DEPLOYABLE TURRET (FORMERLY MANNED TURRET)

+ + + + + + + + + + +

Vars

always_anchoredIf TRUE, the turret will not become unanchored when not mounted
can_be_undeployedIf using a wrench on the turret will start undeploying it
cooldown_durationHow long it takes for the gun to allow firing after a burst
firesoundSound to play when firing
number_of_shotsNumber of shots fired from one click
overheatsoundSound to play at the end of a burst
projectile_typeThe projectile that the turret fires
rate_of_fireDelay between shots in a burst
spawned_on_undeployWhat gets spawned if the object is undeployed
undeploy_timeHow long it takes for a wrench user to undeploy the object

Procs

wrench_actUndeploying, for when you want to move your big dakka around
+

Var Details

always_anchored + + + + +

+

If TRUE, the turret will not become unanchored when not mounted

can_be_undeployed + + + + +

+

If using a wrench on the turret will start undeploying it

cooldown_duration + + + + +

+

How long it takes for the gun to allow firing after a burst

firesound + + + + +

+

Sound to play when firing

number_of_shots + + + + +

+

Number of shots fired from one click

overheatsound + + + + +

+

Sound to play at the end of a burst

projectile_type + + + + +

+

The projectile that the turret fires

rate_of_fire + + + + +

+

Delay between shots in a burst

spawned_on_undeploy + + + + +

+

What gets spawned if the object is undeployed

undeploy_time + + + + +

+

How long it takes for a wrench user to undeploy the object

Proc Details

wrench_act +

+

Undeploying, for when you want to move your big dakka around

+ + + diff --git a/obj/machinery/destructive_scanner.html b/obj/machinery/destructive_scanner.html new file mode 100644 index 00000000000..9f6232103db --- /dev/null +++ b/obj/machinery/destructive_scanner.html @@ -0,0 +1,63 @@ + + + + + + + /obj/machinery/destructive_scanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

Destructive scanner + + + +

+ +

Placed machine that handles destructive experiments (but can also do the normal ones)

+ + + + +

Procs

activateActivates the machine; checks if it can actually scan, then starts.
finish_scanningPerforms the actual scan, happens once the tube effects are done
openOpens the machine to let out any contents. If the scan had mobs it'll gib them.
start_closingCloses the machine to kidnap everything in the turf into it.
start_scanningStarts scanning the fancy scanning effects

Proc Details

activate +

+

Activates the machine; checks if it can actually scan, then starts.

finish_scanning +

+

Performs the actual scan, happens once the tube effects are done

open +

+

Opens the machine to let out any contents. If the scan had mobs it'll gib them.

start_closing +

+

Closes the machine to kidnap everything in the turf into it.

start_scanning +

+

Starts scanning the fancy scanning effects

+ + + diff --git a/obj/machinery/dish_drive.html b/obj/machinery/dish_drive.html new file mode 100644 index 00000000000..1a21d456121 --- /dev/null +++ b/obj/machinery/dish_drive.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/dish_drive - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dish_drive + + + +

+ + + + + + + +

Vars

collectable_itemsList of dishes the drive can hold
dish_drive_contentsList of dishes currently inside
disposable_itemsList of items the drive detects as trash
suck_distanceDistance this is capable of sucking dishes up over. (2 + servo tier)
suction_enabledCan this suck up dishes?
transmit_enabledDoes this automatically dispose of trash?
+

Var Details

collectable_items + + + + +

+

List of dishes the drive can hold

dish_drive_contents + + + + +

+

List of dishes currently inside

disposable_items + + + + +

+

List of items the drive detects as trash

suck_distance + + + + +

+

Distance this is capable of sucking dishes up over. (2 + servo tier)

suction_enabled + + + + +

+

Can this suck up dishes?

transmit_enabled + + + + +

+

Does this automatically dispose of trash?

+ + + diff --git a/obj/machinery/disposal.html b/obj/machinery/disposal.html new file mode 100644 index 00000000000..7ee87c1114a --- /dev/null +++ b/obj/machinery/disposal.html @@ -0,0 +1,204 @@ + + + + + + + /obj/machinery/disposal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

disposal + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

air_contentsThe internal air reservoir of the disposal
flush_countThis var adds 1 once per tick. When it reaches flush_every_ticks it resets and tries to flush.
flush_every_ticksEvery 30 ticks it will look whether it is ready to flush
flushingTrue if flushing in progress
full_pressureIs the disposal at full pressure
last_soundThe last time a sound was played
pressure_chargingIs the pressure charging
storedThe stored disposal construction pipe
trunkThe attached pipe trunk

Procs

MouseDrop_TMouse drop another mob or self
attempt_escapeChecks if a mob can climb out of the disposal, and lets them if they can
ejectEjects the contents of the disposal unit
expelCalled when holder is expelled from a disposal
flushPlays the animations and sounds for flushing, and initializes the diposal holder object
flushAnimationPlays the flushing animation of the disposal
go_outMakes a mob in the disposal climb out
newHolderDestinationSets the default destinationTag of the disposal holder object
on_rat_rummageHandles the signal for the rat king looking inside the disposal
on_storage_dumpHow disposal handles getting a storage dump from a storage object
place_item_in_disposalMoves an item into the diposal bin
rat_rummageThe regal rat spawns ratty treasures from the disposal
ready_for_trashCalled when a push broom is trying to sweep items onto the turf this object is standing on. Garbage will be moved inside.
stuff_mob_inHandles stuffing a grabbed mob into the disposal
trash_carbonHandles a carbon mob getting shoved into the disposal bin
trunk_checkChecks if there a connecting trunk diposal pipe under the disposal
+

Var Details

air_contents + + + + +

+

The internal air reservoir of the disposal

flush_count + + + + +

+

This var adds 1 once per tick. When it reaches flush_every_ticks it resets and tries to flush.

flush_every_ticks + + + + +

+

Every 30 ticks it will look whether it is ready to flush

flushing + + + + +

+

True if flushing in progress

full_pressure + + + + +

+

Is the disposal at full pressure

last_sound + + + + +

+

The last time a sound was played

pressure_charging + + + + +

+

Is the pressure charging

stored + + + + +

+

The stored disposal construction pipe

trunk + + + + +

+

The attached pipe trunk

Proc Details

MouseDrop_T +

+

Mouse drop another mob or self

attempt_escape +

+

Checks if a mob can climb out of the disposal, and lets them if they can

eject +

+

Ejects the contents of the disposal unit

expel +

+

Called when holder is expelled from a disposal

flush +

+

Plays the animations and sounds for flushing, and initializes the diposal holder object

flushAnimation +

+

Plays the flushing animation of the disposal

go_out +

+

Makes a mob in the disposal climb out

newHolderDestination +

+

Sets the default destinationTag of the disposal holder object

on_rat_rummage +

+

Handles the signal for the rat king looking inside the disposal

on_storage_dump +

+

How disposal handles getting a storage dump from a storage object

place_item_in_disposal +

+

Moves an item into the diposal bin

rat_rummage +

+

The regal rat spawns ratty treasures from the disposal

ready_for_trash +

+

Called when a push broom is trying to sweep items onto the turf this object is standing on. Garbage will be moved inside.

stuff_mob_in +

+

Handles stuffing a grabbed mob into the disposal

trash_carbon +

+

Handles a carbon mob getting shoved into the disposal bin

trunk_check +

+

Checks if there a connecting trunk diposal pipe under the disposal

+ + + diff --git a/obj/machinery/disposal/bin.html b/obj/machinery/disposal/bin.html new file mode 100644 index 00000000000..e592b5f8ec1 --- /dev/null +++ b/obj/machinery/disposal/bin.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/disposal/bin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bin + + + +

+ + +

Procs

do_flushInitiates flushing

Proc Details

do_flush +

+

Initiates flushing

+ + + diff --git a/obj/machinery/dna_infuser.html b/obj/machinery/dna_infuser.html new file mode 100644 index 00000000000..0676a87ea7a --- /dev/null +++ b/obj/machinery/dna_infuser.html @@ -0,0 +1,115 @@ + + + + + + + /obj/machinery/dna_infuser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

dna_infuser + + + +

+ + + + + + + + + + + +

Vars

infusingcurrently infusing a vict- subject
infusing_fromwhat we're infusing with
infusing_intowhat we're turning into
max_tier_allowedmaximum tier this will infuse
message_cooldowna message for relaying that the machine is locked if someone tries to leave while it's active

Procs

check_tier_progressionchecks to see if the machine should progress a new tier.
infuse_organAttempt to replace/add-to the occupant's organs with "mutated" equivalents. +Returns TRUE on success, FALSE on failure. +Requires the target mob to have an existing organic organ to "mutate".
is_valid_infusionVerify that the given infusion source/mob is a dead creature.
is_valid_occupantVerify that the occupant/target is organic, and has mutable DNA.
pick_organPicks a random mutated organ from the infuser entry which is also compatible with the target mob. +Tries to return a typepath of a valid mutant organ if all of the following criteria are true:
+

Var Details

infusing + + + + +

+

currently infusing a vict- subject

infusing_from + + + + +

+

what we're infusing with

infusing_into + + + + +

+

what we're turning into

max_tier_allowed + + + + +

+

maximum tier this will infuse

message_cooldown + + + + +

+

a message for relaying that the machine is locked if someone tries to leave while it's active

Proc Details

check_tier_progression +

+

checks to see if the machine should progress a new tier.

infuse_organ +

+

Attempt to replace/add-to the occupant's organs with "mutated" equivalents. +Returns TRUE on success, FALSE on failure. +Requires the target mob to have an existing organic organ to "mutate".

is_valid_infusion +

+

Verify that the given infusion source/mob is a dead creature.

is_valid_occupant +

+

Verify that the occupant/target is organic, and has mutable DNA.

pick_organ +

+

Picks a random mutated organ from the infuser entry which is also compatible with the target mob. +Tries to return a typepath of a valid mutant organ if all of the following criteria are true:

+
    +
  1. Target must have a pre-existing organ in the same organ slot as the new organ;
  2. +
+
    +
  • or the new organ must be external.
  • +
+
    +
  1. Target's pre-existing organ must be organic / not robotic.
  2. +
  3. Target must not have the same/identical organ.
  4. +
+ + + diff --git a/obj/machinery/door.html b/obj/machinery/door.html new file mode 100644 index 00000000000..cb332c65752 --- /dev/null +++ b/obj/machinery/door.html @@ -0,0 +1,200 @@ + + + + + + + /obj/machinery/door - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

door + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

can_open_with_handsWhether or not the door can crush mobs.
elevator_modeSpecial operating mode for elevator doors
elevator_statusCurrent elevator status for processing
fillerA filler object used to fill the space of multi-tile airlocks
multi_tileDo we need to keep track of a filler panel with the airlock
opens_with_door_remoteWhether or not the door can be opened by hand (used for blast doors and shutters) +Whether or not this door can be opened through a door remote, ever
transport_linked_idWhat specific lift ID do we link with?
unres_sensorChecks to see if this airlock has an unrestricted "sensor" within (will set to TRUE if present).
unres_sidesUnrestricted sides. A bitflag for which direction (if any) can open the door with no access

Procs

check_security_levelSignal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level
closePublic proc that simply handles closing the door. Returns TRUE if the door was closed, FALSE otherwise. +Use argument "forced" in conjuction with try_to_force_door_shut if you want/need additional checks depending on how sorely you need the door closed.
get_adjusted_dirChecks which way the airlock is facing and adjusts the direction accordingly. +For use with multi-tile airlocks.
on_magic_unlockSignal proc for COMSIG_ATOM_MAGICALLY_UNLOCKED. Open up when someone casts knock.
openPublic proc that simply handles opening the door. Returns TRUE if the door was opened, FALSE otherwise. +Use argument "forced" in conjunction with try_to_force_door_open if you want/need additional checks depending on how sorely you need the door opened.
set_fillerSets the bounds of the airlock. For use with multi-tile airlocks. +If the airlock is multi-tile, it will set the bounds to be the size of the airlock. +If the airlock doesn't already have a filler object, it will create one. +If the airlock already has a filler object, it will move it to the correct location.
try_remove_sealCalled when attempting to remove the seal from an airlock
try_to_crowbar_secondaryCalled when the user right-clicks on the door with a crowbar.
try_to_force_door_openPrivate proc that runs a series of checks to see if we should forcibly open the door. Returns TRUE if we should open the door, FALSE otherwise. Implemented in child types. +In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE).
try_to_force_door_shutPrivate proc that runs a series of checks to see if we should forcibly shut the door. Returns TRUE if we should shut the door, FALSE otherwise. Implemented in child types. +In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE).
try_to_weld_secondaryCalled when the user right-clicks on the door with a welding tool.
+

Var Details

can_open_with_hands + + + + +

+

Whether or not the door can crush mobs.

elevator_mode + + + + +

+

Special operating mode for elevator doors

elevator_status + + + + +

+

Current elevator status for processing

filler + + + + +

+

A filler object used to fill the space of multi-tile airlocks

multi_tile + + + + +

+

Do we need to keep track of a filler panel with the airlock

opens_with_door_remote + + + + +

+

Whether or not the door can be opened by hand (used for blast doors and shutters) +Whether or not this door can be opened through a door remote, ever

transport_linked_id + + + + +

+

What specific lift ID do we link with?

unres_sensor + + + + +

+

Checks to see if this airlock has an unrestricted "sensor" within (will set to TRUE if present).

unres_sides + + + + +

+

Unrestricted sides. A bitflag for which direction (if any) can open the door with no access

Proc Details

check_security_level +

+

Signal handler for checking if we notify our surrounding that access requirements are lifted accordingly to a newly set security level

+

Arguments:

+
    +
  • source The datum source of the signal
  • +
  • new_level The new security level that is in effect
  • +

close +

+

Public proc that simply handles closing the door. Returns TRUE if the door was closed, FALSE otherwise. +Use argument "forced" in conjuction with try_to_force_door_shut if you want/need additional checks depending on how sorely you need the door closed.

get_adjusted_dir +

+

Checks which way the airlock is facing and adjusts the direction accordingly. +For use with multi-tile airlocks.

+

@param dir direction to adjust +@return adjusted direction

on_magic_unlock +

+

Signal proc for COMSIG_ATOM_MAGICALLY_UNLOCKED. Open up when someone casts knock.

open +

+

Public proc that simply handles opening the door. Returns TRUE if the door was opened, FALSE otherwise. +Use argument "forced" in conjunction with try_to_force_door_open if you want/need additional checks depending on how sorely you need the door opened.

set_filler +

+

Sets the bounds of the airlock. For use with multi-tile airlocks. +If the airlock is multi-tile, it will set the bounds to be the size of the airlock. +If the airlock doesn't already have a filler object, it will create one. +If the airlock already has a filler object, it will move it to the correct location.

try_remove_seal +

+

Called when attempting to remove the seal from an airlock

+

Here because we need to call it and return if there was a seal so we don't try to open the door +or try its safety lock while it's sealed +Arguments:

+
    +
  • user - the mob attempting to remove the seal
  • +

try_to_crowbar_secondary +

+

Called when the user right-clicks on the door with a crowbar.

try_to_force_door_open +

+

Private proc that runs a series of checks to see if we should forcibly open the door. Returns TRUE if we should open the door, FALSE otherwise. Implemented in child types. +In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE).

try_to_force_door_shut +

+

Private proc that runs a series of checks to see if we should forcibly shut the door. Returns TRUE if we should shut the door, FALSE otherwise. Implemented in child types. +In case a specific behavior isn't covered, we should default to TRUE just to be safe (simply put, this proc should have an explicit reason to return FALSE).

try_to_weld_secondary +

+

Called when the user right-clicks on the door with a welding tool.

+ + + diff --git a/obj/machinery/door/airlock.html b/obj/machinery/door/airlock.html new file mode 100644 index 00000000000..6441bb150b3 --- /dev/null +++ b/obj/machinery/door/airlock.html @@ -0,0 +1,315 @@ + + + + + + + /obj/machinery/door/airlock - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

airlock + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aiControlDisabledIf 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in.
air_tightTRUE means density will be set as soon as the door begins to close
airlock_materialMaterial of inner filling; if its an airlock with glass, this should be set to "glass"
airlock_stateThe current state of the airlock, used to construct the airlock overlays
assemblytypeThe type of door frame to drop during deconstruction
backup_power_timePaired with backup_power_timer. Records its remaining time when something happens to interrupt power regen
backup_power_timerTimer id, active when we are actively waiting for the backup power to be restored
closeOtherIdCyclelinking for airlocks that aren't on the same x or y coord as the target.
delayed_close_requestedTRUE means the door will automatically close the next time it's opened.
hackProofIf true, this door can't be hacked by the AI
lightsBolt lights show by default
main_power_timePaired with main_power_timer. Records its remaining time when something happens to interrupt power regen
main_power_timerTimer id, active when we are actively waiting for the main power to be restored
normalspeedControls if the door closes quickly or not. FALSE = the door autocloses in 1.5 seconds, TRUE = 8 seconds - see autoclose_in()
noteAny papers pinned to the airlock
note_overlay_fileUsed for papers and photos pinned to the airlock
previous_airlockWhat airlock assembly mineral plating was applied to
sealThe seal on the airlock
secondsElectrifiedHow many seconds remain until the door is no longer electrified. -1/MACHINE_ELECTRIFIED_PERMANENT = permanently electrified until someone fixes it.
security_levelHow much are wires secured
shockedbyLogging for door electrification.

Procs

beforeShuttleMoveTurf move procs
check_hackingPerforms basic checks to make sure we are still able to hack an airlock. If control is restored early through outside means, opens the airlock's control interface.
finish_emag_actTimer proc, called ~0.6 seconds after [emag_act]. Finishes the emag sequence by breaking the airlock, permanently locking it, and disabling power.
get_note_stateReturns a string representing the type of note pinned to this airlock +Arguments:
get_wiresGenerates the airlock's wire layout based on the current area the airlock resides in.
hackAttemps to override airlocks that have the AI control wire disabled.
handle_backup_powerCall to update our backup power outage timer +Will trigger a proper timer if we're actively restoring power, if not we'll dump the remaining time in a var on the airlock
handle_main_powerCall to update our main power outage timer +Will trigger a proper timer if we're actively restoring power, if not we'll dump the remaining time in a var on the airlock
power_wires_changedIf our power wires have changed, then our backup/main power regen may have failed, so let's just check in yeah?
remaining_backup_outageReturns the amount of time we have to wait before backup power comes back +Assuming it was actively regenerating +Returns 0 if it is active
remaining_main_outageReturns the amount of time we have to wait before main power comes back +Assuming it was actively regenerating +Returns 0 if it is active
secure_closeForces the airlock to close and bolt
secure_openForces the airlock to unbolt and open
should_try_removing_electronicsReturns if a crowbar would remove the airlock electronics
try_remove_sealUsed when attempting to remove a seal from an airlock
try_to_force_door_openAdditional checks depending on what we want to happen to door (should we try and open it normally, or do we want this open at all costs?)
+

Var Details

aiControlDisabled + + + + +

+

If 1, AI control is disabled until the AI hacks back in and disables the lock. If 2, the AI has bypassed the lock. If -1, the control is enabled but the AI had bypassed it earlier, so if it is disabled again the AI would have no trouble getting back in.

air_tight + + + + +

+

TRUE means density will be set as soon as the door begins to close

airlock_material + + + + +

+

Material of inner filling; if its an airlock with glass, this should be set to "glass"

airlock_state + + + + +

+

The current state of the airlock, used to construct the airlock overlays

assemblytype + + + + +

+

The type of door frame to drop during deconstruction

backup_power_time + + + + +

+

Paired with backup_power_timer. Records its remaining time when something happens to interrupt power regen

backup_power_timer + + + + +

+

Timer id, active when we are actively waiting for the backup power to be restored

closeOtherId + + + + +

+

Cyclelinking for airlocks that aren't on the same x or y coord as the target.

delayed_close_requested + + + + +

+

TRUE means the door will automatically close the next time it's opened.

hackProof + + + + +

+

If true, this door can't be hacked by the AI

lights + + + + +

+

Bolt lights show by default

main_power_time + + + + +

+

Paired with main_power_timer. Records its remaining time when something happens to interrupt power regen

main_power_timer + + + + +

+

Timer id, active when we are actively waiting for the main power to be restored

normalspeed + + + + +

+

Controls if the door closes quickly or not. FALSE = the door autocloses in 1.5 seconds, TRUE = 8 seconds - see autoclose_in()

note + + + + +

+

Any papers pinned to the airlock

note_overlay_file + + + + +

+

Used for papers and photos pinned to the airlock

previous_airlock + + + + +

+

What airlock assembly mineral plating was applied to

seal + + + + +

+

The seal on the airlock

secondsElectrified + + + + +

+

How many seconds remain until the door is no longer electrified. -1/MACHINE_ELECTRIFIED_PERMANENT = permanently electrified until someone fixes it.

security_level + + + + +

+

How much are wires secured

shockedby + + + + +

+

Logging for door electrification.

Proc Details

beforeShuttleMove +

+

Turf move procs

+

Area move procs

+

Machinery move procs

check_hacking +

+

Performs basic checks to make sure we are still able to hack an airlock. If control is restored early through outside means, opens the airlock's control interface.

finish_emag_act +

+

Timer proc, called ~0.6 seconds after [emag_act]. Finishes the emag sequence by breaking the airlock, permanently locking it, and disabling power.

get_note_state +

+

Returns a string representing the type of note pinned to this airlock +Arguments:

+
    +
  • frame_state - The AIRLOCK_FRAME_ value, as used in update_overlays()
  • +

get_wires +

+

Generates the airlock's wire layout based on the current area the airlock resides in.

+

Returns a new /datum/wires/ with the appropriate wire layout based on the airlock_wires +of the area the airlock is in.

hack +

+

Attemps to override airlocks that have the AI control wire disabled.

handle_backup_power +

+

Call to update our backup power outage timer +Will trigger a proper timer if we're actively restoring power, if not we'll dump the remaining time in a var on the airlock

handle_main_power +

+

Call to update our main power outage timer +Will trigger a proper timer if we're actively restoring power, if not we'll dump the remaining time in a var on the airlock

power_wires_changed +

+

If our power wires have changed, then our backup/main power regen may have failed, so let's just check in yeah?

remaining_backup_outage +

+

Returns the amount of time we have to wait before backup power comes back +Assuming it was actively regenerating +Returns 0 if it is active

remaining_main_outage +

+

Returns the amount of time we have to wait before main power comes back +Assuming it was actively regenerating +Returns 0 if it is active

secure_close +

+

Forces the airlock to close and bolt

secure_open +

+

Forces the airlock to unbolt and open

should_try_removing_electronics +

+

Returns if a crowbar would remove the airlock electronics

try_remove_seal +

+

Used when attempting to remove a seal from an airlock

+

Called when attacking an airlock with an empty hand, returns TRUE (there was a seal and we removed it, or failed to remove it) +or FALSE (there was no seal) +Arguments:

+
    +
  • user - Whoever is attempting to remove the seal
  • +

try_to_force_door_open +

+

Additional checks depending on what we want to happen to door (should we try and open it normally, or do we want this open at all costs?)

+ + + diff --git a/obj/machinery/door/airlock/external.html b/obj/machinery/door/airlock/external.html new file mode 100644 index 00000000000..8376df93ccc --- /dev/null +++ b/obj/machinery/door/airlock/external.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/door/airlock/external - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

external + + + +

+ + +

Vars

space_dirWhether or not the airlock can be opened without access from a certain direction while powered, or with bare hands from any direction while unpowered OR pressurized.
+

Var Details

space_dir + + + + +

+

Whether or not the airlock can be opened without access from a certain direction while powered, or with bare hands from any direction while unpowered OR pressurized.

+ + + diff --git a/obj/machinery/door/airlock/tram.html b/obj/machinery/door/airlock/tram.html new file mode 100644 index 00000000000..021067cabf2 --- /dev/null +++ b/obj/machinery/door/airlock/tram.html @@ -0,0 +1,95 @@ + + + + + + + /obj/machinery/door/airlock/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tram + + + +

+ + + + + + + + + +

Vars

transport_refWeakref to the tram we're attached

Procs

bumpopenIf you pry (bump) the doors open midtravel, open quickly so you can jump out and make a daring escape.
crushCrush the jerk holding up the tram from moving
examineTram doors can be opened with hands when unpowered
find_tramSet the weakref for the tram we're attached to
try_safety_unlockTram doors can be opened with hands when unpowered
try_to_closePerform a close attempt and report TRUE/FALSE if it worked
verify_statusChecks if the door close action was successful. Retries if it failed
+

Var Details

transport_ref + + + + +

+

Weakref to the tram we're attached

Proc Details

bumpopen +

+

If you pry (bump) the doors open midtravel, open quickly so you can jump out and make a daring escape.

crush +

+

Crush the jerk holding up the tram from moving

+

Tram doors need their own crush proc because the normal one +leaves you stunned far too long, leading to the doors crushing +you over and over, no escape!

+

While funny to watch, not ideal for the player.

examine +

+

Tram doors can be opened with hands when unpowered

find_tram +

+

Set the weakref for the tram we're attached to

try_safety_unlock +

+

Tram doors can be opened with hands when unpowered

try_to_close +

+

Perform a close attempt and report TRUE/FALSE if it worked

+

Arguments:

+
    +
  • rapid - boolean: if TRUE will skip safety checks and crush whatever is in the way
  • +

verify_status +

+

Checks if the door close action was successful. Retries if it failed

+

If some jerk is blocking the doors, they've had enough warning by attempt 3, +take a chunk of skin, people have places to be!

+ + + diff --git a/obj/machinery/door/airlock/vault/derelict.html b/obj/machinery/door/airlock/vault/derelict.html new file mode 100644 index 00000000000..970d9d3c467 --- /dev/null +++ b/obj/machinery/door/airlock/vault/derelict.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/door/airlock/vault/derelict - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

derelict + + + +

+ +

Airlock that can't be deconstructed, broken or hacked.

+

Procs

attackbyOverrides screwdriver attack to prevent all deconstruction and hacking.

Proc Details

attackby +

+

Overrides screwdriver attack to prevent all deconstruction and hacking.

+ + + diff --git a/obj/machinery/door/firedoor.html b/obj/machinery/door/firedoor.html new file mode 100644 index 00000000000..56b21314ff6 --- /dev/null +++ b/obj/machinery/door/firedoor.html @@ -0,0 +1,251 @@ + + + + + + + /obj/machinery/door/firedoor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

firedoor + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs this firelock active/closed?
affecting_areasList of areas we handle. See CalculateAffectingAreas()
alarm_typeType of alarm we're under. See code/defines/firealarm.dm for the list. This var being null means there is no alarm.
assemblytypeThe type of door frame to drop during deconstruction
being_held_openTracks if the firelock is being held open by a crowbar. If so, we don't close until they walk away
ignore_alarmsShould the firelock ignore atmosphere when choosing to stay open/closed?
is_playing_alarmKeeps track of if we're playing the alarm sound loop (as only one firelock per group should be). Used during power changes.
issue_turfsList of problem turfs with bad temperature
light_xoffsetX offset for the overlay lights, so that they line up with the thin border firelocks
light_yoffsetY offset for the overlay lights, so that they line up with the thin border firelocks
luminosityTrick to get the glowing overlay visible from a distance
merger_idThe merger_id and merger_typecache variables are used to make rows of firelocks activate at the same time.
my_areaFor the few times we affect only the area we're actually in. Set during Init. If we get moved, we don't update, but this is consistant with fire alarms and also kinda funny so call it intentional.
soundlooplooping sound datum for our fire alarm siren.
warn_lightsOverlay object for the warning lights. This and some plane settings allows the lights to glow in the dark.

Procs

CalculateAffectingAreasCalculates what areas we should worry about.
activateProc that handles activation of the firelock and all this details
add_as_sourceAdds this fire door as a source of trouble to all of its areas
adjust_lights_starting_offsetSets the offset for the warning lights.
correct_stateCorrects the current state of the door, based on its activity.
crack_openOpen the firedoor without resetting existing alarms
release_constraintsPlease be called 3 seconds after the LAST open, rather then 3 seconds after the first +Reset our temporary alarm ignoring +Consider if we should close ourselves/our neighbors or not
remove_as_sourceRemoves this firedoor from all areas it's serving as a source of problems for
resetProc that handles reset steps
start_activation_processBegins activation process of us and our neighbors.
start_deactivation_processBegins deactivation process of us and our neighbors.
try_to_crowbarWe check for adjacency when using the primary attack.
try_to_crowbar_secondaryA simple toggle for firedoors between on and off
+

Var Details

active + + + + +

+

Is this firelock active/closed?

affecting_areas + + + + +

+

List of areas we handle. See CalculateAffectingAreas()

alarm_type + + + + +

+

Type of alarm we're under. See code/defines/firealarm.dm for the list. This var being null means there is no alarm.

assemblytype + + + + +

+

The type of door frame to drop during deconstruction

being_held_open + + + + +

+

Tracks if the firelock is being held open by a crowbar. If so, we don't close until they walk away

ignore_alarms + + + + +

+

Should the firelock ignore atmosphere when choosing to stay open/closed?

is_playing_alarm + + + + +

+

Keeps track of if we're playing the alarm sound loop (as only one firelock per group should be). Used during power changes.

issue_turfs + + + + +

+

List of problem turfs with bad temperature

light_xoffset + + + + +

+

X offset for the overlay lights, so that they line up with the thin border firelocks

light_yoffset + + + + +

+

Y offset for the overlay lights, so that they line up with the thin border firelocks

luminosity + + + + +

+

Trick to get the glowing overlay visible from a distance

merger_id + + + + +

+

The merger_id and merger_typecache variables are used to make rows of firelocks activate at the same time.

my_area + + + + +

+

For the few times we affect only the area we're actually in. Set during Init. If we get moved, we don't update, but this is consistant with fire alarms and also kinda funny so call it intentional.

soundloop + + + + +

+

looping sound datum for our fire alarm siren.

warn_lights + + + + +

+

Overlay object for the warning lights. This and some plane settings allows the lights to glow in the dark.

Proc Details

CalculateAffectingAreas +

+

Calculates what areas we should worry about.

+

This proc builds a list of areas we are in and areas we border +and writes it to affecting_areas.

activate +

+

Proc that handles activation of the firelock and all this details

+

Sets active and alarm type to properly represent our state. +Also calls set_status() on all fire alarms in all affected areas, tells +the area the firelock sits in to report the event (AI, alarm consoles, etc) +and finally calls correct_state(), which will handle opening or closing +this fire lock.

add_as_source +

+

Adds this fire door as a source of trouble to all of its areas

adjust_lights_starting_offset +

+

Sets the offset for the warning lights.

+

Used for special firelocks with light overlays that don't line up to their sprite.

correct_state +

+

Corrects the current state of the door, based on its activity.

+

This proc is called after weld and power restore events. Gives the +illusion that the door is constantly attempting to move without actually +having to process it. Timers also call this, so that if activity +changes during the timer, the door doesn't close or open incorrectly.

crack_open +

+

Open the firedoor without resetting existing alarms

+
    +
  • delay - Reconsider if this door should be open or closed after some period
  • +

release_constraints +

+

Please be called 3 seconds after the LAST open, rather then 3 seconds after the first +Reset our temporary alarm ignoring +Consider if we should close ourselves/our neighbors or not

remove_as_source +

+

Removes this firedoor from all areas it's serving as a source of problems for

reset +

+

Proc that handles reset steps

+

Clears the alarm state and attempts to open the firelock.

start_activation_process +

+

Begins activation process of us and our neighbors.

+

This proc will call activate() on every fire lock (including us) listed +in the merge group datum. Returns without doing anything if we're already active, cause of course

+

Arguments: +code should be one of three defined alarm types, or can be not supplied. Will dictate the color of the fire alarm lights, and defaults to "firelock_alarm_type_generic"

start_deactivation_process +

+

Begins deactivation process of us and our neighbors.

+

This proc will call reset() on every fire lock (including us) listed +in the merge group datum. sets our alarm type to null, signifying no alarm.

try_to_crowbar +

+

We check for adjacency when using the primary attack.

try_to_crowbar_secondary +

+

A simple toggle for firedoors between on and off

+ + + diff --git a/obj/machinery/door/password.html b/obj/machinery/door/password.html new file mode 100644 index 00000000000..3b94aa457f1 --- /dev/null +++ b/obj/machinery/door/password.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/door/password - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

password + + + +

+ + + + + + + +

Vars

door_closeSound used upon closing.
door_denySound used upon denying.
door_openSound used upon opening.
interaction_activatedSetting to true allows the user to input the password through a text box after clicking on the door.
passwordPassword that must be provided to open the door.
voice_activatedSay the password nearby to open the door.
+

Var Details

door_close + + + + +

+

Sound used upon closing.

door_deny + + + + +

+

Sound used upon denying.

door_open + + + + +

+

Sound used upon opening.

interaction_activated + + + + +

+

Setting to true allows the user to input the password through a text box after clicking on the door.

password + + + + +

+

Password that must be provided to open the door.

voice_activated + + + + +

+

Say the password nearby to open the door.

+ + + diff --git a/obj/machinery/door/poddoor.html b/obj/machinery/door/poddoor.html new file mode 100644 index 00000000000..3282f8931f1 --- /dev/null +++ b/obj/machinery/door/poddoor.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/door/poddoor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

poddoor + + + +

+ + + + + +

Vars

animation_soundThe sound that plays when the door opens/closes
deconstructionThe current deconstruction step
idThe door's ID (used for buttons, etc to control the door)
recipe_typeThe recipe for this door
+

Var Details

animation_sound + + + + +

+

The sound that plays when the door opens/closes

deconstruction + + + + +

+

The current deconstruction step

id + + + + +

+

The door's ID (used for buttons, etc to control the door)

recipe_type + + + + +

+

The recipe for this door

+ + + diff --git a/obj/machinery/door/puzzle.html b/obj/machinery/door/puzzle.html new file mode 100644 index 00000000000..3f8495ef5c8 --- /dev/null +++ b/obj/machinery/door/puzzle.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/door/puzzle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzle + + + +

+ + + + +

Vars

open_messageMessage that occurs when the door is opened
puzzle_idMake sure that the puzzle has the same puzzle_id as the keycard door! (If this is null, queuelinks dont happen!)
uses_queuelinksdo we use queue_links?
+

Var Details

open_message + + + + +

+

Message that occurs when the door is opened

puzzle_id + + + + +

+

Make sure that the puzzle has the same puzzle_id as the keycard door! (If this is null, queuelinks dont happen!)

+

do we use queue_links?

+ + + diff --git a/obj/machinery/door/window.html b/obj/machinery/door/window.html new file mode 100644 index 00000000000..3e7c5f0eb6a --- /dev/null +++ b/obj/machinery/door/window.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/door/window - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

window + + + +

+ + + +

Procs

finish_emag_actTimer proc, called ~0.6 seconds after [emag_act]. Finishes the emag sequence by breaking the windoor.
try_to_force_door_openAdditional checks depending on what we want to happen to this windoor

Proc Details

finish_emag_act +

+

Timer proc, called ~0.6 seconds after [emag_act]. Finishes the emag sequence by breaking the windoor.

try_to_force_door_open +

+

Additional checks depending on what we want to happen to this windoor

+ + + diff --git a/obj/machinery/doppler_array.html b/obj/machinery/doppler_array.html new file mode 100644 index 00000000000..3eb93204212 --- /dev/null +++ b/obj/machinery/doppler_array.html @@ -0,0 +1,90 @@ + + + + + + + /obj/machinery/doppler_array - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

doppler_array + + + +

+ + + + + + + + +

Vars

inserted_diskReference to a disk we are going to print to.
record_numberNumber which will be part of the name of the next record, increased by one for each already created record
recordsList of all explosion records in the form of /datum/data/tachyon_record

Procs

ExitedWe rely on exited to clear references.
apply_experimentsChecks a specified tachyon record for fitting reactions, then returns a list with +the experiment typepath as key and score as value. +The score is the same for all explosive experiments (light radius).
printPrinting of a record into a disk.
sense_explosionEarly return for explosions without proper reaction_results. We will append experiments that are always fair game. +The reactions in record.reaction_results that corresponds to the required_reactions list. +The reactions in required_reactions list that are missing in record.reaction_results. +The reactions in record.reaction_results that are not present in required_reactions list. +Sensing, recording, and broadcasting of explosion
+

Var Details

inserted_disk + + + + +

+

Reference to a disk we are going to print to.

record_number + + + + +

+

Number which will be part of the name of the next record, increased by one for each already created record

records + + + + +

+

List of all explosion records in the form of /datum/data/tachyon_record

Proc Details

Exited +

+

We rely on exited to clear references.

apply_experiments +

+

Checks a specified tachyon record for fitting reactions, then returns a list with +the experiment typepath as key and score as value. +The score is the same for all explosive experiments (light radius).

print +

+

Printing of a record into a disk.

sense_explosion +

+

Early return for explosions without proper reaction_results. We will append experiments that are always fair game. +The reactions in record.reaction_results that corresponds to the required_reactions list. +The reactions in required_reactions list that are missing in record.reaction_results. +The reactions in record.reaction_results that are not present in required_reactions list. +Sensing, recording, and broadcasting of explosion

+ + + diff --git a/obj/machinery/duct.html b/obj/machinery/duct.html new file mode 100644 index 00000000000..6fa561bc83c --- /dev/null +++ b/obj/machinery/duct.html @@ -0,0 +1,225 @@ + + + + + + + /obj/machinery/duct - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

duct + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activewheter to even bother with plumbing code or not
capacityamount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct
color_to_color_supportTRUE to let colors connect when forced with a wrench, false to just not do that at all
connectsbitfield with the directions we're connected in
drop_on_wrenchwhat stack to drop when disconnected. Must be /obj/item/stack/ducts or a subtype
ductour ductnet, wich tracks what we're connected to
duct_colorthe color of our duct
duct_layer1,2,4,8,16
dumbset to TRUE to disable smart duct behaviour
ignore_colorsTRUE to ignore colors, so yeah we also connect with other colors without issue
lock_connectswheter we allow our connects to be changed after initialization or not
lock_layerswhether we allow our layers to be altered
neighbourstrack ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Procs

add_connectsadd a connect direction
add_neighbouradd a duct as neighbour. this means we're connected and will connect again if we ever regenerate
attempt_connectstart looking around us for stuff to connect to
can_anchorcollection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked
connect_ductconnect to a duct
connect_networksee if whatever we found can be connected to
connect_plumberconnect to a plumbing object
create_ductcreate a new duct datum
disconnect_ductwe disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one
generate_connectsSpecial proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds
get_adjacent_ductsget a list of the ducts we can connect to if we are dumb
handle_layerupdate the layer we are on
lose_neighboursremove all our neighbours, and remove us from our neighbours aswell
remove_connectsremove a connect direction
reset_connectsremove our connects
+

Var Details

active + + + + +

+

wheter to even bother with plumbing code or not

capacity + + + + +

+

amount we can transfer per process. note that the ductnet can carry as much as the lowest capacity duct

color_to_color_support + + + + +

+

TRUE to let colors connect when forced with a wrench, false to just not do that at all

connects + + + + +

+

bitfield with the directions we're connected in

drop_on_wrench + + + + +

+

what stack to drop when disconnected. Must be /obj/item/stack/ducts or a subtype

duct + + + + +

+

our ductnet, wich tracks what we're connected to

duct_color + + + + +

+

the color of our duct

duct_layer + + + + +

+

1,2,4,8,16

dumb + + + + +

+

set to TRUE to disable smart duct behaviour

ignore_colors + + + + +

+

TRUE to ignore colors, so yeah we also connect with other colors without issue

lock_connects + + + + +

+

wheter we allow our connects to be changed after initialization or not

lock_layers + + + + +

+

whether we allow our layers to be altered

neighbours + + + + +

+

track ducts we're connected to. Mainly for ducts we connect to that we normally wouldn't, like different layers and colors, for when we regenerate the ducts

Proc Details

add_connects +

+

add a connect direction

add_neighbour +

+

add a duct as neighbour. this means we're connected and will connect again if we ever regenerate

attempt_connect +

+

start looking around us for stuff to connect to

can_anchor +

+

collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked

connect_duct +

+

connect to a duct

connect_network +

+

see if whatever we found can be connected to

connect_plumber +

+

connect to a plumbing object

create_duct +

+

create a new duct datum

disconnect_duct +

+

we disconnect ourself from our neighbours. we also destroy our ductnet and tell our neighbours to make a new one

generate_connects +

+

Special proc to draw a new connect frame based on neighbours. not the norm so we can support multiple duct kinds

get_adjacent_ducts +

+

get a list of the ducts we can connect to if we are dumb

handle_layer +

+

update the layer we are on

lose_neighbours +

+

remove all our neighbours, and remove us from our neighbours aswell

remove_connects +

+

remove a connect direction

reset_connects +

+

remove our connects

+ + + diff --git a/obj/machinery/ecto_sniffer.html b/obj/machinery/ecto_sniffer.html new file mode 100644 index 00000000000..e293c76bf16 --- /dev/null +++ b/obj/machinery/ecto_sniffer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/ecto_sniffer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ecto_sniffer + + + +

+ + + + + +

Vars

ectoplasmic_residuesList of ckeys containing players who have recently activated the device, players on this list are prohibited from activating the device untill their residue decays.
ondetermines if the device if the power switch is turned on or off. Useful if the ghosts are too annoying.
sensor_enabledIf this var set to false the ghosts will not be able interact with the machine, say if the machine is silently disabled by cutting the internal wire.

Procs

clear_residueRemoves the ghost from the ectoplasmic_residues list and lets them know they are free to activate the sniffer again.
+

Var Details

ectoplasmic_residues + + + + +

+

List of ckeys containing players who have recently activated the device, players on this list are prohibited from activating the device untill their residue decays.

on + + + + +

+

determines if the device if the power switch is turned on or off. Useful if the ghosts are too annoying.

sensor_enabled + + + + +

+

If this var set to false the ghosts will not be able interact with the machine, say if the machine is silently disabled by cutting the internal wire.

Proc Details

clear_residue +

+

Removes the ghost from the ectoplasmic_residues list and lets them know they are free to activate the sniffer again.

+ + + diff --git a/obj/machinery/electrolyzer.html b/obj/machinery/electrolyzer.html new file mode 100644 index 00000000000..4eb08efcfdb --- /dev/null +++ b/obj/machinery/electrolyzer.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/electrolyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

electrolyzer + + + +

+ + + + + + + +

Vars

cellused to check if there is a cell in the machine
efficiencyDecrease the amount of power usage, changed by upgrading the capacitor tier
modecheck what mode the machine should be (WORKING, STANDBY)
oncheck if the machine is on or off
use_powerWe don't use area power, we always use the cell
working_powerIncrease the amount of moles worked on, changed by upgrading the manipulator tier
+

Var Details

cell + + + + +

+

used to check if there is a cell in the machine

efficiency + + + + +

+

Decrease the amount of power usage, changed by upgrading the capacitor tier

mode + + + + +

+

check what mode the machine should be (WORKING, STANDBY)

on + + + + +

+

check if the machine is on or off

use_power + + + + +

+

We don't use area power, we always use the cell

working_power + + + + +

+

Increase the amount of moles worked on, changed by upgrading the manipulator tier

+ + + diff --git a/obj/machinery/elevator_control_panel.html b/obj/machinery/elevator_control_panel.html new file mode 100644 index 00000000000..a219a69f28b --- /dev/null +++ b/obj/machinery/elevator_control_panel.html @@ -0,0 +1,148 @@ + + + + + + + /obj/machinery/elevator_control_panel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Elevator control panel + + + +

+ +

A wallmounted simple machine that controls elevators, +allowing users to enter a UI to move it up or down

+

These can be placed in two methods:

+
    +
  • You can place the control panel on the same turf as an elevator. It will move up and down with the elevator
  • +
  • You can place the control panel to the side of an elevator, NOT attached to the elevator. It will remain in position
  • +
  • I don't recommend using both methods on the same elevator, as it might result in some jank, but it's functional.
  • +
+ + + + + + + + + + + + + +

Vars

door_reset_timeridTimerID to our door reset timer, made by emergency opening doors
last_move_targetWhat z-level did we move to last? Used for showing the user in the UI which direction we're moving.
lift_weakrefA weakref to the transport_controller datum we control
light_powerThe light mask overlay we use
linked_elevator_destinationA list of all possible destinations this elevator can travel. +Assoc list of "Floor name" to "z level of destination". +By default the floor names will auto-generate ("Floor 1", "Floor 2", etc).
linked_elevator_idWhat specific_transport_id do we link with?
maploadedWere we instantiated at mapload? Used to determine when we should link / throw errors
preset_destination_namesIf you want to override what each floor is named as, you can do so with this list. +Make this an assoc list of "z level you want to rename" to "desired name". +So, if you want the z-level 2 destination to be named "Cargo", you would do list("2" = "Cargo"). +(Reminder: Z1 gets loaded as Central Command, so your map's bottom Z will be Z2!)

Procs

add_destinations_in_a_direction_recursivelyRecursively adds destinations to the list of linked_elevator_destination +until it fails to find a valid stopping point in the passed direction.
check_panelCallback for move_to_zlevel to ensure the elevator can continue to move.
get_associated_liftFind the elevator associated with our lift button.
link_with_liftLink with associated transport controllers, only log failure to find a lift in LateInit because those are mapped in
populate_destinations_listGoes through and populates the linked_elevator_destination list with all possible destinations the lift can go.
reset_doorsHelper proc to go through all of our desetinations and reset all elevator doors, +closing doors on z-levels the elevator is away from, and opening doors on the z the elevator is
+

Var Details

door_reset_timerid + + + + +

+

TimerID to our door reset timer, made by emergency opening doors

last_move_target + + + + +

+

What z-level did we move to last? Used for showing the user in the UI which direction we're moving.

lift_weakref + + + + +

+

A weakref to the transport_controller datum we control

light_power + + + + +

+

The light mask overlay we use

linked_elevator_destination + + + + +

+

A list of all possible destinations this elevator can travel. +Assoc list of "Floor name" to "z level of destination". +By default the floor names will auto-generate ("Floor 1", "Floor 2", etc).

linked_elevator_id + + + + +

+

What specific_transport_id do we link with?

maploaded + + + + +

+

Were we instantiated at mapload? Used to determine when we should link / throw errors

preset_destination_names + + + + +

+

If you want to override what each floor is named as, you can do so with this list. +Make this an assoc list of "z level you want to rename" to "desired name". +So, if you want the z-level 2 destination to be named "Cargo", you would do list("2" = "Cargo"). +(Reminder: Z1 gets loaded as Central Command, so your map's bottom Z will be Z2!)

Proc Details

add_destinations_in_a_direction_recursively +

+

Recursively adds destinations to the list of linked_elevator_destination +until it fails to find a valid stopping point in the passed direction.

check_panel +

+

Callback for move_to_zlevel to ensure the elevator can continue to move.

get_associated_lift +

+

Find the elevator associated with our lift button.

+

Link with associated transport controllers, only log failure to find a lift in LateInit because those are mapped in

populate_destinations_list +

+

Goes through and populates the linked_elevator_destination list with all possible destinations the lift can go.

reset_doors +

+

Helper proc to go through all of our desetinations and reset all elevator doors, +closing doors on z-levels the elevator is away from, and opening doors on the z the elevator is

+ + + diff --git a/obj/machinery/exodrone_launcher.html b/obj/machinery/exodrone_launcher.html new file mode 100644 index 00000000000..f5e212ccdf2 --- /dev/null +++ b/obj/machinery/exodrone_launcher.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/exodrone_launcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

exodrone_launcher + + + +

+ +

Exploration drone launcher

+

Vars

fuel_canisterLoaded fuel pellet.
+

Var Details

fuel_canister + + + + +

+

Loaded fuel pellet.

+ + + diff --git a/obj/machinery/exoscanner.html b/obj/machinery/exoscanner.html new file mode 100644 index 00000000000..c765daba6d9 --- /dev/null +++ b/obj/machinery/exoscanner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/exoscanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

exoscanner + + + +

+ + +

Vars

scan_powerthe scan power of this array to supply to scanner_controller
+

Var Details

scan_power + + + + +

+

the scan power of this array to supply to scanner_controller

+ + + diff --git a/obj/machinery/fax.html b/obj/machinery/fax.html new file mode 100644 index 00000000000..92416a71b62 --- /dev/null +++ b/obj/machinery/fax.html @@ -0,0 +1,310 @@ + + + + + + + /obj/machinery/fax - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fax + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

allow_exotic_faxesIf true you can fax things which strictly speaking are not paper.
allowed_typesList of types which should always be allowed to be faxed
exotic_typesList of types which should be allowed to be faxed if hacked
fax_historyThis is where the dispatch and reception history for each fax is stored.
fax_idThe unique ID by which the fax will build a list of existing faxes.
fax_nameThe name of the fax displayed in the list. Not necessarily unique to some EMAG jokes.
hurl_contentsIf true we will eject faxes at speed rather than sedately place them into a tray.
jammedIf true, the fax machine is jammed and needs cleaning
loaded_item_refA weak reference to an inserted object.
seconds_electrifiedWorld ticks the machine is electified for.
special_networksList with a fake-networks(not a fax actually), for request manager.
syndicate_networkNecessary to hide syndicate faxes from the general list. Doesn't mean he's EMAGGED!
visible_to_networkTrue if the fax machine should be visible to other fax machines in general.

Procs

animate_object_travelProcedure for animating an object entering or leaving the fax machine. +Arguments:
can_load_itemReturns true if an item can be loaded into the fax machine.
clear_jamAttempts to clean out a jammed machine using a passed item. +Returns true if successful.
emag_actEmag the device if the panel is open. +Emag does not bring you into the syndicate network, but makes it visible to you.
fax_name_existChecks fax names for a match.
find_overlay_stateReturns an appropriate icon state to represent a passed item. +Arguments:
history_addA procedure that makes entries in the history of fax transactions.
history_clearClears the history of fax operations.
is_allowed_typeReturns true if an item is of a type which can currently be loaded into this fax machine. +This list expands if you snip a particular wire.
log_faxRecords logs of bureacratic action +Arguments:
multitool_actUsing the multi-tool with the panel closed causes the fax network name to be renamed.
receiveProcedure for accepting papers from another fax machine.
screwdriver_actOpen and close the wire panel.
sendThe procedure for sending a paper to another fax machine.
shockAttempts to shock the passed user, returns true if they are shocked.
travel_animation_completeCalled when the travel animation should end. Reset animation and overlay states. +Arguments:
vend_itemActually vends an item out of the fax machine. +Moved into its own proc to allow a delay for the animation. +This will either deposit the item on the fax machine, or throw it if you have hacked a wire. +Arguments:
+

Var Details

allow_exotic_faxes + + + + +

+

If true you can fax things which strictly speaking are not paper.

allowed_types + + + + +

+

List of types which should always be allowed to be faxed

exotic_types + + + + +

+

List of types which should be allowed to be faxed if hacked

fax_history + + + + +

+

This is where the dispatch and reception history for each fax is stored.

fax_id + + + + +

+

The unique ID by which the fax will build a list of existing faxes.

fax_name + + + + +

+

The name of the fax displayed in the list. Not necessarily unique to some EMAG jokes.

hurl_contents + + + + +

+

If true we will eject faxes at speed rather than sedately place them into a tray.

jammed + + + + +

+

If true, the fax machine is jammed and needs cleaning

loaded_item_ref + + + + +

+

A weak reference to an inserted object.

seconds_electrified + + + + +

+

World ticks the machine is electified for.

special_networks + + + + +

+

List with a fake-networks(not a fax actually), for request manager.

syndicate_network + + + + +

+

Necessary to hide syndicate faxes from the general list. Doesn't mean he's EMAGGED!

visible_to_network + + + + +

+

True if the fax machine should be visible to other fax machines in general.

Proc Details

animate_object_travel +

+

Procedure for animating an object entering or leaving the fax machine. +Arguments:

+
    +
  • item - The object which is travelling.
  • +
  • animation_state - An icon state to apply to the fax machine.
  • +
  • overlay_state - An icon state to apply as an overlay to the fax machine.
  • +

can_load_item +

+

Returns true if an item can be loaded into the fax machine.

clear_jam +

+

Attempts to clean out a jammed machine using a passed item. +Returns true if successful.

emag_act +

+

Emag the device if the panel is open. +Emag does not bring you into the syndicate network, but makes it visible to you.

fax_name_exist +

+

Checks fax names for a match.

+

Called to check the new fax name against the names of other faxes to prevent the use of identical names. +Arguments:

+
    +
  • new_fax_name - The text of the name to be checked for a match.
  • +

find_overlay_state +

+

Returns an appropriate icon state to represent a passed item. +Arguments:

+
    +
  • item - Item to interrogate.
  • +
  • state_prefix - Icon state action prefix to mutate.
  • +

history_add +

+

A procedure that makes entries in the history of fax transactions.

+

Called to record the operation in the fax history list. +Records the type of operation, the name of the fax machine with which the operation was performed, and the station time. +Arguments:

+
    +
  • history_type - Type of operation. By default, "Send" and "Receive" should be used.
  • +
  • history_fax_name - The name of the fax machine that performed the operation.
  • +

history_clear +

+

Clears the history of fax operations.

is_allowed_type +

+

Returns true if an item is of a type which can currently be loaded into this fax machine. +This list expands if you snip a particular wire.

log_fax +

+

Records logs of bureacratic action +Arguments:

+
    +
  • sent - The object being sent
  • +
  • destination_id - The unique ID of the fax machine
  • +
  • name - The friendly name of the fax machine, but these can be spoofed so the ID is also required
  • +

multitool_act +

+

Using the multi-tool with the panel closed causes the fax network name to be renamed.

receive +

+

Procedure for accepting papers from another fax machine.

+

The procedure is called in proc/send() of the other fax. It receives a paper-like object and "prints" it. +Arguments:

+
    +
  • loaded - The object to be printed.
  • +
  • sender_name - The sender's name, which will be displayed in the message and recorded in the history of operations.
  • +

screwdriver_act +

+

Open and close the wire panel.

send +

+

The procedure for sending a paper to another fax machine.

+

The object is called inside /obj/machinery/fax to send the thing to another fax machine. +The procedure searches among all faxes for the desired fax ID and calls proc/receive() on that fax. +If the item is sent successfully, it returns TRUE. +Arguments:

+
    +
  • loaded - The object to be sent.
  • +
  • id - The network ID of the fax machine you want to send the item to.
  • +

shock +

+

Attempts to shock the passed user, returns true if they are shocked.

+

Arguments:

+
    +
  • user - the user to shock
  • +
  • chance - probability the shock happens
  • +

travel_animation_complete +

+

Called when the travel animation should end. Reset animation and overlay states. +Arguments:

+
    +
  • remove_overlay - Overlay to remove.
  • +

vend_item +

+

Actually vends an item out of the fax machine. +Moved into its own proc to allow a delay for the animation. +This will either deposit the item on the fax machine, or throw it if you have hacked a wire. +Arguments:

+
    +
  • vend - Item to vend from the fax machine.
  • +
+ + + diff --git a/obj/machinery/field.html b/obj/machinery/field.html new file mode 100644 index 00000000000..689c4da0f40 --- /dev/null +++ b/obj/machinery/field.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/field - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

field + + + +

+ + +

Vars

has_shockedUsed to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.
+

Var Details

has_shocked + + + + +

+

Used to add a delay between shocks. In some cases this used to crash servers by spawning hundreds of sparks every second.

+ + + diff --git a/obj/machinery/field/containment.html b/obj/machinery/field/containment.html new file mode 100644 index 00000000000..d26382eca30 --- /dev/null +++ b/obj/machinery/field/containment.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/field/containment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

containment + + + +

+ + + +

Vars

field_gen_1First of the generators producing the containment field
field_gen_2Second of the generators producing the containment field
+

Var Details

field_gen_1 + + + + +

+

First of the generators producing the containment field

field_gen_2 + + + + +

+

Second of the generators producing the containment field

+ + + diff --git a/obj/machinery/field/generator.html b/obj/machinery/field/generator.html new file mode 100644 index 00000000000..6e8306da722 --- /dev/null +++ b/obj/machinery/field/generator.html @@ -0,0 +1,96 @@ + + + + + + + /obj/machinery/field/generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

generator + + + +

+ + + + + + + + + + +

Vars

activeCurrent power mode of the machine, between FG_OFFLINE, FG_CHARGING, FG_ONLINE
clean_upCheck for asynk cleanups for this and the connected gens
connected_gensList of every field generators connected to this one
fieldsList of every containment fields connected to this generator
powerCurrent amount of power
power_levelAmount of energy stored, used for visual overlays (over 9000?)
stateCurrent state of the machine, between FG_UNSECURED, FG_SECURED, FG_WELDED
warming_upTimer between 0 and 3 before the field gets made

Procs

check_power_levelThe power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. +The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that +no power level overlay is currently in the overlays list.
+

Var Details

active + + + + +

+

Current power mode of the machine, between FG_OFFLINE, FG_CHARGING, FG_ONLINE

clean_up + + + + +

+

Check for asynk cleanups for this and the connected gens

connected_gens + + + + +

+

List of every field generators connected to this one

fields + + + + +

+

List of every containment fields connected to this generator

power + + + + +

+

Current amount of power

power_level + + + + +

+

Amount of energy stored, used for visual overlays (over 9000?)

state + + + + +

+

Current state of the machine, between FG_UNSECURED, FG_SECURED, FG_WELDED

warming_up + + + + +

+

Timer between 0 and 3 before the field gets made

Proc Details

check_power_level +

+

The power level is displayed using overlays. The current displayed power level is stored in 'powerlevel'. +The overlay in use and the powerlevel variable must be kept in sync. A powerlevel equal to 0 means that +no power level overlay is currently in the overlays list.

+ + + diff --git a/obj/machinery/firealarm.html b/obj/machinery/firealarm.html new file mode 100644 index 00000000000..75b82a54be5 --- /dev/null +++ b/obj/machinery/firealarm.html @@ -0,0 +1,94 @@ + + + + + + + /obj/machinery/firealarm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

firealarm + + + +

+ + + + + + + + +

Vars

buildstageBuildstate for contruction steps
my_areaOur home area, set in Init. Due to loading step order, this seems to be null very early in the server setup process, which is why some procs use my_area? for var or list checks.
soundlooplooping sound datum for our fire alarm siren.

Procs

alarmSounds the fire alarm and closes all firelocks in the area. Also tells the area to color the lights red.
check_security_levelSignal handler for checking if we should update fire alarm appearance accordingly to a newly set security level
resetResets all firelocks in the area. Also tells the area to disable alarm lighting, if it was enabled.
set_statusSets the sound state, and then calls update_icon()
+

Var Details

buildstage + + + + +

+

Buildstate for contruction steps

my_area + + + + +

+

Our home area, set in Init. Due to loading step order, this seems to be null very early in the server setup process, which is why some procs use my_area? for var or list checks.

soundloop + + + + +

+

looping sound datum for our fire alarm siren.

Proc Details

alarm +

+

Sounds the fire alarm and closes all firelocks in the area. Also tells the area to color the lights red.

+

Arguments:

+
    +
  • mob/user is the user that pulled the alarm.
  • +

check_security_level +

+

Signal handler for checking if we should update fire alarm appearance accordingly to a newly set security level

+

Arguments:

+
    +
  • source The datum source of the signal
  • +
  • new_level The new security level that is in effect
  • +

reset +

+

Resets all firelocks in the area. Also tells the area to disable alarm lighting, if it was enabled.

+

Arguments:

+
    +
  • mob/user is the user that reset the alarm.
  • +

set_status +

+

Sets the sound state, and then calls update_icon()

+

This proc exists to be called by areas and firelocks +so that it may update its icon and start or stop playing +the alarm sound based on the state of an area variable.

+ + + diff --git a/obj/machinery/fishing_portal_generator.html b/obj/machinery/fishing_portal_generator.html new file mode 100644 index 00000000000..7b0d3570f7b --- /dev/null +++ b/obj/machinery/fishing_portal_generator.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/fishing_portal_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fishing_portal_generator + + + +

+ + + +

Vars

activeThe current fishing spot loaded in

Procs

select_fish_sourceCreate a radial menu from a list of available fish sources. If only the default is available, activate it right away.
+

Var Details

active + + + + +

+

The current fishing spot loaded in

Proc Details

select_fish_source +

+

Create a radial menu from a list of available fish sources. If only the default is available, activate it right away.

+ + + diff --git a/obj/machinery/flasher.html b/obj/machinery/flasher.html new file mode 100644 index 00000000000..e2477d89823 --- /dev/null +++ b/obj/machinery/flasher.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/flasher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flasher + + + +

+ + + + + +

Vars

bulbThe contained flash. Mostly just handles the bulb burning out & needing placement.
flash_cooldown_durationDuration of time between flashes.
flash_rangeHow far this flash reaches. Affects both proximity distance and the actual stun effect.
strengthHow strong Paralyze()'d targets are when flashed.
+

Var Details

bulb + + + + +

+

The contained flash. Mostly just handles the bulb burning out & needing placement.

flash_cooldown_duration + + + + +

+

Duration of time between flashes.

flash_range + + + + +

+

How far this flash reaches. Affects both proximity distance and the actual stun effect.

strength + + + + +

+

How strong Paralyze()'d targets are when flashed.

+ + + diff --git a/obj/machinery/flasher/portable.html b/obj/machinery/flasher/portable.html new file mode 100644 index 00000000000..2d75a21ee54 --- /dev/null +++ b/obj/machinery/flasher/portable.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/flasher/portable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

portable + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/fugitive_locator.html b/obj/machinery/fugitive_locator.html new file mode 100644 index 00000000000..9ed34f7a315 --- /dev/null +++ b/obj/machinery/fugitive_locator.html @@ -0,0 +1,45 @@ + + + + + + + /obj/machinery/fugitive_locator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Bounty Locator + + + +

+ +

Locates a random, living fugitive and reports their name/location on a 40 second cooldown.

+

Locates a random fugitive antagonist via the GLOB.antagonists list, and reads out their real name and area name. +Captured or dead fugitives are not reported.

+ +

Vars

locate_cooldownCooldown on locating a fugitive.

Procs

locate_fugitiveLocates a random fugitive via their antag datum and returns them.
+

Var Details

locate_cooldown + + + + +

+

Cooldown on locating a fugitive.

Proc Details

locate_fugitive +

+

Locates a random fugitive via their antag datum and returns them.

+ + + diff --git a/obj/machinery/gateway.html b/obj/machinery/gateway.html new file mode 100644 index 00000000000..7038c2a241e --- /dev/null +++ b/obj/machinery/gateway.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/gateway - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gateway + + + +

+ + + + + + + +

Vars

destinationThis is our own destination, pointing at this gateway
destination_nameName of the generated destination
destination_typeType of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway
portalbumper object, the thing that starts actual teleport
portal_visualsVisual object for handling the viscontents
targetThis is current active destination
+

Var Details

destination + + + + +

+

This is our own destination, pointing at this gateway

destination_name + + + + +

+

Name of the generated destination

destination_type + + + + +

+

Type of instanced gateway destination, needs to be subtype of /datum/gateway_destination/gateway

portal + + + + +

+

bumper object, the thing that starts actual teleport

portal_visuals + + + + +

+

Visual object for handling the viscontents

target + + + + +

+

This is current active destination

+ + + diff --git a/obj/machinery/gravity_generator/main.html b/obj/machinery/gravity_generator/main.html new file mode 100644 index 00000000000..4ac820904ab --- /dev/null +++ b/obj/machinery/gravity_generator/main.html @@ -0,0 +1,128 @@ + + + + + + + /obj/machinery/gravity_generator/main - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

main + + + +

+ +

Main gravity generator

+

The actual gravity generator, that actually holds the UI, contains the grav gen parts, ect.

+ + + + + + + + + + + + + +

Vars

breakerIf the main breaker is on/off, to enable/disable gravity.
broken_stateWhen broken, what stage it is at (GRAV_NEEDS_SCREWDRIVER:0) (GRAV_NEEDS_WELDING:1) (GRAV_NEEDS_PLASTEEL:2) (GRAV_NEEDS_WRENCH:3)
center_partThe gravity generator part in the very center, the fifth one, where we place the overlays.
charge_countHow much charge the gravity generator has, goes down when breaker is shut, and shuts down at 0.
charging_stateIf the generatir os idle, charging, or down.
current_overlayThe gravity overlay currently used.
generator_partsList of all gravity generator parts
gravity_fieldThe gravity field created by the generator.
onWhether the gravity generator is currently active.
radioactive_nebula_shieldingAmount of shielding we offer against a radioactive nebula
settingGravity value when on, honestly I don't know why it does it like this, but it does.
soundloopAudio for when the gravgen is on

Procs

get_radioactive_nebula_shieldingReturns the radioactive shielding (if there's a radioactive nebula). Called from a callback set in add_to_nebula_shielding()
shake_everyoneShake everyone on the z level to let them know that gravity was enagaged/disengaged.
+

Var Details

breaker + + + + +

+

If the main breaker is on/off, to enable/disable gravity.

broken_state + + + + +

+

When broken, what stage it is at (GRAV_NEEDS_SCREWDRIVER:0) (GRAV_NEEDS_WELDING:1) (GRAV_NEEDS_PLASTEEL:2) (GRAV_NEEDS_WRENCH:3)

center_part + + + + +

+

The gravity generator part in the very center, the fifth one, where we place the overlays.

charge_count + + + + +

+

How much charge the gravity generator has, goes down when breaker is shut, and shuts down at 0.

charging_state + + + + +

+

If the generatir os idle, charging, or down.

current_overlay + + + + +

+

The gravity overlay currently used.

generator_parts + + + + +

+

List of all gravity generator parts

gravity_field + + + + +

+

The gravity field created by the generator.

on + + + + +

+

Whether the gravity generator is currently active.

radioactive_nebula_shielding + + + + +

+

Amount of shielding we offer against a radioactive nebula

setting + + + + +

+

Gravity value when on, honestly I don't know why it does it like this, but it does.

soundloop + + + + +

+

Audio for when the gravgen is on

Proc Details

get_radioactive_nebula_shielding +

+

Returns the radioactive shielding (if there's a radioactive nebula). Called from a callback set in add_to_nebula_shielding()

shake_everyone +

+

Shake everyone on the z level to let them know that gravity was enagaged/disengaged.

+ + + diff --git a/obj/machinery/gravity_generator/part.html b/obj/machinery/gravity_generator/part.html new file mode 100644 index 00000000000..54cc5ba0447 --- /dev/null +++ b/obj/machinery/gravity_generator/part.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/gravity_generator/part - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

part + + + +

+ +

Generator part

+

Parts of the gravity generator used to have a proper sprite.

+

Procs

on_update_iconUsed to eat args

Proc Details

on_update_icon +

+

Used to eat args

+ + + diff --git a/obj/machinery/griddle.html b/obj/machinery/griddle.html new file mode 100644 index 00000000000..4279f383e5e --- /dev/null +++ b/obj/machinery/griddle.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/griddle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

griddle + + + +

+ + + + + + +

Vars

griddled_objectsThings that are being griddled right now
grill_loopLooping sound for the grill
max_itemsHow many shit fits on the griddle?
onWhether or not the machine is turned on right now
variantWhat variant of griddle is this?
+

Var Details

griddled_objects + + + + +

+

Things that are being griddled right now

grill_loop + + + + +

+

Looping sound for the grill

max_items + + + + +

+

How many shit fits on the griddle?

on + + + + +

+

Whether or not the machine is turned on right now

variant + + + + +

+

What variant of griddle is this?

+ + + diff --git a/obj/machinery/grill.html b/obj/machinery/grill.html new file mode 100644 index 00000000000..dfa5ecd94ee --- /dev/null +++ b/obj/machinery/grill.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/grill - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

grill + + + +

+ + +

Procs

GrillCompletedCalled when a food is transformed by the grillable component

Proc Details

GrillCompleted +

+

Called when a food is transformed by the grillable component

+ + + diff --git a/obj/machinery/gulag_item_reclaimer.html b/obj/machinery/gulag_item_reclaimer.html new file mode 100644 index 00000000000..c5438533b6c --- /dev/null +++ b/obj/machinery/gulag_item_reclaimer.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/gulag_item_reclaimer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gulag_item_reclaimer + + + +

+ + +

Vars

screen_iconIcon of the current screen status
+

Var Details

screen_icon + + + + +

+

Icon of the current screen status

+ + + diff --git a/obj/machinery/holopad.html b/obj/machinery/holopad.html new file mode 100644 index 00000000000..cca5b2ba298 --- /dev/null +++ b/obj/machinery/holopad.html @@ -0,0 +1,203 @@ + + + + + + + /obj/machinery/holopad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

holopad + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + +

Vars

callingIf we are currently calling another holopad
can_hear_flagsbitfield. used to turn on and off hearing sensitivity depending on if we can act on Hear() at all - meant for lowering the number of unessesary hearable atoms
diskRecord disk
force_answer_callCalls will be automatically answered after a couple rings, here for debugging
holo_callsArray of /datum/holocalls that are calling US. this is only filled for holopads answering calls from another holopad
holo_rangeChange to change how far the AI can move away from the holopad before deactivating
holoraysHoloray-owner link
last_requestTo prevent request spam. ~Carn
loop_modeCurrently looping a recording
mastersassociative lazylist of the form: list(owner of a hologram = hologram representing that owner).
outgoing_callCurrently outgoing holocall, cannot call any other holopads unless this is null. +creating a new holocall from us to another holopad sets this var to that holocall datum
planeThe plane is set such that it shows up without being covered by pipes/wires in a map editor, we change this on initialize.
record_modeCurrently recording
record_startRecording start time
record_userUser that inititiated the recording
replay_holoReplay hologram
replay_modeCurrently replaying a recording
secureFor pads in secure areas; do not allow forced connecting

Procs

callee_hung_upCalled by holocall to inform outgoing_call that the call is terminated.
callee_picked_upCalled by holocall to inform outgoing_call that the receiver picked up.
hangup_all_callshangup_all_calls: Disconnects all current holocalls from the holopad
set_can_hear_flagssetter for can_hear_flags. handles adding or removing the given flag on can_hear_flags and then adding hearing sensitivity or removing it depending on the final state +this is necessary because holopads are a significant fraction of the hearable atoms on station which increases the cost of procs that iterate through hearables +so we need holopads to not be hearable until it is needed
set_holocallsetter for adding/removing holocalls to this holopad. used to update the holo_calls list and can_hear_flags +adds the given holocall if add_holocall is TRUE, removes if FALSE
+

Var Details

calling + + + + +

+

If we are currently calling another holopad

can_hear_flags + + + + +

+

bitfield. used to turn on and off hearing sensitivity depending on if we can act on Hear() at all - meant for lowering the number of unessesary hearable atoms

disk + + + + +

+

Record disk

force_answer_call + + + + +

+

Calls will be automatically answered after a couple rings, here for debugging

holo_calls + + + + +

+

Array of /datum/holocalls that are calling US. this is only filled for holopads answering calls from another holopad

holo_range + + + + +

+

Change to change how far the AI can move away from the holopad before deactivating

holorays + + + + +

+

Holoray-owner link

last_request + + + + +

+

To prevent request spam. ~Carn

loop_mode + + + + +

+

Currently looping a recording

masters + + + + +

+

associative lazylist of the form: list(owner of a hologram = hologram representing that owner).

outgoing_call + + + + +

+

Currently outgoing holocall, cannot call any other holopads unless this is null. +creating a new holocall from us to another holopad sets this var to that holocall datum

plane + + + + +

+

The plane is set such that it shows up without being covered by pipes/wires in a map editor, we change this on initialize.

record_mode + + + + +

+

Currently recording

record_start + + + + +

+

Recording start time

record_user + + + + +

+

User that inititiated the recording

replay_holo + + + + +

+

Replay hologram

replay_mode + + + + +

+

Currently replaying a recording

secure + + + + +

+

For pads in secure areas; do not allow forced connecting

Proc Details

callee_hung_up +

+

Called by holocall to inform outgoing_call that the call is terminated.

callee_picked_up +

+

Called by holocall to inform outgoing_call that the receiver picked up.

hangup_all_calls +

+

hangup_all_calls: Disconnects all current holocalls from the holopad

set_can_hear_flags +

+

setter for can_hear_flags. handles adding or removing the given flag on can_hear_flags and then adding hearing sensitivity or removing it depending on the final state +this is necessary because holopads are a significant fraction of the hearable atoms on station which increases the cost of procs that iterate through hearables +so we need holopads to not be hearable until it is needed

+
    +
  • flag - one of the can_hear_flags flag defines
  • +
  • set_flag - boolean, if TRUE sets can_hear_flags to that flag and might add hearing sensitivity if can_hear_flags was NONE before, +if FALSE unsets the flag and possibly removes hearing sensitivity
  • +

set_holocall +

+

setter for adding/removing holocalls to this holopad. used to update the holo_calls list and can_hear_flags +adds the given holocall if add_holocall is TRUE, removes if FALSE

+ + + diff --git a/obj/machinery/holopad/tutorial.html b/obj/machinery/holopad/tutorial.html new file mode 100644 index 00000000000..c10cc0164b8 --- /dev/null +++ b/obj/machinery/holopad/tutorial.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/holopad/tutorial - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tutorial + + + +

+ + +

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/hydroponics.html b/obj/machinery/hydroponics.html new file mode 100644 index 00000000000..cd002bdf7ea --- /dev/null +++ b/obj/machinery/hydroponics.html @@ -0,0 +1,353 @@ + + + + + + + /obj/machinery/hydroponics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hydroponics + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

ageCurrent age
cycledelayAbout 10 seconds / cycle
lastcycleUsed for timing of cycles.
lastproduceLast time it was harvested
lastuserThe last user to add a reagent to the tray, mostly for logging purposes.
maxnutriThe maximum nutrient reagent container size of the tray.
maxwaterThe maximum amount of water in the tray
mutmodNutriment's effect on mutations
myseedThe currently planted seed
nutridrainHow many units of nutrients will be drained in the tray.
pestlevelThe amount of pests in the tray (max 10)
plant_healthIts health
plant_statusThe status of the plant in the tray. Whether it's harvestable, alive, missing or dead.
ratingObtained from the quality of the parts used in the tray, determines nutrient drain rate.
recent_bee_visitHave we been visited by a bee recently, so bees dont overpollinate one plant
self_sustainingIf the tray generates nutrients and water on its own
self_sustaining_overlay_icon_stateThe icon state for the overlay used to represent that this tray is self-sustaining.
toxicToxicity in the tray?
unwrenchableCan it be unwrenched to move?
waterlevelThe amount of water in the tray (max 100)
weedlevelThe amount of weeds in the tray (max 10)
yieldmodNutriment's effect on yield

Procs

adjust_pestlevelAdjust Pests. +Raises the tray's pest level stat by a given amount.
adjust_plant_healthAdjust Health. +Raises the tray's plant_health stat by a given amount, with total health determined by the seed's endurance.
adjust_toxicAdjust toxicity. +Raises the plant's toxic stat by a given amount.
adjust_waterlevelAdjust water. +Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray. +Returns the amount of water actually added/taken
adjust_weedlevelAdjust Weeds. +Raises the plant's weed level stat by a given amount.
after_mutationCalled after plant mutation, update the appearance of the tray content and send a visible_message()
apply_chemicalsThis is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.
can_bee_pollinateBee pollinate proc. +Checks if the bee can pollinate the plant
mutatepestPest Mutation Proc. +When a tray is mutated with high pest values, it will spawn spiders.
mutation_rollContains the reagents within the tray.
plantdiesPlant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.
pollinatePlant Cross-Pollination. +Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. +If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant.
set_seedSets a new value for the myseed variable, which is the seed of the plant that's growing inside the tray.
spawnplantSpawn Plant. +Upon using strange reagent on a tray, it will spawn a killer tomato or killer tree at random.
update_trayUpdate Tray Proc +Handles plant harvesting on the tray side, by clearing the seed, names, description, and dead stat. +Shuts off autogrow if enabled. +Sends messages to the cleaer about plants harvested, or if nothing was harvested at all.
weedinvasionWhat happens when a tray's weeds grow too large. +Plants a new weed in an empty tray, then resets the tray.
+

Var Details

age + + + + +

+

Current age

cycledelay + + + + +

+

About 10 seconds / cycle

lastcycle + + + + +

+

Used for timing of cycles.

lastproduce + + + + +

+

Last time it was harvested

lastuser + + + + +

+

The last user to add a reagent to the tray, mostly for logging purposes.

maxnutri + + + + +

+

The maximum nutrient reagent container size of the tray.

maxwater + + + + +

+

The maximum amount of water in the tray

mutmod + + + + +

+

Nutriment's effect on mutations

myseed + + + + +

+

The currently planted seed

nutridrain + + + + +

+

How many units of nutrients will be drained in the tray.

pestlevel + + + + +

+

The amount of pests in the tray (max 10)

plant_health + + + + +

+

Its health

plant_status + + + + +

+

The status of the plant in the tray. Whether it's harvestable, alive, missing or dead.

rating + + + + +

+

Obtained from the quality of the parts used in the tray, determines nutrient drain rate.

recent_bee_visit + + + + +

+

Have we been visited by a bee recently, so bees dont overpollinate one plant

self_sustaining + + + + +

+

If the tray generates nutrients and water on its own

self_sustaining_overlay_icon_state + + + + +

+

The icon state for the overlay used to represent that this tray is self-sustaining.

toxic + + + + +

+

Toxicity in the tray?

unwrenchable + + + + +

+

Can it be unwrenched to move?

waterlevel + + + + +

+

The amount of water in the tray (max 100)

weedlevel + + + + +

+

The amount of weeds in the tray (max 10)

yieldmod + + + + +

+

Nutriment's effect on yield

Proc Details

adjust_pestlevel +

+

Adjust Pests. +Raises the tray's pest level stat by a given amount.

+
    +
  • adjustamt - Determines how much the pest level will be adjusted upwards or downwards.
  • +

adjust_plant_health +

+

Adjust Health. +Raises the tray's plant_health stat by a given amount, with total health determined by the seed's endurance.

+
    +
  • adjustamt - Determines how much the plant_health will be adjusted upwards or downwards.
  • +

adjust_toxic +

+

Adjust toxicity. +Raises the plant's toxic stat by a given amount.

+
    +
  • adjustamt - Determines how much the toxic will be adjusted upwards or downwards.
  • +

adjust_waterlevel +

+

Adjust water. +Raises or lowers tray water values by a set value. Adding water will dillute toxicity from the tray. +Returns the amount of water actually added/taken

+
    +
  • adjustamt - determines how much water the tray will be adjusted upwards or downwards.
  • +

adjust_weedlevel +

+

Adjust Weeds. +Raises the plant's weed level stat by a given amount.

+
    +
  • adjustamt - Determines how much the weed level will be adjusted upwards or downwards.
  • +

after_mutation +

+

Called after plant mutation, update the appearance of the tray content and send a visible_message()

apply_chemicals +

+

This is NOW the gradual affects that each chemical applies on every process() proc. Nutrients now use a more robust reagent holder in order to apply less insane +stat changes as opposed to 271 lines of individual statline effects. Shoutout to the original comments on chems, I just cleaned a few up.

can_bee_pollinate +

+

Bee pollinate proc. +Checks if the bee can pollinate the plant

mutatepest +

+

Pest Mutation Proc. +When a tray is mutated with high pest values, it will spawn spiders.

+
    +
  • User - Person who last added chemicals to the tray for logging purposes.
  • +

mutation_roll +

+

Contains the reagents within the tray.

plantdies +

+

Plant Death Proc. +Cleans up various stats for the plant upon death, including pests, harvestability, and plant health.

pollinate +

+

Plant Cross-Pollination. +Checks all plants in the tray's oview range, then averages out the seed's potency, instability, and yield values. +If the seed's instability is >= 20, the seed donates one of it's reagents to that nearby plant.

+
    +
  • Range - The Oview range of trays to which to look for plants to donate reagents.
  • +

set_seed +

+

Sets a new value for the myseed variable, which is the seed of the plant that's growing inside the tray.

spawnplant +

+

Spawn Plant. +Upon using strange reagent on a tray, it will spawn a killer tomato or killer tree at random.

update_tray +

+

Update Tray Proc +Handles plant harvesting on the tray side, by clearing the seed, names, description, and dead stat. +Shuts off autogrow if enabled. +Sends messages to the cleaer about plants harvested, or if nothing was harvested at all.

+
    +
  • User - The mob who clears the tray.
  • +

weedinvasion +

+

What happens when a tray's weeds grow too large. +Plants a new weed in an empty tray, then resets the tray.

+ + + diff --git a/obj/machinery/hypertorus/interface.html b/obj/machinery/hypertorus/interface.html new file mode 100644 index 00000000000..de16dcb698e --- /dev/null +++ b/obj/machinery/hypertorus/interface.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/hypertorus/interface - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

interface + + + +

+ + + +

Vars

activatedHave we been activated at least once?
connected_coreReference to the core of our machine
+

Var Details

activated + + + + +

+

Have we been activated at least once?

connected_core + + + + +

+

Reference to the core of our machine

+ + + diff --git a/obj/machinery/hypnochair.html b/obj/machinery/hypnochair.html new file mode 100644 index 00000000000..a66b3cee065 --- /dev/null +++ b/obj/machinery/hypnochair.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/hypnochair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hypnochair + + + +

+ + + + + + + +

Vars

interrogatingKeeps track of the victim to apply effects if it teleports away
message_cooldownTimer ID for interrogations
start_timeIs the device currently interrogating someone?
timeridTrigger phrase to implant
trigger_phraseTime when the interrogation was started, to calculate effect in case of interruption

Procs

InitializeCooldown for breakout message
+

Var Details

interrogating + + + + +

+

Keeps track of the victim to apply effects if it teleports away

message_cooldown + + + + +

+

Timer ID for interrogations

start_time + + + + +

+

Is the device currently interrogating someone?

timerid + + + + +

+

Trigger phrase to implant

trigger_phrase + + + + +

+

Time when the interrogation was started, to calculate effect in case of interruption

Proc Details

Initialize +

+

Cooldown for breakout message

+ + + diff --git a/obj/machinery/icecream_vat.html b/obj/machinery/icecream_vat.html new file mode 100644 index 00000000000..65d338f2fa3 --- /dev/null +++ b/obj/machinery/icecream_vat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/icecream_vat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

icecream_vat + + + +

+ + +

Vars

cone_prototypesList of prototypes of dispensable ice cream cones. path as key, instance as assoc.
+

Var Details

cone_prototypes + + + + +

+

List of prototypes of dispensable ice cream cones. path as key, instance as assoc.

+ + + diff --git a/obj/machinery/igniter.html b/obj/machinery/igniter.html new file mode 100644 index 00000000000..52b27f0dd60 --- /dev/null +++ b/obj/machinery/igniter.html @@ -0,0 +1,42 @@ + + + + + + + /obj/machinery/igniter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

igniter + + + +

+ + + +

Procs

processHave to process to ignite any gas that comes in the turf
toggleturns the igniter on/off

Proc Details

process +

+

Have to process to ignite any gas that comes in the turf

toggle +

+

turns the igniter on/off

+ + + diff --git a/obj/machinery/incident_display.html b/obj/machinery/incident_display.html new file mode 100644 index 00000000000..81b771414fd --- /dev/null +++ b/obj/machinery/incident_display.html @@ -0,0 +1,65 @@ + + + + + + + /obj/machinery/incident_display - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

incident_display + + + +

+ +

List of safety statistic signs on the map that have delam counting enabled. +Required as persistence subsystem loads after the ones present at mapload, and to reset to 0 upon explosion.

+ + + + +

Vars

delam_recordDelam record high-score
hit_countTram hits
hit_thresholdTram hits before hazard warning
last_delamShifts without delam
sign_featuresWhat statistics we want the sign to display
+

Var Details

delam_record + + + + +

+

Delam record high-score

hit_count + + + + +

+

Tram hits

hit_threshold + + + + +

+

Tram hits before hazard warning

last_delam + + + + +

+

Shifts without delam

sign_features + + + + +

+

What statistics we want the sign to display

+ + + diff --git a/obj/machinery/iv_drip.html b/obj/machinery/iv_drip.html new file mode 100644 index 00000000000..867510c0bba --- /dev/null +++ b/obj/machinery/iv_drip.html @@ -0,0 +1,113 @@ + + + + + + + /obj/machinery/iv_drip - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

iv_drip + + + +

+ +

Universal IV that can drain blood or feed reagents over a period of time from or to a replaceable container

+ + + + + + + + + + + +

Vars

attachedWhat are we sticking our needle in?
internal_list_reagentsIf we're using the internal container, fill us UP with the below : list(/datum/reagent/water = 5000)
internal_volume_maximumHow many reagents can we hold?
modeAre we donating or injecting?
reagent_containerInternal beaker
transfer_rateThe chemicals flow speed
use_internal_storageSet false to block beaker use and instead use an internal reagent holder

Procs

attach_ivcalled when an IV is attached
can_use_alt_clickChecks whether the IV drip transfer rate can be modified with AltClick
detach_ivCalled when an iv is detached. doesnt include chat stuff because there's multiple options and its better handled by the caller
get_reagentsGet the reagents used by IV drip
set_transfer_rateSets the transfer rate to the provided value
+

Var Details

attached + + + + +

+

What are we sticking our needle in?

internal_list_reagents + + + + +

+

If we're using the internal container, fill us UP with the below : list(/datum/reagent/water = 5000)

internal_volume_maximum + + + + +

+

How many reagents can we hold?

mode + + + + +

+

Are we donating or injecting?

reagent_container + + + + +

+

Internal beaker

transfer_rate + + + + +

+

The chemicals flow speed

use_internal_storage + + + + +

+

Set false to block beaker use and instead use an internal reagent holder

Proc Details

attach_iv +

+

called when an IV is attached

can_use_alt_click +

+

Checks whether the IV drip transfer rate can be modified with AltClick

detach_iv +

+

Called when an iv is detached. doesnt include chat stuff because there's multiple options and its better handled by the caller

get_reagents +

+

Get the reagents used by IV drip

set_transfer_rate +

+

Sets the transfer rate to the provided value

+ + + diff --git a/obj/machinery/jukebox.html b/obj/machinery/jukebox.html new file mode 100644 index 00000000000..834b3dec453 --- /dev/null +++ b/obj/machinery/jukebox.html @@ -0,0 +1,87 @@ + + + + + + + /obj/machinery/jukebox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

jukebox + + + +

+ + + + + + + + + +

Vars

activeWhether we're actively playing music
jukebox_error_cdCooldown between "Error" sound effects being played
rangersList of weakrefs to mobs listening to the current song
selectionCurrent song selected
songsList of /datum/tracks we can play +Inited from config every time a jukebox is instantiated
stopWorld.time when the current song will stop playing, but also a cooldown between activations
volumeVolume of the songs played

Procs

load_songs_from_configLoads the config sounds once, and returns a copy of them.
+

Var Details

active + + + + +

+

Whether we're actively playing music

jukebox_error_cd + + + + +

+

Cooldown between "Error" sound effects being played

rangers + + + + +

+

List of weakrefs to mobs listening to the current song

selection + + + + +

+

Current song selected

songs + + + + +

+

List of /datum/tracks we can play +Inited from config every time a jukebox is instantiated

stop + + + + +

+

World.time when the current song will stop playing, but also a cooldown between activations

volume + + + + +

+

Volume of the songs played

Proc Details

load_songs_from_config +

+

Loads the config sounds once, and returns a copy of them.

+ + + diff --git a/obj/machinery/launchpad.html b/obj/machinery/launchpad.html new file mode 100644 index 00000000000..071af5b56e6 --- /dev/null +++ b/obj/machinery/launchpad.html @@ -0,0 +1,159 @@ + + + + + + + /obj/machinery/launchpad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

launchpad + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

display_nameWhat to name the launchpad in the console
hiddenDetermines if the bluespace launchpad is blatantly obvious on teleportation.
icon_teleportThe beam icon
indicator_iconThe icon to use for the indicator
power_efficiencyThe power efficiency of the launchpad
rangeMax range of the launchpad
stationaryTo prevent briefcase pad deconstruction and such
teleport_beamThe beam on teleportation
teleport_speedThe speed of the teleportation
teleportingIf it's in the process of teleporting
x_offsetCurrent x target
y_offsetCurrent y target

Procs

doteleportPerforms the teleport. +sending - TRUE/FALSE depending on if the launch pad is teleporting to or from the target. +alternate_log_name - An alternative name to use in logs, if user is not present..
is_availableWhether this launchpad can send or receive.
set_offsetSets the offset of the launchpad.
teleport_checksChecks if the launchpad can teleport.
update_hudUpdates diagnostic huds
update_indicatorUpdates the indicator icon.
+

Var Details

display_name + + + + +

+

What to name the launchpad in the console

hidden + + + + +

+

Determines if the bluespace launchpad is blatantly obvious on teleportation.

icon_teleport + + + + +

+

The beam icon

indicator_icon + + + + +

+

The icon to use for the indicator

power_efficiency + + + + +

+

The power efficiency of the launchpad

range + + + + +

+

Max range of the launchpad

stationary + + + + +

+

To prevent briefcase pad deconstruction and such

teleport_beam + + + + +

+

The beam on teleportation

teleport_speed + + + + +

+

The speed of the teleportation

teleporting + + + + +

+

If it's in the process of teleporting

x_offset + + + + +

+

Current x target

y_offset + + + + +

+

Current y target

Proc Details

doteleport +

+

Performs the teleport. +sending - TRUE/FALSE depending on if the launch pad is teleporting to or from the target. +alternate_log_name - An alternative name to use in logs, if user is not present..

is_available +

+

Whether this launchpad can send or receive.

set_offset +

+

Sets the offset of the launchpad.

teleport_checks +

+

Checks if the launchpad can teleport.

update_hud +

+

Updates diagnostic huds

update_indicator +

+

Updates the indicator icon.

+ + + diff --git a/obj/machinery/libraryscanner.html b/obj/machinery/libraryscanner.html new file mode 100644 index 00000000000..a33de4221ce --- /dev/null +++ b/obj/machinery/libraryscanner.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/libraryscanner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

libraryscanner + + + +

+ + +

Vars

cacheOur scanned-in book
+

Var Details

cache + + + + +

+

Our scanned-in book

+ + + diff --git a/obj/machinery/lift_indicator.html b/obj/machinery/lift_indicator.html new file mode 100644 index 00000000000..1b89d984afd --- /dev/null +++ b/obj/machinery/lift_indicator.html @@ -0,0 +1,97 @@ + + + + + + + /obj/machinery/lift_indicator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lift_indicator + + + +

+ +

An indicator display aka an elevator hall lantern w/ floor number

+ + + + + + + + +

Vars

current_lift_directionPositive for going up, negative going down, 0 for stopped
current_lift_floorThe elevator's current floor relative to its lowest floor being 1
lift_refWeakref to the transport.
linked_elevator_idWhat specific_transport_id do we link with?
lowest_floor_numThe lowest floor number. Determined by transport module init.
lowest_floor_offset'Floors' for display purposes are by default offset by 1 from their actual z-levels

Procs

on_lift_directionUpdate state, and only process if elevator is moving.
set_lift_stateSet the state and update appearance.
update_operatingUpdate processing state.
+

Var Details

current_lift_direction + + + + +

+

Positive for going up, negative going down, 0 for stopped

current_lift_floor + + + + +

+

The elevator's current floor relative to its lowest floor being 1

lift_ref + + + + +

+

Weakref to the transport.

linked_elevator_id + + + + +

+

What specific_transport_id do we link with?

lowest_floor_num + + + + +

+

The lowest floor number. Determined by transport module init.

lowest_floor_offset + + + + +

+

'Floors' for display purposes are by default offset by 1 from their actual z-levels

Proc Details

on_lift_direction +

+

Update state, and only process if elevator is moving.

set_lift_state +

+

Set the state and update appearance.

+

Arguments: +new_direction - new arrow state: UP, DOWN, or 0 +new_floor - set the floor number, eg. 1, 2, 3 +force_update - force appearance to update even if state didn't change.

update_operating +

+

Update processing state.

+

Returns whether we are still processing.

+ + + diff --git a/obj/machinery/light.html b/obj/machinery/light.html new file mode 100644 index 00000000000..5b97cdaa370 --- /dev/null +++ b/obj/machinery/light.html @@ -0,0 +1,262 @@ + + + + + + + /obj/machinery/light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

light + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

base_statebase description and icon_state
brightnessLuminosity when on, also used in power calculation
bulb_colourDefault colour of the light.
bulb_emergency_colourColour of the light when major emergency mode is on
bulb_low_power_brightness_mulMultiplier for this light's base brightness in low power power mode
bulb_low_power_colourDetermines the colour of the light while it's in low power mode
bulb_low_power_pow_minThe minimum value for the light's power in low power mode
bulb_low_power_pow_mulThe multiplier for determining the light's power in low power mode
bulb_major_emergency_brightness_mulMultiplier for this light's base brightness during a cascade
bulb_powerBasically the alpha of the emitted light source
cellCell reference
fire_brightnessThe Light range to use when working in fire alarm status
fire_colourThe Light colour to use when working in fire alarm status
fittingString of the light type, used in descriptions and in examine
flickeringShould we flicker?
has_mock_cellIf TRUE, then cell is null, but one is pretending to exist. +This is to defer emergency cell creation unless necessary, as it is very expensive.
light_typeThe type of light item
low_power_modeIf true, the light is in low power mode
major_emergencyIf true, overrides lights to use emergency lighting
nightshift_allowedSet to FALSE to never let this light get switched to night mode.
nightshift_brightnessBrightness of the nightshift light
nightshift_enabledCurrently in night shift mode?
nightshift_light_colorBasecolor of the nightshift light
nightshift_light_powerAlpha of the nightshift light
no_low_powerIf true, this light cannot ever be in low power mode
onIs the light on?
overlay_iconWhat overlay the light should use
power_consumption_ratePower usage - W per unit of luminosity
start_with_cellIf true, this fixture generates a very weak cell at roundstart
static_power_usedAmount of power used
statusLIGHT_OK, _EMPTY, _BURNED or _BROKEN
switchcountCount of number of times switched on/off, this is used to calculate the probability the light burns out

Procs

knock_downAll the effects that occur when a light falls off a wall that it was hung onto.
+

Var Details

base_state + + + + +

+

base description and icon_state

brightness + + + + +

+

Luminosity when on, also used in power calculation

bulb_colour + + + + +

+

Default colour of the light.

bulb_emergency_colour + + + + +

+

Colour of the light when major emergency mode is on

bulb_low_power_brightness_mul + + + + +

+

Multiplier for this light's base brightness in low power power mode

bulb_low_power_colour + + + + +

+

Determines the colour of the light while it's in low power mode

bulb_low_power_pow_min + + + + +

+

The minimum value for the light's power in low power mode

bulb_low_power_pow_mul + + + + +

+

The multiplier for determining the light's power in low power mode

bulb_major_emergency_brightness_mul + + + + +

+

Multiplier for this light's base brightness during a cascade

bulb_power + + + + +

+

Basically the alpha of the emitted light source

cell + + + + +

+

Cell reference

fire_brightness + + + + +

+

The Light range to use when working in fire alarm status

fire_colour + + + + +

+

The Light colour to use when working in fire alarm status

fitting + + + + +

+

String of the light type, used in descriptions and in examine

flickering + + + + +

+

Should we flicker?

has_mock_cell + + + + +

+

If TRUE, then cell is null, but one is pretending to exist. +This is to defer emergency cell creation unless necessary, as it is very expensive.

light_type + + + + +

+

The type of light item

low_power_mode + + + + +

+

If true, the light is in low power mode

major_emergency + + + + +

+

If true, overrides lights to use emergency lighting

nightshift_allowed + + + + +

+

Set to FALSE to never let this light get switched to night mode.

nightshift_brightness + + + + +

+

Brightness of the nightshift light

nightshift_enabled + + + + +

+

Currently in night shift mode?

nightshift_light_color + + + + +

+

Basecolor of the nightshift light

nightshift_light_power + + + + +

+

Alpha of the nightshift light

no_low_power + + + + +

+

If true, this light cannot ever be in low power mode

on + + + + +

+

Is the light on?

overlay_icon + + + + +

+

What overlay the light should use

power_consumption_rate + + + + +

+

Power usage - W per unit of luminosity

start_with_cell + + + + +

+

If true, this fixture generates a very weak cell at roundstart

static_power_used + + + + +

+

Amount of power used

status + + + + +

+

LIGHT_OK, _EMPTY, _BURNED or _BROKEN

switchcount + + + + +

+

Count of number of times switched on/off, this is used to calculate the probability the light burns out

Proc Details

knock_down +

+

All the effects that occur when a light falls off a wall that it was hung onto.

+ + + diff --git a/obj/machinery/light_switch.html b/obj/machinery/light_switch.html new file mode 100644 index 00000000000..e32ab3222a0 --- /dev/null +++ b/obj/machinery/light_switch.html @@ -0,0 +1,52 @@ + + + + + + + /obj/machinery/light_switch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light_switch + + + +

+ +

The light switch. Can have multiple per area.

+ + +

Vars

areaSet this to a string, path, or area instance to control that area +instead of the switch's location.
autonameShould this lightswitch automatically rename itself to match the area it's in?
light_on_rangeRange of the light emitted when powered, but off
+

Var Details

area + + + + +

+

Set this to a string, path, or area instance to control that area +instead of the switch's location.

autoname + + + + +

+

Should this lightswitch automatically rename itself to match the area it's in?

light_on_range + + + + +

+

Range of the light emitted when powered, but off

+ + + diff --git a/obj/machinery/limbgrower.html b/obj/machinery/limbgrower.html new file mode 100644 index 00000000000..dcc3bf4b316 --- /dev/null +++ b/obj/machinery/limbgrower.html @@ -0,0 +1,109 @@ + + + + + + + /obj/machinery/limbgrower - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

limbgrower + + + +

+ +

The limbgrower. Makes organd and limbs with synthflesh and chems. +See [limbgrower_designs.dm] for everything we can make.

+ + + + + + + + + + +

Vars

being_builtThe design we're printing currently.
busyIf we're currently printing something.
categoriesAll the categories of organs we can print.
imported_designsDesigns imported from technology disks that we can print.
production_coefficientHow efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.
production_speedHow long it takes for us to print a limb. Affected by production_coefficient.
selected_categoryThe category of limbs we're browing in our UI.
stored_researchOur internal techweb for limbgrower designs.

Procs

build_itemThe amount of power we're going to use, based on how much reagent we use.
create_buildpathThe limb we're making with our buildpath, so we can edit it. +Returns a valid limb typepath based on the selected option
emag_actEmagging a limbgrower allows you to build synthetic armblades.
+

Var Details

being_built + + + + +

+

The design we're printing currently.

busy + + + + +

+

If we're currently printing something.

categories + + + + +

+

All the categories of organs we can print.

imported_designs + + + + +

+

Designs imported from technology disks that we can print.

production_coefficient + + + + +

+

How efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.

production_speed + + + + +

+

How long it takes for us to print a limb. Affected by production_coefficient.

selected_category + + + + +

+

The category of limbs we're browing in our UI.

stored_research + + + + +

+

Our internal techweb for limbgrower designs.

Proc Details

build_item +

+

The amount of power we're going to use, based on how much reagent we use.

create_buildpath +

+

The limb we're making with our buildpath, so we can edit it. +Returns a valid limb typepath based on the selected option

emag_act +

+

Emagging a limbgrower allows you to build synthetic armblades.

+ + + diff --git a/obj/machinery/loot_locator.html b/obj/machinery/loot_locator.html new file mode 100644 index 00000000000..7085477806b --- /dev/null +++ b/obj/machinery/loot_locator.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/loot_locator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

loot_locator + + + +

+ + + +

Vars

locate_cooldownCooldown on locating booty.

Procs

find_random_lootLooks across the station for items that are pirate specific exports
+

Var Details

locate_cooldown + + + + +

+

Cooldown on locating booty.

Proc Details

find_random_loot +

+

Looks across the station for items that are pirate specific exports

+ + + diff --git a/obj/machinery/ltsrbt.html b/obj/machinery/ltsrbt.html new file mode 100644 index 00000000000..d0d99d30425 --- /dev/null +++ b/obj/machinery/ltsrbt.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/ltsrbt - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ltsrbt + + + +

+ + + + + + + + + + +

Vars

base_recharge_timeBase recharge time in seconds which is used to get recharge_time.
power_efficiencyDivider for power_usage_per_teleport.
power_usage_per_teleportPower used per teleported which gets divided by power_efficiency.
queueQueue for purchases that the machine should receive and send.
receivingCurrent /datum/market_purchase being received.
recharge_cooldownCurrent recharge progress.
recharge_timeThe time it takes for the machine to recharge before being able to send or receive items.
transmittingCurrent /datum/market_purchase being sent to the target uplink.

Procs

add_to_queueAdds /datum/market_purchase to queue unless the machine is free, then it sets the purchase to be instantly received
+

Var Details

base_recharge_time + + + + +

+

Base recharge time in seconds which is used to get recharge_time.

power_efficiency + + + + +

+

Divider for power_usage_per_teleport.

power_usage_per_teleport + + + + +

+

Power used per teleported which gets divided by power_efficiency.

queue + + + + +

+

Queue for purchases that the machine should receive and send.

receiving + + + + +

+

Current /datum/market_purchase being received.

recharge_cooldown + + + + +

+

Current recharge progress.

recharge_time + + + + +

+

The time it takes for the machine to recharge before being able to send or receive items.

transmitting + + + + +

+

Current /datum/market_purchase being sent to the target uplink.

Proc Details

add_to_queue +

+

Adds /datum/market_purchase to queue unless the machine is free, then it sets the purchase to be instantly received

+ + + diff --git a/obj/machinery/materials_market.html b/obj/machinery/materials_market.html new file mode 100644 index 00000000000..4aaab141e73 --- /dev/null +++ b/obj/machinery/materials_market.html @@ -0,0 +1,56 @@ + + + + + + + /obj/machinery/materials_market - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

materials_market + + + +

+ + + + +

Vars

exportable_material_itemsWhat items can be converted into a stock block? Must be a stack subtype based on current implementation.
ordering_privateAre we ordering sheets from our own card balance or the cargo budget?

Procs

find_orderFind the order purchased either privately or by cargo budget +Arguments
+

Var Details

exportable_material_items + + + + +

+

What items can be converted into a stock block? Must be a stack subtype based on current implementation.

ordering_private + + + + +

+

Are we ordering sheets from our own card balance or the cargo budget?

Proc Details

find_order +

+

Find the order purchased either privately or by cargo budget +Arguments

+
    +
  • user - the user who placed this order
  • +
  • is_ordering_private - is the player ordering privatly. If FALSE it means they are using cargo budget
  • +
+ + + diff --git a/obj/machinery/mech_bay_recharge_port.html b/obj/machinery/mech_bay_recharge_port.html new file mode 100644 index 00000000000..464f8de520a --- /dev/null +++ b/obj/machinery/mech_bay_recharge_port.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/mech_bay_recharge_port - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mech_bay_recharge_port + + + +

+ + + + + +

Vars

recharge_consoleRef to charge console for seeing charge for this port, cyclical reference
recharge_powerPower unit per second to charge by
recharging_mech_refWeakref to currently recharging mech on our recharging_turf
recharging_turfturf that will be checked when a mech wants to charge. directly one turf in the direction it is facing
+

Var Details

recharge_console + + + + +

+

Ref to charge console for seeing charge for this port, cyclical reference

recharge_power + + + + +

+

Power unit per second to charge by

recharging_mech_ref + + + + +

+

Weakref to currently recharging mech on our recharging_turf

recharging_turf + + + + +

+

turf that will be checked when a mech wants to charge. directly one turf in the direction it is facing

+ + + diff --git a/obj/machinery/mecha_part_fabricator.html b/obj/machinery/mecha_part_fabricator.html new file mode 100644 index 00000000000..67092268126 --- /dev/null +++ b/obj/machinery/mecha_part_fabricator.html @@ -0,0 +1,214 @@ + + + + + + + /obj/machinery/mecha_part_fabricator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha_part_fabricator + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

being_builtThe current design datum that the machine is building.
build_finishWorld time when the build will finish.
build_startWorld time when the build started.
cached_designsAll designs in the techweb that can be fabricated by this machine, since the last update.
component_coeffCoefficient for the efficiency of material usage in item building. Based on the installed parts.
link_on_initWhether the Exofab links to the ore silo on init. Special derelict or maintanance variants should set this to FALSE.
process_queueWhether or not the machine is building the entire queue automagically.
queueCurrent items in the build queue.
rmatReference to a remote material inventory, such as an ore silo.
stored_partPart currently stored in the Exofab.
stored_researchReference to the techweb.
time_coeffCoefficient for the speed of item building. Based on the installed parts.
top_job_idThe job ID of the part currently being processed. This is used for ordering list items for the client UI.

Procs

add_to_queueAdds a datum design to the build queue.
build_next_in_queueAttempts to build the next item in the build queue.
build_partStarts the build process for a given design datum.
dispense_built_partDispenses a part to the tile infront of the Exosuit Fab.
get_construction_time_w_coeffCalculates the coefficient-modified build time of a design.
on_finish_printingIntended to be called when the exofab has stopped working and is no longer printing items.
on_start_printingIntended to be called when an item starts printing.
remove_from_queueRemoves datum design from the build queue based on index.
update_menu_techUpdates the final_sets and buildable_parts for the current mecha fabricator.
+

Var Details

being_built + + + + +

+

The current design datum that the machine is building.

build_finish + + + + +

+

World time when the build will finish.

build_start + + + + +

+

World time when the build started.

cached_designs + + + + +

+

All designs in the techweb that can be fabricated by this machine, since the last update.

component_coeff + + + + +

+

Coefficient for the efficiency of material usage in item building. Based on the installed parts.

+

Whether the Exofab links to the ore silo on init. Special derelict or maintanance variants should set this to FALSE.

process_queue + + + + +

+

Whether or not the machine is building the entire queue automagically.

queue + + + + +

+

Current items in the build queue.

rmat + + + + +

+

Reference to a remote material inventory, such as an ore silo.

stored_part + + + + +

+

Part currently stored in the Exofab.

stored_research + + + + +

+

Reference to the techweb.

time_coeff + + + + +

+

Coefficient for the speed of item building. Based on the installed parts.

top_job_id + + + + +

+

The job ID of the part currently being processed. This is used for ordering list items for the client UI.

Proc Details

add_to_queue +

+

Adds a datum design to the build queue.

+

Returns TRUE if successful and FALSE if the design was not added to the queue.

+
    +
  • D - Datum design to add to the queue.
  • +

build_next_in_queue +

+

Attempts to build the next item in the build queue.

+

Returns FALSE if either there are no more parts to build or the next part is not buildable. +Returns TRUE if the next part has started building.

+
    +
  • verbose - Whether the machine should use say() procs. Set to FALSE to disable the machine saying reasons for failure to build.
  • +

build_part +

+

Starts the build process for a given design datum.

+

Returns FALSE if the procedure fails. Returns TRUE when being_built is set. +Uses materials.

+
    +
  • D - Design datum to attempt to print.
  • +
  • verbose - Whether the machine should use say() procs. Set to FALSE to disable the machine saying reasons for failure to build.
  • +

dispense_built_part +

+

Dispenses a part to the tile infront of the Exosuit Fab.

+

Returns FALSE is the machine cannot dispense the part on the appropriate turf. +Return TRUE if the part was successfully dispensed.

+
    +
  • D - Design datum to attempt to dispense.
  • +

get_construction_time_w_coeff +

+

Calculates the coefficient-modified build time of a design.

+

Returns coefficient-modified build time of a given design.

+
    +
  • D - Design datum to calculate the modified build time of.
  • +
  • roundto - Rounding value for round() proc
  • +

on_finish_printing +

+

Intended to be called when the exofab has stopped working and is no longer printing items.

+

Removes the overlay to show the fab working and sets idle power usage settings. Additionally resets the description and turns off queue processing.

on_start_printing +

+

Intended to be called when an item starts printing.

+

Adds the overlay to show the fab working and sets active power usage settings.

remove_from_queue +

+

Removes datum design from the build queue based on index.

+

Returns TRUE if successful and FALSE if a design was not removed from the queue.

+
    +
  • index - Index in the build queue of the element to remove.
  • +

update_menu_tech +

+

Updates the final_sets and buildable_parts for the current mecha fabricator.

+ + + diff --git a/obj/machinery/mechpad.html b/obj/machinery/mechpad.html new file mode 100644 index 00000000000..bd28fd985d8 --- /dev/null +++ b/obj/machinery/mechpad.html @@ -0,0 +1,62 @@ + + + + + + + /obj/machinery/mechpad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mechpad + + + +

+ + + + + +

Vars

display_nameName of the mechpad in a mechpad console
idID of the console, used for linking up
mech_onlyCan we carry mobs or just mechs?

Procs

launchSpawns a special supply pod whitelisted to only accept mechs and have its drop off location be another mechpad +Arguments:
+

Var Details

display_name + + + + +

+

Name of the mechpad in a mechpad console

id + + + + +

+

ID of the console, used for linking up

mech_only + + + + +

+

Can we carry mobs or just mechs?

Proc Details

launch +

+

Spawns a special supply pod whitelisted to only accept mechs and have its drop off location be another mechpad +Arguments:

+
    +
  • where - where the supply pod will land after grabbing the mech
  • +
+ + + diff --git a/obj/machinery/medical_kiosk.html b/obj/machinery/medical_kiosk.html new file mode 100644 index 00000000000..7b9c24f5835 --- /dev/null +++ b/obj/machinery/medical_kiosk.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/medical_kiosk - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medical_kiosk + + + +

+ + + + + + + + +

Vars

active_priceHow much it currently costs to use the kiosk.
default_priceHow much it costs to use the kiosk by default.
pandemoniumMakes the TGUI display gibberish and/or incorrect/erratic information.
patient_refWho's getting scanned?
paying_customerDo we have someone paying to use this?
paying_refWho's paying?
scan_activeShows whether the kiosk is being used to scan someone and what it's being used for.
+

Var Details

active_price + + + + +

+

How much it currently costs to use the kiosk.

default_price + + + + +

+

How much it costs to use the kiosk by default.

pandemonium + + + + +

+

Makes the TGUI display gibberish and/or incorrect/erratic information.

patient_ref + + + + +

+

Who's getting scanned?

paying_customer + + + + +

+

Do we have someone paying to use this?

paying_ref + + + + +

+

Who's paying?

scan_active + + + + +

+

Shows whether the kiosk is being used to scan someone and what it's being used for.

+ + + diff --git a/obj/machinery/medipen_refiller.html b/obj/machinery/medipen_refiller.html new file mode 100644 index 00000000000..0335285c87d --- /dev/null +++ b/obj/machinery/medipen_refiller.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/medipen_refiller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medipen_refiller + + + +

+ + +

Vars

allowed_pensList of medipen subtypes it can refill and the chems needed for it to work.
+

Var Details

allowed_pens + + + + +

+

List of medipen subtypes it can refill and the chems needed for it to work.

+ + + diff --git a/obj/machinery/meter.html b/obj/machinery/meter.html new file mode 100644 index 00000000000..7114e99700d --- /dev/null +++ b/obj/machinery/meter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/meter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

meter + + + +

+ + + +

Vars

targetThe pipe we are attaching to
target_layerThe piping layer of the target
+

Var Details

target + + + + +

+

The pipe we are attaching to

target_layer + + + + +

+

The piping layer of the target

+ + + diff --git a/obj/machinery/meter/monitored.html b/obj/machinery/meter/monitored.html new file mode 100644 index 00000000000..e16dcf0d8f3 --- /dev/null +++ b/obj/machinery/meter/monitored.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/meter/monitored - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

monitored + + + +

+ + +

Vars

chamber_idThe unique string that represents which atmos chamber to associate with.
+

Var Details

chamber_id + + + + +

+

The unique string that represents which atmos chamber to associate with.

+ + + diff --git a/obj/machinery/microwave.html b/obj/machinery/microwave.html new file mode 100644 index 00000000000..3a3f99ecaef --- /dev/null +++ b/obj/machinery/microwave.html @@ -0,0 +1,227 @@ + + + + + + + /obj/machinery/microwave - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

microwave + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

brokenHow broken is it? NOT_BROKEN, KINDA_BROKEN, REALLY_BROKEN
cellThe cell we charge with
cell_poweredIf we use a cell instead of powernet
dirtyHow dirty is it?
efficiencyMicrowave efficiency (power) based on the stock components
ingredient_shifts_xWhen this is the nth ingredient, whats its pixel_x?
ingredient_shifts_yWhen this is the nth ingredient, whats its pixel_y?
ingredientsMay only contain /atom/movables
max_n_of_itemsMicrowave max capacity
openMicrowave door position
pda_failureFail due to inserted PDA
vampire_cellThe cell we're charging
vampire_charging_capableCapable of vampire charging PDAs
vampire_charging_enabledCharge contents of microwave instead of cook
wire_disabledIs its function wire cut?
wire_mode_swapWire cut to run mode backwards

Procs

charge_loopThe actual cook loop started via [proc/start] or [proc/start_can_fail]
charge_loop_finishCalled when the charge_loop is done successfully, no dirty mess or whatever
cookBegins the process of cooking the included ingredients.
cook_loopThe actual cook loop started via [proc/start] or [proc/start_can_fail]
loop_finishCalled when the cook_loop is done successfully, no dirty mess or whatever
startThe start of the cook loop
start_can_failThe start of the cook loop, but can fail (result in a splat / dirty microwave)
vampireThe start of the charge loop
+

Var Details

broken + + + + +

+

How broken is it? NOT_BROKEN, KINDA_BROKEN, REALLY_BROKEN

cell + + + + +

+

The cell we charge with

cell_powered + + + + +

+

If we use a cell instead of powernet

dirty + + + + +

+

How dirty is it?

efficiency + + + + +

+

Microwave efficiency (power) based on the stock components

ingredient_shifts_x + + + + +

+

When this is the nth ingredient, whats its pixel_x?

ingredient_shifts_y + + + + +

+

When this is the nth ingredient, whats its pixel_y?

ingredients + + + + +

+

May only contain /atom/movables

max_n_of_items + + + + +

+

Microwave max capacity

open + + + + +

+

Microwave door position

pda_failure + + + + +

+

Fail due to inserted PDA

vampire_cell + + + + +

+

The cell we're charging

vampire_charging_capable + + + + +

+

Capable of vampire charging PDAs

vampire_charging_enabled + + + + +

+

Charge contents of microwave instead of cook

wire_disabled + + + + +

+

Is its function wire cut?

wire_mode_swap + + + + +

+

Wire cut to run mode backwards

Proc Details

charge_loop +

+

The actual cook loop started via [proc/start] or [proc/start_can_fail]

+
    +
  • type - the type of charging, determined via how this iteration of cook_loop is called, and determines the result
  • +
  • time - how many loops are left, base case for recursion
  • +
  • wait - deciseconds between loops
  • +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

charge_loop_finish +

+

Called when the charge_loop is done successfully, no dirty mess or whatever

+
    +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

cook +

+

Begins the process of cooking the included ingredients.

+
    +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

cook_loop +

+

The actual cook loop started via [proc/start] or [proc/start_can_fail]

+
    +
  • type - the type of cooking, determined via how this iteration of cook_loop is called, and determines the result
  • +
  • time - how many loops are left, base case for recursion
  • +
  • wait - deciseconds between loops
  • +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

loop_finish +

+

Called when the cook_loop is done successfully, no dirty mess or whatever

+
    +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

start +

+

The start of the cook loop

+
    +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

start_can_fail +

+

The start of the cook loop, but can fail (result in a splat / dirty microwave)

+
    +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +

vampire +

+

The start of the charge loop

+
    +
  • cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp)
  • +
+ + + diff --git a/obj/machinery/mineral.html b/obj/machinery/mineral.html new file mode 100644 index 00000000000..94d6249c87e --- /dev/null +++ b/obj/machinery/mineral.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/mineral - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mineral + + + +

+ +

Mineral processing unit console

+ + + + + + + +

Vars

input_dirThe current direction of input_turf, in relation to the machine.
input_turfThe turf the machines listens to for items to pick up. Calls the pickup_item() proc.
needs_item_inputDetermines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.
output_dirThe current direction, in relation to the machine, that items will be output to.

Procs

pickup_itemBase proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.
register_input_turfGets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.
unload_mineralGeneric unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.
unregister_input_turfUnregisters signals that are registered the machine's input turf, if it has one.
+

Var Details

input_dir + + + + +

+

The current direction of input_turf, in relation to the machine.

input_turf + + + + +

+

The turf the machines listens to for items to pick up. Calls the pickup_item() proc.

needs_item_input + + + + +

+

Determines if this machine needs to pick up items. Used to avoid registering signals to /mineral machines that don't pickup items.

output_dir + + + + +

+

The current direction, in relation to the machine, that items will be output to.

Proc Details

pickup_item +

+

Base proc for all /mineral subtype machines to use. Place your item pickup behavior in this proc when you override it for your specific machine.

+

Called when the COMSIG_ATOM_ENTERED and COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZED_ON signals are sent.

+

Arguments:

+
    +
  • source - the turf that is listening for the signals.
  • +
  • target - the atom that just moved onto the source turf.
  • +
  • oldLoc - the old location that target was at before moving onto source.
  • +

register_input_turf +

+

Gets the turf in the input_dir direction adjacent to the machine, and registers signals for ATOM_ENTERED and ATOM_CREATED. Calls the pickup_item() proc when it receives these signals.

unload_mineral +

+

Generic unloading proc. Takes an atom as an argument and forceMove's it to the turf adjacent to this machine in the output_dir direction.

unregister_input_turf +

+

Unregisters signals that are registered the machine's input turf, if it has one.

+ + + diff --git a/obj/machinery/mineral/labor_claim_console.html b/obj/machinery/mineral/labor_claim_console.html new file mode 100644 index 00000000000..a0b1b1eaa18 --- /dev/null +++ b/obj/machinery/mineral/labor_claim_console.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/mineral/labor_claim_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

labor_claim_console + + + +

+ +

Prisoners' Console

+ +

Vars

security_radioNeeded to send messages to sec radio
stacking_machineConnected stacking machine
+

Var Details

security_radio + + + + +

+

Needed to send messages to sec radio

stacking_machine + + + + +

+

Connected stacking machine

+ + + diff --git a/obj/machinery/mineral/ore_redemption.html b/obj/machinery/mineral/ore_redemption.html new file mode 100644 index 00000000000..e1946e87b75 --- /dev/null +++ b/obj/machinery/mineral/ore_redemption.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/mineral/ore_redemption - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ore_redemption + + + +

+ +

Ore Redemption Unit

+ + + + + + + + + +

Vars

console_notify_timerVariable that holds a timer which is used for callbacks to send_console_message(). Used for preventing multiple calls to this proc while the ORM is eating a stack of ores.
materialsLinkage to the ORM silo
ore_multiplierSmelted ore's amount is multiplied by this
ore_valuesDetails how many credits each smelted ore is worth
point_upgradeIncreases the amount of points the miners gain
pointsThe current amount of unclaimed points in the machine
requires_siloBoolean on whether the ORM can claim points without being connected to an ore silo.
stored_researchReferences the alloys the smelter can create

Procs

can_smelt_alloyReturns the amount of a specific alloy design, based on the accessible materials
send_console_messageSends a message to the request consoles that signed up for ore updates
+

Var Details

console_notify_timer + + + + +

+

Variable that holds a timer which is used for callbacks to send_console_message(). Used for preventing multiple calls to this proc while the ORM is eating a stack of ores.

materials + + + + +

+

Linkage to the ORM silo

ore_multiplier + + + + +

+

Smelted ore's amount is multiplied by this

ore_values + + + + +

+

Details how many credits each smelted ore is worth

point_upgrade + + + + +

+

Increases the amount of points the miners gain

points + + + + +

+

The current amount of unclaimed points in the machine

requires_silo + + + + +

+

Boolean on whether the ORM can claim points without being connected to an ore silo.

stored_research + + + + +

+

References the alloys the smelter can create

Proc Details

can_smelt_alloy +

+

Returns the amount of a specific alloy design, based on the accessible materials

send_console_message +

+

Sends a message to the request consoles that signed up for ore updates

+ + + diff --git a/obj/machinery/mineral/processing_unit.html b/obj/machinery/mineral/processing_unit.html new file mode 100644 index 00000000000..1a80f53b9c6 --- /dev/null +++ b/obj/machinery/mineral/processing_unit.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/mineral/processing_unit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

processing_unit + + + +

+ +

Mineral processing unit

+ +

Vars

materialsMaterial container for materials
proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

materials + + + + +

+

Material container for materials

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/mineral/processing_unit_console.html b/obj/machinery/mineral/processing_unit_console.html new file mode 100644 index 00000000000..68b9581ccd9 --- /dev/null +++ b/obj/machinery/mineral/processing_unit_console.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/mineral/processing_unit_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

processing_unit_console + + + +

+ + +

Vars

processing_machineConnected ore processing machine.
+

Var Details

processing_machine + + + + +

+

Connected ore processing machine.

+ + + diff --git a/obj/machinery/mineral/stacking_machine.html b/obj/machinery/mineral/stacking_machine.html new file mode 100644 index 00000000000..39fc241cc86 --- /dev/null +++ b/obj/machinery/mineral/stacking_machine.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/mineral/stacking_machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stacking_machine + + + +

+ +

Mineral stacking unit

+

Vars

proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/machinery/mineral/stacking_machine/laborstacker.html b/obj/machinery/mineral/stacking_machine/laborstacker.html new file mode 100644 index 00000000000..b241129f69c --- /dev/null +++ b/obj/machinery/mineral/stacking_machine/laborstacker.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/mineral/stacking_machine/laborstacker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

laborstacker + + + +

+ +

Prisoner Collection Unit

+ +

Vars

labor_consoleLabor claim console synced to our stacking machine, set by the console.
pointsIdle points sitting in the machine left to be claimed.
+

Var Details

labor_console + + + + +

+

Labor claim console synced to our stacking machine, set by the console.

points + + + + +

+

Idle points sitting in the machine left to be claimed.

+ + + diff --git a/obj/machinery/mineral/stacking_unit_console.html b/obj/machinery/mineral/stacking_unit_console.html new file mode 100644 index 00000000000..61d11e921cf --- /dev/null +++ b/obj/machinery/mineral/stacking_unit_console.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/mineral/stacking_unit_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stacking_unit_console + + + +

+ +

Mineral stacking unit console

+

Vars

machineConnected stacking machine
+

Var Details

machine + + + + +

+

Connected stacking machine

+ + + diff --git a/obj/machinery/modular_computer.html b/obj/machinery/modular_computer.html new file mode 100644 index 00000000000..f15ace5c962 --- /dev/null +++ b/obj/machinery/modular_computer.html @@ -0,0 +1,120 @@ + + + + + + + /obj/machinery/modular_computer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_computer + + + +

+ + + + + + + + + + + + + + +

Vars

base_active_power_usagePower usage when the computer is open (screen is active) and can be interacted with.
base_idle_power_usagePower usage when the computer is idle and screen is off (currently only applies to laptops)
cpuCPU that handles most logic while this type only handles power and other specific things.
hardware_flagA flag that describes this device type
icon_state_poweredIcon state when the computer is turned on.
icon_state_unpoweredIcon state when the computer is turned off.
internal_cellThe power cell, null by default as we use the APC we're in
light_strengthLight luminosity when turned on
max_idle_programsAmount of programs that can be ran at once
screen_icon_screensaverIcon state overlay when the computer is powered, but not 'switched on'.
screen_icon_state_menuIcon state overlay when the computer is turned on, but no program is loaded that would override the screen.
steel_sheet_costAmount of steel sheets refunded when disassembling an empty frame of this computer.

Procs

relay_icon_updateEats the "source" arg because update_icon actually expects args now.
+

Var Details

base_active_power_usage + + + + +

+

Power usage when the computer is open (screen is active) and can be interacted with.

base_idle_power_usage + + + + +

+

Power usage when the computer is idle and screen is off (currently only applies to laptops)

cpu + + + + +

+

CPU that handles most logic while this type only handles power and other specific things.

hardware_flag + + + + +

+

A flag that describes this device type

icon_state_powered + + + + +

+

Icon state when the computer is turned on.

icon_state_unpowered + + + + +

+

Icon state when the computer is turned off.

internal_cell + + + + +

+

The power cell, null by default as we use the APC we're in

light_strength + + + + +

+

Light luminosity when turned on

max_idle_programs + + + + +

+

Amount of programs that can be ran at once

screen_icon_screensaver + + + + +

+

Icon state overlay when the computer is powered, but not 'switched on'.

screen_icon_state_menu + + + + +

+

Icon state overlay when the computer is turned on, but no program is loaded that would override the screen.

steel_sheet_cost + + + + +

+

Amount of steel sheets refunded when disassembling an empty frame of this computer.

Proc Details

relay_icon_update +

+

Eats the "source" arg because update_icon actually expects args now.

+ + + diff --git a/obj/machinery/modular_computer/preset.html b/obj/machinery/modular_computer/preset.html new file mode 100644 index 00000000000..890a48d904b --- /dev/null +++ b/obj/machinery/modular_computer/preset.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_computer/preset - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

preset + + + +

+ + +

Vars

starting_programsList of programs the computer starts with, given on Initialize.
+

Var Details

starting_programs + + + + +

+

List of programs the computer starts with, given on Initialize.

+ + + diff --git a/obj/machinery/modular_computer/preset/cargochat.html b/obj/machinery/modular_computer/preset/cargochat.html new file mode 100644 index 00000000000..42b8b6924e2 --- /dev/null +++ b/obj/machinery/modular_computer/preset/cargochat.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_computer/preset/cargochat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cargochat + + + +

+ + +

Vars

console_departmentUsed in Initialize to set the chat client name.
+

Var Details

console_department + + + + +

+

Used in Initialize to set the chat client name.

+ + + diff --git a/obj/machinery/modular_shield/module.html b/obj/machinery/modular_shield/module.html new file mode 100644 index 00000000000..2c3ad668e89 --- /dev/null +++ b/obj/machinery/modular_shield/module.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/modular_shield/module - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

module + + + +

+ +

The general code used for machines that want to connect to the network

+ + + +

Vars

connected_nodeThe node we are connected to if we find one
connected_turfThis is the turf that we are facing and able to search for connections through
shield_generatorThe shield generator we are connected to if we find one or a node provides us one

Procs

try_connectchecks for a valid machine in front of us and connects to it
+

Var Details

connected_node + + + + +

+

The node we are connected to if we find one

connected_turf + + + + +

+

This is the turf that we are facing and able to search for connections through

shield_generator + + + + +

+

The shield generator we are connected to if we find one or a node provides us one

Proc Details

try_connect +

+

checks for a valid machine in front of us and connects to it

+ + + diff --git a/obj/machinery/modular_shield/module/charger.html b/obj/machinery/modular_shield/module/charger.html new file mode 100644 index 00000000000..62982b94468 --- /dev/null +++ b/obj/machinery/modular_shield/module/charger.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_shield/module/charger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

charger + + + +

+ + +

Vars

charge_boostAmount of regeneration this machine grants the connected generator
+

Var Details

charge_boost + + + + +

+

Amount of regeneration this machine grants the connected generator

+ + + diff --git a/obj/machinery/modular_shield/module/node.html b/obj/machinery/modular_shield/module/node.html new file mode 100644 index 00000000000..10b75302da0 --- /dev/null +++ b/obj/machinery/modular_shield/module/node.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/modular_shield/module/node - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

node + + + +

+ + + + +

Vars

connected_through_usThe lazy list of machines that are connected to us and want connection to a generator

Procs

connect_connected_through_usIf we are connected to a shield generator this proc will connect anything connected to us to that generator
disconnect_connected_through_usThis proc disconnects modules connected through us from the shield generator in the event that we lose connection
+

Var Details

connected_through_us + + + + +

+

The lazy list of machines that are connected to us and want connection to a generator

Proc Details

connect_connected_through_us +

+

If we are connected to a shield generator this proc will connect anything connected to us to that generator

disconnect_connected_through_us +

+

This proc disconnects modules connected through us from the shield generator in the event that we lose connection

+ + + diff --git a/obj/machinery/modular_shield/module/relay.html b/obj/machinery/modular_shield/module/relay.html new file mode 100644 index 00000000000..ebc1fbc97e3 --- /dev/null +++ b/obj/machinery/modular_shield/module/relay.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_shield/module/relay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

relay + + + +

+ + +

Vars

range_boostAmount of max range this machine grants the connected generator
+

Var Details

range_boost + + + + +

+

Amount of max range this machine grants the connected generator

+ + + diff --git a/obj/machinery/modular_shield/module/well.html b/obj/machinery/modular_shield/module/well.html new file mode 100644 index 00000000000..84029ec7ed2 --- /dev/null +++ b/obj/machinery/modular_shield/module/well.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/modular_shield/module/well - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

well + + + +

+ + +

Vars

strength_boostAmount of max strength this machine grants the connected generator
+

Var Details

strength_boost + + + + +

+

Amount of max strength this machine grants the connected generator

+ + + diff --git a/obj/machinery/modular_shield_generator.html b/obj/machinery/modular_shield_generator.html new file mode 100644 index 00000000000..020f9dbd606 --- /dev/null +++ b/obj/machinery/modular_shield_generator.html @@ -0,0 +1,232 @@ + + + + + + + /obj/machinery/modular_shield_generator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_shield_generator + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeDoesnt actually control it, just tells us if its running or not, you can control by calling procs activate_shields and deactivate_shields
connected_modulesThe lazy list of machines that are connected to and boosting us
current_regenerationThe regeneration that the shield can support
deployed_shieldsThe lazy list of shields that are ours
exterior_onlyDetermins if we only generate a shield on space turfs or not
initiatingIf the generator is currently spawning the forcefield in
innate_radiusMax radius gained from our own parts
innate_regenRegeneration gained from our own parts
innate_strengthMax strength gained from our own parts
inside_shieldThe lazy list of turfs that are within the shield
list_of_turfsThis is the lazy list of perimeter turfs that we grab when making large shields of 10 or more radius
max_radiusDetermins the max radius the shield can support
max_regenerationShield Regeneration when at 100% efficiency
max_strengthDetermins max health of the shield
max_strength_boostMax Strength gained from machines connected to us
radiusCurrent radius the shield is set to, minimum 3
radius_boostMax Radius gained from machines connected to us
recoveringDetermins if we can turn it on or not, no longer recovering when back to max strength
regen_boostRegeneration gained from machines connected to us
stored_strengthCurrent health of shield

Procs

activate_shieldsgenerates the forcefield based on the given radius and calls calculate_regen to update the regen value accordingly
calculate_boostcalculations for the stats supplied by the network of machines that boost us
calculate_max_strengthCalculates the max strength or health of the forcefield, modifiers go here
calculate_radiusCalculates the max radius the shield generator can support, modifiers go here
calculate_regenerationCalculates the regeneration based on the status of the generator and boosts from network, modifiers go here
deactivate_shieldsqdels the forcefield and calls calculate regen to update the regen value accordingly
finish_fieldAfter giving people a grace period to react to we up the alpha value and make the forcefield dense
shield_drainReduces the strength of the shield based on the given integer
toggle_shieldstoggles the forcefield on and off
+

Var Details

active + + + + +

+

Doesnt actually control it, just tells us if its running or not, you can control by calling procs activate_shields and deactivate_shields

connected_modules + + + + +

+

The lazy list of machines that are connected to and boosting us

current_regeneration + + + + +

+

The regeneration that the shield can support

deployed_shields + + + + +

+

The lazy list of shields that are ours

exterior_only + + + + +

+

Determins if we only generate a shield on space turfs or not

initiating + + + + +

+

If the generator is currently spawning the forcefield in

innate_radius + + + + +

+

Max radius gained from our own parts

innate_regen + + + + +

+

Regeneration gained from our own parts

innate_strength + + + + +

+

Max strength gained from our own parts

inside_shield + + + + +

+

The lazy list of turfs that are within the shield

list_of_turfs + + + + +

+

This is the lazy list of perimeter turfs that we grab when making large shields of 10 or more radius

max_radius + + + + +

+

Determins the max radius the shield can support

max_regeneration + + + + +

+

Shield Regeneration when at 100% efficiency

max_strength + + + + +

+

Determins max health of the shield

max_strength_boost + + + + +

+

Max Strength gained from machines connected to us

radius + + + + +

+

Current radius the shield is set to, minimum 3

radius_boost + + + + +

+

Max Radius gained from machines connected to us

recovering + + + + +

+

Determins if we can turn it on or not, no longer recovering when back to max strength

regen_boost + + + + +

+

Regeneration gained from machines connected to us

stored_strength + + + + +

+

Current health of shield

Proc Details

activate_shields +

+

generates the forcefield based on the given radius and calls calculate_regen to update the regen value accordingly

calculate_boost +

+

calculations for the stats supplied by the network of machines that boost us

calculate_max_strength +

+

Calculates the max strength or health of the forcefield, modifiers go here

calculate_radius +

+

Calculates the max radius the shield generator can support, modifiers go here

calculate_regeneration +

+

Calculates the regeneration based on the status of the generator and boosts from network, modifiers go here

deactivate_shields +

+

qdels the forcefield and calls calculate regen to update the regen value accordingly

finish_field +

+

After giving people a grace period to react to we up the alpha value and make the forcefield dense

shield_drain +

+

Reduces the strength of the shield based on the given integer

toggle_shields +

+

toggles the forcefield on and off

+ + + diff --git a/obj/machinery/module_duplicator.html b/obj/machinery/module_duplicator.html new file mode 100644 index 00000000000..d2b273ec508 --- /dev/null +++ b/obj/machinery/module_duplicator.html @@ -0,0 +1,68 @@ + + + + + + + /obj/machinery/module_duplicator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

module_duplicator + + + +

+ +

Module duplicator, allows you to save and recreate module components.

+ + + + +

Vars

cost_per_componentConstant material cost per component
efficiency_coeffCost efficiency of this machine
materialsThe internal material bus
scanned_designsList of designs scanned and saved

Procs

ui_actwe do -1 because normal manipulators rating of 1 gives us 1-1=0 i.e no decrement in cost +linear interpolation between full cost i.e 1 & 1/8th the cost i.e 0.125 +we do it in 6 steps because maximum rating of 2 manipulators is 8 but -1 gives us 6
+

Var Details

cost_per_component + + + + +

+

Constant material cost per component

efficiency_coeff + + + + +

+

Cost efficiency of this machine

materials + + + + +

+

The internal material bus

scanned_designs + + + + +

+

List of designs scanned and saved

Proc Details

ui_act +

+

we do -1 because normal manipulators rating of 1 gives us 1-1=0 i.e no decrement in cost +linear interpolation between full cost i.e 1 & 1/8th the cost i.e 0.125 +we do it in 6 steps because maximum rating of 2 manipulators is 8 but -1 gives us 6

+ + + diff --git a/obj/machinery/navbeacon.html b/obj/machinery/navbeacon.html new file mode 100644 index 00000000000..bb244635ede --- /dev/null +++ b/obj/machinery/navbeacon.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/navbeacon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

navbeacon + + + +

+ + + + + + + + + + + +

Vars

codesassociative list of transponder codes
codes_txtcodes as set on map: "tag1;tag2" or "tag1=value;tag2=value"
controls_lockedtrue if controls are locked
cover_lockedtrue if cover is locked
locationlocation response text
original_locationoriginal location name, to allow resets

Procs

glob_lists_deregisterRemoves the nav beacon from the global beacon lists
glob_lists_registerRegisters the navbeacon to the global beacon lists
set_codesSet the transponder codes assoc list from codes_txt during initialization, or during reset
toggle_codeAdds or removes a specific code
+

Var Details

codes + + + + +

+

associative list of transponder codes

codes_txt + + + + +

+

codes as set on map: "tag1;tag2" or "tag1=value;tag2=value"

controls_locked + + + + +

+

true if controls are locked

cover_locked + + + + +

+

true if cover is locked

location + + + + +

+

location response text

original_location + + + + +

+

original location name, to allow resets

Proc Details

glob_lists_deregister +

+

Removes the nav beacon from the global beacon lists

glob_lists_register +

+

Registers the navbeacon to the global beacon lists

set_codes +

+

Set the transponder codes assoc list from codes_txt during initialization, or during reset

toggle_code +

+

Adds or removes a specific code

+ + + diff --git a/obj/machinery/nebula_shielding.html b/obj/machinery/nebula_shielding.html new file mode 100644 index 00000000000..fa9bfd14808 --- /dev/null +++ b/obj/machinery/nebula_shielding.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/nebula_shielding - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nebula_shielding + + + +

+ +

Machinery that block nebulas. This type is for convenience, you can set nebula shielding on other objects as well using add_to_nebula_shielding()

+ + + + + + +

Vars

active_icon_stateState we use when actively blocking a nebula
broken_icon_stateState for when we're broken and wont work anymore. Make sure to also set integrity_failure for this to work
nebula_typeThe type of nebula that we shield against
power_use_per_blockHow much power we use every time we block the nebula's effects
shielding_strengthStrength of the shield we apply

Procs

generate_rewardGenerate a resource for defending against the nebula
get_nebula_shieldingNebula is asking us how strong we are. Return our shield strength is all is well
+

Var Details

active_icon_state + + + + +

+

State we use when actively blocking a nebula

broken_icon_state + + + + +

+

State for when we're broken and wont work anymore. Make sure to also set integrity_failure for this to work

nebula_type + + + + +

+

The type of nebula that we shield against

power_use_per_block + + + + +

+

How much power we use every time we block the nebula's effects

shielding_strength + + + + +

+

Strength of the shield we apply

Proc Details

generate_reward +

+

Generate a resource for defending against the nebula

get_nebula_shielding +

+

Nebula is asking us how strong we are. Return our shield strength is all is well

+ + + diff --git a/obj/machinery/nebula_shielding/emergency.html b/obj/machinery/nebula_shielding/emergency.html new file mode 100644 index 00000000000..79c2d80e645 --- /dev/null +++ b/obj/machinery/nebula_shielding/emergency.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/nebula_shielding/emergency - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

emergency + + + +

+ +

Short-lived nebula shielding sent by centcom in-case there hasn't been shielding for a while

+ +

Vars

detonate_inHow long we work untill we self-destruct

Procs

self_destructWe don't live for very long, so self-destruct
+

Var Details

detonate_in + + + + +

+

How long we work untill we self-destruct

Proc Details

self_destruct +

+

We don't live for very long, so self-destruct

+ + + diff --git a/obj/machinery/netpod.html b/obj/machinery/netpod.html new file mode 100644 index 00000000000..4dd730659b5 --- /dev/null +++ b/obj/machinery/netpod.html @@ -0,0 +1,186 @@ + + + + + + + /obj/machinery/netpod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

netpod + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

avatar_refHolds this to see if it needs to generate a new one
cached_outfitsStatic list of outfits to select from
connectedWhether we have an ongoing connection
disconnect_damageThe amount of brain damage done from force disconnects
netsuitA player selected outfit by clicking the netpod
server_refThe linked quantum server

Procs

add_healingPuts the occupant in netpod stasis, basically short-circuiting environmental conditions
auto_disconnectDisconnects the occupant after a certain time so they aren't just hibernating in netpod stasis. A balance change
disconnect_occupantHandles occupant post-disconnection effects like damage, sounds, etc
enter_matrix
find_serverFinds a server and sets the server_ref
make_outfit_collectionCreates a list of outfit entries for the UI.
on_brokenMachine has been broken - handles signals and reverting sprites
on_damage_takenChecks the integrity, alerts occupants
on_domain_completePuts points on the current occupant's card account
on_domain_scrubbedThe domain has been fully purged, so we should double check our avatar is deleted
on_power_lossBoots out anyone in the machine && opens it
on_server_upgradedWhen the server is upgraded, drops brain damage a little
resolve_outfitResolves a path to an outfit.
sever_connectionSevers the connection with the current avatar
shut_podCloses the machine without shoving in an occupant
validate_entryChecks for cases to eject/fail connecting an avatar
+

Var Details

avatar_ref + + + + +

+

Holds this to see if it needs to generate a new one

cached_outfits + + + + +

+

Static list of outfits to select from

connected + + + + +

+

Whether we have an ongoing connection

disconnect_damage + + + + +

+

The amount of brain damage done from force disconnects

netsuit + + + + +

+

A player selected outfit by clicking the netpod

server_ref + + + + +

+

The linked quantum server

Proc Details

add_healing +

+

Puts the occupant in netpod stasis, basically short-circuiting environmental conditions

auto_disconnect +

+

Disconnects the occupant after a certain time so they aren't just hibernating in netpod stasis. A balance change

disconnect_occupant +

+

Handles occupant post-disconnection effects like damage, sounds, etc

enter_matrix +

+ Enter Matrix +

Finds any current avatars from this chair - or generates a new one

+

New avatars cost 1 attempt, and this will eject if there's none left

+

Connects the mind to the avatar if everything is ok

find_server +

+

Finds a server and sets the server_ref

make_outfit_collection +

+

Creates a list of outfit entries for the UI.

on_broken +

+

Machine has been broken - handles signals and reverting sprites

on_damage_taken +

+

Checks the integrity, alerts occupants

on_domain_complete +

+

Puts points on the current occupant's card account

on_domain_scrubbed +

+

The domain has been fully purged, so we should double check our avatar is deleted

on_power_loss +

+

Boots out anyone in the machine && opens it

on_server_upgraded +

+

When the server is upgraded, drops brain damage a little

resolve_outfit +

+

Resolves a path to an outfit.

sever_connection +

+

Severs the connection with the current avatar

shut_pod +

+

Closes the machine without shoving in an occupant

validate_entry +

+

Checks for cases to eject/fail connecting an avatar

+ + + diff --git a/obj/machinery/newscaster.html b/obj/machinery/newscaster.html new file mode 100644 index 00000000000..fbe846fa330 --- /dev/null +++ b/obj/machinery/newscaster.html @@ -0,0 +1,301 @@ + + + + + + + /obj/machinery/newscaster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

newscaster + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_requestThe station request datum being affected by UI actions.
admin_accessThe access required to access D-notices.
alertIs there currently an alert on this newscaster that hasn't been seen yet?
bounty_textText of the currently written bounty
bounty_valueValue of the currently bounty input
channel_descWhat is the current, in-creation channel's description going to be?
channel_nameWhat is the current, in-creation channel's name going to be?
comment_textWhat is the current, in-creation comment's body going to be?
creating_channelIs the current user creating a new channel at the moment?
creating_commentIs the current user creating a new comment at the moment?
crime_descriptionWhat is the user submitted, crime description for the new wanted issue?
criminal_nameWhat is the user submitted, criminal name for the new wanted issue?
current_channelWhat newscaster channel is currently being viewed by the player?
current_imageThe current image that will be submitted with the newscaster story.
current_messageWhat newscaster feed_message is currently having a comment written for it?
current_userReference to the currently logged in user.
feed_channel_messageThe message that's currently being written for a feed story.
newscaster_usernameName of the logged in user.
paper_remainingHow much paper is contained within the newscaster?
security_accessThe access required to submit & remove wanted issues.
viewing_wantedIs the current user editing or viewing a new wanted issue at the moment?

Procs

apply_to_bountyThis sorts through the current list of bounties, and confirms that the intended request found is correct. +Then, adds the current user to the list of applicants to that bounty.
attach_photoThis takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.
create_bountyThis creates a new bounty to the global list of bounty requests, alongisde the provided value of the request, and the owner of the request. +For more info, see datum/station_request.
create_channelPerforms a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.
create_commentConstructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.
create_storyCreates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.
delete_bounty_requestThis proc removes a station_request from the global list of requests, after checking that the owner of that request is the one who is trying to remove it.
needs_repairreturns (machine_stat & broken)
news_alertWhen a new feed message is made that will alert all newscasters, this causes the newscasters to sent out a spoken message as well as create a sound.
pay_applicantThis pays out the current request_target the amount held by the active request's assigned value, and then clears the active request from the global list.
print_paperThis takes all current feed stories and messages, and prints them onto a newspaper, after checking that the newscaster has been loaded with paper. +The newscaster then prints the paper to the floor.
remove_alertThis clears alerts on the newscaster from a new message being published and updates the newscaster's appearance.
send_photo_dataSends photo data to build the newscaster article.
start_create_channelThis proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.
toggle_photoSelects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.
+

Var Details

active_request + + + + +

+

The station request datum being affected by UI actions.

admin_access + + + + +

+

The access required to access D-notices.

alert + + + + +

+

Is there currently an alert on this newscaster that hasn't been seen yet?

bounty_text + + + + +

+

Text of the currently written bounty

bounty_value + + + + +

+

Value of the currently bounty input

channel_desc + + + + +

+

What is the current, in-creation channel's description going to be?

channel_name + + + + +

+

What is the current, in-creation channel's name going to be?

comment_text + + + + +

+

What is the current, in-creation comment's body going to be?

creating_channel + + + + +

+

Is the current user creating a new channel at the moment?

creating_comment + + + + +

+

Is the current user creating a new comment at the moment?

crime_description + + + + +

+

What is the user submitted, crime description for the new wanted issue?

criminal_name + + + + +

+

What is the user submitted, criminal name for the new wanted issue?

current_channel + + + + +

+

What newscaster channel is currently being viewed by the player?

current_image + + + + +

+

The current image that will be submitted with the newscaster story.

current_message + + + + +

+

What newscaster feed_message is currently having a comment written for it?

current_user + + + + +

+

Reference to the currently logged in user.

feed_channel_message + + + + +

+

The message that's currently being written for a feed story.

newscaster_username + + + + +

+

Name of the logged in user.

paper_remaining + + + + +

+

How much paper is contained within the newscaster?

security_access + + + + +

+

The access required to submit & remove wanted issues.

viewing_wanted + + + + +

+

Is the current user editing or viewing a new wanted issue at the moment?

Proc Details

apply_to_bounty +

+

This sorts through the current list of bounties, and confirms that the intended request found is correct. +Then, adds the current user to the list of applicants to that bounty.

attach_photo +

+

This takes a held photograph, and updates the current_image variable with that of the held photograph's image. +*user: The mob who is being checked for a held photo object.

create_bounty +

+

This creates a new bounty to the global list of bounty requests, alongisde the provided value of the request, and the owner of the request. +For more info, see datum/station_request.

create_channel +

+

Performs a series of sanity checks before giving the user confirmation to create a new feed_channel using channel_name, and channel_desc. +*channel_locked: This variable determines if other users than the author can make comments and new feed_stories on this channel.

create_comment +

+

Constructs a comment to attach to the currently selected feed_message of choice, assuming that a user can be found and that a message body has been written.

create_story +

+

Creates a new feed story to the global newscaster network. +Verifies that the message is being written to a real feed_channel, then provides a text input for the feed story to be written into. +Finally, it submits the message to the network, is logged globally, and clears all message-specific variables from the machine.

delete_bounty_request +

+

This proc removes a station_request from the global list of requests, after checking that the owner of that request is the one who is trying to remove it.

needs_repair +

+

returns (machine_stat & broken)

news_alert +

+

When a new feed message is made that will alert all newscasters, this causes the newscasters to sent out a spoken message as well as create a sound.

pay_applicant +

+

This pays out the current request_target the amount held by the active request's assigned value, and then clears the active request from the global list.

print_paper +

+

This takes all current feed stories and messages, and prints them onto a newspaper, after checking that the newscaster has been loaded with paper. +The newscaster then prints the paper to the floor.

remove_alert +

+

This clears alerts on the newscaster from a new message being published and updates the newscaster's appearance.

send_photo_data +

+

Sends photo data to build the newscaster article.

start_create_channel +

+

This proc performs checks before enabling the creating_channel var on the newscaster, such as preventing a user from having multiple channels, +preventing an un-ID'd user from making a channel, and preventing censored authors from making a channel. +Otherwise, sets creating_channel to TRUE.

toggle_photo +

+

Selects a currently held photo from the user's hand and makes it the current_image held by the newscaster. +If a photo is still held in the newscaster, it will otherwise clear it from the machine.

+ + + diff --git a/obj/machinery/ntnet_relay.html b/obj/machinery/ntnet_relay.html new file mode 100644 index 00000000000..705e955658e --- /dev/null +++ b/obj/machinery/ntnet_relay.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/ntnet_relay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ntnet_relay + + + +

+ + + + + +

Vars

dos_failure(D)DoS-attack-related failure causing it not to be operational any longer.
relay_enabledOn / off status for the relay machine, toggleable by the user.

Procs

set_dos_failureProc called to change the value of the dos_failure variable and append behavior related to its change.
set_relay_enabledProc called to change the value of the relay_enabled variable and append behavior related to its change.
+

Var Details

dos_failure + + + + +

+

(D)DoS-attack-related failure causing it not to be operational any longer.

relay_enabled + + + + +

+

On / off status for the relay machine, toggleable by the user.

Proc Details

set_dos_failure +

+

Proc called to change the value of the dos_failure variable and append behavior related to its change.

set_relay_enabled +

+

Proc called to change the value of the relay_enabled variable and append behavior related to its change.

+ + + diff --git a/obj/machinery/nuclearbomb.html b/obj/machinery/nuclearbomb.html new file mode 100644 index 00000000000..f9c9d187a36 --- /dev/null +++ b/obj/machinery/nuclearbomb.html @@ -0,0 +1,258 @@ + + + + + + + /obj/machinery/nuclearbomb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

nuclearbomb + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

authThe nuke disk currently inserted into the nuke
coreThe nuke core within the nuke, created in initialize
countdownA reference to the countdown that goes up over the nuke
deconstruction_stateThe current state of deconstructing / opening up the nuke to access the core
detonation_timerworld time tracker for when we're going to explode
explodedWhether we've actually fully exploded
explodingWhether the timer has elapsed and we're currently exploding
interiorOverlay - shows the interior of the nuke
lightsOverlay - flashing lights over the nuke
maximum_timer_setWhat the max value the timer can be, in seconds
minimum_timer_setWhat the min value the timer can be, in seconds
numeric_inputThe current input of the numpad on the bomb
previous_levelThe alert level that was set before the nuke started, so we can revert to the correct level after
proper_bombif TRUE, this nuke is actually a real nuke, and not a prank or toy
r_codeThe code we need to detonate this nuke. Starts as "admin", purposefully un-enterable
safetyWhether the nuke safety is on, can't explode if it is
timer_setWhat the timer is set to, in seconds
timingWhether we're currently timing an explosive and counting down
ui_modeWhat mode the UI currently is in
yes_codeIf TRUE, the correct code has been entered and we can start the nuke

Procs

arm_nukeArms the nuke, making it active and triggering all pinpointers to start counting down (+delta alert)
disarm_nukeDisarms the nuke, reverting all pinpointers and the security level
disk_checkChecks if the disk inserted is a real nuke disk or not.
explodeBegins the process of exploding the nuke. +[proc/explode] -> [proc/actually_explode] -> [proc/really_actually_explode])
get_cinematic_typeGets what type of cinematic this nuke showcases depending on where we detonated.
get_nuke_stateGets the current state of the nuke.
get_time_leftIf the nuke is active, gets how much time is left until it detonates, in seconds. +If the nuke is not active, gets how much time the nuke is set for, in seconds.
nuke_effectsCause nuke effects to the passed z-levels.
set_anchorAnchors the nuke, duh. Can only be done if the disk is inside.
toggle_nuke_armedArms the nuke, or disarms it if it's already active.
toggle_nuke_safetyToggles the safety of the nuke.
update_ui_modeChanges what mode the UI is depending on the state of the nuke.
+

Var Details

auth + + + + +

+

The nuke disk currently inserted into the nuke

core + + + + +

+

The nuke core within the nuke, created in initialize

countdown + + + + +

+

A reference to the countdown that goes up over the nuke

deconstruction_state + + + + +

+

The current state of deconstructing / opening up the nuke to access the core

detonation_timer + + + + +

+

world time tracker for when we're going to explode

exploded + + + + +

+

Whether we've actually fully exploded

exploding + + + + +

+

Whether the timer has elapsed and we're currently exploding

interior + + + + +

+

Overlay - shows the interior of the nuke

lights + + + + +

+

Overlay - flashing lights over the nuke

maximum_timer_set + + + + +

+

What the max value the timer can be, in seconds

minimum_timer_set + + + + +

+

What the min value the timer can be, in seconds

numeric_input + + + + +

+

The current input of the numpad on the bomb

previous_level + + + + +

+

The alert level that was set before the nuke started, so we can revert to the correct level after

proper_bomb + + + + +

+

if TRUE, this nuke is actually a real nuke, and not a prank or toy

r_code + + + + +

+

The code we need to detonate this nuke. Starts as "admin", purposefully un-enterable

safety + + + + +

+

Whether the nuke safety is on, can't explode if it is

timer_set + + + + +

+

What the timer is set to, in seconds

timing + + + + +

+

Whether we're currently timing an explosive and counting down

ui_mode + + + + +

+

What mode the UI currently is in

yes_code + + + + +

+

If TRUE, the correct code has been entered and we can start the nuke

Proc Details

arm_nuke +

+

Arms the nuke, making it active and triggering all pinpointers to start counting down (+delta alert)

disarm_nuke +

+

Disarms the nuke, reverting all pinpointers and the security level

disk_check +

+

Checks if the disk inserted is a real nuke disk or not.

explode +

+

Begins the process of exploding the nuke. +[proc/explode] -> [proc/actually_explode] -> [proc/really_actually_explode])

+

Goes through a few timers and plays a cinematic.

get_cinematic_type +

+

Gets what type of cinematic this nuke showcases depending on where we detonated.

get_nuke_state +

+

Gets the current state of the nuke.

get_time_left +

+

If the nuke is active, gets how much time is left until it detonates, in seconds. +If the nuke is not active, gets how much time the nuke is set for, in seconds.

nuke_effects +

+

Cause nuke effects to the passed z-levels.

set_anchor +

+

Anchors the nuke, duh. Can only be done if the disk is inside.

toggle_nuke_armed +

+

Arms the nuke, or disarms it if it's already active.

toggle_nuke_safety +

+

Toggles the safety of the nuke.

update_ui_mode +

+

Changes what mode the UI is depending on the state of the nuke.

+ + + diff --git a/obj/machinery/nuclearbomb/beer.html b/obj/machinery/nuclearbomb/beer.html new file mode 100644 index 00000000000..c8954ea1544 --- /dev/null +++ b/obj/machinery/nuclearbomb/beer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/nuclearbomb/beer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

beer + + + +

+ +

A fake nuke that actually contains beer.

+ + + +

Vars

flood_reagentReagent that is produced once the nuke detonates.
kegThe keg located within the beer nuke.
overflow_controlRound event control we might as well keep track of instead of locating every time

Procs

on_created_round_eventsignal sent from overflow control when it fires an event
+

Var Details

flood_reagent + + + + +

+

Reagent that is produced once the nuke detonates.

keg + + + + +

+

The keg located within the beer nuke.

overflow_control + + + + +

+

Round event control we might as well keep track of instead of locating every time

Proc Details

on_created_round_event +

+

signal sent from overflow control when it fires an event

+ + + diff --git a/obj/machinery/ore_silo.html b/obj/machinery/ore_silo.html new file mode 100644 index 00000000000..f64677e50b2 --- /dev/null +++ b/obj/machinery/ore_silo.html @@ -0,0 +1,72 @@ + + + + + + + /obj/machinery/ore_silo - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ore_silo + + + +

+ + + + + + +

Vars

holdsList of all connected components that are on hold from accessing materials.
log_pageThe machine UI's page of logs showing ore history.
materialsMaterial Container
ore_connected_machinesList of all components that are sharing ores with this silo.

Procs

silo_logCreates a log entry for depositing/withdrawing from the silo both ingame and in text based log
+

Var Details

holds + + + + +

+

List of all connected components that are on hold from accessing materials.

log_page + + + + +

+

The machine UI's page of logs showing ore history.

materials + + + + +

+

Material Container

ore_connected_machines + + + + +

+

List of all components that are sharing ores with this silo.

Proc Details

silo_log +

+

Creates a log entry for depositing/withdrawing from the silo both ingame and in text based log

+

Arguments:

+
    +
  • M: The machine performing the action.
  • +
  • action: Text that visually describes the action (smelted/deposited/resupplied...)
  • +
  • amount: The amount of sheets/objects deposited/withdrawn by this action. Positive for depositing, negative for withdrawing.
  • +
  • noun: Name of the object the action was performed with (sheet, units, ore...)
  • +
  • [mats][list]: Assoc list in format (material datum = amount of raw materials). Wants the actual amount of raw (iron, glass...) materials involved in this action. If you have 10 metal sheets each worth 100 iron you would pass a list with the iron material datum = 1000
  • +
+ + + diff --git a/obj/machinery/oven.html b/obj/machinery/oven.html new file mode 100644 index 00000000000..4322f537a50 --- /dev/null +++ b/obj/machinery/oven.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/oven - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

oven + + + +

+ + + + + + + + + + +

Vars

openWhether or not the oven is open.
oven_loopLooping sound for the oven
smoke_stateCurrent state of smoke coming from the oven
used_trayThe tray inside of this oven, if there is one.

Procs

add_tray_to_ovenAdds a tray to the oven, making sure the shit can get baked.
appears_activeUsed to determine if the oven appears active and cooking, or offline.
attackbyWe take the worst smoke state, so if something is burning we always know.
on_tray_movedCalled when the tray is moved out of the oven in some way
set_smoke_stateUpdates the smoke state to something else, setting particles if relevant
+

Var Details

open + + + + +

+

Whether or not the oven is open.

oven_loop + + + + +

+

Looping sound for the oven

smoke_state + + + + +

+

Current state of smoke coming from the oven

used_tray + + + + +

+

The tray inside of this oven, if there is one.

Proc Details

add_tray_to_oven +

+

Adds a tray to the oven, making sure the shit can get baked.

appears_active +

+

Used to determine if the oven appears active and cooking, or offline.

attackby +

+

We take the worst smoke state, so if something is burning we always know.

on_tray_moved +

+

Called when the tray is moved out of the oven in some way

set_smoke_state +

+

Updates the smoke state to something else, setting particles if relevant

+ + + diff --git a/obj/machinery/pdapainter.html b/obj/machinery/pdapainter.html new file mode 100644 index 00000000000..6dfe17e9ff5 --- /dev/null +++ b/obj/machinery/pdapainter.html @@ -0,0 +1,121 @@ + + + + + + + /obj/machinery/pdapainter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pdapainter + + + +

+ +

Basic machine used to paint PDAs and re-trim ID cards.

+ + + + + + + + + +

Vars

card_trimsA list of the card trims that this machine can currently imprint onto a card.
pda_type_blacklistA blacklist of PDA types that we should not be able to paint.
pda_typesA list of the PDA types that this machine can currently paint.
stored_id_cardCurrent ID card inserted into the machine.
stored_pdaCurrent PDA inserted into the machine.
target_deptSet to a region define (REGION_SECURITY for example) to create a departmental variant, limited to departmental options. If null, this is unrestricted.

Procs

eject_id_cardEject the stored ID card into the user's hands if possible, otherwise on the floor.
eject_pdaEject the stored PDA into the user's hands if possible, otherwise on the floor.
insert_id_cardInsert an ID card into the machine.
insert_pdaInsert a PDA into the machine.
+

Var Details

card_trims + + + + +

+

A list of the card trims that this machine can currently imprint onto a card.

pda_type_blacklist + + + + +

+

A blacklist of PDA types that we should not be able to paint.

pda_types + + + + +

+

A list of the PDA types that this machine can currently paint.

stored_id_card + + + + +

+

Current ID card inserted into the machine.

stored_pda + + + + +

+

Current PDA inserted into the machine.

target_dept + + + + +

+

Set to a region define (REGION_SECURITY for example) to create a departmental variant, limited to departmental options. If null, this is unrestricted.

Proc Details

eject_id_card +

+

Eject the stored ID card into the user's hands if possible, otherwise on the floor.

+

Arguments:

+
    +
  • user - The user to try and eject the ID card into the hands of.
  • +

eject_pda +

+

Eject the stored PDA into the user's hands if possible, otherwise on the floor.

+

Arguments:

+
    +
  • user - The user to try and eject the PDA into the hands of.
  • +

insert_id_card +

+

Insert an ID card into the machine.

+

Will swap ID cards if one is already inside. Attempts to put the card into the user's hands if possible. +Returns TRUE on success, FALSE otherwise. +Arguments:

+
    +
  • new_id_card - The ID card to insert.
  • +
  • user - The user to try and eject the PDA into the hands of.
  • +

insert_pda +

+

Insert a PDA into the machine.

+

Will swap PDAs if one is already inside. Attempts to put the PDA into the user's hands if possible. +Returns TRUE on success, FALSE otherwise. +Arguments:

+
    +
  • new_pda - The PDA to insert.
  • +
  • user - The user to try and eject the PDA into the hands of.
  • +
+ + + diff --git a/obj/machinery/photocopier.html b/obj/machinery/photocopier.html new file mode 100644 index 00000000000..f5ad7f074d3 --- /dev/null +++ b/obj/machinery/photocopier.html @@ -0,0 +1,279 @@ + + + + + + + /obj/machinery/photocopier - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

photocopier + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

assA reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.
busyIndicates whether the printer is currently busy copying or not.
categoryVariable needed to determine the selected category of forms on Photocopier.js
color_modeUsed with photos. Determines if the copied photo will be in greyscale or color.
copies_leftVariable for the UI telling us how many copies are in the queue.
num_copiesHow many copies will be printed with one click of the "copy" button.
object_copyVariable that holds a reference to any object supported for photocopying inside the photocopier
paper_stackA stack for all the empty paper we have newly inserted (LIFO)
starting_paperThe amount of paper this photocoper starts with.
toner_cartridgeA reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Procs

check_assChecks the living mob ass exists and its location is the same as the photocopier.
check_busyDetermines if the printer is currently busy, informs the user if it is.
copier_blockedChecks if the copier is deleted, or has something dense at its location. Called in MouseDrop_T()
copier_emptyChecks if there is an item inserted into the copier or a mob sitting on top of it.
delete_paperRemoves an amount of paper from the printer's storage. +This lets us pretend we actually consumed paper when we were actually printing something that wasn't paper.
do_copiesWill invoke do_copy_loop asynchronously. Passes the supplied arguments on to it.
do_copy_loopWill invoke the passed in copy_cb callback in 4 second intervals, and charge the user 5 credits for each copy made.
get_empty_paperReturns an empty paper, used for blanks and paper copies. +Prioritizes paper_stack, creates new paper in case paper_stack is empty.
get_paper_countGets the total amount of paper this printer has stored.
get_toner_colorReturns the color used for the printing operation. If the color is below TONER_LOW_PERCENTAGE, it returns a gray color.
give_pixel_offsetGives items a random x and y pixel offset, between -10 and 10 for each.
insert_empty_paperProc that handles insertion of empty paper, useful for copying later.
make_ass_copyHandles the copying of an ass photo.
make_blank_printHandles the copying of blanks. No mutating state, so this should not fail.
make_document_copyHandles the copying of documents.
make_paper_copyHandles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.
make_paperwork_copyHandles the copying of documents.
make_photo_copyHandles the copying of photos, which can be printed in either color or greyscale.
remove_photocopyCalled when someone hits the "remove item" button on the copier UI.
reset_busySets busy to FALSE.
setup_componentsSimply adds the necessary components for this to function.
+

Var Details

ass + + + + +

+

A reference to a mob on top of the photocopier trying to copy their ass. Null if there is no mob.

busy + + + + +

+

Indicates whether the printer is currently busy copying or not.

category + + + + +

+

Variable needed to determine the selected category of forms on Photocopier.js

color_mode + + + + +

+

Used with photos. Determines if the copied photo will be in greyscale or color.

copies_left + + + + +

+

Variable for the UI telling us how many copies are in the queue.

num_copies + + + + +

+

How many copies will be printed with one click of the "copy" button.

object_copy + + + + +

+

Variable that holds a reference to any object supported for photocopying inside the photocopier

paper_stack + + + + +

+

A stack for all the empty paper we have newly inserted (LIFO)

starting_paper + + + + +

+

The amount of paper this photocoper starts with.

toner_cartridge + + + + +

+

A reference to the toner cartridge that's inserted into the copier. Null if there is no cartridge.

Proc Details

check_ass +

+

Checks the living mob ass exists and its location is the same as the photocopier.

+

Returns FALSE if ass doesn't exist or is not at the copier's location. Returns TRUE otherwise.

check_busy +

+

Determines if the printer is currently busy, informs the user if it is.

copier_blocked +

+

Checks if the copier is deleted, or has something dense at its location. Called in MouseDrop_T()

copier_empty +

+

Checks if there is an item inserted into the copier or a mob sitting on top of it.

+

Return FALSE is the copier has something inside of it. Returns TRUE if it doesn't.

delete_paper +

+

Removes an amount of paper from the printer's storage. +This lets us pretend we actually consumed paper when we were actually printing something that wasn't paper.

do_copies +

+

Will invoke do_copy_loop asynchronously. Passes the supplied arguments on to it.

do_copy_loop +

+

Will invoke the passed in copy_cb callback in 4 second intervals, and charge the user 5 credits for each copy made.

+

Arguments:

+
    +
  • copy_cb - a callback for which proc to call. Should only be one of the make_x_copy() procs, such as make_paper_copy().
  • +
  • user - the mob who clicked copy.
  • +
  • paper_use - the amount of paper used in this operation
  • +
  • toner_use - the amount of toner used in this operation
  • +
  • copies_amount - the amount of copies we should make
  • +

get_empty_paper +

+

Returns an empty paper, used for blanks and paper copies. +Prioritizes paper_stack, creates new paper in case paper_stack is empty.

get_paper_count +

+

Gets the total amount of paper this printer has stored.

get_toner_color +

+

Returns the color used for the printing operation. If the color is below TONER_LOW_PERCENTAGE, it returns a gray color.

give_pixel_offset +

+

Gives items a random x and y pixel offset, between -10 and 10 for each.

+

This is done that when someone prints multiple papers, we dont have them all appear to be stacked in the same exact location.

+

Arguments:

+
    +
  • copied_item - The paper, document, or photo that was just spawned on top of the printer.
  • +

insert_empty_paper +

+

Proc that handles insertion of empty paper, useful for copying later.

make_ass_copy +

+

Handles the copying of an ass photo.

+

Calls check_ass() first to make sure that ass exists, among other conditions. Since this proc is called from a timer, it's possible that it was removed. +Additionally checks that the mob has their clothes off.

make_blank_print +

+

Handles the copying of blanks. No mutating state, so this should not fail.

make_document_copy +

+

Handles the copying of documents.

+

Checks first if document_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_paper_copy +

+

Handles the copying of paper. Transfers all the text, stamps and so on from the old paper, to the copy.

+

Checks first if paper_copy exists. Since this proc is called from a timer, it's possible that it was removed.

make_paperwork_copy +

+

Handles the copying of documents.

+

Checks first if paperwork_copy exists. Since this proc is called from a timer, it's possible that it was removed. +Copies the stamp from a given piece of paperwork if it is already stamped, allowing for you to sell photocopied paperwork at the risk of losing budget money.

make_photo_copy +

+

Handles the copying of photos, which can be printed in either color or greyscale.

+

Checks first if picture exists. Since this proc is called from a timer, it's possible that it was removed.

remove_photocopy +

+

Called when someone hits the "remove item" button on the copier UI.

+

If the user is a silicon, it drops the object at the location of the copier. If the user is not a silicon, it tries to put the object in their hands first. +Sets busy to FALSE because if the inserted item is removed, the copier should halt copying.

+

Arguments:

+
    +
  • object - the item we're trying to remove.
  • +
  • user - the user removing the item.
  • +

reset_busy +

+

Sets busy to FALSE.

setup_components +

+

Simply adds the necessary components for this to function.

+ + + diff --git a/obj/machinery/pipedispenser.html b/obj/machinery/pipedispenser.html new file mode 100644 index 00000000000..396c2e572f7 --- /dev/null +++ b/obj/machinery/pipedispenser.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/pipedispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pipedispenser + + + +

+ + + + +

Vars

categorytype of dispenser
p_init_dirsmart pipe directions
paint_colorcolor of pipe
+

Var Details

category + + + + +

+

type of dispenser

p_init_dir + + + + +

+

smart pipe directions

paint_color + + + + +

+

color of pipe

+ + + diff --git a/obj/machinery/piratepad.html b/obj/machinery/piratepad.html new file mode 100644 index 00000000000..959fbd95aad --- /dev/null +++ b/obj/machinery/piratepad.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/piratepad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

piratepad + + + +

+ + + + + +

Vars

cargo_hold_idThis is the cargo hold ID used by the piratepad_control. Match these two to link them together.
idle_stateThis is the icon_state that this telepad uses when it's not in use.
sending_stateThis is the icon_state to flick when the goods are being sent off by the telepad.
warmup_stateThis is the icon_state that this telepad uses when it's warming up for goods teleportation.
+

Var Details

cargo_hold_id + + + + +

+

This is the cargo hold ID used by the piratepad_control. Match these two to link them together.

idle_state + + + + +

+

This is the icon_state that this telepad uses when it's not in use.

sending_state + + + + +

+

This is the icon_state to flick when the goods are being sent off by the telepad.

warmup_state + + + + +

+

This is the icon_state that this telepad uses when it's warming up for goods teleportation.

+ + + diff --git a/obj/machinery/plate_press.html b/obj/machinery/plate_press.html new file mode 100644 index 00000000000..467f3260a66 --- /dev/null +++ b/obj/machinery/plate_press.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/plate_press - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

plate_press + + + +

+ + +

Procs

work_pressThis proc attempts to create a plate. User cannot move during this process.

Proc Details

work_press +

+

This proc attempts to create a plate. User cannot move during this process.

+ + + diff --git a/obj/machinery/plumbing.html b/obj/machinery/plumbing.html new file mode 100644 index 00000000000..66759ad86f5 --- /dev/null +++ b/obj/machinery/plumbing.html @@ -0,0 +1,46 @@ + + + + + + + /obj/machinery/plumbing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plumbing + + + +

+ +

Basic plumbing object. +It doesn't really hold anything special, YET. +Objects that are plumbing but not a subtype are as of writing liquid pumps and the reagent_dispenser tank +Also please note that the plumbing component is toggled on and off by the component using a signal from default_unfasten_wrench, so dont worry about it

+ +

Vars

bufferPlumbing machinery is always gonna need reagents, so we might aswell put it here
reagent_flagsFlags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm
+

Var Details

buffer + + + + +

+

Plumbing machinery is always gonna need reagents, so we might aswell put it here

reagent_flags + + + + +

+

Flags for reagents, like INJECTABLE, TRANSPARENT bla bla everything thats in DEFINES/reagents.dm

+ + + diff --git a/obj/machinery/plumbing/acclimator.html b/obj/machinery/plumbing/acclimator.html new file mode 100644 index 00000000000..2ce9a922f94 --- /dev/null +++ b/obj/machinery/plumbing/acclimator.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/plumbing/acclimator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

acclimator + + + +

+ +

this the plumbing version of a heater/freezer.

+ + + + +

Vars

acclimate_stateCOOLING, HEATING or NEUTRAL. We track this for change, so we dont needlessly update our icon
allowed_temperature_differenceI cant find a good name for this. Basically if target is 300, and this is 10, it will still target 300 but will start emptying itself at 290 and 310.
emptyingWhen conditions are met we send out the stored reagents
enabledAre we turned on or off? this is from the on and off button
target_temperaturetowards wich temperature do we build?
+

Var Details

acclimate_state + + + + +

+

COOLING, HEATING or NEUTRAL. We track this for change, so we dont needlessly update our icon

allowed_temperature_difference + + + + +

+

I cant find a good name for this. Basically if target is 300, and this is 10, it will still target 300 but will start emptying itself at 290 and 310.

emptying + + + + +

+

When conditions are met we send out the stored reagents

enabled + + + + +

+

Are we turned on or off? this is from the on and off button

target_temperature + + + + +

+

towards wich temperature do we build?

+ + + diff --git a/obj/machinery/plumbing/bottler.html b/obj/machinery/plumbing/bottler.html new file mode 100644 index 00000000000..6c1b469ff3e --- /dev/null +++ b/obj/machinery/plumbing/bottler.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/plumbing/bottler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bottler + + + +

+ + + + + + + + +

Vars

badspotwhere beakers that are already full will be sent
goodspotwhere things are sent
inputspotwhere things are taken
valid_output_configurationDoes the plumbing machine have a correct tile setup
wanted_amounthow much do we fill

Procs

interactchanging input ammount with a window
setDirchanges the tile array
+

Var Details

badspot + + + + +

+

where beakers that are already full will be sent

goodspot + + + + +

+

where things are sent

inputspot + + + + +

+

where things are taken

valid_output_configuration + + + + +

+

Does the plumbing machine have a correct tile setup

wanted_amount + + + + +

+

how much do we fill

Proc Details

interact +

+

changing input ammount with a window

setDir +

+

changes the tile array

+ + + diff --git a/obj/machinery/plumbing/buffer.html b/obj/machinery/plumbing/buffer.html new file mode 100644 index 00000000000..4d8134e7562 --- /dev/null +++ b/obj/machinery/plumbing/buffer.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/plumbing/buffer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

buffer + + + +

+ + +

Procs

on_reagents_delHandles properly detaching signal hooks.

Proc Details

on_reagents_del +

+

Handles properly detaching signal hooks.

+ + + diff --git a/obj/machinery/plumbing/disposer.html b/obj/machinery/plumbing/disposer.html new file mode 100644 index 00000000000..fe65daab71f --- /dev/null +++ b/obj/machinery/plumbing/disposer.html @@ -0,0 +1,41 @@ + + + + + + + /obj/machinery/plumbing/disposer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

disposer + + + +

+ +

see if machine has enough to fill, is anchored down and has any inputspot objects to pick from +pick a reagent_container that could be used +see if it would overflow else inject +glass was full so we move it away +slime extracts need inject +no need to move slimecross industrial things

+

Vars

disposal_ratewe remove 5 reagents per second
+

Var Details

disposal_rate + + + + +

+

we remove 5 reagents per second

+ + + diff --git a/obj/machinery/plumbing/fermenter.html b/obj/machinery/plumbing/fermenter.html new file mode 100644 index 00000000000..f84a1ded396 --- /dev/null +++ b/obj/machinery/plumbing/fermenter.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/plumbing/fermenter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fermenter + + + +

+ + + +

Vars

eat_dirinput dir

Procs

fermentuses fermentation proc similar to fermentation barrels
+

Var Details

eat_dir + + + + +

+

input dir

Proc Details

ferment +

+

uses fermentation proc similar to fermentation barrels

+ + + diff --git a/obj/machinery/plumbing/filter.html b/obj/machinery/plumbing/filter.html new file mode 100644 index 00000000000..ab610837054 --- /dev/null +++ b/obj/machinery/plumbing/filter.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/plumbing/filter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

filter + + + +

+ +

chemical plumbing filter. If it's not filtered by left and right, it goes straight.

+ + + +

Vars

english_leftwhitelist of chems but their name instead of path
english_rightwhitelist of chems but their name instead of path
leftwhitelist of chems id's that go to the left side. Empty to disable port
rightwhitelist of chem id's that go to the right side. Empty to disable port
+

Var Details

english_left + + + + +

+

whitelist of chems but their name instead of path

english_right + + + + +

+

whitelist of chems but their name instead of path

left + + + + +

+

whitelist of chems id's that go to the left side. Empty to disable port

right + + + + +

+

whitelist of chem id's that go to the right side. Empty to disable port

+ + + diff --git a/obj/machinery/plumbing/grinder_chemical.html b/obj/machinery/plumbing/grinder_chemical.html new file mode 100644 index 00000000000..37069a3aada --- /dev/null +++ b/obj/machinery/plumbing/grinder_chemical.html @@ -0,0 +1,40 @@ + + + + + + + /obj/machinery/plumbing/grinder_chemical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

grinder_chemical + + + +

+ + +

Procs

grindGrinds/Juices the atom +Arguments

Proc Details

grind +

+

Grinds/Juices the atom +Arguments

+
    +
  • AM - the atom to grind or juice
  • +
+ + + diff --git a/obj/machinery/plumbing/growing_vat.html b/obj/machinery/plumbing/growing_vat.html new file mode 100644 index 00000000000..19fcd60aae6 --- /dev/null +++ b/obj/machinery/plumbing/growing_vat.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/plumbing/growing_vat - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

growing_vat + + + +

+ +

Used to make mobs from microbiological samples. Grow grow grow.

+ + + + + + + + + +

Vars

biological_sampleList of all microbiological samples in this soup.
resampler_activeIf the vat will restart the sample upon completion

Procs

InitializeAdd that sexy demnand component
attacked_byHandles the petri dish depositing into the vat.
deposit_sampleCreates a clone of the supplied sample and puts it in the vat
examine_moreAdds text for when there is a sample in the vat
on_reagent_changeCall update icon when reagents change to update the reagent content icons. Eats signal args.
on_reagents_delHandles properly detaching signal hooks.
processWhen we process, we make use of our reagents to try and feed the samples we have.
update_overlaysAdds overlays to show the reagent contents
+

Var Details

biological_sample + + + + +

+

List of all microbiological samples in this soup.

resampler_active + + + + +

+

If the vat will restart the sample upon completion

Proc Details

Initialize +

+

Add that sexy demnand component

attacked_by +

+

Handles the petri dish depositing into the vat.

deposit_sample +

+

Creates a clone of the supplied sample and puts it in the vat

examine_more +

+

Adds text for when there is a sample in the vat

on_reagent_change +

+

Call update icon when reagents change to update the reagent content icons. Eats signal args.

on_reagents_del +

+

Handles properly detaching signal hooks.

process +

+

When we process, we make use of our reagents to try and feed the samples we have.

update_overlays +

+

Adds overlays to show the reagent contents

+ + + diff --git a/obj/machinery/plumbing/liquid_pump.html b/obj/machinery/plumbing/liquid_pump.html new file mode 100644 index 00000000000..746b693fe15 --- /dev/null +++ b/obj/machinery/plumbing/liquid_pump.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/plumbing/liquid_pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

liquid_pump + + + +

+ +

We pump liquids from activated(plungerated) geysers to a plumbing outlet. We need to be wired.

+ + + + + +

Vars

geyserThe geyser object
geyserlessset to true if the loop couldnt find a geyser in process, so it remembers and stops checking every loop until moved. more accurate name would be absolutely_no_geyser_under_me_so_dont_try
pump_powerunits we pump per second
volumevolume of our internal buffer

Procs

default_unfasten_wrenchplease note that the component has a hook in the parent call, wich handles activating and deactivating
pumppump up that sweet geyser nectar
+

Var Details

geyser + + + + +

+

The geyser object

geyserless + + + + +

+

set to true if the loop couldnt find a geyser in process, so it remembers and stops checking every loop until moved. more accurate name would be absolutely_no_geyser_under_me_so_dont_try

pump_power + + + + +

+

units we pump per second

volume + + + + +

+

volume of our internal buffer

Proc Details

default_unfasten_wrench +

+

please note that the component has a hook in the parent call, wich handles activating and deactivating

pump +

+

pump up that sweet geyser nectar

+ + + diff --git a/obj/machinery/plumbing/pill_press.html b/obj/machinery/plumbing/pill_press.html new file mode 100644 index 00000000000..1660906ad6b --- /dev/null +++ b/obj/machinery/plumbing/pill_press.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/plumbing/pill_press - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pill_press + + + +

+ +

We take a constant input of reagents, and produce a pill once a set volume is reached

+ + + + + + + +

Vars

current_volumeselected size of the product
packaging_categoryCategory of packaging
packaging_typeThe type of packaging to use
packaging_typesAll packaging types wrapped up in 1 big list
productcurrent operating product (pills or patches)
product_nameprefix for the product name
stored_productslist of products stored in the machine, so we dont have 610 pills on one tile

Procs

decode_categorydecode product category from it's type path and returns the decoded typepath
+

Var Details

current_volume + + + + +

+

selected size of the product

packaging_category + + + + +

+

Category of packaging

packaging_type + + + + +

+

The type of packaging to use

packaging_types + + + + +

+

All packaging types wrapped up in 1 big list

product + + + + +

+

current operating product (pills or patches)

product_name + + + + +

+

prefix for the product name

stored_products + + + + +

+

list of products stored in the machine, so we dont have 610 pills on one tile

Proc Details

decode_category +

+

decode product category from it's type path and returns the decoded typepath

+ + + diff --git a/obj/machinery/plumbing/reaction_chamber.html b/obj/machinery/plumbing/reaction_chamber.html new file mode 100644 index 00000000000..733c0f7e2eb --- /dev/null +++ b/obj/machinery/plumbing/reaction_chamber.html @@ -0,0 +1,80 @@ + + + + + + + /obj/machinery/plumbing/reaction_chamber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reaction_chamber + + + +

+ + + + + + + + +

Vars

emptyingour reagent goal has been reached, so now we lock our inputs and start emptying
required_reagentslist of set reagents that the reaction_chamber allows in, and must all be present before mixing is enabled. +example: list(/datum/reagent/water = 20, /datum/reagent/fuel/oil = 50)
target_temperaturetowards which temperature do we build (except during draining)?

Procs

handle_reagentsFor subtypes that want to do additional reagent handling
handle_ui_actFor custom handling of ui actions from inside a subtype
on_reagent_changeHandles stopping the emptying process when the chamber empties.
on_reagents_delHandles properly detaching signal hooks.
+

Var Details

emptying + + + + +

+

our reagent goal has been reached, so now we lock our inputs and start emptying

required_reagents + + + + +

+

list of set reagents that the reaction_chamber allows in, and must all be present before mixing is enabled. +example: list(/datum/reagent/water = 20, /datum/reagent/fuel/oil = 50)

target_temperature + + + + +

+

towards which temperature do we build (except during draining)?

Proc Details

handle_reagents +

+

For subtypes that want to do additional reagent handling

handle_ui_act +

+

For custom handling of ui actions from inside a subtype

on_reagent_change +

+

Handles stopping the emptying process when the chamber empties.

on_reagents_del +

+

Handles properly detaching signal hooks.

+ + + diff --git a/obj/machinery/plumbing/reaction_chamber/chem.html b/obj/machinery/plumbing/reaction_chamber/chem.html new file mode 100644 index 00000000000..02ad9fb9bfb --- /dev/null +++ b/obj/machinery/plumbing/reaction_chamber/chem.html @@ -0,0 +1,75 @@ + + + + + + + /obj/machinery/plumbing/reaction_chamber/chem - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem + + + +

+ +

Chemistry version of reaction chamber that allows for acid and base buffers to be used while reacting

+ + + + + +

Vars

acidic_beakerbeaker that holds the acidic buffer(50u)
acidic_limitIf below this pH, we start dumping buffer into it
alkaline_beakerbeaker that holds the alkaline buffer(50u).
alkaline_limitIf above this pH, we start dumping acid into it

Procs

DestroyMake sure beakers are deleted when being deconstructed
ui_interactfigure out which buffer to transfer to restore balance +if solution is getting too basic(high ph) add some acid to lower it's value +else if solution is getting too acidic(low ph) add some base to increase it's value
+

Var Details

acidic_beaker + + + + +

+

beaker that holds the acidic buffer(50u)

acidic_limit + + + + +

+

If below this pH, we start dumping buffer into it

alkaline_beaker + + + + +

+

beaker that holds the alkaline buffer(50u).

alkaline_limit + + + + +

+

If above this pH, we start dumping acid into it

Proc Details

Destroy +

+

Make sure beakers are deleted when being deconstructed

ui_interact +

+

figure out which buffer to transfer to restore balance +if solution is getting too basic(high ph) add some acid to lower it's value +else if solution is getting too acidic(low ph) add some base to increase it's value

+ + + diff --git a/obj/machinery/plumbing/receiver.html b/obj/machinery/plumbing/receiver.html new file mode 100644 index 00000000000..34240f03ee9 --- /dev/null +++ b/obj/machinery/plumbing/receiver.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/plumbing/receiver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

receiver + + + +

+ +

A bluespace output pipe for plumbing. Supports multiple recipients. Must be constructed with a circuit board

+ + + +

Vars

next_indexWe only grab one machine per process, so store which one is next
pull_amountHow much chemicals we can teleport per process
sendersAll synced up chemical beacons we can tap from

Procs

lose_sendersNotify all senders to forget us
+

Var Details

next_index + + + + +

+

We only grab one machine per process, so store which one is next

pull_amount + + + + +

+

How much chemicals we can teleport per process

senders + + + + +

+

All synced up chemical beacons we can tap from

Proc Details

lose_senders +

+

Notify all senders to forget us

+ + + diff --git a/obj/machinery/plumbing/sender.html b/obj/machinery/plumbing/sender.html new file mode 100644 index 00000000000..93442daacb8 --- /dev/null +++ b/obj/machinery/plumbing/sender.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/plumbing/sender - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sender + + + +

+ +

A bluespace input pipe for plumbing

+ + + +

Vars

targetwhoever we teleport our chems to

Procs

lose_teleport_targetLose our previous target and make our previous target lose us. Seperate proc because I feel like I'll need this again
set_teleport_targetSet a receiving plumbing object
teleport_chemicalsTransfer reagents and display a flashing icon
+

Var Details

target + + + + +

+

whoever we teleport our chems to

Proc Details

lose_teleport_target +

+

Lose our previous target and make our previous target lose us. Seperate proc because I feel like I'll need this again

set_teleport_target +

+

Set a receiving plumbing object

teleport_chemicals +

+

Transfer reagents and display a flashing icon

+ + + diff --git a/obj/machinery/plumbing/splitter.html b/obj/machinery/plumbing/splitter.html new file mode 100644 index 00000000000..d43c3177228 --- /dev/null +++ b/obj/machinery/plumbing/splitter.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/plumbing/splitter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

splitter + + + +

+ +

it splits the reagents however you want. So you can "every 60 units, 45 goes left and 15 goes straight". The side direction is EAST, you can change this in the component

+ + +

Vars

transfer_sidehow much we must transfer to the side
transfer_straighthow much we must transfer straight. note input can be as high as 10 reagents per process, usually
turn_straightconstantly switches between TRUE and FALSE. TRUE means the batch tick goes straight, FALSE means the next batch goes in the side duct.
+

Var Details

transfer_side + + + + +

+

how much we must transfer to the side

transfer_straight + + + + +

+

how much we must transfer straight. note input can be as high as 10 reagents per process, usually

turn_straight + + + + +

+

constantly switches between TRUE and FALSE. TRUE means the batch tick goes straight, FALSE means the next batch goes in the side duct.

+ + + diff --git a/obj/machinery/plumbing/synthesizer.html b/obj/machinery/plumbing/synthesizer.html new file mode 100644 index 00000000000..97e9e3a46e7 --- /dev/null +++ b/obj/machinery/plumbing/synthesizer.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/plumbing/synthesizer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

synthesizer + + + +

+ +

A single machine that produces a single chem. Can be placed in unison with others through plumbing to create chemical factories

+ + + +

Vars

amountAmount we produce for every process. Ideally keep under 5 since thats currently the standard duct capacity
default_reagentsstraight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents
possible_amountsI track them here because I have no idea how I'd make tgui loop like that
reagent_idThe reagent we are producing. We are a typepath, but are also typecast because there's several occations where we need to use initial.
+

Var Details

amount + + + + +

+

Amount we produce for every process. Ideally keep under 5 since thats currently the standard duct capacity

default_reagents + + + + +

+

straight up copied from chem dispenser. Being a subtype would be extremely tedious and making it global would restrict potential subtypes using different dispensable_reagents

possible_amounts + + + + +

+

I track them here because I have no idea how I'd make tgui loop like that

reagent_id + + + + +

+

The reagent we are producing. We are a typepath, but are also typecast because there's several occations where we need to use initial.

+ + + diff --git a/obj/machinery/porta_turret.html b/obj/machinery/porta_turret.html new file mode 100644 index 00000000000..47f0379a1d5 --- /dev/null +++ b/obj/machinery/porta_turret.html @@ -0,0 +1,253 @@ + + + + + + + /obj/machinery/porta_turret - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

porta_turret + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

always_upWill stay active
baseFor turrets inside other objects
controllockIf the turret responds to control panels
coverThe cover that is covering this turret
gun_chargeThe charge of the gun when retrieved from wreckage
has_coverHides the cover
ignore_factionDetermines if our projectiles hit our faction
installationThe type of weapon installed by default
last_firedWorld.time the turret last fired
lethal_projectileLethal mode projectile type
lethal_projectile_soundSound of lethal projectile
lockedIf the turret's behaviour control access is locked
manual_controlIf the turret is manually controlled
modeIn which mode is turret in, stun or lethal
onDetermines if the turret is on
power_channelOnly people with Security access
quit_actionAction button holder for quitting manual control
raisedIf the turret cover is "open" and the turret is raised
raisingIf the turret is currently opening or closing its cover
remote_controllerMob that is remotely controlling the turret
reqpowerPower needed per shot
scan_rangeScan range of the turret for locating targets
shot_delayTicks until next shot (1.5 ?)
spark_systemThe spark system, used for generating... sparks?
stored_gunWhat stored gun is in the turret
stun_projectileStun mode projectile type
stun_projectile_soundSound of stun projectile
toggle_actionAction button holder for switching between turret modes when manually controlling
turret_flagsTurret flags about who is turret allowed to shoot
uses_storedif TRUE this will cause the turret to stop working if the stored_gun var is null in process()
wall_turret_directionThe turret will try to shoot from a turf in that direction when in a wall

Procs

null_gundestroys reference to stored_gun to prevent hard deletions
+

Var Details

always_up + + + + +

+

Will stay active

base + + + + +

+

For turrets inside other objects

controllock + + + + +

+

If the turret responds to control panels

cover + + + + +

+

The cover that is covering this turret

gun_charge + + + + +

+

The charge of the gun when retrieved from wreckage

has_cover + + + + +

+

Hides the cover

ignore_faction + + + + +

+

Determines if our projectiles hit our faction

installation + + + + +

+

The type of weapon installed by default

last_fired + + + + +

+

World.time the turret last fired

lethal_projectile + + + + +

+

Lethal mode projectile type

lethal_projectile_sound + + + + +

+

Sound of lethal projectile

locked + + + + +

+

If the turret's behaviour control access is locked

manual_control + + + + +

+

If the turret is manually controlled

mode + + + + +

+

In which mode is turret in, stun or lethal

on + + + + +

+

Determines if the turret is on

power_channel + + + + +

+

Only people with Security access

quit_action + + + + +

+

Action button holder for quitting manual control

raised + + + + +

+

If the turret cover is "open" and the turret is raised

raising + + + + +

+

If the turret is currently opening or closing its cover

remote_controller + + + + +

+

Mob that is remotely controlling the turret

reqpower + + + + +

+

Power needed per shot

scan_range + + + + +

+

Scan range of the turret for locating targets

shot_delay + + + + +

+

Ticks until next shot (1.5 ?)

spark_system + + + + +

+

The spark system, used for generating... sparks?

stored_gun + + + + +

+

What stored gun is in the turret

stun_projectile + + + + +

+

Stun mode projectile type

stun_projectile_sound + + + + +

+

Sound of stun projectile

toggle_action + + + + +

+

Action button holder for switching between turret modes when manually controlling

turret_flags + + + + +

+

Turret flags about who is turret allowed to shoot

uses_stored + + + + +

+

if TRUE this will cause the turret to stop working if the stored_gun var is null in process()

wall_turret_direction + + + + +

+

The turret will try to shoot from a turf in that direction when in a wall

Proc Details

null_gun +

+

destroys reference to stored_gun to prevent hard deletions

+ + + diff --git a/obj/machinery/porta_turret/syndicate/toolbox.html b/obj/machinery/porta_turret/syndicate/toolbox.html new file mode 100644 index 00000000000..e8cf56c23ad --- /dev/null +++ b/obj/machinery/porta_turret/syndicate/toolbox.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/porta_turret/syndicate/toolbox - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

toolbox + + + +

+ + +

Vars

toolboxThe toolbox we store.
+

Var Details

toolbox + + + + +

+

The toolbox we store.

+ + + diff --git a/obj/machinery/portable_atmospherics.html b/obj/machinery/portable_atmospherics.html new file mode 100644 index 00000000000..4dd7aede1db --- /dev/null +++ b/obj/machinery/portable_atmospherics.html @@ -0,0 +1,149 @@ + + + + + + + /obj/machinery/portable_atmospherics - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

portable_atmospherics + + + +

+ + + + + + + + + + + + + + + +

Vars

air_contentsStores the gas mixture of the portable component. Don't access this directly, use return_air() so you support the temporary processing it provides
connected_portStores the reference of the connecting port
excitedUsed to track if anything of note has happen while running process_atmos(). +Treat it as a process_atmos() scope var, we just declare it here to pass it between parent calls. +Should be false on start of every process_atmos() proc, since true means we'll process again next tick.
holdingStores the reference of the tank the machine is holding
nob_crystal_insertedIs there a hypernoblium crystal inserted into this
pressure_limitMax amount of pressure allowed inside of the canister before it starts to break. [PORTABLE_ATMOS_IGNORE_ATMOS_LIMIT] is special value meaning we are immune.
suppress_reactionsShould reactions inside the object be suppressed
temp_limitMax amount of heat allowed inside the machine before it starts to melt. [PORTABLE_ATMOS_IGNORE_ATMOS_LIMIT] is special value meaning we are immune.
volumeVolume (in L) of the inside of the machine

Procs

connectAllow the portable machine to be connected to a connector +Arguments:
disconnectAllow the portable machine to be disconnected from the connector
replace_tankAllow the player to place a tank inside the machine. +Arguments:
take_atmos_damageTake damage if a variable is exceeded. Damage is equal to temp/limit * heat/limit. +The damage multiplier is treated as 1 if something is being ignored while the other one is exceeded. +On most cases only one will be exceeded, so the other one is scaled down.
unregister_holdingHolding tanks can get to zero integrity and be destroyed without other warnings due to pressure change. +This checks for that case and removes our reference to it.
+

Var Details

air_contents + + + + +

+

Stores the gas mixture of the portable component. Don't access this directly, use return_air() so you support the temporary processing it provides

connected_port + + + + +

+

Stores the reference of the connecting port

excited + + + + +

+

Used to track if anything of note has happen while running process_atmos(). +Treat it as a process_atmos() scope var, we just declare it here to pass it between parent calls. +Should be false on start of every process_atmos() proc, since true means we'll process again next tick.

holding + + + + +

+

Stores the reference of the tank the machine is holding

nob_crystal_inserted + + + + +

+

Is there a hypernoblium crystal inserted into this

pressure_limit + + + + +

+

Max amount of pressure allowed inside of the canister before it starts to break. [PORTABLE_ATMOS_IGNORE_ATMOS_LIMIT] is special value meaning we are immune.

suppress_reactions + + + + +

+

Should reactions inside the object be suppressed

temp_limit + + + + +

+

Max amount of heat allowed inside the machine before it starts to melt. [PORTABLE_ATMOS_IGNORE_ATMOS_LIMIT] is special value meaning we are immune.

volume + + + + +

+

Volume (in L) of the inside of the machine

Proc Details

connect +

+

Allow the portable machine to be connected to a connector +Arguments:

+
    +
  • new_port - the connector that we trying to connect to
  • +

disconnect +

+

Allow the portable machine to be disconnected from the connector

replace_tank +

+

Allow the player to place a tank inside the machine. +Arguments:

+
    +
  • User: the player doing the act
  • +
  • close_valve: used in the canister.dm file, check if the valve is open or not
  • +
  • new_tank: the tank we are trying to put in the machine
  • +

take_atmos_damage +

+

Take damage if a variable is exceeded. Damage is equal to temp/limit * heat/limit. +The damage multiplier is treated as 1 if something is being ignored while the other one is exceeded. +On most cases only one will be exceeded, so the other one is scaled down.

unregister_holding +

+

Holding tanks can get to zero integrity and be destroyed without other warnings due to pressure change. +This checks for that case and removes our reference to it.

+ + + diff --git a/obj/machinery/portable_atmospherics/canister.html b/obj/machinery/portable_atmospherics/canister.html new file mode 100644 index 00000000000..e19c65765a7 --- /dev/null +++ b/obj/machinery/portable_atmospherics/canister.html @@ -0,0 +1,143 @@ + + + + + + + /obj/machinery/portable_atmospherics/canister - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

canister + + + +

+ + + + + + + + + + + + + + + + + +

Vars

cell_container_openedIs the cell hatch opened
current_pressure_stateused while processing to update appearance only when its pressure state changes
filledHow much the canister should be filled (recommended from 0 to 1)
gas_typeStores the path of the gas for mapped canisters
internal_cellThe powercell used to enable shielding
maximum_pressureMaximum pressure allowed on initialize inside the canister, multiplied by the filled var
release_logUsed to log opening and closing of the valve, available on VV
release_pressurePlayer controlled var that set the release pressure of the canister
shielding_poweredIs shielding turned on/off
valve_openIs the valve open?
windowWindow overlay showing the gas inside the canister

Procs

canister_breakHandle canisters disassemble, releases the gas content in the turf
create_gasCalled on Initialize(), fill the canister with the gas_type specified up to the filled level (half if 0.5, full if 1) +Used for canisters spawned in maps and by admins
get_pressure_statereturn the icon_state component for the canister's indicator light based on its current pressure reading
update_greyscaleFunction is used to actually set the overlays
update_windowUpdates the overlays of this canister based on its air contents
+

Var Details

cell_container_opened + + + + +

+

Is the cell hatch opened

current_pressure_state + + + + +

+

used while processing to update appearance only when its pressure state changes

filled + + + + +

+

How much the canister should be filled (recommended from 0 to 1)

gas_type + + + + +

+

Stores the path of the gas for mapped canisters

internal_cell + + + + +

+

The powercell used to enable shielding

maximum_pressure + + + + +

+

Maximum pressure allowed on initialize inside the canister, multiplied by the filled var

release_log + + + + +

+

Used to log opening and closing of the valve, available on VV

release_pressure + + + + +

+

Player controlled var that set the release pressure of the canister

shielding_powered + + + + +

+

Is shielding turned on/off

valve_open + + + + +

+

Is the valve open?

window + + + + +

+

Window overlay showing the gas inside the canister

Proc Details

canister_break +

+

Handle canisters disassemble, releases the gas content in the turf

create_gas +

+

Called on Initialize(), fill the canister with the gas_type specified up to the filled level (half if 0.5, full if 1) +Used for canisters spawned in maps and by admins

get_pressure_state +

+

return the icon_state component for the canister's indicator light based on its current pressure reading

update_greyscale +

+

Function is used to actually set the overlays

update_window +

+

Updates the overlays of this canister based on its air contents

+ + + diff --git a/obj/machinery/portable_atmospherics/pump.html b/obj/machinery/portable_atmospherics/pump.html new file mode 100644 index 00000000000..72d46982dc0 --- /dev/null +++ b/obj/machinery/portable_atmospherics/pump.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/portable_atmospherics/pump - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pump + + + +

+ + + + +

Vars

directionWhat direction is the machine pumping (into pump/port or out to the tank/area)?
onIs the machine on?
target_pressurePlayer configurable, sets what's the release pressure
+

Var Details

direction + + + + +

+

What direction is the machine pumping (into pump/port or out to the tank/area)?

on + + + + +

+

Is the machine on?

target_pressure + + + + +

+

Player configurable, sets what's the release pressure

+ + + diff --git a/obj/machinery/portable_atmospherics/scrubber.html b/obj/machinery/portable_atmospherics/scrubber.html new file mode 100644 index 00000000000..5418447f2ba --- /dev/null +++ b/obj/machinery/portable_atmospherics/scrubber.html @@ -0,0 +1,76 @@ + + + + + + + /obj/machinery/portable_atmospherics/scrubber - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

scrubber + + + +

+ + + + + + + +

Vars

onIs the machine on?
overpressure_mMultiplier with ONE_ATMOSPHERE, if the enviroment pressure is higher than that, the scrubber won't work
scrubbingList of gases that can be scrubbed
use_overlaysShould the machine use overlay in update_overlays() when open/close?
volume_ratethe rate the machine will scrub air

Procs

scrubCalled in process_atmos(), handles the scrubbing of the given gas_mixture +Arguments:
+

Var Details

on + + + + +

+

Is the machine on?

overpressure_m + + + + +

+

Multiplier with ONE_ATMOSPHERE, if the enviroment pressure is higher than that, the scrubber won't work

scrubbing + + + + +

+

List of gases that can be scrubbed

use_overlays + + + + +

+

Should the machine use overlay in update_overlays() when open/close?

volume_rate + + + + +

+

the rate the machine will scrub air

Proc Details

scrub +

+

Called in process_atmos(), handles the scrubbing of the given gas_mixture +Arguments:

+
    +
  • mixture: the gas mixture to be scrubbed
  • +
+ + + diff --git a/obj/machinery/power.html b/obj/machinery/power.html new file mode 100644 index 00000000000..0f6cb5498b6 --- /dev/null +++ b/obj/machinery/power.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/power - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

power + + + +

+ + + + + +

Vars

cable_layerCable layer to which the machine is connected.
can_change_cable_layerCan the cable_layer be tweked with a multi tool
powernetThe powernet our machine is connected to.

Procs

cable_layer_change_checksdoes the required checks to see if this machinery layer can be changed
+

Var Details

cable_layer + + + + +

+

Cable layer to which the machine is connected.

can_change_cable_layer + + + + +

+

Can the cable_layer be tweked with a multi tool

powernet + + + + +

+

The powernet our machine is connected to.

Proc Details

cable_layer_change_checks +

+

does the required checks to see if this machinery layer can be changed

+ + + diff --git a/obj/machinery/power/apc.html b/obj/machinery/power/apc.html new file mode 100644 index 00000000000..10a9fccdf31 --- /dev/null +++ b/obj/machinery/power/apc.html @@ -0,0 +1,557 @@ + + + + + + + /obj/machinery/power/apc - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

apc + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

aidisabledIs the AI locked from using the APC
alarm_managerRepresents a signel source of power alarms for this apc
areaReference to our area
areastringMapper helper to tie an apc to another area
auto_nameAutomatically name the APC after the area is in
away_general_accessUsed for apc helper called away_general_access to make apc's required access away_general_access.
beenhitused for counting how many times it has been hit, used for Aliens at the moment
cellReference to our internal cell
cell_10kUsed for apc helper called cell_10k to install 10k cell into apc.
cell_5kUsed for apc helper called cell_5k to install 5k cell into apc.
cell_typeType of cell we start with
chargecountNumber of ticks where the apc is trying to recharge
chargemodeCan the APC charge?
chargingState of the apc charging (not charging, charging, fully charged)
coverlockedIs the apc cover locked?
cut_AI_wireUsed for apc helper called cut_AI_wire to make apc's wore responsible for ai connectione mended.
emergency_lightsShould the emergency lights be on?
environState of the environmental channel (off, auto off, on, auto on)
equipmentState of the equipment channel (off, auto off, on, auto on)
failure_timerTime to allow the APC to regain some power and to turn the channels back online
force_updateForces an update on the power use to ensure that the apc has enough power
full_chargeUsed for apc helper called full_charge to make apc's charge at 100% meter.
hacked_flicker_counterCounter for displaying the hacked overlay to mobs within view
has_electronicsState of the electronics inside (missing, installed, secured)
icon_update_neededUsed to stop process from updating the icons too much
last_nightshift_switchTime when the nightshift where turned on last, to prevent spamming
lastused_environAmount of power used by the environmental channel
lastused_equipAmount of power used by the equipment channel
lastused_lightAmount of power used by the lighting channel
lastused_totalTotal amount of power used by the three channels
light_on_rangeRange of the light emitted when on
lightingState of the lighting channel (off, auto off, on, auto on)
lockedIs the apc interface locked?
long_term_powerbuffer state that makes apcs not shut off channels immediately as long as theres some power left, effect visible in apcs only slowly losing power
low_power_nightshift_lightsTracks if lights channel was set to nightshift / reduced power usage mode automatically due to low power.
main_statusState of the apc external power (no power, low power, has power)
malfaiReference to our ai hacker
malfhackIs the apc hacked by a malf ai?
nightshift_lightsShould the nighshift lights be on?
no_chargeUsed for apc helper called no_charge to make apc's charge at 0% meter.
occupierReference to the shunted ai inside
offset_oldOffsets the object by APC_PIXEL_OFFSET (defined in apc_defines.dm) pixels in the direction we want it placed in. This allows the APC to be embedded in a wall, yet still inside an area (like mapping).
openedState of the cover (closed, opened, removed)
operatingIs the apc working
overloadused for the Blackout malf module
remote_control_userReference to our remote control
shortedIs the APC shorted and not working?
start_chargeInitial cell charge %
syndicate_accessUsed for apc helper called syndicate_access to make apc's required access syndicate_access.
terminalReference to our cable terminal
transfer_in_progressIs there an AI being transferred out of us?
unlockedUsed for apc helper called unlocked to make apc unlocked.
update_overlayStores the flag for the overlays
update_stateStores the flags for the icon state

Procs

AIAltClickToggle APC equipment settings
AICtrlClickToggle APC power settings
AICtrlShiftClickToggle APC environment settings (atmos)
AIShiftClickToggle APC lighting settings
DestroyThis is how we test to ensure that mappers use the directional subtypes of APCs, rather than use the parent and pixel-shift it themselves.
autosetReturns the new status value for an APC channel.
check_updatesChecks for what icon updates we will need to handle
ethereal_interactSpecial behavior for when an ethereal interacts with an APC.
give_away_general_accessUsed for away_general_access apc helper, which set apc's required access to away_general_access.
give_syndicate_accessUsed for syndicate_access apc helper, which sets apc's required access to syndicate_access.
install_cell_10kUsed for cell_10k apc helper, which installs 10k cell into apc.
install_cell_5kUsed for cell_5k apc helper, which installs 5k cell into apc.
set_full_chargeUsed for full_charge apc helper, which sets apc charge to 100%.
set_hacked_hudApplies hacked overlay for malf AIs
set_no_chargeUsed for no_charge apc helper, which sets apc charge to 0%.
setsubsystemUsed by external forces to set the APCs channel status's.
unlockUsed for unlocked apc helper, which unlocks the apc.
+

Var Details

aidisabled + + + + +

+

Is the AI locked from using the APC

alarm_manager + + + + +

+

Represents a signel source of power alarms for this apc

area + + + + +

+

Reference to our area

areastring + + + + +

+

Mapper helper to tie an apc to another area

auto_name + + + + +

+

Automatically name the APC after the area is in

away_general_access + + + + +

+

Used for apc helper called away_general_access to make apc's required access away_general_access.

beenhit + + + + +

+

used for counting how many times it has been hit, used for Aliens at the moment

cell + + + + +

+

Reference to our internal cell

cell_10k + + + + +

+

Used for apc helper called cell_10k to install 10k cell into apc.

cell_5k + + + + +

+

Used for apc helper called cell_5k to install 5k cell into apc.

cell_type + + + + +

+

Type of cell we start with

chargecount + + + + +

+

Number of ticks where the apc is trying to recharge

chargemode + + + + +

+

Can the APC charge?

charging + + + + +

+

State of the apc charging (not charging, charging, fully charged)

coverlocked + + + + +

+

Is the apc cover locked?

cut_AI_wire + + + + +

+

Used for apc helper called cut_AI_wire to make apc's wore responsible for ai connectione mended.

emergency_lights + + + + +

+

Should the emergency lights be on?

environ + + + + +

+

State of the environmental channel (off, auto off, on, auto on)

equipment + + + + +

+

State of the equipment channel (off, auto off, on, auto on)

failure_timer + + + + +

+

Time to allow the APC to regain some power and to turn the channels back online

force_update + + + + +

+

Forces an update on the power use to ensure that the apc has enough power

full_charge + + + + +

+

Used for apc helper called full_charge to make apc's charge at 100% meter.

hacked_flicker_counter + + + + +

+

Counter for displaying the hacked overlay to mobs within view

has_electronics + + + + +

+

State of the electronics inside (missing, installed, secured)

icon_update_needed + + + + +

+

Used to stop process from updating the icons too much

last_nightshift_switch + + + + +

+

Time when the nightshift where turned on last, to prevent spamming

lastused_environ + + + + +

+

Amount of power used by the environmental channel

lastused_equip + + + + +

+

Amount of power used by the equipment channel

lastused_light + + + + +

+

Amount of power used by the lighting channel

lastused_total + + + + +

+

Total amount of power used by the three channels

light_on_range + + + + +

+

Range of the light emitted when on

lighting + + + + +

+

State of the lighting channel (off, auto off, on, auto on)

locked + + + + +

+

Is the apc interface locked?

long_term_power + + + + +

+

buffer state that makes apcs not shut off channels immediately as long as theres some power left, effect visible in apcs only slowly losing power

low_power_nightshift_lights + + + + +

+

Tracks if lights channel was set to nightshift / reduced power usage mode automatically due to low power.

main_status + + + + +

+

State of the apc external power (no power, low power, has power)

malfai + + + + +

+

Reference to our ai hacker

malfhack + + + + +

+

Is the apc hacked by a malf ai?

nightshift_lights + + + + +

+

Should the nighshift lights be on?

no_charge + + + + +

+

Used for apc helper called no_charge to make apc's charge at 0% meter.

occupier + + + + +

+

Reference to the shunted ai inside

offset_old + + + + +

+

Offsets the object by APC_PIXEL_OFFSET (defined in apc_defines.dm) pixels in the direction we want it placed in. This allows the APC to be embedded in a wall, yet still inside an area (like mapping).

opened + + + + +

+

State of the cover (closed, opened, removed)

operating + + + + +

+

Is the apc working

overload + + + + +

+

used for the Blackout malf module

remote_control_user + + + + +

+

Reference to our remote control

shorted + + + + +

+

Is the APC shorted and not working?

start_charge + + + + +

+

Initial cell charge %

syndicate_access + + + + +

+

Used for apc helper called syndicate_access to make apc's required access syndicate_access.

terminal + + + + +

+

Reference to our cable terminal

transfer_in_progress + + + + +

+

Is there an AI being transferred out of us?

unlocked + + + + +

+

Used for apc helper called unlocked to make apc unlocked.

update_overlay + + + + +

+

Stores the flag for the overlays

update_state + + + + +

+

Stores the flags for the icon state

Proc Details

AIAltClick +

+

Toggle APC equipment settings

AICtrlClick +

+

Toggle APC power settings

AICtrlShiftClick +

+

Toggle APC environment settings (atmos)

AIShiftClick +

+

Toggle APC lighting settings

Destroy +

+

This is how we test to ensure that mappers use the directional subtypes of APCs, rather than use the parent and pixel-shift it themselves.

autoset +

+

Returns the new status value for an APC channel.

+

// val 0=off, 1=off(auto) 2=on 3=on(auto) +// on 0=off, 1=on, 2=autooff +TODO: Make this use bitflags instead. It should take at most three lines, but it's out of scope for now.

+

Arguments:

+
    +
  • val: The current status of the power channel. +
      +
    • APC_CHANNEL_OFF: The APCs channel has been manually set to off. This channel will not automatically change.
    • +
    • APC_CHANNEL_AUTO_OFF: The APCs channel is running on automatic and is currently off. Can be automatically set to APC_CHANNEL_AUTO_ON.
    • +
    • APC_CHANNEL_ON: The APCs channel has been manually set to on. This will be automatically changed only if the APC runs completely out of power or is disabled.
    • +
    • APC_CHANNEL_AUTO_ON: The APCs channel is running on automatic and is currently on. Can be automatically set to APC_CHANNEL_AUTO_OFF.
    • +
    +
  • +
  • on: An enum dictating how to change the channel's status. +
      +
    • AUTOSET_FORCE_OFF: The APC forces the channel to turn off. This includes manually set channels.
    • +
    • AUTOSET_ON: The APC allows automatic channels to turn back on.
    • +
    • AUTOSET_OFF: The APC turns automatic channels off.
    • +
    +
  • +

check_updates +

+

Checks for what icon updates we will need to handle

ethereal_interact +

+

Special behavior for when an ethereal interacts with an APC.

give_away_general_access +

+

Used for away_general_access apc helper, which set apc's required access to away_general_access.

give_syndicate_access +

+

Used for syndicate_access apc helper, which sets apc's required access to syndicate_access.

install_cell_10k +

+

Used for cell_10k apc helper, which installs 10k cell into apc.

install_cell_5k +

+

Used for cell_5k apc helper, which installs 5k cell into apc.

set_full_charge +

+

Used for full_charge apc helper, which sets apc charge to 100%.

set_hacked_hud +

+

Applies hacked overlay for malf AIs

set_no_charge +

+

Used for no_charge apc helper, which sets apc charge to 0%.

setsubsystem +

+

Used by external forces to set the APCs channel status's.

+

Arguments:

+

unlock +

+

Used for unlocked apc helper, which unlocks the apc.

+ + + diff --git a/obj/machinery/power/emitter.html b/obj/machinery/power/emitter.html new file mode 100644 index 00000000000..b7b1a76611d --- /dev/null +++ b/obj/machinery/power/emitter.html @@ -0,0 +1,176 @@ + + + + + + + /obj/machinery/power/emitter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

emitter + + + +

+ + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs the machine active?
allow_switch_interactUsed to stop interactions with the object (mainly in the wabbajack statue)
chargeAmount of power inside
fire_delaySeconds before the next shot
gunStores the type of gun we are using inside the emitter
gun_propertiesList of all the properties of the inserted gun
icon_state_onThe icon state used by the emitter when it's on.
icon_state_underpoweredThe icon state used by the emitter when it's on and low on power.
last_projectile_paramsstores the direction and orientation of the last projectile
last_shotWhen was the last shot
lockedIs the emitter id locked?
manualmanual shooting? (basically you hop onto the emitter and choose the shooting direction, is very janky since you can only shoot at the 8 directions and i don't think is ever used since you can't build those)
maximum_fire_delayMax delay before firing
minimum_fire_delayMin delay before firing
poweredDoes the machine have power?
projectile_soundWhat's the projectile sound?
projectile_typeWhat projectile type are we shooting?
shot_numberNumber of shots made (gets reset every few shots)
sparksSparks emitted with every shot
weldedif it's welded down to the ground or not. the emitter will not fire while unwelded. if set to true, the emitter will start anchored as well.

Procs

togglelockAttempt to toggle the controls lock of the emitter
+

Var Details

active + + + + +

+

Is the machine active?

allow_switch_interact + + + + +

+

Used to stop interactions with the object (mainly in the wabbajack statue)

charge + + + + +

+

Amount of power inside

fire_delay + + + + +

+

Seconds before the next shot

gun + + + + +

+

Stores the type of gun we are using inside the emitter

gun_properties + + + + +

+

List of all the properties of the inserted gun

icon_state_on + + + + +

+

The icon state used by the emitter when it's on.

icon_state_underpowered + + + + +

+

The icon state used by the emitter when it's on and low on power.

last_projectile_params + + + + +

+

stores the direction and orientation of the last projectile

last_shot + + + + +

+

When was the last shot

locked + + + + +

+

Is the emitter id locked?

manual + + + + +

+

manual shooting? (basically you hop onto the emitter and choose the shooting direction, is very janky since you can only shoot at the 8 directions and i don't think is ever used since you can't build those)

maximum_fire_delay + + + + +

+

Max delay before firing

minimum_fire_delay + + + + +

+

Min delay before firing

powered + + + + +

+

Does the machine have power?

projectile_sound + + + + +

+

What's the projectile sound?

projectile_type + + + + +

+

What projectile type are we shooting?

shot_number + + + + +

+

Number of shots made (gets reset every few shots)

sparks + + + + +

+

Sparks emitted with every shot

welded + + + + +

+

if it's welded down to the ground or not. the emitter will not fire while unwelded. if set to true, the emitter will start anchored as well.

Proc Details

togglelock +

+

Attempt to toggle the controls lock of the emitter

+ + + diff --git a/obj/machinery/power/emitter/prototype.html b/obj/machinery/power/emitter/prototype.html new file mode 100644 index 00000000000..85d3a99ac33 --- /dev/null +++ b/obj/machinery/power/emitter/prototype.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/power/emitter/prototype - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prototype + + + +

+ + + +

Vars

autoGrants the buckled mob the action button
view_rangeSets the view size for the user
+

Var Details

auto + + + + +

+

Grants the buckled mob the action button

view_range + + + + +

+

Sets the view size for the user

+ + + diff --git a/obj/machinery/power/energy_accumulator.html b/obj/machinery/power/energy_accumulator.html new file mode 100644 index 00000000000..5c89f64daf9 --- /dev/null +++ b/obj/machinery/power/energy_accumulator.html @@ -0,0 +1,44 @@ + + + + + + + /obj/machinery/power/energy_accumulator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energy_accumulator + + + +

+ +

Abstract type for generators that accumulate energy over time and slowly release it +eg. radiation collectors, tesla coils

+ +

Vars

stored_energyThe amount of energy that is currently inside the machine before being converted to electricity
wants_powernetWhether this accumulator should connect to and power a powernet
+

Var Details

stored_energy + + + + +

+

The amount of energy that is currently inside the machine before being converted to electricity

wants_powernet + + + + +

+

Whether this accumulator should connect to and power a powernet

+ + + diff --git a/obj/machinery/power/energy_accumulator/tesla_coil.html b/obj/machinery/power/energy_accumulator/tesla_coil.html new file mode 100644 index 00000000000..ec6460bbff1 --- /dev/null +++ b/obj/machinery/power/energy_accumulator/tesla_coil.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/power/energy_accumulator/tesla_coil - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tesla_coil + + + +

+ + + + + + + +

Vars

input_power_multiplierMultiplier for power conversion
last_zapReference to the last zap done
zap_cooldownCooldown between pulsed zaps
zap_flagsFlags of the zap that the coil releases when the wire is pulsed
zap_sound_rangeCalculated range of zap sounds based on power
zap_sound_volumeCalculated volume of zap sounds based on power
+

Var Details

input_power_multiplier + + + + +

+

Multiplier for power conversion

last_zap + + + + +

+

Reference to the last zap done

zap_cooldown + + + + +

+

Cooldown between pulsed zaps

zap_flags + + + + +

+

Flags of the zap that the coil releases when the wire is pulsed

zap_sound_range + + + + +

+

Calculated range of zap sounds based on power

zap_sound_volume + + + + +

+

Calculated volume of zap sounds based on power

+ + + diff --git a/obj/machinery/power/floodlight.html b/obj/machinery/power/floodlight.html new file mode 100644 index 00000000000..b743df63926 --- /dev/null +++ b/obj/machinery/power/floodlight.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/power/floodlight - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

floodlight + + + +

+ + + + + +

Vars

light_power_coefficientConstant coeff. for power usage
light_setting_listList of power usage multipliers
settingIntensity of the floodlight.

Procs

update_light_statechange light color during operation
+

Var Details

light_power_coefficient + + + + +

+

Constant coeff. for power usage

light_setting_list + + + + +

+

List of power usage multipliers

setting + + + + +

+

Intensity of the floodlight.

Proc Details

update_light_state +

+

change light color during operation

+ + + diff --git a/obj/machinery/power/shieldwallgen.html b/obj/machinery/power/shieldwallgen.html new file mode 100644 index 00000000000..372f2131a38 --- /dev/null +++ b/obj/machinery/power/shieldwallgen.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/power/shieldwallgen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shieldwallgen + + + +

+ + + + + + + +

Vars

activewhether the shield generator is active, ACTIVE_SETUPFIELDS will make it search for generators on process, and if that is successful, is set to ACTIVE_HASFIELDS
attachedthe attached cable under us
lockedare we locked?
shield_rangehow far do we seek another generator in our cardinal directions

Procs

cleanup_fieldcleans up fields in the specified direction if they belong to this generator
setup_fieldConstructs the actual field walls in the specified direction, cleans up old/stuck shields before doing so
+

Var Details

active + + + + +

+

whether the shield generator is active, ACTIVE_SETUPFIELDS will make it search for generators on process, and if that is successful, is set to ACTIVE_HASFIELDS

attached + + + + +

+

the attached cable under us

locked + + + + +

+

are we locked?

shield_range + + + + +

+

how far do we seek another generator in our cardinal directions

Proc Details

cleanup_field +

+

cleans up fields in the specified direction if they belong to this generator

setup_field +

+

Constructs the actual field walls in the specified direction, cleans up old/stuck shields before doing so

+ + + diff --git a/obj/machinery/power/shuttle_engine.html b/obj/machinery/power/shuttle_engine.html new file mode 100644 index 00000000000..736fce36fe4 --- /dev/null +++ b/obj/machinery/power/shuttle_engine.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/power/shuttle_engine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_engine + + + +

+ + + + + +

Vars

connected_ship_refThe mobile ship we are connected to.
engine_powerHow well the engine affects the ship's speed.
engine_stateConstruction state of the Engine.

Procs

unsync_shipCalled on destroy and when we need to unsync an engine from their ship.
+

Var Details

connected_ship_ref + + + + +

+

The mobile ship we are connected to.

engine_power + + + + +

+

How well the engine affects the ship's speed.

engine_state + + + + +

+

Construction state of the Engine.

Proc Details

unsync_ship +

+

Called on destroy and when we need to unsync an engine from their ship.

+ + + diff --git a/obj/machinery/power/solar.html b/obj/machinery/power/solar.html new file mode 100644 index 00000000000..f8792d6cef7 --- /dev/null +++ b/obj/machinery/power/solar.html @@ -0,0 +1,83 @@ + + + + + + + /obj/machinery/power/solar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

solar + + + +

+ + + + + + + + +

Vars

azimuth_current[0-360) degrees, which direction are we facing?
needs_to_turndo we need to turn next tick?
needs_to_update_solar_exposuredo we need to call update_solar_exposure() next tick?
sunfrac[0-1] measure of obscuration -- multipllier against power generation

Procs

get_panel_transformGet the 2.5D transform for the panel, given an angle +Arguments:
occlusion_setuptrace towards sun to see if we're in shadow
update_solar_exposurecalculates the fraction of the sunlight that the panel receives
+

Var Details

azimuth_current + + + + +

+

[0-360) degrees, which direction are we facing?

needs_to_turn + + + + +

+

do we need to turn next tick?

needs_to_update_solar_exposure + + + + +

+

do we need to call update_solar_exposure() next tick?

sunfrac + + + + +

+

[0-1] measure of obscuration -- multipllier against power generation

Proc Details

get_panel_transform +

+

Get the 2.5D transform for the panel, given an angle +Arguments:

+
    +
  • angle - the angle the panel is facing
  • +

occlusion_setup +

+

trace towards sun to see if we're in shadow

update_solar_exposure +

+

calculates the fraction of the sunlight that the panel receives

+ + + diff --git a/obj/machinery/power/solar_control.html b/obj/machinery/power/solar_control.html new file mode 100644 index 00000000000..41f95dc0bce --- /dev/null +++ b/obj/machinery/power/solar_control.html @@ -0,0 +1,92 @@ + + + + + + + /obj/machinery/power/solar_control - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

solar_control + + + +

+ + + + + + + + + + +

Vars

connected_trackerSOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO
historyHistory of power supply
next_recordHistory record timer
record_intervalInterval between records
record_sizeSize of history, should be equal or bigger than the solar cycle
trackdegree change per minute

Procs

recordRecord the generated power supply and capacity for history
set_panelsRotates the panel to the passed angles
timed_trackRan every time the sun updates.
+

Var Details

connected_tracker + + + + +

+

SOLAR_TRACK_OFF, SOLAR_TRACK_TIMED, SOLAR_TRACK_AUTO

history + + + + +

+

History of power supply

next_record + + + + +

+

History record timer

record_interval + + + + +

+

Interval between records

record_size + + + + +

+

Size of history, should be equal or bigger than the solar cycle

track + + + + +

+

degree change per minute

Proc Details

record +

+

Record the generated power supply and capacity for history

set_panels +

+

Rotates the panel to the passed angles

timed_track +

+

Ran every time the sun updates.

+ + + diff --git a/obj/machinery/power/supermatter_crystal.html b/obj/machinery/power/supermatter_crystal.html new file mode 100644 index 00000000000..7ef644dccec --- /dev/null +++ b/obj/machinery/power/supermatter_crystal.html @@ -0,0 +1,645 @@ + + + + + + + /obj/machinery/power/supermatter_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

supermatter_crystal + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

absorbed_gasmixThe gasmix we just recently absorbed. Tile's air multiplied by absorption_ratio
absorption_ratioThe portion of the gasmix we're on that we should remove
activation_loggedBoolean used to log the first activation of the SM.
bullet_energyHow much the bullets damage should be multiplied by when it is added to the internal variables
common_radio_cooldownCooldown for sending emergency alerts to the common radio channel
countdownAn effect we show to admins and ghosts the percentage of delam we're at
current_gas_behaviorThe current gas behaviors for this particular crystal
damageThe amount of damage we have currently.
damage_archivedThe damage we had before this cycle. +Used to check if we are currently taking damage or healing.
danger_pointThe point at which we consider the supermatter to be [SUPERMATTER_STATUS_DANGER] +Spawns anomalies when more damaged than this too.
delam_priorityWhether the sm is forced in a specific delamination_strategy or not. All truthy values means it's forced. +Only values greater or equal to the current one can change the strat.
delamination_strategyHow we are delaminating.
disable_damageDisables all methods of taking damage.
disable_gasDisables the calculation of gas effects and production of waste. +SM still "breathes" though, still takes gas and spits it out. Nothing is done on them though. +Cleaner code this way. Get rid of if it's too wasteful.
disable_power_changeDisables power changes.
disable_processDisables the SM's proccessing totally when set to SM_PROCESS_DISABLED. +Temporary disables the processing when it's set to SM_PROCESS_TIMESTOP. +Make sure absorbed_gasmix and gas_percentage isnt null if this is on SM_PROCESS_DISABLED.
emergency_pointThe point at which we consider the supermatter to be [SUPERMATTER_STATUS_EMERGENCY]
explosion_pointThe point at which we delam [SUPERMATTER_STATUS_DELAMINATING].
explosion_powerA scaling value that affects the severity of explosions.
external_damage_immediateExternal damage that are added to the sm on next [/obj/machinery/power/supermatter_crystal/process_atmos] call. +SM will not take damage if it's health is lower than emergency point.
external_power_immediateExternal power that are added to the sm on next [/obj/machinery/power/supermatter_crystal/process_atmos] call.
external_power_trickleExternal power that are added over time instead of immediately.
final_countdownAre we exploding?
gas_heat_modifierAffects the heat our SM makes.
gas_heat_power_generationAffects the power gain the SM experiances from heat.
gas_heat_resistanceAffects the minimum point at which the SM takes heat damage
gas_percentageThe list of gases mapped against their current comp. +We use this to calculate different values the supermatter uses, like power or heat resistance. +Ranges from 0 to 1
gas_power_transmission_rateAffects the amount of power the main SM zap makes.
gas_powerloss_inhibitionHow much power decay is negated. Complete power decay negation at 1.
gl_uidThe amount of supermatters that have been created this round
hallucination_powerHow much hallucination should we produce per unit of power?
holiday_lightsIf the SM is decorated with holiday lights
hue_angle_shiftHue shift of the zaps color based on the power of the crystal
include_in_cimsDo we show this crystal in the CIMS modular program
internal_energyRefered to as EER on the monitor. This value effects gas output, damage, and power generation.
is_main_engineOnly main engines can have their sliver stolen, can trigger cascades, and can spawn stationwide anomalies.
last_accent_soundcooldown tracker for accent sounds
last_power_zapStores the time of when the last zap occurred
lastwarningTime in 1/10th of seconds since the last sent warning
moveableCan it be moved?
powerloss_linear_offsetThe offset of the linear powerloss function set so the transition is differentiable.
powerloss_linear_thresholdThe power threshold required to transform the powerloss function into a linear function from a cubic function.
psy_coeffVar that increases from 0 to 1 when a psychologist is nearby, and decreases in the same way
radioOur internal radio
radio_keyThe key our internal radio uses
saviorsLazy list of the crazy engineers who managed to turn a cascading engine around.
soundloopOur soundloop
supermatter_sliver_removedIf a sliver of the supermatter has been removed. Almost certainly by a traitor. Lowers the delamination countdown time.
temp_limitThe temperature at which we start taking damage
uidThe id of our supermatter
warning_pointThe point at which we consider the supermatter to be [SUPERMATTER_STATUS_WARNING]
warpReference to the warp effect
waste_multiplierMultiplies our waste gas amount and temperature.
zap_cutoffThe cutoff for a bolt jumping, grows with heat, lowers with higher mol count,
zap_iconTracks the bolt color we are using
zap_transmission_rateThe zap power transmission over internal energy. W/MeV.

Procs

calculate_damagePerform calculation for the damage taken or healed. +Description of each factors can be found in the defines.
calculate_gasesPerform calculation for variables that depend on gases. +Description of each factors can be found in the defines.
calculate_internal_energyPerform calculation for power lost and gained this tick. +Description of each factors can be found in the defines.
calculate_temp_limitTell people the heat output in energy. More informative than telling them the heat multiplier. +Calculate at which temperature the sm starts taking damage. +heat limit is given by: (T0C+40) * (1 + gas heat res + psy_coeff)
calculate_waste_multiplierPerform calculation for the waste multiplier. +This number affects the temperature, plasma, and oxygen of the waste gas. +Multiplier is applied to energy for plasma and temperature but temperature for oxygen.
calculate_zap_transmission_ratePerform calculation for the main zap power transmission rate in W/MeV. +Description of each factors can be found in the defines.
count_downCount down, spout some messages, and then execute the delam itself. +We guard for last second delam strat changes here, mostly because some have diff messages.
get_integrity_percentReturns the integrity percent of the Supermatter. No rounding made yet, round it yourself.
get_statusEncodes the current state of the supermatter.
holiday_hat_examineAdds the hat flavor text when examined
holiday_item_interactionConsume the santa hat and add it as an overlay
log_activationIf we have a small amount of external_power_trickle we just round it up to 40. +Power if we dont have decay. Used for powerloss calc.
set_delamSets the delam of our sm.
sm_ui_dataReturns data that are exclusively about this sm.
tram_contents_consumeConsume things that run into the supermatter from the tram. The tram calls forceMove (doesn't call Bump/ed) and not Move, and I'm afraid changing it will do something chaotic
ui_dataAdd high energy bonus to the zap transmission data so we can accurately measure our power generation from zaps. +Power multiplier bonus applied to all zaps. Zap power generation doubles when it reaches 7GeV and 9GeV. +The supermatter releases additional zaps after 5GeV, with more at 7GeV and 9GeV.
ui_interactDo waste on another gasmix so we can keep a copy of the gasmix we use for processing.
+

Var Details

absorbed_gasmix + + + + +

+

The gasmix we just recently absorbed. Tile's air multiplied by absorption_ratio

absorption_ratio + + + + +

+

The portion of the gasmix we're on that we should remove

activation_logged + + + + +

+

Boolean used to log the first activation of the SM.

bullet_energy + + + + +

+

How much the bullets damage should be multiplied by when it is added to the internal variables

common_radio_cooldown + + + + +

+

Cooldown for sending emergency alerts to the common radio channel

countdown + + + + +

+

An effect we show to admins and ghosts the percentage of delam we're at

current_gas_behavior + + + + +

+

The current gas behaviors for this particular crystal

damage + + + + +

+

The amount of damage we have currently.

damage_archived + + + + +

+

The damage we had before this cycle. +Used to check if we are currently taking damage or healing.

danger_point + + + + +

+

The point at which we consider the supermatter to be [SUPERMATTER_STATUS_DANGER] +Spawns anomalies when more damaged than this too.

delam_priority + + + + +

+

Whether the sm is forced in a specific delamination_strategy or not. All truthy values means it's forced. +Only values greater or equal to the current one can change the strat.

delamination_strategy + + + + +

+

How we are delaminating.

disable_damage + + + + +

+

Disables all methods of taking damage.

disable_gas + + + + +

+

Disables the calculation of gas effects and production of waste. +SM still "breathes" though, still takes gas and spits it out. Nothing is done on them though. +Cleaner code this way. Get rid of if it's too wasteful.

disable_power_change + + + + +

+

Disables power changes.

disable_process + + + + +

+

Disables the SM's proccessing totally when set to SM_PROCESS_DISABLED. +Temporary disables the processing when it's set to SM_PROCESS_TIMESTOP. +Make sure absorbed_gasmix and gas_percentage isnt null if this is on SM_PROCESS_DISABLED.

emergency_point + + + + +

+

The point at which we consider the supermatter to be [SUPERMATTER_STATUS_EMERGENCY]

explosion_point + + + + +

+

The point at which we delam [SUPERMATTER_STATUS_DELAMINATING].

explosion_power + + + + +

+

A scaling value that affects the severity of explosions.

external_damage_immediate + + + + +

+

External damage that are added to the sm on next [/obj/machinery/power/supermatter_crystal/process_atmos] call. +SM will not take damage if it's health is lower than emergency point.

external_power_immediate + + + + +

+

External power that are added to the sm on next [/obj/machinery/power/supermatter_crystal/process_atmos] call.

external_power_trickle + + + + +

+

External power that are added over time instead of immediately.

final_countdown + + + + +

+

Are we exploding?

gas_heat_modifier + + + + +

+

Affects the heat our SM makes.

gas_heat_power_generation + + + + +

+

Affects the power gain the SM experiances from heat.

gas_heat_resistance + + + + +

+

Affects the minimum point at which the SM takes heat damage

gas_percentage + + + + +

+

The list of gases mapped against their current comp. +We use this to calculate different values the supermatter uses, like power or heat resistance. +Ranges from 0 to 1

gas_power_transmission_rate + + + + +

+

Affects the amount of power the main SM zap makes.

gas_powerloss_inhibition + + + + +

+

How much power decay is negated. Complete power decay negation at 1.

gl_uid + + + + +

+

The amount of supermatters that have been created this round

hallucination_power + + + + +

+

How much hallucination should we produce per unit of power?

holiday_lights + + + + +

+

If the SM is decorated with holiday lights

hue_angle_shift + + + + +

+

Hue shift of the zaps color based on the power of the crystal

include_in_cims + + + + +

+

Do we show this crystal in the CIMS modular program

internal_energy + + + + +

+

Refered to as EER on the monitor. This value effects gas output, damage, and power generation.

is_main_engine + + + + +

+

Only main engines can have their sliver stolen, can trigger cascades, and can spawn stationwide anomalies.

last_accent_sound + + + + +

+

cooldown tracker for accent sounds

last_power_zap + + + + +

+

Stores the time of when the last zap occurred

lastwarning + + + + +

+

Time in 1/10th of seconds since the last sent warning

moveable + + + + +

+

Can it be moved?

powerloss_linear_offset + + + + +

+

The offset of the linear powerloss function set so the transition is differentiable.

powerloss_linear_threshold + + + + +

+

The power threshold required to transform the powerloss function into a linear function from a cubic function.

psy_coeff + + + + +

+

Var that increases from 0 to 1 when a psychologist is nearby, and decreases in the same way

radio + + + + +

+

Our internal radio

radio_key + + + + +

+

The key our internal radio uses

saviors + + + + +

+

Lazy list of the crazy engineers who managed to turn a cascading engine around.

soundloop + + + + +

+

Our soundloop

supermatter_sliver_removed + + + + +

+

If a sliver of the supermatter has been removed. Almost certainly by a traitor. Lowers the delamination countdown time.

temp_limit + + + + +

+

The temperature at which we start taking damage

uid + + + + +

+

The id of our supermatter

warning_point + + + + +

+

The point at which we consider the supermatter to be [SUPERMATTER_STATUS_WARNING]

warp + + + + +

+

Reference to the warp effect

waste_multiplier + + + + +

+

Multiplies our waste gas amount and temperature.

zap_cutoff + + + + +

+

The cutoff for a bolt jumping, grows with heat, lowers with higher mol count,

zap_icon + + + + +

+

Tracks the bolt color we are using

zap_transmission_rate + + + + +

+

The zap power transmission over internal energy. W/MeV.

Proc Details

calculate_damage +

+

Perform calculation for the damage taken or healed. +Description of each factors can be found in the defines.

+

Updates: +/obj/machinery/power/supermatter_crystal/var/damage

+

Returns: The factors that have influenced the calculation. list[FACTOR_DEFINE] = number

calculate_gases +

+

Perform calculation for variables that depend on gases. +Description of each factors can be found in the defines.

+

Updates: +[/obj/machinery/power/supermatter_crystal/var/list/gas_percentage] +/obj/machinery/power/supermatter_crystal/var/gas_power_transmission_rate +/obj/machinery/power/supermatter_crystal/var/gas_heat_modifier +/obj/machinery/power/supermatter_crystal/var/gas_heat_resistance +/obj/machinery/power/supermatter_crystal/var/gas_heat_power_generation +/obj/machinery/power/supermatter_crystal/var/gas_powerloss_inhibition

+

Returns: null

calculate_internal_energy +

+

Perform calculation for power lost and gained this tick. +Description of each factors can be found in the defines.

+

Updates: +/obj/machinery/power/supermatter_crystal/var/internal_energy +/obj/machinery/power/supermatter_crystal/var/external_power_trickle +/obj/machinery/power/supermatter_crystal/var/external_power_immediate

+

Returns: The factors that have influenced the calculation. list[FACTOR_DEFINE] = number

calculate_temp_limit +

+

Tell people the heat output in energy. More informative than telling them the heat multiplier. +Calculate at which temperature the sm starts taking damage. +heat limit is given by: (T0C+40) * (1 + gas heat res + psy_coeff)

+

Description of each factors can be found in the defines.

+

Updates: +/obj/machinery/power/supermatter_crystal/var/temp_limit

+

Returns: The factors that have influenced the calculation. list[FACTOR_DEFINE] = number

calculate_waste_multiplier +

+

Perform calculation for the waste multiplier. +This number affects the temperature, plasma, and oxygen of the waste gas. +Multiplier is applied to energy for plasma and temperature but temperature for oxygen.

+

Description of each factors can be found in the defines.

+

Updates: +/obj/machinery/power/supermatter_crystal/var/waste_multiplier

+

Returns: The factors that have influenced the calculation. list[FACTOR_DEFINE] = number

calculate_zap_transmission_rate +

+

Perform calculation for the main zap power transmission rate in W/MeV. +Description of each factors can be found in the defines.

+

Updates: +/obj/machinery/power/supermatter_crystal/var/zap_transmission_rate

+

Returns: The factors that have influenced the calculation. list[FACTOR_DEFINE] = number

count_down +

+

Count down, spout some messages, and then execute the delam itself. +We guard for last second delam strat changes here, mostly because some have diff messages.

+

By last second changes, we mean that it's possible for say, a tesla delam to +just explode normally if at the absolute last second it loses power and switches to default one. +Even after countdown is already in progress.

get_integrity_percent +

+

Returns the integrity percent of the Supermatter. No rounding made yet, round it yourself.

get_status +

+

Encodes the current state of the supermatter.

holiday_hat_examine +

+

Adds the hat flavor text when examined

holiday_item_interaction +

+

Consume the santa hat and add it as an overlay

log_activation +

+

If we have a small amount of external_power_trickle we just round it up to 40. +Power if we dont have decay. Used for powerloss calc.

+
    +
  • +

    Log when the supermatter is activated for the first time.

    +
  • +
  • +

    Everything that can increase /obj/machinery/power/supermatter_crystal/var/internal_energy

    +
  • +
  • +

    either directly or indirectly MUST call this.

    +
  • +
  • +

    Arguments:

    +
  • +
  • +
      +
    • who - Either a string or a datum. Whatever gave power to the SM. Mandatory.
    • +
    +
  • +
  • +
      +
    • how - A datum. How they powered it. Optional.
    • +
    +
  • +

set_delam +

+

Sets the delam of our sm.

+

Arguments:

+
    +
  • priority: Truthy values means a forced delam. If current forced_delam is higher than priority we dont run. +Set to a number higher than SM_DELAM_PRIO_IN_GAME to fully force an admin delam.
  • +
  • delam_path: Typepath of a /datum/sm_delam. SM_DELAM_STRATEGY_PURGE means reset and put prio back to zero.
  • +
+

Returns: Not used for anything, just returns true on succesful set, manual and automatic. Helps admins check stuffs.

sm_ui_data +

+

Returns data that are exclusively about this sm.

tram_contents_consume +

+

Consume things that run into the supermatter from the tram. The tram calls forceMove (doesn't call Bump/ed) and not Move, and I'm afraid changing it will do something chaotic

ui_data +

+

Add high energy bonus to the zap transmission data so we can accurately measure our power generation from zaps. +Power multiplier bonus applied to all zaps. Zap power generation doubles when it reaches 7GeV and 9GeV. +The supermatter releases additional zaps after 5GeV, with more at 7GeV and 9GeV.

ui_interact +

+

Do waste on another gasmix so we can keep a copy of the gasmix we use for processing.

+ + + diff --git a/obj/machinery/power/tracker.html b/obj/machinery/power/tracker.html new file mode 100644 index 00000000000..ff40701f6a5 --- /dev/null +++ b/obj/machinery/power/tracker.html @@ -0,0 +1,47 @@ + + + + + + + /obj/machinery/power/tracker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tracker + + + +

+ + + +

Procs

get_tracker_transformGet the 2.5D transform for the tracker, given an angle +Arguments:
sun_updateTell the controller to turn the solar panels

Proc Details

get_tracker_transform +

+

Get the 2.5D transform for the tracker, given an angle +Arguments:

+
    +
  • angle - the angle the panel is facing
  • +

sun_update +

+

Tell the controller to turn the solar panels

+ + + diff --git a/obj/machinery/power/turbine.html b/obj/machinery/power/turbine.html new file mode 100644 index 00000000000..c1323565524 --- /dev/null +++ b/obj/machinery/power/turbine.html @@ -0,0 +1,127 @@ + + + + + + + /obj/machinery/power/turbine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

turbine + + + +

+ + + + + + + + + + + + + + + +

Vars

activeChecks if the machine is processing or not
active_overlayOur overlay when active
can_connectThe parts can be registered on the main one only when their panel is closed
emissiveShould we use emissive appearance?
gas_theoretical_volumeTheoretical volume of gas that's moving through the turbine, it expands the further it goes
installed_partReference to our turbine part
off_overlayOur overlay when off
open_overlayOur overlay when open
our_turf_thermal_conductivityStores the turf thermal conductivity to restore it later
part_pathPath of the turbine part we can install

Procs

activate_partsAllow easy enabling of each machine for connection to the main controller
deactivate_partsAllow easy disabling of each machine from the main controller
get_efficiencyGets the efficiency of the installed part, returns 0 if no part is installed
transfer_gasesHandles all the calculations needed for the gases, work done, temperature increase/decrease
+

Var Details

active + + + + +

+

Checks if the machine is processing or not

active_overlay + + + + +

+

Our overlay when active

can_connect + + + + +

+

The parts can be registered on the main one only when their panel is closed

emissive + + + + +

+

Should we use emissive appearance?

gas_theoretical_volume + + + + +

+

Theoretical volume of gas that's moving through the turbine, it expands the further it goes

installed_part + + + + +

+

Reference to our turbine part

off_overlay + + + + +

+

Our overlay when off

open_overlay + + + + +

+

Our overlay when open

our_turf_thermal_conductivity + + + + +

+

Stores the turf thermal conductivity to restore it later

part_path + + + + +

+

Path of the turbine part we can install

Proc Details

activate_parts +

+

Allow easy enabling of each machine for connection to the main controller

deactivate_parts +

+

Allow easy disabling of each machine from the main controller

get_efficiency +

+

Gets the efficiency of the installed part, returns 0 if no part is installed

transfer_gases +

+

Handles all the calculations needed for the gases, work done, temperature increase/decrease

+ + + diff --git a/obj/machinery/power/turbine/core_rotor.html b/obj/machinery/power/turbine/core_rotor.html new file mode 100644 index 00000000000..279d948cae6 --- /dev/null +++ b/obj/machinery/power/turbine/core_rotor.html @@ -0,0 +1,189 @@ + + + + + + + /obj/machinery/power/turbine/core_rotor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

core_rotor + + + +

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

all_parts_connectedCheck to see if all parts are connected to the core
compressorReference to the compressor
damageAmount of damage the machine has received
damage_archivedUsed to calculate the max damage received per tick and if the alarm should be called
engineering_channelThe engineering channel
mapping_idID to easily connect the main part of the turbine to the computer
max_allowed_rpmMax rmp that the installed parts can handle, limits the rpms
max_allowed_temperatureMax temperature that the installed parts can handle, unlimited and causes damage to the machine
produced_energyAmount of power the machine is producing
radioOur internal radio
radio_keyThe key our internal radio uses
rpmRotation per minute the machine is doing
turbineReference to the turbine

Procs

activate_partsCalled to activate the complete machine, checks for part presence, correct orientation and installed parts +Registers the input/output turfs
all_parts_readyReturns true if all parts have their panel closed
call_parts_update_appearanceCalls all parts update appearance proc.
deactivate_partsAllows to null the various machines and references from the main core
feedbackconvinience proc for balloon alert which returns if viewer is null
get_turbine_integrityGetter for turbine integrity, return the amount in %
power_offDeactivate all three parts, not safe, it assumes the machine already connected and properly working +will try to turn off whatever components are left of this machine
power_onActivate all three parts, not safe, it assumes the machine already connected and properly working +It does a minimun check to ensure the parts still exist
toggle_powerToggle power on and off, not safe
+

Var Details

all_parts_connected + + + + +

+

Check to see if all parts are connected to the core

compressor + + + + +

+

Reference to the compressor

damage + + + + +

+

Amount of damage the machine has received

damage_archived + + + + +

+

Used to calculate the max damage received per tick and if the alarm should be called

engineering_channel + + + + +

+

The engineering channel

mapping_id + + + + +

+

ID to easily connect the main part of the turbine to the computer

max_allowed_rpm + + + + +

+

Max rmp that the installed parts can handle, limits the rpms

max_allowed_temperature + + + + +

+

Max temperature that the installed parts can handle, unlimited and causes damage to the machine

produced_energy + + + + +

+

Amount of power the machine is producing

radio + + + + +

+

Our internal radio

radio_key + + + + +

+

The key our internal radio uses

rpm + + + + +

+

Rotation per minute the machine is doing

turbine + + + + +

+

Reference to the turbine

Proc Details

activate_parts +

+

Called to activate the complete machine, checks for part presence, correct orientation and installed parts +Registers the input/output turfs

all_parts_ready +

+

Returns true if all parts have their panel closed

call_parts_update_appearance +

+

Calls all parts update appearance proc.

deactivate_parts +

+

Allows to null the various machines and references from the main core

feedback +

+

convinience proc for balloon alert which returns if viewer is null

get_turbine_integrity +

+

Getter for turbine integrity, return the amount in %

power_off +

+

Deactivate all three parts, not safe, it assumes the machine already connected and properly working +will try to turn off whatever components are left of this machine

power_on +

+

Activate all three parts, not safe, it assumes the machine already connected and properly working +It does a minimun check to ensure the parts still exist

toggle_power +

+

Toggle power on and off, not safe

+ + + diff --git a/obj/machinery/power/turbine/inlet_compressor.html b/obj/machinery/power/turbine/inlet_compressor.html new file mode 100644 index 00000000000..e7bf977acc3 --- /dev/null +++ b/obj/machinery/power/turbine/inlet_compressor.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/power/turbine/inlet_compressor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

inlet_compressor + + + +

+ + + + + + + +

Vars

compressor_pressurePressure of gases absorbed
compressor_workWork acheived during compression
input_turfThe turf from which it absorbs gases from
intake_regulatorRatio of the amount of gas going in the turbine
rotorThe rotor this inlet is linked to

Procs

compress_gasestransfer's gases from it's input turf to it's internal gas mix +Returns temperature of the gas mix absorbed only if some work was done
+

Var Details

compressor_pressure + + + + +

+

Pressure of gases absorbed

compressor_work + + + + +

+

Work acheived during compression

input_turf + + + + +

+

The turf from which it absorbs gases from

intake_regulator + + + + +

+

Ratio of the amount of gas going in the turbine

rotor + + + + +

+

The rotor this inlet is linked to

Proc Details

compress_gases +

+

transfer's gases from it's input turf to it's internal gas mix +Returns temperature of the gas mix absorbed only if some work was done

+ + + diff --git a/obj/machinery/power/turbine/turbine_outlet.html b/obj/machinery/power/turbine/turbine_outlet.html new file mode 100644 index 00000000000..12fcc087ccf --- /dev/null +++ b/obj/machinery/power/turbine/turbine_outlet.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/power/turbine/turbine_outlet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

turbine_outlet + + + +

+ + + + +

Vars

output_turfThe turf to puch the gases out into
rotorThe rotor this outlet is linked to

Procs

expel_gasespush gases from its gas mix to output turf
+

Var Details

output_turf + + + + +

+

The turf to puch the gases out into

rotor + + + + +

+

The rotor this outlet is linked to

Proc Details

expel_gases +

+

push gases from its gas mix to output turf

+ + + diff --git a/obj/machinery/prisongate.html b/obj/machinery/prisongate.html new file mode 100644 index 00000000000..574053fb3d6 --- /dev/null +++ b/obj/machinery/prisongate.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/prisongate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

prisongate + + + +

+ + + +

Vars

gate_activedictates whether the gate barrier is up or not
max_integrityroughly the same health/armor as an airlock
+

Var Details

gate_active + + + + +

+

dictates whether the gate barrier is up or not

max_integrity + + + + +

+

roughly the same health/armor as an airlock

+ + + diff --git a/obj/machinery/processor.html b/obj/machinery/processor.html new file mode 100644 index 00000000000..c9143a9aede --- /dev/null +++ b/obj/machinery/processor.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/processor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

processor + + + +

+ + + + + +

Vars

processingIs the processor blending items at the moment
processor_contentsLazylist of items to be blended
rating_amountThe amount of items the processor produces, without any food specific multipliers
rating_speedThe speed at which the processor processes items
+

Var Details

processing + + + + +

+

Is the processor blending items at the moment

processor_contents + + + + +

+

Lazylist of items to be blended

rating_amount + + + + +

+

The amount of items the processor produces, without any food specific multipliers

rating_speed + + + + +

+

The speed at which the processor processes items

+ + + diff --git a/obj/machinery/puzzle_button.html b/obj/machinery/puzzle_button.html new file mode 100644 index 00000000000..6250388db7d --- /dev/null +++ b/obj/machinery/puzzle_button.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/puzzle_button - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzle_button + + + +

+ + + + + +

Vars

idpuzzle id we send on press
queue_sizequeue size, must match count of objects this activates!
single_usecan we be pressed only once?
usedhave we been pressed already?
+

Var Details

id + + + + +

+

puzzle id we send on press

queue_size + + + + +

+

queue size, must match count of objects this activates!

single_use + + + + +

+

can we be pressed only once?

used + + + + +

+

have we been pressed already?

+ + + diff --git a/obj/machinery/puzzle_keycardpad.html b/obj/machinery/puzzle_keycardpad.html new file mode 100644 index 00000000000..66501920c3a --- /dev/null +++ b/obj/machinery/puzzle_keycardpad.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/puzzle_keycardpad - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzle_keycardpad + + + +

+ + + + +

Vars

idpuzzle id we send if the correct card is swiped
queue_sizequeue size, must match count of objects this activates!
usedwere we used successfully?
+

Var Details

id + + + + +

+

puzzle id we send if the correct card is swiped

queue_size + + + + +

+

queue size, must match count of objects this activates!

used + + + + +

+

were we used successfully?

+ + + diff --git a/obj/machinery/quantum_server.html b/obj/machinery/quantum_server.html new file mode 100644 index 00000000000..9ac11a5faca --- /dev/null +++ b/obj/machinery/quantum_server.html @@ -0,0 +1,441 @@ + + + + + + + /obj/machinery/quantum_server - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

quantum_server + + + +

+ +

The base object for the quantum server

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

available_domainsList of available domains
avatar_connection_refsCurrent plugged in users
capacitor_coefficientAffects server cooldown efficiency
domain_randomizedIf the current domain was a random selection
exit_turfsThe turfs we can place a hololadder on.
generated_domainThe loaded map template, map_template/virtual_domain
glitch_chanceChance multipled by threat to spawn a glitch
is_readyPrevents multiple user actions. Handled by loading domains and cooldowns
multiplayer_bonusScales loot with extra players
mutation_candidate_refsCached list of mutable mobs in zone for cybercops
pointsThe amount of points in the system, used to purchase maps
radioThe radio the console can speak into
retries_spentKeeps track of the number of times someone has built a hololadder
scanner_tierChanges how much info is available on the domain
server_cooldown_timeLength of time it takes for the server to cool down after resetting. Here to give runners downtime so their faces don't get stuck like that
servo_bonusApplies bonuses to rewards etc
spawned_threat_refsAny ghosts that have spawned in
threatDetermines the glitches available to spawn, builds with completion

Procs

add_threatsAdds threats to the list and notifies players
attempt_spawn_cachejust in case someone's connected +Attempts to spawn a crate twice based on the list of available locations
begin_shutdownGives all current occupants a notification that the server is going down
calculate_rewardsHandles calculating rewards based on number of players, parts, threats, etc
cold_boot_mapLinks all the loading processes together - does validation for booting a map
cool_offResets the cooldown state and updates icons
generate_avatarGenerates a new avatar for the bitrunner.
generate_hololadderGenerates a new hololadder for the bitrunner. Effectively a respawn attempt.
generate_lootHandles spawning the (new) crate and deleting the former
get_antagonist_roleChoses which antagonist role is spawned based on threat
get_available_domainsCompiles a list of available domains.
get_avatar_dataIf there are hosted minds, attempts to get a list of their current virtual bodies w/ vitals
get_completion_certificateReturns the markdown text containing domain completion information
get_mutation_targetSelects a target to mutate. Gives two attempts, then crashes if it fails.
get_random_domain_idGets a random available domain given the current points.
get_random_nearby_forgeLocates any turfs with forges on them, returns a random one
grade_completionGrades the player's run based on several factors
load_domainIf any one of these fail, it reverts the entire process +Initializes a new domain if the given key is valid and the user has enough points
load_map_itemsLoads in necessary map items like hololadder spawns, caches, etc
load_mob_segmentsLoads in any mob segments of the map
notify_spawned_threatsFinds any mobs with minds in the zones and gives them the bad news
on_brokenIf broken via signal, disconnects all users
on_corpse_spawnedWhenever a corpse spawner makes a new corpse, add it to the list of potential mutations
on_deleteBeing qdeleted - make sure the circuit and connected mobs go with it
on_goal_turf_enteredWhenever something enters the send tiles, check if it's a loot crate. If so, alert players.
on_goal_turf_examinedHandles examining the server. Shows cooldown time and efficiency.
on_template_loadedScans over the inbound created_atoms from lazy templates
on_threat_createdJust in case there's any special handling for the domain +Handles when cybercops are summoned into the area or ghosts click a ghost role spawner
remove_threatRemoves a specific threat - used when station spawning
resetStops the current virtual domain and disconnects all users
reset_equipmentRemoves all blacklisted items from a mob and returns them to base state
scrub_vdomTries to clean up everything in the domain
setup_glitchSelects the role and waits for a ghost orbiter
sever_connectionsSevers any connected users
spark_at_locationDo some magic teleport sparks
spawn_glitchOrbit poll has concluded - spawn the antag
station_spawnOh boy - transports the antag station side
stock_gearScans over neo's contents for bitrunning tech disks. Loads the items or abilities onto the avatar.
validate_mutation_candidatesRemoves any invalid candidates from the list
validate_turfReturns a turf if it's not dense, else will find a neighbor.
+

Var Details

available_domains + + + + +

+

List of available domains

avatar_connection_refs + + + + +

+

Current plugged in users

capacitor_coefficient + + + + +

+

Affects server cooldown efficiency

domain_randomized + + + + +

+

If the current domain was a random selection

exit_turfs + + + + +

+

The turfs we can place a hololadder on.

generated_domain + + + + +

+

The loaded map template, map_template/virtual_domain

glitch_chance + + + + +

+

Chance multipled by threat to spawn a glitch

is_ready + + + + +

+

Prevents multiple user actions. Handled by loading domains and cooldowns

multiplayer_bonus + + + + +

+

Scales loot with extra players

mutation_candidate_refs + + + + +

+

Cached list of mutable mobs in zone for cybercops

points + + + + +

+

The amount of points in the system, used to purchase maps

radio + + + + +

+

The radio the console can speak into

retries_spent + + + + +

+

Keeps track of the number of times someone has built a hololadder

scanner_tier + + + + +

+

Changes how much info is available on the domain

server_cooldown_time + + + + +

+

Length of time it takes for the server to cool down after resetting. Here to give runners downtime so their faces don't get stuck like that

servo_bonus + + + + +

+

Applies bonuses to rewards etc

spawned_threat_refs + + + + +

+

Any ghosts that have spawned in

threat + + + + +

+

Determines the glitches available to spawn, builds with completion

Proc Details

add_threats +

+

Adds threats to the list and notifies players

attempt_spawn_cache +

+

just in case someone's connected +Attempts to spawn a crate twice based on the list of available locations

begin_shutdown +

+

Gives all current occupants a notification that the server is going down

calculate_rewards +

+

Handles calculating rewards based on number of players, parts, threats, etc

cold_boot_map +

+

Links all the loading processes together - does validation for booting a map

cool_off +

+

Resets the cooldown state and updates icons

generate_avatar +

+

Generates a new avatar for the bitrunner.

generate_hololadder +

+

Generates a new hololadder for the bitrunner. Effectively a respawn attempt.

generate_loot +

+

Handles spawning the (new) crate and deleting the former

get_antagonist_role +

+

Choses which antagonist role is spawned based on threat

get_available_domains +

+

Compiles a list of available domains.

get_avatar_data +

+

If there are hosted minds, attempts to get a list of their current virtual bodies w/ vitals

get_completion_certificate +

+

Returns the markdown text containing domain completion information

get_mutation_target +

+

Selects a target to mutate. Gives two attempts, then crashes if it fails.

get_random_domain_id +

+

Gets a random available domain given the current points.

get_random_nearby_forge +

+

Locates any turfs with forges on them, returns a random one

grade_completion +

+

Grades the player's run based on several factors

load_domain +

+

If any one of these fail, it reverts the entire process +Initializes a new domain if the given key is valid and the user has enough points

load_map_items +

+

Loads in necessary map items like hololadder spawns, caches, etc

load_mob_segments +

+

Loads in any mob segments of the map

notify_spawned_threats +

+

Finds any mobs with minds in the zones and gives them the bad news

on_broken +

+

If broken via signal, disconnects all users

on_corpse_spawned +

+

Whenever a corpse spawner makes a new corpse, add it to the list of potential mutations

on_delete +

+

Being qdeleted - make sure the circuit and connected mobs go with it

on_goal_turf_entered +

+

Whenever something enters the send tiles, check if it's a loot crate. If so, alert players.

on_goal_turf_examined +

+

Handles examining the server. Shows cooldown time and efficiency.

on_template_loaded +

+

Scans over the inbound created_atoms from lazy templates

on_threat_created +

+

Just in case there's any special handling for the domain +Handles when cybercops are summoned into the area or ghosts click a ghost role spawner

remove_threat +

+

Removes a specific threat - used when station spawning

reset +

+

Stops the current virtual domain and disconnects all users

reset_equipment +

+

Removes all blacklisted items from a mob and returns them to base state

scrub_vdom +

+

Tries to clean up everything in the domain

setup_glitch +

+

Selects the role and waits for a ghost orbiter

sever_connections +

+

Severs any connected users

spark_at_location +

+

Do some magic teleport sparks

spawn_glitch +

+

Orbit poll has concluded - spawn the antag

station_spawn +

+

Oh boy - transports the antag station side

stock_gear +

+

Scans over neo's contents for bitrunning tech disks. Loads the items or abilities onto the avatar.

validate_mutation_candidates +

+

Removes any invalid candidates from the list

validate_turf +

+

Returns a turf if it's not dense, else will find a neighbor.

+ + + diff --git a/obj/machinery/reagentgrinder.html b/obj/machinery/reagentgrinder.html new file mode 100644 index 00000000000..7dc3a2474ba --- /dev/null +++ b/obj/machinery/reagentgrinder.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/reagentgrinder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

reagentgrinder + + + +

+ + +

Procs

warn_of_dustAdd a description to the current beaker warning of blended dust, if it doesn't already have that warning.

Proc Details

warn_of_dust +

+

Add a description to the current beaker warning of blended dust, if it doesn't already have that warning.

+ + + diff --git a/obj/machinery/recharge_station.html b/obj/machinery/recharge_station.html new file mode 100644 index 00000000000..da1eb074c66 --- /dev/null +++ b/obj/machinery/recharge_station.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/recharge_station - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

recharge_station + + + +

+ + +

Vars

sendmatsWhether we're sending iron and glass to a cyborg. Requires Silo connection.
+

Var Details

sendmats + + + + +

+

Whether we're sending iron and glass to a cyborg. Requires Silo connection.

+ + + diff --git a/obj/machinery/recharger.html b/obj/machinery/recharger.html new file mode 100644 index 00000000000..718b52b01d9 --- /dev/null +++ b/obj/machinery/recharger.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/recharger - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

recharger + + + +

+ + +

Vars

finished_rechargingDid we finish recharging the currently inserted item?
+

Var Details

finished_recharging + + + + +

+

Did we finish recharging the currently inserted item?

+ + + diff --git a/obj/machinery/recycler.html b/obj/machinery/recycler.html new file mode 100644 index 00000000000..1c2551781a4 --- /dev/null +++ b/obj/machinery/recycler.html @@ -0,0 +1,39 @@ + + + + + + + /obj/machinery/recycler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

recycler + + + +

+ + +

Procs

recycle_itemwe process the list in reverse so that atoms without parents/contents are deleted first & their parents are deleted next & so on. +this is the reverse order in which get_all_contents() returns it's list +if we delete an atom containing stuff then all its stuff are deleted with it as well so we will end recycling deleted items down the list and gain nothing from them

Proc Details

recycle_item +

+

we process the list in reverse so that atoms without parents/contents are deleted first & their parents are deleted next & so on. +this is the reverse order in which get_all_contents() returns it's list +if we delete an atom containing stuff then all its stuff are deleted with it as well so we will end recycling deleted items down the list and gain nothing from them

+ + + diff --git a/obj/machinery/requests_console.html b/obj/machinery/requests_console.html new file mode 100644 index 00000000000..7603fe17d1c --- /dev/null +++ b/obj/machinery/requests_console.html @@ -0,0 +1,148 @@ + + + + + + + /obj/machinery/requests_console - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

requests_console + + + +

+ + + + + + + + + + + + + + + + + + +

Vars

announcement_authenticatedWill be set to TRUE when you authenticate yourself for announcements
announcement_cooldownCooldown to prevent announcement spam
areaReference to our area
auto_nameIs autonaming by area on?
can_send_announcementsFALSE = This console cannot be used to send department announcements, TRUE = This console can send department announcements
departmentDepartment name (Determined from this variable on each unit) Set this to the same thing if you want several consoles in one department
emergencyIf an emergency has been called by this device. Acts as both a cooldown and lets the responder know where it the emergency was triggered from
has_mail_send_errorDid we error in the last mail?
message_stamped_byIf a message is stamped, this will contain the stamp name
message_verified_byWill contain the name of the person who verified it
messagesList of all messages
new_message_priorityPriority of the latest message
radioReference to the internal radio
receive_ore_updatesIf ore redemption machines will send an update when it receives new ores.

Procs

clear_emergencyTurns the emergency console back to its normal sprite once the emergency has timed out
create_messageFrom message_server.dm: Console.create_message(data)
send_messageSends the message from the request console
+

Var Details

announcement_authenticated + + + + +

+

Will be set to TRUE when you authenticate yourself for announcements

announcement_cooldown + + + + +

+

Cooldown to prevent announcement spam

area + + + + +

+

Reference to our area

auto_name + + + + +

+

Is autonaming by area on?

can_send_announcements + + + + +

+

FALSE = This console cannot be used to send department announcements, TRUE = This console can send department announcements

department + + + + +

+

Department name (Determined from this variable on each unit) Set this to the same thing if you want several consoles in one department

emergency + + + + +

+

If an emergency has been called by this device. Acts as both a cooldown and lets the responder know where it the emergency was triggered from

has_mail_send_error + + + + +

+

Did we error in the last mail?

message_stamped_by + + + + +

+

If a message is stamped, this will contain the stamp name

message_verified_by + + + + +

+

Will contain the name of the person who verified it

messages + + + + +

+

List of all messages

new_message_priority + + + + +

+

Priority of the latest message

radio + + + + +

+

Reference to the internal radio

receive_ore_updates + + + + +

+

If ore redemption machines will send an update when it receives new ores.

Proc Details

clear_emergency +

+

Turns the emergency console back to its normal sprite once the emergency has timed out

create_message +

+

From message_server.dm: Console.create_message(data)

send_message +

+

Sends the message from the request console

+ + + diff --git a/obj/machinery/research/anomaly_refinery.html b/obj/machinery/research/anomaly_refinery.html new file mode 100644 index 00000000000..38818b6d5ee --- /dev/null +++ b/obj/machinery/research/anomaly_refinery.html @@ -0,0 +1,160 @@ + + + + + + + /obj/machinery/research/anomaly_refinery - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Explosive compressor machines + + + +

+ +

The explosive compressor machine used in anomaly core production.

+

Uses the standard ordnance/tank explosion scaling to compress raw anomaly cores into completed ones. The required explosion radius increases as more cores of that type are created.

+ + + + + + + + + + + + + + + + +

Vars

activeWhether we are currently active a bomb and core.
combined_gasmixCombined result of the first two tanks. Exists only in our machine.
inserted_bombThe TTV inserted in the machine.
inserted_coreThe raw core inserted in the machine.
reaction_incrementHere for the UI, tracks the amounts of reaction that has occured. 1 means valve opened but not reacted.
tank_to_targetDetermines which tank will be the merge_gases target (destroyed upon testing).
test_statusThe message produced by the explosive compressor at the end of the compression test.
timeout_timerThe timer that lets us timeout the test.

Procs

ExitedWe rely on exited to clear references.
check_testChecks whether an internal explosion was sufficient to compress the core.
eject_bombWe dont allow incomplete valves to go in but do code in checks for incomplete valves. Just in case.
end_testEnds a compression test.
error_testEjects a live TTV. +Triggered by attempting to operate an emagged anomaly refinery.
get_required_radiusDetermines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.
simulate_valveThis is not the real valve opening process. This is the simulated one used for displaying reactions.
start_testStarts a compression test.
timeout_testHandles timing out the test after a while.
+

Var Details

active + + + + +

+

Whether we are currently active a bomb and core.

combined_gasmix + + + + +

+

Combined result of the first two tanks. Exists only in our machine.

inserted_bomb + + + + +

+

The TTV inserted in the machine.

inserted_core + + + + +

+

The raw core inserted in the machine.

reaction_increment + + + + +

+

Here for the UI, tracks the amounts of reaction that has occured. 1 means valve opened but not reacted.

tank_to_target + + + + +

+

Determines which tank will be the merge_gases target (destroyed upon testing).

test_status + + + + +

+

The message produced by the explosive compressor at the end of the compression test.

timeout_timer + + + + +

+

The timer that lets us timeout the test.

Proc Details

Exited +

+

We rely on exited to clear references.

check_test +

+

Checks whether an internal explosion was sufficient to compress the core.

eject_bomb +

+

We dont allow incomplete valves to go in but do code in checks for incomplete valves. Just in case.

end_test +

+

Ends a compression test.

+

Arguments:

+
    +
  • message: A message for the compressor to say when the test ends.
  • +

error_test +

+

Ejects a live TTV. +Triggered by attempting to operate an emagged anomaly refinery.

get_required_radius +

+

Determines how much explosive power (last value, so light impact theoretical radius) is required to make a certain anomaly type.

+

Returns null if the max amount has already been reached.

+

Arguments:

+
    +
  • anomaly_type - anomaly type define
  • +

simulate_valve +

+

This is not the real valve opening process. This is the simulated one used for displaying reactions.

start_test +

+

Starts a compression test.

timeout_test +

+

Handles timing out the test after a while.

+ + + diff --git a/obj/machinery/restaurant_portal.html b/obj/machinery/restaurant_portal.html new file mode 100644 index 00000000000..83e1358740c --- /dev/null +++ b/obj/machinery/restaurant_portal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/restaurant_portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

restaurant_portal + + + +

+ + + +

Vars

linked_venueWhat venue is this portal for? Uses a typepath which is turned into an instance on Initialize
turned_on_portalA weak reference to the mob who turned on the portal
+

Var Details

linked_venue + + + + +

+

What venue is this portal for? Uses a typepath which is turned into an instance on Initialize

turned_on_portal + + + + +

+

A weak reference to the mob who turned on the portal

+ + + diff --git a/obj/machinery/rnd.html b/obj/machinery/rnd.html new file mode 100644 index 00000000000..b5ed9eee2d8 --- /dev/null +++ b/obj/machinery/rnd.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/rnd - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rnd + + + +

+ + + + + +

Vars

loaded_itemThe item loaded inside the machine, used by experimentors and destructive analyzers only.
stored_researchRef to global science techweb.

Procs

connect_techwebCalled when attempting to connect the machine to a techweb, forgetting the old.
on_connected_techwebCalled post-connection to a new techweb.
+

Var Details

loaded_item + + + + +

+

The item loaded inside the machine, used by experimentors and destructive analyzers only.

stored_research + + + + +

+

Ref to global science techweb.

Proc Details

connect_techweb +

+

Called when attempting to connect the machine to a techweb, forgetting the old.

on_connected_techweb +

+

Called post-connection to a new techweb.

+ + + diff --git a/obj/machinery/rnd/destructive_analyzer.html b/obj/machinery/rnd/destructive_analyzer.html new file mode 100644 index 00000000000..921cb8479b8 --- /dev/null +++ b/obj/machinery/rnd/destructive_analyzer.html @@ -0,0 +1,80 @@ + + + + + + + /obj/machinery/rnd/destructive_analyzer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

destructive_analyzer + + + +

+ +Destructive Analyzer +

It is used to destroy hand-held objects and advance technological research.

+ + + + +

Procs

destroy_itemDestroys an item by going through all its contents (including itself) and calling destroy_item_individual +Args: +gain_research_points - Whether deconstructing each individual item should check for research points to boost.
destroy_item_individualDestroys the individual provided item +Args: +thing - The thing being destroyed. Generally an object, but it can be a mob too, such as intellicards and pAIs. +gain_research_points - Whether deconstructing this should give research points to the stored techweb, if applicable.
finish_loadingCalled in a timer callback after loading something into it, this handles resetting the 'busy' state back to its initial state +So the machine can be used.
unload_itemDrops the loaded item where it can and nulls it.
user_try_decon_idAttempts to destroy the loaded item using a provided research id. +Args: +id - The techweb ID node that we're meant to unlock if applicable.

Proc Details

destroy_item +

+

Destroys an item by going through all its contents (including itself) and calling destroy_item_individual +Args: +gain_research_points - Whether deconstructing each individual item should check for research points to boost.

destroy_item_individual +

+

Destroys the individual provided item +Args: +thing - The thing being destroyed. Generally an object, but it can be a mob too, such as intellicards and pAIs. +gain_research_points - Whether deconstructing this should give research points to the stored techweb, if applicable.

finish_loading +

+

Called in a timer callback after loading something into it, this handles resetting the 'busy' state back to its initial state +So the machine can be used.

unload_item +

+

Drops the loaded item where it can and nulls it.

user_try_decon_id +

+

Attempts to destroy the loaded item using a provided research id. +Args: +id - The techweb ID node that we're meant to unlock if applicable.

+ + + diff --git a/obj/machinery/rnd/experimentor.html b/obj/machinery/rnd/experimentor.html new file mode 100644 index 00000000000..8b2461d68e2 --- /dev/null +++ b/obj/machinery/rnd/experimentor.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/rnd/experimentor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

experimentor + + + +

+ + + + + +

Vars

malfunction_probability_coeffDetermines the probability of a malfunction.
malfunction_probability_coeff_modifierKeeps track of how many times we've had a critical reaction
tracked_ian_refWeakref to the first ian we can find at init
tracked_runtime_refWeakref to the first runtime we can find at init
+

Var Details

malfunction_probability_coeff + + + + +

+

Determines the probability of a malfunction.

malfunction_probability_coeff_modifier + + + + +

+

Keeps track of how many times we've had a critical reaction

tracked_ian_ref + + + + +

+

Weakref to the first ian we can find at init

tracked_runtime_ref + + + + +

+

Weakref to the first runtime we can find at init

+ + + diff --git a/obj/machinery/rnd/production.html b/obj/machinery/rnd/production.html new file mode 100644 index 00000000000..b8cb00554ea --- /dev/null +++ b/obj/machinery/rnd/production.html @@ -0,0 +1,101 @@ + + + + + + + /obj/machinery/rnd/production - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

production + + + +

+ + + + + + + + + + + +

Vars

allowed_buildtypesThe types of designs this fabricator can print.
allowed_department_flagsWhich departments forego the lathe tax when using this lathe.
cached_designsAll designs in the techweb that can be fabricated by this machine, since the last update.
charges_taxDoes this charge the user's ID on fabrication?
efficiency_coeffThe efficiency coefficient. Material costs and print times are multiplied by this number; +better parts result in a higher efficiency (and lower value).
materialsThe material storage used by this fabricator.
production_animationWhat's flick()'d on print.
stripe_colorWhat color is this machine's stripe? Leave null to not have a stripe.

Procs

calculate_efficiencyUpdates the fabricator's efficiency coefficient based on the installed parts.
update_designsUpdates the list of designs this fabricator can print.
+

Var Details

allowed_buildtypes + + + + +

+

The types of designs this fabricator can print.

allowed_department_flags + + + + +

+

Which departments forego the lathe tax when using this lathe.

cached_designs + + + + +

+

All designs in the techweb that can be fabricated by this machine, since the last update.

charges_tax + + + + +

+

Does this charge the user's ID on fabrication?

efficiency_coeff + + + + +

+

The efficiency coefficient. Material costs and print times are multiplied by this number; +better parts result in a higher efficiency (and lower value).

materials + + + + +

+

The material storage used by this fabricator.

production_animation + + + + +

+

What's flick()'d on print.

stripe_color + + + + +

+

What color is this machine's stripe? Leave null to not have a stripe.

Proc Details

calculate_efficiency +

+

Updates the fabricator's efficiency coefficient based on the installed parts.

update_designs +

+

Updates the list of designs this fabricator can print.

+ + + diff --git a/obj/machinery/rnd/server.html b/obj/machinery/rnd/server.html new file mode 100644 index 00000000000..7341cc843af --- /dev/null +++ b/obj/machinery/rnd/server.html @@ -0,0 +1,71 @@ + + + + + + + /obj/machinery/rnd/server - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

server + + + +

+ + + + + + + +

Vars

research_disabledif TRUE, someone manually disabled us via console.
workingif TRUE, we are currently operational and giving out research points.

Procs

fix_empCallback to un-emp the server afetr some time.
get_status_textGets status text based on this server's status for the computer.
refresh_workingChecks if we should be working or not, and updates accordingly.
toggle_disableToggles whether or not researched_disabled is, yknow, disabled
+

Var Details

research_disabled + + + + +

+

if TRUE, someone manually disabled us via console.

working + + + + +

+

if TRUE, we are currently operational and giving out research points.

Proc Details

fix_emp +

+

Callback to un-emp the server afetr some time.

get_status_text +

+

Gets status text based on this server's status for the computer.

refresh_working +

+

Checks if we should be working or not, and updates accordingly.

toggle_disable +

+

Toggles whether or not researched_disabled is, yknow, disabled

+ + + diff --git a/obj/machinery/rnd/server/master.html b/obj/machinery/rnd/server/master.html new file mode 100644 index 00000000000..8969d34128c --- /dev/null +++ b/obj/machinery/rnd/server/master.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/rnd/server/master - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

master + + + +

+ +

Master R&D server. As long as this still exists and still holds the HDD for the theft objective, research points generate at normal speed. Destroy it or an antag steals the HDD? Half research speed.

+

Procs

overload_source_code_hddDestroys the source_code_hdd if present and sets the machine state to overloaded, adding the panel open overlay if necessary.

Proc Details

overload_source_code_hdd +

+

Destroys the source_code_hdd if present and sets the machine state to overloaded, adding the panel open overlay if necessary.

+ + + diff --git a/obj/machinery/roulette.html b/obj/machinery/roulette.html new file mode 100644 index 00000000000..fc4c3c0095e --- /dev/null +++ b/obj/machinery/roulette.html @@ -0,0 +1,91 @@ + + + + + + + /obj/machinery/roulette - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

roulette + + + +

+ +

Machine that lets you play roulette. Odds are pre-defined to be the same as European Roulette without the "En Prison" rule

+ + + + + + + + +

Procs

attackbyHandles setting ownership and the betting itself.
check_owner_fundsReturns TRUE if the owner has enough funds to payout
check_winReturns TRUE if the player bet correctly.
dispense_prizeFills a list of coins that should be dropped.
drop_coinRecursive function that runs until it runs out of coins to drop.
finish_playRan after a while to check if the player won or not.
on_my_card_deleteddeletes the my_card ref to prevent harddels
playProc called when player is going to try and play
prize_theftFills a list of coins that should be dropped.

Proc Details

attackby +

+

Handles setting ownership and the betting itself.

check_owner_funds +

+

Returns TRUE if the owner has enough funds to payout

check_win +

+

Returns TRUE if the player bet correctly.

dispense_prize +

+

Fills a list of coins that should be dropped.

drop_coin +

+

Recursive function that runs until it runs out of coins to drop.

finish_play +

+

Ran after a while to check if the player won or not.

on_my_card_deleted +

+

deletes the my_card ref to prevent harddels

play +

+

Proc called when player is going to try and play

prize_theft +

+

Fills a list of coins that should be dropped.

+ + + diff --git a/obj/machinery/satellite.html b/obj/machinery/satellite.html new file mode 100644 index 00000000000..1c6c1d6d64c --- /dev/null +++ b/obj/machinery/satellite.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/satellite - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

satellite + + + +

+ + + +

Vars

global_idglobal counter of IDs
idid number for this satellite
+

Var Details

global_id + + + + +

+

global counter of IDs

id + + + + +

+

id number for this satellite

+ + + diff --git a/obj/machinery/satellite/meteor_shield.html b/obj/machinery/satellite/meteor_shield.html new file mode 100644 index 00000000000..c3418794858 --- /dev/null +++ b/obj/machinery/satellite/meteor_shield.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/satellite/meteor_shield - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

meteor_shield + + + +

+ + + + + +

Vars

emagged_active_meteor_shieldsamount of emagged active meteor shields
highest_emagged_threshold_reachedthe highest amount of shields you've ever emagged
kill_rangethe range a meteor shield sat can destroy meteors
shared_emag_cooldowncooldown on emagging meteor shields because instantly summoning a dark matt-eor is very unfun
+

Var Details

emagged_active_meteor_shields + + + + +

+

amount of emagged active meteor shields

highest_emagged_threshold_reached + + + + +

+

the highest amount of shields you've ever emagged

kill_range + + + + +

+

the range a meteor shield sat can destroy meteors

shared_emag_cooldown + + + + +

+

cooldown on emagging meteor shields because instantly summoning a dark matt-eor is very unfun

+ + + diff --git a/obj/machinery/scanner_gate.html b/obj/machinery/scanner_gate.html new file mode 100644 index 00000000000..953cc09ab0d --- /dev/null +++ b/obj/machinery/scanner_gate.html @@ -0,0 +1,99 @@ + + + + + + + /obj/machinery/scanner_gate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

scanner_gate + + + +

+ + + + + + + + + + + +

Vars

detect_nutritionIf scanning for nutrition, what level of nutrition will trigger the scanner?
detect_speciesIf scanning for a specific species, what species is it looking for?
disease_thresholdIs searching for a disease, what severity is enough to trigger the gate?
ignore_signalsDoes the scanner ignore light_pass and light_fail for sending signals?
light_failWill the assembly on the pass wire activate if the scanner resolves red (fail) on crossing?
light_passWill the assembly on the pass wire activate if the scanner resolves green (Pass) on crossing?
lockedBool to check if the scanner's controls are locked by an ID.
next_beepInternal timer to prevent audio spam.
reverseFlips all scan results for inverse scanning. Signals if scan returns false.
scangate_modeWhich setting is the scanner checking for? See defines in scan_gate.dm for the list.
+

Var Details

detect_nutrition + + + + +

+

If scanning for nutrition, what level of nutrition will trigger the scanner?

detect_species + + + + +

+

If scanning for a specific species, what species is it looking for?

disease_threshold + + + + +

+

Is searching for a disease, what severity is enough to trigger the gate?

ignore_signals + + + + +

+

Does the scanner ignore light_pass and light_fail for sending signals?

light_fail + + + + +

+

Will the assembly on the pass wire activate if the scanner resolves red (fail) on crossing?

light_pass + + + + +

+

Will the assembly on the pass wire activate if the scanner resolves green (Pass) on crossing?

locked + + + + +

+

Bool to check if the scanner's controls are locked by an ID.

next_beep + + + + +

+

Internal timer to prevent audio spam.

reverse + + + + +

+

Flips all scan results for inverse scanning. Signals if scan returns false.

scangate_mode + + + + +

+

Which setting is the scanner checking for? See defines in scan_gate.dm for the list.

+ + + diff --git a/obj/machinery/seed_extractor.html b/obj/machinery/seed_extractor.html new file mode 100644 index 00000000000..aaa296d527b --- /dev/null +++ b/obj/machinery/seed_extractor.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/seed_extractor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

seed_extractor + + + +

+ + + + +

Vars

pilesAssociated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Procs

add_seed
generate_seed_hashGenerate seed string
+

Var Details

piles + + + + +

+

Associated list of seeds, they are all weak refs. We check the len to see how many refs we have for each

Proc Details

add_seed +

+
    +
  • +

    Add Seeds Proc.

    +
  • +
  • +

    Adds the seeds to the contents and to an associated list that pregenerates the data

    +
  • +
  • +

    needed to go to the ui handler

    +
  • +
  • +

    to_add - what seed are we adding?

    +
  • +
  • +

    taking_from - where are we taking the seed from? A mob, a bag, etc? If null its means its just laying on the turf so force move it in

    +
  • +

generate_seed_hash +

+

Generate seed string

+

Creates a string based of the traits of a seed. We use this string as a bucket for all +seeds that match as well as the key the ui uses to get the seed. We also use the key +for the data shown in the ui. Javascript parses this string to display

+

Arguments:

+
    +
  • O - seed to generate the string from
  • +
+ + + diff --git a/obj/machinery/shieldwall.html b/obj/machinery/shieldwall.html new file mode 100644 index 00000000000..7effe9658f0 --- /dev/null +++ b/obj/machinery/shieldwall.html @@ -0,0 +1,35 @@ + + + + + + + /obj/machinery/shieldwall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

shieldwall + + + +

+ +

Containment Field START

+

Procs

drain_powersuccs power from the connected shield wall generator

Proc Details

drain_power +

+

succs power from the connected shield wall generator

+ + + diff --git a/obj/machinery/shower.html b/obj/machinery/shower.html new file mode 100644 index 00000000000..f909224b627 --- /dev/null +++ b/obj/machinery/shower.html @@ -0,0 +1,121 @@ + + + + + + + /obj/machinery/shower - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shower + + + +

+ + + + + + + + + + + + + +

Vars

actually_onIs the shower actually spitting out water currently
current_temperatureWhat temperature the shower reagents are set to.
has_water_reclaimerDoes the shower have a water recycler to recollect it's water supply?
intended_onDoes the user want the shower on or off?
modeWhich mode the shower is operating in.
pixel_shiftHow far to shift the sprite when placing.
reagent_capacityHow much reagent capacity should the shower begin with when built.
reagent_idWhat reagent should the shower be filled with when initially built.
refill_rateHow many units the shower refills every second.
soundloopWhat sound will be played on loop when the shower is on and pouring water.
timed_cooldownThe cooldown for SHOWER_MODE_TIMED mode.

Procs

update_actually_onToggle whether shower is actually on and outputting water. +May not match what user asked to happen by clicking. +Returns TRUE if the state was changed.
+

Var Details

actually_on + + + + +

+

Is the shower actually spitting out water currently

current_temperature + + + + +

+

What temperature the shower reagents are set to.

has_water_reclaimer + + + + +

+

Does the shower have a water recycler to recollect it's water supply?

intended_on + + + + +

+

Does the user want the shower on or off?

mode + + + + +

+

Which mode the shower is operating in.

pixel_shift + + + + +

+

How far to shift the sprite when placing.

reagent_capacity + + + + +

+

How much reagent capacity should the shower begin with when built.

reagent_id + + + + +

+

What reagent should the shower be filled with when initially built.

refill_rate + + + + +

+

How many units the shower refills every second.

soundloop + + + + +

+

What sound will be played on loop when the shower is on and pouring water.

timed_cooldown + + + + +

+

The cooldown for SHOWER_MODE_TIMED mode.

Proc Details

update_actually_on +

+

Toggle whether shower is actually on and outputting water. +May not match what user asked to happen by clicking. +Returns TRUE if the state was changed.

+

Arguments:

+
    +
  • new_on_state - new state
  • +
+ + + diff --git a/obj/machinery/shuttle_scrambler.html b/obj/machinery/shuttle_scrambler.html new file mode 100644 index 00000000000..10a9317ed1d --- /dev/null +++ b/obj/machinery/shuttle_scrambler.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/shuttle_scrambler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

shuttle_scrambler + + + +

+ + + + + + + + + +

Vars

activeIs the machine siphoning right now
credits_storedThe amount of money stored in the machine
siphon_per_tickThe amount of money removed per tick

Procs

dump_lootHandles expelling all the siphoned credits as holochips
interrupt_researchHandles interrupting research
send_notificationAlerts the crew about the siphon
toggle_offSwitches off the siphon
toggle_onTurns on the siphoning, and its various side effects
+

Var Details

active + + + + +

+

Is the machine siphoning right now

credits_stored + + + + +

+

The amount of money stored in the machine

siphon_per_tick + + + + +

+

The amount of money removed per tick

Proc Details

dump_loot +

+

Handles expelling all the siphoned credits as holochips

interrupt_research +

+

Handles interrupting research

send_notification +

+

Alerts the crew about the siphon

toggle_off +

+

Switches off the siphon

toggle_on +

+

Turns on the siphoning, and its various side effects

+ + + diff --git a/obj/machinery/skill_station.html b/obj/machinery/skill_station.html new file mode 100644 index 00000000000..ff0f29acdeb --- /dev/null +++ b/obj/machinery/skill_station.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/skill_station - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skill_station + + + +

+ + + + + + + + +

Vars

inserted_skillchipWhat we're implanting
work_timerTimer until implanting/removing finishes.
workingCurrently implanting/removing

Procs

implantFinish implanting.
remove_skillchipFinish removal.
start_implantingStart implanting.
start_removalStart removal.
+

Var Details

inserted_skillchip + + + + +

+

What we're implanting

work_timer + + + + +

+

Timer until implanting/removing finishes.

working + + + + +

+

Currently implanting/removing

Proc Details

implant +

+

Finish implanting.

remove_skillchip +

+

Finish removal.

start_implanting +

+

Start implanting.

start_removal +

+

Start removal.

+ + + diff --git a/obj/machinery/sleeper.html b/obj/machinery/sleeper.html new file mode 100644 index 00000000000..b1ff57b46f4 --- /dev/null +++ b/obj/machinery/sleeper.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/sleeper - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sleeper + + + +

+ + + + + + + + + +

Vars

available_chemsList of currently available chems.
chem_buttonsUsed when emagged to scramble which chem is used, eg: mutadone -> morphine
controls_insideWhether the machine can be operated by the person inside of it.
deconstructableWhether this sleeper can be deconstructed and drop the board, if its on mapload.
efficiencyHow much chems is allowed to be in a patient at once, before we force them to wait for the reagent to process.
enter_messageMessage sent when a user enters the machine.
min_healthThe minimum damage required to use any chem other than Epinephrine.
possible_chemsAll chems this sleeper will get, depending on the parts inside.
+

Var Details

available_chems + + + + +

+

List of currently available chems.

chem_buttons + + + + +

+

Used when emagged to scramble which chem is used, eg: mutadone -> morphine

controls_inside + + + + +

+

Whether the machine can be operated by the person inside of it.

deconstructable + + + + +

+

Whether this sleeper can be deconstructed and drop the board, if its on mapload.

efficiency + + + + +

+

How much chems is allowed to be in a patient at once, before we force them to wait for the reagent to process.

enter_message + + + + +

+

Message sent when a user enters the machine.

min_health + + + + +

+

The minimum damage required to use any chem other than Epinephrine.

possible_chems + + + + +

+

All chems this sleeper will get, depending on the parts inside.

+ + + diff --git a/obj/machinery/sleeper/party.html b/obj/machinery/sleeper/party.html new file mode 100644 index 00000000000..71c1a881425 --- /dev/null +++ b/obj/machinery/sleeper/party.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/sleeper/party - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

party + + + +

+ + +

Vars

spray_chemsChemicals that need to have a touch or vapor reaction to be applied, not the standard chamber reaction.
+

Var Details

spray_chems + + + + +

+

Chemicals that need to have a touch or vapor reaction to be applied, not the standard chamber reaction.

+ + + diff --git a/obj/machinery/smartfridge.html b/obj/machinery/smartfridge.html new file mode 100644 index 00000000000..af2851b2adf --- /dev/null +++ b/obj/machinery/smartfridge.html @@ -0,0 +1,116 @@ + + + + + + + /obj/machinery/smartfridge - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

smartfridge + + + +

+ + + + + + + + + + + + +

Vars

base_build_pathWhat path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.
contents_icon_stateThe overlay for this fridge when it is filled with stuff
has_emissiveIs this smartfridge going to have a glowing screen? (Drying Racks are not)
initial_contentsList of items that the machine starts with upon spawn
max_n_of_itemsMaximum number of items that can be loaded into the machine
visible_contentsIf the machine shows an approximate number of its contents on its sprite
welded_downWhether the smartfridge is welded down to the floor disabling unwrenching

Procs

accept_checkCan this item be accepted by the smart fridge +Arguments
loadLoads the item into the smart fridge +Arguments
structure_examineReturns details related to the fridge structure
visible_itemsReturns the number of items visible in the fridge. Faster than subtracting 2 lists
+

Var Details

base_build_path + + + + +

+

What path boards used to construct it should build into when dropped. Needed so we don't accidentally have them build variants with items preloaded in them.

contents_icon_state + + + + +

+

The overlay for this fridge when it is filled with stuff

has_emissive + + + + +

+

Is this smartfridge going to have a glowing screen? (Drying Racks are not)

initial_contents + + + + +

+

List of items that the machine starts with upon spawn

max_n_of_items + + + + +

+

Maximum number of items that can be loaded into the machine

visible_contents + + + + +

+

If the machine shows an approximate number of its contents on its sprite

welded_down + + + + +

+

Whether the smartfridge is welded down to the floor disabling unwrenching

Proc Details

accept_check +

+

Can this item be accepted by the smart fridge +Arguments

+
    +
  • weapon - the item to accept
  • +

load +

+

Loads the item into the smart fridge +Arguments

+
    +
  • weapon - the item to load. If the item is being held by a mo it will transfer it from hand else directly force move
  • +

structure_examine +

+

Returns details related to the fridge structure

visible_items +

+

Returns the number of items visible in the fridge. Faster than subtracting 2 lists

+ + + diff --git a/obj/machinery/smartfridge/drying_rack.html b/obj/machinery/smartfridge/drying_rack.html new file mode 100644 index 00000000000..023c2e9088b --- /dev/null +++ b/obj/machinery/smartfridge/drying_rack.html @@ -0,0 +1,55 @@ + + + + + + + /obj/machinery/smartfridge/drying_rack - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

drying_rack + + + +

+ + + + +

Vars

dryingIs the rack currently drying stuff

Procs

toggle_dryingToggles drying on or off +Arguments
visible_itemsWe cleared out the components in initialize so we can optimize this
+

Var Details

drying + + + + +

+

Is the rack currently drying stuff

Proc Details

toggle_drying +

+

Toggles drying on or off +Arguments

+
    +
  • forceoff - if TRUE will force the dryer off always
  • +

visible_items +

+

We cleared out the components in initialize so we can optimize this

+ + + diff --git a/obj/machinery/smartfridge/organ.html b/obj/machinery/smartfridge/organ.html new file mode 100644 index 00000000000..6f2424ee019 --- /dev/null +++ b/obj/machinery/smartfridge/organ.html @@ -0,0 +1,36 @@ + + + + + + + /obj/machinery/smartfridge/organ - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

organ + + + +

+ + +

Vars

repair_rateThe rate at which this fridge will repair damaged organs
+

Var Details

repair_rate + + + + +

+

The rate at which this fridge will repair damaged organs

+ + + diff --git a/obj/machinery/space_heater.html b/obj/machinery/space_heater.html new file mode 100644 index 00000000000..a601efc5976 --- /dev/null +++ b/obj/machinery/space_heater.html @@ -0,0 +1,106 @@ + + + + + + + /obj/machinery/space_heater - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

space_heater + + + +

+ + + + + + + + + + + + +

Vars

cellThe cell we spawn with
display_panelShould we add an overlay for open spaceheaters
efficiencyHow efficiently we can deliver that heat/cold (higher indicates less cell consumption)
heating_powerHow much heat/cold we can deliver
modeWhat is the mode we are in now?
onIs the machine on?
set_modeAnything other than "heat" or "cool" is considered auto.
settable_temperature_medianWhat's the middle point of our settable temperature (30 °C)
settable_temperature_rangeRange of temperatures above and below the median that we can set our target temperature (increase by upgrading the capacitors)
target_temperatureThe temperature we trying to get to
temperature_toleranceThe amount of degrees above and below the target temperature for us to change mode to heater or cooler
+

Var Details

cell + + + + +

+

The cell we spawn with

display_panel + + + + +

+

Should we add an overlay for open spaceheaters

efficiency + + + + +

+

How efficiently we can deliver that heat/cold (higher indicates less cell consumption)

heating_power + + + + +

+

How much heat/cold we can deliver

mode + + + + +

+

What is the mode we are in now?

on + + + + +

+

Is the machine on?

set_mode + + + + +

+

Anything other than "heat" or "cool" is considered auto.

settable_temperature_median + + + + +

+

What's the middle point of our settable temperature (30 °C)

settable_temperature_range + + + + +

+

Range of temperatures above and below the median that we can set our target temperature (increase by upgrading the capacitors)

target_temperature + + + + +

+

The temperature we trying to get to

temperature_tolerance + + + + +

+

The amount of degrees above and below the target temperature for us to change mode to heater or cooler

+ + + diff --git a/obj/machinery/space_heater/improvised_chem_heater.html b/obj/machinery/space_heater/improvised_chem_heater.html new file mode 100644 index 00000000000..bf9f0e4e05c --- /dev/null +++ b/obj/machinery/space_heater/improvised_chem_heater.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/space_heater/improvised_chem_heater - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

improvised_chem_heater + + + +

+ +

For use with heating reagents in a ghetto way

+ + +

Vars

beakerThe beaker within the heater
chem_heating_powerHow powerful the heating is, upgrades with parts. (ala chem_heater.dm's method, basically the same level of heating, but this is restricted)

Procs

attackbySlightly modified to ignore the open_hatch - it's always open, we hacked it.
+

Var Details

beaker + + + + +

+

The beaker within the heater

chem_heating_power + + + + +

+

How powerful the heating is, upgrades with parts. (ala chem_heater.dm's method, basically the same level of heating, but this is restricted)

Proc Details

attackby +

+

Slightly modified to ignore the open_hatch - it's always open, we hacked it.

+ + + diff --git a/obj/machinery/spaceship_navigation_beacon.html b/obj/machinery/spaceship_navigation_beacon.html new file mode 100644 index 00000000000..0a72465d459 --- /dev/null +++ b/obj/machinery/spaceship_navigation_beacon.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/spaceship_navigation_beacon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spaceship_navigation_beacon + + + +

+ + + + + +

Vars

automatic_message_cooldownTime between automated messages.
lockedLocked beacons cannot be jumped to by ships.
next_automatic_message_timeNext world tick to send an automatic message.
radioOur internal radio.
+

Var Details

automatic_message_cooldown + + + + +

+

Time between automated messages.

locked + + + + +

+

Locked beacons cannot be jumped to by ships.

next_automatic_message_time + + + + +

+

Next world tick to send an automatic message.

radio + + + + +

+

Our internal radio.

+ + + diff --git a/obj/machinery/status_display.html b/obj/machinery/status_display.html new file mode 100644 index 00000000000..a5581a18660 --- /dev/null +++ b/obj/machinery/status_display.html @@ -0,0 +1,93 @@ + + + + + + + /obj/machinery/status_display - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

status_display + + + +

+ +

Status display which can show images and scrolling text.

+ + + + + + +

Vars

header_text_colorColor for headers, eg. "- ETA -"
text_colorNormal text color

Procs

remove_messagesRemove both message objs and null the fields. +Don't call this in subclasses.
set_messagesImmediately change the display to the given two lines.
set_pictureImmediately change the display to the given picture.
updateUpdate the display and, if necessary, re-enable processing.
update_messageCreate/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:
+

Var Details

header_text_color + + + + +

+

Color for headers, eg. "- ETA -"

text_color + + + + +

+

Normal text color

Proc Details

remove_messages +

+

Remove both message objs and null the fields. +Don't call this in subclasses.

set_messages +

+

Immediately change the display to the given two lines.

set_picture +

+

Immediately change the display to the given picture.

update +

+

Update the display and, if necessary, re-enable processing.

update_message +

+

Create/update message overlay. +They must be handled as real objects for the animation to run. +Don't call this in subclasses. +Arguments:

+
    +
  • overlay - the current /obj/effect/overlay/status_display_text instance
  • +
  • line_y - The Y offset to render the text.
  • +
  • x_offset - Used to offset the text on the X coordinates, not usually needed.
  • +
  • message - the new message text. +Returns new /obj/effect/overlay/status_display_text or null if unchanged.
  • +
+ + + diff --git a/obj/machinery/status_display/door_timer.html b/obj/machinery/status_display/door_timer.html new file mode 100644 index 00000000000..29266032096 --- /dev/null +++ b/obj/machinery/status_display/door_timer.html @@ -0,0 +1,109 @@ + + + + + + + /obj/machinery/status_display/door_timer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

door_timer + + + +

+ +

Brig Door control displays.

+

This is a controls the timer for the brig doors, displays the timer on itself and +has a popup window when used, allowing to set the timer.

+ + + + + + + + +

Vars

closetsList of weakrefs to nearby closets
doorsList of weakrefs to nearby doors
flashersList of weakrefs to nearby flashers
sec_radioneeded to send messages to sec radio

Procs

set_timerSet the timer. Does NOT automatically start counting down, but does update the display.
time_leftReturn time left. +Arguments:
timer_endStops the timer and resets the timer to 0, and opens the linked door. +Arguments:
timer_startStarts counting down the timer and closes linked the door. +The timer is expected to have already been set by set_timer()
update_contentUpdate the display content.
+

Var Details

closets + + + + +

+

List of weakrefs to nearby closets

doors + + + + +

+

List of weakrefs to nearby doors

flashers + + + + +

+

List of weakrefs to nearby flashers

sec_radio + + + + +

+

needed to send messages to sec radio

Proc Details

set_timer +

+

Set the timer. Does NOT automatically start counting down, but does update the display.

+

returns TRUE if no change occurred

+

Arguments: +value - time in deciseconds to set the timer for.

time_left +

+

Return time left. +Arguments:

+
    +
  • seconds - return time in seconds it TRUE, else deciseconds.
  • +

timer_end +

+

Stops the timer and resets the timer to 0, and opens the linked door. +Arguments:

+
    +
  • forced - TRUE if it was forced to stop rather than timing out. Will skip radioing, etc.
  • +

timer_start +

+

Starts counting down the timer and closes linked the door. +The timer is expected to have already been set by set_timer()

update_content +

+

Update the display content.

+ + + diff --git a/obj/machinery/suit_storage_unit.html b/obj/machinery/suit_storage_unit.html new file mode 100644 index 00000000000..700eee45fe5 --- /dev/null +++ b/obj/machinery/suit_storage_unit.html @@ -0,0 +1,184 @@ + + + + + + + /obj/machinery/suit_storage_unit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

suit_storage_unit + + + +

+ + + + + + + + + + + + + + + + + + + + + +

Vars

access_lockedshould we prevent further access change
base_charge_ratePower contributed by this machine to charge the mod suits cell without any capacitors
breakout_timeHow long it takes to break out of the SSU.
card_reader_installedis the card reader installed in this machine
final_charge_rateFinal charge rate which is base_charge_rate + contribution by capacitors
helmet_typeWhat type of space helmet the unit starts with when spawned.
id_cardphysical reference of the players id card to check for PERSONAL access level
lockedIf the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.
mask_typeWhat type of breathmask the unit starts with when spawned.
message_cooldownCooldown for occupant breakout messages via relaymove()
mod_typeWhat type of MOD the unit starts with when spawned.
safetiesIf the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().
storage_typeWhat type of additional item the unit starts with when spawned.
suit_typeWhat type of spacesuit the unit starts with when spawned.
uvIf UV decontamination sequence is running. See cook()
uv_cyclesHow many cycles remain for the decontamination sequence.
uv_superIf the hack wire is cut/pulsed. +Modifies effects of cook()

Procs

cookUV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.
disable_modlinkIf the SSU needs to have any communications wires cut.
set_accesscopy over access of electronics
+

Var Details

access_locked + + + + +

+

should we prevent further access change

base_charge_rate + + + + +

+

Power contributed by this machine to charge the mod suits cell without any capacitors

breakout_time + + + + +

+

How long it takes to break out of the SSU.

card_reader_installed + + + + +

+

is the card reader installed in this machine

final_charge_rate + + + + +

+

Final charge rate which is base_charge_rate + contribution by capacitors

helmet_type + + + + +

+

What type of space helmet the unit starts with when spawned.

id_card + + + + +

+

physical reference of the players id card to check for PERSONAL access level

locked + + + + +

+

If the SSU's doors are locked closed. Can be toggled manually via the UI, but is also locked automatically when the UV decontamination sequence is running.

mask_type + + + + +

+

What type of breathmask the unit starts with when spawned.

message_cooldown + + + + +

+

Cooldown for occupant breakout messages via relaymove()

mod_type + + + + +

+

What type of MOD the unit starts with when spawned.

safeties + + + + +

+

If the safety wire is cut/pulsed, the SSU can run the decontamination sequence while occupied by a mob. The mob will be burned during every cycle of cook().

storage_type + + + + +

+

What type of additional item the unit starts with when spawned.

suit_type + + + + +

+

What type of spacesuit the unit starts with when spawned.

uv + + + + +

+

If UV decontamination sequence is running. See cook()

uv_cycles + + + + +

+

How many cycles remain for the decontamination sequence.

uv_super + + + + +

+

If the hack wire is cut/pulsed. +Modifies effects of cook()

+
    +
  • If FALSE, decontamination sequence will clear radiation for all atoms (and their contents) contained inside the unit, and burn any mobs inside.
  • +
  • If TRUE, decontamination sequence will delete all items contained within, and if occupied by a mob, intensifies burn damage delt. All wires will be cut at the end.
  • +

Proc Details

cook +

+

UV decontamination sequence. +Duration is determined by the uv_cycles var. +Effects determined by the uv_super var.

+
    +
  • If FALSE, all atoms (and their contents) contained are cleared of radiation. If a mob is inside, they are burned every cycle.
  • +
  • If TRUE, all items contained are destroyed, and burn damage applied to the mob is increased. All wires will be cut at the end. +All atoms still inside at the end of all cycles are ejected from the unit.
  • +
+

If the SSU needs to have any communications wires cut.

set_access +

+

copy over access of electronics

+ + + diff --git a/obj/machinery/syndicatebomb.html b/obj/machinery/syndicatebomb.html new file mode 100644 index 00000000000..6781a2eb808 --- /dev/null +++ b/obj/machinery/syndicatebomb.html @@ -0,0 +1,134 @@ + + + + + + + /obj/machinery/syndicatebomb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

syndicatebomb + + + +

+ + + + + + + + + + + + + + + + +

Vars

activeIs the bomb counting down?
beepsoundWhat sound do we make as we beep down the timer?
can_unanchorCan we be unanchored?
countdownThe countdown that'll show up to ghosts regarding the bomb's timer.
delayedbigIs the delay wire pulsed?
delayedlittleIs the activation wire pulsed?
detonation_timerThe timer for the bomb.
examinable_countdownWhether the countdown is visible on examine
explode_nowShould we just tell the payload to explode now? Usually triggered by an event (like cutting the wrong wire)
maximum_timerWhat is the highest amount of time we can set the timer to?
minimum_timerWhat is the lowest amount of time we can set the timer to?
next_beepWhen do we beep next?
open_panelAre the wires exposed?
payloadReference to the bomb core inside the bomb, which is the part that actually explodes.
timer_setWhat is the default amount of time we set the timer to?
+

Var Details

active + + + + +

+

Is the bomb counting down?

beepsound + + + + +

+

What sound do we make as we beep down the timer?

can_unanchor + + + + +

+

Can we be unanchored?

countdown + + + + +

+

The countdown that'll show up to ghosts regarding the bomb's timer.

delayedbig + + + + +

+

Is the delay wire pulsed?

delayedlittle + + + + +

+

Is the activation wire pulsed?

detonation_timer + + + + +

+

The timer for the bomb.

examinable_countdown + + + + +

+

Whether the countdown is visible on examine

explode_now + + + + +

+

Should we just tell the payload to explode now? Usually triggered by an event (like cutting the wrong wire)

maximum_timer + + + + +

+

What is the highest amount of time we can set the timer to?

minimum_timer + + + + +

+

What is the lowest amount of time we can set the timer to?

next_beep + + + + +

+

When do we beep next?

open_panel + + + + +

+

Are the wires exposed?

payload + + + + +

+

Reference to the bomb core inside the bomb, which is the part that actually explodes.

timer_set + + + + +

+

What is the default amount of time we set the timer to?

+ + + diff --git a/obj/machinery/teambuilder.html b/obj/machinery/teambuilder.html new file mode 100644 index 00000000000..34c7deba1f1 --- /dev/null +++ b/obj/machinery/teambuilder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/machinery/teambuilder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

teambuilder + + + +

+ +

Simple admin tool that enables players to be assigned to a VERY SHITTY, very visually distinct team, quickly and affordably.

+ + +

Vars

humans_onlyAre non-humans allowed to use this?
team_colorWhat color is your mob set to when crossed?
team_radioWhat radio station is your radio set to when crossed (And human)?
+

Var Details

humans_only + + + + +

+

Are non-humans allowed to use this?

team_color + + + + +

+

What color is your mob set to when crossed?

team_radio + + + + +

+

What radio station is your radio set to when crossed (And human)?

+ + + diff --git a/obj/machinery/telecomms.html b/obj/machinery/telecomms.html new file mode 100644 index 00000000000..7e9687bb1cb --- /dev/null +++ b/obj/machinery/telecomms.html @@ -0,0 +1,232 @@ + + + + + + + /obj/machinery/telecomms - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

telecomms + + + +

+ +

The basic telecomms machinery type, implementing all of the logic that's +shared between all of the telecomms machinery.

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

autolinkerslist of text/number values to link with
banned_frequenciesIllegal frequencies that can't be listened to by telecommunication servers.
hideIs it a hidden machine?
ididentification string
linkslist of machines this machine is linked to
links_by_telecomms_typeassociative lazylist list of the telecomms_type of linked telecomms machines and a list of said machines. +eg list(telecomms_type1 = list(everything linked to us with that type), telecomms_type2 = list(everything linked to us with THAT type)...)
long_range_linkCan you link it across Z levels or on the otherside of the map? (Relay & Hub)
netspeedhow much traffic to lose per second (50 gigabytes/second * netspeed)
networkthe network of the machinery
onIs it actually active or not?
soundloopLooping sounds for any servers
telecomms_typethe relevant type path of this telecomms machine eg /obj/machinery/telecomms/server but not server/preset. used for links_by_telecomms_type
tempfreqThe current temporary frequency used to add new filtered frequencies +options.
toggledIs it toggled on, so is it /meant/ to be active?
trafficvalue increases as traffic increases

Procs

add_actWrapper for adding another time of action for ui_act(), rather than +having you override ui_act yourself.
add_automatic_linkHandles the automatic linking of another machine to this one.
add_new_linkAdds new_connection to src's links list AND vice versa. Also updates links_by_telecomms_type.
add_optionWrapper for adding additional options to a machine's interface.
de_empHandles the machine stopping being affected by an EMP.
get_multitoolReturns a multitool from a user depending on their mobtype.
is_freq_listeningChecks whether the machinery is listening to that signal.
receive_informationReceive information from linked machinery
relay_direct_informationSends a signal directly to a machine.
relay_informationrelay signal to all linked machinery that are of type [filter]. If signal has been sent [amount] times, stop sending
remove_linkRemoves old_connection from src's links list AND vice versa. Also updates links_by_telecomms_type.
update_powerHandles updating the power state of the machine, modifying its on +variable based on if it's toggled and if it's either broken, has no power +or it's EMP'd. Handles updating appearance based on that power change.
+

Var Details

autolinkers + + + + +

+

list of text/number values to link with

banned_frequencies + + + + +

+

Illegal frequencies that can't be listened to by telecommunication servers.

hide + + + + +

+

Is it a hidden machine?

id + + + + +

+

identification string

+

list of machines this machine is linked to

+

associative lazylist list of the telecomms_type of linked telecomms machines and a list of said machines. +eg list(telecomms_type1 = list(everything linked to us with that type), telecomms_type2 = list(everything linked to us with THAT type)...)

+

Can you link it across Z levels or on the otherside of the map? (Relay & Hub)

netspeed + + + + +

+

how much traffic to lose per second (50 gigabytes/second * netspeed)

network + + + + +

+

the network of the machinery

on + + + + +

+

Is it actually active or not?

soundloop + + + + +

+

Looping sounds for any servers

telecomms_type + + + + +

+

the relevant type path of this telecomms machine eg /obj/machinery/telecomms/server but not server/preset. used for links_by_telecomms_type

tempfreq + + + + +

+

The current temporary frequency used to add new filtered frequencies +options.

toggled + + + + +

+

Is it toggled on, so is it /meant/ to be active?

traffic + + + + +

+

value increases as traffic increases

Proc Details

add_act +

+

Wrapper for adding another time of action for ui_act(), rather than +having you override ui_act yourself.

+

Returns TRUE if the action was handled, nothing if not.

+

Handles the automatic linking of another machine to this one.

+

Adds new_connection to src's links list AND vice versa. Also updates links_by_telecomms_type.

add_option +

+

Wrapper for adding additional options to a machine's interface.

+

Returns a list, or null if it wasn't implemented by the machine.

de_emp +

+

Handles the machine stopping being affected by an EMP.

get_multitool +

+

Returns a multitool from a user depending on their mobtype.

is_freq_listening +

+

Checks whether the machinery is listening to that signal.

+

Returns TRUE if found, FALSE if not.

receive_information +

+

Receive information from linked machinery

relay_direct_information +

+

Sends a signal directly to a machine.

relay_information +

+

relay signal to all linked machinery that are of type [filter]. If signal has been sent [amount] times, stop sending

+

Removes old_connection from src's links list AND vice versa. Also updates links_by_telecomms_type.

update_power +

+

Handles updating the power state of the machine, modifying its on +variable based on if it's toggled and if it's either broken, has no power +or it's EMP'd. Handles updating appearance based on that power change.

+ + + diff --git a/obj/machinery/telecomms/allinone.html b/obj/machinery/telecomms/allinone.html new file mode 100644 index 00000000000..5face60ef23 --- /dev/null +++ b/obj/machinery/telecomms/allinone.html @@ -0,0 +1,37 @@ + + + + + + + /obj/machinery/telecomms/allinone - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

allinone + + + +

+ +

Basically just an empty shell for receiving and broadcasting radio messages. Not +very flexible, but it gets the job done.

+

Vars

syndicateIf this mainframe can process all syndicate chatter regardless of z level
+

Var Details

syndicate + + + + +

+

If this mainframe can process all syndicate chatter regardless of z level

+ + + diff --git a/obj/machinery/telecomms/broadcaster.html b/obj/machinery/telecomms/broadcaster.html new file mode 100644 index 00000000000..e58aa3008af --- /dev/null +++ b/obj/machinery/telecomms/broadcaster.html @@ -0,0 +1,30 @@ + + + + + + + /obj/machinery/telecomms/broadcaster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

broadcaster + + + +

+ +

The broadcaster sends processed messages to all radio devices in the game. They +do not have to be headsets; intercoms and station-bounced radios suffice.

+

They receive their message from a server after the message has been logged.

+ + + diff --git a/obj/machinery/telecomms/bus.html b/obj/machinery/telecomms/bus.html new file mode 100644 index 00000000000..1bf12daa3e5 --- /dev/null +++ b/obj/machinery/telecomms/bus.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/telecomms/bus - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bus + + + +

+ +

The bus mainframe idles and waits for hubs to relay them signals. They act +as junctions for the network.

+

They transfer uncompressed subspace packets to processor units, and then take +the processed packet to a server for logging.

+

Can be linked to a telecommunications hub or a broadcaster in the absence +of a server, at the cost of some added latency.

+

Vars

change_frequencyThe frequency this bus will use to override the received signal's frequency, +if not NONE.
+

Var Details

change_frequency + + + + +

+

The frequency this bus will use to override the received signal's frequency, +if not NONE.

+ + + diff --git a/obj/machinery/telecomms/hub.html b/obj/machinery/telecomms/hub.html new file mode 100644 index 00000000000..ba5b8229e4d --- /dev/null +++ b/obj/machinery/telecomms/hub.html @@ -0,0 +1,33 @@ + + + + + + + /obj/machinery/telecomms/hub - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

hub + + + +

+ +

The HUB idles until it receives information. It then passes on that information +depending on where it came from.

+

This is the heart of the Telecommunications Network, sending information where it +is needed. It mainly receives information from long-distance Relays and then sends +that information to be processed. Afterwards it gets the uncompressed information +from Servers/Buses and sends that back to the relay, to then be broadcasted.

+ + + diff --git a/obj/machinery/telecomms/message_server.html b/obj/machinery/telecomms/message_server.html new file mode 100644 index 00000000000..972f53f0f73 --- /dev/null +++ b/obj/machinery/telecomms/message_server.html @@ -0,0 +1,68 @@ + + + + + + + /obj/machinery/telecomms/message_server - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

message_server + + + +

+ +

The equivalent of the server, for PDA and request console messages. +Without it, PDA and request console messages cannot be transmitted. +PDAs require the rest of the telecomms setup, but request consoles only +require the message server.

+ + + +

Vars

calibratingInit reads this and adds world.time, then becomes 0 when that time has +passed and the machine works. +Basically, if it's not 0, it's calibrating and therefore non-functional.
decryptkeyThe password of this messaging server.
pda_msgsA list of all the PDA messages that were intercepted and processed by +this messaging server.
rc_msgsA list of all the Request Console messages that were intercepted and +processed by this messaging server.
+

Var Details

calibrating + + + + +

+

Init reads this and adds world.time, then becomes 0 when that time has +passed and the machine works. +Basically, if it's not 0, it's calibrating and therefore non-functional.

decryptkey + + + + +

+

The password of this messaging server.

pda_msgs + + + + +

+

A list of all the PDA messages that were intercepted and processed by +this messaging server.

rc_msgs + + + + +

+

A list of all the Request Console messages that were intercepted and +processed by this messaging server.

+ + + diff --git a/obj/machinery/telecomms/processor.html b/obj/machinery/telecomms/processor.html new file mode 100644 index 00000000000..75871b9fdcd --- /dev/null +++ b/obj/machinery/telecomms/processor.html @@ -0,0 +1,41 @@ + + + + + + + /obj/machinery/telecomms/processor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

processor + + + +

+ +

The processor is a very simple machine that decompresses subspace signals and +transfers them back to the original bus. It is essential in producing audible +data.

+

They'll link to servers if bus is not present, with some delay added to it.

+

Vars

compressingWhether this processor is currently compressing the data, +or actually decompressing it. Defaults to FALSE.
+

Var Details

compressing + + + + +

+

Whether this processor is currently compressing the data, +or actually decompressing it. Defaults to FALSE.

+ + + diff --git a/obj/machinery/telecomms/receiver.html b/obj/machinery/telecomms/receiver.html new file mode 100644 index 00000000000..ccfd797c0c6 --- /dev/null +++ b/obj/machinery/telecomms/receiver.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/telecomms/receiver - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

receiver + + + +

+ +

The receiver idles and receives messages from subspace-compatible radio equipment, +primarily headsets. Then they just relay this information to all linked devices, +which would usually be through the telecommunications hub.

+

Link to Processor Units in case receiver can't send to a telecommunication hub.

+

Procs

check_receive_levelChecks whether the signal can be received by this receiver or not, based on +if it's in the signal's levels, or if there's a liked hub with a linked +relay that can receive the signal for it.

Proc Details

check_receive_level +

+

Checks whether the signal can be received by this receiver or not, based on +if it's in the signal's levels, or if there's a liked hub with a linked +relay that can receive the signal for it.

+

Returns TRUE if it can receive the signal, FALSE if not.

+ + + diff --git a/obj/machinery/telecomms/relay.html b/obj/machinery/telecomms/relay.html new file mode 100644 index 00000000000..0a4f4f63b5f --- /dev/null +++ b/obj/machinery/telecomms/relay.html @@ -0,0 +1,77 @@ + + + + + + + /obj/machinery/telecomms/relay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

relay + + + +

+ +

The relay idles until it receives information. It then passes on that information +depending on where it came from.

+

The relay is needed in order to send information to different Z levels. It +must be linked with a hub, the only other machine that can send to/receive +from other Z levels.

+ + + + +

Vars

broadcastingCan this relay broadcast signals to other Z levels?
receivingCan this relay receive signals from other Z levels?

Procs

can_listen_to_signalChecks to see if the relay can send/receive the signal, by checking if it's +on, and if it's listening to the frequency of the signal.
can_receiveChecks to see if the relay can receive this signal, which requires it to have +receiving set to TRUE.
can_sendChecks to see if the relay can send this signal, which requires it to have +broadcasting set to TRUE.
+

Var Details

broadcasting + + + + +

+

Can this relay broadcast signals to other Z levels?

receiving + + + + +

+

Can this relay receive signals from other Z levels?

Proc Details

can_listen_to_signal +

+

Checks to see if the relay can send/receive the signal, by checking if it's +on, and if it's listening to the frequency of the signal.

+

Returns TRUE if it can listen to the signal, FALSE if not.

can_receive +

+

Checks to see if the relay can receive this signal, which requires it to have +receiving set to TRUE.

+

Returns TRUE if it can receive the signal, FALSE if not.

can_send +

+

Checks to see if the relay can send this signal, which requires it to have +broadcasting set to TRUE.

+

Returns TRUE if it can send the signal, FALSE if not.

+ + + diff --git a/obj/machinery/telecomms/server.html b/obj/machinery/telecomms/server.html new file mode 100644 index 00000000000..3a1bff089e0 --- /dev/null +++ b/obj/machinery/telecomms/server.html @@ -0,0 +1,51 @@ + + + + + + + /obj/machinery/telecomms/server - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

server + + + +

+ +

The server logs all traffic and signal data. Once it records the signal, it +sends it to the subspace broadcaster.

+

Store a maximum of MAX_LOG_ENTRIES (400) log entries and then deletes them.

+ +

Vars

log_entriesA list of previous entries on the network. It will not exceed +MAX_LOG_ENTRIES entries in length, flushing the oldest entries +automatically.
total_trafficTotal trafic, which is increased every time a signal is increased and +the current traffic is higher than 0. See traffic for more info.
+

Var Details

log_entries + + + + +

+

A list of previous entries on the network. It will not exceed +MAX_LOG_ENTRIES entries in length, flushing the oldest entries +automatically.

total_traffic + + + + +

+

Total trafic, which is increased every time a signal is increased and +the current traffic is higher than 0. See traffic for more info.

+ + + diff --git a/obj/machinery/ticket_machine.html b/obj/machinery/ticket_machine.html new file mode 100644 index 00000000000..65296013832 --- /dev/null +++ b/obj/machinery/ticket_machine.html @@ -0,0 +1,73 @@ + + + + + + + /obj/machinery/ticket_machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ticket_machine + + + +

+ + + + + + + +

Vars

current_numberWhat ticket number are we currently serving?
current_ticketCurrent ticket to be served, essentially the head of the tickets queue
max_numberAt this point, you need to refill it.
ticket_numberIncrement the ticket number whenever the HOP presses his button
ticketsList of tickets that exist currently

Procs

incrementIncrements the counter by one, if there is a ticket after the current one we are serving. +If we have a current ticket, remove it from the top of our tickets list and replace it with the next one if applicable
+

Var Details

current_number + + + + +

+

What ticket number are we currently serving?

current_ticket + + + + +

+

Current ticket to be served, essentially the head of the tickets queue

max_number + + + + +

+

At this point, you need to refill it.

ticket_number + + + + +

+

Increment the ticket number whenever the HOP presses his button

tickets + + + + +

+

List of tickets that exist currently

Proc Details

increment +

+

Increments the counter by one, if there is a ticket after the current one we are serving. +If we have a current ticket, remove it from the top of our tickets list and replace it with the next one if applicable

+ + + diff --git a/obj/machinery/tournament_spawn.html b/obj/machinery/tournament_spawn.html new file mode 100644 index 00000000000..b614b4b8576 --- /dev/null +++ b/obj/machinery/tournament_spawn.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/tournament_spawn - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tournament_spawn + + + +

+ + + +

Vars

arena_idIn case we have multiple arena controllers at once.
teamTeam ID
+

Var Details

arena_id + + + + +

+

In case we have multiple arena controllers at once.

team + + + + +

+

Team ID

+ + + diff --git a/obj/machinery/trading_card_button.html b/obj/machinery/trading_card_button.html new file mode 100644 index 00000000000..0228e781d3e --- /dev/null +++ b/obj/machinery/trading_card_button.html @@ -0,0 +1,64 @@ + + + + + + + /obj/machinery/trading_card_button - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trading_card_button + + + +

+ +

A button that generates a player manipulable bar of icons, in this case a mana bar.

+ + + + +

Vars

display_panel_refReference to the display panel generated by this button.
display_panel_typeTypepath of the display panel generated.
panel_offset_xWhere the panel will be spawned in relation to the button on the X axis.
panel_offset_yWhere the panel will be spawned in relation to the button on the Y axis.

Procs

setup_globalProc that determines which global list of radial choices is used.
+

Var Details

display_panel_ref + + + + +

+

Reference to the display panel generated by this button.

display_panel_type + + + + +

+

Typepath of the display panel generated.

panel_offset_x + + + + +

+

Where the panel will be spawned in relation to the button on the X axis.

panel_offset_y + + + + +

+

Where the panel will be spawned in relation to the button on the Y axis.

Proc Details

setup_global +

+

Proc that determines which global list of radial choices is used.

+ + + diff --git a/obj/machinery/trading_card_holder.html b/obj/machinery/trading_card_holder.html new file mode 100644 index 00000000000..d3ed6eff9d1 --- /dev/null +++ b/obj/machinery/trading_card_holder.html @@ -0,0 +1,57 @@ + + + + + + + /obj/machinery/trading_card_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trading_card_holder + + + +

+ + + + + +

Vars

card_templateHolds all the details such as stats for the card.
current_cardCard thats currently inside the holder
current_summonReference to holographic currently active holographic summon
team_colorColor of the holograms produced.
+

Var Details

card_template + + + + +

+

Holds all the details such as stats for the card.

current_card + + + + +

+

Card thats currently inside the holder

current_summon + + + + +

+

Reference to holographic currently active holographic summon

team_color + + + + +

+

Color of the holograms produced.

+ + + diff --git a/obj/machinery/transformer.html b/obj/machinery/transformer.html new file mode 100644 index 00000000000..ed5c244be17 --- /dev/null +++ b/obj/machinery/transformer.html @@ -0,0 +1,85 @@ + + + + + + + /obj/machinery/transformer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

transformer + + + +

+ + + + + + + + + +

Vars

cooldownWhether we're on cooldown
cooldown_durationHow long we have to wait between processing mobs
cooldown_timerHow long until the next mob can be processed
countdownThe visual countdown effect
master_aiWho the master AI is that created this factory
robot_cell_chargeThe created cyborg's cell chage
transform_deadWhether this machine transforms dead mobs into cyborgs
transform_standingWhether this machine transforms standing mobs into cyborgs
+

Var Details

cooldown + + + + +

+

Whether we're on cooldown

cooldown_duration + + + + +

+

How long we have to wait between processing mobs

cooldown_timer + + + + +

+

How long until the next mob can be processed

countdown + + + + +

+

The visual countdown effect

master_ai + + + + +

+

Who the master AI is that created this factory

robot_cell_charge + + + + +

+

The created cyborg's cell chage

transform_dead + + + + +

+

Whether this machine transforms dead mobs into cyborgs

transform_standing + + + + +

+

Whether this machine transforms standing mobs into cyborgs

+ + + diff --git a/obj/machinery/transport.html b/obj/machinery/transport.html new file mode 100644 index 00000000000..9ba57596829 --- /dev/null +++ b/obj/machinery/transport.html @@ -0,0 +1,77 @@ + + + + + + + /obj/machinery/transport - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

transport + + + +

+ + + + + + + +

Vars

configured_transport_idID of the transport we're associated with for filtering commands
transport_refweakref of the transport we're associated with

Procs

generate_repair_signalsAll subtypes have the same method of repair for consistency and predictability +The key of this assoc list is the "method" of how they're fixing the thing (just flavor for examine), +and the value is what tool they actually need to use on the thing to fix it
link_tramFinds the tram
on_machine_tooledSignal proc for COMSIG_ATOM_TOOL_ACT, from a variety of signals, registered on the machinery.
try_fix_machineAttempts a do_after, and if successful, stops the event
+

Var Details

configured_transport_id + + + + +

+

ID of the transport we're associated with for filtering commands

transport_ref + + + + +

+

weakref of the transport we're associated with

Proc Details

generate_repair_signals +

+

All subtypes have the same method of repair for consistency and predictability +The key of this assoc list is the "method" of how they're fixing the thing (just flavor for examine), +and the value is what tool they actually need to use on the thing to fix it

+

Finds the tram

+

Locates tram parts in the lift global list after everything is done.

on_machine_tooled +

+

Signal proc for COMSIG_ATOM_TOOL_ACT, from a variety of signals, registered on the machinery.

+

We allow for someone to stop the event early by using the proper tools, hinted at in examine, on the machine

try_fix_machine +

+

Attempts a do_after, and if successful, stops the event

+ + + diff --git a/obj/machinery/transport/crossing_signal.html b/obj/machinery/transport/crossing_signal.html new file mode 100644 index 00000000000..0eaf51cdac1 --- /dev/null +++ b/obj/machinery/transport/crossing_signal.html @@ -0,0 +1,120 @@ + + + + + + + /obj/machinery/transport/crossing_signal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crossing_signal + + + +

+ +

Pedestrian crossing signal for tram

+ + + + + + + + +

Vars

amber_distance_threshold
inboundInbound station
operating_statusIf us or anything else in the operation chain is broken
outboundOutbound station
sensor_refthe sensor we use
signal_stategreen, amber, or red for tram, blue if it's emag, tram missing, etc.

Procs

set_signal_stateSet the signal state and update appearance.
update_operatingUpdate processing state.
wake_upOnly process if the tram is actually moving
+

Var Details

amber_distance_threshold + + + + +

+
    +
  • +

    Proximity thresholds for crossing signal states

    +
      +
    • +

      The proc that checks the distance between the tram and crossing signal uses these vars to determine the distance between tram and signal to change

      +
    • +
    • +

      colors. The numbers are specifically set for Tramstation. If we get another map with crossing signals we'll have to probably subtype it or something.

      +
    • +
    • +

      If the value is set too high, it will cause the lights to turn red when the tram arrives at another station. You want to optimize the amount of

      +
    • +
    • +

      warning without turning it red unnessecarily.

      +
    • +
    • +

      Red: decent chance of getting hit, but if you're quick it's a decent gamble.

      +
    • +
    • +

      Amber: slow people may be in danger.

      +
    • +
    +
  • +

inbound + + + + +

+

Inbound station

operating_status + + + + +

+

If us or anything else in the operation chain is broken

outbound + + + + +

+

Outbound station

sensor_ref + + + + +

+

the sensor we use

signal_state + + + + +

+

green, amber, or red for tram, blue if it's emag, tram missing, etc.

Proc Details

set_signal_state +

+

Set the signal state and update appearance.

+

Arguments: +new_state - the new state (XING_STATE_RED, etc) +force_update - force appearance to update even if state didn't change.

update_operating +

+

Update processing state.

+

Returns whether we are still processing.

wake_up +

+

Only process if the tram is actually moving

+ + + diff --git a/obj/machinery/transport/crossing_signal/northwest.html b/obj/machinery/transport/crossing_signal/northwest.html new file mode 100644 index 00000000000..ac2518a5aae --- /dev/null +++ b/obj/machinery/transport/crossing_signal/northwest.html @@ -0,0 +1,41 @@ + + + + + + + /obj/machinery/transport/crossing_signal/northwest - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

northwest + + + +

+ +
    +
  • +

    Crossing signal subtypes

    +
  • +
  • +

    Each map will have a different amount of tiles between stations, so adjust the signals here based on the map.

    +
  • +
  • +

    The distance is calculated from the bottom left corner of the tram,

    +
  • +
  • +

    so signals on the east side have their distance reduced by the tram length, in this case 10 for Tramstation.

    +
  • +
+ + + diff --git a/obj/machinery/transport/destination_sign.html b/obj/machinery/transport/destination_sign.html new file mode 100644 index 00000000000..668c350bfc1 --- /dev/null +++ b/obj/machinery/transport/destination_sign.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/transport/destination_sign - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

destination_sign + + + +

+ + + +

Vars

available_facesWhat sign face prefixes we have icons for
sign_faceThe sign face we're displaying
+

Var Details

available_faces + + + + +

+

What sign face prefixes we have icons for

sign_face + + + + +

+

The sign face we're displaying

+ + + diff --git a/obj/machinery/transport/guideway_sensor.html b/obj/machinery/transport/guideway_sensor.html new file mode 100644 index 00000000000..bbd9f48c414 --- /dev/null +++ b/obj/machinery/transport/guideway_sensor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/transport/guideway_sensor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

guideway_sensor + + + +

+ + + +

Vars

operating_statusIf us or anything else in the operation chain is broken
paired_sensorSensors work in a married pair
+

Var Details

operating_status + + + + +

+

If us or anything else in the operation chain is broken

paired_sensor + + + + +

+

Sensors work in a married pair

+ + + diff --git a/obj/machinery/transport/tram_controller.html b/obj/machinery/transport/tram_controller.html new file mode 100644 index 00000000000..5a64c7913c0 --- /dev/null +++ b/obj/machinery/transport/tram_controller.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/transport/tram_controller - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tram_controller + + + +

+ +

The physical cabinet on the tram. Acts as the interface between players and the controller datum.

+ + + + + + +

Vars

cover_lockedIf the cover is locked
cover_openIf the cover is open

Procs

LateInitializeMapped or built tram cabinet isn't located on a transport module.
find_controllerFind the controller associated with the transport module the cabinet is sitting on.
sync_controllerSince the machinery obj is a dumb terminal for the controller datum, sync the display with the status bitfield of the tram
try_fix_machineCheck if the tram was malfunctioning due to the random event, and if so end the event on repair.
update_overlaysUpdate the blinky lights based on the controller status, allowing to quickly check without opening up the cabinet.
+

Var Details

cover_locked + + + + +

+

If the cover is locked

cover_open + + + + +

+

If the cover is open

Proc Details

LateInitialize +

+

Mapped or built tram cabinet isn't located on a transport module.

find_controller +

+

Find the controller associated with the transport module the cabinet is sitting on.

sync_controller +

+

Since the machinery obj is a dumb terminal for the controller datum, sync the display with the status bitfield of the tram

try_fix_machine +

+

Check if the tram was malfunctioning due to the random event, and if so end the event on repair.

update_overlays +

+

Update the blinky lights based on the controller status, allowing to quickly check without opening up the cabinet.

+ + + diff --git a/obj/machinery/turretid.html b/obj/machinery/turretid.html new file mode 100644 index 00000000000..1720b731f0b --- /dev/null +++ b/obj/machinery/turretid.html @@ -0,0 +1,78 @@ + + + + + + + /obj/machinery/turretid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

turretid + + + +

+ + + + + + + + +

Vars

ailockAI is unable to use this machine if set to TRUE
control_areaAn area in which linked turrets are located, it can be an area name, path or nothing
enabledVariable dictating if linked turrets are active and will shoot targets
lethalVariable dictating if linked turrets will shoot lethal projectiles
lockedVariable dictating if the panel is locked, preventing changes to turret settings
shoot_cyborgsVariable dictating if linked turrets will shoot cyborgs
turretsList of weakrefs to all turrets
+

Var Details

ailock + + + + +

+

AI is unable to use this machine if set to TRUE

control_area + + + + +

+

An area in which linked turrets are located, it can be an area name, path or nothing

enabled + + + + +

+

Variable dictating if linked turrets are active and will shoot targets

lethal + + + + +

+

Variable dictating if linked turrets will shoot lethal projectiles

locked + + + + +

+

Variable dictating if the panel is locked, preventing changes to turret settings

shoot_cyborgs + + + + +

+

Variable dictating if linked turrets will shoot cyborgs

turrets + + + + +

+

List of weakrefs to all turrets

+ + + diff --git a/obj/machinery/vending.html b/obj/machinery/vending.html new file mode 100644 index 00000000000..4c857abf72d --- /dev/null +++ b/obj/machinery/vending.html @@ -0,0 +1,720 @@ + + + + + + + /obj/machinery/vending - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vending machines + + + +

+ +

Captalism in the year 2525, everything in a vending machine, even love

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

activeIs the machine active (No sales pitches if off)!
age_restrictionsWhether our age check is currently functional
billBills we accept?
coinCoins that we accept?
coin_recordsList of premium product records
contrabandList of products this machine sells when you hack it
crit_chanceThe chance, in percent, of this vendor performing a critical hit on anything it crushes via [tilt].
default_priceDefault price of items if not overridden
displayed_currency_iconfontawesome icon name to use in to display the user's balance in the vendor UI
displayed_currency_nameString of the used currency to display in the vendor UI
extended_inventorycan we access the hidden inventory?
extra_priceDefault price of premium items if not overridden
forcecritIf set to a critical define in crushing.dm, anything this vendor crushes will always be hit with that effect.
hidden_recordsList of contraband product records
icon_denyIcon to flash when user is denied a vend
icon_vendIcon when vending an item to the user
last_replyLast world tick we sent a vent reply
last_shopperThe ref of the last mob to shop with us
last_sloganLast world tick we sent a slogan message out
light_maskName of lighting mask for the vending machine
loaded_itemshow many items have been inserted in a vendor
num_shardsNumber of glass shards the vendor creates and tries to embed into an atom it tilted onto
onstationIs this item on station or not
onstation_overrideA variable to change on a per instance basis on the map that allows the instance +to ignore whether it's on the station or not. +Useful to force cost and ID requirements. DO NOT APPLY THIS GLOBALLY.
panel_typeIcon for the maintenance panel overlay
pinned_mobsList of mobs stuck under the vendor
premiumList of premium products this machine sells
product_adsString of small ad messages in the vending screen - random chance
product_categoriesList of products this machine sells, categorized. +Can only be used as an alternative to products, not alongside it.
product_recordsList of standard product records
product_slogansString of slogans separated by semicolons, optional
productsList of products this machine sells
purchase_message_cooldownNext world time to send a purchase message
scan_idAre we checking the users ID
sec_radioused for narcing on underages
seconds_electrifiedWorld ticks the machine is electified for
shoot_inventoryWhen this is TRUE, we fire items at customers! We're broken!
shoot_inventory_chanceHow likely this is to happen (prob 100) per second
slogan_delayHow many ticks until we can send another
slogan_listList of slogans to scream at potential customers; built upon Iniitialize() of the vendor from product_slogans
squish_damageDamage this vendor does when tilting onto an atom
tiltableWhether this vendor can be tilted over or not
tiltedWhether the vendor is tilted or not
tilted_rotationIf tilted, this variable should always be the rotation that was applied when we were tilted. Stored for the purposes of unapplying it.
vend_readyAre we ready to vend?? Is it time??
vend_replyMessage sent post vend (Thank you for shopping!)
vending_machine_inputItems that the players have loaded into the vendor

Procs

Destroyin average, it should be 37.5% of the max amount, rounded up to the nearest int, +tho the max boundary can be as low/high as 50%/100%
build_inventoriesPrices of vending machines are all increased uniformly. +*Builds all available inventories for the vendor - standard, contraband and premium
build_inventoryBuild the inventory of the vending machine from it's product and record lists
build_products_from_categoriesPopulates list of products with categorized products
canLoadItemAre we able to load the item passed in
can_vendWhether this vendor can vend items or not. +arguments: +user - current customer
collect_records_for_static_dataReturns a list of given product records of the vendor to be used in UI. +arguments: +records - list of records available +categories - list of categories available +premium - bool of whether a record should be priced by a custom/premium price or not
compartmentLoadAccessCheckIs the passed in user allowed to load this vending machines compartments? This only is ran if we are using a /obj/item/storage/bag to load the vending machine, and not a dedicated restocker.
create_categories_fromReturns a list of data about the category +Arguments: +name - string for the name of the category +icon - string for the fontawesome icon to use in the UI for the category +products - list of products available in the category
fetch_balance_to_useReturns the balance that the vendor will use for proceeding payment. Most vendors would want to use the user's +card's account credits balance. +arguments: +passed_id - the id card that will be billed for the product
freebieDispenses free items from the standard stock. +Arguments: +freebies - number of free items to vend
loadingAttemptTries to insert the item into the vendor, and depending on whether the product is a part of the vendor's +stock or not, increments an already present product entry's available amount or creates a new entry. +arguments: +inserted_item - the item we're trying to insert +user - mob who's trying to insert the item
pre_throwA callback called before an item is tossed out
proceed_paymentHandles payment processing: discounts, logging, balance change etc. +arguments: +paying_id_card - the id card that will be billed for the product +product_to_vend - the product record of the item we're trying to vend +price_to_use - price of the item we're trying to vend
refill_inventoryRefill our inventory from the passed in product list into the record list
reset_pricesReassign the prices of the vending machine as a result of the inflation value, as provided by SSeconomy
restockRefill a vending machine from a refill canister
select_colorsBrings up a color config menu for the picked greyscaled item
shockShock the passed in user
speakSpeak the given message verbally
throw_impactCrush the mob that the vending machine got thrown at
throw_itemThrow an item from our internal inventory out in front of us
tiltTilts ontop of the atom supplied, if crit is true some extra shit can happen. See [fall_and_crush] for return values. +Arguments: +fatty - atom to tilt the vendor onto +local_crit_chance - percent chance of a critical hit +forced_crit - specific critical hit case to use, if any
unbuild_inventoryGiven a record list, go through and return a list of products in format of type -> amount +Arguments: +recordlist - list of records to unbuild products from
unbuild_inventory_intoUnbuild product_records into categorized product lists to the machine's refill canister. +Does not handle contraband/premium products, only standard stock and any other categories used by the vendor(see: ClothesMate). +If a product has no category, puts it into standard stock category. +Arguments: +product_records - list of products of the vendor +products - list of products of the refill canister +product_categories - list of product categories of the refill canister
untiltRights the vendor up, unpinning mobs under it, if any. +Arguments: +user - mob that has untilted the vendor
update_canisterSet up a refill canister that matches this machine's products
vendThe entire shebang of vending the picked item. Processes the vending and initiates the payment for the item. +arguments: +greyscale_colors - greyscale config for the item we're about to vend, if any
vend_greyscaleVends a greyscale modified item. +arguments: +menu - greyscale config menu that has been used to vend the item
+

Var Details

active + + + + +

+

Is the machine active (No sales pitches if off)!

age_restrictions + + + + +

+

Whether our age check is currently functional

bill + + + + +

+

Bills we accept?

coin + + + + +

+

Coins that we accept?

coin_records + + + + +

+

List of premium product records

contraband + + + + +

+

List of products this machine sells when you hack it

+

form should be list(/type/path = amount, /type/path2 = amount2)

crit_chance + + + + +

+

The chance, in percent, of this vendor performing a critical hit on anything it crushes via [tilt].

default_price + + + + +

+

Default price of items if not overridden

displayed_currency_icon + + + + +

+

fontawesome icon name to use in to display the user's balance in the vendor UI

displayed_currency_name + + + + +

+

String of the used currency to display in the vendor UI

extended_inventory + + + + +

+

can we access the hidden inventory?

extra_price + + + + +

+

Default price of premium items if not overridden

forcecrit + + + + +

+

If set to a critical define in crushing.dm, anything this vendor crushes will always be hit with that effect.

hidden_records + + + + +

+

List of contraband product records

icon_deny + + + + +

+

Icon to flash when user is denied a vend

icon_vend + + + + +

+

Icon when vending an item to the user

last_reply + + + + +

+

Last world tick we sent a vent reply

last_shopper + + + + +

+

The ref of the last mob to shop with us

last_slogan + + + + +

+

Last world tick we sent a slogan message out

light_mask + + + + +

+

Name of lighting mask for the vending machine

loaded_items + + + + +

+

how many items have been inserted in a vendor

num_shards + + + + +

+

Number of glass shards the vendor creates and tries to embed into an atom it tilted onto

onstation + + + + +

+

Is this item on station or not

+

if it doesn't originate from off-station during mapload, everything is free +if it's off-station during mapload, it's also safe from the brand intelligence event

onstation_override + + + + +

+

A variable to change on a per instance basis on the map that allows the instance +to ignore whether it's on the station or not. +Useful to force cost and ID requirements. DO NOT APPLY THIS GLOBALLY.

panel_type + + + + +

+

Icon for the maintenance panel overlay

pinned_mobs + + + + +

+

List of mobs stuck under the vendor

premium + + + + +

+

List of premium products this machine sells

+

form should be list(/type/path = amount, /type/path2 = amount2)

product_ads + + + + +

+

String of small ad messages in the vending screen - random chance

product_categories + + + + +

+

List of products this machine sells, categorized. +Can only be used as an alternative to products, not alongside it.

+

Form should be list( +"name" = "Category Name", +"icon" = "UI Icon (Font Awesome or tgfont)", +"products" = list(/type/path = amount, ...), +)

product_records + + + + +

+

List of standard product records

product_slogans + + + + +

+

String of slogans separated by semicolons, optional

products + + + + +

+

List of products this machine sells

+

form should be list(/type/path = amount, /type/path2 = amount2)

purchase_message_cooldown + + + + +

+

Next world time to send a purchase message

scan_id + + + + +

+

Are we checking the users ID

sec_radio + + + + +

+

used for narcing on underages

seconds_electrified + + + + +

+

World ticks the machine is electified for

shoot_inventory + + + + +

+

When this is TRUE, we fire items at customers! We're broken!

shoot_inventory_chance + + + + +

+

How likely this is to happen (prob 100) per second

slogan_delay + + + + +

+

How many ticks until we can send another

slogan_list + + + + +

+

List of slogans to scream at potential customers; built upon Iniitialize() of the vendor from product_slogans

squish_damage + + + + +

+

Damage this vendor does when tilting onto an atom

tiltable + + + + +

+

Whether this vendor can be tilted over or not

tilted + + + + +

+

Whether the vendor is tilted or not

tilted_rotation + + + + +

+

If tilted, this variable should always be the rotation that was applied when we were tilted. Stored for the purposes of unapplying it.

vend_ready + + + + +

+

Are we ready to vend?? Is it time??

vend_reply + + + + +

+

Message sent post vend (Thank you for shopping!)

vending_machine_input + + + + +

+

Items that the players have loaded into the vendor

Proc Details

Destroy +

+

in average, it should be 37.5% of the max amount, rounded up to the nearest int, +tho the max boundary can be as low/high as 50%/100%

build_inventories +

+

Prices of vending machines are all increased uniformly. +*Builds all available inventories for the vendor - standard, contraband and premium

+
    +
  • Arguments:
  • +
  • start_empty - bool to pass into build_inventory that determines whether a product entry starts with available stock or not
  • +

build_inventory +

+

Build the inventory of the vending machine from it's product and record lists

+

This builds up a full set of /datum/data/vending_products from the product list of the vending machine type +Arguments:

+
    +
  • productlist - the list of products that need to be converted
  • +
  • recordlist - the list containing /datum/data/vending_product datums
  • +
  • categories - A list in the format of product_categories to source category from
  • +
  • startempty - should we set vending_product record amount from the product list (so it's prefilled at roundstart)
  • +

build_products_from_categories +

+

Populates list of products with categorized products

canLoadItem +

+

Are we able to load the item passed in

+

Arguments:

+
    +
  • loaded_item - the item being loaded
  • +
  • user - the user doing the loading
  • +

can_vend +

+

Whether this vendor can vend items or not. +arguments: +user - current customer

collect_records_for_static_data +

+

Returns a list of given product records of the vendor to be used in UI. +arguments: +records - list of records available +categories - list of categories available +premium - bool of whether a record should be priced by a custom/premium price or not

compartmentLoadAccessCheck +

+

Is the passed in user allowed to load this vending machines compartments? This only is ran if we are using a /obj/item/storage/bag to load the vending machine, and not a dedicated restocker.

+

Arguments:

+
    +
  • user - mob that is doing the loading of the vending machine
  • +

create_categories_from +

+

Returns a list of data about the category +Arguments: +name - string for the name of the category +icon - string for the fontawesome icon to use in the UI for the category +products - list of products available in the category

fetch_balance_to_use +

+

Returns the balance that the vendor will use for proceeding payment. Most vendors would want to use the user's +card's account credits balance. +arguments: +passed_id - the id card that will be billed for the product

freebie +

+

Dispenses free items from the standard stock. +Arguments: +freebies - number of free items to vend

loadingAttempt +

+

Tries to insert the item into the vendor, and depending on whether the product is a part of the vendor's +stock or not, increments an already present product entry's available amount or creates a new entry. +arguments: +inserted_item - the item we're trying to insert +user - mob who's trying to insert the item

pre_throw +

+

A callback called before an item is tossed out

+

Override this if you need to do any special case handling

+

Arguments:

+
    +
  • thrown_item - obj/item being thrown
  • +

proceed_payment +

+

Handles payment processing: discounts, logging, balance change etc. +arguments: +paying_id_card - the id card that will be billed for the product +product_to_vend - the product record of the item we're trying to vend +price_to_use - price of the item we're trying to vend

refill_inventory +

+

Refill our inventory from the passed in product list into the record list

+

Arguments:

+
    +
  • productlist - list of types -> amount
  • +
  • recordlist - existing record datums
  • +

reset_prices +

+

Reassign the prices of the vending machine as a result of the inflation value, as provided by SSeconomy

+

This rebuilds both /datum/data/vending_products lists for premium and standard products based on their most relevant pricing values. +Arguments:

+
    +
  • recordlist - the list of standard product datums in the vendor to refresh their prices.
  • +
  • premiumlist - the list of premium product datums in the vendor to refresh their prices.
  • +

restock +

+

Refill a vending machine from a refill canister

+

This takes the products from the refill canister and then fills the products, contraband and premium product categories

+

Arguments:

+
    +
  • canister - the vending canister we are refilling from
  • +

select_colors +

+

Brings up a color config menu for the picked greyscaled item

shock +

+

Shock the passed in user

+

This checks we have power and that the passed in prob is passed, then generates some sparks +and calls electrocute_mob on the user

+

Arguments:

+
    +
  • user - the user to shock
  • +
  • shock_chance - probability the shock happens
  • +

speak +

+

Speak the given message verbally

+

Checks if the machine is powered and the message exists

+

Arguments:

+
    +
  • message - the message to speak
  • +

throw_impact +

+

Crush the mob that the vending machine got thrown at

throw_item +

+

Throw an item from our internal inventory out in front of us

+

This is called when we are hacked, it selects a random product from the records that has an amount > 0 +This item is then created and tossed out in front of us with a visible message

tilt +

+

Tilts ontop of the atom supplied, if crit is true some extra shit can happen. See [fall_and_crush] for return values. +Arguments: +fatty - atom to tilt the vendor onto +local_crit_chance - percent chance of a critical hit +forced_crit - specific critical hit case to use, if any

unbuild_inventory +

+

Given a record list, go through and return a list of products in format of type -> amount +Arguments: +recordlist - list of records to unbuild products from

unbuild_inventory_into +

+

Unbuild product_records into categorized product lists to the machine's refill canister. +Does not handle contraband/premium products, only standard stock and any other categories used by the vendor(see: ClothesMate). +If a product has no category, puts it into standard stock category. +Arguments: +product_records - list of products of the vendor +products - list of products of the refill canister +product_categories - list of product categories of the refill canister

untilt +

+

Rights the vendor up, unpinning mobs under it, if any. +Arguments: +user - mob that has untilted the vendor

update_canister +

+

Set up a refill canister that matches this machine's products

+

This is used when the machine is deconstructed, so the items aren't "lost"

vend +

+

The entire shebang of vending the picked item. Processes the vending and initiates the payment for the item. +arguments: +greyscale_colors - greyscale config for the item we're about to vend, if any

vend_greyscale +

+

Vends a greyscale modified item. +arguments: +menu - greyscale config menu that has been used to vend the item

+ + + diff --git a/obj/machinery/vending/custom.html b/obj/machinery/vending/custom.html new file mode 100644 index 00000000000..7a73aa15758 --- /dev/null +++ b/obj/machinery/vending/custom.html @@ -0,0 +1,61 @@ + + + + + + + /obj/machinery/vending/custom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

custom + + + +

+ + + + + +

Vars

base64_cacheBase64 cache of custom icons.
linked_accountwhere the money is sent
max_loaded_itemsmax number of items that the custom vendor can hold

Procs

vend_actVends an item to the user. Handles all the logic: +Updating stock, account transactions, alerting users. +@return -- TRUE if a valid condition was met, FALSE otherwise.
+

Var Details

base64_cache + + + + +

+

Base64 cache of custom icons.

linked_account + + + + +

+

where the money is sent

max_loaded_items + + + + +

+

max number of items that the custom vendor can hold

Proc Details

vend_act +

+

Vends an item to the user. Handles all the logic: +Updating stock, account transactions, alerting users. +@return -- TRUE if a valid condition was met, FALSE otherwise.

+ + + diff --git a/obj/machinery/vending/runic_vendor.html b/obj/machinery/vending/runic_vendor.html new file mode 100644 index 00000000000..baa711136d3 --- /dev/null +++ b/obj/machinery/vending/runic_vendor.html @@ -0,0 +1,43 @@ + + + + + + + /obj/machinery/vending/runic_vendor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

runic_vendor + + + +

+ + + +

Vars

pulse_distanceArea around the vendor that will pushback nearby mobs.
time_to_decayHow long the vendor stays up before it decays.
+

Var Details

pulse_distance + + + + +

+

Area around the vendor that will pushback nearby mobs.

time_to_decay + + + + +

+

How long the vendor stays up before it decays.

+ + + diff --git a/obj/merge_conflict_marker.html b/obj/merge_conflict_marker.html new file mode 100644 index 00000000000..f41d587c12d --- /dev/null +++ b/obj/merge_conflict_marker.html @@ -0,0 +1,35 @@ + + + + + + + /obj/merge_conflict_marker - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

merge_conflict_marker + + + +

+ + +

Procs

InitializeWe REALLY do not want un-addressed merge conflicts in maps for an inexhaustible list of reasons. This should help ensure that this will not be missed in case linters fail to catch it for any reason what-so-ever.

Proc Details

Initialize +

+

We REALLY do not want un-addressed merge conflicts in maps for an inexhaustible list of reasons. This should help ensure that this will not be missed in case linters fail to catch it for any reason what-so-ever.

+ + + diff --git a/obj/modular_map_root.html b/obj/modular_map_root.html new file mode 100644 index 00000000000..3a92b9c7876 --- /dev/null +++ b/obj/modular_map_root.html @@ -0,0 +1,50 @@ + + + + + + + /obj/modular_map_root - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

modular_map_root + + + +

+ + + + +

Vars

config_filePoints to a .toml file storing configuration data about the modules associated with this root
keyKey used to look up the appropriate map paths in the associated .toml file

Procs

load_mapRandonly selects a map file from the TOML config specified in config_file, loads it, then deletes itself.
+

Var Details

config_file + + + + +

+

Points to a .toml file storing configuration data about the modules associated with this root

key + + + + +

+

Key used to look up the appropriate map paths in the associated .toml file

Proc Details

load_map +

+

Randonly selects a map file from the TOML config specified in config_file, loads it, then deletes itself.

+ + + diff --git a/obj/mystery_box_item.html b/obj/mystery_box_item.html new file mode 100644 index 00000000000..def003af68e --- /dev/null +++ b/obj/mystery_box_item.html @@ -0,0 +1,78 @@ + + + + + + + /obj/mystery_box_item - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mystery_box_item + + + +

+ +

This represents the item that comes out of the box and is constantly changing before the box finishes deciding. Can probably be just an /atom or /movable.

+ + + + + + +

Vars

claimableWhether this prize is currently claimable
parent_boxThe box that spawned this
selected_pathThe currently selected item. Constantly changes while choosing, determines what is spawned if the prize is claimed, and its current icon

Procs

expire_animationSink back into the box
loop_icon_changesKeep changing the icon and selected path
start_animationStart pushing the prize up
update_random_iconanimate() isn't up to the task for queueing up icon changes, so this is the proc we call with timers to update our icon
+

Var Details

claimable + + + + +

+

Whether this prize is currently claimable

parent_box + + + + +

+

The box that spawned this

selected_path + + + + +

+

The currently selected item. Constantly changes while choosing, determines what is spawned if the prize is claimed, and its current icon

Proc Details

expire_animation +

+

Sink back into the box

loop_icon_changes +

+

Keep changing the icon and selected path

start_animation +

+

Start pushing the prize up

update_random_icon +

+

animate() isn't up to the task for queueing up icon changes, so this is the proc we call with timers to update our icon

+ + + diff --git a/obj/narsie.html b/obj/narsie.html new file mode 100644 index 00000000000..8ca58f3b114 --- /dev/null +++ b/obj/narsie.html @@ -0,0 +1,82 @@ + + + + + + + /obj/narsie - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

narsie + + + +

+ +

Nar'Sie, the God of the blood cultists

+ + + + + + +

Vars

singularityThe singularity component to move around Nar'Sie. +A weak ref in case an admin removes the component to preserve the functionality.

Procs

acquireNar'Sie gets a taste of something, and will start to gravitate towards it
consumeCalled to make Nar'Sie convert objects to cult stuff, or to eat
fall_of_the_harbingerCleans up all of Nar'Sie's abilities, stats, and ends her round-ending capabilities. This should only be called if start_ending_the_round() successfully started.
mesmerizeStun people around Nar'Sie that aren't cultists
pickcultistNarsie rewards her cultists with being devoured first, then picks a ghost to follow.
start_ending_the_roundThis proc sets up all of Nar'Sie's abilities, stats, and begins her round-ending capabilities. She does not do anything unless this proc is invoked. +This is only meant to be invoked after this instance is initialized in specific pro-sumer procs, as it WILL derail the entire round.
+

Var Details

singularity + + + + +

+

The singularity component to move around Nar'Sie. +A weak ref in case an admin removes the component to preserve the functionality.

Proc Details

acquire +

+

Nar'Sie gets a taste of something, and will start to gravitate towards it

consume +

+

Called to make Nar'Sie convert objects to cult stuff, or to eat

fall_of_the_harbinger +

+

Cleans up all of Nar'Sie's abilities, stats, and ends her round-ending capabilities. This should only be called if start_ending_the_round() successfully started.

mesmerize +

+

Stun people around Nar'Sie that aren't cultists

pickcultist +

+

Narsie rewards her cultists with being devoured first, then picks a ghost to follow.

start_ending_the_round +

+

This proc sets up all of Nar'Sie's abilities, stats, and begins her round-ending capabilities. She does not do anything unless this proc is invoked. +This is only meant to be invoked after this instance is initialized in specific pro-sumer procs, as it WILL derail the entire round.

+ + + diff --git a/obj/projectile.html b/obj/projectile.html new file mode 100644 index 00000000000..2830e0f530b --- /dev/null +++ b/obj/projectile.html @@ -0,0 +1,581 @@ + + + + + + + /obj/projectile - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

projectile + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

armor_flagDefines what armor to use when it hits things. Must be set to bullet, laser, energy, or bomb
armour_penetrationHow much armor this projectile pierces.
can_hit_turfsIf true directly targeted turfs can be hit
damage_falloff_tileHow much we want to drop damage per tile as it travels through the air
drowsyDrowsiness applied on projectile hit
embed_falloff_tileHow much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes
embeddingIf we have a shrapnel_type defined, these embedding stats will be passed to the spawned shrapnel type, which will roll for embedding on the target
eyeblurSeconds of blurry eyes applied on projectile hit
force_hitIf the object being hit can pass ths damage on to something else, it should not do it for this bullet
hit_prone_targetsIf TRUE, hit mobs even if they're on the floor and not our target
hit_threshholdIf objects are below this layer, we pass through them
ignore_source_checkIf TRUE, we can hit our firer.
ignored_factionsWe ignore mobs with these factions.
impactedWe already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.
jitterJittering applied on projectile hit
last_angle_set_hitscan_storeLast turf an angle was changed in for hitscan projectiles.
min_ricochetshow many times we have to ricochet min (unless we hit an atom we can ricochet off)
parriedIf this projectile has been parried before
pass_flags
phasing_ignore_direct_targetIf FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it
piercesnumber of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!
pixel_speed_multiplierThis var is multiplied by SSprojectiles.global_pixel_speed to get how many pixels +the projectile moves during each iteration of the movement loop
projectile_phasingBitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.
projectile_piercingBitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.
ricochet_auto_aim_angleOn ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim
ricochet_auto_aim_rangeOn ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle
ricochet_chance0-100 (or more, I guess), the base chance of ricocheting, before being modified by the atom we shoot and our chance decay
ricochet_decay_chance0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet
ricochet_decay_damage0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet
ricochet_incidence_leewaythe angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle
ricochet_shoots_firerCan our ricochet autoaim hit our firer?
ricochetshow many times we've ricochet'd so far (instance variable, not a stat)
ricochets_maxhow many times we can ricochet max
sharpnessFor what kind of brute wounds we're rolling for, if we're doing such a thing. Lasers obviously don't care since they do burn instead.
shrapnel_typeIf defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets
slurSlurring applied on projectile hit
speedDuring each fire of SSprojectiles, the number of deciseconds since the last fire of SSprojectiles +is divided by this var, and the result truncated to the next lowest integer is +the number of times the projectile's pixel_move proc will be called.
staminaExtra stamina damage applied on projectile hit (in addition to the main damage)
stamina_falloff_tileHow much we want to drop stamina damage (defined by the stamina variable) per tile as it travels through the air
stutterStuttering applied on projectile hit
temporary_unstoppable_movementWe are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.
weak_against_armourWhether or not our bullet lacks penetrative power, and is easily stopped by armor.
wound_falloff_tileHow much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes

Procs

CanPassThroughProjectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.
ImpactCalled when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.
MovedProjectile moved:
attempt_parrySignal proc for when a mob attempts to attack this projectile or the turf it's on with an empty hand.
can_embed_intoChecks if the projectile can embed into someone
is_hostile_projectileIs this projectile considered "hostile"?
on_enteredProjectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.
on_hitCalled when the projectile hits something
on_parryCalled when a mob with PARRY_TRAIT clicks on this projectile or the tile its on, reflecting the projectile within 7 degrees and increasing the bullet's stats.
prehit_pierceChecks if we should pierce something.
preparePixelProjectileAims the projectile at a target.
process_hitThe primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.
reflectReflects the projectile off of something
scan_crossed_hitScan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.
scan_moved_turfScans if we should hit something on the turf we just moved to if we haven't already
select_targetSelects a target to hit from a turf
set_angle_centeredSame as set_angle, but the reflection continues from the center of the object that reflects it instead of the side
updateEmbeddingLike /obj/item/proc/updateEmbedding but for projectiles instead, call this when you want to add embedding or update the stats on the embedding element
+

Var Details

armor_flag + + + + +

+

Defines what armor to use when it hits things. Must be set to bullet, laser, energy, or bomb

armour_penetration + + + + +

+

How much armor this projectile pierces.

can_hit_turfs + + + + +

+

If true directly targeted turfs can be hit

damage_falloff_tile + + + + +

+

How much we want to drop damage per tile as it travels through the air

drowsy + + + + +

+

Drowsiness applied on projectile hit

embed_falloff_tile + + + + +

+

How much we want to drop the embed_chance value, if we can embed, per tile, for falloff purposes

embedding + + + + +

+

If we have a shrapnel_type defined, these embedding stats will be passed to the spawned shrapnel type, which will roll for embedding on the target

eyeblur + + + + +

+

Seconds of blurry eyes applied on projectile hit

force_hit + + + + +

+

If the object being hit can pass ths damage on to something else, it should not do it for this bullet

hit_prone_targets + + + + +

+

If TRUE, hit mobs even if they're on the floor and not our target

hit_threshhold + + + + +

+

If objects are below this layer, we pass through them

ignore_source_check + + + + +

+

If TRUE, we can hit our firer.

ignored_factions + + + + +

+

We ignore mobs with these factions.

impacted + + + + +

+

We already impacted these things, do not impact them again. Used to make sure we can pierce things we want to pierce. Lazylist, typecache style (object = TRUE) for performance.

jitter + + + + +

+

Jittering applied on projectile hit

last_angle_set_hitscan_store + + + + +

+

Last turf an angle was changed in for hitscan projectiles.

min_ricochets + + + + +

+

how many times we have to ricochet min (unless we hit an atom we can ricochet off)

parried + + + + +

+

If this projectile has been parried before

pass_flags + + + + +

+
    +
  • +

    PROJECTILE PIERCING +* WARNING: +* Projectile piercing MUST be done using these variables. +* Ordinary passflags will result in can_hit_target being false unless directly clicked on - similar to projectile_phasing but without even going to process_hit. +* The two flag variables below both use pass flags. +* In the context of LETPASStHROW, it means the projectile will ignore things that are currently "in the air" from a throw.

    +
    * Also, projectiles sense hits using Bump(), and then pierce them if necessary.
    +* They simply do not follow conventional movement rules.
    +* NEVER flag a projectile as PHASING movement type.
    +* If you so badly need to make one go through *everything*, override check_pierce() for your projectile to always return PROJECTILE_PIERCE_PHASE/HIT.
    +
    +
  • +
+

The "usual" flags of pass_flags is used in that can_hit_target ignores these unless they're specifically targeted/clicked on. This behavior entirely bypasses process_hit if triggered, rather than phasing which uses prehit_pierce() to check.

phasing_ignore_direct_target + + + + +

+

If FALSE, allow us to hit something directly targeted/clicked/whatnot even if we're able to phase through it

pierces + + + + +

+

number of times we've pierced something. Incremented BEFORE bullet_act and on_hit proc!

pixel_speed_multiplier + + + + +

+

This var is multiplied by SSprojectiles.global_pixel_speed to get how many pixels +the projectile moves during each iteration of the movement loop

+

If you want to make a fast-moving projectile, you should keep this equal to 1 and +reduce the value of speed. If you want to make a slow-moving projectile, make +speed a modest value like 1 and set this to a low value like 0.2.

projectile_phasing + + + + +

+

Bitflag for things the projectile should just phase through entirely - No hitting unless direct target and [phasing_ignore_direct_target] is FALSE. Uses pass_flags flags.

projectile_piercing + + + + +

+

Bitflag for things the projectile should hit, but pierce through without deleting itself. Defers to projectile_phasing. Uses pass_flags flags.

ricochet_auto_aim_angle + + + + +

+

On ricochet, if ricochet_auto_aim_range is nonzero, we'll consider any mobs within this range of the normal angle of incidence to home in on, higher = more auto aim

ricochet_auto_aim_range + + + + +

+

On ricochet, if nonzero, we consider all mobs within this range of our projectile at the time of ricochet to home in on like Revolver Ocelot, as governed by ricochet_auto_aim_angle

ricochet_chance + + + + +

+

0-100 (or more, I guess), the base chance of ricocheting, before being modified by the atom we shoot and our chance decay

ricochet_decay_chance + + + + +

+

0-1 (or more, I guess) multiplier, the ricochet_chance is modified by multiplying this after each ricochet

ricochet_decay_damage + + + + +

+

0-1 (or more, I guess) multiplier, the projectile's damage is modified by multiplying this after each ricochet

ricochet_incidence_leeway + + + + +

+

the angle of impact must be within this many degrees of the struck surface, set to 0 to allow any angle

ricochet_shoots_firer + + + + +

+

Can our ricochet autoaim hit our firer?

ricochets + + + + +

+

how many times we've ricochet'd so far (instance variable, not a stat)

ricochets_max + + + + +

+

how many times we can ricochet max

sharpness + + + + +

+

For what kind of brute wounds we're rolling for, if we're doing such a thing. Lasers obviously don't care since they do burn instead.

shrapnel_type + + + + +

+

If defined, on hit we create an item of this type then call hitby() on the hit target with this, mainly used for embedding items (bullets) in targets

slur + + + + +

+

Slurring applied on projectile hit

speed + + + + +

+

During each fire of SSprojectiles, the number of deciseconds since the last fire of SSprojectiles +is divided by this var, and the result truncated to the next lowest integer is +the number of times the projectile's pixel_move proc will be called.

stamina + + + + +

+

Extra stamina damage applied on projectile hit (in addition to the main damage)

stamina_falloff_tile + + + + +

+

How much we want to drop stamina damage (defined by the stamina variable) per tile as it travels through the air

stutter + + + + +

+

Stuttering applied on projectile hit

temporary_unstoppable_movement + + + + +

+

We are flagged PHASING temporarily to not stop moving when we Bump something but want to keep going anyways.

weak_against_armour + + + + +

+

Whether or not our bullet lacks penetrative power, and is easily stopped by armor.

wound_falloff_tile + + + + +

+

How much we want to drop both wound_bonus and bare_wound_bonus (to a minimum of 0 for the latter) per tile, for falloff purposes

Proc Details

CanPassThrough +

+

Projectile can pass through +Used to not even attempt to Bump() or fail to Cross() anything we already hit.

Impact +

+

Called when the projectile hits something +This can either be from it bumping something, +or it passing over a turf/being crossed and scanning that there is infact +a valid target it needs to hit. +This target isn't however necessarily WHAT it hits +that is determined by process_hit and select_target.

+

Furthermore, this proc shouldn't check can_hit_target - this should only be called if can hit target is already checked. +Also, we select_target to find what to process_hit first.

Moved +

+

Projectile moved:

+

If not fired yet, do not do anything. Else,

+

If temporary unstoppable movement used for piercing through things we already hit (impacted list) is set, unset it. +Scan turf we're now in for anything we can/should hit. This is useful for hitting non dense objects the user +directly clicks on, as well as for PHASING projectiles to be able to hit things at all as they don't ever Bump().

attempt_parry +

+

Signal proc for when a mob attempts to attack this projectile or the turf it's on with an empty hand.

can_embed_into +

+

Checks if the projectile can embed into someone

is_hostile_projectile +

+

Is this projectile considered "hostile"?

+

By default all projectiles which deal damage or impart crowd control effects (including stamina) are hostile

+

This is NOT used for pacifist checks, that's handled by /obj/item/ammo_casing/var/harmful +This is used in places such as AI responses to determine if they're being threatened or not (among other places)

on_entered +

+

Projectile crossed: When something enters a projectile's tile, make sure the projectile hits it if it should be hitting it.

on_hit +

+

Called when the projectile hits something

+

By default parent call will always return [BULLET_ACT_HIT] (unless qdeleted) +so it is save to assume a successful hit in children (though not necessarily successfully damaged - it could've been blocked)

+

Arguments

+
    +
  • target - thing hit
  • +
  • blocked - percentage of hit blocked (0 to 100)
  • +
  • pierce_hit - boolean, are we piercing through or regular hitting
  • +
+

Returns

+
    +
  • Returns [BULLET_ACT_HIT] if we hit something. Default return value.
  • +
  • Returns [BULLET_ACT_BLOCK] if we were hit but sustained no effects (blocked it). Note, Being "blocked" =/= "blocked is 100".
  • +
  • Returns [BULLET_ACT_FORCE_PIERCE] to have the projectile keep going instead of "hitting", as if we were not hit at all.
  • +

on_parry +

+

Called when a mob with PARRY_TRAIT clicks on this projectile or the tile its on, reflecting the projectile within 7 degrees and increasing the bullet's stats.

prehit_pierce +

+

Checks if we should pierce something.

+

NOT meant to be a pure proc, since this replaces prehit() which was used to do things. +Return PROJECTILE_DELETE_WITHOUT_HITTING to delete projectile without hitting at all!

preparePixelProjectile +

+

Aims the projectile at a target.

+

Must be passed at least one of a target or a list of click parameters. +If only passed the click modifiers the source atom must be a mob with a client.

+

Arguments:

+
    +
  • target: (Optional) The thing that the projectile will be aimed at.
  • +
  • source: The initial location of the projectile or the thing firing it.
  • +
  • modifiers: (Optional) A list of click parameters to apply to this operation.
  • +
  • deviation: (Optional) How the trajectory should deviate from the target in degrees. +
      +
    • //Spread is FORCED!
    • +
    +
  • +

process_hit +

+

The primary workhorse proc of projectile impacts. +This is a RECURSIVE call - process_hit is called on the first selected target, and then repeatedly called if the projectile still hasn't been deleted.

+

Order of operations:

+
    +
  1. Checks if we are deleted, or if we're somehow trying to hit a null, in which case, bail out
  2. +
  3. Adds the thing we're hitting to impacted so we can make sure we don't doublehit
  4. +
  5. Checks piercing - stores this. +Afterwards: +Hit and delete, hit without deleting and pass through, pass through without hitting, or delete without hitting depending on result +If we're going through without hitting, find something else to hit if possible and recurse, set unstoppable movement to true +If we're deleting without hitting, delete and return +Otherwise, send signal of COMSIG_PROJECTILE_PREHIT to target +Then, hit, deleting ourselves if necessary. +@params +T - Turf we're on/supposedly hitting +target - target we're hitting +bumped - target we originally bumped. it's here to ensure that if something blocks our projectile by means of Cross() failure, we hit it +even if it is not dense. +hit_something - only should be set by recursive calling by this proc - tracks if we hit something already
  6. +
+

Returns if we hit something.

reflect +

+

Reflects the projectile off of something

scan_crossed_hit +

+

Scan if we should hit something and hit it if we need to +The difference between this and handling in Impact is +In this we strictly check if we need to Impact() something in specific +If we do, we do +We don't even check if it got hit already - Impact() does that +In impact there's more code for selecting WHAT to hit +So this proc is more of checking if we should hit something at all BY having an atom cross us.

scan_moved_turf +

+

Scans if we should hit something on the turf we just moved to if we haven't already

+

This proc is a little high in overhead but allows us to not snowflake CanPass in living and other things.

select_target +

+

Selects a target to hit from a turf

+

@params +T - The turf +target - The "preferred" atom to hit, usually what we Bumped() first. +bumped - used to track if something is the reason we impacted in the first place. +If set, this atom is always treated as dense by can_hit_target.

+

Priority: +0. Anything that is already in impacted is ignored no matter what. Furthermore, in any bracket, if the target atom parameter is in it, that's hit first. +Furthermore, can_hit_target is always checked. This (entire proc) is PERFORMANCE OVERHEAD!! But, it shouldn't be ""too"" bad and I frankly don't have a better generic non snowflakey way that I can think of right now at 3 AM. +FURTHERMORE, mobs/objs have a density check from can_hit_target - to hit non dense objects over a turf, you must click on them, same for mobs that usually wouldn't get hit.

+
    +
  1. Special check on what we bumped to see if it's a border object that intercepts hitting anything behind it
  2. +
  3. The thing originally aimed at/clicked on
  4. +
  5. Mobs - picks lowest buckled mob to prevent scarp piggybacking memes
  6. +
  7. Objs
  8. +
  9. Turf
  10. +
  11. Nothing
  12. +

set_angle_centered +

+

Same as set_angle, but the reflection continues from the center of the object that reflects it instead of the side

updateEmbedding +

+

Like /obj/item/proc/updateEmbedding but for projectiles instead, call this when you want to add embedding or update the stats on the embedding element

+ + + diff --git a/obj/projectile/beam/ctf.html b/obj/projectile/beam/ctf.html new file mode 100644 index 00000000000..8981764615f --- /dev/null +++ b/obj/projectile/beam/ctf.html @@ -0,0 +1,35 @@ + + + + + + + /obj/projectile/beam/ctf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ctf + + + +

+ + +

Procs

on_hithey uhhh don't hit anyone behind them

Proc Details

on_hit +

+

hey uhhh don't hit anyone behind them

+ + + diff --git a/obj/projectile/blastwave.html b/obj/projectile/blastwave.html new file mode 100644 index 00000000000..05a772c4f12 --- /dev/null +++ b/obj/projectile/blastwave.html @@ -0,0 +1,57 @@ + + + + + + + /obj/projectile/blastwave - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blastwave + + + +

+ +

The projectile used by the blastcannon

+ + + +

Vars

heavy_ex_rangeThe maximum distance this will inflict EXPLODE_DEVASTATE
light_ex_rangeThe maximum distance this will inflict EXPLODE_LIGHT
medium_ex_rangeThe maximum distance this will inflict EXPLODE_HEAVY
reactionaryWhether or not to care about the explosion block of the things we are passing through.
+

Var Details

heavy_ex_range + + + + +

+

The maximum distance this will inflict EXPLODE_DEVASTATE

light_ex_range + + + + +

+

The maximum distance this will inflict EXPLODE_LIGHT

medium_ex_range + + + + +

+

The maximum distance this will inflict EXPLODE_HEAVY

reactionary + + + + +

+

Whether or not to care about the explosion block of the things we are passing through.

+ + + diff --git a/obj/projectile/bullet/cannonball.html b/obj/projectile/bullet/cannonball.html new file mode 100644 index 00000000000..bbe5c596e28 --- /dev/null +++ b/obj/projectile/bullet/cannonball.html @@ -0,0 +1,64 @@ + + + + + + + /obj/projectile/bullet/cannonball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cannonball + + + +

+ + + + + + +

Vars

damage_decrease_on_hitIf our cannonball hits something, it reduces the damage by this value.
object_damageThis is the damage value we do to objects on hit. Usually, more than the actual projectile damage
object_damage_decrease_on_hitHow much our object damage decreases on hit, similar to normal damage.
object_damage_decreasesWhether or not our cannonball loses object damage upon hitting an object.
stop_piercing_thresholdThis is the cutoff point of our cannonball, so that it stops piercing past this value.
+

Var Details

damage_decrease_on_hit + + + + +

+

If our cannonball hits something, it reduces the damage by this value.

object_damage + + + + +

+

This is the damage value we do to objects on hit. Usually, more than the actual projectile damage

object_damage_decrease_on_hit + + + + +

+

How much our object damage decreases on hit, similar to normal damage.

object_damage_decreases + + + + +

+

Whether or not our cannonball loses object damage upon hitting an object.

stop_piercing_threshold + + + + +

+

This is the cutoff point of our cannonball, so that it stops piercing past this value.

+ + + diff --git a/obj/projectile/bullet/coin.html b/obj/projectile/bullet/coin.html new file mode 100644 index 00000000000..e527d14f095 --- /dev/null +++ b/obj/projectile/bullet/coin.html @@ -0,0 +1,106 @@ + + + + + + + /obj/projectile/bullet/coin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

coin + + + +

+ +

Marksman Coin

+ + + + + + + + + + +

Vars

crosshair_indicatorThe crosshair icon put on the targeted turf for the user- so we can remove it from their images when done
num_of_splitshotsWhen this coin is targeted with a valid splitshot, it creates this many child splitshots
original_firerThe mob who originally flipped this coin, as a matter of convenience, may be able tto be removed
target_turfSave the turf we're aiming for for future use
usedWhen a coin has been activated, is is marked as used, so that it is taken out of consideration for any further ricochets
validCoins are valid while within a tile of their target tile, and can only be directly ricoshot during this time.

Procs

check_splitshotWe've been shot by a marksman revolver shot, or the ricochet off another coin, check if we can actually ricochet. The forced var being TRUE means it's a ricochet from another coin
find_next_targetFind what the splitshots will want to target next, with the order roughly based off the UK coin
fire_splitshotShoot an individual splitshot at a new target
iterate_splitshotsNow we actually create all the splitshots, loop through however many splits we'll create and fire them
remove_crosshair_indicatorRemove the crosshair indicator from the original firer if it exists
+

Var Details

crosshair_indicator + + + + +

+

The crosshair icon put on the targeted turf for the user- so we can remove it from their images when done

num_of_splitshots + + + + +

+

When this coin is targeted with a valid splitshot, it creates this many child splitshots

original_firer + + + + +

+

The mob who originally flipped this coin, as a matter of convenience, may be able tto be removed

target_turf + + + + +

+

Save the turf we're aiming for for future use

used + + + + +

+

When a coin has been activated, is is marked as used, so that it is taken out of consideration for any further ricochets

valid + + + + +

+

Coins are valid while within a tile of their target tile, and can only be directly ricoshot during this time.

Proc Details

check_splitshot +

+

We've been shot by a marksman revolver shot, or the ricochet off another coin, check if we can actually ricochet. The forced var being TRUE means it's a ricochet from another coin

find_next_target +

+

Find what the splitshots will want to target next, with the order roughly based off the UK coin

fire_splitshot +

+

Shoot an individual splitshot at a new target

iterate_splitshots +

+

Now we actually create all the splitshots, loop through however many splits we'll create and fire them

remove_crosshair_indicator +

+

Remove the crosshair indicator from the original firer if it exists

+ + + diff --git a/obj/projectile/bullet/incendiary.html b/obj/projectile/bullet/incendiary.html new file mode 100644 index 00000000000..0231eb9c9cd --- /dev/null +++ b/obj/projectile/bullet/incendiary.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/bullet/incendiary - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

incendiary + + + +

+ + + +

Vars

fire_stacksHow many firestacks to apply to the target
leaves_fire_trailIf TRUE, leaves a trail of hotspots as it flies, very very chaotic
+

Var Details

fire_stacks + + + + +

+

How many firestacks to apply to the target

leaves_fire_trail + + + + +

+

If TRUE, leaves a trail of hotspots as it flies, very very chaotic

+ + + diff --git a/obj/projectile/bullet/incendiary/fire/backblast.html b/obj/projectile/bullet/incendiary/fire/backblast.html new file mode 100644 index 00000000000..2cca544cf4d --- /dev/null +++ b/obj/projectile/bullet/incendiary/fire/backblast.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/bullet/incendiary/fire/backblast - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

backblast + + + +

+ +

Used in the backblast element

+ +

Vars

knockback_rangeLazy attempt at knockback, any items this plume hits will be knocked back this far. Decrements with each tile passed.
launched_itemsA lazylist of all the items we've already knocked back, so we don't do it again
+

Var Details

knockback_range + + + + +

+

Lazy attempt at knockback, any items this plume hits will be knocked back this far. Decrements with each tile passed.

launched_items + + + + +

+

A lazylist of all the items we've already knocked back, so we don't do it again

+ + + diff --git a/obj/projectile/bullet/marksman.html b/obj/projectile/bullet/marksman.html new file mode 100644 index 00000000000..77e6e75aaec --- /dev/null +++ b/obj/projectile/bullet/marksman.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/bullet/marksman - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

marksman + + + +

+ +

Marksman Shot

+

Vars

ricoshot_levelHow many ricochets deep this is, for tracer size
+

Var Details

ricoshot_level + + + + +

+

How many ricochets deep this is, for tracer size

+ + + diff --git a/obj/projectile/bullet/p50.html b/obj/projectile/bullet/p50.html new file mode 100644 index 00000000000..238230db8f5 --- /dev/null +++ b/obj/projectile/bullet/p50.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/bullet/p50 - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

p50 + + + +

+ + + +

Vars

mecha_damageDetermines how much additional damage the round does to mechs.
object_damageDetermines object damage.
+

Var Details

mecha_damage + + + + +

+

Determines how much additional damage the round does to mechs.

object_damage + + + + +

+

Determines object damage.

+ + + diff --git a/obj/projectile/bullet/pellet/shotgun_rubbershot.html b/obj/projectile/bullet/pellet/shotgun_rubbershot.html new file mode 100644 index 00000000000..a8655268dd2 --- /dev/null +++ b/obj/projectile/bullet/pellet/shotgun_rubbershot.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/bullet/pellet/shotgun_rubbershot - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

shotgun_rubbershot + + + +

+ + +

Vars

tile_dropoff_ricochetSubtracted from the ricochet chance for each tile traveled
+

Var Details

tile_dropoff_ricochet + + + + +

+

Subtracted from the ricochet chance for each tile traveled

+ + + diff --git a/obj/projectile/bullet/rocket.html b/obj/projectile/bullet/rocket.html new file mode 100644 index 00000000000..c7454d90b35 --- /dev/null +++ b/obj/projectile/bullet/rocket.html @@ -0,0 +1,53 @@ + + + + + + + /obj/projectile/bullet/rocket - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rocket + + + +

+ +

PM9 standard HE rocket

+ + +

Vars

anti_armour_damageWhether we do extra damage when hitting a mech or silicon
random_crits_enabledWhether the rocket is capable of instantly killing a living target

Procs

do_boom
+

Var Details

anti_armour_damage + + + + +

+

Whether we do extra damage when hitting a mech or silicon

random_crits_enabled + + + + +

+

Whether the rocket is capable of instantly killing a living target

Proc Details

do_boom +

+
    +
  • This proc allows us to customize the conditions necesary for the rocket to detonate, allowing for different explosions for living targets, turf targets, +among other potential differences. This granularity is helpful for things like the special rockets mechs use.
  • +
+ + + diff --git a/obj/projectile/bullet/rocket/pep.html b/obj/projectile/bullet/rocket/pep.html new file mode 100644 index 00000000000..0ac3bd8ca9c --- /dev/null +++ b/obj/projectile/bullet/rocket/pep.html @@ -0,0 +1,33 @@ + + + + + + + /obj/projectile/bullet/rocket/pep - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

pep + + + +

+ +

PEP-6 Missile - Used by the PEP-6 Exosuit missile rack. +Employed by Roboticists out of spite to put down enemy hereteks, mechanized nuclear operatives, the janitor's hot rod, +the clown's 'taxi service', uppity borgs, vengeful ais, doors they don't like, the escape shuttle's hull, and more!

+

Explodes only when it hits specifically one of the following types: +(/obj/structure), (/obj/machinery), (/obj/vehicle), (/turf/closed), (/mob/living/silicon)

+

Does NOT explode if it hits any random mob, or any random object. Only if it is a subtype of one of the above valid atoms.

+ + + diff --git a/obj/projectile/bullet/rocket/srm.html b/obj/projectile/bullet/rocket/srm.html new file mode 100644 index 00000000000..4cfe519c760 --- /dev/null +++ b/obj/projectile/bullet/rocket/srm.html @@ -0,0 +1,30 @@ + + + + + + + /obj/projectile/bullet/rocket/srm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

srm + + + +

+ +

SRM-8 Missile - Used by the SRM-8 Exosuit missile rack. +Employed by Nuclear Operatives Maulers and Nanotrasen Marauders and Seraphs to kill everything and anyone.

+

Explodes when it hits literally anything.

+ + + diff --git a/obj/projectile/colossus/wendigo_shockwave.html b/obj/projectile/colossus/wendigo_shockwave.html new file mode 100644 index 00000000000..debde34799d --- /dev/null +++ b/obj/projectile/colossus/wendigo_shockwave.html @@ -0,0 +1,50 @@ + + + + + + + /obj/projectile/colossus/wendigo_shockwave - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wendigo_shockwave + + + +

+ + + + +

Vars

pixel_movesAmount of movements this projectile has made
wave_movementIf wave movement is enabled
wave_speedAmount the angle changes every pixel move
+

Var Details

pixel_moves + + + + +

+

Amount of movements this projectile has made

wave_movement + + + + +

+

If wave movement is enabled

wave_speed + + + + +

+

Amount the angle changes every pixel move

+ + + diff --git a/obj/projectile/curse_hand.html b/obj/projectile/curse_hand.html new file mode 100644 index 00000000000..7f99bcdf53f --- /dev/null +++ b/obj/projectile/curse_hand.html @@ -0,0 +1,35 @@ + + + + + + + /obj/projectile/curse_hand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

curse_hand + + + +

+ + +

Procs

finaleThe visual effect for the hand disappearing

Proc Details

finale +

+

The visual effect for the hand disappearing

+ + + diff --git a/obj/projectile/energy/chrono_beam.html b/obj/projectile/energy/chrono_beam.html new file mode 100644 index 00000000000..104b0dec242 --- /dev/null +++ b/obj/projectile/energy/chrono_beam.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/energy/chrono_beam - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chrono_beam + + + +

+ + +

Vars

tem_weakrefReference to the tem... given by the tem! weakref because back in the day we didn't know about harddels- or maybe we didn't care.
+

Var Details

tem_weakref + + + + +

+

Reference to the tem... given by the tem! weakref because back in the day we didn't know about harddels- or maybe we didn't care.

+ + + diff --git a/obj/projectile/energy/flora.html b/obj/projectile/energy/flora.html new file mode 100644 index 00000000000..3ab0577c503 --- /dev/null +++ b/obj/projectile/energy/flora.html @@ -0,0 +1,35 @@ + + + + + + + /obj/projectile/energy/flora - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

flora + + + +

+ + +

Procs

on_hit_plant_effectCalled when we hit a mob with plant biotype

Proc Details

on_hit_plant_effect +

+

Called when we hit a mob with plant biotype

+ + + diff --git a/obj/projectile/energy/radiation.html b/obj/projectile/energy/radiation.html new file mode 100644 index 00000000000..cfd04b491da --- /dev/null +++ b/obj/projectile/energy/radiation.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/energy/radiation - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

radiation + + + +

+ + +

Vars

radiation_chanceThe chance to be irradiated on hit
+

Var Details

radiation_chance + + + + +

+

The chance to be irradiated on hit

+ + + diff --git a/obj/projectile/energy_net.html b/obj/projectile/energy_net.html new file mode 100644 index 00000000000..399e221ebed --- /dev/null +++ b/obj/projectile/energy_net.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/energy_net - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energy_net + + + +

+ + + +

Vars

lineReference to the beam following the projectile.
net_moduleReference to the energy net module.
+

Var Details

line + + + + +

+

Reference to the beam following the projectile.

net_module + + + + +

+

Reference to the energy net module.

+ + + diff --git a/obj/projectile/hallucination.html b/obj/projectile/hallucination.html new file mode 100644 index 00000000000..23b72c41da9 --- /dev/null +++ b/obj/projectile/hallucination.html @@ -0,0 +1,78 @@ + + + + + + + /obj/projectile/hallucination - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hallucination + + + +

+ +

Hallucinated projectiles.

+ + + + + + +

Vars

fake_bulletThe image that represents our projectile itself
parentOur parent hallucination that's created us

Procs

apply_effect_to_hallucinatorCalled when the hallucinator themselves are hit by the fake projectile
on_mob_hitCalled when a mob is hit by the fake projectile
parent_deletingSignal proc for COMSIG_QDELETING, if our associated hallucination deletes, we need to clean up
spawn_bloodCalled after a mob is hit by the fake projectile, and our fake projectile is of brute type, to create fake blood
spawn_hitCalled with a non-mob atom was hit by our fake projectile, or a mob was hit and our damge type is not brute
+

Var Details

fake_bullet + + + + +

+

The image that represents our projectile itself

parent + + + + +

+

Our parent hallucination that's created us

Proc Details

apply_effect_to_hallucinator +

+

Called when the hallucinator themselves are hit by the fake projectile

on_mob_hit +

+

Called when a mob is hit by the fake projectile

parent_deleting +

+

Signal proc for COMSIG_QDELETING, if our associated hallucination deletes, we need to clean up

spawn_blood +

+

Called after a mob is hit by the fake projectile, and our fake projectile is of brute type, to create fake blood

spawn_hit +

+

Called with a non-mob atom was hit by our fake projectile, or a mob was hit and our damge type is not brute

+ + + diff --git a/obj/projectile/hook.html b/obj/projectile/hook.html new file mode 100644 index 00000000000..0cef55b5ca9 --- /dev/null +++ b/obj/projectile/hook.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/hook - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

hook + + + +

+ + +

Vars

initial_chainThe chain we send out while we are in motion, referred to as "initial" to not get confused with the chain we use to reel the victim in.
+

Var Details

initial_chain + + + + +

+

The chain we send out while we are in motion, referred to as "initial" to not get confused with the chain we use to reel the victim in.

+ + + diff --git a/obj/projectile/kiss.html b/obj/projectile/kiss.html new file mode 100644 index 00000000000..5383c8c2656 --- /dev/null +++ b/obj/projectile/kiss.html @@ -0,0 +1,39 @@ + + + + + + + /obj/projectile/kiss - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

kiss + + + +

+ + +

Procs

harmless_on_hitTo get around shielded modsuits & such being set off by kisses when they shouldn't, we take a page from hallucination projectiles +and simply fake our on hit effects. This lets kisses remain incorporeal without having to make some new trait for this one niche situation. +This fake hit only happens if we can deal damage and if we hit a living thing. Otherwise, we just do normal on hit effects.

Proc Details

harmless_on_hit +

+

To get around shielded modsuits & such being set off by kisses when they shouldn't, we take a page from hallucination projectiles +and simply fake our on hit effects. This lets kisses remain incorporeal without having to make some new trait for this one niche situation. +This fake hit only happens if we can deal damage and if we hit a living thing. Otherwise, we just do normal on hit effects.

+ + + diff --git a/obj/projectile/magic.html b/obj/projectile/magic.html new file mode 100644 index 00000000000..f730f70ea91 --- /dev/null +++ b/obj/projectile/magic.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/magic - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

magic + + + +

+ + + +

Vars

antimagic_charge_costdetermines the drain cost on the antimagic item
antimagic_flagsdetermines what type of antimagic can block the spell projectile
+

Var Details

antimagic_charge_cost + + + + +

+

determines the drain cost on the antimagic item

antimagic_flags + + + + +

+

determines what type of antimagic can block the spell projectile

+ + + diff --git a/obj/projectile/magic/aoe.html b/obj/projectile/magic/aoe.html new file mode 100644 index 00000000000..9308ff6a943 --- /dev/null +++ b/obj/projectile/magic/aoe.html @@ -0,0 +1,78 @@ + + + + + + + /obj/projectile/magic/aoe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

aoe + + + +

+ +

Gives magic projectiles an area of effect radius that will bump into any nearby mobs

+ + + + + + +

Vars

can_only_hit_targetWhether our projectile will only be able to hit the original target / clicked on atom
trailWhether our projectile leaves a trail behind it as it moves.
trail_iconThe icon the trail uses.
trail_icon_stateThe icon state the trail uses.
trail_lifespanThe duration of the trail before deleting.
trigger_rangeThe AOE radius that the projectile will trigger on people.

Procs

create_trailCreates and handles the trail that follows the projectile.
+

Var Details

can_only_hit_target + + + + +

+

Whether our projectile will only be able to hit the original target / clicked on atom

trail + + + + +

+

Whether our projectile leaves a trail behind it as it moves.

trail_icon + + + + +

+

The icon the trail uses.

trail_icon_state + + + + +

+

The icon state the trail uses.

trail_lifespan + + + + +

+

The duration of the trail before deleting.

trigger_range + + + + +

+

The AOE radius that the projectile will trigger on people.

Proc Details

create_trail +

+

Creates and handles the trail that follows the projectile.

+ + + diff --git a/obj/projectile/magic/aoe/lightning.html b/obj/projectile/magic/aoe/lightning.html new file mode 100644 index 00000000000..a103a24c560 --- /dev/null +++ b/obj/projectile/magic/aoe/lightning.html @@ -0,0 +1,57 @@ + + + + + + + /obj/projectile/magic/aoe/lightning - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

lightning + + + +

+ + + + + +

Vars

chainA reference to the chain beam between the caster and the projectile
zap_flagsThe flags of the zap itself when it electrocutes someone
zap_powerThe power of the zap itself when it electrocutes someone
zap_rangeThe range of the zap itself when it electrocutes someone
+

Var Details

chain + + + + +

+

A reference to the chain beam between the caster and the projectile

zap_flags + + + + +

+

The flags of the zap itself when it electrocutes someone

zap_power + + + + +

+

The power of the zap itself when it electrocutes someone

zap_range + + + + +

+

The range of the zap itself when it electrocutes someone

+ + + diff --git a/obj/projectile/magic/change.html b/obj/projectile/magic/change.html new file mode 100644 index 00000000000..a9dfb827122 --- /dev/null +++ b/obj/projectile/magic/change.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/magic/change - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

change + + + +

+ + + +

Vars

set_wabbajack_changeflagsIf set, this projectile will only pass certain changeflags to wabbajack
set_wabbajack_effectIf set, this projectile will only do a certain wabbajack effect
+

Var Details

set_wabbajack_changeflags + + + + +

+

If set, this projectile will only pass certain changeflags to wabbajack

set_wabbajack_effect + + + + +

+

If set, this projectile will only do a certain wabbajack effect

+ + + diff --git a/obj/projectile/magic/fireball.html b/obj/projectile/magic/fireball.html new file mode 100644 index 00000000000..362d31db340 --- /dev/null +++ b/obj/projectile/magic/fireball.html @@ -0,0 +1,57 @@ + + + + + + + /obj/projectile/magic/fireball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fireball + + + +

+ + + + + +

Vars

exp_fireFire radius of the fireball
exp_flashFlash radius of the fireball
exp_heavyHeavy explosion range of the fireball
exp_lightLight explosion range of the fireball
+

Var Details

exp_fire + + + + +

+

Fire radius of the fireball

exp_flash + + + + +

+

Flash radius of the fireball

exp_heavy + + + + +

+

Heavy explosion range of the fireball

exp_light + + + + +

+

Light explosion range of the fireball

+ + + diff --git a/obj/projectile/magic/midas_round.html b/obj/projectile/magic/midas_round.html new file mode 100644 index 00000000000..132acddf0a8 --- /dev/null +++ b/obj/projectile/magic/midas_round.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/magic/midas_round - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

midas_round + + + +

+ + + +

Vars

gold_chargeThe gold charge in this pellet

Procs

on_hitTransfer the gold energy to our bullet
+

Var Details

gold_charge + + + + +

+

The gold charge in this pellet

Proc Details

on_hit +

+

Transfer the gold energy to our bullet

+ + + diff --git a/obj/projectile/magic/star_ball.html b/obj/projectile/magic/star_ball.html new file mode 100644 index 00000000000..151ec759af3 --- /dev/null +++ b/obj/projectile/magic/star_ball.html @@ -0,0 +1,43 @@ + + + + + + + /obj/projectile/magic/star_ball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

star_ball + + + +

+ + + +

Vars

explosion_effectEffect for when the ball hits something
star_mark_rangeThe range at which people will get marked with a star mark.
+

Var Details

explosion_effect + + + + +

+

Effect for when the ball hits something

star_mark_range + + + + +

+

The range at which people will get marked with a star mark.

+ + + diff --git a/obj/projectile/organ.html b/obj/projectile/organ.html new file mode 100644 index 00000000000..ed732b1f9bd --- /dev/null +++ b/obj/projectile/organ.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/organ - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

organ + + + +

+ + +

Vars

organA reference to the organ we "are".
+

Var Details

organ + + + + +

+

A reference to the organ we "are".

+ + + diff --git a/obj/projectile/temp/watcher.html b/obj/projectile/temp/watcher.html new file mode 100644 index 00000000000..499396f6806 --- /dev/null +++ b/obj/projectile/temp/watcher.html @@ -0,0 +1,35 @@ + + + + + + + /obj/projectile/temp/watcher - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

watcher + + + +

+ +

Chilling projectile, hurts and slows you down

+

Procs

apply_statusApply an additional on-hit effect

Proc Details

apply_status +

+

Apply an additional on-hit effect

+ + + diff --git a/obj/projectile/tentacle.html b/obj/projectile/tentacle.html new file mode 100644 index 00000000000..383ce56f937 --- /dev/null +++ b/obj/projectile/tentacle.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/tentacle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tentacle + + + +

+ + +

Vars

fire_modifiersClick params that were used to fire the tentacle shot
+

Var Details

fire_modifiers + + + + +

+

Click params that were used to fire the tentacle shot

+ + + diff --git a/obj/projectile/tether.html b/obj/projectile/tether.html new file mode 100644 index 00000000000..ea42d2ef470 --- /dev/null +++ b/obj/projectile/tether.html @@ -0,0 +1,36 @@ + + + + + + + /obj/projectile/tether - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tether + + + +

+ + +

Vars

lineReference to the beam following the projectile.
+

Var Details

line + + + + +

+

Reference to the beam following the projectile.

+ + + diff --git a/obj/singularity.html b/obj/singularity.html new file mode 100644 index 00000000000..1cb7344c9d4 --- /dev/null +++ b/obj/singularity.html @@ -0,0 +1,143 @@ + + + + + + + /obj/singularity - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

singularity + + + +

+ +

The gravitational singularity

+ + + + + + + + + + + + + + + +

Vars

allowed_sizeCurrent allowed size for the singulo
consumed_supermatterIf the singularity has eaten a supermatter shard and can go to stage six
current_sizeCurrent singularity size, from 1 to 6
dissipateDo we lose energy over time?
dissipate_delayHow long should it take for us to dissipate in seconds?
dissipate_strengthHow much energy do we lose every dissipate_delay?
energyHow strong are we?
event_chanceProb for event each tick
ghost_notification_messageWhat the game tells ghosts when you make one
maximum_stagemaximum size this singuloth can get to.
move_selfCan i move by myself?
singularity_componentThe singularity component itself. +A weak ref in case an admin removes the component to preserve the functionality.
singularity_component_typetype of singularity component made
singularity_icon_variantthe prepended string to the icon state (singularity_s1, dark_matter_s1, etc)
time_since_actHow long it's been since the singulo last acted, in seconds
time_since_last_dissipiationHow long its been (in seconds) since the last dissipation
+

Var Details

allowed_size + + + + +

+

Current allowed size for the singulo

consumed_supermatter + + + + +

+

If the singularity has eaten a supermatter shard and can go to stage six

current_size + + + + +

+

Current singularity size, from 1 to 6

dissipate + + + + +

+

Do we lose energy over time?

dissipate_delay + + + + +

+

How long should it take for us to dissipate in seconds?

dissipate_strength + + + + +

+

How much energy do we lose every dissipate_delay?

energy + + + + +

+

How strong are we?

event_chance + + + + +

+

Prob for event each tick

ghost_notification_message + + + + +

+

What the game tells ghosts when you make one

maximum_stage + + + + +

+

maximum size this singuloth can get to.

move_self + + + + +

+

Can i move by myself?

singularity_component + + + + +

+

The singularity component itself. +A weak ref in case an admin removes the component to preserve the functionality.

singularity_component_type + + + + +

+

type of singularity component made

singularity_icon_variant + + + + +

+

the prepended string to the icon state (singularity_s1, dark_matter_s1, etc)

time_since_act + + + + +

+

How long it's been since the singulo last acted, in seconds

time_since_last_dissipiation + + + + +

+

How long its been (in seconds) since the last dissipation

+ + + diff --git a/obj/singularity/dark_matter.html b/obj/singularity/dark_matter.html new file mode 100644 index 00000000000..d9db2cc2ad4 --- /dev/null +++ b/obj/singularity/dark_matter.html @@ -0,0 +1,36 @@ + + + + + + + /obj/singularity/dark_matter - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

dark_matter + + + +

+ +

This type of singularity cannot grow as big, but it constantly hunts down living targets.

+

Vars

initial_explosion_immunityto avoid cases of the singuloth getting blammed out of existence by the very meteor it rode in on...
+

Var Details

initial_explosion_immunity + + + + +

+

to avoid cases of the singuloth getting blammed out of existence by the very meteor it rode in on...

+ + + diff --git a/obj/structure/ai_core.html b/obj/structure/ai_core.html new file mode 100644 index 00000000000..06984077956 --- /dev/null +++ b/obj/structure/ai_core.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/ai_core - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ai_core + + + +

+ + +

Procs

suicide_checkQuick proc to call to see if the brainmob inside of us has suicided. Returns TRUE if we have, FALSE in any other scenario.

Proc Details

suicide_check +

+

Quick proc to call to see if the brainmob inside of us has suicided. Returns TRUE if we have, FALSE in any other scenario.

+ + + diff --git a/obj/structure/alien/egg.html b/obj/structure/alien/egg.html new file mode 100644 index 00000000000..05fc763b0e7 --- /dev/null +++ b/obj/structure/alien/egg.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/alien/egg - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

egg + + + +

+ + + +

Vars

childRef to the hugger within.
proximity_monitorProximity monitor associated with this atom, needed for proximity checks.
+

Var Details

child + + + + +

+

Ref to the hugger within.

proximity_monitor + + + + +

+

Proximity monitor associated with this atom, needed for proximity checks.

+ + + diff --git a/obj/structure/alien/resin/flower_bud.html b/obj/structure/alien/resin/flower_bud.html new file mode 100644 index 00000000000..63fab7c25aa --- /dev/null +++ b/obj/structure/alien/resin/flower_bud.html @@ -0,0 +1,69 @@ + + + + + + + /obj/structure/alien/resin/flower_bud - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flower_bud + + + +

+ +

Kudzu Flower Bud

+

A flower created by flowering kudzu which spawns a venus human trap after a certain amount of time has passed.

+

A flower created by kudzu with the flowering mutation. Spawns a venus human trap after 2 minutes under normal circumstances. +Also spawns 4 vines going out in diagonal directions from the bud. Any living creature not aligned with plants is damaged by these vines. +Once it grows a venus human trap, the bud itself will destroy itself. +Flower bud structure that ghost role spawns, actual spawn logic handled by /obj/effect/mob_spawn/ghost_role/venus_human_trap

+ + + + +

Vars

countdownThe countdown ghosts see to when the plant will hatch
finish_timeUsed by countdown to check time, this is when the timer will complete and the venus trap will spawn.
growth_timeThe amount of time it takes to create a venus human trap.
spawnerThe spawner that actually handles spawning the ghost role in

Procs

bear_fruitTells the spawner that the venus human trap is ready
+

Var Details

countdown + + + + +

+

The countdown ghosts see to when the plant will hatch

finish_time + + + + +

+

Used by countdown to check time, this is when the timer will complete and the venus trap will spawn.

growth_time + + + + +

+

The amount of time it takes to create a venus human trap.

spawner + + + + +

+

The spawner that actually handles spawning the ghost role in

Proc Details

bear_fruit +

+

Tells the spawner that the venus human trap is ready

+ + + diff --git a/obj/structure/alien/weeds.html b/obj/structure/alien/weeds.html new file mode 100644 index 00000000000..98b2afa231b --- /dev/null +++ b/obj/structure/alien/weeds.html @@ -0,0 +1,89 @@ + + + + + + + /obj/structure/alien/weeds - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

weeds + + + +

+ + + + + + + + + +

Vars

blacklisted_turfsthe list of turfs that the weeds will not be able to grow over
node_rangethe range of the weeds going to be affected by the node
parent_nodethe parent node that will determine if we grow or die

Procs

after_parent_destroyedCalled when the parent node is destroyed
do_qdelCalled to delete the weed
find_new_parentCalled when trying to find a new parent after our previous parent died +Will return false if it can't find a new_parent +Will return the new parent if it can find one
set_base_iconRandomizes the weeds' starting icon, gets redefined by children for them not to share the behavior.
try_expandCalled when the node is trying to grow/expand
+

Var Details

blacklisted_turfs + + + + +

+

the list of turfs that the weeds will not be able to grow over

node_range + + + + +

+

the range of the weeds going to be affected by the node

parent_node + + + + +

+

the parent node that will determine if we grow or die

Proc Details

after_parent_destroyed +

+

Called when the parent node is destroyed

do_qdel +

+

Called to delete the weed

find_new_parent +

+

Called when trying to find a new parent after our previous parent died +Will return false if it can't find a new_parent +Will return the new parent if it can find one

set_base_icon +

+

Randomizes the weeds' starting icon, gets redefined by children for them not to share the behavior.

try_expand +

+

Called when the node is trying to grow/expand

+ + + diff --git a/obj/structure/alien/weeds/node.html b/obj/structure/alien/weeds/node.html new file mode 100644 index 00000000000..d3adc20084e --- /dev/null +++ b/obj/structure/alien/weeds/node.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/alien/weeds/node - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

node + + + +

+ + + + +

Vars

lon_rangethe range of the light for the node
maximum_growtimethe maximum time it takes for another weed to spread from this one
minimum_growtimethe minimum time it takes for another weed to spread from this one
+

Var Details

lon_range + + + + +

+

the range of the light for the node

maximum_growtime + + + + +

+

the maximum time it takes for another weed to spread from this one

minimum_growtime + + + + +

+

the minimum time it takes for another weed to spread from this one

+ + + diff --git a/obj/structure/altar_of_gods.html b/obj/structure/altar_of_gods.html new file mode 100644 index 00000000000..85409a09b49 --- /dev/null +++ b/obj/structure/altar_of_gods.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/altar_of_gods - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

altar_of_gods + + + +

+ + +

Vars

sect_to_altarAvoids having to check global everytime by referencing it locally.
+

Var Details

sect_to_altar + + + + +

+

Avoids having to check global everytime by referencing it locally.

+ + + diff --git a/obj/structure/aquarium.html b/obj/structure/aquarium.html new file mode 100644 index 00000000000..fd622100caa --- /dev/null +++ b/obj/structure/aquarium.html @@ -0,0 +1,104 @@ + + + + + + + /obj/structure/aquarium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

aquarium + + + +

+ + + + + + + + + + +

Vars

allow_breedingCan fish reproduce in this quarium.
feeding_intervalWhile the feed storage is not empty, this is the interval which the fish are fed.
last_feedingThe last time fishes were fed by the acquarium itsef.
tracked_fish_by_typeobj/item/fish in the aquarium, sorted by type - does not include things with aquarium visuals that are not fish
used_layersCurrent layers in use by aquarium contents

Procs

admireApply mood bonus depending on aquarium status
free_layerbase aq layer +min_offset = this value is returned on bottom layer mode +min_offset + 0.1 fish1 +min_offset + 0.2 fish2 +... these layers are returned for auto layer mode and tracked by used_layers +min_offset + max_offset = this value is returned for top layer mode +min_offset + max_offset + 1 = this is used for glass overlay
get_fishesReturns tracked_fish_by_type but flattened and without the items in the blacklist, also shuffled if shuffle is TRUE.
try_to_put_mob_inTries to put mob pulled by the user in the aquarium after a delay
+

Var Details

allow_breeding + + + + +

+

Can fish reproduce in this quarium.

feeding_interval + + + + +

+

While the feed storage is not empty, this is the interval which the fish are fed.

last_feeding + + + + +

+

The last time fishes were fed by the acquarium itsef.

tracked_fish_by_type + + + + +

+

obj/item/fish in the aquarium, sorted by type - does not include things with aquarium visuals that are not fish

used_layers + + + + +

+

Current layers in use by aquarium contents

Proc Details

admire +

+

Apply mood bonus depending on aquarium status

free_layer +

+

base aq layer +min_offset = this value is returned on bottom layer mode +min_offset + 0.1 fish1 +min_offset + 0.2 fish2 +... these layers are returned for auto layer mode and tracked by used_layers +min_offset + max_offset = this value is returned for top layer mode +min_offset + max_offset + 1 = this is used for glass overlay

get_fishes +

+

Returns tracked_fish_by_type but flattened and without the items in the blacklist, also shuffled if shuffle is TRUE.

try_to_put_mob_in +

+

Tries to put mob pulled by the user in the aquarium after a delay

+ + + diff --git a/obj/structure/bed.html b/obj/structure/bed.html new file mode 100644 index 00000000000..46147629b83 --- /dev/null +++ b/obj/structure/bed.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/bed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bed + + + +

+ +

Beds

+ + +

Vars

build_stack_amountHow many mats to drop when deconstructed
build_stack_typeWhat material this bed is made of
elevationMobs standing on it are nudged up by this amount. Also used to align the person back when buckled to it after init.
+

Var Details

build_stack_amount + + + + +

+

How many mats to drop when deconstructed

build_stack_type + + + + +

+

What material this bed is made of

elevation + + + + +

+

Mobs standing on it are nudged up by this amount. Also used to align the person back when buckled to it after init.

+ + + diff --git a/obj/structure/bed/dogbed.html b/obj/structure/bed/dogbed.html new file mode 100644 index 00000000000..9ac476a5e2a --- /dev/null +++ b/obj/structure/bed/dogbed.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/bed/dogbed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

dogbed + + + +

+ +

Dog bed

+

Procs

update_ownerUsed to set the owner of a dogbed, returns FALSE if called on an owned bed or an invalid one, TRUE if the possesion succeeds

Proc Details

update_owner +

+

Used to set the owner of a dogbed, returns FALSE if called on an owned bed or an invalid one, TRUE if the possesion succeeds

+ + + diff --git a/obj/structure/bed/double.html b/obj/structure/bed/double.html new file mode 100644 index 00000000000..006d2e8e854 --- /dev/null +++ b/obj/structure/bed/double.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bed/double - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

double + + + +

+ + +

Vars

goldilocksThe mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.
+

Var Details

goldilocks + + + + +

+

The mob who buckled to this bed second, to avoid other mobs getting pixel-shifted before he unbuckles.

+ + + diff --git a/obj/structure/bed/medical.html b/obj/structure/bed/medical.html new file mode 100644 index 00000000000..7433fdd0b7c --- /dev/null +++ b/obj/structure/bed/medical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bed/medical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medical + + + +

+ +

Medical beds

+

Vars

foldable_typeThe item it spawns when it's folded up.
+

Var Details

foldable_type + + + + +

+

The item it spawns when it's folded up.

+ + + diff --git a/obj/structure/bedsheetbin.html b/obj/structure/bedsheetbin.html new file mode 100644 index 00000000000..74b5cce9e7c --- /dev/null +++ b/obj/structure/bedsheetbin.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/bedsheetbin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bedsheetbin + + + +

+ + + + +

Vars

amountThe number of bedsheets in the bin
hiddenThe object hiddin within the bedsheet bin
sheetsA list of actual sheets within the bin
+

Var Details

amount + + + + +

+

The number of bedsheets in the bin

hidden + + + + +

+

The object hiddin within the bedsheet bin

sheets + + + + +

+

A list of actual sheets within the bin

+ + + diff --git a/obj/structure/blob.html b/obj/structure/blob.html new file mode 100644 index 00000000000..98ea310ebae --- /dev/null +++ b/obj/structure/blob.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/blob - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

blob + + + +

+ + + + + + + + + +

Vars

atmosblockIf the blob blocks atmos and heat spread
brute_resistMultiplies brute damage by this
fire_resistMultiplies burn damage by this
heal_timestampwe got healed when?
health_regenhow much health this blob regens when pulsed
ignore_syncmesh_shareOnly used by the synchronous mesh strain. If set to true, these blobs won't share or receive damage taken with others.
point_returnHow many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed.
pulse_timestampWe got pulsed when?
+

Var Details

atmosblock + + + + +

+

If the blob blocks atmos and heat spread

brute_resist + + + + +

+

Multiplies brute damage by this

fire_resist + + + + +

+

Multiplies burn damage by this

heal_timestamp + + + + +

+

we got healed when?

health_regen + + + + +

+

how much health this blob regens when pulsed

ignore_syncmesh_share + + + + +

+

Only used by the synchronous mesh strain. If set to true, these blobs won't share or receive damage taken with others.

point_return + + + + +

+

How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed.

pulse_timestamp + + + + +

+

We got pulsed when?

+ + + diff --git a/obj/structure/blob/special.html b/obj/structure/blob/special.html new file mode 100644 index 00000000000..337cc2c8a85 --- /dev/null +++ b/obj/structure/blob/special.html @@ -0,0 +1,66 @@ + + + + + + + /obj/structure/blob/special - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

special + + + +

+ +
    +
  • [] TODO: Move this elsewhere
  • +
+ + + + +

Vars

claim_rangeThe radius inside which (previously dead) blob tiles are 'claimed' again by the pulsing overmind. Very rarely used.
expand_rangeThe radius up to which this special structure naturally grows normal blobs.
pulse_rangeThe radius inside which blobs are pulsed by this overmind. Does stuff like expanding, making blob spores from factories, make resources from nodes etc.
reflector_reinforce_rangeRange this blob free upgrades to reflector blobs at: for the core, and for strains
strong_reinforce_rangeRange this blob free upgrades to strong blobs at: for the core, and for strains
+

Var Details

claim_range + + + + +

+

The radius inside which (previously dead) blob tiles are 'claimed' again by the pulsing overmind. Very rarely used.

expand_range + + + + +

+

The radius up to which this special structure naturally grows normal blobs.

pulse_range + + + + +

+

The radius inside which blobs are pulsed by this overmind. Does stuff like expanding, making blob spores from factories, make resources from nodes etc.

reflector_reinforce_range + + + + +

+

Range this blob free upgrades to reflector blobs at: for the core, and for strains

strong_reinforce_range + + + + +

+

Range this blob free upgrades to strong blobs at: for the core, and for strains

+ + + diff --git a/obj/structure/blob/special/factory.html b/obj/structure/blob/special/factory.html new file mode 100644 index 00000000000..f36aa9ec82e --- /dev/null +++ b/obj/structure/blob/special/factory.html @@ -0,0 +1,99 @@ + + + + + + + /obj/structure/blob/special/factory - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

factory + + + +

+ + + + + + + + + + + +

Vars

blobbernautIts Blobbernaut, if it has spawned any.
is_creating_blobbernautUsed in blob/powers.dm, checks if it's already trying to spawn a blobbernaut to prevent issues.
max_sporesHow many spores this factory can have.
spores_and_zombiesThe list of spores and zombies

Procs

assign_blobbernautProduce a blobbernaut
on_blobbernaut_deathWhen our brave soldier dies, reset our max integrity
on_spore_diedWhen a spore or zombie dies reset our spawn cooldown so we don't instantly replace it
on_spore_lostWhen a spore is deleted remove it from our list
on_zombie_createdWhen a spore makes a zombie add it to our mobs list
register_mobTracks the existence of a mob in our mobs list
+

Var Details

blobbernaut + + + + +

+

Its Blobbernaut, if it has spawned any.

is_creating_blobbernaut + + + + +

+

Used in blob/powers.dm, checks if it's already trying to spawn a blobbernaut to prevent issues.

max_spores + + + + +

+

How many spores this factory can have.

spores_and_zombies + + + + +

+

The list of spores and zombies

Proc Details

assign_blobbernaut +

+

Produce a blobbernaut

on_blobbernaut_death +

+

When our brave soldier dies, reset our max integrity

on_spore_died +

+

When a spore or zombie dies reset our spawn cooldown so we don't instantly replace it

on_spore_lost +

+

When a spore is deleted remove it from our list

on_zombie_created +

+

When a spore makes a zombie add it to our mobs list

register_mob +

+

Tracks the existence of a mob in our mobs list

+ + + diff --git a/obj/structure/bodycontainer.html b/obj/structure/bodycontainer.html new file mode 100644 index 00000000000..3f5045bb7ab --- /dev/null +++ b/obj/structure/bodycontainer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/bodycontainer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bodycontainer + + + +

+ + + + +

Vars

breakout_message_cooldownCooldown between breakout msesages.
connectedThe morgue tray this container will open/close to put/take things in/out.
lockedBoolean on whether we're locked and will not allow the tray to be opened.
+

Var Details

breakout_message_cooldown + + + + +

+

Cooldown between breakout msesages.

connected + + + + +

+

The morgue tray this container will open/close to put/take things in/out.

locked + + + + +

+

Boolean on whether we're locked and will not allow the tray to be opened.

+ + + diff --git a/obj/structure/bodycontainer/morgue.html b/obj/structure/bodycontainer/morgue.html new file mode 100644 index 00000000000..9f7a23dfef2 --- /dev/null +++ b/obj/structure/bodycontainer/morgue.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/bodycontainer/morgue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

morgue + + + +

+ + + + + + + + +

Vars

beep_cooldownThe minimum time between beeps.
beeperWhether or not this morgue beeps to alert parameds of revivable corpses.
cooling_rate_per_secondThe rate at which the internal air mixture cools
internal_airInternal air of this morgue, for cooling purposes.
minimum_temperatureMinimum temperature of the internal air mixture
morgue_stateWhether this morgue tray has revivables or not
next_beepThe cooldown to prevent this from spamming beeps.
+

Var Details

beep_cooldown + + + + +

+

The minimum time between beeps.

beeper + + + + +

+

Whether or not this morgue beeps to alert parameds of revivable corpses.

cooling_rate_per_second + + + + +

+

The rate at which the internal air mixture cools

internal_air + + + + +

+

Internal air of this morgue, for cooling purposes.

minimum_temperature + + + + +

+

Minimum temperature of the internal air mixture

morgue_state + + + + +

+

Whether this morgue tray has revivables or not

next_beep + + + + +

+

The cooldown to prevent this from spamming beeps.

+ + + diff --git a/obj/structure/bonfire.html b/obj/structure/bonfire.html new file mode 100644 index 00000000000..3d44105276f --- /dev/null +++ b/obj/structure/bonfire.html @@ -0,0 +1,59 @@ + + + + + + + /obj/structure/bonfire - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

bonfire + + + +

+ +BONFIRES +

Structure that makes a big old fire. You can add rods to construct a grill for grilling meat, or a stake for buckling people to the fire, +salem style. Keeping the fire on requires oxygen. You can dismantle the bonfire back into logs when it is unignited.

+ + + +

Vars

burn_iconicon for the bonfire while on. for a softer more burning embers icon, use "bonfire_warm"
burningis the bonfire lit?
burning_loopthe looping sound effect that is played while burning
grillif the bonfire has a grill attached
+

Var Details

burn_icon + + + + +

+

icon for the bonfire while on. for a softer more burning embers icon, use "bonfire_warm"

burning + + + + +

+

is the bonfire lit?

burning_loop + + + + +

+

the looping sound effect that is played while burning

grill + + + + +

+

if the bonfire has a grill attached

+ + + diff --git a/obj/structure/bookcase.html b/obj/structure/bookcase.html new file mode 100644 index 00000000000..b2574e4a64a --- /dev/null +++ b/obj/structure/bookcase.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/bookcase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

bookcase + + + +

+ + + + + + +

Vars

books_to_loadHow many random books to generate.
load_random_booksWhen enabled, books_to_load number of random books will be generated for this bookcase
random_categoryThe category of books to pick from when populating random books.

Procs

after_random_loadproc for doing things after a bookcase is randomly populated
load_shelfLoads the shelf, both by allowing it to generate random items, and by adding its contents to a list used by library machines
+

Var Details

books_to_load + + + + +

+

How many random books to generate.

load_random_books + + + + +

+

When enabled, books_to_load number of random books will be generated for this bookcase

random_category + + + + +

+

The category of books to pick from when populating random books.

Proc Details

after_random_load +

+

proc for doing things after a bookcase is randomly populated

load_shelf +

+

Loads the shelf, both by allowing it to generate random items, and by adding its contents to a list used by library machines

+ + + diff --git a/obj/structure/bookcase/random/fiction.html b/obj/structure/bookcase/random/fiction.html new file mode 100644 index 00000000000..e8ef26a1abc --- /dev/null +++ b/obj/structure/bookcase/random/fiction.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bookcase/random/fiction - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fiction + + + +

+ + +

Vars

chuuni_book_spawnedhave we spawned the chuuni granter
+

Var Details

chuuni_book_spawned + + + + +

+

have we spawned the chuuni granter

+ + + diff --git a/obj/structure/bookcase/random/reference.html b/obj/structure/bookcase/random/reference.html new file mode 100644 index 00000000000..007383148f3 --- /dev/null +++ b/obj/structure/bookcase/random/reference.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bookcase/random/reference - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

reference + + + +

+ + +

Vars

ref_book_probChance to spawn a random manual book
+

Var Details

ref_book_prob + + + + +

+

Chance to spawn a random manual book

+ + + diff --git a/obj/structure/bookcase/random/reference/wizard.html b/obj/structure/bookcase/random/reference/wizard.html new file mode 100644 index 00000000000..bd45836087f --- /dev/null +++ b/obj/structure/bookcase/random/reference/wizard.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/bookcase/random/reference/wizard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

wizard + + + +

+ + +

Vars

cheese_granter_spawnedWhether this shelf has spawned a cheese granter
+

Var Details

cheese_granter_spawned + + + + +

+

Whether this shelf has spawned a cheese granter

+ + + diff --git a/obj/structure/broken_flooring.html b/obj/structure/broken_flooring.html new file mode 100644 index 00000000000..b01242547e7 --- /dev/null +++ b/obj/structure/broken_flooring.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/broken_flooring - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

broken_flooring + + + +

+ + +

Vars

always_floorplanedo we always have FLOOR_PLANE even if we arent on plating?
+

Var Details

always_floorplane + + + + +

+

do we always have FLOOR_PLANE even if we arent on plating?

+ + + diff --git a/obj/structure/cable.html b/obj/structure/cable.html new file mode 100644 index 00000000000..972b4fbcc5e --- /dev/null +++ b/obj/structure/cable.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/cable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

cable + + + +

+ + + +

Procs

Connect_cableSet the linked indicator bitflags
Disconnect_cableClear the linked indicator bitflags

Proc Details

Connect_cable +

+

Set the linked indicator bitflags

Disconnect_cable +

+

Clear the linked indicator bitflags

+ + + diff --git a/obj/structure/cable/multilayer.html b/obj/structure/cable/multilayer.html new file mode 100644 index 00000000000..3a02118309b --- /dev/null +++ b/obj/structure/cable/multilayer.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/cable/multilayer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

multilayer + + + +

+ +

multilayer cable to connect different layers

+

Procs

ReloadReset powernet in this hub.

Proc Details

Reload +

+

Reset powernet in this hub.

+ + + diff --git a/obj/structure/cannon.html b/obj/structure/cannon.html new file mode 100644 index 00000000000..bd084daaf3b --- /dev/null +++ b/obj/structure/cannon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/cannon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cannon + + + +

+ + +

Vars

anchorable_cannonwhether the cannon can be unwrenched from the ground.
+

Var Details

anchorable_cannon + + + + +

+

whether the cannon can be unwrenched from the ground.

+ + + diff --git a/obj/structure/carp_rift.html b/obj/structure/carp_rift.html new file mode 100644 index 00000000000..f3044330719 --- /dev/null +++ b/obj/structure/carp_rift.html @@ -0,0 +1,120 @@ + + + + + + + /obj/structure/carp_rift - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Carp Rift + + + +

+ +

The portals Space Dragon summons to bring carp onto the station.

+

The portals Space Dragon summons to bring carp onto the station. His main objective is to summon 3 of them and protect them from being destroyed. +The portals can summon sentient space carp in limited amounts. The portal also changes color based on whether or not a carp spawn is available. +Once it is fully charged, it becomes indestructible, and intermitently spawns non-sentient carp. It is still destroyed if Space Dragon dies.

+ + + + + + + + + + +

Vars

carp_intervalThe interval for adding additional space carp spawns to the rift.
carp_storedHow many carp spawns it has available.
charge_stateCurrent charge state of the rift.
ckey_listA list of all the ckeys which have used this carp rift to spawn in as carps.
dragonA reference to the Space Dragon antag that created it.
gravity_auraGravity aura for the rift, makes all turfs nearby forced grav.
last_carp_incThe time since an extra carp was added to the ghost role spawning pool.
max_chargeThe maximum charge the rift can have.
time_chargedThe amount of time the rift has charged for.

Procs

summon_carpUsed to create carp controlled by ghosts when the option is available.
update_checkDoes a series of checks based on the portal's status.
+

Var Details

carp_interval + + + + +

+

The interval for adding additional space carp spawns to the rift.

carp_stored + + + + +

+

How many carp spawns it has available.

charge_state + + + + +

+

Current charge state of the rift.

ckey_list + + + + +

+

A list of all the ckeys which have used this carp rift to spawn in as carps.

dragon + + + + +

+

A reference to the Space Dragon antag that created it.

gravity_aura + + + + +

+

Gravity aura for the rift, makes all turfs nearby forced grav.

last_carp_inc + + + + +

+

The time since an extra carp was added to the ghost role spawning pool.

max_charge + + + + +

+

The maximum charge the rift can have.

time_charged + + + + +

+

The amount of time the rift has charged for.

Proc Details

summon_carp +

+

Used to create carp controlled by ghosts when the option is available.

+

Creates a carp for the ghost to control if we have a carp spawn available. +Gives them prompt to control a carp, and if our circumstances still allow if when they hit yes, spawn them in as a carp. +Also add them to the list of carps in Space Dragon's antgonist datum, so they'll be displayed as having assisted him on round end. +Arguments:

+
    +
  • mob/user - The ghost which will take control of the carp.
  • +

update_check +

+

Does a series of checks based on the portal's status.

+

Performs a number of checks based on the current charge of the portal, and triggers various effects accordingly. +If the current charge is a multiple of carp_interval, add an extra carp spawn. +If we're halfway charged, announce to the crew our location in a CENTCOM announcement. +If we're fully charged, tell the crew we are, change our color to yellow, become invulnerable, and give Space Dragon the ability to make another rift, if he hasn't summoned 3 total.

+ + + diff --git a/obj/structure/carving_block.html b/obj/structure/carving_block.html new file mode 100644 index 00000000000..0e8c32e388b --- /dev/null +++ b/obj/structure/carving_block.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/carving_block - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

carving_block + + + +

+ + + + + + + +

Vars

completionstatue completion from 0 to 1.0
current_preset_typeCurrently chosen preset statue type
current_targetThe thing it will look like - Unmodified resulting statue appearance
greyscale_with_value_bumpHSV color filters parameters
target_appearance_with_filtersGreyscaled target with cutout filter

Procs

get_possible_statuesReturns a list of preset statues carvable from this block depending on the custom materials
+

Var Details

completion + + + + +

+

statue completion from 0 to 1.0

current_preset_type + + + + +

+

Currently chosen preset statue type

current_target + + + + +

+

The thing it will look like - Unmodified resulting statue appearance

greyscale_with_value_bump + + + + +

+

HSV color filters parameters

target_appearance_with_filters + + + + +

+

Greyscaled target with cutout filter

Proc Details

get_possible_statues +

+

Returns a list of preset statues carvable from this block depending on the custom materials

+ + + diff --git a/obj/structure/cat_house.html b/obj/structure/cat_house.html new file mode 100644 index 00000000000..77272700612 --- /dev/null +++ b/obj/structure/cat_house.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/cat_house - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cat_house + + + +

+ + +

Vars

resident_catcat residing in this house
+

Var Details

resident_cat + + + + +

+

cat residing in this house

+ + + diff --git a/obj/structure/chair.html b/obj/structure/chair.html new file mode 100644 index 00000000000..64d400d813f --- /dev/null +++ b/obj/structure/chair.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/chair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

chair + + + +

+ + + +

Procs

MakeRotateThis proc adds the rotate component, overwrite this if you for some reason want to change some specific args.
electrify_selfallows each chair to request the electrified_buckle component with overlays that dont look ridiculous

Proc Details

MakeRotate +

+

This proc adds the rotate component, overwrite this if you for some reason want to change some specific args.

electrify_self +

+

allows each chair to request the electrified_buckle component with overlays that dont look ridiculous

+ + + diff --git a/obj/structure/chair/pew.html b/obj/structure/chair/pew.html new file mode 100644 index 00000000000..78c71becf23 --- /dev/null +++ b/obj/structure/chair/pew.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/chair/pew - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

pew + + + +

+ + +

Procs

MakeRotateThis proc adds the rotate component, overwrite this if you for some reason want to change some specific args.

Proc Details

MakeRotate +

+

This proc adds the rotate component, overwrite this if you for some reason want to change some specific args.

+ + + diff --git a/obj/structure/checkoutmachine.html b/obj/structure/checkoutmachine.html new file mode 100644 index 00000000000..a6772637988 --- /dev/null +++ b/obj/structure/checkoutmachine.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/checkoutmachine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

checkoutmachine + + + +

+ + +

Vars

canwalkAre we able to start moving?
+

Var Details

canwalk + + + + +

+

Are we able to start moving?

+ + + diff --git a/obj/structure/chem_separator.html b/obj/structure/chem_separator.html new file mode 100644 index 00000000000..7e940984316 --- /dev/null +++ b/obj/structure/chem_separator.html @@ -0,0 +1,155 @@ + + + + + + + /obj/structure/chem_separator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

chem_separator + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

beakerReagent container for condensate or separator filling
boilingWhether the mixture is above the required temperature and the separation is in process
burningWhether the burner is currently on and the mixture is heating up
condenserReagent container for the vapor of the separating reagent
distillation_rateSeparation speed in units per second
fill_icon_thresholdsIcons for different percentages of beaker/separator reagent volumes
heating_rateMixture heating speed in degrees per second for full container
required_tempMinimal mixture temperature for separation
separating_reagentThe reagent chosen for separation
soundloopSound during separation
temperature_icon_thresholdsThe temperature thresholds used for thermometer icon update, in Celsius

Procs

can_processCheck whether the separation can process
ignite_withChecks whether the item can ignite the separator
loadFill internal storage with reagents from the container
replace_beakerInsert, replace or eject the container depending on the state and parameters
startIgnite the burner to start the separation process
stopExtinguish the burner to stop the separation process
unloadDrain internal reagents into the container
+

Var Details

beaker + + + + +

+

Reagent container for condensate or separator filling

boiling + + + + +

+

Whether the mixture is above the required temperature and the separation is in process

burning + + + + +

+

Whether the burner is currently on and the mixture is heating up

condenser + + + + +

+

Reagent container for the vapor of the separating reagent

distillation_rate + + + + +

+

Separation speed in units per second

fill_icon_thresholds + + + + +

+

Icons for different percentages of beaker/separator reagent volumes

heating_rate + + + + +

+

Mixture heating speed in degrees per second for full container

required_temp + + + + +

+

Minimal mixture temperature for separation

separating_reagent + + + + +

+

The reagent chosen for separation

soundloop + + + + +

+

Sound during separation

temperature_icon_thresholds + + + + +

+

The temperature thresholds used for thermometer icon update, in Celsius

Proc Details

can_process +

+

Check whether the separation can process

ignite_with +

+

Checks whether the item can ignite the separator

load +

+

Fill internal storage with reagents from the container

replace_beaker +

+

Insert, replace or eject the container depending on the state and parameters

start +

+

Ignite the burner to start the separation process

stop +

+

Extinguish the burner to stop the separation process

unload +

+

Drain internal reagents into the container

+ + + diff --git a/obj/structure/chrono_field.html b/obj/structure/chrono_field.html new file mode 100644 index 00000000000..d6f75a5b27b --- /dev/null +++ b/obj/structure/chrono_field.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/chrono_field - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

chrono_field + + + +

+ + + + + + + +

Vars

RPposThe actual frame the animation is at in eradication, only changing when the progress towards eradication progresses enough to move to the next frame.
attachedIf a TEM to link to isn't provided initially, this chrono field will progress towards eradication by itself without one.
capturedMob being eradicated by this field
mob_underlayThe eradication appearance
temLinked module. while this exists, the field will progress towards eradication. while it isn't, the field progresses away until it disappears. see attached for a special case
timetokillTime in seconds before someone is eradicated, assuming progress isn't interrupted
+

Var Details

RPpos + + + + +

+

The actual frame the animation is at in eradication, only changing when the progress towards eradication progresses enough to move to the next frame.

attached + + + + +

+

If a TEM to link to isn't provided initially, this chrono field will progress towards eradication by itself without one.

captured + + + + +

+

Mob being eradicated by this field

mob_underlay + + + + +

+

The eradication appearance

tem + + + + +

+

Linked module. while this exists, the field will progress towards eradication. while it isn't, the field progresses away until it disappears. see attached for a special case

timetokill + + + + +

+

Time in seconds before someone is eradicated, assuming progress isn't interrupted

+ + + diff --git a/obj/structure/closet.html b/obj/structure/closet.html new file mode 100644 index 00000000000..543784bd80a --- /dev/null +++ b/obj/structure/closet.html @@ -0,0 +1,309 @@ + + + + + + + /obj/structure/closet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

closet + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

access_choicesaccess types for card reader
access_lockedshould we prevent further access change
air_volumeVolume of the internal air
card_reader_installedis the card reader installed in this machine
contents_pressure_protectionHow close being inside of the thing provides complete pressure safety. Must be between 0 and 1!
contents_thermal_insulationHow insulated the thing is, for the purposes of calculating body temperature. Must be between 0 and 1!
divableWhether a skittish person can dive inside this closet. Disable if opening the closet causes "bad things" to happen or that it leads to a logical inconsistency.
door_anim_angleThe maximum angle the door will be drawn at
door_anim_squishVertical squish of the door
door_anim_timeAmount of time it takes for the door animation to play
door_hinge_xX position of the closet door hinge, relative to the center of the sprite
door_objThe overlay for the closet's door
enable_door_overlayControls whether a door overlay should be applied using the icon_door value as the icon state
id_cardis this closet locked by an exclusive id, i.e. your own personal locker
internal_airInternal gas for this closet.
is_animating_doorWhether or not this door is being animated
paint_jobsPaint jobs for this closet, crates are a subtype of closet so they override these values
sealedWhether this closet is sealed or not. If sealed, it'll have its own internal air
securesecure locker or not, also used if overriding a non-secure locker with a secure door overlay to add fancy lights
strong_grabtrue whenever someone with the strong pull component (or magnet modsuit module) is dragging this, preventing opening

Procs

add_to_roundstart_listAdds the closet to a global list. Placed in its own proc so that crates may be excluded.
after_closeProc to do effects after closet has closed
after_openProc to override for effects after opening a door
animate_doorAnimates the closet door opening and closing
before_closeProc to write checks before closing a door
before_openProc to write checks before opening a door
can_install_airlock_electronicscheck if we can install airlock electronics in this closet
can_install_card_readercheck if we can install card reader in this closet
can_pryout_card_readercheck if we can pry out the card reader from this closet
can_unlockreturns TRUE if the closet is allowed to unlock
can_unscrew_airlock_electronicscheck if we can unscrew airlock electronics from this closet
end_door_animationEnds the door animation and removes the animated overlay
get_door_transformCalculates the matrix to be applied to the animated door overlay
on_magic_unlockSignal proc for COMSIG_ATOM_MAGICALLY_UNLOCKED. Unlock and open up when we get knock casted.
populate_contents_immediatePopulate the closet with stuff that needs to be added before it is opened. +This is useful for things like traitor objectives.
populate_with_random_maint_lootSpawns two to six maintenance spawners inside the closet
set_accesssets the access for the closets from the swiped ID card
toggleToggles a closet open or closed, to the opposite state. Does not respect locked or welded states, however.
tool_interactreturns TRUE if attackBy call shouldn't be continued (because tool was used/closet was of wrong type), FALSE if otherwise
+

Var Details

access_choices + + + + +

+

access types for card reader

access_locked + + + + +

+

should we prevent further access change

air_volume + + + + +

+

Volume of the internal air

card_reader_installed + + + + +

+

is the card reader installed in this machine

contents_pressure_protection + + + + +

+

How close being inside of the thing provides complete pressure safety. Must be between 0 and 1!

contents_thermal_insulation + + + + +

+

How insulated the thing is, for the purposes of calculating body temperature. Must be between 0 and 1!

divable + + + + +

+

Whether a skittish person can dive inside this closet. Disable if opening the closet causes "bad things" to happen or that it leads to a logical inconsistency.

door_anim_angle + + + + +

+

The maximum angle the door will be drawn at

door_anim_squish + + + + +

+

Vertical squish of the door

door_anim_time + + + + +

+

Amount of time it takes for the door animation to play

door_hinge_x + + + + +

+

X position of the closet door hinge, relative to the center of the sprite

door_obj + + + + +

+

The overlay for the closet's door

enable_door_overlay + + + + +

+

Controls whether a door overlay should be applied using the icon_door value as the icon state

id_card + + + + +

+

is this closet locked by an exclusive id, i.e. your own personal locker

internal_air + + + + +

+

Internal gas for this closet.

is_animating_door + + + + +

+

Whether or not this door is being animated

paint_jobs + + + + +

+

Paint jobs for this closet, crates are a subtype of closet so they override these values

sealed + + + + +

+

Whether this closet is sealed or not. If sealed, it'll have its own internal air

secure + + + + +

+

secure locker or not, also used if overriding a non-secure locker with a secure door overlay to add fancy lights

strong_grab + + + + +

+

true whenever someone with the strong pull component (or magnet modsuit module) is dragging this, preventing opening

Proc Details

add_to_roundstart_list +

+

Adds the closet to a global list. Placed in its own proc so that crates may be excluded.

after_close +

+

Proc to do effects after closet has closed

after_open +

+

Proc to override for effects after opening a door

animate_door +

+

Animates the closet door opening and closing

before_close +

+

Proc to write checks before closing a door

before_open +

+

Proc to write checks before opening a door

can_install_airlock_electronics +

+

check if we can install airlock electronics in this closet

can_install_card_reader +

+

check if we can install card reader in this closet

can_pryout_card_reader +

+

check if we can pry out the card reader from this closet

can_unlock +

+

returns TRUE if the closet is allowed to unlock

+
    +
  • user: the player trying to unlock this closet
  • +
  • player_id: the id of the player trying to unlock this closet
  • +
  • registered_id: the id registered to this closet, null if no one registered
  • +

can_unscrew_airlock_electronics +

+

check if we can unscrew airlock electronics from this closet

end_door_animation +

+

Ends the door animation and removes the animated overlay

get_door_transform +

+

Calculates the matrix to be applied to the animated door overlay

on_magic_unlock +

+

Signal proc for COMSIG_ATOM_MAGICALLY_UNLOCKED. Unlock and open up when we get knock casted.

populate_contents_immediate +

+

Populate the closet with stuff that needs to be added before it is opened. +This is useful for things like traitor objectives.

populate_with_random_maint_loot +

+

Spawns two to six maintenance spawners inside the closet

set_access +

+

sets the access for the closets from the swiped ID card

toggle +

+

Toggles a closet open or closed, to the opposite state. Does not respect locked or welded states, however.

tool_interact +

+

returns TRUE if attackBy call shouldn't be continued (because tool was used/closet was of wrong type), FALSE if otherwise

+ + + diff --git a/obj/structure/closet/body_bag.html b/obj/structure/closet/body_bag.html new file mode 100644 index 00000000000..b74b25d67d1 --- /dev/null +++ b/obj/structure/closet/body_bag.html @@ -0,0 +1,65 @@ + + + + + + + /obj/structure/closet/body_bag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

body_bag + + + +

+ + + + + +

Vars

tag_nameThe tagged name of the bodybag, also used to check if the bodybag IS tagged.

Procs

attempt_foldChecks to see if we can fold. Return TRUE to actually perform the fold and delete.
handle_tagHandles renaming of the bodybag's examine tag.
perform_foldPerforms the actual folding. Deleting is automatic, please do not include.
+

Var Details

tag_name + + + + +

+

The tagged name of the bodybag, also used to check if the bodybag IS tagged.

Proc Details

attempt_fold +

+

Checks to see if we can fold. Return TRUE to actually perform the fold and delete.

+

Arguments:

+
    +
  • the_folder - aka user
  • +

handle_tag +

+

Handles renaming of the bodybag's examine tag.

perform_fold +

+

Performs the actual folding. Deleting is automatic, please do not include.

+

Arguments:

+
    +
  • the_folder - aka user
  • +
+ + + diff --git a/obj/structure/closet/body_bag/environmental.html b/obj/structure/closet/body_bag/environmental.html new file mode 100644 index 00000000000..2108bb65491 --- /dev/null +++ b/obj/structure/closet/body_bag/environmental.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/closet/body_bag/environmental - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

environmental + + + +

+ +

Environmental bags. They protect against bad weather.

+ +

Vars

air_contentsThe contents of the gas to be distributed to an occupant. Set in Initialize()
weather_protectionThe list of weathers we protect from.
+

Var Details

air_contents + + + + +

+

The contents of the gas to be distributed to an occupant. Set in Initialize()

weather_protection + + + + +

+

The list of weathers we protect from.

+ + + diff --git a/obj/structure/closet/body_bag/environmental/prisoner.html b/obj/structure/closet/body_bag/environmental/prisoner.html new file mode 100644 index 00000000000..26854a9236c --- /dev/null +++ b/obj/structure/closet/body_bag/environmental/prisoner.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/closet/body_bag/environmental/prisoner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

prisoner + + + +

+ +

Securable enviro. bags

+ + + +

Vars

sinch_soundThe sound that plays when the bag is done sinching.
sinch_timeHow long it takes to sinch the bag.
sinchedWhether or not the bag is sinched. Starts unsinched.

Procs

bust_opencopy-pasted with changes because flavor text as well as some other misc stuff
+

Var Details

sinch_sound + + + + +

+

The sound that plays when the bag is done sinching.

sinch_time + + + + +

+

How long it takes to sinch the bag.

sinched + + + + +

+

Whether or not the bag is sinched. Starts unsinched.

Proc Details

bust_open +

+

copy-pasted with changes because flavor text as well as some other misc stuff

+ + + diff --git a/obj/structure/closet/cardboard.html b/obj/structure/closet/cardboard.html new file mode 100644 index 00000000000..d3384c7ea97 --- /dev/null +++ b/obj/structure/closet/cardboard.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/closet/cardboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cardboard + + + +

+ + + + + + +

Vars

alert_cooldownCooldown controlling when the box can trigger the Metal Gear Solid-style '!' alert.
alertedList of viewers around the box
move_delayIf the speed multiplier should be applied to mobs inside this box
move_speed_multiplierHow fast a mob can move inside this box
time_between_alertsHow much time must pass before the box can trigger the next Metal Gear Solid-style '!' alert.
+

Var Details

alert_cooldown + + + + +

+

Cooldown controlling when the box can trigger the Metal Gear Solid-style '!' alert.

alerted + + + + +

+

List of viewers around the box

move_delay + + + + +

+

If the speed multiplier should be applied to mobs inside this box

move_speed_multiplier + + + + +

+

How fast a mob can move inside this box

time_between_alerts + + + + +

+

How much time must pass before the box can trigger the next Metal Gear Solid-style '!' alert.

+ + + diff --git a/obj/structure/closet/crate.html b/obj/structure/closet/crate.html new file mode 100644 index 00000000000..028688ab1cf --- /dev/null +++ b/obj/structure/closet/crate.html @@ -0,0 +1,92 @@ + + + + + + + /obj/structure/closet/crate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

crate + + + +

+ + + + + + + + + + +

Vars

crate_climb_timeThe time spent to climb this crate.
elevationMobs standing on it are nudged up by this amount.
elevation_openThe same, but when the crate is open
lid_iconWhere the Icons for lids are located.
lid_icon_stateIcon state to use for lid to display when opened. Leave undefined if there isn't one.
lid_xControls the X value of the lid, allowing left and right pixel movement.
lid_yControls the Y value of the lid, allowing up and down pixel movement.
manifestThe reference of the manifest paper attached to the cargo crate.

Procs

tear_manifestRemoves the supply manifest from the closet
+

Var Details

crate_climb_time + + + + +

+

The time spent to climb this crate.

elevation + + + + +

+

Mobs standing on it are nudged up by this amount.

elevation_open + + + + +

+

The same, but when the crate is open

lid_icon + + + + +

+

Where the Icons for lids are located.

lid_icon_state + + + + +

+

Icon state to use for lid to display when opened. Leave undefined if there isn't one.

lid_x + + + + +

+

Controls the X value of the lid, allowing left and right pixel movement.

lid_y + + + + +

+

Controls the Y value of the lid, allowing up and down pixel movement.

manifest + + + + +

+

The reference of the manifest paper attached to the cargo crate.

Proc Details

tear_manifest +

+

Removes the supply manifest from the closet

+ + + diff --git a/obj/structure/closet/crate/bin.html b/obj/structure/closet/crate/bin.html new file mode 100644 index 00000000000..69d65bda080 --- /dev/null +++ b/obj/structure/closet/crate/bin.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/closet/crate/bin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bin + + + +

+ + +

Procs

ready_for_trashCalled when a push broom is trying to sweep items onto the turf this object is standing on. Garbage will be moved inside.

Proc Details

ready_for_trash +

+

Called when a push broom is trying to sweep items onto the turf this object is standing on. Garbage will be moved inside.

+ + + diff --git a/obj/structure/closet/crate/freezer.html b/obj/structure/closet/crate/freezer.html new file mode 100644 index 00000000000..27566a5d618 --- /dev/null +++ b/obj/structure/closet/crate/freezer.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/closet/crate/freezer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

freezer + + + +

+ + + +

Vars

cooling_rate_per_secondThe rate at which the internal air mixture cools
minimum_temperatureMinimum temperature of the internal air mixture
+

Var Details

cooling_rate_per_second + + + + +

+

The rate at which the internal air mixture cools

minimum_temperature + + + + +

+

Minimum temperature of the internal air mixture

+ + + diff --git a/obj/structure/closet/crate/grave.html b/obj/structure/closet/crate/grave.html new file mode 100644 index 00000000000..2488a715d6f --- /dev/null +++ b/obj/structure/closet/crate/grave.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/closet/crate/grave - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

grave + + + +

+ +

has no items inside unless you use the filled subtype

+ + +

Vars

dug_closedwas a shovel used to close this grave
first_openwas this grave opened for the first time
lead_tombwill this grave give you nightmares when opened
+

Var Details

dug_closed + + + + +

+

was a shovel used to close this grave

first_open + + + + +

+

was this grave opened for the first time

lead_tomb + + + + +

+

will this grave give you nightmares when opened

+ + + diff --git a/obj/structure/closet/crate/mail.html b/obj/structure/closet/crate/mail.html new file mode 100644 index 00000000000..b2073993b77 --- /dev/null +++ b/obj/structure/closet/crate/mail.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/closet/crate/mail - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mail + + + +

+ +

Crate for mail from CentCom.

+

Procs

populateFills this mail crate with N pieces of mail, where N is the lower of the amount var passed, and the maximum capacity of this crate. If N is larger than the number of alive human players, the excess will be junkmail.

Proc Details

populate +

+

Fills this mail crate with N pieces of mail, where N is the lower of the amount var passed, and the maximum capacity of this crate. If N is larger than the number of alive human players, the excess will be junkmail.

+ + + diff --git a/obj/structure/closet/crate/mail/economy.html b/obj/structure/closet/crate/mail/economy.html new file mode 100644 index 00000000000..6c3defa0690 --- /dev/null +++ b/obj/structure/closet/crate/mail/economy.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/closet/crate/mail/economy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

economy + + + +

+ + +

Procs

InitializeCrate for mail that automatically depletes the economy subsystem's pending mail counter.

Proc Details

Initialize +

+

Crate for mail that automatically depletes the economy subsystem's pending mail counter.

+ + + diff --git a/obj/structure/closet/crate/necropolis/tendril.html b/obj/structure/closet/crate/necropolis/tendril.html new file mode 100644 index 00000000000..739293b91c2 --- /dev/null +++ b/obj/structure/closet/crate/necropolis/tendril.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/closet/crate/necropolis/tendril - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tendril + + + +

+ + +

Vars

spawned_lootvar to check if it got opened by a key
+

Var Details

spawned_loot + + + + +

+

var to check if it got opened by a key

+ + + diff --git a/obj/structure/closet/crate/secure/bitrunning/decrypted.html b/obj/structure/closet/crate/secure/bitrunning/decrypted.html new file mode 100644 index 00000000000..95d9a61473f --- /dev/null +++ b/obj/structure/closet/crate/secure/bitrunning/decrypted.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/closet/crate/secure/bitrunning/decrypted - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

decrypted + + + +

+ +

The bitrunner den - side of the bitrunning crate. Appears in the receive location.

+ +

Procs

calculate_lootHandles generating random numbers & calculating loot totals
spawn_lootHandles spawning extra loot. This tries to handle bad flat and assoc lists

Proc Details

calculate_loot +

+

Handles generating random numbers & calculating loot totals

spawn_loot +

+

Handles spawning extra loot. This tries to handle bad flat and assoc lists

+ + + diff --git a/obj/structure/closet/crate/secure/owned.html b/obj/structure/closet/crate/secure/owned.html new file mode 100644 index 00000000000..8cf7897a096 --- /dev/null +++ b/obj/structure/closet/crate/secure/owned.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/closet/crate/secure/owned - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

owned + + + +

+ + + + + +

Vars

buyer_accountAccount of the person buying the crate if private purchasing.
department_accountDepartment of the person buying the crate if buying via the NIRN app.
department_purchaseIs the crate being bought by a person, or a budget card?
privacy_lockIs the secure crate opened or closed?
+

Var Details

buyer_account + + + + +

+

Account of the person buying the crate if private purchasing.

department_account + + + + +

+

Department of the person buying the crate if buying via the NIRN app.

department_purchase + + + + +

+

Is the crate being bought by a person, or a budget card?

privacy_lock + + + + +

+

Is the secure crate opened or closed?

+ + + diff --git a/obj/structure/closet/crate/secure/syndicrate.html b/obj/structure/closet/crate/secure/syndicrate.html new file mode 100644 index 00000000000..e77c93df689 --- /dev/null +++ b/obj/structure/closet/crate/secure/syndicrate.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/closet/crate/secure/syndicrate - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicrate + + + +

+ + + + +

Vars

created_itemsvariable that only lets the crate open if opened by a key from the uplink
unlock_contentsthis is what will spawn when it is opened with a syndicrate key

Procs

attackbyensures that the syndicrate can only be unlocked by opening it with a syndicrate_key
+

Var Details

created_items + + + + +

+

variable that only lets the crate open if opened by a key from the uplink

unlock_contents + + + + +

+

this is what will spawn when it is opened with a syndicrate key

Proc Details

attackby +

+

ensures that the syndicrate can only be unlocked by opening it with a syndicrate_key

+ + + diff --git a/obj/structure/closet/decay.html b/obj/structure/closet/decay.html new file mode 100644 index 00000000000..89c6a15e439 --- /dev/null +++ b/obj/structure/closet/decay.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/closet/decay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

decay + + + +

+ + + +

Procs

decayFade away into nothing
unmagifyGive it the lesser magic icon and tell it to delete itself

Proc Details

decay +

+

Fade away into nothing

unmagify +

+

Give it the lesser magic icon and tell it to delete itself

+ + + diff --git a/obj/structure/closet/secure_closet/freezer.html b/obj/structure/closet/secure_closet/freezer.html new file mode 100644 index 00000000000..182fd5e8007 --- /dev/null +++ b/obj/structure/closet/secure_closet/freezer.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/closet/secure_closet/freezer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

freezer + + + +

+ + + + +

Vars

cooling_rate_per_secondThe rate at which the internal air mixture cools
jonesIf FALSE, we will protect the first person in the freezer from an explosion / nuclear blast.
minimum_temperatureMinimum temperature of the internal air mixture
+

Var Details

cooling_rate_per_second + + + + +

+

The rate at which the internal air mixture cools

jones + + + + +

+

If FALSE, we will protect the first person in the freezer from an explosion / nuclear blast.

minimum_temperature + + + + +

+

Minimum temperature of the internal air mixture

+ + + diff --git a/obj/structure/closet/stasis.html b/obj/structure/closet/stasis.html new file mode 100644 index 00000000000..6fe37449240 --- /dev/null +++ b/obj/structure/closet/stasis.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/closet/stasis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

stasis + + + +

+ + + +

Vars

holder_animalThe animal the closet (and the user's body) is inside of

Procs

on_holder_animal_deathWhen our host animal dies in any way, we empty the stasis closet out.
+

Var Details

holder_animal + + + + +

+

The animal the closet (and the user's body) is inside of

Proc Details

on_holder_animal_death +

+

When our host animal dies in any way, we empty the stasis closet out.

+ + + diff --git a/obj/structure/closet/supplypod.html b/obj/structure/closet/supplypod.html new file mode 100644 index 00000000000..58874b6d29f --- /dev/null +++ b/obj/structure/closet/supplypod.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/closet/supplypod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

supplypod + + + +

+ + +

Vars

pod_flagsList of bitflags for supply pods, see: code__DEFINES\obj_flags.dm
+

Var Details

pod_flags + + + + +

+

List of bitflags for supply pods, see: code__DEFINES\obj_flags.dm

+ + + diff --git a/obj/structure/cursed_slot_machine.html b/obj/structure/cursed_slot_machine.html new file mode 100644 index 00000000000..ad70dfd0662 --- /dev/null +++ b/obj/structure/cursed_slot_machine.html @@ -0,0 +1,99 @@ + + + + + + + /obj/structure/cursed_slot_machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cursed_slot_machine + + + +

+ +

Greed's slot machine: Used in the Greed ruin. Deals damage on each use, with a successful use giving a d20 of fate.

+ + + + + + + + + +

Vars

brightness_onShould we be emitting light?
cooldown_lengthLength of the cooldown between the machine being used and being able to spin the machine again.
icon_screenVariable that tracks the screen we display.
in_useAre we currently in use? Anti-spam prevention measure.
max_curse_amountThe maximum amount of curses we will allow a player to have before disallowing them to use the machine.
prizemachine's reward when you hit jackpot
spin_cooldownCooldown between pulls of the cursed slot machine.
status_effect_on_rollshould we be applying the cursed status effect?
win_probThe probability the player has to win.

Procs

check_and_set_usageValidates that the user can use the cursed slot machine. User is the person using the slot machine. Returns TRUE if we can, FALSE otherwise.
+

Var Details

brightness_on + + + + +

+

Should we be emitting light?

cooldown_length + + + + +

+

Length of the cooldown between the machine being used and being able to spin the machine again.

icon_screen + + + + +

+

Variable that tracks the screen we display.

in_use + + + + +

+

Are we currently in use? Anti-spam prevention measure.

max_curse_amount + + + + +

+

The maximum amount of curses we will allow a player to have before disallowing them to use the machine.

prize + + + + +

+

machine's reward when you hit jackpot

spin_cooldown + + + + +

+

Cooldown between pulls of the cursed slot machine.

status_effect_on_roll + + + + +

+

should we be applying the cursed status effect?

win_prob + + + + +

+

The probability the player has to win.

Proc Details

check_and_set_usage +

+

Validates that the user can use the cursed slot machine. User is the person using the slot machine. Returns TRUE if we can, FALSE otherwise.

+ + + diff --git a/obj/structure/curtain.html b/obj/structure/curtain.html new file mode 100644 index 00000000000..83bd41d1277 --- /dev/null +++ b/obj/structure/curtain.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/curtain - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

curtain + + + +

+ + +

Vars

opaque_closedif it can be seen through when closed
+

Var Details

opaque_closed + + + + +

+

if it can be seen through when closed

+ + + diff --git a/obj/structure/desk_bell.html b/obj/structure/desk_bell.html new file mode 100644 index 00000000000..555ae8dd735 --- /dev/null +++ b/obj/structure/desk_bell.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/desk_bell - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

desk_bell + + + +

+ + + + + + + + +

Vars

broken_ringerIs this bell broken?
ring_cooldownThe cooldown for ringing the bell
ring_cooldown_lengthThe length of the cooldown. Setting it to 0 will skip all cooldowns alltogether.
ring_soundThe sound the bell makes
times_rangThe amount of times this bell has been rang, used to check the chance it breaks

Procs

check_clapperCheck if the clapper breaks, and if it does, break it
ring_bellRing the bell
+

Var Details

broken_ringer + + + + +

+

Is this bell broken?

ring_cooldown + + + + +

+

The cooldown for ringing the bell

ring_cooldown_length + + + + +

+

The length of the cooldown. Setting it to 0 will skip all cooldowns alltogether.

ring_sound + + + + +

+

The sound the bell makes

times_rang + + + + +

+

The amount of times this bell has been rang, used to check the chance it breaks

Proc Details

check_clapper +

+

Check if the clapper breaks, and if it does, break it

ring_bell +

+

Ring the bell

+ + + diff --git a/obj/structure/destructible/cult.html b/obj/structure/destructible/cult.html new file mode 100644 index 00000000000..b3ef87be665 --- /dev/null +++ b/obj/structure/destructible/cult.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/destructible/cult - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

cult + + + +

+ + + + +

Vars

cult_examine_tipIf provided, a bonus tip displayed to cultists on examined.
use_cooldownThe cooldown for when items can be dispensed.
use_cooldown_durationLength of the cooldown between uses.
+

Var Details

cult_examine_tip + + + + +

+

If provided, a bonus tip displayed to cultists on examined.

use_cooldown + + + + +

+

The cooldown for when items can be dispensed.

use_cooldown_duration + + + + +

+

Length of the cooldown between uses.

+ + + diff --git a/obj/structure/destructible/cult/item_dispenser.html b/obj/structure/destructible/cult/item_dispenser.html new file mode 100644 index 00000000000..8cd289ae20e --- /dev/null +++ b/obj/structure/destructible/cult/item_dispenser.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/destructible/cult/item_dispenser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

item_dispenser + + + +

+ + +

Vars

optionsAn associated list of options this structure can make. See setup_options() for format.
+

Var Details

options + + + + +

+

An associated list of options this structure can make. See setup_options() for format.

+ + + diff --git a/obj/structure/destructible/cult/pants_altar.html b/obj/structure/destructible/cult/pants_altar.html new file mode 100644 index 00000000000..93f8bb75b80 --- /dev/null +++ b/obj/structure/destructible/cult/pants_altar.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/destructible/cult/pants_altar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

pants_altar + + + +

+ + + + + + + +

Vars

pants_colorColor of the pants that will come out
statusStage of the pants making process

Procs

pants_createFinishes the creation, creating the item itself, setting the cooldowns and flashing every mob nearby.
pants_stageoneStarts creating the pants, plays the sound.
pants_stagethreeContinues the creation, making every mob nearby dizzy
pants_stagetwoContinues the creation, making every mob nearby nauseous.
+

Var Details

pants_color + + + + +

+

Color of the pants that will come out

status + + + + +

+

Stage of the pants making process

Proc Details

pants_create +

+

Finishes the creation, creating the item itself, setting the cooldowns and flashing every mob nearby.

pants_stageone +

+

Starts creating the pants, plays the sound.

pants_stagethree +

+

Continues the creation, making every mob nearby dizzy

pants_stagetwo +

+

Continues the creation, making every mob nearby nauseous.

+ + + diff --git a/obj/structure/destructible/cult/pylon.html b/obj/structure/destructible/cult/pylon.html new file mode 100644 index 00000000000..dac3803d00e --- /dev/null +++ b/obj/structure/destructible/cult/pylon.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/destructible/cult/pylon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pylon + + + +

+ + + +

Vars

corruption_cooldownThe cooldown for corruptions.
corruption_cooldown_durationLength of the cooldown in between tile corruptions. Doubled if no turfs are found.
+

Var Details

corruption_cooldown + + + + +

+

The cooldown for corruptions.

corruption_cooldown_duration + + + + +

+

Length of the cooldown in between tile corruptions. Doubled if no turfs are found.

+ + + diff --git a/obj/structure/destructible/eldritch_crucible.html b/obj/structure/destructible/eldritch_crucible.html new file mode 100644 index 00000000000..3db486cbb0f --- /dev/null +++ b/obj/structure/destructible/eldritch_crucible.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/destructible/eldritch_crucible - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eldritch_crucible + + + +

+ + + + +

Vars

current_massHow much mass this currently holds
in_useCheck to see if it is currently being used.
max_massMaximum amount of mass
+

Var Details

current_mass + + + + +

+

How much mass this currently holds

in_use + + + + +

+

Check to see if it is currently being used.

max_mass + + + + +

+

Maximum amount of mass

+ + + diff --git a/obj/structure/displaycase.html b/obj/structure/displaycase.html new file mode 100644 index 00000000000..7e1b1bb13ca --- /dev/null +++ b/obj/structure/displaycase.html @@ -0,0 +1,120 @@ + + + + + + + /obj/structure/displaycase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

displaycase + + + +

+ + + + + + + + + + + + + + +

Vars

alarm_managerRepresents a signel source of screaming when broken
alertIs the displaycase hooked up to a burglar alarm?
autoexamine_while_closedUsed for subtypes that have a UI in them. The examine on click while adjecent will not fire, as we already get a popup
custom_glass_overlayIf we have a custom glass overlay to use.
glass_fixDisplaycase is fixed by glass
openIs the displaycase open at the moment?
showpieceThe showpiece item inside the case
showpiece_typeThis allows for showpieces that can only hold items if they're the same istype as this.
start_showpiece_typeAdd type for items on display

Procs

dumpRemoves the showpiece from the displaycase
insert_showpieceHandles placing an item into the display case. Returns TRUE if the item failed to be placed inside the container, useful for descendants
toggle_lockOpens and closes the display case
trigger_alarmAnti-theft alarm triggered when broken.
+

Var Details

alarm_manager + + + + +

+

Represents a signel source of screaming when broken

alert + + + + +

+

Is the displaycase hooked up to a burglar alarm?

autoexamine_while_closed + + + + +

+

Used for subtypes that have a UI in them. The examine on click while adjecent will not fire, as we already get a popup

custom_glass_overlay + + + + +

+

If we have a custom glass overlay to use.

glass_fix + + + + +

+

Displaycase is fixed by glass

open + + + + +

+

Is the displaycase open at the moment?

showpiece + + + + +

+

The showpiece item inside the case

showpiece_type + + + + +

+

This allows for showpieces that can only hold items if they're the same istype as this.

start_showpiece_type + + + + +

+

Add type for items on display

Proc Details

dump +

+

Removes the showpiece from the displaycase

insert_showpiece +

+

Handles placing an item into the display case. Returns TRUE if the item failed to be placed inside the container, useful for descendants

toggle_lock +

+

Opens and closes the display case

trigger_alarm +

+

Anti-theft alarm triggered when broken.

+ + + diff --git a/obj/structure/displaycase/forsale.html b/obj/structure/displaycase/forsale.html new file mode 100644 index 00000000000..5737568b9ee --- /dev/null +++ b/obj/structure/displaycase/forsale.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/displaycase/forsale - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

forsale + + + +

+ + + + +

Vars

autoexamine_while_closedCan be placed and moved onto a table.
payments_accThe Account which will receive payment for purchases. Set by the first ID to swipe the tray.
sale_priceThe price of the item being sold. Altered by grab intent ID use.
+

Var Details

autoexamine_while_closed + + + + +

+

Can be placed and moved onto a table.

payments_acc + + + + +

+

The Account which will receive payment for purchases. Set by the first ID to swipe the tray.

sale_price + + + + +

+

The price of the item being sold. Altered by grab intent ID use.

+ + + diff --git a/obj/structure/displaycase/trophy.html b/obj/structure/displaycase/trophy.html new file mode 100644 index 00000000000..d674e6d0860 --- /dev/null +++ b/obj/structure/displaycase/trophy.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/displaycase/trophy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

trophy + + + +

+ + + + + + + +

Vars

historian_modeare we about to edit
holographic_showpieceis the trophy a hologram, not a real item placed by a player?
placer_keythe key of the player who placed the item in the case
trophy_messagethe trophy message

Procs

set_up_trophyCreates a showpiece dummy to display, using persistent data
toggle_historian_modeToggles the mode that shows the historian panel on the UI, enabling saving the looks and the trophy message of the current trophy
+

Var Details

historian_mode + + + + +

+

are we about to edit

holographic_showpiece + + + + +

+

is the trophy a hologram, not a real item placed by a player?

placer_key + + + + +

+

the key of the player who placed the item in the case

trophy_message + + + + +

+

the trophy message

Proc Details

set_up_trophy +

+

Creates a showpiece dummy to display, using persistent data

toggle_historian_mode +

+

Toggles the mode that shows the historian panel on the UI, enabling saving the looks and the trophy message of the current trophy

+ + + diff --git a/obj/structure/displaycase_chassis.html b/obj/structure/displaycase_chassis.html new file mode 100644 index 00000000000..c6150b88ae7 --- /dev/null +++ b/obj/structure/displaycase_chassis.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/displaycase_chassis - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

displaycase_chassis + + + +

+ + + +

Vars

electronicsThe airlock electronics inserted into the chassis, to be moved to the finished product.

Procs

make_final_resultMakes the final result of the chassis, then deletes itself.
+

Var Details

electronics + + + + +

+

The airlock electronics inserted into the chassis, to be moved to the finished product.

Proc Details

make_final_result +

+

Makes the final result of the chassis, then deletes itself.

+ + + diff --git a/obj/structure/disposalholder.html b/obj/structure/disposalholder.html new file mode 100644 index 00000000000..7669989bf43 --- /dev/null +++ b/obj/structure/disposalholder.html @@ -0,0 +1,159 @@ + + + + + + + /obj/structure/disposalholder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

disposalholder + + + +

+ + + + + + + + + + + + + + + + + + + +

Vars

activeTrue if the holder is moving, otherwise inactive
countCan travel 1000 steps before going inactive (in case of loops)
destinationTagChanges if contains a delivery container
gasGas used to flush, will appear at exit point
hasmobContains a mob?
tomailContains wrapped package?

Procs

findpipeFinds a matching pipe on a turf
initInitializes a holder from the contents of a disposal unit
mergeMerge two holder objects, used when a holder meets a stuck holder
movement_stopHandles what happens to the contents when the qdel signal triggers
nextlocFinds the turf which should contain the next pipe
pre_moveHandles the preprocess check signal, sets the current pipe as the last pipe
startStarts the movement process, argument is the disposal unit the holder started in
start_movingStarts the movement process, persists while the holder is moving through pipes
struggle_freeCompletes the struggle code
struggle_prepStarts the struggle code
try_expelHandles the postprocess check signal, tries to leave the pipe
vent_gasCalled to vent all gas in holder to a location
+

Var Details

active + + + + +

+

True if the holder is moving, otherwise inactive

count + + + + +

+

Can travel 1000 steps before going inactive (in case of loops)

destinationTag + + + + +

+

Changes if contains a delivery container

gas + + + + +

+

Gas used to flush, will appear at exit point

hasmob + + + + +

+

Contains a mob?

tomail + + + + +

+

Contains wrapped package?

Proc Details

findpipe +

+

Finds a matching pipe on a turf

init +

+

Initializes a holder from the contents of a disposal unit

merge +

+

Merge two holder objects, used when a holder meets a stuck holder

movement_stop +

+

Handles what happens to the contents when the qdel signal triggers

nextloc +

+

Finds the turf which should contain the next pipe

pre_move +

+

Handles the preprocess check signal, sets the current pipe as the last pipe

start +

+

Starts the movement process, argument is the disposal unit the holder started in

start_moving +

+

Starts the movement process, persists while the holder is moving through pipes

struggle_free +

+

Completes the struggle code

+

The linter gets upsetti spaghetti if this is part of the above proc +because the do_after is a sleep.

struggle_prep +

+

Starts the struggle code

+

Called by resist verb (or hotkey) via signal. Makes a sanity +check and then calls part 2.

try_expel +

+

Handles the postprocess check signal, tries to leave the pipe

vent_gas +

+

Called to vent all gas in holder to a location

+ + + diff --git a/obj/structure/disposaloutlet.html b/obj/structure/disposaloutlet.html new file mode 100644 index 00000000000..5cdb099991e --- /dev/null +++ b/obj/structure/disposaloutlet.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/disposaloutlet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

disposaloutlet + + + +

+ + +

Vars

eject_speedhow fast we're spitting fir- atoms
+

Var Details

eject_speed + + + + +

+

how fast we're spitting fir- atoms

+ + + diff --git a/obj/structure/disposalpipe.html b/obj/structure/disposalpipe.html new file mode 100644 index 00000000000..311560eb88c --- /dev/null +++ b/obj/structure/disposalpipe.html @@ -0,0 +1,62 @@ + + + + + + + /obj/structure/disposalpipe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

disposalpipe + + + +

+ + + + + +

Vars

spawn_pipeShould we create a pipe on destroy?
storedThe pipe used to create us, if it exists +(I like it when c4 carries over)

Procs

shuttleRotateStructure rotate procs
spew_forthExpells the pipe's contents.
+

Var Details

spawn_pipe + + + + +

+

Should we create a pipe on destroy?

stored + + + + +

+

The pipe used to create us, if it exists +(I like it when c4 carries over)

Proc Details

shuttleRotate +

+

Structure rotate procs

spew_forth +

+

Expells the pipe's contents.

+

This proc checks through src's contents for holder objects, +and then tells each one to empty onto the tile. Called when +the pipe is deconstructed or someone struggles out.

+ + + diff --git a/obj/structure/disposalpipe/rotator.html b/obj/structure/disposalpipe/rotator.html new file mode 100644 index 00000000000..e3ec77a1195 --- /dev/null +++ b/obj/structure/disposalpipe/rotator.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/disposalpipe/rotator - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

rotator + + + +

+ + +

Vars

direction_angleIn what direction the atom travels.
+

Var Details

direction_angle + + + + +

+

In what direction the atom travels.

+ + + diff --git a/obj/structure/disposalpipe/sorting.html b/obj/structure/disposalpipe/sorting.html new file mode 100644 index 00000000000..8c44db08408 --- /dev/null +++ b/obj/structure/disposalpipe/sorting.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/disposalpipe/sorting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

sorting + + + +

+ + +

Procs

check_sortingSorting check, to be overridden in subtypes

Proc Details

check_sorting +

+

Sorting check, to be overridden in subtypes

+ + + diff --git a/obj/structure/door_assembly.html b/obj/structure/door_assembly.html new file mode 100644 index 00000000000..263bf322702 --- /dev/null +++ b/obj/structure/door_assembly.html @@ -0,0 +1,106 @@ + + + + + + + /obj/structure/door_assembly - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

door_assembly + + + +

+ + + + + + + + + + + + +

Vars

airlock_typeThe type path of the airlock once completed (solid version)
glassFALSE = glass can be installed. TRUE = glass is already installed.
glass_typeThe type path of the airlock once completed (glass version)
heat_proof_finishedWhether to heat-proof the finished airlock
material_amtAmount of material the airlock drops when deconstructed
material_typeWhat type of material the airlock drops when deconstructed
multi_tileDo we perform the extra checks required for multi-tile (large) airlocks
noglassAirlocks with no glass version, also cannot be modified with sheets
nomineralAirlock with glass version, but cannot be modified with sheets
previous_assemblyIf you're changing the airlock material, what is the previous type
stateAirlock's current construction state
+

Var Details

airlock_type + + + + +

+

The type path of the airlock once completed (solid version)

glass + + + + +

+

FALSE = glass can be installed. TRUE = glass is already installed.

glass_type + + + + +

+

The type path of the airlock once completed (glass version)

heat_proof_finished + + + + +

+

Whether to heat-proof the finished airlock

material_amt + + + + +

+

Amount of material the airlock drops when deconstructed

material_type + + + + +

+

What type of material the airlock drops when deconstructed

multi_tile + + + + +

+

Do we perform the extra checks required for multi-tile (large) airlocks

noglass + + + + +

+

Airlocks with no glass version, also cannot be modified with sheets

nomineral + + + + +

+

Airlock with glass version, but cannot be modified with sheets

previous_assembly + + + + +

+

If you're changing the airlock material, what is the previous type

state + + + + +

+

Airlock's current construction state

+ + + diff --git a/obj/structure/elite_tumor.html b/obj/structure/elite_tumor.html new file mode 100644 index 00000000000..27955f9322b --- /dev/null +++ b/obj/structure/elite_tumor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/elite_tumor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

elite_tumor + + + +

+ + +

Vars

potentialspawnsList of all potentially spawned elites
+

Var Details

potentialspawns + + + + +

+

List of all potentially spawned elites

+ + + diff --git a/obj/structure/emergency_shield/cult/barrier.html b/obj/structure/emergency_shield/cult/barrier.html new file mode 100644 index 00000000000..3271701f4f8 --- /dev/null +++ b/obj/structure/emergency_shield/cult/barrier.html @@ -0,0 +1,46 @@ + + + + + + + /obj/structure/emergency_shield/cult/barrier - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

barrier + + + +

+ + + +

Vars

parent_runeThe rune that created the shield itself. Used to delete the rune when the shield is destroyed.

Procs

ToggleTurns the shield on and off.
+

Var Details

parent_rune + + + + +

+

The rune that created the shield itself. Used to delete the rune when the shield is destroyed.

Proc Details

Toggle +

+

Turns the shield on and off.

+

The shield has 2 states: on and off. When on, it will block movement,projectiles, items, etc. and be clearly visible, and block atmospheric gases. +When off, the rune no longer blocks anything and turns invisible. +The barrier itself is not intended to interact with the conceal runes cult spell for balance purposes.

+ + + diff --git a/obj/structure/emergency_shield/modular.html b/obj/structure/emergency_shield/modular.html new file mode 100644 index 00000000000..d712ef257e2 --- /dev/null +++ b/obj/structure/emergency_shield/modular.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/emergency_shield/modular - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

modular + + + +

+ + +

Vars

shield_generatorThe shield generator sustaining us
+

Var Details

shield_generator + + + + +

+

The shield generator sustaining us

+ + + diff --git a/obj/structure/emergency_shield/regenerating.html b/obj/structure/emergency_shield/regenerating.html new file mode 100644 index 00000000000..0e8238b7750 --- /dev/null +++ b/obj/structure/emergency_shield/regenerating.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/emergency_shield/regenerating - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

regenerating + + + +

+ +

Subtype of shields that repair over time after sustaining integrity damage

+

Vars

heal_rate_per_secondHow much integrity is healed per second (per process multiplied by seconds per tick)
+

Var Details

heal_rate_per_second + + + + +

+

How much integrity is healed per second (per process multiplied by seconds per tick)

+ + + diff --git a/obj/structure/energy_net.html b/obj/structure/energy_net.html new file mode 100644 index 00000000000..4978bdbebfb --- /dev/null +++ b/obj/structure/energy_net.html @@ -0,0 +1,31 @@ + + + + + + + /obj/structure/energy_net - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

Energy Net + + + +

+ +

Energy net which ensnares prey until it is destroyed. Used by space ninjas.

+

Energy net which keeps its target from moving until it is destroyed. Used to send +players to a holding area in which they could never leave, but such feature has since +been removed.

+ + + diff --git a/obj/structure/ethereal_crystal.html b/obj/structure/ethereal_crystal.html new file mode 100644 index 00000000000..b6a056265dd --- /dev/null +++ b/obj/structure/ethereal_crystal.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/ethereal_crystal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

ethereal_crystal + + + +

+ + + + +

Vars

being_builtIs the crystal still being built? True by default, gets changed after a timer.
crystal_heal_timerTimer for the healing process. Stops if destroyed.
ethereal_heartThe organ this crystal belongs to
+

Var Details

being_built + + + + +

+

Is the crystal still being built? True by default, gets changed after a timer.

crystal_heal_timer + + + + +

+

Timer for the healing process. Stops if destroyed.

ethereal_heart + + + + +

+

The organ this crystal belongs to

+ + + diff --git a/obj/structure/falsewall.html b/obj/structure/falsewall.html new file mode 100644 index 00000000000..999aab3fb2e --- /dev/null +++ b/obj/structure/falsewall.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/falsewall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

falsewall + + + +

+ + +

Vars

fake_iconThe icon this falsewall is faking being. we'll switch out our icon with this when we're in fake mode
+

Var Details

fake_icon + + + + +

+

The icon this falsewall is faking being. we'll switch out our icon with this when we're in fake mode

+ + + diff --git a/obj/structure/falsewall/uranium.html b/obj/structure/falsewall/uranium.html new file mode 100644 index 00000000000..2369e840739 --- /dev/null +++ b/obj/structure/falsewall/uranium.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/falsewall/uranium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uranium + + + +

+ + + +

Vars

activeMutex to prevent infinite recursion when propagating radiation pulses
last_eventThe last time a radiation pulse was performed
+

Var Details

active + + + + +

+

Mutex to prevent infinite recursion when propagating radiation pulses

last_event + + + + +

+

The last time a radiation pulse was performed

+ + + diff --git a/obj/structure/fermenting_barrel.html b/obj/structure/fermenting_barrel.html new file mode 100644 index 00000000000..1d5fedbb659 --- /dev/null +++ b/obj/structure/fermenting_barrel.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/fermenting_barrel - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fermenting_barrel + + + +

+ + + + + + + + + +

Vars

fermentingWhether the fermentation is ongoing
potential_volumeThe amount of reagents that can be created from the contained products, used for validation
sound_volumeThe volume of the barrel sounds
soundloopThe sound of fermentation

Procs

insert_fruitAdds the fruit to the barrel to queue the fermentation
process_fermentationFerments the next found fruit into wine
start_fermentationStarts the fermentation process
stop_fermentationStops the fermentation process
+

Var Details

fermenting + + + + +

+

Whether the fermentation is ongoing

potential_volume + + + + +

+

The amount of reagents that can be created from the contained products, used for validation

sound_volume + + + + +

+

The volume of the barrel sounds

soundloop + + + + +

+

The sound of fermentation

Proc Details

insert_fruit +

+

Adds the fruit to the barrel to queue the fermentation

process_fermentation +

+

Ferments the next found fruit into wine

start_fermentation +

+

Starts the fermentation process

stop_fermentation +

+

Stops the fermentation process

+ + + diff --git a/obj/structure/filingcabinet/employment.html b/obj/structure/filingcabinet/employment.html new file mode 100644 index 00000000000..1e7d03e85c0 --- /dev/null +++ b/obj/structure/filingcabinet/employment.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/filingcabinet/employment - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

employment + + + +

+ + +

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact
+

Var Details

virgin + + + + +

+

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

+ + + diff --git a/obj/structure/filingcabinet/medical.html b/obj/structure/filingcabinet/medical.html new file mode 100644 index 00000000000..89fce0bc75d --- /dev/null +++ b/obj/structure/filingcabinet/medical.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/filingcabinet/medical - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

medical + + + +

+ + +

Vars

virginThis var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact
+

Var Details

virgin + + + + +

+

This var is so that its filled on crew interaction to be as accurate (including latejoins) as possible, true until first interact

+ + + diff --git a/obj/structure/fireaxecabinet.html b/obj/structure/fireaxecabinet.html new file mode 100644 index 00000000000..cc7446c92a9 --- /dev/null +++ b/obj/structure/fireaxecabinet.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/fireaxecabinet - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

fireaxecabinet + + + +

+ + + + + + + +

Vars

held_itemThe item we're holding.
item_overlayOverlay we get when the item is inside us.
item_pathThe path of the item we spawn and can hold.
lockedDo we need to be unlocked to be opened.
openAre we opened, can someone take the held item out.
populate_contentsWhether we should populate our own contents on Initialize()
+

Var Details

held_item + + + + +

+

The item we're holding.

item_overlay + + + + +

+

Overlay we get when the item is inside us.

item_path + + + + +

+

The path of the item we spawn and can hold.

locked + + + + +

+

Do we need to be unlocked to be opened.

open + + + + +

+

Are we opened, can someone take the held item out.

populate_contents + + + + +

+

Whether we should populate our own contents on Initialize()

+ + + diff --git a/obj/structure/fireplace.html b/obj/structure/fireplace.html new file mode 100644 index 00000000000..0a96b47f40e --- /dev/null +++ b/obj/structure/fireplace.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/fireplace - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

fireplace + + + +

+ + + + + + +

Vars

burning_loopthe looping sound effect that is played while burning
flame_expiry_timerhow much time is left before fire runs out of fuel
fuel_addedthe amount of fuel for the fire
litis the fireplace lit?

Procs

get_light_offsetWe're offset back into the wall, account for that
+

Var Details

burning_loop + + + + +

+

the looping sound effect that is played while burning

flame_expiry_timer + + + + +

+

how much time is left before fire runs out of fuel

fuel_added + + + + +

+

the amount of fuel for the fire

lit + + + + +

+

is the fireplace lit?

Proc Details

get_light_offset +

+

We're offset back into the wall, account for that

+ + + diff --git a/obj/structure/flora.html b/obj/structure/flora.html new file mode 100644 index 00000000000..6bd4ada27e9 --- /dev/null +++ b/obj/structure/flora.html @@ -0,0 +1,136 @@ + + + + + + + /obj/structure/flora - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

flora + + + +

+ + + + + + + + + + + + + + + + +

Vars

can_uprootIf the user is allowed to uproot the flora
flora_flagsFlags for the flora to determine what kind of sound to play when it gets hit
harvest_amount_highThe high end of how many product_type items you get
harvest_amount_lowThe low end of how many product_type items you get
harvest_message_true_thresholdsSee proc/harvest() and where this is used for an explaination on how this works
harvest_timeHow long it takes to harvest the flora with the correct tool
harvest_verbThe "verb" to use when the user harvests the flora
harvest_verb_suffixWhat should be added to harvest_verb depending on the context ("user harvest(s) the tree" / "user chop(s down) the tree")
harvest_with_handsIf the user is able to harvest this with their hands
harvestableIf false, the flora won't be able to be harvested at all. If it's true, go through checks normally to determine if the flora is able to be harvested
harvested_descIf set, the flora will have this as its description after being harvested. When the flora becomes harvestable again, it regerts to its initial(desc)
harvested_nameIf set, the flora will have this as its name after being harvested. When the flora becomes harvestable again, it reverts to its initial(name)
product_typesA lazylist of products that could be created when harvesting this flora, syntax is (type = weight) +Because of how this works, it can spawn in anomalies if you want it to. Or wall girders
regrowth_time_highStops the flora from regrowing if this is set to 0
regrowth_time_lowVariables for determining the low/high ends of how long it takes for the flora takes to grow.
+

Var Details

can_uproot + + + + +

+

If the user is allowed to uproot the flora

flora_flags + + + + +

+

Flags for the flora to determine what kind of sound to play when it gets hit

harvest_amount_high + + + + +

+

The high end of how many product_type items you get

harvest_amount_low + + + + +

+

The low end of how many product_type items you get

harvest_message_true_thresholds + + + + +

+

See proc/harvest() and where this is used for an explaination on how this works

harvest_time + + + + +

+

How long it takes to harvest the flora with the correct tool

harvest_verb + + + + +

+

The "verb" to use when the user harvests the flora

harvest_verb_suffix + + + + +

+

What should be added to harvest_verb depending on the context ("user harvest(s) the tree" / "user chop(s down) the tree")

harvest_with_hands + + + + +

+

If the user is able to harvest this with their hands

harvestable + + + + +

+

If false, the flora won't be able to be harvested at all. If it's true, go through checks normally to determine if the flora is able to be harvested

harvested_desc + + + + +

+

If set, the flora will have this as its description after being harvested. When the flora becomes harvestable again, it regerts to its initial(desc)

harvested_name + + + + +

+

If set, the flora will have this as its name after being harvested. When the flora becomes harvestable again, it reverts to its initial(name)

product_types + + + + +

+

A lazylist of products that could be created when harvesting this flora, syntax is (type = weight) +Because of how this works, it can spawn in anomalies if you want it to. Or wall girders

regrowth_time_high + + + + +

+

Stops the flora from regrowing if this is set to 0

regrowth_time_low + + + + +

+

Variables for determining the low/high ends of how long it takes for the flora takes to grow.

+ + + diff --git a/obj/structure/flora/tree.html b/obj/structure/flora/tree.html new file mode 100644 index 00000000000..64b8a3d77ec --- /dev/null +++ b/obj/structure/flora/tree.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/flora/tree - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tree + + + +

+ +

Trees

+

Procs

get_seethrough_mapReturn a see_through_map, examples in seethrough.dm

Proc Details

get_seethrough_map +

+

Return a see_through_map, examples in seethrough.dm

+ + + diff --git a/obj/structure/fluff.html b/obj/structure/fluff.html new file mode 100644 index 00000000000..296cbef34b7 --- /dev/null +++ b/obj/structure/fluff.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/fluff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

Fluff structure + + + +

+ +

Fluff structures serve no purpose and exist only for enriching the environment. By default, they can be deconstructed with a wrench.

+

Vars

deconstructibleIf true, the structure can be deconstructed into a metal sheet with a wrench.
+

Var Details

deconstructible + + + + +

+

If true, the structure can be deconstructed into a metal sheet with a wrench.

+ + + diff --git a/obj/structure/fluff/airlock_filler.html b/obj/structure/fluff/airlock_filler.html new file mode 100644 index 00000000000..540ca436908 --- /dev/null +++ b/obj/structure/fluff/airlock_filler.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/fluff/airlock_filler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

airlock_filler + + + +

+ + + + + +

Vars

filled_airlockThe door/airlock this fluff panel is attached to

Procs

CanAllowThroughMulti-tile airlocks (using a filler panel) have special handling for movables with PASSGLASS
no_airlockMulti-tile airlocks pair with a filler panel, if one goes so does the other.
pair_airlockCreate a ref to our parent airlock and listen for a QDEL, which we will al
+

Var Details

filled_airlock + + + + +

+

The door/airlock this fluff panel is attached to

Proc Details

CanAllowThrough +

+

Multi-tile airlocks (using a filler panel) have special handling for movables with PASSGLASS

no_airlock +

+

Multi-tile airlocks pair with a filler panel, if one goes so does the other.

pair_airlock +

+

Create a ref to our parent airlock and listen for a QDEL, which we will al

+ + + diff --git a/obj/structure/fluff/iced_abductor.html b/obj/structure/fluff/iced_abductor.html new file mode 100644 index 00000000000..28a24489eca --- /dev/null +++ b/obj/structure/fluff/iced_abductor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/fluff/iced_abductor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

iced_abductor + + + +

+ + +

Vars

nameUnless more non-machine ayy structures made, it will stay in fluff.
+

Var Details

name + + + + +

+

Unless more non-machine ayy structures made, it will stay in fluff.

+ + + diff --git a/obj/structure/foamedmetal.html b/obj/structure/foamedmetal.html new file mode 100644 index 00000000000..c9805a46f37 --- /dev/null +++ b/obj/structure/foamedmetal.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/foamedmetal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

foamedmetal + + + +

+ +

FOAM STRUCTURE. Formed by metal foams. Dense and opaque, but easy to break

+

Vars

next_beepVar used to prevent spamming of the construction sound
+

Var Details

next_beep + + + + +

+

Var used to prevent spamming of the construction sound

+ + + diff --git a/obj/structure/frame/computer.html b/obj/structure/frame/computer.html new file mode 100644 index 00000000000..b3a2942e50e --- /dev/null +++ b/obj/structure/frame/computer.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/frame/computer - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

computer + + + +

+ + +

Procs

install_boardInstalls the board in the computer

Proc Details

install_board +

+

Installs the board in the computer

+ + + diff --git a/obj/structure/frame/machine.html b/obj/structure/frame/machine.html new file mode 100644 index 00000000000..c75073e66da --- /dev/null +++ b/obj/structure/frame/machine.html @@ -0,0 +1,62 @@ + + + + + + + /obj/structure/frame/machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

machine + + + +

+ + + + +

Procs

install_boardinstall the circuitboard in this frame
look_formore efficient return so no if conditions after this are executed. +Required when the rped is re attacking the frame after installing circuitboard so it returns quickly +returns instance of path1 in list else path2 in list
update_namelistCollates the displayed names of the machine's components

Proc Details

install_board +

+

install the circuitboard in this frame

+
    +
  • board - the machine circuitboard to install
  • +
  • user - the player
  • +
  • by_hand - is the player installing the board by hand or from the RPED. Used to decide how to transfer the board into the frame
  • +

look_for +

+

more efficient return so no if conditions after this are executed. +Required when the rped is re attacking the frame after installing circuitboard so it returns quickly +returns instance of path1 in list else path2 in list

update_namelist +

+

Collates the displayed names of the machine's components

+

Arguments:

+
    +
  • specific_parts - If true, the component should not use base name, but a specific tier
  • +
+ + + diff --git a/obj/structure/gel_cocoon.html b/obj/structure/gel_cocoon.html new file mode 100644 index 00000000000..a0757b5c390 --- /dev/null +++ b/obj/structure/gel_cocoon.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/gel_cocoon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

gel_cocoon + + + +

+ + + +

Procs

dump_inhabitantThis proc dumps the mob and handles associated audiovisual feedback
insert_targetThis proc handles the insertion of a person into the cocoon

Proc Details

dump_inhabitant +

+

This proc dumps the mob and handles associated audiovisual feedback

insert_target +

+

This proc handles the insertion of a person into the cocoon

+ + + diff --git a/obj/structure/geyser.html b/obj/structure/geyser.html new file mode 100644 index 00000000000..b83e7e3eebc --- /dev/null +++ b/obj/structure/geyser.html @@ -0,0 +1,106 @@ + + + + + + + /obj/structure/geyser - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

geyser + + + +

+ +

A lavaland geyser that spawns chems and can be mining scanned for points. Made to work with the plumbing pump to extract that sweet rare nectar

+ + + + + + + + + + +

Vars

discoveredHave we been discovered with a mining scanner?
discovery_messagethe message given when you discover this geyser.
erupting_stateset to null to get it greyscaled from "[icon_state]_soup". Not very usable with the whole random thing, but more types can be added if you change the spawn prob
max_volumemaximum volume
point_valueHow many points we grant to whoever discovers us
potencyhow much reagents we add every process (2 seconds)
reagent_idwhat chem do we produce?
true_namewhat's our real name that will show upon discovery? null to do nothing

Procs

processAdd reagents until we are full
start_chemmingstart making those CHHHHHEEEEEEMS. Called whenever chems are removed, it's fine because START_PROCESSING checks if we arent already processing
stop_chemmingWe're full so stop processing
+

Var Details

discovered + + + + +

+

Have we been discovered with a mining scanner?

discovery_message + + + + +

+

the message given when you discover this geyser.

erupting_state + + + + +

+

set to null to get it greyscaled from "[icon_state]_soup". Not very usable with the whole random thing, but more types can be added if you change the spawn prob

max_volume + + + + +

+

maximum volume

point_value + + + + +

+

How many points we grant to whoever discovers us

potency + + + + +

+

how much reagents we add every process (2 seconds)

reagent_id + + + + +

+

what chem do we produce?

true_name + + + + +

+

what's our real name that will show upon discovery? null to do nothing

Proc Details

process +

+

Add reagents until we are full

start_chemming +

+

start making those CHHHHHEEEEEEMS. Called whenever chems are removed, it's fine because START_PROCESSING checks if we arent already processing

stop_chemming +

+

We're full so stop processing

+ + + diff --git a/obj/structure/ghost_portal.html b/obj/structure/ghost_portal.html new file mode 100644 index 00000000000..811c7fab486 --- /dev/null +++ b/obj/structure/ghost_portal.html @@ -0,0 +1,37 @@ + + + + + + + /obj/structure/ghost_portal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ghost_portal + + + +

+ + +

Procs

make_ghost_swarmGenerates a poll for observers, spawning anyone who signs up in a large group of ghost mobs

Proc Details

make_ghost_swarm +

+

Generates a poll for observers, spawning anyone who signs up in a large group of ghost mobs

+

Generates a poll that asks anyone observing for participation. Spawns a bunch of basicmob ghosts with the keys of candidates who have signed up. +Ghosts are deleted two minutes after being made, and exist to punch stuff until it breaks.

+ + + diff --git a/obj/structure/girder.html b/obj/structure/girder.html new file mode 100644 index 00000000000..80d33f85fe8 --- /dev/null +++ b/obj/structure/girder.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/girder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

girder + + + +

+ + +

Vars

construction_costThe material cost to construct something on the girder
+

Var Details

construction_cost + + + + +

+

The material cost to construct something on the girder

+ + + diff --git a/obj/structure/glowshroom.html b/obj/structure/glowshroom.html new file mode 100644 index 00000000000..bf2d5f492f2 --- /dev/null +++ b/obj/structure/glowshroom.html @@ -0,0 +1,135 @@ + + + + + + + /obj/structure/glowshroom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

glowshroom + + + +

+ + + + + + + + + + + + + + + +

Vars

blacklisted_glowshroom_turfsTurfs where the glowshroom cannot spread to
endurance_decay_rateAmount of percentage decay affects endurance.max_integrity =
floorBoolean to indicate if the shroom is on the floor/wall
generationMushroom generation number
idle_decay_maxAmount of decay when decay happens on process
idle_decay_minAmount of decay when decay happens on process.
max_delay_spreadMax time interval between glowshroom "spreads"
min_delay_spreadMin time interval between glowshroom "spreads"
myseedInternal seed of the glowshroom, stats are stored here
spread_cooldownCooldown for when next to try to spread.
spread_into_adjacent_chanceChance to spread into adjacent tiles (0-100)

Procs

DecayCauses the glowshroom to decay by decreasing its endurance, destroying it when it gets too low.
InitializeCreates a new glowshroom structure.
processCauses glowshroom spreading across the floor/walls.
+

Var Details

blacklisted_glowshroom_turfs + + + + +

+

Turfs where the glowshroom cannot spread to

endurance_decay_rate + + + + +

+

Amount of percentage decay affects endurance.max_integrity =

floor + + + + +

+

Boolean to indicate if the shroom is on the floor/wall

generation + + + + +

+

Mushroom generation number

idle_decay_max + + + + +

+

Amount of decay when decay happens on process

idle_decay_min + + + + +

+

Amount of decay when decay happens on process.

max_delay_spread + + + + +

+

Max time interval between glowshroom "spreads"

min_delay_spread + + + + +

+

Min time interval between glowshroom "spreads"

myseed + + + + +

+

Internal seed of the glowshroom, stats are stored here

spread_cooldown + + + + +

+

Cooldown for when next to try to spread.

spread_into_adjacent_chance + + + + +

+

Chance to spread into adjacent tiles (0-100)

Proc Details

Decay +

+

Causes the glowshroom to decay by decreasing its endurance, destroying it when it gets too low.

+

Arguments:

+
    +
  • amount - Amount of endurance to be reduced due to spread decay.
  • +

Initialize +

+

Creates a new glowshroom structure.

+

Arguments:

+
    +
  • newseed - Seed of the shroom
  • +

process +

+

Causes glowshroom spreading across the floor/walls.

+ + + diff --git a/obj/structure/grille.html b/obj/structure/grille.html new file mode 100644 index 00000000000..355d5e18aa1 --- /dev/null +++ b/obj/structure/grille.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/grille - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

grille + + + +

+ + +

Procs

beforeShuttleMoveStructure move procs

Proc Details

beforeShuttleMove +

+

Structure move procs

+ + + diff --git a/obj/structure/grille/tram.html b/obj/structure/grille/tram.html new file mode 100644 index 00000000000..5a75df5bac2 --- /dev/null +++ b/obj/structure/grille/tram.html @@ -0,0 +1,44 @@ + + + + + + + /obj/structure/grille/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

tram + + + +

+ + +

Procs

Initializethe tram has a few objects mapped onto it at roundstart, by default many of those objects have unwanted properties +for example grilles and windows have the atmos_sensitive element applied to them, which makes them register to +themselves moving to re register signals onto the turf via connect_loc. this is bad and dumb since it makes the tram +more expensive to move.

Proc Details

Initialize +

+

the tram has a few objects mapped onto it at roundstart, by default many of those objects have unwanted properties +for example grilles and windows have the atmos_sensitive element applied to them, which makes them register to +themselves moving to re register signals onto the turf via connect_loc. this is bad and dumb since it makes the tram +more expensive to move.

+

if you map something on to the tram, make SURE if possible that it doesnt have anything reacting to its own movement +it will make the tram more expensive to move and we dont want that because we dont want to return to the days where +the tram took a third of the tick per movement when its just carrying its default mapped in objects

+ + + diff --git a/obj/structure/guillotine.html b/obj/structure/guillotine.html new file mode 100644 index 00000000000..23b3e7985d5 --- /dev/null +++ b/obj/structure/guillotine.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/guillotine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

guillotine + + + +

+ + + + + + + + +

Vars

blade_sharpnessHow sharp the blade is
blade_statusThe current state of the blade
current_actionWhat's currently happening to the guillotine
drop_soundThe sound the guillotine makes when it successfully cuts off a head
kill_countThe number of mobs the blade has killed

Procs

drop_bladeDrops the guillotine blade, potentially beheading or harming the buckled mob
raise_bladeSets the guillotine blade in a raised position
+

Var Details

blade_sharpness + + + + +

+

How sharp the blade is

blade_status + + + + +

+

The current state of the blade

current_action + + + + +

+

What's currently happening to the guillotine

drop_sound + + + + +

+

The sound the guillotine makes when it successfully cuts off a head

kill_count + + + + +

+

The number of mobs the blade has killed

Proc Details

drop_blade +

+

Drops the guillotine blade, potentially beheading or harming the buckled mob

raise_blade +

+

Sets the guillotine blade in a raised position

+ + + diff --git a/obj/structure/guncase.html b/obj/structure/guncase.html new file mode 100644 index 00000000000..7d59337b5a8 --- /dev/null +++ b/obj/structure/guncase.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/guncase - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

guncase + + + +

+ + + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
show_menushow_menu: Shows a radial menu to a user consisting of an available weaponry for taking

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with a menu
  • +

show_menu +

+

show_menu: Shows a radial menu to a user consisting of an available weaponry for taking

+

Arguments:

+
    +
  • user The mob to which we are showing the radial menu
  • +
+ + + diff --git a/obj/structure/hololadder.html b/obj/structure/hololadder.html new file mode 100644 index 00000000000..030e3c71c80 --- /dev/null +++ b/obj/structure/hololadder.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/hololadder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hololadder + + + +

+ + + + +

Vars

travel_timeTime req to disconnect properly

Procs

disconnectIf there's a pilot ref- send the disconnect signal
on_enterHelper for times when you dont have hands (gondola??)
+

Var Details

travel_time + + + + +

+

Time req to disconnect properly

Proc Details

disconnect +

+

If there's a pilot ref- send the disconnect signal

on_enter +

+

Helper for times when you dont have hands (gondola??)

+ + + diff --git a/obj/structure/holopay.html b/obj/structure/holopay.html new file mode 100644 index 00000000000..b0cb203eaee --- /dev/null +++ b/obj/structure/holopay.html @@ -0,0 +1,157 @@ + + + + + + + /obj/structure/holopay - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

holopay + + + +

+ + + + + + + + + + + + + +

Vars

force_feeReplaces the "pay whatever" functionality with a set amount when non-zero.
linked_cardID linked to the holopay
max_holo_rangeMax range at which the hologram can be projected before it deletes
shop_logoThe holopay shop icon displayed in the UI

Procs

alert_buyerAccount checks +If the user has enough money, ask them the amount or charge the force fee +Exit checks in case the user cancelled or entered an invalid amount +Success: Alert the buyer +Alerts the owner of the transaction.
assign_cardLinks the source card to the holopay. Begins checking if its in range.
attackby_secondaryUsers can pay with an ID to skip the UI +Users can also pay by holochip +Account checks +Charges force fee or uses pay what you want +Exit sanity checks +Success: Alert buyer +Throws errors if they try to use space cash
dissipateCreates holopay vanishing effects. +Deletes the holopay thereafter.
handle_moveA periodic check to see if the projecting card is nearby. +Deletes the holopay if not.
process_paymentInitiates a transaction between accounts.
trackStart checking if the source projection is in range
ui_interactCan kill it by right-clicking with ID because it seems useful and intuitive, to me, at least
+

Var Details

force_fee + + + + +

+

Replaces the "pay whatever" functionality with a set amount when non-zero.

linked_card + + + + +

+

ID linked to the holopay

max_holo_range + + + + +

+

Max range at which the hologram can be projected before it deletes

+

The holopay shop icon displayed in the UI

Proc Details

alert_buyer +

+

Account checks +If the user has enough money, ask them the amount or charge the force fee +Exit checks in case the user cancelled or entered an invalid amount +Success: Alert the buyer +Alerts the owner of the transaction.

+

Parameters:

+
    +
  • payee - The user who initiated the transaction.
  • +
  • amount - The amount of money that was paid. +Returns:
  • +
  • TRUE - alert was successful.
  • +

assign_card +

+

Links the source card to the holopay. Begins checking if its in range.

+

Parameters:

+
    +
  • turf/target - The tile to project the holopay onto
  • +
  • obj/item/card/id/card - The card to link to the holopay +Returns:
  • +
  • TRUE - the card was linked
  • +

attackby_secondary +

+

Users can pay with an ID to skip the UI +Users can also pay by holochip +Account checks +Charges force fee or uses pay what you want +Exit sanity checks +Success: Alert buyer +Throws errors if they try to use space cash

dissipate +

+

Creates holopay vanishing effects. +Deletes the holopay thereafter.

handle_move +

+

A periodic check to see if the projecting card is nearby. +Deletes the holopay if not.

process_payment +

+

Initiates a transaction between accounts.

+

Parameters:

+
    +
  • mob/living/user - The user who initiated the transaction. +Returns:
  • +
  • TRUE - transaction was successful
  • +

track +

+

Start checking if the source projection is in range

ui_interact +

+

Can kill it by right-clicking with ID because it seems useful and intuitive, to me, at least

+ + + diff --git a/obj/structure/hoop.html b/obj/structure/hoop.html new file mode 100644 index 00000000000..e6f3b42429d --- /dev/null +++ b/obj/structure/hoop.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/hoop - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

hoop + + + +

+ + + + +

Vars

throw_range_successThe chance to score a ball into the hoop based on distance
total_scoreKeeps track of the total points scored

Procs

dunk_animationThis bobs the mob in the hoop direction for the dunk animation
+

Var Details

throw_range_success + + + + +

+

The chance to score a ball into the hoop based on distance

total_score + + + + +

+

Keeps track of the total points scored

Proc Details

dunk_animation +

+

This bobs the mob in the hoop direction for the dunk animation

+ + + diff --git a/obj/structure/hoop/minigame.html b/obj/structure/hoop/minigame.html new file mode 100644 index 00000000000..163498b14ef --- /dev/null +++ b/obj/structure/hoop/minigame.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/hoop/minigame - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

minigame + + + +

+ + +

Vars

team_ckeysThis is a list of ckeys for the minigame to prevent scoring on their own hoops
+

Var Details

team_ckeys + + + + +

+

This is a list of ckeys for the minigame to prevent scoring on their own hoops

+ + + diff --git a/obj/structure/ladder.html b/obj/structure/ladder.html new file mode 100644 index 00000000000..a183c57917d --- /dev/null +++ b/obj/structure/ladder.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/ladder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ladder + + + +

+ + + + + + +

Vars

travel_timetravel time for ladder in deciseconds

Procs

ghost_useGhosts use the byond default popup menu function on right click, so this is going to work a little differently for them.
show_final_fluff_messageThe messages shown after the player has finished climbing. Players can see this happen from either src or the destination so we've 2 POVs here
show_initial_fluff_messageThe message shown when the player starts climbing the ladder
show_optionsShows a radial menu that players can use to climb up and down a stair.
+

Var Details

travel_time + + + + +

+

travel time for ladder in deciseconds

Proc Details

ghost_use +

+

Ghosts use the byond default popup menu function on right click, so this is going to work a little differently for them.

show_final_fluff_message +

+

The messages shown after the player has finished climbing. Players can see this happen from either src or the destination so we've 2 POVs here

show_initial_fluff_message +

+

The message shown when the player starts climbing the ladder

show_options +

+

Shows a radial menu that players can use to climb up and down a stair.

+ + + diff --git a/obj/structure/legionturret.html b/obj/structure/legionturret.html new file mode 100644 index 00000000000..8f77ed99910 --- /dev/null +++ b/obj/structure/legionturret.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/legionturret - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

legionturret + + + +

+ +

A basic turret that shoots at nearby mobs. Intended to be used for the legion megafauna.

+ + + + + +

Vars

initial_firing_timeTime until the tracer gets shot
projectile_typeWhat kind of projectile the actual damaging part should be.
shot_delayHow long it takes between shooting the tracer and the projectile.

Procs

fireCalled when attacking a target. Shoots a projectile at the turf underneath the target.
fire_beamCalled shot_delay after the turret shot the tracer. Shoots a projectile into the same direction.
set_up_shotHandles an extremely basic AI
+

Var Details

initial_firing_time + + + + +

+

Time until the tracer gets shot

projectile_type + + + + +

+

What kind of projectile the actual damaging part should be.

shot_delay + + + + +

+

How long it takes between shooting the tracer and the projectile.

Proc Details

fire +

+

Called when attacking a target. Shoots a projectile at the turf underneath the target.

fire_beam +

+

Called shot_delay after the turret shot the tracer. Shoots a projectile into the same direction.

set_up_shot +

+

Handles an extremely basic AI

+ + + diff --git a/obj/structure/light_construct.html b/obj/structure/light_construct.html new file mode 100644 index 00000000000..8ba2bec71f4 --- /dev/null +++ b/obj/structure/light_construct.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/light_construct - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light_construct + + + +

+ + + + + + + +

Vars

cellReference for the internal cell
cell_connectorsCan we support a cell?
fixture_typeType of fixture for icon state
new_lightReference for light object
sheets_refundedAmount of sheets gained on deconstruction
stageLight construction stage (LIGHT_CONSTRUCT_EMPTY, LIGHT_CONSTRUCT_WIRED, LIGHT_CONSTRUCT_CLOSED)
+

Var Details

cell + + + + +

+

Reference for the internal cell

cell_connectors + + + + +

+

Can we support a cell?

fixture_type + + + + +

+

Type of fixture for icon state

new_light + + + + +

+

Reference for light object

sheets_refunded + + + + +

+

Amount of sheets gained on deconstruction

stage + + + + +

+

Light construction stage (LIGHT_CONSTRUCT_EMPTY, LIGHT_CONSTRUCT_WIRED, LIGHT_CONSTRUCT_CLOSED)

+ + + diff --git a/obj/structure/light_puzzle.html b/obj/structure/light_puzzle.html new file mode 100644 index 00000000000..ebeedb188d0 --- /dev/null +++ b/obj/structure/light_puzzle.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/light_puzzle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

light_puzzle + + + +

+ + + +

Vars

banned_combinationsBanned combinations of the list in decimal
queue_sizequeue size, must match count of objects this activates!
+

Var Details

banned_combinations + + + + +

+

Banned combinations of the list in decimal

queue_size + + + + +

+

queue size, must match count of objects this activates!

+ + + diff --git a/obj/structure/lock_tear.html b/obj/structure/lock_tear.html new file mode 100644 index 00000000000..2d839f6e221 --- /dev/null +++ b/obj/structure/lock_tear.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/lock_tear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lock_tear + + + +

+ + + + + + + + +

Vars

ascendeeWho is our daddy?
gathering_candidatesTrue if we're currently checking for ghost opinions
monster_typesa static list of heretic summons we cam create, automatically populated from heretic monster subtypes
monster_types_blacklistA static list of heretic summons which we should not create

Procs

end_madnessDestroy the rift if you kill the heretic
ghost_to_monsterTurn a ghost into an 'orrible beast
poll_ghostsAsk ghosts if they want to make some noise
+

Var Details

ascendee + + + + +

+

Who is our daddy?

gathering_candidates + + + + +

+

True if we're currently checking for ghost opinions

monster_types + + + + +

+

a static list of heretic summons we cam create, automatically populated from heretic monster subtypes

monster_types_blacklist + + + + +

+

A static list of heretic summons which we should not create

Proc Details

end_madness +

+

Destroy the rift if you kill the heretic

ghost_to_monster +

+

Turn a ghost into an 'orrible beast

poll_ghosts +

+

Ask ghosts if they want to make some noise

+ + + diff --git a/obj/structure/mannequin.html b/obj/structure/mannequin.html new file mode 100644 index 00000000000..1a67d8a91a0 --- /dev/null +++ b/obj/structure/mannequin.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/mannequin - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mannequin + + + +

+ +

A mannequin! A structure that can display clothing on itself.

+ + + + + + + +

Vars

body_typeWhich body type we use, male or female?
materialMaterial we're used of, wood or plastic?
slot_flagsStatic list of slot flags we have clothing slots for.
socks_nameString for the socks we use.
starting_itemsList of all clothing items the mannequin should be spawning in with on Initialize.
undershirt_nameString for the undershirt we use.
underwear_nameString for the underwear we use.
worn_itemsAssoc list of all item slots (turned to strings) to the items they hold.
+

Var Details

body_type + + + + +

+

Which body type we use, male or female?

material + + + + +

+

Material we're used of, wood or plastic?

slot_flags + + + + +

+

Static list of slot flags we have clothing slots for.

socks_name + + + + +

+

String for the socks we use.

starting_items + + + + +

+

List of all clothing items the mannequin should be spawning in with on Initialize.

undershirt_name + + + + +

+

String for the undershirt we use.

underwear_name + + + + +

+

String for the underwear we use.

worn_items + + + + +

+

Assoc list of all item slots (turned to strings) to the items they hold.

+ + + diff --git a/obj/structure/meateor_fluff/eyeball.html b/obj/structure/meateor_fluff/eyeball.html new file mode 100644 index 00000000000..01f2b7b0110 --- /dev/null +++ b/obj/structure/meateor_fluff/eyeball.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/meateor_fluff/eyeball - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

eyeball + + + +

+ +

Basically just an organic floor light

+

Procs

blinkPlay a blinking animation and queue it again

Proc Details

+

Play a blinking animation and queue it again

+ + + diff --git a/obj/structure/meateor_fluff/flesh_pod.html b/obj/structure/meateor_fluff/flesh_pod.html new file mode 100644 index 00000000000..5028377fb75 --- /dev/null +++ b/obj/structure/meateor_fluff/flesh_pod.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/meateor_fluff/flesh_pod - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

flesh_pod + + + +

+ +

A sort of loot box for organs, cut it open and find a prize

+ + +

Vars

allowed_organsTypes of organ we can spawn
stored_organTypepath of the organ to spawn when this is destroyed

Procs

cut_openCut the pod open and destroy it
+

Var Details

allowed_organs + + + + +

+

Types of organ we can spawn

stored_organ + + + + +

+

Typepath of the organ to spawn when this is destroyed

Proc Details

cut_open +

+

Cut the pod open and destroy it

+ + + diff --git a/obj/structure/mineral_door.html b/obj/structure/mineral_door.html new file mode 100644 index 00000000000..94b3817ae10 --- /dev/null +++ b/obj/structure/mineral_door.html @@ -0,0 +1,42 @@ + + + + + + + /obj/structure/mineral_door - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

mineral_door + + + +

+ + + +

Procs

deconstructEND TOOL OVERRIDES
pickaxe_doorTOOL OVERRIDES

Proc Details

deconstruct +

+

END TOOL OVERRIDES

pickaxe_door +

+

TOOL OVERRIDES

+ + + diff --git a/obj/structure/mining_bomb.html b/obj/structure/mining_bomb.html new file mode 100644 index 00000000000..452b108d3ef --- /dev/null +++ b/obj/structure/mining_bomb.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/mining_bomb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mining_bomb + + + +

+ + + + + + +

Vars

damageDamage done on explosion.
explosion_imageImage overlaid on explosion.
explosion_timeTime to explode from the priming
fauna_boostDamage multiplier on hostile fauna.
prime_timeTime to prime the explosion
+

Var Details

damage + + + + +

+

Damage done on explosion.

explosion_image + + + + +

+

Image overlaid on explosion.

explosion_time + + + + +

+

Time to explode from the priming

fauna_boost + + + + +

+

Damage multiplier on hostile fauna.

prime_time + + + + +

+

Time to prime the explosion

+ + + diff --git a/obj/structure/mirror.html b/obj/structure/mirror.html new file mode 100644 index 00000000000..8f445396fc0 --- /dev/null +++ b/obj/structure/mirror.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/mirror - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mirror + + + +

+ + + +

Vars

race_flagsFlags this race must have to be selectable with this type of mirror.
selectable_racesList of all Races that can be chosen, decided by its Initialize.
+

Var Details

race_flags + + + + +

+

Flags this race must have to be selectable with this type of mirror.

selectable_races + + + + +

+

List of all Races that can be chosen, decided by its Initialize.

+ + + diff --git a/obj/structure/moisture_trap.html b/obj/structure/moisture_trap.html new file mode 100644 index 00000000000..9c2161536ca --- /dev/null +++ b/obj/structure/moisture_trap.html @@ -0,0 +1,63 @@ + + + + + + + /obj/structure/moisture_trap - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

moisture_trap + + + +

+ +
    +
  • This structure acts as a source of moisture loving cell lines, +as well as a location where a hidden item can somtimes be retrieved +at the cost of risking a vicious bite.*
  • +
+ + + +

Vars

critter_infestedThis var determines if there is a chance to receive a bite when sticking your hand into the water.
hidden_itemThis var stores the hidden item that might be able to be retrieved from the trap
loot_tableweighted loot table for what loot you can find inside the moisture trap. +the actual loot isn't that great and should probably be improved and expanded later.

Procs

CanReachInsideThis proc checks if we are able to reach inside the trap to interact with it.
+

Var Details

critter_infested + + + + +

+

This var determines if there is a chance to receive a bite when sticking your hand into the water.

hidden_item + + + + +

+

This var stores the hidden item that might be able to be retrieved from the trap

loot_table + + + + +

+

weighted loot table for what loot you can find inside the moisture trap. +the actual loot isn't that great and should probably be improved and expanded later.

Proc Details

CanReachInside +

+

This proc checks if we are able to reach inside the trap to interact with it.

+ + + diff --git a/obj/structure/mop_bucket.html b/obj/structure/mop_bucket.html new file mode 100644 index 00000000000..12ba7169bad --- /dev/null +++ b/obj/structure/mop_bucket.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/mop_bucket - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

mop_bucket + + + +

+ + +

Vars

water_iconThe icon used for the water overlay
+

Var Details

water_icon + + + + +

+

The icon used for the water overlay

+ + + diff --git a/obj/structure/mop_bucket/janitorialcart.html b/obj/structure/mop_bucket/janitorialcart.html new file mode 100644 index 00000000000..064ae7224b2 --- /dev/null +++ b/obj/structure/mop_bucket/janitorialcart.html @@ -0,0 +1,39 @@ + + + + + + + /obj/structure/mop_bucket/janitorialcart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

janitorialcart + + + +

+ + +

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with a menu
  • +
+ + + diff --git a/obj/structure/mystery_box.html b/obj/structure/mystery_box.html new file mode 100644 index 00000000000..8bb8a1d1459 --- /dev/null +++ b/obj/structure/mystery_box.html @@ -0,0 +1,134 @@ + + + + + + + /obj/structure/mystery_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mystery_box + + + +

+ + + + + + + + + + + + + + + + +

Vars

box_close_timerA timer for how long it takes for the box to close itself
box_expire_timerA timer for how long it takes for the box to start its expire animation
box_stateThe box's current state, and whether it can be interacted with in different ways
current_sound_channelStores the current sound channel we're using so we can cut off our own sounds as needed. Randomized after each roll
grant_extra_magIf the prize is a ballistic gun with an external magazine, should we grant the user a spare mag?
presented_itemThe object that represents the rapidly changing item that will be granted upon being claimed. Is not, itself, an item.
selectable_base_typeEvery type that's a child of this that has an icon, icon_state, and isn't ABSTRACT is fair game. More granularity to come
valid_typesThe instantiated list that contains all of the valid items that can be chosen from. Generated in /obj/structure/mystery_box/proc/generate_valid_types

Procs

activateThe box has been activated, play the sound and spawn the prop item
close_boxThe box is closed, whether because the prize fully expired, or it was claimed. Start resetting all of the state stuff
generate_valid_typesThis proc is used to define what item types valid_types is filled with
grant_weaponSomeone attacked the box with an empty hand, spawn the shown prize and give it to them, then close the box
present_weaponThe box has finished choosing, mark it as available for grabbing
ready_againThe cooldown between activations has finished, shake to show that
start_expire_offerThe prize is still claimable, but the animation will show it start to recede back into the box
+

Var Details

box_close_timer + + + + +

+

A timer for how long it takes for the box to close itself

box_expire_timer + + + + +

+

A timer for how long it takes for the box to start its expire animation

box_state + + + + +

+

The box's current state, and whether it can be interacted with in different ways

current_sound_channel + + + + +

+

Stores the current sound channel we're using so we can cut off our own sounds as needed. Randomized after each roll

grant_extra_mag + + + + +

+

If the prize is a ballistic gun with an external magazine, should we grant the user a spare mag?

presented_item + + + + +

+

The object that represents the rapidly changing item that will be granted upon being claimed. Is not, itself, an item.

selectable_base_type + + + + +

+

Every type that's a child of this that has an icon, icon_state, and isn't ABSTRACT is fair game. More granularity to come

valid_types + + + + +

+

The instantiated list that contains all of the valid items that can be chosen from. Generated in /obj/structure/mystery_box/proc/generate_valid_types

Proc Details

activate +

+

The box has been activated, play the sound and spawn the prop item

close_box +

+

The box is closed, whether because the prize fully expired, or it was claimed. Start resetting all of the state stuff

generate_valid_types +

+

This proc is used to define what item types valid_types is filled with

grant_weapon +

+

Someone attacked the box with an empty hand, spawn the shown prize and give it to them, then close the box

present_weapon +

+

The box has finished choosing, mark it as available for grabbing

ready_again +

+

The cooldown between activations has finished, shake to show that

start_expire_offer +

+

The prize is still claimable, but the animation will show it start to recede back into the box

+ + + diff --git a/obj/structure/no_effect_signpost/void.html b/obj/structure/no_effect_signpost/void.html new file mode 100644 index 00000000000..0a3d7e4c982 --- /dev/null +++ b/obj/structure/no_effect_signpost/void.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/no_effect_signpost/void - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

void + + + +

+ + + +

Vars

powerLight power of the signpost.
rangeBrightness of the signpost.
+

Var Details

power + + + + +

+

Light power of the signpost.

range + + + + +

+

Brightness of the signpost.

+ + + diff --git a/obj/structure/noticeboard.html b/obj/structure/noticeboard.html new file mode 100644 index 00000000000..27a5af0bcf9 --- /dev/null +++ b/obj/structure/noticeboard.html @@ -0,0 +1,48 @@ + + + + + + + /obj/structure/noticeboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

noticeboard + + + +

+ + + +

Vars

noticesCurrent number of a pinned notices

Procs

remove_itemRemoves an item from the notice board
+

Var Details

notices + + + + +

+

Current number of a pinned notices

Proc Details

remove_item +

+

Removes an item from the notice board

+

Arguments:

+
    +
  • item - The item that is to be removed
  • +
  • user - The mob that is trying to get the item removed, if there is one
  • +
+ + + diff --git a/obj/structure/ore_box.html b/obj/structure/ore_box.html new file mode 100644 index 00000000000..23b9d8c53e9 --- /dev/null +++ b/obj/structure/ore_box.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/ore_box - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ore_box + + + +

+ +

Ore box

+

Procs

on_changed_z_levelSpecial override for notify_contents = FALSE.

Proc Details

on_changed_z_level +

+

Special override for notify_contents = FALSE.

+ + + diff --git a/obj/structure/ore_container/gutlunch_trough.html b/obj/structure/ore_container/gutlunch_trough.html new file mode 100644 index 00000000000..f897e62eefe --- /dev/null +++ b/obj/structure/ore_container/gutlunch_trough.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/ore_container/gutlunch_trough - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

gutlunch_trough + + + +

+ + +

Vars

list_of_materialslist of materials in the trough
+

Var Details

list_of_materials + + + + +

+

list of materials in the trough

+ + + diff --git a/obj/structure/ore_container/material_stand.html b/obj/structure/ore_container/material_stand.html new file mode 100644 index 00000000000..aaa5035f7a2 --- /dev/null +++ b/obj/structure/ore_container/material_stand.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/ore_container/material_stand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

material_stand + + + +

+ +

unique items that spawn at the mook village

+

Procs

update_overlaysput ore icons on the counter!

Proc Details

update_overlays +

+

put ore icons on the counter!

+ + + diff --git a/obj/structure/pinata.html b/obj/structure/pinata.html new file mode 100644 index 00000000000..8b2adb30e9d --- /dev/null +++ b/obj/structure/pinata.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/pinata - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pinata + + + +

+ +

A pinata that has a chance to drop candy items when struck with a melee weapon that deals at least 10 damage

+ + +

Vars

candy_optionsWhat sort of candy the pinata will contain
debrisDebris dropped when the pinata is destroyed
destruction_lootHow much candy is dropped when the pinata is destroyed
+

Var Details

candy_options + + + + +

+

What sort of candy the pinata will contain

debris + + + + +

+

Debris dropped when the pinata is destroyed

destruction_loot + + + + +

+

How much candy is dropped when the pinata is destroyed

+ + + diff --git a/obj/structure/pipe_cleaner.html b/obj/structure/pipe_cleaner.html new file mode 100644 index 00000000000..ffe4ace89ad --- /dev/null +++ b/obj/structure/pipe_cleaner.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/pipe_cleaner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

pipe_cleaner + + + +

+ + + + + +

Vars

d1Pipe_cleaner direction 1 (see above)
d2pipe_cleaner direction 2 (see above)
pipecleaner_colorFor updating inhand icons.
storedInternal cable stack
+

Var Details

d1 + + + + +

+

Pipe_cleaner direction 1 (see above)

d2 + + + + +

+

pipe_cleaner direction 2 (see above)

pipecleaner_color + + + + +

+

For updating inhand icons.

stored + + + + +

+

Internal cable stack

+ + + diff --git a/obj/structure/plaque.html b/obj/structure/plaque.html new file mode 100644 index 00000000000..700084ce86e --- /dev/null +++ b/obj/structure/plaque.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/plaque - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plaque + + + +

+ + +

Vars

engravedCustom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. Static plaques are already engraved.
+

Var Details

engraved + + + + +

+

Custom plaque structures and items both start "unengraved", once engraved with a fountain pen their text can't be altered again. Static plaques are already engraved.

+ + + diff --git a/obj/structure/plaque/static_plaque/tram.html b/obj/structure/plaque/static_plaque/tram.html new file mode 100644 index 00000000000..f4a9abe4169 --- /dev/null +++ b/obj/structure/plaque/static_plaque/tram.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/plaque/static_plaque/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tram + + + +

+ + + + +

Vars

specific_transport_idThe tram we have info about
tram_serialSerial number of the tram
transport_refWeakref to the tram we have info about
+

Var Details

specific_transport_id + + + + +

+

The tram we have info about

tram_serial + + + + +

+

Serial number of the tram

transport_ref + + + + +

+

Weakref to the tram we have info about

+ + + diff --git a/obj/structure/plasticflaps.html b/obj/structure/plasticflaps.html new file mode 100644 index 00000000000..3395a7e779b --- /dev/null +++ b/obj/structure/plasticflaps.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/plasticflaps - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

plasticflaps + + + +

+ + +

Procs

update_atmos_behaviourUpdate the flaps behaviour to gases, if not anchored will let air pass through

Proc Details

update_atmos_behaviour +

+

Update the flaps behaviour to gases, if not anchored will let air pass through

+ + + diff --git a/obj/structure/punching_bag.html b/obj/structure/punching_bag.html new file mode 100644 index 00000000000..ad7e9219bce --- /dev/null +++ b/obj/structure/punching_bag.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/punching_bag - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

punching_bag + + + +

+ + +

Vars

hit_soundsList of sounds that can be played when punched.
+

Var Details

hit_sounds + + + + +

+

List of sounds that can be played when punched.

+ + + diff --git a/obj/structure/punji_sticks.html b/obj/structure/punji_sticks.html new file mode 100644 index 00000000000..23cb1606506 --- /dev/null +++ b/obj/structure/punji_sticks.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/punji_sticks - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

punji_sticks + + + +

+ + +

Vars

stab_overlayOverlay we apply when impaling a mob.
+

Var Details

stab_overlay + + + + +

+

Overlay we apply when impaling a mob.

+ + + diff --git a/obj/structure/puzzle_blockade.html b/obj/structure/puzzle_blockade.html new file mode 100644 index 00000000000..e4052f1eb8e --- /dev/null +++ b/obj/structure/puzzle_blockade.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/puzzle_blockade - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

puzzle_blockade + + + +

+ +

blockades destroy themselves if they receive COMSIG_GLOB_PUZZLE_COMPLETED with their ID

+

Vars

idif we receive a puzzle signal with this id we get destroyed
+

Var Details

id + + + + +

+

if we receive a puzzle signal with this id we get destroyed

+ + + diff --git a/obj/structure/railing.html b/obj/structure/railing.html new file mode 100644 index 00000000000..64edc34bc3c --- /dev/null +++ b/obj/structure/railing.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/railing - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

railing + + + +

+ + + + + +

Vars

armor_typearmor is a little bit less than a grille. max_integrity about half that of a grille.
ini_dirInitial direction of the railing.
item_deconstructitem released when deconstructed

Procs

wrench_actImplements behaviour that makes it possible to unanchor the railing.
+

Var Details

armor_type + + + + +

+

armor is a little bit less than a grille. max_integrity about half that of a grille.

ini_dir + + + + +

+

Initial direction of the railing.

item_deconstruct + + + + +

+

item released when deconstructed

Proc Details

wrench_act +

+

Implements behaviour that makes it possible to unanchor the railing.

+ + + diff --git a/obj/structure/reagent_dispensers.html b/obj/structure/reagent_dispensers.html new file mode 100644 index 00000000000..bf1a2774a76 --- /dev/null +++ b/obj/structure/reagent_dispensers.html @@ -0,0 +1,115 @@ + + + + + + + /obj/structure/reagent_dispensers - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

reagent_dispensers + + + +

+ + + + + + + + + + + + + +

Vars

accepts_rigWhether this dispenser can be rigged with an assembly (and blown up with an igniter)
amount_to_leakHow much reagent to leak
can_be_tankedCan you turn this into a plumbing tank?
last_riggerThe person who attached an assembly to this dispenser, for bomb logging purposes
leakingIs this dispenser slowly leaking its reagent?
openableCan this dispenser be opened using a wrench?
reagent_idThe ID of the reagent that the dispenser uses
refillingIs this source self-replenishing?
rigAn assembly attached to the tank - if this dispenser accepts_rig
tank_volumeIn units, how much the dispenser can hold

Procs

boomboom: Detonate a reagent dispenser.
rig_boomrig_boom: Wrapper to log when a reagent_dispenser is set off by an assembly
+

Var Details

accepts_rig + + + + +

+

Whether this dispenser can be rigged with an assembly (and blown up with an igniter)

amount_to_leak + + + + +

+

How much reagent to leak

can_be_tanked + + + + +

+

Can you turn this into a plumbing tank?

last_rigger + + + + +

+

The person who attached an assembly to this dispenser, for bomb logging purposes

leaking + + + + +

+

Is this dispenser slowly leaking its reagent?

openable + + + + +

+

Can this dispenser be opened using a wrench?

reagent_id + + + + +

+

The ID of the reagent that the dispenser uses

refilling + + + + +

+

Is this source self-replenishing?

rig + + + + +

+

An assembly attached to the tank - if this dispenser accepts_rig

tank_volume + + + + +

+

In units, how much the dispenser can hold

Proc Details

boom +

+

boom: Detonate a reagent dispenser.

+

This is most dangerous for fuel tanks, which will explosion(). +Other dispensers will scatter their contents within range.

rig_boom +

+

rig_boom: Wrapper to log when a reagent_dispenser is set off by an assembly

+ + + diff --git a/obj/structure/safe.html b/obj/structure/safe.html new file mode 100644 index 00000000000..dc1caa5f40f --- /dev/null +++ b/obj/structure/safe.html @@ -0,0 +1,113 @@ + + + + + + + /obj/structure/safe - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

safe + + + +

+ + + + + + + + + + + + + +

Vars

current_tumbler_indexThe index in the tumblers list of the tumbler dial position that needs to be hit
dialThe position the dial is pointing to
explosion_countTough, but breakable if explosion counts reaches set value
lockedWhether the safe is locked or not
maxspaceThe maximum combined w_class of stuff in the safe
number_of_tumblersThe amount of tumblers that will be generated
openWhether the safe is open or not
spaceThe combined w_class of everything in the safe
tumblersThe list of tumbler dial positions that need to be hit

Procs

check_brokenChecks if safe is considered in a broken state for force-opening the safe
check_unlockedCalled every dial turn to determine whether the safe should unlock or not.
notify_userCalled every dial turn to provide feedback if possible.
+

Var Details

current_tumbler_index + + + + +

+

The index in the tumblers list of the tumbler dial position that needs to be hit

dial + + + + +

+

The position the dial is pointing to

explosion_count + + + + +

+

Tough, but breakable if explosion counts reaches set value

locked + + + + +

+

Whether the safe is locked or not

maxspace + + + + +

+

The maximum combined w_class of stuff in the safe

number_of_tumblers + + + + +

+

The amount of tumblers that will be generated

open + + + + +

+

Whether the safe is open or not

space + + + + +

+

The combined w_class of everything in the safe

tumblers + + + + +

+

The list of tumbler dial positions that need to be hit

Proc Details

check_broken +

+

Checks if safe is considered in a broken state for force-opening the safe

check_unlocked +

+

Called every dial turn to determine whether the safe should unlock or not.

notify_user +

+

Called every dial turn to provide feedback if possible.

+ + + diff --git a/obj/structure/secure_safe/caps_spare.html b/obj/structure/secure_safe/caps_spare.html new file mode 100644 index 00000000000..8de0b882c08 --- /dev/null +++ b/obj/structure/secure_safe/caps_spare.html @@ -0,0 +1,32 @@ + + + + + + + /obj/structure/secure_safe/caps_spare - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

caps_spare + + + +

+ +

This safe is meant to be damn robust. To break in, you're supposed to get creative, or use acid or an explosion.

+

This makes the safe still possible to break in for someone who is prepared and capable enough, either through +chemistry, botany or whatever else.

+

The safe is also weak to explosions, so spending some early TC could allow an antag to blow it upen if they can +get access to it.

+ + + diff --git a/obj/structure/sign.html b/obj/structure/sign.html new file mode 100644 index 00000000000..39caa93501d --- /dev/null +++ b/obj/structure/sign.html @@ -0,0 +1,73 @@ + + + + + + + /obj/structure/sign - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sign + + + +

+ + + + + + + +

Vars

buildable_signDetermines if a sign is unwrenchable.
is_editableThis determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.
knock_down_callbackCallback to the knock down proc for wallmounting behavior.
sign_change_namesign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on any sign item or structure which is_editable.

Procs

attack_handCannot be unfastened regardless.
knock_downThis is called when a sign is removed from a wall, either through deconstruction or being knocked down. +@param mob/living/user The user who removed the sign, if it was knocked down by a mob.
+

Var Details

buildable_sign + + + + +

+

Determines if a sign is unwrenchable.

is_editable + + + + +

+

This determines if you can select this sign type when using a pen on a sign backing. False by default, set to true per sign type to override.

knock_down_callback + + + + +

+

Callback to the knock down proc for wallmounting behavior.

sign_change_name + + + + +

+

sign_change_name is used to make nice looking, alphebetized and categorized names when you use a pen on any sign item or structure which is_editable.

Proc Details

attack_hand +

+

Cannot be unfastened regardless.

knock_down +

+

This is called when a sign is removed from a wall, either through deconstruction or being knocked down. +@param mob/living/user The user who removed the sign, if it was knocked down by a mob.

+ + + diff --git a/obj/structure/sign/painting.html b/obj/structure/sign/painting.html new file mode 100644 index 00000000000..c50a542b1fa --- /dev/null +++ b/obj/structure/sign/painting.html @@ -0,0 +1,58 @@ + + + + + + + /obj/structure/sign/painting - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

painting + + + +

+ + + + + +

Vars

accepted_canvas_typesThe list of canvas types accepted by this frame
current_canvasCanvas we're currently displaying.
desc_with_canvasDescription set when canvas is added.

Procs

load_persistentLoads a painting from SSpersistence. Called globally by said subsystem when it inits
+

Var Details

accepted_canvas_types + + + + +

+

The list of canvas types accepted by this frame

current_canvas + + + + +

+

Canvas we're currently displaying.

desc_with_canvas + + + + +

+

Description set when canvas is added.

Proc Details

load_persistent +

+

Loads a painting from SSpersistence. Called globally by said subsystem when it inits

+

Deleting paintings leaves their json, so this proc will remove the json and try again if it finds one of those.

+ + + diff --git a/obj/structure/sign/painting/large.html b/obj/structure/sign/painting/large.html new file mode 100644 index 00000000000..31c532d739a --- /dev/null +++ b/obj/structure/sign/painting/large.html @@ -0,0 +1,41 @@ + + + + + + + /obj/structure/sign/painting/large - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

large + + + +

+ + +

Procs

finalize_sizeThis frame is visually put between two wall turfs and it has an icon that's bigger than 32px, and because +of the way it's designed, the pixel_shift variable from the wallframe item won't do. +Also we want higher bounds so it actually covers an extra wall turf, so that it can count toward check_wall_item calls for +that wall turf.

Proc Details

finalize_size +

+

This frame is visually put between two wall turfs and it has an icon that's bigger than 32px, and because +of the way it's designed, the pixel_shift variable from the wallframe item won't do. +Also we want higher bounds so it actually covers an extra wall turf, so that it can count toward check_wall_item calls for +that wall turf.

+ + + diff --git a/obj/structure/sign/picture_frame.html b/obj/structure/sign/picture_frame.html new file mode 100644 index 00000000000..2797dfb778f --- /dev/null +++ b/obj/structure/sign/picture_frame.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/sign/picture_frame - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

picture_frame + + + +

+ + +

Procs

try_deconstructInternal proc

Proc Details

try_deconstruct +

+

Internal proc

+ + + diff --git a/obj/structure/sign/picture_frame/portrait/bar.html b/obj/structure/sign/picture_frame/portrait/bar.html new file mode 100644 index 00000000000..73aca7992ed --- /dev/null +++ b/obj/structure/sign/picture_frame/portrait/bar.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/sign/picture_frame/portrait/bar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bar + + + +

+ + +

Procs

InitializeGenerates a persistence id unique to the current map. Every bar should feel a little bit different after all.

Proc Details

Initialize +

+

Generates a persistence id unique to the current map. Every bar should feel a little bit different after all.

+ + + diff --git a/obj/structure/sign/poster.html b/obj/structure/sign/poster.html new file mode 100644 index 00000000000..dd16735e2b9 --- /dev/null +++ b/obj/structure/sign/poster.html @@ -0,0 +1,66 @@ + + + + + + + /obj/structure/sign/poster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

poster + + + +

+ +

The structure form of a poster.

+

These are what get placed on maps as posters. They are also what gets created when a player places a poster on a wall. +For the item form that can be spawned for players, see /obj/item/poster

+ + + + +

Vars

blacklisted_typesExclude posters of these types from being added to the random pool
printableWhether the poster should be printable from library management computer. Mostly exists to keep directionals from being printed.
trapA sharp shard of material can be hidden inside of a poster, attempts to embed when it is torn down.

Procs

add_contextAdds contextual screentips
apply_holidayallows for posters to become festive posters during holidays
+

Var Details

blacklisted_types + + + + +

+

Exclude posters of these types from being added to the random pool

printable + + + + +

+

Whether the poster should be printable from library management computer. Mostly exists to keep directionals from being printed.

trap + + + + +

+

A sharp shard of material can be hidden inside of a poster, attempts to embed when it is torn down.

Proc Details

add_context +

+

Adds contextual screentips

apply_holiday +

+

allows for posters to become festive posters during holidays

+ + + diff --git a/obj/structure/sign/poster/traitor.html b/obj/structure/sign/poster/traitor.html new file mode 100644 index 00000000000..4cf6163fff4 --- /dev/null +++ b/obj/structure/sign/poster/traitor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/sign/poster/traitor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

traitor + + + +

+ + +

Vars

demoraliserProximity sensor to make people sad if they're nearby
+

Var Details

demoraliser + + + + +

+

Proximity sensor to make people sad if they're nearby

+ + + diff --git a/obj/structure/sink.html b/obj/structure/sink.html new file mode 100644 index 00000000000..4b3e9ced20e --- /dev/null +++ b/obj/structure/sink.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/sink - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

sink + + + +

+ + + + + + + + +

Vars

buildstackamountNumber of sheets of material to drop when broken or deconstructed.
buildstacktypeMaterial to drop when broken or deconstructed.
busySomething's being washed at the moment
dispensedreagentWhat kind of reagent is produced by this sink by default? (We now have actual plumbing, Arcane, August 2020)
has_water_reclaimerDoes the sink have a water recycler to recollect it's water supply?
pixel_shiftAmount of shift the pixel for placement
reclaim_rateUnits of water to reclaim per second
+

Var Details

buildstackamount + + + + +

+

Number of sheets of material to drop when broken or deconstructed.

buildstacktype + + + + +

+

Material to drop when broken or deconstructed.

busy + + + + +

+

Something's being washed at the moment

dispensedreagent + + + + +

+

What kind of reagent is produced by this sink by default? (We now have actual plumbing, Arcane, August 2020)

has_water_reclaimer + + + + +

+

Does the sink have a water recycler to recollect it's water supply?

pixel_shift + + + + +

+

Amount of shift the pixel for placement

reclaim_rate + + + + +

+

Units of water to reclaim per second

+ + + diff --git a/obj/structure/spacevine.html b/obj/structure/spacevine.html new file mode 100644 index 00000000000..222dac73b86 --- /dev/null +++ b/obj/structure/spacevine.html @@ -0,0 +1,120 @@ + + + + + + + /obj/structure/spacevine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spacevine + + + +

+ + + + + + + + + + + + + + +

Vars

always_atmos_processShould atmos always process this tile
can_spreadCan this kudzu spread?
can_tangleCan this kudzu buckle mobs in?
growth_stageWhat growth stage is this vine at?
light_stateThe kudzu blocks light on default once it grows
masterOur associated spacevine_controller, for managing expansion/mutation
mutationsList of mutations for a specific vine
trait_flagsThe traits associated with a specific mutation of vines

Procs

DestroyTransparent has no hue
entangle_mobBuckles mobs trying to pass through it
ex_actDestroying an explosive vine sets off a chain reaction
growUpdates the icon as the space vine grows
spreadFinds a target tile to spread to. If checks pass it will spread to it and also proc on_spread on target.
+

Var Details

always_atmos_process + + + + +

+

Should atmos always process this tile

can_spread + + + + +

+

Can this kudzu spread?

can_tangle + + + + +

+

Can this kudzu buckle mobs in?

growth_stage + + + + +

+

What growth stage is this vine at?

light_state + + + + +

+

The kudzu blocks light on default once it grows

master + + + + +

+

Our associated spacevine_controller, for managing expansion/mutation

mutations + + + + +

+

List of mutations for a specific vine

trait_flags + + + + +

+

The traits associated with a specific mutation of vines

Proc Details

Destroy +

+

Transparent has no hue

entangle_mob +

+

Buckles mobs trying to pass through it

ex_act +

+

Destroying an explosive vine sets off a chain reaction

grow +

+

Updates the icon as the space vine grows

spread +

+

Finds a target tile to spread to. If checks pass it will spread to it and also proc on_spread on target.

+ + + diff --git a/obj/structure/spawner.html b/obj/structure/spawner.html new file mode 100644 index 00000000000..5ad73d45da1 --- /dev/null +++ b/obj/structure/spawner.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/spawner - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

spawner + + + +

+ + + + + + + + + +

Vars

assigned_tagA complete identifier. Generated on tag (if tagged), used for its examine.
gps_taggedHas this spawner been tagged/analyzed by a mining scanner?
mob_gps_idA short identifier for the mob it spawns. Keep around 3 characters or less?
scanner_descriptorIf this spawner's taggable, what's the text we use to describe what we can tag it with?
scanner_taggableIs this spawner taggable with something?
scanner_typesIf this spawner's taggable, what can we tag it with?
spawner_gps_idA short identifier for what kind of spawner it is, for use in putting together its GPS tag.

Procs

gps_tagTag the spawner, prefixing its GPS entry with an identifier - or giving it one, if nonexistent.
+

Var Details

assigned_tag + + + + +

+

A complete identifier. Generated on tag (if tagged), used for its examine.

gps_tagged + + + + +

+

Has this spawner been tagged/analyzed by a mining scanner?

mob_gps_id + + + + +

+

A short identifier for the mob it spawns. Keep around 3 characters or less?

scanner_descriptor + + + + +

+

If this spawner's taggable, what's the text we use to describe what we can tag it with?

scanner_taggable + + + + +

+

Is this spawner taggable with something?

scanner_types + + + + +

+

If this spawner's taggable, what can we tag it with?

spawner_gps_id + + + + +

+

A short identifier for what kind of spawner it is, for use in putting together its GPS tag.

Proc Details

gps_tag +

+

Tag the spawner, prefixing its GPS entry with an identifier - or giving it one, if nonexistent.

+ + + diff --git a/obj/structure/spawner/ice_moon.html b/obj/structure/spawner/ice_moon.html new file mode 100644 index 00000000000..4fee3f8938b --- /dev/null +++ b/obj/structure/spawner/ice_moon.html @@ -0,0 +1,49 @@ + + + + + + + /obj/structure/spawner/ice_moon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

ice_moon + + + +

+ + + + +

Procs

clear_rockClears rocks around the spawner when it is created. Ignore any rocks that explicitly do not want to be cleared.
destroy_effectEffects and messages created when the spawner is destroyed
drop_lootDrops items after the spawner is destroyed

Proc Details

clear_rock +

+

Clears rocks around the spawner when it is created. Ignore any rocks that explicitly do not want to be cleared.

destroy_effect +

+

Effects and messages created when the spawner is destroyed

drop_loot +

+

Drops items after the spawner is destroyed

+ + + diff --git a/obj/structure/spider/eggcluster.html b/obj/structure/spider/eggcluster.html new file mode 100644 index 00000000000..0873bd1a447 --- /dev/null +++ b/obj/structure/spider/eggcluster.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/spider/eggcluster - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eggcluster + + + +

+ + +

Vars

spawnerMob spawner handling the actual spawn of the spider
+

Var Details

spawner + + + + +

+

Mob spawner handling the actual spawn of the spider

+ + + diff --git a/obj/structure/spider/stickyweb.html b/obj/structure/spider/stickyweb.html new file mode 100644 index 00000000000..70ce84682fe --- /dev/null +++ b/obj/structure/spider/stickyweb.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/spider/stickyweb - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stickyweb + + + +

+ + + +

Vars

geneticWhether or not the web is from the genetics power
sealedWhether or not the web is a sealed web
+

Var Details

genetic + + + + +

+

Whether or not the web is from the genetics power

sealed + + + + +

+

Whether or not the web is a sealed web

+ + + diff --git a/obj/structure/spirit_board.html b/obj/structure/spirit_board.html new file mode 100644 index 00000000000..a16ab9e1e97 --- /dev/null +++ b/obj/structure/spirit_board.html @@ -0,0 +1,71 @@ + + + + + + + /obj/structure/spirit_board - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spirit_board + + + +

+ + + + + + + +

Vars

ghosty_optionsList of options ghosts (or people) can pick from.
lastuserCkey of last mob to use the board.
next_useHow long between planchette movements.
planchetteWhere the planchette is currently pointing.
required_user_countNumber of living, willing mobs adjacent to the board required for a seance to occur.
virginWhether no one has moved the planchette yet.
+

Var Details

ghosty_options + + + + +

+

List of options ghosts (or people) can pick from.

lastuser + + + + +

+

Ckey of last mob to use the board.

next_use + + + + +

+

How long between planchette movements.

planchette + + + + +

+

Where the planchette is currently pointing.

required_user_count + + + + +

+

Number of living, willing mobs adjacent to the board required for a seance to occur.

virgin + + + + +

+

Whether no one has moved the planchette yet.

+ + + diff --git a/obj/structure/stairs.html b/obj/structure/stairs.html new file mode 100644 index 00000000000..1431c9f2cc4 --- /dev/null +++ b/obj/structure/stairs.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/stairs - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

stairs + + + +

+ + +

Procs

vv_edit_varMoves anything that's being dragged by src or anything buckled to it to the stairs turf.

Proc Details

vv_edit_var +

+

Moves anything that's being dragged by src or anything buckled to it to the stairs turf.

+ + + diff --git a/obj/structure/stairs_frame.html b/obj/structure/stairs_frame.html new file mode 100644 index 00000000000..83e635b4d3d --- /dev/null +++ b/obj/structure/stairs_frame.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/stairs_frame - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

stairs_frame + + + +

+ + + +

Vars

frame_stackWhat type of stack will this drop on deconstruction?
frame_stack_amountHow much of frame_stack should this drop on deconstruction?
+

Var Details

frame_stack + + + + +

+

What type of stack will this drop on deconstruction?

frame_stack_amount + + + + +

+

How much of frame_stack should this drop on deconstruction?

+ + + diff --git a/obj/structure/statue.html b/obj/structure/statue.html new file mode 100644 index 00000000000..121ab0d0364 --- /dev/null +++ b/obj/structure/statue.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/statue - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

statue + + + +

+ + + + +

Vars

abstract_typeAbstract root type
art_typeArt component subtype added to this statue
impressivenessBeauty component mood modifier
+

Var Details

abstract_type + + + + +

+

Abstract root type

art_type + + + + +

+

Art component subtype added to this statue

impressiveness + + + + +

+

Beauty component mood modifier

+ + + diff --git a/obj/structure/statue/custom.html b/obj/structure/statue/custom.html new file mode 100644 index 00000000000..7c72d70636f --- /dev/null +++ b/obj/structure/statue/custom.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/statue/custom - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

custom + + + +

+ + + +

Vars

content_maprimary statue overlay

Procs

on_changed_z_levelIdeally we'd have knowledge what we're removing but i'd have to be done on target appearance retrieval
+

Var Details

content_ma + + + + +

+

primary statue overlay

Proc Details

on_changed_z_level +

+

Ideally we'd have knowledge what we're removing but i'd have to be done on target appearance retrieval

+ + + diff --git a/obj/structure/steam_vent.html b/obj/structure/steam_vent.html new file mode 100644 index 00000000000..9b6107dc133 --- /dev/null +++ b/obj/structure/steam_vent.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/steam_vent - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

steam_vent + + + +

+ +

Spawns in maint shafts, and blocks lines of sight perodically when active.

+ + + +

Vars

steam_speedHow often does the vent reset the blow_steam cooldown.
steam_vent_interactThe cooldown for toggling the steam vent to prevent infinite steam vent looping.
vent_activeIs the steam vent active?

Procs

blow_steamCreates "steam" smoke, and determines when the vent needs to block line of sight via reset_opacity.
+

Var Details

steam_speed + + + + +

+

How often does the vent reset the blow_steam cooldown.

steam_vent_interact + + + + +

+

The cooldown for toggling the steam vent to prevent infinite steam vent looping.

vent_active + + + + +

+

Is the steam vent active?

Proc Details

blow_steam +

+

Creates "steam" smoke, and determines when the vent needs to block line of sight via reset_opacity.

+ + + diff --git a/obj/structure/syndicate_uplink_beacon.html b/obj/structure/syndicate_uplink_beacon.html new file mode 100644 index 00000000000..2d000accd17 --- /dev/null +++ b/obj/structure/syndicate_uplink_beacon.html @@ -0,0 +1,78 @@ + + + + + + + /obj/structure/syndicate_uplink_beacon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

syndicate_uplink_beacon + + + +

+ +

Device that traitors can craft in order to be sent a new, undisguised uplink

+ + + + + + +

Vars

beacon_cooldownprevents traitor from activating teleport_beacon proc too much in a small period of time
listening_radioRadio that the device needs to listen to the codeword from the traitor
ownerweakref to person who is going to use the beacon to get a replacement uplink
teleport_beaconwhile constructed the teleport beacon is still active
uplink_codeTraitor's code that they speak into the radio

Procs

probe_traitorProc reads the user, sets radio to the correct frequency and starts to listen for the replacement uplink code
teleport_uplinkProc uses owners uplink handler to create replacement uplink and then lock or destroy their other uplinks
+

Var Details

beacon_cooldown + + + + +

+

prevents traitor from activating teleport_beacon proc too much in a small period of time

listening_radio + + + + +

+

Radio that the device needs to listen to the codeword from the traitor

owner + + + + +

+

weakref to person who is going to use the beacon to get a replacement uplink

teleport_beacon + + + + +

+

while constructed the teleport beacon is still active

+

Traitor's code that they speak into the radio

Proc Details

probe_traitor +

+

Proc reads the user, sets radio to the correct frequency and starts to listen for the replacement uplink code

+

Proc uses owners uplink handler to create replacement uplink and then lock or destroy their other uplinks

+ + + diff --git a/obj/structure/table.html b/obj/structure/table.html new file mode 100644 index 00000000000..c97b7d03096 --- /dev/null +++ b/obj/structure/table.html @@ -0,0 +1,35 @@ + + + + + + + /obj/structure/table - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

table + + + +

+ + +

Procs

make_climbableAdds the element used to make the object climbable, and also the one that shift the mob buckled to it up.

Proc Details

make_climbable +

+

Adds the element used to make the object climbable, and also the one that shift the mob buckled to it up.

+ + + diff --git a/obj/structure/table/optable.html b/obj/structure/table/optable.html new file mode 100644 index 00000000000..4ca808d8d96 --- /dev/null +++ b/obj/structure/table/optable.html @@ -0,0 +1,67 @@ + + + + + + + /obj/structure/table/optable - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

optable + + + +

+ + + + + + +

Procs

mark_patientAny mob that enters our tile will be marked as a potential patient. They will be turned into a patient if they lie down.
post_buckle_mobAlign the mob with the table when buckled.
post_unbuckle_mobDisalign the mob with the table when unbuckled.
recheck_patientSomeone on our tile just lied down, got up, moved in, or moved out. +potential_patient is the mob that had one of those four things change. +The check is a bit broad so we can find a replacement patient.
unmark_patientUnmark the potential patient.

Proc Details

mark_patient +

+

Any mob that enters our tile will be marked as a potential patient. They will be turned into a patient if they lie down.

post_buckle_mob +

+

Align the mob with the table when buckled.

post_unbuckle_mob +

+

Disalign the mob with the table when unbuckled.

recheck_patient +

+

Someone on our tile just lied down, got up, moved in, or moved out. +potential_patient is the mob that had one of those four things change. +The check is a bit broad so we can find a replacement patient.

unmark_patient +

+

Unmark the potential patient.

+ + + diff --git a/obj/structure/table/optable/abductor.html b/obj/structure/table/optable/abductor.html new file mode 100644 index 00000000000..0b029f3d5f0 --- /dev/null +++ b/obj/structure/table/optable/abductor.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/table/optable/abductor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

abductor + + + +

+ + +

Vars

inject_amountAmount to inject per second
+

Var Details

inject_amount + + + + +

+

Amount to inject per second

+ + + diff --git a/obj/structure/table/rolling.html b/obj/structure/table/rolling.html new file mode 100644 index 00000000000..e4b2d636287 --- /dev/null +++ b/obj/structure/table/rolling.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/table/rolling - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

rolling + + + +

+ +

Table on wheels

+ + + +

Vars

attached_itemsLazylist of the items that we have on our surface.

Procs

clear_item_referenceRemoves the signal and the entrance from the list.
on_item_movedHandles cases where any attached item moves, with or without the table. If we get picked up or anything, unregister the signal so we don't move with the table after removal from the surface.
on_our_movedHandles movement of the table itself, as well as moving along any atoms we have on our surface.
+

Var Details

attached_items + + + + +

+

Lazylist of the items that we have on our surface.

Proc Details

clear_item_reference +

+

Removes the signal and the entrance from the list.

on_item_moved +

+

Handles cases where any attached item moves, with or without the table. If we get picked up or anything, unregister the signal so we don't move with the table after removal from the surface.

on_our_moved +

+

Handles movement of the table itself, as well as moving along any atoms we have on our surface.

+ + + diff --git a/obj/structure/tank_holder.html b/obj/structure/tank_holder.html new file mode 100644 index 00000000000..8bc77c20bbc --- /dev/null +++ b/obj/structure/tank_holder.html @@ -0,0 +1,45 @@ + + + + + + + /obj/structure/tank_holder - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tank_holder + + + +

+ +

?

+ +

Vars

tankThe stored tank. If this is a path, it gets created into contents at Initialize.

Procs

after_detach_tankCall this after taking the tank from contents in order to update references, icon +and density.
+

Var Details

tank + + + + +

+

The stored tank. If this is a path, it gets created into contents at Initialize.

Proc Details

after_detach_tank +

+

Call this after taking the tank from contents in order to update references, icon +and density.

+ + + diff --git a/obj/structure/trading_card_summon.html b/obj/structure/trading_card_summon.html new file mode 100644 index 00000000000..a978fcb9d0b --- /dev/null +++ b/obj/structure/trading_card_summon.html @@ -0,0 +1,120 @@ + + + + + + + /obj/structure/trading_card_summon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

trading_card_summon + + + +

+ + + + + + + + + + + + + + +

Vars

card_refHolds a reference to the card itself.
hologramReference to the hologram object itself.
markedIs the card marked or not.
modified_colorColor that stats become if they've been changed from their default.
power_colorColor of the power stat.
power_overlayReference to the text overlay for power.
resolve_colorColor of the resolve stat.
resolve_overlayReference to the text overlay for resolve.
summon_powerPower statistics for the hologram, stored seperately to the template as they can be modified.
summon_resolveResolve statistics for the hologram, stored seperately to the template as they can be modified.
tappedIs the card tapped (rotated) or not.
team_colorColor of the holograms produced.
templateHolds all the default details of the card.
+

Var Details

card_ref + + + + +

+

Holds a reference to the card itself.

hologram + + + + +

+

Reference to the hologram object itself.

marked + + + + +

+

Is the card marked or not.

modified_color + + + + +

+

Color that stats become if they've been changed from their default.

power_color + + + + +

+

Color of the power stat.

power_overlay + + + + +

+

Reference to the text overlay for power.

resolve_color + + + + +

+

Color of the resolve stat.

resolve_overlay + + + + +

+

Reference to the text overlay for resolve.

summon_power + + + + +

+

Power statistics for the hologram, stored seperately to the template as they can be modified.

summon_resolve + + + + +

+

Resolve statistics for the hologram, stored seperately to the template as they can be modified.

tapped + + + + +

+

Is the card tapped (rotated) or not.

team_color + + + + +

+

Color of the holograms produced.

template + + + + +

+

Holds all the default details of the card.

+ + + diff --git a/obj/structure/training_machine.html b/obj/structure/training_machine.html new file mode 100644 index 00000000000..dcba68774b2 --- /dev/null +++ b/obj/structure/training_machine.html @@ -0,0 +1,229 @@ + + + + + + + /obj/structure/training_machine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

training_machine + + + +

+ +

Machine that runs around wildly so people can practice clickin on things

+

Can have a mob buckled on or a obj/item/target attached. Movement controlled by SSFastProcess, +movespeed controlled by cooldown macros. Can attach obj/item/target, obj/item/training_toolbox, and can buckle mobs to this.

+ + + + + + + + + + + + + + + + + + + + + + + +

Vars

attached_itemReference to a potentially attached object, either a target, trainer toolbox, or syndicate toolbox
attack_cooldownHelper for timing attacks when emagged
move_cooldownCooldown macro to control how fast this will move. Used in process()
move_speedDelay between process() calls. Cannot be higher than MAX_SPEED. Smaller value represents faster movement.
movingIs the machine moving? Setting this to FALSE will automatically call stop_moving()
rangeThe distance the machine is allowed to roam from its starting point
starting_turfThe turf the machine was on when it was activated
target_positionA random spot within range that the trainer is trying to reach

Procs

DestroyCalled on qdel(), so we don't want a cool explosion to happen
atom_destructionCalled on a normal destruction, so we have a cool explosion and toss whatever's attached
attach_itemAttach an item to the machine
attackbyCalled when the machien is attacked by something
emag_actEmagging causes a deadly, unremovable syndicate toolbox to be attached to the machine
find_target_positionFind a suitable turf to move towards
handle_densityMake sure the machine can't be walked through if something is attached
on_attached_deleteCalled when the attached item is deleted.
processMain movement method for the machine
remove_attached_itemRemove the attached item from the machine
start_movingStart the machine's movement
stop_movingStop the machine's movement
toggleToggle the machine's movement
try_attackTry to attack a nearby mob
ui_actControl the attached variables.
ui_dataSend data to the UI
+

Var Details

attached_item + + + + +

+

Reference to a potentially attached object, either a target, trainer toolbox, or syndicate toolbox

attack_cooldown + + + + +

+

Helper for timing attacks when emagged

move_cooldown + + + + +

+

Cooldown macro to control how fast this will move. Used in process()

move_speed + + + + +

+

Delay between process() calls. Cannot be higher than MAX_SPEED. Smaller value represents faster movement.

moving + + + + +

+

Is the machine moving? Setting this to FALSE will automatically call stop_moving()

range + + + + +

+

The distance the machine is allowed to roam from its starting point

starting_turf + + + + +

+

The turf the machine was on when it was activated

target_position + + + + +

+

A random spot within range that the trainer is trying to reach

Proc Details

Destroy +

+

Called on qdel(), so we don't want a cool explosion to happen

atom_destruction +

+

Called on a normal destruction, so we have a cool explosion and toss whatever's attached

attach_item +

+

Attach an item to the machine

+

This proc technically works with any obj. Currently is only used for objects of type item/target and item/training_toolbox +Will make the attached item appear visually on the machine +Arguments

+
    +
  • target - The object to attach
  • +

attackby +

+

Called when the machien is attacked by something

+

Meant for attaching an item to the machine, should only be a training toolbox or target. If emagged, the +machine will gain an auto-attached syndicate toolbox, so in that case we shouldn't be able to swap it out

emag_act +

+

Emagging causes a deadly, unremovable syndicate toolbox to be attached to the machine

find_target_position +

+

Find a suitable turf to move towards

handle_density +

+

Make sure the machine can't be walked through if something is attached

on_attached_delete +

+

Called when the attached item is deleted.

+

Cleans up behavior for when the attached item is deleted or removed.

process +

+

Main movement method for the machine

+

Handles movement using SSFastProcess. Moves randomly, point-to-point, in an area centered around wherever it started. +Will only move if the move_cooldown cooldown macro is finished. +If it can't find a place to go, it will stop moving.

remove_attached_item +

+

Remove the attached item from the machine

+

Called when a user removes the item by hand or by swapping it out with another, when the machine breaks, or +when the machine is emagged. +Arguments

+
    +
  • user - The peson , if any, removing the attached item
  • +
  • throwing - If we should make the item fly off the machine
  • +

start_moving +

+

Start the machine's movement

+

Says a message, plays a sound, then starts processing

stop_moving +

+

Stop the machine's movement

+

Will call STOP_PROCESSING, play a sound, and say an appropriate message +Arguments

+
    +
  • Message - the message the machine says when stopping
  • +

toggle +

+

Toggle the machine's movement

try_attack +

+

Try to attack a nearby mob

+

Called whenever the machine moves, this will look for mobs adjacent to the machine to attack. +Will attack with either a training toolbox (if attached), or a much more deadly syndicate toolbox (if emagged). +A cooldown macro (attack_cooldown) ensures it doesn't attack too quickly

ui_act +

+

Control the attached variables.

+

Will not respond if moving and emagged, so once you set it to go it can't be stopped!

ui_data +

+

Send data to the UI

+

Include's the machine's movement range, speed, and whether or not it's active

+ + + diff --git a/obj/structure/tram.html b/obj/structure/tram.html new file mode 100644 index 00000000000..4709911c520 --- /dev/null +++ b/obj/structure/tram.html @@ -0,0 +1,85 @@ + + + + + + + /obj/structure/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tram + + + +

+ + + + + + + + + +

Vars

bash_soundSound when hit with combat mode
break_soundSound when it breaks
girder_typeType of girder made when deconstructed
knock_soundSound when hit without combat mode
mineralMineral to return when deconstructed
mineral_amountAmount of mineral to return when deconstructed
stateWhat state of de/construction it's in
tram_wall_typeType of structure made out of girder
+

Var Details

bash_sound + + + + +

+

Sound when hit with combat mode

break_sound + + + + +

+

Sound when it breaks

girder_type + + + + +

+

Type of girder made when deconstructed

knock_sound + + + + +

+

Sound when hit without combat mode

mineral + + + + +

+

Mineral to return when deconstructed

mineral_amount + + + + +

+

Amount of mineral to return when deconstructed

state + + + + +

+

What state of de/construction it's in

tram_wall_type + + + + +

+

Type of structure made out of girder

+ + + diff --git a/obj/structure/tram/alt/uranium.html b/obj/structure/tram/alt/uranium.html new file mode 100644 index 00000000000..fcaee27cbec --- /dev/null +++ b/obj/structure/tram/alt/uranium.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/tram/alt/uranium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uranium + + + +

+ + + +

Vars

activeMutex to prevent infinite recursion when propagating radiation pulses
last_eventThe last time a radiation pulse was performed
+

Var Details

active + + + + +

+

Mutex to prevent infinite recursion when propagating radiation pulses

last_event + + + + +

+

The last time a radiation pulse was performed

+ + + diff --git a/obj/structure/tram/spoiler.html b/obj/structure/tram/spoiler.html new file mode 100644 index 00000000000..93db40e6dfe --- /dev/null +++ b/obj/structure/tram/spoiler.html @@ -0,0 +1,57 @@ + + + + + + + /obj/structure/tram/spoiler - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

spoiler + + + +

+ + + + + +

Vars

deployedPosition of the spoiler
malfunctioningMalfunctioning due to tampering or emag
tram_idThe tram we're attached to
tram_refWeakref to the tram piece we control
+

Var Details

deployed + + + + +

+

Position of the spoiler

malfunctioning + + + + +

+

Malfunctioning due to tampering or emag

tram_id + + + + +

+

The tram we're attached to

tram_ref + + + + +

+

Weakref to the tram piece we control

+ + + diff --git a/obj/structure/transport/linear.html b/obj/structure/transport/linear.html new file mode 100644 index 00000000000..ce4c22280d9 --- /dev/null +++ b/obj/structure/transport/linear.html @@ -0,0 +1,316 @@ + + + + + + + /obj/structure/transport/linear - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

linear + + + +

+ +

Base transport structure. A single tile that can form a modular set with neighbouring tiles +This type holds elevators and trams

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

changed_glidersmovables inside transport_contents who had their glide_size changed since our last movement. +used so that we dont have to change the glide_size of every object every movement, which scales to cost more than you'd think
collision_lethalitydamage multiplier if a mob is hit by the lift while it is moving horizontally
create_modular_setif TRUE, this platform will late initialize and then expand to become a multitile object across all other linked platforms on this z level
current_operatorsA lazylist of REFs to all mobs which have a radial open currently
elevator_vertical_speedHow long does it take for the elevator to move vertically?
glide_size_overridewhat glide_size we set our moving contents to.
heighthow many tiles this platform extends on the y axis (north-south not up-down, that would be the z axis)
initial_contentsweakrefs to the contents we have when we're first created. stored so that admins can clear the tram to its initial state +if someone put a bunch of stuff onto it.
pass_through_floorsif true, the elevator works through floors
radial_travelWe use a radial to travel primarily, instead of a button / ui
speed_limiterdecisecond delay between horizontal movements. cannot make the tram move faster than 1 movement per world.tick_lag. only used to give to the transport_controller
transport_contentswhat movables on our platform that we are moving
transport_controller_datummaster datum that controls our movement. in general /transport/linear subtypes control moving themselves, and +/datum/transport_controller instances control moving the entire tram and any behavior associated with that.
transport_controller_typewhat subtype of /datum/transport_controller to create for itself if no other platform on this tram has created one yet. +very important for some behaviors since
transport_idID used to determine what transport types we can merge with
violent_landingif TRUE, we will gib anyone we land on top of. if FALSE, we will just apply damage with a serious wound penalty.
warns_on_down_movementDoes our elevator warn people (with visual effects) when moving down?
widthhow many tiles this platform extends on the x axis

Procs

add_initial_contentsadds everything on our tile that can be added to our transport_contents and initial_contents lists when we're created
can_open_lift_radiallist of resolve()'d initial_contents that are still in transport_contents +list of objects we consider foreign according to the given arguments +Callback / general proc to check if the lift is usable by the passed mob.
check_menuProc to ensure that the radial menu closes when it should. +Arguments:
create_modular_setmake this tram platform multitile, expanding to cover all the tram platforms adjacent to us and deleting them. makes movement more efficient. +the platform becoming multitile should be in the lower left corner since thats assumed to be the loc of multitile objects
group_movemove the movers list of movables on our tile to destination if we successfully move there first. +this is like calling forceMove() on everything in movers and ourselves, except nothing in movers +has destination.Entered() and origin.Exited() called on them, as only our movement can be perceived. +none of the movers are able to react to the movement of any other mover, saving a lot of needless processing cost +and is more sensible. without this, if you and a banana are on the same platform, when that platform moves you will slip +on the banana even if youre not moving relative to it.
module_adjacencylist of turfs we dont go over. if for whatever reason we encounter an already multitile lift platform +we add all of its locs to this list so we dont add that lift platform multiple times as we iterate through its locs +returns an unordered list of all lift platforms adjacent to us. used so our transport_controller_datum can control all connected platforms. +includes platforms directly above or below us as well. only includes platforms with an identical transport_id to our own.
on_changed_glide_sizesignal handler for COMSIG_MOVABLE_UPDATE_GLIDE_SIZE: when a movable in transport_contents changes its glide_size independently. +adds that movable to a lazy list, movables in that list have their glide_size updated when the tram next moves
open_lift_radialOpens the radial for the lift, allowing the user to move it around.
register_collisionhandles any special interactions objects could have with the lift/tram, handled on the item itself +potentially finds a spot to throw the victim at for daring to be hit by a tram. is null if we havent found anything to throw +handles any special interactions objects could have with the lift/tram, handled on the item itself
reset_contentsreset the contents of this lift platform to its original state in case someone put too much shit on it. +everything that is considered foreign is deleted, you can configure what is considered foreign.
set_movement_registrationsset the movement registrations to our current turf(s) so contents moving out of our tile(s) are removed from our movement lists
show_fluff_messageShows a message indicating that the lift has moved up or down. +Arguments:
travelmain proc for moving the lift in the direction [travel_direction]. handles horizontal and/or vertical movement for multi platformed lifts and multitile lifts.
unset_movement_registrationsunset our movement registrations from turfs that no longer contain us (or every loc if turfs_to_unset is unspecified)
+

Var Details

changed_gliders + + + + +

+

movables inside transport_contents who had their glide_size changed since our last movement. +used so that we dont have to change the glide_size of every object every movement, which scales to cost more than you'd think

collision_lethality + + + + +

+

damage multiplier if a mob is hit by the lift while it is moving horizontally

create_modular_set + + + + +

+

if TRUE, this platform will late initialize and then expand to become a multitile object across all other linked platforms on this z level

current_operators + + + + +

+

A lazylist of REFs to all mobs which have a radial open currently

elevator_vertical_speed + + + + +

+

How long does it take for the elevator to move vertically?

glide_size_override + + + + +

+

what glide_size we set our moving contents to.

height + + + + +

+

how many tiles this platform extends on the y axis (north-south not up-down, that would be the z axis)

initial_contents + + + + +

+

weakrefs to the contents we have when we're first created. stored so that admins can clear the tram to its initial state +if someone put a bunch of stuff onto it.

pass_through_floors + + + + +

+

if true, the elevator works through floors

radial_travel + + + + +

+

We use a radial to travel primarily, instead of a button / ui

speed_limiter + + + + +

+

decisecond delay between horizontal movements. cannot make the tram move faster than 1 movement per world.tick_lag. only used to give to the transport_controller

transport_contents + + + + +

+

what movables on our platform that we are moving

transport_controller_datum + + + + +

+

master datum that controls our movement. in general /transport/linear subtypes control moving themselves, and +/datum/transport_controller instances control moving the entire tram and any behavior associated with that.

transport_controller_type + + + + +

+

what subtype of /datum/transport_controller to create for itself if no other platform on this tram has created one yet. +very important for some behaviors since

transport_id + + + + +

+

ID used to determine what transport types we can merge with

violent_landing + + + + +

+

if TRUE, we will gib anyone we land on top of. if FALSE, we will just apply damage with a serious wound penalty.

warns_on_down_movement + + + + +

+

Does our elevator warn people (with visual effects) when moving down?

width + + + + +

+

how many tiles this platform extends on the x axis

Proc Details

add_initial_contents +

+

adds everything on our tile that can be added to our transport_contents and initial_contents lists when we're created

can_open_lift_radial +

+

list of resolve()'d initial_contents that are still in transport_contents +list of objects we consider foreign according to the given arguments +Callback / general proc to check if the lift is usable by the passed mob.

check_menu +

+

Proc to ensure that the radial menu closes when it should. +Arguments:

+
    +
  • user - The person that opened the menu.
  • +
  • starting_loc - The location of the lift when the menu was opened, used to prevent the menu from being interacted with after the lift was moved by someone else.
  • +
+

Returns:

+
    +
  • boolean, FALSE if the menu should be closed, TRUE if the menu is clear to stay opened.
  • +

create_modular_set +

+

make this tram platform multitile, expanding to cover all the tram platforms adjacent to us and deleting them. makes movement more efficient. +the platform becoming multitile should be in the lower left corner since thats assumed to be the loc of multitile objects

group_move +

+

move the movers list of movables on our tile to destination if we successfully move there first. +this is like calling forceMove() on everything in movers and ourselves, except nothing in movers +has destination.Entered() and origin.Exited() called on them, as only our movement can be perceived. +none of the movers are able to react to the movement of any other mover, saving a lot of needless processing cost +and is more sensible. without this, if you and a banana are on the same platform, when that platform moves you will slip +on the banana even if youre not moving relative to it.

module_adjacency +

+

list of turfs we dont go over. if for whatever reason we encounter an already multitile lift platform +we add all of its locs to this list so we dont add that lift platform multiple times as we iterate through its locs +returns an unordered list of all lift platforms adjacent to us. used so our transport_controller_datum can control all connected platforms. +includes platforms directly above or below us as well. only includes platforms with an identical transport_id to our own.

on_changed_glide_size +

+

signal handler for COMSIG_MOVABLE_UPDATE_GLIDE_SIZE: when a movable in transport_contents changes its glide_size independently. +adds that movable to a lazy list, movables in that list have their glide_size updated when the tram next moves

open_lift_radial +

+

Opens the radial for the lift, allowing the user to move it around.

register_collision +

+

handles any special interactions objects could have with the lift/tram, handled on the item itself +potentially finds a spot to throw the victim at for daring to be hit by a tram. is null if we havent found anything to throw +handles any special interactions objects could have with the lift/tram, handled on the item itself

reset_contents +

+

reset the contents of this lift platform to its original state in case someone put too much shit on it. +everything that is considered foreign is deleted, you can configure what is considered foreign.

+

used by an admin via calling reset_lift_contents() on our transport_controller_datum.

+

Arguments:

+
    +
  • consider_anything_past - number. if > 0 this platform will only handle foreign contents that exceed this number on each of our locs
  • +
  • foreign_objects - bool. if true this platform will consider /atom/movable's that arent mobs as part of foreign contents
  • +
  • foreign_non_player_mobs - bool. if true we consider mobs that dont have a mind to be foreign
  • +
  • consider_player_mobs - bool. if true we consider player mobs to be foreign. only works if foreign_non_player_mobs is true as well
  • +

set_movement_registrations +

+

set the movement registrations to our current turf(s) so contents moving out of our tile(s) are removed from our movement lists

show_fluff_message +

+

Shows a message indicating that the lift has moved up or down. +Arguments:

+
    +
  • direction - What direction are we going
  • +
  • user - The mob that caused the lift to move, for the visible message.
  • +

travel +

+

main proc for moving the lift in the direction [travel_direction]. handles horizontal and/or vertical movement for multi platformed lifts and multitile lifts.

unset_movement_registrations +

+

unset our movement registrations from turfs that no longer contain us (or every loc if turfs_to_unset is unspecified)

+ + + diff --git a/obj/structure/transport/linear/tram.html b/obj/structure/transport/linear/tram.html new file mode 100644 index 00000000000..4aac9f237b0 --- /dev/null +++ b/obj/structure/transport/linear/tram.html @@ -0,0 +1,60 @@ + + + + + + + /obj/structure/transport/linear/tram - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

tram + + + +

+ + + + + +

Vars

create_modular_setDo we want this transport to link with nearby modules to make a multi-tile platform
travellingSet by the tram control console in late initialize

Procs

find_dimensionsdebug proc to highlight the locs of the tram platform
unlock_controlsHandles unlocking the tram controls for use after moving
+

Var Details

create_modular_set + + + + +

+

Do we want this transport to link with nearby modules to make a multi-tile platform

travelling + + + + +

+

Set by the tram control console in late initialize

Proc Details

find_dimensions +

+

debug proc to highlight the locs of the tram platform

unlock_controls +

+

Handles unlocking the tram controls for use after moving

+

More safety checks to make sure the tram has actually docked properly +at a location before users are allowed to interact with the tram console again. +Tram finds its location at this point before fully unlocking controls to the user.

+ + + diff --git a/obj/structure/trap/eldritch.html b/obj/structure/trap/eldritch.html new file mode 100644 index 00000000000..bc4d507067f --- /dev/null +++ b/obj/structure/trap/eldritch.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/trap/eldritch - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

eldritch + + + +

+ + + +

Vars

carver_tipA tip displayed to heretics who examine the rune carver. Explains what the rune does.
ownerReference to trap owner mob
+

Var Details

carver_tip + + + + +

+

A tip displayed to heretics who examine the rune carver. Explains what the rune does.

owner + + + + +

+

Reference to trap owner mob

+ + + diff --git a/obj/structure/tray.html b/obj/structure/tray.html new file mode 100644 index 00000000000..bd7ab5bcda9 --- /dev/null +++ b/obj/structure/tray.html @@ -0,0 +1,36 @@ + + + + + + + /obj/structure/tray - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

tray + + + +

+ + +

Vars

connectedThe bodycontainer we are a tray to.
+

Var Details

connected + + + + +

+

The bodycontainer we are a tray to.

+ + + diff --git a/obj/structure/urinal.html b/obj/structure/urinal.html new file mode 100644 index 00000000000..fec4719c2bb --- /dev/null +++ b/obj/structure/urinal.html @@ -0,0 +1,43 @@ + + + + + + + /obj/structure/urinal - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

urinal + + + +

+ + + +

Vars

exposedCan you currently put an item inside
hidden_itemWhat's in the urinal
+

Var Details

exposed + + + + +

+

Can you currently put an item inside

hidden_item + + + + +

+

What's in the urinal

+ + + diff --git a/obj/structure/weightmachine.html b/obj/structure/weightmachine.html new file mode 100644 index 00000000000..a4b3243f642 --- /dev/null +++ b/obj/structure/weightmachine.html @@ -0,0 +1,64 @@ + + + + + + + /obj/structure/weightmachine - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

weightmachine + + + +

+ + + + + + +

Vars

drunk_messagemessage when drunk user fails to use the machine
finished_messageList of messages picked when finished using the machine.
more_weightList of messages picked when using the machine.
pixel_shift_yHow much we shift the user's pixel y when using the weight machine.
weight_actionThe weight action we give to people that buckle themselves to us.
+

Var Details

drunk_message + + + + +

+

message when drunk user fails to use the machine

finished_message + + + + +

+

List of messages picked when finished using the machine.

more_weight + + + + +

+

List of messages picked when using the machine.

pixel_shift_y + + + + +

+

How much we shift the user's pixel y when using the weight machine.

weight_action + + + + +

+

The weight action we give to people that buckle themselves to us.

+ + + diff --git a/obj/structure/window.html b/obj/structure/window.html new file mode 100644 index 00000000000..72e16a0219e --- /dev/null +++ b/obj/structure/window.html @@ -0,0 +1,50 @@ + + + + + + + /obj/structure/window - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

window + + + +

+ + + + +

Vars

bloodiedIf some inconsiderate jerk has had their blood spilled on this window, thus making it cleanable
glass_material_datumDatum that the shard and debris type is pulled from for when the glass is broken.

Procs

spawn_debrisSpawns shard and debris decal based on the glass_material_datum, spawns rods if window is reinforned and number of shards/rods is determined by the window being fulltile or not.
+

Var Details

bloodied + + + + +

+

If some inconsiderate jerk has had their blood spilled on this window, thus making it cleanable

glass_material_datum + + + + +

+

Datum that the shard and debris type is pulled from for when the glass is broken.

Proc Details

spawn_debris +

+

Spawns shard and debris decal based on the glass_material_datum, spawns rods if window is reinforned and number of shards/rods is determined by the window being fulltile or not.

+ + + diff --git a/obj/vehicle.html b/obj/vehicle.html new file mode 100644 index 00000000000..ecde53cbb1c --- /dev/null +++ b/obj/vehicle.html @@ -0,0 +1,225 @@ + + + + + + + /obj/vehicle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

vehicle + + + +

+ + + + + + + + + + + + + + + + + + + + +

Vars

canmoveWhether the vehicle is currently able to move
inserted_keyThe inserted key, needed on some vehicles to start the engine
key_typeIf the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on their riding component subtype +/datum/component/riding/var/keytype variable because only a few specific checks are handled here with this var, and the majority of it is on the riding component +Eventually the remaining checks should be moved to the component and this var removed.
max_driversMaximum amount of drivers
max_occupantsMaximum amount of passengers plus drivers
trailerThis vehicle will follow us when we move (like atrailer duh)

Procs

add_trailerTo add a trailer to the vehicle in a manner that allows safe qdels
destroy_controller_action_type
destroy_passenger_action_type
generate_action_type
generate_actions
generate_integrity_messageReturns a readable string of the vehicle's health for examining. Overridden by subtypes who want to be more verbose with their health messages.
grant_action_type_to_mob
grant_passenger_actions
initialize_controller_action_type
initialize_passenger_action_type
remove_action_type_from_mob
remove_passenger_actions
remove_trailerTo remove a trailer from the vehicle in a manner that allows safe qdels
+

Var Details

canmove + + + + +

+

Whether the vehicle is currently able to move

inserted_key + + + + +

+

The inserted key, needed on some vehicles to start the engine

key_type + + + + +

+

If the driver needs a certain item in hand (or inserted, for vehicles) to drive this. For vehicles, this must be duplicated on their riding component subtype +/datum/component/riding/var/keytype variable because only a few specific checks are handled here with this var, and the majority of it is on the riding component +Eventually the remaining checks should be moved to the component and this var removed.

max_drivers + + + + +

+

Maximum amount of drivers

max_occupants + + + + +

+

Maximum amount of passengers plus drivers

trailer + + + + +

+

This vehicle will follow us when we move (like atrailer duh)

Proc Details

add_trailer +

+

To add a trailer to the vehicle in a manner that allows safe qdels

destroy_controller_action_type +

+ destroy_controller_action_type +

As the name implies, removes the actiontype from autogrant and removes it from all occupants +args:

+
    +
  • actiontype: typepath of the action you want to remove from occupants and autogrant.
  • +

destroy_passenger_action_type +

+ destroy_passenger_action_type +

Removes this action type from all occupants and stops autogranting it +args:

+
    +
  • actiontype: typepath of the action you want to remove from occupants and the autogrant list.
  • +

generate_action_type +

+ generate_action_type +

A small proc to properly set up each action path. +args:

+
    +
  • actiontype: typepath of the action the proc sets up. +returns created and set up action instance
  • +

generate_actions +

+ generate_actions +

You override this with initialize_passenger_action_type and initialize_controller_action_type calls +To give passengers actions when they enter the vehicle. +Read the documentation on the aforementioned procs to learn the difference

generate_integrity_message +

+

Returns a readable string of the vehicle's health for examining. Overridden by subtypes who want to be more verbose with their health messages.

grant_action_type_to_mob +

+ grant_action_type_to_mob +

As on the tin, it does all the annoying small stuff and sanity needed +to GRANT an action to a mob. +args:

+
    +
  • actiontype: typepath of the action you want to give to grant_to.
  • +
  • grant_to: the mob we're giving actiontype to +returns TRUE if successfully granted
  • +

grant_passenger_actions +

+ grant_passenger_actions +

Called on every passenger that enters the vehicle, goes through the list of actions it needs to give... +and does that. +args:

+
    +
  • grant_to: mob that needs to get every action the vehicle grants
  • +

initialize_controller_action_type +

+ initialize_controller_action_type +

Gives any passenger that enters the vehicle this action... IF they have the correct vehicle control flag. +This is used so passengers cannot press buttons only drivers should have, for example. +args:

+
    +
  • actiontype: typepath of the action you want to give occupants.
  • +

initialize_passenger_action_type +

+ initialize_passenger_action_type +

Gives any passenger that enters the mech this action. +They will lose it when they disembark. +args:

+
    +
  • actiontype: typepath of the action you want to give occupants.
  • +

remove_action_type_from_mob +

+ remove_action_type_from_mob +

As on the tin, it does all the annoying small stuff and sanity needed +to REMOVE an action to a mob. +args:

+
    +
  • actiontype: typepath of the action you want to give to grant_to.
  • +
  • take_from: the mob we're taking actiontype to +returns TRUE if successfully removed
  • +

remove_passenger_actions +

+ remove_passenger_actions +

Called on every passenger that exits the vehicle, goes through the list of actions it needs to remove... +and does that. +args:

+
    +
  • take_from: mob that needs to get every action the vehicle grants
  • +

remove_trailer +

+

To remove a trailer from the vehicle in a manner that allows safe qdels

+ + + diff --git a/obj/vehicle/ridden/bicycle.html b/obj/vehicle/ridden/bicycle.html new file mode 100644 index 00000000000..90ca96bd0db --- /dev/null +++ b/obj/vehicle/ridden/bicycle.html @@ -0,0 +1,35 @@ + + + + + + + /obj/vehicle/ridden/bicycle - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

bicycle + + + +

+ + +

Procs

can_still_fixcan we still fix the bike lol

Proc Details

can_still_fix +

+

can we still fix the bike lol

+ + + diff --git a/obj/vehicle/ridden/janicart.html b/obj/vehicle/ridden/janicart.html new file mode 100644 index 00000000000..a32b2c2f5ae --- /dev/null +++ b/obj/vehicle/ridden/janicart.html @@ -0,0 +1,61 @@ + + + + + + + /obj/vehicle/ridden/janicart - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

Janicart + + + +

+ + + + + +

Vars

installed_upgradeThe installed upgrade, if present
trash_bagThe attached garbage bag, if present

Procs

bag_deletedCalled if the attached bag is being qdeleted, ensures appearance is maintained properly
try_remove_bagAttempts to remove the attached trash bag, returns true if bag was removed
+

Var Details

installed_upgrade + + + + +

+

The installed upgrade, if present

trash_bag + + + + +

+

The attached garbage bag, if present

Proc Details

bag_deleted +

+

Called if the attached bag is being qdeleted, ensures appearance is maintained properly

try_remove_bag +

+

Attempts to remove the attached trash bag, returns true if bag was removed

+

Arguments:

+
    +
  • remover - The (optional) mob attempting to remove the bag
  • +
+ + + diff --git a/obj/vehicle/ridden/scooter/skateboard.html b/obj/vehicle/ridden/scooter/skateboard.html new file mode 100644 index 00000000000..4f14c6f0ba9 --- /dev/null +++ b/obj/vehicle/ridden/scooter/skateboard.html @@ -0,0 +1,71 @@ + + + + + + + /obj/vehicle/ridden/scooter/skateboard - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

skateboard + + + +

+ + + + + + + +

Vars

board_item_typeThe handheld item counterpart for the board
grindingWhether the board is currently grinding
instabilityStamina drain multiplier
next_crashStores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions
sparksSparks datum for when we grind on tables

Procs

grindMoves the vehicle forward and if it lands on a table, repeats
+

Var Details

board_item_type + + + + +

+

The handheld item counterpart for the board

grinding + + + + +

+

Whether the board is currently grinding

instability + + + + +

+

Stamina drain multiplier

next_crash + + + + +

+

Stores the time of the last crash plus a short cooldown, affects availability and outcome of certain actions

sparks + + + + +

+

Sparks datum for when we grind on tables

Proc Details

grind +

+

Moves the vehicle forward and if it lands on a table, repeats

+ + + diff --git a/obj/vehicle/ridden/scooter/skateboard/wheelys.html b/obj/vehicle/ridden/scooter/skateboard/wheelys.html new file mode 100644 index 00000000000..3cad40ff657 --- /dev/null +++ b/obj/vehicle/ridden/scooter/skateboard/wheelys.html @@ -0,0 +1,57 @@ + + + + + + + /obj/vehicle/ridden/scooter/skateboard/wheelys - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wheelys + + + +

+ + + + + +

Vars

component_typeComponent typepath to attach in [/obj/vehicle/ridden/scooter/skateboard/wheelys/proc/make_ridable()]
shoesStores the shoes associated with the vehicle
wheel_nameName of the wheels, for visible messages

Procs

link_shoesSets the shoes that the vehicle is associated with, called when the shoes are initialized
+

Var Details

component_type + + + + +

+

Component typepath to attach in [/obj/vehicle/ridden/scooter/skateboard/wheelys/proc/make_ridable()]

shoes + + + + +

+

Stores the shoes associated with the vehicle

wheel_name + + + + +

+

Name of the wheels, for visible messages

Proc Details

+

Sets the shoes that the vehicle is associated with, called when the shoes are initialized

+ + + diff --git a/obj/vehicle/ridden/secway.html b/obj/vehicle/ridden/secway.html new file mode 100644 index 00000000000..64af873a65f --- /dev/null +++ b/obj/vehicle/ridden/secway.html @@ -0,0 +1,36 @@ + + + + + + + /obj/vehicle/ridden/secway - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

secway + + + +

+ + +

Vars

eddie_murphyThis stores a banana that, when used on the secway, prevents the vehicle from moving until it is removed.
+

Var Details

eddie_murphy + + + + +

+

This stores a banana that, when used on the secway, prevents the vehicle from moving until it is removed.

+ + + diff --git a/obj/vehicle/ridden/wheelchair.html b/obj/vehicle/ridden/wheelchair.html new file mode 100644 index 00000000000..59758018a55 --- /dev/null +++ b/obj/vehicle/ridden/wheelchair.html @@ -0,0 +1,71 @@ + + + + + + + /obj/vehicle/ridden/wheelchair - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wheelchair + + + +

+ + + + + + + +

Vars

bell_attachedBell attached to the wheelchair, if we have one.
delay_multiplierRun speed delay is multiplied with this for vehicle move delay.
foldabletypeDetermines the typepath of what the object folds into
overlay_iconThis variable is used to specify which overlay icon is used for the wheelchair, ensures wheelchair can cover your legs

Procs

attach_bellattaches bell to the wheelchair
make_ridableI assign the ridable element in this so i don't have to fuss with hand wheelchairs and motor wheelchairs having different subtypes
+

Var Details

bell_attached + + + + +

+

Bell attached to the wheelchair, if we have one.

delay_multiplier + + + + +

+

Run speed delay is multiplied with this for vehicle move delay.

foldabletype + + + + +

+

Determines the typepath of what the object folds into

overlay_icon + + + + +

+

This variable is used to specify which overlay icon is used for the wheelchair, ensures wheelchair can cover your legs

Proc Details

attach_bell +

+

attaches bell to the wheelchair

make_ridable +

+

I assign the ridable element in this so i don't have to fuss with hand wheelchairs and motor wheelchairs having different subtypes

+ + + diff --git a/obj/vehicle/ridden/wheelchair/motorized.html b/obj/vehicle/ridden/wheelchair/motorized.html new file mode 100644 index 00000000000..42dd1a2d1c7 --- /dev/null +++ b/obj/vehicle/ridden/wheelchair/motorized.html @@ -0,0 +1,78 @@ + + + + + + + /obj/vehicle/ridden/wheelchair/motorized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

motorized + + + +

+ + + + + + + + +

Vars

component_partsstock parts for this chair
panel_openwhether the panel is open so a user can take out the cell
power_cellpower cell we draw power from
power_efficiencySelf explanatory, ratio of how much power we use
power_usageHow much power we use
required_partsParts used in building the wheelchair
speedHow "fast" the wheelchair goes only affects ramming
+

Var Details

component_parts + + + + +

+

stock parts for this chair

panel_open + + + + +

+

whether the panel is open so a user can take out the cell

power_cell + + + + +

+

power cell we draw power from

power_efficiency + + + + +

+

Self explanatory, ratio of how much power we use

power_usage + + + + +

+

How much power we use

required_parts + + + + +

+

Parts used in building the wheelchair

speed + + + + +

+

How "fast" the wheelchair goes only affects ramming

+ + + diff --git a/obj/vehicle/sealed.html b/obj/vehicle/sealed.html new file mode 100644 index 00000000000..f9932a8b6f6 --- /dev/null +++ b/obj/vehicle/sealed.html @@ -0,0 +1,57 @@ + + + + + + + /obj/vehicle/sealed - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

sealed + + + +

+ + + + + +

Vars

access_provider_flagsDetermines which occupants provide access when bumping into doors

Procs

enter_checksExtra checks to perform during the do_after to enter the vehicle
get_enter_delayreturns enter do_after delay for the given mob in ticks
vehicle_moveSinced sealed vehicles (cars and mechs) don't have riding components, the actual movement is handled here from [/obj/vehicle/sealed/proc/relaymove]
+

Var Details

access_provider_flags + + + + +

+

Determines which occupants provide access when bumping into doors

Proc Details

enter_checks +

+

Extra checks to perform during the do_after to enter the vehicle

get_enter_delay +

+

returns enter do_after delay for the given mob in ticks

vehicle_move +

+

Sinced sealed vehicles (cars and mechs) don't have riding components, the actual movement is handled here from [/obj/vehicle/sealed/proc/relaymove]

+ + + diff --git a/obj/vehicle/sealed/car.html b/obj/vehicle/sealed/car.html new file mode 100644 index 00000000000..717777b1ffc --- /dev/null +++ b/obj/vehicle/sealed/car.html @@ -0,0 +1,92 @@ + + + + + + + /obj/vehicle/sealed/car - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

car + + + +

+ + + + + + + + + + +

Vars

car_traitsBitflags for special behavior such as kidnapping
engine_soundSound file(s) to play when we drive around
engine_sound_lengthSet this to the length of the engine sound.
enginesound_cooldownHow long it takes to rev (vrrm vrrm!)
escape_timeTime it takes to break out of the car.
vehicle_move_delayHow long it takes to move, cars don't use the riding component similar to mechs so we handle it ourselves

Procs

is_car_stationaryCallback proc to check for
mob_forced_enterProc called when someone is forcefully stuffedd into a car
mob_try_forced_enterattempts to force a mob into the car
+

Var Details

car_traits + + + + +

+

Bitflags for special behavior such as kidnapping

engine_sound + + + + +

+

Sound file(s) to play when we drive around

engine_sound_length + + + + +

+

Set this to the length of the engine sound.

enginesound_cooldown + + + + +

+

How long it takes to rev (vrrm vrrm!)

escape_time + + + + +

+

Time it takes to break out of the car.

vehicle_move_delay + + + + +

+

How long it takes to move, cars don't use the riding component similar to mechs so we handle it ourselves

Proc Details

is_car_stationary +

+

Callback proc to check for

mob_forced_enter +

+

Proc called when someone is forcefully stuffedd into a car

mob_try_forced_enter +

+

attempts to force a mob into the car

+ + + diff --git a/obj/vehicle/sealed/car/clowncar.html b/obj/vehicle/sealed/car/clowncar.html new file mode 100644 index 00000000000..c78e779f43d --- /dev/null +++ b/obj/vehicle/sealed/car/clowncar.html @@ -0,0 +1,139 @@ + + + + + + + /obj/vehicle/sealed/car/clowncar - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

clowncar + + + +

+ + + + + + + + + + + + + + + +

Vars

cannonmodeCurrent status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY
dice_cooldown_timeCooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages
enforce_clown_roleDoes the driver require the clown role to drive it
headlight_colorslist of headlight colors we use to pick through when we have party mode due to emag
thankscountHow many times kidnappers in the clown car said thanks

Procs

activate_cannonFinalizes canon activation
cover_in_oilDeploys oil when the clowncar moves in oil deploy mode
deactivate_cannonFinalizes canon deactivation
fire_cannon_atFires the cannon where the user clicks
increment_thanks_counterIncrements the thanks counter every time someone thats been kidnapped thanks the driver
reset_iconresets the icon and iconstate of the clowncar after it was set to singulo states
roll_the_dicePlays a random funky effect +Only available while car is emagged +Possible effects:
stop_dropping_oilStops dropping oil after the time has run up
toggle_cannonToggles the on and off state of the clown cannon that shoots random kidnapped people
+

Var Details

cannonmode + + + + +

+

Current status of the cannon, alternates between CLOWN_CANNON_INACTIVE, CLOWN_CANNON_BUSY and CLOWN_CANNON_READY

dice_cooldown_time + + + + +

+

Cooldown time inbetween [/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice()] usages

enforce_clown_role + + + + +

+

Does the driver require the clown role to drive it

headlight_colors + + + + +

+

list of headlight colors we use to pick through when we have party mode due to emag

thankscount + + + + +

+

How many times kidnappers in the clown car said thanks

Proc Details

activate_cannon +

+

Finalizes canon activation

cover_in_oil +

+

Deploys oil when the clowncar moves in oil deploy mode

deactivate_cannon +

+

Finalizes canon deactivation

fire_cannon_at +

+

Fires the cannon where the user clicks

increment_thanks_counter +

+

Increments the thanks counter every time someone thats been kidnapped thanks the driver

reset_icon +

+

resets the icon and iconstate of the clowncar after it was set to singulo states

roll_the_dice +

+

Plays a random funky effect +Only available while car is emagged +Possible effects:

+
    +
  • Spawn bananapeel
  • +
  • Spawn random reagent foam
  • +
  • Make the clown car look like a singulo temporarily
  • +
  • Spawn Laughing chem gas
  • +
  • Drop oil
  • +
  • Fart and make everyone nearby laugh
  • +

stop_dropping_oil +

+

Stops dropping oil after the time has run up

toggle_cannon +

+

Toggles the on and off state of the clown cannon that shoots random kidnapped people

+ + + diff --git a/obj/vehicle/sealed/car/speedwagon.html b/obj/vehicle/sealed/car/speedwagon.html new file mode 100644 index 00000000000..7361cbb5d23 --- /dev/null +++ b/obj/vehicle/sealed/car/speedwagon.html @@ -0,0 +1,36 @@ + + + + + + + /obj/vehicle/sealed/car/speedwagon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

speedwagon + + + +

+ +

Big 3x3 car only available to admins which can run people over

+

Vars

crash_allDetermines whether we throw all things away when ramming them or just mobs, varedit only
+

Var Details

crash_all + + + + +

+

Determines whether we throw all things away when ramming them or just mobs, varedit only

+ + + diff --git a/obj/vehicle/sealed/car/vim.html b/obj/vehicle/sealed/car/vim.html new file mode 100644 index 00000000000..91fe46d8ab5 --- /dev/null +++ b/obj/vehicle/sealed/car/vim.html @@ -0,0 +1,38 @@ + + + + + + + /obj/vehicle/sealed/car/vim - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

vim + + + +

+ +VIM!!!!!!! +

It's a teenie minature mecha... for critters! +For the critters that cannot be understood, there is a sound creator in the mecha. It also has headlights.

+

Vars

maximum_mob_sizeMaximum size of a mob trying to enter the mech
+

Var Details

maximum_mob_size + + + + +

+

Maximum size of a mob trying to enter the mech

+ + + diff --git a/obj/vehicle/sealed/mecha.html b/obj/vehicle/sealed/mecha.html new file mode 100644 index 00000000000..260ed4c39d4 --- /dev/null +++ b/obj/vehicle/sealed/mecha.html @@ -0,0 +1,798 @@ + + + + + + + /obj/vehicle/sealed/mecha - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mecha + + + +

+ +

WELCOME TO MECHA.DM, ENJOY YOUR STAY

+

Mechs are now (finally) vehicles, this means you can make them multicrew +They can also grant select ability buttons based on occupant bitflags

+

Movement is handled through vehicle_move() which is called by relaymove +Clicking is done by way of signals registering to the entering mob +NOTE: MMIS are NOT mobs but instead contain a brain that is, so you need special checks +AI also has special checks becaus it gets in and out of the mech differently +Always call remove_occupant(mob) when leaving the mech so the mob is removed properly

+

For multi-crew, you need to set how the occupants receive ability bitflags corresponding to their status on the vehicle(i.e: driver, gunner etc) +Abilities can then be set to only apply for certain bitflags and are assigned as such automatically

+

Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) +Or are used to call action() on equipped gear +Cooldown for gear is on the mech because exploits

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

accessesA list of all granted accesses
active_thrusters/Action vars +Ref to any active thrusters we might have
allow_diagonal_movementWhether this mech is allowed to move diagonally
bumpsmashWhether or not the mech destroys walls by running into it.
cabin_airInternal air mix datum
cabin_sealedWhether the cabin exchanges gases with the environment
cabin_volumeVolume of the cabin
can_use_overclockWhether it is possible to toggle overclocking from the cabin
capacitorKeeps track of the mech's capacitor
cellKeeps track of the mech's cell
chassis_cameraCamera installed into the mech
completely_disabledJust stop the mech from doing anything
component_damage_thresholddamage threshold above which we take component damage
defense_modeBool for energy shield on/off
destruction_sleep_durationTime you get slept for if you get forcible ejected by the mech exploding
dna_lockStores the DNA enzymes of a carbon so tht only they can access the mech
enclosed////////ATMOS +Whether the pilot is hidden from the outside viewers and whether the cabin can be sealed to be airtight
equip_by_categoryassoc list: key-typepathlist before init, key-equipmentlist after
equipment_disabledif we cant use our equipment(such as due to EMP)
exit_delayTIme taken to leave the mech
facing_modifiersModifiers for directional damage reduction
flat_equipmentflat equipment for iteration
internal_damageBitflags for internal damage
internal_damage_probability% chance for internal damage to occur
internal_damage_thresholddamage amount above which we can take internal damages
is_currently_ejectingCurrently ejecting, and unable to do things
lavaland_onlyBool for whether this mech can only be used on lavaland
light_energy_drainPower we use to have the lights on
lights_powerHow powerful our lights are
max_equip_by_categoryassoc list: max equips for modules key-count
mech_typesingle flag for the type of this mech, determines what kind of equipment can be attached to it
mecha_flagsContains flags for the mecha
melee_cooldownCooldown duration between melee punches
melee_energy_drainHow much energy we drain each time we mechpunch someone
one_accessIf the mech should require ALL or only ONE of the listed accesses
ore_boxHandles an internal ore box for mining mechs
overclock_coeffSpeed and energy usage modifier for leg overload
overclock_modeBool for leg overload on/off
overclock_safetyWhether the overclocking turns off automatically when overheated
overclock_safety_availableWhether the mech has an option to enable safe overclocking
overclock_tempCurrent leg actuator temperature. Increases when overloaded, decreases when not.
overclock_temp_dangerTemperature threshold at which actuators may start causing internal damage
phase_stateicon_state for flick() when phazing
phasingcheck for phasing, if it is set to text (to describe how it is phasing: "flying", "phasing") it will let the mech walk through walls.
phasing_energy_drainPower we use every time we phaze through something
pivot_stepWhether this mech moves into a direct as soon as it goes to move. Basically, turn and step in the same key press.
possible_int_damagelist of possibly dealt internal damage for this mech type
scanmodKeeps track of the mech's scanning module
servoKeeps track of the mech's servo motor
silicon_icon_stateIn case theres a different iconstate for AI/MMI pilot(currently only used for ripley)
smashcooldownCooldown length between bumpsmashes
smoke_chargesRemaining smoke charges
smoke_cooldownCooldown between using smoke
spark_systemSpark effects are handled by this datum
step_energy_drainHow much energy the mech will consume each time it moves. this is the current active energy consumed
step_silentWhether our steps are silent due to no gravity
stepsoundSound played when the mech moves
strafeWether we are strafing
trackersList of installed remote tracking beacons, including AI control beacons
turnsoundSound played when the mech walks
ui_selected_module_indexModule selected by default when mech UI is opened
ui_themeTheme of the mech TGUI
ui_viewref to screen object that displays in the middle of the UI
updatingPortable camera camerachunk update
weapons_safetySafety for weapons. Won't fire if enabled, and toggled by middle click.
wreckageTypepath for the wreckage it spawns when destroyed

Procs

ai_enter_mechHack and From Card interactions share some code, so leave that here for both to use.
collect_oreCollects ore when we move, if there is an orebox and it is functional
diag_hud_set_cameraShows inbuilt camera on the mech; if the camera's view range was affected by an EMP, shows a red blip while it's affected
diag_hud_set_mechtrackingShows tracking beacons on the mech
display_speech_bubbleDisplays a special speech bubble when someone inside the mecha speaks
do_camera_updateThe actual update - also passes our unique update buffer. This makes our static update faster than stationary cameras, +helping us to avoid running out of the camera's FoV. An EMPd mecha with a lowered view_range on its camera can still +sometimes run out into static before updating, however.
generate_action_typeMECHA ACTIONS
get_armour_facingreturns a number for the damage multiplier for this relative angle/dir
get_int_repair_fluff_endgets the successful finish balloon alert flufftext
get_int_repair_fluff_failgets the on-fail balloon alert flufftext
get_int_repair_fluff_startgets the starting balloon alert flufftext
get_internal_tankLocate an internal tack in the utility modules
has_chargelist of materials contained in the ammo box after we put it through the equation so we can stick this list into set_custom_materials()
max_ammo// Ammo stuff /////
mmi_move_insideproc called when a new mmi mob tries to enter this mech
mmi_moved_insideproc called when a new mmi mob enters this mech
moved_insideproc called when a new non-mmi/AI mob enters this mech
on_light_eaterSpecial light eater handling
on_middlemouseclickmiddle mouse click signal wrapper for AI users
on_mouseclickCalled when a driver clicks somewhere. Handles everything like equipment, punches, etc.
on_moveCalled when the mech moves
on_turnCalled when the driver turns with the movement lock key
play_stepsoundPlays the mech step sound effect. Split from movement procs so that other mechs (HONK) can override this one specific part.
populate_partsAdd parts on mech spawning. Skipped in manual construction.
remove_airAtmospheric stuff
return_pressurefetches pressure of the gas mixture we are using
return_temperaturefetches temp of the gas mixture we are using
setDirSets the direction of the mecha and all of its occcupents, required for FOV. Alternatively one could make a recursive contents registration and register topmost direction changes in the fov component
set_cabin_sealmakes cabin unsealed, dumping cabin air outside or airtight filling the cabin with external air mix
set_mouse_pointerUpdates the pilot's mouse cursor override.
set_safetyToggles Weapons Safety
shockElectrocute user from power celll
toggle_lightsToggle lights on/off
toggle_overclockToggle mech overclock with a button or by hacking
try_damage_componenttries to damage mech equipment depending on damage and where is being targeted
try_deal_internal_damagetries to deal internal damaget depending on the damage amount
try_insert_partTry to insert a stock part into the mech
try_repair_int_damagetries to repair any internal damage and plays fluff for it
update_accessApply corresponding accesses
update_energy_drainUpdate the energy drain according to parts and status
+

Var Details

accesses + + + + +

+

A list of all granted accesses

active_thrusters + + + + +

+

/Action vars +Ref to any active thrusters we might have

allow_diagonal_movement + + + + +

+

Whether this mech is allowed to move diagonally

bumpsmash + + + + +

+

Whether or not the mech destroys walls by running into it.

cabin_air + + + + +

+

Internal air mix datum

cabin_sealed + + + + +

+

Whether the cabin exchanges gases with the environment

cabin_volume + + + + +

+

Volume of the cabin

can_use_overclock + + + + +

+

Whether it is possible to toggle overclocking from the cabin

capacitor + + + + +

+

Keeps track of the mech's capacitor

cell + + + + +

+

Keeps track of the mech's cell

chassis_camera + + + + +

+

Camera installed into the mech

completely_disabled + + + + +

+

Just stop the mech from doing anything

component_damage_threshold + + + + +

+

damage threshold above which we take component damage

defense_mode + + + + +

+

Bool for energy shield on/off

destruction_sleep_duration + + + + +

+

Time you get slept for if you get forcible ejected by the mech exploding

dna_lock + + + + +

+

Stores the DNA enzymes of a carbon so tht only they can access the mech

enclosed + + + + +

+

////////ATMOS +Whether the pilot is hidden from the outside viewers and whether the cabin can be sealed to be airtight

equip_by_category + + + + +

+

assoc list: key-typepathlist before init, key-equipmentlist after

equipment_disabled + + + + +

+

if we cant use our equipment(such as due to EMP)

exit_delay + + + + +

+

TIme taken to leave the mech

facing_modifiers + + + + +

+

Modifiers for directional damage reduction

flat_equipment + + + + +

+

flat equipment for iteration

internal_damage + + + + +

+

Bitflags for internal damage

internal_damage_probability + + + + +

+

% chance for internal damage to occur

internal_damage_threshold + + + + +

+

damage amount above which we can take internal damages

is_currently_ejecting + + + + +

+

Currently ejecting, and unable to do things

lavaland_only + + + + +

+

Bool for whether this mech can only be used on lavaland

light_energy_drain + + + + +

+

Power we use to have the lights on

lights_power + + + + +

+

How powerful our lights are

max_equip_by_category + + + + +

+

assoc list: max equips for modules key-count

mech_type + + + + +

+

single flag for the type of this mech, determines what kind of equipment can be attached to it

mecha_flags + + + + +

+

Contains flags for the mecha

melee_cooldown + + + + +

+

Cooldown duration between melee punches

melee_energy_drain + + + + +

+

How much energy we drain each time we mechpunch someone

one_access + + + + +

+

If the mech should require ALL or only ONE of the listed accesses

ore_box + + + + +

+

Handles an internal ore box for mining mechs

overclock_coeff + + + + +

+

Speed and energy usage modifier for leg overload

overclock_mode + + + + +

+

Bool for leg overload on/off

overclock_safety + + + + +

+

Whether the overclocking turns off automatically when overheated

overclock_safety_available + + + + +

+

Whether the mech has an option to enable safe overclocking

overclock_temp + + + + +

+

Current leg actuator temperature. Increases when overloaded, decreases when not.

overclock_temp_danger + + + + +

+

Temperature threshold at which actuators may start causing internal damage

phase_state + + + + +

+

icon_state for flick() when phazing

phasing + + + + +

+

check for phasing, if it is set to text (to describe how it is phasing: "flying", "phasing") it will let the mech walk through walls.

phasing_energy_drain + + + + +

+

Power we use every time we phaze through something

pivot_step + + + + +

+

Whether this mech moves into a direct as soon as it goes to move. Basically, turn and step in the same key press.

possible_int_damage + + + + +

+

list of possibly dealt internal damage for this mech type

scanmod + + + + +

+

Keeps track of the mech's scanning module

servo + + + + +

+

Keeps track of the mech's servo motor

silicon_icon_state + + + + +

+

In case theres a different iconstate for AI/MMI pilot(currently only used for ripley)

smashcooldown + + + + +

+

Cooldown length between bumpsmashes

smoke_charges + + + + +

+

Remaining smoke charges

smoke_cooldown + + + + +

+

Cooldown between using smoke

spark_system + + + + +

+

Spark effects are handled by this datum

step_energy_drain + + + + +

+

How much energy the mech will consume each time it moves. this is the current active energy consumed

step_silent + + + + +

+

Whether our steps are silent due to no gravity

stepsound + + + + +

+

Sound played when the mech moves

strafe + + + + +

+

Wether we are strafing

trackers + + + + +

+

List of installed remote tracking beacons, including AI control beacons

turnsound + + + + +

+

Sound played when the mech walks

ui_selected_module_index + + + + +

+

Module selected by default when mech UI is opened

ui_theme + + + + +

+

Theme of the mech TGUI

ui_view + + + + +

+

ref to screen object that displays in the middle of the UI

updating + + + + +

+

Portable camera camerachunk update

weapons_safety + + + + +

+

Safety for weapons. Won't fire if enabled, and toggled by middle click.

wreckage + + + + +

+

Typepath for the wreckage it spawns when destroyed

Proc Details

ai_enter_mech +

+

Hack and From Card interactions share some code, so leave that here for both to use.

collect_ore +

+

Collects ore when we move, if there is an orebox and it is functional

diag_hud_set_camera +

+

Shows inbuilt camera on the mech; if the camera's view range was affected by an EMP, shows a red blip while it's affected

diag_hud_set_mechtracking +

+

Shows tracking beacons on the mech

display_speech_bubble +

+

Displays a special speech bubble when someone inside the mecha speaks

do_camera_update +

+

The actual update - also passes our unique update buffer. This makes our static update faster than stationary cameras, +helping us to avoid running out of the camera's FoV. An EMPd mecha with a lowered view_range on its camera can still +sometimes run out into static before updating, however.

generate_action_type +

+

MECHA ACTIONS

get_armour_facing +

+

returns a number for the damage multiplier for this relative angle/dir

get_int_repair_fluff_end +

+

gets the successful finish balloon alert flufftext

get_int_repair_fluff_fail +

+

gets the on-fail balloon alert flufftext

get_int_repair_fluff_start +

+

gets the starting balloon alert flufftext

get_internal_tank +

+

Locate an internal tack in the utility modules

has_charge +

+

list of materials contained in the ammo box after we put it through the equation so we can stick this list into set_custom_materials()

+

// Power stuff /////

max_ammo +

+

// Ammo stuff /////

+

Max the ammo stored in all ballistic weapons for this mech

mmi_move_inside +

+

proc called when a new mmi mob tries to enter this mech

mmi_moved_inside +

+

proc called when a new mmi mob enters this mech

moved_inside +

+

proc called when a new non-mmi/AI mob enters this mech

on_light_eater +

+

Special light eater handling

on_middlemouseclick +

+

middle mouse click signal wrapper for AI users

on_mouseclick +

+

Called when a driver clicks somewhere. Handles everything like equipment, punches, etc.

on_move +

+

Called when the mech moves

on_turn +

+

Called when the driver turns with the movement lock key

play_stepsound +

+

Plays the mech step sound effect. Split from movement procs so that other mechs (HONK) can override this one specific part.

populate_parts +

+

Add parts on mech spawning. Skipped in manual construction.

remove_air +

+

Atmospheric stuff

return_pressure +

+

fetches pressure of the gas mixture we are using

return_temperature +

+

fetches temp of the gas mixture we are using

setDir +

+

Sets the direction of the mecha and all of its occcupents, required for FOV. Alternatively one could make a recursive contents registration and register topmost direction changes in the fov component

set_cabin_seal +

+

makes cabin unsealed, dumping cabin air outside or airtight filling the cabin with external air mix

set_mouse_pointer +

+

Updates the pilot's mouse cursor override.

+

If the mech's weapons safety is enabled, there should be no override, and the user gets their regular mouse cursor. If safety +is off but the mech's equipment is disabled (such as by EMP), the cursor should be the red disabled version. Otherwise, if +safety is off and the equipment is functional, the cursor should be the regular green cursor. This proc sets the cursor. +correct and then updates it for each mob in the occupants list.

set_safety +

+

Toggles Weapons Safety

+

Handles enabling or disabling the safety function.

shock +

+

Electrocute user from power celll

toggle_lights +

+

Toggle lights on/off

toggle_overclock +

+

Toggle mech overclock with a button or by hacking

try_damage_component +

+

tries to damage mech equipment depending on damage and where is being targeted

try_deal_internal_damage +

+

tries to deal internal damaget depending on the damage amount

try_insert_part +

+

Try to insert a stock part into the mech

try_repair_int_damage +

+

tries to repair any internal damage and plays fluff for it

update_access +

+

Apply corresponding accesses

update_energy_drain +

+

Update the energy drain according to parts and status

+ + + diff --git a/obj/vehicle/sealed/mecha/durand.html b/obj/vehicle/sealed/mecha/durand.html new file mode 100644 index 00000000000..a577d41ca41 --- /dev/null +++ b/obj/vehicle/sealed/mecha/durand.html @@ -0,0 +1,44 @@ + + + + + + + /obj/vehicle/sealed/mecha/durand - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

durand + + + +

+ + + +

Procs

defense_check*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.
relayRelays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

Proc Details

defense_check +

+

*Checks if defense mode is enabled, and if the attacker is standing in an area covered by the shield. +Expects a turf. Returns true if the attack should be blocked, false if not.

relay +

+

Relays the signal from the action button to the shield, and creates a new shield if the old one is MIA.

+ + + diff --git a/obj/vehicle/sealed/mecha/ripley.html b/obj/vehicle/sealed/mecha/ripley.html new file mode 100644 index 00000000000..9ff72793a83 --- /dev/null +++ b/obj/vehicle/sealed/mecha/ripley.html @@ -0,0 +1,72 @@ + + + + + + + /obj/vehicle/sealed/mecha/ripley - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

ripley + + + +

+ + + + + + + +

Vars

cargo_holdReference to the Cargo Hold equipment.
fast_pressure_step_inHow fast the mech is in low pressure
hidesAmount of Goliath hides attached to the mech
slow_pressure_step_inHow fast the mech is in normal pressure
stepsoundCustom Ripley step and turning sounds (from TGMC)

Procs

update_pressureMakes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.
+

Var Details

cargo_hold + + + + +

+

Reference to the Cargo Hold equipment.

fast_pressure_step_in + + + + +

+

How fast the mech is in low pressure

hides + + + + +

+

Amount of Goliath hides attached to the mech

slow_pressure_step_in + + + + +

+

How fast the mech is in normal pressure

stepsound + + + + +

+

Custom Ripley step and turning sounds (from TGMC)

Proc Details

update_pressure +

+

Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.

+

Checks for Lavaland pressure, if that works out the mech's speed is equal to fast_pressure_step_in and the cooldown for the mecha drill is halved. If not it uses slow_pressure_step_in and drill cooldown is normal.

+ + + diff --git a/obj/vehicle/sealed/mecha/ripley/paddy.html b/obj/vehicle/sealed/mecha/ripley/paddy.html new file mode 100644 index 00000000000..4d88bd456d5 --- /dev/null +++ b/obj/vehicle/sealed/mecha/ripley/paddy.html @@ -0,0 +1,50 @@ + + + + + + + /obj/vehicle/sealed/mecha/ripley/paddy - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

paddy + + + +

+ + + + +

Vars

sirenSiren Lights/Sound State
sirenlightsOverlay for Siren Lights
weewooloopLooping sound datum for the Siren audio
+

Var Details

siren + + + + +

+

Siren Lights/Sound State

sirenlights + + + + +

+

Overlay for Siren Lights

weewooloop + + + + +

+

Looping sound datum for the Siren audio

+ + + diff --git a/obj/vehicle/sealed/mecha/savannah_ivanov.html b/obj/vehicle/sealed/mecha/savannah_ivanov.html new file mode 100644 index 00000000000..f4b9e725875 --- /dev/null +++ b/obj/vehicle/sealed/mecha/savannah_ivanov.html @@ -0,0 +1,30 @@ + + + + + + + /obj/vehicle/sealed/mecha/savannah_ivanov - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

savannah_ivanov + + + +

+ +Savannah-Ivanov! +

A two person mecha that delegates moving to the driver and shooting to the pilot. +...Hilarious, right?

+ + + diff --git a/particles.html b/particles.html new file mode 100644 index 00000000000..52dcc8875c3 --- /dev/null +++ b/particles.html @@ -0,0 +1,35 @@ + + + + + + + /particles - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

particles + + + +

+ + +

Procs

return_ui_representationreturns ui_data values for the particle editor

Proc Details

return_ui_representation +

+

returns ui_data values for the particle editor

+ + + diff --git a/procpath.html b/procpath.html new file mode 100644 index 00000000000..bdd11fdcb0a --- /dev/null +++ b/procpath.html @@ -0,0 +1,73 @@ + + + + + + + /procpath - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

procpath + + + +

+ +

Represents a proc or verb path.

+

Despite having no DM-defined static type, proc paths have some variables, +listed below. These are not modifiable, but for a given procpath P, +new P(null, "Name", "Desc") can be used to create a new procpath with the +same code but new name and desc values. The other variables cannot be +changed in this way.

+

This type exists only to act as an annotation, providing reasonable static +typing for procpaths. Previously, types like /atom/verb were used, with +the name and desc vars of /atom thus being accessible. Proc and verb +paths will fail istype and ispath checks against /procpath.

+ + + + +

Vars

categoryThe category or tab the verb will appear in.
descThe verb's help text or description.
hiddenWhether or not the verb appears in statpanel and commandbar when you press space
invisibilityOnly clients/mobs with see_invisibility higher can use the verb.
nameA text string of the verb's name.
+

Var Details

category + + + + +

+

The category or tab the verb will appear in.

desc + + + + +

+

The verb's help text or description.

hidden + + + + +

+

Whether or not the verb appears in statpanel and commandbar when you press space

invisibility + + + + +

+

Only clients/mobs with see_invisibility higher can use the verb.

name + + + + +

+

A text string of the verb's name.

+ + + diff --git a/regex/format_component.html b/regex/format_component.html new file mode 100644 index 00000000000..a57654a0c15 --- /dev/null +++ b/regex/format_component.html @@ -0,0 +1,41 @@ + + + + + + + /regex/format_component - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

Subtype of regex that holds context to /obj/item/circuit_component/format + + + +

+ + +

Procs

process_format_component_paramReplace %n with the actual param, as a string. +Arguments:

Proc Details

process_format_component_param +

+

Replace %n with the actual param, as a string. +Arguments:

+
    +
  • match - The full %1 regex match. Unused.
  • +
  • index_string - Just the "1" of the %1 format, actually used.
  • +
+ + + diff --git a/turf.html b/turf.html new file mode 100644 index 00000000000..af7b694ce4f --- /dev/null +++ b/turf.html @@ -0,0 +1,641 @@ + + + + + + + /turf - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

turf + + + +

+ +

Any floor or wall. What makes up the station and the rest of the map.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

archived_cycleused to determine whether we should archive
assigned_oranges_earwhat /mob/oranges_ear instance is already assigned to us as there should only ever be one. +used for guaranteeing there is only one oranges_ear per turf when assigned, speeds up view() iteration
atmos_adjacent_turfslist of turfs adjacent to us that air can flow onto
atmos_supeconductivitybitfield of dirs in which we are superconducitng
directional_opacityWhich directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources.
dynamic_lumcountLumcount added by sources other than lighting datum objects, such as the overlay lighting component.
fixed_underlayIcon-smoothing variable to map a diagonal wall corner with a fixed underlay.
force_no_gravitywhether or not this turf forces movables on it to have no gravity (unless they themselves have forced gravity)
heat_capacityAmount of heat necessary to activate some atmos processes (there is a weird usage of this var because is compared directly to the temperature instead of heat energy)
holodeck_compatiblethe holodeck can load onto this turf if TRUE
in_contents_ofFor the area_contents list unit test +Allows us to know our area without needing to preassign it +Sorry for the mess
inherent_explosive_resistanceHow much explosive resistance this turf is providing to itself +Defaults to -1, interpreted as initial(explosive_resistance) +This is an optimization to prevent turfs from needing to set these on init +This would either be expensive, or impossible to manage. Let's just avoid it yes? +Never directly access this, use get_explosive_block() instead
initial_gas_mixused for mapping and for breathing while in walls (because that's a thing that needs to be accounted for...) +string parsed by /datum/gas/proc/copy_from_turf +approximation of MOLES_O2STANDARD and MOLES_N2STANDARD pending byond allowing constant expressions to be embedded in constant strings +If someone will place 0 of some gas there, SHIT WILL BREAK. Do not do that.
lattice_underneathIf there is a lattice underneat this turf. Used for the attempt_lattice_replacement proc to determine if it should place lattice.
lighting_corner_NELighting Corner datums.
lighting_objectOur lighting object.
max_fire_temperature_sustainedThe max temperature of the fire which it was subjected to
opacity_sourcesLazylist of movable atoms providing opacity sources.
overfloor_placedIf there's a tile over a basic floor that can be ripped out
pathing_pass_methodHow pathing algorithm will check if this turf is passable by itself (not including content checks). By default it's just density check. +WARNING: Currently to use a density shortcircuiting this does not support dense turfs with special allow through function
rcd_memoryIf this turf contained an RCD'able object (or IS one, for walls) +but is now destroyed, this will preserve the value. +See _DEFINES/construction.dm for RCD_MEMORY*.
space_litBool, whether this turf will always be illuminated no matter what area it is in +Makes it look blue, be warned
temperature_archivedArchived version of the temperature on a turf
thermal_conductivitiesAll currently stored conductivities changes
thermal_conductivityused for temperature calculations in superconduction
to_be_destroyedUsed for fire, if a melting temperature was reached, it will be destroyed
turf_flagsTurf bitflags, see code/__DEFINES/flags.dm
underfloor_accessibilityHow accessible underfloor pieces such as wires, pipes, etc are on this turf. Can be HIDDEN, VISIBLE, or INTERACTABLE.

Procs

Initalize_AtmosWe do NOT use the shortcut here, because this is faster +Initializes our adjacent turfs. If you want to avoid this, do not override it, instead set init_air to FALSE
InitializeTurf Initialize
LinkBlockedWithAccessFor seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags
ScrapeAwayTake off the top layer turf and replace it with the next baseturf down
_clear_signal_refsWARNING WARNING +Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS +It's possible because turfs are fucked, and if you have one in a list and it's replaced with another one, the list ref points to the new turf +We do it because moving signals over was needlessly expensive, and bloated a very commonly used bit of code
add_opacity_sourceProc to add movable sources of opacity on the turf and let it handle lighting code.
air_update_turfA helper proc for dealing with atmos changes
attempt_lattice_replacementAttempts to replace a tile with lattice. Amount is the amount of tiles to scrape away.
baseturf_at_depthReturns the baseturf at the given depth. +For example, baseturf_at_depth(1) will give the baseturf that would show up when scraping once.
can_cross_safelyReturns whether it is safe for an atom to move across this turf
change_areaCall to move a turf from its current area to a new one
conductivity_directionsSUPERCONDUCTIVITY +ALLLLLLLLLLLLLLLLLLLLRIGHT HERE WE GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
consider_superconductivityShould we attempt to superconduct?
count_baseturfsReturns the total number of baseturfs
create_gas_mixture//////////////GAS MIXTURE PROCS/////////////////// +Copies all gas info from the turf into a new gas_mixture, along with our temperature +Returns the created gas_mixture
depth_to_find_baseturfTries to find the given type in baseturfs. +If found, returns how deep it is for use in other baseturf procs, or null if it cannot be found. +For example, this number can be passed into ScrapeAway to scrape everything until that point.
expose_reagentsHandles exposing a turf to reagents.
fromShuttleMoveBase procs
get_atmos_adjacent_turfsreturns a list of adjacent turfs that can share air with this one. +alldir includes adjacent diagonal tiles that can share +air with both of the related adjacent cardinal tiles
get_explosive_blockWrapper around inherent_explosive_resistance +We assume this proc is cold, so we can move the "what is our block" into it
init_immediate_calculate_adjacent_turfsThis proc is a more deeply optimized version of immediate_calculate_adjacent_turfs +It contains dumbshit, and also stuff I just can't do at runtime +If you're not editing behavior, just read that proc. It's less bad
insert_baseturfInserts a baseturf at the given level. +"Level" here doesn't mean depth. +For example, insert_baseturf(2, /turf/open/floor/plating) will make it so +the 2nd to last turf in the list is plating. +This is different from depth, since depth is the level from the top.
is_blocked_turfCheck whether the specified turf is blocked by something dense inside it with respect to a specific atom.
is_blocked_turf_ignore_climbableChecks whether the specified turf is blocked by something dense inside it, but ignores anything with the climbable trait
load_on_topPlaces a turf on top - for map loading
neighbor_conduct_with_srcThese two procs are a bit of a web, I belive in you
on_change_areaAllows for reactions to an area change without inherently requiring change_area() be called (I hate maploading)
place_on_bottomPlaces the given turf on the bottom of the turf stack.
place_on_topPlaces a turf at the top of the stack
radiate_to_spessRadiate excess tile heat to space.
reachableAdjacentTurfsReturns adjacent turfs to this turf that are reachable, in all cardinal directions
recalculate_directional_opacityCalculate on which directions this turfs block view.
remove_baseturfs_from_typecacheRemoves all baseturfs that are found in the given typecache.
remove_opacity_sourceProc to remove movable sources of opacity on the turf and let it handle lighting code.
replace_baseturfReplaces all instances of needle_type in baseturfs with replacement_type
spawn_unique_cleanableCreates a cleanable decal on a turf +Use this if your decal is one of one, and thus we should not spawn it if it's there already +Returns either the existing cleanable, the one we created, or null if we can't spawn on that turf
stack_ontop_of_baseturfPlaces a baseturf ontop of a searched for baseturf.
transfer_area_lightingTransfer the lighting of one area to another
washCalled when this turf is being washed. Washing a turf will also wash any mopable floor decals
zFallPrecipitates a movable (plus whatever buckled to it) to lower z levels if possible and then calls zImpact()
zImpactCalled each time the target falls down a z level possibly making their trajectory come to a halt. see __DEFINES/movement.dm.
zPassInIf we'd allow anything to travel into us
zPassOutIf we'd allow anything to travel out of us
+

Var Details

archived_cycle + + + + +

+

used to determine whether we should archive

assigned_oranges_ear + + + + +

+

what /mob/oranges_ear instance is already assigned to us as there should only ever be one. +used for guaranteeing there is only one oranges_ear per turf when assigned, speeds up view() iteration

atmos_adjacent_turfs + + + + +

+

list of turfs adjacent to us that air can flow onto

atmos_supeconductivity + + + + +

+

bitfield of dirs in which we are superconducitng

directional_opacity + + + + +

+

Which directions does this turf block the vision of, taking into account both the turf's opacity and the movable opacity_sources.

dynamic_lumcount + + + + +

+

Lumcount added by sources other than lighting datum objects, such as the overlay lighting component.

fixed_underlay + + + + +

+

Icon-smoothing variable to map a diagonal wall corner with a fixed underlay.

force_no_gravity + + + + +

+

whether or not this turf forces movables on it to have no gravity (unless they themselves have forced gravity)

heat_capacity + + + + +

+

Amount of heat necessary to activate some atmos processes (there is a weird usage of this var because is compared directly to the temperature instead of heat energy)

holodeck_compatible + + + + +

+

the holodeck can load onto this turf if TRUE

in_contents_of + + + + +

+

For the area_contents list unit test +Allows us to know our area without needing to preassign it +Sorry for the mess

inherent_explosive_resistance + + + + +

+

How much explosive resistance this turf is providing to itself +Defaults to -1, interpreted as initial(explosive_resistance) +This is an optimization to prevent turfs from needing to set these on init +This would either be expensive, or impossible to manage. Let's just avoid it yes? +Never directly access this, use get_explosive_block() instead

initial_gas_mix + + + + +

+

used for mapping and for breathing while in walls (because that's a thing that needs to be accounted for...) +string parsed by /datum/gas/proc/copy_from_turf +approximation of MOLES_O2STANDARD and MOLES_N2STANDARD pending byond allowing constant expressions to be embedded in constant strings +If someone will place 0 of some gas there, SHIT WILL BREAK. Do not do that.

lattice_underneath + + + + +

+

If there is a lattice underneat this turf. Used for the attempt_lattice_replacement proc to determine if it should place lattice.

lighting_corner_NE + + + + +

+

Lighting Corner datums.

lighting_object + + + + +

+

Our lighting object.

max_fire_temperature_sustained + + + + +

+

The max temperature of the fire which it was subjected to

opacity_sources + + + + +

+

Lazylist of movable atoms providing opacity sources.

overfloor_placed + + + + +

+

If there's a tile over a basic floor that can be ripped out

pathing_pass_method + + + + +

+

How pathing algorithm will check if this turf is passable by itself (not including content checks). By default it's just density check. +WARNING: Currently to use a density shortcircuiting this does not support dense turfs with special allow through function

rcd_memory + + + + +

+

If this turf contained an RCD'able object (or IS one, for walls) +but is now destroyed, this will preserve the value. +See _DEFINES/construction.dm for RCD_MEMORY*.

space_lit + + + + +

+

Bool, whether this turf will always be illuminated no matter what area it is in +Makes it look blue, be warned

temperature_archived + + + + +

+

Archived version of the temperature on a turf

thermal_conductivities + + + + +

+

All currently stored conductivities changes

thermal_conductivity + + + + +

+

used for temperature calculations in superconduction

to_be_destroyed + + + + +

+

Used for fire, if a melting temperature was reached, it will be destroyed

turf_flags + + + + +

+

Turf bitflags, see code/__DEFINES/flags.dm

underfloor_accessibility + + + + +

+

How accessible underfloor pieces such as wires, pipes, etc are on this turf. Can be HIDDEN, VISIBLE, or INTERACTABLE.

Proc Details

Initalize_Atmos +

+

We do NOT use the shortcut here, because this is faster +Initializes our adjacent turfs. If you want to avoid this, do not override it, instead set init_air to FALSE

Initialize +

+

Turf Initialize

+

Doesn't call parent, see [/atom/proc/Initialize] +Please note, space tiles do not run this code. +This is done because it's called so often that any extra code just slows things down too much +If you add something relevant here add it there too +/turf/open/space/Initialize

LinkBlockedWithAccess +

+

For seeing if we can actually move between 2 given turfs while accounting for our access and the caller's pass_flags

+

Assumes destinantion turf is non-dense - check and shortcircuit in code invoking this proc to avoid overhead. +Makes some other assumptions, such as assuming that unless declared, non dense objects will not block movement. +It's fragile, but this is VERY much the most expensive part of pathing, so it'd better be fast

+

Arguments:

+
    +
  • destination_turf - Where are we going from where we are?
  • +
  • pass_info - Holds all the info about what this path attempt can go through
  • +

ScrapeAway +

+

Take off the top layer turf and replace it with the next baseturf down

_clear_signal_refs +

+

WARNING WARNING +Turfs DO NOT lose their signals when they get replaced, REMEMBER THIS +It's possible because turfs are fucked, and if you have one in a list and it's replaced with another one, the list ref points to the new turf +We do it because moving signals over was needlessly expensive, and bloated a very commonly used bit of code

add_opacity_source +

+

Proc to add movable sources of opacity on the turf and let it handle lighting code.

air_update_turf +

+

A helper proc for dealing with atmos changes

+

Ok so this thing is pretty much used as a catch all for all the situations someone might wanna change something +About a turfs atmos. It's real clunky, and someone needs to clean it up, but not today. +Arguments:

+
    +
  • update - Has the state of the structures in the world changed? If so, update our adjacent atmos turf list, if not, don't.
  • +
  • remove - Are you removing an active turf (Read wall), or adding one
  • +

attempt_lattice_replacement +

+

Attempts to replace a tile with lattice. Amount is the amount of tiles to scrape away.

baseturf_at_depth +

+

Returns the baseturf at the given depth. +For example, baseturf_at_depth(1) will give the baseturf that would show up when scraping once.

can_cross_safely +

+

Returns whether it is safe for an atom to move across this turf

change_area +

+

Call to move a turf from its current area to a new one

conductivity_directions +

+

SUPERCONDUCTIVITY +ALLLLLLLLLLLLLLLLLLLLRIGHT HERE WE GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO

+

Read the code for more details, but first, a brief concept discussion/area

+

Our goal here is to "model" heat moving through solid objects, so walls, windows, and sometimes doors. +We do this by heating up the floor itself with the heat of the gasmix ontop of it, this is what the coeffs are for here, they slow that movement +Then we go through the process below.

+

If an active turf is fitting, we add it to processing, conduct with any covered tiles, (read windows and sometimes walls) +Then we space some of our heat, and think about if we should stop conducting.

consider_superconductivity +

+

Should we attempt to superconduct?

count_baseturfs +

+

Returns the total number of baseturfs

create_gas_mixture +

+

//////////////GAS MIXTURE PROCS/////////////////// +Copies all gas info from the turf into a new gas_mixture, along with our temperature +Returns the created gas_mixture

depth_to_find_baseturf +

+

Tries to find the given type in baseturfs. +If found, returns how deep it is for use in other baseturf procs, or null if it cannot be found. +For example, this number can be passed into ScrapeAway to scrape everything until that point.

expose_reagents +

+

Handles exposing a turf to reagents.

fromShuttleMove +

+

Base procs

get_atmos_adjacent_turfs +

+

returns a list of adjacent turfs that can share air with this one. +alldir includes adjacent diagonal tiles that can share +air with both of the related adjacent cardinal tiles

get_explosive_block +

+

Wrapper around inherent_explosive_resistance +We assume this proc is cold, so we can move the "what is our block" into it

init_immediate_calculate_adjacent_turfs +

+

This proc is a more deeply optimized version of immediate_calculate_adjacent_turfs +It contains dumbshit, and also stuff I just can't do at runtime +If you're not editing behavior, just read that proc. It's less bad

insert_baseturf +

+

Inserts a baseturf at the given level. +"Level" here doesn't mean depth. +For example, insert_baseturf(2, /turf/open/floor/plating) will make it so +the 2nd to last turf in the list is plating. +This is different from depth, since depth is the level from the top.

is_blocked_turf +

+

Check whether the specified turf is blocked by something dense inside it with respect to a specific atom.

+

Returns truthy value TURF_BLOCKED_TURF_DENSE if the turf is blocked because the turf itself is dense. +Returns truthy value TURF_BLOCKED_CONTENT_DENSE if one of the turf's contents is dense and would block +a source atom's movement. +Returns falsey value TURF_NOT_BLOCKED if the turf is not blocked.

+

Arguments:

+
    +
  • exclude_mobs - If TRUE, ignores dense mobs on the turf.
  • +
  • source_atom - If this is not null, will check whether any contents on the turf can block this atom specifically. Also ignores itself on the turf.
  • +
  • ignore_atoms - Check will ignore any atoms in this list. Useful to prevent an atom from blocking itself on the turf.
  • +
  • type_list - are we checking for types of atoms to ignore and not physical atoms
  • +

is_blocked_turf_ignore_climbable +

+

Checks whether the specified turf is blocked by something dense inside it, but ignores anything with the climbable trait

+

Works similar to is_blocked_turf(), but ignores climbables and has less options. Primarily added for jaunting checks

load_on_top +

+

Places a turf on top - for map loading

neighbor_conduct_with_src +

+

These two procs are a bit of a web, I belive in you

on_change_area +

+

Allows for reactions to an area change without inherently requiring change_area() be called (I hate maploading)

place_on_bottom +

+

Places the given turf on the bottom of the turf stack.

place_on_top +

+

Places a turf at the top of the stack

radiate_to_spess +

+

Radiate excess tile heat to space.

reachableAdjacentTurfs +

+

Returns adjacent turfs to this turf that are reachable, in all cardinal directions

+

Arguments:

+
    +
  • caller: The movable, if one exists, being used for mobility checks to see what tiles it can reach
  • +
  • access: A list that decides if we can gain access to doors that would otherwise block a turf
  • +
  • simulated_only: Do we only worry about turfs with simulated atmos, most notably things that aren't space?
  • +
  • no_id: When true, doors with public access will count as impassible
  • +

recalculate_directional_opacity +

+

Calculate on which directions this turfs block view.

remove_baseturfs_from_typecache +

+

Removes all baseturfs that are found in the given typecache.

remove_opacity_source +

+

Proc to remove movable sources of opacity on the turf and let it handle lighting code.

replace_baseturf +

+

Replaces all instances of needle_type in baseturfs with replacement_type

spawn_unique_cleanable +

+

Creates a cleanable decal on a turf +Use this if your decal is one of one, and thus we should not spawn it if it's there already +Returns either the existing cleanable, the one we created, or null if we can't spawn on that turf

stack_ontop_of_baseturf +

+

Places a baseturf ontop of a searched for baseturf.

transfer_area_lighting +

+

Transfer the lighting of one area to another

wash +

+

Called when this turf is being washed. Washing a turf will also wash any mopable floor decals

zFall +

+

Precipitates a movable (plus whatever buckled to it) to lower z levels if possible and then calls zImpact()

zImpact +

+

Called each time the target falls down a z level possibly making their trajectory come to a halt. see __DEFINES/movement.dm.

zPassIn +

+

If we'd allow anything to travel into us

zPassOut +

+

If we'd allow anything to travel out of us

+ + + diff --git a/turf/closed/indestructible/splashscreen.html b/turf/closed/indestructible/splashscreen.html new file mode 100644 index 00000000000..0a185ee66e3 --- /dev/null +++ b/turf/closed/indestructible/splashscreen.html @@ -0,0 +1,35 @@ + + + + + + + /turf/closed/indestructible/splashscreen - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

splashscreen + + + +

+ + +

Procs

handle_generic_titlescreen_sizeshelper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

Proc Details

handle_generic_titlescreen_sizes +

+

helper proc that will center the screen if the icon is changed to a generic width, to make admins have to fudge around with pixel_x less. returns null

+ + + diff --git a/turf/closed/mineral.html b/turf/closed/mineral.html new file mode 100644 index 00000000000..fc5245a8eb8 --- /dev/null +++ b/turf/closed/mineral.html @@ -0,0 +1,50 @@ + + + + + + + /turf/closed/mineral - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

mineral + + + +

+ +

Mineral deposits

+ + +

Vars

hand_mine_speedHow long it takes to mine this turf without tools, if it's weak.
tool_mine_speedHow long it takes to mine this turf with tools, before the tool's speed and the user's skill modifier are factored in.

Procs

shuttleRotateTurf rotate procs
+

Var Details

hand_mine_speed + + + + +

+

How long it takes to mine this turf without tools, if it's weak.

tool_mine_speed + + + + +

+

How long it takes to mine this turf with tools, before the tool's speed and the user's skill modifier are factored in.

Proc Details

shuttleRotate +

+

Turf rotate procs

+ + + diff --git a/turf/closed/mineral/random.html b/turf/closed/mineral/random.html new file mode 100644 index 00000000000..beb56bfb785 --- /dev/null +++ b/turf/closed/mineral/random.html @@ -0,0 +1,37 @@ + + + + + + + /turf/closed/mineral/random - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

random + + + +

+ + +

Procs

mineral_chancesReturns a list of the chances for minerals to spawn. +Will only run once, and will then be cached.

Proc Details

mineral_chances +

+

Returns a list of the chances for minerals to spawn. +Will only run once, and will then be cached.

+ + + diff --git a/turf/closed/wall.html b/turf/closed/wall.html new file mode 100644 index 00000000000..d3b4238588f --- /dev/null +++ b/turf/closed/wall.html @@ -0,0 +1,64 @@ + + + + + + + /turf/closed/wall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

wall + + + +

+ + + + + +

Vars

can_engravebool on whether this wall can be chiselled into
decon_typeA turf that will replace this turf when this turf is destroyed
hardnesslower numbers are harder. Used to determine the probability of a hulk smashing through.

Procs

hulk_recoilDeals damage back to the hulk's arm.
+

Var Details

can_engrave + + + + +

+

bool on whether this wall can be chiselled into

decon_type + + + + +

+

A turf that will replace this turf when this turf is destroyed

hardness + + + + +

+

lower numbers are harder. Used to determine the probability of a hulk smashing through.

Proc Details

hulk_recoil +

+

Deals damage back to the hulk's arm.

+

When a hulk manages to break a wall using their hulk smash, this deals back damage to the arm used. +This is in its own proc just to be easily overridden by other wall types. Default allows for three +smashed walls per arm. Also, we use CANT_WOUND here because wounds are random. Wounds are applied +by hulk code based on arm damage and checked when we call break_an_arm(). +Arguments: +*arg1 is the arm to deal damage to. +*arg2 is the hulk

+ + + diff --git a/turf/closed/wall/mineral/uranium.html b/turf/closed/wall/mineral/uranium.html new file mode 100644 index 00000000000..c42aebe56e0 --- /dev/null +++ b/turf/closed/wall/mineral/uranium.html @@ -0,0 +1,43 @@ + + + + + + + /turf/closed/wall/mineral/uranium - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

uranium + + + +

+ + + +

Vars

activeMutex to prevent infinite recursion when propagating radiation pulses
last_eventThe last time a radiation pulse was performed
+

Var Details

active + + + + +

+

Mutex to prevent infinite recursion when propagating radiation pulses

last_event + + + + +

+

The last time a radiation pulse was performed

+ + + diff --git a/turf/closed/wall/r_wall.html b/turf/closed/wall/r_wall.html new file mode 100644 index 00000000000..c1f8136f92e --- /dev/null +++ b/turf/closed/wall/r_wall.html @@ -0,0 +1,43 @@ + + + + + + + /turf/closed/wall/r_wall - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

r_wall + + + +

+ + + +

Vars

base_decon_stateBase icon state to use for deconstruction
d_stateDismantled state, related to deconstruction.
+

Var Details

base_decon_state + + + + +

+

Base icon state to use for deconstruction

d_state + + + + +

+

Dismantled state, related to deconstruction.

+ + + diff --git a/turf/open.html b/turf/open.html new file mode 100644 index 00000000000..aff6d3ffab0 --- /dev/null +++ b/turf/open.html @@ -0,0 +1,227 @@ + + + + + + + /turf/open - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

open + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + +

Vars

active_hotspotIf there is an active hotspot on us store a reference to it here
airOur gas mix
atmos_overlay_typesgas IDs of current active gas overlays
damaged_dmiDetermines the type of damage overlay that will be used for the tile
excitedAre we active?
excited_groupExcited group we are part of
planetary_atmosair will slowly revert to initial_gas_mix
pressure_differencePressure difference between two turfs
pressure_directionWhere the difference come from (from higher pressure to lower pressure)
run_lateronce our paired turfs are finished with all other shares, do one 100% share +exists so things like space can ask to take 100% of a tile's gas
slowdownnegative for faster, positive for slower

Procs

Assimilate_AirAssimilate Air
broken_statesReturns a list of every turf state considered "broken". +Will be randomly chosen if a turf breaks at runtime.
build_with_floor_tilesVery similar to build_with_rods, this exists to allow consistent behavior between different types in terms of how +Building floors works
build_with_rodsBuilds with rods. This doesn't exist to be overriden, just to remove duplicate logic for turfs that want +To support floor tile creation +I'd make it a component, but one of these things is space. So no.
build_with_titaniumVery similar to build_with_rods, this exists to allow building transport/tram girders on openspace
build_with_transport_tilesVery similar to build_with_rods, this exists to allow consistent behavior between different types in terms of how +Building floors works
burnt_statesReturns a list of every turf state considered "burnt". +Will be randomly chosen if a turf is burnt at runtime.
can_atmos_passDo NOT use this to see if 2 turfs are connected, it mutates state, and we cache that info anyhow. +Use TURFS_CAN_SHARE or TURF_SHARES depending on your usecase
conductivity_directionsReturns a set of directions that we should be conducting in, NOTE, atmos_supeconductivity is ACTUALLY inversed, don't worrry about it
consider_pressure_differenceGROUP HANDLING START
hotspot_exposeHandles the creation of hotspots and initial activation of turfs. +Setting the conditions for the reaction to actually happen for gasmixtures +is handled by the hotspot itself, specifically perform_exposure().
replace_floorReplace an open turf with another open turf while avoiding the pitfall of replacing plating with a floor tile, leaving a hole underneath. +This replaces the current turf if it is plating and is passed plating, is tile and is passed tile. +It places the new turf on top of itself if it is plating and is passed a tile. +It also replaces the turf if it is tile and is passed plating, essentially destroying the over turf. +Flags argument is passed directly to ChangeTurf or PlaceOnTop
update_visualsGAS OVERLAYS
+

Var Details

active_hotspot + + + + +

+

If there is an active hotspot on us store a reference to it here

air + + + + +

+

Our gas mix

atmos_overlay_types + + + + +

+

gas IDs of current active gas overlays

damaged_dmi + + + + +

+

Determines the type of damage overlay that will be used for the tile

excited + + + + +

+

Are we active?

excited_group + + + + +

+

Excited group we are part of

planetary_atmos + + + + +

+

air will slowly revert to initial_gas_mix

pressure_difference + + + + +

+

Pressure difference between two turfs

pressure_direction + + + + +

+

Where the difference come from (from higher pressure to lower pressure)

run_later + + + + +

+

once our paired turfs are finished with all other shares, do one 100% share +exists so things like space can ask to take 100% of a tile's gas

slowdown + + + + +

+

negative for faster, positive for slower

Proc Details

Assimilate_Air +

+

Assimilate Air

broken_states +

+

Returns a list of every turf state considered "broken". +Will be randomly chosen if a turf breaks at runtime.

build_with_floor_tiles +

+

Very similar to build_with_rods, this exists to allow consistent behavior between different types in terms of how +Building floors works

build_with_rods +

+

Builds with rods. This doesn't exist to be overriden, just to remove duplicate logic for turfs that want +To support floor tile creation +I'd make it a component, but one of these things is space. So no.

build_with_titanium +

+

Very similar to build_with_rods, this exists to allow building transport/tram girders on openspace

build_with_transport_tiles +

+

Very similar to build_with_rods, this exists to allow consistent behavior between different types in terms of how +Building floors works

burnt_states +

+

Returns a list of every turf state considered "burnt". +Will be randomly chosen if a turf is burnt at runtime.

can_atmos_pass +

+

Do NOT use this to see if 2 turfs are connected, it mutates state, and we cache that info anyhow. +Use TURFS_CAN_SHARE or TURF_SHARES depending on your usecase

conductivity_directions +

+

Returns a set of directions that we should be conducting in, NOTE, atmos_supeconductivity is ACTUALLY inversed, don't worrry about it

consider_pressure_difference +

+

GROUP HANDLING START

+

GROUP HANDLING FINISH +SPACEWIND

hotspot_expose +

+

Handles the creation of hotspots and initial activation of turfs. +Setting the conditions for the reaction to actually happen for gasmixtures +is handled by the hotspot itself, specifically perform_exposure().

replace_floor +

+

Replace an open turf with another open turf while avoiding the pitfall of replacing plating with a floor tile, leaving a hole underneath. +This replaces the current turf if it is plating and is passed plating, is tile and is passed tile. +It places the new turf on top of itself if it is plating and is passed a tile. +It also replaces the turf if it is tile and is passed plating, essentially destroying the over turf. +Flags argument is passed directly to ChangeTurf or PlaceOnTop

update_visuals +

+

GAS OVERLAYS

+ + + diff --git a/turf/open/chasm.html b/turf/open/chasm.html new file mode 100644 index 00000000000..709c261dd65 --- /dev/null +++ b/turf/open/chasm.html @@ -0,0 +1,42 @@ + + + + + + + /turf/open/chasm - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

chasm + + + +

+ + + +

Procs

CanAllowThroughLets people walk into chasms.
apply_componentsHandles adding the chasm component to the turf (So stuff falls into it!)

Proc Details

CanAllowThrough +

+

Lets people walk into chasms.

apply_components +

+

Handles adding the chasm component to the turf (So stuff falls into it!)

+ + + diff --git a/turf/open/cliff.html b/turf/open/cliff.html new file mode 100644 index 00000000000..c4f88b95765 --- /dev/null +++ b/turf/open/cliff.html @@ -0,0 +1,134 @@ + + + + + + + /turf/open/cliff - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

cliff + + + +

+ +

A cliff tile from where people can fall. Should generally fall downwards, but you can change it if you want

+ + + + + + + + + + + + + + +

Vars

can_fall_from_directionFrom our perspective, where does someone need to stand to be able to fall from us? Cardinal only, we do the diagonals automatically
fall_directionIf we fall, in which direction?
fall_speedSpeed at which we fall / traverse downwards
protected_typesMovables that can move freely on cliffs
underlay_planeif given, sets the underlays plane to this
underlay_tileDo we draw a tile as underlay for half tiles?
undertile_pixel_xThe pixel x of the underlay image
undertile_pixel_yThe pixel y of the underlay image
valid_move_dirsDirections to which we can move towards while grinding down

Procs

can_fallCheck if they can fall from us
can_moveCheck if the movement direction we're moving on (while already falling on us) is valid
fallMake them fall!
on_fallWe just fell onto this chasm tile
on_turf_movable_throw_landedSomething landed on us
try_fallTry and make them fall
+

Var Details

can_fall_from_direction + + + + +

+

From our perspective, where does someone need to stand to be able to fall from us? Cardinal only, we do the diagonals automatically

fall_direction + + + + +

+

If we fall, in which direction?

fall_speed + + + + +

+

Speed at which we fall / traverse downwards

protected_types + + + + +

+

Movables that can move freely on cliffs

underlay_plane + + + + +

+

if given, sets the underlays plane to this

underlay_tile + + + + +

+

Do we draw a tile as underlay for half tiles?

undertile_pixel_x + + + + +

+

The pixel x of the underlay image

undertile_pixel_y + + + + +

+

The pixel y of the underlay image

valid_move_dirs + + + + +

+

Directions to which we can move towards while grinding down

Proc Details

can_fall +

+

Check if they can fall from us

can_move +

+

Check if the movement direction we're moving on (while already falling on us) is valid

fall +

+

Make them fall!

on_fall +

+

We just fell onto this chasm tile

on_turf_movable_throw_landed +

+

Something landed on us

try_fall +

+

Try and make them fall

+ + + diff --git a/turf/open/floor.html b/turf/open/floor.html new file mode 100644 index 00000000000..56f44ca8653 --- /dev/null +++ b/turf/open/floor.html @@ -0,0 +1,71 @@ + + + + + + + /turf/open/floor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

floor + + + +

+ +

Anything above a lattice should go here.

+ + + + + +

Vars

floor_tilePath of the tile that this floor drops
rcd_proofDetermines if you can deconstruct this with a RCD

Procs

crushFor when the floor is placed under heavy load. Calls break_tile(), but exists to be overridden by floor types that should resist crushing force.
make_platingThings seem to rely on this actually returning plating. Override it if you have other baseturfs.
rcd_actif you are updating this make to to update /turf/open/misc/rcd_act() too
rcd_valsif you are updating this make to to update /turf/open/misc/rcd_vals() too
+

Var Details

floor_tile + + + + +

+

Path of the tile that this floor drops

rcd_proof + + + + +

+

Determines if you can deconstruct this with a RCD

Proc Details

crush +

+

For when the floor is placed under heavy load. Calls break_tile(), but exists to be overridden by floor types that should resist crushing force.

make_plating +

+

Things seem to rely on this actually returning plating. Override it if you have other baseturfs.

rcd_act +

+

if you are updating this make to to update /turf/open/misc/rcd_act() too

rcd_vals +

+

if you are updating this make to to update /turf/open/misc/rcd_vals() too

+ + + diff --git a/turf/open/floor/carpet/neon.html b/turf/open/floor/carpet/neon.html new file mode 100644 index 00000000000..e5022f57231 --- /dev/null +++ b/turf/open/floor/carpet/neon.html @@ -0,0 +1,57 @@ + + + + + + + /turf/open/floor/carpet/neon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

neon + + + +

+ + + + + +

Vars

emissive_alphaThe alpha used for the emissive decal.
neon_colorThe color used for the neon decal
neon_iconThe icon used for the neon decal.
neon_icon_stateThe icon state used for the neon decal.
+

Var Details

emissive_alpha + + + + +

+

The alpha used for the emissive decal.

neon_color + + + + +

+

The color used for the neon decal

neon_icon + + + + +

+

The icon used for the neon decal.

neon_icon_state + + + + +

+

The icon state used for the neon decal.

+ + + diff --git a/turf/open/floor/catwalk_floor.html b/turf/open/floor/catwalk_floor.html new file mode 100644 index 00000000000..da8a2baf9e2 --- /dev/null +++ b/turf/open/floor/catwalk_floor.html @@ -0,0 +1,31 @@ + + + + + + + /turf/open/floor/catwalk_floor - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

catwalk_floor + + + +

+ +catwalk flooring +

They show what's underneath their catwalk flooring (pipes and the like) +you can screwdriver it to interact with the underneath stuff without destroying the tile... +unless you want to!

+ + + diff --git a/turf/open/floor/circuit.html b/turf/open/floor/circuit.html new file mode 100644 index 00000000000..4477b27ddc5 --- /dev/null +++ b/turf/open/floor/circuit.html @@ -0,0 +1,54 @@ + + + + + + + /turf/open/floor/circuit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

circuit + + + +

+ + + + +

Vars

always_offIf we want to ignore our area's power status and just be always off +Mostly for mappers doing asthetic things, or cases where the floor should be broken
onIf this floor is powered or not +We don't consume any power, but we do require it

Procs

handle_powerchangeEnables/disables our lighting based off our source area
+

Var Details

always_off + + + + +

+

If we want to ignore our area's power status and just be always off +Mostly for mappers doing asthetic things, or cases where the floor should be broken

on + + + + +

+

If this floor is powered or not +We don't consume any power, but we do require it

Proc Details

handle_powerchange +

+

Enables/disables our lighting based off our source area

+ + + diff --git a/turf/open/floor/glass.html b/turf/open/floor/glass.html new file mode 100644 index 00000000000..1b82bac09de --- /dev/null +++ b/turf/open/floor/glass.html @@ -0,0 +1,61 @@ + + + + + + + /turf/open/floor/glass - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

glass + + + +

+ + + + + +

Vars

alpha_to_leaveHow much alpha to leave when cutting away emissive blockers
glow_stuffList of /atom/movable/render_step that are being used to make this glass floor glow +These are OWNED by this floor, they delete when we delete them, not before not after
starlight_colorColor of starlight to use. Defaults to STARLIGHT_COLOR if not set

Procs

setup_glowIf this turf is at the bottom of the local rendering stack +Then we're gonna make it emissive block so the space below glows
+

Var Details

alpha_to_leave + + + + +

+

How much alpha to leave when cutting away emissive blockers

glow_stuff + + + + +

+

List of /atom/movable/render_step that are being used to make this glass floor glow +These are OWNED by this floor, they delete when we delete them, not before not after

starlight_color + + + + +

+

Color of starlight to use. Defaults to STARLIGHT_COLOR if not set

Proc Details

setup_glow +

+

If this turf is at the bottom of the local rendering stack +Then we're gonna make it emissive block so the space below glows

+ + + diff --git a/turf/open/floor/light.html b/turf/open/floor/light.html new file mode 100644 index 00000000000..e559308390b --- /dev/null +++ b/turf/open/floor/light.html @@ -0,0 +1,113 @@ + + + + + + + /turf/open/floor/light - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

light + + + +

+ + + + + + + + + + + + +

Vars

can_modify_colourvar to prevent changing color on certain admin spawn only tiles
coloredlightslist of colours to choose
currentcolorcurrent light color
cycleused for light floors that cycle colours
lighttile_designsicons for radial menu
onvar to see if its on or off
statedefines on top

Procs

check_menucheck_menu: Checks if we are allowed to interact with a radial menu
emp_actcheck if broken
populate_lighttile_designscheck if broken +create radial menu
update_appearancepick a broken state
+

Var Details

can_modify_colour + + + + +

+

var to prevent changing color on certain admin spawn only tiles

coloredlights + + + + +

+

list of colours to choose

currentcolor + + + + +

+

current light color

cycle + + + + +

+

used for light floors that cycle colours

lighttile_designs + + + + +

+

icons for radial menu

on + + + + +

+

var to see if its on or off

state + + + + +

+

defines on top

Proc Details

check_menu +

+

check_menu: Checks if we are allowed to interact with a radial menu

+

Arguments:

+
    +
  • user The mob interacting with a menu
  • +
  • multitool The multitool used to interact with a menu
  • +

emp_act +

+

check if broken

populate_lighttile_designs +

+

check if broken +create radial menu

update_appearance +

+

pick a broken state

+ + + diff --git a/turf/open/floor/plating.html b/turf/open/floor/plating.html new file mode 100644 index 00000000000..f4dfd06ff3d --- /dev/null +++ b/turf/open/floor/plating.html @@ -0,0 +1,41 @@ + + + + + + + /turf/open/floor/plating - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

plating + + + +

+ +

PLATINGS

+

Handle interaction with tiles and lets you put stuff on top of it.

+

Vars

allow_replacementIf true, will allow tiles to replace us if the tile [wants to] /obj/item/stack/tile/var/replace_plating. +And if our baseturfs are compatible. +See /obj/item/stack/tile/proc/place_tile.
+

Var Details

allow_replacement + + + + +

+

If true, will allow tiles to replace us if the tile [wants to] /obj/item/stack/tile/var/replace_plating. +And if our baseturfs are compatible. +See /obj/item/stack/tile/proc/place_tile.

+ + + diff --git a/turf/open/floor/tram/plate/energized.html b/turf/open/floor/tram/plate/energized.html new file mode 100644 index 00000000000..0144ebeeadb --- /dev/null +++ b/turf/open/floor/tram/plate/energized.html @@ -0,0 +1,50 @@ + + + + + + + /turf/open/floor/tram/plate/energized - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

energized + + + +

+ + + + +

Vars

inboundInbound station
outboundOutbound station
specific_transport_idTransport ID of the tram
+

Var Details

inbound + + + + +

+

Inbound station

outbound + + + + +

+

Outbound station

specific_transport_id + + + + +

+

Transport ID of the tram

+ + + diff --git a/turf/open/lava.html b/turf/open/lava.html new file mode 100644 index 00000000000..52c36aa9fe7 --- /dev/null +++ b/turf/open/lava.html @@ -0,0 +1,106 @@ + + + + + + + /turf/open/lava - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

lava + + + +

+ + + + + + + + + + + + +

Vars

fish_source_typeThe type for the preset fishing spot of this type of turf.
immunity_resistance_flagsobjects with these flags won't burn.
immunity_traitmobs with this trait won't burn.
lava_damageHow much fire damage we deal to living mobs stepping on us
lava_firestacksHow many firestacks we add to living mobs stepping on us
lava_temperaturethe temperature that this turf will attempt to heat/cool gasses too in a heat exchanger, in kelvin
mask_iconThe icon that covers the lava bits of our turf
mask_stateThe icon state that covers the lava bits of our turf
temperature_damageHow much temperature we expose objects with

Procs

burn_stuffProc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.
refresh_lightRefreshes this lava turf's lighting
+

Var Details

fish_source_type + + + + +

+

The type for the preset fishing spot of this type of turf.

immunity_resistance_flags + + + + +

+

objects with these flags won't burn.

immunity_trait + + + + +

+

mobs with this trait won't burn.

lava_damage + + + + +

+

How much fire damage we deal to living mobs stepping on us

lava_firestacks + + + + +

+

How many firestacks we add to living mobs stepping on us

lava_temperature + + + + +

+

the temperature that this turf will attempt to heat/cool gasses too in a heat exchanger, in kelvin

mask_icon + + + + +

+

The icon that covers the lava bits of our turf

mask_state + + + + +

+

The icon state that covers the lava bits of our turf

temperature_damage + + + + +

+

How much temperature we expose objects with

Proc Details

burn_stuff +

+

Proc that sets on fire something or everything on the turf that's not immune to lava. Returns TRUE to make the turf start processing.

refresh_light +

+

Refreshes this lava turf's lighting

+ + + diff --git a/turf/open/misc/asteroid.html b/turf/open/misc/asteroid.html new file mode 100644 index 00000000000..8b16963b234 --- /dev/null +++ b/turf/open/misc/asteroid.html @@ -0,0 +1,92 @@ + + + + + + + /turf/open/misc/asteroid - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details - Proc Details
+
+

asteroid + + + +

+ +

Asteroid

+ + + + + + + + +

Vars

dig_resultItemstack to drop when dug by a shovel
dugWhether the turf has been dug or not
floor_varianceProbability floor has a different icon state
has_floor_varianceWhether this turf has different icon states
turf_typeBase turf type to be created by the tunnel
worm_chancePercentage chance of receiving a bonus worm

Procs

can_digIf the user can dig the turf
getDugDrops itemstack when dug and changes icon
refill_dugRefills the previously dug tile
+

Var Details

dig_result + + + + +

+

Itemstack to drop when dug by a shovel

dug + + + + +

+

Whether the turf has been dug or not

floor_variance + + + + +

+

Probability floor has a different icon state

has_floor_variance + + + + +

+

Whether this turf has different icon states

turf_type + + + + +

+

Base turf type to be created by the tunnel

worm_chance + + + + +

+

Percentage chance of receiving a bonus worm

Proc Details

can_dig +

+

If the user can dig the turf

getDug +

+

Drops itemstack when dug and changes icon

refill_dug +

+

Refills the previously dug tile

+ + + diff --git a/turf/open/openspace.html b/turf/open/openspace.html new file mode 100644 index 00000000000..0070109751a --- /dev/null +++ b/turf/open/openspace.html @@ -0,0 +1,55 @@ + + + + + + + /turf/open/openspace - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

openspace + + + +

+ + + + +

Procs

EnterPrepares a moving movable to be precipitated if Move() is successful. +This is done in Enter() and not Entered() because there's no easy way to tell +if the latter was called by Move() or forceMove() while the former is only called by Move().
EnteredMakes movables fall when forceMove()'d to this turf.
on_atom_createdDrops movables spawned on this turf after they are successfully initialized. +so that spawned movables that should fall to gravity, will fall.

Proc Details

Enter +

+

Prepares a moving movable to be precipitated if Move() is successful. +This is done in Enter() and not Entered() because there's no easy way to tell +if the latter was called by Move() or forceMove() while the former is only called by Move().

Entered +

+

Makes movables fall when forceMove()'d to this turf.

on_atom_created +

+

Drops movables spawned on this turf after they are successfully initialized. +so that spawned movables that should fall to gravity, will fall.

+ + + diff --git a/turf/open/openspace/icemoon.html b/turf/open/openspace/icemoon.html new file mode 100644 index 00000000000..f50834d4d4f --- /dev/null +++ b/turf/open/openspace/icemoon.html @@ -0,0 +1,50 @@ + + + + + + + /turf/open/openspace/icemoon - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

icemoon + + + +

+ + + + +

Vars

drill_belowIf true mineral turfs below this openspace turf will be mined automatically
protect_ruinReplaces itself with replacement_turf if the turf has the no ruins allowed flag (usually ruins themselves)
replacement_turfThe turf that will replace this one if the turf below has the no ruins allowed flag. we use this one so we don't get any potential double whammies
+

Var Details

drill_below + + + + +

+

If true mineral turfs below this openspace turf will be mined automatically

protect_ruin + + + + +

+

Replaces itself with replacement_turf if the turf has the no ruins allowed flag (usually ruins themselves)

replacement_turf + + + + +

+

The turf that will replace this one if the turf below has the no ruins allowed flag. we use this one so we don't get any potential double whammies

+ + + diff --git a/turf/open/space.html b/turf/open/space.html new file mode 100644 index 00000000000..5ef04742e48 --- /dev/null +++ b/turf/open/space.html @@ -0,0 +1,58 @@ + + + + + + + /turf/open/space - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

space + + + +

+ + + + +

Procs

InitializeSpace Initialize
enable_starlightTurns on the stars, if they aren't already
update_starlightUpdates starlight. Called when we're unsure of a turf's starlight state +Returns TRUE if we succeed, FALSE otherwise

Proc Details

Initialize +

+

Space Initialize

+

Doesn't call parent, see [/atom/proc/Initialize]. +When adding new stuff to /atom/Initialize, /turf/Initialize, etc +don't just add it here unless space actually needs it.

+

There is a lot of work that is intentionally not done because it is not currently used. +This includes stuff like smoothing, blocking camera visibility, etc. +If you are facing some odd bug with specifically space, check if it's something that was +intentionally ommitted from this implementation.

enable_starlight +

+

Turns on the stars, if they aren't already

update_starlight +

+

Updates starlight. Called when we're unsure of a turf's starlight state +Returns TRUE if we succeed, FALSE otherwise

+ + + diff --git a/turf/open/space/transit.html b/turf/open/space/transit.html new file mode 100644 index 00000000000..ecb2327aa66 --- /dev/null +++ b/turf/open/space/transit.html @@ -0,0 +1,35 @@ + + + + + + + /turf/open/space/transit - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

transit + + + +

+ + +

Procs

launch_contentsGet rid of all our contents, called when our reservation is released (which in our case means the shuttle arrived)

Proc Details

launch_contents +

+

Get rid of all our contents, called when our reservation is released (which in our case means the shuttle arrived)

+ + + diff --git a/turf/open/water.html b/turf/open/water.html new file mode 100644 index 00000000000..ddf2581e983 --- /dev/null +++ b/turf/open/water.html @@ -0,0 +1,40 @@ + + + + + + + /turf/open/water - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Var Details
+
+

water + + + +

+ + +

Vars

immerse_overlay_colorUsed as the color arg/var for the immerse element. It should be kept more or less in line with +the hue of the turf, as semi-transparent vis overlays can opacify the semi-transparent bits of an icon, +and we're kinda trying to offset that issue.
+

Var Details

immerse_overlay_color + + + + +

+

Used as the color arg/var for the immerse element. It should be kept more or less in line with +the hue of the turf, as semi-transparent vis overlays can opacify the semi-transparent bits of an icon, +and we're kinda trying to offset that issue.

+ + + diff --git a/turf/open/water/cursed_spring.html b/turf/open/water/cursed_spring.html new file mode 100644 index 00000000000..98d9b410b37 --- /dev/null +++ b/turf/open/water/cursed_spring.html @@ -0,0 +1,34 @@ + + + + + + + /turf/open/water/cursed_spring - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types +
+
+

cursed_spring + + + +

+ +

Turns whoever enters into a mob or random person

+

If mob is chosen, turns the person into a random animal type +If appearance is chosen, turns the person into a random human with a random species +This changes name, and changes their DNA as well +Random species is same as wizard swap event so people don't get killed ex: plasmamen +Once the spring is used, it cannot be used by the same mind ever again +After usage, teleports the user back to a random safe turf (so mobs are not killed by ice moon atmosphere)

+ + + diff --git a/world.html b/world.html new file mode 100644 index 00000000000..698995a729f --- /dev/null +++ b/world.html @@ -0,0 +1,255 @@ + + + + + + + /world - /tg/ Station 13 + + +
+ /tg/ Station 13 - + Modules - + Types + — Proc Details
+
+

World + + + +

+ +

Two possibilities exist: either we are alone in the Universe or we are not. Both are equally terrifying. ~ Arthur C. Clarke

+

The byond world object stores some basic byond level config, and has a few hub specific procs for managing hub visiblity

+ + + + + + + + + + + + +

Procs

ConfigLoadedRuns after config is loaded but before Master is initialized
GenesisWORLD INITIALIZATION +THIS IS THE INIT ORDER:
InitTgsInitializes TGS and loads the returned revising info into GLOB.revdata
NewWorld creation
RunUnattendedFunctionsRuns after the call to Master.Initialize, but before the delay kicks in. Used to turn the world execution into some single function then exit
_THE GENESIS CALL
get_world_state_for_loggingReturns a list of data about the world state, don't clutter
increase_max_xHandles incresing the world's maxx var and intializing the new turfs and assigning them to the global area. +If map_load_z_cutoff is passed in, it will only load turfs up to that z level, inclusive. +This is because maploading will handle the turfs it loads itself.
jatum_deserializeAttempt to create a value from a JATUM JSON.
jatum_serializeAttempt to serialize a given value to the JATUM format.
push_usrMakes a call in the context of a different usr. Use sparingly
send_cross_commsSends a message to a given cross comms server by name (by name for security).
shelleoXXX +AOO +XXX +AXX

Proc Details

ConfigLoaded +

+

Runs after config is loaded but before Master is initialized

Genesis +

+

WORLD INITIALIZATION +THIS IS THE INIT ORDER:

+

BYOND =>

+
    +
  • (secret init native) => +
      +
    • world.Genesis() => +
        +
      • world.init_byond_tracy()
      • +
      • (Start native profiling)
      • +
      • world.init_debugger()
      • +
      • Master => +
          +
        • config *unloaded
        • +
        • (all subsystems) PreInit()
        • +
        • GLOB => +
            +
          • make_datum_reference_lists()
          • +
          +
        • +
        +
      • +
      +
    • +
    • (/static variable inits, reverse declaration order)
    • +
    +
  • +
  • (all pre-mapped atoms) /atom/New()
  • +
  • world.New() => +
      +
    • config.Load()
    • +
    • world.InitTgs() => +
        +
      • TgsNew() *may sleep
      • +
      • GLOB.rev_data.load_tgs_info()
      • +
      +
    • +
    • world.ConfigLoaded() => +
        +
      • SSdbcore.InitializeRound()
      • +
      • world.SetupLogs()
      • +
      • load_admins()
      • +
      • ...
      • +
      +
    • +
    • Master.Initialize() => +
        +
      • (all subsystems) Initialize()
      • +
      • Master.StartProcessing() => +
          +
        • Master.Loop() => +
            +
          • Failsafe
          • +
          +
        • +
        +
      • +
      +
    • +
    • world.RunUnattendedFunctions()
    • +
    +
  • +
+

Now listen up because I want to make something clear: +If something is not in this list it should almost definitely be handled by a subsystem Initialize()ing +If whatever it is that needs doing doesn't fit in a subsystem you probably aren't trying hard enough tbhfam

+

GOT IT MEMORIZED?

+
    +
  • Dominion/Cyberboss
  • +
+

Where to put init shit quick guide: +If you need it to happen before the mc is created: world/Genesis. +If you need it to happen last: world/New(), +Otherwise, in a subsystem preinit or init. Subsystems can set an init priority.

+

THIS !!!SINGLE!!! PROC IS WHERE ANY FORM OF INIITIALIZATION THAT CAN'T BE PERFORMED IN SUBSYSTEMS OR WORLD/NEW IS DONE +NOWHERE THE FUCK ELSE +I DON'T CARE HOW MANY LAYERS OF DEBUG/PROFILE/TRACE WE HAVE, YOU JUST HAVE TO DEAL WITH THIS PROC EXISTING +I'M NOT EVEN GOING TO TELL YOU WHERE IT'S CALLED FROM BECAUSE I'M DECLARING THAT FORBIDDEN KNOWLEDGE +SO HELP ME GOD IF I FIND ABSTRACTION LAYERS OVER THIS!

InitTgs +

+

Initializes TGS and loads the returned revising info into GLOB.revdata

New +

+

World creation

+

Here is where a round itself is actually begun and setup.

+
    +
  • db connection setup
  • +
  • config loaded from files
  • +
  • loads admins
  • +
  • Sets up the dynamic menu system
  • +
  • and most importantly, calls initialize on the master subsystem, starting the game loop that causes the rest of the game to begin processing and setting up
  • +
+

Nothing happens until something moves. ~Albert Einstein

+

For clarity, this proc gets triggered later in the initialization pipeline, it is not the first thing to happen, as it might seem.

+

Initialization Pipeline: +Global vars are new()'ed, (including config, glob, and the master controller will also new and preinit all subsystems when it gets new()ed) +Compiled in maps are loaded (mainly centcom). all areas/turfs/objs/mobs(ATOMs) in these maps will be new()ed +world/New() (You are here) +Once world/New() returns, client's can connect. +1 second sleep +Master Controller initialization. +Subsystem initialization. +Non-compiled-in maps are maploaded, all atoms are new()ed +All atoms in both compiled and uncompiled maps are initialized()

RunUnattendedFunctions +

+

Runs after the call to Master.Initialize, but before the delay kicks in. Used to turn the world execution into some single function then exit

_ +

+

THE GENESIS CALL

+

THE VERY FIRST LINE OF DM CODE TO EXECUTE +Ong this must be done after !!!EVERYTHING!!! else +NO IFS ANDS OR BUTS +it's a hack, not an example of any sort, and DEFINITELY should NOT be emulated +IT JUST HAS TO BE LAST!!!!!! +If you want to do something in the initialization pipeline +FIRST RTFM IN /code/game/world.dm +AND THEN NEVER RETURN TO THIS PLACE

+

If you're still here, here's an explanation: +BYOND loves to tell you about its loving spouse /global +But it's actually having a sexy an affair with /static +Specifically statics in procs +Priority is given to these lines of code in REVERSE order of declaration in the .dme +Which is why this file has a funky name +So this is what we use to call world.Genesis() +It's a nameless, no-op function, because it does absolutely nothing +It exists to hold a static var which is initialized to null +It's on /world to hide it from reflection +Painful right? Good, now you share my suffering +Please lock the door on your way out

get_world_state_for_logging +

+

Returns a list of data about the world state, don't clutter

increase_max_x +

+

Handles incresing the world's maxx var and intializing the new turfs and assigning them to the global area. +If map_load_z_cutoff is passed in, it will only load turfs up to that z level, inclusive. +This is because maploading will handle the turfs it loads itself.

jatum_deserialize +

+

Attempt to create a value from a JATUM JSON.

+
    +
  • json - The JSON to deserialize.
  • +

jatum_serialize +

+

Attempt to serialize a given value to the JATUM format.

+
    +
  • value - The var to serialize.
  • +

push_usr +

+

Makes a call in the context of a different usr. Use sparingly

send_cross_comms +

+

Sends a message to a given cross comms server by name (by name for security).

shelleo +

+

XXX +AOO +XXX +AXX

+ + +